Projects
Multimedia
LiVES
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 41
View file
LiVES.changes
Changed
@@ -1,3 +1,11 @@ + +------------------------------------------------------------------- +Thu May 25 20:02:59 UTC 2017 - avvissu@yandex.by + +- Update to 2.8.6: + * see: /usr/share/doc/packages/lives/ChangeLog +- Spec file cleanup + ------------------------------------------------------------------- Tue Mar 21 18:53:59 UTC 2017 - avvissu@yandex.by
View file
LiVES.spec
Changed
@@ -20,7 +20,7 @@ %define soname 0 Name: LiVES -Version: 2.8.4 +Version: 2.8.6 Release: 0 Summary: Video Editor and VJ Tool License: GPL-2.0+ @@ -63,6 +63,7 @@ BuildRequires: pkgconfig(slang) BuildRequires: pkgconfig(theora) BuildRequires: pkgconfig(vorbis) +BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: hicolor-icon-theme BuildRequires: update-desktop-files Requires: MPlayer @@ -70,19 +71,11 @@ Requires: dvgrab Requires: ladspa Recommends: libvisual-plugins +Recommends: %{name}-lang Requires: libweed%{soname} = %{version} Requires: sox Provides: lives BuildRoot: %{_tmppath}/%{name}-%{version}-build -%if 0%{?suse_version} >= 1230 -BuildRequires: pkgconfig(gtk+-3.0) -%else -BuildRequires: gtk2-devel -%endif -%if 0%{?suse_version} < 1200 -BuildRequires: xmms2 -Requires: xmms2 -%endif %description LiVES is aimed at the digital video artist who wants to create their own @@ -189,7 +182,6 @@ -name \*.txt -type f -executable -exec chmod 644 {} \; || : %suse_update_desktop_file -r %{name} AudioVideo AudioVideoEditing - %find_lang lives %post @@ -409,6 +401,7 @@ %{_libdir}/lives/plugins/playback/video/yuv4mpeg_stream.so %{_libdir}/lives/plugins/playback/video/icecast_output.so %{_libdir}/lives/plugins/playback/video/vloopback2.so +%{_libdir}/lives/plugins/playback/video/openGL.so %{_libdir}/lives/plugins/decoders/zzavformat_decoder.so %{_libdir}/lives/plugins/effects/realtime/weed/kaleidoscope.so %{_libdir}/lives/plugins/effects/realtime/weed/randomiser.so
View file
LiVES-2.8.4.tar.bz2/ChangeLog -> LiVES-2.8.6.tar.bz2/ChangeLog
Changed
@@ -1,5 +1,36 @@ -Version 2.8.4 -------------- +Version 2.8.6 (24 May 2017) +--------------------------- +Remove dependency on (deprecated) GLee. +Show audio as volume levels in Clip Editor. +Performance improvements for multitrack playback. +Ensure that timeline track backgrounds are painted in multitrack (regression). +Properly expand text width in the message info window. +Improve zoom in multitrack (zooms around cursor rather than screen center). +Prevent annyoing focus stealing when mt is backed up in the background. +Fix broken audio fade in/out (regression). +Fix external window capture (regression). +Fix crash in palette conversions. +Fix compilation issues with liblives scripting engine. +Fix for keys being in multitrack fullscreen preview. +Code reformatting and tidying (W.I.P) + + + +Version 2.8.5 (27 April 2017) +----------------------------- +Fix audio loss when inserting without audio in clip editor (regression). +Fix compiler error and warnings for gcc 7 (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=853520) +Fix regression in mkv_decoder. +Fix compiler warnings for openGL plugin. +Change max seek allowed from 1 second to 2 seconds in avformat decoder. +Update css state selectors for gtk 3.18+ +Experimental support for Wayland. +Updated translation to Ukranian (thaks Yuri). + + + +Version 2.8.4 (14 Jan 2017) +--------------------------- Fix error in Insert Silence (regression). Fix minor issue with Undo Insert Silence. Minor GUI updates for Insert Silence dialog.
View file
LiVES-2.8.4.tar.bz2/LiVES.doxygen -> LiVES-2.8.6.tar.bz2/LiVES.doxygen
Changed
@@ -38,7 +38,7 @@ # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 2.8.4 +PROJECT_NUMBER = 2.8.6 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a
View file
LiVES-2.8.4.tar.bz2/Makefile.in -> LiVES-2.8.6.tar.bz2/Makefile.in
Changed
@@ -208,8 +208,8 @@ DIST_SUBDIRS = libOSC intl libweed src m4 lives-plugins po resources am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/intl/Makefile.in \ ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL NEWS README \ - compile config.guess config.rpath config.sub install-sh \ - ltmain.sh missing mkinstalldirs + compile config.guess config.rpath config.sub depcomp \ + install-sh ltmain.sh missing mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) @@ -299,8 +299,6 @@ GENCAT = @GENCAT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GLEE_CFLAGS = @GLEE_CFLAGS@ -GLEE_LIBS = @GLEE_LIBS@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -437,6 +435,8 @@ VERSION = @VERSION@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ +WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ +WAYLAND_LIBS = @WAYLAND_LIBS@ WEED_CFLAGS = @WEED_CFLAGS@ WEED_COMPAT_CFLAGS = @WEED_COMPAT_CFLAGS@ WEED_COMPAT_LIBS = @WEED_COMPAT_LIBS@
View file
LiVES-2.8.4.tar.bz2/README -> LiVES-2.8.6.tar.bz2/README
Changed
@@ -63,16 +63,16 @@ If you got LiVES as a tar.gz or tar.bz2, at a terminal prompt, enter the following: - bzip2 -d LiVES-2.8.4.tar.bz2 + bzip2 -d LiVES-2.8.6.tar.bz2 or, - gzip -d LiVES-2.8.4.tar.gz + gzip -d LiVES-2.8.6.tar.gz depending on which version you have. Then: - tar xvf LIVES-2.8.4.tar + tar xvf LIVES-2.8.6.tar - cd lives-2.8.4 + cd lives-2.8.6
View file
LiVES-2.8.4.tar.bz2/build-lives-rfx-plugin -> LiVES-2.8.6.tar.bz2/build-lives-rfx-plugin
Changed
@@ -78,7 +78,7 @@ } -$builder_version="2.8.4"; +$builder_version="2.8.6"; if ($in_channels==0&&$properties&0x0004) { #batch mode generator
View file
LiVES-2.8.4.tar.bz2/configure -> LiVES-2.8.6.tar.bz2/configure
Changed
@@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for LiVES 2.8.4. +# Generated by GNU Autoconf 2.69 for LiVES 2.8.6. # # Report bugs to <https://sourceforge.net/p/lives/bugs/>. # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='LiVES' PACKAGE_TARNAME='lives' -PACKAGE_VERSION='2.8.4' -PACKAGE_STRING='LiVES 2.8.4' +PACKAGE_VERSION='2.8.6' +PACKAGE_STRING='LiVES 2.8.6' PACKAGE_BUGREPORT='https://sourceforge.net/p/lives/bugs/' PACKAGE_URL='http://lives-video.com' @@ -746,10 +746,6 @@ HAVE_GLU_TRUE GLU_LIBS GLU_CFLAGS -HAVE_GLEE_FALSE -HAVE_GLEE_TRUE -GLEE_LIBS -GLEE_CFLAGS HAVE_OPENGL_FALSE HAVE_OPENGL_TRUE GL_LIBS @@ -836,6 +832,10 @@ HAVE_XRENDER_TRUE XRENDER_LIBS XRENDER_CFLAGS +HAVE_WAYLAND_FALSE +HAVE_WAYLAND_TRUE +WAYLAND_LIBS +WAYLAND_CFLAGS HAVE_X11_FALSE HAVE_X11_TRUE X11_LIBS @@ -1124,6 +1124,8 @@ PKG_CONFIG_LIBDIR X11_CFLAGS X11_LIBS +WAYLAND_CFLAGS +WAYLAND_LIBS XRENDER_CFLAGS XRENDER_LIBS GTK_CFLAGS @@ -1740,7 +1742,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures LiVES 2.8.4 to adapt to many kinds of systems. +\`configure' configures LiVES 2.8.6 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1812,7 +1814,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of LiVES 2.8.4:";; + short | recursive ) echo "Configuration of LiVES 2.8.6:";; esac cat <<\_ACEOF @@ -1912,6 +1914,10 @@ path overriding pkg-config's built-in search path X11_CFLAGS C compiler flags for X11, overriding pkg-config X11_LIBS linker flags for X11, overriding pkg-config + WAYLAND_CFLAGS + C compiler flags for WAYLAND, overriding pkg-config + WAYLAND_LIBS + linker flags for WAYLAND, overriding pkg-config XRENDER_CFLAGS C compiler flags for XRENDER, overriding pkg-config XRENDER_LIBS @@ -2080,7 +2086,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -LiVES configure 2.8.4 +LiVES configure 2.8.6 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2807,7 +2813,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by LiVES $as_me 2.8.4, which was +It was created by LiVES $as_me 2.8.6, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3788,7 +3794,7 @@ # Define the identity of the package. PACKAGE='lives' - VERSION='2.8.4' + VERSION='2.8.6' cat >>confdefs.h <<_ACEOF @@ -25138,6 +25144,89 @@ pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for WAYLAND" >&5 +$as_echo_n "checking for WAYLAND... " >&6; } + +if test -n "$WAYLAND_CFLAGS"; then + pkg_cv_WAYLAND_CFLAGS="$WAYLAND_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gdk-wayland-3.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gdk-wayland-3.0") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_WAYLAND_CFLAGS=`$PKG_CONFIG --cflags "gdk-wayland-3.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$WAYLAND_LIBS"; then + pkg_cv_WAYLAND_LIBS="$WAYLAND_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gdk-wayland-3.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gdk-wayland-3.0") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_WAYLAND_LIBS=`$PKG_CONFIG --libs "gdk-wayland-3.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + WAYLAND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gdk-wayland-3.0" 2>&1` + else + WAYLAND_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gdk-wayland-3.0" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$WAYLAND_PKG_ERRORS" >&5 + + HAVE_WAYLAND=false +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + HAVE_WAYLAND=false +else + WAYLAND_CFLAGS=$pkg_cv_WAYLAND_CFLAGS + WAYLAND_LIBS=$pkg_cv_WAYLAND_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + HAVE_WAYLAND=true +fi + + + + if $HAVE_WAYLAND; then + HAVE_WAYLAND_TRUE= + HAVE_WAYLAND_FALSE='#' +else + HAVE_WAYLAND_TRUE='#' + HAVE_WAYLAND_FALSE= +fi + + + +pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XRENDER" >&5 $as_echo_n "checking for XRENDER... " >&6; } @@ -27304,139 +27393,6 @@ -HAVE_GLEE=false -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLee" >&5 -$as_echo_n "checking for GLee... " >&6; } -for ac_header in GLee.h GL/GLee.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - HAVE_GLEE=true -fi - -done - - -if test "x$ac_cv_header_GL_GLee_h" != "xno"; then -GLEE_CFLAGS="-I $includedir/GL -I/usr/include/GL" -fi - -if test "$HAVE_GLEE" = "true" ; then - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLeeEnabled in -lglee" >&5 -$as_echo_n "checking for GLeeEnabled in -lglee... " >&6; } -if ${ac_cv_lib_glee_GLeeEnabled+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lglee $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char GLeeEnabled (); -int -main () -{ -return GLeeEnabled (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_glee_GLeeEnabled=yes -else - ac_cv_lib_glee_GLeeEnabled=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_glee_GLeeEnabled" >&5 -$as_echo "$ac_cv_lib_glee_GLeeEnabled" >&6; } -if test "x$ac_cv_lib_glee_GLeeEnabled" = xyes; then : - glee_lower_case=true -else - glee_lower_case=false -fi - -if test "$glee_lower_case" = "true"; then -echo "GLee lib is -lglee" -GLEE_LIBS="-lglee" -else -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLeeEnabled in -lGLee" >&5 -$as_echo_n "checking for GLeeEnabled in -lGLee... " >&6; } -if ${ac_cv_lib_GLee_GLeeEnabled+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lGLee $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char GLeeEnabled (); -int -main () -{ -return GLeeEnabled (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_GLee_GLeeEnabled=yes -else - ac_cv_lib_GLee_GLeeEnabled=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_GLee_GLeeEnabled" >&5 -$as_echo "$ac_cv_lib_GLee_GLeeEnabled" >&6; } -if test "x$ac_cv_lib_GLee_GLeeEnabled" = xyes; then : - glee_mixed_case=true -else - glee_mixed_case=false -fi - -if test "$glee_mixed_case" = "true"; then -echo "GLee lib is -lGLee" -GLEE_LIBS="-lGLee" -fi -fi -fi - - - - - if $HAVE_GLEE; then - HAVE_GLEE_TRUE= - HAVE_GLEE_FALSE='#' -else - HAVE_GLEE_TRUE='#' - HAVE_GLEE_FALSE= -fi - - - - - pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLU" >&5 $as_echo_n "checking for GLU... " >&6; } @@ -29921,6 +29877,10 @@ as_fn_error $? "conditional \"HAVE_X11\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${HAVE_WAYLAND_TRUE}" && test -z "${HAVE_WAYLAND_FALSE}"; then + as_fn_error $? "conditional \"HAVE_WAYLAND\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${HAVE_XRENDER_TRUE}" && test -z "${HAVE_XRENDER_FALSE}"; then as_fn_error $? "conditional \"HAVE_XRENDER\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -30033,10 +29993,6 @@ as_fn_error $? "conditional \"HAVE_OPENGL\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -if test -z "${HAVE_GLEE_TRUE}" && test -z "${HAVE_GLEE_FALSE}"; then - as_fn_error $? "conditional \"HAVE_GLEE\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi if test -z "${HAVE_GLU_TRUE}" && test -z "${HAVE_GLU_FALSE}"; then as_fn_error $? "conditional \"HAVE_GLU\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -30558,7 +30514,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by LiVES $as_me 2.8.4, which was +This file was extended by LiVES $as_me 2.8.6, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -30616,7 +30572,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -LiVES config.status 2.8.4 +LiVES config.status 2.8.6 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\"
View file
LiVES-2.8.4.tar.bz2/configure.ac -> LiVES-2.8.6.tar.bz2/configure.ac
Changed
@@ -5,7 +5,7 @@ [m4_pattern_allow([^AC_.*])]) dnl IMPORTANT !! $version must also be set to exactly the same string in smogrify -AC_INIT(LiVES,2.8.4,https://sourceforge.net/p/lives/bugs/,,http://lives-video.com) +AC_INIT(LiVES,2.8.6,https://sourceforge.net/p/lives/bugs/,,http://lives-video.com) AC_CANONICAL_HOST AC_CANONICAL_TARGET @@ -245,6 +245,12 @@ AM_CONDITIONAL(HAVE_X11,$HAVE_X11) +PKG_CHECK_MODULES(WAYLAND,gdk-wayland-3.0,HAVE_WAYLAND=true,HAVE_WAYLAND=false) +AC_SUBST(WAYLAND_CFLAGS) +AC_SUBST(WAYLAND_LIBS) + +AM_CONDITIONAL(HAVE_WAYLAND,$HAVE_WAYLAND) + PKG_CHECK_MODULES(XRENDER,xrender,HAVE_XRENDER=true,HAVE_XRENDER=false) AC_SUBST(XRENDER_CFLAGS) AC_SUBST(XRENDER_LIBS) @@ -600,38 +606,6 @@ -dnl check for GLee - -HAVE_GLEE=false -AC_MSG_CHECKING(for GLee) -AC_CHECK_HEADERS(GLee.h GL/GLee.h,HAVE_GLEE=true) - -if test "x$ac_cv_header_GL_GLee_h" != "xno"; then -GLEE_CFLAGS="-I $includedir/GL -I/usr/include/GL" -fi - -if test "$HAVE_GLEE" = "true" ; then - -AC_CHECK_LIB(glee,GLeeEnabled,glee_lower_case=true,glee_lower_case=false) -if test "$glee_lower_case" = "true"; then -echo "GLee lib is -lglee" -GLEE_LIBS="-lglee" -else -AC_CHECK_LIB(GLee,GLeeEnabled,glee_mixed_case=true,glee_mixed_case=false) -if test "$glee_mixed_case" = "true"; then -echo "GLee lib is -lGLee" -GLEE_LIBS="-lGLee" -fi -fi -fi - -AC_SUBST(GLEE_CFLAGS) -AC_SUBST(GLEE_LIBS) - -AM_CONDITIONAL(HAVE_GLEE,$HAVE_GLEE) - - - dnl check for GLU PKG_CHECK_MODULES(GLU,glu,HAVE_GLU=true,HAVE_GLU=false) AC_SUBST(GLU_CFLAGS)
View file
LiVES-2.8.4.tar.bz2/intl/bindtextdom.c -> LiVES-2.8.6.tar.bz2/intl/bindtextdom.c
Changed
@@ -49,7 +49,7 @@ /* @@ end of prolog @@ */ /* Lock variable to protect the global data in the gettext implementation. */ -gl_rwlock_define (extern, _nl_state_lock attribute_hidden) +gl_rwlock_define(extern, _nl_state_lock attribute_hidden) /* Names for the libintl functions are a problem. They must not clash @@ -74,267 +74,236 @@ If DIRNAMEP or CODESETP is NULL, the corresponding attribute is neither modified nor returned. */ static void -set_binding_values (const char *domainname, - const char **dirnamep, const char **codesetp) -{ +set_binding_values(const char *domainname, + const char **dirnamep, const char **codesetp) { struct binding *binding; int modified; /* Some sanity checks. */ - if (domainname == NULL || domainname[0] == '\0') - { - if (dirnamep) - *dirnamep = NULL; - if (codesetp) - *codesetp = NULL; - return; - } + if (domainname == NULL || domainname[0] == '\0') { + if (dirnamep) + *dirnamep = NULL; + if (codesetp) + *codesetp = NULL; + return; + } - gl_rwlock_wrlock (_nl_state_lock); + gl_rwlock_wrlock(_nl_state_lock); modified = 0; - for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next) - { - int compare = strcmp (domainname, binding->domainname); - if (compare == 0) - /* We found it! */ - break; - if (compare < 0) - { - /* It is not in the list. */ - binding = NULL; - break; - } + for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next) { + int compare = strcmp(domainname, binding->domainname); + if (compare == 0) + /* We found it! */ + break; + if (compare < 0) { + /* It is not in the list. */ + binding = NULL; + break; } - - if (binding != NULL) - { - if (dirnamep) - { - const char *dirname = *dirnamep; - - if (dirname == NULL) - /* The current binding has be to returned. */ - *dirnamep = binding->dirname; - else - { - /* The domain is already bound. If the new value and the old - one are equal we simply do nothing. Otherwise replace the - old binding. */ - char *result = binding->dirname; - if (strcmp (dirname, result) != 0) - { - if (strcmp (dirname, _nl_default_dirname) == 0) - result = (char *) _nl_default_dirname; - else - { + } + + if (binding != NULL) { + if (dirnamep) { + const char *dirname = *dirnamep; + + if (dirname == NULL) + /* The current binding has be to returned. */ + *dirnamep = binding->dirname; + else { + /* The domain is already bound. If the new value and the old + one are equal we simply do nothing. Otherwise replace the + old binding. */ + char *result = binding->dirname; + if (strcmp(dirname, result) != 0) { + if (strcmp(dirname, _nl_default_dirname) == 0) + result = (char *) _nl_default_dirname; + else { #if defined _LIBC || defined HAVE_STRDUP - result = strdup (dirname); + result = strdup(dirname); #else - size_t len = strlen (dirname) + 1; - result = (char *) malloc (len); - if (__builtin_expect (result != NULL, 1)) - memcpy (result, dirname, len); + size_t len = strlen(dirname) + 1; + result = (char *) malloc(len); + if (__builtin_expect(result != NULL, 1)) + memcpy(result, dirname, len); #endif - } - - if (__builtin_expect (result != NULL, 1)) - { - if (binding->dirname != _nl_default_dirname) - free (binding->dirname); - - binding->dirname = result; - modified = 1; - } - } - *dirnamep = result; - } - } + } + + if (__builtin_expect(result != NULL, 1)) { + if (binding->dirname != _nl_default_dirname) + free(binding->dirname); + + binding->dirname = result; + modified = 1; + } + } + *dirnamep = result; + } + } - if (codesetp) - { - const char *codeset = *codesetp; - - if (codeset == NULL) - /* The current binding has be to returned. */ - *codesetp = binding->codeset; - else - { - /* The domain is already bound. If the new value and the old - one are equal we simply do nothing. Otherwise replace the - old binding. */ - char *result = binding->codeset; - if (result == NULL || strcmp (codeset, result) != 0) - { + if (codesetp) { + const char *codeset = *codesetp; + + if (codeset == NULL) + /* The current binding has be to returned. */ + *codesetp = binding->codeset; + else { + /* The domain is already bound. If the new value and the old + one are equal we simply do nothing. Otherwise replace the + old binding. */ + char *result = binding->codeset; + if (result == NULL || strcmp(codeset, result) != 0) { #if defined _LIBC || defined HAVE_STRDUP - result = strdup (codeset); + result = strdup(codeset); #else - size_t len = strlen (codeset) + 1; - result = (char *) malloc (len); - if (__builtin_expect (result != NULL, 1)) - memcpy (result, codeset, len); + size_t len = strlen(codeset) + 1; + result = (char *) malloc(len); + if (__builtin_expect(result != NULL, 1)) + memcpy(result, codeset, len); #endif - if (__builtin_expect (result != NULL, 1)) - { - if (binding->codeset != NULL) - free (binding->codeset); - - binding->codeset = result; - modified = 1; - } - } - *codesetp = result; - } - } - } - else if ((dirnamep == NULL || *dirnamep == NULL) - && (codesetp == NULL || *codesetp == NULL)) - { - /* Simply return the default values. */ - if (dirnamep) - *dirnamep = _nl_default_dirname; - if (codesetp) - *codesetp = NULL; - } - else - { - /* We have to create a new binding. */ - size_t len = strlen (domainname) + 1; - struct binding *new_binding = - (struct binding *) malloc (offsetof (struct binding, domainname) + len); - - if (__builtin_expect (new_binding == NULL, 0)) - goto failed; - - memcpy (new_binding->domainname, domainname, len); + if (__builtin_expect(result != NULL, 1)) { + if (binding->codeset != NULL) + free(binding->codeset); - if (dirnamep) - { - const char *dirname = *dirnamep; - - if (dirname == NULL) - /* The default value. */ - dirname = _nl_default_dirname; - else - { - if (strcmp (dirname, _nl_default_dirname) == 0) - dirname = _nl_default_dirname; - else - { - char *result; + binding->codeset = result; + modified = 1; + } + } + *codesetp = result; + } + } + } else if ((dirnamep == NULL || *dirnamep == NULL) + && (codesetp == NULL || *codesetp == NULL)) { + /* Simply return the default values. */ + if (dirnamep) + *dirnamep = _nl_default_dirname; + if (codesetp) + *codesetp = NULL; + } else { + /* We have to create a new binding. */ + size_t len = strlen(domainname) + 1; + struct binding *new_binding = + (struct binding *) malloc(offsetof(struct binding, domainname) + len); + + if (__builtin_expect(new_binding == NULL, 0)) + goto failed; + + memcpy(new_binding->domainname, domainname, len); + + if (dirnamep) { + const char *dirname = *dirnamep; + + if (dirname == NULL) + /* The default value. */ + dirname = _nl_default_dirname; + else { + if (strcmp(dirname, _nl_default_dirname) == 0) + dirname = _nl_default_dirname; + else { + char *result; #if defined _LIBC || defined HAVE_STRDUP - result = strdup (dirname); - if (__builtin_expect (result == NULL, 0)) - goto failed_dirname; + result = strdup(dirname); + if (__builtin_expect(result == NULL, 0)) + goto failed_dirname; #else - size_t len = strlen (dirname) + 1; - result = (char *) malloc (len); - if (__builtin_expect (result == NULL, 0)) - goto failed_dirname; - memcpy (result, dirname, len); + size_t len = strlen(dirname) + 1; + result = (char *) malloc(len); + if (__builtin_expect(result == NULL, 0)) + goto failed_dirname; + memcpy(result, dirname, len); #endif - dirname = result; - } - } - *dirnamep = dirname; - new_binding->dirname = (char *) dirname; - } - else - /* The default value. */ - new_binding->dirname = (char *) _nl_default_dirname; + dirname = result; + } + } + *dirnamep = dirname; + new_binding->dirname = (char *) dirname; + } else + /* The default value. */ + new_binding->dirname = (char *) _nl_default_dirname; - if (codesetp) - { - const char *codeset = *codesetp; + if (codesetp) { + const char *codeset = *codesetp; - if (codeset != NULL) - { - char *result; + if (codeset != NULL) { + char *result; #if defined _LIBC || defined HAVE_STRDUP - result = strdup (codeset); - if (__builtin_expect (result == NULL, 0)) - goto failed_codeset; + result = strdup(codeset); + if (__builtin_expect(result == NULL, 0)) + goto failed_codeset; #else - size_t len = strlen (codeset) + 1; - result = (char *) malloc (len); - if (__builtin_expect (result == NULL, 0)) - goto failed_codeset; - memcpy (result, codeset, len); + size_t len = strlen(codeset) + 1; + result = (char *) malloc(len); + if (__builtin_expect(result == NULL, 0)) + goto failed_codeset; + memcpy(result, codeset, len); #endif - codeset = result; - } - *codesetp = codeset; - new_binding->codeset = (char *) codeset; - } - else - new_binding->codeset = NULL; - - /* Now enqueue it. */ - if (_nl_domain_bindings == NULL - || strcmp (domainname, _nl_domain_bindings->domainname) < 0) - { - new_binding->next = _nl_domain_bindings; - _nl_domain_bindings = new_binding; - } - else - { - binding = _nl_domain_bindings; - while (binding->next != NULL - && strcmp (domainname, binding->next->domainname) > 0) - binding = binding->next; - - new_binding->next = binding->next; - binding->next = new_binding; - } - - modified = 1; - - /* Here we deal with memory allocation failures. */ - if (0) - { - failed_codeset: - if (new_binding->dirname != _nl_default_dirname) - free (new_binding->dirname); - failed_dirname: - free (new_binding); - failed: - if (dirnamep) - *dirnamep = NULL; - if (codesetp) - *codesetp = NULL; - } + codeset = result; + } + *codesetp = codeset; + new_binding->codeset = (char *) codeset; + } else + new_binding->codeset = NULL; + + /* Now enqueue it. */ + if (_nl_domain_bindings == NULL + || strcmp(domainname, _nl_domain_bindings->domainname) < 0) { + new_binding->next = _nl_domain_bindings; + _nl_domain_bindings = new_binding; + } else { + binding = _nl_domain_bindings; + while (binding->next != NULL + && strcmp(domainname, binding->next->domainname) > 0) + binding = binding->next; + + new_binding->next = binding->next; + binding->next = new_binding; + } + + modified = 1; + + /* Here we deal with memory allocation failures. */ + if (0) { +failed_codeset: + if (new_binding->dirname != _nl_default_dirname) + free(new_binding->dirname); +failed_dirname: + free(new_binding); +failed: + if (dirnamep) + *dirnamep = NULL; + if (codesetp) + *codesetp = NULL; } + } /* If we modified any binding, we flush the caches. */ if (modified) ++_nl_msg_cat_cntr; - gl_rwlock_unlock (_nl_state_lock); + gl_rwlock_unlock(_nl_state_lock); } /* Specify that the DOMAINNAME message catalog will be found in DIRNAME rather than in the system locale data base. */ char * -BINDTEXTDOMAIN (const char *domainname, const char *dirname) -{ - set_binding_values (domainname, &dirname, NULL); +BINDTEXTDOMAIN(const char *domainname, const char *dirname) { + set_binding_values(domainname, &dirname, NULL); return (char *) dirname; } /* Specify the character encoding in which the messages from the DOMAINNAME message catalog will be returned. */ char * -BIND_TEXTDOMAIN_CODESET (const char *domainname, const char *codeset) -{ - set_binding_values (domainname, NULL, &codeset); +BIND_TEXTDOMAIN_CODESET(const char *domainname, const char *codeset) { + set_binding_values(domainname, NULL, &codeset); return (char *) codeset; } #ifdef _LIBC /* Aliases for function names in GNU C Library. */ -weak_alias (__bindtextdomain, bindtextdomain); -weak_alias (__bind_textdomain_codeset, bind_textdomain_codeset); +weak_alias(__bindtextdomain, bindtextdomain); +weak_alias(__bind_textdomain_codeset, bind_textdomain_codeset); #endif
View file
LiVES-2.8.4.tar.bz2/intl/dcgettext.c -> LiVES-2.8.6.tar.bz2/intl/dcgettext.c
Changed
@@ -44,13 +44,12 @@ /* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY locale. */ char * -DCGETTEXT (const char *domainname, const char *msgid, int category) -{ - return DCIGETTEXT (domainname, msgid, NULL, 0, 0, category); +DCGETTEXT(const char *domainname, const char *msgid, int category) { + return DCIGETTEXT(domainname, msgid, NULL, 0, 0, category); } #ifdef _LIBC /* Alias for function name in GNU C Library. */ INTDEF(__dcgettext) -weak_alias (__dcgettext, dcgettext); +weak_alias(__dcgettext, dcgettext); #endif
View file
LiVES-2.8.4.tar.bz2/intl/dcigettext.c -> LiVES-2.8.6.tar.bz2/intl/dcigettext.c
Changed
@@ -44,10 +44,10 @@ # include <alloca.h> # else # ifdef _AIX - #pragma alloca +#pragma alloca # else # ifndef alloca -char *alloca (); +char *alloca(); # endif # endif # endif @@ -73,8 +73,8 @@ #include <locale.h> #ifdef _LIBC - /* Guess whether integer division by zero raises signal SIGFPE. - Set to 1 only if you know for sure. In case of doubt, set to 0. */ +/* Guess whether integer division by zero raises signal SIGFPE. + Set to 1 only if you know for sure. In case of doubt, set to 0. */ # if defined __alpha__ || defined __arm__ || defined __i386__ \ || defined __m68k__ || defined __s390__ # define INTDIV0_RAISES_SIGFPE 1 @@ -146,20 +146,20 @@ # define tfind __tfind #else # if !defined HAVE_GETCWD -char *getwd (); +char *getwd(); # define getcwd(buf, max) getwd (buf) # else # if VMS # define getcwd(buf, max) (getcwd) (buf, max, 0) # else -char *getcwd (); +char *getcwd(); # endif # endif # ifndef HAVE_STPCPY -static char *stpcpy (char *dest, const char *src); +static char *stpcpy(char *dest, const char *src); # endif # ifndef HAVE_MEMPCPY -static void *mempcpy (void *dest, const void *src, size_t n); +static void *mempcpy(void *dest, const void *src, size_t n); # endif #endif @@ -218,7 +218,7 @@ IS_PATH_WITH_DIR(P) tests whether P contains a directory specification. */ #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ - /* Win32, Cygwin, OS/2, DOS */ +/* Win32, Cygwin, OS/2, DOS */ # define ISSLASH(C) ((C) == '/' || (C) == '\\') # define HAS_DEVICE(P) \ ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \ @@ -227,7 +227,7 @@ # define IS_PATH_WITH_DIR(P) \ (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P)) #else - /* Unix */ +/* Unix */ # define ISSLASH(C) ((C) == '/') # define IS_ABSOLUTE_PATH(P) ISSLASH ((P)[0]) # define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL) @@ -240,8 +240,7 @@ /* This is the type used for the search tree where known translations are stored. */ -struct known_translation_t -{ +struct known_translation_t { /* Domain in which to search. */ const char *domainname; @@ -272,15 +271,14 @@ char msgid[ZERO]; }; -gl_rwlock_define_initialized (static, tree_lock) +gl_rwlock_define_initialized(static, tree_lock) /* Root of the search tree with known translations. */ static void *root; /* Function to compare two entries in the table of known translations. */ static int -transcmp (const void *p1, const void *p2) -{ +transcmp(const void *p1, const void *p2) { const struct known_translation_t *s1; const struct known_translation_t *s2; int result; @@ -288,28 +286,26 @@ s1 = (const struct known_translation_t *) p1; s2 = (const struct known_translation_t *) p2; - result = strcmp (s1->msgid, s2->msgid); - if (result == 0) - { - result = strcmp (s1->domainname, s2->domainname); - if (result == 0) - { + result = strcmp(s1->msgid, s2->msgid); + if (result == 0) { + result = strcmp(s1->domainname, s2->domainname); + if (result == 0) { #ifdef HAVE_PER_THREAD_LOCALE - result = strcmp (s1->localename, s2->localename); - if (result == 0) + result = strcmp(s1->localename, s2->localename); + if (result == 0) #endif - { + { #ifdef IN_LIBGLOCALE - result = strcmp (s1->encoding, s2->encoding); - if (result == 0) -#endif - /* We compare the category last (though this is the cheapest - operation) since it is hopefully always the same (namely - LC_MESSAGES). */ - result = s1->category - s2->category; - } - } + result = strcmp(s1->encoding, s2->encoding); + if (result == 0) +#endif + /* We compare the category last (though this is the cheapest + operation) since it is hopefully always the same (namely + LC_MESSAGES). */ + result = s1->category - s2->category; + } } + } return result; } @@ -321,7 +317,7 @@ #ifndef IN_LIBGLOCALE /* Value used as the default domain for gettext(3). */ const char *_nl_current_default_domain attribute_hidden - = _nl_default_default_domain; + = _nl_default_default_domain; #endif /* Contains the default location of the message catalogs. */ @@ -330,11 +326,11 @@ #else # ifdef _LIBC extern const char _nl_default_dirname[]; -libc_hidden_proto (_nl_default_dirname) +libc_hidden_proto(_nl_default_dirname) # endif const char _nl_default_dirname[] = LOCALEDIR; # ifdef _LIBC -libc_hidden_data_def (_nl_default_dirname) +libc_hidden_data_def(_nl_default_dirname) # endif #endif @@ -345,20 +341,20 @@ #endif /* Prototypes for local functions. */ -static char *plural_lookup (struct loaded_l10nfile *domain, - unsigned long int n, - const char *translation, size_t translation_len) - internal_function; +static char *plural_lookup(struct loaded_l10nfile *domain, + unsigned long int n, + const char *translation, size_t translation_len) +internal_function; #ifdef IN_LIBGLOCALE -static const char *guess_category_value (int category, - const char *categoryname, - const char *localename) - internal_function; +static const char *guess_category_value(int category, + const char *categoryname, + const char *localename) +internal_function; #else -static const char *guess_category_value (int category, - const char *categoryname) - internal_function; +static const char *guess_category_value(int category, + const char *categoryname) +internal_function; #endif #ifdef _LIBC @@ -366,11 +362,11 @@ # define category_to_name(category) \ _nl_category_names.str + _nl_category_name_idxs[category] #else -static const char *category_to_name (int category) internal_function; +static const char *category_to_name(int category) internal_function; #endif #if (defined _LIBC || HAVE_ICONV) && !defined IN_LIBGLOCALE -static const char *get_output_charset (struct binding *domainbinding) - internal_function; +static const char *get_output_charset(struct binding *domainbinding) +internal_function; #endif @@ -382,8 +378,7 @@ # define ADD_BLOCK(list, address) /* nothing */ # define FREE_BLOCKS(list) /* nothing */ #else -struct block_list -{ +struct block_list { void *address; struct block_list *next; }; @@ -415,8 +410,7 @@ #ifdef _LIBC /* List of blocks allocated for translations. */ -typedef struct transmem_list -{ +typedef struct transmem_list { struct transmem_list *next; char data[ZERO]; } transmem_block_t; @@ -437,7 +431,7 @@ #endif /* Lock variable to protect the global data in the gettext implementation. */ -gl_rwlock_define_initialized (, _nl_state_lock attribute_hidden) +gl_rwlock_define_initialized(, _nl_state_lock attribute_hidden) /* Checking whether the binaries runs SUID must be done and glibc provides easier methods therefore we make a difference here. */ @@ -477,15 +471,15 @@ depending on the plural form determined by N. */ #ifdef IN_LIBGLOCALE char * -gl_dcigettext (const char *domainname, - const char *msgid1, const char *msgid2, - int plural, unsigned long int n, - int category, - const char *localename, const char *encoding) +gl_dcigettext(const char *domainname, + const char *msgid1, const char *msgid2, + int plural, unsigned long int n, + int category, + const char *localename, const char *encoding) #else char * -DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2, - int plural, unsigned long int n, int category) +DCIGETTEXT(const char *domainname, const char *msgid1, const char *msgid2, + int plural, unsigned long int n, int category) #endif { #ifndef HAVE_ALLOCA @@ -517,15 +511,15 @@ if (category < 0 || category >= __LC_LAST || category == LC_ALL) /* Bogus. */ return (plural == 0 - ? (char *) msgid1 - /* Use the Germanic plural rule. */ - : n == 1 ? (char *) msgid1 : (char *) msgid2); + ? (char *) msgid1 + /* Use the Germanic plural rule. */ + : n == 1 ? (char *) msgid1 : (char *) msgid2); #endif /* Preserve the `errno' value. */ saved_errno = errno; - gl_rwlock_rdlock (_nl_state_lock); + gl_rwlock_rdlock(_nl_state_lock); /* If DOMAINNAME is NULL, we are interested in the default domain. If CATEGORY is not LC_MESSAGES this might not make much sense but the @@ -539,29 +533,29 @@ category = LC_MESSAGES; #endif - msgid_len = strlen (msgid1) + 1; + msgid_len = strlen(msgid1) + 1; /* Try to find the translation among those which we found at some time. */ search = (struct known_translation_t *) - alloca (offsetof (struct known_translation_t, msgid) + msgid_len); - memcpy (search->msgid, msgid1, msgid_len); + alloca(offsetof(struct known_translation_t, msgid) + msgid_len); + memcpy(search->msgid, msgid1, msgid_len); search->domainname = domainname; search->category = category; #ifdef HAVE_PER_THREAD_LOCALE # ifndef IN_LIBGLOCALE # ifdef _LIBC - localename = __current_locale_name (category); + localename = __current_locale_name(category); # else # if HAVE_NL_LOCALE_NAME /* NL_LOCALE_NAME is public glibc API introduced in glibc-2.4. */ - localename = nl_langinfo (NL_LOCALE_NAME (category)); + localename = nl_langinfo(NL_LOCALE_NAME(category)); # else # if HAVE_STRUCT___LOCALE_STRUCT___NAMES && defined USE_IN_GETTEXT_TESTS /* The __names field is not public glibc API and must therefore not be used in code that is installed in public locations. */ { - locale_t thread_locale = uselocale (NULL); + locale_t thread_locale = uselocale(NULL); if (thread_locale != LC_GLOBAL_LOCALE) localename = thread_locale->__names[category]; else @@ -578,26 +572,25 @@ /* Since tfind/tsearch manage a balanced tree, concurrent tfind and tsearch calls can be fatal. */ - gl_rwlock_rdlock (tree_lock); + gl_rwlock_rdlock(tree_lock); - foundp = (struct known_translation_t **) tfind (search, &root, transcmp); + foundp = (struct known_translation_t **) tfind(search, &root, transcmp); - gl_rwlock_unlock (tree_lock); + gl_rwlock_unlock(tree_lock); - freea (search); - if (foundp != NULL && (*foundp)->counter == _nl_msg_cat_cntr) - { - /* Now deal with plural. */ - if (plural) - retval = plural_lookup ((*foundp)->domain, n, (*foundp)->translation, - (*foundp)->translation_length); - else - retval = (char *) (*foundp)->translation; + freea(search); + if (foundp != NULL && (*foundp)->counter == _nl_msg_cat_cntr) { + /* Now deal with plural. */ + if (plural) + retval = plural_lookup((*foundp)->domain, n, (*foundp)->translation, + (*foundp)->translation_length); + else + retval = (char *)(*foundp)->translation; - gl_rwlock_unlock (_nl_state_lock); - __set_errno (saved_errno); - return retval; - } + gl_rwlock_unlock(_nl_state_lock); + __set_errno(saved_errno); + return retval; + } #endif /* See whether this is a SUID binary or not. */ @@ -608,264 +601,245 @@ /* We can use a trivial binding, since _nl_find_msg will ignore it anyway, and _nl_load_domain and _nl_find_domain just pass it through. */ binding = NULL; - dirname = bindtextdomain (domainname, NULL); + dirname = bindtextdomain(domainname, NULL); #else - for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next) - { - int compare = strcmp (domainname, binding->domainname); - if (compare == 0) - /* We found it! */ - break; - if (compare < 0) - { - /* It is not in the list. */ - binding = NULL; - break; - } + for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next) { + int compare = strcmp(domainname, binding->domainname); + if (compare == 0) + /* We found it! */ + break; + if (compare < 0) { + /* It is not in the list. */ + binding = NULL; + break; } + } if (binding == NULL) dirname = _nl_default_dirname; - else - { - dirname = binding->dirname; -#endif - if (!IS_ABSOLUTE_PATH (dirname)) - { - /* We have a relative path. Make it absolute now. */ - size_t dirname_len = strlen (dirname) + 1; - size_t path_max; - char *resolved_dirname; - char *ret; - - path_max = (unsigned int) PATH_MAX; - path_max += 2; /* The getcwd docs say to do this. */ - - for (;;) - { - resolved_dirname = (char *) alloca (path_max + dirname_len); - ADD_BLOCK (block_list, tmp_dirname); - - __set_errno (0); - ret = getcwd (resolved_dirname, path_max); - if (ret != NULL || errno != ERANGE) - break; - - path_max += path_max / 2; - path_max += PATH_INCR; - } - - if (ret == NULL) - /* We cannot get the current working directory. Don't signal an - error but simply return the default string. */ - goto return_untranslated; - - stpcpy (stpcpy (strchr (resolved_dirname, '\0'), "/"), dirname); - dirname = resolved_dirname; - } -#ifndef IN_LIBGLOCALE + else { + dirname = binding->dirname; +#endif + if (!IS_ABSOLUTE_PATH(dirname)) { + /* We have a relative path. Make it absolute now. */ + size_t dirname_len = strlen(dirname) + 1; + size_t path_max; + char *resolved_dirname; + char *ret; + + path_max = (unsigned int) PATH_MAX; + path_max += 2; /* The getcwd docs say to do this. */ + + for (;;) { + resolved_dirname = (char *) alloca(path_max + dirname_len); + ADD_BLOCK(block_list, tmp_dirname); + + __set_errno(0); + ret = getcwd(resolved_dirname, path_max); + if (ret != NULL || errno != ERANGE) + break; + + path_max += path_max / 2; + path_max += PATH_INCR; } + + if (ret == NULL) + /* We cannot get the current working directory. Don't signal an + error but simply return the default string. */ + goto return_untranslated; + + stpcpy(stpcpy(strchr(resolved_dirname, '\0'), "/"), dirname); + dirname = resolved_dirname; + } +#ifndef IN_LIBGLOCALE +} #endif - /* Now determine the symbolic name of CATEGORY and its value. */ - categoryname = category_to_name (category); +/* Now determine the symbolic name of CATEGORY and its value. */ +categoryname = category_to_name(category); #ifdef IN_LIBGLOCALE - categoryvalue = guess_category_value (category, categoryname, localename); +categoryvalue = guess_category_value(category, categoryname, localename); #else - categoryvalue = guess_category_value (category, categoryname); -#endif - - domainname_len = strlen (domainname); - xdomainname = (char *) alloca (strlen (categoryname) - + domainname_len + 5); - ADD_BLOCK (block_list, xdomainname); - - stpcpy ((char *) mempcpy (stpcpy (stpcpy (xdomainname, categoryname), "/"), - domainname, domainname_len), - ".mo"); - - /* Creating working area. */ - single_locale = (char *) alloca (strlen (categoryvalue) + 1); - ADD_BLOCK (block_list, single_locale); - - - /* Search for the given string. This is a loop because we perhaps - got an ordered list of languages to consider for the translation. */ - while (1) - { - /* Make CATEGORYVALUE point to the next element of the list. */ - while (categoryvalue[0] != '\0' && categoryvalue[0] == ':') - ++categoryvalue; - if (categoryvalue[0] == '\0') - { - /* The whole contents of CATEGORYVALUE has been searched but - no valid entry has been found. We solve this situation - by implicitly appending a "C" entry, i.e. no translation - will take place. */ - single_locale[0] = 'C'; - single_locale[1] = '\0'; - } - else - { - char *cp = single_locale; - while (categoryvalue[0] != '\0' && categoryvalue[0] != ':') - *cp++ = *categoryvalue++; - *cp = '\0'; - - /* When this is a SUID binary we must not allow accessing files - outside the dedicated directories. */ - if (ENABLE_SECURE && IS_PATH_WITH_DIR (single_locale)) - /* Ingore this entry. */ - continue; - } - - /* If the current locale value is C (or POSIX) we don't load a - domain. Return the MSGID. */ - if (strcmp (single_locale, "C") == 0 - || strcmp (single_locale, "POSIX") == 0) - break; - - /* Find structure describing the message catalog matching the - DOMAINNAME and CATEGORY. */ - domain = _nl_find_domain (dirname, single_locale, xdomainname, binding); - - if (domain != NULL) - { +categoryvalue = guess_category_value(category, categoryname); +#endif + +domainname_len = strlen(domainname); +xdomainname = (char *) alloca(strlen(categoryname) + + domainname_len + 5); +ADD_BLOCK(block_list, xdomainname); + +stpcpy((char *) mempcpy(stpcpy(stpcpy(xdomainname, categoryname), "/"), + domainname, domainname_len), + ".mo"); + +/* Creating working area. */ +single_locale = (char *) alloca(strlen(categoryvalue) + 1); +ADD_BLOCK(block_list, single_locale); + + +/* Search for the given string. This is a loop because we perhaps + got an ordered list of languages to consider for the translation. */ +while (1) { + /* Make CATEGORYVALUE point to the next element of the list. */ + while (categoryvalue[0] != '\0' && categoryvalue[0] == ':') + ++categoryvalue; + if (categoryvalue[0] == '\0') { + /* The whole contents of CATEGORYVALUE has been searched but + no valid entry has been found. We solve this situation + by implicitly appending a "C" entry, i.e. no translation + will take place. */ + single_locale[0] = 'C'; + single_locale[1] = '\0'; + } else { + char *cp = single_locale; + while (categoryvalue[0] != '\0' && categoryvalue[0] != ':') + *cp++ = *categoryvalue++; + *cp = '\0'; + + /* When this is a SUID binary we must not allow accessing files + outside the dedicated directories. */ + if (ENABLE_SECURE && IS_PATH_WITH_DIR(single_locale)) + /* Ingore this entry. */ + continue; + } + + /* If the current locale value is C (or POSIX) we don't load a + domain. Return the MSGID. */ + if (strcmp(single_locale, "C") == 0 + || strcmp(single_locale, "POSIX") == 0) + break; + + /* Find structure describing the message catalog matching the + DOMAINNAME and CATEGORY. */ + domain = _nl_find_domain(dirname, single_locale, xdomainname, binding); + + if (domain != NULL) { #if defined IN_LIBGLOCALE - retval = _nl_find_msg (domain, binding, encoding, msgid1, &retlen); + retval = _nl_find_msg(domain, binding, encoding, msgid1, &retlen); #else - retval = _nl_find_msg (domain, binding, msgid1, 1, &retlen); + retval = _nl_find_msg(domain, binding, msgid1, 1, &retlen); #endif - if (retval == NULL) - { - int cnt; + if (retval == NULL) { + int cnt; - for (cnt = 0; domain->successor[cnt] != NULL; ++cnt) - { + for (cnt = 0; domain->successor[cnt] != NULL; ++cnt) { #if defined IN_LIBGLOCALE - retval = _nl_find_msg (domain->successor[cnt], binding, - encoding, msgid1, &retlen); + retval = _nl_find_msg(domain->successor[cnt], binding, + encoding, msgid1, &retlen); #else - retval = _nl_find_msg (domain->successor[cnt], binding, - msgid1, 1, &retlen); -#endif - - if (retval != NULL) - { - domain = domain->successor[cnt]; - break; - } - } - } - - /* Returning -1 means that some resource problem exists - (likely memory) and that the strings could not be - converted. Return the original strings. */ - if (__builtin_expect (retval == (char *) -1, 0)) - break; - - if (retval != NULL) - { - /* Found the translation of MSGID1 in domain DOMAIN: - starting at RETVAL, RETLEN bytes. */ - FREE_BLOCKS (block_list); - if (foundp == NULL) - { - /* Create a new entry and add it to the search tree. */ - size_t size; - struct known_translation_t *newp; - - size = offsetof (struct known_translation_t, msgid) - + msgid_len + domainname_len + 1; + retval = _nl_find_msg(domain->successor[cnt], binding, + msgid1, 1, &retlen); +#endif + + if (retval != NULL) { + domain = domain->successor[cnt]; + break; + } + } + } + + /* Returning -1 means that some resource problem exists + (likely memory) and that the strings could not be + converted. Return the original strings. */ + if (__builtin_expect(retval == (char *) - 1, 0)) + break; + + if (retval != NULL) { + /* Found the translation of MSGID1 in domain DOMAIN: + starting at RETVAL, RETLEN bytes. */ + FREE_BLOCKS(block_list); + if (foundp == NULL) { + /* Create a new entry and add it to the search tree. */ + size_t size; + struct known_translation_t *newp; + + size = offsetof(struct known_translation_t, msgid) + + msgid_len + domainname_len + 1; #ifdef HAVE_PER_THREAD_LOCALE - size += strlen (localename) + 1; + size += strlen(localename) + 1; #endif - newp = (struct known_translation_t *) malloc (size); - if (newp != NULL) - { - char *new_domainname; + newp = (struct known_translation_t *) malloc(size); + if (newp != NULL) { + char *new_domainname; #ifdef HAVE_PER_THREAD_LOCALE - char *new_localename; + char *new_localename; #endif - new_domainname = - (char *) mempcpy (newp->msgid, msgid1, msgid_len); - memcpy (new_domainname, domainname, domainname_len + 1); + new_domainname = + (char *) mempcpy(newp->msgid, msgid1, msgid_len); + memcpy(new_domainname, domainname, domainname_len + 1); #ifdef HAVE_PER_THREAD_LOCALE - new_localename = new_domainname + domainname_len + 1; - strcpy (new_localename, localename); + new_localename = new_domainname + domainname_len + 1; + strcpy(new_localename, localename); #endif - newp->domainname = new_domainname; - newp->category = category; + newp->domainname = new_domainname; + newp->category = category; #ifdef HAVE_PER_THREAD_LOCALE - newp->localename = new_localename; + newp->localename = new_localename; #endif #ifdef IN_LIBGLOCALE - newp->encoding = encoding; -#endif - newp->counter = _nl_msg_cat_cntr; - newp->domain = domain; - newp->translation = retval; - newp->translation_length = retlen; - - gl_rwlock_wrlock (tree_lock); - - /* Insert the entry in the search tree. */ - foundp = (struct known_translation_t **) - tsearch (newp, &root, transcmp); - - gl_rwlock_unlock (tree_lock); - - if (foundp == NULL - || __builtin_expect (*foundp != newp, 0)) - /* The insert failed. */ - free (newp); - } - } - else - { - /* We can update the existing entry. */ - (*foundp)->counter = _nl_msg_cat_cntr; - (*foundp)->domain = domain; - (*foundp)->translation = retval; - (*foundp)->translation_length = retlen; - } - - __set_errno (saved_errno); - - /* Now deal with plural. */ - if (plural) - retval = plural_lookup (domain, n, retval, retlen); - - gl_rwlock_unlock (_nl_state_lock); - return retval; - } - } + newp->encoding = encoding; +#endif + newp->counter = _nl_msg_cat_cntr; + newp->domain = domain; + newp->translation = retval; + newp->translation_length = retlen; + + gl_rwlock_wrlock(tree_lock); + + /* Insert the entry in the search tree. */ + foundp = (struct known_translation_t **) + tsearch(newp, &root, transcmp); + + gl_rwlock_unlock(tree_lock); + + if (foundp == NULL + || __builtin_expect(*foundp != newp, 0)) + /* The insert failed. */ + free(newp); + } + } else { + /* We can update the existing entry. */ + (*foundp)->counter = _nl_msg_cat_cntr; + (*foundp)->domain = domain; + (*foundp)->translation = retval; + (*foundp)->translation_length = retlen; + } + + __set_errno(saved_errno); + + /* Now deal with plural. */ + if (plural) + retval = plural_lookup(domain, n, retval, retlen); + + gl_rwlock_unlock(_nl_state_lock); + return retval; } + } +} - return_untranslated: - /* Return the untranslated MSGID. */ - FREE_BLOCKS (block_list); - gl_rwlock_unlock (_nl_state_lock); +return_untranslated: +/* Return the untranslated MSGID. */ +FREE_BLOCKS(block_list); +gl_rwlock_unlock(_nl_state_lock); #ifndef _LIBC - if (!ENABLE_SECURE) - { - extern void _nl_log_untranslated (const char *logfilename, - const char *domainname, - const char *msgid1, const char *msgid2, - int plural); - const char *logfilename = getenv ("GETTEXT_LOG_UNTRANSLATED"); - - if (logfilename != NULL && logfilename[0] != '\0') - _nl_log_untranslated (logfilename, domainname, msgid1, msgid2, plural); - } +if (!ENABLE_SECURE) { + extern void _nl_log_untranslated(const char *logfilename, + const char *domainname, + const char *msgid1, const char *msgid2, + int plural); + const char *logfilename = getenv("GETTEXT_LOG_UNTRANSLATED"); + + if (logfilename != NULL && logfilename[0] != '\0') + _nl_log_untranslated(logfilename, domainname, msgid1, msgid2, plural); +} #endif - __set_errno (saved_errno); - return (plural == 0 - ? (char *) msgid1 - /* Use the Germanic plural rule. */ - : n == 1 ? (char *) msgid1 : (char *) msgid2); +__set_errno(saved_errno); +return (plural == 0 + ? (char *) msgid1 + /* Use the Germanic plural rule. */ + : n == 1 ? (char *) msgid1 : (char *) msgid2); } @@ -877,15 +851,15 @@ char * internal_function #ifdef IN_LIBGLOCALE -_nl_find_msg (struct loaded_l10nfile *domain_file, - struct binding *domainbinding, const char *encoding, - const char *msgid, - size_t *lengthp) +_nl_find_msg(struct loaded_l10nfile *domain_file, + struct binding *domainbinding, const char *encoding, + const char *msgid, + size_t *lengthp) #else -_nl_find_msg (struct loaded_l10nfile *domain_file, - struct binding *domainbinding, - const char *msgid, int convert, - size_t *lengthp) +_nl_find_msg(struct loaded_l10nfile *domain_file, + struct binding *domainbinding, + const char *msgid, int convert, + size_t *lengthp) #endif { struct loaded_domain *domain; @@ -895,7 +869,7 @@ size_t resultlen; if (domain_file->decided <= 0) - _nl_load_domain (domain_file, domainbinding); + _nl_load_domain(domain_file, domainbinding); if (domain_file->data == NULL) return NULL; @@ -905,91 +879,82 @@ nstrings = domain->nstrings; /* Locate the MSGID and its translation. */ - if (domain->hash_tab != NULL) - { - /* Use the hashing table. */ - nls_uint32 len = strlen (msgid); - nls_uint32 hash_val = __hash_string (msgid); - nls_uint32 idx = hash_val % domain->hash_size; - nls_uint32 incr = 1 + (hash_val % (domain->hash_size - 2)); - - while (1) - { - nls_uint32 nstr = - W (domain->must_swap_hash_tab, domain->hash_tab[idx]); - - if (nstr == 0) - /* Hash table entry is empty. */ - return NULL; - - nstr--; - - /* Compare msgid with the original string at index nstr. - We compare the lengths with >=, not ==, because plural entries - are represented by strings with an embedded NUL. */ - if (nstr < nstrings - ? W (domain->must_swap, domain->orig_tab[nstr].length) >= len - && (strcmp (msgid, - domain->data + W (domain->must_swap, - domain->orig_tab[nstr].offset)) - == 0) - : domain->orig_sysdep_tab[nstr - nstrings].length > len - && (strcmp (msgid, - domain->orig_sysdep_tab[nstr - nstrings].pointer) - == 0)) - { - act = nstr; - goto found; - } - - if (idx >= domain->hash_size - incr) - idx -= domain->hash_size - incr; - else - idx += incr; - } - /* NOTREACHED */ + if (domain->hash_tab != NULL) { + /* Use the hashing table. */ + nls_uint32 len = strlen(msgid); + nls_uint32 hash_val = __hash_string(msgid); + nls_uint32 idx = hash_val % domain->hash_size; + nls_uint32 incr = 1 + (hash_val % (domain->hash_size - 2)); + + while (1) { + nls_uint32 nstr = + W(domain->must_swap_hash_tab, domain->hash_tab[idx]); + + if (nstr == 0) + /* Hash table entry is empty. */ + return NULL; + + nstr--; + + /* Compare msgid with the original string at index nstr. + We compare the lengths with >=, not ==, because plural entries + are represented by strings with an embedded NUL. */ + if (nstr < nstrings + ? W(domain->must_swap, domain->orig_tab[nstr].length) >= len + && (strcmp(msgid, + domain->data + W(domain->must_swap, + domain->orig_tab[nstr].offset)) + == 0) + : domain->orig_sysdep_tab[nstr - nstrings].length > len + && (strcmp(msgid, + domain->orig_sysdep_tab[nstr - nstrings].pointer) + == 0)) { + act = nstr; + goto found; + } + + if (idx >= domain->hash_size - incr) + idx -= domain->hash_size - incr; + else + idx += incr; } - else - { - /* Try the default method: binary search in the sorted array of - messages. */ - size_t top, bottom; - - bottom = 0; - top = nstrings; - while (bottom < top) - { - int cmp_val; - - act = (bottom + top) / 2; - cmp_val = strcmp (msgid, (domain->data - + W (domain->must_swap, - domain->orig_tab[act].offset))); - if (cmp_val < 0) - top = act; - else if (cmp_val > 0) - bottom = act + 1; - else - goto found; - } - /* No translation was found. */ - return NULL; + /* NOTREACHED */ + } else { + /* Try the default method: binary search in the sorted array of + messages. */ + size_t top, bottom; + + bottom = 0; + top = nstrings; + while (bottom < top) { + int cmp_val; + + act = (bottom + top) / 2; + cmp_val = strcmp(msgid, (domain->data + + W(domain->must_swap, + domain->orig_tab[act].offset))); + if (cmp_val < 0) + top = act; + else if (cmp_val > 0) + bottom = act + 1; + else + goto found; } + /* No translation was found. */ + return NULL; + } - found: +found: /* The translation was found at index ACT. If we have to convert the string to use a different character set, this is the time. */ - if (act < nstrings) - { - result = (char *) - (domain->data + W (domain->must_swap, domain->trans_tab[act].offset)); - resultlen = W (domain->must_swap, domain->trans_tab[act].length) + 1; - } - else - { - result = (char *) domain->trans_sysdep_tab[act - nstrings].pointer; - resultlen = domain->trans_sysdep_tab[act - nstrings].length; - } + if (act < nstrings) { + result = (char *) + (domain->data + W(domain->must_swap, domain->trans_tab[act].offset)); + resultlen = W(domain->must_swap, domain->trans_tab[act].length) + 1; + } else { + result = (char *) domain->trans_sysdep_tab[act - nstrings].pointer; + resultlen = domain->trans_sysdep_tab[act - nstrings].length; + } #if defined _LIBC || HAVE_ICONV # ifdef IN_LIBGLOCALE @@ -997,374 +962,351 @@ # else if (convert) # endif - { - /* We are supposed to do a conversion. */ + { + /* We are supposed to do a conversion. */ # ifndef IN_LIBGLOCALE - const char *encoding = get_output_charset (domainbinding); + const char *encoding = get_output_charset(domainbinding); # endif - size_t nconversions; - struct converted_domain *convd; - size_t i; - - /* Protect against reallocation of the table. */ - gl_rwlock_rdlock (domain->conversions_lock); - - /* Search whether a table with converted translations for this - encoding has already been allocated. */ - nconversions = domain->nconversions; - convd = NULL; - - for (i = nconversions; i > 0; ) - { - i--; - if (strcmp (domain->conversions[i].encoding, encoding) == 0) - { - convd = &domain->conversions[i]; - break; - } - } - - gl_rwlock_unlock (domain->conversions_lock); - - if (convd == NULL) - { - /* We have to allocate a new conversions table. */ - gl_rwlock_wrlock (domain->conversions_lock); - - /* Maybe in the meantime somebody added the translation. - Recheck. */ - for (i = nconversions; i > 0; ) - { - i--; - if (strcmp (domain->conversions[i].encoding, encoding) == 0) - { - convd = &domain->conversions[i]; - goto found_convd; - } - } - - { - /* Allocate a table for the converted translations for this - encoding. */ - struct converted_domain *new_conversions = - (struct converted_domain *) - (domain->conversions != NULL - ? realloc (domain->conversions, - (nconversions + 1) * sizeof (struct converted_domain)) - : malloc ((nconversions + 1) * sizeof (struct converted_domain))); - - if (__builtin_expect (new_conversions == NULL, 0)) - { - /* Nothing we can do, no more memory. We cannot use the - translation because it might be encoded incorrectly. */ - unlock_fail: - gl_rwlock_unlock (domain->conversions_lock); - return (char *) -1; - } - - domain->conversions = new_conversions; - - /* Copy the 'encoding' string to permanent storage. */ - encoding = strdup (encoding); - if (__builtin_expect (encoding == NULL, 0)) - /* Nothing we can do, no more memory. We cannot use the - translation because it might be encoded incorrectly. */ - goto unlock_fail; - - convd = &new_conversions[nconversions]; - convd->encoding = encoding; - - /* Find out about the character set the file is encoded with. - This can be found (in textual form) in the entry "". If this - entry does not exist or if this does not contain the 'charset=' - information, we will assume the charset matches the one the - current locale and we don't have to perform any conversion. */ + size_t nconversions; + struct converted_domain *convd; + size_t i; + + /* Protect against reallocation of the table. */ + gl_rwlock_rdlock(domain->conversions_lock); + + /* Search whether a table with converted translations for this + encoding has already been allocated. */ + nconversions = domain->nconversions; + convd = NULL; + + for (i = nconversions; i > 0;) { + i--; + if (strcmp(domain->conversions[i].encoding, encoding) == 0) { + convd = &domain->conversions[i]; + break; + } + } + + gl_rwlock_unlock(domain->conversions_lock); + + if (convd == NULL) { + /* We have to allocate a new conversions table. */ + gl_rwlock_wrlock(domain->conversions_lock); + + /* Maybe in the meantime somebody added the translation. + Recheck. */ + for (i = nconversions; i > 0;) { + i--; + if (strcmp(domain->conversions[i].encoding, encoding) == 0) { + convd = &domain->conversions[i]; + goto found_convd; + } + } + + { + /* Allocate a table for the converted translations for this + encoding. */ + struct converted_domain *new_conversions = + (struct converted_domain *) + (domain->conversions != NULL + ? realloc(domain->conversions, + (nconversions + 1) * sizeof(struct converted_domain)) + : malloc((nconversions + 1) * sizeof(struct converted_domain))); + + if (__builtin_expect(new_conversions == NULL, 0)) { + /* Nothing we can do, no more memory. We cannot use the + translation because it might be encoded incorrectly. */ +unlock_fail: + gl_rwlock_unlock(domain->conversions_lock); + return (char *) - 1; + } + + domain->conversions = new_conversions; + + /* Copy the 'encoding' string to permanent storage. */ + encoding = strdup(encoding); + if (__builtin_expect(encoding == NULL, 0)) + /* Nothing we can do, no more memory. We cannot use the + translation because it might be encoded incorrectly. */ + goto unlock_fail; + + convd = &new_conversions[nconversions]; + convd->encoding = encoding; + + /* Find out about the character set the file is encoded with. + This can be found (in textual form) in the entry "". If this + entry does not exist or if this does not contain the 'charset=' + information, we will assume the charset matches the one the + current locale and we don't have to perform any conversion. */ # ifdef _LIBC - convd->conv = (__gconv_t) -1; + convd->conv = (__gconv_t) - 1; # else # if HAVE_ICONV - convd->conv = (iconv_t) -1; + convd->conv = (iconv_t) - 1; # endif # endif - { - char *nullentry; - size_t nullentrylen; - - /* Get the header entry. This is a recursion, but it doesn't - reallocate domain->conversions because we pass - encoding = NULL or convert = 0, respectively. */ - nullentry = + { + char *nullentry; + size_t nullentrylen; + + /* Get the header entry. This is a recursion, but it doesn't + reallocate domain->conversions because we pass + encoding = NULL or convert = 0, respectively. */ + nullentry = # ifdef IN_LIBGLOCALE - _nl_find_msg (domain_file, domainbinding, NULL, "", - &nullentrylen); + _nl_find_msg(domain_file, domainbinding, NULL, "", + &nullentrylen); # else - _nl_find_msg (domain_file, domainbinding, "", 0, &nullentrylen); + _nl_find_msg(domain_file, domainbinding, "", 0, &nullentrylen); # endif - if (nullentry != NULL) - { - const char *charsetstr; + if (nullentry != NULL) { + const char *charsetstr; - charsetstr = strstr (nullentry, "charset="); - if (charsetstr != NULL) - { - size_t len; - char *charset; - const char *outcharset; + charsetstr = strstr(nullentry, "charset="); + if (charsetstr != NULL) { + size_t len; + char *charset; + const char *outcharset; - charsetstr += strlen ("charset="); - len = strcspn (charsetstr, " \t\n"); + charsetstr += strlen("charset="); + len = strcspn(charsetstr, " \t\n"); - charset = (char *) alloca (len + 1); + charset = (char *) alloca(len + 1); # if defined _LIBC || HAVE_MEMPCPY - *((char *) mempcpy (charset, charsetstr, len)) = '\0'; + *((char *) mempcpy(charset, charsetstr, len)) = '\0'; # else - memcpy (charset, charsetstr, len); - charset[len] = '\0'; + memcpy(charset, charsetstr, len); + charset[len] = '\0'; # endif - outcharset = encoding; + outcharset = encoding; # ifdef _LIBC - /* We always want to use transliteration. */ - outcharset = norm_add_slashes (outcharset, "TRANSLIT"); - charset = norm_add_slashes (charset, ""); - int r = __gconv_open (outcharset, charset, &convd->conv, - GCONV_AVOID_NOCONV); - if (__builtin_expect (r != __GCONV_OK, 0)) - { - /* If the output encoding is the same there is - nothing to do. Otherwise do not use the - translation at all. */ - if (__builtin_expect (r != __GCONV_NULCONV, 1)) - { - gl_rwlock_unlock (domain->conversions_lock); - free ((char *) encoding); - return NULL; - } - - convd->conv = (__gconv_t) -1; - } + /* We always want to use transliteration. */ + outcharset = norm_add_slashes(outcharset, "TRANSLIT"); + charset = norm_add_slashes(charset, ""); + int r = __gconv_open(outcharset, charset, &convd->conv, + GCONV_AVOID_NOCONV); + if (__builtin_expect(r != __GCONV_OK, 0)) { + /* If the output encoding is the same there is + nothing to do. Otherwise do not use the + translation at all. */ + if (__builtin_expect(r != __GCONV_NULCONV, 1)) { + gl_rwlock_unlock(domain->conversions_lock); + free((char *) encoding); + return NULL; + } + + convd->conv = (__gconv_t) - 1; + } # else # if HAVE_ICONV - /* When using GNU libc >= 2.2 or GNU libiconv >= 1.5, - we want to use transliteration. */ + /* When using GNU libc >= 2.2 or GNU libiconv >= 1.5, + we want to use transliteration. */ # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2 \ || _LIBICONV_VERSION >= 0x0105 - if (strchr (outcharset, '/') == NULL) - { - char *tmp; + if (strchr(outcharset, '/') == NULL) { + char *tmp; - len = strlen (outcharset); - tmp = (char *) alloca (len + 10 + 1); - memcpy (tmp, outcharset, len); - memcpy (tmp + len, "//TRANSLIT", 10 + 1); - outcharset = tmp; + len = strlen(outcharset); + tmp = (char *) alloca(len + 10 + 1); + memcpy(tmp, outcharset, len); + memcpy(tmp + len, "//TRANSLIT", 10 + 1); + outcharset = tmp; - convd->conv = iconv_open (outcharset, charset); + convd->conv = iconv_open(outcharset, charset); - freea (outcharset); - } - else + freea(outcharset); + } else # endif - convd->conv = iconv_open (outcharset, charset); + convd->conv = iconv_open(outcharset, charset); # endif # endif - freea (charset); - } - } - } - convd->conv_tab = NULL; - /* Here domain->conversions is still == new_conversions. */ - domain->nconversions++; - } - - found_convd: - gl_rwlock_unlock (domain->conversions_lock); - } + freea(charset); + } + } + } + convd->conv_tab = NULL; + /* Here domain->conversions is still == new_conversions. */ + domain->nconversions++; + } + +found_convd: + gl_rwlock_unlock(domain->conversions_lock); + } - if ( + if ( # ifdef _LIBC - convd->conv != (__gconv_t) -1 + convd->conv != (__gconv_t) - 1 # else # if HAVE_ICONV - convd->conv != (iconv_t) -1 + convd->conv != (iconv_t) - 1 # endif # endif - ) - { - /* We are supposed to do a conversion. First allocate an - appropriate table with the same structure as the table - of translations in the file, where we can put the pointers - to the converted strings in. - There is a slight complication with plural entries. They - are represented by consecutive NUL terminated strings. We - handle this case by converting RESULTLEN bytes, including - NULs. */ - - if (convd->conv_tab == NULL - && ((convd->conv_tab = - (char **) calloc (nstrings + domain->n_sysdep_strings, - sizeof (char *))) - == NULL)) - /* Mark that we didn't succeed allocating a table. */ - convd->conv_tab = (char **) -1; - - if (__builtin_expect (convd->conv_tab == (char **) -1, 0)) - /* Nothing we can do, no more memory. We cannot use the - translation because it might be encoded incorrectly. */ - return (char *) -1; - - if (convd->conv_tab[act] == NULL) - { - /* We haven't used this string so far, so it is not - translated yet. Do this now. */ - /* We use a bit more efficient memory handling. - We allocate always larger blocks which get used over - time. This is faster than many small allocations. */ - __libc_lock_define_initialized (static, lock) + ) { + /* We are supposed to do a conversion. First allocate an + appropriate table with the same structure as the table + of translations in the file, where we can put the pointers + to the converted strings in. + There is a slight complication with plural entries. They + are represented by consecutive NUL terminated strings. We + handle this case by converting RESULTLEN bytes, including + NULs. */ + + if (convd->conv_tab == NULL + && ((convd->conv_tab = + (char **) calloc(nstrings + domain->n_sysdep_strings, + sizeof(char *))) + == NULL)) + /* Mark that we didn't succeed allocating a table. */ + convd->conv_tab = (char **) - 1; + + if (__builtin_expect(convd->conv_tab == (char **) - 1, 0)) + /* Nothing we can do, no more memory. We cannot use the + translation because it might be encoded incorrectly. */ + return (char *) - 1; + + if (convd->conv_tab[act] == NULL) { + /* We haven't used this string so far, so it is not + translated yet. Do this now. */ + /* We use a bit more efficient memory handling. + We allocate always larger blocks which get used over + time. This is faster than many small allocations. */ + __libc_lock_define_initialized(static, lock) # define INITIAL_BLOCK_SIZE 4080 - static unsigned char *freemem; - static size_t freemem_size; + static unsigned char *freemem; + static size_t freemem_size; - const unsigned char *inbuf; - unsigned char *outbuf; - int malloc_count; + const unsigned char *inbuf; + unsigned char *outbuf; + int malloc_count; # ifndef _LIBC - transmem_block_t *transmem_list = NULL; + transmem_block_t *transmem_list = NULL; # endif - __libc_lock_lock (lock); + __libc_lock_lock(lock); - inbuf = (const unsigned char *) result; - outbuf = freemem + sizeof (size_t); + inbuf = (const unsigned char *) result; + outbuf = freemem + sizeof(size_t); - malloc_count = 0; - while (1) - { - transmem_block_t *newmem; + malloc_count = 0; + while (1) { + transmem_block_t *newmem; # ifdef _LIBC - size_t non_reversible; - int res; - - if (freemem_size < sizeof (size_t)) - goto resize_freemem; - - res = __gconv (convd->conv, - &inbuf, inbuf + resultlen, - &outbuf, - outbuf + freemem_size - sizeof (size_t), - &non_reversible); - - if (res == __GCONV_OK || res == __GCONV_EMPTY_INPUT) - break; - - if (res != __GCONV_FULL_OUTPUT) - { - /* We should not use the translation at all, it - is incorrectly encoded. */ - __libc_lock_unlock (lock); - return NULL; - } - - inbuf = (const unsigned char *) result; + size_t non_reversible; + int res; + + if (freemem_size < sizeof(size_t)) + goto resize_freemem; + + res = __gconv(convd->conv, + &inbuf, inbuf + resultlen, + &outbuf, + outbuf + freemem_size - sizeof(size_t), + &non_reversible); + + if (res == __GCONV_OK || res == __GCONV_EMPTY_INPUT) + break; + + if (res != __GCONV_FULL_OUTPUT) { + /* We should not use the translation at all, it + is incorrectly encoded. */ + __libc_lock_unlock(lock); + return NULL; + } + + inbuf = (const unsigned char *) result; # else # if HAVE_ICONV - const char *inptr = (const char *) inbuf; - size_t inleft = resultlen; - char *outptr = (char *) outbuf; - size_t outleft; - - if (freemem_size < sizeof (size_t)) - goto resize_freemem; - - outleft = freemem_size - sizeof (size_t); - if (iconv (convd->conv, - (ICONV_CONST char **) &inptr, &inleft, - &outptr, &outleft) - != (size_t) (-1)) - { - outbuf = (unsigned char *) outptr; - break; - } - if (errno != E2BIG) - { - __libc_lock_unlock (lock); - return NULL; - } + const char *inptr = (const char *) inbuf; + size_t inleft = resultlen; + char *outptr = (char *) outbuf; + size_t outleft; + + if (freemem_size < sizeof(size_t)) + goto resize_freemem; + + outleft = freemem_size - sizeof(size_t); + if (iconv(convd->conv, + (ICONV_CONST char **) &inptr, &inleft, + &outptr, &outleft) + != (size_t)(-1)) { + outbuf = (unsigned char *) outptr; + break; + } + if (errno != E2BIG) { + __libc_lock_unlock(lock); + return NULL; + } # endif # endif - resize_freemem: - /* We must allocate a new buffer or resize the old one. */ - if (malloc_count > 0) - { - ++malloc_count; - freemem_size = malloc_count * INITIAL_BLOCK_SIZE; - newmem = (transmem_block_t *) realloc (transmem_list, - freemem_size); +resize_freemem: + /* We must allocate a new buffer or resize the old one. */ + if (malloc_count > 0) { + ++malloc_count; + freemem_size = malloc_count * INITIAL_BLOCK_SIZE; + newmem = (transmem_block_t *) realloc(transmem_list, + freemem_size); # ifdef _LIBC - if (newmem != NULL) - transmem_list = transmem_list->next; - else - { - struct transmem_list *old = transmem_list; - - transmem_list = transmem_list->next; - free (old); - } + if (newmem != NULL) + transmem_list = transmem_list->next; + else { + struct transmem_list *old = transmem_list; + + transmem_list = transmem_list->next; + free(old); + } # endif - } - else - { - malloc_count = 1; - freemem_size = INITIAL_BLOCK_SIZE; - newmem = (transmem_block_t *) malloc (freemem_size); - } - if (__builtin_expect (newmem == NULL, 0)) - { - freemem = NULL; - freemem_size = 0; - __libc_lock_unlock (lock); - return (char *) -1; - } + } else { + malloc_count = 1; + freemem_size = INITIAL_BLOCK_SIZE; + newmem = (transmem_block_t *) malloc(freemem_size); + } + if (__builtin_expect(newmem == NULL, 0)) { + freemem = NULL; + freemem_size = 0; + __libc_lock_unlock(lock); + return (char *) - 1; + } # ifdef _LIBC - /* Add the block to the list of blocks we have to free - at some point. */ - newmem->next = transmem_list; - transmem_list = newmem; + /* Add the block to the list of blocks we have to free + at some point. */ + newmem->next = transmem_list; + transmem_list = newmem; - freemem = (unsigned char *) newmem->data; - freemem_size -= offsetof (struct transmem_list, data); + freemem = (unsigned char *) newmem->data; + freemem_size -= offsetof(struct transmem_list, data); # else - transmem_list = newmem; - freemem = newmem; + transmem_list = newmem; + freemem = newmem; # endif - outbuf = freemem + sizeof (size_t); - } - - /* We have now in our buffer a converted string. Put this - into the table of conversions. */ - *(size_t *) freemem = outbuf - freemem - sizeof (size_t); - convd->conv_tab[act] = (char *) freemem; - /* Shrink freemem, but keep it aligned. */ - freemem_size -= outbuf - freemem; - freemem = outbuf; - freemem += freemem_size & (alignof (size_t) - 1); - freemem_size = freemem_size & ~ (alignof (size_t) - 1); - - __libc_lock_unlock (lock); - } - - /* Now convd->conv_tab[act] contains the translation of all - the plural variants. */ - result = convd->conv_tab[act] + sizeof (size_t); - resultlen = *(size_t *) convd->conv_tab[act]; - } + outbuf = freemem + sizeof(size_t); + } + + /* We have now in our buffer a converted string. Put this + into the table of conversions. */ + *(size_t *) freemem = outbuf - freemem - sizeof(size_t); + convd->conv_tab[act] = (char *) freemem; + /* Shrink freemem, but keep it aligned. */ + freemem_size -= outbuf - freemem; + freemem = outbuf; + freemem += freemem_size & (alignof(size_t) - 1); + freemem_size = freemem_size & ~(alignof(size_t) - 1); + + __libc_lock_unlock(lock); + } + + /* Now convd->conv_tab[act] contains the translation of all + the plural variants. */ + result = convd->conv_tab[act] + sizeof(size_t); + resultlen = *(size_t *) convd->conv_tab[act]; } + } /* The result string is converted. */ @@ -1378,14 +1320,13 @@ /* Look up a plural variant. */ static char * internal_function -plural_lookup (struct loaded_l10nfile *domain, unsigned long int n, - const char *translation, size_t translation_len) -{ +plural_lookup(struct loaded_l10nfile *domain, unsigned long int n, + const char *translation, size_t translation_len) { struct loaded_domain *domaindata = (struct loaded_domain *) domain->data; unsigned long int index; const char *p; - index = plural_eval (domaindata->plural, n); + index = plural_eval(domaindata->plural, n); if (index >= domaindata->nplurals) /* This should never happen. It means the plural expression and the given maximum value do not match. */ @@ -1393,22 +1334,21 @@ /* Skip INDEX strings at TRANSLATION. */ p = translation; - while (index-- > 0) - { + while (index-- > 0) { #ifdef _LIBC - p = __rawmemchr (p, '\0'); + p = __rawmemchr(p, '\0'); #else - p = strchr (p, '\0'); + p = strchr(p, '\0'); #endif - /* And skip over the NUL byte. */ - p++; + /* And skip over the NUL byte. */ + p++; - if (p >= translation + translation_len) - /* This should never happen. It means the plural expression - evaluated to a value larger than the number of variants - available for MSGID1. */ - return (char *) translation; - } + if (p >= translation + translation_len) + /* This should never happen. It means the plural expression + evaluated to a value larger than the number of variants + available for MSGID1. */ + return (char *) translation; + } return (char *) p; } @@ -1416,12 +1356,10 @@ /* Return string representation of locale CATEGORY. */ static const char * internal_function -category_to_name (int category) -{ +category_to_name(int category) { const char *retval; - switch (category) - { + switch (category) { #ifdef LC_COLLATE case LC_COLLATE: retval = "LC_COLLATE"; @@ -1478,11 +1416,11 @@ static const char * internal_function #ifdef IN_LIBGLOCALE -guess_category_value (int category, const char *categoryname, - const char *locale) +guess_category_value(int category, const char *categoryname, + const char *locale) #else -guess_category_value (int category, const char *categoryname) +guess_category_value(int category, const char *categoryname) #endif { const char *language; @@ -1513,59 +1451,55 @@ `LC_xxx', and `LANG'. On some systems this can be done by the `setlocale' function itself. */ # ifdef _LIBC - locale = __current_locale_name (category); + locale = __current_locale_name(category); # else # if HAVE_STRUCT___LOCALE_STRUCT___NAMES && defined USE_IN_GETTEXT_TESTS /* The __names field is not public glibc API and must therefore not be used in code that is installed in public locations. */ - locale_t thread_locale = uselocale (NULL); - if (thread_locale != LC_GLOBAL_LOCALE) - { - locale = thread_locale->__names[category]; - locale_defaulted = 0; - } - else + locale_t thread_locale = uselocale(NULL); + if (thread_locale != LC_GLOBAL_LOCALE) { + locale = thread_locale->__names[category]; + locale_defaulted = 0; + } else # endif - { - locale = _nl_locale_name_posix (category, categoryname); - locale_defaulted = 0; - if (locale == NULL) - { - locale = _nl_locale_name_default (); - locale_defaulted = 1; - } + { + locale = _nl_locale_name_posix(category, categoryname); + locale_defaulted = 0; + if (locale == NULL) { + locale = _nl_locale_name_default(); + locale_defaulted = 1; } + } # endif #endif /* Ignore LANGUAGE and its system-dependent analogon if the locale is set to "C" because 1. "C" locale usually uses the ASCII encoding, and most international - messages use non-ASCII characters. These characters get displayed - as question marks (if using glibc's iconv()) or as invalid 8-bit - characters (because other iconv()s refuse to convert most non-ASCII - characters to ASCII). In any case, the output is ugly. + messages use non-ASCII characters. These characters get displayed + as question marks (if using glibc's iconv()) or as invalid 8-bit + characters (because other iconv()s refuse to convert most non-ASCII + characters to ASCII). In any case, the output is ugly. 2. The precise output of some programs in the "C" locale is specified - by POSIX and should not depend on environment variables like - "LANGUAGE" or system-dependent information. We allow such programs + by POSIX and should not depend on environment variables like + "LANGUAGE" or system-dependent information. We allow such programs to use gettext(). */ - if (strcmp (locale, "C") == 0) + if (strcmp(locale, "C") == 0) return locale; /* The highest priority value is the value of the 'LANGUAGE' environment variable. */ - language = getenv ("LANGUAGE"); + language = getenv("LANGUAGE"); if (language != NULL && language[0] != '\0') return language; #if !defined IN_LIBGLOCALE && !defined _LIBC /* The next priority value is the locale name, if not defaulted. */ - if (locale_defaulted) - { - /* The next priority value is the default language preferences list. */ - language_default = _nl_language_preferences_default (); - if (language_default != NULL) - return language_default; - } + if (locale_defaulted) { + /* The next priority value is the default language preferences list. */ + language_default = _nl_language_preferences_default(); + if (language_default != NULL) + return language_default; + } /* The least priority value is the locale name, if defaulted. */ #endif return locale; @@ -1575,8 +1509,7 @@ /* Returns the output charset. */ static const char * internal_function -get_output_charset (struct binding *domainbinding) -{ +get_output_charset(struct binding *domainbinding) { /* The output charset should normally be determined by the locale. But sometimes the locale is not used or not correctly set up, so we provide a possibility for the user to override this: the OUTPUT_CHARSET @@ -1584,43 +1517,39 @@ bind_textdomain_codeset overrides both. */ if (domainbinding != NULL && domainbinding->codeset != NULL) return domainbinding->codeset; - else - { - /* For speed reasons, we look at the value of OUTPUT_CHARSET only - once. This is a user variable that is not supposed to change - during a program run. */ - static char *output_charset_cache; - static int output_charset_cached; - - if (!output_charset_cached) - { - const char *value = getenv ("OUTPUT_CHARSET"); - - if (value != NULL && value[0] != '\0') - { - size_t len = strlen (value) + 1; - char *value_copy = (char *) malloc (len); - - if (value_copy != NULL) - memcpy (value_copy, value, len); - output_charset_cache = value_copy; - } - output_charset_cached = 1; - } - - if (output_charset_cache != NULL) - return output_charset_cache; - else - { + else { + /* For speed reasons, we look at the value of OUTPUT_CHARSET only + once. This is a user variable that is not supposed to change + during a program run. */ + static char *output_charset_cache; + static int output_charset_cached; + + if (!output_charset_cached) { + const char *value = getenv("OUTPUT_CHARSET"); + + if (value != NULL && value[0] != '\0') { + size_t len = strlen(value) + 1; + char *value_copy = (char *) malloc(len); + + if (value_copy != NULL) + memcpy(value_copy, value, len); + output_charset_cache = value_copy; + } + output_charset_cached = 1; + } + + if (output_charset_cache != NULL) + return output_charset_cache; + else { # ifdef _LIBC - return _NL_CURRENT (LC_CTYPE, CODESET); + return _NL_CURRENT(LC_CTYPE, CODESET); # else # if HAVE_ICONV - return locale_charset (); + return locale_charset(); # endif # endif - } } + } } #endif @@ -1632,8 +1561,7 @@ to be defined. */ #if !_LIBC && !HAVE_STPCPY static char * -stpcpy (char *dest, const char *src) -{ +stpcpy(char *dest, const char *src) { while ((*dest++ = *src++) != '\0') /* Do nothing. */ ; return dest - 1; @@ -1642,9 +1570,8 @@ #if !_LIBC && !HAVE_MEMPCPY static void * -mempcpy (void *dest, const void *src, size_t n) -{ - return (void *) ((char *) memcpy (dest, src, n) + n); +mempcpy(void *dest, const void *src, size_t n) { + return (void *)((char *) memcpy(dest, src, n) + n); } #endif @@ -1656,34 +1583,31 @@ #ifdef _LIBC /* If we want to free all resources we have to do some work at program's end. */ -libc_freeres_fn (free_mem) -{ +libc_freeres_fn(free_mem) { void *old; - while (_nl_domain_bindings != NULL) - { - struct binding *oldp = _nl_domain_bindings; - _nl_domain_bindings = _nl_domain_bindings->next; - if (oldp->dirname != _nl_default_dirname) - /* Yes, this is a pointer comparison. */ - free (oldp->dirname); - free (oldp->codeset); - free (oldp); - } + while (_nl_domain_bindings != NULL) { + struct binding *oldp = _nl_domain_bindings; + _nl_domain_bindings = _nl_domain_bindings->next; + if (oldp->dirname != _nl_default_dirname) + /* Yes, this is a pointer comparison. */ + free(oldp->dirname); + free(oldp->codeset); + free(oldp); + } if (_nl_current_default_domain != _nl_default_default_domain) /* Yes, again a pointer comparison. */ - free ((char *) _nl_current_default_domain); + free((char *) _nl_current_default_domain); /* Remove the search tree with the known translations. */ - __tdestroy (root, free); + __tdestroy(root, free); root = NULL; - while (transmem_list != NULL) - { - old = transmem_list; - transmem_list = transmem_list->next; - free (old); - } + while (transmem_list != NULL) { + old = transmem_list; + transmem_list = transmem_list->next; + free(old); + } } #endif
View file
LiVES-2.8.4.tar.bz2/intl/dcngettext.c -> LiVES-2.8.6.tar.bz2/intl/dcngettext.c
Changed
@@ -44,14 +44,13 @@ /* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY locale. */ char * -DCNGETTEXT (const char *domainname, - const char *msgid1, const char *msgid2, unsigned long int n, - int category) -{ - return DCIGETTEXT (domainname, msgid1, msgid2, 1, n, category); +DCNGETTEXT(const char *domainname, + const char *msgid1, const char *msgid2, unsigned long int n, + int category) { + return DCIGETTEXT(domainname, msgid1, msgid2, 1, n, category); } #ifdef _LIBC /* Alias for function name in GNU C Library. */ -weak_alias (__dcngettext, dcngettext); +weak_alias(__dcngettext, dcngettext); #endif
View file
LiVES-2.8.4.tar.bz2/intl/dgettext.c -> LiVES-2.8.6.tar.bz2/intl/dgettext.c
Changed
@@ -47,12 +47,11 @@ /* Look up MSGID in the DOMAINNAME message catalog of the current LC_MESSAGES locale. */ char * -DGETTEXT (const char *domainname, const char *msgid) -{ - return DCGETTEXT (domainname, msgid, LC_MESSAGES); +DGETTEXT(const char *domainname, const char *msgid) { + return DCGETTEXT(domainname, msgid, LC_MESSAGES); } #ifdef _LIBC /* Alias for function name in GNU C Library. */ -weak_alias (__dgettext, dgettext); +weak_alias(__dgettext, dgettext); #endif
View file
LiVES-2.8.4.tar.bz2/intl/dngettext.c -> LiVES-2.8.6.tar.bz2/intl/dngettext.c
Changed
@@ -47,13 +47,12 @@ /* Look up MSGID in the DOMAINNAME message catalog of the current LC_MESSAGES locale and skip message according to the plural form. */ char * -DNGETTEXT (const char *domainname, - const char *msgid1, const char *msgid2, unsigned long int n) -{ - return DCNGETTEXT (domainname, msgid1, msgid2, n, LC_MESSAGES); +DNGETTEXT(const char *domainname, + const char *msgid1, const char *msgid2, unsigned long int n) { + return DCNGETTEXT(domainname, msgid1, msgid2, n, LC_MESSAGES); } #ifdef _LIBC /* Alias for function name in GNU C Library. */ -weak_alias (__dngettext, dngettext); +weak_alias(__dngettext, dngettext); #endif
View file
LiVES-2.8.4.tar.bz2/intl/eval-plural.h -> LiVES-2.8.6.tar.bz2/intl/eval-plural.h
Changed
@@ -24,85 +24,77 @@ STATIC unsigned long int internal_function -plural_eval (const struct expression *pexp, unsigned long int n) -{ - switch (pexp->nargs) - { - case 0: - switch (pexp->operation) - { - case var: - return n; - case num: - return pexp->val.num; - default: - break; - } - /* NOTREACHED */ +plural_eval(const struct expression *pexp, unsigned long int n) { + switch (pexp->nargs) { + case 0: + switch (pexp->operation) { + case var: + return n; + case num: + return pexp->val.num; + default: break; - case 1: - { - /* pexp->operation must be lnot. */ - unsigned long int arg = plural_eval (pexp->val.args[0], n); - return ! arg; - } - case 2: - { - unsigned long int leftarg = plural_eval (pexp->val.args[0], n); - if (pexp->operation == lor) - return leftarg || plural_eval (pexp->val.args[1], n); - else if (pexp->operation == land) - return leftarg && plural_eval (pexp->val.args[1], n); - else - { - unsigned long int rightarg = plural_eval (pexp->val.args[1], n); + } + /* NOTREACHED */ + break; + case 1: { + /* pexp->operation must be lnot. */ + unsigned long int arg = plural_eval(pexp->val.args[0], n); + return ! arg; + } + case 2: { + unsigned long int leftarg = plural_eval(pexp->val.args[0], n); + if (pexp->operation == lor) + return leftarg || plural_eval(pexp->val.args[1], n); + else if (pexp->operation == land) + return leftarg && plural_eval(pexp->val.args[1], n); + else { + unsigned long int rightarg = plural_eval(pexp->val.args[1], n); - switch (pexp->operation) - { - case mult: - return leftarg * rightarg; - case divide: + switch (pexp->operation) { + case mult: + return leftarg * rightarg; + case divide: #if !INTDIV0_RAISES_SIGFPE - if (rightarg == 0) - raise (SIGFPE); + if (rightarg == 0) + raise(SIGFPE); #endif - return leftarg / rightarg; - case module: + return leftarg / rightarg; + case module: #if !INTDIV0_RAISES_SIGFPE - if (rightarg == 0) - raise (SIGFPE); + if (rightarg == 0) + raise(SIGFPE); #endif - return leftarg % rightarg; - case plus: - return leftarg + rightarg; - case minus: - return leftarg - rightarg; - case less_than: - return leftarg < rightarg; - case greater_than: - return leftarg > rightarg; - case less_or_equal: - return leftarg <= rightarg; - case greater_or_equal: - return leftarg >= rightarg; - case equal: - return leftarg == rightarg; - case not_equal: - return leftarg != rightarg; - default: - break; - } - } - /* NOTREACHED */ - break; - } - case 3: - { - /* pexp->operation must be qmop. */ - unsigned long int boolarg = plural_eval (pexp->val.args[0], n); - return plural_eval (pexp->val.args[boolarg ? 1 : 2], n); + return leftarg % rightarg; + case plus: + return leftarg + rightarg; + case minus: + return leftarg - rightarg; + case less_than: + return leftarg < rightarg; + case greater_than: + return leftarg > rightarg; + case less_or_equal: + return leftarg <= rightarg; + case greater_or_equal: + return leftarg >= rightarg; + case equal: + return leftarg == rightarg; + case not_equal: + return leftarg != rightarg; + default: + break; } } + /* NOTREACHED */ + break; + } + case 3: { + /* pexp->operation must be qmop. */ + unsigned long int boolarg = plural_eval(pexp->val.args[0], n); + return plural_eval(pexp->val.args[boolarg ? 1 : 2], n); + } + } /* NOTREACHED */ return 0; }
View file
LiVES-2.8.4.tar.bz2/intl/explodename.c -> LiVES-2.8.6.tar.bz2/intl/explodename.c
Changed
@@ -40,11 +40,10 @@ /* Split a locale name NAME into a leading language part and all the rest. Return a pointer to the first character after the language, i.e. to the first byte of the rest. */ -static char *_nl_find_language (const char *name); +static char *_nl_find_language(const char *name); static char * -_nl_find_language (const char *name) -{ +_nl_find_language(const char *name) { while (name[0] != '\0' && name[0] != '_' && name[0] != '@' && name[0] != '.') ++name; @@ -53,11 +52,10 @@ int -_nl_explode_name (char *name, - const char **language, const char **modifier, - const char **territory, const char **codeset, - const char **normalized_codeset) -{ +_nl_explode_name(char *name, + const char **language, const char **modifier, + const char **territory, const char **codeset, + const char **normalized_codeset) { char *cp; int mask; @@ -70,60 +68,55 @@ look for the language. Termination symbols are `_', '.', and `@'. */ mask = 0; *language = cp = name; - cp = _nl_find_language (*language); + cp = _nl_find_language(*language); if (*language == cp) /* This does not make sense: language has to be specified. Use this entry as it is without exploding. Perhaps it is an alias. */ - cp = strchr (*language, '\0'); - else - { - if (cp[0] == '_') - { - /* Next is the territory. */ - cp[0] = '\0'; - *territory = ++cp; - - while (cp[0] != '\0' && cp[0] != '.' && cp[0] != '@') - ++cp; - - mask |= XPG_TERRITORY; - } - - if (cp[0] == '.') - { - /* Next is the codeset. */ - cp[0] = '\0'; - *codeset = ++cp; - - while (cp[0] != '\0' && cp[0] != '@') - ++cp; - - mask |= XPG_CODESET; - - if (*codeset != cp && (*codeset)[0] != '\0') - { - *normalized_codeset = _nl_normalize_codeset (*codeset, - cp - *codeset); - if (*normalized_codeset == NULL) - return -1; - else if (strcmp (*codeset, *normalized_codeset) == 0) - free ((char *) *normalized_codeset); - else - mask |= XPG_NORM_CODESET; - } - } + cp = strchr(*language, '\0'); + else { + if (cp[0] == '_') { + /* Next is the territory. */ + cp[0] = '\0'; + *territory = ++cp; + + while (cp[0] != '\0' && cp[0] != '.' && cp[0] != '@') + ++cp; + + mask |= XPG_TERRITORY; } - if (cp[0] == '@') - { - /* Next is the modifier. */ + if (cp[0] == '.') { + /* Next is the codeset. */ cp[0] = '\0'; - *modifier = ++cp; - - if (cp[0] != '\0') - mask |= XPG_MODIFIER; + *codeset = ++cp; + + while (cp[0] != '\0' && cp[0] != '@') + ++cp; + + mask |= XPG_CODESET; + + if (*codeset != cp && (*codeset)[0] != '\0') { + *normalized_codeset = _nl_normalize_codeset(*codeset, + cp - *codeset); + if (*normalized_codeset == NULL) + return -1; + else if (strcmp(*codeset, *normalized_codeset) == 0) + free((char *) *normalized_codeset); + else + mask |= XPG_NORM_CODESET; + } } + } + + if (cp[0] == '@') { + /* Next is the modifier. */ + cp[0] = '\0'; + *modifier = ++cp; + + if (cp[0] != '\0') + mask |= XPG_MODIFIER; + } if (*territory != NULL && (*territory)[0] == '\0') mask &= ~XPG_TERRITORY;
View file
LiVES-2.8.4.tar.bz2/intl/finddomain.c -> LiVES-2.8.6.tar.bz2/intl/finddomain.c
Changed
@@ -57,10 +57,9 @@ the DOMAINNAME and CATEGORY parameters with respect to the currently established bindings. */ struct loaded_l10nfile * -internal_function -_nl_find_domain (const char *dirname, char *locale, - const char *domainname, struct binding *domainbinding) -{ + internal_function +_nl_find_domain(const char *dirname, char *locale, + const char *domainname, struct binding *domainbinding) { struct loaded_l10nfile *retval; const char *language; const char *modifier; @@ -72,120 +71,115 @@ /* LOCALE can consist of up to four recognized parts for the XPG syntax: - language[_territory][.codeset][@modifier] + language[_territory][.codeset][@modifier] Beside the first part all of them are allowed to be missing. If the full specified locale is not found, the less specific one are looked for. The various parts will be stripped off according to the following order: - (1) codeset - (2) normalized codeset - (3) territory - (4) modifier + (1) codeset + (2) normalized codeset + (3) territory + (4) modifier */ /* We need to protect modifying the _NL_LOADED_DOMAINS data. */ - gl_rwlock_define_initialized (static, lock); - gl_rwlock_rdlock (lock); + gl_rwlock_define_initialized(static, lock); + gl_rwlock_rdlock(lock); /* If we have already tested for this locale entry there has to be one data set in the list of loaded domains. */ - retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname, - strlen (dirname) + 1, 0, locale, NULL, NULL, - NULL, NULL, domainname, 0); + retval = _nl_make_l10nflist(&_nl_loaded_domains, dirname, + strlen(dirname) + 1, 0, locale, NULL, NULL, + NULL, NULL, domainname, 0); - gl_rwlock_unlock (lock); + gl_rwlock_unlock(lock); - if (retval != NULL) - { - /* We know something about this locale. */ - int cnt; + if (retval != NULL) { + /* We know something about this locale. */ + int cnt; - if (retval->decided <= 0) - _nl_load_domain (retval, domainbinding); + if (retval->decided <= 0) + _nl_load_domain(retval, domainbinding); - if (retval->data != NULL) - return retval; - - for (cnt = 0; retval->successor[cnt] != NULL; ++cnt) - { - if (retval->successor[cnt]->decided <= 0) - _nl_load_domain (retval->successor[cnt], domainbinding); + if (retval->data != NULL) + return retval; - if (retval->successor[cnt]->data != NULL) - break; - } + for (cnt = 0; retval->successor[cnt] != NULL; ++cnt) { + if (retval->successor[cnt]->decided <= 0) + _nl_load_domain(retval->successor[cnt], domainbinding); - return retval; - /* NOTREACHED */ + if (retval->successor[cnt]->data != NULL) + break; } + return retval; + /* NOTREACHED */ + } + /* See whether the locale value is an alias. If yes its value *overwrites* the alias name. No test for the original value is done. */ - alias_value = _nl_expand_alias (locale); - if (alias_value != NULL) - { + alias_value = _nl_expand_alias(locale); + if (alias_value != NULL) { #if defined _LIBC || defined HAVE_STRDUP - locale = strdup (alias_value); - if (locale == NULL) - return NULL; + locale = strdup(alias_value); + if (locale == NULL) + return NULL; #else - size_t len = strlen (alias_value) + 1; - locale = (char *) malloc (len); - if (locale == NULL) - return NULL; + size_t len = strlen(alias_value) + 1; + locale = (char *) malloc(len); + if (locale == NULL) + return NULL; - memcpy (locale, alias_value, len); + memcpy(locale, alias_value, len); #endif - } + } /* Now we determine the single parts of the locale name. First look for the language. Termination symbols are `_', '.', and `@'. */ - mask = _nl_explode_name (locale, &language, &modifier, &territory, - &codeset, &normalized_codeset); + mask = _nl_explode_name(locale, &language, &modifier, &territory, + &codeset, &normalized_codeset); if (mask == -1) /* This means we are out of core. */ return NULL; /* We need to protect modifying the _NL_LOADED_DOMAINS data. */ - gl_rwlock_wrlock (lock); + gl_rwlock_wrlock(lock); /* Create all possible locale entries which might be interested in generalization. */ - retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname, - strlen (dirname) + 1, mask, language, territory, - codeset, normalized_codeset, modifier, - domainname, 1); + retval = _nl_make_l10nflist(&_nl_loaded_domains, dirname, + strlen(dirname) + 1, mask, language, territory, + codeset, normalized_codeset, modifier, + domainname, 1); - gl_rwlock_unlock (lock); + gl_rwlock_unlock(lock); if (retval == NULL) /* This means we are out of core. */ goto out; if (retval->decided <= 0) - _nl_load_domain (retval, domainbinding); - if (retval->data == NULL) - { - int cnt; - for (cnt = 0; retval->successor[cnt] != NULL; ++cnt) - { - if (retval->successor[cnt]->decided <= 0) - _nl_load_domain (retval->successor[cnt], domainbinding); - if (retval->successor[cnt]->data != NULL) - break; - } + _nl_load_domain(retval, domainbinding); + if (retval->data == NULL) { + int cnt; + for (cnt = 0; retval->successor[cnt] != NULL; ++cnt) { + if (retval->successor[cnt]->decided <= 0) + _nl_load_domain(retval->successor[cnt], domainbinding); + if (retval->successor[cnt]->data != NULL) + break; } + } /* The room for an alias was dynamically allocated. Free it now. */ if (alias_value != NULL) - free (locale); + free(locale); out: /* The space for normalized_codeset is dynamically allocated. Free it. */ if (mask & XPG_NORM_CODESET) - free ((void *) normalized_codeset); + free((void *) normalized_codeset); return retval; } @@ -195,18 +189,16 @@ /* This is called from iconv/gconv_db.c's free_mem, as locales must be freed before freeing gconv steps arrays. */ void __libc_freeres_fn_section -_nl_finddomain_subfreeres () -{ +_nl_finddomain_subfreeres() { struct loaded_l10nfile *runp = _nl_loaded_domains; - while (runp != NULL) - { - struct loaded_l10nfile *here = runp; - if (runp->data != NULL) - _nl_unload_domain ((struct loaded_domain *) runp->data); - runp = runp->next; - free ((char *) here->filename); - free (here); - } + while (runp != NULL) { + struct loaded_l10nfile *here = runp; + if (runp->data != NULL) + _nl_unload_domain((struct loaded_domain *) runp->data); + runp = runp->next; + free((char *) here->filename); + free(here); + } } #endif
View file
LiVES-2.8.4.tar.bz2/intl/gettext.c -> LiVES-2.8.6.tar.bz2/intl/gettext.c
Changed
@@ -52,12 +52,11 @@ LC_MESSAGES locale. If not found, returns MSGID itself (the default text). */ char * -GETTEXT (const char *msgid) -{ - return DCGETTEXT (NULL, msgid, LC_MESSAGES); +GETTEXT(const char *msgid) { + return DCGETTEXT(NULL, msgid, LC_MESSAGES); } #ifdef _LIBC /* Alias for function name in GNU C Library. */ -weak_alias (__gettext, gettext); +weak_alias(__gettext, gettext); #endif
View file
LiVES-2.8.4.tar.bz2/intl/gettextP.h -> LiVES-2.8.6.tar.bz2/intl/gettextP.h
Changed
@@ -39,30 +39,30 @@ #endif #ifdef _LIBC -extern char *__gettext (const char *__msgid); -extern char *__dgettext (const char *__domainname, const char *__msgid); -extern char *__dcgettext (const char *__domainname, const char *__msgid, - int __category); -extern char *__ngettext (const char *__msgid1, const char *__msgid2, - unsigned long int __n); -extern char *__dngettext (const char *__domainname, - const char *__msgid1, const char *__msgid2, - unsigned long int n); -extern char *__dcngettext (const char *__domainname, - const char *__msgid1, const char *__msgid2, - unsigned long int __n, int __category); -extern char *__dcigettext (const char *__domainname, - const char *__msgid1, const char *__msgid2, - int __plural, unsigned long int __n, - int __category); -extern char *__textdomain (const char *__domainname); -extern char *__bindtextdomain (const char *__domainname, - const char *__dirname); -extern char *__bind_textdomain_codeset (const char *__domainname, - const char *__codeset); -extern void _nl_finddomain_subfreeres (void) attribute_hidden; -extern void _nl_unload_domain (struct loaded_domain *__domain) - internal_function attribute_hidden; +extern char *__gettext(const char *__msgid); +extern char *__dgettext(const char *__domainname, const char *__msgid); +extern char *__dcgettext(const char *__domainname, const char *__msgid, + int __category); +extern char *__ngettext(const char *__msgid1, const char *__msgid2, + unsigned long int __n); +extern char *__dngettext(const char *__domainname, + const char *__msgid1, const char *__msgid2, + unsigned long int n); +extern char *__dcngettext(const char *__domainname, + const char *__msgid1, const char *__msgid2, + unsigned long int __n, int __category); +extern char *__dcigettext(const char *__domainname, + const char *__msgid1, const char *__msgid2, + int __plural, unsigned long int __n, + int __category); +extern char *__textdomain(const char *__domainname); +extern char *__bindtextdomain(const char *__domainname, + const char *__dirname); +extern char *__bind_textdomain_codeset(const char *__domainname, + const char *__codeset); +extern void _nl_finddomain_subfreeres(void) attribute_hidden; +extern void _nl_unload_domain(struct loaded_domain *__domain) +internal_function attribute_hidden; #else /* Declare the exported libintl_* functions, in a way that allows us to call them under their real name. */ @@ -71,16 +71,16 @@ # define _INTL_REDIRECT_MACROS # include "libgnuintl.h" # ifdef IN_LIBGLOCALE -extern char *gl_dcigettext (const char *__domainname, - const char *__msgid1, const char *__msgid2, - int __plural, unsigned long int __n, - int __category, - const char *__localename, const char *__encoding); +extern char *gl_dcigettext(const char *__domainname, + const char *__msgid1, const char *__msgid2, + int __plural, unsigned long int __n, + int __category, + const char *__localename, const char *__encoding); # else -extern char *libintl_dcigettext (const char *__domainname, - const char *__msgid1, const char *__msgid2, - int __plural, unsigned long int __n, - int __category); +extern char *libintl_dcigettext(const char *__domainname, + const char *__msgid1, const char *__msgid2, + int __plural, unsigned long int __n, + int __category); # endif #endif @@ -115,10 +115,10 @@ #else static inline nls_uint32 # ifdef __cplusplus -SWAP (nls_uint32 i) +SWAP(nls_uint32 i) # else -SWAP (i) - nls_uint32 i; +SWAP(i) +nls_uint32 i; # endif { return (i << 24) | ((i & 0xff00) << 8) | ((i >> 8) & 0xff00) | (i >> 24); @@ -127,8 +127,7 @@ /* In-memory representation of system dependent string. */ -struct sysdep_string_desc -{ +struct sysdep_string_desc { /* Length of addressed string, including the trailing NUL. */ size_t length; /* Pointer to addressed string. */ @@ -138,8 +137,7 @@ /* Cache of translated strings after charset conversion. Note: The strings are converted to the target encoding only on an as-needed basis. */ -struct converted_domain -{ +struct converted_domain { /* The target encoding name. */ const char *encoding; /* The descriptor for conversion from the message catalog's encoding to @@ -156,8 +154,7 @@ }; /* The representation of an opened message catalog. */ -struct loaded_domain -{ +struct loaded_domain { /* Pointer to memory containing the .mo file. */ const char *data; /* 1 if the memory is mmap()ed, 0 if the memory is malloc()ed. */ @@ -193,7 +190,7 @@ /* Cache of charset conversions of the translated strings. */ struct converted_domain *conversions; size_t nconversions; - gl_rwlock_define (, conversions_lock) + gl_rwlock_define(, conversions_lock) const struct expression *plural; unsigned long int nplurals; @@ -209,8 +206,7 @@ /* A set of settings bound to a message domain. Used to store settings from bindtextdomain() and bind_textdomain_codeset(). */ -struct binding -{ +struct binding { struct binding *next; char *dirname; char *codeset; @@ -228,37 +224,37 @@ #endif #ifndef _LIBC -extern const char *_nl_language_preferences_default (void); +extern const char *_nl_language_preferences_default(void); # define gl_locale_name_canonicalize _nl_locale_name_canonicalize -extern void _nl_locale_name_canonicalize (char *name); +extern void _nl_locale_name_canonicalize(char *name); # define gl_locale_name_posix _nl_locale_name_posix -extern const char *_nl_locale_name_posix (int category, - const char *categoryname); +extern const char *_nl_locale_name_posix(int category, + const char *categoryname); # define gl_locale_name_default _nl_locale_name_default -extern const char *_nl_locale_name_default (void); +extern const char *_nl_locale_name_default(void); # define gl_locale_name _nl_locale_name -extern const char *_nl_locale_name (int category, const char *categoryname); +extern const char *_nl_locale_name(int category, const char *categoryname); #endif -struct loaded_l10nfile *_nl_find_domain (const char *__dirname, char *__locale, - const char *__domainname, - struct binding *__domainbinding) - internal_function; -void _nl_load_domain (struct loaded_l10nfile *__domain, - struct binding *__domainbinding) - internal_function; +struct loaded_l10nfile *_nl_find_domain(const char *__dirname, char *__locale, + const char *__domainname, + struct binding *__domainbinding) +internal_function; +void _nl_load_domain(struct loaded_l10nfile *__domain, + struct binding *__domainbinding) +internal_function; #ifdef IN_LIBGLOCALE -char *_nl_find_msg (struct loaded_l10nfile *domain_file, - struct binding *domainbinding, const char *encoding, - const char *msgid, - size_t *lengthp) - internal_function; +char *_nl_find_msg(struct loaded_l10nfile *domain_file, + struct binding *domainbinding, const char *encoding, + const char *msgid, + size_t *lengthp) +internal_function; #else -char *_nl_find_msg (struct loaded_l10nfile *domain_file, - struct binding *domainbinding, const char *msgid, - int convert, size_t *lengthp) - internal_function; +char *_nl_find_msg(struct loaded_l10nfile *domain_file, + struct binding *domainbinding, const char *msgid, + int convert, size_t *lengthp) +internal_function; #endif /* The internal variables in the standalone libintl.a must have different @@ -272,7 +268,7 @@ /* Contains the default location of the message catalogs. */ extern const char _nl_default_dirname[]; #ifdef _LIBC -libc_hidden_proto (_nl_default_dirname) +libc_hidden_proto(_nl_default_dirname) #endif /* List with bindings of specific domains. */
View file
LiVES-2.8.4.tar.bz2/intl/gmo.h -> LiVES-2.8.6.tar.bz2/intl/gmo.h
Changed
@@ -61,17 +61,16 @@ # if ULONG_MAX == UINT_MAX_32_BITS typedef unsigned long nls_uint32; # else - /* The following line is intended to throw an error. Using #error is - not portable enough. */ - "Cannot determine unsigned 32-bit data type." +/* The following line is intended to throw an error. Using #error is + not portable enough. */ +"Cannot determine unsigned 32-bit data type." # endif # endif #endif /* Header for binary .mo file format. */ -struct mo_file_header -{ +struct mo_file_header { /* The magic number. */ nls_uint32 magic; /* The revision number of the file format. */ @@ -105,8 +104,7 @@ }; /* Descriptor for static string contained in the binary .mo file. */ -struct string_desc -{ +struct string_desc { /* Length of addressed string, not including the trailing NUL. */ nls_uint32 length; /* Offset of string in file. */ @@ -116,8 +114,7 @@ /* The following are only used in .mo files with minor revision >= 1. */ /* Descriptor for system dependent string segment. */ -struct sysdep_segment -{ +struct sysdep_segment { /* Length of addressed string, including the trailing NUL. */ nls_uint32 length; /* Offset of string in file. */ @@ -125,8 +122,7 @@ }; /* Pair of a static and a system dependent segment, in struct sysdep_string. */ -struct segment_pair -{ +struct segment_pair { /* Size of static segment. */ nls_uint32 segsize; /* Reference to system dependent string segment, or ~0 at the end. */ @@ -134,8 +130,7 @@ }; /* Descriptor for system dependent string. */ -struct sysdep_string -{ +struct sysdep_string { /* Offset of static string segments in file. */ nls_uint32 offset; /* Alternating sequence of static and system dependent segments.
View file
LiVES-2.8.4.tar.bz2/intl/hash-string.c -> LiVES-2.8.6.tar.bz2/intl/hash-string.c
Changed
@@ -29,23 +29,20 @@ [see Aho/Sethi/Ullman, COMPILERS: Principles, Techniques and Tools, 1986, 1987 Bell Telephone Laboratories, Inc.] */ unsigned long int -__hash_string (const char *str_param) -{ +__hash_string(const char *str_param) { unsigned long int hval, g; const char *str = str_param; /* Compute the hash value for the given string. */ hval = 0; - while (*str != '\0') - { - hval <<= 4; - hval += (unsigned char) *str++; - g = hval & ((unsigned long int) 0xf << (HASHWORDBITS - 4)); - if (g != 0) - { - hval ^= g >> (HASHWORDBITS - 8); - hval ^= g; - } + while (*str != '\0') { + hval <<= 4; + hval += (unsigned char) * str++; + g = hval & ((unsigned long int) 0xf << (HASHWORDBITS - 4)); + if (g != 0) { + hval ^= g >> (HASHWORDBITS - 8); + hval ^= g; } + } return hval; }
View file
LiVES-2.8.4.tar.bz2/intl/hash-string.h -> LiVES-2.8.6.tar.bz2/intl/hash-string.h
Changed
@@ -33,4 +33,4 @@ /* Defines the so called `hashpjw' function by P.J. Weinberger [see Aho/Sethi/Ullman, COMPILERS: Principles, Techniques and Tools, 1986, 1987 Bell Telephone Laboratories, Inc.] */ -extern unsigned long int __hash_string (const char *str_param); +extern unsigned long int __hash_string(const char *str_param);
View file
LiVES-2.8.4.tar.bz2/intl/intl-compat.c -> LiVES-2.8.6.tar.bz2/intl/intl-compat.c
Changed
@@ -60,74 +60,65 @@ DLL_EXPORTED char * -gettext (const char *msgid) -{ - return libintl_gettext (msgid); +gettext(const char *msgid) { + return libintl_gettext(msgid); } DLL_EXPORTED char * -dgettext (const char *domainname, const char *msgid) -{ - return libintl_dgettext (domainname, msgid); +dgettext(const char *domainname, const char *msgid) { + return libintl_dgettext(domainname, msgid); } DLL_EXPORTED char * -dcgettext (const char *domainname, const char *msgid, int category) -{ - return libintl_dcgettext (domainname, msgid, category); +dcgettext(const char *domainname, const char *msgid, int category) { + return libintl_dcgettext(domainname, msgid, category); } DLL_EXPORTED char * -ngettext (const char *msgid1, const char *msgid2, unsigned long int n) -{ - return libintl_ngettext (msgid1, msgid2, n); +ngettext(const char *msgid1, const char *msgid2, unsigned long int n) { + return libintl_ngettext(msgid1, msgid2, n); } DLL_EXPORTED char * -dngettext (const char *domainname, - const char *msgid1, const char *msgid2, unsigned long int n) -{ - return libintl_dngettext (domainname, msgid1, msgid2, n); +dngettext(const char *domainname, + const char *msgid1, const char *msgid2, unsigned long int n) { + return libintl_dngettext(domainname, msgid1, msgid2, n); } DLL_EXPORTED char * -dcngettext (const char *domainname, - const char *msgid1, const char *msgid2, unsigned long int n, - int category) -{ - return libintl_dcngettext (domainname, msgid1, msgid2, n, category); +dcngettext(const char *domainname, + const char *msgid1, const char *msgid2, unsigned long int n, + int category) { + return libintl_dcngettext(domainname, msgid1, msgid2, n, category); } DLL_EXPORTED char * -textdomain (const char *domainname) -{ - return libintl_textdomain (domainname); +textdomain(const char *domainname) { + return libintl_textdomain(domainname); } DLL_EXPORTED char * -bindtextdomain (const char *domainname, const char *dirname) -{ - return libintl_bindtextdomain (domainname, dirname); +bindtextdomain(const char *domainname, const char *dirname) { + return libintl_bindtextdomain(domainname, dirname); } DLL_EXPORTED char * -bind_textdomain_codeset (const char *domainname, const char *codeset) -{ - return libintl_bind_textdomain_codeset (domainname, codeset); +bind_textdomain_codeset(const char *domainname, const char *codeset) { + return libintl_bind_textdomain_codeset(domainname, codeset); }
View file
LiVES-2.8.4.tar.bz2/intl/intl-exports.c -> LiVES-2.8.6.tar.bz2/intl/intl-exports.c
Changed
@@ -17,11 +17,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - /* IMP(x) is a symbol that contains the address of x. */ +/* IMP(x) is a symbol that contains the address of x. */ #define IMP(x) _imp__##x - /* Ensure that the variable x is exported from the library, and that a - pseudo-variable IMP(x) is available. */ +/* Ensure that the variable x is exported from the library, and that a + pseudo-variable IMP(x) is available. */ #define VARIABLE(x) \ /* Export x without redefining x. This code was found by compiling a \ snippet: \
View file
LiVES-2.8.4.tar.bz2/intl/l10nflist.c -> LiVES-2.8.6.tar.bz2/intl/l10nflist.c
Changed
@@ -58,7 +58,7 @@ # endif #else # ifndef HAVE_STPCPY -static char *stpcpy (char *dest, const char *src); +static char *stpcpy(char *dest, const char *src); # endif #endif @@ -68,14 +68,14 @@ it may be concatenated to a directory pathname. */ #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ - /* Win32, Cygwin, OS/2, DOS */ +/* Win32, Cygwin, OS/2, DOS */ # define ISSLASH(C) ((C) == '/' || (C) == '\\') # define HAS_DEVICE(P) \ ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \ && (P)[1] == ':') # define IS_ABSOLUTE_PATH(P) (ISSLASH ((P)[0]) || HAS_DEVICE (P)) #else - /* Unix */ +/* Unix */ # define ISSLASH(C) ((C) == '/') # define IS_ABSOLUTE_PATH(P) ISSLASH ((P)[0]) #endif @@ -90,16 +90,14 @@ #else /* Returns the number of strings in ARGZ. */ static size_t -argz_count__ (const char *argz, size_t len) -{ +argz_count__(const char *argz, size_t len) { size_t count = 0; - while (len > 0) - { - size_t part_len = strlen (argz); - argz += part_len + 1; - len -= part_len + 1; - count++; - } + while (len > 0) { + size_t part_len = strlen(argz); + argz += part_len + 1; + len -= part_len + 1; + count++; + } return count; } # undef __argz_count @@ -116,16 +114,14 @@ /* Make '\0' separated arg vector ARGZ printable by converting all the '\0's except the last into the character SEP. */ static void -argz_stringify__ (char *argz, size_t len, int sep) -{ - while (len > 0) - { - size_t part_len = strlen (argz); - argz += part_len; - len -= part_len + 1; - if (len > 0) - *argz++ = sep; - } +argz_stringify__(char *argz, size_t len, int sep) { + while (len > 0) { + size_t part_len = strlen(argz); + argz += part_len; + len -= part_len + 1; + if (len > 0) + *argz++ = sep; + } } # undef __argz_stringify # define __argz_stringify(argz, len, sep) argz_stringify__ (argz, len, sep) @@ -137,20 +133,16 @@ # define __argz_next argz_next #else static char * -argz_next__ (char *argz, size_t argz_len, const char *entry) -{ - if (entry) - { - if (entry < argz + argz_len) - entry = strchr (entry, '\0') + 1; - - return entry >= argz + argz_len ? NULL : (char *) entry; - } +argz_next__(char *argz, size_t argz_len, const char *entry) { + if (entry) { + if (entry < argz + argz_len) + entry = strchr(entry, '\0') + 1; + + return entry >= argz + argz_len ? NULL : (char *) entry; + } else if (argz_len > 0) + return argz; else - if (argz_len > 0) - return argz; - else - return 0; + return 0; } # undef __argz_next # define __argz_next(argz, len, entry) argz_next__ (argz, len, entry) @@ -159,8 +151,7 @@ /* Return number of bits set in X. */ static inline int -pop (int x) -{ +pop(int x) { /* We assume that no more than 16 bits are used. */ x = ((x & ~0x5555) >> 1) + (x & 0x5555); x = ((x & ~0x3333) >> 2) + (x & 0x3333); @@ -172,13 +163,12 @@  struct loaded_l10nfile * -_nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list, - const char *dirlist, size_t dirlist_len, - int mask, const char *language, const char *territory, - const char *codeset, const char *normalized_codeset, - const char *modifier, - const char *filename, int do_allocate) -{ +_nl_make_l10nflist(struct loaded_l10nfile **l10nfile_list, + const char *dirlist, size_t dirlist_len, + int mask, const char *language, const char *territory, + const char *codeset, const char *normalized_codeset, + const char *modifier, + const char *filename, int do_allocate) { char *abs_filename; struct loaded_l10nfile **lastp; struct loaded_l10nfile *retval; @@ -189,100 +179,91 @@ /* If LANGUAGE contains an absolute directory specification, we ignore DIRLIST. */ - if (IS_ABSOLUTE_PATH (language)) + if (IS_ABSOLUTE_PATH(language)) dirlist_len = 0; /* Allocate room for the full file name. */ - abs_filename = (char *) malloc (dirlist_len - + strlen (language) - + ((mask & XPG_TERRITORY) != 0 - ? strlen (territory) + 1 : 0) - + ((mask & XPG_CODESET) != 0 - ? strlen (codeset) + 1 : 0) - + ((mask & XPG_NORM_CODESET) != 0 - ? strlen (normalized_codeset) + 1 : 0) - + ((mask & XPG_MODIFIER) != 0 - ? strlen (modifier) + 1 : 0) - + 1 + strlen (filename) + 1); + abs_filename = (char *) malloc(dirlist_len + + strlen(language) + + ((mask & XPG_TERRITORY) != 0 + ? strlen(territory) + 1 : 0) + + ((mask & XPG_CODESET) != 0 + ? strlen(codeset) + 1 : 0) + + ((mask & XPG_NORM_CODESET) != 0 + ? strlen(normalized_codeset) + 1 : 0) + + ((mask & XPG_MODIFIER) != 0 + ? strlen(modifier) + 1 : 0) + + 1 + strlen(filename) + 1); if (abs_filename == NULL) return NULL; /* Construct file name. */ cp = abs_filename; - if (dirlist_len > 0) - { - memcpy (cp, dirlist, dirlist_len); - __argz_stringify (cp, dirlist_len, PATH_SEPARATOR); - cp += dirlist_len; - cp[-1] = '/'; - } - - cp = stpcpy (cp, language); - - if ((mask & XPG_TERRITORY) != 0) - { - *cp++ = '_'; - cp = stpcpy (cp, territory); - } - if ((mask & XPG_CODESET) != 0) - { - *cp++ = '.'; - cp = stpcpy (cp, codeset); - } - if ((mask & XPG_NORM_CODESET) != 0) - { - *cp++ = '.'; - cp = stpcpy (cp, normalized_codeset); - } - if ((mask & XPG_MODIFIER) != 0) - { - *cp++ = '@'; - cp = stpcpy (cp, modifier); - } + if (dirlist_len > 0) { + memcpy(cp, dirlist, dirlist_len); + __argz_stringify(cp, dirlist_len, PATH_SEPARATOR); + cp += dirlist_len; + cp[-1] = '/'; + } + + cp = stpcpy(cp, language); + + if ((mask & XPG_TERRITORY) != 0) { + *cp++ = '_'; + cp = stpcpy(cp, territory); + } + if ((mask & XPG_CODESET) != 0) { + *cp++ = '.'; + cp = stpcpy(cp, codeset); + } + if ((mask & XPG_NORM_CODESET) != 0) { + *cp++ = '.'; + cp = stpcpy(cp, normalized_codeset); + } + if ((mask & XPG_MODIFIER) != 0) { + *cp++ = '@'; + cp = stpcpy(cp, modifier); + } *cp++ = '/'; - stpcpy (cp, filename); + stpcpy(cp, filename); /* Look in list of already loaded domains whether it is already available. */ lastp = l10nfile_list; for (retval = *l10nfile_list; retval != NULL; retval = retval->next) - if (retval->filename != NULL) - { - int compare = strcmp (retval->filename, abs_filename); - if (compare == 0) - /* We found it! */ - break; - if (compare < 0) - { - /* It's not in the list. */ - retval = NULL; - break; - } - - lastp = &retval->next; + if (retval->filename != NULL) { + int compare = strcmp(retval->filename, abs_filename); + if (compare == 0) + /* We found it! */ + break; + if (compare < 0) { + /* It's not in the list. */ + retval = NULL; + break; } - if (retval != NULL || do_allocate == 0) - { - free (abs_filename); - return retval; + lastp = &retval->next; } - dirlist_count = (dirlist_len > 0 ? __argz_count (dirlist, dirlist_len) : 1); + if (retval != NULL || do_allocate == 0) { + free(abs_filename); + return retval; + } + + dirlist_count = (dirlist_len > 0 ? __argz_count(dirlist, dirlist_len) : 1); /* Allocate a new loaded_l10nfile. */ retval = (struct loaded_l10nfile *) - malloc (sizeof (*retval) - + (((dirlist_count << pop (mask)) + (dirlist_count > 1 ? 1 : 0)) - * sizeof (struct loaded_l10nfile *))); - if (retval == NULL) - { - free (abs_filename); - return NULL; - } + malloc(sizeof(*retval) + + (((dirlist_count << pop(mask)) + (dirlist_count > 1 ? 1 : 0)) + * sizeof(struct loaded_l10nfile *))); + if (retval == NULL) { + free(abs_filename); + return NULL; + } retval->filename = abs_filename; @@ -291,8 +272,8 @@ correspond to a real file (dirlist_count > 1) or is not worth looking up (if an unnormalized codeset was specified). */ retval->decided = (dirlist_count > 1 - || ((mask & XPG_CODESET) != 0 - && (mask & XPG_NORM_CODESET) != 0)); + || ((mask & XPG_CODESET) != 0 + && (mask & XPG_NORM_CODESET) != 0)); retval->data = NULL; retval->next = *lastp; @@ -313,27 +294,24 @@ normalized_codeset. */ for (cnt = dirlist_count > 1 ? mask : mask - 1; cnt >= 0; --cnt) if ((cnt & ~mask) == 0 - && !((cnt & XPG_CODESET) != 0 && (cnt & XPG_NORM_CODESET) != 0)) - { - if (dirlist_count > 1) - { - /* Iterate over all elements of the DIRLIST. */ - char *dir = NULL; - - while ((dir = __argz_next ((char *) dirlist, dirlist_len, dir)) - != NULL) - retval->successor[entries++] - = _nl_make_l10nflist (l10nfile_list, dir, strlen (dir) + 1, - cnt, language, territory, codeset, - normalized_codeset, modifier, filename, - 1); - } - else - retval->successor[entries++] - = _nl_make_l10nflist (l10nfile_list, dirlist, dirlist_len, - cnt, language, territory, codeset, - normalized_codeset, modifier, filename, 1); - } + && !((cnt & XPG_CODESET) != 0 && (cnt & XPG_NORM_CODESET) != 0)) { + if (dirlist_count > 1) { + /* Iterate over all elements of the DIRLIST. */ + char *dir = NULL; + + while ((dir = __argz_next((char *) dirlist, dirlist_len, dir)) + != NULL) + retval->successor[entries++] + = _nl_make_l10nflist(l10nfile_list, dir, strlen(dir) + 1, + cnt, language, territory, codeset, + normalized_codeset, modifier, filename, + 1); + } else + retval->successor[entries++] + = _nl_make_l10nflist(l10nfile_list, dirlist, dirlist_len, + cnt, language, territory, codeset, + normalized_codeset, modifier, filename, 1); + } retval->successor[entries] = NULL; return retval; @@ -344,8 +322,7 @@ names. The return value is dynamically allocated and has to be freed by the caller. */ const char * -_nl_normalize_codeset (const char *codeset, size_t name_len) -{ +_nl_normalize_codeset(const char *codeset, size_t name_len) { int len = 0; int only_digit = 1; char *retval; @@ -353,31 +330,29 @@ size_t cnt; for (cnt = 0; cnt < name_len; ++cnt) - if (isalnum ((unsigned char) codeset[cnt])) - { - ++len; + if (isalnum((unsigned char) codeset[cnt])) { + ++len; - if (isalpha ((unsigned char) codeset[cnt])) - only_digit = 0; - } + if (isalpha((unsigned char) codeset[cnt])) + only_digit = 0; + } - retval = (char *) malloc ((only_digit ? 3 : 0) + len + 1); + retval = (char *) malloc((only_digit ? 3 : 0) + len + 1); - if (retval != NULL) - { - if (only_digit) - wp = stpcpy (retval, "iso"); - else - wp = retval; + if (retval != NULL) { + if (only_digit) + wp = stpcpy(retval, "iso"); + else + wp = retval; - for (cnt = 0; cnt < name_len; ++cnt) - if (isalpha ((unsigned char) codeset[cnt])) - *wp++ = tolower ((unsigned char) codeset[cnt]); - else if (isdigit ((unsigned char) codeset[cnt])) - *wp++ = codeset[cnt]; + for (cnt = 0; cnt < name_len; ++cnt) + if (isalpha((unsigned char) codeset[cnt])) + *wp++ = tolower((unsigned char) codeset[cnt]); + else if (isdigit((unsigned char) codeset[cnt])) + *wp++ = codeset[cnt]; - *wp = '\0'; - } + *wp = '\0'; + } return (const char *) retval; } @@ -391,8 +366,7 @@ to be defined. */ #if !_LIBC && !HAVE_STPCPY static char * -stpcpy (char *dest, const char *src) -{ +stpcpy(char *dest, const char *src) { while ((*dest++ = *src++) != '\0') /* Do nothing. */ ; return dest - 1;
View file
LiVES-2.8.4.tar.bz2/intl/langprefs.c -> LiVES-2.8.6.tar.bz2/intl/langprefs.c
Changed
@@ -30,7 +30,7 @@ # include <CoreFoundation/CFPropertyList.h> # include <CoreFoundation/CFArray.h> # include <CoreFoundation/CFString.h> -extern void _nl_locale_name_canonicalize (char *name); +extern void _nl_locale_name_canonicalize(char *name); #endif /* Determine the user's language preferences, as a colon separated list of @@ -41,86 +41,75 @@ already taken into account by the caller. */ const char * -_nl_language_preferences_default (void) -{ +_nl_language_preferences_default(void) { #if HAVE_CFPREFERENCESCOPYAPPVALUE /* MacOS X 10.2 or newer */ { /* Cache the preferences list, since CoreFoundation calls are expensive. */ static const char *cached_languages; static int cache_initialized; - if (!cache_initialized) - { - CFTypeRef preferences = - CFPreferencesCopyAppValue (CFSTR ("AppleLanguages"), - kCFPreferencesCurrentApplication); - if (preferences != NULL - && CFGetTypeID (preferences) == CFArrayGetTypeID ()) - { - CFArrayRef prefArray = (CFArrayRef)preferences; - int n = CFArrayGetCount (prefArray); - char buf[256]; - size_t size = 0; - int i; + if (!cache_initialized) { + CFTypeRef preferences = + CFPreferencesCopyAppValue(CFSTR("AppleLanguages"), + kCFPreferencesCurrentApplication); + if (preferences != NULL + && CFGetTypeID(preferences) == CFArrayGetTypeID()) { + CFArrayRef prefArray = (CFArrayRef)preferences; + int n = CFArrayGetCount(prefArray); + char buf[256]; + size_t size = 0; + int i; - for (i = 0; i < n; i++) - { - CFTypeRef element = CFArrayGetValueAtIndex (prefArray, i); - if (element != NULL - && CFGetTypeID (element) == CFStringGetTypeID () - && CFStringGetCString ((CFStringRef)element, - buf, sizeof (buf), - kCFStringEncodingASCII)) - { - _nl_locale_name_canonicalize (buf); - size += strlen (buf) + 1; - /* Most GNU programs use msgids in English and don't ship - an en.mo message catalog. Therefore when we see "en" - in the preferences list, arrange for gettext() to - return the msgid, and ignore all further elements of - the preferences list. */ - if (strcmp (buf, "en") == 0) - break; - } - else - break; - } - if (size > 0) - { - char *languages = (char *) malloc (size); + for (i = 0; i < n; i++) { + CFTypeRef element = CFArrayGetValueAtIndex(prefArray, i); + if (element != NULL + && CFGetTypeID(element) == CFStringGetTypeID() + && CFStringGetCString((CFStringRef)element, + buf, sizeof(buf), + kCFStringEncodingASCII)) { + _nl_locale_name_canonicalize(buf); + size += strlen(buf) + 1; + /* Most GNU programs use msgids in English and don't ship + an en.mo message catalog. Therefore when we see "en" + in the preferences list, arrange for gettext() to + return the msgid, and ignore all further elements of + the preferences list. */ + if (strcmp(buf, "en") == 0) + break; + } else + break; + } + if (size > 0) { + char *languages = (char *) malloc(size); - if (languages != NULL) - { - char *p = languages; + if (languages != NULL) { + char *p = languages; - for (i = 0; i < n; i++) - { - CFTypeRef element = - CFArrayGetValueAtIndex (prefArray, i); - if (element != NULL - && CFGetTypeID (element) == CFStringGetTypeID () - && CFStringGetCString ((CFStringRef)element, - buf, sizeof (buf), - kCFStringEncodingASCII)) - { - _nl_locale_name_canonicalize (buf); - strcpy (p, buf); - p += strlen (buf); - *p++ = ':'; - if (strcmp (buf, "en") == 0) - break; - } - else - break; - } - *--p = '\0'; + for (i = 0; i < n; i++) { + CFTypeRef element = + CFArrayGetValueAtIndex(prefArray, i); + if (element != NULL + && CFGetTypeID(element) == CFStringGetTypeID() + && CFStringGetCString((CFStringRef)element, + buf, sizeof(buf), + kCFStringEncodingASCII)) { + _nl_locale_name_canonicalize(buf); + strcpy(p, buf); + p += strlen(buf); + *p++ = ':'; + if (strcmp(buf, "en") == 0) + break; + } else + break; + } + *--p = '\0'; - cached_languages = languages; - } - } - } - cache_initialized = 1; + cached_languages = languages; + } + } } + cache_initialized = 1; + } if (cached_languages != NULL) return cached_languages; }
View file
LiVES-2.8.4.tar.bz2/intl/loadinfo.h -> LiVES-2.8.6.tar.bz2/intl/loadinfo.h
Changed
@@ -48,10 +48,10 @@ /* Separator in PATH like lists of pathnames. */ #if ((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) || defined __EMX__ || defined __DJGPP__ - /* Win32, OS/2, DOS */ +/* Win32, OS/2, DOS */ # define PATH_SEPARATOR ';' #else - /* Unix */ +/* Unix */ # define PATH_SEPARATOR ':' #endif @@ -62,8 +62,7 @@ #define XPG_MODIFIER 8 -struct loaded_l10nfile -{ +struct loaded_l10nfile { const char *filename; int decided; @@ -78,8 +77,8 @@ names. Normalization allows the user to use any of the common names. The return value is dynamically allocated and has to be freed by the caller. */ -extern const char *_nl_normalize_codeset (const char *codeset, - size_t name_len); +extern const char *_nl_normalize_codeset(const char *codeset, + size_t name_len); /* Lookup a locale dependent file. *L10NFILE_LIST denotes a pool of lookup results of locale dependent @@ -96,18 +95,18 @@ furthermore its ->successor[] field contains a list of other lookup results from which this lookup result inherits. */ extern struct loaded_l10nfile * -_nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list, - const char *dirlist, size_t dirlist_len, int mask, - const char *language, const char *territory, - const char *codeset, const char *normalized_codeset, - const char *modifier, - const char *filename, int do_allocate); +_nl_make_l10nflist(struct loaded_l10nfile **l10nfile_list, + const char *dirlist, size_t dirlist_len, int mask, + const char *language, const char *territory, + const char *codeset, const char *normalized_codeset, + const char *modifier, + const char *filename, int do_allocate); /* Lookup the real locale name for a locale alias NAME, or NULL if NAME is not a locale alias (but possibly a real locale name). The return value is statically allocated and must not be freed. */ /* Part of the libintl ABI only for the sake of the gettext.m4 macro. */ -extern LIBINTL_DLL_EXPORTED const char *_nl_expand_alias (const char *name); +extern LIBINTL_DLL_EXPORTED const char *_nl_expand_alias(const char *name); /* Split a locale name NAME into its pieces: language, modifier, territory, codeset. @@ -124,9 +123,9 @@ XPG_CODESET for *CODESET, XPG_NORM_CODESET for *NORMALIZED_CODESET. */ -extern int _nl_explode_name (char *name, const char **language, - const char **modifier, const char **territory, - const char **codeset, - const char **normalized_codeset); +extern int _nl_explode_name(char *name, const char **language, + const char **modifier, const char **territory, + const char **codeset, + const char **normalized_codeset); #endif /* loadinfo.h */
View file
LiVES-2.8.4.tar.bz2/intl/loadmsgcat.c -> LiVES-2.8.6.tar.bz2/intl/loadmsgcat.c
Changed
@@ -46,10 +46,10 @@ # include <alloca.h> # else # ifdef _AIX - #pragma alloca +#pragma alloca # else # ifndef alloca -char *alloca (); +char *alloca(); # endif # endif # endif @@ -485,12 +485,12 @@ /* For systems that distinguish between text and binary I/O. O_BINARY is usually declared in <fcntl.h>. */ #if !defined O_BINARY && defined _O_BINARY - /* For MSC-compatible compilers. */ +/* For MSC-compatible compilers. */ # define O_BINARY _O_BINARY # define O_TEXT _O_TEXT #endif #ifdef __BEOS__ - /* BeOS 5 has O_BINARY and O_TEXT, but they have no effect. */ +/* BeOS 5 has O_BINARY and O_TEXT, but they have no effect. */ # undef O_BINARY # undef O_TEXT #endif @@ -508,267 +508,247 @@ /* Expand a system dependent string segment. Return NULL if unsupported. */ static const char * -get_sysdep_segment_value (const char *name) -{ +get_sysdep_segment_value(const char *name) { /* Test for an ISO C 99 section 7.8.1 format string directive. Syntax: P R I { d | i | o | u | x | X } { { | LEAST | FAST } { 8 | 16 | 32 | 64 } | MAX | PTR } */ /* We don't use a table of 14 times 6 'const char *' strings here, because data relocations cost startup time. */ - if (name[0] == 'P' && name[1] == 'R' && name[2] == 'I') - { - if (name[3] == 'd' || name[3] == 'i' || name[3] == 'o' || name[3] == 'u' - || name[3] == 'x' || name[3] == 'X') - { - if (name[4] == '8' && name[5] == '\0') - { - if (name[3] == 'd') - return PRId8; - if (name[3] == 'i') - return PRIi8; - if (name[3] == 'o') - return PRIo8; - if (name[3] == 'u') - return PRIu8; - if (name[3] == 'x') - return PRIx8; - if (name[3] == 'X') - return PRIX8; - abort (); - } - if (name[4] == '1' && name[5] == '6' && name[6] == '\0') - { - if (name[3] == 'd') - return PRId16; - if (name[3] == 'i') - return PRIi16; - if (name[3] == 'o') - return PRIo16; - if (name[3] == 'u') - return PRIu16; - if (name[3] == 'x') - return PRIx16; - if (name[3] == 'X') - return PRIX16; - abort (); - } - if (name[4] == '3' && name[5] == '2' && name[6] == '\0') - { - if (name[3] == 'd') - return PRId32; - if (name[3] == 'i') - return PRIi32; - if (name[3] == 'o') - return PRIo32; - if (name[3] == 'u') - return PRIu32; - if (name[3] == 'x') - return PRIx32; - if (name[3] == 'X') - return PRIX32; - abort (); - } - if (name[4] == '6' && name[5] == '4' && name[6] == '\0') - { - if (name[3] == 'd') - return PRId64; - if (name[3] == 'i') - return PRIi64; - if (name[3] == 'o') - return PRIo64; - if (name[3] == 'u') - return PRIu64; - if (name[3] == 'x') - return PRIx64; - if (name[3] == 'X') - return PRIX64; - abort (); - } - if (name[4] == 'L' && name[5] == 'E' && name[6] == 'A' - && name[7] == 'S' && name[8] == 'T') - { - if (name[9] == '8' && name[10] == '\0') - { - if (name[3] == 'd') - return PRIdLEAST8; - if (name[3] == 'i') - return PRIiLEAST8; - if (name[3] == 'o') - return PRIoLEAST8; - if (name[3] == 'u') - return PRIuLEAST8; - if (name[3] == 'x') - return PRIxLEAST8; - if (name[3] == 'X') - return PRIXLEAST8; - abort (); - } - if (name[9] == '1' && name[10] == '6' && name[11] == '\0') - { - if (name[3] == 'd') - return PRIdLEAST16; - if (name[3] == 'i') - return PRIiLEAST16; - if (name[3] == 'o') - return PRIoLEAST16; - if (name[3] == 'u') - return PRIuLEAST16; - if (name[3] == 'x') - return PRIxLEAST16; - if (name[3] == 'X') - return PRIXLEAST16; - abort (); - } - if (name[9] == '3' && name[10] == '2' && name[11] == '\0') - { - if (name[3] == 'd') - return PRIdLEAST32; - if (name[3] == 'i') - return PRIiLEAST32; - if (name[3] == 'o') - return PRIoLEAST32; - if (name[3] == 'u') - return PRIuLEAST32; - if (name[3] == 'x') - return PRIxLEAST32; - if (name[3] == 'X') - return PRIXLEAST32; - abort (); - } - if (name[9] == '6' && name[10] == '4' && name[11] == '\0') - { - if (name[3] == 'd') - return PRIdLEAST64; - if (name[3] == 'i') - return PRIiLEAST64; - if (name[3] == 'o') - return PRIoLEAST64; - if (name[3] == 'u') - return PRIuLEAST64; - if (name[3] == 'x') - return PRIxLEAST64; - if (name[3] == 'X') - return PRIXLEAST64; - abort (); - } - } - if (name[4] == 'F' && name[5] == 'A' && name[6] == 'S' - && name[7] == 'T') - { - if (name[8] == '8' && name[9] == '\0') - { - if (name[3] == 'd') - return PRIdFAST8; - if (name[3] == 'i') - return PRIiFAST8; - if (name[3] == 'o') - return PRIoFAST8; - if (name[3] == 'u') - return PRIuFAST8; - if (name[3] == 'x') - return PRIxFAST8; - if (name[3] == 'X') - return PRIXFAST8; - abort (); - } - if (name[8] == '1' && name[9] == '6' && name[10] == '\0') - { - if (name[3] == 'd') - return PRIdFAST16; - if (name[3] == 'i') - return PRIiFAST16; - if (name[3] == 'o') - return PRIoFAST16; - if (name[3] == 'u') - return PRIuFAST16; - if (name[3] == 'x') - return PRIxFAST16; - if (name[3] == 'X') - return PRIXFAST16; - abort (); - } - if (name[8] == '3' && name[9] == '2' && name[10] == '\0') - { - if (name[3] == 'd') - return PRIdFAST32; - if (name[3] == 'i') - return PRIiFAST32; - if (name[3] == 'o') - return PRIoFAST32; - if (name[3] == 'u') - return PRIuFAST32; - if (name[3] == 'x') - return PRIxFAST32; - if (name[3] == 'X') - return PRIXFAST32; - abort (); - } - if (name[8] == '6' && name[9] == '4' && name[10] == '\0') - { - if (name[3] == 'd') - return PRIdFAST64; - if (name[3] == 'i') - return PRIiFAST64; - if (name[3] == 'o') - return PRIoFAST64; - if (name[3] == 'u') - return PRIuFAST64; - if (name[3] == 'x') - return PRIxFAST64; - if (name[3] == 'X') - return PRIXFAST64; - abort (); - } - } - if (name[4] == 'M' && name[5] == 'A' && name[6] == 'X' - && name[7] == '\0') - { - if (name[3] == 'd') - return PRIdMAX; - if (name[3] == 'i') - return PRIiMAX; - if (name[3] == 'o') - return PRIoMAX; - if (name[3] == 'u') - return PRIuMAX; - if (name[3] == 'x') - return PRIxMAX; - if (name[3] == 'X') - return PRIXMAX; - abort (); - } - if (name[4] == 'P' && name[5] == 'T' && name[6] == 'R' - && name[7] == '\0') - { - if (name[3] == 'd') - return PRIdPTR; - if (name[3] == 'i') - return PRIiPTR; - if (name[3] == 'o') - return PRIoPTR; - if (name[3] == 'u') - return PRIuPTR; - if (name[3] == 'x') - return PRIxPTR; - if (name[3] == 'X') - return PRIXPTR; - abort (); - } - } + if (name[0] == 'P' && name[1] == 'R' && name[2] == 'I') { + if (name[3] == 'd' || name[3] == 'i' || name[3] == 'o' || name[3] == 'u' + || name[3] == 'x' || name[3] == 'X') { + if (name[4] == '8' && name[5] == '\0') { + if (name[3] == 'd') + return PRId8; + if (name[3] == 'i') + return PRIi8; + if (name[3] == 'o') + return PRIo8; + if (name[3] == 'u') + return PRIu8; + if (name[3] == 'x') + return PRIx8; + if (name[3] == 'X') + return PRIX8; + abort(); + } + if (name[4] == '1' && name[5] == '6' && name[6] == '\0') { + if (name[3] == 'd') + return PRId16; + if (name[3] == 'i') + return PRIi16; + if (name[3] == 'o') + return PRIo16; + if (name[3] == 'u') + return PRIu16; + if (name[3] == 'x') + return PRIx16; + if (name[3] == 'X') + return PRIX16; + abort(); + } + if (name[4] == '3' && name[5] == '2' && name[6] == '\0') { + if (name[3] == 'd') + return PRId32; + if (name[3] == 'i') + return PRIi32; + if (name[3] == 'o') + return PRIo32; + if (name[3] == 'u') + return PRIu32; + if (name[3] == 'x') + return PRIx32; + if (name[3] == 'X') + return PRIX32; + abort(); + } + if (name[4] == '6' && name[5] == '4' && name[6] == '\0') { + if (name[3] == 'd') + return PRId64; + if (name[3] == 'i') + return PRIi64; + if (name[3] == 'o') + return PRIo64; + if (name[3] == 'u') + return PRIu64; + if (name[3] == 'x') + return PRIx64; + if (name[3] == 'X') + return PRIX64; + abort(); + } + if (name[4] == 'L' && name[5] == 'E' && name[6] == 'A' + && name[7] == 'S' && name[8] == 'T') { + if (name[9] == '8' && name[10] == '\0') { + if (name[3] == 'd') + return PRIdLEAST8; + if (name[3] == 'i') + return PRIiLEAST8; + if (name[3] == 'o') + return PRIoLEAST8; + if (name[3] == 'u') + return PRIuLEAST8; + if (name[3] == 'x') + return PRIxLEAST8; + if (name[3] == 'X') + return PRIXLEAST8; + abort(); + } + if (name[9] == '1' && name[10] == '6' && name[11] == '\0') { + if (name[3] == 'd') + return PRIdLEAST16; + if (name[3] == 'i') + return PRIiLEAST16; + if (name[3] == 'o') + return PRIoLEAST16; + if (name[3] == 'u') + return PRIuLEAST16; + if (name[3] == 'x') + return PRIxLEAST16; + if (name[3] == 'X') + return PRIXLEAST16; + abort(); + } + if (name[9] == '3' && name[10] == '2' && name[11] == '\0') { + if (name[3] == 'd') + return PRIdLEAST32; + if (name[3] == 'i') + return PRIiLEAST32; + if (name[3] == 'o') + return PRIoLEAST32; + if (name[3] == 'u') + return PRIuLEAST32; + if (name[3] == 'x') + return PRIxLEAST32; + if (name[3] == 'X') + return PRIXLEAST32; + abort(); + } + if (name[9] == '6' && name[10] == '4' && name[11] == '\0') { + if (name[3] == 'd') + return PRIdLEAST64; + if (name[3] == 'i') + return PRIiLEAST64; + if (name[3] == 'o') + return PRIoLEAST64; + if (name[3] == 'u') + return PRIuLEAST64; + if (name[3] == 'x') + return PRIxLEAST64; + if (name[3] == 'X') + return PRIXLEAST64; + abort(); + } + } + if (name[4] == 'F' && name[5] == 'A' && name[6] == 'S' + && name[7] == 'T') { + if (name[8] == '8' && name[9] == '\0') { + if (name[3] == 'd') + return PRIdFAST8; + if (name[3] == 'i') + return PRIiFAST8; + if (name[3] == 'o') + return PRIoFAST8; + if (name[3] == 'u') + return PRIuFAST8; + if (name[3] == 'x') + return PRIxFAST8; + if (name[3] == 'X') + return PRIXFAST8; + abort(); + } + if (name[8] == '1' && name[9] == '6' && name[10] == '\0') { + if (name[3] == 'd') + return PRIdFAST16; + if (name[3] == 'i') + return PRIiFAST16; + if (name[3] == 'o') + return PRIoFAST16; + if (name[3] == 'u') + return PRIuFAST16; + if (name[3] == 'x') + return PRIxFAST16; + if (name[3] == 'X') + return PRIXFAST16; + abort(); + } + if (name[8] == '3' && name[9] == '2' && name[10] == '\0') { + if (name[3] == 'd') + return PRIdFAST32; + if (name[3] == 'i') + return PRIiFAST32; + if (name[3] == 'o') + return PRIoFAST32; + if (name[3] == 'u') + return PRIuFAST32; + if (name[3] == 'x') + return PRIxFAST32; + if (name[3] == 'X') + return PRIXFAST32; + abort(); + } + if (name[8] == '6' && name[9] == '4' && name[10] == '\0') { + if (name[3] == 'd') + return PRIdFAST64; + if (name[3] == 'i') + return PRIiFAST64; + if (name[3] == 'o') + return PRIoFAST64; + if (name[3] == 'u') + return PRIuFAST64; + if (name[3] == 'x') + return PRIxFAST64; + if (name[3] == 'X') + return PRIXFAST64; + abort(); + } + } + if (name[4] == 'M' && name[5] == 'A' && name[6] == 'X' + && name[7] == '\0') { + if (name[3] == 'd') + return PRIdMAX; + if (name[3] == 'i') + return PRIiMAX; + if (name[3] == 'o') + return PRIoMAX; + if (name[3] == 'u') + return PRIuMAX; + if (name[3] == 'x') + return PRIxMAX; + if (name[3] == 'X') + return PRIXMAX; + abort(); + } + if (name[4] == 'P' && name[5] == 'T' && name[6] == 'R' + && name[7] == '\0') { + if (name[3] == 'd') + return PRIdPTR; + if (name[3] == 'i') + return PRIiPTR; + if (name[3] == 'o') + return PRIoPTR; + if (name[3] == 'u') + return PRIuPTR; + if (name[3] == 'x') + return PRIxPTR; + if (name[3] == 'X') + return PRIXPTR; + abort(); + } } + } /* Test for a glibc specific printf() format directive flag. */ - if (name[0] == 'I' && name[1] == '\0') - { + if (name[0] == 'I' && name[1] == '\0') { #if defined _LIBC || __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) - /* The 'I' flag, in numeric format directives, replaces ASCII digits - with the 'outdigits' defined in the LC_CTYPE locale facet. This is - used for Farsi (Persian) and maybe Arabic. */ - return "I"; + /* The 'I' flag, in numeric format directives, replaces ASCII digits + with the 'outdigits' defined in the LC_CTYPE locale facet. This is + used for Farsi (Persian) and maybe Arabic. */ + return "I"; #else - return ""; + return ""; #endif - } + } /* Other system dependent strings are not valid. */ return NULL; } @@ -777,10 +757,9 @@ message catalog do nothing. */ void internal_function -_nl_load_domain (struct loaded_l10nfile *domain_file, - struct binding *domainbinding) -{ - __libc_lock_define_initialized_recursive (static, lock) +_nl_load_domain(struct loaded_l10nfile *domain_file, + struct binding *domainbinding) { + __libc_lock_define_initialized_recursive(static, lock) int fd = -1; size_t size; #ifdef _LIBC @@ -788,27 +767,26 @@ #else struct stat st; #endif - struct mo_file_header *data = (struct mo_file_header *) -1; + struct mo_file_header *data = (struct mo_file_header *) - 1; int use_mmap = 0; struct loaded_domain *domain; int revision; const char *nullentry; size_t nullentrylen; - __libc_lock_lock_recursive (lock); - if (domain_file->decided != 0) - { - /* There are two possibilities: + __libc_lock_lock_recursive(lock); + if (domain_file->decided != 0) { + /* There are two possibilities: - + this is the same thread calling again during this initialization - via _nl_find_msg. We have initialized everything this call needs. + + this is the same thread calling again during this initialization + via _nl_find_msg. We have initialized everything this call needs. - + this is another thread which tried to initialize this object. - Not necessary anymore since if the lock is available this - is finished. - */ - goto done; - } + + this is another thread which tried to initialize this object. + Not necessary anymore since if the lock is available this + is finished. + */ + goto done; + } domain_file->decided = -1; domain_file->data = NULL; @@ -825,86 +803,80 @@ goto out; /* Try to open the addressed file. */ - fd = open (domain_file->filename, O_RDONLY | O_BINARY); + fd = open(domain_file->filename, O_RDONLY | O_BINARY); if (fd == -1) goto out; /* We must know about the size of the file. */ if ( #ifdef _LIBC - __builtin_expect (fstat64 (fd, &st) != 0, 0) + __builtin_expect(fstat64(fd, &st) != 0, 0) #else - __builtin_expect (fstat (fd, &st) != 0, 0) + __builtin_expect(fstat(fd, &st) != 0, 0) #endif - || __builtin_expect ((size = (size_t) st.st_size) != st.st_size, 0) - || __builtin_expect (size < sizeof (struct mo_file_header), 0)) + || __builtin_expect((size = (size_t) st.st_size) != st.st_size, 0) + || __builtin_expect(size < sizeof(struct mo_file_header), 0)) /* Something went wrong. */ goto out; #ifdef HAVE_MMAP /* Now we are ready to load the file. If mmap() is available we try this first. If not available or it failed we try to load it. */ - data = (struct mo_file_header *) mmap (NULL, size, PROT_READ, - MAP_PRIVATE, fd, 0); - - if (__builtin_expect (data != (struct mo_file_header *) -1, 1)) - { - /* mmap() call was successful. */ - close (fd); - fd = -1; - use_mmap = 1; - } + data = (struct mo_file_header *) mmap(NULL, size, PROT_READ, + MAP_PRIVATE, fd, 0); + + if (__builtin_expect(data != (struct mo_file_header *) - 1, 1)) { + /* mmap() call was successful. */ + close(fd); + fd = -1; + use_mmap = 1; + } #endif /* If the data is not yet available (i.e. mmap'ed) we try to load it manually. */ - if (data == (struct mo_file_header *) -1) - { - size_t to_read; - char *read_ptr; - - data = (struct mo_file_header *) malloc (size); - if (data == NULL) - goto out; - - to_read = size; - read_ptr = (char *) data; - do - { - long int nb = (long int) read (fd, read_ptr, to_read); - if (nb <= 0) - { + if (data == (struct mo_file_header *) - 1) { + size_t to_read; + char *read_ptr; + + data = (struct mo_file_header *) malloc(size); + if (data == NULL) + goto out; + + to_read = size; + read_ptr = (char *) data; + do { + long int nb = (long int) read(fd, read_ptr, to_read); + if (nb <= 0) { #ifdef EINTR - if (nb == -1 && errno == EINTR) - continue; -#endif - goto out; - } - read_ptr += nb; - to_read -= nb; - } - while (to_read > 0); - - close (fd); - fd = -1; - } + if (nb == -1 && errno == EINTR) + continue; +#endif + goto out; + } + read_ptr += nb; + to_read -= nb; + } while (to_read > 0); + + close(fd); + fd = -1; + } /* Using the magic number we can test whether it really is a message catalog file. */ - if (__builtin_expect (data->magic != _MAGIC && data->magic != _MAGIC_SWAPPED, - 0)) - { - /* The magic number is wrong: not a message catalog file. */ + if (__builtin_expect(data->magic != _MAGIC && data->magic != _MAGIC_SWAPPED, + 0)) { + /* The magic number is wrong: not a message catalog file. */ #ifdef HAVE_MMAP - if (use_mmap) - munmap ((caddr_t) data, size); - else + if (use_mmap) + munmap((caddr_t) data, size); + else #endif - free (data); - goto out; - } + free(data); + goto out; + } - domain = (struct loaded_domain *) malloc (sizeof (struct loaded_domain)); + domain = (struct loaded_domain *) malloc(sizeof(struct loaded_domain)); if (domain == NULL) goto out; domain_file->data = domain; @@ -916,421 +888,388 @@ domain->malloced = NULL; /* Fill in the information about the available tables. */ - revision = W (domain->must_swap, data->revision); + revision = W(domain->must_swap, data->revision); /* We support only the major revisions 0 and 1. */ - switch (revision >> 16) - { + switch (revision >> 16) { + case 0: + case 1: + domain->nstrings = W(domain->must_swap, data->nstrings); + domain->orig_tab = (const struct string_desc *) + ((char *) data + W(domain->must_swap, data->orig_tab_offset)); + domain->trans_tab = (const struct string_desc *) + ((char *) data + W(domain->must_swap, data->trans_tab_offset)); + domain->hash_size = W(domain->must_swap, data->hash_tab_size); + domain->hash_tab = + (domain->hash_size > 2 + ? (const nls_uint32 *) + ((char *) data + W(domain->must_swap, data->hash_tab_offset)) + : NULL); + domain->must_swap_hash_tab = domain->must_swap; + + /* Now dispatch on the minor revision. */ + switch (revision & 0xffff) { case 0: - case 1: - domain->nstrings = W (domain->must_swap, data->nstrings); - domain->orig_tab = (const struct string_desc *) - ((char *) data + W (domain->must_swap, data->orig_tab_offset)); - domain->trans_tab = (const struct string_desc *) - ((char *) data + W (domain->must_swap, data->trans_tab_offset)); - domain->hash_size = W (domain->must_swap, data->hash_tab_size); - domain->hash_tab = - (domain->hash_size > 2 - ? (const nls_uint32 *) - ((char *) data + W (domain->must_swap, data->hash_tab_offset)) - : NULL); - domain->must_swap_hash_tab = domain->must_swap; - - /* Now dispatch on the minor revision. */ - switch (revision & 0xffff) - { - case 0: - domain->n_sysdep_strings = 0; - domain->orig_sysdep_tab = NULL; - domain->trans_sysdep_tab = NULL; - break; - case 1: - default: - { - nls_uint32 n_sysdep_strings; - - if (domain->hash_tab == NULL) - /* This is invalid. These minor revisions need a hash table. */ - goto invalid; - - n_sysdep_strings = - W (domain->must_swap, data->n_sysdep_strings); - if (n_sysdep_strings > 0) - { - nls_uint32 n_sysdep_segments; - const struct sysdep_segment *sysdep_segments; - const char **sysdep_segment_values; - const nls_uint32 *orig_sysdep_tab; - const nls_uint32 *trans_sysdep_tab; - nls_uint32 n_inmem_sysdep_strings; - size_t memneed; - char *mem; - struct sysdep_string_desc *inmem_orig_sysdep_tab; - struct sysdep_string_desc *inmem_trans_sysdep_tab; - nls_uint32 *inmem_hash_tab; - unsigned int i, j; - - /* Get the values of the system dependent segments. */ - n_sysdep_segments = - W (domain->must_swap, data->n_sysdep_segments); - sysdep_segments = (const struct sysdep_segment *) - ((char *) data - + W (domain->must_swap, data->sysdep_segments_offset)); - sysdep_segment_values = - (const char **) - alloca (n_sysdep_segments * sizeof (const char *)); - for (i = 0; i < n_sysdep_segments; i++) - { - const char *name = - (char *) data - + W (domain->must_swap, sysdep_segments[i].offset); - nls_uint32 namelen = - W (domain->must_swap, sysdep_segments[i].length); - - if (!(namelen > 0 && name[namelen - 1] == '\0')) - { - freea (sysdep_segment_values); - goto invalid; - } - - sysdep_segment_values[i] = get_sysdep_segment_value (name); - } - - orig_sysdep_tab = (const nls_uint32 *) - ((char *) data - + W (domain->must_swap, data->orig_sysdep_tab_offset)); - trans_sysdep_tab = (const nls_uint32 *) - ((char *) data - + W (domain->must_swap, data->trans_sysdep_tab_offset)); - - /* Compute the amount of additional memory needed for the - system dependent strings and the augmented hash table. - At the same time, also drop string pairs which refer to - an undefined system dependent segment. */ - n_inmem_sysdep_strings = 0; - memneed = domain->hash_size * sizeof (nls_uint32); - for (i = 0; i < n_sysdep_strings; i++) - { - int valid = 1; - size_t needs[2]; - - for (j = 0; j < 2; j++) - { - const struct sysdep_string *sysdep_string = - (const struct sysdep_string *) - ((char *) data - + W (domain->must_swap, - j == 0 - ? orig_sysdep_tab[i] - : trans_sysdep_tab[i])); - size_t need = 0; - const struct segment_pair *p = sysdep_string->segments; - - if (W (domain->must_swap, p->sysdepref) != SEGMENTS_END) - for (p = sysdep_string->segments;; p++) - { - nls_uint32 sysdepref; - - need += W (domain->must_swap, p->segsize); - - sysdepref = W (domain->must_swap, p->sysdepref); - if (sysdepref == SEGMENTS_END) - break; - - if (sysdepref >= n_sysdep_segments) - { - /* Invalid. */ - freea (sysdep_segment_values); - goto invalid; - } - - if (sysdep_segment_values[sysdepref] == NULL) - { - /* This particular string pair is invalid. */ - valid = 0; - break; - } - - need += strlen (sysdep_segment_values[sysdepref]); - } - - needs[j] = need; - if (!valid) - break; - } - - if (valid) - { - n_inmem_sysdep_strings++; - memneed += needs[0] + needs[1]; - } - } - memneed += 2 * n_inmem_sysdep_strings - * sizeof (struct sysdep_string_desc); - - if (n_inmem_sysdep_strings > 0) - { - unsigned int k; - - /* Allocate additional memory. */ - mem = (char *) malloc (memneed); - if (mem == NULL) - goto invalid; - - domain->malloced = mem; - inmem_orig_sysdep_tab = (struct sysdep_string_desc *) mem; - mem += n_inmem_sysdep_strings - * sizeof (struct sysdep_string_desc); - inmem_trans_sysdep_tab = (struct sysdep_string_desc *) mem; - mem += n_inmem_sysdep_strings - * sizeof (struct sysdep_string_desc); - inmem_hash_tab = (nls_uint32 *) mem; - mem += domain->hash_size * sizeof (nls_uint32); - - /* Compute the system dependent strings. */ - k = 0; - for (i = 0; i < n_sysdep_strings; i++) - { - int valid = 1; - - for (j = 0; j < 2; j++) - { - const struct sysdep_string *sysdep_string = - (const struct sysdep_string *) - ((char *) data - + W (domain->must_swap, - j == 0 - ? orig_sysdep_tab[i] - : trans_sysdep_tab[i])); - const struct segment_pair *p = - sysdep_string->segments; - - if (W (domain->must_swap, p->sysdepref) - != SEGMENTS_END) - for (p = sysdep_string->segments;; p++) - { - nls_uint32 sysdepref; - - sysdepref = - W (domain->must_swap, p->sysdepref); - if (sysdepref == SEGMENTS_END) - break; - - if (sysdep_segment_values[sysdepref] == NULL) - { - /* This particular string pair is - invalid. */ - valid = 0; - break; - } - } - - if (!valid) - break; - } - - if (valid) - { - for (j = 0; j < 2; j++) - { - const struct sysdep_string *sysdep_string = - (const struct sysdep_string *) - ((char *) data - + W (domain->must_swap, - j == 0 - ? orig_sysdep_tab[i] - : trans_sysdep_tab[i])); - const char *static_segments = - (char *) data - + W (domain->must_swap, sysdep_string->offset); - const struct segment_pair *p = - sysdep_string->segments; - - /* Concatenate the segments, and fill - inmem_orig_sysdep_tab[k] (for j == 0) and - inmem_trans_sysdep_tab[k] (for j == 1). */ - - struct sysdep_string_desc *inmem_tab_entry = - (j == 0 - ? inmem_orig_sysdep_tab - : inmem_trans_sysdep_tab) - + k; - - if (W (domain->must_swap, p->sysdepref) - == SEGMENTS_END) - { - /* Only one static segment. */ - inmem_tab_entry->length = - W (domain->must_swap, p->segsize); - inmem_tab_entry->pointer = static_segments; - } - else - { - inmem_tab_entry->pointer = mem; - - for (p = sysdep_string->segments;; p++) - { - nls_uint32 segsize = - W (domain->must_swap, p->segsize); - nls_uint32 sysdepref = - W (domain->must_swap, p->sysdepref); - size_t n; - - if (segsize > 0) - { - memcpy (mem, static_segments, segsize); - mem += segsize; - static_segments += segsize; - } - - if (sysdepref == SEGMENTS_END) - break; - - n = strlen (sysdep_segment_values[sysdepref]); - memcpy (mem, sysdep_segment_values[sysdepref], n); - mem += n; - } - - inmem_tab_entry->length = - mem - inmem_tab_entry->pointer; - } - } - - k++; - } - } - if (k != n_inmem_sysdep_strings) - abort (); - - /* Compute the augmented hash table. */ - for (i = 0; i < domain->hash_size; i++) - inmem_hash_tab[i] = - W (domain->must_swap_hash_tab, domain->hash_tab[i]); - for (i = 0; i < n_inmem_sysdep_strings; i++) - { - const char *msgid = inmem_orig_sysdep_tab[i].pointer; - nls_uint32 hash_val = __hash_string (msgid); - nls_uint32 idx = hash_val % domain->hash_size; - nls_uint32 incr = - 1 + (hash_val % (domain->hash_size - 2)); - - for (;;) - { - if (inmem_hash_tab[idx] == 0) - { - /* Hash table entry is empty. Use it. */ - inmem_hash_tab[idx] = 1 + domain->nstrings + i; - break; - } - - if (idx >= domain->hash_size - incr) - idx -= domain->hash_size - incr; - else - idx += incr; - } - } - - domain->n_sysdep_strings = n_inmem_sysdep_strings; - domain->orig_sysdep_tab = inmem_orig_sysdep_tab; - domain->trans_sysdep_tab = inmem_trans_sysdep_tab; - - domain->hash_tab = inmem_hash_tab; - domain->must_swap_hash_tab = 0; - } - else - { - domain->n_sysdep_strings = 0; - domain->orig_sysdep_tab = NULL; - domain->trans_sysdep_tab = NULL; - } - - freea (sysdep_segment_values); - } - else - { - domain->n_sysdep_strings = 0; - domain->orig_sysdep_tab = NULL; - domain->trans_sysdep_tab = NULL; - } - } - break; - } + domain->n_sysdep_strings = 0; + domain->orig_sysdep_tab = NULL; + domain->trans_sysdep_tab = NULL; break; - default: - /* This is an invalid revision. */ - invalid: - /* This is an invalid .mo file. */ - if (domain->malloced) - free (domain->malloced); + case 1: + default: { + nls_uint32 n_sysdep_strings; + + if (domain->hash_tab == NULL) + /* This is invalid. These minor revisions need a hash table. */ + goto invalid; + + n_sysdep_strings = + W(domain->must_swap, data->n_sysdep_strings); + if (n_sysdep_strings > 0) { + nls_uint32 n_sysdep_segments; + const struct sysdep_segment *sysdep_segments; + const char **sysdep_segment_values; + const nls_uint32 *orig_sysdep_tab; + const nls_uint32 *trans_sysdep_tab; + nls_uint32 n_inmem_sysdep_strings; + size_t memneed; + char *mem; + struct sysdep_string_desc *inmem_orig_sysdep_tab; + struct sysdep_string_desc *inmem_trans_sysdep_tab; + nls_uint32 *inmem_hash_tab; + unsigned int i, j; + + /* Get the values of the system dependent segments. */ + n_sysdep_segments = + W(domain->must_swap, data->n_sysdep_segments); + sysdep_segments = (const struct sysdep_segment *) + ((char *) data + + W(domain->must_swap, data->sysdep_segments_offset)); + sysdep_segment_values = + (const char **) + alloca(n_sysdep_segments * sizeof(const char *)); + for (i = 0; i < n_sysdep_segments; i++) { + const char *name = + (char *) data + + W(domain->must_swap, sysdep_segments[i].offset); + nls_uint32 namelen = + W(domain->must_swap, sysdep_segments[i].length); + + if (!(namelen > 0 && name[namelen - 1] == '\0')) { + freea(sysdep_segment_values); + goto invalid; + } + + sysdep_segment_values[i] = get_sysdep_segment_value(name); + } + + orig_sysdep_tab = (const nls_uint32 *) + ((char *) data + + W(domain->must_swap, data->orig_sysdep_tab_offset)); + trans_sysdep_tab = (const nls_uint32 *) + ((char *) data + + W(domain->must_swap, data->trans_sysdep_tab_offset)); + + /* Compute the amount of additional memory needed for the + system dependent strings and the augmented hash table. + At the same time, also drop string pairs which refer to + an undefined system dependent segment. */ + n_inmem_sysdep_strings = 0; + memneed = domain->hash_size * sizeof(nls_uint32); + for (i = 0; i < n_sysdep_strings; i++) { + int valid = 1; + size_t needs[2]; + + for (j = 0; j < 2; j++) { + const struct sysdep_string *sysdep_string = + (const struct sysdep_string *) + ((char *) data + + W(domain->must_swap, + j == 0 + ? orig_sysdep_tab[i] + : trans_sysdep_tab[i])); + size_t need = 0; + const struct segment_pair *p = sysdep_string->segments; + + if (W(domain->must_swap, p->sysdepref) != SEGMENTS_END) + for (p = sysdep_string->segments;; p++) { + nls_uint32 sysdepref; + + need += W(domain->must_swap, p->segsize); + + sysdepref = W(domain->must_swap, p->sysdepref); + if (sysdepref == SEGMENTS_END) + break; + + if (sysdepref >= n_sysdep_segments) { + /* Invalid. */ + freea(sysdep_segment_values); + goto invalid; + } + + if (sysdep_segment_values[sysdepref] == NULL) { + /* This particular string pair is invalid. */ + valid = 0; + break; + } + + need += strlen(sysdep_segment_values[sysdepref]); + } + + needs[j] = need; + if (!valid) + break; + } + + if (valid) { + n_inmem_sysdep_strings++; + memneed += needs[0] + needs[1]; + } + } + memneed += 2 * n_inmem_sysdep_strings + * sizeof(struct sysdep_string_desc); + + if (n_inmem_sysdep_strings > 0) { + unsigned int k; + + /* Allocate additional memory. */ + mem = (char *) malloc(memneed); + if (mem == NULL) + goto invalid; + + domain->malloced = mem; + inmem_orig_sysdep_tab = (struct sysdep_string_desc *) mem; + mem += n_inmem_sysdep_strings + * sizeof(struct sysdep_string_desc); + inmem_trans_sysdep_tab = (struct sysdep_string_desc *) mem; + mem += n_inmem_sysdep_strings + * sizeof(struct sysdep_string_desc); + inmem_hash_tab = (nls_uint32 *) mem; + mem += domain->hash_size * sizeof(nls_uint32); + + /* Compute the system dependent strings. */ + k = 0; + for (i = 0; i < n_sysdep_strings; i++) { + int valid = 1; + + for (j = 0; j < 2; j++) { + const struct sysdep_string *sysdep_string = + (const struct sysdep_string *) + ((char *) data + + W(domain->must_swap, + j == 0 + ? orig_sysdep_tab[i] + : trans_sysdep_tab[i])); + const struct segment_pair *p = + sysdep_string->segments; + + if (W(domain->must_swap, p->sysdepref) + != SEGMENTS_END) + for (p = sysdep_string->segments;; p++) { + nls_uint32 sysdepref; + + sysdepref = + W(domain->must_swap, p->sysdepref); + if (sysdepref == SEGMENTS_END) + break; + + if (sysdep_segment_values[sysdepref] == NULL) { + /* This particular string pair is + invalid. */ + valid = 0; + break; + } + } + + if (!valid) + break; + } + + if (valid) { + for (j = 0; j < 2; j++) { + const struct sysdep_string *sysdep_string = + (const struct sysdep_string *) + ((char *) data + + W(domain->must_swap, + j == 0 + ? orig_sysdep_tab[i] + : trans_sysdep_tab[i])); + const char *static_segments = + (char *) data + + W(domain->must_swap, sysdep_string->offset); + const struct segment_pair *p = + sysdep_string->segments; + + /* Concatenate the segments, and fill + inmem_orig_sysdep_tab[k] (for j == 0) and + inmem_trans_sysdep_tab[k] (for j == 1). */ + + struct sysdep_string_desc *inmem_tab_entry = + (j == 0 + ? inmem_orig_sysdep_tab + : inmem_trans_sysdep_tab) + + k; + + if (W(domain->must_swap, p->sysdepref) + == SEGMENTS_END) { + /* Only one static segment. */ + inmem_tab_entry->length = + W(domain->must_swap, p->segsize); + inmem_tab_entry->pointer = static_segments; + } else { + inmem_tab_entry->pointer = mem; + + for (p = sysdep_string->segments;; p++) { + nls_uint32 segsize = + W(domain->must_swap, p->segsize); + nls_uint32 sysdepref = + W(domain->must_swap, p->sysdepref); + size_t n; + + if (segsize > 0) { + memcpy(mem, static_segments, segsize); + mem += segsize; + static_segments += segsize; + } + + if (sysdepref == SEGMENTS_END) + break; + + n = strlen(sysdep_segment_values[sysdepref]); + memcpy(mem, sysdep_segment_values[sysdepref], n); + mem += n; + } + + inmem_tab_entry->length = + mem - inmem_tab_entry->pointer; + } + } + + k++; + } + } + if (k != n_inmem_sysdep_strings) + abort(); + + /* Compute the augmented hash table. */ + for (i = 0; i < domain->hash_size; i++) + inmem_hash_tab[i] = + W(domain->must_swap_hash_tab, domain->hash_tab[i]); + for (i = 0; i < n_inmem_sysdep_strings; i++) { + const char *msgid = inmem_orig_sysdep_tab[i].pointer; + nls_uint32 hash_val = __hash_string(msgid); + nls_uint32 idx = hash_val % domain->hash_size; + nls_uint32 incr = + 1 + (hash_val % (domain->hash_size - 2)); + + for (;;) { + if (inmem_hash_tab[idx] == 0) { + /* Hash table entry is empty. Use it. */ + inmem_hash_tab[idx] = 1 + domain->nstrings + i; + break; + } + + if (idx >= domain->hash_size - incr) + idx -= domain->hash_size - incr; + else + idx += incr; + } + } + + domain->n_sysdep_strings = n_inmem_sysdep_strings; + domain->orig_sysdep_tab = inmem_orig_sysdep_tab; + domain->trans_sysdep_tab = inmem_trans_sysdep_tab; + + domain->hash_tab = inmem_hash_tab; + domain->must_swap_hash_tab = 0; + } else { + domain->n_sysdep_strings = 0; + domain->orig_sysdep_tab = NULL; + domain->trans_sysdep_tab = NULL; + } + + freea(sysdep_segment_values); + } else { + domain->n_sysdep_strings = 0; + domain->orig_sysdep_tab = NULL; + domain->trans_sysdep_tab = NULL; + } + } + break; + } + break; + default: + /* This is an invalid revision. */ +invalid: + /* This is an invalid .mo file. */ + if (domain->malloced) + free(domain->malloced); #ifdef HAVE_MMAP - if (use_mmap) - munmap ((caddr_t) data, size); - else + if (use_mmap) + munmap((caddr_t) data, size); + else #endif - free (data); - free (domain); - domain_file->data = NULL; - goto out; - } + free(data); + free(domain); + domain_file->data = NULL; + goto out; + } /* No caches of converted translations so far. */ domain->conversions = NULL; domain->nconversions = 0; - gl_rwlock_init (domain->conversions_lock); + gl_rwlock_init(domain->conversions_lock); /* Get the header entry and look for a plural specification. */ #ifdef IN_LIBGLOCALE nullentry = - _nl_find_msg (domain_file, domainbinding, NULL, "", &nullentrylen); + _nl_find_msg(domain_file, domainbinding, NULL, "", &nullentrylen); #else - nullentry = _nl_find_msg (domain_file, domainbinding, "", 0, &nullentrylen); + nullentry = _nl_find_msg(domain_file, domainbinding, "", 0, &nullentrylen); #endif - EXTRACT_PLURAL_EXPRESSION (nullentry, &domain->plural, &domain->nplurals); + EXTRACT_PLURAL_EXPRESSION(nullentry, &domain->plural, &domain->nplurals); - out: +out: if (fd != -1) - close (fd); + close(fd); domain_file->decided = 1; - done: - __libc_lock_unlock_recursive (lock); +done: + __libc_lock_unlock_recursive(lock); } #ifdef _LIBC void internal_function __libc_freeres_fn_section -_nl_unload_domain (struct loaded_domain *domain) -{ +_nl_unload_domain(struct loaded_domain *domain) { size_t i; if (domain->plural != &__gettext_germanic_plural) - __gettext_free_exp ((struct expression *) domain->plural); + __gettext_free_exp((struct expression *) domain->plural); - for (i = 0; i < domain->nconversions; i++) - { - struct converted_domain *convd = &domain->conversions[i]; + for (i = 0; i < domain->nconversions; i++) { + struct converted_domain *convd = &domain->conversions[i]; - free (convd->encoding); - if (convd->conv_tab != NULL && convd->conv_tab != (char **) -1) - free (convd->conv_tab); - if (convd->conv != (__gconv_t) -1) - __gconv_close (convd->conv); - } + free(convd->encoding); + if (convd->conv_tab != NULL && convd->conv_tab != (char **) - 1) + free(convd->conv_tab); + if (convd->conv != (__gconv_t) - 1) + __gconv_close(convd->conv); + } if (domain->conversions != NULL) - free (domain->conversions); - __libc_rwlock_fini (domain->conversions_lock); + free(domain->conversions); + __libc_rwlock_fini(domain->conversions_lock); if (domain->malloced) - free (domain->malloced); + free(domain->malloced); # ifdef _POSIX_MAPPED_FILES if (domain->use_mmap) - munmap ((caddr_t) domain->data, domain->mmap_size); + munmap((caddr_t) domain->data, domain->mmap_size); else # endif /* _POSIX_MAPPED_FILES */ - free ((void *) domain->data); + free((void *) domain->data); - free (domain); + free(domain); } #endif
View file
LiVES-2.8.4.tar.bz2/intl/localcharset.c -> LiVES-2.8.6.tar.bz2/intl/localcharset.c
Changed
@@ -71,7 +71,7 @@ #endif #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ - /* Win32, Cygwin, OS/2, DOS */ +/* Win32, Cygwin, OS/2, DOS */ # define ISSLASH(C) ((C) == '/' || (C) == '\\') #endif @@ -100,176 +100,165 @@ /* Pointer to the contents of the charset.alias file, if it has already been read, else NULL. Its format is: ALIAS_1 '\0' CANONICAL_1 '\0' ... ALIAS_n '\0' CANONICAL_n '\0' '\0' */ -static const char * volatile charset_aliases; +static const char *volatile charset_aliases; /* Return a pointer to the contents of the charset.alias file. */ static const char * -get_charset_aliases (void) -{ +get_charset_aliases(void) { const char *cp; cp = charset_aliases; - if (cp == NULL) - { + if (cp == NULL) { #if !(defined VMS || defined WIN32_NATIVE || defined __CYGWIN__) - FILE *fp; - const char *dir; - const char *base = "charset.alias"; - char *file_name; - - /* Make it possible to override the charset.alias location. This is - necessary for running the testsuite before "make install". */ - dir = getenv ("CHARSETALIASDIR"); - if (dir == NULL || dir[0] == '\0') - dir = relocate (LIBDIR); - - /* Concatenate dir and base into freshly allocated file_name. */ - { - size_t dir_len = strlen (dir); - size_t base_len = strlen (base); - int add_slash = (dir_len > 0 && !ISSLASH (dir[dir_len - 1])); - file_name = (char *) malloc (dir_len + add_slash + base_len + 1); - if (file_name != NULL) - { - memcpy (file_name, dir, dir_len); - if (add_slash) - file_name[dir_len] = DIRECTORY_SEPARATOR; - memcpy (file_name + dir_len + add_slash, base, base_len + 1); - } + FILE *fp; + const char *dir; + const char *base = "charset.alias"; + char *file_name; + + /* Make it possible to override the charset.alias location. This is + necessary for running the testsuite before "make install". */ + dir = getenv("CHARSETALIASDIR"); + if (dir == NULL || dir[0] == '\0') + dir = relocate(LIBDIR); + + /* Concatenate dir and base into freshly allocated file_name. */ + { + size_t dir_len = strlen(dir); + size_t base_len = strlen(base); + int add_slash = (dir_len > 0 && !ISSLASH(dir[dir_len - 1])); + file_name = (char *) malloc(dir_len + add_slash + base_len + 1); + if (file_name != NULL) { + memcpy(file_name, dir, dir_len); + if (add_slash) + file_name[dir_len] = DIRECTORY_SEPARATOR; + memcpy(file_name + dir_len + add_slash, base, base_len + 1); + } + } + + if (file_name == NULL || (fp = fopen(file_name, "r")) == NULL) + /* Out of memory or file not found, treat it as empty. */ + cp = ""; + else { + /* Parse the file's contents. */ + char *res_ptr = NULL; + size_t res_size = 0; + + for (;;) { + int c; + char buf1[50 + 1]; + char buf2[50 + 1]; + size_t l1, l2; + char *old_res_ptr; + + c = getc(fp); + if (c == EOF) + break; + if (c == '\n' || c == ' ' || c == '\t') + continue; + if (c == '#') { + /* Skip comment, to end of line. */ + do + c = getc(fp); + while (!(c == EOF || c == '\n')); + if (c == EOF) + break; + continue; + } + ungetc(c, fp); + if (fscanf(fp, "%50s %50s", buf1, buf2) < 2) + break; + l1 = strlen(buf1); + l2 = strlen(buf2); + old_res_ptr = res_ptr; + if (res_size == 0) { + res_size = l1 + 1 + l2 + 1; + res_ptr = (char *) malloc(res_size + 1); + } else { + res_size += l1 + 1 + l2 + 1; + res_ptr = (char *) realloc(res_ptr, res_size + 1); + } + if (res_ptr == NULL) { + /* Out of memory. */ + res_size = 0; + if (old_res_ptr != NULL) + free(old_res_ptr); + break; + } + strcpy(res_ptr + res_size - (l2 + 1) - (l1 + 1), buf1); + strcpy(res_ptr + res_size - (l2 + 1), buf2); + } + fclose(fp); + if (res_size == 0) + cp = ""; + else { + *(res_ptr + res_size) = '\0'; + cp = res_ptr; } + } - if (file_name == NULL || (fp = fopen (file_name, "r")) == NULL) - /* Out of memory or file not found, treat it as empty. */ - cp = ""; - else - { - /* Parse the file's contents. */ - char *res_ptr = NULL; - size_t res_size = 0; - - for (;;) - { - int c; - char buf1[50+1]; - char buf2[50+1]; - size_t l1, l2; - char *old_res_ptr; - - c = getc (fp); - if (c == EOF) - break; - if (c == '\n' || c == ' ' || c == '\t') - continue; - if (c == '#') - { - /* Skip comment, to end of line. */ - do - c = getc (fp); - while (!(c == EOF || c == '\n')); - if (c == EOF) - break; - continue; - } - ungetc (c, fp); - if (fscanf (fp, "%50s %50s", buf1, buf2) < 2) - break; - l1 = strlen (buf1); - l2 = strlen (buf2); - old_res_ptr = res_ptr; - if (res_size == 0) - { - res_size = l1 + 1 + l2 + 1; - res_ptr = (char *) malloc (res_size + 1); - } - else - { - res_size += l1 + 1 + l2 + 1; - res_ptr = (char *) realloc (res_ptr, res_size + 1); - } - if (res_ptr == NULL) - { - /* Out of memory. */ - res_size = 0; - if (old_res_ptr != NULL) - free (old_res_ptr); - break; - } - strcpy (res_ptr + res_size - (l2 + 1) - (l1 + 1), buf1); - strcpy (res_ptr + res_size - (l2 + 1), buf2); - } - fclose (fp); - if (res_size == 0) - cp = ""; - else - { - *(res_ptr + res_size) = '\0'; - cp = res_ptr; - } - } - - if (file_name != NULL) - free (file_name); + if (file_name != NULL) + free(file_name); #else # if defined VMS - /* To avoid the troubles of an extra file charset.alias_vms in the - sources of many GNU packages, simply inline the aliases here. */ - /* The list of encodings is taken from the OpenVMS 7.3-1 documentation - "Compaq C Run-Time Library Reference Manual for OpenVMS systems" - section 10.7 "Handling Different Character Sets". */ - cp = "ISO8859-1" "\0" "ISO-8859-1" "\0" - "ISO8859-2" "\0" "ISO-8859-2" "\0" - "ISO8859-5" "\0" "ISO-8859-5" "\0" - "ISO8859-7" "\0" "ISO-8859-7" "\0" - "ISO8859-8" "\0" "ISO-8859-8" "\0" - "ISO8859-9" "\0" "ISO-8859-9" "\0" - /* Japanese */ - "eucJP" "\0" "EUC-JP" "\0" - "SJIS" "\0" "SHIFT_JIS" "\0" - "DECKANJI" "\0" "DEC-KANJI" "\0" - "SDECKANJI" "\0" "EUC-JP" "\0" - /* Chinese */ - "eucTW" "\0" "EUC-TW" "\0" - "DECHANYU" "\0" "DEC-HANYU" "\0" - "DECHANZI" "\0" "GB2312" "\0" - /* Korean */ - "DECKOREAN" "\0" "EUC-KR" "\0"; + /* To avoid the troubles of an extra file charset.alias_vms in the + sources of many GNU packages, simply inline the aliases here. */ + /* The list of encodings is taken from the OpenVMS 7.3-1 documentation + "Compaq C Run-Time Library Reference Manual for OpenVMS systems" + section 10.7 "Handling Different Character Sets". */ + cp = "ISO8859-1" "\0" "ISO-8859-1" "\0" + "ISO8859-2" "\0" "ISO-8859-2" "\0" + "ISO8859-5" "\0" "ISO-8859-5" "\0" + "ISO8859-7" "\0" "ISO-8859-7" "\0" + "ISO8859-8" "\0" "ISO-8859-8" "\0" + "ISO8859-9" "\0" "ISO-8859-9" "\0" + /* Japanese */ + "eucJP" "\0" "EUC-JP" "\0" + "SJIS" "\0" "SHIFT_JIS" "\0" + "DECKANJI" "\0" "DEC-KANJI" "\0" + "SDECKANJI" "\0" "EUC-JP" "\0" + /* Chinese */ + "eucTW" "\0" "EUC-TW" "\0" + "DECHANYU" "\0" "DEC-HANYU" "\0" + "DECHANZI" "\0" "GB2312" "\0" + /* Korean */ + "DECKOREAN" "\0" "EUC-KR" "\0"; # endif # if defined WIN32_NATIVE || defined __CYGWIN__ - /* To avoid the troubles of installing a separate file in the same - directory as the DLL and of retrieving the DLL's directory at - runtime, simply inline the aliases here. */ - - cp = "CP936" "\0" "GBK" "\0" - "CP1361" "\0" "JOHAB" "\0" - "CP20127" "\0" "ASCII" "\0" - "CP20866" "\0" "KOI8-R" "\0" - "CP20936" "\0" "GB2312" "\0" - "CP21866" "\0" "KOI8-RU" "\0" - "CP28591" "\0" "ISO-8859-1" "\0" - "CP28592" "\0" "ISO-8859-2" "\0" - "CP28593" "\0" "ISO-8859-3" "\0" - "CP28594" "\0" "ISO-8859-4" "\0" - "CP28595" "\0" "ISO-8859-5" "\0" - "CP28596" "\0" "ISO-8859-6" "\0" - "CP28597" "\0" "ISO-8859-7" "\0" - "CP28598" "\0" "ISO-8859-8" "\0" - "CP28599" "\0" "ISO-8859-9" "\0" - "CP28605" "\0" "ISO-8859-15" "\0" - "CP38598" "\0" "ISO-8859-8" "\0" - "CP51932" "\0" "EUC-JP" "\0" - "CP51936" "\0" "GB2312" "\0" - "CP51949" "\0" "EUC-KR" "\0" - "CP51950" "\0" "EUC-TW" "\0" - "CP54936" "\0" "GB18030" "\0" - "CP65001" "\0" "UTF-8" "\0"; + /* To avoid the troubles of installing a separate file in the same + directory as the DLL and of retrieving the DLL's directory at + runtime, simply inline the aliases here. */ + + cp = "CP936" "\0" "GBK" "\0" + "CP1361" "\0" "JOHAB" "\0" + "CP20127" "\0" "ASCII" "\0" + "CP20866" "\0" "KOI8-R" "\0" + "CP20936" "\0" "GB2312" "\0" + "CP21866" "\0" "KOI8-RU" "\0" + "CP28591" "\0" "ISO-8859-1" "\0" + "CP28592" "\0" "ISO-8859-2" "\0" + "CP28593" "\0" "ISO-8859-3" "\0" + "CP28594" "\0" "ISO-8859-4" "\0" + "CP28595" "\0" "ISO-8859-5" "\0" + "CP28596" "\0" "ISO-8859-6" "\0" + "CP28597" "\0" "ISO-8859-7" "\0" + "CP28598" "\0" "ISO-8859-8" "\0" + "CP28599" "\0" "ISO-8859-9" "\0" + "CP28605" "\0" "ISO-8859-15" "\0" + "CP38598" "\0" "ISO-8859-8" "\0" + "CP51932" "\0" "EUC-JP" "\0" + "CP51936" "\0" "GB2312" "\0" + "CP51949" "\0" "EUC-KR" "\0" + "CP51950" "\0" "EUC-TW" "\0" + "CP54936" "\0" "GB18030" "\0" + "CP65001" "\0" "UTF-8" "\0"; # endif #endif - charset_aliases = cp; - } + charset_aliases = cp; + } return cp; } @@ -284,8 +273,7 @@ STATIC #endif const char * -locale_charset (void) -{ +locale_charset(void) { const char *codeset; const char *aliases; @@ -294,53 +282,48 @@ # if HAVE_LANGINFO_CODESET /* Most systems support nl_langinfo (CODESET) nowadays. */ - codeset = nl_langinfo (CODESET); + codeset = nl_langinfo(CODESET); # ifdef __CYGWIN__ /* Cygwin 2006 does not have locales. nl_langinfo (CODESET) always returns "US-ASCII". As long as this is not fixed, return the suffix of the locale name from the environment variables (if present) or the codepage as a number. */ - if (codeset != NULL && strcmp (codeset, "US-ASCII") == 0) - { - const char *locale; - static char buf[2 + 10 + 1]; + if (codeset != NULL && strcmp(codeset, "US-ASCII") == 0) { + const char *locale; + static char buf[2 + 10 + 1]; - locale = getenv ("LC_ALL"); + locale = getenv("LC_ALL"); + if (locale == NULL || locale[0] == '\0') { + locale = getenv("LC_CTYPE"); if (locale == NULL || locale[0] == '\0') - { - locale = getenv ("LC_CTYPE"); - if (locale == NULL || locale[0] == '\0') - locale = getenv ("LANG"); - } - if (locale != NULL && locale[0] != '\0') - { - /* If the locale name contains an encoding after the dot, return - it. */ - const char *dot = strchr (locale, '.'); - - if (dot != NULL) - { - const char *modifier; - - dot++; - /* Look for the possible @... trailer and remove it, if any. */ - modifier = strchr (dot, '@'); - if (modifier == NULL) - return dot; - if (modifier - dot < sizeof (buf)) - { - memcpy (buf, dot, modifier - dot); - buf [modifier - dot] = '\0'; - return buf; - } - } - } - - /* Woe32 has a function returning the locale's codepage as a number. */ - sprintf (buf, "CP%u", GetACP ()); - codeset = buf; + locale = getenv("LANG"); + } + if (locale != NULL && locale[0] != '\0') { + /* If the locale name contains an encoding after the dot, return + it. */ + const char *dot = strchr(locale, '.'); + + if (dot != NULL) { + const char *modifier; + + dot++; + /* Look for the possible @... trailer and remove it, if any. */ + modifier = strchr(dot, '@'); + if (modifier == NULL) + return dot; + if (modifier - dot < sizeof(buf)) { + memcpy(buf, dot, modifier - dot); + buf [modifier - dot] = '\0'; + return buf; + } + } } + + /* Woe32 has a function returning the locale's codepage as a number. */ + sprintf(buf, "CP%u", GetACP()); + codeset = buf; + } # endif # else @@ -353,18 +336,16 @@ use setlocale here; it would return "C" when it doesn't support the locale name the user has set. */ # if 0 - locale = setlocale (LC_CTYPE, NULL); + locale = setlocale(LC_CTYPE, NULL); # endif - if (locale == NULL || locale[0] == '\0') - { - locale = getenv ("LC_ALL"); + if (locale == NULL || locale[0] == '\0') { + locale = getenv("LC_ALL"); + if (locale == NULL || locale[0] == '\0') { + locale = getenv("LC_CTYPE"); if (locale == NULL || locale[0] == '\0') - { - locale = getenv ("LC_CTYPE"); - if (locale == NULL || locale[0] == '\0') - locale = getenv ("LANG"); - } + locale = getenv("LANG"); } + } /* On some old systems, one used to set locale = "iso8859_1". On others, you set it to "language_COUNTRY.charset". In any case, we resolve it @@ -378,7 +359,7 @@ static char buf[2 + 10 + 1]; /* Woe32 has a function returning the locale's codepage as a number. */ - sprintf (buf, "CP%u", GetACP ()); + sprintf(buf, "CP%u", GetACP()); codeset = buf; #elif defined OS2 @@ -390,49 +371,42 @@ /* Allow user to override the codeset, as set in the operating system, with standard language environment variables. */ - locale = getenv ("LC_ALL"); - if (locale == NULL || locale[0] == '\0') - { - locale = getenv ("LC_CTYPE"); - if (locale == NULL || locale[0] == '\0') - locale = getenv ("LANG"); - } - if (locale != NULL && locale[0] != '\0') - { - /* If the locale name contains an encoding after the dot, return it. */ - const char *dot = strchr (locale, '.'); - - if (dot != NULL) - { - const char *modifier; - - dot++; - /* Look for the possible @... trailer and remove it, if any. */ - modifier = strchr (dot, '@'); - if (modifier == NULL) - return dot; - if (modifier - dot < sizeof (buf)) - { - memcpy (buf, dot, modifier - dot); - buf [modifier - dot] = '\0'; - return buf; - } - } - - /* Resolve through the charset.alias file. */ - codeset = locale; + locale = getenv("LC_ALL"); + if (locale == NULL || locale[0] == '\0') { + locale = getenv("LC_CTYPE"); + if (locale == NULL || locale[0] == '\0') + locale = getenv("LANG"); + } + if (locale != NULL && locale[0] != '\0') { + /* If the locale name contains an encoding after the dot, return it. */ + const char *dot = strchr(locale, '.'); + + if (dot != NULL) { + const char *modifier; + + dot++; + /* Look for the possible @... trailer and remove it, if any. */ + modifier = strchr(dot, '@'); + if (modifier == NULL) + return dot; + if (modifier - dot < sizeof(buf)) { + memcpy(buf, dot, modifier - dot); + buf [modifier - dot] = '\0'; + return buf; + } } - else - { - /* OS/2 has a function returning the locale's codepage as a number. */ - if (DosQueryCp (sizeof (cp), cp, &cplen)) - codeset = ""; - else - { - sprintf (buf, "CP%u", cp[0]); - codeset = buf; - } + + /* Resolve through the charset.alias file. */ + codeset = locale; + } else { + /* OS/2 has a function returning the locale's codepage as a number. */ + if (DosQueryCp(sizeof(cp), cp, &cplen)) + codeset = ""; + else { + sprintf(buf, "CP%u", cp[0]); + codeset = buf; } + } #endif @@ -441,15 +415,14 @@ codeset = ""; /* Resolve alias. */ - for (aliases = get_charset_aliases (); + for (aliases = get_charset_aliases(); *aliases != '\0'; - aliases += strlen (aliases) + 1, aliases += strlen (aliases) + 1) - if (strcmp (codeset, aliases) == 0 - || (aliases[0] == '*' && aliases[1] == '\0')) - { - codeset = aliases + strlen (aliases) + 1; - break; - } + aliases += strlen(aliases) + 1, aliases += strlen(aliases) + 1) + if (strcmp(codeset, aliases) == 0 + || (aliases[0] == '*' && aliases[1] == '\0')) { + codeset = aliases + strlen(aliases) + 1; + break; + } /* Don't return an empty string. GNU libc and GNU libiconv interpret the empty string as denoting "the locale's character encoding",
View file
LiVES-2.8.4.tar.bz2/intl/localcharset.h -> LiVES-2.8.6.tar.bz2/intl/localcharset.h
Changed
@@ -31,7 +31,7 @@ The result must not be freed; it is statically allocated. If the canonical name cannot be determined, the result is a non-canonical name. */ -extern const char * locale_charset (void); +extern const char *locale_charset(void); #ifdef __cplusplus
View file
LiVES-2.8.4.tar.bz2/intl/localealias.c -> LiVES-2.8.6.tar.bz2/intl/localealias.c
Changed
@@ -47,10 +47,10 @@ # include <alloca.h> # else # ifdef _AIX - #pragma alloca +#pragma alloca # else # ifndef alloca -char *alloca (); +char *alloca(); # endif # endif # endif @@ -122,11 +122,10 @@ #endif -__libc_lock_define_initialized (static, lock) +__libc_lock_define_initialized(static, lock) -struct alias_map -{ +struct alias_map { const char *alias; const char *value; }; @@ -136,78 +135,73 @@ # define libc_freeres_ptr(decl) decl #endif -libc_freeres_ptr (static char *string_space); +libc_freeres_ptr(static char *string_space); static size_t string_space_act; static size_t string_space_max; -libc_freeres_ptr (static struct alias_map *map); +libc_freeres_ptr(static struct alias_map *map); static size_t nmap; static size_t maxmap; /* Prototypes for local functions. */ -static size_t read_alias_file (const char *fname, int fname_len) - internal_function; -static int extend_alias_table (void); -static int alias_compare (const struct alias_map *map1, - const struct alias_map *map2); +static size_t read_alias_file(const char *fname, int fname_len) +internal_function; +static int extend_alias_table(void); +static int alias_compare(const struct alias_map *map1, + const struct alias_map *map2); const char * -_nl_expand_alias (const char *name) -{ +_nl_expand_alias(const char *name) { static const char *locale_alias_path; struct alias_map *retval; const char *result = NULL; size_t added; - __libc_lock_lock (lock); + __libc_lock_lock(lock); if (locale_alias_path == NULL) locale_alias_path = LOCALE_ALIAS_PATH; - do - { - struct alias_map item; - - item.alias = name; - - if (nmap > 0) - retval = (struct alias_map *) bsearch (&item, map, nmap, - sizeof (struct alias_map), - (int (*) (const void *, - const void *) - ) alias_compare); - else - retval = NULL; - - /* We really found an alias. Return the value. */ - if (retval != NULL) - { - result = retval->value; - break; - } - - /* Perhaps we can find another alias file. */ - added = 0; - while (added == 0 && locale_alias_path[0] != '\0') - { - const char *start; - - while (locale_alias_path[0] == PATH_SEPARATOR) - ++locale_alias_path; - start = locale_alias_path; - - while (locale_alias_path[0] != '\0' - && locale_alias_path[0] != PATH_SEPARATOR) - ++locale_alias_path; - - if (start < locale_alias_path) - added = read_alias_file (start, locale_alias_path - start); - } + do { + struct alias_map item; + + item.alias = name; + + if (nmap > 0) + retval = (struct alias_map *) bsearch(&item, map, nmap, + sizeof(struct alias_map), + (int (*)(const void *, + const void *) + ) alias_compare); + else + retval = NULL; + + /* We really found an alias. Return the value. */ + if (retval != NULL) { + result = retval->value; + break; } - while (added != 0); - __libc_lock_unlock (lock); + /* Perhaps we can find another alias file. */ + added = 0; + while (added == 0 && locale_alias_path[0] != '\0') { + const char *start; + + while (locale_alias_path[0] == PATH_SEPARATOR) + ++locale_alias_path; + start = locale_alias_path; + + while (locale_alias_path[0] != '\0' + && locale_alias_path[0] != PATH_SEPARATOR) + ++locale_alias_path; + + if (start < locale_alias_path) + added = read_alias_file(start, locale_alias_path - start); + } + } while (added != 0); + + __libc_lock_unlock(lock); return result; } @@ -215,189 +209,179 @@ static size_t internal_function -read_alias_file (const char *fname, int fname_len) -{ +read_alias_file(const char *fname, int fname_len) { FILE *fp; char *full_fname; size_t added; static const char aliasfile[] = "/locale.alias"; - full_fname = (char *) alloca (fname_len + sizeof aliasfile); + full_fname = (char *) alloca(fname_len + sizeof aliasfile); #ifdef HAVE_MEMPCPY - mempcpy (mempcpy (full_fname, fname, fname_len), - aliasfile, sizeof aliasfile); + mempcpy(mempcpy(full_fname, fname, fname_len), + aliasfile, sizeof aliasfile); #else - memcpy (full_fname, fname, fname_len); - memcpy (&full_fname[fname_len], aliasfile, sizeof aliasfile); + memcpy(full_fname, fname, fname_len); + memcpy(&full_fname[fname_len], aliasfile, sizeof aliasfile); #endif #ifdef _LIBC /* Note the file is opened with cancellation in the I/O functions disabled. */ - fp = fopen (relocate (full_fname), "rc"); + fp = fopen(relocate(full_fname), "rc"); #else - fp = fopen (relocate (full_fname), "r"); + fp = fopen(relocate(full_fname), "r"); #endif - freea (full_fname); + freea(full_fname); if (fp == NULL) return 0; #ifdef HAVE___FSETLOCKING /* No threads present. */ - __fsetlocking (fp, FSETLOCKING_BYCALLER); + __fsetlocking(fp, FSETLOCKING_BYCALLER); #endif added = 0; - while (!FEOF (fp)) - { - /* It is a reasonable approach to use a fix buffer here because - a) we are only interested in the first two fields - b) these fields must be usable as file names and so must not - be that long - We avoid a multi-kilobyte buffer here since this would use up - stack space which we might not have if the program ran out of - memory. */ - char buf[400]; - char *alias; - char *value; - char *cp; - int complete_line; - - if (FGETS (buf, sizeof buf, fp) == NULL) - /* EOF reached. */ - break; - - /* Determine whether the line is complete. */ - complete_line = strchr (buf, '\n') != NULL; - - cp = buf; - /* Ignore leading white space. */ - while (isspace ((unsigned char) cp[0])) - ++cp; - - /* A leading '#' signals a comment line. */ - if (cp[0] != '\0' && cp[0] != '#') - { - alias = cp++; - while (cp[0] != '\0' && !isspace ((unsigned char) cp[0])) - ++cp; - /* Terminate alias name. */ - if (cp[0] != '\0') - *cp++ = '\0'; - - /* Now look for the beginning of the value. */ - while (isspace ((unsigned char) cp[0])) - ++cp; - - if (cp[0] != '\0') - { - value = cp++; - while (cp[0] != '\0' && !isspace ((unsigned char) cp[0])) - ++cp; - /* Terminate value. */ - if (cp[0] == '\n') - { - /* This has to be done to make the following test - for the end of line possible. We are looking for - the terminating '\n' which do not overwrite here. */ - *cp++ = '\0'; - *cp = '\n'; - } - else if (cp[0] != '\0') - *cp++ = '\0'; + while (!FEOF(fp)) { + /* It is a reasonable approach to use a fix buffer here because + a) we are only interested in the first two fields + b) these fields must be usable as file names and so must not + be that long + We avoid a multi-kilobyte buffer here since this would use up + stack space which we might not have if the program ran out of + memory. */ + char buf[400]; + char *alias; + char *value; + char *cp; + int complete_line; + + if (FGETS(buf, sizeof buf, fp) == NULL) + /* EOF reached. */ + break; + + /* Determine whether the line is complete. */ + complete_line = strchr(buf, '\n') != NULL; + + cp = buf; + /* Ignore leading white space. */ + while (isspace((unsigned char) cp[0])) + ++cp; + + /* A leading '#' signals a comment line. */ + if (cp[0] != '\0' && cp[0] != '#') { + alias = cp++; + while (cp[0] != '\0' && !isspace((unsigned char) cp[0])) + ++cp; + /* Terminate alias name. */ + if (cp[0] != '\0') + *cp++ = '\0'; + + /* Now look for the beginning of the value. */ + while (isspace((unsigned char) cp[0])) + ++cp; + + if (cp[0] != '\0') { + value = cp++; + while (cp[0] != '\0' && !isspace((unsigned char) cp[0])) + ++cp; + /* Terminate value. */ + if (cp[0] == '\n') { + /* This has to be done to make the following test + for the end of line possible. We are looking for + the terminating '\n' which do not overwrite here. */ + *cp++ = '\0'; + *cp = '\n'; + } else if (cp[0] != '\0') + *cp++ = '\0'; #ifdef IN_LIBGLOCALE - /* glibc's locale.alias contains entries for ja_JP and ko_KR - that make it impossible to use a Japanese or Korean UTF-8 - locale under the name "ja_JP" or "ko_KR". Ignore these - entries. */ - if (strchr (alias, '_') == NULL) + /* glibc's locale.alias contains entries for ja_JP and ko_KR + that make it impossible to use a Japanese or Korean UTF-8 + locale under the name "ja_JP" or "ko_KR". Ignore these + entries. */ + if (strchr(alias, '_') == NULL) #endif - { - size_t alias_len; - size_t value_len; - - if (nmap >= maxmap) - if (__builtin_expect (extend_alias_table (), 0)) - goto out; - - alias_len = strlen (alias) + 1; - value_len = strlen (value) + 1; - - if (string_space_act + alias_len + value_len > string_space_max) - { - /* Increase size of memory pool. */ - size_t new_size = (string_space_max - + (alias_len + value_len > 1024 - ? alias_len + value_len : 1024)); - char *new_pool = (char *) realloc (string_space, new_size); - if (new_pool == NULL) - goto out; - - if (__builtin_expect (string_space != new_pool, 0)) - { - size_t i; - - for (i = 0; i < nmap; i++) - { - map[i].alias += new_pool - string_space; - map[i].value += new_pool - string_space; - } - } - - string_space = new_pool; - string_space_max = new_size; - } - - map[nmap].alias = - (const char *) memcpy (&string_space[string_space_act], - alias, alias_len); - string_space_act += alias_len; - - map[nmap].value = - (const char *) memcpy (&string_space[string_space_act], - value, value_len); - string_space_act += value_len; - - ++nmap; - ++added; - } - } - } - - /* Possibly not the whole line fits into the buffer. Ignore - the rest of the line. */ - if (! complete_line) - do - if (FGETS (buf, sizeof buf, fp) == NULL) - /* Make sure the inner loop will be left. The outer loop - will exit at the `feof' test. */ - break; - while (strchr (buf, '\n') == NULL); + { + size_t alias_len; + size_t value_len; + + if (nmap >= maxmap) + if (__builtin_expect(extend_alias_table(), 0)) + goto out; + + alias_len = strlen(alias) + 1; + value_len = strlen(value) + 1; + + if (string_space_act + alias_len + value_len > string_space_max) { + /* Increase size of memory pool. */ + size_t new_size = (string_space_max + + (alias_len + value_len > 1024 + ? alias_len + value_len : 1024)); + char *new_pool = (char *) realloc(string_space, new_size); + if (new_pool == NULL) + goto out; + + if (__builtin_expect(string_space != new_pool, 0)) { + size_t i; + + for (i = 0; i < nmap; i++) { + map[i].alias += new_pool - string_space; + map[i].value += new_pool - string_space; + } + } + + string_space = new_pool; + string_space_max = new_size; + } + + map[nmap].alias = + (const char *) memcpy(&string_space[string_space_act], + alias, alias_len); + string_space_act += alias_len; + + map[nmap].value = + (const char *) memcpy(&string_space[string_space_act], + value, value_len); + string_space_act += value_len; + + ++nmap; + ++added; + } + } } - out: + /* Possibly not the whole line fits into the buffer. Ignore + the rest of the line. */ + if (! complete_line) + do + if (FGETS(buf, sizeof buf, fp) == NULL) + /* Make sure the inner loop will be left. The outer loop + will exit at the `feof' test. */ + break; + while (strchr(buf, '\n') == NULL); + } + +out: /* Should we test for ferror()? I think we have to silently ignore errors. --drepper */ - fclose (fp); + fclose(fp); if (added > 0) - qsort (map, nmap, sizeof (struct alias_map), - (int (*) (const void *, const void *)) alias_compare); + qsort(map, nmap, sizeof(struct alias_map), + (int (*)(const void *, const void *)) alias_compare); return added; } static int -extend_alias_table () -{ +extend_alias_table() { size_t new_size; struct alias_map *new_map; new_size = maxmap == 0 ? 100 : 2 * maxmap; - new_map = (struct alias_map *) realloc (map, (new_size - * sizeof (struct alias_map))); + new_map = (struct alias_map *) realloc(map, (new_size + * sizeof(struct alias_map))); if (new_map == NULL) /* Simply don't extend: we don't have any more core. */ return -1; @@ -409,10 +393,9 @@ static int -alias_compare (const struct alias_map *map1, const struct alias_map *map2) -{ +alias_compare(const struct alias_map *map1, const struct alias_map *map2) { #if defined _LIBC || defined HAVE_STRCASECMP - return strcasecmp (map1->alias, map2->alias); + return strcasecmp(map1->alias, map2->alias); #else const unsigned char *p1 = (const unsigned char *) map1->alias; const unsigned char *p2 = (const unsigned char *) map2->alias; @@ -421,18 +404,16 @@ if (p1 == p2) return 0; - do - { - /* I know this seems to be odd but the tolower() function in - some systems libc cannot handle nonalpha characters. */ - c1 = isupper (*p1) ? tolower (*p1) : *p1; - c2 = isupper (*p2) ? tolower (*p2) : *p2; - if (c1 == '\0') - break; - ++p1; - ++p2; - } - while (c1 == c2); + do { + /* I know this seems to be odd but the tolower() function in + some systems libc cannot handle nonalpha characters. */ + c1 = isupper(*p1) ? tolower(*p1) : *p1; + c2 = isupper(*p2) ? tolower(*p2) : *p2; + if (c1 == '\0') + break; + ++p1; + ++p2; + } while (c1 == c2); return c1 - c2; #endif
View file
LiVES-2.8.4.tar.bz2/intl/localename.c -> LiVES-2.8.6.tar.bz2/intl/localename.c
Changed
@@ -709,8 +709,7 @@ static # endif void -gl_locale_name_canonicalize (char *name) -{ +gl_locale_name_canonicalize(char *name) { /* This conversion is based on a posting by Deborah GoldSmith <goldsmit@apple.com> on 2005-03-08, http://lists.apple.com/archives/carbon-dev/2005/Mar/msg00293.html */ @@ -720,8 +719,11 @@ Therefore we do it ourselves, using a table based on the results of the MacOS X 10.3.8 function CFLocaleCreateCanonicalLocaleIdentifierFromString(). */ - typedef struct { const char legacy[21+1]; const char unixy[5+1]; } - legacy_entry; + typedef struct { + const char legacy[21 + 1]; + const char unixy[5 + 1]; + } + legacy_entry; static const legacy_entry legacy_table[] = { { "Afrikaans", "af" }, { "Albanian", "sq" }, @@ -858,8 +860,11 @@ /* Convert new-style locale names with language tags (ISO 639 and ISO 15924) to Unix (ISO 639 and ISO 3166) names. */ - typedef struct { const char langtag[7+1]; const char unixy[12+1]; } - langtag_entry; + typedef struct { + const char langtag[7 + 1]; + const char unixy[12 + 1]; + } + langtag_entry; static const langtag_entry langtag_table[] = { /* MacOS X has "az-Arab", "az-Cyrl", "az-Latn". The default script for az on Unix is Latin. */ @@ -888,8 +893,11 @@ /* Convert script names (ISO 15924) to Unix conventions. See http://www.unicode.org/iso15924/iso15924-codes.html */ - typedef struct { const char script[4+1]; const char unixy[9+1]; } - script_entry; + typedef struct { + const char script[4 + 1]; + const char unixy[9 + 1]; + } + script_entry; static const script_entry script_table[] = { { "Arab", "arabic" }, { "Cyrl", "cyrillic" }, @@ -897,79 +905,71 @@ }; /* Step 1: Convert using legacy_table. */ - if (name[0] >= 'A' && name[0] <= 'Z') - { - unsigned int i1, i2; - i1 = 0; - i2 = sizeof (legacy_table) / sizeof (legacy_entry); - while (i2 - i1 > 1) - { - /* At this point we know that if name occurs in legacy_table, - its index must be >= i1 and < i2. */ - unsigned int i = (i1 + i2) >> 1; - const legacy_entry *p = &legacy_table[i]; - if (strcmp (name, p->legacy) < 0) - i2 = i; - else - i1 = i; - } - if (strcmp (name, legacy_table[i1].legacy) == 0) - { - strcpy (name, legacy_table[i1].unixy); - return; - } + if (name[0] >= 'A' && name[0] <= 'Z') { + unsigned int i1, i2; + i1 = 0; + i2 = sizeof(legacy_table) / sizeof(legacy_entry); + while (i2 - i1 > 1) { + /* At this point we know that if name occurs in legacy_table, + its index must be >= i1 and < i2. */ + unsigned int i = (i1 + i2) >> 1; + const legacy_entry *p = &legacy_table[i]; + if (strcmp(name, p->legacy) < 0) + i2 = i; + else + i1 = i; } + if (strcmp(name, legacy_table[i1].legacy) == 0) { + strcpy(name, legacy_table[i1].unixy); + return; + } + } /* Step 2: Convert using langtag_table and script_table. */ - if (strlen (name) == 7 && name[2] == '-') - { - unsigned int i1, i2; - i1 = 0; - i2 = sizeof (langtag_table) / sizeof (langtag_entry); - while (i2 - i1 > 1) - { - /* At this point we know that if name occurs in langtag_table, - its index must be >= i1 and < i2. */ - unsigned int i = (i1 + i2) >> 1; - const langtag_entry *p = &langtag_table[i]; - if (strcmp (name, p->langtag) < 0) - i2 = i; - else - i1 = i; - } - if (strcmp (name, langtag_table[i1].langtag) == 0) - { - strcpy (name, langtag_table[i1].unixy); - return; - } + if (strlen(name) == 7 && name[2] == '-') { + unsigned int i1, i2; + i1 = 0; + i2 = sizeof(langtag_table) / sizeof(langtag_entry); + while (i2 - i1 > 1) { + /* At this point we know that if name occurs in langtag_table, + its index must be >= i1 and < i2. */ + unsigned int i = (i1 + i2) >> 1; + const langtag_entry *p = &langtag_table[i]; + if (strcmp(name, p->langtag) < 0) + i2 = i; + else + i1 = i; + } + if (strcmp(name, langtag_table[i1].langtag) == 0) { + strcpy(name, langtag_table[i1].unixy); + return; + } - i1 = 0; - i2 = sizeof (script_table) / sizeof (script_entry); - while (i2 - i1 > 1) - { - /* At this point we know that if (name + 3) occurs in script_table, - its index must be >= i1 and < i2. */ - unsigned int i = (i1 + i2) >> 1; - const script_entry *p = &script_table[i]; - if (strcmp (name + 3, p->script) < 0) - i2 = i; - else - i1 = i; - } - if (strcmp (name + 3, script_table[i1].script) == 0) - { - name[2] = '@'; - strcpy (name + 3, script_table[i1].unixy); - return; - } + i1 = 0; + i2 = sizeof(script_table) / sizeof(script_entry); + while (i2 - i1 > 1) { + /* At this point we know that if (name + 3) occurs in script_table, + its index must be >= i1 and < i2. */ + unsigned int i = (i1 + i2) >> 1; + const script_entry *p = &script_table[i]; + if (strcmp(name + 3, p->script) < 0) + i2 = i; + else + i1 = i; + } + if (strcmp(name + 3, script_table[i1].script) == 0) { + name[2] = '@'; + strcpy(name + 3, script_table[i1].unixy); + return; } + } /* Step 3: Convert new-style dash to Unix underscore. */ { char *p; for (p = name; *p != '\0'; p++) if (*p == '-') - *p = '_'; + *p = '_'; } } @@ -992,25 +992,24 @@ The result must not be freed; it is statically allocated. */ const char * -gl_locale_name_posix (int category, const char *categoryname) -{ +gl_locale_name_posix(int category, const char *categoryname) { /* Use the POSIX methods of looking to 'LC_ALL', 'LC_xxx', and 'LANG'. On some systems this can be done by the 'setlocale' function itself. */ #if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES && defined HAVE_LOCALE_NULL - return setlocale (category, NULL); + return setlocale(category, NULL); #else const char *retval; /* Setting of LC_ALL overrides all other. */ - retval = getenv ("LC_ALL"); + retval = getenv("LC_ALL"); if (retval != NULL && retval[0] != '\0') return retval; /* Next comes the name of the desired category. */ - retval = getenv (categoryname); + retval = getenv(categoryname); if (retval != NULL && retval[0] != '\0') return retval; /* Last possibility is the LANG environment variable. */ - retval = getenv ("LANG"); + retval = getenv("LANG"); if (retval != NULL && retval[0] != '\0') return retval; @@ -1019,8 +1018,7 @@ } const char * -gl_locale_name_default (void) -{ +gl_locale_name_default(void) { /* POSIX:2001 says: "All implementations shall define a locale as the default locale, to be invoked when no environment variables are set, or set to the empty @@ -1049,36 +1047,33 @@ /* Cache the locale name, since CoreFoundation calls are expensive. */ static const char *cached_localename; - if (cached_localename == NULL) - { - char namebuf[256]; + if (cached_localename == NULL) { + char namebuf[256]; # if HAVE_CFLOCALECOPYCURRENT /* MacOS X 10.3 or newer */ - CFLocaleRef locale = CFLocaleCopyCurrent (); - CFStringRef name = CFLocaleGetIdentifier (locale); + CFLocaleRef locale = CFLocaleCopyCurrent(); + CFStringRef name = CFLocaleGetIdentifier(locale); - if (CFStringGetCString (name, namebuf, sizeof(namebuf), - kCFStringEncodingASCII)) - { - gl_locale_name_canonicalize (namebuf); - cached_localename = strdup (namebuf); - } - CFRelease (locale); + if (CFStringGetCString(name, namebuf, sizeof(namebuf), + kCFStringEncodingASCII)) { + gl_locale_name_canonicalize(namebuf); + cached_localename = strdup(namebuf); + } + CFRelease(locale); # elif HAVE_CFPREFERENCESCOPYAPPVALUE /* MacOS X 10.2 or newer */ - CFTypeRef value = - CFPreferencesCopyAppValue (CFSTR ("AppleLocale"), - kCFPreferencesCurrentApplication); - if (value != NULL - && CFGetTypeID (value) == CFStringGetTypeID () - && CFStringGetCString ((CFStringRef)value, namebuf, sizeof(namebuf), - kCFStringEncodingASCII)) - { - gl_locale_name_canonicalize (namebuf); - cached_localename = strdup (namebuf); - } -# endif - if (cached_localename == NULL) - cached_localename = "C"; + CFTypeRef value = + CFPreferencesCopyAppValue(CFSTR("AppleLocale"), + kCFPreferencesCurrentApplication); + if (value != NULL + && CFGetTypeID(value) == CFStringGetTypeID() + && CFStringGetCString((CFStringRef)value, namebuf, sizeof(namebuf), + kCFStringEncodingASCII)) { + gl_locale_name_canonicalize(namebuf); + cached_localename = strdup(namebuf); } +# endif + if (cached_localename == NULL) + cached_localename = "C"; + } return cached_localename; } @@ -1091,84 +1086,115 @@ int primary, sub; /* Use native Win32 API locale ID. */ - lcid = GetThreadLocale (); + lcid = GetThreadLocale(); /* Strip off the sorting rules, keep only the language part. */ - langid = LANGIDFROMLCID (lcid); + langid = LANGIDFROMLCID(lcid); /* Split into language and territory part. */ - primary = PRIMARYLANGID (langid); - sub = SUBLANGID (langid); + primary = PRIMARYLANGID(langid); + sub = SUBLANGID(langid); /* Dispatch on language. See also http://www.unicode.org/unicode/onlinedat/languages.html . For details about languages, see http://www.ethnologue.com/ . */ - switch (primary) - { - case LANG_AFRIKAANS: return "af_ZA"; - case LANG_ALBANIAN: return "sq_AL"; - case LANG_AMHARIC: return "am_ET"; - case LANG_ARABIC: - switch (sub) - { - case SUBLANG_ARABIC_SAUDI_ARABIA: return "ar_SA"; - case SUBLANG_ARABIC_IRAQ: return "ar_IQ"; - case SUBLANG_ARABIC_EGYPT: return "ar_EG"; - case SUBLANG_ARABIC_LIBYA: return "ar_LY"; - case SUBLANG_ARABIC_ALGERIA: return "ar_DZ"; - case SUBLANG_ARABIC_MOROCCO: return "ar_MA"; - case SUBLANG_ARABIC_TUNISIA: return "ar_TN"; - case SUBLANG_ARABIC_OMAN: return "ar_OM"; - case SUBLANG_ARABIC_YEMEN: return "ar_YE"; - case SUBLANG_ARABIC_SYRIA: return "ar_SY"; - case SUBLANG_ARABIC_JORDAN: return "ar_JO"; - case SUBLANG_ARABIC_LEBANON: return "ar_LB"; - case SUBLANG_ARABIC_KUWAIT: return "ar_KW"; - case SUBLANG_ARABIC_UAE: return "ar_AE"; - case SUBLANG_ARABIC_BAHRAIN: return "ar_BH"; - case SUBLANG_ARABIC_QATAR: return "ar_QA"; - } - return "ar"; - case LANG_ARMENIAN: return "hy_AM"; - case LANG_ASSAMESE: return "as_IN"; - case LANG_AZERI: - switch (sub) - { - /* FIXME: Adjust this when Azerbaijani locales appear on Unix. */ - case SUBLANG_AZERI_LATIN: return "az_AZ@latin"; - case SUBLANG_AZERI_CYRILLIC: return "az_AZ@cyrillic"; - } - return "az"; - case LANG_BASQUE: - switch (sub) - { - case SUBLANG_DEFAULT: return "eu_ES"; - } - return "eu"; /* Ambiguous: could be "eu_ES" or "eu_FR". */ - case LANG_BELARUSIAN: return "be_BY"; - case LANG_BENGALI: - switch (sub) - { - case SUBLANG_BENGALI_INDIA: return "bn_IN"; - case SUBLANG_BENGALI_BANGLADESH: return "bn_BD"; - } - return "bn"; - case LANG_BULGARIAN: return "bg_BG"; - case LANG_BURMESE: return "my_MM"; - case LANG_CAMBODIAN: return "km_KH"; - case LANG_CATALAN: return "ca_ES"; - case LANG_CHEROKEE: return "chr_US"; - case LANG_CHINESE: - switch (sub) - { - case SUBLANG_CHINESE_TRADITIONAL: return "zh_TW"; - case SUBLANG_CHINESE_SIMPLIFIED: return "zh_CN"; - case SUBLANG_CHINESE_HONGKONG: return "zh_HK"; - case SUBLANG_CHINESE_SINGAPORE: return "zh_SG"; - case SUBLANG_CHINESE_MACAU: return "zh_MO"; - } - return "zh"; - case LANG_CROATIAN: /* LANG_CROATIAN == LANG_SERBIAN + switch (primary) { + case LANG_AFRIKAANS: + return "af_ZA"; + case LANG_ALBANIAN: + return "sq_AL"; + case LANG_AMHARIC: + return "am_ET"; + case LANG_ARABIC: + switch (sub) { + case SUBLANG_ARABIC_SAUDI_ARABIA: + return "ar_SA"; + case SUBLANG_ARABIC_IRAQ: + return "ar_IQ"; + case SUBLANG_ARABIC_EGYPT: + return "ar_EG"; + case SUBLANG_ARABIC_LIBYA: + return "ar_LY"; + case SUBLANG_ARABIC_ALGERIA: + return "ar_DZ"; + case SUBLANG_ARABIC_MOROCCO: + return "ar_MA"; + case SUBLANG_ARABIC_TUNISIA: + return "ar_TN"; + case SUBLANG_ARABIC_OMAN: + return "ar_OM"; + case SUBLANG_ARABIC_YEMEN: + return "ar_YE"; + case SUBLANG_ARABIC_SYRIA: + return "ar_SY"; + case SUBLANG_ARABIC_JORDAN: + return "ar_JO"; + case SUBLANG_ARABIC_LEBANON: + return "ar_LB"; + case SUBLANG_ARABIC_KUWAIT: + return "ar_KW"; + case SUBLANG_ARABIC_UAE: + return "ar_AE"; + case SUBLANG_ARABIC_BAHRAIN: + return "ar_BH"; + case SUBLANG_ARABIC_QATAR: + return "ar_QA"; + } + return "ar"; + case LANG_ARMENIAN: + return "hy_AM"; + case LANG_ASSAMESE: + return "as_IN"; + case LANG_AZERI: + switch (sub) { + /* FIXME: Adjust this when Azerbaijani locales appear on Unix. */ + case SUBLANG_AZERI_LATIN: + return "az_AZ@latin"; + case SUBLANG_AZERI_CYRILLIC: + return "az_AZ@cyrillic"; + } + return "az"; + case LANG_BASQUE: + switch (sub) { + case SUBLANG_DEFAULT: + return "eu_ES"; + } + return "eu"; /* Ambiguous: could be "eu_ES" or "eu_FR". */ + case LANG_BELARUSIAN: + return "be_BY"; + case LANG_BENGALI: + switch (sub) { + case SUBLANG_BENGALI_INDIA: + return "bn_IN"; + case SUBLANG_BENGALI_BANGLADESH: + return "bn_BD"; + } + return "bn"; + case LANG_BULGARIAN: + return "bg_BG"; + case LANG_BURMESE: + return "my_MM"; + case LANG_CAMBODIAN: + return "km_KH"; + case LANG_CATALAN: + return "ca_ES"; + case LANG_CHEROKEE: + return "chr_US"; + case LANG_CHINESE: + switch (sub) { + case SUBLANG_CHINESE_TRADITIONAL: + return "zh_TW"; + case SUBLANG_CHINESE_SIMPLIFIED: + return "zh_CN"; + case SUBLANG_CHINESE_HONGKONG: + return "zh_HK"; + case SUBLANG_CHINESE_SINGAPORE: + return "zh_SG"; + case SUBLANG_CHINESE_MACAU: + return "zh_MO"; + } + return "zh"; + case LANG_CROATIAN: /* LANG_CROATIAN == LANG_SERBIAN * What used to be called Serbo-Croatian * should really now be two separate * languages because of political reasons. @@ -1176,332 +1202,473 @@ * or Croatian.) * (I can feel those flames coming already.) */ - switch (sub) - { - case SUBLANG_DEFAULT: return "hr_HR"; - case SUBLANG_SERBIAN_LATIN: return "sr_CS"; - case SUBLANG_SERBIAN_CYRILLIC: return "sr_CS@cyrillic"; - } - return "hr"; - case LANG_CZECH: return "cs_CZ"; - case LANG_DANISH: return "da_DK"; - case LANG_DIVEHI: return "dv_MV"; - case LANG_DUTCH: - switch (sub) - { - case SUBLANG_DUTCH: return "nl_NL"; - case SUBLANG_DUTCH_BELGIAN: /* FLEMISH, VLAAMS */ return "nl_BE"; - } - return "nl"; - case LANG_EDO: return "bin_NG"; - case LANG_ENGLISH: - switch (sub) - { - /* SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. Heh. I thought - * English was the language spoken in England. - * Oh well. - */ - case SUBLANG_ENGLISH_US: return "en_US"; - case SUBLANG_ENGLISH_UK: return "en_GB"; - case SUBLANG_ENGLISH_AUS: return "en_AU"; - case SUBLANG_ENGLISH_CAN: return "en_CA"; - case SUBLANG_ENGLISH_NZ: return "en_NZ"; - case SUBLANG_ENGLISH_EIRE: return "en_IE"; - case SUBLANG_ENGLISH_SOUTH_AFRICA: return "en_ZA"; - case SUBLANG_ENGLISH_JAMAICA: return "en_JM"; - case SUBLANG_ENGLISH_CARIBBEAN: return "en_GD"; /* Grenada? */ - case SUBLANG_ENGLISH_BELIZE: return "en_BZ"; - case SUBLANG_ENGLISH_TRINIDAD: return "en_TT"; - case SUBLANG_ENGLISH_ZIMBABWE: return "en_ZW"; - case SUBLANG_ENGLISH_PHILIPPINES: return "en_PH"; - case SUBLANG_ENGLISH_INDONESIA: return "en_ID"; - case SUBLANG_ENGLISH_HONGKONG: return "en_HK"; - case SUBLANG_ENGLISH_INDIA: return "en_IN"; - case SUBLANG_ENGLISH_MALAYSIA: return "en_MY"; - case SUBLANG_ENGLISH_SINGAPORE: return "en_SG"; - } - return "en"; - case LANG_ESTONIAN: return "et_EE"; - case LANG_FAEROESE: return "fo_FO"; - case LANG_FARSI: return "fa_IR"; - case LANG_FINNISH: return "fi_FI"; - case LANG_FRENCH: - switch (sub) - { - case SUBLANG_FRENCH: return "fr_FR"; - case SUBLANG_FRENCH_BELGIAN: /* WALLOON */ return "fr_BE"; - case SUBLANG_FRENCH_CANADIAN: return "fr_CA"; - case SUBLANG_FRENCH_SWISS: return "fr_CH"; - case SUBLANG_FRENCH_LUXEMBOURG: return "fr_LU"; - case SUBLANG_FRENCH_MONACO: return "fr_MC"; - case SUBLANG_FRENCH_WESTINDIES: return "fr"; /* Caribbean? */ - case SUBLANG_FRENCH_REUNION: return "fr_RE"; - case SUBLANG_FRENCH_CONGO: return "fr_CG"; - case SUBLANG_FRENCH_SENEGAL: return "fr_SN"; - case SUBLANG_FRENCH_CAMEROON: return "fr_CM"; - case SUBLANG_FRENCH_COTEDIVOIRE: return "fr_CI"; - case SUBLANG_FRENCH_MALI: return "fr_ML"; - case SUBLANG_FRENCH_MOROCCO: return "fr_MA"; - case SUBLANG_FRENCH_HAITI: return "fr_HT"; - } - return "fr"; - case LANG_FRISIAN: return "fy_NL"; - case LANG_FULFULDE: - /* Spoken in Nigeria, Guinea, Senegal, Mali, Niger, Cameroon, Benin. */ - return "ff_NG"; - case LANG_GAELIC: - switch (sub) - { - case 0x01: /* SCOTTISH */ return "gd_GB"; - case 0x02: /* IRISH */ return "ga_IE"; - } - return "C"; - case LANG_GALICIAN: return "gl_ES"; - case LANG_GEORGIAN: return "ka_GE"; - case LANG_GERMAN: - switch (sub) - { - case SUBLANG_GERMAN: return "de_DE"; - case SUBLANG_GERMAN_SWISS: return "de_CH"; - case SUBLANG_GERMAN_AUSTRIAN: return "de_AT"; - case SUBLANG_GERMAN_LUXEMBOURG: return "de_LU"; - case SUBLANG_GERMAN_LIECHTENSTEIN: return "de_LI"; - } - return "de"; - case LANG_GREEK: return "el_GR"; - case LANG_GUARANI: return "gn_PY"; - case LANG_GUJARATI: return "gu_IN"; - case LANG_HAUSA: return "ha_NG"; - case LANG_HAWAIIAN: - /* FIXME: Do they mean Hawaiian ("haw_US", 1000 speakers) - or Hawaii Creole English ("cpe_US", 600000 speakers)? */ - return "cpe_US"; - case LANG_HEBREW: return "he_IL"; - case LANG_HINDI: return "hi_IN"; - case LANG_HUNGARIAN: return "hu_HU"; - case LANG_IBIBIO: return "nic_NG"; - case LANG_ICELANDIC: return "is_IS"; - case LANG_IGBO: return "ig_NG"; - case LANG_INDONESIAN: return "id_ID"; - case LANG_INUKTITUT: return "iu_CA"; - case LANG_ITALIAN: - switch (sub) - { - case SUBLANG_ITALIAN: return "it_IT"; - case SUBLANG_ITALIAN_SWISS: return "it_CH"; - } - return "it"; - case LANG_JAPANESE: return "ja_JP"; - case LANG_KANNADA: return "kn_IN"; - case LANG_KANURI: return "kr_NG"; - case LANG_KASHMIRI: - switch (sub) - { - case SUBLANG_DEFAULT: return "ks_PK"; - case SUBLANG_KASHMIRI_INDIA: return "ks_IN"; - } - return "ks"; - case LANG_KAZAK: return "kk_KZ"; - case LANG_KONKANI: - /* FIXME: Adjust this when such locales appear on Unix. */ - return "kok_IN"; - case LANG_KOREAN: return "ko_KR"; - case LANG_KYRGYZ: return "ky_KG"; - case LANG_LAO: return "lo_LA"; - case LANG_LATIN: return "la_VA"; - case LANG_LATVIAN: return "lv_LV"; - case LANG_LITHUANIAN: return "lt_LT"; - case LANG_MACEDONIAN: return "mk_MK"; - case LANG_MALAY: - switch (sub) - { - case SUBLANG_MALAY_MALAYSIA: return "ms_MY"; - case SUBLANG_MALAY_BRUNEI_DARUSSALAM: return "ms_BN"; - } - return "ms"; - case LANG_MALAYALAM: return "ml_IN"; - case LANG_MALTESE: return "mt_MT"; - case LANG_MANIPURI: - /* FIXME: Adjust this when such locales appear on Unix. */ - return "mni_IN"; - case LANG_MARATHI: return "mr_IN"; - case LANG_MONGOLIAN: - switch (sub) - { - case SUBLANG_DEFAULT: return "mn_MN"; - } - return "mn"; /* Ambiguous: could be "mn_CN" or "mn_MN". */ - case LANG_NEPALI: - switch (sub) - { - case SUBLANG_DEFAULT: return "ne_NP"; - case SUBLANG_NEPALI_INDIA: return "ne_IN"; - } - return "ne"; - case LANG_NORWEGIAN: - switch (sub) - { - case SUBLANG_NORWEGIAN_BOKMAL: return "nb_NO"; - case SUBLANG_NORWEGIAN_NYNORSK: return "nn_NO"; - } - return "no"; - case LANG_ORIYA: return "or_IN"; - case LANG_OROMO: return "om_ET"; - case LANG_PAPIAMENTU: return "pap_AN"; - case LANG_PASHTO: - return "ps"; /* Ambiguous: could be "ps_PK" or "ps_AF". */ - case LANG_POLISH: return "pl_PL"; - case LANG_PORTUGUESE: - switch (sub) - { - case SUBLANG_PORTUGUESE: return "pt_PT"; - /* Hmm. SUBLANG_PORTUGUESE_BRAZILIAN == SUBLANG_DEFAULT. - Same phenomenon as SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. */ - case SUBLANG_PORTUGUESE_BRAZILIAN: return "pt_BR"; - } - return "pt"; - case LANG_PUNJABI: - switch (sub) - { - case SUBLANG_PUNJABI_INDIA: return "pa_IN"; /* Gurmukhi script */ - case SUBLANG_PUNJABI_PAKISTAN: return "pa_PK"; /* Arabic script */ - } - return "pa"; - case LANG_RHAETO_ROMANCE: return "rm_CH"; - case LANG_ROMANIAN: - switch (sub) - { - case SUBLANG_ROMANIAN_ROMANIA: return "ro_RO"; - case SUBLANG_ROMANIAN_MOLDOVA: return "ro_MD"; - } - return "ro"; - case LANG_RUSSIAN: - switch (sub) - { - case SUBLANG_DEFAULT: return "ru_RU"; - } - return "ru"; /* Ambiguous: could be "ru_RU" or "ru_UA" or "ru_MD". */ - case LANG_SAAMI: /* actually Northern Sami */ return "se_NO"; - case LANG_SANSKRIT: return "sa_IN"; - case LANG_SINDHI: - switch (sub) - { - case SUBLANG_SINDHI_PAKISTAN: return "sd_PK"; - case SUBLANG_SINDHI_AFGHANISTAN: return "sd_AF"; - } - return "sd"; - case LANG_SINHALESE: return "si_LK"; - case LANG_SLOVAK: return "sk_SK"; - case LANG_SLOVENIAN: return "sl_SI"; - case LANG_SOMALI: return "so_SO"; - case LANG_SORBIAN: - /* FIXME: Adjust this when such locales appear on Unix. */ - return "wen_DE"; - case LANG_SPANISH: - switch (sub) - { - case SUBLANG_SPANISH: return "es_ES"; - case SUBLANG_SPANISH_MEXICAN: return "es_MX"; - case SUBLANG_SPANISH_MODERN: - return "es_ES@modern"; /* not seen on Unix */ - case SUBLANG_SPANISH_GUATEMALA: return "es_GT"; - case SUBLANG_SPANISH_COSTA_RICA: return "es_CR"; - case SUBLANG_SPANISH_PANAMA: return "es_PA"; - case SUBLANG_SPANISH_DOMINICAN_REPUBLIC: return "es_DO"; - case SUBLANG_SPANISH_VENEZUELA: return "es_VE"; - case SUBLANG_SPANISH_COLOMBIA: return "es_CO"; - case SUBLANG_SPANISH_PERU: return "es_PE"; - case SUBLANG_SPANISH_ARGENTINA: return "es_AR"; - case SUBLANG_SPANISH_ECUADOR: return "es_EC"; - case SUBLANG_SPANISH_CHILE: return "es_CL"; - case SUBLANG_SPANISH_URUGUAY: return "es_UY"; - case SUBLANG_SPANISH_PARAGUAY: return "es_PY"; - case SUBLANG_SPANISH_BOLIVIA: return "es_BO"; - case SUBLANG_SPANISH_EL_SALVADOR: return "es_SV"; - case SUBLANG_SPANISH_HONDURAS: return "es_HN"; - case SUBLANG_SPANISH_NICARAGUA: return "es_NI"; - case SUBLANG_SPANISH_PUERTO_RICO: return "es_PR"; - } - return "es"; - case LANG_SUTU: return "bnt_TZ"; /* or "st_LS" or "nso_ZA"? */ - case LANG_SWAHILI: return "sw_KE"; - case LANG_SWEDISH: - switch (sub) - { - case SUBLANG_DEFAULT: return "sv_SE"; - case SUBLANG_SWEDISH_FINLAND: return "sv_FI"; - } - return "sv"; - case LANG_SYRIAC: return "syr_TR"; /* An extinct language. */ - case LANG_TAGALOG: return "tl_PH"; - case LANG_TAJIK: return "tg_TJ"; - case LANG_TAMAZIGHT: - switch (sub) - { - /* FIXME: Adjust this when Tamazight locales appear on Unix. */ - case SUBLANG_TAMAZIGHT_ARABIC: return "ber_MA@arabic"; - case SUBLANG_TAMAZIGHT_ALGERIA_LATIN: return "ber_DZ@latin"; - } - return "ber_MA"; - case LANG_TAMIL: - switch (sub) - { - case SUBLANG_DEFAULT: return "ta_IN"; - } - return "ta"; /* Ambiguous: could be "ta_IN" or "ta_LK" or "ta_SG". */ - case LANG_TATAR: return "tt_RU"; - case LANG_TELUGU: return "te_IN"; - case LANG_THAI: return "th_TH"; - case LANG_TIBETAN: return "bo_CN"; - case LANG_TIGRINYA: - switch (sub) - { - case SUBLANG_TIGRINYA_ETHIOPIA: return "ti_ET"; - case SUBLANG_TIGRINYA_ERITREA: return "ti_ER"; - } - return "ti"; - case LANG_TSONGA: return "ts_ZA"; - case LANG_TSWANA: return "tn_BW"; - case LANG_TURKISH: return "tr_TR"; - case LANG_TURKMEN: return "tk_TM"; - case LANG_UKRAINIAN: return "uk_UA"; - case LANG_URDU: - switch (sub) - { - case SUBLANG_URDU_PAKISTAN: return "ur_PK"; - case SUBLANG_URDU_INDIA: return "ur_IN"; - } - return "ur"; - case LANG_UZBEK: - switch (sub) - { - case SUBLANG_UZBEK_LATIN: return "uz_UZ"; - case SUBLANG_UZBEK_CYRILLIC: return "uz_UZ@cyrillic"; - } - return "uz"; - case LANG_VENDA: return "ve_ZA"; - case LANG_VIETNAMESE: return "vi_VN"; - case LANG_WELSH: return "cy_GB"; - case LANG_XHOSA: return "xh_ZA"; - case LANG_YI: return "sit_CN"; - case LANG_YIDDISH: return "yi_IL"; - case LANG_YORUBA: return "yo_NG"; - case LANG_ZULU: return "zu_ZA"; - default: return "C"; + switch (sub) { + case SUBLANG_DEFAULT: + return "hr_HR"; + case SUBLANG_SERBIAN_LATIN: + return "sr_CS"; + case SUBLANG_SERBIAN_CYRILLIC: + return "sr_CS@cyrillic"; + } + return "hr"; + case LANG_CZECH: + return "cs_CZ"; + case LANG_DANISH: + return "da_DK"; + case LANG_DIVEHI: + return "dv_MV"; + case LANG_DUTCH: + switch (sub) { + case SUBLANG_DUTCH: + return "nl_NL"; + case SUBLANG_DUTCH_BELGIAN: /* FLEMISH, VLAAMS */ + return "nl_BE"; + } + return "nl"; + case LANG_EDO: + return "bin_NG"; + case LANG_ENGLISH: + switch (sub) { + /* SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. Heh. I thought + * English was the language spoken in England. + * Oh well. + */ + case SUBLANG_ENGLISH_US: + return "en_US"; + case SUBLANG_ENGLISH_UK: + return "en_GB"; + case SUBLANG_ENGLISH_AUS: + return "en_AU"; + case SUBLANG_ENGLISH_CAN: + return "en_CA"; + case SUBLANG_ENGLISH_NZ: + return "en_NZ"; + case SUBLANG_ENGLISH_EIRE: + return "en_IE"; + case SUBLANG_ENGLISH_SOUTH_AFRICA: + return "en_ZA"; + case SUBLANG_ENGLISH_JAMAICA: + return "en_JM"; + case SUBLANG_ENGLISH_CARIBBEAN: + return "en_GD"; /* Grenada? */ + case SUBLANG_ENGLISH_BELIZE: + return "en_BZ"; + case SUBLANG_ENGLISH_TRINIDAD: + return "en_TT"; + case SUBLANG_ENGLISH_ZIMBABWE: + return "en_ZW"; + case SUBLANG_ENGLISH_PHILIPPINES: + return "en_PH"; + case SUBLANG_ENGLISH_INDONESIA: + return "en_ID"; + case SUBLANG_ENGLISH_HONGKONG: + return "en_HK"; + case SUBLANG_ENGLISH_INDIA: + return "en_IN"; + case SUBLANG_ENGLISH_MALAYSIA: + return "en_MY"; + case SUBLANG_ENGLISH_SINGAPORE: + return "en_SG"; + } + return "en"; + case LANG_ESTONIAN: + return "et_EE"; + case LANG_FAEROESE: + return "fo_FO"; + case LANG_FARSI: + return "fa_IR"; + case LANG_FINNISH: + return "fi_FI"; + case LANG_FRENCH: + switch (sub) { + case SUBLANG_FRENCH: + return "fr_FR"; + case SUBLANG_FRENCH_BELGIAN: /* WALLOON */ + return "fr_BE"; + case SUBLANG_FRENCH_CANADIAN: + return "fr_CA"; + case SUBLANG_FRENCH_SWISS: + return "fr_CH"; + case SUBLANG_FRENCH_LUXEMBOURG: + return "fr_LU"; + case SUBLANG_FRENCH_MONACO: + return "fr_MC"; + case SUBLANG_FRENCH_WESTINDIES: + return "fr"; /* Caribbean? */ + case SUBLANG_FRENCH_REUNION: + return "fr_RE"; + case SUBLANG_FRENCH_CONGO: + return "fr_CG"; + case SUBLANG_FRENCH_SENEGAL: + return "fr_SN"; + case SUBLANG_FRENCH_CAMEROON: + return "fr_CM"; + case SUBLANG_FRENCH_COTEDIVOIRE: + return "fr_CI"; + case SUBLANG_FRENCH_MALI: + return "fr_ML"; + case SUBLANG_FRENCH_MOROCCO: + return "fr_MA"; + case SUBLANG_FRENCH_HAITI: + return "fr_HT"; } + return "fr"; + case LANG_FRISIAN: + return "fy_NL"; + case LANG_FULFULDE: + /* Spoken in Nigeria, Guinea, Senegal, Mali, Niger, Cameroon, Benin. */ + return "ff_NG"; + case LANG_GAELIC: + switch (sub) { + case 0x01: /* SCOTTISH */ + return "gd_GB"; + case 0x02: /* IRISH */ + return "ga_IE"; + } + return "C"; + case LANG_GALICIAN: + return "gl_ES"; + case LANG_GEORGIAN: + return "ka_GE"; + case LANG_GERMAN: + switch (sub) { + case SUBLANG_GERMAN: + return "de_DE"; + case SUBLANG_GERMAN_SWISS: + return "de_CH"; + case SUBLANG_GERMAN_AUSTRIAN: + return "de_AT"; + case SUBLANG_GERMAN_LUXEMBOURG: + return "de_LU"; + case SUBLANG_GERMAN_LIECHTENSTEIN: + return "de_LI"; + } + return "de"; + case LANG_GREEK: + return "el_GR"; + case LANG_GUARANI: + return "gn_PY"; + case LANG_GUJARATI: + return "gu_IN"; + case LANG_HAUSA: + return "ha_NG"; + case LANG_HAWAIIAN: + /* FIXME: Do they mean Hawaiian ("haw_US", 1000 speakers) + or Hawaii Creole English ("cpe_US", 600000 speakers)? */ + return "cpe_US"; + case LANG_HEBREW: + return "he_IL"; + case LANG_HINDI: + return "hi_IN"; + case LANG_HUNGARIAN: + return "hu_HU"; + case LANG_IBIBIO: + return "nic_NG"; + case LANG_ICELANDIC: + return "is_IS"; + case LANG_IGBO: + return "ig_NG"; + case LANG_INDONESIAN: + return "id_ID"; + case LANG_INUKTITUT: + return "iu_CA"; + case LANG_ITALIAN: + switch (sub) { + case SUBLANG_ITALIAN: + return "it_IT"; + case SUBLANG_ITALIAN_SWISS: + return "it_CH"; + } + return "it"; + case LANG_JAPANESE: + return "ja_JP"; + case LANG_KANNADA: + return "kn_IN"; + case LANG_KANURI: + return "kr_NG"; + case LANG_KASHMIRI: + switch (sub) { + case SUBLANG_DEFAULT: + return "ks_PK"; + case SUBLANG_KASHMIRI_INDIA: + return "ks_IN"; + } + return "ks"; + case LANG_KAZAK: + return "kk_KZ"; + case LANG_KONKANI: + /* FIXME: Adjust this when such locales appear on Unix. */ + return "kok_IN"; + case LANG_KOREAN: + return "ko_KR"; + case LANG_KYRGYZ: + return "ky_KG"; + case LANG_LAO: + return "lo_LA"; + case LANG_LATIN: + return "la_VA"; + case LANG_LATVIAN: + return "lv_LV"; + case LANG_LITHUANIAN: + return "lt_LT"; + case LANG_MACEDONIAN: + return "mk_MK"; + case LANG_MALAY: + switch (sub) { + case SUBLANG_MALAY_MALAYSIA: + return "ms_MY"; + case SUBLANG_MALAY_BRUNEI_DARUSSALAM: + return "ms_BN"; + } + return "ms"; + case LANG_MALAYALAM: + return "ml_IN"; + case LANG_MALTESE: + return "mt_MT"; + case LANG_MANIPURI: + /* FIXME: Adjust this when such locales appear on Unix. */ + return "mni_IN"; + case LANG_MARATHI: + return "mr_IN"; + case LANG_MONGOLIAN: + switch (sub) { + case SUBLANG_DEFAULT: + return "mn_MN"; + } + return "mn"; /* Ambiguous: could be "mn_CN" or "mn_MN". */ + case LANG_NEPALI: + switch (sub) { + case SUBLANG_DEFAULT: + return "ne_NP"; + case SUBLANG_NEPALI_INDIA: + return "ne_IN"; + } + return "ne"; + case LANG_NORWEGIAN: + switch (sub) { + case SUBLANG_NORWEGIAN_BOKMAL: + return "nb_NO"; + case SUBLANG_NORWEGIAN_NYNORSK: + return "nn_NO"; + } + return "no"; + case LANG_ORIYA: + return "or_IN"; + case LANG_OROMO: + return "om_ET"; + case LANG_PAPIAMENTU: + return "pap_AN"; + case LANG_PASHTO: + return "ps"; /* Ambiguous: could be "ps_PK" or "ps_AF". */ + case LANG_POLISH: + return "pl_PL"; + case LANG_PORTUGUESE: + switch (sub) { + case SUBLANG_PORTUGUESE: + return "pt_PT"; + /* Hmm. SUBLANG_PORTUGUESE_BRAZILIAN == SUBLANG_DEFAULT. + Same phenomenon as SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. */ + case SUBLANG_PORTUGUESE_BRAZILIAN: + return "pt_BR"; + } + return "pt"; + case LANG_PUNJABI: + switch (sub) { + case SUBLANG_PUNJABI_INDIA: + return "pa_IN"; /* Gurmukhi script */ + case SUBLANG_PUNJABI_PAKISTAN: + return "pa_PK"; /* Arabic script */ + } + return "pa"; + case LANG_RHAETO_ROMANCE: + return "rm_CH"; + case LANG_ROMANIAN: + switch (sub) { + case SUBLANG_ROMANIAN_ROMANIA: + return "ro_RO"; + case SUBLANG_ROMANIAN_MOLDOVA: + return "ro_MD"; + } + return "ro"; + case LANG_RUSSIAN: + switch (sub) { + case SUBLANG_DEFAULT: + return "ru_RU"; + } + return "ru"; /* Ambiguous: could be "ru_RU" or "ru_UA" or "ru_MD". */ + case LANG_SAAMI: /* actually Northern Sami */ + return "se_NO"; + case LANG_SANSKRIT: + return "sa_IN"; + case LANG_SINDHI: + switch (sub) { + case SUBLANG_SINDHI_PAKISTAN: + return "sd_PK"; + case SUBLANG_SINDHI_AFGHANISTAN: + return "sd_AF"; + } + return "sd"; + case LANG_SINHALESE: + return "si_LK"; + case LANG_SLOVAK: + return "sk_SK"; + case LANG_SLOVENIAN: + return "sl_SI"; + case LANG_SOMALI: + return "so_SO"; + case LANG_SORBIAN: + /* FIXME: Adjust this when such locales appear on Unix. */ + return "wen_DE"; + case LANG_SPANISH: + switch (sub) { + case SUBLANG_SPANISH: + return "es_ES"; + case SUBLANG_SPANISH_MEXICAN: + return "es_MX"; + case SUBLANG_SPANISH_MODERN: + return "es_ES@modern"; /* not seen on Unix */ + case SUBLANG_SPANISH_GUATEMALA: + return "es_GT"; + case SUBLANG_SPANISH_COSTA_RICA: + return "es_CR"; + case SUBLANG_SPANISH_PANAMA: + return "es_PA"; + case SUBLANG_SPANISH_DOMINICAN_REPUBLIC: + return "es_DO"; + case SUBLANG_SPANISH_VENEZUELA: + return "es_VE"; + case SUBLANG_SPANISH_COLOMBIA: + return "es_CO"; + case SUBLANG_SPANISH_PERU: + return "es_PE"; + case SUBLANG_SPANISH_ARGENTINA: + return "es_AR"; + case SUBLANG_SPANISH_ECUADOR: + return "es_EC"; + case SUBLANG_SPANISH_CHILE: + return "es_CL"; + case SUBLANG_SPANISH_URUGUAY: + return "es_UY"; + case SUBLANG_SPANISH_PARAGUAY: + return "es_PY"; + case SUBLANG_SPANISH_BOLIVIA: + return "es_BO"; + case SUBLANG_SPANISH_EL_SALVADOR: + return "es_SV"; + case SUBLANG_SPANISH_HONDURAS: + return "es_HN"; + case SUBLANG_SPANISH_NICARAGUA: + return "es_NI"; + case SUBLANG_SPANISH_PUERTO_RICO: + return "es_PR"; + } + return "es"; + case LANG_SUTU: + return "bnt_TZ"; /* or "st_LS" or "nso_ZA"? */ + case LANG_SWAHILI: + return "sw_KE"; + case LANG_SWEDISH: + switch (sub) { + case SUBLANG_DEFAULT: + return "sv_SE"; + case SUBLANG_SWEDISH_FINLAND: + return "sv_FI"; + } + return "sv"; + case LANG_SYRIAC: + return "syr_TR"; /* An extinct language. */ + case LANG_TAGALOG: + return "tl_PH"; + case LANG_TAJIK: + return "tg_TJ"; + case LANG_TAMAZIGHT: + switch (sub) { + /* FIXME: Adjust this when Tamazight locales appear on Unix. */ + case SUBLANG_TAMAZIGHT_ARABIC: + return "ber_MA@arabic"; + case SUBLANG_TAMAZIGHT_ALGERIA_LATIN: + return "ber_DZ@latin"; + } + return "ber_MA"; + case LANG_TAMIL: + switch (sub) { + case SUBLANG_DEFAULT: + return "ta_IN"; + } + return "ta"; /* Ambiguous: could be "ta_IN" or "ta_LK" or "ta_SG". */ + case LANG_TATAR: + return "tt_RU"; + case LANG_TELUGU: + return "te_IN"; + case LANG_THAI: + return "th_TH"; + case LANG_TIBETAN: + return "bo_CN"; + case LANG_TIGRINYA: + switch (sub) { + case SUBLANG_TIGRINYA_ETHIOPIA: + return "ti_ET"; + case SUBLANG_TIGRINYA_ERITREA: + return "ti_ER"; + } + return "ti"; + case LANG_TSONGA: + return "ts_ZA"; + case LANG_TSWANA: + return "tn_BW"; + case LANG_TURKISH: + return "tr_TR"; + case LANG_TURKMEN: + return "tk_TM"; + case LANG_UKRAINIAN: + return "uk_UA"; + case LANG_URDU: + switch (sub) { + case SUBLANG_URDU_PAKISTAN: + return "ur_PK"; + case SUBLANG_URDU_INDIA: + return "ur_IN"; + } + return "ur"; + case LANG_UZBEK: + switch (sub) { + case SUBLANG_UZBEK_LATIN: + return "uz_UZ"; + case SUBLANG_UZBEK_CYRILLIC: + return "uz_UZ@cyrillic"; + } + return "uz"; + case LANG_VENDA: + return "ve_ZA"; + case LANG_VIETNAMESE: + return "vi_VN"; + case LANG_WELSH: + return "cy_GB"; + case LANG_XHOSA: + return "xh_ZA"; + case LANG_YI: + return "sit_CN"; + case LANG_YIDDISH: + return "yi_IL"; + case LANG_YORUBA: + return "yo_NG"; + case LANG_ZULU: + return "zu_ZA"; + default: + return "C"; + } } # endif #endif } const char * -gl_locale_name (int category, const char *categoryname) -{ +gl_locale_name(int category, const char *categoryname) { const char *retval; - retval = gl_locale_name_posix (category, categoryname); + retval = gl_locale_name_posix(category, categoryname); if (retval != NULL) return retval; - return gl_locale_name_default (); + return gl_locale_name_default(); }
View file
LiVES-2.8.4.tar.bz2/intl/lock.c -> LiVES-2.8.6.tar.bz2/intl/lock.c
Changed
@@ -34,34 +34,30 @@ /* The function to be executed by a dummy thread. */ static void * -dummy_thread_func (void *arg) -{ +dummy_thread_func(void *arg) { return arg; } int -glthread_in_use (void) -{ +glthread_in_use(void) { static int tested; static int result; /* 1: linked with -lpthread, 0: only with libc */ - if (!tested) - { - pthread_t thread; - - if (pthread_create (&thread, NULL, dummy_thread_func, NULL) != 0) - /* Thread creation failed. */ - result = 0; - else - { - /* Thread creation works. */ - void *retval; - if (pthread_join (thread, &retval) != 0) - abort (); - result = 1; - } - tested = 1; + if (!tested) { + pthread_t thread; + + if (pthread_create(&thread, NULL, dummy_thread_func, NULL) != 0) + /* Thread creation failed. */ + result = 0; + else { + /* Thread creation works. */ + void *retval; + if (pthread_join(thread, &retval) != 0) + abort(); + result = 1; } + tested = 1; + } return result; } @@ -76,61 +72,54 @@ # if !defined PTHREAD_RWLOCK_INITIALIZER void -glthread_rwlock_init (gl_rwlock_t *lock) -{ - if (pthread_rwlock_init (&lock->rwlock, NULL) != 0) - abort (); +glthread_rwlock_init(gl_rwlock_t *lock) { + if (pthread_rwlock_init(&lock->rwlock, NULL) != 0) + abort(); lock->initialized = 1; } void -glthread_rwlock_rdlock (gl_rwlock_t *lock) -{ - if (!lock->initialized) - { - if (pthread_mutex_lock (&lock->guard) != 0) - abort (); - if (!lock->initialized) - glthread_rwlock_init (lock); - if (pthread_mutex_unlock (&lock->guard) != 0) - abort (); - } - if (pthread_rwlock_rdlock (&lock->rwlock) != 0) - abort (); +glthread_rwlock_rdlock(gl_rwlock_t *lock) { + if (!lock->initialized) { + if (pthread_mutex_lock(&lock->guard) != 0) + abort(); + if (!lock->initialized) + glthread_rwlock_init(lock); + if (pthread_mutex_unlock(&lock->guard) != 0) + abort(); + } + if (pthread_rwlock_rdlock(&lock->rwlock) != 0) + abort(); } void -glthread_rwlock_wrlock (gl_rwlock_t *lock) -{ - if (!lock->initialized) - { - if (pthread_mutex_lock (&lock->guard) != 0) - abort (); - if (!lock->initialized) - glthread_rwlock_init (lock); - if (pthread_mutex_unlock (&lock->guard) != 0) - abort (); - } - if (pthread_rwlock_wrlock (&lock->rwlock) != 0) - abort (); +glthread_rwlock_wrlock(gl_rwlock_t *lock) { + if (!lock->initialized) { + if (pthread_mutex_lock(&lock->guard) != 0) + abort(); + if (!lock->initialized) + glthread_rwlock_init(lock); + if (pthread_mutex_unlock(&lock->guard) != 0) + abort(); + } + if (pthread_rwlock_wrlock(&lock->rwlock) != 0) + abort(); } void -glthread_rwlock_unlock (gl_rwlock_t *lock) -{ +glthread_rwlock_unlock(gl_rwlock_t *lock) { if (!lock->initialized) - abort (); - if (pthread_rwlock_unlock (&lock->rwlock) != 0) - abort (); + abort(); + if (pthread_rwlock_unlock(&lock->rwlock) != 0) + abort(); } void -glthread_rwlock_destroy (gl_rwlock_t *lock) -{ +glthread_rwlock_destroy(gl_rwlock_t *lock) { if (!lock->initialized) - abort (); - if (pthread_rwlock_destroy (&lock->rwlock) != 0) - abort (); + abort(); + if (pthread_rwlock_destroy(&lock->rwlock) != 0) + abort(); lock->initialized = 0; } @@ -139,110 +128,96 @@ # else void -glthread_rwlock_init (gl_rwlock_t *lock) -{ - if (pthread_mutex_init (&lock->lock, NULL) != 0) - abort (); - if (pthread_cond_init (&lock->waiting_readers, NULL) != 0) - abort (); - if (pthread_cond_init (&lock->waiting_writers, NULL) != 0) - abort (); +glthread_rwlock_init(gl_rwlock_t *lock) { + if (pthread_mutex_init(&lock->lock, NULL) != 0) + abort(); + if (pthread_cond_init(&lock->waiting_readers, NULL) != 0) + abort(); + if (pthread_cond_init(&lock->waiting_writers, NULL) != 0) + abort(); lock->waiting_writers_count = 0; lock->runcount = 0; } void -glthread_rwlock_rdlock (gl_rwlock_t *lock) -{ - if (pthread_mutex_lock (&lock->lock) != 0) - abort (); +glthread_rwlock_rdlock(gl_rwlock_t *lock) { + if (pthread_mutex_lock(&lock->lock) != 0) + abort(); /* Test whether only readers are currently running, and whether the runcount field will not overflow. */ /* POSIX says: "It is implementation-defined whether the calling thread acquires the lock when a writer does not hold the lock and there are writers blocked on the lock." Let's say, no: give the writers a higher priority. */ - while (!(lock->runcount + 1 > 0 && lock->waiting_writers_count == 0)) - { - /* This thread has to wait for a while. Enqueue it among the - waiting_readers. */ - if (pthread_cond_wait (&lock->waiting_readers, &lock->lock) != 0) - abort (); - } + while (!(lock->runcount + 1 > 0 && lock->waiting_writers_count == 0)) { + /* This thread has to wait for a while. Enqueue it among the + waiting_readers. */ + if (pthread_cond_wait(&lock->waiting_readers, &lock->lock) != 0) + abort(); + } lock->runcount++; - if (pthread_mutex_unlock (&lock->lock) != 0) - abort (); + if (pthread_mutex_unlock(&lock->lock) != 0) + abort(); } void -glthread_rwlock_wrlock (gl_rwlock_t *lock) -{ - if (pthread_mutex_lock (&lock->lock) != 0) - abort (); +glthread_rwlock_wrlock(gl_rwlock_t *lock) { + if (pthread_mutex_lock(&lock->lock) != 0) + abort(); /* Test whether no readers or writers are currently running. */ - while (!(lock->runcount == 0)) - { - /* This thread has to wait for a while. Enqueue it among the - waiting_writers. */ - lock->waiting_writers_count++; - if (pthread_cond_wait (&lock->waiting_writers, &lock->lock) != 0) - abort (); - lock->waiting_writers_count--; - } + while (!(lock->runcount == 0)) { + /* This thread has to wait for a while. Enqueue it among the + waiting_writers. */ + lock->waiting_writers_count++; + if (pthread_cond_wait(&lock->waiting_writers, &lock->lock) != 0) + abort(); + lock->waiting_writers_count--; + } lock->runcount--; /* runcount becomes -1 */ - if (pthread_mutex_unlock (&lock->lock) != 0) - abort (); -} - -void -glthread_rwlock_unlock (gl_rwlock_t *lock) -{ - if (pthread_mutex_lock (&lock->lock) != 0) - abort (); - if (lock->runcount < 0) - { - /* Drop a writer lock. */ - if (!(lock->runcount == -1)) - abort (); - lock->runcount = 0; - } - else - { - /* Drop a reader lock. */ - if (!(lock->runcount > 0)) - abort (); - lock->runcount--; - } - if (lock->runcount == 0) - { - /* POSIX recommends that "write locks shall take precedence over read - locks", to avoid "writer starvation". */ - if (lock->waiting_writers_count > 0) - { - /* Wake up one of the waiting writers. */ - if (pthread_cond_signal (&lock->waiting_writers) != 0) - abort (); - } - else - { - /* Wake up all waiting readers. */ - if (pthread_cond_broadcast (&lock->waiting_readers) != 0) - abort (); - } + if (pthread_mutex_unlock(&lock->lock) != 0) + abort(); +} + +void +glthread_rwlock_unlock(gl_rwlock_t *lock) { + if (pthread_mutex_lock(&lock->lock) != 0) + abort(); + if (lock->runcount < 0) { + /* Drop a writer lock. */ + if (!(lock->runcount == -1)) + abort(); + lock->runcount = 0; + } else { + /* Drop a reader lock. */ + if (!(lock->runcount > 0)) + abort(); + lock->runcount--; + } + if (lock->runcount == 0) { + /* POSIX recommends that "write locks shall take precedence over read + locks", to avoid "writer starvation". */ + if (lock->waiting_writers_count > 0) { + /* Wake up one of the waiting writers. */ + if (pthread_cond_signal(&lock->waiting_writers) != 0) + abort(); + } else { + /* Wake up all waiting readers. */ + if (pthread_cond_broadcast(&lock->waiting_readers) != 0) + abort(); } - if (pthread_mutex_unlock (&lock->lock) != 0) - abort (); + } + if (pthread_mutex_unlock(&lock->lock) != 0) + abort(); } void -glthread_rwlock_destroy (gl_rwlock_t *lock) -{ - if (pthread_mutex_destroy (&lock->lock) != 0) - abort (); - if (pthread_cond_destroy (&lock->waiting_readers) != 0) - abort (); - if (pthread_cond_destroy (&lock->waiting_writers) != 0) - abort (); +glthread_rwlock_destroy(gl_rwlock_t *lock) { + if (pthread_mutex_destroy(&lock->lock) != 0) + abort(); + if (pthread_cond_destroy(&lock->waiting_readers) != 0) + abort(); + if (pthread_cond_destroy(&lock->waiting_writers) != 0) + abort(); } # endif @@ -254,53 +229,48 @@ # if !(defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER || defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) void -glthread_recursive_lock_init (gl_recursive_lock_t *lock) -{ +glthread_recursive_lock_init(gl_recursive_lock_t *lock) { pthread_mutexattr_t attributes; - if (pthread_mutexattr_init (&attributes) != 0) - abort (); - if (pthread_mutexattr_settype (&attributes, PTHREAD_MUTEX_RECURSIVE) != 0) - abort (); - if (pthread_mutex_init (&lock->recmutex, &attributes) != 0) - abort (); - if (pthread_mutexattr_destroy (&attributes) != 0) - abort (); + if (pthread_mutexattr_init(&attributes) != 0) + abort(); + if (pthread_mutexattr_settype(&attributes, PTHREAD_MUTEX_RECURSIVE) != 0) + abort(); + if (pthread_mutex_init(&lock->recmutex, &attributes) != 0) + abort(); + if (pthread_mutexattr_destroy(&attributes) != 0) + abort(); lock->initialized = 1; } void -glthread_recursive_lock_lock (gl_recursive_lock_t *lock) -{ - if (!lock->initialized) - { - if (pthread_mutex_lock (&lock->guard) != 0) - abort (); - if (!lock->initialized) - glthread_recursive_lock_init (lock); - if (pthread_mutex_unlock (&lock->guard) != 0) - abort (); - } - if (pthread_mutex_lock (&lock->recmutex) != 0) - abort (); +glthread_recursive_lock_lock(gl_recursive_lock_t *lock) { + if (!lock->initialized) { + if (pthread_mutex_lock(&lock->guard) != 0) + abort(); + if (!lock->initialized) + glthread_recursive_lock_init(lock); + if (pthread_mutex_unlock(&lock->guard) != 0) + abort(); + } + if (pthread_mutex_lock(&lock->recmutex) != 0) + abort(); } void -glthread_recursive_lock_unlock (gl_recursive_lock_t *lock) -{ +glthread_recursive_lock_unlock(gl_recursive_lock_t *lock) { if (!lock->initialized) - abort (); - if (pthread_mutex_unlock (&lock->recmutex) != 0) - abort (); + abort(); + if (pthread_mutex_unlock(&lock->recmutex) != 0) + abort(); } void -glthread_recursive_lock_destroy (gl_recursive_lock_t *lock) -{ +glthread_recursive_lock_destroy(gl_recursive_lock_t *lock) { if (!lock->initialized) - abort (); - if (pthread_mutex_destroy (&lock->recmutex) != 0) - abort (); + abort(); + if (pthread_mutex_destroy(&lock->recmutex) != 0) + abort(); lock->initialized = 0; } @@ -309,50 +279,44 @@ # else void -glthread_recursive_lock_init (gl_recursive_lock_t *lock) -{ - if (pthread_mutex_init (&lock->mutex, NULL) != 0) - abort (); +glthread_recursive_lock_init(gl_recursive_lock_t *lock) { + if (pthread_mutex_init(&lock->mutex, NULL) != 0) + abort(); lock->owner = (pthread_t) 0; lock->depth = 0; } void -glthread_recursive_lock_lock (gl_recursive_lock_t *lock) -{ - pthread_t self = pthread_self (); - if (lock->owner != self) - { - if (pthread_mutex_lock (&lock->mutex) != 0) - abort (); - lock->owner = self; - } +glthread_recursive_lock_lock(gl_recursive_lock_t *lock) { + pthread_t self = pthread_self(); + if (lock->owner != self) { + if (pthread_mutex_lock(&lock->mutex) != 0) + abort(); + lock->owner = self; + } if (++(lock->depth) == 0) /* wraparound? */ - abort (); + abort(); } void -glthread_recursive_lock_unlock (gl_recursive_lock_t *lock) -{ - if (lock->owner != pthread_self ()) - abort (); +glthread_recursive_lock_unlock(gl_recursive_lock_t *lock) { + if (lock->owner != pthread_self()) + abort(); if (lock->depth == 0) - abort (); - if (--(lock->depth) == 0) - { - lock->owner = (pthread_t) 0; - if (pthread_mutex_unlock (&lock->mutex) != 0) - abort (); - } + abort(); + if (--(lock->depth) == 0) { + lock->owner = (pthread_t) 0; + if (pthread_mutex_unlock(&lock->mutex) != 0) + abort(); + } } void -glthread_recursive_lock_destroy (gl_recursive_lock_t *lock) -{ +glthread_recursive_lock_destroy(gl_recursive_lock_t *lock) { if (lock->owner != (pthread_t) 0) - abort (); - if (pthread_mutex_destroy (&lock->mutex) != 0) - abort (); + abort(); + if (pthread_mutex_destroy(&lock->mutex) != 0) + abort(); } # endif @@ -362,18 +326,15 @@ static const pthread_once_t fresh_once = PTHREAD_ONCE_INIT; int -glthread_once_singlethreaded (pthread_once_t *once_control) -{ +glthread_once_singlethreaded(pthread_once_t *once_control) { /* We don't know whether pthread_once_t is an integer type, a floating-point type, a pointer type, or a structure type. */ char *firstbyte = (char *)once_control; - if (*firstbyte == *(const char *)&fresh_once) - { - /* First time use of once_control. Invert the first byte. */ - *firstbyte = ~ *(const char *)&fresh_once; - return 1; - } - else + if (*firstbyte == *(const char *)&fresh_once) { + /* First time use of once_control. Invert the first byte. */ + *firstbyte = ~ *(const char *)&fresh_once; + return 1; + } else return 0; } @@ -394,24 +355,20 @@ /* -------------------------- gl_once_t datatype -------------------------- */ void -glthread_once_call (void *arg) -{ - void (**gl_once_temp_addr) (void) = (void (**) (void)) arg; - void (*initfunction) (void) = *gl_once_temp_addr; - initfunction (); +glthread_once_call(void *arg) { + void (**gl_once_temp_addr)(void) = (void ( * *)(void)) arg; + void (*initfunction)(void) = *gl_once_temp_addr; + initfunction(); } int -glthread_once_singlethreaded (pth_once_t *once_control) -{ +glthread_once_singlethreaded(pth_once_t *once_control) { /* We know that pth_once_t is an integer type. */ - if (*once_control == PTH_ONCE_INIT) - { - /* First time use of once_control. Invert the marker. */ - *once_control = ~ PTH_ONCE_INIT; - return 1; - } - else + if (*once_control == PTH_ONCE_INIT) { + /* First time use of once_control. Invert the marker. */ + *once_control = ~ PTH_ONCE_INIT; + return 1; + } else return 0; } @@ -430,84 +387,72 @@ /* --------------------- gl_recursive_lock_t datatype --------------------- */ void -glthread_recursive_lock_init (gl_recursive_lock_t *lock) -{ - if (mutex_init (&lock->mutex, USYNC_THREAD, NULL) != 0) - abort (); +glthread_recursive_lock_init(gl_recursive_lock_t *lock) { + if (mutex_init(&lock->mutex, USYNC_THREAD, NULL) != 0) + abort(); lock->owner = (thread_t) 0; lock->depth = 0; } void -glthread_recursive_lock_lock (gl_recursive_lock_t *lock) -{ - thread_t self = thr_self (); - if (lock->owner != self) - { - if (mutex_lock (&lock->mutex) != 0) - abort (); - lock->owner = self; - } +glthread_recursive_lock_lock(gl_recursive_lock_t *lock) { + thread_t self = thr_self(); + if (lock->owner != self) { + if (mutex_lock(&lock->mutex) != 0) + abort(); + lock->owner = self; + } if (++(lock->depth) == 0) /* wraparound? */ - abort (); + abort(); } void -glthread_recursive_lock_unlock (gl_recursive_lock_t *lock) -{ - if (lock->owner != thr_self ()) - abort (); +glthread_recursive_lock_unlock(gl_recursive_lock_t *lock) { + if (lock->owner != thr_self()) + abort(); if (lock->depth == 0) - abort (); - if (--(lock->depth) == 0) - { - lock->owner = (thread_t) 0; - if (mutex_unlock (&lock->mutex) != 0) - abort (); - } + abort(); + if (--(lock->depth) == 0) { + lock->owner = (thread_t) 0; + if (mutex_unlock(&lock->mutex) != 0) + abort(); + } } void -glthread_recursive_lock_destroy (gl_recursive_lock_t *lock) -{ +glthread_recursive_lock_destroy(gl_recursive_lock_t *lock) { if (lock->owner != (thread_t) 0) - abort (); - if (mutex_destroy (&lock->mutex) != 0) - abort (); + abort(); + if (mutex_destroy(&lock->mutex) != 0) + abort(); } /* -------------------------- gl_once_t datatype -------------------------- */ void -glthread_once (gl_once_t *once_control, void (*initfunction) (void)) -{ - if (!once_control->inited) - { - /* Use the mutex to guarantee that if another thread is already calling - the initfunction, this thread waits until it's finished. */ - if (mutex_lock (&once_control->mutex) != 0) - abort (); - if (!once_control->inited) - { - once_control->inited = 1; - initfunction (); - } - if (mutex_unlock (&once_control->mutex) != 0) - abort (); +glthread_once(gl_once_t *once_control, void (*initfunction)(void)) { + if (!once_control->inited) { + /* Use the mutex to guarantee that if another thread is already calling + the initfunction, this thread waits until it's finished. */ + if (mutex_lock(&once_control->mutex) != 0) + abort(); + if (!once_control->inited) { + once_control->inited = 1; + initfunction(); } + if (mutex_unlock(&once_control->mutex) != 0) + abort(); + } } int -glthread_once_singlethreaded (gl_once_t *once_control) -{ +glthread_once_singlethreaded(gl_once_t *once_control) { /* We know that gl_once_t contains an integer type. */ - if (!once_control->inited) - { - /* First time use of once_control. Invert the marker. */ - once_control->inited = ~ 0; - return 1; - } - else + if (!once_control->inited) { + /* First time use of once_control. Invert the marker. */ + once_control->inited = ~ 0; + return 1; + } else return 0; } @@ -520,51 +465,45 @@ /* -------------------------- gl_lock_t datatype -------------------------- */ void -glthread_lock_init (gl_lock_t *lock) -{ - InitializeCriticalSection (&lock->lock); +glthread_lock_init(gl_lock_t *lock) { + InitializeCriticalSection(&lock->lock); lock->guard.done = 1; } void -glthread_lock_lock (gl_lock_t *lock) -{ - if (!lock->guard.done) - { - if (InterlockedIncrement (&lock->guard.started) == 0) - /* This thread is the first one to need this lock. Initialize it. */ - glthread_lock_init (lock); - else - /* Yield the CPU while waiting for another thread to finish - initializing this lock. */ - while (!lock->guard.done) - Sleep (0); - } - EnterCriticalSection (&lock->lock); +glthread_lock_lock(gl_lock_t *lock) { + if (!lock->guard.done) { + if (InterlockedIncrement(&lock->guard.started) == 0) + /* This thread is the first one to need this lock. Initialize it. */ + glthread_lock_init(lock); + else + /* Yield the CPU while waiting for another thread to finish + initializing this lock. */ + while (!lock->guard.done) + Sleep(0); + } + EnterCriticalSection(&lock->lock); } void -glthread_lock_unlock (gl_lock_t *lock) -{ +glthread_lock_unlock(gl_lock_t *lock) { if (!lock->guard.done) - abort (); - LeaveCriticalSection (&lock->lock); + abort(); + LeaveCriticalSection(&lock->lock); } void -glthread_lock_destroy (gl_lock_t *lock) -{ +glthread_lock_destroy(gl_lock_t *lock) { if (!lock->guard.done) - abort (); - DeleteCriticalSection (&lock->lock); + abort(); + DeleteCriticalSection(&lock->lock); lock->guard.done = 0; } /* ------------------------- gl_rwlock_t datatype ------------------------- */ static inline void -gl_waitqueue_init (gl_waitqueue_t *wq) -{ +gl_waitqueue_init(gl_waitqueue_t *wq) { wq->array = NULL; wq->count = 0; wq->alloc = 0; @@ -574,41 +513,37 @@ /* Enqueues the current thread, represented by an event, in a wait queue. Returns INVALID_HANDLE_VALUE if an allocation failure occurs. */ static HANDLE -gl_waitqueue_add (gl_waitqueue_t *wq) -{ +gl_waitqueue_add(gl_waitqueue_t *wq) { HANDLE event; unsigned int index; - if (wq->count == wq->alloc) - { - unsigned int new_alloc = 2 * wq->alloc + 1; - HANDLE *new_array = - (HANDLE *) realloc (wq->array, new_alloc * sizeof (HANDLE)); - if (new_array == NULL) - /* No more memory. */ - return INVALID_HANDLE_VALUE; - /* Now is a good opportunity to rotate the array so that its contents - starts at offset 0. */ - if (wq->offset > 0) - { - unsigned int old_count = wq->count; - unsigned int old_alloc = wq->alloc; - unsigned int old_offset = wq->offset; - unsigned int i; - if (old_offset + old_count > old_alloc) - { - unsigned int limit = old_offset + old_count - old_alloc; - for (i = 0; i < limit; i++) - new_array[old_alloc + i] = new_array[i]; - } - for (i = 0; i < old_count; i++) - new_array[i] = new_array[old_offset + i]; - wq->offset = 0; - } - wq->array = new_array; - wq->alloc = new_alloc; + if (wq->count == wq->alloc) { + unsigned int new_alloc = 2 * wq->alloc + 1; + HANDLE *new_array = + (HANDLE *) realloc(wq->array, new_alloc * sizeof(HANDLE)); + if (new_array == NULL) + /* No more memory. */ + return INVALID_HANDLE_VALUE; + /* Now is a good opportunity to rotate the array so that its contents + starts at offset 0. */ + if (wq->offset > 0) { + unsigned int old_count = wq->count; + unsigned int old_alloc = wq->alloc; + unsigned int old_offset = wq->offset; + unsigned int i; + if (old_offset + old_count > old_alloc) { + unsigned int limit = old_offset + old_count - old_alloc; + for (i = 0; i < limit; i++) + new_array[old_alloc + i] = new_array[i]; + } + for (i = 0; i < old_count; i++) + new_array[i] = new_array[old_offset + i]; + wq->offset = 0; } - event = CreateEvent (NULL, TRUE, FALSE, NULL); + wq->array = new_array; + wq->alloc = new_alloc; + } + event = CreateEvent(NULL, TRUE, FALSE, NULL); if (event == INVALID_HANDLE_VALUE) /* No way to allocate an event. */ return INVALID_HANDLE_VALUE; @@ -622,9 +557,8 @@ /* Notifies the first thread from a wait queue and dequeues it. */ static inline void -gl_waitqueue_notify_first (gl_waitqueue_t *wq) -{ - SetEvent (wq->array[wq->offset + 0]); +gl_waitqueue_notify_first(gl_waitqueue_t *wq) { + SetEvent(wq->array[wq->offset + 0]); wq->offset++; wq->count--; if (wq->count == 0 || wq->offset == wq->alloc) @@ -633,288 +567,247 @@ /* Notifies all threads from a wait queue and dequeues them all. */ static inline void -gl_waitqueue_notify_all (gl_waitqueue_t *wq) -{ +gl_waitqueue_notify_all(gl_waitqueue_t *wq) { unsigned int i; - for (i = 0; i < wq->count; i++) - { - unsigned int index = wq->offset + i; - if (index >= wq->alloc) - index -= wq->alloc; - SetEvent (wq->array[index]); - } + for (i = 0; i < wq->count; i++) { + unsigned int index = wq->offset + i; + if (index >= wq->alloc) + index -= wq->alloc; + SetEvent(wq->array[index]); + } wq->count = 0; wq->offset = 0; } void -glthread_rwlock_init (gl_rwlock_t *lock) -{ - InitializeCriticalSection (&lock->lock); - gl_waitqueue_init (&lock->waiting_readers); - gl_waitqueue_init (&lock->waiting_writers); +glthread_rwlock_init(gl_rwlock_t *lock) { + InitializeCriticalSection(&lock->lock); + gl_waitqueue_init(&lock->waiting_readers); + gl_waitqueue_init(&lock->waiting_writers); lock->runcount = 0; lock->guard.done = 1; } void -glthread_rwlock_rdlock (gl_rwlock_t *lock) -{ - if (!lock->guard.done) - { - if (InterlockedIncrement (&lock->guard.started) == 0) - /* This thread is the first one to need this lock. Initialize it. */ - glthread_rwlock_init (lock); - else - /* Yield the CPU while waiting for another thread to finish - initializing this lock. */ - while (!lock->guard.done) - Sleep (0); - } - EnterCriticalSection (&lock->lock); +glthread_rwlock_rdlock(gl_rwlock_t *lock) { + if (!lock->guard.done) { + if (InterlockedIncrement(&lock->guard.started) == 0) + /* This thread is the first one to need this lock. Initialize it. */ + glthread_rwlock_init(lock); + else + /* Yield the CPU while waiting for another thread to finish + initializing this lock. */ + while (!lock->guard.done) + Sleep(0); + } + EnterCriticalSection(&lock->lock); /* Test whether only readers are currently running, and whether the runcount field will not overflow. */ - if (!(lock->runcount + 1 > 0)) - { - /* This thread has to wait for a while. Enqueue it among the - waiting_readers. */ - HANDLE event = gl_waitqueue_add (&lock->waiting_readers); - if (event != INVALID_HANDLE_VALUE) - { - DWORD result; - LeaveCriticalSection (&lock->lock); - /* Wait until another thread signals this event. */ - result = WaitForSingleObject (event, INFINITE); - if (result == WAIT_FAILED || result == WAIT_TIMEOUT) - abort (); - CloseHandle (event); - /* The thread which signalled the event already did the bookkeeping: - removed us from the waiting_readers, incremented lock->runcount. */ - if (!(lock->runcount > 0)) - abort (); - return; - } - else - { - /* Allocation failure. Weird. */ - do - { - LeaveCriticalSection (&lock->lock); - Sleep (1); - EnterCriticalSection (&lock->lock); - } - while (!(lock->runcount + 1 > 0)); - } + if (!(lock->runcount + 1 > 0)) { + /* This thread has to wait for a while. Enqueue it among the + waiting_readers. */ + HANDLE event = gl_waitqueue_add(&lock->waiting_readers); + if (event != INVALID_HANDLE_VALUE) { + DWORD result; + LeaveCriticalSection(&lock->lock); + /* Wait until another thread signals this event. */ + result = WaitForSingleObject(event, INFINITE); + if (result == WAIT_FAILED || result == WAIT_TIMEOUT) + abort(); + CloseHandle(event); + /* The thread which signalled the event already did the bookkeeping: + removed us from the waiting_readers, incremented lock->runcount. */ + if (!(lock->runcount > 0)) + abort(); + return; + } else { + /* Allocation failure. Weird. */ + do { + LeaveCriticalSection(&lock->lock); + Sleep(1); + EnterCriticalSection(&lock->lock); + } while (!(lock->runcount + 1 > 0)); } + } lock->runcount++; - LeaveCriticalSection (&lock->lock); + LeaveCriticalSection(&lock->lock); } void -glthread_rwlock_wrlock (gl_rwlock_t *lock) -{ - if (!lock->guard.done) - { - if (InterlockedIncrement (&lock->guard.started) == 0) - /* This thread is the first one to need this lock. Initialize it. */ - glthread_rwlock_init (lock); - else - /* Yield the CPU while waiting for another thread to finish - initializing this lock. */ - while (!lock->guard.done) - Sleep (0); - } - EnterCriticalSection (&lock->lock); +glthread_rwlock_wrlock(gl_rwlock_t *lock) { + if (!lock->guard.done) { + if (InterlockedIncrement(&lock->guard.started) == 0) + /* This thread is the first one to need this lock. Initialize it. */ + glthread_rwlock_init(lock); + else + /* Yield the CPU while waiting for another thread to finish + initializing this lock. */ + while (!lock->guard.done) + Sleep(0); + } + EnterCriticalSection(&lock->lock); /* Test whether no readers or writers are currently running. */ - if (!(lock->runcount == 0)) - { - /* This thread has to wait for a while. Enqueue it among the - waiting_writers. */ - HANDLE event = gl_waitqueue_add (&lock->waiting_writers); - if (event != INVALID_HANDLE_VALUE) - { - DWORD result; - LeaveCriticalSection (&lock->lock); - /* Wait until another thread signals this event. */ - result = WaitForSingleObject (event, INFINITE); - if (result == WAIT_FAILED || result == WAIT_TIMEOUT) - abort (); - CloseHandle (event); - /* The thread which signalled the event already did the bookkeeping: - removed us from the waiting_writers, set lock->runcount = -1. */ - if (!(lock->runcount == -1)) - abort (); - return; - } - else - { - /* Allocation failure. Weird. */ - do - { - LeaveCriticalSection (&lock->lock); - Sleep (1); - EnterCriticalSection (&lock->lock); - } - while (!(lock->runcount == 0)); - } + if (!(lock->runcount == 0)) { + /* This thread has to wait for a while. Enqueue it among the + waiting_writers. */ + HANDLE event = gl_waitqueue_add(&lock->waiting_writers); + if (event != INVALID_HANDLE_VALUE) { + DWORD result; + LeaveCriticalSection(&lock->lock); + /* Wait until another thread signals this event. */ + result = WaitForSingleObject(event, INFINITE); + if (result == WAIT_FAILED || result == WAIT_TIMEOUT) + abort(); + CloseHandle(event); + /* The thread which signalled the event already did the bookkeeping: + removed us from the waiting_writers, set lock->runcount = -1. */ + if (!(lock->runcount == -1)) + abort(); + return; + } else { + /* Allocation failure. Weird. */ + do { + LeaveCriticalSection(&lock->lock); + Sleep(1); + EnterCriticalSection(&lock->lock); + } while (!(lock->runcount == 0)); } + } lock->runcount--; /* runcount becomes -1 */ - LeaveCriticalSection (&lock->lock); + LeaveCriticalSection(&lock->lock); } void -glthread_rwlock_unlock (gl_rwlock_t *lock) -{ +glthread_rwlock_unlock(gl_rwlock_t *lock) { if (!lock->guard.done) - abort (); - EnterCriticalSection (&lock->lock); - if (lock->runcount < 0) - { - /* Drop a writer lock. */ - if (!(lock->runcount == -1)) - abort (); - lock->runcount = 0; - } - else - { - /* Drop a reader lock. */ - if (!(lock->runcount > 0)) - abort (); + abort(); + EnterCriticalSection(&lock->lock); + if (lock->runcount < 0) { + /* Drop a writer lock. */ + if (!(lock->runcount == -1)) + abort(); + lock->runcount = 0; + } else { + /* Drop a reader lock. */ + if (!(lock->runcount > 0)) + abort(); + lock->runcount--; + } + if (lock->runcount == 0) { + /* POSIX recommends that "write locks shall take precedence over read + locks", to avoid "writer starvation". */ + if (lock->waiting_writers.count > 0) { + /* Wake up one of the waiting writers. */ lock->runcount--; + gl_waitqueue_notify_first(&lock->waiting_writers); + } else { + /* Wake up all waiting readers. */ + lock->runcount += lock->waiting_readers.count; + gl_waitqueue_notify_all(&lock->waiting_readers); } - if (lock->runcount == 0) - { - /* POSIX recommends that "write locks shall take precedence over read - locks", to avoid "writer starvation". */ - if (lock->waiting_writers.count > 0) - { - /* Wake up one of the waiting writers. */ - lock->runcount--; - gl_waitqueue_notify_first (&lock->waiting_writers); - } - else - { - /* Wake up all waiting readers. */ - lock->runcount += lock->waiting_readers.count; - gl_waitqueue_notify_all (&lock->waiting_readers); - } - } - LeaveCriticalSection (&lock->lock); + } + LeaveCriticalSection(&lock->lock); } void -glthread_rwlock_destroy (gl_rwlock_t *lock) -{ +glthread_rwlock_destroy(gl_rwlock_t *lock) { if (!lock->guard.done) - abort (); + abort(); if (lock->runcount != 0) - abort (); - DeleteCriticalSection (&lock->lock); + abort(); + DeleteCriticalSection(&lock->lock); if (lock->waiting_readers.array != NULL) - free (lock->waiting_readers.array); + free(lock->waiting_readers.array); if (lock->waiting_writers.array != NULL) - free (lock->waiting_writers.array); + free(lock->waiting_writers.array); lock->guard.done = 0; } /* --------------------- gl_recursive_lock_t datatype --------------------- */ void -glthread_recursive_lock_init (gl_recursive_lock_t *lock) -{ +glthread_recursive_lock_init(gl_recursive_lock_t *lock) { lock->owner = 0; lock->depth = 0; - InitializeCriticalSection (&lock->lock); + InitializeCriticalSection(&lock->lock); lock->guard.done = 1; } void -glthread_recursive_lock_lock (gl_recursive_lock_t *lock) -{ - if (!lock->guard.done) - { - if (InterlockedIncrement (&lock->guard.started) == 0) - /* This thread is the first one to need this lock. Initialize it. */ - glthread_recursive_lock_init (lock); - else - /* Yield the CPU while waiting for another thread to finish - initializing this lock. */ - while (!lock->guard.done) - Sleep (0); - } +glthread_recursive_lock_lock(gl_recursive_lock_t *lock) { + if (!lock->guard.done) { + if (InterlockedIncrement(&lock->guard.started) == 0) + /* This thread is the first one to need this lock. Initialize it. */ + glthread_recursive_lock_init(lock); + else + /* Yield the CPU while waiting for another thread to finish + initializing this lock. */ + while (!lock->guard.done) + Sleep(0); + } { - DWORD self = GetCurrentThreadId (); - if (lock->owner != self) - { - EnterCriticalSection (&lock->lock); - lock->owner = self; - } + DWORD self = GetCurrentThreadId(); + if (lock->owner != self) { + EnterCriticalSection(&lock->lock); + lock->owner = self; + } if (++(lock->depth) == 0) /* wraparound? */ - abort (); + abort(); } } void -glthread_recursive_lock_unlock (gl_recursive_lock_t *lock) -{ - if (lock->owner != GetCurrentThreadId ()) - abort (); +glthread_recursive_lock_unlock(gl_recursive_lock_t *lock) { + if (lock->owner != GetCurrentThreadId()) + abort(); if (lock->depth == 0) - abort (); - if (--(lock->depth) == 0) - { - lock->owner = 0; - LeaveCriticalSection (&lock->lock); - } + abort(); + if (--(lock->depth) == 0) { + lock->owner = 0; + LeaveCriticalSection(&lock->lock); + } } void -glthread_recursive_lock_destroy (gl_recursive_lock_t *lock) -{ +glthread_recursive_lock_destroy(gl_recursive_lock_t *lock) { if (lock->owner != 0) - abort (); - DeleteCriticalSection (&lock->lock); + abort(); + DeleteCriticalSection(&lock->lock); lock->guard.done = 0; } /* -------------------------- gl_once_t datatype -------------------------- */ void -glthread_once (gl_once_t *once_control, void (*initfunction) (void)) -{ - if (once_control->inited <= 0) - { - if (InterlockedIncrement (&once_control->started) == 0) - { - /* This thread is the first one to come to this once_control. */ - InitializeCriticalSection (&once_control->lock); - EnterCriticalSection (&once_control->lock); - once_control->inited = 0; - initfunction (); - once_control->inited = 1; - LeaveCriticalSection (&once_control->lock); - } - else - { - /* Undo last operation. */ - InterlockedDecrement (&once_control->started); - /* Some other thread has already started the initialization. - Yield the CPU while waiting for the other thread to finish - initializing and taking the lock. */ - while (once_control->inited < 0) - Sleep (0); - if (once_control->inited <= 0) - { - /* Take the lock. This blocks until the other thread has - finished calling the initfunction. */ - EnterCriticalSection (&once_control->lock); - LeaveCriticalSection (&once_control->lock); - if (!(once_control->inited > 0)) - abort (); - } - } +glthread_once(gl_once_t *once_control, void (*initfunction)(void)) { + if (once_control->inited <= 0) { + if (InterlockedIncrement(&once_control->started) == 0) { + /* This thread is the first one to come to this once_control. */ + InitializeCriticalSection(&once_control->lock); + EnterCriticalSection(&once_control->lock); + once_control->inited = 0; + initfunction(); + once_control->inited = 1; + LeaveCriticalSection(&once_control->lock); + } else { + /* Undo last operation. */ + InterlockedDecrement(&once_control->started); + /* Some other thread has already started the initialization. + Yield the CPU while waiting for the other thread to finish + initializing and taking the lock. */ + while (once_control->inited < 0) + Sleep(0); + if (once_control->inited <= 0) { + /* Take the lock. This blocks until the other thread has + finished calling the initfunction. */ + EnterCriticalSection(&once_control->lock); + LeaveCriticalSection(&once_control->lock); + if (!(once_control->inited > 0)) + abort(); + } } + } } #endif
View file
LiVES-2.8.4.tar.bz2/intl/lock.h -> LiVES-2.8.6.tar.bz2/intl/lock.h
Changed
@@ -80,7 +80,7 @@ /* The pthread_in_use() detection needs to be done at runtime. */ # define pthread_in_use() \ glthread_in_use () -extern int glthread_in_use (void); +extern int glthread_in_use(void); # endif @@ -227,13 +227,12 @@ # else -typedef struct - { - int initialized; - pthread_mutex_t guard; /* protects the initialization */ - pthread_rwlock_t rwlock; /* read-write lock */ - } - gl_rwlock_t; +typedef struct { + int initialized; + pthread_mutex_t guard; /* protects the initialization */ + pthread_rwlock_t rwlock; /* read-write lock */ +} +gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_rwlock_t NAME; # define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ @@ -275,25 +274,24 @@ glthread_rwlock_destroy (&NAME); \ } \ while (0) -extern void glthread_rwlock_init (gl_rwlock_t *lock); -extern void glthread_rwlock_rdlock (gl_rwlock_t *lock); -extern void glthread_rwlock_wrlock (gl_rwlock_t *lock); -extern void glthread_rwlock_unlock (gl_rwlock_t *lock); -extern void glthread_rwlock_destroy (gl_rwlock_t *lock); +extern void glthread_rwlock_init(gl_rwlock_t *lock); +extern void glthread_rwlock_rdlock(gl_rwlock_t *lock); +extern void glthread_rwlock_wrlock(gl_rwlock_t *lock); +extern void glthread_rwlock_unlock(gl_rwlock_t *lock); +extern void glthread_rwlock_destroy(gl_rwlock_t *lock); # endif # else -typedef struct - { - pthread_mutex_t lock; /* protects the remaining fields */ - pthread_cond_t waiting_readers; /* waiting readers */ - pthread_cond_t waiting_writers; /* waiting writers */ - unsigned int waiting_writers_count; /* number of waiting writers */ - int runcount; /* number of readers running, or -1 when a writer runs */ - } - gl_rwlock_t; +typedef struct { + pthread_mutex_t lock; /* protects the remaining fields */ + pthread_cond_t waiting_readers; /* waiting readers */ + pthread_cond_t waiting_writers; /* waiting writers */ + unsigned int waiting_writers_count; /* number of waiting writers */ + int runcount; /* number of readers running, or -1 when a writer runs */ +} +gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_rwlock_t NAME; # define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ @@ -335,11 +333,11 @@ glthread_rwlock_destroy (&NAME); \ } \ while (0) -extern void glthread_rwlock_init (gl_rwlock_t *lock); -extern void glthread_rwlock_rdlock (gl_rwlock_t *lock); -extern void glthread_rwlock_wrlock (gl_rwlock_t *lock); -extern void glthread_rwlock_unlock (gl_rwlock_t *lock); -extern void glthread_rwlock_destroy (gl_rwlock_t *lock); +extern void glthread_rwlock_init(gl_rwlock_t *lock); +extern void glthread_rwlock_rdlock(gl_rwlock_t *lock); +extern void glthread_rwlock_wrlock(gl_rwlock_t *lock); +extern void glthread_rwlock_unlock(gl_rwlock_t *lock); +extern void glthread_rwlock_destroy(gl_rwlock_t *lock); # endif @@ -392,13 +390,12 @@ # else -typedef struct - { - pthread_mutex_t recmutex; /* recursive mutex */ - pthread_mutex_t guard; /* protects the initialization */ - int initialized; - } - gl_recursive_lock_t; +typedef struct { + pthread_mutex_t recmutex; /* recursive mutex */ + pthread_mutex_t guard; /* protects the initialization */ + int initialized; +} +gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME; # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ @@ -433,10 +430,10 @@ glthread_recursive_lock_destroy (&NAME); \ } \ while (0) -extern void glthread_recursive_lock_init (gl_recursive_lock_t *lock); -extern void glthread_recursive_lock_lock (gl_recursive_lock_t *lock); -extern void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock); -extern void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock); +extern void glthread_recursive_lock_init(gl_recursive_lock_t *lock); +extern void glthread_recursive_lock_lock(gl_recursive_lock_t *lock); +extern void glthread_recursive_lock_unlock(gl_recursive_lock_t *lock); +extern void glthread_recursive_lock_destroy(gl_recursive_lock_t *lock); # endif @@ -445,13 +442,12 @@ /* Old versions of POSIX threads on Solaris did not have recursive locks. We have to implement them ourselves. */ -typedef struct - { - pthread_mutex_t mutex; - pthread_t owner; - unsigned long depth; - } - gl_recursive_lock_t; +typedef struct { + pthread_mutex_t mutex; + pthread_t owner; + unsigned long depth; +} +gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME; # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ @@ -486,10 +482,10 @@ glthread_recursive_lock_destroy (&NAME); \ } \ while (0) -extern void glthread_recursive_lock_init (gl_recursive_lock_t *lock); -extern void glthread_recursive_lock_lock (gl_recursive_lock_t *lock); -extern void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock); -extern void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock); +extern void glthread_recursive_lock_init(gl_recursive_lock_t *lock); +extern void glthread_recursive_lock_lock(gl_recursive_lock_t *lock); +extern void glthread_recursive_lock_unlock(gl_recursive_lock_t *lock); +extern void glthread_recursive_lock_destroy(gl_recursive_lock_t *lock); # endif @@ -513,7 +509,7 @@ } \ } \ while (0) -extern int glthread_once_singlethreaded (pthread_once_t *once_control); +extern int glthread_once_singlethreaded(pthread_once_t *once_control); # ifdef __cplusplus } @@ -685,8 +681,8 @@ } \ } \ while (0) -extern void glthread_once_call (void *arg); -extern int glthread_once_singlethreaded (pth_once_t *once_control); +extern void glthread_once_call(void *arg); +extern int glthread_once_singlethreaded(pth_once_t *once_control); # ifdef __cplusplus } @@ -820,13 +816,12 @@ /* Old Solaris threads did not have recursive locks. We have to implement them ourselves. */ -typedef struct - { - mutex_t mutex; - thread_t owner; - unsigned long depth; - } - gl_recursive_lock_t; +typedef struct { + mutex_t mutex; + thread_t owner; + unsigned long depth; +} +gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME; # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ @@ -861,19 +856,18 @@ glthread_recursive_lock_destroy (&NAME); \ } \ while (0) -extern void glthread_recursive_lock_init (gl_recursive_lock_t *lock); -extern void glthread_recursive_lock_lock (gl_recursive_lock_t *lock); -extern void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock); -extern void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock); +extern void glthread_recursive_lock_init(gl_recursive_lock_t *lock); +extern void glthread_recursive_lock_lock(gl_recursive_lock_t *lock); +extern void glthread_recursive_lock_unlock(gl_recursive_lock_t *lock); +extern void glthread_recursive_lock_destroy(gl_recursive_lock_t *lock); /* -------------------------- gl_once_t datatype -------------------------- */ -typedef struct - { - volatile int inited; - mutex_t mutex; - } - gl_once_t; +typedef struct { + volatile int inited; + mutex_t mutex; +} +gl_once_t; # define gl_once_define(STORAGECLASS, NAME) \ STORAGECLASS gl_once_t NAME = { 0, DEFAULTMUTEX }; # define gl_once(NAME, INITFUNCTION) \ @@ -890,8 +884,8 @@ } \ } \ while (0) -extern void glthread_once (gl_once_t *once_control, void (*initfunction) (void)); -extern int glthread_once_singlethreaded (gl_once_t *once_control); +extern void glthread_once(gl_once_t *once_control, void (*initfunction)(void)); +extern int glthread_once_singlethreaded(gl_once_t *once_control); # ifdef __cplusplus } @@ -920,16 +914,18 @@ /* There is no way to statically initialize a CRITICAL_SECTION. It needs to be done lazily, once only. For this we need spinlocks. */ -typedef struct { volatile int done; volatile long started; } gl_spinlock_t; +typedef struct { + volatile int done; + volatile long started; +} gl_spinlock_t; /* -------------------------- gl_lock_t datatype -------------------------- */ -typedef struct - { - gl_spinlock_t guard; /* protects the initialization */ - CRITICAL_SECTION lock; - } - gl_lock_t; +typedef struct { + gl_spinlock_t guard; /* protects the initialization */ + CRITICAL_SECTION lock; +} +gl_lock_t; # define gl_lock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_lock_t NAME; # define gl_lock_define_initialized(STORAGECLASS, NAME) \ @@ -944,10 +940,10 @@ glthread_lock_unlock (&NAME) # define gl_lock_destroy(NAME) \ glthread_lock_destroy (&NAME) -extern void glthread_lock_init (gl_lock_t *lock); -extern void glthread_lock_lock (gl_lock_t *lock); -extern void glthread_lock_unlock (gl_lock_t *lock); -extern void glthread_lock_destroy (gl_lock_t *lock); +extern void glthread_lock_init(gl_lock_t *lock); +extern void glthread_lock_lock(gl_lock_t *lock); +extern void glthread_lock_unlock(gl_lock_t *lock); +extern void glthread_lock_destroy(gl_lock_t *lock); /* ------------------------- gl_rwlock_t datatype ------------------------- */ @@ -955,23 +951,21 @@ introducing an extra thread dedicated to managing read-write locks. Therefore here we need to use the low-level Event type. */ -typedef struct - { - HANDLE *array; /* array of waiting threads, each represented by an event */ - unsigned int count; /* number of waiting threads */ - unsigned int alloc; /* length of allocated array */ - unsigned int offset; /* index of first waiting thread in array */ - } - gl_waitqueue_t; -typedef struct - { - gl_spinlock_t guard; /* protects the initialization */ - CRITICAL_SECTION lock; /* protects the remaining fields */ - gl_waitqueue_t waiting_readers; /* waiting readers */ - gl_waitqueue_t waiting_writers; /* waiting writers */ - int runcount; /* number of readers running, or -1 when a writer runs */ - } - gl_rwlock_t; +typedef struct { + HANDLE *array; /* array of waiting threads, each represented by an event */ + unsigned int count; /* number of waiting threads */ + unsigned int alloc; /* length of allocated array */ + unsigned int offset; /* index of first waiting thread in array */ +} +gl_waitqueue_t; +typedef struct { + gl_spinlock_t guard; /* protects the initialization */ + CRITICAL_SECTION lock; /* protects the remaining fields */ + gl_waitqueue_t waiting_readers; /* waiting readers */ + gl_waitqueue_t waiting_writers; /* waiting writers */ + int runcount; /* number of readers running, or -1 when a writer runs */ +} +gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_rwlock_t NAME; # define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ @@ -988,11 +982,11 @@ glthread_rwlock_unlock (&NAME) # define gl_rwlock_destroy(NAME) \ glthread_rwlock_destroy (&NAME) -extern void glthread_rwlock_init (gl_rwlock_t *lock); -extern void glthread_rwlock_rdlock (gl_rwlock_t *lock); -extern void glthread_rwlock_wrlock (gl_rwlock_t *lock); -extern void glthread_rwlock_unlock (gl_rwlock_t *lock); -extern void glthread_rwlock_destroy (gl_rwlock_t *lock); +extern void glthread_rwlock_init(gl_rwlock_t *lock); +extern void glthread_rwlock_rdlock(gl_rwlock_t *lock); +extern void glthread_rwlock_wrlock(gl_rwlock_t *lock); +extern void glthread_rwlock_unlock(gl_rwlock_t *lock); +extern void glthread_rwlock_destroy(gl_rwlock_t *lock); /* --------------------- gl_recursive_lock_t datatype --------------------- */ @@ -1000,14 +994,13 @@ recursive lock. But we need not rely on it: It's easy to implement a recursive lock without this assumption. */ -typedef struct - { - gl_spinlock_t guard; /* protects the initialization */ - DWORD owner; - unsigned long depth; - CRITICAL_SECTION lock; - } - gl_recursive_lock_t; +typedef struct { + gl_spinlock_t guard; /* protects the initialization */ + DWORD owner; + unsigned long depth; + CRITICAL_SECTION lock; +} +gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME; # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ @@ -1022,25 +1015,24 @@ glthread_recursive_lock_unlock (&NAME) # define gl_recursive_lock_destroy(NAME) \ glthread_recursive_lock_destroy (&NAME) -extern void glthread_recursive_lock_init (gl_recursive_lock_t *lock); -extern void glthread_recursive_lock_lock (gl_recursive_lock_t *lock); -extern void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock); -extern void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock); +extern void glthread_recursive_lock_init(gl_recursive_lock_t *lock); +extern void glthread_recursive_lock_lock(gl_recursive_lock_t *lock); +extern void glthread_recursive_lock_unlock(gl_recursive_lock_t *lock); +extern void glthread_recursive_lock_destroy(gl_recursive_lock_t *lock); /* -------------------------- gl_once_t datatype -------------------------- */ -typedef struct - { - volatile int inited; - volatile long started; - CRITICAL_SECTION lock; - } - gl_once_t; +typedef struct { + volatile int inited; + volatile long started; + CRITICAL_SECTION lock; +} +gl_once_t; # define gl_once_define(STORAGECLASS, NAME) \ STORAGECLASS gl_once_t NAME = { -1, -1 }; # define gl_once(NAME, INITFUNCTION) \ glthread_once (&NAME, INITFUNCTION) -extern void glthread_once (gl_once_t *once_control, void (*initfunction) (void)); +extern void glthread_once(gl_once_t *once_control, void (*initfunction)(void)); # ifdef __cplusplus }
View file
LiVES-2.8.4.tar.bz2/intl/log.c -> LiVES-2.8.6.tar.bz2/intl/log.c
Changed
@@ -35,82 +35,71 @@ /* Print an ASCII string with quotes and escape sequences where needed. */ static void -print_escaped (FILE *stream, const char *str) -{ - putc ('"', stream); +print_escaped(FILE *stream, const char *str) { + putc('"', stream); for (; *str != '\0'; str++) - if (*str == '\n') - { - fputs ("\\n\"", stream); - if (str[1] == '\0') - return; - fputs ("\n\"", stream); - } - else - { - if (*str == '"' || *str == '\\') - putc ('\\', stream); - putc (*str, stream); - } - putc ('"', stream); + if (*str == '\n') { + fputs("\\n\"", stream); + if (str[1] == '\0') + return; + fputs("\n\"", stream); + } else { + if (*str == '"' || *str == '\\') + putc('\\', stream); + putc(*str, stream); + } + putc('"', stream); } static char *last_logfilename = NULL; static FILE *last_logfile = NULL; -__libc_lock_define_initialized (static, lock) +__libc_lock_define_initialized(static, lock) static inline void -_nl_log_untranslated_locked (const char *logfilename, const char *domainname, - const char *msgid1, const char *msgid2, int plural) -{ +_nl_log_untranslated_locked(const char *logfilename, const char *domainname, + const char *msgid1, const char *msgid2, int plural) { FILE *logfile; /* Can we reuse the last opened logfile? */ - if (last_logfilename == NULL || strcmp (logfilename, last_logfilename) != 0) - { - /* Close the last used logfile. */ - if (last_logfilename != NULL) - { - if (last_logfile != NULL) - { - fclose (last_logfile); - last_logfile = NULL; - } - free (last_logfilename); - last_logfilename = NULL; - } - /* Open the logfile. */ - last_logfilename = (char *) malloc (strlen (logfilename) + 1); - if (last_logfilename == NULL) - return; - strcpy (last_logfilename, logfilename); - last_logfile = fopen (logfilename, "a"); - if (last_logfile == NULL) - return; + if (last_logfilename == NULL || strcmp(logfilename, last_logfilename) != 0) { + /* Close the last used logfile. */ + if (last_logfilename != NULL) { + if (last_logfile != NULL) { + fclose(last_logfile); + last_logfile = NULL; + } + free(last_logfilename); + last_logfilename = NULL; } + /* Open the logfile. */ + last_logfilename = (char *) malloc(strlen(logfilename) + 1); + if (last_logfilename == NULL) + return; + strcpy(last_logfilename, logfilename); + last_logfile = fopen(logfilename, "a"); + if (last_logfile == NULL) + return; + } logfile = last_logfile; - fprintf (logfile, "domain "); - print_escaped (logfile, domainname); - fprintf (logfile, "\nmsgid "); - print_escaped (logfile, msgid1); - if (plural) - { - fprintf (logfile, "\nmsgid_plural "); - print_escaped (logfile, msgid2); - fprintf (logfile, "\nmsgstr[0] \"\"\n"); - } - else - fprintf (logfile, "\nmsgstr \"\"\n"); - putc ('\n', logfile); + fprintf(logfile, "domain "); + print_escaped(logfile, domainname); + fprintf(logfile, "\nmsgid "); + print_escaped(logfile, msgid1); + if (plural) { + fprintf(logfile, "\nmsgid_plural "); + print_escaped(logfile, msgid2); + fprintf(logfile, "\nmsgstr[0] \"\"\n"); + } else + fprintf(logfile, "\nmsgstr \"\"\n"); + putc('\n', logfile); } /* Add to the log file an entry denoting a failed translation. */ void -_nl_log_untranslated (const char *logfilename, const char *domainname, - const char *msgid1, const char *msgid2, int plural) -{ - __libc_lock_lock (lock); - _nl_log_untranslated_locked (logfilename, domainname, msgid1, msgid2, plural); - __libc_lock_unlock (lock); +_nl_log_untranslated(const char *logfilename, const char *domainname, + const char *msgid1, const char *msgid2, int plural) { + __libc_lock_lock(lock); + _nl_log_untranslated_locked(logfilename, domainname, msgid1, msgid2, plural); + __libc_lock_unlock(lock); }
View file
LiVES-2.8.4.tar.bz2/intl/ngettext.c -> LiVES-2.8.6.tar.bz2/intl/ngettext.c
Changed
@@ -54,12 +54,11 @@ LC_MESSAGES locale. If not found, returns MSGID itself (the default text). */ char * -NGETTEXT (const char *msgid1, const char *msgid2, unsigned long int n) -{ - return DCNGETTEXT (NULL, msgid1, msgid2, n, LC_MESSAGES); +NGETTEXT(const char *msgid1, const char *msgid2, unsigned long int n) { + return DCNGETTEXT(NULL, msgid1, msgid2, n, LC_MESSAGES); } #ifdef _LIBC /* Alias for function name in GNU C Library. */ -weak_alias (__ngettext, ngettext); +weak_alias(__ngettext, ngettext); #endif
View file
LiVES-2.8.4.tar.bz2/intl/os2compat.c -> LiVES-2.8.6.tar.bz2/intl/os2compat.c
Changed
@@ -26,73 +26,62 @@ #include <sys/param.h> /* A version of getenv() that works from DLLs */ -extern unsigned long DosScanEnv (const unsigned char *pszName, unsigned char **ppszValue); +extern unsigned long DosScanEnv(const unsigned char *pszName, unsigned char **ppszValue); char * -_nl_getenv (const char *name) -{ +_nl_getenv(const char *name) { unsigned char *value; - if (DosScanEnv (name, &value)) + if (DosScanEnv(name, &value)) return NULL; else return value; } /* A fixed size buffer. */ -char libintl_nl_default_dirname[MAXPATHLEN+1]; +char libintl_nl_default_dirname[MAXPATHLEN + 1]; char *_nlos2_libdir = NULL; char *_nlos2_localealiaspath = NULL; char *_nlos2_localedir = NULL; static __attribute__((constructor)) void -nlos2_initialize () -{ - char *root = getenv ("UNIXROOT"); - char *gnulocaledir = getenv ("GNULOCALEDIR"); +nlos2_initialize() { + char *root = getenv("UNIXROOT"); + char *gnulocaledir = getenv("GNULOCALEDIR"); _nlos2_libdir = gnulocaledir; - if (!_nlos2_libdir) - { - if (root) - { - size_t sl = strlen (root); - _nlos2_libdir = (char *) malloc (sl + strlen (LIBDIR) + 1); - memcpy (_nlos2_libdir, root, sl); - memcpy (_nlos2_libdir + sl, LIBDIR, strlen (LIBDIR) + 1); - } - else - _nlos2_libdir = LIBDIR; - } + if (!_nlos2_libdir) { + if (root) { + size_t sl = strlen(root); + _nlos2_libdir = (char *) malloc(sl + strlen(LIBDIR) + 1); + memcpy(_nlos2_libdir, root, sl); + memcpy(_nlos2_libdir + sl, LIBDIR, strlen(LIBDIR) + 1); + } else + _nlos2_libdir = LIBDIR; + } _nlos2_localealiaspath = gnulocaledir; - if (!_nlos2_localealiaspath) - { - if (root) - { - size_t sl = strlen (root); - _nlos2_localealiaspath = (char *) malloc (sl + strlen (LOCALE_ALIAS_PATH) + 1); - memcpy (_nlos2_localealiaspath, root, sl); - memcpy (_nlos2_localealiaspath + sl, LOCALE_ALIAS_PATH, strlen (LOCALE_ALIAS_PATH) + 1); - } - else - _nlos2_localealiaspath = LOCALE_ALIAS_PATH; - } + if (!_nlos2_localealiaspath) { + if (root) { + size_t sl = strlen(root); + _nlos2_localealiaspath = (char *) malloc(sl + strlen(LOCALE_ALIAS_PATH) + 1); + memcpy(_nlos2_localealiaspath, root, sl); + memcpy(_nlos2_localealiaspath + sl, LOCALE_ALIAS_PATH, strlen(LOCALE_ALIAS_PATH) + 1); + } else + _nlos2_localealiaspath = LOCALE_ALIAS_PATH; + } _nlos2_localedir = gnulocaledir; - if (!_nlos2_localedir) - { - if (root) - { - size_t sl = strlen (root); - _nlos2_localedir = (char *) malloc (sl + strlen (LOCALEDIR) + 1); - memcpy (_nlos2_localedir, root, sl); - memcpy (_nlos2_localedir + sl, LOCALEDIR, strlen (LOCALEDIR) + 1); - } - else - _nlos2_localedir = LOCALEDIR; - } + if (!_nlos2_localedir) { + if (root) { + size_t sl = strlen(root); + _nlos2_localedir = (char *) malloc(sl + strlen(LOCALEDIR) + 1); + memcpy(_nlos2_localedir, root, sl); + memcpy(_nlos2_localedir + sl, LOCALEDIR, strlen(LOCALEDIR) + 1); + } else + _nlos2_localedir = LOCALEDIR; + } - if (strlen (_nlos2_localedir) <= MAXPATHLEN) - strcpy (libintl_nl_default_dirname, _nlos2_localedir); + if (strlen(_nlos2_localedir) <= MAXPATHLEN) + strcpy(libintl_nl_default_dirname, _nlos2_localedir); }
View file
LiVES-2.8.4.tar.bz2/intl/plural-exp.c -> LiVES-2.8.6.tar.bz2/intl/plural-exp.c
Changed
@@ -32,13 +32,11 @@ /* These structs are the constant expression for the germanic plural form determination. It represents the expression "n != 1". */ -static const struct expression plvar = -{ +static const struct expression plvar = { .nargs = 0, .operation = var, }; -static const struct expression plone = -{ +static const struct expression plone = { .nargs = 0, .operation = num, .val = @@ -46,8 +44,7 @@ .num = 1 } }; -struct expression GERMANIC_PLURAL = -{ +struct expression GERMANIC_PLURAL = { .nargs = 2, .operation = not_equal, .val = @@ -72,22 +69,20 @@ struct expression GERMANIC_PLURAL; static void -init_germanic_plural () -{ - if (plone.val.num == 0) - { - plvar.nargs = 0; - plvar.operation = var; - - plone.nargs = 0; - plone.operation = num; - plone.val.num = 1; - - GERMANIC_PLURAL.nargs = 2; - GERMANIC_PLURAL.operation = not_equal; - GERMANIC_PLURAL.val.args[0] = &plvar; - GERMANIC_PLURAL.val.args[1] = &plone; - } +init_germanic_plural() { + if (plone.val.num == 0) { + plvar.nargs = 0; + plvar.operation = var; + + plone.nargs = 0; + plone.operation = num; + plone.val.num = 1; + + GERMANIC_PLURAL.nargs = 2; + GERMANIC_PLURAL.operation = not_equal; + GERMANIC_PLURAL.val.args[0] = &plvar; + GERMANIC_PLURAL.val.args[1] = &plone; + } } # define INIT_GERMANIC_PLURAL() init_germanic_plural () @@ -96,60 +91,55 @@ void internal_function -EXTRACT_PLURAL_EXPRESSION (const char *nullentry, - const struct expression **pluralp, - unsigned long int *npluralsp) -{ - if (nullentry != NULL) - { - const char *plural; - const char *nplurals; - - plural = strstr (nullentry, "plural="); - nplurals = strstr (nullentry, "nplurals="); - if (plural == NULL || nplurals == NULL) - goto no_plural; - else - { - char *endp; - unsigned long int n; - struct parse_args args; - - /* First get the number. */ - nplurals += 9; - while (*nplurals != '\0' && isspace ((unsigned char) *nplurals)) - ++nplurals; - if (!(*nplurals >= '0' && *nplurals <= '9')) - goto no_plural; +EXTRACT_PLURAL_EXPRESSION(const char *nullentry, + const struct expression **pluralp, + unsigned long int *npluralsp) { + if (nullentry != NULL) { + const char *plural; + const char *nplurals; + + plural = strstr(nullentry, "plural="); + nplurals = strstr(nullentry, "nplurals="); + if (plural == NULL || nplurals == NULL) + goto no_plural; + else { + char *endp; + unsigned long int n; + struct parse_args args; + + /* First get the number. */ + nplurals += 9; + while (*nplurals != '\0' && isspace((unsigned char) *nplurals)) + ++nplurals; + if (!(*nplurals >= '0' && *nplurals <= '9')) + goto no_plural; #if defined HAVE_STRTOUL || defined _LIBC - n = strtoul (nplurals, &endp, 10); + n = strtoul(nplurals, &endp, 10); #else - for (endp = nplurals, n = 0; *endp >= '0' && *endp <= '9'; endp++) - n = n * 10 + (*endp - '0'); + for (endp = nplurals, n = 0; *endp >= '0' && *endp <= '9'; endp++) + n = n * 10 + (*endp - '0'); #endif - if (nplurals == endp) - goto no_plural; - *npluralsp = n; - - /* Due to the restrictions bison imposes onto the interface of the - scanner function we have to put the input string and the result - passed up from the parser into the same structure which address - is passed down to the parser. */ - plural += 7; - args.cp = plural; - if (PLURAL_PARSE (&args) != 0) - goto no_plural; - *pluralp = args.res; - } - } - else - { - /* By default we are using the Germanic form: singular form only - for `one', the plural form otherwise. Yes, this is also what - English is using since English is a Germanic language. */ - no_plural: - INIT_GERMANIC_PLURAL (); - *pluralp = &GERMANIC_PLURAL; - *npluralsp = 2; + if (nplurals == endp) + goto no_plural; + *npluralsp = n; + + /* Due to the restrictions bison imposes onto the interface of the + scanner function we have to put the input string and the result + passed up from the parser into the same structure which address + is passed down to the parser. */ + plural += 7; + args.cp = plural; + if (PLURAL_PARSE(&args) != 0) + goto no_plural; + *pluralp = args.res; } + } else { + /* By default we are using the Germanic form: singular form only + for `one', the plural form otherwise. Yes, this is also what + English is using since English is a Germanic language. */ +no_plural: + INIT_GERMANIC_PLURAL(); + *pluralp = &GERMANIC_PLURAL; + *npluralsp = 2; + } }
View file
LiVES-2.8.4.tar.bz2/intl/plural-exp.h -> LiVES-2.8.6.tar.bz2/intl/plural-exp.h
Changed
@@ -33,8 +33,7 @@ #endif -enum expression_operator -{ +enum expression_operator { /* Without arguments: */ var, /* The variable "n". */ num, /* Decimal number. */ @@ -60,12 +59,10 @@ /* This is the representation of the expressions to determine the plural form. */ -struct expression -{ +struct expression { int nargs; /* Number of arguments. */ enum expression_operator operation; - union - { + union { unsigned long int num; /* Number value for `num'. */ struct expression *args[3]; /* Up to three arguments. */ } val; @@ -73,8 +70,7 @@ /* This is the data structure to pass information to the parser and get the result in a thread-safe way. */ -struct parse_args -{ +struct parse_args { const char *cp; struct expression *res; }; @@ -107,18 +103,18 @@ # define EXTRACT_PLURAL_EXPRESSION extract_plural_expression #endif -extern void FREE_EXPRESSION (struct expression *exp) - internal_function; -extern int PLURAL_PARSE (void *arg); +extern void FREE_EXPRESSION(struct expression *exp) +internal_function; +extern int PLURAL_PARSE(void *arg); extern struct expression GERMANIC_PLURAL attribute_hidden; -extern void EXTRACT_PLURAL_EXPRESSION (const char *nullentry, - const struct expression **pluralp, - unsigned long int *npluralsp) - internal_function; +extern void EXTRACT_PLURAL_EXPRESSION(const char *nullentry, + const struct expression **pluralp, + unsigned long int *npluralsp) +internal_function; #if !defined (_LIBC) && !defined (IN_LIBINTL) && !defined (IN_LIBGLOCALE) -extern unsigned long int plural_eval (const struct expression *pexp, - unsigned long int n); +extern unsigned long int plural_eval(const struct expression *pexp, + unsigned long int n); #endif
View file
LiVES-2.8.4.tar.bz2/intl/plural.c -> LiVES-2.8.6.tar.bz2/intl/plural.c
Changed
@@ -97,7 +97,7 @@ because <config.h> may include arbitrary system headers. This can go away once the AM_INTL_SUBDIR macro requires bison >= 2.0. */ #if defined _AIX && !defined __GNUC__ - #pragma alloca +#pragma alloca #endif #ifdef HAVE_CONFIG_H @@ -141,15 +141,15 @@ /* Tokens. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum yytokentype { - EQUOP2 = 258, - CMPOP2 = 259, - ADDOP2 = 260, - MULOP2 = 261, - NUMBER = 262 - }; +/* Put the tokens into the symbol table, so that GDB and other debuggers + know about them. */ +enum yytokentype { + EQUOP2 = 258, + CMPOP2 = 259, + ADDOP2 = 260, + MULOP2 = 261, + NUMBER = 262 +}; #endif /* Tokens. */ #define EQUOP2 258 @@ -162,8 +162,8 @@ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -typedef union YYSTYPE -{/* Line 191 of yacc.c. */ +typedef union YYSTYPE { + /* Line 191 of yacc.c. */ #line 51 "plural.y" unsigned long int num; @@ -172,7 +172,7 @@ } /* Line 191 of yacc.c. */ #line 175 "plural.c" - YYSTYPE; +YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 @@ -186,15 +186,14 @@ #line 57 "plural.y" /* Prototypes for local functions. */ -static int yylex (YYSTYPE *lval, const char **pexp); -static void yyerror (const char *str); +static int yylex(YYSTYPE *lval, const char **pexp); +static void yyerror(const char *str); /* Allocation of expressions. */ static struct expression * -new_exp (int nargs, enum expression_operator op, - struct expression * const *args) -{ +new_exp(int nargs, enum expression_operator op, + struct expression *const *args) { int i; struct expression *newp; @@ -204,59 +203,54 @@ goto fail; /* Allocate a new expression. */ - newp = (struct expression *) malloc (sizeof (*newp)); - if (newp != NULL) - { - newp->nargs = nargs; - newp->operation = op; - for (i = nargs - 1; i >= 0; i--) - newp->val.args[i] = args[i]; - return newp; - } - - fail: + newp = (struct expression *) malloc(sizeof(*newp)); + if (newp != NULL) { + newp->nargs = nargs; + newp->operation = op; + for (i = nargs - 1; i >= 0; i--) + newp->val.args[i] = args[i]; + return newp; + } + +fail: for (i = nargs - 1; i >= 0; i--) - FREE_EXPRESSION (args[i]); + FREE_EXPRESSION(args[i]); return NULL; } static inline struct expression * -new_exp_0 (enum expression_operator op) -{ - return new_exp (0, op, NULL); +new_exp_0(enum expression_operator op) { + return new_exp(0, op, NULL); } static inline struct expression * -new_exp_1 (enum expression_operator op, struct expression *right) -{ +new_exp_1(enum expression_operator op, struct expression *right) { struct expression *args[1]; args[0] = right; - return new_exp (1, op, args); + return new_exp(1, op, args); } static struct expression * -new_exp_2 (enum expression_operator op, struct expression *left, - struct expression *right) -{ +new_exp_2(enum expression_operator op, struct expression *left, + struct expression *right) { struct expression *args[2]; args[0] = left; args[1] = right; - return new_exp (2, op, args); + return new_exp(2, op, args); } static inline struct expression * -new_exp_3 (enum expression_operator op, struct expression *bexp, - struct expression *tbranch, struct expression *fbranch) -{ +new_exp_3(enum expression_operator op, struct expression *bexp, + struct expression *tbranch, struct expression *fbranch) { struct expression *args[3]; args[0] = bexp; args[1] = tbranch; args[2] = fbranch; - return new_exp (3, op, args); + return new_exp(3, op, args); } @@ -336,11 +330,11 @@ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static int -YYID (int yyi) +YYID(int yyi) #else static int -YYID (yyi) - int yyi; +YYID(yyi) +int yyi; #endif { return yyi; @@ -376,13 +370,13 @@ # endif # ifdef YYSTACK_ALLOC - /* Pacify GCC's `empty if-body' warning. */ +/* Pacify GCC's `empty if-body' warning. */ # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) # ifndef YYSTACK_ALLOC_MAXIMUM - /* The OS might guarantee only one guard page at the bottom of the stack, - and a page size can be as small as 4096 bytes. So we cannot safely - invoke alloca (N) if N exceeds 4096. Use a slightly smaller number - to allow for a few compiler-allocated temporary stack slots. */ +/* The OS might guarantee only one guard page at the bottom of the stack, + and a page size can be as small as 4096 bytes. So we cannot safely + invoke alloca (N) if N exceeds 4096. Use a slightly smaller number + to allow for a few compiler-allocated temporary stack slots. */ # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ # endif # else @@ -403,14 +397,14 @@ # define YYMALLOC malloc # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) -void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ +void *malloc(YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) -void free (void *); /* INFRINGES ON USER NAME SPACE */ +void free(void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif # endif @@ -422,11 +416,10 @@ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ -union yyalloc -{ +union yyalloc { yytype_int16 yyss; YYSTYPE yyvs; - }; +}; /* The size of the maximum gap between one aligned stack and the next. */ # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) @@ -495,69 +488,64 @@ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ -static const yytype_uint8 yytranslate[] = -{ - 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 10, 2, 2, 2, 2, 5, 2, - 14, 15, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 12, 2, - 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 13, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 1, 2, 6, 7, - 8, 9, 11 +static const yytype_uint8 yytranslate[] = { + 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 10, 2, 2, 2, 2, 5, 2, + 14, 15, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 12, 2, + 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 13, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 1, 2, 6, 7, + 8, 9, 11 }; #if YYDEBUG /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in YYRHS. */ -static const yytype_uint8 yyprhs[] = -{ - 0, 0, 3, 5, 11, 15, 19, 23, 27, 31, - 35, 38, 40, 42 +static const yytype_uint8 yyprhs[] = { + 0, 0, 3, 5, 11, 15, 19, 23, 27, 31, + 35, 38, 40, 42 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ -static const yytype_int8 yyrhs[] = -{ - 17, 0, -1, 18, -1, 18, 3, 18, 12, 18, - -1, 18, 4, 18, -1, 18, 5, 18, -1, 18, - 6, 18, -1, 18, 7, 18, -1, 18, 8, 18, - -1, 18, 9, 18, -1, 10, 18, -1, 13, -1, - 11, -1, 14, 18, 15, -1 +static const yytype_int8 yyrhs[] = { + 17, 0, -1, 18, -1, 18, 3, 18, 12, 18, + -1, 18, 4, 18, -1, 18, 5, 18, -1, 18, + 6, 18, -1, 18, 7, 18, -1, 18, 8, 18, + -1, 18, 9, 18, -1, 10, 18, -1, 13, -1, + 11, -1, 14, 18, 15, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ -static const yytype_uint8 yyrline[] = -{ - 0, 154, 154, 162, 166, 170, 174, 178, 182, 186, - 190, 194, 198, 203 +static const yytype_uint8 yyrline[] = { + 0, 154, 154, 162, 166, 170, 174, 178, 182, 186, + 190, 194, 198, 203 }; #endif #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ -static const char *const yytname[] = -{ +static const char *const yytname[] = { "$end", "error", "$undefined", "'?'", "'|'", "'&'", "EQUOP2", "CMPOP2", "ADDOP2", "MULOP2", "'!'", "NUMBER", "':'", "'n'", "'('", "')'", "$accept", "start", "exp", 0 @@ -567,57 +555,50 @@ # ifdef YYPRINT /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to token YYLEX-NUM. */ -static const yytype_uint16 yytoknum[] = -{ - 0, 256, 257, 63, 124, 38, 258, 259, 260, 261, - 33, 262, 58, 110, 40, 41 +static const yytype_uint16 yytoknum[] = { + 0, 256, 257, 63, 124, 38, 258, 259, 260, 261, + 33, 262, 58, 110, 40, 41 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ -static const yytype_uint8 yyr1[] = -{ - 0, 16, 17, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18 +static const yytype_uint8 yyr1[] = { + 0, 16, 17, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ -static const yytype_uint8 yyr2[] = -{ - 0, 2, 1, 5, 3, 3, 3, 3, 3, 3, - 2, 1, 1, 3 +static const yytype_uint8 yyr2[] = { + 0, 2, 1, 5, 3, 3, 3, 3, 3, 3, + 2, 1, 1, 3 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state STATE-NUM when YYTABLE doesn't specify something else to do. Zero means the default is an error. */ -static const yytype_uint8 yydefact[] = -{ - 0, 0, 12, 11, 0, 0, 2, 10, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 13, 0, 4, - 5, 6, 7, 8, 9, 0, 3 +static const yytype_uint8 yydefact[] = { + 0, 0, 12, 11, 0, 0, 2, 10, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 13, 0, 4, + 5, 6, 7, 8, 9, 0, 3 }; /* YYDEFGOTO[NTERM-NUM]. */ -static const yytype_int8 yydefgoto[] = -{ - -1, 5, 6 +static const yytype_int8 yydefgoto[] = { + -1, 5, 6 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ #define YYPACT_NINF -10 -static const yytype_int8 yypact[] = -{ - -9, -9, -10, -10, -9, 8, 36, -10, 13, -10, - -9, -9, -9, -9, -9, -9, -9, -10, 26, 41, - 45, 18, -2, 14, -10, -9, 36 +static const yytype_int8 yypact[] = { + -9, -9, -10, -10, -9, 8, 36, -10, 13, -10, + -9, -9, -9, -9, -9, -9, -9, -10, 26, 41, + 45, 18, -2, 14, -10, -9, 36 }; /* YYPGOTO[NTERM-NUM]. */ -static const yytype_int8 yypgoto[] = -{ - -10, -10, -1 +static const yytype_int8 yypgoto[] = { + -10, -10, -1 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -625,33 +606,30 @@ number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ #define YYTABLE_NINF -1 -static const yytype_uint8 yytable[] = -{ - 7, 1, 2, 8, 3, 4, 15, 16, 9, 18, - 19, 20, 21, 22, 23, 24, 10, 11, 12, 13, - 14, 15, 16, 16, 26, 14, 15, 16, 17, 10, - 11, 12, 13, 14, 15, 16, 0, 0, 25, 10, - 11, 12, 13, 14, 15, 16, 12, 13, 14, 15, - 16, 13, 14, 15, 16 +static const yytype_uint8 yytable[] = { + 7, 1, 2, 8, 3, 4, 15, 16, 9, 18, + 19, 20, 21, 22, 23, 24, 10, 11, 12, 13, + 14, 15, 16, 16, 26, 14, 15, 16, 17, 10, + 11, 12, 13, 14, 15, 16, 0, 0, 25, 10, + 11, 12, 13, 14, 15, 16, 12, 13, 14, 15, + 16, 13, 14, 15, 16 }; -static const yytype_int8 yycheck[] = -{ - 1, 10, 11, 4, 13, 14, 8, 9, 0, 10, - 11, 12, 13, 14, 15, 16, 3, 4, 5, 6, - 7, 8, 9, 9, 25, 7, 8, 9, 15, 3, - 4, 5, 6, 7, 8, 9, -1, -1, 12, 3, - 4, 5, 6, 7, 8, 9, 5, 6, 7, 8, - 9, 6, 7, 8, 9 +static const yytype_int8 yycheck[] = { + 1, 10, 11, 4, 13, 14, 8, 9, 0, 10, + 11, 12, 13, 14, 15, 16, 3, 4, 5, 6, + 7, 8, 9, 9, 25, 7, 8, 9, 15, 3, + 4, 5, 6, 7, 8, 9, -1, -1, 12, 3, + 4, 5, 6, 7, 8, 9, 5, 6, 7, 8, + 9, 6, 7, 8, 9 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ -static const yytype_uint8 yystos[] = -{ - 0, 10, 11, 13, 14, 17, 18, 18, 18, 0, - 3, 4, 5, 6, 7, 8, 9, 15, 18, 18, - 18, 18, 18, 18, 18, 12, 18 +static const yytype_uint8 yystos[] = { + 0, 10, 11, 13, 14, 17, 18, 18, 18, 0, + 3, 4, 5, 6, 7, 8, 9, 15, 18, 18, + 18, 18, 18, 18, 18, 12, 18 }; #define yyerrok (yyerrstatus = 0) @@ -778,28 +756,27 @@ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void -yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) +yy_symbol_value_print(FILE *yyoutput, int yytype, YYSTYPE const *const yyvaluep) #else static void -yy_symbol_value_print (yyoutput, yytype, yyvaluep) - FILE *yyoutput; - int yytype; - YYSTYPE const * const yyvaluep; +yy_symbol_value_print(yyoutput, yytype, yyvaluep) +FILE *yyoutput; +int yytype; +YYSTYPE const *const yyvaluep; #endif { if (!yyvaluep) return; # ifdef YYPRINT if (yytype < YYNTOKENS) - YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); + YYPRINT(yyoutput, yytoknum[yytype], *yyvaluep); # else - YYUSE (yyoutput); + YYUSE(yyoutput); # endif - switch (yytype) - { - default: - break; - } + switch (yytype) { + default: + break; + } } @@ -810,22 +787,22 @@ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void -yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) +yy_symbol_print(FILE *yyoutput, int yytype, YYSTYPE const *const yyvaluep) #else static void -yy_symbol_print (yyoutput, yytype, yyvaluep) - FILE *yyoutput; - int yytype; - YYSTYPE const * const yyvaluep; +yy_symbol_print(yyoutput, yytype, yyvaluep) +FILE *yyoutput; +int yytype; +YYSTYPE const *const yyvaluep; #endif { if (yytype < YYNTOKENS) - YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); + YYFPRINTF(yyoutput, "token %s (", yytname[yytype]); else - YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); + YYFPRINTF(yyoutput, "nterm %s (", yytname[yytype]); - yy_symbol_value_print (yyoutput, yytype, yyvaluep); - YYFPRINTF (yyoutput, ")"); + yy_symbol_value_print(yyoutput, yytype, yyvaluep); + YYFPRINTF(yyoutput, ")"); } /*------------------------------------------------------------------. @@ -836,21 +813,20 @@ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void -yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) +yy_stack_print(yytype_int16 *yybottom, yytype_int16 *yytop) #else static void -yy_stack_print (yybottom, yytop) - yytype_int16 *yybottom; - yytype_int16 *yytop; +yy_stack_print(yybottom, yytop) +yytype_int16 *yybottom; +yytype_int16 *yytop; #endif { - YYFPRINTF (stderr, "Stack now"); - for (; yybottom <= yytop; yybottom++) - { - int yybot = *yybottom; - YYFPRINTF (stderr, " %d", yybot); - } - YYFPRINTF (stderr, "\n"); + YYFPRINTF(stderr, "Stack now"); + for (; yybottom <= yytop; yybottom++) { + int yybot = *yybottom; + YYFPRINTF(stderr, " %d", yybot); + } + YYFPRINTF(stderr, "\n"); } # define YY_STACK_PRINT(Bottom, Top) \ @@ -867,28 +843,27 @@ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void -yy_reduce_print (YYSTYPE *yyvsp, int yyrule) +yy_reduce_print(YYSTYPE *yyvsp, int yyrule) #else static void -yy_reduce_print (yyvsp, yyrule) - YYSTYPE *yyvsp; - int yyrule; +yy_reduce_print(yyvsp, yyrule) +YYSTYPE *yyvsp; +int yyrule; #endif { int yynrhs = yyr2[yyrule]; int yyi; unsigned long int yylno = yyrline[yyrule]; - YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", - yyrule - 1, yylno); + YYFPRINTF(stderr, "Reducing stack by rule %d (line %lu):\n", + yyrule - 1, yylno); /* The symbols being reduced. */ - for (yyi = 0; yyi < yynrhs; yyi++) - { - fprintf (stderr, " $%d = ", yyi + 1); - yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], - &(yyvsp[(yyi + 1) - (yynrhs)]) - ); - fprintf (stderr, "\n"); - } + for (yyi = 0; yyi < yynrhs; yyi++) { + fprintf(stderr, " $%d = ", yyi + 1); + yy_symbol_print(stderr, yyrhs[yyprhs[yyrule] + yyi], + &(yyvsp[(yyi + 1) - (yynrhs)]) + ); + fprintf(stderr, "\n"); + } } # define YY_REDUCE_PRINT(Rule) \ @@ -936,11 +911,11 @@ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static YYSIZE_T -yystrlen (const char *yystr) +yystrlen(const char *yystr) #else static YYSIZE_T -yystrlen (yystr) - const char *yystr; +yystrlen(yystr) +const char *yystr; #endif { YYSIZE_T yylen; @@ -960,12 +935,12 @@ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static char * -yystpcpy (char *yydest, const char *yysrc) +yystpcpy(char *yydest, const char *yysrc) #else static char * -yystpcpy (yydest, yysrc) - char *yydest; - const char *yysrc; +yystpcpy(yydest, yysrc) +char *yydest; +const char *yysrc; #endif { char *yyd = yydest; @@ -988,42 +963,40 @@ null, do not copy; instead, return the length of what the result would have been. */ static YYSIZE_T -yytnamerr (char *yyres, const char *yystr) -{ - if (*yystr == '"') - { - YYSIZE_T yyn = 0; - char const *yyp = yystr; - - for (;;) - switch (*++yyp) - { - case '\'': - case ',': - goto do_not_strip_quotes; - - case '\\': - if (*++yyp != '\\') - goto do_not_strip_quotes; - /* Fall through. */ - default: - if (yyres) - yyres[yyn] = *yyp; - yyn++; - break; - - case '"': - if (yyres) - yyres[yyn] = '\0'; - return yyn; - } - do_not_strip_quotes: ; - } +yytnamerr(char *yyres, const char *yystr) { + if (*yystr == '"') { + YYSIZE_T yyn = 0; + char const *yyp = yystr; + + for (;;) + switch (*++yyp) { + case '\'': + case ',': + goto do_not_strip_quotes; + + case '\\': + if (*++yyp != '\\') + goto do_not_strip_quotes; + /* Fall through. */ + default: + if (yyres) + yyres[yyn] = *yyp; + yyn++; + break; + + case '"': + if (yyres) + yyres[yyn] = '\0'; + return yyn; + } +do_not_strip_quotes: + ; + } if (! yyres) - return yystrlen (yystr); + return yystrlen(yystr); - return yystpcpy (yyres, yystr) - yyres; + return yystpcpy(yyres, yystr) - yyres; } # endif @@ -1035,104 +1008,95 @@ message will do. Return YYSIZE_MAXIMUM if overflow occurs during size calculation. */ static YYSIZE_T -yysyntax_error (char *yyresult, int yystate, int yychar) -{ +yysyntax_error(char *yyresult, int yystate, int yychar) { int yyn = yypact[yystate]; - if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) + if (!(YYPACT_NINF < yyn && yyn <= YYLAST)) return 0; - else - { - int yytype = YYTRANSLATE (yychar); - YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); - YYSIZE_T yysize = yysize0; - YYSIZE_T yysize1; - int yysize_overflow = 0; - enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; - char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; - int yyx; + else { + int yytype = YYTRANSLATE(yychar); + YYSIZE_T yysize0 = yytnamerr(0, yytname[yytype]); + YYSIZE_T yysize = yysize0; + YYSIZE_T yysize1; + int yysize_overflow = 0; + enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; + char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; + int yyx; # if 0 - /* This is so xgettext sees the translatable formats that are - constructed on the fly. */ - YY_("syntax error, unexpected %s"); - YY_("syntax error, unexpected %s, expecting %s"); - YY_("syntax error, unexpected %s, expecting %s or %s"); - YY_("syntax error, unexpected %s, expecting %s or %s or %s"); - YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); + /* This is so xgettext sees the translatable formats that are + constructed on the fly. */ + YY_("syntax error, unexpected %s"); + YY_("syntax error, unexpected %s, expecting %s"); + YY_("syntax error, unexpected %s, expecting %s or %s"); + YY_("syntax error, unexpected %s, expecting %s or %s or %s"); + YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); # endif - char *yyfmt; - char const *yyf; - static char const yyunexpected[] = "syntax error, unexpected %s"; - static char const yyexpecting[] = ", expecting %s"; - static char const yyor[] = " or %s"; - char yyformat[sizeof yyunexpected - + sizeof yyexpecting - 1 - + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) - * (sizeof yyor - 1))]; - char const *yyprefix = yyexpecting; - - /* Start YYX at -YYN if negative to avoid negative indexes in - YYCHECK. */ - int yyxbegin = yyn < 0 ? -yyn : 0; - - /* Stay within bounds of both yycheck and yytname. */ - int yychecklim = YYLAST - yyn + 1; - int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; - int yycount = 1; - - yyarg[0] = yytname[yytype]; - yyfmt = yystpcpy (yyformat, yyunexpected); - - for (yyx = yyxbegin; yyx < yyxend; ++yyx) - if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) - { - if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) - { - yycount = 1; - yysize = yysize0; - yyformat[sizeof yyunexpected - 1] = '\0'; - break; - } - yyarg[yycount++] = yytname[yyx]; - yysize1 = yysize + yytnamerr (0, yytname[yyx]); - yysize_overflow |= (yysize1 < yysize); - yysize = yysize1; - yyfmt = yystpcpy (yyfmt, yyprefix); - yyprefix = yyor; - } - - yyf = YY_(yyformat); - yysize1 = yysize + yystrlen (yyf); - yysize_overflow |= (yysize1 < yysize); - yysize = yysize1; - - if (yysize_overflow) - return YYSIZE_MAXIMUM; - - if (yyresult) - { - /* Avoid sprintf, as that infringes on the user's name space. - Don't have undefined behavior even if the translation - produced a string with the wrong number of "%s"s. */ - char *yyp = yyresult; - int yyi = 0; - while ((*yyp = *yyf) != '\0') - { - if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) - { - yyp += yytnamerr (yyp, yyarg[yyi++]); - yyf += 2; - } - else - { - yyp++; - yyf++; - } - } - } - return yysize; + char *yyfmt; + char const *yyf; + static char const yyunexpected[] = "syntax error, unexpected %s"; + static char const yyexpecting[] = ", expecting %s"; + static char const yyor[] = " or %s"; + char yyformat[sizeof yyunexpected + + sizeof yyexpecting - 1 + + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) + * (sizeof yyor - 1))]; + char const *yyprefix = yyexpecting; + + /* Start YYX at -YYN if negative to avoid negative indexes in + YYCHECK. */ + int yyxbegin = yyn < 0 ? -yyn : 0; + + /* Stay within bounds of both yycheck and yytname. */ + int yychecklim = YYLAST - yyn + 1; + int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; + int yycount = 1; + + yyarg[0] = yytname[yytype]; + yyfmt = yystpcpy(yyformat, yyunexpected); + + for (yyx = yyxbegin; yyx < yyxend; ++yyx) + if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) { + if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) { + yycount = 1; + yysize = yysize0; + yyformat[sizeof yyunexpected - 1] = '\0'; + break; + } + yyarg[yycount++] = yytname[yyx]; + yysize1 = yysize + yytnamerr(0, yytname[yyx]); + yysize_overflow |= (yysize1 < yysize); + yysize = yysize1; + yyfmt = yystpcpy(yyfmt, yyprefix); + yyprefix = yyor; + } + + yyf = YY_(yyformat); + yysize1 = yysize + yystrlen(yyf); + yysize_overflow |= (yysize1 < yysize); + yysize = yysize1; + + if (yysize_overflow) + return YYSIZE_MAXIMUM; + + if (yyresult) { + /* Avoid sprintf, as that infringes on the user's name space. + Don't have undefined behavior even if the translation + produced a string with the wrong number of "%s"s. */ + char *yyp = yyresult; + int yyi = 0; + while ((*yyp = *yyf) != '\0') { + if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) { + yyp += yytnamerr(yyp, yyarg[yyi++]); + yyf += 2; + } else { + yyp++; + yyf++; + } + } } + return yysize; + } } #endif /* YYERROR_VERBOSE */  @@ -1145,27 +1109,26 @@ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void -yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) +yydestruct(const char *yymsg, int yytype, YYSTYPE *yyvaluep) #else static void -yydestruct (yymsg, yytype, yyvaluep) - const char *yymsg; - int yytype; - YYSTYPE *yyvaluep; +yydestruct(yymsg, yytype, yyvaluep) +const char *yymsg; +int yytype; +YYSTYPE *yyvaluep; #endif { - YYUSE (yyvaluep); + YYUSE(yyvaluep); if (!yymsg) yymsg = "Deleting"; - YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); + YY_SYMBOL_PRINT(yymsg, yytype, yyvaluep, yylocationp); - switch (yytype) - { + switch (yytype) { - default: - break; - } + default: + break; + } }  @@ -1173,15 +1136,15 @@ #ifdef YYPARSE_PARAM #if defined __STDC__ || defined __cplusplus -int yyparse (void *YYPARSE_PARAM); +int yyparse(void *YYPARSE_PARAM); #else -int yyparse (); +int yyparse(); #endif #else /* ! YYPARSE_PARAM */ #if defined __STDC__ || defined __cplusplus -int yyparse (void); +int yyparse(void); #else -int yyparse (); +int yyparse(); #endif #endif /* ! YYPARSE_PARAM */ @@ -1198,32 +1161,32 @@ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) int -yyparse (void *YYPARSE_PARAM) +yyparse(void *YYPARSE_PARAM) #else int -yyparse (YYPARSE_PARAM) - void *YYPARSE_PARAM; +yyparse(YYPARSE_PARAM) +void *YYPARSE_PARAM; #endif #else /* ! YYPARSE_PARAM */ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) int -yyparse (void) +yyparse(void) #else int -yyparse () +yyparse() #endif #endif { /* The lookahead symbol. */ -int yychar; + int yychar; -/* The semantic value of the lookahead symbol. */ -YYSTYPE yylval; + /* The semantic value of the lookahead symbol. */ + YYSTYPE yylval; -/* Number of syntax errors so far. */ -int yynerrs; + /* Number of syntax errors so far. */ + int yynerrs; int yystate; int yyn; @@ -1272,7 +1235,7 @@ Keep to zero when no symbol should be popped. */ int yylen = 0; - YYDPRINTF ((stderr, "Starting parse\n")); + YYDPRINTF((stderr, "Starting parse\n")); yystate = 0; yyerrstatus = 0; @@ -1289,92 +1252,91 @@ goto yysetstate; -/*------------------------------------------------------------. -| yynewstate -- Push a new state, which is found in yystate. | -`------------------------------------------------------------*/ - yynewstate: + /*------------------------------------------------------------. + | yynewstate -- Push a new state, which is found in yystate. | + `------------------------------------------------------------*/ +yynewstate: /* In all cases, when you get here, the value and location stacks have just been pushed. So pushing a state here evens the stacks. */ yyssp++; - yysetstate: +yysetstate: *yyssp = yystate; - if (yyss + yystacksize - 1 <= yyssp) - { - /* Get the current used size of the three stacks, in elements. */ - YYSIZE_T yysize = yyssp - yyss + 1; + if (yyss + yystacksize - 1 <= yyssp) { + /* Get the current used size of the three stacks, in elements. */ + YYSIZE_T yysize = yyssp - yyss + 1; #ifdef yyoverflow - { - /* Give user a chance to reallocate the stack. Use copies of - these so that the &'s don't force the real ones into - memory. */ - YYSTYPE *yyvs1 = yyvs; - yytype_int16 *yyss1 = yyss; - - - /* Each stack pointer address is followed by the size of the - data in use in that stack, in bytes. This used to be a - conditional around just the two extra args, but that might - be undefined if yyoverflow is a macro. */ - yyoverflow (YY_("memory exhausted"), - &yyss1, yysize * sizeof (*yyssp), - &yyvs1, yysize * sizeof (*yyvsp), - - &yystacksize); - - yyss = yyss1; - yyvs = yyvs1; - } + { + /* Give user a chance to reallocate the stack. Use copies of + these so that the &'s don't force the real ones into + memory. */ + YYSTYPE *yyvs1 = yyvs; + yytype_int16 *yyss1 = yyss; + + + /* Each stack pointer address is followed by the size of the + data in use in that stack, in bytes. This used to be a + conditional around just the two extra args, but that might + be undefined if yyoverflow is a macro. */ + yyoverflow(YY_("memory exhausted"), + &yyss1, yysize * sizeof(*yyssp), + &yyvs1, yysize * sizeof(*yyvsp), + + &yystacksize); + + yyss = yyss1; + yyvs = yyvs1; + } #else /* no yyoverflow */ # ifndef YYSTACK_RELOCATE - goto yyexhaustedlab; + goto yyexhaustedlab; # else - /* Extend the stack our own way. */ - if (YYMAXDEPTH <= yystacksize) - goto yyexhaustedlab; - yystacksize *= 2; - if (YYMAXDEPTH < yystacksize) - yystacksize = YYMAXDEPTH; - - { - yytype_int16 *yyss1 = yyss; - union yyalloc *yyptr = - (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); - if (! yyptr) - goto yyexhaustedlab; - YYSTACK_RELOCATE (yyss); - YYSTACK_RELOCATE (yyvs); + /* Extend the stack our own way. */ + if (YYMAXDEPTH <= yystacksize) + goto yyexhaustedlab; + yystacksize *= 2; + if (YYMAXDEPTH < yystacksize) + yystacksize = YYMAXDEPTH; + + { + yytype_int16 *yyss1 = yyss; + union yyalloc *yyptr = + (union yyalloc *) YYSTACK_ALLOC(YYSTACK_BYTES(yystacksize)); + if (! yyptr) + goto yyexhaustedlab; + YYSTACK_RELOCATE(yyss); + YYSTACK_RELOCATE(yyvs); # undef YYSTACK_RELOCATE - if (yyss1 != yyssa) - YYSTACK_FREE (yyss1); - } + if (yyss1 != yyssa) + YYSTACK_FREE(yyss1); + } # endif #endif /* no yyoverflow */ - yyssp = yyss + yysize - 1; - yyvsp = yyvs + yysize - 1; + yyssp = yyss + yysize - 1; + yyvsp = yyvs + yysize - 1; - YYDPRINTF ((stderr, "Stack size increased to %lu\n", - (unsigned long int) yystacksize)); + YYDPRINTF((stderr, "Stack size increased to %lu\n", + (unsigned long int) yystacksize)); - if (yyss + yystacksize - 1 <= yyssp) - YYABORT; - } + if (yyss + yystacksize - 1 <= yyssp) + YYABORT; + } - YYDPRINTF ((stderr, "Entering state %d\n", yystate)); + YYDPRINTF((stderr, "Entering state %d\n", yystate)); if (yystate == YYFINAL) YYACCEPT; goto yybackup; -/*-----------. -| yybackup. | -`-----------*/ + /*-----------. + | yybackup. | + `-----------*/ yybackup: /* Do appropriate processing given the current state. Read a @@ -1388,22 +1350,18 @@ /* Not known => get a lookahead token if don't already have one. */ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ - if (yychar == YYEMPTY) - { - YYDPRINTF ((stderr, "Reading a token: ")); - yychar = YYLEX; - } - - if (yychar <= YYEOF) - { - yychar = yytoken = YYEOF; - YYDPRINTF ((stderr, "Now at end of input.\n")); - } - else - { - yytoken = YYTRANSLATE (yychar); - YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); - } + if (yychar == YYEMPTY) { + YYDPRINTF((stderr, "Reading a token: ")); + yychar = YYLEX; + } + + if (yychar <= YYEOF) { + yychar = yytoken = YYEOF; + YYDPRINTF((stderr, "Now at end of input.\n")); + } else { + yytoken = YYTRANSLATE(yychar); + YY_SYMBOL_PRINT("Next token is", yytoken, &yylval, &yylloc); + } /* If the proper action on seeing token YYTOKEN is to reduce or to detect an error, take that action. */ @@ -1411,13 +1369,12 @@ if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) goto yydefault; yyn = yytable[yyn]; - if (yyn <= 0) - { - if (yyn == 0 || yyn == YYTABLE_NINF) - goto yyerrlab; - yyn = -yyn; - goto yyreduce; - } + if (yyn <= 0) { + if (yyn == 0 || yyn == YYTABLE_NINF) + goto yyerrlab; + yyn = -yyn; + goto yyreduce; + } /* Count tokens shifted since error; after three, turn off error status. */ @@ -1425,7 +1382,7 @@ yyerrstatus--; /* Shift the lookahead token. */ - YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); + YY_SYMBOL_PRINT("Shifting", yytoken, &yylval, &yylloc); /* Discard the shifted token. */ yychar = YYEMPTY; @@ -1436,9 +1393,9 @@ goto yynewstate; -/*-----------------------------------------------------------. -| yydefault -- do the default action for the current state. | -`-----------------------------------------------------------*/ + /*-----------------------------------------------------------. + | yydefault -- do the default action for the current state. | + `-----------------------------------------------------------*/ yydefault: yyn = yydefact[yystate]; if (yyn == 0) @@ -1446,9 +1403,9 @@ goto yyreduce; -/*-----------------------------. -| yyreduce -- Do a reduction. | -`-----------------------------*/ + /*-----------------------------. + | yyreduce -- Do a reduction. | + `-----------------------------*/ yyreduce: /* yyn is the number of a rule to reduce with. */ yylen = yyr2[yyn]; @@ -1461,121 +1418,121 @@ users should not rely upon it. Assigning to YYVAL unconditionally makes the parser a bit smaller, and it avoids a GCC warning that YYVAL may be used uninitialized. */ - yyval = yyvsp[1-yylen]; + yyval = yyvsp[1 - yylen]; - YY_REDUCE_PRINT (yyn); - switch (yyn) - { - case 2: -/* Line 1269 of yacc.c. */ + YY_REDUCE_PRINT(yyn); + switch (yyn) { + case 2: + /* Line 1269 of yacc.c. */ #line 155 "plural.y" { - if ((yyvsp[(1) - (1)].exp) == NULL) - YYABORT; - ((struct parse_args *) arg)->res = (yyvsp[(1) - (1)].exp); - } + if ((yyvsp[(1) - (1)].exp) == NULL) + YYABORT; + ((struct parse_args *) arg)->res = (yyvsp[(1) - (1)].exp); + } break; case 3: -/* Line 1269 of yacc.c. */ + /* Line 1269 of yacc.c. */ #line 163 "plural.y" { - (yyval.exp) = new_exp_3 (qmop, (yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].exp), (yyvsp[(5) - (5)].exp)); - } + (yyval.exp) = new_exp_3(qmop, (yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].exp), (yyvsp[(5) - (5)].exp)); + } break; case 4: -/* Line 1269 of yacc.c. */ + /* Line 1269 of yacc.c. */ #line 167 "plural.y" { - (yyval.exp) = new_exp_2 (lor, (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp)); - } + (yyval.exp) = new_exp_2(lor, (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp)); + } break; case 5: -/* Line 1269 of yacc.c. */ + /* Line 1269 of yacc.c. */ #line 171 "plural.y" { - (yyval.exp) = new_exp_2 (land, (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp)); - } + (yyval.exp) = new_exp_2(land, (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp)); + } break; case 6: -/* Line 1269 of yacc.c. */ + /* Line 1269 of yacc.c. */ #line 175 "plural.y" { - (yyval.exp) = new_exp_2 ((yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp)); - } + (yyval.exp) = new_exp_2((yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp)); + } break; case 7: -/* Line 1269 of yacc.c. */ + /* Line 1269 of yacc.c. */ #line 179 "plural.y" { - (yyval.exp) = new_exp_2 ((yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp)); - } + (yyval.exp) = new_exp_2((yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp)); + } break; case 8: -/* Line 1269 of yacc.c. */ + /* Line 1269 of yacc.c. */ #line 183 "plural.y" { - (yyval.exp) = new_exp_2 ((yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp)); - } + (yyval.exp) = new_exp_2((yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp)); + } break; case 9: -/* Line 1269 of yacc.c. */ + /* Line 1269 of yacc.c. */ #line 187 "plural.y" { - (yyval.exp) = new_exp_2 ((yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp)); - } + (yyval.exp) = new_exp_2((yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp)); + } break; case 10: -/* Line 1269 of yacc.c. */ + /* Line 1269 of yacc.c. */ #line 191 "plural.y" { - (yyval.exp) = new_exp_1 (lnot, (yyvsp[(2) - (2)].exp)); - } + (yyval.exp) = new_exp_1(lnot, (yyvsp[(2) - (2)].exp)); + } break; case 11: -/* Line 1269 of yacc.c. */ + /* Line 1269 of yacc.c. */ #line 195 "plural.y" { - (yyval.exp) = new_exp_0 (var); - } + (yyval.exp) = new_exp_0(var); + } break; case 12: -/* Line 1269 of yacc.c. */ + /* Line 1269 of yacc.c. */ #line 199 "plural.y" { - if (((yyval.exp) = new_exp_0 (num)) != NULL) - (yyval.exp)->val.num = (yyvsp[(1) - (1)].num); - } + if (((yyval.exp) = new_exp_0(num)) != NULL) + (yyval.exp)->val.num = (yyvsp[(1) - (1)].num); + } break; case 13: -/* Line 1269 of yacc.c. */ + /* Line 1269 of yacc.c. */ #line 204 "plural.y" { - (yyval.exp) = (yyvsp[(2) - (3)].exp); - } + (yyval.exp) = (yyvsp[(2) - (3)].exp); + } break; -/* Line 1269 of yacc.c. */ + /* Line 1269 of yacc.c. */ #line 1572 "plural.c" - default: break; - } - YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); + default: + break; + } + YY_SYMBOL_PRINT("-> $$ =", yyr1[yyn], &yyval, &yyloc); - YYPOPSTACK (yylen); + YYPOPSTACK(yylen); yylen = 0; - YY_STACK_PRINT (yyss, yyssp); + YY_STACK_PRINT(yyss, yyssp); *++yyvsp = yyval; @@ -1595,187 +1552,173 @@ goto yynewstate; -/*------------------------------------. -| yyerrlab -- here on detecting error | -`------------------------------------*/ + /*------------------------------------. + | yyerrlab -- here on detecting error | + `------------------------------------*/ yyerrlab: /* If not already recovering from an error, report this error. */ - if (!yyerrstatus) - { - ++yynerrs; + if (!yyerrstatus) { + ++yynerrs; #if ! YYERROR_VERBOSE - yyerror (YY_("syntax error")); + yyerror(YY_("syntax error")); #else - { - YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); - if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) - { - YYSIZE_T yyalloc = 2 * yysize; - if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) - yyalloc = YYSTACK_ALLOC_MAXIMUM; - if (yymsg != yymsgbuf) - YYSTACK_FREE (yymsg); - yymsg = (char *) YYSTACK_ALLOC (yyalloc); - if (yymsg) - yymsg_alloc = yyalloc; - else - { - yymsg = yymsgbuf; - yymsg_alloc = sizeof yymsgbuf; - } - } - - if (0 < yysize && yysize <= yymsg_alloc) - { - (void) yysyntax_error (yymsg, yystate, yychar); - yyerror (yymsg); - } - else - { - yyerror (YY_("syntax error")); - if (yysize != 0) - goto yyexhaustedlab; - } + { + YYSIZE_T yysize = yysyntax_error(0, yystate, yychar); + if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) { + YYSIZE_T yyalloc = 2 * yysize; + if (!(yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) + yyalloc = YYSTACK_ALLOC_MAXIMUM; + if (yymsg != yymsgbuf) + YYSTACK_FREE(yymsg); + yymsg = (char *) YYSTACK_ALLOC(yyalloc); + if (yymsg) + yymsg_alloc = yyalloc; + else { + yymsg = yymsgbuf; + yymsg_alloc = sizeof yymsgbuf; + } + } + + if (0 < yysize && yysize <= yymsg_alloc) { + (void) yysyntax_error(yymsg, yystate, yychar); + yyerror(yymsg); + } else { + yyerror(YY_("syntax error")); + if (yysize != 0) + goto yyexhaustedlab; } -#endif } +#endif + } - if (yyerrstatus == 3) - { - /* If just tried and failed to reuse lookahead token after an - error, discard it. */ - - if (yychar <= YYEOF) - { - /* Return failure if at end of input. */ - if (yychar == YYEOF) - YYABORT; - } - else - { - yydestruct ("Error: discarding", - yytoken, &yylval); - yychar = YYEMPTY; - } + if (yyerrstatus == 3) { + /* If just tried and failed to reuse lookahead token after an + error, discard it. */ + + if (yychar <= YYEOF) { + /* Return failure if at end of input. */ + if (yychar == YYEOF) + YYABORT; + } else { + yydestruct("Error: discarding", + yytoken, &yylval); + yychar = YYEMPTY; } + } /* Else will try to reuse lookahead token after shifting the error token. */ goto yyerrlab1; -/*---------------------------------------------------. -| yyerrorlab -- error raised explicitly by YYERROR. | -`---------------------------------------------------*/ + /*---------------------------------------------------. + | yyerrorlab -- error raised explicitly by YYERROR. | + `---------------------------------------------------*/ yyerrorlab: /* Pacify compilers like GCC when the user code never invokes YYERROR and the label yyerrorlab therefore never appears in user code. */ if (/*CONSTCOND*/ 0) - goto yyerrorlab; + goto yyerrorlab; /* Do not reclaim the symbols of the rule which action triggered this YYERROR. */ - YYPOPSTACK (yylen); + YYPOPSTACK(yylen); yylen = 0; - YY_STACK_PRINT (yyss, yyssp); + YY_STACK_PRINT(yyss, yyssp); yystate = *yyssp; goto yyerrlab1; -/*-------------------------------------------------------------. -| yyerrlab1 -- common code for both syntax error and YYERROR. | -`-------------------------------------------------------------*/ + /*-------------------------------------------------------------. + | yyerrlab1 -- common code for both syntax error and YYERROR. | + `-------------------------------------------------------------*/ yyerrlab1: yyerrstatus = 3; /* Each real token shifted decrements this. */ - for (;;) - { - yyn = yypact[yystate]; - if (yyn != YYPACT_NINF) - { - yyn += YYTERROR; - if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) - { - yyn = yytable[yyn]; - if (0 < yyn) - break; - } - } - - /* Pop the current state because it cannot handle the error token. */ - if (yyssp == yyss) - YYABORT; - - - yydestruct ("Error: popping", - yystos[yystate], yyvsp); - YYPOPSTACK (1); - yystate = *yyssp; - YY_STACK_PRINT (yyss, yyssp); + for (;;) { + yyn = yypact[yystate]; + if (yyn != YYPACT_NINF) { + yyn += YYTERROR; + if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) { + yyn = yytable[yyn]; + if (0 < yyn) + break; + } } + /* Pop the current state because it cannot handle the error token. */ + if (yyssp == yyss) + YYABORT; + + + yydestruct("Error: popping", + yystos[yystate], yyvsp); + YYPOPSTACK(1); + yystate = *yyssp; + YY_STACK_PRINT(yyss, yyssp); + } + *++yyvsp = yylval; /* Shift the error token. */ - YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); + YY_SYMBOL_PRINT("Shifting", yystos[yyn], yyvsp, yylsp); yystate = yyn; goto yynewstate; -/*-------------------------------------. -| yyacceptlab -- YYACCEPT comes here. | -`-------------------------------------*/ + /*-------------------------------------. + | yyacceptlab -- YYACCEPT comes here. | + `-------------------------------------*/ yyacceptlab: yyresult = 0; goto yyreturn; -/*-----------------------------------. -| yyabortlab -- YYABORT comes here. | -`-----------------------------------*/ + /*-----------------------------------. + | yyabortlab -- YYABORT comes here. | + `-----------------------------------*/ yyabortlab: yyresult = 1; goto yyreturn; #ifndef yyoverflow -/*-------------------------------------------------. -| yyexhaustedlab -- memory exhaustion comes here. | -`-------------------------------------------------*/ + /*-------------------------------------------------. + | yyexhaustedlab -- memory exhaustion comes here. | + `-------------------------------------------------*/ yyexhaustedlab: - yyerror (YY_("memory exhausted")); + yyerror(YY_("memory exhausted")); yyresult = 2; /* Fall through. */ #endif yyreturn: if (yychar != YYEMPTY) - yydestruct ("Cleanup: discarding lookahead", - yytoken, &yylval); + yydestruct("Cleanup: discarding lookahead", + yytoken, &yylval); /* Do not reclaim the symbols of the rule which action triggered this YYABORT or YYACCEPT. */ - YYPOPSTACK (yylen); - YY_STACK_PRINT (yyss, yyssp); - while (yyssp != yyss) - { - yydestruct ("Cleanup: popping", - yystos[*yyssp], yyvsp); - YYPOPSTACK (1); - } + YYPOPSTACK(yylen); + YY_STACK_PRINT(yyss, yyssp); + while (yyssp != yyss) { + yydestruct("Cleanup: popping", + yystos[*yyssp], yyvsp); + YYPOPSTACK(1); + } #ifndef yyoverflow if (yyss != yyssa) - YYSTACK_FREE (yyss); + YYSTACK_FREE(yyss); #endif #if YYERROR_VERBOSE if (yymsg != yymsgbuf) - YYSTACK_FREE (yymsg); + YYSTACK_FREE(yymsg); #endif /* Make sure YYID is used. */ - return YYID (yyresult); + return YYID(yyresult); } @@ -1785,167 +1728,160 @@ void internal_function -FREE_EXPRESSION (struct expression *exp) -{ +FREE_EXPRESSION(struct expression *exp) { if (exp == NULL) return; /* Handle the recursive case. */ - switch (exp->nargs) - { - case 3: - FREE_EXPRESSION (exp->val.args[2]); - /* FALLTHROUGH */ - case 2: - FREE_EXPRESSION (exp->val.args[1]); - /* FALLTHROUGH */ - case 1: - FREE_EXPRESSION (exp->val.args[0]); - /* FALLTHROUGH */ - default: - break; - } + switch (exp->nargs) { + case 3: + FREE_EXPRESSION(exp->val.args[2]); + /* FALLTHROUGH */ + case 2: + FREE_EXPRESSION(exp->val.args[1]); + /* FALLTHROUGH */ + case 1: + FREE_EXPRESSION(exp->val.args[0]); + /* FALLTHROUGH */ + default: + break; + } - free (exp); + free(exp); } static int -yylex (YYSTYPE *lval, const char **pexp) -{ +yylex(YYSTYPE *lval, const char **pexp) { const char *exp = *pexp; int result; - while (1) - { - if (exp[0] == '\0') - { - *pexp = exp; - return YYEOF; - } + while (1) { + if (exp[0] == '\0') { + *pexp = exp; + return YYEOF; + } - if (exp[0] != ' ' && exp[0] != '\t') - break; + if (exp[0] != ' ' && exp[0] != '\t') + break; - ++exp; - } + ++exp; + } result = *exp++; - switch (result) - { - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - { - unsigned long int n = result - '0'; - while (exp[0] >= '0' && exp[0] <= '9') - { - n *= 10; - n += exp[0] - '0'; - ++exp; - } - lval->num = n; - result = NUMBER; - } - break; + switch (result) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': { + unsigned long int n = result - '0'; + while (exp[0] >= '0' && exp[0] <= '9') { + n *= 10; + n += exp[0] - '0'; + ++exp; + } + lval->num = n; + result = NUMBER; + } + break; - case '=': - if (exp[0] == '=') - { - ++exp; - lval->op = equal; - result = EQUOP2; - } - else - result = YYERRCODE; - break; + case '=': + if (exp[0] == '=') { + ++exp; + lval->op = equal; + result = EQUOP2; + } else + result = YYERRCODE; + break; - case '!': - if (exp[0] == '=') - { - ++exp; - lval->op = not_equal; - result = EQUOP2; - } - break; + case '!': + if (exp[0] == '=') { + ++exp; + lval->op = not_equal; + result = EQUOP2; + } + break; - case '&': - case '|': - if (exp[0] == result) - ++exp; - else - result = YYERRCODE; - break; + case '&': + case '|': + if (exp[0] == result) + ++exp; + else + result = YYERRCODE; + break; - case '<': - if (exp[0] == '=') - { - ++exp; - lval->op = less_or_equal; - } - else - lval->op = less_than; - result = CMPOP2; - break; + case '<': + if (exp[0] == '=') { + ++exp; + lval->op = less_or_equal; + } else + lval->op = less_than; + result = CMPOP2; + break; - case '>': - if (exp[0] == '=') - { - ++exp; - lval->op = greater_or_equal; - } - else - lval->op = greater_than; - result = CMPOP2; - break; + case '>': + if (exp[0] == '=') { + ++exp; + lval->op = greater_or_equal; + } else + lval->op = greater_than; + result = CMPOP2; + break; - case '*': - lval->op = mult; - result = MULOP2; - break; + case '*': + lval->op = mult; + result = MULOP2; + break; - case '/': - lval->op = divide; - result = MULOP2; - break; + case '/': + lval->op = divide; + result = MULOP2; + break; - case '%': - lval->op = module; - result = MULOP2; - break; + case '%': + lval->op = module; + result = MULOP2; + break; - case '+': - lval->op = plus; - result = ADDOP2; - break; + case '+': + lval->op = plus; + result = ADDOP2; + break; - case '-': - lval->op = minus; - result = ADDOP2; - break; + case '-': + lval->op = minus; + result = ADDOP2; + break; - case 'n': - case '?': - case ':': - case '(': - case ')': - /* Nothing, just return the character. */ - break; + case 'n': + case '?': + case ':': + case '(': + case ')': + /* Nothing, just return the character. */ + break; - case ';': - case '\n': - case '\0': - /* Be safe and let the user call this function again. */ - --exp; - result = YYEOF; - break; + case ';': + case '\n': + case '\0': + /* Be safe and let the user call this function again. */ + --exp; + result = YYEOF; + break; - default: - result = YYERRCODE; + default: + result = YYERRCODE; #if YYDEBUG != 0 - --exp; + --exp; #endif - break; - } + break; + } *pexp = exp; @@ -1954,8 +1890,7 @@ static void -yyerror (const char *str) -{ +yyerror(const char *str) { /* Do nothing. We don't print error messages here. */ }
View file
LiVES-2.8.4.tar.bz2/intl/printf-args.c -> LiVES-2.8.6.tar.bz2/intl/printf-args.c
Changed
@@ -34,155 +34,148 @@ STATIC #endif int -PRINTF_FETCHARGS (va_list args, arguments *a) -{ +PRINTF_FETCHARGS(va_list args, arguments *a) { size_t i; argument *ap; for (i = 0, ap = &a->arg[0]; i < a->count; i++, ap++) - switch (ap->type) - { - case TYPE_SCHAR: - ap->a.a_schar = va_arg (args, /*signed char*/ int); - break; - case TYPE_UCHAR: - ap->a.a_uchar = va_arg (args, /*unsigned char*/ int); - break; - case TYPE_SHORT: - ap->a.a_short = va_arg (args, /*short*/ int); - break; - case TYPE_USHORT: - ap->a.a_ushort = va_arg (args, /*unsigned short*/ int); - break; - case TYPE_INT: - ap->a.a_int = va_arg (args, int); - break; - case TYPE_UINT: - ap->a.a_uint = va_arg (args, unsigned int); - break; - case TYPE_LONGINT: - ap->a.a_longint = va_arg (args, long int); - break; - case TYPE_ULONGINT: - ap->a.a_ulongint = va_arg (args, unsigned long int); - break; + switch (ap->type) { + case TYPE_SCHAR: + ap->a.a_schar = va_arg(args, /*signed char*/ int); + break; + case TYPE_UCHAR: + ap->a.a_uchar = va_arg(args, /*unsigned char*/ int); + break; + case TYPE_SHORT: + ap->a.a_short = va_arg(args, /*short*/ int); + break; + case TYPE_USHORT: + ap->a.a_ushort = va_arg(args, /*unsigned short*/ int); + break; + case TYPE_INT: + ap->a.a_int = va_arg(args, int); + break; + case TYPE_UINT: + ap->a.a_uint = va_arg(args, unsigned int); + break; + case TYPE_LONGINT: + ap->a.a_longint = va_arg(args, long int); + break; + case TYPE_ULONGINT: + ap->a.a_ulongint = va_arg(args, unsigned long int); + break; #if HAVE_LONG_LONG_INT - case TYPE_LONGLONGINT: - ap->a.a_longlongint = va_arg (args, long long int); - break; - case TYPE_ULONGLONGINT: - ap->a.a_ulonglongint = va_arg (args, unsigned long long int); - break; + case TYPE_LONGLONGINT: + ap->a.a_longlongint = va_arg(args, long long int); + break; + case TYPE_ULONGLONGINT: + ap->a.a_ulonglongint = va_arg(args, unsigned long long int); + break; #endif - case TYPE_DOUBLE: - ap->a.a_double = va_arg (args, double); - break; - case TYPE_LONGDOUBLE: - ap->a.a_longdouble = va_arg (args, long double); - break; - case TYPE_CHAR: - ap->a.a_char = va_arg (args, int); - break; + case TYPE_DOUBLE: + ap->a.a_double = va_arg(args, double); + break; + case TYPE_LONGDOUBLE: + ap->a.a_longdouble = va_arg(args, long double); + break; + case TYPE_CHAR: + ap->a.a_char = va_arg(args, int); + break; #if HAVE_WINT_T - case TYPE_WIDE_CHAR: - /* Although ISO C 99 7.24.1.(2) says that wint_t is "unchanged by - default argument promotions", this is not the case in mingw32, - where wint_t is 'unsigned short'. */ - ap->a.a_wide_char = - (sizeof (wint_t) < sizeof (int) - ? va_arg (args, int) - : va_arg (args, wint_t)); - break; + case TYPE_WIDE_CHAR: + /* Although ISO C 99 7.24.1.(2) says that wint_t is "unchanged by + default argument promotions", this is not the case in mingw32, + where wint_t is 'unsigned short'. */ + ap->a.a_wide_char = + (sizeof(wint_t) < sizeof(int) + ? va_arg(args, int) + : va_arg(args, wint_t)); + break; #endif - case TYPE_STRING: - ap->a.a_string = va_arg (args, const char *); - /* A null pointer is an invalid argument for "%s", but in practice - it occurs quite frequently in printf statements that produce - debug output. Use a fallback in this case. */ - if (ap->a.a_string == NULL) - ap->a.a_string = "(NULL)"; - break; + case TYPE_STRING: + ap->a.a_string = va_arg(args, const char *); + /* A null pointer is an invalid argument for "%s", but in practice + it occurs quite frequently in printf statements that produce + debug output. Use a fallback in this case. */ + if (ap->a.a_string == NULL) + ap->a.a_string = "(NULL)"; + break; #if HAVE_WCHAR_T - case TYPE_WIDE_STRING: - ap->a.a_wide_string = va_arg (args, const wchar_t *); - /* A null pointer is an invalid argument for "%ls", but in practice - it occurs quite frequently in printf statements that produce - debug output. Use a fallback in this case. */ - if (ap->a.a_wide_string == NULL) - { - static const wchar_t wide_null_string[] = - { - (wchar_t)'(', - (wchar_t)'N', (wchar_t)'U', (wchar_t)'L', (wchar_t)'L', - (wchar_t)')', - (wchar_t)0 - }; - ap->a.a_wide_string = wide_null_string; - } - break; + case TYPE_WIDE_STRING: + ap->a.a_wide_string = va_arg(args, const wchar_t *); + /* A null pointer is an invalid argument for "%ls", but in practice + it occurs quite frequently in printf statements that produce + debug output. Use a fallback in this case. */ + if (ap->a.a_wide_string == NULL) { + static const wchar_t wide_null_string[] = { + (wchar_t)'(', + (wchar_t)'N', (wchar_t)'U', (wchar_t)'L', (wchar_t)'L', + (wchar_t)')', + (wchar_t)0 + }; + ap->a.a_wide_string = wide_null_string; + } + break; #endif - case TYPE_POINTER: - ap->a.a_pointer = va_arg (args, void *); - break; - case TYPE_COUNT_SCHAR_POINTER: - ap->a.a_count_schar_pointer = va_arg (args, signed char *); - break; - case TYPE_COUNT_SHORT_POINTER: - ap->a.a_count_short_pointer = va_arg (args, short *); - break; - case TYPE_COUNT_INT_POINTER: - ap->a.a_count_int_pointer = va_arg (args, int *); - break; - case TYPE_COUNT_LONGINT_POINTER: - ap->a.a_count_longint_pointer = va_arg (args, long int *); - break; + case TYPE_POINTER: + ap->a.a_pointer = va_arg(args, void *); + break; + case TYPE_COUNT_SCHAR_POINTER: + ap->a.a_count_schar_pointer = va_arg(args, signed char *); + break; + case TYPE_COUNT_SHORT_POINTER: + ap->a.a_count_short_pointer = va_arg(args, short *); + break; + case TYPE_COUNT_INT_POINTER: + ap->a.a_count_int_pointer = va_arg(args, int *); + break; + case TYPE_COUNT_LONGINT_POINTER: + ap->a.a_count_longint_pointer = va_arg(args, long int *); + break; #if HAVE_LONG_LONG_INT - case TYPE_COUNT_LONGLONGINT_POINTER: - ap->a.a_count_longlongint_pointer = va_arg (args, long long int *); - break; + case TYPE_COUNT_LONGLONGINT_POINTER: + ap->a.a_count_longlongint_pointer = va_arg(args, long long int *); + break; #endif #if ENABLE_UNISTDIO - /* The unistdio extensions. */ - case TYPE_U8_STRING: - ap->a.a_u8_string = va_arg (args, const uint8_t *); - /* A null pointer is an invalid argument for "%U", but in practice - it occurs quite frequently in printf statements that produce - debug output. Use a fallback in this case. */ - if (ap->a.a_u8_string == NULL) - { - static const uint8_t u8_null_string[] = - { '(', 'N', 'U', 'L', 'L', ')', 0 }; - ap->a.a_u8_string = u8_null_string; - } - break; - case TYPE_U16_STRING: - ap->a.a_u16_string = va_arg (args, const uint16_t *); - /* A null pointer is an invalid argument for "%lU", but in practice - it occurs quite frequently in printf statements that produce - debug output. Use a fallback in this case. */ - if (ap->a.a_u16_string == NULL) - { - static const uint16_t u16_null_string[] = - { '(', 'N', 'U', 'L', 'L', ')', 0 }; - ap->a.a_u16_string = u16_null_string; - } - break; - case TYPE_U32_STRING: - ap->a.a_u32_string = va_arg (args, const uint32_t *); - /* A null pointer is an invalid argument for "%llU", but in practice - it occurs quite frequently in printf statements that produce - debug output. Use a fallback in this case. */ - if (ap->a.a_u32_string == NULL) - { - static const uint32_t u32_null_string[] = - { '(', 'N', 'U', 'L', 'L', ')', 0 }; - ap->a.a_u32_string = u32_null_string; - } - break; -#endif - default: - /* Unknown type. */ - return -1; + /* The unistdio extensions. */ + case TYPE_U8_STRING: + ap->a.a_u8_string = va_arg(args, const uint8_t *); + /* A null pointer is an invalid argument for "%U", but in practice + it occurs quite frequently in printf statements that produce + debug output. Use a fallback in this case. */ + if (ap->a.a_u8_string == NULL) { + static const uint8_t u8_null_string[] = + { '(', 'N', 'U', 'L', 'L', ')', 0 }; + ap->a.a_u8_string = u8_null_string; + } + break; + case TYPE_U16_STRING: + ap->a.a_u16_string = va_arg(args, const uint16_t *); + /* A null pointer is an invalid argument for "%lU", but in practice + it occurs quite frequently in printf statements that produce + debug output. Use a fallback in this case. */ + if (ap->a.a_u16_string == NULL) { + static const uint16_t u16_null_string[] = + { '(', 'N', 'U', 'L', 'L', ')', 0 }; + ap->a.a_u16_string = u16_null_string; } + break; + case TYPE_U32_STRING: + ap->a.a_u32_string = va_arg(args, const uint32_t *); + /* A null pointer is an invalid argument for "%llU", but in practice + it occurs quite frequently in printf statements that produce + debug output. Use a fallback in this case. */ + if (ap->a.a_u32_string == NULL) { + static const uint32_t u32_null_string[] = + { '(', 'N', 'U', 'L', 'L', ')', 0 }; + ap->a.a_u32_string = u32_null_string; + } + break; +#endif + default: + /* Unknown type. */ + return -1; + } return 0; }
View file
LiVES-2.8.4.tar.bz2/intl/printf-args.h -> LiVES-2.8.6.tar.bz2/intl/printf-args.h
Changed
@@ -47,8 +47,7 @@ /* Argument types */ -typedef enum -{ +typedef enum { TYPE_NONE, TYPE_SCHAR, TYPE_UCHAR, @@ -78,22 +77,20 @@ TYPE_COUNT_INT_POINTER, TYPE_COUNT_LONGINT_POINTER #if HAVE_LONG_LONG_INT -, TYPE_COUNT_LONGLONGINT_POINTER + , TYPE_COUNT_LONGLONGINT_POINTER #endif #if ENABLE_UNISTDIO /* The unistdio extensions. */ -, TYPE_U8_STRING -, TYPE_U16_STRING -, TYPE_U32_STRING + , TYPE_U8_STRING + , TYPE_U16_STRING + , TYPE_U32_STRING #endif } arg_type; /* Polymorphic argument */ -typedef struct -{ +typedef struct { arg_type type; - union - { + union { signed char a_schar; unsigned char a_uchar; short a_short; @@ -113,31 +110,30 @@ #if HAVE_WINT_T wint_t a_wide_char; #endif - const char* a_string; + const char *a_string; #if HAVE_WCHAR_T - const wchar_t* a_wide_string; + const wchar_t *a_wide_string; #endif - void* a_pointer; - signed char * a_count_schar_pointer; - short * a_count_short_pointer; - int * a_count_int_pointer; - long int * a_count_longint_pointer; + void *a_pointer; + signed char *a_count_schar_pointer; + short *a_count_short_pointer; + int *a_count_int_pointer; + long int *a_count_longint_pointer; #if HAVE_LONG_LONG_INT - long long int * a_count_longlongint_pointer; + long long int *a_count_longlongint_pointer; #endif #if ENABLE_UNISTDIO /* The unistdio extensions. */ - const uint8_t * a_u8_string; - const uint16_t * a_u16_string; - const uint32_t * a_u32_string; + const uint8_t *a_u8_string; + const uint16_t *a_u16_string; + const uint32_t *a_u32_string; #endif } a; } argument; -typedef struct -{ +typedef struct { size_t count; argument *arg; } @@ -150,6 +146,6 @@ #else extern #endif -int PRINTF_FETCHARGS (va_list args, arguments *a); +int PRINTF_FETCHARGS(va_list args, arguments *a); #endif /* _PRINTF_ARGS_H */
View file
LiVES-2.8.4.tar.bz2/intl/printf-parse.c -> LiVES-2.8.6.tar.bz2/intl/printf-parse.c
Changed
@@ -79,8 +79,7 @@ STATIC #endif int -PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d, arguments *a) -{ +PRINTF_PARSE(const CHAR_T *format, DIRECTIVES *d, arguments *a) { const CHAR_T *cp = format; /* pointer into format */ size_t arg_posn = 0; /* number of regular arguments consumed */ size_t d_allocated; /* allocated elements of d->dir */ @@ -90,7 +89,7 @@ d->count = 0; d_allocated = 1; - d->dir = (DIRECTIVE *) malloc (d_allocated * sizeof (DIRECTIVE)); + d->dir = (DIRECTIVE *) malloc(d_allocated * sizeof(DIRECTIVE)); if (d->dir == NULL) /* Out of memory. */ goto out_of_memory_1; @@ -131,434 +130,387 @@ goto error; \ } - while (*cp != '\0') - { - CHAR_T c = *cp++; - if (c == '%') - { - size_t arg_index = ARG_NONE; - DIRECTIVE *dp = &d->dir[d->count]; /* pointer to next directive */ - - /* Initialize the next directive. */ - dp->dir_start = cp - 1; - dp->flags = 0; - dp->width_start = NULL; - dp->width_end = NULL; - dp->width_arg_index = ARG_NONE; - dp->precision_start = NULL; - dp->precision_end = NULL; - dp->precision_arg_index = ARG_NONE; - dp->arg_index = ARG_NONE; - - /* Test for positional argument. */ - if (*cp >= '0' && *cp <= '9') - { - const CHAR_T *np; - - for (np = cp; *np >= '0' && *np <= '9'; np++) - ; - if (*np == '$') - { - size_t n = 0; - - for (np = cp; *np >= '0' && *np <= '9'; np++) - n = xsum (xtimes (n, 10), *np - '0'); - if (n == 0) - /* Positional argument 0. */ - goto error; - if (size_overflow_p (n)) - /* n too large, would lead to out of memory later. */ - goto error; - arg_index = n - 1; - cp = np + 1; - } - } - - /* Read the flags. */ - for (;;) - { - if (*cp == '\'') - { - dp->flags |= FLAG_GROUP; - cp++; - } - else if (*cp == '-') - { - dp->flags |= FLAG_LEFT; - cp++; - } - else if (*cp == '+') - { - dp->flags |= FLAG_SHOWSIGN; - cp++; - } - else if (*cp == ' ') - { - dp->flags |= FLAG_SPACE; - cp++; - } - else if (*cp == '#') - { - dp->flags |= FLAG_ALT; - cp++; - } - else if (*cp == '0') - { - dp->flags |= FLAG_ZERO; - cp++; - } - else - break; - } - - /* Parse the field width. */ - if (*cp == '*') - { - dp->width_start = cp; - cp++; - dp->width_end = cp; - if (max_width_length < 1) - max_width_length = 1; - - /* Test for positional argument. */ - if (*cp >= '0' && *cp <= '9') - { - const CHAR_T *np; - - for (np = cp; *np >= '0' && *np <= '9'; np++) - ; - if (*np == '$') - { - size_t n = 0; - - for (np = cp; *np >= '0' && *np <= '9'; np++) - n = xsum (xtimes (n, 10), *np - '0'); - if (n == 0) - /* Positional argument 0. */ - goto error; - if (size_overflow_p (n)) - /* n too large, would lead to out of memory later. */ - goto error; - dp->width_arg_index = n - 1; - cp = np + 1; - } - } - if (dp->width_arg_index == ARG_NONE) - { - dp->width_arg_index = arg_posn++; - if (dp->width_arg_index == ARG_NONE) - /* arg_posn wrapped around. */ - goto error; - } - REGISTER_ARG (dp->width_arg_index, TYPE_INT); - } - else if (*cp >= '0' && *cp <= '9') - { - size_t width_length; - - dp->width_start = cp; - for (; *cp >= '0' && *cp <= '9'; cp++) - ; - dp->width_end = cp; - width_length = dp->width_end - dp->width_start; - if (max_width_length < width_length) - max_width_length = width_length; - } - - /* Parse the precision. */ - if (*cp == '.') - { - cp++; - if (*cp == '*') - { - dp->precision_start = cp - 1; - cp++; - dp->precision_end = cp; - if (max_precision_length < 2) - max_precision_length = 2; - - /* Test for positional argument. */ - if (*cp >= '0' && *cp <= '9') - { - const CHAR_T *np; - - for (np = cp; *np >= '0' && *np <= '9'; np++) - ; - if (*np == '$') - { - size_t n = 0; - - for (np = cp; *np >= '0' && *np <= '9'; np++) - n = xsum (xtimes (n, 10), *np - '0'); - if (n == 0) - /* Positional argument 0. */ - goto error; - if (size_overflow_p (n)) - /* n too large, would lead to out of memory - later. */ - goto error; - dp->precision_arg_index = n - 1; - cp = np + 1; - } - } - if (dp->precision_arg_index == ARG_NONE) - { - dp->precision_arg_index = arg_posn++; - if (dp->precision_arg_index == ARG_NONE) - /* arg_posn wrapped around. */ - goto error; - } - REGISTER_ARG (dp->precision_arg_index, TYPE_INT); - } - else - { - size_t precision_length; - - dp->precision_start = cp - 1; - for (; *cp >= '0' && *cp <= '9'; cp++) - ; - dp->precision_end = cp; - precision_length = dp->precision_end - dp->precision_start; - if (max_precision_length < precision_length) - max_precision_length = precision_length; - } - } - - { - arg_type type; - - /* Parse argument type/size specifiers. */ - { - int flags = 0; - - for (;;) - { - if (*cp == 'h') - { - flags |= (1 << (flags & 1)); - cp++; - } - else if (*cp == 'L') - { - flags |= 4; - cp++; - } - else if (*cp == 'l') - { - flags += 8; - cp++; - } - else if (*cp == 'j') - { - if (sizeof (intmax_t) > sizeof (long)) - { - /* intmax_t = long long */ - flags += 16; - } - else if (sizeof (intmax_t) > sizeof (int)) - { - /* intmax_t = long */ - flags += 8; - } - cp++; - } - else if (*cp == 'z' || *cp == 'Z') - { - /* 'z' is standardized in ISO C 99, but glibc uses 'Z' - because the warning facility in gcc-2.95.2 understands - only 'Z' (see gcc-2.95.2/gcc/c-common.c:1784). */ - if (sizeof (size_t) > sizeof (long)) - { - /* size_t = long long */ - flags += 16; - } - else if (sizeof (size_t) > sizeof (int)) - { - /* size_t = long */ - flags += 8; - } - cp++; - } - else if (*cp == 't') - { - if (sizeof (ptrdiff_t) > sizeof (long)) - { - /* ptrdiff_t = long long */ - flags += 16; - } - else if (sizeof (ptrdiff_t) > sizeof (int)) - { - /* ptrdiff_t = long */ - flags += 8; - } - cp++; - } - else - break; - } - - /* Read the conversion character. */ - c = *cp++; - switch (c) - { - case 'd': case 'i': + while (*cp != '\0') { + CHAR_T c = *cp++; + if (c == '%') { + size_t arg_index = ARG_NONE; + DIRECTIVE *dp = &d->dir[d->count]; /* pointer to next directive */ + + /* Initialize the next directive. */ + dp->dir_start = cp - 1; + dp->flags = 0; + dp->width_start = NULL; + dp->width_end = NULL; + dp->width_arg_index = ARG_NONE; + dp->precision_start = NULL; + dp->precision_end = NULL; + dp->precision_arg_index = ARG_NONE; + dp->arg_index = ARG_NONE; + + /* Test for positional argument. */ + if (*cp >= '0' && *cp <= '9') { + const CHAR_T *np; + + for (np = cp; *np >= '0' && *np <= '9'; np++) + ; + if (*np == '$') { + size_t n = 0; + + for (np = cp; *np >= '0' && *np <= '9'; np++) + n = xsum(xtimes(n, 10), *np - '0'); + if (n == 0) + /* Positional argument 0. */ + goto error; + if (size_overflow_p(n)) + /* n too large, would lead to out of memory later. */ + goto error; + arg_index = n - 1; + cp = np + 1; + } + } + + /* Read the flags. */ + for (;;) { + if (*cp == '\'') { + dp->flags |= FLAG_GROUP; + cp++; + } else if (*cp == '-') { + dp->flags |= FLAG_LEFT; + cp++; + } else if (*cp == '+') { + dp->flags |= FLAG_SHOWSIGN; + cp++; + } else if (*cp == ' ') { + dp->flags |= FLAG_SPACE; + cp++; + } else if (*cp == '#') { + dp->flags |= FLAG_ALT; + cp++; + } else if (*cp == '0') { + dp->flags |= FLAG_ZERO; + cp++; + } else + break; + } + + /* Parse the field width. */ + if (*cp == '*') { + dp->width_start = cp; + cp++; + dp->width_end = cp; + if (max_width_length < 1) + max_width_length = 1; + + /* Test for positional argument. */ + if (*cp >= '0' && *cp <= '9') { + const CHAR_T *np; + + for (np = cp; *np >= '0' && *np <= '9'; np++) + ; + if (*np == '$') { + size_t n = 0; + + for (np = cp; *np >= '0' && *np <= '9'; np++) + n = xsum(xtimes(n, 10), *np - '0'); + if (n == 0) + /* Positional argument 0. */ + goto error; + if (size_overflow_p(n)) + /* n too large, would lead to out of memory later. */ + goto error; + dp->width_arg_index = n - 1; + cp = np + 1; + } + } + if (dp->width_arg_index == ARG_NONE) { + dp->width_arg_index = arg_posn++; + if (dp->width_arg_index == ARG_NONE) + /* arg_posn wrapped around. */ + goto error; + } + REGISTER_ARG(dp->width_arg_index, TYPE_INT); + } else if (*cp >= '0' && *cp <= '9') { + size_t width_length; + + dp->width_start = cp; + for (; *cp >= '0' && *cp <= '9'; cp++) + ; + dp->width_end = cp; + width_length = dp->width_end - dp->width_start; + if (max_width_length < width_length) + max_width_length = width_length; + } + + /* Parse the precision. */ + if (*cp == '.') { + cp++; + if (*cp == '*') { + dp->precision_start = cp - 1; + cp++; + dp->precision_end = cp; + if (max_precision_length < 2) + max_precision_length = 2; + + /* Test for positional argument. */ + if (*cp >= '0' && *cp <= '9') { + const CHAR_T *np; + + for (np = cp; *np >= '0' && *np <= '9'; np++) + ; + if (*np == '$') { + size_t n = 0; + + for (np = cp; *np >= '0' && *np <= '9'; np++) + n = xsum(xtimes(n, 10), *np - '0'); + if (n == 0) + /* Positional argument 0. */ + goto error; + if (size_overflow_p(n)) + /* n too large, would lead to out of memory + later. */ + goto error; + dp->precision_arg_index = n - 1; + cp = np + 1; + } + } + if (dp->precision_arg_index == ARG_NONE) { + dp->precision_arg_index = arg_posn++; + if (dp->precision_arg_index == ARG_NONE) + /* arg_posn wrapped around. */ + goto error; + } + REGISTER_ARG(dp->precision_arg_index, TYPE_INT); + } else { + size_t precision_length; + + dp->precision_start = cp - 1; + for (; *cp >= '0' && *cp <= '9'; cp++) + ; + dp->precision_end = cp; + precision_length = dp->precision_end - dp->precision_start; + if (max_precision_length < precision_length) + max_precision_length = precision_length; + } + } + + { + arg_type type; + + /* Parse argument type/size specifiers. */ + { + int flags = 0; + + for (;;) { + if (*cp == 'h') { + flags |= (1 << (flags & 1)); + cp++; + } else if (*cp == 'L') { + flags |= 4; + cp++; + } else if (*cp == 'l') { + flags += 8; + cp++; + } else if (*cp == 'j') { + if (sizeof(intmax_t) > sizeof(long)) { + /* intmax_t = long long */ + flags += 16; + } else if (sizeof(intmax_t) > sizeof(int)) { + /* intmax_t = long */ + flags += 8; + } + cp++; + } else if (*cp == 'z' || *cp == 'Z') { + /* 'z' is standardized in ISO C 99, but glibc uses 'Z' + because the warning facility in gcc-2.95.2 understands + only 'Z' (see gcc-2.95.2/gcc/c-common.c:1784). */ + if (sizeof(size_t) > sizeof(long)) { + /* size_t = long long */ + flags += 16; + } else if (sizeof(size_t) > sizeof(int)) { + /* size_t = long */ + flags += 8; + } + cp++; + } else if (*cp == 't') { + if (sizeof(ptrdiff_t) > sizeof(long)) { + /* ptrdiff_t = long long */ + flags += 16; + } else if (sizeof(ptrdiff_t) > sizeof(int)) { + /* ptrdiff_t = long */ + flags += 8; + } + cp++; + } else + break; + } + + /* Read the conversion character. */ + c = *cp++; + switch (c) { + case 'd': + case 'i': #if HAVE_LONG_LONG_INT - /* If 'long long' exists and is larger than 'long': */ - if (flags >= 16 || (flags & 4)) - type = TYPE_LONGLONGINT; - else + /* If 'long long' exists and is larger than 'long': */ + if (flags >= 16 || (flags & 4)) + type = TYPE_LONGLONGINT; + else #endif - /* If 'long long' exists and is the same as 'long', we parse - "lld" into TYPE_LONGINT. */ - if (flags >= 8) - type = TYPE_LONGINT; - else if (flags & 2) - type = TYPE_SCHAR; - else if (flags & 1) - type = TYPE_SHORT; - else - type = TYPE_INT; - break; - case 'o': case 'u': case 'x': case 'X': + /* If 'long long' exists and is the same as 'long', we parse + "lld" into TYPE_LONGINT. */ + if (flags >= 8) + type = TYPE_LONGINT; + else if (flags & 2) + type = TYPE_SCHAR; + else if (flags & 1) + type = TYPE_SHORT; + else + type = TYPE_INT; + break; + case 'o': + case 'u': + case 'x': + case 'X': #if HAVE_LONG_LONG_INT - /* If 'long long' exists and is larger than 'long': */ - if (flags >= 16 || (flags & 4)) - type = TYPE_ULONGLONGINT; - else + /* If 'long long' exists and is larger than 'long': */ + if (flags >= 16 || (flags & 4)) + type = TYPE_ULONGLONGINT; + else #endif - /* If 'unsigned long long' exists and is the same as - 'unsigned long', we parse "llu" into TYPE_ULONGINT. */ - if (flags >= 8) - type = TYPE_ULONGINT; - else if (flags & 2) - type = TYPE_UCHAR; - else if (flags & 1) - type = TYPE_USHORT; - else - type = TYPE_UINT; - break; - case 'f': case 'F': case 'e': case 'E': case 'g': case 'G': - case 'a': case 'A': - if (flags >= 16 || (flags & 4)) - type = TYPE_LONGDOUBLE; - else - type = TYPE_DOUBLE; - break; - case 'c': - if (flags >= 8) + /* If 'unsigned long long' exists and is the same as + 'unsigned long', we parse "llu" into TYPE_ULONGINT. */ + if (flags >= 8) + type = TYPE_ULONGINT; + else if (flags & 2) + type = TYPE_UCHAR; + else if (flags & 1) + type = TYPE_USHORT; + else + type = TYPE_UINT; + break; + case 'f': + case 'F': + case 'e': + case 'E': + case 'g': + case 'G': + case 'a': + case 'A': + if (flags >= 16 || (flags & 4)) + type = TYPE_LONGDOUBLE; + else + type = TYPE_DOUBLE; + break; + case 'c': + if (flags >= 8) #if HAVE_WINT_T - type = TYPE_WIDE_CHAR; + type = TYPE_WIDE_CHAR; #else - goto error; + goto error; #endif - else - type = TYPE_CHAR; - break; + else + type = TYPE_CHAR; + break; #if HAVE_WINT_T - case 'C': - type = TYPE_WIDE_CHAR; - c = 'c'; - break; + case 'C': + type = TYPE_WIDE_CHAR; + c = 'c'; + break; #endif - case 's': - if (flags >= 8) + case 's': + if (flags >= 8) #if HAVE_WCHAR_T - type = TYPE_WIDE_STRING; + type = TYPE_WIDE_STRING; #else - goto error; + goto error; #endif - else - type = TYPE_STRING; - break; + else + type = TYPE_STRING; + break; #if HAVE_WCHAR_T - case 'S': - type = TYPE_WIDE_STRING; - c = 's'; - break; + case 'S': + type = TYPE_WIDE_STRING; + c = 's'; + break; #endif - case 'p': - type = TYPE_POINTER; - break; - case 'n': + case 'p': + type = TYPE_POINTER; + break; + case 'n': #if HAVE_LONG_LONG_INT - /* If 'long long' exists and is larger than 'long': */ - if (flags >= 16 || (flags & 4)) - type = TYPE_COUNT_LONGLONGINT_POINTER; - else + /* If 'long long' exists and is larger than 'long': */ + if (flags >= 16 || (flags & 4)) + type = TYPE_COUNT_LONGLONGINT_POINTER; + else #endif - /* If 'long long' exists and is the same as 'long', we parse - "lln" into TYPE_COUNT_LONGINT_POINTER. */ - if (flags >= 8) - type = TYPE_COUNT_LONGINT_POINTER; - else if (flags & 2) - type = TYPE_COUNT_SCHAR_POINTER; - else if (flags & 1) - type = TYPE_COUNT_SHORT_POINTER; - else - type = TYPE_COUNT_INT_POINTER; - break; + /* If 'long long' exists and is the same as 'long', we parse + "lln" into TYPE_COUNT_LONGINT_POINTER. */ + if (flags >= 8) + type = TYPE_COUNT_LONGINT_POINTER; + else if (flags & 2) + type = TYPE_COUNT_SCHAR_POINTER; + else if (flags & 1) + type = TYPE_COUNT_SHORT_POINTER; + else + type = TYPE_COUNT_INT_POINTER; + break; #if ENABLE_UNISTDIO - /* The unistdio extensions. */ - case 'U': - if (flags >= 16) - type = TYPE_U32_STRING; - else if (flags >= 8) - type = TYPE_U16_STRING; - else - type = TYPE_U8_STRING; - break; + /* The unistdio extensions. */ + case 'U': + if (flags >= 16) + type = TYPE_U32_STRING; + else if (flags >= 8) + type = TYPE_U16_STRING; + else + type = TYPE_U8_STRING; + break; #endif - case '%': - type = TYPE_NONE; - break; - default: - /* Unknown conversion character. */ - goto error; - } - } - - if (type != TYPE_NONE) - { - dp->arg_index = arg_index; - if (dp->arg_index == ARG_NONE) - { - dp->arg_index = arg_posn++; - if (dp->arg_index == ARG_NONE) - /* arg_posn wrapped around. */ - goto error; - } - REGISTER_ARG (dp->arg_index, type); - } - dp->conversion = c; - dp->dir_end = cp; - } - - d->count++; - if (d->count >= d_allocated) - { - size_t memory_size; - DIRECTIVE *memory; - - d_allocated = xtimes (d_allocated, 2); - memory_size = xtimes (d_allocated, sizeof (DIRECTIVE)); - if (size_overflow_p (memory_size)) - /* Overflow, would lead to out of memory. */ - goto out_of_memory; - memory = (DIRECTIVE *) realloc (d->dir, memory_size); - if (memory == NULL) - /* Out of memory. */ - goto out_of_memory; - d->dir = memory; - } - } + case '%': + type = TYPE_NONE; + break; + default: + /* Unknown conversion character. */ + goto error; + } + } + + if (type != TYPE_NONE) { + dp->arg_index = arg_index; + if (dp->arg_index == ARG_NONE) { + dp->arg_index = arg_posn++; + if (dp->arg_index == ARG_NONE) + /* arg_posn wrapped around. */ + goto error; + } + REGISTER_ARG(dp->arg_index, type); + } + dp->conversion = c; + dp->dir_end = cp; + } + + d->count++; + if (d->count >= d_allocated) { + size_t memory_size; + DIRECTIVE *memory; + + d_allocated = xtimes(d_allocated, 2); + memory_size = xtimes(d_allocated, sizeof(DIRECTIVE)); + if (size_overflow_p(memory_size)) + /* Overflow, would lead to out of memory. */ + goto out_of_memory; + memory = (DIRECTIVE *) realloc(d->dir, memory_size); + if (memory == NULL) + /* Out of memory. */ + goto out_of_memory; + d->dir = memory; + } + } #if CHAR_T_ONLY_ASCII - else if (!c_isascii (c)) - { - /* Non-ASCII character. Not supported. */ - goto error; - } -#endif + else if (!c_isascii(c)) { + /* Non-ASCII character. Not supported. */ + goto error; } +#endif + } d->dir[d->count].dir_start = cp; d->max_width_length = max_width_length; @@ -567,17 +519,17 @@ error: if (a->arg) - free (a->arg); + free(a->arg); if (d->dir) - free (d->dir); + free(d->dir); errno = EINVAL; return -1; out_of_memory: if (a->arg) - free (a->arg); + free(a->arg); if (d->dir) - free (d->dir); + free(d->dir); out_of_memory_1: errno = ENOMEM; return -1;
View file
LiVES-2.8.4.tar.bz2/intl/printf-parse.h -> LiVES-2.8.6.tar.bz2/intl/printf-parse.h
Changed
@@ -34,16 +34,15 @@ #define ARG_NONE (~(size_t)0) /* A parsed directive. */ -typedef struct -{ - const char* dir_start; - const char* dir_end; +typedef struct { + const char *dir_start; + const char *dir_end; int flags; - const char* width_start; - const char* width_end; + const char *width_start; + const char *width_end; size_t width_arg_index; - const char* precision_start; - const char* precision_end; + const char *precision_start; + const char *precision_end; size_t precision_arg_index; char conversion; /* d i o u x X f e E g G c s p n U % but not C S */ size_t arg_index; @@ -51,8 +50,7 @@ char_directive; /* A parsed format string. */ -typedef struct -{ +typedef struct { size_t count; char_directive *dir; size_t max_width_length; @@ -70,6 +68,6 @@ #else extern #endif -int printf_parse (const char *format, char_directives *d, arguments *a); +int printf_parse(const char *format, char_directives *d, arguments *a); #endif /* _PRINTF_PARSE_H */
View file
LiVES-2.8.4.tar.bz2/intl/printf.c -> LiVES-2.8.6.tar.bz2/intl/printf.c
Changed
@@ -33,10 +33,10 @@ # include <alloca.h> # else # ifdef _AIX - #pragma alloca +#pragma alloca # else # ifndef alloca -char *alloca (); +char *alloca(); # endif # endif # endif @@ -92,153 +92,133 @@ DLL_EXPORTED int -libintl_vfprintf (FILE *stream, const char *format, va_list args) -{ - if (strchr (format, '$') == NULL) - return vfprintf (stream, format, args); - else - { - size_t length; - char *result = libintl_vasnprintf (NULL, &length, format, args); - int retval = -1; - if (result != NULL) - { - size_t written = fwrite (result, 1, length, stream); - free (result); - if (written == length) - { - if (length > INT_MAX) - errno = EOVERFLOW; - else - retval = length; - } - } - return retval; +libintl_vfprintf(FILE *stream, const char *format, va_list args) { + if (strchr(format, '$') == NULL) + return vfprintf(stream, format, args); + else { + size_t length; + char *result = libintl_vasnprintf(NULL, &length, format, args); + int retval = -1; + if (result != NULL) { + size_t written = fwrite(result, 1, length, stream); + free(result); + if (written == length) { + if (length > INT_MAX) + errno = EOVERFLOW; + else + retval = length; + } } + return retval; + } } DLL_EXPORTED int -libintl_fprintf (FILE *stream, const char *format, ...) -{ +libintl_fprintf(FILE *stream, const char *format, ...) { va_list args; int retval; - va_start (args, format); - retval = libintl_vfprintf (stream, format, args); - va_end (args); + va_start(args, format); + retval = libintl_vfprintf(stream, format, args); + va_end(args); return retval; } DLL_EXPORTED int -libintl_vprintf (const char *format, va_list args) -{ - return libintl_vfprintf (stdout, format, args); +libintl_vprintf(const char *format, va_list args) { + return libintl_vfprintf(stdout, format, args); } DLL_EXPORTED int -libintl_printf (const char *format, ...) -{ +libintl_printf(const char *format, ...) { va_list args; int retval; - va_start (args, format); - retval = libintl_vprintf (format, args); - va_end (args); + va_start(args, format); + retval = libintl_vprintf(format, args); + va_end(args); return retval; } DLL_EXPORTED int -libintl_vsprintf (char *resultbuf, const char *format, va_list args) -{ - if (strchr (format, '$') == NULL) - return vsprintf (resultbuf, format, args); - else - { - size_t length = (size_t) ~0 / (4 * sizeof (char)); - char *result = libintl_vasnprintf (resultbuf, &length, format, args); - if (result != resultbuf) - { - free (result); - return -1; - } - if (length > INT_MAX) - { - errno = EOVERFLOW; - return -1; - } - else - return length; +libintl_vsprintf(char *resultbuf, const char *format, va_list args) { + if (strchr(format, '$') == NULL) + return vsprintf(resultbuf, format, args); + else { + size_t length = (size_t) ~0 / (4 * sizeof(char)); + char *result = libintl_vasnprintf(resultbuf, &length, format, args); + if (result != resultbuf) { + free(result); + return -1; } + if (length > INT_MAX) { + errno = EOVERFLOW; + return -1; + } else + return length; + } } DLL_EXPORTED int -libintl_sprintf (char *resultbuf, const char *format, ...) -{ +libintl_sprintf(char *resultbuf, const char *format, ...) { va_list args; int retval; - va_start (args, format); - retval = libintl_vsprintf (resultbuf, format, args); - va_end (args); + va_start(args, format); + retval = libintl_vsprintf(resultbuf, format, args); + va_end(args); return retval; } #if HAVE_SNPRINTF # if HAVE_DECL__SNPRINTF - /* Windows. */ +/* Windows. */ # define system_vsnprintf _vsnprintf # else - /* Unix. */ +/* Unix. */ # define system_vsnprintf vsnprintf # endif DLL_EXPORTED int -libintl_vsnprintf (char *resultbuf, size_t length, const char *format, va_list args) -{ - if (strchr (format, '$') == NULL) - return system_vsnprintf (resultbuf, length, format, args); - else - { - size_t maxlength = length; - char *result = libintl_vasnprintf (resultbuf, &length, format, args); - if (result != resultbuf) - { - if (maxlength > 0) - { - size_t pruned_length = - (length < maxlength ? length : maxlength - 1); - memcpy (resultbuf, result, pruned_length); - resultbuf[pruned_length] = '\0'; - } - free (result); - } - if (length > INT_MAX) - { - errno = EOVERFLOW; - return -1; - } - else - return length; +libintl_vsnprintf(char *resultbuf, size_t length, const char *format, va_list args) { + if (strchr(format, '$') == NULL) + return system_vsnprintf(resultbuf, length, format, args); + else { + size_t maxlength = length; + char *result = libintl_vasnprintf(resultbuf, &length, format, args); + if (result != resultbuf) { + if (maxlength > 0) { + size_t pruned_length = + (length < maxlength ? length : maxlength - 1); + memcpy(resultbuf, result, pruned_length); + resultbuf[pruned_length] = '\0'; + } + free(result); } + if (length > INT_MAX) { + errno = EOVERFLOW; + return -1; + } else + return length; + } } DLL_EXPORTED int -libintl_snprintf (char *resultbuf, size_t length, const char *format, ...) -{ +libintl_snprintf(char *resultbuf, size_t length, const char *format, ...) { va_list args; int retval; - va_start (args, format); - retval = libintl_vsnprintf (resultbuf, length, format, args); - va_end (args); + va_start(args, format); + retval = libintl_vsnprintf(resultbuf, length, format, args); + va_end(args); return retval; } @@ -248,32 +228,29 @@ DLL_EXPORTED int -libintl_vasprintf (char **resultp, const char *format, va_list args) -{ +libintl_vasprintf(char **resultp, const char *format, va_list args) { size_t length; - char *result = libintl_vasnprintf (NULL, &length, format, args); + char *result = libintl_vasnprintf(NULL, &length, format, args); if (result == NULL) return -1; - if (length > INT_MAX) - { - free (result); - errno = EOVERFLOW; - return -1; - } + if (length > INT_MAX) { + free(result); + errno = EOVERFLOW; + return -1; + } *resultp = result; return length; } DLL_EXPORTED int -libintl_asprintf (char **resultp, const char *format, ...) -{ +libintl_asprintf(char **resultp, const char *format, ...) { va_list args; int retval; - va_start (args, format); - retval = libintl_vasprintf (resultp, format, args); - va_end (args); + va_start(args, format); + retval = libintl_vasprintf(resultp, format, args); + va_end(args); return retval; } @@ -302,123 +279,109 @@ #endif # if HAVE_DECL__SNWPRINTF - /* Windows. */ +/* Windows. */ # define system_vswprintf _vsnwprintf # else - /* Unix. */ +/* Unix. */ # define system_vswprintf vswprintf # endif DLL_EXPORTED int -libintl_vfwprintf (FILE *stream, const wchar_t *format, va_list args) -{ - if (wcschr (format, '$') == NULL) - return vfwprintf (stream, format, args); - else - { - size_t length; - wchar_t *result = libintl_vasnwprintf (NULL, &length, format, args); - int retval = -1; - if (result != NULL) - { - size_t i; - for (i = 0; i < length; i++) - if (fputwc (result[i], stream) == WEOF) - break; - free (result); - if (i == length) - { - if (length > INT_MAX) - errno = EOVERFLOW; - else - retval = length; - } - } - return retval; +libintl_vfwprintf(FILE *stream, const wchar_t *format, va_list args) { + if (wcschr(format, '$') == NULL) + return vfwprintf(stream, format, args); + else { + size_t length; + wchar_t *result = libintl_vasnwprintf(NULL, &length, format, args); + int retval = -1; + if (result != NULL) { + size_t i; + for (i = 0; i < length; i++) + if (fputwc(result[i], stream) == WEOF) + break; + free(result); + if (i == length) { + if (length > INT_MAX) + errno = EOVERFLOW; + else + retval = length; + } } + return retval; + } } DLL_EXPORTED int -libintl_fwprintf (FILE *stream, const wchar_t *format, ...) -{ +libintl_fwprintf(FILE *stream, const wchar_t *format, ...) { va_list args; int retval; - va_start (args, format); - retval = libintl_vfwprintf (stream, format, args); - va_end (args); + va_start(args, format); + retval = libintl_vfwprintf(stream, format, args); + va_end(args); return retval; } DLL_EXPORTED int -libintl_vwprintf (const wchar_t *format, va_list args) -{ - return libintl_vfwprintf (stdout, format, args); +libintl_vwprintf(const wchar_t *format, va_list args) { + return libintl_vfwprintf(stdout, format, args); } DLL_EXPORTED int -libintl_wprintf (const wchar_t *format, ...) -{ +libintl_wprintf(const wchar_t *format, ...) { va_list args; int retval; - va_start (args, format); - retval = libintl_vwprintf (format, args); - va_end (args); + va_start(args, format); + retval = libintl_vwprintf(format, args); + va_end(args); return retval; } DLL_EXPORTED int -libintl_vswprintf (wchar_t *resultbuf, size_t length, const wchar_t *format, va_list args) -{ - if (wcschr (format, '$') == NULL) - return system_vswprintf (resultbuf, length, format, args); - else - { - size_t maxlength = length; - wchar_t *result = libintl_vasnwprintf (resultbuf, &length, format, args); - if (result != resultbuf) - { - if (maxlength > 0) - { - size_t pruned_length = - (length < maxlength ? length : maxlength - 1); - memcpy (resultbuf, result, pruned_length * sizeof (wchar_t)); - resultbuf[pruned_length] = 0; - } - free (result); - /* Unlike vsnprintf, which has to return the number of character that - would have been produced if the resultbuf had been sufficiently - large, the vswprintf function has to return a negative value if - the resultbuf was not sufficiently large. */ - if (length >= maxlength) - return -1; - } - if (length > INT_MAX) - { - errno = EOVERFLOW; - return -1; - } - else - return length; +libintl_vswprintf(wchar_t *resultbuf, size_t length, const wchar_t *format, va_list args) { + if (wcschr(format, '$') == NULL) + return system_vswprintf(resultbuf, length, format, args); + else { + size_t maxlength = length; + wchar_t *result = libintl_vasnwprintf(resultbuf, &length, format, args); + if (result != resultbuf) { + if (maxlength > 0) { + size_t pruned_length = + (length < maxlength ? length : maxlength - 1); + memcpy(resultbuf, result, pruned_length * sizeof(wchar_t)); + resultbuf[pruned_length] = 0; + } + free(result); + /* Unlike vsnprintf, which has to return the number of character that + would have been produced if the resultbuf had been sufficiently + large, the vswprintf function has to return a negative value if + the resultbuf was not sufficiently large. */ + if (length >= maxlength) + return -1; } + if (length > INT_MAX) { + errno = EOVERFLOW; + return -1; + } else + return length; + } } DLL_EXPORTED int -libintl_swprintf (wchar_t *resultbuf, size_t length, const wchar_t *format, ...) -{ +libintl_swprintf(wchar_t *resultbuf, size_t length, const wchar_t *format, ...) { va_list args; int retval; - va_start (args, format); - retval = libintl_vswprintf (resultbuf, length, format, args); - va_end (args); + va_start(args, format); + retval = libintl_vswprintf(resultbuf, length, format, args); + va_end(args); return retval; }
View file
LiVES-2.8.4.tar.bz2/intl/relocatable.c -> LiVES-2.8.6.tar.bz2/intl/relocatable.c
Changed
@@ -71,7 +71,7 @@ IS_PATH_WITH_DIR(P) tests whether P contains a directory specification. */ #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ - /* Win32, Cygwin, OS/2, DOS */ +/* Win32, Cygwin, OS/2, DOS */ # define ISSLASH(C) ((C) == '/' || (C) == '\\') # define HAS_DEVICE(P) \ ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \ @@ -80,7 +80,7 @@ (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P)) # define FILE_SYSTEM_PREFIX_LEN(P) (HAS_DEVICE (P) ? 2 : 0) #else - /* Unix */ +/* Unix */ # define ISSLASH(C) ((C) == '/') # define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL) # define FILE_SYSTEM_PREFIX_LEN(P) 0 @@ -101,32 +101,30 @@ prefixes should be directory names without trailing slash (i.e. use "" instead of "/"). */ static void -set_this_relocation_prefix (const char *orig_prefix_arg, - const char *curr_prefix_arg) -{ +set_this_relocation_prefix(const char *orig_prefix_arg, + const char *curr_prefix_arg) { if (orig_prefix_arg != NULL && curr_prefix_arg != NULL /* Optimization: if orig_prefix and curr_prefix are equal, the - relocation is a nop. */ - && strcmp (orig_prefix_arg, curr_prefix_arg) != 0) - { - /* Duplicate the argument strings. */ - char *memory; - - orig_prefix_len = strlen (orig_prefix_arg); - curr_prefix_len = strlen (curr_prefix_arg); - memory = (char *) xmalloc (orig_prefix_len + 1 + curr_prefix_len + 1); + relocation is a nop. */ + && strcmp(orig_prefix_arg, curr_prefix_arg) != 0) { + /* Duplicate the argument strings. */ + char *memory; + + orig_prefix_len = strlen(orig_prefix_arg); + curr_prefix_len = strlen(curr_prefix_arg); + memory = (char *) xmalloc(orig_prefix_len + 1 + curr_prefix_len + 1); #ifdef NO_XMALLOC - if (memory != NULL) + if (memory != NULL) #endif - { - memcpy (memory, orig_prefix_arg, orig_prefix_len + 1); - orig_prefix = memory; - memory += orig_prefix_len + 1; - memcpy (memory, curr_prefix_arg, curr_prefix_len + 1); - curr_prefix = memory; - return; - } + { + memcpy(memory, orig_prefix_arg, orig_prefix_len + 1); + orig_prefix = memory; + memory += orig_prefix_len + 1; + memcpy(memory, curr_prefix_arg, curr_prefix_len + 1); + curr_prefix = memory; + return; } + } orig_prefix = NULL; curr_prefix = NULL; /* Don't worry about wasted memory here - this function is usually only @@ -139,19 +137,18 @@ prefixes should be directory names without trailing slash (i.e. use "" instead of "/"). */ void -set_relocation_prefix (const char *orig_prefix_arg, const char *curr_prefix_arg) -{ - set_this_relocation_prefix (orig_prefix_arg, curr_prefix_arg); +set_relocation_prefix(const char *orig_prefix_arg, const char *curr_prefix_arg) { + set_this_relocation_prefix(orig_prefix_arg, curr_prefix_arg); /* Now notify all dependent libraries. */ #if DEPENDS_ON_LIBCHARSET - libcharset_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg); + libcharset_set_relocation_prefix(orig_prefix_arg, curr_prefix_arg); #endif #if DEPENDS_ON_LIBICONV && HAVE_ICONV && _LIBICONV_VERSION >= 0x0109 - libiconv_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg); + libiconv_set_relocation_prefix(orig_prefix_arg, curr_prefix_arg); #endif #if DEPENDS_ON_LIBINTL && ENABLE_NLS && defined libintl_set_relocation_prefix - libintl_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg); + libintl_set_relocation_prefix(orig_prefix_arg, curr_prefix_arg); #endif } @@ -166,10 +163,9 @@ static #endif const char * -compute_curr_prefix (const char *orig_installprefix, - const char *orig_installdir, - const char *curr_pathname) -{ +compute_curr_prefix(const char *orig_installprefix, + const char *orig_installdir, + const char *curr_pathname) { const char *curr_installdir; const char *rel_installdir; @@ -179,31 +175,30 @@ /* Determine the relative installation directory, relative to the prefix. This is simply the difference between orig_installprefix and orig_installdir. */ - if (strncmp (orig_installprefix, orig_installdir, strlen (orig_installprefix)) + if (strncmp(orig_installprefix, orig_installdir, strlen(orig_installprefix)) != 0) /* Shouldn't happen - nothing should be installed outside $(prefix). */ return NULL; - rel_installdir = orig_installdir + strlen (orig_installprefix); + rel_installdir = orig_installdir + strlen(orig_installprefix); /* Determine the current installation directory. */ { - const char *p_base = curr_pathname + FILE_SYSTEM_PREFIX_LEN (curr_pathname); - const char *p = curr_pathname + strlen (curr_pathname); + const char *p_base = curr_pathname + FILE_SYSTEM_PREFIX_LEN(curr_pathname); + const char *p = curr_pathname + strlen(curr_pathname); char *q; - while (p > p_base) - { - p--; - if (ISSLASH (*p)) - break; - } + while (p > p_base) { + p--; + if (ISSLASH(*p)) + break; + } - q = (char *) xmalloc (p - curr_pathname + 1); + q = (char *) xmalloc(p - curr_pathname + 1); #ifdef NO_XMALLOC if (q == NULL) return NULL; #endif - memcpy (q, curr_pathname, p - curr_pathname); + memcpy(q, curr_pathname, p - curr_pathname); q[p - curr_pathname] = '\0'; curr_installdir = q; } @@ -211,47 +206,44 @@ /* Compute the current installation prefix by removing the trailing rel_installdir from it. */ { - const char *rp = rel_installdir + strlen (rel_installdir); - const char *cp = curr_installdir + strlen (curr_installdir); + const char *rp = rel_installdir + strlen(rel_installdir); + const char *cp = curr_installdir + strlen(curr_installdir); const char *cp_base = - curr_installdir + FILE_SYSTEM_PREFIX_LEN (curr_installdir); - - while (rp > rel_installdir && cp > cp_base) - { - bool same = false; - const char *rpi = rp; - const char *cpi = cp; - - while (rpi > rel_installdir && cpi > cp_base) - { - rpi--; - cpi--; - if (ISSLASH (*rpi) || ISSLASH (*cpi)) - { - if (ISSLASH (*rpi) && ISSLASH (*cpi)) - same = true; - break; - } - /* Do case-insensitive comparison if the filesystem is always or - often case-insensitive. It's better to accept the comparison - if the difference is only in case, rather than to fail. */ + curr_installdir + FILE_SYSTEM_PREFIX_LEN(curr_installdir); + + while (rp > rel_installdir && cp > cp_base) { + bool same = false; + const char *rpi = rp; + const char *cpi = cp; + + while (rpi > rel_installdir && cpi > cp_base) { + rpi--; + cpi--; + if (ISSLASH(*rpi) || ISSLASH(*cpi)) { + if (ISSLASH(*rpi) && ISSLASH(*cpi)) + same = true; + break; + } + /* Do case-insensitive comparison if the filesystem is always or + often case-insensitive. It's better to accept the comparison + if the difference is only in case, rather than to fail. */ #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ - /* Win32, Cygwin, OS/2, DOS - case insignificant filesystem */ - if ((*rpi >= 'a' && *rpi <= 'z' ? *rpi - 'a' + 'A' : *rpi) - != (*cpi >= 'a' && *cpi <= 'z' ? *cpi - 'a' + 'A' : *cpi)) - break; + /* Win32, Cygwin, OS/2, DOS - case insignificant filesystem */ + if ((*rpi >= 'a' && *rpi <= 'z' ? *rpi - 'a' + 'A' : *rpi) + != (*cpi >= 'a' && *cpi <= 'z' ? *cpi - 'a' + 'A' : *cpi)) + break; #else - if (*rpi != *cpi) - break; + if (*rpi != *cpi) + break; #endif - } - if (!same) - break; - /* The last pathname component was the same. opi and cpi now point - to the slash before it. */ - rp = rpi; - cp = cpi; } + if (!same) + break; + /* The last pathname component was the same. opi and cpi now point + to the slash before it. */ + rp = rpi; + cp = cpi; + } if (rp > rel_installdir) /* Unexpected: The curr_installdir does not end with rel_installdir. */ @@ -261,12 +253,12 @@ size_t curr_prefix_len = cp - curr_installdir; char *curr_prefix; - curr_prefix = (char *) xmalloc (curr_prefix_len + 1); + curr_prefix = (char *) xmalloc(curr_prefix_len + 1); #ifdef NO_XMALLOC if (curr_prefix == NULL) - return NULL; + return NULL; #endif - memcpy (curr_prefix, curr_installdir, curr_prefix_len); + memcpy(curr_prefix, curr_installdir, curr_prefix_len); curr_prefix[curr_prefix_len] = '\0'; return curr_prefix; @@ -286,43 +278,41 @@ /* Determine the full pathname of the shared library when it is loaded. */ BOOL WINAPI -DllMain (HINSTANCE module_handle, DWORD event, LPVOID reserved) -{ +DllMain(HINSTANCE module_handle, DWORD event, LPVOID reserved) { (void) reserved; - if (event == DLL_PROCESS_ATTACH) - { - /* The DLL is being loaded into an application's address range. */ - static char location[MAX_PATH]; + if (event == DLL_PROCESS_ATTACH) { + /* The DLL is being loaded into an application's address range. */ + static char location[MAX_PATH]; - if (!GetModuleFileName (module_handle, location, sizeof (location))) - /* Shouldn't happen. */ - return FALSE; + if (!GetModuleFileName(module_handle, location, sizeof(location))) + /* Shouldn't happen. */ + return FALSE; - if (!IS_PATH_WITH_DIR (location)) - /* Shouldn't happen. */ - return FALSE; + if (!IS_PATH_WITH_DIR(location)) + /* Shouldn't happen. */ + return FALSE; - { + { #if defined __CYGWIN__ - /* On Cygwin, we need to convert paths coming from Win32 system calls - to the Unix-like slashified notation. */ - static char location_as_posix_path[2 * MAX_PATH]; - /* There's no error return defined for cygwin_conv_to_posix_path. - See cygwin-api/func-cygwin-conv-to-posix-path.html. - Does it overflow the buffer of expected size MAX_PATH or does it - truncate the path? I don't know. Let's catch both. */ - cygwin_conv_to_posix_path (location, location_as_posix_path); - location_as_posix_path[MAX_PATH - 1] = '\0'; - if (strlen (location_as_posix_path) >= MAX_PATH - 1) - /* A sign of buffer overflow or path truncation. */ - return FALSE; - shared_library_fullname = strdup (location_as_posix_path); + /* On Cygwin, we need to convert paths coming from Win32 system calls + to the Unix-like slashified notation. */ + static char location_as_posix_path[2 * MAX_PATH]; + /* There's no error return defined for cygwin_conv_to_posix_path. + See cygwin-api/func-cygwin-conv-to-posix-path.html. + Does it overflow the buffer of expected size MAX_PATH or does it + truncate the path? I don't know. Let's catch both. */ + cygwin_conv_to_posix_path(location, location_as_posix_path); + location_as_posix_path[MAX_PATH - 1] = '\0'; + if (strlen(location_as_posix_path) >= MAX_PATH - 1) + /* A sign of buffer overflow or path truncation. */ + return FALSE; + shared_library_fullname = strdup(location_as_posix_path); #else - shared_library_fullname = strdup (location); + shared_library_fullname = strdup(location); #endif - } } + } return TRUE; } @@ -330,51 +320,46 @@ #else /* Unix except Cygwin */ static void -find_shared_library_fullname () -{ +find_shared_library_fullname() { #if defined __linux__ && __GLIBC__ >= 2 /* Linux has /proc/self/maps. glibc 2 has the getline() function. */ FILE *fp; /* Open the current process' maps file. It describes one VMA per line. */ - fp = fopen ("/proc/self/maps", "r"); - if (fp) - { - unsigned long address = (unsigned long) &find_shared_library_fullname; - for (;;) - { - unsigned long start, end; - int c; - - if (fscanf (fp, "%lx-%lx", &start, &end) != 2) - break; - if (address >= start && address <= end - 1) - { - /* Found it. Now see if this line contains a filename. */ - while (c = getc (fp), c != EOF && c != '\n' && c != '/') - continue; - if (c == '/') - { - size_t size; - int len; - - ungetc (c, fp); - shared_library_fullname = NULL; size = 0; - len = getline (&shared_library_fullname, &size, fp); - if (len >= 0) - { - /* Success: filled shared_library_fullname. */ - if (len > 0 && shared_library_fullname[len - 1] == '\n') - shared_library_fullname[len - 1] = '\0'; - } - } - break; - } - while (c = getc (fp), c != EOF && c != '\n') - continue; - } - fclose (fp); + fp = fopen("/proc/self/maps", "r"); + if (fp) { + unsigned long address = (unsigned long) &find_shared_library_fullname; + for (;;) { + unsigned long start, end; + int c; + + if (fscanf(fp, "%lx-%lx", &start, &end) != 2) + break; + if (address >= start && address <= end - 1) { + /* Found it. Now see if this line contains a filename. */ + while (c = getc(fp), c != EOF && c != '\n' && c != '/') + continue; + if (c == '/') { + size_t size; + int len; + + ungetc(c, fp); + shared_library_fullname = NULL; + size = 0; + len = getline(&shared_library_fullname, &size, fp); + if (len >= 0) { + /* Success: filled shared_library_fullname. */ + if (len > 0 && shared_library_fullname[len - 1] == '\n') + shared_library_fullname[len - 1] = '\0'; + } + } + break; + } + while (c = getc(fp), c != EOF && c != '\n') + continue; } + fclose(fp); + } #endif } @@ -384,15 +369,13 @@ Return NULL if unknown. Guaranteed to work only on Linux, Cygwin and Woe32. */ static char * -get_shared_library_fullname () -{ +get_shared_library_fullname() { #if !(defined _WIN32 || defined __WIN32__ || defined __CYGWIN__) static bool tried_find_shared_library_fullname; - if (!tried_find_shared_library_fullname) - { - find_shared_library_fullname (); - tried_find_shared_library_fullname = true; - } + if (!tried_find_shared_library_fullname) { + find_shared_library_fullname(); + tried_find_shared_library_fullname = true; + } #endif return shared_library_fullname; } @@ -402,36 +385,34 @@ /* Returns the pathname, relocated according to the current installation directory. */ const char * -relocate (const char *pathname) -{ +relocate(const char *pathname) { #if defined PIC && defined INSTALLDIR static int initialized; /* Initialization code for a shared library. */ - if (!initialized) - { - /* At this point, orig_prefix and curr_prefix likely have already been - set through the main program's set_program_name_and_installdir - function. This is sufficient in the case that the library has - initially been installed in the same orig_prefix. But we can do - better, to also cover the cases that 1. it has been installed - in a different prefix before being moved to orig_prefix and (later) - to curr_prefix, 2. unlike the program, it has not moved away from - orig_prefix. */ - const char *orig_installprefix = INSTALLPREFIX; - const char *orig_installdir = INSTALLDIR; - const char *curr_prefix_better; - - curr_prefix_better = - compute_curr_prefix (orig_installprefix, orig_installdir, - get_shared_library_fullname ()); - if (curr_prefix_better == NULL) - curr_prefix_better = curr_prefix; - - set_relocation_prefix (orig_installprefix, curr_prefix_better); - - initialized = 1; - } + if (!initialized) { + /* At this point, orig_prefix and curr_prefix likely have already been + set through the main program's set_program_name_and_installdir + function. This is sufficient in the case that the library has + initially been installed in the same orig_prefix. But we can do + better, to also cover the cases that 1. it has been installed + in a different prefix before being moved to orig_prefix and (later) + to curr_prefix, 2. unlike the program, it has not moved away from + orig_prefix. */ + const char *orig_installprefix = INSTALLPREFIX; + const char *orig_installdir = INSTALLDIR; + const char *curr_prefix_better; + + curr_prefix_better = + compute_curr_prefix(orig_installprefix, orig_installdir, + get_shared_library_fullname()); + if (curr_prefix_better == NULL) + curr_prefix_better = curr_prefix; + + set_relocation_prefix(orig_installprefix, curr_prefix_better); + + initialized = 1; + } #endif /* Note: It is not necessary to perform case insensitive comparison here, @@ -439,28 +420,26 @@ typically created from the same Makefile variable as orig_prefix came from. */ if (orig_prefix != NULL && curr_prefix != NULL - && strncmp (pathname, orig_prefix, orig_prefix_len) == 0) - { - if (pathname[orig_prefix_len] == '\0') - /* pathname equals orig_prefix. */ - return curr_prefix; - if (ISSLASH (pathname[orig_prefix_len])) - { - /* pathname starts with orig_prefix. */ - const char *pathname_tail = &pathname[orig_prefix_len]; - char *result = - (char *) xmalloc (curr_prefix_len + strlen (pathname_tail) + 1); + && strncmp(pathname, orig_prefix, orig_prefix_len) == 0) { + if (pathname[orig_prefix_len] == '\0') + /* pathname equals orig_prefix. */ + return curr_prefix; + if (ISSLASH(pathname[orig_prefix_len])) { + /* pathname starts with orig_prefix. */ + const char *pathname_tail = &pathname[orig_prefix_len]; + char *result = + (char *) xmalloc(curr_prefix_len + strlen(pathname_tail) + 1); #ifdef NO_XMALLOC - if (result != NULL) + if (result != NULL) #endif - { - memcpy (result, curr_prefix, curr_prefix_len); - strcpy (result + curr_prefix_len, pathname_tail); - return result; - } - } + { + memcpy(result, curr_prefix, curr_prefix_len); + strcpy(result + curr_prefix_len, pathname_tail); + return result; + } } + } /* Nothing to relocate. */ return pathname; }
View file
LiVES-2.8.4.tar.bz2/intl/relocatable.h -> LiVES-2.8.6.tar.bz2/intl/relocatable.h
Changed
@@ -45,12 +45,12 @@ prefixes should be directory names without trailing slash (i.e. use "" instead of "/"). */ extern RELOCATABLE_DLL_EXPORTED void - set_relocation_prefix (const char *orig_prefix, - const char *curr_prefix); +set_relocation_prefix(const char *orig_prefix, + const char *curr_prefix); /* Returns the pathname, relocated according to the current installation directory. */ -extern const char * relocate (const char *pathname); +extern const char *relocate(const char *pathname); /* Memory management: relocate() leaks memory, because it has to construct a fresh pathname. If this is a problem because your program calls @@ -60,9 +60,9 @@ Computes the current installation prefix, based on the original installation prefix, the original installation directory of a particular file, and the current pathname of this file. Returns NULL upon failure. */ -extern const char * compute_curr_prefix (const char *orig_installprefix, - const char *orig_installdir, - const char *curr_pathname); +extern const char *compute_curr_prefix(const char *orig_installprefix, + const char *orig_installdir, + const char *curr_pathname); #else
View file
LiVES-2.8.4.tar.bz2/intl/textdomain.c -> LiVES-2.8.6.tar.bz2/intl/textdomain.c
Changed
@@ -57,14 +57,13 @@ #endif /* Lock variable to protect the global data in the gettext implementation. */ -gl_rwlock_define (extern, _nl_state_lock attribute_hidden) +gl_rwlock_define(extern, _nl_state_lock attribute_hidden) /* Set the current default message catalog to DOMAINNAME. If DOMAINNAME is null, return the current default. If DOMAINNAME is "", reset to the default of "messages". */ char * -TEXTDOMAIN (const char *domainname) -{ +TEXTDOMAIN(const char *domainname) { char *new_domain; char *old_domain; @@ -72,56 +71,52 @@ if (domainname == NULL) return (char *) _nl_current_default_domain; - gl_rwlock_wrlock (_nl_state_lock); + gl_rwlock_wrlock(_nl_state_lock); old_domain = (char *) _nl_current_default_domain; /* If domain name is the null string set to default domain "messages". */ if (domainname[0] == '\0' - || strcmp (domainname, _nl_default_default_domain) == 0) - { - _nl_current_default_domain = _nl_default_default_domain; - new_domain = (char *) _nl_current_default_domain; - } - else if (strcmp (domainname, old_domain) == 0) + || strcmp(domainname, _nl_default_default_domain) == 0) { + _nl_current_default_domain = _nl_default_default_domain; + new_domain = (char *) _nl_current_default_domain; + } else if (strcmp(domainname, old_domain) == 0) /* This can happen and people will use it to signal that some environment variable changed. */ new_domain = old_domain; - else - { - /* If the following malloc fails `_nl_current_default_domain' - will be NULL. This value will be returned and so signals we - are out of core. */ + else { + /* If the following malloc fails `_nl_current_default_domain' + will be NULL. This value will be returned and so signals we + are out of core. */ #if defined _LIBC || defined HAVE_STRDUP - new_domain = strdup (domainname); + new_domain = strdup(domainname); #else - size_t len = strlen (domainname) + 1; - new_domain = (char *) malloc (len); - if (new_domain != NULL) - memcpy (new_domain, domainname, len); + size_t len = strlen(domainname) + 1; + new_domain = (char *) malloc(len); + if (new_domain != NULL) + memcpy(new_domain, domainname, len); #endif - if (new_domain != NULL) - _nl_current_default_domain = new_domain; - } + if (new_domain != NULL) + _nl_current_default_domain = new_domain; + } /* We use this possibility to signal a change of the loaded catalogs since this is most likely the case and there is no other easy we to do it. Do it only when the call was successful. */ - if (new_domain != NULL) - { - ++_nl_msg_cat_cntr; + if (new_domain != NULL) { + ++_nl_msg_cat_cntr; - if (old_domain != new_domain && old_domain != _nl_default_default_domain) - free (old_domain); - } + if (old_domain != new_domain && old_domain != _nl_default_default_domain) + free(old_domain); + } - gl_rwlock_unlock (_nl_state_lock); + gl_rwlock_unlock(_nl_state_lock); return new_domain; } #ifdef _LIBC /* Alias for function name in GNU C Library. */ -weak_alias (__textdomain, textdomain); +weak_alias(__textdomain, textdomain); #endif
View file
LiVES-2.8.4.tar.bz2/intl/tsearch.c -> LiVES-2.8.6.tar.bz2/intl/tsearch.c
Changed
@@ -97,8 +97,8 @@ #include <stdlib.h> -typedef int (*__compar_fn_t) (const void *, const void *); -typedef void (*__action_fn_t) (const void *, VISIT, int); +typedef int (*__compar_fn_t)(const void *, const void *); +typedef void (*__action_fn_t)(const void *, VISIT, int); #ifndef weak_alias # define __tsearch tsearch @@ -113,14 +113,13 @@ # define internal_function #endif -typedef struct node_t -{ +typedef struct node_t { /* Callers expect this to be the first element in the structure - do not move! */ const void *key; struct node_t *left; struct node_t *right; - unsigned int red:1; + unsigned int red: 1; } *node; typedef const struct node_t *const_node; @@ -135,33 +134,30 @@ #define CHECK_TREE(a) check_tree(a) static void -check_tree_recurse (node p, int d_sofar, int d_total) -{ - if (p == NULL) - { - assert (d_sofar == d_total); - return; - } +check_tree_recurse(node p, int d_sofar, int d_total) { + if (p == NULL) { + assert(d_sofar == d_total); + return; + } - check_tree_recurse (p->left, d_sofar + (p->left && !p->left->red), d_total); - check_tree_recurse (p->right, d_sofar + (p->right && !p->right->red), d_total); + check_tree_recurse(p->left, d_sofar + (p->left && !p->left->red), d_total); + check_tree_recurse(p->right, d_sofar + (p->right && !p->right->red), d_total); if (p->left) - assert (!(p->left->red && p->red)); + assert(!(p->left->red && p->red)); if (p->right) - assert (!(p->right->red && p->red)); + assert(!(p->right->red && p->red)); } static void -check_tree (node root) -{ +check_tree(node root) { int cnt = 0; node p; if (root == NULL) return; root->red = 0; - for(p = root->left; p; p = p->left) + for (p = root->left; p; p = p->left) cnt += !p->red; - check_tree_recurse (root, 0, cnt); + check_tree_recurse(root, 0, cnt); } @@ -178,9 +174,8 @@ ROOTP. MODE is 1 if we need not do the split, but must check for two red edges between GPARENTP and ROOTP. */ static void -maybe_split_for_insert (node *rootp, node *parentp, node *gparentp, - int p_r, int gp_r, int mode) -{ +maybe_split_for_insert(node *rootp, node *parentp, node *gparentp, + int p_r, int gp_r, int mode) { node root = *rootp; node *rp, *lp; rp = &(*rootp)->right; @@ -188,81 +183,69 @@ /* See if we have to split this node (both successors red). */ if (mode == 1 - || ((*rp) != NULL && (*lp) != NULL && (*rp)->red && (*lp)->red)) - { - /* This node becomes red, its successors black. */ - root->red = 1; - if (*rp) - (*rp)->red = 0; - if (*lp) - (*lp)->red = 0; - - /* If the parent of this node is also red, we have to do - rotations. */ - if (parentp != NULL && (*parentp)->red) - { - node gp = *gparentp; - node p = *parentp; - /* There are two main cases: - 1. The edge types (left or right) of the two red edges differ. - 2. Both red edges are of the same type. - There exist two symmetries of each case, so there is a total of - 4 cases. */ - if ((p_r > 0) != (gp_r > 0)) - { - /* Put the child at the top of the tree, with its parent - and grandparent as successors. */ - p->red = 1; - gp->red = 1; - root->red = 0; - if (p_r < 0) - { - /* Child is left of parent. */ - p->left = *rp; - *rp = p; - gp->right = *lp; - *lp = gp; - } - else - { - /* Child is right of parent. */ - p->right = *lp; - *lp = p; - gp->left = *rp; - *rp = gp; - } - *gparentp = root; - } - else - { - *gparentp = *parentp; - /* Parent becomes the top of the tree, grandparent and - child are its successors. */ - p->red = 0; - gp->red = 1; - if (p_r < 0) - { - /* Left edges. */ - gp->left = p->right; - p->right = gp; - } - else - { - /* Right edges. */ - gp->right = p->left; - p->left = gp; - } - } - } + || ((*rp) != NULL && (*lp) != NULL && (*rp)->red && (*lp)->red)) { + /* This node becomes red, its successors black. */ + root->red = 1; + if (*rp) + (*rp)->red = 0; + if (*lp) + (*lp)->red = 0; + + /* If the parent of this node is also red, we have to do + rotations. */ + if (parentp != NULL && (*parentp)->red) { + node gp = *gparentp; + node p = *parentp; + /* There are two main cases: + 1. The edge types (left or right) of the two red edges differ. + 2. Both red edges are of the same type. + There exist two symmetries of each case, so there is a total of + 4 cases. */ + if ((p_r > 0) != (gp_r > 0)) { + /* Put the child at the top of the tree, with its parent + and grandparent as successors. */ + p->red = 1; + gp->red = 1; + root->red = 0; + if (p_r < 0) { + /* Child is left of parent. */ + p->left = *rp; + *rp = p; + gp->right = *lp; + *lp = gp; + } else { + /* Child is right of parent. */ + p->right = *lp; + *lp = p; + gp->left = *rp; + *rp = gp; + } + *gparentp = root; + } else { + *gparentp = *parentp; + /* Parent becomes the top of the tree, grandparent and + child are its successors. */ + p->red = 0; + gp->red = 1; + if (p_r < 0) { + /* Left edges. */ + gp->left = p->right; + p->right = gp; + } else { + /* Right edges. */ + gp->right = p->left; + p->left = gp; + } + } } + } } /* Find or insert datum into search tree. KEY is the key to be located, ROOTP is the address of tree root, COMPAR the ordering function. */ void * -__tsearch (const void *key, void **vrootp, __compar_fn_t compar) -{ +__tsearch(const void *key, void **vrootp, __compar_fn_t compar) { node q; node *parentp = NULL, *gparentp = NULL; node *rootp = (node *) vrootp; @@ -276,51 +259,49 @@ if (*rootp != NULL) (*rootp)->red = 0; - CHECK_TREE (*rootp); + CHECK_TREE(*rootp); nextp = rootp; - while (*nextp != NULL) - { - node root = *rootp; - r = (*compar) (key, root->key); - if (r == 0) - return root; - - maybe_split_for_insert (rootp, parentp, gparentp, p_r, gp_r, 0); - /* If that did any rotations, parentp and gparentp are now garbage. - That doesn't matter, because the values they contain are never - used again in that case. */ - - nextp = r < 0 ? &root->left : &root->right; - if (*nextp == NULL) - break; - - gparentp = parentp; - parentp = rootp; - rootp = nextp; - - gp_r = p_r; - p_r = r; - } - - q = (struct node_t *) malloc (sizeof (struct node_t)); - if (q != NULL) - { - *nextp = q; /* link new node to old */ - q->key = key; /* initialize new node */ - q->red = 1; - q->left = q->right = NULL; - - if (nextp != rootp) - /* There may be two red edges in a row now, which we must avoid by - rotating the tree. */ - maybe_split_for_insert (nextp, rootp, parentp, r, p_r, 1); - } + while (*nextp != NULL) { + node root = *rootp; + r = (*compar)(key, root->key); + if (r == 0) + return root; + + maybe_split_for_insert(rootp, parentp, gparentp, p_r, gp_r, 0); + /* If that did any rotations, parentp and gparentp are now garbage. + That doesn't matter, because the values they contain are never + used again in that case. */ + + nextp = r < 0 ? &root->left : &root->right; + if (*nextp == NULL) + break; + + gparentp = parentp; + parentp = rootp; + rootp = nextp; + + gp_r = p_r; + p_r = r; + } + + q = (struct node_t *) malloc(sizeof(struct node_t)); + if (q != NULL) { + *nextp = q; /* link new node to old */ + q->key = key; /* initialize new node */ + q->red = 1; + q->left = q->right = NULL; + + if (nextp != rootp) + /* There may be two red edges in a row now, which we must avoid by + rotating the tree. */ + maybe_split_for_insert(nextp, rootp, parentp, r, p_r, 1); + } return q; } #ifdef weak_alias -weak_alias (__tsearch, tsearch) +weak_alias(__tsearch, tsearch) #endif @@ -328,33 +309,32 @@ KEY is the key to be located, ROOTP is the address of tree root, COMPAR the ordering function. */ void * -__tfind (key, vrootp, compar) - const void *key; - void *const *vrootp; - __compar_fn_t compar; +__tfind(key, vrootp, compar) +const void *key; +void *const *vrootp; +__compar_fn_t compar; { node *rootp = (node *) vrootp; if (rootp == NULL) return NULL; - CHECK_TREE (*rootp); + CHECK_TREE(*rootp); - while (*rootp != NULL) - { - node root = *rootp; - int r; + while (*rootp != NULL) { + node root = *rootp; + int r; - r = (*compar) (key, root->key); - if (r == 0) - return root; + r = (*compar)(key, root->key); + if (r == 0) + return root; - rootp = r < 0 ? &root->left : &root->right; - } + rootp = r < 0 ? &root->left : &root->right; + } return NULL; } #ifdef weak_alias -weak_alias (__tfind, tfind) +weak_alias(__tfind, tfind) #endif @@ -362,8 +342,7 @@ KEY is the key to be deleted, ROOTP is the address of the root of tree, COMPAR the comparison function. */ void * -__tdelete (const void *key, void **vrootp, __compar_fn_t compar) -{ +__tdelete(const void *key, void **vrootp, __compar_fn_t compar) { node p, q, r, retval; int cmp; node *rootp = (node *) vrootp; @@ -381,21 +360,20 @@ if (p == NULL) return NULL; - CHECK_TREE (p); + CHECK_TREE(p); - while ((cmp = (*compar) (key, (*rootp)->key)) != 0) - { - if (sp == stacksize) - abort (); - - nodestack[sp++] = rootp; - p = *rootp; - rootp = ((cmp < 0) - ? &(*rootp)->left - : &(*rootp)->right); - if (*rootp == NULL) - return NULL; - } + while ((cmp = (*compar)(key, (*rootp)->key)) != 0) { + if (sp == stacksize) + abort(); + + nodestack[sp++] = rootp; + p = *rootp; + rootp = ((cmp < 0) + ? & (*rootp)->left + : & (*rootp)->right); + if (*rootp == NULL) + return NULL; + } /* This is bogus if the node to be deleted is the root... this routine really should return an integer with 0 for success, -1 for failure @@ -413,21 +391,19 @@ if (q == NULL || r == NULL) unchained = root; - else - { - node *parent = rootp, *up = &root->right; - for (;;) - { - if (sp == stacksize) - abort (); - nodestack[sp++] = parent; - parent = up; - if ((*up)->left == NULL) - break; - up = &(*up)->left; - } - unchained = *up; + else { + node *parent = rootp, *up = &root->right; + for (;;) { + if (sp == stacksize) + abort(); + nodestack[sp++] = parent; + parent = up; + if ((*up)->left == NULL) + break; + up = &(*up)->left; } + unchained = *up; + } /* We know that either the left or right successor of UNCHAINED is NULL. R becomes the other one, it is chained into the parent of UNCHAINED. */ @@ -436,177 +412,157 @@ r = unchained->right; if (sp == 0) *rootp = r; - else - { - q = *nodestack[sp-1]; - if (unchained == q->right) - q->right = r; - else - q->left = r; - } + else { + q = *nodestack[sp - 1]; + if (unchained == q->right) + q->right = r; + else + q->left = r; + } if (unchained != root) root->key = unchained->key; - if (!unchained->red) - { - /* Now we lost a black edge, which means that the number of black - edges on every path is no longer constant. We must balance the - tree. */ - /* NODESTACK now contains all parents of R. R is likely to be NULL - in the first iteration. */ - /* NULL nodes are considered black throughout - this is necessary for - correctness. */ - while (sp > 0 && (r == NULL || !r->red)) - { - node *pp = nodestack[sp - 1]; - p = *pp; - /* Two symmetric cases. */ - if (r == p->left) - { - /* Q is R's brother, P is R's parent. The subtree with root - R has one black edge less than the subtree with root Q. */ - q = p->right; - if (q->red) - { - /* If Q is red, we know that P is black. We rotate P left - so that Q becomes the top node in the tree, with P below - it. P is colored red, Q is colored black. - This action does not change the black edge count for any - leaf in the tree, but we will be able to recognize one - of the following situations, which all require that Q - is black. */ - q->red = 0; - p->red = 1; - /* Left rotate p. */ - p->right = q->left; - q->left = p; - *pp = q; - /* Make sure pp is right if the case below tries to use - it. */ - nodestack[sp++] = pp = &q->left; - q = p->right; - } - /* We know that Q can't be NULL here. We also know that Q is - black. */ - if ((q->left == NULL || !q->left->red) - && (q->right == NULL || !q->right->red)) - { - /* Q has two black successors. We can simply color Q red. - The whole subtree with root P is now missing one black - edge. Note that this action can temporarily make the - tree invalid (if P is red). But we will exit the loop - in that case and set P black, which both makes the tree - valid and also makes the black edge count come out - right. If P is black, we are at least one step closer - to the root and we'll try again the next iteration. */ - q->red = 1; - r = p; - } - else - { - /* Q is black, one of Q's successors is red. We can - repair the tree with one operation and will exit the - loop afterwards. */ - if (q->right == NULL || !q->right->red) - { - /* The left one is red. We perform the same action as - in maybe_split_for_insert where two red edges are - adjacent but point in different directions: - Q's left successor (let's call it Q2) becomes the - top of the subtree we are looking at, its parent (Q) - and grandparent (P) become its successors. The former - successors of Q2 are placed below P and Q. - P becomes black, and Q2 gets the color that P had. - This changes the black edge count only for node R and - its successors. */ - node q2 = q->left; - q2->red = p->red; - p->right = q2->left; - q->left = q2->right; - q2->right = q; - q2->left = p; - *pp = q2; - p->red = 0; - } - else - { - /* It's the right one. Rotate P left. P becomes black, - and Q gets the color that P had. Q's right successor - also becomes black. This changes the black edge - count only for node R and its successors. */ - q->red = p->red; - p->red = 0; - - q->right->red = 0; - - /* left rotate p */ - p->right = q->left; - q->left = p; - *pp = q; - } - - /* We're done. */ - sp = 1; - r = NULL; - } - } - else - { - /* Comments: see above. */ - q = p->left; - if (q->red) - { - q->red = 0; - p->red = 1; - p->left = q->right; - q->right = p; - *pp = q; - nodestack[sp++] = pp = &q->right; - q = p->left; - } - if ((q->right == NULL || !q->right->red) - && (q->left == NULL || !q->left->red)) - { - q->red = 1; - r = p; - } - else - { - if (q->left == NULL || !q->left->red) - { - node q2 = q->right; - q2->red = p->red; - p->left = q2->right; - q->right = q2->left; - q2->left = q; - q2->right = p; - *pp = q2; - p->red = 0; - } - else - { - q->red = p->red; - p->red = 0; - q->left->red = 0; - p->left = q->right; - q->right = p; - *pp = q; - } - sp = 1; - r = NULL; - } - } - --sp; - } - if (r != NULL) - r->red = 0; + if (!unchained->red) { + /* Now we lost a black edge, which means that the number of black + edges on every path is no longer constant. We must balance the + tree. */ + /* NODESTACK now contains all parents of R. R is likely to be NULL + in the first iteration. */ + /* NULL nodes are considered black throughout - this is necessary for + correctness. */ + while (sp > 0 && (r == NULL || !r->red)) { + node *pp = nodestack[sp - 1]; + p = *pp; + /* Two symmetric cases. */ + if (r == p->left) { + /* Q is R's brother, P is R's parent. The subtree with root + R has one black edge less than the subtree with root Q. */ + q = p->right; + if (q->red) { + /* If Q is red, we know that P is black. We rotate P left + so that Q becomes the top node in the tree, with P below + it. P is colored red, Q is colored black. + This action does not change the black edge count for any + leaf in the tree, but we will be able to recognize one + of the following situations, which all require that Q + is black. */ + q->red = 0; + p->red = 1; + /* Left rotate p. */ + p->right = q->left; + q->left = p; + *pp = q; + /* Make sure pp is right if the case below tries to use + it. */ + nodestack[sp++] = pp = &q->left; + q = p->right; + } + /* We know that Q can't be NULL here. We also know that Q is + black. */ + if ((q->left == NULL || !q->left->red) + && (q->right == NULL || !q->right->red)) { + /* Q has two black successors. We can simply color Q red. + The whole subtree with root P is now missing one black + edge. Note that this action can temporarily make the + tree invalid (if P is red). But we will exit the loop + in that case and set P black, which both makes the tree + valid and also makes the black edge count come out + right. If P is black, we are at least one step closer + to the root and we'll try again the next iteration. */ + q->red = 1; + r = p; + } else { + /* Q is black, one of Q's successors is red. We can + repair the tree with one operation and will exit the + loop afterwards. */ + if (q->right == NULL || !q->right->red) { + /* The left one is red. We perform the same action as + in maybe_split_for_insert where two red edges are + adjacent but point in different directions: + Q's left successor (let's call it Q2) becomes the + top of the subtree we are looking at, its parent (Q) + and grandparent (P) become its successors. The former + successors of Q2 are placed below P and Q. + P becomes black, and Q2 gets the color that P had. + This changes the black edge count only for node R and + its successors. */ + node q2 = q->left; + q2->red = p->red; + p->right = q2->left; + q->left = q2->right; + q2->right = q; + q2->left = p; + *pp = q2; + p->red = 0; + } else { + /* It's the right one. Rotate P left. P becomes black, + and Q gets the color that P had. Q's right successor + also becomes black. This changes the black edge + count only for node R and its successors. */ + q->red = p->red; + p->red = 0; + + q->right->red = 0; + + /* left rotate p */ + p->right = q->left; + q->left = p; + *pp = q; + } + + /* We're done. */ + sp = 1; + r = NULL; + } + } else { + /* Comments: see above. */ + q = p->left; + if (q->red) { + q->red = 0; + p->red = 1; + p->left = q->right; + q->right = p; + *pp = q; + nodestack[sp++] = pp = &q->right; + q = p->left; + } + if ((q->right == NULL || !q->right->red) + && (q->left == NULL || !q->left->red)) { + q->red = 1; + r = p; + } else { + if (q->left == NULL || !q->left->red) { + node q2 = q->right; + q2->red = p->red; + p->left = q2->right; + q->right = q2->left; + q2->left = q; + q2->right = p; + *pp = q2; + p->red = 0; + } else { + q->red = p->red; + p->red = 0; + q->left->red = 0; + p->left = q->right; + q->right = p; + *pp = q; + } + sp = 1; + r = NULL; + } + } + --sp; } + if (r != NULL) + r->red = 0; + } - free (unchained); + free(unchained); return retval; } #ifdef weak_alias -weak_alias (__tdelete, tdelete) +weak_alias(__tdelete, tdelete) #endif @@ -615,22 +571,20 @@ called at each node. LEVEL is the level of ROOT in the whole tree. */ static void internal_function -trecurse (const void *vroot, __action_fn_t action, int level) -{ +trecurse(const void *vroot, __action_fn_t action, int level) { const_node root = (const_node) vroot; if (root->left == NULL && root->right == NULL) - (*action) (root, leaf, level); - else - { - (*action) (root, preorder, level); - if (root->left != NULL) - trecurse (root->left, action, level + 1); - (*action) (root, postorder, level); - if (root->right != NULL) - trecurse (root->right, action, level + 1); - (*action) (root, endorder, level); - } + (*action)(root, leaf, level); + else { + (*action)(root, preorder, level); + if (root->left != NULL) + trecurse(root->left, action, level + 1); + (*action)(root, postorder, level); + if (root->right != NULL) + trecurse(root->right, action, level + 1); + (*action)(root, endorder, level); + } } @@ -638,17 +592,16 @@ ROOT is the root of the tree to be walked, ACTION the function to be called at each node. */ void -__twalk (const void *vroot, __action_fn_t action) -{ +__twalk(const void *vroot, __action_fn_t action) { const_node root = (const_node) vroot; - CHECK_TREE (root); + CHECK_TREE(root); if (root != NULL && action != NULL) - trecurse (root, action, 0); + trecurse(root, action, 0); } #ifdef weak_alias -weak_alias (__twalk, twalk) +weak_alias(__twalk, twalk) #endif @@ -658,27 +611,25 @@ tree cannot be removed easily. We provide a function to do this. */ static void internal_function -tdestroy_recurse (node root, __free_fn_t freefct) -{ +tdestroy_recurse(node root, __free_fn_t freefct) { if (root->left != NULL) - tdestroy_recurse (root->left, freefct); + tdestroy_recurse(root->left, freefct); if (root->right != NULL) - tdestroy_recurse (root->right, freefct); - (*freefct) ((void *) root->key); + tdestroy_recurse(root->right, freefct); + (*freefct)((void *) root->key); /* Free the node itself. */ - free (root); + free(root); } void -__tdestroy (void *vroot, __free_fn_t freefct) -{ +__tdestroy(void *vroot, __free_fn_t freefct) { node root = (node) vroot; - CHECK_TREE (root); + CHECK_TREE(root); if (root != NULL) - tdestroy_recurse (root, freefct); + tdestroy_recurse(root, freefct); } -weak_alias (__tdestroy, tdestroy) +weak_alias(__tdestroy, tdestroy) #endif /* _LIBC */
View file
LiVES-2.8.4.tar.bz2/intl/tsearch.h -> LiVES-2.8.6.tar.bz2/intl/tsearch.h
Changed
@@ -34,10 +34,9 @@ <http://www.opengroup.org/susv3xsh/tsearch.html> for details. */ -typedef enum -{ +typedef enum { preorder, - postorder, + postorder, endorder, leaf } @@ -46,19 +45,19 @@ /* Searches an element in the tree *VROOTP that compares equal to KEY. If one is found, it is returned. Otherwise, a new element equal to KEY is inserted in the tree and is returned. */ -extern void * tsearch (const void *key, void **vrootp, - int (*compar) (const void *, const void *)); +extern void *tsearch(const void *key, void **vrootp, + int (*compar)(const void *, const void *)); /* Searches an element in the tree *VROOTP that compares equal to KEY. If one is found, it is returned. Otherwise, NULL is returned. */ -extern void * tfind (const void *key, void *const *vrootp, - int (*compar) (const void *, const void *)); +extern void *tfind(const void *key, void *const *vrootp, + int (*compar)(const void *, const void *)); /* Searches an element in the tree *VROOTP that compares equal to KEY. If one is found, it is removed from the tree, and its parent node is returned. Otherwise, NULL is returned. */ -extern void * tdelete (const void *key, void **vrootp, - int (*compar) (const void *, const void *)); +extern void *tdelete(const void *key, void **vrootp, + int (*compar)(const void *, const void *)); /* Perform a depth-first, left-to-right traversal of the tree VROOT. The ACTION function is called: @@ -71,8 +70,8 @@ pointer to the key, 2. an indicator which visit of the node this is, 3. the level of the node in the tree (0 for the root). */ -extern void twalk (const void *vroot, - void (*action) (const void *, VISIT, int)); +extern void twalk(const void *vroot, + void (*action)(const void *, VISIT, int)); #ifdef __cplusplus }
View file
LiVES-2.8.4.tar.bz2/intl/vasnprintf.c -> LiVES-2.8.6.tar.bz2/intl/vasnprintf.c
Changed
@@ -127,15 +127,14 @@ # if HAVE_WCSLEN # define local_wcslen wcslen # else - /* Solaris 2.5.1 has wcslen() in a separate library libw.so. To avoid - a dependency towards this library, here is a local substitute. - Define this substitute only once, even if this file is included - twice in the same compilation unit. */ +/* Solaris 2.5.1 has wcslen() in a separate library libw.so. To avoid + a dependency towards this library, here is a local substitute. + Define this substitute only once, even if this file is included + twice in the same compilation unit. */ # ifndef local_wcslen_defined # define local_wcslen_defined 1 static size_t -local_wcslen (const wchar_t *s) -{ +local_wcslen(const wchar_t *s) { const wchar_t *ptr; for (ptr = s; *ptr != (wchar_t) 0; ptr++) @@ -171,18 +170,18 @@ # endif #endif #if WIDE_CHAR_VERSION - /* TCHAR_T is wchar_t. */ +/* TCHAR_T is wchar_t. */ # define USE_SNPRINTF 1 # if HAVE_DECL__SNWPRINTF - /* On Windows, the function swprintf() has a different signature than - on Unix; we use the _snwprintf() function instead. */ +/* On Windows, the function swprintf() has a different signature than + on Unix; we use the _snwprintf() function instead. */ # define SNPRINTF _snwprintf # else - /* Unix. */ +/* Unix. */ # define SNPRINTF swprintf # endif #else - /* TCHAR_T is char. */ +/* TCHAR_T is char. */ # /* Use snprintf if it exists under the name 'snprintf' or '_snprintf'. But don't use it on BeOS, since BeOS snprintf produces no output if the size argument is >= 0x3000000. */ @@ -192,12 +191,12 @@ # define USE_SNPRINTF 0 # endif # if HAVE_DECL__SNPRINTF - /* Windows. */ +/* Windows. */ # define SNPRINTF _snprintf # else - /* Unix. */ +/* Unix. */ # define SNPRINTF snprintf - /* Here we need to call the native snprintf, not rpl_snprintf. */ +/* Here we need to call the native snprintf, not rpl_snprintf. */ # undef snprintf # endif #endif @@ -209,21 +208,20 @@ # ifndef decimal_point_char_defined # define decimal_point_char_defined 1 static char -decimal_point_char () -{ +decimal_point_char() { const char *point; /* Determine it in a multithread-safe way. We know nl_langinfo is multithread-safe on glibc systems, but is not required to be multithread- safe by POSIX. sprintf(), however, is multithread-safe. localeconv() is rarely multithread-safe. */ # if HAVE_NL_LANGINFO && __GLIBC__ - point = nl_langinfo (RADIXCHAR); + point = nl_langinfo(RADIXCHAR); # elif 1 char pointbuf[5]; - sprintf (pointbuf, "%#.0f", 1.0); + sprintf(pointbuf, "%#.0f", 1.0); point = &pointbuf[1]; # else - point = localeconv () -> decimal_point; + point = localeconv() -> decimal_point; # endif /* The decimal point is always a single byte: either '.' or ','. */ return (point[0] != '\0' ? point[0] : '.'); @@ -235,9 +233,8 @@ /* Equivalent to !isfinite(x) || x == 0, but does not require libm. */ static int -is_infinite_or_zero (double x) -{ - return isnan (x) || x + x == x; +is_infinite_or_zero(double x) { + return isnan(x) || x + x == x; } #endif @@ -246,9 +243,8 @@ /* Equivalent to !isfinite(x), but does not require libm. */ static int -is_infinitel (long double x) -{ - return isnanl (x) || (x + x == x && x != 0.0L); +is_infinitel(long double x) { + return isnanl(x) || (x + x == x && x != 0.0L); } #endif @@ -261,15 +257,14 @@ typedef unsigned int mp_limb_t; # define GMP_LIMB_BITS 32 -typedef int mp_limb_verify[2 * (sizeof (mp_limb_t) * CHAR_BIT == GMP_LIMB_BITS) - 1]; +typedef int mp_limb_verify[2 * (sizeof(mp_limb_t) * CHAR_BIT == GMP_LIMB_BITS) - 1]; typedef unsigned long long mp_twolimb_t; # define GMP_TWOLIMB_BITS 64 -typedef int mp_twolimb_verify[2 * (sizeof (mp_twolimb_t) * CHAR_BIT == GMP_TWOLIMB_BITS) - 1]; +typedef int mp_twolimb_verify[2 * (sizeof(mp_twolimb_t) * CHAR_BIT == GMP_TWOLIMB_BITS) - 1]; /* Representation of a bignum >= 0. */ -typedef struct -{ +typedef struct { size_t nlimbs; mp_limb_t *limbs; /* Bits in little-endian order, allocated with malloc(). */ } mpn_t; @@ -278,67 +273,58 @@ Return the allocated memory in case of success, NULL in case of memory allocation failure. */ static void * -multiply (mpn_t src1, mpn_t src2, mpn_t *dest) -{ +multiply(mpn_t src1, mpn_t src2, mpn_t *dest) { const mp_limb_t *p1; const mp_limb_t *p2; size_t len1; size_t len2; - if (src1.nlimbs <= src2.nlimbs) - { - len1 = src1.nlimbs; - p1 = src1.limbs; - len2 = src2.nlimbs; - p2 = src2.limbs; - } - else - { - len1 = src2.nlimbs; - p1 = src2.limbs; - len2 = src1.nlimbs; - p2 = src1.limbs; - } + if (src1.nlimbs <= src2.nlimbs) { + len1 = src1.nlimbs; + p1 = src1.limbs; + len2 = src2.nlimbs; + p2 = src2.limbs; + } else { + len1 = src2.nlimbs; + p1 = src2.limbs; + len2 = src1.nlimbs; + p2 = src1.limbs; + } /* Now 0 <= len1 <= len2. */ - if (len1 == 0) - { - /* src1 or src2 is zero. */ - dest->nlimbs = 0; - dest->limbs = (mp_limb_t *) malloc (1); - } - else - { - /* Here 1 <= len1 <= len2. */ - size_t dlen; - mp_limb_t *dp; - size_t k, i, j; - - dlen = len1 + len2; - dp = (mp_limb_t *) malloc (dlen * sizeof (mp_limb_t)); - if (dp == NULL) - return NULL; - for (k = len2; k > 0; ) - dp[--k] = 0; - for (i = 0; i < len1; i++) - { - mp_limb_t digit1 = p1[i]; - mp_twolimb_t carry = 0; - for (j = 0; j < len2; j++) - { - mp_limb_t digit2 = p2[j]; - carry += (mp_twolimb_t) digit1 * (mp_twolimb_t) digit2; - carry += dp[i + j]; - dp[i + j] = (mp_limb_t) carry; - carry = carry >> GMP_LIMB_BITS; - } - dp[i + len2] = (mp_limb_t) carry; - } - /* Normalise. */ - while (dlen > 0 && dp[dlen - 1] == 0) - dlen--; - dest->nlimbs = dlen; - dest->limbs = dp; + if (len1 == 0) { + /* src1 or src2 is zero. */ + dest->nlimbs = 0; + dest->limbs = (mp_limb_t *) malloc(1); + } else { + /* Here 1 <= len1 <= len2. */ + size_t dlen; + mp_limb_t *dp; + size_t k, i, j; + + dlen = len1 + len2; + dp = (mp_limb_t *) malloc(dlen * sizeof(mp_limb_t)); + if (dp == NULL) + return NULL; + for (k = len2; k > 0;) + dp[--k] = 0; + for (i = 0; i < len1; i++) { + mp_limb_t digit1 = p1[i]; + mp_twolimb_t carry = 0; + for (j = 0; j < len2; j++) { + mp_limb_t digit2 = p2[j]; + carry += (mp_twolimb_t) digit1 * (mp_twolimb_t) digit2; + carry += dp[i + j]; + dp[i + j] = (mp_limb_t) carry; + carry = carry >> GMP_LIMB_BITS; + } + dp[i + len2] = (mp_limb_t) carry; } + /* Normalise. */ + while (dlen > 0 && dp[dlen - 1] == 0) + dlen--; + dest->nlimbs = dlen; + dest->limbs = dp; + } return dest->limbs; } @@ -350,8 +336,7 @@ Return the allocated memory in case of success, NULL in case of memory allocation failure. */ static void * -divide (mpn_t a, mpn_t b, mpn_t *q) -{ +divide(mpn_t a, mpn_t b, mpn_t *q) { /* Algorithm: First normalise a and b: a=[a[m-1],...,a[0]], b=[b[n-1],...,b[0]] with m>=0 and n>0 (in base beta = 2^GMP_LIMB_BITS). @@ -417,7 +402,7 @@ /* Allocate room for a_len+2 digits. (Need a_len+1 digits for the real division and 1 more digit for the final rounding of q.) */ - roomptr = (mp_limb_t *) malloc ((a_len + 2) * sizeof (mp_limb_t)); + roomptr = (mp_limb_t *) malloc((a_len + 2) * sizeof(mp_limb_t)); if (roomptr == NULL) return NULL; @@ -426,320 +411,286 @@ a_len--; /* Normalise b. */ - for (;;) - { - if (b_len == 0) - /* Division by zero. */ - abort (); - if (b_ptr[b_len - 1] == 0) - b_len--; - else - break; - } + for (;;) { + if (b_len == 0) + /* Division by zero. */ + abort(); + if (b_ptr[b_len - 1] == 0) + b_len--; + else + break; + } /* Here m = a_len >= 0 and n = b_len > 0. */ - if (a_len < b_len) + if (a_len < b_len) { + /* m<n: trivial case. q=0, r := copy of a. */ + r_ptr = roomptr; + r_len = a_len; + memcpy(r_ptr, a_ptr, a_len * sizeof(mp_limb_t)); + q_ptr = roomptr + a_len; + q_len = 0; + } else if (b_len == 1) { + /* n=1: single precision division. + beta^(m-1) <= a < beta^m ==> beta^(m-2) <= a/b < beta^m */ + r_ptr = roomptr; + q_ptr = roomptr + 1; { - /* m<n: trivial case. q=0, r := copy of a. */ - r_ptr = roomptr; - r_len = a_len; - memcpy (r_ptr, a_ptr, a_len * sizeof (mp_limb_t)); - q_ptr = roomptr + a_len; - q_len = 0; + mp_limb_t den = b_ptr[0]; + mp_limb_t remainder = 0; + const mp_limb_t *sourceptr = a_ptr + a_len; + mp_limb_t *destptr = q_ptr + a_len; + size_t count; + for (count = a_len; count > 0; count--) { + mp_twolimb_t num = + ((mp_twolimb_t) remainder << GMP_LIMB_BITS) | *--sourceptr; + *--destptr = num / den; + remainder = num % den; + } + /* Normalise and store r. */ + if (remainder > 0) { + r_ptr[0] = remainder; + r_len = 1; + } else + r_len = 0; + /* Normalise q. */ + q_len = a_len; + if (q_ptr[q_len - 1] == 0) + q_len--; } - else if (b_len == 1) + } else { + /* n>1: multiple precision division. + beta^(m-1) <= a < beta^m, beta^(n-1) <= b < beta^n ==> + beta^(m-n-1) <= a/b < beta^(m-n+1). */ + /* Determine s. */ + size_t s; { - /* n=1: single precision division. - beta^(m-1) <= a < beta^m ==> beta^(m-2) <= a/b < beta^m */ - r_ptr = roomptr; - q_ptr = roomptr + 1; - { - mp_limb_t den = b_ptr[0]; - mp_limb_t remainder = 0; - const mp_limb_t *sourceptr = a_ptr + a_len; - mp_limb_t *destptr = q_ptr + a_len; - size_t count; - for (count = a_len; count > 0; count--) - { - mp_twolimb_t num = - ((mp_twolimb_t) remainder << GMP_LIMB_BITS) | *--sourceptr; - *--destptr = num / den; - remainder = num % den; - } - /* Normalise and store r. */ - if (remainder > 0) - { - r_ptr[0] = remainder; - r_len = 1; - } - else - r_len = 0; - /* Normalise q. */ - q_len = a_len; - if (q_ptr[q_len - 1] == 0) - q_len--; + mp_limb_t msd = b_ptr[b_len - 1]; /* = b[n-1], > 0 */ + s = 31; + if (msd >= 0x10000) { + msd = msd >> 16; + s -= 16; + } + if (msd >= 0x100) { + msd = msd >> 8; + s -= 8; + } + if (msd >= 0x10) { + msd = msd >> 4; + s -= 4; + } + if (msd >= 0x4) { + msd = msd >> 2; + s -= 2; + } + if (msd >= 0x2) { + msd = msd >> 1; + s -= 1; } } - else - { - /* n>1: multiple precision division. - beta^(m-1) <= a < beta^m, beta^(n-1) <= b < beta^n ==> - beta^(m-n-1) <= a/b < beta^(m-n+1). */ - /* Determine s. */ - size_t s; - { - mp_limb_t msd = b_ptr[b_len - 1]; /* = b[n-1], > 0 */ - s = 31; - if (msd >= 0x10000) - { - msd = msd >> 16; - s -= 16; - } - if (msd >= 0x100) - { - msd = msd >> 8; - s -= 8; - } - if (msd >= 0x10) - { - msd = msd >> 4; - s -= 4; - } - if (msd >= 0x4) - { - msd = msd >> 2; - s -= 2; - } - if (msd >= 0x2) - { - msd = msd >> 1; - s -= 1; - } + /* 0 <= s < GMP_LIMB_BITS. + Copy b, shifting it left by s bits. */ + if (s > 0) { + tmp_roomptr = (mp_limb_t *) malloc(b_len * sizeof(mp_limb_t)); + if (tmp_roomptr == NULL) { + free(roomptr); + return NULL; } - /* 0 <= s < GMP_LIMB_BITS. - Copy b, shifting it left by s bits. */ - if (s > 0) - { - tmp_roomptr = (mp_limb_t *) malloc (b_len * sizeof (mp_limb_t)); - if (tmp_roomptr == NULL) - { - free (roomptr); - return NULL; - } - { - const mp_limb_t *sourceptr = b_ptr; - mp_limb_t *destptr = tmp_roomptr; - mp_twolimb_t accu = 0; - size_t count; - for (count = b_len; count > 0; count--) - { - accu += (mp_twolimb_t) *sourceptr++ << s; - *destptr++ = (mp_limb_t) accu; - accu = accu >> GMP_LIMB_BITS; - } - /* accu must be zero, since that was how s was determined. */ - if (accu != 0) - abort (); - } - b_ptr = tmp_roomptr; - } - /* Copy a, shifting it left by s bits, yields r. - Memory layout: - At the beginning: r = roomptr[0..a_len], - at the end: r = roomptr[0..b_len-1], q = roomptr[b_len..a_len] */ - r_ptr = roomptr; - if (s == 0) - { - memcpy (r_ptr, a_ptr, a_len * sizeof (mp_limb_t)); - r_ptr[a_len] = 0; - } - else - { - const mp_limb_t *sourceptr = a_ptr; - mp_limb_t *destptr = r_ptr; - mp_twolimb_t accu = 0; - size_t count; - for (count = a_len; count > 0; count--) - { - accu += (mp_twolimb_t) *sourceptr++ << s; - *destptr++ = (mp_limb_t) accu; - accu = accu >> GMP_LIMB_BITS; - } - *destptr++ = (mp_limb_t) accu; - } - q_ptr = roomptr + b_len; - q_len = a_len - b_len + 1; /* q will have m-n+1 limbs */ { - size_t j = a_len - b_len; /* m-n */ - mp_limb_t b_msd = b_ptr[b_len - 1]; /* b[n-1] */ - mp_limb_t b_2msd = b_ptr[b_len - 2]; /* b[n-2] */ - mp_twolimb_t b_msdd = /* b[n-1]*beta+b[n-2] */ - ((mp_twolimb_t) b_msd << GMP_LIMB_BITS) | b_2msd; - /* Division loop, traversed m-n+1 times. - j counts down, b is unchanged, beta/2 <= b[n-1] < beta. */ - for (;;) - { - mp_limb_t q_star; - mp_limb_t c1; - if (r_ptr[j + b_len] < b_msd) /* r[j+n] < b[n-1] ? */ - { - /* Divide r[j+n]*beta+r[j+n-1] by b[n-1], no overflow. */ - mp_twolimb_t num = - ((mp_twolimb_t) r_ptr[j + b_len] << GMP_LIMB_BITS) - | r_ptr[j + b_len - 1]; - q_star = num / b_msd; - c1 = num % b_msd; - } - else - { - /* Overflow, hence r[j+n]*beta+r[j+n-1] >= beta*b[n-1]. */ - q_star = (mp_limb_t)~(mp_limb_t)0; /* q* = beta-1 */ - /* Test whether r[j+n]*beta+r[j+n-1] - (beta-1)*b[n-1] >= beta - <==> r[j+n]*beta+r[j+n-1] + b[n-1] >= beta*b[n-1]+beta - <==> b[n-1] < floor((r[j+n]*beta+r[j+n-1]+b[n-1])/beta) - {<= beta !}. - If yes, jump directly to the subtraction loop. - (Otherwise, r[j+n]*beta+r[j+n-1] - (beta-1)*b[n-1] < beta - <==> floor((r[j+n]*beta+r[j+n-1]+b[n-1])/beta) = b[n-1] ) */ - if (r_ptr[j + b_len] > b_msd - || (c1 = r_ptr[j + b_len - 1] + b_msd) < b_msd) - /* r[j+n] >= b[n-1]+1 or - r[j+n] = b[n-1] and the addition r[j+n-1]+b[n-1] gives a - carry. */ - goto subtract; - } - /* q_star = q*, - c1 = (r[j+n]*beta+r[j+n-1]) - q* * b[n-1] (>=0, <beta). */ - { - mp_twolimb_t c2 = /* c1*beta+r[j+n-2] */ - ((mp_twolimb_t) c1 << GMP_LIMB_BITS) | r_ptr[j + b_len - 2]; - mp_twolimb_t c3 = /* b[n-2] * q* */ - (mp_twolimb_t) b_2msd * (mp_twolimb_t) q_star; - /* While c2 < c3, increase c2 and decrease c3. - Consider c3-c2. While it is > 0, decrease it by - b[n-1]*beta+b[n-2]. Because of b[n-1]*beta+b[n-2] >= beta^2/2 - this can happen only twice. */ - if (c3 > c2) - { - q_star = q_star - 1; /* q* := q* - 1 */ - if (c3 - c2 > b_msdd) - q_star = q_star - 1; /* q* := q* - 1 */ - } - } - if (q_star > 0) - subtract: - { - /* Subtract r := r - b * q* * beta^j. */ - mp_limb_t cr; - { - const mp_limb_t *sourceptr = b_ptr; - mp_limb_t *destptr = r_ptr + j; - mp_twolimb_t carry = 0; - size_t count; - for (count = b_len; count > 0; count--) - { - /* Here 0 <= carry <= q*. */ - carry = - carry - + (mp_twolimb_t) q_star * (mp_twolimb_t) *sourceptr++ - + (mp_limb_t) ~(*destptr); - /* Here 0 <= carry <= beta*q* + beta-1. */ - *destptr++ = ~(mp_limb_t) carry; - carry = carry >> GMP_LIMB_BITS; /* <= q* */ - } - cr = (mp_limb_t) carry; - } - /* Subtract cr from r_ptr[j + b_len], then forget about - r_ptr[j + b_len]. */ - if (cr > r_ptr[j + b_len]) - { - /* Subtraction gave a carry. */ - q_star = q_star - 1; /* q* := q* - 1 */ - /* Add b back. */ - { - const mp_limb_t *sourceptr = b_ptr; - mp_limb_t *destptr = r_ptr + j; - mp_limb_t carry = 0; - size_t count; - for (count = b_len; count > 0; count--) - { - mp_limb_t source1 = *sourceptr++; - mp_limb_t source2 = *destptr; - *destptr++ = source1 + source2 + carry; - carry = - (carry - ? source1 >= (mp_limb_t) ~source2 - : source1 > (mp_limb_t) ~source2); - } - } - /* Forget about the carry and about r[j+n]. */ - } - } - /* q* is determined. Store it as q[j]. */ - q_ptr[j] = q_star; - if (j == 0) - break; - j--; - } + const mp_limb_t *sourceptr = b_ptr; + mp_limb_t *destptr = tmp_roomptr; + mp_twolimb_t accu = 0; + size_t count; + for (count = b_len; count > 0; count--) { + accu += (mp_twolimb_t) * sourceptr++ << s; + *destptr++ = (mp_limb_t) accu; + accu = accu >> GMP_LIMB_BITS; + } + /* accu must be zero, since that was how s was determined. */ + if (accu != 0) + abort(); } - r_len = b_len; - /* Normalise q. */ - if (q_ptr[q_len - 1] == 0) - q_len--; + b_ptr = tmp_roomptr; + } + /* Copy a, shifting it left by s bits, yields r. + Memory layout: + At the beginning: r = roomptr[0..a_len], + at the end: r = roomptr[0..b_len-1], q = roomptr[b_len..a_len] */ + r_ptr = roomptr; + if (s == 0) { + memcpy(r_ptr, a_ptr, a_len * sizeof(mp_limb_t)); + r_ptr[a_len] = 0; + } else { + const mp_limb_t *sourceptr = a_ptr; + mp_limb_t *destptr = r_ptr; + mp_twolimb_t accu = 0; + size_t count; + for (count = a_len; count > 0; count--) { + accu += (mp_twolimb_t) * sourceptr++ << s; + *destptr++ = (mp_limb_t) accu; + accu = accu >> GMP_LIMB_BITS; + } + *destptr++ = (mp_limb_t) accu; + } + q_ptr = roomptr + b_len; + q_len = a_len - b_len + 1; /* q will have m-n+1 limbs */ + { + size_t j = a_len - b_len; /* m-n */ + mp_limb_t b_msd = b_ptr[b_len - 1]; /* b[n-1] */ + mp_limb_t b_2msd = b_ptr[b_len - 2]; /* b[n-2] */ + mp_twolimb_t b_msdd = /* b[n-1]*beta+b[n-2] */ + ((mp_twolimb_t) b_msd << GMP_LIMB_BITS) | b_2msd; + /* Division loop, traversed m-n+1 times. + j counts down, b is unchanged, beta/2 <= b[n-1] < beta. */ + for (;;) { + mp_limb_t q_star; + mp_limb_t c1; + if (r_ptr[j + b_len] < b_msd) { /* r[j+n] < b[n-1] ? */ + /* Divide r[j+n]*beta+r[j+n-1] by b[n-1], no overflow. */ + mp_twolimb_t num = + ((mp_twolimb_t) r_ptr[j + b_len] << GMP_LIMB_BITS) + | r_ptr[j + b_len - 1]; + q_star = num / b_msd; + c1 = num % b_msd; + } else { + /* Overflow, hence r[j+n]*beta+r[j+n-1] >= beta*b[n-1]. */ + q_star = (mp_limb_t)~(mp_limb_t)0; /* q* = beta-1 */ + /* Test whether r[j+n]*beta+r[j+n-1] - (beta-1)*b[n-1] >= beta + <==> r[j+n]*beta+r[j+n-1] + b[n-1] >= beta*b[n-1]+beta + <==> b[n-1] < floor((r[j+n]*beta+r[j+n-1]+b[n-1])/beta) + {<= beta !}. + If yes, jump directly to the subtraction loop. + (Otherwise, r[j+n]*beta+r[j+n-1] - (beta-1)*b[n-1] < beta + <==> floor((r[j+n]*beta+r[j+n-1]+b[n-1])/beta) = b[n-1] ) */ + if (r_ptr[j + b_len] > b_msd + || (c1 = r_ptr[j + b_len - 1] + b_msd) < b_msd) + /* r[j+n] >= b[n-1]+1 or + r[j+n] = b[n-1] and the addition r[j+n-1]+b[n-1] gives a + carry. */ + goto subtract; + } + /* q_star = q*, + c1 = (r[j+n]*beta+r[j+n-1]) - q* * b[n-1] (>=0, <beta). */ + { + mp_twolimb_t c2 = /* c1*beta+r[j+n-2] */ + ((mp_twolimb_t) c1 << GMP_LIMB_BITS) | r_ptr[j + b_len - 2]; + mp_twolimb_t c3 = /* b[n-2] * q* */ + (mp_twolimb_t) b_2msd * (mp_twolimb_t) q_star; + /* While c2 < c3, increase c2 and decrease c3. + Consider c3-c2. While it is > 0, decrease it by + b[n-1]*beta+b[n-2]. Because of b[n-1]*beta+b[n-2] >= beta^2/2 + this can happen only twice. */ + if (c3 > c2) { + q_star = q_star - 1; /* q* := q* - 1 */ + if (c3 - c2 > b_msdd) + q_star = q_star - 1; /* q* := q* - 1 */ + } + } + if (q_star > 0) +subtract: { + /* Subtract r := r - b * q* * beta^j. */ + mp_limb_t cr; + { + const mp_limb_t *sourceptr = b_ptr; + mp_limb_t *destptr = r_ptr + j; + mp_twolimb_t carry = 0; + size_t count; + for (count = b_len; count > 0; count--) { + /* Here 0 <= carry <= q*. */ + carry = + carry + + (mp_twolimb_t) q_star * (mp_twolimb_t) * sourceptr++ + + (mp_limb_t) ~(*destptr); + /* Here 0 <= carry <= beta*q* + beta-1. */ + *destptr++ = ~(mp_limb_t) carry; + carry = carry >> GMP_LIMB_BITS; /* <= q* */ + } + cr = (mp_limb_t) carry; + } + /* Subtract cr from r_ptr[j + b_len], then forget about + r_ptr[j + b_len]. */ + if (cr > r_ptr[j + b_len]) { + /* Subtraction gave a carry. */ + q_star = q_star - 1; /* q* := q* - 1 */ + /* Add b back. */ + { + const mp_limb_t *sourceptr = b_ptr; + mp_limb_t *destptr = r_ptr + j; + mp_limb_t carry = 0; + size_t count; + for (count = b_len; count > 0; count--) { + mp_limb_t source1 = *sourceptr++; + mp_limb_t source2 = *destptr; + *destptr++ = source1 + source2 + carry; + carry = + (carry + ? source1 >= (mp_limb_t) ~source2 + : source1 > (mp_limb_t) ~source2); + } + } + /* Forget about the carry and about r[j+n]. */ + } + } + /* q* is determined. Store it as q[j]. */ + q_ptr[j] = q_star; + if (j == 0) + break; + j--; + } + } + r_len = b_len; + /* Normalise q. */ + if (q_ptr[q_len - 1] == 0) + q_len--; # if 0 /* Not needed here, since we need r only to compare it with b/2, and b is shifted left by s bits. */ - /* Shift r right by s bits. */ - if (s > 0) - { - mp_limb_t ptr = r_ptr + r_len; - mp_twolimb_t accu = 0; - size_t count; - for (count = r_len; count > 0; count--) - { - accu = (mp_twolimb_t) (mp_limb_t) accu << GMP_LIMB_BITS; - accu += (mp_twolimb_t) *--ptr << (GMP_LIMB_BITS - s); - *ptr = (mp_limb_t) (accu >> GMP_LIMB_BITS); - } - } -# endif - /* Normalise r. */ - while (r_len > 0 && r_ptr[r_len - 1] == 0) - r_len--; + /* Shift r right by s bits. */ + if (s > 0) { + mp_limb_t ptr = r_ptr + r_len; + mp_twolimb_t accu = 0; + size_t count; + for (count = r_len; count > 0; count--) { + accu = (mp_twolimb_t)(mp_limb_t) accu << GMP_LIMB_BITS; + accu += (mp_twolimb_t) * --ptr << (GMP_LIMB_BITS - s); + *ptr = (mp_limb_t)(accu >> GMP_LIMB_BITS); + } } +# endif + /* Normalise r. */ + while (r_len > 0 && r_ptr[r_len - 1] == 0) + r_len--; + } /* Compare r << 1 with b. */ if (r_len > b_len) goto increment_q; { size_t i; - for (i = b_len;;) - { - mp_limb_t r_i = - (i <= r_len && i > 0 ? r_ptr[i - 1] >> (GMP_LIMB_BITS - 1) : 0) - | (i < r_len ? r_ptr[i] << 1 : 0); - mp_limb_t b_i = (i < b_len ? b_ptr[i] : 0); - if (r_i > b_i) - goto increment_q; - if (r_i < b_i) - goto keep_q; - if (i == 0) - break; - i--; - } + for (i = b_len;;) { + mp_limb_t r_i = + (i <= r_len && i > 0 ? r_ptr[i - 1] >> (GMP_LIMB_BITS - 1) : 0) + | (i < r_len ? r_ptr[i] << 1 : 0); + mp_limb_t b_i = (i < b_len ? b_ptr[i] : 0); + if (r_i > b_i) + goto increment_q; + if (r_i < b_i) + goto keep_q; + if (i == 0) + break; + i--; + } } if (q_len > 0 && ((q_ptr[0] & 1) != 0)) /* q is odd. */ - increment_q: - { - size_t i; - for (i = 0; i < q_len; i++) - if (++(q_ptr[i]) != 0) - goto keep_q; - q_ptr[q_len++] = 1; - } - keep_q: +increment_q: { + size_t i; + for (i = 0; i < q_len; i++) + if (++(q_ptr[i]) != 0) + goto keep_q; + q_ptr[q_len++] = 1; + } +keep_q: if (tmp_roomptr != NULL) - free (tmp_roomptr); + free(tmp_roomptr); q->limbs = q_ptr; q->nlimbs = q_len; return roomptr; @@ -752,50 +703,45 @@ order, terminated with a NUL character - in case of success, NULL in case of memory allocation failure. */ static char * -convert_to_decimal (mpn_t a, size_t extra_zeroes) -{ +convert_to_decimal(mpn_t a, size_t extra_zeroes) { mp_limb_t *a_ptr = a.limbs; size_t a_len = a.nlimbs; /* 0.03345 is slightly larger than log(2)/(9*log(10)). */ size_t c_len = 9 * ((size_t)(a_len * (GMP_LIMB_BITS * 0.03345f)) + 1); - char *c_ptr = (char *) malloc (xsum (c_len, extra_zeroes)); - if (c_ptr != NULL) - { - char *d_ptr = c_ptr; - for (; extra_zeroes > 0; extra_zeroes--) - *d_ptr++ = '0'; - while (a_len > 0) - { - /* Divide a by 10^9, in-place. */ - mp_limb_t remainder = 0; - mp_limb_t *ptr = a_ptr + a_len; - size_t count; - for (count = a_len; count > 0; count--) - { - mp_twolimb_t num = - ((mp_twolimb_t) remainder << GMP_LIMB_BITS) | *--ptr; - *ptr = num / 1000000000; - remainder = num % 1000000000; - } - /* Store the remainder as 9 decimal digits. */ - for (count = 9; count > 0; count--) - { - *d_ptr++ = '0' + (remainder % 10); - remainder = remainder / 10; - } - /* Normalize a. */ - if (a_ptr[a_len - 1] == 0) - a_len--; - } - /* Remove leading zeroes. */ - while (d_ptr > c_ptr && d_ptr[-1] == '0') - d_ptr--; - /* But keep at least one zero. */ - if (d_ptr == c_ptr) - *d_ptr++ = '0'; - /* Terminate the string. */ - *d_ptr = '\0'; + char *c_ptr = (char *) malloc(xsum(c_len, extra_zeroes)); + if (c_ptr != NULL) { + char *d_ptr = c_ptr; + for (; extra_zeroes > 0; extra_zeroes--) + *d_ptr++ = '0'; + while (a_len > 0) { + /* Divide a by 10^9, in-place. */ + mp_limb_t remainder = 0; + mp_limb_t *ptr = a_ptr + a_len; + size_t count; + for (count = a_len; count > 0; count--) { + mp_twolimb_t num = + ((mp_twolimb_t) remainder << GMP_LIMB_BITS) | *--ptr; + *ptr = num / 1000000000; + remainder = num % 1000000000; + } + /* Store the remainder as 9 decimal digits. */ + for (count = 9; count > 0; count--) { + *d_ptr++ = '0' + (remainder % 10); + remainder = remainder / 10; + } + /* Normalize a. */ + if (a_ptr[a_len - 1] == 0) + a_len--; } + /* Remove leading zeroes. */ + while (d_ptr > c_ptr && d_ptr[-1] == '0') + d_ptr--; + /* But keep at least one zero. */ + if (d_ptr == c_ptr) + *d_ptr++ = '0'; + /* Terminate the string. */ + *d_ptr = '\0'; + } return c_ptr; } @@ -806,8 +752,7 @@ Return the allocated memory in case of success, NULL in case of memory allocation failure. */ static void * -decode_long_double (long double x, int *ep, mpn_t *mp) -{ +decode_long_double(long double x, int *ep, mpn_t *mp) { mpn_t m; int exp; long double y; @@ -815,13 +760,13 @@ /* Allocate memory for result. */ m.nlimbs = (LDBL_MANT_BIT + GMP_LIMB_BITS - 1) / GMP_LIMB_BITS; - m.limbs = (mp_limb_t *) malloc (m.nlimbs * sizeof (mp_limb_t)); + m.limbs = (mp_limb_t *) malloc(m.nlimbs * sizeof(mp_limb_t)); if (m.limbs == NULL) return NULL; /* Split into exponential part and mantissa. */ - y = frexpl (x, &exp); + y = frexpl(x, &exp); if (!(y >= 0.0L && y < 1.0L)) - abort (); + abort(); /* x = 2^exp * y = 2^(exp - LDBL_MANT_BIT) * (y * LDBL_MANT_BIT), and the latter is an integer. */ /* Convert the mantissa (y * LDBL_MANT_BIT) to a sequence of limbs. @@ -831,49 +776,48 @@ doesn't matter). */ # if (LDBL_MANT_BIT % GMP_LIMB_BITS) != 0 # if (LDBL_MANT_BIT % GMP_LIMB_BITS) > GMP_LIMB_BITS / 2 - { - mp_limb_t hi, lo; - y *= (mp_limb_t) 1 << (LDBL_MANT_BIT % (GMP_LIMB_BITS / 2)); - hi = (int) y; - y -= hi; - if (!(y >= 0.0L && y < 1.0L)) - abort (); - y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); - lo = (int) y; - y -= lo; - if (!(y >= 0.0L && y < 1.0L)) - abort (); - m.limbs[LDBL_MANT_BIT / GMP_LIMB_BITS] = (hi << (GMP_LIMB_BITS / 2)) | lo; - } + { + mp_limb_t hi, lo; + y *= (mp_limb_t) 1 << (LDBL_MANT_BIT % (GMP_LIMB_BITS / 2)); + hi = (int) y; + y -= hi; + if (!(y >= 0.0L && y < 1.0L)) + abort(); + y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); + lo = (int) y; + y -= lo; + if (!(y >= 0.0L && y < 1.0L)) + abort(); + m.limbs[LDBL_MANT_BIT / GMP_LIMB_BITS] = (hi << (GMP_LIMB_BITS / 2)) | lo; + } # else - { - mp_limb_t d; - y *= (mp_limb_t) 1 << (LDBL_MANT_BIT % GMP_LIMB_BITS); - d = (int) y; - y -= d; - if (!(y >= 0.0L && y < 1.0L)) - abort (); - m.limbs[LDBL_MANT_BIT / GMP_LIMB_BITS] = d; - } + { + mp_limb_t d; + y *= (mp_limb_t) 1 << (LDBL_MANT_BIT % GMP_LIMB_BITS); + d = (int) y; + y -= d; + if (!(y >= 0.0L && y < 1.0L)) + abort(); + m.limbs[LDBL_MANT_BIT / GMP_LIMB_BITS] = d; + } # endif # endif - for (i = LDBL_MANT_BIT / GMP_LIMB_BITS; i > 0; ) - { - mp_limb_t hi, lo; - y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); - hi = (int) y; - y -= hi; - if (!(y >= 0.0L && y < 1.0L)) - abort (); - y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); - lo = (int) y; - y -= lo; - if (!(y >= 0.0L && y < 1.0L)) - abort (); - m.limbs[--i] = (hi << (GMP_LIMB_BITS / 2)) | lo; - } + for (i = LDBL_MANT_BIT / GMP_LIMB_BITS; i > 0;) { + mp_limb_t hi, lo; + y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); + hi = (int) y; + y -= hi; + if (!(y >= 0.0L && y < 1.0L)) + abort(); + y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); + lo = (int) y; + y -= lo; + if (!(y >= 0.0L && y < 1.0L)) + abort(); + m.limbs[--i] = (hi << (GMP_LIMB_BITS / 2)) | lo; + } if (!(y == 0.0L)) - abort (); + abort(); /* Normalise. */ while (m.nlimbs > 0 && m.limbs[m.nlimbs - 1] == 0) m.nlimbs--; @@ -891,8 +835,7 @@ Return the allocated memory in case of success, NULL in case of memory allocation failure. */ static void * -decode_double (double x, int *ep, mpn_t *mp) -{ +decode_double(double x, int *ep, mpn_t *mp) { mpn_t m; int exp; double y; @@ -900,13 +843,13 @@ /* Allocate memory for result. */ m.nlimbs = (DBL_MANT_BIT + GMP_LIMB_BITS - 1) / GMP_LIMB_BITS; - m.limbs = (mp_limb_t *) malloc (m.nlimbs * sizeof (mp_limb_t)); + m.limbs = (mp_limb_t *) malloc(m.nlimbs * sizeof(mp_limb_t)); if (m.limbs == NULL) return NULL; /* Split into exponential part and mantissa. */ - y = frexp (x, &exp); + y = frexp(x, &exp); if (!(y >= 0.0 && y < 1.0)) - abort (); + abort(); /* x = 2^exp * y = 2^(exp - DBL_MANT_BIT) * (y * DBL_MANT_BIT), and the latter is an integer. */ /* Convert the mantissa (y * DBL_MANT_BIT) to a sequence of limbs. @@ -916,49 +859,48 @@ doesn't matter). */ # if (DBL_MANT_BIT % GMP_LIMB_BITS) != 0 # if (DBL_MANT_BIT % GMP_LIMB_BITS) > GMP_LIMB_BITS / 2 - { - mp_limb_t hi, lo; - y *= (mp_limb_t) 1 << (DBL_MANT_BIT % (GMP_LIMB_BITS / 2)); - hi = (int) y; - y -= hi; - if (!(y >= 0.0 && y < 1.0)) - abort (); - y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); - lo = (int) y; - y -= lo; - if (!(y >= 0.0 && y < 1.0)) - abort (); - m.limbs[DBL_MANT_BIT / GMP_LIMB_BITS] = (hi << (GMP_LIMB_BITS / 2)) | lo; - } + { + mp_limb_t hi, lo; + y *= (mp_limb_t) 1 << (DBL_MANT_BIT % (GMP_LIMB_BITS / 2)); + hi = (int) y; + y -= hi; + if (!(y >= 0.0 && y < 1.0)) + abort(); + y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); + lo = (int) y; + y -= lo; + if (!(y >= 0.0 && y < 1.0)) + abort(); + m.limbs[DBL_MANT_BIT / GMP_LIMB_BITS] = (hi << (GMP_LIMB_BITS / 2)) | lo; + } # else - { - mp_limb_t d; - y *= (mp_limb_t) 1 << (DBL_MANT_BIT % GMP_LIMB_BITS); - d = (int) y; - y -= d; - if (!(y >= 0.0 && y < 1.0)) - abort (); - m.limbs[DBL_MANT_BIT / GMP_LIMB_BITS] = d; - } + { + mp_limb_t d; + y *= (mp_limb_t) 1 << (DBL_MANT_BIT % GMP_LIMB_BITS); + d = (int) y; + y -= d; + if (!(y >= 0.0 && y < 1.0)) + abort(); + m.limbs[DBL_MANT_BIT / GMP_LIMB_BITS] = d; + } # endif # endif - for (i = DBL_MANT_BIT / GMP_LIMB_BITS; i > 0; ) - { - mp_limb_t hi, lo; - y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); - hi = (int) y; - y -= hi; - if (!(y >= 0.0 && y < 1.0)) - abort (); - y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); - lo = (int) y; - y -= lo; - if (!(y >= 0.0 && y < 1.0)) - abort (); - m.limbs[--i] = (hi << (GMP_LIMB_BITS / 2)) | lo; - } + for (i = DBL_MANT_BIT / GMP_LIMB_BITS; i > 0;) { + mp_limb_t hi, lo; + y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); + hi = (int) y; + y -= hi; + if (!(y >= 0.0 && y < 1.0)) + abort(); + y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); + lo = (int) y; + y -= lo; + if (!(y >= 0.0 && y < 1.0)) + abort(); + m.limbs[--i] = (hi << (GMP_LIMB_BITS / 2)) | lo; + } if (!(y == 0.0)) - abort (); + abort(); /* Normalise. */ while (m.nlimbs > 0 && m.limbs[m.nlimbs - 1] == 0) m.nlimbs--; @@ -975,8 +917,7 @@ order, terminated with a NUL character - in case of success, NULL in case of memory allocation failure. */ static char * -scale10_round_decimal_decoded (int e, mpn_t m, void *memory, int n) -{ +scale10_round_decimal_decoded(int e, mpn_t m, void *memory, int n) { int s; size_t extra_zeroes; unsigned int abs_n; @@ -998,12 +939,11 @@ s = e + n; extra_zeroes = 0; /* Factor out a common power of 10 if possible. */ - if (s > 0 && n > 0) - { - extra_zeroes = (s < n ? s : n); - s -= extra_zeroes; - n -= extra_zeroes; - } + if (s > 0 && n > 0) { + extra_zeroes = (s < n ? s : n); + s -= extra_zeroes; + n -= extra_zeroes; + } /* Here y = round (2^s * 5^n * m) * 10^extra_zeroes. Before converting to decimal, we need to compute z = round (2^s * 5^n * m). */ @@ -1011,181 +951,155 @@ sign. 2.322 is slightly larger than log(5)/log(2). */ abs_n = (n >= 0 ? n : -n); abs_s = (s >= 0 ? s : -s); - pow5_ptr = (mp_limb_t *) malloc (((int)(abs_n * (2.322f / GMP_LIMB_BITS)) + 1 - + abs_s / GMP_LIMB_BITS + 1) - * sizeof (mp_limb_t)); - if (pow5_ptr == NULL) - { - free (memory); - return NULL; - } + pow5_ptr = (mp_limb_t *) malloc(((int)(abs_n * (2.322f / GMP_LIMB_BITS)) + 1 + + abs_s / GMP_LIMB_BITS + 1) + * sizeof(mp_limb_t)); + if (pow5_ptr == NULL) { + free(memory); + return NULL; + } /* Initialize with 1. */ pow5_ptr[0] = 1; pow5_len = 1; /* Multiply with 5^|n|. */ - if (abs_n > 0) - { - static mp_limb_t const small_pow5[13 + 1] = - { - 1, 5, 25, 125, 625, 3125, 15625, 78125, 390625, 1953125, 9765625, - 48828125, 244140625, 1220703125 - }; - unsigned int n13; - for (n13 = 0; n13 <= abs_n; n13 += 13) - { - mp_limb_t digit1 = small_pow5[n13 + 13 <= abs_n ? 13 : abs_n - n13]; - size_t j; - mp_twolimb_t carry = 0; - for (j = 0; j < pow5_len; j++) - { - mp_limb_t digit2 = pow5_ptr[j]; - carry += (mp_twolimb_t) digit1 * (mp_twolimb_t) digit2; - pow5_ptr[j] = (mp_limb_t) carry; - carry = carry >> GMP_LIMB_BITS; - } - if (carry > 0) - pow5_ptr[pow5_len++] = (mp_limb_t) carry; - } + if (abs_n > 0) { + static mp_limb_t const small_pow5[13 + 1] = { + 1, 5, 25, 125, 625, 3125, 15625, 78125, 390625, 1953125, 9765625, + 48828125, 244140625, 1220703125 + }; + unsigned int n13; + for (n13 = 0; n13 <= abs_n; n13 += 13) { + mp_limb_t digit1 = small_pow5[n13 + 13 <= abs_n ? 13 : abs_n - n13]; + size_t j; + mp_twolimb_t carry = 0; + for (j = 0; j < pow5_len; j++) { + mp_limb_t digit2 = pow5_ptr[j]; + carry += (mp_twolimb_t) digit1 * (mp_twolimb_t) digit2; + pow5_ptr[j] = (mp_limb_t) carry; + carry = carry >> GMP_LIMB_BITS; + } + if (carry > 0) + pow5_ptr[pow5_len++] = (mp_limb_t) carry; } + } s_limbs = abs_s / GMP_LIMB_BITS; s_bits = abs_s % GMP_LIMB_BITS; - if (n >= 0 ? s >= 0 : s <= 0) - { - /* Multiply with 2^|s|. */ - if (s_bits > 0) - { - mp_limb_t *ptr = pow5_ptr; - mp_twolimb_t accu = 0; - size_t count; - for (count = pow5_len; count > 0; count--) - { - accu += (mp_twolimb_t) *ptr << s_bits; - *ptr++ = (mp_limb_t) accu; - accu = accu >> GMP_LIMB_BITS; - } - if (accu > 0) - { - *ptr = (mp_limb_t) accu; - pow5_len++; - } - } - if (s_limbs > 0) - { - size_t count; - for (count = pow5_len; count > 0;) - { - count--; - pow5_ptr[s_limbs + count] = pow5_ptr[count]; - } - for (count = s_limbs; count > 0;) - { - count--; - pow5_ptr[count] = 0; - } - pow5_len += s_limbs; - } - pow5.limbs = pow5_ptr; - pow5.nlimbs = pow5_len; - if (n >= 0) - { - /* Multiply m with pow5. No division needed. */ - z_memory = multiply (m, pow5, &z); - } - else - { - /* Divide m by pow5 and round. */ - z_memory = divide (m, pow5, &z); - } + if (n >= 0 ? s >= 0 : s <= 0) { + /* Multiply with 2^|s|. */ + if (s_bits > 0) { + mp_limb_t *ptr = pow5_ptr; + mp_twolimb_t accu = 0; + size_t count; + for (count = pow5_len; count > 0; count--) { + accu += (mp_twolimb_t) * ptr << s_bits; + *ptr++ = (mp_limb_t) accu; + accu = accu >> GMP_LIMB_BITS; + } + if (accu > 0) { + *ptr = (mp_limb_t) accu; + pow5_len++; + } } - else - { - pow5.limbs = pow5_ptr; - pow5.nlimbs = pow5_len; - if (n >= 0) - { - /* n >= 0, s < 0. - Multiply m with pow5, then divide by 2^|s|. */ - mpn_t numerator; - mpn_t denominator; - void *tmp_memory; - tmp_memory = multiply (m, pow5, &numerator); - if (tmp_memory == NULL) - { - free (pow5_ptr); - free (memory); - return NULL; - } - /* Construct 2^|s|. */ - { - mp_limb_t *ptr = pow5_ptr + pow5_len; - size_t i; - for (i = 0; i < s_limbs; i++) - ptr[i] = 0; - ptr[s_limbs] = (mp_limb_t) 1 << s_bits; - denominator.limbs = ptr; - denominator.nlimbs = s_limbs + 1; - } - z_memory = divide (numerator, denominator, &z); - free (tmp_memory); - } - else - { - /* n < 0, s > 0. - Multiply m with 2^s, then divide by pow5. */ - mpn_t numerator; - mp_limb_t *num_ptr; - num_ptr = (mp_limb_t *) malloc ((m.nlimbs + s_limbs + 1) - * sizeof (mp_limb_t)); - if (num_ptr == NULL) - { - free (pow5_ptr); - free (memory); - return NULL; - } - { - mp_limb_t *destptr = num_ptr; - { - size_t i; - for (i = 0; i < s_limbs; i++) - *destptr++ = 0; - } - if (s_bits > 0) - { - const mp_limb_t *sourceptr = m.limbs; - mp_twolimb_t accu = 0; - size_t count; - for (count = m.nlimbs; count > 0; count--) - { - accu += (mp_twolimb_t) *sourceptr++ << s_bits; - *destptr++ = (mp_limb_t) accu; - accu = accu >> GMP_LIMB_BITS; - } - if (accu > 0) - *destptr++ = (mp_limb_t) accu; - } - else - { - const mp_limb_t *sourceptr = m.limbs; - size_t count; - for (count = m.nlimbs; count > 0; count--) - *destptr++ = *sourceptr++; - } - numerator.limbs = num_ptr; - numerator.nlimbs = destptr - num_ptr; - } - z_memory = divide (numerator, pow5, &z); - free (num_ptr); - } + if (s_limbs > 0) { + size_t count; + for (count = pow5_len; count > 0;) { + count--; + pow5_ptr[s_limbs + count] = pow5_ptr[count]; + } + for (count = s_limbs; count > 0;) { + count--; + pow5_ptr[count] = 0; + } + pow5_len += s_limbs; } - free (pow5_ptr); - free (memory); + pow5.limbs = pow5_ptr; + pow5.nlimbs = pow5_len; + if (n >= 0) { + /* Multiply m with pow5. No division needed. */ + z_memory = multiply(m, pow5, &z); + } else { + /* Divide m by pow5 and round. */ + z_memory = divide(m, pow5, &z); + } + } else { + pow5.limbs = pow5_ptr; + pow5.nlimbs = pow5_len; + if (n >= 0) { + /* n >= 0, s < 0. + Multiply m with pow5, then divide by 2^|s|. */ + mpn_t numerator; + mpn_t denominator; + void *tmp_memory; + tmp_memory = multiply(m, pow5, &numerator); + if (tmp_memory == NULL) { + free(pow5_ptr); + free(memory); + return NULL; + } + /* Construct 2^|s|. */ + { + mp_limb_t *ptr = pow5_ptr + pow5_len; + size_t i; + for (i = 0; i < s_limbs; i++) + ptr[i] = 0; + ptr[s_limbs] = (mp_limb_t) 1 << s_bits; + denominator.limbs = ptr; + denominator.nlimbs = s_limbs + 1; + } + z_memory = divide(numerator, denominator, &z); + free(tmp_memory); + } else { + /* n < 0, s > 0. + Multiply m with 2^s, then divide by pow5. */ + mpn_t numerator; + mp_limb_t *num_ptr; + num_ptr = (mp_limb_t *) malloc((m.nlimbs + s_limbs + 1) + * sizeof(mp_limb_t)); + if (num_ptr == NULL) { + free(pow5_ptr); + free(memory); + return NULL; + } + { + mp_limb_t *destptr = num_ptr; + { + size_t i; + for (i = 0; i < s_limbs; i++) + *destptr++ = 0; + } + if (s_bits > 0) { + const mp_limb_t *sourceptr = m.limbs; + mp_twolimb_t accu = 0; + size_t count; + for (count = m.nlimbs; count > 0; count--) { + accu += (mp_twolimb_t) * sourceptr++ << s_bits; + *destptr++ = (mp_limb_t) accu; + accu = accu >> GMP_LIMB_BITS; + } + if (accu > 0) + *destptr++ = (mp_limb_t) accu; + } else { + const mp_limb_t *sourceptr = m.limbs; + size_t count; + for (count = m.nlimbs; count > 0; count--) + *destptr++ = *sourceptr++; + } + numerator.limbs = num_ptr; + numerator.nlimbs = destptr - num_ptr; + } + z_memory = divide(numerator, pow5, &z); + free(num_ptr); + } + } + free(pow5_ptr); + free(memory); /* Here y = round (x * 10^n) = z * 10^extra_zeroes. */ if (z_memory == NULL) return NULL; - digits = convert_to_decimal (z, extra_zeroes); - free (z_memory); + digits = convert_to_decimal(z, extra_zeroes); + free(z_memory); return digits; } @@ -1197,12 +1111,11 @@ order, terminated with a NUL character - in case of success, NULL in case of memory allocation failure. */ static char * -scale10_round_decimal_long_double (long double x, int n) -{ +scale10_round_decimal_long_double(long double x, int n) { int e; mpn_t m; - void *memory = decode_long_double (x, &e, &m); - return scale10_round_decimal_decoded (e, m, memory, n); + void *memory = decode_long_double(x, &e, &m); + return scale10_round_decimal_decoded(e, m, memory, n); } # endif @@ -1215,12 +1128,11 @@ order, terminated with a NUL character - in case of success, NULL in case of memory allocation failure. */ static char * -scale10_round_decimal_double (double x, int n) -{ +scale10_round_decimal_double(double x, int n) { int e; mpn_t m; - void *memory = decode_double (x, &e, &m); - return scale10_round_decimal_decoded (e, m, memory, n); + void *memory = decode_double(x, &e, &m); + return scale10_round_decimal_decoded(e, m, memory, n); } # endif @@ -1231,77 +1143,65 @@ Return an approximation for n with 10^n <= x < 10^(n+1). The approximation is usually the right n, but may be off by 1 sometimes. */ static int -floorlog10l (long double x) -{ +floorlog10l(long double x) { int exp; long double y; double z; double l; /* Split into exponential part and mantissa. */ - y = frexpl (x, &exp); + y = frexpl(x, &exp); if (!(y >= 0.0L && y < 1.0L)) - abort (); + abort(); if (y == 0.0L) return INT_MIN; - if (y < 0.5L) - { - while (y < (1.0L / (1 << (GMP_LIMB_BITS / 2)) / (1 << (GMP_LIMB_BITS / 2)))) - { - y *= 1.0L * (1 << (GMP_LIMB_BITS / 2)) * (1 << (GMP_LIMB_BITS / 2)); - exp -= GMP_LIMB_BITS; - } - if (y < (1.0L / (1 << 16))) - { - y *= 1.0L * (1 << 16); - exp -= 16; - } - if (y < (1.0L / (1 << 8))) - { - y *= 1.0L * (1 << 8); - exp -= 8; - } - if (y < (1.0L / (1 << 4))) - { - y *= 1.0L * (1 << 4); - exp -= 4; - } - if (y < (1.0L / (1 << 2))) - { - y *= 1.0L * (1 << 2); - exp -= 2; - } - if (y < (1.0L / (1 << 1))) - { - y *= 1.0L * (1 << 1); - exp -= 1; - } + if (y < 0.5L) { + while (y < (1.0L / (1 << (GMP_LIMB_BITS / 2)) / (1 << (GMP_LIMB_BITS / 2)))) { + y *= 1.0L * (1 << (GMP_LIMB_BITS / 2)) * (1 << (GMP_LIMB_BITS / 2)); + exp -= GMP_LIMB_BITS; } - if (!(y >= 0.5L && y < 1.0L)) - abort (); - /* Compute an approximation for l = log2(x) = exp + log2(y). */ - l = exp; - z = y; - if (z < 0.70710678118654752444) - { - z *= 1.4142135623730950488; - l -= 0.5; + if (y < (1.0L / (1 << 16))) { + y *= 1.0L * (1 << 16); + exp -= 16; } - if (z < 0.8408964152537145431) - { - z *= 1.1892071150027210667; - l -= 0.25; + if (y < (1.0L / (1 << 8))) { + y *= 1.0L * (1 << 8); + exp -= 8; } - if (z < 0.91700404320467123175) - { - z *= 1.0905077326652576592; - l -= 0.125; + if (y < (1.0L / (1 << 4))) { + y *= 1.0L * (1 << 4); + exp -= 4; } - if (z < 0.9576032806985736469) - { - z *= 1.0442737824274138403; - l -= 0.0625; + if (y < (1.0L / (1 << 2))) { + y *= 1.0L * (1 << 2); + exp -= 2; } + if (y < (1.0L / (1 << 1))) { + y *= 1.0L * (1 << 1); + exp -= 1; + } + } + if (!(y >= 0.5L && y < 1.0L)) + abort(); + /* Compute an approximation for l = log2(x) = exp + log2(y). */ + l = exp; + z = y; + if (z < 0.70710678118654752444) { + z *= 1.4142135623730950488; + l -= 0.5; + } + if (z < 0.8408964152537145431) { + z *= 1.1892071150027210667; + l -= 0.25; + } + if (z < 0.91700404320467123175) { + z *= 1.0905077326652576592; + l -= 0.125; + } + if (z < 0.9576032806985736469) { + z *= 1.0442737824274138403; + l -= 0.0625; + } /* Now 0.95 <= z <= 1.01. */ z = 1 - z; /* log(1-z) = - z - z^2/2 - z^3/3 - z^4/4 - ... @@ -1322,77 +1222,65 @@ Return an approximation for n with 10^n <= x < 10^(n+1). The approximation is usually the right n, but may be off by 1 sometimes. */ static int -floorlog10 (double x) -{ +floorlog10(double x) { int exp; double y; double z; double l; /* Split into exponential part and mantissa. */ - y = frexp (x, &exp); + y = frexp(x, &exp); if (!(y >= 0.0 && y < 1.0)) - abort (); + abort(); if (y == 0.0) return INT_MIN; - if (y < 0.5) - { - while (y < (1.0 / (1 << (GMP_LIMB_BITS / 2)) / (1 << (GMP_LIMB_BITS / 2)))) - { - y *= 1.0 * (1 << (GMP_LIMB_BITS / 2)) * (1 << (GMP_LIMB_BITS / 2)); - exp -= GMP_LIMB_BITS; - } - if (y < (1.0 / (1 << 16))) - { - y *= 1.0 * (1 << 16); - exp -= 16; - } - if (y < (1.0 / (1 << 8))) - { - y *= 1.0 * (1 << 8); - exp -= 8; - } - if (y < (1.0 / (1 << 4))) - { - y *= 1.0 * (1 << 4); - exp -= 4; - } - if (y < (1.0 / (1 << 2))) - { - y *= 1.0 * (1 << 2); - exp -= 2; - } - if (y < (1.0 / (1 << 1))) - { - y *= 1.0 * (1 << 1); - exp -= 1; - } + if (y < 0.5) { + while (y < (1.0 / (1 << (GMP_LIMB_BITS / 2)) / (1 << (GMP_LIMB_BITS / 2)))) { + y *= 1.0 * (1 << (GMP_LIMB_BITS / 2)) * (1 << (GMP_LIMB_BITS / 2)); + exp -= GMP_LIMB_BITS; } - if (!(y >= 0.5 && y < 1.0)) - abort (); - /* Compute an approximation for l = log2(x) = exp + log2(y). */ - l = exp; - z = y; - if (z < 0.70710678118654752444) - { - z *= 1.4142135623730950488; - l -= 0.5; + if (y < (1.0 / (1 << 16))) { + y *= 1.0 * (1 << 16); + exp -= 16; } - if (z < 0.8408964152537145431) - { - z *= 1.1892071150027210667; - l -= 0.25; + if (y < (1.0 / (1 << 8))) { + y *= 1.0 * (1 << 8); + exp -= 8; } - if (z < 0.91700404320467123175) - { - z *= 1.0905077326652576592; - l -= 0.125; + if (y < (1.0 / (1 << 4))) { + y *= 1.0 * (1 << 4); + exp -= 4; } - if (z < 0.9576032806985736469) - { - z *= 1.0442737824274138403; - l -= 0.0625; + if (y < (1.0 / (1 << 2))) { + y *= 1.0 * (1 << 2); + exp -= 2; + } + if (y < (1.0 / (1 << 1))) { + y *= 1.0 * (1 << 1); + exp -= 1; } + } + if (!(y >= 0.5 && y < 1.0)) + abort(); + /* Compute an approximation for l = log2(x) = exp + log2(y). */ + l = exp; + z = y; + if (z < 0.70710678118654752444) { + z *= 1.4142135623730950488; + l -= 0.5; + } + if (z < 0.8408964152537145431) { + z *= 1.1892071150027210667; + l -= 0.25; + } + if (z < 0.91700404320467123175) { + z *= 1.0905077326652576592; + l -= 0.125; + } + if (z < 0.9576032806985736469) { + z *= 1.0442737824274138403; + l -= 0.0625; + } /* Now 0.95 <= z <= 1.01. */ z = 1 - z; /* log(1-z) = - z - z^2/2 - z^3/3 - z^4/4 - ... @@ -1410,13 +1298,12 @@ #endif DCHAR_T * -VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, - const FCHAR_T *format, va_list args) -{ +VASNPRINTF(DCHAR_T *resultbuf, size_t *lengthp, + const FCHAR_T *format, va_list args) { DIRECTIVES d; arguments a; - if (PRINTF_PARSE (format, &d, &a) < 0) + if (PRINTF_PARSE(format, &d, &a) < 0) /* errno is already set. */ return NULL; @@ -1425,12 +1312,11 @@ if (a.arg) \ free (a.arg); - if (PRINTF_FETCHARGS (args, &a) < 0) - { - CLEANUP (); - errno = EINVAL; - return NULL; - } + if (PRINTF_FETCHARGS(args, &a) < 0) { + CLEANUP(); + errno = EINVAL; + return NULL; + } { size_t buf_neededlength; @@ -1447,35 +1333,30 @@ /* Allocate a small buffer that will hold a directive passed to sprintf or snprintf. */ buf_neededlength = - xsum4 (7, d.max_width_length, d.max_precision_length, 6); + xsum4(7, d.max_width_length, d.max_precision_length, 6); #if HAVE_ALLOCA - if (buf_neededlength < 4000 / sizeof (TCHAR_T)) - { - buf = (TCHAR_T *) alloca (buf_neededlength * sizeof (TCHAR_T)); - buf_malloced = NULL; - } - else + if (buf_neededlength < 4000 / sizeof(TCHAR_T)) { + buf = (TCHAR_T *) alloca(buf_neededlength * sizeof(TCHAR_T)); + buf_malloced = NULL; + } else #endif - { - size_t buf_memsize = xtimes (buf_neededlength, sizeof (TCHAR_T)); - if (size_overflow_p (buf_memsize)) - goto out_of_memory_1; - buf = (TCHAR_T *) malloc (buf_memsize); - if (buf == NULL) - goto out_of_memory_1; - buf_malloced = buf; - } + { + size_t buf_memsize = xtimes(buf_neededlength, sizeof(TCHAR_T)); + if (size_overflow_p(buf_memsize)) + goto out_of_memory_1; + buf = (TCHAR_T *) malloc(buf_memsize); + if (buf == NULL) + goto out_of_memory_1; + buf_malloced = buf; + } - if (resultbuf != NULL) - { - result = resultbuf; - allocated = *lengthp; - } - else - { - result = NULL; - allocated = 0; - } + if (resultbuf != NULL) { + result = resultbuf; + allocated = *lengthp; + } else { + result = NULL; + allocated = 0; + } length = 0; /* Invariants: result is either == resultbuf or == NULL or malloc-allocated. @@ -1506,2565 +1387,2318 @@ result = memory; \ } - for (cp = format, i = 0, dp = &d.dir[0]; ; cp = dp->dir_end, i++, dp++) - { - if (cp != dp->dir_start) - { - size_t n = dp->dir_start - cp; - size_t augmented_length = xsum (length, n); - - ENSURE_ALLOCATION (augmented_length); - /* This copies a piece of FCHAR_T[] into a DCHAR_T[]. Here we - need that the format string contains only ASCII characters - if FCHAR_T and DCHAR_T are not the same type. */ - if (sizeof (FCHAR_T) == sizeof (DCHAR_T)) - { - DCHAR_CPY (result + length, (const DCHAR_T *) cp, n); - length = augmented_length; - } - else - { - do - result[length++] = (unsigned char) *cp++; - while (--n > 0); - } - } - if (i == d.count) - break; - - /* Execute a single directive. */ - if (dp->conversion == '%') - { - size_t augmented_length; - - if (!(dp->arg_index == ARG_NONE)) - abort (); - augmented_length = xsum (length, 1); - ENSURE_ALLOCATION (augmented_length); - result[length] = '%'; - length = augmented_length; - } - else - { - if (!(dp->arg_index != ARG_NONE)) - abort (); - - if (dp->conversion == 'n') - { - switch (a.arg[dp->arg_index].type) - { - case TYPE_COUNT_SCHAR_POINTER: - *a.arg[dp->arg_index].a.a_count_schar_pointer = length; - break; - case TYPE_COUNT_SHORT_POINTER: - *a.arg[dp->arg_index].a.a_count_short_pointer = length; - break; - case TYPE_COUNT_INT_POINTER: - *a.arg[dp->arg_index].a.a_count_int_pointer = length; - break; - case TYPE_COUNT_LONGINT_POINTER: - *a.arg[dp->arg_index].a.a_count_longint_pointer = length; - break; + for (cp = format, i = 0, dp = &d.dir[0]; ; cp = dp->dir_end, i++, dp++) { + if (cp != dp->dir_start) { + size_t n = dp->dir_start - cp; + size_t augmented_length = xsum(length, n); + + ENSURE_ALLOCATION(augmented_length); + /* This copies a piece of FCHAR_T[] into a DCHAR_T[]. Here we + need that the format string contains only ASCII characters + if FCHAR_T and DCHAR_T are not the same type. */ + if (sizeof(FCHAR_T) == sizeof(DCHAR_T)) { + DCHAR_CPY(result + length, (const DCHAR_T *) cp, n); + length = augmented_length; + } else { + do + result[length++] = (unsigned char) * cp++; + while (--n > 0); + } + } + if (i == d.count) + break; + + /* Execute a single directive. */ + if (dp->conversion == '%') { + size_t augmented_length; + + if (!(dp->arg_index == ARG_NONE)) + abort(); + augmented_length = xsum(length, 1); + ENSURE_ALLOCATION(augmented_length); + result[length] = '%'; + length = augmented_length; + } else { + if (!(dp->arg_index != ARG_NONE)) + abort(); + + if (dp->conversion == 'n') { + switch (a.arg[dp->arg_index].type) { + case TYPE_COUNT_SCHAR_POINTER: + *a.arg[dp->arg_index].a.a_count_schar_pointer = length; + break; + case TYPE_COUNT_SHORT_POINTER: + *a.arg[dp->arg_index].a.a_count_short_pointer = length; + break; + case TYPE_COUNT_INT_POINTER: + *a.arg[dp->arg_index].a.a_count_int_pointer = length; + break; + case TYPE_COUNT_LONGINT_POINTER: + *a.arg[dp->arg_index].a.a_count_longint_pointer = length; + break; #if HAVE_LONG_LONG_INT - case TYPE_COUNT_LONGLONGINT_POINTER: - *a.arg[dp->arg_index].a.a_count_longlongint_pointer = length; - break; -#endif - default: - abort (); - } - } + case TYPE_COUNT_LONGLONGINT_POINTER: + *a.arg[dp->arg_index].a.a_count_longlongint_pointer = length; + break; +#endif + default: + abort(); + } + } #if ENABLE_UNISTDIO - /* The unistdio extensions. */ - else if (dp->conversion == 'U') - { - arg_type type = a.arg[dp->arg_index].type; - int flags = dp->flags; - int has_width; - size_t width; - int has_precision; - size_t precision; - - has_width = 0; - width = 0; - if (dp->width_start != dp->width_end) - { - if (dp->width_arg_index != ARG_NONE) - { - int arg; - - if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) - abort (); - arg = a.arg[dp->width_arg_index].a.a_int; - if (arg < 0) - { - /* "A negative field width is taken as a '-' flag - followed by a positive field width." */ - flags |= FLAG_LEFT; - width = (unsigned int) (-arg); - } - else - width = arg; - } - else - { - const FCHAR_T *digitp = dp->width_start; - - do - width = xsum (xtimes (width, 10), *digitp++ - '0'); - while (digitp != dp->width_end); - } - has_width = 1; - } - - has_precision = 0; - precision = 0; - if (dp->precision_start != dp->precision_end) - { - if (dp->precision_arg_index != ARG_NONE) - { - int arg; - - if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) - abort (); - arg = a.arg[dp->precision_arg_index].a.a_int; - /* "A negative precision is taken as if the precision - were omitted." */ - if (arg >= 0) - { - precision = arg; - has_precision = 1; - } - } - else - { - const FCHAR_T *digitp = dp->precision_start + 1; - - precision = 0; - while (digitp != dp->precision_end) - precision = xsum (xtimes (precision, 10), *digitp++ - '0'); - has_precision = 1; - } - } - - switch (type) - { - case TYPE_U8_STRING: - { - const uint8_t *arg = a.arg[dp->arg_index].a.a_u8_string; - const uint8_t *arg_end; - size_t characters; - - if (has_precision) - { - /* Use only PRECISION characters, from the left. */ - arg_end = arg; - characters = 0; - for (; precision > 0; precision--) - { - int count = u8_strmblen (arg_end); - if (count == 0) - break; - if (count < 0) - { - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = EILSEQ; - return NULL; - } - arg_end += count; - characters++; - } - } - else if (has_width) - { - /* Use the entire string, and count the number of - characters. */ - arg_end = arg; - characters = 0; - for (;;) - { - int count = u8_strmblen (arg_end); - if (count == 0) - break; - if (count < 0) - { - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = EILSEQ; - return NULL; - } - arg_end += count; - characters++; - } - } - else - { - /* Use the entire string. */ - arg_end = arg + u8_strlen (arg); - /* The number of characters doesn't matter. */ - characters = 0; - } - - if (has_width && width > characters - && !(dp->flags & FLAG_LEFT)) - { - size_t n = width - characters; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_SET (result + length, ' ', n); - length += n; - } + /* The unistdio extensions. */ + else if (dp->conversion == 'U') { + arg_type type = a.arg[dp->arg_index].type; + int flags = dp->flags; + int has_width; + size_t width; + int has_precision; + size_t precision; + + has_width = 0; + width = 0; + if (dp->width_start != dp->width_end) { + if (dp->width_arg_index != ARG_NONE) { + int arg; + + if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) + abort(); + arg = a.arg[dp->width_arg_index].a.a_int; + if (arg < 0) { + /* "A negative field width is taken as a '-' flag + followed by a positive field width." */ + flags |= FLAG_LEFT; + width = (unsigned int)(-arg); + } else + width = arg; + } else { + const FCHAR_T *digitp = dp->width_start; + + do + width = xsum(xtimes(width, 10), *digitp++ - '0'); + while (digitp != dp->width_end); + } + has_width = 1; + } + + has_precision = 0; + precision = 0; + if (dp->precision_start != dp->precision_end) { + if (dp->precision_arg_index != ARG_NONE) { + int arg; + + if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) + abort(); + arg = a.arg[dp->precision_arg_index].a.a_int; + /* "A negative precision is taken as if the precision + were omitted." */ + if (arg >= 0) { + precision = arg; + has_precision = 1; + } + } else { + const FCHAR_T *digitp = dp->precision_start + 1; + + precision = 0; + while (digitp != dp->precision_end) + precision = xsum(xtimes(precision, 10), *digitp++ - '0'); + has_precision = 1; + } + } + + switch (type) { + case TYPE_U8_STRING: { + const uint8_t *arg = a.arg[dp->arg_index].a.a_u8_string; + const uint8_t *arg_end; + size_t characters; + + if (has_precision) { + /* Use only PRECISION characters, from the left. */ + arg_end = arg; + characters = 0; + for (; precision > 0; precision--) { + int count = u8_strmblen(arg_end); + if (count == 0) + break; + if (count < 0) { + if (!(result == resultbuf || result == NULL)) + free(result); + if (buf_malloced != NULL) + free(buf_malloced); + CLEANUP(); + errno = EILSEQ; + return NULL; + } + arg_end += count; + characters++; + } + } else if (has_width) { + /* Use the entire string, and count the number of + characters. */ + arg_end = arg; + characters = 0; + for (;;) { + int count = u8_strmblen(arg_end); + if (count == 0) + break; + if (count < 0) { + if (!(result == resultbuf || result == NULL)) + free(result); + if (buf_malloced != NULL) + free(buf_malloced); + CLEANUP(); + errno = EILSEQ; + return NULL; + } + arg_end += count; + characters++; + } + } else { + /* Use the entire string. */ + arg_end = arg + u8_strlen(arg); + /* The number of characters doesn't matter. */ + characters = 0; + } + + if (has_width && width > characters + && !(dp->flags & FLAG_LEFT)) { + size_t n = width - characters; + ENSURE_ALLOCATION(xsum(length, n)); + DCHAR_SET(result + length, ' ', n); + length += n; + } # if DCHAR_IS_UINT8_T - { - size_t n = arg_end - arg; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_CPY (result + length, arg, n); - length += n; - } + { + size_t n = arg_end - arg; + ENSURE_ALLOCATION(xsum(length, n)); + DCHAR_CPY(result + length, arg, n); + length += n; + } # else - { /* Convert. */ - DCHAR_T *converted = result + length; - size_t converted_len = allocated - length; + { + /* Convert. */ + DCHAR_T *converted = result + length; + size_t converted_len = allocated - length; # if DCHAR_IS_TCHAR - /* Convert from UTF-8 to locale encoding. */ - if (u8_conv_to_encoding (locale_charset (), - iconveh_question_mark, - arg, arg_end - arg, NULL, - &converted, &converted_len) - < 0) + /* Convert from UTF-8 to locale encoding. */ + if (u8_conv_to_encoding(locale_charset(), + iconveh_question_mark, + arg, arg_end - arg, NULL, + &converted, &converted_len) + < 0) # else - /* Convert from UTF-8 to UTF-16/UTF-32. */ - converted = - U8_TO_DCHAR (arg, arg_end - arg, - converted, &converted_len); - if (converted == NULL) + /* Convert from UTF-8 to UTF-16/UTF-32. */ + converted = + U8_TO_DCHAR(arg, arg_end - arg, + converted, &converted_len); + if (converted == NULL) # endif - { - int saved_errno = errno; - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = saved_errno; - return NULL; - } - if (converted != result + length) - { - ENSURE_ALLOCATION (xsum (length, converted_len)); - DCHAR_CPY (result + length, converted, converted_len); - free (converted); - } - length += converted_len; - } -# endif - - if (has_width && width > characters - && (dp->flags & FLAG_LEFT)) - { - size_t n = width - characters; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_SET (result + length, ' ', n); - length += n; - } - } - break; - - case TYPE_U16_STRING: - { - const uint16_t *arg = a.arg[dp->arg_index].a.a_u16_string; - const uint16_t *arg_end; - size_t characters; - - if (has_precision) - { - /* Use only PRECISION characters, from the left. */ - arg_end = arg; - characters = 0; - for (; precision > 0; precision--) - { - int count = u16_strmblen (arg_end); - if (count == 0) - break; - if (count < 0) - { - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = EILSEQ; - return NULL; - } - arg_end += count; - characters++; - } - } - else if (has_width) - { - /* Use the entire string, and count the number of - characters. */ - arg_end = arg; - characters = 0; - for (;;) - { - int count = u16_strmblen (arg_end); - if (count == 0) - break; - if (count < 0) - { - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = EILSEQ; - return NULL; - } - arg_end += count; - characters++; - } - } - else - { - /* Use the entire string. */ - arg_end = arg + u16_strlen (arg); - /* The number of characters doesn't matter. */ - characters = 0; - } - - if (has_width && width > characters - && !(dp->flags & FLAG_LEFT)) - { - size_t n = width - characters; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_SET (result + length, ' ', n); - length += n; - } + { + int saved_errno = errno; + if (!(result == resultbuf || result == NULL)) + free(result); + if (buf_malloced != NULL) + free(buf_malloced); + CLEANUP(); + errno = saved_errno; + return NULL; + } + if (converted != result + length) { + ENSURE_ALLOCATION(xsum(length, converted_len)); + DCHAR_CPY(result + length, converted, converted_len); + free(converted); + } + length += converted_len; + } +# endif + + if (has_width && width > characters + && (dp->flags & FLAG_LEFT)) { + size_t n = width - characters; + ENSURE_ALLOCATION(xsum(length, n)); + DCHAR_SET(result + length, ' ', n); + length += n; + } + } + break; + + case TYPE_U16_STRING: { + const uint16_t *arg = a.arg[dp->arg_index].a.a_u16_string; + const uint16_t *arg_end; + size_t characters; + + if (has_precision) { + /* Use only PRECISION characters, from the left. */ + arg_end = arg; + characters = 0; + for (; precision > 0; precision--) { + int count = u16_strmblen(arg_end); + if (count == 0) + break; + if (count < 0) { + if (!(result == resultbuf || result == NULL)) + free(result); + if (buf_malloced != NULL) + free(buf_malloced); + CLEANUP(); + errno = EILSEQ; + return NULL; + } + arg_end += count; + characters++; + } + } else if (has_width) { + /* Use the entire string, and count the number of + characters. */ + arg_end = arg; + characters = 0; + for (;;) { + int count = u16_strmblen(arg_end); + if (count == 0) + break; + if (count < 0) { + if (!(result == resultbuf || result == NULL)) + free(result); + if (buf_malloced != NULL) + free(buf_malloced); + CLEANUP(); + errno = EILSEQ; + return NULL; + } + arg_end += count; + characters++; + } + } else { + /* Use the entire string. */ + arg_end = arg + u16_strlen(arg); + /* The number of characters doesn't matter. */ + characters = 0; + } + + if (has_width && width > characters + && !(dp->flags & FLAG_LEFT)) { + size_t n = width - characters; + ENSURE_ALLOCATION(xsum(length, n)); + DCHAR_SET(result + length, ' ', n); + length += n; + } # if DCHAR_IS_UINT16_T - { - size_t n = arg_end - arg; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_CPY (result + length, arg, n); - length += n; - } + { + size_t n = arg_end - arg; + ENSURE_ALLOCATION(xsum(length, n)); + DCHAR_CPY(result + length, arg, n); + length += n; + } # else - { /* Convert. */ - DCHAR_T *converted = result + length; - size_t converted_len = allocated - length; + { + /* Convert. */ + DCHAR_T *converted = result + length; + size_t converted_len = allocated - length; # if DCHAR_IS_TCHAR - /* Convert from UTF-16 to locale encoding. */ - if (u16_conv_to_encoding (locale_charset (), - iconveh_question_mark, - arg, arg_end - arg, NULL, - &converted, &converted_len) - < 0) + /* Convert from UTF-16 to locale encoding. */ + if (u16_conv_to_encoding(locale_charset(), + iconveh_question_mark, + arg, arg_end - arg, NULL, + &converted, &converted_len) + < 0) # else - /* Convert from UTF-16 to UTF-8/UTF-32. */ - converted = - U16_TO_DCHAR (arg, arg_end - arg, - converted, &converted_len); - if (converted == NULL) + /* Convert from UTF-16 to UTF-8/UTF-32. */ + converted = + U16_TO_DCHAR(arg, arg_end - arg, + converted, &converted_len); + if (converted == NULL) # endif - { - int saved_errno = errno; - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = saved_errno; - return NULL; - } - if (converted != result + length) - { - ENSURE_ALLOCATION (xsum (length, converted_len)); - DCHAR_CPY (result + length, converted, converted_len); - free (converted); - } - length += converted_len; - } -# endif - - if (has_width && width > characters - && (dp->flags & FLAG_LEFT)) - { - size_t n = width - characters; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_SET (result + length, ' ', n); - length += n; - } - } - break; - - case TYPE_U32_STRING: - { - const uint32_t *arg = a.arg[dp->arg_index].a.a_u32_string; - const uint32_t *arg_end; - size_t characters; - - if (has_precision) - { - /* Use only PRECISION characters, from the left. */ - arg_end = arg; - characters = 0; - for (; precision > 0; precision--) - { - int count = u32_strmblen (arg_end); - if (count == 0) - break; - if (count < 0) - { - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = EILSEQ; - return NULL; - } - arg_end += count; - characters++; - } - } - else if (has_width) - { - /* Use the entire string, and count the number of - characters. */ - arg_end = arg; - characters = 0; - for (;;) - { - int count = u32_strmblen (arg_end); - if (count == 0) - break; - if (count < 0) - { - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = EILSEQ; - return NULL; - } - arg_end += count; - characters++; - } - } - else - { - /* Use the entire string. */ - arg_end = arg + u32_strlen (arg); - /* The number of characters doesn't matter. */ - characters = 0; - } - - if (has_width && width > characters - && !(dp->flags & FLAG_LEFT)) - { - size_t n = width - characters; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_SET (result + length, ' ', n); - length += n; - } + { + int saved_errno = errno; + if (!(result == resultbuf || result == NULL)) + free(result); + if (buf_malloced != NULL) + free(buf_malloced); + CLEANUP(); + errno = saved_errno; + return NULL; + } + if (converted != result + length) { + ENSURE_ALLOCATION(xsum(length, converted_len)); + DCHAR_CPY(result + length, converted, converted_len); + free(converted); + } + length += converted_len; + } +# endif + + if (has_width && width > characters + && (dp->flags & FLAG_LEFT)) { + size_t n = width - characters; + ENSURE_ALLOCATION(xsum(length, n)); + DCHAR_SET(result + length, ' ', n); + length += n; + } + } + break; + + case TYPE_U32_STRING: { + const uint32_t *arg = a.arg[dp->arg_index].a.a_u32_string; + const uint32_t *arg_end; + size_t characters; + + if (has_precision) { + /* Use only PRECISION characters, from the left. */ + arg_end = arg; + characters = 0; + for (; precision > 0; precision--) { + int count = u32_strmblen(arg_end); + if (count == 0) + break; + if (count < 0) { + if (!(result == resultbuf || result == NULL)) + free(result); + if (buf_malloced != NULL) + free(buf_malloced); + CLEANUP(); + errno = EILSEQ; + return NULL; + } + arg_end += count; + characters++; + } + } else if (has_width) { + /* Use the entire string, and count the number of + characters. */ + arg_end = arg; + characters = 0; + for (;;) { + int count = u32_strmblen(arg_end); + if (count == 0) + break; + if (count < 0) { + if (!(result == resultbuf || result == NULL)) + free(result); + if (buf_malloced != NULL) + free(buf_malloced); + CLEANUP(); + errno = EILSEQ; + return NULL; + } + arg_end += count; + characters++; + } + } else { + /* Use the entire string. */ + arg_end = arg + u32_strlen(arg); + /* The number of characters doesn't matter. */ + characters = 0; + } + + if (has_width && width > characters + && !(dp->flags & FLAG_LEFT)) { + size_t n = width - characters; + ENSURE_ALLOCATION(xsum(length, n)); + DCHAR_SET(result + length, ' ', n); + length += n; + } # if DCHAR_IS_UINT32_T - { - size_t n = arg_end - arg; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_CPY (result + length, arg, n); - length += n; - } + { + size_t n = arg_end - arg; + ENSURE_ALLOCATION(xsum(length, n)); + DCHAR_CPY(result + length, arg, n); + length += n; + } # else - { /* Convert. */ - DCHAR_T *converted = result + length; - size_t converted_len = allocated - length; + { + /* Convert. */ + DCHAR_T *converted = result + length; + size_t converted_len = allocated - length; # if DCHAR_IS_TCHAR - /* Convert from UTF-32 to locale encoding. */ - if (u32_conv_to_encoding (locale_charset (), - iconveh_question_mark, - arg, arg_end - arg, NULL, - &converted, &converted_len) - < 0) + /* Convert from UTF-32 to locale encoding. */ + if (u32_conv_to_encoding(locale_charset(), + iconveh_question_mark, + arg, arg_end - arg, NULL, + &converted, &converted_len) + < 0) # else - /* Convert from UTF-32 to UTF-8/UTF-16. */ - converted = - U32_TO_DCHAR (arg, arg_end - arg, - converted, &converted_len); - if (converted == NULL) + /* Convert from UTF-32 to UTF-8/UTF-16. */ + converted = + U32_TO_DCHAR(arg, arg_end - arg, + converted, &converted_len); + if (converted == NULL) # endif - { - int saved_errno = errno; - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = saved_errno; - return NULL; - } - if (converted != result + length) - { - ENSURE_ALLOCATION (xsum (length, converted_len)); - DCHAR_CPY (result + length, converted, converted_len); - free (converted); - } - length += converted_len; - } -# endif - - if (has_width && width > characters - && (dp->flags & FLAG_LEFT)) - { - size_t n = width - characters; - ENSURE_ALLOCATION (xsum (length, n)); - DCHAR_SET (result + length, ' ', n); - length += n; - } - } - break; - - default: - abort (); - } - } + { + int saved_errno = errno; + if (!(result == resultbuf || result == NULL)) + free(result); + if (buf_malloced != NULL) + free(buf_malloced); + CLEANUP(); + errno = saved_errno; + return NULL; + } + if (converted != result + length) { + ENSURE_ALLOCATION(xsum(length, converted_len)); + DCHAR_CPY(result + length, converted, converted_len); + free(converted); + } + length += converted_len; + } +# endif + + if (has_width && width > characters + && (dp->flags & FLAG_LEFT)) { + size_t n = width - characters; + ENSURE_ALLOCATION(xsum(length, n)); + DCHAR_SET(result + length, ' ', n); + length += n; + } + } + break; + + default: + abort(); + } + } #endif #if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL - else if ((dp->conversion == 'a' || dp->conversion == 'A') + else if ((dp->conversion == 'a' || dp->conversion == 'A') # if !(NEED_PRINTF_DIRECTIVE_A || (NEED_PRINTF_LONG_DOUBLE && NEED_PRINTF_DOUBLE)) - && (0 + && (0 # if NEED_PRINTF_DOUBLE - || a.arg[dp->arg_index].type == TYPE_DOUBLE + || a.arg[dp->arg_index].type == TYPE_DOUBLE # endif # if NEED_PRINTF_LONG_DOUBLE - || a.arg[dp->arg_index].type == TYPE_LONGDOUBLE + || a.arg[dp->arg_index].type == TYPE_LONGDOUBLE # endif - ) + ) # endif - ) - { - arg_type type = a.arg[dp->arg_index].type; - int flags = dp->flags; - int has_width; - size_t width; - int has_precision; - size_t precision; - size_t tmp_length; - DCHAR_T tmpbuf[700]; - DCHAR_T *tmp; - DCHAR_T *pad_ptr; - DCHAR_T *p; - - has_width = 0; - width = 0; - if (dp->width_start != dp->width_end) - { - if (dp->width_arg_index != ARG_NONE) - { - int arg; - - if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) - abort (); - arg = a.arg[dp->width_arg_index].a.a_int; - if (arg < 0) - { - /* "A negative field width is taken as a '-' flag - followed by a positive field width." */ - flags |= FLAG_LEFT; - width = (unsigned int) (-arg); - } - else - width = arg; - } - else - { - const FCHAR_T *digitp = dp->width_start; - - do - width = xsum (xtimes (width, 10), *digitp++ - '0'); - while (digitp != dp->width_end); - } - has_width = 1; - } - - has_precision = 0; - precision = 0; - if (dp->precision_start != dp->precision_end) - { - if (dp->precision_arg_index != ARG_NONE) - { - int arg; - - if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) - abort (); - arg = a.arg[dp->precision_arg_index].a.a_int; - /* "A negative precision is taken as if the precision - were omitted." */ - if (arg >= 0) - { - precision = arg; - has_precision = 1; - } - } - else - { - const FCHAR_T *digitp = dp->precision_start + 1; - - precision = 0; - while (digitp != dp->precision_end) - precision = xsum (xtimes (precision, 10), *digitp++ - '0'); - has_precision = 1; - } - } - - /* Allocate a temporary buffer of sufficient size. */ - if (type == TYPE_LONGDOUBLE) - tmp_length = - (unsigned int) ((LDBL_DIG + 1) - * 0.831 /* decimal -> hexadecimal */ - ) - + 1; /* turn floor into ceil */ - else - tmp_length = - (unsigned int) ((DBL_DIG + 1) - * 0.831 /* decimal -> hexadecimal */ - ) - + 1; /* turn floor into ceil */ - if (tmp_length < precision) - tmp_length = precision; - /* Account for sign, decimal point etc. */ - tmp_length = xsum (tmp_length, 12); - - if (tmp_length < width) - tmp_length = width; - - tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */ - - if (tmp_length <= sizeof (tmpbuf) / sizeof (DCHAR_T)) - tmp = tmpbuf; - else - { - size_t tmp_memsize = xtimes (tmp_length, sizeof (DCHAR_T)); - - if (size_overflow_p (tmp_memsize)) - /* Overflow, would lead to out of memory. */ - goto out_of_memory; - tmp = (DCHAR_T *) malloc (tmp_memsize); - if (tmp == NULL) - /* Out of memory. */ - goto out_of_memory; - } - - pad_ptr = NULL; - p = tmp; - if (type == TYPE_LONGDOUBLE) - { + ) { + arg_type type = a.arg[dp->arg_index].type; + int flags = dp->flags; + int has_width; + size_t width; + int has_precision; + size_t precision; + size_t tmp_length; + DCHAR_T tmpbuf[700]; + DCHAR_T *tmp; + DCHAR_T *pad_ptr; + DCHAR_T *p; + + has_width = 0; + width = 0; + if (dp->width_start != dp->width_end) { + if (dp->width_arg_index != ARG_NONE) { + int arg; + + if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) + abort(); + arg = a.arg[dp->width_arg_index].a.a_int; + if (arg < 0) { + /* "A negative field width is taken as a '-' flag + followed by a positive field width." */ + flags |= FLAG_LEFT; + width = (unsigned int)(-arg); + } else + width = arg; + } else { + const FCHAR_T *digitp = dp->width_start; + + do + width = xsum(xtimes(width, 10), *digitp++ - '0'); + while (digitp != dp->width_end); + } + has_width = 1; + } + + has_precision = 0; + precision = 0; + if (dp->precision_start != dp->precision_end) { + if (dp->precision_arg_index != ARG_NONE) { + int arg; + + if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) + abort(); + arg = a.arg[dp->precision_arg_index].a.a_int; + /* "A negative precision is taken as if the precision + were omitted." */ + if (arg >= 0) { + precision = arg; + has_precision = 1; + } + } else { + const FCHAR_T *digitp = dp->precision_start + 1; + + precision = 0; + while (digitp != dp->precision_end) + precision = xsum(xtimes(precision, 10), *digitp++ - '0'); + has_precision = 1; + } + } + + /* Allocate a temporary buffer of sufficient size. */ + if (type == TYPE_LONGDOUBLE) + tmp_length = + (unsigned int)((LDBL_DIG + 1) + * 0.831 /* decimal -> hexadecimal */ + ) + + 1; /* turn floor into ceil */ + else + tmp_length = + (unsigned int)((DBL_DIG + 1) + * 0.831 /* decimal -> hexadecimal */ + ) + + 1; /* turn floor into ceil */ + if (tmp_length < precision) + tmp_length = precision; + /* Account for sign, decimal point etc. */ + tmp_length = xsum(tmp_length, 12); + + if (tmp_length < width) + tmp_length = width; + + tmp_length = xsum(tmp_length, 1); /* account for trailing NUL */ + + if (tmp_length <= sizeof(tmpbuf) / sizeof(DCHAR_T)) + tmp = tmpbuf; + else { + size_t tmp_memsize = xtimes(tmp_length, sizeof(DCHAR_T)); + + if (size_overflow_p(tmp_memsize)) + /* Overflow, would lead to out of memory. */ + goto out_of_memory; + tmp = (DCHAR_T *) malloc(tmp_memsize); + if (tmp == NULL) + /* Out of memory. */ + goto out_of_memory; + } + + pad_ptr = NULL; + p = tmp; + if (type == TYPE_LONGDOUBLE) { # if NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE - long double arg = a.arg[dp->arg_index].a.a_longdouble; + long double arg = a.arg[dp->arg_index].a.a_longdouble; - if (isnanl (arg)) - { - if (dp->conversion == 'A') - { - *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; - } - else - { - *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; - } - } - else - { - int sign = 0; - DECL_LONG_DOUBLE_ROUNDING - - BEGIN_LONG_DOUBLE_ROUNDING (); - - if (signbit (arg)) /* arg < 0.0L or negative zero */ - { - sign = -1; - arg = -arg; - } - - if (sign < 0) - *p++ = '-'; - else if (flags & FLAG_SHOWSIGN) - *p++ = '+'; - else if (flags & FLAG_SPACE) - *p++ = ' '; - - if (arg > 0.0L && arg + arg == arg) - { - if (dp->conversion == 'A') - { - *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; - } - else - { - *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; - } - } - else - { - int exponent; - long double mantissa; - - if (arg > 0.0L) - mantissa = printf_frexpl (arg, &exponent); - else - { - exponent = 0; - mantissa = 0.0L; - } - - if (has_precision - && precision < (unsigned int) ((LDBL_DIG + 1) * 0.831) + 1) - { - /* Round the mantissa. */ - long double tail = mantissa; - size_t q; - - for (q = precision; ; q--) - { - int digit = (int) tail; - tail -= digit; - if (q == 0) - { - if (digit & 1 ? tail >= 0.5L : tail > 0.5L) - tail = 1 - tail; - else - tail = - tail; - break; - } - tail *= 16.0L; - } - if (tail != 0.0L) - for (q = precision; q > 0; q--) - tail *= 0.0625L; - mantissa += tail; - } - - *p++ = '0'; - *p++ = dp->conversion - 'A' + 'X'; - pad_ptr = p; - { - int digit; - - digit = (int) mantissa; - mantissa -= digit; - *p++ = '0' + digit; - if ((flags & FLAG_ALT) - || mantissa > 0.0L || precision > 0) - { - *p++ = decimal_point_char (); - /* This loop terminates because we assume - that FLT_RADIX is a power of 2. */ - while (mantissa > 0.0L) - { - mantissa *= 16.0L; - digit = (int) mantissa; - mantissa -= digit; - *p++ = digit - + (digit < 10 - ? '0' - : dp->conversion - 10); - if (precision > 0) - precision--; - } - while (precision > 0) - { - *p++ = '0'; - precision--; - } - } - } - *p++ = dp->conversion - 'A' + 'P'; + if (isnanl(arg)) { + if (dp->conversion == 'A') { + *p++ = 'N'; + *p++ = 'A'; + *p++ = 'N'; + } else { + *p++ = 'n'; + *p++ = 'a'; + *p++ = 'n'; + } + } else { + int sign = 0; + DECL_LONG_DOUBLE_ROUNDING + + BEGIN_LONG_DOUBLE_ROUNDING(); + + if (signbit(arg)) { /* arg < 0.0L or negative zero */ + sign = -1; + arg = -arg; + } + + if (sign < 0) + *p++ = '-'; + else if (flags & FLAG_SHOWSIGN) + *p++ = '+'; + else if (flags & FLAG_SPACE) + *p++ = ' '; + + if (arg > 0.0L && arg + arg == arg) { + if (dp->conversion == 'A') { + *p++ = 'I'; + *p++ = 'N'; + *p++ = 'F'; + } else { + *p++ = 'i'; + *p++ = 'n'; + *p++ = 'f'; + } + } else { + int exponent; + long double mantissa; + + if (arg > 0.0L) + mantissa = printf_frexpl(arg, &exponent); + else { + exponent = 0; + mantissa = 0.0L; + } + + if (has_precision + && precision < (unsigned int)((LDBL_DIG + 1) * 0.831) + 1) { + /* Round the mantissa. */ + long double tail = mantissa; + size_t q; + + for (q = precision; ; q--) { + int digit = (int) tail; + tail -= digit; + if (q == 0) { + if (digit & 1 ? tail >= 0.5L : tail > 0.5L) + tail = 1 - tail; + else + tail = - tail; + break; + } + tail *= 16.0L; + } + if (tail != 0.0L) + for (q = precision; q > 0; q--) + tail *= 0.0625L; + mantissa += tail; + } + + *p++ = '0'; + *p++ = dp->conversion - 'A' + 'X'; + pad_ptr = p; + { + int digit; + + digit = (int) mantissa; + mantissa -= digit; + *p++ = '0' + digit; + if ((flags & FLAG_ALT) + || mantissa > 0.0L || precision > 0) { + *p++ = decimal_point_char(); + /* This loop terminates because we assume + that FLT_RADIX is a power of 2. */ + while (mantissa > 0.0L) { + mantissa *= 16.0L; + digit = (int) mantissa; + mantissa -= digit; + *p++ = digit + + (digit < 10 + ? '0' + : dp->conversion - 10); + if (precision > 0) + precision--; + } + while (precision > 0) { + *p++ = '0'; + precision--; + } + } + } + *p++ = dp->conversion - 'A' + 'P'; # if WIDE_CHAR_VERSION - { - static const wchar_t decimal_format[] = - { '%', '+', 'd', '\0' }; - SNPRINTF (p, 6 + 1, decimal_format, exponent); - } - while (*p != '\0') - p++; + { + static const wchar_t decimal_format[] = + { '%', '+', 'd', '\0' }; + SNPRINTF(p, 6 + 1, decimal_format, exponent); + } + while (*p != '\0') + p++; # else - if (sizeof (DCHAR_T) == 1) - { - sprintf ((char *) p, "%+d", exponent); - while (*p != '\0') - p++; - } - else - { - char expbuf[6 + 1]; - const char *ep; - sprintf (expbuf, "%+d", exponent); - for (ep = expbuf; (*p = *ep) != '\0'; ep++) - p++; - } + if (sizeof(DCHAR_T) == 1) { + sprintf((char *) p, "%+d", exponent); + while (*p != '\0') + p++; + } else { + char expbuf[6 + 1]; + const char *ep; + sprintf(expbuf, "%+d", exponent); + for (ep = expbuf; (*p = *ep) != '\0'; ep++) + p++; + } # endif - } + } - END_LONG_DOUBLE_ROUNDING (); - } + END_LONG_DOUBLE_ROUNDING(); + } # else - abort (); + abort(); # endif - } - else - { + } else { # if NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_DOUBLE - double arg = a.arg[dp->arg_index].a.a_double; + double arg = a.arg[dp->arg_index].a.a_double; - if (isnan (arg)) - { - if (dp->conversion == 'A') - { - *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; - } - else - { - *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; - } - } - else - { - int sign = 0; - - if (signbit (arg)) /* arg < 0.0 or negative zero */ - { - sign = -1; - arg = -arg; - } - - if (sign < 0) - *p++ = '-'; - else if (flags & FLAG_SHOWSIGN) - *p++ = '+'; - else if (flags & FLAG_SPACE) - *p++ = ' '; - - if (arg > 0.0 && arg + arg == arg) - { - if (dp->conversion == 'A') - { - *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; - } - else - { - *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; - } - } - else - { - int exponent; - double mantissa; - - if (arg > 0.0) - mantissa = printf_frexp (arg, &exponent); - else - { - exponent = 0; - mantissa = 0.0; - } - - if (has_precision - && precision < (unsigned int) ((DBL_DIG + 1) * 0.831) + 1) - { - /* Round the mantissa. */ - double tail = mantissa; - size_t q; - - for (q = precision; ; q--) - { - int digit = (int) tail; - tail -= digit; - if (q == 0) - { - if (digit & 1 ? tail >= 0.5 : tail > 0.5) - tail = 1 - tail; - else - tail = - tail; - break; - } - tail *= 16.0; - } - if (tail != 0.0) - for (q = precision; q > 0; q--) - tail *= 0.0625; - mantissa += tail; - } - - *p++ = '0'; - *p++ = dp->conversion - 'A' + 'X'; - pad_ptr = p; - { - int digit; - - digit = (int) mantissa; - mantissa -= digit; - *p++ = '0' + digit; - if ((flags & FLAG_ALT) - || mantissa > 0.0 || precision > 0) - { - *p++ = decimal_point_char (); - /* This loop terminates because we assume - that FLT_RADIX is a power of 2. */ - while (mantissa > 0.0) - { - mantissa *= 16.0; - digit = (int) mantissa; - mantissa -= digit; - *p++ = digit - + (digit < 10 - ? '0' - : dp->conversion - 10); - if (precision > 0) - precision--; - } - while (precision > 0) - { - *p++ = '0'; - precision--; - } - } - } - *p++ = dp->conversion - 'A' + 'P'; + if (isnan(arg)) { + if (dp->conversion == 'A') { + *p++ = 'N'; + *p++ = 'A'; + *p++ = 'N'; + } else { + *p++ = 'n'; + *p++ = 'a'; + *p++ = 'n'; + } + } else { + int sign = 0; + + if (signbit(arg)) { /* arg < 0.0 or negative zero */ + sign = -1; + arg = -arg; + } + + if (sign < 0) + *p++ = '-'; + else if (flags & FLAG_SHOWSIGN) + *p++ = '+'; + else if (flags & FLAG_SPACE) + *p++ = ' '; + + if (arg > 0.0 && arg + arg == arg) { + if (dp->conversion == 'A') { + *p++ = 'I'; + *p++ = 'N'; + *p++ = 'F'; + } else { + *p++ = 'i'; + *p++ = 'n'; + *p++ = 'f'; + } + } else { + int exponent; + double mantissa; + + if (arg > 0.0) + mantissa = printf_frexp(arg, &exponent); + else { + exponent = 0; + mantissa = 0.0; + } + + if (has_precision + && precision < (unsigned int)((DBL_DIG + 1) * 0.831) + 1) { + /* Round the mantissa. */ + double tail = mantissa; + size_t q; + + for (q = precision; ; q--) { + int digit = (int) tail; + tail -= digit; + if (q == 0) { + if (digit & 1 ? tail >= 0.5 : tail > 0.5) + tail = 1 - tail; + else + tail = - tail; + break; + } + tail *= 16.0; + } + if (tail != 0.0) + for (q = precision; q > 0; q--) + tail *= 0.0625; + mantissa += tail; + } + + *p++ = '0'; + *p++ = dp->conversion - 'A' + 'X'; + pad_ptr = p; + { + int digit; + + digit = (int) mantissa; + mantissa -= digit; + *p++ = '0' + digit; + if ((flags & FLAG_ALT) + || mantissa > 0.0 || precision > 0) { + *p++ = decimal_point_char(); + /* This loop terminates because we assume + that FLT_RADIX is a power of 2. */ + while (mantissa > 0.0) { + mantissa *= 16.0; + digit = (int) mantissa; + mantissa -= digit; + *p++ = digit + + (digit < 10 + ? '0' + : dp->conversion - 10); + if (precision > 0) + precision--; + } + while (precision > 0) { + *p++ = '0'; + precision--; + } + } + } + *p++ = dp->conversion - 'A' + 'P'; # if WIDE_CHAR_VERSION - { - static const wchar_t decimal_format[] = - { '%', '+', 'd', '\0' }; - SNPRINTF (p, 6 + 1, decimal_format, exponent); - } - while (*p != '\0') - p++; + { + static const wchar_t decimal_format[] = + { '%', '+', 'd', '\0' }; + SNPRINTF(p, 6 + 1, decimal_format, exponent); + } + while (*p != '\0') + p++; # else - if (sizeof (DCHAR_T) == 1) - { - sprintf ((char *) p, "%+d", exponent); - while (*p != '\0') - p++; - } - else - { - char expbuf[6 + 1]; - const char *ep; - sprintf (expbuf, "%+d", exponent); - for (ep = expbuf; (*p = *ep) != '\0'; ep++) - p++; - } + if (sizeof(DCHAR_T) == 1) { + sprintf((char *) p, "%+d", exponent); + while (*p != '\0') + p++; + } else { + char expbuf[6 + 1]; + const char *ep; + sprintf(expbuf, "%+d", exponent); + for (ep = expbuf; (*p = *ep) != '\0'; ep++) + p++; + } # endif - } - } + } + } # else - abort (); + abort(); # endif - } - /* The generated string now extends from tmp to p, with the - zero padding insertion point being at pad_ptr. */ - if (has_width && p - tmp < width) - { - size_t pad = width - (p - tmp); - DCHAR_T *end = p + pad; - - if (flags & FLAG_LEFT) - { - /* Pad with spaces on the right. */ - for (; pad > 0; pad--) - *p++ = ' '; - } - else if ((flags & FLAG_ZERO) && pad_ptr != NULL) - { - /* Pad with zeroes. */ - DCHAR_T *q = end; - - while (p > pad_ptr) - *--q = *--p; - for (; pad > 0; pad--) - *p++ = '0'; - } - else - { - /* Pad with spaces on the left. */ - DCHAR_T *q = end; - - while (p > tmp) - *--q = *--p; - for (; pad > 0; pad--) - *p++ = ' '; - } - - p = end; - } - - { - size_t count = p - tmp; - - if (count >= tmp_length) - /* tmp_length was incorrectly calculated - fix the - code above! */ - abort (); - - /* Make room for the result. */ - if (count >= allocated - length) - { - size_t n = xsum (length, count); - - ENSURE_ALLOCATION (n); - } - - /* Append the result. */ - memcpy (result + length, tmp, count * sizeof (DCHAR_T)); - if (tmp != tmpbuf) - free (tmp); - length += count; - } - } + } + /* The generated string now extends from tmp to p, with the + zero padding insertion point being at pad_ptr. */ + if (has_width && p - tmp < width) { + size_t pad = width - (p - tmp); + DCHAR_T *end = p + pad; + + if (flags & FLAG_LEFT) { + /* Pad with spaces on the right. */ + for (; pad > 0; pad--) + *p++ = ' '; + } else if ((flags & FLAG_ZERO) && pad_ptr != NULL) { + /* Pad with zeroes. */ + DCHAR_T *q = end; + + while (p > pad_ptr) + *--q = *--p; + for (; pad > 0; pad--) + *p++ = '0'; + } else { + /* Pad with spaces on the left. */ + DCHAR_T *q = end; + + while (p > tmp) + *--q = *--p; + for (; pad > 0; pad--) + *p++ = ' '; + } + + p = end; + } + + { + size_t count = p - tmp; + + if (count >= tmp_length) + /* tmp_length was incorrectly calculated - fix the + code above! */ + abort(); + + /* Make room for the result. */ + if (count >= allocated - length) { + size_t n = xsum(length, count); + + ENSURE_ALLOCATION(n); + } + + /* Append the result. */ + memcpy(result + length, tmp, count * sizeof(DCHAR_T)); + if (tmp != tmpbuf) + free(tmp); + length += count; + } + } #endif #if (NEED_PRINTF_INFINITE_DOUBLE || NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL - else if ((dp->conversion == 'f' || dp->conversion == 'F' - || dp->conversion == 'e' || dp->conversion == 'E' - || dp->conversion == 'g' || dp->conversion == 'G' - || dp->conversion == 'a' || dp->conversion == 'A') - && (0 + else if ((dp->conversion == 'f' || dp->conversion == 'F' + || dp->conversion == 'e' || dp->conversion == 'E' + || dp->conversion == 'g' || dp->conversion == 'G' + || dp->conversion == 'a' || dp->conversion == 'A') + && (0 # if NEED_PRINTF_DOUBLE - || a.arg[dp->arg_index].type == TYPE_DOUBLE + || a.arg[dp->arg_index].type == TYPE_DOUBLE # elif NEED_PRINTF_INFINITE_DOUBLE - || (a.arg[dp->arg_index].type == TYPE_DOUBLE - /* The systems (mingw) which produce wrong output - for Inf, -Inf, and NaN also do so for -0.0. - Therefore we treat this case here as well. */ - && is_infinite_or_zero (a.arg[dp->arg_index].a.a_double)) + || (a.arg[dp->arg_index].type == TYPE_DOUBLE + /* The systems (mingw) which produce wrong output + for Inf, -Inf, and NaN also do so for -0.0. + Therefore we treat this case here as well. */ + && is_infinite_or_zero(a.arg[dp->arg_index].a.a_double)) # endif # if NEED_PRINTF_LONG_DOUBLE - || a.arg[dp->arg_index].type == TYPE_LONGDOUBLE + || a.arg[dp->arg_index].type == TYPE_LONGDOUBLE # elif NEED_PRINTF_INFINITE_LONG_DOUBLE - || (a.arg[dp->arg_index].type == TYPE_LONGDOUBLE - /* Some systems produce wrong output for Inf, - -Inf, and NaN. */ - && is_infinitel (a.arg[dp->arg_index].a.a_longdouble)) + || (a.arg[dp->arg_index].type == TYPE_LONGDOUBLE + /* Some systems produce wrong output for Inf, + -Inf, and NaN. */ + && is_infinitel(a.arg[dp->arg_index].a.a_longdouble)) # endif - )) - { + )) { # if (NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE) - arg_type type = a.arg[dp->arg_index].type; + arg_type type = a.arg[dp->arg_index].type; # endif - int flags = dp->flags; - int has_width; - size_t width; - int has_precision; - size_t precision; - size_t tmp_length; - DCHAR_T tmpbuf[700]; - DCHAR_T *tmp; - DCHAR_T *pad_ptr; - DCHAR_T *p; - - has_width = 0; - width = 0; - if (dp->width_start != dp->width_end) - { - if (dp->width_arg_index != ARG_NONE) - { - int arg; - - if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) - abort (); - arg = a.arg[dp->width_arg_index].a.a_int; - if (arg < 0) - { - /* "A negative field width is taken as a '-' flag - followed by a positive field width." */ - flags |= FLAG_LEFT; - width = (unsigned int) (-arg); - } - else - width = arg; - } - else - { - const FCHAR_T *digitp = dp->width_start; - - do - width = xsum (xtimes (width, 10), *digitp++ - '0'); - while (digitp != dp->width_end); - } - has_width = 1; - } - - has_precision = 0; - precision = 0; - if (dp->precision_start != dp->precision_end) - { - if (dp->precision_arg_index != ARG_NONE) - { - int arg; - - if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) - abort (); - arg = a.arg[dp->precision_arg_index].a.a_int; - /* "A negative precision is taken as if the precision - were omitted." */ - if (arg >= 0) - { - precision = arg; - has_precision = 1; - } - } - else - { - const FCHAR_T *digitp = dp->precision_start + 1; - - precision = 0; - while (digitp != dp->precision_end) - precision = xsum (xtimes (precision, 10), *digitp++ - '0'); - has_precision = 1; - } - } - - /* POSIX specifies the default precision to be 6 for %f, %F, - %e, %E, but not for %g, %G. Implementations appear to use - the same default precision also for %g, %G. */ - if (!has_precision) - precision = 6; + int flags = dp->flags; + int has_width; + size_t width; + int has_precision; + size_t precision; + size_t tmp_length; + DCHAR_T tmpbuf[700]; + DCHAR_T *tmp; + DCHAR_T *pad_ptr; + DCHAR_T *p; + + has_width = 0; + width = 0; + if (dp->width_start != dp->width_end) { + if (dp->width_arg_index != ARG_NONE) { + int arg; + + if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) + abort(); + arg = a.arg[dp->width_arg_index].a.a_int; + if (arg < 0) { + /* "A negative field width is taken as a '-' flag + followed by a positive field width." */ + flags |= FLAG_LEFT; + width = (unsigned int)(-arg); + } else + width = arg; + } else { + const FCHAR_T *digitp = dp->width_start; + + do + width = xsum(xtimes(width, 10), *digitp++ - '0'); + while (digitp != dp->width_end); + } + has_width = 1; + } + + has_precision = 0; + precision = 0; + if (dp->precision_start != dp->precision_end) { + if (dp->precision_arg_index != ARG_NONE) { + int arg; + + if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) + abort(); + arg = a.arg[dp->precision_arg_index].a.a_int; + /* "A negative precision is taken as if the precision + were omitted." */ + if (arg >= 0) { + precision = arg; + has_precision = 1; + } + } else { + const FCHAR_T *digitp = dp->precision_start + 1; + + precision = 0; + while (digitp != dp->precision_end) + precision = xsum(xtimes(precision, 10), *digitp++ - '0'); + has_precision = 1; + } + } + + /* POSIX specifies the default precision to be 6 for %f, %F, + %e, %E, but not for %g, %G. Implementations appear to use + the same default precision also for %g, %G. */ + if (!has_precision) + precision = 6; - /* Allocate a temporary buffer of sufficient size. */ + /* Allocate a temporary buffer of sufficient size. */ # if NEED_PRINTF_DOUBLE && NEED_PRINTF_LONG_DOUBLE - tmp_length = (type == TYPE_LONGDOUBLE ? LDBL_DIG + 1 : DBL_DIG + 1); + tmp_length = (type == TYPE_LONGDOUBLE ? LDBL_DIG + 1 : DBL_DIG + 1); # elif NEED_PRINTF_INFINITE_DOUBLE && NEED_PRINTF_LONG_DOUBLE - tmp_length = (type == TYPE_LONGDOUBLE ? LDBL_DIG + 1 : 0); + tmp_length = (type == TYPE_LONGDOUBLE ? LDBL_DIG + 1 : 0); # elif NEED_PRINTF_LONG_DOUBLE - tmp_length = LDBL_DIG + 1; + tmp_length = LDBL_DIG + 1; # elif NEED_PRINTF_DOUBLE - tmp_length = DBL_DIG + 1; + tmp_length = DBL_DIG + 1; # else - tmp_length = 0; + tmp_length = 0; # endif - if (tmp_length < precision) - tmp_length = precision; + if (tmp_length < precision) + tmp_length = precision; # if NEED_PRINTF_LONG_DOUBLE # if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE - if (type == TYPE_LONGDOUBLE) + if (type == TYPE_LONGDOUBLE) # endif - if (dp->conversion == 'f' || dp->conversion == 'F') - { - long double arg = a.arg[dp->arg_index].a.a_longdouble; - if (!(isnanl (arg) || arg + arg == arg)) - { - /* arg is finite and nonzero. */ - int exponent = floorlog10l (arg < 0 ? -arg : arg); - if (exponent >= 0 && tmp_length < exponent + precision) - tmp_length = exponent + precision; - } - } + if (dp->conversion == 'f' || dp->conversion == 'F') { + long double arg = a.arg[dp->arg_index].a.a_longdouble; + if (!(isnanl(arg) || arg + arg == arg)) { + /* arg is finite and nonzero. */ + int exponent = floorlog10l(arg < 0 ? -arg : arg); + if (exponent >= 0 && tmp_length < exponent + precision) + tmp_length = exponent + precision; + } + } # endif # if NEED_PRINTF_DOUBLE # if NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE - if (type == TYPE_DOUBLE) + if (type == TYPE_DOUBLE) # endif - if (dp->conversion == 'f' || dp->conversion == 'F') - { - double arg = a.arg[dp->arg_index].a.a_double; - if (!(isnan (arg) || arg + arg == arg)) - { - /* arg is finite and nonzero. */ - int exponent = floorlog10 (arg < 0 ? -arg : arg); - if (exponent >= 0 && tmp_length < exponent + precision) - tmp_length = exponent + precision; - } - } -# endif - /* Account for sign, decimal point etc. */ - tmp_length = xsum (tmp_length, 12); - - if (tmp_length < width) - tmp_length = width; - - tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */ - - if (tmp_length <= sizeof (tmpbuf) / sizeof (DCHAR_T)) - tmp = tmpbuf; - else - { - size_t tmp_memsize = xtimes (tmp_length, sizeof (DCHAR_T)); - - if (size_overflow_p (tmp_memsize)) - /* Overflow, would lead to out of memory. */ - goto out_of_memory; - tmp = (DCHAR_T *) malloc (tmp_memsize); - if (tmp == NULL) - /* Out of memory. */ - goto out_of_memory; - } + if (dp->conversion == 'f' || dp->conversion == 'F') { + double arg = a.arg[dp->arg_index].a.a_double; + if (!(isnan(arg) || arg + arg == arg)) { + /* arg is finite and nonzero. */ + int exponent = floorlog10(arg < 0 ? -arg : arg); + if (exponent >= 0 && tmp_length < exponent + precision) + tmp_length = exponent + precision; + } + } +# endif + /* Account for sign, decimal point etc. */ + tmp_length = xsum(tmp_length, 12); + + if (tmp_length < width) + tmp_length = width; + + tmp_length = xsum(tmp_length, 1); /* account for trailing NUL */ + + if (tmp_length <= sizeof(tmpbuf) / sizeof(DCHAR_T)) + tmp = tmpbuf; + else { + size_t tmp_memsize = xtimes(tmp_length, sizeof(DCHAR_T)); + + if (size_overflow_p(tmp_memsize)) + /* Overflow, would lead to out of memory. */ + goto out_of_memory; + tmp = (DCHAR_T *) malloc(tmp_memsize); + if (tmp == NULL) + /* Out of memory. */ + goto out_of_memory; + } - pad_ptr = NULL; - p = tmp; + pad_ptr = NULL; + p = tmp; # if NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE # if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE - if (type == TYPE_LONGDOUBLE) + if (type == TYPE_LONGDOUBLE) # endif - { - long double arg = a.arg[dp->arg_index].a.a_longdouble; + { + long double arg = a.arg[dp->arg_index].a.a_longdouble; - if (isnanl (arg)) - { - if (dp->conversion >= 'A' && dp->conversion <= 'Z') - { - *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; - } - else - { - *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; - } - } - else - { - int sign = 0; - DECL_LONG_DOUBLE_ROUNDING - - BEGIN_LONG_DOUBLE_ROUNDING (); - - if (signbit (arg)) /* arg < 0.0L or negative zero */ - { - sign = -1; - arg = -arg; - } - - if (sign < 0) - *p++ = '-'; - else if (flags & FLAG_SHOWSIGN) - *p++ = '+'; - else if (flags & FLAG_SPACE) - *p++ = ' '; - - if (arg > 0.0L && arg + arg == arg) - { - if (dp->conversion >= 'A' && dp->conversion <= 'Z') - { - *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; - } - else - { - *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; - } - } - else - { + if (isnanl(arg)) { + if (dp->conversion >= 'A' && dp->conversion <= 'Z') { + *p++ = 'N'; + *p++ = 'A'; + *p++ = 'N'; + } else { + *p++ = 'n'; + *p++ = 'a'; + *p++ = 'n'; + } + } else { + int sign = 0; + DECL_LONG_DOUBLE_ROUNDING + + BEGIN_LONG_DOUBLE_ROUNDING(); + + if (signbit(arg)) { /* arg < 0.0L or negative zero */ + sign = -1; + arg = -arg; + } + + if (sign < 0) + *p++ = '-'; + else if (flags & FLAG_SHOWSIGN) + *p++ = '+'; + else if (flags & FLAG_SPACE) + *p++ = ' '; + + if (arg > 0.0L && arg + arg == arg) { + if (dp->conversion >= 'A' && dp->conversion <= 'Z') { + *p++ = 'I'; + *p++ = 'N'; + *p++ = 'F'; + } else { + *p++ = 'i'; + *p++ = 'n'; + *p++ = 'f'; + } + } else { # if NEED_PRINTF_LONG_DOUBLE - pad_ptr = p; + pad_ptr = p; - if (dp->conversion == 'f' || dp->conversion == 'F') - { - char *digits; - size_t ndigits; - - digits = - scale10_round_decimal_long_double (arg, precision); - if (digits == NULL) - { - END_LONG_DOUBLE_ROUNDING (); - goto out_of_memory; - } - ndigits = strlen (digits); - - if (ndigits > precision) - do - { - --ndigits; - *p++ = digits[ndigits]; - } - while (ndigits > precision); - else - *p++ = '0'; - /* Here ndigits <= precision. */ - if ((flags & FLAG_ALT) || precision > 0) - { - *p++ = decimal_point_char (); - for (; precision > ndigits; precision--) - *p++ = '0'; - while (ndigits > 0) - { - --ndigits; - *p++ = digits[ndigits]; - } - } - - free (digits); - } - else if (dp->conversion == 'e' || dp->conversion == 'E') - { - int exponent; - - if (arg == 0.0L) - { - exponent = 0; - *p++ = '0'; - if ((flags & FLAG_ALT) || precision > 0) - { - *p++ = decimal_point_char (); - for (; precision > 0; precision--) - *p++ = '0'; - } - } - else - { - /* arg > 0.0L. */ - int adjusted; - char *digits; - size_t ndigits; - - exponent = floorlog10l (arg); - adjusted = 0; - for (;;) - { - digits = - scale10_round_decimal_long_double (arg, - (int)precision - exponent); - if (digits == NULL) - { - END_LONG_DOUBLE_ROUNDING (); - goto out_of_memory; - } - ndigits = strlen (digits); - - if (ndigits == precision + 1) - break; - if (ndigits < precision - || ndigits > precision + 2) - /* The exponent was not guessed - precisely enough. */ - abort (); - if (adjusted) - /* None of two values of exponent is - the right one. Prevent an endless - loop. */ - abort (); - free (digits); - if (ndigits == precision) - exponent -= 1; - else - exponent += 1; - adjusted = 1; - } - - /* Here ndigits = precision+1. */ - *p++ = digits[--ndigits]; - if ((flags & FLAG_ALT) || precision > 0) - { - *p++ = decimal_point_char (); - while (ndigits > 0) - { - --ndigits; - *p++ = digits[ndigits]; - } - } + if (dp->conversion == 'f' || dp->conversion == 'F') { + char *digits; + size_t ndigits; + + digits = + scale10_round_decimal_long_double(arg, precision); + if (digits == NULL) { + END_LONG_DOUBLE_ROUNDING(); + goto out_of_memory; + } + ndigits = strlen(digits); + + if (ndigits > precision) + do { + --ndigits; + *p++ = digits[ndigits]; + } while (ndigits > precision); + else + *p++ = '0'; + /* Here ndigits <= precision. */ + if ((flags & FLAG_ALT) || precision > 0) { + *p++ = decimal_point_char(); + for (; precision > ndigits; precision--) + *p++ = '0'; + while (ndigits > 0) { + --ndigits; + *p++ = digits[ndigits]; + } + } + + free(digits); + } else if (dp->conversion == 'e' || dp->conversion == 'E') { + int exponent; + + if (arg == 0.0L) { + exponent = 0; + *p++ = '0'; + if ((flags & FLAG_ALT) || precision > 0) { + *p++ = decimal_point_char(); + for (; precision > 0; precision--) + *p++ = '0'; + } + } else { + /* arg > 0.0L. */ + int adjusted; + char *digits; + size_t ndigits; + + exponent = floorlog10l(arg); + adjusted = 0; + for (;;) { + digits = + scale10_round_decimal_long_double(arg, + (int)precision - exponent); + if (digits == NULL) { + END_LONG_DOUBLE_ROUNDING(); + goto out_of_memory; + } + ndigits = strlen(digits); + + if (ndigits == precision + 1) + break; + if (ndigits < precision + || ndigits > precision + 2) + /* The exponent was not guessed + precisely enough. */ + abort(); + if (adjusted) + /* None of two values of exponent is + the right one. Prevent an endless + loop. */ + abort(); + free(digits); + if (ndigits == precision) + exponent -= 1; + else + exponent += 1; + adjusted = 1; + } + + /* Here ndigits = precision+1. */ + *p++ = digits[--ndigits]; + if ((flags & FLAG_ALT) || precision > 0) { + *p++ = decimal_point_char(); + while (ndigits > 0) { + --ndigits; + *p++ = digits[ndigits]; + } + } - free (digits); - } + free(digits); + } - *p++ = dp->conversion; /* 'e' or 'E' */ + *p++ = dp->conversion; /* 'e' or 'E' */ # if WIDE_CHAR_VERSION - { - static const wchar_t decimal_format[] = - { '%', '+', '.', '2', 'd', '\0' }; - SNPRINTF (p, 6 + 1, decimal_format, exponent); - } - while (*p != '\0') - p++; + { + static const wchar_t decimal_format[] = + { '%', '+', '.', '2', 'd', '\0' }; + SNPRINTF(p, 6 + 1, decimal_format, exponent); + } + while (*p != '\0') + p++; # else - if (sizeof (DCHAR_T) == 1) - { - sprintf ((char *) p, "%+.2d", exponent); - while (*p != '\0') - p++; - } - else - { - char expbuf[6 + 1]; - const char *ep; - sprintf (expbuf, "%+.2d", exponent); - for (ep = expbuf; (*p = *ep) != '\0'; ep++) - p++; - } + if (sizeof(DCHAR_T) == 1) { + sprintf((char *) p, "%+.2d", exponent); + while (*p != '\0') + p++; + } else { + char expbuf[6 + 1]; + const char *ep; + sprintf(expbuf, "%+.2d", exponent); + for (ep = expbuf; (*p = *ep) != '\0'; ep++) + p++; + } # endif - } - else if (dp->conversion == 'g' || dp->conversion == 'G') - { - if (precision == 0) - precision = 1; - /* precision >= 1. */ - - if (arg == 0.0L) - /* The exponent is 0, >= -4, < precision. - Use fixed-point notation. */ - { - size_t ndigits = precision; - /* Number of trailing zeroes that have to be - dropped. */ - size_t nzeroes = - (flags & FLAG_ALT ? 0 : precision - 1); - - --ndigits; - *p++ = '0'; - if ((flags & FLAG_ALT) || ndigits > nzeroes) - { - *p++ = decimal_point_char (); - while (ndigits > nzeroes) - { - --ndigits; - *p++ = '0'; - } - } - } - else - { - /* arg > 0.0L. */ - int exponent; - int adjusted; - char *digits; - size_t ndigits; - size_t nzeroes; - - exponent = floorlog10l (arg); - adjusted = 0; - for (;;) - { - digits = - scale10_round_decimal_long_double (arg, - (int)(precision - 1) - exponent); - if (digits == NULL) - { - END_LONG_DOUBLE_ROUNDING (); - goto out_of_memory; - } - ndigits = strlen (digits); - - if (ndigits == precision) - break; - if (ndigits < precision - 1 - || ndigits > precision + 1) - /* The exponent was not guessed - precisely enough. */ - abort (); - if (adjusted) - /* None of two values of exponent is - the right one. Prevent an endless - loop. */ - abort (); - free (digits); - if (ndigits < precision) - exponent -= 1; - else - exponent += 1; - adjusted = 1; - } - /* Here ndigits = precision. */ - - /* Determine the number of trailing zeroes - that have to be dropped. */ - nzeroes = 0; - if ((flags & FLAG_ALT) == 0) - while (nzeroes < ndigits - && digits[nzeroes] == '0') - nzeroes++; - - /* The exponent is now determined. */ - if (exponent >= -4 - && exponent < (long)precision) - { - /* Fixed-point notation: - max(exponent,0)+1 digits, then the - decimal point, then the remaining - digits without trailing zeroes. */ - if (exponent >= 0) - { - size_t count = exponent + 1; - /* Note: count <= precision = ndigits. */ - for (; count > 0; count--) - *p++ = digits[--ndigits]; - if ((flags & FLAG_ALT) || ndigits > nzeroes) - { - *p++ = decimal_point_char (); - while (ndigits > nzeroes) - { - --ndigits; - *p++ = digits[ndigits]; - } - } - } - else - { - size_t count = -exponent - 1; - *p++ = '0'; - *p++ = decimal_point_char (); - for (; count > 0; count--) - *p++ = '0'; - while (ndigits > nzeroes) - { - --ndigits; - *p++ = digits[ndigits]; - } - } - } - else - { - /* Exponential notation. */ - *p++ = digits[--ndigits]; - if ((flags & FLAG_ALT) || ndigits > nzeroes) - { - *p++ = decimal_point_char (); - while (ndigits > nzeroes) - { - --ndigits; - *p++ = digits[ndigits]; - } - } - *p++ = dp->conversion - 'G' + 'E'; /* 'e' or 'E' */ + } else if (dp->conversion == 'g' || dp->conversion == 'G') { + if (precision == 0) + precision = 1; + /* precision >= 1. */ + + if (arg == 0.0L) + /* The exponent is 0, >= -4, < precision. + Use fixed-point notation. */ + { + size_t ndigits = precision; + /* Number of trailing zeroes that have to be + dropped. */ + size_t nzeroes = + (flags & FLAG_ALT ? 0 : precision - 1); + + --ndigits; + *p++ = '0'; + if ((flags & FLAG_ALT) || ndigits > nzeroes) { + *p++ = decimal_point_char(); + while (ndigits > nzeroes) { + --ndigits; + *p++ = '0'; + } + } + } else { + /* arg > 0.0L. */ + int exponent; + int adjusted; + char *digits; + size_t ndigits; + size_t nzeroes; + + exponent = floorlog10l(arg); + adjusted = 0; + for (;;) { + digits = + scale10_round_decimal_long_double(arg, + (int)(precision - 1) - exponent); + if (digits == NULL) { + END_LONG_DOUBLE_ROUNDING(); + goto out_of_memory; + } + ndigits = strlen(digits); + + if (ndigits == precision) + break; + if (ndigits < precision - 1 + || ndigits > precision + 1) + /* The exponent was not guessed + precisely enough. */ + abort(); + if (adjusted) + /* None of two values of exponent is + the right one. Prevent an endless + loop. */ + abort(); + free(digits); + if (ndigits < precision) + exponent -= 1; + else + exponent += 1; + adjusted = 1; + } + /* Here ndigits = precision. */ + + /* Determine the number of trailing zeroes + that have to be dropped. */ + nzeroes = 0; + if ((flags & FLAG_ALT) == 0) + while (nzeroes < ndigits + && digits[nzeroes] == '0') + nzeroes++; + + /* The exponent is now determined. */ + if (exponent >= -4 + && exponent < (long)precision) { + /* Fixed-point notation: + max(exponent,0)+1 digits, then the + decimal point, then the remaining + digits without trailing zeroes. */ + if (exponent >= 0) { + size_t count = exponent + 1; + /* Note: count <= precision = ndigits. */ + for (; count > 0; count--) + *p++ = digits[--ndigits]; + if ((flags & FLAG_ALT) || ndigits > nzeroes) { + *p++ = decimal_point_char(); + while (ndigits > nzeroes) { + --ndigits; + *p++ = digits[ndigits]; + } + } + } else { + size_t count = -exponent - 1; + *p++ = '0'; + *p++ = decimal_point_char(); + for (; count > 0; count--) + *p++ = '0'; + while (ndigits > nzeroes) { + --ndigits; + *p++ = digits[ndigits]; + } + } + } else { + /* Exponential notation. */ + *p++ = digits[--ndigits]; + if ((flags & FLAG_ALT) || ndigits > nzeroes) { + *p++ = decimal_point_char(); + while (ndigits > nzeroes) { + --ndigits; + *p++ = digits[ndigits]; + } + } + *p++ = dp->conversion - 'G' + 'E'; /* 'e' or 'E' */ # if WIDE_CHAR_VERSION - { - static const wchar_t decimal_format[] = - { '%', '+', '.', '2', 'd', '\0' }; - SNPRINTF (p, 6 + 1, decimal_format, exponent); - } - while (*p != '\0') - p++; + { + static const wchar_t decimal_format[] = + { '%', '+', '.', '2', 'd', '\0' }; + SNPRINTF(p, 6 + 1, decimal_format, exponent); + } + while (*p != '\0') + p++; # else - if (sizeof (DCHAR_T) == 1) - { - sprintf ((char *) p, "%+.2d", exponent); - while (*p != '\0') - p++; - } - else - { - char expbuf[6 + 1]; - const char *ep; - sprintf (expbuf, "%+.2d", exponent); - for (ep = expbuf; (*p = *ep) != '\0'; ep++) - p++; - } + if (sizeof(DCHAR_T) == 1) { + sprintf((char *) p, "%+.2d", exponent); + while (*p != '\0') + p++; + } else { + char expbuf[6 + 1]; + const char *ep; + sprintf(expbuf, "%+.2d", exponent); + for (ep = expbuf; (*p = *ep) != '\0'; ep++) + p++; + } # endif - } + } - free (digits); - } - } - else - abort (); + free(digits); + } + } else + abort(); # else - /* arg is finite. */ - abort (); + /* arg is finite. */ + abort(); # endif - } + } - END_LONG_DOUBLE_ROUNDING (); - } - } + END_LONG_DOUBLE_ROUNDING(); + } + } # if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE - else + else # endif # endif # if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE - { - double arg = a.arg[dp->arg_index].a.a_double; + { + double arg = a.arg[dp->arg_index].a.a_double; - if (isnan (arg)) - { - if (dp->conversion >= 'A' && dp->conversion <= 'Z') - { - *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; - } - else - { - *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; - } - } - else - { - int sign = 0; - - if (signbit (arg)) /* arg < 0.0 or negative zero */ - { - sign = -1; - arg = -arg; - } - - if (sign < 0) - *p++ = '-'; - else if (flags & FLAG_SHOWSIGN) - *p++ = '+'; - else if (flags & FLAG_SPACE) - *p++ = ' '; - - if (arg > 0.0 && arg + arg == arg) - { - if (dp->conversion >= 'A' && dp->conversion <= 'Z') - { - *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; - } - else - { - *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; - } - } - else - { + if (isnan(arg)) { + if (dp->conversion >= 'A' && dp->conversion <= 'Z') { + *p++ = 'N'; + *p++ = 'A'; + *p++ = 'N'; + } else { + *p++ = 'n'; + *p++ = 'a'; + *p++ = 'n'; + } + } else { + int sign = 0; + + if (signbit(arg)) { /* arg < 0.0 or negative zero */ + sign = -1; + arg = -arg; + } + + if (sign < 0) + *p++ = '-'; + else if (flags & FLAG_SHOWSIGN) + *p++ = '+'; + else if (flags & FLAG_SPACE) + *p++ = ' '; + + if (arg > 0.0 && arg + arg == arg) { + if (dp->conversion >= 'A' && dp->conversion <= 'Z') { + *p++ = 'I'; + *p++ = 'N'; + *p++ = 'F'; + } else { + *p++ = 'i'; + *p++ = 'n'; + *p++ = 'f'; + } + } else { # if NEED_PRINTF_DOUBLE - pad_ptr = p; + pad_ptr = p; - if (dp->conversion == 'f' || dp->conversion == 'F') - { - char *digits; - size_t ndigits; - - digits = - scale10_round_decimal_double (arg, precision); - if (digits == NULL) - goto out_of_memory; - ndigits = strlen (digits); - - if (ndigits > precision) - do - { - --ndigits; - *p++ = digits[ndigits]; - } - while (ndigits > precision); - else - *p++ = '0'; - /* Here ndigits <= precision. */ - if ((flags & FLAG_ALT) || precision > 0) - { - *p++ = decimal_point_char (); - for (; precision > ndigits; precision--) - *p++ = '0'; - while (ndigits > 0) - { - --ndigits; - *p++ = digits[ndigits]; - } - } - - free (digits); - } - else if (dp->conversion == 'e' || dp->conversion == 'E') - { - int exponent; - - if (arg == 0.0) - { - exponent = 0; - *p++ = '0'; - if ((flags & FLAG_ALT) || precision > 0) - { - *p++ = decimal_point_char (); - for (; precision > 0; precision--) - *p++ = '0'; - } - } - else - { - /* arg > 0.0. */ - int adjusted; - char *digits; - size_t ndigits; - - exponent = floorlog10 (arg); - adjusted = 0; - for (;;) - { - digits = - scale10_round_decimal_double (arg, - (int)precision - exponent); - if (digits == NULL) - goto out_of_memory; - ndigits = strlen (digits); - - if (ndigits == precision + 1) - break; - if (ndigits < precision - || ndigits > precision + 2) - /* The exponent was not guessed - precisely enough. */ - abort (); - if (adjusted) - /* None of two values of exponent is - the right one. Prevent an endless - loop. */ - abort (); - free (digits); - if (ndigits == precision) - exponent -= 1; - else - exponent += 1; - adjusted = 1; - } - - /* Here ndigits = precision+1. */ - *p++ = digits[--ndigits]; - if ((flags & FLAG_ALT) || precision > 0) - { - *p++ = decimal_point_char (); - while (ndigits > 0) - { - --ndigits; - *p++ = digits[ndigits]; - } - } + if (dp->conversion == 'f' || dp->conversion == 'F') { + char *digits; + size_t ndigits; + + digits = + scale10_round_decimal_double(arg, precision); + if (digits == NULL) + goto out_of_memory; + ndigits = strlen(digits); + + if (ndigits > precision) + do { + --ndigits; + *p++ = digits[ndigits]; + } while (ndigits > precision); + else + *p++ = '0'; + /* Here ndigits <= precision. */ + if ((flags & FLAG_ALT) || precision > 0) { + *p++ = decimal_point_char(); + for (; precision > ndigits; precision--) + *p++ = '0'; + while (ndigits > 0) { + --ndigits; + *p++ = digits[ndigits]; + } + } + + free(digits); + } else if (dp->conversion == 'e' || dp->conversion == 'E') { + int exponent; + + if (arg == 0.0) { + exponent = 0; + *p++ = '0'; + if ((flags & FLAG_ALT) || precision > 0) { + *p++ = decimal_point_char(); + for (; precision > 0; precision--) + *p++ = '0'; + } + } else { + /* arg > 0.0. */ + int adjusted; + char *digits; + size_t ndigits; + + exponent = floorlog10(arg); + adjusted = 0; + for (;;) { + digits = + scale10_round_decimal_double(arg, + (int)precision - exponent); + if (digits == NULL) + goto out_of_memory; + ndigits = strlen(digits); + + if (ndigits == precision + 1) + break; + if (ndigits < precision + || ndigits > precision + 2) + /* The exponent was not guessed + precisely enough. */ + abort(); + if (adjusted) + /* None of two values of exponent is + the right one. Prevent an endless + loop. */ + abort(); + free(digits); + if (ndigits == precision) + exponent -= 1; + else + exponent += 1; + adjusted = 1; + } + + /* Here ndigits = precision+1. */ + *p++ = digits[--ndigits]; + if ((flags & FLAG_ALT) || precision > 0) { + *p++ = decimal_point_char(); + while (ndigits > 0) { + --ndigits; + *p++ = digits[ndigits]; + } + } - free (digits); - } + free(digits); + } - *p++ = dp->conversion; /* 'e' or 'E' */ + *p++ = dp->conversion; /* 'e' or 'E' */ # if WIDE_CHAR_VERSION - { - static const wchar_t decimal_format[] = - /* Produce the same number of exponent digits - as the native printf implementation. */ + { + static const wchar_t decimal_format[] = + /* Produce the same number of exponent digits + as the native printf implementation. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - { '%', '+', '.', '3', 'd', '\0' }; + { '%', '+', '.', '3', 'd', '\0' }; # else - { '%', '+', '.', '2', 'd', '\0' }; + { '%', '+', '.', '2', 'd', '\0' + }; # endif - SNPRINTF (p, 6 + 1, decimal_format, exponent); - } - while (*p != '\0') - p++; + SNPRINTF(p, 6 + 1, decimal_format, exponent); + } + while (*p != '\0') + p++; # else - { - static const char decimal_format[] = - /* Produce the same number of exponent digits - as the native printf implementation. */ + { + static const char decimal_format[] = + /* Produce the same number of exponent digits + as the native printf implementation. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - "%+.3d"; + "%+.3d"; # else - "%+.2d"; + "%+.2d"; # endif - if (sizeof (DCHAR_T) == 1) - { - sprintf ((char *) p, decimal_format, exponent); - while (*p != '\0') - p++; - } - else - { - char expbuf[6 + 1]; - const char *ep; - sprintf (expbuf, decimal_format, exponent); - for (ep = expbuf; (*p = *ep) != '\0'; ep++) - p++; - } - } + if (sizeof(DCHAR_T) == 1) { + sprintf((char *) p, decimal_format, exponent); + while (*p != '\0') + p++; + } else { + char expbuf[6 + 1]; + const char *ep; + sprintf(expbuf, decimal_format, exponent); + for (ep = expbuf; (*p = *ep) != '\0'; ep++) + p++; + } + } # endif - } - else if (dp->conversion == 'g' || dp->conversion == 'G') - { - if (precision == 0) - precision = 1; - /* precision >= 1. */ - - if (arg == 0.0) - /* The exponent is 0, >= -4, < precision. - Use fixed-point notation. */ - { - size_t ndigits = precision; - /* Number of trailing zeroes that have to be - dropped. */ - size_t nzeroes = - (flags & FLAG_ALT ? 0 : precision - 1); - - --ndigits; - *p++ = '0'; - if ((flags & FLAG_ALT) || ndigits > nzeroes) - { - *p++ = decimal_point_char (); - while (ndigits > nzeroes) - { - --ndigits; - *p++ = '0'; - } - } - } - else - { - /* arg > 0.0. */ - int exponent; - int adjusted; - char *digits; - size_t ndigits; - size_t nzeroes; - - exponent = floorlog10 (arg); - adjusted = 0; - for (;;) - { - digits = - scale10_round_decimal_double (arg, - (int)(precision - 1) - exponent); - if (digits == NULL) - goto out_of_memory; - ndigits = strlen (digits); - - if (ndigits == precision) - break; - if (ndigits < precision - 1 - || ndigits > precision + 1) - /* The exponent was not guessed - precisely enough. */ - abort (); - if (adjusted) - /* None of two values of exponent is - the right one. Prevent an endless - loop. */ - abort (); - free (digits); - if (ndigits < precision) - exponent -= 1; - else - exponent += 1; - adjusted = 1; - } - /* Here ndigits = precision. */ - - /* Determine the number of trailing zeroes - that have to be dropped. */ - nzeroes = 0; - if ((flags & FLAG_ALT) == 0) - while (nzeroes < ndigits - && digits[nzeroes] == '0') - nzeroes++; - - /* The exponent is now determined. */ - if (exponent >= -4 - && exponent < (long)precision) - { - /* Fixed-point notation: - max(exponent,0)+1 digits, then the - decimal point, then the remaining - digits without trailing zeroes. */ - if (exponent >= 0) - { - size_t count = exponent + 1; - /* Note: count <= precision = ndigits. */ - for (; count > 0; count--) - *p++ = digits[--ndigits]; - if ((flags & FLAG_ALT) || ndigits > nzeroes) - { - *p++ = decimal_point_char (); - while (ndigits > nzeroes) - { - --ndigits; - *p++ = digits[ndigits]; - } - } - } - else - { - size_t count = -exponent - 1; - *p++ = '0'; - *p++ = decimal_point_char (); - for (; count > 0; count--) - *p++ = '0'; - while (ndigits > nzeroes) - { - --ndigits; - *p++ = digits[ndigits]; - } - } - } - else - { - /* Exponential notation. */ - *p++ = digits[--ndigits]; - if ((flags & FLAG_ALT) || ndigits > nzeroes) - { - *p++ = decimal_point_char (); - while (ndigits > nzeroes) - { - --ndigits; - *p++ = digits[ndigits]; - } - } - *p++ = dp->conversion - 'G' + 'E'; /* 'e' or 'E' */ + } else if (dp->conversion == 'g' || dp->conversion == 'G') { + if (precision == 0) + precision = 1; + /* precision >= 1. */ + + if (arg == 0.0) + /* The exponent is 0, >= -4, < precision. + Use fixed-point notation. */ + { + size_t ndigits = precision; + /* Number of trailing zeroes that have to be + dropped. */ + size_t nzeroes = + (flags & FLAG_ALT ? 0 : precision - 1); + + --ndigits; + *p++ = '0'; + if ((flags & FLAG_ALT) || ndigits > nzeroes) { + *p++ = decimal_point_char(); + while (ndigits > nzeroes) { + --ndigits; + *p++ = '0'; + } + } + } else { + /* arg > 0.0. */ + int exponent; + int adjusted; + char *digits; + size_t ndigits; + size_t nzeroes; + + exponent = floorlog10(arg); + adjusted = 0; + for (;;) { + digits = + scale10_round_decimal_double(arg, + (int)(precision - 1) - exponent); + if (digits == NULL) + goto out_of_memory; + ndigits = strlen(digits); + + if (ndigits == precision) + break; + if (ndigits < precision - 1 + || ndigits > precision + 1) + /* The exponent was not guessed + precisely enough. */ + abort(); + if (adjusted) + /* None of two values of exponent is + the right one. Prevent an endless + loop. */ + abort(); + free(digits); + if (ndigits < precision) + exponent -= 1; + else + exponent += 1; + adjusted = 1; + } + /* Here ndigits = precision. */ + + /* Determine the number of trailing zeroes + that have to be dropped. */ + nzeroes = 0; + if ((flags & FLAG_ALT) == 0) + while (nzeroes < ndigits + && digits[nzeroes] == '0') + nzeroes++; + + /* The exponent is now determined. */ + if (exponent >= -4 + && exponent < (long)precision) { + /* Fixed-point notation: + max(exponent,0)+1 digits, then the + decimal point, then the remaining + digits without trailing zeroes. */ + if (exponent >= 0) { + size_t count = exponent + 1; + /* Note: count <= precision = ndigits. */ + for (; count > 0; count--) + *p++ = digits[--ndigits]; + if ((flags & FLAG_ALT) || ndigits > nzeroes) { + *p++ = decimal_point_char(); + while (ndigits > nzeroes) { + --ndigits; + *p++ = digits[ndigits]; + } + } + } else { + size_t count = -exponent - 1; + *p++ = '0'; + *p++ = decimal_point_char(); + for (; count > 0; count--) + *p++ = '0'; + while (ndigits > nzeroes) { + --ndigits; + *p++ = digits[ndigits]; + } + } + } else { + /* Exponential notation. */ + *p++ = digits[--ndigits]; + if ((flags & FLAG_ALT) || ndigits > nzeroes) { + *p++ = decimal_point_char(); + while (ndigits > nzeroes) { + --ndigits; + *p++ = digits[ndigits]; + } + } + *p++ = dp->conversion - 'G' + 'E'; /* 'e' or 'E' */ # if WIDE_CHAR_VERSION - { - static const wchar_t decimal_format[] = - /* Produce the same number of exponent digits - as the native printf implementation. */ + { + static const wchar_t decimal_format[] = + /* Produce the same number of exponent digits + as the native printf implementation. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - { '%', '+', '.', '3', 'd', '\0' }; + { '%', '+', '.', '3', 'd', '\0' }; # else - { '%', '+', '.', '2', 'd', '\0' }; + { '%', '+', '.', '2', 'd', '\0' + }; # endif - SNPRINTF (p, 6 + 1, decimal_format, exponent); - } - while (*p != '\0') - p++; + SNPRINTF(p, 6 + 1, decimal_format, exponent); + } + while (*p != '\0') + p++; # else - { - static const char decimal_format[] = - /* Produce the same number of exponent digits - as the native printf implementation. */ + { + static const char decimal_format[] = + /* Produce the same number of exponent digits + as the native printf implementation. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - "%+.3d"; + "%+.3d"; # else - "%+.2d"; + "%+.2d"; # endif - if (sizeof (DCHAR_T) == 1) - { - sprintf ((char *) p, decimal_format, exponent); - while (*p != '\0') - p++; - } - else - { - char expbuf[6 + 1]; - const char *ep; - sprintf (expbuf, decimal_format, exponent); - for (ep = expbuf; (*p = *ep) != '\0'; ep++) - p++; - } - } + if (sizeof(DCHAR_T) == 1) { + sprintf((char *) p, decimal_format, exponent); + while (*p != '\0') + p++; + } else { + char expbuf[6 + 1]; + const char *ep; + sprintf(expbuf, decimal_format, exponent); + for (ep = expbuf; (*p = *ep) != '\0'; ep++) + p++; + } + } # endif - } + } - free (digits); - } - } - else - abort (); + free(digits); + } + } else + abort(); # else - /* arg is finite. */ - if (!(arg == 0.0)) - abort (); - - pad_ptr = p; - - if (dp->conversion == 'f' || dp->conversion == 'F') - { - *p++ = '0'; - if ((flags & FLAG_ALT) || precision > 0) - { - *p++ = decimal_point_char (); - for (; precision > 0; precision--) - *p++ = '0'; - } - } - else if (dp->conversion == 'e' || dp->conversion == 'E') - { - *p++ = '0'; - if ((flags & FLAG_ALT) || precision > 0) - { - *p++ = decimal_point_char (); - for (; precision > 0; precision--) - *p++ = '0'; - } - *p++ = dp->conversion; /* 'e' or 'E' */ - *p++ = '+'; - /* Produce the same number of exponent digits as - the native printf implementation. */ + /* arg is finite. */ + if (!(arg == 0.0)) + abort(); + + pad_ptr = p; + + if (dp->conversion == 'f' || dp->conversion == 'F') { + *p++ = '0'; + if ((flags & FLAG_ALT) || precision > 0) { + *p++ = decimal_point_char(); + for (; precision > 0; precision--) + *p++ = '0'; + } + } else if (dp->conversion == 'e' || dp->conversion == 'E') { + *p++ = '0'; + if ((flags & FLAG_ALT) || precision > 0) { + *p++ = decimal_point_char(); + for (; precision > 0; precision--) + *p++ = '0'; + } + *p++ = dp->conversion; /* 'e' or 'E' */ + *p++ = '+'; + /* Produce the same number of exponent digits as + the native printf implementation. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - *p++ = '0'; + *p++ = '0'; # endif - *p++ = '0'; - *p++ = '0'; - } - else if (dp->conversion == 'g' || dp->conversion == 'G') - { - *p++ = '0'; - if (flags & FLAG_ALT) - { - size_t ndigits = - (precision > 0 ? precision - 1 : 0); - *p++ = decimal_point_char (); - for (; ndigits > 0; --ndigits) - *p++ = '0'; - } - } - else - abort (); + *p++ = '0'; + *p++ = '0'; + } else if (dp->conversion == 'g' || dp->conversion == 'G') { + *p++ = '0'; + if (flags & FLAG_ALT) { + size_t ndigits = + (precision > 0 ? precision - 1 : 0); + *p++ = decimal_point_char(); + for (; ndigits > 0; --ndigits) + *p++ = '0'; + } + } else + abort(); # endif - } - } - } -# endif - - /* The generated string now extends from tmp to p, with the - zero padding insertion point being at pad_ptr. */ - if (has_width && p - tmp < width) - { - size_t pad = width - (p - tmp); - DCHAR_T *end = p + pad; - - if (flags & FLAG_LEFT) - { - /* Pad with spaces on the right. */ - for (; pad > 0; pad--) - *p++ = ' '; - } - else if ((flags & FLAG_ZERO) && pad_ptr != NULL) - { - /* Pad with zeroes. */ - DCHAR_T *q = end; - - while (p > pad_ptr) - *--q = *--p; - for (; pad > 0; pad--) - *p++ = '0'; - } - else - { - /* Pad with spaces on the left. */ - DCHAR_T *q = end; - - while (p > tmp) - *--q = *--p; - for (; pad > 0; pad--) - *p++ = ' '; - } - - p = end; - } - - { - size_t count = p - tmp; - - if (count >= tmp_length) - /* tmp_length was incorrectly calculated - fix the - code above! */ - abort (); - - /* Make room for the result. */ - if (count >= allocated - length) - { - size_t n = xsum (length, count); - - ENSURE_ALLOCATION (n); - } - - /* Append the result. */ - memcpy (result + length, tmp, count * sizeof (DCHAR_T)); - if (tmp != tmpbuf) - free (tmp); - length += count; - } - } -#endif - else - { - arg_type type = a.arg[dp->arg_index].type; - int flags = dp->flags; + } + } + } +# endif + + /* The generated string now extends from tmp to p, with the + zero padding insertion point being at pad_ptr. */ + if (has_width && p - tmp < width) { + size_t pad = width - (p - tmp); + DCHAR_T *end = p + pad; + + if (flags & FLAG_LEFT) { + /* Pad with spaces on the right. */ + for (; pad > 0; pad--) + *p++ = ' '; + } else if ((flags & FLAG_ZERO) && pad_ptr != NULL) { + /* Pad with zeroes. */ + DCHAR_T *q = end; + + while (p > pad_ptr) + *--q = *--p; + for (; pad > 0; pad--) + *p++ = '0'; + } else { + /* Pad with spaces on the left. */ + DCHAR_T *q = end; + + while (p > tmp) + *--q = *--p; + for (; pad > 0; pad--) + *p++ = ' '; + } + + p = end; + } + + { + size_t count = p - tmp; + + if (count >= tmp_length) + /* tmp_length was incorrectly calculated - fix the + code above! */ + abort(); + + /* Make room for the result. */ + if (count >= allocated - length) { + size_t n = xsum(length, count); + + ENSURE_ALLOCATION(n); + } + + /* Append the result. */ + memcpy(result + length, tmp, count * sizeof(DCHAR_T)); + if (tmp != tmpbuf) + free(tmp); + length += count; + } + } +#endif + else { + arg_type type = a.arg[dp->arg_index].type; + int flags = dp->flags; #if !USE_SNPRINTF || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION - int has_width; - size_t width; + int has_width; + size_t width; #endif #if !USE_SNPRINTF || NEED_PRINTF_UNBOUNDED_PRECISION - int has_precision; - size_t precision; + int has_precision; + size_t precision; #endif #if NEED_PRINTF_UNBOUNDED_PRECISION - int prec_ourselves; + int prec_ourselves; #else # define prec_ourselves 0 #endif #if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION - int pad_ourselves; + int pad_ourselves; #else # define pad_ourselves 0 #endif - TCHAR_T *fbp; - unsigned int prefix_count; - int prefixes[2]; + TCHAR_T *fbp; + unsigned int prefix_count; + int prefixes[2]; #if !USE_SNPRINTF - size_t tmp_length; - TCHAR_T tmpbuf[700]; - TCHAR_T *tmp; + size_t tmp_length; + TCHAR_T tmpbuf[700]; + TCHAR_T *tmp; #endif #if !USE_SNPRINTF || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION - has_width = 0; - width = 0; - if (dp->width_start != dp->width_end) - { - if (dp->width_arg_index != ARG_NONE) - { - int arg; - - if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) - abort (); - arg = a.arg[dp->width_arg_index].a.a_int; - if (arg < 0) - { - /* "A negative field width is taken as a '-' flag - followed by a positive field width." */ - flags |= FLAG_LEFT; - width = (unsigned int) (-arg); - } - else - width = arg; - } - else - { - const FCHAR_T *digitp = dp->width_start; - - do - width = xsum (xtimes (width, 10), *digitp++ - '0'); - while (digitp != dp->width_end); - } - has_width = 1; - } + has_width = 0; + width = 0; + if (dp->width_start != dp->width_end) { + if (dp->width_arg_index != ARG_NONE) { + int arg; + + if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) + abort(); + arg = a.arg[dp->width_arg_index].a.a_int; + if (arg < 0) { + /* "A negative field width is taken as a '-' flag + followed by a positive field width." */ + flags |= FLAG_LEFT; + width = (unsigned int)(-arg); + } else + width = arg; + } else { + const FCHAR_T *digitp = dp->width_start; + + do + width = xsum(xtimes(width, 10), *digitp++ - '0'); + while (digitp != dp->width_end); + } + has_width = 1; + } #endif #if !USE_SNPRINTF || NEED_PRINTF_UNBOUNDED_PRECISION - has_precision = 0; - precision = 6; - if (dp->precision_start != dp->precision_end) - { - if (dp->precision_arg_index != ARG_NONE) - { - int arg; - - if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) - abort (); - arg = a.arg[dp->precision_arg_index].a.a_int; - /* "A negative precision is taken as if the precision - were omitted." */ - if (arg >= 0) - { - precision = arg; - has_precision = 1; - } - } - else - { - const FCHAR_T *digitp = dp->precision_start + 1; - - precision = 0; - while (digitp != dp->precision_end) - precision = xsum (xtimes (precision, 10), *digitp++ - '0'); - has_precision = 1; - } - } + has_precision = 0; + precision = 6; + if (dp->precision_start != dp->precision_end) { + if (dp->precision_arg_index != ARG_NONE) { + int arg; + + if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) + abort(); + arg = a.arg[dp->precision_arg_index].a.a_int; + /* "A negative precision is taken as if the precision + were omitted." */ + if (arg >= 0) { + precision = arg; + has_precision = 1; + } + } else { + const FCHAR_T *digitp = dp->precision_start + 1; + + precision = 0; + while (digitp != dp->precision_end) + precision = xsum(xtimes(precision, 10), *digitp++ - '0'); + has_precision = 1; + } + } #endif #if !USE_SNPRINTF - /* Allocate a temporary buffer of sufficient size for calling - sprintf. */ - { - switch (dp->conversion) - { - - case 'd': case 'i': case 'u': + /* Allocate a temporary buffer of sufficient size for calling + sprintf. */ + { + switch (dp->conversion) { + + case 'd': + case 'i': + case 'u': # if HAVE_LONG_LONG_INT - if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) - tmp_length = - (unsigned int) (sizeof (unsigned long long) * CHAR_BIT - * 0.30103 /* binary -> decimal */ - ) - + 1; /* turn floor into ceil */ - else -# endif - if (type == TYPE_LONGINT || type == TYPE_ULONGINT) - tmp_length = - (unsigned int) (sizeof (unsigned long) * CHAR_BIT - * 0.30103 /* binary -> decimal */ - ) - + 1; /* turn floor into ceil */ - else - tmp_length = - (unsigned int) (sizeof (unsigned int) * CHAR_BIT - * 0.30103 /* binary -> decimal */ - ) - + 1; /* turn floor into ceil */ - if (tmp_length < precision) - tmp_length = precision; - /* Multiply by 2, as an estimate for FLAG_GROUP. */ - tmp_length = xsum (tmp_length, tmp_length); - /* Add 1, to account for a leading sign. */ - tmp_length = xsum (tmp_length, 1); - break; + if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) + tmp_length = + (unsigned int)(sizeof(unsigned long long) * CHAR_BIT + * 0.30103 /* binary -> decimal */ + ) + + 1; /* turn floor into ceil */ + else +# endif + if (type == TYPE_LONGINT || type == TYPE_ULONGINT) + tmp_length = + (unsigned int)(sizeof(unsigned long) * CHAR_BIT + * 0.30103 /* binary -> decimal */ + ) + + 1; /* turn floor into ceil */ + else + tmp_length = + (unsigned int)(sizeof(unsigned int) * CHAR_BIT + * 0.30103 /* binary -> decimal */ + ) + + 1; /* turn floor into ceil */ + if (tmp_length < precision) + tmp_length = precision; + /* Multiply by 2, as an estimate for FLAG_GROUP. */ + tmp_length = xsum(tmp_length, tmp_length); + /* Add 1, to account for a leading sign. */ + tmp_length = xsum(tmp_length, 1); + break; - case 'o': + case 'o': # if HAVE_LONG_LONG_INT - if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) - tmp_length = - (unsigned int) (sizeof (unsigned long long) * CHAR_BIT - * 0.333334 /* binary -> octal */ - ) - + 1; /* turn floor into ceil */ - else -# endif - if (type == TYPE_LONGINT || type == TYPE_ULONGINT) - tmp_length = - (unsigned int) (sizeof (unsigned long) * CHAR_BIT - * 0.333334 /* binary -> octal */ - ) - + 1; /* turn floor into ceil */ - else - tmp_length = - (unsigned int) (sizeof (unsigned int) * CHAR_BIT - * 0.333334 /* binary -> octal */ - ) - + 1; /* turn floor into ceil */ - if (tmp_length < precision) - tmp_length = precision; - /* Add 1, to account for a leading sign. */ - tmp_length = xsum (tmp_length, 1); - break; + if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) + tmp_length = + (unsigned int)(sizeof(unsigned long long) * CHAR_BIT + * 0.333334 /* binary -> octal */ + ) + + 1; /* turn floor into ceil */ + else +# endif + if (type == TYPE_LONGINT || type == TYPE_ULONGINT) + tmp_length = + (unsigned int)(sizeof(unsigned long) * CHAR_BIT + * 0.333334 /* binary -> octal */ + ) + + 1; /* turn floor into ceil */ + else + tmp_length = + (unsigned int)(sizeof(unsigned int) * CHAR_BIT + * 0.333334 /* binary -> octal */ + ) + + 1; /* turn floor into ceil */ + if (tmp_length < precision) + tmp_length = precision; + /* Add 1, to account for a leading sign. */ + tmp_length = xsum(tmp_length, 1); + break; - case 'x': case 'X': + case 'x': + case 'X': # if HAVE_LONG_LONG_INT - if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) - tmp_length = - (unsigned int) (sizeof (unsigned long long) * CHAR_BIT - * 0.25 /* binary -> hexadecimal */ - ) - + 1; /* turn floor into ceil */ - else -# endif - if (type == TYPE_LONGINT || type == TYPE_ULONGINT) - tmp_length = - (unsigned int) (sizeof (unsigned long) * CHAR_BIT - * 0.25 /* binary -> hexadecimal */ - ) - + 1; /* turn floor into ceil */ - else - tmp_length = - (unsigned int) (sizeof (unsigned int) * CHAR_BIT - * 0.25 /* binary -> hexadecimal */ - ) - + 1; /* turn floor into ceil */ - if (tmp_length < precision) - tmp_length = precision; - /* Add 2, to account for a leading sign or alternate form. */ - tmp_length = xsum (tmp_length, 2); - break; - - case 'f': case 'F': - if (type == TYPE_LONGDOUBLE) - tmp_length = - (unsigned int) (LDBL_MAX_EXP - * 0.30103 /* binary -> decimal */ - * 2 /* estimate for FLAG_GROUP */ - ) - + 1 /* turn floor into ceil */ - + 10; /* sign, decimal point etc. */ - else - tmp_length = - (unsigned int) (DBL_MAX_EXP - * 0.30103 /* binary -> decimal */ - * 2 /* estimate for FLAG_GROUP */ - ) - + 1 /* turn floor into ceil */ - + 10; /* sign, decimal point etc. */ - tmp_length = xsum (tmp_length, precision); - break; - - case 'e': case 'E': case 'g': case 'G': - tmp_length = - 12; /* sign, decimal point, exponent etc. */ - tmp_length = xsum (tmp_length, precision); - break; - - case 'a': case 'A': - if (type == TYPE_LONGDOUBLE) - tmp_length = - (unsigned int) (LDBL_DIG - * 0.831 /* decimal -> hexadecimal */ - ) - + 1; /* turn floor into ceil */ - else - tmp_length = - (unsigned int) (DBL_DIG - * 0.831 /* decimal -> hexadecimal */ - ) - + 1; /* turn floor into ceil */ - if (tmp_length < precision) - tmp_length = precision; - /* Account for sign, decimal point etc. */ - tmp_length = xsum (tmp_length, 12); - break; + if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) + tmp_length = + (unsigned int)(sizeof(unsigned long long) * CHAR_BIT + * 0.25 /* binary -> hexadecimal */ + ) + + 1; /* turn floor into ceil */ + else +# endif + if (type == TYPE_LONGINT || type == TYPE_ULONGINT) + tmp_length = + (unsigned int)(sizeof(unsigned long) * CHAR_BIT + * 0.25 /* binary -> hexadecimal */ + ) + + 1; /* turn floor into ceil */ + else + tmp_length = + (unsigned int)(sizeof(unsigned int) * CHAR_BIT + * 0.25 /* binary -> hexadecimal */ + ) + + 1; /* turn floor into ceil */ + if (tmp_length < precision) + tmp_length = precision; + /* Add 2, to account for a leading sign or alternate form. */ + tmp_length = xsum(tmp_length, 2); + break; + + case 'f': + case 'F': + if (type == TYPE_LONGDOUBLE) + tmp_length = + (unsigned int)(LDBL_MAX_EXP + * 0.30103 /* binary -> decimal */ + * 2 /* estimate for FLAG_GROUP */ + ) + + 1 /* turn floor into ceil */ + + 10; /* sign, decimal point etc. */ + else + tmp_length = + (unsigned int)(DBL_MAX_EXP + * 0.30103 /* binary -> decimal */ + * 2 /* estimate for FLAG_GROUP */ + ) + + 1 /* turn floor into ceil */ + + 10; /* sign, decimal point etc. */ + tmp_length = xsum(tmp_length, precision); + break; + + case 'e': + case 'E': + case 'g': + case 'G': + tmp_length = + 12; /* sign, decimal point, exponent etc. */ + tmp_length = xsum(tmp_length, precision); + break; + + case 'a': + case 'A': + if (type == TYPE_LONGDOUBLE) + tmp_length = + (unsigned int)(LDBL_DIG + * 0.831 /* decimal -> hexadecimal */ + ) + + 1; /* turn floor into ceil */ + else + tmp_length = + (unsigned int)(DBL_DIG + * 0.831 /* decimal -> hexadecimal */ + ) + + 1; /* turn floor into ceil */ + if (tmp_length < precision) + tmp_length = precision; + /* Account for sign, decimal point etc. */ + tmp_length = xsum(tmp_length, 12); + break; - case 'c': + case 'c': # if HAVE_WINT_T && !WIDE_CHAR_VERSION - if (type == TYPE_WIDE_CHAR) - tmp_length = MB_CUR_MAX; - else + if (type == TYPE_WIDE_CHAR) + tmp_length = MB_CUR_MAX; + else # endif - tmp_length = 1; - break; + tmp_length = 1; + break; - case 's': + case 's': # if HAVE_WCHAR_T - if (type == TYPE_WIDE_STRING) - { - tmp_length = - local_wcslen (a.arg[dp->arg_index].a.a_wide_string); + if (type == TYPE_WIDE_STRING) { + tmp_length = + local_wcslen(a.arg[dp->arg_index].a.a_wide_string); # if !WIDE_CHAR_VERSION - tmp_length = xtimes (tmp_length, MB_CUR_MAX); + tmp_length = xtimes(tmp_length, MB_CUR_MAX); # endif - } - else + } else # endif - tmp_length = strlen (a.arg[dp->arg_index].a.a_string); - break; + tmp_length = strlen(a.arg[dp->arg_index].a.a_string); + break; - case 'p': - tmp_length = - (unsigned int) (sizeof (void *) * CHAR_BIT - * 0.25 /* binary -> hexadecimal */ - ) - + 1 /* turn floor into ceil */ - + 2; /* account for leading 0x */ - break; - - default: - abort (); - } + case 'p': + tmp_length = + (unsigned int)(sizeof(void *) * CHAR_BIT + * 0.25 /* binary -> hexadecimal */ + ) + + 1 /* turn floor into ceil */ + + 2; /* account for leading 0x */ + break; + + default: + abort(); + } # if ENABLE_UNISTDIO - /* Padding considers the number of characters, therefore the - number of elements after padding may be - > max (tmp_length, width) - but is certainly - <= tmp_length + width. */ - tmp_length = xsum (tmp_length, width); + /* Padding considers the number of characters, therefore the + number of elements after padding may be + > max (tmp_length, width) + but is certainly + <= tmp_length + width. */ + tmp_length = xsum(tmp_length, width); # else - /* Padding considers the number of elements, says POSIX. */ - if (tmp_length < width) - tmp_length = width; -# endif - - tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */ - } - - if (tmp_length <= sizeof (tmpbuf) / sizeof (TCHAR_T)) - tmp = tmpbuf; - else - { - size_t tmp_memsize = xtimes (tmp_length, sizeof (TCHAR_T)); - - if (size_overflow_p (tmp_memsize)) - /* Overflow, would lead to out of memory. */ - goto out_of_memory; - tmp = (TCHAR_T *) malloc (tmp_memsize); - if (tmp == NULL) - /* Out of memory. */ - goto out_of_memory; - } + /* Padding considers the number of elements, says POSIX. */ + if (tmp_length < width) + tmp_length = width; +# endif + + tmp_length = xsum(tmp_length, 1); /* account for trailing NUL */ + } + + if (tmp_length <= sizeof(tmpbuf) / sizeof(TCHAR_T)) + tmp = tmpbuf; + else { + size_t tmp_memsize = xtimes(tmp_length, sizeof(TCHAR_T)); + + if (size_overflow_p(tmp_memsize)) + /* Overflow, would lead to out of memory. */ + goto out_of_memory; + tmp = (TCHAR_T *) malloc(tmp_memsize); + if (tmp == NULL) + /* Out of memory. */ + goto out_of_memory; + } #endif - /* Decide whether to handle the precision ourselves. */ + /* Decide whether to handle the precision ourselves. */ #if NEED_PRINTF_UNBOUNDED_PRECISION - switch (dp->conversion) - { - case 'd': case 'i': case 'u': - case 'o': - case 'x': case 'X': case 'p': - prec_ourselves = has_precision && (precision > 0); - break; - default: - prec_ourselves = 0; - break; - } + switch (dp->conversion) { + case 'd': + case 'i': + case 'u': + case 'o': + case 'x': + case 'X': + case 'p': + prec_ourselves = has_precision && (precision > 0); + break; + default: + prec_ourselves = 0; + break; + } #endif - /* Decide whether to perform the padding ourselves. */ + /* Decide whether to perform the padding ourselves. */ #if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION - switch (dp->conversion) - { + switch (dp->conversion) { # if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO - /* If we need conversion from TCHAR_T[] to DCHAR_T[], we need - to perform the padding after this conversion. Functions - with unistdio extensions perform the padding based on - character count rather than element count. */ - case 'c': case 's': + /* If we need conversion from TCHAR_T[] to DCHAR_T[], we need + to perform the padding after this conversion. Functions + with unistdio extensions perform the padding based on + character count rather than element count. */ + case 'c': + case 's': # endif # if NEED_PRINTF_FLAG_ZERO - case 'f': case 'F': case 'e': case 'E': case 'g': case 'G': - case 'a': case 'A': -# endif - pad_ourselves = 1; - break; - default: - pad_ourselves = prec_ourselves; - break; - } -#endif - - /* Construct the format string for calling snprintf or - sprintf. */ - fbp = buf; - *fbp++ = '%'; + case 'f': + case 'F': + case 'e': + case 'E': + case 'g': + case 'G': + case 'a': + case 'A': +# endif + pad_ourselves = 1; + break; + default: + pad_ourselves = prec_ourselves; + break; + } +#endif + + /* Construct the format string for calling snprintf or + sprintf. */ + fbp = buf; + *fbp++ = '%'; #if NEED_PRINTF_FLAG_GROUPING - /* The underlying implementation doesn't support the ' flag. - Produce no grouping characters in this case; this is - acceptable because the grouping is locale dependent. */ + /* The underlying implementation doesn't support the ' flag. + Produce no grouping characters in this case; this is + acceptable because the grouping is locale dependent. */ #else - if (flags & FLAG_GROUP) - *fbp++ = '\''; + if (flags & FLAG_GROUP) + *fbp++ = '\''; #endif - if (flags & FLAG_LEFT) - *fbp++ = '-'; - if (flags & FLAG_SHOWSIGN) - *fbp++ = '+'; - if (flags & FLAG_SPACE) - *fbp++ = ' '; - if (flags & FLAG_ALT) - *fbp++ = '#'; - if (!pad_ourselves) - { - if (flags & FLAG_ZERO) - *fbp++ = '0'; - if (dp->width_start != dp->width_end) - { - size_t n = dp->width_end - dp->width_start; - /* The width specification is known to consist only - of standard ASCII characters. */ - if (sizeof (FCHAR_T) == sizeof (TCHAR_T)) - { - memcpy (fbp, dp->width_start, n * sizeof (TCHAR_T)); - fbp += n; - } - else - { - const FCHAR_T *mp = dp->width_start; - do - *fbp++ = (unsigned char) *mp++; - while (--n > 0); - } - } - } - if (!prec_ourselves) - { - if (dp->precision_start != dp->precision_end) - { - size_t n = dp->precision_end - dp->precision_start; - /* The precision specification is known to consist only - of standard ASCII characters. */ - if (sizeof (FCHAR_T) == sizeof (TCHAR_T)) - { - memcpy (fbp, dp->precision_start, n * sizeof (TCHAR_T)); - fbp += n; - } - else - { - const FCHAR_T *mp = dp->precision_start; - do - *fbp++ = (unsigned char) *mp++; - while (--n > 0); - } - } - } + if (flags & FLAG_LEFT) + *fbp++ = '-'; + if (flags & FLAG_SHOWSIGN) + *fbp++ = '+'; + if (flags & FLAG_SPACE) + *fbp++ = ' '; + if (flags & FLAG_ALT) + *fbp++ = '#'; + if (!pad_ourselves) { + if (flags & FLAG_ZERO) + *fbp++ = '0'; + if (dp->width_start != dp->width_end) { + size_t n = dp->width_end - dp->width_start; + /* The width specification is known to consist only + of standard ASCII characters. */ + if (sizeof(FCHAR_T) == sizeof(TCHAR_T)) { + memcpy(fbp, dp->width_start, n * sizeof(TCHAR_T)); + fbp += n; + } else { + const FCHAR_T *mp = dp->width_start; + do + *fbp++ = (unsigned char) * mp++; + while (--n > 0); + } + } + } + if (!prec_ourselves) { + if (dp->precision_start != dp->precision_end) { + size_t n = dp->precision_end - dp->precision_start; + /* The precision specification is known to consist only + of standard ASCII characters. */ + if (sizeof(FCHAR_T) == sizeof(TCHAR_T)) { + memcpy(fbp, dp->precision_start, n * sizeof(TCHAR_T)); + fbp += n; + } else { + const FCHAR_T *mp = dp->precision_start; + do + *fbp++ = (unsigned char) * mp++; + while (--n > 0); + } + } + } - switch (type) - { + switch (type) { #if HAVE_LONG_LONG_INT - case TYPE_LONGLONGINT: - case TYPE_ULONGLONGINT: + case TYPE_LONGLONGINT: + case TYPE_ULONGLONGINT: # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - *fbp++ = 'I'; - *fbp++ = '6'; - *fbp++ = '4'; - break; + *fbp++ = 'I'; + *fbp++ = '6'; + *fbp++ = '4'; + break; # else - *fbp++ = 'l'; - /*FALLTHROUGH*/ + *fbp++ = 'l'; + /*FALLTHROUGH*/ # endif #endif - case TYPE_LONGINT: - case TYPE_ULONGINT: + case TYPE_LONGINT: + case TYPE_ULONGINT: #if HAVE_WINT_T - case TYPE_WIDE_CHAR: + case TYPE_WIDE_CHAR: #endif #if HAVE_WCHAR_T - case TYPE_WIDE_STRING: + case TYPE_WIDE_STRING: #endif - *fbp++ = 'l'; - break; - case TYPE_LONGDOUBLE: - *fbp++ = 'L'; - break; - default: - break; - } + *fbp++ = 'l'; + break; + case TYPE_LONGDOUBLE: + *fbp++ = 'L'; + break; + default: + break; + } #if NEED_PRINTF_DIRECTIVE_F - if (dp->conversion == 'F') - *fbp = 'f'; - else + if (dp->conversion == 'F') + *fbp = 'f'; + else #endif - *fbp = dp->conversion; + *fbp = dp->conversion; #if USE_SNPRINTF # if !(__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) - fbp[1] = '%'; - fbp[2] = 'n'; - fbp[3] = '\0'; + fbp[1] = '%'; + fbp[2] = 'n'; + fbp[3] = '\0'; # else - /* On glibc2 systems from glibc >= 2.3 - probably also older - ones - we know that snprintf's returns value conforms to - ISO C 99: the gl_SNPRINTF_DIRECTIVE_N test passes. - Therefore we can avoid using %n in this situation. - On glibc2 systems from 2004-10-18 or newer, the use of %n - in format strings in writable memory may crash the program - (if compiled with _FORTIFY_SOURCE=2), so we should avoid it - in this situation. */ - fbp[1] = '\0'; + /* On glibc2 systems from glibc >= 2.3 - probably also older + ones - we know that snprintf's returns value conforms to + ISO C 99: the gl_SNPRINTF_DIRECTIVE_N test passes. + Therefore we can avoid using %n in this situation. + On glibc2 systems from 2004-10-18 or newer, the use of %n + in format strings in writable memory may crash the program + (if compiled with _FORTIFY_SOURCE=2), so we should avoid it + in this situation. */ + fbp[1] = '\0'; # endif #else - fbp[1] = '\0'; + fbp[1] = '\0'; #endif - /* Construct the arguments for calling snprintf or sprintf. */ - prefix_count = 0; - if (!pad_ourselves && dp->width_arg_index != ARG_NONE) - { - if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) - abort (); - prefixes[prefix_count++] = a.arg[dp->width_arg_index].a.a_int; - } - if (dp->precision_arg_index != ARG_NONE) - { - if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) - abort (); - prefixes[prefix_count++] = a.arg[dp->precision_arg_index].a.a_int; - } + /* Construct the arguments for calling snprintf or sprintf. */ + prefix_count = 0; + if (!pad_ourselves && dp->width_arg_index != ARG_NONE) { + if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) + abort(); + prefixes[prefix_count++] = a.arg[dp->width_arg_index].a.a_int; + } + if (dp->precision_arg_index != ARG_NONE) { + if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) + abort(); + prefixes[prefix_count++] = a.arg[dp->precision_arg_index].a.a_int; + } #if USE_SNPRINTF - /* The SNPRINTF result is appended after result[0..length]. - The latter is an array of DCHAR_T; SNPRINTF appends an - array of TCHAR_T to it. This is possible because - sizeof (TCHAR_T) divides sizeof (DCHAR_T) and - alignof (TCHAR_T) <= alignof (DCHAR_T). */ + /* The SNPRINTF result is appended after result[0..length]. + The latter is an array of DCHAR_T; SNPRINTF appends an + array of TCHAR_T to it. This is possible because + sizeof (TCHAR_T) divides sizeof (DCHAR_T) and + alignof (TCHAR_T) <= alignof (DCHAR_T). */ # define TCHARS_PER_DCHAR (sizeof (DCHAR_T) / sizeof (TCHAR_T)) - /* Prepare checking whether snprintf returns the count - via %n. */ - ENSURE_ALLOCATION (xsum (length, 1)); - *(TCHAR_T *) (result + length) = '\0'; + /* Prepare checking whether snprintf returns the count + via %n. */ + ENSURE_ALLOCATION(xsum(length, 1)); + *(TCHAR_T *)(result + length) = '\0'; #endif - for (;;) - { - int count = -1; + for (;;) { + int count = -1; #if USE_SNPRINTF - int retcount = 0; - size_t maxlen = allocated - length; - /* SNPRINTF can fail if its second argument is - > INT_MAX. */ - if (maxlen > INT_MAX / TCHARS_PER_DCHAR) - maxlen = INT_MAX / TCHARS_PER_DCHAR; - maxlen = maxlen * TCHARS_PER_DCHAR; + int retcount = 0; + size_t maxlen = allocated - length; + /* SNPRINTF can fail if its second argument is + > INT_MAX. */ + if (maxlen > INT_MAX / TCHARS_PER_DCHAR) + maxlen = INT_MAX / TCHARS_PER_DCHAR; + maxlen = maxlen * TCHARS_PER_DCHAR; # define SNPRINTF_BUF(arg) \ switch (prefix_count) \ { \ @@ -4106,535 +3740,487 @@ } #endif - switch (type) - { - case TYPE_SCHAR: - { - int arg = a.arg[dp->arg_index].a.a_schar; - SNPRINTF_BUF (arg); - } - break; - case TYPE_UCHAR: - { - unsigned int arg = a.arg[dp->arg_index].a.a_uchar; - SNPRINTF_BUF (arg); - } - break; - case TYPE_SHORT: - { - int arg = a.arg[dp->arg_index].a.a_short; - SNPRINTF_BUF (arg); - } - break; - case TYPE_USHORT: - { - unsigned int arg = a.arg[dp->arg_index].a.a_ushort; - SNPRINTF_BUF (arg); - } - break; - case TYPE_INT: - { - int arg = a.arg[dp->arg_index].a.a_int; - SNPRINTF_BUF (arg); - } - break; - case TYPE_UINT: - { - unsigned int arg = a.arg[dp->arg_index].a.a_uint; - SNPRINTF_BUF (arg); - } - break; - case TYPE_LONGINT: - { - long int arg = a.arg[dp->arg_index].a.a_longint; - SNPRINTF_BUF (arg); - } - break; - case TYPE_ULONGINT: - { - unsigned long int arg = a.arg[dp->arg_index].a.a_ulongint; - SNPRINTF_BUF (arg); - } - break; + switch (type) { + case TYPE_SCHAR: { + int arg = a.arg[dp->arg_index].a.a_schar; + SNPRINTF_BUF(arg); + } + break; + case TYPE_UCHAR: { + unsigned int arg = a.arg[dp->arg_index].a.a_uchar; + SNPRINTF_BUF(arg); + } + break; + case TYPE_SHORT: { + int arg = a.arg[dp->arg_index].a.a_short; + SNPRINTF_BUF(arg); + } + break; + case TYPE_USHORT: { + unsigned int arg = a.arg[dp->arg_index].a.a_ushort; + SNPRINTF_BUF(arg); + } + break; + case TYPE_INT: { + int arg = a.arg[dp->arg_index].a.a_int; + SNPRINTF_BUF(arg); + } + break; + case TYPE_UINT: { + unsigned int arg = a.arg[dp->arg_index].a.a_uint; + SNPRINTF_BUF(arg); + } + break; + case TYPE_LONGINT: { + long int arg = a.arg[dp->arg_index].a.a_longint; + SNPRINTF_BUF(arg); + } + break; + case TYPE_ULONGINT: { + unsigned long int arg = a.arg[dp->arg_index].a.a_ulongint; + SNPRINTF_BUF(arg); + } + break; #if HAVE_LONG_LONG_INT - case TYPE_LONGLONGINT: - { - long long int arg = a.arg[dp->arg_index].a.a_longlongint; - SNPRINTF_BUF (arg); - } - break; - case TYPE_ULONGLONGINT: - { - unsigned long long int arg = a.arg[dp->arg_index].a.a_ulonglongint; - SNPRINTF_BUF (arg); - } - break; -#endif - case TYPE_DOUBLE: - { - double arg = a.arg[dp->arg_index].a.a_double; - SNPRINTF_BUF (arg); - } - break; - case TYPE_LONGDOUBLE: - { - long double arg = a.arg[dp->arg_index].a.a_longdouble; - SNPRINTF_BUF (arg); - } - break; - case TYPE_CHAR: - { - int arg = a.arg[dp->arg_index].a.a_char; - SNPRINTF_BUF (arg); - } - break; + case TYPE_LONGLONGINT: { + long long int arg = a.arg[dp->arg_index].a.a_longlongint; + SNPRINTF_BUF(arg); + } + break; + case TYPE_ULONGLONGINT: { + unsigned long long int arg = a.arg[dp->arg_index].a.a_ulonglongint; + SNPRINTF_BUF(arg); + } + break; +#endif + case TYPE_DOUBLE: { + double arg = a.arg[dp->arg_index].a.a_double; + SNPRINTF_BUF(arg); + } + break; + case TYPE_LONGDOUBLE: { + long double arg = a.arg[dp->arg_index].a.a_longdouble; + SNPRINTF_BUF(arg); + } + break; + case TYPE_CHAR: { + int arg = a.arg[dp->arg_index].a.a_char; + SNPRINTF_BUF(arg); + } + break; #if HAVE_WINT_T - case TYPE_WIDE_CHAR: - { - wint_t arg = a.arg[dp->arg_index].a.a_wide_char; - SNPRINTF_BUF (arg); - } - break; -#endif - case TYPE_STRING: - { - const char *arg = a.arg[dp->arg_index].a.a_string; - SNPRINTF_BUF (arg); - } - break; + case TYPE_WIDE_CHAR: { + wint_t arg = a.arg[dp->arg_index].a.a_wide_char; + SNPRINTF_BUF(arg); + } + break; +#endif + case TYPE_STRING: { + const char *arg = a.arg[dp->arg_index].a.a_string; + SNPRINTF_BUF(arg); + } + break; #if HAVE_WCHAR_T - case TYPE_WIDE_STRING: - { - const wchar_t *arg = a.arg[dp->arg_index].a.a_wide_string; - SNPRINTF_BUF (arg); - } - break; -#endif - case TYPE_POINTER: - { - void *arg = a.arg[dp->arg_index].a.a_pointer; - SNPRINTF_BUF (arg); - } - break; - default: - abort (); - } + case TYPE_WIDE_STRING: { + const wchar_t *arg = a.arg[dp->arg_index].a.a_wide_string; + SNPRINTF_BUF(arg); + } + break; +#endif + case TYPE_POINTER: { + void *arg = a.arg[dp->arg_index].a.a_pointer; + SNPRINTF_BUF(arg); + } + break; + default: + abort(); + } #if USE_SNPRINTF - /* Portability: Not all implementations of snprintf() - are ISO C 99 compliant. Determine the number of - bytes that snprintf() has produced or would have - produced. */ - if (count >= 0) - { - /* Verify that snprintf() has NUL-terminated its - result. */ - if (count < maxlen - && ((TCHAR_T *) (result + length)) [count] != '\0') - abort (); - /* Portability hack. */ - if (retcount > count) - count = retcount; - } - else - { - /* snprintf() doesn't understand the '%n' - directive. */ - if (fbp[1] != '\0') - { - /* Don't use the '%n' directive; instead, look - at the snprintf() return value. */ - fbp[1] = '\0'; - continue; - } - else - { - /* Look at the snprintf() return value. */ - if (retcount < 0) - { - /* HP-UX 10.20 snprintf() is doubly deficient: - It doesn't understand the '%n' directive, - *and* it returns -1 (rather than the length - that would have been required) when the - buffer is too small. */ - size_t bigger_need = - xsum (xtimes (allocated, 2), 12); - ENSURE_ALLOCATION (bigger_need); - continue; - } - else - count = retcount; - } - } -#endif - - /* Attempt to handle failure. */ - if (count < 0) - { - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = EINVAL; - return NULL; - } + /* Portability: Not all implementations of snprintf() + are ISO C 99 compliant. Determine the number of + bytes that snprintf() has produced or would have + produced. */ + if (count >= 0) { + /* Verify that snprintf() has NUL-terminated its + result. */ + if (count < maxlen + && ((TCHAR_T *)(result + length)) [count] != '\0') + abort(); + /* Portability hack. */ + if (retcount > count) + count = retcount; + } else { + /* snprintf() doesn't understand the '%n' + directive. */ + if (fbp[1] != '\0') { + /* Don't use the '%n' directive; instead, look + at the snprintf() return value. */ + fbp[1] = '\0'; + continue; + } else { + /* Look at the snprintf() return value. */ + if (retcount < 0) { + /* HP-UX 10.20 snprintf() is doubly deficient: + It doesn't understand the '%n' directive, + *and* it returns -1 (rather than the length + that would have been required) when the + buffer is too small. */ + size_t bigger_need = + xsum(xtimes(allocated, 2), 12); + ENSURE_ALLOCATION(bigger_need); + continue; + } else + count = retcount; + } + } +#endif + + /* Attempt to handle failure. */ + if (count < 0) { + if (!(result == resultbuf || result == NULL)) + free(result); + if (buf_malloced != NULL) + free(buf_malloced); + CLEANUP(); + errno = EINVAL; + return NULL; + } #if USE_SNPRINTF - /* Handle overflow of the allocated buffer. - If such an overflow occurs, a C99 compliant snprintf() - returns a count >= maxlen. However, a non-compliant - snprintf() function returns only count = maxlen - 1. To - cover both cases, test whether count >= maxlen - 1. */ - if ((unsigned int) count + 1 >= maxlen) - { - /* If maxlen already has attained its allowed maximum, - allocating more memory will not increase maxlen. - Instead of looping, bail out. */ - if (maxlen == INT_MAX / TCHARS_PER_DCHAR) - goto overflow; - else - { - /* Need at least count * sizeof (TCHAR_T) bytes. - But allocate proportionally, to avoid looping - eternally if snprintf() reports a too small - count. */ - size_t n = - xmax (xsum (length, - (count + TCHARS_PER_DCHAR - 1) - / TCHARS_PER_DCHAR), - xtimes (allocated, 2)); - - ENSURE_ALLOCATION (n); - continue; - } - } + /* Handle overflow of the allocated buffer. + If such an overflow occurs, a C99 compliant snprintf() + returns a count >= maxlen. However, a non-compliant + snprintf() function returns only count = maxlen - 1. To + cover both cases, test whether count >= maxlen - 1. */ + if ((unsigned int) count + 1 >= maxlen) { + /* If maxlen already has attained its allowed maximum, + allocating more memory will not increase maxlen. + Instead of looping, bail out. */ + if (maxlen == INT_MAX / TCHARS_PER_DCHAR) + goto overflow; + else { + /* Need at least count * sizeof (TCHAR_T) bytes. + But allocate proportionally, to avoid looping + eternally if snprintf() reports a too small + count. */ + size_t n = + xmax(xsum(length, + (count + TCHARS_PER_DCHAR - 1) + / TCHARS_PER_DCHAR), + xtimes(allocated, 2)); + + ENSURE_ALLOCATION(n); + continue; + } + } #endif #if NEED_PRINTF_UNBOUNDED_PRECISION - if (prec_ourselves) - { - /* Handle the precision. */ - TCHAR_T *prec_ptr = + if (prec_ourselves) { + /* Handle the precision. */ + TCHAR_T *prec_ptr = # if USE_SNPRINTF - (TCHAR_T *) (result + length); + (TCHAR_T *)(result + length); # else - tmp; + tmp; # endif - size_t prefix_count; - size_t move; + size_t prefix_count; + size_t move; - prefix_count = 0; - /* Put the additional zeroes after the sign. */ - if (count >= 1 - && (*prec_ptr == '-' || *prec_ptr == '+' - || *prec_ptr == ' ')) - prefix_count = 1; - /* Put the additional zeroes after the 0x prefix if - (flags & FLAG_ALT) || (dp->conversion == 'p'). */ - else if (count >= 2 - && prec_ptr[0] == '0' - && (prec_ptr[1] == 'x' || prec_ptr[1] == 'X')) - prefix_count = 2; - - move = count - prefix_count; - if (precision > move) - { - /* Insert zeroes. */ - size_t insert = precision - move; - TCHAR_T *prec_end; + prefix_count = 0; + /* Put the additional zeroes after the sign. */ + if (count >= 1 + && (*prec_ptr == '-' || *prec_ptr == '+' + || *prec_ptr == ' ')) + prefix_count = 1; + /* Put the additional zeroes after the 0x prefix if + (flags & FLAG_ALT) || (dp->conversion == 'p'). */ + else if (count >= 2 + && prec_ptr[0] == '0' + && (prec_ptr[1] == 'x' || prec_ptr[1] == 'X')) + prefix_count = 2; + + move = count - prefix_count; + if (precision > move) { + /* Insert zeroes. */ + size_t insert = precision - move; + TCHAR_T *prec_end; # if USE_SNPRINTF - size_t n = - xsum (length, - (count + insert + TCHARS_PER_DCHAR - 1) - / TCHARS_PER_DCHAR); - length += (count + TCHARS_PER_DCHAR - 1) / TCHARS_PER_DCHAR; - ENSURE_ALLOCATION (n); - length -= (count + TCHARS_PER_DCHAR - 1) / TCHARS_PER_DCHAR; - prec_ptr = (TCHAR_T *) (result + length); -# endif - - prec_end = prec_ptr + count; - prec_ptr += prefix_count; - - while (prec_end > prec_ptr) - { - prec_end--; - prec_end[insert] = prec_end[0]; - } - - prec_end += insert; - do - *--prec_end = '0'; - while (prec_end > prec_ptr); - - count += insert; - } - } + size_t n = + xsum(length, + (count + insert + TCHARS_PER_DCHAR - 1) + / TCHARS_PER_DCHAR); + length += (count + TCHARS_PER_DCHAR - 1) / TCHARS_PER_DCHAR; + ENSURE_ALLOCATION(n); + length -= (count + TCHARS_PER_DCHAR - 1) / TCHARS_PER_DCHAR; + prec_ptr = (TCHAR_T *)(result + length); +# endif + + prec_end = prec_ptr + count; + prec_ptr += prefix_count; + + while (prec_end > prec_ptr) { + prec_end--; + prec_end[insert] = prec_end[0]; + } + + prec_end += insert; + do + *--prec_end = '0'; + while (prec_end > prec_ptr); + + count += insert; + } + } #endif #if !DCHAR_IS_TCHAR # if !USE_SNPRINTF - if (count >= tmp_length) - /* tmp_length was incorrectly calculated - fix the - code above! */ - abort (); -# endif - - /* Convert from TCHAR_T[] to DCHAR_T[]. */ - if (dp->conversion == 'c' || dp->conversion == 's') - { - /* type = TYPE_CHAR or TYPE_WIDE_CHAR or TYPE_STRING - TYPE_WIDE_STRING. - The result string is not certainly ASCII. */ - const TCHAR_T *tmpsrc; - DCHAR_T *tmpdst; - size_t tmpdst_len; - /* This code assumes that TCHAR_T is 'char'. */ - typedef int TCHAR_T_verify - [2 * (sizeof (TCHAR_T) == 1) - 1]; + if (count >= tmp_length) + /* tmp_length was incorrectly calculated - fix the + code above! */ + abort(); +# endif + + /* Convert from TCHAR_T[] to DCHAR_T[]. */ + if (dp->conversion == 'c' || dp->conversion == 's') { + /* type = TYPE_CHAR or TYPE_WIDE_CHAR or TYPE_STRING + TYPE_WIDE_STRING. + The result string is not certainly ASCII. */ + const TCHAR_T *tmpsrc; + DCHAR_T *tmpdst; + size_t tmpdst_len; + /* This code assumes that TCHAR_T is 'char'. */ + typedef int TCHAR_T_verify + [2 * (sizeof(TCHAR_T) == 1) - 1]; # if USE_SNPRINTF - tmpsrc = (TCHAR_T *) (result + length); + tmpsrc = (TCHAR_T *)(result + length); # else - tmpsrc = tmp; + tmpsrc = tmp; # endif - tmpdst = NULL; - tmpdst_len = 0; - if (DCHAR_CONV_FROM_ENCODING (locale_charset (), - iconveh_question_mark, - tmpsrc, count, - NULL, - &tmpdst, &tmpdst_len) - < 0) - { - int saved_errno = errno; - if (!(result == resultbuf || result == NULL)) - free (result); - if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); - errno = saved_errno; - return NULL; - } - ENSURE_ALLOCATION (xsum (length, tmpdst_len)); - DCHAR_CPY (result + length, tmpdst, tmpdst_len); - free (tmpdst); - count = tmpdst_len; - } - else - { - /* The result string is ASCII. - Simple 1:1 conversion. */ + tmpdst = NULL; + tmpdst_len = 0; + if (DCHAR_CONV_FROM_ENCODING(locale_charset(), + iconveh_question_mark, + tmpsrc, count, + NULL, + &tmpdst, &tmpdst_len) + < 0) { + int saved_errno = errno; + if (!(result == resultbuf || result == NULL)) + free(result); + if (buf_malloced != NULL) + free(buf_malloced); + CLEANUP(); + errno = saved_errno; + return NULL; + } + ENSURE_ALLOCATION(xsum(length, tmpdst_len)); + DCHAR_CPY(result + length, tmpdst, tmpdst_len); + free(tmpdst); + count = tmpdst_len; + } else { + /* The result string is ASCII. + Simple 1:1 conversion. */ # if USE_SNPRINTF - /* If sizeof (DCHAR_T) == sizeof (TCHAR_T), it's a - no-op conversion, in-place on the array starting - at (result + length). */ - if (sizeof (DCHAR_T) != sizeof (TCHAR_T)) -# endif - { - const TCHAR_T *tmpsrc; - DCHAR_T *tmpdst; - size_t n; + /* If sizeof (DCHAR_T) == sizeof (TCHAR_T), it's a + no-op conversion, in-place on the array starting + at (result + length). */ + if (sizeof(DCHAR_T) != sizeof(TCHAR_T)) +# endif + { + const TCHAR_T *tmpsrc; + DCHAR_T *tmpdst; + size_t n; # if USE_SNPRINTF - if (result == resultbuf) - { - tmpsrc = (TCHAR_T *) (result + length); - /* ENSURE_ALLOCATION will not move tmpsrc - (because it's part of resultbuf). */ - ENSURE_ALLOCATION (xsum (length, count)); - } - else - { - /* ENSURE_ALLOCATION will move the array - (because it uses realloc(). */ - ENSURE_ALLOCATION (xsum (length, count)); - tmpsrc = (TCHAR_T *) (result + length); - } + if (result == resultbuf) { + tmpsrc = (TCHAR_T *)(result + length); + /* ENSURE_ALLOCATION will not move tmpsrc + (because it's part of resultbuf). */ + ENSURE_ALLOCATION(xsum(length, count)); + } else { + /* ENSURE_ALLOCATION will move the array + (because it uses realloc(). */ + ENSURE_ALLOCATION(xsum(length, count)); + tmpsrc = (TCHAR_T *)(result + length); + } # else - tmpsrc = tmp; - ENSURE_ALLOCATION (xsum (length, count)); + tmpsrc = tmp; + ENSURE_ALLOCATION(xsum(length, count)); # endif - tmpdst = result + length; - /* Copy backwards, because of overlapping. */ - tmpsrc += count; - tmpdst += count; - for (n = count; n > 0; n--) - *--tmpdst = (unsigned char) *--tmpsrc; - } - } + tmpdst = result + length; + /* Copy backwards, because of overlapping. */ + tmpsrc += count; + tmpdst += count; + for (n = count; n > 0; n--) + *--tmpdst = (unsigned char) * --tmpsrc; + } + } #endif #if DCHAR_IS_TCHAR && !USE_SNPRINTF - /* Make room for the result. */ - if (count > allocated - length) - { - /* Need at least count elements. But allocate - proportionally. */ - size_t n = - xmax (xsum (length, count), xtimes (allocated, 2)); + /* Make room for the result. */ + if (count > allocated - length) { + /* Need at least count elements. But allocate + proportionally. */ + size_t n = + xmax(xsum(length, count), xtimes(allocated, 2)); - ENSURE_ALLOCATION (n); - } + ENSURE_ALLOCATION(n); + } #endif - /* Here count <= allocated - length. */ + /* Here count <= allocated - length. */ - /* Perform padding. */ + /* Perform padding. */ #if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION - if (pad_ourselves && has_width) - { - size_t w; + if (pad_ourselves && has_width) { + size_t w; # if ENABLE_UNISTDIO - /* Outside POSIX, it's preferrable to compare the width - against the number of _characters_ of the converted - value. */ - w = DCHAR_MBSNLEN (result + length, count); + /* Outside POSIX, it's preferrable to compare the width + against the number of _characters_ of the converted + value. */ + w = DCHAR_MBSNLEN(result + length, count); # else - /* The width is compared against the number of _bytes_ - of the converted value, says POSIX. */ - w = count; -# endif - if (w < width) - { - size_t pad = width - w; + /* The width is compared against the number of _bytes_ + of the converted value, says POSIX. */ + w = count; +# endif + if (w < width) { + size_t pad = width - w; # if USE_SNPRINTF - /* Make room for the result. */ - if (xsum (count, pad) > allocated - length) - { - /* Need at least count + pad elements. But - allocate proportionally. */ - size_t n = - xmax (xsum3 (length, count, pad), - xtimes (allocated, 2)); - - length += count; - ENSURE_ALLOCATION (n); - length -= count; - } - /* Here count + pad <= allocated - length. */ + /* Make room for the result. */ + if (xsum(count, pad) > allocated - length) { + /* Need at least count + pad elements. But + allocate proportionally. */ + size_t n = + xmax(xsum3(length, count, pad), + xtimes(allocated, 2)); + + length += count; + ENSURE_ALLOCATION(n); + length -= count; + } + /* Here count + pad <= allocated - length. */ # endif - { + { # if !DCHAR_IS_TCHAR || USE_SNPRINTF - DCHAR_T * const rp = result + length; + DCHAR_T *const rp = result + length; # else - DCHAR_T * const rp = tmp; + DCHAR_T *const rp = tmp; # endif - DCHAR_T *p = rp + count; - DCHAR_T *end = p + pad; + DCHAR_T *p = rp + count; + DCHAR_T *end = p + pad; # if NEED_PRINTF_FLAG_ZERO - DCHAR_T *pad_ptr; + DCHAR_T *pad_ptr; # if !DCHAR_IS_TCHAR - if (dp->conversion == 'c' - || dp->conversion == 's') - /* No zero-padding for string directives. */ - pad_ptr = NULL; - else + if (dp->conversion == 'c' + || dp->conversion == 's') + /* No zero-padding for string directives. */ + pad_ptr = NULL; + else # endif - { - pad_ptr = (*rp == '-' ? rp + 1 : rp); - /* No zero-padding of "inf" and "nan". */ - if ((*pad_ptr >= 'A' && *pad_ptr <= 'Z') - || (*pad_ptr >= 'a' && *pad_ptr <= 'z')) - pad_ptr = NULL; - } -# endif - /* The generated string now extends from rp to p, - with the zero padding insertion point being at - pad_ptr. */ - - count = count + pad; /* = end - rp */ - - if (flags & FLAG_LEFT) - { - /* Pad with spaces on the right. */ - for (; pad > 0; pad--) - *p++ = ' '; - } + { + pad_ptr = (*rp == '-' ? rp + 1 : rp); + /* No zero-padding of "inf" and "nan". */ + if ((*pad_ptr >= 'A' && *pad_ptr <= 'Z') + || (*pad_ptr >= 'a' && *pad_ptr <= 'z')) + pad_ptr = NULL; + } +# endif + /* The generated string now extends from rp to p, + with the zero padding insertion point being at + pad_ptr. */ + + count = count + pad; /* = end - rp */ + + if (flags & FLAG_LEFT) { + /* Pad with spaces on the right. */ + for (; pad > 0; pad--) + *p++ = ' '; + } # if NEED_PRINTF_FLAG_ZERO - else if ((flags & FLAG_ZERO) && pad_ptr != NULL) - { - /* Pad with zeroes. */ - DCHAR_T *q = end; - - while (p > pad_ptr) - *--q = *--p; - for (; pad > 0; pad--) - *p++ = '0'; - } -# endif - else - { - /* Pad with spaces on the left. */ - DCHAR_T *q = end; - - while (p > rp) - *--q = *--p; - for (; pad > 0; pad--) - *p++ = ' '; - } - } - } - } + else if ((flags & FLAG_ZERO) && pad_ptr != NULL) { + /* Pad with zeroes. */ + DCHAR_T *q = end; + + while (p > pad_ptr) + *--q = *--p; + for (; pad > 0; pad--) + *p++ = '0'; + } +# endif + else { + /* Pad with spaces on the left. */ + DCHAR_T *q = end; + + while (p > rp) + *--q = *--p; + for (; pad > 0; pad--) + *p++ = ' '; + } + } + } + } #endif #if DCHAR_IS_TCHAR && !USE_SNPRINTF - if (count >= tmp_length) - /* tmp_length was incorrectly calculated - fix the - code above! */ - abort (); + if (count >= tmp_length) + /* tmp_length was incorrectly calculated - fix the + code above! */ + abort(); #endif - /* Here still count <= allocated - length. */ + /* Here still count <= allocated - length. */ #if !DCHAR_IS_TCHAR || USE_SNPRINTF - /* The snprintf() result did fit. */ + /* The snprintf() result did fit. */ #else - /* Append the sprintf() result. */ - memcpy (result + length, tmp, count * sizeof (DCHAR_T)); + /* Append the sprintf() result. */ + memcpy(result + length, tmp, count * sizeof(DCHAR_T)); #endif #if !USE_SNPRINTF - if (tmp != tmpbuf) - free (tmp); + if (tmp != tmpbuf) + free(tmp); #endif #if NEED_PRINTF_DIRECTIVE_F - if (dp->conversion == 'F') - { - /* Convert the %f result to upper case for %F. */ - DCHAR_T *rp = result + length; - size_t rc; - for (rc = count; rc > 0; rc--, rp++) - if (*rp >= 'a' && *rp <= 'z') - *rp = *rp - 'a' + 'A'; - } + if (dp->conversion == 'F') { + /* Convert the %f result to upper case for %F. */ + DCHAR_T *rp = result + length; + size_t rc; + for (rc = count; rc > 0; rc--, rp++) + if (*rp >= 'a' && *rp <= 'z') + *rp = *rp - 'a' + 'A'; + } #endif - length += count; - break; - } - } - } + length += count; + break; + } + } } + } /* Add the final NUL. */ - ENSURE_ALLOCATION (xsum (length, 1)); + ENSURE_ALLOCATION(xsum(length, 1)); result[length] = '\0'; - if (result != resultbuf && length + 1 < allocated) - { - /* Shrink the allocated memory if possible. */ - DCHAR_T *memory; - - memory = (DCHAR_T *) realloc (result, (length + 1) * sizeof (DCHAR_T)); - if (memory != NULL) - result = memory; - } + if (result != resultbuf && length + 1 < allocated) { + /* Shrink the allocated memory if possible. */ + DCHAR_T *memory; + + memory = (DCHAR_T *) realloc(result, (length + 1) * sizeof(DCHAR_T)); + if (memory != NULL) + result = memory; + } if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); + free(buf_malloced); + CLEANUP(); *lengthp = length; /* Note that we can produce a big string of a length > INT_MAX. POSIX says that snprintf() fails with errno = EOVERFLOW in this case, but @@ -4642,22 +4228,22 @@ not have this limitation. */ return result; - overflow: +overflow: if (!(result == resultbuf || result == NULL)) - free (result); + free(result); if (buf_malloced != NULL) - free (buf_malloced); - CLEANUP (); + free(buf_malloced); + CLEANUP(); errno = EOVERFLOW; return NULL; - out_of_memory: +out_of_memory: if (!(result == resultbuf || result == NULL)) - free (result); + free(result); if (buf_malloced != NULL) - free (buf_malloced); - out_of_memory_1: - CLEANUP (); + free(buf_malloced); +out_of_memory_1: + CLEANUP(); errno = ENOMEM; return NULL; }
View file
LiVES-2.8.4.tar.bz2/intl/vasnprintf.h -> LiVES-2.8.6.tar.bz2/intl/vasnprintf.h
Changed
@@ -66,10 +66,10 @@ free (output); } */ -extern char * asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...) - __attribute__ ((__format__ (__printf__, 3, 4))); -extern char * vasnprintf (char *resultbuf, size_t *lengthp, const char *format, va_list args) - __attribute__ ((__format__ (__printf__, 3, 0))); +extern char *asnprintf(char *resultbuf, size_t *lengthp, const char *format, ...) +__attribute__((__format__(__printf__, 3, 4))); +extern char *vasnprintf(char *resultbuf, size_t *lengthp, const char *format, va_list args) +__attribute__((__format__(__printf__, 3, 0))); #ifdef __cplusplus }
View file
LiVES-2.8.4.tar.bz2/intl/vasnwprintf.h -> LiVES-2.8.6.tar.bz2/intl/vasnwprintf.h
Changed
@@ -36,8 +36,8 @@ if no dynamic memory allocation was necessary) and set *LENGTHP to the number of resulting bytes, excluding the trailing NUL. Upon error, set errno and return NULL. */ -extern wchar_t * asnwprintf (wchar_t *resultbuf, size_t *lengthp, const wchar_t *format, ...); -extern wchar_t * vasnwprintf (wchar_t *resultbuf, size_t *lengthp, const wchar_t *format, va_list args); +extern wchar_t *asnwprintf(wchar_t *resultbuf, size_t *lengthp, const wchar_t *format, ...); +extern wchar_t *vasnwprintf(wchar_t *resultbuf, size_t *lengthp, const wchar_t *format, va_list args); #ifdef __cplusplus }
View file
LiVES-2.8.4.tar.bz2/intl/wprintf-parse.h -> LiVES-2.8.6.tar.bz2/intl/wprintf-parse.h
Changed
@@ -34,16 +34,15 @@ #define ARG_NONE (~(size_t)0) /* A parsed directive. */ -typedef struct -{ - const wchar_t* dir_start; - const wchar_t* dir_end; +typedef struct { + const wchar_t *dir_start; + const wchar_t *dir_end; int flags; - const wchar_t* width_start; - const wchar_t* width_end; + const wchar_t *width_start; + const wchar_t *width_end; size_t width_arg_index; - const wchar_t* precision_start; - const wchar_t* precision_end; + const wchar_t *precision_start; + const wchar_t *precision_end; size_t precision_arg_index; wchar_t conversion; /* d i o u x X f e E g G c s p n U % but not C S */ size_t arg_index; @@ -51,8 +50,7 @@ wchar_t_directive; /* A parsed format string. */ -typedef struct -{ +typedef struct { size_t count; wchar_t_directive *dir; size_t max_width_length; @@ -70,6 +68,6 @@ #else extern #endif -int wprintf_parse (const wchar_t *format, wchar_t_directives *d, arguments *a); +int wprintf_parse(const wchar_t *format, wchar_t_directives *d, arguments *a); #endif /* _WPRINTF_PARSE_H */
View file
LiVES-2.8.4.tar.bz2/intl/xsize.h -> LiVES-2.8.6.tar.bz2/intl/xsize.h
Changed
@@ -52,10 +52,9 @@ /* Sum of two sizes, with overflow check. */ static inline size_t #if __GNUC__ >= 3 -__attribute__ ((__pure__)) +__attribute__((__pure__)) #endif -xsum (size_t size1, size_t size2) -{ +xsum(size_t size1, size_t size2) { size_t sum = size1 + size2; return (sum >= size1 ? sum : SIZE_MAX); } @@ -63,30 +62,27 @@ /* Sum of three sizes, with overflow check. */ static inline size_t #if __GNUC__ >= 3 -__attribute__ ((__pure__)) +__attribute__((__pure__)) #endif -xsum3 (size_t size1, size_t size2, size_t size3) -{ - return xsum (xsum (size1, size2), size3); +xsum3(size_t size1, size_t size2, size_t size3) { + return xsum(xsum(size1, size2), size3); } /* Sum of four sizes, with overflow check. */ static inline size_t #if __GNUC__ >= 3 -__attribute__ ((__pure__)) +__attribute__((__pure__)) #endif -xsum4 (size_t size1, size_t size2, size_t size3, size_t size4) -{ - return xsum (xsum (xsum (size1, size2), size3), size4); +xsum4(size_t size1, size_t size2, size_t size3, size_t size4) { + return xsum(xsum(xsum(size1, size2), size3), size4); } /* Maximum of two sizes, with overflow check. */ static inline size_t #if __GNUC__ >= 3 -__attribute__ ((__pure__)) +__attribute__((__pure__)) #endif -xmax (size_t size1, size_t size2) -{ +xmax(size_t size1, size_t size2) { /* No explicit check is needed here, because for any n: max (SIZE_MAX, n) == SIZE_MAX and max (n, SIZE_MAX) == SIZE_MAX. */ return (size1 >= size2 ? size1 : size2);
View file
LiVES-2.8.4.tar.bz2/libOSC/Makefile.in -> LiVES-2.8.6.tar.bz2/libOSC/Makefile.in
Changed
@@ -327,8 +327,6 @@ GENCAT = @GENCAT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GLEE_CFLAGS = @GLEE_CFLAGS@ -GLEE_LIBS = @GLEE_LIBS@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -465,6 +463,8 @@ VERSION = @VERSION@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ +WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ +WAYLAND_LIBS = @WAYLAND_LIBS@ WEED_CFLAGS = @WEED_CFLAGS@ WEED_COMPAT_CFLAGS = @WEED_COMPAT_CFLAGS@ WEED_COMPAT_LIBS = @WEED_COMPAT_LIBS@
View file
LiVES-2.8.4.tar.bz2/libOSC/OSC-address-space.c -> LiVES-2.8.6.tar.bz2/libOSC/OSC-address-space.c
Changed
@@ -89,19 +89,19 @@ static void MakeFreeContainersList(int n) { int i; - for (i = 0; i+1 < n; ++i) { - freeContainers[i].next = &(freeContainers[i+1]); + for (i = 0; i + 1 < n; ++i) { + freeContainers[i].next = &(freeContainers[i + 1]); } - freeContainers[n-1].next = 0; + freeContainers[n - 1].next = 0; } static void MakeFreeMethodsList(int n) { int i; - for (i = 0; i+1 < n; ++i) { - freeMethods[i].next = &(freeMethods[i+1]); + for (i = 0; i + 1 < n; ++i) { + freeMethods[i].next = &(freeMethods[i + 1]); } - freeMethods[n-1].next = 0; + freeMethods[n - 1].next = 0; } OSCcontainer OSCInitAddressSpace(struct OSCAddressSpaceMemoryTuner *t) { @@ -234,8 +234,8 @@ numRemoved = 0; for (i = 0; i < parent->numChildren; ++i) { if (parent->children[i] != child) { - parent->children[i-numRemoved] = parent->children[i]; - parent->childrenNames[i-numRemoved] = parent->childrenNames[i]; + parent->children[i - numRemoved] = parent->children[i]; + parent->childrenNames[i - numRemoved] = parent->childrenNames[i]; } else { ++numRemoved; } @@ -264,9 +264,9 @@ otherName); } found = TRUE; - for (j = i+1; j < parent->numChildren; ++j) { - parent->children[j-1] = parent->children[j]; - parent->childrenNames[j-1] = parent->childrenNames[j]; + for (j = i + 1; j < parent->numChildren; ++j) { + parent->children[j - 1] = parent->children[j]; + parent->childrenNames[j - 1] = parent->childrenNames[j]; --(parent->numChildren); } } @@ -343,8 +343,8 @@ return length; } - strcpy(target+sublength, myName); - target[length-1] = '/'; + strcpy(target + sublength, myName); + target[length - 1] = '/'; target[length] = '\0'; return length; @@ -356,7 +356,7 @@ if (maxLength <= 1) return FALSE; - lenNeeded = gasHelp(target, maxLength-1, c) + 1; /* -1, +1 are for null char. */ + lenNeeded = gasHelp(target, maxLength - 1, c) + 1; /* -1, +1 are for null char. */ if (lenNeeded > maxLength) { OSCProblem("Address string too long (room for %d chars; need %d)", maxLength, lenNeeded); @@ -441,7 +441,7 @@ } if (n == 0) fatal_error("ContainerAliases: internal inconsistency"); - return n-1; + return n - 1; } #define BIG_ADDRESS 50 @@ -520,7 +520,7 @@ return 0; } - result = DispatchSubMessage(pattern+1, OSCTopLevelContainer); + result = DispatchSubMessage(pattern + 1, OSCTopLevelContainer); return result.begin; } @@ -547,7 +547,7 @@ if (node == 0) { /* Excuse the hairyness of the code to generate the error message. */ if (OSCGetAddressString(offendingAddr, - LONG_ADDR_LEN-strlen(c->methodNames[i]), + LONG_ADDR_LEN - strlen(c->methodNames[i]), c)) { strcat(offendingAddr, c->methodNames[i]); } else {
View file
LiVES-2.8.4.tar.bz2/libOSC/OSC-callbacklist.c -> LiVES-2.8.6.tar.bz2/libOSC/OSC-callbacklist.c
Changed
@@ -57,10 +57,10 @@ /* Initialize list of freeNodes */ freeNodes = &(allNodes[0]); - for (i = 0; i < numNodes-1; ++i) { - allNodes[i].next = &(allNodes[i+1]); + for (i = 0; i < numNodes - 1; ++i) { + allNodes[i].next = &(allNodes[i + 1]); } - allNodes[numNodes-1].next = 0; + allNodes[numNodes - 1].next = 0; return TRUE; }
View file
LiVES-2.8.4.tar.bz2/libOSC/OSC-pattern-match.c -> LiVES-2.8.6.tar.bz2/libOSC/OSC-pattern-match.c
Changed
@@ -51,7 +51,7 @@ if (test[0] == 0) { if (pattern[0] == '*') - return PatternMatch(pattern+1,test); + return PatternMatch(pattern + 1, test); else return FALSE; } @@ -62,30 +62,30 @@ case '?' : return PatternMatch(pattern + 1, test + 1); case '*' : - if (PatternMatch(pattern+1, test)) { + if (PatternMatch(pattern + 1, test)) { return TRUE; } else { - return PatternMatch(pattern, test+1); + return PatternMatch(pattern, test + 1); } case ']' : case '}' : - OSCWarning("Spurious %c in pattern \".../%s/...\"",pattern[0], theWholePattern); + OSCWarning("Spurious %c in pattern \".../%s/...\"", pattern[0], theWholePattern); return FALSE; case '[' : - return MatchBrackets(pattern,test); + return MatchBrackets(pattern, test); case '{' : - return MatchList(pattern,test); + return MatchList(pattern, test); case '\\' : if (pattern[1] == 0) { return test[0] == 0; } else if (pattern[1] == test[0]) { - return PatternMatch(pattern+2,test+1); + return PatternMatch(pattern + 2, test + 1); } else { return FALSE; } default : if (pattern[0] == test[0]) { - return PatternMatch(pattern+1,test+1); + return PatternMatch(pattern + 1, test + 1); } else { return FALSE; } @@ -143,7 +143,7 @@ p++; } - return PatternMatch(p+1,test+1); + return PatternMatch(p + 1, test + 1); } static Boolean MatchList(const char *pattern, const char *test) {
View file
LiVES-2.8.4.tar.bz2/libOSC/OSC-priority-queue.c -> LiVES-2.8.6.tar.bz2/libOSC/OSC-priority-queue.c
Changed
@@ -120,7 +120,7 @@ --(q->n); for (i = goner; i < q->n; ++i) { - q->list[i] = q->list[i+1]; + q->list[i] = q->list[i + 1]; } } @@ -165,7 +165,7 @@ printf("OSC Priority queue at %p has %d elements:\n", q, q->n); for (i = 0; i < q->n; ++i) { - printf(" list[%2d] is %p, timetag = %"PRIu64"\n", i, q->list[i], *(uint64_t *)&(q->list[i]->timetag)); + printf(" list[%2d] is %p, timetag = %"PRIu64"\n", i, q->list[i], *(uint64_t *) & (q->list[i]->timetag)); } printf("\n\n"); } @@ -189,7 +189,7 @@ the one most recently returned by OSCQueueScanNext(), is q->scanIndex-1. */ - RemoveElement(q->scanIndex-1, q); + RemoveElement(q->scanIndex - 1, q); --(q->scanIndex); }
View file
LiVES-2.8.4.tar.bz2/libOSC/OSC-receive.c -> LiVES-2.8.6.tar.bz2/libOSC/OSC-receive.c
Changed
@@ -229,9 +229,9 @@ allPackets[i].buf = (*(globals.InitTimeMalloc))(OSC_BUFFLEN); if (allPackets[i].buf == 0) return FALSE; - allPackets[i].nextFree = &(allPackets[i+1]); + allPackets[i].nextFree = &(allPackets[i + 1]); } - allPackets[numReceiveBuffers-1].nextFree = ((struct OSCPacketBuffer_struct *) 0); + allPackets[numReceiveBuffers - 1].nextFree = ((struct OSCPacketBuffer_struct *) 0); freePackets = allPackets; return TRUE; @@ -330,9 +330,9 @@ if (allQD == 0) return FALSE; for (i = 0; i < numQueuedObjects; ++i) { - allQD[i].nextFree = &(allQD[i+1]); + allQD[i].nextFree = &(allQD[i + 1]); } - allQD[numQueuedObjects-1].nextFree = 0; + allQD[numQueuedObjects - 1].nextFree = 0; freeQDList = &(allQD[0]); return TRUE; @@ -458,7 +458,7 @@ printf("...bundle is empty.\n"); } else { printf("...bundle len %d, first count %d, first msg %s\n", - x->data.bundle.length, *((int *) x->data.bundle.bytes), x->data.bundle.bytes+4); + x->data.bundle.length, *((int *) x->data.bundle.bytes), x->data.bundle.bytes + 4); } } PrintPacket(x->myPacket); @@ -567,7 +567,7 @@ way to get a bus error when buf happens not to be 8-byte aligned: qd->timetag = *((OSCTimeTag *)(buf+8)); */ - memcpy(&(qd->timetag), buf+8, sizeof(OSCTimeTag)); + memcpy(&(qd->timetag), buf + 8, sizeof(OSCTimeTag)); if (OSCTT_Compare(qd->timetag, enclosingTimeTag) < 0) { OSCProblem("Time tag of sub-bundle is before time tag of enclosing bundle."); @@ -612,13 +612,13 @@ } if ((size + i + 4) > qd->data.bundle.length) { OSCProblem("Bad size count %d in bundle (only %d bytes left in entire bundle).", - size, qd->data.bundle.length-i-4); + size, qd->data.bundle.length - i - 4); DropBundle(qd->data.bundle.bytes, qd->data.bundle.length, qd->myPacket); goto bag; } /* Recursively handle element of bundle */ - InsertBundleOrMessage(qd->data.bundle.bytes+i+4, size, qd->myPacket, qd->timetag); + InsertBundleOrMessage(qd->data.bundle.bytes + i + 4, size, qd->myPacket, qd->timetag); i += 4 + size; } @@ -658,7 +658,7 @@ } args = OSCDataAfterAlignedString(qd->data.message.messageName, - qd->data.message.messageName+qd->data.message.length, + qd->data.message.messageName + qd->data.message.length, &DAAS_errormsg); if (args == 0) { @@ -773,7 +773,7 @@ } #ifdef PARANOID - if (bufPtr != p->buf+bufSizeNeeded) { + if (bufPtr != p->buf + bufSizeNeeded) { fatal_error("OSCScheduleInternalMessages: internal error"); } #endif @@ -800,12 +800,12 @@ NetworkReturnAddressPtr na = OSCPacketBufferGetClientAddr(packet); #ifndef IS_MINGW int n; - if (ioctl(na->sockfd, FIONREAD, &n, 0)==-1) return FALSE; + if (ioctl(na->sockfd, FIONREAD, &n, 0) == -1) return FALSE; #else long unsigned int n; - if (ioctlsocket(na->sockfd, FIONREAD, &n)==-1) return FALSE; + if (ioctlsocket(na->sockfd, FIONREAD, &n) == -1) return FALSE; #endif - if (n==0) return FALSE; + if (n == 0) return FALSE; return TRUE; } @@ -816,9 +816,9 @@ NetworkReturnAddressPtr na = OSCPacketBufferGetClientAddr(packet); n = recvfrom(na->sockfd, packet->buf, OSC_BUFFLEN, 0, - (struct sockaddr *) &(na->cl_addr), &(na->clilen)); + (struct sockaddr *) & (na->cl_addr), &(na->clilen)); - if (n<=0) { + if (n <= 0) { return FALSE; }
View file
LiVES-2.8.4.tar.bz2/libOSC/OSC-string-help.c -> LiVES-2.8.6.tar.bz2/libOSC/OSC-string-help.c
Changed
@@ -44,7 +44,7 @@ int i; - if ((boundary - string) %4 != 0) { + if ((boundary - string) % 4 != 0) { fatal_error("DataAfterAlignedString: bad boundary\n"); } @@ -69,7 +69,7 @@ } } - return (char *)(string+i); + return (char *)(string + i); } int OSCPaddedStrlen(const char *s) {
View file
LiVES-2.8.4.tar.bz2/libOSC/OSC-timetag.c -> LiVES-2.8.6.tar.bz2/libOSC/OSC-timetag.c
Changed
@@ -62,7 +62,7 @@ int OSCTT_Compare(OSCTimeTag left, OSCTimeTag right) { #if 0 printf("***** OSCTT_Compare(%llx, %llx): %d\n", left, right, - (left<right) ? -1 : ((left == right) ? 0 : 1)); + (left < right) ? -1 : ((left == right) ? 0 : 1)); #endif if (left < right) { return -1;
View file
LiVES-2.8.4.tar.bz2/libOSC/client/Makefile.in -> LiVES-2.8.6.tar.bz2/libOSC/client/Makefile.in
Changed
@@ -270,8 +270,6 @@ GENCAT = @GENCAT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GLEE_CFLAGS = @GLEE_CFLAGS@ -GLEE_LIBS = @GLEE_LIBS@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -408,6 +406,8 @@ VERSION = @VERSION@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ +WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ +WAYLAND_LIBS = @WAYLAND_LIBS@ WEED_CFLAGS = @WEED_CFLAGS@ WEED_COMPAT_CFLAGS = @WEED_COMPAT_CFLAGS@ WEED_COMPAT_LIBS = @WEED_COMPAT_LIBS@
View file
LiVES-2.8.4.tar.bz2/libOSC/client/OSC-client.c -> LiVES-2.8.6.tar.bz2/libOSC/client/OSC-client.c
Changed
@@ -290,7 +290,7 @@ buf->state = ONE_MSG_ARGS; } else { /* GET_ARGS or NEED_COUNT */ - CheckOverflow(buf, 4+paddedLength); + CheckOverflow(buf, 4 + paddedLength); if (buf->state == GET_ARGS) { /* Close the old message */ PatchMessageSize(buf); @@ -415,7 +415,7 @@ (with a double comma) so it won't look like a type tag string. */ - CheckOverflow(buf, len+4); /* Too conservative */ + CheckOverflow(buf, len + 4); /* Too conservative */ buf->bufptr += OSC_padStringWithAnExtraStupidComma(buf->bufptr, arg); @@ -458,10 +458,10 @@ dest[0] = ','; for (i = 0; str[i] != '\0'; i++) { - dest[i+1] = str[i]; + dest[i + 1] = str[i]; } - return OSC_WritePadding(dest, i+1); + return OSC_WritePadding(dest, i + 1); } static int OSC_WritePadding(char *dest, int i) {
View file
LiVES-2.8.4.tar.bz2/libOSC/client/OSC-timetag.c -> LiVES-2.8.6.tar.bz2/libOSC/client/OSC-timetag.c
Changed
@@ -62,7 +62,7 @@ int OSCTT_Compare(OSCTimeTag left, OSCTimeTag right) { #if 0 printf("***** OSCTT_Compare(%llx, %llx): %d\n", left, right, - (left<right) ? -1 : ((left == right) ? 0 : 1)); + (left < right) ? -1 : ((left == right) ? 0 : 1)); #endif if (left < right) { return -1;
View file
LiVES-2.8.4.tar.bz2/libOSC/sendOSC/Makefile.in -> LiVES-2.8.6.tar.bz2/libOSC/sendOSC/Makefile.in
Changed
@@ -242,8 +242,6 @@ GENCAT = @GENCAT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GLEE_CFLAGS = @GLEE_CFLAGS@ -GLEE_LIBS = @GLEE_LIBS@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -380,6 +378,8 @@ VERSION = @VERSION@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ +WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ +WAYLAND_LIBS = @WAYLAND_LIBS@ WEED_CFLAGS = @WEED_CFLAGS@ WEED_COMPAT_CFLAGS = @WEED_COMPAT_CFLAGS@ WEED_COMPAT_LIBS = @WEED_COMPAT_LIBS@
View file
LiVES-2.8.4.tar.bz2/libOSC/sendOSC/htmsocket.c -> LiVES-2.8.6.tar.bz2/libOSC/sendOSC/htmsocket.c
Changed
@@ -67,9 +67,9 @@ #define _S_IREAD 256 #define _S_IWRITE 128 int mkstemp(char *tmpl) { - int ret=-1; + int ret = -1; mktemp(tmpl); - ret=open(tmpl,O_RDWR|O_BINARY|O_CREAT|O_EXCL|_O_SHORT_LIVED, _S_IREAD|_S_IWRITE); + ret = open(tmpl, O_RDWR | O_BINARY | O_CREAT | O_EXCL | _O_SHORT_LIVED, _S_IREAD | _S_IWRITE); return ret; } @@ -102,7 +102,7 @@ struct sockaddr_un userv_addr; /* UNIX socket */ #endif int sockfd; /* socket file descriptor */ - int index, len,uservlen; + int index, len, uservlen; void *addr; int id; } desc; @@ -123,7 +123,7 @@ if (!o) return 0; #ifdef IS_MINGW - if (!host) host="localhost"; + if (!host) host = "localhost"; #else if (!host) { int clilen; @@ -136,7 +136,7 @@ memset((char *) &o->userv_addr, 0, sizeof(o->userv_addr)); o->userv_addr.sun_family = AF_UNIX; strcpy(o->userv_addr.sun_path, UNIXDG_PATH); - sprintf(o->userv_addr.sun_path+strlen(o->userv_addr.sun_path), "%d", portnumber); + sprintf(o->userv_addr.sun_path + strlen(o->userv_addr.sun_path), "%d", portnumber); o->uservlen = sizeof(o->userv_addr.sun_family) + strlen(o->userv_addr.sun_path); o->addr = &(o->userv_addr); /* @@ -156,8 +156,8 @@ ucl_addr.sun_family = AF_UNIX; strcpy(ucl_addr.sun_path, UNIXDG_TMP); - dummy=mkstemp(ucl_addr.sun_path); - dummy=dummy; + dummy = mkstemp(ucl_addr.sun_path); + dummy = dummy; clilen = sizeof(ucl_addr.sun_family) + strlen(ucl_addr.sun_path); if (bind(sockfd, (struct sockaddr *) &ucl_addr, clilen) < 0) { @@ -223,7 +223,7 @@ #ifndef IS_MINGW } #endif -if (sockfd<0) { +if (sockfd < 0) { free(o); o = 0; } else @@ -236,9 +236,9 @@ #include <errno.h> -static bool sendudp(const struct sockaddr *sp, int sockfd,int length, int count, void *b) { +static bool sendudp(const struct sockaddr *sp, int sockfd, int length, int count, void *b) { int rcount; - if ((rcount=sendto(sockfd, b, count, 0, sp, length)) != count) { + if ((rcount = sendto(sockfd, b, count, 0, sp, length)) != count) { /* printf("sockfd %d count %d rcount %dlength %d errno %d\n", sockfd,count,rcount,length, errno); */ return FALSE;
View file
LiVES-2.8.4.tar.bz2/libOSC/sendOSC/sendOSC.c -> LiVES-2.8.6.tar.bz2/libOSC/sendOSC/sendOSC.c
Changed
@@ -109,7 +109,7 @@ #ifdef IS_MINGW // Initialize Winsock - iResult = WSAStartup(MAKEWORD(2,2), &wsaData); + iResult = WSAStartup(MAKEWORD(2, 2), &wsaData); if (iResult != 0) { printf("WSAStartup failed: %d\n", iResult); exit(1); @@ -190,7 +190,7 @@ char *messageName; char *token; typedArg args[MAX_ARGS]; - int i,j, numArgs; + int i, j, numArgs; OSCbuf buf[1]; OSC_initBuffer(buf, SC_BUFFER_SIZE, bufferForOSCbuf); @@ -258,7 +258,7 @@ } if (mesg[0] == '[') { - OSCTimeTag tt = ParseTimeTag(mesg+1); + OSCTimeTag tt = ParseTimeTag(mesg + 1); if (OSC_openBundle(buf, tt)) { complain("Problem opening bundle: %s\n", OSC_errorMessage); OSC_resetBuffer(buf); @@ -325,7 +325,7 @@ } } - if (isdigit(*p) || (*p >= 'a' && *p <='f') || (*p >= 'A' && *p <='F')) { + if (isdigit(*p) || (*p >= 'a' && *p <= 'f') || (*p >= 'A' && *p <= 'F')) { /* They specified the 8-byte tag in hex */ OSCTimeTag tt; if (sscanf(p, "%"PRIu64, (uint64_t *)&tt) != 1) { @@ -504,7 +504,7 @@ } } else { /* First figure out the type tags */ - char typeTags[MAX_ARGS+2]; + char typeTags[MAX_ARGS + 2]; int i; typeTags[0] = ','; @@ -512,15 +512,15 @@ for (i = 0; i < numArgs; ++i) { switch (args[i].type) { case INTx: - typeTags[i+1] = 'i'; + typeTags[i + 1] = 'i'; break; case FLOATx: - typeTags[i+1] = 'f'; + typeTags[i + 1] = 'f'; break; case STRINGx: - typeTags[i+1] = 's'; + typeTags[i + 1] = 's'; break; default: @@ -528,7 +528,7 @@ exit(5); } } - typeTags[i+1] = '\0'; + typeTags[i + 1] = '\0'; returnVal = OSC_writeAddressAndTypes(buf, messageName, typeTags); if (returnVal) {
View file
LiVES-2.8.4.tar.bz2/liblives.doxygen -> LiVES-2.8.6.tar.bz2/liblives.doxygen
Changed
@@ -38,7 +38,7 @@ # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 2.8.4 +PROJECT_NUMBER = 2.8.6 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a
View file
LiVES-2.8.4.tar.bz2/libweed/Makefile.in -> LiVES-2.8.6.tar.bz2/libweed/Makefile.in
Changed
@@ -319,8 +319,6 @@ GENCAT = @GENCAT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GLEE_CFLAGS = @GLEE_CFLAGS@ -GLEE_LIBS = @GLEE_LIBS@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -457,6 +455,8 @@ VERSION = @VERSION@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ +WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ +WAYLAND_LIBS = @WAYLAND_LIBS@ WEED_CFLAGS = @WEED_CFLAGS@ WEED_COMPAT_CFLAGS = @WEED_COMPAT_CFLAGS@ WEED_COMPAT_LIBS = @WEED_COMPAT_LIBS@
View file
LiVES-2.8.4.tar.bz2/libweed/weed-compat.h -> LiVES-2.8.6.tar.bz2/libweed/weed-compat.h
Changed
@@ -73,20 +73,18 @@ // data from http://www.fourcc.org - if (clamping!=NULL) *clamping=WEED_YUV_CLAMPING_CLAMPED; - if (interlaced!=NULL) *interlaced=0; - if (sspace!=NULL) *sspace=WEED_YUV_SUBSPACE_YCBCR; - if (sampling!=NULL) *sampling=WEED_YUV_SAMPLING_DEFAULT; + if (clamping != NULL) *clamping = WEED_YUV_CLAMPING_CLAMPED; + if (interlaced != NULL) *interlaced = 0; + if (sspace != NULL) *sspace = WEED_YUV_SUBSPACE_YCBCR; + if (sampling != NULL) *sampling = WEED_YUV_SAMPLING_DEFAULT; switch (fourcc) { - // RGB formats - case 0x32524742: // BGR3 case 0x33524742: // BGR3 - tested and OK case 0x34524742: // BGR4 - if (bpp==24) return WEED_PALETTE_BGR24; - if (bpp==32) return WEED_PALETTE_BGRA32; + if (bpp == 24) return WEED_PALETTE_BGR24; + if (bpp == 32) return WEED_PALETTE_BGRA32; break; case 0x00000000: // BI_RGB - RGB or BGR ??? @@ -95,18 +93,18 @@ case 0x32424752: // RGB2 case 0x33424752: // RGB3 case 0x34424752: // RGB4 - if (bpp==24) return WEED_PALETTE_RGB24; - if (bpp==32) return WEED_PALETTE_RGBA32; + if (bpp == 24) return WEED_PALETTE_RGB24; + if (bpp == 32) return WEED_PALETTE_RGBA32; break; case 0x41424752: // RGBA - if (bpp==32) return WEED_PALETTE_RGBA32; + if (bpp == 32) return WEED_PALETTE_RGBA32; break; // YUV packed formats case 0x56595549: // IUYV - if (interlaced!=NULL) *interlaced=1; + if (interlaced != NULL) *interlaced = 1; return WEED_PALETTE_UYVY; case 0x31555949: // IYU1 case 0x31313459: // Y411 @@ -114,7 +112,7 @@ case 0x32555949: // IYU2 return WEED_PALETTE_YUV888; case 0x43594448: // HDYC - if (sspace!=NULL) *sspace=WEED_YUV_SUBSPACE_BT709; + if (sspace != NULL) *sspace = WEED_YUV_SUBSPACE_BT709; return WEED_PALETTE_UYVY; case 0x564E5955: // UYNV case 0x59565955: // UYVY @@ -127,7 +125,7 @@ case 0x31313259: // Y211 - ??? return WEED_PALETTE_YUYV; case 0x59455247: // grey - if (clamping!=NULL) *clamping=WEED_YUV_CLAMPING_UNCLAMPED; + if (clamping != NULL) *clamping = WEED_YUV_CLAMPING_UNCLAMPED; case 0x30303859: // Y800 case 0x20203859: // Y8 return WEED_PALETTE_A8; @@ -151,13 +149,13 @@ return WEED_PALETTE_YUV420P; case 0x3032344a: // J420 - if (clamping!=NULL) *clamping=WEED_YUV_CLAMPING_UNCLAMPED; + if (clamping != NULL) *clamping = WEED_YUV_CLAMPING_UNCLAMPED; return WEED_PALETTE_YUV420P; case 0x3232344a: // J422 - if (clamping!=NULL) *clamping=WEED_YUV_CLAMPING_UNCLAMPED; + if (clamping != NULL) *clamping = WEED_YUV_CLAMPING_UNCLAMPED; return WEED_PALETTE_YUV422P; case 0x3434344a: // J444 - if (clamping!=NULL) *clamping=WEED_YUV_CLAMPING_UNCLAMPED; + if (clamping != NULL) *clamping = WEED_YUV_CLAMPING_UNCLAMPED; return WEED_PALETTE_YUV444P; @@ -210,7 +208,7 @@ } AVCodecTag; #ifndef MKTAG -#define MKTAG(a,b,c,d) ((a) | ((b) << 8) | ((c) << 16) | ((d) << 24)) +#define MKTAG(a, b, c, d) ((a) | ((b) << 8) | ((c) << 16) | ((d) << 24)) #endif @@ -599,7 +597,6 @@ int avi_pix_fmt_to_weed_palette(enum PixelFormat pix_fmt, int *clamped) { // clamped may be set to NULL if you are not interested in the value - switch (pix_fmt) { case PIX_FMT_RGB24: return WEED_PALETTE_RGB24; @@ -629,13 +626,13 @@ case PIX_FMT_MONOBLACK: return WEED_PALETTE_A1; case PIX_FMT_YUVJ422P: - if (clamped) *clamped=WEED_YUV_CLAMPING_UNCLAMPED; + if (clamped) *clamped = WEED_YUV_CLAMPING_UNCLAMPED; return WEED_PALETTE_YUV422P; case PIX_FMT_YUVJ444P: - if (clamped) *clamped=WEED_YUV_CLAMPING_UNCLAMPED; + if (clamped) *clamped = WEED_YUV_CLAMPING_UNCLAMPED; return WEED_PALETTE_YUV444P; case PIX_FMT_YUVJ420P: - if (clamped) *clamped=WEED_YUV_CLAMPING_UNCLAMPED; + if (clamped) *clamped = WEED_YUV_CLAMPING_UNCLAMPED; return WEED_PALETTE_YUV420P; default: @@ -657,15 +654,15 @@ case WEED_PALETTE_ARGB32: return PIX_FMT_ARGB; case WEED_PALETTE_YUV444P: - if (clamped && *clamped==WEED_YUV_CLAMPING_UNCLAMPED) + if (clamped && *clamped == WEED_YUV_CLAMPING_UNCLAMPED) return PIX_FMT_YUVJ444P; return PIX_FMT_YUV444P; case WEED_PALETTE_YUV422P: - if (clamped && *clamped==WEED_YUV_CLAMPING_UNCLAMPED) + if (clamped && *clamped == WEED_YUV_CLAMPING_UNCLAMPED) return PIX_FMT_YUVJ422P; return PIX_FMT_YUV422P; case WEED_PALETTE_YUV420P: - if (clamped && *clamped==WEED_YUV_CLAMPING_UNCLAMPED) + if (clamped && *clamped == WEED_YUV_CLAMPING_UNCLAMPED) return PIX_FMT_YUVJ420P; return PIX_FMT_YUV420P; case WEED_PALETTE_YUYV: @@ -689,7 +686,6 @@ int avi_pix_fmt_to_weed_palette(enum AVPixelFormat pix_fmt, int *clamped) { // clamped may be set to NULL if you are not interested in the value - switch (pix_fmt) { case AV_PIX_FMT_RGB24: return WEED_PALETTE_RGB24; @@ -719,13 +715,13 @@ case AV_PIX_FMT_MONOBLACK: return WEED_PALETTE_A1; case AV_PIX_FMT_YUVJ422P: - if (clamped) *clamped=WEED_YUV_CLAMPING_UNCLAMPED; + if (clamped) *clamped = WEED_YUV_CLAMPING_UNCLAMPED; return WEED_PALETTE_YUV422P; case AV_PIX_FMT_YUVJ444P: - if (clamped) *clamped=WEED_YUV_CLAMPING_UNCLAMPED; + if (clamped) *clamped = WEED_YUV_CLAMPING_UNCLAMPED; return WEED_PALETTE_YUV444P; case AV_PIX_FMT_YUVJ420P: - if (clamped) *clamped=WEED_YUV_CLAMPING_UNCLAMPED; + if (clamped) *clamped = WEED_YUV_CLAMPING_UNCLAMPED; return WEED_PALETTE_YUV420P; default: @@ -747,15 +743,15 @@ case WEED_PALETTE_ARGB32: return AV_PIX_FMT_ARGB; case WEED_PALETTE_YUV444P: - if (clamped && *clamped==WEED_YUV_CLAMPING_UNCLAMPED) + if (clamped && *clamped == WEED_YUV_CLAMPING_UNCLAMPED) return AV_PIX_FMT_YUVJ444P; return AV_PIX_FMT_YUV444P; case WEED_PALETTE_YUV422P: - if (clamped && *clamped==WEED_YUV_CLAMPING_UNCLAMPED) + if (clamped && *clamped == WEED_YUV_CLAMPING_UNCLAMPED) return AV_PIX_FMT_YUVJ422P; return AV_PIX_FMT_YUV422P; case WEED_PALETTE_YUV420P: - if (clamped && *clamped==WEED_YUV_CLAMPING_UNCLAMPED) + if (clamped && *clamped == WEED_YUV_CLAMPING_UNCLAMPED) return AV_PIX_FMT_YUVJ420P; return AV_PIX_FMT_YUV420P; case WEED_PALETTE_YUYV:
View file
LiVES-2.8.4.tar.bz2/libweed/weed-gslice.c -> LiVES-2.8.6.tar.bz2/libweed/weed-gslice.c
Changed
@@ -104,243 +104,243 @@ static int _weed_leaf_delete(weed_plant_t *plant, const char *key); -#if GLIB_CHECK_VERSION(2,14,0) == FALSE +#if !GLIB_CHECK_VERSION(2, 14, 0) static inline gpointer g_slice_copy(gsize bsize, gconstpointer block) { - gpointer ret=g_slice_alloc(bsize); - memcpy(ret,block,bsize); + gpointer ret = g_slice_alloc(bsize); + memcpy(ret, block, bsize); return ret; } #endif static inline size_t weed_strlen(const char *string) { - size_t len=0; - size_t maxlen=(size_t)-2; - while (*(string++)!=0&&(len!=maxlen)) len++; + size_t len = 0; + size_t maxlen = (size_t) - 2; + while (*(string++) != 0 && (len != maxlen)) len++; return len; } static inline char *weed_strdup(const char *string) { size_t len; - char *ret=(char *)weed_malloc((len=weed_strlen(string))+1); + char *ret = (char *)weed_malloc((len = weed_strlen(string)) + 1); - weed_memcpy(ret,string,len+1); + weed_memcpy(ret, string, len + 1); return ret; } static inline char *weed_slice_strdup(const char *string) { - return (char *)g_slice_copy(weed_strlen(string)+1,string); + return (char *)g_slice_copy(weed_strlen(string) + 1, string); } static inline int weed_strcmp(const char *st1, const char *st2) { - while (!(*st1==0&&*st2==0)) { - if (*(st1)==0||*(st2)==0||*(st1++)!=*(st2++)) return 1; + while (!(*st1 == 0 && *st2 == 0)) { + if (*(st1) == 0 || *(st2) == 0 || *(st1++) != *(st2++)) return 1; } return 0; } static inline int weed_seed_is_ptr(int seed) { - return (seed!=WEED_SEED_BOOLEAN&&seed!=WEED_SEED_INT&&seed!=WEED_SEED_DOUBLE&&seed!=WEED_SEED_STRING&&seed!= - WEED_SEED_INT64)?1:0; + return (seed != WEED_SEED_BOOLEAN && seed != WEED_SEED_INT && seed != WEED_SEED_DOUBLE && seed != WEED_SEED_STRING && seed != + WEED_SEED_INT64) ? 1 : 0; } static inline size_t weed_seed_get_size(int seed, void *value) { - return weed_seed_is_ptr(seed)?(sizeof(void *)):\ - (seed==WEED_SEED_BOOLEAN||seed==WEED_SEED_INT)?4:\ - (seed==WEED_SEED_DOUBLE)?8:\ - (seed==WEED_SEED_INT64)?8:\ - (seed==WEED_SEED_STRING)?weed_strlen((const char *)value):0; + return weed_seed_is_ptr(seed) ? (sizeof(void *)) : \ + (seed == WEED_SEED_BOOLEAN || seed == WEED_SEED_INT) ? 4 : \ + (seed == WEED_SEED_DOUBLE) ? 8 : \ + (seed == WEED_SEED_INT64) ? 8 : \ + (seed == WEED_SEED_STRING) ? weed_strlen((const char *)value) : 0; } static inline void weed_data_free(weed_data_t **data, int num_elems, int seed_type) { register int i; - for (i=0; i<num_elems; i++) { - if (!weed_seed_is_ptr(seed_type)||(seed_type==WEED_SEED_STRING&&data[i]->value!=NULL)) - g_slice_free1(data[i]->size,data[i]->value); - g_slice_free(weed_data_t,data[i]); + for (i = 0; i < num_elems; i++) { + if (!weed_seed_is_ptr(seed_type) || (seed_type == WEED_SEED_STRING && data[i]->value != NULL)) + g_slice_free1(data[i]->size, data[i]->value); + g_slice_free(weed_data_t, data[i]); } - g_slice_free1(num_elems*sizeof(weed_data_t *),data); + g_slice_free1(num_elems * sizeof(weed_data_t *), data); } static inline weed_data_t **weed_data_new(int seed_type, int num_elems, void *value) { register int i; - weed_data_t **data=NULL; + weed_data_t **data = NULL; size_t size; - char **valuec=(char **)value; - void **valuev=(void **)value; - - if (num_elems==0) return data; - if ((data=(weed_data_t **)g_slice_alloc(num_elems*sizeof(weed_data_t *)))==NULL) return ((weed_data_t **)0); - for (i=0; i<num_elems; i++) { - if ((data[i]=g_slice_new(weed_data_t))==NULL) { - weed_data_free(data,--i,seed_type); + char **valuec = (char **)value; + void **valuev = (void **)value; + + if (num_elems == 0) return data; + if ((data = (weed_data_t **)g_slice_alloc(num_elems * sizeof(weed_data_t *))) == NULL) return ((weed_data_t **)0); + for (i = 0; i < num_elems; i++) { + if ((data[i] = g_slice_new(weed_data_t)) == NULL) { + weed_data_free(data, --i, seed_type); return NULL; } - if (weed_seed_is_ptr(seed_type)) data[i]->value=valuev[i]; + if (weed_seed_is_ptr(seed_type)) data[i]->value = valuev[i]; else { - if (seed_type==WEED_SEED_STRING) { - size=weed_strlen(valuec[i]); - if (size>0) data[i]->value=g_slice_copy(size,valuec[i]); - else data[i]->value=NULL; - data[i]->size=size; + if (seed_type == WEED_SEED_STRING) { + size = weed_strlen(valuec[i]); + if (size > 0) data[i]->value = g_slice_copy(size, valuec[i]); + else data[i]->value = NULL; + data[i]->size = size; } else { - size=weed_seed_get_size(seed_type,NULL); - data[i]->value=g_slice_copy(size,(char *)value+i*size); + size = weed_seed_get_size(seed_type, NULL); + data[i]->value = g_slice_copy(size, (char *)value + i * size); } - if (size>0&&data[i]->value==NULL) { // memory error - weed_data_free(data,--i,seed_type); + if (size > 0 && data[i]->value == NULL) { // memory error + weed_data_free(data, --i, seed_type); return NULL; } } - if (seed_type!=WEED_SEED_STRING) data[i]->size=weed_seed_get_size(seed_type,data[i]->value); + if (seed_type != WEED_SEED_STRING) data[i]->size = weed_seed_get_size(seed_type, data[i]->value); } return data; } static inline weed_leaf_t *weed_find_leaf(weed_plant_t *leaf, const char *key) { - while (leaf!=NULL) { - if (!weed_strcmp((char *)leaf->key,(char *)key)) return leaf; - leaf=leaf->next; + while (leaf != NULL) { + if (!weed_strcmp((char *)leaf->key, (char *)key)) return leaf; + leaf = leaf->next; } return NULL; } static inline void weed_leaf_free(weed_leaf_t *leaf) { - weed_data_free(leaf->data,leaf->num_elements,leaf->seed_type); - g_slice_free1(weed_strlen(leaf->key)+1,(void *)leaf->key); - g_slice_free(weed_leaf_t,leaf); + weed_data_free(leaf->data, leaf->num_elements, leaf->seed_type); + g_slice_free1(weed_strlen(leaf->key) + 1, (void *)leaf->key); + g_slice_free(weed_leaf_t, leaf); } static inline weed_leaf_t *weed_leaf_new(const char *key, int seed) { - weed_leaf_t *leaf=g_slice_new(weed_leaf_t); - if (leaf==NULL) return NULL; - if ((leaf->key=weed_slice_strdup(key))==NULL) { - g_slice_free(weed_leaf_t,leaf); + weed_leaf_t *leaf = g_slice_new(weed_leaf_t); + if (leaf == NULL) return NULL; + if ((leaf->key = weed_slice_strdup(key)) == NULL) { + g_slice_free(weed_leaf_t, leaf); return NULL; } - leaf->seed_type=seed; - leaf->data=NULL; - leaf->next=NULL; - leaf->num_elements=leaf->flags=0; + leaf->seed_type = seed; + leaf->data = NULL; + leaf->next = NULL; + leaf->num_elements = leaf->flags = 0; return leaf; } static inline void weed_leaf_append(weed_plant_t *leaf, weed_leaf_t *newleaf) { weed_leaf_t *leafnext; - while (leaf!=NULL) { - if ((leafnext=leaf->next)==NULL) { - leaf->next=newleaf; + while (leaf != NULL) { + if ((leafnext = leaf->next) == NULL) { + leaf->next = newleaf; return; } - leaf=leafnext; + leaf = leafnext; } } static void _weed_plant_free(weed_plant_t *leaf) { weed_leaf_t *leafnext; - while (leaf!=NULL) { - leafnext=leaf->next; + while (leaf != NULL) { + leafnext = leaf->next; weed_leaf_free(leaf); - leaf=leafnext; + leaf = leafnext; } } static int _weed_leaf_delete(weed_plant_t *plant, const char *key) { - weed_leaf_t *leaf=plant,*leafnext; - while (leaf->next!=NULL) { - if (!weed_strcmp((char *)leaf->next->key,(char *)key)) { - if (leaf->next->flags&WEED_LEAF_READONLY_HOST) return WEED_ERROR_LEAF_READONLY; - leafnext=leaf->next; - leaf->next=leaf->next->next; + weed_leaf_t *leaf = plant, *leafnext; + while (leaf->next != NULL) { + if (!weed_strcmp((char *)leaf->next->key, (char *)key)) { + if (leaf->next->flags & WEED_LEAF_READONLY_HOST) return WEED_ERROR_LEAF_READONLY; + leafnext = leaf->next; + leaf->next = leaf->next->next; weed_leaf_free(leafnext); return WEED_NO_ERROR; } - leaf=leaf->next; + leaf = leaf->next; } return WEED_ERROR_NOSUCH_LEAF; } static int _weed_leaf_set_flags(weed_plant_t *plant, const char *key, int flags) { - weed_leaf_t *leaf=weed_find_leaf(plant, key); - if (leaf==NULL) return WEED_ERROR_NOSUCH_LEAF; - leaf->flags=flags; + weed_leaf_t *leaf = weed_find_leaf(plant, key); + if (leaf == NULL) return WEED_ERROR_NOSUCH_LEAF; + leaf->flags = flags; return WEED_NO_ERROR; } static weed_plant_t *_weed_plant_new(int plant_type) { weed_leaf_t *leaf; - if ((leaf=weed_leaf_new("type",WEED_SEED_INT))==NULL) return NULL; - if ((leaf->data=(weed_data_t **)weed_data_new(WEED_SEED_INT,1,&plant_type))==NULL) { - g_slice_free1(weed_strlen(leaf->key)+1,(void *)leaf->key); - g_slice_free(weed_leaf_t,leaf); + if ((leaf = weed_leaf_new("type", WEED_SEED_INT)) == NULL) return NULL; + if ((leaf->data = (weed_data_t **)weed_data_new(WEED_SEED_INT, 1, &plant_type)) == NULL) { + g_slice_free1(weed_strlen(leaf->key) + 1, (void *)leaf->key); + g_slice_free(weed_leaf_t, leaf); return NULL; } - leaf->num_elements=1; - leaf->next=NULL; - _weed_leaf_set_flags(leaf,"type",WEED_LEAF_READONLY_PLUGIN|WEED_LEAF_READONLY_HOST); + leaf->num_elements = 1; + leaf->next = NULL; + _weed_leaf_set_flags(leaf, "type", WEED_LEAF_READONLY_PLUGIN | WEED_LEAF_READONLY_HOST); return leaf; } static char **_weed_plant_list_leaves(weed_plant_t *plant) { - weed_leaf_t *leaf=plant; + weed_leaf_t *leaf = plant; char **leaflist; - register int i=1; - for (; leaf!=NULL; i++) { - leaf=leaf->next; + register int i = 1; + for (; leaf != NULL; i++) { + leaf = leaf->next; } - if ((leaflist=(char **)weed_malloc(i*sizeof(char *)))==NULL) return NULL; - i=0; - for (leaf=plant; leaf!=NULL; leaf=leaf->next) { - if ((leaflist[i]=weed_strdup(leaf->key))==NULL) { - for (--i; i>=0; i--) weed_free(leaflist[i]); + if ((leaflist = (char **)weed_malloc(i * sizeof(char *))) == NULL) return NULL; + i = 0; + for (leaf = plant; leaf != NULL; leaf = leaf->next) { + if ((leaflist[i] = weed_strdup(leaf->key)) == NULL) { + for (--i; i >= 0; i--) weed_free(leaflist[i]); weed_free(leaflist); return NULL; } i++; } - leaflist[i]=NULL; + leaflist[i] = NULL; return leaflist; } static inline int _weed_leaf_set_caller(weed_plant_t *plant, const char *key, int seed_type, int num_elems, void *value, int caller) { #ifdef CHECK_CALLER - printf("caller was %d\n",caller); + printf("caller was %d\n", caller); #endif - weed_data_t **data=NULL; - weed_leaf_t *leaf=weed_find_leaf(plant,key); - if (leaf==NULL) { - if ((leaf=weed_leaf_new(key,seed_type))==NULL) return WEED_ERROR_MEMORY_ALLOCATION; - weed_leaf_append(plant,leaf); + weed_data_t **data = NULL; + weed_leaf_t *leaf = weed_find_leaf(plant, key); + if (leaf == NULL) { + if ((leaf = weed_leaf_new(key, seed_type)) == NULL) return WEED_ERROR_MEMORY_ALLOCATION; + weed_leaf_append(plant, leaf); } else { - if ((caller==WEED_CALLER_PLUGIN&&leaf->flags&WEED_LEAF_READONLY_PLUGIN)|| - (caller==WEED_CALLER_HOST&&leaf->flags&WEED_LEAF_READONLY_HOST)) return WEED_ERROR_LEAF_READONLY; - if (seed_type!=leaf->seed_type) return WEED_ERROR_WRONG_SEED_TYPE; - weed_data_free(leaf->data,leaf->num_elements,seed_type); - leaf->data=NULL; + if ((caller == WEED_CALLER_PLUGIN && leaf->flags & WEED_LEAF_READONLY_PLUGIN) || + (caller == WEED_CALLER_HOST && leaf->flags & WEED_LEAF_READONLY_HOST)) return WEED_ERROR_LEAF_READONLY; + if (seed_type != leaf->seed_type) return WEED_ERROR_WRONG_SEED_TYPE; + weed_data_free(leaf->data, leaf->num_elements, seed_type); + leaf->data = NULL; } - leaf->num_elements=0; - if (num_elems>0&&(data=weed_data_new(seed_type,num_elems,value))==NULL) { + leaf->num_elements = 0; + if (num_elems > 0 && (data = weed_data_new(seed_type, num_elems, value)) == NULL) { return WEED_ERROR_MEMORY_ALLOCATION; } - leaf->data=data; - leaf->num_elements=num_elems; + leaf->data = data; + leaf->num_elements = num_elems; return WEED_NO_ERROR; } static int _weed_leaf_set(weed_plant_t *plant, const char *key, int seed_type, int num_elems, void *value) { // host version - return _weed_leaf_set_caller(plant,key,seed_type,num_elems,value,WEED_CALLER_HOST); + return _weed_leaf_set_caller(plant, key, seed_type, num_elems, value, WEED_CALLER_HOST); } static int _weed_leaf_set_plugin(weed_plant_t *plant, const char *key, int seed_type, int num_elems, void *value) { // plugin version - host should pass this to plugin in host_info - return _weed_leaf_set_caller(plant,key,seed_type,num_elems,value,WEED_CALLER_PLUGIN); + return _weed_leaf_set_caller(plant, key, seed_type, num_elems, value, WEED_CALLER_PLUGIN); } @@ -353,17 +353,17 @@ // additionally, the prototype of this function must never change - weed_leaf_t *leaf=weed_find_leaf(plant,key); - if (leaf==NULL||idx>leaf->num_elements) return WEED_ERROR_NOSUCH_LEAF; - if (value==NULL) return WEED_NO_ERROR; - if (weed_seed_is_ptr(leaf->seed_type)) memcpy(value,&leaf->data[idx]->value,sizeof(void *)); + weed_leaf_t *leaf = weed_find_leaf(plant, key); + if (leaf == NULL || idx > leaf->num_elements) return WEED_ERROR_NOSUCH_LEAF; + if (value == NULL) return WEED_NO_ERROR; + if (weed_seed_is_ptr(leaf->seed_type)) memcpy(value, &leaf->data[idx]->value, sizeof(void *)); else { - if (leaf->seed_type==WEED_SEED_STRING) { - size_t size=leaf->data[idx]->size; - char **valuecharptrptr=(char **)value; - if (size>0) memcpy(*valuecharptrptr,leaf->data[idx]->value,size); - memset(*valuecharptrptr+size,0,1); - } else memcpy(value,leaf->data[idx]->value,weed_seed_get_size(leaf->seed_type,leaf->data[idx]->value)); + if (leaf->seed_type == WEED_SEED_STRING) { + size_t size = leaf->data[idx]->size; + char **valuecharptrptr = (char **)value; + if (size > 0) memcpy(*valuecharptrptr, leaf->data[idx]->value, size); + memset(*valuecharptrptr + size, 0, 1); + } else memcpy(value, leaf->data[idx]->value, weed_seed_get_size(leaf->seed_type, leaf->data[idx]->value)); } return WEED_NO_ERROR; @@ -372,42 +372,42 @@ static int _weed_leaf_get(weed_plant_t *plant, const char *key, int idx, void *value) { - weed_leaf_t *leaf=weed_find_leaf(plant,key); - if (leaf==NULL||idx>leaf->num_elements) return WEED_ERROR_NOSUCH_LEAF; - if (value==NULL) return WEED_NO_ERROR; - if (weed_seed_is_ptr(leaf->seed_type)) weed_memcpy(value,&leaf->data[idx]->value,sizeof(void *)); + weed_leaf_t *leaf = weed_find_leaf(plant, key); + if (leaf == NULL || idx > leaf->num_elements) return WEED_ERROR_NOSUCH_LEAF; + if (value == NULL) return WEED_NO_ERROR; + if (weed_seed_is_ptr(leaf->seed_type)) weed_memcpy(value, &leaf->data[idx]->value, sizeof(void *)); else { - if (leaf->seed_type==WEED_SEED_STRING) { - size_t size=leaf->data[idx]->size; - char **valuecharptrptr=(char **)value; - if (size>0) weed_memcpy(*valuecharptrptr,leaf->data[idx]->value,size); - weed_memset(*valuecharptrptr+size,0,1); - } else weed_memcpy(value,leaf->data[idx]->value,weed_seed_get_size(leaf->seed_type,leaf->data[idx]->value)); + if (leaf->seed_type == WEED_SEED_STRING) { + size_t size = leaf->data[idx]->size; + char **valuecharptrptr = (char **)value; + if (size > 0) weed_memcpy(*valuecharptrptr, leaf->data[idx]->value, size); + weed_memset(*valuecharptrptr + size, 0, 1); + } else weed_memcpy(value, leaf->data[idx]->value, weed_seed_get_size(leaf->seed_type, leaf->data[idx]->value)); } return WEED_NO_ERROR; } static int _weed_leaf_num_elements(weed_plant_t *plant, const char *key) { - weed_leaf_t *leaf=weed_find_leaf(plant, key); - if (leaf==NULL) return 0; + weed_leaf_t *leaf = weed_find_leaf(plant, key); + if (leaf == NULL) return 0; return leaf->num_elements; } static size_t _weed_leaf_element_size(weed_plant_t *plant, const char *key, int idx) { - weed_leaf_t *leaf=weed_find_leaf(plant, key); - if (leaf==NULL||idx>leaf->num_elements) return 0; + weed_leaf_t *leaf = weed_find_leaf(plant, key); + if (leaf == NULL || idx > leaf->num_elements) return 0; return leaf->data[idx]->size; } static int _weed_leaf_seed_type(weed_plant_t *plant, const char *key) { - weed_leaf_t *leaf=weed_find_leaf(plant, key); - if (leaf==NULL) return 0; + weed_leaf_t *leaf = weed_find_leaf(plant, key); + if (leaf == NULL) return 0; return leaf->seed_type; } static int _weed_leaf_get_flags(weed_plant_t *plant, const char *key) { - weed_leaf_t *leaf=weed_find_leaf(plant, key); - if (leaf==NULL) return 0; + weed_leaf_t *leaf = weed_find_leaf(plant, key); + if (leaf == NULL) return 0; return leaf->flags; } @@ -421,28 +421,28 @@ case 120: case 130: default: - weed_default_get=_weed_default_get; - weed_leaf_get=_weed_leaf_get; - weed_leaf_delete=_weed_leaf_delete; - weed_plant_free=_weed_plant_free; - weed_plant_new=_weed_plant_new; - weed_leaf_set=_weed_leaf_set; - weed_leaf_set_plugin=_weed_leaf_set_plugin; - weed_plant_list_leaves=_weed_plant_list_leaves; - weed_leaf_num_elements=_weed_leaf_num_elements; - weed_leaf_element_size=_weed_leaf_element_size; - weed_leaf_seed_type=_weed_leaf_seed_type; - weed_leaf_get_flags=_weed_leaf_get_flags; - weed_leaf_set_flags=_weed_leaf_set_flags; + weed_default_get = _weed_default_get; + weed_leaf_get = _weed_leaf_get; + weed_leaf_delete = _weed_leaf_delete; + weed_plant_free = _weed_plant_free; + weed_plant_new = _weed_plant_new; + weed_leaf_set = _weed_leaf_set; + weed_leaf_set_plugin = _weed_leaf_set_plugin; + weed_plant_list_leaves = _weed_plant_list_leaves; + weed_leaf_num_elements = _weed_leaf_num_elements; + weed_leaf_element_size = _weed_leaf_element_size; + weed_leaf_seed_type = _weed_leaf_seed_type; + weed_leaf_get_flags = _weed_leaf_get_flags; + weed_leaf_set_flags = _weed_leaf_set_flags; } - if (_mallocf!=NULL) weed_malloc=_mallocf; - else weed_malloc=(weed_malloc_f)malloc; - if (_freef!=NULL) weed_free=_freef; - else weed_free=(weed_free_f)free; - if (_memcpyf!=NULL) weed_memcpy=_memcpyf; - else weed_memcpy=(weed_memcpy_f)memcpy; - if (_memsetf!=NULL) weed_memset=_memsetf; - else weed_memset=(weed_memset_f)memset; + if (_mallocf != NULL) weed_malloc = _mallocf; + else weed_malloc = (weed_malloc_f)malloc; + if (_freef != NULL) weed_free = _freef; + else weed_free = (weed_free_f)free; + if (_memcpyf != NULL) weed_memcpy = _memcpyf; + else weed_memcpy = (weed_memcpy_f)memcpy; + if (_memsetf != NULL) weed_memset = _memsetf; + else weed_memset = (weed_memset_f)memset; }
View file
LiVES-2.8.4.tar.bz2/libweed/weed-gslice_scripting.c -> LiVES-2.8.6.tar.bz2/libweed/weed-gslice_scripting.c
Changed
@@ -70,243 +70,243 @@ #include <stdlib.h> // for free -#if GLIB_CHECK_VERSION(2,14,0) == FALSE +#if !GLIB_CHECK_VERSION(2, 14, 0) static inline gpointer g_slice_copy(gsize bsize, gconstpointer block) { - gpointer ret=g_slice_alloc(bsize); - memcpy(ret,block,bsize); + gpointer ret = g_slice_alloc(bsize); + memcpy(ret, block, bsize); return ret; } #endif static inline size_t weed_strlen(const char *string) { - size_t len=0; - size_t maxlen=(size_t)-2; - while (*(string++)!=0&&(len!=maxlen)) len++; + size_t len = 0; + size_t maxlen = (size_t) - 2; + while (*(string++) != 0 && (len != maxlen)) len++; return len; } static inline char *weed_strdup(const char *string) { size_t len; - char *ret=(char *)malloc((len=weed_strlen(string))+1); + char *ret = (char *)malloc((len = weed_strlen(string)) + 1); - memcpy(ret,string,len+1); + memcpy(ret, string, len + 1); return ret; } static inline char *weed_slice_strdup(const char *string) { - return (char *)g_slice_copy(weed_strlen(string)+1,string); + return (char *)g_slice_copy(weed_strlen(string) + 1, string); } static inline int weed_strcmp(const char *st1, const char *st2) { - while (!(*st1==0&&*st2==0)) { - if (*(st1)==0||*(st2)==0||*(st1++)!=*(st2++)) return 1; + while (!(*st1 == 0 && *st2 == 0)) { + if (*(st1) == 0 || *(st2) == 0 || *(st1++) != *(st2++)) return 1; } return 0; } static inline int weed_seed_is_ptr(int seed) { - return (seed!=WEED_SEED_BOOLEAN&&seed!=WEED_SEED_INT&&seed!=WEED_SEED_DOUBLE&&seed!=WEED_SEED_STRING&&seed!= - WEED_SEED_INT64)?1:0; + return (seed != WEED_SEED_BOOLEAN && seed != WEED_SEED_INT && seed != WEED_SEED_DOUBLE && seed != WEED_SEED_STRING && seed != + WEED_SEED_INT64) ? 1 : 0; } static inline size_t weed_seed_get_size(int seed, void *value) { - return weed_seed_is_ptr(seed)?(sizeof(void *)):\ - (seed==WEED_SEED_BOOLEAN||seed==WEED_SEED_INT)?4:\ - (seed==WEED_SEED_DOUBLE)?8:\ - (seed==WEED_SEED_INT64)?8:\ - (seed==WEED_SEED_STRING)?weed_strlen((const char *)value):0; + return weed_seed_is_ptr(seed) ? (sizeof(void *)) : \ + (seed == WEED_SEED_BOOLEAN || seed == WEED_SEED_INT) ? 4 : \ + (seed == WEED_SEED_DOUBLE) ? 8 : \ + (seed == WEED_SEED_INT64) ? 8 : \ + (seed == WEED_SEED_STRING) ? weed_strlen((const char *)value) : 0; } static inline void weed_data_free(weed_data_t **data, int num_elems, int seed_type) { register int i; - for (i=0; i<num_elems; i++) { - if (!weed_seed_is_ptr(seed_type)||(seed_type==WEED_SEED_STRING&&data[i]->value!=NULL)) - g_slice_free1(data[i]->size,data[i]->value); - g_slice_free(weed_data_t,data[i]); + for (i = 0; i < num_elems; i++) { + if (!weed_seed_is_ptr(seed_type) || (seed_type == WEED_SEED_STRING && data[i]->value != NULL)) + g_slice_free1(data[i]->size, data[i]->value); + g_slice_free(weed_data_t, data[i]); } - g_slice_free1(num_elems*sizeof(weed_data_t *),data); + g_slice_free1(num_elems * sizeof(weed_data_t *), data); } static inline weed_data_t **weed_data_new(int seed_type, int num_elems, void *value) { register int i; - weed_data_t **data=NULL; + weed_data_t **data = NULL; size_t size; - char **valuec=(char **)value; - void **valuev=(void **)value; - - if (num_elems==0) return data; - if ((data=(weed_data_t **)g_slice_alloc(num_elems*sizeof(weed_data_t *)))==NULL) return ((weed_data_t **)0); - for (i=0; i<num_elems; i++) { - if ((data[i]=g_slice_new(weed_data_t))==NULL) { - weed_data_free(data,--i,seed_type); + char **valuec = (char **)value; + void **valuev = (void **)value; + + if (num_elems == 0) return data; + if ((data = (weed_data_t **)g_slice_alloc(num_elems * sizeof(weed_data_t *))) == NULL) return ((weed_data_t **)0); + for (i = 0; i < num_elems; i++) { + if ((data[i] = g_slice_new(weed_data_t)) == NULL) { + weed_data_free(data, --i, seed_type); return NULL; } - if (weed_seed_is_ptr(seed_type)) data[i]->value=valuev[i]; + if (weed_seed_is_ptr(seed_type)) data[i]->value = valuev[i]; else { - if (seed_type==WEED_SEED_STRING) { - size=weed_strlen(valuec[i]); - if (size>0) data[i]->value=g_slice_copy(size,valuec[i]); - else data[i]->value=NULL; - data[i]->size=size; + if (seed_type == WEED_SEED_STRING) { + size = weed_strlen(valuec[i]); + if (size > 0) data[i]->value = g_slice_copy(size, valuec[i]); + else data[i]->value = NULL; + data[i]->size = size; } else { - size=weed_seed_get_size(seed_type,NULL); - data[i]->value=g_slice_copy(size,(char *)value+i*size); + size = weed_seed_get_size(seed_type, NULL); + data[i]->value = g_slice_copy(size, (char *)value + i * size); } - if (size>0&&data[i]->value==NULL) { // memory error - weed_data_free(data,--i,seed_type); + if (size > 0 && data[i]->value == NULL) { // memory error + weed_data_free(data, --i, seed_type); return NULL; } } - if (seed_type!=WEED_SEED_STRING) data[i]->size=weed_seed_get_size(seed_type,data[i]->value); + if (seed_type != WEED_SEED_STRING) data[i]->size = weed_seed_get_size(seed_type, data[i]->value); } return data; } static inline weed_leaf_t *weed_find_leaf(weed_plant_t *leaf, const char *key) { - while (leaf!=NULL) { - if (!weed_strcmp((char *)leaf->key,(char *)key)) return leaf; - leaf=leaf->next; + while (leaf != NULL) { + if (!weed_strcmp((char *)leaf->key, (char *)key)) return leaf; + leaf = leaf->next; } return NULL; } static inline void weed_leaf_free(weed_leaf_t *leaf) { - weed_data_free(leaf->data,leaf->num_elements,leaf->seed_type); - g_slice_free1(weed_strlen(leaf->key)+1,(void *)leaf->key); - g_slice_free(weed_leaf_t,leaf); + weed_data_free(leaf->data, leaf->num_elements, leaf->seed_type); + g_slice_free1(weed_strlen(leaf->key) + 1, (void *)leaf->key); + g_slice_free(weed_leaf_t, leaf); } static inline weed_leaf_t *weed_leaf_new(const char *key, int seed) { - weed_leaf_t *leaf=g_slice_new(weed_leaf_t); - if (leaf==NULL) return NULL; - if ((leaf->key=weed_slice_strdup(key))==NULL) { - g_slice_free(weed_leaf_t,leaf); + weed_leaf_t *leaf = g_slice_new(weed_leaf_t); + if (leaf == NULL) return NULL; + if ((leaf->key = weed_slice_strdup(key)) == NULL) { + g_slice_free(weed_leaf_t, leaf); return NULL; } - leaf->seed_type=seed; - leaf->data=NULL; - leaf->next=NULL; - leaf->num_elements=leaf->flags=0; + leaf->seed_type = seed; + leaf->data = NULL; + leaf->next = NULL; + leaf->num_elements = leaf->flags = 0; return leaf; } static inline void weed_leaf_append(weed_plant_t *leaf, weed_leaf_t *newleaf) { weed_leaf_t *leafnext; - while (leaf!=NULL) { - if ((leafnext=leaf->next)==NULL) { - leaf->next=newleaf; + while (leaf != NULL) { + if ((leafnext = leaf->next) == NULL) { + leaf->next = newleaf; return; } - leaf=leafnext; + leaf = leafnext; } } void weed_plant_free(weed_plant_t *leaf) { weed_leaf_t *leafnext; - while (leaf!=NULL) { - leafnext=leaf->next; + while (leaf != NULL) { + leafnext = leaf->next; weed_leaf_free(leaf); - leaf=leafnext; + leaf = leafnext; } } int weed_leaf_delete(weed_plant_t *plant, const char *key) { - weed_leaf_t *leaf=plant,*leafnext; - while (leaf->next!=NULL) { - if (!weed_strcmp((char *)leaf->next->key,(char *)key)) { - if (leaf->next->flags&WEED_LEAF_READONLY_HOST) return WEED_ERROR_LEAF_READONLY; - leafnext=leaf->next; - leaf->next=leaf->next->next; + weed_leaf_t *leaf = plant, *leafnext; + while (leaf->next != NULL) { + if (!weed_strcmp((char *)leaf->next->key, (char *)key)) { + if (leaf->next->flags & WEED_LEAF_READONLY_HOST) return WEED_ERROR_LEAF_READONLY; + leafnext = leaf->next; + leaf->next = leaf->next->next; weed_leaf_free(leafnext); return WEED_NO_ERROR; } - leaf=leaf->next; + leaf = leaf->next; } return WEED_ERROR_NOSUCH_LEAF; } int weed_leaf_set_flags(weed_plant_t *plant, const char *key, int flags) { - weed_leaf_t *leaf=weed_find_leaf(plant, key); - if (leaf==NULL) return WEED_ERROR_NOSUCH_LEAF; - leaf->flags=flags; + weed_leaf_t *leaf = weed_find_leaf(plant, key); + if (leaf == NULL) return WEED_ERROR_NOSUCH_LEAF; + leaf->flags = flags; return WEED_NO_ERROR; } weed_plant_t *weed_plant_new(int plant_type) { weed_leaf_t *leaf; - if ((leaf=weed_leaf_new("type",WEED_SEED_INT))==NULL) return NULL; - if ((leaf->data=(weed_data_t **)weed_data_new(WEED_SEED_INT,1,&plant_type))==NULL) { - g_slice_free1(weed_strlen(leaf->key)+1,(void *)leaf->key); - g_slice_free(weed_leaf_t,leaf); + if ((leaf = weed_leaf_new("type", WEED_SEED_INT)) == NULL) return NULL; + if ((leaf->data = (weed_data_t **)weed_data_new(WEED_SEED_INT, 1, &plant_type)) == NULL) { + g_slice_free1(weed_strlen(leaf->key) + 1, (void *)leaf->key); + g_slice_free(weed_leaf_t, leaf); return NULL; } - leaf->num_elements=1; - leaf->next=NULL; - weed_leaf_set_flags(leaf,"type",WEED_LEAF_READONLY_PLUGIN|WEED_LEAF_READONLY_HOST); + leaf->num_elements = 1; + leaf->next = NULL; + weed_leaf_set_flags(leaf, "type", WEED_LEAF_READONLY_PLUGIN | WEED_LEAF_READONLY_HOST); return leaf; } char **weed_plant_list_leaves(weed_plant_t *plant) { - weed_leaf_t *leaf=plant; + weed_leaf_t *leaf = plant; char **leaflist; - register int i=1; - for (; leaf!=NULL; i++) { - leaf=leaf->next; + register int i = 1; + for (; leaf != NULL; i++) { + leaf = leaf->next; } - if ((leaflist=(char **)malloc(i*sizeof(char *)))==NULL) return NULL; - i=0; - for (leaf=plant; leaf!=NULL; leaf=leaf->next) { - if ((leaflist[i]=weed_strdup(leaf->key))==NULL) { - for (--i; i>=0; i--) free(leaflist[i]); + if ((leaflist = (char **)malloc(i * sizeof(char *))) == NULL) return NULL; + i = 0; + for (leaf = plant; leaf != NULL; leaf = leaf->next) { + if ((leaflist[i] = weed_strdup(leaf->key)) == NULL) { + for (--i; i >= 0; i--) free(leaflist[i]); free(leaflist); return NULL; } i++; } - leaflist[i]=NULL; + leaflist[i] = NULL; return leaflist; } static inline int _weed_leaf_set_caller(weed_plant_t *plant, const char *key, int seed_type, int num_elems, void *value, int caller) { #ifdef CHECK_CALLER - printf("caller was %d\n",caller); + printf("caller was %d\n", caller); #endif - weed_data_t **data=NULL; - weed_leaf_t *leaf=weed_find_leaf(plant,key); - if (leaf==NULL) { - if ((leaf=weed_leaf_new(key,seed_type))==NULL) return WEED_ERROR_MEMORY_ALLOCATION; - weed_leaf_append(plant,leaf); + weed_data_t **data = NULL; + weed_leaf_t *leaf = weed_find_leaf(plant, key); + if (leaf == NULL) { + if ((leaf = weed_leaf_new(key, seed_type)) == NULL) return WEED_ERROR_MEMORY_ALLOCATION; + weed_leaf_append(plant, leaf); } else { - if ((caller==WEED_CALLER_PLUGIN&&leaf->flags&WEED_LEAF_READONLY_PLUGIN)|| - (caller==WEED_CALLER_HOST&&leaf->flags&WEED_LEAF_READONLY_HOST)) return WEED_ERROR_LEAF_READONLY; - if (seed_type!=leaf->seed_type) return WEED_ERROR_WRONG_SEED_TYPE; - weed_data_free(leaf->data,leaf->num_elements,seed_type); - leaf->data=NULL; + if ((caller == WEED_CALLER_PLUGIN && leaf->flags & WEED_LEAF_READONLY_PLUGIN) || + (caller == WEED_CALLER_HOST && leaf->flags & WEED_LEAF_READONLY_HOST)) return WEED_ERROR_LEAF_READONLY; + if (seed_type != leaf->seed_type) return WEED_ERROR_WRONG_SEED_TYPE; + weed_data_free(leaf->data, leaf->num_elements, seed_type); + leaf->data = NULL; } - leaf->num_elements=0; - if (num_elems>0&&(data=weed_data_new(seed_type,num_elems,value))==NULL) { + leaf->num_elements = 0; + if (num_elems > 0 && (data = weed_data_new(seed_type, num_elems, value)) == NULL) { return WEED_ERROR_MEMORY_ALLOCATION; } - leaf->data=data; - leaf->num_elements=num_elems; + leaf->data = data; + leaf->num_elements = num_elems; return WEED_NO_ERROR; } int weed_leaf_set(weed_plant_t *plant, const char *key, int seed_type, int num_elems, void *value) { // host version - return _weed_leaf_set_caller(plant,key,seed_type,num_elems,value,WEED_CALLER_HOST); + return _weed_leaf_set_caller(plant, key, seed_type, num_elems, value, WEED_CALLER_HOST); } int weed_leaf_set_plugin(weed_plant_t *plant, const char *key, int seed_type, int num_elems, void *value) { // plugin version - host should pass this to plugin in host_info - return _weed_leaf_set_caller(plant,key,seed_type,num_elems,value,WEED_CALLER_PLUGIN); + return _weed_leaf_set_caller(plant, key, seed_type, num_elems, value, WEED_CALLER_PLUGIN); } @@ -319,17 +319,17 @@ // additionally, the prototype of this function must never change - weed_leaf_t *leaf=weed_find_leaf(plant,key); - if (leaf==NULL||idx>leaf->num_elements) return WEED_ERROR_NOSUCH_LEAF; - if (value==NULL) return WEED_NO_ERROR; - if (weed_seed_is_ptr(leaf->seed_type)) memcpy(value,&leaf->data[idx]->value,sizeof(void *)); + weed_leaf_t *leaf = weed_find_leaf(plant, key); + if (leaf == NULL || idx > leaf->num_elements) return WEED_ERROR_NOSUCH_LEAF; + if (value == NULL) return WEED_NO_ERROR; + if (weed_seed_is_ptr(leaf->seed_type)) memcpy(value, &leaf->data[idx]->value, sizeof(void *)); else { - if (leaf->seed_type==WEED_SEED_STRING) { - size_t size=leaf->data[idx]->size; - char **valuecharptrptr=(char **)value; - if (size>0) memcpy(*valuecharptrptr,leaf->data[idx]->value,size); - memset(*valuecharptrptr+size,0,1); - } else memcpy(value,leaf->data[idx]->value,weed_seed_get_size(leaf->seed_type,leaf->data[idx]->value)); + if (leaf->seed_type == WEED_SEED_STRING) { + size_t size = leaf->data[idx]->size; + char **valuecharptrptr = (char **)value; + if (size > 0) memcpy(*valuecharptrptr, leaf->data[idx]->value, size); + memset(*valuecharptrptr + size, 0, 1); + } else memcpy(value, leaf->data[idx]->value, weed_seed_get_size(leaf->seed_type, leaf->data[idx]->value)); } return WEED_NO_ERROR; @@ -338,42 +338,42 @@ int weed_leaf_get(weed_plant_t *plant, const char *key, int idx, void *value) { - weed_leaf_t *leaf=weed_find_leaf(plant,key); - if (leaf==NULL||idx>leaf->num_elements) return WEED_ERROR_NOSUCH_LEAF; - if (value==NULL) return WEED_NO_ERROR; - if (weed_seed_is_ptr(leaf->seed_type)) memcpy(value,&leaf->data[idx]->value,sizeof(void *)); + weed_leaf_t *leaf = weed_find_leaf(plant, key); + if (leaf == NULL || idx > leaf->num_elements) return WEED_ERROR_NOSUCH_LEAF; + if (value == NULL) return WEED_NO_ERROR; + if (weed_seed_is_ptr(leaf->seed_type)) memcpy(value, &leaf->data[idx]->value, sizeof(void *)); else { - if (leaf->seed_type==WEED_SEED_STRING) { - size_t size=leaf->data[idx]->size; - char **valuecharptrptr=(char **)value; - if (size>0) memcpy(*valuecharptrptr,leaf->data[idx]->value,size); - memset(*valuecharptrptr+size,0,1); - } else memcpy(value,leaf->data[idx]->value,weed_seed_get_size(leaf->seed_type,leaf->data[idx]->value)); + if (leaf->seed_type == WEED_SEED_STRING) { + size_t size = leaf->data[idx]->size; + char **valuecharptrptr = (char **)value; + if (size > 0) memcpy(*valuecharptrptr, leaf->data[idx]->value, size); + memset(*valuecharptrptr + size, 0, 1); + } else memcpy(value, leaf->data[idx]->value, weed_seed_get_size(leaf->seed_type, leaf->data[idx]->value)); } return WEED_NO_ERROR; } int weed_leaf_num_elements(weed_plant_t *plant, const char *key) { - weed_leaf_t *leaf=weed_find_leaf(plant, key); - if (leaf==NULL) return 0; + weed_leaf_t *leaf = weed_find_leaf(plant, key); + if (leaf == NULL) return 0; return leaf->num_elements; } size_t weed_leaf_element_size(weed_plant_t *plant, const char *key, int idx) { - weed_leaf_t *leaf=weed_find_leaf(plant, key); - if (leaf==NULL||idx>leaf->num_elements) return 0; + weed_leaf_t *leaf = weed_find_leaf(plant, key); + if (leaf == NULL || idx > leaf->num_elements) return 0; return leaf->data[idx]->size; } int weed_leaf_seed_type(weed_plant_t *plant, const char *key) { - weed_leaf_t *leaf=weed_find_leaf(plant, key); - if (leaf==NULL) return 0; + weed_leaf_t *leaf = weed_find_leaf(plant, key); + if (leaf == NULL) return 0; return leaf->seed_type; } int weed_leaf_get_flags(weed_plant_t *plant, const char *key) { - weed_leaf_t *leaf=weed_find_leaf(plant, key); - if (leaf==NULL) return 0; + weed_leaf_t *leaf = weed_find_leaf(plant, key); + if (leaf == NULL) return 0; return leaf->flags; } @@ -383,7 +383,7 @@ } void *weed_memset(void *p, int c, size_t n) { - return memset(p,c,n); + return memset(p, c, n); } void *weed_malloc(size_t n) { @@ -391,5 +391,5 @@ } void *weed_memcpy(void *dest, const void *src, size_t n) { - return memcpy(dest,src,n); + return memcpy(dest, src, n); }
View file
LiVES-2.8.4.tar.bz2/libweed/weed-utils.c -> LiVES-2.8.6.tar.bz2/libweed/weed-utils.c
Changed
@@ -72,7 +72,7 @@ ///////////////////////////////////////////////////////////////// int weed_plant_has_leaf(weed_plant_t *plant, const char *key) { - if (weed_leaf_get(plant,key,0,NULL)==WEED_ERROR_NOSUCH_LEAF) return WEED_FALSE; + if (weed_leaf_get(plant, key, 0, NULL) == WEED_ERROR_NOSUCH_LEAF) return WEED_FALSE; return WEED_TRUE; } @@ -81,37 +81,37 @@ int weed_set_int_value(weed_plant_t *plant, const char *key, int value) { // returns a WEED_ERROR - return weed_leaf_set(plant,key,WEED_SEED_INT,1,&value); + return weed_leaf_set(plant, key, WEED_SEED_INT, 1, &value); } int weed_set_double_value(weed_plant_t *plant, const char *key, double value) { // returns a WEED_ERROR - return weed_leaf_set(plant,key,WEED_SEED_DOUBLE,1,&value); + return weed_leaf_set(plant, key, WEED_SEED_DOUBLE, 1, &value); } int weed_set_boolean_value(weed_plant_t *plant, const char *key, int value) { // returns a WEED_ERROR - return weed_leaf_set(plant,key,WEED_SEED_BOOLEAN,1,&value); + return weed_leaf_set(plant, key, WEED_SEED_BOOLEAN, 1, &value); } int weed_set_int64_value(weed_plant_t *plant, const char *key, int64_t value) { // returns a WEED_ERROR - return weed_leaf_set(plant,key,WEED_SEED_INT64,1,&value); + return weed_leaf_set(plant, key, WEED_SEED_INT64, 1, &value); } int weed_set_string_value(weed_plant_t *plant, const char *key, const char *value) { // returns a WEED_ERROR - return weed_leaf_set(plant,key,WEED_SEED_STRING,1,&value); + return weed_leaf_set(plant, key, WEED_SEED_STRING, 1, &value); } int weed_set_plantptr_value(weed_plant_t *plant, const char *key, weed_plant_t *value) { // returns a WEED_ERROR - return weed_leaf_set(plant,key,WEED_SEED_PLANTPTR,1,&value); + return weed_leaf_set(plant, key, WEED_SEED_PLANTPTR, 1, &value); } int weed_set_voidptr_value(weed_plant_t *plant, const char *key, void *value) { // returns a WEED_ERROR - return weed_leaf_set(plant,key,WEED_SEED_VOIDPTR,1,&value); + return weed_leaf_set(plant, key, WEED_SEED_VOIDPTR, 1, &value); } ////////////////////////////////////////////////////////////////////////////////////////////////// @@ -125,80 +125,80 @@ //////////////////////////////////////////////////////////// int weed_get_int_value(weed_plant_t *plant, const char *key, int *error) { - int retval=0; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_INT) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + int retval = 0; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_INT) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return retval; - } else *error=weed_get_value(plant,key,&retval); + } else *error = weed_get_value(plant, key, &retval); return retval; } double weed_get_double_value(weed_plant_t *plant, const char *key, int *error) { - double retval=0.; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_DOUBLE) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + double retval = 0.; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_DOUBLE) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return retval; } - *error=weed_get_value(plant,key,&retval); + *error = weed_get_value(plant, key, &retval); return retval; } int weed_get_boolean_value(weed_plant_t *plant, const char *key, int *error) { - int retval=0; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_BOOLEAN) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + int retval = 0; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_BOOLEAN) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return retval; } - *error=weed_get_value(plant,key,&retval); + *error = weed_get_value(plant, key, &retval); return retval; } int64_t weed_get_int64_value(weed_plant_t *plant, const char *key, int *error) { - int64_t retval=0; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_INT64) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + int64_t retval = 0; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_INT64) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return retval; } - *error=weed_get_value(plant,key,&retval); + *error = weed_get_value(plant, key, &retval); return retval; } char *weed_get_string_value(weed_plant_t *plant, const char *key, int *error) { size_t size; - char *retval=NULL; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_STRING) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + char *retval = NULL; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_STRING) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return NULL; } - if ((retval=(char *)weed_malloc((size=weed_leaf_element_size(plant,key,0))+1))==NULL) { - *error=WEED_ERROR_MEMORY_ALLOCATION; + if ((retval = (char *)weed_malloc((size = weed_leaf_element_size(plant, key, 0)) + 1)) == NULL) { + *error = WEED_ERROR_MEMORY_ALLOCATION; return NULL; } - if ((*error=weed_get_value(plant,key,&retval))!=WEED_NO_ERROR) { + if ((*error = weed_get_value(plant, key, &retval)) != WEED_NO_ERROR) { weed_free(retval); return NULL; } - weed_memset(retval+size,0,1); + weed_memset(retval + size, 0, 1); return retval; } void *weed_get_voidptr_value(weed_plant_t *plant, const char *key, int *error) { - void *retval=NULL; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_VOIDPTR) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + void *retval = NULL; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_VOIDPTR) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return retval; } - *error=weed_get_value(plant,key,&retval); + *error = weed_get_value(plant, key, &retval); return retval; } weed_plant_t *weed_get_plantptr_value(weed_plant_t *plant, const char *key, int *error) { - weed_plant_t *retval=NULL; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_PLANTPTR) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + weed_plant_t *retval = NULL; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_PLANTPTR) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return retval; } - *error=weed_get_value(plant,key,&retval); + *error = weed_get_value(plant, key, &retval); return retval; } @@ -210,20 +210,20 @@ int num_elems; int *retval; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_INT) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_INT) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return NULL; } - if ((num_elems=weed_leaf_num_elements(plant,key))==0) return NULL; + if ((num_elems = weed_leaf_num_elements(plant, key)) == 0) return NULL; - if ((retval=(int *)weed_malloc(num_elems*4))==NULL) { - *error=WEED_ERROR_MEMORY_ALLOCATION; + if ((retval = (int *)weed_malloc(num_elems * 4)) == NULL) { + *error = WEED_ERROR_MEMORY_ALLOCATION; return NULL; } - for (i=0; i<num_elems; i++) { - if ((*error=weed_leaf_get(plant, key, i, &retval[i]))!=WEED_NO_ERROR) { + for (i = 0; i < num_elems; i++) { + if ((*error = weed_leaf_get(plant, key, i, &retval[i])) != WEED_NO_ERROR) { weed_free(retval); return NULL; } @@ -236,19 +236,19 @@ int num_elems; double *retval; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_DOUBLE) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_DOUBLE) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return NULL; } - if ((num_elems=weed_leaf_num_elements(plant,key))==0) return NULL; + if ((num_elems = weed_leaf_num_elements(plant, key)) == 0) return NULL; - if ((retval=(double *)weed_malloc(num_elems*sizeof(double)))==NULL) { - *error=WEED_ERROR_MEMORY_ALLOCATION; + if ((retval = (double *)weed_malloc(num_elems * sizeof(double))) == NULL) { + *error = WEED_ERROR_MEMORY_ALLOCATION; return NULL; } - for (i=0; i<num_elems; i++) { - if ((*error=weed_leaf_get(plant, key, i, &retval[i]))!=WEED_NO_ERROR) { + for (i = 0; i < num_elems; i++) { + if ((*error = weed_leaf_get(plant, key, i, &retval[i])) != WEED_NO_ERROR) { weed_free(retval); return NULL; } @@ -261,20 +261,20 @@ int num_elems; int *retval; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_BOOLEAN) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_BOOLEAN) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return NULL; } - if ((num_elems=weed_leaf_num_elements(plant,key))==0) return NULL; + if ((num_elems = weed_leaf_num_elements(plant, key)) == 0) return NULL; - if ((retval=(int *)weed_malloc(num_elems*4))==NULL) { - *error=WEED_ERROR_MEMORY_ALLOCATION; + if ((retval = (int *)weed_malloc(num_elems * 4)) == NULL) { + *error = WEED_ERROR_MEMORY_ALLOCATION; return NULL; } - for (i=0; i<num_elems; i++) { - if ((*error=weed_leaf_get(plant, key, i, &retval[i]))!=WEED_NO_ERROR) { + for (i = 0; i < num_elems; i++) { + if ((*error = weed_leaf_get(plant, key, i, &retval[i])) != WEED_NO_ERROR) { weed_free(retval); return NULL; } @@ -287,20 +287,20 @@ int num_elems; int64_t *retval; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_INT64) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_INT64) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return NULL; } - if ((num_elems=weed_leaf_num_elements(plant,key))==0) return NULL; + if ((num_elems = weed_leaf_num_elements(plant, key)) == 0) return NULL; - if ((retval=(int64_t *)weed_malloc(num_elems*8))==NULL) { - *error=WEED_ERROR_MEMORY_ALLOCATION; + if ((retval = (int64_t *)weed_malloc(num_elems * 8)) == NULL) { + *error = WEED_ERROR_MEMORY_ALLOCATION; return NULL; } - for (i=0; i<num_elems; i++) { - if ((*error=weed_leaf_get(plant, key, i, &retval[i]))!=WEED_NO_ERROR) { + for (i = 0; i < num_elems; i++) { + if ((*error = weed_leaf_get(plant, key, i, &retval[i])) != WEED_NO_ERROR) { weed_free(retval); return NULL; } @@ -314,31 +314,31 @@ char **retval; size_t size; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_STRING) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_STRING) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return NULL; } - if ((num_elems=weed_leaf_num_elements(plant,key))==0) return NULL; + if ((num_elems = weed_leaf_num_elements(plant, key)) == 0) return NULL; - if ((retval=(char **)weed_malloc(num_elems*sizeof(char *)))==NULL) { - *error=WEED_ERROR_MEMORY_ALLOCATION; + if ((retval = (char **)weed_malloc(num_elems * sizeof(char *))) == NULL) { + *error = WEED_ERROR_MEMORY_ALLOCATION; return NULL; } - for (i=0; i<num_elems; i++) { - if ((retval[i]=(char *)weed_malloc((size=weed_leaf_element_size(plant,key,i))+1))==NULL) { - for (--i; i>=0; i--) weed_free(retval[i]); - *error=WEED_ERROR_MEMORY_ALLOCATION; + for (i = 0; i < num_elems; i++) { + if ((retval[i] = (char *)weed_malloc((size = weed_leaf_element_size(plant, key, i)) + 1)) == NULL) { + for (--i; i >= 0; i--) weed_free(retval[i]); + *error = WEED_ERROR_MEMORY_ALLOCATION; weed_free(retval); return NULL; } - if ((*error=weed_leaf_get(plant, key, i, &retval[i]))!=WEED_NO_ERROR) { - for (--i; i>=0; i--) weed_free(retval[i]); + if ((*error = weed_leaf_get(plant, key, i, &retval[i])) != WEED_NO_ERROR) { + for (--i; i >= 0; i--) weed_free(retval[i]); weed_free(retval); return NULL; } - weed_memset(retval[i]+size,0,1); + weed_memset(retval[i] + size, 0, 1); } return retval; } @@ -348,20 +348,20 @@ int num_elems; void **retval; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_VOIDPTR) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_VOIDPTR) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return NULL; } - if ((num_elems=weed_leaf_num_elements(plant,key))==0) return NULL; + if ((num_elems = weed_leaf_num_elements(plant, key)) == 0) return NULL; - if ((retval=(void **)weed_malloc(num_elems*sizeof(void *)))==NULL) { - *error=WEED_ERROR_MEMORY_ALLOCATION; + if ((retval = (void **)weed_malloc(num_elems * sizeof(void *))) == NULL) { + *error = WEED_ERROR_MEMORY_ALLOCATION; return NULL; } - for (i=0; i<num_elems; i++) { - if ((*error=weed_leaf_get(plant, key, i, &retval[i]))!=WEED_NO_ERROR) { + for (i = 0; i < num_elems; i++) { + if ((*error = weed_leaf_get(plant, key, i, &retval[i])) != WEED_NO_ERROR) { weed_free(retval); return NULL; } @@ -374,20 +374,20 @@ int num_elems; weed_plant_t **retval; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_PLANTPTR) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_PLANTPTR) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return NULL; } - if ((num_elems=weed_leaf_num_elements(plant,key))==0) return NULL; + if ((num_elems = weed_leaf_num_elements(plant, key)) == 0) return NULL; - if ((retval=(weed_plant_t **)weed_malloc(num_elems*sizeof(weed_plant_t *)))==NULL) { - *error=WEED_ERROR_MEMORY_ALLOCATION; + if ((retval = (weed_plant_t **)weed_malloc(num_elems * sizeof(weed_plant_t *))) == NULL) { + *error = WEED_ERROR_MEMORY_ALLOCATION; return NULL; } - for (i=0; i<num_elems; i++) { - if ((*error=weed_leaf_get(plant, key, i, &retval[i]))!=WEED_NO_ERROR) { + for (i = 0; i < num_elems; i++) { + if ((*error = weed_leaf_get(plant, key, i, &retval[i])) != WEED_NO_ERROR) { weed_free(retval); return NULL; } @@ -398,31 +398,31 @@ ///////////////////////////////////////////////////// int weed_set_int_array(weed_plant_t *plant, const char *key, int num_elems, int *values) { - return weed_leaf_set(plant,key,WEED_SEED_INT,num_elems,values); + return weed_leaf_set(plant, key, WEED_SEED_INT, num_elems, values); } int weed_set_double_array(weed_plant_t *plant, const char *key, int num_elems, double *values) { - return weed_leaf_set(plant,key,WEED_SEED_DOUBLE,num_elems,values); + return weed_leaf_set(plant, key, WEED_SEED_DOUBLE, num_elems, values); } int weed_set_boolean_array(weed_plant_t *plant, const char *key, int num_elems, int *values) { - return weed_leaf_set(plant,key,WEED_SEED_BOOLEAN,num_elems,values); + return weed_leaf_set(plant, key, WEED_SEED_BOOLEAN, num_elems, values); } int weed_set_int64_array(weed_plant_t *plant, const char *key, int num_elems, int64_t *values) { - return weed_leaf_set(plant,key,WEED_SEED_INT64,num_elems,values); + return weed_leaf_set(plant, key, WEED_SEED_INT64, num_elems, values); } int weed_set_string_array(weed_plant_t *plant, const char *key, int num_elems, char **values) { - return weed_leaf_set(plant,key,WEED_SEED_STRING,num_elems,values); + return weed_leaf_set(plant, key, WEED_SEED_STRING, num_elems, values); } int weed_set_voidptr_array(weed_plant_t *plant, const char *key, int num_elems, void **values) { - return weed_leaf_set(plant,key,WEED_SEED_VOIDPTR,num_elems,values); + return weed_leaf_set(plant, key, WEED_SEED_VOIDPTR, num_elems, values); } int weed_set_plantptr_array(weed_plant_t *plant, const char *key, int num_elems, weed_plant_t **values) { - return weed_leaf_set(plant,key,WEED_SEED_PLANTPTR,num_elems,values); + return weed_leaf_set(plant, key, WEED_SEED_PLANTPTR, num_elems, values); } @@ -430,7 +430,7 @@ int weed_leaf_copy(weed_plant_t *dst, const char *keyt, weed_plant_t *src, const char *keyf) { - int num,seed_type,i,error; + int num, seed_type, i, error; int *datai; double *datad; char **datac; @@ -438,48 +438,48 @@ void **datav; weed_plant_t **datap; - if (weed_plant_has_leaf(src,keyf)==WEED_FALSE) return WEED_ERROR_NOSUCH_LEAF; + if (weed_plant_has_leaf(src, keyf) == WEED_FALSE) return WEED_ERROR_NOSUCH_LEAF; - seed_type=weed_leaf_seed_type(src,keyf); - num=weed_leaf_num_elements(src,keyf); + seed_type = weed_leaf_seed_type(src, keyf); + num = weed_leaf_num_elements(src, keyf); - if (num==0) weed_leaf_set(dst,keyt,seed_type,0,NULL); + if (num == 0) weed_leaf_set(dst, keyt, seed_type, 0, NULL); else { switch (seed_type) { case WEED_SEED_INT: - datai=weed_get_int_array(src,keyf,&error); - error=weed_set_int_array(dst,keyt,num,datai); + datai = weed_get_int_array(src, keyf, &error); + error = weed_set_int_array(dst, keyt, num, datai); weed_free(datai); break; case WEED_SEED_INT64: - datai6=weed_get_int64_array(src,keyf,&error); - error=weed_set_int64_array(dst,keyt,num,datai6); + datai6 = weed_get_int64_array(src, keyf, &error); + error = weed_set_int64_array(dst, keyt, num, datai6); weed_free(datai6); break; case WEED_SEED_BOOLEAN: - datai=weed_get_boolean_array(src,keyf,&error); - error=weed_set_boolean_array(dst,keyt,num,datai); + datai = weed_get_boolean_array(src, keyf, &error); + error = weed_set_boolean_array(dst, keyt, num, datai); weed_free(datai); break; case WEED_SEED_DOUBLE: - datad=weed_get_double_array(src,keyf,&error); - error=weed_set_double_array(dst,keyt,num,datad); + datad = weed_get_double_array(src, keyf, &error); + error = weed_set_double_array(dst, keyt, num, datad); weed_free(datad); break; case WEED_SEED_VOIDPTR: - datav=weed_get_voidptr_array(src,keyf,&error); - error=weed_set_voidptr_array(dst,keyt,num,datav); + datav = weed_get_voidptr_array(src, keyf, &error); + error = weed_set_voidptr_array(dst, keyt, num, datav); weed_free(datav); break; case WEED_SEED_PLANTPTR: - datap=weed_get_plantptr_array(src,keyf,&error); - error=weed_set_plantptr_array(dst,keyt,num,datap); + datap = weed_get_plantptr_array(src, keyf, &error); + error = weed_set_plantptr_array(dst, keyt, num, datap); weed_free(datap); break; case WEED_SEED_STRING: - datac=weed_get_string_array(src,keyf,&error); - error=weed_set_string_array(dst,keyt,num,datac); - for (i=0; i<num; i++) { + datac = weed_get_string_array(src, keyf, &error); + error = weed_set_string_array(dst, keyt, num, datac); + for (i = 0; i < num; i++) { weed_free(datac[i]); } weed_free(datac); @@ -491,19 +491,19 @@ weed_plant_t *weed_plant_copy(weed_plant_t *src) { - int i=0,error; - char **proplist=weed_plant_list_leaves(src); + int i = 0, error; + char **proplist = weed_plant_list_leaves(src); char *prop; - weed_plant_t *plant=weed_plant_new(weed_get_int_value(src,"type",&error)); - if (plant==NULL) return NULL; + weed_plant_t *plant = weed_plant_new(weed_get_int_value(src, "type", &error)); + if (plant == NULL) return NULL; - for (prop=proplist[0]; (prop=proplist[i])!=NULL&&error==WEED_NO_ERROR; i++) { - if (strcmp(prop,"type")) error=weed_leaf_copy(plant,prop,src,prop); + for (prop = proplist[0]; (prop = proplist[i]) != NULL && error == WEED_NO_ERROR; i++) { + if (strcmp(prop, "type")) error = weed_leaf_copy(plant, prop, src, prop); weed_free(prop); } weed_free(proplist); - if (error==WEED_ERROR_MEMORY_ALLOCATION) { + if (error == WEED_ERROR_MEMORY_ALLOCATION) { //if (plant!=NULL) weed_plant_free(plant); // well, we should free the plant, but the plugins don't have this function... return NULL; } @@ -514,7 +514,7 @@ int weed_get_plant_type(weed_plant_t *plant) { int error; - return weed_get_int_value(plant,"type",&error); + return weed_get_int_value(plant, "type", &error); }
View file
LiVES-2.8.4.tar.bz2/libweed/weed-utils_scripting.c -> LiVES-2.8.6.tar.bz2/libweed/weed-utils_scripting.c
Changed
@@ -58,7 +58,7 @@ ///////////////////////////////////////////////////////////////// int weed_plant_has_leaf(weed_plant_t *plant, const char *key) { - if (weed_leaf_get(plant,key,0,NULL)==WEED_ERROR_NOSUCH_LEAF) return WEED_FALSE; + if (weed_leaf_get(plant, key, 0, NULL) == WEED_ERROR_NOSUCH_LEAF) return WEED_FALSE; return WEED_TRUE; } @@ -67,37 +67,37 @@ int weed_set_int_value(weed_plant_t *plant, const char *key, int value) { // returns a WEED_ERROR - return weed_leaf_set(plant,key,WEED_SEED_INT,1,&value); + return weed_leaf_set(plant, key, WEED_SEED_INT, 1, &value); } int weed_set_double_value(weed_plant_t *plant, const char *key, double value) { // returns a WEED_ERROR - return weed_leaf_set(plant,key,WEED_SEED_DOUBLE,1,&value); + return weed_leaf_set(plant, key, WEED_SEED_DOUBLE, 1, &value); } int weed_set_boolean_value(weed_plant_t *plant, const char *key, int value) { // returns a WEED_ERROR - return weed_leaf_set(plant,key,WEED_SEED_BOOLEAN,1,&value); + return weed_leaf_set(plant, key, WEED_SEED_BOOLEAN, 1, &value); } int weed_set_int64_value(weed_plant_t *plant, const char *key, int64_t value) { // returns a WEED_ERROR - return weed_leaf_set(plant,key,WEED_SEED_INT64,1,&value); + return weed_leaf_set(plant, key, WEED_SEED_INT64, 1, &value); } int weed_set_string_value(weed_plant_t *plant, const char *key, const char *value) { // returns a WEED_ERROR - return weed_leaf_set(plant,key,WEED_SEED_STRING,1,&value); + return weed_leaf_set(plant, key, WEED_SEED_STRING, 1, &value); } int weed_set_plantptr_value(weed_plant_t *plant, const char *key, weed_plant_t *value) { // returns a WEED_ERROR - return weed_leaf_set(plant,key,WEED_SEED_PLANTPTR,1,&value); + return weed_leaf_set(plant, key, WEED_SEED_PLANTPTR, 1, &value); } int weed_set_voidptr_value(weed_plant_t *plant, const char *key, void *value) { // returns a WEED_ERROR - return weed_leaf_set(plant,key,WEED_SEED_VOIDPTR,1,&value); + return weed_leaf_set(plant, key, WEED_SEED_VOIDPTR, 1, &value); } ////////////////////////////////////////////////////////////////////////////////////////////////// @@ -111,80 +111,80 @@ //////////////////////////////////////////////////////////// int weed_get_int_value(weed_plant_t *plant, const char *key, int *error) { - int retval=0; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_INT) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + int retval = 0; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_INT) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return retval; - } else *error=weed_get_value(plant,key,&retval); + } else *error = weed_get_value(plant, key, &retval); return retval; } double weed_get_double_value(weed_plant_t *plant, const char *key, int *error) { - double retval=0.; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_DOUBLE) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + double retval = 0.; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_DOUBLE) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return retval; } - *error=weed_get_value(plant,key,&retval); + *error = weed_get_value(plant, key, &retval); return retval; } int weed_get_boolean_value(weed_plant_t *plant, const char *key, int *error) { - int retval=0; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_BOOLEAN) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + int retval = 0; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_BOOLEAN) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return retval; } - *error=weed_get_value(plant,key,&retval); + *error = weed_get_value(plant, key, &retval); return retval; } int64_t weed_get_int64_value(weed_plant_t *plant, const char *key, int *error) { - int64_t retval=0; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_INT64) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + int64_t retval = 0; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_INT64) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return retval; } - *error=weed_get_value(plant,key,&retval); + *error = weed_get_value(plant, key, &retval); return retval; } char *weed_get_string_value(weed_plant_t *plant, const char *key, int *error) { size_t size; - char *retval=NULL; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_STRING) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + char *retval = NULL; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_STRING) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return NULL; } - if ((retval=(char *)weed_malloc((size=weed_leaf_element_size(plant,key,0))+1))==NULL) { - *error=WEED_ERROR_MEMORY_ALLOCATION; + if ((retval = (char *)weed_malloc((size = weed_leaf_element_size(plant, key, 0)) + 1)) == NULL) { + *error = WEED_ERROR_MEMORY_ALLOCATION; return NULL; } - if ((*error=weed_get_value(plant,key,&retval))!=WEED_NO_ERROR) { + if ((*error = weed_get_value(plant, key, &retval)) != WEED_NO_ERROR) { weed_free(retval); return NULL; } - weed_memset(retval+size,0,1); + weed_memset(retval + size, 0, 1); return retval; } void *weed_get_voidptr_value(weed_plant_t *plant, const char *key, int *error) { - void *retval=NULL; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_VOIDPTR) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + void *retval = NULL; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_VOIDPTR) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return retval; } - *error=weed_get_value(plant,key,&retval); + *error = weed_get_value(plant, key, &retval); return retval; } weed_plant_t *weed_get_plantptr_value(weed_plant_t *plant, const char *key, int *error) { - weed_plant_t *retval=NULL; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_PLANTPTR) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + weed_plant_t *retval = NULL; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_PLANTPTR) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return retval; } - *error=weed_get_value(plant,key,&retval); + *error = weed_get_value(plant, key, &retval); return retval; } @@ -196,20 +196,20 @@ int num_elems; int *retval; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_INT) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_INT) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return NULL; } - if ((num_elems=weed_leaf_num_elements(plant,key))==0) return NULL; + if ((num_elems = weed_leaf_num_elements(plant, key)) == 0) return NULL; - if ((retval=(int *)weed_malloc(num_elems*4))==NULL) { - *error=WEED_ERROR_MEMORY_ALLOCATION; + if ((retval = (int *)weed_malloc(num_elems * 4)) == NULL) { + *error = WEED_ERROR_MEMORY_ALLOCATION; return NULL; } - for (i=0; i<num_elems; i++) { - if ((*error=weed_leaf_get(plant, key, i, &retval[i]))!=WEED_NO_ERROR) { + for (i = 0; i < num_elems; i++) { + if ((*error = weed_leaf_get(plant, key, i, &retval[i])) != WEED_NO_ERROR) { weed_free(retval); return NULL; } @@ -222,19 +222,19 @@ int num_elems; double *retval; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_DOUBLE) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_DOUBLE) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return NULL; } - if ((num_elems=weed_leaf_num_elements(plant,key))==0) return NULL; + if ((num_elems = weed_leaf_num_elements(plant, key)) == 0) return NULL; - if ((retval=(double *)weed_malloc(num_elems*sizeof(double)))==NULL) { - *error=WEED_ERROR_MEMORY_ALLOCATION; + if ((retval = (double *)weed_malloc(num_elems * sizeof(double))) == NULL) { + *error = WEED_ERROR_MEMORY_ALLOCATION; return NULL; } - for (i=0; i<num_elems; i++) { - if ((*error=weed_leaf_get(plant, key, i, &retval[i]))!=WEED_NO_ERROR) { + for (i = 0; i < num_elems; i++) { + if ((*error = weed_leaf_get(plant, key, i, &retval[i])) != WEED_NO_ERROR) { weed_free(retval); return NULL; } @@ -247,20 +247,20 @@ int num_elems; int *retval; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_BOOLEAN) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_BOOLEAN) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return NULL; } - if ((num_elems=weed_leaf_num_elements(plant,key))==0) return NULL; + if ((num_elems = weed_leaf_num_elements(plant, key)) == 0) return NULL; - if ((retval=(int *)weed_malloc(num_elems*4))==NULL) { - *error=WEED_ERROR_MEMORY_ALLOCATION; + if ((retval = (int *)weed_malloc(num_elems * 4)) == NULL) { + *error = WEED_ERROR_MEMORY_ALLOCATION; return NULL; } - for (i=0; i<num_elems; i++) { - if ((*error=weed_leaf_get(plant, key, i, &retval[i]))!=WEED_NO_ERROR) { + for (i = 0; i < num_elems; i++) { + if ((*error = weed_leaf_get(plant, key, i, &retval[i])) != WEED_NO_ERROR) { weed_free(retval); return NULL; } @@ -273,20 +273,20 @@ int num_elems; int64_t *retval; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_INT64) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_INT64) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return NULL; } - if ((num_elems=weed_leaf_num_elements(plant,key))==0) return NULL; + if ((num_elems = weed_leaf_num_elements(plant, key)) == 0) return NULL; - if ((retval=(int64_t *)weed_malloc(num_elems*8))==NULL) { - *error=WEED_ERROR_MEMORY_ALLOCATION; + if ((retval = (int64_t *)weed_malloc(num_elems * 8)) == NULL) { + *error = WEED_ERROR_MEMORY_ALLOCATION; return NULL; } - for (i=0; i<num_elems; i++) { - if ((*error=weed_leaf_get(plant, key, i, &retval[i]))!=WEED_NO_ERROR) { + for (i = 0; i < num_elems; i++) { + if ((*error = weed_leaf_get(plant, key, i, &retval[i])) != WEED_NO_ERROR) { weed_free(retval); return NULL; } @@ -300,31 +300,31 @@ char **retval; size_t size; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_STRING) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_STRING) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return NULL; } - if ((num_elems=weed_leaf_num_elements(plant,key))==0) return NULL; + if ((num_elems = weed_leaf_num_elements(plant, key)) == 0) return NULL; - if ((retval=(char **)weed_malloc(num_elems*sizeof(char *)))==NULL) { - *error=WEED_ERROR_MEMORY_ALLOCATION; + if ((retval = (char **)weed_malloc(num_elems * sizeof(char *))) == NULL) { + *error = WEED_ERROR_MEMORY_ALLOCATION; return NULL; } - for (i=0; i<num_elems; i++) { - if ((retval[i]=(char *)weed_malloc((size=weed_leaf_element_size(plant,key,i))+1))==NULL) { - for (--i; i>=0; i--) weed_free(retval[i]); - *error=WEED_ERROR_MEMORY_ALLOCATION; + for (i = 0; i < num_elems; i++) { + if ((retval[i] = (char *)weed_malloc((size = weed_leaf_element_size(plant, key, i)) + 1)) == NULL) { + for (--i; i >= 0; i--) weed_free(retval[i]); + *error = WEED_ERROR_MEMORY_ALLOCATION; weed_free(retval); return NULL; } - if ((*error=weed_leaf_get(plant, key, i, &retval[i]))!=WEED_NO_ERROR) { - for (--i; i>=0; i--) weed_free(retval[i]); + if ((*error = weed_leaf_get(plant, key, i, &retval[i])) != WEED_NO_ERROR) { + for (--i; i >= 0; i--) weed_free(retval[i]); weed_free(retval); return NULL; } - weed_memset(retval[i]+size,0,1); + weed_memset(retval[i] + size, 0, 1); } return retval; } @@ -334,20 +334,20 @@ int num_elems; void **retval; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_VOIDPTR) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_VOIDPTR) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return NULL; } - if ((num_elems=weed_leaf_num_elements(plant,key))==0) return NULL; + if ((num_elems = weed_leaf_num_elements(plant, key)) == 0) return NULL; - if ((retval=(void **)weed_malloc(num_elems*sizeof(void *)))==NULL) { - *error=WEED_ERROR_MEMORY_ALLOCATION; + if ((retval = (void **)weed_malloc(num_elems * sizeof(void *))) == NULL) { + *error = WEED_ERROR_MEMORY_ALLOCATION; return NULL; } - for (i=0; i<num_elems; i++) { - if ((*error=weed_leaf_get(plant, key, i, &retval[i]))!=WEED_NO_ERROR) { + for (i = 0; i < num_elems; i++) { + if ((*error = weed_leaf_get(plant, key, i, &retval[i])) != WEED_NO_ERROR) { weed_free(retval); return NULL; } @@ -360,20 +360,20 @@ int num_elems; weed_plant_t **retval; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_PLANTPTR) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_PLANTPTR) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return NULL; } - if ((num_elems=weed_leaf_num_elements(plant,key))==0) return NULL; + if ((num_elems = weed_leaf_num_elements(plant, key)) == 0) return NULL; - if ((retval=(weed_plant_t **)weed_malloc(num_elems*sizeof(weed_plant_t *)))==NULL) { - *error=WEED_ERROR_MEMORY_ALLOCATION; + if ((retval = (weed_plant_t **)weed_malloc(num_elems * sizeof(weed_plant_t *))) == NULL) { + *error = WEED_ERROR_MEMORY_ALLOCATION; return NULL; } - for (i=0; i<num_elems; i++) { - if ((*error=weed_leaf_get(plant, key, i, &retval[i]))!=WEED_NO_ERROR) { + for (i = 0; i < num_elems; i++) { + if ((*error = weed_leaf_get(plant, key, i, &retval[i])) != WEED_NO_ERROR) { weed_free(retval); return NULL; } @@ -384,31 +384,31 @@ ///////////////////////////////////////////////////// int weed_set_int_array(weed_plant_t *plant, const char *key, int num_elems, int *values) { - return weed_leaf_set(plant,key,WEED_SEED_INT,num_elems,values); + return weed_leaf_set(plant, key, WEED_SEED_INT, num_elems, values); } int weed_set_double_array(weed_plant_t *plant, const char *key, int num_elems, double *values) { - return weed_leaf_set(plant,key,WEED_SEED_DOUBLE,num_elems,values); + return weed_leaf_set(plant, key, WEED_SEED_DOUBLE, num_elems, values); } int weed_set_boolean_array(weed_plant_t *plant, const char *key, int num_elems, int *values) { - return weed_leaf_set(plant,key,WEED_SEED_BOOLEAN,num_elems,values); + return weed_leaf_set(plant, key, WEED_SEED_BOOLEAN, num_elems, values); } int weed_set_int64_array(weed_plant_t *plant, const char *key, int num_elems, int64_t *values) { - return weed_leaf_set(plant,key,WEED_SEED_INT64,num_elems,values); + return weed_leaf_set(plant, key, WEED_SEED_INT64, num_elems, values); } int weed_set_string_array(weed_plant_t *plant, const char *key, int num_elems, char **values) { - return weed_leaf_set(plant,key,WEED_SEED_STRING,num_elems,values); + return weed_leaf_set(plant, key, WEED_SEED_STRING, num_elems, values); } int weed_set_voidptr_array(weed_plant_t *plant, const char *key, int num_elems, void **values) { - return weed_leaf_set(plant,key,WEED_SEED_VOIDPTR,num_elems,values); + return weed_leaf_set(plant, key, WEED_SEED_VOIDPTR, num_elems, values); } int weed_set_plantptr_array(weed_plant_t *plant, const char *key, int num_elems, weed_plant_t **values) { - return weed_leaf_set(plant,key,WEED_SEED_PLANTPTR,num_elems,values); + return weed_leaf_set(plant, key, WEED_SEED_PLANTPTR, num_elems, values); } @@ -416,7 +416,7 @@ int weed_leaf_copy(weed_plant_t *dst, const char *keyt, weed_plant_t *src, const char *keyf) { - int num,seed_type,i,error; + int num, seed_type, i, error; int *datai; double *datad; char **datac; @@ -424,48 +424,48 @@ void **datav; weed_plant_t **datap; - if (weed_plant_has_leaf(src,keyf)==WEED_FALSE) return WEED_ERROR_NOSUCH_LEAF; + if (weed_plant_has_leaf(src, keyf) == WEED_FALSE) return WEED_ERROR_NOSUCH_LEAF; - seed_type=weed_leaf_seed_type(src,keyf); - num=weed_leaf_num_elements(src,keyf); + seed_type = weed_leaf_seed_type(src, keyf); + num = weed_leaf_num_elements(src, keyf); - if (num==0) weed_leaf_set(dst,keyt,seed_type,0,NULL); + if (num == 0) weed_leaf_set(dst, keyt, seed_type, 0, NULL); else { switch (seed_type) { case WEED_SEED_INT: - datai=weed_get_int_array(src,keyf,&error); - error=weed_set_int_array(dst,keyt,num,datai); + datai = weed_get_int_array(src, keyf, &error); + error = weed_set_int_array(dst, keyt, num, datai); weed_free(datai); break; case WEED_SEED_INT64: - datai6=weed_get_int64_array(src,keyf,&error); - error=weed_set_int64_array(dst,keyt,num,datai6); + datai6 = weed_get_int64_array(src, keyf, &error); + error = weed_set_int64_array(dst, keyt, num, datai6); weed_free(datai6); break; case WEED_SEED_BOOLEAN: - datai=weed_get_boolean_array(src,keyf,&error); - error=weed_set_boolean_array(dst,keyt,num,datai); + datai = weed_get_boolean_array(src, keyf, &error); + error = weed_set_boolean_array(dst, keyt, num, datai); weed_free(datai); break; case WEED_SEED_DOUBLE: - datad=weed_get_double_array(src,keyf,&error); - error=weed_set_double_array(dst,keyt,num,datad); + datad = weed_get_double_array(src, keyf, &error); + error = weed_set_double_array(dst, keyt, num, datad); weed_free(datad); break; case WEED_SEED_VOIDPTR: - datav=weed_get_voidptr_array(src,keyf,&error); - error=weed_set_voidptr_array(dst,keyt,num,datav); + datav = weed_get_voidptr_array(src, keyf, &error); + error = weed_set_voidptr_array(dst, keyt, num, datav); weed_free(datav); break; case WEED_SEED_PLANTPTR: - datap=weed_get_plantptr_array(src,keyf,&error); - error=weed_set_plantptr_array(dst,keyt,num,datap); + datap = weed_get_plantptr_array(src, keyf, &error); + error = weed_set_plantptr_array(dst, keyt, num, datap); weed_free(datap); break; case WEED_SEED_STRING: - datac=weed_get_string_array(src,keyf,&error); - error=weed_set_string_array(dst,keyt,num,datac); - for (i=0; i<num; i++) { + datac = weed_get_string_array(src, keyf, &error); + error = weed_set_string_array(dst, keyt, num, datac); + for (i = 0; i < num; i++) { weed_free(datac[i]); } weed_free(datac); @@ -477,19 +477,19 @@ weed_plant_t *weed_plant_copy(weed_plant_t *src) { - int i=0,error; - char **proplist=weed_plant_list_leaves(src); + int i = 0, error; + char **proplist = weed_plant_list_leaves(src); char *prop; - weed_plant_t *plant=weed_plant_new(weed_get_int_value(src,"type",&error)); - if (plant==NULL) return NULL; + weed_plant_t *plant = weed_plant_new(weed_get_int_value(src, "type", &error)); + if (plant == NULL) return NULL; - for (prop=proplist[0]; (prop=proplist[i])!=NULL&&error==WEED_NO_ERROR; i++) { - if (strcmp(prop,"type")) error=weed_leaf_copy(plant,prop,src,prop); + for (prop = proplist[0]; (prop = proplist[i]) != NULL && error == WEED_NO_ERROR; i++) { + if (strcmp(prop, "type")) error = weed_leaf_copy(plant, prop, src, prop); weed_free(prop); } weed_free(proplist); - if (error==WEED_ERROR_MEMORY_ALLOCATION) { + if (error == WEED_ERROR_MEMORY_ALLOCATION) { //if (plant!=NULL) weed_plant_free(plant); // well, we should free the plant, but the plugins don't have this function... return NULL; } @@ -500,7 +500,7 @@ int weed_get_plant_type(weed_plant_t *plant) { int error; - return weed_get_int_value(plant,"type",&error); + return weed_get_int_value(plant, "type", &error); }
View file
LiVES-2.8.4.tar.bz2/libweed/weed.c -> LiVES-2.8.6.tar.bz2/libweed/weed.c
Changed
@@ -96,46 +96,46 @@ static int _weed_leaf_delete(weed_plant_t *plant, const char *key); static inline size_t weed_strlen(const char *string) { - size_t len=0; - size_t maxlen=(size_t)-2; - while (*(string++)!=0&&(len!=maxlen)) len++; + size_t len = 0; + size_t maxlen = (size_t) - 2; + while (*(string++) != 0 && (len != maxlen)) len++; return len; } static inline char *weed_strdup(const char *string) { size_t len; - char *ret=weed_malloc((len=weed_strlen(string))+1); - weed_memcpy(ret,string,len+1); + char *ret = weed_malloc((len = weed_strlen(string)) + 1); + weed_memcpy(ret, string, len + 1); return ret; } static inline int weed_strcmp(const char *st1, const char *st2) { - while (!(*st1==0&&*st2==0)) { - if (*(st1)==0||*(st2)==0||*(st1++)!=*(st2++)) return 1; + while (!(*st1 == 0 && *st2 == 0)) { + if (*(st1) == 0 || *(st2) == 0 || *(st1++) != *(st2++)) return 1; } return 0; } static inline int weed_seed_is_ptr(int seed) { - return (seed!=WEED_SEED_BOOLEAN&&seed!=WEED_SEED_INT&&seed!=WEED_SEED_DOUBLE&&seed!=WEED_SEED_STRING&& - seed!=WEED_SEED_INT64)?1:0; + return (seed != WEED_SEED_BOOLEAN && seed != WEED_SEED_INT && seed != WEED_SEED_DOUBLE && seed != WEED_SEED_STRING && + seed != WEED_SEED_INT64) ? 1 : 0; } static inline size_t weed_seed_get_size(int seed, void *value) { - return weed_seed_is_ptr(seed)?(sizeof(void *)):\ - (seed==WEED_SEED_BOOLEAN||seed==WEED_SEED_INT)?4:\ - (seed==WEED_SEED_DOUBLE)?8:\ - (seed==WEED_SEED_INT64)?8:\ - (seed==WEED_SEED_STRING)?weed_strlen((const char *)value):0; + return weed_seed_is_ptr(seed) ? (sizeof(void *)) : \ + (seed == WEED_SEED_BOOLEAN || seed == WEED_SEED_INT) ? 4 : \ + (seed == WEED_SEED_DOUBLE) ? 8 : \ + (seed == WEED_SEED_INT64) ? 8 : \ + (seed == WEED_SEED_STRING) ? weed_strlen((const char *)value) : 0; } static inline void weed_data_free(weed_data_t **data, int num_elems, int seed_type) { register int i; - if (data==NULL) return; - for (i=0; i<num_elems; i++) { - if (!weed_seed_is_ptr(seed_type)||(seed_type==WEED_SEED_STRING&&data[i]->value!=NULL)) weed_free(data[i]->value); + if (data == NULL) return; + for (i = 0; i < num_elems; i++) { + if (!weed_seed_is_ptr(seed_type) || (seed_type == WEED_SEED_STRING && data[i]->value != NULL)) weed_free(data[i]->value); weed_free(data[i]); } weed_free(data); @@ -143,179 +143,179 @@ static inline weed_data_t **weed_data_new(int seed_type, int num_elems, void *value) { register int i; - weed_data_t **data=NULL; + weed_data_t **data = NULL; size_t size; - char **valuec=(char **)value; - void **valuev=(void **)value; - - if (num_elems==0) return data; - if ((data=(weed_data_t **)weed_malloc(num_elems*sizeof(weed_data_t *)))==NULL) return ((void *)0); - for (i=0; i<num_elems; i++) { - if ((data[i]=(weed_data_t *)weed_malloc(sizeof(weed_data_t)))==NULL) { - weed_data_free(data,--i,seed_type); + char **valuec = (char **)value; + void **valuev = (void **)value; + + if (num_elems == 0) return data; + if ((data = (weed_data_t **)weed_malloc(num_elems * sizeof(weed_data_t *))) == NULL) return ((void *)0); + for (i = 0; i < num_elems; i++) { + if ((data[i] = (weed_data_t *)weed_malloc(sizeof(weed_data_t))) == NULL) { + weed_data_free(data, --i, seed_type); return NULL; } - if (weed_seed_is_ptr(seed_type)) data[i]->value=valuev[i]; + if (weed_seed_is_ptr(seed_type)) data[i]->value = valuev[i]; else { - if (seed_type==WEED_SEED_STRING) { - if ((size=weed_strlen(valuec[i]))>0) { - if ((data[i]->value=weed_malloc((size=weed_strlen(valuec[i]))))!=NULL) { - weed_memcpy(data[i]->value,valuec[i],size); + if (seed_type == WEED_SEED_STRING) { + if ((size = weed_strlen(valuec[i])) > 0) { + if ((data[i]->value = weed_malloc((size = weed_strlen(valuec[i])))) != NULL) { + weed_memcpy(data[i]->value, valuec[i], size); } - } else data[i]->value=NULL; - data[i]->size=size; - } else if ((data[i]->value=weed_malloc((size=weed_seed_get_size(seed_type,NULL))))!=NULL) - weed_memcpy(data[i]->value,(char *)value+i*size,size); - if (size>0&&data[i]->value==NULL) { // memory error - weed_data_free(data,--i,seed_type); + } else data[i]->value = NULL; + data[i]->size = size; + } else if ((data[i]->value = weed_malloc((size = weed_seed_get_size(seed_type, NULL)))) != NULL) + weed_memcpy(data[i]->value, (char *)value + i * size, size); + if (size > 0 && data[i]->value == NULL) { // memory error + weed_data_free(data, --i, seed_type); return NULL; } } - if (seed_type!=WEED_SEED_STRING) data[i]->size=weed_seed_get_size(seed_type,data[i]->value); + if (seed_type != WEED_SEED_STRING) data[i]->size = weed_seed_get_size(seed_type, data[i]->value); } return data; } static inline weed_leaf_t *weed_find_leaf(weed_plant_t *leaf, const char *key) { - while (leaf!=NULL) { - if (!weed_strcmp((char *)leaf->key,(char *)key)) return leaf; - leaf=leaf->next; + while (leaf != NULL) { + if (!weed_strcmp((char *)leaf->key, (char *)key)) return leaf; + leaf = leaf->next; } return NULL; } static inline void weed_leaf_free(weed_leaf_t *leaf) { - weed_data_free(leaf->data,leaf->num_elements,leaf->seed_type); + weed_data_free(leaf->data, leaf->num_elements, leaf->seed_type); weed_free((char *)leaf->key); weed_free(leaf); } static inline weed_leaf_t *weed_leaf_new(const char *key, int seed) { - weed_leaf_t *leaf=(weed_leaf_t *)weed_malloc(sizeof(weed_leaf_t)); - if (leaf==NULL) return NULL; - if ((leaf->key=weed_strdup(key))==NULL) { + weed_leaf_t *leaf = (weed_leaf_t *)weed_malloc(sizeof(weed_leaf_t)); + if (leaf == NULL) return NULL; + if ((leaf->key = weed_strdup(key)) == NULL) { weed_free(leaf); return NULL; } - leaf->seed_type=seed; - leaf->data=NULL; - leaf->next=NULL; - leaf->num_elements=leaf->flags=0; + leaf->seed_type = seed; + leaf->data = NULL; + leaf->next = NULL; + leaf->num_elements = leaf->flags = 0; return leaf; } static inline void weed_leaf_append(weed_plant_t *leaf, weed_leaf_t *newleaf) { weed_leaf_t *leafnext; - while (leaf!=NULL) { - if ((leafnext=leaf->next)==NULL) { - leaf->next=newleaf; + while (leaf != NULL) { + if ((leafnext = leaf->next) == NULL) { + leaf->next = newleaf; return; } - leaf=leafnext; + leaf = leafnext; } } static void _weed_plant_free(weed_plant_t *leaf) { weed_leaf_t *leafnext; - while (leaf!=NULL) { - leafnext=leaf->next; + while (leaf != NULL) { + leafnext = leaf->next; weed_leaf_free(leaf); - leaf=leafnext; + leaf = leafnext; } } static int _weed_leaf_delete(weed_plant_t *plant, const char *key) { - weed_leaf_t *leaf=plant,*leafnext; - while (leaf->next!=NULL) { - if (!weed_strcmp((char *)leaf->next->key,(char *)key)) { - if (leaf->next->flags&WEED_LEAF_READONLY_HOST) return WEED_ERROR_LEAF_READONLY; - leafnext=leaf->next; - leaf->next=leaf->next->next; + weed_leaf_t *leaf = plant, *leafnext; + while (leaf->next != NULL) { + if (!weed_strcmp((char *)leaf->next->key, (char *)key)) { + if (leaf->next->flags & WEED_LEAF_READONLY_HOST) return WEED_ERROR_LEAF_READONLY; + leafnext = leaf->next; + leaf->next = leaf->next->next; weed_leaf_free(leafnext); return WEED_NO_ERROR; } - leaf=leaf->next; + leaf = leaf->next; } return WEED_ERROR_NOSUCH_LEAF; } static int _weed_leaf_set_flags(weed_plant_t *plant, const char *key, int flags) { - weed_leaf_t *leaf=weed_find_leaf(plant, key); - if (leaf==NULL) return WEED_ERROR_NOSUCH_LEAF; - leaf->flags=flags; + weed_leaf_t *leaf = weed_find_leaf(plant, key); + if (leaf == NULL) return WEED_ERROR_NOSUCH_LEAF; + leaf->flags = flags; return WEED_NO_ERROR; } static weed_plant_t *_weed_plant_new(int plant_type) { weed_leaf_t *leaf; - if ((leaf=weed_leaf_new("type",WEED_SEED_INT))==NULL) return NULL; - if ((leaf->data=(weed_data_t **)weed_data_new(WEED_SEED_INT,1,&plant_type))==NULL) { + if ((leaf = weed_leaf_new("type", WEED_SEED_INT)) == NULL) return NULL; + if ((leaf->data = (weed_data_t **)weed_data_new(WEED_SEED_INT, 1, &plant_type)) == NULL) { weed_free((char *)leaf->key); weed_free(leaf); return NULL; } - leaf->num_elements=1; - leaf->next=NULL; - _weed_leaf_set_flags(leaf,"type",WEED_LEAF_READONLY_PLUGIN|WEED_LEAF_READONLY_HOST); + leaf->num_elements = 1; + leaf->next = NULL; + _weed_leaf_set_flags(leaf, "type", WEED_LEAF_READONLY_PLUGIN | WEED_LEAF_READONLY_HOST); return leaf; } static char **_weed_plant_list_leaves(weed_plant_t *plant) { - weed_leaf_t *leaf=plant; + weed_leaf_t *leaf = plant; char **leaflist; - register int i=1; - for (; leaf!=NULL; i++) { - leaf=leaf->next; + register int i = 1; + for (; leaf != NULL; i++) { + leaf = leaf->next; } - if ((leaflist=(char **)weed_malloc(i*sizeof(char *)))==NULL) return NULL; - i=0; - for (leaf=plant; leaf!=NULL; leaf=leaf->next) { - if ((leaflist[i]=weed_strdup(leaf->key))==NULL) { - for (--i; i>=0; i--) weed_free(leaflist[i]); + if ((leaflist = (char **)weed_malloc(i * sizeof(char *))) == NULL) return NULL; + i = 0; + for (leaf = plant; leaf != NULL; leaf = leaf->next) { + if ((leaflist[i] = weed_strdup(leaf->key)) == NULL) { + for (--i; i >= 0; i--) weed_free(leaflist[i]); weed_free(leaflist); return NULL; } i++; } - leaflist[i]=NULL; + leaflist[i] = NULL; return leaflist; } static inline int _weed_leaf_set_caller(weed_plant_t *plant, const char *key, int seed_type, int num_elems, void *value, int caller) { - weed_data_t **data=NULL; - weed_leaf_t *leaf=weed_find_leaf(plant,key); - if (leaf==NULL) { - if ((leaf=weed_leaf_new(key,seed_type))==NULL) return WEED_ERROR_MEMORY_ALLOCATION; - weed_leaf_append(plant,leaf); + weed_data_t **data = NULL; + weed_leaf_t *leaf = weed_find_leaf(plant, key); + if (leaf == NULL) { + if ((leaf = weed_leaf_new(key, seed_type)) == NULL) return WEED_ERROR_MEMORY_ALLOCATION; + weed_leaf_append(plant, leaf); } else { - if ((caller==WEED_CALLER_PLUGIN&&leaf->flags&WEED_LEAF_READONLY_PLUGIN)||(caller==WEED_CALLER_HOST&& - leaf->flags&WEED_LEAF_READONLY_HOST)) return WEED_ERROR_LEAF_READONLY; - if (seed_type!=leaf->seed_type) return WEED_ERROR_WRONG_SEED_TYPE; - weed_data_free(leaf->data,leaf->num_elements,seed_type); - leaf->data=NULL; + if ((caller == WEED_CALLER_PLUGIN && leaf->flags & WEED_LEAF_READONLY_PLUGIN) || (caller == WEED_CALLER_HOST && + leaf->flags & WEED_LEAF_READONLY_HOST)) return WEED_ERROR_LEAF_READONLY; + if (seed_type != leaf->seed_type) return WEED_ERROR_WRONG_SEED_TYPE; + weed_data_free(leaf->data, leaf->num_elements, seed_type); + leaf->data = NULL; } - leaf->num_elements=0; - if (num_elems>0&&(data=weed_data_new(seed_type,num_elems,value))==NULL) { + leaf->num_elements = 0; + if (num_elems > 0 && (data = weed_data_new(seed_type, num_elems, value)) == NULL) { return WEED_ERROR_MEMORY_ALLOCATION; } - leaf->data=data; - leaf->num_elements=num_elems; + leaf->data = data; + leaf->num_elements = num_elems; return WEED_NO_ERROR; } static int _weed_leaf_set(weed_plant_t *plant, const char *key, int seed_type, int num_elems, void *value) { // host version - return _weed_leaf_set_caller(plant,key,seed_type,num_elems,value,WEED_CALLER_HOST); + return _weed_leaf_set_caller(plant, key, seed_type, num_elems, value, WEED_CALLER_HOST); } static int _weed_leaf_set_plugin(weed_plant_t *plant, const char *key, int seed_type, int num_elems, void *value) { // plugin version - host should pass this to plugin in host_info - return _weed_leaf_set_caller(plant,key,seed_type,num_elems,value,WEED_CALLER_PLUGIN); + return _weed_leaf_set_caller(plant, key, seed_type, num_elems, value, WEED_CALLER_PLUGIN); } @@ -328,18 +328,18 @@ // additionally, the prototype of this function must never change - weed_leaf_t *leaf=weed_find_leaf(plant,key); - if (leaf==NULL) return WEED_ERROR_NOSUCH_LEAF; - if (idx>=leaf->num_elements) return WEED_ERROR_NOSUCH_ELEMENT; - if (value==NULL) return WEED_NO_ERROR; - if (weed_seed_is_ptr(leaf->seed_type)) memcpy(value,&leaf->data[idx]->value,sizeof(void *)); + weed_leaf_t *leaf = weed_find_leaf(plant, key); + if (leaf == NULL) return WEED_ERROR_NOSUCH_LEAF; + if (idx >= leaf->num_elements) return WEED_ERROR_NOSUCH_ELEMENT; + if (value == NULL) return WEED_NO_ERROR; + if (weed_seed_is_ptr(leaf->seed_type)) memcpy(value, &leaf->data[idx]->value, sizeof(void *)); else { - if (leaf->seed_type==WEED_SEED_STRING) { - size_t size=leaf->data[idx]->size; - char **valuecharptrptr=(char **)value; - if (size>0) memcpy(*valuecharptrptr,leaf->data[idx]->value,size); - memset(*valuecharptrptr+size,0,1); - } else memcpy(value,leaf->data[idx]->value,weed_seed_get_size(leaf->seed_type,leaf->data[idx]->value)); + if (leaf->seed_type == WEED_SEED_STRING) { + size_t size = leaf->data[idx]->size; + char **valuecharptrptr = (char **)value; + if (size > 0) memcpy(*valuecharptrptr, leaf->data[idx]->value, size); + memset(*valuecharptrptr + size, 0, 1); + } else memcpy(value, leaf->data[idx]->value, weed_seed_get_size(leaf->seed_type, leaf->data[idx]->value)); } return WEED_NO_ERROR; @@ -347,44 +347,44 @@ static int _weed_leaf_get(weed_plant_t *plant, const char *key, int idx, void *value) { - weed_leaf_t *leaf=weed_find_leaf(plant,key); - if (leaf==NULL) return WEED_ERROR_NOSUCH_LEAF; - if (idx>=leaf->num_elements) return WEED_ERROR_NOSUCH_ELEMENT; - if (value==NULL) return WEED_NO_ERROR; - if (weed_seed_is_ptr(leaf->seed_type)) weed_memcpy(value,&leaf->data[idx]->value,sizeof(void *)); + weed_leaf_t *leaf = weed_find_leaf(plant, key); + if (leaf == NULL) return WEED_ERROR_NOSUCH_LEAF; + if (idx >= leaf->num_elements) return WEED_ERROR_NOSUCH_ELEMENT; + if (value == NULL) return WEED_NO_ERROR; + if (weed_seed_is_ptr(leaf->seed_type)) weed_memcpy(value, &leaf->data[idx]->value, sizeof(void *)); else { - if (leaf->seed_type==WEED_SEED_STRING) { - size_t size=leaf->data[idx]->size; - char **valuecharptrptr=(char **)value; - if (size>0) weed_memcpy(*valuecharptrptr,leaf->data[idx]->value,size); - weed_memset(*valuecharptrptr+size,0,1); - } else weed_memcpy(value,leaf->data[idx]->value,weed_seed_get_size(leaf->seed_type,leaf->data[idx]->value)); + if (leaf->seed_type == WEED_SEED_STRING) { + size_t size = leaf->data[idx]->size; + char **valuecharptrptr = (char **)value; + if (size > 0) weed_memcpy(*valuecharptrptr, leaf->data[idx]->value, size); + weed_memset(*valuecharptrptr + size, 0, 1); + } else weed_memcpy(value, leaf->data[idx]->value, weed_seed_get_size(leaf->seed_type, leaf->data[idx]->value)); } return WEED_NO_ERROR; } static int _weed_leaf_num_elements(weed_plant_t *plant, const char *key) { - weed_leaf_t *leaf=weed_find_leaf(plant, key); - if (leaf==NULL) return 0; + weed_leaf_t *leaf = weed_find_leaf(plant, key); + if (leaf == NULL) return 0; return leaf->num_elements; } static size_t _weed_leaf_element_size(weed_plant_t *plant, const char *key, int idx) { - weed_leaf_t *leaf=weed_find_leaf(plant, key); - if (leaf==NULL||idx>=leaf->num_elements) return 0; + weed_leaf_t *leaf = weed_find_leaf(plant, key); + if (leaf == NULL || idx >= leaf->num_elements) return 0; return leaf->data[idx]->size; } static int _weed_leaf_seed_type(weed_plant_t *plant, const char *key) { - weed_leaf_t *leaf=weed_find_leaf(plant, key); - if (leaf==NULL) return 0; + weed_leaf_t *leaf = weed_find_leaf(plant, key); + if (leaf == NULL) return 0; return leaf->seed_type; } static int _weed_leaf_get_flags(weed_plant_t *plant, const char *key) { - weed_leaf_t *leaf=weed_find_leaf(plant, key); - if (leaf==NULL) return 0; + weed_leaf_t *leaf = weed_find_leaf(plant, key); + if (leaf == NULL) return 0; return leaf->flags; } @@ -404,28 +404,28 @@ case 130: case 131: default: - weed_default_get=_weed_default_get; - weed_leaf_get=_weed_leaf_get; - weed_leaf_delete=_weed_leaf_delete; - weed_plant_free=_weed_plant_free; - weed_plant_new=_weed_plant_new; - weed_leaf_set=_weed_leaf_set; - weed_leaf_set_plugin=_weed_leaf_set_plugin; - weed_plant_list_leaves=_weed_plant_list_leaves; - weed_leaf_num_elements=_weed_leaf_num_elements; - weed_leaf_element_size=_weed_leaf_element_size; - weed_leaf_seed_type=_weed_leaf_seed_type; - weed_leaf_get_flags=_weed_leaf_get_flags; - weed_leaf_set_flags=_weed_leaf_set_flags; + weed_default_get = _weed_default_get; + weed_leaf_get = _weed_leaf_get; + weed_leaf_delete = _weed_leaf_delete; + weed_plant_free = _weed_plant_free; + weed_plant_new = _weed_plant_new; + weed_leaf_set = _weed_leaf_set; + weed_leaf_set_plugin = _weed_leaf_set_plugin; + weed_plant_list_leaves = _weed_plant_list_leaves; + weed_leaf_num_elements = _weed_leaf_num_elements; + weed_leaf_element_size = _weed_leaf_element_size; + weed_leaf_seed_type = _weed_leaf_seed_type; + weed_leaf_get_flags = _weed_leaf_get_flags; + weed_leaf_set_flags = _weed_leaf_set_flags; } - if (_mallocf!=NULL) weed_malloc=_mallocf; - else weed_malloc=(weed_malloc_f)malloc; - if (_freef!=NULL) weed_free=_freef; - else weed_free=(weed_free_f)free; - if (_memcpyf!=NULL) weed_memcpy=_memcpyf; - else weed_memcpy=(weed_memcpy_f)memcpy; - if (_memsetf!=NULL) weed_memset=_memsetf; - else weed_memset=(weed_memset_f)memset; + if (_mallocf != NULL) weed_malloc = _mallocf; + else weed_malloc = (weed_malloc_f)malloc; + if (_freef != NULL) weed_free = _freef; + else weed_free = (weed_free_f)free; + if (_memcpyf != NULL) weed_memcpy = _memcpyf; + else weed_memcpy = (weed_memcpy_f)memcpy; + if (_memsetf != NULL) weed_memset = _memsetf; + else weed_memset = (weed_memset_f)memset; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/Makefile.in -> LiVES-2.8.6.tar.bz2/lives-plugins/Makefile.in
Changed
@@ -245,8 +245,6 @@ GENCAT = @GENCAT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GLEE_CFLAGS = @GLEE_CFLAGS@ -GLEE_LIBS = @GLEE_LIBS@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -383,6 +381,8 @@ VERSION = @VERSION@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ +WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ +WAYLAND_LIBS = @WAYLAND_LIBS@ WEED_CFLAGS = @WEED_CFLAGS@ WEED_COMPAT_CFLAGS = @WEED_COMPAT_CFLAGS@ WEED_COMPAT_LIBS = @WEED_COMPAT_LIBS@
View file
LiVES-2.8.4.tar.bz2/lives-plugins/icons/Makefile.in -> LiVES-2.8.6.tar.bz2/lives-plugins/icons/Makefile.in
Changed
@@ -216,8 +216,6 @@ GENCAT = @GENCAT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GLEE_CFLAGS = @GLEE_CFLAGS@ -GLEE_LIBS = @GLEE_LIBS@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -354,6 +352,8 @@ VERSION = @VERSION@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ +WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ +WAYLAND_LIBS = @WAYLAND_LIBS@ WEED_CFLAGS = @WEED_CFLAGS@ WEED_COMPAT_CFLAGS = @WEED_COMPAT_CFLAGS@ WEED_COMPAT_LIBS = @WEED_COMPAT_LIBS@
View file
LiVES-2.8.4.tar.bz2/lives-plugins/marcos-encoders/Makefile.in -> LiVES-2.8.6.tar.bz2/lives-plugins/marcos-encoders/Makefile.in
Changed
@@ -217,8 +217,6 @@ GENCAT = @GENCAT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GLEE_CFLAGS = @GLEE_CFLAGS@ -GLEE_LIBS = @GLEE_LIBS@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -355,6 +353,8 @@ VERSION = @VERSION@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ +WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ +WAYLAND_LIBS = @WAYLAND_LIBS@ WEED_CFLAGS = @WEED_CFLAGS@ WEED_COMPAT_CFLAGS = @WEED_COMPAT_CFLAGS@ WEED_COMPAT_LIBS = @WEED_COMPAT_LIBS@
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/Makefile.in -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/Makefile.in
Changed
@@ -245,8 +245,6 @@ GENCAT = @GENCAT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GLEE_CFLAGS = @GLEE_CFLAGS@ -GLEE_LIBS = @GLEE_LIBS@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -383,6 +381,8 @@ VERSION = @VERSION@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ +WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ +WAYLAND_LIBS = @WAYLAND_LIBS@ WEED_CFLAGS = @WEED_CFLAGS@ WEED_COMPAT_CFLAGS = @WEED_COMPAT_CFLAGS@ WEED_COMPAT_LIBS = @WEED_COMPAT_LIBS@
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/decoders/Makefile.am -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/decoders/Makefile.am
Changed
@@ -137,7 +137,7 @@ MKVDEC_LIBS = @LIBAVCODEC_LIBS@ @LIBAVFORMAT_LIBS@ @LIBAVUTIL_LIBS@ @LIBZ_LIBS@ @LIBBZ_LIBS@ MKVDEC_CFLAGS = @LIBAVFORMAT_CFLAGS@ @LIBAVCODEC_CFLAGS@ @LIBAVUTIL_CFLAGS@ @LIBZ_CFLAGS@ @LIBBZ_CFLAGS@ \ -Wno-deprecated-declarations -mkv_decoder_la_SOURCES = mkv_decoder.c mkv_decoder.h +mkv_decoder_la_SOURCES = mkv_decoder.c mkv_decoder.h dec_helper.c mkv_decoder_la_CFLAGS = $(libav_cflags) $(shared_cflags) $(weed_cflags) $(MKVDEC_CFLAGS) mkv_decoder_la_LDFLAGS = $(shared_ldflags) $(MKVDEC_LIBS)
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/decoders/Makefile.in -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/decoders/Makefile.in
Changed
@@ -202,8 +202,10 @@ @HAVE_AVCODEC_TRUE@@HAVE_AVFORMAT_TRUE@@HAVE_AVUTIL_TRUE@am_flv_decoder_la_rpath = -rpath \ @HAVE_AVCODEC_TRUE@@HAVE_AVFORMAT_TRUE@@HAVE_AVUTIL_TRUE@ $(decoderpluginslibdir) mkv_decoder_la_LIBADD = -am__mkv_decoder_la_SOURCES_DIST = mkv_decoder.c mkv_decoder.h -@HAVE_AVCODEC_TRUE@@HAVE_AVFORMAT_TRUE@@HAVE_AVUTIL_TRUE@am_mkv_decoder_la_OBJECTS = mkv_decoder_la-mkv_decoder.lo +am__mkv_decoder_la_SOURCES_DIST = mkv_decoder.c mkv_decoder.h \ + dec_helper.c +@HAVE_AVCODEC_TRUE@@HAVE_AVFORMAT_TRUE@@HAVE_AVUTIL_TRUE@am_mkv_decoder_la_OBJECTS = mkv_decoder_la-mkv_decoder.lo \ +@HAVE_AVCODEC_TRUE@@HAVE_AVFORMAT_TRUE@@HAVE_AVUTIL_TRUE@ mkv_decoder_la-dec_helper.lo mkv_decoder_la_OBJECTS = $(am_mkv_decoder_la_OBJECTS) mkv_decoder_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ @@ -364,8 +366,6 @@ GENCAT = @GENCAT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GLEE_CFLAGS = @GLEE_CFLAGS@ -GLEE_LIBS = @GLEE_LIBS@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -502,6 +502,8 @@ VERSION = @VERSION@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ +WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ +WAYLAND_LIBS = @WAYLAND_LIBS@ WEED_CFLAGS = @WEED_CFLAGS@ WEED_COMPAT_CFLAGS = @WEED_COMPAT_CFLAGS@ WEED_COMPAT_LIBS = @WEED_COMPAT_LIBS@ @@ -638,7 +640,7 @@ @HAVE_AVCODEC_TRUE@@HAVE_AVFORMAT_TRUE@@HAVE_AVUTIL_TRUE@MKVDEC_CFLAGS = @LIBAVFORMAT_CFLAGS@ @LIBAVCODEC_CFLAGS@ @LIBAVUTIL_CFLAGS@ @LIBZ_CFLAGS@ @LIBBZ_CFLAGS@ \ @HAVE_AVCODEC_TRUE@@HAVE_AVFORMAT_TRUE@@HAVE_AVUTIL_TRUE@ -Wno-deprecated-declarations -@HAVE_AVCODEC_TRUE@@HAVE_AVFORMAT_TRUE@@HAVE_AVUTIL_TRUE@mkv_decoder_la_SOURCES = mkv_decoder.c mkv_decoder.h +@HAVE_AVCODEC_TRUE@@HAVE_AVFORMAT_TRUE@@HAVE_AVUTIL_TRUE@mkv_decoder_la_SOURCES = mkv_decoder.c mkv_decoder.h dec_helper.c @HAVE_AVCODEC_TRUE@@HAVE_AVFORMAT_TRUE@@HAVE_AVUTIL_TRUE@mkv_decoder_la_CFLAGS = $(libav_cflags) $(shared_cflags) $(weed_cflags) $(MKVDEC_CFLAGS) @HAVE_AVCODEC_TRUE@@HAVE_AVFORMAT_TRUE@@HAVE_AVUTIL_TRUE@mkv_decoder_la_LDFLAGS = $(shared_ldflags) $(MKVDEC_LIBS) @HAVE_AVCODEC_TRUE@@HAVE_AVFORMAT_TRUE@@HAVE_AVUTIL_TRUE@mpegts_libs = mpegts_decoder.la @@ -758,6 +760,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dv_decoder_la-dv_decoder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flv_decoder_la-dec_helper.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flv_decoder_la-flv_decoder.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkv_decoder_la-dec_helper.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkv_decoder_la-mkv_decoder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpegts_decoder_la-dec_helper.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpegts_decoder_la-mpegts_decoder.Plo@am__quote@ @@ -827,6 +830,13 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mkv_decoder_la_CFLAGS) $(CFLAGS) -c -o mkv_decoder_la-mkv_decoder.lo `test -f 'mkv_decoder.c' || echo '$(srcdir)/'`mkv_decoder.c +mkv_decoder_la-dec_helper.lo: dec_helper.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mkv_decoder_la_CFLAGS) $(CFLAGS) -MT mkv_decoder_la-dec_helper.lo -MD -MP -MF $(DEPDIR)/mkv_decoder_la-dec_helper.Tpo -c -o mkv_decoder_la-dec_helper.lo `test -f 'dec_helper.c' || echo '$(srcdir)/'`dec_helper.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mkv_decoder_la-dec_helper.Tpo $(DEPDIR)/mkv_decoder_la-dec_helper.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dec_helper.c' object='mkv_decoder_la-dec_helper.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mkv_decoder_la_CFLAGS) $(CFLAGS) -c -o mkv_decoder_la-dec_helper.lo `test -f 'dec_helper.c' || echo '$(srcdir)/'`dec_helper.c + mpegts_decoder_la-mpegts_decoder.lo: mpegts_decoder.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpegts_decoder_la_CFLAGS) $(CFLAGS) -MT mpegts_decoder_la-mpegts_decoder.lo -MD -MP -MF $(DEPDIR)/mpegts_decoder_la-mpegts_decoder.Tpo -c -o mpegts_decoder_la-mpegts_decoder.lo `test -f 'mpegts_decoder.c' || echo '$(srcdir)/'`mpegts_decoder.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mpegts_decoder_la-mpegts_decoder.Tpo $(DEPDIR)/mpegts_decoder_la-mpegts_decoder.Plo
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/decoders/asf_decoder.c -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/decoders/asf_decoder.c
Changed
@@ -1,4 +1,3 @@ - // LiVES - asf decoder plugin // (c) G. Finch 2011 - 2014 <salsaman@gmail.com> @@ -38,7 +37,7 @@ #include <sys/stat.h> #include <pthread.h> -const char *plugin_version="LiVES asf/wmv decoder version 1.1"; +const char *plugin_version = "LiVES asf/wmv decoder version 1.1"; #ifdef HAVE_AV_CONFIG_H #undef HAVE_AV_CONFIG_H @@ -68,15 +67,15 @@ static enum CodecID ff_codec_get_id(const AVCodecTag *tags, unsigned int tag) { int i; - for (i=0; tags[i].id != CODEC_ID_NONE; i++) { + for (i = 0; tags[i].id != CODEC_ID_NONE; i++) { if (tag == tags[i].tag) return tags[i].id; } - for (i=0; tags[i].id != CODEC_ID_NONE; i++) { - if (toupper((tag >> 0)&0xFF) == toupper((tags[i].tag >> 0)&0xFF) - && toupper((tag >> 8)&0xFF) == toupper((tags[i].tag >> 8)&0xFF) - && toupper((tag >>16)&0xFF) == toupper((tags[i].tag >>16)&0xFF) - && toupper((tag >>24)&0xFF) == toupper((tags[i].tag >>24)&0xFF)) + for (i = 0; tags[i].id != CODEC_ID_NONE; i++) { + if (toupper((tag >> 0) & 0xFF) == toupper((tags[i].tag >> 0) & 0xFF) + && toupper((tag >> 8) & 0xFF) == toupper((tags[i].tag >> 8) & 0xFF) + && toupper((tag >> 16) & 0xFF) == toupper((tags[i].tag >> 16) & 0xFF) + && toupper((tag >> 24) & 0xFF) == toupper((tags[i].tag >> 24) & 0xFF)) return tags[i].id; } return CODEC_ID_NONE; @@ -141,20 +140,20 @@ static int frame_to_dts(const lives_clip_data_t *cdata, int64_t frame) { - lives_asf_priv_t *priv=cdata->priv; - return (int)((double)(frame)*1000./cdata->fps)+priv->start_dts; + lives_asf_priv_t *priv = cdata->priv; + return (int)((double)(frame) * 1000. / cdata->fps) + priv->start_dts; } static int64_t dts_to_frame(const lives_clip_data_t *cdata, int dts) { - lives_asf_priv_t *priv=cdata->priv; - return (int64_t)((double)(dts-priv->start_dts)/1000.*cdata->fps+.5); + lives_asf_priv_t *priv = cdata->priv; + return (int64_t)((double)(dts - priv->start_dts) / 1000.*cdata->fps + .5); } //////////////////////////////////////////////////////////////// static boolean get_guid(int fd, lives_asf_guid *g) { - if ((read(fd, g, sizeof(lives_asf_guid)))!=sizeof(lives_asf_guid)) return FALSE; + if ((read(fd, g, sizeof(lives_asf_guid))) != sizeof(lives_asf_guid)) return FALSE; return TRUE; } @@ -163,21 +162,22 @@ int res = memcmp(v1, v2, sizeof(lives_asf_guid)); #ifdef DEBUG - uint8_t *g1=(uint8_t *)v1; - uint8_t *g2=(uint8_t *)v2; - if (res==0) { - printf("check %0X %0X %0X %0X %0X %0X %0X %0X %0X %0X %0X %0X %0X %0X %0X %0X\n",(uint8_t)g1[0],(uint8_t)g1[1],(uint8_t)g1[2], - (uint8_t)g1[3],(uint8_t)g1[4],(uint8_t)g1[5],(uint8_t)g1[6],(uint8_t)g1[7],(uint8_t)g1[8],(uint8_t)g1[9],(uint8_t)g1[10],(uint8_t)g1[11], - (uint8_t)g1[12],(uint8_t)g1[13],(uint8_t)g1[14],(uint8_t)g1[15]); + uint8_t *g1 = (uint8_t *)v1; + uint8_t *g2 = (uint8_t *)v2; + if (res == 0) { + printf("check %0X %0X %0X %0X %0X %0X %0X %0X %0X %0X %0X %0X %0X %0X %0X %0X\n", (uint8_t)g1[0], (uint8_t)g1[1], (uint8_t)g1[2], + (uint8_t)g1[3], (uint8_t)g1[4], (uint8_t)g1[5], (uint8_t)g1[6], (uint8_t)g1[7], (uint8_t)g1[8], (uint8_t)g1[9], (uint8_t)g1[10], + (uint8_t)g1[11], + (uint8_t)g1[12], (uint8_t)g1[13], (uint8_t)g1[14], (uint8_t)g1[15]); } #endif - return res!=0; + return res != 0; } static void get_str16_nolen(unsigned char *inbuf, int len, char *buf, int buf_size) { - int i=0; + int i = 0; char *q = buf; while (len > 1) { uint8_t tmp; @@ -185,7 +185,7 @@ GET_UTF16(ch, (len -= 2) >= 0 ? get_le16int(&inbuf[i]) : 0, break;) PUT_UTF8(ch, tmp, if (q - buf < buf_size - 1) *q++ = tmp;) - i+=2; + i += 2; } *q = '\0'; } @@ -194,40 +194,40 @@ ////////////////////////////////////////////////////////////////// static boolean check_eof(const lives_clip_data_t *cdata) { - lives_asf_priv_t *priv=cdata->priv; - if (priv->input_position>=priv->filesize) return TRUE; + lives_asf_priv_t *priv = cdata->priv; + if (priv->input_position >= priv->filesize) return TRUE; return FALSE; } static int get_value(const lives_clip_data_t *cdata, int type) { unsigned char buffer[4096]; - lives_asf_priv_t *priv=cdata->priv; + lives_asf_priv_t *priv = cdata->priv; switch (type) { case 2: case 3: - if (read(priv->fd,buffer,4)<4) { + if (read(priv->fd, buffer, 4) < 4) { fprintf(stderr, "asf_decoder: read error getting value\n"); close(priv->fd); return INT_MIN; } - priv->input_position+=4; + priv->input_position += 4; return get_le32int(buffer); case 4: - if (read(priv->fd,buffer,8)<8) { + if (read(priv->fd, buffer, 8) < 8) { fprintf(stderr, "asf_decoder: read error getting value\n"); close(priv->fd); return INT_MIN; } - priv->input_position+=8; + priv->input_position += 8; return get_le64int(buffer); case 5: - if (read(priv->fd,buffer,2)<2) { + if (read(priv->fd, buffer, 2) < 2) { fprintf(stderr, "asf_decoder: read error getting value\n"); close(priv->fd); return INT_MIN; } - priv->input_position+=2; + priv->input_position += 2; return get_le16int(buffer); default: return INT_MIN; @@ -239,27 +239,27 @@ static boolean get_tag(const lives_clip_data_t *cdata, AVFormatContext *s, const char *key, int type, int len) { char *value; unsigned char buffer[4096]; - lives_asf_priv_t *priv=cdata->priv; + lives_asf_priv_t *priv = cdata->priv; - if ((unsigned)len >= (UINT_MAX - 1)/2) return TRUE; - value = malloc(2*len+1); + if ((unsigned)len >= (UINT_MAX - 1) / 2) return TRUE; + value = malloc(2 * len + 1); if (!value) return TRUE; if (type == 0) { // UTF16-LE - if (read(priv->fd,buffer,len)<len) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, len) < len) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); close(priv->fd); return FALSE; } - get_str16_nolen(buffer, len, value, 2*len + 1); - priv->input_position+=len; + get_str16_nolen(buffer, len, value, 2 * len + 1); + priv->input_position += len; } else if (type > 1 && type <= 5) { // boolean or DWORD or QWORD or WORD uint64_t num = get_value(cdata, type); - if (num==INT_MIN) return FALSE; + if (num == INT_MIN) return FALSE; snprintf(value, len, "%"PRIu64, num); } else { - lseek(priv->fd,len,SEEK_CUR); - priv->input_position+=len; + lseek(priv->fd, len, SEEK_CUR); + priv->input_position += len; free(value); fprintf(stderr, "asf_decoder: Unsupported value type %d len %d in tag %s.\n", type, len, key); return TRUE; @@ -297,13 +297,13 @@ asf->packet_time_delta = 0; asf->packet_time_start = 0; - for (i=0; i<s->nb_streams; i++) { - asf_st= s->streams[i]->priv_data; + for (i = 0; i < s->nb_streams; i++) { + asf_st = s->streams[i]->priv_data; av_packet_unref(&asf_st->pkt); - asf_st->frag_offset=0; - asf_st->seq=0; + asf_st->frag_offset = 0; + asf_st->seq = 0; } - asf->asf_st= NULL; + asf->asf_st = NULL; } @@ -313,22 +313,22 @@ while (1) { if (read(priv->fd, &buffer, 1) < 1) return; priv->input_position++; - if (buffer==0x82) goto got_82; + if (buffer == 0x82) goto got_82; else continue; got_82: if (read(priv->fd, &buffer, 1) < 1) return; priv->input_position++; - if (buffer==0x82) goto got_82; - if (buffer==0) goto got_0; + if (buffer == 0x82) goto got_82; + if (buffer == 0) goto got_0; else continue; got_0: if (read(priv->fd, &buffer, 1) < 1) return; priv->input_position++; - if (buffer==0) return; // OK - if (buffer==0x82) goto got_82; + if (buffer == 0) return; // OK + if (buffer == 0x82) goto got_82; } } @@ -338,21 +338,21 @@ ///////////////////////////////////////////////////// static void index_free(index_entry *idx) { - index_entry *cidx=idx,*next; + index_entry *cidx = idx, *next; - while (cidx!=NULL) { - next=cidx->next; + while (cidx != NULL) { + next = cidx->next; free(cidx); - cidx=next; + cidx = next; } } static index_entry *idx_alloc(int64_t offs, int frag, int dts) { - index_entry *nidx=(index_entry *)malloc(sizeof(index_entry)); - nidx->offs=offs; - nidx->dts=dts; - nidx->frag=frag; + index_entry *nidx = (index_entry *)malloc(sizeof(index_entry)); + nidx->offs = offs; + nidx->dts = dts; + nidx->frag = frag; return nidx; } @@ -366,33 +366,33 @@ static index_entry *add_keyframe(const lives_clip_data_t *cdata, int64_t offs, int frag, int dts) { // dts 0 is start (i.e excluding start_dts) - lives_asf_priv_t *priv=cdata->priv; - index_entry *idx,*lidx,*nidx; + lives_asf_priv_t *priv = cdata->priv; + index_entry *idx, *lidx, *nidx; - lidx=idx=priv->idxc->idx; + lidx = idx = priv->idxc->idx; - while (idx!=NULL) { - if (idx->dts==dts) return idx; // already indexed - if (idx->dts>dts) { + while (idx != NULL) { + if (idx->dts == dts) return idx; // already indexed + if (idx->dts > dts) { // insert before idx - nidx=idx_alloc(offs,frag,dts); - nidx->next=idx; - if (idx==priv->idxc->idx) priv->idxc->idx=nidx; - else lidx->next=nidx; + nidx = idx_alloc(offs, frag, dts); + nidx->next = idx; + if (idx == priv->idxc->idx) priv->idxc->idx = nidx; + else lidx->next = nidx; return nidx; } - lidx=idx; - idx=idx->next; + lidx = idx; + idx = idx->next; } // insert at tail - nidx=idx_alloc(offs,frag,dts); + nidx = idx_alloc(offs, frag, dts); - if (lidx!=NULL) lidx->next=nidx; - else priv->idxc->idx=nidx; + if (lidx != NULL) lidx->next = nidx; + else priv->idxc->idx = nidx; - nidx->next=NULL; + nidx->next = NULL; return nidx; } @@ -401,19 +401,19 @@ static int get_next_video_packet(const lives_clip_data_t *cdata, int tfrag, int64_t tdts) { - lives_asf_priv_t *priv=cdata->priv; + lives_asf_priv_t *priv = cdata->priv; uint32_t packet_length, padsize; unsigned char buffer[8]; uint8_t num; //uint16_t duration; int rsize; int streamid; - int pack_fill=0; + int pack_fill = 0; int64_t ts0; int64_t frag_start; - AVFormatContext *s=priv->s; - ASFContext *asf=priv->asf; - int16_t vidindex=priv->st->id; + AVFormatContext *s = priv->s; + ASFContext *asf = priv->asf; + int16_t vidindex = priv->st->id; // create avpacket @@ -438,51 +438,51 @@ // if we have target (tdts) we parse only, until we reach a video fragment with dts>=tdts - if (tdts==-1) { - priv->avpkt.size=priv->def_packet_size+FF_INPUT_BUFFER_PADDING_SIZE; - priv->avpkt.data=malloc(priv->avpkt.size); - memset(priv->avpkt.data,0,priv->avpkt.size); + if (tdts == -1) { + priv->avpkt.size = priv->def_packet_size + FF_INPUT_BUFFER_PADDING_SIZE; + priv->avpkt.data = malloc(priv->avpkt.size); + memset(priv->avpkt.data, 0, priv->avpkt.size); } while (1) { - lseek(priv->fd,priv->input_position,SEEK_SET); + lseek(priv->fd, priv->input_position, SEEK_SET); - if (tfrag >=0 || asf->packet_segments==0) { + if (tfrag >= 0 || asf->packet_segments == 0) { - rsize=8; + rsize = 8; #ifdef DEBUG - printf("pos is %x\n",priv->input_position); + printf("pos is %x\n", priv->input_position); #endif get_sync(priv); - priv->hdr_start=priv->input_position-3; + priv->hdr_start = priv->input_position - 3; - if (read(priv->fd, buffer, 2)<2) return -2; + if (read(priv->fd, buffer, 2) < 2) return -2; - priv->input_position+=2; + priv->input_position += 2; asf->packet_flags = buffer[0]; asf->packet_property = buffer[1]; - rsize+=3; + rsize += 3; DO_2BITS(asf->packet_flags >> 5, packet_length, s->packet_size); DO_2BITS(asf->packet_flags >> 1, padsize, 0); // sequence ignored DO_2BITS(asf->packet_flags >> 3, padsize, 0); // padding length - if (read(priv->fd,buffer,4)<4) { + if (read(priv->fd, buffer, 4) < 4) { fprintf(stderr, "asf_decoder: read error getting value\n"); return -5; } - priv->input_position+=4; + priv->input_position += 4; asf->packet_timestamp = get_le32int(buffer); // send time //the following checks prevent overflows and infinite loops - if (!packet_length || packet_length >= (1U<<29)) { + if (!packet_length || packet_length >= (1U << 29)) { fprintf(stderr, "invalid packet_length %d at:%"PRId64"\n", packet_length, priv->input_position); return -3; } @@ -491,11 +491,11 @@ return -4; } - if (read(priv->fd,buffer,2)<2) { + if (read(priv->fd, buffer, 2) < 2) { fprintf(stderr, "asf_decoder: read error getting value\n"); return -2; } - priv->input_position+=2; + priv->input_position += 2; //duration = get_le16int(buffer); @@ -503,7 +503,7 @@ if (asf->packet_flags & 0x01) { // multi segments - if (read(priv->fd,buffer,1)<1) { + if (read(priv->fd, buffer, 1) < 1) { fprintf(stderr, "asf_decoder: read error getting value\n"); return -2; } @@ -526,7 +526,7 @@ asf->packet_time_start = 0; - priv->fragnum=0; + priv->fragnum = 0; // packet header parsed } @@ -539,26 +539,26 @@ // read frame header for fragment to get stream lseek(priv->fd, priv->input_position, SEEK_SET); - frag_start=priv->input_position; + frag_start = priv->input_position; - if (read(priv->fd,buffer,1)<1) { + if (read(priv->fd, buffer, 1) < 1) { fprintf(stderr, "asf_decoder: read error getting value\n"); return -2; } priv->input_position++; - num=buffer[0]; + num = buffer[0]; asf->packet_key_frame = num >> 7; - streamid = num&0x7f; + streamid = num & 0x7f; #ifdef DEBUG - printf("streamid is %d\n",streamid); + printf("streamid is %d\n", streamid); #endif - rsize=1; + rsize = 1; - if (asf->packet_time_start==0) { + if (asf->packet_time_start == 0) { asf->asf_st = s->streams[asf->stream_index]->priv_data; // read rest of frame header @@ -569,66 +569,66 @@ if (asf->packet_replic_size >= 8) { - if (read(priv->fd,buffer,4)<4) { + if (read(priv->fd, buffer, 4) < 4) { fprintf(stderr, "asf_decoder: read error getting value\n"); return -2; } - priv->input_position+=4; + priv->input_position += 4; asf->packet_obj_size = get_le32int(buffer); - if (asf->packet_obj_size >= (1<<24) || asf->packet_obj_size <= 0) { - if (streamid==vidindex) { + if (asf->packet_obj_size >= (1 << 24) || asf->packet_obj_size <= 0) { + if (streamid == vidindex) { fprintf(stderr, "asf_decoder: packet_obj_size invalid\n"); return -9; } } - if (read(priv->fd,buffer,4)<4) { + if (read(priv->fd, buffer, 4) < 4) { fprintf(stderr, "asf_decoder: read error getting value\n"); return -2; } - priv->input_position+=4; + priv->input_position += 4; asf->packet_frag_timestamp = get_le32int(buffer); // timestamp - if (asf->packet_replic_size >= 8+38+4) { + if (asf->packet_replic_size >= 8 + 38 + 4) { - priv->input_position+=10; - lseek(priv->fd,10,SEEK_CUR); + priv->input_position += 10; + lseek(priv->fd, 10, SEEK_CUR); - if (read(priv->fd,buffer,8)<8) { + if (read(priv->fd, buffer, 8) < 8) { fprintf(stderr, "asf_decoder: read error getting value\n"); return -2; } - priv->input_position+=8; - ts0= get_le64int(buffer); + priv->input_position += 8; + ts0 = get_le64int(buffer); - priv->input_position+=asf->packet_replic_size + 16 - 38 - 4; - lseek(priv->fd,asf->packet_replic_size + 16 - 38 - 4,SEEK_CUR); + priv->input_position += asf->packet_replic_size + 16 - 38 - 4; + lseek(priv->fd, asf->packet_replic_size + 16 - 38 - 4, SEEK_CUR); - if (ts0!= -1) asf->packet_frag_timestamp= ts0/10000; - else asf->packet_frag_timestamp= AV_NOPTS_VALUE; + if (ts0 != -1) asf->packet_frag_timestamp = ts0 / 10000; + else asf->packet_frag_timestamp = AV_NOPTS_VALUE; } else { - priv->input_position+=asf->packet_replic_size - 8; - lseek(priv->fd,asf->packet_replic_size - 8,SEEK_CUR); + priv->input_position += asf->packet_replic_size - 8; + lseek(priv->fd, asf->packet_replic_size - 8, SEEK_CUR); } rsize += asf->packet_replic_size; // FIXME - check validity - } else if (asf->packet_replic_size==1) { + } else if (asf->packet_replic_size == 1) { // single packet ? - frag_offset is beginning timestamp asf->packet_time_start = asf->packet_frag_offset; asf->packet_frag_offset = 0; asf->packet_frag_timestamp = asf->packet_timestamp; - if (read(priv->fd,buffer,1)<1) { + if (read(priv->fd, buffer, 1) < 1) { fprintf(stderr, "asf_decoder: read error getting value\n"); return -2; } - priv->input_position+=1; + priv->input_position += 1; asf->packet_time_delta = buffer[0]; rsize++; - } else if (asf->packet_replic_size!=0) { + } else if (asf->packet_replic_size != 0) { if (check_eof(cdata)) { // could also be EOF in DO_2_BITS fprintf(stderr, "asf_decoder: EOF"); @@ -642,22 +642,22 @@ // multi fragments DO_2BITS(asf->packet_segsizetype >> 6, asf->packet_frag_size, 0); // 0 is illegal if (asf->packet_frag_size > asf->packet_size_left - rsize) { - fprintf(stderr,"asf_decoder: packet_frag_size is invalid (%d > %d) %d %d\n",asf->packet_frag_size,asf->packet_size_left - rsize, - asf->packet_padsize,rsize); + fprintf(stderr, "asf_decoder: packet_frag_size is invalid (%d > %d) %d %d\n", asf->packet_frag_size, asf->packet_size_left - rsize, + asf->packet_padsize, rsize); #ifdef DEBUG - printf("skipping %d %ld\n",asf->packet_size_left + asf->packet_padsize - 2, asf->packet_padsize); + printf("skipping %d %ld\n", asf->packet_size_left + asf->packet_padsize - 2, asf->packet_padsize); #endif lseek(priv->fd, asf->packet_size_left + asf->packet_padsize - 2 - rsize, SEEK_CUR); - priv->input_position+=asf->packet_size_left + asf->packet_padsize - 2 - rsize; - asf->packet_segments=0; - asf->packet_size_left=0; + priv->input_position += asf->packet_size_left + asf->packet_padsize - 2 - rsize; + asf->packet_segments = 0; + asf->packet_size_left = 0; return -1; } #ifdef DEBUG - printf("Fragsize %d nsegs %d\n", asf->packet_frag_size,asf->packet_segments); + printf("Fragsize %d nsegs %d\n", asf->packet_frag_size, asf->packet_segments); #endif } else { asf->packet_frag_size = asf->packet_size_left - rsize; @@ -672,9 +672,9 @@ printf("got vid fragment in packet !\n"); #endif - if (asf->packet_key_frame&&asf->packet_frag_offset==0&&priv->have_start_dts) { + if (asf->packet_key_frame && asf->packet_frag_offset == 0 && priv->have_start_dts) { pthread_mutex_lock(&priv->idxc->mutex); - priv->kframe=add_keyframe(cdata,priv->hdr_start,priv->fragnum,asf->packet_frag_timestamp-priv->start_dts); + priv->kframe = add_keyframe(cdata, priv->hdr_start, priv->fragnum, asf->packet_frag_timestamp - priv->start_dts); pthread_mutex_unlock(&priv->idxc->mutex); #ifdef DEBUG @@ -682,65 +682,65 @@ #endif } - if (tdts>=0 && (asf->packet_frag_timestamp>=tdts)) { + if (tdts >= 0 && (asf->packet_frag_timestamp >= tdts)) { // reached target dts return 0; } - if (asf->packet_frag_offset==0) { - if (pack_fill==0) priv->frame_dts=asf->packet_frag_timestamp; - else if (tdts==-1) { + if (asf->packet_frag_offset == 0) { + if (pack_fill == 0) priv->frame_dts = asf->packet_frag_timestamp; + else if (tdts == -1) { // got complete AV video packet - priv->input_position=frag_start; - priv->avpkt.size=pack_fill; + priv->input_position = frag_start; + priv->avpkt.size = pack_fill; return 0; } } priv->fragnum++; - if (tfrag<=0 && tdts==-1) { + if (tfrag <= 0 && tdts == -1) { - if (asf->packet_frag_offset!=0 && pack_fill==0) { + if (asf->packet_frag_offset != 0 && pack_fill == 0) { // we reached our target, but it has a non-zero offset, which is not allowed // So skip this packet; // - this could happen if we have broken fragments at the start of the clip. - priv->input_position+=asf->packet_frag_size; + priv->input_position += asf->packet_frag_size; continue; } - while (asf->packet_frag_offset+asf->packet_frag_size>priv->avpkt.size) { + while (asf->packet_frag_offset + asf->packet_frag_size > priv->avpkt.size) { fprintf(stderr, "asf_decoder: buffer overflow reading vid packet (%d + %d > %d),\n increasing buffer size\n", - asf->packet_frag_offset,asf->packet_frag_size,priv->avpkt.size); + asf->packet_frag_offset, asf->packet_frag_size, priv->avpkt.size); - priv->avpkt.data=realloc(priv->avpkt.data,priv->def_packet_size*2+FF_INPUT_BUFFER_PADDING_SIZE); - memset(priv->avpkt.data+priv->avpkt.size,0,priv->def_packet_size); - priv->def_packet_size*=2; - priv->avpkt.size=priv->def_packet_size+FF_INPUT_BUFFER_PADDING_SIZE; + priv->avpkt.data = realloc(priv->avpkt.data, priv->def_packet_size * 2 + FF_INPUT_BUFFER_PADDING_SIZE); + memset(priv->avpkt.data + priv->avpkt.size, 0, priv->def_packet_size); + priv->def_packet_size *= 2; + priv->avpkt.size = priv->def_packet_size + FF_INPUT_BUFFER_PADDING_SIZE; } - if (read(priv->fd,priv->avpkt.data+asf->packet_frag_offset,asf->packet_frag_size) - <asf->packet_frag_size) { + if (read(priv->fd, priv->avpkt.data + asf->packet_frag_offset, asf->packet_frag_size) + < asf->packet_frag_size) { fprintf(stderr, "asf_decoder: EOF error reading vid packet\n"); return -2; } - pack_fill=asf->packet_frag_offset+asf->packet_frag_size; + pack_fill = asf->packet_frag_offset + asf->packet_frag_size; } - priv->input_position+=asf->packet_frag_size; + priv->input_position += asf->packet_frag_size; tfrag--; } else { // fragment is for another stream - priv->input_position+=asf->packet_frag_size; + priv->input_position += asf->packet_frag_size; } asf->packet_size_left -= asf->packet_frag_size + rsize; asf->packet_segments--; - } while (asf->packet_segments>0); + } while (asf->packet_segments > 0); // no more fragments left, skip remainder of asf packet @@ -748,7 +748,7 @@ //printf("skipping %d %ld\n",asf->packet_size_left + asf->packet_padsize - 2, asf->packet_padsize); #endif - priv->input_position+=asf->packet_size_left + asf->packet_padsize - 2; + priv->input_position += asf->packet_size_left + asf->packet_padsize - 2; } @@ -758,22 +758,22 @@ static index_entry *get_idx_for_pts(const lives_clip_data_t *cdata, int64_t pts) { - lives_asf_priv_t *priv=cdata->priv; - int64_t tdts=pts; - index_entry *idx=priv->idxc->idx,*lidx=idx; + lives_asf_priv_t *priv = cdata->priv; + int64_t tdts = pts; + index_entry *idx = priv->idxc->idx, *lidx = idx; int ret; - while (idx!=NULL) { - if (idx->dts>tdts) return lidx; - lidx=idx; - idx=idx->next; + while (idx != NULL) { + if (idx->dts > tdts) return lidx; + lidx = idx; + idx = idx->next; } - priv->kframe=lidx; - priv->input_position=lidx->offs; + priv->kframe = lidx; + priv->input_position = lidx->offs; do { - ret=get_next_video_packet(cdata, lidx->frag, tdts); - } while (ret<0&&ret!=-2); - if (ret!=-2) return priv->kframe; + ret = get_next_video_packet(cdata, lidx->frag, tdts); + } while (ret < 0 && ret != -2); + if (ret != -2) return priv->kframe; return NULL; } @@ -782,19 +782,19 @@ static int get_last_video_dts(const lives_clip_data_t *cdata) { // get last vido frame dts (relative to start dts) - lives_asf_priv_t *priv=cdata->priv; + lives_asf_priv_t *priv = cdata->priv; pthread_mutex_lock(&priv->idxc->mutex); - priv->kframe=get_idx_for_pts(cdata,frame_to_dts(cdata,0)-priv->start_dts); + priv->kframe = get_idx_for_pts(cdata, frame_to_dts(cdata, 0) - priv->start_dts); pthread_mutex_unlock(&priv->idxc->mutex); // this will parse through the file, adding keyframes, until we reach EOF - priv->input_position=priv->kframe->offs; + priv->input_position = priv->kframe->offs; asf_reset_header(priv->s); - get_next_video_packet(cdata,priv->kframe->frag,INT_MAX); + get_next_video_packet(cdata, priv->kframe->frag, INT_MAX); // priv->kframe will hold last kframe in the clip - return priv->frame_dts-priv->start_dts; + return priv->frame_dts - priv->start_dts; } @@ -807,13 +807,13 @@ pthread_mutex_lock(&indices_mutex); - for (i=0; i<nidxc; i++) { - if (indices[i]->clients[0]->current_clip==cdata->current_clip&& - !strcmp(indices[i]->clients[0]->URI,cdata->URI)) { - idxc=indices[i]; + for (i = 0; i < nidxc; i++) { + if (indices[i]->clients[0]->current_clip == cdata->current_clip && + !strcmp(indices[i]->clients[0]->URI, cdata->URI)) { + idxc = indices[i]; // append cdata to clients - idxc->clients=(lives_clip_data_t **)realloc(idxc->clients,(idxc->nclients+1)*sizeof(lives_clip_data_t *)); - idxc->clients[idxc->nclients]=cdata; + idxc->clients = (lives_clip_data_t **)realloc(idxc->clients, (idxc->nclients + 1) * sizeof(lives_clip_data_t *)); + idxc->clients[idxc->nclients] = cdata; idxc->nclients++; // pthread_mutex_unlock(&indices_mutex); @@ -821,20 +821,20 @@ } } - indices=(index_container_t **)realloc(indices,(nidxc+1)*sizeof(index_container_t *)); + indices = (index_container_t **)realloc(indices, (nidxc + 1) * sizeof(index_container_t *)); // match not found, create a new index container - idxc=(index_container_t *)malloc(sizeof(index_container_t)); + idxc = (index_container_t *)malloc(sizeof(index_container_t)); - idxc->idx=NULL; + idxc->idx = NULL; - idxc->nclients=1; - idxc->clients=(lives_clip_data_t **)malloc(sizeof(lives_clip_data_t *)); - idxc->clients[0]=cdata; + idxc->nclients = 1; + idxc->clients = (lives_clip_data_t **)malloc(sizeof(lives_clip_data_t *)); + idxc->clients[0] = cdata; - pthread_mutex_init(&idxc->mutex,&mattr); + pthread_mutex_init(&idxc->mutex, &mattr); - indices[nidxc]=idxc; + indices[nidxc] = idxc; pthread_mutex_unlock(&indices_mutex); nidxc++; @@ -844,42 +844,42 @@ static void idxc_release(lives_clip_data_t *cdata) { - lives_asf_priv_t *priv=cdata->priv; - index_container_t *idxc=priv->idxc; - register int i,j; + lives_asf_priv_t *priv = cdata->priv; + index_container_t *idxc = priv->idxc; + register int i, j; - if (idxc==NULL) return; + if (idxc == NULL) return; pthread_mutex_lock(&indices_mutex); - if (idxc->nclients==1) { + if (idxc->nclients == 1) { // remove this index index_free(idxc->idx); free(idxc->clients); - for (i=0; i<nidxc; i++) { - if (indices[i]==idxc) { + for (i = 0; i < nidxc; i++) { + if (indices[i] == idxc) { nidxc--; - for (j=i; j<nidxc; j++) { - indices[j]=indices[j+1]; + for (j = i; j < nidxc; j++) { + indices[j] = indices[j + 1]; } free(idxc); - if (nidxc==0) { + if (nidxc == 0) { free(indices); - indices=NULL; - } else indices=(index_container_t **)realloc(indices,nidxc*sizeof(index_container_t *)); + indices = NULL; + } else indices = (index_container_t **)realloc(indices, nidxc * sizeof(index_container_t *)); break; } } } else { // reduce client count by 1 - for (i=0; i<idxc->nclients; i++) { - if (idxc->clients[i]==cdata) { + for (i = 0; i < idxc->nclients; i++) { + if (idxc->clients[i] == cdata) { // remove this entry idxc->nclients--; - for (j=i; j<idxc->nclients; j++) { - idxc->clients[j]=idxc->clients[j+1]; + for (j = i; j < idxc->nclients; j++) { + idxc->clients[j] = idxc->clients[j + 1]; } - idxc->clients=(lives_clip_data_t **)realloc(idxc->clients,idxc->nclients*sizeof(lives_clip_data_t *)); + idxc->clients = (lives_clip_data_t **)realloc(idxc->clients, idxc->nclients * sizeof(lives_clip_data_t *)); break; } } @@ -893,48 +893,48 @@ static void idxc_release_all(void) { register int i; - for (i=0; i<nidxc; i++) { + for (i = 0; i < nidxc; i++) { index_free(indices[i]->idx); free(indices[i]->clients); free(indices[i]); } - nidxc=0; + nidxc = 0; } static void detach_stream(lives_clip_data_t *cdata) { // close the file, free the decoder - lives_asf_priv_t *priv=cdata->priv; + lives_asf_priv_t *priv = cdata->priv; - cdata->seek_flag=0; + cdata->seek_flag = 0; - if (priv->avpkt.data!=NULL) free(priv->avpkt.data); - priv->avpkt.data=NULL; - priv->avpkt.size=0; + if (priv->avpkt.data != NULL) free(priv->avpkt.data); + priv->avpkt.data = NULL; + priv->avpkt.size = 0; - if (priv->ctx!=NULL) { + if (priv->ctx != NULL) { avcodec_close(priv->ctx); av_free(priv->ctx); } - if (priv->picture!=NULL) av_frame_unref(&priv->picture); + if (priv->picture != NULL) av_frame_unref(&priv->picture); - priv->ctx=NULL; - priv->picture=NULL; + priv->ctx = NULL; + priv->picture = NULL; - if (cdata->palettes!=NULL) free(cdata->palettes); - cdata->palettes=NULL; + if (cdata->palettes != NULL) free(cdata->palettes); + cdata->palettes = NULL; free(priv->asf); av_free(priv->s); //avformat_free_context(priv->s); - if (priv->st!=NULL) { - if (priv->st->codec->extradata_size!=0) free(priv->st->codec->extradata); + if (priv->st != NULL) { + if (priv->st->codec->extradata_size != 0) free(priv->st->codec->extradata); } - if (priv->asf_st!=NULL) free(priv->asf_st); + if (priv->asf_st != NULL) free(priv->asf_st); close(priv->fd); } @@ -944,26 +944,26 @@ static boolean attach_stream(lives_clip_data_t *cdata, boolean isclone) { // open the file and get metadata - lives_asf_priv_t *priv=cdata->priv; + lives_asf_priv_t *priv = cdata->priv; char header[16]; unsigned char buffer[4096]; unsigned char flags; - int i,len,retval; + int i, len, retval; int size; - boolean got_vidst=FALSE; - boolean got_picture=FALSE; - boolean gotframe2=FALSE; - boolean is_partial_clone=FALSE; + boolean got_vidst = FALSE; + boolean got_picture = FALSE; + boolean gotframe2 = FALSE; + boolean is_partial_clone = FALSE; double fps; - AVCodec *codec=NULL; + AVCodec *codec = NULL; AVCodecContext *ctx; - AVStream *vidst=NULL; + AVStream *vidst = NULL; - int64_t pts=AV_NOPTS_VALUE,pts2=pts; + int64_t pts = AV_NOPTS_VALUE, pts2 = pts; int64_t gsize; int64_t ftime; @@ -972,46 +972,46 @@ AVRational dar[128]; uint32_t bitrate[128]; - int16_t vidindex=-1; + int16_t vidindex = -1; struct stat sb; #ifdef DEBUG - fprintf(stderr,"\n"); + fprintf(stderr, "\n"); #endif - if (isclone&&!priv->inited) { - isclone=FALSE; - if (cdata->fps>0.&&cdata->nframes>0) - is_partial_clone=TRUE; + if (isclone && !priv->inited) { + isclone = FALSE; + if (cdata->fps > 0. && cdata->nframes > 0) + is_partial_clone = TRUE; } - if ((priv->fd=open(cdata->URI,O_RDONLY))==-1) { - fprintf(stderr, "asf_decoder: unable to open %s\n",cdata->URI); + if ((priv->fd = open(cdata->URI, O_RDONLY)) == -1) { + fprintf(stderr, "asf_decoder: unable to open %s\n", cdata->URI); return FALSE; } #ifdef IS_MINGW - setmode(priv->fd,O_BINARY); + setmode(priv->fd, O_BINARY); #endif if (isclone) { - lseek(priv->fd, ASF_PROBE_SIZE+14, SEEK_SET); - priv->input_position=ASF_PROBE_SIZE+14; + lseek(priv->fd, ASF_PROBE_SIZE + 14, SEEK_SET); + priv->input_position = ASF_PROBE_SIZE + 14; goto seek_skip; } if (read(priv->fd, header, ASF_PROBE_SIZE) < ASF_PROBE_SIZE) { // for example, might be a directory #ifdef DEBUG - fprintf(stderr, "asf_decoder: unable to read header for %s\n",cdata->URI); + fprintf(stderr, "asf_decoder: unable to read header for %s\n", cdata->URI); #endif close(priv->fd); return FALSE; } - priv->input_position=ASF_PROBE_SIZE; + priv->input_position = ASF_PROBE_SIZE; // test header if (guidcmp(header, &lives_asf_header)) { @@ -1025,56 +1025,56 @@ // skip 14 bytes lseek(priv->fd, 14, SEEK_CUR); - priv->input_position+=14; + priv->input_position += 14; - cdata->par=1.; - cdata->fps=0.; - cdata->width=cdata->frame_width=cdata->height=cdata->frame_height=0; - cdata->offs_x=cdata->offs_y=0; + cdata->par = 1.; + cdata->fps = 0.; + cdata->width = cdata->frame_width = cdata->height = cdata->frame_height = 0; + cdata->offs_x = cdata->offs_y = 0; - cdata->arate=0; - cdata->achans=0; - cdata->asamps=0; - sprintf(cdata->audio_name,"%s",""); + cdata->arate = 0; + cdata->achans = 0; + cdata->asamps = 0; + sprintf(cdata->audio_name, "%s", ""); - cdata->seek_flag=LIVES_SEEK_FAST|LIVES_SEEK_NEEDS_CALCULATION; + cdata->seek_flag = LIVES_SEEK_FAST | LIVES_SEEK_NEEDS_CALCULATION; - cdata->offs_x=0; - cdata->offs_y=0; + cdata->offs_x = 0; + cdata->offs_y = 0; - fstat(priv->fd,&sb); - priv->filesize=sb.st_size; + fstat(priv->fd, &sb); + priv->filesize = sb.st_size; seek_skip: - priv->idxc=idxc_for(cdata); + priv->idxc = idxc_for(cdata); - priv->asf=(ASFContext *)malloc(sizeof(ASFContext)); + priv->asf = (ASFContext *)malloc(sizeof(ASFContext)); memset(&priv->asf->asfid2avid, -1, sizeof(priv->asf->asfid2avid)); priv->s = avformat_alloc_context(); - priv->s->priv_data=priv->asf; + priv->s->priv_data = priv->asf; av_init_packet(&priv->avpkt); - priv->avpkt.data=NULL; - priv->avpkt.size=0; - priv->st=NULL; - priv->asf_st=NULL; - priv->ctx=NULL; + priv->avpkt.data = NULL; + priv->avpkt.size = 0; + priv->st = NULL; + priv->asf_st = NULL; + priv->ctx = NULL; - for (i=0; i<128; i++) dar[i].num=dar[i].den=0; + for (i = 0; i < 128; i++) dar[i].num = dar[i].den = 0; for (;;) { - int64_t gpos=priv->input_position; + int64_t gpos = priv->input_position; get_guid(priv->fd, &g); - priv->input_position+=sizeof(lives_asf_guid); + priv->input_position += sizeof(lives_asf_guid); - if (read(priv->fd,buffer,8)<8) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 8) < 8) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=8; + priv->input_position += 8; gsize = get_le64int(buffer); @@ -1083,13 +1083,13 @@ if (!(priv->asf->hdr.flags & 0x01) && gsize >= 100) { priv->asf->data_object_size = gsize - 24; } else { - priv->asf->data_object_size = (uint64_t)-1; + priv->asf->data_object_size = (uint64_t) - 1; } break; } if (gsize < 24) { - fprintf(stderr, "asf_decoder: guid too small in %s\n",cdata->URI); + fprintf(stderr, "asf_decoder: guid too small in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } @@ -1098,132 +1098,132 @@ // tested OK get_guid(priv->fd, &priv->asf->hdr.guid); - priv->input_position+=sizeof(lives_asf_guid); + priv->input_position += sizeof(lives_asf_guid); - if (read(priv->fd,buffer,8)<8) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 8) < 8) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=8; + priv->input_position += 8; priv->asf->hdr.file_size = get_le64int(buffer); #ifdef DEBUG - fprintf(stderr,"hdr says size is %ld\n",priv->asf->hdr.file_size); + fprintf(stderr, "hdr says size is %ld\n", priv->asf->hdr.file_size); #endif - if (read(priv->fd,buffer,8)<8) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 8) < 8) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=8; + priv->input_position += 8; priv->asf->hdr.create_time = get_le64int(buffer); - if (read(priv->fd,buffer,8)<8) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 8) < 8) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=8; + priv->input_position += 8; priv->asf->nb_packets = get_le64int(buffer); #ifdef DEBUG - fprintf(stderr,"hdr says pax is %ld\n",priv->asf->nb_packets); + fprintf(stderr, "hdr says pax is %ld\n", priv->asf->nb_packets); #endif - if (read(priv->fd,buffer,8)<8) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 8) < 8) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=8; + priv->input_position += 8; priv->asf->hdr.play_time = get_le64int(buffer); #ifdef DEBUG - fprintf(stderr,"hdr says playtime is %ld\n",priv->asf->hdr.play_time); + fprintf(stderr, "hdr says playtime is %ld\n", priv->asf->hdr.play_time); #endif - if (read(priv->fd,buffer,8)<8) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 8) < 8) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=8; + priv->input_position += 8; // seems to be the duration priv->asf->hdr.send_time = get_le64int(buffer); #ifdef DEBUG - fprintf(stderr,"hdr says send time is %ld\n",priv->asf->hdr.send_time); + fprintf(stderr, "hdr says send time is %ld\n", priv->asf->hdr.send_time); #endif - if (read(priv->fd,buffer,4)<4) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 4) < 4) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=4; + priv->input_position += 4; priv->asf->hdr.preroll = get_le32int(buffer); #ifdef DEBUG - fprintf(stderr,"hdr says preroll is %d\n",priv->asf->hdr.preroll); + fprintf(stderr, "hdr says preroll is %d\n", priv->asf->hdr.preroll); #endif - if (read(priv->fd,buffer,4)<4) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 4) < 4) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=4; + priv->input_position += 4; priv->asf->hdr.ignore = get_le32int(buffer); - if (read(priv->fd,buffer,4)<4) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 4) < 4) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=4; + priv->input_position += 4; priv->asf->hdr.flags = get_le32int(buffer); - if (read(priv->fd,buffer,4)<4) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 4) < 4) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=4; + priv->input_position += 4; priv->asf->hdr.min_pktsize = get_le32int(buffer); - if (read(priv->fd,buffer,4)<4) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 4) < 4) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=4; + priv->input_position += 4; priv->asf->hdr.max_pktsize = get_le32int(buffer); - if (read(priv->fd,buffer,4)<4) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 4) < 4) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=4; + priv->input_position += 4; priv->asf->hdr.max_bitrate = get_le32int(buffer); priv->s->packet_size = priv->asf->hdr.max_pktsize; #ifdef DEBUG - fprintf(stderr,"hdr says maxbr is %d\n",priv->asf->hdr.max_bitrate); + fprintf(stderr, "hdr says maxbr is %d\n", priv->asf->hdr.max_bitrate); #endif } else if (!guidcmp(&g, &lives_asf_stream_header)) { @@ -1239,7 +1239,7 @@ priv->st = av_new_stream(priv->s, 0); if (!priv->st) { - fprintf(stderr, "asf_decoder: Unable to create new stream for %s\n",cdata->URI); + fprintf(stderr, "asf_decoder: Unable to create new stream for %s\n", cdata->URI); detach_stream(cdata); return FALSE; } @@ -1251,7 +1251,7 @@ memset(priv->asf_st, 0, (sizeof(ASFStream))); if (!priv->asf_st) { - fprintf(stderr, "asf_decoder: Unable to create asf stream for %s\n",cdata->URI); + fprintf(stderr, "asf_decoder: Unable to create asf stream for %s\n", cdata->URI); detach_stream(cdata); return FALSE; } @@ -1267,7 +1267,7 @@ } get_guid(priv->fd, &g); - priv->input_position+=sizeof(lives_asf_guid); + priv->input_position += sizeof(lives_asf_guid); test_for_ext_stream_audio = 0; if (!guidcmp(&g, &lives_asf_audio_stream)) { @@ -1284,64 +1284,64 @@ } get_guid(priv->fd, &g); - priv->input_position+=sizeof(lives_asf_guid); + priv->input_position += sizeof(lives_asf_guid); - if (read(priv->fd,buffer,8)<8) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 8) < 8) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=8; + priv->input_position += 8; // total_size = get_le64int(buffer); - if (read(priv->fd,buffer,4)<4) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 4) < 4) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=4; + priv->input_position += 4; //type_specific_size = get_le32int(buffer); lseek(priv->fd, 4, SEEK_CUR); - priv->input_position+=4; + priv->input_position += 4; - if (read(priv->fd,buffer,2)<2) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 2) < 2) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=2; + priv->input_position += 2; priv->st->id = get_le16int(buffer) & 0x7f; /* stream id */ // mapping of asf ID to AV stream ID; priv->asf->asfid2avid[priv->st->id] = priv->s->nb_streams - 1; lseek(priv->fd, 4, SEEK_CUR); - priv->input_position+=4; + priv->input_position += 4; if (test_for_ext_stream_audio) { get_guid(priv->fd, &g); - priv->input_position+=sizeof(lives_asf_guid); + priv->input_position += sizeof(lives_asf_guid); if (!guidcmp(&g, &lives_asf_ext_stream_audio_stream)) { type = LIVES_MEDIA_TYPE_AUDIO; //is_dvr_ms_audio=1; get_guid(priv->fd, &g); - priv->input_position+=sizeof(lives_asf_guid); + priv->input_position += sizeof(lives_asf_guid); lseek(priv->fd, 12, SEEK_CUR); - priv->input_position+=12; + priv->input_position += 12; get_guid(priv->fd, &g); - priv->input_position+=sizeof(lives_asf_guid); + priv->input_position += sizeof(lives_asf_guid); lseek(priv->fd, 4, SEEK_CUR); - priv->input_position+=4; + priv->input_position += 4; } } @@ -1351,86 +1351,86 @@ } else if (type == LIVES_MEDIA_TYPE_VIDEO) { priv->st->codec->codec_type = AVMEDIA_TYPE_VIDEO; - if (vidindex!=-1&&vidindex!=priv->st->id) { - fprintf(stderr, "asf_decoder: unhandled multiple vidstreams %d and %d in %s\n",vidindex,priv->st->id,cdata->URI); - got_vidst=TRUE; + if (vidindex != -1 && vidindex != priv->st->id) { + fprintf(stderr, "asf_decoder: unhandled multiple vidstreams %d and %d in %s\n", vidindex, priv->st->id, cdata->URI); + got_vidst = TRUE; detach_stream(cdata); return FALSE; } else { - vidst=priv->st; - vidindex=vidst->id; - priv->asf->stream_index=priv->asf->asfid2avid[vidindex]; + vidst = priv->st; + vidindex = vidst->id; + priv->asf->stream_index = priv->asf->asfid2avid[vidindex]; } lseek(priv->fd, 9, SEEK_CUR); - priv->input_position+=9; + priv->input_position += 9; - if (read(priv->fd,buffer,2)<2) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 2) < 2) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=2; + priv->input_position += 2; size = get_le16int(buffer); /* size */ - if (read(priv->fd,buffer,4)<4) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 4) < 4) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=4; - sizeX= get_le32int(buffer); /* size */ + priv->input_position += 4; + sizeX = get_le32int(buffer); /* size */ - if (read(priv->fd,buffer,4)<4) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 4) < 4) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=4; + priv->input_position += 4; if (!got_vidst) cdata->width = priv->st->codec->width = get_le32int(buffer); - if (read(priv->fd,buffer,4)<4) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 4) < 4) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=4; + priv->input_position += 4; if (!got_vidst) cdata->height = priv->st->codec->height = get_le32int(buffer); /* not available for asf */ lseek(priv->fd, 2, SEEK_CUR); // panes - priv->input_position+=2; + priv->input_position += 2; - if (read(priv->fd,buffer,2)<2) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 2) < 2) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=2; + priv->input_position += 2; if (!got_vidst) priv->st->codec->bits_per_coded_sample = get_le16int(buffer); /* depth */ - if (read(priv->fd,buffer,4)<4) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 4) < 4) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=4; + priv->input_position += 4; tag1 = get_le32int(buffer); lseek(priv->fd, 20, SEEK_CUR); - priv->input_position+=20; + priv->input_position += 20; - size= sizeX; + size = sizeX; if (size > 40) { if (!got_vidst) { @@ -1439,14 +1439,14 @@ priv->st->codec->extradata = malloc(priv->st->codec->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE); memset(priv->st->codec->extradata, 0, priv->st->codec->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE); - if (read(priv->fd,priv->st->codec->extradata, - priv->st->codec->extradata_size)<priv->st->codec->extradata_size) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, priv->st->codec->extradata, + priv->st->codec->extradata_size) < priv->st->codec->extradata_size) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - } else lseek(priv->fd,size - 40, SEEK_CUR); - priv->input_position+=priv->st->codec->extradata_size; + } else lseek(priv->fd, size - 40, SEEK_CUR); + priv->input_position += priv->st->codec->extradata_size; } @@ -1461,7 +1461,7 @@ #if !defined (IS_MINGW) && !defined (IS_SOLARIS) && !defined (__FreeBSD__) # if __BYTE_ORDER == __BIG_ENDIAN int i; - for (i = 0; i < FFMIN(priv->st->codec->extradata_size, AVPALETTE_SIZE)/4; i++) + for (i = 0; i < FFMIN(priv->st->codec->extradata_size, AVPALETTE_SIZE) / 4; i++) priv->asf_st->palette[i] = av_bswap32(((uint32_t *)priv->st->codec->extradata)[i]); #else memcpy(priv->asf_st->palette, priv->st->codec->extradata, @@ -1486,58 +1486,58 @@ pos2 = priv->input_position; gsize -= (pos2 - pos1 + 24); lseek(priv->fd, gsize, SEEK_CUR); - priv->input_position+=gsize; + priv->input_position += gsize; gsize += (pos2 - pos1 + 24); } else if (!guidcmp(&g, &lives_asf_comment_header)) { int len1, len2, len3, len4, len5; - if (read(priv->fd,buffer,2)<2) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 2) < 2) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=2; + priv->input_position += 2; len1 = get_le16int(buffer); - if (read(priv->fd,buffer,2)<2) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 2) < 2) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=2; + priv->input_position += 2; len2 = get_le16int(buffer); - if (read(priv->fd,buffer,2)<2) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 2) < 2) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=2; + priv->input_position += 2; len3 = get_le16int(buffer); - if (read(priv->fd,buffer,2)<2) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 2) < 2) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=2; + priv->input_position += 2; len4 = get_le16int(buffer); - if (read(priv->fd,buffer,2)<2) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 2) < 2) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=2; + priv->input_position += 2; len5 = get_le16int(buffer); @@ -1546,50 +1546,50 @@ get_tag(s, "copyright", 0, len3); get_tag(s, "comment" , 0, len4); */ - lseek(priv->fd, len1+len2+len3+len4+len5, SEEK_CUR); - priv->input_position+=len1+len2+len3+len4+len5; + lseek(priv->fd, len1 + len2 + len3 + len4 + len5, SEEK_CUR); + priv->input_position += len1 + len2 + len3 + len4 + len5; #ifdef DEBUG - fprintf(stderr,"skipping fwd %d bytes\n",len1+len2+len3+len4+len5); + fprintf(stderr, "skipping fwd %d bytes\n", len1 + len2 + len3 + len4 + len5); #endif } else if (!guidcmp(&g, &stream_bitrate_guid)) { int stream_count; int j; - if (read(priv->fd,buffer,2)<2) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 2) < 2) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=2; + priv->input_position += 2; stream_count = get_le16int(buffer); for (j = 0; j < stream_count; j++) { int flags, bitrate, stream_id; - if (read(priv->fd,buffer,2)<2) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 2) < 2) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=2; + priv->input_position += 2; flags = get_le16int(buffer); - if (read(priv->fd,buffer,4)<4) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 4) < 4) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=4; - bitrate= get_le32int(buffer); - stream_id= (flags & 0x7f); - priv->asf->stream_bitrates[stream_id]= bitrate; + priv->input_position += 4; + bitrate = get_le32int(buffer); + stream_id = (flags & 0x7f); + priv->asf->stream_bitrates[stream_id] = bitrate; } } else if (!guidcmp(&g, &lives_asf_language_guid)) { int j; @@ -1598,24 +1598,24 @@ char lang[6]; unsigned int lang_len; - if (read(priv->fd,buffer,1)<1) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 1) < 1) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=1; + priv->input_position += 1; lang_len = buffer[0]; - if (read(priv->fd,buffer,lang_len)<lang_len) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, lang_len) < lang_len) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } get_str16_nolen(buffer, lang_len, lang, sizeof(lang)); - priv->input_position+=lang_len; + priv->input_position += lang_len; if (j < 128) av_strlcpy(priv->asf->stream_languages[j], lang, sizeof(*priv->asf->stream_languages)); @@ -1623,63 +1623,63 @@ } else if (!guidcmp(&g, &lives_asf_extended_content_header)) { int desc_count, i; - if (read(priv->fd,buffer,2)<2) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 2) < 2) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=2; + priv->input_position += 2; desc_count = get_le16int(buffer); - for (i=0; i<desc_count; i++) { - int name_len,value_type,value_len; + for (i = 0; i < desc_count; i++) { + int name_len, value_type, value_len; char name[1024]; - if (read(priv->fd,buffer,2)<2) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 2) < 2) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=2; + priv->input_position += 2; name_len = get_le16int(buffer); - if (name_len%2) // must be even, broken lavf versions wrote len-1 + if (name_len % 2) // must be even, broken lavf versions wrote len-1 name_len += 1; - if (read(priv->fd,buffer,name_len)<name_len) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, name_len) < name_len) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } get_str16_nolen(buffer, name_len, name, sizeof(name)); - priv->input_position+=name_len; + priv->input_position += name_len; - if (read(priv->fd,buffer,2)<2) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 2) < 2) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=2; + priv->input_position += 2; value_type = get_le16int(buffer); - if (read(priv->fd,buffer,2)<2) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 2) < 2) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=2; + priv->input_position += 2; value_len = get_le16int(buffer); - if (!value_type && value_len%2) + if (!value_type && value_len % 2) value_len += 1; if (!get_tag(cdata, priv->s, name, value_type, value_len)) return FALSE; } @@ -1687,96 +1687,96 @@ } else if (!guidcmp(&g, &lives_asf_metadata_header)) { int n, stream_num, name_len, value_len, value_num; - if (read(priv->fd,buffer,2)<2) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 2) < 2) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=2; + priv->input_position += 2; n = get_le16int(buffer); - for (i=0; i<n; i++) { + for (i = 0; i < n; i++) { char name[1024]; lseek(priv->fd, 2, SEEK_CUR); // lang_list_index - priv->input_position+=2; + priv->input_position += 2; - if (read(priv->fd,buffer,2)<2) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 2) < 2) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=2; + priv->input_position += 2; - stream_num= get_le16int(buffer); + stream_num = get_le16int(buffer); - if (read(priv->fd,buffer,2)<2) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 2) < 2) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=2; + priv->input_position += 2; - name_len= get_le16int(buffer); + name_len = get_le16int(buffer); - if (read(priv->fd,buffer,2)<2) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 2) < 2) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=2; + priv->input_position += 2; //value_type= get_le16int(buffer); - if (read(priv->fd,buffer,4)<4) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 4) < 4) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=4; + priv->input_position += 4; - value_len= get_le32int(buffer); + value_len = get_le32int(buffer); - if (read(priv->fd,buffer,name_len)<name_len) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, name_len) < name_len) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } get_str16_nolen(buffer, name_len, name, sizeof(name)); - priv->input_position+=name_len; + priv->input_position += name_len; - if (read(priv->fd,buffer,2)<2) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 2) < 2) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=2; + priv->input_position += 2; - value_num= get_le16int(buffer); + value_num = get_le16int(buffer); // check this - priv->input_position+=value_len-2; - lseek(priv->fd, value_len+2, SEEK_CUR); + priv->input_position += value_len - 2; + lseek(priv->fd, value_len + 2, SEEK_CUR); - if (stream_num<128) { - if (!strcmp(name, "AspectRatioX")) dar[stream_num].num= + if (stream_num < 128) { + if (!strcmp(name, "AspectRatioX")) dar[stream_num].num = value_num; - else if (!strcmp(name, "AspectRatioY")) dar[stream_num].den= + else if (!strcmp(name, "AspectRatioY")) dar[stream_num].den = value_num; // i think PAR == 1/DAR (gf) - if (cdata->par==1.&&dar[stream_num].num!=0&&dar[stream_num].den!=0) - cdata->par=(float)dar[stream_num].den/(float)dar[stream_num].num; + if (cdata->par == 1. && dar[stream_num].num != 0 && dar[stream_num].den != 0) + cdata->par = (float)dar[stream_num].den / (float)dar[stream_num].num; } } @@ -1786,15 +1786,15 @@ unsigned int stream_languageid_index; lseek(priv->fd, 16, SEEK_CUR); // startime, endtime - priv->input_position+=16; + priv->input_position += 16; - if (read(priv->fd,buffer,4)<4) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 4) < 4) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=4; + priv->input_position += 4; leak_rate = get_le32int(buffer); // leak-datarate @@ -1807,19 +1807,19 @@ */ lseek(priv->fd, 20, SEEK_CUR); - priv->input_position+=20; + priv->input_position += 20; - if (read(priv->fd,buffer,4)<4) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 4) < 4) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=4; + priv->input_position += 4; flags = get_le32int(buffer); // flags (reliable,seekable,no_cleanpoints?,resend-live-cleanpoints, rest of bits reserved) - if (!(flags&0x02)) { + if (!(flags & 0x02)) { #ifndef RELEASE fprintf(stderr, "asf_decoder: NON-SEEKABLE FILE, falling back to default open.\n"); #endif @@ -1827,101 +1827,101 @@ return FALSE; } - if (read(priv->fd,buffer,2)<2) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 2) < 2) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=2; + priv->input_position += 2; stream_num = get_le16int(buffer); // stream-num - if (read(priv->fd,buffer,2)<2) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 2) < 2) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=2; + priv->input_position += 2; stream_languageid_index = get_le16int(buffer); // stream-language-id-index if (stream_num < 128) priv->asf->streams[stream_num].stream_language_index = stream_languageid_index; - if (read(priv->fd,buffer,8)<8) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 8) < 8) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=8; + priv->input_position += 8; ftime = get_le64int(buffer); // avg frametime in 100ns units - if (cdata->fps==0.) cdata->fps = (double)100000000./(double)ftime; + if (cdata->fps == 0.) cdata->fps = (double)100000000. / (double)ftime; - if (read(priv->fd,buffer,2)<2) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 2) < 2) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=2; + priv->input_position += 2; stream_ct = get_le16int(buffer); //stream-name-count - if (read(priv->fd,buffer,2)<2) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 2) < 2) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=2; + priv->input_position += 2; payload_ext_ct = get_le16int(buffer); //payload-extension-system-count if (stream_num < 128) bitrate[stream_num] = leak_rate; - for (i=0; i<stream_ct; i++) { + for (i = 0; i < stream_ct; i++) { lseek(priv->fd, 2, SEEK_CUR); - priv->input_position+=2; + priv->input_position += 2; - if (read(priv->fd,buffer,2)<2) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 2) < 2) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=2; + priv->input_position += 2; ext_len = get_le16int(buffer); lseek(priv->fd, ext_len, SEEK_CUR); - priv->input_position+=ext_len; + priv->input_position += ext_len; } - for (i=0; i<payload_ext_ct; i++) { + for (i = 0; i < payload_ext_ct; i++) { get_guid(priv->fd, &g); - priv->input_position+=sizeof(lives_asf_guid); + priv->input_position += sizeof(lives_asf_guid); - if (read(priv->fd,buffer,2)<2) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 2) < 2) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=2; + priv->input_position += 2; //ext_d=get_le16int(buffer); - if (read(priv->fd,buffer,4)<4) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 4) < 4) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=4; + priv->input_position += 4; - ext_len=get_le32int(buffer); + ext_len = get_le32int(buffer); lseek(priv->fd, ext_len, SEEK_CUR); } @@ -1930,99 +1930,99 @@ // if so the next iteration will pick it up } else if (!guidcmp(&g, &lives_asf_head1_guid)) { get_guid(priv->fd, &g); - priv->input_position+=sizeof(lives_asf_guid); + priv->input_position += sizeof(lives_asf_guid); lseek(priv->fd, 6, SEEK_CUR); - priv->input_position+=6; + priv->input_position += 6; } else if (!guidcmp(&g, &lives_asf_marker_header)) { int i, count, name_len; char name[1024]; #if 1 - fprintf(stderr, "asf_decoder: Chapter handling not yet implemented for %s\n",cdata->URI); + fprintf(stderr, "asf_decoder: Chapter handling not yet implemented for %s\n", cdata->URI); detach_stream(cdata); return FALSE; #endif lseek(priv->fd, 16, SEEK_CUR); - priv->input_position+=16; + priv->input_position += 16; - if (read(priv->fd,buffer,4)<4) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 4) < 4) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=4; + priv->input_position += 4; cdata->nclips = count = get_le32int(buffer); // markers count lseek(priv->fd, 2, SEEK_CUR); - priv->input_position+=2; + priv->input_position += 2; - if (read(priv->fd,buffer,2)<2) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 2) < 2) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=2; + priv->input_position += 2; name_len = get_le16int(buffer); // name length lseek(priv->fd, name_len, SEEK_CUR); - priv->input_position+=name_len; + priv->input_position += name_len; - for (i=0; i<count; i++) { + for (i = 0; i < count; i++) { // int64_t pres_time; int name_len; lseek(priv->fd, 8, SEEK_CUR); - priv->input_position+=8; + priv->input_position += 8; - if (read(priv->fd,buffer,8)<8) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 8) < 8) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=8; + priv->input_position += 8; //pres_time = get_le64int(buffer); // presentation time lseek(priv->fd, 10, SEEK_CUR); - priv->input_position+=10; + priv->input_position += 10; - if (read(priv->fd,buffer,4)<4) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, 4) < 4) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } - priv->input_position+=4; + priv->input_position += 4; name_len = get_le32int(buffer); // name length - if (read(priv->fd,buffer,name_len)<name_len) { - fprintf(stderr, "asf_decoder: read error in %s\n",cdata->URI); + if (read(priv->fd, buffer, name_len) < name_len) { + fprintf(stderr, "asf_decoder: read error in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } get_str16_nolen(buffer, name_len * 2, name, sizeof(name)); //ff_new_chapter(s, i, (AVRational){1, 10000000}, pres_time, AV_NOPTS_VALUE, name ); - priv->input_position+=name_len; + priv->input_position += name_len; } } else if (check_eof(cdata)) { - fprintf(stderr, "asf_decoder: EOF in %s\n",cdata->URI); + fprintf(stderr, "asf_decoder: EOF in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } else { if (!priv->s->keylen) { - if (!guidcmp(&g, &lives_asf_content_encryption)|| + if (!guidcmp(&g, &lives_asf_content_encryption) || !guidcmp(&g, &lives_asf_ext_content_encryption) || !guidcmp(&g, &lives_asf_digital_signature)) { - fprintf(stderr, "asf_decoder: encrypted/signed content in %s\n",cdata->URI); + fprintf(stderr, "asf_decoder: encrypted/signed content in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } @@ -2032,26 +2032,26 @@ lseek(priv->fd, gpos + gsize, SEEK_SET); if (priv->input_position != gpos + gsize) #ifdef DEBUG - fprintf(stderr, "gpos mismatch our pos=%"PRIu64", end=%"PRIu64"\n", priv->input_position-gpos, gsize); + fprintf(stderr, "gpos mismatch our pos=%"PRIu64", end=%"PRIu64"\n", priv->input_position - gpos, gsize); #endif - priv->input_position=gpos+gsize; + priv->input_position = gpos + gsize; } // end for - if (vidindex==-1) { - fprintf(stderr, "asf_decoder: no video stream found in %s\n",cdata->URI); + if (vidindex == -1) { + fprintf(stderr, "asf_decoder: no video stream found in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } get_guid(priv->fd, &g); - priv->input_position+=sizeof(lives_asf_guid); + priv->input_position += sizeof(lives_asf_guid); lseek(priv->fd, 10, SEEK_CUR); - priv->input_position+=10; + priv->input_position += 10; if (check_eof(cdata)) { - fprintf(stderr, "asf_decoder: EOF in %s\n",cdata->URI); + fprintf(stderr, "asf_decoder: EOF in %s\n", cdata->URI); detach_stream(cdata); return FALSE; } @@ -2059,11 +2059,11 @@ priv->data_start = priv->input_position; priv->asf->packet_size_left = 0; - for (i=0; i<128; i++) { - int stream_num= priv->asf->asfid2avid[i]; - if (stream_num>=0) { + for (i = 0; i < 128; i++) { + int stream_num = priv->asf->asfid2avid[i]; + if (stream_num >= 0) { AVStream *st = priv->s->streams[stream_num]; - if (!st||!priv->st->codec) continue; + if (!st || !priv->st->codec) continue; if (!priv->st->codec->bit_rate) priv->st->codec->bit_rate = bitrate[i]; if (dar[i].num > 0 && dar[i].den > 0) @@ -2085,112 +2085,112 @@ } - priv->inited=TRUE; + priv->inited = TRUE; - priv->data_start=priv->input_position; + priv->data_start = priv->input_position; - priv->start_dts=0; // will reset this later - priv->have_start_dts=FALSE; // cannot add keyframes until we know offset of start_dts + priv->start_dts = 0; // will reset this later + priv->have_start_dts = FALSE; // cannot add keyframes until we know offset of start_dts // re-scan with avcodec; priv->data_start holds video data start position - priv->input_position=priv->data_start; - lseek(priv->fd,priv->input_position,SEEK_SET); + priv->input_position = priv->data_start; + lseek(priv->fd, priv->input_position, SEEK_SET); - priv->ctx=ctx=vidst->codec; + priv->ctx = ctx = vidst->codec; if (vidst->codec) codec = avcodec_find_decoder(vidst->codec->codec_id); if (isclone) { - retval=avcodec_open2(vidst->codec, codec, NULL); + retval = avcodec_open2(vidst->codec, codec, NULL); return TRUE; } switch (vidst->codec->codec_id) { case CODEC_ID_WMV1: - snprintf(cdata->video_name,16,"wmv1"); + snprintf(cdata->video_name, 16, "wmv1"); break; case CODEC_ID_WMV2: - snprintf(cdata->video_name,16,"wmv2"); + snprintf(cdata->video_name, 16, "wmv2"); break; case CODEC_ID_WMV3: - snprintf(cdata->video_name,16,"wmv3"); + snprintf(cdata->video_name, 16, "wmv3"); break; case CODEC_ID_DVVIDEO: - snprintf(cdata->video_name,16,"dv"); + snprintf(cdata->video_name, 16, "dv"); break; case CODEC_ID_MPEG4: - snprintf(cdata->video_name,16,"mpeg4"); + snprintf(cdata->video_name, 16, "mpeg4"); break; case CODEC_ID_H264: - snprintf(cdata->video_name,16,"h264"); + snprintf(cdata->video_name, 16, "h264"); break; case CODEC_ID_MPEG1VIDEO: - snprintf(cdata->video_name,16,"mpeg1"); + snprintf(cdata->video_name, 16, "mpeg1"); break; case CODEC_ID_MPEG2VIDEO: - snprintf(cdata->video_name,16,"mpeg2"); + snprintf(cdata->video_name, 16, "mpeg2"); break; default: - snprintf(cdata->video_name,16,"unknown"); + snprintf(cdata->video_name, 16, "unknown"); break; - fprintf(stderr,"add video format %d\n",vidst->codec->codec_id); + fprintf(stderr, "add video format %d\n", vidst->codec->codec_id); break; } #ifdef DEBUG - fprintf(stderr,"video type is %s %d x %d (%d x %d +%d +%d)\n",cdata->video_name, - cdata->width,cdata->height,cdata->frame_width,cdata->frame_height,cdata->offs_x,cdata->offs_y); + fprintf(stderr, "video type is %s %d x %d (%d x %d +%d +%d)\n", cdata->video_name, + cdata->width, cdata->height, cdata->frame_width, cdata->frame_height, cdata->offs_x, cdata->offs_y); #endif if (!vidst->codec) { - if (strlen(cdata->video_name)>0) - fprintf(stderr, "asf_decoder: Could not find avcodec codec for video type %s\n",cdata->video_name); + if (strlen(cdata->video_name) > 0) + fprintf(stderr, "asf_decoder: Could not find avcodec codec for video type %s\n", cdata->video_name); detach_stream(cdata); return FALSE; } - if ((retval=avcodec_open2(vidst->codec, codec, NULL)) < 0) { - fprintf(stderr, "asf_decoder: Could not open avcodec context (%d) %d\n",retval,vidst->codec->frame_number); + if ((retval = avcodec_open2(vidst->codec, codec, NULL)) < 0) { + fprintf(stderr, "asf_decoder: Could not open avcodec context (%d) %d\n", retval, vidst->codec->frame_number); detach_stream(cdata); return FALSE; } - priv->input_position=priv->data_start; + priv->input_position = priv->data_start; asf_reset_header(priv->s); pthread_mutex_lock(&priv->idxc->mutex); - priv->kframe=add_keyframe(cdata,priv->data_start,0,0); + priv->kframe = add_keyframe(cdata, priv->data_start, 0, 0); pthread_mutex_unlock(&priv->idxc->mutex); - priv->def_packet_size=priv->asf->hdr.max_pktsize*10; + priv->def_packet_size = priv->asf->hdr.max_pktsize * 10; priv->picture = av_frame_alloc(); do { - if (priv->avpkt.data!=NULL) free(priv->avpkt.data); - retval = get_next_video_packet(cdata,0,-1); - if (retval==-2) { + if (priv->avpkt.data != NULL) free(priv->avpkt.data); + retval = get_next_video_packet(cdata, 0, -1); + if (retval == -2) { fprintf(stderr, "asf_decoder: No frames found.\n"); detach_stream(cdata); return FALSE; // eof } - } while (retval<0); + } while (retval < 0); - if (priv->asf->packet_time_delta!=0) { - fprintf(stderr, "asf_decoder: packet time delta of (%d) not understood\n",priv->asf->packet_time_delta); + if (priv->asf->packet_time_delta != 0) { + fprintf(stderr, "asf_decoder: packet time delta of (%d) not understood\n", priv->asf->packet_time_delta); detach_stream(cdata); return FALSE; } #if LIBAVCODEC_VERSION_MAJOR >= 52 - len=avcodec_decode_video2(vidst->codec, priv->picture, &got_picture, &priv->avpkt); + len = avcodec_decode_video2(vidst->codec, priv->picture, &got_picture, &priv->avpkt); #else - len=avcodec_decode_video(vidst->codec, priv->picture, &got_picture, priv->avpkt.data, priv->avpkt.size); + len = avcodec_decode_video(vidst->codec, priv->picture, &got_picture, priv->avpkt.data, priv->avpkt.size); #endif - priv->avpkt.size-=len; + priv->avpkt.size -= len; if (!got_picture) { fprintf(stderr, "asf_decoder: Did not get picture.\n"); @@ -2198,23 +2198,23 @@ return FALSE; } - if (priv->avpkt.size!=0) { + if (priv->avpkt.size != 0) { fprintf(stderr, "asf_decoder: Multi frame packets, not decoding.\n"); detach_stream(cdata); return FALSE; } - pts=priv->start_dts=priv->frame_dts; - priv->have_start_dts=TRUE; - cdata->video_start_time=(double)pts/10000.; + pts = priv->start_dts = priv->frame_dts; + priv->have_start_dts = TRUE; + cdata->video_start_time = (double)pts / 10000.; - cdata->sync_hint=0; + cdata->sync_hint = 0; //#define DEBUG #ifdef DEBUG - printf("first pts is %ld\n",pts); + printf("first pts is %ld\n", pts); #endif - if (pts==AV_NOPTS_VALUE) { + if (pts == AV_NOPTS_VALUE) { fprintf(stderr, "asf_decoder: No timestamps for frames, not decoding.\n"); detach_stream(cdata); return FALSE; @@ -2223,165 +2223,165 @@ do { free(priv->avpkt.data); - retval = get_next_video_packet(cdata,-1,-1); + retval = get_next_video_packet(cdata, -1, -1); // try to get dts of second frame - if (retval!=-2) { // eof - if (retval==0) { + if (retval != -2) { // eof + if (retval == 0) { - if (priv->frame_dts==AV_NOPTS_VALUE) { + if (priv->frame_dts == AV_NOPTS_VALUE) { fprintf(stderr, "asf_decoder: No timestamp for second frame, aborting.\n"); detach_stream(cdata); return FALSE; } - if (priv->asf->packet_time_delta!=0) { - fprintf(stderr, "asf_decoder: packet time delta of (%d) not understood\n",priv->asf->packet_time_delta); + if (priv->asf->packet_time_delta != 0) { + fprintf(stderr, "asf_decoder: packet time delta of (%d) not understood\n", priv->asf->packet_time_delta); detach_stream(cdata); return FALSE; } - pts=priv->frame_dts-pts; - pts2=priv->frame_dts; + pts = priv->frame_dts - pts; + pts2 = priv->frame_dts; #ifdef DEBUG - printf("delta pts is %ld %ld\n",pts,priv->frame_dts); + printf("delta pts is %ld %ld\n", pts, priv->frame_dts); #endif - if (pts>0) cdata->fps=1000./(double)pts; - gotframe2=TRUE; + if (pts > 0) cdata->fps = 1000. / (double)pts; + gotframe2 = TRUE; } } - } while (retval<0&&retval!=-2); + } while (retval < 0 && retval != -2); if (gotframe2) { do { free(priv->avpkt.data); - retval = get_next_video_packet(cdata,-1,-1); + retval = get_next_video_packet(cdata, -1, -1); // try to get dts of second frame - if (retval!=-2) { // eof - if (retval==0) { + if (retval != -2) { // eof + if (retval == 0) { - if (priv->frame_dts==AV_NOPTS_VALUE) { + if (priv->frame_dts == AV_NOPTS_VALUE) { break; } - if (priv->asf->packet_time_delta!=0) { - fprintf(stderr, "asf_decoder: packet time delta of (%d) not understood\n",priv->asf->packet_time_delta); + if (priv->asf->packet_time_delta != 0) { + fprintf(stderr, "asf_decoder: packet time delta of (%d) not understood\n", priv->asf->packet_time_delta); detach_stream(cdata); return FALSE; } - if (priv->frame_dts-pts2!=pts) { + if (priv->frame_dts - pts2 != pts) { // 2->3 delta can be more accurate than 1 - 2 delta - pts=priv->frame_dts-pts2; - if (pts>0) cdata->fps=1000./(double)pts; - priv->start_dts=pts2-pts; - priv->have_start_dts=TRUE; - cdata->video_start_time=(double)priv->start_dts/10000.; + pts = priv->frame_dts - pts2; + if (pts > 0) cdata->fps = 1000. / (double)pts; + priv->start_dts = pts2 - pts; + priv->have_start_dts = TRUE; + cdata->video_start_time = (double)priv->start_dts / 10000.; } #ifdef DEBUG - printf("3delta pts is %ld %ld\n",pts,priv->frame_dts); + printf("3delta pts is %ld %ld\n", pts, priv->frame_dts); #endif } } - } while (retval<0&&retval!=-2); + } while (retval < 0 && retval != -2); } free(priv->avpkt.data); - priv->avpkt.data=NULL; - priv->avpkt.size=0; + priv->avpkt.data = NULL; + priv->avpkt.size = 0; - priv->ctx=ctx=vidst->codec; + priv->ctx = ctx = vidst->codec; - cdata->YUV_clamping=WEED_YUV_CLAMPING_UNCLAMPED; - if (ctx->color_range==AVCOL_RANGE_MPEG) cdata->YUV_clamping=WEED_YUV_CLAMPING_CLAMPED; + cdata->YUV_clamping = WEED_YUV_CLAMPING_UNCLAMPED; + if (ctx->color_range == AVCOL_RANGE_MPEG) cdata->YUV_clamping = WEED_YUV_CLAMPING_CLAMPED; - cdata->YUV_sampling=WEED_YUV_SAMPLING_DEFAULT; - if (ctx->chroma_sample_location!=AVCHROMA_LOC_LEFT) cdata->YUV_sampling=WEED_YUV_SAMPLING_MPEG; + cdata->YUV_sampling = WEED_YUV_SAMPLING_DEFAULT; + if (ctx->chroma_sample_location != AVCHROMA_LOC_LEFT) cdata->YUV_sampling = WEED_YUV_SAMPLING_MPEG; - cdata->YUV_subspace=WEED_YUV_SUBSPACE_YCBCR; - if (ctx->colorspace==AVCOL_SPC_BT709) cdata->YUV_subspace=WEED_YUV_SUBSPACE_BT709; + cdata->YUV_subspace = WEED_YUV_SUBSPACE_YCBCR; + if (ctx->colorspace == AVCOL_SPC_BT709) cdata->YUV_subspace = WEED_YUV_SUBSPACE_BT709; - cdata->palettes[0]=avi_pix_fmt_to_weed_palette(ctx->pix_fmt, - &cdata->YUV_clamping); + cdata->palettes[0] = avi_pix_fmt_to_weed_palette(ctx->pix_fmt, + &cdata->YUV_clamping); - if (cdata->palettes[0]==WEED_PALETTE_END) { - fprintf(stderr, "asf_decoder: Could not find a usable palette for (%d) %s\n",ctx->pix_fmt,cdata->URI); + if (cdata->palettes[0] == WEED_PALETTE_END) { + fprintf(stderr, "asf_decoder: Could not find a usable palette for (%d) %s\n", ctx->pix_fmt, cdata->URI); detach_stream(cdata); return FALSE; } - cdata->current_palette=cdata->palettes[0]; + cdata->current_palette = cdata->palettes[0]; // re-get fps, width, height, nframes - actually avcodec is pretty useless at getting this // so we fall back on the values we obtained ourselves - if (cdata->width==0) cdata->width=ctx->width-cdata->offs_x*2; - if (cdata->height==0) cdata->height=ctx->height-cdata->offs_y*2; + if (cdata->width == 0) cdata->width = ctx->width - cdata->offs_x * 2; + if (cdata->height == 0) cdata->height = ctx->height - cdata->offs_y * 2; - if (cdata->width*cdata->height==0) { - fprintf(stderr, "asf_decoder: invalid width and height (%d X %d)\n",cdata->width,cdata->height); + if (cdata->width * cdata->height == 0) { + fprintf(stderr, "asf_decoder: invalid width and height (%d X %d)\n", cdata->width, cdata->height); detach_stream(cdata); return FALSE; } #ifdef DEBUG - fprintf(stderr,"using palette %d, size %d x %d\n", - cdata->current_palette,cdata->width,cdata->height); + fprintf(stderr, "using palette %d, size %d x %d\n", + cdata->current_palette, cdata->width, cdata->height); #endif - cdata->par=(double)ctx->sample_aspect_ratio.num/(double)ctx->sample_aspect_ratio.den; - if (cdata->par==0.) cdata->par=1.; + cdata->par = (double)ctx->sample_aspect_ratio.num / (double)ctx->sample_aspect_ratio.den; + if (cdata->par == 0.) cdata->par = 1.; - if (ctx->time_base.den>0&&ctx->time_base.num>0) { - fps=(double)ctx->time_base.den/(double)ctx->time_base.num; - if (fps!=1000.) cdata->fps=fps; + if (ctx->time_base.den > 0 && ctx->time_base.num > 0) { + fps = (double)ctx->time_base.den / (double)ctx->time_base.num; + if (fps != 1000.) cdata->fps = fps; } - if (cdata->fps==0.||cdata->fps==1000.) { + if (cdata->fps == 0. || cdata->fps == 1000.) { double res = get_fps(cdata->URI); if (res >= 0.) cdata->fps = res; } - if (cdata->fps==0.&&ctx->time_base.num==0) { - if (ctx->time_base.den==1) cdata->fps=25.; + if (cdata->fps == 0. && ctx->time_base.num == 0) { + if (ctx->time_base.den == 1) cdata->fps = 25.; } - if (cdata->fps==0.||cdata->fps==1000.) { - fprintf(stderr, "asf_decoder: invalid framerate %.4f (%d / %d)\n",cdata->fps,ctx->time_base.den,ctx->time_base.num); + if (cdata->fps == 0. || cdata->fps == 1000.) { + fprintf(stderr, "asf_decoder: invalid framerate %.4f (%d / %d)\n", cdata->fps, ctx->time_base.den, ctx->time_base.num); detach_stream(cdata); return FALSE; } - if (ctx->ticks_per_frame==2) { + if (ctx->ticks_per_frame == 2) { // TODO - needs checking - cdata->fps/=2.; - cdata->interlace=LIVES_INTERLACE_BOTTOM_FIRST; + cdata->fps /= 2.; + cdata->interlace = LIVES_INTERLACE_BOTTOM_FIRST; } - priv->last_frame=-1; - priv->black_fill=FALSE; + priv->last_frame = -1; + priv->black_fill = FALSE; if (is_partial_clone) return TRUE; vidst->duration = get_last_video_dts(cdata); - cdata->nframes = dts_to_frame(cdata,vidst->duration+priv->start_dts)+2; + cdata->nframes = dts_to_frame(cdata, vidst->duration + priv->start_dts) + 2; // double check, sometimes we can be out by one or two frames while (1) { - if (get_frame(cdata,cdata->nframes-1,NULL,0,NULL)) break; + if (get_frame(cdata, cdata->nframes - 1, NULL, 0, NULL)) break; cdata->nframes--; } - if (cdata->width!=cdata->frame_width||cdata->height!=cdata->frame_height) - fprintf(stderr,"asf_decoder: info frame size=%d x %d, pixel size=%d x %d\n",cdata->frame_width,cdata->frame_height,cdata->width, + if (cdata->width != cdata->frame_width || cdata->height != cdata->frame_height) + fprintf(stderr, "asf_decoder: info frame size=%d x %d, pixel size=%d x %d\n", cdata->frame_width, cdata->frame_height, cdata->width, cdata->height); @@ -2396,13 +2396,13 @@ const char *module_check_init(void) { avcodec_register_all(); - indices=NULL; - nidxc=0; + indices = NULL; + nidxc = 0; pthread_mutexattr_init(&mattr); - pthread_mutexattr_settype(&mattr,PTHREAD_MUTEX_RECURSIVE); + pthread_mutexattr_settype(&mattr, PTHREAD_MUTEX_RECURSIVE); - pthread_mutex_init(&indices_mutex,NULL); + pthread_mutex_init(&indices_mutex, NULL); return NULL; } @@ -2415,125 +2415,125 @@ static lives_clip_data_t *init_cdata(void) { lives_asf_priv_t *priv; - lives_clip_data_t *cdata=(lives_clip_data_t *)malloc(sizeof(lives_clip_data_t)); + lives_clip_data_t *cdata = (lives_clip_data_t *)malloc(sizeof(lives_clip_data_t)); - cdata->URI=NULL; + cdata->URI = NULL; - cdata->priv=priv=malloc(sizeof(lives_asf_priv_t)); + cdata->priv = priv = malloc(sizeof(lives_asf_priv_t)); - cdata->seek_flag=0; + cdata->seek_flag = 0; - priv->ctx=NULL; - priv->picture=NULL; + priv->ctx = NULL; + priv->picture = NULL; - cdata->palettes=(int *)malloc(2*sizeof(int)); - cdata->palettes[1]=WEED_PALETTE_END; + cdata->palettes = (int *)malloc(2 * sizeof(int)); + cdata->palettes[1] = WEED_PALETTE_END; - priv->idxc=NULL; + priv->idxc = NULL; - priv->inited=FALSE; + priv->inited = FALSE; - cdata->sync_hint=0; + cdata->sync_hint = 0; - cdata->video_start_time=0.; + cdata->video_start_time = 0.; - memset(cdata->author,0,1); - memset(cdata->title,0,1); - memset(cdata->comment,0,1); + memset(cdata->author, 0, 1); + memset(cdata->title, 0, 1); + memset(cdata->comment, 0, 1); return cdata; } static lives_clip_data_t *asf_clone(lives_clip_data_t *cdata) { - lives_clip_data_t *clone=init_cdata(); - lives_asf_priv_t *dpriv,*spriv; + lives_clip_data_t *clone = init_cdata(); + lives_asf_priv_t *dpriv, *spriv; // copy from cdata to clone, with a new context for clone - clone->URI=strdup(cdata->URI); - clone->nclips=cdata->nclips; - snprintf(clone->container_name,512,"%s",cdata->container_name); - clone->current_clip=cdata->current_clip; - clone->width=cdata->width; - clone->height=cdata->height; - clone->nframes=cdata->nframes; - clone->interlace=cdata->interlace; - clone->offs_x=cdata->offs_x; - clone->offs_y=cdata->offs_y; - clone->frame_width=cdata->frame_width; - clone->frame_height=cdata->frame_height; - clone->par=cdata->par; - clone->fps=cdata->fps; - if (cdata->palettes!=NULL) clone->palettes[0]=cdata->palettes[0]; - clone->current_palette=cdata->current_palette; - clone->YUV_sampling=cdata->YUV_sampling; - clone->YUV_clamping=cdata->YUV_clamping; - snprintf(clone->video_name,512,"%s",cdata->video_name); - clone->arate=cdata->arate; - clone->achans=cdata->achans; - clone->asamps=cdata->asamps; - clone->asigned=cdata->asigned; - clone->ainterleaf=cdata->ainterleaf; - snprintf(clone->audio_name,512,"%s",cdata->audio_name); - clone->seek_flag=cdata->seek_flag; - clone->sync_hint=cdata->sync_hint; - - snprintf(clone->author,256,"%s",cdata->author); - snprintf(clone->title,256,"%s",cdata->title); - snprintf(clone->comment,256,"%s",cdata->comment); + clone->URI = strdup(cdata->URI); + clone->nclips = cdata->nclips; + snprintf(clone->container_name, 512, "%s", cdata->container_name); + clone->current_clip = cdata->current_clip; + clone->width = cdata->width; + clone->height = cdata->height; + clone->nframes = cdata->nframes; + clone->interlace = cdata->interlace; + clone->offs_x = cdata->offs_x; + clone->offs_y = cdata->offs_y; + clone->frame_width = cdata->frame_width; + clone->frame_height = cdata->frame_height; + clone->par = cdata->par; + clone->fps = cdata->fps; + if (cdata->palettes != NULL) clone->palettes[0] = cdata->palettes[0]; + clone->current_palette = cdata->current_palette; + clone->YUV_sampling = cdata->YUV_sampling; + clone->YUV_clamping = cdata->YUV_clamping; + snprintf(clone->video_name, 512, "%s", cdata->video_name); + clone->arate = cdata->arate; + clone->achans = cdata->achans; + clone->asamps = cdata->asamps; + clone->asigned = cdata->asigned; + clone->ainterleaf = cdata->ainterleaf; + snprintf(clone->audio_name, 512, "%s", cdata->audio_name); + clone->seek_flag = cdata->seek_flag; + clone->sync_hint = cdata->sync_hint; + + snprintf(clone->author, 256, "%s", cdata->author); + snprintf(clone->title, 256, "%s", cdata->title); + snprintf(clone->comment, 256, "%s", cdata->comment); // create "priv" elements - dpriv=clone->priv; - spriv=cdata->priv; + dpriv = clone->priv; + spriv = cdata->priv; - if (spriv!=NULL) { - dpriv->filesize=spriv->filesize; - dpriv->inited=TRUE; + if (spriv != NULL) { + dpriv->filesize = spriv->filesize; + dpriv->inited = TRUE; } - if (!attach_stream(clone,TRUE)) { + if (!attach_stream(clone, TRUE)) { free(clone->URI); - clone->URI=NULL; + clone->URI = NULL; clip_data_free(clone); return NULL; } asf_reset_header(dpriv->s); - if (spriv!=NULL) { - dpriv->def_packet_size=spriv->def_packet_size; - dpriv->start_dts=spriv->start_dts; - dpriv->have_start_dts=TRUE; - dpriv->st->duration=spriv->st->duration; + if (spriv != NULL) { + dpriv->def_packet_size = spriv->def_packet_size; + dpriv->start_dts = spriv->start_dts; + dpriv->have_start_dts = TRUE; + dpriv->st->duration = spriv->st->duration; - dpriv->last_frame=-1; - dpriv->black_fill=FALSE; + dpriv->last_frame = -1; + dpriv->black_fill = FALSE; } else { - clone->nclips=1; + clone->nclips = 1; /////////////////////////////////////////////////////////// - sprintf(clone->container_name,"%s","asf"); + sprintf(clone->container_name, "%s", "asf"); // clone->height was set when we attached the stream - clone->interlace=LIVES_INTERLACE_NONE; + clone->interlace = LIVES_INTERLACE_NONE; - clone->frame_width=clone->width+clone->offs_x*2; - clone->frame_height=clone->height+clone->offs_y*2; + clone->frame_width = clone->width + clone->offs_x * 2; + clone->frame_height = clone->height + clone->offs_y * 2; - if (dpriv->ctx->width==clone->frame_width) clone->offs_x=0; - if (dpriv->ctx->height==clone->frame_height) clone->offs_y=0; + if (dpriv->ctx->width == clone->frame_width) clone->offs_x = 0; + if (dpriv->ctx->height == clone->frame_height) clone->offs_y = 0; //////////////////////////////////////////////////////////////////// - clone->asigned=TRUE; - clone->ainterleaf=TRUE; + clone->asigned = TRUE; + clone->ainterleaf = TRUE; } - if (dpriv->picture!=NULL) av_frame_unref(&dpriv->picture); - dpriv->picture=NULL; + if (dpriv->picture != NULL) av_frame_unref(&dpriv->picture); + dpriv->picture = NULL; return clone; } @@ -2553,223 +2553,223 @@ lives_asf_priv_t *priv; - if (URI==NULL&&cdata!=NULL) { + if (URI == NULL && cdata != NULL) { // create a clone of cdata - we also need to be able to handle a "fake" clone with only URI, nframes and fps set (priv == NULL) return asf_clone(cdata); } - if (cdata!=NULL&&cdata->current_clip>0) { + if (cdata != NULL && cdata->current_clip > 0) { // currently we only support one clip per container clip_data_free(cdata); return NULL; } - if (cdata==NULL) { - cdata=init_cdata(); + if (cdata == NULL) { + cdata = init_cdata(); } - if (cdata->URI==NULL||strcmp(URI,cdata->URI)) { - if (cdata->URI!=NULL) { + if (cdata->URI == NULL || strcmp(URI, cdata->URI)) { + if (cdata->URI != NULL) { detach_stream(cdata); free(cdata->URI); } - cdata->URI=strdup(URI); - if (!attach_stream(cdata,FALSE)) { + cdata->URI = strdup(URI); + if (!attach_stream(cdata, FALSE)) { free(cdata->URI); - cdata->URI=NULL; + cdata->URI = NULL; clip_data_free(cdata); return NULL; } //cdata->current_palette=cdata->palettes[0]; - cdata->current_clip=0; + cdata->current_clip = 0; } - cdata->nclips=1; + cdata->nclips = 1; /////////////////////////////////////////////////////////// - sprintf(cdata->container_name,"%s","asf"); + sprintf(cdata->container_name, "%s", "asf"); // cdata->height was set when we attached the stream - cdata->interlace=LIVES_INTERLACE_NONE; + cdata->interlace = LIVES_INTERLACE_NONE; - cdata->frame_width=cdata->width+cdata->offs_x*2; - cdata->frame_height=cdata->height+cdata->offs_y*2; + cdata->frame_width = cdata->width + cdata->offs_x * 2; + cdata->frame_height = cdata->height + cdata->offs_y * 2; - priv=cdata->priv; + priv = cdata->priv; - if (priv->ctx->width==cdata->frame_width) cdata->offs_x=0; - if (priv->ctx->height==cdata->frame_height) cdata->offs_y=0; + if (priv->ctx->width == cdata->frame_width) cdata->offs_x = 0; + if (priv->ctx->height == cdata->frame_height) cdata->offs_y = 0; //////////////////////////////////////////////////////////////////// - cdata->asigned=TRUE; - cdata->ainterleaf=TRUE; + cdata->asigned = TRUE; + cdata->ainterleaf = TRUE; - if (priv->picture!=NULL) av_frame_unref(&priv->picture); - priv->picture=NULL; + if (priv->picture != NULL) av_frame_unref(&priv->picture); + priv->picture = NULL; return cdata; } static size_t write_black_pixel(unsigned char *idst, int pal, int npixels, int y_black) { - unsigned char *dst=idst; + unsigned char *dst = idst; register int i; - for (i=0; i<npixels; i++) { + for (i = 0; i < npixels; i++) { switch (pal) { case WEED_PALETTE_RGBA32: case WEED_PALETTE_BGRA32: - dst[0]=dst[1]=dst[2]=0; - dst[3]=255; - dst+=4; + dst[0] = dst[1] = dst[2] = 0; + dst[3] = 255; + dst += 4; break; case WEED_PALETTE_ARGB32: - dst[1]=dst[2]=dst[3]=0; - dst[0]=255; - dst+=4; + dst[1] = dst[2] = dst[3] = 0; + dst[0] = 255; + dst += 4; break; case WEED_PALETTE_UYVY8888: - dst[1]=dst[3]=y_black; - dst[0]=dst[2]=128; - dst+=4; + dst[1] = dst[3] = y_black; + dst[0] = dst[2] = 128; + dst += 4; break; case WEED_PALETTE_YUYV8888: - dst[0]=dst[2]=y_black; - dst[1]=dst[3]=128; - dst+=4; + dst[0] = dst[2] = y_black; + dst[1] = dst[3] = 128; + dst += 4; break; case WEED_PALETTE_YUV888: - dst[0]=y_black; - dst[1]=dst[2]=128; - dst+=3; + dst[0] = y_black; + dst[1] = dst[2] = 128; + dst += 3; break; case WEED_PALETTE_YUVA8888: - dst[0]=y_black; - dst[1]=dst[2]=128; - dst[3]=255; - dst+=4; + dst[0] = y_black; + dst[1] = dst[2] = 128; + dst[3] = 255; + dst += 4; break; case WEED_PALETTE_YUV411: - dst[0]=dst[3]=128; - dst[1]=dst[2]=dst[4]=dst[5]=y_black; - dst+=6; + dst[0] = dst[3] = 128; + dst[1] = dst[2] = dst[4] = dst[5] = y_black; + dst += 6; default: break; } } - return idst-dst; + return idst - dst; } boolean get_frame(const lives_clip_data_t *cdata, int64_t tframe, int *rowstrides, int height, void **pixel_data) { // seek to frame, - lives_asf_priv_t *priv=cdata->priv; + lives_asf_priv_t *priv = cdata->priv; - int64_t nextframe=0; - int64_t target_pts=frame_to_dts(cdata,tframe); + int64_t nextframe = 0; + int64_t target_pts = frame_to_dts(cdata, tframe); - unsigned char *dst,*src; - unsigned char black[4]= {0,0,0,255}; + unsigned char *dst, *src; + unsigned char black[4] = {0, 0, 0, 255}; - boolean got_picture=FALSE; - boolean hit_target=FALSE; + boolean got_picture = FALSE; + boolean hit_target = FALSE; - int tfrag=0; - int xheight=cdata->frame_height,pal=cdata->current_palette,nplanes=1,dstwidth=cdata->width,psize=1; - int btop=cdata->offs_y,bbot=xheight-1-btop; - int bleft=cdata->offs_x,bright=cdata->frame_width-cdata->width-bleft; - int rescan_limit=16; // pick some arbitrary value - int y_black=(cdata->YUV_clamping==WEED_YUV_CLAMPING_CLAMPED)?16:0; + int tfrag = 0; + int xheight = cdata->frame_height, pal = cdata->current_palette, nplanes = 1, dstwidth = cdata->width, psize = 1; + int btop = cdata->offs_y, bbot = xheight - 1 - btop; + int bleft = cdata->offs_x, bright = cdata->frame_width - cdata->width - bleft; + int rescan_limit = 16; // pick some arbitrary value + int y_black = (cdata->YUV_clamping == WEED_YUV_CLAMPING_CLAMPED) ? 16 : 0; - register int i,p; + register int i, p; #ifdef DEBUG_KFRAMES - fprintf(stderr,"vals %ld %ld\n",tframe,priv->last_frame); + fprintf(stderr, "vals %ld %ld\n", tframe, priv->last_frame); #endif - if (pixel_data!=NULL) { + if (pixel_data != NULL) { // calc frame width and height, including any border - if (pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_YUV422P||pal==WEED_PALETTE_YUV444P) { - nplanes=3; - black[0]=y_black; - black[1]=black[2]=128; - } else if (pal==WEED_PALETTE_YUVA4444P) { - nplanes=4; - black[0]=y_black; - black[1]=black[2]=128; - black[3]=255; + if (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_YUV422P || pal == WEED_PALETTE_YUV444P) { + nplanes = 3; + black[0] = y_black; + black[1] = black[2] = 128; + } else if (pal == WEED_PALETTE_YUVA4444P) { + nplanes = 4; + black[0] = y_black; + black[1] = black[2] = 128; + black[3] = 255; } - if (pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24) psize=3; + if (pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24) psize = 3; - if (pal==WEED_PALETTE_RGBA32||pal==WEED_PALETTE_BGRA32||pal==WEED_PALETTE_ARGB32||pal==WEED_PALETTE_UYVY8888|| - pal==WEED_PALETTE_YUYV8888||pal==WEED_PALETTE_YUV888||pal==WEED_PALETTE_YUVA8888) psize=4; + if (pal == WEED_PALETTE_RGBA32 || pal == WEED_PALETTE_BGRA32 || pal == WEED_PALETTE_ARGB32 || pal == WEED_PALETTE_UYVY8888 || + pal == WEED_PALETTE_YUYV8888 || pal == WEED_PALETTE_YUV888 || pal == WEED_PALETTE_YUVA8888) psize = 4; - if (pal==WEED_PALETTE_YUV411) psize=6; + if (pal == WEED_PALETTE_YUV411) psize = 6; - if (pal==WEED_PALETTE_A1) dstwidth>>=3; + if (pal == WEED_PALETTE_A1) dstwidth >>= 3; - dstwidth*=psize; + dstwidth *= psize; if (cdata->frame_height > cdata->height && height == cdata->height) { // host ignores vertical border - btop=0; - xheight=cdata->height; - bbot=xheight-1; + btop = 0; + xheight = cdata->height; + bbot = xheight - 1; } - if (cdata->frame_width > cdata->width && rowstrides[0] < cdata->frame_width*psize) { + if (cdata->frame_width > cdata->width && rowstrides[0] < cdata->frame_width * psize) { // host ignores horizontal border - bleft=bright=0; + bleft = bright = 0; } } //////////////////////////////////////////////////////////////////// - if (tframe!=priv->last_frame) { + if (tframe != priv->last_frame) { - if (priv->picture!=NULL) av_frame_unref(&priv->picture); - priv->picture=NULL; + if (priv->picture != NULL) av_frame_unref(&priv->picture); + priv->picture = NULL; - if (priv->last_frame==-1 || (tframe<priv->last_frame) || (tframe - priv->last_frame > rescan_limit)) { + if (priv->last_frame == -1 || (tframe < priv->last_frame) || (tframe - priv->last_frame > rescan_limit)) { - if (priv->avpkt.data!=NULL) free(priv->avpkt.data); - priv->avpkt.data=NULL; - priv->avpkt.size=0; + if (priv->avpkt.data != NULL) free(priv->avpkt.data); + priv->avpkt.data = NULL; + priv->avpkt.size = 0; pthread_mutex_lock(&priv->idxc->mutex); - if ((priv->kframe=get_idx_for_pts(cdata,target_pts-priv->start_dts))!=NULL) { - priv->input_position=priv->kframe->offs; - nextframe=dts_to_frame(cdata,priv->kframe->dts+priv->start_dts); - tfrag=priv->kframe->frag; - } else priv->input_position=priv->data_start; + if ((priv->kframe = get_idx_for_pts(cdata, target_pts - priv->start_dts)) != NULL) { + priv->input_position = priv->kframe->offs; + nextframe = dts_to_frame(cdata, priv->kframe->dts + priv->start_dts); + tfrag = priv->kframe->frag; + } else priv->input_position = priv->data_start; pthread_mutex_unlock(&priv->idxc->mutex); // we are now at the kframe before or at target - parse packets until we hit target //#define DEBUG_KFRAMES #ifdef DEBUG_KFRAMES - if (priv->kframe!=NULL) printf("got kframe %ld frag %d for frame %ld\n", - dts_to_frame(cdata,priv->kframe->dts+priv->start_dts),priv->kframe->frag,tframe); + if (priv->kframe != NULL) printf("got kframe %ld frag %d for frame %ld\n", + dts_to_frame(cdata, priv->kframe->dts + priv->start_dts), priv->kframe->frag, tframe); #endif avcodec_flush_buffers(priv->ctx); asf_reset_header(priv->s); - priv->black_fill=FALSE; + priv->black_fill = FALSE; } else { - nextframe=priv->last_frame+1; - tfrag=-1; + nextframe = priv->last_frame + 1; + tfrag = -1; } //priv->ctx->skip_frame=AVDISCARD_NONREF; - priv->last_frame=tframe; + priv->last_frame = tframe; // do this until we reach target frame ////////////// @@ -2777,26 +2777,26 @@ while (1) { int ret; - if (priv->avpkt.size==0) { - ret = get_next_video_packet(cdata,tfrag,-1); - if (ret<0) { + if (priv->avpkt.size == 0) { + ret = get_next_video_packet(cdata, tfrag, -1); + if (ret < 0) { free(priv->avpkt.data); - priv->avpkt.data=NULL; - priv->avpkt.size=0; - if (ret==-2) { + priv->avpkt.data = NULL; + priv->avpkt.size = 0; + if (ret == -2) { // EOF - if (pixel_data==NULL) return FALSE; - priv->black_fill=TRUE; + if (pixel_data == NULL) return FALSE; + priv->black_fill = TRUE; break; } - fprintf(stderr,"asf_decoder: got frame decode error %d at frame %ld\n",ret,nextframe+1); + fprintf(stderr, "asf_decoder: got frame decode error %d at frame %ld\n", ret, nextframe + 1); continue; } } // decode any frames from this packet - if (priv->picture==NULL) priv->picture=av_frame_alloc(); + if (priv->picture == NULL) priv->picture = av_frame_alloc(); #if LIBAVCODEC_VERSION_MAJOR >= 52 avcodec_decode_video2(priv->ctx, priv->picture, &got_picture, &priv->avpkt); @@ -2805,73 +2805,73 @@ #endif free(priv->avpkt.data); - priv->avpkt.data=NULL; - priv->avpkt.size=0; + priv->avpkt.data = NULL; + priv->avpkt.size = 0; - if (nextframe==tframe) hit_target=TRUE; + if (nextframe == tframe) hit_target = TRUE; - if (hit_target&&got_picture) break; + if (hit_target && got_picture) break; // otherwise discard this frame if (got_picture) { av_frame_unref(&priv->picture); - priv->picture=NULL; - tfrag=-1; + priv->picture = NULL; + tfrag = -1; nextframe++; } } } - if (priv->picture==NULL||pixel_data==NULL) return TRUE; + if (priv->picture == NULL || pixel_data == NULL) return TRUE; - if (priv->black_fill) btop=cdata->frame_height; + if (priv->black_fill) btop = cdata->frame_height; - for (p=0; p<nplanes; p++) { - dst=pixel_data[p]; - src=priv->picture->data[p]; + for (p = 0; p < nplanes; p++) { + dst = pixel_data[p]; + src = priv->picture->data[p]; - for (i=0; i<xheight; i++) { - if (i<btop||i>bbot) { + for (i = 0; i < xheight; i++) { + if (i < btop || i > bbot) { // top or bottom border, copy black row - if (pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_YUV422P||pal==WEED_PALETTE_YUV444P|| - pal==WEED_PALETTE_YUVA4444P||pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24) { - memset(dst,black[p],dstwidth+(bleft+bright)*psize); - dst+=dstwidth+(bleft+bright)*psize; - } else dst+=write_black_pixel(dst,pal,dstwidth/psize+bleft+bright,y_black); + if (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_YUV422P || pal == WEED_PALETTE_YUV444P || + pal == WEED_PALETTE_YUVA4444P || pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24) { + memset(dst, black[p], dstwidth + (bleft + bright)*psize); + dst += dstwidth + (bleft + bright) * psize; + } else dst += write_black_pixel(dst, pal, dstwidth / psize + bleft + bright, y_black); continue; } - if (bleft>0) { - if (pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_YUV422P||pal==WEED_PALETTE_YUV444P|| - pal==WEED_PALETTE_YUVA4444P||pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24) { - memset(dst,black[p],bleft*psize); - dst+=bleft*psize; - } else dst+=write_black_pixel(dst,pal,bleft,y_black); + if (bleft > 0) { + if (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_YUV422P || pal == WEED_PALETTE_YUV444P || + pal == WEED_PALETTE_YUVA4444P || pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24) { + memset(dst, black[p], bleft * psize); + dst += bleft * psize; + } else dst += write_black_pixel(dst, pal, bleft, y_black); } - memcpy(dst,src,dstwidth); - dst+=dstwidth; + memcpy(dst, src, dstwidth); + dst += dstwidth; - if (bright>0) { - if (pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_YUV422P||pal==WEED_PALETTE_YUV444P|| - pal==WEED_PALETTE_YUVA4444P||pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24) { - memset(dst,black[p],bright*psize); - dst+=bright*psize; - } else dst+=write_black_pixel(dst,pal,bright,y_black); + if (bright > 0) { + if (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_YUV422P || pal == WEED_PALETTE_YUV444P || + pal == WEED_PALETTE_YUVA4444P || pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24) { + memset(dst, black[p], bright * psize); + dst += bright * psize; + } else dst += write_black_pixel(dst, pal, bright, y_black); } - src+=priv->picture->linesize[p]; + src += priv->picture->linesize[p]; } - if (p==0&&(pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_YUV422P)) { - dstwidth>>=1; - bleft>>=1; - bright>>=1; + if (p == 0 && (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_YUV422P)) { + dstwidth >>= 1; + bleft >>= 1; + bright >>= 1; } - if (p==0&&(pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P)) { - xheight>>=1; - btop>>=1; - bbot>>=1; + if (p == 0 && (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P)) { + xheight >>= 1; + btop >>= 1; + bbot >>= 1; } } @@ -2882,17 +2882,17 @@ void clip_data_free(lives_clip_data_t *cdata) { - lives_asf_priv_t *priv=cdata->priv; + lives_asf_priv_t *priv = cdata->priv; - if (cdata->palettes!=NULL) free(cdata->palettes); - cdata->palettes=NULL; + if (cdata->palettes != NULL) free(cdata->palettes); + cdata->palettes = NULL; - if (priv->idxc!=NULL) + if (priv->idxc != NULL) idxc_release(cdata); - priv->idxc=NULL; + priv->idxc = NULL; - if (cdata->URI!=NULL) { + if (cdata->URI != NULL) { detach_stream(cdata); free(cdata->URI); }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/decoders/asf_decoder.h -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/decoders/asf_decoder.h
Changed
@@ -19,8 +19,6 @@ // based on code (c) FFMpeg team - - typedef uint8_t lives_asf_guid[16]; const lives_asf_guid lives_asf_header = { @@ -135,7 +133,6 @@ 0xfc, 0xb3, 0x11, 0x22, 0x23, 0xbd, 0xd2, 0x11, 0xb4, 0xb7, 0x00, 0xa0, 0xc9, 0x55, 0xfc, 0x6e }; - static const lives_asf_guid index_guid = { 0x90, 0x08, 0x00, 0x33, 0xb1, 0xe5, 0xcf, 0x11, 0x89, 0xf4, 0x00, 0xa0, 0xc9, 0x03, 0x49, 0xcb }; @@ -144,10 +141,6 @@ 0xce, 0x75, 0xf8, 0x7b, 0x8d, 0x46, 0xd1, 0x11, 0x8d, 0x82, 0x00, 0x60, 0x97, 0xc9, 0xa2, 0xb2 }; - - - - /* List of official tags at http://msdn.microsoft.com/en-us/library/dd743066(VS.85).aspx */ /*const AVMetadataConv lives_asf_metadata_conv[] = { { "WM/AlbumArtist" , "album_artist"}, @@ -169,11 +162,8 @@ { 0 } };*/ - - #define ASF_PROBE_SIZE 16 - #define PACKET_SIZE 3200 typedef struct { @@ -195,10 +185,8 @@ int palette_changed; uint32_t palette[256]; - } ASFStream; - typedef struct { lives_asf_guid guid; ///< generated by client computer uint64_t file_size; /**< in bytes @@ -224,13 +212,11 @@ * individual media streams */ } ASFMainHeader; - typedef struct { uint32_t packet_number; uint16_t packet_count; } ASFIndex; - typedef struct { uint32_t seqno; int is_streamed; @@ -277,7 +263,6 @@ int stream_index; - int64_t last_indexed_pts; ASFIndex *index_ptr; uint32_t nb_index_count; @@ -287,7 +272,6 @@ ASFStream *asf_st; ///< currently decoded stream } ASFContext; - #define FRAME_HEADER_SIZE 17 typedef struct _index_entry index_entry; @@ -299,7 +283,6 @@ uint8_t frag; ///< fragment number (counting only video fragments) }; - typedef struct { index_entry *idx; ///< linked list of index (keyframes) @@ -308,8 +291,6 @@ pthread_mutex_t mutex; } index_container_t; - - typedef struct { int fd; ///< file handle 208 477373 22415 108fat32 int64_t input_position; /// current or next input postion @@ -335,7 +316,7 @@ int fragnum; ///< current fragment number } lives_asf_priv_t; - +#ifndef GET_UTF16 #define GET_UTF16(val, GET_16BIT, ERROR) \ val = GET_16BIT; \ { \ @@ -344,11 +325,12 @@ val = GET_16BIT - 0xDC00; \ if (val > 0x3FFU || hi > 0x3FFU) \ ERROR \ - val += (hi<<10) + 0x10000; \ + val += (hi << 10) + 0x10000; \ } \ - } \ - + } +#endif +#ifndef PUT_UTF8 #define PUT_UTF8(val, tmp, PUT_BYTE) \ { \ int bytes, shift; \ @@ -368,19 +350,19 @@ } \ } \ } +#endif - +#ifndef DO_2BITS #define DO_2BITS(bits, var, defval) \ switch (bits & 3) \ { \ - int dummy=0; \ - case 3: dummy=read(priv->fd,buffer,4); var = get_le32int(buffer); priv->input_position+=4; rsize+=4; break; \ - case 2: dummy=read (priv->fd,buffer,2); var = get_le16int(buffer); priv->input_position+=2; rsize+=2; break; \ - case 1: dummy=read (priv->fd,buffer,1); var = *buffer; priv->input_position++; rsize++; break; \ - default: var = defval; dummy=dummy; break; \ + int dummy = 0; \ + case 3: dummy = read(priv->fd, buffer, 4); var = get_le32int(buffer); priv->input_position += 4; rsize += 4; break; \ + case 2: dummy = read(priv->fd, buffer, 2); var = get_le16int(buffer); priv->input_position += 2; rsize += 2; break; \ + case 1: dummy = read(priv->fd, buffer, 1); var = *buffer; priv->input_position++; rsize++; break; \ + default: var = defval; dummy = dummy; break; \ } - - +#endif index_entry *index_upto(const lives_clip_data_t *, int pts);
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/decoders/avformat_decoder.c -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/decoders/avformat_decoder.c
Changed
@@ -45,12 +45,12 @@ #include "avformat_decoder.h" -const char *plugin_version="LiVES avformat decoder version 1.0"; +const char *plugin_version = "LiVES avformat decoder version 1.0"; -static pthread_mutex_t avcodec_mutex=PTHREAD_MUTEX_INITIALIZER; +static pthread_mutex_t avcodec_mutex = PTHREAD_MUTEX_INITIALIZER; #define FAST_SEEK_LIMIT 50000 // microseconds (default 0.1 sec) -#define NO_SEEK_LIMIT 1000000 // microseconds +#define NO_SEEK_LIMIT 2000000 // microseconds #define LNO_SEEK_LIMIT 10000000 // microseconds #define SEEK_SUCCESS_MIN_RATIO 0.5 // how many frames we can seek to vs. suggested duration @@ -67,11 +67,11 @@ static int stream_peek(int fd, unsigned char *str, size_t len) { - off_t cpos=lseek(fd,0,SEEK_CUR); // get current posn - int rv= pread(fd,str,len,cpos); // read len bytes without changing cpos + off_t cpos = lseek(fd, 0, SEEK_CUR); // get current posn + int rv = pread(fd, str, len, cpos); // read len bytes without changing cpos - if (rv==-1) { - fprintf(stderr,"err is %d\n",errno); + if (rv == -1) { + fprintf(stderr, "err is %d\n", errno); } return rv; } @@ -81,104 +81,104 @@ void get_samps_and_signed(enum AVSampleFormat sfmt, int *asamps, boolean *asigned) { - *asamps=av_get_bits_per_sample(sfmt); + *asamps = av_get_bits_per_sample(sfmt); switch (sfmt) { case AV_SAMPLE_FMT_U8: - *asigned=FALSE; + *asigned = FALSE; break; default: - *asigned=TRUE; + *asigned = TRUE; } } static int64_t get_current_ticks(void) { struct timeval tv; gettimeofday(&tv, NULL); - return tv.tv_sec*1000000+tv.tv_usec; + return tv.tv_sec * 1000000 + tv.tv_usec; } static int64_t get_real_last_frame(lives_clip_data_t *cdata, boolean allow_longer_seek) { - int64_t diff=0; - int64_t olframe=(cdata->nframes==0?0:cdata->nframes-1),lframe=olframe; - int64_t timex,tottime=0; + int64_t diff = 0; + int64_t olframe = (cdata->nframes == 0 ? 0 : cdata->nframes - 1), lframe = olframe; + int64_t timex, tottime = 0; - int nseeks=0; + int nseeks = 0; - long no_seek_limit=NO_SEEK_LIMIT; + long no_seek_limit = NO_SEEK_LIMIT; - if (allow_longer_seek) no_seek_limit=LNO_SEEK_LIMIT; + if (allow_longer_seek) no_seek_limit = LNO_SEEK_LIMIT; - cdata->seek_flag=LIVES_SEEK_FAST; + cdata->seek_flag = LIVES_SEEK_FAST; while (1) { nseeks++; // #define DEBUG_RLF #ifdef DEBUG_RLF - fprintf(stderr,"will check frame %ld of %ld...",lframe+1,cdata->nframes); + fprintf(stderr, "will check frame %ld of %ld...", lframe + 1, cdata->nframes); #endif - timex=get_current_ticks(); - if (!get_frame(cdata,lframe,NULL,0,NULL)) { - timex=get_current_ticks()-timex; + timex = get_current_ticks(); + if (!get_frame(cdata, lframe, NULL, 0, NULL)) { + timex = get_current_ticks() - timex; - if (timex>no_seek_limit) { + if (timex > no_seek_limit) { //#ifdef DEBUG_RLF - fprintf(stderr,"avcodec_decoder: seek was %ld, longer than limit of %d; giving up.\n",timex,NO_SEEK_LIMIT); + fprintf(stderr, "avcodec_decoder: seek was %ld, longer than limit of %d; giving up.\n", timex, NO_SEEK_LIMIT); //#endif return -1; } #ifdef DEBUG_RLF - fprintf(stderr,"no (%ld)\n",timex); + fprintf(stderr, "no (%ld)\n", timex); #endif - if (diff==1) { - tottime/=nseeks; + if (diff == 1) { + tottime /= nseeks; #ifdef DEBUG_RLF - fprintf(stderr,"av positive seek was %ld\n",tottime); + fprintf(stderr, "av positive seek was %ld\n", tottime); #endif - return lframe-1; + return lframe - 1; } - if (diff<0) diff*=2; - else if (diff==0) diff=-1; - else diff/=2; - lframe=olframe+diff; - if (lframe<0) { - diff=olframe; - lframe=0; - if (diff==0) diff=1; + if (diff < 0) diff *= 2; + else if (diff == 0) diff = -1; + else diff /= 2; + lframe = olframe + diff; + if (lframe < 0) { + diff = olframe; + lframe = 0; + if (diff == 0) diff = 1; } } else { - timex=get_current_ticks()-timex; + timex = get_current_ticks() - timex; - if (timex>NO_SEEK_LIMIT) { + if (timex > NO_SEEK_LIMIT) { //#ifdef DEBUG_RLF - fprintf(stderr,"avcodec_decoder: seek was %ld, longer than limit of %d; giving up.\n",timex,NO_SEEK_LIMIT); + fprintf(stderr, "avcodec_decoder: seek was %ld, longer than limit of %d; giving up.\n", timex, NO_SEEK_LIMIT); //#endif return -1; } - if (timex>FAST_SEEK_LIMIT) - cdata->seek_flag=LIVES_SEEK_NEEDS_CALCULATION; + if (timex > FAST_SEEK_LIMIT) + cdata->seek_flag = LIVES_SEEK_NEEDS_CALCULATION; - tottime+=timex; + tottime += timex; #ifdef DEBUG_RLF - fprintf(stderr,"yes ! (%ld)\n",timex); + fprintf(stderr, "yes ! (%ld)\n", timex); #endif - if (diff<2&&diff>-4) { - tottime/=nseeks; + if (diff < 2 && diff > -4) { + tottime /= nseeks; #ifdef DEBUG_RLF - fprintf(stderr,"av seek was %ld\n",tottime); + fprintf(stderr, "av seek was %ld\n", tottime); #endif - if (tottime>FAST_SEEK_LIMIT) - cdata->seek_flag|=LIVES_SEEK_NEEDS_CALCULATION; + if (tottime > FAST_SEEK_LIMIT) + cdata->seek_flag |= LIVES_SEEK_NEEDS_CALCULATION; return lframe; } - diff/=2; - if (diff<0) diff=-diff/2; - olframe=lframe; - lframe+=diff; + diff /= 2; + if (diff < 0) diff = -diff / 2; + olframe = lframe; + lframe += diff; } } } @@ -186,8 +186,8 @@ static boolean attach_stream(lives_clip_data_t *cdata, boolean isclone) { // open the file and get a handle - lives_av_priv_t *priv=cdata->priv; - AVProbeData pd= {0}; + lives_av_priv_t *priv = cdata->priv; + AVProbeData pd = {0}; AVInputFormat *fmt; AVCodec *vdecoder; @@ -195,33 +195,33 @@ AVStream *s; AVCodecContext *cc; - int64_t i_start_time=0; + int64_t i_start_time = 0; - boolean is_partial_clone=FALSE; + boolean is_partial_clone = FALSE; register int i; - if (isclone&&!priv->inited) { - isclone=FALSE; - if (cdata->fps>0.&&cdata->nframes>0) - is_partial_clone=TRUE; - else priv->longer_seek=TRUE; + if (isclone && !priv->inited) { + isclone = FALSE; + if (cdata->fps > 0. && cdata->nframes > 0) + is_partial_clone = TRUE; + else priv->longer_seek = TRUE; } - if ((priv->fd=open(cdata->URI,O_RDONLY))==-1) { - fprintf(stderr, "avformat_decoder: unable to open %s\n",cdata->URI); + if ((priv->fd = open(cdata->URI, O_RDONLY)) == -1) { + fprintf(stderr, "avformat_decoder: unable to open %s\n", cdata->URI); return FALSE; } if (isclone) goto skip_probe; - pd.filename=cdata->URI; + pd.filename = cdata->URI; - pd.buf=calloc(128,32); + pd.buf = calloc(128, 32); - if ((pd.buf_size=stream_peek(priv->fd,pd.buf,AVPROBE_PADDING_SIZE))<AVPROBE_PADDING_SIZE) { - fprintf(stderr, "couldn't peek stream %d\n",pd.buf_size); + if ((pd.buf_size = stream_peek(priv->fd, pd.buf, AVPROBE_PADDING_SIZE)) < AVPROBE_PADDING_SIZE) { + fprintf(stderr, "couldn't peek stream %d\n", pd.buf_size); return FALSE; } @@ -238,7 +238,7 @@ } /* Don't trigger false alarms on bin files */ - if (! strcmp(fmt->name, "psxstr")) { + if (!strcmp(fmt->name, "psxstr")) { int i_len; i_len = strlen(cdata->URI); if (i_len < 4) return FALSE; @@ -252,19 +252,19 @@ fprintf(stderr, "avformat detected format: %s\n", fmt->name); - priv->fmt=fmt; - priv->inited=TRUE; + priv->fmt = fmt; + priv->inited = TRUE; skip_probe: - priv->ic=NULL; + priv->ic = NULL; - priv->found_pts=-1; + priv->found_pts = -1; - priv->last_frame=-1; - priv->black_fill=FALSE; + priv->last_frame = -1; + priv->black_fill = FALSE; - priv->needs_packet=TRUE; + priv->needs_packet = TRUE; /* Open it */ if (avformat_open_input(&priv->ic, cdata->URI, priv->fmt, NULL)) { @@ -272,7 +272,7 @@ return FALSE; } - if (priv->ic->pb==NULL) { + if (priv->ic->pb == NULL) { fprintf(stderr, "avformat stream not video\n"); return FALSE; } @@ -289,37 +289,37 @@ lives_avcodec_unlock(); if (isclone) { - i=priv->vstream; + i = priv->vstream; goto skip_init; } // fill cdata - cdata->nclips=1; + cdata->nclips = 1; - cdata->interlace=LIVES_INTERLACE_NONE; // TODO - this is set per frame + cdata->interlace = LIVES_INTERLACE_NONE; // TODO - this is set per frame - cdata->par=1.; - cdata->offs_x=0; - cdata->offs_y=0; - cdata->frame_width=cdata->width=0; - cdata->frame_height=cdata->height=0; + cdata->par = 1.; + cdata->offs_x = 0; + cdata->offs_y = 0; + cdata->frame_width = cdata->width = 0; + cdata->frame_height = cdata->height = 0; if (!is_partial_clone) { - cdata->nframes=0; - cdata->fps=0.; + cdata->nframes = 0; + cdata->fps = 0.; } - sprintf(cdata->container_name,"%s",priv->ic->iformat->name); + sprintf(cdata->container_name, "%s", priv->ic->iformat->name); - memset(cdata->video_name,0,1); - memset(cdata->audio_name,0,1); + memset(cdata->video_name, 0, 1); + memset(cdata->audio_name, 0, 1); - cdata->achans=cdata->asamps=cdata->arate=0; + cdata->achans = cdata->asamps = cdata->arate = 0; - cdata->asigned=FALSE; - cdata->ainterleaf=TRUE; + cdata->asigned = FALSE; + cdata->ainterleaf = TRUE; for (i = 0; i < priv->ic->nb_streams; i++) { @@ -330,13 +330,13 @@ #ifdef API_3_1 cc = avcodec_alloc_context3(NULL); if (!cc) { - fprintf(stderr,"avcodec_decoder: out of memory\n"); + fprintf(stderr, "avcodec_decoder: out of memory\n"); return FALSE; } ret = avcodec_parameters_to_context(cc, s->codecpar); if (ret < 0) { - fprintf(stderr,"avcodec_decoder: avparms to context failed\n"); + fprintf(stderr, "avcodec_decoder: avparms to context failed\n"); return FALSE; } @@ -352,7 +352,7 @@ switch (cc->codec_type) { case AVMEDIA_TYPE_AUDIO: - if (priv->astream!=-1) { + if (priv->astream != -1) { fprintf(stderr, "Warning - got multiple audio streams\n"); break; } @@ -366,28 +366,28 @@ cdata->asamps = cc->bits_per_coded_sample; #endif - get_samps_and_signed(cc->sample_fmt,&cdata->asamps,&cdata->asigned); + get_samps_and_signed(cc->sample_fmt, &cdata->asamps, &cdata->asigned); - sprintf(cdata->audio_name,"%s",cc->codec_name); + sprintf(cdata->audio_name, "%s", cc->codec_name); - priv->astream=i; + priv->astream = i; break; case AVMEDIA_TYPE_VIDEO: - if (!isclone && priv->vstream!=-1) { + if (!isclone && priv->vstream != -1) { fprintf(stderr, "Warning - got multiple video streams\n"); break; } - vdecoder=avcodec_find_decoder(cc->codec_id); + vdecoder = avcodec_find_decoder(cc->codec_id); avcodec_open2(cc, vdecoder, NULL); if (isclone) return TRUE; - cdata->frame_width=cdata->width = cc->width; - cdata->frame_height=cdata->height = cc->height; + cdata->frame_width = cdata->width = cc->width; + cdata->frame_height = cdata->height = cc->height; /*if( cc->palctrl ) @@ -397,55 +397,55 @@ }*/ - cdata->YUV_subspace=WEED_YUV_SUBSPACE_YCBCR; - cdata->YUV_sampling=WEED_YUV_SAMPLING_DEFAULT; + cdata->YUV_subspace = WEED_YUV_SUBSPACE_YCBCR; + cdata->YUV_sampling = WEED_YUV_SAMPLING_DEFAULT; - cdata->palettes[0]=avi_pix_fmt_to_weed_palette(cc->pix_fmt,&cdata->YUV_clamping); - cdata->palettes[1]=WEED_PALETTE_END; + cdata->palettes[0] = avi_pix_fmt_to_weed_palette(cc->pix_fmt, &cdata->YUV_clamping); + cdata->palettes[1] = WEED_PALETTE_END; - if (cdata->palettes[0]==WEED_PALETTE_END) { - fprintf(stderr,"avcodec_decoder: no usable palette found (%d)\n",cc->pix_fmt); + if (cdata->palettes[0] == WEED_PALETTE_END) { + fprintf(stderr, "avcodec_decoder: no usable palette found (%d)\n", cc->pix_fmt); return FALSE; } - sprintf(cdata->video_name,"%s",cc->codec_name); + sprintf(cdata->video_name, "%s", cc->codec_name); - cdata->par=cc->sample_aspect_ratio.num/cc->sample_aspect_ratio.den; - if (cdata->par==0) cdata->par=1; + cdata->par = cc->sample_aspect_ratio.num / cc->sample_aspect_ratio.den; + if (cdata->par == 0) cdata->par = 1; - priv->fps_avg=FALSE; + priv->fps_avg = FALSE; - if (cdata->fps==0.) { - cdata->fps=s->time_base.den/s->time_base.num; - if (cdata->fps>=1000.||cdata->fps==0.) { - cdata->fps=(float)s->avg_frame_rate.num/(float)s->avg_frame_rate.den; - priv->fps_avg=TRUE; + if (cdata->fps == 0.) { + cdata->fps = s->time_base.den / s->time_base.num; + if (cdata->fps >= 1000. || cdata->fps == 0.) { + cdata->fps = (float)s->avg_frame_rate.num / (float)s->avg_frame_rate.den; + priv->fps_avg = TRUE; if (isnan(cdata->fps)) { - cdata->fps=s->time_base.den/s->time_base.num; - priv->fps_avg=FALSE; + cdata->fps = s->time_base.den / s->time_base.num; + priv->fps_avg = FALSE; } } } - priv->ctx=cc; + priv->ctx = cc; - if (priv->ctx->ticks_per_frame==2) { + if (priv->ctx->ticks_per_frame == 2) { // needs checking - cdata->interlace=LIVES_INTERLACE_BOTTOM_FIRST; + cdata->interlace = LIVES_INTERLACE_BOTTOM_FIRST; } #ifdef DEBUG - fprintf(stderr,"fps is %.4f %d %d %d %d %d\n",cdata->fps,s->time_base.den,s->time_base.num,cc->time_base.den,cc->time_base.num, + fprintf(stderr, "fps is %.4f %d %d %d %d %d\n", cdata->fps, s->time_base.den, s->time_base.num, cc->time_base.den, cc->time_base.num, priv->ctx->ticks_per_frame); #endif - if (cdata->nframes==0) { - if (priv->ic->duration!=(int64_t)AV_NOPTS_VALUE) - cdata->nframes=((double)priv->ic->duration/(double)AV_TIME_BASE * cdata->fps - .5); - if ((cdata->nframes==0||cdata->fps==1000.)&&s->nb_frames>1) cdata->nframes=s->nb_frames; + if (cdata->nframes == 0) { + if (priv->ic->duration != (int64_t)AV_NOPTS_VALUE) + cdata->nframes = ((double)priv->ic->duration / (double)AV_TIME_BASE * cdata->fps - .5); + if ((cdata->nframes == 0 || cdata->fps == 1000.) && s->nb_frames > 1) cdata->nframes = s->nb_frames; } - priv->vstream=i; + priv->vstream = i; break; @@ -607,8 +607,8 @@ } } - if (priv->vstream==-1) { - fprintf(stderr,"avcodec_decoder: no video stream found\n"); + if (priv->vstream == -1) { + fprintf(stderr, "avcodec_decoder: no video stream found\n"); return FALSE; } @@ -658,31 +658,31 @@ static void detach_stream(lives_clip_data_t *cdata) { // close the file, free the decoder - lives_av_priv_t *priv=cdata->priv; - if (priv->fd>-1) close(priv->fd); + lives_av_priv_t *priv = cdata->priv; + if (priv->fd > -1) close(priv->fd); // will close and free the context - if (priv->ic !=NULL) { + if (priv->ic != NULL) { avformat_close_input(&priv->ic); } - if (cdata->palettes!=NULL) free(cdata->palettes); - cdata->palettes=NULL; + if (cdata->palettes != NULL) free(cdata->palettes); + cdata->palettes = NULL; - priv->ctx=NULL; + priv->ctx = NULL; if (!priv->needs_packet) av_packet_unref(&priv->packet); - if (priv->pFrame!=NULL) { + if (priv->pFrame != NULL) { av_frame_unref(&priv->pFrame); - priv->pFrame=NULL; + priv->pFrame = NULL; } - priv->ic=NULL; + priv->ic = NULL; - priv->astream=-1; - priv->vstream=-1; + priv->astream = -1; + priv->vstream = -1; } @@ -708,38 +708,38 @@ static lives_clip_data_t *init_cdata(void) { lives_av_priv_t *priv; - lives_clip_data_t *cdata=(lives_clip_data_t *)malloc(sizeof(lives_clip_data_t)); + lives_clip_data_t *cdata = (lives_clip_data_t *)malloc(sizeof(lives_clip_data_t)); - cdata->palettes=malloc(2*sizeof(int)); + cdata->palettes = malloc(2 * sizeof(int)); - cdata->palettes[1]=WEED_PALETTE_END; + cdata->palettes[1] = WEED_PALETTE_END; - cdata->URI=NULL; + cdata->URI = NULL; - cdata->priv=priv=malloc(sizeof(lives_av_priv_t)); + cdata->priv = priv = malloc(sizeof(lives_av_priv_t)); - priv->fd=-1; + priv->fd = -1; - priv->ic=NULL; + priv->ic = NULL; - priv->astream=-1; - priv->vstream=-1; + priv->astream = -1; + priv->vstream = -1; - priv->inited=FALSE; - priv->longer_seek=FALSE; + priv->inited = FALSE; + priv->longer_seek = FALSE; - cdata->seek_flag=0; + cdata->seek_flag = 0; - priv->ctx=NULL; - priv->pFrame=NULL; + priv->ctx = NULL; + priv->pFrame = NULL; - cdata->sync_hint=SYNC_HINT_AUDIO_PAD_START; + cdata->sync_hint = SYNC_HINT_AUDIO_PAD_START; - cdata->video_start_time=0.; + cdata->video_start_time = 0.; - memset(cdata->author,0,1); - memset(cdata->title,0,1); - memset(cdata->comment,0,1); + memset(cdata->author, 0, 1); + memset(cdata->title, 0, 1); + memset(cdata->comment, 0, 1); return cdata; } @@ -747,70 +747,70 @@ static lives_clip_data_t *avf_clone(lives_clip_data_t *cdata) { - lives_clip_data_t *clone=init_cdata(); - lives_av_priv_t *dpriv,*spriv; + lives_clip_data_t *clone = init_cdata(); + lives_av_priv_t *dpriv, *spriv; // copy from cdata to clone, with a new context for clone - clone->URI=strdup(cdata->URI); - clone->nclips=cdata->nclips; - snprintf(clone->container_name,512,"%s",cdata->container_name); - clone->current_clip=cdata->current_clip; - clone->width=cdata->width; - clone->height=cdata->height; - clone->nframes=cdata->nframes; - clone->interlace=cdata->interlace; - clone->offs_x=cdata->offs_x; - clone->offs_y=cdata->offs_y; - clone->frame_width=cdata->frame_width; - clone->frame_height=cdata->frame_height; - clone->par=cdata->par; - clone->fps=cdata->fps; - if (cdata->palettes!=NULL) clone->palettes[0]=cdata->palettes[0]; - clone->current_palette=cdata->current_palette; - clone->YUV_sampling=cdata->YUV_sampling; - clone->YUV_clamping=cdata->YUV_clamping; - snprintf(clone->video_name,512,"%s",cdata->video_name); - clone->arate=cdata->arate; - clone->achans=cdata->achans; - clone->asamps=cdata->asamps; - clone->asigned=cdata->asigned; - clone->ainterleaf=cdata->ainterleaf; - snprintf(clone->audio_name,512,"%s",cdata->audio_name); - clone->seek_flag=cdata->seek_flag; - clone->sync_hint=cdata->sync_hint; - - snprintf(clone->author,256,"%s",cdata->author); - snprintf(clone->title,256,"%s",cdata->title); - snprintf(clone->comment,256,"%s",cdata->comment); + clone->URI = strdup(cdata->URI); + clone->nclips = cdata->nclips; + snprintf(clone->container_name, 512, "%s", cdata->container_name); + clone->current_clip = cdata->current_clip; + clone->width = cdata->width; + clone->height = cdata->height; + clone->nframes = cdata->nframes; + clone->interlace = cdata->interlace; + clone->offs_x = cdata->offs_x; + clone->offs_y = cdata->offs_y; + clone->frame_width = cdata->frame_width; + clone->frame_height = cdata->frame_height; + clone->par = cdata->par; + clone->fps = cdata->fps; + if (cdata->palettes != NULL) clone->palettes[0] = cdata->palettes[0]; + clone->current_palette = cdata->current_palette; + clone->YUV_sampling = cdata->YUV_sampling; + clone->YUV_clamping = cdata->YUV_clamping; + snprintf(clone->video_name, 512, "%s", cdata->video_name); + clone->arate = cdata->arate; + clone->achans = cdata->achans; + clone->asamps = cdata->asamps; + clone->asigned = cdata->asigned; + clone->ainterleaf = cdata->ainterleaf; + snprintf(clone->audio_name, 512, "%s", cdata->audio_name); + clone->seek_flag = cdata->seek_flag; + clone->sync_hint = cdata->sync_hint; + + snprintf(clone->author, 256, "%s", cdata->author); + snprintf(clone->title, 256, "%s", cdata->title); + snprintf(clone->comment, 256, "%s", cdata->comment); // create "priv" elements - dpriv=clone->priv; - spriv=cdata->priv; + dpriv = clone->priv; + spriv = cdata->priv; - if (spriv!=NULL) { - dpriv->vstream=spriv->vstream; - dpriv->astream=spriv->astream; + if (spriv != NULL) { + dpriv->vstream = spriv->vstream; + dpriv->astream = spriv->astream; - dpriv->fps_avg=spriv->fps_avg; + dpriv->fps_avg = spriv->fps_avg; - dpriv->fmt=spriv->fmt; - dpriv->inited=TRUE; + dpriv->fmt = spriv->fmt; + dpriv->inited = TRUE; } - if (!attach_stream(clone,TRUE)) { + if (!attach_stream(clone, TRUE)) { free(clone->URI); - clone->URI=NULL; + clone->URI = NULL; clip_data_free(clone); return NULL; } - if (spriv==NULL) { - clone->current_palette=clone->palettes[0]; - clone->current_clip=0; - dpriv->last_frame=1000000000; + if (spriv == NULL) { + clone->current_palette = clone->palettes[0]; + clone->current_clip = 0; + dpriv->last_frame = 1000000000; } - dpriv->pFrame=NULL; + dpriv->pFrame = NULL; return clone; } @@ -827,81 +827,81 @@ lives_av_priv_t *priv; - if (URI==NULL&&cdata!=NULL) { + if (URI == NULL && cdata != NULL) { // create a clone of cdata - we also need to be able to handle a "fake" clone with only URI, nframes and fps set (priv == NULL) - cdata=avf_clone(cdata); - priv=cdata->priv; + cdata = avf_clone(cdata); + priv = cdata->priv; if (priv->longer_seek) goto rescan; return cdata; } - if (cdata!=NULL&&cdata->current_clip>0) { + if (cdata != NULL && cdata->current_clip > 0) { // currently we only support one clip per container clip_data_free(cdata); return NULL; } - if (cdata==NULL) { - cdata=init_cdata(); + if (cdata == NULL) { + cdata = init_cdata(); } - if (cdata->URI==NULL||strcmp(URI,cdata->URI)) { - if (cdata->URI!=NULL) { + if (cdata->URI == NULL || strcmp(URI, cdata->URI)) { + if (cdata->URI != NULL) { detach_stream(cdata); free(cdata->URI); } - cdata->URI=strdup(URI); - if (!attach_stream(cdata,FALSE)) { + cdata->URI = strdup(URI); + if (!attach_stream(cdata, FALSE)) { detach_stream(cdata); free(cdata->URI); - cdata->URI=NULL; + cdata->URI = NULL; clip_data_free(cdata); return NULL; } - cdata->current_palette=cdata->palettes[0]; - cdata->current_clip=0; - priv=cdata->priv; - priv->last_frame=1000000000; - priv->pFrame=NULL; + cdata->current_palette = cdata->palettes[0]; + cdata->current_clip = 0; + priv = cdata->priv; + priv->last_frame = 1000000000; + priv->pFrame = NULL; } rescan: - priv=cdata->priv; + priv = cdata->priv; - real_frames=get_real_last_frame(cdata,priv->longer_seek)+1; + real_frames = get_real_last_frame(cdata, priv->longer_seek) + 1; - if (cdata->nframes>100&&real_frames<cdata->nframes*SEEK_SUCCESS_MIN_RATIO) { + if (cdata->nframes > 100 && real_frames < cdata->nframes * SEEK_SUCCESS_MIN_RATIO) { fprintf(stderr, "avformat_decoder: ERROR - could only seek to %ld frames out of %ld\navformat_decoder: I will pass on this file as it may be broken.\n", - real_frames,cdata->nframes); + real_frames, cdata->nframes); detach_stream(cdata); free(cdata->URI); - cdata->URI=NULL; + cdata->URI = NULL; clip_data_free(cdata); return NULL; } - if (real_frames<=0) { + if (real_frames <= 0) { fprintf(stderr, "avformat_decoder: ERROR - could not find the last frame\navformat_decoder: I will pass on this file as it may be broken.\n"); detach_stream(cdata); free(cdata->URI); - cdata->URI=NULL; + cdata->URI = NULL; clip_data_free(cdata); return NULL; } - priv=cdata->priv; + priv = cdata->priv; - if (priv->fps_avg&&cdata->nframes>1) { + if (priv->fps_avg && cdata->nframes > 1) { //cdata->fps=cdata->fps*(cdata->nframes-1.)/(float)real_frames; } - cdata->nframes=real_frames; + cdata->nframes = real_frames; - if (priv->pFrame!=NULL) av_frame_unref(&priv->pFrame); - priv->pFrame=NULL; + if (priv->pFrame != NULL) av_frame_unref(&priv->pFrame); + priv->pFrame = NULL; return cdata; } @@ -909,52 +909,52 @@ static size_t write_black_pixel(unsigned char *idst, int pal, int npixels, int y_black) { - unsigned char *dst=idst; + unsigned char *dst = idst; register int i; - for (i=0; i<npixels; i++) { + for (i = 0; i < npixels; i++) { switch (pal) { case WEED_PALETTE_RGBA32: case WEED_PALETTE_BGRA32: - dst[0]=dst[1]=dst[2]=0; - dst[3]=255; - dst+=4; + dst[0] = dst[1] = dst[2] = 0; + dst[3] = 255; + dst += 4; break; case WEED_PALETTE_ARGB32: - dst[1]=dst[2]=dst[3]=0; - dst[0]=255; - dst+=4; + dst[1] = dst[2] = dst[3] = 0; + dst[0] = 255; + dst += 4; break; case WEED_PALETTE_UYVY8888: - dst[1]=dst[3]=y_black; - dst[0]=dst[2]=128; - dst+=4; + dst[1] = dst[3] = y_black; + dst[0] = dst[2] = 128; + dst += 4; break; case WEED_PALETTE_YUYV8888: - dst[0]=dst[2]=y_black; - dst[1]=dst[3]=128; - dst+=4; + dst[0] = dst[2] = y_black; + dst[1] = dst[3] = 128; + dst += 4; break; case WEED_PALETTE_YUV888: - dst[0]=y_black; - dst[1]=dst[2]=128; - dst+=3; + dst[0] = y_black; + dst[1] = dst[2] = 128; + dst += 3; break; case WEED_PALETTE_YUVA8888: - dst[0]=y_black; - dst[1]=dst[2]=128; - dst[3]=255; - dst+=4; + dst[0] = y_black; + dst[1] = dst[2] = 128; + dst[3] = 255; + dst += 4; break; case WEED_PALETTE_YUV411: - dst[0]=dst[3]=128; - dst[1]=dst[2]=dst[4]=dst[5]=y_black; - dst+=6; + dst[0] = dst[3] = 128; + dst[1] = dst[2] = dst[4] = dst[5] = y_black; + dst += 6; default: break; } } - return idst-dst; + return idst - dst; } @@ -968,46 +968,46 @@ // tframe starts at 0 - lives_av_priv_t *priv=cdata->priv; + lives_av_priv_t *priv = cdata->priv; double time; AVStream *s = priv->ic->streams[priv->vstream]; AVCodecContext *cc; - int64_t target_pts, MyPts, seek_target=10000000000; + int64_t target_pts, MyPts, seek_target = 10000000000; int64_t timex; unsigned char *dst, *src; - unsigned char black[4]= {0,0,0,255}; + unsigned char black[4] = {0, 0, 0, 255}; - boolean hit_target=FALSE; + boolean hit_target = FALSE; int gotFrame; - int xheight=cdata->frame_height,pal=cdata->current_palette,nplanes=1,dstwidth=cdata->width,psize=1; - int btop=cdata->offs_y,bbot=xheight-1-btop; - int bleft=cdata->offs_x,bright=cdata->frame_width-cdata->width-bleft; - int y_black=(cdata->YUV_clamping==WEED_YUV_CLAMPING_CLAMPED)?16:0; + int xheight = cdata->frame_height, pal = cdata->current_palette, nplanes = 1, dstwidth = cdata->width, psize = 1; + int btop = cdata->offs_y, bbot = xheight - 1 - btop; + int bleft = cdata->offs_x, bright = cdata->frame_width - cdata->width - bleft; + int y_black = (cdata->YUV_clamping == WEED_YUV_CLAMPING_CLAMPED) ? 16 : 0; int ret; int jump_frames; - register int p,i; + register int p, i; - if (tframe<0||tframe>=cdata->nframes||cdata->fps==0.) return FALSE; + if (tframe < 0 || tframe >= cdata->nframes || cdata->fps == 0.) return FALSE; #ifdef API_3_1 cc = avcodec_alloc_context3(NULL); if (!cc) { - fprintf(stderr,"avcodec_decoder: out of memory\n"); + fprintf(stderr, "avcodec_decoder: out of memory\n"); return FALSE; } ret = avcodec_parameters_to_context(cc, s->codecpar); if (ret < 0) { - fprintf(stderr,"avcodec_decoder: avparms to context failed\n"); + fprintf(stderr, "avcodec_decoder: avparms to context failed\n"); return FALSE; } @@ -1019,87 +1019,87 @@ //cc->get_buffer = our_get_buffer; //cc->release_buffer = our_release_buffer; - timex=get_current_ticks(); + timex = get_current_ticks(); - if (pixel_data!=NULL) { + if (pixel_data != NULL) { // calc frame width and height, including any border - if (pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_YUV422P||pal==WEED_PALETTE_YUV444P) { - nplanes=3; - black[0]=y_black; - black[1]=black[2]=128; - } else if (pal==WEED_PALETTE_YUVA4444P) { - nplanes=4; - black[0]=y_black; - black[1]=black[2]=128; - black[3]=255; + if (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_YUV422P || pal == WEED_PALETTE_YUV444P) { + nplanes = 3; + black[0] = y_black; + black[1] = black[2] = 128; + } else if (pal == WEED_PALETTE_YUVA4444P) { + nplanes = 4; + black[0] = y_black; + black[1] = black[2] = 128; + black[3] = 255; } - if (pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24) psize=3; + if (pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24) psize = 3; - if (pal==WEED_PALETTE_RGBA32||pal==WEED_PALETTE_BGRA32||pal==WEED_PALETTE_ARGB32||pal==WEED_PALETTE_UYVY8888|| - pal==WEED_PALETTE_YUYV8888||pal==WEED_PALETTE_YUV888||pal==WEED_PALETTE_YUVA8888) psize=4; + if (pal == WEED_PALETTE_RGBA32 || pal == WEED_PALETTE_BGRA32 || pal == WEED_PALETTE_ARGB32 || pal == WEED_PALETTE_UYVY8888 || + pal == WEED_PALETTE_YUYV8888 || pal == WEED_PALETTE_YUV888 || pal == WEED_PALETTE_YUVA8888) psize = 4; - if (pal==WEED_PALETTE_YUV411) psize=6; + if (pal == WEED_PALETTE_YUV411) psize = 6; - if (pal==WEED_PALETTE_A1) dstwidth>>=3; + if (pal == WEED_PALETTE_A1) dstwidth >>= 3; - dstwidth*=psize; + dstwidth *= psize; if (cdata->frame_height > cdata->height && height == cdata->height) { // host ignores vertical border - btop=0; - xheight=cdata->height; - bbot=xheight-1; + btop = 0; + xheight = cdata->height; + bbot = xheight - 1; } - if (cdata->frame_width > cdata->width && rowstrides[0] < cdata->frame_width*psize) { + if (cdata->frame_width > cdata->width && rowstrides[0] < cdata->frame_width * psize) { // host ignores horizontal border - bleft=bright=0; + bleft = bright = 0; } } - if (priv->pFrame==NULL||tframe!=priv->last_frame) { + if (priv->pFrame == NULL || tframe != priv->last_frame) { // same frame -> we reuse priv-pFrame; //#define DEBUG #ifdef DEBUG - fprintf(stderr,"pt a1 %d %ld\n",priv->last_frame,tframe); + fprintf(stderr, "pt a1 %d %ld\n", priv->last_frame, tframe); #endif - if (priv->pFrame!=NULL) av_frame_unref(&priv->pFrame); - priv->pFrame=NULL; + if (priv->pFrame != NULL) av_frame_unref(&priv->pFrame); + priv->pFrame = NULL; - time=(double)tframe/cdata->fps; + time = (double)tframe / cdata->fps; target_pts = time * (double)AV_TIME_BASE; - if (cdata->seek_flag&LIVES_SEEK_FAST) jump_frames=JUMP_FRAMES_FAST; - else jump_frames=JUMP_FRAMES_SLOW; + if (cdata->seek_flag & LIVES_SEEK_FAST) jump_frames = JUMP_FRAMES_FAST; + else jump_frames = JUMP_FRAMES_SLOW; - if (tframe < priv->last_frame || tframe-priv->last_frame > jump_frames) { + if (tframe < priv->last_frame || tframe - priv->last_frame > jump_frames) { int64_t xtarget_pts; // seek to new frame // try to seek straight to keyframe - if (!(cdata->seek_flag&LIVES_SEEK_FAST)&&tframe<priv->last_frame&&priv->found_pts!=-1&&target_pts>priv->found_pts) - xtarget_pts=priv->found_pts; - else xtarget_pts=target_pts; + if (!(cdata->seek_flag & LIVES_SEEK_FAST) && tframe < priv->last_frame && priv->found_pts != -1 && target_pts > priv->found_pts) + xtarget_pts = priv->found_pts; + else xtarget_pts = target_pts; - xtarget_pts+=priv->ic->start_time; + xtarget_pts += priv->ic->start_time; - seek_target=av_rescale_q(xtarget_pts, AV_TIME_BASE_Q, s->time_base); + seek_target = av_rescale_q(xtarget_pts, AV_TIME_BASE_Q, s->time_base); av_seek_frame(priv->ic, priv->vstream, seek_target, AVSEEK_FLAG_BACKWARD); #ifdef DEBUG - fprintf(stderr,"pt a2 %d %ld\n",priv->last_frame,seek_target); + fprintf(stderr, "pt a2 %d %ld\n", priv->last_frame, seek_target); #endif avcodec_flush_buffers(cc); - priv->black_fill=FALSE; - MyPts=-1; - priv->needs_packet=TRUE; + priv->black_fill = FALSE; + MyPts = -1; + priv->needs_packet = TRUE; } else { - MyPts=(priv->last_frame+1.)/cdata->fps*(double)AV_TIME_BASE; + MyPts = (priv->last_frame + 1.) / cdata->fps * (double)AV_TIME_BASE; } // @@ -1108,126 +1108,126 @@ if (priv->needs_packet) { do { - ret=av_read_frame(priv->ic, &priv->packet); + ret = av_read_frame(priv->ic, &priv->packet); #ifdef DEBUG - fprintf(stderr,"ret was %d for tframe %ld\n",ret,tframe); + fprintf(stderr, "ret was %d for tframe %ld\n", ret, tframe); #endif - if (ret<0) { - priv->needs_packet=TRUE; - priv->last_frame=tframe; - if (pixel_data==NULL) return FALSE; - priv->black_fill=TRUE; + if (ret < 0) { + priv->needs_packet = TRUE; + priv->last_frame = tframe; + if (pixel_data == NULL) return FALSE; + priv->black_fill = TRUE; goto framedone; } - } while (priv->packet.stream_index!=priv->vstream); + } while (priv->packet.stream_index != priv->vstream); } - if (MyPts==-1) { + if (MyPts == -1) { MyPts = priv->packet.pts; - MyPts = av_rescale_q(MyPts, s->time_base, AV_TIME_BASE_Q)-priv->ic->start_time; - priv->found_pts=MyPts; // PTS of end of frame, set so start_time is zero + MyPts = av_rescale_q(MyPts, s->time_base, AV_TIME_BASE_Q) - priv->ic->start_time; + priv->found_pts = MyPts; // PTS of end of frame, set so start_time is zero } #ifdef DEBUG - fprintf(stderr,"pt b1 %ld %ld %ld\n",MyPts,target_pts,seek_target); + fprintf(stderr, "pt b1 %ld %ld %ld\n", MyPts, target_pts, seek_target); #endif // decode any frames from this packet - if (priv->pFrame==NULL) priv->pFrame=av_frame_alloc(); + if (priv->pFrame == NULL) priv->pFrame = av_frame_alloc(); #if LIBAVCODEC_VERSION_MAJOR >= 52 - ret=avcodec_decode_video2(cc, priv->pFrame, &gotFrame, &priv->packet); - if (ret<0) return FALSE; + ret = avcodec_decode_video2(cc, priv->pFrame, &gotFrame, &priv->packet); + if (ret < 0) return FALSE; ret = FFMIN(ret, priv->packet.size); - priv->packet.data+=ret; - priv->packet.size-=ret; + priv->packet.data += ret; + priv->packet.size -= ret; #else - ret=avcodec_decode_video(cc, priv->pFrame, &gotFrame, priv->packet.data, priv->packet.size); - priv->packet.size=0; + ret = avcodec_decode_video(cc, priv->pFrame, &gotFrame, priv->packet.data, priv->packet.size); + priv->packet.size = 0; #endif #ifdef DEBUG - fprintf(stderr,"pt 1 %ld %d %ld\n",tframe,gotFrame,MyPts); + fprintf(stderr, "pt 1 %ld %d %ld\n", tframe, gotFrame, MyPts); #endif - if (priv->packet.size==0) { - priv->needs_packet=TRUE; + if (priv->packet.size == 0) { + priv->needs_packet = TRUE; } - if (MyPts >= target_pts - 100) hit_target=TRUE; + if (MyPts >= target_pts - 100) hit_target = TRUE; - if (hit_target&&gotFrame) break; + if (hit_target && gotFrame) break; // otherwise discard this frame if (gotFrame) { - MyPts+=(double)AV_TIME_BASE/cdata->fps; + MyPts += (double)AV_TIME_BASE / cdata->fps; av_frame_unref(&priv->pFrame); - priv->pFrame=NULL; + priv->pFrame = NULL; } - } while (!(hit_target&&gotFrame)); + } while (!(hit_target && gotFrame)); } framedone: - timex=get_current_ticks()-timex; - if (timex>FAST_SEEK_LIMIT)((lives_clip_data_t *)cdata)->seek_flag=LIVES_SEEK_NEEDS_CALCULATION; + timex = get_current_ticks() - timex; + if (timex > FAST_SEEK_LIMIT)((lives_clip_data_t *)cdata)->seek_flag = LIVES_SEEK_NEEDS_CALCULATION; - priv->last_frame=tframe; + priv->last_frame = tframe; - if (priv->pFrame==NULL||pixel_data==NULL) return TRUE; + if (priv->pFrame == NULL || pixel_data == NULL) return TRUE; //height=cdata->height; - if (priv->black_fill) btop=cdata->frame_height; + if (priv->black_fill) btop = cdata->frame_height; - for (p=0; p<nplanes; p++) { - dst=pixel_data[p]; - src=priv->pFrame->data[p]; + for (p = 0; p < nplanes; p++) { + dst = pixel_data[p]; + src = priv->pFrame->data[p]; - for (i=0; i<xheight; i++) { - if (i<btop||i>bbot) { + for (i = 0; i < xheight; i++) { + if (i < btop || i > bbot) { // top or bottom border, copy black row - if (pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_YUV422P||pal==WEED_PALETTE_YUV444P|| - pal==WEED_PALETTE_YUVA4444P||pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24) { - memset(dst,black[p],dstwidth+(bleft+bright)*psize); - dst+=dstwidth+(bleft+bright)*psize; - } else dst+=write_black_pixel(dst,pal,dstwidth/psize+bleft+bright,y_black); + if (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_YUV422P || pal == WEED_PALETTE_YUV444P || + pal == WEED_PALETTE_YUVA4444P || pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24) { + memset(dst, black[p], dstwidth + (bleft + bright)*psize); + dst += dstwidth + (bleft + bright) * psize; + } else dst += write_black_pixel(dst, pal, dstwidth / psize + bleft + bright, y_black); continue; } - if (bleft>0) { - if (pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_YUV422P||pal==WEED_PALETTE_YUV444P|| - pal==WEED_PALETTE_YUVA4444P||pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24) { - memset(dst,black[p],bleft*psize); - dst+=bleft*psize; - } else dst+=write_black_pixel(dst,pal,bleft,y_black); + if (bleft > 0) { + if (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_YUV422P || pal == WEED_PALETTE_YUV444P || + pal == WEED_PALETTE_YUVA4444P || pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24) { + memset(dst, black[p], bleft * psize); + dst += bleft * psize; + } else dst += write_black_pixel(dst, pal, bleft, y_black); } - memcpy(dst,src,dstwidth); - dst+=dstwidth; + memcpy(dst, src, dstwidth); + dst += dstwidth; - if (bright>0) { - if (pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_YUV422P||pal==WEED_PALETTE_YUV444P|| - pal==WEED_PALETTE_YUVA4444P||pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24) { - memset(dst,black[p],bright*psize); - dst+=bright*psize; - } else dst+=write_black_pixel(dst,pal,bright,y_black); + if (bright > 0) { + if (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_YUV422P || pal == WEED_PALETTE_YUV444P || + pal == WEED_PALETTE_YUVA4444P || pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24) { + memset(dst, black[p], bright * psize); + dst += bright * psize; + } else dst += write_black_pixel(dst, pal, bright, y_black); } - src+=priv->pFrame->linesize[p]; + src += priv->pFrame->linesize[p]; } - if (p==0&&(pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_YUV422P)) { - dstwidth>>=1; - bleft>>=1; - bright>>=1; + if (p == 0 && (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_YUV422P)) { + dstwidth >>= 1; + bleft >>= 1; + bright >>= 1; } - if (p==0&&(pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P)) { - xheight>>=1; - btop>>=1; - bbot>>=1; + if (p == 0 && (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P)) { + xheight >>= 1; + btop >>= 1; + bbot >>= 1; } } @@ -1241,10 +1241,10 @@ void clip_data_free(lives_clip_data_t *cdata) { - if (cdata->palettes!=NULL) free(cdata->palettes); - cdata->palettes=NULL; + if (cdata->palettes != NULL) free(cdata->palettes); + cdata->palettes = NULL; - if (cdata->URI!=NULL) { + if (cdata->URI != NULL) { detach_stream(cdata); free(cdata->URI); }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/decoders/dec_helper.c -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/decoders/dec_helper.c
Changed
@@ -24,7 +24,7 @@ #define FIND_PLAYER(player) \ rc = system("which " #player); \ - if ( rc == 0 ) { binary = #player; goto found_player; } + if (rc == 0) {binary = #player; goto found_player; } FIND_PLAYER(mplayer) FIND_PLAYER(mplayer2) @@ -34,18 +34,18 @@ goto exit; found_player: - snprintf(cmd,1024,"LANGUAGE=en LANG=en %s \"%s\" -identify -frames 0 2>/dev/null | grep ID_VIDEO_FPS",binary,uri); - fp = popen(cmd,"r"); + snprintf(cmd, 1024, "LANGUAGE=en LANG=en %s \"%s\" -identify -frames 0 2>/dev/null | grep ID_VIDEO_FPS", binary, uri); + fp = popen(cmd, "r"); - dummy=fgets(buffer,1024,fp); - dummy=dummy; // stop compiler complaining - if (!(strncmp(buffer,"ID_VIDEO_FPS=",13))) { - ret = strtod(buffer+13,NULL); + dummy = fgets(buffer, 1024, fp); + dummy = dummy; // stop compiler complaining + if (!(strncmp(buffer, "ID_VIDEO_FPS=", 13))) { + ret = strtod(buffer + 13, NULL); } pclose(fp); exit: #else - double ret=0.; + double ret = 0.; #endif return ret; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/decoders/decplugin.h -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/decoders/decplugin.h
Changed
@@ -39,9 +39,9 @@ #define FALSE 0 typedef enum { - LIVES_INTERLACE_NONE=0, - LIVES_INTERLACE_BOTTOM_FIRST=1, - LIVES_INTERLACE_TOP_FIRST=2 + LIVES_INTERLACE_NONE = 0, + LIVES_INTERLACE_BOTTOM_FIRST = 1, + LIVES_INTERLACE_TOP_FIRST = 2 } lives_interlace_t; /// good @@ -113,10 +113,7 @@ #define SYNC_HINT_VIDEO_PAD_END (1<<5) int sync_hint; - - void *priv; ///< private data for demuxer/decoder - } lives_clip_data_t; @@ -156,21 +153,21 @@ // little-endian -#define get_le16int(p) (*(p+1)<<8 | *(p)) -#define get_le32int(p) ((get_le16int(p+2)<<16) | get_le16int(p)) -#define get_le64int(p) (int64_t)(((uint64_t)(get_le32int(p+4))<<32) | (uint64_t)(get_le32int(p))) +#define get_le16int(p) (*(p + 1) << 8 | *(p)) +#define get_le32int(p) ((get_le16int(p + 2) << 16) | get_le16int(p)) +#define get_le64int(p) (int64_t)(((uint64_t)(get_le32int(p + 4)) << 32) | (uint64_t)(get_le32int(p))) -#define MK_FOURCC(a, b, c, d) ((a<<24)|(b<<16)|(c<<8)|d) +#define MK_FOURCC(a, b, c, d) ((a << 24) | (b << 16) | (c << 8) | d) -#define ABS(a) ((a)>=0.?(a):-(a)) +#define ABS(a) ((a) >= 0. ? (a) : -(a)) double get_fps(const char *uri); enum LiVESMediaType { - LIVES_MEDIA_TYPE_UNKNOWN=0, + LIVES_MEDIA_TYPE_UNKNOWN = 0, LIVES_MEDIA_TYPE_VIDEO, LIVES_MEDIA_TYPE_AUDIO, LIVES_MEDIA_TYPE_DATA @@ -179,7 +176,6 @@ #ifdef __cplusplus - } #endif /* __cplusplus */
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/decoders/dv_decoder.c -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/decoders/dv_decoder.c
Changed
@@ -20,30 +20,30 @@ #include "dv_decoder.h" -const char *plugin_version="LiVES dv decoder version 1.3"; +const char *plugin_version = "LiVES dv decoder version 1.3"; static FILE *nulfile; extern void dv_parse_audio_header(dv_decoder_t *, uint8_t *); static void dv_dec_set_header(lives_clip_data_t *cdata, uint8_t *data) { - lives_dv_priv_t *priv=cdata->priv; + lives_dv_priv_t *priv = cdata->priv; if ((data[3] & 0x80) == 0) { /* DSF flag */ // NTSC priv->frame_size = 120000; priv->is_pal = 0; - cdata->height=480; - cdata->fps=30000./1001.; + cdata->height = 480; + cdata->fps = 30000. / 1001.; } else { // PAL priv->frame_size = 144000; priv->is_pal = 1; - cdata->height=576; - cdata->fps=25.; + cdata->height = 576; + cdata->fps = 25.; } } @@ -53,111 +53,111 @@ struct stat sb; uint8_t header[DV_HEADER_SIZE]; uint8_t *fbuffer; - lives_dv_priv_t *priv=cdata->priv; - boolean is_partial_clone=FALSE; + lives_dv_priv_t *priv = cdata->priv; + boolean is_partial_clone = FALSE; char *ext; - if (isclone&&!priv->inited) { - isclone=FALSE; - if (cdata->fps>0.&&cdata->nframes>0) - is_partial_clone=TRUE; + if (isclone && !priv->inited) { + isclone = FALSE; + if (cdata->fps > 0. && cdata->nframes > 0) + is_partial_clone = TRUE; } if (!isclone) { - ext=rindex(cdata->URI,'.'); + ext = rindex(cdata->URI, '.'); - if (ext==NULL||(strncmp(ext,".dv",3)&&strncmp(ext,".avi",4))) return FALSE; + if (ext == NULL || (strncmp(ext, ".dv", 3) && strncmp(ext, ".avi", 4))) return FALSE; - if (!strncmp(ext,".avi",4)) { + if (!strncmp(ext, ".avi", 4)) { //needs further analysis return FALSE; } } - if ((priv->fd=open(cdata->URI,O_RDONLY))==-1) { - fprintf(stderr, "dv_decoder: unable to open %s\n",cdata->URI); + if ((priv->fd = open(cdata->URI, O_RDONLY)) == -1) { + fprintf(stderr, "dv_decoder: unable to open %s\n", cdata->URI); return FALSE; } #ifdef IS_MINGW - setmode(priv->fd,O_BINARY); + setmode(priv->fd, O_BINARY); #endif if (read(priv->fd, header, DV_HEADER_SIZE) < DV_HEADER_SIZE) { - fprintf(stderr, "dv_decoder: unable to read header for %s\n",cdata->URI); + fprintf(stderr, "dv_decoder: unable to read header for %s\n", cdata->URI); close(priv->fd); return FALSE; } - priv->dv_dec=dv_decoder_new(0,0,0); // ignored, unclamp_luma, unclamp_chroma - priv->inited=TRUE; + priv->dv_dec = dv_decoder_new(0, 0, 0); // ignored, unclamp_luma, unclamp_chroma + priv->inited = TRUE; - dv_set_error_log(priv->dv_dec,nulfile); + dv_set_error_log(priv->dv_dec, nulfile); dv_dec_set_header(cdata, header); - dv_parse_header(priv->dv_dec,header); + dv_parse_header(priv->dv_dec, header); - lseek64(priv->fd,0,SEEK_SET); - fbuffer=malloc(priv->frame_size); + lseek64(priv->fd, 0, SEEK_SET); + fbuffer = malloc(priv->frame_size); if (read(priv->fd, fbuffer, priv->frame_size) < priv->frame_size) { - fprintf(stderr, "dv_decoder: unable to read first frame for %s\n",cdata->URI); + fprintf(stderr, "dv_decoder: unable to read first frame for %s\n", cdata->URI); free(fbuffer); close(priv->fd); dv_decoder_free(priv->dv_dec); return FALSE; } - dv_parse_audio_header(priv->dv_dec,fbuffer); + dv_parse_audio_header(priv->dv_dec, fbuffer); free(fbuffer); - cdata->current_palette=cdata->palettes[0]; - cdata->current_clip=0; + cdata->current_palette = cdata->palettes[0]; + cdata->current_clip = 0; - cdata->nclips=1; + cdata->nclips = 1; - sprintf(cdata->container_name,"%s","dv"); + sprintf(cdata->container_name, "%s", "dv"); - sprintf(cdata->video_name,"%s","dv"); + sprintf(cdata->video_name, "%s", "dv"); - sprintf(cdata->audio_name,"%s","pcm"); + sprintf(cdata->audio_name, "%s", "pcm"); - cdata->YUV_clamping=WEED_YUV_CLAMPING_UNCLAMPED; - cdata->YUV_subspace=WEED_YUV_SUBSPACE_YCBCR; - cdata->YUV_sampling=WEED_YUV_SAMPLING_DEFAULT; + cdata->YUV_clamping = WEED_YUV_CLAMPING_UNCLAMPED; + cdata->YUV_subspace = WEED_YUV_SUBSPACE_YCBCR; + cdata->YUV_sampling = WEED_YUV_SAMPLING_DEFAULT; - cdata->width=720; + cdata->width = 720; // cdata->height was set when we attached the stream - cdata->interlace=LIVES_INTERLACE_BOTTOM_FIRST; + cdata->interlace = LIVES_INTERLACE_BOTTOM_FIRST; - cdata->par=1.; - cdata->offs_x=0; - cdata->offs_y=0; - cdata->frame_width=cdata->width; - cdata->frame_height=cdata->height; + cdata->par = 1.; + cdata->offs_x = 0; + cdata->offs_y = 0; + cdata->frame_width = cdata->width; + cdata->frame_height = cdata->height; // audio part - priv=cdata->priv; - cdata->arate=dv_get_frequency(priv->dv_dec); - cdata->achans=dv_get_num_channels(priv->dv_dec); - cdata->asamps=16; + priv = cdata->priv; + cdata->arate = dv_get_frequency(priv->dv_dec); + cdata->achans = dv_get_num_channels(priv->dv_dec); + cdata->asamps = 16; - cdata->asigned=TRUE; - cdata->ainterleaf=FALSE; + cdata->asigned = TRUE; + cdata->ainterleaf = FALSE; // misc - cdata->video_start_time=0.; + cdata->video_start_time = 0.; - priv->dv_dec->quality=DV_QUALITY_BEST; + priv->dv_dec->quality = DV_QUALITY_BEST; - if (!isclone&&!is_partial_clone) { - fstat(priv->fd,&sb); + if (!isclone && !is_partial_clone) { + fstat(priv->fd, &sb); if (sb.st_size) cdata->nframes = (int)(sb.st_size / priv->frame_size); } @@ -170,7 +170,7 @@ static void detach_stream(lives_clip_data_t *cdata) { // close the file, free the decoder - lives_dv_priv_t *priv=cdata->priv; + lives_dv_priv_t *priv = cdata->priv; close(priv->fd); dv_decoder_free(priv->dv_dec); } @@ -183,7 +183,7 @@ const char *module_check_init(void) { - nulfile=fopen("/dev/null","a"); + nulfile = fopen("/dev/null", "a"); return NULL; } @@ -198,87 +198,87 @@ static lives_clip_data_t *init_cdata(void) { register int i; lives_dv_priv_t *priv; - lives_clip_data_t *cdata=(lives_clip_data_t *)malloc(sizeof(lives_clip_data_t)); + lives_clip_data_t *cdata = (lives_clip_data_t *)malloc(sizeof(lives_clip_data_t)); - cdata->palettes=malloc(4*sizeof(int)); + cdata->palettes = malloc(4 * sizeof(int)); // plugin allows a choice of palettes; we set these in order of preference - cdata->palettes[0]=WEED_PALETTE_YUYV8888; - cdata->palettes[1]=WEED_PALETTE_RGB24; - cdata->palettes[2]=WEED_PALETTE_BGR24; - cdata->palettes[3]=WEED_PALETTE_END; + cdata->palettes[0] = WEED_PALETTE_YUYV8888; + cdata->palettes[1] = WEED_PALETTE_RGB24; + cdata->palettes[2] = WEED_PALETTE_BGR24; + cdata->palettes[3] = WEED_PALETTE_END; - cdata->URI=NULL; + cdata->URI = NULL; - cdata->priv=priv=malloc(sizeof(lives_dv_priv_t)); + cdata->priv = priv = malloc(sizeof(lives_dv_priv_t)); - for (i=0; i<4; i++) { - priv->audio_buffers[i]=NULL; + for (i = 0; i < 4; i++) { + priv->audio_buffers[i] = NULL; } - priv->audio=NULL; - priv->audio_fd=-1; - priv->inited=FALSE; + priv->audio = NULL; + priv->audio_fd = -1; + priv->inited = FALSE; - cdata->seek_flag=LIVES_SEEK_FAST; + cdata->seek_flag = LIVES_SEEK_FAST; - cdata->sync_hint=0; + cdata->sync_hint = 0; - memset(cdata->author,0,1); - memset(cdata->title,0,1); - memset(cdata->comment,0,1); + memset(cdata->author, 0, 1); + memset(cdata->title, 0, 1); + memset(cdata->comment, 0, 1); return cdata; } static lives_clip_data_t *dv_clone(lives_clip_data_t *cdata) { - lives_clip_data_t *clone=init_cdata(); + lives_clip_data_t *clone = init_cdata(); - lives_dv_priv_t *dpriv,*spriv; + lives_dv_priv_t *dpriv, *spriv; // copy from cdata to clone, with a new context for clone - clone->URI=strdup(cdata->URI); - clone->nclips=cdata->nclips; - snprintf(clone->container_name,512,"%s",cdata->container_name); - clone->current_clip=cdata->current_clip; - clone->width=cdata->width; - clone->height=cdata->height; - clone->nframes=cdata->nframes; - clone->interlace=cdata->interlace; - clone->offs_x=cdata->offs_x; - clone->offs_y=cdata->offs_y; - clone->frame_width=cdata->frame_width; - clone->frame_height=cdata->frame_height; - clone->par=cdata->par; - clone->fps=cdata->fps; - clone->current_palette=cdata->current_palette; - clone->YUV_sampling=cdata->YUV_sampling; - clone->YUV_clamping=cdata->YUV_clamping; - snprintf(clone->video_name,512,"%s",cdata->video_name); - clone->arate=cdata->arate; - clone->achans=cdata->achans; - clone->asamps=cdata->asamps; - clone->asigned=cdata->asigned; - clone->ainterleaf=cdata->ainterleaf; - snprintf(clone->audio_name,512,"%s",cdata->audio_name); - clone->seek_flag=cdata->seek_flag; - clone->sync_hint=cdata->sync_hint; - clone->video_start_time=cdata->video_start_time; - - snprintf(clone->author,256,"%s",cdata->author); - snprintf(clone->title,256,"%s",cdata->title); - snprintf(clone->comment,256,"%s",cdata->comment); + clone->URI = strdup(cdata->URI); + clone->nclips = cdata->nclips; + snprintf(clone->container_name, 512, "%s", cdata->container_name); + clone->current_clip = cdata->current_clip; + clone->width = cdata->width; + clone->height = cdata->height; + clone->nframes = cdata->nframes; + clone->interlace = cdata->interlace; + clone->offs_x = cdata->offs_x; + clone->offs_y = cdata->offs_y; + clone->frame_width = cdata->frame_width; + clone->frame_height = cdata->frame_height; + clone->par = cdata->par; + clone->fps = cdata->fps; + clone->current_palette = cdata->current_palette; + clone->YUV_sampling = cdata->YUV_sampling; + clone->YUV_clamping = cdata->YUV_clamping; + snprintf(clone->video_name, 512, "%s", cdata->video_name); + clone->arate = cdata->arate; + clone->achans = cdata->achans; + clone->asamps = cdata->asamps; + clone->asigned = cdata->asigned; + clone->ainterleaf = cdata->ainterleaf; + snprintf(clone->audio_name, 512, "%s", cdata->audio_name); + clone->seek_flag = cdata->seek_flag; + clone->sync_hint = cdata->sync_hint; + clone->video_start_time = cdata->video_start_time; + + snprintf(clone->author, 256, "%s", cdata->author); + snprintf(clone->title, 256, "%s", cdata->title); + snprintf(clone->comment, 256, "%s", cdata->comment); // create "priv" elements - dpriv=clone->priv; - spriv=cdata->priv; + dpriv = clone->priv; + spriv = cdata->priv; - if (spriv!=NULL) dpriv->inited=TRUE; + if (spriv != NULL) dpriv->inited = TRUE; - if (!attach_stream(clone,TRUE)) { + if (!attach_stream(clone, TRUE)) { free(clone->URI); - clone->URI=NULL; + clone->URI = NULL; clip_data_free(clone); return NULL; } @@ -298,31 +298,31 @@ // if the host wants a different URI or a different current_clip, this must be called again with the same // cdata as the second parameter - if (URI==NULL&&cdata!=NULL) { + if (URI == NULL && cdata != NULL) { // create a clone of cdata return dv_clone(cdata); } - if (cdata!=NULL&&cdata->current_clip>0) { + if (cdata != NULL && cdata->current_clip > 0) { // currently we only support one clip per container clip_data_free(cdata); return NULL; } - if (cdata==NULL) { - cdata=init_cdata(); + if (cdata == NULL) { + cdata = init_cdata(); } - if (cdata->URI==NULL||strcmp(URI,cdata->URI)) { - if (cdata->URI!=NULL) { + if (cdata->URI == NULL || strcmp(URI, cdata->URI)) { + if (cdata->URI != NULL) { detach_stream(cdata); free(cdata->URI); } - cdata->URI=strdup(URI); - if (!attach_stream(cdata,FALSE)) { + cdata->URI = strdup(URI); + if (!attach_stream(cdata, FALSE)) { free(cdata->URI); - cdata->URI=NULL; + cdata->URI = NULL; clip_data_free(cdata); return NULL; } @@ -336,17 +336,17 @@ static boolean dv_pad_with_silence(int fd, unsigned char **abuff, size_t offs, int nchans, size_t nsamps) { unsigned char *silencebuf; - size_t xoffs=offs-2; - register int i,j; + size_t xoffs = offs - 2; + register int i, j; - nsamps*=2; // 16 bit samples + nsamps *= 2; // 16 bit samples - if (fd!=-1) { + if (fd != -1) { // write to file - size_t zbytes=nsamps*nchans; - silencebuf=calloc(nsamps,nchans); + size_t zbytes = nsamps * nchans; + silencebuf = calloc(nsamps, nchans); - if (write(fd,silencebuf,zbytes) != zbytes) { + if (write(fd, silencebuf, zbytes) != zbytes) { free(silencebuf); return FALSE; } @@ -354,15 +354,15 @@ free(silencebuf); } - if (abuff!=NULL) { + if (abuff != NULL) { // write to memory - for (j=0; j<nchans; j++) { + for (j = 0; j < nchans; j++) { // write 0 - if (xoffs<0) memset(&(abuff[j][offs]),0,nsamps); + if (xoffs < 0) memset(&(abuff[j][offs]), 0, nsamps); else { // or copy last bytes - for (i=0; i<nsamps; i+=2) { - memcpy(&(abuff[j][offs+i]),&(abuff[j][xoffs]),2); + for (i = 0; i < nsamps; i += 2) { + memcpy(&(abuff[j][offs + i]), &(abuff[j][xoffs]), 2); } } } @@ -374,17 +374,17 @@ void rip_audio_cleanup(const lives_clip_data_t *cdata) { register int i; - lives_dv_priv_t *priv=cdata->priv; + lives_dv_priv_t *priv = cdata->priv; - for (i=0; i<4; i++) { - if (priv->audio_buffers[i]!=NULL) free(priv->audio_buffers[i]); - priv->audio_buffers[i]=NULL; + for (i = 0; i < 4; i++) { + if (priv->audio_buffers[i] != NULL) free(priv->audio_buffers[i]); + priv->audio_buffers[i] = NULL; } - if (priv->audio!=NULL) free(priv->audio); - priv->audio=NULL; + if (priv->audio != NULL) free(priv->audio); + priv->audio = NULL; - if (priv->audio_fd!=-1) close(priv->audio_fd); + if (priv->audio_fd != -1) close(priv->audio_fd); } @@ -414,27 +414,27 @@ // * if fname is NULL we write to abuff instead (unless abuff is NULL) - int i,ch,channels,samples,samps_out; - size_t j=0,k=0,bytes; + int i, ch, channels, samples, samps_out; + size_t j = 0, k = 0, bytes; off64_t stbytes; uint8_t *buf; int xframes; - double scale=0.; - double offset_f=0.; + double scale = 0.; + double offset_f = 0.; - int64_t samps_actual=0,samps_expected,tot_samples=0; + int64_t samps_actual = 0, samps_expected, tot_samples = 0; - lives_dv_priv_t *priv=cdata->priv; + lives_dv_priv_t *priv = cdata->priv; - if (fname==NULL&&abuff==NULL) return 0; + if (fname == NULL && abuff == NULL) return 0; - if (nframes==0) nframes=cdata->nframes; - if (nframes+stframe>cdata->nframes) nframes=cdata->nframes-stframe; + if (nframes == 0) nframes = cdata->nframes; + if (nframes + stframe > cdata->nframes) nframes = cdata->nframes - stframe; - xframes=nframes; + xframes = nframes; - for (i=0; i<4; i++) { - if (priv->audio_buffers[i]==NULL) { + for (i = 0; i < 4; i++) { + if (priv->audio_buffers[i] == NULL) { if (!(priv->audio_buffers[i] = (int16_t *)malloc(DV_AUDIO_MAX_SAMPLES * 2 * sizeof(int16_t)))) { fprintf(stderr, "dv_decoder: out of memory\n"); return 0; @@ -442,23 +442,23 @@ } } - if (priv->audio==NULL) { + if (priv->audio == NULL) { if (!(priv->audio = malloc(DV_AUDIO_MAX_SAMPLES * 8 * sizeof(int16_t)))) { - for (i=0; i<4; i++) { + for (i = 0; i < 4; i++) { free(priv->audio_buffers[i]); - priv->audio_buffers[i]=NULL; + priv->audio_buffers[i] = NULL; } fprintf(stderr, "dv_decoder: out of memory\n"); return 0; } } - samps_expected=(double)(nframes)/cdata->fps*cdata->arate; + samps_expected = (double)(nframes) / cdata->fps * cdata->arate; // do this last so host knows we are ready - if (fname!=NULL) { - if ((priv->audio_fd=open(fname,O_WRONLY|O_CREAT|O_APPEND,S_IRUSR|S_IWUSR))==-1) { - fprintf(stderr, "dv_decoder: unable to open output %s\n",fname); + if (fname != NULL) { + if ((priv->audio_fd = open(fname, O_WRONLY | O_CREAT | O_APPEND, S_IRUSR | S_IWUSR)) == -1) { + fprintf(stderr, "dv_decoder: unable to open output %s\n", fname); return 0; } } @@ -466,13 +466,13 @@ ///////////////////////////////////////////////////////////////////////// - stbytes=stframe*priv->frame_size; + stbytes = stframe * priv->frame_size; channels = priv->dv_dec->audio->num_channels; - lseek64(priv->fd,stbytes,SEEK_SET); + lseek64(priv->fd, stbytes, SEEK_SET); - buf=malloc(priv->frame_size); + buf = malloc(priv->frame_size); while (1) { // decode frame headers and total number of samples @@ -483,23 +483,23 @@ samples = priv->dv_dec->audio->samples_this_frame; samps_actual += samples; - if (--nframes==0) break; + if (--nframes == 0) break; } - if (samps_actual==samps_expected+1) samps_expected++; + if (samps_actual == samps_expected + 1) samps_expected++; // we may get more or fewer samples than expected, so we need to scale - scale=(long double)samps_actual/(long double)samps_expected-1.; + scale = (long double)samps_actual / (long double)samps_expected - 1.; - nframes=xframes; + nframes = xframes; - lseek64(priv->fd,stbytes,SEEK_SET); + lseek64(priv->fd, stbytes, SEEK_SET); while (1) { // now we do the actual decoding, outputting to file and/or memory - samps_out=0; + samps_out = 0; if (read(priv->fd, buf, priv->frame_size) < priv->frame_size) break; dv_parse_header(priv->dv_dec, buf); @@ -508,33 +508,33 @@ dv_decode_full_audio(priv->dv_dec, buf, priv->audio_buffers); - j=0; + j = 0; // interleave the audio into a single buffer - for (i=0; i<samples&&samps_expected; i++) { + for (i = 0; i < samples && samps_expected; i++) { - for (ch=0; ch<channels; ch++) { - if (fname!=NULL) priv->audio[j++] = priv->audio_buffers[ch][i]; + for (ch = 0; ch < channels; ch++) { + if (fname != NULL) priv->audio[j++] = priv->audio_buffers[ch][i]; else { // copy a 16 bit sample - memcpy(&(abuff[ch][k]),&(priv->audio_buffers[ch][i]),2); + memcpy(&(abuff[ch][k]), &(priv->audio_buffers[ch][i]), 2); } } - k+=2; + k += 2; - offset_f+=scale; + offset_f += scale; - if (offset_f<=-1.&&i>0) { + if (offset_f <= -1. && i > 0) { // slipped back a whole sample, process same i - offset_f+=1.; + offset_f += 1.; i--; } - if (offset_f>=1.) { + if (offset_f >= 1.) { // slipped forward a whole sample, process i+2 - offset_f-=1.; + offset_f -= 1.; i++; } @@ -542,31 +542,31 @@ samps_out++; } - bytes = samps_out*channels*2; + bytes = samps_out * channels * 2; - tot_samples+=samps_out; + tot_samples += samps_out; // write out - if (fname!=NULL) { + if (fname != NULL) { if (write(priv->audio_fd, (char *) priv->audio, bytes) != bytes) { free(buf); - fprintf(stderr, "dv_decoder: audio write error %s\n",fname); + fprintf(stderr, "dv_decoder: audio write error %s\n", fname); return tot_samples; } } - if (--nframes==0) break; + if (--nframes == 0) break; } free(buf); // not enough samples - pad to end with silence - if (samps_expected&&fname!=NULL) { - if (!dv_pad_with_silence(fname!=NULL?priv->audio_fd:-1,abuff,j,channels,samps_expected)) { - fprintf(stderr, "dv_decoder: audio write error %s\n",fname!=NULL?fname:"to memory"); + if (samps_expected && fname != NULL) { + if (!dv_pad_with_silence(fname != NULL ? priv->audio_fd : -1, abuff, j, channels, samps_expected)) { + fprintf(stderr, "dv_decoder: audio write error %s\n", fname != NULL ? fname : "to memory"); } - tot_samples+=samps_expected; + tot_samples += samps_expected; } return tot_samples; @@ -580,32 +580,32 @@ // tframe starts at 0 - lives_dv_priv_t *priv=cdata->priv; + lives_dv_priv_t *priv = cdata->priv; uint8_t fbuffer[priv->frame_size]; - int64_t frame=tframe; - off64_t bytes=frame*priv->frame_size; + int64_t frame = tframe; + off64_t bytes = frame * priv->frame_size; - lseek64(priv->fd,bytes,SEEK_SET); + lseek64(priv->fd, bytes, SEEK_SET); if (read(priv->fd, fbuffer, priv->frame_size) < priv->frame_size) return FALSE; dv_parse_header(priv->dv_dec, fbuffer); - dv_set_error_log(priv->dv_dec,nulfile); + dv_set_error_log(priv->dv_dec, nulfile); switch (cdata->current_palette) { case WEED_PALETTE_RGB24: - dv_decode_full_frame(priv->dv_dec,fbuffer,e_dv_color_rgb,(uint8_t **)pixel_data,rowstrides); + dv_decode_full_frame(priv->dv_dec, fbuffer, e_dv_color_rgb, (uint8_t **)pixel_data, rowstrides); break; case WEED_PALETTE_BGR24: - dv_decode_full_frame(priv->dv_dec,fbuffer,e_dv_color_bgr0,(uint8_t **)pixel_data,rowstrides); + dv_decode_full_frame(priv->dv_dec, fbuffer, e_dv_color_bgr0, (uint8_t **)pixel_data, rowstrides); break; case WEED_PALETTE_YUYV8888: - dv_decode_full_frame(priv->dv_dec,fbuffer,e_dv_color_yuv,(uint8_t **)pixel_data,rowstrides); + dv_decode_full_frame(priv->dv_dec, fbuffer, e_dv_color_yuv, (uint8_t **)pixel_data, rowstrides); break; default: - fprintf(stderr,"Error - invalid palette in dv decoder !\n"); + fprintf(stderr, "Error - invalid palette in dv decoder !\n"); return FALSE; } @@ -617,7 +617,7 @@ void clip_data_free(lives_clip_data_t *cdata) { - if (cdata->URI!=NULL) { + if (cdata->URI != NULL) { detach_stream(cdata); free(cdata->URI); }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/decoders/flv_decoder.c -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/decoders/flv_decoder.c
Changed
@@ -33,7 +33,7 @@ #include <stdlib.h> #include <math.h> -const char *plugin_version="LiVES flv decoder version 1.1"; +const char *plugin_version = "LiVES flv decoder version 1.1"; #ifdef HAVE_AV_CONFIG_H #undef HAVE_AV_CONFIG_H @@ -126,17 +126,18 @@ static int frame_to_dts(const lives_clip_data_t *cdata, int64_t frame) { - return (int)((double)(frame)*1000./cdata->fps); + return (int)((double)(frame) * 1000. / cdata->fps); } static int64_t dts_to_frame(const lives_clip_data_t *cdata, int dts) { - return (int64_t)((double)dts/1000.*cdata->fps+.5); + return (int64_t)((double)dts / 1000.*cdata->fps + .5); } static double getfloat64(unsigned char *data) { - int64_t v=(((int64_t)(data[0]&0xFF)<<56)+((int64_t)(data[1]&0xFF)<<48)+((int64_t)(data[2]&0xFF)<<40)+((int64_t)(data[3]&0xFF)<<32)+(( - int64_t)(data[4]&0xFF)<<24)+((int64_t)(data[5]&0xFF)<<16)+((int64_t)(data[6]&0XFF)<<8)+(int64_t)(data[7]&0xFF)); - return ldexp(((v&((1LL<<52)-1)) + (1LL<<52)) * (v>>63|1), (v>>52&0x7FF)-1075); + int64_t v = (((int64_t)(data[0] & 0xFF) << 56) + ((int64_t)(data[1] & 0xFF) << 48) + ((int64_t)(data[2] & 0xFF) << 40) + ((int64_t)( + data[3] & 0xFF) << 32) + (( + int64_t)(data[4] & 0xFF) << 24) + ((int64_t)(data[5] & 0xFF) << 16) + ((int64_t)(data[6] & 0XFF) << 8) + (int64_t)(data[7] & 0xFF)); + return ldexp(((v & ((1LL << 52) - 1)) + (1LL << 52)) * (v >> 63 | 1), (v >> 52 & 0x7FF) - 1075); } @@ -144,23 +145,23 @@ ////////////////////////////////////////////////////////////////// static boolean lives_flv_parse_pack_header(const lives_clip_data_t *cdata, lives_flv_pack_t *pack) { - lives_flv_priv_t *priv=cdata->priv; + lives_flv_priv_t *priv = cdata->priv; char data[FLV_PACK_HEADER_SIZE]; - lseek(priv->fd,priv->input_position,SEEK_SET); + lseek(priv->fd, priv->input_position, SEEK_SET); if (read(priv->fd, data, FLV_PACK_HEADER_SIZE) < FLV_PACK_HEADER_SIZE) { //fprintf(stderr, "flv_decoder: unable to read packet header for %s\n",cdata->URI); return FALSE; } - priv->input_position+=FLV_PACK_HEADER_SIZE; + priv->input_position += FLV_PACK_HEADER_SIZE; - pack->type=data[0]; + pack->type = data[0]; - pack->size=((data[1]&0XFF)<<16)+((data[2]&0XFF)<<8)+(data[3]&0xFF); + pack->size = ((data[1] & 0XFF) << 16) + ((data[2] & 0XFF) << 8) + (data[3] & 0xFF); - pack->dts=((data[7]&0xFF)<<24)+((data[4]&0xFF)<<16)+((data[5]&0xFF)<<8)+(data[6]&0xFF); // milliseconds + pack->dts = ((data[7] & 0xFF) << 24) + ((data[4] & 0xFF) << 16) + ((data[5] & 0xFF) << 8) + (data[6] & 0xFF); // milliseconds //skip bytes 8,9,10 - stream id always 0 @@ -172,48 +173,48 @@ static int32_t get_last_tagsize(const lives_clip_data_t *cdata) { - lives_flv_priv_t *priv=cdata->priv; + lives_flv_priv_t *priv = cdata->priv; unsigned char data[4]; if (read(priv->fd, data, 4) < 4) return -1; - return ((data[0]&0xFF)<<24)+((data[1]&0xFF)<<16)+((data[2]&0xFF)<<8)+(data[3]&0xFF); + return ((data[0] & 0xFF) << 24) + ((data[1] & 0xFF) << 16) + ((data[2] & 0xFF) << 8) + (data[3] & 0xFF); } static off_t get_last_packet_pos(const lives_clip_data_t *cdata) { - lives_flv_priv_t *priv=cdata->priv; + lives_flv_priv_t *priv = cdata->priv; int32_t tagsize; - off_t offs=lseek(priv->fd,-4,SEEK_END); + off_t offs = lseek(priv->fd, -4, SEEK_END); - tagsize=get_last_tagsize(cdata); + tagsize = get_last_tagsize(cdata); - return offs-tagsize; + return offs - tagsize; } static int get_last_video_dts(const lives_clip_data_t *cdata) { - lives_flv_priv_t *priv=cdata->priv; + lives_flv_priv_t *priv = cdata->priv; lives_flv_pack_t pack; - int delta,tagsize; + int delta, tagsize; unsigned char flags; off_t offs; - priv->input_position=get_last_packet_pos(cdata); + priv->input_position = get_last_packet_pos(cdata); while (1) { - if (!lives_flv_parse_pack_header(cdata,&pack)) return -1; - delta=-15; - if (pack.type==FLV_TAG_TYPE_VIDEO) { + if (!lives_flv_parse_pack_header(cdata, &pack)) return -1; + delta = -15; + if (pack.type == FLV_TAG_TYPE_VIDEO) { if (read(priv->fd, &flags, 1) < 1) return -1; - if (!((flags & 0xF0)==0x50)) break; - delta-=1; + if (!((flags & 0xF0) == 0x50)) break; + delta -= 1; } // rewind to previous packet - offs=lseek(priv->fd,delta,SEEK_CUR); - if (offs<=0) return -1; - tagsize=get_last_tagsize(cdata); - priv->input_position-=15+tagsize; + offs = lseek(priv->fd, delta, SEEK_CUR); + if (offs <= 0) return -1; + tagsize = get_last_tagsize(cdata); + priv->input_position -= 15 + tagsize; } return pack.dts; } @@ -225,9 +226,9 @@ // read 6 bytes if (read(fd, data, 2) < 2) return FALSE; - if ((data[0]&0xF0)==0x10) return TRUE; + if ((data[0] & 0xF0) == 0x10) return TRUE; - if ((data[0]&0xF0)==0x50 && data[1]==0) return TRUE; // TODO *** - h264 ? may need to seek to next video frame + if ((data[0] & 0xF0) == 0x50 && data[1] == 0) return TRUE; // TODO *** - h264 ? may need to seek to next video frame return FALSE; } @@ -236,12 +237,12 @@ ///////////////////////////////////////////////////// static void index_free(index_entry *idx) { - index_entry *cidx=idx,*next; + index_entry *cidx = idx, *next; - while (cidx!=NULL) { - next=cidx->next; + while (cidx != NULL) { + next = cidx->next; free(cidx); - cidx=next; + cidx = next; } } @@ -254,9 +255,9 @@ static index_entry *index_walk(index_entry *idx, int pts) { - while (idx!=NULL) { - if (pts>=idx->dts&&pts<=idx->dts_max) return idx; - idx=idx->next; + while (idx != NULL) { + if (pts >= idx->dts && pts <= idx->dts_max) return idx; + idx = idx->next; } /// oops. something went wrong return NULL; @@ -264,75 +265,75 @@ index_entry *index_upto(const lives_clip_data_t *cdata, int pts) { - lives_flv_priv_t *priv=cdata->priv; + lives_flv_priv_t *priv = cdata->priv; lives_flv_pack_t pack; - index_entry *nidx=priv->idxc->idxht,*oldht=nidx; - int mid_dts=frame_to_dts(cdata,cdata->nframes-1)>>1; + index_entry *nidx = priv->idxc->idxht, *oldht = nidx; + int mid_dts = frame_to_dts(cdata, cdata->nframes - 1) >> 1; - if (nidx==NULL) priv->input_position=priv->data_start; - else priv->input_position=nidx->offs; + if (nidx == NULL) priv->input_position = priv->data_start; + else priv->input_position = nidx->offs; while (1) { - if (!lives_flv_parse_pack_header(cdata,&pack)) return NULL; + if (!lives_flv_parse_pack_header(cdata, &pack)) return NULL; // TODO *** - for non-avc, may need to find next non-control video packet - if (pack.type==FLV_TAG_TYPE_VIDEO&&pack.size>0) { + if (pack.type == FLV_TAG_TYPE_VIDEO && pack.size > 0) { if (is_keyframe(priv->fd)) { - if (pack.dts>mid_dts||(priv->idxc->idxth!=NULL&&pack.dts>=priv->idxc->idxth->dts)) { + if (pack.dts > mid_dts || (priv->idxc->idxth != NULL && pack.dts >= priv->idxc->idxth->dts)) { // handle case where we cross the mid point, or head and tail list have met - if (priv->idxc->idxth!=NULL&&pack.dts>=priv->idxc->idxth->dts) { + if (priv->idxc->idxth != NULL && pack.dts >= priv->idxc->idxth->dts) { // two lists are now contiguous; swap pointers to indicate this; update old head-tail and return it // we found no keyframes between idxht and idxth, so therefore extend idxht - priv->idxc->idxht->dts_max=priv->idxc->idxth->dts-1; - priv->idxc->idxht->next=priv->idxc->idxth; - nidx=priv->idxc->idxht; // this is the value we will return + priv->idxc->idxht->dts_max = priv->idxc->idxth->dts - 1; + priv->idxc->idxht->next = priv->idxc->idxth; + nidx = priv->idxc->idxht; // this is the value we will return // cross the pointers - priv->idxc->idxht=index_walk(priv->idxc->idxht,mid_dts*4/3); - priv->idxc->idxth=index_walk(priv->idxc->idxhh,mid_dts*2/3); + priv->idxc->idxht = index_walk(priv->idxc->idxht, mid_dts * 4 / 3); + priv->idxc->idxth = index_walk(priv->idxc->idxhh, mid_dts * 2 / 3); return nidx; } - priv->idxc->idxht->dts_max=pack.dts-1; - if (pack.dts>pts) return priv->idxc->idxht; + priv->idxc->idxht->dts_max = pack.dts - 1; + if (pack.dts > pts) return priv->idxc->idxht; // we crossed the mid point but head list is too short - return index_downto(cdata,pts); // index from head of tail list down to pts + return index_downto(cdata, pts); // index from head of tail list down to pts } // add new keyframe - nidx=(index_entry *)malloc(sizeof(index_entry)); - nidx->offs=priv->input_position-11; - nidx->dts=nidx->dts_max=pack.dts; - nidx->next=NULL; - if (priv->idxc->idxht!=NULL) { - oldht=priv->idxc->idxht; - oldht->dts_max=pack.dts-1; - oldht->next=nidx; - } else priv->idxc->idxhh=nidx; - - priv->idxc->idxht=nidx; + nidx = (index_entry *)malloc(sizeof(index_entry)); + nidx->offs = priv->input_position - 11; + nidx->dts = nidx->dts_max = pack.dts; + nidx->next = NULL; + if (priv->idxc->idxht != NULL) { + oldht = priv->idxc->idxht; + oldht->dts_max = pack.dts - 1; + oldht->next = nidx; + } else priv->idxc->idxhh = nidx; + + priv->idxc->idxht = nidx; } - if (pack.dts==pts) { + if (pack.dts == pts) { // result is current keyframe break; } - if (pack.dts>pts) { + if (pack.dts > pts) { // result is previous keyframe - nidx=oldht; + nidx = oldht; break; } } // get next packet - priv->input_position+=pack.size+4; + priv->input_position += pack.size + 4; } @@ -343,76 +344,76 @@ index_entry *index_downto(const lives_clip_data_t *cdata, int pts) { int32_t tagsize; - lives_flv_priv_t *priv=cdata->priv; + lives_flv_priv_t *priv = cdata->priv; lives_flv_pack_t pack; int delta; - index_entry *nidx=priv->idxc->idxth; - int mid_dts=frame_to_dts(cdata,cdata->nframes-1)>>1; + index_entry *nidx = priv->idxc->idxth; + int mid_dts = frame_to_dts(cdata, cdata->nframes - 1) >> 1; - if (nidx==NULL) priv->input_position=get_last_packet_pos(cdata); + if (nidx == NULL) priv->input_position = get_last_packet_pos(cdata); else { - lseek(priv->fd,nidx->offs-4,SEEK_SET); - tagsize=get_last_tagsize(cdata); - priv->input_position=nidx->offs-4-tagsize; + lseek(priv->fd, nidx->offs - 4, SEEK_SET); + tagsize = get_last_tagsize(cdata); + priv->input_position = nidx->offs - 4 - tagsize; } while (1) { - if (!lives_flv_parse_pack_header(cdata,&pack)) return NULL; + if (!lives_flv_parse_pack_header(cdata, &pack)) return NULL; - if (pack.size==0||pack.type!=FLV_TAG_TYPE_VIDEO||(pack.type==FLV_TAG_TYPE_VIDEO&&!is_keyframe(priv->fd))) { + if (pack.size == 0 || pack.type != FLV_TAG_TYPE_VIDEO || (pack.type == FLV_TAG_TYPE_VIDEO && !is_keyframe(priv->fd))) { // get previous packet - delta=-15; - if (pack.type==FLV_TAG_TYPE_VIDEO) delta-=2; // keyframe check uses 2 bytes - lseek(priv->fd,delta,SEEK_CUR); - tagsize=get_last_tagsize(cdata); - priv->input_position-=15+tagsize; + delta = -15; + if (pack.type == FLV_TAG_TYPE_VIDEO) delta -= 2; // keyframe check uses 2 bytes + lseek(priv->fd, delta, SEEK_CUR); + tagsize = get_last_tagsize(cdata); + priv->input_position -= 15 + tagsize; continue; } - if (pack.dts<=mid_dts||(priv->idxc->idxht!=NULL&&pack.dts<=priv->idxc->idxht->dts_max)) { + if (pack.dts <= mid_dts || (priv->idxc->idxht != NULL && pack.dts <= priv->idxc->idxht->dts_max)) { // handle case where we cross the mid point, or head and tail list have met - if (priv->idxc->idxht!=NULL&&pack.dts<=priv->idxc->idxht->dts_max) { + if (priv->idxc->idxht != NULL && pack.dts <= priv->idxc->idxht->dts_max) { // two lists are now contiguous; swap pointers to indicate this; update old head-tail and return it // we found no keyframes between idxth (or last_dts) and idxht, so therefore extend idxht - if (priv->idxc->idxth!=NULL) { - priv->idxc->idxht->dts_max=priv->idxc->idxth->dts-1; - priv->idxc->idxht->next=priv->idxc->idxth; - } else priv->idxc->idxht->dts_max=frame_to_dts(cdata,cdata->nframes)-1; - nidx=priv->idxc->idxht; // this is the value we will return + if (priv->idxc->idxth != NULL) { + priv->idxc->idxht->dts_max = priv->idxc->idxth->dts - 1; + priv->idxc->idxht->next = priv->idxc->idxth; + } else priv->idxc->idxht->dts_max = frame_to_dts(cdata, cdata->nframes) - 1; + nidx = priv->idxc->idxht; // this is the value we will return // cross the pointers - priv->idxc->idxht=index_walk(priv->idxc->idxht,mid_dts*4/3); - priv->idxc->idxth=index_walk(priv->idxc->idxhh,mid_dts*2/3); + priv->idxc->idxht = index_walk(priv->idxc->idxht, mid_dts * 4 / 3); + priv->idxc->idxth = index_walk(priv->idxc->idxhh, mid_dts * 2 / 3); return nidx; } // we crossed the mid point but head list is too short - return index_upto(cdata,pts); // index from tail of head list up to pts + return index_upto(cdata, pts); // index from tail of head list up to pts } // TODO *** - for non-avc, may need to find next non-control video packet // add keyframe - nidx=(index_entry *)malloc(sizeof(index_entry)); - nidx->offs=priv->input_position-11; - nidx->dts=pack.dts; - if (priv->idxc->idxth!=NULL) { - nidx->dts_max=priv->idxc->idxth->dts-1; - nidx->next=priv->idxc->idxth; + nidx = (index_entry *)malloc(sizeof(index_entry)); + nidx->offs = priv->input_position - 11; + nidx->dts = pack.dts; + if (priv->idxc->idxth != NULL) { + nidx->dts_max = priv->idxc->idxth->dts - 1; + nidx->next = priv->idxc->idxth; } else { - nidx->dts_max=frame_to_dts(cdata,cdata->nframes)-1; - nidx->next=NULL; + nidx->dts_max = frame_to_dts(cdata, cdata->nframes) - 1; + nidx->next = NULL; } - priv->idxc->idxth=nidx; - if (nidx->dts<=pts) break; // found what we were looking for + priv->idxc->idxth = nidx; + if (nidx->dts <= pts) break; // found what we were looking for - lseek(priv->fd,-17,SEEK_CUR); - tagsize=get_last_tagsize(cdata); - priv->input_position-=15+tagsize; + lseek(priv->fd, -17, SEEK_CUR); + tagsize = get_last_tagsize(cdata); + priv->input_position -= 15 + tagsize; } @@ -423,34 +424,34 @@ static index_entry *get_idx_for_pts(const lives_clip_data_t *cdata, int64_t pts) { - lives_flv_priv_t *priv=cdata->priv; + lives_flv_priv_t *priv = cdata->priv; int ldts; - index_entry *idxhh=priv->idxc->idxhh; - index_entry *idxth=priv->idxc->idxth; - index_entry *idxht=priv->idxc->idxht; + index_entry *idxhh = priv->idxc->idxhh; + index_entry *idxth = priv->idxc->idxth; + index_entry *idxht = priv->idxc->idxht; - if (idxht!=NULL&&pts>=idxht->dts&&pts<=idxht->dts_max) return idxht; - if (idxth!=NULL&&pts>=idxth->dts&&pts<=idxth->dts_max) return idxth; - if (idxhh!=NULL&&pts<=idxhh->dts_max) return idxhh; + if (idxht != NULL && pts >= idxht->dts && pts <= idxht->dts_max) return idxht; + if (idxth != NULL && pts >= idxth->dts && pts <= idxth->dts_max) return idxth; + if (idxhh != NULL && pts <= idxhh->dts_max) return idxhh; - if (idxht!=NULL&&idxth!=NULL&&idxht->dts>idxth->dts) { + if (idxht != NULL && idxth != NULL && idxht->dts > idxth->dts) { // list is complete, pointers are to 1/3 and 2/3 points (swapped to indicate complete) - if (pts<idxth->dts) return index_walk(idxhh->next,pts); // in first 1/3 - if (pts<idxht->dts) return index_walk(idxth->next,pts); // in second 1/3 - return index_walk(idxht->next,pts); // in last 1/3 + if (pts < idxth->dts) return index_walk(idxhh->next, pts); // in first 1/3 + if (pts < idxht->dts) return index_walk(idxth->next, pts); // in second 1/3 + return index_walk(idxht->next, pts); // in last 1/3 } - ldts=frame_to_dts(cdata,cdata->nframes-1)>>1; // halfway dts + ldts = frame_to_dts(cdata, cdata->nframes - 1) >> 1; // halfway dts - if (pts<=ldts) { + if (pts <= ldts) { // in first half - if (idxhh!=NULL&&pts<idxht->dts) return index_walk(idxhh->next,pts); // somewhere in head list - return index_upto(cdata,pts); // index from tail of head list up to pts + if (idxhh != NULL && pts < idxht->dts) return index_walk(idxhh->next, pts); // somewhere in head list + return index_upto(cdata, pts); // index from tail of head list up to pts } // in second half - if (idxth!=NULL&&pts>idxth->dts_max) return index_walk(idxth->next,pts); - else return index_downto(cdata,pts); + if (idxth != NULL && pts > idxth->dts_max) return index_walk(idxth->next, pts); + else return index_downto(cdata, pts); } @@ -461,29 +462,29 @@ static int flv_get_extradata(lives_clip_data_t *cdata, int size) { int dummy; - lives_flv_priv_t *priv=cdata->priv; + lives_flv_priv_t *priv = cdata->priv; av_free(priv->ctx->extradata); priv->ctx->extradata = av_mallocz(size + FF_INPUT_BUFFER_PADDING_SIZE); - if (priv->ctx->extradata==NULL) return AVERROR(ENOMEM); + if (priv->ctx->extradata == NULL) return AVERROR(ENOMEM); priv->ctx->extradata_size = size; - dummy=read(priv->fd, priv->ctx->extradata, priv->ctx->extradata_size); - dummy=dummy; // keep compiler happy + dummy = read(priv->fd, priv->ctx->extradata, priv->ctx->extradata_size); + dummy = dummy; // keep compiler happy return 0; } static int amf_get_string(unsigned char *inp, char *buf, size_t size) { - size_t len=(inp[0]<<8)+inp[1]; + size_t len = (inp[0] << 8) + inp[1]; - if (len>=size) { - memset(buf,0,1); + if (len >= size) { + memset(buf, 0, 1); return -1; } - memcpy(buf,inp+2,len); - memset(buf+len,0,1); - return len+2; + memcpy(buf, inp + 2, len); + memset(buf + len, 0, 1); + return len + 2; } static index_container_t *idxc_for(lives_clip_data_t *cdata) { @@ -493,13 +494,13 @@ pthread_mutex_lock(&indices_mutex); - for (i=0; i<nidxc; i++) { - if (indices[i]->clients[0]->current_clip==cdata->current_clip&& - !strcmp(indices[i]->clients[0]->URI,cdata->URI)) { - idxc=indices[i]; + for (i = 0; i < nidxc; i++) { + if (indices[i]->clients[0]->current_clip == cdata->current_clip && + !strcmp(indices[i]->clients[0]->URI, cdata->URI)) { + idxc = indices[i]; // append cdata to clients - idxc->clients=(lives_clip_data_t **)realloc(idxc->clients,(idxc->nclients+1)*sizeof(lives_clip_data_t *)); - idxc->clients[idxc->nclients]=cdata; + idxc->clients = (lives_clip_data_t **)realloc(idxc->clients, (idxc->nclients + 1) * sizeof(lives_clip_data_t *)); + idxc->clients[idxc->nclients] = cdata; idxc->nclients++; // pthread_mutex_unlock(&indices_mutex); @@ -507,21 +508,21 @@ } } - indices=(index_container_t **)realloc(indices,(nidxc+1)*sizeof(index_container_t *)); + indices = (index_container_t **)realloc(indices, (nidxc + 1) * sizeof(index_container_t *)); // match not found, create a new index container - idxc=(index_container_t *)malloc(sizeof(index_container_t)); + idxc = (index_container_t *)malloc(sizeof(index_container_t)); - idxc->idxhh=NULL; - idxc->idxht=NULL; - idxc->idxth=NULL; + idxc->idxhh = NULL; + idxc->idxht = NULL; + idxc->idxth = NULL; - idxc->nclients=1; - idxc->clients=(lives_clip_data_t **)malloc(sizeof(lives_clip_data_t *)); - idxc->clients[0]=cdata; - pthread_mutex_init(&idxc->mutex,NULL); + idxc->nclients = 1; + idxc->clients = (lives_clip_data_t **)malloc(sizeof(lives_clip_data_t *)); + idxc->clients[0] = cdata; + pthread_mutex_init(&idxc->mutex, NULL); - indices[nidxc]=idxc; + indices[nidxc] = idxc; pthread_mutex_unlock(&indices_mutex); nidxc++; @@ -531,44 +532,44 @@ static void idxc_release(lives_clip_data_t *cdata) { - lives_flv_priv_t *priv=cdata->priv; - index_container_t *idxc=priv->idxc; - register int i,j; + lives_flv_priv_t *priv = cdata->priv; + index_container_t *idxc = priv->idxc; + register int i, j; - if (idxc==NULL) return; + if (idxc == NULL) return; pthread_mutex_lock(&indices_mutex); - if (idxc->nclients==1) { + if (idxc->nclients == 1) { // remove this index - if (idxc->idxth!=NULL&&(idxc->idxht==NULL||(idxc->idxth->dts>idxc->idxht->dts))) + if (idxc->idxth != NULL && (idxc->idxht == NULL || (idxc->idxth->dts > idxc->idxht->dts))) index_free(priv->idxc->idxth); - if (idxc->idxhh!=NULL) index_free(idxc->idxhh); + if (idxc->idxhh != NULL) index_free(idxc->idxhh); free(idxc->clients); - for (i=0; i<nidxc; i++) { - if (indices[i]==idxc) { + for (i = 0; i < nidxc; i++) { + if (indices[i] == idxc) { nidxc--; - for (j=i; j<nidxc; j++) { - indices[j]=indices[j+1]; + for (j = i; j < nidxc; j++) { + indices[j] = indices[j + 1]; } free(idxc); - if (nidxc==0) { + if (nidxc == 0) { free(indices); - indices=NULL; - } else indices=(index_container_t **)realloc(indices,nidxc*sizeof(index_container_t *)); + indices = NULL; + } else indices = (index_container_t **)realloc(indices, nidxc * sizeof(index_container_t *)); break; } } } else { // reduce client count by 1 - for (i=0; i<idxc->nclients; i++) { - if (idxc->clients[i]==cdata) { + for (i = 0; i < idxc->nclients; i++) { + if (idxc->clients[i] == cdata) { // remove this entry idxc->nclients--; - for (j=i; j<idxc->nclients; j++) { - idxc->clients[j]=idxc->clients[j+1]; + for (j = i; j < idxc->nclients; j++) { + idxc->clients[j] = idxc->clients[j + 1]; } - idxc->clients=(lives_clip_data_t **)realloc(idxc->clients,idxc->nclients*sizeof(lives_clip_data_t *)); + idxc->clients = (lives_clip_data_t **)realloc(idxc->clients, idxc->nclients * sizeof(lives_clip_data_t *)); break; } } @@ -582,38 +583,38 @@ static void idxc_release_all(void) { register int i; - for (i=0; i<nidxc; i++) { - if (indices[i]->idxth!=NULL&&(indices[i]->idxht==NULL||(indices[i]->idxth->dts>indices[i]->idxht->dts))) + for (i = 0; i < nidxc; i++) { + if (indices[i]->idxth != NULL && (indices[i]->idxht == NULL || (indices[i]->idxth->dts > indices[i]->idxht->dts))) index_free(indices[i]->idxth); - if (indices[i]->idxhh!=NULL) index_free(indices[i]->idxhh); + if (indices[i]->idxhh != NULL) index_free(indices[i]->idxhh); free(indices[i]->clients); free(indices[i]); } - nidxc=0; + nidxc = 0; } static void detach_stream(lives_clip_data_t *cdata) { // close the file, free the decoder - lives_flv_priv_t *priv=cdata->priv; + lives_flv_priv_t *priv = cdata->priv; - cdata->seek_flag=0; + cdata->seek_flag = 0; - if (priv->ctx!=NULL) { + if (priv->ctx != NULL) { avcodec_close(priv->ctx); av_free(priv->ctx); } - if (priv->idxc!=NULL) idxc_release(cdata); - priv->idxc=NULL; + if (priv->idxc != NULL) idxc_release(cdata); + priv->idxc = NULL; - if (priv->picture!=NULL) av_frame_unref(&priv->picture); + if (priv->picture != NULL) av_frame_unref(&priv->picture); - priv->ctx=NULL; - priv->codec=NULL; - priv->picture=NULL; + priv->ctx = NULL; + priv->codec = NULL; + priv->picture = NULL; - if (cdata->palettes!=NULL) free(cdata->palettes); - cdata->palettes=NULL; + if (cdata->palettes != NULL) free(cdata->palettes); + cdata->palettes = NULL; close(priv->fd); } @@ -622,111 +623,111 @@ static boolean attach_stream(lives_clip_data_t *cdata, boolean isclone) { // open the file and get a handle - lives_flv_priv_t *priv=cdata->priv; + lives_flv_priv_t *priv = cdata->priv; lives_flv_pack_t pack; char header[FLV_PROBE_SIZE]; char buffer[FLV_META_SIZE]; - unsigned char flags,avctype; - int type,size,vcodec=0,ldts; + unsigned char flags, avctype; + int type, size, vcodec = 0, ldts; - boolean gotmeta=FALSE,in_array=FALSE; + boolean gotmeta = FALSE, in_array = FALSE; boolean hasaudio; - boolean got_astream=FALSE,got_vstream=FALSE; - boolean is_partial_clone=FALSE; + boolean got_astream = FALSE, got_vstream = FALSE; + boolean is_partial_clone = FALSE; - char *key=NULL; - size_t offs=0; - double num_val,fps; + char *key = NULL; + size_t offs = 0; + double num_val, fps; - AVCodec *codec=NULL; - AVCodecContext *ctx=NULL; + AVCodec *codec = NULL; + AVCodecContext *ctx = NULL; - boolean got_picture=FALSE,got_avcextradata=FALSE; + boolean got_picture = FALSE, got_avcextradata = FALSE; // #define DEBUG #ifdef DEBUG - fprintf(stderr,"\n"); + fprintf(stderr, "\n"); #endif - if (isclone&&!priv->inited) { - isclone=FALSE; - if (cdata->fps>0.&&cdata->nframes>0) - is_partial_clone=TRUE; + if (isclone && !priv->inited) { + isclone = FALSE; + if (cdata->fps > 0. && cdata->nframes > 0) + is_partial_clone = TRUE; } - if ((priv->fd=open(cdata->URI,O_RDONLY))==-1) { - fprintf(stderr, "flv_decoder: unable to open %s\n",cdata->URI); + if ((priv->fd = open(cdata->URI, O_RDONLY)) == -1) { + fprintf(stderr, "flv_decoder: unable to open %s\n", cdata->URI); return FALSE; } #ifdef IS_MINGW - setmode(priv->fd,O_BINARY); + setmode(priv->fd, O_BINARY); #endif if (read(priv->fd, header, FLV_PROBE_SIZE) < FLV_PROBE_SIZE) { // for example, might be a directory #ifdef DEBUG - fprintf(stderr, "flv_decoder: unable to read header for %s\n",cdata->URI); + fprintf(stderr, "flv_decoder: unable to read header for %s\n", cdata->URI); #endif close(priv->fd); return FALSE; } - if (header[0] != 'F' || header[1] != 'L' || header[2] != 'V' || header[3] >= 5 || header[5]!=0) { + if (header[0] != 'F' || header[1] != 'L' || header[2] != 'V' || header[3] >= 5 || header[5] != 0) { close(priv->fd); return FALSE; } - flags=header[4]; + flags = header[4]; - if (!(flags&FLV_HEADER_FLAG_HASVIDEO)) { + if (!(flags & FLV_HEADER_FLAG_HASVIDEO)) { close(priv->fd); return FALSE; } - hasaudio=flags&FLV_HEADER_FLAG_HASAUDIO; + hasaudio = flags & FLV_HEADER_FLAG_HASAUDIO; - priv->input_position=4+((header[5]&0xFF)<<24)+((header[6]&0xFF)<<16)+((header[7]&0xFF)<<8)+((header[8]&0xFF)); + priv->input_position = 4 + ((header[5] & 0xFF) << 24) + ((header[6] & 0xFF) << 16) + ((header[7] & 0xFF) << 8) + ((header[8] & 0xFF)); - if (!is_partial_clone) cdata->fps=0.; - cdata->width=cdata->frame_width=cdata->height=cdata->frame_height=0; - cdata->offs_x=cdata->offs_y=0; + if (!is_partial_clone) cdata->fps = 0.; + cdata->width = cdata->frame_width = cdata->height = cdata->frame_height = 0; + cdata->offs_x = cdata->offs_y = 0; - cdata->arate=0; - cdata->achans=0; - cdata->asamps=16; + cdata->arate = 0; + cdata->achans = 0; + cdata->asamps = 16; - priv->idxc=idxc_for(cdata); - priv->inited=TRUE; + priv->idxc = idxc_for(cdata); + priv->inited = TRUE; - if (!lives_flv_parse_pack_header(cdata,&pack)) { + if (!lives_flv_parse_pack_header(cdata, &pack)) { close(priv->fd); return FALSE; } - if (pack.type==FLV_TAG_TYPE_META) { + if (pack.type == FLV_TAG_TYPE_META) { // first packet should be metadata, but not always - if (pack.size<19) { - fprintf(stderr, "flv_decoder: invalid metadata for %s\n",cdata->URI); + if (pack.size < 19) { + fprintf(stderr, "flv_decoder: invalid metadata for %s\n", cdata->URI); close(priv->fd); return FALSE; } - pack.data=malloc(pack.size); + pack.data = malloc(pack.size); if (read(priv->fd, pack.data, pack.size) < pack.size) { - fprintf(stderr, "flv_decoder: error in metadata for %s\n",cdata->URI); + fprintf(stderr, "flv_decoder: error in metadata for %s\n", cdata->URI); free(pack.data); close(priv->fd); return FALSE; } - priv->input_position+=pack.size+4; // 4 bytes for backwards size + priv->input_position += pack.size + 4; // 4 bytes for backwards size - while (offs<pack.size-2) { - if (in_array&&key==NULL) type=AMF_DATA_TYPE_STRING; + while (offs < pack.size - 2) { + if (in_array && key == NULL) type = AMF_DATA_TYPE_STRING; else { - type=(int)(pack.data[offs]&0xFF); + type = (int)(pack.data[offs] & 0xFF); offs++; } @@ -740,24 +741,24 @@ case AMF_DATA_TYPE_STRING: case AMF_DATA_TYPE_LONG_STRING: case AMF_DATA_TYPE_OBJECT: - size=amf_get_string(pack.data+offs, buffer, FLV_META_SIZE); - if (size<=0) size=10000000; - offs+=size; + size = amf_get_string(pack.data + offs, buffer, FLV_META_SIZE); + if (size <= 0) size = 10000000; + offs += size; if (!gotmeta) { if (!strcmp(buffer, "onMetaData")) { - gotmeta=TRUE; + gotmeta = TRUE; } } // deal with string - if (key!=NULL) { - if (!strcmp(key,"comment")) snprintf(cdata->comment,256,"%s",buffer); - if (!strcmp(key,"author")) snprintf(cdata->author,256,"%s",buffer); - if (!strcmp(key,"title")) snprintf(cdata->title,256,"%s",buffer); + if (key != NULL) { + if (!strcmp(key, "comment")) snprintf(cdata->comment, 256, "%s", buffer); + if (!strcmp(key, "author")) snprintf(cdata->author, 256, "%s", buffer); + if (!strcmp(key, "title")) snprintf(cdata->title, 256, "%s", buffer); free(key); - key=NULL; + key = NULL; #ifdef DEBUG - fprintf(stderr,"%s\n",buffer); + fprintf(stderr, "%s\n", buffer); #endif @@ -766,95 +767,95 @@ // read eoo if (!in_array) offs++; } else { - key=strdup(buffer); + key = strdup(buffer); #ifdef DEBUG - fprintf(stderr,"%s:",key); + fprintf(stderr, "%s:", key); #endif } break; case AMF_DATA_TYPE_MIXEDARRAY: #ifdef DEBUG - fprintf(stderr,"mixed"); + fprintf(stderr, "mixed"); #endif - in_array=TRUE; + in_array = TRUE; case AMF_DATA_TYPE_ARRAY: #ifdef DEBUG - fprintf(stderr,"array\n"); + fprintf(stderr, "array\n"); #endif // TODO *** - check for "keyframes" (2 arrays, "filepositions", "times") and "seekPoints" (timestamps in ms) - offs+=4; // max array elem - if (key!=NULL) free(key); - key=NULL; + offs += 4; // max array elem + if (key != NULL) free(key); + key = NULL; //eoo++; break; case AMF_DATA_TYPE_NUMBER: num_val = getfloat64(&pack.data[offs]); #ifdef DEBUG - fprintf(stderr,"%f\n",num_val); + fprintf(stderr, "%f\n", num_val); #endif - offs+=8; + offs += 8; - if (!is_partial_clone&&!strcmp(key,"framerate")) cdata->fps=num_val; - if (!is_partial_clone&&!strcmp(key,"videoframerate")) cdata->fps=num_val; - if (!strcmp(key,"audiosamplerate")) cdata->arate=num_val; - if (!strcmp(key,"audiosamplesize")) cdata->asamps=num_val; + if (!is_partial_clone && !strcmp(key, "framerate")) cdata->fps = num_val; + if (!is_partial_clone && !strcmp(key, "videoframerate")) cdata->fps = num_val; + if (!strcmp(key, "audiosamplerate")) cdata->arate = num_val; + if (!strcmp(key, "audiosamplesize")) cdata->asamps = num_val; //if (!strcmp(key,"lasttimestamp")) lasttimestamp=num_val; - if (!strcmp(key,"height")) cdata->height=num_val; - if (!strcmp(key,"width")) cdata->width=num_val; + if (!strcmp(key, "height")) cdata->height = num_val; + if (!strcmp(key, "width")) cdata->width = num_val; - if (key!=NULL) free(key); - key=NULL; + if (key != NULL) free(key); + key = NULL; break; case AMF_DATA_TYPE_BOOL: - num_val = (int)((pack.data[offs]&0xFF)); + num_val = (int)((pack.data[offs] & 0xFF)); #ifdef DEBUG - fprintf(stderr,"%s\n",((int)num_val==1)?"true":"false"); + fprintf(stderr, "%s\n", ((int)num_val == 1) ? "true" : "false"); #endif - offs+=1; + offs += 1; //if (!strcmp(key,"hasKeyframes")&&num_val==1.) haskeyframes=TRUE; //else if (!strcmp(key,"canSeekToEnd")&&num_val==1.) canseekend=TRUE; - if (!strcmp(key,"hasAudio")&&num_val==0.) hasaudio=FALSE; - else if (!strcmp(key,"stereo")&&num_val==1.) cdata->achans=2; + if (!strcmp(key, "hasAudio") && num_val == 0.) hasaudio = FALSE; + else if (!strcmp(key, "stereo") && num_val == 1.) cdata->achans = 2; - if (key!=NULL) free(key); - key=NULL; + if (key != NULL) free(key); + key = NULL; break; case AMF_DATA_TYPE_DATE: - offs+=10; - if (key!=NULL) free(key); - key=NULL; + offs += 10; + if (key != NULL) free(key); + key = NULL; #ifdef DEBUG - fprintf(stderr,"\n"); + fprintf(stderr, "\n"); #endif break; default: - if (key!=NULL) free(key); - key=NULL; + if (key != NULL) free(key); + key = NULL; break; } } - if (key!=NULL) free(key); - key=NULL; + if (key != NULL) free(key); + key = NULL; free(pack.data); if (!gotmeta) { - fprintf(stderr, "flv_decoder: no metadata found for %s\n",cdata->URI); + fprintf(stderr, "flv_decoder: no metadata found for %s\n", cdata->URI); close(priv->fd); return FALSE; } @@ -866,111 +867,111 @@ } */ - } else priv->input_position-=11; + } else priv->input_position -= 11; - cdata->seek_flag=LIVES_SEEK_FAST|LIVES_SEEK_NEEDS_CALCULATION; + cdata->seek_flag = LIVES_SEEK_FAST | LIVES_SEEK_NEEDS_CALCULATION; - cdata->offs_x=0; - cdata->offs_y=0; + cdata->offs_x = 0; + cdata->offs_y = 0; - priv->data_start=priv->input_position; + priv->data_start = priv->input_position; - if (!hasaudio) got_astream=TRUE; + if (!hasaudio) got_astream = TRUE; priv->ctx = NULL; - sprintf(cdata->audio_name,"%s",""); + sprintf(cdata->audio_name, "%s", ""); // now we get the stream data while (!got_astream || !got_vstream) { do { - if (!lives_flv_parse_pack_header(cdata,&pack)) { + if (!lives_flv_parse_pack_header(cdata, &pack)) { close(priv->fd); return FALSE; } - if (pack.size==0) priv->input_position+=4; // backwards size - } while (pack.size==0); + if (pack.size == 0) priv->input_position += 4; // backwards size + } while (pack.size == 0); - pack.data=malloc(8); // we only need at most 8 bytes here + pack.data = malloc(8); // we only need at most 8 bytes here if (read(priv->fd, pack.data, 8) < 8) { - fprintf(stderr, "flv_decoder: error in stream header for %s\n",cdata->URI); + fprintf(stderr, "flv_decoder: error in stream header for %s\n", cdata->URI); free(pack.data); close(priv->fd); return FALSE; } - priv->input_position+=pack.size+4; + priv->input_position += pack.size + 4; // audio just for info - if (pack.type==FLV_TAG_TYPE_AUDIO) { + if (pack.type == FLV_TAG_TYPE_AUDIO) { int acodec; - flags=pack.data[0]; - acodec=flags&FLV_AUDIO_CODECID_MASK; + flags = pack.data[0]; + acodec = flags & FLV_AUDIO_CODECID_MASK; switch (acodec) { case 0: // platform endian - sprintf(cdata->audio_name,"%s","pcm"); + sprintf(cdata->audio_name, "%s", "pcm"); break; case 1: - sprintf(cdata->audio_name,"%s","adpcm"); + sprintf(cdata->audio_name, "%s", "adpcm"); break; case 14: - cdata->arate=8192; + cdata->arate = 8192; case 2: - sprintf(cdata->audio_name,"%s","mp3"); + sprintf(cdata->audio_name, "%s", "mp3"); break; case 3: // little endian - sprintf(cdata->audio_name,"%s","pcm"); + sprintf(cdata->audio_name, "%s", "pcm"); break; case 4: case 5: case 6: - sprintf(cdata->audio_name,"%s","nellymoser"); + sprintf(cdata->audio_name, "%s", "nellymoser"); break; case 7: case 8: - sprintf(cdata->audio_name,"%s","logpcm"); + sprintf(cdata->audio_name, "%s", "logpcm"); break; case 10: - sprintf(cdata->audio_name,"%s","aac"); + sprintf(cdata->audio_name, "%s", "aac"); break; case 11: - sprintf(cdata->audio_name,"%s","speex"); + sprintf(cdata->audio_name, "%s", "speex"); break; default: break; } - if (cdata->arate==0) { - unsigned char aratec=flags&FLV_AUDIO_SAMPLERATE_MASK; - cdata->arate=44100; - if (aratec<3) cdata->arate>>=1; - if (aratec<2) cdata->arate>>=1; - if (aratec==0) cdata->arate=5500; + if (cdata->arate == 0) { + unsigned char aratec = flags & FLV_AUDIO_SAMPLERATE_MASK; + cdata->arate = 44100; + if (aratec < 3) cdata->arate >>= 1; + if (aratec < 2) cdata->arate >>= 1; + if (aratec == 0) cdata->arate = 5500; } - if (cdata->achans==0) { - cdata->achans=2; - if ((flags&FLV_AUDIO_CHANNEL_MASK)==0) cdata->achans=1; + if (cdata->achans == 0) { + cdata->achans = 2; + if ((flags & FLV_AUDIO_CHANNEL_MASK) == 0) cdata->achans = 1; } - if (cdata->asamps==0) { - cdata->asamps=16; - if ((flags&FLV_AUDIO_SAMPLESIZE_MASK)==0) cdata->asamps=8; + if (cdata->asamps == 0) { + cdata->asamps = 16; + if ((flags & FLV_AUDIO_SAMPLESIZE_MASK) == 0) cdata->asamps = 8; } - got_astream=TRUE; + got_astream = TRUE; } // only care about video here - if (pack.type==FLV_TAG_TYPE_VIDEO) { - flags=pack.data[0]; + if (pack.type == FLV_TAG_TYPE_VIDEO) { + flags = pack.data[0]; - if ((flags & 0xF0)==0x50) { // video info / command frame + if ((flags & 0xF0) == 0x50) { // video info / command frame free(pack.data); continue; } @@ -978,71 +979,71 @@ if (got_vstream) { #ifdef DEBUG - fprintf(stderr,"flv_decoder: got duplicate video stream in %s\n",cdata->URI); + fprintf(stderr, "flv_decoder: got duplicate video stream in %s\n", cdata->URI); #endif free(pack.data); continue; } - got_vstream=TRUE; - priv->data_start=priv->input_position-pack.size-4-11; + got_vstream = TRUE; + priv->data_start = priv->input_position - pack.size - 4 - 11; vcodec = flags & FLV_VIDEO_CODECID_MASK; // let avcodec do some of the work now - priv->pack_offset=0; + priv->pack_offset = 0; switch (vcodec) { case FLV_CODECID_H263 : - sprintf(cdata->video_name,"%s","flv1"); + sprintf(cdata->video_name, "%s", "flv1"); codec = avcodec_find_decoder(CODEC_ID_FLV1); - priv->pack_offset=1; + priv->pack_offset = 1; break; case FLV_CODECID_SCREEN: - sprintf(cdata->video_name,"%s","flashsv"); + sprintf(cdata->video_name, "%s", "flashsv"); codec = avcodec_find_decoder(CODEC_ID_FLASHSV); - priv->pack_offset=1; + priv->pack_offset = 1; break; case FLV_CODECID_SCREEN2: - sprintf(cdata->video_name,"%s","flashsv2"); + sprintf(cdata->video_name, "%s", "flashsv2"); codec = avcodec_find_decoder(CODEC_ID_FLASHSV2); - priv->pack_offset=1; + priv->pack_offset = 1; break; case FLV_CODECID_VP6 : - sprintf(cdata->video_name,"%s","vp6f"); - cdata->offs_x=(pack.data[1]&0X0F)>>1; // divide by 2 for offset - cdata->offs_y=(pack.data[1]&0XF0)>>5; // divide by 2 for offset - if (cdata->width==0) cdata->width=pack.data[7]*16-cdata->offs_x*2; - if (cdata->height==0) cdata->height=pack.data[6]*16-cdata->offs_y*2; + sprintf(cdata->video_name, "%s", "vp6f"); + cdata->offs_x = (pack.data[1] & 0X0F) >> 1; // divide by 2 for offset + cdata->offs_y = (pack.data[1] & 0XF0) >> 5; // divide by 2 for offset + if (cdata->width == 0) cdata->width = pack.data[7] * 16 - cdata->offs_x * 2; + if (cdata->height == 0) cdata->height = pack.data[6] * 16 - cdata->offs_y * 2; codec = avcodec_find_decoder(CODEC_ID_VP6F); - priv->pack_offset=2; + priv->pack_offset = 2; break; case FLV_CODECID_VP6A : codec = avcodec_find_decoder(CODEC_ID_VP6A); priv->ctx = ctx = avcodec_alloc_context3(codec); - sprintf(cdata->video_name,"%s","vp6a"); - cdata->offs_x=(pack.data[1]&0X0F)>>1; // divide by 2 for offset - cdata->offs_y=(pack.data[1]&0XF0)>>5; // divide by 2 for offset - if (cdata->width==0) cdata->width=pack.data[7]*16-cdata->offs_x*2; - if (cdata->height==0) cdata->height=pack.data[6]*16-cdata->offs_y*2; + sprintf(cdata->video_name, "%s", "vp6a"); + cdata->offs_x = (pack.data[1] & 0X0F) >> 1; // divide by 2 for offset + cdata->offs_y = (pack.data[1] & 0XF0) >> 5; // divide by 2 for offset + if (cdata->width == 0) cdata->width = pack.data[7] * 16 - cdata->offs_x * 2; + if (cdata->height == 0) cdata->height = pack.data[6] * 16 - cdata->offs_y * 2; if (ctx->extradata_size != 1) { ctx->extradata_size = 1; ctx->extradata = av_malloc(1); } ctx->extradata[0] = pack.data[1]; - priv->pack_offset=2; + priv->pack_offset = 2; break; case FLV_CODECID_H264: // broken.... - sprintf(cdata->video_name,"%s","h264"); + sprintf(cdata->video_name, "%s", "h264"); codec = avcodec_find_decoder(CODEC_ID_H264); - priv->pack_offset=5; + priv->pack_offset = 5; break; default: - fprintf(stderr,"flv_decoder: unknown video stream type (%d) in %s\n",vcodec,cdata->URI); - memset(cdata->video_name,0,1); + fprintf(stderr, "flv_decoder: unknown video stream type (%d) in %s\n", vcodec, cdata->URI); + memset(cdata->video_name, 0, 1); break; } @@ -1055,19 +1056,19 @@ #ifdef DEBUG - fprintf(stderr,"video type is %s %d x %d (%d x %d +%d +%d)\n",cdata->video_name, - cdata->width,cdata->height,cdata->frame_width,cdata->frame_height,cdata->offs_x,cdata->offs_y); + fprintf(stderr, "video type is %s %d x %d (%d x %d +%d +%d)\n", cdata->video_name, + cdata->width, cdata->height, cdata->frame_width, cdata->frame_height, cdata->offs_x, cdata->offs_y); #endif if (!codec) { - if (strlen(cdata->video_name)>0) - fprintf(stderr, "flv_decoder: Could not find avcodec codec for video type %s\n",cdata->video_name); + if (strlen(cdata->video_name) > 0) + fprintf(stderr, "flv_decoder: Could not find avcodec codec for video type %s\n", cdata->video_name); detach_stream(cdata); return FALSE; } - if (ctx==NULL) + if (ctx == NULL) priv->ctx = ctx = avcodec_alloc_context3(codec); if (avcodec_open2(ctx, codec, NULL) < 0) { @@ -1076,81 +1077,81 @@ return FALSE; } - priv->codec=codec; + priv->codec = codec; // re-scan with avcodec; priv->data_start holds video data start position - priv->input_position=priv->data_start; + priv->input_position = priv->data_start; - lives_flv_parse_pack_header(cdata,&pack); + lives_flv_parse_pack_header(cdata, &pack); - if (vcodec==FLV_CODECID_H264) { + if (vcodec == FLV_CODECID_H264) { // check for extradata while (1) { - priv->input_position+=pack.size+4; + priv->input_position += pack.size + 4; - if (pack.size==0) { - lives_flv_parse_pack_header(cdata,&pack); + if (pack.size == 0) { + lives_flv_parse_pack_header(cdata, &pack); continue; } - if (pack.type!=FLV_TAG_TYPE_VIDEO) { - lives_flv_parse_pack_header(cdata,&pack); + if (pack.type != FLV_TAG_TYPE_VIDEO) { + lives_flv_parse_pack_header(cdata, &pack); continue; } // read 5 bytes - pack.data=malloc(5); + pack.data = malloc(5); if (read(priv->fd, pack.data, 5) < 5) { - fprintf(stderr, "flv_decoder: error in stream header for %s\n",cdata->URI); + fprintf(stderr, "flv_decoder: error in stream header for %s\n", cdata->URI); free(pack.data); detach_stream(cdata); return FALSE; } - flags=pack.data[0]; - avctype=pack.data[1]; + flags = pack.data[0]; + avctype = pack.data[1]; - if ((flags & 0xF0)==0x50) { // video info / command frame + if ((flags & 0xF0) == 0x50) { // video info / command frame free(pack.data); - lives_flv_parse_pack_header(cdata,&pack); + lives_flv_parse_pack_header(cdata, &pack); continue; } - if (avctype==1&&got_avcextradata) { + if (avctype == 1 && got_avcextradata) { // got first real video packet - priv->input_position-=(pack.size+4); - priv->data_start=priv->input_position-11; + priv->input_position -= (pack.size + 4); + priv->data_start = priv->input_position - 11; free(pack.data); break; } - if (avctype==0) { // avc header for h264 + if (avctype == 0) { // avc header for h264 #ifdef DEBUG - fprintf(stderr,"getting extradata size %d\n",pack.size-5); + fprintf(stderr, "getting extradata size %d\n", pack.size - 5); #endif - flv_get_extradata(cdata,pack.size-5); + flv_get_extradata(cdata, pack.size - 5); free(pack.data); - got_avcextradata=TRUE; - lives_flv_parse_pack_header(cdata,&pack); + got_avcextradata = TRUE; + lives_flv_parse_pack_header(cdata, &pack); continue; } } - } else if (priv->pack_offset!=0) lseek(priv->fd,priv->pack_offset,SEEK_CUR); + } else if (priv->pack_offset != 0) lseek(priv->fd, priv->pack_offset, SEEK_CUR); if (isclone) return TRUE; - pack.data=malloc(pack.size-priv->pack_offset+FF_INPUT_BUFFER_PADDING_SIZE); + pack.data = malloc(pack.size - priv->pack_offset + FF_INPUT_BUFFER_PADDING_SIZE); av_init_packet(&priv->avpkt); - priv->avpkt.size=read(priv->fd, pack.data, pack.size-priv->pack_offset); - memset(pack.data+priv->avpkt.size,0,FF_INPUT_BUFFER_PADDING_SIZE); - priv->input_position+=pack.size+4; + priv->avpkt.size = read(priv->fd, pack.data, pack.size - priv->pack_offset); + memset(pack.data + priv->avpkt.size, 0, FF_INPUT_BUFFER_PADDING_SIZE); + priv->input_position += pack.size + 4; priv->avpkt.data = pack.data; - priv->avpkt.dts=priv->avpkt.pts=pack.dts; + priv->avpkt.dts = priv->avpkt.pts = pack.dts; priv->picture = av_frame_alloc(); @@ -1159,11 +1160,11 @@ // this does not work for h264 and I dont know why not !!!!!!!!!!!!!!!!!!!! #if LIBAVCODEC_VERSION_MAJOR >= 52 - len=avcodec_decode_video2(ctx, priv->picture, &got_picture, &priv->avpkt); + len = avcodec_decode_video2(ctx, priv->picture, &got_picture, &priv->avpkt); #else - len=avcodec_decode_video(ctx, priv->picture, &got_picture, priv->avpkt.data, priv->avpkt.size); + len = avcodec_decode_video(ctx, priv->picture, &got_picture, priv->avpkt.data, priv->avpkt.size); #endif - len=len; + len = len; if (!got_picture) { break; // code below should pull more packets for h264, but still does not work !!!!!! @@ -1171,44 +1172,44 @@ // pull next video packet while (1) { - lives_flv_parse_pack_header(cdata,&pack); - priv->input_position+=pack.size+4; - if (pack.size==0) continue; + lives_flv_parse_pack_header(cdata, &pack); + priv->input_position += pack.size + 4; + if (pack.size == 0) continue; - if (pack.type==FLV_TAG_TYPE_VIDEO) { + if (pack.type == FLV_TAG_TYPE_VIDEO) { - pack.data=malloc(5); // we only need at most 5 bytes here + pack.data = malloc(5); // we only need at most 5 bytes here if (read(priv->fd, pack.data, 5) < 5) { - fprintf(stderr, "flv_decoder: error in stream header for %s\n",cdata->URI); + fprintf(stderr, "flv_decoder: error in stream header for %s\n", cdata->URI); free(pack.data); close(priv->fd); return FALSE; } - flags=pack.data[0]; - avctype=pack.data[1]; + flags = pack.data[0]; + avctype = pack.data[1]; - if ((flags & 0xF0)==0x50) { // video info / command frame + if ((flags & 0xF0) == 0x50) { // video info / command frame free(pack.data); continue; } - if (avctype==0) { // avc header for h264 - printf("getting extradata %d %d\n",ctx->extradata_size,pack.size); - flv_get_extradata(cdata,pack.size-5); + if (avctype == 0) { // avc header for h264 + printf("getting extradata %d %d\n", ctx->extradata_size, pack.size); + flv_get_extradata(cdata, pack.size - 5); free(pack.data); continue; } - if (avctype!=1) { // avc header for h264 + if (avctype != 1) { // avc header for h264 free(pack.data); continue; } - pack.data=malloc(pack.size-priv->pack_offset+FF_INPUT_BUFFER_PADDING_SIZE); - if (priv->pack_offset!=5) lseek(priv->fd,priv->pack_offset-5,SEEK_CUR); - priv->avpkt.size=read(priv->fd, pack.data, pack.size-priv->pack_offset); - memset(pack.data+priv->avpkt.size,0,FF_INPUT_BUFFER_PADDING_SIZE); + pack.data = malloc(pack.size - priv->pack_offset + FF_INPUT_BUFFER_PADDING_SIZE); + if (priv->pack_offset != 5) lseek(priv->fd, priv->pack_offset - 5, SEEK_CUR); + priv->avpkt.size = read(priv->fd, pack.data, pack.size - priv->pack_offset); + memset(pack.data + priv->avpkt.size, 0, FF_INPUT_BUFFER_PADDING_SIZE); priv->avpkt.data = pack.data; break; } @@ -1220,103 +1221,103 @@ free(pack.data); if (!got_picture) { - fprintf(stderr,"flv_decoder: could not get picture.\n"); + fprintf(stderr, "flv_decoder: could not get picture.\n"); detach_stream(cdata); return FALSE; } - cdata->YUV_clamping=WEED_YUV_CLAMPING_UNCLAMPED; - if (ctx->color_range==AVCOL_RANGE_MPEG) cdata->YUV_clamping=WEED_YUV_CLAMPING_CLAMPED; + cdata->YUV_clamping = WEED_YUV_CLAMPING_UNCLAMPED; + if (ctx->color_range == AVCOL_RANGE_MPEG) cdata->YUV_clamping = WEED_YUV_CLAMPING_CLAMPED; - cdata->YUV_sampling=WEED_YUV_SAMPLING_DEFAULT; - if (ctx->chroma_sample_location!=AVCHROMA_LOC_LEFT) cdata->YUV_sampling=WEED_YUV_SAMPLING_MPEG; + cdata->YUV_sampling = WEED_YUV_SAMPLING_DEFAULT; + if (ctx->chroma_sample_location != AVCHROMA_LOC_LEFT) cdata->YUV_sampling = WEED_YUV_SAMPLING_MPEG; - cdata->YUV_subspace=WEED_YUV_SUBSPACE_YCBCR; - if (ctx->colorspace==AVCOL_SPC_BT709) cdata->YUV_subspace=WEED_YUV_SUBSPACE_BT709; + cdata->YUV_subspace = WEED_YUV_SUBSPACE_YCBCR; + if (ctx->colorspace == AVCOL_SPC_BT709) cdata->YUV_subspace = WEED_YUV_SUBSPACE_BT709; - cdata->palettes[0]=avi_pix_fmt_to_weed_palette(ctx->pix_fmt, - &cdata->YUV_clamping); + cdata->palettes[0] = avi_pix_fmt_to_weed_palette(ctx->pix_fmt, + &cdata->YUV_clamping); - if (cdata->palettes[0]==WEED_PALETTE_END) { - fprintf(stderr, "flv_decoder: Could not find a usable palette for (%d) %s\n",ctx->pix_fmt,cdata->URI); + if (cdata->palettes[0] == WEED_PALETTE_END) { + fprintf(stderr, "flv_decoder: Could not find a usable palette for (%d) %s\n", ctx->pix_fmt, cdata->URI); detach_stream(cdata); return FALSE; } - cdata->current_palette=cdata->palettes[0]; + cdata->current_palette = cdata->palettes[0]; // re-get fps, width, height, nframes - actually avcodec is pretty useless at getting this // so we fall back on the values we obtained ourselves - if (cdata->width==0) cdata->width=ctx->width-cdata->offs_x*2; - if (cdata->height==0) cdata->height=ctx->height-cdata->offs_y*2; + if (cdata->width == 0) cdata->width = ctx->width - cdata->offs_x * 2; + if (cdata->height == 0) cdata->height = ctx->height - cdata->offs_y * 2; - if (cdata->width*cdata->height==0) { - fprintf(stderr, "flv_decoder: invalid width and height (%d X %d)\n",cdata->width,cdata->height); + if (cdata->width * cdata->height == 0) { + fprintf(stderr, "flv_decoder: invalid width and height (%d X %d)\n", cdata->width, cdata->height); detach_stream(cdata); return FALSE; } #ifdef DEBUG - fprintf(stderr,"using palette %d, size %d x %d\n", - cdata->current_palette,cdata->width,cdata->height); + fprintf(stderr, "using palette %d, size %d x %d\n", + cdata->current_palette, cdata->width, cdata->height); #endif - cdata->par=(double)ctx->sample_aspect_ratio.num/(double)ctx->sample_aspect_ratio.den; - if (cdata->par==0.) cdata->par=1.; + cdata->par = (double)ctx->sample_aspect_ratio.num / (double)ctx->sample_aspect_ratio.den; + if (cdata->par == 0.) cdata->par = 1.; if (!is_partial_clone) { - if (ctx->time_base.den>0&&ctx->time_base.num>0) { - fps=(double)ctx->time_base.den/(double)ctx->time_base.num; - if (fps!=1000.) cdata->fps=fps; + if (ctx->time_base.den > 0 && ctx->time_base.num > 0) { + fps = (double)ctx->time_base.den / (double)ctx->time_base.num; + if (fps != 1000.) cdata->fps = fps; } } - if (cdata->fps==0.||cdata->fps==1000.) { + if (cdata->fps == 0. || cdata->fps == 1000.) { int res = get_fps(cdata->URI); if (res >= 0) cdata->fps = res; } - if (cdata->fps==0.&&ctx->time_base.num==0) { + if (cdata->fps == 0. && ctx->time_base.num == 0) { // not sure about this - if (ctx->time_base.den==1) cdata->fps=12.; + if (ctx->time_base.den == 1) cdata->fps = 12.; } - if (cdata->fps==0.||cdata->fps==1000.) { - fprintf(stderr, "flv_decoder: invalid framerate %.4f (%d / %d)\n",cdata->fps,ctx->time_base.den,ctx->time_base.num); + if (cdata->fps == 0. || cdata->fps == 1000.) { + fprintf(stderr, "flv_decoder: invalid framerate %.4f (%d / %d)\n", cdata->fps, ctx->time_base.den, ctx->time_base.num); detach_stream(cdata); return FALSE; } - if (ctx->ticks_per_frame==2) { + if (ctx->ticks_per_frame == 2) { // TODO - needs checking - cdata->fps/=2.; - cdata->interlace=LIVES_INTERLACE_BOTTOM_FIRST; + cdata->fps /= 2.; + cdata->interlace = LIVES_INTERLACE_BOTTOM_FIRST; } - priv->last_frame=-1; + priv->last_frame = -1; if (is_partial_clone) return TRUE; - ldts=get_last_video_dts(cdata); + ldts = get_last_video_dts(cdata); - if (ldts==-1) { + if (ldts == -1) { fprintf(stderr, "flv_decoder: could not read last dts\n"); detach_stream(cdata); return FALSE; } - cdata->nframes=dts_to_frame(cdata,ldts)+2; + cdata->nframes = dts_to_frame(cdata, ldts) + 2; // double check, sometimes we can be out by one or two frames while (1) { - if (get_frame(cdata,cdata->nframes-1,NULL,0,NULL)) break; + if (get_frame(cdata, cdata->nframes - 1, NULL, 0, NULL)) break; cdata->nframes--; } #ifdef DEBUG - fprintf(stderr,"fps is %.4f %ld\n",cdata->fps,cdata->nframes); + fprintf(stderr, "fps is %.4f %ld\n", cdata->fps, cdata->nframes); #endif @@ -1331,9 +1332,9 @@ const char *module_check_init(void) { avcodec_register_all(); - indices=NULL; - nidxc=0; - pthread_mutex_init(&indices_mutex,NULL); + indices = NULL; + nidxc = 0; + pthread_mutex_init(&indices_mutex, NULL); return NULL; } @@ -1346,120 +1347,120 @@ static lives_clip_data_t *init_cdata(void) { lives_flv_priv_t *priv; - lives_clip_data_t *cdata=(lives_clip_data_t *)malloc(sizeof(lives_clip_data_t)); + lives_clip_data_t *cdata = (lives_clip_data_t *)malloc(sizeof(lives_clip_data_t)); - cdata->URI=NULL; + cdata->URI = NULL; - cdata->priv=priv=malloc(sizeof(lives_flv_priv_t)); + cdata->priv = priv = malloc(sizeof(lives_flv_priv_t)); - cdata->seek_flag=0; + cdata->seek_flag = 0; - priv->ctx=NULL; - priv->codec=NULL; - priv->picture=NULL; - priv->inited=FALSE; + priv->ctx = NULL; + priv->codec = NULL; + priv->picture = NULL; + priv->inited = FALSE; - cdata->palettes=(int *)malloc(2*sizeof(int)); - cdata->palettes[1]=WEED_PALETTE_END; + cdata->palettes = (int *)malloc(2 * sizeof(int)); + cdata->palettes[1] = WEED_PALETTE_END; - cdata->video_start_time=0.; + cdata->video_start_time = 0.; - cdata->sync_hint=0; + cdata->sync_hint = 0; - memset(cdata->author,0,1); - memset(cdata->title,0,1); - memset(cdata->comment,0,1); + memset(cdata->author, 0, 1); + memset(cdata->title, 0, 1); + memset(cdata->comment, 0, 1); return cdata; } static lives_clip_data_t *flv_clone(lives_clip_data_t *cdata) { - lives_clip_data_t *clone=init_cdata(); - lives_flv_priv_t *dpriv,*spriv; + lives_clip_data_t *clone = init_cdata(); + lives_flv_priv_t *dpriv, *spriv; // copy from cdata to clone, with a new context for clone - clone->URI=strdup(cdata->URI); - clone->nclips=cdata->nclips; - snprintf(clone->container_name,512,"%s",cdata->container_name); - clone->current_clip=cdata->current_clip; - - clone->width=cdata->width; - clone->height=cdata->height; - clone->nframes=cdata->nframes; - clone->interlace=cdata->interlace; - clone->offs_x=cdata->offs_x; - clone->offs_y=cdata->offs_y; - clone->frame_width=cdata->frame_width; - clone->frame_height=cdata->frame_height; - clone->par=cdata->par; - clone->fps=cdata->fps; - if (cdata->palettes!=NULL) clone->palettes[0]=cdata->palettes[0]; - clone->current_palette=cdata->current_palette; - clone->YUV_sampling=cdata->YUV_sampling; - clone->YUV_clamping=cdata->YUV_clamping; - snprintf(clone->video_name,512,"%s",cdata->video_name); - clone->arate=cdata->arate; - clone->achans=cdata->achans; - clone->asamps=cdata->asamps; - clone->asigned=cdata->asigned; - clone->ainterleaf=cdata->ainterleaf; - snprintf(clone->audio_name,512,"%s",cdata->audio_name); - clone->seek_flag=cdata->seek_flag; - clone->sync_hint=cdata->sync_hint; - - snprintf(clone->author,256,"%s",cdata->author); - snprintf(clone->title,256,"%s",cdata->title); - snprintf(clone->comment,256,"%s",cdata->comment); + clone->URI = strdup(cdata->URI); + clone->nclips = cdata->nclips; + snprintf(clone->container_name, 512, "%s", cdata->container_name); + clone->current_clip = cdata->current_clip; + + clone->width = cdata->width; + clone->height = cdata->height; + clone->nframes = cdata->nframes; + clone->interlace = cdata->interlace; + clone->offs_x = cdata->offs_x; + clone->offs_y = cdata->offs_y; + clone->frame_width = cdata->frame_width; + clone->frame_height = cdata->frame_height; + clone->par = cdata->par; + clone->fps = cdata->fps; + if (cdata->palettes != NULL) clone->palettes[0] = cdata->palettes[0]; + clone->current_palette = cdata->current_palette; + clone->YUV_sampling = cdata->YUV_sampling; + clone->YUV_clamping = cdata->YUV_clamping; + snprintf(clone->video_name, 512, "%s", cdata->video_name); + clone->arate = cdata->arate; + clone->achans = cdata->achans; + clone->asamps = cdata->asamps; + clone->asigned = cdata->asigned; + clone->ainterleaf = cdata->ainterleaf; + snprintf(clone->audio_name, 512, "%s", cdata->audio_name); + clone->seek_flag = cdata->seek_flag; + clone->sync_hint = cdata->sync_hint; + + snprintf(clone->author, 256, "%s", cdata->author); + snprintf(clone->title, 256, "%s", cdata->title); + snprintf(clone->comment, 256, "%s", cdata->comment); // create "priv" elements - dpriv=clone->priv; - spriv=cdata->priv; + dpriv = clone->priv; + spriv = cdata->priv; - if (spriv!=NULL) { - dpriv->inited=TRUE; + if (spriv != NULL) { + dpriv->inited = TRUE; } - if (!attach_stream(clone,TRUE)) { + if (!attach_stream(clone, TRUE)) { free(clone->URI); - clone->URI=NULL; + clone->URI = NULL; clip_data_free(clone); return NULL; } - if (spriv!=NULL) { - dpriv->data_start=spriv->data_start; + if (spriv != NULL) { + dpriv->data_start = spriv->data_start; } else { - clone->nclips=1; + clone->nclips = 1; /////////////////////////////////////////////////////////// - sprintf(clone->container_name,"%s","flv"); + sprintf(clone->container_name, "%s", "flv"); // cdata->height was set when we attached the stream - clone->interlace=LIVES_INTERLACE_NONE; + clone->interlace = LIVES_INTERLACE_NONE; - clone->frame_width=clone->width+clone->offs_x*2; - clone->frame_height=clone->height+clone->offs_y*2; + clone->frame_width = clone->width + clone->offs_x * 2; + clone->frame_height = clone->height + clone->offs_y * 2; // TODO - check this = spec suggests we should cut right and bottom - if (dpriv->ctx->width==clone->frame_width) clone->offs_x=0; - if (dpriv->ctx->height==clone->frame_height) clone->offs_y=0; + if (dpriv->ctx->width == clone->frame_width) clone->offs_x = 0; + if (dpriv->ctx->height == clone->frame_height) clone->offs_y = 0; //////////////////////////////////////////////////////////////////// - clone->asigned=TRUE; - clone->ainterleaf=TRUE; + clone->asigned = TRUE; + clone->ainterleaf = TRUE; } - if (dpriv->picture!=NULL) av_frame_unref(&dpriv->picture); - dpriv->picture=NULL; + if (dpriv->picture != NULL) av_frame_unref(&dpriv->picture); + dpriv->picture = NULL; - dpriv->last_frame=-1; - dpriv->avpkt.data=NULL; - dpriv->avpkt.size=0; + dpriv->last_frame = -1; + dpriv->avpkt.data = NULL; + dpriv->avpkt.size = 0; return clone; } @@ -1481,212 +1482,213 @@ lives_flv_priv_t *priv; - if (URI==NULL&&cdata!=NULL) { + if (URI == NULL && cdata != NULL) { // create a clone of cdata - we also need to be able to handle a "fake" clone with only URI, nframes and fps set (priv == NULL) return flv_clone(cdata); } - if (cdata!=NULL&&cdata->current_clip>0) { + if (cdata != NULL && cdata->current_clip > 0) { // currently we only support one clip per container clip_data_free(cdata); return NULL; } - if (cdata==NULL) { - cdata=init_cdata(); + if (cdata == NULL) { + cdata = init_cdata(); } - if (cdata->URI==NULL||strcmp(URI,cdata->URI)) { - if (cdata->URI!=NULL) { + if (cdata->URI == NULL || strcmp(URI, cdata->URI)) { + if (cdata->URI != NULL) { detach_stream(cdata); free(cdata->URI); } - cdata->URI=strdup(URI); - if (!attach_stream(cdata,FALSE)) { + cdata->URI = strdup(URI); + if (!attach_stream(cdata, FALSE)) { free(cdata->URI); - cdata->URI=NULL; + cdata->URI = NULL; clip_data_free(cdata); return NULL; } - cdata->current_palette=cdata->palettes[0]; - cdata->current_clip=0; + cdata->current_palette = cdata->palettes[0]; + cdata->current_clip = 0; } - cdata->nclips=1; + cdata->nclips = 1; /////////////////////////////////////////////////////////// - sprintf(cdata->container_name,"%s","flv"); + sprintf(cdata->container_name, "%s", "flv"); // cdata->height was set when we attached the stream - cdata->interlace=LIVES_INTERLACE_NONE; + cdata->interlace = LIVES_INTERLACE_NONE; - cdata->frame_width=cdata->width+cdata->offs_x*2; - cdata->frame_height=cdata->height+cdata->offs_y*2; + cdata->frame_width = cdata->width + cdata->offs_x * 2; + cdata->frame_height = cdata->height + cdata->offs_y * 2; - priv=cdata->priv; + priv = cdata->priv; // TODO - check this = spec suggests we should cut right and bottom - if (priv->ctx->width==cdata->frame_width) cdata->offs_x=0; - if (priv->ctx->height==cdata->frame_height) cdata->offs_y=0; + if (priv->ctx->width == cdata->frame_width) cdata->offs_x = 0; + if (priv->ctx->height == cdata->frame_height) cdata->offs_y = 0; //////////////////////////////////////////////////////////////////// - cdata->asigned=TRUE; - cdata->ainterleaf=TRUE; + cdata->asigned = TRUE; + cdata->ainterleaf = TRUE; - if (priv->picture!=NULL) av_frame_unref(&priv->picture); - priv->picture=NULL; + if (priv->picture != NULL) av_frame_unref(&priv->picture); + priv->picture = NULL; - if (cdata->width!=cdata->frame_width||cdata->height!=cdata->frame_height) - fprintf(stderr,"flv_decoder: info - frame size=%d x %d, pixel size=%d x %d\n",cdata->frame_width,cdata->frame_height,cdata->width, + if (cdata->width != cdata->frame_width || cdata->height != cdata->frame_height) + fprintf(stderr, "flv_decoder: info - frame size=%d x %d, pixel size=%d x %d\n", cdata->frame_width, cdata->frame_height, cdata->width, cdata->height); return cdata; } static size_t write_black_pixel(unsigned char *idst, int pal, int npixels, int y_black) { - unsigned char *dst=idst; + unsigned char *dst = idst; register int i; - for (i=0; i<npixels; i++) { + for (i = 0; i < npixels; i++) { switch (pal) { case WEED_PALETTE_RGBA32: case WEED_PALETTE_BGRA32: - dst[0]=dst[1]=dst[2]=0; - dst[3]=255; - dst+=4; + dst[0] = dst[1] = dst[2] = 0; + dst[3] = 255; + dst += 4; break; case WEED_PALETTE_ARGB32: - dst[1]=dst[2]=dst[3]=0; - dst[0]=255; - dst+=4; + dst[1] = dst[2] = dst[3] = 0; + dst[0] = 255; + dst += 4; break; case WEED_PALETTE_UYVY8888: - dst[1]=dst[3]=y_black; - dst[0]=dst[2]=128; - dst+=4; + dst[1] = dst[3] = y_black; + dst[0] = dst[2] = 128; + dst += 4; break; case WEED_PALETTE_YUYV8888: - dst[0]=dst[2]=y_black; - dst[1]=dst[3]=128; - dst+=4; + dst[0] = dst[2] = y_black; + dst[1] = dst[3] = 128; + dst += 4; break; case WEED_PALETTE_YUV888: - dst[0]=y_black; - dst[1]=dst[2]=128; - dst+=3; + dst[0] = y_black; + dst[1] = dst[2] = 128; + dst += 3; break; case WEED_PALETTE_YUVA8888: - dst[0]=y_black; - dst[1]=dst[2]=128; - dst[3]=255; - dst+=4; + dst[0] = y_black; + dst[1] = dst[2] = 128; + dst[3] = 255; + dst += 4; break; case WEED_PALETTE_YUV411: - dst[0]=dst[3]=128; - dst[1]=dst[2]=dst[4]=dst[5]=y_black; - dst+=6; + dst[0] = dst[3] = 128; + dst[1] = dst[2] = dst[4] = dst[5] = y_black; + dst += 6; default: break; } } - return idst-dst; + return idst - dst; } boolean get_frame(const lives_clip_data_t *cdata, int64_t tframe, int *rowstrides, int height, void **pixel_data) { // seek to frame, - int64_t target_pts=frame_to_dts(cdata,tframe); - int64_t nextframe=0; - lives_flv_priv_t *priv=cdata->priv; + int64_t target_pts = frame_to_dts(cdata, tframe); + int64_t nextframe = 0; + lives_flv_priv_t *priv = cdata->priv; lives_flv_pack_t pack; - int xheight=cdata->frame_height,pal=cdata->current_palette,nplanes=1,dstwidth=cdata->width,psize=1; - int btop=cdata->offs_y,bbot=xheight-1-btop; - int bleft=cdata->offs_x,bright=cdata->frame_width-cdata->width-bleft; - int rescan_limit=16; // pick some arbitrary value - int y_black=(cdata->YUV_clamping==WEED_YUV_CLAMPING_CLAMPED)?16:0; - boolean got_picture=FALSE; - unsigned char *dst,*src,flags; - unsigned char black[4]= {0,0,0,255}; + int xheight = cdata->frame_height, pal = cdata->current_palette, nplanes = 1, dstwidth = cdata->width, psize = 1; + int btop = cdata->offs_y, bbot = xheight - 1 - btop; + int bleft = cdata->offs_x, bright = cdata->frame_width - cdata->width - bleft; + int rescan_limit = 16; // pick some arbitrary value + int y_black = (cdata->YUV_clamping == WEED_YUV_CLAMPING_CLAMPED) ? 16 : 0; + boolean got_picture = FALSE; + unsigned char *dst, *src, flags; + unsigned char black[4] = {0, 0, 0, 255}; index_entry *idx; - register int i,p; + register int i, p; #ifdef DEBUG_KFRAMES - fprintf(stderr,"vals %ld %ld\n",tframe,priv->last_frame); + fprintf(stderr, "vals %ld %ld\n", tframe, priv->last_frame); #endif - if (pixel_data!=NULL) { + if (pixel_data != NULL) { // calc frame width and height, including any border - if (pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_YUV422P||pal==WEED_PALETTE_YUV444P) { - nplanes=3; - black[0]=y_black; - black[1]=black[2]=128; - } else if (pal==WEED_PALETTE_YUVA4444P) { - nplanes=4; - black[0]=y_black; - black[1]=black[2]=128; - black[3]=255; + if (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_YUV422P || pal == WEED_PALETTE_YUV444P) { + nplanes = 3; + black[0] = y_black; + black[1] = black[2] = 128; + } else if (pal == WEED_PALETTE_YUVA4444P) { + nplanes = 4; + black[0] = y_black; + black[1] = black[2] = 128; + black[3] = 255; } - if (pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24) psize=3; + if (pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24) psize = 3; - if (pal==WEED_PALETTE_RGBA32||pal==WEED_PALETTE_BGRA32||pal==WEED_PALETTE_ARGB32||pal==WEED_PALETTE_UYVY8888||pal==WEED_PALETTE_YUYV8888|| - pal==WEED_PALETTE_YUV888||pal==WEED_PALETTE_YUVA8888) psize=4; + if (pal == WEED_PALETTE_RGBA32 || pal == WEED_PALETTE_BGRA32 || pal == WEED_PALETTE_ARGB32 || pal == WEED_PALETTE_UYVY8888 || + pal == WEED_PALETTE_YUYV8888 || + pal == WEED_PALETTE_YUV888 || pal == WEED_PALETTE_YUVA8888) psize = 4; - if (pal==WEED_PALETTE_YUV411) psize=6; + if (pal == WEED_PALETTE_YUV411) psize = 6; - if (pal==WEED_PALETTE_A1) dstwidth>>=3; + if (pal == WEED_PALETTE_A1) dstwidth >>= 3; - dstwidth*=psize; + dstwidth *= psize; if (cdata->frame_height > cdata->height && height == cdata->height) { // host ignores vertical border - btop=0; - xheight=cdata->height; - bbot=xheight-1; + btop = 0; + xheight = cdata->height; + bbot = xheight - 1; } - if (cdata->frame_width > cdata->width && rowstrides[0] < cdata->frame_width*psize) { + if (cdata->frame_width > cdata->width && rowstrides[0] < cdata->frame_width * psize) { // host ignores horizontal border - bleft=bright=0; + bleft = bright = 0; } } //////////////////////////////////////////////////////////////////// - if (tframe!=priv->last_frame) { + if (tframe != priv->last_frame) { - if (priv->last_frame==-1 || (tframe<priv->last_frame) || (tframe - priv->last_frame > rescan_limit)) { + if (priv->last_frame == -1 || (tframe < priv->last_frame) || (tframe - priv->last_frame > rescan_limit)) { pthread_mutex_lock(&priv->idxc->mutex); - if ((idx=get_idx_for_pts(cdata,target_pts))!=NULL) { - priv->input_position=idx->offs; - nextframe=dts_to_frame(cdata,idx->dts); - } else priv->input_position=priv->data_start; + if ((idx = get_idx_for_pts(cdata, target_pts)) != NULL) { + priv->input_position = idx->offs; + nextframe = dts_to_frame(cdata, idx->dts); + } else priv->input_position = priv->data_start; pthread_mutex_unlock(&priv->idxc->mutex); // we are now at the kframe before or at target - parse packets until we hit target #ifdef DEBUG_KFRAMES - if (idx!=NULL) printf("got kframe %ld for frame %ld\n",dts_to_frame(cdata,idx->dts),tframe); + if (idx != NULL) printf("got kframe %ld for frame %ld\n", dts_to_frame(cdata, idx->dts), tframe); #endif avcodec_flush_buffers(priv->ctx); } else { - nextframe=priv->last_frame+1; + nextframe = priv->last_frame + 1; } - priv->ctx->skip_frame=AVDISCARD_NONREF; + priv->ctx->skip_frame = AVDISCARD_NONREF; - priv->last_frame=tframe; - if (priv->picture==NULL) priv->picture = av_frame_alloc(); + priv->last_frame = tframe; + if (priv->picture == NULL) priv->picture = av_frame_alloc(); // do this until we reach target frame ////////////// @@ -1695,54 +1697,54 @@ // skip_idct and skip_frame. ??? - if (!lives_flv_parse_pack_header(cdata,&pack)) return FALSE; + if (!lives_flv_parse_pack_header(cdata, &pack)) return FALSE; - priv->input_position+=pack.size+4; + priv->input_position += pack.size + 4; - if (pack.type!=FLV_TAG_TYPE_VIDEO) continue; + if (pack.type != FLV_TAG_TYPE_VIDEO) continue; if (read(priv->fd, &flags, 1) < 1) return FALSE; - if ((flags & 0xF0)==0x50) { // video info / command frame + if ((flags & 0xF0) == 0x50) { // video info / command frame continue; } - pack.data=malloc(pack.size-priv->pack_offset+FF_INPUT_BUFFER_PADDING_SIZE); + pack.data = malloc(pack.size - priv->pack_offset + FF_INPUT_BUFFER_PADDING_SIZE); - if (priv->pack_offset!=1) lseek(priv->fd,priv->pack_offset-1,SEEK_CUR); + if (priv->pack_offset != 1) lseek(priv->fd, priv->pack_offset - 1, SEEK_CUR); - priv->avpkt.size=read(priv->fd, pack.data, pack.size-priv->pack_offset); - memset(pack.data+priv->avpkt.size,0,FF_INPUT_BUFFER_PADDING_SIZE); + priv->avpkt.size = read(priv->fd, pack.data, pack.size - priv->pack_offset); + memset(pack.data + priv->avpkt.size, 0, FF_INPUT_BUFFER_PADDING_SIZE); priv->avpkt.data = pack.data; - priv->avpkt.dts=priv->avpkt.pts=pack.dts; + priv->avpkt.dts = priv->avpkt.pts = pack.dts; - got_picture=FALSE; + got_picture = FALSE; - if ((pack.data[0] & FLV_VIDEO_CODECID_MASK)==FLV_CODECID_VP6A) { + if ((pack.data[0] & FLV_VIDEO_CODECID_MASK) == FLV_CODECID_VP6A) { priv->ctx->extradata[0] = pack.data[1]; } - if (nextframe<tframe&&(pack.data[0] & FLV_VIDEO_CODECID_MASK)==FLV_CODECID_H263 - &&(pack.data[0] & FLV_VIDEO_FRAMETYPE_MASK)==0x03) { + if (nextframe < tframe && (pack.data[0] & FLV_VIDEO_CODECID_MASK) == FLV_CODECID_H263 + && (pack.data[0] & FLV_VIDEO_FRAMETYPE_MASK) == 0x03) { // disposable intra-frame free(pack.data); nextframe++; continue; } - if (nextframe==tframe) priv->ctx->skip_frame=AVDISCARD_DEFAULT; + if (nextframe == tframe) priv->ctx->skip_frame = AVDISCARD_DEFAULT; while (!got_picture) { int len; #if LIBAVCODEC_VERSION_MAJOR >= 52 - len=avcodec_decode_video2(priv->ctx, priv->picture, &got_picture, &priv->avpkt); + len = avcodec_decode_video2(priv->ctx, priv->picture, &got_picture, &priv->avpkt); #else - len=avcodec_decode_video(priv->ctx, priv->picture, &got_picture, priv->avpkt.data, priv->avpkt.size); + len = avcodec_decode_video(priv->ctx, priv->picture, &got_picture, priv->avpkt.data, priv->avpkt.size); #endif - priv->avpkt.size-=len; - priv->avpkt.data+=len; + priv->avpkt.size -= len; + priv->avpkt.data += len; - if (!got_picture&&priv->avpkt.size<=0) { + if (!got_picture && priv->avpkt.size <= 0) { free(pack.data); return FALSE; } @@ -1750,59 +1752,59 @@ free(pack.data); nextframe++; - } while (nextframe<=tframe); + } while (nextframe <= tframe); ///////////////////////////////////////////////////// } - if (priv->picture==NULL||pixel_data==NULL) return TRUE; + if (priv->picture == NULL || pixel_data == NULL) return TRUE; - for (p=0; p<nplanes; p++) { - dst=pixel_data[p]; - src=priv->picture->data[p]; + for (p = 0; p < nplanes; p++) { + dst = pixel_data[p]; + src = priv->picture->data[p]; - for (i=0; i<xheight; i++) { - if (i<btop||i>bbot) { + for (i = 0; i < xheight; i++) { + if (i < btop || i > bbot) { // top or bottom border, copy black row - if (pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_YUV422P||pal==WEED_PALETTE_YUV444P|| - pal==WEED_PALETTE_YUVA4444P||pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24) { - memset(dst,black[p],dstwidth+(bleft+bright)*psize); - dst+=dstwidth+(bleft+bright)*psize; - } else dst+=write_black_pixel(dst,pal,dstwidth/psize+bleft+bright,y_black); + if (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_YUV422P || pal == WEED_PALETTE_YUV444P || + pal == WEED_PALETTE_YUVA4444P || pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24) { + memset(dst, black[p], dstwidth + (bleft + bright)*psize); + dst += dstwidth + (bleft + bright) * psize; + } else dst += write_black_pixel(dst, pal, dstwidth / psize + bleft + bright, y_black); continue; } - if (bleft>0) { - if (pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_YUV422P||pal==WEED_PALETTE_YUV444P|| - pal==WEED_PALETTE_YUVA4444P||pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24) { - memset(dst,black[p],bleft*psize); - dst+=bleft*psize; - } else dst+=write_black_pixel(dst,pal,bleft,y_black); + if (bleft > 0) { + if (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_YUV422P || pal == WEED_PALETTE_YUV444P || + pal == WEED_PALETTE_YUVA4444P || pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24) { + memset(dst, black[p], bleft * psize); + dst += bleft * psize; + } else dst += write_black_pixel(dst, pal, bleft, y_black); } - memcpy(dst,src,dstwidth); - dst+=dstwidth; + memcpy(dst, src, dstwidth); + dst += dstwidth; - if (bright>0) { - if (pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_YUV422P||pal==WEED_PALETTE_YUV444P|| - pal==WEED_PALETTE_YUVA4444P||pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24) { - memset(dst,black[p],bright*psize); - dst+=bright*psize; - } else dst+=write_black_pixel(dst,pal,bright,y_black); + if (bright > 0) { + if (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_YUV422P || pal == WEED_PALETTE_YUV444P || + pal == WEED_PALETTE_YUVA4444P || pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24) { + memset(dst, black[p], bright * psize); + dst += bright * psize; + } else dst += write_black_pixel(dst, pal, bright, y_black); } - src+=priv->picture->linesize[p]; + src += priv->picture->linesize[p]; } - if (p==0&&(pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_YUV422P)) { - dstwidth>>=1; - bleft>>=1; - bright>>=1; + if (p == 0 && (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_YUV422P)) { + dstwidth >>= 1; + bleft >>= 1; + bright >>= 1; } - if (p==0&&(pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P)) { - xheight>>=1; - btop>>=1; - bbot>>=1; + if (p == 0 && (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P)) { + xheight >>= 1; + btop >>= 1; + bbot >>= 1; } } @@ -1813,10 +1815,10 @@ void clip_data_free(lives_clip_data_t *cdata) { - if (cdata->palettes!=NULL) free(cdata->palettes); - cdata->palettes=NULL; + if (cdata->palettes != NULL) free(cdata->palettes); + cdata->palettes = NULL; - if (cdata->URI!=NULL) { + if (cdata->URI != NULL) { detach_stream(cdata); free(cdata->URI); } @@ -1833,7 +1835,7 @@ int main(void) { // for testing module_check_init(); - get_clip_data("vid.flv",NULL); + get_clip_data("vid.flv", NULL); return 1; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/decoders/libav_helper.h -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/decoders/libav_helper.h
Changed
@@ -65,7 +65,7 @@ #if HAVE_AVFORMAT_INTERNAL_H && HAVE_AVPRIV_SET_PTS_INFO #include <avformat/internal.h> -#define av_set_pts_info(a,b,c,d) avpriv_set_pts_info(a,b,c,d) +#define av_set_pts_info(a, b, c, d) avpriv_set_pts_info(a, b, c, d) #else @@ -82,7 +82,7 @@ AVRational new_tb; if (av_reduce(&new_tb.num, &new_tb.den, pts_num, pts_den, INT_MAX)) { if (new_tb.num != pts_num) - av_log(NULL, AV_LOG_DEBUG, "st:%d removing common factor %d from timebase\n", s->index, pts_num/new_tb.num); + av_log(NULL, AV_LOG_DEBUG, "st:%d removing common factor %d from timebase\n", s->index, pts_num / new_tb.num); } else av_log(NULL, AV_LOG_WARNING, "st:%d has too large timebase, reducing\n", s->index); @@ -101,7 +101,7 @@ #endif -#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(55,28,1) +#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(55, 28, 1) #define av_frame_alloc() avcodec_alloc_frame() #if !HAVE_AVFRAME_UNREF #define av_frame_unref(a) avcodec_free_frame(a)
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/decoders/mkv_decoder.c -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/decoders/mkv_decoder.c
Changed
@@ -40,7 +40,7 @@ #include <sys/stat.h> #include <pthread.h> -const char *plugin_version="LiVES mkv decoder version 1.3"; +const char *plugin_version = "LiVES mkv decoder version 1.3"; #ifdef HAVE_AV_CONFIG_H #undef HAVE_AV_CONFIG_H @@ -94,40 +94,40 @@ //////////////////////////////////////////////////////////////////////////// static double lives_int2dbl(int64_t v) { - if ((uint64_t)v+v > 0xFFEULL<<52) + if ((uint64_t)v + v > 0xFFEULL << 52) return NAN; - return ldexp(((v&((1LL<<52)-1)) + (1LL<<52)) * (v>>63|1), (v>>52&0x7FF)-1075); + return ldexp(((v & ((1LL << 52) - 1)) + (1LL << 52)) * (v >> 63 | 1), (v >> 52 & 0x7FF) - 1075); } static float lives_int2flt(int32_t v) { - if ((uint32_t)v+v > 0xFF000000U) + if ((uint32_t)v + v > 0xFF000000U) return NAN; - return ldexp(((v&0x7FFFFF) + (1<<23)) * (v>>31|1), (v>>23&0xFF)-150); + return ldexp(((v & 0x7FFFFF) + (1 << 23)) * (v >> 31 | 1), (v >> 23 & 0xFF) - 150); } -const uint8_t ff_log2_tab[256]= { - 0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, - 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7 +const uint8_t ff_log2_tab[256] = { + 0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 }; static enum CodecID ff_codec_get_id(const AVCodecTag *tags, unsigned int tag) { int i; - for (i=0; tags[i].id != CODEC_ID_NONE; i++) { + for (i = 0; tags[i].id != CODEC_ID_NONE; i++) { if (tag == tags[i].tag) return tags[i].id; } - for (i=0; tags[i].id != CODEC_ID_NONE; i++) { - if (toupper((tag >> 0)&0xFF) == toupper((tags[i].tag >> 0)&0xFF) - && toupper((tag >> 8)&0xFF) == toupper((tags[i].tag >> 8)&0xFF) - && toupper((tag >>16)&0xFF) == toupper((tags[i].tag >>16)&0xFF) - && toupper((tag >>24)&0xFF) == toupper((tags[i].tag >>24)&0xFF)) + for (i = 0; tags[i].id != CODEC_ID_NONE; i++) { + if (toupper((tag >> 0) & 0xFF) == toupper((tags[i].tag >> 0) & 0xFF) + && toupper((tag >> 8) & 0xFF) == toupper((tags[i].tag >> 8) & 0xFF) + && toupper((tag >> 16) & 0xFF) == toupper((tags[i].tag >> 16) & 0xFF) + && toupper((tag >> 24) & 0xFF) == toupper((tags[i].tag >> 24) & 0xFF)) return tags[i].id; } return CODEC_ID_NONE; @@ -164,8 +164,8 @@ static boolean check_eof(const lives_clip_data_t *cdata) { - lives_mkv_priv_t *priv=cdata->priv; - if (priv->input_position>=priv->filesize) return TRUE; + lives_mkv_priv_t *priv = cdata->priv; + if (priv->input_position >= priv->filesize) return TRUE; return FALSE; } @@ -174,8 +174,8 @@ * Return: Whether we reached the end of a level in the hierarchy or not. */ static int ebml_level_end(const lives_clip_data_t *cdata) { - lives_mkv_priv_t *priv=cdata->priv; - MatroskaDemuxContext *matroska=&priv->matroska; + lives_mkv_priv_t *priv = cdata->priv; + MatroskaDemuxContext *matroska = &priv->matroska; int64_t pos = priv->input_position; if (matroska->num_levels > 0) { @@ -198,7 +198,7 @@ */ static int ebml_read_num(const lives_clip_data_t *cdata, uint8_t *data, int max_size, uint64_t *number) { - lives_mkv_priv_t *priv=cdata->priv; + lives_mkv_priv_t *priv = cdata->priv; int bread = 1, n = 1; uint64_t total = 0; @@ -209,19 +209,19 @@ * return 0, but since that's not a valid first ebmlID byte, we can * use it safely here to catch EOS. */ - if (data==NULL) { + if (data == NULL) { if (read(priv->fd, buffer, 1) < 1) { if (!priv->expect_eof) - fprintf(stderr, "mkv_decoder: error in stream header for %s\n",cdata->URI); - got_eof=TRUE; + fprintf(stderr, "mkv_decoder: error in stream header for %s\n", cdata->URI); + got_eof = TRUE; return 0; } - priv->input_position+=1; + priv->input_position += 1; - total=*buffer; + total = *buffer; } else { - total=data[0]; + total = data[0]; } @@ -231,7 +231,7 @@ if (bread > max_size) { fprintf(stderr, "mkv_decoder: Invalid EBML number\n"); - errval=-1; + errval = -1; return 0; } @@ -241,19 +241,19 @@ while (n++ < bread) { - if (data==NULL) { + if (data == NULL) { if (read(priv->fd, buffer, 1) < 1) { if (!priv->expect_eof) - fprintf(stderr, "mkv_decoder: error in stream header for %s\n",cdata->URI); - got_eof=TRUE; + fprintf(stderr, "mkv_decoder: error in stream header for %s\n", cdata->URI); + got_eof = TRUE; return 0; } - priv->input_position+=1; + priv->input_position += 1; - val8=(uint8_t)*buffer; + val8 = (uint8_t) * buffer; } else { - val8=data[n-1]; + val8 = data[n - 1]; } total = (total << 8) | val8; @@ -281,13 +281,13 @@ * 0 is success, < 0 is failure. */ static int ebml_read_uint(const lives_clip_data_t *cdata, int size, uint64_t *num) { - lives_mkv_priv_t *priv=cdata->priv; + lives_mkv_priv_t *priv = cdata->priv; int n = 0; uint8_t val8; uint8_t buffer[1]; if (size > 8) { - errval=ERR_INVALID_DATA; + errval = ERR_INVALID_DATA; return -errval; } @@ -296,14 +296,14 @@ while (n++ < size) { if (read(priv->fd, buffer, 1) < 1) { if (!priv->expect_eof) - fprintf(stderr, "mkv_decoder: error in stream header for %s\n",cdata->URI); - got_eof=TRUE; + fprintf(stderr, "mkv_decoder: error in stream header for %s\n", cdata->URI); + got_eof = TRUE; return -ERR_EOF; } - priv->input_position+=1; + priv->input_position += 1; - val8=(uint8_t)*buffer; + val8 = (uint8_t) * buffer; *num = (*num << 8) | val8; } @@ -316,7 +316,7 @@ * 0 is success, < 0 is failure. */ static int ebml_read_float(const lives_clip_data_t *cdata, int size, double *num) { - lives_mkv_priv_t *priv=cdata->priv; + lives_mkv_priv_t *priv = cdata->priv; uint8_t buffer[8]; uint32_t val32; uint64_t val64; @@ -325,35 +325,35 @@ *num = 0; } else if (size == 4) { - if (read(priv->fd,buffer,4)<4) { + if (read(priv->fd, buffer, 4) < 4) { if (!priv->expect_eof) - fprintf(stderr, "mkv_decoder: read error in %s\n",cdata->URI); - got_eof=TRUE; + fprintf(stderr, "mkv_decoder: read error in %s\n", cdata->URI); + got_eof = TRUE; return -ERR_EOF; } - priv->input_position+=4; + priv->input_position += 4; val32 = AV_RB32(buffer); - *num= lives_int2flt(val32); + *num = lives_int2flt(val32); - } else if (size==8) { + } else if (size == 8) { - if (read(priv->fd,buffer,8)<8) { + if (read(priv->fd, buffer, 8) < 8) { if (!priv->expect_eof) - fprintf(stderr, "mkv_decoder: read error in %s\n",cdata->URI); - got_eof=TRUE; + fprintf(stderr, "mkv_decoder: read error in %s\n", cdata->URI); + got_eof = TRUE; return -ERR_EOF; } - priv->input_position+=8; + priv->input_position += 8; val64 = AV_RB64(buffer); - *num= lives_int2dbl(val64); + *num = lives_int2dbl(val64); } else { - errval=ERR_INVALID_DATA; + errval = ERR_INVALID_DATA; return -errval; } @@ -365,25 +365,25 @@ * 0 is success, < 0 is failure. */ static int ebml_read_ascii(const lives_clip_data_t *cdata, int size, char **str) { - lives_mkv_priv_t *priv=cdata->priv; + lives_mkv_priv_t *priv = cdata->priv; free(*str); /* EBML strings are usually not 0-terminated, so we allocate one * byte more, read the string and NULL-terminate it ourselves. */ if (!(*str = malloc(size + 1))) { - errval=ERR_NOMEM; + errval = ERR_NOMEM; return -errval; } if (read(priv->fd, (uint8_t *) *str, size) < size) { if (!priv->expect_eof) - fprintf(stderr, "mkv_decoder: error in stream header for %s\n",cdata->URI); + fprintf(stderr, "mkv_decoder: error in stream header for %s\n", cdata->URI); av_freep(str); - got_eof=TRUE; + got_eof = TRUE; return -ERR_EOF; } - priv->input_position+=size; + priv->input_position += size; (*str)[size] = '\0'; @@ -396,11 +396,11 @@ * 0 is success, < 0 is failure. */ static int ebml_read_binary(const lives_clip_data_t *cdata, int length, EbmlBin *bin) { - lives_mkv_priv_t *priv=cdata->priv; + lives_mkv_priv_t *priv = cdata->priv; free(bin->data); if (!(bin->data = malloc(length))) { - errval=ERR_NOMEM; + errval = ERR_NOMEM; return -errval; } @@ -409,13 +409,13 @@ if (read(priv->fd, bin->data, length) < length) { if (!priv->expect_eof) - fprintf(stderr, "mkv_decoder: error in stream header for %s\n",cdata->URI); + fprintf(stderr, "mkv_decoder: error in stream header for %s\n", cdata->URI); av_freep(&bin->data); - got_eof=TRUE; + got_eof = TRUE; return 0; } - priv->input_position+=length; + priv->input_position += length; return 0; } @@ -426,15 +426,15 @@ * 0 is success, < 0 is failure. */ static int ebml_read_master(const lives_clip_data_t *cdata, uint64_t length) { - lives_mkv_priv_t *priv=cdata->priv; - MatroskaDemuxContext *matroska=&priv->matroska; + lives_mkv_priv_t *priv = cdata->priv; + MatroskaDemuxContext *matroska = &priv->matroska; MatroskaLevel *level; if (matroska->num_levels >= EBML_MAX_DEPTH) { //av_log(matroska->ctx, AV_LOG_ERROR, // "File moves beyond max. allowed depth (%d)\n", EBML_MAX_DEPTH); - errval=ERR_MAX_DEPTH; + errval = ERR_MAX_DEPTH; return -errval; } @@ -467,30 +467,30 @@ return res; /* make signed (weird way) */ - *num = unum - ((1LL << (7*res - 1)) - 1); + *num = unum - ((1LL << (7 * res - 1)) - 1); return res; } static int ebml_parse_id(const lives_clip_data_t *cdata, EbmlSyntax *syntax, uint32_t id, void *data) { - lives_mkv_priv_t *priv=cdata->priv; - MatroskaDemuxContext *matroska=&priv->matroska; + lives_mkv_priv_t *priv = cdata->priv; + MatroskaDemuxContext *matroska = &priv->matroska; int reso; int i; - for (i=0; syntax[i].id; i++) { + for (i = 0; syntax[i].id; i++) { if (id == syntax[i].id) break; } if (!syntax[i].id && id == MATROSKA_ID_CLUSTER && matroska->num_levels > 0 && - matroska->levels[matroska->num_levels-1].length == 0xffffffffffffff) + matroska->levels[matroska->num_levels - 1].length == 0xffffffffffffff) return 0; // we reached the end of an unknown size cluster // if (!syntax[i].id && id != EBML_ID_VOID && id != EBML_ID_CRC32) //av_log(matroska->ctx, AV_LOG_INFO, "Unknown entry 0x%X\n", id); - reso=ebml_parse_elem(cdata, &syntax[i], data); + reso = ebml_parse_elem(cdata, &syntax[i], data); return reso; } @@ -498,8 +498,8 @@ static int ebml_parse(const lives_clip_data_t *cdata, EbmlSyntax *syntax, void *data) { int res; - lives_mkv_priv_t *priv=cdata->priv; - MatroskaDemuxContext *matroska=&priv->matroska; + lives_mkv_priv_t *priv = cdata->priv; + MatroskaDemuxContext *matroska = &priv->matroska; if (!matroska->current_id) { uint64_t id; @@ -508,14 +508,14 @@ if (res < 0) return res; - matroska->current_id = id | 1 << 7*res; + matroska->current_id = id | 1 << 7 * res; - if (matroska->current_id!=163) { + if (matroska->current_id != 163) { //printf("got id %08x\n",matroska->current_id); } } - res=ebml_parse_id(cdata, syntax, matroska->current_id, data); + res = ebml_parse_id(cdata, syntax, matroska->current_id, data); return res; } @@ -524,17 +524,17 @@ void *data) { int i, res = 0; - for (i=0; syntax[i].id; i++) + for (i = 0; syntax[i].id; i++) switch (syntax[i].type) { case EBML_UINT: - *(uint64_t *)((char *)data+syntax[i].data_offset) = syntax[i].def.u; + *(uint64_t *)((char *)data + syntax[i].data_offset) = syntax[i].def.u; break; case EBML_FLOAT: - *(double *)((char *)data+syntax[i].data_offset) = syntax[i].def.f; + *(double *)((char *)data + syntax[i].data_offset) = syntax[i].def.f; break; case EBML_STR: case EBML_UTF8: - *(char **)((char *)data+syntax[i].data_offset) = av_strdup(syntax[i].def.s); + *(char **)((char *)data + syntax[i].data_offset) = av_strdup(syntax[i].def.s); break; default: break; @@ -547,8 +547,8 @@ } static int ebml_parse_elem(const lives_clip_data_t *cdata, EbmlSyntax *syntax, void *data) { - lives_mkv_priv_t *priv=cdata->priv; - MatroskaDemuxContext *matroska=&priv->matroska; + lives_mkv_priv_t *priv = cdata->priv; + MatroskaDemuxContext *matroska = &priv->matroska; static const uint64_t max_lengths[EBML_TYPE_COUNT] = { [EBML_UINT] = 8, @@ -569,14 +569,14 @@ if (syntax->list_elem_size) { EbmlList *list = data; - newelem = av_realloc(list->elem, (list->nb_elem+1)*syntax->list_elem_size); + newelem = av_realloc(list->elem, (list->nb_elem + 1) * syntax->list_elem_size); if (!newelem) { - fprintf(stderr,"mkv_decoder: out of memory !\n"); - errval=ERR_NOMEM; + fprintf(stderr, "mkv_decoder: out of memory !\n"); + errval = ERR_NOMEM; return -errval; } list->elem = newelem; - data = (char *)list->elem + list->nb_elem*syntax->list_elem_size; + data = (char *)list->elem + list->nb_elem * syntax->list_elem_size; memset(data, 0, syntax->list_elem_size); list->nb_elem++; } @@ -585,8 +585,8 @@ if ((res = ebml_read_length(cdata, &length)) < 0) return res; if (max_lengths[syntax->type] && length > max_lengths[syntax->type]) { - fprintf(stderr,"mkv_decoder: invalid data in clip\n"); - errval=ERR_INVALID_DATA; + fprintf(stderr, "mkv_decoder: invalid data in clip\n"); + errval = ERR_INVALID_DATA; return -errval; } } @@ -606,7 +606,7 @@ res = ebml_read_binary(cdata, length, data); break; case EBML_NEST: - if ((res=ebml_read_master(cdata, length)) < 0) + if ((res = ebml_read_master(cdata, length)) < 0) return res; if (id == MATROSKA_ID_SEGMENT) matroska->segment_start = priv->input_position; @@ -617,14 +617,14 @@ return 1; default: // skip length bytes - priv->input_position+=length; + priv->input_position += length; lseek(priv->fd, priv->input_position, SEEK_SET); - res=check_eof(cdata); + res = check_eof(cdata); return res; } if (res == -ERR_INVALID_DATA) { - fprintf(stderr,"mkv_decoder: invalid data in clip\n"); + fprintf(stderr, "mkv_decoder: invalid data in clip\n"); return res; } @@ -634,7 +634,7 @@ static void ebml_free(EbmlSyntax *syntax, void *data) { int i, j; - for (i=0; syntax[i].id; i++) { + for (i = 0; syntax[i].id; i++) { void *data_off = (char *)data + syntax[i].data_offset; switch (syntax[i].type) { case EBML_STR: @@ -648,7 +648,7 @@ if (syntax[i].list_elem_size) { EbmlList *list = data_off; char *ptr = list->elem; - for (j=0; j<list->nb_elem; j++, ptr+=syntax[i].list_elem_size) + for (j = 0; j < list->nb_elem; j++, ptr += syntax[i].list_elem_size) ebml_free(syntax[i].def.n, ptr); free(list->elem); } else @@ -680,7 +680,7 @@ * Autodetecting... */ static boolean lives_mkv_probe(const lives_clip_data_t *cdata, unsigned char *p) { - lives_mkv_priv_t *priv=cdata->priv; + lives_mkv_priv_t *priv = cdata->priv; uint64_t total = 0; int len_mask = 0x80, size = 1, n = 1, i; @@ -702,7 +702,7 @@ total &= (len_mask - 1); while (n < size) { - if (read(priv->fd,nextbytes,1)!=1) { + if (read(priv->fd, nextbytes, 1) != 1) { return FALSE; } @@ -713,11 +713,11 @@ // read "total" bytes - if (read(priv->fd,nextbytes,total)!=total) { + if (read(priv->fd, nextbytes, total) != total) { return FALSE; } - priv->input_position+=total; + priv->input_position += total; /* The header should contain a known document type. For now, * we don't parse the whole header but simply check for the @@ -728,7 +728,7 @@ int probelen = strlen(matroska_doctypes[i]); if (total < probelen) continue; - for (n = 0; n <= total-probelen; n++) + for (n = 0; n <= total - probelen; n++) if (!memcmp(nextbytes + n, matroska_doctypes[i], probelen)) return TRUE; } @@ -744,7 +744,7 @@ MatroskaTrack *tracks = matroska->tracks.elem; int i; - for (i=0; i < matroska->tracks.nb_elem; i++) { + for (i = 0; i < matroska->tracks.nb_elem; i++) { if (tracks[i].num == num) return &tracks[i]; } @@ -774,9 +774,9 @@ case MATROSKA_TRACK_ENCODING_COMP_LZO: do { olen = pkt_size *= 3; - pkt_data = av_realloc(pkt_data, pkt_size+AV_LZO_OUTPUT_PADDING); + pkt_data = av_realloc(pkt_data, pkt_size + AV_LZO_OUTPUT_PADDING); result = av_lzo1x_decode(pkt_data, &olen, data, &isize); - } while (result==AV_LZO_OUTPUT_FULL && pkt_size<10000000); + } while (result == AV_LZO_OUTPUT_FULL && pkt_size < 10000000); if (result) goto failed; pkt_size -= olen; @@ -802,7 +802,7 @@ result = inflate(&zstream, Z_NO_FLUSH); } else result = Z_MEM_ERROR; - } while (result==Z_OK && pkt_size<10000000); + } while (result == Z_OK && pkt_size < 10000000); pkt_size = zstream.total_out; inflateEnd(&zstream); if (result != Z_STREAM_END) @@ -831,7 +831,7 @@ result = BZ2_bzDecompress(&bzstream); } else result = BZ_MEM_ERROR; - } while (result==BZ_OK && pkt_size<10000000); + } while (result == BZ_OK && pkt_size < 10000000); pkt_size = bzstream.total_out_lo32; BZ2_bzDecompressEnd(&bzstream); if (result != BZ_STREAM_END) @@ -859,34 +859,34 @@ char *line; unsigned char *layer; unsigned char *ptr = pkt->data; - unsigned char *end = ptr+pkt->size; - for (; *ptr!=',' && ptr<end-1; ptr++); + unsigned char *end = ptr + pkt->size; + for (; *ptr != ',' && ptr < end - 1; ptr++); if (*ptr == ',') ptr++; layer = ptr; - for (; *ptr!=',' && ptr<end-1; ptr++); + for (; *ptr != ',' && ptr < end - 1; ptr++); if (*ptr == ',') { int64_t end_pts = pkt->pts + display_duration; int sc = matroska->time_scale * pkt->pts / 10000000; int ec = matroska->time_scale * end_pts / 10000000; int sh, sm, ss, eh, em, es, len; - sh = sc/360000; - sc -= 360000*sh; - sm = sc/ 6000; - sc -= 6000*sm; - ss = sc/ 100; - sc -= 100*ss; - eh = ec/360000; - ec -= 360000*eh; - em = ec/ 6000; - ec -= 6000*em; - es = ec/ 100; - ec -= 100*es; + sh = sc / 360000; + sc -= 360000 * sh; + sm = sc / 6000; + sc -= 6000 * sm; + ss = sc / 100; + sc -= 100 * ss; + eh = ec / 360000; + ec -= 360000 * eh; + em = ec / 6000; + ec -= 6000 * em; + es = ec / 100; + ec -= 100 * es; *ptr++ = '\0'; - len = 50 + end-ptr + FF_INPUT_BUFFER_PADDING_SIZE; + len = 50 + end - ptr + FF_INPUT_BUFFER_PADDING_SIZE; if (!(line = malloc(len))) return; - snprintf(line,len,"Dialogue: %s,%d:%02d:%02d.%02d,%d:%02d:%02d.%02d,%s\r\n", + snprintf(line, len, "Dialogue: %s,%d:%02d:%02d.%02d,%d:%02d:%02d.%02d,%s\r\n", layer, sh, sm, ss, sc, eh, em, es, ec, ptr); av_free(pkt->data); pkt->data = (unsigned char *)line; @@ -895,11 +895,11 @@ } static int matroska_merge_packets(AVPacket *out, AVPacket *in) { - void *newdata = av_realloc(out->data, out->size+in->size); + void *newdata = av_realloc(out->data, out->size + in->size); if (!newdata) return AVERROR(ENOMEM); out->data = newdata; - memcpy(out->data+out->size, in->data, in->size); + memcpy(out->data + out->size, in->data, in->size); out->size += in->size; av_packet_unref(in); av_free(in); @@ -908,8 +908,8 @@ static int matroska_parse_seekhead_entry(const lives_clip_data_t *cdata, int idx) { - lives_mkv_priv_t *priv=cdata->priv; - MatroskaDemuxContext *matroska=&priv->matroska; + lives_mkv_priv_t *priv = cdata->priv; + MatroskaDemuxContext *matroska = &priv->matroska; EbmlList *seekhead_list = &matroska->seekhead; MatroskaSeekhead *seekhead = seekhead_list->elem; @@ -928,23 +928,23 @@ /* seek */ offset = seekhead[idx].pos + matroska->segment_start; - if (offset>priv->filesize) { - got_eof=TRUE; + if (offset > priv->filesize) { + got_eof = TRUE; return 0; } - priv->input_position=offset; - lseek(priv->fd,priv->input_position,SEEK_SET); + priv->input_position = offset; + lseek(priv->fd, priv->input_position, SEEK_SET); /* We don't want to lose our seekhead level, so we add * a dummy. This is a crude hack. */ if (matroska->num_levels == EBML_MAX_DEPTH) { - fprintf(stderr,"mkv_decoder: max ebml depth breached in clip\n"); - errval=-11; + fprintf(stderr, "mkv_decoder: max ebml depth breached in clip\n"); + errval = -11; ret = 0; } else { level.start = 0; - level.length = (uint64_t)-1; + level.length = (uint64_t) - 1; matroska->levels[matroska->num_levels] = level; matroska->num_levels++; matroska->current_id = 0; @@ -954,13 +954,13 @@ /* remove dummy level */ while (matroska->num_levels) { uint64_t length = matroska->levels[--matroska->num_levels].length; - if (length == (uint64_t)-1) + if (length == (uint64_t) - 1) break; } } /* seek back */ - priv->input_position=before_pos; + priv->input_position = before_pos; lseek(priv->fd, priv->input_position, SEEK_SET); matroska->level_up = level_up; @@ -974,8 +974,8 @@ static void matroska_add_index_entries(const lives_clip_data_t *cdata) { - lives_mkv_priv_t *priv=cdata->priv; - MatroskaDemuxContext *matroska=&priv->matroska; + lives_mkv_priv_t *priv = cdata->priv; + MatroskaDemuxContext *matroska = &priv->matroska; EbmlList *index_list; MatroskaIndex *index; @@ -986,7 +986,7 @@ index = index_list->elem; if (index_list->nb_elem - && index[0].time > 1E14/matroska->time_scale) { + && index[0].time > 1E14 / matroska->time_scale) { //av_log(matroska->ctx, AV_LOG_WARNING, "Working around broken index.\n"); index_scale = matroska->time_scale; } @@ -996,9 +996,9 @@ MatroskaIndexPos *pos = pos_list->elem; for (j = 0; j < pos_list->nb_elem; j++) { MatroskaTrack *track = matroska_find_track_by_num(matroska, pos[j].track); - if (track && track->stream && track->stream==priv->vidst) { + if (track && track->stream && track->stream == priv->vidst) { pthread_mutex_lock(&priv->idxc->mutex); - lives_add_idx(cdata, pos[j].pos + matroska->segment_start, (uint32_t)(index[i].time/index_scale)); + lives_add_idx(cdata, pos[j].pos + matroska->segment_start, (uint32_t)(index[i].time / index_scale)); pthread_mutex_unlock(&priv->idxc->mutex); //printf("ADD INDEX %ld %ld\n", pos[j].pos + matroska->segment_start, index[i].time/index_scale); } @@ -1008,8 +1008,8 @@ static void matroska_parse_cues(const lives_clip_data_t *cdata) { - lives_mkv_priv_t *priv=cdata->priv; - MatroskaDemuxContext *matroska=&priv->matroska; + lives_mkv_priv_t *priv = cdata->priv; + MatroskaDemuxContext *matroska = &priv->matroska; EbmlList *seekhead_list = &matroska->seekhead; MatroskaSeekhead *seekhead = seekhead_list->elem; @@ -1027,8 +1027,8 @@ static void matroska_execute_seekhead(const lives_clip_data_t *cdata) { - lives_mkv_priv_t *priv=cdata->priv; - MatroskaDemuxContext *matroska=&priv->matroska; + lives_mkv_priv_t *priv = cdata->priv; + MatroskaDemuxContext *matroska = &priv->matroska; EbmlList *seekhead_list = &matroska->seekhead; MatroskaSeekhead *seekhead = seekhead_list->elem; @@ -1062,11 +1062,11 @@ ////////////////////////////////////////////// static int frame_to_dts(const lives_clip_data_t *cdata, int64_t frame) { - return (int)((double)(frame)*1000./cdata->fps); + return (int)((double)(frame) * 1000. / cdata->fps); } static int64_t dts_to_frame(const lives_clip_data_t *cdata, int dts) { - return (int64_t)((double)dts/1000.*cdata->fps+.5); + return (int64_t)((double)dts / 1000.*cdata->fps + .5); } @@ -1074,48 +1074,48 @@ static int get_last_video_dts(lives_clip_data_t *cdata) { - lives_mkv_priv_t *priv=cdata->priv; + lives_mkv_priv_t *priv = cdata->priv; uint32_t ldts; - uint64_t frames=0; - boolean got_picture=FALSE; + uint64_t frames = 0; + boolean got_picture = FALSE; pthread_mutex_lock(&priv->idxc->mutex); - if (priv->idxc->idxht==NULL) { + if (priv->idxc->idxht == NULL) { pthread_mutex_unlock(&priv->idxc->mutex); return 0; } // jump to last dts in keyframe index - ldts=priv->idxc->idxht->dts; + ldts = priv->idxc->idxht->dts; // never trust the given duration in a video clip. // // seek to the last frame in our index, then keep reading frames until we reach eof. // crude but it should work. - cdata->nframes=1000000000; // allow seeking to end + cdata->nframes = 1000000000; // allow seeking to end - matroska_read_seek(cdata,ldts); + matroska_read_seek(cdata, ldts); pthread_mutex_unlock(&priv->idxc->mutex); - frames=dts_to_frame(cdata,ldts); + frames = dts_to_frame(cdata, ldts); av_log_set_level(AV_LOG_FATAL); // stop error reporting EOF - priv->expect_eof=TRUE; + priv->expect_eof = TRUE; while (1) { //read frames until we hit EOF - if (priv->avpkt.data!=NULL) { + if (priv->avpkt.data != NULL) { free(priv->avpkt.data); - priv->avpkt.data=NULL; - priv->avpkt.size=0; + priv->avpkt.data = NULL; + priv->avpkt.size = 0; } - matroska_read_packet(cdata,&priv->avpkt); + matroska_read_packet(cdata, &priv->avpkt); if (got_eof) { - got_eof=FALSE; + got_eof = FALSE; break; } @@ -1130,9 +1130,9 @@ } } - priv->expect_eof=FALSE; + priv->expect_eof = FALSE; - return frame_to_dts(cdata,frames); + return frame_to_dts(cdata, frames); } @@ -1146,50 +1146,50 @@ // then, since we know the dts of each we can work out the dts delta per frame // from this we can calculate the fps - lives_mkv_priv_t *priv=cdata->priv; + lives_mkv_priv_t *priv = cdata->priv; - uint32_t deltadts,origdts,idxdts; + uint32_t deltadts, origdts, idxdts; index_entry *idx; - int frames=0; - boolean got_picture=FALSE; + int frames = 0; + boolean got_picture = FALSE; pthread_mutex_lock(&priv->idxc->mutex); - if (priv->idxc->idxhh==NULL) { + if (priv->idxc->idxhh == NULL) { pthread_mutex_unlock(&priv->idxc->mutex); return 0; } // seek to 0 - idx=matroska_read_seek(cdata,0); - origdts=idx->dts; + idx = matroska_read_seek(cdata, 0); + origdts = idx->dts; - idx=idx->next; + idx = idx->next; - if (idx==NULL) { + if (idx == NULL) { pthread_mutex_unlock(&priv->idxc->mutex); return 0; } - idxdts=idx->dts; + idxdts = idx->dts; pthread_mutex_unlock(&priv->idxc->mutex); - got_eof=FALSE; + got_eof = FALSE; while (1) { //read frames until we hit the second seek frame - if (priv->avpkt.data!=NULL) { + if (priv->avpkt.data != NULL) { free(priv->avpkt.data); - priv->avpkt.data=NULL; - priv->avpkt.size=0; + priv->avpkt.data = NULL; + priv->avpkt.size = 0; } - matroska_read_packet(cdata,&priv->avpkt); + matroska_read_packet(cdata, &priv->avpkt); if (got_eof) { - got_eof=FALSE; + got_eof = FALSE; return 0; } - if (priv->avpkt.pos>=idx->offs) break; + if (priv->avpkt.pos >= idx->offs) break; #if LIBAVCODEC_VERSION_MAJOR >= 52 avcodec_decode_video2(priv->ctx, priv->picture, &got_picture, &priv->avpkt); @@ -1204,7 +1204,7 @@ // divide 2nd dts by nframes, this gives delta dts - deltadts=((double)(idxdts-origdts)/(double)(frames)+.5); + deltadts = ((double)(idxdts - origdts) / (double)(frames) + .5); return deltadts; @@ -1218,12 +1218,12 @@ ///////////////////////////////////////////////////// static void index_free(index_entry *idx) { - index_entry *cidx=idx,*next; + index_entry *cidx = idx, *next; - while (cidx!=NULL) { - next=cidx->next; + while (cidx != NULL) { + next = cidx->next; free(cidx); - cidx=next; + cidx = next; } } @@ -1236,10 +1236,10 @@ static index_entry *index_walk(index_entry *idx, uint32_t pts) { - index_entry *xidx=idx; - while (xidx!=NULL) { - if (xidx->next==NULL || (pts>=xidx->dts && pts<xidx->next->dts)) return xidx; - xidx=xidx->next; + index_entry *xidx = idx; + while (xidx != NULL) { + if (xidx->next == NULL || (pts >= xidx->dts && pts < xidx->next->dts)) return xidx; + xidx = xidx->next; } /// oops. something went wrong return NULL; @@ -1247,44 +1247,44 @@ index_entry *lives_add_idx(const lives_clip_data_t *cdata, uint64_t offset, uint32_t pts) { - lives_mkv_priv_t *priv=cdata->priv; + lives_mkv_priv_t *priv = cdata->priv; index_entry *nidx; index_entry *nentry; - nidx=priv->idxc->idxht; + nidx = priv->idxc->idxht; - nentry=malloc(sizeof(index_entry)); + nentry = malloc(sizeof(index_entry)); - nentry->dts=pts; - nentry->offs=offset; - nentry->next=NULL; + nentry->dts = pts; + nentry->offs = offset; + nentry->next = NULL; - if (nidx==NULL) { + if (nidx == NULL) { // first entry in list - priv->idxc->idxhh=priv->idxc->idxht=nentry; + priv->idxc->idxhh = priv->idxc->idxht = nentry; return nentry; } if (nidx->dts < pts) { // last entry in list - nidx->next=nentry; - priv->idxc->idxht=nentry; + nidx->next = nentry; + priv->idxc->idxht = nentry; return nentry; } - if (priv->idxc->idxhh->dts>pts) { + if (priv->idxc->idxhh->dts > pts) { // before head - nentry->next=priv->idxc->idxhh; - priv->idxc->idxhh=nentry; + nentry->next = priv->idxc->idxhh; + priv->idxc->idxhh = nentry; return nentry; } - nidx=index_walk(priv->idxc->idxhh,pts); + nidx = index_walk(priv->idxc->idxhh, pts); // after nidx in list - nentry->next=nidx->next; - nidx->next=nentry; + nentry->next = nidx->next; + nidx->next = nentry; return nentry; } @@ -1292,8 +1292,8 @@ static index_entry *get_idx_for_pts(const lives_clip_data_t *cdata, uint32_t pts) { - lives_mkv_priv_t *priv=cdata->priv; - return index_walk(priv->idxc->idxhh,pts); + lives_mkv_priv_t *priv = cdata->priv; + return index_walk(priv->idxc->idxhh, pts); } @@ -1302,8 +1302,8 @@ static int lives_mkv_read_header(lives_clip_data_t *cdata) { - lives_mkv_priv_t *priv=cdata->priv; - AVFormatContext *s=priv->s; + lives_mkv_priv_t *priv = cdata->priv; + AVFormatContext *s = priv->s; MatroskaDemuxContext *matroska = s->priv_data; //EbmlList *chapters_list = &matroska->chapters; @@ -1317,7 +1317,7 @@ matroska->ctx = s; /* First read the EBML header. */ - if ((res=ebml_parse(cdata, ebml_syntax, &ebml)) + if ((res = ebml_parse(cdata, ebml_syntax, &ebml)) || ebml.version > EBML_VERSION || ebml.max_size > sizeof(uint64_t) || ebml.id_length > sizeof(uint32_t) || ebml.doctype_version > 3) { printf( @@ -1334,7 +1334,7 @@ } for (i = 0; i < FF_ARRAY_ELEMS(matroska_doctypes); i++) - if (ebml.doctype==NULL || !strcmp(ebml.doctype, matroska_doctypes[i])) + if (ebml.doctype == NULL || !strcmp(ebml.doctype, matroska_doctypes[i])) break; if (i >= FF_ARRAY_ELEMS(matroska_doctypes)) { @@ -1343,7 +1343,7 @@ ebml_free(ebml_syntax, &ebml); - priv->data_start=priv->input_position; + priv->data_start = priv->input_position; /* The next thing is a segment. */ if ((res = ebml_parse(cdata, matroska_segments, matroska)) < 0) { @@ -1361,7 +1361,7 @@ tracks = matroska->tracks.elem; - for (i=0; i < matroska->tracks.nb_elem; i++) { + for (i = 0; i < matroska->tracks.nb_elem; i++) { MatroskaTrack *track = &tracks[i]; enum CodecID codec_id = CODEC_ID_NONE; @@ -1385,47 +1385,47 @@ if (priv->has_video) { #ifdef DEBUG - fprintf(stderr,"mkv_decoder: duplicate video streams found\n"); + fprintf(stderr, "mkv_decoder: duplicate video streams found\n"); #endif //continue; } - priv->vididx=i; + priv->vididx = i; - priv->has_video=TRUE; + priv->has_video = TRUE; if (!track->default_duration) - track->default_duration = 1000000000/track->video.frame_rate; + track->default_duration = 1000000000 / track->video.frame_rate; - if (cdata->fps==0.) cdata->fps=track->video.frame_rate; + if (cdata->fps == 0.) cdata->fps = track->video.frame_rate; if (!track->video.display_width) track->video.display_width = track->video.pixel_width; - cdata->width=track->video.pixel_width; + cdata->width = track->video.pixel_width; if (!track->video.display_height) track->video.display_height = track->video.pixel_height; - cdata->height=track->video.pixel_height; + cdata->height = track->video.pixel_height; if (track->video.color_space.size == 4) fourcc = AV_RL32(track->video.color_space.data); - cdata->frame_width=track->video.display_width; - cdata->frame_height=track->video.display_height; + cdata->frame_width = track->video.display_width; + cdata->frame_height = track->video.display_height; - if (cdata->width!=cdata->frame_width||cdata->height!=cdata->frame_height) - fprintf(stderr,"mkv_decoder: info frame size=%d x %d, pixel size=%d x %d\n",cdata->frame_width,cdata->frame_height,cdata->width, + if (cdata->width != cdata->frame_width || cdata->height != cdata->frame_height) + fprintf(stderr, "mkv_decoder: info frame size=%d x %d, pixel size=%d x %d\n", cdata->frame_width, cdata->frame_height, cdata->width, cdata->height); - if (track->video.flag_interlaced) cdata->interlace=LIVES_INTERLACE_BOTTOM_FIRST; + if (track->video.flag_interlaced) cdata->interlace = LIVES_INTERLACE_BOTTOM_FIRST; } else if (track->type == MATROSKA_TRACK_TYPE_AUDIO) { - priv->has_audio=TRUE; + priv->has_audio = TRUE; } if (encodings_list->nb_elem > 1) { - fprintf(stderr,"mkv_decoder: Multiple combined encodings not supported\n"); + fprintf(stderr, "mkv_decoder: Multiple combined encodings not supported\n"); return -1; } @@ -1442,10 +1442,10 @@ encodings[0].scope = 0; - fprintf(stderr,"mkv_decoder: Unsupported encoding type\n"); + fprintf(stderr, "mkv_decoder: Unsupported encoding type\n"); return -2; - } else if (track->codec_priv.size && encodings[0].scope&2) { + } else if (track->codec_priv.size && encodings[0].scope & 2) { uint8_t *codec_priv = track->codec_priv.data; int offset = matroska_decode_buffer(&track->codec_priv.data, &track->codec_priv.size, @@ -1464,7 +1464,7 @@ track->codec_priv.data = malloc(track->codec_priv.size + offset); memcpy(track->codec_priv.data, encodings[0].compression.settings.data, offset); - memcpy(track->codec_priv.data+offset, codec_priv, + memcpy(track->codec_priv.data + offset, codec_priv, track->codec_priv.size); track->codec_priv.size += offset; } @@ -1473,10 +1473,10 @@ } } - for (j=0; ff_mkv_codec_tags[j].id != CODEC_ID_NONE; j++) { + for (j = 0; ff_mkv_codec_tags[j].id != CODEC_ID_NONE; j++) { if (!strncmp(ff_mkv_codec_tags[j].str, track->codec_id, strlen(ff_mkv_codec_tags[j].str))) { - codec_id= ff_mkv_codec_tags[j].id; + codec_id = ff_mkv_codec_tags[j].id; break; } } @@ -1518,7 +1518,7 @@ if (track->time_scale < 0.01) track->time_scale = 1.0; - av_set_pts_info(st, 64, matroska->time_scale*track->time_scale, 1000*1000*1000); /* 64 bit pts in ns */ + av_set_pts_info(st, 64, matroska->time_scale * track->time_scale, 1000 * 1000 * 1000); /* 64 bit pts in ns */ st->codec->codec_id = codec_id; st->start_time = 0; @@ -1544,7 +1544,7 @@ st->codec->extradata_size = extradata_size; } else if (track->codec_priv.data && track->codec_priv.size > 0) { st->codec->extradata = calloc(track->codec_priv.size + - FF_INPUT_BUFFER_PADDING_SIZE,1); + FF_INPUT_BUFFER_PADDING_SIZE, 1); if (st->codec->extradata == NULL) { fprintf(stderr, "mkv_decoder: Out of memory\n"); @@ -1560,8 +1560,8 @@ if (track->type == MATROSKA_TRACK_TYPE_VIDEO) { MatroskaTrackPlane *planes = track->operation.combine_planes.elem; - if (priv->vidst!=NULL) continue; - priv->vidst=st; + if (priv->vidst != NULL) continue; + priv->vidst = st; st->codec->codec_type = AVMEDIA_TYPE_VIDEO; st->codec->codec_tag = fourcc; st->codec->width = track->video.pixel_width; @@ -1569,14 +1569,14 @@ av_reduce(&st->sample_aspect_ratio.num, &st->sample_aspect_ratio.den, st->codec->height * track->video.display_width, - st->codec-> width * track->video.display_height, + st->codec->width * track->video.display_height, 255); if (st->codec->codec_id != CODEC_ID_H264) st->need_parsing = AVSTREAM_PARSE_HEADERS; if (track->default_duration) - st->avg_frame_rate = av_d2q(1000000000.0/track->default_duration, INT_MAX); + st->avg_frame_rate = av_d2q(1000000000.0 / track->default_duration, INT_MAX); - if (cdata->fps==0.) cdata->fps=(float)st->avg_frame_rate.num/(float)st->avg_frame_rate.den; + if (cdata->fps == 0.) cdata->fps = (float)st->avg_frame_rate.num / (float)st->avg_frame_rate.den; /* if (track->video.stereo_mode && track->video.stereo_mode < MATROSKA_VIDEO_STEREO_MODE_COUNT) @@ -1584,13 +1584,13 @@ */ /* if we have virtual track, mark the real tracks */ - for (j=0; j < track->operation.combine_planes.nb_elem; j++) { + for (j = 0; j < track->operation.combine_planes.nb_elem; j++) { char buf[32]; if (planes[j].type >= MATROSKA_VIDEO_STEREO_PLANE_COUNT) continue; snprintf(buf, sizeof(buf), "%s_%d", matroska_video_stereo_plane[planes[j].type], i); - for (k=0; k < matroska->tracks.nb_elem; k++) + for (k = 0; k < matroska->tracks.nb_elem; k++) if (planes[j].uid == tracks[k].uid) { av_dict_set(&s->streams[k]->metadata, "stereo_mode", buf, 0); @@ -1602,8 +1602,8 @@ } } - if (priv->vidst==NULL) { - fprintf(stderr,"mkv_decoder: no video stream found\n"); + if (priv->vidst == NULL) { + fprintf(stderr, "mkv_decoder: no video stream found\n"); return -5; } @@ -1612,63 +1612,63 @@ matroska_parse_cues(cdata); } - if (priv->idxc->idxhh==NULL) { - fprintf(stderr,"mkv_decoder: no seek info found\n"); + if (priv->idxc->idxhh == NULL) { + fprintf(stderr, "mkv_decoder: no seek info found\n"); return -6; } switch (priv->vidst->codec->codec_id) { case CODEC_ID_VP8 : - sprintf(cdata->video_name,"%s","vp8"); + sprintf(cdata->video_name, "%s", "vp8"); break; case CODEC_ID_THEORA : - sprintf(cdata->video_name,"%s","theora"); + sprintf(cdata->video_name, "%s", "theora"); break; #if FF_API_SNOW case CODEC_ID_SNOW : - sprintf(cdata->video_name,"%s","snow"); + sprintf(cdata->video_name, "%s", "snow"); break; #endif case CODEC_ID_DIRAC : - sprintf(cdata->video_name,"%s","dirac"); + sprintf(cdata->video_name, "%s", "dirac"); break; case CODEC_ID_MJPEG : - sprintf(cdata->video_name,"%s","mjpeg"); + sprintf(cdata->video_name, "%s", "mjpeg"); break; case CODEC_ID_MPEG1VIDEO : - sprintf(cdata->video_name,"%s","mpeg1"); + sprintf(cdata->video_name, "%s", "mpeg1"); break; case CODEC_ID_MPEG2VIDEO : - sprintf(cdata->video_name,"%s","mpeg2"); + sprintf(cdata->video_name, "%s", "mpeg2"); break; case CODEC_ID_MPEG4 : - sprintf(cdata->video_name,"%s","mpeg4"); + sprintf(cdata->video_name, "%s", "mpeg4"); break; case CODEC_ID_H264 : - sprintf(cdata->video_name,"%s","h264"); + sprintf(cdata->video_name, "%s", "h264"); break; case CODEC_ID_MSMPEG4V3 : - sprintf(cdata->video_name,"%s","msmpeg4"); + sprintf(cdata->video_name, "%s", "msmpeg4"); break; case CODEC_ID_RV10 : - sprintf(cdata->video_name,"%s","rv10"); + sprintf(cdata->video_name, "%s", "rv10"); break; case CODEC_ID_RV20 : - sprintf(cdata->video_name,"%s","rv20"); + sprintf(cdata->video_name, "%s", "rv20"); break; case CODEC_ID_RV30 : - sprintf(cdata->video_name,"%s","rv30"); + sprintf(cdata->video_name, "%s", "rv30"); break; case CODEC_ID_RV40 : - sprintf(cdata->video_name,"%s","rv40"); + sprintf(cdata->video_name, "%s", "rv40"); break; case CODEC_ID_RAWVIDEO : - sprintf(cdata->video_name,"%s","raw"); + sprintf(cdata->video_name, "%s", "raw"); break; default : - sprintf(cdata->video_name,"%s","unknown"); + sprintf(cdata->video_name, "%s", "unknown"); break; } @@ -1687,13 +1687,13 @@ pthread_mutex_lock(&indices_mutex); - for (i=0; i<nidxc; i++) { - if (indices[i]->clients[0]->current_clip==cdata->current_clip&& - !strcmp(indices[i]->clients[0]->URI,cdata->URI)) { - idxc=indices[i]; + for (i = 0; i < nidxc; i++) { + if (indices[i]->clients[0]->current_clip == cdata->current_clip && + !strcmp(indices[i]->clients[0]->URI, cdata->URI)) { + idxc = indices[i]; // append cdata to clients - idxc->clients=(lives_clip_data_t **)realloc(idxc->clients,(idxc->nclients+1)*sizeof(lives_clip_data_t *)); - idxc->clients[idxc->nclients]=cdata; + idxc->clients = (lives_clip_data_t **)realloc(idxc->clients, (idxc->nclients + 1) * sizeof(lives_clip_data_t *)); + idxc->clients[idxc->nclients] = cdata; idxc->nclients++; // pthread_mutex_unlock(&indices_mutex); @@ -1701,20 +1701,20 @@ } } - indices=(index_container_t **)realloc(indices,(nidxc+1)*sizeof(index_container_t *)); + indices = (index_container_t **)realloc(indices, (nidxc + 1) * sizeof(index_container_t *)); // match not found, create a new index container - idxc=(index_container_t *)malloc(sizeof(index_container_t)); + idxc = (index_container_t *)malloc(sizeof(index_container_t)); - idxc->idxhh=NULL; - idxc->idxht=NULL; + idxc->idxhh = NULL; + idxc->idxht = NULL; - idxc->nclients=1; - idxc->clients=(lives_clip_data_t **)malloc(sizeof(lives_clip_data_t *)); - idxc->clients[0]=cdata; - pthread_mutex_init(&idxc->mutex,NULL); + idxc->nclients = 1; + idxc->clients = (lives_clip_data_t **)malloc(sizeof(lives_clip_data_t *)); + idxc->clients[0] = cdata; + pthread_mutex_init(&idxc->mutex, NULL); - indices[nidxc]=idxc; + indices[nidxc] = idxc; pthread_mutex_unlock(&indices_mutex); nidxc++; @@ -1724,42 +1724,42 @@ static void idxc_release(lives_clip_data_t *cdata) { - lives_mkv_priv_t *priv=cdata->priv; - index_container_t *idxc=priv->idxc; - register int i,j; + lives_mkv_priv_t *priv = cdata->priv; + index_container_t *idxc = priv->idxc; + register int i, j; - if (idxc==NULL) return; + if (idxc == NULL) return; pthread_mutex_lock(&indices_mutex); - if (idxc->nclients==1) { + if (idxc->nclients == 1) { // remove this index index_free(idxc->idxhh); free(idxc->clients); - for (i=0; i<nidxc; i++) { - if (indices[i]==idxc) { + for (i = 0; i < nidxc; i++) { + if (indices[i] == idxc) { nidxc--; - for (j=i; j<nidxc; j++) { - indices[j]=indices[j+1]; + for (j = i; j < nidxc; j++) { + indices[j] = indices[j + 1]; } free(idxc); - if (nidxc==0) { + if (nidxc == 0) { free(indices); - indices=NULL; - } else indices=(index_container_t **)realloc(indices,nidxc*sizeof(index_container_t *)); + indices = NULL; + } else indices = (index_container_t **)realloc(indices, nidxc * sizeof(index_container_t *)); break; } } } else { // reduce client count by 1 - for (i=0; i<idxc->nclients; i++) { - if (idxc->clients[i]==cdata) { + for (i = 0; i < idxc->nclients; i++) { + if (idxc->clients[i] == cdata) { // remove this entry idxc->nclients--; - for (j=i; j<idxc->nclients; j++) { - idxc->clients[j]=idxc->clients[j+1]; + for (j = i; j < idxc->nclients; j++) { + idxc->clients[j] = idxc->clients[j + 1]; } - idxc->clients=(lives_clip_data_t **)realloc(idxc->clients,idxc->nclients*sizeof(lives_clip_data_t *)); + idxc->clients = (lives_clip_data_t **)realloc(idxc->clients, idxc->nclients * sizeof(lives_clip_data_t *)); break; } } @@ -1773,43 +1773,43 @@ static void idxc_release_all(void) { register int i; - for (i=0; i<nidxc; i++) { + for (i = 0; i < nidxc; i++) { index_free(indices[i]->idxhh); free(indices[i]->clients); free(indices[i]); } - nidxc=0; + nidxc = 0; } static void detach_stream(lives_clip_data_t *cdata) { // close the file, free the decoder - lives_mkv_priv_t *priv=cdata->priv; + lives_mkv_priv_t *priv = cdata->priv; - cdata->seek_flag=0; + cdata->seek_flag = 0; if (priv->s) matroska_read_close(cdata); - if (priv->ctx!=NULL) { + if (priv->ctx != NULL) { avcodec_close(priv->ctx); av_free(priv->ctx); } avcodec_close(priv->vidst->codec); - if (priv->picture!=NULL) av_frame_unref(&priv->picture); + if (priv->picture != NULL) av_frame_unref(&priv->picture); - priv->ctx=NULL; - priv->codec=NULL; - priv->picture=NULL; + priv->ctx = NULL; + priv->codec = NULL; + priv->picture = NULL; - if (cdata->palettes!=NULL) free(cdata->palettes); - cdata->palettes=NULL; + if (cdata->palettes != NULL) free(cdata->palettes); + cdata->palettes = NULL; - if (priv->avpkt.data!=NULL) { + if (priv->avpkt.data != NULL) { free(priv->avpkt.data); - priv->avpkt.data=NULL; - priv->avpkt.size=0; + priv->avpkt.data = NULL; + priv->avpkt.size = 0; } matroska_clear_queue(&priv->matroska); @@ -1825,124 +1825,124 @@ static boolean attach_stream(lives_clip_data_t *cdata, boolean isclone) { // open the file and get a handle - lives_mkv_priv_t *priv=cdata->priv; + lives_mkv_priv_t *priv = cdata->priv; unsigned char header[MKV_PROBE_SIZE]; - int64_t ldts,dts,pts; - double fps,duration=0.; + int64_t ldts, dts, pts; + double fps, duration = 0.; - AVCodec *codec=NULL; + AVCodec *codec = NULL; AVCodecContext *ctx; int err; - boolean got_picture=FALSE; - boolean is_partial_clone=FALSE; + boolean got_picture = FALSE; + boolean is_partial_clone = FALSE; struct stat sb; //#define DEBUG #ifdef DEBUG - fprintf(stderr,"\n\n\n\nDEBUG MKV"); + fprintf(stderr, "\n\n\n\nDEBUG MKV"); #endif - if (isclone&&!priv->inited) { - isclone=FALSE; - if (cdata->fps>0.&&cdata->nframes>0) - is_partial_clone=TRUE; + if (isclone && !priv->inited) { + isclone = FALSE; + if (cdata->fps > 0. && cdata->nframes > 0) + is_partial_clone = TRUE; } - priv->has_audio=priv->has_video=FALSE; - priv->vidst=NULL; - priv->vididx=-1; + priv->has_audio = priv->has_video = FALSE; + priv->vidst = NULL; + priv->vididx = -1; - if ((priv->fd=open(cdata->URI,O_RDONLY))==-1) { - fprintf(stderr, "mkv_decoder: unable to open %s\n",cdata->URI); + if ((priv->fd = open(cdata->URI, O_RDONLY)) == -1) { + fprintf(stderr, "mkv_decoder: unable to open %s\n", cdata->URI); return FALSE; } #ifdef IS_MINGW - setmode(priv->fd,O_BINARY); + setmode(priv->fd, O_BINARY); #endif if (isclone) goto skip_probe; - if ((err=read(priv->fd, header, MKV_PROBE_SIZE)) < MKV_PROBE_SIZE) { + if ((err = read(priv->fd, header, MKV_PROBE_SIZE)) < MKV_PROBE_SIZE) { // for example, might be a directory #ifdef DEBUG - fprintf(stderr, "mkv_decoder: unable to read header %d %d for %s\n",err,MKV_PROBE_SIZE,cdata->URI); - if (err==0) fprintf(stderr,"err was %s %d\n",strerror(errno),priv->filesize); + fprintf(stderr, "mkv_decoder: unable to read header %d %d for %s\n", err, MKV_PROBE_SIZE, cdata->URI); + if (err == 0) fprintf(stderr, "err was %s %d\n", strerror(errno), priv->filesize); #endif close(priv->fd); return FALSE; } - priv->input_position+=MKV_PROBE_SIZE; + priv->input_position += MKV_PROBE_SIZE; if (!lives_mkv_probe(cdata, header)) { #ifdef DEBUG - fprintf(stderr, "mkv_decoder: unable to parse header for %s\n",cdata->URI); + fprintf(stderr, "mkv_decoder: unable to parse header for %s\n", cdata->URI); #endif close(priv->fd); return FALSE; } - if (!is_partial_clone) cdata->fps=0.; - cdata->width=cdata->frame_width=cdata->height=cdata->frame_height=0; - cdata->offs_x=cdata->offs_y=0; + if (!is_partial_clone) cdata->fps = 0.; + cdata->width = cdata->frame_width = cdata->height = cdata->frame_height = 0; + cdata->offs_x = cdata->offs_y = 0; - cdata->arate=0; - cdata->achans=0; - cdata->asamps=16; + cdata->arate = 0; + cdata->achans = 0; + cdata->asamps = 16; - fstat(priv->fd,&sb); - priv->filesize=sb.st_size; + fstat(priv->fd, &sb); + priv->filesize = sb.st_size; - sprintf(cdata->audio_name,"%s",""); + sprintf(cdata->audio_name, "%s", ""); skip_probe: - priv->idxc=idxc_for(cdata); - priv->inited=TRUE; + priv->idxc = idxc_for(cdata); + priv->inited = TRUE; - priv->input_position=0; - lseek(priv->fd,priv->input_position,SEEK_SET); + priv->input_position = 0; + lseek(priv->fd, priv->input_position, SEEK_SET); priv->s = avformat_alloc_context(); - memset(&priv->matroska,0,sizeof(priv->matroska)); + memset(&priv->matroska, 0, sizeof(priv->matroska)); priv->matroska.current_id = 0; priv->s->priv_data = &priv->matroska; av_init_packet(&priv->avpkt); - priv->avpkt.data=NULL; - priv->avpkt.size=0; - priv->ctx=NULL; + priv->avpkt.data = NULL; + priv->avpkt.size = 0; + priv->ctx = NULL; if (lives_mkv_read_header(cdata)) { close(priv->fd); return FALSE; } - cdata->seek_flag=LIVES_SEEK_FAST|LIVES_SEEK_NEEDS_CALCULATION; + cdata->seek_flag = LIVES_SEEK_FAST | LIVES_SEEK_NEEDS_CALCULATION; - cdata->offs_x=0; - cdata->offs_y=0; + cdata->offs_x = 0; + cdata->offs_y = 0; - priv->data_start=priv->input_position; + priv->data_start = priv->input_position; - if (priv->matroska.duration!=0. && priv->matroska.time_scale!=.0) + if (priv->matroska.duration != 0. && priv->matroska.time_scale != .0) duration = priv->matroska.duration / priv->matroska.time_scale * 1000.; //#define DEBUG #ifdef DEBUG - fprintf(stderr,"video type is %f %s %d x %d (%d x %d +%d +%d)\n",duration,cdata->video_name, - cdata->width,cdata->height,cdata->frame_width,cdata->frame_height,cdata->offs_x,cdata->offs_y); + fprintf(stderr, "video type is %f %s %d x %d (%d x %d +%d +%d)\n", duration, cdata->video_name, + cdata->width, cdata->height, cdata->frame_width, cdata->frame_height, cdata->offs_x, cdata->offs_y); #endif codec = avcodec_find_decoder(priv->vidst->codec->codec_id); if (!codec) { - if (strlen(cdata->video_name)>0) - fprintf(stderr, "mkv_decoder: Could not find avcodec codec for video type %s\n",cdata->video_name); + if (strlen(cdata->video_name) > 0) + fprintf(stderr, "mkv_decoder: Could not find avcodec codec for video type %s\n", cdata->video_name); detach_stream(cdata); return FALSE; } @@ -1955,7 +1955,7 @@ return FALSE; } - priv->codec=codec; + priv->codec = codec; if (isclone) return TRUE; @@ -1966,11 +1966,11 @@ priv->picture = av_frame_alloc(); pthread_mutex_lock(&priv->idxc->mutex); - matroska_read_seek(cdata,0); + matroska_read_seek(cdata, 0); pthread_mutex_unlock(&priv->idxc->mutex); - while (!got_picture&&!got_eof) { - matroska_read_packet(cdata,&priv->avpkt); + while (!got_picture && !got_eof) { + matroska_read_packet(cdata, &priv->avpkt); if (got_eof) break; @@ -1982,21 +1982,21 @@ } if (!got_picture) { - fprintf(stderr,"mkv_decoder: could not get picture.\n PLEASE SEND A PATCH FOR %s FORMAT.\n",cdata->video_name); + fprintf(stderr, "mkv_decoder: could not get picture.\n PLEASE SEND A PATCH FOR %s FORMAT.\n", cdata->video_name); detach_stream(cdata); return FALSE; } - pts=priv->avpkt.pts; - dts=priv->avpkt.dts; + pts = priv->avpkt.pts; + dts = priv->avpkt.dts; - if (priv->avpkt.data!=NULL) { + if (priv->avpkt.data != NULL) { free(priv->avpkt.data); - priv->avpkt.data=NULL; - priv->avpkt.size=0; + priv->avpkt.data = NULL; + priv->avpkt.size = 0; } - matroska_read_packet(cdata,&priv->avpkt); + matroska_read_packet(cdata, &priv->avpkt); if (!got_eof) { #if LIBAVCODEC_VERSION_MAJOR >= 52 @@ -2007,119 +2007,119 @@ } if (got_picture) { - pts=priv->avpkt.pts-pts; - dts=priv->avpkt.dts-dts; - } else pts=dts=0; + pts = priv->avpkt.pts - pts; + dts = priv->avpkt.dts - dts; + } else pts = dts = 0; - if (priv->avpkt.data!=NULL) { + if (priv->avpkt.data != NULL) { free(priv->avpkt.data); - priv->avpkt.data=NULL; - priv->avpkt.size=0; + priv->avpkt.data = NULL; + priv->avpkt.size = 0; } - cdata->YUV_clamping=WEED_YUV_CLAMPING_UNCLAMPED; - if (ctx->color_range==AVCOL_RANGE_MPEG) cdata->YUV_clamping=WEED_YUV_CLAMPING_CLAMPED; + cdata->YUV_clamping = WEED_YUV_CLAMPING_UNCLAMPED; + if (ctx->color_range == AVCOL_RANGE_MPEG) cdata->YUV_clamping = WEED_YUV_CLAMPING_CLAMPED; - cdata->YUV_sampling=WEED_YUV_SAMPLING_DEFAULT; - if (ctx->chroma_sample_location!=AVCHROMA_LOC_LEFT) cdata->YUV_sampling=WEED_YUV_SAMPLING_MPEG; + cdata->YUV_sampling = WEED_YUV_SAMPLING_DEFAULT; + if (ctx->chroma_sample_location != AVCHROMA_LOC_LEFT) cdata->YUV_sampling = WEED_YUV_SAMPLING_MPEG; - cdata->YUV_subspace=WEED_YUV_SUBSPACE_YCBCR; - if (ctx->colorspace==AVCOL_SPC_BT709) cdata->YUV_subspace=WEED_YUV_SUBSPACE_BT709; + cdata->YUV_subspace = WEED_YUV_SUBSPACE_YCBCR; + if (ctx->colorspace == AVCOL_SPC_BT709) cdata->YUV_subspace = WEED_YUV_SUBSPACE_BT709; - cdata->palettes[0]=avi_pix_fmt_to_weed_palette(ctx->pix_fmt, - &cdata->YUV_clamping); + cdata->palettes[0] = avi_pix_fmt_to_weed_palette(ctx->pix_fmt, + &cdata->YUV_clamping); - if (cdata->palettes[0]==WEED_PALETTE_END) { - fprintf(stderr, "mkv_decoder: Could not find a usable palette for (%d) %s\n",ctx->pix_fmt,cdata->URI); + if (cdata->palettes[0] == WEED_PALETTE_END) { + fprintf(stderr, "mkv_decoder: Could not find a usable palette for (%d) %s\n", ctx->pix_fmt, cdata->URI); detach_stream(cdata); return FALSE; } - cdata->current_palette=cdata->palettes[0]; + cdata->current_palette = cdata->palettes[0]; // re-get fps, width, height, nframes - actually avcodec is pretty useless at getting this // so we fall back on the values we obtained ourselves - if (cdata->width==0) cdata->width=ctx->width-cdata->offs_x*2; - if (cdata->height==0) cdata->height=ctx->height-cdata->offs_y*2; + if (cdata->width == 0) cdata->width = ctx->width - cdata->offs_x * 2; + if (cdata->height == 0) cdata->height = ctx->height - cdata->offs_y * 2; - if (cdata->width*cdata->height==0) { - fprintf(stderr, "mkv_decoder: invalid width and height (%d X %d)\n",cdata->width,cdata->height); + if (cdata->width * cdata->height == 0) { + fprintf(stderr, "mkv_decoder: invalid width and height (%d X %d)\n", cdata->width, cdata->height); detach_stream(cdata); return FALSE; } #ifdef DEBUG - fprintf(stderr,"using palette %d, size %d x %d\n", - cdata->current_palette,cdata->width,cdata->height); + fprintf(stderr, "using palette %d, size %d x %d\n", + cdata->current_palette, cdata->width, cdata->height); #endif - cdata->par=(double)ctx->sample_aspect_ratio.num/(double)ctx->sample_aspect_ratio.den; - if (cdata->par==0.) cdata->par=1.; + cdata->par = (double)ctx->sample_aspect_ratio.num / (double)ctx->sample_aspect_ratio.den; + if (cdata->par == 0.) cdata->par = 1.; - if (!is_partial_clone&&ctx->time_base.den>0&&ctx->time_base.num>0) { - fps=(double)ctx->time_base.den/(double)ctx->time_base.num; - if (fps!=1000.) cdata->fps=fps; + if (!is_partial_clone && ctx->time_base.den > 0 && ctx->time_base.num > 0) { + fps = (double)ctx->time_base.den / (double)ctx->time_base.num; + if (fps != 1000.) cdata->fps = fps; } - if (cdata->fps==0.) { - if (pts!=0) cdata->fps=1000./(double)pts; - else if (dts!=0) cdata->fps=1000./(double)dts; + if (cdata->fps == 0.) { + if (pts != 0) cdata->fps = 1000. / (double)pts; + else if (dts != 0) cdata->fps = 1000. / (double)dts; } - if (cdata->fps==0.||cdata->fps==1000.) { + if (cdata->fps == 0. || cdata->fps == 1000.) { double res = get_fps(cdata->URI); if (res >= 0.) cdata->fps = res; } - if (cdata->fps==0.||cdata->fps==1000.) { + if (cdata->fps == 0. || cdata->fps == 1000.) { // if mplayer fails, count the frames between index entries - dts=calc_dts_delta(cdata); - if (dts!=0) cdata->fps=1000./(double)dts; + dts = calc_dts_delta(cdata); + if (dts != 0) cdata->fps = 1000. / (double)dts; } - if (cdata->fps==0.||cdata->fps==1000.) { - fprintf(stderr, "mkv_decoder: invalid framerate %.4f (%d / %d)\n",cdata->fps,ctx->time_base.den,ctx->time_base.num); + if (cdata->fps == 0. || cdata->fps == 1000.) { + fprintf(stderr, "mkv_decoder: invalid framerate %.4f (%d / %d)\n", cdata->fps, ctx->time_base.den, ctx->time_base.num); detach_stream(cdata); return FALSE; } - if (ctx->ticks_per_frame==2) { + if (ctx->ticks_per_frame == 2) { // TODO - needs checking - cdata->fps/=2.; - cdata->interlace=LIVES_INTERLACE_BOTTOM_FIRST; + cdata->fps /= 2.; + cdata->interlace = LIVES_INTERLACE_BOTTOM_FIRST; } - priv->last_frame=-1; + priv->last_frame = -1; if (is_partial_clone) return TRUE; - ldts=get_last_video_dts(cdata); + ldts = get_last_video_dts(cdata); - if (ldts==0) ldts=duration*1000.; + if (ldts == 0) ldts = duration * 1000.; - if (ldts==-1) { + if (ldts == -1) { fprintf(stderr, "mkv_decoder: could not read last dts\n"); detach_stream(cdata); return FALSE; } - cdata->nframes=dts_to_frame(cdata,ldts)+2; + cdata->nframes = dts_to_frame(cdata, ldts) + 2; // double check, sometimes we can be out by one or two frames while (1) { - priv->expect_eof=TRUE; - got_eof=FALSE; - get_frame(cdata,cdata->nframes-1,NULL,0,NULL); + priv->expect_eof = TRUE; + got_eof = FALSE; + get_frame(cdata, cdata->nframes - 1, NULL, 0, NULL); if (!got_eof) break; cdata->nframes--; } - priv->expect_eof=FALSE; + priv->expect_eof = FALSE; #ifdef DEBUG - fprintf(stderr,"fps is %.4f %ld\n",cdata->fps,cdata->nframes); + fprintf(stderr, "fps is %.4f %ld\n", cdata->fps, cdata->nframes); #endif return TRUE; @@ -2134,9 +2134,9 @@ const char *module_check_init(void) { avcodec_register_all(); av_log_set_level(AV_LOG_ERROR); - indices=NULL; - nidxc=0; - pthread_mutex_init(&indices_mutex,NULL); + indices = NULL; + nidxc = 0; + pthread_mutex_init(&indices_mutex, NULL); return NULL; } @@ -2149,134 +2149,134 @@ static lives_clip_data_t *init_cdata(void) { lives_mkv_priv_t *priv; - lives_clip_data_t *cdata=(lives_clip_data_t *)malloc(sizeof(lives_clip_data_t)); + lives_clip_data_t *cdata = (lives_clip_data_t *)malloc(sizeof(lives_clip_data_t)); - cdata->URI=NULL; + cdata->URI = NULL; - cdata->priv=priv=malloc(sizeof(lives_mkv_priv_t)); + cdata->priv = priv = malloc(sizeof(lives_mkv_priv_t)); - cdata->seek_flag=0; + cdata->seek_flag = 0; - priv->ctx=NULL; - priv->codec=NULL; - priv->picture=NULL; - priv->inited=FALSE; + priv->ctx = NULL; + priv->codec = NULL; + priv->picture = NULL; + priv->inited = FALSE; - priv->expect_eof=FALSE; + priv->expect_eof = FALSE; - cdata->palettes=(int *)malloc(2*sizeof(int)); - cdata->palettes[1]=WEED_PALETTE_END; + cdata->palettes = (int *)malloc(2 * sizeof(int)); + cdata->palettes[1] = WEED_PALETTE_END; - cdata->interlace=LIVES_INTERLACE_NONE; + cdata->interlace = LIVES_INTERLACE_NONE; - cdata->nframes=0; + cdata->nframes = 0; - cdata->sync_hint=0; + cdata->sync_hint = 0; - cdata->video_start_time=0.; + cdata->video_start_time = 0.; - priv->idxc=NULL; + priv->idxc = NULL; - got_eof=FALSE; - errval=0; + got_eof = FALSE; + errval = 0; - memset(cdata->author,0,1); - memset(cdata->title,0,1); - memset(cdata->comment,0,1); + memset(cdata->author, 0, 1); + memset(cdata->title, 0, 1); + memset(cdata->comment, 0, 1); return cdata; } static lives_clip_data_t *mkv_clone(lives_clip_data_t *cdata) { - lives_clip_data_t *clone=init_cdata(); - lives_mkv_priv_t *dpriv,*spriv; + lives_clip_data_t *clone = init_cdata(); + lives_mkv_priv_t *dpriv, *spriv; // copy from cdata to clone, with a new context for clone - clone->URI=strdup(cdata->URI); - clone->nclips=cdata->nclips; - snprintf(clone->container_name,512,"%s",cdata->container_name); - clone->current_clip=cdata->current_clip; - clone->width=cdata->width; - clone->height=cdata->height; - clone->nframes=cdata->nframes; - clone->interlace=cdata->interlace; - clone->offs_x=cdata->offs_x; - clone->offs_y=cdata->offs_y; - clone->frame_width=cdata->frame_width; - clone->frame_height=cdata->frame_height; - clone->par=cdata->par; - clone->fps=cdata->fps; - if (cdata->palettes!=NULL) clone->palettes[0]=cdata->palettes[0]; - clone->current_palette=cdata->current_palette; - clone->YUV_sampling=cdata->YUV_sampling; - clone->YUV_clamping=cdata->YUV_clamping; - snprintf(clone->video_name,512,"%s",cdata->video_name); - clone->arate=cdata->arate; - clone->achans=cdata->achans; - clone->asamps=cdata->asamps; - clone->asigned=cdata->asigned; - clone->ainterleaf=cdata->ainterleaf; - snprintf(clone->audio_name,512,"%s",cdata->audio_name); - clone->seek_flag=cdata->seek_flag; - clone->sync_hint=cdata->sync_hint; - - snprintf(clone->author,256,"%s",cdata->author); - snprintf(clone->title,256,"%s",cdata->title); - snprintf(clone->comment,256,"%s",cdata->comment); + clone->URI = strdup(cdata->URI); + clone->nclips = cdata->nclips; + snprintf(clone->container_name, 512, "%s", cdata->container_name); + clone->current_clip = cdata->current_clip; + clone->width = cdata->width; + clone->height = cdata->height; + clone->nframes = cdata->nframes; + clone->interlace = cdata->interlace; + clone->offs_x = cdata->offs_x; + clone->offs_y = cdata->offs_y; + clone->frame_width = cdata->frame_width; + clone->frame_height = cdata->frame_height; + clone->par = cdata->par; + clone->fps = cdata->fps; + if (cdata->palettes != NULL) clone->palettes[0] = cdata->palettes[0]; + clone->current_palette = cdata->current_palette; + clone->YUV_sampling = cdata->YUV_sampling; + clone->YUV_clamping = cdata->YUV_clamping; + snprintf(clone->video_name, 512, "%s", cdata->video_name); + clone->arate = cdata->arate; + clone->achans = cdata->achans; + clone->asamps = cdata->asamps; + clone->asigned = cdata->asigned; + clone->ainterleaf = cdata->ainterleaf; + snprintf(clone->audio_name, 512, "%s", cdata->audio_name); + clone->seek_flag = cdata->seek_flag; + clone->sync_hint = cdata->sync_hint; + + snprintf(clone->author, 256, "%s", cdata->author); + snprintf(clone->title, 256, "%s", cdata->title); + snprintf(clone->comment, 256, "%s", cdata->comment); // create "priv" elements - dpriv=clone->priv; - spriv=cdata->priv; + dpriv = clone->priv; + spriv = cdata->priv; - if (spriv!=NULL) { - dpriv->filesize=spriv->filesize; - dpriv->inited=TRUE; + if (spriv != NULL) { + dpriv->filesize = spriv->filesize; + dpriv->inited = TRUE; } - if (!attach_stream(clone,TRUE)) { + if (!attach_stream(clone, TRUE)) { free(clone->URI); - clone->URI=NULL; + clone->URI = NULL; clip_data_free(clone); return NULL; } - if (spriv==NULL) { - clone->nclips=1; + if (spriv == NULL) { + clone->nclips = 1; /////////////////////////////////////////////////////////// - sprintf(clone->container_name,"%s","mkv"); + sprintf(clone->container_name, "%s", "mkv"); // clone->height was set when we attached the stream - if (clone->frame_width==0||clone->frame_width<clone->width) clone->frame_width=clone->width; + if (clone->frame_width == 0 || clone->frame_width < clone->width) clone->frame_width = clone->width; else { - clone->offs_x=(clone->frame_width-clone->width)/2; + clone->offs_x = (clone->frame_width - clone->width) / 2; } - if (clone->frame_height==0||clone->frame_height<clone->height) clone->frame_height=clone->height; + if (clone->frame_height == 0 || clone->frame_height < clone->height) clone->frame_height = clone->height; else { - clone->offs_y=(clone->frame_height-clone->height)/2; + clone->offs_y = (clone->frame_height - clone->height) / 2; } - clone->frame_width=clone->width+clone->offs_x*2; - clone->frame_height=clone->height+clone->offs_y*2; + clone->frame_width = clone->width + clone->offs_x * 2; + clone->frame_height = clone->height + clone->offs_y * 2; - if (dpriv->ctx->width==clone->frame_width) clone->offs_x=0; - if (dpriv->ctx->height==clone->frame_height) clone->offs_y=0; + if (dpriv->ctx->width == clone->frame_width) clone->offs_x = 0; + if (dpriv->ctx->height == clone->frame_height) clone->offs_y = 0; //////////////////////////////////////////////////////////////////// - clone->asigned=TRUE; - clone->ainterleaf=TRUE; + clone->asigned = TRUE; + clone->ainterleaf = TRUE; } - if (dpriv->picture!=NULL) av_frame_unref(&dpriv->picture); - dpriv->picture=NULL; + if (dpriv->picture != NULL) av_frame_unref(&dpriv->picture); + dpriv->picture = NULL; - dpriv->last_frame=-1; - dpriv->expect_eof=FALSE; + dpriv->last_frame = -1; + dpriv->expect_eof = FALSE; return clone; } @@ -2297,125 +2297,125 @@ lives_mkv_priv_t *priv; - if (URI==NULL&&cdata!=NULL) { + if (URI == NULL && cdata != NULL) { // create a clone of cdata - we also need to be able to handle a "fake" clone with only URI, nframes and fps set (priv == NULL) return mkv_clone(cdata); } - got_eof=FALSE; - errval=0; + got_eof = FALSE; + errval = 0; - if (cdata!=NULL&&cdata->current_clip>0) { + if (cdata != NULL && cdata->current_clip > 0) { // currently we only support one clip per container clip_data_free(cdata); return NULL; } - if (cdata==NULL) { - cdata=init_cdata(); + if (cdata == NULL) { + cdata = init_cdata(); } - if (cdata->URI==NULL||strcmp(URI,cdata->URI)) { - if (cdata->URI!=NULL) { + if (cdata->URI == NULL || strcmp(URI, cdata->URI)) { + if (cdata->URI != NULL) { detach_stream(cdata); free(cdata->URI); } - cdata->URI=strdup(URI); - if (!attach_stream(cdata,FALSE)) { + cdata->URI = strdup(URI); + if (!attach_stream(cdata, FALSE)) { free(cdata->URI); - cdata->URI=NULL; + cdata->URI = NULL; clip_data_free(cdata); return NULL; } - cdata->current_palette=cdata->palettes[0]; - cdata->current_clip=0; + cdata->current_palette = cdata->palettes[0]; + cdata->current_clip = 0; } - cdata->nclips=1; + cdata->nclips = 1; /////////////////////////////////////////////////////////// - sprintf(cdata->container_name,"%s","mkv"); + sprintf(cdata->container_name, "%s", "mkv"); // cdata->height was set when we attached the stream - if (cdata->frame_width==0||cdata->frame_width<cdata->width) cdata->frame_width=cdata->width; + if (cdata->frame_width == 0 || cdata->frame_width < cdata->width) cdata->frame_width = cdata->width; else { - cdata->offs_x=(cdata->frame_width-cdata->width)/2; + cdata->offs_x = (cdata->frame_width - cdata->width) / 2; } - if (cdata->frame_height==0||cdata->frame_height<cdata->height) cdata->frame_height=cdata->height; + if (cdata->frame_height == 0 || cdata->frame_height < cdata->height) cdata->frame_height = cdata->height; else { - cdata->offs_y=(cdata->frame_height-cdata->height)/2; + cdata->offs_y = (cdata->frame_height - cdata->height) / 2; } - cdata->frame_width=cdata->width+cdata->offs_x*2; - cdata->frame_height=cdata->height+cdata->offs_y*2; + cdata->frame_width = cdata->width + cdata->offs_x * 2; + cdata->frame_height = cdata->height + cdata->offs_y * 2; - priv=cdata->priv; + priv = cdata->priv; - if (priv->ctx->width==cdata->frame_width) cdata->offs_x=0; - if (priv->ctx->height==cdata->frame_height) cdata->offs_y=0; + if (priv->ctx->width == cdata->frame_width) cdata->offs_x = 0; + if (priv->ctx->height == cdata->frame_height) cdata->offs_y = 0; //////////////////////////////////////////////////////////////////// - cdata->asigned=TRUE; - cdata->ainterleaf=TRUE; + cdata->asigned = TRUE; + cdata->ainterleaf = TRUE; - if (priv->picture!=NULL) av_frame_unref(&priv->picture); - priv->picture=NULL; + if (priv->picture != NULL) av_frame_unref(&priv->picture); + priv->picture = NULL; return cdata; } static size_t write_black_pixel(unsigned char *idst, int pal, int npixels, int y_black) { - unsigned char *dst=idst; + unsigned char *dst = idst; register int i; - for (i=0; i<npixels; i++) { + for (i = 0; i < npixels; i++) { switch (pal) { case WEED_PALETTE_RGBA32: case WEED_PALETTE_BGRA32: - dst[0]=dst[1]=dst[2]=0; - dst[3]=255; - dst+=4; + dst[0] = dst[1] = dst[2] = 0; + dst[3] = 255; + dst += 4; break; case WEED_PALETTE_ARGB32: - dst[1]=dst[2]=dst[3]=0; - dst[0]=255; - dst+=4; + dst[1] = dst[2] = dst[3] = 0; + dst[0] = 255; + dst += 4; break; case WEED_PALETTE_UYVY8888: - dst[1]=dst[3]=y_black; - dst[0]=dst[2]=128; - dst+=4; + dst[1] = dst[3] = y_black; + dst[0] = dst[2] = 128; + dst += 4; break; case WEED_PALETTE_YUYV8888: - dst[0]=dst[2]=y_black; - dst[1]=dst[3]=128; - dst+=4; + dst[0] = dst[2] = y_black; + dst[1] = dst[3] = 128; + dst += 4; break; case WEED_PALETTE_YUV888: - dst[0]=y_black; - dst[1]=dst[2]=128; - dst+=3; + dst[0] = y_black; + dst[1] = dst[2] = 128; + dst += 3; break; case WEED_PALETTE_YUVA8888: - dst[0]=y_black; - dst[1]=dst[2]=128; - dst[3]=255; - dst+=4; + dst[0] = y_black; + dst[1] = dst[2] = 128; + dst[3] = 255; + dst += 4; break; case WEED_PALETTE_YUV411: - dst[0]=dst[3]=128; - dst[1]=dst[2]=dst[4]=dst[5]=y_black; - dst+=6; + dst[0] = dst[3] = 128; + dst[1] = dst[2] = dst[4] = dst[5] = y_black; + dst += 6; default: break; } } - return idst-dst; + return idst - dst; } @@ -2425,7 +2425,7 @@ * Returns 0 on success or -1 on failure. */ static int matroska_deliver_packet(const lives_clip_data_t *cdata, AVPacket *pkt) { - lives_mkv_priv_t *priv=cdata->priv; + lives_mkv_priv_t *priv = cdata->priv; MatroskaDemuxContext *matroska = &priv->matroska; if (matroska->num_packets > 0) { @@ -2473,8 +2473,8 @@ uint64_t duration, int is_keyframe, int64_t cluster_pos) { - lives_mkv_priv_t *priv=cdata->priv; - MatroskaDemuxContext *matroska=&priv->matroska; + lives_mkv_priv_t *priv = cdata->priv; + MatroskaDemuxContext *matroska = &priv->matroska; uint64_t timecode = AV_NOPTS_VALUE; MatroskaTrack *track; @@ -2505,7 +2505,7 @@ return 0; } st = track->stream; - if (st!=priv->vidst) { + if (st != priv->vidst) { return res; } if (st->discard >= AVDISCARD_ALL) { @@ -2522,7 +2522,7 @@ if (is_keyframe == -1) is_keyframe = flags & 0x80 ? AV_PKT_FLAG_KEY : 0; - if (cluster_time != (uint64_t)-1 + if (cluster_time != (uint64_t) - 1 && (block_time >= 0 || cluster_time >= -block_time)) { timecode = cluster_time + block_time; @@ -2530,7 +2530,7 @@ && timecode < track->end_timecode) is_keyframe = 0; /* overlapping subtitles are not key frame */ - track->end_timecode = FFMAX(track->end_timecode, timecode+duration); + track->end_timecode = FFMAX(track->end_timecode, timecode + duration); } if (matroska->skip_to_keyframe && track->type != MATROSKA_TRACK_TYPE_SUBTITLE) { @@ -2543,7 +2543,7 @@ switch ((flags & 0x06) >> 1) { case 0x0: /* no lacing */ laces = 1; - lace_size = calloc(sizeof(int),1); + lace_size = calloc(sizeof(int), 1); lace_size[0] = size; break; @@ -2555,7 +2555,7 @@ laces = (*data) + 1; data += 1; size -= 1; - lace_size = calloc(laces,sizeof(int)); + lace_size = calloc(laces, sizeof(int)); switch ((flags & 0x06) >> 1) { case 0x1: { /* Xiph lacing */ @@ -2631,14 +2631,14 @@ } if (encodings && encodings->scope & 1) { - offset = matroska_decode_buffer(&pkt_data,&pkt_size, track); + offset = matroska_decode_buffer(&pkt_data, &pkt_size, track); if (offset < 0) continue; } - pkt = calloc(sizeof(AVPacket),1); + pkt = calloc(sizeof(AVPacket), 1); /* XXX: prevent data copy... */ - if (av_new_packet(pkt, pkt_size+offset) < 0) { + if (av_new_packet(pkt, pkt_size + offset) < 0) { free(pkt); res = AVERROR(ENOMEM); break; @@ -2646,7 +2646,7 @@ if (offset) memcpy(pkt->data, encodings->compression.settings.data, offset); - memcpy(pkt->data+offset, pkt_data, pkt_size); + memcpy(pkt->data + offset, pkt_data, pkt_size); if (pkt_data != data) free(pkt_data); @@ -2677,7 +2677,7 @@ st->codec->codec_id == CODEC_ID_SSA) matroska_merge_packets(matroska->prev_pkt, pkt); else { - lives_dynarray_add(&matroska->packets,&matroska->num_packets,pkt); + lives_dynarray_add(&matroska->packets, &matroska->num_packets, pkt); matroska->prev_pkt = pkt; } @@ -2697,8 +2697,8 @@ static int matroska_parse_cluster(const lives_clip_data_t *cdata) { - lives_mkv_priv_t *priv=cdata->priv; - MatroskaDemuxContext *matroska=&priv->matroska; + lives_mkv_priv_t *priv = cdata->priv; + MatroskaDemuxContext *matroska = &priv->matroska; MatroskaCluster cluster = { 0 }; EbmlList *blocks_list; @@ -2715,14 +2715,14 @@ blocks_list = &cluster.blocks; blocks = blocks_list->elem; - for (i=0; blocks!=NULL && i<blocks_list->nb_elem; i++) { + for (i = 0; blocks != NULL && i < blocks_list->nb_elem; i++) { if (blocks[i].bin.size > 0 && blocks[i].bin.data) { int is_keyframe = blocks[i].non_simple ? !blocks[i].reference : -1; - res=matroska_parse_block(cdata, - blocks[i].bin.data, blocks[i].bin.size, - blocks[i].bin.pos, cluster.timecode, - blocks[i].duration, is_keyframe, - pos); + res = matroska_parse_block(cdata, + blocks[i].bin.data, blocks[i].bin.size, + blocks[i].bin.pos, cluster.timecode, + blocks[i].duration, is_keyframe, + pos); } } ebml_free(matroska_cluster, &cluster); @@ -2734,11 +2734,11 @@ static boolean matroska_read_packet(const lives_clip_data_t *cdata, AVPacket *pkt) { - lives_mkv_priv_t *priv=cdata->priv; + lives_mkv_priv_t *priv = cdata->priv; MatroskaDemuxContext *matroska = &priv->matroska; while (matroska_deliver_packet(cdata, pkt)) { - if (matroska->done||got_eof) return FALSE; + if (matroska->done || got_eof) return FALSE; matroska_parse_cluster(cdata); } @@ -2751,8 +2751,8 @@ static index_entry *matroska_read_seek(const lives_clip_data_t *cdata, uint32_t timestamp) { - lives_mkv_priv_t *priv=cdata->priv; - MatroskaDemuxContext *matroska=&priv->matroska; + lives_mkv_priv_t *priv = cdata->priv; + MatroskaDemuxContext *matroska = &priv->matroska; //AVFormatContext *s=priv->s; //AVStream *st = priv->vidst; @@ -2765,22 +2765,22 @@ return NULL; } - if (timestamp!=0) { - timestamp = FFMIN(timestamp, frame_to_dts(cdata,cdata->nframes)); + if (timestamp != 0) { + timestamp = FFMIN(timestamp, frame_to_dts(cdata, cdata->nframes)); timestamp = FFMAX(timestamp, priv->idxc->idxhh->dts); } - idx=get_idx_for_pts(cdata,timestamp); + idx = get_idx_for_pts(cdata, timestamp); matroska_clear_queue(matroska); - priv->input_position=idx->offs; - lseek(priv->fd,priv->input_position,SEEK_SET); + priv->input_position = idx->offs; + lseek(priv->fd, priv->input_position, SEEK_SET); - if (priv->avpkt.data!=NULL) { + if (priv->avpkt.data != NULL) { free(priv->avpkt.data); - priv->avpkt.data=NULL; - priv->avpkt.size=0; + priv->avpkt.data = NULL; + priv->avpkt.size = 0; } //printf("2seeking to %ld\n",priv->input_position); @@ -2799,15 +2799,15 @@ static int matroska_read_close(const lives_clip_data_t *cdata) { - lives_mkv_priv_t *priv=cdata->priv; - MatroskaDemuxContext *matroska=&priv->matroska; + lives_mkv_priv_t *priv = cdata->priv; + MatroskaDemuxContext *matroska = &priv->matroska; MatroskaTrack *tracks = matroska->tracks.elem; int n; matroska_clear_queue(matroska); - for (n=0; n < matroska->tracks.nb_elem; n++) + for (n = 0; n < matroska->tracks.nb_elem; n++) if (tracks[n].type == MATROSKA_TRACK_TYPE_AUDIO) av_free(tracks[n].audio.buf); ebml_free(matroska_segment, matroska); @@ -2819,102 +2819,102 @@ boolean get_frame(const lives_clip_data_t *cdata, int64_t tframe, int *rowstrides, int height, void **pixel_data) { // seek to frame, - int64_t target_pts=frame_to_dts(cdata,tframe); - int64_t nextframe=0; - lives_mkv_priv_t *priv=cdata->priv; - int xheight=cdata->frame_height,pal=cdata->current_palette,nplanes=1,dstwidth=cdata->width,psize=1; - int btop=cdata->offs_y,bbot=xheight-1-btop; - int bleft=cdata->offs_x,bright=cdata->frame_width-cdata->width-bleft; - int rescan_limit=16; // pick some arbitrary value - int y_black=(cdata->YUV_clamping==WEED_YUV_CLAMPING_CLAMPED)?16:0; - boolean got_picture=FALSE; - unsigned char *dst,*src; - unsigned char black[4]= {0,0,0,255}; + int64_t target_pts = frame_to_dts(cdata, tframe); + int64_t nextframe = 0; + lives_mkv_priv_t *priv = cdata->priv; + int xheight = cdata->frame_height, pal = cdata->current_palette, nplanes = 1, dstwidth = cdata->width, psize = 1; + int btop = cdata->offs_y, bbot = xheight - 1 - btop; + int bleft = cdata->offs_x, bright = cdata->frame_width - cdata->width - bleft; + int rescan_limit = 16; // pick some arbitrary value + int y_black = (cdata->YUV_clamping == WEED_YUV_CLAMPING_CLAMPED) ? 16 : 0; + boolean got_picture = FALSE; + unsigned char *dst, *src; + unsigned char black[4] = {0, 0, 0, 255}; index_entry *idx; - register int i,p; + register int i, p; - got_eof=FALSE; + got_eof = FALSE; #ifdef DEBUG_KFRAMES - fprintf(stderr,"vals %ld %ld\n",tframe,priv->last_frame); + fprintf(stderr, "vals %ld %ld\n", tframe, priv->last_frame); #endif // calc frame width and height, including any border - if (pixel_data!=NULL) { - if (pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_YUV422P||pal==WEED_PALETTE_YUV444P) { - nplanes=3; - black[0]=y_black; - black[1]=black[2]=128; - } else if (pal==WEED_PALETTE_YUVA4444P) { - nplanes=4; - black[0]=y_black; - black[1]=black[2]=128; - black[3]=255; + if (pixel_data != NULL) { + if (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_YUV422P || pal == WEED_PALETTE_YUV444P) { + nplanes = 3; + black[0] = y_black; + black[1] = black[2] = 128; + } else if (pal == WEED_PALETTE_YUVA4444P) { + nplanes = 4; + black[0] = y_black; + black[1] = black[2] = 128; + black[3] = 255; } - if (pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24) psize=3; + if (pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24) psize = 3; - if (pal==WEED_PALETTE_RGBA32||pal==WEED_PALETTE_BGRA32||pal==WEED_PALETTE_ARGB32||pal==WEED_PALETTE_UYVY8888|| - pal==WEED_PALETTE_YUYV8888||pal==WEED_PALETTE_YUV888||pal==WEED_PALETTE_YUVA8888) psize=4; + if (pal == WEED_PALETTE_RGBA32 || pal == WEED_PALETTE_BGRA32 || pal == WEED_PALETTE_ARGB32 || pal == WEED_PALETTE_UYVY8888 || + pal == WEED_PALETTE_YUYV8888 || pal == WEED_PALETTE_YUV888 || pal == WEED_PALETTE_YUVA8888) psize = 4; - if (pal==WEED_PALETTE_YUV411) psize=6; + if (pal == WEED_PALETTE_YUV411) psize = 6; - if (pal==WEED_PALETTE_A1) dstwidth>>=3; + if (pal == WEED_PALETTE_A1) dstwidth >>= 3; - dstwidth*=psize; + dstwidth *= psize; if (cdata->frame_height > cdata->height && height == cdata->height) { // host ignores vertical border - btop=0; - xheight=cdata->height; - bbot=xheight-1; + btop = 0; + xheight = cdata->height; + bbot = xheight - 1; } - if (cdata->frame_width > cdata->width && rowstrides[0] < cdata->frame_width*psize) { + if (cdata->frame_width > cdata->width && rowstrides[0] < cdata->frame_width * psize) { // host ignores horizontal border - bleft=bright=0; + bleft = bright = 0; } } //////////////////////////////////////////////////////////////////// - if (tframe!=priv->last_frame) { + if (tframe != priv->last_frame) { - if (priv->last_frame==-1 || (tframe<priv->last_frame) || (tframe - priv->last_frame > rescan_limit)) { + if (priv->last_frame == -1 || (tframe < priv->last_frame) || (tframe - priv->last_frame > rescan_limit)) { pthread_mutex_lock(&priv->idxc->mutex); - idx=matroska_read_seek(cdata,target_pts); + idx = matroska_read_seek(cdata, target_pts); pthread_mutex_unlock(&priv->idxc->mutex); - nextframe=dts_to_frame(cdata,idx->dts); + nextframe = dts_to_frame(cdata, idx->dts); if (got_eof) return FALSE; avcodec_flush_buffers(priv->ctx); #ifdef DEBUG_KFRAMES - if (idx!=NULL) printf("got kframe %ld for frame %ld\n",dts_to_frame(cdata,idx->dts),tframe); + if (idx != NULL) printf("got kframe %ld for frame %ld\n", dts_to_frame(cdata, idx->dts), tframe); #endif } else { - nextframe=priv->last_frame+1; + nextframe = priv->last_frame + 1; } //priv->ctx->skip_frame=AVDISCARD_NONREF; - priv->last_frame=tframe; - if (priv->picture==NULL) priv->picture = av_frame_alloc(); + priv->last_frame = tframe; + if (priv->picture == NULL) priv->picture = av_frame_alloc(); // do this until we reach target frame ////////////// do { - got_picture=FALSE; + got_picture = FALSE; while (!got_picture) { - if (priv->avpkt.data!=NULL) { + if (priv->avpkt.data != NULL) { free(priv->avpkt.data); - priv->avpkt.data=NULL; - priv->avpkt.size=0; + priv->avpkt.data = NULL; + priv->avpkt.size = 0; } - matroska_read_packet(cdata,&priv->avpkt); + matroska_read_packet(cdata, &priv->avpkt); if (got_eof) return FALSE; @@ -2927,60 +2927,60 @@ nextframe++; - if (nextframe>cdata->nframes) return FALSE; - } while (nextframe<=tframe); + if (nextframe > cdata->nframes) return FALSE; + } while (nextframe <= tframe); ///////////////////////////////////////////////////// } - if (priv->picture==NULL||pixel_data==NULL) return TRUE; + if (priv->picture == NULL || pixel_data == NULL) return TRUE; - for (p=0; p<nplanes; p++) { - dst=pixel_data[p]; - src=priv->picture->data[p]; + for (p = 0; p < nplanes; p++) { + dst = pixel_data[p]; + src = priv->picture->data[p]; - for (i=0; i<xheight; i++) { - if (i<btop||i>bbot) { + for (i = 0; i < xheight; i++) { + if (i < btop || i > bbot) { // top or bottom border, copy black row - if (pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_YUV422P|| - pal==WEED_PALETTE_YUV444P||pal==WEED_PALETTE_YUVA4444P||pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24) { - memset(dst,black[p],dstwidth+(bleft+bright)*psize); - dst+=dstwidth+(bleft+bright)*psize; - } else dst+=write_black_pixel(dst,pal,dstwidth/psize+bleft+bright,y_black); + if (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_YUV422P || + pal == WEED_PALETTE_YUV444P || pal == WEED_PALETTE_YUVA4444P || pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24) { + memset(dst, black[p], dstwidth + (bleft + bright)*psize); + dst += dstwidth + (bleft + bright) * psize; + } else dst += write_black_pixel(dst, pal, dstwidth / psize + bleft + bright, y_black); continue; } - if (bleft>0) { - if (pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_YUV422P||pal==WEED_PALETTE_YUV444P|| - pal==WEED_PALETTE_YUVA4444P||pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24) { - memset(dst,black[p],bleft*psize); - dst+=bleft*psize; - } else dst+=write_black_pixel(dst,pal,bleft,y_black); + if (bleft > 0) { + if (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_YUV422P || pal == WEED_PALETTE_YUV444P || + pal == WEED_PALETTE_YUVA4444P || pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24) { + memset(dst, black[p], bleft * psize); + dst += bleft * psize; + } else dst += write_black_pixel(dst, pal, bleft, y_black); } - memcpy(dst,src,dstwidth); - dst+=dstwidth; + memcpy(dst, src, dstwidth); + dst += dstwidth; - if (bright>0) { - if (pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_YUV422P||pal==WEED_PALETTE_YUV444P|| - pal==WEED_PALETTE_YUVA4444P||pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24) { - memset(dst,black[p],bright*psize); - dst+=bright*psize; - } else dst+=write_black_pixel(dst,pal,bright,y_black); + if (bright > 0) { + if (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_YUV422P || pal == WEED_PALETTE_YUV444P || + pal == WEED_PALETTE_YUVA4444P || pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24) { + memset(dst, black[p], bright * psize); + dst += bright * psize; + } else dst += write_black_pixel(dst, pal, bright, y_black); } - src+=priv->picture->linesize[p]; + src += priv->picture->linesize[p]; } - if (p==0&&(pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_YUV422P)) { - dstwidth>>=1; - bleft>>=1; - bright>>=1; + if (p == 0 && (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_YUV422P)) { + dstwidth >>= 1; + bleft >>= 1; + bright >>= 1; } - if (p==0&&(pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P)) { - xheight>>=1; - btop>>=1; - bbot>>=1; + if (p == 0 && (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P)) { + xheight >>= 1; + btop >>= 1; + bbot >>= 1; } } @@ -2991,15 +2991,15 @@ void clip_data_free(lives_clip_data_t *cdata) { - lives_mkv_priv_t *priv=cdata->priv; + lives_mkv_priv_t *priv = cdata->priv; - if (cdata->palettes!=NULL) free(cdata->palettes); - cdata->palettes=NULL; + if (cdata->palettes != NULL) free(cdata->palettes); + cdata->palettes = NULL; - if (priv->idxc!=NULL) idxc_release(cdata); - priv->idxc=NULL; + if (priv->idxc != NULL) idxc_release(cdata); + priv->idxc = NULL; - if (cdata->URI!=NULL) { + if (cdata->URI != NULL) { detach_stream(cdata); free(cdata->URI); }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/decoders/mkv_decoder.h -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/decoders/mkv_decoder.h
Changed
@@ -281,7 +281,7 @@ extern const char * const matroska_video_stereo_mode[MATROSKA_VIDEO_STEREO_MODE_COUNT]; extern const char * const matroska_video_stereo_plane[MATROSKA_VIDEO_STEREO_PLANE_COUNT];*/ -const CodecTags ff_mkv_codec_tags[]= { +const CodecTags ff_mkv_codec_tags[] = { {"A_AAC" , CODEC_ID_AAC}, {"A_AC3" , CODEC_ID_AC3}, {"A_DTS" , CODEC_ID_DTS}, @@ -606,25 +606,25 @@ } MatroskaCluster; static EbmlSyntax ebml_header[] = { - { EBML_ID_EBMLREADVERSION, EBML_UINT, 0, offsetof(Ebml,version), {.u=EBML_VERSION} }, - { EBML_ID_EBMLMAXSIZELENGTH, EBML_UINT, 0, offsetof(Ebml,max_size), {.u=8} }, - { EBML_ID_EBMLMAXIDLENGTH, EBML_UINT, 0, offsetof(Ebml,id_length), {.u=4} }, - { EBML_ID_DOCTYPE, EBML_STR, 0, offsetof(Ebml,doctype), {.s="(none)"} }, - { EBML_ID_DOCTYPEREADVERSION, EBML_UINT, 0, offsetof(Ebml,doctype_version), {.u=1} }, + { EBML_ID_EBMLREADVERSION, EBML_UINT, 0, offsetof(Ebml, version), {.u = EBML_VERSION} }, + { EBML_ID_EBMLMAXSIZELENGTH, EBML_UINT, 0, offsetof(Ebml, max_size), {.u = 8} }, + { EBML_ID_EBMLMAXIDLENGTH, EBML_UINT, 0, offsetof(Ebml, id_length), {.u = 4} }, + { EBML_ID_DOCTYPE, EBML_STR, 0, offsetof(Ebml, doctype), {.s = "(none)"} }, + { EBML_ID_DOCTYPEREADVERSION, EBML_UINT, 0, offsetof(Ebml, doctype_version), {.u = 1} }, { EBML_ID_EBMLVERSION, EBML_NONE }, { EBML_ID_DOCTYPEVERSION, EBML_NONE }, { 0 } }; static EbmlSyntax ebml_syntax[] = { - { EBML_ID_HEADER, EBML_NEST, 0, 0, {.n=ebml_header} }, + { EBML_ID_HEADER, EBML_NEST, 0, 0, {.n = ebml_header} }, { 0 } }; static EbmlSyntax matroska_info[] = { - { MATROSKA_ID_TIMECODESCALE, EBML_UINT, 0, offsetof(MatroskaDemuxContext,time_scale), {.u=1000000} }, - { MATROSKA_ID_DURATION, EBML_FLOAT, 0, offsetof(MatroskaDemuxContext,duration) }, - { MATROSKA_ID_TITLE, EBML_UTF8, 0, offsetof(MatroskaDemuxContext,title) }, + { MATROSKA_ID_TIMECODESCALE, EBML_UINT, 0, offsetof(MatroskaDemuxContext, time_scale), {.u = 1000000} }, + { MATROSKA_ID_DURATION, EBML_FLOAT, 0, offsetof(MatroskaDemuxContext, duration) }, + { MATROSKA_ID_TITLE, EBML_UTF8, 0, offsetof(MatroskaDemuxContext, title) }, { MATROSKA_ID_WRITINGAPP, EBML_NONE }, { MATROSKA_ID_MUXINGAPP, EBML_NONE }, { MATROSKA_ID_DATEUTC, EBML_NONE }, @@ -633,14 +633,14 @@ }; static EbmlSyntax matroska_track_video[] = { - { MATROSKA_ID_VIDEOFRAMERATE, EBML_FLOAT,0, offsetof(MatroskaTrackVideo,frame_rate) }, - { MATROSKA_ID_VIDEODISPLAYWIDTH, EBML_UINT, 0, offsetof(MatroskaTrackVideo,display_width) }, - { MATROSKA_ID_VIDEODISPLAYHEIGHT, EBML_UINT, 0, offsetof(MatroskaTrackVideo,display_height) }, - { MATROSKA_ID_VIDEOPIXELWIDTH, EBML_UINT, 0, offsetof(MatroskaTrackVideo,pixel_width) }, - { MATROSKA_ID_VIDEOPIXELHEIGHT, EBML_UINT, 0, offsetof(MatroskaTrackVideo,pixel_height) }, - { MATROSKA_ID_VIDEOCOLORSPACE, EBML_BIN, 0, offsetof(MatroskaTrackVideo,color_space) }, - { MATROSKA_ID_VIDEOSTEREOMODE, EBML_UINT, 0, offsetof(MatroskaTrackVideo,stereo_mode) }, - { MATROSKA_ID_VIDEOFLAGINTERLACED,EBML_UINT, 0, offsetof(MatroskaTrackVideo,flag_interlaced), {.u=0} }, + { MATROSKA_ID_VIDEOFRAMERATE, EBML_FLOAT, 0, offsetof(MatroskaTrackVideo, frame_rate) }, + { MATROSKA_ID_VIDEODISPLAYWIDTH, EBML_UINT, 0, offsetof(MatroskaTrackVideo, display_width) }, + { MATROSKA_ID_VIDEODISPLAYHEIGHT, EBML_UINT, 0, offsetof(MatroskaTrackVideo, display_height) }, + { MATROSKA_ID_VIDEOPIXELWIDTH, EBML_UINT, 0, offsetof(MatroskaTrackVideo, pixel_width) }, + { MATROSKA_ID_VIDEOPIXELHEIGHT, EBML_UINT, 0, offsetof(MatroskaTrackVideo, pixel_height) }, + { MATROSKA_ID_VIDEOCOLORSPACE, EBML_BIN, 0, offsetof(MatroskaTrackVideo, color_space) }, + { MATROSKA_ID_VIDEOSTEREOMODE, EBML_UINT, 0, offsetof(MatroskaTrackVideo, stereo_mode) }, + { MATROSKA_ID_VIDEOFLAGINTERLACED, EBML_UINT, 0, offsetof(MatroskaTrackVideo, flag_interlaced), {.u = 0} }, { MATROSKA_ID_VIDEOPIXELCROPB, EBML_NONE }, { MATROSKA_ID_VIDEOPIXELCROPT, EBML_NONE }, { MATROSKA_ID_VIDEOPIXELCROPL, EBML_NONE }, @@ -651,64 +651,64 @@ }; static EbmlSyntax matroska_track_audio[] = { - { MATROSKA_ID_AUDIOSAMPLINGFREQ, EBML_FLOAT,0, offsetof(MatroskaTrackAudio,samplerate), {.f=8000.0} }, - { MATROSKA_ID_AUDIOOUTSAMPLINGFREQ,EBML_FLOAT,0,offsetof(MatroskaTrackAudio,out_samplerate) }, - { MATROSKA_ID_AUDIOBITDEPTH, EBML_UINT, 0, offsetof(MatroskaTrackAudio,bitdepth) }, - { MATROSKA_ID_AUDIOCHANNELS, EBML_UINT, 0, offsetof(MatroskaTrackAudio,channels), {.u=1} }, + { MATROSKA_ID_AUDIOSAMPLINGFREQ, EBML_FLOAT, 0, offsetof(MatroskaTrackAudio, samplerate), {.f = 8000.0} }, + { MATROSKA_ID_AUDIOOUTSAMPLINGFREQ, EBML_FLOAT, 0, offsetof(MatroskaTrackAudio, out_samplerate) }, + { MATROSKA_ID_AUDIOBITDEPTH, EBML_UINT, 0, offsetof(MatroskaTrackAudio, bitdepth) }, + { MATROSKA_ID_AUDIOCHANNELS, EBML_UINT, 0, offsetof(MatroskaTrackAudio, channels), {.u = 1} }, { 0 } }; static EbmlSyntax matroska_track_encoding_compression[] = { - { MATROSKA_ID_ENCODINGCOMPALGO, EBML_UINT, 0, offsetof(MatroskaTrackCompression,algo), {.u=0} }, - { MATROSKA_ID_ENCODINGCOMPSETTINGS,EBML_BIN, 0, offsetof(MatroskaTrackCompression,settings) }, + { MATROSKA_ID_ENCODINGCOMPALGO, EBML_UINT, 0, offsetof(MatroskaTrackCompression, algo), {.u = 0} }, + { MATROSKA_ID_ENCODINGCOMPSETTINGS, EBML_BIN, 0, offsetof(MatroskaTrackCompression, settings) }, { 0 } }; static EbmlSyntax matroska_track_encoding[] = { - { MATROSKA_ID_ENCODINGSCOPE, EBML_UINT, 0, offsetof(MatroskaTrackEncoding,scope), {.u=1} }, - { MATROSKA_ID_ENCODINGTYPE, EBML_UINT, 0, offsetof(MatroskaTrackEncoding,type), {.u=0} }, - { MATROSKA_ID_ENCODINGCOMPRESSION,EBML_NEST, 0, offsetof(MatroskaTrackEncoding,compression), {.n=matroska_track_encoding_compression} }, + { MATROSKA_ID_ENCODINGSCOPE, EBML_UINT, 0, offsetof(MatroskaTrackEncoding, scope), {.u = 1} }, + { MATROSKA_ID_ENCODINGTYPE, EBML_UINT, 0, offsetof(MatroskaTrackEncoding, type), {.u = 0} }, + { MATROSKA_ID_ENCODINGCOMPRESSION, EBML_NEST, 0, offsetof(MatroskaTrackEncoding, compression), {.n = matroska_track_encoding_compression} }, { MATROSKA_ID_ENCODINGORDER, EBML_NONE }, { 0 } }; static EbmlSyntax matroska_track_encodings[] = { - { MATROSKA_ID_TRACKCONTENTENCODING, EBML_NEST, sizeof(MatroskaTrackEncoding), offsetof(MatroskaTrack,encodings), {.n=matroska_track_encoding} }, + { MATROSKA_ID_TRACKCONTENTENCODING, EBML_NEST, sizeof(MatroskaTrackEncoding), offsetof(MatroskaTrack, encodings), {.n = matroska_track_encoding} }, { 0 } }; static EbmlSyntax matroska_track_plane[] = { - { MATROSKA_ID_TRACKPLANEUID, EBML_UINT, 0, offsetof(MatroskaTrackPlane,uid) }, - { MATROSKA_ID_TRACKPLANETYPE, EBML_UINT, 0, offsetof(MatroskaTrackPlane,type) }, + { MATROSKA_ID_TRACKPLANEUID, EBML_UINT, 0, offsetof(MatroskaTrackPlane, uid) }, + { MATROSKA_ID_TRACKPLANETYPE, EBML_UINT, 0, offsetof(MatroskaTrackPlane, type) }, { 0 } }; static EbmlSyntax matroska_track_combine_planes[] = { - { MATROSKA_ID_TRACKPLANE, EBML_NEST, sizeof(MatroskaTrackPlane), offsetof(MatroskaTrackOperation,combine_planes), {.n=matroska_track_plane} }, + { MATROSKA_ID_TRACKPLANE, EBML_NEST, sizeof(MatroskaTrackPlane), offsetof(MatroskaTrackOperation, combine_planes), {.n = matroska_track_plane} }, { 0 } }; static EbmlSyntax matroska_track_operation[] = { - { MATROSKA_ID_TRACKCOMBINEPLANES, EBML_NEST, 0, 0, {.n=matroska_track_combine_planes} }, + { MATROSKA_ID_TRACKCOMBINEPLANES, EBML_NEST, 0, 0, {.n = matroska_track_combine_planes} }, { 0 } }; static EbmlSyntax matroska_track[] = { - { MATROSKA_ID_TRACKNUMBER, EBML_UINT, 0, offsetof(MatroskaTrack,num) }, - { MATROSKA_ID_TRACKNAME, EBML_UTF8, 0, offsetof(MatroskaTrack,name) }, - { MATROSKA_ID_TRACKUID, EBML_UINT, 0, offsetof(MatroskaTrack,uid) }, - { MATROSKA_ID_TRACKTYPE, EBML_UINT, 0, offsetof(MatroskaTrack,type) }, - { MATROSKA_ID_CODECID, EBML_STR, 0, offsetof(MatroskaTrack,codec_id) }, - { MATROSKA_ID_CODECPRIVATE, EBML_BIN, 0, offsetof(MatroskaTrack,codec_priv) }, - { MATROSKA_ID_TRACKLANGUAGE, EBML_UTF8, 0, offsetof(MatroskaTrack,language), {.s="eng"} }, - { MATROSKA_ID_TRACKDEFAULTDURATION, EBML_UINT, 0, offsetof(MatroskaTrack,default_duration) }, - { MATROSKA_ID_TRACKTIMECODESCALE, EBML_FLOAT,0, offsetof(MatroskaTrack,time_scale), {.f=1.0} }, - { MATROSKA_ID_TRACKFLAGDEFAULT, EBML_UINT, 0, offsetof(MatroskaTrack,flag_default), {.u=1} }, - { MATROSKA_ID_TRACKFLAGFORCED, EBML_UINT, 0, offsetof(MatroskaTrack,flag_forced), {.u=0} }, - { MATROSKA_ID_TRACKVIDEO, EBML_NEST, 0, offsetof(MatroskaTrack,video), {.n=matroska_track_video} }, - { MATROSKA_ID_TRACKAUDIO, EBML_NEST, 0, offsetof(MatroskaTrack,audio), {.n=matroska_track_audio} }, - { MATROSKA_ID_TRACKOPERATION, EBML_NEST, 0, offsetof(MatroskaTrack,operation), {.n=matroska_track_operation} }, - { MATROSKA_ID_TRACKCONTENTENCODINGS,EBML_NEST, 0, 0, {.n=matroska_track_encodings} }, + { MATROSKA_ID_TRACKNUMBER, EBML_UINT, 0, offsetof(MatroskaTrack, num) }, + { MATROSKA_ID_TRACKNAME, EBML_UTF8, 0, offsetof(MatroskaTrack, name) }, + { MATROSKA_ID_TRACKUID, EBML_UINT, 0, offsetof(MatroskaTrack, uid) }, + { MATROSKA_ID_TRACKTYPE, EBML_UINT, 0, offsetof(MatroskaTrack, type) }, + { MATROSKA_ID_CODECID, EBML_STR, 0, offsetof(MatroskaTrack, codec_id) }, + { MATROSKA_ID_CODECPRIVATE, EBML_BIN, 0, offsetof(MatroskaTrack, codec_priv) }, + { MATROSKA_ID_TRACKLANGUAGE, EBML_UTF8, 0, offsetof(MatroskaTrack, language), {.s = "eng"} }, + { MATROSKA_ID_TRACKDEFAULTDURATION, EBML_UINT, 0, offsetof(MatroskaTrack, default_duration) }, + { MATROSKA_ID_TRACKTIMECODESCALE, EBML_FLOAT, 0, offsetof(MatroskaTrack, time_scale), {.f = 1.0} }, + { MATROSKA_ID_TRACKFLAGDEFAULT, EBML_UINT, 0, offsetof(MatroskaTrack, flag_default), {.u = 1} }, + { MATROSKA_ID_TRACKFLAGFORCED, EBML_UINT, 0, offsetof(MatroskaTrack, flag_forced), {.u = 0} }, + { MATROSKA_ID_TRACKVIDEO, EBML_NEST, 0, offsetof(MatroskaTrack, video), {.n = matroska_track_video} }, + { MATROSKA_ID_TRACKAUDIO, EBML_NEST, 0, offsetof(MatroskaTrack, audio), {.n = matroska_track_audio} }, + { MATROSKA_ID_TRACKOPERATION, EBML_NEST, 0, offsetof(MatroskaTrack, operation), {.n = matroska_track_operation} }, + { MATROSKA_ID_TRACKCONTENTENCODINGS, EBML_NEST, 0, 0, {.n = matroska_track_encodings} }, { MATROSKA_ID_TRACKFLAGENABLED, EBML_NONE }, { MATROSKA_ID_TRACKFLAGLACING, EBML_NONE }, { MATROSKA_ID_CODECNAME, EBML_NONE }, @@ -722,35 +722,35 @@ }; static EbmlSyntax matroska_tracks[] = { - { MATROSKA_ID_TRACKENTRY, EBML_NEST, sizeof(MatroskaTrack), offsetof(MatroskaDemuxContext,tracks), {.n=matroska_track} }, + { MATROSKA_ID_TRACKENTRY, EBML_NEST, sizeof(MatroskaTrack), offsetof(MatroskaDemuxContext, tracks), {.n = matroska_track} }, { 0 } }; static EbmlSyntax matroska_attachment[] = { - { MATROSKA_ID_FILEUID, EBML_UINT, 0, offsetof(MatroskaAttachement,uid) }, - { MATROSKA_ID_FILENAME, EBML_UTF8, 0, offsetof(MatroskaAttachement,filename) }, - { MATROSKA_ID_FILEMIMETYPE, EBML_STR, 0, offsetof(MatroskaAttachement,mime) }, - { MATROSKA_ID_FILEDATA, EBML_BIN, 0, offsetof(MatroskaAttachement,bin) }, + { MATROSKA_ID_FILEUID, EBML_UINT, 0, offsetof(MatroskaAttachement, uid) }, + { MATROSKA_ID_FILENAME, EBML_UTF8, 0, offsetof(MatroskaAttachement, filename) }, + { MATROSKA_ID_FILEMIMETYPE, EBML_STR, 0, offsetof(MatroskaAttachement, mime) }, + { MATROSKA_ID_FILEDATA, EBML_BIN, 0, offsetof(MatroskaAttachement, bin) }, { MATROSKA_ID_FILEDESC, EBML_NONE }, { 0 } }; static EbmlSyntax matroska_attachments[] = { - { MATROSKA_ID_ATTACHEDFILE, EBML_NEST, sizeof(MatroskaAttachement), offsetof(MatroskaDemuxContext,attachments), {.n=matroska_attachment} }, + { MATROSKA_ID_ATTACHEDFILE, EBML_NEST, sizeof(MatroskaAttachement), offsetof(MatroskaDemuxContext, attachments), {.n = matroska_attachment} }, { 0 } }; static EbmlSyntax matroska_chapter_display[] = { - { MATROSKA_ID_CHAPSTRING, EBML_UTF8, 0, offsetof(MatroskaChapter,title) }, + { MATROSKA_ID_CHAPSTRING, EBML_UTF8, 0, offsetof(MatroskaChapter, title) }, { MATROSKA_ID_CHAPLANG, EBML_NONE }, { 0 } }; static EbmlSyntax matroska_chapter_entry[] = { - { MATROSKA_ID_CHAPTERTIMESTART, EBML_UINT, 0, offsetof(MatroskaChapter,start), {.u=AV_NOPTS_VALUE} }, - { MATROSKA_ID_CHAPTERTIMEEND, EBML_UINT, 0, offsetof(MatroskaChapter,end), {.u=AV_NOPTS_VALUE} }, - { MATROSKA_ID_CHAPTERUID, EBML_UINT, 0, offsetof(MatroskaChapter,uid) }, - { MATROSKA_ID_CHAPTERDISPLAY, EBML_NEST, 0, 0, {.n=matroska_chapter_display} }, + { MATROSKA_ID_CHAPTERTIMESTART, EBML_UINT, 0, offsetof(MatroskaChapter, start), {.u = AV_NOPTS_VALUE} }, + { MATROSKA_ID_CHAPTERTIMEEND, EBML_UINT, 0, offsetof(MatroskaChapter, end), {.u = AV_NOPTS_VALUE} }, + { MATROSKA_ID_CHAPTERUID, EBML_UINT, 0, offsetof(MatroskaChapter, uid) }, + { MATROSKA_ID_CHAPTERDISPLAY, EBML_NEST, 0, 0, {.n = matroska_chapter_display} }, { MATROSKA_ID_CHAPTERFLAGHIDDEN, EBML_NONE }, { MATROSKA_ID_CHAPTERFLAGENABLED, EBML_NONE }, { MATROSKA_ID_CHAPTERPHYSEQUIV, EBML_NONE }, @@ -759,7 +759,7 @@ }; static EbmlSyntax matroska_chapter[] = { - { MATROSKA_ID_CHAPTERATOM, EBML_NEST, sizeof(MatroskaChapter), offsetof(MatroskaDemuxContext,chapters), {.n=matroska_chapter_entry} }, + { MATROSKA_ID_CHAPTERATOM, EBML_NEST, sizeof(MatroskaChapter), offsetof(MatroskaDemuxContext, chapters), {.n = matroska_chapter_entry} }, { MATROSKA_ID_EDITIONUID, EBML_NONE }, { MATROSKA_ID_EDITIONFLAGHIDDEN, EBML_NONE }, { MATROSKA_ID_EDITIONFLAGDEFAULT, EBML_NONE }, @@ -768,106 +768,106 @@ }; static EbmlSyntax matroska_chapters[] = { - { MATROSKA_ID_EDITIONENTRY, EBML_NEST, 0, 0, {.n=matroska_chapter} }, + { MATROSKA_ID_EDITIONENTRY, EBML_NEST, 0, 0, {.n = matroska_chapter} }, { 0 } }; static EbmlSyntax matroska_index_pos[] = { - { MATROSKA_ID_CUETRACK, EBML_UINT, 0, offsetof(MatroskaIndexPos,track) }, - { MATROSKA_ID_CUECLUSTERPOSITION, EBML_UINT, 0, offsetof(MatroskaIndexPos,pos) }, + { MATROSKA_ID_CUETRACK, EBML_UINT, 0, offsetof(MatroskaIndexPos, track) }, + { MATROSKA_ID_CUECLUSTERPOSITION, EBML_UINT, 0, offsetof(MatroskaIndexPos, pos) }, { MATROSKA_ID_CUEBLOCKNUMBER, EBML_NONE }, { 0 } }; static EbmlSyntax matroska_index_entry[] = { - { MATROSKA_ID_CUETIME, EBML_UINT, 0, offsetof(MatroskaIndex,time) }, - { MATROSKA_ID_CUETRACKPOSITION, EBML_NEST, sizeof(MatroskaIndexPos), offsetof(MatroskaIndex,pos), {.n=matroska_index_pos} }, + { MATROSKA_ID_CUETIME, EBML_UINT, 0, offsetof(MatroskaIndex, time) }, + { MATROSKA_ID_CUETRACKPOSITION, EBML_NEST, sizeof(MatroskaIndexPos), offsetof(MatroskaIndex, pos), {.n = matroska_index_pos} }, { 0 } }; static EbmlSyntax matroska_index[] = { - { MATROSKA_ID_POINTENTRY, EBML_NEST, sizeof(MatroskaIndex), offsetof(MatroskaDemuxContext,index), {.n=matroska_index_entry} }, + { MATROSKA_ID_POINTENTRY, EBML_NEST, sizeof(MatroskaIndex), offsetof(MatroskaDemuxContext, index), {.n = matroska_index_entry} }, { 0 } }; static EbmlSyntax matroska_simpletag[] = { - { MATROSKA_ID_TAGNAME, EBML_UTF8, 0, offsetof(MatroskaTag,name) }, - { MATROSKA_ID_TAGSTRING, EBML_UTF8, 0, offsetof(MatroskaTag,string) }, - { MATROSKA_ID_TAGLANG, EBML_STR, 0, offsetof(MatroskaTag,lang), {.s="und"} }, - { MATROSKA_ID_TAGDEFAULT, EBML_UINT, 0, offsetof(MatroskaTag,def) }, - { MATROSKA_ID_TAGDEFAULT_BUG, EBML_UINT, 0, offsetof(MatroskaTag,def) }, - { MATROSKA_ID_SIMPLETAG, EBML_NEST, sizeof(MatroskaTag), offsetof(MatroskaTag,sub), {.n=matroska_simpletag} }, + { MATROSKA_ID_TAGNAME, EBML_UTF8, 0, offsetof(MatroskaTag, name) }, + { MATROSKA_ID_TAGSTRING, EBML_UTF8, 0, offsetof(MatroskaTag, string) }, + { MATROSKA_ID_TAGLANG, EBML_STR, 0, offsetof(MatroskaTag, lang), {.s = "und"} }, + { MATROSKA_ID_TAGDEFAULT, EBML_UINT, 0, offsetof(MatroskaTag, def) }, + { MATROSKA_ID_TAGDEFAULT_BUG, EBML_UINT, 0, offsetof(MatroskaTag, def) }, + { MATROSKA_ID_SIMPLETAG, EBML_NEST, sizeof(MatroskaTag), offsetof(MatroskaTag, sub), {.n = matroska_simpletag} }, { 0 } }; static EbmlSyntax matroska_tagtargets[] = { - { MATROSKA_ID_TAGTARGETS_TYPE, EBML_STR, 0, offsetof(MatroskaTagTarget,type) }, - { MATROSKA_ID_TAGTARGETS_TYPEVALUE, EBML_UINT, 0, offsetof(MatroskaTagTarget,typevalue), {.u=50} }, - { MATROSKA_ID_TAGTARGETS_TRACKUID, EBML_UINT, 0, offsetof(MatroskaTagTarget,trackuid) }, - { MATROSKA_ID_TAGTARGETS_CHAPTERUID,EBML_UINT, 0, offsetof(MatroskaTagTarget,chapteruid) }, - { MATROSKA_ID_TAGTARGETS_ATTACHUID, EBML_UINT, 0, offsetof(MatroskaTagTarget,attachuid) }, + { MATROSKA_ID_TAGTARGETS_TYPE, EBML_STR, 0, offsetof(MatroskaTagTarget, type) }, + { MATROSKA_ID_TAGTARGETS_TYPEVALUE, EBML_UINT, 0, offsetof(MatroskaTagTarget, typevalue), {.u = 50} }, + { MATROSKA_ID_TAGTARGETS_TRACKUID, EBML_UINT, 0, offsetof(MatroskaTagTarget, trackuid) }, + { MATROSKA_ID_TAGTARGETS_CHAPTERUID, EBML_UINT, 0, offsetof(MatroskaTagTarget, chapteruid) }, + { MATROSKA_ID_TAGTARGETS_ATTACHUID, EBML_UINT, 0, offsetof(MatroskaTagTarget, attachuid) }, { 0 } }; static EbmlSyntax matroska_tag[] = { - { MATROSKA_ID_SIMPLETAG, EBML_NEST, sizeof(MatroskaTag), offsetof(MatroskaTags,tag), {.n=matroska_simpletag} }, - { MATROSKA_ID_TAGTARGETS, EBML_NEST, 0, offsetof(MatroskaTags,target), {.n=matroska_tagtargets} }, + { MATROSKA_ID_SIMPLETAG, EBML_NEST, sizeof(MatroskaTag), offsetof(MatroskaTags, tag), {.n = matroska_simpletag} }, + { MATROSKA_ID_TAGTARGETS, EBML_NEST, 0, offsetof(MatroskaTags, target), {.n = matroska_tagtargets} }, { 0 } }; static EbmlSyntax matroska_tags[] = { - { MATROSKA_ID_TAG, EBML_NEST, sizeof(MatroskaTags), offsetof(MatroskaDemuxContext,tags), {.n=matroska_tag} }, + { MATROSKA_ID_TAG, EBML_NEST, sizeof(MatroskaTags), offsetof(MatroskaDemuxContext, tags), {.n = matroska_tag} }, { 0 } }; static EbmlSyntax matroska_seekhead_entry[] = { - { MATROSKA_ID_SEEKID, EBML_UINT, 0, offsetof(MatroskaSeekhead,id) }, - { MATROSKA_ID_SEEKPOSITION, EBML_UINT, 0, offsetof(MatroskaSeekhead,pos), {.u=-1} }, + { MATROSKA_ID_SEEKID, EBML_UINT, 0, offsetof(MatroskaSeekhead, id) }, + { MATROSKA_ID_SEEKPOSITION, EBML_UINT, 0, offsetof(MatroskaSeekhead, pos), {.u = -1} }, { 0 } }; static EbmlSyntax matroska_seekhead[] = { - { MATROSKA_ID_SEEKENTRY, EBML_NEST, sizeof(MatroskaSeekhead), offsetof(MatroskaDemuxContext,seekhead), {.n=matroska_seekhead_entry} }, + { MATROSKA_ID_SEEKENTRY, EBML_NEST, sizeof(MatroskaSeekhead), offsetof(MatroskaDemuxContext, seekhead), {.n = matroska_seekhead_entry} }, { 0 } }; static EbmlSyntax matroska_segment[] = { - { MATROSKA_ID_INFO, EBML_NEST, 0, 0, {.n=matroska_info } }, - { MATROSKA_ID_TRACKS, EBML_NEST, 0, 0, {.n=matroska_tracks } }, - { MATROSKA_ID_ATTACHMENTS, EBML_NEST, 0, 0, {.n=matroska_attachments} }, - { MATROSKA_ID_CHAPTERS, EBML_NEST, 0, 0, {.n=matroska_chapters } }, - { MATROSKA_ID_CUES, EBML_NEST, 0, 0, {.n=matroska_index } }, - { MATROSKA_ID_TAGS, EBML_NEST, 0, 0, {.n=matroska_tags } }, - { MATROSKA_ID_SEEKHEAD, EBML_NEST, 0, 0, {.n=matroska_seekhead } }, + { MATROSKA_ID_INFO, EBML_NEST, 0, 0, {.n = matroska_info } }, + { MATROSKA_ID_TRACKS, EBML_NEST, 0, 0, {.n = matroska_tracks } }, + { MATROSKA_ID_ATTACHMENTS, EBML_NEST, 0, 0, {.n = matroska_attachments} }, + { MATROSKA_ID_CHAPTERS, EBML_NEST, 0, 0, {.n = matroska_chapters } }, + { MATROSKA_ID_CUES, EBML_NEST, 0, 0, {.n = matroska_index } }, + { MATROSKA_ID_TAGS, EBML_NEST, 0, 0, {.n = matroska_tags } }, + { MATROSKA_ID_SEEKHEAD, EBML_NEST, 0, 0, {.n = matroska_seekhead } }, { MATROSKA_ID_CLUSTER, EBML_STOP }, { 0 } }; static EbmlSyntax matroska_segments[] = { - { MATROSKA_ID_SEGMENT, EBML_NEST, 0, 0, {.n=matroska_segment } }, + { MATROSKA_ID_SEGMENT, EBML_NEST, 0, 0, {.n = matroska_segment } }, { 0 } }; static EbmlSyntax matroska_blockgroup[] = { - { MATROSKA_ID_BLOCK, EBML_BIN, 0, offsetof(MatroskaBlock,bin) }, - { MATROSKA_ID_SIMPLEBLOCK, EBML_BIN, 0, offsetof(MatroskaBlock,bin) }, - { MATROSKA_ID_BLOCKDURATION, EBML_UINT, 0, offsetof(MatroskaBlock,duration) }, - { MATROSKA_ID_BLOCKREFERENCE, EBML_UINT, 0, offsetof(MatroskaBlock,reference) }, - { 1, EBML_UINT, 0, offsetof(MatroskaBlock,non_simple), {.u=1} }, + { MATROSKA_ID_BLOCK, EBML_BIN, 0, offsetof(MatroskaBlock, bin) }, + { MATROSKA_ID_SIMPLEBLOCK, EBML_BIN, 0, offsetof(MatroskaBlock, bin) }, + { MATROSKA_ID_BLOCKDURATION, EBML_UINT, 0, offsetof(MatroskaBlock, duration) }, + { MATROSKA_ID_BLOCKREFERENCE, EBML_UINT, 0, offsetof(MatroskaBlock, reference) }, + { 1, EBML_UINT, 0, offsetof(MatroskaBlock, non_simple), {.u = 1} }, { 0 } }; static EbmlSyntax matroska_cluster[] = { - { MATROSKA_ID_CLUSTERTIMECODE,EBML_UINT,0, offsetof(MatroskaCluster,timecode) }, - { MATROSKA_ID_BLOCKGROUP, EBML_NEST, sizeof(MatroskaBlock), offsetof(MatroskaCluster,blocks), {.n=matroska_blockgroup} }, - { MATROSKA_ID_SIMPLEBLOCK, EBML_PASS, sizeof(MatroskaBlock), offsetof(MatroskaCluster,blocks), {.n=matroska_blockgroup} }, - { MATROSKA_ID_CLUSTERPOSITION,EBML_NONE }, - { MATROSKA_ID_CLUSTERPREVSIZE,EBML_NONE }, + { MATROSKA_ID_CLUSTERTIMECODE, EBML_UINT, 0, offsetof(MatroskaCluster, timecode) }, + { MATROSKA_ID_BLOCKGROUP, EBML_NEST, sizeof(MatroskaBlock), offsetof(MatroskaCluster, blocks), {.n = matroska_blockgroup} }, + { MATROSKA_ID_SIMPLEBLOCK, EBML_PASS, sizeof(MatroskaBlock), offsetof(MatroskaCluster, blocks), {.n = matroska_blockgroup} }, + { MATROSKA_ID_CLUSTERPOSITION, EBML_NONE }, + { MATROSKA_ID_CLUSTERPREVSIZE, EBML_NONE }, { 0 } }; static EbmlSyntax matroska_clusters[] = { - { MATROSKA_ID_CLUSTER, EBML_NEST, 0, 0, {.n=matroska_cluster} }, + { MATROSKA_ID_CLUSTER, EBML_NEST, 0, 0, {.n = matroska_cluster} }, { MATROSKA_ID_INFO, EBML_NONE }, { MATROSKA_ID_CUES, EBML_NONE }, { MATROSKA_ID_TAGS, EBML_NONE },
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/decoders/mpegts_decoder.c -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/decoders/mpegts_decoder.c
Changed
@@ -34,7 +34,7 @@ #include <endian.h> #endif -const char *plugin_version="LiVES mpegts decoder version 1.3"; +const char *plugin_version = "LiVES mpegts decoder version 1.3"; #ifdef HAVE_AV_CONFIG_H #undef HAVE_AV_CONFIG_H @@ -95,7 +95,7 @@ static inline unsigned int get_bits1(GetBitContext *s) { #ifdef ALT_BITSTREAM_READER unsigned int index = s->index; - uint8_t result = s->buffer[index>>3]; + uint8_t result = s->buffer[index >> 3]; #ifdef ALT_BITSTREAM_READER_LE result >>= index & 7; result &= 1; @@ -134,7 +134,7 @@ */ static inline void init_get_bits(GetBitContext *s, const uint8_t *buffer, int bit_size) { - int buffer_size = (bit_size+7)>>3; + int buffer_size = (bit_size + 7) >> 3; if (buffer_size < 0 || bit_size < 0) { buffer_size = bit_size = 0; buffer = NULL; @@ -147,7 +147,7 @@ s->index = 0; #elif defined A32_BITSTREAM_READER s->buffer_ptr = (uint32_t *)((intptr_t)buffer & ~3); - s->bit_count = 32 + 8*((intptr_t)buffer & 3); + s->bit_count = 32 + 8 * ((intptr_t)buffer & 3); skip_bits_long(s, 0); #endif } @@ -155,12 +155,12 @@ static void index_free(index_entry *idx) { - index_entry *cidx=idx,*next; + index_entry *cidx = idx, *next; - while (cidx!=NULL) { - next=cidx->next; + while (cidx != NULL) { + next = cidx->next; free(cidx); - cidx=next; + cidx = next; } } @@ -173,10 +173,10 @@ static index_entry *index_walk(index_entry *idx, uint32_t pts) { - index_entry *xidx=idx; - while (xidx!=NULL) { - if (xidx->next==NULL || (pts>=xidx->dts && pts<xidx->next->dts)) return xidx; - xidx=xidx->next; + index_entry *xidx = idx; + while (xidx != NULL) { + if (xidx->next == NULL || (pts >= xidx->dts && pts < xidx->next->dts)) return xidx; + xidx = xidx->next; } /// oops. something went wrong return NULL; @@ -184,42 +184,42 @@ index_entry *lives_add_idx(const lives_clip_data_t *cdata, uint64_t offset, int64_t pts) { - lives_mpegts_priv_t *priv=cdata->priv; - index_entry *nidx=priv->idxc->idxht; + lives_mpegts_priv_t *priv = cdata->priv; + index_entry *nidx = priv->idxc->idxht; index_entry *nentry; - nentry=malloc(sizeof(index_entry)); + nentry = malloc(sizeof(index_entry)); - nentry->dts=pts; - nentry->offs=offset; - nentry->next=NULL; + nentry->dts = pts; + nentry->offs = offset; + nentry->next = NULL; - if (nidx==NULL) { + if (nidx == NULL) { // first entry in list - priv->idxc->idxhh=priv->idxc->idxht=nentry; + priv->idxc->idxhh = priv->idxc->idxht = nentry; return nentry; } if (nidx->dts < pts) { // last entry in list - nidx->next=nentry; - priv->idxc->idxht=nentry; + nidx->next = nentry; + priv->idxc->idxht = nentry; return nentry; } - if (priv->idxc->idxhh->dts>pts) { + if (priv->idxc->idxhh->dts > pts) { // before head - nentry->next=priv->idxc->idxhh; - priv->idxc->idxhh=nentry; + nentry->next = priv->idxc->idxhh; + priv->idxc->idxhh = nentry; return nentry; } - nidx=index_walk(priv->idxc->idxhh,pts); + nidx = index_walk(priv->idxc->idxhh, pts); // after nidx in list - nentry->next=nidx->next; - nidx->next=nentry; + nentry->next = nidx->next; + nidx->next = nentry; return nentry; } @@ -227,8 +227,8 @@ static index_entry *get_idx_for_pts(const lives_clip_data_t *cdata, int64_t pts) { - lives_mpegts_priv_t *priv=cdata->priv; - return index_walk(priv->idxc->idxhh,pts); + lives_mpegts_priv_t *priv = cdata->priv; + return index_walk(priv->idxc->idxhh, pts); } @@ -236,9 +236,9 @@ static boolean check_for_eof(lives_clip_data_t *cdata) { - lives_mpegts_priv_t *priv=cdata->priv; - if (priv->input_position>priv->filesize) { - priv->got_eof=TRUE; + lives_mpegts_priv_t *priv = cdata->priv; + if (priv->input_position > priv->filesize) { + priv->got_eof = TRUE; return TRUE; } return FALSE; @@ -275,8 +275,8 @@ int section_index; int section_h_size; uint8_t *section_buf; - unsigned int check_crc:1; - unsigned int end_of_section_reached:1; + unsigned int check_crc: 1; + unsigned int end_of_section_reached: 1; SectionCallback *section_cb; void *opaque; } MpegTSSectionFilter; @@ -386,15 +386,15 @@ static enum CodecID ff_codec_get_id(const AVCodecTag *tags, unsigned int tag) { int i; - for (i=0; tags[i].id != CODEC_ID_NONE; i++) { + for (i = 0; tags[i].id != CODEC_ID_NONE; i++) { if (tag == tags[i].tag) return tags[i].id; } - for (i=0; tags[i].id != CODEC_ID_NONE; i++) { - if (toupper((tag >> 0)&0xFF) == toupper((tags[i].tag >> 0)&0xFF) - && toupper((tag >> 8)&0xFF) == toupper((tags[i].tag >> 8)&0xFF) - && toupper((tag >>16)&0xFF) == toupper((tags[i].tag >>16)&0xFF) - && toupper((tag >>24)&0xFF) == toupper((tags[i].tag >>24)&0xFF)) + for (i = 0; tags[i].id != CODEC_ID_NONE; i++) { + if (toupper((tag >> 0) & 0xFF) == toupper((tags[i].tag >> 0) & 0xFF) + && toupper((tag >> 8) & 0xFF) == toupper((tags[i].tag >> 8) & 0xFF) + && toupper((tag >> 16) & 0xFF) == toupper((tags[i].tag >> 16) & 0xFF) + && toupper((tag >> 24) & 0xFF) == toupper((tags[i].tag >> 24) & 0xFF)) return tags[i].id; } return CODEC_ID_NONE; @@ -404,18 +404,18 @@ static boolean lives_seek(lives_clip_data_t *cdata, int fd, off_t pos) { // seek - lives_mpegts_priv_t *priv=cdata->priv; - if (fd==priv->fd) { + lives_mpegts_priv_t *priv = cdata->priv; + if (fd == priv->fd) { priv->input_position = pos; check_for_eof(cdata); - if (lseek(priv->fd, priv->input_position, SEEK_SET)==-1) { + if (lseek(priv->fd, priv->input_position, SEEK_SET) == -1) { return FALSE; } } else { struct stat sb; - fstat(fd,&sb); - if (pos>sb.st_size) priv->got_eof=TRUE; - if (lseek(fd, pos, SEEK_SET)==-1) return FALSE; + fstat(fd, &sb); + if (pos > sb.st_size) priv->got_eof = TRUE; + if (lseek(fd, pos, SEEK_SET) == -1) return FALSE; } return TRUE; } @@ -424,16 +424,16 @@ static boolean lives_skip(lives_clip_data_t *cdata, int fd, off_t offs) { // skip - lives_mpegts_priv_t *priv=cdata->priv; - if (fd==priv->fd) { + lives_mpegts_priv_t *priv = cdata->priv; + if (fd == priv->fd) { priv->input_position += offs; check_for_eof(cdata); - if (lseek(priv->fd, priv->input_position, SEEK_SET)==-1) { + if (lseek(priv->fd, priv->input_position, SEEK_SET) == -1) { return FALSE; } } else { - off_t pos=lseek(fd,0,SEEK_CUR)+offs; - return lives_seek(cdata,fd,pos); + off_t pos = lseek(fd, 0, SEEK_CUR) + offs; + return lives_seek(cdata, fd, pos); } return TRUE; } @@ -443,9 +443,9 @@ ssize_t lives_read(lives_clip_data_t *cdata, int fd, void *data, size_t len) { // read fd - lives_mpegts_priv_t *priv=cdata->priv; - ssize_t bytes=read(fd,data,len); - if (bytes>=0 && fd==priv->fd) priv->input_position+=len; + lives_mpegts_priv_t *priv = cdata->priv; + ssize_t bytes = read(fd, data, len); + if (bytes >= 0 && fd == priv->fd) priv->input_position += len; check_for_eof(cdata); return bytes; } @@ -458,42 +458,42 @@ static uint8_t lives_rf8(lives_clip_data_t *cdata, int fd) { uint8_t buf; - lives_read(cdata,fd,&buf,1); + lives_read(cdata, fd, &buf, 1); return buf; } static inline uint16_t lives_rb16(const uint8_t *x) { - return (x[0]<<8) + x[1]; + return (x[0] << 8) + x[1]; } static uint16_t lives_rbf16(lives_clip_data_t *cdata, int fd) { uint8_t buf[2]; - lives_read(cdata,fd,&buf,2); + lives_read(cdata, fd, &buf, 2); return lives_rb16(buf); } static inline uint16_t lives_rb24(const uint8_t *x) { - return (((x[0]<<8) + x[1])<<8) + x[2]; + return (((x[0] << 8) + x[1]) << 8) + x[2]; } static inline uint16_t lives_rb32(const uint8_t *x) { - return (((((x[0]<<8) + x[1])<<8) + x[2])<<8) + x[3]; + return (((((x[0] << 8) + x[1]) << 8) + x[2]) << 8) + x[3]; } static uint16_t lives_rbf32(lives_clip_data_t *cdata, int fd) { uint8_t buf[4]; - lives_read(cdata,fd,&buf,4); + lives_read(cdata, fd, &buf, 4); return lives_rb32(buf); } static inline uint16_t lives_rl32(const char *x) { - return (((((x[3]<<8) + x[2])<<8) + x[1])<<8) + x[0]; + return (((((x[3] << 8) + x[2]) << 8) + x[1]) << 8) + x[0]; } @@ -504,8 +504,8 @@ */ static inline int64_t ff_parse_pes_pts(const uint8_t *buf) { return (int64_t)(*buf & 0x0e) << 29 | - (lives_rb16(buf+1) >> 1) << 15 | - lives_rb16(buf+3) >> 1; + (lives_rb16(buf + 1) >> 1) << 15 | + lives_rb16(buf + 3) >> 1; } @@ -520,39 +520,39 @@ void ff_mp4_parse_es_descr(lives_clip_data_t *cdata, int fd, int *es_id) { - lives_mpegts_priv_t *priv=cdata->priv; + lives_mpegts_priv_t *priv = cdata->priv; int flags; - if (es_id) *es_id = lives_rbf16(cdata,fd); - else lives_rbf16(cdata,fd); - flags = lives_rf8(cdata,fd); + if (es_id) *es_id = lives_rbf16(cdata, fd); + else lives_rbf16(cdata, fd); + flags = lives_rf8(cdata, fd); if (flags & 0x80) //streamDependenceFlag - lives_rbf16(cdata,fd); + lives_rbf16(cdata, fd); if (flags & 0x40) { //URL_Flag - int len = lives_rf8(cdata,fd); + int len = lives_rf8(cdata, fd); lives_skip(cdata, fd, len); } if (flags & 0x20) //OCRstreamFlag - lives_rbf16(cdata,priv->fd); + lives_rbf16(cdata, priv->fd); } static void clear_program(MpegTSContext *ts, unsigned int programid) { int i; - for (i=0; i<ts->nb_prg; i++) + for (i = 0; i < ts->nb_prg; i++) if (ts->prg[i].id == programid) ts->prg[i].nb_pids = 0; } static void clear_programs(MpegTSContext *ts) { av_freep(&ts->prg); - ts->nb_prg=0; + ts->nb_prg = 0; } static void add_pat_entry(MpegTSContext *ts, unsigned int programid) { struct Program *p; - void *tmp = av_realloc(ts->prg, (ts->nb_prg+1)*sizeof(struct Program)); + void *tmp = av_realloc(ts->prg, (ts->nb_prg + 1) * sizeof(struct Program)); if (!tmp) return; ts->prg = tmp; @@ -565,7 +565,7 @@ static void add_pid_to_pmt(MpegTSContext *ts, unsigned int programid, unsigned int pid) { int i; struct Program *p = NULL; - for (i=0; i<ts->nb_prg; i++) { + for (i = 0; i < ts->nb_prg; i++) { if (ts->prg[i].id == programid) { p = &ts->prg[i]; break; @@ -583,7 +583,7 @@ static void set_pcr_pid(AVFormatContext *s, unsigned int programid, unsigned int pid) { int i; - for (i=0; i<s->nb_programs; i++) { + for (i = 0; i < s->nb_programs; i++) { if (s->programs[i]->id == programid) { //s->programs[i]->pcr_pid = pid; break; @@ -603,13 +603,13 @@ int i, j, k; int used = 0, discarded = 0; struct Program *p; - for (i=0; i<ts->nb_prg; i++) { + for (i = 0; i < ts->nb_prg; i++) { p = &ts->prg[i]; - for (j=0; j<p->nb_pids; j++) { + for (j = 0; j < p->nb_pids; j++) { if (p->pids[j] != pid) continue; //is program with id p->id set to be discarded? - for (k=0; k<ts->stream->nb_programs; k++) { + for (k = 0; k < ts->stream->nb_programs; k++) { if (ts->stream->programs[k]->id == p->id) { if (ts->stream->programs[k]->discard == AVDISCARD_ALL) discarded++; @@ -744,22 +744,22 @@ static int analyze(const uint8_t *buf, int size, int packet_size, int *index) { int stat[TS_MAX_PACKET_SIZE]; int i; - int x=0; - int best_score=0; + int x = 0; + int best_score = 0; - memset(stat, 0, packet_size*sizeof(int)); + memset(stat, 0, packet_size * sizeof(int)); - for (x=i=0; i<size-3; i++) { - if (buf[i] == 0x47 && !(buf[i+1] & 0x80) && buf[i+3] != 0x47) { + for (x = i = 0; i < size - 3; i++) { + if (buf[i] == 0x47 && !(buf[i + 1] & 0x80) && buf[i + 3] != 0x47) { stat[x]++; if (stat[x] > best_score) { - best_score= stat[x]; - if (index) *index= x; + best_score = stat[x]; + if (index) *index = x; } } x++; - if (x == packet_size) x= 0; + if (x == packet_size) x = 0; } return best_score; @@ -774,7 +774,7 @@ score = analyze(buf, size, TS_PACKET_SIZE, NULL); dvhs_score = analyze(buf, size, TS_DVHS_PACKET_SIZE, NULL); - fec_score= analyze(buf, size, TS_FEC_PACKET_SIZE, NULL); + fec_score = analyze(buf, size, TS_FEC_PACKET_SIZE, NULL); // av_log(NULL, AV_LOG_DEBUG, "score: %d, dvhs_score: %d, fec_score: %d \n", score, dvhs_score, fec_score); if (score > fec_score && score > dvhs_score) return TS_PACKET_SIZE; @@ -910,13 +910,13 @@ }; static const StreamType REGD_types[] = { - { MKTAG('d','r','a','c'), AVMEDIA_TYPE_VIDEO, CODEC_ID_DIRAC }, - { MKTAG('A','C','-','3'), AVMEDIA_TYPE_AUDIO, CODEC_ID_AC3 }, - { MKTAG('B','S','S','D'), AVMEDIA_TYPE_AUDIO, CODEC_ID_S302M }, - { MKTAG('D','T','S','1'), AVMEDIA_TYPE_AUDIO, CODEC_ID_DTS }, - { MKTAG('D','T','S','2'), AVMEDIA_TYPE_AUDIO, CODEC_ID_DTS }, - { MKTAG('D','T','S','3'), AVMEDIA_TYPE_AUDIO, CODEC_ID_DTS }, - { MKTAG('V','C','-','1'), AVMEDIA_TYPE_VIDEO, CODEC_ID_VC1 }, + { MKTAG('d', 'r', 'a', 'c'), AVMEDIA_TYPE_VIDEO, CODEC_ID_DIRAC }, + { MKTAG('A', 'C', '-', '3'), AVMEDIA_TYPE_AUDIO, CODEC_ID_AC3 }, + { MKTAG('B', 'S', 'S', 'D'), AVMEDIA_TYPE_AUDIO, CODEC_ID_S302M }, + { MKTAG('D', 'T', 'S', '1'), AVMEDIA_TYPE_AUDIO, CODEC_ID_DTS }, + { MKTAG('D', 'T', 'S', '2'), AVMEDIA_TYPE_AUDIO, CODEC_ID_DTS }, + { MKTAG('D', 'T', 'S', '3'), AVMEDIA_TYPE_AUDIO, CODEC_ID_DTS }, + { MKTAG('V', 'C', '-', '1'), AVMEDIA_TYPE_VIDEO, CODEC_ID_VC1 }, { 0 }, }; @@ -943,8 +943,8 @@ static int mpegts_set_stream_info(lives_clip_data_t *cdata, AVStream *st, PESContext *pes, uint32_t stream_type, uint32_t prog_reg_desc) { - lives_mpegts_priv_t *priv=cdata->priv; - int old_codec_type= st->codec->codec_type; + lives_mpegts_priv_t *priv = cdata->priv; + int old_codec_type = st->codec->codec_type; int old_codec_id = st->codec->codec_id; av_set_pts_info(st, 33, 1, 90000); st->priv_data = pes; @@ -960,22 +960,22 @@ st->codec->codec_tag = pes->stream_type; - if (st->codec->codec_tag==STREAM_TYPE_VIDEO_MPEG1|| - st->codec->codec_tag==STREAM_TYPE_VIDEO_MPEG2|| - st->codec->codec_tag==STREAM_TYPE_VIDEO_MPEG4|| - st->codec->codec_tag==STREAM_TYPE_VIDEO_H264|| - st->codec->codec_tag==STREAM_TYPE_VIDEO_VC1|| - st->codec->codec_tag==STREAM_TYPE_VIDEO_DIRAC) { + if (st->codec->codec_tag == STREAM_TYPE_VIDEO_MPEG1 || + st->codec->codec_tag == STREAM_TYPE_VIDEO_MPEG2 || + st->codec->codec_tag == STREAM_TYPE_VIDEO_MPEG4 || + st->codec->codec_tag == STREAM_TYPE_VIDEO_H264 || + st->codec->codec_tag == STREAM_TYPE_VIDEO_VC1 || + st->codec->codec_tag == STREAM_TYPE_VIDEO_DIRAC) { // fprintf(stderr,"got our vidst %d %p\n",st->codec->codec_tag,st); - priv->vidst=st; + priv->vidst = st; } - if (st->codec->codec_tag==STREAM_TYPE_AUDIO_MPEG1) sprintf(cdata->audio_name,"%s","mpeg1"); - else if (st->codec->codec_tag==STREAM_TYPE_AUDIO_MPEG2) sprintf(cdata->audio_name,"%s","mpeg2"); - else if (st->codec->codec_tag==STREAM_TYPE_AUDIO_AAC) sprintf(cdata->audio_name,"%s","aac"); - else if (st->codec->codec_tag==STREAM_TYPE_AUDIO_AAC_LATM) sprintf(cdata->audio_name,"%s","aac_latm"); - else if (st->codec->codec_tag==STREAM_TYPE_AUDIO_AC3) sprintf(cdata->audio_name,"%s","ac3"); - else if (st->codec->codec_tag==STREAM_TYPE_AUDIO_DTS) sprintf(cdata->audio_name,"%s","dts"); + if (st->codec->codec_tag == STREAM_TYPE_AUDIO_MPEG1) sprintf(cdata->audio_name, "%s", "mpeg1"); + else if (st->codec->codec_tag == STREAM_TYPE_AUDIO_MPEG2) sprintf(cdata->audio_name, "%s", "mpeg2"); + else if (st->codec->codec_tag == STREAM_TYPE_AUDIO_AAC) sprintf(cdata->audio_name, "%s", "aac"); + else if (st->codec->codec_tag == STREAM_TYPE_AUDIO_AAC_LATM) sprintf(cdata->audio_name, "%s", "aac_latm"); + else if (st->codec->codec_tag == STREAM_TYPE_AUDIO_AC3) sprintf(cdata->audio_name, "%s", "ac3"); + else if (st->codec->codec_tag == STREAM_TYPE_AUDIO_DTS) sprintf(cdata->audio_name, "%s", "dts"); mpegts_find_stream_type(st, pes->stream_type, ISO_types); @@ -1014,7 +1014,7 @@ mpegts_find_stream_type(st, pes->stream_type, MISC_types); if (st->codec->codec_id == CODEC_ID_NONE) { st->codec->codec_id = old_codec_id; - st->codec->codec_type= old_codec_type; + st->codec->codec_type = old_codec_type; } return 0; @@ -1035,7 +1035,7 @@ fprintf(stderr, "mpegts_decoder: PES packet size mismatch\n"); //pes->flags |= AV_PKT_FLAG_CORRUPT; } - memset(pkt->data+pkt->size, 0, FF_INPUT_BUFFER_PADDING_SIZE); + memset(pkt->data + pkt->size, 0, FF_INPUT_BUFFER_PADDING_SIZE); // Separate out the AC3 substream from an HDMV combined TrueHD/AC3 PID if (pes->sub_st && pes->stream_type == 0x83 && pes->extended_stream_id == 0x76) @@ -1074,7 +1074,7 @@ int padding_flag = 0, padding_bits = 0, inst_bitrate_flag = 0; int dts_flag = -1, cts_flag = -1; int64_t dts = AV_NOPTS_VALUE, cts = AV_NOPTS_VALUE; - init_get_bits(&gb, buf, buf_size*8); + init_get_bits(&gb, buf, buf_size * 8); if (sl->use_au_start) au_start_flag = get_bits1(&gb); @@ -1192,7 +1192,7 @@ pes->total_size = MAX_PES_PAYLOAD; /* allocate pes buffer */ - pes->buffer = av_malloc(pes->total_size+FF_INPUT_BUFFER_PADDING_SIZE); + pes->buffer = av_malloc(pes->total_size + FF_INPUT_BUFFER_PADDING_SIZE); if (!pes->buffer) return AVERROR(ENOMEM); @@ -1286,10 +1286,10 @@ break; case MPEGTS_PAYLOAD: if (buf_size > 0 && pes->buffer) { - if (pes->data_index > 0 && pes->data_index+buf_size > pes->total_size) { + if (pes->data_index > 0 && pes->data_index + buf_size > pes->total_size) { new_pes_packet(pes, ts->pkt); pes->total_size = MAX_PES_PAYLOAD; - pes->buffer = av_malloc(pes->total_size+FF_INPUT_BUFFER_PADDING_SIZE); + pes->buffer = av_malloc(pes->total_size + FF_INPUT_BUFFER_PADDING_SIZE); if (!pes->buffer) return AVERROR(ENOMEM); ts->stop_parse = 1; @@ -1298,7 +1298,7 @@ // not sure if this is legal in ts but see issue #2392 buf_size = pes->total_size; } - memcpy(pes->buffer+pes->data_index, p, buf_size); + memcpy(pes->buffer + pes->data_index, p, buf_size); pes->data_index += buf_size; } buf_size = 0; @@ -1361,10 +1361,10 @@ MP4DescrParseContext *d, AVFormatContext *s, const uint8_t *buf, unsigned size, Mp4Descr *descr, int max_descr_count) { // int ret; - if (size > (1<<30)) + if (size > (1 << 30)) return -2; - if ((d->fd=open(cdata->URI,O_RDONLY))==-1) { + if ((d->fd = open(cdata->URI, O_RDONLY)) == -1) { return d->fd; } d->s = s; @@ -1408,7 +1408,7 @@ int len = 0; int count = 4; while (count--) { - int c = lives_rf8(cdata,fd); + int c = lives_rf8(cdata, fd); len = (len << 7) | (c & 0x7f); if (!(c & 0x80)) break; @@ -1419,8 +1419,8 @@ int ff_mp4_read_descrf(lives_clip_data_t *cdata, AVFormatContext *fc, int fd, int *tag) { int len; - *tag = lives_rf8(cdata,fd); - len = ff_mp4_read_descr_lenf(cdata,fd); + *tag = lives_rf8(cdata, fd); + len = ff_mp4_read_descr_lenf(cdata, fd); //av_dlog(fc, "MPEG4 description: tag=0x%02x len=%d\n", *tag, len); return len; } @@ -1438,20 +1438,20 @@ lives_r8(p); /* stream type */ p++; lives_rb24(p); /* buffer size db */ - p+=3; + p += 3; lives_rb32(p); /* max bitrate */ - p+=4; + p += 4; lives_rb32(p); /* avg bitrate */ - p+=4; + p += 4; - st->codec->codec_id= ff_codec_get_id(ff_mp4_obj_type, object_type_id); + st->codec->codec_id = ff_codec_get_id(ff_mp4_obj_type, object_type_id); //fprintf(stderr, "esds object type id 0x%02x\n", object_type_id); len = ff_mp4_read_descr(cdata, fc, p, &tag); if (tag == MP4DecSpecificDescrTag) { //av_dlog(fc, "Specific MPEG4 header len=%d\n", len); - if (!len || (uint64_t)len > (1<<30)) + if (!len || (uint64_t)len > (1 << 30)) return -1; av_free(st->codec->extradata); st->codec->extradata = av_mallocz(len + FF_INPUT_BUFFER_PADDING_SIZE); @@ -1468,7 +1468,7 @@ static void update_offsets(int fd, int64_t *off, int *len) { - int64_t new_off = lseek(fd,0,SEEK_CUR); + int64_t new_off = lseek(fd, 0, SEEK_CUR); (*len) -= new_off - *off; *off = new_off; } @@ -1486,12 +1486,12 @@ } static int parse_MP4IODescrTag(lives_clip_data_t *cdata, MP4DescrParseContext *d, int64_t off, int len) { - lives_rbf16(cdata,d->fd); // ID - lives_rf8(cdata,d->fd); - lives_rf8(cdata,d->fd); - lives_rf8(cdata,d->fd); - lives_rf8(cdata,d->fd); - lives_rf8(cdata,d->fd); + lives_rbf16(cdata, d->fd); // ID + lives_rf8(cdata, d->fd); + lives_rf8(cdata, d->fd); + lives_rf8(cdata, d->fd); + lives_rf8(cdata, d->fd); + lives_rf8(cdata, d->fd); update_offsets(d->fd, &off, &len); return parse_mp4_descr_arr(cdata, d, off, len); } @@ -1501,7 +1501,7 @@ int id_flags; if (len < 2) return 0; - id_flags = lives_rbf16(cdata,d->fd); + id_flags = lives_rbf16(cdata, d->fd); if (!(id_flags & 0x0020)) { //URL_Flag update_offsets(d->fd, &off, &len); return parse_mp4_descr_arr(cdata, d, off, len); //ES_Descriptor[] @@ -1547,23 +1547,23 @@ if (!descr) return -1; - predefined = lives_rf8(cdata,d->fd); + predefined = lives_rf8(cdata, d->fd); if (!predefined) { int lengths; - int flags = lives_rf8(cdata,d->fd); + int flags = lives_rf8(cdata, d->fd); descr->sl.use_au_start = !!(flags & 0x80); descr->sl.use_au_end = !!(flags & 0x40); descr->sl.use_rand_acc_pt = !!(flags & 0x20); descr->sl.use_padding = !!(flags & 0x08); descr->sl.use_timestamps = !!(flags & 0x04); descr->sl.use_idle = !!(flags & 0x02); - descr->sl.timestamp_res = lives_rbf32(cdata,d->fd); - lives_rbf32(cdata,d->fd); - descr->sl.timestamp_len = lives_rf8(cdata,d->fd); - descr->sl.ocr_len = lives_rf8(cdata,d->fd); - descr->sl.au_len = lives_rf8(cdata,d->fd); - descr->sl.inst_bitrate_len = lives_rf8(cdata,d->fd); - lengths = lives_rbf16(cdata,d->fd); + descr->sl.timestamp_res = lives_rbf32(cdata, d->fd); + lives_rbf32(cdata, d->fd); + descr->sl.timestamp_len = lives_rf8(cdata, d->fd); + descr->sl.ocr_len = lives_rf8(cdata, d->fd); + descr->sl.au_len = lives_rf8(cdata, d->fd); + descr->sl.inst_bitrate_len = lives_rf8(cdata, d->fd); + lengths = lives_rbf16(cdata, d->fd); descr->sl.degr_prior_len = lengths >> 12; descr->sl.au_seq_num_len = (lengths >> 7) & 0x1f; descr->sl.packet_seq_num_len = (lengths >> 2) & 0x1f; @@ -1632,7 +1632,7 @@ if (init_MP4DescrParseContext(cdata, &d, s, buf, size, descr, max_descr_count) < 0) return -1; - parse_mp4_descr(cdata, &d, lseek(d.fd,0,SEEK_CUR), size, MP4IODescrTag); + parse_mp4_descr(cdata, &d, lseek(d.fd, 0, SEEK_CUR), size, MP4IODescrTag); *descr_count = d.descr_count; @@ -1647,7 +1647,7 @@ if (init_MP4DescrParseContext(cdata, &d, s, buf, size, descr, max_descr_count) < 0) return -1; - parse_mp4_descr_arr(cdata, &d, lseek(d.fd,0,SEEK_CUR), size); + parse_mp4_descr_arr(cdata, &d, lseek(d.fd, 0, SEEK_CUR), size); *descr_count = d.descr_count; @@ -1660,7 +1660,7 @@ MpegTSContext *ts = filter->u.section_filter.opaque; SectionHeader h; const uint8_t *p, *p_end; - Mp4Descr mp4_descr[MAX_MP4_DESCR_COUNT] = {{ 0 }}; + Mp4Descr mp4_descr[MAX_MP4_DESCR_COUNT] = {{0} }; int mp4_descr_count = 0; int i, pid; AVFormatContext *s = ts->stream; @@ -1771,7 +1771,7 @@ if (st->codec->codec_id == CODEC_ID_AAC && st->codec->extradata_size > 0) { st->need_parsing = 0; - st->codec->codec_type= AVMEDIA_TYPE_AUDIO; + st->codec->codec_type = AVMEDIA_TYPE_AUDIO; } } break; @@ -1836,7 +1836,7 @@ break; case 0x05: /* registration descriptor */ st->codec->codec_tag = lives_rl32((const char *)*pp); - *pp+=4; + *pp += 4; //av_dlog(fc, "reg_desc=%.4s\n", (char*)&st->codec->codec_tag); if (st->codec->codec_id == CODEC_ID_NONE && stream_type == STREAM_TYPE_PRIVATE_DATA) @@ -1855,7 +1855,7 @@ void ff_program_add_stream_index(AVFormatContext *ac, int progid, unsigned int idx) { int i, j; - AVProgram *program=NULL; + AVProgram *program = NULL; void *tmp; if (idx >= ac->nb_streams) { @@ -1863,15 +1863,15 @@ return; } - for (i=0; i<ac->nb_programs; i++) { + for (i = 0; i < ac->nb_programs; i++) { if (ac->programs[i]->id != progid) continue; program = ac->programs[i]; - for (j=0; j<program->nb_stream_indexes; j++) + for (j = 0; j < program->nb_stream_indexes; j++) if (program->stream_index[j] == idx) return; - tmp = av_realloc(program->stream_index, sizeof(unsigned int)*(program->nb_stream_indexes+1)); + tmp = av_realloc(program->stream_index, sizeof(unsigned int) * (program->nb_stream_indexes + 1)); if (!tmp) return; program->stream_index = tmp; @@ -1900,7 +1900,7 @@ int desc_list_len; uint32_t prog_reg_desc = 0; /* registration descriptor */ - Mp4Descr mp4_descr[MAX_MP4_DESCR_COUNT] = {{ 0 }}; + Mp4Descr mp4_descr[MAX_MP4_DESCR_COUNT] = {{0} }; int mp4_descr_count = 0; int i; @@ -1949,7 +1949,7 @@ &mp4_descr_count, MAX_MP4_DESCR_COUNT); } else if (tag == 0x05 && len >= 4) { // registration descriptor prog_reg_desc = lives_rl32((const char *)p); - p+=4; + p += 4; len -= 4; } p += len; @@ -2162,8 +2162,8 @@ /* handle one TS packet */ static int handle_packet(lives_clip_data_t *cdata, const uint8_t *packet) { - lives_mpegts_priv_t *priv=cdata->priv; - AVFormatContext *s=priv->s; + lives_mpegts_priv_t *priv = cdata->priv; + AVFormatContext *s = priv->s; MpegTSContext *ts = s->priv_data; MpegTSFilter *tss; @@ -2192,9 +2192,9 @@ } pes = tss->u.pes_filter.opaque; - if (pes!=NULL) { + if (pes != NULL) { st = pes->st; - if (priv->vidst!=NULL&&st!=priv->vidst) return 0; + if (priv->vidst != NULL && st != priv->vidst) return 0; } afc = (packet[3] >> 4) & 3; @@ -2232,14 +2232,14 @@ // skip stream packet p = packet + 4; if (has_adaptation) { - uint8_t xflags,spc; - if ((xflags=p[1])&4) { + uint8_t xflags, spc; + if ((xflags = p[1]) & 4) { // get splice distance - size_t sploffs=1; // skip pcr - if (xflags & 8) sploffs+=48; // skip opcr + size_t sploffs = 1; // skip pcr + if (xflags & 8) sploffs += 48; // skip opcr - spc=p[sploffs]; - if (spc==0) { + spc = p[sploffs]; + if (spc == 0) { //fprintf (stderr,"XXX: Keyframe ?"); } @@ -2253,7 +2253,7 @@ return 0; pos = priv->input_position; - ts->pos47= pos % ts->raw_packet_size; + ts->pos47 = pos % ts->raw_packet_size; if (tss->type == MPEGTS_SECTION) { @@ -2297,12 +2297,12 @@ /* XXX: try to find a better synchro over several packets (use get_packet_size() ?) */ static int mpegts_resync(lives_clip_data_t *cdata) { - lives_mpegts_priv_t *priv=cdata->priv; - int pb=priv->fd; + lives_mpegts_priv_t *priv = cdata->priv; + int pb = priv->fd; int c, i; for (i = 0; i < MAX_RESYNC_SIZE; i++) { - c = lives_rf8(cdata,pb); + c = lives_rf8(cdata, pb); if (check_for_eof(cdata)) return -1; if (c == 0x47) { @@ -2319,7 +2319,7 @@ /* return -1 if error or EOF. Return 0 if OK. */ static int read_packet(lives_clip_data_t *cdata, uint8_t *buf, int raw_packet_size) { - lives_mpegts_priv_t *priv=cdata->priv; + lives_mpegts_priv_t *priv = cdata->priv; int pb = priv->fd; int skip, len; @@ -2327,15 +2327,15 @@ for (;;) { len = read(pb, buf, TS_PACKET_SIZE); if (len != TS_PACKET_SIZE) { - priv->input_position+=len; + priv->input_position += len; return len < 0 ? len : -1; } - priv->input_position+=len; + priv->input_position += len; /* check packet sync byte */ if (buf[0] != 0x47) { /* find a new packet start */ - priv->input_position-=TS_PACKET_SIZE; + priv->input_position -= TS_PACKET_SIZE; lseek(pb, priv->input_position, SEEK_SET); if (mpegts_resync(cdata) < 0) return -1; @@ -2344,7 +2344,7 @@ } else { skip = raw_packet_size - TS_PACKET_SIZE; if (skip > 0) { - lives_seek(cdata, pb, priv->input_position+skip); + lives_seek(cdata, pb, priv->input_position + skip); } break; } @@ -2356,8 +2356,8 @@ static int handle_packets(lives_clip_data_t *cdata, int nb_packets) { - lives_mpegts_priv_t *priv=cdata->priv; - AVFormatContext *s=priv->s; + lives_mpegts_priv_t *priv = cdata->priv; + AVFormatContext *s = priv->s; MpegTSContext *ts = s->priv_data; uint8_t packet[TS_PACKET_SIZE]; @@ -2414,16 +2414,16 @@ static boolean lives_mpegts_probe(const lives_clip_data_t *cdata, unsigned char *p) { - const int size= MPEGTS_PROBE_SIZE; + const int size = MPEGTS_PROBE_SIZE; int score, fec_score, dvhs_score; - int check_count= size / TS_FEC_PACKET_SIZE; + int check_count = size / TS_FEC_PACKET_SIZE; #define CHECK_COUNT 10 if (check_count < CHECK_COUNT) return FALSE; - score = analyze(p, TS_PACKET_SIZE *check_count, TS_PACKET_SIZE , NULL)*CHECK_COUNT/check_count; - dvhs_score = analyze(p, TS_DVHS_PACKET_SIZE*check_count, TS_DVHS_PACKET_SIZE, NULL)*CHECK_COUNT/check_count; - fec_score = analyze(p, TS_FEC_PACKET_SIZE *check_count, TS_FEC_PACKET_SIZE , NULL)*CHECK_COUNT/check_count; + score = analyze(p, TS_PACKET_SIZE * check_count, TS_PACKET_SIZE , NULL) * CHECK_COUNT / check_count; + dvhs_score = analyze(p, TS_DVHS_PACKET_SIZE * check_count, TS_DVHS_PACKET_SIZE, NULL) * CHECK_COUNT / check_count; + fec_score = analyze(p, TS_FEC_PACKET_SIZE * check_count, TS_FEC_PACKET_SIZE , NULL) * CHECK_COUNT / check_count; if (score > fec_score && score > dvhs_score && score > 6) return TRUE; else if (dvhs_score > score && dvhs_score > fec_score && dvhs_score > 6) return TRUE; @@ -2461,11 +2461,11 @@ static int lives_mpegts_read_header(lives_clip_data_t *cdata) { - lives_mpegts_priv_t *priv=cdata->priv; - AVFormatContext *s=priv->s; + lives_mpegts_priv_t *priv = cdata->priv; + AVFormatContext *s = priv->s; MpegTSContext *ts = s->priv_data; int pb = priv->fd; - uint8_t buf[8*1024]; + uint8_t buf[8 * 1024]; int len; int64_t pos; @@ -2474,11 +2474,11 @@ len = read(pb, buf, sizeof(buf)); if (len != sizeof(buf)) { - if (len>0) priv->input_position+=len; + if (len > 0) priv->input_position += len; goto fail; } - priv->input_position+=len; + priv->input_position += len; ts->raw_packet_size = get_packet_size(buf, sizeof(buf)); if (ts->raw_packet_size <= 0) { @@ -2527,8 +2527,8 @@ st->codec->codec_type = AVMEDIA_TYPE_DATA; st->codec->codec_id = CODEC_ID_MPEG2TS; - if (priv->vidst==NULL) { - priv->vidst=st; + if (priv->vidst == NULL) { + priv->vidst = st; //fprintf(stderr,"mpegts_decoder: got video stream\n"); } @@ -2573,8 +2573,8 @@ static boolean mpegts_read_packet(lives_clip_data_t *cdata, AVPacket *pkt) { - lives_mpegts_priv_t *priv=cdata->priv; - AVFormatContext *s=priv->s; + lives_mpegts_priv_t *priv = cdata->priv; + AVFormatContext *s = priv->s; MpegTSContext *ts = s->priv_data; int ret, i; @@ -2601,15 +2601,15 @@ static int mpegts_read_close(lives_clip_data_t *cdata) { - lives_mpegts_priv_t *priv=cdata->priv; - AVFormatContext *s=priv->s; + lives_mpegts_priv_t *priv = cdata->priv; + AVFormatContext *s = priv->s; MpegTSContext *ts = s->priv_data; int i; clear_programs(ts); - for (i=0; i<NB_PID_MAX; i++) + for (i = 0; i < NB_PID_MAX; i++) if (ts->pids[i]) mpegts_close_filter(ts, ts->pids[i]); return 0; @@ -2624,12 +2624,12 @@ static int64_t dts_to_frame(const lives_clip_data_t *cdata, int64_t dts) { // use ADJUSTED dts (subtract priv->start_dts from it) - return (int64_t)((double)dts/90000.*cdata->fps+.5); + return (int64_t)((double)dts / 90000.*cdata->fps + .5); } static int64_t frame_to_dts(const lives_clip_data_t *cdata, int64_t frame) { // returns UNADJUSTED dts : add priv->start_dts to it - return (int64_t)((double)frame*90000./cdata->fps+.5); + return (int64_t)((double)frame * 90000. / cdata->fps + .5); } @@ -2642,9 +2642,9 @@ const char *module_check_init(void) { avcodec_register_all(); av_log_set_level(0); - indices=NULL; - nidxc=0; - pthread_mutex_init(&indices_mutex,NULL); + indices = NULL; + nidxc = 0; + pthread_mutex_init(&indices_mutex, NULL); return NULL; } @@ -2657,37 +2657,37 @@ static lives_clip_data_t *init_cdata(void) { lives_mpegts_priv_t *priv; - lives_clip_data_t *cdata=(lives_clip_data_t *)malloc(sizeof(lives_clip_data_t)); + lives_clip_data_t *cdata = (lives_clip_data_t *)malloc(sizeof(lives_clip_data_t)); - cdata->URI=NULL; + cdata->URI = NULL; - cdata->priv=priv=malloc(sizeof(lives_mpegts_priv_t)); + cdata->priv = priv = malloc(sizeof(lives_mpegts_priv_t)); - cdata->seek_flag=0; + cdata->seek_flag = 0; - priv->ctx=NULL; - priv->codec=NULL; - priv->picture=NULL; - priv->inited=FALSE; + priv->ctx = NULL; + priv->codec = NULL; + priv->picture = NULL; + priv->inited = FALSE; - priv->expect_eof=FALSE; + priv->expect_eof = FALSE; - cdata->palettes=(int *)malloc(2*sizeof(int)); - cdata->palettes[1]=WEED_PALETTE_END; + cdata->palettes = (int *)malloc(2 * sizeof(int)); + cdata->palettes[1] = WEED_PALETTE_END; - cdata->interlace=LIVES_INTERLACE_NONE; + cdata->interlace = LIVES_INTERLACE_NONE; - cdata->nframes=0; + cdata->nframes = 0; - cdata->sync_hint=0; + cdata->sync_hint = 0; - cdata->fps=0.; + cdata->fps = 0.; - cdata->video_start_time=0.; + cdata->video_start_time = 0.; - memset(cdata->author,0,1); - memset(cdata->title,0,1); - memset(cdata->comment,0,1); + memset(cdata->author, 0, 1); + memset(cdata->title, 0, 1); + memset(cdata->comment, 0, 1); return cdata; } @@ -2695,27 +2695,27 @@ static index_entry *mpegts_read_seek(const lives_clip_data_t *cdata, uint32_t timestamp) { // use unadj timestamp - lives_mpegts_priv_t *priv=cdata->priv; + lives_mpegts_priv_t *priv = cdata->priv; index_entry *idx; if (!priv->idxc->idxhh) return NULL; pthread_mutex_lock(&priv->idxc->mutex); - timestamp = FFMIN(timestamp, frame_to_dts(cdata,cdata->nframes)); + timestamp = FFMIN(timestamp, frame_to_dts(cdata, cdata->nframes)); timestamp = FFMAX(timestamp, priv->idxc->idxhh->dts); - idx=get_idx_for_pts(cdata,timestamp); + idx = get_idx_for_pts(cdata, timestamp); - priv->input_position=idx->offs; + priv->input_position = idx->offs; pthread_mutex_unlock(&priv->idxc->mutex); - lseek(priv->fd,priv->input_position,SEEK_SET); + lseek(priv->fd, priv->input_position, SEEK_SET); - if (priv->avpkt.data!=NULL) { + if (priv->avpkt.data != NULL) { free(priv->avpkt.data); - priv->avpkt.data=NULL; - priv->avpkt.size=0; + priv->avpkt.data = NULL; + priv->avpkt.size = 0; } avcodec_flush_buffers(priv->ctx); @@ -2731,13 +2731,13 @@ pthread_mutex_lock(&indices_mutex); - for (i=0; i<nidxc; i++) { - if (indices[i]->clients[0]->current_clip==cdata->current_clip&& - !strcmp(indices[i]->clients[0]->URI,cdata->URI)) { - idxc=indices[i]; + for (i = 0; i < nidxc; i++) { + if (indices[i]->clients[0]->current_clip == cdata->current_clip && + !strcmp(indices[i]->clients[0]->URI, cdata->URI)) { + idxc = indices[i]; // append cdata to clients - idxc->clients=(lives_clip_data_t **)realloc(idxc->clients,(idxc->nclients+1)*sizeof(lives_clip_data_t *)); - idxc->clients[idxc->nclients]=cdata; + idxc->clients = (lives_clip_data_t **)realloc(idxc->clients, (idxc->nclients + 1) * sizeof(lives_clip_data_t *)); + idxc->clients[idxc->nclients] = cdata; idxc->nclients++; // pthread_mutex_unlock(&indices_mutex); @@ -2745,20 +2745,20 @@ } } - indices=(index_container_t **)realloc(indices,(nidxc+1)*sizeof(index_container_t *)); + indices = (index_container_t **)realloc(indices, (nidxc + 1) * sizeof(index_container_t *)); // match not found, create a new index container - idxc=(index_container_t *)malloc(sizeof(index_container_t)); + idxc = (index_container_t *)malloc(sizeof(index_container_t)); - idxc->idxhh=NULL; - idxc->idxht=NULL; + idxc->idxhh = NULL; + idxc->idxht = NULL; - idxc->nclients=1; - idxc->clients=(lives_clip_data_t **)malloc(sizeof(lives_clip_data_t *)); - idxc->clients[0]=cdata; - pthread_mutex_init(&idxc->mutex,NULL); + idxc->nclients = 1; + idxc->clients = (lives_clip_data_t **)malloc(sizeof(lives_clip_data_t *)); + idxc->clients[0] = cdata; + pthread_mutex_init(&idxc->mutex, NULL); - indices[nidxc]=idxc; + indices[nidxc] = idxc; pthread_mutex_unlock(&indices_mutex); nidxc++; @@ -2768,44 +2768,44 @@ static void idxc_release(lives_clip_data_t *cdata) { - lives_mpegts_priv_t *priv=cdata->priv; - index_container_t *idxc=priv->idxc; - register int i,j; + lives_mpegts_priv_t *priv = cdata->priv; + index_container_t *idxc = priv->idxc; + register int i, j; - if (idxc==NULL) return; + if (idxc == NULL) return; pthread_mutex_lock(&indices_mutex); - if (idxc->nclients==1) { + if (idxc->nclients == 1) { mpegts_save_index(idxc->clients[0]); // remove this index index_free(idxc->idxhh); free(idxc->clients); - for (i=0; i<nidxc; i++) { - if (indices[i]==idxc) { + for (i = 0; i < nidxc; i++) { + if (indices[i] == idxc) { nidxc--; - for (j=i; j<nidxc; j++) { - indices[j]=indices[j+1]; + for (j = i; j < nidxc; j++) { + indices[j] = indices[j + 1]; } free(idxc); - if (nidxc==0) { + if (nidxc == 0) { free(indices); - indices=NULL; - } else indices=(index_container_t **)realloc(indices,nidxc*sizeof(index_container_t *)); + indices = NULL; + } else indices = (index_container_t **)realloc(indices, nidxc * sizeof(index_container_t *)); break; } } } else { // reduce client count by 1 - for (i=0; i<idxc->nclients; i++) { - if (idxc->clients[i]==cdata) { + for (i = 0; i < idxc->nclients; i++) { + if (idxc->clients[i] == cdata) { // remove this entry idxc->nclients--; - for (j=i; j<idxc->nclients; j++) { - idxc->clients[j]=idxc->clients[j+1]; + for (j = i; j < idxc->nclients; j++) { + idxc->clients[j] = idxc->clients[j + 1]; } - idxc->clients=(lives_clip_data_t **)realloc(idxc->clients,idxc->nclients*sizeof(lives_clip_data_t *)); + idxc->clients = (lives_clip_data_t **)realloc(idxc->clients, idxc->nclients * sizeof(lives_clip_data_t *)); break; } } @@ -2819,46 +2819,46 @@ static void idxc_release_all(void) { register int i; - for (i=0; i<nidxc; i++) { + for (i = 0; i < nidxc; i++) { index_free(indices[i]->idxhh); free(indices[i]->clients); free(indices[i]); } - nidxc=0; + nidxc = 0; } static void detach_stream(lives_clip_data_t *cdata) { // close the file, free the decoder - lives_mpegts_priv_t *priv=cdata->priv; + lives_mpegts_priv_t *priv = cdata->priv; - cdata->seek_flag=0; + cdata->seek_flag = 0; if (priv->s) mpegts_read_close(cdata); - if (priv->ctx!=NULL) { + if (priv->ctx != NULL) { avcodec_close(priv->ctx); av_free(priv->ctx); } - if (priv->s!=NULL) { + if (priv->s != NULL) { av_free(priv->s); } - if (priv->picture!=NULL) av_frame_unref(&priv->picture); + if (priv->picture != NULL) av_frame_unref(&priv->picture); - priv->ctx=NULL; - priv->codec=NULL; - priv->picture=NULL; + priv->ctx = NULL; + priv->codec = NULL; + priv->picture = NULL; - if (cdata->palettes!=NULL) free(cdata->palettes); - cdata->palettes=NULL; + if (cdata->palettes != NULL) free(cdata->palettes); + cdata->palettes = NULL; - if (priv->avpkt.data!=NULL) { + if (priv->avpkt.data != NULL) { free(priv->avpkt.data); - priv->avpkt.data=NULL; - priv->avpkt.size=0; + priv->avpkt.data = NULL; + priv->avpkt.size = 0; } close(priv->fd); @@ -2867,59 +2867,59 @@ static int64_t mpegts_load_index(lives_clip_data_t *cdata); int64_t get_last_video_dts(lives_clip_data_t *cdata) { - lives_mpegts_priv_t *priv=cdata->priv; - boolean got_picture=FALSE; + lives_mpegts_priv_t *priv = cdata->priv; + boolean got_picture = FALSE; int len; - int64_t dts,last_dts=-1; - int64_t idxpos,idxpos_data=0; + int64_t dts, last_dts = -1; + int64_t idxpos, idxpos_data = 0; // see if we have a file from previous open pthread_mutex_lock(&priv->idxc->mutex); - if ((dts=mpegts_load_index(cdata))>0) { + if ((dts = mpegts_load_index(cdata)) > 0) { pthread_mutex_unlock(&priv->idxc->mutex); - return dts+priv->start_dts; + return dts + priv->start_dts; } pthread_mutex_unlock(&priv->idxc->mutex); - priv->input_position=priv->data_start; - lseek(priv->fd,priv->input_position,SEEK_SET); + priv->input_position = priv->data_start; + lseek(priv->fd, priv->input_position, SEEK_SET); avcodec_flush_buffers(priv->ctx); - mpegts_read_packet(cdata,&priv->avpkt); - priv->got_eof=FALSE; + mpegts_read_packet(cdata, &priv->avpkt); + priv->got_eof = FALSE; - idxpos=priv->input_position; + idxpos = priv->input_position; // get each packet and decode just the first frame while (1) { - got_picture=FALSE; + got_picture = FALSE; while (!got_picture) { #if LIBAVCODEC_VERSION_MAJOR >= 52 - len=avcodec_decode_video2(priv->ctx, priv->picture, &got_picture, &priv->avpkt); + len = avcodec_decode_video2(priv->ctx, priv->picture, &got_picture, &priv->avpkt); #else - len=avcodec_decode_video(priv->ctx, priv->picture, &got_picture, priv->avpkt.data, priv->avpkt.size); + len = avcodec_decode_video(priv->ctx, priv->picture, &got_picture, priv->avpkt.data, priv->avpkt.size); #endif if (got_picture) { - idxpos_data=idxpos; - dts=priv->avpkt.dts-priv->start_dts; + idxpos_data = idxpos; + dts = priv->avpkt.dts - priv->start_dts; pthread_mutex_lock(&priv->idxc->mutex); - lives_add_idx(cdata,idxpos,dts); + lives_add_idx(cdata, idxpos, dts); pthread_mutex_unlock(&priv->idxc->mutex); avcodec_flush_buffers(priv->ctx); - idxpos=priv->input_position; + idxpos = priv->input_position; } - if (len<0||len==priv->avpkt.size||got_picture) { - if (priv->avpkt.data!=NULL) { + if (len < 0 || len == priv->avpkt.size || got_picture) { + if (priv->avpkt.data != NULL) { free(priv->avpkt.data); - priv->avpkt.data=NULL; - priv->avpkt.size=0; + priv->avpkt.data = NULL; + priv->avpkt.size = 0; } - if (priv->input_position==priv->filesize) goto vts_next; - mpegts_read_packet((lives_clip_data_t *)cdata,&priv->avpkt); + if (priv->input_position == priv->filesize) goto vts_next; + mpegts_read_packet((lives_clip_data_t *)cdata, &priv->avpkt); if (priv->got_eof) goto vts_next; } @@ -2930,30 +2930,30 @@ // rewind back to last pos, and decode up to end now - priv->input_position=idxpos_data; - lseek(priv->fd,priv->input_position,SEEK_SET); - priv->got_eof=FALSE; + priv->input_position = idxpos_data; + lseek(priv->fd, priv->input_position, SEEK_SET); + priv->got_eof = FALSE; avcodec_flush_buffers(priv->ctx); - mpegts_read_packet(cdata,&priv->avpkt); + mpegts_read_packet(cdata, &priv->avpkt); while (1) { #if LIBAVCODEC_VERSION_MAJOR >= 52 - len=avcodec_decode_video2(priv->ctx, priv->picture, &got_picture, &priv->avpkt); + len = avcodec_decode_video2(priv->ctx, priv->picture, &got_picture, &priv->avpkt); #else - len=avcodec_decode_video(priv->ctx, priv->picture, &got_picture, priv->avpkt.data, priv->avpkt.size); + len = avcodec_decode_video(priv->ctx, priv->picture, &got_picture, priv->avpkt.data, priv->avpkt.size); #endif - if (got_picture) last_dts=priv->avpkt.dts; + if (got_picture) last_dts = priv->avpkt.dts; - if (len==priv->avpkt.size) { - if (priv->avpkt.data!=NULL) { + if (len == priv->avpkt.size) { + if (priv->avpkt.data != NULL) { free(priv->avpkt.data); - priv->avpkt.data=NULL; - priv->avpkt.size=0; + priv->avpkt.data = NULL; + priv->avpkt.size = 0; } - if (priv->input_position==priv->filesize) goto vts_done; - mpegts_read_packet((lives_clip_data_t *)cdata,&priv->avpkt); + if (priv->input_position == priv->filesize) goto vts_done; + mpegts_read_packet((lives_clip_data_t *)cdata, &priv->avpkt); if (priv->got_eof) goto vts_done; } @@ -2961,7 +2961,7 @@ vts_done: - priv->got_eof=FALSE; + priv->got_eof = FALSE; return last_dts; } @@ -2970,96 +2970,96 @@ static boolean attach_stream(lives_clip_data_t *cdata, boolean isclone) { // open the file and get a handle - lives_mpegts_priv_t *priv=cdata->priv; + lives_mpegts_priv_t *priv = cdata->priv; unsigned char header[MPEGTS_PROBE_SIZE]; - int64_t ldts,dts,pts; + int64_t ldts, dts, pts; double fps; int len; - AVCodec *codec=NULL; + AVCodec *codec = NULL; AVCodecContext *ctx; - boolean got_picture=FALSE; - boolean is_partial_clone=FALSE; + boolean got_picture = FALSE; + boolean is_partial_clone = FALSE; struct stat sb; //#define DEBUG #ifdef DEBUG - fprintf(stderr,"\n"); + fprintf(stderr, "\n"); #endif - if (isclone&&!priv->inited) { - isclone=FALSE; - if (cdata->fps>0.&&cdata->nframes>0) - is_partial_clone=TRUE; + if (isclone && !priv->inited) { + isclone = FALSE; + if (cdata->fps > 0. && cdata->nframes > 0) + is_partial_clone = TRUE; } - priv->has_audio=priv->has_video=FALSE; - priv->vidst=NULL; - priv->vididx=-1; + priv->has_audio = priv->has_video = FALSE; + priv->vidst = NULL; + priv->vididx = -1; - priv->got_eof=FALSE; + priv->got_eof = FALSE; - if ((priv->fd=open(cdata->URI,O_RDONLY))==-1) { - fprintf(stderr, "mpegts_decoder: unable to open %s\n",cdata->URI); + if ((priv->fd = open(cdata->URI, O_RDONLY)) == -1) { + fprintf(stderr, "mpegts_decoder: unable to open %s\n", cdata->URI); return FALSE; } #ifdef IS_MINGW - setmode(priv->fd,O_BINARY); + setmode(priv->fd, O_BINARY); #endif if (isclone) goto seek_skip; - fstat(priv->fd,&sb); - priv->filesize=sb.st_size; + fstat(priv->fd, &sb); + priv->filesize = sb.st_size; if (read(priv->fd, header, MPEGTS_PROBE_SIZE) < MPEGTS_PROBE_SIZE) { // for example, might be a directory #ifdef DEBUG - fprintf(stderr, "mpegts_decoder: unable to read header for %s\n",cdata->URI); + fprintf(stderr, "mpegts_decoder: unable to read header for %s\n", cdata->URI); #endif close(priv->fd); return FALSE; } - priv->input_position+=MPEGTS_PROBE_SIZE; + priv->input_position += MPEGTS_PROBE_SIZE; if (!lives_mpegts_probe(cdata, header)) { #ifdef DEBUG - fprintf(stderr, "mpegts_decoder: unable to parse header for %s\n",cdata->URI); + fprintf(stderr, "mpegts_decoder: unable to parse header for %s\n", cdata->URI); #endif close(priv->fd); return FALSE; } - priv->input_position=0; - lseek(priv->fd,priv->input_position,SEEK_SET); + priv->input_position = 0; + lseek(priv->fd, priv->input_position, SEEK_SET); - if (!is_partial_clone) cdata->fps=0.; - cdata->width=cdata->frame_width=cdata->height=cdata->frame_height=0; - cdata->offs_x=cdata->offs_y=0; + if (!is_partial_clone) cdata->fps = 0.; + cdata->width = cdata->frame_width = cdata->height = cdata->frame_height = 0; + cdata->offs_x = cdata->offs_y = 0; - cdata->arate=0; - cdata->achans=0; - cdata->asamps=16; + cdata->arate = 0; + cdata->achans = 0; + cdata->asamps = 16; - cdata->sync_hint=SYNC_HINT_AUDIO_TRIM_START; + cdata->sync_hint = SYNC_HINT_AUDIO_TRIM_START; - sprintf(cdata->audio_name,"%s",""); + sprintf(cdata->audio_name, "%s", ""); seek_skip: - priv->idxc=idxc_for(cdata); - priv->inited=TRUE; + priv->idxc = idxc_for(cdata); + priv->inited = TRUE; priv->s = avformat_alloc_context(); - priv->ts=malloc(sizeof(MpegTSContext)); - memset(priv->ts,0,sizeof(MpegTSContext)); + priv->ts = malloc(sizeof(MpegTSContext)); + memset(priv->ts, 0, sizeof(MpegTSContext)); priv->ts->raw_packet_size = TS_PACKET_SIZE; //ts->stream = s; @@ -3067,57 +3067,57 @@ priv->s->priv_data = priv->ts; av_init_packet(&priv->avpkt); - priv->avpkt.data=NULL; - priv->ctx=NULL; + priv->avpkt.data = NULL; + priv->ctx = NULL; if (lives_mpegts_read_header(cdata)) { close(priv->fd); return FALSE; } - if (priv->vidst==NULL) { + if (priv->vidst == NULL) { fprintf(stderr, "mpegts_decoder: Got no video stream !\n"); detach_stream(cdata); return FALSE; } - priv->data_start=priv->input_position; + priv->data_start = priv->input_position; if (isclone) goto skip_det; - cdata->seek_flag=LIVES_SEEK_FAST|LIVES_SEEK_NEEDS_CALCULATION; + cdata->seek_flag = LIVES_SEEK_FAST | LIVES_SEEK_NEEDS_CALCULATION; - cdata->offs_x=0; - cdata->offs_y=0; + cdata->offs_x = 0; + cdata->offs_y = 0; switch (priv->vidst->codec->codec_id) { case CODEC_ID_DIRAC: - sprintf(cdata->video_name,"%s","dirac"); + sprintf(cdata->video_name, "%s", "dirac"); break; case CODEC_ID_H264: - sprintf(cdata->video_name,"%s","h264"); + sprintf(cdata->video_name, "%s", "h264"); break; case CODEC_ID_MPEG1VIDEO: - sprintf(cdata->video_name,"%s","mpeg1"); + sprintf(cdata->video_name, "%s", "mpeg1"); break; case CODEC_ID_MPEG2VIDEO: - sprintf(cdata->video_name,"%s","mpeg2"); + sprintf(cdata->video_name, "%s", "mpeg2"); break; case CODEC_ID_MPEG4: - sprintf(cdata->video_name,"%s","mpeg2"); + sprintf(cdata->video_name, "%s", "mpeg2"); break; case CODEC_ID_VC1: - sprintf(cdata->video_name,"%s","vc1"); + sprintf(cdata->video_name, "%s", "vc1"); break; default: - sprintf(cdata->video_name,"%s","unknown"); + sprintf(cdata->video_name, "%s", "unknown"); break; } //#define DEBUG #ifdef DEBUG - fprintf(stderr,"video type is %f %s %d x %d (%d x %d +%d +%d)\n",duration,cdata->video_name, - cdata->width,cdata->height,cdata->frame_width,cdata->frame_height,cdata->offs_x,cdata->offs_y); + fprintf(stderr, "video type is %f %s %d x %d (%d x %d +%d +%d)\n", duration, cdata->video_name, + cdata->width, cdata->height, cdata->frame_width, cdata->frame_height, cdata->offs_x, cdata->offs_y); #endif skip_det: @@ -3125,8 +3125,8 @@ codec = avcodec_find_decoder(priv->vidst->codec->codec_id); if (!codec) { - if (strlen(cdata->video_name)>0) - fprintf(stderr, "mpegts_decoder: Could not find avcodec codec for video type %s\n",cdata->video_name); + if (strlen(cdata->video_name) > 0) + fprintf(stderr, "mpegts_decoder: Could not find avcodec codec for video type %s\n", cdata->video_name); detach_stream(cdata); return FALSE; } @@ -3139,181 +3139,181 @@ return FALSE; } - priv->codec=codec; + priv->codec = codec; - if (codec->capabilities&CODEC_CAP_TRUNCATED) - ctx->flags|= CODEC_FLAG_TRUNCATED; + if (codec->capabilities & CODEC_CAP_TRUNCATED) + ctx->flags |= CODEC_FLAG_TRUNCATED; // re-scan with avcodec; priv->data_start holds video data start position av_init_packet(&priv->avpkt); - if (priv->avpkt.data!=NULL) free(priv->avpkt.data); - priv->avpkt.data=NULL; + if (priv->avpkt.data != NULL) free(priv->avpkt.data); + priv->avpkt.data = NULL; - priv->input_position=priv->data_start; - lseek(priv->fd,priv->input_position,SEEK_SET); + priv->input_position = priv->data_start; + lseek(priv->fd, priv->input_position, SEEK_SET); avcodec_flush_buffers(priv->ctx); priv->picture = av_frame_alloc(); - mpegts_read_packet(cdata,&priv->avpkt); + mpegts_read_packet(cdata, &priv->avpkt); - while (!got_picture&&!priv->got_eof) { + while (!got_picture && !priv->got_eof) { #if LIBAVCODEC_VERSION_MAJOR >= 52 - len=avcodec_decode_video2(ctx, priv->picture, &got_picture, &priv->avpkt); + len = avcodec_decode_video2(ctx, priv->picture, &got_picture, &priv->avpkt); #else - len=avcodec_decode_video(ctx, priv->picture, &got_picture, priv->avpkt.data, priv->avpkt.size); + len = avcodec_decode_video(ctx, priv->picture, &got_picture, priv->avpkt.data, priv->avpkt.size); #endif - if (len<0||len==priv->avpkt.size) { - if (priv->avpkt.data!=NULL) { + if (len < 0 || len == priv->avpkt.size) { + if (priv->avpkt.data != NULL) { free(priv->avpkt.data); - priv->avpkt.data=NULL; - priv->avpkt.size=0; + priv->avpkt.data = NULL; + priv->avpkt.size = 0; } - mpegts_read_packet(cdata,&priv->avpkt); + mpegts_read_packet(cdata, &priv->avpkt); } } - priv->last_frame=-1; + priv->last_frame = -1; if (isclone) { - if (priv->picture!=NULL) av_frame_unref(&priv->picture); - priv->picture=NULL; + if (priv->picture != NULL) av_frame_unref(&priv->picture); + priv->picture = NULL; return TRUE; } if (!got_picture) { - fprintf(stderr,"mpegts_decoder: could not get picture.\n PLEASE SEND A PATCH FOR %s FORMAT.\n",cdata->video_name); + fprintf(stderr, "mpegts_decoder: could not get picture.\n PLEASE SEND A PATCH FOR %s FORMAT.\n", cdata->video_name); detach_stream(cdata); return FALSE; } - pts=priv->avpkt.pts; - dts=priv->avpkt.dts; + pts = priv->avpkt.pts; + dts = priv->avpkt.dts; - priv->start_dts=dts; + priv->start_dts = dts; //fprintf(stderr,"got dts %ld pts %ld\n",dts,pts); - got_picture=0; + got_picture = 0; - while (!got_picture&&!priv->got_eof) { + while (!got_picture && !priv->got_eof) { #if LIBAVCODEC_VERSION_MAJOR >= 52 - len=avcodec_decode_video2(ctx, priv->picture, &got_picture, &priv->avpkt); + len = avcodec_decode_video2(ctx, priv->picture, &got_picture, &priv->avpkt); #else - len=avcodec_decode_video(ctx, priv->picture, &got_picture, priv->avpkt.data, priv->avpkt.size); + len = avcodec_decode_video(ctx, priv->picture, &got_picture, priv->avpkt.data, priv->avpkt.size); #endif - if (len==priv->avpkt.size) { - if (priv->avpkt.data!=NULL) { + if (len == priv->avpkt.size) { + if (priv->avpkt.data != NULL) { free(priv->avpkt.data); - priv->avpkt.data=NULL; - priv->avpkt.size=0; + priv->avpkt.data = NULL; + priv->avpkt.size = 0; } - mpegts_read_packet(cdata,&priv->avpkt); + mpegts_read_packet(cdata, &priv->avpkt); } } if (got_picture) { - pts=priv->avpkt.pts-pts; - dts=priv->avpkt.dts-dts; + pts = priv->avpkt.pts - pts; + dts = priv->avpkt.dts - dts; //fprintf(stderr,"got second picture %ld %ld\n",pts,dts); - } else pts=dts=0; + } else pts = dts = 0; - if (priv->avpkt.data!=NULL) { + if (priv->avpkt.data != NULL) { free(priv->avpkt.data); - priv->avpkt.data=NULL; - priv->avpkt.size=0; + priv->avpkt.data = NULL; + priv->avpkt.size = 0; } - cdata->YUV_clamping=WEED_YUV_CLAMPING_UNCLAMPED; - if (ctx->color_range==AVCOL_RANGE_MPEG) cdata->YUV_clamping=WEED_YUV_CLAMPING_CLAMPED; + cdata->YUV_clamping = WEED_YUV_CLAMPING_UNCLAMPED; + if (ctx->color_range == AVCOL_RANGE_MPEG) cdata->YUV_clamping = WEED_YUV_CLAMPING_CLAMPED; - cdata->YUV_sampling=WEED_YUV_SAMPLING_DEFAULT; - if (ctx->chroma_sample_location!=AVCHROMA_LOC_LEFT) cdata->YUV_sampling=WEED_YUV_SAMPLING_MPEG; + cdata->YUV_sampling = WEED_YUV_SAMPLING_DEFAULT; + if (ctx->chroma_sample_location != AVCHROMA_LOC_LEFT) cdata->YUV_sampling = WEED_YUV_SAMPLING_MPEG; - cdata->YUV_subspace=WEED_YUV_SUBSPACE_YCBCR; - if (ctx->colorspace==AVCOL_SPC_BT709) cdata->YUV_subspace=WEED_YUV_SUBSPACE_BT709; + cdata->YUV_subspace = WEED_YUV_SUBSPACE_YCBCR; + if (ctx->colorspace == AVCOL_SPC_BT709) cdata->YUV_subspace = WEED_YUV_SUBSPACE_BT709; - cdata->palettes[0]=avi_pix_fmt_to_weed_palette(ctx->pix_fmt, - &cdata->YUV_clamping); + cdata->palettes[0] = avi_pix_fmt_to_weed_palette(ctx->pix_fmt, + &cdata->YUV_clamping); - if (cdata->palettes[0]==WEED_PALETTE_END) { - fprintf(stderr, "mpegts_decoder: Could not find a usable palette for (%d) %s\n",ctx->pix_fmt,cdata->URI); + if (cdata->palettes[0] == WEED_PALETTE_END) { + fprintf(stderr, "mpegts_decoder: Could not find a usable palette for (%d) %s\n", ctx->pix_fmt, cdata->URI); detach_stream(cdata); return FALSE; } - cdata->current_palette=cdata->palettes[0]; + cdata->current_palette = cdata->palettes[0]; // re-get fps, width, height, nframes - actually avcodec is pretty useless at getting this // so we fall back on the values we obtained ourselves - if (cdata->width==0) cdata->width=ctx->width-cdata->offs_x*2; - if (cdata->height==0) cdata->height=ctx->height-cdata->offs_y*2; + if (cdata->width == 0) cdata->width = ctx->width - cdata->offs_x * 2; + if (cdata->height == 0) cdata->height = ctx->height - cdata->offs_y * 2; - if (cdata->width*cdata->height==0) { - fprintf(stderr, "mpegts_decoder: invalid width and height (%d X %d)\n",cdata->width,cdata->height); + if (cdata->width * cdata->height == 0) { + fprintf(stderr, "mpegts_decoder: invalid width and height (%d X %d)\n", cdata->width, cdata->height); detach_stream(cdata); return FALSE; } //#define DEBUG #ifdef DEBUG - fprintf(stderr,"using palette %d, size %d x %d\n", - cdata->current_palette,cdata->width,cdata->height); + fprintf(stderr, "using palette %d, size %d x %d\n", + cdata->current_palette, cdata->width, cdata->height); #endif - cdata->par=(double)ctx->sample_aspect_ratio.num/(double)ctx->sample_aspect_ratio.den; - if (cdata->par==0.) cdata->par=1.; + cdata->par = (double)ctx->sample_aspect_ratio.num / (double)ctx->sample_aspect_ratio.den; + if (cdata->par == 0.) cdata->par = 1.; - if (cdata->fps==0.&&ctx->time_base.den>0&&ctx->time_base.num>0) { - fps=(double)ctx->time_base.den/(double)ctx->time_base.num; - if (fps!=1000.) cdata->fps=fps; + if (cdata->fps == 0. && ctx->time_base.den > 0 && ctx->time_base.num > 0) { + fps = (double)ctx->time_base.den / (double)ctx->time_base.num; + if (fps != 1000.) cdata->fps = fps; } - if (cdata->fps==0.) { - if (pts!=0) cdata->fps=180000./(double)pts; - else if (dts!=0) cdata->fps=180000./(double)dts; + if (cdata->fps == 0.) { + if (pts != 0) cdata->fps = 180000. / (double)pts; + else if (dts != 0) cdata->fps = 180000. / (double)dts; } #ifndef IS_MINGW - if (cdata->fps==0.||cdata->fps==1000.) { + if (cdata->fps == 0. || cdata->fps == 1000.) { double res = get_fps(cdata->URI); if (res >= 0.) cdata->fps = res; } #endif - if (cdata->fps==0.||cdata->fps==1000.) { + if (cdata->fps == 0. || cdata->fps == 1000.) { // if mplayer fails, count the frames between index entries //dts=calc_dts_delta(cdata); //if (dts!=0) cdata->fps=1000./(double)dts; } - if (cdata->fps==0.||cdata->fps==1000.) { + if (cdata->fps == 0. || cdata->fps == 1000.) { fprintf(stderr, "mpegts_decoder: invalid framerate %.4f (%d / %d)\n", - cdata->fps,ctx->time_base.den,ctx->time_base.num); + cdata->fps, ctx->time_base.den, ctx->time_base.num); detach_stream(cdata); return FALSE; } - if (ctx->ticks_per_frame==2) { + if (ctx->ticks_per_frame == 2) { // TODO - needs checking - cdata->fps/=2.; - cdata->interlace=LIVES_INTERLACE_BOTTOM_FIRST; + cdata->fps /= 2.; + cdata->interlace = LIVES_INTERLACE_BOTTOM_FIRST; } if (is_partial_clone) { @@ -3324,139 +3324,139 @@ return TRUE; } - ldts=get_last_video_dts(cdata); + ldts = get_last_video_dts(cdata); - if (ldts==-1) { + if (ldts == -1) { fprintf(stderr, "mpegts_decoder: could not read last dts\n"); detach_stream(cdata); return FALSE; } - ldts-=priv->start_dts; + ldts -= priv->start_dts; - cdata->nframes=dts_to_frame(cdata,ldts)+2; + cdata->nframes = dts_to_frame(cdata, ldts) + 2; //fprintf(stderr,"check for %ld frames\n",cdata->nframes); // double check, sometimes we can be out by one or two frames while (1) { - priv->expect_eof=TRUE; - priv->got_eof=FALSE; - if (get_frame(cdata,cdata->nframes-1,NULL,0,NULL)) { + priv->expect_eof = TRUE; + priv->got_eof = FALSE; + if (get_frame(cdata, cdata->nframes - 1, NULL, 0, NULL)) { if (!priv->got_eof) break; } cdata->nframes--; } - priv->expect_eof=FALSE; + priv->expect_eof = FALSE; #ifdef DEBUG - fprintf(stderr,"fps is %.4f %ld %ld %ld\n",cdata->fps,cdata->nframes,ldts,priv->start_dts); + fprintf(stderr, "fps is %.4f %ld %ld %ld\n", cdata->fps, cdata->nframes, ldts, priv->start_dts); #endif - if (priv->picture!=NULL) av_frame_unref(&priv->picture); - priv->picture=NULL; + if (priv->picture != NULL) av_frame_unref(&priv->picture); + priv->picture = NULL; return TRUE; } static lives_clip_data_t *mpegts_clone(lives_clip_data_t *cdata) { - lives_clip_data_t *clone=init_cdata(); - lives_mpegts_priv_t *dpriv,*spriv; + lives_clip_data_t *clone = init_cdata(); + lives_mpegts_priv_t *dpriv, *spriv; // copy from cdata to clone, with a new context for clone - clone->URI=strdup(cdata->URI); + clone->URI = strdup(cdata->URI); // create "priv" elements - dpriv=clone->priv; - spriv=cdata->priv; + dpriv = clone->priv; + spriv = cdata->priv; - if (spriv!=NULL) dpriv->filesize=spriv->filesize; + if (spriv != NULL) dpriv->filesize = spriv->filesize; - clone->current_clip=cdata->current_clip; - clone->width=cdata->width; - clone->height=cdata->height; - clone->nframes=cdata->nframes; - clone->interlace=cdata->interlace; - clone->offs_x=cdata->offs_x; - clone->offs_y=cdata->offs_y; - clone->frame_width=cdata->frame_width; - clone->frame_height=cdata->frame_height; - clone->par=cdata->par; - clone->fps=cdata->fps; - if (cdata->palettes!=NULL) clone->palettes[0]=cdata->palettes[0]; - clone->current_palette=cdata->current_palette; - clone->YUV_sampling=cdata->YUV_sampling; - clone->YUV_clamping=cdata->YUV_clamping; - - snprintf(clone->author,256,"%s",cdata->author); - snprintf(clone->title,256,"%s",cdata->title); - snprintf(clone->comment,256,"%s",cdata->comment); + clone->current_clip = cdata->current_clip; + clone->width = cdata->width; + clone->height = cdata->height; + clone->nframes = cdata->nframes; + clone->interlace = cdata->interlace; + clone->offs_x = cdata->offs_x; + clone->offs_y = cdata->offs_y; + clone->frame_width = cdata->frame_width; + clone->frame_height = cdata->frame_height; + clone->par = cdata->par; + clone->fps = cdata->fps; + if (cdata->palettes != NULL) clone->palettes[0] = cdata->palettes[0]; + clone->current_palette = cdata->current_palette; + clone->YUV_sampling = cdata->YUV_sampling; + clone->YUV_clamping = cdata->YUV_clamping; + + snprintf(clone->author, 256, "%s", cdata->author); + snprintf(clone->title, 256, "%s", cdata->title); + snprintf(clone->comment, 256, "%s", cdata->comment); - if (spriv!=NULL) dpriv->inited=TRUE; + if (spriv != NULL) dpriv->inited = TRUE; - if (!attach_stream(clone,TRUE)) { + if (!attach_stream(clone, TRUE)) { free(clone->URI); - clone->URI=NULL; + clone->URI = NULL; clip_data_free(clone); return NULL; } - if (spriv!=NULL) { - clone->nclips=cdata->nclips; - snprintf(clone->container_name,512,"%s",cdata->container_name); - snprintf(clone->video_name,512,"%s",cdata->video_name); - clone->arate=cdata->arate; - clone->achans=cdata->achans; - clone->asamps=cdata->asamps; - clone->asigned=cdata->asigned; - clone->ainterleaf=cdata->ainterleaf; - snprintf(clone->audio_name,512,"%s",cdata->audio_name); - clone->seek_flag=cdata->seek_flag; - clone->sync_hint=cdata->sync_hint; + if (spriv != NULL) { + clone->nclips = cdata->nclips; + snprintf(clone->container_name, 512, "%s", cdata->container_name); + snprintf(clone->video_name, 512, "%s", cdata->video_name); + clone->arate = cdata->arate; + clone->achans = cdata->achans; + clone->asamps = cdata->asamps; + clone->asigned = cdata->asigned; + clone->ainterleaf = cdata->ainterleaf; + snprintf(clone->audio_name, 512, "%s", cdata->audio_name); + clone->seek_flag = cdata->seek_flag; + clone->sync_hint = cdata->sync_hint; - dpriv->data_start=spriv->data_start; - dpriv->start_dts=spriv->start_dts; + dpriv->data_start = spriv->data_start; + dpriv->start_dts = spriv->start_dts; } else { - clone->nclips=1; + clone->nclips = 1; /////////////////////////////////////////////////////////// - sprintf(clone->container_name,"%s","mpegts"); + sprintf(clone->container_name, "%s", "mpegts"); // clone->height was set when we attached the stream - if (clone->frame_width==0||clone->frame_width<clone->width) clone->frame_width=clone->width; + if (clone->frame_width == 0 || clone->frame_width < clone->width) clone->frame_width = clone->width; else { - clone->offs_x=(clone->frame_width-clone->width)/2; + clone->offs_x = (clone->frame_width - clone->width) / 2; } - if (clone->frame_height==0||clone->frame_height<clone->height) clone->frame_height=clone->height; + if (clone->frame_height == 0 || clone->frame_height < clone->height) clone->frame_height = clone->height; else { - clone->offs_y=(clone->frame_height-clone->height)/2; + clone->offs_y = (clone->frame_height - clone->height) / 2; } - clone->frame_width=clone->width+clone->offs_x*2; - clone->frame_height=clone->height+clone->offs_y*2; + clone->frame_width = clone->width + clone->offs_x * 2; + clone->frame_height = clone->height + clone->offs_y * 2; - if (dpriv->ctx->width==clone->frame_width) clone->offs_x=0; - if (dpriv->ctx->height==clone->frame_height) clone->offs_y=0; + if (dpriv->ctx->width == clone->frame_width) clone->offs_x = 0; + if (dpriv->ctx->height == clone->frame_height) clone->offs_y = 0; //////////////////////////////////////////////////////////////////// - clone->asigned=TRUE; - clone->ainterleaf=TRUE; + clone->asigned = TRUE; + clone->ainterleaf = TRUE; } - dpriv->last_frame=-1; - dpriv->expect_eof=FALSE; - dpriv->got_eof=FALSE; + dpriv->last_frame = -1; + dpriv->expect_eof = FALSE; + dpriv->got_eof = FALSE; - if (dpriv->picture!=NULL) av_frame_unref(&dpriv->picture); - dpriv->picture=NULL; + if (dpriv->picture != NULL) av_frame_unref(&dpriv->picture); + dpriv->picture = NULL; return clone; } @@ -3478,119 +3478,119 @@ lives_mpegts_priv_t *priv; - if (URI==NULL&&cdata!=NULL) { + if (URI == NULL && cdata != NULL) { // create a clone of cdata - we also need to be able to handle a "fake" clone with only URI, nframes and fps set (priv == NULL) return mpegts_clone(cdata); } - if (cdata!=NULL&&cdata->current_clip>0) { + if (cdata != NULL && cdata->current_clip > 0) { // currently we only support one clip per container //clip_data_free(cdata); return NULL; } - if (cdata==NULL) { - cdata=init_cdata(); + if (cdata == NULL) { + cdata = init_cdata(); } - if (cdata->URI==NULL||strcmp(URI,cdata->URI)) { - if (cdata->URI!=NULL) { + if (cdata->URI == NULL || strcmp(URI, cdata->URI)) { + if (cdata->URI != NULL) { detach_stream(cdata); free(cdata->URI); } - cdata->URI=strdup(URI); - if (!attach_stream(cdata,FALSE)) { + cdata->URI = strdup(URI); + if (!attach_stream(cdata, FALSE)) { free(cdata->URI); - cdata->URI=NULL; + cdata->URI = NULL; //clip_data_free(cdata); return NULL; } - cdata->current_palette=cdata->palettes[0]; - cdata->current_clip=0; + cdata->current_palette = cdata->palettes[0]; + cdata->current_clip = 0; } - cdata->nclips=1; + cdata->nclips = 1; /////////////////////////////////////////////////////////// - sprintf(cdata->container_name,"%s","mpegts"); + sprintf(cdata->container_name, "%s", "mpegts"); // cdata->height was set when we attached the stream - if (cdata->frame_width==0||cdata->frame_width<cdata->width) cdata->frame_width=cdata->width; + if (cdata->frame_width == 0 || cdata->frame_width < cdata->width) cdata->frame_width = cdata->width; else { - cdata->offs_x=(cdata->frame_width-cdata->width)/2; + cdata->offs_x = (cdata->frame_width - cdata->width) / 2; } - if (cdata->frame_height==0||cdata->frame_height<cdata->height) cdata->frame_height=cdata->height; + if (cdata->frame_height == 0 || cdata->frame_height < cdata->height) cdata->frame_height = cdata->height; else { - cdata->offs_y=(cdata->frame_height-cdata->height)/2; + cdata->offs_y = (cdata->frame_height - cdata->height) / 2; } - cdata->frame_width=cdata->width+cdata->offs_x*2; - cdata->frame_height=cdata->height+cdata->offs_y*2; + cdata->frame_width = cdata->width + cdata->offs_x * 2; + cdata->frame_height = cdata->height + cdata->offs_y * 2; - priv=cdata->priv; + priv = cdata->priv; - if (priv->ctx->width==cdata->frame_width) cdata->offs_x=0; - if (priv->ctx->height==cdata->frame_height) cdata->offs_y=0; + if (priv->ctx->width == cdata->frame_width) cdata->offs_x = 0; + if (priv->ctx->height == cdata->frame_height) cdata->offs_y = 0; //////////////////////////////////////////////////////////////////// - cdata->asigned=TRUE; - cdata->ainterleaf=TRUE; + cdata->asigned = TRUE; + cdata->ainterleaf = TRUE; return cdata; } static size_t write_black_pixel(unsigned char *idst, int pal, int npixels, int y_black) { - unsigned char *dst=idst; + unsigned char *dst = idst; register int i; - for (i=0; i<npixels; i++) { + for (i = 0; i < npixels; i++) { switch (pal) { case WEED_PALETTE_RGBA32: case WEED_PALETTE_BGRA32: - dst[0]=dst[1]=dst[2]=0; - dst[3]=255; - dst+=4; + dst[0] = dst[1] = dst[2] = 0; + dst[3] = 255; + dst += 4; break; case WEED_PALETTE_ARGB32: - dst[1]=dst[2]=dst[3]=0; - dst[0]=255; - dst+=4; + dst[1] = dst[2] = dst[3] = 0; + dst[0] = 255; + dst += 4; break; case WEED_PALETTE_UYVY8888: - dst[1]=dst[3]=y_black; - dst[0]=dst[2]=128; - dst+=4; + dst[1] = dst[3] = y_black; + dst[0] = dst[2] = 128; + dst += 4; break; case WEED_PALETTE_YUYV8888: - dst[0]=dst[2]=y_black; - dst[1]=dst[3]=128; - dst+=4; + dst[0] = dst[2] = y_black; + dst[1] = dst[3] = 128; + dst += 4; break; case WEED_PALETTE_YUV888: - dst[0]=y_black; - dst[1]=dst[2]=128; - dst+=3; + dst[0] = y_black; + dst[1] = dst[2] = 128; + dst += 3; break; case WEED_PALETTE_YUVA8888: - dst[0]=y_black; - dst[1]=dst[2]=128; - dst[3]=255; - dst+=4; + dst[0] = y_black; + dst[1] = dst[2] = 128; + dst[3] = 255; + dst += 4; break; case WEED_PALETTE_YUV411: - dst[0]=dst[3]=128; - dst[1]=dst[2]=dst[4]=dst[5]=y_black; - dst+=6; + dst[0] = dst[3] = 128; + dst[1] = dst[2] = dst[4] = dst[5] = y_black; + dst += 6; default: break; } } - return idst-dst; + return idst - dst; } @@ -3599,181 +3599,181 @@ boolean get_frame(const lives_clip_data_t *cdata, int64_t tframe, int *rowstrides, int height, void **pixel_data) { // seek to frame, int len; - int64_t target_pts=frame_to_dts(cdata,tframe); - int64_t nextframe=0; - lives_mpegts_priv_t *priv=cdata->priv; - - int xheight=cdata->frame_height,pal=cdata->current_palette,nplanes=1,dstwidth=cdata->width,psize=1; - int btop=cdata->offs_y,bbot=xheight-1-btop; - int bleft=cdata->offs_x,bright=cdata->frame_width-cdata->width-bleft; - int rescan_limit=16; // pick some arbitrary value - int y_black=(cdata->YUV_clamping==WEED_YUV_CLAMPING_CLAMPED)?16:0; - - boolean got_picture=FALSE; - unsigned char *dst,*src;//,flags; - unsigned char black[4]= {0,0,0,255}; + int64_t target_pts = frame_to_dts(cdata, tframe); + int64_t nextframe = 0; + lives_mpegts_priv_t *priv = cdata->priv; + + int xheight = cdata->frame_height, pal = cdata->current_palette, nplanes = 1, dstwidth = cdata->width, psize = 1; + int btop = cdata->offs_y, bbot = xheight - 1 - btop; + int bleft = cdata->offs_x, bright = cdata->frame_width - cdata->width - bleft; + int rescan_limit = 16; // pick some arbitrary value + int y_black = (cdata->YUV_clamping == WEED_YUV_CLAMPING_CLAMPED) ? 16 : 0; + + boolean got_picture = FALSE; + unsigned char *dst, *src; //,flags; + unsigned char black[4] = {0, 0, 0, 255}; index_entry *idx; - register int i,p; + register int i, p; //#define DEBUG_KFRAMES #ifdef DEBUG_KFRAMES - fprintf(stderr,"vals %ld %ld\n",tframe,priv->last_frame); + fprintf(stderr, "vals %ld %ld\n", tframe, priv->last_frame); #endif - priv->got_eof=FALSE; + priv->got_eof = FALSE; // calc frame width and height, including any border - if (pixel_data!=NULL) { - if (pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_YUV422P||pal==WEED_PALETTE_YUV444P) { - nplanes=3; - black[0]=y_black; - black[1]=black[2]=128; - } else if (pal==WEED_PALETTE_YUVA4444P) { - nplanes=4; - black[0]=y_black; - black[1]=black[2]=128; - black[3]=255; + if (pixel_data != NULL) { + if (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_YUV422P || pal == WEED_PALETTE_YUV444P) { + nplanes = 3; + black[0] = y_black; + black[1] = black[2] = 128; + } else if (pal == WEED_PALETTE_YUVA4444P) { + nplanes = 4; + black[0] = y_black; + black[1] = black[2] = 128; + black[3] = 255; } - if (pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24) psize=3; + if (pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24) psize = 3; - if (pal==WEED_PALETTE_RGBA32||pal==WEED_PALETTE_BGRA32||pal==WEED_PALETTE_ARGB32|| - pal==WEED_PALETTE_UYVY8888||pal==WEED_PALETTE_YUYV8888||pal==WEED_PALETTE_YUV888|| - pal==WEED_PALETTE_YUVA8888) psize=4; + if (pal == WEED_PALETTE_RGBA32 || pal == WEED_PALETTE_BGRA32 || pal == WEED_PALETTE_ARGB32 || + pal == WEED_PALETTE_UYVY8888 || pal == WEED_PALETTE_YUYV8888 || pal == WEED_PALETTE_YUV888 || + pal == WEED_PALETTE_YUVA8888) psize = 4; - if (pal==WEED_PALETTE_YUV411) psize=6; + if (pal == WEED_PALETTE_YUV411) psize = 6; - if (pal==WEED_PALETTE_A1) dstwidth>>=3; + if (pal == WEED_PALETTE_A1) dstwidth >>= 3; - dstwidth*=psize; + dstwidth *= psize; if (cdata->frame_height > cdata->height && height == cdata->height) { // host ignores vertical border - btop=0; - xheight=cdata->height; - bbot=xheight-1; + btop = 0; + xheight = cdata->height; + bbot = xheight - 1; } - if (cdata->frame_width > cdata->width && rowstrides[0] < cdata->frame_width*psize) { + if (cdata->frame_width > cdata->width && rowstrides[0] < cdata->frame_width * psize) { // host ignores horizontal border - bleft=bright=0; + bleft = bright = 0; } } //////////////////////////////////////////////////////////////////// - if (tframe!=priv->last_frame) { + if (tframe != priv->last_frame) { - if (priv->last_frame==-1 || (tframe<priv->last_frame) || (tframe - priv->last_frame > rescan_limit)) { - idx=mpegts_read_seek(cdata,target_pts); + if (priv->last_frame == -1 || (tframe < priv->last_frame) || (tframe - priv->last_frame > rescan_limit)) { + idx = mpegts_read_seek(cdata, target_pts); - nextframe=dts_to_frame(cdata,idx->dts); + nextframe = dts_to_frame(cdata, idx->dts); - if (priv->input_position==priv->filesize) return FALSE; - mpegts_read_packet((lives_clip_data_t *)cdata,&priv->avpkt); + if (priv->input_position == priv->filesize) return FALSE; + mpegts_read_packet((lives_clip_data_t *)cdata, &priv->avpkt); if (priv->got_eof) return FALSE; //#define DEBUG_KFRAMES #ifdef DEBUG_KFRAMES - if (idx!=NULL) printf("got kframe %ld for frame %ld\n",nextframe,tframe); + if (idx != NULL) printf("got kframe %ld for frame %ld\n", nextframe, tframe); #endif } else { - nextframe=priv->last_frame+1; + nextframe = priv->last_frame + 1; } //priv->ctx->skip_frame=AVDISCARD_NONREF; - priv->last_frame=tframe; - if (priv->picture==NULL) priv->picture = av_frame_alloc(); + priv->last_frame = tframe; + if (priv->picture == NULL) priv->picture = av_frame_alloc(); // do this until we reach target frame ////////////// do { - got_picture=FALSE; + got_picture = FALSE; while (!got_picture) { #if LIBAVCODEC_VERSION_MAJOR >= 52 - len=avcodec_decode_video2(priv->ctx, priv->picture, &got_picture, &priv->avpkt); + len = avcodec_decode_video2(priv->ctx, priv->picture, &got_picture, &priv->avpkt); #else - len=avcodec_decode_video(priv->ctx, priv->picture, &got_picture, priv->avpkt.data, priv->avpkt.size); + len = avcodec_decode_video(priv->ctx, priv->picture, &got_picture, priv->avpkt.data, priv->avpkt.size); #endif - if (len==priv->avpkt.size) { - if (priv->avpkt.data!=NULL) { + if (len == priv->avpkt.size) { + if (priv->avpkt.data != NULL) { free(priv->avpkt.data); - priv->avpkt.data=NULL; - priv->avpkt.size=0; + priv->avpkt.data = NULL; + priv->avpkt.size = 0; } - if (priv->input_position==priv->filesize) return FALSE; - mpegts_read_packet((lives_clip_data_t *)cdata,&priv->avpkt); + if (priv->input_position == priv->filesize) return FALSE; + mpegts_read_packet((lives_clip_data_t *)cdata, &priv->avpkt); if (priv->got_eof) return FALSE; } } nextframe++; - if (nextframe>cdata->nframes) return FALSE; - } while (nextframe<=tframe); + if (nextframe > cdata->nframes) return FALSE; + } while (nextframe <= tframe); ///////////////////////////////////////////////////// } - if (pixel_data==NULL||priv->picture==NULL) return TRUE; + if (pixel_data == NULL || priv->picture == NULL) return TRUE; - for (p=0; p<nplanes; p++) { - dst=pixel_data[p]; - src=priv->picture->data[p]; + for (p = 0; p < nplanes; p++) { + dst = pixel_data[p]; + src = priv->picture->data[p]; - for (i=0; i<xheight; i++) { - if (i<btop||i>bbot) { + for (i = 0; i < xheight; i++) { + if (i < btop || i > bbot) { // top or bottom border, copy black row - if (pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_YUV422P - ||pal==WEED_PALETTE_YUV444P||pal==WEED_PALETTE_YUVA4444P||pal==WEED_PALETTE_RGB24 - ||pal==WEED_PALETTE_BGR24) { - memset(dst,black[p],dstwidth+(bleft+bright)*psize); - dst+=dstwidth+(bleft+bright)*psize; - } else dst+=write_black_pixel(dst,pal,dstwidth/psize+bleft+bright,y_black); + if (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_YUV422P + || pal == WEED_PALETTE_YUV444P || pal == WEED_PALETTE_YUVA4444P || pal == WEED_PALETTE_RGB24 + || pal == WEED_PALETTE_BGR24) { + memset(dst, black[p], dstwidth + (bleft + bright)*psize); + dst += dstwidth + (bleft + bright) * psize; + } else dst += write_black_pixel(dst, pal, dstwidth / psize + bleft + bright, y_black); continue; } - if (bleft>0) { - if (pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_YUV422P|| - pal==WEED_PALETTE_YUV444P||pal==WEED_PALETTE_YUVA4444P||pal==WEED_PALETTE_RGB24 - ||pal==WEED_PALETTE_BGR24) { - memset(dst,black[p],bleft*psize); - dst+=bleft*psize; - } else dst+=write_black_pixel(dst,pal,bleft,y_black); - } - - memcpy(dst,src,dstwidth); - dst+=dstwidth; - - if (bright>0) { - if (pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_YUV422P - ||pal==WEED_PALETTE_YUV444P||pal==WEED_PALETTE_YUVA4444P|| - pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24) { - memset(dst,black[p],bright*psize); - dst+=bright*psize; - } else dst+=write_black_pixel(dst,pal,bright,y_black); - } - - src+=priv->picture->linesize[p]; - } - if (p==0&&(pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_YUV422P)) { - dstwidth>>=1; - bleft>>=1; - bright>>=1; - } - if (p==0&&(pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P)) { - xheight>>=1; - btop>>=1; - bbot>>=1; + if (bleft > 0) { + if (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_YUV422P || + pal == WEED_PALETTE_YUV444P || pal == WEED_PALETTE_YUVA4444P || pal == WEED_PALETTE_RGB24 + || pal == WEED_PALETTE_BGR24) { + memset(dst, black[p], bleft * psize); + dst += bleft * psize; + } else dst += write_black_pixel(dst, pal, bleft, y_black); + } + + memcpy(dst, src, dstwidth); + dst += dstwidth; + + if (bright > 0) { + if (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_YUV422P + || pal == WEED_PALETTE_YUV444P || pal == WEED_PALETTE_YUVA4444P || + pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24) { + memset(dst, black[p], bright * psize); + dst += bright * psize; + } else dst += write_black_pixel(dst, pal, bright, y_black); + } + + src += priv->picture->linesize[p]; + } + if (p == 0 && (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_YUV422P)) { + dstwidth >>= 1; + bleft >>= 1; + bright >>= 1; + } + if (p == 0 && (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P)) { + xheight >>= 1; + btop >>= 1; + bbot >>= 1; } } @@ -3786,8 +3786,8 @@ static void reverse_bytes(uint8_t *out, const uint8_t *in, size_t count) { register int i; - for (i=0; i<count; i++) { - out[i]=in[count-i-1]; + for (i = 0; i < count; i++) { + out[i] = in[count - i - 1]; } } @@ -3799,13 +3799,13 @@ #if !defined (IS_MINGW) && !defined (IS_SOLARIS) && !defined (__FreeBSD__) # if __BYTE_ORDER == __BIG_ENDIAN uint8_t xbuf[count]; - reverse_bytes(xbuf,(const uint8_t *)buf,count); - return write(fd,xbuf,count); + reverse_bytes(xbuf, (const uint8_t *)buf, count); + return write(fd, xbuf, count); # else - return write(fd,buf,count); + return write(fd, buf, count); # endif #else - return write(fd,buf,count); + return write(fd, buf, count); #endif } @@ -3815,15 +3815,15 @@ #if !defined (IS_MINGW) && !defined (IS_SOLARIS) && !defined (__FreeBSD__) # if __BYTE_ORDER == __BIG_ENDIAN uint8_t xbuf[count]; - ssize_t retval=read(fd,buf,count); - if (retval<count) return retval; - reverse_bytes((uint8_t *)buf,(const uint8_t *)xbuf,count); + ssize_t retval = read(fd, buf, count); + if (retval < count) return retval; + reverse_bytes((uint8_t *)buf, (const uint8_t *)xbuf, count); return retval; #else - return read(fd,buf,count); + return read(fd, buf, count); #endif #else - return read(fd,buf,count); + return read(fd, buf, count); #endif } @@ -3833,31 +3833,31 @@ static void mpegts_save_index(lives_clip_data_t *cdata) { - lives_mpegts_priv_t *priv=cdata->priv; - index_entry *idx=priv->idxc->idxhh; + lives_mpegts_priv_t *priv = cdata->priv; + index_entry *idx = priv->idxc->idxhh; int fd; - int64_t max_dts=frame_to_dts(cdata,cdata->nframes); + int64_t max_dts = frame_to_dts(cdata, cdata->nframes); - const char ver[4]="V1.0"; + const char ver[4] = "V1.0"; - if (idx==NULL) return; + if (idx == NULL) return; - if ((fd=open("sync_index",O_CREAT|O_TRUNC|O_WRONLY,S_IRUSR|S_IWUSR))==-1) return; + if ((fd = open("sync_index", O_CREAT | O_TRUNC | O_WRONLY, S_IRUSR | S_IWUSR)) == -1) return; - if (write(fd,ver,4)<4) goto donewr; + if (write(fd, ver, 4) < 4) goto donewr; - if (lives_write_le(fd,&max_dts,8)<8) goto failwr; + if (lives_write_le(fd, &max_dts, 8) < 8) goto failwr; // dump index to file in le format - while (idx!=NULL) { - if (lives_write_le(fd,&idx->dts,8)<8) goto failwr; - if (lives_write_le(fd,&idx->offs,8)<8) goto failwr; - idx=idx->next; + while (idx != NULL) { + if (lives_write_le(fd, &idx->dts, 8) < 8) goto failwr; + if (lives_write_le(fd, &idx->offs, 8) < 8) goto failwr; + idx = idx->next; } donewr: @@ -3878,44 +3878,44 @@ // returns max_dts char hdr[4]; - lives_mpegts_priv_t *priv=cdata->priv; + lives_mpegts_priv_t *priv = cdata->priv; - int64_t dts,last_dts=0,max_dts=0; - uint64_t offs,last_offs=0; + int64_t dts, last_dts = 0, max_dts = 0; + uint64_t offs, last_offs = 0; int fd; - int count=0; + int count = 0; ssize_t bytes; - if ((fd=open("sync_index",O_RDONLY))<0) return 0; + if ((fd = open("sync_index", O_RDONLY)) < 0) return 0; - if (read(fd,hdr,4)<4) goto donerd; + if (read(fd, hdr, 4) < 4) goto donerd; - if (strncmp(hdr,"V1.0",4)) goto donerd; + if (strncmp(hdr, "V1.0", 4)) goto donerd; - bytes=lives_read_le(fd,&max_dts,8); - if (bytes<8) goto failrd; + bytes = lives_read_le(fd, &max_dts, 8); + if (bytes < 8) goto failrd; - if (max_dts<last_dts) goto failrd; + if (max_dts < last_dts) goto failrd; while (1) { - bytes=lives_read_le(fd,&dts,8); - if (bytes<8) break; + bytes = lives_read_le(fd, &dts, 8); + if (bytes < 8) break; - if (dts<last_dts) goto failrd; - if (dts>max_dts) goto failrd; + if (dts < last_dts) goto failrd; + if (dts > max_dts) goto failrd; - bytes=lives_read_le(fd,&offs,8); - if (bytes<8) break; + bytes = lives_read_le(fd, &offs, 8); + if (bytes < 8) break; - if (offs<last_offs) goto failrd; - if (offs>=priv->filesize) goto failrd; + if (offs < last_offs) goto failrd; + if (offs >= priv->filesize) goto failrd; - lives_add_idx(cdata,offs,dts); + lives_add_idx(cdata, offs, dts); - last_dts=dts; - last_offs=offs; + last_dts = dts; + last_offs = offs; count++; } @@ -3925,7 +3925,7 @@ return max_dts; failrd: - if (priv->idxc->idxhh!=NULL) idxc_release(cdata); + if (priv->idxc->idxhh != NULL) idxc_release(cdata); close(fd); return 0; @@ -3934,15 +3934,15 @@ void clip_data_free(lives_clip_data_t *cdata) { - lives_mpegts_priv_t *priv=cdata->priv; + lives_mpegts_priv_t *priv = cdata->priv; - if (cdata->palettes!=NULL) free(cdata->palettes); - cdata->palettes=NULL; + if (cdata->palettes != NULL) free(cdata->palettes); + cdata->palettes = NULL; - if (priv->idxc!=NULL) idxc_release(cdata); - priv->idxc=NULL; + if (priv->idxc != NULL) idxc_release(cdata); + priv->idxc = NULL; - if (cdata->URI!=NULL) { + if (cdata->URI != NULL) { detach_stream(cdata); free(cdata->URI); }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/decoders/mpegts_decoder.h -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/decoders/mpegts_decoder.h
Changed
@@ -215,7 +215,7 @@ } while (0) # define UPDATE_CACHE(name, gb) do { \ - if(name##_bit_count > 0){ \ + if (name##_bit_count > 0){ \ const uint32_t next = av_be2ne32(*name##_buffer_ptr); \ name##_cache0 |= NEG_USR32(next, name##_bit_count); \ name##_cache1 |= next << name##_bit_count; \ @@ -233,7 +233,7 @@ #else # define SKIP_CACHE(name, gb, num) do { \ name##_cache0 <<= (num); \ - name##_cache0 |= NEG_USR32(name##_cache1,num); \ + name##_cache0 |= NEG_USR32(name##_cache1, num); \ name##_cache1 <<= (num); \ } while (0) #endif @@ -262,11 +262,11 @@ #ifndef NEG_SSR32 -# define NEG_SSR32(a,s) ((( int32_t)(a))>>(32-(s))) +# define NEG_SSR32(a, s) ((( int32_t)(a)) >> (32 - (s))) #endif #ifndef NEG_USR32 -# define NEG_USR32(a,s) (((uint32_t)(a))>>(32-(s))) +# define NEG_USR32(a, s) (((uint32_t)(a)) >> (32 - (s))) #endif
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/decoders/ogg_decoder.c -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/decoders/ogg_decoder.c
Changed
@@ -65,7 +65,7 @@ static boolean ogg_data_process(lives_clip_data_t *cdata, void *yuvbuffer, boolean cont); -static const char *plugin_version="LiVES ogg decoder version 1.2"; +static const char *plugin_version = "LiVES ogg decoder version 1.2"; static index_container_t **indices; static int nidxc; @@ -78,7 +78,7 @@ #ifdef HAVE_DIRAC static void SchroFrameFree(SchroFrame *sframe, void *priv) { register int i; - for (i=0; i<3; i++) free(sframe->components[i].data); + for (i = 0; i < 3; i++) free(sframe->components[i].data); } @@ -99,19 +99,19 @@ static void index_entries_free(index_entry *idx) { index_entry *idx_next; - while (idx!=NULL) { - idx_next=idx->next; + while (idx != NULL) { + idx_next = idx->next; free(idx); - idx=idx_next; + idx = idx_next; } } static index_entry *index_entry_new(void) { - index_entry *ie=(index_entry *)malloc(sizeof(index_entry)); - ie->next=ie->prev=NULL; - ie->pagepos_end=-1; + index_entry *ie = (index_entry *)malloc(sizeof(index_entry)); + ie->next = ie->prev = NULL; + ie->pagepos_end = -1; return ie; } @@ -121,12 +121,12 @@ static index_entry *index_entry_delete(index_entry *idx) { // unlink and free idx. If idx is head of list, return new head. - index_entry *xidx=idx; + index_entry *xidx = idx; - if (idx->prev!=NULL) idx->prev->next=idx->next; - else xidx=idx->next; + if (idx->prev != NULL) idx->prev->next = idx->next; + else xidx = idx->next; - if (idx->next!=NULL) idx->next->prev=idx->prev; + if (idx->next != NULL) idx->next->prev = idx->prev; free(idx); return xidx; @@ -134,9 +134,9 @@ static index_entry *find_pagepos_in_index(index_entry *idx, int64_t pagepos) { - while (idx!=NULL) { - if (idx->pagepos<=pagepos&&idx->pagepos_end>=pagepos) return idx; - idx=idx->next; + while (idx != NULL) { + if (idx->pagepos <= pagepos && idx->pagepos_end >= pagepos) return idx; + idx = idx->next; } return NULL; } @@ -146,67 +146,67 @@ static index_entry *theora_index_entry_add(lives_clip_data_t *cdata, int64_t granule, int64_t pagepos) { // add or update entry for keyframe and return it - index_entry *idx,*oidx,*last_idx=NULL; - int64_t gpos,frame,kframe,tframe,tkframe; + index_entry *idx, *oidx, *last_idx = NULL; + int64_t gpos, frame, kframe, tframe, tkframe; - lives_ogg_priv_t *priv=(lives_ogg_priv_t *)cdata->priv; + lives_ogg_priv_t *priv = (lives_ogg_priv_t *)cdata->priv; - if (priv->vstream==NULL) return NULL; + if (priv->vstream == NULL) return NULL; tkframe = granule >> priv->vstream->stpriv->keyframe_granule_shift; - tframe = tkframe + granule-(tkframe<<priv->vstream->stpriv->keyframe_granule_shift); + tframe = tkframe + granule - (tkframe << priv->vstream->stpriv->keyframe_granule_shift); - if (tkframe<1) return NULL; + if (tkframe < 1) return NULL; - oidx=idx=priv->idxc->idx; + oidx = idx = priv->idxc->idx; - if (idx==NULL) { - index_entry *ie=index_entry_new(); - ie->value=granule; - ie->pagepos=pagepos; - priv->idxc->idx=ie; + if (idx == NULL) { + index_entry *ie = index_entry_new(); + ie->value = granule; + ie->pagepos = pagepos; + priv->idxc->idx = ie; return ie; } - while (idx!=NULL) { - gpos=idx->value; + while (idx != NULL) { + gpos = idx->value; kframe = gpos >> priv->vstream->stpriv->keyframe_granule_shift; - if (kframe>tframe) break; + if (kframe > tframe) break; - if (kframe==tkframe) { + if (kframe == tkframe) { // entry exists, update it if applicable, and return it in found - frame = kframe + gpos-(kframe<<priv->vstream->stpriv->keyframe_granule_shift); - if (frame<tframe) { - idx->value=granule; - idx->pagepos=pagepos; + frame = kframe + gpos - (kframe << priv->vstream->stpriv->keyframe_granule_shift); + if (frame < tframe) { + idx->value = granule; + idx->pagepos = pagepos; } return idx; } - last_idx=idx; - idx=idx->next; + last_idx = idx; + idx = idx->next; } // insert after last_idx - idx=index_entry_new(); + idx = index_entry_new(); - if (last_idx!=NULL) { - idx->next=last_idx->next; - last_idx->next=idx; - idx->prev=last_idx; + if (last_idx != NULL) { + idx->next = last_idx->next; + last_idx->next = idx; + idx->prev = last_idx; } else { - idx->next=oidx; - oidx=idx; + idx->next = oidx; + oidx = idx; } - if (idx->next!=NULL) { - idx->next->prev=idx; + if (idx->next != NULL) { + idx->next->prev = idx; } - idx->value=granule; - idx->pagepos=pagepos; + idx->value = granule; + idx->pagepos = pagepos; return idx; } @@ -214,16 +214,16 @@ #ifdef HAVE_DIRAC static index_entry *dirac_index_entry_add_before(index_entry *idx, int64_t pagepos) { - index_entry *new_idx=index_entry_new(); + index_entry *new_idx = index_entry_new(); - new_idx->value=-1; - new_idx->pagepos=pagepos; + new_idx->value = -1; + new_idx->pagepos = pagepos; - if (idx!=NULL) { - new_idx->next=idx; - new_idx->prev=idx->prev; - if (idx->prev!=NULL) idx->prev->next=new_idx; - idx->prev=new_idx; + if (idx != NULL) { + new_idx->next = idx; + new_idx->prev = idx->prev; + if (idx->prev != NULL) idx->prev->next = new_idx; + idx->prev = new_idx; } return new_idx; } @@ -234,35 +234,35 @@ int64_t frame) { // add a new entry in order, and return a pointer to it - lives_ogg_priv_t *priv=(lives_ogg_priv_t *)cdata->priv; - index_entry *new_idx=priv->idxc->idx,*last_idx=NULL; + lives_ogg_priv_t *priv = (lives_ogg_priv_t *)cdata->priv; + index_entry *new_idx = priv->idxc->idx, *last_idx = NULL; //printf("ADDING IDX for frame %ld region %ld to %ld\n",frame,pagepos,pagepos_end); //if (pagepos_end<pagepos) return NULL; // TODO *** - while (new_idx!=NULL) { - if (new_idx->pagepos>pagepos) { - new_idx=dirac_index_entry_add_before(new_idx,pagepos); - new_idx->value=frame; - new_idx->pagepos_end=pagepos_end; + while (new_idx != NULL) { + if (new_idx->pagepos > pagepos) { + new_idx = dirac_index_entry_add_before(new_idx, pagepos); + new_idx->value = frame; + new_idx->pagepos_end = pagepos_end; return new_idx; } - last_idx=new_idx; - new_idx=new_idx->next; + last_idx = new_idx; + new_idx = new_idx->next; } // add as last enry - new_idx=index_entry_new(); - new_idx->value=frame; - new_idx->pagepos=pagepos; - new_idx->pagepos_end=pagepos_end; + new_idx = index_entry_new(); + new_idx->value = frame; + new_idx->pagepos = pagepos; + new_idx->pagepos_end = pagepos_end; - if (last_idx!=NULL) { - new_idx->prev=last_idx; - last_idx->next=new_idx; + if (last_idx != NULL) { + new_idx->prev = last_idx; + last_idx->next = new_idx; } @@ -276,41 +276,41 @@ static index_entry *get_bounds_for(lives_clip_data_t *cdata, int64_t tframe, int64_t *ppos_lower, int64_t *ppos_upper) { // find upper and lower pagepos for frame; if we find an exact match, we return it - int64_t kframe,frame,gpos; + int64_t kframe, frame, gpos; - lives_ogg_priv_t *priv=(lives_ogg_priv_t *)cdata->priv; - index_entry *idx=priv->idxc->idx; + lives_ogg_priv_t *priv = (lives_ogg_priv_t *)cdata->priv; + index_entry *idx = priv->idxc->idx; - *ppos_lower=*ppos_upper=-1; + *ppos_lower = *ppos_upper = -1; - while (idx!=NULL) { + while (idx != NULL) { - if (idx->pagepos<0) { + if (idx->pagepos < 0) { // kframe was found to be invalid - idx=idx->next; + idx = idx->next; continue; } - if (priv->vstream->stpriv->fourcc_priv==FOURCC_THEORA) { - gpos=idx->value; + if (priv->vstream->stpriv->fourcc_priv == FOURCC_THEORA) { + gpos = idx->value; kframe = gpos >> priv->vstream->stpriv->keyframe_granule_shift; - frame = kframe + gpos-(kframe<<priv->vstream->stpriv->keyframe_granule_shift); + frame = kframe + gpos - (kframe << priv->vstream->stpriv->keyframe_granule_shift); } else { - kframe=frame=idx->value; + kframe = frame = idx->value; } //fprintf(stderr,"check %lld against %lld\n",tframe,kframe); - if (kframe>tframe) { - *ppos_upper=idx->pagepos; + if (kframe > tframe) { + *ppos_upper = idx->pagepos; return NULL; } //fprintf(stderr,"2check against %lld\n",frame); - if (frame<tframe) { - *ppos_lower=idx->pagepos; - idx=idx->next; + if (frame < tframe) { + *ppos_lower = idx->pagepos; + idx = idx->next; continue; } //fprintf(stderr,"gotit 1\n"); @@ -337,17 +337,17 @@ static int64_t get_page(lives_clip_data_t *cdata, int64_t inpos) { - uint8_t header[PAGE_HEADER_BYTES+255]; + uint8_t header[PAGE_HEADER_BYTES + 255]; int nsegs, i; int64_t result, gpos; int page_size; char *buf; - lives_ogg_priv_t *priv=(lives_ogg_priv_t *)cdata->priv; - ogg_t *opriv=priv->opriv; + lives_ogg_priv_t *priv = (lives_ogg_priv_t *)cdata->priv; + ogg_t *opriv = priv->opriv; if (opriv->page_valid) { - fprintf(stderr,"page valid !\n"); + fprintf(stderr, "page valid !\n"); return 0; } @@ -358,26 +358,26 @@ return 0; } - nsegs = header[PAGE_HEADER_BYTES-1]; + nsegs = header[PAGE_HEADER_BYTES - 1]; - if (read(opriv->fd, header+PAGE_HEADER_BYTES, nsegs) < nsegs) { + if (read(opriv->fd, header + PAGE_HEADER_BYTES, nsegs) < nsegs) { lseek64(opriv->fd, inpos, SEEK_SET); return 0; } page_size = PAGE_HEADER_BYTES + nsegs; - for (i=0; i<nsegs; i++) page_size += header[PAGE_HEADER_BYTES+i]; + for (i = 0; i < nsegs; i++) page_size += header[PAGE_HEADER_BYTES + i]; ogg_sync_reset(&opriv->oy); buf = ogg_sync_buffer(&(opriv->oy), page_size); - memcpy(buf,header,PAGE_HEADER_BYTES+nsegs); + memcpy(buf, header, PAGE_HEADER_BYTES + nsegs); - result = read(opriv->fd, (uint8_t *)buf+PAGE_HEADER_BYTES+nsegs, page_size-PAGE_HEADER_BYTES-nsegs); + result = read(opriv->fd, (uint8_t *)buf + PAGE_HEADER_BYTES + nsegs, page_size - PAGE_HEADER_BYTES - nsegs); - ogg_sync_wrote(&(opriv->oy), result+PAGE_HEADER_BYTES+nsegs); + ogg_sync_wrote(&(opriv->oy), result + PAGE_HEADER_BYTES + nsegs); if (ogg_sync_pageout(&(opriv->oy), &(opriv->current_page)) != 1) { //fprintf(stderr, "Got no packet %lld %d %s\n",result,page_size,buf); @@ -386,10 +386,10 @@ //fprintf(stderr, "Got packet %lld %d %s\n",result,page_size,buf); - if (priv->vstream!=NULL) { - if (priv->vstream->stpriv->fourcc_priv==FOURCC_THEORA) { - if (ogg_page_serialno(&(opriv->current_page))==priv->vstream->stream_id) { - gpos=ogg_page_granulepos(&(opriv->current_page)); + if (priv->vstream != NULL) { + if (priv->vstream->stpriv->fourcc_priv == FOURCC_THEORA) { + if (ogg_page_serialno(&(opriv->current_page)) == priv->vstream->stream_id) { + gpos = ogg_page_granulepos(&(opriv->current_page)); pthread_mutex_lock(&priv->idxc->mutex); theora_index_entry_add(cdata, gpos, inpos); pthread_mutex_unlock(&priv->idxc->mutex); @@ -398,7 +398,7 @@ } opriv->page_valid = 1; - return result+PAGE_HEADER_BYTES+nsegs; + return result + PAGE_HEADER_BYTES + nsegs; } @@ -409,12 +409,12 @@ //fprintf(stderr,"detecting stream\n"); if ((op->bytes > 7) && (op->packet[0] == 0x01) && - !strncmp((char *)(op->packet+1), "vorbis", 6)) { + !strncmp((char *)(op->packet + 1), "vorbis", 6)) { //fprintf(stderr,"vorbis found\n"); return FOURCC_VORBIS; } else if ((op->bytes > 7) && (op->packet[0] == 0x80) && - !strncmp((char *)(op->packet+1), "theora", 6)) { + !strncmp((char *)(op->packet + 1), "theora", 6)) { //fprintf(stderr,"theora found\n"); return FOURCC_THEORA; } else if ((op->bytes > 5) && @@ -446,10 +446,10 @@ static lives_in_stream *lives_in_stream_new(int type) { - lives_in_stream *lstream=(lives_in_stream *)malloc(sizeof(lives_in_stream)); - lstream->type=type; - lstream->ext_data=NULL; - lstream->ext_size=0; + lives_in_stream *lstream = (lives_in_stream *)malloc(sizeof(lives_in_stream)); + lstream->type = type; + lstream->ext_data = NULL; + lstream->ext_size = 0; return lstream; } @@ -463,9 +463,9 @@ static inline lives_in_stream *stream_from_sno(lives_clip_data_t *cdata, int sno) { - lives_ogg_priv_t *priv=(lives_ogg_priv_t *)cdata->priv; - if (priv->astream!=NULL&&sno==priv->astream->stream_id) return priv->astream; - if (priv->vstream!=NULL&&sno==priv->vstream->stream_id) return priv->vstream; + lives_ogg_priv_t *priv = (lives_ogg_priv_t *)cdata->priv; + if (priv->astream != NULL && sno == priv->astream->stream_id) return priv->astream; + if (priv->vstream != NULL && sno == priv->vstream->stream_id) return priv->vstream; return NULL; } @@ -483,7 +483,7 @@ u_value |= bs_read(p_bs, 1); } - return (1<<u_count) - 1 + u_value; + return (1 << u_count) - 1 + u_value; } static int dirac_bool(bs_t *p_bs) { @@ -499,13 +499,13 @@ pthread_mutex_lock(&indices_mutex); - for (i=0; i<nidxc; i++) { - if (indices[i]->clients[0]->current_clip==cdata->current_clip&& - !strcmp(indices[i]->clients[0]->URI,cdata->URI)) { - idxc=indices[i]; + for (i = 0; i < nidxc; i++) { + if (indices[i]->clients[0]->current_clip == cdata->current_clip && + !strcmp(indices[i]->clients[0]->URI, cdata->URI)) { + idxc = indices[i]; // append cdata to clients - idxc->clients=(lives_clip_data_t **)realloc(idxc->clients,(idxc->nclients+1)*sizeof(lives_clip_data_t *)); - idxc->clients[idxc->nclients]=cdata; + idxc->clients = (lives_clip_data_t **)realloc(idxc->clients, (idxc->nclients + 1) * sizeof(lives_clip_data_t *)); + idxc->clients[idxc->nclients] = cdata; idxc->nclients++; // pthread_mutex_unlock(&indices_mutex); @@ -513,19 +513,19 @@ } } - indices=(index_container_t **)realloc(indices,(nidxc+1)*sizeof(index_container_t *)); + indices = (index_container_t **)realloc(indices, (nidxc + 1) * sizeof(index_container_t *)); // match not found, create a new index container - idxc=(index_container_t *)malloc(sizeof(index_container_t)); + idxc = (index_container_t *)malloc(sizeof(index_container_t)); - idxc->idx=NULL; + idxc->idx = NULL; - idxc->nclients=1; - idxc->clients=(lives_clip_data_t **)malloc(sizeof(lives_clip_data_t *)); - idxc->clients[0]=cdata; - pthread_mutex_init(&idxc->mutex,NULL); + idxc->nclients = 1; + idxc->clients = (lives_clip_data_t **)malloc(sizeof(lives_clip_data_t *)); + idxc->clients[0] = cdata; + pthread_mutex_init(&idxc->mutex, NULL); - indices[nidxc]=idxc; + indices[nidxc] = idxc; pthread_mutex_unlock(&indices_mutex); nidxc++; @@ -535,42 +535,42 @@ static void idxc_release(lives_clip_data_t *cdata) { - lives_ogg_priv_t *priv=cdata->priv; - index_container_t *idxc=priv->idxc; - register int i,j; + lives_ogg_priv_t *priv = cdata->priv; + index_container_t *idxc = priv->idxc; + register int i, j; - if (idxc==NULL) return; + if (idxc == NULL) return; pthread_mutex_lock(&indices_mutex); - if (idxc->nclients==1) { + if (idxc->nclients == 1) { // remove this index index_entries_free(idxc->idx); free(idxc->clients); - for (i=0; i<nidxc; i++) { - if (indices[i]==idxc) { + for (i = 0; i < nidxc; i++) { + if (indices[i] == idxc) { nidxc--; - for (j=i; j<nidxc; j++) { - indices[j]=indices[j+1]; + for (j = i; j < nidxc; j++) { + indices[j] = indices[j + 1]; } free(idxc); - if (nidxc==0) { + if (nidxc == 0) { free(indices); - indices=NULL; - } else indices=(index_container_t **)realloc(indices,nidxc*sizeof(index_container_t *)); + indices = NULL; + } else indices = (index_container_t **)realloc(indices, nidxc * sizeof(index_container_t *)); break; } } } else { // reduce client count by 1 - for (i=0; i<idxc->nclients; i++) { - if (idxc->clients[i]==cdata) { + for (i = 0; i < idxc->nclients; i++) { + if (idxc->clients[i] == cdata) { // remove this entry idxc->nclients--; - for (j=i; j<idxc->nclients; j++) { - idxc->clients[j]=idxc->clients[j+1]; + for (j = i; j < idxc->nclients; j++) { + idxc->clients[j] = idxc->clients[j + 1]; } - idxc->clients=(lives_clip_data_t **)realloc(idxc->clients,idxc->nclients*sizeof(lives_clip_data_t *)); + idxc->clients = (lives_clip_data_t **)realloc(idxc->clients, idxc->nclients * sizeof(lives_clip_data_t *)); break; } } @@ -584,12 +584,12 @@ static void idxc_release_all(void) { register int i; - for (i=0; i<nidxc; i++) { + for (i = 0; i < nidxc; i++) { index_entries_free(indices[i]->idx); free(indices[i]->clients); free(indices[i]); } - nidxc=0; + nidxc = 0; } @@ -603,16 +603,16 @@ static const struct { uint32_t u_n /* numerator */, u_d /* denominator */; } p_dirac_frate_tbl[] = { /* table 10.3 */ - {1,1}, /* this first value is never used */ - {24000,1001}, {24,1}, {25,1}, {30000,1001}, {30,1}, - {50,1}, {60000,1001}, {60,1}, {15000,1001}, {25,2}, + {1, 1}, /* this first value is never used */ + {24000, 1001}, {24, 1}, {25, 1}, {30000, 1001}, {30, 1}, + {50, 1}, {60000, 1001}, {60, 1}, {15000, 1001}, {25, 2}, }; - static const size_t u_dirac_frate_tbl = sizeof(p_dirac_frate_tbl)/sizeof(*p_dirac_frate_tbl); + static const size_t u_dirac_frate_tbl = sizeof(p_dirac_frate_tbl) / sizeof(*p_dirac_frate_tbl); static const uint32_t pu_dirac_vidfmt_frate[] = { /* table C.1 */ 1, 9, 10, 9, 10, 9, 10, 4, 3, 7, 6, 4, 3, 7, 6, 2, 2, 7, 6, 7, 6, }; - static const size_t u_dirac_vidfmt_frate = sizeof(pu_dirac_vidfmt_frate)/sizeof(*pu_dirac_vidfmt_frate); + static const size_t u_dirac_vidfmt_frate = sizeof(pu_dirac_vidfmt_frate) / sizeof(*pu_dirac_vidfmt_frate); @@ -625,34 +625,34 @@ int header_bytes = 0; int64_t input_pos; - uint8_t imajor,iminor; + uint8_t imajor, iminor; #ifdef HAVE_THEORA uint8_t isubminor; #endif - lives_ogg_priv_t *priv=(lives_ogg_priv_t *)cdata->priv; - ogg_t *opriv=priv->opriv; + lives_ogg_priv_t *priv = (lives_ogg_priv_t *)cdata->priv; + ogg_t *opriv = priv->opriv; - uint32_t u_video_format,u_n,u_d; + uint32_t u_video_format, u_n, u_d; bs_t bs; - opriv->page_valid=0; + opriv->page_valid = 0; lseek64(opriv->fd, 0, SEEK_SET); - priv->input_position=0; + priv->input_position = 0; /* Get the first page of each stream */ while (1) { - if (!(input_pos=get_page(cdata,priv->input_position))) { + if (!(input_pos = get_page(cdata, priv->input_position))) { //fprintf(stderr, "EOF1 while setting up track\n"); return 0; } - priv->input_position+=input_pos; + priv->input_position += input_pos; if (!ogg_page_bos(&(opriv->current_page))) { opriv->page_valid = 1; @@ -683,8 +683,8 @@ switch (ogg_stream->fourcc_priv) { case FOURCC_VORBIS: - if (priv->astream!=NULL) { - fprintf(stderr,"got extra audio stream\n"); + if (priv->astream != NULL) { + fprintf(stderr, "got extra audio stream\n"); ogg_stream_clear(&ogg_stream->os); free(ogg_stream); break; @@ -699,7 +699,7 @@ ogg_stream->header_packets_read = 1; /* Get samplerate */ - priv->astream->samplerate=PTR_2_32LE(opriv->op.packet + 12); + priv->astream->samplerate = PTR_2_32LE(opriv->op.packet + 12); //fprintf(stderr,"rate is %d\n",priv->astream->samplerate); /* Read remaining header packets from this page */ @@ -711,8 +711,8 @@ break; #ifdef HAVE_THEORA case FOURCC_THEORA: - if (priv->vstream!=NULL) { - fprintf(stderr,"got extra video stream\n"); + if (priv->vstream != NULL) { + fprintf(stderr, "got extra video stream\n"); ogg_stream_clear(&ogg_stream->os); free(ogg_stream); break; @@ -726,23 +726,23 @@ append_extradata(priv->vstream, &opriv->op); ogg_stream->header_packets_read = 1; - priv->vstream->data_start=0; + priv->vstream->data_start = 0; /* get version */ - imajor=((uint8_t *)(priv->vstream->ext_data))[55]; - iminor=((uint8_t *)(priv->vstream->ext_data))[56]; - isubminor=((uint8_t *)(priv->vstream->ext_data))[57]; + imajor = ((uint8_t *)(priv->vstream->ext_data))[55]; + iminor = ((uint8_t *)(priv->vstream->ext_data))[56]; + isubminor = ((uint8_t *)(priv->vstream->ext_data))[57]; - priv->vstream->version=imajor*1000000+iminor*1000+isubminor; + priv->vstream->version = imajor * 1000000 + iminor * 1000 + isubminor; // TODO - get frame width, height, picture width, height, and x and y offsets - cdata->seek_flag=LIVES_SEEK_FAST|LIVES_SEEK_NEEDS_CALCULATION; + cdata->seek_flag = LIVES_SEEK_FAST | LIVES_SEEK_NEEDS_CALCULATION; /* Get fps and keyframe shift */ - priv->vstream->fps_num = PTR_2_32BE(opriv->op.packet+22); - priv->vstream->fps_denom = PTR_2_32BE(opriv->op.packet+26); + priv->vstream->fps_num = PTR_2_32BE(opriv->op.packet + 22); + priv->vstream->fps_denom = PTR_2_32BE(opriv->op.packet + 26); //fprintf(stderr,"fps is %d / %d\n",priv->vstream->fps_num,priv->vstream->fps_denom); @@ -759,8 +759,8 @@ break; #endif case FOURCC_DIRAC: - if (priv->vstream!=NULL) { - fprintf(stderr,"got extra video stream\n"); + if (priv->vstream != NULL) { + fprintf(stderr, "got extra video stream\n"); ogg_stream_clear(&ogg_stream->os); free(ogg_stream); break; @@ -771,7 +771,7 @@ priv->vstream->stpriv = ogg_stream; priv->vstream->stream_id = serialno; - priv->vstream->data_start=priv->input_position-input_pos; + priv->vstream->data_start = priv->input_position - input_pos; ogg_stream->header_packets_needed = 0; ogg_stream->header_packets_read = 1; @@ -782,14 +782,14 @@ bs_init(&bs, &opriv->op.packet, opriv->op.bytes); /* get version */ - bs_skip(&bs, 13*8); /* parse_info_header */ + bs_skip(&bs, 13 * 8); /* parse_info_header */ - imajor=dirac_uint(&bs); /* major_version */ - iminor=dirac_uint(&bs); /* minor_version */ + imajor = dirac_uint(&bs); /* major_version */ + iminor = dirac_uint(&bs); /* minor_version */ //iprof=dirac_uint( &bs ); /* profile */ //ilevel=dirac_uint( &bs ); /* level */ - priv->vstream->version=imajor*1000000+iminor*1000; + priv->vstream->version = imajor * 1000000 + iminor * 1000; //printf("dirac version %d\n",priv->vstream->version); @@ -799,13 +799,13 @@ ogg_stream_clear(&ogg_stream->os); free(ogg_stream); free(priv->vstream); - priv->vstream=NULL; + priv->vstream = NULL; break; } if (dirac_bool(&bs)) { - cdata->frame_width=cdata->width=dirac_uint(&bs); /* frame_width */ - cdata->frame_height=cdata->width=dirac_uint(&bs); /* frame_height */ + cdata->frame_width = cdata->width = dirac_uint(&bs); /* frame_width */ + cdata->frame_height = cdata->width = dirac_uint(&bs); /* frame_height */ } // else...???? @@ -827,7 +827,7 @@ ogg_stream_clear(&ogg_stream->os); free(ogg_stream); free(priv->vstream); - priv->vstream=NULL; + priv->vstream = NULL; break; } u_n = p_dirac_frate_tbl[u_frame_rate_index].u_n; @@ -840,7 +840,7 @@ cdata->fps = (float) u_n / (float) u_d; - cdata->seek_flag=LIVES_SEEK_FAST|LIVES_SEEK_NEEDS_CALCULATION|LIVES_SEEK_QUALITY_LOSS; + cdata->seek_flag = LIVES_SEEK_FAST | LIVES_SEEK_NEEDS_CALCULATION | LIVES_SEEK_QUALITY_LOSS; priv->vstream->fps_num = u_n; priv->vstream->fps_denom = u_d; @@ -854,7 +854,7 @@ } } - if (priv->vstream==NULL) return 0; + if (priv->vstream == NULL) return 0; /* @@ -864,7 +864,7 @@ done = 0; while (!done) { - lives_in_stream *stream = stream_from_sno(cdata,ogg_page_serialno(&(opriv->current_page))); + lives_in_stream *stream = stream_from_sno(cdata, ogg_page_serialno(&(opriv->current_page))); if (stream) { ogg_stream = (stream_priv_t *)(stream->stpriv); ogg_stream_pagein(&(ogg_stream->os), &(opriv->current_page)); @@ -893,7 +893,7 @@ done = 1; //for (i = 0; i < track->num_audio_streams; i++) { - if (priv->astream!=NULL) { + if (priv->astream != NULL) { ogg_stream = priv->astream->stpriv; if (ogg_stream->header_packets_read < ogg_stream->header_packets_needed) done = 0; } @@ -901,7 +901,7 @@ if (done) { //for(i = 0; i < track->num_video_streams; i++) //{ - if (priv->vstream!=NULL) { + if (priv->vstream != NULL) { ogg_stream = priv->vstream->stpriv; if (ogg_stream->header_packets_read < ogg_stream->header_packets_needed) done = 0; } @@ -911,15 +911,15 @@ /* Read the next page if we aren't done yet */ if (!done) { - if (!(input_pos=get_page(cdata,priv->input_position))) { + if (!(input_pos = get_page(cdata, priv->input_position))) { fprintf(stderr, "EOF2 while setting up track"); return 0; } - priv->input_position+=input_pos; + priv->input_position += input_pos; } } - if (priv->vstream->data_start==0) priv->vstream->data_start=priv->input_position; + if (priv->vstream->data_start == 0) priv->vstream->data_start = priv->input_position; return 1; } @@ -927,31 +927,31 @@ #ifdef HAVE_DIRAC void get_dirac_cdata(lives_clip_data_t *cdata, SchroDecoder *schrodec) { - SchroVideoFormat *sformat=schro_decoder_get_video_format(schrodec); - cdata->frame_width=sformat->width; - cdata->frame_height=sformat->height; + SchroVideoFormat *sformat = schro_decoder_get_video_format(schrodec); + cdata->frame_width = sformat->width; + cdata->frame_height = sformat->height; - cdata->width=sformat->clean_width; - cdata->height=(sformat->clean_height>>1)<<1; + cdata->width = sformat->clean_width; + cdata->height = (sformat->clean_height >> 1) << 1; if (sformat->interlaced) { - if (sformat->top_field_first) cdata->interlace=LIVES_INTERLACE_TOP_FIRST; - else cdata->interlace=LIVES_INTERLACE_BOTTOM_FIRST; - } else cdata->interlace=LIVES_INTERLACE_NONE; + if (sformat->top_field_first) cdata->interlace = LIVES_INTERLACE_TOP_FIRST; + else cdata->interlace = LIVES_INTERLACE_BOTTOM_FIRST; + } else cdata->interlace = LIVES_INTERLACE_NONE; switch (sformat->chroma_format) { case SCHRO_CHROMA_420: - cdata->palettes[0]=WEED_PALETTE_YUV420P; + cdata->palettes[0] = WEED_PALETTE_YUV420P; break; case SCHRO_CHROMA_422: - cdata->palettes[0]=WEED_PALETTE_YUV422P; + cdata->palettes[0] = WEED_PALETTE_YUV422P; break; case SCHRO_CHROMA_444: - cdata->palettes[0]=WEED_PALETTE_YUV444P; + cdata->palettes[0] = WEED_PALETTE_YUV444P; break; default: - cdata->palettes[0]=WEED_PALETTE_END; + cdata->palettes[0] = WEED_PALETTE_END; break; } @@ -960,10 +960,10 @@ cdata->offs_x = sformat->left_offset; cdata->offs_y = sformat->top_offset; - cdata->par = sformat->aspect_ratio_numerator/sformat->aspect_ratio_denominator; + cdata->par = sformat->aspect_ratio_numerator / sformat->aspect_ratio_denominator; - if (sformat->luma_offset==0) cdata->YUV_clamping=WEED_YUV_CLAMPING_UNCLAMPED; - else cdata->YUV_clamping=WEED_YUV_CLAMPING_CLAMPED; + if (sformat->luma_offset == 0) cdata->YUV_clamping = WEED_YUV_CLAMPING_UNCLAMPED; + else cdata->YUV_clamping = WEED_YUV_CLAMPING_CLAMPED; //printf("vals %d %d %d %d %d %d\n",sformat->width,sformat->height,sformat->clean_width,sformat->clean_height,sformat->interlaced,cdata->palettes[0]); @@ -977,13 +977,13 @@ static void seek_byte(lives_clip_data_t *cdata, int64_t pos) { - lives_ogg_priv_t *priv=(lives_ogg_priv_t *)cdata->priv; - ogg_t *opriv=priv->opriv; + lives_ogg_priv_t *priv = (lives_ogg_priv_t *)cdata->priv; + ogg_t *opriv = priv->opriv; ogg_sync_reset(&(opriv->oy)); - lseek64(opriv->fd,pos,SEEK_SET); - priv->input_position=pos; - opriv->page_valid=0; + lseek64(opriv->fd, pos, SEEK_SET); + priv->input_position = pos; + opriv->page_valid = 0; } @@ -993,8 +993,8 @@ char *buf; int64_t result; - lives_ogg_priv_t *priv=(lives_ogg_priv_t *)cdata->priv; - ogg_t *opriv=priv->opriv; + lives_ogg_priv_t *priv = (lives_ogg_priv_t *)cdata->priv; + ogg_t *opriv = priv->opriv; if (opriv->total_bytes > 0) { if (priv->input_position + bytes_to_read > opriv->total_bytes) @@ -1009,7 +1009,7 @@ lseek64(opriv->fd, priv->input_position, SEEK_SET); result = read(opriv->fd, (uint8_t *)buf, bytes_to_read); - opriv->page_valid=0; + opriv->page_valid = 0; ogg_sync_wrote(&(opriv->oy), result); return result; @@ -1021,16 +1021,16 @@ static int64_t find_first_page(lives_clip_data_t *cdata, int64_t pos1, int64_t pos2, int64_t *kframe, int64_t *frame) { - lives_ogg_priv_t *priv=(lives_ogg_priv_t *)cdata->priv; + lives_ogg_priv_t *priv = (lives_ogg_priv_t *)cdata->priv; int64_t bytes; long result; - ogg_t *opriv=priv->opriv; + ogg_t *opriv = priv->opriv; - int pages_checked=0,page_packets_checked; + int pages_checked = 0, page_packets_checked; - size_t bytes_to_read=pos2-pos1+1; + size_t bytes_to_read = pos2 - pos1 + 1; int64_t granulepos; @@ -1039,11 +1039,11 @@ // pull pages and check packets until we either reach the end or find a granulepos - priv->input_position=pos1; + priv->input_position = pos1; //printf ("start %ld %ld\n",pos1,pos2); - seek_byte(cdata,pos1); + seek_byte(cdata, pos1); if (pos1 == priv->vstream->data_start) { /* set a dummy granulepos at data_start */ @@ -1054,77 +1054,77 @@ return priv->input_position; } - if (bytes_to_read>BYTES_TO_READ) bytes_to_read=BYTES_TO_READ; + if (bytes_to_read > BYTES_TO_READ) bytes_to_read = BYTES_TO_READ; while (1) { - if (priv->input_position>=pos2) { + if (priv->input_position >= pos2) { // we reached the end and found no pages //printf("exit a\n"); - *frame=-1; + *frame = -1; return -1; } // read next chunk - if (!(bytes=get_data(cdata,bytes_to_read))) { + if (!(bytes = get_data(cdata, bytes_to_read))) { //printf("exit b\n"); - *frame=-1; + *frame = -1; return -1; // eof } - bytes_to_read=BYTES_TO_READ; + bytes_to_read = BYTES_TO_READ; result = ogg_sync_pageseek(&opriv->oy, &opriv->current_page); //printf("result is %ld\n",result); - if (result<0) { + if (result < 0) { // found a page, sync to page start - priv->input_position-=result; - pos1=priv->input_position; + priv->input_position -= result; + pos1 = priv->input_position; continue; } - if (result>0||(result==0&&opriv->oy.fill>3&&!strncmp((char *)opriv->oy.data,"OggS",4))) { - pos1=priv->input_position; + if (result > 0 || (result == 0 && opriv->oy.fill > 3 && !strncmp((char *)opriv->oy.data, "OggS", 4))) { + pos1 = priv->input_position; break; } - priv->input_position+=bytes; + priv->input_position += bytes; }; - seek_byte(cdata,priv->input_position); + seek_byte(cdata, priv->input_position); ogg_stream_reset(&priv->vstream->stpriv->os); while (1) { //printf("here %ld and %ld\n",priv->input_position,pos2); - if (priv->input_position>=pos2) { + if (priv->input_position >= pos2) { // reached the end of the search region and nothing was found - *frame=-1; + *frame = -1; return priv->input_position; // we checked up to here } //printf("a: checking page\n"); - opriv->page_valid=0; + opriv->page_valid = 0; - if (!(result=get_page(cdata,priv->input_position))) { + if (!(result = get_page(cdata, priv->input_position))) { // EOF //printf("EOF ?\n"); - *frame=-1; + *frame = -1; return priv->input_position; // we checked up to here } // found a page - if (priv->vstream->stream_id!=ogg_page_serialno(&(opriv->current_page))) { + if (priv->vstream->stream_id != ogg_page_serialno(&(opriv->current_page))) { // page is not for this stream //printf("not for us\n"); - priv->input_position+=result; - if (!pages_checked) pos1=priv->input_position; + priv->input_position += result; + if (!pages_checked) pos1 = priv->input_position; continue; } @@ -1132,7 +1132,7 @@ pages_checked++; - page_packets_checked=0; + page_packets_checked = 0; if (ogg_stream_packetout(&priv->vstream->stpriv->os, &opriv->op) > 0) { page_packets_checked++; @@ -1141,21 +1141,21 @@ if (page_packets_checked) { granulepos = ogg_page_granulepos(&(opriv->current_page)); pthread_mutex_lock(&priv->idxc->mutex); - theora_index_entry_add(cdata,granulepos,pos1); + theora_index_entry_add(cdata, granulepos, pos1); pthread_mutex_unlock(&priv->idxc->mutex); *kframe = granulepos >> priv->vstream->stpriv->keyframe_granule_shift; *frame = *kframe + - granulepos-(*kframe<<priv->vstream->stpriv->keyframe_granule_shift); + granulepos - (*kframe << priv->vstream->stpriv->keyframe_granule_shift); - opriv->page_valid=1; + opriv->page_valid = 1; return pos1; } // -> start of next page - priv->input_position+=result; + priv->input_position += result; } } @@ -1169,21 +1169,21 @@ static int64_t find_last_theora_frame(lives_clip_data_t *cdata, lives_in_stream *vstream) { int64_t page_pos, start_pos; - int64_t this_frame=0, last_frame = -1; - int64_t this_kframe=0; - int64_t pos1,pos2; + int64_t this_frame = 0, last_frame = -1; + int64_t this_kframe = 0; + int64_t pos1, pos2; - lives_ogg_priv_t *priv=(lives_ogg_priv_t *)cdata->priv; - ogg_t *opriv=priv->opriv; + lives_ogg_priv_t *priv = (lives_ogg_priv_t *)cdata->priv; + ogg_t *opriv = priv->opriv; - pos1=vstream->data_start; - pos2=opriv->total_bytes; + pos1 = vstream->data_start; + pos2 = opriv->total_bytes; //serialno=vstream->stream_id; start_pos = pos2 - BYTES_TO_READ; while (1) { - if (start_pos<pos1) start_pos=pos1; + if (start_pos < pos1) start_pos = pos1; //printf("in pos %ld and %ld with %ld\n",start_pos,pos2,vstream->data_start); @@ -1200,15 +1200,15 @@ return -1; } /* Go back a bit */ - pos2-=start_pos; + pos2 -= start_pos; start_pos -= BYTES_TO_READ; - if (start_pos<pos1) start_pos=pos1; - pos2+=start_pos; + if (start_pos < pos1) start_pos = pos1; + pos2 += start_pos; } else { // found a page, see if we can find another one //printf("set last_frame to %ld\n",this_frame); last_frame = this_frame; - start_pos=page_pos+1; + start_pos = page_pos + 1; } } return -1; @@ -1223,145 +1223,145 @@ static int64_t find_first_sync_frame(lives_clip_data_t *cdata, int64_t pos1, int64_t pos2, int64_t *frame) { - lives_ogg_priv_t *priv=(lives_ogg_priv_t *)cdata->priv; + lives_ogg_priv_t *priv = (lives_ogg_priv_t *)cdata->priv; - index_entry *idx=priv->idxc->idx; - index_entry *extend=NULL; + index_entry *idx = priv->idxc->idx; + index_entry *extend = NULL; int64_t bytes; long result; - ogg_t *opriv=priv->opriv; - dirac_priv_t *dpriv=priv->dpriv; + ogg_t *opriv = priv->opriv; + dirac_priv_t *dpriv = priv->dpriv; - int pages_checked=0,page_packets_checked; + int pages_checked = 0, page_packets_checked; - size_t bytes_to_read=pos2-pos1+1; + size_t bytes_to_read = pos2 - pos1 + 1; // check index to see if pos1 is in index - while (idx!=NULL) { + while (idx != NULL) { - if (idx->pagepos==pos1 && idx->value>-1) { + if (idx->pagepos == pos1 && idx->value > -1) { // found ! - *frame=idx->value; + *frame = idx->value; return pos1; } - if (idx->pagepos<pos1&&idx->pagepos_end>pos1) { + if (idx->pagepos < pos1 && idx->pagepos_end > pos1) { // region was partly checked // continue from pagepos_end + 1 - pos1=idx->pagepos_end+1; + pos1 = idx->pagepos_end + 1; - if (idx->pagepos_end>=pos2-1) { + if (idx->pagepos_end >= pos2 - 1) { // region was checked and there are no seq frames - *frame=-1; + *frame = -1; return pos1; } break; } - if (idx->pagepos>=pos2) { + if (idx->pagepos >= pos2) { // no entry found break; } - idx=idx->next; + idx = idx->next; } // pull pages and check packets until we either reach the end or find a sync point - priv->input_position=pos1; + priv->input_position = pos1; ogg_stream_reset(&priv->vstream->stpriv->os); //printf ("start %ld %ld\n",pos1,pos2); - seek_byte(cdata,pos1); + seek_byte(cdata, pos1); - if (bytes_to_read>BYTES_TO_READ) bytes_to_read=BYTES_TO_READ; + if (bytes_to_read > BYTES_TO_READ) bytes_to_read = BYTES_TO_READ; while (1) { - if (priv->input_position>=pos2) { + if (priv->input_position >= pos2) { // we reached the end and found no pages //printf("exit a\n"); - *frame=-1; + *frame = -1; return -1; } // read next chunk - if (!(bytes=get_data(cdata,bytes_to_read))) { + if (!(bytes = get_data(cdata, bytes_to_read))) { //printf("exit b\n"); - *frame=-1; + *frame = -1; return -1; // eof } - bytes_to_read=BYTES_TO_READ; + bytes_to_read = BYTES_TO_READ; result = ogg_sync_pageseek(&opriv->oy, &opriv->current_page); //printf("result is %ld\n",result); - if (result<0) { + if (result < 0) { // found a page, sync to page start - priv->input_position-=result; - pos1=priv->input_position; + priv->input_position -= result; + pos1 = priv->input_position; continue; } - if (result>0||(result==0&&opriv->oy.fill>3&&!strncmp((char *)opriv->oy.data,"OggS",4))) { - pos1=priv->input_position; + if (result > 0 || (result == 0 && opriv->oy.fill > 3 && !strncmp((char *)opriv->oy.data, "OggS", 4))) { + pos1 = priv->input_position; break; } - priv->input_position+=bytes; + priv->input_position += bytes; }; - seek_byte(cdata,priv->input_position); + seek_byte(cdata, priv->input_position); ogg_stream_reset(&priv->vstream->stpriv->os); while (1) { //printf("here %ld and %ld\n",priv->input_position,pos2); - if (priv->input_position>=pos2) { + if (priv->input_position >= pos2) { //printf("exit 1 %ld %ld %ld\n",priv->input_position,result,pos2); // reached the end of the search region and nothing was found - *frame=-1; + *frame = -1; return priv->input_position; // we checked up to here } pthread_mutex_lock(&priv->idxc->mutex); - if ((idx=find_pagepos_in_index(priv->idxc->idx,priv->input_position))!=NULL) { + if ((idx = find_pagepos_in_index(priv->idxc->idx, priv->input_position)) != NULL) { // this part was already checked //printf("WE ALREADY CHECKED THIS\n"); - if (idx->value!=-1) { + if (idx->value != -1) { // we already found a sync frame here - if (extend!=NULL) { - extend->pagepos_end=idx->pagepos-1; - if (extend->pagepos_end<extend->pagepos) priv->idxc->idx=index_entry_delete(extend); + if (extend != NULL) { + extend->pagepos_end = idx->pagepos - 1; + if (extend->pagepos_end < extend->pagepos) priv->idxc->idx = index_entry_delete(extend); } - *frame=idx->value; + *frame = idx->value; pthread_mutex_unlock(&priv->idxc->mutex); //printf("As I recall, the sync frame was %ld\n",*frame); return idx->pagepos; } // no sync frame here - update this entry and jump to pagepos_end - if (pages_checked>=2&&idx->pagepos<pos1) idx->pagepos=pos1; + if (pages_checked >= 2 && idx->pagepos < pos1) idx->pagepos = pos1; - pos1=priv->input_position=idx->pagepos_end+1; + pos1 = priv->input_position = idx->pagepos_end + 1; pthread_mutex_unlock(&priv->idxc->mutex); //printf("no seq frames, skipping\n"); @@ -1375,29 +1375,29 @@ //printf("a: checking page\n"); - opriv->page_valid=0; + opriv->page_valid = 0; - if (!(result=get_page(cdata,priv->input_position))) { + if (!(result = get_page(cdata, priv->input_position))) { // EOF //printf("EOF ?\n"); - *frame=-1; + *frame = -1; return priv->input_position; // we checked up to here } // found a page - if (priv->vstream->stream_id!=ogg_page_serialno(&(opriv->current_page))) { + if (priv->vstream->stream_id != ogg_page_serialno(&(opriv->current_page))) { // page is not for this stream //printf("not for us\n"); - priv->input_position+=result; - if (!pages_checked) pos1=priv->input_position; + priv->input_position += result; + if (!pages_checked) pos1 = priv->input_position; continue; } ogg_stream_pagein(&priv->vstream->stpriv->os, &(opriv->current_page)); - if (pages_checked>0) pages_checked++; + if (pages_checked > 0) pages_checked++; - page_packets_checked=0; + page_packets_checked = 0; while (ogg_stream_packetout(&priv->vstream->stpriv->os, &opriv->op) > 0) { @@ -1406,53 +1406,53 @@ page_packets_checked++; // is this packet a seq start ? - if (opriv->op.packet[4]==0) { + if (opriv->op.packet[4] == 0) { //printf("got a seq start\n"); // if other packets ended on this page, we know that seq start begins on this page // otherwise it will have begun at pos1 - if (page_packets_checked>1) pos1=priv->input_position; + if (page_packets_checked > 1) pos1 = priv->input_position; // get the frame number, close extend, add a new index entry - seek_byte(cdata,pos1); + seek_byte(cdata, pos1); // feed packets to the dirac_decoder until we get a frame number // note: in theory we should be able to get the next frame from the granulepos // however this seems broken - priv->last_frame=-1; - priv->cframe=-1; + priv->last_frame = -1; + priv->cframe = -1; - ogg_data_process(cdata,NULL,FALSE); + ogg_data_process(cdata, NULL, FALSE); //printf("seq frame was %ld\n",priv->last_frame); - *frame=priv->last_frame; + *frame = priv->last_frame; schro_decoder_reset(dpriv->schrodec); ogg_stream_reset(&priv->vstream->stpriv->os); pthread_mutex_lock(&priv->idxc->mutex); - if (priv->last_frame>-1) { + if (priv->last_frame > -1) { // finish off the previous search area - if (extend!=NULL) { - extend->pagepos_end=pos1-1; - if (extend->pagepos_end<extend->pagepos) priv->idxc->idx=index_entry_delete(extend); + if (extend != NULL) { + extend->pagepos_end = pos1 - 1; + if (extend->pagepos_end < extend->pagepos) priv->idxc->idx = index_entry_delete(extend); } // and add this one - extend=dirac_index_entry_add(cdata,pos1,priv->input_position+result-1,*frame); + extend = dirac_index_entry_add(cdata, pos1, priv->input_position + result - 1, *frame); - if (extend->pagepos_end<extend->pagepos) priv->idxc->idx=index_entry_delete(extend); - else if (extend->prev==NULL) priv->idxc->idx=extend; + if (extend->pagepos_end < extend->pagepos) priv->idxc->idx = index_entry_delete(extend); + else if (extend->prev == NULL) priv->idxc->idx = extend; } else { // we got no frames, we must have reached EOF - if (extend!=NULL) { - extend->pagepos_end=priv->input_position-1; - if (extend->pagepos_end<extend->pagepos) priv->idxc->idx=index_entry_delete(extend); + if (extend != NULL) { + extend->pagepos_end = priv->input_position - 1; + if (extend->pagepos_end < extend->pagepos) priv->idxc->idx = index_entry_delete(extend); } - pos1=-1; + pos1 = -1; } pthread_mutex_unlock(&priv->idxc->mutex); @@ -1463,30 +1463,30 @@ } - if (page_packets_checked>0) { + if (page_packets_checked > 0) { // we got some other kind of packet out, so a sequence header packet could only begin on this page - pos1=priv->input_position; // the start of this page + pos1 = priv->input_position; // the start of this page - if (pages_checked==-1) { + if (pages_checked == -1) { // we can start counting pages from here - pages_checked=1; + pages_checked = 1; } - if (pages_checked>=2) { + if (pages_checked >= 2) { // if we checked from one packet to the next and found no seq header. // We now know that the first pages had no seq header // so we can start marking from pos1 up to start of this page - 1 pthread_mutex_lock(&priv->idxc->mutex); - if (extend==NULL) { - extend=dirac_index_entry_add(cdata,pos1,priv->input_position-1,-1); - if (extend->prev==NULL) priv->idxc->idx=extend; + if (extend == NULL) { + extend = dirac_index_entry_add(cdata, pos1, priv->input_position - 1, -1); + if (extend->prev == NULL) priv->idxc->idx = extend; } else { - extend->pagepos_end=priv->input_position-1; + extend->pagepos_end = priv->input_position - 1; } - if (extend->pagepos_end<extend->pagepos) priv->idxc->idx=index_entry_delete(extend); - else if (extend->prev!=NULL&&extend->prev->pagepos_end==extend->pagepos-1&&extend->prev->value==-1) { - extend->prev->pagepos_end=extend->pagepos_end; + if (extend->pagepos_end < extend->pagepos) priv->idxc->idx = index_entry_delete(extend); + else if (extend->prev != NULL && extend->prev->pagepos_end == extend->pagepos - 1 && extend->prev->value == -1) { + extend->prev->pagepos_end = extend->pagepos_end; index_entry_delete(extend); } pthread_mutex_unlock(&priv->idxc->mutex); @@ -1495,7 +1495,7 @@ } // -> start of next page - priv->input_position+=result; + priv->input_position += result; } } @@ -1509,20 +1509,20 @@ static int64_t find_last_sync_frame(lives_clip_data_t *cdata, lives_in_stream *vstream) { int64_t page_pos, last_page_pos = -1, start_pos; - int64_t this_frame=-1; - int64_t pos1,pos2; + int64_t this_frame = -1; + int64_t pos1, pos2; - lives_ogg_priv_t *priv=(lives_ogg_priv_t *)cdata->priv; - ogg_t *opriv=priv->opriv; + lives_ogg_priv_t *priv = (lives_ogg_priv_t *)cdata->priv; + ogg_t *opriv = priv->opriv; - pos1=vstream->data_start; - pos2=opriv->total_bytes; + pos1 = vstream->data_start; + pos2 = opriv->total_bytes; //serialno=vstream->stream_id; start_pos = pos2 - BYTES_TO_READ; while (1) { - if (start_pos<pos1) start_pos=pos1; + if (start_pos < pos1) start_pos = pos1; page_pos = find_first_sync_frame(cdata, start_pos, pos2, &this_frame); @@ -1537,14 +1537,14 @@ return -1; } /* Go back a bit */ - pos2-=start_pos; + pos2 -= start_pos; start_pos -= BYTES_TO_READ; - if (start_pos<pos1) start_pos=pos1; - pos2+=start_pos; + if (start_pos < pos1) start_pos = pos1; + pos2 += start_pos; } else { // found a page, see if we can find another one last_page_pos = page_pos; - start_pos = page_pos+1; + start_pos = page_pos + 1; } } return -1; @@ -1568,30 +1568,30 @@ #endif lives_in_stream *stream; - lives_ogg_priv_t *priv=(lives_ogg_priv_t *)cdata->priv; + lives_ogg_priv_t *priv = (lives_ogg_priv_t *)cdata->priv; int64_t frame; - stream=stream_from_sno(cdata,serialno); - if (stream==NULL) return -1; + stream = stream_from_sno(cdata, serialno); + if (stream == NULL) return -1; #ifdef HAVE_DIRAC - if (stream->stpriv->fourcc_priv==FOURCC_DIRAC) { - dirac_priv_t *dpriv=priv->dpriv; + if (stream->stpriv->fourcc_priv == FOURCC_DIRAC) { + dirac_priv_t *dpriv = priv->dpriv; - pos=find_last_sync_frame(cdata,priv->vstream); - seek_byte(cdata,pos); + pos = find_last_sync_frame(cdata, priv->vstream); + seek_byte(cdata, pos); ogg_stream_reset(&priv->vstream->stpriv->os); schro_decoder_reset(dpriv->schrodec); - priv->last_frame=-1; - priv->cframe=-1; + priv->last_frame = -1; + priv->cframe = -1; - ogg_data_process(cdata,NULL,FALSE); // read pages from last sync frame + ogg_data_process(cdata, NULL, FALSE); // read pages from last sync frame - while (ogg_data_process(cdata,NULL,TRUE)); // continue until we reach EOF + while (ogg_data_process(cdata, NULL, TRUE)); // continue until we reach EOF schro_decoder_reset(dpriv->schrodec); @@ -1599,7 +1599,7 @@ //printf("last dirac frame is %ld, adjust to %ld\n",priv->last_frame, priv->last_frame-priv->kframe_offset); - priv->last_frame-=priv->kframe_offset; + priv->last_frame -= priv->kframe_offset; return priv->last_frame; } @@ -1607,7 +1607,7 @@ // TODO - fix for vorbis - frame = find_last_theora_frame(cdata,priv->vstream); + frame = find_last_theora_frame(cdata, priv->vstream); if (frame < 0) return -1; return frame; @@ -1625,7 +1625,7 @@ switch (stream_priv->fourcc_priv) { case FOURCC_VORBIS: //fprintf(stderr,"apos is %lld\n",pos); - return ((long double)pos/(long double)s->samplerate); + return ((long double)pos / (long double)s->samplerate); break; case FOURCC_THEORA: case FOURCC_DIRAC: @@ -1634,7 +1634,7 @@ frames = pos; - return ((double)s->fps_denom/(double)s->fps_num*(double)frames); + return ((double)s->fps_denom / (double)s->fps_num * (double)frames); break; } @@ -1643,13 +1643,13 @@ static ssize_t stream_peek(int fd, char *str, size_t len) { - off_t cpos=lseek(fd,0,SEEK_CUR); // get current posn + off_t cpos = lseek(fd, 0, SEEK_CUR); // get current posn #ifndef IS_MINGW - return pread(fd,str,len,cpos); // read len bytes without changing cpos + return pread(fd, str, len, cpos); // read len bytes without changing cpos #else - ssize_t ret=read(fd,str,len); - lseek(fd,cpos,SEEK_SET); + ssize_t ret = read(fd, str, len); + lseek(fd, cpos, SEEK_SET); return ret; #endif } @@ -1660,12 +1660,12 @@ static int open_ogg(lives_clip_data_t *cdata) { char scheck[4]; - lives_ogg_priv_t *priv=(lives_ogg_priv_t *)cdata->priv; - ogg_t *opriv=priv->opriv; + lives_ogg_priv_t *priv = (lives_ogg_priv_t *)cdata->priv; + ogg_t *opriv = priv->opriv; - if (stream_peek(opriv->fd,scheck,4)<4) return 0; + if (stream_peek(opriv->fd, scheck, 4) < 4) return 0; - if (strncmp(scheck,"OggS",4)) return 0; + if (strncmp(scheck, "OggS", 4)) return 0; ogg_sync_init(&(opriv->oy)); @@ -1693,80 +1693,80 @@ double stream_duration; - boolean is_partial_clone=FALSE; + boolean is_partial_clone = FALSE; - lives_ogg_priv_t *priv=(lives_ogg_priv_t *)cdata->priv; - ogg_t *opriv=priv->opriv=(ogg_t *)malloc(sizeof(ogg_t)); + lives_ogg_priv_t *priv = (lives_ogg_priv_t *)cdata->priv; + ogg_t *opriv = priv->opriv = (ogg_t *)malloc(sizeof(ogg_t)); register int i; - if ((opriv->fd=open(cdata->URI,O_RDONLY))==-1) { - fprintf(stderr, "ogg_theora_decoder: unable to open %s\n",cdata->URI); + if ((opriv->fd = open(cdata->URI, O_RDONLY)) == -1) { + fprintf(stderr, "ogg_theora_decoder: unable to open %s\n", cdata->URI); free(opriv); - priv->opriv=NULL; + priv->opriv = NULL; return FALSE; } #ifdef IS_MINGW - setmode(opriv->fd,O_BINARY); + setmode(opriv->fd, O_BINARY); #endif - if (isclone&&!priv->inited) { - isclone=FALSE; - if (cdata->fps>0.&&cdata->nframes>0) - is_partial_clone=TRUE; + if (isclone && !priv->inited) { + isclone = FALSE; + if (cdata->fps > 0. && cdata->nframes > 0) + is_partial_clone = TRUE; } if (!isclone) { - stat(cdata->URI,&sb); - opriv->total_bytes=sb.st_size; + stat(cdata->URI, &sb); + opriv->total_bytes = sb.st_size; } - opriv->page_valid=0; + opriv->page_valid = 0; // index init - priv->idxc=idxc_for(cdata); + priv->idxc = idxc_for(cdata); /* get ogg info */ if (!open_ogg(cdata)) { close(opriv->fd); free(opriv); - priv->opriv=NULL; + priv->opriv = NULL; return FALSE; } - priv->last_kframe=10000000; - priv->last_frame=100000000; - priv->inited=TRUE; + priv->last_kframe = 10000000; + priv->last_frame = 100000000; + priv->inited = TRUE; #ifdef HAVE_THEORA - if (priv->vstream->stpriv->fourcc_priv==FOURCC_THEORA) { + if (priv->vstream->stpriv->fourcc_priv == FOURCC_THEORA) { // theora only int i; ogg_packet op; uint8_t *ext_pos; - theora_priv_t *tpriv=priv->tpriv=(theora_priv_t *)malloc(sizeof(theora_priv_t)); + theora_priv_t *tpriv = priv->tpriv = (theora_priv_t *)malloc(sizeof(theora_priv_t)); /* Initialize theora structures */ theora_info_init(&tpriv->ti); theora_comment_init(&tpriv->tc); /* Get header packets and initialize decoder */ - if (priv->vstream->ext_data==NULL) { + if (priv->vstream->ext_data == NULL) { fprintf(stderr, "Theora codec requires extra data\n"); close(opriv->fd); free(opriv); - priv->opriv=NULL; + priv->opriv = NULL; free(tpriv); - priv->tpriv=NULL; + priv->tpriv = NULL; return FALSE; } ext_pos = priv->vstream->ext_data; - for (i=0; i<3; i++) { + for (i = 0; i < 3; i++) { ext_pos = ptr_2_op(ext_pos, &op); theora_decode_header(&tpriv->ti, &tpriv->tc, &op); } @@ -1775,28 +1775,28 @@ // check to find whether first frame is zero or one // if version >= 3.2.1 first kframe is 1; otherwise 0 - if (priv->vstream->version>=3002001) priv->kframe_offset=1; - else priv->kframe_offset=0; + if (priv->vstream->version >= 3002001) priv->kframe_offset = 1; + else priv->kframe_offset = 0; } #endif #ifdef HAVE_DIRAC - if (priv->vstream->stpriv->fourcc_priv==FOURCC_DIRAC) { + if (priv->vstream->stpriv->fourcc_priv == FOURCC_DIRAC) { // dirac only - dirac_priv_t *dpriv=priv->dpriv=(dirac_priv_t *)malloc(sizeof(dirac_priv_t)); + dirac_priv_t *dpriv = priv->dpriv = (dirac_priv_t *)malloc(sizeof(dirac_priv_t)); schro_init(); - dpriv->schroframe=NULL; + dpriv->schroframe = NULL; - if ((dpriv->schrodec=schro_decoder_new())==NULL) { + if ((dpriv->schrodec = schro_decoder_new()) == NULL) { fprintf(stderr, "Failed to init schro decoder\n"); close(opriv->fd); free(opriv); - priv->opriv=NULL; + priv->opriv = NULL; free(dpriv); - priv->dpriv=NULL; + priv->dpriv = NULL; return FALSE; } //schro_debug_set_level(SCHRO_LEVEL_WARNING); @@ -1807,43 +1807,43 @@ if (isclone) return TRUE; - cdata->nclips=1; + cdata->nclips = 1; // video part - cdata->interlace=LIVES_INTERLACE_NONE; + cdata->interlace = LIVES_INTERLACE_NONE; - cdata->par=1.; + cdata->par = 1.; // TODO - cdata->offs_x=0; - cdata->offs_y=0; - cdata->frame_width=cdata->width; - cdata->frame_height=cdata->height; + cdata->offs_x = 0; + cdata->offs_y = 0; + cdata->frame_width = cdata->width; + cdata->frame_height = cdata->height; - cdata->YUV_clamping=WEED_YUV_CLAMPING_CLAMPED; - cdata->YUV_subspace=WEED_YUV_SUBSPACE_YCBCR; - cdata->YUV_sampling=WEED_YUV_SAMPLING_DEFAULT; + cdata->YUV_clamping = WEED_YUV_CLAMPING_CLAMPED; + cdata->YUV_subspace = WEED_YUV_SUBSPACE_YCBCR; + cdata->YUV_sampling = WEED_YUV_SAMPLING_DEFAULT; /* Get format */ #ifdef HAVE_THEORA - if (priv->vstream->stpriv->fourcc_priv==FOURCC_THEORA) { - theora_priv_t *tpriv=priv->tpriv; + if (priv->vstream->stpriv->fourcc_priv == FOURCC_THEORA) { + theora_priv_t *tpriv = priv->tpriv; cdata->width = cdata->frame_width = opriv->y_width = tpriv->ti.frame_width; cdata->height = cdata->frame_height = opriv->y_height = tpriv->ti.frame_height; - if (cdata->fps==0.) cdata->fps = (float)tpriv->ti.fps_numerator/(float)tpriv->ti.fps_denominator; + if (cdata->fps == 0.) cdata->fps = (float)tpriv->ti.fps_numerator / (float)tpriv->ti.fps_denominator; switch (tpriv->ti.pixelformat) { case OC_PF_420: cdata->palettes[0] = WEED_PALETTE_YUV420P; - opriv->uv_width = opriv->y_width>>1; + opriv->uv_width = opriv->y_width >> 1; break; case OC_PF_422: cdata->palettes[0] = WEED_PALETTE_YUV422P; - opriv->uv_width = opriv->y_width>>1; + opriv->uv_width = opriv->y_width >> 1; break; case OC_PF_444: cdata->palettes[0] = WEED_PALETTE_YUV444P; @@ -1854,25 +1854,25 @@ return FALSE; } - cdata->palettes[1]=WEED_PALETTE_END; - cdata->current_palette=cdata->palettes[0]; - sprintf(cdata->video_name,"%s","theora"); - - if (tpriv->tc.comments>0) { - size_t lenleft=256,csize; - char *cbuf=cdata->comment; - for (i=0; i<=tpriv->tc.comments; i++) { - csize=tpriv->tc.comment_lengths[i]; - if (csize>lenleft) csize=lenleft; - snprintf(cbuf,csize,"%s",tpriv->tc.user_comments[i]); - cbuf+=csize; - lenleft-=csize; - if (lenleft==0) break; - if (i+1<=tpriv->tc.comments) { - if (lenleft<strlen("\n")+1) break; - sprintf(cbuf,"\n"); - cbuf+=strlen("\n"); - lenleft-=strlen("\n"); + cdata->palettes[1] = WEED_PALETTE_END; + cdata->current_palette = cdata->palettes[0]; + sprintf(cdata->video_name, "%s", "theora"); + + if (tpriv->tc.comments > 0) { + size_t lenleft = 256, csize; + char *cbuf = cdata->comment; + for (i = 0; i <= tpriv->tc.comments; i++) { + csize = tpriv->tc.comment_lengths[i]; + if (csize > lenleft) csize = lenleft; + snprintf(cbuf, csize, "%s", tpriv->tc.user_comments[i]); + cbuf += csize; + lenleft -= csize; + if (lenleft == 0) break; + if (i + 1 <= tpriv->tc.comments) { + if (lenleft < strlen("\n") + 1) break; + sprintf(cbuf, "\n"); + cbuf += strlen("\n"); + lenleft -= strlen("\n"); } } } @@ -1882,28 +1882,28 @@ #ifdef HAVE_DIRAC - if (priv->vstream->stpriv->fourcc_priv==FOURCC_DIRAC) { + if (priv->vstream->stpriv->fourcc_priv == FOURCC_DIRAC) { // feed some pages to the decoder so it gets the idea - dirac_priv_t *dpriv=priv->dpriv; - int64_t start_pos=priv->input_position; + dirac_priv_t *dpriv = priv->dpriv; + int64_t start_pos = priv->input_position; - seek_byte(cdata,priv->vstream->data_start); + seek_byte(cdata, priv->vstream->data_start); while (1) { int64_t input_pos; - boolean done=FALSE; + boolean done = FALSE; - opriv->page_valid=0; + opriv->page_valid = 0; - if (!(input_pos=get_page(cdata,priv->input_position))) { + if (!(input_pos = get_page(cdata, priv->input_position))) { // should never reach here fprintf(stderr, "EOF1 while decoding\n"); return FALSE; } - priv->input_position+=input_pos; + priv->input_position += input_pos; - if (ogg_page_serialno(&(opriv->current_page))!=priv->vstream->stream_id) continue; + if (ogg_page_serialno(&(opriv->current_page)) != priv->vstream->stream_id) continue; ogg_stream_pagein(&priv->vstream->stpriv->os, &(opriv->current_page)); while (ogg_stream_packetout(&priv->vstream->stpriv->os, &opriv->op) > 0) { @@ -1916,10 +1916,10 @@ state = schro_decoder_autoparse_wait(dpriv->schrodec); - if (state==SCHRO_DECODER_FIRST_ACCESS_UNIT) { + if (state == SCHRO_DECODER_FIRST_ACCESS_UNIT) { // should have our cdata now - get_dirac_cdata(cdata,dpriv->schrodec); - done=TRUE; + get_dirac_cdata(cdata, dpriv->schrodec); + done = TRUE; break; } if (done) break; @@ -1927,38 +1927,38 @@ if (done) break; } - cdata->current_palette=cdata->palettes[0]; + cdata->current_palette = cdata->palettes[0]; // reset and seek back to start //fprintf(stderr,"got dirac fps=%.4f %d x %d\n",cdata->fps,cdata->width,cdata->height); schro_decoder_reset(dpriv->schrodec); - seek_byte(cdata,start_pos); + seek_byte(cdata, start_pos); ogg_stream_reset(&priv->vstream->stpriv->os); // find first keyframe find_first_sync_frame(cdata, priv->vstream->data_start, opriv->total_bytes, &priv->kframe_offset); - sprintf(cdata->video_name,"%s","dirac"); + sprintf(cdata->video_name, "%s", "dirac"); } #endif - sprintf(cdata->container_name,"%s","ogg"); + sprintf(cdata->container_name, "%s", "ogg"); // audio part - cdata->asigned=FALSE; - cdata->achans=0; - cdata->ainterleaf=TRUE; - cdata->asamps=0; + cdata->asigned = FALSE; + cdata->achans = 0; + cdata->ainterleaf = TRUE; + cdata->asamps = 0; - if (priv->astream!=NULL) { - sprintf(cdata->audio_name,"%s","vorbis"); - } else memset(cdata->audio_name,0,1); + if (priv->astream != NULL) { + sprintf(cdata->audio_name, "%s", "vorbis"); + } else memset(cdata->audio_name, 0, 1); if (isclone) return TRUE; @@ -1966,39 +1966,39 @@ // get duration - if (priv->astream!=NULL) { + if (priv->astream != NULL) { ogg_stream_reset(&priv->astream->stpriv->os); - gpos=get_last_granulepos(cdata,priv->astream->stream_id); + gpos = get_last_granulepos(cdata, priv->astream->stream_id); stream_duration = - granulepos_2_time(priv->astream,gpos); - priv->astream->duration=stream_duration; - priv->astream->stpriv->last_granulepos=gpos; + granulepos_2_time(priv->astream, gpos); + priv->astream->duration = stream_duration; + priv->astream->stpriv->last_granulepos = gpos; //printf("priv->astream duration is %.4f\n",stream_duration); } - if (priv->vstream!=NULL) { + if (priv->vstream != NULL) { ogg_stream_reset(&priv->vstream->stpriv->os); - gpos=get_last_granulepos(cdata,priv->vstream->stream_id); + gpos = get_last_granulepos(cdata, priv->vstream->stream_id); /* kframe=gpos >> priv->vstream->priv->keyframe_granule_shift; priv->vstream->nframes = kframe + gpos-(kframe<<priv->vstream->priv->keyframe_granule_shift);*/ - priv->vstream->nframes=gpos; + priv->vstream->nframes = gpos; stream_duration = - granulepos_2_time(priv->vstream,gpos); - priv->vstream->duration=stream_duration; - priv->vstream->stpriv->last_granulepos=gpos; + granulepos_2_time(priv->vstream, gpos); + priv->vstream->duration = stream_duration; + priv->vstream->stpriv->last_granulepos = gpos; //printf("priv->vstream duration is %.4f %ld\n",stream_duration,priv->vstream->nframes); } if (is_partial_clone) return TRUE; - cdata->nframes=priv->vstream->nframes; + cdata->nframes = priv->vstream->nframes; - if (cdata->width!=cdata->frame_width||cdata->height!=cdata->frame_height) - fprintf(stderr,"ogg_decoder: info - frame size=%d x %d, pixel size=%d x %d\n",cdata->frame_width,cdata->frame_height,cdata->width, + if (cdata->width != cdata->frame_width || cdata->height != cdata->frame_height) + fprintf(stderr, "ogg_decoder: info - frame size=%d x %d, pixel size=%d x %d\n", cdata->frame_width, cdata->frame_height, cdata->width, cdata->height); @@ -2010,11 +2010,11 @@ static void detach_stream(lives_clip_data_t *cdata) { // close the file, free the decoder - lives_ogg_priv_t *priv=(lives_ogg_priv_t *)cdata->priv; - ogg_t *opriv=priv->opriv; + lives_ogg_priv_t *priv = (lives_ogg_priv_t *)cdata->priv; + ogg_t *opriv = priv->opriv; #ifdef HAVE_DIRAC - dirac_priv_t *dpriv=priv->dpriv; + dirac_priv_t *dpriv = priv->dpriv; #endif close(opriv->fd); @@ -2022,53 +2022,53 @@ ogg_sync_clear(&opriv->oy); #ifdef HAVE_THEORA - if (priv->tpriv!=NULL) { + if (priv->tpriv != NULL) { // theora only // TODO - call function in decoder - theora_priv_t *tpriv=priv->tpriv; + theora_priv_t *tpriv = priv->tpriv; theora_clear(&tpriv->ts); theora_comment_clear(&tpriv->tc); theora_info_clear(&tpriv->ti); free(tpriv); - priv->tpriv=NULL; + priv->tpriv = NULL; } #endif #ifdef HAVE_DIRAC - if (priv->dpriv!=NULL) { + if (priv->dpriv != NULL) { schro_decoder_reset(dpriv->schrodec); - if (dpriv->schroframe!=NULL) { + if (dpriv->schroframe != NULL) { schro_frame_unref(dpriv->schroframe); } - if (dpriv->schrodec!=NULL) schro_decoder_free(dpriv->schrodec); - dpriv->schrodec=NULL; - dpriv->schroframe=NULL; + if (dpriv->schrodec != NULL) schro_decoder_free(dpriv->schrodec); + dpriv->schrodec = NULL; + dpriv->schroframe = NULL; free(dpriv); - priv->dpriv=NULL; + priv->dpriv = NULL; } #endif // free stream data - if (priv->astream!=NULL) { - if (priv->astream->ext_data!=NULL) free(priv->astream->ext_data); + if (priv->astream != NULL) { + if (priv->astream->ext_data != NULL) free(priv->astream->ext_data); ogg_stream_clear(&priv->astream->stpriv->os); free(priv->astream->stpriv); free(priv->astream); - priv->astream=NULL; + priv->astream = NULL; } - if (priv->vstream!=NULL) { - if (priv->vstream->ext_data!=NULL) free(priv->vstream->ext_data); + if (priv->vstream != NULL) { + if (priv->vstream->ext_data != NULL) free(priv->vstream->ext_data); ogg_stream_clear(&priv->vstream->stpriv->os); free(priv->vstream->stpriv); free(priv->vstream); - priv->vstream=NULL; + priv->vstream = NULL; } - if (cdata->palettes!=NULL) free(cdata->palettes); - cdata->palettes=NULL; + if (cdata->palettes != NULL) free(cdata->palettes); + cdata->palettes = NULL; } @@ -2076,11 +2076,11 @@ static inline int64_t frame_to_gpos(lives_clip_data_t *cdata, int64_t kframe, int64_t frame) { // this is only valid for theora; for dirac there is no unique gpos for a particular frame - lives_ogg_priv_t *priv=(lives_ogg_priv_t *)cdata->priv; - if (priv->vstream->stpriv->fourcc_priv==FOURCC_DIRAC) { + lives_ogg_priv_t *priv = (lives_ogg_priv_t *)cdata->priv; + if (priv->vstream->stpriv->fourcc_priv == FOURCC_DIRAC) { return kframe; } - return (kframe << priv->vstream->stpriv->keyframe_granule_shift) + (frame-kframe); + return (kframe << priv->vstream->stpriv->keyframe_granule_shift) + (frame - kframe); } @@ -2119,110 +2119,110 @@ // match - int64_t start_pos,end_pos,pagepos=-1; - int64_t frame,kframe,segsize; + int64_t start_pos, end_pos, pagepos = -1; + int64_t frame, kframe, segsize; - lives_ogg_priv_t *priv=(lives_ogg_priv_t *)cdata->priv; - ogg_t *opriv=priv->opriv; + lives_ogg_priv_t *priv = (lives_ogg_priv_t *)cdata->priv; + ogg_t *opriv = priv->opriv; - int64_t best_kframe=-1; - int64_t best_frame=-1; - int64_t best_pagepos=-1; + int64_t best_kframe = -1; + int64_t best_frame = -1; + int64_t best_pagepos = -1; //fprintf(stderr,"seek to frame %ld %d\n",tframe,can_exact); - if (tframe<priv->kframe_offset) { - priv->cpagepos=priv->vstream->data_start; + if (tframe < priv->kframe_offset) { + priv->cpagepos = priv->vstream->data_start; if (!can_exact) { - seek_byte(cdata,priv->vstream->data_start); - return frame_to_gpos(cdata,priv->kframe_offset,1); + seek_byte(cdata, priv->vstream->data_start); + return frame_to_gpos(cdata, priv->kframe_offset, 1); } - return frame_to_gpos(cdata,priv->kframe_offset,0); + return frame_to_gpos(cdata, priv->kframe_offset, 0); } - if (ppos_lower<0) ppos_lower=priv->vstream->data_start; - if (ppos_upper<0) ppos_upper=opriv->total_bytes; - if (ppos_upper>opriv->total_bytes) ppos_upper=opriv->total_bytes; + if (ppos_lower < 0) ppos_lower = priv->vstream->data_start; + if (ppos_upper < 0) ppos_upper = opriv->total_bytes; + if (ppos_upper > opriv->total_bytes) ppos_upper = opriv->total_bytes; - start_pos=ppos_lower; - end_pos=ppos_upper; + start_pos = ppos_lower; + end_pos = ppos_upper; - segsize=(end_pos-start_pos+1)>>1; + segsize = (end_pos - start_pos + 1) >> 1; do { // see if the frame lies in current segment - if (start_pos<ppos_lower) start_pos=ppos_lower; - if (end_pos>ppos_upper) end_pos=ppos_upper; + if (start_pos < ppos_lower) start_pos = ppos_lower; + if (end_pos > ppos_upper) end_pos = ppos_upper; - if (start_pos>=end_pos) { - if (start_pos==ppos_lower) { - if (!can_exact) seek_byte(cdata,start_pos); - priv->cpagepos=start_pos; - return frame_to_gpos(cdata,priv->kframe_offset,1); + if (start_pos >= end_pos) { + if (start_pos == ppos_lower) { + if (!can_exact) seek_byte(cdata, start_pos); + priv->cpagepos = start_pos; + return frame_to_gpos(cdata, priv->kframe_offset, 1); } break; } //fprintf(stderr,"check seg %ld to %ld for %ld\n",start_pos,end_pos,tframe); - if (priv->vstream->stpriv->fourcc_priv==FOURCC_THEORA) pagepos=find_first_page(cdata,start_pos,end_pos,&kframe,&frame); + if (priv->vstream->stpriv->fourcc_priv == FOURCC_THEORA) pagepos = find_first_page(cdata, start_pos, end_pos, &kframe, &frame); #ifdef HAVE_DIRAC else { - pagepos=find_first_sync_frame(cdata,start_pos,end_pos,&kframe); - frame=kframe; + pagepos = find_first_sync_frame(cdata, start_pos, end_pos, &kframe); + frame = kframe; } #endif - if (pagepos!=-1&&kframe!=-1) { + if (pagepos != -1 && kframe != -1) { // found a keyframe //fprintf(stderr,"first sync_frame is %ld %ld\n",kframe,frame); - if (can_exact&&frame>=tframe&&kframe<=tframe) { + if (can_exact && frame >= tframe && kframe <= tframe) { // got it ! //fprintf(stderr,"seek got keyframe %ld for %ld\n",kframe,tframe); - priv->cpagepos=pagepos; - return frame_to_gpos(cdata,kframe,frame); + priv->cpagepos = pagepos; + return frame_to_gpos(cdata, kframe, frame); } - if ((kframe<tframe||(can_exact&&kframe==tframe))&&kframe>best_kframe) { - best_kframe=kframe; - best_frame=frame; - best_pagepos=pagepos; + if ((kframe < tframe || (can_exact && kframe == tframe)) && kframe > best_kframe) { + best_kframe = kframe; + best_frame = frame; + best_pagepos = pagepos; } - if (frame>=tframe) { + if (frame >= tframe) { //fprintf(stderr,"checking lower segment\n"); // check previous segment - start_pos-=segsize; - end_pos-=segsize; - } else start_pos=pagepos; + start_pos -= segsize; + end_pos -= segsize; + } else start_pos = pagepos; } // no keyframe found, check lower segment else { //fprintf(stderr,"no keyframe, checking lower segment\n"); - end_pos-=segsize; - start_pos-=segsize; + end_pos -= segsize; + start_pos -= segsize; } - segsize=(end_pos-start_pos+1)>>1; - start_pos+=segsize; - } while (segsize>64); + segsize = (end_pos - start_pos + 1) >> 1; + start_pos += segsize; + } while (segsize > 64); - if (best_kframe>-1) { - int64_t gpos=frame_to_gpos(cdata,best_kframe,tframe); + if (best_kframe > -1) { + int64_t gpos = frame_to_gpos(cdata, best_kframe, tframe); //fprintf(stderr,"seek2 got keyframe %ld %ld\n",best_kframe,best_frame); - if (!can_exact) seek_byte(cdata,best_pagepos); - priv->cpagepos=best_pagepos; + if (!can_exact) seek_byte(cdata, best_pagepos); + priv->cpagepos = best_pagepos; // TODO - add to vlc - if (priv->vstream->stpriv->fourcc_priv==FOURCC_THEORA) { + if (priv->vstream->stpriv->fourcc_priv == FOURCC_THEORA) { pthread_mutex_lock(&priv->idxc->mutex); - theora_index_entry_add((lives_clip_data_t *)cdata,gpos,priv->cpagepos); + theora_index_entry_add((lives_clip_data_t *)cdata, gpos, priv->cpagepos); pthread_mutex_unlock(&priv->idxc->mutex); } - gpos=frame_to_gpos(cdata,best_kframe,best_frame); + gpos = frame_to_gpos(cdata, best_kframe, best_frame); return gpos; } @@ -2245,126 +2245,126 @@ const char *module_check_init(void) { - indices=NULL; - nidxc=0; - pthread_mutex_init(&indices_mutex,NULL); + indices = NULL; + nidxc = 0; + pthread_mutex_init(&indices_mutex, NULL); return NULL; } lives_clip_data_t *init_cdata(void) { - lives_clip_data_t *cdata=(lives_clip_data_t *)malloc(sizeof(lives_clip_data_t)); - lives_ogg_priv_t *priv=malloc(sizeof(lives_ogg_priv_t));; + lives_clip_data_t *cdata = (lives_clip_data_t *)malloc(sizeof(lives_clip_data_t)); + lives_ogg_priv_t *priv = malloc(sizeof(lives_ogg_priv_t));; - cdata->priv=priv; + cdata->priv = priv; - priv->vstream=NULL; - priv->astream=NULL; - priv->inited=FALSE; + priv->vstream = NULL; + priv->astream = NULL; + priv->inited = FALSE; - priv->opriv=NULL; + priv->opriv = NULL; #ifdef HAVE_THEORA - priv->tpriv=NULL; + priv->tpriv = NULL; #endif #ifdef HAVE_DIRAC - priv->dpriv=NULL; + priv->dpriv = NULL; #endif - priv->idxc=NULL; + priv->idxc = NULL; - cdata->video_start_time=0.; - cdata->sync_hint=0; + cdata->video_start_time = 0.; + cdata->sync_hint = 0; - cdata->fps=0.; + cdata->fps = 0.; - cdata->palettes=malloc(2*sizeof(int)); - cdata->palettes[1]=WEED_PALETTE_END; + cdata->palettes = malloc(2 * sizeof(int)); + cdata->palettes[1] = WEED_PALETTE_END; - cdata->URI=NULL; + cdata->URI = NULL; - memset(cdata->author,0,1); - memset(cdata->title,0,1); - memset(cdata->comment,0,1); + memset(cdata->author, 0, 1); + memset(cdata->title, 0, 1); + memset(cdata->comment, 0, 1); return cdata; } static lives_clip_data_t *ogg_clone(lives_clip_data_t *cdata) { - lives_clip_data_t *clone=init_cdata(); - lives_ogg_priv_t *dpriv,*spriv; + lives_clip_data_t *clone = init_cdata(); + lives_ogg_priv_t *dpriv, *spriv; ogg_t *dopriv; ogg_t *sopriv; // copy from cdata to clone, with a new context for clone - clone->URI=strdup(cdata->URI); - clone->nclips=cdata->nclips; - snprintf(clone->container_name,512,"%s",cdata->container_name); - clone->current_clip=cdata->current_clip; - clone->width=cdata->width; - clone->height=cdata->height; - clone->nframes=cdata->nframes; - clone->interlace=cdata->interlace; - clone->offs_x=cdata->offs_x; - clone->offs_y=cdata->offs_y; - clone->frame_width=cdata->frame_width; - clone->frame_height=cdata->frame_height; - clone->par=cdata->par; - clone->fps=cdata->fps; - if (cdata->palettes!=NULL) clone->palettes[0]=cdata->palettes[0]; - clone->current_palette=cdata->current_palette; - clone->YUV_sampling=cdata->YUV_sampling; - clone->YUV_clamping=cdata->YUV_clamping; - snprintf(clone->video_name,512,"%s",cdata->video_name); - clone->arate=cdata->arate; - clone->achans=cdata->achans; - clone->asamps=cdata->asamps; - clone->asigned=cdata->asigned; - clone->ainterleaf=cdata->ainterleaf; - snprintf(clone->audio_name,512,"%s",cdata->audio_name); - clone->seek_flag=cdata->seek_flag; - clone->sync_hint=cdata->sync_hint; - clone->video_start_time=cdata->video_start_time; - - snprintf(clone->author,256,"%s",cdata->author); - snprintf(clone->title,256,"%s",cdata->title); - snprintf(clone->comment,256,"%s",cdata->comment); + clone->URI = strdup(cdata->URI); + clone->nclips = cdata->nclips; + snprintf(clone->container_name, 512, "%s", cdata->container_name); + clone->current_clip = cdata->current_clip; + clone->width = cdata->width; + clone->height = cdata->height; + clone->nframes = cdata->nframes; + clone->interlace = cdata->interlace; + clone->offs_x = cdata->offs_x; + clone->offs_y = cdata->offs_y; + clone->frame_width = cdata->frame_width; + clone->frame_height = cdata->frame_height; + clone->par = cdata->par; + clone->fps = cdata->fps; + if (cdata->palettes != NULL) clone->palettes[0] = cdata->palettes[0]; + clone->current_palette = cdata->current_palette; + clone->YUV_sampling = cdata->YUV_sampling; + clone->YUV_clamping = cdata->YUV_clamping; + snprintf(clone->video_name, 512, "%s", cdata->video_name); + clone->arate = cdata->arate; + clone->achans = cdata->achans; + clone->asamps = cdata->asamps; + clone->asigned = cdata->asigned; + clone->ainterleaf = cdata->ainterleaf; + snprintf(clone->audio_name, 512, "%s", cdata->audio_name); + clone->seek_flag = cdata->seek_flag; + clone->sync_hint = cdata->sync_hint; + clone->video_start_time = cdata->video_start_time; + + snprintf(clone->author, 256, "%s", cdata->author); + snprintf(clone->title, 256, "%s", cdata->title); + snprintf(clone->comment, 256, "%s", cdata->comment); // create "priv" elements - dpriv=clone->priv; - spriv=cdata->priv; + dpriv = clone->priv; + spriv = cdata->priv; - if (spriv!=NULL) { - sopriv=spriv->opriv; - dopriv=dpriv->opriv; - dpriv->inited=TRUE; - dopriv->total_bytes=sopriv->total_bytes; + if (spriv != NULL) { + sopriv = spriv->opriv; + dopriv = dpriv->opriv; + dpriv->inited = TRUE; + dopriv->total_bytes = sopriv->total_bytes; } - if (!attach_stream(clone,TRUE)) { + if (!attach_stream(clone, TRUE)) { free(clone->URI); - clone->URI=NULL; + clone->URI = NULL; clip_data_free(clone); return NULL; } - if (spriv!=NULL) { + if (spriv != NULL) { ogg_stream_reset(&dpriv->astream->stpriv->os); - dpriv->astream->duration=spriv->astream->duration; - dpriv->astream->stpriv->last_granulepos=spriv->astream->stpriv->last_granulepos; + dpriv->astream->duration = spriv->astream->duration; + dpriv->astream->stpriv->last_granulepos = spriv->astream->stpriv->last_granulepos; ogg_stream_reset(&dpriv->vstream->stpriv->os); - dpriv->vstream->nframes=spriv->vstream->nframes; - dpriv->vstream->duration=spriv->vstream->duration; - dpriv->vstream->stpriv->last_granulepos=spriv->vstream->stpriv->last_granulepos; + dpriv->vstream->nframes = spriv->vstream->nframes; + dpriv->vstream->duration = spriv->vstream->duration; + dpriv->vstream->stpriv->last_granulepos = spriv->vstream->stpriv->last_granulepos; } - dpriv->last_frame=-1; + dpriv->last_frame = -1; return clone; } @@ -2382,40 +2382,40 @@ // cdata as the second parameter lives_ogg_priv_t *priv; - if (URI==NULL&&cdata!=NULL) { + if (URI == NULL && cdata != NULL) { // create a clone of cdata - we also need to be able to handle a "fake" clone with only URI, nframes and fps set (priv == NULL) return ogg_clone(cdata); } - if (cdata!=NULL&&cdata->current_clip>0) { + if (cdata != NULL && cdata->current_clip > 0) { // currently we only support one clip per container clip_data_free(cdata); return NULL; } - if (cdata==NULL) { - cdata=init_cdata(); + if (cdata == NULL) { + cdata = init_cdata(); } - priv=(lives_ogg_priv_t *)cdata->priv; + priv = (lives_ogg_priv_t *)cdata->priv; - if (cdata->URI==NULL||strcmp(URI,cdata->URI)) { - if (cdata->URI!=NULL) { + if (cdata->URI == NULL || strcmp(URI, cdata->URI)) { + if (cdata->URI != NULL) { detach_stream(cdata); free(cdata->URI); } - cdata->URI=strdup(URI); - if (!attach_stream(cdata,FALSE)) { + cdata->URI = strdup(URI); + if (!attach_stream(cdata, FALSE)) { free(cdata->URI); - cdata->URI=NULL; + cdata->URI = NULL; clip_data_free(cdata); return NULL; } - cdata->current_clip=0; + cdata->current_clip = 0; } - if (priv->vstream==NULL) { + if (priv->vstream == NULL) { clip_data_free(cdata); return NULL; } @@ -2429,15 +2429,15 @@ static boolean ogg_theora_read(lives_clip_data_t *cdata, ogg_packet *op, yuv_buffer *yuv) { // this packet is for our theora decoder - lives_ogg_priv_t *priv=(lives_ogg_priv_t *)cdata->priv; - theora_priv_t *tpriv=priv->tpriv; + lives_ogg_priv_t *priv = (lives_ogg_priv_t *)cdata->priv; + theora_priv_t *tpriv = priv->tpriv; //printf("skip is %d\n",priv->skip); - if (theora_decode_packetin(&tpriv->ts,op)==0) { - if (priv->skip<=0) { - if (theora_decode_YUVout(&tpriv->ts, yuv)==0) { - priv->frame_out=TRUE; + if (theora_decode_packetin(&tpriv->ts, op) == 0) { + if (priv->skip <= 0) { + if (theora_decode_YUVout(&tpriv->ts, yuv) == 0) { + priv->frame_out = TRUE; } } } @@ -2449,52 +2449,52 @@ #ifdef HAVE_THEORA static size_t write_black_pixel(unsigned char *idst, int pal, int npixels, int y_black) { - unsigned char *dst=idst; + unsigned char *dst = idst; register int i; - for (i=0; i<npixels; i++) { + for (i = 0; i < npixels; i++) { switch (pal) { case WEED_PALETTE_RGBA32: case WEED_PALETTE_BGRA32: - dst[0]=dst[1]=dst[2]=0; - dst[3]=255; - dst+=4; + dst[0] = dst[1] = dst[2] = 0; + dst[3] = 255; + dst += 4; break; case WEED_PALETTE_ARGB32: - dst[1]=dst[2]=dst[3]=0; - dst[0]=255; - dst+=4; + dst[1] = dst[2] = dst[3] = 0; + dst[0] = 255; + dst += 4; break; case WEED_PALETTE_UYVY8888: - dst[1]=dst[3]=y_black; - dst[0]=dst[2]=128; - dst+=4; + dst[1] = dst[3] = y_black; + dst[0] = dst[2] = 128; + dst += 4; break; case WEED_PALETTE_YUYV8888: - dst[0]=dst[2]=y_black; - dst[1]=dst[3]=128; - dst+=4; + dst[0] = dst[2] = y_black; + dst[1] = dst[3] = 128; + dst += 4; break; case WEED_PALETTE_YUV888: - dst[0]=y_black; - dst[1]=dst[2]=128; - dst+=3; + dst[0] = y_black; + dst[1] = dst[2] = 128; + dst += 3; break; case WEED_PALETTE_YUVA8888: - dst[0]=y_black; - dst[1]=dst[2]=128; - dst[3]=255; - dst+=4; + dst[0] = y_black; + dst[1] = dst[2] = 128; + dst[3] = 255; + dst += 4; break; case WEED_PALETTE_YUV411: - dst[0]=dst[3]=128; - dst[1]=dst[2]=dst[4]=dst[5]=y_black; - dst+=6; + dst[0] = dst[3] = 128; + dst[1] = dst[2] = dst[4] = dst[5] = y_black; + dst += 6; default: break; } } - return idst-dst; + return idst - dst; } #endif @@ -2503,33 +2503,33 @@ static void schroframe_to_pixel_data(SchroFrame *sframe, uint8_t **pixel_data) { - uint8_t *s_y=sframe->components[0].data; - uint8_t *s_u=sframe->components[1].data; - uint8_t *s_v=sframe->components[2].data; + uint8_t *s_y = sframe->components[0].data; + uint8_t *s_u = sframe->components[1].data; + uint8_t *s_v = sframe->components[2].data; - uint8_t *d_y=pixel_data[0]; - uint8_t *d_u=pixel_data[1]; - uint8_t *d_v=pixel_data[2]; + uint8_t *d_y = pixel_data[0]; + uint8_t *d_u = pixel_data[1]; + uint8_t *d_v = pixel_data[2]; register int i; - boolean crow=FALSE; + boolean crow = FALSE; - int mheight=(sframe->components[0].height >> 1) << 1; + int mheight = (sframe->components[0].height >> 1) << 1; - for (i=0; i<mheight; i++) { - memcpy(d_y,s_y,sframe->components[0].width); - d_y+=sframe->components[0].width; - s_y+=sframe->components[0].stride; - if (sframe->components[1].height==sframe->components[0].height||crow) { - memcpy(d_u,s_u,sframe->components[1].width); - memcpy(d_v,s_v,sframe->components[2].width); - d_u+=sframe->components[1].width; - d_v+=sframe->components[2].width; - s_u+=sframe->components[1].stride; - s_v+=sframe->components[2].stride; + for (i = 0; i < mheight; i++) { + memcpy(d_y, s_y, sframe->components[0].width); + d_y += sframe->components[0].width; + s_y += sframe->components[0].stride; + if (sframe->components[1].height == sframe->components[0].height || crow) { + memcpy(d_u, s_u, sframe->components[1].width); + memcpy(d_v, s_v, sframe->components[2].width); + d_u += sframe->components[1].width; + d_v += sframe->components[2].width; + s_u += sframe->components[1].stride; + s_v += sframe->components[2].stride; } - crow=!crow; + crow = !crow; sched_yield(); } } @@ -2541,9 +2541,9 @@ static int64_t ogg_dirac_read(lives_clip_data_t *cdata, ogg_packet *op, uint8_t **pixel_data, boolean cont) { // this packet is for our dirac decoder - lives_ogg_priv_t *priv=(lives_ogg_priv_t *)cdata->priv; - dirac_priv_t *dpriv=priv->dpriv; - SchroDecoder *sd=dpriv->schrodec; + lives_ogg_priv_t *priv = (lives_ogg_priv_t *)cdata->priv; + dirac_priv_t *dpriv = priv->dpriv; + SchroDecoder *sd = dpriv->schrodec; SchroBuffer *schrobuffer; SchroFrame *schroframe; int state; @@ -2555,15 +2555,15 @@ void *buf; if (!cont) { - buf=malloc(op->bytes); - memcpy(buf,op->packet,op->bytes); + buf = malloc(op->bytes); + memcpy(buf, op->packet, op->bytes); schrobuffer = schro_buffer_new_with_data(buf, op->bytes); - schrobuffer->priv=buf; + schrobuffer->priv = buf; schrobuffer->free = SchroBufferFree; - if (!schro_decoder_push_ready(sd)) fprintf(stderr,"decoder not ready !\n"); + if (!schro_decoder_push_ready(sd)) fprintf(stderr, "decoder not ready !\n"); schro_decoder_autoparse_push(sd, schrobuffer); } @@ -2591,27 +2591,27 @@ schroframe = schro_frame_new(); schro_frame_set_free_callback(schroframe, SchroFrameFree, NULL); - if (cdata->current_palette==WEED_PALETTE_YUV420P) schroframe->format = SCHRO_FRAME_FORMAT_U8_420; - if (cdata->current_palette==WEED_PALETTE_YUV422P) schroframe->format = SCHRO_FRAME_FORMAT_U8_422; - if (cdata->current_palette==WEED_PALETTE_YUV444P) schroframe->format = SCHRO_FRAME_FORMAT_U8_444; + if (cdata->current_palette == WEED_PALETTE_YUV420P) schroframe->format = SCHRO_FRAME_FORMAT_U8_420; + if (cdata->current_palette == WEED_PALETTE_YUV422P) schroframe->format = SCHRO_FRAME_FORMAT_U8_422; + if (cdata->current_palette == WEED_PALETTE_YUV444P) schroframe->format = SCHRO_FRAME_FORMAT_U8_444; - schroframe->width=frame_width=cdata->frame_width; - schroframe->height=frame_height=cdata->frame_height; + schroframe->width = frame_width = cdata->frame_width; + schroframe->height = frame_height = cdata->frame_height; - for (i=0; i<3; i++) { + for (i = 0; i < 3; i++) { schroframe->components[i].width = frame_width; schroframe->components[i].stride = frame_width; schroframe->components[i].height = frame_height; - schroframe->components[i].length = frame_width*frame_height; - schroframe->components[i].data = malloc(frame_width*frame_height); + schroframe->components[i].length = frame_width * frame_height; + schroframe->components[i].data = malloc(frame_width * frame_height); - if (i==0) { - if (cdata->current_palette==WEED_PALETTE_YUV420P) { - frame_width>>=1; - frame_height>>=1; + if (i == 0) { + if (cdata->current_palette == WEED_PALETTE_YUV420P) { + frame_width >>= 1; + frame_height >>= 1; } - if (cdata->current_palette==WEED_PALETTE_YUV422P) { - frame_width>>=1; + if (cdata->current_palette == WEED_PALETTE_YUV422P) { + frame_width >>= 1; } } else { @@ -2626,16 +2626,16 @@ break; case SCHRO_DECODER_OK: - priv->last_frame=schro_decoder_get_picture_number(sd); + priv->last_frame = schro_decoder_get_picture_number(sd); //else priv->last_frame++; //fprintf(stderr,"dirac decoding picture %ld skip is %d, target %ld\n",priv->last_frame,priv->skip,priv->cframe); - if ((schroframe=schro_decoder_pull(sd))!=NULL) { - if (priv->cframe<0||priv->cframe==priv->last_frame) { - priv->frame_out=TRUE; + if ((schroframe = schro_decoder_pull(sd)) != NULL) { + if (priv->cframe < 0 || priv->cframe == priv->last_frame) { + priv->frame_out = TRUE; // copy data to pixel_data - if (pixel_data!=NULL) { - schroframe_to_pixel_data(schroframe,pixel_data); - dpriv->schroframe=schroframe; + if (pixel_data != NULL) { + schroframe_to_pixel_data(schroframe, pixel_data); + dpriv->schroframe = schroframe; return TRUE; } } @@ -2644,12 +2644,12 @@ //priv->skip--; } //else printf("Null frame !\n"); - if (pixel_data==NULL) return TRUE; + if (pixel_data == NULL) return TRUE; break; case SCHRO_DECODER_ERROR: - fprintf(stderr,"Schro decoder error !\n"); - priv->frame_out=TRUE; + fprintf(stderr, "Schro decoder error !\n"); + priv->frame_out = TRUE; return priv->frame_out; } } @@ -2666,42 +2666,42 @@ static boolean ogg_data_process(lives_clip_data_t *cdata, void *yuvbuffer, boolean cont) { // yuvbuffer must be cast to whatever decoder expects - int64_t input_pos=0; - lives_ogg_priv_t *priv=(lives_ogg_priv_t *)cdata->priv; - ogg_t *opriv=priv->opriv; + int64_t input_pos = 0; + lives_ogg_priv_t *priv = (lives_ogg_priv_t *)cdata->priv; + ogg_t *opriv = priv->opriv; - priv->frame_out=FALSE; + priv->frame_out = FALSE; if (!cont) ogg_stream_reset(&priv->vstream->stpriv->os); #ifdef HAVE_DIRAC - if (priv->vstream->stpriv->fourcc_priv==FOURCC_DIRAC) { - priv->ignore_packets=FALSE; + if (priv->vstream->stpriv->fourcc_priv == FOURCC_DIRAC) { + priv->ignore_packets = FALSE; if (!cont) { - dirac_priv_t *dpriv=priv->dpriv; + dirac_priv_t *dpriv = priv->dpriv; schro_decoder_reset(dpriv->schrodec); - priv->last_frame=-1; + priv->last_frame = -1; } } #endif while (!priv->frame_out) { - opriv->page_valid=0; + opriv->page_valid = 0; if (!cont) { - if (!(input_pos=get_page(cdata,priv->input_position))) { + if (!(input_pos = get_page(cdata, priv->input_position))) { // should never reach here (except when discovering last frame for dirac) //fprintf(stderr, "EOF1 while decoding\n"); return FALSE; } - priv->input_position+=input_pos; + priv->input_position += input_pos; - if (ogg_page_serialno(&(opriv->current_page))!=priv->vstream->stream_id) continue; + if (ogg_page_serialno(&(opriv->current_page)) != priv->vstream->stream_id) continue; ogg_stream_pagein(&priv->vstream->stpriv->os, &(opriv->current_page)); //printf("pulled page\n"); } - while ((cont&&priv->vstream->stpriv->fourcc_priv==FOURCC_DIRAC) || + while ((cont && priv->vstream->stpriv->fourcc_priv == FOURCC_DIRAC) || ogg_stream_packetout(&priv->vstream->stpriv->os, &opriv->op) > 0) { // cframe is the frame we are about to decode @@ -2709,11 +2709,11 @@ //fprintf(stderr,"cframe is %ld\n",priv->cframe); #ifdef HAVE_THEORA - if (priv->vstream->stpriv->fourcc_priv==FOURCC_THEORA) { + if (priv->vstream->stpriv->fourcc_priv == FOURCC_THEORA) { if (!priv->ignore_packets) { - yuv_buffer *yuv=yuvbuffer; - ogg_theora_read(cdata,&opriv->op,yuv); + yuv_buffer *yuv = yuvbuffer; + ogg_theora_read(cdata, &opriv->op, yuv); } priv->cframe++; @@ -2724,16 +2724,16 @@ #endif #ifdef HAVE_DIRAC - if (priv->vstream->stpriv->fourcc_priv==FOURCC_DIRAC) { - uint8_t **yuv=yuvbuffer; + if (priv->vstream->stpriv->fourcc_priv == FOURCC_DIRAC) { + uint8_t **yuv = yuvbuffer; // TODO - if packet is seq start, add to index //printf("dec packet\n"); - ogg_dirac_read(cdata,&opriv->op,yuv, cont); + ogg_dirac_read(cdata, &opriv->op, yuv, cont); // dirac can pull several frames from the same packet - if (!priv->frame_out) cont=FALSE; + if (!priv->frame_out) cont = FALSE; } #endif @@ -2741,9 +2741,9 @@ sched_yield(); } - priv->ignore_packets=FALSE; // start decoding packets + priv->ignore_packets = FALSE; // start decoding packets - cont=FALSE; + cont = FALSE; } return TRUE; @@ -2753,7 +2753,7 @@ boolean get_frame(const lives_clip_data_t *cdata, int64_t tframe, int *rowstrides, int height, void **pixel_data) { // seek to frame, and return pixel_data - lives_ogg_priv_t *priv=(lives_ogg_priv_t *)cdata->priv; + lives_ogg_priv_t *priv = (lives_ogg_priv_t *)cdata->priv; #ifdef HAVE_THEORA yuv_buffer yuv; @@ -2761,88 +2761,88 @@ #endif #ifdef HAVE_DIRAC - dirac_priv_t *dpriv=priv->dpriv; - ogg_t *opriv=priv->opriv; + dirac_priv_t *dpriv = priv->dpriv; + ogg_t *opriv = priv->opriv; #endif - int64_t kframe=-1,xkframe; - boolean cont=FALSE; + int64_t kframe = -1, xkframe; + boolean cont = FALSE; int max_frame_diff; - int64_t granulepos=0; - int64_t ppos_lower=-1,ppos_upper=-1; + int64_t granulepos = 0; + int64_t ppos_lower = -1, ppos_upper = -1; - static index_entry *fidx=NULL; + static index_entry *fidx = NULL; #ifdef HAVE_THEORA register int p; - unsigned char *dst,*src; + unsigned char *dst, *src; - int y_black=(cdata->YUV_clamping==WEED_YUV_CLAMPING_CLAMPED)?16:0; - unsigned char black[4]= {0,0,0,255}; + int y_black = (cdata->YUV_clamping == WEED_YUV_CLAMPING_CLAMPED) ? 16 : 0; + unsigned char black[4] = {0, 0, 0, 255}; - int xheight=(cdata->frame_height>>1)<<1,pal=cdata->current_palette,nplanes=1,dstwidth=cdata->width,psize=1; - int btop=cdata->offs_y,bbot=xheight-1-btop; - int bleft=cdata->offs_x,bright=cdata->frame_width-cdata->width-bleft; + int xheight = (cdata->frame_height >> 1) << 1, pal = cdata->current_palette, nplanes = 1, dstwidth = cdata->width, psize = 1; + int btop = cdata->offs_y, bbot = xheight - 1 - btop; + int bleft = cdata->offs_x, bright = cdata->frame_width - cdata->width - bleft; - if (pixel_data!=NULL) { - if (pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_YUV422P||pal==WEED_PALETTE_YUV444P) { - nplanes=3; - black[0]=y_black; - black[1]=black[2]=128; - } else if (pal==WEED_PALETTE_YUVA4444P) { - nplanes=4; - black[0]=y_black; - black[1]=black[2]=128; - black[3]=255; + if (pixel_data != NULL) { + if (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_YUV422P || pal == WEED_PALETTE_YUV444P) { + nplanes = 3; + black[0] = y_black; + black[1] = black[2] = 128; + } else if (pal == WEED_PALETTE_YUVA4444P) { + nplanes = 4; + black[0] = y_black; + black[1] = black[2] = 128; + black[3] = 255; } - if (pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24) psize=3; + if (pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24) psize = 3; - if (pal==WEED_PALETTE_RGBA32||pal==WEED_PALETTE_BGRA32||pal==WEED_PALETTE_ARGB32||pal==WEED_PALETTE_UYVY8888|| - pal==WEED_PALETTE_YUYV8888||pal==WEED_PALETTE_YUV888||pal==WEED_PALETTE_YUVA8888) psize=4; + if (pal == WEED_PALETTE_RGBA32 || pal == WEED_PALETTE_BGRA32 || pal == WEED_PALETTE_ARGB32 || pal == WEED_PALETTE_UYVY8888 || + pal == WEED_PALETTE_YUYV8888 || pal == WEED_PALETTE_YUV888 || pal == WEED_PALETTE_YUVA8888) psize = 4; - if (pal==WEED_PALETTE_YUV411) psize=6; + if (pal == WEED_PALETTE_YUV411) psize = 6; - if (pal==WEED_PALETTE_A1) dstwidth>>=3; + if (pal == WEED_PALETTE_A1) dstwidth >>= 3; - dstwidth*=psize; + dstwidth *= psize; if (cdata->frame_height > cdata->height && height == cdata->height) { // host ignores vertical border - btop=0; - xheight=(cdata->height>>1)<<1; - bbot=xheight-1; + btop = 0; + xheight = (cdata->height >> 1) << 1; + bbot = xheight - 1; } - if (cdata->frame_width > cdata->width && rowstrides[0] < cdata->frame_width*psize) { + if (cdata->frame_width > cdata->width && rowstrides[0] < cdata->frame_width * psize) { // host ignores horizontal border - bleft=bright=0; + bleft = bright = 0; } } #endif - priv->current_pos=priv->input_position; + priv->current_pos = priv->input_position; - max_frame_diff=2<<(priv->vstream->stpriv->keyframe_granule_shift-2); + max_frame_diff = 2 << (priv->vstream->stpriv->keyframe_granule_shift - 2); - tframe+=priv->kframe_offset; + tframe += priv->kframe_offset; - if (tframe==priv->last_frame) { + if (tframe == priv->last_frame) { #ifdef HAVE_THEORA - if (priv->vstream->stpriv->fourcc_priv==FOURCC_THEORA) { - theora_priv_t *tpriv=priv->tpriv; + if (priv->vstream->stpriv->fourcc_priv == FOURCC_THEORA) { + theora_priv_t *tpriv = priv->tpriv; theora_decode_YUVout(&tpriv->ts, &yuv); } #endif #ifdef HAVE_DIRAC - if (priv->vstream->stpriv->fourcc_priv==FOURCC_DIRAC) { - dirac_priv_t *dpriv=priv->dpriv; - if (dpriv->schroframe!=NULL) { - schroframe_to_pixel_data(dpriv->schroframe,(uint8_t **)pixel_data); + if (priv->vstream->stpriv->fourcc_priv == FOURCC_DIRAC) { + dirac_priv_t *dpriv = priv->dpriv; + if (dpriv->schroframe != NULL) { + schroframe_to_pixel_data(dpriv->schroframe, (uint8_t **)pixel_data); return TRUE; } return FALSE; @@ -2850,198 +2850,198 @@ #endif } else { #ifdef HAVE_DIRAC - if (priv->vstream->stpriv->fourcc_priv==FOURCC_DIRAC&&dpriv->schroframe!=NULL) { + if (priv->vstream->stpriv->fourcc_priv == FOURCC_DIRAC && dpriv->schroframe != NULL) { schro_frame_unref(dpriv->schroframe); - dpriv->schroframe=NULL; + dpriv->schroframe = NULL; - ppos_lower=priv->vstream->data_start; - ppos_upper=opriv->total_bytes; + ppos_lower = priv->vstream->data_start; + ppos_upper = opriv->total_bytes; - max_frame_diff=16; + max_frame_diff = 16; } #endif - if (tframe<=priv->last_frame||tframe-priv->last_frame>max_frame_diff) { + if (tframe <= priv->last_frame || tframe - priv->last_frame > max_frame_diff) { // this is a big kludge, because really for dirac we should always seek from the first frame // because frames can refer to any earlier frame - if (priv->vstream->stpriv->fourcc_priv==FOURCC_DIRAC) { - tframe-=DIRAC_EXTRA_FRAMES ; + if (priv->vstream->stpriv->fourcc_priv == FOURCC_DIRAC) { + tframe -= DIRAC_EXTRA_FRAMES ; } // need to find a new kframe pthread_mutex_lock(&priv->idxc->mutex); - fidx=get_bounds_for((lives_clip_data_t *)cdata,tframe,&ppos_lower,&ppos_upper); - if (fidx==NULL) { + fidx = get_bounds_for((lives_clip_data_t *)cdata, tframe, &ppos_lower, &ppos_upper); + if (fidx == NULL) { //printf("pt a\n"); - int64_t last_ret_frame=priv->last_frame; + int64_t last_ret_frame = priv->last_frame; pthread_mutex_unlock(&priv->idxc->mutex); - granulepos=ogg_seek((lives_clip_data_t *)cdata,tframe,ppos_lower,ppos_upper,TRUE); + granulepos = ogg_seek((lives_clip_data_t *)cdata, tframe, ppos_lower, ppos_upper, TRUE); pthread_mutex_lock(&priv->idxc->mutex); - priv->last_frame=last_ret_frame; - if (granulepos==-1) return FALSE; // should never happen... - } else granulepos=fidx->value; + priv->last_frame = last_ret_frame; + if (granulepos == -1) return FALSE; // should never happen... + } else granulepos = fidx->value; pthread_mutex_unlock(&priv->idxc->mutex); //printf("pt a2\n"); - if (priv->vstream->stpriv->fourcc_priv==FOURCC_THEORA) { + if (priv->vstream->stpriv->fourcc_priv == FOURCC_THEORA) { kframe = granulepos >> priv->vstream->stpriv->keyframe_granule_shift; //printf("kframe %ld tframe %ld\n",kframe,tframe); } else { - kframe=granulepos; + kframe = granulepos; // part 2 of the dirac kludge - tframe+=DIRAC_EXTRA_FRAMES; + tframe += DIRAC_EXTRA_FRAMES; } - if (kframe<priv->kframe_offset) kframe=priv->kframe_offset; - } else kframe=priv->last_kframe; + if (kframe < priv->kframe_offset) kframe = priv->kframe_offset; + } else kframe = priv->last_kframe; - priv->ignore_packets=FALSE; + priv->ignore_packets = FALSE; //printf("cf %ld and %ld\n",tframe,priv->last_frame); - if (tframe>priv->last_frame&&(tframe-priv->last_frame<=max_frame_diff|| - (kframe==priv->last_kframe&&priv->vstream->stpriv->fourcc_priv==FOURCC_THEORA))) { + if (tframe > priv->last_frame && (tframe - priv->last_frame <= max_frame_diff || + (kframe == priv->last_kframe && priv->vstream->stpriv->fourcc_priv == FOURCC_THEORA))) { // same keyframe as last time, or next frame; we can continue where we left off - cont=TRUE; - priv->skip=tframe-priv->last_frame-1; - priv->input_position=priv->current_pos; + cont = TRUE; + priv->skip = tframe - priv->last_frame - 1; + priv->input_position = priv->current_pos; //printf("CONTINUING %ld %ld %ld %ld\n",tframe,priv->last_frame,kframe,priv->last_kframe); } else { - if (fidx==NULL||priv->vstream->stpriv->fourcc_priv==FOURCC_THEORA) { - if (priv->vstream->stpriv->fourcc_priv==FOURCC_THEORA) { + if (fidx == NULL || priv->vstream->stpriv->fourcc_priv == FOURCC_THEORA) { + if (priv->vstream->stpriv->fourcc_priv == FOURCC_THEORA) { pthread_mutex_lock(&priv->idxc->mutex); - get_bounds_for((lives_clip_data_t *)cdata,kframe-1,&ppos_lower,&ppos_upper); + get_bounds_for((lives_clip_data_t *)cdata, kframe - 1, &ppos_lower, &ppos_upper); pthread_mutex_unlock(&priv->idxc->mutex); - granulepos=ogg_seek((lives_clip_data_t *)cdata,kframe-1,ppos_lower,ppos_upper,FALSE); + granulepos = ogg_seek((lives_clip_data_t *)cdata, kframe - 1, ppos_lower, ppos_upper, FALSE); //fprintf(stderr,"starting from found gpos %ld\n",granulepos); - xkframe=granulepos >> priv->vstream->stpriv->keyframe_granule_shift; + xkframe = granulepos >> priv->vstream->stpriv->keyframe_granule_shift; pthread_mutex_lock(&priv->idxc->mutex); - get_bounds_for((lives_clip_data_t *)cdata,xkframe-1,&ppos_lower,&ppos_upper); + get_bounds_for((lives_clip_data_t *)cdata, xkframe - 1, &ppos_lower, &ppos_upper); pthread_mutex_unlock(&priv->idxc->mutex); - granulepos=ogg_seek((lives_clip_data_t *)cdata,xkframe-1,ppos_lower,ppos_upper,FALSE); + granulepos = ogg_seek((lives_clip_data_t *)cdata, xkframe - 1, ppos_lower, ppos_upper, FALSE); //fprintf(stderr,"starting from found gpos %ld\n",granulepos); - xkframe=granulepos >> priv->vstream->stpriv->keyframe_granule_shift; + xkframe = granulepos >> priv->vstream->stpriv->keyframe_granule_shift; - priv->cframe = xkframe + granulepos-(xkframe<<priv->vstream->stpriv->keyframe_granule_shift); // cframe will be the next frame we decode + priv->cframe = xkframe + granulepos - (xkframe << priv->vstream->stpriv->keyframe_granule_shift); // cframe will be the next frame we decode //printf("xkframe is %ld %ld\n",xkframe,priv->cframe); } else { - priv->cframe=kframe; - priv->input_position=priv->cpagepos; + priv->cframe = kframe; + priv->input_position = priv->cpagepos; //printf("SEEK TO %ld\n",priv->cpagepos); } - if (priv->input_position==priv->vstream->data_start) { - priv->cframe=kframe=priv->kframe_offset; + if (priv->input_position == priv->vstream->data_start) { + priv->cframe = kframe = priv->kframe_offset; } - priv->skip=tframe-priv->cframe; + priv->skip = tframe - priv->cframe; //printf("skip is %ld - %ld = %ld\n",tframe,priv->cframe,priv->skip); } else { // same keyframe as last time - priv->input_position=fidx->pagepos; - priv->cframe=kframe=fidx->value; - priv->skip=tframe-priv->cframe+1; + priv->input_position = fidx->pagepos; + priv->cframe = kframe = fidx->value; + priv->skip = tframe - priv->cframe + 1; } - if (priv->input_position>priv->vstream->data_start) { - priv->ignore_packets=TRUE; + if (priv->input_position > priv->vstream->data_start) { + priv->ignore_packets = TRUE; } } //fprintf(stderr,"getting yuv at %ld\n",input_position); - priv->last_frame=tframe; - priv->last_kframe=kframe; + priv->last_frame = tframe; + priv->last_kframe = kframe; #ifdef HAVE_THEORA - if (priv->vstream->stpriv->fourcc_priv==FOURCC_THEORA) { - if (!ogg_data_process((lives_clip_data_t *)cdata,&yuv,cont)) return FALSE; + if (priv->vstream->stpriv->fourcc_priv == FOURCC_THEORA) { + if (!ogg_data_process((lives_clip_data_t *)cdata, &yuv, cont)) return FALSE; } #endif #ifdef HAVE_DIRAC - if (priv->vstream->stpriv->fourcc_priv==FOURCC_DIRAC) { + if (priv->vstream->stpriv->fourcc_priv == FOURCC_DIRAC) { schro_decoder_set_earliest_frame(dpriv->schrodec, tframe); - priv->cframe=tframe; - return ogg_data_process((lives_clip_data_t *)cdata,pixel_data,cont); + priv->cframe = tframe; + return ogg_data_process((lives_clip_data_t *)cdata, pixel_data, cont); } #endif } #ifdef HAVE_THEORA - if (priv->vstream->stpriv->fourcc_priv==FOURCC_THEORA) { + if (priv->vstream->stpriv->fourcc_priv == FOURCC_THEORA) { size_t srcadd; - for (p=0; p<nplanes; p++) { - dst=pixel_data[p]; + for (p = 0; p < nplanes; p++) { + dst = pixel_data[p]; switch (p) { case 0: - src=yuv.y; - srcadd=yuv.y_stride; + src = yuv.y; + srcadd = yuv.y_stride; break; case 1: - src=yuv.u; - srcadd=yuv.uv_stride; + src = yuv.u; + srcadd = yuv.uv_stride; break; case 2: - src=yuv.v; - srcadd=yuv.uv_stride; + src = yuv.v; + srcadd = yuv.uv_stride; break; default: - srcadd=0; - src=NULL; + srcadd = 0; + src = NULL; break; } - for (i=0; i<xheight; i++) { - if (i<btop||i>bbot) { + for (i = 0; i < xheight; i++) { + if (i < btop || i > bbot) { // top or bottom border, copy black row - if (pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_YUV422P|| - pal==WEED_PALETTE_YUV444P||pal==WEED_PALETTE_YUVA4444P||pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24) { - memset(dst,black[p],dstwidth+(bleft+bright)*psize); - dst+=dstwidth+(bleft+bright)*psize; - } else dst+=write_black_pixel(dst,pal,dstwidth/psize+bleft+bright,y_black); + if (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_YUV422P || + pal == WEED_PALETTE_YUV444P || pal == WEED_PALETTE_YUVA4444P || pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24) { + memset(dst, black[p], dstwidth + (bleft + bright)*psize); + dst += dstwidth + (bleft + bright) * psize; + } else dst += write_black_pixel(dst, pal, dstwidth / psize + bleft + bright, y_black); continue; } - if (bleft>0) { - if (pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_YUV422P||pal==WEED_PALETTE_YUV444P|| - pal==WEED_PALETTE_YUVA4444P||pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24) { - memset(dst,black[p],bleft*psize); - dst+=bleft*psize; - } else dst+=write_black_pixel(dst,pal,bleft,y_black); + if (bleft > 0) { + if (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_YUV422P || pal == WEED_PALETTE_YUV444P || + pal == WEED_PALETTE_YUVA4444P || pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24) { + memset(dst, black[p], bleft * psize); + dst += bleft * psize; + } else dst += write_black_pixel(dst, pal, bleft, y_black); } - memcpy(dst,src,srcadd); - dst+=dstwidth; + memcpy(dst, src, srcadd); + dst += dstwidth; - if (bright>0) { - if (pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_YUV422P||pal==WEED_PALETTE_YUV444P|| - pal==WEED_PALETTE_YUVA4444P||pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24) { - memset(dst,black[p],bright*psize); - dst+=bright*psize; - } else dst+=write_black_pixel(dst,pal,bright,y_black); + if (bright > 0) { + if (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_YUV422P || pal == WEED_PALETTE_YUV444P || + pal == WEED_PALETTE_YUVA4444P || pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24) { + memset(dst, black[p], bright * psize); + dst += bright * psize; + } else dst += write_black_pixel(dst, pal, bright, y_black); } - src+=srcadd; + src += srcadd; } - if (p==0&&(pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_YUV422P)) { - dstwidth>>=1; - bleft>>=1; - bright>>=1; + if (p == 0 && (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_YUV422P)) { + dstwidth >>= 1; + bleft >>= 1; + bright >>= 1; } - if (p==0&&(pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P)) { - xheight>>=1; - btop>>=1; - bbot>>=1; + if (p == 0 && (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P)) { + xheight >>= 1; + btop >>= 1; + bbot >>= 1; } } return TRUE; @@ -3055,23 +3055,23 @@ void clip_data_free(lives_clip_data_t *cdata) { - lives_ogg_priv_t *priv=(lives_ogg_priv_t *)cdata->priv; + lives_ogg_priv_t *priv = (lives_ogg_priv_t *)cdata->priv; - if (cdata->palettes!=NULL) free(cdata->palettes); - cdata->palettes=NULL; + if (cdata->palettes != NULL) free(cdata->palettes); + cdata->palettes = NULL; // free index entries - if (priv->idxc!=NULL) idxc_release(cdata); - priv->idxc=NULL; + if (priv->idxc != NULL) idxc_release(cdata); + priv->idxc = NULL; - if (cdata->URI!=NULL) { + if (cdata->URI != NULL) { detach_stream(cdata); free(cdata->URI); } - if (priv->opriv!=NULL) free(priv->opriv); + if (priv->opriv != NULL) free(priv->opriv); - if (priv!=NULL) free(priv); + if (priv != NULL) free(priv); free(cdata); }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/decoders/ogg_decoder.h -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/decoders/ogg_decoder.h
Changed
@@ -26,7 +26,6 @@ int y_width; int y_height; int uv_width; - } ogg_t; @@ -41,14 +40,13 @@ int64_t last_granulepos; int keyframe_granule_shift; - } stream_priv_t; // theora -#define FOURCC_THEORA MK_FOURCC('T','H','R','A') +#define FOURCC_THEORA MK_FOURCC('T', 'H', 'R', 'A') #ifdef HAVE_THEORA typedef struct { @@ -70,12 +68,12 @@ // vorbis -#define FOURCC_VORBIS MK_FOURCC('V','B','I','S') +#define FOURCC_VORBIS MK_FOURCC('V', 'B', 'I', 'S') // dirac -#define FOURCC_DIRAC MK_FOURCC('D','R','A','C') +#define FOURCC_DIRAC MK_FOURCC('D', 'R', 'A', 'C') typedef struct lives_stream_s { @@ -94,7 +92,6 @@ void *ext_data; size_t ext_size; - } lives_in_stream; @@ -185,7 +182,7 @@ } static inline int bs_eof(const bs_t *s) { - return (s->p >= s->p_end ? 1: 0); + return (s->p >= s->p_end ? 1 : 0); } static inline uint32_t bs_read(bs_t *s, int i_count) { @@ -198,7 +195,7 @@ 0x1ffff, 0x3ffff, 0x7ffff, 0xfffff, 0x1fffff, 0x3fffff, 0x7fffff, 0xffffff, 0x1ffffff, 0x3ffffff, 0x7ffffff, 0xfffffff, - 0x1fffffff,0x3fffffff,0x7fffffff,0xffffffff + 0x1fffffff, 0x3fffffff, 0x7fffffff, 0xffffffff }; int i_shr; uint32_t i_result = 0; @@ -219,7 +216,7 @@ return (i_result); } else { /* less in the buffer than requested */ - i_result |= (*s->p&i_mask[s->i_left]) << -i_shr; + i_result |= (*s->p & i_mask[s->i_left]) << -i_shr; i_count -= s->i_left; s->p++; s->i_left = 8; @@ -234,7 +231,7 @@ unsigned int i_result; s->i_left--; - i_result = (*s->p >> s->i_left)&0x01; + i_result = (*s->p >> s->i_left) & 0x01; if (s->i_left == 0) { s->p++; s->i_left = 8; @@ -269,7 +266,7 @@ i_count--; - if ((i_bits >> i_count)&0x01) { + if ((i_bits >> i_count) & 0x01) { *s->p |= 1 << (s->i_left - 1); } else { *s->p &= ~(1 << (s->i_left - 1));
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/effects/Makefile.in -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/effects/Makefile.in
Changed
@@ -245,8 +245,6 @@ GENCAT = @GENCAT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GLEE_CFLAGS = @GLEE_CFLAGS@ -GLEE_LIBS = @GLEE_LIBS@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -383,6 +381,8 @@ VERSION = @VERSION@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ +WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ +WAYLAND_LIBS = @WAYLAND_LIBS@ WEED_CFLAGS = @WEED_CFLAGS@ WEED_COMPAT_CFLAGS = @WEED_COMPAT_CFLAGS@ WEED_COMPAT_LIBS = @WEED_COMPAT_LIBS@
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/effects/RFXscripts/Makefile.in -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/effects/RFXscripts/Makefile.in
Changed
@@ -218,8 +218,6 @@ GENCAT = @GENCAT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GLEE_CFLAGS = @GLEE_CFLAGS@ -GLEE_LIBS = @GLEE_LIBS@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -356,6 +354,8 @@ VERSION = @VERSION@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ +WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ +WAYLAND_LIBS = @WAYLAND_LIBS@ WEED_CFLAGS = @WEED_CFLAGS@ WEED_COMPAT_CFLAGS = @WEED_COMPAT_CFLAGS@ WEED_COMPAT_LIBS = @WEED_COMPAT_LIBS@
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/effects/compound/Makefile.in -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/effects/compound/Makefile.in
Changed
@@ -217,8 +217,6 @@ GENCAT = @GENCAT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GLEE_CFLAGS = @GLEE_CFLAGS@ -GLEE_LIBS = @GLEE_LIBS@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -355,6 +353,8 @@ VERSION = @VERSION@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ +WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ +WAYLAND_LIBS = @WAYLAND_LIBS@ WEED_CFLAGS = @WEED_CFLAGS@ WEED_COMPAT_CFLAGS = @WEED_COMPAT_CFLAGS@ WEED_COMPAT_LIBS = @WEED_COMPAT_LIBS@
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/encoders/Makefile.in -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/encoders/Makefile.in
Changed
@@ -219,8 +219,6 @@ GENCAT = @GENCAT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GLEE_CFLAGS = @GLEE_CFLAGS@ -GLEE_LIBS = @GLEE_LIBS@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -357,6 +355,8 @@ VERSION = @VERSION@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ +WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ +WAYLAND_LIBS = @WAYLAND_LIBS@ WEED_CFLAGS = @WEED_CFLAGS@ WEED_COMPAT_CFLAGS = @WEED_COMPAT_CFLAGS@ WEED_COMPAT_LIBS = @WEED_COMPAT_LIBS@
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/playback/Makefile.in -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/playback/Makefile.in
Changed
@@ -245,8 +245,6 @@ GENCAT = @GENCAT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GLEE_CFLAGS = @GLEE_CFLAGS@ -GLEE_LIBS = @GLEE_LIBS@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -383,6 +381,8 @@ VERSION = @VERSION@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ +WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ +WAYLAND_LIBS = @WAYLAND_LIBS@ WEED_CFLAGS = @WEED_CFLAGS@ WEED_COMPAT_CFLAGS = @WEED_COMPAT_CFLAGS@ WEED_COMPAT_LIBS = @WEED_COMPAT_LIBS@
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/playback/audiostream/Makefile.in -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/playback/audiostream/Makefile.in
Changed
@@ -218,8 +218,6 @@ GENCAT = @GENCAT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GLEE_CFLAGS = @GLEE_CFLAGS@ -GLEE_LIBS = @GLEE_LIBS@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -356,6 +354,8 @@ VERSION = @VERSION@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ +WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ +WAYLAND_LIBS = @WAYLAND_LIBS@ WEED_CFLAGS = @WEED_CFLAGS@ WEED_COMPAT_CFLAGS = @WEED_COMPAT_CFLAGS@ WEED_COMPAT_LIBS = @WEED_COMPAT_LIBS@
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/playback/video/Makefile.am -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/playback/video/Makefile.am
Changed
@@ -70,13 +70,11 @@ if HAVE_X11 if HAVE_XRENDER if HAVE_OPENGL -if HAVE_GLEE if HAVE_GLU openGL_libs = openGL.la -openGL_la_SOURCES = openGL.cpp -openGL_la_CPPFLAGS = $(shared_cflags) $(weed_cflags) @X11_CFLAGS@ @XRENDER_CFLAGS@ @GL_CFLAGS@ @GLEE_CFLAGS@ \ - @GLU_CFLAGS@ -openGL_la_LDFLAGS = $(shared_ldflags) @X11_LIBS@ @XRENDER_LIBS@ @GL_LIBS@ @GLEE_LIBS@ @GLU_LIBS@ +openGL_la_SOURCES = openGL.cpp glad.cpp glad_glx.cpp +openGL_la_CPPFLAGS = $(shared_cflags) $(weed_cflags) @X11_CFLAGS@ @XRENDER_CFLAGS@ @GL_CFLAGS@ @GLU_CFLAGS@ +openGL_la_LDFLAGS = $(shared_ldflags) @X11_LIBS@ @XRENDER_LIBS@ @GL_LIBS@ @GLU_LIBS@ @@ -97,7 +95,6 @@ endif endif endif -endif if IS_MINGW else @@ -135,4 +132,4 @@ $(vjack_output_libs) $(lives2lives_stream_libs) $(vloopback_libs) $(vloopback2_libs) \ $(openGL_libs) -EXTRA_DIST = videoplugin.h +EXTRA_DIST = videoplugin.h glad.h glad_glx.h
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/playback/video/Makefile.in -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/playback/video/Makefile.in
Changed
@@ -92,9 +92,9 @@ @IS_IRIX_TRUE@am__append_1 = -DIS_IRIX=1 @IS_MINGW_TRUE@am__append_2 = -DIS_MINGW=1 @IS_MINGW_TRUE@am__append_3 = -no-undefined -Wl,/usr/i686-pc-mingw32/sys-root/mingw/lib/libSDL.dll.a -Wl,/usr/i686-pc-mingw32/sys-root/mingw/lib/libSDLmain.a -mwindows -Wl,/usr/i686-pc-mingw32/sys-root/mingw/lib/libmingw32.a -@HAVE_GLEE_TRUE@@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_SYSTEM_WEED_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@am__append_4 = -DHAVE_SYSTEM_WEED -@HAVE_GLEE_TRUE@@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_SYSTEM_WEED_FALSE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@am__append_5 = $(shared_ldflags) -@HAVE_GLEE_TRUE@@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_SYSTEM_WEED_PLUGIN_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@am__append_6 = -DHAVE_SYSTEM_WEED_PLUGIN_H +@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_SYSTEM_WEED_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@am__append_4 = -DHAVE_SYSTEM_WEED +@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_SYSTEM_WEED_FALSE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@am__append_5 = $(shared_ldflags) +@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_SYSTEM_WEED_PLUGIN_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@am__append_6 = -DHAVE_SYSTEM_WEED_PLUGIN_H subdir = lives-plugins/plugins/playback/video ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ @@ -198,14 +198,16 @@ @HAVE_MJPEGTOOLS_TRUE@am_oggstream_la_rpath = -rpath \ @HAVE_MJPEGTOOLS_TRUE@ $(videopluginslibdir) openGL_la_LIBADD = -am__openGL_la_SOURCES_DIST = openGL.cpp -@HAVE_GLEE_TRUE@@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@am_openGL_la_OBJECTS = openGL_la-openGL.lo +am__openGL_la_SOURCES_DIST = openGL.cpp glad.cpp glad_glx.cpp +@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@am_openGL_la_OBJECTS = openGL_la-openGL.lo \ +@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@ openGL_la-glad.lo \ +@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@ openGL_la-glad_glx.lo openGL_la_OBJECTS = $(am_openGL_la_OBJECTS) openGL_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(openGL_la_LDFLAGS) $(LDFLAGS) -o $@ -@HAVE_GLEE_TRUE@@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@am_openGL_la_rpath = -rpath \ -@HAVE_GLEE_TRUE@@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@ $(videopluginslibdir) +@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@am_openGL_la_rpath = -rpath \ +@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@ $(videopluginslibdir) vjack_output_la_LIBADD = vjack_output_la_SOURCES = vjack_output.c vjack_output_la_OBJECTS = vjack_output_la-vjack_output.lo @@ -372,8 +374,6 @@ GENCAT = @GENCAT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GLEE_CFLAGS = @GLEE_CFLAGS@ -GLEE_LIBS = @GLEE_LIBS@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -510,6 +510,8 @@ VERSION = @VERSION@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ +WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ +WAYLAND_LIBS = @WAYLAND_LIBS@ WEED_CFLAGS = @WEED_CFLAGS@ WEED_COMPAT_CFLAGS = @WEED_COMPAT_CFLAGS@ WEED_COMPAT_LIBS = @WEED_COMPAT_LIBS@ @@ -618,24 +620,22 @@ @ENABLE_VJACK_TRUE@vjack_output_libs = vjack_output.la @ENABLE_VJACK_TRUE@vjack_output_la_CFLAGS = $(shared_cflags) $(weed_cflags) @ENABLE_VJACK_TRUE@vjack_output_la_LDFLAGS = $(shared_ldflags) -ljack -@HAVE_GLEE_TRUE@@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@openGL_libs = openGL.la -@HAVE_GLEE_TRUE@@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@openGL_la_SOURCES = openGL.cpp -@HAVE_GLEE_TRUE@@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@openGL_la_CPPFLAGS = $(shared_cflags) \ -@HAVE_GLEE_TRUE@@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@ $(weed_cflags) \ -@HAVE_GLEE_TRUE@@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@ @X11_CFLAGS@ \ -@HAVE_GLEE_TRUE@@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@ @XRENDER_CFLAGS@ \ -@HAVE_GLEE_TRUE@@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@ @GL_CFLAGS@ \ -@HAVE_GLEE_TRUE@@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@ @GLEE_CFLAGS@ \ -@HAVE_GLEE_TRUE@@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@ @GLU_CFLAGS@ \ -@HAVE_GLEE_TRUE@@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@ $(am__append_4) \ -@HAVE_GLEE_TRUE@@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@ $(am__append_6) -@HAVE_GLEE_TRUE@@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@openGL_la_LDFLAGS = $(shared_ldflags) \ -@HAVE_GLEE_TRUE@@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@ @X11_LIBS@ \ -@HAVE_GLEE_TRUE@@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@ @XRENDER_LIBS@ \ -@HAVE_GLEE_TRUE@@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@ @GL_LIBS@ \ -@HAVE_GLEE_TRUE@@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@ @GLEE_LIBS@ \ -@HAVE_GLEE_TRUE@@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@ @GLU_LIBS@ \ -@HAVE_GLEE_TRUE@@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@ $(am__append_5) +@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@openGL_libs = openGL.la +@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@openGL_la_SOURCES = openGL.cpp glad.cpp glad_glx.cpp +@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@openGL_la_CPPFLAGS = $(shared_cflags) \ +@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@ $(weed_cflags) \ +@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@ @X11_CFLAGS@ \ +@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@ @XRENDER_CFLAGS@ \ +@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@ @GL_CFLAGS@ \ +@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@ @GLU_CFLAGS@ \ +@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@ $(am__append_4) \ +@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@ $(am__append_6) +@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@openGL_la_LDFLAGS = $(shared_ldflags) \ +@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@ @X11_LIBS@ \ +@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@ @XRENDER_LIBS@ \ +@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@ @GL_LIBS@ \ +@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@ @GLU_LIBS@ \ +@HAVE_GLU_TRUE@@HAVE_OPENGL_TRUE@@HAVE_X11_TRUE@@HAVE_XRENDER_TRUE@ $(am__append_5) @IS_MINGW_FALSE@lives2lives_stream_libs = lives2lives_stream.la @IS_MINGW_FALSE@lives2lives_stream_la_CFLAGS = $(shared_cflags) $(weed_cflags) @IS_MINGW_FALSE@lives2lives_stream_la_LDFLAGS = $(shared_ldflags) @@ -657,7 +657,7 @@ $(vjack_output_libs) $(lives2lives_stream_libs) $(vloopback_libs) $(vloopback2_libs) \ $(openGL_libs) -EXTRA_DIST = videoplugin.h +EXTRA_DIST = videoplugin.h glad.h glad_glx.h all: all-am .SUFFIXES: @@ -764,6 +764,8 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/icecast_output_la-icecast_output.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lives2lives_stream_la-lives2lives_stream.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oggstream_la-oggstream.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openGL_la-glad.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openGL_la-glad_glx.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openGL_la-openGL.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vjack_output_la-vjack_output.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vloopback2_la-vloopback2.Plo@am__quote@ @@ -875,6 +877,20 @@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(openGL_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o openGL_la-openGL.lo `test -f 'openGL.cpp' || echo '$(srcdir)/'`openGL.cpp +openGL_la-glad.lo: glad.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(openGL_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT openGL_la-glad.lo -MD -MP -MF $(DEPDIR)/openGL_la-glad.Tpo -c -o openGL_la-glad.lo `test -f 'glad.cpp' || echo '$(srcdir)/'`glad.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/openGL_la-glad.Tpo $(DEPDIR)/openGL_la-glad.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='glad.cpp' object='openGL_la-glad.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(openGL_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o openGL_la-glad.lo `test -f 'glad.cpp' || echo '$(srcdir)/'`glad.cpp + +openGL_la-glad_glx.lo: glad_glx.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(openGL_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT openGL_la-glad_glx.lo -MD -MP -MF $(DEPDIR)/openGL_la-glad_glx.Tpo -c -o openGL_la-glad_glx.lo `test -f 'glad_glx.cpp' || echo '$(srcdir)/'`glad_glx.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/openGL_la-glad_glx.Tpo $(DEPDIR)/openGL_la-glad_glx.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='glad_glx.cpp' object='openGL_la-glad_glx.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(openGL_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o openGL_la-glad_glx.lo `test -f 'glad_glx.cpp' || echo '$(srcdir)/'`glad_glx.cpp + mostlyclean-libtool: -rm -f *.lo
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/playback/video/SDL.c -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/playback/video/SDL.c
Changed
@@ -18,7 +18,7 @@ //////////////////////////////////////////////////////////////////////////////////// -static char plugin_version[64]="LiVES SDL playback engine version 1.3"; +static char plugin_version[64] = "LiVES SDL playback engine version 1.3"; #ifdef HAVE_SDL static char error[256]; @@ -66,7 +66,7 @@ static boolean my_setenv(const char *name, const char *value) { // ret TRUE on success #if IS_MINGW - return SetEnvironmentVariable(name,value); + return SetEnvironmentVariable(name, value); #else #if IS_IRIX int len = strlen(name) + strlen(value) + 2; @@ -79,7 +79,7 @@ } } #else - return !setenv(name,value,1); + return !setenv(name, value, 1); #endif #endif } @@ -87,25 +87,25 @@ const char *module_check_init(void) { #if HAVE_SDL - if (getenv("HAVE_SDL")==NULL&&system("which sdl-config >/dev/null 2>&1")==256) { - snprintf(error,256, + if (getenv("HAVE_SDL") == NULL && system("which sdl-config >/dev/null 2>&1") == 256) { + snprintf(error, 256, "\n\nUnable to find sdl-config in your path.\nPlease make sure you have SDL installed correctly to use this plugin.\nYou can override this with 'export HAVE_SDL=1'\n"); return error; } #endif - render_fn=&render_frame_unknown; - RGBimage=NULL; + render_fn = &render_frame_unknown; + RGBimage = NULL; #ifdef HAVE_SDL2 - texture=NULL; + texture = NULL; #else - overlay=NULL; - rect=(SDL_Rect *)malloc(sizeof(SDL_Rect)); + overlay = NULL; + rect = (SDL_Rect *)malloc(sizeof(SDL_Rect)); #endif - ov_vsize=ov_hsize=0; + ov_vsize = ov_hsize = 0; - mypalette=WEED_PALETTE_END; + mypalette = WEED_PALETTE_END; return NULL; @@ -124,10 +124,10 @@ uint64_t get_capabilities(int palette) { #ifdef HAVE_SDL1 - return VPP_CAN_RESIZE|VPP_LOCAL_DISPLAY; + return VPP_CAN_RESIZE | VPP_LOCAL_DISPLAY; #endif - if (palette==WEED_PALETTE_UYVY8888) { - return VPP_CAN_RESIZE|VPP_LOCAL_DISPLAY; + if (palette == WEED_PALETTE_UYVY8888) { + return VPP_CAN_RESIZE | VPP_LOCAL_DISPLAY; } return VPP_LOCAL_DISPLAY; } @@ -178,24 +178,25 @@ const int *get_palette_list(void) { // return palettes in order of preference, ending with WEED_PALETTE_END - palette_list[0]=WEED_PALETTE_UYVY8888; - palette_list[1]=WEED_PALETTE_YUYV8888; - palette_list[2]=WEED_PALETTE_YVU420P; - palette_list[3]=WEED_PALETTE_YUV420P; - palette_list[4]=WEED_PALETTE_RGB24; - palette_list[5]=WEED_PALETTE_END; + palette_list[0] = WEED_PALETTE_UYVY8888; + palette_list[1] = WEED_PALETTE_YUYV8888; + palette_list[2] = WEED_PALETTE_YVU420P; + palette_list[3] = WEED_PALETTE_YUV420P; + palette_list[4] = WEED_PALETTE_RGB24; + palette_list[5] = WEED_PALETTE_END; return palette_list; } boolean set_palette(int palette) { - if (palette==WEED_PALETTE_RGB24) { - render_fn=&render_frame_rgb; - mypalette=palette; + if (palette == WEED_PALETTE_RGB24) { + render_fn = &render_frame_rgb; + mypalette = palette; return TRUE; - } else if (palette==WEED_PALETTE_UYVY8888||palette==WEED_PALETTE_YUYV8888||palette==WEED_PALETTE_YUV420P||palette==WEED_PALETTE_YVU420P) { - render_fn=&render_frame_yuv; - mypalette=palette; + } else if (palette == WEED_PALETTE_UYVY8888 || palette == WEED_PALETTE_YUYV8888 || palette == WEED_PALETTE_YUV420P || + palette == WEED_PALETTE_YVU420P) { + render_fn = &render_frame_yuv; + mypalette = palette; return TRUE; } // invalid palette @@ -204,10 +205,10 @@ const int *get_yuv_palette_clamping(int palette) { - if (palette==WEED_PALETTE_RGB24) clampings[0]=-1; + if (palette == WEED_PALETTE_RGB24) clampings[0] = -1; else { - clampings[0]=WEED_YUV_CLAMPING_CLAMPED; - clampings[1]=-1; + clampings[0] = WEED_YUV_CLAMPING_CLAMPED; + clampings[1] = -1; } return clampings; } @@ -218,104 +219,104 @@ boolean init_screen(int width, int height, boolean fullscreen, uint64_t window_id, int argc, char **argv) { // screen size is in RGB pixels #ifdef HAVE_SDL2 - uint32_t rflags=0; + uint32_t rflags = 0; // add vsync ? #else - int yuvdir=1; - int yuvhwa=1; - int dblbuf=1; - int hws=1; - uint32_t modeopts=0; + int yuvdir = 1; + int yuvhwa = 1; + int dblbuf = 1; + int hws = 1; + uint32_t modeopts = 0; char tmp[32]; #endif - int hwaccel=1; - int fsover=0; + int hwaccel = 1; + int fsover = 0; - if (argc>0) { - hwaccel=atoi(argv[0]); + if (argc > 0) { + hwaccel = atoi(argv[0]); #ifdef HAVE_SDL2 - fsover=atoi(argv[1]); + fsover = atoi(argv[1]); #else - yuvdir=atoi(argv[1]); - yuvhwa=atoi(argv[2]); - dblbuf=atoi(argv[3]); - hws=atoi(argv[4]); - fsover=atoi(argv[5]); + yuvdir = atoi(argv[1]); + yuvhwa = atoi(argv[2]); + dblbuf = atoi(argv[3]); + hws = atoi(argv[4]); + fsover = atoi(argv[5]); #endif } - if (mypalette==WEED_PALETTE_END) { - fprintf(stderr,"SDL plugin error: No palette was set !\n"); + if (mypalette == WEED_PALETTE_END) { + fprintf(stderr, "SDL plugin error: No palette was set !\n"); return FALSE; } #ifdef HAVE_SDL2 - if ((SDL_Init(SDL_INIT_VIDEO)==-1)) { - fprintf(stderr,"SDL player : Could not initialize SDL: %s.\n", SDL_GetError()); + if ((SDL_Init(SDL_INIT_VIDEO) == -1)) { + fprintf(stderr, "SDL player : Could not initialize SDL: %s.\n", SDL_GetError()); return FALSE; } - if (1||!fullscreen) { - window=SDL_CreateWindowFrom((const void *)window_id); + if (1 || !fullscreen) { + window = SDL_CreateWindowFrom((const void *)window_id); } else { - if (fsover) fullscreen=FALSE; - window=SDL_CreateWindow("",0,0,width,height,SDL_WINDOW_BORDERLESS); + if (fsover) fullscreen = FALSE; + window = SDL_CreateWindow("", 0, 0, width, height, SDL_WINDOW_BORDERLESS); } - if (window==NULL) { - fprintf(stderr,"SDL2 player : Could not initialize SDL: %s.\n", SDL_GetError()); + if (window == NULL) { + fprintf(stderr, "SDL2 player : Could not initialize SDL: %s.\n", SDL_GetError()); return FALSE; } - rflags=(SDL_RENDERER_ACCELERATED*hwaccel); - renderer=SDL_CreateRenderer(window,-1,rflags); + rflags = (SDL_RENDERER_ACCELERATED * hwaccel); + renderer = SDL_CreateRenderer(window, -1, rflags); SDL_ShowCursor(0); // if palette is RGB, create RGB surface the same size as the screen - if (mypalette==WEED_PALETTE_RGB24) { + if (mypalette == WEED_PALETTE_RGB24) { RGBimage = SDL_CreateRGBSurface(0, width, height, 24, 0x0000FF, 0x00FF00, 0xFF0000, 0x00); if (RGBimage == NULL) { - fprintf(stderr,"SDL2 player: Can't create: %s\n", SDL_GetError()); + fprintf(stderr, "SDL2 player: Can't create: %s\n", SDL_GetError()); return FALSE; } return TRUE; } - screen=SDL_GetWindowSurface(window); + screen = SDL_GetWindowSurface(window); #else - snprintf(tmp,32,"%d",yuvdir); + snprintf(tmp, 32, "%d", yuvdir); my_setenv("SDL_VIDEO_YUV_DIRECT", tmp); - snprintf(tmp,32,"%d",yuvhwa); + snprintf(tmp, 32, "%d", yuvhwa); my_setenv("SDL_VIDEO_YUV_HWACCEL", tmp); - snprintf(tmp,32,"%"PRIu64,window_id); + snprintf(tmp, 32, "%"PRIu64, window_id); if (!fullscreen) my_setenv("SDL_WINDOWID", tmp); - if (fsover) fullscreen=FALSE; + if (fsover) fullscreen = FALSE; - if ((SDL_Init(SDL_INIT_VIDEO)==-1)) { - fprintf(stderr,"SDL player : Could not initialize SDL: %s.\n", SDL_GetError()); + if ((SDL_Init(SDL_INIT_VIDEO) == -1)) { + fprintf(stderr, "SDL player : Could not initialize SDL: %s.\n", SDL_GetError()); return FALSE; } - modeopts=(SDL_HWSURFACE*hws)|(SDL_DOUBLEBUF*dblbuf)|(SDL_HWACCEL*hwaccel); + modeopts = (SDL_HWSURFACE * hws) | (SDL_DOUBLEBUF * dblbuf) | (SDL_HWACCEL * hwaccel); SDL_ShowCursor(FALSE); - screen = SDL_SetVideoMode(width, height, 24, modeopts | (fullscreen?SDL_FULLSCREEN:0) | SDL_NOFRAME); + screen = SDL_SetVideoMode(width, height, 24, modeopts | (fullscreen ? SDL_FULLSCREEN : 0) | SDL_NOFRAME); if (screen == NULL) { - fprintf(stderr,"SDL player : Couldn't set %dx%dx24 video mode: %s\n", width, height, + fprintf(stderr, "SDL player : Couldn't set %dx%dx24 video mode: %s\n", width, height, SDL_GetError()); // do we need SDL_ShowCursor/SDL_quit here ? return FALSE; @@ -327,20 +328,20 @@ // if palette is RGB, create RGB surface the same size as the screen - if (mypalette==WEED_PALETTE_RGB24) { + if (mypalette == WEED_PALETTE_RGB24) { RGBimage = SDL_CreateRGBSurface(SDL_HWSURFACE, width, height, 24, 0x0000FF, 0x00FF00, 0xFF0000, 0x00); if (RGBimage == NULL) { - fprintf(stderr,"SDL player: Can't create: %s\n", SDL_GetError()); + fprintf(stderr, "SDL player: Can't create: %s\n", SDL_GetError()); return FALSE; } return TRUE; } - rect->x=rect->y=0; - rect->h=height; - rect->w=width; + rect->x = rect->y = 0; + rect->h = height; + rect->w = width; #endif return TRUE; @@ -349,14 +350,14 @@ boolean render_frame(int hsize, int vsize, int64_t tc, void **pixel_data, void **rd, void **pp) { // call the function which was set in set_palette - return render_fn(hsize,vsize,pixel_data); + return render_fn(hsize, vsize, pixel_data); } boolean render_frame_rgb(int hsize, int vsize, void **pixel_data) { // broken - crashes // hsize and vsize are in pixels (n-byte) SDL_LockSurface(RGBimage); - memcpy(RGBimage->pixels,pixel_data[0],hsize*vsize*3); + memcpy(RGBimage->pixels, pixel_data[0], hsize * vsize * 3); SDL_UnlockSurface(RGBimage); #ifdef HAVE_SDL2 SDL_BlitScaled(RGBimage, NULL, screen, NULL); @@ -381,37 +382,37 @@ switch (mypalette) { case WEED_PALETTE_UYVY8888: - format=SDL_PIXELFORMAT_UYVY; - hsize*=2; + format = SDL_PIXELFORMAT_UYVY; + hsize *= 2; break; case WEED_PALETTE_YUYV8888: - format=SDL_PIXELFORMAT_YUY2; - hsize*=2; + format = SDL_PIXELFORMAT_YUY2; + hsize *= 2; break; case WEED_PALETTE_YVU420P: - format=SDL_PIXELFORMAT_YV12; + format = SDL_PIXELFORMAT_YV12; break; default: - format=SDL_PIXELFORMAT_IYUV; + format = SDL_PIXELFORMAT_IYUV; break; } - if ((ov_hsize!=hsize||ov_vsize!=vsize)&&(texture!=NULL)) { + if ((ov_hsize != hsize || ov_vsize != vsize) && (texture != NULL)) { SDL_DestroyTexture(texture); - texture=NULL; + texture = NULL; } - if (texture==NULL) { + if (texture == NULL) { texture = SDL_CreateTexture(renderer, format, SDL_TEXTUREACCESS_STREAMING, hsize, vsize); - ov_hsize=hsize; - ov_vsize=vsize; + ov_hsize = hsize; + ov_vsize = vsize; } - SDL_LockTexture(texture,NULL,&pixels,&pitch); + SDL_LockTexture(texture, NULL, &pixels, &pitch); - if (mypalette==WEED_PALETTE_UYVY||mypalette==WEED_PALETTE_YUYV) SDL_UpdateTexture(texture,NULL,pixel_data[0],hsize*2); + if (mypalette == WEED_PALETTE_UYVY || mypalette == WEED_PALETTE_YUYV) SDL_UpdateTexture(texture, NULL, pixel_data[0], hsize * 2); else { - SDL_UpdateYUVTexture(texture,NULL,pixel_data[0],hsize,pixel_data[1],hsize>>2,pixel_data[2],hsize>>2); + SDL_UpdateYUVTexture(texture, NULL, pixel_data[0], hsize, pixel_data[1], hsize >> 2, pixel_data[2], hsize >> 2); } SDL_UnlockTexture(texture); @@ -422,91 +423,91 @@ #else - uint32_t ovtype=SDL_IYUV_OVERLAY; + uint32_t ovtype = SDL_IYUV_OVERLAY; - if (mypalette==WEED_PALETTE_UYVY8888) { - ovtype=SDL_UYVY_OVERLAY; - hsize*=2; - } else if (mypalette==WEED_PALETTE_YUYV8888) { - ovtype=SDL_YUY2_OVERLAY; - hsize*=2; - } else if (mypalette==WEED_PALETTE_YVU420P) ovtype=SDL_YV12_OVERLAY; + if (mypalette == WEED_PALETTE_UYVY8888) { + ovtype = SDL_UYVY_OVERLAY; + hsize *= 2; + } else if (mypalette == WEED_PALETTE_YUYV8888) { + ovtype = SDL_YUY2_OVERLAY; + hsize *= 2; + } else if (mypalette == WEED_PALETTE_YVU420P) ovtype = SDL_YV12_OVERLAY; - if ((ov_hsize!=hsize||ov_vsize!=vsize)&&(overlay!=NULL)) { + if ((ov_hsize != hsize || ov_vsize != vsize) && (overlay != NULL)) { SDL_FreeYUVOverlay(overlay); - overlay=NULL; + overlay = NULL; } - if (overlay==NULL) { - overlay=SDL_CreateYUVOverlay(hsize, vsize, ovtype, screen); - ov_hsize=hsize; - ov_vsize=vsize; + if (overlay == NULL) { + overlay = SDL_CreateYUVOverlay(hsize, vsize, ovtype, screen); + ov_hsize = hsize; + ov_vsize = vsize; } SDL_LockYUVOverlay(overlay); - if (mypalette==WEED_PALETTE_UYVY||mypalette==WEED_PALETTE_YUYV) memcpy(overlay->pixels[0],pixel_data[0],hsize*vsize*2); + if (mypalette == WEED_PALETTE_UYVY || mypalette == WEED_PALETTE_YUYV) memcpy(overlay->pixels[0], pixel_data[0], hsize * vsize * 2); else { - memcpy(overlay->pixels[0],pixel_data[0],hsize*vsize); - memcpy(overlay->pixels[1],pixel_data[1],hsize*vsize>>2); - memcpy(overlay->pixels[2],pixel_data[2],hsize*vsize>>2); + memcpy(overlay->pixels[0], pixel_data[0], hsize * vsize); + memcpy(overlay->pixels[1], pixel_data[1], hsize * vsize >> 2); + memcpy(overlay->pixels[2], pixel_data[2], hsize * vsize >> 2); } SDL_UnlockYUVOverlay(overlay); - SDL_DisplayYUVOverlay(overlay,rect); + SDL_DisplayYUVOverlay(overlay, rect); #endif - is_ready=TRUE; + is_ready = TRUE; return TRUE; } boolean render_frame_unknown(int hsize, int vsize, void **pixel_data) { - fprintf(stderr,"SDL plugin error: No palette was set !\n"); + fprintf(stderr, "SDL plugin error: No palette was set !\n"); return FALSE; } void exit_screen(int16_t mouse_x, int16_t mouse_y) { - if (mypalette==WEED_PALETTE_RGB24) { - if (RGBimage!=NULL) { + if (mypalette == WEED_PALETTE_RGB24) { + if (RGBimage != NULL) { SDL_FreeSurface(RGBimage); - RGBimage=NULL; + RGBimage = NULL; } #ifdef HAVE_SDL2 - } else if (texture!=NULL) { + } else if (texture != NULL) { SDL_DestroyTexture(texture); - texture=NULL; + texture = NULL; } - if (mouse_x>=0&&mouse_y>=0) { + if (mouse_x >= 0 && mouse_y >= 0) { SDL_ShowCursor(1); #if SDL_VERSIONNUM(SDL_MAJOR_VERSION,SDL_MINOR_VERSION,SDL_MICRO_VERSION) >= 2004 SDL_WarpMouseGlobal((int16_t)mouse_x, (int16_t)mouse_y); #else - SDL_WarpMouseInWindow(window,(int16_t)mouse_x, (int16_t)mouse_y); + SDL_WarpMouseInWindow(window, (int16_t)mouse_x, (int16_t)mouse_y); #endif } - if (renderer!=NULL) { + if (renderer != NULL) { SDL_DestroyRenderer(renderer); } - if (window!=NULL) { + if (window != NULL) { SDL_DestroyWindow(window); } #else } - else if (overlay!=NULL) { + else if (overlay != NULL) { SDL_FreeYUVOverlay(overlay); - overlay=NULL; + overlay = NULL; } - if (mouse_x>=0&&mouse_y>=0) { + if (mouse_x >= 0 && mouse_y >= 0) { SDL_ShowCursor(TRUE); SDL_WarpMouse((int16_t)mouse_x, (int16_t)mouse_y); } #endif SDL_Quit(); - is_ready=FALSE; + is_ready = FALSE; } @@ -522,42 +523,42 @@ boolean send_keycodes(keyfunc host_key_fn) { // poll for keyboard events, pass them back to the caller // return FALSE on error - uint16_t mod_mask,scancode=0; + uint16_t mod_mask, scancode = 0; - if (host_key_fn==NULL) return FALSE; + if (host_key_fn == NULL) return FALSE; while (is_ready && SDL_PollEvent(&event)) { - mod_mask=0; - if (event.type==SDL_KEYDOWN||event.type==SDL_KEYUP) { - mod=event.key.keysym.mod; + mod_mask = 0; + if (event.type == SDL_KEYDOWN || event.type == SDL_KEYUP) { + mod = event.key.keysym.mod; - if (mod&KMOD_CTRL) { - mod_mask|=MOD_CONTROL_MASK; + if (mod & KMOD_CTRL) { + mod_mask |= MOD_CONTROL_MASK; } - if (mod&KMOD_ALT) { - mod_mask|=MOD_ALT_MASK; + if (mod & KMOD_ALT) { + mod_mask |= MOD_ALT_MASK; } - if (event.type==SDL_KEYDOWN) { + if (event.type == SDL_KEYDOWN) { #ifdef HAVE_SDL2 - scancode=event.key.keysym.scancode; + scancode = event.key.keysym.scancode; #else if (!mod_mask) { - scancode=event.key.keysym.unicode; + scancode = event.key.keysym.unicode; } if (!scancode) { - scancode=(uint16_t)event.key.keysym.scancode; - mod_mask|=MOD_NEEDS_TRANSLATION; + scancode = (uint16_t)event.key.keysym.scancode; + mod_mask |= MOD_NEEDS_TRANSLATION; } #endif - host_key_fn(TRUE,scancode,mod_mask); + host_key_fn(TRUE, scancode, mod_mask); } else { #ifdef HAVE_SDL2 - host_key_fn(FALSE,(uint16_t)event.key.keysym.scancode,(mod_mask|MOD_NEEDS_TRANSLATION)); + host_key_fn(FALSE, (uint16_t)event.key.keysym.scancode, (mod_mask | MOD_NEEDS_TRANSLATION)); #else // key up - no unicode :-( - host_key_fn(FALSE,(uint16_t)event.key.keysym.scancode,(mod_mask|MOD_NEEDS_TRANSLATION)); + host_key_fn(FALSE, (uint16_t)event.key.keysym.scancode, (mod_mask | MOD_NEEDS_TRANSLATION)); #endif } }
View file
LiVES-2.8.6.tar.bz2/lives-plugins/plugins/playback/video/glad.cpp
Added
@@ -0,0 +1,1811 @@ +/* + + OpenGL loader generated by glad 0.1.13a0 on Sat Apr 29 18:34:46 2017. + + Language/Generator: C/C++ + Specification: gl + APIs: gl=3.3 + Profile: compatibility + Extensions: + GL_ARB_pixel_buffer_object, + GL_ARB_texture_non_power_of_two + Loader: True + Local files: False + Omit khrplatform: False + + Commandline: + --profile="compatibility" --api="gl=3.3" --generator="c" --spec="gl" --extensions="GL_ARB_pixel_buffer_object,GL_ARB_texture_non_power_of_two" + Online: + http://glad.dav1d.de/#profile=compatibility&language=c&specification=gl&loader=on&api=gl%3D3.3&extensions=GL_ARB_pixel_buffer_object&extensions=GL_ARB_texture_non_power_of_two +*/ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include "glad.h" + +static void *get_proc(const char *namez); + +#ifdef _WIN32 +#include <windows.h> +static HMODULE libGL; + +typedef void *(APIENTRYP PFNWGLGETPROCADDRESSPROC_PRIVATE)(const char *); +static PFNWGLGETPROCADDRESSPROC_PRIVATE gladGetProcAddressPtr; + +static +int open_gl(void) { + libGL = LoadLibraryW(L"opengl32.dll"); + if (libGL != NULL) { + gladGetProcAddressPtr = (PFNWGLGETPROCADDRESSPROC_PRIVATE)GetProcAddress( + libGL, "wglGetProcAddress"); + return gladGetProcAddressPtr != NULL; + } + + return 0; +} + +static +void close_gl(void) { + if (libGL != NULL) { + FreeLibrary(libGL); + libGL = NULL; + } +} +#else +#include <dlfcn.h> +static void *libGL; + +#ifndef __APPLE__ +typedef void *(APIENTRYP PFNGLXGETPROCADDRESSPROC_PRIVATE)(const char *); +static PFNGLXGETPROCADDRESSPROC_PRIVATE gladGetProcAddressPtr; +#endif + +static +int open_gl(void) { +#ifdef __APPLE__ + static const char *NAMES[] = { + "../Frameworks/OpenGL.framework/OpenGL", + "/Library/Frameworks/OpenGL.framework/OpenGL", + "/System/Library/Frameworks/OpenGL.framework/OpenGL", + "/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL" + }; +#else + static const char *NAMES[] = {"libGL.so.1", "libGL.so"}; +#endif + + unsigned int index = 0; + for (index = 0; index < (sizeof(NAMES) / sizeof(NAMES[0])); index++) { + libGL = dlopen(NAMES[index], RTLD_NOW | RTLD_GLOBAL); + + if (libGL != NULL) { +#ifdef __APPLE__ + return 1; +#else + gladGetProcAddressPtr = (PFNGLXGETPROCADDRESSPROC_PRIVATE)dlsym(libGL, + "glXGetProcAddressARB"); + return gladGetProcAddressPtr != NULL; +#endif + } + } + + return 0; +} + +static +void close_gl() { + if (libGL != NULL) { + dlclose(libGL); + libGL = NULL; + } +} +#endif + +static +void *get_proc(const char *namez) { + void *result = NULL; + if (libGL == NULL) return NULL; + +#ifndef __APPLE__ + if (gladGetProcAddressPtr != NULL) { + result = gladGetProcAddressPtr(namez); + } +#endif + if (result == NULL) { +#ifdef _WIN32 + result = (void *)GetProcAddress(libGL, namez); +#else + result = dlsym(libGL, namez); +#endif + } + + return result; +} + +int gladLoadGL(void) { + int status = 0; + + if (open_gl()) { + status = gladLoadGLLoader(&get_proc); + close_gl(); + } + + return status; +} + +struct gladGLversionStruct GLVersion; + +#if defined(GL_ES_VERSION_3_0) || defined(GL_VERSION_3_0) +#define _GLAD_IS_SOME_NEW_VERSION 1 +#endif + +static int max_loaded_major; +static int max_loaded_minor; + +static const char *exts = NULL; +static int num_exts_i = 0; +static const char **exts_i = NULL; + +static int get_exts(void) { +#ifdef _GLAD_IS_SOME_NEW_VERSION + if (max_loaded_major < 3) { +#endif + exts = (const char *)glGetString(GL_EXTENSIONS); +#ifdef _GLAD_IS_SOME_NEW_VERSION + } else { + unsigned int index; + + num_exts_i = 0; + glGetIntegerv(GL_NUM_EXTENSIONS, &num_exts_i); + if (num_exts_i > 0) { + exts_i = (const char **)realloc((void *)exts_i, (size_t)num_exts_i * (sizeof * exts_i)); + } + + if (exts_i == NULL) { + return 0; + } + + for (index = 0; index < (unsigned)num_exts_i; index++) { + exts_i[index] = (const char *)glGetStringi(GL_EXTENSIONS, index); + } + } +#endif + return 1; +} + +static void free_exts(void) { + if (exts_i != NULL) { + free(exts_i); + exts_i = NULL; + } +} + +static int has_ext(const char *ext) { +#ifdef _GLAD_IS_SOME_NEW_VERSION + if (max_loaded_major < 3) { +#endif + const char *extensions; + const char *loc; + const char *terminator; + extensions = exts; + if (extensions == NULL || ext == NULL) { + return 0; + } + + while (1) { + loc = strstr(extensions, ext); + if (loc == NULL) { + return 0; + } + + terminator = loc + strlen(ext); + if ((loc == extensions || *(loc - 1) == ' ') && + (*terminator == ' ' || *terminator == '\0')) { + return 1; + } + extensions = terminator; + } +#ifdef _GLAD_IS_SOME_NEW_VERSION + } else { + int index; + + for (index = 0; index < num_exts_i; index++) { + const char *e = exts_i[index]; + + if (strcmp(e, ext) == 0) { + return 1; + } + } + } +#endif + + return 0; +} +int GLAD_GL_VERSION_1_0; +int GLAD_GL_VERSION_1_1; +int GLAD_GL_VERSION_1_2; +int GLAD_GL_VERSION_1_3; +int GLAD_GL_VERSION_1_4; +int GLAD_GL_VERSION_1_5; +int GLAD_GL_VERSION_2_0; +int GLAD_GL_VERSION_2_1; +int GLAD_GL_VERSION_3_0; +int GLAD_GL_VERSION_3_1; +int GLAD_GL_VERSION_3_2; +int GLAD_GL_VERSION_3_3; +PFNGLCOPYTEXIMAGE1DPROC glad_glCopyTexImage1D; +PFNGLVERTEXATTRIBI3UIPROC glad_glVertexAttribI3ui; +PFNGLWINDOWPOS2SPROC glad_glWindowPos2s; +PFNGLWINDOWPOS2IPROC glad_glWindowPos2i; +PFNGLWINDOWPOS2FPROC glad_glWindowPos2f; +PFNGLWINDOWPOS2DPROC glad_glWindowPos2d; +PFNGLVERTEX2FVPROC glad_glVertex2fv; +PFNGLINDEXIPROC glad_glIndexi; +PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer; +PFNGLRECTDVPROC glad_glRectdv; +PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_glCompressedTexSubImage3D; +PFNGLEVALCOORD2DPROC glad_glEvalCoord2d; +PFNGLEVALCOORD2FPROC glad_glEvalCoord2f; +PFNGLINDEXDPROC glad_glIndexd; +PFNGLVERTEXATTRIB1SVPROC glad_glVertexAttrib1sv; +PFNGLINDEXFPROC glad_glIndexf; +PFNGLBINDSAMPLERPROC glad_glBindSampler; +PFNGLLINEWIDTHPROC glad_glLineWidth; +PFNGLCOLORP3UIVPROC glad_glColorP3uiv; +PFNGLGETINTEGERI_VPROC glad_glGetIntegeri_v; +PFNGLGETMAPFVPROC glad_glGetMapfv; +PFNGLINDEXSPROC glad_glIndexs; +PFNGLCOMPILESHADERPROC glad_glCompileShader; +PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_glGetTransformFeedbackVarying; +PFNGLWINDOWPOS2IVPROC glad_glWindowPos2iv; +PFNGLINDEXFVPROC glad_glIndexfv; +PFNGLFOGIVPROC glad_glFogiv; +PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate; +PFNGLRASTERPOS2FVPROC glad_glRasterPos2fv; +PFNGLLIGHTMODELIVPROC glad_glLightModeliv; +PFNGLCOLOR4UIPROC glad_glColor4ui; +PFNGLSECONDARYCOLOR3FVPROC glad_glSecondaryColor3fv; +PFNGLMULTITEXCOORDP3UIPROC glad_glMultiTexCoordP3ui; +PFNGLFOGFVPROC glad_glFogfv; +PFNGLVERTEXP4UIPROC glad_glVertexP4ui; +PFNGLENABLEIPROC glad_glEnablei; +PFNGLVERTEX4IVPROC glad_glVertex4iv; +PFNGLEVALCOORD1FVPROC glad_glEvalCoord1fv; +PFNGLWINDOWPOS2SVPROC glad_glWindowPos2sv; +PFNGLVERTEXATTRIBP4UIPROC glad_glVertexAttribP4ui; +PFNGLCREATESHADERPROC glad_glCreateShader; +PFNGLISBUFFERPROC glad_glIsBuffer; +PFNGLGETMULTISAMPLEFVPROC glad_glGetMultisamplefv; +PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers; +PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D; +PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D; +PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f; +PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate; +PFNGLVERTEX4FVPROC glad_glVertex4fv; +PFNGLBINDTEXTUREPROC glad_glBindTexture; +PFNGLVERTEXATTRIB1SPROC glad_glVertexAttrib1s; +PFNGLTEXCOORD2FVPROC glad_glTexCoord2fv; +PFNGLSAMPLEMASKIPROC glad_glSampleMaski; +PFNGLVERTEXP2UIPROC glad_glVertexP2ui; +PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_glDrawRangeElementsBaseVertex; +PFNGLTEXCOORD4FVPROC glad_glTexCoord4fv; +PFNGLUNIFORMMATRIX3X2FVPROC glad_glUniformMatrix3x2fv; +PFNGLPOINTSIZEPROC glad_glPointSize; +PFNGLVERTEXATTRIB2DVPROC glad_glVertexAttrib2dv; +PFNGLDELETEPROGRAMPROC glad_glDeleteProgram; +PFNGLCOLOR4BVPROC glad_glColor4bv; +PFNGLRASTERPOS2FPROC glad_glRasterPos2f; +PFNGLRASTERPOS2DPROC glad_glRasterPos2d; +PFNGLLOADIDENTITYPROC glad_glLoadIdentity; +PFNGLRASTERPOS2IPROC glad_glRasterPos2i; +PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage; +PFNGLUNIFORMMATRIX4X3FVPROC glad_glUniformMatrix4x3fv; +PFNGLCOLOR3BPROC glad_glColor3b; +PFNGLCLEARBUFFERFVPROC glad_glClearBufferfv; +PFNGLEDGEFLAGPROC glad_glEdgeFlag; +PFNGLDELETESAMPLERSPROC glad_glDeleteSamplers; +PFNGLVERTEX3DPROC glad_glVertex3d; +PFNGLVERTEX3FPROC glad_glVertex3f; +PFNGLVERTEX3IPROC glad_glVertex3i; +PFNGLCOLOR3IPROC glad_glColor3i; +PFNGLUNIFORM3FPROC glad_glUniform3f; +PFNGLVERTEXATTRIB4UBVPROC glad_glVertexAttrib4ubv; +PFNGLCOLOR3SPROC glad_glColor3s; +PFNGLVERTEX3SPROC glad_glVertex3s; +PFNGLTEXCOORDP2UIPROC glad_glTexCoordP2ui; +PFNGLCOLORMASKIPROC glad_glColorMaski; +PFNGLCLEARBUFFERFIPROC glad_glClearBufferfi; +PFNGLTEXCOORD1IVPROC glad_glTexCoord1iv; +PFNGLBLITFRAMEBUFFERPROC glad_glBlitFramebuffer; +PFNGLMULTITEXCOORDP2UIPROC glad_glMultiTexCoordP2ui; +PFNGLGETSAMPLERPARAMETERIIVPROC glad_glGetSamplerParameterIiv; +PFNGLGETFRAGDATAINDEXPROC glad_glGetFragDataIndex; +PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f; +PFNGLVERTEX2IVPROC glad_glVertex2iv; +PFNGLCOLOR3SVPROC glad_glColor3sv; +PFNGLGETVERTEXATTRIBDVPROC glad_glGetVertexAttribdv; +PFNGLUNIFORMMATRIX3X4FVPROC glad_glUniformMatrix3x4fv; +PFNGLNORMALPOINTERPROC glad_glNormalPointer; +PFNGLTEXCOORDP3UIVPROC glad_glTexCoordP3uiv; +PFNGLVERTEX4SVPROC glad_glVertex4sv; +PFNGLPASSTHROUGHPROC glad_glPassThrough; +PFNGLMULTITEXCOORDP4UIPROC glad_glMultiTexCoordP4ui; +PFNGLFOGIPROC glad_glFogi; +PFNGLBEGINPROC glad_glBegin; +PFNGLEVALCOORD2DVPROC glad_glEvalCoord2dv; +PFNGLCOLOR3UBVPROC glad_glColor3ubv; +PFNGLVERTEXPOINTERPROC glad_glVertexPointer; +PFNGLSECONDARYCOLOR3UIVPROC glad_glSecondaryColor3uiv; +PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers; +PFNGLDRAWARRAYSPROC glad_glDrawArrays; +PFNGLUNIFORM1UIPROC glad_glUniform1ui; +PFNGLMULTITEXCOORD1DPROC glad_glMultiTexCoord1d; +PFNGLMULTITEXCOORD1FPROC glad_glMultiTexCoord1f; +PFNGLLIGHTFVPROC glad_glLightfv; +PFNGLTEXCOORDP3UIPROC glad_glTexCoordP3ui; +PFNGLVERTEXATTRIB3DPROC glad_glVertexAttrib3d; +PFNGLCLEARPROC glad_glClear; +PFNGLMULTITEXCOORD1IPROC glad_glMultiTexCoord1i; +PFNGLGETACTIVEUNIFORMNAMEPROC glad_glGetActiveUniformName; +PFNGLMULTITEXCOORD1SPROC glad_glMultiTexCoord1s; +PFNGLISENABLEDPROC glad_glIsEnabled; +PFNGLSTENCILOPPROC glad_glStencilOp; +PFNGLGETQUERYOBJECTUIVPROC glad_glGetQueryObjectuiv; +PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D; +PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv; +PFNGLTRANSLATEFPROC glad_glTranslatef; +PFNGLVERTEXATTRIB4NUBPROC glad_glVertexAttrib4Nub; +PFNGLTRANSLATEDPROC glad_glTranslated; +PFNGLTEXCOORD3SVPROC glad_glTexCoord3sv; +PFNGLGETFRAGDATALOCATIONPROC glad_glGetFragDataLocation; +PFNGLTEXIMAGE1DPROC glad_glTexImage1D; +PFNGLVERTEXP3UIVPROC glad_glVertexP3uiv; +PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv; +PFNGLSECONDARYCOLOR3BVPROC glad_glSecondaryColor3bv; +PFNGLGETMATERIALFVPROC glad_glGetMaterialfv; +PFNGLGETTEXIMAGEPROC glad_glGetTexImage; +PFNGLFOGCOORDFVPROC glad_glFogCoordfv; +PFNGLPIXELMAPUIVPROC glad_glPixelMapuiv; +PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog; +PFNGLGETQUERYOBJECTI64VPROC glad_glGetQueryObjecti64v; +PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers; +PFNGLINDEXSVPROC glad_glIndexsv; +PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders; +PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer; +PFNGLVERTEX3IVPROC glad_glVertex3iv; +PFNGLBITMAPPROC glad_glBitmap; +PFNGLMATERIALIPROC glad_glMateriali; +PFNGLISVERTEXARRAYPROC glad_glIsVertexArray; +PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray; +PFNGLGETQUERYIVPROC glad_glGetQueryiv; +PFNGLTEXCOORD4FPROC glad_glTexCoord4f; +PFNGLTEXCOORD4DPROC glad_glTexCoord4d; +PFNGLGETSAMPLERPARAMETERFVPROC glad_glGetSamplerParameterfv; +PFNGLTEXCOORD4IPROC glad_glTexCoord4i; +PFNGLMATERIALFPROC glad_glMaterialf; +PFNGLTEXCOORD4SPROC glad_glTexCoord4s; +PFNGLGETUNIFORMINDICESPROC glad_glGetUniformIndices; +PFNGLISSHADERPROC glad_glIsShader; +PFNGLMULTITEXCOORD2SPROC glad_glMultiTexCoord2s; +PFNGLVERTEXATTRIBI4UBVPROC glad_glVertexAttribI4ubv; +PFNGLVERTEX3DVPROC glad_glVertex3dv; +PFNGLGETINTEGER64VPROC glad_glGetInteger64v; +PFNGLPOINTPARAMETERIVPROC glad_glPointParameteriv; +PFNGLENABLEPROC glad_glEnable; +PFNGLGETACTIVEUNIFORMSIVPROC glad_glGetActiveUniformsiv; +PFNGLCOLOR4FVPROC glad_glColor4fv; +PFNGLTEXCOORD1FVPROC glad_glTexCoord1fv; +PFNGLTEXCOORD2SVPROC glad_glTexCoord2sv; +PFNGLVERTEXATTRIB4DVPROC glad_glVertexAttrib4dv; +PFNGLMULTITEXCOORD1DVPROC glad_glMultiTexCoord1dv; +PFNGLMULTITEXCOORD2IPROC glad_glMultiTexCoord2i; +PFNGLTEXCOORD3FVPROC glad_glTexCoord3fv; +PFNGLSECONDARYCOLOR3USVPROC glad_glSecondaryColor3usv; +PFNGLTEXGENFPROC glad_glTexGenf; +PFNGLMULTITEXCOORDP3UIVPROC glad_glMultiTexCoordP3uiv; +PFNGLVERTEXATTRIBP3UIPROC glad_glVertexAttribP3ui; +PFNGLMULTITEXCOORDP1UIPROC glad_glMultiTexCoordP1ui; +PFNGLGETPOINTERVPROC glad_glGetPointerv; +PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset; +PFNGLGETUNIFORMUIVPROC glad_glGetUniformuiv; +PFNGLNORMAL3FVPROC glad_glNormal3fv; +PFNGLSECONDARYCOLOR3SPROC glad_glSecondaryColor3s; +PFNGLDEPTHRANGEPROC glad_glDepthRange; +PFNGLFRUSTUMPROC glad_glFrustum; +PFNGLMULTITEXCOORD4SVPROC glad_glMultiTexCoord4sv; +PFNGLDRAWBUFFERPROC glad_glDrawBuffer; +PFNGLPUSHMATRIXPROC glad_glPushMatrix; +PFNGLRASTERPOS3FVPROC glad_glRasterPos3fv; +PFNGLORTHOPROC glad_glOrtho; +PFNGLDRAWELEMENTSINSTANCEDPROC glad_glDrawElementsInstanced; +PFNGLWINDOWPOS3SVPROC glad_glWindowPos3sv; +PFNGLCLEARINDEXPROC glad_glClearIndex; +PFNGLMAP1DPROC glad_glMap1d; +PFNGLMAP1FPROC glad_glMap1f; +PFNGLFLUSHPROC glad_glFlush; +PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv; +PFNGLINDEXIVPROC glad_glIndexiv; +PFNGLRASTERPOS3SVPROC glad_glRasterPos3sv; +PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv; +PFNGLPIXELZOOMPROC glad_glPixelZoom; +PFNGLFENCESYNCPROC glad_glFenceSync; +PFNGLDELETEVERTEXARRAYSPROC glad_glDeleteVertexArrays; +PFNGLCOLORP3UIPROC glad_glColorP3ui; +PFNGLVERTEXATTRIB3SVPROC glad_glVertexAttrib3sv; +PFNGLBEGINCONDITIONALRENDERPROC glad_glBeginConditionalRender; +PFNGLDRAWELEMENTSBASEVERTEXPROC glad_glDrawElementsBaseVertex; +PFNGLGETTEXLEVELPARAMETERIVPROC glad_glGetTexLevelParameteriv; +PFNGLLIGHTIPROC glad_glLighti; +PFNGLMULTITEXCOORDP4UIVPROC glad_glMultiTexCoordP4uiv; +PFNGLLIGHTFPROC glad_glLightf; +PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation; +PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate; +PFNGLGENSAMPLERSPROC glad_glGenSamplers; +PFNGLCLAMPCOLORPROC glad_glClampColor; +PFNGLUNIFORM4IVPROC glad_glUniform4iv; +PFNGLCLEARSTENCILPROC glad_glClearStencil; +PFNGLTEXCOORDP1UIVPROC glad_glTexCoordP1uiv; +PFNGLMULTITEXCOORD3FVPROC glad_glMultiTexCoord3fv; +PFNGLGETPIXELMAPUIVPROC glad_glGetPixelMapuiv; +PFNGLGENTEXTURESPROC glad_glGenTextures; +PFNGLTEXCOORD4IVPROC glad_glTexCoord4iv; +PFNGLGETTEXPARAMETERIUIVPROC glad_glGetTexParameterIuiv; +PFNGLINDEXPOINTERPROC glad_glIndexPointer; +PFNGLVERTEXATTRIB4NBVPROC glad_glVertexAttrib4Nbv; +PFNGLISSYNCPROC glad_glIsSync; +PFNGLVERTEX2FPROC glad_glVertex2f; +PFNGLVERTEX2DPROC glad_glVertex2d; +PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers; +PFNGLUNIFORM2IPROC glad_glUniform2i; +PFNGLMAPGRID2DPROC glad_glMapGrid2d; +PFNGLMAPGRID2FPROC glad_glMapGrid2f; +PFNGLTEXCOORDP4UIPROC glad_glTexCoordP4ui; +PFNGLVERTEX2IPROC glad_glVertex2i; +PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer; +PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_glFramebufferTextureLayer; +PFNGLVERTEX2SPROC glad_glVertex2s; +PFNGLNORMAL3BVPROC glad_glNormal3bv; +PFNGLVERTEXATTRIB4NUIVPROC glad_glVertexAttrib4Nuiv; +PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_glFlushMappedBufferRange; +PFNGLSECONDARYCOLOR3SVPROC glad_glSecondaryColor3sv; +PFNGLVERTEX3SVPROC glad_glVertex3sv; +PFNGLGENQUERIESPROC glad_glGenQueries; +PFNGLGETPIXELMAPFVPROC glad_glGetPixelMapfv; +PFNGLTEXENVFPROC glad_glTexEnvf; +PFNGLVERTEXATTRIBP1UIPROC glad_glVertexAttribP1ui; +PFNGLTEXSUBIMAGE3DPROC glad_glTexSubImage3D; +PFNGLGETINTEGER64I_VPROC glad_glGetInteger64i_v; +PFNGLFOGCOORDDPROC glad_glFogCoordd; +PFNGLFOGCOORDFPROC glad_glFogCoordf; +PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D; +PFNGLTEXENVIPROC glad_glTexEnvi; +PFNGLMULTITEXCOORD1IVPROC glad_glMultiTexCoord1iv; +PFNGLISENABLEDIPROC glad_glIsEnabledi; +PFNGLSECONDARYCOLORP3UIPROC glad_glSecondaryColorP3ui; +PFNGLVERTEXATTRIBI2IPROC glad_glVertexAttribI2i; +PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_glBindFragDataLocationIndexed; +PFNGLMULTITEXCOORD2DVPROC glad_glMultiTexCoord2dv; +PFNGLUNIFORM2IVPROC glad_glUniform2iv; +PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv; +PFNGLUNIFORM4UIVPROC glad_glUniform4uiv; +PFNGLMATRIXMODEPROC glad_glMatrixMode; +PFNGLFEEDBACKBUFFERPROC glad_glFeedbackBuffer; +PFNGLGETMAPIVPROC glad_glGetMapiv; +PFNGLFRAMEBUFFERTEXTURE1DPROC glad_glFramebufferTexture1D; +PFNGLGETSHADERIVPROC glad_glGetShaderiv; +PFNGLMULTITEXCOORD2DPROC glad_glMultiTexCoord2d; +PFNGLMULTITEXCOORD2FPROC glad_glMultiTexCoord2f; +PFNGLBINDFRAGDATALOCATIONPROC glad_glBindFragDataLocation; +PFNGLPRIORITIZETEXTURESPROC glad_glPrioritizeTextures; +PFNGLCALLLISTPROC glad_glCallList; +PFNGLSECONDARYCOLOR3UBVPROC glad_glSecondaryColor3ubv; +PFNGLGETDOUBLEVPROC glad_glGetDoublev; +PFNGLMULTITEXCOORD3IVPROC glad_glMultiTexCoord3iv; +PFNGLVERTEXATTRIB1DPROC glad_glVertexAttrib1d; +PFNGLLIGHTMODELFPROC glad_glLightModelf; +PFNGLGETUNIFORMIVPROC glad_glGetUniformiv; +PFNGLVERTEX2SVPROC glad_glVertex2sv; +PFNGLLIGHTMODELIPROC glad_glLightModeli; +PFNGLWINDOWPOS3IVPROC glad_glWindowPos3iv; +PFNGLMULTITEXCOORDP1UIVPROC glad_glMultiTexCoordP1uiv; +PFNGLUNIFORM3FVPROC glad_glUniform3fv; +PFNGLPIXELSTOREIPROC glad_glPixelStorei; +PFNGLCALLLISTSPROC glad_glCallLists; +PFNGLMAPBUFFERPROC glad_glMapBuffer; +PFNGLSECONDARYCOLOR3DPROC glad_glSecondaryColor3d; +PFNGLTEXCOORD3IPROC glad_glTexCoord3i; +PFNGLMULTITEXCOORD4FVPROC glad_glMultiTexCoord4fv; +PFNGLRASTERPOS3IPROC glad_glRasterPos3i; +PFNGLSECONDARYCOLOR3BPROC glad_glSecondaryColor3b; +PFNGLRASTERPOS3DPROC glad_glRasterPos3d; +PFNGLRASTERPOS3FPROC glad_glRasterPos3f; +PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_glCompressedTexImage3D; +PFNGLTEXCOORD3FPROC glad_glTexCoord3f; +PFNGLDELETESYNCPROC glad_glDeleteSync; +PFNGLTEXCOORD3DPROC glad_glTexCoord3d; +PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_glTexImage2DMultisample; +PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv; +PFNGLMULTIDRAWELEMENTSPROC glad_glMultiDrawElements; +PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv; +PFNGLTEXCOORD3SPROC glad_glTexCoord3s; +PFNGLUNIFORM3IVPROC glad_glUniform3iv; +PFNGLRASTERPOS3SPROC glad_glRasterPos3s; +PFNGLPOLYGONMODEPROC glad_glPolygonMode; +PFNGLDRAWBUFFERSPROC glad_glDrawBuffers; +PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_glGetActiveUniformBlockiv; +PFNGLARETEXTURESRESIDENTPROC glad_glAreTexturesResident; +PFNGLISLISTPROC glad_glIsList; +PFNGLRASTERPOS2SVPROC glad_glRasterPos2sv; +PFNGLRASTERPOS4SVPROC glad_glRasterPos4sv; +PFNGLCOLOR4SPROC glad_glColor4s; +PFNGLUSEPROGRAMPROC glad_glUseProgram; +PFNGLLINESTIPPLEPROC glad_glLineStipple; +PFNGLMULTITEXCOORD1SVPROC glad_glMultiTexCoord1sv; +PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog; +PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv; +PFNGLMULTITEXCOORD2IVPROC glad_glMultiTexCoord2iv; +PFNGLUNIFORMMATRIX2X4FVPROC glad_glUniformMatrix2x4fv; +PFNGLBINDVERTEXARRAYPROC glad_glBindVertexArray; +PFNGLCOLOR4BPROC glad_glColor4b; +PFNGLSECONDARYCOLOR3FPROC glad_glSecondaryColor3f; +PFNGLCOLOR4FPROC glad_glColor4f; +PFNGLCOLOR4DPROC glad_glColor4d; +PFNGLCOLOR4IPROC glad_glColor4i; +PFNGLSAMPLERPARAMETERIIVPROC glad_glSamplerParameterIiv; +PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_glMultiDrawElementsBaseVertex; +PFNGLRASTERPOS3IVPROC glad_glRasterPos3iv; +PFNGLVERTEX2DVPROC glad_glVertex2dv; +PFNGLTEXCOORD4SVPROC glad_glTexCoord4sv; +PFNGLUNIFORM2UIVPROC glad_glUniform2uiv; +PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_glCompressedTexSubImage1D; +PFNGLFINISHPROC glad_glFinish; +PFNGLGETBOOLEANVPROC glad_glGetBooleanv; +PFNGLDELETESHADERPROC glad_glDeleteShader; +PFNGLDRAWELEMENTSPROC glad_glDrawElements; +PFNGLRASTERPOS2SPROC glad_glRasterPos2s; +PFNGLGETMAPDVPROC glad_glGetMapdv; +PFNGLVERTEXATTRIB4NSVPROC glad_glVertexAttrib4Nsv; +PFNGLMATERIALFVPROC glad_glMaterialfv; +PFNGLVIEWPORTPROC glad_glViewport; +PFNGLUNIFORM1UIVPROC glad_glUniform1uiv; +PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_glTransformFeedbackVaryings; +PFNGLINDEXDVPROC glad_glIndexdv; +PFNGLCOPYTEXSUBIMAGE3DPROC glad_glCopyTexSubImage3D; +PFNGLTEXCOORD3IVPROC glad_glTexCoord3iv; +PFNGLVERTEXATTRIBI3IPROC glad_glVertexAttribI3i; +PFNGLCLEARDEPTHPROC glad_glClearDepth; +PFNGLVERTEXATTRIBI4USVPROC glad_glVertexAttribI4usv; +PFNGLTEXPARAMETERFPROC glad_glTexParameterf; +PFNGLTEXPARAMETERIPROC glad_glTexParameteri; +PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource; +PFNGLTEXBUFFERPROC glad_glTexBuffer; +PFNGLPOPNAMEPROC glad_glPopName; +PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram; +PFNGLPIXELSTOREFPROC glad_glPixelStoref; +PFNGLUNIFORM3UIVPROC glad_glUniform3uiv; +PFNGLRASTERPOS4FVPROC glad_glRasterPos4fv; +PFNGLEVALCOORD1DVPROC glad_glEvalCoord1dv; +PFNGLMULTITEXCOORDP2UIVPROC glad_glMultiTexCoordP2uiv; +PFNGLRECTIPROC glad_glRecti; +PFNGLCOLOR4UBPROC glad_glColor4ub; +PFNGLMULTTRANSPOSEMATRIXFPROC glad_glMultTransposeMatrixf; +PFNGLRECTFPROC glad_glRectf; +PFNGLRECTDPROC glad_glRectd; +PFNGLNORMAL3SVPROC glad_glNormal3sv; +PFNGLNEWLISTPROC glad_glNewList; +PFNGLCOLOR4USPROC glad_glColor4us; +PFNGLVERTEXATTRIBP1UIVPROC glad_glVertexAttribP1uiv; +PFNGLLINKPROGRAMPROC glad_glLinkProgram; +PFNGLHINTPROC glad_glHint; +PFNGLRECTSPROC glad_glRects; +PFNGLTEXCOORD2DVPROC glad_glTexCoord2dv; +PFNGLRASTERPOS4IVPROC glad_glRasterPos4iv; +PFNGLGETSTRINGPROC glad_glGetString; +PFNGLVERTEXATTRIBP2UIVPROC glad_glVertexAttribP2uiv; +PFNGLEDGEFLAGVPROC glad_glEdgeFlagv; +PFNGLDETACHSHADERPROC glad_glDetachShader; +PFNGLSCALEFPROC glad_glScalef; +PFNGLENDQUERYPROC glad_glEndQuery; +PFNGLSCALEDPROC glad_glScaled; +PFNGLEDGEFLAGPOINTERPROC glad_glEdgeFlagPointer; +PFNGLCOPYPIXELSPROC glad_glCopyPixels; +PFNGLVERTEXATTRIBI2UIPROC glad_glVertexAttribI2ui; +PFNGLPOPATTRIBPROC glad_glPopAttrib; +PFNGLDELETETEXTURESPROC glad_glDeleteTextures; +PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate; +PFNGLDELETEQUERIESPROC glad_glDeleteQueries; +PFNGLNORMALP3UIVPROC glad_glNormalP3uiv; +PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f; +PFNGLVERTEXATTRIB4DPROC glad_glVertexAttrib4d; +PFNGLINITNAMESPROC glad_glInitNames; +PFNGLGETBUFFERPARAMETERI64VPROC glad_glGetBufferParameteri64v; +PFNGLCOLOR3DVPROC glad_glColor3dv; +PFNGLVERTEXATTRIBI1IPROC glad_glVertexAttribI1i; +PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv; +PFNGLWAITSYNCPROC glad_glWaitSync; +PFNGLVERTEXATTRIB4SPROC glad_glVertexAttrib4s; +PFNGLCOLORMATERIALPROC glad_glColorMaterial; +PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage; +PFNGLSAMPLERPARAMETERIPROC glad_glSamplerParameteri; +PFNGLSAMPLERPARAMETERFPROC glad_glSamplerParameterf; +PFNGLUNIFORM1FPROC glad_glUniform1f; +PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv; +PFNGLRENDERMODEPROC glad_glRenderMode; +PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_glGetCompressedTexImage; +PFNGLWINDOWPOS2DVPROC glad_glWindowPos2dv; +PFNGLUNIFORM1IPROC glad_glUniform1i; +PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib; +PFNGLUNIFORM3IPROC glad_glUniform3i; +PFNGLPIXELTRANSFERIPROC glad_glPixelTransferi; +PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D; +PFNGLDISABLEPROC glad_glDisable; +PFNGLLOGICOPPROC glad_glLogicOp; +PFNGLEVALPOINT2PROC glad_glEvalPoint2; +PFNGLPIXELTRANSFERFPROC glad_glPixelTransferf; +PFNGLSECONDARYCOLOR3IPROC glad_glSecondaryColor3i; +PFNGLUNIFORM4UIPROC glad_glUniform4ui; +PFNGLCOLOR3FPROC glad_glColor3f; +PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer; +PFNGLGETTEXENVFVPROC glad_glGetTexEnvfv; +PFNGLRECTFVPROC glad_glRectfv; +PFNGLCULLFACEPROC glad_glCullFace; +PFNGLGETLIGHTFVPROC glad_glGetLightfv; +PFNGLCOLOR3DPROC glad_glColor3d; +PFNGLTEXGENDPROC glad_glTexGend; +PFNGLTEXGENIPROC glad_glTexGeni; +PFNGLMULTITEXCOORD3SPROC glad_glMultiTexCoord3s; +PFNGLGETSTRINGIPROC glad_glGetStringi; +PFNGLMULTITEXCOORD3IPROC glad_glMultiTexCoord3i; +PFNGLMULTITEXCOORD3FPROC glad_glMultiTexCoord3f; +PFNGLMULTITEXCOORD3DPROC glad_glMultiTexCoord3d; +PFNGLATTACHSHADERPROC glad_glAttachShader; +PFNGLFOGCOORDDVPROC glad_glFogCoorddv; +PFNGLUNIFORMMATRIX2X3FVPROC glad_glUniformMatrix2x3fv; +PFNGLGETTEXGENFVPROC glad_glGetTexGenfv; +PFNGLQUERYCOUNTERPROC glad_glQueryCounter; +PFNGLFOGCOORDPOINTERPROC glad_glFogCoordPointer; +PFNGLPROVOKINGVERTEXPROC glad_glProvokingVertex; +PFNGLFRAMEBUFFERTEXTURE3DPROC glad_glFramebufferTexture3D; +PFNGLTEXGENIVPROC glad_glTexGeniv; +PFNGLRASTERPOS2DVPROC glad_glRasterPos2dv; +PFNGLSECONDARYCOLOR3DVPROC glad_glSecondaryColor3dv; +PFNGLCLIENTACTIVETEXTUREPROC glad_glClientActiveTexture; +PFNGLVERTEXATTRIBI4SVPROC glad_glVertexAttribI4sv; +PFNGLSECONDARYCOLOR3USPROC glad_glSecondaryColor3us; +PFNGLNORMALP3UIPROC glad_glNormalP3ui; +PFNGLTEXENVFVPROC glad_glTexEnvfv; +PFNGLREADBUFFERPROC glad_glReadBuffer; +PFNGLTEXPARAMETERIUIVPROC glad_glTexParameterIuiv; +PFNGLDRAWARRAYSINSTANCEDPROC glad_glDrawArraysInstanced; +PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap; +PFNGLWINDOWPOS3FVPROC glad_glWindowPos3fv; +PFNGLLIGHTMODELFVPROC glad_glLightModelfv; +PFNGLSAMPLERPARAMETERIVPROC glad_glSamplerParameteriv; +PFNGLDELETELISTSPROC glad_glDeleteLists; +PFNGLGETCLIPPLANEPROC glad_glGetClipPlane; +PFNGLVERTEX4DVPROC glad_glVertex4dv; +PFNGLTEXCOORD2DPROC glad_glTexCoord2d; +PFNGLPOPMATRIXPROC glad_glPopMatrix; +PFNGLTEXCOORD2FPROC glad_glTexCoord2f; +PFNGLCOLOR4IVPROC glad_glColor4iv; +PFNGLINDEXUBVPROC glad_glIndexubv; +PFNGLUNMAPBUFFERPROC glad_glUnmapBuffer; +PFNGLTEXCOORD2IPROC glad_glTexCoord2i; +PFNGLRASTERPOS4DPROC glad_glRasterPos4d; +PFNGLRASTERPOS4FPROC glad_glRasterPos4f; +PFNGLVERTEXATTRIB3SPROC glad_glVertexAttrib3s; +PFNGLTEXCOORD2SPROC glad_glTexCoord2s; +PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer; +PFNGLVERTEX3FVPROC glad_glVertex3fv; +PFNGLTEXCOORD4DVPROC glad_glTexCoord4dv; +PFNGLMATERIALIVPROC glad_glMaterialiv; +PFNGLVERTEXATTRIBP4UIVPROC glad_glVertexAttribP4uiv; +PFNGLISPROGRAMPROC glad_glIsProgram; +PFNGLVERTEXATTRIB4BVPROC glad_glVertexAttrib4bv; +PFNGLVERTEX4SPROC glad_glVertex4s; +PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv; +PFNGLNORMAL3DVPROC glad_glNormal3dv; +PFNGLUNIFORM4IPROC glad_glUniform4i; +PFNGLACTIVETEXTUREPROC glad_glActiveTexture; +PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray; +PFNGLROTATEDPROC glad_glRotated; +PFNGLROTATEFPROC glad_glRotatef; +PFNGLVERTEX4IPROC glad_glVertex4i; +PFNGLREADPIXELSPROC glad_glReadPixels; +PFNGLVERTEXATTRIBI3IVPROC glad_glVertexAttribI3iv; +PFNGLLOADNAMEPROC glad_glLoadName; +PFNGLUNIFORM4FPROC glad_glUniform4f; +PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glRenderbufferStorageMultisample; +PFNGLGENVERTEXARRAYSPROC glad_glGenVertexArrays; +PFNGLSHADEMODELPROC glad_glShadeModel; +PFNGLMAPGRID1DPROC glad_glMapGrid1d; +PFNGLGETUNIFORMFVPROC glad_glGetUniformfv; +PFNGLMAPGRID1FPROC glad_glMapGrid1f; +PFNGLSAMPLERPARAMETERFVPROC glad_glSamplerParameterfv; +PFNGLDISABLECLIENTSTATEPROC glad_glDisableClientState; +PFNGLMULTITEXCOORD3SVPROC glad_glMultiTexCoord3sv; +PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_glDrawElementsInstancedBaseVertex; +PFNGLSECONDARYCOLORPOINTERPROC glad_glSecondaryColorPointer; +PFNGLALPHAFUNCPROC glad_glAlphaFunc; +PFNGLUNIFORM1IVPROC glad_glUniform1iv; +PFNGLMULTITEXCOORD4IVPROC glad_glMultiTexCoord4iv; +PFNGLGETQUERYOBJECTIVPROC glad_glGetQueryObjectiv; +PFNGLSTENCILFUNCPROC glad_glStencilFunc; +PFNGLMULTITEXCOORD1FVPROC glad_glMultiTexCoord1fv; +PFNGLUNIFORMBLOCKBINDINGPROC glad_glUniformBlockBinding; +PFNGLCOLOR4UIVPROC glad_glColor4uiv; +PFNGLRECTIVPROC glad_glRectiv; +PFNGLCOLORP4UIPROC glad_glColorP4ui; +PFNGLRASTERPOS3DVPROC glad_glRasterPos3dv; +PFNGLEVALMESH2PROC glad_glEvalMesh2; +PFNGLEVALMESH1PROC glad_glEvalMesh1; +PFNGLTEXCOORDPOINTERPROC glad_glTexCoordPointer; +PFNGLVERTEXATTRIB4NUBVPROC glad_glVertexAttrib4Nubv; +PFNGLVERTEXATTRIBI4IVPROC glad_glVertexAttribI4iv; +PFNGLEVALCOORD2FVPROC glad_glEvalCoord2fv; +PFNGLCOLOR4UBVPROC glad_glColor4ubv; +PFNGLLOADTRANSPOSEMATRIXDPROC glad_glLoadTransposeMatrixd; +PFNGLLOADTRANSPOSEMATRIXFPROC glad_glLoadTransposeMatrixf; +PFNGLVERTEXATTRIBI4IPROC glad_glVertexAttribI4i; +PFNGLRASTERPOS2IVPROC glad_glRasterPos2iv; +PFNGLGETBUFFERSUBDATAPROC glad_glGetBufferSubData; +PFNGLTEXENVIVPROC glad_glTexEnviv; +PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate; +PFNGLVERTEXATTRIBI1UIPROC glad_glVertexAttribI1ui; +PFNGLGENBUFFERSPROC glad_glGenBuffers; +PFNGLSELECTBUFFERPROC glad_glSelectBuffer; +PFNGLVERTEXATTRIB2SVPROC glad_glVertexAttrib2sv; +PFNGLPUSHATTRIBPROC glad_glPushAttrib; +PFNGLVERTEXATTRIBIPOINTERPROC glad_glVertexAttribIPointer; +PFNGLBLENDFUNCPROC glad_glBlendFunc; +PFNGLCREATEPROGRAMPROC glad_glCreateProgram; +PFNGLTEXIMAGE3DPROC glad_glTexImage3D; +PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer; +PFNGLLIGHTIVPROC glad_glLightiv; +PFNGLPRIMITIVERESTARTINDEXPROC glad_glPrimitiveRestartIndex; +PFNGLTEXGENFVPROC glad_glTexGenfv; +PFNGLENDPROC glad_glEnd; +PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers; +PFNGLSCISSORPROC glad_glScissor; +PFNGLTEXCOORDP4UIVPROC glad_glTexCoordP4uiv; +PFNGLCLIPPLANEPROC glad_glClipPlane; +PFNGLPUSHNAMEPROC glad_glPushName; +PFNGLTEXGENDVPROC glad_glTexGendv; +PFNGLINDEXUBPROC glad_glIndexub; +PFNGLVERTEXP2UIVPROC glad_glVertexP2uiv; +PFNGLSECONDARYCOLOR3IVPROC glad_glSecondaryColor3iv; +PFNGLRASTERPOS4IPROC glad_glRasterPos4i; +PFNGLMULTTRANSPOSEMATRIXDPROC glad_glMultTransposeMatrixd; +PFNGLCLEARCOLORPROC glad_glClearColor; +PFNGLVERTEXATTRIB4UIVPROC glad_glVertexAttrib4uiv; +PFNGLNORMAL3SPROC glad_glNormal3s; +PFNGLVERTEXATTRIB4NIVPROC glad_glVertexAttrib4Niv; +PFNGLCLEARBUFFERIVPROC glad_glClearBufferiv; +PFNGLPOINTPARAMETERIPROC glad_glPointParameteri; +PFNGLCOLORP4UIVPROC glad_glColorP4uiv; +PFNGLBLENDCOLORPROC glad_glBlendColor; +PFNGLWINDOWPOS3DPROC glad_glWindowPos3d; +PFNGLVERTEXATTRIBI2UIVPROC glad_glVertexAttribI2uiv; +PFNGLSAMPLERPARAMETERIUIVPROC glad_glSamplerParameterIuiv; +PFNGLUNIFORM3UIPROC glad_glUniform3ui; +PFNGLCOLOR4DVPROC glad_glColor4dv; +PFNGLVERTEXATTRIBI4UIVPROC glad_glVertexAttribI4uiv; +PFNGLPOINTPARAMETERFVPROC glad_glPointParameterfv; +PFNGLUNIFORM2FVPROC glad_glUniform2fv; +PFNGLSECONDARYCOLOR3UBPROC glad_glSecondaryColor3ub; +PFNGLSECONDARYCOLOR3UIPROC glad_glSecondaryColor3ui; +PFNGLTEXCOORD3DVPROC glad_glTexCoord3dv; +PFNGLGETSAMPLERPARAMETERIUIVPROC glad_glGetSamplerParameterIuiv; +PFNGLBINDBUFFERRANGEPROC glad_glBindBufferRange; +PFNGLNORMAL3IVPROC glad_glNormal3iv; +PFNGLWINDOWPOS3SPROC glad_glWindowPos3s; +PFNGLPOINTPARAMETERFPROC glad_glPointParameterf; +PFNGLGETVERTEXATTRIBIUIVPROC glad_glGetVertexAttribIuiv; +PFNGLWINDOWPOS3IPROC glad_glWindowPos3i; +PFNGLMULTITEXCOORD4SPROC glad_glMultiTexCoord4s; +PFNGLWINDOWPOS3FPROC glad_glWindowPos3f; +PFNGLCOLOR3USPROC glad_glColor3us; +PFNGLCOLOR3UIVPROC glad_glColor3uiv; +PFNGLVERTEXATTRIB4NUSVPROC glad_glVertexAttrib4Nusv; +PFNGLGETLIGHTIVPROC glad_glGetLightiv; +PFNGLDEPTHFUNCPROC glad_glDepthFunc; +PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D; +PFNGLLISTBASEPROC glad_glListBase; +PFNGLMULTITEXCOORD4FPROC glad_glMultiTexCoord4f; +PFNGLCOLOR3UBPROC glad_glColor3ub; +PFNGLMULTITEXCOORD4DPROC glad_glMultiTexCoord4d; +PFNGLVERTEXATTRIBI4BVPROC glad_glVertexAttribI4bv; +PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv; +PFNGLCOLOR3UIPROC glad_glColor3ui; +PFNGLMULTITEXCOORD4IPROC glad_glMultiTexCoord4i; +PFNGLGETPOLYGONSTIPPLEPROC glad_glGetPolygonStipple; +PFNGLCLIENTWAITSYNCPROC glad_glClientWaitSync; +PFNGLVERTEXATTRIBI4UIPROC glad_glVertexAttribI4ui; +PFNGLMULTITEXCOORD4DVPROC glad_glMultiTexCoord4dv; +PFNGLCOLORMASKPROC glad_glColorMask; +PFNGLTEXPARAMETERIIVPROC glad_glTexParameterIiv; +PFNGLBLENDEQUATIONPROC glad_glBlendEquation; +PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation; +PFNGLGETSAMPLERPARAMETERIVPROC glad_glGetSamplerParameteriv; +PFNGLRASTERPOS4SPROC glad_glRasterPos4s; +PFNGLENDTRANSFORMFEEDBACKPROC glad_glEndTransformFeedback; +PFNGLVERTEXATTRIB4USVPROC glad_glVertexAttrib4usv; +PFNGLMULTITEXCOORD3DVPROC glad_glMultiTexCoord3dv; +PFNGLCOLOR4SVPROC glad_glColor4sv; +PFNGLPOPCLIENTATTRIBPROC glad_glPopClientAttrib; +PFNGLBEGINTRANSFORMFEEDBACKPROC glad_glBeginTransformFeedback; +PFNGLFOGFPROC glad_glFogf; +PFNGLVERTEXATTRIBI1IVPROC glad_glVertexAttribI1iv; +PFNGLISSAMPLERPROC glad_glIsSampler; +PFNGLVERTEXP3UIPROC glad_glVertexP3ui; +PFNGLVERTEXATTRIBDIVISORPROC glad_glVertexAttribDivisor; +PFNGLCOLOR3IVPROC glad_glColor3iv; +PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_glCompressedTexImage1D; +PFNGLCOPYTEXSUBIMAGE1DPROC glad_glCopyTexSubImage1D; +PFNGLTEXCOORD1IPROC glad_glTexCoord1i; +PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus; +PFNGLTEXCOORD1DPROC glad_glTexCoord1d; +PFNGLTEXCOORD1FPROC glad_glTexCoord1f; +PFNGLENDCONDITIONALRENDERPROC glad_glEndConditionalRender; +PFNGLENABLECLIENTSTATEPROC glad_glEnableClientState; +PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation; +PFNGLUNIFORMMATRIX4X2FVPROC glad_glUniformMatrix4x2fv; +PFNGLMULTITEXCOORD2SVPROC glad_glMultiTexCoord2sv; +PFNGLVERTEXATTRIB1DVPROC glad_glVertexAttrib1dv; +PFNGLDRAWRANGEELEMENTSPROC glad_glDrawRangeElements; +PFNGLTEXCOORD1SPROC glad_glTexCoord1s; +PFNGLBINDBUFFERBASEPROC glad_glBindBufferBase; +PFNGLBUFFERSUBDATAPROC glad_glBufferSubData; +PFNGLVERTEXATTRIB4IVPROC glad_glVertexAttrib4iv; +PFNGLGENLISTSPROC glad_glGenLists; +PFNGLCOLOR3BVPROC glad_glColor3bv; +PFNGLMAPBUFFERRANGEPROC glad_glMapBufferRange; +PFNGLFRAMEBUFFERTEXTUREPROC glad_glFramebufferTexture; +PFNGLGETTEXGENDVPROC glad_glGetTexGendv; +PFNGLMULTIDRAWARRAYSPROC glad_glMultiDrawArrays; +PFNGLENDLISTPROC glad_glEndList; +PFNGLVERTEXP4UIVPROC glad_glVertexP4uiv; +PFNGLUNIFORM2UIPROC glad_glUniform2ui; +PFNGLVERTEXATTRIBI2IVPROC glad_glVertexAttribI2iv; +PFNGLCOLOR3USVPROC glad_glColor3usv; +PFNGLWINDOWPOS2FVPROC glad_glWindowPos2fv; +PFNGLDISABLEIPROC glad_glDisablei; +PFNGLINDEXMASKPROC glad_glIndexMask; +PFNGLPUSHCLIENTATTRIBPROC glad_glPushClientAttrib; +PFNGLSHADERSOURCEPROC glad_glShaderSource; +PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_glGetActiveUniformBlockName; +PFNGLVERTEXATTRIBI3UIVPROC glad_glVertexAttribI3uiv; +PFNGLCLEARACCUMPROC glad_glClearAccum; +PFNGLGETSYNCIVPROC glad_glGetSynciv; +PFNGLTEXCOORDP2UIVPROC glad_glTexCoordP2uiv; +PFNGLUNIFORM2FPROC glad_glUniform2f; +PFNGLBEGINQUERYPROC glad_glBeginQuery; +PFNGLGETUNIFORMBLOCKINDEXPROC glad_glGetUniformBlockIndex; +PFNGLBINDBUFFERPROC glad_glBindBuffer; +PFNGLMAP2DPROC glad_glMap2d; +PFNGLMAP2FPROC glad_glMap2f; +PFNGLVERTEX4DPROC glad_glVertex4d; +PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv; +PFNGLTEXCOORD1SVPROC glad_glTexCoord1sv; +PFNGLBUFFERDATAPROC glad_glBufferData; +PFNGLEVALPOINT1PROC glad_glEvalPoint1; +PFNGLGETTEXPARAMETERIIVPROC glad_glGetTexParameterIiv; +PFNGLTEXCOORD1DVPROC glad_glTexCoord1dv; +PFNGLTEXCOORDP1UIPROC glad_glTexCoordP1ui; +PFNGLGETERRORPROC glad_glGetError; +PFNGLGETTEXENVIVPROC glad_glGetTexEnviv; +PFNGLGETPROGRAMIVPROC glad_glGetProgramiv; +PFNGLVERTEXATTRIBP2UIPROC glad_glVertexAttribP2ui; +PFNGLGETFLOATVPROC glad_glGetFloatv; +PFNGLTEXSUBIMAGE1DPROC glad_glTexSubImage1D; +PFNGLMULTITEXCOORD2FVPROC glad_glMultiTexCoord2fv; +PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv; +PFNGLEVALCOORD1DPROC glad_glEvalCoord1d; +PFNGLGETTEXLEVELPARAMETERFVPROC glad_glGetTexLevelParameterfv; +PFNGLEVALCOORD1FPROC glad_glEvalCoord1f; +PFNGLPIXELMAPFVPROC glad_glPixelMapfv; +PFNGLVERTEXATTRIBP3UIVPROC glad_glVertexAttribP3uiv; +PFNGLGETPIXELMAPUSVPROC glad_glGetPixelMapusv; +PFNGLSECONDARYCOLORP3UIVPROC glad_glSecondaryColorP3uiv; +PFNGLGETINTEGERVPROC glad_glGetIntegerv; +PFNGLACCUMPROC glad_glAccum; +PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv; +PFNGLGETVERTEXATTRIBIIVPROC glad_glGetVertexAttribIiv; +PFNGLRASTERPOS4DVPROC glad_glRasterPos4dv; +PFNGLTEXCOORD2IVPROC glad_glTexCoord2iv; +PFNGLISQUERYPROC glad_glIsQuery; +PFNGLVERTEXATTRIB4SVPROC glad_glVertexAttrib4sv; +PFNGLWINDOWPOS3DVPROC glad_glWindowPos3dv; +PFNGLTEXIMAGE2DPROC glad_glTexImage2D; +PFNGLSTENCILMASKPROC glad_glStencilMask; +PFNGLDRAWPIXELSPROC glad_glDrawPixels; +PFNGLMULTMATRIXDPROC glad_glMultMatrixd; +PFNGLMULTMATRIXFPROC glad_glMultMatrixf; +PFNGLISTEXTUREPROC glad_glIsTexture; +PFNGLGETMATERIALIVPROC glad_glGetMaterialiv; +PFNGLUNIFORM1FVPROC glad_glUniform1fv; +PFNGLLOADMATRIXFPROC glad_glLoadMatrixf; +PFNGLLOADMATRIXDPROC glad_glLoadMatrixd; +PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv; +PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv; +PFNGLVERTEX4FPROC glad_glVertex4f; +PFNGLRECTSVPROC glad_glRectsv; +PFNGLCOLOR4USVPROC glad_glColor4usv; +PFNGLPOLYGONSTIPPLEPROC glad_glPolygonStipple; +PFNGLINTERLEAVEDARRAYSPROC glad_glInterleavedArrays; +PFNGLNORMAL3IPROC glad_glNormal3i; +PFNGLNORMAL3FPROC glad_glNormal3f; +PFNGLNORMAL3DPROC glad_glNormal3d; +PFNGLNORMAL3BPROC glad_glNormal3b; +PFNGLPIXELMAPUSVPROC glad_glPixelMapusv; +PFNGLGETTEXGENIVPROC glad_glGetTexGeniv; +PFNGLARRAYELEMENTPROC glad_glArrayElement; +PFNGLCOPYBUFFERSUBDATAPROC glad_glCopyBufferSubData; +PFNGLVERTEXATTRIBI1UIVPROC glad_glVertexAttribI1uiv; +PFNGLVERTEXATTRIB2DPROC glad_glVertexAttrib2d; +PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f; +PFNGLVERTEXATTRIB3DVPROC glad_glVertexAttrib3dv; +PFNGLGETQUERYOBJECTUI64VPROC glad_glGetQueryObjectui64v; +PFNGLDEPTHMASKPROC glad_glDepthMask; +PFNGLVERTEXATTRIB2SPROC glad_glVertexAttrib2s; +PFNGLCOLOR3FVPROC glad_glColor3fv; +PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_glTexImage3DMultisample; +PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv; +PFNGLUNIFORM4FVPROC glad_glUniform4fv; +PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform; +PFNGLCOLORPOINTERPROC glad_glColorPointer; +PFNGLFRONTFACEPROC glad_glFrontFace; +PFNGLGETBOOLEANI_VPROC glad_glGetBooleani_v; +PFNGLCLEARBUFFERUIVPROC glad_glClearBufferuiv; +int GLAD_GL_ARB_pixel_buffer_object; +int GLAD_GL_ARB_texture_non_power_of_two; +static void load_GL_VERSION_1_0(GLADloadproc load) { + if (!GLAD_GL_VERSION_1_0) return; + glad_glCullFace = (PFNGLCULLFACEPROC)load("glCullFace"); + glad_glFrontFace = (PFNGLFRONTFACEPROC)load("glFrontFace"); + glad_glHint = (PFNGLHINTPROC)load("glHint"); + glad_glLineWidth = (PFNGLLINEWIDTHPROC)load("glLineWidth"); + glad_glPointSize = (PFNGLPOINTSIZEPROC)load("glPointSize"); + glad_glPolygonMode = (PFNGLPOLYGONMODEPROC)load("glPolygonMode"); + glad_glScissor = (PFNGLSCISSORPROC)load("glScissor"); + glad_glTexParameterf = (PFNGLTEXPARAMETERFPROC)load("glTexParameterf"); + glad_glTexParameterfv = (PFNGLTEXPARAMETERFVPROC)load("glTexParameterfv"); + glad_glTexParameteri = (PFNGLTEXPARAMETERIPROC)load("glTexParameteri"); + glad_glTexParameteriv = (PFNGLTEXPARAMETERIVPROC)load("glTexParameteriv"); + glad_glTexImage1D = (PFNGLTEXIMAGE1DPROC)load("glTexImage1D"); + glad_glTexImage2D = (PFNGLTEXIMAGE2DPROC)load("glTexImage2D"); + glad_glDrawBuffer = (PFNGLDRAWBUFFERPROC)load("glDrawBuffer"); + glad_glClear = (PFNGLCLEARPROC)load("glClear"); + glad_glClearColor = (PFNGLCLEARCOLORPROC)load("glClearColor"); + glad_glClearStencil = (PFNGLCLEARSTENCILPROC)load("glClearStencil"); + glad_glClearDepth = (PFNGLCLEARDEPTHPROC)load("glClearDepth"); + glad_glStencilMask = (PFNGLSTENCILMASKPROC)load("glStencilMask"); + glad_glColorMask = (PFNGLCOLORMASKPROC)load("glColorMask"); + glad_glDepthMask = (PFNGLDEPTHMASKPROC)load("glDepthMask"); + glad_glDisable = (PFNGLDISABLEPROC)load("glDisable"); + glad_glEnable = (PFNGLENABLEPROC)load("glEnable"); + glad_glFinish = (PFNGLFINISHPROC)load("glFinish"); + glad_glFlush = (PFNGLFLUSHPROC)load("glFlush"); + glad_glBlendFunc = (PFNGLBLENDFUNCPROC)load("glBlendFunc"); + glad_glLogicOp = (PFNGLLOGICOPPROC)load("glLogicOp"); + glad_glStencilFunc = (PFNGLSTENCILFUNCPROC)load("glStencilFunc"); + glad_glStencilOp = (PFNGLSTENCILOPPROC)load("glStencilOp"); + glad_glDepthFunc = (PFNGLDEPTHFUNCPROC)load("glDepthFunc"); + glad_glPixelStoref = (PFNGLPIXELSTOREFPROC)load("glPixelStoref"); + glad_glPixelStorei = (PFNGLPIXELSTOREIPROC)load("glPixelStorei"); + glad_glReadBuffer = (PFNGLREADBUFFERPROC)load("glReadBuffer"); + glad_glReadPixels = (PFNGLREADPIXELSPROC)load("glReadPixels"); + glad_glGetBooleanv = (PFNGLGETBOOLEANVPROC)load("glGetBooleanv"); + glad_glGetDoublev = (PFNGLGETDOUBLEVPROC)load("glGetDoublev"); + glad_glGetError = (PFNGLGETERRORPROC)load("glGetError"); + glad_glGetFloatv = (PFNGLGETFLOATVPROC)load("glGetFloatv"); + glad_glGetIntegerv = (PFNGLGETINTEGERVPROC)load("glGetIntegerv"); + glad_glGetString = (PFNGLGETSTRINGPROC)load("glGetString"); + glad_glGetTexImage = (PFNGLGETTEXIMAGEPROC)load("glGetTexImage"); + glad_glGetTexParameterfv = (PFNGLGETTEXPARAMETERFVPROC)load("glGetTexParameterfv"); + glad_glGetTexParameteriv = (PFNGLGETTEXPARAMETERIVPROC)load("glGetTexParameteriv"); + glad_glGetTexLevelParameterfv = (PFNGLGETTEXLEVELPARAMETERFVPROC)load("glGetTexLevelParameterfv"); + glad_glGetTexLevelParameteriv = (PFNGLGETTEXLEVELPARAMETERIVPROC)load("glGetTexLevelParameteriv"); + glad_glIsEnabled = (PFNGLISENABLEDPROC)load("glIsEnabled"); + glad_glDepthRange = (PFNGLDEPTHRANGEPROC)load("glDepthRange"); + glad_glViewport = (PFNGLVIEWPORTPROC)load("glViewport"); + glad_glNewList = (PFNGLNEWLISTPROC)load("glNewList"); + glad_glEndList = (PFNGLENDLISTPROC)load("glEndList"); + glad_glCallList = (PFNGLCALLLISTPROC)load("glCallList"); + glad_glCallLists = (PFNGLCALLLISTSPROC)load("glCallLists"); + glad_glDeleteLists = (PFNGLDELETELISTSPROC)load("glDeleteLists"); + glad_glGenLists = (PFNGLGENLISTSPROC)load("glGenLists"); + glad_glListBase = (PFNGLLISTBASEPROC)load("glListBase"); + glad_glBegin = (PFNGLBEGINPROC)load("glBegin"); + glad_glBitmap = (PFNGLBITMAPPROC)load("glBitmap"); + glad_glColor3b = (PFNGLCOLOR3BPROC)load("glColor3b"); + glad_glColor3bv = (PFNGLCOLOR3BVPROC)load("glColor3bv"); + glad_glColor3d = (PFNGLCOLOR3DPROC)load("glColor3d"); + glad_glColor3dv = (PFNGLCOLOR3DVPROC)load("glColor3dv"); + glad_glColor3f = (PFNGLCOLOR3FPROC)load("glColor3f"); + glad_glColor3fv = (PFNGLCOLOR3FVPROC)load("glColor3fv"); + glad_glColor3i = (PFNGLCOLOR3IPROC)load("glColor3i"); + glad_glColor3iv = (PFNGLCOLOR3IVPROC)load("glColor3iv"); + glad_glColor3s = (PFNGLCOLOR3SPROC)load("glColor3s"); + glad_glColor3sv = (PFNGLCOLOR3SVPROC)load("glColor3sv"); + glad_glColor3ub = (PFNGLCOLOR3UBPROC)load("glColor3ub"); + glad_glColor3ubv = (PFNGLCOLOR3UBVPROC)load("glColor3ubv"); + glad_glColor3ui = (PFNGLCOLOR3UIPROC)load("glColor3ui"); + glad_glColor3uiv = (PFNGLCOLOR3UIVPROC)load("glColor3uiv"); + glad_glColor3us = (PFNGLCOLOR3USPROC)load("glColor3us"); + glad_glColor3usv = (PFNGLCOLOR3USVPROC)load("glColor3usv"); + glad_glColor4b = (PFNGLCOLOR4BPROC)load("glColor4b"); + glad_glColor4bv = (PFNGLCOLOR4BVPROC)load("glColor4bv"); + glad_glColor4d = (PFNGLCOLOR4DPROC)load("glColor4d"); + glad_glColor4dv = (PFNGLCOLOR4DVPROC)load("glColor4dv"); + glad_glColor4f = (PFNGLCOLOR4FPROC)load("glColor4f"); + glad_glColor4fv = (PFNGLCOLOR4FVPROC)load("glColor4fv"); + glad_glColor4i = (PFNGLCOLOR4IPROC)load("glColor4i"); + glad_glColor4iv = (PFNGLCOLOR4IVPROC)load("glColor4iv"); + glad_glColor4s = (PFNGLCOLOR4SPROC)load("glColor4s"); + glad_glColor4sv = (PFNGLCOLOR4SVPROC)load("glColor4sv"); + glad_glColor4ub = (PFNGLCOLOR4UBPROC)load("glColor4ub"); + glad_glColor4ubv = (PFNGLCOLOR4UBVPROC)load("glColor4ubv"); + glad_glColor4ui = (PFNGLCOLOR4UIPROC)load("glColor4ui"); + glad_glColor4uiv = (PFNGLCOLOR4UIVPROC)load("glColor4uiv"); + glad_glColor4us = (PFNGLCOLOR4USPROC)load("glColor4us"); + glad_glColor4usv = (PFNGLCOLOR4USVPROC)load("glColor4usv"); + glad_glEdgeFlag = (PFNGLEDGEFLAGPROC)load("glEdgeFlag"); + glad_glEdgeFlagv = (PFNGLEDGEFLAGVPROC)load("glEdgeFlagv"); + glad_glEnd = (PFNGLENDPROC)load("glEnd"); + glad_glIndexd = (PFNGLINDEXDPROC)load("glIndexd"); + glad_glIndexdv = (PFNGLINDEXDVPROC)load("glIndexdv"); + glad_glIndexf = (PFNGLINDEXFPROC)load("glIndexf"); + glad_glIndexfv = (PFNGLINDEXFVPROC)load("glIndexfv"); + glad_glIndexi = (PFNGLINDEXIPROC)load("glIndexi"); + glad_glIndexiv = (PFNGLINDEXIVPROC)load("glIndexiv"); + glad_glIndexs = (PFNGLINDEXSPROC)load("glIndexs"); + glad_glIndexsv = (PFNGLINDEXSVPROC)load("glIndexsv"); + glad_glNormal3b = (PFNGLNORMAL3BPROC)load("glNormal3b"); + glad_glNormal3bv = (PFNGLNORMAL3BVPROC)load("glNormal3bv"); + glad_glNormal3d = (PFNGLNORMAL3DPROC)load("glNormal3d"); + glad_glNormal3dv = (PFNGLNORMAL3DVPROC)load("glNormal3dv"); + glad_glNormal3f = (PFNGLNORMAL3FPROC)load("glNormal3f"); + glad_glNormal3fv = (PFNGLNORMAL3FVPROC)load("glNormal3fv"); + glad_glNormal3i = (PFNGLNORMAL3IPROC)load("glNormal3i"); + glad_glNormal3iv = (PFNGLNORMAL3IVPROC)load("glNormal3iv"); + glad_glNormal3s = (PFNGLNORMAL3SPROC)load("glNormal3s"); + glad_glNormal3sv = (PFNGLNORMAL3SVPROC)load("glNormal3sv"); + glad_glRasterPos2d = (PFNGLRASTERPOS2DPROC)load("glRasterPos2d"); + glad_glRasterPos2dv = (PFNGLRASTERPOS2DVPROC)load("glRasterPos2dv"); + glad_glRasterPos2f = (PFNGLRASTERPOS2FPROC)load("glRasterPos2f"); + glad_glRasterPos2fv = (PFNGLRASTERPOS2FVPROC)load("glRasterPos2fv"); + glad_glRasterPos2i = (PFNGLRASTERPOS2IPROC)load("glRasterPos2i"); + glad_glRasterPos2iv = (PFNGLRASTERPOS2IVPROC)load("glRasterPos2iv"); + glad_glRasterPos2s = (PFNGLRASTERPOS2SPROC)load("glRasterPos2s"); + glad_glRasterPos2sv = (PFNGLRASTERPOS2SVPROC)load("glRasterPos2sv"); + glad_glRasterPos3d = (PFNGLRASTERPOS3DPROC)load("glRasterPos3d"); + glad_glRasterPos3dv = (PFNGLRASTERPOS3DVPROC)load("glRasterPos3dv"); + glad_glRasterPos3f = (PFNGLRASTERPOS3FPROC)load("glRasterPos3f"); + glad_glRasterPos3fv = (PFNGLRASTERPOS3FVPROC)load("glRasterPos3fv"); + glad_glRasterPos3i = (PFNGLRASTERPOS3IPROC)load("glRasterPos3i"); + glad_glRasterPos3iv = (PFNGLRASTERPOS3IVPROC)load("glRasterPos3iv"); + glad_glRasterPos3s = (PFNGLRASTERPOS3SPROC)load("glRasterPos3s"); + glad_glRasterPos3sv = (PFNGLRASTERPOS3SVPROC)load("glRasterPos3sv"); + glad_glRasterPos4d = (PFNGLRASTERPOS4DPROC)load("glRasterPos4d"); + glad_glRasterPos4dv = (PFNGLRASTERPOS4DVPROC)load("glRasterPos4dv"); + glad_glRasterPos4f = (PFNGLRASTERPOS4FPROC)load("glRasterPos4f"); + glad_glRasterPos4fv = (PFNGLRASTERPOS4FVPROC)load("glRasterPos4fv"); + glad_glRasterPos4i = (PFNGLRASTERPOS4IPROC)load("glRasterPos4i"); + glad_glRasterPos4iv = (PFNGLRASTERPOS4IVPROC)load("glRasterPos4iv"); + glad_glRasterPos4s = (PFNGLRASTERPOS4SPROC)load("glRasterPos4s"); + glad_glRasterPos4sv = (PFNGLRASTERPOS4SVPROC)load("glRasterPos4sv"); + glad_glRectd = (PFNGLRECTDPROC)load("glRectd"); + glad_glRectdv = (PFNGLRECTDVPROC)load("glRectdv"); + glad_glRectf = (PFNGLRECTFPROC)load("glRectf"); + glad_glRectfv = (PFNGLRECTFVPROC)load("glRectfv"); + glad_glRecti = (PFNGLRECTIPROC)load("glRecti"); + glad_glRectiv = (PFNGLRECTIVPROC)load("glRectiv"); + glad_glRects = (PFNGLRECTSPROC)load("glRects"); + glad_glRectsv = (PFNGLRECTSVPROC)load("glRectsv"); + glad_glTexCoord1d = (PFNGLTEXCOORD1DPROC)load("glTexCoord1d"); + glad_glTexCoord1dv = (PFNGLTEXCOORD1DVPROC)load("glTexCoord1dv"); + glad_glTexCoord1f = (PFNGLTEXCOORD1FPROC)load("glTexCoord1f"); + glad_glTexCoord1fv = (PFNGLTEXCOORD1FVPROC)load("glTexCoord1fv"); + glad_glTexCoord1i = (PFNGLTEXCOORD1IPROC)load("glTexCoord1i"); + glad_glTexCoord1iv = (PFNGLTEXCOORD1IVPROC)load("glTexCoord1iv"); + glad_glTexCoord1s = (PFNGLTEXCOORD1SPROC)load("glTexCoord1s"); + glad_glTexCoord1sv = (PFNGLTEXCOORD1SVPROC)load("glTexCoord1sv"); + glad_glTexCoord2d = (PFNGLTEXCOORD2DPROC)load("glTexCoord2d"); + glad_glTexCoord2dv = (PFNGLTEXCOORD2DVPROC)load("glTexCoord2dv"); + glad_glTexCoord2f = (PFNGLTEXCOORD2FPROC)load("glTexCoord2f"); + glad_glTexCoord2fv = (PFNGLTEXCOORD2FVPROC)load("glTexCoord2fv"); + glad_glTexCoord2i = (PFNGLTEXCOORD2IPROC)load("glTexCoord2i"); + glad_glTexCoord2iv = (PFNGLTEXCOORD2IVPROC)load("glTexCoord2iv"); + glad_glTexCoord2s = (PFNGLTEXCOORD2SPROC)load("glTexCoord2s"); + glad_glTexCoord2sv = (PFNGLTEXCOORD2SVPROC)load("glTexCoord2sv"); + glad_glTexCoord3d = (PFNGLTEXCOORD3DPROC)load("glTexCoord3d"); + glad_glTexCoord3dv = (PFNGLTEXCOORD3DVPROC)load("glTexCoord3dv"); + glad_glTexCoord3f = (PFNGLTEXCOORD3FPROC)load("glTexCoord3f"); + glad_glTexCoord3fv = (PFNGLTEXCOORD3FVPROC)load("glTexCoord3fv"); + glad_glTexCoord3i = (PFNGLTEXCOORD3IPROC)load("glTexCoord3i"); + glad_glTexCoord3iv = (PFNGLTEXCOORD3IVPROC)load("glTexCoord3iv"); + glad_glTexCoord3s = (PFNGLTEXCOORD3SPROC)load("glTexCoord3s"); + glad_glTexCoord3sv = (PFNGLTEXCOORD3SVPROC)load("glTexCoord3sv"); + glad_glTexCoord4d = (PFNGLTEXCOORD4DPROC)load("glTexCoord4d"); + glad_glTexCoord4dv = (PFNGLTEXCOORD4DVPROC)load("glTexCoord4dv"); + glad_glTexCoord4f = (PFNGLTEXCOORD4FPROC)load("glTexCoord4f"); + glad_glTexCoord4fv = (PFNGLTEXCOORD4FVPROC)load("glTexCoord4fv"); + glad_glTexCoord4i = (PFNGLTEXCOORD4IPROC)load("glTexCoord4i"); + glad_glTexCoord4iv = (PFNGLTEXCOORD4IVPROC)load("glTexCoord4iv"); + glad_glTexCoord4s = (PFNGLTEXCOORD4SPROC)load("glTexCoord4s"); + glad_glTexCoord4sv = (PFNGLTEXCOORD4SVPROC)load("glTexCoord4sv"); + glad_glVertex2d = (PFNGLVERTEX2DPROC)load("glVertex2d"); + glad_glVertex2dv = (PFNGLVERTEX2DVPROC)load("glVertex2dv"); + glad_glVertex2f = (PFNGLVERTEX2FPROC)load("glVertex2f"); + glad_glVertex2fv = (PFNGLVERTEX2FVPROC)load("glVertex2fv"); + glad_glVertex2i = (PFNGLVERTEX2IPROC)load("glVertex2i"); + glad_glVertex2iv = (PFNGLVERTEX2IVPROC)load("glVertex2iv"); + glad_glVertex2s = (PFNGLVERTEX2SPROC)load("glVertex2s"); + glad_glVertex2sv = (PFNGLVERTEX2SVPROC)load("glVertex2sv"); + glad_glVertex3d = (PFNGLVERTEX3DPROC)load("glVertex3d"); + glad_glVertex3dv = (PFNGLVERTEX3DVPROC)load("glVertex3dv"); + glad_glVertex3f = (PFNGLVERTEX3FPROC)load("glVertex3f"); + glad_glVertex3fv = (PFNGLVERTEX3FVPROC)load("glVertex3fv"); + glad_glVertex3i = (PFNGLVERTEX3IPROC)load("glVertex3i"); + glad_glVertex3iv = (PFNGLVERTEX3IVPROC)load("glVertex3iv"); + glad_glVertex3s = (PFNGLVERTEX3SPROC)load("glVertex3s"); + glad_glVertex3sv = (PFNGLVERTEX3SVPROC)load("glVertex3sv"); + glad_glVertex4d = (PFNGLVERTEX4DPROC)load("glVertex4d"); + glad_glVertex4dv = (PFNGLVERTEX4DVPROC)load("glVertex4dv"); + glad_glVertex4f = (PFNGLVERTEX4FPROC)load("glVertex4f"); + glad_glVertex4fv = (PFNGLVERTEX4FVPROC)load("glVertex4fv"); + glad_glVertex4i = (PFNGLVERTEX4IPROC)load("glVertex4i"); + glad_glVertex4iv = (PFNGLVERTEX4IVPROC)load("glVertex4iv"); + glad_glVertex4s = (PFNGLVERTEX4SPROC)load("glVertex4s"); + glad_glVertex4sv = (PFNGLVERTEX4SVPROC)load("glVertex4sv"); + glad_glClipPlane = (PFNGLCLIPPLANEPROC)load("glClipPlane"); + glad_glColorMaterial = (PFNGLCOLORMATERIALPROC)load("glColorMaterial"); + glad_glFogf = (PFNGLFOGFPROC)load("glFogf"); + glad_glFogfv = (PFNGLFOGFVPROC)load("glFogfv"); + glad_glFogi = (PFNGLFOGIPROC)load("glFogi"); + glad_glFogiv = (PFNGLFOGIVPROC)load("glFogiv"); + glad_glLightf = (PFNGLLIGHTFPROC)load("glLightf"); + glad_glLightfv = (PFNGLLIGHTFVPROC)load("glLightfv"); + glad_glLighti = (PFNGLLIGHTIPROC)load("glLighti"); + glad_glLightiv = (PFNGLLIGHTIVPROC)load("glLightiv"); + glad_glLightModelf = (PFNGLLIGHTMODELFPROC)load("glLightModelf"); + glad_glLightModelfv = (PFNGLLIGHTMODELFVPROC)load("glLightModelfv"); + glad_glLightModeli = (PFNGLLIGHTMODELIPROC)load("glLightModeli"); + glad_glLightModeliv = (PFNGLLIGHTMODELIVPROC)load("glLightModeliv"); + glad_glLineStipple = (PFNGLLINESTIPPLEPROC)load("glLineStipple"); + glad_glMaterialf = (PFNGLMATERIALFPROC)load("glMaterialf"); + glad_glMaterialfv = (PFNGLMATERIALFVPROC)load("glMaterialfv"); + glad_glMateriali = (PFNGLMATERIALIPROC)load("glMateriali"); + glad_glMaterialiv = (PFNGLMATERIALIVPROC)load("glMaterialiv"); + glad_glPolygonStipple = (PFNGLPOLYGONSTIPPLEPROC)load("glPolygonStipple"); + glad_glShadeModel = (PFNGLSHADEMODELPROC)load("glShadeModel"); + glad_glTexEnvf = (PFNGLTEXENVFPROC)load("glTexEnvf"); + glad_glTexEnvfv = (PFNGLTEXENVFVPROC)load("glTexEnvfv"); + glad_glTexEnvi = (PFNGLTEXENVIPROC)load("glTexEnvi"); + glad_glTexEnviv = (PFNGLTEXENVIVPROC)load("glTexEnviv"); + glad_glTexGend = (PFNGLTEXGENDPROC)load("glTexGend"); + glad_glTexGendv = (PFNGLTEXGENDVPROC)load("glTexGendv"); + glad_glTexGenf = (PFNGLTEXGENFPROC)load("glTexGenf"); + glad_glTexGenfv = (PFNGLTEXGENFVPROC)load("glTexGenfv"); + glad_glTexGeni = (PFNGLTEXGENIPROC)load("glTexGeni"); + glad_glTexGeniv = (PFNGLTEXGENIVPROC)load("glTexGeniv"); + glad_glFeedbackBuffer = (PFNGLFEEDBACKBUFFERPROC)load("glFeedbackBuffer"); + glad_glSelectBuffer = (PFNGLSELECTBUFFERPROC)load("glSelectBuffer"); + glad_glRenderMode = (PFNGLRENDERMODEPROC)load("glRenderMode"); + glad_glInitNames = (PFNGLINITNAMESPROC)load("glInitNames"); + glad_glLoadName = (PFNGLLOADNAMEPROC)load("glLoadName"); + glad_glPassThrough = (PFNGLPASSTHROUGHPROC)load("glPassThrough"); + glad_glPopName = (PFNGLPOPNAMEPROC)load("glPopName"); + glad_glPushName = (PFNGLPUSHNAMEPROC)load("glPushName"); + glad_glClearAccum = (PFNGLCLEARACCUMPROC)load("glClearAccum"); + glad_glClearIndex = (PFNGLCLEARINDEXPROC)load("glClearIndex"); + glad_glIndexMask = (PFNGLINDEXMASKPROC)load("glIndexMask"); + glad_glAccum = (PFNGLACCUMPROC)load("glAccum"); + glad_glPopAttrib = (PFNGLPOPATTRIBPROC)load("glPopAttrib"); + glad_glPushAttrib = (PFNGLPUSHATTRIBPROC)load("glPushAttrib"); + glad_glMap1d = (PFNGLMAP1DPROC)load("glMap1d"); + glad_glMap1f = (PFNGLMAP1FPROC)load("glMap1f"); + glad_glMap2d = (PFNGLMAP2DPROC)load("glMap2d"); + glad_glMap2f = (PFNGLMAP2FPROC)load("glMap2f"); + glad_glMapGrid1d = (PFNGLMAPGRID1DPROC)load("glMapGrid1d"); + glad_glMapGrid1f = (PFNGLMAPGRID1FPROC)load("glMapGrid1f"); + glad_glMapGrid2d = (PFNGLMAPGRID2DPROC)load("glMapGrid2d"); + glad_glMapGrid2f = (PFNGLMAPGRID2FPROC)load("glMapGrid2f"); + glad_glEvalCoord1d = (PFNGLEVALCOORD1DPROC)load("glEvalCoord1d"); + glad_glEvalCoord1dv = (PFNGLEVALCOORD1DVPROC)load("glEvalCoord1dv"); + glad_glEvalCoord1f = (PFNGLEVALCOORD1FPROC)load("glEvalCoord1f"); + glad_glEvalCoord1fv = (PFNGLEVALCOORD1FVPROC)load("glEvalCoord1fv"); + glad_glEvalCoord2d = (PFNGLEVALCOORD2DPROC)load("glEvalCoord2d"); + glad_glEvalCoord2dv = (PFNGLEVALCOORD2DVPROC)load("glEvalCoord2dv"); + glad_glEvalCoord2f = (PFNGLEVALCOORD2FPROC)load("glEvalCoord2f"); + glad_glEvalCoord2fv = (PFNGLEVALCOORD2FVPROC)load("glEvalCoord2fv"); + glad_glEvalMesh1 = (PFNGLEVALMESH1PROC)load("glEvalMesh1"); + glad_glEvalPoint1 = (PFNGLEVALPOINT1PROC)load("glEvalPoint1"); + glad_glEvalMesh2 = (PFNGLEVALMESH2PROC)load("glEvalMesh2"); + glad_glEvalPoint2 = (PFNGLEVALPOINT2PROC)load("glEvalPoint2"); + glad_glAlphaFunc = (PFNGLALPHAFUNCPROC)load("glAlphaFunc"); + glad_glPixelZoom = (PFNGLPIXELZOOMPROC)load("glPixelZoom"); + glad_glPixelTransferf = (PFNGLPIXELTRANSFERFPROC)load("glPixelTransferf"); + glad_glPixelTransferi = (PFNGLPIXELTRANSFERIPROC)load("glPixelTransferi"); + glad_glPixelMapfv = (PFNGLPIXELMAPFVPROC)load("glPixelMapfv"); + glad_glPixelMapuiv = (PFNGLPIXELMAPUIVPROC)load("glPixelMapuiv"); + glad_glPixelMapusv = (PFNGLPIXELMAPUSVPROC)load("glPixelMapusv"); + glad_glCopyPixels = (PFNGLCOPYPIXELSPROC)load("glCopyPixels"); + glad_glDrawPixels = (PFNGLDRAWPIXELSPROC)load("glDrawPixels"); + glad_glGetClipPlane = (PFNGLGETCLIPPLANEPROC)load("glGetClipPlane"); + glad_glGetLightfv = (PFNGLGETLIGHTFVPROC)load("glGetLightfv"); + glad_glGetLightiv = (PFNGLGETLIGHTIVPROC)load("glGetLightiv"); + glad_glGetMapdv = (PFNGLGETMAPDVPROC)load("glGetMapdv"); + glad_glGetMapfv = (PFNGLGETMAPFVPROC)load("glGetMapfv"); + glad_glGetMapiv = (PFNGLGETMAPIVPROC)load("glGetMapiv"); + glad_glGetMaterialfv = (PFNGLGETMATERIALFVPROC)load("glGetMaterialfv"); + glad_glGetMaterialiv = (PFNGLGETMATERIALIVPROC)load("glGetMaterialiv"); + glad_glGetPixelMapfv = (PFNGLGETPIXELMAPFVPROC)load("glGetPixelMapfv"); + glad_glGetPixelMapuiv = (PFNGLGETPIXELMAPUIVPROC)load("glGetPixelMapuiv"); + glad_glGetPixelMapusv = (PFNGLGETPIXELMAPUSVPROC)load("glGetPixelMapusv"); + glad_glGetPolygonStipple = (PFNGLGETPOLYGONSTIPPLEPROC)load("glGetPolygonStipple"); + glad_glGetTexEnvfv = (PFNGLGETTEXENVFVPROC)load("glGetTexEnvfv"); + glad_glGetTexEnviv = (PFNGLGETTEXENVIVPROC)load("glGetTexEnviv"); + glad_glGetTexGendv = (PFNGLGETTEXGENDVPROC)load("glGetTexGendv"); + glad_glGetTexGenfv = (PFNGLGETTEXGENFVPROC)load("glGetTexGenfv"); + glad_glGetTexGeniv = (PFNGLGETTEXGENIVPROC)load("glGetTexGeniv"); + glad_glIsList = (PFNGLISLISTPROC)load("glIsList"); + glad_glFrustum = (PFNGLFRUSTUMPROC)load("glFrustum"); + glad_glLoadIdentity = (PFNGLLOADIDENTITYPROC)load("glLoadIdentity"); + glad_glLoadMatrixf = (PFNGLLOADMATRIXFPROC)load("glLoadMatrixf"); + glad_glLoadMatrixd = (PFNGLLOADMATRIXDPROC)load("glLoadMatrixd"); + glad_glMatrixMode = (PFNGLMATRIXMODEPROC)load("glMatrixMode"); + glad_glMultMatrixf = (PFNGLMULTMATRIXFPROC)load("glMultMatrixf"); + glad_glMultMatrixd = (PFNGLMULTMATRIXDPROC)load("glMultMatrixd"); + glad_glOrtho = (PFNGLORTHOPROC)load("glOrtho"); + glad_glPopMatrix = (PFNGLPOPMATRIXPROC)load("glPopMatrix"); + glad_glPushMatrix = (PFNGLPUSHMATRIXPROC)load("glPushMatrix"); + glad_glRotated = (PFNGLROTATEDPROC)load("glRotated"); + glad_glRotatef = (PFNGLROTATEFPROC)load("glRotatef"); + glad_glScaled = (PFNGLSCALEDPROC)load("glScaled"); + glad_glScalef = (PFNGLSCALEFPROC)load("glScalef"); + glad_glTranslated = (PFNGLTRANSLATEDPROC)load("glTranslated"); + glad_glTranslatef = (PFNGLTRANSLATEFPROC)load("glTranslatef"); +} +static void load_GL_VERSION_1_1(GLADloadproc load) { + if (!GLAD_GL_VERSION_1_1) return; + glad_glDrawArrays = (PFNGLDRAWARRAYSPROC)load("glDrawArrays"); + glad_glDrawElements = (PFNGLDRAWELEMENTSPROC)load("glDrawElements"); + glad_glGetPointerv = (PFNGLGETPOINTERVPROC)load("glGetPointerv"); + glad_glPolygonOffset = (PFNGLPOLYGONOFFSETPROC)load("glPolygonOffset"); + glad_glCopyTexImage1D = (PFNGLCOPYTEXIMAGE1DPROC)load("glCopyTexImage1D"); + glad_glCopyTexImage2D = (PFNGLCOPYTEXIMAGE2DPROC)load("glCopyTexImage2D"); + glad_glCopyTexSubImage1D = (PFNGLCOPYTEXSUBIMAGE1DPROC)load("glCopyTexSubImage1D"); + glad_glCopyTexSubImage2D = (PFNGLCOPYTEXSUBIMAGE2DPROC)load("glCopyTexSubImage2D"); + glad_glTexSubImage1D = (PFNGLTEXSUBIMAGE1DPROC)load("glTexSubImage1D"); + glad_glTexSubImage2D = (PFNGLTEXSUBIMAGE2DPROC)load("glTexSubImage2D"); + glad_glBindTexture = (PFNGLBINDTEXTUREPROC)load("glBindTexture"); + glad_glDeleteTextures = (PFNGLDELETETEXTURESPROC)load("glDeleteTextures"); + glad_glGenTextures = (PFNGLGENTEXTURESPROC)load("glGenTextures"); + glad_glIsTexture = (PFNGLISTEXTUREPROC)load("glIsTexture"); + glad_glArrayElement = (PFNGLARRAYELEMENTPROC)load("glArrayElement"); + glad_glColorPointer = (PFNGLCOLORPOINTERPROC)load("glColorPointer"); + glad_glDisableClientState = (PFNGLDISABLECLIENTSTATEPROC)load("glDisableClientState"); + glad_glEdgeFlagPointer = (PFNGLEDGEFLAGPOINTERPROC)load("glEdgeFlagPointer"); + glad_glEnableClientState = (PFNGLENABLECLIENTSTATEPROC)load("glEnableClientState"); + glad_glIndexPointer = (PFNGLINDEXPOINTERPROC)load("glIndexPointer"); + glad_glInterleavedArrays = (PFNGLINTERLEAVEDARRAYSPROC)load("glInterleavedArrays"); + glad_glNormalPointer = (PFNGLNORMALPOINTERPROC)load("glNormalPointer"); + glad_glTexCoordPointer = (PFNGLTEXCOORDPOINTERPROC)load("glTexCoordPointer"); + glad_glVertexPointer = (PFNGLVERTEXPOINTERPROC)load("glVertexPointer"); + glad_glAreTexturesResident = (PFNGLARETEXTURESRESIDENTPROC)load("glAreTexturesResident"); + glad_glPrioritizeTextures = (PFNGLPRIORITIZETEXTURESPROC)load("glPrioritizeTextures"); + glad_glIndexub = (PFNGLINDEXUBPROC)load("glIndexub"); + glad_glIndexubv = (PFNGLINDEXUBVPROC)load("glIndexubv"); + glad_glPopClientAttrib = (PFNGLPOPCLIENTATTRIBPROC)load("glPopClientAttrib"); + glad_glPushClientAttrib = (PFNGLPUSHCLIENTATTRIBPROC)load("glPushClientAttrib"); +} +static void load_GL_VERSION_1_2(GLADloadproc load) { + if (!GLAD_GL_VERSION_1_2) return; + glad_glDrawRangeElements = (PFNGLDRAWRANGEELEMENTSPROC)load("glDrawRangeElements"); + glad_glTexImage3D = (PFNGLTEXIMAGE3DPROC)load("glTexImage3D"); + glad_glTexSubImage3D = (PFNGLTEXSUBIMAGE3DPROC)load("glTexSubImage3D"); + glad_glCopyTexSubImage3D = (PFNGLCOPYTEXSUBIMAGE3DPROC)load("glCopyTexSubImage3D"); +} +static void load_GL_VERSION_1_3(GLADloadproc load) { + if (!GLAD_GL_VERSION_1_3) return; + glad_glActiveTexture = (PFNGLACTIVETEXTUREPROC)load("glActiveTexture"); + glad_glSampleCoverage = (PFNGLSAMPLECOVERAGEPROC)load("glSampleCoverage"); + glad_glCompressedTexImage3D = (PFNGLCOMPRESSEDTEXIMAGE3DPROC)load("glCompressedTexImage3D"); + glad_glCompressedTexImage2D = (PFNGLCOMPRESSEDTEXIMAGE2DPROC)load("glCompressedTexImage2D"); + glad_glCompressedTexImage1D = (PFNGLCOMPRESSEDTEXIMAGE1DPROC)load("glCompressedTexImage1D"); + glad_glCompressedTexSubImage3D = (PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)load("glCompressedTexSubImage3D"); + glad_glCompressedTexSubImage2D = (PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)load("glCompressedTexSubImage2D"); + glad_glCompressedTexSubImage1D = (PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)load("glCompressedTexSubImage1D"); + glad_glGetCompressedTexImage = (PFNGLGETCOMPRESSEDTEXIMAGEPROC)load("glGetCompressedTexImage"); + glad_glClientActiveTexture = (PFNGLCLIENTACTIVETEXTUREPROC)load("glClientActiveTexture"); + glad_glMultiTexCoord1d = (PFNGLMULTITEXCOORD1DPROC)load("glMultiTexCoord1d"); + glad_glMultiTexCoord1dv = (PFNGLMULTITEXCOORD1DVPROC)load("glMultiTexCoord1dv"); + glad_glMultiTexCoord1f = (PFNGLMULTITEXCOORD1FPROC)load("glMultiTexCoord1f"); + glad_glMultiTexCoord1fv = (PFNGLMULTITEXCOORD1FVPROC)load("glMultiTexCoord1fv"); + glad_glMultiTexCoord1i = (PFNGLMULTITEXCOORD1IPROC)load("glMultiTexCoord1i"); + glad_glMultiTexCoord1iv = (PFNGLMULTITEXCOORD1IVPROC)load("glMultiTexCoord1iv"); + glad_glMultiTexCoord1s = (PFNGLMULTITEXCOORD1SPROC)load("glMultiTexCoord1s"); + glad_glMultiTexCoord1sv = (PFNGLMULTITEXCOORD1SVPROC)load("glMultiTexCoord1sv"); + glad_glMultiTexCoord2d = (PFNGLMULTITEXCOORD2DPROC)load("glMultiTexCoord2d"); + glad_glMultiTexCoord2dv = (PFNGLMULTITEXCOORD2DVPROC)load("glMultiTexCoord2dv"); + glad_glMultiTexCoord2f = (PFNGLMULTITEXCOORD2FPROC)load("glMultiTexCoord2f"); + glad_glMultiTexCoord2fv = (PFNGLMULTITEXCOORD2FVPROC)load("glMultiTexCoord2fv"); + glad_glMultiTexCoord2i = (PFNGLMULTITEXCOORD2IPROC)load("glMultiTexCoord2i"); + glad_glMultiTexCoord2iv = (PFNGLMULTITEXCOORD2IVPROC)load("glMultiTexCoord2iv"); + glad_glMultiTexCoord2s = (PFNGLMULTITEXCOORD2SPROC)load("glMultiTexCoord2s"); + glad_glMultiTexCoord2sv = (PFNGLMULTITEXCOORD2SVPROC)load("glMultiTexCoord2sv"); + glad_glMultiTexCoord3d = (PFNGLMULTITEXCOORD3DPROC)load("glMultiTexCoord3d"); + glad_glMultiTexCoord3dv = (PFNGLMULTITEXCOORD3DVPROC)load("glMultiTexCoord3dv"); + glad_glMultiTexCoord3f = (PFNGLMULTITEXCOORD3FPROC)load("glMultiTexCoord3f"); + glad_glMultiTexCoord3fv = (PFNGLMULTITEXCOORD3FVPROC)load("glMultiTexCoord3fv"); + glad_glMultiTexCoord3i = (PFNGLMULTITEXCOORD3IPROC)load("glMultiTexCoord3i"); + glad_glMultiTexCoord3iv = (PFNGLMULTITEXCOORD3IVPROC)load("glMultiTexCoord3iv"); + glad_glMultiTexCoord3s = (PFNGLMULTITEXCOORD3SPROC)load("glMultiTexCoord3s"); + glad_glMultiTexCoord3sv = (PFNGLMULTITEXCOORD3SVPROC)load("glMultiTexCoord3sv"); + glad_glMultiTexCoord4d = (PFNGLMULTITEXCOORD4DPROC)load("glMultiTexCoord4d"); + glad_glMultiTexCoord4dv = (PFNGLMULTITEXCOORD4DVPROC)load("glMultiTexCoord4dv"); + glad_glMultiTexCoord4f = (PFNGLMULTITEXCOORD4FPROC)load("glMultiTexCoord4f"); + glad_glMultiTexCoord4fv = (PFNGLMULTITEXCOORD4FVPROC)load("glMultiTexCoord4fv"); + glad_glMultiTexCoord4i = (PFNGLMULTITEXCOORD4IPROC)load("glMultiTexCoord4i"); + glad_glMultiTexCoord4iv = (PFNGLMULTITEXCOORD4IVPROC)load("glMultiTexCoord4iv"); + glad_glMultiTexCoord4s = (PFNGLMULTITEXCOORD4SPROC)load("glMultiTexCoord4s"); + glad_glMultiTexCoord4sv = (PFNGLMULTITEXCOORD4SVPROC)load("glMultiTexCoord4sv"); + glad_glLoadTransposeMatrixf = (PFNGLLOADTRANSPOSEMATRIXFPROC)load("glLoadTransposeMatrixf"); + glad_glLoadTransposeMatrixd = (PFNGLLOADTRANSPOSEMATRIXDPROC)load("glLoadTransposeMatrixd"); + glad_glMultTransposeMatrixf = (PFNGLMULTTRANSPOSEMATRIXFPROC)load("glMultTransposeMatrixf"); + glad_glMultTransposeMatrixd = (PFNGLMULTTRANSPOSEMATRIXDPROC)load("glMultTransposeMatrixd"); +} +static void load_GL_VERSION_1_4(GLADloadproc load) { + if (!GLAD_GL_VERSION_1_4) return; + glad_glBlendFuncSeparate = (PFNGLBLENDFUNCSEPARATEPROC)load("glBlendFuncSeparate"); + glad_glMultiDrawArrays = (PFNGLMULTIDRAWARRAYSPROC)load("glMultiDrawArrays"); + glad_glMultiDrawElements = (PFNGLMULTIDRAWELEMENTSPROC)load("glMultiDrawElements"); + glad_glPointParameterf = (PFNGLPOINTPARAMETERFPROC)load("glPointParameterf"); + glad_glPointParameterfv = (PFNGLPOINTPARAMETERFVPROC)load("glPointParameterfv"); + glad_glPointParameteri = (PFNGLPOINTPARAMETERIPROC)load("glPointParameteri"); + glad_glPointParameteriv = (PFNGLPOINTPARAMETERIVPROC)load("glPointParameteriv"); + glad_glFogCoordf = (PFNGLFOGCOORDFPROC)load("glFogCoordf"); + glad_glFogCoordfv = (PFNGLFOGCOORDFVPROC)load("glFogCoordfv"); + glad_glFogCoordd = (PFNGLFOGCOORDDPROC)load("glFogCoordd"); + glad_glFogCoorddv = (PFNGLFOGCOORDDVPROC)load("glFogCoorddv"); + glad_glFogCoordPointer = (PFNGLFOGCOORDPOINTERPROC)load("glFogCoordPointer"); + glad_glSecondaryColor3b = (PFNGLSECONDARYCOLOR3BPROC)load("glSecondaryColor3b"); + glad_glSecondaryColor3bv = (PFNGLSECONDARYCOLOR3BVPROC)load("glSecondaryColor3bv"); + glad_glSecondaryColor3d = (PFNGLSECONDARYCOLOR3DPROC)load("glSecondaryColor3d"); + glad_glSecondaryColor3dv = (PFNGLSECONDARYCOLOR3DVPROC)load("glSecondaryColor3dv"); + glad_glSecondaryColor3f = (PFNGLSECONDARYCOLOR3FPROC)load("glSecondaryColor3f"); + glad_glSecondaryColor3fv = (PFNGLSECONDARYCOLOR3FVPROC)load("glSecondaryColor3fv"); + glad_glSecondaryColor3i = (PFNGLSECONDARYCOLOR3IPROC)load("glSecondaryColor3i"); + glad_glSecondaryColor3iv = (PFNGLSECONDARYCOLOR3IVPROC)load("glSecondaryColor3iv"); + glad_glSecondaryColor3s = (PFNGLSECONDARYCOLOR3SPROC)load("glSecondaryColor3s"); + glad_glSecondaryColor3sv = (PFNGLSECONDARYCOLOR3SVPROC)load("glSecondaryColor3sv"); + glad_glSecondaryColor3ub = (PFNGLSECONDARYCOLOR3UBPROC)load("glSecondaryColor3ub"); + glad_glSecondaryColor3ubv = (PFNGLSECONDARYCOLOR3UBVPROC)load("glSecondaryColor3ubv"); + glad_glSecondaryColor3ui = (PFNGLSECONDARYCOLOR3UIPROC)load("glSecondaryColor3ui"); + glad_glSecondaryColor3uiv = (PFNGLSECONDARYCOLOR3UIVPROC)load("glSecondaryColor3uiv"); + glad_glSecondaryColor3us = (PFNGLSECONDARYCOLOR3USPROC)load("glSecondaryColor3us"); + glad_glSecondaryColor3usv = (PFNGLSECONDARYCOLOR3USVPROC)load("glSecondaryColor3usv"); + glad_glSecondaryColorPointer = (PFNGLSECONDARYCOLORPOINTERPROC)load("glSecondaryColorPointer"); + glad_glWindowPos2d = (PFNGLWINDOWPOS2DPROC)load("glWindowPos2d"); + glad_glWindowPos2dv = (PFNGLWINDOWPOS2DVPROC)load("glWindowPos2dv"); + glad_glWindowPos2f = (PFNGLWINDOWPOS2FPROC)load("glWindowPos2f"); + glad_glWindowPos2fv = (PFNGLWINDOWPOS2FVPROC)load("glWindowPos2fv"); + glad_glWindowPos2i = (PFNGLWINDOWPOS2IPROC)load("glWindowPos2i"); + glad_glWindowPos2iv = (PFNGLWINDOWPOS2IVPROC)load("glWindowPos2iv"); + glad_glWindowPos2s = (PFNGLWINDOWPOS2SPROC)load("glWindowPos2s"); + glad_glWindowPos2sv = (PFNGLWINDOWPOS2SVPROC)load("glWindowPos2sv"); + glad_glWindowPos3d = (PFNGLWINDOWPOS3DPROC)load("glWindowPos3d"); + glad_glWindowPos3dv = (PFNGLWINDOWPOS3DVPROC)load("glWindowPos3dv"); + glad_glWindowPos3f = (PFNGLWINDOWPOS3FPROC)load("glWindowPos3f"); + glad_glWindowPos3fv = (PFNGLWINDOWPOS3FVPROC)load("glWindowPos3fv"); + glad_glWindowPos3i = (PFNGLWINDOWPOS3IPROC)load("glWindowPos3i"); + glad_glWindowPos3iv = (PFNGLWINDOWPOS3IVPROC)load("glWindowPos3iv"); + glad_glWindowPos3s = (PFNGLWINDOWPOS3SPROC)load("glWindowPos3s"); + glad_glWindowPos3sv = (PFNGLWINDOWPOS3SVPROC)load("glWindowPos3sv"); + glad_glBlendColor = (PFNGLBLENDCOLORPROC)load("glBlendColor"); + glad_glBlendEquation = (PFNGLBLENDEQUATIONPROC)load("glBlendEquation"); +} +static void load_GL_VERSION_1_5(GLADloadproc load) { + if (!GLAD_GL_VERSION_1_5) return; + glad_glGenQueries = (PFNGLGENQUERIESPROC)load("glGenQueries"); + glad_glDeleteQueries = (PFNGLDELETEQUERIESPROC)load("glDeleteQueries"); + glad_glIsQuery = (PFNGLISQUERYPROC)load("glIsQuery"); + glad_glBeginQuery = (PFNGLBEGINQUERYPROC)load("glBeginQuery"); + glad_glEndQuery = (PFNGLENDQUERYPROC)load("glEndQuery"); + glad_glGetQueryiv = (PFNGLGETQUERYIVPROC)load("glGetQueryiv"); + glad_glGetQueryObjectiv = (PFNGLGETQUERYOBJECTIVPROC)load("glGetQueryObjectiv"); + glad_glGetQueryObjectuiv = (PFNGLGETQUERYOBJECTUIVPROC)load("glGetQueryObjectuiv"); + glad_glBindBuffer = (PFNGLBINDBUFFERPROC)load("glBindBuffer"); + glad_glDeleteBuffers = (PFNGLDELETEBUFFERSPROC)load("glDeleteBuffers"); + glad_glGenBuffers = (PFNGLGENBUFFERSPROC)load("glGenBuffers"); + glad_glIsBuffer = (PFNGLISBUFFERPROC)load("glIsBuffer"); + glad_glBufferData = (PFNGLBUFFERDATAPROC)load("glBufferData"); + glad_glBufferSubData = (PFNGLBUFFERSUBDATAPROC)load("glBufferSubData"); + glad_glGetBufferSubData = (PFNGLGETBUFFERSUBDATAPROC)load("glGetBufferSubData"); + glad_glMapBuffer = (PFNGLMAPBUFFERPROC)load("glMapBuffer"); + glad_glUnmapBuffer = (PFNGLUNMAPBUFFERPROC)load("glUnmapBuffer"); + glad_glGetBufferParameteriv = (PFNGLGETBUFFERPARAMETERIVPROC)load("glGetBufferParameteriv"); + glad_glGetBufferPointerv = (PFNGLGETBUFFERPOINTERVPROC)load("glGetBufferPointerv"); +} +static void load_GL_VERSION_2_0(GLADloadproc load) { + if (!GLAD_GL_VERSION_2_0) return; + glad_glBlendEquationSeparate = (PFNGLBLENDEQUATIONSEPARATEPROC)load("glBlendEquationSeparate"); + glad_glDrawBuffers = (PFNGLDRAWBUFFERSPROC)load("glDrawBuffers"); + glad_glStencilOpSeparate = (PFNGLSTENCILOPSEPARATEPROC)load("glStencilOpSeparate"); + glad_glStencilFuncSeparate = (PFNGLSTENCILFUNCSEPARATEPROC)load("glStencilFuncSeparate"); + glad_glStencilMaskSeparate = (PFNGLSTENCILMASKSEPARATEPROC)load("glStencilMaskSeparate"); + glad_glAttachShader = (PFNGLATTACHSHADERPROC)load("glAttachShader"); + glad_glBindAttribLocation = (PFNGLBINDATTRIBLOCATIONPROC)load("glBindAttribLocation"); + glad_glCompileShader = (PFNGLCOMPILESHADERPROC)load("glCompileShader"); + glad_glCreateProgram = (PFNGLCREATEPROGRAMPROC)load("glCreateProgram"); + glad_glCreateShader = (PFNGLCREATESHADERPROC)load("glCreateShader"); + glad_glDeleteProgram = (PFNGLDELETEPROGRAMPROC)load("glDeleteProgram"); + glad_glDeleteShader = (PFNGLDELETESHADERPROC)load("glDeleteShader"); + glad_glDetachShader = (PFNGLDETACHSHADERPROC)load("glDetachShader"); + glad_glDisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC)load("glDisableVertexAttribArray"); + glad_glEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC)load("glEnableVertexAttribArray"); + glad_glGetActiveAttrib = (PFNGLGETACTIVEATTRIBPROC)load("glGetActiveAttrib"); + glad_glGetActiveUniform = (PFNGLGETACTIVEUNIFORMPROC)load("glGetActiveUniform"); + glad_glGetAttachedShaders = (PFNGLGETATTACHEDSHADERSPROC)load("glGetAttachedShaders"); + glad_glGetAttribLocation = (PFNGLGETATTRIBLOCATIONPROC)load("glGetAttribLocation"); + glad_glGetProgramiv = (PFNGLGETPROGRAMIVPROC)load("glGetProgramiv"); + glad_glGetProgramInfoLog = (PFNGLGETPROGRAMINFOLOGPROC)load("glGetProgramInfoLog"); + glad_glGetShaderiv = (PFNGLGETSHADERIVPROC)load("glGetShaderiv"); + glad_glGetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC)load("glGetShaderInfoLog"); + glad_glGetShaderSource = (PFNGLGETSHADERSOURCEPROC)load("glGetShaderSource"); + glad_glGetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC)load("glGetUniformLocation"); + glad_glGetUniformfv = (PFNGLGETUNIFORMFVPROC)load("glGetUniformfv"); + glad_glGetUniformiv = (PFNGLGETUNIFORMIVPROC)load("glGetUniformiv"); + glad_glGetVertexAttribdv = (PFNGLGETVERTEXATTRIBDVPROC)load("glGetVertexAttribdv"); + glad_glGetVertexAttribfv = (PFNGLGETVERTEXATTRIBFVPROC)load("glGetVertexAttribfv"); + glad_glGetVertexAttribiv = (PFNGLGETVERTEXATTRIBIVPROC)load("glGetVertexAttribiv"); + glad_glGetVertexAttribPointerv = (PFNGLGETVERTEXATTRIBPOINTERVPROC)load("glGetVertexAttribPointerv"); + glad_glIsProgram = (PFNGLISPROGRAMPROC)load("glIsProgram"); + glad_glIsShader = (PFNGLISSHADERPROC)load("glIsShader"); + glad_glLinkProgram = (PFNGLLINKPROGRAMPROC)load("glLinkProgram"); + glad_glShaderSource = (PFNGLSHADERSOURCEPROC)load("glShaderSource"); + glad_glUseProgram = (PFNGLUSEPROGRAMPROC)load("glUseProgram"); + glad_glUniform1f = (PFNGLUNIFORM1FPROC)load("glUniform1f"); + glad_glUniform2f = (PFNGLUNIFORM2FPROC)load("glUniform2f"); + glad_glUniform3f = (PFNGLUNIFORM3FPROC)load("glUniform3f"); + glad_glUniform4f = (PFNGLUNIFORM4FPROC)load("glUniform4f"); + glad_glUniform1i = (PFNGLUNIFORM1IPROC)load("glUniform1i"); + glad_glUniform2i = (PFNGLUNIFORM2IPROC)load("glUniform2i"); + glad_glUniform3i = (PFNGLUNIFORM3IPROC)load("glUniform3i"); + glad_glUniform4i = (PFNGLUNIFORM4IPROC)load("glUniform4i"); + glad_glUniform1fv = (PFNGLUNIFORM1FVPROC)load("glUniform1fv"); + glad_glUniform2fv = (PFNGLUNIFORM2FVPROC)load("glUniform2fv"); + glad_glUniform3fv = (PFNGLUNIFORM3FVPROC)load("glUniform3fv"); + glad_glUniform4fv = (PFNGLUNIFORM4FVPROC)load("glUniform4fv"); + glad_glUniform1iv = (PFNGLUNIFORM1IVPROC)load("glUniform1iv"); + glad_glUniform2iv = (PFNGLUNIFORM2IVPROC)load("glUniform2iv"); + glad_glUniform3iv = (PFNGLUNIFORM3IVPROC)load("glUniform3iv"); + glad_glUniform4iv = (PFNGLUNIFORM4IVPROC)load("glUniform4iv"); + glad_glUniformMatrix2fv = (PFNGLUNIFORMMATRIX2FVPROC)load("glUniformMatrix2fv"); + glad_glUniformMatrix3fv = (PFNGLUNIFORMMATRIX3FVPROC)load("glUniformMatrix3fv"); + glad_glUniformMatrix4fv = (PFNGLUNIFORMMATRIX4FVPROC)load("glUniformMatrix4fv"); + glad_glValidateProgram = (PFNGLVALIDATEPROGRAMPROC)load("glValidateProgram"); + glad_glVertexAttrib1d = (PFNGLVERTEXATTRIB1DPROC)load("glVertexAttrib1d"); + glad_glVertexAttrib1dv = (PFNGLVERTEXATTRIB1DVPROC)load("glVertexAttrib1dv"); + glad_glVertexAttrib1f = (PFNGLVERTEXATTRIB1FPROC)load("glVertexAttrib1f"); + glad_glVertexAttrib1fv = (PFNGLVERTEXATTRIB1FVPROC)load("glVertexAttrib1fv"); + glad_glVertexAttrib1s = (PFNGLVERTEXATTRIB1SPROC)load("glVertexAttrib1s"); + glad_glVertexAttrib1sv = (PFNGLVERTEXATTRIB1SVPROC)load("glVertexAttrib1sv"); + glad_glVertexAttrib2d = (PFNGLVERTEXATTRIB2DPROC)load("glVertexAttrib2d"); + glad_glVertexAttrib2dv = (PFNGLVERTEXATTRIB2DVPROC)load("glVertexAttrib2dv"); + glad_glVertexAttrib2f = (PFNGLVERTEXATTRIB2FPROC)load("glVertexAttrib2f"); + glad_glVertexAttrib2fv = (PFNGLVERTEXATTRIB2FVPROC)load("glVertexAttrib2fv"); + glad_glVertexAttrib2s = (PFNGLVERTEXATTRIB2SPROC)load("glVertexAttrib2s"); + glad_glVertexAttrib2sv = (PFNGLVERTEXATTRIB2SVPROC)load("glVertexAttrib2sv"); + glad_glVertexAttrib3d = (PFNGLVERTEXATTRIB3DPROC)load("glVertexAttrib3d"); + glad_glVertexAttrib3dv = (PFNGLVERTEXATTRIB3DVPROC)load("glVertexAttrib3dv"); + glad_glVertexAttrib3f = (PFNGLVERTEXATTRIB3FPROC)load("glVertexAttrib3f"); + glad_glVertexAttrib3fv = (PFNGLVERTEXATTRIB3FVPROC)load("glVertexAttrib3fv"); + glad_glVertexAttrib3s = (PFNGLVERTEXATTRIB3SPROC)load("glVertexAttrib3s"); + glad_glVertexAttrib3sv = (PFNGLVERTEXATTRIB3SVPROC)load("glVertexAttrib3sv"); + glad_glVertexAttrib4Nbv = (PFNGLVERTEXATTRIB4NBVPROC)load("glVertexAttrib4Nbv"); + glad_glVertexAttrib4Niv = (PFNGLVERTEXATTRIB4NIVPROC)load("glVertexAttrib4Niv"); + glad_glVertexAttrib4Nsv = (PFNGLVERTEXATTRIB4NSVPROC)load("glVertexAttrib4Nsv"); + glad_glVertexAttrib4Nub = (PFNGLVERTEXATTRIB4NUBPROC)load("glVertexAttrib4Nub"); + glad_glVertexAttrib4Nubv = (PFNGLVERTEXATTRIB4NUBVPROC)load("glVertexAttrib4Nubv"); + glad_glVertexAttrib4Nuiv = (PFNGLVERTEXATTRIB4NUIVPROC)load("glVertexAttrib4Nuiv"); + glad_glVertexAttrib4Nusv = (PFNGLVERTEXATTRIB4NUSVPROC)load("glVertexAttrib4Nusv"); + glad_glVertexAttrib4bv = (PFNGLVERTEXATTRIB4BVPROC)load("glVertexAttrib4bv"); + glad_glVertexAttrib4d = (PFNGLVERTEXATTRIB4DPROC)load("glVertexAttrib4d"); + glad_glVertexAttrib4dv = (PFNGLVERTEXATTRIB4DVPROC)load("glVertexAttrib4dv"); + glad_glVertexAttrib4f = (PFNGLVERTEXATTRIB4FPROC)load("glVertexAttrib4f"); + glad_glVertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC)load("glVertexAttrib4fv"); + glad_glVertexAttrib4iv = (PFNGLVERTEXATTRIB4IVPROC)load("glVertexAttrib4iv"); + glad_glVertexAttrib4s = (PFNGLVERTEXATTRIB4SPROC)load("glVertexAttrib4s"); + glad_glVertexAttrib4sv = (PFNGLVERTEXATTRIB4SVPROC)load("glVertexAttrib4sv"); + glad_glVertexAttrib4ubv = (PFNGLVERTEXATTRIB4UBVPROC)load("glVertexAttrib4ubv"); + glad_glVertexAttrib4uiv = (PFNGLVERTEXATTRIB4UIVPROC)load("glVertexAttrib4uiv"); + glad_glVertexAttrib4usv = (PFNGLVERTEXATTRIB4USVPROC)load("glVertexAttrib4usv"); + glad_glVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC)load("glVertexAttribPointer"); +} +static void load_GL_VERSION_2_1(GLADloadproc load) { + if (!GLAD_GL_VERSION_2_1) return; + glad_glUniformMatrix2x3fv = (PFNGLUNIFORMMATRIX2X3FVPROC)load("glUniformMatrix2x3fv"); + glad_glUniformMatrix3x2fv = (PFNGLUNIFORMMATRIX3X2FVPROC)load("glUniformMatrix3x2fv"); + glad_glUniformMatrix2x4fv = (PFNGLUNIFORMMATRIX2X4FVPROC)load("glUniformMatrix2x4fv"); + glad_glUniformMatrix4x2fv = (PFNGLUNIFORMMATRIX4X2FVPROC)load("glUniformMatrix4x2fv"); + glad_glUniformMatrix3x4fv = (PFNGLUNIFORMMATRIX3X4FVPROC)load("glUniformMatrix3x4fv"); + glad_glUniformMatrix4x3fv = (PFNGLUNIFORMMATRIX4X3FVPROC)load("glUniformMatrix4x3fv"); +} +static void load_GL_VERSION_3_0(GLADloadproc load) { + if (!GLAD_GL_VERSION_3_0) return; + glad_glColorMaski = (PFNGLCOLORMASKIPROC)load("glColorMaski"); + glad_glGetBooleani_v = (PFNGLGETBOOLEANI_VPROC)load("glGetBooleani_v"); + glad_glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC)load("glGetIntegeri_v"); + glad_glEnablei = (PFNGLENABLEIPROC)load("glEnablei"); + glad_glDisablei = (PFNGLDISABLEIPROC)load("glDisablei"); + glad_glIsEnabledi = (PFNGLISENABLEDIPROC)load("glIsEnabledi"); + glad_glBeginTransformFeedback = (PFNGLBEGINTRANSFORMFEEDBACKPROC)load("glBeginTransformFeedback"); + glad_glEndTransformFeedback = (PFNGLENDTRANSFORMFEEDBACKPROC)load("glEndTransformFeedback"); + glad_glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC)load("glBindBufferRange"); + glad_glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)load("glBindBufferBase"); + glad_glTransformFeedbackVaryings = (PFNGLTRANSFORMFEEDBACKVARYINGSPROC)load("glTransformFeedbackVaryings"); + glad_glGetTransformFeedbackVarying = (PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)load("glGetTransformFeedbackVarying"); + glad_glClampColor = (PFNGLCLAMPCOLORPROC)load("glClampColor"); + glad_glBeginConditionalRender = (PFNGLBEGINCONDITIONALRENDERPROC)load("glBeginConditionalRender"); + glad_glEndConditionalRender = (PFNGLENDCONDITIONALRENDERPROC)load("glEndConditionalRender"); + glad_glVertexAttribIPointer = (PFNGLVERTEXATTRIBIPOINTERPROC)load("glVertexAttribIPointer"); + glad_glGetVertexAttribIiv = (PFNGLGETVERTEXATTRIBIIVPROC)load("glGetVertexAttribIiv"); + glad_glGetVertexAttribIuiv = (PFNGLGETVERTEXATTRIBIUIVPROC)load("glGetVertexAttribIuiv"); + glad_glVertexAttribI1i = (PFNGLVERTEXATTRIBI1IPROC)load("glVertexAttribI1i"); + glad_glVertexAttribI2i = (PFNGLVERTEXATTRIBI2IPROC)load("glVertexAttribI2i"); + glad_glVertexAttribI3i = (PFNGLVERTEXATTRIBI3IPROC)load("glVertexAttribI3i"); + glad_glVertexAttribI4i = (PFNGLVERTEXATTRIBI4IPROC)load("glVertexAttribI4i"); + glad_glVertexAttribI1ui = (PFNGLVERTEXATTRIBI1UIPROC)load("glVertexAttribI1ui"); + glad_glVertexAttribI2ui = (PFNGLVERTEXATTRIBI2UIPROC)load("glVertexAttribI2ui"); + glad_glVertexAttribI3ui = (PFNGLVERTEXATTRIBI3UIPROC)load("glVertexAttribI3ui"); + glad_glVertexAttribI4ui = (PFNGLVERTEXATTRIBI4UIPROC)load("glVertexAttribI4ui"); + glad_glVertexAttribI1iv = (PFNGLVERTEXATTRIBI1IVPROC)load("glVertexAttribI1iv"); + glad_glVertexAttribI2iv = (PFNGLVERTEXATTRIBI2IVPROC)load("glVertexAttribI2iv"); + glad_glVertexAttribI3iv = (PFNGLVERTEXATTRIBI3IVPROC)load("glVertexAttribI3iv"); + glad_glVertexAttribI4iv = (PFNGLVERTEXATTRIBI4IVPROC)load("glVertexAttribI4iv"); + glad_glVertexAttribI1uiv = (PFNGLVERTEXATTRIBI1UIVPROC)load("glVertexAttribI1uiv"); + glad_glVertexAttribI2uiv = (PFNGLVERTEXATTRIBI2UIVPROC)load("glVertexAttribI2uiv"); + glad_glVertexAttribI3uiv = (PFNGLVERTEXATTRIBI3UIVPROC)load("glVertexAttribI3uiv"); + glad_glVertexAttribI4uiv = (PFNGLVERTEXATTRIBI4UIVPROC)load("glVertexAttribI4uiv"); + glad_glVertexAttribI4bv = (PFNGLVERTEXATTRIBI4BVPROC)load("glVertexAttribI4bv"); + glad_glVertexAttribI4sv = (PFNGLVERTEXATTRIBI4SVPROC)load("glVertexAttribI4sv"); + glad_glVertexAttribI4ubv = (PFNGLVERTEXATTRIBI4UBVPROC)load("glVertexAttribI4ubv"); + glad_glVertexAttribI4usv = (PFNGLVERTEXATTRIBI4USVPROC)load("glVertexAttribI4usv"); + glad_glGetUniformuiv = (PFNGLGETUNIFORMUIVPROC)load("glGetUniformuiv"); + glad_glBindFragDataLocation = (PFNGLBINDFRAGDATALOCATIONPROC)load("glBindFragDataLocation"); + glad_glGetFragDataLocation = (PFNGLGETFRAGDATALOCATIONPROC)load("glGetFragDataLocation"); + glad_glUniform1ui = (PFNGLUNIFORM1UIPROC)load("glUniform1ui"); + glad_glUniform2ui = (PFNGLUNIFORM2UIPROC)load("glUniform2ui"); + glad_glUniform3ui = (PFNGLUNIFORM3UIPROC)load("glUniform3ui"); + glad_glUniform4ui = (PFNGLUNIFORM4UIPROC)load("glUniform4ui"); + glad_glUniform1uiv = (PFNGLUNIFORM1UIVPROC)load("glUniform1uiv"); + glad_glUniform2uiv = (PFNGLUNIFORM2UIVPROC)load("glUniform2uiv"); + glad_glUniform3uiv = (PFNGLUNIFORM3UIVPROC)load("glUniform3uiv"); + glad_glUniform4uiv = (PFNGLUNIFORM4UIVPROC)load("glUniform4uiv"); + glad_glTexParameterIiv = (PFNGLTEXPARAMETERIIVPROC)load("glTexParameterIiv"); + glad_glTexParameterIuiv = (PFNGLTEXPARAMETERIUIVPROC)load("glTexParameterIuiv"); + glad_glGetTexParameterIiv = (PFNGLGETTEXPARAMETERIIVPROC)load("glGetTexParameterIiv"); + glad_glGetTexParameterIuiv = (PFNGLGETTEXPARAMETERIUIVPROC)load("glGetTexParameterIuiv"); + glad_glClearBufferiv = (PFNGLCLEARBUFFERIVPROC)load("glClearBufferiv"); + glad_glClearBufferuiv = (PFNGLCLEARBUFFERUIVPROC)load("glClearBufferuiv"); + glad_glClearBufferfv = (PFNGLCLEARBUFFERFVPROC)load("glClearBufferfv"); + glad_glClearBufferfi = (PFNGLCLEARBUFFERFIPROC)load("glClearBufferfi"); + glad_glGetStringi = (PFNGLGETSTRINGIPROC)load("glGetStringi"); + glad_glIsRenderbuffer = (PFNGLISRENDERBUFFERPROC)load("glIsRenderbuffer"); + glad_glBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC)load("glBindRenderbuffer"); + glad_glDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC)load("glDeleteRenderbuffers"); + glad_glGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC)load("glGenRenderbuffers"); + glad_glRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC)load("glRenderbufferStorage"); + glad_glGetRenderbufferParameteriv = (PFNGLGETRENDERBUFFERPARAMETERIVPROC)load("glGetRenderbufferParameteriv"); + glad_glIsFramebuffer = (PFNGLISFRAMEBUFFERPROC)load("glIsFramebuffer"); + glad_glBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC)load("glBindFramebuffer"); + glad_glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC)load("glDeleteFramebuffers"); + glad_glGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC)load("glGenFramebuffers"); + glad_glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC)load("glCheckFramebufferStatus"); + glad_glFramebufferTexture1D = (PFNGLFRAMEBUFFERTEXTURE1DPROC)load("glFramebufferTexture1D"); + glad_glFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC)load("glFramebufferTexture2D"); + glad_glFramebufferTexture3D = (PFNGLFRAMEBUFFERTEXTURE3DPROC)load("glFramebufferTexture3D"); + glad_glFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC)load("glFramebufferRenderbuffer"); + glad_glGetFramebufferAttachmentParameteriv = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)load("glGetFramebufferAttachmentParameteriv"); + glad_glGenerateMipmap = (PFNGLGENERATEMIPMAPPROC)load("glGenerateMipmap"); + glad_glBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC)load("glBlitFramebuffer"); + glad_glRenderbufferStorageMultisample = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)load("glRenderbufferStorageMultisample"); + glad_glFramebufferTextureLayer = (PFNGLFRAMEBUFFERTEXTURELAYERPROC)load("glFramebufferTextureLayer"); + glad_glMapBufferRange = (PFNGLMAPBUFFERRANGEPROC)load("glMapBufferRange"); + glad_glFlushMappedBufferRange = (PFNGLFLUSHMAPPEDBUFFERRANGEPROC)load("glFlushMappedBufferRange"); + glad_glBindVertexArray = (PFNGLBINDVERTEXARRAYPROC)load("glBindVertexArray"); + glad_glDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSPROC)load("glDeleteVertexArrays"); + glad_glGenVertexArrays = (PFNGLGENVERTEXARRAYSPROC)load("glGenVertexArrays"); + glad_glIsVertexArray = (PFNGLISVERTEXARRAYPROC)load("glIsVertexArray"); +} +static void load_GL_VERSION_3_1(GLADloadproc load) { + if (!GLAD_GL_VERSION_3_1) return; + glad_glDrawArraysInstanced = (PFNGLDRAWARRAYSINSTANCEDPROC)load("glDrawArraysInstanced"); + glad_glDrawElementsInstanced = (PFNGLDRAWELEMENTSINSTANCEDPROC)load("glDrawElementsInstanced"); + glad_glTexBuffer = (PFNGLTEXBUFFERPROC)load("glTexBuffer"); + glad_glPrimitiveRestartIndex = (PFNGLPRIMITIVERESTARTINDEXPROC)load("glPrimitiveRestartIndex"); + glad_glCopyBufferSubData = (PFNGLCOPYBUFFERSUBDATAPROC)load("glCopyBufferSubData"); + glad_glGetUniformIndices = (PFNGLGETUNIFORMINDICESPROC)load("glGetUniformIndices"); + glad_glGetActiveUniformsiv = (PFNGLGETACTIVEUNIFORMSIVPROC)load("glGetActiveUniformsiv"); + glad_glGetActiveUniformName = (PFNGLGETACTIVEUNIFORMNAMEPROC)load("glGetActiveUniformName"); + glad_glGetUniformBlockIndex = (PFNGLGETUNIFORMBLOCKINDEXPROC)load("glGetUniformBlockIndex"); + glad_glGetActiveUniformBlockiv = (PFNGLGETACTIVEUNIFORMBLOCKIVPROC)load("glGetActiveUniformBlockiv"); + glad_glGetActiveUniformBlockName = (PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)load("glGetActiveUniformBlockName"); + glad_glUniformBlockBinding = (PFNGLUNIFORMBLOCKBINDINGPROC)load("glUniformBlockBinding"); + glad_glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC)load("glBindBufferRange"); + glad_glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)load("glBindBufferBase"); + glad_glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC)load("glGetIntegeri_v"); +} +static void load_GL_VERSION_3_2(GLADloadproc load) { + if (!GLAD_GL_VERSION_3_2) return; + glad_glDrawElementsBaseVertex = (PFNGLDRAWELEMENTSBASEVERTEXPROC)load("glDrawElementsBaseVertex"); + glad_glDrawRangeElementsBaseVertex = (PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)load("glDrawRangeElementsBaseVertex"); + glad_glDrawElementsInstancedBaseVertex = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)load("glDrawElementsInstancedBaseVertex"); + glad_glMultiDrawElementsBaseVertex = (PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC)load("glMultiDrawElementsBaseVertex"); + glad_glProvokingVertex = (PFNGLPROVOKINGVERTEXPROC)load("glProvokingVertex"); + glad_glFenceSync = (PFNGLFENCESYNCPROC)load("glFenceSync"); + glad_glIsSync = (PFNGLISSYNCPROC)load("glIsSync"); + glad_glDeleteSync = (PFNGLDELETESYNCPROC)load("glDeleteSync"); + glad_glClientWaitSync = (PFNGLCLIENTWAITSYNCPROC)load("glClientWaitSync"); + glad_glWaitSync = (PFNGLWAITSYNCPROC)load("glWaitSync"); + glad_glGetInteger64v = (PFNGLGETINTEGER64VPROC)load("glGetInteger64v"); + glad_glGetSynciv = (PFNGLGETSYNCIVPROC)load("glGetSynciv"); + glad_glGetInteger64i_v = (PFNGLGETINTEGER64I_VPROC)load("glGetInteger64i_v"); + glad_glGetBufferParameteri64v = (PFNGLGETBUFFERPARAMETERI64VPROC)load("glGetBufferParameteri64v"); + glad_glFramebufferTexture = (PFNGLFRAMEBUFFERTEXTUREPROC)load("glFramebufferTexture"); + glad_glTexImage2DMultisample = (PFNGLTEXIMAGE2DMULTISAMPLEPROC)load("glTexImage2DMultisample"); + glad_glTexImage3DMultisample = (PFNGLTEXIMAGE3DMULTISAMPLEPROC)load("glTexImage3DMultisample"); + glad_glGetMultisamplefv = (PFNGLGETMULTISAMPLEFVPROC)load("glGetMultisamplefv"); + glad_glSampleMaski = (PFNGLSAMPLEMASKIPROC)load("glSampleMaski"); +} +static void load_GL_VERSION_3_3(GLADloadproc load) { + if (!GLAD_GL_VERSION_3_3) return; + glad_glBindFragDataLocationIndexed = (PFNGLBINDFRAGDATALOCATIONINDEXEDPROC)load("glBindFragDataLocationIndexed"); + glad_glGetFragDataIndex = (PFNGLGETFRAGDATAINDEXPROC)load("glGetFragDataIndex"); + glad_glGenSamplers = (PFNGLGENSAMPLERSPROC)load("glGenSamplers"); + glad_glDeleteSamplers = (PFNGLDELETESAMPLERSPROC)load("glDeleteSamplers"); + glad_glIsSampler = (PFNGLISSAMPLERPROC)load("glIsSampler"); + glad_glBindSampler = (PFNGLBINDSAMPLERPROC)load("glBindSampler"); + glad_glSamplerParameteri = (PFNGLSAMPLERPARAMETERIPROC)load("glSamplerParameteri"); + glad_glSamplerParameteriv = (PFNGLSAMPLERPARAMETERIVPROC)load("glSamplerParameteriv"); + glad_glSamplerParameterf = (PFNGLSAMPLERPARAMETERFPROC)load("glSamplerParameterf"); + glad_glSamplerParameterfv = (PFNGLSAMPLERPARAMETERFVPROC)load("glSamplerParameterfv"); + glad_glSamplerParameterIiv = (PFNGLSAMPLERPARAMETERIIVPROC)load("glSamplerParameterIiv"); + glad_glSamplerParameterIuiv = (PFNGLSAMPLERPARAMETERIUIVPROC)load("glSamplerParameterIuiv"); + glad_glGetSamplerParameteriv = (PFNGLGETSAMPLERPARAMETERIVPROC)load("glGetSamplerParameteriv"); + glad_glGetSamplerParameterIiv = (PFNGLGETSAMPLERPARAMETERIIVPROC)load("glGetSamplerParameterIiv"); + glad_glGetSamplerParameterfv = (PFNGLGETSAMPLERPARAMETERFVPROC)load("glGetSamplerParameterfv"); + glad_glGetSamplerParameterIuiv = (PFNGLGETSAMPLERPARAMETERIUIVPROC)load("glGetSamplerParameterIuiv"); + glad_glQueryCounter = (PFNGLQUERYCOUNTERPROC)load("glQueryCounter"); + glad_glGetQueryObjecti64v = (PFNGLGETQUERYOBJECTI64VPROC)load("glGetQueryObjecti64v"); + glad_glGetQueryObjectui64v = (PFNGLGETQUERYOBJECTUI64VPROC)load("glGetQueryObjectui64v"); + glad_glVertexAttribDivisor = (PFNGLVERTEXATTRIBDIVISORPROC)load("glVertexAttribDivisor"); + glad_glVertexAttribP1ui = (PFNGLVERTEXATTRIBP1UIPROC)load("glVertexAttribP1ui"); + glad_glVertexAttribP1uiv = (PFNGLVERTEXATTRIBP1UIVPROC)load("glVertexAttribP1uiv"); + glad_glVertexAttribP2ui = (PFNGLVERTEXATTRIBP2UIPROC)load("glVertexAttribP2ui"); + glad_glVertexAttribP2uiv = (PFNGLVERTEXATTRIBP2UIVPROC)load("glVertexAttribP2uiv"); + glad_glVertexAttribP3ui = (PFNGLVERTEXATTRIBP3UIPROC)load("glVertexAttribP3ui"); + glad_glVertexAttribP3uiv = (PFNGLVERTEXATTRIBP3UIVPROC)load("glVertexAttribP3uiv"); + glad_glVertexAttribP4ui = (PFNGLVERTEXATTRIBP4UIPROC)load("glVertexAttribP4ui"); + glad_glVertexAttribP4uiv = (PFNGLVERTEXATTRIBP4UIVPROC)load("glVertexAttribP4uiv"); + glad_glVertexP2ui = (PFNGLVERTEXP2UIPROC)load("glVertexP2ui"); + glad_glVertexP2uiv = (PFNGLVERTEXP2UIVPROC)load("glVertexP2uiv"); + glad_glVertexP3ui = (PFNGLVERTEXP3UIPROC)load("glVertexP3ui"); + glad_glVertexP3uiv = (PFNGLVERTEXP3UIVPROC)load("glVertexP3uiv"); + glad_glVertexP4ui = (PFNGLVERTEXP4UIPROC)load("glVertexP4ui"); + glad_glVertexP4uiv = (PFNGLVERTEXP4UIVPROC)load("glVertexP4uiv"); + glad_glTexCoordP1ui = (PFNGLTEXCOORDP1UIPROC)load("glTexCoordP1ui"); + glad_glTexCoordP1uiv = (PFNGLTEXCOORDP1UIVPROC)load("glTexCoordP1uiv"); + glad_glTexCoordP2ui = (PFNGLTEXCOORDP2UIPROC)load("glTexCoordP2ui"); + glad_glTexCoordP2uiv = (PFNGLTEXCOORDP2UIVPROC)load("glTexCoordP2uiv"); + glad_glTexCoordP3ui = (PFNGLTEXCOORDP3UIPROC)load("glTexCoordP3ui"); + glad_glTexCoordP3uiv = (PFNGLTEXCOORDP3UIVPROC)load("glTexCoordP3uiv"); + glad_glTexCoordP4ui = (PFNGLTEXCOORDP4UIPROC)load("glTexCoordP4ui"); + glad_glTexCoordP4uiv = (PFNGLTEXCOORDP4UIVPROC)load("glTexCoordP4uiv"); + glad_glMultiTexCoordP1ui = (PFNGLMULTITEXCOORDP1UIPROC)load("glMultiTexCoordP1ui"); + glad_glMultiTexCoordP1uiv = (PFNGLMULTITEXCOORDP1UIVPROC)load("glMultiTexCoordP1uiv"); + glad_glMultiTexCoordP2ui = (PFNGLMULTITEXCOORDP2UIPROC)load("glMultiTexCoordP2ui"); + glad_glMultiTexCoordP2uiv = (PFNGLMULTITEXCOORDP2UIVPROC)load("glMultiTexCoordP2uiv"); + glad_glMultiTexCoordP3ui = (PFNGLMULTITEXCOORDP3UIPROC)load("glMultiTexCoordP3ui"); + glad_glMultiTexCoordP3uiv = (PFNGLMULTITEXCOORDP3UIVPROC)load("glMultiTexCoordP3uiv"); + glad_glMultiTexCoordP4ui = (PFNGLMULTITEXCOORDP4UIPROC)load("glMultiTexCoordP4ui"); + glad_glMultiTexCoordP4uiv = (PFNGLMULTITEXCOORDP4UIVPROC)load("glMultiTexCoordP4uiv"); + glad_glNormalP3ui = (PFNGLNORMALP3UIPROC)load("glNormalP3ui"); + glad_glNormalP3uiv = (PFNGLNORMALP3UIVPROC)load("glNormalP3uiv"); + glad_glColorP3ui = (PFNGLCOLORP3UIPROC)load("glColorP3ui"); + glad_glColorP3uiv = (PFNGLCOLORP3UIVPROC)load("glColorP3uiv"); + glad_glColorP4ui = (PFNGLCOLORP4UIPROC)load("glColorP4ui"); + glad_glColorP4uiv = (PFNGLCOLORP4UIVPROC)load("glColorP4uiv"); + glad_glSecondaryColorP3ui = (PFNGLSECONDARYCOLORP3UIPROC)load("glSecondaryColorP3ui"); + glad_glSecondaryColorP3uiv = (PFNGLSECONDARYCOLORP3UIVPROC)load("glSecondaryColorP3uiv"); +} +static int find_extensionsGL(void) { + if (!get_exts()) return 0; + GLAD_GL_ARB_pixel_buffer_object = has_ext("GL_ARB_pixel_buffer_object"); + GLAD_GL_ARB_texture_non_power_of_two = has_ext("GL_ARB_texture_non_power_of_two"); + free_exts(); + return 1; +} + +static void find_coreGL(void) { + /* Thank you @elmindreda + * https://github.com/elmindreda/greg/blob/master/templates/greg.c.in#L176 + * https://github.com/glfw/glfw/blob/master/src/context.c#L36 + */ + int i, major, minor; + + const char *version; + const char *prefixes[] = { + "OpenGL ES-CM ", + "OpenGL ES-CL ", + "OpenGL ES ", + NULL + }; + + version = (const char *) glGetString(GL_VERSION); + if (!version) return; + + for (i = 0; prefixes[i]; i++) { + const size_t length = strlen(prefixes[i]); + if (strncmp(version, prefixes[i], length) == 0) { + version += length; + break; + } + } + + /* PR #18 */ +#ifdef _MSC_VER + sscanf_s(version, "%d.%d", &major, &minor); +#else + sscanf(version, "%d.%d", &major, &minor); +#endif + + GLVersion.major = major; + GLVersion.minor = minor; + max_loaded_major = major; + max_loaded_minor = minor; + GLAD_GL_VERSION_1_0 = (major == 1 && minor >= 0) || major > 1; + GLAD_GL_VERSION_1_1 = (major == 1 && minor >= 1) || major > 1; + GLAD_GL_VERSION_1_2 = (major == 1 && minor >= 2) || major > 1; + GLAD_GL_VERSION_1_3 = (major == 1 && minor >= 3) || major > 1; + GLAD_GL_VERSION_1_4 = (major == 1 && minor >= 4) || major > 1; + GLAD_GL_VERSION_1_5 = (major == 1 && minor >= 5) || major > 1; + GLAD_GL_VERSION_2_0 = (major == 2 && minor >= 0) || major > 2; + GLAD_GL_VERSION_2_1 = (major == 2 && minor >= 1) || major > 2; + GLAD_GL_VERSION_3_0 = (major == 3 && minor >= 0) || major > 3; + GLAD_GL_VERSION_3_1 = (major == 3 && minor >= 1) || major > 3; + GLAD_GL_VERSION_3_2 = (major == 3 && minor >= 2) || major > 3; + GLAD_GL_VERSION_3_3 = (major == 3 && minor >= 3) || major > 3; + if (GLVersion.major > 3 || (GLVersion.major >= 3 && GLVersion.minor >= 3)) { + max_loaded_major = 3; + max_loaded_minor = 3; + } +} + +int gladLoadGLLoader(GLADloadproc load) { + GLVersion.major = 0; + GLVersion.minor = 0; + glGetString = (PFNGLGETSTRINGPROC)load("glGetString"); + if (glGetString == NULL) return 0; + if (glGetString(GL_VERSION) == NULL) return 0; + find_coreGL(); + load_GL_VERSION_1_0(load); + load_GL_VERSION_1_1(load); + load_GL_VERSION_1_2(load); + load_GL_VERSION_1_3(load); + load_GL_VERSION_1_4(load); + load_GL_VERSION_1_5(load); + load_GL_VERSION_2_0(load); + load_GL_VERSION_2_1(load); + load_GL_VERSION_3_0(load); + load_GL_VERSION_3_1(load); + load_GL_VERSION_3_2(load); + load_GL_VERSION_3_3(load); + + if (!find_extensionsGL()) return 0; + return GLVersion.major != 0 || GLVersion.minor != 0; +} +
View file
LiVES-2.8.6.tar.bz2/lives-plugins/plugins/playback/video/glad.h
Added
@@ -0,0 +1,3715 @@ +/* + + OpenGL loader generated by glad 0.1.13a0 on Sat Apr 29 18:34:46 2017. + + Language/Generator: C/C++ + Specification: gl + APIs: gl=3.3 + Profile: compatibility + Extensions: + GL_ARB_pixel_buffer_object, + GL_ARB_texture_non_power_of_two + Loader: True + Local files: False + Omit khrplatform: False + + Commandline: + --profile="compatibility" --api="gl=3.3" --generator="c" --spec="gl" --extensions="GL_ARB_pixel_buffer_object,GL_ARB_texture_non_power_of_two" + Online: + http://glad.dav1d.de/#profile=compatibility&language=c&specification=gl&loader=on&api=gl%3D3.3&extensions=GL_ARB_pixel_buffer_object&extensions=GL_ARB_texture_non_power_of_two +*/ + + +#ifndef __glad_h_ +#define __glad_h_ + +#ifdef __gl_h_ +#error OpenGL header already included, remove this include, glad already provides it +#endif +#define __gl_h_ + +#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN 1 +#endif +#include <windows.h> +#endif + +#ifndef APIENTRY +#define APIENTRY +#endif +#ifndef APIENTRYP +#define APIENTRYP APIENTRY * +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +struct gladGLversionStruct { + int major; + int minor; +}; + +typedef void *(* GLADloadproc)(const char *name); + +#ifndef GLAPI +# if defined(GLAD_GLAPI_EXPORT) +# if defined(WIN32) || defined(__CYGWIN__) +# if defined(GLAD_GLAPI_EXPORT_BUILD) +# if defined(__GNUC__) +# define GLAPI __attribute__ ((dllexport)) extern +# else +# define GLAPI __declspec(dllexport) extern +# endif +# else +# if defined(__GNUC__) +# define GLAPI __attribute__ ((dllimport)) extern +# else +# define GLAPI __declspec(dllimport) extern +# endif +# endif +# elif defined(__GNUC__) && defined(GLAD_GLAPI_EXPORT_BUILD) +# define GLAPI __attribute__ ((visibility ("default"))) extern +# else +# define GLAPI extern +# endif +# else +# define GLAPI extern +# endif +#endif + +GLAPI struct gladGLversionStruct GLVersion; + +GLAPI int gladLoadGL(void); + +GLAPI int gladLoadGLLoader(GLADloadproc); + +#include <stddef.h> +#include <KHR/khrplatform.h> +#ifndef GLEXT_64_TYPES_DEFINED +/* This code block is duplicated in glxext.h, so must be protected */ +#define GLEXT_64_TYPES_DEFINED +/* Define int32_t, int64_t, and uint64_t types for UST/MSC */ +/* (as used in the GL_EXT_timer_query extension). */ +#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L +#include <inttypes.h> +#elif defined(__sun__) || defined(__digital__) +#include <inttypes.h> +#if defined(__STDC__) +#if defined(__arch64__) || defined(_LP64) +typedef long int int64_t; +typedef unsigned long int uint64_t; +#else +typedef long long int int64_t; +typedef unsigned long long int uint64_t; +#endif /* __arch64__ */ +#endif /* __STDC__ */ +#elif defined(__VMS) || defined(__sgi) +#include <inttypes.h> +#elif defined(__SCO__) || defined(__USLC__) +#include <stdint.h> +#elif defined(__UNIXOS2__) || defined(__SOL64__) +typedef long int int32_t; +typedef long long int int64_t; +typedef unsigned long long int uint64_t; +#elif defined(_WIN32) && defined(__GNUC__) +#include <stdint.h> +#elif defined(_WIN32) +typedef __int32 int32_t; +typedef __int64 int64_t; +typedef unsigned __int64 uint64_t; +#else +/* Fallback if nothing above works */ +#include <inttypes.h> +#endif +#endif +typedef unsigned int GLenum; +typedef unsigned char GLboolean; +typedef unsigned int GLbitfield; +typedef void GLvoid; +typedef signed char GLbyte; +typedef short GLshort; +typedef int GLint; +typedef int GLclampx; +typedef unsigned char GLubyte; +typedef unsigned short GLushort; +typedef unsigned int GLuint; +typedef int GLsizei; +typedef float GLfloat; +typedef float GLclampf; +typedef double GLdouble; +typedef double GLclampd; +typedef void *GLeglImageOES; +typedef char GLchar; +typedef char GLcharARB; +#ifdef __APPLE__ +typedef void *GLhandleARB; +#else +typedef unsigned int GLhandleARB; +#endif +typedef unsigned short GLhalfARB; +typedef unsigned short GLhalf; +typedef GLint GLfixed; +#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060) +typedef long GLintptr; +#else +typedef ptrdiff_t GLintptr; +#endif +#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060) +typedef long GLsizeiptr; +#else +typedef ptrdiff_t GLsizeiptr; +#endif +typedef int64_t GLint64; +typedef uint64_t GLuint64; +#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060) +typedef long GLintptrARB; +#else +typedef ptrdiff_t GLintptrARB; +#endif +#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060) +typedef long GLsizeiptrARB; +#else +typedef ptrdiff_t GLsizeiptrARB; +#endif +typedef int64_t GLint64EXT; +typedef uint64_t GLuint64EXT; +typedef struct __GLsync *GLsync; +struct _cl_context; +struct _cl_event; +typedef void (APIENTRY *GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, + const void *userParam); +typedef void (APIENTRY *GLDEBUGPROCARB)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, + const void *userParam); +typedef void (APIENTRY *GLDEBUGPROCKHR)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, + const void *userParam); +typedef void (APIENTRY *GLDEBUGPROCAMD)(GLuint id, GLenum category, GLenum severity, GLsizei length, const GLchar *message, + void *userParam); +typedef unsigned short GLhalfNV; +typedef GLintptr GLvdpauSurfaceNV; +#define GL_DEPTH_BUFFER_BIT 0x00000100 +#define GL_STENCIL_BUFFER_BIT 0x00000400 +#define GL_COLOR_BUFFER_BIT 0x00004000 +#define GL_FALSE 0 +#define GL_TRUE 1 +#define GL_POINTS 0x0000 +#define GL_LINES 0x0001 +#define GL_LINE_LOOP 0x0002 +#define GL_LINE_STRIP 0x0003 +#define GL_TRIANGLES 0x0004 +#define GL_TRIANGLE_STRIP 0x0005 +#define GL_TRIANGLE_FAN 0x0006 +#define GL_QUADS 0x0007 +#define GL_NEVER 0x0200 +#define GL_LESS 0x0201 +#define GL_EQUAL 0x0202 +#define GL_LEQUAL 0x0203 +#define GL_GREATER 0x0204 +#define GL_NOTEQUAL 0x0205 +#define GL_GEQUAL 0x0206 +#define GL_ALWAYS 0x0207 +#define GL_ZERO 0 +#define GL_ONE 1 +#define GL_SRC_COLOR 0x0300 +#define GL_ONE_MINUS_SRC_COLOR 0x0301 +#define GL_SRC_ALPHA 0x0302 +#define GL_ONE_MINUS_SRC_ALPHA 0x0303 +#define GL_DST_ALPHA 0x0304 +#define GL_ONE_MINUS_DST_ALPHA 0x0305 +#define GL_DST_COLOR 0x0306 +#define GL_ONE_MINUS_DST_COLOR 0x0307 +#define GL_SRC_ALPHA_SATURATE 0x0308 +#define GL_NONE 0 +#define GL_FRONT_LEFT 0x0400 +#define GL_FRONT_RIGHT 0x0401 +#define GL_BACK_LEFT 0x0402 +#define GL_BACK_RIGHT 0x0403 +#define GL_FRONT 0x0404 +#define GL_BACK 0x0405 +#define GL_LEFT 0x0406 +#define GL_RIGHT 0x0407 +#define GL_FRONT_AND_BACK 0x0408 +#define GL_NO_ERROR 0 +#define GL_INVALID_ENUM 0x0500 +#define GL_INVALID_VALUE 0x0501 +#define GL_INVALID_OPERATION 0x0502 +#define GL_OUT_OF_MEMORY 0x0505 +#define GL_CW 0x0900 +#define GL_CCW 0x0901 +#define GL_POINT_SIZE 0x0B11 +#define GL_POINT_SIZE_RANGE 0x0B12 +#define GL_POINT_SIZE_GRANULARITY 0x0B13 +#define GL_LINE_SMOOTH 0x0B20 +#define GL_LINE_WIDTH 0x0B21 +#define GL_LINE_WIDTH_RANGE 0x0B22 +#define GL_LINE_WIDTH_GRANULARITY 0x0B23 +#define GL_POLYGON_MODE 0x0B40 +#define GL_POLYGON_SMOOTH 0x0B41 +#define GL_CULL_FACE 0x0B44 +#define GL_CULL_FACE_MODE 0x0B45 +#define GL_FRONT_FACE 0x0B46 +#define GL_DEPTH_RANGE 0x0B70 +#define GL_DEPTH_TEST 0x0B71 +#define GL_DEPTH_WRITEMASK 0x0B72 +#define GL_DEPTH_CLEAR_VALUE 0x0B73 +#define GL_DEPTH_FUNC 0x0B74 +#define GL_STENCIL_TEST 0x0B90 +#define GL_STENCIL_CLEAR_VALUE 0x0B91 +#define GL_STENCIL_FUNC 0x0B92 +#define GL_STENCIL_VALUE_MASK 0x0B93 +#define GL_STENCIL_FAIL 0x0B94 +#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 +#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 +#define GL_STENCIL_REF 0x0B97 +#define GL_STENCIL_WRITEMASK 0x0B98 +#define GL_VIEWPORT 0x0BA2 +#define GL_DITHER 0x0BD0 +#define GL_BLEND_DST 0x0BE0 +#define GL_BLEND_SRC 0x0BE1 +#define GL_BLEND 0x0BE2 +#define GL_LOGIC_OP_MODE 0x0BF0 +#define GL_COLOR_LOGIC_OP 0x0BF2 +#define GL_DRAW_BUFFER 0x0C01 +#define GL_READ_BUFFER 0x0C02 +#define GL_SCISSOR_BOX 0x0C10 +#define GL_SCISSOR_TEST 0x0C11 +#define GL_COLOR_CLEAR_VALUE 0x0C22 +#define GL_COLOR_WRITEMASK 0x0C23 +#define GL_DOUBLEBUFFER 0x0C32 +#define GL_STEREO 0x0C33 +#define GL_LINE_SMOOTH_HINT 0x0C52 +#define GL_POLYGON_SMOOTH_HINT 0x0C53 +#define GL_UNPACK_SWAP_BYTES 0x0CF0 +#define GL_UNPACK_LSB_FIRST 0x0CF1 +#define GL_UNPACK_ROW_LENGTH 0x0CF2 +#define GL_UNPACK_SKIP_ROWS 0x0CF3 +#define GL_UNPACK_SKIP_PIXELS 0x0CF4 +#define GL_UNPACK_ALIGNMENT 0x0CF5 +#define GL_PACK_SWAP_BYTES 0x0D00 +#define GL_PACK_LSB_FIRST 0x0D01 +#define GL_PACK_ROW_LENGTH 0x0D02 +#define GL_PACK_SKIP_ROWS 0x0D03 +#define GL_PACK_SKIP_PIXELS 0x0D04 +#define GL_PACK_ALIGNMENT 0x0D05 +#define GL_MAX_TEXTURE_SIZE 0x0D33 +#define GL_MAX_VIEWPORT_DIMS 0x0D3A +#define GL_SUBPIXEL_BITS 0x0D50 +#define GL_TEXTURE_1D 0x0DE0 +#define GL_TEXTURE_2D 0x0DE1 +#define GL_POLYGON_OFFSET_UNITS 0x2A00 +#define GL_POLYGON_OFFSET_POINT 0x2A01 +#define GL_POLYGON_OFFSET_LINE 0x2A02 +#define GL_POLYGON_OFFSET_FILL 0x8037 +#define GL_POLYGON_OFFSET_FACTOR 0x8038 +#define GL_TEXTURE_BINDING_1D 0x8068 +#define GL_TEXTURE_BINDING_2D 0x8069 +#define GL_TEXTURE_WIDTH 0x1000 +#define GL_TEXTURE_HEIGHT 0x1001 +#define GL_TEXTURE_INTERNAL_FORMAT 0x1003 +#define GL_TEXTURE_BORDER_COLOR 0x1004 +#define GL_TEXTURE_RED_SIZE 0x805C +#define GL_TEXTURE_GREEN_SIZE 0x805D +#define GL_TEXTURE_BLUE_SIZE 0x805E +#define GL_TEXTURE_ALPHA_SIZE 0x805F +#define GL_DONT_CARE 0x1100 +#define GL_FASTEST 0x1101 +#define GL_NICEST 0x1102 +#define GL_BYTE 0x1400 +#define GL_UNSIGNED_BYTE 0x1401 +#define GL_SHORT 0x1402 +#define GL_UNSIGNED_SHORT 0x1403 +#define GL_INT 0x1404 +#define GL_UNSIGNED_INT 0x1405 +#define GL_FLOAT 0x1406 +#define GL_DOUBLE 0x140A +#define GL_STACK_OVERFLOW 0x0503 +#define GL_STACK_UNDERFLOW 0x0504 +#define GL_CLEAR 0x1500 +#define GL_AND 0x1501 +#define GL_AND_REVERSE 0x1502 +#define GL_COPY 0x1503 +#define GL_AND_INVERTED 0x1504 +#define GL_NOOP 0x1505 +#define GL_XOR 0x1506 +#define GL_OR 0x1507 +#define GL_NOR 0x1508 +#define GL_EQUIV 0x1509 +#define GL_INVERT 0x150A +#define GL_OR_REVERSE 0x150B +#define GL_COPY_INVERTED 0x150C +#define GL_OR_INVERTED 0x150D +#define GL_NAND 0x150E +#define GL_SET 0x150F +#define GL_TEXTURE 0x1702 +#define GL_COLOR 0x1800 +#define GL_DEPTH 0x1801 +#define GL_STENCIL 0x1802 +#define GL_STENCIL_INDEX 0x1901 +#define GL_DEPTH_COMPONENT 0x1902 +#define GL_RED 0x1903 +#define GL_GREEN 0x1904 +#define GL_BLUE 0x1905 +#define GL_ALPHA 0x1906 +#define GL_RGB 0x1907 +#define GL_RGBA 0x1908 +#define GL_POINT 0x1B00 +#define GL_LINE 0x1B01 +#define GL_FILL 0x1B02 +#define GL_KEEP 0x1E00 +#define GL_REPLACE 0x1E01 +#define GL_INCR 0x1E02 +#define GL_DECR 0x1E03 +#define GL_VENDOR 0x1F00 +#define GL_RENDERER 0x1F01 +#define GL_VERSION 0x1F02 +#define GL_EXTENSIONS 0x1F03 +#define GL_NEAREST 0x2600 +#define GL_LINEAR 0x2601 +#define GL_NEAREST_MIPMAP_NEAREST 0x2700 +#define GL_LINEAR_MIPMAP_NEAREST 0x2701 +#define GL_NEAREST_MIPMAP_LINEAR 0x2702 +#define GL_LINEAR_MIPMAP_LINEAR 0x2703 +#define GL_TEXTURE_MAG_FILTER 0x2800 +#define GL_TEXTURE_MIN_FILTER 0x2801 +#define GL_TEXTURE_WRAP_S 0x2802 +#define GL_TEXTURE_WRAP_T 0x2803 +#define GL_PROXY_TEXTURE_1D 0x8063 +#define GL_PROXY_TEXTURE_2D 0x8064 +#define GL_REPEAT 0x2901 +#define GL_R3_G3_B2 0x2A10 +#define GL_RGB4 0x804F +#define GL_RGB5 0x8050 +#define GL_RGB8 0x8051 +#define GL_RGB10 0x8052 +#define GL_RGB12 0x8053 +#define GL_RGB16 0x8054 +#define GL_RGBA2 0x8055 +#define GL_RGBA4 0x8056 +#define GL_RGB5_A1 0x8057 +#define GL_RGBA8 0x8058 +#define GL_RGB10_A2 0x8059 +#define GL_RGBA12 0x805A +#define GL_RGBA16 0x805B +#define GL_CURRENT_BIT 0x00000001 +#define GL_POINT_BIT 0x00000002 +#define GL_LINE_BIT 0x00000004 +#define GL_POLYGON_BIT 0x00000008 +#define GL_POLYGON_STIPPLE_BIT 0x00000010 +#define GL_PIXEL_MODE_BIT 0x00000020 +#define GL_LIGHTING_BIT 0x00000040 +#define GL_FOG_BIT 0x00000080 +#define GL_ACCUM_BUFFER_BIT 0x00000200 +#define GL_VIEWPORT_BIT 0x00000800 +#define GL_TRANSFORM_BIT 0x00001000 +#define GL_ENABLE_BIT 0x00002000 +#define GL_HINT_BIT 0x00008000 +#define GL_EVAL_BIT 0x00010000 +#define GL_LIST_BIT 0x00020000 +#define GL_TEXTURE_BIT 0x00040000 +#define GL_SCISSOR_BIT 0x00080000 +#define GL_ALL_ATTRIB_BITS 0xFFFFFFFF +#define GL_CLIENT_PIXEL_STORE_BIT 0x00000001 +#define GL_CLIENT_VERTEX_ARRAY_BIT 0x00000002 +#define GL_CLIENT_ALL_ATTRIB_BITS 0xFFFFFFFF +#define GL_QUAD_STRIP 0x0008 +#define GL_POLYGON 0x0009 +#define GL_ACCUM 0x0100 +#define GL_LOAD 0x0101 +#define GL_RETURN 0x0102 +#define GL_MULT 0x0103 +#define GL_ADD 0x0104 +#define GL_AUX0 0x0409 +#define GL_AUX1 0x040A +#define GL_AUX2 0x040B +#define GL_AUX3 0x040C +#define GL_2D 0x0600 +#define GL_3D 0x0601 +#define GL_3D_COLOR 0x0602 +#define GL_3D_COLOR_TEXTURE 0x0603 +#define GL_4D_COLOR_TEXTURE 0x0604 +#define GL_PASS_THROUGH_TOKEN 0x0700 +#define GL_POINT_TOKEN 0x0701 +#define GL_LINE_TOKEN 0x0702 +#define GL_POLYGON_TOKEN 0x0703 +#define GL_BITMAP_TOKEN 0x0704 +#define GL_DRAW_PIXEL_TOKEN 0x0705 +#define GL_COPY_PIXEL_TOKEN 0x0706 +#define GL_LINE_RESET_TOKEN 0x0707 +#define GL_EXP 0x0800 +#define GL_EXP2 0x0801 +#define GL_COEFF 0x0A00 +#define GL_ORDER 0x0A01 +#define GL_DOMAIN 0x0A02 +#define GL_PIXEL_MAP_I_TO_I 0x0C70 +#define GL_PIXEL_MAP_S_TO_S 0x0C71 +#define GL_PIXEL_MAP_I_TO_R 0x0C72 +#define GL_PIXEL_MAP_I_TO_G 0x0C73 +#define GL_PIXEL_MAP_I_TO_B 0x0C74 +#define GL_PIXEL_MAP_I_TO_A 0x0C75 +#define GL_PIXEL_MAP_R_TO_R 0x0C76 +#define GL_PIXEL_MAP_G_TO_G 0x0C77 +#define GL_PIXEL_MAP_B_TO_B 0x0C78 +#define GL_PIXEL_MAP_A_TO_A 0x0C79 +#define GL_VERTEX_ARRAY_POINTER 0x808E +#define GL_NORMAL_ARRAY_POINTER 0x808F +#define GL_COLOR_ARRAY_POINTER 0x8090 +#define GL_INDEX_ARRAY_POINTER 0x8091 +#define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092 +#define GL_EDGE_FLAG_ARRAY_POINTER 0x8093 +#define GL_FEEDBACK_BUFFER_POINTER 0x0DF0 +#define GL_SELECTION_BUFFER_POINTER 0x0DF3 +#define GL_CURRENT_COLOR 0x0B00 +#define GL_CURRENT_INDEX 0x0B01 +#define GL_CURRENT_NORMAL 0x0B02 +#define GL_CURRENT_TEXTURE_COORDS 0x0B03 +#define GL_CURRENT_RASTER_COLOR 0x0B04 +#define GL_CURRENT_RASTER_INDEX 0x0B05 +#define GL_CURRENT_RASTER_TEXTURE_COORDS 0x0B06 +#define GL_CURRENT_RASTER_POSITION 0x0B07 +#define GL_CURRENT_RASTER_POSITION_VALID 0x0B08 +#define GL_CURRENT_RASTER_DISTANCE 0x0B09 +#define GL_POINT_SMOOTH 0x0B10 +#define GL_LINE_STIPPLE 0x0B24 +#define GL_LINE_STIPPLE_PATTERN 0x0B25 +#define GL_LINE_STIPPLE_REPEAT 0x0B26 +#define GL_LIST_MODE 0x0B30 +#define GL_MAX_LIST_NESTING 0x0B31 +#define GL_LIST_BASE 0x0B32 +#define GL_LIST_INDEX 0x0B33 +#define GL_POLYGON_STIPPLE 0x0B42 +#define GL_EDGE_FLAG 0x0B43 +#define GL_LIGHTING 0x0B50 +#define GL_LIGHT_MODEL_LOCAL_VIEWER 0x0B51 +#define GL_LIGHT_MODEL_TWO_SIDE 0x0B52 +#define GL_LIGHT_MODEL_AMBIENT 0x0B53 +#define GL_SHADE_MODEL 0x0B54 +#define GL_COLOR_MATERIAL_FACE 0x0B55 +#define GL_COLOR_MATERIAL_PARAMETER 0x0B56 +#define GL_COLOR_MATERIAL 0x0B57 +#define GL_FOG 0x0B60 +#define GL_FOG_INDEX 0x0B61 +#define GL_FOG_DENSITY 0x0B62 +#define GL_FOG_START 0x0B63 +#define GL_FOG_END 0x0B64 +#define GL_FOG_MODE 0x0B65 +#define GL_FOG_COLOR 0x0B66 +#define GL_ACCUM_CLEAR_VALUE 0x0B80 +#define GL_MATRIX_MODE 0x0BA0 +#define GL_NORMALIZE 0x0BA1 +#define GL_MODELVIEW_STACK_DEPTH 0x0BA3 +#define GL_PROJECTION_STACK_DEPTH 0x0BA4 +#define GL_TEXTURE_STACK_DEPTH 0x0BA5 +#define GL_MODELVIEW_MATRIX 0x0BA6 +#define GL_PROJECTION_MATRIX 0x0BA7 +#define GL_TEXTURE_MATRIX 0x0BA8 +#define GL_ATTRIB_STACK_DEPTH 0x0BB0 +#define GL_CLIENT_ATTRIB_STACK_DEPTH 0x0BB1 +#define GL_ALPHA_TEST 0x0BC0 +#define GL_ALPHA_TEST_FUNC 0x0BC1 +#define GL_ALPHA_TEST_REF 0x0BC2 +#define GL_INDEX_LOGIC_OP 0x0BF1 +#define GL_LOGIC_OP 0x0BF1 +#define GL_AUX_BUFFERS 0x0C00 +#define GL_INDEX_CLEAR_VALUE 0x0C20 +#define GL_INDEX_WRITEMASK 0x0C21 +#define GL_INDEX_MODE 0x0C30 +#define GL_RGBA_MODE 0x0C31 +#define GL_RENDER_MODE 0x0C40 +#define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50 +#define GL_POINT_SMOOTH_HINT 0x0C51 +#define GL_FOG_HINT 0x0C54 +#define GL_TEXTURE_GEN_S 0x0C60 +#define GL_TEXTURE_GEN_T 0x0C61 +#define GL_TEXTURE_GEN_R 0x0C62 +#define GL_TEXTURE_GEN_Q 0x0C63 +#define GL_PIXEL_MAP_I_TO_I_SIZE 0x0CB0 +#define GL_PIXEL_MAP_S_TO_S_SIZE 0x0CB1 +#define GL_PIXEL_MAP_I_TO_R_SIZE 0x0CB2 +#define GL_PIXEL_MAP_I_TO_G_SIZE 0x0CB3 +#define GL_PIXEL_MAP_I_TO_B_SIZE 0x0CB4 +#define GL_PIXEL_MAP_I_TO_A_SIZE 0x0CB5 +#define GL_PIXEL_MAP_R_TO_R_SIZE 0x0CB6 +#define GL_PIXEL_MAP_G_TO_G_SIZE 0x0CB7 +#define GL_PIXEL_MAP_B_TO_B_SIZE 0x0CB8 +#define GL_PIXEL_MAP_A_TO_A_SIZE 0x0CB9 +#define GL_MAP_COLOR 0x0D10 +#define GL_MAP_STENCIL 0x0D11 +#define GL_INDEX_SHIFT 0x0D12 +#define GL_INDEX_OFFSET 0x0D13 +#define GL_RED_SCALE 0x0D14 +#define GL_RED_BIAS 0x0D15 +#define GL_ZOOM_X 0x0D16 +#define GL_ZOOM_Y 0x0D17 +#define GL_GREEN_SCALE 0x0D18 +#define GL_GREEN_BIAS 0x0D19 +#define GL_BLUE_SCALE 0x0D1A +#define GL_BLUE_BIAS 0x0D1B +#define GL_ALPHA_SCALE 0x0D1C +#define GL_ALPHA_BIAS 0x0D1D +#define GL_DEPTH_SCALE 0x0D1E +#define GL_DEPTH_BIAS 0x0D1F +#define GL_MAX_EVAL_ORDER 0x0D30 +#define GL_MAX_LIGHTS 0x0D31 +#define GL_MAX_CLIP_PLANES 0x0D32 +#define GL_MAX_PIXEL_MAP_TABLE 0x0D34 +#define GL_MAX_ATTRIB_STACK_DEPTH 0x0D35 +#define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36 +#define GL_MAX_NAME_STACK_DEPTH 0x0D37 +#define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38 +#define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39 +#define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0x0D3B +#define GL_INDEX_BITS 0x0D51 +#define GL_RED_BITS 0x0D52 +#define GL_GREEN_BITS 0x0D53 +#define GL_BLUE_BITS 0x0D54 +#define GL_ALPHA_BITS 0x0D55 +#define GL_DEPTH_BITS 0x0D56 +#define GL_STENCIL_BITS 0x0D57 +#define GL_ACCUM_RED_BITS 0x0D58 +#define GL_ACCUM_GREEN_BITS 0x0D59 +#define GL_ACCUM_BLUE_BITS 0x0D5A +#define GL_ACCUM_ALPHA_BITS 0x0D5B +#define GL_NAME_STACK_DEPTH 0x0D70 +#define GL_AUTO_NORMAL 0x0D80 +#define GL_MAP1_COLOR_4 0x0D90 +#define GL_MAP1_INDEX 0x0D91 +#define GL_MAP1_NORMAL 0x0D92 +#define GL_MAP1_TEXTURE_COORD_1 0x0D93 +#define GL_MAP1_TEXTURE_COORD_2 0x0D94 +#define GL_MAP1_TEXTURE_COORD_3 0x0D95 +#define GL_MAP1_TEXTURE_COORD_4 0x0D96 +#define GL_MAP1_VERTEX_3 0x0D97 +#define GL_MAP1_VERTEX_4 0x0D98 +#define GL_MAP2_COLOR_4 0x0DB0 +#define GL_MAP2_INDEX 0x0DB1 +#define GL_MAP2_NORMAL 0x0DB2 +#define GL_MAP2_TEXTURE_COORD_1 0x0DB3 +#define GL_MAP2_TEXTURE_COORD_2 0x0DB4 +#define GL_MAP2_TEXTURE_COORD_3 0x0DB5 +#define GL_MAP2_TEXTURE_COORD_4 0x0DB6 +#define GL_MAP2_VERTEX_3 0x0DB7 +#define GL_MAP2_VERTEX_4 0x0DB8 +#define GL_MAP1_GRID_DOMAIN 0x0DD0 +#define GL_MAP1_GRID_SEGMENTS 0x0DD1 +#define GL_MAP2_GRID_DOMAIN 0x0DD2 +#define GL_MAP2_GRID_SEGMENTS 0x0DD3 +#define GL_FEEDBACK_BUFFER_SIZE 0x0DF1 +#define GL_FEEDBACK_BUFFER_TYPE 0x0DF2 +#define GL_SELECTION_BUFFER_SIZE 0x0DF4 +#define GL_VERTEX_ARRAY 0x8074 +#define GL_NORMAL_ARRAY 0x8075 +#define GL_COLOR_ARRAY 0x8076 +#define GL_INDEX_ARRAY 0x8077 +#define GL_TEXTURE_COORD_ARRAY 0x8078 +#define GL_EDGE_FLAG_ARRAY 0x8079 +#define GL_VERTEX_ARRAY_SIZE 0x807A +#define GL_VERTEX_ARRAY_TYPE 0x807B +#define GL_VERTEX_ARRAY_STRIDE 0x807C +#define GL_NORMAL_ARRAY_TYPE 0x807E +#define GL_NORMAL_ARRAY_STRIDE 0x807F +#define GL_COLOR_ARRAY_SIZE 0x8081 +#define GL_COLOR_ARRAY_TYPE 0x8082 +#define GL_COLOR_ARRAY_STRIDE 0x8083 +#define GL_INDEX_ARRAY_TYPE 0x8085 +#define GL_INDEX_ARRAY_STRIDE 0x8086 +#define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088 +#define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089 +#define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A +#define GL_EDGE_FLAG_ARRAY_STRIDE 0x808C +#define GL_TEXTURE_COMPONENTS 0x1003 +#define GL_TEXTURE_BORDER 0x1005 +#define GL_TEXTURE_LUMINANCE_SIZE 0x8060 +#define GL_TEXTURE_INTENSITY_SIZE 0x8061 +#define GL_TEXTURE_PRIORITY 0x8066 +#define GL_TEXTURE_RESIDENT 0x8067 +#define GL_AMBIENT 0x1200 +#define GL_DIFFUSE 0x1201 +#define GL_SPECULAR 0x1202 +#define GL_POSITION 0x1203 +#define GL_SPOT_DIRECTION 0x1204 +#define GL_SPOT_EXPONENT 0x1205 +#define GL_SPOT_CUTOFF 0x1206 +#define GL_CONSTANT_ATTENUATION 0x1207 +#define GL_LINEAR_ATTENUATION 0x1208 +#define GL_QUADRATIC_ATTENUATION 0x1209 +#define GL_COMPILE 0x1300 +#define GL_COMPILE_AND_EXECUTE 0x1301 +#define GL_2_BYTES 0x1407 +#define GL_3_BYTES 0x1408 +#define GL_4_BYTES 0x1409 +#define GL_EMISSION 0x1600 +#define GL_SHININESS 0x1601 +#define GL_AMBIENT_AND_DIFFUSE 0x1602 +#define GL_COLOR_INDEXES 0x1603 +#define GL_MODELVIEW 0x1700 +#define GL_PROJECTION 0x1701 +#define GL_COLOR_INDEX 0x1900 +#define GL_LUMINANCE 0x1909 +#define GL_LUMINANCE_ALPHA 0x190A +#define GL_BITMAP 0x1A00 +#define GL_RENDER 0x1C00 +#define GL_FEEDBACK 0x1C01 +#define GL_SELECT 0x1C02 +#define GL_FLAT 0x1D00 +#define GL_SMOOTH 0x1D01 +#define GL_S 0x2000 +#define GL_T 0x2001 +#define GL_R 0x2002 +#define GL_Q 0x2003 +#define GL_MODULATE 0x2100 +#define GL_DECAL 0x2101 +#define GL_TEXTURE_ENV_MODE 0x2200 +#define GL_TEXTURE_ENV_COLOR 0x2201 +#define GL_TEXTURE_ENV 0x2300 +#define GL_EYE_LINEAR 0x2400 +#define GL_OBJECT_LINEAR 0x2401 +#define GL_SPHERE_MAP 0x2402 +#define GL_TEXTURE_GEN_MODE 0x2500 +#define GL_OBJECT_PLANE 0x2501 +#define GL_EYE_PLANE 0x2502 +#define GL_CLAMP 0x2900 +#define GL_ALPHA4 0x803B +#define GL_ALPHA8 0x803C +#define GL_ALPHA12 0x803D +#define GL_ALPHA16 0x803E +#define GL_LUMINANCE4 0x803F +#define GL_LUMINANCE8 0x8040 +#define GL_LUMINANCE12 0x8041 +#define GL_LUMINANCE16 0x8042 +#define GL_LUMINANCE4_ALPHA4 0x8043 +#define GL_LUMINANCE6_ALPHA2 0x8044 +#define GL_LUMINANCE8_ALPHA8 0x8045 +#define GL_LUMINANCE12_ALPHA4 0x8046 +#define GL_LUMINANCE12_ALPHA12 0x8047 +#define GL_LUMINANCE16_ALPHA16 0x8048 +#define GL_INTENSITY 0x8049 +#define GL_INTENSITY4 0x804A +#define GL_INTENSITY8 0x804B +#define GL_INTENSITY12 0x804C +#define GL_INTENSITY16 0x804D +#define GL_V2F 0x2A20 +#define GL_V3F 0x2A21 +#define GL_C4UB_V2F 0x2A22 +#define GL_C4UB_V3F 0x2A23 +#define GL_C3F_V3F 0x2A24 +#define GL_N3F_V3F 0x2A25 +#define GL_C4F_N3F_V3F 0x2A26 +#define GL_T2F_V3F 0x2A27 +#define GL_T4F_V4F 0x2A28 +#define GL_T2F_C4UB_V3F 0x2A29 +#define GL_T2F_C3F_V3F 0x2A2A +#define GL_T2F_N3F_V3F 0x2A2B +#define GL_T2F_C4F_N3F_V3F 0x2A2C +#define GL_T4F_C4F_N3F_V4F 0x2A2D +#define GL_CLIP_PLANE0 0x3000 +#define GL_CLIP_PLANE1 0x3001 +#define GL_CLIP_PLANE2 0x3002 +#define GL_CLIP_PLANE3 0x3003 +#define GL_CLIP_PLANE4 0x3004 +#define GL_CLIP_PLANE5 0x3005 +#define GL_LIGHT0 0x4000 +#define GL_LIGHT1 0x4001 +#define GL_LIGHT2 0x4002 +#define GL_LIGHT3 0x4003 +#define GL_LIGHT4 0x4004 +#define GL_LIGHT5 0x4005 +#define GL_LIGHT6 0x4006 +#define GL_LIGHT7 0x4007 +#define GL_UNSIGNED_BYTE_3_3_2 0x8032 +#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 +#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 +#define GL_UNSIGNED_INT_8_8_8_8 0x8035 +#define GL_UNSIGNED_INT_10_10_10_2 0x8036 +#define GL_TEXTURE_BINDING_3D 0x806A +#define GL_PACK_SKIP_IMAGES 0x806B +#define GL_PACK_IMAGE_HEIGHT 0x806C +#define GL_UNPACK_SKIP_IMAGES 0x806D +#define GL_UNPACK_IMAGE_HEIGHT 0x806E +#define GL_TEXTURE_3D 0x806F +#define GL_PROXY_TEXTURE_3D 0x8070 +#define GL_TEXTURE_DEPTH 0x8071 +#define GL_TEXTURE_WRAP_R 0x8072 +#define GL_MAX_3D_TEXTURE_SIZE 0x8073 +#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362 +#define GL_UNSIGNED_SHORT_5_6_5 0x8363 +#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364 +#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365 +#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366 +#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367 +#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368 +#define GL_BGR 0x80E0 +#define GL_BGRA 0x80E1 +#define GL_MAX_ELEMENTS_VERTICES 0x80E8 +#define GL_MAX_ELEMENTS_INDICES 0x80E9 +#define GL_CLAMP_TO_EDGE 0x812F +#define GL_TEXTURE_MIN_LOD 0x813A +#define GL_TEXTURE_MAX_LOD 0x813B +#define GL_TEXTURE_BASE_LEVEL 0x813C +#define GL_TEXTURE_MAX_LEVEL 0x813D +#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12 +#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13 +#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22 +#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23 +#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E +#define GL_RESCALE_NORMAL 0x803A +#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8 +#define GL_SINGLE_COLOR 0x81F9 +#define GL_SEPARATE_SPECULAR_COLOR 0x81FA +#define GL_ALIASED_POINT_SIZE_RANGE 0x846D +#define GL_TEXTURE0 0x84C0 +#define GL_TEXTURE1 0x84C1 +#define GL_TEXTURE2 0x84C2 +#define GL_TEXTURE3 0x84C3 +#define GL_TEXTURE4 0x84C4 +#define GL_TEXTURE5 0x84C5 +#define GL_TEXTURE6 0x84C6 +#define GL_TEXTURE7 0x84C7 +#define GL_TEXTURE8 0x84C8 +#define GL_TEXTURE9 0x84C9 +#define GL_TEXTURE10 0x84CA +#define GL_TEXTURE11 0x84CB +#define GL_TEXTURE12 0x84CC +#define GL_TEXTURE13 0x84CD +#define GL_TEXTURE14 0x84CE +#define GL_TEXTURE15 0x84CF +#define GL_TEXTURE16 0x84D0 +#define GL_TEXTURE17 0x84D1 +#define GL_TEXTURE18 0x84D2 +#define GL_TEXTURE19 0x84D3 +#define GL_TEXTURE20 0x84D4 +#define GL_TEXTURE21 0x84D5 +#define GL_TEXTURE22 0x84D6 +#define GL_TEXTURE23 0x84D7 +#define GL_TEXTURE24 0x84D8 +#define GL_TEXTURE25 0x84D9 +#define GL_TEXTURE26 0x84DA +#define GL_TEXTURE27 0x84DB +#define GL_TEXTURE28 0x84DC +#define GL_TEXTURE29 0x84DD +#define GL_TEXTURE30 0x84DE +#define GL_TEXTURE31 0x84DF +#define GL_ACTIVE_TEXTURE 0x84E0 +#define GL_MULTISAMPLE 0x809D +#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E +#define GL_SAMPLE_ALPHA_TO_ONE 0x809F +#define GL_SAMPLE_COVERAGE 0x80A0 +#define GL_SAMPLE_BUFFERS 0x80A8 +#define GL_SAMPLES 0x80A9 +#define GL_SAMPLE_COVERAGE_VALUE 0x80AA +#define GL_SAMPLE_COVERAGE_INVERT 0x80AB +#define GL_TEXTURE_CUBE_MAP 0x8513 +#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A +#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B +#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C +#define GL_COMPRESSED_RGB 0x84ED +#define GL_COMPRESSED_RGBA 0x84EE +#define GL_TEXTURE_COMPRESSION_HINT 0x84EF +#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0 +#define GL_TEXTURE_COMPRESSED 0x86A1 +#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 +#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 +#define GL_CLAMP_TO_BORDER 0x812D +#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1 +#define GL_MAX_TEXTURE_UNITS 0x84E2 +#define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3 +#define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4 +#define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5 +#define GL_TRANSPOSE_COLOR_MATRIX 0x84E6 +#define GL_MULTISAMPLE_BIT 0x20000000 +#define GL_NORMAL_MAP 0x8511 +#define GL_REFLECTION_MAP 0x8512 +#define GL_COMPRESSED_ALPHA 0x84E9 +#define GL_COMPRESSED_LUMINANCE 0x84EA +#define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB +#define GL_COMPRESSED_INTENSITY 0x84EC +#define GL_COMBINE 0x8570 +#define GL_COMBINE_RGB 0x8571 +#define GL_COMBINE_ALPHA 0x8572 +#define GL_SOURCE0_RGB 0x8580 +#define GL_SOURCE1_RGB 0x8581 +#define GL_SOURCE2_RGB 0x8582 +#define GL_SOURCE0_ALPHA 0x8588 +#define GL_SOURCE1_ALPHA 0x8589 +#define GL_SOURCE2_ALPHA 0x858A +#define GL_OPERAND0_RGB 0x8590 +#define GL_OPERAND1_RGB 0x8591 +#define GL_OPERAND2_RGB 0x8592 +#define GL_OPERAND0_ALPHA 0x8598 +#define GL_OPERAND1_ALPHA 0x8599 +#define GL_OPERAND2_ALPHA 0x859A +#define GL_RGB_SCALE 0x8573 +#define GL_ADD_SIGNED 0x8574 +#define GL_INTERPOLATE 0x8575 +#define GL_SUBTRACT 0x84E7 +#define GL_CONSTANT 0x8576 +#define GL_PRIMARY_COLOR 0x8577 +#define GL_PREVIOUS 0x8578 +#define GL_DOT3_RGB 0x86AE +#define GL_DOT3_RGBA 0x86AF +#define GL_BLEND_DST_RGB 0x80C8 +#define GL_BLEND_SRC_RGB 0x80C9 +#define GL_BLEND_DST_ALPHA 0x80CA +#define GL_BLEND_SRC_ALPHA 0x80CB +#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128 +#define GL_DEPTH_COMPONENT16 0x81A5 +#define GL_DEPTH_COMPONENT24 0x81A6 +#define GL_DEPTH_COMPONENT32 0x81A7 +#define GL_MIRRORED_REPEAT 0x8370 +#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD +#define GL_TEXTURE_LOD_BIAS 0x8501 +#define GL_INCR_WRAP 0x8507 +#define GL_DECR_WRAP 0x8508 +#define GL_TEXTURE_DEPTH_SIZE 0x884A +#define GL_TEXTURE_COMPARE_MODE 0x884C +#define GL_TEXTURE_COMPARE_FUNC 0x884D +#define GL_POINT_SIZE_MIN 0x8126 +#define GL_POINT_SIZE_MAX 0x8127 +#define GL_POINT_DISTANCE_ATTENUATION 0x8129 +#define GL_GENERATE_MIPMAP 0x8191 +#define GL_GENERATE_MIPMAP_HINT 0x8192 +#define GL_FOG_COORDINATE_SOURCE 0x8450 +#define GL_FOG_COORDINATE 0x8451 +#define GL_FRAGMENT_DEPTH 0x8452 +#define GL_CURRENT_FOG_COORDINATE 0x8453 +#define GL_FOG_COORDINATE_ARRAY_TYPE 0x8454 +#define GL_FOG_COORDINATE_ARRAY_STRIDE 0x8455 +#define GL_FOG_COORDINATE_ARRAY_POINTER 0x8456 +#define GL_FOG_COORDINATE_ARRAY 0x8457 +#define GL_COLOR_SUM 0x8458 +#define GL_CURRENT_SECONDARY_COLOR 0x8459 +#define GL_SECONDARY_COLOR_ARRAY_SIZE 0x845A +#define GL_SECONDARY_COLOR_ARRAY_TYPE 0x845B +#define GL_SECONDARY_COLOR_ARRAY_STRIDE 0x845C +#define GL_SECONDARY_COLOR_ARRAY_POINTER 0x845D +#define GL_SECONDARY_COLOR_ARRAY 0x845E +#define GL_TEXTURE_FILTER_CONTROL 0x8500 +#define GL_DEPTH_TEXTURE_MODE 0x884B +#define GL_COMPARE_R_TO_TEXTURE 0x884E +#define GL_FUNC_ADD 0x8006 +#define GL_FUNC_SUBTRACT 0x800A +#define GL_FUNC_REVERSE_SUBTRACT 0x800B +#define GL_MIN 0x8007 +#define GL_MAX 0x8008 +#define GL_CONSTANT_COLOR 0x8001 +#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 +#define GL_CONSTANT_ALPHA 0x8003 +#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 +#define GL_BUFFER_SIZE 0x8764 +#define GL_BUFFER_USAGE 0x8765 +#define GL_QUERY_COUNTER_BITS 0x8864 +#define GL_CURRENT_QUERY 0x8865 +#define GL_QUERY_RESULT 0x8866 +#define GL_QUERY_RESULT_AVAILABLE 0x8867 +#define GL_ARRAY_BUFFER 0x8892 +#define GL_ELEMENT_ARRAY_BUFFER 0x8893 +#define GL_ARRAY_BUFFER_BINDING 0x8894 +#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895 +#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F +#define GL_READ_ONLY 0x88B8 +#define GL_WRITE_ONLY 0x88B9 +#define GL_READ_WRITE 0x88BA +#define GL_BUFFER_ACCESS 0x88BB +#define GL_BUFFER_MAPPED 0x88BC +#define GL_BUFFER_MAP_POINTER 0x88BD +#define GL_STREAM_DRAW 0x88E0 +#define GL_STREAM_READ 0x88E1 +#define GL_STREAM_COPY 0x88E2 +#define GL_STATIC_DRAW 0x88E4 +#define GL_STATIC_READ 0x88E5 +#define GL_STATIC_COPY 0x88E6 +#define GL_DYNAMIC_DRAW 0x88E8 +#define GL_DYNAMIC_READ 0x88E9 +#define GL_DYNAMIC_COPY 0x88EA +#define GL_SAMPLES_PASSED 0x8914 +#define GL_SRC1_ALPHA 0x8589 +#define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896 +#define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897 +#define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898 +#define GL_INDEX_ARRAY_BUFFER_BINDING 0x8899 +#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A +#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING 0x889B +#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING 0x889C +#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING 0x889D +#define GL_WEIGHT_ARRAY_BUFFER_BINDING 0x889E +#define GL_FOG_COORD_SRC 0x8450 +#define GL_FOG_COORD 0x8451 +#define GL_CURRENT_FOG_COORD 0x8453 +#define GL_FOG_COORD_ARRAY_TYPE 0x8454 +#define GL_FOG_COORD_ARRAY_STRIDE 0x8455 +#define GL_FOG_COORD_ARRAY_POINTER 0x8456 +#define GL_FOG_COORD_ARRAY 0x8457 +#define GL_FOG_COORD_ARRAY_BUFFER_BINDING 0x889D +#define GL_SRC0_RGB 0x8580 +#define GL_SRC1_RGB 0x8581 +#define GL_SRC2_RGB 0x8582 +#define GL_SRC0_ALPHA 0x8588 +#define GL_SRC2_ALPHA 0x858A +#define GL_BLEND_EQUATION_RGB 0x8009 +#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 +#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623 +#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624 +#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625 +#define GL_CURRENT_VERTEX_ATTRIB 0x8626 +#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642 +#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645 +#define GL_STENCIL_BACK_FUNC 0x8800 +#define GL_STENCIL_BACK_FAIL 0x8801 +#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802 +#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803 +#define GL_MAX_DRAW_BUFFERS 0x8824 +#define GL_DRAW_BUFFER0 0x8825 +#define GL_DRAW_BUFFER1 0x8826 +#define GL_DRAW_BUFFER2 0x8827 +#define GL_DRAW_BUFFER3 0x8828 +#define GL_DRAW_BUFFER4 0x8829 +#define GL_DRAW_BUFFER5 0x882A +#define GL_DRAW_BUFFER6 0x882B +#define GL_DRAW_BUFFER7 0x882C +#define GL_DRAW_BUFFER8 0x882D +#define GL_DRAW_BUFFER9 0x882E +#define GL_DRAW_BUFFER10 0x882F +#define GL_DRAW_BUFFER11 0x8830 +#define GL_DRAW_BUFFER12 0x8831 +#define GL_DRAW_BUFFER13 0x8832 +#define GL_DRAW_BUFFER14 0x8833 +#define GL_DRAW_BUFFER15 0x8834 +#define GL_BLEND_EQUATION_ALPHA 0x883D +#define GL_MAX_VERTEX_ATTRIBS 0x8869 +#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A +#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872 +#define GL_FRAGMENT_SHADER 0x8B30 +#define GL_VERTEX_SHADER 0x8B31 +#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49 +#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A +#define GL_MAX_VARYING_FLOATS 0x8B4B +#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C +#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D +#define GL_SHADER_TYPE 0x8B4F +#define GL_FLOAT_VEC2 0x8B50 +#define GL_FLOAT_VEC3 0x8B51 +#define GL_FLOAT_VEC4 0x8B52 +#define GL_INT_VEC2 0x8B53 +#define GL_INT_VEC3 0x8B54 +#define GL_INT_VEC4 0x8B55 +#define GL_BOOL 0x8B56 +#define GL_BOOL_VEC2 0x8B57 +#define GL_BOOL_VEC3 0x8B58 +#define GL_BOOL_VEC4 0x8B59 +#define GL_FLOAT_MAT2 0x8B5A +#define GL_FLOAT_MAT3 0x8B5B +#define GL_FLOAT_MAT4 0x8B5C +#define GL_SAMPLER_1D 0x8B5D +#define GL_SAMPLER_2D 0x8B5E +#define GL_SAMPLER_3D 0x8B5F +#define GL_SAMPLER_CUBE 0x8B60 +#define GL_SAMPLER_1D_SHADOW 0x8B61 +#define GL_SAMPLER_2D_SHADOW 0x8B62 +#define GL_DELETE_STATUS 0x8B80 +#define GL_COMPILE_STATUS 0x8B81 +#define GL_LINK_STATUS 0x8B82 +#define GL_VALIDATE_STATUS 0x8B83 +#define GL_INFO_LOG_LENGTH 0x8B84 +#define GL_ATTACHED_SHADERS 0x8B85 +#define GL_ACTIVE_UNIFORMS 0x8B86 +#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 +#define GL_SHADER_SOURCE_LENGTH 0x8B88 +#define GL_ACTIVE_ATTRIBUTES 0x8B89 +#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A +#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B +#define GL_SHADING_LANGUAGE_VERSION 0x8B8C +#define GL_CURRENT_PROGRAM 0x8B8D +#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0 +#define GL_LOWER_LEFT 0x8CA1 +#define GL_UPPER_LEFT 0x8CA2 +#define GL_STENCIL_BACK_REF 0x8CA3 +#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4 +#define GL_STENCIL_BACK_WRITEMASK 0x8CA5 +#define GL_VERTEX_PROGRAM_TWO_SIDE 0x8643 +#define GL_POINT_SPRITE 0x8861 +#define GL_COORD_REPLACE 0x8862 +#define GL_MAX_TEXTURE_COORDS 0x8871 +#define GL_PIXEL_PACK_BUFFER 0x88EB +#define GL_PIXEL_UNPACK_BUFFER 0x88EC +#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED +#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF +#define GL_FLOAT_MAT2x3 0x8B65 +#define GL_FLOAT_MAT2x4 0x8B66 +#define GL_FLOAT_MAT3x2 0x8B67 +#define GL_FLOAT_MAT3x4 0x8B68 +#define GL_FLOAT_MAT4x2 0x8B69 +#define GL_FLOAT_MAT4x3 0x8B6A +#define GL_SRGB 0x8C40 +#define GL_SRGB8 0x8C41 +#define GL_SRGB_ALPHA 0x8C42 +#define GL_SRGB8_ALPHA8 0x8C43 +#define GL_COMPRESSED_SRGB 0x8C48 +#define GL_COMPRESSED_SRGB_ALPHA 0x8C49 +#define GL_CURRENT_RASTER_SECONDARY_COLOR 0x845F +#define GL_SLUMINANCE_ALPHA 0x8C44 +#define GL_SLUMINANCE8_ALPHA8 0x8C45 +#define GL_SLUMINANCE 0x8C46 +#define GL_SLUMINANCE8 0x8C47 +#define GL_COMPRESSED_SLUMINANCE 0x8C4A +#define GL_COMPRESSED_SLUMINANCE_ALPHA 0x8C4B +#define GL_COMPARE_REF_TO_TEXTURE 0x884E +#define GL_CLIP_DISTANCE0 0x3000 +#define GL_CLIP_DISTANCE1 0x3001 +#define GL_CLIP_DISTANCE2 0x3002 +#define GL_CLIP_DISTANCE3 0x3003 +#define GL_CLIP_DISTANCE4 0x3004 +#define GL_CLIP_DISTANCE5 0x3005 +#define GL_CLIP_DISTANCE6 0x3006 +#define GL_CLIP_DISTANCE7 0x3007 +#define GL_MAX_CLIP_DISTANCES 0x0D32 +#define GL_MAJOR_VERSION 0x821B +#define GL_MINOR_VERSION 0x821C +#define GL_NUM_EXTENSIONS 0x821D +#define GL_CONTEXT_FLAGS 0x821E +#define GL_COMPRESSED_RED 0x8225 +#define GL_COMPRESSED_RG 0x8226 +#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x00000001 +#define GL_RGBA32F 0x8814 +#define GL_RGB32F 0x8815 +#define GL_RGBA16F 0x881A +#define GL_RGB16F 0x881B +#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD +#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF +#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904 +#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905 +#define GL_CLAMP_READ_COLOR 0x891C +#define GL_FIXED_ONLY 0x891D +#define GL_MAX_VARYING_COMPONENTS 0x8B4B +#define GL_TEXTURE_1D_ARRAY 0x8C18 +#define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19 +#define GL_TEXTURE_2D_ARRAY 0x8C1A +#define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B +#define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C +#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D +#define GL_R11F_G11F_B10F 0x8C3A +#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B +#define GL_RGB9_E5 0x8C3D +#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E +#define GL_TEXTURE_SHARED_SIZE 0x8C3F +#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76 +#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80 +#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83 +#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84 +#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85 +#define GL_PRIMITIVES_GENERATED 0x8C87 +#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88 +#define GL_RASTERIZER_DISCARD 0x8C89 +#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B +#define GL_INTERLEAVED_ATTRIBS 0x8C8C +#define GL_SEPARATE_ATTRIBS 0x8C8D +#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E +#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F +#define GL_RGBA32UI 0x8D70 +#define GL_RGB32UI 0x8D71 +#define GL_RGBA16UI 0x8D76 +#define GL_RGB16UI 0x8D77 +#define GL_RGBA8UI 0x8D7C +#define GL_RGB8UI 0x8D7D +#define GL_RGBA32I 0x8D82 +#define GL_RGB32I 0x8D83 +#define GL_RGBA16I 0x8D88 +#define GL_RGB16I 0x8D89 +#define GL_RGBA8I 0x8D8E +#define GL_RGB8I 0x8D8F +#define GL_RED_INTEGER 0x8D94 +#define GL_GREEN_INTEGER 0x8D95 +#define GL_BLUE_INTEGER 0x8D96 +#define GL_RGB_INTEGER 0x8D98 +#define GL_RGBA_INTEGER 0x8D99 +#define GL_BGR_INTEGER 0x8D9A +#define GL_BGRA_INTEGER 0x8D9B +#define GL_SAMPLER_1D_ARRAY 0x8DC0 +#define GL_SAMPLER_2D_ARRAY 0x8DC1 +#define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3 +#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4 +#define GL_SAMPLER_CUBE_SHADOW 0x8DC5 +#define GL_UNSIGNED_INT_VEC2 0x8DC6 +#define GL_UNSIGNED_INT_VEC3 0x8DC7 +#define GL_UNSIGNED_INT_VEC4 0x8DC8 +#define GL_INT_SAMPLER_1D 0x8DC9 +#define GL_INT_SAMPLER_2D 0x8DCA +#define GL_INT_SAMPLER_3D 0x8DCB +#define GL_INT_SAMPLER_CUBE 0x8DCC +#define GL_INT_SAMPLER_1D_ARRAY 0x8DCE +#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF +#define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1 +#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2 +#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3 +#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4 +#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6 +#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7 +#define GL_QUERY_WAIT 0x8E13 +#define GL_QUERY_NO_WAIT 0x8E14 +#define GL_QUERY_BY_REGION_WAIT 0x8E15 +#define GL_QUERY_BY_REGION_NO_WAIT 0x8E16 +#define GL_BUFFER_ACCESS_FLAGS 0x911F +#define GL_BUFFER_MAP_LENGTH 0x9120 +#define GL_BUFFER_MAP_OFFSET 0x9121 +#define GL_DEPTH_COMPONENT32F 0x8CAC +#define GL_DEPTH32F_STENCIL8 0x8CAD +#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD +#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506 +#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210 +#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211 +#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212 +#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213 +#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214 +#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215 +#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216 +#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217 +#define GL_FRAMEBUFFER_DEFAULT 0x8218 +#define GL_FRAMEBUFFER_UNDEFINED 0x8219 +#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A +#define GL_MAX_RENDERBUFFER_SIZE 0x84E8 +#define GL_DEPTH_STENCIL 0x84F9 +#define GL_UNSIGNED_INT_24_8 0x84FA +#define GL_DEPTH24_STENCIL8 0x88F0 +#define GL_TEXTURE_STENCIL_SIZE 0x88F1 +#define GL_TEXTURE_RED_TYPE 0x8C10 +#define GL_TEXTURE_GREEN_TYPE 0x8C11 +#define GL_TEXTURE_BLUE_TYPE 0x8C12 +#define GL_TEXTURE_ALPHA_TYPE 0x8C13 +#define GL_TEXTURE_DEPTH_TYPE 0x8C16 +#define GL_UNSIGNED_NORMALIZED 0x8C17 +#define GL_FRAMEBUFFER_BINDING 0x8CA6 +#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6 +#define GL_RENDERBUFFER_BINDING 0x8CA7 +#define GL_READ_FRAMEBUFFER 0x8CA8 +#define GL_DRAW_FRAMEBUFFER 0x8CA9 +#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA +#define GL_RENDERBUFFER_SAMPLES 0x8CAB +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4 +#define GL_FRAMEBUFFER_COMPLETE 0x8CD5 +#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6 +#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7 +#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB +#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC +#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD +#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF +#define GL_COLOR_ATTACHMENT0 0x8CE0 +#define GL_COLOR_ATTACHMENT1 0x8CE1 +#define GL_COLOR_ATTACHMENT2 0x8CE2 +#define GL_COLOR_ATTACHMENT3 0x8CE3 +#define GL_COLOR_ATTACHMENT4 0x8CE4 +#define GL_COLOR_ATTACHMENT5 0x8CE5 +#define GL_COLOR_ATTACHMENT6 0x8CE6 +#define GL_COLOR_ATTACHMENT7 0x8CE7 +#define GL_COLOR_ATTACHMENT8 0x8CE8 +#define GL_COLOR_ATTACHMENT9 0x8CE9 +#define GL_COLOR_ATTACHMENT10 0x8CEA +#define GL_COLOR_ATTACHMENT11 0x8CEB +#define GL_COLOR_ATTACHMENT12 0x8CEC +#define GL_COLOR_ATTACHMENT13 0x8CED +#define GL_COLOR_ATTACHMENT14 0x8CEE +#define GL_COLOR_ATTACHMENT15 0x8CEF +#define GL_COLOR_ATTACHMENT16 0x8CF0 +#define GL_COLOR_ATTACHMENT17 0x8CF1 +#define GL_COLOR_ATTACHMENT18 0x8CF2 +#define GL_COLOR_ATTACHMENT19 0x8CF3 +#define GL_COLOR_ATTACHMENT20 0x8CF4 +#define GL_COLOR_ATTACHMENT21 0x8CF5 +#define GL_COLOR_ATTACHMENT22 0x8CF6 +#define GL_COLOR_ATTACHMENT23 0x8CF7 +#define GL_COLOR_ATTACHMENT24 0x8CF8 +#define GL_COLOR_ATTACHMENT25 0x8CF9 +#define GL_COLOR_ATTACHMENT26 0x8CFA +#define GL_COLOR_ATTACHMENT27 0x8CFB +#define GL_COLOR_ATTACHMENT28 0x8CFC +#define GL_COLOR_ATTACHMENT29 0x8CFD +#define GL_COLOR_ATTACHMENT30 0x8CFE +#define GL_COLOR_ATTACHMENT31 0x8CFF +#define GL_DEPTH_ATTACHMENT 0x8D00 +#define GL_STENCIL_ATTACHMENT 0x8D20 +#define GL_FRAMEBUFFER 0x8D40 +#define GL_RENDERBUFFER 0x8D41 +#define GL_RENDERBUFFER_WIDTH 0x8D42 +#define GL_RENDERBUFFER_HEIGHT 0x8D43 +#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44 +#define GL_STENCIL_INDEX1 0x8D46 +#define GL_STENCIL_INDEX4 0x8D47 +#define GL_STENCIL_INDEX8 0x8D48 +#define GL_STENCIL_INDEX16 0x8D49 +#define GL_RENDERBUFFER_RED_SIZE 0x8D50 +#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51 +#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52 +#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53 +#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54 +#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55 +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56 +#define GL_MAX_SAMPLES 0x8D57 +#define GL_INDEX 0x8222 +#define GL_TEXTURE_LUMINANCE_TYPE 0x8C14 +#define GL_TEXTURE_INTENSITY_TYPE 0x8C15 +#define GL_FRAMEBUFFER_SRGB 0x8DB9 +#define GL_HALF_FLOAT 0x140B +#define GL_MAP_READ_BIT 0x0001 +#define GL_MAP_WRITE_BIT 0x0002 +#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004 +#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008 +#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010 +#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020 +#define GL_COMPRESSED_RED_RGTC1 0x8DBB +#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC +#define GL_COMPRESSED_RG_RGTC2 0x8DBD +#define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE +#define GL_RG 0x8227 +#define GL_RG_INTEGER 0x8228 +#define GL_R8 0x8229 +#define GL_R16 0x822A +#define GL_RG8 0x822B +#define GL_RG16 0x822C +#define GL_R16F 0x822D +#define GL_R32F 0x822E +#define GL_RG16F 0x822F +#define GL_RG32F 0x8230 +#define GL_R8I 0x8231 +#define GL_R8UI 0x8232 +#define GL_R16I 0x8233 +#define GL_R16UI 0x8234 +#define GL_R32I 0x8235 +#define GL_R32UI 0x8236 +#define GL_RG8I 0x8237 +#define GL_RG8UI 0x8238 +#define GL_RG16I 0x8239 +#define GL_RG16UI 0x823A +#define GL_RG32I 0x823B +#define GL_RG32UI 0x823C +#define GL_VERTEX_ARRAY_BINDING 0x85B5 +#define GL_CLAMP_VERTEX_COLOR 0x891A +#define GL_CLAMP_FRAGMENT_COLOR 0x891B +#define GL_ALPHA_INTEGER 0x8D97 +#define GL_SAMPLER_2D_RECT 0x8B63 +#define GL_SAMPLER_2D_RECT_SHADOW 0x8B64 +#define GL_SAMPLER_BUFFER 0x8DC2 +#define GL_INT_SAMPLER_2D_RECT 0x8DCD +#define GL_INT_SAMPLER_BUFFER 0x8DD0 +#define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5 +#define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8 +#define GL_TEXTURE_BUFFER 0x8C2A +#define GL_MAX_TEXTURE_BUFFER_SIZE 0x8C2B +#define GL_TEXTURE_BINDING_BUFFER 0x8C2C +#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D +#define GL_TEXTURE_RECTANGLE 0x84F5 +#define GL_TEXTURE_BINDING_RECTANGLE 0x84F6 +#define GL_PROXY_TEXTURE_RECTANGLE 0x84F7 +#define GL_MAX_RECTANGLE_TEXTURE_SIZE 0x84F8 +#define GL_R8_SNORM 0x8F94 +#define GL_RG8_SNORM 0x8F95 +#define GL_RGB8_SNORM 0x8F96 +#define GL_RGBA8_SNORM 0x8F97 +#define GL_R16_SNORM 0x8F98 +#define GL_RG16_SNORM 0x8F99 +#define GL_RGB16_SNORM 0x8F9A +#define GL_RGBA16_SNORM 0x8F9B +#define GL_SIGNED_NORMALIZED 0x8F9C +#define GL_PRIMITIVE_RESTART 0x8F9D +#define GL_PRIMITIVE_RESTART_INDEX 0x8F9E +#define GL_COPY_READ_BUFFER 0x8F36 +#define GL_COPY_WRITE_BUFFER 0x8F37 +#define GL_UNIFORM_BUFFER 0x8A11 +#define GL_UNIFORM_BUFFER_BINDING 0x8A28 +#define GL_UNIFORM_BUFFER_START 0x8A29 +#define GL_UNIFORM_BUFFER_SIZE 0x8A2A +#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B +#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C +#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D +#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E +#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F +#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30 +#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31 +#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32 +#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33 +#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34 +#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35 +#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36 +#define GL_UNIFORM_TYPE 0x8A37 +#define GL_UNIFORM_SIZE 0x8A38 +#define GL_UNIFORM_NAME_LENGTH 0x8A39 +#define GL_UNIFORM_BLOCK_INDEX 0x8A3A +#define GL_UNIFORM_OFFSET 0x8A3B +#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C +#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D +#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E +#define GL_UNIFORM_BLOCK_BINDING 0x8A3F +#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40 +#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41 +#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42 +#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46 +#define GL_INVALID_INDEX 0xFFFFFFFF +#define GL_CONTEXT_CORE_PROFILE_BIT 0x00000001 +#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002 +#define GL_LINES_ADJACENCY 0x000A +#define GL_LINE_STRIP_ADJACENCY 0x000B +#define GL_TRIANGLES_ADJACENCY 0x000C +#define GL_TRIANGLE_STRIP_ADJACENCY 0x000D +#define GL_PROGRAM_POINT_SIZE 0x8642 +#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29 +#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8 +#define GL_GEOMETRY_SHADER 0x8DD9 +#define GL_GEOMETRY_VERTICES_OUT 0x8916 +#define GL_GEOMETRY_INPUT_TYPE 0x8917 +#define GL_GEOMETRY_OUTPUT_TYPE 0x8918 +#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF +#define GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0 +#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1 +#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122 +#define GL_MAX_GEOMETRY_INPUT_COMPONENTS 0x9123 +#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124 +#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125 +#define GL_CONTEXT_PROFILE_MASK 0x9126 +#define GL_DEPTH_CLAMP 0x864F +#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C +#define GL_FIRST_VERTEX_CONVENTION 0x8E4D +#define GL_LAST_VERTEX_CONVENTION 0x8E4E +#define GL_PROVOKING_VERTEX 0x8E4F +#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F +#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111 +#define GL_OBJECT_TYPE 0x9112 +#define GL_SYNC_CONDITION 0x9113 +#define GL_SYNC_STATUS 0x9114 +#define GL_SYNC_FLAGS 0x9115 +#define GL_SYNC_FENCE 0x9116 +#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117 +#define GL_UNSIGNALED 0x9118 +#define GL_SIGNALED 0x9119 +#define GL_ALREADY_SIGNALED 0x911A +#define GL_TIMEOUT_EXPIRED 0x911B +#define GL_CONDITION_SATISFIED 0x911C +#define GL_WAIT_FAILED 0x911D +#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFF +#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001 +#define GL_SAMPLE_POSITION 0x8E50 +#define GL_SAMPLE_MASK 0x8E51 +#define GL_SAMPLE_MASK_VALUE 0x8E52 +#define GL_MAX_SAMPLE_MASK_WORDS 0x8E59 +#define GL_TEXTURE_2D_MULTISAMPLE 0x9100 +#define GL_PROXY_TEXTURE_2D_MULTISAMPLE 0x9101 +#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102 +#define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103 +#define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104 +#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105 +#define GL_TEXTURE_SAMPLES 0x9106 +#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107 +#define GL_SAMPLER_2D_MULTISAMPLE 0x9108 +#define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109 +#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A +#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B +#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C +#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D +#define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E +#define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F +#define GL_MAX_INTEGER_SAMPLES 0x9110 +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE +#define GL_SRC1_COLOR 0x88F9 +#define GL_ONE_MINUS_SRC1_COLOR 0x88FA +#define GL_ONE_MINUS_SRC1_ALPHA 0x88FB +#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS 0x88FC +#define GL_ANY_SAMPLES_PASSED 0x8C2F +#define GL_SAMPLER_BINDING 0x8919 +#define GL_RGB10_A2UI 0x906F +#define GL_TEXTURE_SWIZZLE_R 0x8E42 +#define GL_TEXTURE_SWIZZLE_G 0x8E43 +#define GL_TEXTURE_SWIZZLE_B 0x8E44 +#define GL_TEXTURE_SWIZZLE_A 0x8E45 +#define GL_TEXTURE_SWIZZLE_RGBA 0x8E46 +#define GL_TIME_ELAPSED 0x88BF +#define GL_TIMESTAMP 0x8E28 +#define GL_INT_2_10_10_10_REV 0x8D9F +#ifndef GL_VERSION_1_0 +#define GL_VERSION_1_0 1 +GLAPI int GLAD_GL_VERSION_1_0; +typedef void (APIENTRYP PFNGLCULLFACEPROC)(GLenum mode); +GLAPI PFNGLCULLFACEPROC glad_glCullFace; +#define glCullFace glad_glCullFace +typedef void (APIENTRYP PFNGLFRONTFACEPROC)(GLenum mode); +GLAPI PFNGLFRONTFACEPROC glad_glFrontFace; +#define glFrontFace glad_glFrontFace +typedef void (APIENTRYP PFNGLHINTPROC)(GLenum target, GLenum mode); +GLAPI PFNGLHINTPROC glad_glHint; +#define glHint glad_glHint +typedef void (APIENTRYP PFNGLLINEWIDTHPROC)(GLfloat width); +GLAPI PFNGLLINEWIDTHPROC glad_glLineWidth; +#define glLineWidth glad_glLineWidth +typedef void (APIENTRYP PFNGLPOINTSIZEPROC)(GLfloat size); +GLAPI PFNGLPOINTSIZEPROC glad_glPointSize; +#define glPointSize glad_glPointSize +typedef void (APIENTRYP PFNGLPOLYGONMODEPROC)(GLenum face, GLenum mode); +GLAPI PFNGLPOLYGONMODEPROC glad_glPolygonMode; +#define glPolygonMode glad_glPolygonMode +typedef void (APIENTRYP PFNGLSCISSORPROC)(GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI PFNGLSCISSORPROC glad_glScissor; +#define glScissor glad_glScissor +typedef void (APIENTRYP PFNGLTEXPARAMETERFPROC)(GLenum target, GLenum pname, GLfloat param); +GLAPI PFNGLTEXPARAMETERFPROC glad_glTexParameterf; +#define glTexParameterf glad_glTexParameterf +typedef void (APIENTRYP PFNGLTEXPARAMETERFVPROC)(GLenum target, GLenum pname, const GLfloat *params); +GLAPI PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv; +#define glTexParameterfv glad_glTexParameterfv +typedef void (APIENTRYP PFNGLTEXPARAMETERIPROC)(GLenum target, GLenum pname, GLint param); +GLAPI PFNGLTEXPARAMETERIPROC glad_glTexParameteri; +#define glTexParameteri glad_glTexParameteri +typedef void (APIENTRYP PFNGLTEXPARAMETERIVPROC)(GLenum target, GLenum pname, const GLint *params); +GLAPI PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv; +#define glTexParameteriv glad_glTexParameteriv +typedef void (APIENTRYP PFNGLTEXIMAGE1DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, + GLenum type, const void *pixels); +GLAPI PFNGLTEXIMAGE1DPROC glad_glTexImage1D; +#define glTexImage1D glad_glTexImage1D +typedef void (APIENTRYP PFNGLTEXIMAGE2DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, + GLenum format, GLenum type, const void *pixels); +GLAPI PFNGLTEXIMAGE2DPROC glad_glTexImage2D; +#define glTexImage2D glad_glTexImage2D +typedef void (APIENTRYP PFNGLDRAWBUFFERPROC)(GLenum buf); +GLAPI PFNGLDRAWBUFFERPROC glad_glDrawBuffer; +#define glDrawBuffer glad_glDrawBuffer +typedef void (APIENTRYP PFNGLCLEARPROC)(GLbitfield mask); +GLAPI PFNGLCLEARPROC glad_glClear; +#define glClear glad_glClear +typedef void (APIENTRYP PFNGLCLEARCOLORPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); +GLAPI PFNGLCLEARCOLORPROC glad_glClearColor; +#define glClearColor glad_glClearColor +typedef void (APIENTRYP PFNGLCLEARSTENCILPROC)(GLint s); +GLAPI PFNGLCLEARSTENCILPROC glad_glClearStencil; +#define glClearStencil glad_glClearStencil +typedef void (APIENTRYP PFNGLCLEARDEPTHPROC)(GLdouble depth); +GLAPI PFNGLCLEARDEPTHPROC glad_glClearDepth; +#define glClearDepth glad_glClearDepth +typedef void (APIENTRYP PFNGLSTENCILMASKPROC)(GLuint mask); +GLAPI PFNGLSTENCILMASKPROC glad_glStencilMask; +#define glStencilMask glad_glStencilMask +typedef void (APIENTRYP PFNGLCOLORMASKPROC)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); +GLAPI PFNGLCOLORMASKPROC glad_glColorMask; +#define glColorMask glad_glColorMask +typedef void (APIENTRYP PFNGLDEPTHMASKPROC)(GLboolean flag); +GLAPI PFNGLDEPTHMASKPROC glad_glDepthMask; +#define glDepthMask glad_glDepthMask +typedef void (APIENTRYP PFNGLDISABLEPROC)(GLenum cap); +GLAPI PFNGLDISABLEPROC glad_glDisable; +#define glDisable glad_glDisable +typedef void (APIENTRYP PFNGLENABLEPROC)(GLenum cap); +GLAPI PFNGLENABLEPROC glad_glEnable; +#define glEnable glad_glEnable +typedef void (APIENTRYP PFNGLFINISHPROC)(); +GLAPI PFNGLFINISHPROC glad_glFinish; +#define glFinish glad_glFinish +typedef void (APIENTRYP PFNGLFLUSHPROC)(); +GLAPI PFNGLFLUSHPROC glad_glFlush; +#define glFlush glad_glFlush +typedef void (APIENTRYP PFNGLBLENDFUNCPROC)(GLenum sfactor, GLenum dfactor); +GLAPI PFNGLBLENDFUNCPROC glad_glBlendFunc; +#define glBlendFunc glad_glBlendFunc +typedef void (APIENTRYP PFNGLLOGICOPPROC)(GLenum opcode); +GLAPI PFNGLLOGICOPPROC glad_glLogicOp; +#define glLogicOp glad_glLogicOp +typedef void (APIENTRYP PFNGLSTENCILFUNCPROC)(GLenum func, GLint ref, GLuint mask); +GLAPI PFNGLSTENCILFUNCPROC glad_glStencilFunc; +#define glStencilFunc glad_glStencilFunc +typedef void (APIENTRYP PFNGLSTENCILOPPROC)(GLenum fail, GLenum zfail, GLenum zpass); +GLAPI PFNGLSTENCILOPPROC glad_glStencilOp; +#define glStencilOp glad_glStencilOp +typedef void (APIENTRYP PFNGLDEPTHFUNCPROC)(GLenum func); +GLAPI PFNGLDEPTHFUNCPROC glad_glDepthFunc; +#define glDepthFunc glad_glDepthFunc +typedef void (APIENTRYP PFNGLPIXELSTOREFPROC)(GLenum pname, GLfloat param); +GLAPI PFNGLPIXELSTOREFPROC glad_glPixelStoref; +#define glPixelStoref glad_glPixelStoref +typedef void (APIENTRYP PFNGLPIXELSTOREIPROC)(GLenum pname, GLint param); +GLAPI PFNGLPIXELSTOREIPROC glad_glPixelStorei; +#define glPixelStorei glad_glPixelStorei +typedef void (APIENTRYP PFNGLREADBUFFERPROC)(GLenum src); +GLAPI PFNGLREADBUFFERPROC glad_glReadBuffer; +#define glReadBuffer glad_glReadBuffer +typedef void (APIENTRYP PFNGLREADPIXELSPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels); +GLAPI PFNGLREADPIXELSPROC glad_glReadPixels; +#define glReadPixels glad_glReadPixels +typedef void (APIENTRYP PFNGLGETBOOLEANVPROC)(GLenum pname, GLboolean *data); +GLAPI PFNGLGETBOOLEANVPROC glad_glGetBooleanv; +#define glGetBooleanv glad_glGetBooleanv +typedef void (APIENTRYP PFNGLGETDOUBLEVPROC)(GLenum pname, GLdouble *data); +GLAPI PFNGLGETDOUBLEVPROC glad_glGetDoublev; +#define glGetDoublev glad_glGetDoublev +typedef GLenum(APIENTRYP PFNGLGETERRORPROC)(); +GLAPI PFNGLGETERRORPROC glad_glGetError; +#define glGetError glad_glGetError +typedef void (APIENTRYP PFNGLGETFLOATVPROC)(GLenum pname, GLfloat *data); +GLAPI PFNGLGETFLOATVPROC glad_glGetFloatv; +#define glGetFloatv glad_glGetFloatv +typedef void (APIENTRYP PFNGLGETINTEGERVPROC)(GLenum pname, GLint *data); +GLAPI PFNGLGETINTEGERVPROC glad_glGetIntegerv; +#define glGetIntegerv glad_glGetIntegerv +typedef const GLubyte *(APIENTRYP PFNGLGETSTRINGPROC)(GLenum name); +GLAPI PFNGLGETSTRINGPROC glad_glGetString; +#define glGetString glad_glGetString +typedef void (APIENTRYP PFNGLGETTEXIMAGEPROC)(GLenum target, GLint level, GLenum format, GLenum type, void *pixels); +GLAPI PFNGLGETTEXIMAGEPROC glad_glGetTexImage; +#define glGetTexImage glad_glGetTexImage +typedef void (APIENTRYP PFNGLGETTEXPARAMETERFVPROC)(GLenum target, GLenum pname, GLfloat *params); +GLAPI PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv; +#define glGetTexParameterfv glad_glGetTexParameterfv +typedef void (APIENTRYP PFNGLGETTEXPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params); +GLAPI PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv; +#define glGetTexParameteriv glad_glGetTexParameteriv +typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERFVPROC)(GLenum target, GLint level, GLenum pname, GLfloat *params); +GLAPI PFNGLGETTEXLEVELPARAMETERFVPROC glad_glGetTexLevelParameterfv; +#define glGetTexLevelParameterfv glad_glGetTexLevelParameterfv +typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERIVPROC)(GLenum target, GLint level, GLenum pname, GLint *params); +GLAPI PFNGLGETTEXLEVELPARAMETERIVPROC glad_glGetTexLevelParameteriv; +#define glGetTexLevelParameteriv glad_glGetTexLevelParameteriv +typedef GLboolean(APIENTRYP PFNGLISENABLEDPROC)(GLenum cap); +GLAPI PFNGLISENABLEDPROC glad_glIsEnabled; +#define glIsEnabled glad_glIsEnabled +typedef void (APIENTRYP PFNGLDEPTHRANGEPROC)(GLdouble near, GLdouble far); +GLAPI PFNGLDEPTHRANGEPROC glad_glDepthRange; +#define glDepthRange glad_glDepthRange +typedef void (APIENTRYP PFNGLVIEWPORTPROC)(GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI PFNGLVIEWPORTPROC glad_glViewport; +#define glViewport glad_glViewport +typedef void (APIENTRYP PFNGLNEWLISTPROC)(GLuint list, GLenum mode); +GLAPI PFNGLNEWLISTPROC glad_glNewList; +#define glNewList glad_glNewList +typedef void (APIENTRYP PFNGLENDLISTPROC)(); +GLAPI PFNGLENDLISTPROC glad_glEndList; +#define glEndList glad_glEndList +typedef void (APIENTRYP PFNGLCALLLISTPROC)(GLuint list); +GLAPI PFNGLCALLLISTPROC glad_glCallList; +#define glCallList glad_glCallList +typedef void (APIENTRYP PFNGLCALLLISTSPROC)(GLsizei n, GLenum type, const void *lists); +GLAPI PFNGLCALLLISTSPROC glad_glCallLists; +#define glCallLists glad_glCallLists +typedef void (APIENTRYP PFNGLDELETELISTSPROC)(GLuint list, GLsizei range); +GLAPI PFNGLDELETELISTSPROC glad_glDeleteLists; +#define glDeleteLists glad_glDeleteLists +typedef GLuint(APIENTRYP PFNGLGENLISTSPROC)(GLsizei range); +GLAPI PFNGLGENLISTSPROC glad_glGenLists; +#define glGenLists glad_glGenLists +typedef void (APIENTRYP PFNGLLISTBASEPROC)(GLuint base); +GLAPI PFNGLLISTBASEPROC glad_glListBase; +#define glListBase glad_glListBase +typedef void (APIENTRYP PFNGLBEGINPROC)(GLenum mode); +GLAPI PFNGLBEGINPROC glad_glBegin; +#define glBegin glad_glBegin +typedef void (APIENTRYP PFNGLBITMAPPROC)(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, + const GLubyte *bitmap); +GLAPI PFNGLBITMAPPROC glad_glBitmap; +#define glBitmap glad_glBitmap +typedef void (APIENTRYP PFNGLCOLOR3BPROC)(GLbyte red, GLbyte green, GLbyte blue); +GLAPI PFNGLCOLOR3BPROC glad_glColor3b; +#define glColor3b glad_glColor3b +typedef void (APIENTRYP PFNGLCOLOR3BVPROC)(const GLbyte *v); +GLAPI PFNGLCOLOR3BVPROC glad_glColor3bv; +#define glColor3bv glad_glColor3bv +typedef void (APIENTRYP PFNGLCOLOR3DPROC)(GLdouble red, GLdouble green, GLdouble blue); +GLAPI PFNGLCOLOR3DPROC glad_glColor3d; +#define glColor3d glad_glColor3d +typedef void (APIENTRYP PFNGLCOLOR3DVPROC)(const GLdouble *v); +GLAPI PFNGLCOLOR3DVPROC glad_glColor3dv; +#define glColor3dv glad_glColor3dv +typedef void (APIENTRYP PFNGLCOLOR3FPROC)(GLfloat red, GLfloat green, GLfloat blue); +GLAPI PFNGLCOLOR3FPROC glad_glColor3f; +#define glColor3f glad_glColor3f +typedef void (APIENTRYP PFNGLCOLOR3FVPROC)(const GLfloat *v); +GLAPI PFNGLCOLOR3FVPROC glad_glColor3fv; +#define glColor3fv glad_glColor3fv +typedef void (APIENTRYP PFNGLCOLOR3IPROC)(GLint red, GLint green, GLint blue); +GLAPI PFNGLCOLOR3IPROC glad_glColor3i; +#define glColor3i glad_glColor3i +typedef void (APIENTRYP PFNGLCOLOR3IVPROC)(const GLint *v); +GLAPI PFNGLCOLOR3IVPROC glad_glColor3iv; +#define glColor3iv glad_glColor3iv +typedef void (APIENTRYP PFNGLCOLOR3SPROC)(GLshort red, GLshort green, GLshort blue); +GLAPI PFNGLCOLOR3SPROC glad_glColor3s; +#define glColor3s glad_glColor3s +typedef void (APIENTRYP PFNGLCOLOR3SVPROC)(const GLshort *v); +GLAPI PFNGLCOLOR3SVPROC glad_glColor3sv; +#define glColor3sv glad_glColor3sv +typedef void (APIENTRYP PFNGLCOLOR3UBPROC)(GLubyte red, GLubyte green, GLubyte blue); +GLAPI PFNGLCOLOR3UBPROC glad_glColor3ub; +#define glColor3ub glad_glColor3ub +typedef void (APIENTRYP PFNGLCOLOR3UBVPROC)(const GLubyte *v); +GLAPI PFNGLCOLOR3UBVPROC glad_glColor3ubv; +#define glColor3ubv glad_glColor3ubv +typedef void (APIENTRYP PFNGLCOLOR3UIPROC)(GLuint red, GLuint green, GLuint blue); +GLAPI PFNGLCOLOR3UIPROC glad_glColor3ui; +#define glColor3ui glad_glColor3ui +typedef void (APIENTRYP PFNGLCOLOR3UIVPROC)(const GLuint *v); +GLAPI PFNGLCOLOR3UIVPROC glad_glColor3uiv; +#define glColor3uiv glad_glColor3uiv +typedef void (APIENTRYP PFNGLCOLOR3USPROC)(GLushort red, GLushort green, GLushort blue); +GLAPI PFNGLCOLOR3USPROC glad_glColor3us; +#define glColor3us glad_glColor3us +typedef void (APIENTRYP PFNGLCOLOR3USVPROC)(const GLushort *v); +GLAPI PFNGLCOLOR3USVPROC glad_glColor3usv; +#define glColor3usv glad_glColor3usv +typedef void (APIENTRYP PFNGLCOLOR4BPROC)(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha); +GLAPI PFNGLCOLOR4BPROC glad_glColor4b; +#define glColor4b glad_glColor4b +typedef void (APIENTRYP PFNGLCOLOR4BVPROC)(const GLbyte *v); +GLAPI PFNGLCOLOR4BVPROC glad_glColor4bv; +#define glColor4bv glad_glColor4bv +typedef void (APIENTRYP PFNGLCOLOR4DPROC)(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha); +GLAPI PFNGLCOLOR4DPROC glad_glColor4d; +#define glColor4d glad_glColor4d +typedef void (APIENTRYP PFNGLCOLOR4DVPROC)(const GLdouble *v); +GLAPI PFNGLCOLOR4DVPROC glad_glColor4dv; +#define glColor4dv glad_glColor4dv +typedef void (APIENTRYP PFNGLCOLOR4FPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); +GLAPI PFNGLCOLOR4FPROC glad_glColor4f; +#define glColor4f glad_glColor4f +typedef void (APIENTRYP PFNGLCOLOR4FVPROC)(const GLfloat *v); +GLAPI PFNGLCOLOR4FVPROC glad_glColor4fv; +#define glColor4fv glad_glColor4fv +typedef void (APIENTRYP PFNGLCOLOR4IPROC)(GLint red, GLint green, GLint blue, GLint alpha); +GLAPI PFNGLCOLOR4IPROC glad_glColor4i; +#define glColor4i glad_glColor4i +typedef void (APIENTRYP PFNGLCOLOR4IVPROC)(const GLint *v); +GLAPI PFNGLCOLOR4IVPROC glad_glColor4iv; +#define glColor4iv glad_glColor4iv +typedef void (APIENTRYP PFNGLCOLOR4SPROC)(GLshort red, GLshort green, GLshort blue, GLshort alpha); +GLAPI PFNGLCOLOR4SPROC glad_glColor4s; +#define glColor4s glad_glColor4s +typedef void (APIENTRYP PFNGLCOLOR4SVPROC)(const GLshort *v); +GLAPI PFNGLCOLOR4SVPROC glad_glColor4sv; +#define glColor4sv glad_glColor4sv +typedef void (APIENTRYP PFNGLCOLOR4UBPROC)(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha); +GLAPI PFNGLCOLOR4UBPROC glad_glColor4ub; +#define glColor4ub glad_glColor4ub +typedef void (APIENTRYP PFNGLCOLOR4UBVPROC)(const GLubyte *v); +GLAPI PFNGLCOLOR4UBVPROC glad_glColor4ubv; +#define glColor4ubv glad_glColor4ubv +typedef void (APIENTRYP PFNGLCOLOR4UIPROC)(GLuint red, GLuint green, GLuint blue, GLuint alpha); +GLAPI PFNGLCOLOR4UIPROC glad_glColor4ui; +#define glColor4ui glad_glColor4ui +typedef void (APIENTRYP PFNGLCOLOR4UIVPROC)(const GLuint *v); +GLAPI PFNGLCOLOR4UIVPROC glad_glColor4uiv; +#define glColor4uiv glad_glColor4uiv +typedef void (APIENTRYP PFNGLCOLOR4USPROC)(GLushort red, GLushort green, GLushort blue, GLushort alpha); +GLAPI PFNGLCOLOR4USPROC glad_glColor4us; +#define glColor4us glad_glColor4us +typedef void (APIENTRYP PFNGLCOLOR4USVPROC)(const GLushort *v); +GLAPI PFNGLCOLOR4USVPROC glad_glColor4usv; +#define glColor4usv glad_glColor4usv +typedef void (APIENTRYP PFNGLEDGEFLAGPROC)(GLboolean flag); +GLAPI PFNGLEDGEFLAGPROC glad_glEdgeFlag; +#define glEdgeFlag glad_glEdgeFlag +typedef void (APIENTRYP PFNGLEDGEFLAGVPROC)(const GLboolean *flag); +GLAPI PFNGLEDGEFLAGVPROC glad_glEdgeFlagv; +#define glEdgeFlagv glad_glEdgeFlagv +typedef void (APIENTRYP PFNGLENDPROC)(); +GLAPI PFNGLENDPROC glad_glEnd; +#define glEnd glad_glEnd +typedef void (APIENTRYP PFNGLINDEXDPROC)(GLdouble c); +GLAPI PFNGLINDEXDPROC glad_glIndexd; +#define glIndexd glad_glIndexd +typedef void (APIENTRYP PFNGLINDEXDVPROC)(const GLdouble *c); +GLAPI PFNGLINDEXDVPROC glad_glIndexdv; +#define glIndexdv glad_glIndexdv +typedef void (APIENTRYP PFNGLINDEXFPROC)(GLfloat c); +GLAPI PFNGLINDEXFPROC glad_glIndexf; +#define glIndexf glad_glIndexf +typedef void (APIENTRYP PFNGLINDEXFVPROC)(const GLfloat *c); +GLAPI PFNGLINDEXFVPROC glad_glIndexfv; +#define glIndexfv glad_glIndexfv +typedef void (APIENTRYP PFNGLINDEXIPROC)(GLint c); +GLAPI PFNGLINDEXIPROC glad_glIndexi; +#define glIndexi glad_glIndexi +typedef void (APIENTRYP PFNGLINDEXIVPROC)(const GLint *c); +GLAPI PFNGLINDEXIVPROC glad_glIndexiv; +#define glIndexiv glad_glIndexiv +typedef void (APIENTRYP PFNGLINDEXSPROC)(GLshort c); +GLAPI PFNGLINDEXSPROC glad_glIndexs; +#define glIndexs glad_glIndexs +typedef void (APIENTRYP PFNGLINDEXSVPROC)(const GLshort *c); +GLAPI PFNGLINDEXSVPROC glad_glIndexsv; +#define glIndexsv glad_glIndexsv +typedef void (APIENTRYP PFNGLNORMAL3BPROC)(GLbyte nx, GLbyte ny, GLbyte nz); +GLAPI PFNGLNORMAL3BPROC glad_glNormal3b; +#define glNormal3b glad_glNormal3b +typedef void (APIENTRYP PFNGLNORMAL3BVPROC)(const GLbyte *v); +GLAPI PFNGLNORMAL3BVPROC glad_glNormal3bv; +#define glNormal3bv glad_glNormal3bv +typedef void (APIENTRYP PFNGLNORMAL3DPROC)(GLdouble nx, GLdouble ny, GLdouble nz); +GLAPI PFNGLNORMAL3DPROC glad_glNormal3d; +#define glNormal3d glad_glNormal3d +typedef void (APIENTRYP PFNGLNORMAL3DVPROC)(const GLdouble *v); +GLAPI PFNGLNORMAL3DVPROC glad_glNormal3dv; +#define glNormal3dv glad_glNormal3dv +typedef void (APIENTRYP PFNGLNORMAL3FPROC)(GLfloat nx, GLfloat ny, GLfloat nz); +GLAPI PFNGLNORMAL3FPROC glad_glNormal3f; +#define glNormal3f glad_glNormal3f +typedef void (APIENTRYP PFNGLNORMAL3FVPROC)(const GLfloat *v); +GLAPI PFNGLNORMAL3FVPROC glad_glNormal3fv; +#define glNormal3fv glad_glNormal3fv +typedef void (APIENTRYP PFNGLNORMAL3IPROC)(GLint nx, GLint ny, GLint nz); +GLAPI PFNGLNORMAL3IPROC glad_glNormal3i; +#define glNormal3i glad_glNormal3i +typedef void (APIENTRYP PFNGLNORMAL3IVPROC)(const GLint *v); +GLAPI PFNGLNORMAL3IVPROC glad_glNormal3iv; +#define glNormal3iv glad_glNormal3iv +typedef void (APIENTRYP PFNGLNORMAL3SPROC)(GLshort nx, GLshort ny, GLshort nz); +GLAPI PFNGLNORMAL3SPROC glad_glNormal3s; +#define glNormal3s glad_glNormal3s +typedef void (APIENTRYP PFNGLNORMAL3SVPROC)(const GLshort *v); +GLAPI PFNGLNORMAL3SVPROC glad_glNormal3sv; +#define glNormal3sv glad_glNormal3sv +typedef void (APIENTRYP PFNGLRASTERPOS2DPROC)(GLdouble x, GLdouble y); +GLAPI PFNGLRASTERPOS2DPROC glad_glRasterPos2d; +#define glRasterPos2d glad_glRasterPos2d +typedef void (APIENTRYP PFNGLRASTERPOS2DVPROC)(const GLdouble *v); +GLAPI PFNGLRASTERPOS2DVPROC glad_glRasterPos2dv; +#define glRasterPos2dv glad_glRasterPos2dv +typedef void (APIENTRYP PFNGLRASTERPOS2FPROC)(GLfloat x, GLfloat y); +GLAPI PFNGLRASTERPOS2FPROC glad_glRasterPos2f; +#define glRasterPos2f glad_glRasterPos2f +typedef void (APIENTRYP PFNGLRASTERPOS2FVPROC)(const GLfloat *v); +GLAPI PFNGLRASTERPOS2FVPROC glad_glRasterPos2fv; +#define glRasterPos2fv glad_glRasterPos2fv +typedef void (APIENTRYP PFNGLRASTERPOS2IPROC)(GLint x, GLint y); +GLAPI PFNGLRASTERPOS2IPROC glad_glRasterPos2i; +#define glRasterPos2i glad_glRasterPos2i +typedef void (APIENTRYP PFNGLRASTERPOS2IVPROC)(const GLint *v); +GLAPI PFNGLRASTERPOS2IVPROC glad_glRasterPos2iv; +#define glRasterPos2iv glad_glRasterPos2iv +typedef void (APIENTRYP PFNGLRASTERPOS2SPROC)(GLshort x, GLshort y); +GLAPI PFNGLRASTERPOS2SPROC glad_glRasterPos2s; +#define glRasterPos2s glad_glRasterPos2s +typedef void (APIENTRYP PFNGLRASTERPOS2SVPROC)(const GLshort *v); +GLAPI PFNGLRASTERPOS2SVPROC glad_glRasterPos2sv; +#define glRasterPos2sv glad_glRasterPos2sv +typedef void (APIENTRYP PFNGLRASTERPOS3DPROC)(GLdouble x, GLdouble y, GLdouble z); +GLAPI PFNGLRASTERPOS3DPROC glad_glRasterPos3d; +#define glRasterPos3d glad_glRasterPos3d +typedef void (APIENTRYP PFNGLRASTERPOS3DVPROC)(const GLdouble *v); +GLAPI PFNGLRASTERPOS3DVPROC glad_glRasterPos3dv; +#define glRasterPos3dv glad_glRasterPos3dv +typedef void (APIENTRYP PFNGLRASTERPOS3FPROC)(GLfloat x, GLfloat y, GLfloat z); +GLAPI PFNGLRASTERPOS3FPROC glad_glRasterPos3f; +#define glRasterPos3f glad_glRasterPos3f +typedef void (APIENTRYP PFNGLRASTERPOS3FVPROC)(const GLfloat *v); +GLAPI PFNGLRASTERPOS3FVPROC glad_glRasterPos3fv; +#define glRasterPos3fv glad_glRasterPos3fv +typedef void (APIENTRYP PFNGLRASTERPOS3IPROC)(GLint x, GLint y, GLint z); +GLAPI PFNGLRASTERPOS3IPROC glad_glRasterPos3i; +#define glRasterPos3i glad_glRasterPos3i +typedef void (APIENTRYP PFNGLRASTERPOS3IVPROC)(const GLint *v); +GLAPI PFNGLRASTERPOS3IVPROC glad_glRasterPos3iv; +#define glRasterPos3iv glad_glRasterPos3iv +typedef void (APIENTRYP PFNGLRASTERPOS3SPROC)(GLshort x, GLshort y, GLshort z); +GLAPI PFNGLRASTERPOS3SPROC glad_glRasterPos3s; +#define glRasterPos3s glad_glRasterPos3s +typedef void (APIENTRYP PFNGLRASTERPOS3SVPROC)(const GLshort *v); +GLAPI PFNGLRASTERPOS3SVPROC glad_glRasterPos3sv; +#define glRasterPos3sv glad_glRasterPos3sv +typedef void (APIENTRYP PFNGLRASTERPOS4DPROC)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); +GLAPI PFNGLRASTERPOS4DPROC glad_glRasterPos4d; +#define glRasterPos4d glad_glRasterPos4d +typedef void (APIENTRYP PFNGLRASTERPOS4DVPROC)(const GLdouble *v); +GLAPI PFNGLRASTERPOS4DVPROC glad_glRasterPos4dv; +#define glRasterPos4dv glad_glRasterPos4dv +typedef void (APIENTRYP PFNGLRASTERPOS4FPROC)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); +GLAPI PFNGLRASTERPOS4FPROC glad_glRasterPos4f; +#define glRasterPos4f glad_glRasterPos4f +typedef void (APIENTRYP PFNGLRASTERPOS4FVPROC)(const GLfloat *v); +GLAPI PFNGLRASTERPOS4FVPROC glad_glRasterPos4fv; +#define glRasterPos4fv glad_glRasterPos4fv +typedef void (APIENTRYP PFNGLRASTERPOS4IPROC)(GLint x, GLint y, GLint z, GLint w); +GLAPI PFNGLRASTERPOS4IPROC glad_glRasterPos4i; +#define glRasterPos4i glad_glRasterPos4i +typedef void (APIENTRYP PFNGLRASTERPOS4IVPROC)(const GLint *v); +GLAPI PFNGLRASTERPOS4IVPROC glad_glRasterPos4iv; +#define glRasterPos4iv glad_glRasterPos4iv +typedef void (APIENTRYP PFNGLRASTERPOS4SPROC)(GLshort x, GLshort y, GLshort z, GLshort w); +GLAPI PFNGLRASTERPOS4SPROC glad_glRasterPos4s; +#define glRasterPos4s glad_glRasterPos4s +typedef void (APIENTRYP PFNGLRASTERPOS4SVPROC)(const GLshort *v); +GLAPI PFNGLRASTERPOS4SVPROC glad_glRasterPos4sv; +#define glRasterPos4sv glad_glRasterPos4sv +typedef void (APIENTRYP PFNGLRECTDPROC)(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2); +GLAPI PFNGLRECTDPROC glad_glRectd; +#define glRectd glad_glRectd +typedef void (APIENTRYP PFNGLRECTDVPROC)(const GLdouble *v1, const GLdouble *v2); +GLAPI PFNGLRECTDVPROC glad_glRectdv; +#define glRectdv glad_glRectdv +typedef void (APIENTRYP PFNGLRECTFPROC)(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2); +GLAPI PFNGLRECTFPROC glad_glRectf; +#define glRectf glad_glRectf +typedef void (APIENTRYP PFNGLRECTFVPROC)(const GLfloat *v1, const GLfloat *v2); +GLAPI PFNGLRECTFVPROC glad_glRectfv; +#define glRectfv glad_glRectfv +typedef void (APIENTRYP PFNGLRECTIPROC)(GLint x1, GLint y1, GLint x2, GLint y2); +GLAPI PFNGLRECTIPROC glad_glRecti; +#define glRecti glad_glRecti +typedef void (APIENTRYP PFNGLRECTIVPROC)(const GLint *v1, const GLint *v2); +GLAPI PFNGLRECTIVPROC glad_glRectiv; +#define glRectiv glad_glRectiv +typedef void (APIENTRYP PFNGLRECTSPROC)(GLshort x1, GLshort y1, GLshort x2, GLshort y2); +GLAPI PFNGLRECTSPROC glad_glRects; +#define glRects glad_glRects +typedef void (APIENTRYP PFNGLRECTSVPROC)(const GLshort *v1, const GLshort *v2); +GLAPI PFNGLRECTSVPROC glad_glRectsv; +#define glRectsv glad_glRectsv +typedef void (APIENTRYP PFNGLTEXCOORD1DPROC)(GLdouble s); +GLAPI PFNGLTEXCOORD1DPROC glad_glTexCoord1d; +#define glTexCoord1d glad_glTexCoord1d +typedef void (APIENTRYP PFNGLTEXCOORD1DVPROC)(const GLdouble *v); +GLAPI PFNGLTEXCOORD1DVPROC glad_glTexCoord1dv; +#define glTexCoord1dv glad_glTexCoord1dv +typedef void (APIENTRYP PFNGLTEXCOORD1FPROC)(GLfloat s); +GLAPI PFNGLTEXCOORD1FPROC glad_glTexCoord1f; +#define glTexCoord1f glad_glTexCoord1f +typedef void (APIENTRYP PFNGLTEXCOORD1FVPROC)(const GLfloat *v); +GLAPI PFNGLTEXCOORD1FVPROC glad_glTexCoord1fv; +#define glTexCoord1fv glad_glTexCoord1fv +typedef void (APIENTRYP PFNGLTEXCOORD1IPROC)(GLint s); +GLAPI PFNGLTEXCOORD1IPROC glad_glTexCoord1i; +#define glTexCoord1i glad_glTexCoord1i +typedef void (APIENTRYP PFNGLTEXCOORD1IVPROC)(const GLint *v); +GLAPI PFNGLTEXCOORD1IVPROC glad_glTexCoord1iv; +#define glTexCoord1iv glad_glTexCoord1iv +typedef void (APIENTRYP PFNGLTEXCOORD1SPROC)(GLshort s); +GLAPI PFNGLTEXCOORD1SPROC glad_glTexCoord1s; +#define glTexCoord1s glad_glTexCoord1s +typedef void (APIENTRYP PFNGLTEXCOORD1SVPROC)(const GLshort *v); +GLAPI PFNGLTEXCOORD1SVPROC glad_glTexCoord1sv; +#define glTexCoord1sv glad_glTexCoord1sv +typedef void (APIENTRYP PFNGLTEXCOORD2DPROC)(GLdouble s, GLdouble t); +GLAPI PFNGLTEXCOORD2DPROC glad_glTexCoord2d; +#define glTexCoord2d glad_glTexCoord2d +typedef void (APIENTRYP PFNGLTEXCOORD2DVPROC)(const GLdouble *v); +GLAPI PFNGLTEXCOORD2DVPROC glad_glTexCoord2dv; +#define glTexCoord2dv glad_glTexCoord2dv +typedef void (APIENTRYP PFNGLTEXCOORD2FPROC)(GLfloat s, GLfloat t); +GLAPI PFNGLTEXCOORD2FPROC glad_glTexCoord2f; +#define glTexCoord2f glad_glTexCoord2f +typedef void (APIENTRYP PFNGLTEXCOORD2FVPROC)(const GLfloat *v); +GLAPI PFNGLTEXCOORD2FVPROC glad_glTexCoord2fv; +#define glTexCoord2fv glad_glTexCoord2fv +typedef void (APIENTRYP PFNGLTEXCOORD2IPROC)(GLint s, GLint t); +GLAPI PFNGLTEXCOORD2IPROC glad_glTexCoord2i; +#define glTexCoord2i glad_glTexCoord2i +typedef void (APIENTRYP PFNGLTEXCOORD2IVPROC)(const GLint *v); +GLAPI PFNGLTEXCOORD2IVPROC glad_glTexCoord2iv; +#define glTexCoord2iv glad_glTexCoord2iv +typedef void (APIENTRYP PFNGLTEXCOORD2SPROC)(GLshort s, GLshort t); +GLAPI PFNGLTEXCOORD2SPROC glad_glTexCoord2s; +#define glTexCoord2s glad_glTexCoord2s +typedef void (APIENTRYP PFNGLTEXCOORD2SVPROC)(const GLshort *v); +GLAPI PFNGLTEXCOORD2SVPROC glad_glTexCoord2sv; +#define glTexCoord2sv glad_glTexCoord2sv +typedef void (APIENTRYP PFNGLTEXCOORD3DPROC)(GLdouble s, GLdouble t, GLdouble r); +GLAPI PFNGLTEXCOORD3DPROC glad_glTexCoord3d; +#define glTexCoord3d glad_glTexCoord3d +typedef void (APIENTRYP PFNGLTEXCOORD3DVPROC)(const GLdouble *v); +GLAPI PFNGLTEXCOORD3DVPROC glad_glTexCoord3dv; +#define glTexCoord3dv glad_glTexCoord3dv +typedef void (APIENTRYP PFNGLTEXCOORD3FPROC)(GLfloat s, GLfloat t, GLfloat r); +GLAPI PFNGLTEXCOORD3FPROC glad_glTexCoord3f; +#define glTexCoord3f glad_glTexCoord3f +typedef void (APIENTRYP PFNGLTEXCOORD3FVPROC)(const GLfloat *v); +GLAPI PFNGLTEXCOORD3FVPROC glad_glTexCoord3fv; +#define glTexCoord3fv glad_glTexCoord3fv +typedef void (APIENTRYP PFNGLTEXCOORD3IPROC)(GLint s, GLint t, GLint r); +GLAPI PFNGLTEXCOORD3IPROC glad_glTexCoord3i; +#define glTexCoord3i glad_glTexCoord3i +typedef void (APIENTRYP PFNGLTEXCOORD3IVPROC)(const GLint *v); +GLAPI PFNGLTEXCOORD3IVPROC glad_glTexCoord3iv; +#define glTexCoord3iv glad_glTexCoord3iv +typedef void (APIENTRYP PFNGLTEXCOORD3SPROC)(GLshort s, GLshort t, GLshort r); +GLAPI PFNGLTEXCOORD3SPROC glad_glTexCoord3s; +#define glTexCoord3s glad_glTexCoord3s +typedef void (APIENTRYP PFNGLTEXCOORD3SVPROC)(const GLshort *v); +GLAPI PFNGLTEXCOORD3SVPROC glad_glTexCoord3sv; +#define glTexCoord3sv glad_glTexCoord3sv +typedef void (APIENTRYP PFNGLTEXCOORD4DPROC)(GLdouble s, GLdouble t, GLdouble r, GLdouble q); +GLAPI PFNGLTEXCOORD4DPROC glad_glTexCoord4d; +#define glTexCoord4d glad_glTexCoord4d +typedef void (APIENTRYP PFNGLTEXCOORD4DVPROC)(const GLdouble *v); +GLAPI PFNGLTEXCOORD4DVPROC glad_glTexCoord4dv; +#define glTexCoord4dv glad_glTexCoord4dv +typedef void (APIENTRYP PFNGLTEXCOORD4FPROC)(GLfloat s, GLfloat t, GLfloat r, GLfloat q); +GLAPI PFNGLTEXCOORD4FPROC glad_glTexCoord4f; +#define glTexCoord4f glad_glTexCoord4f +typedef void (APIENTRYP PFNGLTEXCOORD4FVPROC)(const GLfloat *v); +GLAPI PFNGLTEXCOORD4FVPROC glad_glTexCoord4fv; +#define glTexCoord4fv glad_glTexCoord4fv +typedef void (APIENTRYP PFNGLTEXCOORD4IPROC)(GLint s, GLint t, GLint r, GLint q); +GLAPI PFNGLTEXCOORD4IPROC glad_glTexCoord4i; +#define glTexCoord4i glad_glTexCoord4i +typedef void (APIENTRYP PFNGLTEXCOORD4IVPROC)(const GLint *v); +GLAPI PFNGLTEXCOORD4IVPROC glad_glTexCoord4iv; +#define glTexCoord4iv glad_glTexCoord4iv +typedef void (APIENTRYP PFNGLTEXCOORD4SPROC)(GLshort s, GLshort t, GLshort r, GLshort q); +GLAPI PFNGLTEXCOORD4SPROC glad_glTexCoord4s; +#define glTexCoord4s glad_glTexCoord4s +typedef void (APIENTRYP PFNGLTEXCOORD4SVPROC)(const GLshort *v); +GLAPI PFNGLTEXCOORD4SVPROC glad_glTexCoord4sv; +#define glTexCoord4sv glad_glTexCoord4sv +typedef void (APIENTRYP PFNGLVERTEX2DPROC)(GLdouble x, GLdouble y); +GLAPI PFNGLVERTEX2DPROC glad_glVertex2d; +#define glVertex2d glad_glVertex2d +typedef void (APIENTRYP PFNGLVERTEX2DVPROC)(const GLdouble *v); +GLAPI PFNGLVERTEX2DVPROC glad_glVertex2dv; +#define glVertex2dv glad_glVertex2dv +typedef void (APIENTRYP PFNGLVERTEX2FPROC)(GLfloat x, GLfloat y); +GLAPI PFNGLVERTEX2FPROC glad_glVertex2f; +#define glVertex2f glad_glVertex2f +typedef void (APIENTRYP PFNGLVERTEX2FVPROC)(const GLfloat *v); +GLAPI PFNGLVERTEX2FVPROC glad_glVertex2fv; +#define glVertex2fv glad_glVertex2fv +typedef void (APIENTRYP PFNGLVERTEX2IPROC)(GLint x, GLint y); +GLAPI PFNGLVERTEX2IPROC glad_glVertex2i; +#define glVertex2i glad_glVertex2i +typedef void (APIENTRYP PFNGLVERTEX2IVPROC)(const GLint *v); +GLAPI PFNGLVERTEX2IVPROC glad_glVertex2iv; +#define glVertex2iv glad_glVertex2iv +typedef void (APIENTRYP PFNGLVERTEX2SPROC)(GLshort x, GLshort y); +GLAPI PFNGLVERTEX2SPROC glad_glVertex2s; +#define glVertex2s glad_glVertex2s +typedef void (APIENTRYP PFNGLVERTEX2SVPROC)(const GLshort *v); +GLAPI PFNGLVERTEX2SVPROC glad_glVertex2sv; +#define glVertex2sv glad_glVertex2sv +typedef void (APIENTRYP PFNGLVERTEX3DPROC)(GLdouble x, GLdouble y, GLdouble z); +GLAPI PFNGLVERTEX3DPROC glad_glVertex3d; +#define glVertex3d glad_glVertex3d +typedef void (APIENTRYP PFNGLVERTEX3DVPROC)(const GLdouble *v); +GLAPI PFNGLVERTEX3DVPROC glad_glVertex3dv; +#define glVertex3dv glad_glVertex3dv +typedef void (APIENTRYP PFNGLVERTEX3FPROC)(GLfloat x, GLfloat y, GLfloat z); +GLAPI PFNGLVERTEX3FPROC glad_glVertex3f; +#define glVertex3f glad_glVertex3f +typedef void (APIENTRYP PFNGLVERTEX3FVPROC)(const GLfloat *v); +GLAPI PFNGLVERTEX3FVPROC glad_glVertex3fv; +#define glVertex3fv glad_glVertex3fv +typedef void (APIENTRYP PFNGLVERTEX3IPROC)(GLint x, GLint y, GLint z); +GLAPI PFNGLVERTEX3IPROC glad_glVertex3i; +#define glVertex3i glad_glVertex3i +typedef void (APIENTRYP PFNGLVERTEX3IVPROC)(const GLint *v); +GLAPI PFNGLVERTEX3IVPROC glad_glVertex3iv; +#define glVertex3iv glad_glVertex3iv +typedef void (APIENTRYP PFNGLVERTEX3SPROC)(GLshort x, GLshort y, GLshort z); +GLAPI PFNGLVERTEX3SPROC glad_glVertex3s; +#define glVertex3s glad_glVertex3s +typedef void (APIENTRYP PFNGLVERTEX3SVPROC)(const GLshort *v); +GLAPI PFNGLVERTEX3SVPROC glad_glVertex3sv; +#define glVertex3sv glad_glVertex3sv +typedef void (APIENTRYP PFNGLVERTEX4DPROC)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); +GLAPI PFNGLVERTEX4DPROC glad_glVertex4d; +#define glVertex4d glad_glVertex4d +typedef void (APIENTRYP PFNGLVERTEX4DVPROC)(const GLdouble *v); +GLAPI PFNGLVERTEX4DVPROC glad_glVertex4dv; +#define glVertex4dv glad_glVertex4dv +typedef void (APIENTRYP PFNGLVERTEX4FPROC)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); +GLAPI PFNGLVERTEX4FPROC glad_glVertex4f; +#define glVertex4f glad_glVertex4f +typedef void (APIENTRYP PFNGLVERTEX4FVPROC)(const GLfloat *v); +GLAPI PFNGLVERTEX4FVPROC glad_glVertex4fv; +#define glVertex4fv glad_glVertex4fv +typedef void (APIENTRYP PFNGLVERTEX4IPROC)(GLint x, GLint y, GLint z, GLint w); +GLAPI PFNGLVERTEX4IPROC glad_glVertex4i; +#define glVertex4i glad_glVertex4i +typedef void (APIENTRYP PFNGLVERTEX4IVPROC)(const GLint *v); +GLAPI PFNGLVERTEX4IVPROC glad_glVertex4iv; +#define glVertex4iv glad_glVertex4iv +typedef void (APIENTRYP PFNGLVERTEX4SPROC)(GLshort x, GLshort y, GLshort z, GLshort w); +GLAPI PFNGLVERTEX4SPROC glad_glVertex4s; +#define glVertex4s glad_glVertex4s +typedef void (APIENTRYP PFNGLVERTEX4SVPROC)(const GLshort *v); +GLAPI PFNGLVERTEX4SVPROC glad_glVertex4sv; +#define glVertex4sv glad_glVertex4sv +typedef void (APIENTRYP PFNGLCLIPPLANEPROC)(GLenum plane, const GLdouble *equation); +GLAPI PFNGLCLIPPLANEPROC glad_glClipPlane; +#define glClipPlane glad_glClipPlane +typedef void (APIENTRYP PFNGLCOLORMATERIALPROC)(GLenum face, GLenum mode); +GLAPI PFNGLCOLORMATERIALPROC glad_glColorMaterial; +#define glColorMaterial glad_glColorMaterial +typedef void (APIENTRYP PFNGLFOGFPROC)(GLenum pname, GLfloat param); +GLAPI PFNGLFOGFPROC glad_glFogf; +#define glFogf glad_glFogf +typedef void (APIENTRYP PFNGLFOGFVPROC)(GLenum pname, const GLfloat *params); +GLAPI PFNGLFOGFVPROC glad_glFogfv; +#define glFogfv glad_glFogfv +typedef void (APIENTRYP PFNGLFOGIPROC)(GLenum pname, GLint param); +GLAPI PFNGLFOGIPROC glad_glFogi; +#define glFogi glad_glFogi +typedef void (APIENTRYP PFNGLFOGIVPROC)(GLenum pname, const GLint *params); +GLAPI PFNGLFOGIVPROC glad_glFogiv; +#define glFogiv glad_glFogiv +typedef void (APIENTRYP PFNGLLIGHTFPROC)(GLenum light, GLenum pname, GLfloat param); +GLAPI PFNGLLIGHTFPROC glad_glLightf; +#define glLightf glad_glLightf +typedef void (APIENTRYP PFNGLLIGHTFVPROC)(GLenum light, GLenum pname, const GLfloat *params); +GLAPI PFNGLLIGHTFVPROC glad_glLightfv; +#define glLightfv glad_glLightfv +typedef void (APIENTRYP PFNGLLIGHTIPROC)(GLenum light, GLenum pname, GLint param); +GLAPI PFNGLLIGHTIPROC glad_glLighti; +#define glLighti glad_glLighti +typedef void (APIENTRYP PFNGLLIGHTIVPROC)(GLenum light, GLenum pname, const GLint *params); +GLAPI PFNGLLIGHTIVPROC glad_glLightiv; +#define glLightiv glad_glLightiv +typedef void (APIENTRYP PFNGLLIGHTMODELFPROC)(GLenum pname, GLfloat param); +GLAPI PFNGLLIGHTMODELFPROC glad_glLightModelf; +#define glLightModelf glad_glLightModelf +typedef void (APIENTRYP PFNGLLIGHTMODELFVPROC)(GLenum pname, const GLfloat *params); +GLAPI PFNGLLIGHTMODELFVPROC glad_glLightModelfv; +#define glLightModelfv glad_glLightModelfv +typedef void (APIENTRYP PFNGLLIGHTMODELIPROC)(GLenum pname, GLint param); +GLAPI PFNGLLIGHTMODELIPROC glad_glLightModeli; +#define glLightModeli glad_glLightModeli +typedef void (APIENTRYP PFNGLLIGHTMODELIVPROC)(GLenum pname, const GLint *params); +GLAPI PFNGLLIGHTMODELIVPROC glad_glLightModeliv; +#define glLightModeliv glad_glLightModeliv +typedef void (APIENTRYP PFNGLLINESTIPPLEPROC)(GLint factor, GLushort pattern); +GLAPI PFNGLLINESTIPPLEPROC glad_glLineStipple; +#define glLineStipple glad_glLineStipple +typedef void (APIENTRYP PFNGLMATERIALFPROC)(GLenum face, GLenum pname, GLfloat param); +GLAPI PFNGLMATERIALFPROC glad_glMaterialf; +#define glMaterialf glad_glMaterialf +typedef void (APIENTRYP PFNGLMATERIALFVPROC)(GLenum face, GLenum pname, const GLfloat *params); +GLAPI PFNGLMATERIALFVPROC glad_glMaterialfv; +#define glMaterialfv glad_glMaterialfv +typedef void (APIENTRYP PFNGLMATERIALIPROC)(GLenum face, GLenum pname, GLint param); +GLAPI PFNGLMATERIALIPROC glad_glMateriali; +#define glMateriali glad_glMateriali +typedef void (APIENTRYP PFNGLMATERIALIVPROC)(GLenum face, GLenum pname, const GLint *params); +GLAPI PFNGLMATERIALIVPROC glad_glMaterialiv; +#define glMaterialiv glad_glMaterialiv +typedef void (APIENTRYP PFNGLPOLYGONSTIPPLEPROC)(const GLubyte *mask); +GLAPI PFNGLPOLYGONSTIPPLEPROC glad_glPolygonStipple; +#define glPolygonStipple glad_glPolygonStipple +typedef void (APIENTRYP PFNGLSHADEMODELPROC)(GLenum mode); +GLAPI PFNGLSHADEMODELPROC glad_glShadeModel; +#define glShadeModel glad_glShadeModel +typedef void (APIENTRYP PFNGLTEXENVFPROC)(GLenum target, GLenum pname, GLfloat param); +GLAPI PFNGLTEXENVFPROC glad_glTexEnvf; +#define glTexEnvf glad_glTexEnvf +typedef void (APIENTRYP PFNGLTEXENVFVPROC)(GLenum target, GLenum pname, const GLfloat *params); +GLAPI PFNGLTEXENVFVPROC glad_glTexEnvfv; +#define glTexEnvfv glad_glTexEnvfv +typedef void (APIENTRYP PFNGLTEXENVIPROC)(GLenum target, GLenum pname, GLint param); +GLAPI PFNGLTEXENVIPROC glad_glTexEnvi; +#define glTexEnvi glad_glTexEnvi +typedef void (APIENTRYP PFNGLTEXENVIVPROC)(GLenum target, GLenum pname, const GLint *params); +GLAPI PFNGLTEXENVIVPROC glad_glTexEnviv; +#define glTexEnviv glad_glTexEnviv +typedef void (APIENTRYP PFNGLTEXGENDPROC)(GLenum coord, GLenum pname, GLdouble param); +GLAPI PFNGLTEXGENDPROC glad_glTexGend; +#define glTexGend glad_glTexGend +typedef void (APIENTRYP PFNGLTEXGENDVPROC)(GLenum coord, GLenum pname, const GLdouble *params); +GLAPI PFNGLTEXGENDVPROC glad_glTexGendv; +#define glTexGendv glad_glTexGendv +typedef void (APIENTRYP PFNGLTEXGENFPROC)(GLenum coord, GLenum pname, GLfloat param); +GLAPI PFNGLTEXGENFPROC glad_glTexGenf; +#define glTexGenf glad_glTexGenf +typedef void (APIENTRYP PFNGLTEXGENFVPROC)(GLenum coord, GLenum pname, const GLfloat *params); +GLAPI PFNGLTEXGENFVPROC glad_glTexGenfv; +#define glTexGenfv glad_glTexGenfv +typedef void (APIENTRYP PFNGLTEXGENIPROC)(GLenum coord, GLenum pname, GLint param); +GLAPI PFNGLTEXGENIPROC glad_glTexGeni; +#define glTexGeni glad_glTexGeni +typedef void (APIENTRYP PFNGLTEXGENIVPROC)(GLenum coord, GLenum pname, const GLint *params); +GLAPI PFNGLTEXGENIVPROC glad_glTexGeniv; +#define glTexGeniv glad_glTexGeniv +typedef void (APIENTRYP PFNGLFEEDBACKBUFFERPROC)(GLsizei size, GLenum type, GLfloat *buffer); +GLAPI PFNGLFEEDBACKBUFFERPROC glad_glFeedbackBuffer; +#define glFeedbackBuffer glad_glFeedbackBuffer +typedef void (APIENTRYP PFNGLSELECTBUFFERPROC)(GLsizei size, GLuint *buffer); +GLAPI PFNGLSELECTBUFFERPROC glad_glSelectBuffer; +#define glSelectBuffer glad_glSelectBuffer +typedef GLint(APIENTRYP PFNGLRENDERMODEPROC)(GLenum mode); +GLAPI PFNGLRENDERMODEPROC glad_glRenderMode; +#define glRenderMode glad_glRenderMode +typedef void (APIENTRYP PFNGLINITNAMESPROC)(); +GLAPI PFNGLINITNAMESPROC glad_glInitNames; +#define glInitNames glad_glInitNames +typedef void (APIENTRYP PFNGLLOADNAMEPROC)(GLuint name); +GLAPI PFNGLLOADNAMEPROC glad_glLoadName; +#define glLoadName glad_glLoadName +typedef void (APIENTRYP PFNGLPASSTHROUGHPROC)(GLfloat token); +GLAPI PFNGLPASSTHROUGHPROC glad_glPassThrough; +#define glPassThrough glad_glPassThrough +typedef void (APIENTRYP PFNGLPOPNAMEPROC)(); +GLAPI PFNGLPOPNAMEPROC glad_glPopName; +#define glPopName glad_glPopName +typedef void (APIENTRYP PFNGLPUSHNAMEPROC)(GLuint name); +GLAPI PFNGLPUSHNAMEPROC glad_glPushName; +#define glPushName glad_glPushName +typedef void (APIENTRYP PFNGLCLEARACCUMPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); +GLAPI PFNGLCLEARACCUMPROC glad_glClearAccum; +#define glClearAccum glad_glClearAccum +typedef void (APIENTRYP PFNGLCLEARINDEXPROC)(GLfloat c); +GLAPI PFNGLCLEARINDEXPROC glad_glClearIndex; +#define glClearIndex glad_glClearIndex +typedef void (APIENTRYP PFNGLINDEXMASKPROC)(GLuint mask); +GLAPI PFNGLINDEXMASKPROC glad_glIndexMask; +#define glIndexMask glad_glIndexMask +typedef void (APIENTRYP PFNGLACCUMPROC)(GLenum op, GLfloat value); +GLAPI PFNGLACCUMPROC glad_glAccum; +#define glAccum glad_glAccum +typedef void (APIENTRYP PFNGLPOPATTRIBPROC)(); +GLAPI PFNGLPOPATTRIBPROC glad_glPopAttrib; +#define glPopAttrib glad_glPopAttrib +typedef void (APIENTRYP PFNGLPUSHATTRIBPROC)(GLbitfield mask); +GLAPI PFNGLPUSHATTRIBPROC glad_glPushAttrib; +#define glPushAttrib glad_glPushAttrib +typedef void (APIENTRYP PFNGLMAP1DPROC)(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points); +GLAPI PFNGLMAP1DPROC glad_glMap1d; +#define glMap1d glad_glMap1d +typedef void (APIENTRYP PFNGLMAP1FPROC)(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points); +GLAPI PFNGLMAP1FPROC glad_glMap1f; +#define glMap1f glad_glMap1f +typedef void (APIENTRYP PFNGLMAP2DPROC)(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, + GLint vstride, GLint vorder, const GLdouble *points); +GLAPI PFNGLMAP2DPROC glad_glMap2d; +#define glMap2d glad_glMap2d +typedef void (APIENTRYP PFNGLMAP2FPROC)(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, + GLint vstride, GLint vorder, const GLfloat *points); +GLAPI PFNGLMAP2FPROC glad_glMap2f; +#define glMap2f glad_glMap2f +typedef void (APIENTRYP PFNGLMAPGRID1DPROC)(GLint un, GLdouble u1, GLdouble u2); +GLAPI PFNGLMAPGRID1DPROC glad_glMapGrid1d; +#define glMapGrid1d glad_glMapGrid1d +typedef void (APIENTRYP PFNGLMAPGRID1FPROC)(GLint un, GLfloat u1, GLfloat u2); +GLAPI PFNGLMAPGRID1FPROC glad_glMapGrid1f; +#define glMapGrid1f glad_glMapGrid1f +typedef void (APIENTRYP PFNGLMAPGRID2DPROC)(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2); +GLAPI PFNGLMAPGRID2DPROC glad_glMapGrid2d; +#define glMapGrid2d glad_glMapGrid2d +typedef void (APIENTRYP PFNGLMAPGRID2FPROC)(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2); +GLAPI PFNGLMAPGRID2FPROC glad_glMapGrid2f; +#define glMapGrid2f glad_glMapGrid2f +typedef void (APIENTRYP PFNGLEVALCOORD1DPROC)(GLdouble u); +GLAPI PFNGLEVALCOORD1DPROC glad_glEvalCoord1d; +#define glEvalCoord1d glad_glEvalCoord1d +typedef void (APIENTRYP PFNGLEVALCOORD1DVPROC)(const GLdouble *u); +GLAPI PFNGLEVALCOORD1DVPROC glad_glEvalCoord1dv; +#define glEvalCoord1dv glad_glEvalCoord1dv +typedef void (APIENTRYP PFNGLEVALCOORD1FPROC)(GLfloat u); +GLAPI PFNGLEVALCOORD1FPROC glad_glEvalCoord1f; +#define glEvalCoord1f glad_glEvalCoord1f +typedef void (APIENTRYP PFNGLEVALCOORD1FVPROC)(const GLfloat *u); +GLAPI PFNGLEVALCOORD1FVPROC glad_glEvalCoord1fv; +#define glEvalCoord1fv glad_glEvalCoord1fv +typedef void (APIENTRYP PFNGLEVALCOORD2DPROC)(GLdouble u, GLdouble v); +GLAPI PFNGLEVALCOORD2DPROC glad_glEvalCoord2d; +#define glEvalCoord2d glad_glEvalCoord2d +typedef void (APIENTRYP PFNGLEVALCOORD2DVPROC)(const GLdouble *u); +GLAPI PFNGLEVALCOORD2DVPROC glad_glEvalCoord2dv; +#define glEvalCoord2dv glad_glEvalCoord2dv +typedef void (APIENTRYP PFNGLEVALCOORD2FPROC)(GLfloat u, GLfloat v); +GLAPI PFNGLEVALCOORD2FPROC glad_glEvalCoord2f; +#define glEvalCoord2f glad_glEvalCoord2f +typedef void (APIENTRYP PFNGLEVALCOORD2FVPROC)(const GLfloat *u); +GLAPI PFNGLEVALCOORD2FVPROC glad_glEvalCoord2fv; +#define glEvalCoord2fv glad_glEvalCoord2fv +typedef void (APIENTRYP PFNGLEVALMESH1PROC)(GLenum mode, GLint i1, GLint i2); +GLAPI PFNGLEVALMESH1PROC glad_glEvalMesh1; +#define glEvalMesh1 glad_glEvalMesh1 +typedef void (APIENTRYP PFNGLEVALPOINT1PROC)(GLint i); +GLAPI PFNGLEVALPOINT1PROC glad_glEvalPoint1; +#define glEvalPoint1 glad_glEvalPoint1 +typedef void (APIENTRYP PFNGLEVALMESH2PROC)(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2); +GLAPI PFNGLEVALMESH2PROC glad_glEvalMesh2; +#define glEvalMesh2 glad_glEvalMesh2 +typedef void (APIENTRYP PFNGLEVALPOINT2PROC)(GLint i, GLint j); +GLAPI PFNGLEVALPOINT2PROC glad_glEvalPoint2; +#define glEvalPoint2 glad_glEvalPoint2 +typedef void (APIENTRYP PFNGLALPHAFUNCPROC)(GLenum func, GLfloat ref); +GLAPI PFNGLALPHAFUNCPROC glad_glAlphaFunc; +#define glAlphaFunc glad_glAlphaFunc +typedef void (APIENTRYP PFNGLPIXELZOOMPROC)(GLfloat xfactor, GLfloat yfactor); +GLAPI PFNGLPIXELZOOMPROC glad_glPixelZoom; +#define glPixelZoom glad_glPixelZoom +typedef void (APIENTRYP PFNGLPIXELTRANSFERFPROC)(GLenum pname, GLfloat param); +GLAPI PFNGLPIXELTRANSFERFPROC glad_glPixelTransferf; +#define glPixelTransferf glad_glPixelTransferf +typedef void (APIENTRYP PFNGLPIXELTRANSFERIPROC)(GLenum pname, GLint param); +GLAPI PFNGLPIXELTRANSFERIPROC glad_glPixelTransferi; +#define glPixelTransferi glad_glPixelTransferi +typedef void (APIENTRYP PFNGLPIXELMAPFVPROC)(GLenum map, GLsizei mapsize, const GLfloat *values); +GLAPI PFNGLPIXELMAPFVPROC glad_glPixelMapfv; +#define glPixelMapfv glad_glPixelMapfv +typedef void (APIENTRYP PFNGLPIXELMAPUIVPROC)(GLenum map, GLsizei mapsize, const GLuint *values); +GLAPI PFNGLPIXELMAPUIVPROC glad_glPixelMapuiv; +#define glPixelMapuiv glad_glPixelMapuiv +typedef void (APIENTRYP PFNGLPIXELMAPUSVPROC)(GLenum map, GLsizei mapsize, const GLushort *values); +GLAPI PFNGLPIXELMAPUSVPROC glad_glPixelMapusv; +#define glPixelMapusv glad_glPixelMapusv +typedef void (APIENTRYP PFNGLCOPYPIXELSPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type); +GLAPI PFNGLCOPYPIXELSPROC glad_glCopyPixels; +#define glCopyPixels glad_glCopyPixels +typedef void (APIENTRYP PFNGLDRAWPIXELSPROC)(GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); +GLAPI PFNGLDRAWPIXELSPROC glad_glDrawPixels; +#define glDrawPixels glad_glDrawPixels +typedef void (APIENTRYP PFNGLGETCLIPPLANEPROC)(GLenum plane, GLdouble *equation); +GLAPI PFNGLGETCLIPPLANEPROC glad_glGetClipPlane; +#define glGetClipPlane glad_glGetClipPlane +typedef void (APIENTRYP PFNGLGETLIGHTFVPROC)(GLenum light, GLenum pname, GLfloat *params); +GLAPI PFNGLGETLIGHTFVPROC glad_glGetLightfv; +#define glGetLightfv glad_glGetLightfv +typedef void (APIENTRYP PFNGLGETLIGHTIVPROC)(GLenum light, GLenum pname, GLint *params); +GLAPI PFNGLGETLIGHTIVPROC glad_glGetLightiv; +#define glGetLightiv glad_glGetLightiv +typedef void (APIENTRYP PFNGLGETMAPDVPROC)(GLenum target, GLenum query, GLdouble *v); +GLAPI PFNGLGETMAPDVPROC glad_glGetMapdv; +#define glGetMapdv glad_glGetMapdv +typedef void (APIENTRYP PFNGLGETMAPFVPROC)(GLenum target, GLenum query, GLfloat *v); +GLAPI PFNGLGETMAPFVPROC glad_glGetMapfv; +#define glGetMapfv glad_glGetMapfv +typedef void (APIENTRYP PFNGLGETMAPIVPROC)(GLenum target, GLenum query, GLint *v); +GLAPI PFNGLGETMAPIVPROC glad_glGetMapiv; +#define glGetMapiv glad_glGetMapiv +typedef void (APIENTRYP PFNGLGETMATERIALFVPROC)(GLenum face, GLenum pname, GLfloat *params); +GLAPI PFNGLGETMATERIALFVPROC glad_glGetMaterialfv; +#define glGetMaterialfv glad_glGetMaterialfv +typedef void (APIENTRYP PFNGLGETMATERIALIVPROC)(GLenum face, GLenum pname, GLint *params); +GLAPI PFNGLGETMATERIALIVPROC glad_glGetMaterialiv; +#define glGetMaterialiv glad_glGetMaterialiv +typedef void (APIENTRYP PFNGLGETPIXELMAPFVPROC)(GLenum map, GLfloat *values); +GLAPI PFNGLGETPIXELMAPFVPROC glad_glGetPixelMapfv; +#define glGetPixelMapfv glad_glGetPixelMapfv +typedef void (APIENTRYP PFNGLGETPIXELMAPUIVPROC)(GLenum map, GLuint *values); +GLAPI PFNGLGETPIXELMAPUIVPROC glad_glGetPixelMapuiv; +#define glGetPixelMapuiv glad_glGetPixelMapuiv +typedef void (APIENTRYP PFNGLGETPIXELMAPUSVPROC)(GLenum map, GLushort *values); +GLAPI PFNGLGETPIXELMAPUSVPROC glad_glGetPixelMapusv; +#define glGetPixelMapusv glad_glGetPixelMapusv +typedef void (APIENTRYP PFNGLGETPOLYGONSTIPPLEPROC)(GLubyte *mask); +GLAPI PFNGLGETPOLYGONSTIPPLEPROC glad_glGetPolygonStipple; +#define glGetPolygonStipple glad_glGetPolygonStipple +typedef void (APIENTRYP PFNGLGETTEXENVFVPROC)(GLenum target, GLenum pname, GLfloat *params); +GLAPI PFNGLGETTEXENVFVPROC glad_glGetTexEnvfv; +#define glGetTexEnvfv glad_glGetTexEnvfv +typedef void (APIENTRYP PFNGLGETTEXENVIVPROC)(GLenum target, GLenum pname, GLint *params); +GLAPI PFNGLGETTEXENVIVPROC glad_glGetTexEnviv; +#define glGetTexEnviv glad_glGetTexEnviv +typedef void (APIENTRYP PFNGLGETTEXGENDVPROC)(GLenum coord, GLenum pname, GLdouble *params); +GLAPI PFNGLGETTEXGENDVPROC glad_glGetTexGendv; +#define glGetTexGendv glad_glGetTexGendv +typedef void (APIENTRYP PFNGLGETTEXGENFVPROC)(GLenum coord, GLenum pname, GLfloat *params); +GLAPI PFNGLGETTEXGENFVPROC glad_glGetTexGenfv; +#define glGetTexGenfv glad_glGetTexGenfv +typedef void (APIENTRYP PFNGLGETTEXGENIVPROC)(GLenum coord, GLenum pname, GLint *params); +GLAPI PFNGLGETTEXGENIVPROC glad_glGetTexGeniv; +#define glGetTexGeniv glad_glGetTexGeniv +typedef GLboolean(APIENTRYP PFNGLISLISTPROC)(GLuint list); +GLAPI PFNGLISLISTPROC glad_glIsList; +#define glIsList glad_glIsList +typedef void (APIENTRYP PFNGLFRUSTUMPROC)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); +GLAPI PFNGLFRUSTUMPROC glad_glFrustum; +#define glFrustum glad_glFrustum +typedef void (APIENTRYP PFNGLLOADIDENTITYPROC)(); +GLAPI PFNGLLOADIDENTITYPROC glad_glLoadIdentity; +#define glLoadIdentity glad_glLoadIdentity +typedef void (APIENTRYP PFNGLLOADMATRIXFPROC)(const GLfloat *m); +GLAPI PFNGLLOADMATRIXFPROC glad_glLoadMatrixf; +#define glLoadMatrixf glad_glLoadMatrixf +typedef void (APIENTRYP PFNGLLOADMATRIXDPROC)(const GLdouble *m); +GLAPI PFNGLLOADMATRIXDPROC glad_glLoadMatrixd; +#define glLoadMatrixd glad_glLoadMatrixd +typedef void (APIENTRYP PFNGLMATRIXMODEPROC)(GLenum mode); +GLAPI PFNGLMATRIXMODEPROC glad_glMatrixMode; +#define glMatrixMode glad_glMatrixMode +typedef void (APIENTRYP PFNGLMULTMATRIXFPROC)(const GLfloat *m); +GLAPI PFNGLMULTMATRIXFPROC glad_glMultMatrixf; +#define glMultMatrixf glad_glMultMatrixf +typedef void (APIENTRYP PFNGLMULTMATRIXDPROC)(const GLdouble *m); +GLAPI PFNGLMULTMATRIXDPROC glad_glMultMatrixd; +#define glMultMatrixd glad_glMultMatrixd +typedef void (APIENTRYP PFNGLORTHOPROC)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); +GLAPI PFNGLORTHOPROC glad_glOrtho; +#define glOrtho glad_glOrtho +typedef void (APIENTRYP PFNGLPOPMATRIXPROC)(); +GLAPI PFNGLPOPMATRIXPROC glad_glPopMatrix; +#define glPopMatrix glad_glPopMatrix +typedef void (APIENTRYP PFNGLPUSHMATRIXPROC)(); +GLAPI PFNGLPUSHMATRIXPROC glad_glPushMatrix; +#define glPushMatrix glad_glPushMatrix +typedef void (APIENTRYP PFNGLROTATEDPROC)(GLdouble angle, GLdouble x, GLdouble y, GLdouble z); +GLAPI PFNGLROTATEDPROC glad_glRotated; +#define glRotated glad_glRotated +typedef void (APIENTRYP PFNGLROTATEFPROC)(GLfloat angle, GLfloat x, GLfloat y, GLfloat z); +GLAPI PFNGLROTATEFPROC glad_glRotatef; +#define glRotatef glad_glRotatef +typedef void (APIENTRYP PFNGLSCALEDPROC)(GLdouble x, GLdouble y, GLdouble z); +GLAPI PFNGLSCALEDPROC glad_glScaled; +#define glScaled glad_glScaled +typedef void (APIENTRYP PFNGLSCALEFPROC)(GLfloat x, GLfloat y, GLfloat z); +GLAPI PFNGLSCALEFPROC glad_glScalef; +#define glScalef glad_glScalef +typedef void (APIENTRYP PFNGLTRANSLATEDPROC)(GLdouble x, GLdouble y, GLdouble z); +GLAPI PFNGLTRANSLATEDPROC glad_glTranslated; +#define glTranslated glad_glTranslated +typedef void (APIENTRYP PFNGLTRANSLATEFPROC)(GLfloat x, GLfloat y, GLfloat z); +GLAPI PFNGLTRANSLATEFPROC glad_glTranslatef; +#define glTranslatef glad_glTranslatef +#endif +#ifndef GL_VERSION_1_1 +#define GL_VERSION_1_1 1 +GLAPI int GLAD_GL_VERSION_1_1; +typedef void (APIENTRYP PFNGLDRAWARRAYSPROC)(GLenum mode, GLint first, GLsizei count); +GLAPI PFNGLDRAWARRAYSPROC glad_glDrawArrays; +#define glDrawArrays glad_glDrawArrays +typedef void (APIENTRYP PFNGLDRAWELEMENTSPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices); +GLAPI PFNGLDRAWELEMENTSPROC glad_glDrawElements; +#define glDrawElements glad_glDrawElements +typedef void (APIENTRYP PFNGLGETPOINTERVPROC)(GLenum pname, void **params); +GLAPI PFNGLGETPOINTERVPROC glad_glGetPointerv; +#define glGetPointerv glad_glGetPointerv +typedef void (APIENTRYP PFNGLPOLYGONOFFSETPROC)(GLfloat factor, GLfloat units); +GLAPI PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset; +#define glPolygonOffset glad_glPolygonOffset +typedef void (APIENTRYP PFNGLCOPYTEXIMAGE1DPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, + GLint border); +GLAPI PFNGLCOPYTEXIMAGE1DPROC glad_glCopyTexImage1D; +#define glCopyTexImage1D glad_glCopyTexImage1D +typedef void (APIENTRYP PFNGLCOPYTEXIMAGE2DPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, + GLsizei height, GLint border); +GLAPI PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D; +#define glCopyTexImage2D glad_glCopyTexImage2D +typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +GLAPI PFNGLCOPYTEXSUBIMAGE1DPROC glad_glCopyTexSubImage1D; +#define glCopyTexSubImage1D glad_glCopyTexSubImage1D +typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, + GLsizei width, GLsizei height); +GLAPI PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D; +#define glCopyTexSubImage2D glad_glCopyTexSubImage2D +typedef void (APIENTRYP PFNGLTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, + const void *pixels); +GLAPI PFNGLTEXSUBIMAGE1DPROC glad_glTexSubImage1D; +#define glTexSubImage1D glad_glTexSubImage1D +typedef void (APIENTRYP PFNGLTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, + GLenum format, GLenum type, const void *pixels); +GLAPI PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D; +#define glTexSubImage2D glad_glTexSubImage2D +typedef void (APIENTRYP PFNGLBINDTEXTUREPROC)(GLenum target, GLuint texture); +GLAPI PFNGLBINDTEXTUREPROC glad_glBindTexture; +#define glBindTexture glad_glBindTexture +typedef void (APIENTRYP PFNGLDELETETEXTURESPROC)(GLsizei n, const GLuint *textures); +GLAPI PFNGLDELETETEXTURESPROC glad_glDeleteTextures; +#define glDeleteTextures glad_glDeleteTextures +typedef void (APIENTRYP PFNGLGENTEXTURESPROC)(GLsizei n, GLuint *textures); +GLAPI PFNGLGENTEXTURESPROC glad_glGenTextures; +#define glGenTextures glad_glGenTextures +typedef GLboolean(APIENTRYP PFNGLISTEXTUREPROC)(GLuint texture); +GLAPI PFNGLISTEXTUREPROC glad_glIsTexture; +#define glIsTexture glad_glIsTexture +typedef void (APIENTRYP PFNGLARRAYELEMENTPROC)(GLint i); +GLAPI PFNGLARRAYELEMENTPROC glad_glArrayElement; +#define glArrayElement glad_glArrayElement +typedef void (APIENTRYP PFNGLCOLORPOINTERPROC)(GLint size, GLenum type, GLsizei stride, const void *pointer); +GLAPI PFNGLCOLORPOINTERPROC glad_glColorPointer; +#define glColorPointer glad_glColorPointer +typedef void (APIENTRYP PFNGLDISABLECLIENTSTATEPROC)(GLenum array); +GLAPI PFNGLDISABLECLIENTSTATEPROC glad_glDisableClientState; +#define glDisableClientState glad_glDisableClientState +typedef void (APIENTRYP PFNGLEDGEFLAGPOINTERPROC)(GLsizei stride, const void *pointer); +GLAPI PFNGLEDGEFLAGPOINTERPROC glad_glEdgeFlagPointer; +#define glEdgeFlagPointer glad_glEdgeFlagPointer +typedef void (APIENTRYP PFNGLENABLECLIENTSTATEPROC)(GLenum array); +GLAPI PFNGLENABLECLIENTSTATEPROC glad_glEnableClientState; +#define glEnableClientState glad_glEnableClientState +typedef void (APIENTRYP PFNGLINDEXPOINTERPROC)(GLenum type, GLsizei stride, const void *pointer); +GLAPI PFNGLINDEXPOINTERPROC glad_glIndexPointer; +#define glIndexPointer glad_glIndexPointer +typedef void (APIENTRYP PFNGLINTERLEAVEDARRAYSPROC)(GLenum format, GLsizei stride, const void *pointer); +GLAPI PFNGLINTERLEAVEDARRAYSPROC glad_glInterleavedArrays; +#define glInterleavedArrays glad_glInterleavedArrays +typedef void (APIENTRYP PFNGLNORMALPOINTERPROC)(GLenum type, GLsizei stride, const void *pointer); +GLAPI PFNGLNORMALPOINTERPROC glad_glNormalPointer; +#define glNormalPointer glad_glNormalPointer +typedef void (APIENTRYP PFNGLTEXCOORDPOINTERPROC)(GLint size, GLenum type, GLsizei stride, const void *pointer); +GLAPI PFNGLTEXCOORDPOINTERPROC glad_glTexCoordPointer; +#define glTexCoordPointer glad_glTexCoordPointer +typedef void (APIENTRYP PFNGLVERTEXPOINTERPROC)(GLint size, GLenum type, GLsizei stride, const void *pointer); +GLAPI PFNGLVERTEXPOINTERPROC glad_glVertexPointer; +#define glVertexPointer glad_glVertexPointer +typedef GLboolean(APIENTRYP PFNGLARETEXTURESRESIDENTPROC)(GLsizei n, const GLuint *textures, GLboolean *residences); +GLAPI PFNGLARETEXTURESRESIDENTPROC glad_glAreTexturesResident; +#define glAreTexturesResident glad_glAreTexturesResident +typedef void (APIENTRYP PFNGLPRIORITIZETEXTURESPROC)(GLsizei n, const GLuint *textures, const GLfloat *priorities); +GLAPI PFNGLPRIORITIZETEXTURESPROC glad_glPrioritizeTextures; +#define glPrioritizeTextures glad_glPrioritizeTextures +typedef void (APIENTRYP PFNGLINDEXUBPROC)(GLubyte c); +GLAPI PFNGLINDEXUBPROC glad_glIndexub; +#define glIndexub glad_glIndexub +typedef void (APIENTRYP PFNGLINDEXUBVPROC)(const GLubyte *c); +GLAPI PFNGLINDEXUBVPROC glad_glIndexubv; +#define glIndexubv glad_glIndexubv +typedef void (APIENTRYP PFNGLPOPCLIENTATTRIBPROC)(); +GLAPI PFNGLPOPCLIENTATTRIBPROC glad_glPopClientAttrib; +#define glPopClientAttrib glad_glPopClientAttrib +typedef void (APIENTRYP PFNGLPUSHCLIENTATTRIBPROC)(GLbitfield mask); +GLAPI PFNGLPUSHCLIENTATTRIBPROC glad_glPushClientAttrib; +#define glPushClientAttrib glad_glPushClientAttrib +#endif +#ifndef GL_VERSION_1_2 +#define GL_VERSION_1_2 1 +GLAPI int GLAD_GL_VERSION_1_2; +typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices); +GLAPI PFNGLDRAWRANGEELEMENTSPROC glad_glDrawRangeElements; +#define glDrawRangeElements glad_glDrawRangeElements +typedef void (APIENTRYP PFNGLTEXIMAGE3DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, + GLint border, GLenum format, GLenum type, const void *pixels); +GLAPI PFNGLTEXIMAGE3DPROC glad_glTexImage3D; +#define glTexImage3D glad_glTexImage3D +typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, + GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); +GLAPI PFNGLTEXSUBIMAGE3DPROC glad_glTexSubImage3D; +#define glTexSubImage3D glad_glTexSubImage3D +typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, + GLint y, GLsizei width, GLsizei height); +GLAPI PFNGLCOPYTEXSUBIMAGE3DPROC glad_glCopyTexSubImage3D; +#define glCopyTexSubImage3D glad_glCopyTexSubImage3D +#endif +#ifndef GL_VERSION_1_3 +#define GL_VERSION_1_3 1 +GLAPI int GLAD_GL_VERSION_1_3; +typedef void (APIENTRYP PFNGLACTIVETEXTUREPROC)(GLenum texture); +GLAPI PFNGLACTIVETEXTUREPROC glad_glActiveTexture; +#define glActiveTexture glad_glActiveTexture +typedef void (APIENTRYP PFNGLSAMPLECOVERAGEPROC)(GLfloat value, GLboolean invert); +GLAPI PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage; +#define glSampleCoverage glad_glSampleCoverage +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, + GLsizei depth, GLint border, GLsizei imageSize, const void *data); +GLAPI PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_glCompressedTexImage3D; +#define glCompressedTexImage3D glad_glCompressedTexImage3D +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, + GLint border, GLsizei imageSize, const void *data); +GLAPI PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D; +#define glCompressedTexImage2D glad_glCompressedTexImage2D +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, + GLsizei imageSize, const void *data); +GLAPI PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_glCompressedTexImage1D; +#define glCompressedTexImage1D glad_glCompressedTexImage1D +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, + GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); +GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_glCompressedTexSubImage3D; +#define glCompressedTexSubImage3D glad_glCompressedTexSubImage3D +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, + GLsizei height, GLenum format, GLsizei imageSize, const void *data); +GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D; +#define glCompressedTexSubImage2D glad_glCompressedTexSubImage2D +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, + GLsizei imageSize, const void *data); +GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_glCompressedTexSubImage1D; +#define glCompressedTexSubImage1D glad_glCompressedTexSubImage1D +typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC)(GLenum target, GLint level, void *img); +GLAPI PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_glGetCompressedTexImage; +#define glGetCompressedTexImage glad_glGetCompressedTexImage +typedef void (APIENTRYP PFNGLCLIENTACTIVETEXTUREPROC)(GLenum texture); +GLAPI PFNGLCLIENTACTIVETEXTUREPROC glad_glClientActiveTexture; +#define glClientActiveTexture glad_glClientActiveTexture +typedef void (APIENTRYP PFNGLMULTITEXCOORD1DPROC)(GLenum target, GLdouble s); +GLAPI PFNGLMULTITEXCOORD1DPROC glad_glMultiTexCoord1d; +#define glMultiTexCoord1d glad_glMultiTexCoord1d +typedef void (APIENTRYP PFNGLMULTITEXCOORD1DVPROC)(GLenum target, const GLdouble *v); +GLAPI PFNGLMULTITEXCOORD1DVPROC glad_glMultiTexCoord1dv; +#define glMultiTexCoord1dv glad_glMultiTexCoord1dv +typedef void (APIENTRYP PFNGLMULTITEXCOORD1FPROC)(GLenum target, GLfloat s); +GLAPI PFNGLMULTITEXCOORD1FPROC glad_glMultiTexCoord1f; +#define glMultiTexCoord1f glad_glMultiTexCoord1f +typedef void (APIENTRYP PFNGLMULTITEXCOORD1FVPROC)(GLenum target, const GLfloat *v); +GLAPI PFNGLMULTITEXCOORD1FVPROC glad_glMultiTexCoord1fv; +#define glMultiTexCoord1fv glad_glMultiTexCoord1fv +typedef void (APIENTRYP PFNGLMULTITEXCOORD1IPROC)(GLenum target, GLint s); +GLAPI PFNGLMULTITEXCOORD1IPROC glad_glMultiTexCoord1i; +#define glMultiTexCoord1i glad_glMultiTexCoord1i +typedef void (APIENTRYP PFNGLMULTITEXCOORD1IVPROC)(GLenum target, const GLint *v); +GLAPI PFNGLMULTITEXCOORD1IVPROC glad_glMultiTexCoord1iv; +#define glMultiTexCoord1iv glad_glMultiTexCoord1iv +typedef void (APIENTRYP PFNGLMULTITEXCOORD1SPROC)(GLenum target, GLshort s); +GLAPI PFNGLMULTITEXCOORD1SPROC glad_glMultiTexCoord1s; +#define glMultiTexCoord1s glad_glMultiTexCoord1s +typedef void (APIENTRYP PFNGLMULTITEXCOORD1SVPROC)(GLenum target, const GLshort *v); +GLAPI PFNGLMULTITEXCOORD1SVPROC glad_glMultiTexCoord1sv; +#define glMultiTexCoord1sv glad_glMultiTexCoord1sv +typedef void (APIENTRYP PFNGLMULTITEXCOORD2DPROC)(GLenum target, GLdouble s, GLdouble t); +GLAPI PFNGLMULTITEXCOORD2DPROC glad_glMultiTexCoord2d; +#define glMultiTexCoord2d glad_glMultiTexCoord2d +typedef void (APIENTRYP PFNGLMULTITEXCOORD2DVPROC)(GLenum target, const GLdouble *v); +GLAPI PFNGLMULTITEXCOORD2DVPROC glad_glMultiTexCoord2dv; +#define glMultiTexCoord2dv glad_glMultiTexCoord2dv +typedef void (APIENTRYP PFNGLMULTITEXCOORD2FPROC)(GLenum target, GLfloat s, GLfloat t); +GLAPI PFNGLMULTITEXCOORD2FPROC glad_glMultiTexCoord2f; +#define glMultiTexCoord2f glad_glMultiTexCoord2f +typedef void (APIENTRYP PFNGLMULTITEXCOORD2FVPROC)(GLenum target, const GLfloat *v); +GLAPI PFNGLMULTITEXCOORD2FVPROC glad_glMultiTexCoord2fv; +#define glMultiTexCoord2fv glad_glMultiTexCoord2fv +typedef void (APIENTRYP PFNGLMULTITEXCOORD2IPROC)(GLenum target, GLint s, GLint t); +GLAPI PFNGLMULTITEXCOORD2IPROC glad_glMultiTexCoord2i; +#define glMultiTexCoord2i glad_glMultiTexCoord2i +typedef void (APIENTRYP PFNGLMULTITEXCOORD2IVPROC)(GLenum target, const GLint *v); +GLAPI PFNGLMULTITEXCOORD2IVPROC glad_glMultiTexCoord2iv; +#define glMultiTexCoord2iv glad_glMultiTexCoord2iv +typedef void (APIENTRYP PFNGLMULTITEXCOORD2SPROC)(GLenum target, GLshort s, GLshort t); +GLAPI PFNGLMULTITEXCOORD2SPROC glad_glMultiTexCoord2s; +#define glMultiTexCoord2s glad_glMultiTexCoord2s +typedef void (APIENTRYP PFNGLMULTITEXCOORD2SVPROC)(GLenum target, const GLshort *v); +GLAPI PFNGLMULTITEXCOORD2SVPROC glad_glMultiTexCoord2sv; +#define glMultiTexCoord2sv glad_glMultiTexCoord2sv +typedef void (APIENTRYP PFNGLMULTITEXCOORD3DPROC)(GLenum target, GLdouble s, GLdouble t, GLdouble r); +GLAPI PFNGLMULTITEXCOORD3DPROC glad_glMultiTexCoord3d; +#define glMultiTexCoord3d glad_glMultiTexCoord3d +typedef void (APIENTRYP PFNGLMULTITEXCOORD3DVPROC)(GLenum target, const GLdouble *v); +GLAPI PFNGLMULTITEXCOORD3DVPROC glad_glMultiTexCoord3dv; +#define glMultiTexCoord3dv glad_glMultiTexCoord3dv +typedef void (APIENTRYP PFNGLMULTITEXCOORD3FPROC)(GLenum target, GLfloat s, GLfloat t, GLfloat r); +GLAPI PFNGLMULTITEXCOORD3FPROC glad_glMultiTexCoord3f; +#define glMultiTexCoord3f glad_glMultiTexCoord3f +typedef void (APIENTRYP PFNGLMULTITEXCOORD3FVPROC)(GLenum target, const GLfloat *v); +GLAPI PFNGLMULTITEXCOORD3FVPROC glad_glMultiTexCoord3fv; +#define glMultiTexCoord3fv glad_glMultiTexCoord3fv +typedef void (APIENTRYP PFNGLMULTITEXCOORD3IPROC)(GLenum target, GLint s, GLint t, GLint r); +GLAPI PFNGLMULTITEXCOORD3IPROC glad_glMultiTexCoord3i; +#define glMultiTexCoord3i glad_glMultiTexCoord3i +typedef void (APIENTRYP PFNGLMULTITEXCOORD3IVPROC)(GLenum target, const GLint *v); +GLAPI PFNGLMULTITEXCOORD3IVPROC glad_glMultiTexCoord3iv; +#define glMultiTexCoord3iv glad_glMultiTexCoord3iv +typedef void (APIENTRYP PFNGLMULTITEXCOORD3SPROC)(GLenum target, GLshort s, GLshort t, GLshort r); +GLAPI PFNGLMULTITEXCOORD3SPROC glad_glMultiTexCoord3s; +#define glMultiTexCoord3s glad_glMultiTexCoord3s +typedef void (APIENTRYP PFNGLMULTITEXCOORD3SVPROC)(GLenum target, const GLshort *v); +GLAPI PFNGLMULTITEXCOORD3SVPROC glad_glMultiTexCoord3sv; +#define glMultiTexCoord3sv glad_glMultiTexCoord3sv +typedef void (APIENTRYP PFNGLMULTITEXCOORD4DPROC)(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); +GLAPI PFNGLMULTITEXCOORD4DPROC glad_glMultiTexCoord4d; +#define glMultiTexCoord4d glad_glMultiTexCoord4d +typedef void (APIENTRYP PFNGLMULTITEXCOORD4DVPROC)(GLenum target, const GLdouble *v); +GLAPI PFNGLMULTITEXCOORD4DVPROC glad_glMultiTexCoord4dv; +#define glMultiTexCoord4dv glad_glMultiTexCoord4dv +typedef void (APIENTRYP PFNGLMULTITEXCOORD4FPROC)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); +GLAPI PFNGLMULTITEXCOORD4FPROC glad_glMultiTexCoord4f; +#define glMultiTexCoord4f glad_glMultiTexCoord4f +typedef void (APIENTRYP PFNGLMULTITEXCOORD4FVPROC)(GLenum target, const GLfloat *v); +GLAPI PFNGLMULTITEXCOORD4FVPROC glad_glMultiTexCoord4fv; +#define glMultiTexCoord4fv glad_glMultiTexCoord4fv +typedef void (APIENTRYP PFNGLMULTITEXCOORD4IPROC)(GLenum target, GLint s, GLint t, GLint r, GLint q); +GLAPI PFNGLMULTITEXCOORD4IPROC glad_glMultiTexCoord4i; +#define glMultiTexCoord4i glad_glMultiTexCoord4i +typedef void (APIENTRYP PFNGLMULTITEXCOORD4IVPROC)(GLenum target, const GLint *v); +GLAPI PFNGLMULTITEXCOORD4IVPROC glad_glMultiTexCoord4iv; +#define glMultiTexCoord4iv glad_glMultiTexCoord4iv +typedef void (APIENTRYP PFNGLMULTITEXCOORD4SPROC)(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); +GLAPI PFNGLMULTITEXCOORD4SPROC glad_glMultiTexCoord4s; +#define glMultiTexCoord4s glad_glMultiTexCoord4s +typedef void (APIENTRYP PFNGLMULTITEXCOORD4SVPROC)(GLenum target, const GLshort *v); +GLAPI PFNGLMULTITEXCOORD4SVPROC glad_glMultiTexCoord4sv; +#define glMultiTexCoord4sv glad_glMultiTexCoord4sv +typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXFPROC)(const GLfloat *m); +GLAPI PFNGLLOADTRANSPOSEMATRIXFPROC glad_glLoadTransposeMatrixf; +#define glLoadTransposeMatrixf glad_glLoadTransposeMatrixf +typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXDPROC)(const GLdouble *m); +GLAPI PFNGLLOADTRANSPOSEMATRIXDPROC glad_glLoadTransposeMatrixd; +#define glLoadTransposeMatrixd glad_glLoadTransposeMatrixd +typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXFPROC)(const GLfloat *m); +GLAPI PFNGLMULTTRANSPOSEMATRIXFPROC glad_glMultTransposeMatrixf; +#define glMultTransposeMatrixf glad_glMultTransposeMatrixf +typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXDPROC)(const GLdouble *m); +GLAPI PFNGLMULTTRANSPOSEMATRIXDPROC glad_glMultTransposeMatrixd; +#define glMultTransposeMatrixd glad_glMultTransposeMatrixd +#endif +#ifndef GL_VERSION_1_4 +#define GL_VERSION_1_4 1 +GLAPI int GLAD_GL_VERSION_1_4; +typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEPROC)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); +GLAPI PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate; +#define glBlendFuncSeparate glad_glBlendFuncSeparate +typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSPROC)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount); +GLAPI PFNGLMULTIDRAWARRAYSPROC glad_glMultiDrawArrays; +#define glMultiDrawArrays glad_glMultiDrawArrays +typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSPROC)(GLenum mode, const GLsizei *count, GLenum type, const void *const *indices, + GLsizei drawcount); +GLAPI PFNGLMULTIDRAWELEMENTSPROC glad_glMultiDrawElements; +#define glMultiDrawElements glad_glMultiDrawElements +typedef void (APIENTRYP PFNGLPOINTPARAMETERFPROC)(GLenum pname, GLfloat param); +GLAPI PFNGLPOINTPARAMETERFPROC glad_glPointParameterf; +#define glPointParameterf glad_glPointParameterf +typedef void (APIENTRYP PFNGLPOINTPARAMETERFVPROC)(GLenum pname, const GLfloat *params); +GLAPI PFNGLPOINTPARAMETERFVPROC glad_glPointParameterfv; +#define glPointParameterfv glad_glPointParameterfv +typedef void (APIENTRYP PFNGLPOINTPARAMETERIPROC)(GLenum pname, GLint param); +GLAPI PFNGLPOINTPARAMETERIPROC glad_glPointParameteri; +#define glPointParameteri glad_glPointParameteri +typedef void (APIENTRYP PFNGLPOINTPARAMETERIVPROC)(GLenum pname, const GLint *params); +GLAPI PFNGLPOINTPARAMETERIVPROC glad_glPointParameteriv; +#define glPointParameteriv glad_glPointParameteriv +typedef void (APIENTRYP PFNGLFOGCOORDFPROC)(GLfloat coord); +GLAPI PFNGLFOGCOORDFPROC glad_glFogCoordf; +#define glFogCoordf glad_glFogCoordf +typedef void (APIENTRYP PFNGLFOGCOORDFVPROC)(const GLfloat *coord); +GLAPI PFNGLFOGCOORDFVPROC glad_glFogCoordfv; +#define glFogCoordfv glad_glFogCoordfv +typedef void (APIENTRYP PFNGLFOGCOORDDPROC)(GLdouble coord); +GLAPI PFNGLFOGCOORDDPROC glad_glFogCoordd; +#define glFogCoordd glad_glFogCoordd +typedef void (APIENTRYP PFNGLFOGCOORDDVPROC)(const GLdouble *coord); +GLAPI PFNGLFOGCOORDDVPROC glad_glFogCoorddv; +#define glFogCoorddv glad_glFogCoorddv +typedef void (APIENTRYP PFNGLFOGCOORDPOINTERPROC)(GLenum type, GLsizei stride, const void *pointer); +GLAPI PFNGLFOGCOORDPOINTERPROC glad_glFogCoordPointer; +#define glFogCoordPointer glad_glFogCoordPointer +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BPROC)(GLbyte red, GLbyte green, GLbyte blue); +GLAPI PFNGLSECONDARYCOLOR3BPROC glad_glSecondaryColor3b; +#define glSecondaryColor3b glad_glSecondaryColor3b +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BVPROC)(const GLbyte *v); +GLAPI PFNGLSECONDARYCOLOR3BVPROC glad_glSecondaryColor3bv; +#define glSecondaryColor3bv glad_glSecondaryColor3bv +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3DPROC)(GLdouble red, GLdouble green, GLdouble blue); +GLAPI PFNGLSECONDARYCOLOR3DPROC glad_glSecondaryColor3d; +#define glSecondaryColor3d glad_glSecondaryColor3d +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3DVPROC)(const GLdouble *v); +GLAPI PFNGLSECONDARYCOLOR3DVPROC glad_glSecondaryColor3dv; +#define glSecondaryColor3dv glad_glSecondaryColor3dv +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3FPROC)(GLfloat red, GLfloat green, GLfloat blue); +GLAPI PFNGLSECONDARYCOLOR3FPROC glad_glSecondaryColor3f; +#define glSecondaryColor3f glad_glSecondaryColor3f +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3FVPROC)(const GLfloat *v); +GLAPI PFNGLSECONDARYCOLOR3FVPROC glad_glSecondaryColor3fv; +#define glSecondaryColor3fv glad_glSecondaryColor3fv +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3IPROC)(GLint red, GLint green, GLint blue); +GLAPI PFNGLSECONDARYCOLOR3IPROC glad_glSecondaryColor3i; +#define glSecondaryColor3i glad_glSecondaryColor3i +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3IVPROC)(const GLint *v); +GLAPI PFNGLSECONDARYCOLOR3IVPROC glad_glSecondaryColor3iv; +#define glSecondaryColor3iv glad_glSecondaryColor3iv +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3SPROC)(GLshort red, GLshort green, GLshort blue); +GLAPI PFNGLSECONDARYCOLOR3SPROC glad_glSecondaryColor3s; +#define glSecondaryColor3s glad_glSecondaryColor3s +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3SVPROC)(const GLshort *v); +GLAPI PFNGLSECONDARYCOLOR3SVPROC glad_glSecondaryColor3sv; +#define glSecondaryColor3sv glad_glSecondaryColor3sv +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBPROC)(GLubyte red, GLubyte green, GLubyte blue); +GLAPI PFNGLSECONDARYCOLOR3UBPROC glad_glSecondaryColor3ub; +#define glSecondaryColor3ub glad_glSecondaryColor3ub +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBVPROC)(const GLubyte *v); +GLAPI PFNGLSECONDARYCOLOR3UBVPROC glad_glSecondaryColor3ubv; +#define glSecondaryColor3ubv glad_glSecondaryColor3ubv +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIPROC)(GLuint red, GLuint green, GLuint blue); +GLAPI PFNGLSECONDARYCOLOR3UIPROC glad_glSecondaryColor3ui; +#define glSecondaryColor3ui glad_glSecondaryColor3ui +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIVPROC)(const GLuint *v); +GLAPI PFNGLSECONDARYCOLOR3UIVPROC glad_glSecondaryColor3uiv; +#define glSecondaryColor3uiv glad_glSecondaryColor3uiv +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3USPROC)(GLushort red, GLushort green, GLushort blue); +GLAPI PFNGLSECONDARYCOLOR3USPROC glad_glSecondaryColor3us; +#define glSecondaryColor3us glad_glSecondaryColor3us +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3USVPROC)(const GLushort *v); +GLAPI PFNGLSECONDARYCOLOR3USVPROC glad_glSecondaryColor3usv; +#define glSecondaryColor3usv glad_glSecondaryColor3usv +typedef void (APIENTRYP PFNGLSECONDARYCOLORPOINTERPROC)(GLint size, GLenum type, GLsizei stride, const void *pointer); +GLAPI PFNGLSECONDARYCOLORPOINTERPROC glad_glSecondaryColorPointer; +#define glSecondaryColorPointer glad_glSecondaryColorPointer +typedef void (APIENTRYP PFNGLWINDOWPOS2DPROC)(GLdouble x, GLdouble y); +GLAPI PFNGLWINDOWPOS2DPROC glad_glWindowPos2d; +#define glWindowPos2d glad_glWindowPos2d +typedef void (APIENTRYP PFNGLWINDOWPOS2DVPROC)(const GLdouble *v); +GLAPI PFNGLWINDOWPOS2DVPROC glad_glWindowPos2dv; +#define glWindowPos2dv glad_glWindowPos2dv +typedef void (APIENTRYP PFNGLWINDOWPOS2FPROC)(GLfloat x, GLfloat y); +GLAPI PFNGLWINDOWPOS2FPROC glad_glWindowPos2f; +#define glWindowPos2f glad_glWindowPos2f +typedef void (APIENTRYP PFNGLWINDOWPOS2FVPROC)(const GLfloat *v); +GLAPI PFNGLWINDOWPOS2FVPROC glad_glWindowPos2fv; +#define glWindowPos2fv glad_glWindowPos2fv +typedef void (APIENTRYP PFNGLWINDOWPOS2IPROC)(GLint x, GLint y); +GLAPI PFNGLWINDOWPOS2IPROC glad_glWindowPos2i; +#define glWindowPos2i glad_glWindowPos2i +typedef void (APIENTRYP PFNGLWINDOWPOS2IVPROC)(const GLint *v); +GLAPI PFNGLWINDOWPOS2IVPROC glad_glWindowPos2iv; +#define glWindowPos2iv glad_glWindowPos2iv +typedef void (APIENTRYP PFNGLWINDOWPOS2SPROC)(GLshort x, GLshort y); +GLAPI PFNGLWINDOWPOS2SPROC glad_glWindowPos2s; +#define glWindowPos2s glad_glWindowPos2s +typedef void (APIENTRYP PFNGLWINDOWPOS2SVPROC)(const GLshort *v); +GLAPI PFNGLWINDOWPOS2SVPROC glad_glWindowPos2sv; +#define glWindowPos2sv glad_glWindowPos2sv +typedef void (APIENTRYP PFNGLWINDOWPOS3DPROC)(GLdouble x, GLdouble y, GLdouble z); +GLAPI PFNGLWINDOWPOS3DPROC glad_glWindowPos3d; +#define glWindowPos3d glad_glWindowPos3d +typedef void (APIENTRYP PFNGLWINDOWPOS3DVPROC)(const GLdouble *v); +GLAPI PFNGLWINDOWPOS3DVPROC glad_glWindowPos3dv; +#define glWindowPos3dv glad_glWindowPos3dv +typedef void (APIENTRYP PFNGLWINDOWPOS3FPROC)(GLfloat x, GLfloat y, GLfloat z); +GLAPI PFNGLWINDOWPOS3FPROC glad_glWindowPos3f; +#define glWindowPos3f glad_glWindowPos3f +typedef void (APIENTRYP PFNGLWINDOWPOS3FVPROC)(const GLfloat *v); +GLAPI PFNGLWINDOWPOS3FVPROC glad_glWindowPos3fv; +#define glWindowPos3fv glad_glWindowPos3fv +typedef void (APIENTRYP PFNGLWINDOWPOS3IPROC)(GLint x, GLint y, GLint z); +GLAPI PFNGLWINDOWPOS3IPROC glad_glWindowPos3i; +#define glWindowPos3i glad_glWindowPos3i +typedef void (APIENTRYP PFNGLWINDOWPOS3IVPROC)(const GLint *v); +GLAPI PFNGLWINDOWPOS3IVPROC glad_glWindowPos3iv; +#define glWindowPos3iv glad_glWindowPos3iv +typedef void (APIENTRYP PFNGLWINDOWPOS3SPROC)(GLshort x, GLshort y, GLshort z); +GLAPI PFNGLWINDOWPOS3SPROC glad_glWindowPos3s; +#define glWindowPos3s glad_glWindowPos3s +typedef void (APIENTRYP PFNGLWINDOWPOS3SVPROC)(const GLshort *v); +GLAPI PFNGLWINDOWPOS3SVPROC glad_glWindowPos3sv; +#define glWindowPos3sv glad_glWindowPos3sv +typedef void (APIENTRYP PFNGLBLENDCOLORPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); +GLAPI PFNGLBLENDCOLORPROC glad_glBlendColor; +#define glBlendColor glad_glBlendColor +typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC)(GLenum mode); +GLAPI PFNGLBLENDEQUATIONPROC glad_glBlendEquation; +#define glBlendEquation glad_glBlendEquation +#endif +#ifndef GL_VERSION_1_5 +#define GL_VERSION_1_5 1 +GLAPI int GLAD_GL_VERSION_1_5; +typedef void (APIENTRYP PFNGLGENQUERIESPROC)(GLsizei n, GLuint *ids); +GLAPI PFNGLGENQUERIESPROC glad_glGenQueries; +#define glGenQueries glad_glGenQueries +typedef void (APIENTRYP PFNGLDELETEQUERIESPROC)(GLsizei n, const GLuint *ids); +GLAPI PFNGLDELETEQUERIESPROC glad_glDeleteQueries; +#define glDeleteQueries glad_glDeleteQueries +typedef GLboolean(APIENTRYP PFNGLISQUERYPROC)(GLuint id); +GLAPI PFNGLISQUERYPROC glad_glIsQuery; +#define glIsQuery glad_glIsQuery +typedef void (APIENTRYP PFNGLBEGINQUERYPROC)(GLenum target, GLuint id); +GLAPI PFNGLBEGINQUERYPROC glad_glBeginQuery; +#define glBeginQuery glad_glBeginQuery +typedef void (APIENTRYP PFNGLENDQUERYPROC)(GLenum target); +GLAPI PFNGLENDQUERYPROC glad_glEndQuery; +#define glEndQuery glad_glEndQuery +typedef void (APIENTRYP PFNGLGETQUERYIVPROC)(GLenum target, GLenum pname, GLint *params); +GLAPI PFNGLGETQUERYIVPROC glad_glGetQueryiv; +#define glGetQueryiv glad_glGetQueryiv +typedef void (APIENTRYP PFNGLGETQUERYOBJECTIVPROC)(GLuint id, GLenum pname, GLint *params); +GLAPI PFNGLGETQUERYOBJECTIVPROC glad_glGetQueryObjectiv; +#define glGetQueryObjectiv glad_glGetQueryObjectiv +typedef void (APIENTRYP PFNGLGETQUERYOBJECTUIVPROC)(GLuint id, GLenum pname, GLuint *params); +GLAPI PFNGLGETQUERYOBJECTUIVPROC glad_glGetQueryObjectuiv; +#define glGetQueryObjectuiv glad_glGetQueryObjectuiv +typedef void (APIENTRYP PFNGLBINDBUFFERPROC)(GLenum target, GLuint buffer); +GLAPI PFNGLBINDBUFFERPROC glad_glBindBuffer; +#define glBindBuffer glad_glBindBuffer +typedef void (APIENTRYP PFNGLDELETEBUFFERSPROC)(GLsizei n, const GLuint *buffers); +GLAPI PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers; +#define glDeleteBuffers glad_glDeleteBuffers +typedef void (APIENTRYP PFNGLGENBUFFERSPROC)(GLsizei n, GLuint *buffers); +GLAPI PFNGLGENBUFFERSPROC glad_glGenBuffers; +#define glGenBuffers glad_glGenBuffers +typedef GLboolean(APIENTRYP PFNGLISBUFFERPROC)(GLuint buffer); +GLAPI PFNGLISBUFFERPROC glad_glIsBuffer; +#define glIsBuffer glad_glIsBuffer +typedef void (APIENTRYP PFNGLBUFFERDATAPROC)(GLenum target, GLsizeiptr size, const void *data, GLenum usage); +GLAPI PFNGLBUFFERDATAPROC glad_glBufferData; +#define glBufferData glad_glBufferData +typedef void (APIENTRYP PFNGLBUFFERSUBDATAPROC)(GLenum target, GLintptr offset, GLsizeiptr size, const void *data); +GLAPI PFNGLBUFFERSUBDATAPROC glad_glBufferSubData; +#define glBufferSubData glad_glBufferSubData +typedef void (APIENTRYP PFNGLGETBUFFERSUBDATAPROC)(GLenum target, GLintptr offset, GLsizeiptr size, void *data); +GLAPI PFNGLGETBUFFERSUBDATAPROC glad_glGetBufferSubData; +#define glGetBufferSubData glad_glGetBufferSubData +typedef void *(APIENTRYP PFNGLMAPBUFFERPROC)(GLenum target, GLenum access); +GLAPI PFNGLMAPBUFFERPROC glad_glMapBuffer; +#define glMapBuffer glad_glMapBuffer +typedef GLboolean(APIENTRYP PFNGLUNMAPBUFFERPROC)(GLenum target); +GLAPI PFNGLUNMAPBUFFERPROC glad_glUnmapBuffer; +#define glUnmapBuffer glad_glUnmapBuffer +typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params); +GLAPI PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv; +#define glGetBufferParameteriv glad_glGetBufferParameteriv +typedef void (APIENTRYP PFNGLGETBUFFERPOINTERVPROC)(GLenum target, GLenum pname, void **params); +GLAPI PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv; +#define glGetBufferPointerv glad_glGetBufferPointerv +#endif +#ifndef GL_VERSION_2_0 +#define GL_VERSION_2_0 1 +GLAPI int GLAD_GL_VERSION_2_0; +typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC)(GLenum modeRGB, GLenum modeAlpha); +GLAPI PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate; +#define glBlendEquationSeparate glad_glBlendEquationSeparate +typedef void (APIENTRYP PFNGLDRAWBUFFERSPROC)(GLsizei n, const GLenum *bufs); +GLAPI PFNGLDRAWBUFFERSPROC glad_glDrawBuffers; +#define glDrawBuffers glad_glDrawBuffers +typedef void (APIENTRYP PFNGLSTENCILOPSEPARATEPROC)(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); +GLAPI PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate; +#define glStencilOpSeparate glad_glStencilOpSeparate +typedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC)(GLenum face, GLenum func, GLint ref, GLuint mask); +GLAPI PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate; +#define glStencilFuncSeparate glad_glStencilFuncSeparate +typedef void (APIENTRYP PFNGLSTENCILMASKSEPARATEPROC)(GLenum face, GLuint mask); +GLAPI PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate; +#define glStencilMaskSeparate glad_glStencilMaskSeparate +typedef void (APIENTRYP PFNGLATTACHSHADERPROC)(GLuint program, GLuint shader); +GLAPI PFNGLATTACHSHADERPROC glad_glAttachShader; +#define glAttachShader glad_glAttachShader +typedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONPROC)(GLuint program, GLuint index, const GLchar *name); +GLAPI PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation; +#define glBindAttribLocation glad_glBindAttribLocation +typedef void (APIENTRYP PFNGLCOMPILESHADERPROC)(GLuint shader); +GLAPI PFNGLCOMPILESHADERPROC glad_glCompileShader; +#define glCompileShader glad_glCompileShader +typedef GLuint(APIENTRYP PFNGLCREATEPROGRAMPROC)(); +GLAPI PFNGLCREATEPROGRAMPROC glad_glCreateProgram; +#define glCreateProgram glad_glCreateProgram +typedef GLuint(APIENTRYP PFNGLCREATESHADERPROC)(GLenum type); +GLAPI PFNGLCREATESHADERPROC glad_glCreateShader; +#define glCreateShader glad_glCreateShader +typedef void (APIENTRYP PFNGLDELETEPROGRAMPROC)(GLuint program); +GLAPI PFNGLDELETEPROGRAMPROC glad_glDeleteProgram; +#define glDeleteProgram glad_glDeleteProgram +typedef void (APIENTRYP PFNGLDELETESHADERPROC)(GLuint shader); +GLAPI PFNGLDELETESHADERPROC glad_glDeleteShader; +#define glDeleteShader glad_glDeleteShader +typedef void (APIENTRYP PFNGLDETACHSHADERPROC)(GLuint program, GLuint shader); +GLAPI PFNGLDETACHSHADERPROC glad_glDetachShader; +#define glDetachShader glad_glDetachShader +typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC)(GLuint index); +GLAPI PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray; +#define glDisableVertexAttribArray glad_glDisableVertexAttribArray +typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC)(GLuint index); +GLAPI PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray; +#define glEnableVertexAttribArray glad_glEnableVertexAttribArray +typedef void (APIENTRYP PFNGLGETACTIVEATTRIBPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, + GLchar *name); +GLAPI PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib; +#define glGetActiveAttrib glad_glGetActiveAttrib +typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, + GLenum *type, GLchar *name); +GLAPI PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform; +#define glGetActiveUniform glad_glGetActiveUniform +typedef void (APIENTRYP PFNGLGETATTACHEDSHADERSPROC)(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders); +GLAPI PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders; +#define glGetAttachedShaders glad_glGetAttachedShaders +typedef GLint(APIENTRYP PFNGLGETATTRIBLOCATIONPROC)(GLuint program, const GLchar *name); +GLAPI PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation; +#define glGetAttribLocation glad_glGetAttribLocation +typedef void (APIENTRYP PFNGLGETPROGRAMIVPROC)(GLuint program, GLenum pname, GLint *params); +GLAPI PFNGLGETPROGRAMIVPROC glad_glGetProgramiv; +#define glGetProgramiv glad_glGetProgramiv +typedef void (APIENTRYP PFNGLGETPROGRAMINFOLOGPROC)(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog); +GLAPI PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog; +#define glGetProgramInfoLog glad_glGetProgramInfoLog +typedef void (APIENTRYP PFNGLGETSHADERIVPROC)(GLuint shader, GLenum pname, GLint *params); +GLAPI PFNGLGETSHADERIVPROC glad_glGetShaderiv; +#define glGetShaderiv glad_glGetShaderiv +typedef void (APIENTRYP PFNGLGETSHADERINFOLOGPROC)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog); +GLAPI PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog; +#define glGetShaderInfoLog glad_glGetShaderInfoLog +typedef void (APIENTRYP PFNGLGETSHADERSOURCEPROC)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source); +GLAPI PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource; +#define glGetShaderSource glad_glGetShaderSource +typedef GLint(APIENTRYP PFNGLGETUNIFORMLOCATIONPROC)(GLuint program, const GLchar *name); +GLAPI PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation; +#define glGetUniformLocation glad_glGetUniformLocation +typedef void (APIENTRYP PFNGLGETUNIFORMFVPROC)(GLuint program, GLint location, GLfloat *params); +GLAPI PFNGLGETUNIFORMFVPROC glad_glGetUniformfv; +#define glGetUniformfv glad_glGetUniformfv +typedef void (APIENTRYP PFNGLGETUNIFORMIVPROC)(GLuint program, GLint location, GLint *params); +GLAPI PFNGLGETUNIFORMIVPROC glad_glGetUniformiv; +#define glGetUniformiv glad_glGetUniformiv +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVPROC)(GLuint index, GLenum pname, GLdouble *params); +GLAPI PFNGLGETVERTEXATTRIBDVPROC glad_glGetVertexAttribdv; +#define glGetVertexAttribdv glad_glGetVertexAttribdv +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVPROC)(GLuint index, GLenum pname, GLfloat *params); +GLAPI PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv; +#define glGetVertexAttribfv glad_glGetVertexAttribfv +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVPROC)(GLuint index, GLenum pname, GLint *params); +GLAPI PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv; +#define glGetVertexAttribiv glad_glGetVertexAttribiv +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC)(GLuint index, GLenum pname, void **pointer); +GLAPI PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv; +#define glGetVertexAttribPointerv glad_glGetVertexAttribPointerv +typedef GLboolean(APIENTRYP PFNGLISPROGRAMPROC)(GLuint program); +GLAPI PFNGLISPROGRAMPROC glad_glIsProgram; +#define glIsProgram glad_glIsProgram +typedef GLboolean(APIENTRYP PFNGLISSHADERPROC)(GLuint shader); +GLAPI PFNGLISSHADERPROC glad_glIsShader; +#define glIsShader glad_glIsShader +typedef void (APIENTRYP PFNGLLINKPROGRAMPROC)(GLuint program); +GLAPI PFNGLLINKPROGRAMPROC glad_glLinkProgram; +#define glLinkProgram glad_glLinkProgram +typedef void (APIENTRYP PFNGLSHADERSOURCEPROC)(GLuint shader, GLsizei count, const GLchar *const *string, const GLint *length); +GLAPI PFNGLSHADERSOURCEPROC glad_glShaderSource; +#define glShaderSource glad_glShaderSource +typedef void (APIENTRYP PFNGLUSEPROGRAMPROC)(GLuint program); +GLAPI PFNGLUSEPROGRAMPROC glad_glUseProgram; +#define glUseProgram glad_glUseProgram +typedef void (APIENTRYP PFNGLUNIFORM1FPROC)(GLint location, GLfloat v0); +GLAPI PFNGLUNIFORM1FPROC glad_glUniform1f; +#define glUniform1f glad_glUniform1f +typedef void (APIENTRYP PFNGLUNIFORM2FPROC)(GLint location, GLfloat v0, GLfloat v1); +GLAPI PFNGLUNIFORM2FPROC glad_glUniform2f; +#define glUniform2f glad_glUniform2f +typedef void (APIENTRYP PFNGLUNIFORM3FPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2); +GLAPI PFNGLUNIFORM3FPROC glad_glUniform3f; +#define glUniform3f glad_glUniform3f +typedef void (APIENTRYP PFNGLUNIFORM4FPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); +GLAPI PFNGLUNIFORM4FPROC glad_glUniform4f; +#define glUniform4f glad_glUniform4f +typedef void (APIENTRYP PFNGLUNIFORM1IPROC)(GLint location, GLint v0); +GLAPI PFNGLUNIFORM1IPROC glad_glUniform1i; +#define glUniform1i glad_glUniform1i +typedef void (APIENTRYP PFNGLUNIFORM2IPROC)(GLint location, GLint v0, GLint v1); +GLAPI PFNGLUNIFORM2IPROC glad_glUniform2i; +#define glUniform2i glad_glUniform2i +typedef void (APIENTRYP PFNGLUNIFORM3IPROC)(GLint location, GLint v0, GLint v1, GLint v2); +GLAPI PFNGLUNIFORM3IPROC glad_glUniform3i; +#define glUniform3i glad_glUniform3i +typedef void (APIENTRYP PFNGLUNIFORM4IPROC)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3); +GLAPI PFNGLUNIFORM4IPROC glad_glUniform4i; +#define glUniform4i glad_glUniform4i +typedef void (APIENTRYP PFNGLUNIFORM1FVPROC)(GLint location, GLsizei count, const GLfloat *value); +GLAPI PFNGLUNIFORM1FVPROC glad_glUniform1fv; +#define glUniform1fv glad_glUniform1fv +typedef void (APIENTRYP PFNGLUNIFORM2FVPROC)(GLint location, GLsizei count, const GLfloat *value); +GLAPI PFNGLUNIFORM2FVPROC glad_glUniform2fv; +#define glUniform2fv glad_glUniform2fv +typedef void (APIENTRYP PFNGLUNIFORM3FVPROC)(GLint location, GLsizei count, const GLfloat *value); +GLAPI PFNGLUNIFORM3FVPROC glad_glUniform3fv; +#define glUniform3fv glad_glUniform3fv +typedef void (APIENTRYP PFNGLUNIFORM4FVPROC)(GLint location, GLsizei count, const GLfloat *value); +GLAPI PFNGLUNIFORM4FVPROC glad_glUniform4fv; +#define glUniform4fv glad_glUniform4fv +typedef void (APIENTRYP PFNGLUNIFORM1IVPROC)(GLint location, GLsizei count, const GLint *value); +GLAPI PFNGLUNIFORM1IVPROC glad_glUniform1iv; +#define glUniform1iv glad_glUniform1iv +typedef void (APIENTRYP PFNGLUNIFORM2IVPROC)(GLint location, GLsizei count, const GLint *value); +GLAPI PFNGLUNIFORM2IVPROC glad_glUniform2iv; +#define glUniform2iv glad_glUniform2iv +typedef void (APIENTRYP PFNGLUNIFORM3IVPROC)(GLint location, GLsizei count, const GLint *value); +GLAPI PFNGLUNIFORM3IVPROC glad_glUniform3iv; +#define glUniform3iv glad_glUniform3iv +typedef void (APIENTRYP PFNGLUNIFORM4IVPROC)(GLint location, GLsizei count, const GLint *value); +GLAPI PFNGLUNIFORM4IVPROC glad_glUniform4iv; +#define glUniform4iv glad_glUniform4iv +typedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv; +#define glUniformMatrix2fv glad_glUniformMatrix2fv +typedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv; +#define glUniformMatrix3fv glad_glUniformMatrix3fv +typedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv; +#define glUniformMatrix4fv glad_glUniformMatrix4fv +typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPROC)(GLuint program); +GLAPI PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram; +#define glValidateProgram glad_glValidateProgram +typedef void (APIENTRYP PFNGLVERTEXATTRIB1DPROC)(GLuint index, GLdouble x); +GLAPI PFNGLVERTEXATTRIB1DPROC glad_glVertexAttrib1d; +#define glVertexAttrib1d glad_glVertexAttrib1d +typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVPROC)(GLuint index, const GLdouble *v); +GLAPI PFNGLVERTEXATTRIB1DVPROC glad_glVertexAttrib1dv; +#define glVertexAttrib1dv glad_glVertexAttrib1dv +typedef void (APIENTRYP PFNGLVERTEXATTRIB1FPROC)(GLuint index, GLfloat x); +GLAPI PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f; +#define glVertexAttrib1f glad_glVertexAttrib1f +typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVPROC)(GLuint index, const GLfloat *v); +GLAPI PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv; +#define glVertexAttrib1fv glad_glVertexAttrib1fv +typedef void (APIENTRYP PFNGLVERTEXATTRIB1SPROC)(GLuint index, GLshort x); +GLAPI PFNGLVERTEXATTRIB1SPROC glad_glVertexAttrib1s; +#define glVertexAttrib1s glad_glVertexAttrib1s +typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVPROC)(GLuint index, const GLshort *v); +GLAPI PFNGLVERTEXATTRIB1SVPROC glad_glVertexAttrib1sv; +#define glVertexAttrib1sv glad_glVertexAttrib1sv +typedef void (APIENTRYP PFNGLVERTEXATTRIB2DPROC)(GLuint index, GLdouble x, GLdouble y); +GLAPI PFNGLVERTEXATTRIB2DPROC glad_glVertexAttrib2d; +#define glVertexAttrib2d glad_glVertexAttrib2d +typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVPROC)(GLuint index, const GLdouble *v); +GLAPI PFNGLVERTEXATTRIB2DVPROC glad_glVertexAttrib2dv; +#define glVertexAttrib2dv glad_glVertexAttrib2dv +typedef void (APIENTRYP PFNGLVERTEXATTRIB2FPROC)(GLuint index, GLfloat x, GLfloat y); +GLAPI PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f; +#define glVertexAttrib2f glad_glVertexAttrib2f +typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVPROC)(GLuint index, const GLfloat *v); +GLAPI PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv; +#define glVertexAttrib2fv glad_glVertexAttrib2fv +typedef void (APIENTRYP PFNGLVERTEXATTRIB2SPROC)(GLuint index, GLshort x, GLshort y); +GLAPI PFNGLVERTEXATTRIB2SPROC glad_glVertexAttrib2s; +#define glVertexAttrib2s glad_glVertexAttrib2s +typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVPROC)(GLuint index, const GLshort *v); +GLAPI PFNGLVERTEXATTRIB2SVPROC glad_glVertexAttrib2sv; +#define glVertexAttrib2sv glad_glVertexAttrib2sv +typedef void (APIENTRYP PFNGLVERTEXATTRIB3DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z); +GLAPI PFNGLVERTEXATTRIB3DPROC glad_glVertexAttrib3d; +#define glVertexAttrib3d glad_glVertexAttrib3d +typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVPROC)(GLuint index, const GLdouble *v); +GLAPI PFNGLVERTEXATTRIB3DVPROC glad_glVertexAttrib3dv; +#define glVertexAttrib3dv glad_glVertexAttrib3dv +typedef void (APIENTRYP PFNGLVERTEXATTRIB3FPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z); +GLAPI PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f; +#define glVertexAttrib3f glad_glVertexAttrib3f +typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVPROC)(GLuint index, const GLfloat *v); +GLAPI PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv; +#define glVertexAttrib3fv glad_glVertexAttrib3fv +typedef void (APIENTRYP PFNGLVERTEXATTRIB3SPROC)(GLuint index, GLshort x, GLshort y, GLshort z); +GLAPI PFNGLVERTEXATTRIB3SPROC glad_glVertexAttrib3s; +#define glVertexAttrib3s glad_glVertexAttrib3s +typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVPROC)(GLuint index, const GLshort *v); +GLAPI PFNGLVERTEXATTRIB3SVPROC glad_glVertexAttrib3sv; +#define glVertexAttrib3sv glad_glVertexAttrib3sv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVPROC)(GLuint index, const GLbyte *v); +GLAPI PFNGLVERTEXATTRIB4NBVPROC glad_glVertexAttrib4Nbv; +#define glVertexAttrib4Nbv glad_glVertexAttrib4Nbv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVPROC)(GLuint index, const GLint *v); +GLAPI PFNGLVERTEXATTRIB4NIVPROC glad_glVertexAttrib4Niv; +#define glVertexAttrib4Niv glad_glVertexAttrib4Niv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVPROC)(GLuint index, const GLshort *v); +GLAPI PFNGLVERTEXATTRIB4NSVPROC glad_glVertexAttrib4Nsv; +#define glVertexAttrib4Nsv glad_glVertexAttrib4Nsv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBPROC)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); +GLAPI PFNGLVERTEXATTRIB4NUBPROC glad_glVertexAttrib4Nub; +#define glVertexAttrib4Nub glad_glVertexAttrib4Nub +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVPROC)(GLuint index, const GLubyte *v); +GLAPI PFNGLVERTEXATTRIB4NUBVPROC glad_glVertexAttrib4Nubv; +#define glVertexAttrib4Nubv glad_glVertexAttrib4Nubv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVPROC)(GLuint index, const GLuint *v); +GLAPI PFNGLVERTEXATTRIB4NUIVPROC glad_glVertexAttrib4Nuiv; +#define glVertexAttrib4Nuiv glad_glVertexAttrib4Nuiv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVPROC)(GLuint index, const GLushort *v); +GLAPI PFNGLVERTEXATTRIB4NUSVPROC glad_glVertexAttrib4Nusv; +#define glVertexAttrib4Nusv glad_glVertexAttrib4Nusv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4BVPROC)(GLuint index, const GLbyte *v); +GLAPI PFNGLVERTEXATTRIB4BVPROC glad_glVertexAttrib4bv; +#define glVertexAttrib4bv glad_glVertexAttrib4bv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +GLAPI PFNGLVERTEXATTRIB4DPROC glad_glVertexAttrib4d; +#define glVertexAttrib4d glad_glVertexAttrib4d +typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVPROC)(GLuint index, const GLdouble *v); +GLAPI PFNGLVERTEXATTRIB4DVPROC glad_glVertexAttrib4dv; +#define glVertexAttrib4dv glad_glVertexAttrib4dv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4FPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +GLAPI PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f; +#define glVertexAttrib4f glad_glVertexAttrib4f +typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVPROC)(GLuint index, const GLfloat *v); +GLAPI PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv; +#define glVertexAttrib4fv glad_glVertexAttrib4fv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4IVPROC)(GLuint index, const GLint *v); +GLAPI PFNGLVERTEXATTRIB4IVPROC glad_glVertexAttrib4iv; +#define glVertexAttrib4iv glad_glVertexAttrib4iv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4SPROC)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); +GLAPI PFNGLVERTEXATTRIB4SPROC glad_glVertexAttrib4s; +#define glVertexAttrib4s glad_glVertexAttrib4s +typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVPROC)(GLuint index, const GLshort *v); +GLAPI PFNGLVERTEXATTRIB4SVPROC glad_glVertexAttrib4sv; +#define glVertexAttrib4sv glad_glVertexAttrib4sv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVPROC)(GLuint index, const GLubyte *v); +GLAPI PFNGLVERTEXATTRIB4UBVPROC glad_glVertexAttrib4ubv; +#define glVertexAttrib4ubv glad_glVertexAttrib4ubv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVPROC)(GLuint index, const GLuint *v); +GLAPI PFNGLVERTEXATTRIB4UIVPROC glad_glVertexAttrib4uiv; +#define glVertexAttrib4uiv glad_glVertexAttrib4uiv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4USVPROC)(GLuint index, const GLushort *v); +GLAPI PFNGLVERTEXATTRIB4USVPROC glad_glVertexAttrib4usv; +#define glVertexAttrib4usv glad_glVertexAttrib4usv +typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, + const void *pointer); +GLAPI PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer; +#define glVertexAttribPointer glad_glVertexAttribPointer +#endif +#ifndef GL_VERSION_2_1 +#define GL_VERSION_2_1 1 +GLAPI int GLAD_GL_VERSION_2_1; +typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI PFNGLUNIFORMMATRIX2X3FVPROC glad_glUniformMatrix2x3fv; +#define glUniformMatrix2x3fv glad_glUniformMatrix2x3fv +typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI PFNGLUNIFORMMATRIX3X2FVPROC glad_glUniformMatrix3x2fv; +#define glUniformMatrix3x2fv glad_glUniformMatrix3x2fv +typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI PFNGLUNIFORMMATRIX2X4FVPROC glad_glUniformMatrix2x4fv; +#define glUniformMatrix2x4fv glad_glUniformMatrix2x4fv +typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI PFNGLUNIFORMMATRIX4X2FVPROC glad_glUniformMatrix4x2fv; +#define glUniformMatrix4x2fv glad_glUniformMatrix4x2fv +typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI PFNGLUNIFORMMATRIX3X4FVPROC glad_glUniformMatrix3x4fv; +#define glUniformMatrix3x4fv glad_glUniformMatrix3x4fv +typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI PFNGLUNIFORMMATRIX4X3FVPROC glad_glUniformMatrix4x3fv; +#define glUniformMatrix4x3fv glad_glUniformMatrix4x3fv +#endif +#ifndef GL_VERSION_3_0 +#define GL_VERSION_3_0 1 +GLAPI int GLAD_GL_VERSION_3_0; +typedef void (APIENTRYP PFNGLCOLORMASKIPROC)(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); +GLAPI PFNGLCOLORMASKIPROC glad_glColorMaski; +#define glColorMaski glad_glColorMaski +typedef void (APIENTRYP PFNGLGETBOOLEANI_VPROC)(GLenum target, GLuint index, GLboolean *data); +GLAPI PFNGLGETBOOLEANI_VPROC glad_glGetBooleani_v; +#define glGetBooleani_v glad_glGetBooleani_v +typedef void (APIENTRYP PFNGLGETINTEGERI_VPROC)(GLenum target, GLuint index, GLint *data); +GLAPI PFNGLGETINTEGERI_VPROC glad_glGetIntegeri_v; +#define glGetIntegeri_v glad_glGetIntegeri_v +typedef void (APIENTRYP PFNGLENABLEIPROC)(GLenum target, GLuint index); +GLAPI PFNGLENABLEIPROC glad_glEnablei; +#define glEnablei glad_glEnablei +typedef void (APIENTRYP PFNGLDISABLEIPROC)(GLenum target, GLuint index); +GLAPI PFNGLDISABLEIPROC glad_glDisablei; +#define glDisablei glad_glDisablei +typedef GLboolean(APIENTRYP PFNGLISENABLEDIPROC)(GLenum target, GLuint index); +GLAPI PFNGLISENABLEDIPROC glad_glIsEnabledi; +#define glIsEnabledi glad_glIsEnabledi +typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKPROC)(GLenum primitiveMode); +GLAPI PFNGLBEGINTRANSFORMFEEDBACKPROC glad_glBeginTransformFeedback; +#define glBeginTransformFeedback glad_glBeginTransformFeedback +typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC)(); +GLAPI PFNGLENDTRANSFORMFEEDBACKPROC glad_glEndTransformFeedback; +#define glEndTransformFeedback glad_glEndTransformFeedback +typedef void (APIENTRYP PFNGLBINDBUFFERRANGEPROC)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); +GLAPI PFNGLBINDBUFFERRANGEPROC glad_glBindBufferRange; +#define glBindBufferRange glad_glBindBufferRange +typedef void (APIENTRYP PFNGLBINDBUFFERBASEPROC)(GLenum target, GLuint index, GLuint buffer); +GLAPI PFNGLBINDBUFFERBASEPROC glad_glBindBufferBase; +#define glBindBufferBase glad_glBindBufferBase +typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC)(GLuint program, GLsizei count, const GLchar *const *varyings, + GLenum bufferMode); +GLAPI PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_glTransformFeedbackVaryings; +#define glTransformFeedbackVaryings glad_glTransformFeedbackVaryings +typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, + GLenum *type, GLchar *name); +GLAPI PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_glGetTransformFeedbackVarying; +#define glGetTransformFeedbackVarying glad_glGetTransformFeedbackVarying +typedef void (APIENTRYP PFNGLCLAMPCOLORPROC)(GLenum target, GLenum clamp); +GLAPI PFNGLCLAMPCOLORPROC glad_glClampColor; +#define glClampColor glad_glClampColor +typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERPROC)(GLuint id, GLenum mode); +GLAPI PFNGLBEGINCONDITIONALRENDERPROC glad_glBeginConditionalRender; +#define glBeginConditionalRender glad_glBeginConditionalRender +typedef void (APIENTRYP PFNGLENDCONDITIONALRENDERPROC)(); +GLAPI PFNGLENDCONDITIONALRENDERPROC glad_glEndConditionalRender; +#define glEndConditionalRender glad_glEndConditionalRender +typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC)(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); +GLAPI PFNGLVERTEXATTRIBIPOINTERPROC glad_glVertexAttribIPointer; +#define glVertexAttribIPointer glad_glVertexAttribIPointer +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVPROC)(GLuint index, GLenum pname, GLint *params); +GLAPI PFNGLGETVERTEXATTRIBIIVPROC glad_glGetVertexAttribIiv; +#define glGetVertexAttribIiv glad_glGetVertexAttribIiv +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVPROC)(GLuint index, GLenum pname, GLuint *params); +GLAPI PFNGLGETVERTEXATTRIBIUIVPROC glad_glGetVertexAttribIuiv; +#define glGetVertexAttribIuiv glad_glGetVertexAttribIuiv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IPROC)(GLuint index, GLint x); +GLAPI PFNGLVERTEXATTRIBI1IPROC glad_glVertexAttribI1i; +#define glVertexAttribI1i glad_glVertexAttribI1i +typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IPROC)(GLuint index, GLint x, GLint y); +GLAPI PFNGLVERTEXATTRIBI2IPROC glad_glVertexAttribI2i; +#define glVertexAttribI2i glad_glVertexAttribI2i +typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IPROC)(GLuint index, GLint x, GLint y, GLint z); +GLAPI PFNGLVERTEXATTRIBI3IPROC glad_glVertexAttribI3i; +#define glVertexAttribI3i glad_glVertexAttribI3i +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IPROC)(GLuint index, GLint x, GLint y, GLint z, GLint w); +GLAPI PFNGLVERTEXATTRIBI4IPROC glad_glVertexAttribI4i; +#define glVertexAttribI4i glad_glVertexAttribI4i +typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIPROC)(GLuint index, GLuint x); +GLAPI PFNGLVERTEXATTRIBI1UIPROC glad_glVertexAttribI1ui; +#define glVertexAttribI1ui glad_glVertexAttribI1ui +typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIPROC)(GLuint index, GLuint x, GLuint y); +GLAPI PFNGLVERTEXATTRIBI2UIPROC glad_glVertexAttribI2ui; +#define glVertexAttribI2ui glad_glVertexAttribI2ui +typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIPROC)(GLuint index, GLuint x, GLuint y, GLuint z); +GLAPI PFNGLVERTEXATTRIBI3UIPROC glad_glVertexAttribI3ui; +#define glVertexAttribI3ui glad_glVertexAttribI3ui +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIPROC)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); +GLAPI PFNGLVERTEXATTRIBI4UIPROC glad_glVertexAttribI4ui; +#define glVertexAttribI4ui glad_glVertexAttribI4ui +typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IVPROC)(GLuint index, const GLint *v); +GLAPI PFNGLVERTEXATTRIBI1IVPROC glad_glVertexAttribI1iv; +#define glVertexAttribI1iv glad_glVertexAttribI1iv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IVPROC)(GLuint index, const GLint *v); +GLAPI PFNGLVERTEXATTRIBI2IVPROC glad_glVertexAttribI2iv; +#define glVertexAttribI2iv glad_glVertexAttribI2iv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IVPROC)(GLuint index, const GLint *v); +GLAPI PFNGLVERTEXATTRIBI3IVPROC glad_glVertexAttribI3iv; +#define glVertexAttribI3iv glad_glVertexAttribI3iv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IVPROC)(GLuint index, const GLint *v); +GLAPI PFNGLVERTEXATTRIBI4IVPROC glad_glVertexAttribI4iv; +#define glVertexAttribI4iv glad_glVertexAttribI4iv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIVPROC)(GLuint index, const GLuint *v); +GLAPI PFNGLVERTEXATTRIBI1UIVPROC glad_glVertexAttribI1uiv; +#define glVertexAttribI1uiv glad_glVertexAttribI1uiv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIVPROC)(GLuint index, const GLuint *v); +GLAPI PFNGLVERTEXATTRIBI2UIVPROC glad_glVertexAttribI2uiv; +#define glVertexAttribI2uiv glad_glVertexAttribI2uiv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIVPROC)(GLuint index, const GLuint *v); +GLAPI PFNGLVERTEXATTRIBI3UIVPROC glad_glVertexAttribI3uiv; +#define glVertexAttribI3uiv glad_glVertexAttribI3uiv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIVPROC)(GLuint index, const GLuint *v); +GLAPI PFNGLVERTEXATTRIBI4UIVPROC glad_glVertexAttribI4uiv; +#define glVertexAttribI4uiv glad_glVertexAttribI4uiv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4BVPROC)(GLuint index, const GLbyte *v); +GLAPI PFNGLVERTEXATTRIBI4BVPROC glad_glVertexAttribI4bv; +#define glVertexAttribI4bv glad_glVertexAttribI4bv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4SVPROC)(GLuint index, const GLshort *v); +GLAPI PFNGLVERTEXATTRIBI4SVPROC glad_glVertexAttribI4sv; +#define glVertexAttribI4sv glad_glVertexAttribI4sv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UBVPROC)(GLuint index, const GLubyte *v); +GLAPI PFNGLVERTEXATTRIBI4UBVPROC glad_glVertexAttribI4ubv; +#define glVertexAttribI4ubv glad_glVertexAttribI4ubv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4USVPROC)(GLuint index, const GLushort *v); +GLAPI PFNGLVERTEXATTRIBI4USVPROC glad_glVertexAttribI4usv; +#define glVertexAttribI4usv glad_glVertexAttribI4usv +typedef void (APIENTRYP PFNGLGETUNIFORMUIVPROC)(GLuint program, GLint location, GLuint *params); +GLAPI PFNGLGETUNIFORMUIVPROC glad_glGetUniformuiv; +#define glGetUniformuiv glad_glGetUniformuiv +typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONPROC)(GLuint program, GLuint color, const GLchar *name); +GLAPI PFNGLBINDFRAGDATALOCATIONPROC glad_glBindFragDataLocation; +#define glBindFragDataLocation glad_glBindFragDataLocation +typedef GLint(APIENTRYP PFNGLGETFRAGDATALOCATIONPROC)(GLuint program, const GLchar *name); +GLAPI PFNGLGETFRAGDATALOCATIONPROC glad_glGetFragDataLocation; +#define glGetFragDataLocation glad_glGetFragDataLocation +typedef void (APIENTRYP PFNGLUNIFORM1UIPROC)(GLint location, GLuint v0); +GLAPI PFNGLUNIFORM1UIPROC glad_glUniform1ui; +#define glUniform1ui glad_glUniform1ui +typedef void (APIENTRYP PFNGLUNIFORM2UIPROC)(GLint location, GLuint v0, GLuint v1); +GLAPI PFNGLUNIFORM2UIPROC glad_glUniform2ui; +#define glUniform2ui glad_glUniform2ui +typedef void (APIENTRYP PFNGLUNIFORM3UIPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2); +GLAPI PFNGLUNIFORM3UIPROC glad_glUniform3ui; +#define glUniform3ui glad_glUniform3ui +typedef void (APIENTRYP PFNGLUNIFORM4UIPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); +GLAPI PFNGLUNIFORM4UIPROC glad_glUniform4ui; +#define glUniform4ui glad_glUniform4ui +typedef void (APIENTRYP PFNGLUNIFORM1UIVPROC)(GLint location, GLsizei count, const GLuint *value); +GLAPI PFNGLUNIFORM1UIVPROC glad_glUniform1uiv; +#define glUniform1uiv glad_glUniform1uiv +typedef void (APIENTRYP PFNGLUNIFORM2UIVPROC)(GLint location, GLsizei count, const GLuint *value); +GLAPI PFNGLUNIFORM2UIVPROC glad_glUniform2uiv; +#define glUniform2uiv glad_glUniform2uiv +typedef void (APIENTRYP PFNGLUNIFORM3UIVPROC)(GLint location, GLsizei count, const GLuint *value); +GLAPI PFNGLUNIFORM3UIVPROC glad_glUniform3uiv; +#define glUniform3uiv glad_glUniform3uiv +typedef void (APIENTRYP PFNGLUNIFORM4UIVPROC)(GLint location, GLsizei count, const GLuint *value); +GLAPI PFNGLUNIFORM4UIVPROC glad_glUniform4uiv; +#define glUniform4uiv glad_glUniform4uiv +typedef void (APIENTRYP PFNGLTEXPARAMETERIIVPROC)(GLenum target, GLenum pname, const GLint *params); +GLAPI PFNGLTEXPARAMETERIIVPROC glad_glTexParameterIiv; +#define glTexParameterIiv glad_glTexParameterIiv +typedef void (APIENTRYP PFNGLTEXPARAMETERIUIVPROC)(GLenum target, GLenum pname, const GLuint *params); +GLAPI PFNGLTEXPARAMETERIUIVPROC glad_glTexParameterIuiv; +#define glTexParameterIuiv glad_glTexParameterIuiv +typedef void (APIENTRYP PFNGLGETTEXPARAMETERIIVPROC)(GLenum target, GLenum pname, GLint *params); +GLAPI PFNGLGETTEXPARAMETERIIVPROC glad_glGetTexParameterIiv; +#define glGetTexParameterIiv glad_glGetTexParameterIiv +typedef void (APIENTRYP PFNGLGETTEXPARAMETERIUIVPROC)(GLenum target, GLenum pname, GLuint *params); +GLAPI PFNGLGETTEXPARAMETERIUIVPROC glad_glGetTexParameterIuiv; +#define glGetTexParameterIuiv glad_glGetTexParameterIuiv +typedef void (APIENTRYP PFNGLCLEARBUFFERIVPROC)(GLenum buffer, GLint drawbuffer, const GLint *value); +GLAPI PFNGLCLEARBUFFERIVPROC glad_glClearBufferiv; +#define glClearBufferiv glad_glClearBufferiv +typedef void (APIENTRYP PFNGLCLEARBUFFERUIVPROC)(GLenum buffer, GLint drawbuffer, const GLuint *value); +GLAPI PFNGLCLEARBUFFERUIVPROC glad_glClearBufferuiv; +#define glClearBufferuiv glad_glClearBufferuiv +typedef void (APIENTRYP PFNGLCLEARBUFFERFVPROC)(GLenum buffer, GLint drawbuffer, const GLfloat *value); +GLAPI PFNGLCLEARBUFFERFVPROC glad_glClearBufferfv; +#define glClearBufferfv glad_glClearBufferfv +typedef void (APIENTRYP PFNGLCLEARBUFFERFIPROC)(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); +GLAPI PFNGLCLEARBUFFERFIPROC glad_glClearBufferfi; +#define glClearBufferfi glad_glClearBufferfi +typedef const GLubyte *(APIENTRYP PFNGLGETSTRINGIPROC)(GLenum name, GLuint index); +GLAPI PFNGLGETSTRINGIPROC glad_glGetStringi; +#define glGetStringi glad_glGetStringi +typedef GLboolean(APIENTRYP PFNGLISRENDERBUFFERPROC)(GLuint renderbuffer); +GLAPI PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer; +#define glIsRenderbuffer glad_glIsRenderbuffer +typedef void (APIENTRYP PFNGLBINDRENDERBUFFERPROC)(GLenum target, GLuint renderbuffer); +GLAPI PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer; +#define glBindRenderbuffer glad_glBindRenderbuffer +typedef void (APIENTRYP PFNGLDELETERENDERBUFFERSPROC)(GLsizei n, const GLuint *renderbuffers); +GLAPI PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers; +#define glDeleteRenderbuffers glad_glDeleteRenderbuffers +typedef void (APIENTRYP PFNGLGENRENDERBUFFERSPROC)(GLsizei n, GLuint *renderbuffers); +GLAPI PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers; +#define glGenRenderbuffers glad_glGenRenderbuffers +typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); +GLAPI PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage; +#define glRenderbufferStorage glad_glRenderbufferStorage +typedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params); +GLAPI PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv; +#define glGetRenderbufferParameteriv glad_glGetRenderbufferParameteriv +typedef GLboolean(APIENTRYP PFNGLISFRAMEBUFFERPROC)(GLuint framebuffer); +GLAPI PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer; +#define glIsFramebuffer glad_glIsFramebuffer +typedef void (APIENTRYP PFNGLBINDFRAMEBUFFERPROC)(GLenum target, GLuint framebuffer); +GLAPI PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer; +#define glBindFramebuffer glad_glBindFramebuffer +typedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC)(GLsizei n, const GLuint *framebuffers); +GLAPI PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers; +#define glDeleteFramebuffers glad_glDeleteFramebuffers +typedef void (APIENTRYP PFNGLGENFRAMEBUFFERSPROC)(GLsizei n, GLuint *framebuffers); +GLAPI PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers; +#define glGenFramebuffers glad_glGenFramebuffers +typedef GLenum(APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC)(GLenum target); +GLAPI PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus; +#define glCheckFramebufferStatus glad_glCheckFramebufferStatus +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +GLAPI PFNGLFRAMEBUFFERTEXTURE1DPROC glad_glFramebufferTexture1D; +#define glFramebufferTexture1D glad_glFramebufferTexture1D +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +GLAPI PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D; +#define glFramebufferTexture2D glad_glFramebufferTexture2D +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, + GLint zoffset); +GLAPI PFNGLFRAMEBUFFERTEXTURE3DPROC glad_glFramebufferTexture3D; +#define glFramebufferTexture3D glad_glFramebufferTexture3D +typedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +GLAPI PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer; +#define glFramebufferRenderbuffer glad_glFramebufferRenderbuffer +typedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)(GLenum target, GLenum attachment, GLenum pname, GLint *params); +GLAPI PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv; +#define glGetFramebufferAttachmentParameteriv glad_glGetFramebufferAttachmentParameteriv +typedef void (APIENTRYP PFNGLGENERATEMIPMAPPROC)(GLenum target); +GLAPI PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap; +#define glGenerateMipmap glad_glGenerateMipmap +typedef void (APIENTRYP PFNGLBLITFRAMEBUFFERPROC)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, + GLint dstY1, GLbitfield mask, GLenum filter); +GLAPI PFNGLBLITFRAMEBUFFERPROC glad_glBlitFramebuffer; +#define glBlitFramebuffer glad_glBlitFramebuffer +typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, + GLsizei height); +GLAPI PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glRenderbufferStorageMultisample; +#define glRenderbufferStorageMultisample glad_glRenderbufferStorageMultisample +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); +GLAPI PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_glFramebufferTextureLayer; +#define glFramebufferTextureLayer glad_glFramebufferTextureLayer +typedef void *(APIENTRYP PFNGLMAPBUFFERRANGEPROC)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); +GLAPI PFNGLMAPBUFFERRANGEPROC glad_glMapBufferRange; +#define glMapBufferRange glad_glMapBufferRange +typedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC)(GLenum target, GLintptr offset, GLsizeiptr length); +GLAPI PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_glFlushMappedBufferRange; +#define glFlushMappedBufferRange glad_glFlushMappedBufferRange +typedef void (APIENTRYP PFNGLBINDVERTEXARRAYPROC)(GLuint array); +GLAPI PFNGLBINDVERTEXARRAYPROC glad_glBindVertexArray; +#define glBindVertexArray glad_glBindVertexArray +typedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSPROC)(GLsizei n, const GLuint *arrays); +GLAPI PFNGLDELETEVERTEXARRAYSPROC glad_glDeleteVertexArrays; +#define glDeleteVertexArrays glad_glDeleteVertexArrays +typedef void (APIENTRYP PFNGLGENVERTEXARRAYSPROC)(GLsizei n, GLuint *arrays); +GLAPI PFNGLGENVERTEXARRAYSPROC glad_glGenVertexArrays; +#define glGenVertexArrays glad_glGenVertexArrays +typedef GLboolean(APIENTRYP PFNGLISVERTEXARRAYPROC)(GLuint array); +GLAPI PFNGLISVERTEXARRAYPROC glad_glIsVertexArray; +#define glIsVertexArray glad_glIsVertexArray +#endif +#ifndef GL_VERSION_3_1 +#define GL_VERSION_3_1 1 +GLAPI int GLAD_GL_VERSION_3_1; +typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC)(GLenum mode, GLint first, GLsizei count, GLsizei instancecount); +GLAPI PFNGLDRAWARRAYSINSTANCEDPROC glad_glDrawArraysInstanced; +#define glDrawArraysInstanced glad_glDrawArraysInstanced +typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, + GLsizei instancecount); +GLAPI PFNGLDRAWELEMENTSINSTANCEDPROC glad_glDrawElementsInstanced; +#define glDrawElementsInstanced glad_glDrawElementsInstanced +typedef void (APIENTRYP PFNGLTEXBUFFERPROC)(GLenum target, GLenum internalformat, GLuint buffer); +GLAPI PFNGLTEXBUFFERPROC glad_glTexBuffer; +#define glTexBuffer glad_glTexBuffer +typedef void (APIENTRYP PFNGLPRIMITIVERESTARTINDEXPROC)(GLuint index); +GLAPI PFNGLPRIMITIVERESTARTINDEXPROC glad_glPrimitiveRestartIndex; +#define glPrimitiveRestartIndex glad_glPrimitiveRestartIndex +typedef void (APIENTRYP PFNGLCOPYBUFFERSUBDATAPROC)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, + GLsizeiptr size); +GLAPI PFNGLCOPYBUFFERSUBDATAPROC glad_glCopyBufferSubData; +#define glCopyBufferSubData glad_glCopyBufferSubData +typedef void (APIENTRYP PFNGLGETUNIFORMINDICESPROC)(GLuint program, GLsizei uniformCount, const GLchar *const *uniformNames, + GLuint *uniformIndices); +GLAPI PFNGLGETUNIFORMINDICESPROC glad_glGetUniformIndices; +#define glGetUniformIndices glad_glGetUniformIndices +typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMSIVPROC)(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, + GLint *params); +GLAPI PFNGLGETACTIVEUNIFORMSIVPROC glad_glGetActiveUniformsiv; +#define glGetActiveUniformsiv glad_glGetActiveUniformsiv +typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMNAMEPROC)(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, + GLchar *uniformName); +GLAPI PFNGLGETACTIVEUNIFORMNAMEPROC glad_glGetActiveUniformName; +#define glGetActiveUniformName glad_glGetActiveUniformName +typedef GLuint(APIENTRYP PFNGLGETUNIFORMBLOCKINDEXPROC)(GLuint program, const GLchar *uniformBlockName); +GLAPI PFNGLGETUNIFORMBLOCKINDEXPROC glad_glGetUniformBlockIndex; +#define glGetUniformBlockIndex glad_glGetUniformBlockIndex +typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVPROC)(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params); +GLAPI PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_glGetActiveUniformBlockiv; +#define glGetActiveUniformBlockiv glad_glGetActiveUniformBlockiv +typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, + GLchar *uniformBlockName); +GLAPI PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_glGetActiveUniformBlockName; +#define glGetActiveUniformBlockName glad_glGetActiveUniformBlockName +typedef void (APIENTRYP PFNGLUNIFORMBLOCKBINDINGPROC)(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); +GLAPI PFNGLUNIFORMBLOCKBINDINGPROC glad_glUniformBlockBinding; +#define glUniformBlockBinding glad_glUniformBlockBinding +#endif +#ifndef GL_VERSION_3_2 +#define GL_VERSION_3_2 1 +GLAPI int GLAD_GL_VERSION_3_2; +typedef void (APIENTRYP PFNGLDRAWELEMENTSBASEVERTEXPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); +GLAPI PFNGLDRAWELEMENTSBASEVERTEXPROC glad_glDrawElementsBaseVertex; +#define glDrawElementsBaseVertex glad_glDrawElementsBaseVertex +typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, + const void *indices, GLint basevertex); +GLAPI PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_glDrawRangeElementsBaseVertex; +#define glDrawRangeElementsBaseVertex glad_glDrawRangeElementsBaseVertex +typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, + GLsizei instancecount, GLint basevertex); +GLAPI PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_glDrawElementsInstancedBaseVertex; +#define glDrawElementsInstancedBaseVertex glad_glDrawElementsInstancedBaseVertex +typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC)(GLenum mode, const GLsizei *count, GLenum type, const void *const *indices, + GLsizei drawcount, const GLint *basevertex); +GLAPI PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_glMultiDrawElementsBaseVertex; +#define glMultiDrawElementsBaseVertex glad_glMultiDrawElementsBaseVertex +typedef void (APIENTRYP PFNGLPROVOKINGVERTEXPROC)(GLenum mode); +GLAPI PFNGLPROVOKINGVERTEXPROC glad_glProvokingVertex; +#define glProvokingVertex glad_glProvokingVertex +typedef GLsync(APIENTRYP PFNGLFENCESYNCPROC)(GLenum condition, GLbitfield flags); +GLAPI PFNGLFENCESYNCPROC glad_glFenceSync; +#define glFenceSync glad_glFenceSync +typedef GLboolean(APIENTRYP PFNGLISSYNCPROC)(GLsync sync); +GLAPI PFNGLISSYNCPROC glad_glIsSync; +#define glIsSync glad_glIsSync +typedef void (APIENTRYP PFNGLDELETESYNCPROC)(GLsync sync); +GLAPI PFNGLDELETESYNCPROC glad_glDeleteSync; +#define glDeleteSync glad_glDeleteSync +typedef GLenum(APIENTRYP PFNGLCLIENTWAITSYNCPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout); +GLAPI PFNGLCLIENTWAITSYNCPROC glad_glClientWaitSync; +#define glClientWaitSync glad_glClientWaitSync +typedef void (APIENTRYP PFNGLWAITSYNCPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout); +GLAPI PFNGLWAITSYNCPROC glad_glWaitSync; +#define glWaitSync glad_glWaitSync +typedef void (APIENTRYP PFNGLGETINTEGER64VPROC)(GLenum pname, GLint64 *data); +GLAPI PFNGLGETINTEGER64VPROC glad_glGetInteger64v; +#define glGetInteger64v glad_glGetInteger64v +typedef void (APIENTRYP PFNGLGETSYNCIVPROC)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); +GLAPI PFNGLGETSYNCIVPROC glad_glGetSynciv; +#define glGetSynciv glad_glGetSynciv +typedef void (APIENTRYP PFNGLGETINTEGER64I_VPROC)(GLenum target, GLuint index, GLint64 *data); +GLAPI PFNGLGETINTEGER64I_VPROC glad_glGetInteger64i_v; +#define glGetInteger64i_v glad_glGetInteger64i_v +typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERI64VPROC)(GLenum target, GLenum pname, GLint64 *params); +GLAPI PFNGLGETBUFFERPARAMETERI64VPROC glad_glGetBufferParameteri64v; +#define glGetBufferParameteri64v glad_glGetBufferParameteri64v +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level); +GLAPI PFNGLFRAMEBUFFERTEXTUREPROC glad_glFramebufferTexture; +#define glFramebufferTexture glad_glFramebufferTexture +typedef void (APIENTRYP PFNGLTEXIMAGE2DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, + GLsizei height, GLboolean fixedsamplelocations); +GLAPI PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_glTexImage2DMultisample; +#define glTexImage2DMultisample glad_glTexImage2DMultisample +typedef void (APIENTRYP PFNGLTEXIMAGE3DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, + GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); +GLAPI PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_glTexImage3DMultisample; +#define glTexImage3DMultisample glad_glTexImage3DMultisample +typedef void (APIENTRYP PFNGLGETMULTISAMPLEFVPROC)(GLenum pname, GLuint index, GLfloat *val); +GLAPI PFNGLGETMULTISAMPLEFVPROC glad_glGetMultisamplefv; +#define glGetMultisamplefv glad_glGetMultisamplefv +typedef void (APIENTRYP PFNGLSAMPLEMASKIPROC)(GLuint maskNumber, GLbitfield mask); +GLAPI PFNGLSAMPLEMASKIPROC glad_glSampleMaski; +#define glSampleMaski glad_glSampleMaski +#endif +#ifndef GL_VERSION_3_3 +#define GL_VERSION_3_3 1 +GLAPI int GLAD_GL_VERSION_3_3; +typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONINDEXEDPROC)(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name); +GLAPI PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_glBindFragDataLocationIndexed; +#define glBindFragDataLocationIndexed glad_glBindFragDataLocationIndexed +typedef GLint(APIENTRYP PFNGLGETFRAGDATAINDEXPROC)(GLuint program, const GLchar *name); +GLAPI PFNGLGETFRAGDATAINDEXPROC glad_glGetFragDataIndex; +#define glGetFragDataIndex glad_glGetFragDataIndex +typedef void (APIENTRYP PFNGLGENSAMPLERSPROC)(GLsizei count, GLuint *samplers); +GLAPI PFNGLGENSAMPLERSPROC glad_glGenSamplers; +#define glGenSamplers glad_glGenSamplers +typedef void (APIENTRYP PFNGLDELETESAMPLERSPROC)(GLsizei count, const GLuint *samplers); +GLAPI PFNGLDELETESAMPLERSPROC glad_glDeleteSamplers; +#define glDeleteSamplers glad_glDeleteSamplers +typedef GLboolean(APIENTRYP PFNGLISSAMPLERPROC)(GLuint sampler); +GLAPI PFNGLISSAMPLERPROC glad_glIsSampler; +#define glIsSampler glad_glIsSampler +typedef void (APIENTRYP PFNGLBINDSAMPLERPROC)(GLuint unit, GLuint sampler); +GLAPI PFNGLBINDSAMPLERPROC glad_glBindSampler; +#define glBindSampler glad_glBindSampler +typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIPROC)(GLuint sampler, GLenum pname, GLint param); +GLAPI PFNGLSAMPLERPARAMETERIPROC glad_glSamplerParameteri; +#define glSamplerParameteri glad_glSamplerParameteri +typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIVPROC)(GLuint sampler, GLenum pname, const GLint *param); +GLAPI PFNGLSAMPLERPARAMETERIVPROC glad_glSamplerParameteriv; +#define glSamplerParameteriv glad_glSamplerParameteriv +typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFPROC)(GLuint sampler, GLenum pname, GLfloat param); +GLAPI PFNGLSAMPLERPARAMETERFPROC glad_glSamplerParameterf; +#define glSamplerParameterf glad_glSamplerParameterf +typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFVPROC)(GLuint sampler, GLenum pname, const GLfloat *param); +GLAPI PFNGLSAMPLERPARAMETERFVPROC glad_glSamplerParameterfv; +#define glSamplerParameterfv glad_glSamplerParameterfv +typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIIVPROC)(GLuint sampler, GLenum pname, const GLint *param); +GLAPI PFNGLSAMPLERPARAMETERIIVPROC glad_glSamplerParameterIiv; +#define glSamplerParameterIiv glad_glSamplerParameterIiv +typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIUIVPROC)(GLuint sampler, GLenum pname, const GLuint *param); +GLAPI PFNGLSAMPLERPARAMETERIUIVPROC glad_glSamplerParameterIuiv; +#define glSamplerParameterIuiv glad_glSamplerParameterIuiv +typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIVPROC)(GLuint sampler, GLenum pname, GLint *params); +GLAPI PFNGLGETSAMPLERPARAMETERIVPROC glad_glGetSamplerParameteriv; +#define glGetSamplerParameteriv glad_glGetSamplerParameteriv +typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIIVPROC)(GLuint sampler, GLenum pname, GLint *params); +GLAPI PFNGLGETSAMPLERPARAMETERIIVPROC glad_glGetSamplerParameterIiv; +#define glGetSamplerParameterIiv glad_glGetSamplerParameterIiv +typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERFVPROC)(GLuint sampler, GLenum pname, GLfloat *params); +GLAPI PFNGLGETSAMPLERPARAMETERFVPROC glad_glGetSamplerParameterfv; +#define glGetSamplerParameterfv glad_glGetSamplerParameterfv +typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVPROC)(GLuint sampler, GLenum pname, GLuint *params); +GLAPI PFNGLGETSAMPLERPARAMETERIUIVPROC glad_glGetSamplerParameterIuiv; +#define glGetSamplerParameterIuiv glad_glGetSamplerParameterIuiv +typedef void (APIENTRYP PFNGLQUERYCOUNTERPROC)(GLuint id, GLenum target); +GLAPI PFNGLQUERYCOUNTERPROC glad_glQueryCounter; +#define glQueryCounter glad_glQueryCounter +typedef void (APIENTRYP PFNGLGETQUERYOBJECTI64VPROC)(GLuint id, GLenum pname, GLint64 *params); +GLAPI PFNGLGETQUERYOBJECTI64VPROC glad_glGetQueryObjecti64v; +#define glGetQueryObjecti64v glad_glGetQueryObjecti64v +typedef void (APIENTRYP PFNGLGETQUERYOBJECTUI64VPROC)(GLuint id, GLenum pname, GLuint64 *params); +GLAPI PFNGLGETQUERYOBJECTUI64VPROC glad_glGetQueryObjectui64v; +#define glGetQueryObjectui64v glad_glGetQueryObjectui64v +typedef void (APIENTRYP PFNGLVERTEXATTRIBDIVISORPROC)(GLuint index, GLuint divisor); +GLAPI PFNGLVERTEXATTRIBDIVISORPROC glad_glVertexAttribDivisor; +#define glVertexAttribDivisor glad_glVertexAttribDivisor +typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value); +GLAPI PFNGLVERTEXATTRIBP1UIPROC glad_glVertexAttribP1ui; +#define glVertexAttribP1ui glad_glVertexAttribP1ui +typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value); +GLAPI PFNGLVERTEXATTRIBP1UIVPROC glad_glVertexAttribP1uiv; +#define glVertexAttribP1uiv glad_glVertexAttribP1uiv +typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value); +GLAPI PFNGLVERTEXATTRIBP2UIPROC glad_glVertexAttribP2ui; +#define glVertexAttribP2ui glad_glVertexAttribP2ui +typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value); +GLAPI PFNGLVERTEXATTRIBP2UIVPROC glad_glVertexAttribP2uiv; +#define glVertexAttribP2uiv glad_glVertexAttribP2uiv +typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value); +GLAPI PFNGLVERTEXATTRIBP3UIPROC glad_glVertexAttribP3ui; +#define glVertexAttribP3ui glad_glVertexAttribP3ui +typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value); +GLAPI PFNGLVERTEXATTRIBP3UIVPROC glad_glVertexAttribP3uiv; +#define glVertexAttribP3uiv glad_glVertexAttribP3uiv +typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value); +GLAPI PFNGLVERTEXATTRIBP4UIPROC glad_glVertexAttribP4ui; +#define glVertexAttribP4ui glad_glVertexAttribP4ui +typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value); +GLAPI PFNGLVERTEXATTRIBP4UIVPROC glad_glVertexAttribP4uiv; +#define glVertexAttribP4uiv glad_glVertexAttribP4uiv +typedef void (APIENTRYP PFNGLVERTEXP2UIPROC)(GLenum type, GLuint value); +GLAPI PFNGLVERTEXP2UIPROC glad_glVertexP2ui; +#define glVertexP2ui glad_glVertexP2ui +typedef void (APIENTRYP PFNGLVERTEXP2UIVPROC)(GLenum type, const GLuint *value); +GLAPI PFNGLVERTEXP2UIVPROC glad_glVertexP2uiv; +#define glVertexP2uiv glad_glVertexP2uiv +typedef void (APIENTRYP PFNGLVERTEXP3UIPROC)(GLenum type, GLuint value); +GLAPI PFNGLVERTEXP3UIPROC glad_glVertexP3ui; +#define glVertexP3ui glad_glVertexP3ui +typedef void (APIENTRYP PFNGLVERTEXP3UIVPROC)(GLenum type, const GLuint *value); +GLAPI PFNGLVERTEXP3UIVPROC glad_glVertexP3uiv; +#define glVertexP3uiv glad_glVertexP3uiv +typedef void (APIENTRYP PFNGLVERTEXP4UIPROC)(GLenum type, GLuint value); +GLAPI PFNGLVERTEXP4UIPROC glad_glVertexP4ui; +#define glVertexP4ui glad_glVertexP4ui +typedef void (APIENTRYP PFNGLVERTEXP4UIVPROC)(GLenum type, const GLuint *value); +GLAPI PFNGLVERTEXP4UIVPROC glad_glVertexP4uiv; +#define glVertexP4uiv glad_glVertexP4uiv +typedef void (APIENTRYP PFNGLTEXCOORDP1UIPROC)(GLenum type, GLuint coords); +GLAPI PFNGLTEXCOORDP1UIPROC glad_glTexCoordP1ui; +#define glTexCoordP1ui glad_glTexCoordP1ui +typedef void (APIENTRYP PFNGLTEXCOORDP1UIVPROC)(GLenum type, const GLuint *coords); +GLAPI PFNGLTEXCOORDP1UIVPROC glad_glTexCoordP1uiv; +#define glTexCoordP1uiv glad_glTexCoordP1uiv +typedef void (APIENTRYP PFNGLTEXCOORDP2UIPROC)(GLenum type, GLuint coords); +GLAPI PFNGLTEXCOORDP2UIPROC glad_glTexCoordP2ui; +#define glTexCoordP2ui glad_glTexCoordP2ui +typedef void (APIENTRYP PFNGLTEXCOORDP2UIVPROC)(GLenum type, const GLuint *coords); +GLAPI PFNGLTEXCOORDP2UIVPROC glad_glTexCoordP2uiv; +#define glTexCoordP2uiv glad_glTexCoordP2uiv +typedef void (APIENTRYP PFNGLTEXCOORDP3UIPROC)(GLenum type, GLuint coords); +GLAPI PFNGLTEXCOORDP3UIPROC glad_glTexCoordP3ui; +#define glTexCoordP3ui glad_glTexCoordP3ui +typedef void (APIENTRYP PFNGLTEXCOORDP3UIVPROC)(GLenum type, const GLuint *coords); +GLAPI PFNGLTEXCOORDP3UIVPROC glad_glTexCoordP3uiv; +#define glTexCoordP3uiv glad_glTexCoordP3uiv +typedef void (APIENTRYP PFNGLTEXCOORDP4UIPROC)(GLenum type, GLuint coords); +GLAPI PFNGLTEXCOORDP4UIPROC glad_glTexCoordP4ui; +#define glTexCoordP4ui glad_glTexCoordP4ui +typedef void (APIENTRYP PFNGLTEXCOORDP4UIVPROC)(GLenum type, const GLuint *coords); +GLAPI PFNGLTEXCOORDP4UIVPROC glad_glTexCoordP4uiv; +#define glTexCoordP4uiv glad_glTexCoordP4uiv +typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIPROC)(GLenum texture, GLenum type, GLuint coords); +GLAPI PFNGLMULTITEXCOORDP1UIPROC glad_glMultiTexCoordP1ui; +#define glMultiTexCoordP1ui glad_glMultiTexCoordP1ui +typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIVPROC)(GLenum texture, GLenum type, const GLuint *coords); +GLAPI PFNGLMULTITEXCOORDP1UIVPROC glad_glMultiTexCoordP1uiv; +#define glMultiTexCoordP1uiv glad_glMultiTexCoordP1uiv +typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIPROC)(GLenum texture, GLenum type, GLuint coords); +GLAPI PFNGLMULTITEXCOORDP2UIPROC glad_glMultiTexCoordP2ui; +#define glMultiTexCoordP2ui glad_glMultiTexCoordP2ui +typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIVPROC)(GLenum texture, GLenum type, const GLuint *coords); +GLAPI PFNGLMULTITEXCOORDP2UIVPROC glad_glMultiTexCoordP2uiv; +#define glMultiTexCoordP2uiv glad_glMultiTexCoordP2uiv +typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIPROC)(GLenum texture, GLenum type, GLuint coords); +GLAPI PFNGLMULTITEXCOORDP3UIPROC glad_glMultiTexCoordP3ui; +#define glMultiTexCoordP3ui glad_glMultiTexCoordP3ui +typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIVPROC)(GLenum texture, GLenum type, const GLuint *coords); +GLAPI PFNGLMULTITEXCOORDP3UIVPROC glad_glMultiTexCoordP3uiv; +#define glMultiTexCoordP3uiv glad_glMultiTexCoordP3uiv +typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIPROC)(GLenum texture, GLenum type, GLuint coords); +GLAPI PFNGLMULTITEXCOORDP4UIPROC glad_glMultiTexCoordP4ui; +#define glMultiTexCoordP4ui glad_glMultiTexCoordP4ui +typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIVPROC)(GLenum texture, GLenum type, const GLuint *coords); +GLAPI PFNGLMULTITEXCOORDP4UIVPROC glad_glMultiTexCoordP4uiv; +#define glMultiTexCoordP4uiv glad_glMultiTexCoordP4uiv +typedef void (APIENTRYP PFNGLNORMALP3UIPROC)(GLenum type, GLuint coords); +GLAPI PFNGLNORMALP3UIPROC glad_glNormalP3ui; +#define glNormalP3ui glad_glNormalP3ui +typedef void (APIENTRYP PFNGLNORMALP3UIVPROC)(GLenum type, const GLuint *coords); +GLAPI PFNGLNORMALP3UIVPROC glad_glNormalP3uiv; +#define glNormalP3uiv glad_glNormalP3uiv +typedef void (APIENTRYP PFNGLCOLORP3UIPROC)(GLenum type, GLuint color); +GLAPI PFNGLCOLORP3UIPROC glad_glColorP3ui; +#define glColorP3ui glad_glColorP3ui +typedef void (APIENTRYP PFNGLCOLORP3UIVPROC)(GLenum type, const GLuint *color); +GLAPI PFNGLCOLORP3UIVPROC glad_glColorP3uiv; +#define glColorP3uiv glad_glColorP3uiv +typedef void (APIENTRYP PFNGLCOLORP4UIPROC)(GLenum type, GLuint color); +GLAPI PFNGLCOLORP4UIPROC glad_glColorP4ui; +#define glColorP4ui glad_glColorP4ui +typedef void (APIENTRYP PFNGLCOLORP4UIVPROC)(GLenum type, const GLuint *color); +GLAPI PFNGLCOLORP4UIVPROC glad_glColorP4uiv; +#define glColorP4uiv glad_glColorP4uiv +typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIPROC)(GLenum type, GLuint color); +GLAPI PFNGLSECONDARYCOLORP3UIPROC glad_glSecondaryColorP3ui; +#define glSecondaryColorP3ui glad_glSecondaryColorP3ui +typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIVPROC)(GLenum type, const GLuint *color); +GLAPI PFNGLSECONDARYCOLORP3UIVPROC glad_glSecondaryColorP3uiv; +#define glSecondaryColorP3uiv glad_glSecondaryColorP3uiv +#endif +#define GL_PIXEL_PACK_BUFFER_ARB 0x88EB +#define GL_PIXEL_UNPACK_BUFFER_ARB 0x88EC +#define GL_PIXEL_PACK_BUFFER_BINDING_ARB 0x88ED +#define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB 0x88EF +#ifndef GL_ARB_pixel_buffer_object +#define GL_ARB_pixel_buffer_object 1 +GLAPI int GLAD_GL_ARB_pixel_buffer_object; +#endif +#ifndef GL_ARB_texture_non_power_of_two +#define GL_ARB_texture_non_power_of_two 1 +GLAPI int GLAD_GL_ARB_texture_non_power_of_two; +#endif + +#ifdef __cplusplus +} +#endif + +#endif
View file
LiVES-2.8.6.tar.bz2/lives-plugins/plugins/playback/video/glad_glx.cpp
Added
@@ -0,0 +1,312 @@ +/* + + GLX loader generated by glad 0.1.13a0 on Sat Apr 29 18:30:41 2017. + + Language/Generator: C/C++ + Specification: glx + APIs: glx=1.4 + Profile: - + Extensions: + + Loader: True + Local files: False + Omit khrplatform: False + + Commandline: + --api="glx=1.4" --generator="c" --spec="glx" --extensions="" + Online: + http://glad.dav1d.de/#language=c&specification=glx&loader=on&api=glx%3D1.4 +*/ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include "glad_glx.h" + +static void *get_proc(const char *namez); + +#ifdef _WIN32 +#include <windows.h> +static HMODULE libGL; + +typedef void *(APIENTRYP PFNWGLGETPROCADDRESSPROC_PRIVATE)(const char *); +static PFNWGLGETPROCADDRESSPROC_PRIVATE gladGetProcAddressPtr; + +static +int open_gl(void) { + libGL = LoadLibraryW(L"opengl32.dll"); + if (libGL != NULL) { + gladGetProcAddressPtr = (PFNWGLGETPROCADDRESSPROC_PRIVATE)GetProcAddress( + libGL, "wglGetProcAddress"); + return gladGetProcAddressPtr != NULL; + } + + return 0; +} + +static +void close_gl(void) { + if (libGL != NULL) { + FreeLibrary(libGL); + libGL = NULL; + } +} +#else +#include <dlfcn.h> +static void *libGL; + +#ifndef __APPLE__ +typedef void *(APIENTRYP PFNGLXGETPROCADDRESSPROC_PRIVATE)(const char *); +static PFNGLXGETPROCADDRESSPROC_PRIVATE gladGetProcAddressPtr; +#endif + +static +int open_gl(void) { +#ifdef __APPLE__ + static const char *NAMES[] = { + "../Frameworks/OpenGL.framework/OpenGL", + "/Library/Frameworks/OpenGL.framework/OpenGL", + "/System/Library/Frameworks/OpenGL.framework/OpenGL", + "/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL" + }; +#else + static const char *NAMES[] = {"libGL.so.1", "libGL.so"}; +#endif + + unsigned int index = 0; + for (index = 0; index < (sizeof(NAMES) / sizeof(NAMES[0])); index++) { + libGL = dlopen(NAMES[index], RTLD_NOW | RTLD_GLOBAL); + + if (libGL != NULL) { +#ifdef __APPLE__ + return 1; +#else + gladGetProcAddressPtr = (PFNGLXGETPROCADDRESSPROC_PRIVATE)dlsym(libGL, + "glXGetProcAddressARB"); + return gladGetProcAddressPtr != NULL; +#endif + } + } + + return 0; +} + +static +void close_gl() { + if (libGL != NULL) { + dlclose(libGL); + libGL = NULL; + } +} +#endif + +static +void *get_proc(const char *namez) { + void *result = NULL; + if (libGL == NULL) return NULL; + +#ifndef __APPLE__ + if (gladGetProcAddressPtr != NULL) { + result = gladGetProcAddressPtr(namez); + } +#endif + if (result == NULL) { +#ifdef _WIN32 + result = (void *)GetProcAddress(libGL, namez); +#else + result = dlsym(libGL, namez); +#endif + } + + return result; +} + +int gladLoadGLX(Display *dpy, int screen) { + int status = 0; + + if (open_gl()) { + status = gladLoadGLXLoader((GLADloadproc)get_proc, dpy, screen); + close_gl(); + } + + return status; +} + +static Display *GLADGLXDisplay = 0; +static int GLADGLXscreen = 0; + +static int get_exts(void) { + return 1; +} + +static void free_exts(void) { + return; +} + +static int has_ext(const char *ext) { + const char *terminator; + const char *loc; + const char *extensions; + + if (!GLAD_GLX_VERSION_1_1) + return 0; + + extensions = glXQueryExtensionsString(GLADGLXDisplay, GLADGLXscreen); + + if (extensions == NULL || ext == NULL) + return 0; + + while (1) { + loc = strstr(extensions, ext); + if (loc == NULL) + break; + + terminator = loc + strlen(ext); + if ((loc == extensions || *(loc - 1) == ' ') && + (*terminator == ' ' || *terminator == '\0')) { + return 1; + } + extensions = terminator; + } + + return 0; +} + +int GLAD_GLX_VERSION_1_0; +int GLAD_GLX_VERSION_1_1; +int GLAD_GLX_VERSION_1_2; +int GLAD_GLX_VERSION_1_3; +int GLAD_GLX_VERSION_1_4; +PFNGLXGETSELECTEDEVENTPROC glad_glXGetSelectedEvent; +PFNGLXQUERYEXTENSIONPROC glad_glXQueryExtension; +PFNGLXMAKECURRENTPROC glad_glXMakeCurrent; +PFNGLXSELECTEVENTPROC glad_glXSelectEvent; +PFNGLXCREATECONTEXTPROC glad_glXCreateContext; +PFNGLXCREATEGLXPIXMAPPROC glad_glXCreateGLXPixmap; +PFNGLXQUERYVERSIONPROC glad_glXQueryVersion; +PFNGLXGETCURRENTREADDRAWABLEPROC glad_glXGetCurrentReadDrawable; +PFNGLXDESTROYPIXMAPPROC glad_glXDestroyPixmap; +PFNGLXGETCURRENTCONTEXTPROC glad_glXGetCurrentContext; +PFNGLXGETPROCADDRESSPROC glad_glXGetProcAddress; +PFNGLXWAITGLPROC glad_glXWaitGL; +PFNGLXISDIRECTPROC glad_glXIsDirect; +PFNGLXDESTROYWINDOWPROC glad_glXDestroyWindow; +PFNGLXCREATEWINDOWPROC glad_glXCreateWindow; +PFNGLXCOPYCONTEXTPROC glad_glXCopyContext; +PFNGLXCREATEPBUFFERPROC glad_glXCreatePbuffer; +PFNGLXSWAPBUFFERSPROC glad_glXSwapBuffers; +PFNGLXGETCURRENTDISPLAYPROC glad_glXGetCurrentDisplay; +PFNGLXGETCURRENTDRAWABLEPROC glad_glXGetCurrentDrawable; +PFNGLXQUERYCONTEXTPROC glad_glXQueryContext; +PFNGLXCHOOSEVISUALPROC glad_glXChooseVisual; +PFNGLXQUERYSERVERSTRINGPROC glad_glXQueryServerString; +PFNGLXDESTROYCONTEXTPROC glad_glXDestroyContext; +PFNGLXDESTROYGLXPIXMAPPROC glad_glXDestroyGLXPixmap; +PFNGLXGETFBCONFIGATTRIBPROC glad_glXGetFBConfigAttrib; +PFNGLXUSEXFONTPROC glad_glXUseXFont; +PFNGLXDESTROYPBUFFERPROC glad_glXDestroyPbuffer; +PFNGLXCHOOSEFBCONFIGPROC glad_glXChooseFBConfig; +PFNGLXCREATENEWCONTEXTPROC glad_glXCreateNewContext; +PFNGLXMAKECONTEXTCURRENTPROC glad_glXMakeContextCurrent; +PFNGLXGETCONFIGPROC glad_glXGetConfig; +PFNGLXGETFBCONFIGSPROC glad_glXGetFBConfigs; +PFNGLXCREATEPIXMAPPROC glad_glXCreatePixmap; +PFNGLXWAITXPROC glad_glXWaitX; +PFNGLXGETVISUALFROMFBCONFIGPROC glad_glXGetVisualFromFBConfig; +PFNGLXQUERYDRAWABLEPROC glad_glXQueryDrawable; +PFNGLXQUERYEXTENSIONSSTRINGPROC glad_glXQueryExtensionsString; +PFNGLXGETCLIENTSTRINGPROC glad_glXGetClientString; +static void load_GLX_VERSION_1_0(GLADloadproc load) { + if (!GLAD_GLX_VERSION_1_0) return; + glad_glXChooseVisual = (PFNGLXCHOOSEVISUALPROC)load("glXChooseVisual"); + glad_glXCreateContext = (PFNGLXCREATECONTEXTPROC)load("glXCreateContext"); + glad_glXDestroyContext = (PFNGLXDESTROYCONTEXTPROC)load("glXDestroyContext"); + glad_glXMakeCurrent = (PFNGLXMAKECURRENTPROC)load("glXMakeCurrent"); + glad_glXCopyContext = (PFNGLXCOPYCONTEXTPROC)load("glXCopyContext"); + glad_glXSwapBuffers = (PFNGLXSWAPBUFFERSPROC)load("glXSwapBuffers"); + glad_glXCreateGLXPixmap = (PFNGLXCREATEGLXPIXMAPPROC)load("glXCreateGLXPixmap"); + glad_glXDestroyGLXPixmap = (PFNGLXDESTROYGLXPIXMAPPROC)load("glXDestroyGLXPixmap"); + glad_glXQueryExtension = (PFNGLXQUERYEXTENSIONPROC)load("glXQueryExtension"); + glad_glXQueryVersion = (PFNGLXQUERYVERSIONPROC)load("glXQueryVersion"); + glad_glXIsDirect = (PFNGLXISDIRECTPROC)load("glXIsDirect"); + glad_glXGetConfig = (PFNGLXGETCONFIGPROC)load("glXGetConfig"); + glad_glXGetCurrentContext = (PFNGLXGETCURRENTCONTEXTPROC)load("glXGetCurrentContext"); + glad_glXGetCurrentDrawable = (PFNGLXGETCURRENTDRAWABLEPROC)load("glXGetCurrentDrawable"); + glad_glXWaitGL = (PFNGLXWAITGLPROC)load("glXWaitGL"); + glad_glXWaitX = (PFNGLXWAITXPROC)load("glXWaitX"); + glad_glXUseXFont = (PFNGLXUSEXFONTPROC)load("glXUseXFont"); +} +static void load_GLX_VERSION_1_1(GLADloadproc load) { + if (!GLAD_GLX_VERSION_1_1) return; + glad_glXQueryExtensionsString = (PFNGLXQUERYEXTENSIONSSTRINGPROC)load("glXQueryExtensionsString"); + glad_glXQueryServerString = (PFNGLXQUERYSERVERSTRINGPROC)load("glXQueryServerString"); + glad_glXGetClientString = (PFNGLXGETCLIENTSTRINGPROC)load("glXGetClientString"); +} +static void load_GLX_VERSION_1_2(GLADloadproc load) { + if (!GLAD_GLX_VERSION_1_2) return; + glad_glXGetCurrentDisplay = (PFNGLXGETCURRENTDISPLAYPROC)load("glXGetCurrentDisplay"); +} +static void load_GLX_VERSION_1_3(GLADloadproc load) { + if (!GLAD_GLX_VERSION_1_3) return; + glad_glXGetFBConfigs = (PFNGLXGETFBCONFIGSPROC)load("glXGetFBConfigs"); + glad_glXChooseFBConfig = (PFNGLXCHOOSEFBCONFIGPROC)load("glXChooseFBConfig"); + glad_glXGetFBConfigAttrib = (PFNGLXGETFBCONFIGATTRIBPROC)load("glXGetFBConfigAttrib"); + glad_glXGetVisualFromFBConfig = (PFNGLXGETVISUALFROMFBCONFIGPROC)load("glXGetVisualFromFBConfig"); + glad_glXCreateWindow = (PFNGLXCREATEWINDOWPROC)load("glXCreateWindow"); + glad_glXDestroyWindow = (PFNGLXDESTROYWINDOWPROC)load("glXDestroyWindow"); + glad_glXCreatePixmap = (PFNGLXCREATEPIXMAPPROC)load("glXCreatePixmap"); + glad_glXDestroyPixmap = (PFNGLXDESTROYPIXMAPPROC)load("glXDestroyPixmap"); + glad_glXCreatePbuffer = (PFNGLXCREATEPBUFFERPROC)load("glXCreatePbuffer"); + glad_glXDestroyPbuffer = (PFNGLXDESTROYPBUFFERPROC)load("glXDestroyPbuffer"); + glad_glXQueryDrawable = (PFNGLXQUERYDRAWABLEPROC)load("glXQueryDrawable"); + glad_glXCreateNewContext = (PFNGLXCREATENEWCONTEXTPROC)load("glXCreateNewContext"); + glad_glXMakeContextCurrent = (PFNGLXMAKECONTEXTCURRENTPROC)load("glXMakeContextCurrent"); + glad_glXGetCurrentReadDrawable = (PFNGLXGETCURRENTREADDRAWABLEPROC)load("glXGetCurrentReadDrawable"); + glad_glXQueryContext = (PFNGLXQUERYCONTEXTPROC)load("glXQueryContext"); + glad_glXSelectEvent = (PFNGLXSELECTEVENTPROC)load("glXSelectEvent"); + glad_glXGetSelectedEvent = (PFNGLXGETSELECTEDEVENTPROC)load("glXGetSelectedEvent"); +} +static void load_GLX_VERSION_1_4(GLADloadproc load) { + if (!GLAD_GLX_VERSION_1_4) return; + glad_glXGetProcAddress = (PFNGLXGETPROCADDRESSPROC)load("glXGetProcAddress"); +} +static int find_extensionsGLX(void) { + if (!get_exts()) return 0; + (void)&has_ext; + free_exts(); + return 1; +} + +static void find_coreGLX(Display *dpy, int screen) { + int major = 0, minor = 0; + if (dpy == 0 && GLADGLXDisplay == 0) { + dpy = XOpenDisplay(0); + screen = XScreenNumberOfScreen(XDefaultScreenOfDisplay(dpy)); + } else if (dpy == 0) { + dpy = GLADGLXDisplay; + screen = GLADGLXscreen; + } + glXQueryVersion(dpy, &major, &minor); + GLADGLXDisplay = dpy; + GLADGLXscreen = screen; + GLAD_GLX_VERSION_1_0 = (major == 1 && minor >= 0) || major > 1; + GLAD_GLX_VERSION_1_1 = (major == 1 && minor >= 1) || major > 1; + GLAD_GLX_VERSION_1_2 = (major == 1 && minor >= 2) || major > 1; + GLAD_GLX_VERSION_1_3 = (major == 1 && minor >= 3) || major > 1; + GLAD_GLX_VERSION_1_4 = (major == 1 && minor >= 4) || major > 1; +} + +int gladLoadGLXLoader(GLADloadproc load, Display *dpy, int screen) { + glXQueryVersion = (PFNGLXQUERYVERSIONPROC)load("glXQueryVersion"); + if (glXQueryVersion == NULL) return 0; + find_coreGLX(dpy, screen); + load_GLX_VERSION_1_0(load); + load_GLX_VERSION_1_1(load); + load_GLX_VERSION_1_2(load); + load_GLX_VERSION_1_3(load); + load_GLX_VERSION_1_4(load); + + if (!find_extensionsGLX()) return 0; + return 1; +} +
View file
LiVES-2.8.6.tar.bz2/lives-plugins/plugins/playback/video/glad_glx.h
Added
@@ -0,0 +1,440 @@ +/* + + GLX loader generated by glad 0.1.13a0 on Sat Apr 29 18:30:41 2017. + + Language/Generator: C/C++ + Specification: glx + APIs: glx=1.4 + Profile: - + Extensions: + + Loader: True + Local files: False + Omit khrplatform: False + + Commandline: + --api="glx=1.4" --generator="c" --spec="glx" --extensions="" + Online: + http://glad.dav1d.de/#language=c&specification=glx&loader=on&api=glx%3D1.4 +*/ + + +#include <X11/X.h> +#include <X11/Xlib.h> +#include <X11/Xutil.h> +#include "glad.h" + +#ifndef __glad_glxext_h_ + +#ifdef __glxext_h_ +#error GLX header already included, remove this include, glad already provides it +#endif + +#define __glad_glxext_h_ +#define __glxext_h_ + +#ifndef APIENTRY +#define APIENTRY +#endif +#ifndef APIENTRYP +#define APIENTRYP APIENTRY * +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +typedef void *(* GLADloadproc)(const char *name); + +#ifndef GLAPI +# if defined(GLAD_GLAPI_EXPORT) +# if defined(WIN32) || defined(__CYGWIN__) +# if defined(GLAD_GLAPI_EXPORT_BUILD) +# if defined(__GNUC__) +# define GLAPI __attribute__ ((dllexport)) extern +# else +# define GLAPI __declspec(dllexport) extern +# endif +# else +# if defined(__GNUC__) +# define GLAPI __attribute__ ((dllimport)) extern +# else +# define GLAPI __declspec(dllimport) extern +# endif +# endif +# elif defined(__GNUC__) && defined(GLAD_GLAPI_EXPORT_BUILD) +# define GLAPI __attribute__ ((visibility ("default"))) extern +# else +# define GLAPI extern +# endif +# else +# define GLAPI extern +# endif +#endif + +GLAPI int gladLoadGLX(Display *dpy, int screen); + +GLAPI int gladLoadGLXLoader(GLADloadproc, Display *dpy, int screen); + +#ifndef GLEXT_64_TYPES_DEFINED +/* This code block is duplicated in glext.h, so must be protected */ +#define GLEXT_64_TYPES_DEFINED +/* Define int32_t, int64_t, and uint64_t types for UST/MSC */ +/* (as used in the GLX_OML_sync_control extension). */ +#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L +#include <inttypes.h> +#elif defined(__sun__) || defined(__digital__) +#include <inttypes.h> +#if defined(__STDC__) +#if defined(__arch64__) || defined(_LP64) +typedef long int int64_t; +typedef unsigned long int uint64_t; +#else +typedef long long int int64_t; +typedef unsigned long long int uint64_t; +#endif /* __arch64__ */ +#endif /* __STDC__ */ +#elif defined(__VMS) || defined(__sgi) +#include <inttypes.h> +#elif defined(__SCO__) || defined(__USLC__) +#include <stdint.h> +#elif defined(__UNIXOS2__) || defined(__SOL64__) +typedef long int int32_t; +typedef long long int int64_t; +typedef unsigned long long int uint64_t; +#elif defined(_WIN32) && defined(__GNUC__) +#include <stdint.h> +#elif defined(_WIN32) +typedef __int32 int32_t; +typedef __int64 int64_t; +typedef unsigned __int64 uint64_t; +#else +/* Fallback if nothing above works */ +#include <inttypes.h> +#endif +#endif +#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060) +#else +#endif +#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060) +#else +#endif +typedef XID GLXFBConfigID; +typedef struct __GLXFBConfigRec *GLXFBConfig; +typedef XID GLXContextID; +typedef struct __GLXcontextRec *GLXContext; +typedef XID GLXPixmap; +typedef XID GLXDrawable; +typedef XID GLXWindow; +typedef XID GLXPbuffer; +typedef void (APIENTRY *__GLXextFuncPtr)(void); +typedef XID GLXVideoCaptureDeviceNV; +typedef unsigned int GLXVideoDeviceNV; +typedef XID GLXVideoSourceSGIX; +typedef XID GLXFBConfigIDSGIX; +typedef struct __GLXFBConfigRec *GLXFBConfigSGIX; +typedef XID GLXPbufferSGIX; +typedef struct { + int event_type; /* GLX_DAMAGED or GLX_SAVED */ + int draw_type; /* GLX_WINDOW or GLX_PBUFFER */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came for SendEvent request */ + Display *display; /* display the event was read from */ + GLXDrawable drawable; /* XID of Drawable */ + unsigned int buffer_mask; /* mask indicating which buffers are affected */ + unsigned int aux_buffer; /* which aux buffer was affected */ + int x, y; + int width, height; + int count; /* if nonzero, at least this many more */ +} GLXPbufferClobberEvent; +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + GLXDrawable drawable; /* drawable on which event was requested in event mask */ + int event_type; + int64_t ust; + int64_t msc; + int64_t sbc; +} GLXBufferSwapComplete; +typedef union __GLXEvent { + GLXPbufferClobberEvent glxpbufferclobber; + GLXBufferSwapComplete glxbufferswapcomplete; + long pad[24]; +} GLXEvent; +typedef struct { + int type; + unsigned long serial; + Bool send_event; + Display *display; + int extension; + int evtype; + GLXDrawable window; + Bool stereo_tree; +} GLXStereoNotifyEventEXT; +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came for SendEvent request */ + Display *display; /* display the event was read from */ + GLXDrawable drawable; /* i.d. of Drawable */ + int event_type; /* GLX_DAMAGED_SGIX or GLX_SAVED_SGIX */ + int draw_type; /* GLX_WINDOW_SGIX or GLX_PBUFFER_SGIX */ + unsigned int mask; /* mask indicating which buffers are affected*/ + int x, y; + int width, height; + int count; /* if nonzero, at least this many more */ +} GLXBufferClobberEventSGIX; +typedef struct { + char pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */ + int networkId; +} GLXHyperpipeNetworkSGIX; +typedef struct { + char pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */ + int channel; + unsigned int participationType; + int timeSlice; +} GLXHyperpipeConfigSGIX; +typedef struct { + char pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */ + int srcXOrigin, srcYOrigin, srcWidth, srcHeight; + int destXOrigin, destYOrigin, destWidth, destHeight; +} GLXPipeRect; +typedef struct { + char pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */ + int XOrigin, YOrigin, maxHeight, maxWidth; +} GLXPipeRectLimits; +#define GLX_EXTENSION_NAME "GLX" +#define GLX_PbufferClobber 0 +#define GLX_BufferSwapComplete 1 +#define __GLX_NUMBER_EVENTS 17 +#define GLX_BAD_SCREEN 1 +#define GLX_BAD_ATTRIBUTE 2 +#define GLX_NO_EXTENSION 3 +#define GLX_BAD_VISUAL 4 +#define GLX_BAD_CONTEXT 5 +#define GLX_BAD_VALUE 6 +#define GLX_BAD_ENUM 7 +#define GLX_USE_GL 1 +#define GLX_BUFFER_SIZE 2 +#define GLX_LEVEL 3 +#define GLX_RGBA 4 +#define GLX_DOUBLEBUFFER 5 +#define GLX_STEREO 6 +#define GLX_AUX_BUFFERS 7 +#define GLX_RED_SIZE 8 +#define GLX_GREEN_SIZE 9 +#define GLX_BLUE_SIZE 10 +#define GLX_ALPHA_SIZE 11 +#define GLX_DEPTH_SIZE 12 +#define GLX_STENCIL_SIZE 13 +#define GLX_ACCUM_RED_SIZE 14 +#define GLX_ACCUM_GREEN_SIZE 15 +#define GLX_ACCUM_BLUE_SIZE 16 +#define GLX_ACCUM_ALPHA_SIZE 17 +#define GLX_VENDOR 0x1 +#define GLX_VERSION 0x2 +#define GLX_EXTENSIONS 0x3 +#define GLX_WINDOW_BIT 0x00000001 +#define GLX_PIXMAP_BIT 0x00000002 +#define GLX_PBUFFER_BIT 0x00000004 +#define GLX_RGBA_BIT 0x00000001 +#define GLX_COLOR_INDEX_BIT 0x00000002 +#define GLX_PBUFFER_CLOBBER_MASK 0x08000000 +#define GLX_FRONT_LEFT_BUFFER_BIT 0x00000001 +#define GLX_FRONT_RIGHT_BUFFER_BIT 0x00000002 +#define GLX_BACK_LEFT_BUFFER_BIT 0x00000004 +#define GLX_BACK_RIGHT_BUFFER_BIT 0x00000008 +#define GLX_AUX_BUFFERS_BIT 0x00000010 +#define GLX_DEPTH_BUFFER_BIT 0x00000020 +#define GLX_STENCIL_BUFFER_BIT 0x00000040 +#define GLX_ACCUM_BUFFER_BIT 0x00000080 +#define GLX_CONFIG_CAVEAT 0x20 +#define GLX_X_VISUAL_TYPE 0x22 +#define GLX_TRANSPARENT_TYPE 0x23 +#define GLX_TRANSPARENT_INDEX_VALUE 0x24 +#define GLX_TRANSPARENT_RED_VALUE 0x25 +#define GLX_TRANSPARENT_GREEN_VALUE 0x26 +#define GLX_TRANSPARENT_BLUE_VALUE 0x27 +#define GLX_TRANSPARENT_ALPHA_VALUE 0x28 +#define GLX_DONT_CARE 0xFFFFFFFF +#define GLX_NONE 0x8000 +#define GLX_SLOW_CONFIG 0x8001 +#define GLX_TRUE_COLOR 0x8002 +#define GLX_DIRECT_COLOR 0x8003 +#define GLX_PSEUDO_COLOR 0x8004 +#define GLX_STATIC_COLOR 0x8005 +#define GLX_GRAY_SCALE 0x8006 +#define GLX_STATIC_GRAY 0x8007 +#define GLX_TRANSPARENT_RGB 0x8008 +#define GLX_TRANSPARENT_INDEX 0x8009 +#define GLX_VISUAL_ID 0x800B +#define GLX_SCREEN 0x800C +#define GLX_NON_CONFORMANT_CONFIG 0x800D +#define GLX_DRAWABLE_TYPE 0x8010 +#define GLX_RENDER_TYPE 0x8011 +#define GLX_X_RENDERABLE 0x8012 +#define GLX_FBCONFIG_ID 0x8013 +#define GLX_RGBA_TYPE 0x8014 +#define GLX_COLOR_INDEX_TYPE 0x8015 +#define GLX_MAX_PBUFFER_WIDTH 0x8016 +#define GLX_MAX_PBUFFER_HEIGHT 0x8017 +#define GLX_MAX_PBUFFER_PIXELS 0x8018 +#define GLX_PRESERVED_CONTENTS 0x801B +#define GLX_LARGEST_PBUFFER 0x801C +#define GLX_WIDTH 0x801D +#define GLX_HEIGHT 0x801E +#define GLX_EVENT_MASK 0x801F +#define GLX_DAMAGED 0x8020 +#define GLX_SAVED 0x8021 +#define GLX_WINDOW 0x8022 +#define GLX_PBUFFER 0x8023 +#define GLX_PBUFFER_HEIGHT 0x8040 +#define GLX_PBUFFER_WIDTH 0x8041 +#define GLX_SAMPLE_BUFFERS 100000 +#define GLX_SAMPLES 100001 +#ifndef GLX_VERSION_1_0 +#define GLX_VERSION_1_0 1 +GLAPI int GLAD_GLX_VERSION_1_0; +typedef XVisualInfo *(APIENTRYP PFNGLXCHOOSEVISUALPROC)(Display *dpy, int screen, int *attribList); +GLAPI PFNGLXCHOOSEVISUALPROC glad_glXChooseVisual; +#define glXChooseVisual glad_glXChooseVisual +typedef GLXContext(APIENTRYP PFNGLXCREATECONTEXTPROC)(Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct); +GLAPI PFNGLXCREATECONTEXTPROC glad_glXCreateContext; +#define glXCreateContext glad_glXCreateContext +typedef void (APIENTRYP PFNGLXDESTROYCONTEXTPROC)(Display *dpy, GLXContext ctx); +GLAPI PFNGLXDESTROYCONTEXTPROC glad_glXDestroyContext; +#define glXDestroyContext glad_glXDestroyContext +typedef Bool(APIENTRYP PFNGLXMAKECURRENTPROC)(Display *dpy, GLXDrawable drawable, GLXContext ctx); +GLAPI PFNGLXMAKECURRENTPROC glad_glXMakeCurrent; +#define glXMakeCurrent glad_glXMakeCurrent +typedef void (APIENTRYP PFNGLXCOPYCONTEXTPROC)(Display *dpy, GLXContext src, GLXContext dst, unsigned long mask); +GLAPI PFNGLXCOPYCONTEXTPROC glad_glXCopyContext; +#define glXCopyContext glad_glXCopyContext +typedef void (APIENTRYP PFNGLXSWAPBUFFERSPROC)(Display *dpy, GLXDrawable drawable); +GLAPI PFNGLXSWAPBUFFERSPROC glad_glXSwapBuffers; +#define glXSwapBuffers glad_glXSwapBuffers +typedef GLXPixmap(APIENTRYP PFNGLXCREATEGLXPIXMAPPROC)(Display *dpy, XVisualInfo *visual, Pixmap pixmap); +GLAPI PFNGLXCREATEGLXPIXMAPPROC glad_glXCreateGLXPixmap; +#define glXCreateGLXPixmap glad_glXCreateGLXPixmap +typedef void (APIENTRYP PFNGLXDESTROYGLXPIXMAPPROC)(Display *dpy, GLXPixmap pixmap); +GLAPI PFNGLXDESTROYGLXPIXMAPPROC glad_glXDestroyGLXPixmap; +#define glXDestroyGLXPixmap glad_glXDestroyGLXPixmap +typedef Bool(APIENTRYP PFNGLXQUERYEXTENSIONPROC)(Display *dpy, int *errorb, int *event); +GLAPI PFNGLXQUERYEXTENSIONPROC glad_glXQueryExtension; +#define glXQueryExtension glad_glXQueryExtension +typedef Bool(APIENTRYP PFNGLXQUERYVERSIONPROC)(Display *dpy, int *maj, int *min); +GLAPI PFNGLXQUERYVERSIONPROC glad_glXQueryVersion; +#define glXQueryVersion glad_glXQueryVersion +typedef Bool(APIENTRYP PFNGLXISDIRECTPROC)(Display *dpy, GLXContext ctx); +GLAPI PFNGLXISDIRECTPROC glad_glXIsDirect; +#define glXIsDirect glad_glXIsDirect +typedef int (APIENTRYP PFNGLXGETCONFIGPROC)(Display *dpy, XVisualInfo *visual, int attrib, int *value); +GLAPI PFNGLXGETCONFIGPROC glad_glXGetConfig; +#define glXGetConfig glad_glXGetConfig +typedef GLXContext(APIENTRYP PFNGLXGETCURRENTCONTEXTPROC)(); +GLAPI PFNGLXGETCURRENTCONTEXTPROC glad_glXGetCurrentContext; +#define glXGetCurrentContext glad_glXGetCurrentContext +typedef GLXDrawable(APIENTRYP PFNGLXGETCURRENTDRAWABLEPROC)(); +GLAPI PFNGLXGETCURRENTDRAWABLEPROC glad_glXGetCurrentDrawable; +#define glXGetCurrentDrawable glad_glXGetCurrentDrawable +typedef void (APIENTRYP PFNGLXWAITGLPROC)(); +GLAPI PFNGLXWAITGLPROC glad_glXWaitGL; +#define glXWaitGL glad_glXWaitGL +typedef void (APIENTRYP PFNGLXWAITXPROC)(); +GLAPI PFNGLXWAITXPROC glad_glXWaitX; +#define glXWaitX glad_glXWaitX +typedef void (APIENTRYP PFNGLXUSEXFONTPROC)(Font font, int first, int count, int list); +GLAPI PFNGLXUSEXFONTPROC glad_glXUseXFont; +#define glXUseXFont glad_glXUseXFont +#endif +#ifndef GLX_VERSION_1_1 +#define GLX_VERSION_1_1 1 +GLAPI int GLAD_GLX_VERSION_1_1; +typedef const char *(APIENTRYP PFNGLXQUERYEXTENSIONSSTRINGPROC)(Display *dpy, int screen); +GLAPI PFNGLXQUERYEXTENSIONSSTRINGPROC glad_glXQueryExtensionsString; +#define glXQueryExtensionsString glad_glXQueryExtensionsString +typedef const char *(APIENTRYP PFNGLXQUERYSERVERSTRINGPROC)(Display *dpy, int screen, int name); +GLAPI PFNGLXQUERYSERVERSTRINGPROC glad_glXQueryServerString; +#define glXQueryServerString glad_glXQueryServerString +typedef const char *(APIENTRYP PFNGLXGETCLIENTSTRINGPROC)(Display *dpy, int name); +GLAPI PFNGLXGETCLIENTSTRINGPROC glad_glXGetClientString; +#define glXGetClientString glad_glXGetClientString +#endif +#ifndef GLX_VERSION_1_2 +#define GLX_VERSION_1_2 1 +GLAPI int GLAD_GLX_VERSION_1_2; +typedef Display *(APIENTRYP PFNGLXGETCURRENTDISPLAYPROC)(); +GLAPI PFNGLXGETCURRENTDISPLAYPROC glad_glXGetCurrentDisplay; +#define glXGetCurrentDisplay glad_glXGetCurrentDisplay +#endif +#ifndef GLX_VERSION_1_3 +#define GLX_VERSION_1_3 1 +GLAPI int GLAD_GLX_VERSION_1_3; +typedef GLXFBConfig *(APIENTRYP PFNGLXGETFBCONFIGSPROC)(Display *dpy, int screen, int *nelements); +GLAPI PFNGLXGETFBCONFIGSPROC glad_glXGetFBConfigs; +#define glXGetFBConfigs glad_glXGetFBConfigs +typedef GLXFBConfig *(APIENTRYP PFNGLXCHOOSEFBCONFIGPROC)(Display *dpy, int screen, const int *attrib_list, int *nelements); +GLAPI PFNGLXCHOOSEFBCONFIGPROC glad_glXChooseFBConfig; +#define glXChooseFBConfig glad_glXChooseFBConfig +typedef int (APIENTRYP PFNGLXGETFBCONFIGATTRIBPROC)(Display *dpy, GLXFBConfig config, int attribute, int *value); +GLAPI PFNGLXGETFBCONFIGATTRIBPROC glad_glXGetFBConfigAttrib; +#define glXGetFBConfigAttrib glad_glXGetFBConfigAttrib +typedef XVisualInfo *(APIENTRYP PFNGLXGETVISUALFROMFBCONFIGPROC)(Display *dpy, GLXFBConfig config); +GLAPI PFNGLXGETVISUALFROMFBCONFIGPROC glad_glXGetVisualFromFBConfig; +#define glXGetVisualFromFBConfig glad_glXGetVisualFromFBConfig +typedef GLXWindow(APIENTRYP PFNGLXCREATEWINDOWPROC)(Display *dpy, GLXFBConfig config, Window win, const int *attrib_list); +GLAPI PFNGLXCREATEWINDOWPROC glad_glXCreateWindow; +#define glXCreateWindow glad_glXCreateWindow +typedef void (APIENTRYP PFNGLXDESTROYWINDOWPROC)(Display *dpy, GLXWindow win); +GLAPI PFNGLXDESTROYWINDOWPROC glad_glXDestroyWindow; +#define glXDestroyWindow glad_glXDestroyWindow +typedef GLXPixmap(APIENTRYP PFNGLXCREATEPIXMAPPROC)(Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list); +GLAPI PFNGLXCREATEPIXMAPPROC glad_glXCreatePixmap; +#define glXCreatePixmap glad_glXCreatePixmap +typedef void (APIENTRYP PFNGLXDESTROYPIXMAPPROC)(Display *dpy, GLXPixmap pixmap); +GLAPI PFNGLXDESTROYPIXMAPPROC glad_glXDestroyPixmap; +#define glXDestroyPixmap glad_glXDestroyPixmap +typedef GLXPbuffer(APIENTRYP PFNGLXCREATEPBUFFERPROC)(Display *dpy, GLXFBConfig config, const int *attrib_list); +GLAPI PFNGLXCREATEPBUFFERPROC glad_glXCreatePbuffer; +#define glXCreatePbuffer glad_glXCreatePbuffer +typedef void (APIENTRYP PFNGLXDESTROYPBUFFERPROC)(Display *dpy, GLXPbuffer pbuf); +GLAPI PFNGLXDESTROYPBUFFERPROC glad_glXDestroyPbuffer; +#define glXDestroyPbuffer glad_glXDestroyPbuffer +typedef void (APIENTRYP PFNGLXQUERYDRAWABLEPROC)(Display *dpy, GLXDrawable draw, int attribute, unsigned int *value); +GLAPI PFNGLXQUERYDRAWABLEPROC glad_glXQueryDrawable; +#define glXQueryDrawable glad_glXQueryDrawable +typedef GLXContext(APIENTRYP PFNGLXCREATENEWCONTEXTPROC)(Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, + Bool direct); +GLAPI PFNGLXCREATENEWCONTEXTPROC glad_glXCreateNewContext; +#define glXCreateNewContext glad_glXCreateNewContext +typedef Bool(APIENTRYP PFNGLXMAKECONTEXTCURRENTPROC)(Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx); +GLAPI PFNGLXMAKECONTEXTCURRENTPROC glad_glXMakeContextCurrent; +#define glXMakeContextCurrent glad_glXMakeContextCurrent +typedef GLXDrawable(APIENTRYP PFNGLXGETCURRENTREADDRAWABLEPROC)(); +GLAPI PFNGLXGETCURRENTREADDRAWABLEPROC glad_glXGetCurrentReadDrawable; +#define glXGetCurrentReadDrawable glad_glXGetCurrentReadDrawable +typedef int (APIENTRYP PFNGLXQUERYCONTEXTPROC)(Display *dpy, GLXContext ctx, int attribute, int *value); +GLAPI PFNGLXQUERYCONTEXTPROC glad_glXQueryContext; +#define glXQueryContext glad_glXQueryContext +typedef void (APIENTRYP PFNGLXSELECTEVENTPROC)(Display *dpy, GLXDrawable draw, unsigned long event_mask); +GLAPI PFNGLXSELECTEVENTPROC glad_glXSelectEvent; +#define glXSelectEvent glad_glXSelectEvent +typedef void (APIENTRYP PFNGLXGETSELECTEDEVENTPROC)(Display *dpy, GLXDrawable draw, unsigned long *event_mask); +GLAPI PFNGLXGETSELECTEDEVENTPROC glad_glXGetSelectedEvent; +#define glXGetSelectedEvent glad_glXGetSelectedEvent +#endif +#ifndef GLX_VERSION_1_4 +#define GLX_VERSION_1_4 1 +GLAPI int GLAD_GLX_VERSION_1_4; +typedef __GLXextFuncPtr(APIENTRYP PFNGLXGETPROCADDRESSPROC)(const GLubyte *procName); +GLAPI PFNGLXGETPROCADDRESSPROC glad_glXGetProcAddress; +#define glXGetProcAddress glad_glXGetProcAddress +#endif + +#ifdef __cplusplus +} +#endif + +#endif
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/playback/video/icecast_output.c -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/playback/video/icecast_output.c
Changed
@@ -13,19 +13,19 @@ #include <sys/stat.h> #include <fcntl.h> -static int mypalette=WEED_PALETTE_END; +static int mypalette = WEED_PALETTE_END; static int palette_list[2]; static int clampings[3]; static int myclamp; -static char plugin_version[64]="LiVES ogg/theora/vorbis stream engine version 1.0"; +static char plugin_version[64] = "LiVES ogg/theora/vorbis stream engine version 1.0"; static boolean(*render_fn)(int hsize, int vsize, void **pixel_data); boolean render_frame_yuv420(int hsize, int vsize, void **pixel_data); boolean render_frame_unknown(int hsize, int vsize, void **pixel_data); -static int ov_vsize,ov_hsize; +static int ov_vsize, ov_hsize; static char *workdir; @@ -67,7 +67,7 @@ static void make_path(const char *fname, int pid, const char *ext) { - snprintf(xfile,PATH_MAX,"%s/%s-%d.%s",workdir,fname,pid,ext); + snprintf(xfile, PATH_MAX, "%s/%s-%d.%s", workdir, fname, pid, ext); } static uint8_t **blankframe; @@ -78,11 +78,11 @@ static uint8_t **make_blankframe(size_t size, boolean clear) { uint8_t **planes; - planes=(uint8_t **)malloc(3*sizeof(uint8_t *)); + planes = (uint8_t **)malloc(3 * sizeof(uint8_t *)); if (!planes) return NULL; - planes[0]=(uint8_t *)malloc(size); + planes[0] = (uint8_t *)malloc(size); if (!planes[0]) { free(planes); @@ -90,13 +90,13 @@ } if (clear) { - if (myclamp==WEED_YUV_CLAMPING_CLAMPED) memset(planes[0],16,size); - else memset(planes[0],1,size); + if (myclamp == WEED_YUV_CLAMPING_CLAMPED) memset(planes[0], 16, size); + else memset(planes[0], 1, size); } - size>>=2; + size >>= 2; - planes[1]=(uint8_t *)malloc(size); + planes[1] = (uint8_t *)malloc(size); if (!planes[1]) { free(planes[0]); free(planes); @@ -104,16 +104,16 @@ } // yes i know....129....well some encoders may ignore "black frames" @ start - if (clear) memset(planes[1],129,size); + if (clear) memset(planes[1], 129, size); - planes[2]=(uint8_t *)malloc(size); + planes[2] = (uint8_t *)malloc(size); if (!planes[2]) { free(planes[1]); free(planes[0]); free(planes); return NULL; } - if (clear) memset(planes[2],128,size); + if (clear) memset(planes[2], 128, size); return planes; } @@ -131,23 +131,23 @@ // check all binaries are present - render_fn=&render_frame_unknown; - ov_vsize=ov_hsize=0; + render_fn = &render_frame_unknown; + ov_vsize = ov_hsize = 0; - yuv4mpeg=yuv4mpeg_alloc(); + yuv4mpeg = yuv4mpeg_alloc(); y4m_init_stream_info(&(yuv4mpeg->streaminfo)); y4m_init_frame_info(&(yuv4mpeg->frameinfo)); - yuv4mpeg->fd=-1; + yuv4mpeg->fd = -1; // get tempdir - fp=popen("smogrify get_workdir","r"); - dummy=fgets(buffer,PATH_MAX,fp); + fp = popen("smogrify get_workdir", "r"); + dummy = fgets(buffer, PATH_MAX, fp); pclose(fp); - workdir=strdup(buffer); + workdir = strdup(buffer); - blankframe=NULL; + blankframe = NULL; - dummy=dummy; // keep compiler happy + dummy = dummy; // keep compiler happy return NULL; } @@ -162,8 +162,8 @@ } const int *get_palette_list(void) { - palette_list[0]=WEED_PALETTE_YUV420P; - palette_list[1]=WEED_PALETTE_END; + palette_list[0] = WEED_PALETTE_YUV420P; + palette_list[1] = WEED_PALETTE_END; return palette_list; } @@ -175,8 +175,8 @@ const int *get_audio_fmts() { // this is not yet documented in the manual, but is an optional function to get a list of audio formats. If the user chooses to stream audio then it will be sent to a fifo file in the tempdir called livesaudio.stream, in one of the supported formats - aforms[0]=3; // vorbis - see src/plugins.h - aforms[1]=-1; // end + aforms[0] = 3; // vorbis - see src/plugins.h + aforms[1] = -1; // end return aforms; } @@ -206,18 +206,18 @@ } const int *get_yuv_palette_clamping(int palette) { - if (palette==WEED_PALETTE_YUV420P) { - clampings[0]=WEED_YUV_CLAMPING_UNCLAMPED; - clampings[1]=WEED_YUV_CLAMPING_CLAMPED; - clampings[2]=-1; - } else clampings[0]=-1; + if (palette == WEED_PALETTE_YUV420P) { + clampings[0] = WEED_YUV_CLAMPING_UNCLAMPED; + clampings[1] = WEED_YUV_CLAMPING_CLAMPED; + clampings[2] = -1; + } else clampings[0] = -1; return clampings; } boolean set_yuv_palette_clamping(int clamping_type) { - myclamp=clamping_type; + myclamp = clamping_type; return TRUE; } @@ -225,9 +225,9 @@ boolean set_palette(int palette) { if (!yuv4mpeg) return FALSE; - if (palette==WEED_PALETTE_YUV420P) { - mypalette=palette; - render_fn=&render_frame_yuv420; + if (palette == WEED_PALETTE_YUV420P) { + mypalette = palette; + render_fn = &render_frame_yuv420; return TRUE; } // invalid palette @@ -240,16 +240,16 @@ boolean set_fps(double in_fps) { - if (in_fps>23.97599&&in_fps<23.9761) { - yuv4mpeg->fps=y4m_fps_NTSC_FILM; + if (in_fps > 23.97599 && in_fps < 23.9761) { + yuv4mpeg->fps = y4m_fps_NTSC_FILM; return TRUE; } - if (in_fps>=29.97&&in_fps<29.9701) { - yuv4mpeg->fps=y4m_fps_NTSC; + if (in_fps >= 29.97 && in_fps < 29.9701) { + yuv4mpeg->fps = y4m_fps_NTSC; return TRUE; } - yuv4mpeg->fps.n=(int)(in_fps); - yuv4mpeg->fps.d=1; + yuv4mpeg->fps.n = (int)(in_fps); + yuv4mpeg->fps.d = 1; return TRUE; } @@ -258,93 +258,95 @@ boolean init_screen(int width, int height, boolean fullscreen, uint64_t window_id, int argc, char **argv) { int dummyvar; - char cmd[PATH_MAX*2]; - const char *ics=NULL,*icpw=NULL,*icmp=NULL; + char cmd[PATH_MAX * 2]; + const char *ics = NULL, *icpw = NULL, *icmp = NULL; int afd; - int icp=8000; + int icp = 8000; int i; - int mypid=getpid(); + int mypid = getpid(); - double syncd=0; + double syncd = 0; - if (mypalette==WEED_PALETTE_END) { - fprintf(stderr,"oggstream plugin error: No palette was set !\n"); + if (mypalette == WEED_PALETTE_END) { + fprintf(stderr, "oggstream plugin error: No palette was set !\n"); return FALSE; } - if (argc>4) { - syncd=strtod(argv[0],NULL); - ics=argv[1]; - icp=atoi(argv[2]); - icpw=argv[3]; - icmp=argv[4]; + if (argc > 4) { + syncd = strtod(argv[0], NULL); + ics = argv[1]; + icp = atoi(argv[2]); + icpw = argv[3]; + icmp = argv[4]; } - make_path("video",mypid,"ogv"); + make_path("video", mypid, "ogv"); unlink(xfile); - make_path("video2",mypid,"ogv"); + make_path("video2", mypid, "ogv"); unlink(xfile); - make_path("video3",mypid,"ogv"); + make_path("video3", mypid, "ogv"); unlink(xfile); - make_path("stream",mypid,"fifo"); + make_path("stream", mypid, "fifo"); unlink(xfile); - yuv4mpeg->bufn=(int)(syncd*yuv4mpeg->fps.n+.5); - if (syncd==0) yuv4mpeg->bufn=0; - if (yuv4mpeg->bufn>0) { - yuv4mpeg->bufc=1; - yuv4mpeg->framebuf=(uint8_t ** *)malloc(yuv4mpeg->bufn*sizeof(uint8_t **)); + yuv4mpeg->bufn = (int)(syncd * yuv4mpeg->fps.n + .5); + if (syncd == 0) yuv4mpeg->bufn = 0; + if (yuv4mpeg->bufn > 0) { + yuv4mpeg->bufc = 1; + yuv4mpeg->framebuf = (uint8_t ** *)malloc(yuv4mpeg->bufn * sizeof(uint8_t **)); if (!yuv4mpeg->framebuf) return FALSE; - for (i=0; i<yuv4mpeg->bufn; i++) yuv4mpeg->framebuf[i]=NULL; - } else yuv4mpeg->bufc=0; - - make_path("stream",mypid,"fifo"); - mkfifo(xfile,S_IRUSR|S_IWUSR); // raw yuv4m - make_path("video",mypid,"ogv"); - mkfifo(xfile,S_IRUSR|S_IWUSR); // raw ogg stream - make_path("video2",mypid,"ogv"); - mkfifo(xfile,S_IRUSR|S_IWUSR); // corrected ogg stream - make_path("video3",mypid,"ogv"); - mkfifo(xfile,S_IRUSR|S_IWUSR); // feed to oggfwd - - snprintf(cmd,PATH_MAX*2,"ffmpeg2theora -f yuv4m -o %s/video-%d.ogv %s/stream-%d.fifo 2>/dev/null&",workdir,mypid,workdir,mypid); - dummyvar=system(cmd); - - make_path("livesaudio",mypid,"stream"); - - afd=open(xfile,O_RDONLY|O_NONBLOCK); - if (afd!=-1) { - audio=1; + for (i = 0; i < yuv4mpeg->bufn; i++) yuv4mpeg->framebuf[i] = NULL; + } else yuv4mpeg->bufc = 0; + + make_path("stream", mypid, "fifo"); + mkfifo(xfile, S_IRUSR | S_IWUSR); // raw yuv4m + make_path("video", mypid, "ogv"); + mkfifo(xfile, S_IRUSR | S_IWUSR); // raw ogg stream + make_path("video2", mypid, "ogv"); + mkfifo(xfile, S_IRUSR | S_IWUSR); // corrected ogg stream + make_path("video3", mypid, "ogv"); + mkfifo(xfile, S_IRUSR | S_IWUSR); // feed to oggfwd + + snprintf(cmd, PATH_MAX * 2, "ffmpeg2theora -f yuv4m -o %s/video-%d.ogv %s/stream-%d.fifo 2>/dev/null&", workdir, mypid, workdir, mypid); + dummyvar = system(cmd); + + make_path("livesaudio", mypid, "stream"); + + afd = open(xfile, O_RDONLY | O_NONBLOCK); + if (afd != -1) { + audio = 1; close(afd); - } else audio=0; + } else audio = 0; if (audio) { - snprintf(cmd,PATH_MAX*2,"oggTranscode %s/video-%d.ogv %s/video2-%d.ogv &",workdir,mypid,workdir,mypid); - dummyvar=system(cmd); - snprintf(cmd,PATH_MAX*2,"oggJoin %s/video3-%d.ogv %s/video2-%d.ogv %s/livesaudio-%d.stream &",workdir,mypid,workdir,mypid,workdir,mypid); - dummyvar=system(cmd); + snprintf(cmd, PATH_MAX * 2, "oggTranscode %s/video-%d.ogv %s/video2-%d.ogv &", workdir, mypid, workdir, mypid); + dummyvar = system(cmd); + snprintf(cmd, PATH_MAX * 2, "oggJoin %s/video3-%d.ogv %s/video2-%d.ogv %s/livesaudio-%d.stream &", workdir, mypid, workdir, mypid, workdir, + mypid); + dummyvar = system(cmd); } else { - snprintf(cmd,PATH_MAX*2,"oggTranscode %s/video-%d.ogv %s/video3-%d.ogv &",workdir,mypid,workdir,mypid); - dummyvar=system(cmd); + snprintf(cmd, PATH_MAX * 2, "oggTranscode %s/video-%d.ogv %s/video3-%d.ogv &", workdir, mypid, workdir, mypid); + dummyvar = system(cmd); } - snprintf(cmd,PATH_MAX*2,"oggfwd -d \"LiVES stream\" \"%s\" %d \"%s\" \"%s\" < %s/video3-%d.ogv &",ics,icp,icpw,icmp,workdir,mypid); - dummyvar=system(cmd); + snprintf(cmd, PATH_MAX * 2, "oggfwd -d \"LiVES stream\" \"%s\" %d \"%s\" \"%s\" < %s/video3-%d.ogv &", ics, icp, icpw, icmp, workdir, + mypid); + dummyvar = system(cmd); // open first fifo for writing - make_path("stream",mypid,"fifo"); - yuv4mpeg->fd=open(xfile,O_WRONLY); + make_path("stream", mypid, "fifo"); + yuv4mpeg->fd = open(xfile, O_WRONLY); - ov_vsize=ov_hsize=0; + ov_vsize = ov_hsize = 0; - y4m_si_set_framerate(&(yuv4mpeg->streaminfo),yuv4mpeg->fps); + y4m_si_set_framerate(&(yuv4mpeg->streaminfo), yuv4mpeg->fps); y4m_si_set_interlace(&(yuv4mpeg->streaminfo), Y4M_ILACE_NONE); - if (blankframe!=NULL) free(blankframe); - blankframe=NULL; + if (blankframe != NULL) free(blankframe); + blankframe = NULL; - dummyvar=dummyvar; // keep compiler happy + dummyvar = dummyvar; // keep compiler happy //y4m_log_stream_info(LOG_INFO, "lives-yuv4mpeg", &(yuv4mpeg->streaminfo)); return TRUE; @@ -353,15 +355,15 @@ boolean render_frame(int hsize, int vsize, int64_t tc, void **pixel_data, void **rd, void **pp) { // call the function which was set in set_palette - return render_fn(hsize,vsize,pixel_data); + return render_fn(hsize, vsize, pixel_data); } boolean render_frame_yuv420(int hsize, int vsize, void **pixel_data) { - int i,z; + int i, z; size_t fsize; register int j; - if ((ov_hsize!=hsize||ov_vsize!=vsize)) { + if ((ov_hsize != hsize || ov_vsize != vsize)) { //start new stream y4m_si_set_width(&(yuv4mpeg->streaminfo), hsize); y4m_si_set_height(&(yuv4mpeg->streaminfo), vsize); @@ -372,45 +374,45 @@ if (i != Y4M_OK) return FALSE; - ov_hsize=hsize; - ov_vsize=vsize; + ov_hsize = hsize; + ov_vsize = vsize; - if (yuv4mpeg->bufn>0) { - yuv4mpeg->bufc=1; // reset delay (for now) + if (yuv4mpeg->bufn > 0) { + yuv4mpeg->bufc = 1; // reset delay (for now) - for (i=0; i<yuv4mpeg->bufn; i++) { - if (yuv4mpeg->framebuf[i]!=NULL) { - for (j=0; j<3; j++) { + for (i = 0; i < yuv4mpeg->bufn; i++) { + if (yuv4mpeg->framebuf[i] != NULL) { + for (j = 0; j < 3; j++) { free(yuv4mpeg->framebuf[i][j]); } free(yuv4mpeg->framebuf[i]); - yuv4mpeg->framebuf[i]=NULL; + yuv4mpeg->framebuf[i] = NULL; } } - if (blankframe!=NULL) free(blankframe); - blankframe=NULL; + if (blankframe != NULL) free(blankframe); + blankframe = NULL; } } - if (yuv4mpeg->bufn==0) { + if (yuv4mpeg->bufn == 0) { // no sync delay i = y4m_write_frame(yuv4mpeg->fd, &(yuv4mpeg->streaminfo), &(yuv4mpeg->frameinfo), (uint8_t **)pixel_data); } else { // write frame to next slot in buffer - z=yuv4mpeg->bufc-1; - fsize=hsize*vsize; + z = yuv4mpeg->bufc - 1; + fsize = hsize * vsize; - if (yuv4mpeg->framebuf[z]==NULL) { + if (yuv4mpeg->framebuf[z] == NULL) { // blank to output - yuv4mpeg->framebuf[z]=make_blankframe(fsize,FALSE); - if (yuv4mpeg->framebuf[z]==NULL) return FALSE; + yuv4mpeg->framebuf[z] = make_blankframe(fsize, FALSE); + if (yuv4mpeg->framebuf[z] == NULL) return FALSE; - if (blankframe==NULL) blankframe=make_blankframe(fsize,FALSE); - if (blankframe==NULL) return FALSE; // oom + if (blankframe == NULL) blankframe = make_blankframe(fsize, FALSE); + if (blankframe == NULL) return FALSE; // oom i = y4m_write_frame(yuv4mpeg->fd, &(yuv4mpeg->streaminfo), &(yuv4mpeg->frameinfo), blankframe); @@ -420,13 +422,13 @@ &(yuv4mpeg->frameinfo), (uint8_t **)yuv4mpeg->framebuf[z]); } - for (j=0; j<3; j++) { - memcpy(yuv4mpeg->framebuf[z][j],pixel_data[j],fsize); - if (j==0) fsize>>=2; + for (j = 0; j < 3; j++) { + memcpy(yuv4mpeg->framebuf[z][j], pixel_data[j], fsize); + if (j == 0) fsize >>= 2; } yuv4mpeg->bufc++; - if (yuv4mpeg->bufc>yuv4mpeg->bufn) yuv4mpeg->bufc=1; + if (yuv4mpeg->bufc > yuv4mpeg->bufn) yuv4mpeg->bufc = 1; } @@ -437,49 +439,49 @@ } boolean render_frame_unknown(int hsize, int vsize, void **pixel_data) { - if (mypalette==WEED_PALETTE_END) { - fprintf(stderr,"ogg_stream plugin error: No palette was set !\n"); + if (mypalette == WEED_PALETTE_END) { + fprintf(stderr, "ogg_stream plugin error: No palette was set !\n"); } return FALSE; } void exit_screen(int16_t mouse_x, int16_t mouse_y) { int dummyvar; - int mypid=getpid(); + int mypid = getpid(); - int i,j; + int i, j; y4m_fini_stream_info(&(yuv4mpeg->streaminfo)); y4m_fini_frame_info(&(yuv4mpeg->frameinfo)); - if (yuv4mpeg->fd!=-1) { + if (yuv4mpeg->fd != -1) { close(yuv4mpeg->fd); - yuv4mpeg->fd=-1; + yuv4mpeg->fd = -1; } - dummyvar=system("pkill -g 0 -P 1"); + dummyvar = system("pkill -g 0 -P 1"); - make_path("video",mypid,"ogv"); + make_path("video", mypid, "ogv"); unlink(xfile); - make_path("video2",mypid,"ogv"); + make_path("video2", mypid, "ogv"); unlink(xfile); - make_path("video3",mypid,"ogv"); + make_path("video3", mypid, "ogv"); unlink(xfile); - make_path("stream",mypid,"fifo"); + make_path("stream", mypid, "fifo"); unlink(xfile); - if (blankframe!=NULL) free(blankframe); - blankframe=NULL; + if (blankframe != NULL) free(blankframe); + blankframe = NULL; - if (yuv4mpeg->bufc!=0) { - if (yuv4mpeg->bufc<0) { - yuv4mpeg->bufn=-yuv4mpeg->bufc-1; + if (yuv4mpeg->bufc != 0) { + if (yuv4mpeg->bufc < 0) { + yuv4mpeg->bufn = -yuv4mpeg->bufc - 1; } - if (yuv4mpeg->framebuf!=NULL) { - for (i=0; i<yuv4mpeg->bufn; i++) { - if (yuv4mpeg->framebuf[i]!=NULL) { - for (j=0; j<3; j++) { + if (yuv4mpeg->framebuf != NULL) { + for (i = 0; i < yuv4mpeg->bufn; i++) { + if (yuv4mpeg->framebuf[i] != NULL) { + for (j = 0; j < 3; j++) { free(yuv4mpeg->framebuf[i][j]); } free(yuv4mpeg->framebuf[i]); @@ -489,7 +491,7 @@ } } - dummyvar=dummyvar; // keep compiler happy + dummyvar = dummyvar; // keep compiler happy } @@ -497,10 +499,10 @@ void module_unload(void) { - if (yuv4mpeg!=NULL) { + if (yuv4mpeg != NULL) { free(yuv4mpeg); } - yuv4mpeg=NULL; + yuv4mpeg = NULL; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/playback/video/lives2lives_stream.c -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/playback/video/lives2lives_stream.c
Changed
@@ -19,7 +19,7 @@ static int clampings[3]; -static char plugin_version[64]="LiVES to LiVES streaming engine version 1.1"; +static char plugin_version[64] = "LiVES to LiVES streaming engine version 1.1"; static boolean(*render_fn)(int hsize, int vsize, int64_t tc, void **pixel_data); boolean render_frame_stream(int hsize, int vsize, int64_t tc, void **pixel_data); @@ -60,8 +60,8 @@ lives_stream_t *lstream_alloc(void) { lives_stream_t *lstream = (lives_stream_t *) malloc(sizeof(lives_stream_t)); if (!lstream) return NULL; - lstream->handle=NULL; - lstream->YUV_clamping=WEED_YUV_CLAMPING_CLAMPED; + lstream->handle = NULL; + lstream->YUV_clamping = WEED_YUV_CLAMPING_CLAMPED; return lstream; } @@ -74,7 +74,7 @@ uint64_t address; o = (desc *)malloc(sizeof(desc)); - if (o==NULL) return NULL; + if (o == NULL) return NULL; o->len = sizeof(cl_addr); memset((char *)&o->serv_addr, 0, sizeof(o->serv_addr)); @@ -99,18 +99,18 @@ cl_addr.sin_port = htons(0); if (bind(sockfd, (struct sockaddr *) &cl_addr, sizeof(cl_addr)) < 0) { - fprintf(stderr,"could not bind\n"); + fprintf(stderr, "could not bind\n"); close(sockfd); sockfd = -1; } - } else fprintf(stderr,"unable to make socket\n"); + } else fprintf(stderr, "unable to make socket\n"); - if (sockfd<0) { + if (sockfd < 0) { free(o); o = NULL; } else o->sockfd = sockfd; - if (o!=NULL&&strcmp(host,"INADDR_ANY")) { + if (o != NULL && strcmp(host, "INADDR_ANY")) { connect(sockfd, o->addr, sizeof(cl_addr)); } @@ -120,19 +120,19 @@ static boolean sendudp(const struct sockaddr *sp, int sockfd, int length, size_t count, void *b) { ssize_t res; - size_t mcount=count; - if (lstream->mtu>0&&mcount>lstream->mtu) mcount=lstream->mtu; - - while (count>0) { - if (mcount>count) mcount=count; - if ((res=sendto(sockfd, b, mcount, 0, sp, length))==-1) { - if (errno==EMSGSIZE) { - mcount>>=1; - lstream->mtu=mcount; + size_t mcount = count; + if (lstream->mtu > 0 && mcount > lstream->mtu) mcount = lstream->mtu; + + while (count > 0) { + if (mcount > count) mcount = count; + if ((res = sendto(sockfd, b, mcount, 0, sp, length)) == -1) { + if (errno == EMSGSIZE) { + mcount >>= 1; + lstream->mtu = mcount; } else return FALSE; } else { - count-=res; - b+=res; + count -= res; + b += res; } } return TRUE; @@ -155,9 +155,9 @@ //////////////// const char *module_check_init(void) { - render_fn=&render_frame_unknown; + render_fn = &render_frame_unknown; - lstream=lstream_alloc(); + lstream = lstream_alloc(); return NULL; } @@ -172,25 +172,25 @@ } const int *get_palette_list(void) { - palette_list[0]=WEED_PALETTE_YUV420P; - palette_list[1]=WEED_PALETTE_RGB24; - palette_list[2]=WEED_PALETTE_END; + palette_list[0] = WEED_PALETTE_YUV420P; + palette_list[1] = WEED_PALETTE_RGB24; + palette_list[2] = WEED_PALETTE_END; return palette_list; } const int *get_yuv_palette_clamping(int palette) { - if (palette==WEED_PALETTE_YUV420P) { - clampings[0]=WEED_YUV_CLAMPING_UNCLAMPED; - clampings[1]=WEED_YUV_CLAMPING_CLAMPED; - clampings[2]=-1; - } else clampings[0]=-1; + if (palette == WEED_PALETTE_YUV420P) { + clampings[0] = WEED_YUV_CLAMPING_UNCLAMPED; + clampings[1] = WEED_YUV_CLAMPING_CLAMPED; + clampings[2] = -1; + } else clampings[0] = -1; return clampings; } boolean set_yuv_palette_clamping(int clamping_type) { - if (clamping_type==WEED_YUV_CLAMPING_CLAMPED||clamping_type==WEED_YUV_CLAMPING_UNCLAMPED) { - lstream->YUV_clamping=clamping_type; + if (clamping_type == WEED_YUV_CLAMPING_CLAMPED || clamping_type == WEED_YUV_CLAMPING_UNCLAMPED) { + lstream->YUV_clamping = clamping_type; return TRUE; } return FALSE; @@ -204,9 +204,9 @@ boolean set_palette(int palette) { if (!lstream) return FALSE; - if (palette==WEED_PALETTE_YUV420P||palette==WEED_PALETTE_RGB24) { - lstream->palette=palette; - render_fn=&render_frame_stream; + if (palette == WEED_PALETTE_YUV420P || palette == WEED_PALETTE_RGB24) { + lstream->palette = palette; + render_fn = &render_frame_stream; return TRUE; } // invalid palette @@ -247,7 +247,7 @@ boolean set_fps(double in_fps) { - lstream->fps=in_fps; + lstream->fps = in_fps; return TRUE; } @@ -255,22 +255,22 @@ char host[16]; int port; - if (lstream->palette==WEED_PALETTE_END) { - fprintf(stderr,"lives2lives_stream plugin error: No palette was set !\n"); + if (lstream->palette == WEED_PALETTE_END) { + fprintf(stderr, "lives2lives_stream plugin error: No palette was set !\n"); return FALSE; } - if (argc>0) { - snprintf(host,16,"%s.%s.%s.%s",argv[0],argv[1],argv[2],argv[3]); - port=atoi(argv[4]); - lstream->handle=OpenHTMSocket(host,port); - if (lstream->handle==NULL) { - fprintf(stderr,"lives2lives_stream plugin error: Could not open port !\n"); + if (argc > 0) { + snprintf(host, 16, "%s.%s.%s.%s", argv[0], argv[1], argv[2], argv[3]); + port = atoi(argv[4]); + lstream->handle = OpenHTMSocket(host, port); + if (lstream->handle == NULL) { + fprintf(stderr, "lives2lives_stream plugin error: Could not open port !\n"); return FALSE; } } - lstream->mtu=0; + lstream->mtu = 0; return TRUE; } @@ -278,14 +278,14 @@ boolean render_frame(int hsize, int vsize, int64_t tc, void **pixel_data, void **rd, void **pp) { // call the function which was set in set_palette - return render_fn(hsize,vsize,tc,pixel_data); + return render_fn(hsize, vsize, tc, pixel_data); } boolean render_frame_stream(int hsize, int vsize, int64_t tc, void **pixel_data) { char hdrstr[128]; size_t hdrstrlen; int mcount; - int dsize=0; + int dsize = 0; // send: 8 bytes "PACKET " // n bytes header @@ -305,29 +305,29 @@ // on stream end send "STREND" instead of "PACKET " - if (lstream==NULL||lstream->handle==NULL) return FALSE; + if (lstream == NULL || lstream->handle == NULL) return FALSE; - if (lstream->palette==WEED_PALETTE_YUV420P) dsize=hsize*vsize*3/2; - else if (lstream->palette==WEED_PALETTE_RGB24) dsize=hsize*vsize*3; + if (lstream->palette == WEED_PALETTE_YUV420P) dsize = hsize * vsize * 3 / 2; + else if (lstream->palette == WEED_PALETTE_RGB24) dsize = hsize * vsize * 3; - mcount=dsize*4; + mcount = dsize * 4; setsockopt(((desc *)(lstream->handle))->sockfd, SOL_SOCKET, SO_SNDBUF, (void *) &mcount, sizeof(mcount)); - snprintf(hdrstr,128,"1 0 0 %d %"PRId64" %d %d %.8f %d 1 %d 0 0 ", dsize, tc, hsize, vsize, lstream->fps, lstream->palette, + snprintf(hdrstr, 128, "1 0 0 %d %"PRId64" %d %d %.8f %d 1 %d 0 0 ", dsize, tc, hsize, vsize, lstream->fps, lstream->palette, lstream->YUV_clamping); - hdrstrlen=strlen(hdrstr); + hdrstrlen = strlen(hdrstr); - lives_stream_out("PACKET ",7); - lives_stream_out(hdrstr,hdrstrlen); - lives_stream_out("DATA",4); + lives_stream_out("PACKET ", 7); + lives_stream_out(hdrstr, hdrstrlen); + lives_stream_out("DATA", 4); - if (lstream->palette==WEED_PALETTE_YUV420P) { - lives_stream_out(pixel_data[0],hsize*vsize); - lives_stream_out(pixel_data[1],(hsize*vsize)>>2); - lives_stream_out(pixel_data[2],(hsize*vsize)>>2); - } else if (lstream->palette==WEED_PALETTE_RGB24) { - lives_stream_out(pixel_data[0],dsize); + if (lstream->palette == WEED_PALETTE_YUV420P) { + lives_stream_out(pixel_data[0], hsize * vsize); + lives_stream_out(pixel_data[1], (hsize * vsize) >> 2); + lives_stream_out(pixel_data[2], (hsize * vsize) >> 2); + } else if (lstream->palette == WEED_PALETTE_RGB24) { + lives_stream_out(pixel_data[0], dsize); } return TRUE; @@ -335,26 +335,26 @@ boolean render_frame_unknown(int hsize, int vsize, int64_t tc, void **pixel_data) { - if (lstream->palette==WEED_PALETTE_END) { - fprintf(stderr,"lives2lives_stream plugin error: No palette was set !\n"); + if (lstream->palette == WEED_PALETTE_END) { + fprintf(stderr, "lives2lives_stream plugin error: No palette was set !\n"); return 0; } return FALSE; } void exit_screen(int16_t mouse_x, int16_t mouse_y) { - if (lstream!=NULL&&lstream->handle!=NULL) { - lives_stream_out("STREND",6); + if (lstream != NULL && lstream->handle != NULL) { + lives_stream_out("STREND", 6); lstream_close_socket(lstream); } - lstream->handle=NULL; + lstream->handle = NULL; } void module_unload(void) { - if (lstream!=NULL) { + if (lstream != NULL) { free(lstream); - lstream=NULL; + lstream = NULL; } }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/playback/video/oggstream.c -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/playback/video/oggstream.c
Changed
@@ -13,19 +13,19 @@ #include <sys/stat.h> #include <fcntl.h> -static int mypalette=WEED_PALETTE_END; +static int mypalette = WEED_PALETTE_END; static int palette_list[2]; static int clampings[3]; static int myclamp; -static char plugin_version[64]="LiVES ogg/theora/vorbis stream engine version 1.0"; +static char plugin_version[64] = "LiVES ogg/theora/vorbis stream engine version 1.0"; static boolean(*render_fn)(int hsize, int vsize, void **pixel_data); boolean render_frame_yuv420(int hsize, int vsize, void **pixel_data); boolean render_frame_unknown(int hsize, int vsize, void **pixel_data); -static int ov_vsize,ov_hsize; +static int ov_vsize, ov_hsize; static char *workdir; @@ -69,7 +69,7 @@ static void make_path(const char *fname, int pid, const char *ext) { - snprintf(xfile,PATH_MAX,"%s/%s-%d.%s",workdir,fname,pid,ext); + snprintf(xfile, PATH_MAX, "%s/%s-%d.%s", workdir, fname, pid, ext); } static uint8_t **blankframe; @@ -80,11 +80,11 @@ static uint8_t **make_blankframe(size_t size, boolean clear) { uint8_t **planes; - planes=(uint8_t **)malloc(3*sizeof(uint8_t *)); + planes = (uint8_t **)malloc(3 * sizeof(uint8_t *)); if (!planes) return NULL; - planes[0]=(uint8_t *)malloc(size); + planes[0] = (uint8_t *)malloc(size); if (!planes[0]) { free(planes); @@ -92,29 +92,29 @@ } if (clear) { - if (myclamp==WEED_YUV_CLAMPING_CLAMPED) memset(planes[0],16,size); - else memset(planes[0],1,size); + if (myclamp == WEED_YUV_CLAMPING_CLAMPED) memset(planes[0], 16, size); + else memset(planes[0], 1, size); } - size>>=2; + size >>= 2; - planes[1]=(uint8_t *)malloc(size); + planes[1] = (uint8_t *)malloc(size); if (!planes[1]) { free(planes[0]); free(planes); return NULL; } - if (clear) memset(planes[1],129,size); + if (clear) memset(planes[1], 129, size); - planes[2]=(uint8_t *)malloc(size); + planes[2] = (uint8_t *)malloc(size); if (!planes[2]) { free(planes[1]); free(planes[0]); free(planes); return NULL; } - if (clear) memset(planes[2],128,size); + if (clear) memset(planes[2], 128, size); return planes; } @@ -130,23 +130,23 @@ char buffer[PATH_MAX]; const char *dummy; - render_fn=&render_frame_unknown; - ov_vsize=ov_hsize=0; + render_fn = &render_frame_unknown; + ov_vsize = ov_hsize = 0; - yuv4mpeg=yuv4mpeg_alloc(); + yuv4mpeg = yuv4mpeg_alloc(); y4m_init_stream_info(&(yuv4mpeg->streaminfo)); y4m_init_frame_info(&(yuv4mpeg->frameinfo)); - yuv4mpeg->fd=-1; + yuv4mpeg->fd = -1; // get tempdir - fp=popen("smogrify get_workdir","r"); - dummy=fgets(buffer,PATH_MAX,fp); + fp = popen("smogrify get_workdir", "r"); + dummy = fgets(buffer, PATH_MAX, fp); pclose(fp); - workdir=strdup(buffer); + workdir = strdup(buffer); - blankframe=NULL; + blankframe = NULL; - dummy=dummy; // keep compiler happy + dummy = dummy; // keep compiler happy return NULL; } @@ -161,8 +161,8 @@ } const int *get_palette_list(void) { - palette_list[0]=WEED_PALETTE_YUV420P; - palette_list[1]=WEED_PALETTE_END; + palette_list[0] = WEED_PALETTE_YUV420P; + palette_list[1] = WEED_PALETTE_END; return palette_list; } @@ -174,8 +174,8 @@ const int *get_audio_fmts() { // this is not yet documented, but is an optional function to get a list of audio formats. If the user chooses to stream audio then it will be sent to a fifo file in the tempdir called livesaudio.stream, in one of the supported formats - aforms[0]=3; // vorbis - see src/plugins.h - aforms[1]=-1; // end + aforms[0] = 3; // vorbis - see src/plugins.h + aforms[1] = -1; // end return aforms; } @@ -184,8 +184,8 @@ const char *get_init_rfx(void) { char homedir[PATH_MAX]; - snprintf(homedir,PATH_MAX,"%s",getenv("HOME")); - snprintf((char *)rfx,32768,"%s%s%s", + snprintf(homedir, PATH_MAX, "%s", getenv("HOME")); + snprintf((char *)rfx, 32768, "%s%s%s", "<define>\\n\ |1.7\\n\ </define>\\n\ @@ -193,7 +193,7 @@ 0xF0\\n\ </language_code>\\n\ <params> \\n\ -output|Output _file|string|",homedir,"/output.ogv|1024|\\n \ +output|Output _file|string|", homedir, "/output.ogv|1024|\\n \ syncd|A/V Sync _delay (seconds)|num2|0.|0.|20.|\\n\ </params> \\n\ <param_window> \\n\ @@ -206,18 +206,18 @@ } const int *get_yuv_palette_clamping(int palette) { - if (palette==WEED_PALETTE_YUV420P) { - clampings[0]=WEED_YUV_CLAMPING_UNCLAMPED; - clampings[1]=WEED_YUV_CLAMPING_CLAMPED; - clampings[2]=-1; - } else clampings[0]=-1; + if (palette == WEED_PALETTE_YUV420P) { + clampings[0] = WEED_YUV_CLAMPING_UNCLAMPED; + clampings[1] = WEED_YUV_CLAMPING_CLAMPED; + clampings[2] = -1; + } else clampings[0] = -1; return clampings; } boolean set_yuv_palette_clamping(int clamping_type) { - myclamp=clamping_type; + myclamp = clamping_type; return TRUE; } @@ -225,9 +225,9 @@ boolean set_palette(int palette) { if (!yuv4mpeg) return FALSE; - if (palette==WEED_PALETTE_YUV420P) { - mypalette=palette; - render_fn=&render_frame_yuv420; + if (palette == WEED_PALETTE_YUV420P) { + mypalette = palette; + render_fn = &render_frame_yuv420; return TRUE; } // invalid palette @@ -240,16 +240,16 @@ boolean set_fps(double in_fps) { - if (in_fps>23.97599&&in_fps<23.9761) { - yuv4mpeg->fps=y4m_fps_NTSC_FILM; + if (in_fps > 23.97599 && in_fps < 23.9761) { + yuv4mpeg->fps = y4m_fps_NTSC_FILM; return TRUE; } - if (in_fps>=29.97&&in_fps<29.9701) { - yuv4mpeg->fps=y4m_fps_NTSC; + if (in_fps >= 29.97 && in_fps < 29.9701) { + yuv4mpeg->fps = y4m_fps_NTSC; return TRUE; } - yuv4mpeg->fps.n=(int)(in_fps); - yuv4mpeg->fps.d=1; + yuv4mpeg->fps.n = (int)(in_fps); + yuv4mpeg->fps.d = 1; return TRUE; } @@ -259,91 +259,91 @@ boolean init_screen(int width, int height, boolean fullscreen, uint64_t window_id, int argc, char **argv) { int dummyvar; const char *outfile; - char cmd[PATH_MAX*2]; + char cmd[PATH_MAX * 2]; int afd; int i; - int mypid=getpid(); + int mypid = getpid(); - double syncd=0; + double syncd = 0; - if (mypalette==WEED_PALETTE_END) { - fprintf(stderr,"oggstream plugin error: No palette was set !\n"); + if (mypalette == WEED_PALETTE_END) { + fprintf(stderr, "oggstream plugin error: No palette was set !\n"); return FALSE; } - if (argc>0) { - outfile=argv[0]; + if (argc > 0) { + outfile = argv[0]; } else { - outfile="-"; + outfile = "-"; } - if (argc>1) { - syncd=strtod(argv[1],NULL); + if (argc > 1) { + syncd = strtod(argv[1], NULL); } - make_path("video",mypid,"ogv"); + make_path("video", mypid, "ogv"); unlink(xfile); - make_path("video2",mypid,"ogv"); + make_path("video2", mypid, "ogv"); unlink(xfile); - make_path("stream",mypid,"fifo"); + make_path("stream", mypid, "fifo"); unlink(xfile); - yuv4mpeg->bufn=(int)(syncd*yuv4mpeg->fps.n+.5); - if (syncd==0) yuv4mpeg->bufn=0; - if (yuv4mpeg->bufn>0) { - yuv4mpeg->bufc=1; - yuv4mpeg->framebuf=(uint8_t ** *)malloc(yuv4mpeg->bufn*sizeof(uint8_t **)); + yuv4mpeg->bufn = (int)(syncd * yuv4mpeg->fps.n + .5); + if (syncd == 0) yuv4mpeg->bufn = 0; + if (yuv4mpeg->bufn > 0) { + yuv4mpeg->bufc = 1; + yuv4mpeg->framebuf = (uint8_t ** *)malloc(yuv4mpeg->bufn * sizeof(uint8_t **)); if (!yuv4mpeg->framebuf) return FALSE; - for (i=0; i<yuv4mpeg->bufn; i++) yuv4mpeg->framebuf[i]=NULL; - } else yuv4mpeg->bufc=0; + for (i = 0; i < yuv4mpeg->bufn; i++) yuv4mpeg->framebuf[i] = NULL; + } else yuv4mpeg->bufc = 0; - make_path("stream",mypid,"fifo"); - mkfifo(xfile,S_IRUSR|S_IWUSR); // raw yuv4m - make_path("video",mypid,"ogv"); - mkfifo(xfile,S_IRUSR|S_IWUSR); // raw ogg stream - make_path("video2",mypid,"ogv"); - mkfifo(xfile,S_IRUSR|S_IWUSR); // corrected ogg stream (saved or muxed) + make_path("stream", mypid, "fifo"); + mkfifo(xfile, S_IRUSR | S_IWUSR); // raw yuv4m + make_path("video", mypid, "ogv"); + mkfifo(xfile, S_IRUSR | S_IWUSR); // raw ogg stream + make_path("video2", mypid, "ogv"); + mkfifo(xfile, S_IRUSR | S_IWUSR); // corrected ogg stream (saved or muxed) - snprintf(cmd,PATH_MAX*2,"ffmpeg2theora --noaudio --nosync -e 10000 -f yuv4m -F %d:%d -o %s/video-%d.ogv %s/stream-%d.fifo&", + snprintf(cmd, PATH_MAX * 2, "ffmpeg2theora --noaudio --nosync -e 10000 -f yuv4m -F %d:%d -o %s/video-%d.ogv %s/stream-%d.fifo&", (int)yuv4mpeg->fps.n, - (int)yuv4mpeg->fps.d,workdir,mypid,workdir,mypid); - dummyvar=system(cmd); + (int)yuv4mpeg->fps.d, workdir, mypid, workdir, mypid); + dummyvar = system(cmd); //printf("cmd is %s\n",cmd); - make_path("livesaudio",mypid,"stream"); + make_path("livesaudio", mypid, "stream"); - afd=open(xfile,O_RDONLY|O_NONBLOCK); - if (afd!=-1) { - audio=1; + afd = open(xfile, O_RDONLY | O_NONBLOCK); + if (afd != -1) { + audio = 1; close(afd); - } else audio=0; + } else audio = 0; if (audio) { - snprintf(cmd,PATH_MAX*2,"oggTranscode %s/video-%d.ogv %s/video2-%d.ogv &",workdir,mypid,workdir,mypid); - dummyvar=system(cmd); - snprintf(cmd,PATH_MAX*2,"oggJoin \"%s\" %s/video2-%d.ogv %s/livesaudio-%d.stream &",outfile,workdir,mypid,workdir,mypid); - dummyvar=system(cmd); + snprintf(cmd, PATH_MAX * 2, "oggTranscode %s/video-%d.ogv %s/video2-%d.ogv &", workdir, mypid, workdir, mypid); + dummyvar = system(cmd); + snprintf(cmd, PATH_MAX * 2, "oggJoin \"%s\" %s/video2-%d.ogv %s/livesaudio-%d.stream &", outfile, workdir, mypid, workdir, mypid); + dummyvar = system(cmd); } else { - snprintf(cmd,PATH_MAX*2,"oggTranscode %s/video-%d.ogv \"%s\" &",workdir,mypid,outfile); - dummyvar=system(cmd); + snprintf(cmd, PATH_MAX * 2, "oggTranscode %s/video-%d.ogv \"%s\" &", workdir, mypid, outfile); + dummyvar = system(cmd); } // open first fifo for writing // TODO !!! - make_path("stream",mypid,"fifo"); - yuv4mpeg->fd=open(xfile,O_WRONLY|O_SYNC|O_CREAT,S_IWUSR|S_IRUSR); + make_path("stream", mypid, "fifo"); + yuv4mpeg->fd = open(xfile, O_WRONLY | O_SYNC | O_CREAT, S_IWUSR | S_IRUSR); - ov_vsize=ov_hsize=0; + ov_vsize = ov_hsize = 0; - y4m_si_set_framerate(&(yuv4mpeg->streaminfo),yuv4mpeg->fps); + y4m_si_set_framerate(&(yuv4mpeg->streaminfo), yuv4mpeg->fps); y4m_si_set_interlace(&(yuv4mpeg->streaminfo), Y4M_ILACE_NONE); - if (blankframe!=NULL) free(blankframe); - blankframe=NULL; + if (blankframe != NULL) free(blankframe); + blankframe = NULL; - dummyvar=dummyvar; // keep compiler happy + dummyvar = dummyvar; // keep compiler happy //y4m_log_stream_info(LOG_INFO, "lives-yuv4mpeg", &(yuv4mpeg->streaminfo)); return TRUE; @@ -352,15 +352,15 @@ boolean render_frame(int hsize, int vsize, int64_t tc, void **pixel_data, void **rd, void **pp) { // call the function which was set in set_palette - return render_fn(hsize,vsize,pixel_data); + return render_fn(hsize, vsize, pixel_data); } boolean render_frame_yuv420(int hsize, int vsize, void **pixel_data) { - int i,z; + int i, z; size_t fsize; register int j; - if ((ov_hsize!=hsize||ov_vsize!=vsize)) { + if ((ov_hsize != hsize || ov_vsize != vsize)) { //start new stream y4m_si_set_width(&(yuv4mpeg->streaminfo), hsize); y4m_si_set_height(&(yuv4mpeg->streaminfo), vsize); @@ -372,48 +372,48 @@ if (i != Y4M_OK) { return FALSE; } - ov_hsize=hsize; - ov_vsize=vsize; + ov_hsize = hsize; + ov_vsize = vsize; - if (yuv4mpeg->bufn>0) { - yuv4mpeg->bufc=1; // reset delay (for now) + if (yuv4mpeg->bufn > 0) { + yuv4mpeg->bufc = 1; // reset delay (for now) - for (i=0; i<yuv4mpeg->bufn; i++) { - if (yuv4mpeg->framebuf[i]!=NULL) { - for (j=0; j<3; j++) { + for (i = 0; i < yuv4mpeg->bufn; i++) { + if (yuv4mpeg->framebuf[i] != NULL) { + for (j = 0; j < 3; j++) { free(yuv4mpeg->framebuf[i][j]); } free(yuv4mpeg->framebuf[i]); - yuv4mpeg->framebuf[i]=NULL; + yuv4mpeg->framebuf[i] = NULL; } } - if (blankframe!=NULL) free(blankframe); - blankframe=NULL; + if (blankframe != NULL) free(blankframe); + blankframe = NULL; } } - if (yuv4mpeg->bufn==0) { + if (yuv4mpeg->bufn == 0) { // no sync delay i = y4m_write_frame(yuv4mpeg->fd, &(yuv4mpeg->streaminfo), &(yuv4mpeg->frameinfo), (uint8_t **)pixel_data); } else { // write frame to next slot in buffer - z=yuv4mpeg->bufc-1; - fsize=hsize*vsize; + z = yuv4mpeg->bufc - 1; + fsize = hsize * vsize; - if (yuv4mpeg->framebuf[z]==NULL) { + if (yuv4mpeg->framebuf[z] == NULL) { // blank to output - yuv4mpeg->framebuf[z]=make_blankframe(fsize,FALSE); - if (yuv4mpeg->framebuf[z]==NULL) { + yuv4mpeg->framebuf[z] = make_blankframe(fsize, FALSE); + if (yuv4mpeg->framebuf[z] == NULL) { return FALSE; } - if (blankframe==NULL) blankframe=make_blankframe(fsize,FALSE); - if (blankframe==NULL) { + if (blankframe == NULL) blankframe = make_blankframe(fsize, FALSE); + if (blankframe == NULL) { return FALSE; // oom } @@ -425,13 +425,13 @@ &(yuv4mpeg->frameinfo), (uint8_t **)yuv4mpeg->framebuf[z]); } - for (j=0; j<3; j++) { - memcpy(yuv4mpeg->framebuf[z][j],pixel_data[j],fsize); - if (j==0) fsize>>=2; + for (j = 0; j < 3; j++) { + memcpy(yuv4mpeg->framebuf[z][j], pixel_data[j], fsize); + if (j == 0) fsize >>= 2; } yuv4mpeg->bufc++; - if (yuv4mpeg->bufc>yuv4mpeg->bufn) yuv4mpeg->bufc=1; + if (yuv4mpeg->bufc > yuv4mpeg->bufn) yuv4mpeg->bufc = 1; } @@ -443,47 +443,47 @@ } boolean render_frame_unknown(int hsize, int vsize, void **pixel_data) { - if (mypalette==WEED_PALETTE_END) { - fprintf(stderr,"ogg_stream plugin error: No palette was set !\n"); + if (mypalette == WEED_PALETTE_END) { + fprintf(stderr, "ogg_stream plugin error: No palette was set !\n"); } return FALSE; } void exit_screen(int16_t mouse_x, int16_t mouse_y) { int dummyvar; - int mypid=getpid(); + int mypid = getpid(); - int i,j; + int i, j; y4m_fini_stream_info(&(yuv4mpeg->streaminfo)); y4m_fini_frame_info(&(yuv4mpeg->frameinfo)); - if (yuv4mpeg->fd!=-1) { + if (yuv4mpeg->fd != -1) { close(yuv4mpeg->fd); - yuv4mpeg->fd=-1; + yuv4mpeg->fd = -1; } - dummyvar=system("pkill -g 0 -P 1"); + dummyvar = system("pkill -g 0 -P 1"); - make_path("video",mypid,"ogv"); + make_path("video", mypid, "ogv"); unlink(xfile); - make_path("video2",mypid,"ogv"); + make_path("video2", mypid, "ogv"); unlink(xfile); - make_path("stream",mypid,"fifo"); + make_path("stream", mypid, "fifo"); unlink(xfile); - if (blankframe!=NULL) free(blankframe); - blankframe=NULL; + if (blankframe != NULL) free(blankframe); + blankframe = NULL; - if (yuv4mpeg->bufc!=0) { - if (yuv4mpeg->bufc<0) { - yuv4mpeg->bufn=-yuv4mpeg->bufc-1; + if (yuv4mpeg->bufc != 0) { + if (yuv4mpeg->bufc < 0) { + yuv4mpeg->bufn = -yuv4mpeg->bufc - 1; } - if (yuv4mpeg->framebuf!=NULL) { - for (i=0; i<yuv4mpeg->bufn; i++) { - if (yuv4mpeg->framebuf[i]!=NULL) { - for (j=0; j<3; j++) { + if (yuv4mpeg->framebuf != NULL) { + for (i = 0; i < yuv4mpeg->bufn; i++) { + if (yuv4mpeg->framebuf[i] != NULL) { + for (j = 0; j < 3; j++) { free(yuv4mpeg->framebuf[i][j]); } free(yuv4mpeg->framebuf[i]); @@ -493,7 +493,7 @@ } } - dummyvar=dummyvar; // keep compiler happy + dummyvar = dummyvar; // keep compiler happy } @@ -501,10 +501,10 @@ void module_unload(void) { - if (yuv4mpeg!=NULL) { + if (yuv4mpeg != NULL) { free(yuv4mpeg); } - yuv4mpeg=NULL; + yuv4mpeg = NULL; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/playback/video/openGL.cpp -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/playback/video/openGL.cpp
Changed
@@ -35,16 +35,18 @@ //////////////////////////////////////////////////////////////////////////////////// -static char plugin_version[64]="LiVES openGL playback engine version 1.1"; +static char plugin_version[64] = "LiVES openGL playback engine version 1.1"; static char error[256]; -static boolean (*render_fn)(int hsize, int vsize, void **pixel_data, void **return_data); -static boolean render_frame_rgba (int hsize, int vsize, void **pixel_data, void **return_data); -static boolean render_frame_unknown (int hsize, int vsize, void **pixel_data, void **return_data); +static boolean(*render_fn)(int hsize, int vsize, void **pixel_data, void **return_data); +static boolean render_frame_rgba(int hsize, int vsize, void **pixel_data, void **return_data); +static boolean render_frame_unknown(int hsize, int vsize, void **pixel_data, void **return_data); static int palette_list[5]; static int mypalette; +static boolean inited; + #include <math.h> // for sin and cos #include <sys/time.h> // added to sync to ticks! -AS @@ -55,12 +57,9 @@ ///////////////////////////////////////////// #include <X11/extensions/Xrender.h> #include <X11/Xatom.h> -#include <X11/Xlib.h> -#include <GLee.h> +#include "glad_glx.h" -#include <GL/gl.h> -#include <GL/glx.h> #include <GL/glu.h> typedef struct { @@ -109,11 +108,11 @@ static int window_width; static int window_height; -static int mode=0; -static int dblbuf=1; -static int nbuf=32; -static boolean fsover=FALSE; -static boolean use_pbo=FALSE; +static int mode = 0; +static int dblbuf = 1; +static int nbuf = 32; +static boolean fsover = FALSE; +static boolean use_pbo = FALSE; static float rquad; @@ -126,16 +125,16 @@ static void *render_thread_func(void *data); -static boolean WaitForNotify( Display *dpy, XEvent *event, XPointer arg ) { +static boolean WaitForNotify(Display *dpy, XEvent *event, XPointer arg) { return (event->type == MapNotify) && (event->xmap.window == (Window) arg); } -static GLenum m_TexTarget=GL_TEXTURE_2D; +static GLenum m_TexTarget = GL_TEXTURE_2D; static float tfps; -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]={131}; // array of weed api versions supported in plugin +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131}; // array of weed api versions supported in plugin static weed_plant_t *plugin_info; static weed_plant_t *params[7]; @@ -175,33 +174,33 @@ ////////////////////////////////////////////// static int get_real_tnum(int tnum, bool do_assert) { - tnum=ctexture-1-tnum; - if (tnum<0) tnum+=nbuf; - assert(tnum>=0); - if (do_assert) assert (tnum<ntextures); + tnum = ctexture - 1 - tnum; + if (tnum < 0) tnum += nbuf; + assert(tnum >= 0); + if (do_assert) assert(tnum < ntextures); return tnum; } static int get_texture_width(int tnum) { - tnum=get_real_tnum(tnum,TRUE); + tnum = get_real_tnum(tnum, TRUE); return textures[tnum].width; } static int get_texture_height(int tnum) { - tnum=get_real_tnum(tnum,TRUE); + tnum = get_real_tnum(tnum, TRUE); return textures[tnum].height; } static int get_texture_texID(int tnum) { - tnum=get_real_tnum(tnum,FALSE); + tnum = get_real_tnum(tnum, FALSE); return texID[tnum]; } static int get_texture_type(int tnum) { - tnum=get_real_tnum(tnum,TRUE); + tnum = get_real_tnum(tnum, TRUE); return textures[tnum].type; } @@ -215,63 +214,49 @@ /////////////////////////////////////////////// const char *module_check_init(void) { - if( !GL_ARB_texture_non_power_of_two) { - snprintf (error,256,"\n\nGL_ARB_texture_non_power_of_two unavailable.\nCannot use plugin.\n"); + if (!GL_ARB_texture_non_power_of_two) { + snprintf(error, 256, "\n\nGL_ARB_texture_non_power_of_two unavailable.\nCannot use plugin.\n"); return error; } XInitThreads(); - - pbo_available=FALSE; + + pbo_available = FALSE; if (GL_ARB_pixel_buffer_object) { - pbo_available=TRUE; + pbo_available = TRUE; //use_pbo=TRUE; } - render_fn=&render_frame_unknown; - - glShadeModel(GL_SMOOTH); - - glClearDepth( 1.0f ); - glEnable( GL_DEPTH_TEST ); - - glDepthFunc( GL_LEQUAL ); - glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); - - glPixelStorei( GL_PACK_ALIGNMENT, 1 ); - glPixelStorei( GL_UNPACK_ALIGNMENT, 1 ); - glClearColor( 0.0, 0.0, 0.0, 0.0 ); - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + render_fn = &render_frame_unknown; - texID=(GLuint *)malloc(nbuf * sizeof(GLuint)); - glGenTextures(nbuf, texID); + inited = false; - mypalette=WEED_PALETTE_END; + mypalette = WEED_PALETTE_END; - zsubtitles=NULL; - plugin_info=NULL; + zsubtitles = NULL; + plugin_info = NULL; return NULL; } -const char *version (void) { +const char *version(void) { return plugin_version; } -const char *get_description (void) { +const char *get_description(void) { return "The openGL plugin allows faster playback.\n"; } -uint64_t get_capabilities (int palette) { - return VPP_CAN_RESIZE|VPP_CAN_RETURN|VPP_LOCAL_DISPLAY; +uint64_t get_capabilities(int palette) { + return VPP_CAN_RESIZE | VPP_CAN_RETURN | VPP_LOCAL_DISPLAY; } -const char *get_init_rfx (void) { +const char *get_init_rfx(void) { return \ - "<define>\\n\ + "<define>\\n\ |1.7\\n\ </define>\\n\ <language_code>\\n\ @@ -292,36 +277,36 @@ } -const void **get_play_params (func_ptr weed_bootd) { - weed_bootstrap_f weed_boot=(weed_bootstrap_f)weed_bootd; +const void **get_play_params(func_ptr weed_bootd) { + weed_bootstrap_f weed_boot = (weed_bootstrap_f)weed_bootd; //weed_plant_t *gui; //int api,error; - if (plugin_info==NULL) { - plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); + if (plugin_info == NULL) { + plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); // play params - params[0]=weed_integer_init ("mode", "Playback _mode", -1, -1, 10); - weed_set_int_value(weed_parameter_template_get_gui(params[0]),"hidden",WEED_TRUE); + params[0] = weed_integer_init("mode", "Playback _mode", -1, -1, 10); + weed_set_int_value(weed_parameter_template_get_gui(params[0]), "hidden", WEED_TRUE); - params[1]=weed_float_init ("fft0", "fft value 0", -1., 0., 1.); - weed_set_int_value(weed_parameter_template_get_gui(params[1]),"hidden",WEED_TRUE); + params[1] = weed_float_init("fft0", "fft value 0", -1., 0., 1.); + weed_set_int_value(weed_parameter_template_get_gui(params[1]), "hidden", WEED_TRUE); - params[2]=weed_float_init ("fft1", "fft value 1", -1., 0., 1.); - weed_set_int_value(weed_parameter_template_get_gui(params[2]),"hidden",WEED_TRUE); + params[2] = weed_float_init("fft1", "fft value 1", -1., 0., 1.); + weed_set_int_value(weed_parameter_template_get_gui(params[2]), "hidden", WEED_TRUE); - params[3]=weed_float_init ("fft2", "fft value 2", -1., 0., 1.); - weed_set_int_value(weed_parameter_template_get_gui(params[3]),"hidden",WEED_TRUE); + params[3] = weed_float_init("fft2", "fft value 2", -1., 0., 1.); + weed_set_int_value(weed_parameter_template_get_gui(params[3]), "hidden", WEED_TRUE); - params[4]=weed_float_init ("fft3", "fft value 3", -1., 0., 1.); - weed_set_int_value(weed_parameter_template_get_gui(params[4]),"hidden",WEED_TRUE); + params[4] = weed_float_init("fft3", "fft value 3", -1., 0., 1.); + weed_set_int_value(weed_parameter_template_get_gui(params[4]), "hidden", WEED_TRUE); - params[5]=weed_text_init ("subtitles", "_Subtitles", ""); - weed_set_int_value(weed_parameter_template_get_gui(params[5]),"hidden",WEED_TRUE); + params[5] = weed_text_init("subtitles", "_Subtitles", ""); + weed_set_int_value(weed_parameter_template_get_gui(params[5]), "hidden", WEED_TRUE); - params[6]=NULL; + params[6] = NULL; } return (const void **)params; @@ -330,20 +315,18 @@ const int *get_palette_list(void) { // return palettes in order of preference, ending with WEED_PALETTE_END - palette_list[0]=WEED_PALETTE_RGB24; - palette_list[1]=WEED_PALETTE_BGR24; - palette_list[2]=WEED_PALETTE_RGBA32; - palette_list[3]=WEED_PALETTE_BGRA32; - palette_list[4]=WEED_PALETTE_END; + palette_list[0] = WEED_PALETTE_RGB24; + palette_list[1] = WEED_PALETTE_RGBA32; + palette_list[2] = WEED_PALETTE_END; return palette_list; } -boolean set_palette (int palette) { - if (palette==WEED_PALETTE_RGBA32||palette==WEED_PALETTE_RGB24|| - palette==WEED_PALETTE_BGR24||palette==WEED_PALETTE_BGRA32) { - render_fn=&render_frame_rgba; - mypalette=palette; +boolean set_palette(int palette) { + if (palette == WEED_PALETTE_RGBA32 || palette == WEED_PALETTE_RGB24 || + palette == WEED_PALETTE_BGR24 || palette == WEED_PALETTE_BGRA32) { + render_fn = &render_frame_rgba; + mypalette = palette; return TRUE; } // invalid palette @@ -353,7 +336,7 @@ static void setWindowDecorations(void) { - unsigned char* pucData; + unsigned char *pucData; int iFormat; unsigned long ulItems; unsigned long ulBytesAfter; @@ -361,22 +344,21 @@ MotifWmHints newHints; Atom WM_HINTS; - boolean set=FALSE; + boolean set = FALSE; WM_HINTS = XInternAtom(dpy, "_MOTIF_WM_HINTS", True); if (WM_HINTS != None) { + XGetWindowProperty(dpy, xWin, WM_HINTS, 0, + sizeof(MotifWmHints) / sizeof(long), + False, AnyPropertyType, &typeAtom, + &iFormat, &ulItems, &ulBytesAfter, &pucData); - XGetWindowProperty (dpy, xWin, WM_HINTS, 0, - sizeof (MotifWmHints) / sizeof (long), - False, AnyPropertyType, &typeAtom, - &iFormat, &ulItems, &ulBytesAfter, &pucData); - newHints.flags = MWM_HINTS_DECORATIONS; newHints.decorations = 0; - - XChangeProperty (dpy, xWin, WM_HINTS, WM_HINTS, - 32, PropModeReplace, (unsigned char *) &newHints, - sizeof (MotifWmHints) / sizeof (long)); + + XChangeProperty(dpy, xWin, WM_HINTS, WM_HINTS, + 32, PropModeReplace, (unsigned char *) &newHints, + sizeof(MotifWmHints) / sizeof(long)); set = TRUE; } @@ -387,9 +369,9 @@ long KWMHints = 0; XChangeProperty(dpy, xWin, WM_HINTS, WM_HINTS, 32, - PropModeReplace, - (unsigned char *) &KWMHints, - sizeof(KWMHints) / 4); + PropModeReplace, + (unsigned char *) &KWMHints, + sizeof(KWMHints) / 4); set = TRUE; } /* Now try to set GNOME hints */ @@ -398,32 +380,22 @@ long GNOMEHints = 0; XChangeProperty(dpy, xWin, WM_HINTS, WM_HINTS, 32, - PropModeReplace, - (unsigned char *) &GNOMEHints, - sizeof(GNOMEHints) / 4); + PropModeReplace, + (unsigned char *) &GNOMEHints, + sizeof(GNOMEHints) / 4); set = TRUE; } /* Finally set the transient hints if necessary */ if (!set) { XSetTransientForHint(dpy, xWin, RootWindow(dpy, DefaultScreen(dpy))); } - } -static void toggleVSync() { - if( GLX_SGI_swap_control ) { - if (1) - glXSwapIntervalSGI(1); - else - glXSwapIntervalSGI(2); - } -} - static void alwaysOnTop() { long propvalue = 12; - XChangeProperty( dpy, xWin, XA_WIN_LAYER, XA_CARDINAL, 32, PropModeReplace, (unsigned char *)&propvalue, 1 ); + XChangeProperty(dpy, xWin, XA_WIN_LAYER, XA_CARDINAL, 32, PropModeReplace, (unsigned char *)&propvalue, 1); XRaiseWindow(dpy, xWin); } @@ -446,22 +418,22 @@ static void setFullScreen(void) { XWindowChanges changes; unsigned int valueMask = CWX | CWY | CWWidth | CWHeight; - + setWindowDecorations(); XA_NET_WM_STATE = XInternAtom(dpy, "_NET_WM_STATE", False); XA_NET_WM_STATE_ADD = XInternAtom(dpy, "_NET_WM_STATE_ADD", False); - XA_NET_WM_STATE_MAXIMIZED_VERT = XInternAtom(dpy, "_NET_WM_STATE_MAXIMIZED_VERT",False); - XA_NET_WM_STATE_MAXIMIZED_HORZ = XInternAtom(dpy,"_NET_WM_STATE_MAXIMIZED_HORZ",False); - XA_NET_WM_STATE_FULLSCREEN = XInternAtom(dpy,"_NET_WM_STATE_FULLSCREEN",False); - + XA_NET_WM_STATE_MAXIMIZED_VERT = XInternAtom(dpy, "_NET_WM_STATE_MAXIMIZED_VERT", False); + XA_NET_WM_STATE_MAXIMIZED_HORZ = XInternAtom(dpy, "_NET_WM_STATE_MAXIMIZED_HORZ", False); + XA_NET_WM_STATE_FULLSCREEN = XInternAtom(dpy, "_NET_WM_STATE_FULLSCREEN", False); + if (isWindowMapped()) { XEvent e; - memset(&e,0,sizeof(e)); - e.xany.type = ClientMessage; + memset(&e, 0, sizeof(e)); + e.xany.type = ClientMessage; e.xclient.message_type = XA_NET_WM_STATE; e.xclient.format = 32; e.xclient.window = xWin; @@ -470,7 +442,7 @@ e.xclient.data.l[3] = 0l; XSendEvent(dpy, RootWindow(dpy, 0), 0, - SubstructureNotifyMask | SubstructureRedirectMask, &e); + SubstructureNotifyMask | SubstructureRedirectMask, &e); } else { int count = 0; Atom atoms[3]; @@ -479,7 +451,7 @@ atoms[count++] = XA_NET_WM_STATE_MAXIMIZED_VERT; atoms[count++] = XA_NET_WM_STATE_MAXIMIZED_HORZ; XChangeProperty(dpy, xWin, XA_NET_WM_STATE, XA_ATOM, 32, - PropModeReplace, (unsigned char *)atoms, count); + PropModeReplace, (unsigned char *)atoms, count); } changes.x = 0; @@ -488,7 +460,7 @@ changes.height = m_HeightFS; changes.stack_mode = Above; valueMask |= CWStackMode; - + XMapRaised(dpy, xWin); XConfigureWindow(dpy, xWin, valueMask, &changes); XResizeWindow(dpy, xWin, m_WidthFS, m_HeightFS); @@ -513,20 +485,10 @@ } } -static GLint binding; static volatile uint8_t *buffer_free(volatile uint8_t *retbuf) { - if (retbuf==NULL) return NULL; - if (use_pbo) { - //GLint binding; - //glGetIntegerv(GL_PIXEL_PACK_BUFFER_BINDING_ARB, &binding); - //glBindBuffer(GL_PIXEL_PACK_BUFFER_ARB, video_pbo); - glUnmapBuffer(GL_PIXEL_PACK_BUFFER_ARB); - glBindBuffer(GL_PIXEL_PACK_BUFFER_ARB, binding); - } - else { - free((void *)retbuf); - } + if (retbuf == NULL) return NULL; + free((void *)retbuf); return NULL; } @@ -539,20 +501,20 @@ XGetWindowAttributes(dpy, xWin, &attr); - window_width=attr.width; - window_height=attr.height; + window_width = attr.width; + window_height = attr.height; glFlush(); glPushAttrib(GL_PIXEL_MODE_BIT); glPushClientAttrib(GL_CLIENT_PIXEL_STORE_BIT); - glReadBuffer(swapFlag?GL_BACK:GL_FRONT); + glReadBuffer(swapFlag ? GL_BACK : GL_FRONT); glPixelStorei(GL_PACK_ALIGNMENT, 1); glPixelStorei(GL_UNPACK_ALIGNMENT, 1); - + if (!use_pbo) { - xretbuf=(uint8_t *)malloc(window_width*window_height*get_size_for_type(type)); + xretbuf = (uint8_t *)malloc(window_width * window_height * get_size_for_type(type)); if (!xretbuf) { glPopClientAttrib(); glPopAttrib(); @@ -560,48 +522,34 @@ } glReadPixels(0, 0, window_width, window_height, type, GL_UNSIGNED_BYTE, xretbuf); } - else { - glGetIntegerv(GL_PIXEL_PACK_BUFFER_BINDING_ARB, &binding); - glBindBuffer(GL_PIXEL_PACK_BUFFER_ARB, video_pbo); + return xretbuf; +} - // read pixels into pbo buffer - glReadPixels(0, 0, window_width, window_height, type, GL_UNSIGNED_BYTE, NULL); - // map pbo to main memory - xretbuf = (uint8_t *)glMapBuffer(GL_PIXEL_PACK_BUFFER_ARB, GL_READ_ONLY); - //glUnmapBuffer(GL_PIXEL_PACK_BUFFER_ARB); - //glBindBuffer(GL_PIXEL_PACK_BUFFER_ARB, binding); - } - return xretbuf; -} +static void render_to_gpumem_inner(int tnum, int width, int height, int type, int typesize, volatile uint8_t *texturebuf) { + int mipMapLevel = 0; + int texID = get_texture_texID(tnum); + glEnable(m_TexTarget); + glBindTexture(m_TexTarget, texID); + glTexImage2D(m_TexTarget, mipMapLevel, type, width, height, 0, type, GL_UNSIGNED_BYTE, (const GLvoid *)texturebuf); -static void render_to_gpumem_inner(int tnum, int width, int height, int type, int typesize, volatile uint8_t *texturebuf) { - int mipMapLevel=0; - int texID=get_texture_texID(tnum); - - glEnable( m_TexTarget ); - - glBindTexture( m_TexTarget, texID ); - - glTexImage2D( m_TexTarget, mipMapLevel, type, width, height, 0, type, GL_UNSIGNED_BYTE, (const GLvoid*)texturebuf ); glGenerateMipmap(m_TexTarget); - - glDisable( m_TexTarget ); - - tnum=get_real_tnum(tnum,FALSE); - textures[tnum].width=width; - textures[tnum].height=height; - - textures[tnum].type=type; - textures[tnum].typesize=typesize; + glDisable(m_TexTarget); + tnum = get_real_tnum(tnum, FALSE); + + textures[tnum].width = width; + textures[tnum].height = height; + + textures[tnum].type = type; + textures[tnum].typesize = typesize; } @@ -615,63 +563,67 @@ */ -boolean init_screen (int width, int height, boolean fullscreen, uint64_t window_id, int argc, char **argv) { +boolean init_screen(int width, int height, boolean fullscreen, uint64_t window_id, int argc, char **argv) { _xparms xparms; register int i; - if (mypalette==WEED_PALETTE_END) { - fprintf(stderr,"openGL plugin error: No palette was set !\n"); + if (mypalette == WEED_PALETTE_END) { + fprintf(stderr, "openGL plugin error: No palette was set !\n"); return FALSE; } - xparms.width=width; - xparms.height=height; - xparms.fullscreen=fullscreen; - xparms.window_id=window_id; - xparms.argc=argc; - xparms.argv=argv; - - mode=0; - tfps=50.; - nbuf=32; - dblbuf=1; - fsover=FALSE; - - if (argc>0) { - mode=atoi(argv[0]); - if (argc>1) { - tfps=atof(argv[1]); - if (argc>2) { - nbuf=atoi(argv[2]); - if (argc>3) { - dblbuf=atoi(argv[3]); - if (argc>4) { - fsover=atoi(argv[4]); - }}}}} - - textures=(_texture *)malloc(nbuf*sizeof(_texture)); - - for (i=0;i<nbuf;i++) { - textures[i].width=textures[i].height=0; + xparms.width = width; + xparms.height = height; + xparms.fullscreen = fullscreen; + xparms.window_id = window_id; + xparms.argc = argc; + xparms.argv = argv; + + mode = 0; + tfps = 50.; + nbuf = 32; + dblbuf = 1; + fsover = FALSE; + + if (argc > 0) { + mode = atoi(argv[0]); + if (argc > 1) { + tfps = atof(argv[1]); + if (argc > 2) { + nbuf = atoi(argv[2]); + if (argc > 3) { + dblbuf = atoi(argv[3]); + if (argc > 4) { + fsover = atoi(argv[4]); + } + } + } + } } - ntextures=ctexture=0; + textures = (_texture *)malloc(nbuf * sizeof(_texture)); - playing=TRUE; + for (i = 0; i < nbuf; i++) { + textures[i].width = textures[i].height = 0; + } - rthread_ready=FALSE; - has_texture=FALSE; - has_new_texture=FALSE; - texturebuf=NULL; + ntextures = ctexture = 0; - pthread_create(&rthread,NULL,render_thread_func,&xparms); + playing = TRUE; + + rthread_ready = FALSE; + has_texture = FALSE; + has_new_texture = FALSE; + texturebuf = NULL; + + pthread_create(&rthread, NULL, render_thread_func, &xparms); // wait for render thread to start up while (!rthread_ready) usleep(1000); if (!playing) { - fprintf(stderr,"openGL plugin error: Failed to start render thread\n"); + fprintf(stderr, "openGL plugin error: Failed to start render thread\n"); return FALSE; } @@ -681,8 +633,7 @@ -static boolean init_screen_inner (int width, int height, boolean fullscreen, uint64_t window_id, int argc, char **argv) { - +static boolean init_screen_inner(int width, int height, boolean fullscreen, uint64_t window_id, int argc, char **argv) { // screen size is in RGB pixels int renderEventBase; @@ -692,7 +643,7 @@ Cursor invisibleCursor; Pixmap bitmapNoData; XColor black; - static char noData[] = { 0,0,0,0,0,0,0,0 }; + static char noData[] = { 0, 0, 0, 0, 0, 0, 0, 0 }; int singleBufferAttributess[] = { GLX_DRAWABLE_TYPE, GLX_WINDOW_BIT, @@ -703,7 +654,7 @@ GLX_ALPHA_SIZE, 1, None }; - + int doubleBufferAttributes[] = { GLX_DRAWABLE_TYPE, GLX_WINDOW_BIT, GLX_RENDER_TYPE, GLX_RGBA_BIT, @@ -716,19 +667,19 @@ }; XVisualInfo *vInfo; - GLXFBConfig *fbConfigs=NULL; + GLXFBConfig *fbConfigs = NULL; XEvent event; XSetWindowAttributes swa; int swaMask; int numReturned; - if (fsover) fullscreen=FALSE; + if (fsover) fullscreen = FALSE; /* Open a connection to the X server */ - dpy = XOpenDisplay( NULL ); + dpy = XOpenDisplay(NULL); - if ( dpy == NULL ) { - fprintf(stderr, "Unable to open a connection to the X server\n" ); + if (dpy == NULL) { + fprintf(stderr, "Unable to open a connection to the X server\n"); return FALSE; } @@ -737,14 +688,15 @@ XA_WIN_LAYER = XInternAtom(dpy, "_WIN_LAYER", False); - if( !XRenderQueryExtension( dpy, &renderEventBase, &renderErrorBase ) ) { - fprintf(stderr, "No RENDER extension found!" ); + if (!XRenderQueryExtension(dpy, &renderEventBase, &renderErrorBase)) { + fprintf(stderr, "No RENDER extension found!"); return FALSE; } swa.event_mask = StructureNotifyMask | ButtonPressMask | KeyPressMask | KeyReleaseMask; - + if (!inited) gladLoadGLX(dpy, DefaultScreen(dpy)); + if (window_id) { XVisualInfo *xvis; XVisualInfo xvtmpl; @@ -754,164 +706,163 @@ XGetWindowAttributes(dpy, xWin, &attr); glxWin = xWin; - xvtmpl.visual=attr.visual; - xvtmpl.visualid=XVisualIDFromVisual(attr.visual); + xvtmpl.visual = attr.visual; + xvtmpl.visualid = XVisualIDFromVisual(attr.visual); - xvis=XGetVisualInfo(dpy,VisualIDMask,&xvtmpl,&numReturned); + xvis = XGetVisualInfo(dpy, VisualIDMask, &xvtmpl, &numReturned); - if (numReturned==0) { - fprintf(stderr,"openGL plugin error: No xvis could be set !\n"); + if (numReturned == 0) { + fprintf(stderr, "openGL plugin error: No xvis could be set !\n"); return FALSE; } - context = glXCreateContext ( dpy, &xvis[0], 0, GL_TRUE); + context = glXCreateContext(dpy, &xvis[0], 0, GL_TRUE); - width=window_width=attr.width; - height=window_height=attr.height; + width = window_width = attr.width; + height = window_height = attr.height; glXGetConfig(dpy, xvis, GLX_DOUBLEBUFFER, &swapFlag); XFree(xvis); - is_ext=TRUE; - } - else { - width=window_width=fullscreen?m_WidthFS:width; - height=window_height=fullscreen?m_HeightFS:height; + is_ext = TRUE; + } else { + width = window_width = fullscreen ? m_WidthFS : width; + height = window_height = fullscreen ? m_HeightFS : height; if (dblbuf) { - /* Request a suitable framebuffer configuration - try for a double + /* Request a suitable framebuffer configuration - try for a double ** buffered configuration first */ - fbConfigs = glXChooseFBConfig( dpy, DefaultScreen(dpy), - doubleBufferAttributes, &numReturned ); + fbConfigs = glXChooseFBConfig(dpy, DefaultScreen(dpy), + doubleBufferAttributes, &numReturned); } - - if ( fbConfigs == NULL ) { /* no double buffered configs available */ - fbConfigs = glXChooseFBConfig( dpy, DefaultScreen(dpy), - singleBufferAttributess, &numReturned ); + + if (fbConfigs == NULL) { /* no double buffered configs available */ + fbConfigs = glXChooseFBConfig(dpy, DefaultScreen(dpy), + singleBufferAttributess, &numReturned); swapFlag = FALSE; } - + if (!fbConfigs) { - fprintf(stderr,"openGL plugin error: No config could be set !\n"); + fprintf(stderr, "openGL plugin error: No config could be set !\n"); return FALSE; } - + /* Create an X colormap and window with a visual matching the first ** returned framebuffer config */ - vInfo = glXGetVisualFromFBConfig( dpy, fbConfigs[0] ); - + vInfo = glXGetVisualFromFBConfig(dpy, fbConfigs[0]); + if (!vInfo) { - fprintf(stderr,"openGL plugin error: No vInfo could be got !\n"); + fprintf(stderr, "openGL plugin error: No vInfo could be got !\n"); return FALSE; } - swa.colormap = XCreateColormap( dpy, RootWindow(dpy, vInfo->screen), - vInfo->visual, AllocNone ); - + swa.colormap = XCreateColormap(dpy, RootWindow(dpy, vInfo->screen), + vInfo->visual, AllocNone); + if (!swa.colormap) { - fprintf(stderr,"openGL plugin error: No colormap could be set !\n"); - XFree (vInfo); + fprintf(stderr, "openGL plugin error: No colormap could be set !\n"); + XFree(vInfo); return FALSE; } - + swaMask = CWBorderPixel | CWColormap | CWEventMask; - + swa.border_pixel = 0; - xWin = XCreateWindow( dpy, RootWindow(dpy, vInfo->screen), 0, 0, - width,height, - 0, vInfo->depth, InputOutput, vInfo->visual, - swaMask, &swa ); + xWin = XCreateWindow(dpy, RootWindow(dpy, vInfo->screen), 0, 0, + width, height, + 0, vInfo->depth, InputOutput, vInfo->visual, + swaMask, &swa); - XFreeColormap(dpy,swa.colormap); + XFreeColormap(dpy, swa.colormap); if (fullscreen) setFullScreen(); - XMapRaised( dpy, xWin ); - if (fullscreen) XIfEvent( dpy, &event, WaitForNotify, (XPointer) xWin ); + XMapRaised(dpy, xWin); + if (fullscreen) XIfEvent(dpy, &event, WaitForNotify, (XPointer) xWin); if (fullscreen) setFullScreen(); /* Create a GLX context for OpenGL rendering */ - context = glXCreateNewContext( dpy, fbConfigs[0], GLX_RGBA_TYPE, - NULL, True ); + context = glXCreateNewContext(dpy, fbConfigs[0], GLX_RGBA_TYPE, + NULL, True); /* Create a GLX window to associate the frame buffer configuration ** with the created X window */ - glxWin = glXCreateWindow( dpy, fbConfigs[0], xWin, NULL ); - - XFree (vInfo); + glxWin = glXCreateWindow(dpy, fbConfigs[0], xWin, NULL); + + XFree(vInfo); black.red = black.green = black.blue = 0; - - bitmapNoData = XCreateBitmapFromData( dpy, xWin, noData, 8, 8 ); - invisibleCursor = XCreatePixmapCursor( dpy, bitmapNoData, bitmapNoData, - &black, &black, 0, 0 ); - XDefineCursor( dpy, xWin, invisibleCursor ); - XFreeCursor( dpy, invisibleCursor ); - - is_ext=FALSE; + + bitmapNoData = XCreateBitmapFromData(dpy, xWin, noData, 8, 8); + invisibleCursor = XCreatePixmapCursor(dpy, bitmapNoData, bitmapNoData, + &black, &black, 0, 0); + XDefineCursor(dpy, xWin, invisibleCursor); + XFreeCursor(dpy, invisibleCursor); + + is_ext = FALSE; } - glXMakeCurrent( dpy, glxWin, context ); + glXMakeCurrent(dpy, glxWin, context); - toggleVSync(); + if (!inited) gladLoadGL(); error = glGetError(); - if( error != GL_NO_ERROR ) { - char *msg = ""; - - if( error == GL_INVALID_ENUM ) msg = "GL_INVALID_ENUM"; - else if( error == GL_INVALID_VALUE ) msg = "GL_INVALID_VALUE"; - else if( error == GL_INVALID_OPERATION) msg = "GL_INVALID_OPERATION"; - else if( error == GL_STACK_OVERFLOW) msg = "GL_STACK_OVERFLOW"; - else if( error == GL_STACK_UNDERFLOW) msg = "GL_STACK_UNDERFLOW"; - else if( error == GL_OUT_OF_MEMORY) msg = "GL_OUT_OF_MEMORY"; - else if( error == GL_INVALID_FRAMEBUFFER_OPERATION_EXT) msg = "GL_INVALID_FRAMEBUFFER_OPERATION_EXT"; + if (error != GL_NO_ERROR) { + char const *msg; + if (error == GL_INVALID_ENUM) msg = "GL_INVALID_ENUM"; + else if (error == GL_INVALID_VALUE) msg = "GL_INVALID_VALUE"; + else if (error == GL_INVALID_OPERATION) msg = "GL_INVALID_OPERATION"; + else if (error == GL_STACK_OVERFLOW) msg = "GL_STACK_OVERFLOW"; + else if (error == GL_STACK_UNDERFLOW) msg = "GL_STACK_UNDERFLOW"; + else if (error == GL_OUT_OF_MEMORY) msg = "GL_OUT_OF_MEMORY"; + //else if( error == GL_INVALID_FRAMEBUFFER_OPERATION_EXT) msg = "GL_INVALID_FRAMEBUFFER_OPERATION_EXT"; else msg = "Unrecognized OpenGL error"; - - fprintf(stderr, "%s in %s(%d)", msg, __FILE__, __LINE__ ); + + fprintf(stderr, "%s in %s(%d)", msg, __FILE__, __LINE__); return FALSE; } + if (!inited) { + glShadeModel(GL_SMOOTH); - /* OpenGL rendering ... */ - glClearColor( 0.0, 0.0, 0.0, 0.0 ); - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + glClearDepth(1.0f); + glEnable(GL_DEPTH_TEST); + glDepthFunc(GL_LEQUAL); + glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); - if (use_pbo) { - GLint binding; - glGetIntegerv(GL_PIXEL_PACK_BUFFER_BINDING_ARB, &binding); - glPushAttrib(GL_ALL_ATTRIB_BITS); - - glGenBuffers(1, &video_pbo); + glPixelStorei(GL_PACK_ALIGNMENT, 1); + glPixelStorei(GL_UNPACK_ALIGNMENT, 1); + glClearColor(0.0, 0.0, 0.0, 0.0); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - glBindBuffer(GL_PIXEL_PACK_BUFFER_ARB, video_pbo); - - // create a buffer the size of the window - glBufferData(GL_PIXEL_PACK_BUFFER_ARB, window_width * window_height * 4, NULL, GL_DYNAMIC_READ ); - - glPopAttrib(); - glBindBuffer(GL_PIXEL_PACK_BUFFER_ARB, binding); + texID = (GLuint *)malloc(nbuf * sizeof(GLuint)); + glGenTextures(nbuf, texID); } - glFlush(); - if ( swapFlag ) glXSwapBuffers( dpy, glxWin ); + inited = true; - type=GL_RGBA; - if (mypalette==WEED_PALETTE_RGB24) type=GL_RGB; - else if (mypalette==WEED_PALETTE_BGR24) type=GL_BGR; - else if (mypalette==WEED_PALETTE_BGRA32) type=GL_BGRA; + /* OpenGL rendering ... */ + glClearColor(0.0, 0.0, 0.0, 0.0); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - typesize=get_size_for_type(type); + glFlush(); + if (swapFlag) glXSwapBuffers(dpy, glxWin); + type = GL_RGBA; + if (mypalette == WEED_PALETTE_RGB24) type = GL_RGB; + else if (mypalette == WEED_PALETTE_BGR24) type = GL_BGR; + else if (mypalette == WEED_PALETTE_BGRA32) type = GL_BGRA; - rquad=0.; + typesize = get_size_for_type(type); - if (glXIsDirect(dpy, context)) - is_direct=TRUE; + rquad = 0.; + + if (glXIsDirect(dpy, context)) + is_direct = TRUE; else - is_direct=FALSE; + is_direct = FALSE; /* XMapWindow(dpy, xWin); @@ -928,29 +879,28 @@ // prioritise textures so the most recent ones have highest priority // GL should swap oldest out memory and swap newst in memory - float pri=1.; - GLclampf *prios=(GLclampf *)malloc(nbuf * sizeof(GLclampf)); - int idx=ctexture; + float pri = 1.; + GLclampf *prios = (GLclampf *)malloc(nbuf * sizeof(GLclampf)); + int idx = ctexture; register int i; - for (i=0;i<nbuf;i++) { - prios[i]=0.; + for (i = 0; i < nbuf; i++) { + prios[i] = 0.; } - for (i=0;i<nbuf;i++) { - prios[idx]=pri; + for (i = 0; i < nbuf; i++) { + prios[idx] = pri; idx--; - if (idx<0) idx+=nbuf; - if (idx>ntextures) break; - pri-=1./(float)nbuf; - if (pri<0.) pri=0.; + if (idx < 0) idx += nbuf; + if (idx > ntextures) break; + pri -= 1. / (float)nbuf; + if (pri < 0.) pri = 0.; } - glPrioritizeTextures(nbuf,texID,prios); - - free(prios); + glPrioritizeTextures(nbuf, texID, prios); + free(prios); } /* @@ -976,7 +926,7 @@ memcpy(dst,ptr+xj*typesize,typesize); dst+=typesize; } - + } } */ @@ -985,35 +935,34 @@ static boolean Upload(int width, int height) { XWindowAttributes attr; - int imgWidth=width; - int imgHeight=height; + int imgWidth = width; + int imgHeight = height; int texID; - texID=get_texture_texID(0); + texID = get_texture_texID(0); - if (zmode!=-1) mode=zmode; + if (zmode != -1) mode = zmode; if (has_new_texture) { ctexture++; - if (ctexture==nbuf) ctexture=0; - if (ntextures<nbuf) ntextures++; + if (ctexture == nbuf) ctexture = 0; + if (ntextures < nbuf) ntextures++; - has_new_texture=FALSE; + has_new_texture = FALSE; - render_to_gpumem_inner(0,width,height,type,typesize,texturebuf); - - set_priorities(); + render_to_gpumem_inner(0, width, height, type, typesize, texturebuf); + set_priorities(); } pthread_mutex_unlock(&rthread_mutex); // re-enable texture thread - if (!return_ready&&retbuf!=NULL) { - retbuf=buffer_free(retbuf); + if (!return_ready && retbuf != NULL) { + retbuf = buffer_free(retbuf); } - texID=get_texture_texID(0); + texID = get_texture_texID(0); //////////////////////////////////////////////////////////// @@ -1021,236 +970,228 @@ XGetWindowAttributes(dpy, xWin, &attr); - window_width=attr.width; - window_height=attr.height; + window_width = attr.width; + window_height = attr.height; switch (mode) { - case 0: - { - // flat: - glClear(GL_COLOR_BUFFER_BIT); - glClear(GL_DEPTH_BUFFER_BIT); + case 0: { + // flat: + glClear(GL_COLOR_BUFFER_BIT); + glClear(GL_DEPTH_BUFFER_BIT); - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - glViewport(0, 0, window_width, window_height); + glViewport(0, 0, window_width, window_height); - glMatrixMode(GL_PROJECTION); - glLoadIdentity(); - glFrustum(-1, 1, -1, 1, 2, 10); + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); + glFrustum(-1, 1, -1, 1, 2, 10); - glEnable(GL_DEPTH_TEST); + glEnable(GL_DEPTH_TEST); - glMatrixMode(GL_MODELVIEW); - glLoadIdentity(); + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); - glTranslatef(.0, .0, -2); + glTranslatef(.0, .0, -2); - glEnable(m_TexTarget); - glMatrixMode(GL_TEXTURE); - glLoadIdentity(); + glEnable(m_TexTarget); + glMatrixMode(GL_TEXTURE); + glLoadIdentity(); - /* glTexParameteri( m_TexTarget, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE ); - glTexParameteri( m_TexTarget, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE ); - - glTexParameteri( m_TexTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); - glTexParameteri( m_TexTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); - - glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);*/ + /* glTexParameteri( m_TexTarget, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE ); + glTexParameteri( m_TexTarget, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE ); - glBindTexture(m_TexTarget, texID); - glColor4d(1.0, 1.0, 1.0, 1.0); + glTexParameteri( m_TexTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); + glTexParameteri( m_TexTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); - glBegin(GL_QUADS); - glTexCoord2d(0, 1); - glVertex3d(-1, -1, 0); - glTexCoord2d(0, 0); - glVertex3d(-1, 1, 0); - glTexCoord2d(1, 0); - glVertex3d(1, 1, 0); - glTexCoord2d(1, 1); - glVertex3d(1, -1, 0); - glEnd(); + glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);*/ - glDisable(m_TexTarget); + glBindTexture(m_TexTarget, texID); + glColor4d(1.0, 1.0, 1.0, 1.0); - glMatrixMode(GL_MODELVIEW); - glDisable(GL_DEPTH_TEST); + glBegin(GL_QUADS); + glTexCoord2d(0, 1); + glVertex3d(-1, -1, 0); + glTexCoord2d(0, 0); + glVertex3d(-1, 1, 0); + glTexCoord2d(1, 0); + glVertex3d(1, 1, 0); + glTexCoord2d(1, 1); + glVertex3d(1, -1, 0); + glEnd(); + glDisable(m_TexTarget); - } - break; + glMatrixMode(GL_MODELVIEW); + glDisable(GL_DEPTH_TEST); + } + break; - case 1: - { - glClear(GL_COLOR_BUFFER_BIT); - glClear(GL_DEPTH_BUFFER_BIT); + case 1: { + glClear(GL_COLOR_BUFFER_BIT); + glClear(GL_DEPTH_BUFFER_BIT); - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - glViewport(0, 0, window_width, window_height); + glViewport(0, 0, window_width, window_height); - glMatrixMode(GL_PROJECTION); - glLoadIdentity(); + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); - glEnable(GL_DEPTH_TEST); + glEnable(GL_DEPTH_TEST); - glMatrixMode(GL_MODELVIEW); - glLoadIdentity(); + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); - glTranslatef(.0, .0, -1); + glTranslatef(.0, .0, -1); - glEnable(m_TexTarget); - glMatrixMode(GL_TEXTURE); - glLoadIdentity(); + glEnable(m_TexTarget); + glMatrixMode(GL_TEXTURE); + glLoadIdentity(); - glTexParameteri( m_TexTarget, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE ); - glTexParameteri( m_TexTarget, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE ); - - glTexParameteri( m_TexTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); - glTexParameteri( m_TexTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); - - glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); + glTexParameteri(m_TexTarget, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(m_TexTarget, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); - glBindTexture(m_TexTarget, texID); - glColor4d(1.0, 1.0, 1.0, 1.0); + glTexParameteri(m_TexTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(m_TexTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + glBindTexture(m_TexTarget, texID); + glColor4d(1.0, 1.0, 1.0, 1.0); - glBegin(GL_TRIANGLES); // Drawing Using Triangles - glTexCoord2f (0.5, 0.0); - glVertex3f( 0.0f, 1.0f, 0.0f); // Top - - glTexCoord2f (0.0, 1.0); - glVertex3f(-1.0f,-1.0f, 0.0f); // Bottom Left - - glTexCoord2f (1.0, 1.0); - glVertex3f( 1.0f,-1.0f, 0.0f); // Bottom Right - glEnd(); - - glTranslatef(-1.5f,0.0f,-6.0f); - glEnd(); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - glDisable(m_TexTarget); + glBegin(GL_TRIANGLES); // Drawing Using Triangles - glMatrixMode(GL_MODELVIEW); - glDisable(GL_DEPTH_TEST); + glTexCoord2f(0.5, 0.0); + glVertex3f(0.0f, 1.0f, 0.0f); // Top + glTexCoord2f(0.0, 1.0); + glVertex3f(-1.0f, -1.0f, 0.0f); // Bottom Left - } - break; - - case 2: - { - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - - glViewport(0, 0, window_width, window_height); - - glMatrixMode (GL_MODELVIEW); - glLoadIdentity (); - glTranslatef(0.0,0.0,-1.); - - // rotations - glMatrixMode(GL_PROJECTION); // Select The Projection Matrix - //glLoadIdentity(); - //gluPerspective(45.0f,(GLfloat)window_width/(GLfloat)window_height,0.1f,100.0f); - - glRotatef(rquad,0.0f,0.0f,1.0f); // Rotate The Quad On The Z axis - - glTexParameteri( m_TexTarget, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE ); - glTexParameteri( m_TexTarget, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE ); - - glTexParameteri( m_TexTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); - glTexParameteri( m_TexTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); - - glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); - - glBindTexture( m_TexTarget, texID ); - - glEnable( m_TexTarget ); - - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - - rquad-=0.5f; // Decrease The Rotation Variable For The Quad - - glBegin (GL_QUADS); - - glTexCoord2f (0.0, 0.0); - glVertex3f (-1.0, 1.1, 0.0); - - glTexCoord2f (1.0, 0.0); - glVertex3f (1.0, 1.1, 0.0); - - glTexCoord2f (1.0, 1.0); - glVertex3f (1.0, -1.0, 0.0); - - glTexCoord2f (0.0, 1.0); - glVertex3f (-1.0, -1.0, 0.0); - - glEnd (); - - glDisable( m_TexTarget ); - } - break; + glTexCoord2f(1.0, 1.0); + glVertex3f(1.0f, -1.0f, 0.0f); // Bottom Right + glEnd(); - case 3: - { - // wobbler: + glTranslatef(-1.5f, 0.0f, -6.0f); + glEnd(); - // sync to the clock with the clock_gettime function - struct timespec now; - int ticks; + glDisable(m_TexTarget); + + glMatrixMode(GL_MODELVIEW); + glDisable(GL_DEPTH_TEST); + } + break; - float vx=-1.0,vy=1.0; - float tx=0.0,ty; + case 2: { + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - float vz; + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - clock_gettime(CLOCK_MONOTONIC,&now); - ticks=now.tv_sec*1000+now.tv_nsec/1000000; - ty=sin(ticks*0.001)*0.2; + glViewport(0, 0, window_width, window_height); - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + glTranslatef(0.0, 0.0, -1.); - glViewport(0, 0, window_width, window_height); + // rotations + glMatrixMode(GL_PROJECTION); // Select The Projection Matrix + glLoadIdentity(); + gluPerspective(45.0f, (GLfloat)window_width / (GLfloat)window_height, 0.1f, 100.0f); - glMatrixMode (GL_PROJECTION); // use the projection mode - glLoadIdentity (); - gluPerspective(60.0, (float)imgWidth/(float)imgHeight, 0.01, 1135.0); + glRotatef(rquad, 0.0f, 0.0f, 1.0f); // Rotate The Quad On The Z axis - glMatrixMode (GL_MODELVIEW); - glLoadIdentity (); - glTranslatef(0.0,0.0,-1.1); + glTexParameteri(m_TexTarget, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(m_TexTarget, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); - - glTexParameteri( m_TexTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); - glTexParameteri( m_TexTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); - - glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); - - glBindTexture( m_TexTarget, texID ); - - glEnable( m_TexTarget ); + glTexParameteri(m_TexTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(m_TexTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - glEnable(GL_DEPTH_TEST); + glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); - // parameters of the wobbler grid: the larger the width and height, the more detailed the effect is + glBindTexture(m_TexTarget, texID); + + glEnable(m_TexTarget); + + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + + rquad -= 0.5f; // Decrease The Rotation Variable For The Quad + + glBegin(GL_QUADS); + + glTexCoord2f(0.0, 0.0); + glVertex3f(-1.0, 1.1, 0.0); + + glTexCoord2f(1.0, 0.0); + glVertex3f(1.0, 1.1, 0.0); + + glTexCoord2f(1.0, 1.0); + glVertex3f(1.0, -1.0, 0.0); + + glTexCoord2f(0.0, 1.0); + glVertex3f(-1.0, -1.0, 0.0); + + glEnd(); + + glDisable(m_TexTarget); + } + break; + + case 3: { + // wobbler: + + // sync to the clock with the clock_gettime function + struct timespec now; + int ticks; + + float vx = -1.0, vy = 1.0; + float tx = 0.0, ty; + + float vz; + + clock_gettime(CLOCK_MONOTONIC, &now); + ticks = now.tv_sec * 1000 + now.tv_nsec / 1000000; + ty = sin(ticks * 0.001) * 0.2; + + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + + glViewport(0, 0, window_width, window_height); + + glMatrixMode(GL_PROJECTION); // use the projection mode + glLoadIdentity(); + gluPerspective(60.0, (float)imgWidth / (float)imgHeight, 0.01, 1135.0); + + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + glTranslatef(0.0, 0.0, -1.1); + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); + + glTexParameteri(m_TexTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(m_TexTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + + glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); + + glBindTexture(m_TexTarget, texID); + + glEnable(m_TexTarget); + + glEnable(GL_DEPTH_TEST); + + // parameters of the wobbler grid: the larger the width and height, the more detailed the effect is #define WX 160 // grid width #define WY 160 // grid height - - // precalculate the gaps between grid points + + // precalculate the gaps between grid points #define VX_PLUS (2.0/WX) #define VY_PLUS (2.0/WY) #define TX_PLUS (1.0/WX) #define TY_PLUS (1.0/WY) - // parameters for the sin waves + // parameters for the sin waves #define TSPD1 0.003 // speed (in msec) #define XSPD1 0.01 // speed (along grid X) #define YSPD1 0.2 // speed (along grid Y) @@ -1261,107 +1202,104 @@ #define YSPD2 0.03 // speed (along grid Y) #define A2 0.04 // amplitude + for (int j = 0; j < WY; j++) { + vx = -1.0; + tx = 0.0; + for (int i = 0; i < WX; i++) { + float col = 1.0 - sin(i * 0.05 + j * 0.06) * 1.0; + + glBegin(GL_QUADS); + + glColor3f(col, col, col); + + vz = sin(ticks * TSPD1 + i * XSPD1 + j * YSPD1) * A1 + cos(ticks * TSPD2 + i * XSPD2 + j * YSPD2) * A2; + glTexCoord2f(tx, ty); + glVertex3f(vx, vy, vz); + + vz = sin(ticks * TSPD1 + (i + 1) * XSPD1 + j * YSPD1) * A1 + cos(ticks * TSPD2 + (i + 1) * XSPD2 + j * YSPD2) * A2; + col = 1.0 - sin((i + 1) * 0.05 + j * 0.06) * 1.0; + glColor3f(col, col, col); + + glTexCoord2f(tx + TX_PLUS, ty); + glVertex3f(vx + VX_PLUS, vy, vz); + + vz = sin(ticks * TSPD1 + (i + 1) * XSPD1 + (j + 1) * YSPD1) * A1 + cos(ticks * TSPD2 + (i + 1) * XSPD2 + (j + 1) * YSPD2) * A2; + col = 1.0 - sin((i + 1) * 0.05 + (j + 1) * 0.06) * 1.0; + glColor3f(col, col, col); + + glTexCoord2f(tx + TX_PLUS, ty + TY_PLUS); + glVertex3f(vx + VX_PLUS, vy - VY_PLUS, vz); + + vz = sin(ticks * TSPD1 + i * XSPD1 + (j + 1) * YSPD1) * A1 + cos(ticks * TSPD2 + i * XSPD2 + (j + 1) * YSPD2) * A2; + col = 1.0 - sin(i * 0.05 + (j + 1) * 0.06) * 1.0; + glColor3f(col, col, col); - for (int j=0; j<WY; j++) { - vx=-1.0; tx=0.0; - for (int i=0; i<WX; i++) { - float col=1.0-sin(i*0.05+j*0.06)*1.0; - - glBegin (GL_QUADS); - - glColor3f(col,col,col); - - vz=sin(ticks*TSPD1+i*XSPD1+j*YSPD1)*A1+cos(ticks*TSPD2+i*XSPD2+j*YSPD2)*A2; - glTexCoord2f (tx,ty); - glVertex3f (vx,vy, vz); - - vz=sin(ticks*TSPD1+(i+1)*XSPD1+j*YSPD1)*A1+cos(ticks*TSPD2+(i+1)*XSPD2+j*YSPD2)*A2; - col=1.0-sin((i+1)*0.05+j*0.06)*1.0; - glColor3f(col,col,col); - - glTexCoord2f (tx+TX_PLUS, ty); - glVertex3f (vx+VX_PLUS, vy, vz); - - vz=sin(ticks*TSPD1+(i+1)*XSPD1+(j+1)*YSPD1)*A1+cos(ticks*TSPD2+(i+1)*XSPD2+(j+1)*YSPD2)*A2; - col=1.0-sin((i+1)*0.05+(j+1)*0.06)*1.0; - glColor3f(col,col,col); - - glTexCoord2f (tx+TX_PLUS, ty+TY_PLUS); - glVertex3f (vx+VX_PLUS, vy-VY_PLUS, vz); - - vz=sin(ticks*TSPD1+i*XSPD1+(j+1)*YSPD1)*A1+cos(ticks*TSPD2+i*XSPD2+(j+1)*YSPD2)*A2; - col=1.0-sin(i*0.05+(j+1)*0.06)*1.0; - glColor3f(col,col,col); - - glTexCoord2f (tx, ty+TY_PLUS); - glVertex3f (vx, vy-VY_PLUS, vz); - - glEnd (); - - vx+=VX_PLUS; - tx+=TX_PLUS; - - } - vy-=VY_PLUS; - ty+=TY_PLUS; + glTexCoord2f(tx, ty + TY_PLUS); + glVertex3f(vx, vy - VY_PLUS, vz); + glEnd(); + + vx += VX_PLUS; + tx += TX_PLUS; } - glDisable( m_TexTarget ); + vy -= VY_PLUS; + ty += TY_PLUS; } - break; - - case 4: - { - // landscape: - - // time sync - struct timespec now; - clock_gettime(CLOCK_MONOTONIC,&now); - int ticks=now.tv_sec*1000+now.tv_nsec/1000000; - - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - glViewport(0, 0, window_width, window_height); - - glMatrixMode (GL_PROJECTION); // use the projection mode - glLoadIdentity (); - gluPerspective(60.0, (float)imgWidth/(float)imgHeight, 0.01, 1135.0); - - glMatrixMode (GL_MODELVIEW); - glLoadIdentity (); - glTranslatef(0.0,0.0,-1.1); - - // tilt the texture to look like a landscape - glRotatef(-60,1,0,0); - // add a little bit of rotating movement - glRotatef(sin(ticks*0.001)*15,0,1,1); - - glScalef(1.3,1.0,1.0); // make the landscape wide! - - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); - - glTexParameteri( m_TexTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); - glTexParameteri( m_TexTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); - - glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); - - glBindTexture( m_TexTarget, texID ); - - glEnable( m_TexTarget ); - - glEnable(GL_DEPTH_TEST); - - // parameters of the landscape grid: the larger the width and height, the more detailed the effect is + glDisable(m_TexTarget); + } + break; + + case 4: { + // landscape: + + // time sync + struct timespec now; + clock_gettime(CLOCK_MONOTONIC, &now); + int ticks = now.tv_sec * 1000 + now.tv_nsec / 1000000; + + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + glViewport(0, 0, window_width, window_height); + + glMatrixMode(GL_PROJECTION); // use the projection mode + glLoadIdentity(); + gluPerspective(60.0, (float)imgWidth / (float)imgHeight, 0.01, 1135.0); + + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + glTranslatef(0.0, 0.0, -1.1); + + // tilt the texture to look like a landscape + glRotatef(-60, 1, 0, 0); + // add a little bit of rotating movement + glRotatef(sin(ticks * 0.001) * 15, 0, 1, 1); + + glScalef(1.3, 1.0, 1.0); // make the landscape wide! + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); + + glTexParameteri(m_TexTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(m_TexTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + + glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); + + glBindTexture(m_TexTarget, texID); + + glEnable(m_TexTarget); + + glEnable(GL_DEPTH_TEST); + + // parameters of the landscape grid: the larger the width and height, the more detailed the effect is #define WX 160 // grid width #define WY 160 // grid height - - // precalculate the gaps between grid points + + // precalculate the gaps between grid points #define VX_PLUS (2.0/WX) #define VY_PLUS (2.0/WY) #define TX_PLUS (1.0/WX) #define TY_PLUS (1.0/WY) - // sin wave parameters + // sin wave parameters #define TSPD1 0.003 // speed (in msecs) #define XSPD1 0.01 // speed (along grid X) #define YSPD1 0.2 // speed (along grid Y) @@ -1373,685 +1311,663 @@ #define A22 0.05 // amplitude - float vx=-1.0,vy=1.0; - float tx=0.0,ty=-(ticks % 4000)*0.00025; - float vz; - - for (int j=0; j<WY; j++) { - vx=-1.0; tx=0.0; - for (int i=0; i<WX; i++) { - float col=1.0-sin(i*0.05+j*0.06)*1.0; - - glBegin (GL_QUADS); - - glColor3f(col,col,col); - - vz=sin(ticks*TSPD1+i*XSPD1+j*YSPD1)*A12+cos(ticks*TSPD2+i*XSPD2+j*YSPD2)*A22; - glTexCoord2f (tx,ty); - glVertex3f (vx,vy, vz); - - vz=sin(ticks*TSPD1+(i+1)*XSPD1+j*YSPD1)*A12+cos(ticks*TSPD2+(i+1)*XSPD2+j*YSPD2)*A22; - col=1.0-sin((i+1)*0.05+j*0.06)*1.0; - glColor3f(col,col,col); - - glTexCoord2f (tx+TX_PLUS, ty); - glVertex3f (vx+VX_PLUS, vy, vz); - - vz=sin(ticks*TSPD1+(i+1)*XSPD1+(j+1)*YSPD1)*A12+cos(ticks*TSPD2+(i+1)*XSPD2+(j+1)*YSPD2)*A22; - col=1.0-sin((i+1)*0.05+(j+1)*0.06)*1.0; - glColor3f(col,col,col); - - glTexCoord2f (tx+TX_PLUS, ty+TY_PLUS); - glVertex3f (vx+VX_PLUS, vy-VY_PLUS, vz); - - vz=sin(ticks*TSPD1+i*XSPD1+(j+1)*YSPD1)*A12+cos(ticks*TSPD2+i*XSPD2+(j+1)*YSPD2)*A22; - col=1.0-sin(i*0.05+(j+1)*0.06)*1.0; - glColor3f(col,col,col); - - glTexCoord2f (tx, ty+TY_PLUS); - glVertex3f (vx, vy-VY_PLUS, vz); - - glEnd (); - - vx+=VX_PLUS; - tx+=TX_PLUS; - - } - vy-=VY_PLUS; - ty+=TY_PLUS; + float vx = -1.0, vy = 1.0; + float tx = 0.0, ty = -(ticks % 4000) * 0.00025; + float vz; + + for (int j = 0; j < WY; j++) { + vx = -1.0; + tx = 0.0; + for (int i = 0; i < WX; i++) { + float col = 1.0 - sin(i * 0.05 + j * 0.06) * 1.0; + glBegin(GL_QUADS); + + glColor3f(col, col, col); + + vz = sin(ticks * TSPD1 + i * XSPD1 + j * YSPD1) * A12 + cos(ticks * TSPD2 + i * XSPD2 + j * YSPD2) * A22; + glTexCoord2f(tx, ty); + glVertex3f(vx, vy, vz); + + vz = sin(ticks * TSPD1 + (i + 1) * XSPD1 + j * YSPD1) * A12 + cos(ticks * TSPD2 + (i + 1) * XSPD2 + j * YSPD2) * A22; + col = 1.0 - sin((i + 1) * 0.05 + j * 0.06) * 1.0; + glColor3f(col, col, col); + + glTexCoord2f(tx + TX_PLUS, ty); + glVertex3f(vx + VX_PLUS, vy, vz); + + vz = sin(ticks * TSPD1 + (i + 1) * XSPD1 + (j + 1) * YSPD1) * A12 + cos(ticks * TSPD2 + (i + 1) * XSPD2 + (j + 1) * YSPD2) * A22; + col = 1.0 - sin((i + 1) * 0.05 + (j + 1) * 0.06) * 1.0; + glColor3f(col, col, col); + + glTexCoord2f(tx + TX_PLUS, ty + TY_PLUS); + glVertex3f(vx + VX_PLUS, vy - VY_PLUS, vz); + + vz = sin(ticks * TSPD1 + i * XSPD1 + (j + 1) * YSPD1) * A12 + cos(ticks * TSPD2 + i * XSPD2 + (j + 1) * YSPD2) * A22; + col = 1.0 - sin(i * 0.05 + (j + 1) * 0.06) * 1.0; + glColor3f(col, col, col); + + glTexCoord2f(tx, ty + TY_PLUS); + glVertex3f(vx, vy - VY_PLUS, vz); + + glEnd(); + + vx += VX_PLUS; + tx += TX_PLUS; } - glDisable( m_TexTarget ); + vy -= VY_PLUS; + ty += TY_PLUS; } + glDisable(m_TexTarget); + } - break; + break; - case 5: - { - // insider: + case 5: { + // insider: - // time sync - struct timespec now; - int ticks; + // time sync + struct timespec now; + int ticks; - clock_gettime(CLOCK_MONOTONIC,&now); - ticks=now.tv_sec*1000+now.tv_nsec/1000000; + clock_gettime(CLOCK_MONOTONIC, &now); + ticks = now.tv_sec * 1000 + now.tv_nsec / 1000000; - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - glViewport(0, 0, window_width, window_height); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + glViewport(0, 0, window_width, window_height); - glMatrixMode (GL_PROJECTION); // use the projection mode - glLoadIdentity (); - gluPerspective(60.0, (float)imgWidth/(float)imgHeight, 0.01, 1135.0); + glMatrixMode(GL_PROJECTION); // use the projection mode + glLoadIdentity(); + gluPerspective(60.0, (float)imgWidth / (float)imgHeight, 0.01, 1135.0); - glMatrixMode (GL_MODELVIEW); - glLoadIdentity (); - glTranslatef(0.0,0.0,-1.0); + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + glTranslatef(0.0, 0.0, -1.0); - // turn the cube - glRotatef(ticks*0.07,0,1,0); - glRotatef(ticks*0.08,0,0,1); - glRotatef(ticks*0.035,1,0,0); - - glTexParameteri( m_TexTarget, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE ); - glTexParameteri( m_TexTarget, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE ); - - glTexParameteri( m_TexTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); - glTexParameteri( m_TexTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); - - glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); - - glBindTexture( m_TexTarget, texID ); - - glEnable( m_TexTarget ); - - glEnable(GL_DEPTH_TEST); + // turn the cube + glRotatef(ticks * 0.07, 0, 1, 0); + glRotatef(ticks * 0.08, 0, 0, 1); + glRotatef(ticks * 0.035, 1, 0, 0); - // draw the cube with the texture - for (int i=0; i<6; i++) { - glBegin (GL_QUADS); - - glTexCoord2f (0.0, 0.0); - glVertex3f (-1.0, 1.0, 1.0); - - glTexCoord2f (1.0, 0.0); - glVertex3f (1.0, 1.0, 1.0); - - glTexCoord2f (1.0, 1.0); - glVertex3f (1.0, -1.0, 1.0); - - glTexCoord2f (0.0, 1.0); - glVertex3f (-1.0, -1.0, 1.0); - - glEnd (); - if (i<3) glRotatef(90,0,1,0); - else if (i==3) glRotatef(90,1,0,0); - else if (i==4) glRotatef(180,1,0,0); - } + glTexParameteri(m_TexTarget, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(m_TexTarget, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); - glDisable( m_TexTarget ); - } + glTexParameteri(m_TexTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(m_TexTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - break; - - case 6: - { - // cube: - - // time sync - struct timespec now; - int ticks; - - clock_gettime(CLOCK_MONOTONIC,&now); - ticks=now.tv_sec*1000+now.tv_nsec/1000000; - - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - glViewport(0, 0, window_width, window_height); - - glMatrixMode (GL_PROJECTION); // use the projection mode - glLoadIdentity (); - gluPerspective(60.0, (float)imgWidth/(float)imgHeight, 0.01, 1135.0); - - glMatrixMode (GL_MODELVIEW); - glLoadIdentity (); - - glTexParameteri( m_TexTarget, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE ); - glTexParameteri( m_TexTarget, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE ); - - glTexParameteri( m_TexTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); - glTexParameteri( m_TexTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); - - glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); - - glBindTexture( m_TexTarget, texID ); - - glEnable( m_TexTarget ); - - glEnable(GL_DEPTH_TEST); - - // inner + outer cube - for (int k=0; k<2; k++) { - - glPushMatrix(); - glTranslatef(0.0,0.0,-1.0); - - // turn the cube - glRotatef(ticks*0.036,0,1,0); - glRotatef(ticks*0.07,0,0,1); - glRotatef(ticks*0.08,1,0,0); - - glScalef(1.0-k*0.75,1.0-k*0.75,1.0-k*0.75); - - // draw the cube with the texture - for (int i=0; i<6; i++) { - glBegin (GL_QUADS); - - glTexCoord2f (0.0, 0.0); - glVertex3f (-1.0, 1.0, 1.0); - - glTexCoord2f (1.0, 0.0); - glVertex3f (1.0, 1.0, 1.0); - - glTexCoord2f (1.0, 1.0); - glVertex3f (1.0, -1.0, 1.0); - - glTexCoord2f (0.0, 1.0); - glVertex3f (-1.0, -1.0, 1.0); - - glEnd (); - if (i<3) glRotatef(90,0,1,0); - else if (i==3) glRotatef(90,1,0,0); - else if (i==4) glRotatef(180,1,0,0); - } - - glPopMatrix(); - } - glDisable( m_TexTarget ); + glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); + + glBindTexture(m_TexTarget, texID); + + glEnable(m_TexTarget); + + glEnable(GL_DEPTH_TEST); + + // draw the cube with the texture + for (int i = 0; i < 6; i++) { + glBegin(GL_QUADS); + + glTexCoord2f(0.0, 0.0); + glVertex3f(-1.0, 1.0, 1.0); + + glTexCoord2f(1.0, 0.0); + glVertex3f(1.0, 1.0, 1.0); + + glTexCoord2f(1.0, 1.0); + glVertex3f(1.0, -1.0, 1.0); + + glTexCoord2f(0.0, 1.0); + glVertex3f(-1.0, -1.0, 1.0); + + glEnd(); + if (i < 3) glRotatef(90, 0, 1, 0); + else if (i == 3) glRotatef(90, 1, 0, 0); + else if (i == 4) glRotatef(180, 1, 0, 0); } - break; + glDisable(m_TexTarget); + } + + break; + + case 6: { + // cube: + + // time sync + struct timespec now; + int ticks; + + clock_gettime(CLOCK_MONOTONIC, &now); + ticks = now.tv_sec * 1000 + now.tv_nsec / 1000000; + + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + glViewport(0, 0, window_width, window_height); + + glMatrixMode(GL_PROJECTION); // use the projection mode + glLoadIdentity(); + gluPerspective(60.0, (float)imgWidth / (float)imgHeight, 0.01, 1135.0); + + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + + glTexParameteri(m_TexTarget, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(m_TexTarget, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); - case 7: - { - // turning: + glTexParameteri(m_TexTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(m_TexTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - // time sync - struct timespec now; - int ticks; - clock_gettime(CLOCK_MONOTONIC,&now); - ticks=now.tv_sec*1000+now.tv_nsec/1000000; + glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - glViewport(0, 0, window_width, window_height); + glBindTexture(m_TexTarget, texID); - glMatrixMode (GL_PROJECTION); // use the projection mode - glLoadIdentity (); - gluPerspective(60.0, (float)imgWidth/(float)imgHeight, 0.01, 1135.0); + glEnable(m_TexTarget); - glMatrixMode (GL_MODELVIEW); - glLoadIdentity (); - glTranslatef(0.0,0.0,-2.3); + glEnable(GL_DEPTH_TEST); + + // inner + outer cube + for (int k = 0; k < 2; k++) { + glPushMatrix(); + glTranslatef(0.0, 0.0, -1.0); // turn the cube - glRotatef(cos((ticks % 5000)*M_PI/5000.0)*45+45,0,1,0); - - glTexParameteri( m_TexTarget, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE ); - glTexParameteri( m_TexTarget, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE ); - - glTexParameteri( m_TexTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); - glTexParameteri( m_TexTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); - - glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); - - glBindTexture( m_TexTarget, texID ); - - glEnable( m_TexTarget ); - - glEnable(GL_DEPTH_TEST); + glRotatef(ticks * 0.036, 0, 1, 0); + glRotatef(ticks * 0.07, 0, 0, 1); + glRotatef(ticks * 0.08, 1, 0, 0); + + glScalef(1.0 - k * 0.75, 1.0 - k * 0.75, 1.0 - k * 0.75); // draw the cube with the texture - for (int i=0; i<6; i++) { - glBegin (GL_QUADS); - - glTexCoord2f (0.0, 0.0); - glVertex3f (-1.0, 1.0, 1.0); - - glTexCoord2f (1.0, 0.0); - glVertex3f (1.0, 1.0, 1.0); - - glTexCoord2f (1.0, 1.0); - glVertex3f (1.0, -1.0, 1.0); - - glTexCoord2f (0.0, 1.0); - glVertex3f (-1.0, -1.0, 1.0); - - glEnd (); - if (i<3) glRotatef(90,0,1,0); - else if (i==3) glRotatef(90,1,0,0); - else if (i==4) glRotatef(180,1,0,0); + for (int i = 0; i < 6; i++) { + glBegin(GL_QUADS); + + glTexCoord2f(0.0, 0.0); + glVertex3f(-1.0, 1.0, 1.0); + + glTexCoord2f(1.0, 0.0); + glVertex3f(1.0, 1.0, 1.0); + + glTexCoord2f(1.0, 1.0); + glVertex3f(1.0, -1.0, 1.0); + + glTexCoord2f(0.0, 1.0); + glVertex3f(-1.0, -1.0, 1.0); + + glEnd(); + if (i < 3) glRotatef(90, 0, 1, 0); + else if (i == 3) glRotatef(90, 1, 0, 0); + else if (i == 4) glRotatef(180, 1, 0, 0); } - glDisable( m_TexTarget ); + glPopMatrix(); + } + glDisable(m_TexTarget); + } + + break; + + case 7: { + // turning: + + // time sync + struct timespec now; + int ticks; + clock_gettime(CLOCK_MONOTONIC, &now); + ticks = now.tv_sec * 1000 + now.tv_nsec / 1000000; + + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + glViewport(0, 0, window_width, window_height); + + glMatrixMode(GL_PROJECTION); // use the projection mode + glLoadIdentity(); + gluPerspective(60.0, (float)imgWidth / (float)imgHeight, 0.01, 1135.0); + + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + glTranslatef(0.0, 0.0, -2.3); + + // turn the cube + glRotatef(cos((ticks % 5000)*M_PI / 5000.0) * 45 + 45, 0, 1, 0); + + glTexParameteri(m_TexTarget, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(m_TexTarget, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + + glTexParameteri(m_TexTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(m_TexTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + + glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); + + glBindTexture(m_TexTarget, texID); + + glEnable(m_TexTarget); + + glEnable(GL_DEPTH_TEST); + + // draw the cube with the texture + for (int i = 0; i < 6; i++) { + glBegin(GL_QUADS); + + glTexCoord2f(0.0, 0.0); + glVertex3f(-1.0, 1.0, 1.0); + + glTexCoord2f(1.0, 0.0); + glVertex3f(1.0, 1.0, 1.0); + + glTexCoord2f(1.0, 1.0); + glVertex3f(1.0, -1.0, 1.0); + + glTexCoord2f(0.0, 1.0); + glVertex3f(-1.0, -1.0, 1.0); + + glEnd(); + if (i < 3) glRotatef(90, 0, 1, 0); + else if (i == 3) glRotatef(90, 1, 0, 0); + else if (i == 4) glRotatef(180, 1, 0, 0); } - break; - - case 8: - { - // tunnel: - - // sync to the clock - struct timespec now; - int ticks; - float tx=0.0,ty; - - clock_gettime(CLOCK_MONOTONIC,&now); - ticks=now.tv_sec*1000+now.tv_nsec/1000000; - ty=(ticks % 2000)*0.0005; - - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - glViewport(0, 0, window_width, window_height); - - glMatrixMode (GL_PROJECTION); // use the projection mode - glLoadIdentity (); - gluPerspective(60.0, (float)imgWidth/(float)imgHeight, 0.01, 1135.0); - - glMatrixMode (GL_MODELVIEW); - glLoadIdentity (); - glTranslatef(0.0,0.0,-1.0); - - glRotatef(5,0,1,0); - glRotatef(ticks*0.05,0,0,1); - glRotatef(7,1,0,0); - - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); - - glTexParameteri( m_TexTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); - glTexParameteri( m_TexTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); - - glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); - - glBindTexture( m_TexTarget, texID ); - - glEnable( m_TexTarget ); - - glEnable(GL_DEPTH_TEST); - - // parameters of the tunnel grid: the larger the width and height, the more detailed the effect is + glDisable(m_TexTarget); + } + + break; + + case 8: { + // tunnel: + + // sync to the clock + struct timespec now; + int ticks; + float tx = 0.0, ty; + + clock_gettime(CLOCK_MONOTONIC, &now); + ticks = now.tv_sec * 1000 + now.tv_nsec / 1000000; + ty = (ticks % 2000) * 0.0005; + + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + glViewport(0, 0, window_width, window_height); + + glMatrixMode(GL_PROJECTION); // use the projection mode + glLoadIdentity(); + gluPerspective(60.0, (float)imgWidth / (float)imgHeight, 0.01, 1135.0); + + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + glTranslatef(0.0, 0.0, -1.0); + + glRotatef(5, 0, 1, 0); + glRotatef(ticks * 0.05, 0, 0, 1); + glRotatef(7, 1, 0, 0); + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); + + glTexParameteri(m_TexTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(m_TexTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + + glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); + + glBindTexture(m_TexTarget, texID); + + glEnable(m_TexTarget); + + glEnable(GL_DEPTH_TEST); + + // parameters of the tunnel grid: the larger the width and height, the more detailed the effect is #define TR 160 // tunnel radius #define TD 160 // tunnel depth - - // size on screen + + // size on screen #define SR 2.0 // radius #define SD 0.4 // depth factor - // precalculate the gaps between grid points + // precalculate the gaps between grid points #define TX_PLUS2 (1.0/WX) #define TY_PLUS2 (1.0/160) - for (int j=0; j<TD; j++) { - tx=0.0; - for (int i=0; i<TR; i++) { - float vx=cos(i*2*M_PI/TR)*SR; - float vy=sin(i*2*M_PI/TR)*SR; - float vz=-j*SD; - - float col=2.0-2.0*(float)j/TD; - - glColor3f(col,col*0.92,col*0.93); - glBegin (GL_QUADS); - - glTexCoord2f (tx,ty); - glVertex3f (vx,vy,vz); - - vx=cos((i+1)*2*M_PI/TR)*SR; - vy=sin((i+1)*2*M_PI/TR)*SR; - vz=-j*SD; - glTexCoord2f (tx+TX_PLUS2, ty); - glVertex3f (vx, vy, vz); - - vx=cos((i+1)*2*M_PI/TR)*SR; - vy=sin((i+1)*2*M_PI/TR)*SR; - vz=-(j+1)*SD; - glTexCoord2f (tx+TX_PLUS2, ty+TY_PLUS2); - glVertex3f (vx, vy, vz); - - vx=cos(i*2*M_PI/TR)*SR; - vy=sin(i*2*M_PI/TR)*SR; - vz=-(j+1)*SD; - glTexCoord2f (tx, ty+TY_PLUS2); - glVertex3f (vx, vy, vz); - - glEnd (); - - tx+=TX_PLUS2; - - } - ty+=TY_PLUS2; + for (int j = 0; j < TD; j++) { + tx = 0.0; + for (int i = 0; i < TR; i++) { + float vx = cos(i * 2 * M_PI / TR) * SR; + float vy = sin(i * 2 * M_PI / TR) * SR; + float vz = -j * SD; + + float col = 2.0 - 2.0 * (float)j / TD; + + glColor3f(col, col * 0.92, col * 0.93); + glBegin(GL_QUADS); + + glTexCoord2f(tx, ty); + glVertex3f(vx, vy, vz); + + vx = cos((i + 1) * 2 * M_PI / TR) * SR; + vy = sin((i + 1) * 2 * M_PI / TR) * SR; + vz = -j * SD; + glTexCoord2f(tx + TX_PLUS2, ty); + glVertex3f(vx, vy, vz); + + vx = cos((i + 1) * 2 * M_PI / TR) * SR; + vy = sin((i + 1) * 2 * M_PI / TR) * SR; + vz = -(j + 1) * SD; + glTexCoord2f(tx + TX_PLUS2, ty + TY_PLUS2); + glVertex3f(vx, vy, vz); + + vx = cos(i * 2 * M_PI / TR) * SR; + vy = sin(i * 2 * M_PI / TR) * SR; + vz = -(j + 1) * SD; + glTexCoord2f(tx, ty + TY_PLUS2); + glVertex3f(vx, vy, vz); + + glEnd(); + tx += TX_PLUS2; } - glDisable( m_TexTarget ); + ty += TY_PLUS2; } - break; - case 9: - { - // particles: - - typedef struct { - float x,y,z; // position coordinate - float sx,sy; // size of the particle square - float vx,vy,vz; // speed - float tx1,ty1,tx2,ty2; // texture position (color) - int start_time; // when was created (tick) - int end_time; // when will disappear (tick) - } PARTICLE; + glDisable(m_TexTarget); + } + break; + case 9: { + // particles: + + typedef struct { + float x, y, z; // position coordinate + float sx, sy; // size of the particle square + float vx, vy, vz; // speed + float tx1, ty1, tx2, ty2; // texture position (color) + int start_time; // when was created (tick) + int end_time; // when will disappear (tick) + } PARTICLE; #define NOT_CREATED -1 // a flag for a particle that was not created -#define NOF_PARTS 10000 // the number of particles +#define NOF_PARTS 10000 // the number of particles #define PIXEL_SIZE 1.0 // size of the particle pixels (1.0 = a pixel) - static PARTICLE parts[NOF_PARTS]; // particle array - - static int parts_init=FALSE; // have been inited? - - if (!parts_init) { - for (int i=0; i<NOF_PARTS; i++) parts[i].start_time=NOT_CREATED; - parts_init=TRUE; - } - // time sync - struct timespec now; - int ticks; - - clock_gettime(CLOCK_MONOTONIC,&now); - ticks=now.tv_sec*1000+now.tv_nsec/1000000; - - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - glViewport(0, 0, window_width, window_height); - - glMatrixMode (GL_PROJECTION); // use the projection mode - glLoadIdentity (); - gluPerspective(60.0, (float)imgWidth/(float)imgHeight, 0.01, 1135.0); - - glMatrixMode (GL_MODELVIEW); - glLoadIdentity (); - glTranslatef(0.0,0.0,-2.3); - - // turn the place - float rotx=sin(ticks*M_PI/5000.0)*5-15; - float roty=sin(ticks*M_PI/5000.0)*5+45; - float rotz=sin(ticks*M_PI/5000.0)*5; - - glRotatef(rotx,1,0,0); - glRotatef(roty,0,1,0); - glRotatef(rotz,0,0,1); - - glTexParameteri( m_TexTarget, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE ); - glTexParameteri( m_TexTarget, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE ); - - glTexParameteri( m_TexTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); - glTexParameteri( m_TexTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); - - glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); - - glBindTexture( m_TexTarget, texID ); - - glEnable( m_TexTarget ); - - glEnable(GL_DEPTH_TEST); - - // draw the emitter with the texture - - glBegin (GL_QUADS); - glColor3f(1,1,1); - glTexCoord2f (0.0, 0.0); - glVertex3f (-1.0, 1.0, 0.0); - - glTexCoord2f (1.0, 0.0); - glVertex3f (1.0, 1.0, 0.0); - - glTexCoord2f (1.0, 1.0); - glVertex3f (1.0, -1.0, 0.0); - - glTexCoord2f (0.0, 1.0); - glVertex3f (-1.0, -1.0, 0.0); - - glEnd (); - - // draw the particles - - for (int i=0; i<NOF_PARTS; i++) { - - //int pos; - if ((parts[i].start_time==NOT_CREATED) || (ticks>=parts[i].end_time)) { - parts[i].start_time=ticks; - parts[i].x=(rand() % 2000)/1000.0-1.0; - parts[i].y=(rand() % 2000)/1000.0-1.0; - parts[i].z=0.0; - parts[i].vx=0.001*((rand() % 2000)/1000.0-1.0); - parts[i].vy=0.0; - parts[i].vz=0.01; - parts[i].end_time=4000+parts[i].start_time+rand() % 500; - - parts[i].sx=PIXEL_SIZE*2.0/imgWidth; - parts[i].sy=PIXEL_SIZE*2.0/imgHeight; - - parts[i].tx1=((parts[i].x+1.0)/2.0); - parts[i].ty1=(1.0-(parts[i].y+1.0)/2.0); - parts[i].tx2=parts[i].tx1+parts[i].sx/2.0; - parts[i].ty2=parts[i].ty1+parts[i].sy/2.0; - } - glBegin(GL_QUADS); - - glTexCoord2f (parts[i].tx1, parts[i].ty1); - glVertex3f(parts[i].x,parts[i].y,parts[i].z); - - glTexCoord2f (parts[i].tx2, parts[i].ty1); - glVertex3f(parts[i].x+parts[i].sx,parts[i].y,parts[i].z); - - glTexCoord2f (parts[i].tx2, parts[i].ty2); - glVertex3f(parts[i].x+parts[i].sx,parts[i].y-parts[i].sy,parts[i].z); - - glTexCoord2f (parts[i].tx1, parts[i].ty2); - glVertex3f(parts[i].x,parts[i].y-parts[i].sy,parts[i].z); - glEnd(); - - parts[i].x+=parts[i].vx; - parts[i].y+=parts[i].vy; - parts[i].z+=parts[i].vz; - parts[i].vy-=0.0001; // adds a small gravity + static PARTICLE parts[NOF_PARTS]; // particle array + static int parts_init = FALSE; // have been inited? + + if (!parts_init) { + for (int i = 0; i < NOF_PARTS; i++) parts[i].start_time = NOT_CREATED; + parts_init = TRUE; + } + // time sync + struct timespec now; + int ticks; + + clock_gettime(CLOCK_MONOTONIC, &now); + ticks = now.tv_sec * 1000 + now.tv_nsec / 1000000; + + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + glViewport(0, 0, window_width, window_height); + + glMatrixMode(GL_PROJECTION); // use the projection mode + glLoadIdentity(); + gluPerspective(60.0, (float)imgWidth / (float)imgHeight, 0.01, 1135.0); + + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + glTranslatef(0.0, 0.0, -2.3); + + // turn the place + float rotx = sin(ticks * M_PI / 5000.0) * 5 - 15; + float roty = sin(ticks * M_PI / 5000.0) * 5 + 45; + float rotz = sin(ticks * M_PI / 5000.0) * 5; + + glRotatef(rotx, 1, 0, 0); + glRotatef(roty, 0, 1, 0); + glRotatef(rotz, 0, 0, 1); + + glTexParameteri(m_TexTarget, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(m_TexTarget, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + + glTexParameteri(m_TexTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(m_TexTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + + glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); + + glBindTexture(m_TexTarget, texID); + + glEnable(m_TexTarget); + + glEnable(GL_DEPTH_TEST); + + // draw the emitter with the texture + + glBegin(GL_QUADS); + glColor3f(1, 1, 1); + glTexCoord2f(0.0, 0.0); + glVertex3f(-1.0, 1.0, 0.0); + + glTexCoord2f(1.0, 0.0); + glVertex3f(1.0, 1.0, 0.0); + glTexCoord2f(1.0, 1.0); + glVertex3f(1.0, -1.0, 0.0); + glTexCoord2f(0.0, 1.0); + glVertex3f(-1.0, -1.0, 0.0); + + glEnd(); + + // draw the particles + + for (int i = 0; i < NOF_PARTS; i++) { + //int pos; + if ((parts[i].start_time == NOT_CREATED) || (ticks >= parts[i].end_time)) { + parts[i].start_time = ticks; + parts[i].x = (rand() % 2000) / 1000.0 - 1.0; + parts[i].y = (rand() % 2000) / 1000.0 - 1.0; + parts[i].z = 0.0; + parts[i].vx = 0.001 * ((rand() % 2000) / 1000.0 - 1.0); + parts[i].vy = 0.0; + parts[i].vz = 0.01; + parts[i].end_time = 4000 + parts[i].start_time + rand() % 500; + + parts[i].sx = PIXEL_SIZE * 2.0 / imgWidth; + parts[i].sy = PIXEL_SIZE * 2.0 / imgHeight; + + parts[i].tx1 = ((parts[i].x + 1.0) / 2.0); + parts[i].ty1 = (1.0 - (parts[i].y + 1.0) / 2.0); + parts[i].tx2 = parts[i].tx1 + parts[i].sx / 2.0; + parts[i].ty2 = parts[i].ty1 + parts[i].sy / 2.0; } - glDisable( m_TexTarget ); + glBegin(GL_QUADS); + + glTexCoord2f(parts[i].tx1, parts[i].ty1); + glVertex3f(parts[i].x, parts[i].y, parts[i].z); + + glTexCoord2f(parts[i].tx2, parts[i].ty1); + glVertex3f(parts[i].x + parts[i].sx, parts[i].y, parts[i].z); + + glTexCoord2f(parts[i].tx2, parts[i].ty2); + glVertex3f(parts[i].x + parts[i].sx, parts[i].y - parts[i].sy, parts[i].z); + glTexCoord2f(parts[i].tx1, parts[i].ty2); + glVertex3f(parts[i].x, parts[i].y - parts[i].sy, parts[i].z); + glEnd(); + + parts[i].x += parts[i].vx; + parts[i].y += parts[i].vy; + parts[i].z += parts[i].vz; + parts[i].vy -= 0.0001; // adds a small gravity } + glDisable(m_TexTarget); + } - break; + break; - case 10: - { - // dissolve: + case 10: { + // dissolve: - typedef struct { - float x,y,z; // position coordinate - float sx,sy; // size of the particle square - float vx,vy,vz; // speed - float tx1,ty1,tx2,ty2; // texture position (color) - int start_time; // when was created (tick) - int end_time; // when will disappear (tick) - } PARTICLE; + typedef struct { + float x, y, z; // position coordinate + float sx, sy; // size of the particle square + float vx, vy, vz; // speed + float tx1, ty1, tx2, ty2; // texture position (color) + int start_time; // when was created (tick) + int end_time; // when will disappear (tick) + } PARTICLE; #define NOT_CREATED -1 // a flag for a particle that was not created -#define NOF_PARTS2 20000 // the number of particles +#define NOF_PARTS2 20000 // the number of particles #define PIXEL_SIZE2 4.0 // size of the particle pixels (1.0 = a pixel) - static PARTICLE parts[NOF_PARTS2]; // particle array - - static int parts_init=FALSE; // have been inited? - - if (!parts_init) { - for (int i=0; i<NOF_PARTS2; i++) parts[i].start_time=NOT_CREATED; - parts_init=TRUE; - } - // time sync - struct timespec now; - float rotx,roty,rotz; - int ticks; - clock_gettime(CLOCK_MONOTONIC,&now); - ticks=now.tv_sec*1000+now.tv_nsec/1000000; - - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - glViewport(0, 0, window_width, window_height); - - glMatrixMode (GL_PROJECTION); // use the projection mode - glLoadIdentity (); - gluPerspective(60.0, (float)imgWidth/(float)imgHeight, 0.01, 1135.0); - - glMatrixMode (GL_MODELVIEW); - glLoadIdentity (); - glTranslatef(0.0,0.0,-2.3); - - // turn the place - rotx=sin(ticks*M_PI/5000.0)*5+15; - roty=sin(ticks*M_PI/5000.0)*15+15; - rotz=sin(ticks*M_PI/5000.0)*5; - - glRotatef(rotx,1,0,0); - glRotatef(roty,0,1,0); - glRotatef(rotz,0,0,1); - - glTexParameteri( m_TexTarget, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE ); - glTexParameteri( m_TexTarget, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE ); - - glTexParameteri( m_TexTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); - glTexParameteri( m_TexTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); - - glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); - - glBindTexture( m_TexTarget, texID ); - - glEnable( m_TexTarget ); - - glEnable(GL_DEPTH_TEST); - - // draw the emitter with the texture - /* - glBegin (GL_QUADS); - glColor3f(1,1,1); - glTexCoord2f (0.0, 0.0); - glVertex3f (-1.0, 1.0, 0.0); - - glTexCoord2f (1.0, 0.0); - glVertex3f (1.0, 1.0, 0.0); - - glTexCoord2f (1.0, 1.0); - glVertex3f (1.0, -1.0, 0.0); - - glTexCoord2f (0.0, 1.0); - glVertex3f (-1.0, -1.0, 0.0); - - glEnd (); - */ - // draw the squares - - glEnable(GL_BLEND); - glBlendFunc ( GL_SRC_ALPHA , GL_ONE_MINUS_SRC_ALPHA ); - - for (int i=0; i<NOF_PARTS2; i++) { - - if ((parts[i].start_time==NOT_CREATED) || (ticks>=parts[i].end_time)) { - parts[i].start_time=ticks; - parts[i].x=(rand() % 2000)/1000.0-1.0; - parts[i].y=(rand() % 2000)/1000.0-1.0; - parts[i].z=0.0; - parts[i].vx=0.001*((rand() % 2000)/1000.0-1.0); - parts[i].vy=0.001*((rand() % 2000)/1000.0-1.0); - parts[i].vz=0.01; - parts[i].end_time=parts[i].start_time+500+rand() % 500; - - parts[i].sx=PIXEL_SIZE2*2.0/imgWidth; - parts[i].sy=PIXEL_SIZE2*2.0/imgHeight; - - parts[i].tx1=((parts[i].x+1.0)/2.0); - parts[i].ty1=(1.0-(parts[i].y+1.0)/2.0); - parts[i].tx2=parts[i].tx1+parts[i].sx/2.0; - parts[i].ty2=parts[i].ty1+parts[i].sy/2.0; - } - glColor4f(1.0,1.0,1.0,0.5+(float)(parts[i].end_time-ticks)/(parts[i].end_time-parts[i].start_time)); - glBegin(GL_QUADS); - - glTexCoord2f (parts[i].tx1, parts[i].ty1); - glVertex3f(parts[i].x,parts[i].y,parts[i].z); - - glTexCoord2f (parts[i].tx2, parts[i].ty1); - glVertex3f(parts[i].x+parts[i].sx,parts[i].y,parts[i].z); - - glTexCoord2f (parts[i].tx2, parts[i].ty2); - glVertex3f(parts[i].x+parts[i].sx,parts[i].y-parts[i].sy,parts[i].z); - - glTexCoord2f (parts[i].tx1, parts[i].ty2); - glVertex3f(parts[i].x,parts[i].y-parts[i].sy,parts[i].z); - glEnd(); - - parts[i].x+=parts[i].vx; - parts[i].y+=parts[i].vy; - parts[i].z+=parts[i].vz; - parts[i].vy+=0.0004; // adds a small pull up + static PARTICLE parts[NOF_PARTS2]; // particle array + + static int parts_init = FALSE; // have been inited? + + if (!parts_init) { + for (int i = 0; i < NOF_PARTS2; i++) parts[i].start_time = NOT_CREATED; + parts_init = TRUE; + } + // time sync + struct timespec now; + float rotx, roty, rotz; + int ticks; + clock_gettime(CLOCK_MONOTONIC, &now); + ticks = now.tv_sec * 1000 + now.tv_nsec / 1000000; + + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + glViewport(0, 0, window_width, window_height); + + glMatrixMode(GL_PROJECTION); // use the projection mode + glLoadIdentity(); + gluPerspective(60.0, (float)imgWidth / (float)imgHeight, 0.01, 1135.0); + + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + glTranslatef(0.0, 0.0, -2.3); + // turn the place + rotx = sin(ticks * M_PI / 5000.0) * 5 + 15; + roty = sin(ticks * M_PI / 5000.0) * 15 + 15; + rotz = sin(ticks * M_PI / 5000.0) * 5; + glRotatef(rotx, 1, 0, 0); + glRotatef(roty, 0, 1, 0); + glRotatef(rotz, 0, 0, 1); + + glTexParameteri(m_TexTarget, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(m_TexTarget, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + + glTexParameteri(m_TexTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(m_TexTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + + glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); + + glBindTexture(m_TexTarget, texID); + + glEnable(m_TexTarget); + + glEnable(GL_DEPTH_TEST); + + // draw the emitter with the texture + /* + glBegin (GL_QUADS); + glColor3f(1,1,1); + glTexCoord2f (0.0, 0.0); + glVertex3f (-1.0, 1.0, 0.0); + + glTexCoord2f (1.0, 0.0); + glVertex3f (1.0, 1.0, 0.0); + + glTexCoord2f (1.0, 1.0); + glVertex3f (1.0, -1.0, 0.0); + + glTexCoord2f (0.0, 1.0); + glVertex3f (-1.0, -1.0, 0.0); + + glEnd (); + */ + // draw the squares + + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA , GL_ONE_MINUS_SRC_ALPHA); + + for (int i = 0; i < NOF_PARTS2; i++) { + if ((parts[i].start_time == NOT_CREATED) || (ticks >= parts[i].end_time)) { + parts[i].start_time = ticks; + parts[i].x = (rand() % 2000) / 1000.0 - 1.0; + parts[i].y = (rand() % 2000) / 1000.0 - 1.0; + parts[i].z = 0.0; + parts[i].vx = 0.001 * ((rand() % 2000) / 1000.0 - 1.0); + parts[i].vy = 0.001 * ((rand() % 2000) / 1000.0 - 1.0); + parts[i].vz = 0.01; + parts[i].end_time = parts[i].start_time + 500 + rand() % 500; + + parts[i].sx = PIXEL_SIZE2 * 2.0 / imgWidth; + parts[i].sy = PIXEL_SIZE2 * 2.0 / imgHeight; + + parts[i].tx1 = ((parts[i].x + 1.0) / 2.0); + parts[i].ty1 = (1.0 - (parts[i].y + 1.0) / 2.0); + parts[i].tx2 = parts[i].tx1 + parts[i].sx / 2.0; + parts[i].ty2 = parts[i].ty1 + parts[i].sy / 2.0; } - glDisable( m_TexTarget ); - glDisable(GL_BLEND); + glColor4f(1.0, 1.0, 1.0, 0.5 + (float)(parts[i].end_time - ticks) / (parts[i].end_time - parts[i].start_time)); + glBegin(GL_QUADS); - } + glTexCoord2f(parts[i].tx1, parts[i].ty1); + glVertex3f(parts[i].x, parts[i].y, parts[i].z); + + glTexCoord2f(parts[i].tx2, parts[i].ty1); + glVertex3f(parts[i].x + parts[i].sx, parts[i].y, parts[i].z); - break; + glTexCoord2f(parts[i].tx2, parts[i].ty2); + glVertex3f(parts[i].x + parts[i].sx, parts[i].y - parts[i].sy, parts[i].z); + glTexCoord2f(parts[i].tx1, parts[i].ty2); + glVertex3f(parts[i].x, parts[i].y - parts[i].sy, parts[i].z); + glEnd(); + + parts[i].x += parts[i].vx; + parts[i].y += parts[i].vy; + parts[i].z += parts[i].vz; + parts[i].vy += 0.0004; // adds a small pull up + } + glDisable(m_TexTarget); + glDisable(GL_BLEND); + } + break; } - if (retdata!=NULL) { + if (retdata != NULL) { // copy buffer to retbuf - if (retbuf!=NULL) { + if (retbuf != NULL) { buffer_free(retbuf); } - retbuf=render_to_mainmem(type); - return_ready=TRUE; + retbuf = render_to_mainmem(type); + return_ready = TRUE; } - if (swapFlag) glXSwapBuffers( dpy, glxWin ); + if (swapFlag) glXSwapBuffers(dpy, glxWin); return TRUE; } static void *render_thread_func(void *data) { - _xparms *xparms=(_xparms *)data; + _xparms *xparms = (_xparms *)data; - retbuf=NULL; + retbuf = NULL; - init_screen_inner (xparms->width, xparms->height, xparms->fullscreen, xparms->window_id, xparms->argc, xparms->argv); + init_screen_inner(xparms->width, xparms->height, xparms->fullscreen, xparms->window_id, xparms->argc, xparms->argv); - rthread_ready=TRUE; + rthread_ready = TRUE; while (playing) { - usleep(1000000./tfps); + usleep(1000000. / tfps); pthread_mutex_lock(&rthread_mutex); - if (has_texture&&playing) { - Upload(imgWidth,imgHeight); - } - else pthread_mutex_unlock(&rthread_mutex); + if (has_texture && playing) { + Upload(imgWidth, imgHeight); + } else pthread_mutex_unlock(&rthread_mutex); } - if (retbuf!=NULL) { + if (retbuf != NULL) { buffer_free(retbuf); } - retbuf=NULL; + retbuf = NULL; return NULL; } @@ -2059,64 +1975,62 @@ -boolean render_frame_rgba (int hsize, int vsize, void **pixel_data, void **return_data) { - +boolean render_frame_rgba(int hsize, int vsize, void **pixel_data, void **return_data) { pthread_mutex_lock(&rthread_mutex); // wait for lockout of render thread - has_texture=TRUE; - has_new_texture=TRUE; + has_texture = TRUE; + has_new_texture = TRUE; - if (return_data!=NULL) { - size_t twidth=window_width*typesize; - uint8_t *dst,*src; + if (return_data != NULL) { + size_t twidth = window_width * typesize; + uint8_t *dst, *src; register int i; - if (texturebuf!=NULL) { + if (texturebuf != NULL) { free((void *)texturebuf); } - texturebuf=(uint8_t *)pixel_data[0]; // no memcpy needed, as we will not free pixel_data until render_thread has used it - return_ready=FALSE; - retdata=(uint8_t *)return_data[0]; // host created space for return data + texturebuf = (uint8_t *)pixel_data[0]; // no memcpy needed, as we will not free pixel_data until render_thread has used it + return_ready = FALSE; + retdata = (uint8_t *)return_data[0]; // host created space for return data - imgWidth=hsize; - imgHeight=vsize; + imgWidth = hsize; + imgHeight = vsize; pthread_mutex_unlock(&rthread_mutex); // render thread - GO ! while (!return_ready) usleep(1000); // wait for return data pthread_mutex_lock(&rthread_mutex); // lock render thread while we grab data - dst=(uint8_t *)retdata; - retdata=NULL; + dst = (uint8_t *)retdata; + retdata = NULL; - texturebuf=NULL; + texturebuf = NULL; - src=(uint8_t *)retbuf+(window_height-1)*twidth; + src = (uint8_t *)retbuf + (window_height - 1) * twidth; // texture is upside-down compared to image - for (i=0;i<window_height;i++) { - memcpy(dst,src,twidth); - dst+=twidth; - src-=twidth; + for (i = 0; i < window_height; i++) { + memcpy(dst, src, twidth); + dst += twidth; + src -= twidth; } - } - else { - if (hsize!=imgWidth || vsize!=imgHeight || texturebuf==NULL) { - if (texturebuf!=NULL) { - free((void *)texturebuf); + } else { + if (hsize != imgWidth || vsize != imgHeight || texturebuf == NULL) { + if (texturebuf != NULL) { + free((void *)texturebuf); } - texturebuf=(uint8_t *)malloc(hsize*vsize*typesize); + texturebuf = (uint8_t *)malloc(hsize * vsize * typesize); } - - memcpy((void *)texturebuf,pixel_data[0],hsize*vsize*typesize); - imgWidth=hsize; - imgHeight=vsize; + memcpy((void *)texturebuf, pixel_data[0], hsize * vsize * typesize); + + imgWidth = hsize; + imgHeight = vsize; - retdata=NULL; + retdata = NULL; } pthread_mutex_unlock(&rthread_mutex); // re-enable render thread @@ -2128,8 +2042,8 @@ -boolean render_frame_unknown (int hsize, int vsize, void **pixel_data, void **return_data) { - fprintf(stderr,"openGL plugin error: No palette was set !\n"); +boolean render_frame_unknown(int hsize, int vsize, void **pixel_data, void **return_data) { + fprintf(stderr, "openGL plugin error: No palette was set !\n"); return FALSE; } @@ -2139,78 +2053,68 @@ void decode_pparams(weed_plant_t **pparams) { weed_plant_t *ptmpl; char *pname; - int error,type; + int error, type; - register int i=0; + register int i = 0; - zmode=0; - zfft0=0.; - if (zsubtitles!=NULL) weed_free(zsubtitles); - zsubtitles=NULL; + zmode = 0; + zfft0 = 0.; + if (zsubtitles != NULL) weed_free(zsubtitles); + zsubtitles = NULL; - if (pparams==NULL) return; - while (pparams[i]!=NULL) { - - type=weed_get_int_value(pparams[i],"type",&error); + if (pparams == NULL) return; + while (pparams[i] != NULL) { + type = weed_get_int_value(pparams[i], "type", &error); + if (type == WEED_PLANT_PARAMETER) { + ptmpl = weed_get_plantptr_value(pparams[i], "template", &error); + pname = weed_get_string_value(ptmpl, "name", &error); - if (type==WEED_PLANT_PARAMETER) { - ptmpl=weed_get_plantptr_value(pparams[i],"template",&error); - pname=weed_get_string_value(ptmpl,"name",&error); - - if (!strcmp(pname,"mode")) { - zmode=weed_get_int_value(pparams[i],"value",&error); + if (!strcmp(pname, "mode")) { + zmode = weed_get_int_value(pparams[i], "value", &error); + } else if (!strcmp(pname, "fft0")) { + zfft0 = (float)weed_get_double_value(pparams[i], "value", &error); + } else if (!strcmp(pname, "subtitles")) { + zsubtitles = weed_get_string_value(pparams[i], "value", &error); } - else if (!strcmp(pname,"fft0")) { - zfft0=(float)weed_get_double_value(pparams[i],"value",&error); - } - else if (!strcmp(pname,"subtitles")) { - zsubtitles=weed_get_string_value(pparams[i],"value",&error); - } - + weed_free(pname); - } - else { + } else { // must be an alpha channel - - + } i++; } - - } -boolean render_frame (int hsize, int vsize, int64_t tc, void **pixel_data, void **return_data, void **pp) { +boolean render_frame(int hsize, int vsize, int64_t tc, void **pixel_data, void **return_data, void **pp) { // call the function which was set in set_palette - weed_plant_t **pparams=(weed_plant_t **)pp; + weed_plant_t **pparams = (weed_plant_t **)pp; - if (pparams!=NULL) { + if (pparams != NULL) { decode_pparams(pparams); } - return render_fn (hsize,vsize,pixel_data,return_data); + return render_fn(hsize, vsize, pixel_data, return_data); } -void exit_screen (int16_t mouse_x, int16_t mouse_y) { - playing=FALSE; +void exit_screen(int16_t mouse_x, int16_t mouse_y) { + playing = FALSE; - pthread_join(rthread,NULL); + pthread_join(rthread, NULL); - if (texturebuf!=NULL) { + if (texturebuf != NULL) { free((void *)texturebuf); } - if (use_pbo) glDeleteBuffers(1, &video_pbo); - free(textures); if (!is_ext) { - XUnmapWindow (dpy, xWin); - XDestroyWindow (dpy, xWin); + XUnmapWindow(dpy, xWin); + XDestroyWindow(dpy, xWin); } XFlush(dpy); @@ -2218,17 +2122,16 @@ pthread_mutex_lock(&dpy_mutex); glXMakeContextCurrent(dpy, 0, 0, 0); glXDestroyContext(dpy, context); - XCloseDisplay (dpy); - dpy=NULL; + XCloseDisplay(dpy); + dpy = NULL; pthread_mutex_unlock(&dpy_mutex); - } void module_unload(void) { - if (ntextures>0) glDeleteTextures(ntextures,texID); + if (ntextures > 0) glDeleteTextures(ntextures, texID); free(texID); - if (zsubtitles!=NULL) weed_free(zsubtitles); + if (zsubtitles != NULL) weed_free(zsubtitles); }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/playback/video/videoplugin.h -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/playback/video/videoplugin.h
Changed
@@ -56,7 +56,7 @@ #define FALSE 0 #ifndef ABS -#define ABS(a) (a>0?a:-a) +#define ABS(a) (a > 0 ? a : -a) #endif #ifndef PATH_MAX @@ -68,7 +68,7 @@ #endif // Warning - CPU_BITS macro evaluates only at runtime (uses sizeof) -#define CPU_BITS ((sizeof(void *))<<3) +#define CPU_BITS ((sizeof(void *)) << 3) // all playback modules need to implement these functions, unless they are marked (optional)
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/playback/video/vjack_output.c -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/playback/video/vjack_output.c
Changed
@@ -9,7 +9,7 @@ ///////////////////////////////////////////////////////////////// -static char plugin_version[64]="LiVES videojack output client 1.1"; +static char plugin_version[64] = "LiVES videojack output client 1.1"; static char fps_list[256]; static int palette_list[2]; static int mypalette; @@ -29,7 +29,7 @@ // jack calls this uint8_t *in; - if (rb==NULL) return 0; + if (rb == NULL) return 0; in = jack_port_get_buffer(output_port, nframes); while (jack_ringbuffer_read_space(rb) >= frame_size) { @@ -40,16 +40,16 @@ ////////////////////////////////////////////// const char *get_fps_list(int palette) { - double fps=(double)jack_get_sample_rate(client); - snprintf(fps_list,256,"%.8f",fps); + double fps = (double)jack_get_sample_rate(client); + snprintf(fps_list, 256, "%.8f", fps); return fps_list; } const char *module_check_init(void) { - const char *client_name="LiVES"; + const char *client_name = "LiVES"; jack_options_t options = JackNullOption; jack_status_t status; - const char *server_name=NULL; // set to "video0" if running with audio on "default" + const char *server_name = NULL; // set to "video0" if running with audio on "default" // connect to vjack client = jack_client_open(client_name, options, &status, server_name); @@ -69,7 +69,7 @@ fprintf(stderr, "unique name `%s' assigned\n", client_name); } - fprintf(stderr,"engine sample rate: %" PRIu32 "\n", + fprintf(stderr, "engine sample rate: %" PRIu32 "\n", jack_get_sample_rate(client)); output_port = jack_port_register(client, @@ -78,7 +78,7 @@ JackPortIsOutput, 0); - if (output_port==NULL) { + if (output_port == NULL) { fprintf(stderr, "vjack_output: no more JACK ports available\n"); return "no jack ports available"; } @@ -110,14 +110,14 @@ } int *get_palette_list(void) { - palette_list[0]=WEED_PALETTE_RGBA32; - palette_list[1]=WEED_PALETTE_END; + palette_list[0] = WEED_PALETTE_RGBA32; + palette_list[1] = WEED_PALETTE_END; return palette_list; } boolean set_palette(int palette) { - if (palette==WEED_PALETTE_RGBA32) { - mypalette=palette; + if (palette == WEED_PALETTE_RGBA32) { + mypalette = palette; return TRUE; } // invalid palette @@ -125,8 +125,8 @@ } boolean init_screen(int width, int height, boolean fullscreen, uint64_t window_id, int argc, char **argv) { - jack_video_set_width_and_height(client,output_port,width,height); - frame_size=width*height*4; + jack_video_set_width_and_height(client, output_port, width, height); + frame_size = width * height * 4; rb = jack_ringbuffer_create(16 * frame_size); return TRUE; } @@ -139,8 +139,8 @@ } void exit_screen(int16_t mouse_x, int16_t mouse_y) { - if (rb!=NULL) jack_ringbuffer_free(rb); - rb=NULL; + if (rb != NULL) jack_ringbuffer_free(rb); + rb = NULL; } void module_unload(void) {
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/playback/video/vloopback.c -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/playback/video/vloopback.c
Changed
@@ -9,7 +9,7 @@ ///////////////////////////////////////////////////////////////// -static char plugin_version[64]="LiVES vloopback output client 1.0.2"; +static char plugin_version[64] = "LiVES vloopback output client 1.0.2"; static int palette_list[3]; static int clampings[2]; static int mypalette; @@ -80,18 +80,18 @@ struct dirent **namelist; int n; int fd; - int i=-1; - int ndevices=0; + int i = -1; + int ndevices = 0; struct video_capability v4lcap; - char **devnames=malloc(MAX_DEVICES * sizeof(char *)); + char **devnames = malloc(MAX_DEVICES * sizeof(char *)); - for (i=0; i<MAX_DEVICES; devnames[i++]=NULL); + for (i = 0; i < MAX_DEVICES; devnames[i++] = NULL); n = scandir("/dev", &namelist, file_filter, alphasort); if (n < 0) return devnames; - for (i=0; i < n && ndevices < MAX_DEVICES-1; i++) { + for (i = 0; i < n && ndevices < MAX_DEVICES - 1; i++) { sprintf(devname, "/dev/%s", namelist[i]->d_name); if ((fd = open(devname, O_RDONLY | O_NONBLOCK)) == -1) { @@ -106,7 +106,7 @@ } // is it vloopback ? - if (strstr(v4lcap.name,"loopback")==NULL) continue; + if (strstr(v4lcap.name, "loopback") == NULL) continue; if ((v4lcap.type & VID_TYPE_CAPTURE)) { // is an output device @@ -115,12 +115,12 @@ } close(fd); - devnames[ndevices++]=strdup(devname); + devnames[ndevices++] = strdup(devname); //fprintf(stderr,"got %s\n",devname); } - devnames[ndevices]=NULL; + devnames[ndevices] = NULL; - for (i=0; i < n; free(namelist[i++])); + for (i = 0; i < n; free(namelist[i++])); free(namelist); return devnames; @@ -133,14 +133,14 @@ const char *module_check_init(void) { char **vdevs = get_vloopback_devices(); - int i=0; + int i = 0; - if (vdevs[0]==NULL) { + if (vdevs[0] == NULL) { free(vdevs); return "No vloopback devices were found\nTry: sudo modprobe vloopback\n"; } - while (vdevs[i]!=NULL) free(vdevs[i++]); + while (vdevs[i] != NULL) free(vdevs[i++]); free(vdevs); return NULL; @@ -163,24 +163,24 @@ const char *get_init_rfx(void) { char **vdevs = get_vloopback_devices(); char devstr[30000]; - size_t slen=0; - int i=0; + size_t slen = 0; + int i = 0; - if (vdevs[0]==NULL) { + if (vdevs[0] == NULL) { free(vdevs); return "No vloopback devices were found\nTry: sudo modprobe vloopback\n"; } memset(devstr, 0, 1); - while (vdevs[i]!=NULL) { - snprintf(devstr+slen,30000-slen,"%s|",vdevs[i]); - slen+=strlen(vdevs[i])+1; + while (vdevs[i] != NULL) { + snprintf(devstr + slen, 30000 - slen, "%s|", vdevs[i]); + slen += strlen(vdevs[i]) + 1; free(vdevs[i++]); } free(vdevs); - snprintf((char *)rfx,32768,"%s%s%s", + snprintf((char *)rfx, 32768, "%s%s%s", "<define>\\n\ |1.7\\n\ </define>\\n\ @@ -205,19 +205,19 @@ const int *get_palette_list(void) { - palette_list[0]=WEED_PALETTE_UYVY; - palette_list[1]=WEED_PALETTE_RGB24; - palette_list[2]=WEED_PALETTE_END; + palette_list[0] = WEED_PALETTE_UYVY; + palette_list[1] = WEED_PALETTE_RGB24; + palette_list[2] = WEED_PALETTE_END; return palette_list; } boolean set_palette(int palette) { - if (palette==WEED_PALETTE_UYVY) { - mypalette=palette; + if (palette == WEED_PALETTE_UYVY) { + mypalette = palette; return TRUE; } - if (palette==WEED_PALETTE_RGB24) { - mypalette=palette; + if (palette == WEED_PALETTE_RGB24) { + mypalette = palette; return TRUE; } // invalid palette @@ -225,63 +225,63 @@ } const int *get_yuv_palette_clamping(int palette) { - if (palette==WEED_PALETTE_RGB24) clampings[0]=-1; + if (palette == WEED_PALETTE_RGB24) clampings[0] = -1; else { - clampings[0]=WEED_YUV_CLAMPING_CLAMPED; - clampings[1]=-1; + clampings[0] = WEED_YUV_CLAMPING_CLAMPED; + clampings[1] = -1; } return clampings; } boolean init_screen(int width, int height, boolean fullscreen, uint64_t window_id, int argc, char **argv) { - int i=0,idx=0; + int i = 0, idx = 0; char **vdevs; - vdevfd=-1; + vdevfd = -1; - if (argc>0) idx=atoi(argv[0]); + if (argc > 0) idx = atoi(argv[0]); vdevs = get_vloopback_devices(); - if (vdevs[idx]!=NULL) { - vdevname=strdup(vdevs[idx]); - } else vdevname=NULL; + if (vdevs[idx] != NULL) { + vdevname = strdup(vdevs[idx]); + } else vdevname = NULL; - while (vdevs[i]!=NULL) free(vdevs[i++]); + while (vdevs[i] != NULL) free(vdevs[i++]); free(vdevs); - if (vdevname==NULL) return FALSE; + if (vdevname == NULL) return FALSE; - vdevfd=open(vdevname, O_WRONLY); + vdevfd = open(vdevname, O_WRONLY); - if (vdevfd==-1) { - fprintf(stderr, "vloopback output: cannot open %s %s\n",vdevname,strerror(errno)); + if (vdevfd == -1) { + fprintf(stderr, "vloopback output: cannot open %s %s\n", vdevname, strerror(errno)); return FALSE; } if (ioctl(vdevfd, VIDIOCGPICT, &x_vidpic) == -1) { - fprintf(stderr, "vloopback output: cannot get palette for %s\n",vdevname); + fprintf(stderr, "vloopback output: cannot get palette for %s\n", vdevname); return FALSE; } - if (mypalette==WEED_PALETTE_RGB24) x_vidpic.palette=VIDEO_PALETTE_RGB24; - else if (mypalette==WEED_PALETTE_UYVY) x_vidpic.palette=VIDEO_PALETTE_UYVY; + if (mypalette == WEED_PALETTE_RGB24) x_vidpic.palette = VIDEO_PALETTE_RGB24; + else if (mypalette == WEED_PALETTE_UYVY) x_vidpic.palette = VIDEO_PALETTE_UYVY; if (ioctl(vdevfd, VIDIOCSPICT, &x_vidpic) == -1) { - fprintf(stderr, "vloopback output: cannot set palette for %s\n",vdevname); + fprintf(stderr, "vloopback output: cannot set palette for %s\n", vdevname); return FALSE; } if (ioctl(vdevfd, VIDIOCGWIN, &x_vidwin) == -1) { - fprintf(stderr, "vloopback output: cannot get dimensions for %s\n",vdevname); + fprintf(stderr, "vloopback output: cannot get dimensions for %s\n", vdevname); return FALSE; } - x_vidwin.width=width; - x_vidwin.height=height; + x_vidwin.width = width; + x_vidwin.height = height; if (ioctl(vdevfd, VIDIOCSWIN, &x_vidwin) == -1) { - fprintf(stderr, "vloopback output: cannot set dimensions for %s\n",vdevname); + fprintf(stderr, "vloopback output: cannot set dimensions for %s\n", vdevname); return FALSE; } return TRUE; @@ -290,15 +290,15 @@ boolean render_frame(int hsize, int vsize, int64_t tc, void **pixel_data, void **rd, void **pp) { // hsize and vsize are in [macro]pixels (n-byte) - size_t frame_size,bytes; + size_t frame_size, bytes; - if (mypalette==WEED_PALETTE_UYVY) frame_size=hsize*vsize*4; - else frame_size=hsize*vsize*3; + if (mypalette == WEED_PALETTE_UYVY) frame_size = hsize * vsize * 4; + else frame_size = hsize * vsize * 3; - bytes=write(vdevfd,pixel_data[0],frame_size); + bytes = write(vdevfd, pixel_data[0], frame_size); - if (bytes!=frame_size) { - fprintf(stderr, "Error writing frame to %s\n",vdevname); + if (bytes != frame_size) { + fprintf(stderr, "Error writing frame to %s\n", vdevname); return FALSE; } @@ -306,9 +306,9 @@ } void exit_screen(int16_t mouse_x, int16_t mouse_y) { - int xval=0; - if (vdevfd!=-1) xval=close(vdevfd); - if (vdevname!=NULL) free(vdevname); - xval=xval; + int xval = 0; + if (vdevfd != -1) xval = close(vdevfd); + if (vdevname != NULL) free(vdevname); + xval = xval; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/playback/video/vloopback2.c -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/playback/video/vloopback2.c
Changed
@@ -17,11 +17,11 @@ ///////////////////////////////////////////////////////////////// -static char plugin_version[64]="LiVES vloopback2 output client 1.0.0"; +static char plugin_version[64] = "LiVES vloopback2 output client 1.0.0"; static int palette_list[4]; static int clampings[3]; static int mypalette; -static int mysubspace=WEED_YUV_SUBSPACE_YCBCR; +static int mysubspace = WEED_YUV_SUBSPACE_YCBCR; static int myclamp; ////////////////////////////////////////////////////////////////// @@ -80,20 +80,20 @@ struct dirent **namelist; int n; int fd; - int i=-1; - int ndevices=0; + int i = -1; + int ndevices = 0; struct v4l2_capability vid_caps; - char **devnames=malloc(MAX_DEVICES * sizeof(char *)); + char **devnames = malloc(MAX_DEVICES * sizeof(char *)); - for (i=0; i<MAX_DEVICES; devnames[i++]=NULL); + for (i = 0; i < MAX_DEVICES; devnames[i++] = NULL); n = scandir("/dev", &namelist, file_filter, alphasort); if (n < 0) return devnames; - for (i=0; i < n && ndevices < MAX_DEVICES-1; i++) { + for (i = 0; i < n && ndevices < MAX_DEVICES - 1; i++) { sprintf(devname, "/dev/%s", namelist[i]->d_name); if ((fd = open(devname, O_RDWR | O_NONBLOCK)) == -1) { @@ -114,12 +114,12 @@ } close(fd); - devnames[ndevices++]=strdup(devname); + devnames[ndevices++] = strdup(devname); //fprintf(stderr,"got %s\n",devname); } - devnames[ndevices]=NULL; + devnames[ndevices] = NULL; - for (i=0; i < n; free(namelist[i++])); + for (i = 0; i < n; free(namelist[i++])); free(namelist); return devnames; @@ -138,22 +138,22 @@ const char *dummy; - register int i=0; + register int i = 0; - if (vdevs[0]==NULL) { + if (vdevs[0] == NULL) { free(vdevs); return "No vloopback2 devices were found\nInstall vloopback2 and then try: sudo modprobe v4l2loopback\nAlso check the device permissions for /dev/video*.\n"; } - while (vdevs[i]!=NULL) free(vdevs[i++]); + while (vdevs[i] != NULL) free(vdevs[i++]); free(vdevs); // get tempdir - fp=popen("smogrify get_workdir","r"); - dummy=fgets(buffer,PATH_MAX,fp); + fp = popen("smogrify get_workdir", "r"); + dummy = fgets(buffer, PATH_MAX, fp); pclose(fp); - workdir=strdup(buffer); - dummy=dummy; + workdir = strdup(buffer); + dummy = dummy; return NULL; } @@ -173,8 +173,8 @@ const int *get_audio_fmts() { // this is not yet documented, but is an optional function to get a list of audio formats. If the user chooses to stream audio then it will be sent to a fifo file in the tempdir called livesaudio.stream, in one of the supported formats - aforms[0]=1; // pcm - aforms[1]=-1; // end + aforms[0] = 1; // pcm + aforms[1] = -1; // end return aforms; } @@ -186,25 +186,25 @@ char **vdevs = get_vloopback2_devices(); char devstr[30000]; - size_t slen=0; + size_t slen = 0; - register int i=0; + register int i = 0; - if (vdevs[0]==NULL) { + if (vdevs[0] == NULL) { free(vdevs); return "No vloopback2 devices were found\nInstall vloopback2 and then try: sudo modprobe webcamstudio\nAlso check the device permissions.\n"; } memset(devstr, 0, 1); - while (vdevs[i]!=NULL) { - snprintf(devstr+slen,30000-slen,"%s|",vdevs[i]); - slen+=strlen(vdevs[i])+1; + while (vdevs[i] != NULL) { + snprintf(devstr + slen, 30000 - slen, "%s|", vdevs[i]); + slen += strlen(vdevs[i]) + 1; free(vdevs[i++]); } free(vdevs); - snprintf((char *)rfx,32768,"%s%s%s%s%s", + snprintf((char *)rfx, 32768, "%s%s%s%s%s", "<define>\\n\ |1.7\\n\ </define>\\n\ @@ -215,7 +215,7 @@ vdevname|Video _device|string_list|0|", devstr, "\\n\ -afname|Send _audio to|string|",workdir,"/audio.wav|1024|\\n\ +afname|Send _audio to|string|", workdir, "/audio.wav|1024|\\n\ </params> \\n\ <param_window> \\n\ </param_window> \\n\ @@ -230,25 +230,25 @@ const int *get_palette_list(void) { - palette_list[0]=WEED_PALETTE_UYVY; - palette_list[1]=WEED_PALETTE_RGB24; - palette_list[2]=WEED_PALETTE_RGBA32; - palette_list[3]=WEED_PALETTE_END; + palette_list[0] = WEED_PALETTE_UYVY; + palette_list[1] = WEED_PALETTE_RGB24; + palette_list[2] = WEED_PALETTE_RGBA32; + palette_list[3] = WEED_PALETTE_END; return palette_list; } boolean set_palette(int palette) { - if (palette==WEED_PALETTE_UYVY) { - mypalette=palette; + if (palette == WEED_PALETTE_UYVY) { + mypalette = palette; return TRUE; } - if (palette==WEED_PALETTE_RGB24) { - mypalette=palette; + if (palette == WEED_PALETTE_RGB24) { + mypalette = palette; return TRUE; } - if (palette==WEED_PALETTE_RGBA32) { - mypalette=palette; + if (palette == WEED_PALETTE_RGBA32) { + mypalette = palette; return TRUE; } // invalid palette @@ -256,71 +256,71 @@ } const int *get_yuv_palette_clamping(int palette) { - if (palette==WEED_PALETTE_RGB24||palette==WEED_PALETTE_RGBA32) clampings[0]=-1; + if (palette == WEED_PALETTE_RGB24 || palette == WEED_PALETTE_RGBA32) clampings[0] = -1; else { - clampings[0]=WEED_YUV_CLAMPING_UNCLAMPED; - clampings[1]=WEED_YUV_CLAMPING_CLAMPED; - clampings[2]=-1; + clampings[0] = WEED_YUV_CLAMPING_UNCLAMPED; + clampings[1] = WEED_YUV_CLAMPING_CLAMPED; + clampings[2] = -1; } return clampings; } boolean set_yuv_palette_clamping(int clamping_type) { - myclamp=clamping_type; + myclamp = clamping_type; return TRUE; } static void make_path(const char *fname, int pid, const char *ext) { - snprintf(xfile,PATH_MAX,"%s/%s-%d.%s",workdir,fname,pid,ext); + snprintf(xfile, PATH_MAX, "%s/%s-%d.%s", workdir, fname, pid, ext); } boolean init_screen(int width, int height, boolean fullscreen, uint64_t window_id, int argc, char **argv) { // width in pixels - int i=0,idx=0,ret_code; - int afd,audio=0; + int i = 0, idx = 0, ret_code; + int afd, audio = 0; - int mypid=getpid(); + int mypid = getpid(); int dummyvar; - char cmd[PATH_MAX*2]; + char cmd[PATH_MAX * 2]; - char *audfile=NULL; + char *audfile = NULL; char **vdevs; struct v4l2_capability vid_caps; struct v4l2_format vid_format; - vdevfd=-1; + vdevfd = -1; - if (argc>0) idx=atoi(argv[0]); - if (argc>1) audfile=argv[1]; + if (argc > 0) idx = atoi(argv[0]); + if (argc > 1) audfile = argv[1]; vdevs = get_vloopback2_devices(); - if (vdevs[idx]!=NULL) { - vdevname=strdup(vdevs[idx]); - } else vdevname=NULL; + if (vdevs[idx] != NULL) { + vdevname = strdup(vdevs[idx]); + } else vdevname = NULL; - while (vdevs[i]!=NULL) free(vdevs[i++]); + while (vdevs[i] != NULL) free(vdevs[i++]); free(vdevs); - if (vdevname==NULL) return FALSE; + if (vdevname == NULL) return FALSE; - vdevfd=open(vdevname, O_WRONLY); + vdevfd = open(vdevname, O_WRONLY); - if (vdevfd==-1) { - fprintf(stderr, "vloopback2 output: cannot open %s %s\n",vdevname,strerror(errno)); + if (vdevfd == -1) { + fprintf(stderr, "vloopback2 output: cannot open %s %s\n", vdevname, strerror(errno)); return FALSE; } ret_code = ioctl(vdevfd, VIDIOC_QUERYCAP, &vid_caps); if (ret_code) { - fprintf(stderr, "vloopback2 output: cannot ioct failed for %s\n",vdevname); + fprintf(stderr, "vloopback2 output: cannot ioct failed for %s\n", vdevname); return FALSE; } @@ -332,29 +332,29 @@ switch (mypalette) { case WEED_PALETTE_RGB24: vid_format.fmt.pix.pixelformat = V4L2_PIX_FMT_RGB24; - vid_format.fmt.pix.bytesperline = width *3; - vid_format.fmt.pix.sizeimage = width*height*3; + vid_format.fmt.pix.bytesperline = width * 3; + vid_format.fmt.pix.sizeimage = width * height * 3; break; case WEED_PALETTE_RGBA32: vid_format.fmt.pix.pixelformat = V4L2_PIX_FMT_RGB32; - vid_format.fmt.pix.bytesperline = width *3; - vid_format.fmt.pix.sizeimage = width*height*3; + vid_format.fmt.pix.bytesperline = width * 3; + vid_format.fmt.pix.sizeimage = width * height * 3; break; case WEED_PALETTE_UYVY: vid_format.fmt.pix.pixelformat = V4L2_PIX_FMT_UYVY; - vid_format.fmt.pix.bytesperline = width *2; - vid_format.fmt.pix.sizeimage = width*height*2; + vid_format.fmt.pix.bytesperline = width * 2; + vid_format.fmt.pix.sizeimage = width * height * 2; break; } vid_format.fmt.pix.field = V4L2_FIELD_NONE; vid_format.fmt.pix.priv = 0; - if (mypalette==WEED_PALETTE_UYVY) { - if (mysubspace==WEED_YUV_SUBSPACE_BT709) + if (mypalette == WEED_PALETTE_UYVY) { + if (mysubspace == WEED_YUV_SUBSPACE_BT709) vid_format.fmt.pix.colorspace = V4L2_COLORSPACE_REC709; else { - if (myclamp==WEED_YUV_CLAMPING_UNCLAMPED) + if (myclamp == WEED_YUV_CLAMPING_UNCLAMPED) vid_format.fmt.pix.colorspace = V4L2_COLORSPACE_SMPTE170M; else vid_format.fmt.pix.colorspace = V4L2_COLORSPACE_JPEG; } @@ -362,20 +362,20 @@ ret_code = ioctl(vdevfd, VIDIOC_S_FMT, &vid_format); - make_path("livesaudio",mypid,"stream"); + make_path("livesaudio", mypid, "stream"); - if (audfile!=NULL) { - afd=open(xfile,O_RDONLY|O_NONBLOCK); - if (afd!=-1) { - audio=1; + if (audfile != NULL) { + afd = open(xfile, O_RDONLY | O_NONBLOCK); + if (afd != -1) { + audio = 1; close(afd); } if (audio) { - snprintf(cmd,PATH_MAX*2,"/bin/cat %s > \"%s\" &",xfile,audfile); - dummyvar=system(cmd); + snprintf(cmd, PATH_MAX * 2, "/bin/cat %s > \"%s\" &", xfile, audfile); + dummyvar = system(cmd); } - dummyvar=dummyvar; // keep compiler happy + dummyvar = dummyvar; // keep compiler happy } return TRUE; } @@ -384,16 +384,16 @@ boolean render_frame(int hsize, int vsize, int64_t tc, void **pixel_data, void **rd, void **pp) { // hsize and vsize are in [macro]pixels (n-byte) - size_t frame_size,bytes; + size_t frame_size, bytes; - if (mypalette==WEED_PALETTE_RGB24||mypalette==WEED_PALETTE_BGR24) - frame_size=hsize*vsize*3; - else frame_size=hsize*vsize*4; + if (mypalette == WEED_PALETTE_RGB24 || mypalette == WEED_PALETTE_BGR24) + frame_size = hsize * vsize * 3; + else frame_size = hsize * vsize * 4; - bytes=write(vdevfd,pixel_data[0],frame_size); + bytes = write(vdevfd, pixel_data[0], frame_size); - if (bytes!=frame_size) { - fprintf(stderr, "Error %s writing frame to %s\n",strerror(errno),vdevname); + if (bytes != frame_size) { + fprintf(stderr, "Error %s writing frame to %s\n", strerror(errno), vdevname); return FALSE; } @@ -401,9 +401,9 @@ } void exit_screen(int16_t mouse_x, int16_t mouse_y) { - int xval=0; - if (vdevfd!=-1) xval=close(vdevfd); - if (vdevname!=NULL) free(vdevname); - xval=xval; + int xval = 0; + if (vdevfd != -1) xval = close(vdevfd); + if (vdevname != NULL) free(vdevname); + xval = xval; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/plugins/playback/video/yuv4mpeg_stream.c -> LiVES-2.8.6.tar.bz2/lives-plugins/plugins/playback/video/yuv4mpeg_stream.c
Changed
@@ -7,18 +7,18 @@ #include <stdio.h> -static int mypalette=WEED_PALETTE_END; +static int mypalette = WEED_PALETTE_END; static int palette_list[2]; static int clampings[3]; -static char plugin_version[64]="LiVES yuv4mpeg playback engine version 1.1"; +static char plugin_version[64] = "LiVES yuv4mpeg playback engine version 1.1"; static boolean(*render_fn)(int hsize, int vsize, void **pixel_data); boolean render_frame_yuv420(int hsize, int vsize, void **pixel_data); boolean render_frame_unknown(int hsize, int vsize, void **pixel_data); -static int ov_vsize,ov_hsize; +static int ov_vsize, ov_hsize; ///////////////////////////////////////////////////////////////////////// @@ -54,10 +54,10 @@ const char *module_check_init(void) { - render_fn=&render_frame_unknown; - ov_vsize=ov_hsize=0; + render_fn = &render_frame_unknown; + ov_vsize = ov_hsize = 0; - yuv4mpeg=yuv4mpeg_alloc(); + yuv4mpeg = yuv4mpeg_alloc(); return NULL; } @@ -72,8 +72,8 @@ } const int *get_palette_list(void) { - palette_list[0]=WEED_PALETTE_YUV420P; - palette_list[1]=WEED_PALETTE_END; + palette_list[0] = WEED_PALETTE_YUV420P; + palette_list[1] = WEED_PALETTE_END; return palette_list; } @@ -84,20 +84,20 @@ const int *get_yuv_palette_clamping(int palette) { - if (palette==WEED_PALETTE_YUV420P) { - clampings[0]=WEED_YUV_CLAMPING_UNCLAMPED; - clampings[1]=WEED_YUV_CLAMPING_CLAMPED; - clampings[2]=-1; - } else clampings[0]=-1; + if (palette == WEED_PALETTE_YUV420P) { + clampings[0] = WEED_YUV_CLAMPING_UNCLAMPED; + clampings[1] = WEED_YUV_CLAMPING_CLAMPED; + clampings[2] = -1; + } else clampings[0] = -1; return clampings; } boolean set_palette(int palette) { if (!yuv4mpeg) return FALSE; - if (palette==WEED_PALETTE_YUV420P) { - mypalette=palette; - render_fn=&render_frame_yuv420; + if (palette == WEED_PALETTE_YUV420P) { + mypalette = palette; + render_fn = &render_frame_yuv420; return TRUE; } // invalid palette @@ -110,26 +110,26 @@ boolean set_fps(double in_fps) { - if (in_fps>23.97599&&in_fps<23.9761) { - yuv4mpeg->fps=y4m_fps_NTSC_FILM; + if (in_fps > 23.97599 && in_fps < 23.9761) { + yuv4mpeg->fps = y4m_fps_NTSC_FILM; return TRUE; } - if (in_fps>=29.97&&in_fps<29.9701) { - yuv4mpeg->fps=y4m_fps_NTSC; + if (in_fps >= 29.97 && in_fps < 29.9701) { + yuv4mpeg->fps = y4m_fps_NTSC; return TRUE; } - yuv4mpeg->fps.n=(int)(in_fps); - yuv4mpeg->fps.d=1; + yuv4mpeg->fps.n = (int)(in_fps); + yuv4mpeg->fps.d = 1; return TRUE; } boolean init_screen(int width, int height, boolean fullscreen, uint64_t window_id, int argc, char **argv) { - if (mypalette==WEED_PALETTE_END) { - fprintf(stderr,"yuv4mpeg_stream plugin error: No palette was set !\n"); + if (mypalette == WEED_PALETTE_END) { + fprintf(stderr, "yuv4mpeg_stream plugin error: No palette was set !\n"); return FALSE; } - y4m_si_set_framerate(&(yuv4mpeg->streaminfo),yuv4mpeg->fps); + y4m_si_set_framerate(&(yuv4mpeg->streaminfo), yuv4mpeg->fps); y4m_si_set_interlace(&(yuv4mpeg->streaminfo), Y4M_ILACE_NONE); //y4m_log_stream_info(LOG_INFO, "lives-yuv4mpeg", &(yuv4mpeg->streaminfo)); @@ -139,13 +139,13 @@ boolean render_frame(int hsize, int vsize, int64_t tc, void **pixel_data, void **rd, void **pp) { // call the function which was set in set_palette - return render_fn(hsize,vsize,pixel_data); + return render_fn(hsize, vsize, pixel_data); } boolean render_frame_yuv420(int hsize, int vsize, void **pixel_data) { int i; - if ((ov_hsize!=hsize||ov_vsize!=vsize)) { + if ((ov_hsize != hsize || ov_vsize != vsize)) { //start new stream y4m_si_set_width(&(yuv4mpeg->streaminfo), hsize); y4m_si_set_height(&(yuv4mpeg->streaminfo), vsize); @@ -156,8 +156,8 @@ if (i != Y4M_OK) return FALSE; - ov_hsize=hsize; - ov_vsize=vsize; + ov_hsize = hsize; + ov_vsize = vsize; } i = y4m_write_frame(1, &(yuv4mpeg->streaminfo), @@ -168,8 +168,8 @@ } boolean render_frame_unknown(int hsize, int vsize, void **pixel_data) { - if (mypalette==WEED_PALETTE_END) { - fprintf(stderr,"yuv4mpeg_stream plugin error: No palette was set !\n"); + if (mypalette == WEED_PALETTE_END) { + fprintf(stderr, "yuv4mpeg_stream plugin error: No palette was set !\n"); } return FALSE; } @@ -181,7 +181,7 @@ void module_unload(void) { - if (yuv4mpeg!=NULL) { + if (yuv4mpeg != NULL) { free(yuv4mpeg); } }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/themes/Makefile.in -> LiVES-2.8.6.tar.bz2/lives-plugins/themes/Makefile.in
Changed
@@ -275,8 +275,6 @@ GENCAT = @GENCAT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GLEE_CFLAGS = @GLEE_CFLAGS@ -GLEE_LIBS = @GLEE_LIBS@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -413,6 +411,8 @@ VERSION = @VERSION@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ +WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ +WAYLAND_LIBS = @WAYLAND_LIBS@ WEED_CFLAGS = @WEED_CFLAGS@ WEED_COMPAT_CFLAGS = @WEED_COMPAT_CFLAGS@ WEED_COMPAT_LIBS = @WEED_COMPAT_LIBS@
View file
LiVES-2.8.4.tar.bz2/lives-plugins/themes/camera/Makefile.in -> LiVES-2.8.6.tar.bz2/lives-plugins/themes/camera/Makefile.in
Changed
@@ -215,8 +215,6 @@ GENCAT = @GENCAT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GLEE_CFLAGS = @GLEE_CFLAGS@ -GLEE_LIBS = @GLEE_LIBS@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -353,6 +351,8 @@ VERSION = @VERSION@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ +WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ +WAYLAND_LIBS = @WAYLAND_LIBS@ WEED_CFLAGS = @WEED_CFLAGS@ WEED_COMPAT_CFLAGS = @WEED_COMPAT_CFLAGS@ WEED_COMPAT_LIBS = @WEED_COMPAT_LIBS@
View file
LiVES-2.8.4.tar.bz2/lives-plugins/themes/crayons-bright/Makefile.in -> LiVES-2.8.6.tar.bz2/lives-plugins/themes/crayons-bright/Makefile.in
Changed
@@ -215,8 +215,6 @@ GENCAT = @GENCAT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GLEE_CFLAGS = @GLEE_CFLAGS@ -GLEE_LIBS = @GLEE_LIBS@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -353,6 +351,8 @@ VERSION = @VERSION@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ +WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ +WAYLAND_LIBS = @WAYLAND_LIBS@ WEED_CFLAGS = @WEED_CFLAGS@ WEED_COMPAT_CFLAGS = @WEED_COMPAT_CFLAGS@ WEED_COMPAT_LIBS = @WEED_COMPAT_LIBS@
View file
LiVES-2.8.4.tar.bz2/lives-plugins/themes/crayons/Makefile.in -> LiVES-2.8.6.tar.bz2/lives-plugins/themes/crayons/Makefile.in
Changed
@@ -215,8 +215,6 @@ GENCAT = @GENCAT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GLEE_CFLAGS = @GLEE_CFLAGS@ -GLEE_LIBS = @GLEE_LIBS@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -353,6 +351,8 @@ VERSION = @VERSION@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ +WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ +WAYLAND_LIBS = @WAYLAND_LIBS@ WEED_CFLAGS = @WEED_CFLAGS@ WEED_COMPAT_CFLAGS = @WEED_COMPAT_CFLAGS@ WEED_COMPAT_LIBS = @WEED_COMPAT_LIBS@
View file
LiVES-2.8.4.tar.bz2/lives-plugins/themes/cutting_room/Makefile.in -> LiVES-2.8.6.tar.bz2/lives-plugins/themes/cutting_room/Makefile.in
Changed
@@ -215,8 +215,6 @@ GENCAT = @GENCAT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GLEE_CFLAGS = @GLEE_CFLAGS@ -GLEE_LIBS = @GLEE_LIBS@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -353,6 +351,8 @@ VERSION = @VERSION@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ +WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ +WAYLAND_LIBS = @WAYLAND_LIBS@ WEED_CFLAGS = @WEED_CFLAGS@ WEED_COMPAT_CFLAGS = @WEED_COMPAT_CFLAGS@ WEED_COMPAT_LIBS = @WEED_COMPAT_LIBS@
View file
LiVES-2.8.4.tar.bz2/lives-plugins/themes/editor/Makefile.in -> LiVES-2.8.6.tar.bz2/lives-plugins/themes/editor/Makefile.in
Changed
@@ -215,8 +215,6 @@ GENCAT = @GENCAT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GLEE_CFLAGS = @GLEE_CFLAGS@ -GLEE_LIBS = @GLEE_LIBS@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -353,6 +351,8 @@ VERSION = @VERSION@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ +WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ +WAYLAND_LIBS = @WAYLAND_LIBS@ WEED_CFLAGS = @WEED_CFLAGS@ WEED_COMPAT_CFLAGS = @WEED_COMPAT_CFLAGS@ WEED_COMPAT_LIBS = @WEED_COMPAT_LIBS@
View file
LiVES-2.8.4.tar.bz2/lives-plugins/themes/pinks/Makefile.in -> LiVES-2.8.6.tar.bz2/lives-plugins/themes/pinks/Makefile.in
Changed
@@ -215,8 +215,6 @@ GENCAT = @GENCAT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GLEE_CFLAGS = @GLEE_CFLAGS@ -GLEE_LIBS = @GLEE_LIBS@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -353,6 +351,8 @@ VERSION = @VERSION@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ +WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ +WAYLAND_LIBS = @WAYLAND_LIBS@ WEED_CFLAGS = @WEED_CFLAGS@ WEED_COMPAT_CFLAGS = @WEED_COMPAT_CFLAGS@ WEED_COMPAT_LIBS = @WEED_COMPAT_LIBS@
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/Makefile.in -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/Makefile.in
Changed
@@ -590,8 +590,6 @@ GENCAT = @GENCAT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GLEE_CFLAGS = @GLEE_CFLAGS@ -GLEE_LIBS = @GLEE_LIBS@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -728,6 +726,8 @@ VERSION = @VERSION@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ +WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ +WAYLAND_LIBS = @WAYLAND_LIBS@ WEED_CFLAGS = @WEED_CFLAGS@ WEED_COMPAT_CFLAGS = @WEED_COMPAT_CFLAGS@ WEED_COMPAT_LIBS = @WEED_COMPAT_LIBS@
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/RGBdelay.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/RGBdelay.c
Changed
@@ -20,10 +20,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -48,43 +48,43 @@ int RGBd_init(weed_plant_t *inst) { int error; - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error),*gui,*ptmpl; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error); - int width=weed_get_int_value(in_channel,"width",&error); - int height=weed_get_int_value(in_channel,"height",&error); - int ncache=weed_get_int_value(in_params[0],"value",&error); + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error), *gui, *ptmpl; + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error); + int width = weed_get_int_value(in_channel, "width", &error); + int height = weed_get_int_value(in_channel, "height", &error); + int ncache = weed_get_int_value(in_params[0], "value", &error); register int i; - _sdata *sdata=(_sdata *)weed_malloc(sizeof(_sdata)); + _sdata *sdata = (_sdata *)weed_malloc(sizeof(_sdata)); - if (sdata==NULL) return WEED_ERROR_MEMORY_ALLOCATION; + if (sdata == NULL) return WEED_ERROR_MEMORY_ALLOCATION; ncache++; // add 1 for current frame - sdata->is_bgr=weed_malloc(ncache*sizeof(int)); + sdata->is_bgr = weed_malloc(ncache * sizeof(int)); - if (sdata->is_bgr==NULL) { + if (sdata->is_bgr == NULL) { weed_free(sdata); return WEED_ERROR_MEMORY_ALLOCATION; } - for (i=0; i<ncache; i++) { - sdata->is_bgr[i]=0; + for (i = 0; i < ncache; i++) { + sdata->is_bgr[i] = 0; } // create frame cache - sdata->cache=(unsigned char **)weed_malloc(ncache*sizeof(unsigned char *)); - if (sdata->cache==NULL) { + sdata->cache = (unsigned char **)weed_malloc(ncache * sizeof(unsigned char *)); + if (sdata->cache == NULL) { weed_free(sdata->is_bgr); weed_free(sdata); return WEED_ERROR_MEMORY_ALLOCATION; } - for (i=0; i<ncache; i++) { - sdata->cache[i]=weed_malloc(width*height*3); - if (sdata->cache[i]==NULL) { - for (--i; i>=0; i--) weed_free(sdata->cache[i]); + for (i = 0; i < ncache; i++) { + sdata->cache[i] = weed_malloc(width * height * 3); + if (sdata->cache[i] == NULL) { + for (--i; i >= 0; i--) weed_free(sdata->cache[i]); weed_free(sdata->cache); weed_free(sdata->is_bgr); weed_free(sdata); @@ -93,20 +93,20 @@ } - sdata->ccache=0; - sdata->tcache=ncache; + sdata->ccache = 0; + sdata->tcache = ncache; - ncache*=4; + ncache *= 4; - for (i=0; i<205; i++) { - ptmpl=weed_get_plantptr_value(in_params[i],"template",&error); - gui=weed_parameter_template_get_gui(ptmpl); - weed_set_boolean_value(gui,"hidden",i>ncache?WEED_TRUE:WEED_FALSE); + for (i = 0; i < 205; i++) { + ptmpl = weed_get_plantptr_value(in_params[i], "template", &error); + gui = weed_parameter_template_get_gui(ptmpl); + weed_set_boolean_value(gui, "hidden", i > ncache ? WEED_TRUE : WEED_FALSE); } weed_free(in_params); - weed_set_voidptr_value(inst,"plugin_internal",sdata); + weed_set_voidptr_value(inst, "plugin_internal", sdata); return WEED_NO_ERROR; } @@ -115,159 +115,160 @@ int RGBd_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error),*out_channel=weed_get_plantptr_value(inst,"out_channels", - &error); - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); - unsigned char *src=weed_get_voidptr_value(in_channel,"pixel_data",&error),*osrc; - unsigned char *dst=weed_get_voidptr_value(out_channel,"pixel_data",&error),*odst; - int width=weed_get_int_value(in_channel,"width",&error)*3; - int height=weed_get_int_value(in_channel,"height",&error); - int palette=weed_get_int_value(in_channel,"current_palette",&error); - int irowstride=weed_get_int_value(in_channel,"rowstrides",&error); - int orowstride=weed_get_int_value(out_channel,"rowstrides",&error); - unsigned char *end=src+height*irowstride; - _sdata *sdata=(_sdata *)weed_get_voidptr_value(inst,"plugin_internal",&error); - register int i,j; - void *tmptr=NULL; - double tstra=0.,tstrb=0.,tstrc=0.,cstr,cstra,cstrb,cstrc; - int a=1,b=2,c=3,crossed; - size_t x=0; - int inplace=(src==dst); - int b1,b2,b3; - - for (i=sdata->ccache; i>0; i--) { - if (i==sdata->tcache) continue; - - if (i==sdata->tcache-1||i==sdata->ccache) { - tmptr=sdata->cache[0]; - sdata->cache[0]=sdata->cache[i]; // recycle last frame + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error), *out_channel = weed_get_plantptr_value(inst, + "out_channels", + &error); + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); + unsigned char *src = weed_get_voidptr_value(in_channel, "pixel_data", &error), *osrc; + unsigned char *dst = weed_get_voidptr_value(out_channel, "pixel_data", &error), *odst; + int width = weed_get_int_value(in_channel, "width", &error) * 3; + int height = weed_get_int_value(in_channel, "height", &error); + int palette = weed_get_int_value(in_channel, "current_palette", &error); + int irowstride = weed_get_int_value(in_channel, "rowstrides", &error); + int orowstride = weed_get_int_value(out_channel, "rowstrides", &error); + unsigned char *end = src + height * irowstride; + _sdata *sdata = (_sdata *)weed_get_voidptr_value(inst, "plugin_internal", &error); + register int i, j; + void *tmptr = NULL; + double tstra = 0., tstrb = 0., tstrc = 0., cstr, cstra, cstrb, cstrc; + int a = 1, b = 2, c = 3, crossed; + size_t x = 0; + int inplace = (src == dst); + int b1, b2, b3; + + for (i = sdata->ccache; i > 0; i--) { + if (i == sdata->tcache) continue; + + if (i == sdata->tcache - 1 || i == sdata->ccache) { + tmptr = sdata->cache[0]; + sdata->cache[0] = sdata->cache[i]; // recycle last frame } - sdata->cache[i]=sdata->cache[i-1]; - sdata->is_bgr[i]=sdata->is_bgr[i-1]; + sdata->cache[i] = sdata->cache[i - 1]; + sdata->is_bgr[i] = sdata->is_bgr[i - 1]; // normalise the blend strength for each colour channel - if (weed_get_boolean_value(in_params[i*4+1],"value",&error)==WEED_TRUE) { + if (weed_get_boolean_value(in_params[i * 4 + 1], "value", &error) == WEED_TRUE) { if (sdata->is_bgr[i]) - tstrc+=weed_get_double_value(in_params[(i+1)*4],"value",&error); - else tstra+=weed_get_double_value(in_params[(i+1)*4],"value",&error); + tstrc += weed_get_double_value(in_params[(i + 1) * 4], "value", &error); + else tstra += weed_get_double_value(in_params[(i + 1) * 4], "value", &error); } - if (weed_get_boolean_value(in_params[i*4+2],"value",&error)==WEED_TRUE) - tstrb+=weed_get_double_value(in_params[(i+1)*4],"value",&error); + if (weed_get_boolean_value(in_params[i * 4 + 2], "value", &error) == WEED_TRUE) + tstrb += weed_get_double_value(in_params[(i + 1) * 4], "value", &error); - if (weed_get_boolean_value(in_params[i*4+3],"value",&error)==WEED_TRUE) { + if (weed_get_boolean_value(in_params[i * 4 + 3], "value", &error) == WEED_TRUE) { if (sdata->is_bgr[i]) - tstra+=weed_get_double_value(in_params[(i+1)*4],"value",&error); - else tstrc+=weed_get_double_value(in_params[(i+1)*4],"value",&error); + tstra += weed_get_double_value(in_params[(i + 1) * 4], "value", &error); + else tstrc += weed_get_double_value(in_params[(i + 1) * 4], "value", &error); } } - if (tmptr!=NULL) sdata->cache[1]=tmptr; // value of cache[0] got squished + if (tmptr != NULL) sdata->cache[1] = tmptr; // value of cache[0] got squished - if (palette==WEED_PALETTE_BGR24) { + if (palette == WEED_PALETTE_BGR24) { // red/blue values swapped - sdata->is_bgr[0]=1; - a=3; - c=1; - } else sdata->is_bgr[0]=0; + sdata->is_bgr[0] = 1; + a = 3; + c = 1; + } else sdata->is_bgr[0] = 0; - sdata->ccache+=(sdata->ccache < sdata->tcache); + sdata->ccache += (sdata->ccache < sdata->tcache); - osrc=src; - odst=dst; + osrc = src; + odst = dst; - a=1; - b=2; - c=3; + a = 1; + b = 2; + c = 3; - if (palette==WEED_PALETTE_BGR24) { - a=3; - c=1; + if (palette == WEED_PALETTE_BGR24) { + a = 3; + c = 1; } - b1=weed_get_boolean_value(in_params[a],"value",&error); - b2=weed_get_boolean_value(in_params[b],"value",&error); - b3=weed_get_boolean_value(in_params[c],"value",&error); + b1 = weed_get_boolean_value(in_params[a], "value", &error); + b2 = weed_get_boolean_value(in_params[b], "value", &error); + b3 = weed_get_boolean_value(in_params[c], "value", &error); - if (b1==WEED_TRUE||b2==WEED_TRUE||b3==WEED_TRUE||inplace) { + if (b1 == WEED_TRUE || b2 == WEED_TRUE || b3 == WEED_TRUE || inplace) { - if (b1==WEED_TRUE) - tstra+=weed_get_double_value(in_params[4],"value",&error); - if (b2==WEED_TRUE) - tstrb+=weed_get_double_value(in_params[4],"value",&error); - if (b3==WEED_TRUE) - tstrc+=weed_get_double_value(in_params[4],"value",&error); + if (b1 == WEED_TRUE) + tstra += weed_get_double_value(in_params[4], "value", &error); + if (b2 == WEED_TRUE) + tstrb += weed_get_double_value(in_params[4], "value", &error); + if (b3 == WEED_TRUE) + tstrc += weed_get_double_value(in_params[4], "value", &error); - cstr=weed_get_double_value(in_params[4],"value",&error); - cstra=cstr/tstra; - cstrb=cstr/tstrb; - cstrc=cstr/tstrc; + cstr = weed_get_double_value(in_params[4], "value", &error); + cstra = cstr / tstra; + cstrb = cstr / tstrb; + cstrc = cstr / tstrc; - for (; src<end; src+=irowstride) { + for (; src < end; src += irowstride) { - weed_memcpy(sdata->cache[0]+x,src,width); + weed_memcpy(sdata->cache[0] + x, src, width); - for (i=0; i<width; i+=3) { - if (b1==WEED_TRUE) dst[i]=((double)src[i]*cstra+.5); - else if (inplace) dst[i]=0; - if (b2==WEED_TRUE) dst[i+1]=((double)src[i+1]*cstrb+.5); - else if (inplace) dst[i+1]=0; - if (b3==WEED_TRUE) dst[i+2]=((double)src[i+2]*cstrc+.5); - else if (inplace) dst[i+2]=0; + for (i = 0; i < width; i += 3) { + if (b1 == WEED_TRUE) dst[i] = ((double)src[i] * cstra + .5); + else if (inplace) dst[i] = 0; + if (b2 == WEED_TRUE) dst[i + 1] = ((double)src[i + 1] * cstrb + .5); + else if (inplace) dst[i + 1] = 0; + if (b3 == WEED_TRUE) dst[i + 2] = ((double)src[i + 2] * cstrc + .5); + else if (inplace) dst[i + 2] = 0; } - x+=width; - dst+=orowstride; + x += width; + dst += orowstride; } - src=osrc; - dst=odst; - x=0; + src = osrc; + dst = odst; + x = 0; } - for (j=1; j<sdata->ccache; j++) { + for (j = 1; j < sdata->ccache; j++) { // maybe overlay something from j frames ago - a+=4; - b+=4; - c+=4; + a += 4; + b += 4; + c += 4; - b1=weed_get_boolean_value(in_params[a],"value",&error); - b2=weed_get_boolean_value(in_params[b],"value",&error); - b3=weed_get_boolean_value(in_params[c],"value",&error); + b1 = weed_get_boolean_value(in_params[a], "value", &error); + b2 = weed_get_boolean_value(in_params[b], "value", &error); + b3 = weed_get_boolean_value(in_params[c], "value", &error); - if (b1==WEED_FALSE&&b2==WEED_FALSE&&b3==WEED_FALSE) + if (b1 == WEED_FALSE && b2 == WEED_FALSE && b3 == WEED_FALSE) continue; - if ((palette==WEED_PALETTE_RGB24&&sdata->is_bgr[j])||(palette==WEED_PALETTE_BGR24&&!sdata->is_bgr[j])) - crossed=1; - else crossed=0; + if ((palette == WEED_PALETTE_RGB24 && sdata->is_bgr[j]) || (palette == WEED_PALETTE_BGR24 && !sdata->is_bgr[j])) + crossed = 1; + else crossed = 0; - cstr=weed_get_double_value(in_params[(j+1)*4],"value",&error); - cstrb=cstr/tstrb; + cstr = weed_get_double_value(in_params[(j + 1) * 4], "value", &error); + cstrb = cstr / tstrb; if (!sdata->is_bgr[j]) { - cstra=cstr/tstra; - cstrc=cstr/tstrc; + cstra = cstr / tstra; + cstrc = cstr / tstrc; } else { - cstrc=cstr/tstra; - cstra=cstr/tstrc; + cstrc = cstr / tstra; + cstra = cstr / tstrc; } - for (; src<end; src+=irowstride) { - for (i=0; i<width; i+=3) { - if (b1==WEED_TRUE) dst[i]+=((double)sdata->cache[j][x+(crossed?(i+2):i)]*cstra+.5); - if (b2==WEED_TRUE) dst[i+1]+=((double)sdata->cache[j][x+i+1]*cstrb+.5); - if (b3==WEED_TRUE) dst[i+2]+=((double)sdata->cache[j][x+(crossed?i:(i+2))]*cstrc+.5); + for (; src < end; src += irowstride) { + for (i = 0; i < width; i += 3) { + if (b1 == WEED_TRUE) dst[i] += ((double)sdata->cache[j][x + (crossed ? (i + 2) : i)] * cstra + .5); + if (b2 == WEED_TRUE) dst[i + 1] += ((double)sdata->cache[j][x + i + 1] * cstrb + .5); + if (b3 == WEED_TRUE) dst[i + 2] += ((double)sdata->cache[j][x + (crossed ? i : (i + 2))] * cstrc + .5); } - x+=width; - dst+=orowstride; + x += width; + dst += orowstride; } - src=osrc; - dst=odst; - x=0; + src = osrc; + dst = odst; + x = 0; } return WEED_NO_ERROR; @@ -275,16 +276,16 @@ int RGBd_deinit(weed_plant_t *inst) { - int error,i; - _sdata *sdata=(_sdata *)weed_get_voidptr_value(inst,"plugin_internal",&error); + int error, i; + _sdata *sdata = (_sdata *)weed_get_voidptr_value(inst, "plugin_internal", &error); - if (sdata!=NULL) { - if (sdata->cache!=NULL) { - for (i=0; i<sdata->tcache; i++) weed_free(sdata->cache[i]); + if (sdata != NULL) { + if (sdata->cache != NULL) { + for (i = 0; i < sdata->tcache; i++) weed_free(sdata->cache[i]); weed_free(sdata->cache); } - if (sdata->is_bgr!=NULL) weed_free(sdata->is_bgr); + if (sdata->is_bgr != NULL) weed_free(sdata->is_bgr); weed_free(sdata); } @@ -293,85 +294,86 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); weed_plant_t **clone; - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_BGR24,WEED_PALETTE_RGB24,WEED_PALETTE_END}; - int palette_list2[]= {WEED_PALETTE_YUV888,WEED_PALETTE_END}; + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_BGR24, WEED_PALETTE_RGB24, WEED_PALETTE_END}; + int palette_list2[] = {WEED_PALETTE_YUV888, WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",WEED_CHANNEL_REINIT_ON_SIZE_CHANGE,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",WEED_CHANNEL_CAN_DO_INPLACE,palette_list),NULL}; - weed_plant_t *in_chantmpls2[]= {weed_channel_template_init("in channel 0",WEED_CHANNEL_REINIT_ON_SIZE_CHANGE,palette_list2),NULL}; - weed_plant_t *out_chantmpls2[]= {weed_channel_template_init("out channel 0",WEED_CHANNEL_CAN_DO_INPLACE,palette_list2),NULL}; - weed_plant_t *filter_class,*gui; + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", WEED_CHANNEL_REINIT_ON_SIZE_CHANGE, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", WEED_CHANNEL_CAN_DO_INPLACE, palette_list), NULL}; + weed_plant_t *in_chantmpls2[] = {weed_channel_template_init("in channel 0", WEED_CHANNEL_REINIT_ON_SIZE_CHANGE, palette_list2), NULL}; + weed_plant_t *out_chantmpls2[] = {weed_channel_template_init("out channel 0", WEED_CHANNEL_CAN_DO_INPLACE, palette_list2), NULL}; + weed_plant_t *filter_class, *gui; weed_plant_t *in_params[206]; char *rfx_strings[54]; char label[256]; - int i,j; + int i, j; - in_params[0]=weed_integer_init("fcsize","Frame _Cache Size",20,0,50); - weed_set_int_value(in_params[0],"flags",WEED_PARAMETER_REINIT_ON_VALUE_CHANGE); + in_params[0] = weed_integer_init("fcsize", "Frame _Cache Size", 20, 0, 50); + weed_set_int_value(in_params[0], "flags", WEED_PARAMETER_REINIT_ON_VALUE_CHANGE); - for (i=1; i<205; i+=4) { - for (j=0; j<3; j++) { - if (j==2) snprintf(label,256," Frame -%-2d ",(i-1)/4); - else weed_memset(label,0,1); - in_params[i+j]=weed_switch_init("",label,(i+j==1||i+j==18||i+j==35)?WEED_TRUE:WEED_FALSE); + for (i = 1; i < 205; i += 4) { + for (j = 0; j < 3; j++) { + if (j == 2) snprintf(label, 256, " Frame -%-2d ", (i - 1) / 4); + else weed_memset(label, 0, 1); + in_params[i + j] = weed_switch_init("", label, (i + j == 1 || i + j == 18 || i + j == 35) ? WEED_TRUE : WEED_FALSE); } - in_params[i+j]=weed_float_init("","",1.,0.,1.); - - if (i>=80) { - gui=weed_parameter_template_get_gui(in_params[i]); - weed_set_boolean_value(gui,"hidden",WEED_TRUE); - gui=weed_parameter_template_get_gui(in_params[i+1]); - weed_set_boolean_value(gui,"hidden",WEED_TRUE); - gui=weed_parameter_template_get_gui(in_params[i+2]); - weed_set_boolean_value(gui,"hidden",WEED_TRUE); - gui=weed_parameter_template_get_gui(in_params[i+3]); - weed_set_boolean_value(gui,"hidden",WEED_TRUE); + in_params[i + j] = weed_float_init("", "", 1., 0., 1.); + + if (i >= 80) { + gui = weed_parameter_template_get_gui(in_params[i]); + weed_set_boolean_value(gui, "hidden", WEED_TRUE); + gui = weed_parameter_template_get_gui(in_params[i + 1]); + weed_set_boolean_value(gui, "hidden", WEED_TRUE); + gui = weed_parameter_template_get_gui(in_params[i + 2]); + weed_set_boolean_value(gui, "hidden", WEED_TRUE); + gui = weed_parameter_template_get_gui(in_params[i + 3]); + weed_set_boolean_value(gui, "hidden", WEED_TRUE); } } - in_params[205]=NULL; + in_params[205] = NULL; - filter_class=weed_filter_class_init("RGBdelay","salsaman",1,0,&RGBd_init,&RGBd_process,&RGBd_deinit,in_chantmpls,out_chantmpls,in_params, - NULL); + filter_class = weed_filter_class_init("RGBdelay", "salsaman", 1, 0, &RGBd_init, &RGBd_process, &RGBd_deinit, in_chantmpls, out_chantmpls, + in_params, + NULL); - gui=weed_filter_class_get_gui(filter_class); - rfx_strings[0]="layout|p0"; - rfx_strings[1]="layout|hseparator|"; - rfx_strings[2]="layout|\" R\"|\" G \"|\" B \"|fill|\"Blend Strength\"|fill|"; + gui = weed_filter_class_get_gui(filter_class); + rfx_strings[0] = "layout|p0"; + rfx_strings[1] = "layout|hseparator|"; + rfx_strings[2] = "layout|\" R\"|\" G \"|\" B \"|fill|\"Blend Strength\"|fill|"; - for (i=3; i<54; i++) { - rfx_strings[i]=weed_malloc(1024); - snprintf(rfx_strings[i],1024,"layout|p%d|p%d|p%d|p%d|",(i-3)*4+1,(i-3)*4+2,(i-3)*4+3,(i-2)*4); + for (i = 3; i < 54; i++) { + rfx_strings[i] = weed_malloc(1024); + snprintf(rfx_strings[i], 1024, "layout|p%d|p%d|p%d|p%d|", (i - 3) * 4 + 1, (i - 3) * 4 + 2, (i - 3) * 4 + 3, (i - 2) * 4); } - weed_set_string_value(gui,"layout_scheme","RFX"); - weed_set_string_value(gui,"rfx_delim","|"); - weed_set_string_array(gui,"rfx_strings",54,rfx_strings); + weed_set_string_value(gui, "layout_scheme", "RFX"); + weed_set_string_value(gui, "rfx_delim", "|"); + weed_set_string_array(gui, "rfx_strings", 54, rfx_strings); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - rfx_strings[2]="layout|\" Y\"|\" U \"|\" V \"|fill|\"Blend Strength\"|fill|"; + rfx_strings[2] = "layout|\" Y\"|\" U \"|\" V \"|fill|\"Blend Strength\"|fill|"; - filter_class=weed_filter_class_init("YUVdelay","salsaman",1,0,&RGBd_init,&RGBd_process,&RGBd_deinit,in_chantmpls2,out_chantmpls2, - (clone=weed_clone_plants(in_params)),NULL); + filter_class = weed_filter_class_init("YUVdelay", "salsaman", 1, 0, &RGBd_init, &RGBd_process, &RGBd_deinit, in_chantmpls2, out_chantmpls2, + (clone = weed_clone_plants(in_params)), NULL); weed_free(clone); - gui=weed_filter_class_get_gui(filter_class); - weed_set_string_value(gui,"layout_scheme","RFX"); - weed_set_string_value(gui,"rfx_delim","|"); - weed_set_string_array(gui,"rfx_strings",54,rfx_strings); + gui = weed_filter_class_get_gui(filter_class); + weed_set_string_value(gui, "layout_scheme", "RFX"); + weed_set_string_value(gui, "rfx_delim", "|"); + weed_set_string_array(gui, "rfx_strings", 54, rfx_strings); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - for (i=3; i<54; i++) weed_free(rfx_strings[i]); + for (i = 3; i < 54; i++) weed_free(rfx_strings[i]); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/alien_overlay.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/alien_overlay.c
Changed
@@ -18,10 +18,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -46,31 +46,31 @@ int alien_over_init(weed_plant_t *inst) { int error; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error); + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error); - int height=weed_get_int_value(in_channel,"height",&error); - int width=weed_get_int_value(in_channel,"width",&error)*3; + int height = weed_get_int_value(in_channel, "height", &error); + int width = weed_get_int_value(in_channel, "width", &error) * 3; - static_data *sdata=(static_data *)weed_malloc(sizeof(static_data)); + static_data *sdata = (static_data *)weed_malloc(sizeof(static_data)); - if (sdata==NULL) return WEED_ERROR_MEMORY_ALLOCATION; + if (sdata == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - sdata->old_pixel_data=(unsigned char *)weed_malloc(height*width); - if (sdata->old_pixel_data==NULL) { + sdata->old_pixel_data = (unsigned char *)weed_malloc(height * width); + if (sdata->old_pixel_data == NULL) { weed_free(sdata); return WEED_ERROR_MEMORY_ALLOCATION; } - sdata->inited=(uint8_t *)weed_malloc(height); - if (sdata->inited==NULL) { + sdata->inited = (uint8_t *)weed_malloc(height); + if (sdata->inited == NULL) { weed_free(sdata); weed_free(sdata->old_pixel_data); return WEED_ERROR_MEMORY_ALLOCATION; } - weed_memset(sdata->inited,0,height); + weed_memset(sdata->inited, 0, height); - weed_set_voidptr_value(inst,"plugin_internal",sdata); + weed_set_voidptr_value(inst, "plugin_internal", sdata); return WEED_NO_ERROR; } @@ -78,12 +78,12 @@ int alien_over_deinit(weed_plant_t *inst) { int error; - static_data *sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); - if (sdata!=NULL) { + static_data *sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); + if (sdata != NULL) { weed_free(sdata->inited); weed_free(sdata->old_pixel_data); weed_free(sdata); - weed_set_voidptr_value(inst,"plugin_internal",NULL); + weed_set_voidptr_value(inst, "plugin_internal", NULL); } return WEED_NO_ERROR; @@ -92,54 +92,55 @@ int alien_over_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error),*out_channel=weed_get_plantptr_value(inst,"out_channels", - &error); - unsigned char *src=weed_get_voidptr_value(in_channel,"pixel_data",&error); - unsigned char *dst=weed_get_voidptr_value(out_channel,"pixel_data",&error); - int width=weed_get_int_value(in_channel,"width",&error)*3; - int height=weed_get_int_value(in_channel,"height",&error); - int irowstride=weed_get_int_value(in_channel,"rowstrides",&error); - int orowstride=weed_get_int_value(out_channel,"rowstrides",&error); - int inplace=(src==dst); + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error), *out_channel = weed_get_plantptr_value(inst, + "out_channels", + &error); + unsigned char *src = weed_get_voidptr_value(in_channel, "pixel_data", &error); + unsigned char *dst = weed_get_voidptr_value(out_channel, "pixel_data", &error); + int width = weed_get_int_value(in_channel, "width", &error) * 3; + int height = weed_get_int_value(in_channel, "height", &error); + int irowstride = weed_get_int_value(in_channel, "rowstrides", &error); + int orowstride = weed_get_int_value(out_channel, "rowstrides", &error); + int inplace = (src == dst); unsigned char val; unsigned char *old_pixel_data; - unsigned char *end=src+height*irowstride; + unsigned char *end = src + height * irowstride; static_data *sdata; - register int j,i=0; + register int j, i = 0; - sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); - old_pixel_data=sdata->old_pixel_data; + sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); + old_pixel_data = sdata->old_pixel_data; // new threading arch - if (weed_plant_has_leaf(out_channel,"offset")) { - int offset=weed_get_int_value(out_channel,"offset",&error); - int dheight=weed_get_int_value(out_channel,"height",&error); - - src+=offset*irowstride; - dst+=offset*orowstride; - end=src+dheight*irowstride; - old_pixel_data+=width*offset; - i=offset; + if (weed_plant_has_leaf(out_channel, "offset")) { + int offset = weed_get_int_value(out_channel, "offset", &error); + int dheight = weed_get_int_value(out_channel, "height", &error); + + src += offset * irowstride; + dst += offset * orowstride; + end = src + dheight * irowstride; + old_pixel_data += width * offset; + i = offset; } - for (; src<end; src+=irowstride) { - for (j=0; j<width; j++) { + for (; src < end; src += irowstride) { + for (j = 0; j < width; j++) { if (sdata->inited[i]) { if (!inplace) { - dst[j]=((char)(old_pixel_data[j])+(char)(src[j]))>>1; - old_pixel_data[j]=src[j]; + dst[j] = ((char)(old_pixel_data[j]) + (char)(src[j])) >> 1; + old_pixel_data[j] = src[j]; } else { - val=((char)(old_pixel_data[j])+(char)(src[j]))>>1; - old_pixel_data[j]=src[j]; - dst[j]=val; + val = ((char)(old_pixel_data[j]) + (char)(src[j])) >> 1; + old_pixel_data[j] = src[j]; + dst[j] = val; } - } else old_pixel_data[j]=dst[j]=src[j]; + } else old_pixel_data[j] = dst[j] = src[j]; } - sdata->inited[i++]=1; - dst+=orowstride; - old_pixel_data+=width; + sdata->inited[i++] = 1; + dst += orowstride; + old_pixel_data += width; } return WEED_NO_ERROR; @@ -147,19 +148,19 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_BGR24,WEED_PALETTE_RGB24,WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",WEED_CHANNEL_REINIT_ON_SIZE_CHANGE,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",WEED_CHANNEL_CAN_DO_INPLACE,palette_list),NULL}; + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_BGR24, WEED_PALETTE_RGB24, WEED_PALETTE_END}; + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", WEED_CHANNEL_REINIT_ON_SIZE_CHANGE, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", WEED_CHANNEL_CAN_DO_INPLACE, palette_list), NULL}; - weed_plant_t *filter_class=weed_filter_class_init("alien overlay","salsaman",1,WEED_FILTER_HINT_MAY_THREAD,&alien_over_init, - &alien_over_process,&alien_over_deinit,in_chantmpls,out_chantmpls,NULL,NULL); + weed_plant_t *filter_class = weed_filter_class_init("alien overlay", "salsaman", 1, WEED_FILTER_HINT_MAY_THREAD, &alien_over_init, + &alien_over_process, &alien_over_deinit, in_chantmpls, out_chantmpls, NULL, NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info;
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/alpha_means.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/alpha_means.c
Changed
@@ -25,10 +25,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=1; // number of different weed api versions supported -static int api_versions[]= {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 1; // number of different weed api versions supported +static int api_versions[] = {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -47,89 +47,89 @@ int alpham_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error); - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); - weed_plant_t *out_param=weed_get_plantptr_value(inst,"out_parameters",&error); + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error); + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); + weed_plant_t *out_param = weed_get_plantptr_value(inst, "out_parameters", &error); - float *alpha=(float *)weed_get_voidptr_value(in_channel,"pixel_data",&error); + float *alpha = (float *)weed_get_voidptr_value(in_channel, "pixel_data", &error); - int width=weed_get_int_value(in_channel,"width",&error); - int height=weed_get_int_value(in_channel,"height",&error); + int width = weed_get_int_value(in_channel, "width", &error); + int height = weed_get_int_value(in_channel, "height", &error); - int irow=weed_get_int_value(in_channel,"rowstrides",&error)-width*sizeof(float); + int irow = weed_get_int_value(in_channel, "rowstrides", &error) - width * sizeof(float); - int n=weed_get_int_value(in_params[0],"value",&error); - int m=weed_get_int_value(in_params[1],"value",&error); - int xdiv=weed_get_boolean_value(in_params[2],"value",&error); - int ydiv=weed_get_boolean_value(in_params[3],"value",&error); - int abs=weed_get_boolean_value(in_params[4],"value",&error); - double scale=weed_get_double_value(in_params[5],"value",&error); + int n = weed_get_int_value(in_params[0], "value", &error); + int m = weed_get_int_value(in_params[1], "value", &error); + int xdiv = weed_get_boolean_value(in_params[2], "value", &error); + int ydiv = weed_get_boolean_value(in_params[3], "value", &error); + int abs = weed_get_boolean_value(in_params[4], "value", &error); + double scale = weed_get_double_value(in_params[5], "value", &error); - int idx=0,nidx; + int idx = 0, nidx; - float nf=(float)width/(float)n; // x pixels per quad - float mf=(float)height/(float)m; // y pixels per quad - float nm=(float)(nf*mf); // pixels per quad + float nf = (float)width / (float)n; // x pixels per quad + float mf = (float)height / (float)m; // y pixels per quad + float nm = (float)(nf * mf); // pixels per quad double *vals; - register int i,j,x; + register int i, j, x; weed_free(in_params); - vals=(double *)weed_malloc(n*m*sizeof(double)); + vals = (double *)weed_malloc(n * m * sizeof(double)); - if (vals==NULL) return WEED_ERROR_MEMORY_ALLOCATION; + if (vals == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - for (i=0; i<n*m; i++) vals[i]=0.; + for (i = 0; i < n * m; i++) vals[i] = 0.; - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - if (idx>n*m) continue; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + if (idx > n * m) continue; - vals[idx]+=(double)*alpha; + vals[idx] += (double) * alpha; // check val of idx for next j - if (j+1<width) { - nidx=(int)((float)(j+1.)/nf+.5); - if (nidx>idx+1) { + if (j + 1 < width) { + nidx = (int)((float)(j + 1.) / nf + .5); + if (nidx > idx + 1) { // too many vals, copy... - for (x=idx+1; x<nidx; x++) { - vals[x]=vals[idx]; + for (x = idx + 1; x < nidx; x++) { + vals[x] = vals[idx]; } } - idx=nidx; + idx = nidx; } alpha++; } - alpha+=irow; + alpha += irow; - nidx=(int)((float)(m*(i+1))/mf+.5); + nidx = (int)((float)(m * (i + 1)) / mf + .5); - if (nidx>idx+1) { - for (x=idx+1; x<nidx; x++) { - if (x<n*m) - vals[x]=vals[x-m]; + if (nidx > idx + 1) { + for (x = idx + 1; x < nidx; x++) { + if (x < n * m) + vals[x] = vals[x - m]; } } - idx=nidx; + idx = nidx; } - if (nm<1.) nm=1.; + if (nm < 1.) nm = 1.; - for (i=0; i<n*m; i++) { - vals[i]/=(double)nm; // get average val - if (xdiv) vals[i]/=(double)width; - if (ydiv) vals[i]/=(double)height; - if (abs&&vals[i]<0.) vals[i]=-vals[i]; - vals[i]*=scale; + for (i = 0; i < n * m; i++) { + vals[i] /= (double)nm; // get average val + if (xdiv) vals[i] /= (double)width; + if (ydiv) vals[i] /= (double)height; + if (abs && vals[i] < 0.) vals[i] = -vals[i]; + vals[i] *= scale; } - weed_set_double_array(out_param,"value",n*m,vals); + weed_set_double_array(out_param, "value", n * m, vals); weed_free(vals); @@ -140,32 +140,32 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { - int apalette_list[]= {WEED_PALETTE_AFLOAT,WEED_PALETTE_END}; + int apalette_list[] = {WEED_PALETTE_AFLOAT, WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("alpha float",0,apalette_list),NULL}; + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("alpha float", 0, apalette_list), NULL}; - weed_plant_t *in_params[]= {weed_integer_init("x divisions","_X divisions",1,1,256),weed_integer_init("y divisions","_Y divisions",1,1,256),weed_switch_init("xdiv","Divide by _width",WEED_FALSE),weed_switch_init("ydiv","Divide by _height",WEED_FALSE),weed_switch_init("abs","Return _absolute values",WEED_FALSE),weed_float_init("scale","_Scale by",1.0,0.1,1000000.),NULL}; + weed_plant_t *in_params[] = {weed_integer_init("x divisions", "_X divisions", 1, 1, 256), weed_integer_init("y divisions", "_Y divisions", 1, 1, 256), weed_switch_init("xdiv", "Divide by _width", WEED_FALSE), weed_switch_init("ydiv", "Divide by _height", WEED_FALSE), weed_switch_init("abs", "Return _absolute values", WEED_FALSE), weed_float_init("scale", "_Scale by", 1.0, 0.1, 1000000.), NULL}; - weed_plant_t *out_params[]= {weed_out_param_float_init_nominmax("mean values",0.),NULL}; + weed_plant_t *out_params[] = {weed_out_param_float_init_nominmax("mean values", 0.), NULL}; - weed_plant_t *filter_class=weed_filter_class_init("alpha_means","salsaman",1,0, - NULL,&alpham_process,NULL, - in_chantmpls,NULL, - in_params,out_params); + weed_plant_t *filter_class = weed_filter_class_init("alpha_means", "salsaman", 1, 0, + NULL, &alpham_process, NULL, + in_chantmpls, NULL, + in_params, out_params); - weed_set_string_value(filter_class,"description", + weed_set_string_value(filter_class, "description", "Calculate n X m mean values for (float) alpha channel\nvalues are output from left to right and top to bottom, eg. for 2 X 2 grid:\n\nval 1 | val 2\n------+------\nval 3 | val 4"); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); //number of output values depends on size of grid - weed_set_int_value(out_params[0],"flags",WEED_PARAMETER_VARIABLE_ELEMENTS); + weed_set_int_value(out_params[0], "flags", WEED_PARAMETER_VARIABLE_ELEMENTS); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/alpha_visualizer.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/alpha_visualizer.c
Changed
@@ -20,10 +20,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=1; // number of different weed api versions supported -static int api_versions[]= {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 1; // number of different weed api versions supported +static int api_versions[] = {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -41,10 +41,10 @@ ///////////////////////////////////////////////////////////// static int getbit(uint8_t val, int bit) { - int x=1; + int x = 1; register int i; - for (i=0; i<bit; i++) x*=2; - return val&x; + for (i = 0; i < bit; i++) x *= 2; + return val & x; } @@ -52,158 +52,158 @@ int alphav_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error); - weed_plant_t *out_channel=weed_get_plantptr_value(inst,"out_channels",&error); - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error); + weed_plant_t *out_channel = weed_get_plantptr_value(inst, "out_channels", &error); + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); float *alphaf; uint8_t *alphau; - uint8_t *dst=(uint8_t *)weed_get_voidptr_value(out_channel,"pixel_data",&error); + uint8_t *dst = (uint8_t *)weed_get_voidptr_value(out_channel, "pixel_data", &error); uint8_t valu; - int width=weed_get_int_value(in_channel,"width",&error); - int height=weed_get_int_value(in_channel,"height",&error); - int irow=weed_get_int_value(in_channel,"rowstrides",&error); - int orow=weed_get_int_value(out_channel,"rowstrides",&error); + int width = weed_get_int_value(in_channel, "width", &error); + int height = weed_get_int_value(in_channel, "height", &error); + int irow = weed_get_int_value(in_channel, "rowstrides", &error); + int orow = weed_get_int_value(out_channel, "rowstrides", &error); - int ipal=weed_get_int_value(in_channel,"current_palette",&error); - int opal=weed_get_int_value(out_channel,"current_palette",&error); + int ipal = weed_get_int_value(in_channel, "current_palette", &error); + int opal = weed_get_int_value(out_channel, "current_palette", &error); - int r=weed_get_boolean_value(in_params[0],"value",&error); - int g=weed_get_boolean_value(in_params[1],"value",&error); - int b=weed_get_boolean_value(in_params[2],"value",&error); + int r = weed_get_boolean_value(in_params[0], "value", &error); + int g = weed_get_boolean_value(in_params[1], "value", &error); + int b = weed_get_boolean_value(in_params[2], "value", &error); - int psize=4; + int psize = 4; - double fmin=weed_get_double_value(in_params[3],"value",&error); - double fmax=weed_get_double_value(in_params[4],"value",&error); + double fmin = weed_get_double_value(in_params[3], "value", &error); + double fmax = weed_get_double_value(in_params[4], "value", &error); - register int i,j,k; + register int i, j, k; weed_free(in_params); - if (opal==WEED_PALETTE_RGB24||opal==WEED_PALETTE_BGR24) psize=3; + if (opal == WEED_PALETTE_RGB24 || opal == WEED_PALETTE_BGR24) psize = 3; - orow=orow-width*psize; + orow = orow - width * psize; - if (ipal==WEED_PALETTE_AFLOAT) { - irow/=sizeof(float); - alphaf=(float *)weed_get_voidptr_value(in_channel,"pixel_data",&error); - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - if (fmax>fmin) { - valu=(int)((alphaf[j]-fmin/(fmax-fmin))*255.+.5); - valu=valu<0?0:valu>255?255:valu; - } else valu=0; + if (ipal == WEED_PALETTE_AFLOAT) { + irow /= sizeof(float); + alphaf = (float *)weed_get_voidptr_value(in_channel, "pixel_data", &error); + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + if (fmax > fmin) { + valu = (int)((alphaf[j] - fmin / (fmax - fmin)) * 255. + .5); + valu = valu < 0 ? 0 : valu > 255 ? 255 : valu; + } else valu = 0; switch (opal) { case WEED_PALETTE_RGBA32: - dst[3]=0xFF; + dst[3] = 0xFF; case WEED_PALETTE_RGB24: - dst[0]=(r==WEED_TRUE?valu:0); - dst[1]=(g==WEED_TRUE?valu:0); - dst[2]=(b==WEED_TRUE?valu:0); - dst+=psize; + dst[0] = (r == WEED_TRUE ? valu : 0); + dst[1] = (g == WEED_TRUE ? valu : 0); + dst[2] = (b == WEED_TRUE ? valu : 0); + dst += psize; break; case WEED_PALETTE_BGRA32: - dst[3]=0xFF; + dst[3] = 0xFF; case WEED_PALETTE_BGR24: - dst[0]=(b==WEED_TRUE?valu:0); - dst[1]=(g==WEED_TRUE?valu:0); - dst[2]=(r==WEED_TRUE?valu:0); - dst+=psize; + dst[0] = (b == WEED_TRUE ? valu : 0); + dst[1] = (g == WEED_TRUE ? valu : 0); + dst[2] = (r == WEED_TRUE ? valu : 0); + dst += psize; break; case WEED_PALETTE_ARGB32: - dst[0]=0xFF; - dst[1]=(r==WEED_TRUE?valu:0); - dst[2]=(g==WEED_TRUE?valu:0); - dst[3]=(b==WEED_TRUE?valu:0); - dst+=psize; + dst[0] = 0xFF; + dst[1] = (r == WEED_TRUE ? valu : 0); + dst[2] = (g == WEED_TRUE ? valu : 0); + dst[3] = (b == WEED_TRUE ? valu : 0); + dst += psize; break; default: break; } } - alphaf+=irow; - dst+=orow; + alphaf += irow; + dst += orow; } - } else if (ipal==WEED_PALETTE_A8) { - irow-=width; - alphau=(uint8_t *)weed_get_voidptr_value(in_channel,"pixel_data",&error); - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - valu=alphau[j]; + } else if (ipal == WEED_PALETTE_A8) { + irow -= width; + alphau = (uint8_t *)weed_get_voidptr_value(in_channel, "pixel_data", &error); + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + valu = alphau[j]; switch (opal) { case WEED_PALETTE_RGBA32: - dst[j+3]=0xFF; + dst[j + 3] = 0xFF; case WEED_PALETTE_RGB24: - dst[j]=(r==WEED_TRUE?valu:0); - dst[j+1]=(g==WEED_TRUE?valu:0); - dst[j+2]=(b==WEED_TRUE?valu:0); - dst+=psize; + dst[j] = (r == WEED_TRUE ? valu : 0); + dst[j + 1] = (g == WEED_TRUE ? valu : 0); + dst[j + 2] = (b == WEED_TRUE ? valu : 0); + dst += psize; break; case WEED_PALETTE_BGRA32: - dst[j+3]=0xFF; + dst[j + 3] = 0xFF; case WEED_PALETTE_BGR24: - dst[j]=(b==WEED_TRUE?valu:0); - dst[j+1]=(g==WEED_TRUE?valu:0); - dst[j+2]=(r==WEED_TRUE?valu:0); - dst+=3; + dst[j] = (b == WEED_TRUE ? valu : 0); + dst[j + 1] = (g == WEED_TRUE ? valu : 0); + dst[j + 2] = (r == WEED_TRUE ? valu : 0); + dst += 3; break; case WEED_PALETTE_ARGB32: - dst[j]=0xFF; - dst[j+1]=(r==WEED_TRUE?valu:0); - dst[j+2]=(g==WEED_TRUE?valu:0); - dst[j+3]=(b==WEED_TRUE?valu:0); - dst+=psize; + dst[j] = 0xFF; + dst[j + 1] = (r == WEED_TRUE ? valu : 0); + dst[j + 2] = (g == WEED_TRUE ? valu : 0); + dst[j + 3] = (b == WEED_TRUE ? valu : 0); + dst += psize; break; default: break; } } - alphau+=irow; - dst+=orow; + alphau += irow; + dst += orow; } - } else if (ipal==WEED_PALETTE_A1) { - width>>=3; - irow-=width; - alphau=(uint8_t *)weed_get_voidptr_value(in_channel,"pixel_data",&error); - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - for (k=0; k<8; k++) { - valu=getbit(alphau[j],k)*255; + } else if (ipal == WEED_PALETTE_A1) { + width >>= 3; + irow -= width; + alphau = (uint8_t *)weed_get_voidptr_value(in_channel, "pixel_data", &error); + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + for (k = 0; k < 8; k++) { + valu = getbit(alphau[j], k) * 255; switch (opal) { case WEED_PALETTE_RGBA32: - dst[j+3]=0xFF; + dst[j + 3] = 0xFF; case WEED_PALETTE_RGB24: - dst[j]=(r==WEED_TRUE?valu:0); - dst[j+1]=(g==WEED_TRUE?valu:0); - dst[j+2]=(b==WEED_TRUE?valu:0); - dst+=psize; + dst[j] = (r == WEED_TRUE ? valu : 0); + dst[j + 1] = (g == WEED_TRUE ? valu : 0); + dst[j + 2] = (b == WEED_TRUE ? valu : 0); + dst += psize; break; case WEED_PALETTE_BGRA32: - dst[j+3]=0xFF; + dst[j + 3] = 0xFF; case WEED_PALETTE_BGR24: - dst[j]=(b==WEED_TRUE?valu:0); - dst[j+1]=(g==WEED_TRUE?valu:0); - dst[j+2]=(r==WEED_TRUE?valu:0); - dst+=psize; + dst[j] = (b == WEED_TRUE ? valu : 0); + dst[j + 1] = (g == WEED_TRUE ? valu : 0); + dst[j + 2] = (r == WEED_TRUE ? valu : 0); + dst += psize; break; case WEED_PALETTE_ARGB32: - dst[j]=0xFF; - dst[j+1]=(r==WEED_TRUE?valu:0); - dst[j+2]=(g==WEED_TRUE?valu:0); - dst[j+3]=(b==WEED_TRUE?valu:0); - dst+=psize; + dst[j] = 0xFF; + dst[j + 1] = (r == WEED_TRUE ? valu : 0); + dst[j + 2] = (g == WEED_TRUE ? valu : 0); + dst[j + 3] = (b == WEED_TRUE ? valu : 0); + dst += psize; break; default: break; } } } - alphau+=irow; - dst+=orow; + alphau += irow; + dst += orow; } } @@ -215,38 +215,38 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { - int palette_list[]= {WEED_PALETTE_RGB24,WEED_PALETTE_BGR24,WEED_PALETTE_RGBA32,WEED_PALETTE_BGRA32,WEED_PALETTE_ARGB32,WEED_PALETTE_END}; - int apalette_list[]= {WEED_PALETTE_AFLOAT,WEED_PALETTE_A8,WEED_PALETTE_A1,WEED_PALETTE_END}; + int palette_list[] = {WEED_PALETTE_RGB24, WEED_PALETTE_BGR24, WEED_PALETTE_RGBA32, WEED_PALETTE_BGRA32, WEED_PALETTE_ARGB32, WEED_PALETTE_END}; + int apalette_list[] = {WEED_PALETTE_AFLOAT, WEED_PALETTE_A8, WEED_PALETTE_A1, WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("alpha input",0,apalette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("output",0,palette_list),NULL}; + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("alpha input", 0, apalette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("output", 0, palette_list), NULL}; - weed_plant_t *in_params[]= {weed_switch_init("red","_Red",WEED_TRUE), - weed_switch_init("green","_Green",WEED_TRUE), - weed_switch_init("blue","_Blue",WEED_TRUE), - weed_float_init("fmin","Float Min",0.,-1000000.,1000000.), - weed_float_init("fmax","Float Max",1.,-1000000.,1000000.), - NULL - }; + weed_plant_t *in_params[] = {weed_switch_init("red", "_Red", WEED_TRUE), + weed_switch_init("green", "_Green", WEED_TRUE), + weed_switch_init("blue", "_Blue", WEED_TRUE), + weed_float_init("fmin", "Float Min", 0., -1000000., 1000000.), + weed_float_init("fmax", "Float Max", 1., -1000000., 1000000.), + NULL + }; weed_plant_t *filter_class; - weed_set_int_value(out_chantmpls[0],"flags",WEED_CHANNEL_PALETTE_CAN_VARY); + weed_set_int_value(out_chantmpls[0], "flags", WEED_CHANNEL_PALETTE_CAN_VARY); - filter_class=weed_filter_class_init("alpha_visualizer","salsaman",1,0, - NULL,&alphav_process,NULL, - in_chantmpls,out_chantmpls, - in_params,NULL); + filter_class = weed_filter_class_init("alpha_visualizer", "salsaman", 1, 0, + NULL, &alphav_process, NULL, + in_chantmpls, out_chantmpls, + in_params, NULL); - weed_set_string_value(filter_class,"description", + weed_set_string_value(filter_class, "description", "Visualize a separated alpha channel as red / green / blue (grey)"); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/audio_fft.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/audio_fft.c
Changed
@@ -16,10 +16,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=1; // number of different weed api versions supported -static int api_versions[]= {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 1; // number of different weed api versions supported +static int api_versions[] = {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -39,7 +39,7 @@ #define MAXPLANS 18 -static size_t sizf=sizeof(float); +static size_t sizf = sizeof(float); static float *ins[MAXPLANS]; static fftwf_complex *outs[MAXPLANS]; @@ -47,10 +47,10 @@ static int rndlog2(int i) { // return (int)log2(i) - 1 - int x=2,val=-1; + int x = 2, val = -1; - while (x<=i) { - x*=2; + while (x <= i) { + x *= 2; val++; } return val; @@ -59,32 +59,32 @@ static int twopow(int i) { // return 2**(i+1) - register int j,x=2; + register int j, x = 2; - for (j=0; j<i; j++) x*=2; + for (j = 0; j < i; j++) x *= 2; return x; } static int create_plans(void) { - register int i,nsamps; + register int i, nsamps; - for (i=0; i<MAXPLANS; i++) { + for (i = 0; i < MAXPLANS; i++) { // create fftw plan - nsamps=twopow(i); + nsamps = twopow(i); - ins[i] = (float *) fftwf_malloc(nsamps*sizeof(float)); - if (ins[i]==NULL) { + ins[i] = (float *) fftwf_malloc(nsamps * sizeof(float)); + if (ins[i] == NULL) { return WEED_ERROR_MEMORY_ALLOCATION; } - outs[i] = (fftwf_complex *) fftwf_malloc(nsamps*sizeof(fftwf_complex)); - if (outs[i]==NULL) { + outs[i] = (fftwf_complex *) fftwf_malloc(nsamps * sizeof(fftwf_complex)); + if (outs[i] == NULL) { return WEED_ERROR_MEMORY_ALLOCATION; } - plans[i] = fftwf_plan_dft_r2c_1d(nsamps, ins[i], outs[i], i<13?FFTW_MEASURE:FFTW_ESTIMATE); + plans[i] = fftwf_plan_dft_r2c_1d(nsamps, ins[i], outs[i], i < 13 ? FFTW_MEASURE : FFTW_ESTIMATE); } return WEED_NO_ERROR; } @@ -99,34 +99,34 @@ int fftw_process(weed_plant_t *inst, weed_timecode_t tc) { int error; - int chans,nsamps,onsamps,base,inter,rate,k; + int chans, nsamps, onsamps, base, inter, rate, k; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error); - float *src=(float *)weed_get_voidptr_value(in_channel,"audio_data",&error); + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error); + float *src = (float *)weed_get_voidptr_value(in_channel, "audio_data", &error); - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); - weed_plant_t *out_param=weed_get_plantptr_value(inst,"out_parameters",&error); + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); + weed_plant_t *out_param = weed_get_plantptr_value(inst, "out_parameters", &error); - double freq=weed_get_double_value(in_params[0],"value",&error); + double freq = weed_get_double_value(in_params[0], "value", &error); - float tot=0.; + float tot = 0.; - register int i,j; + register int i, j; weed_free(in_params); - onsamps=weed_get_int_value(in_channel,"audio_data_length",&error); + onsamps = weed_get_int_value(in_channel, "audio_data_length", &error); - if (onsamps<2) { - weed_set_double_value(out_param,"value",0.); - weed_set_int64_value(out_param,"timecode",tc); + if (onsamps < 2) { + weed_set_double_value(out_param, "value", 0.); + weed_set_int64_value(out_param, "timecode", tc); return WEED_NO_ERROR; } - base=rndlog2(onsamps); - nsamps=twopow(base); + base = rndlog2(onsamps); + nsamps = twopow(base); - rate=weed_get_int_value(in_channel,"audio_rate",&error); + rate = weed_get_int_value(in_channel, "audio_rate", &error); // which element do we want for output ? // out array goes from 0 to (nsamps/2 + 1) [div b y 2 rounded down] @@ -135,29 +135,29 @@ // so the freq. of the kth element is: f = k/nsamps * rate // therefore k = f/rate * nsamps - k = freq/(double)rate*(double)nsamps; + k = freq / (double)rate * (double)nsamps; - if (k>(nsamps>>1)) { - weed_set_double_value(out_param,"value",0.); - weed_set_int64_value(out_param,"timecode",tc); + if (k > (nsamps >> 1)) { + weed_set_double_value(out_param, "value", 0.); + weed_set_int64_value(out_param, "timecode", tc); return WEED_NO_ERROR; } - chans=weed_get_int_value(in_channel,"audio_channels",&error); - inter=weed_get_boolean_value(in_channel,"audio_interleaf",&error); + chans = weed_get_int_value(in_channel, "audio_channels", &error); + inter = weed_get_boolean_value(in_channel, "audio_interleaf", &error); - for (i=0; i<chans; i++) { + for (i = 0; i < chans; i++) { // do transform for each channel // copy in data to sdata->in - if (inter==WEED_FALSE) { + if (inter == WEED_FALSE) { // non-interleaved - weed_memcpy(ins[base],src,nsamps*sizf); - src+=onsamps; + weed_memcpy(ins[base], src, nsamps * sizf); + src += onsamps; } else { // interleaved - for (j=0; j<nsamps; j++) { - ins[base][j]=src[j*chans]; + for (j = 0; j < nsamps; j++) { + ins[base][j] = src[j * chans]; } src++; } @@ -165,15 +165,15 @@ //fprintf(stderr,"executing plan of size %d\n",sdata->size); fftwf_execute(plans[base]); - tot+=sqrtf(outs[base][k][0]*outs[base][k][0]+outs[base][k][1]*outs[base][k][1]); + tot += sqrtf(outs[base][k][0] * outs[base][k][0] + outs[base][k][1] * outs[base][k][1]); } //fprintf(stderr,"tot is %f\n",tot); // average over all audio channels - weed_set_double_value(out_param,"value",(double)(tot/(float)chans)); - weed_set_int64_value(out_param,"timecode",tc); + weed_set_double_value(out_param, "value", (double)(tot / (float)chans)); + weed_set_int64_value(out_param, "timecode", tc); return WEED_NO_ERROR; @@ -185,20 +185,20 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { weed_plant_t *plugin_info; - if (create_plans()!=WEED_NO_ERROR) return NULL; - plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - weed_plant_t *in_chantmpls[]= {weed_audio_channel_template_init("in channel 0",0),NULL}; - weed_plant_t *in_params[]= {weed_float_init("freq","_Frequency",2000.,0.0,22000.0),NULL}; - weed_plant_t *out_params[]= {weed_out_param_float_init("value",0.,0.,1.),NULL}; - weed_plant_t *filter_class=weed_filter_class_init("audio fft analyser","salsaman",1,0,NULL,&fftw_process, - NULL,in_chantmpls,NULL,in_params,out_params); + if (create_plans() != WEED_NO_ERROR) return NULL; + plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + weed_plant_t *in_chantmpls[] = {weed_audio_channel_template_init("in channel 0", 0), NULL}; + weed_plant_t *in_params[] = {weed_float_init("freq", "_Frequency", 2000., 0.0, 22000.0), NULL}; + weed_plant_t *out_params[] = {weed_out_param_float_init("value", 0., 0., 1.), NULL}; + weed_plant_t *filter_class = weed_filter_class_init("audio fft analyser", "salsaman", 1, 0, NULL, &fftw_process, + NULL, in_chantmpls, NULL, in_params, out_params); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_string_value(filter_class,"description","Fast Fourier Transform for audio"); + weed_set_string_value(filter_class, "description", "Fast Fourier Transform for audio"); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; } @@ -206,7 +206,7 @@ void weed_desetup(void) { register int i; - for (i=0; i<MAXPLANS; i++) { + for (i = 0; i < MAXPLANS; i++) { fftwf_destroy_plan(plans[i]); fftwf_free(ins[i]); fftwf_free(outs[i]);
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/audio_transition.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/audio_transition.c
Changed
@@ -18,10 +18,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,110}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 110}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -44,19 +44,20 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - weed_plant_t *in_chantmpls[]= {weed_audio_channel_template_init("in channel 0",0),weed_audio_channel_template_init("in channel 1",0),NULL}; - weed_plant_t *out_chantmpls[]= {weed_audio_channel_template_init("out channel 0",WEED_CHANNEL_CAN_DO_INPLACE),NULL}; - weed_plant_t *in_params[]= {weed_float_init("transition","_Rear track level",0.0,0.0,1.0),NULL}; - weed_plant_t *filter_class=weed_filter_class_init("audio transition","salsaman",1,0,NULL,&atrans_process,NULL,in_chantmpls,out_chantmpls, - in_params,NULL); + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + weed_plant_t *in_chantmpls[] = {weed_audio_channel_template_init("in channel 0", 0), weed_audio_channel_template_init("in channel 1", 0), NULL}; + weed_plant_t *out_chantmpls[] = {weed_audio_channel_template_init("out channel 0", WEED_CHANNEL_CAN_DO_INPLACE), NULL}; + weed_plant_t *in_params[] = {weed_float_init("transition", "_Rear track level", 0.0, 0.0, 1.0), NULL}; + weed_plant_t *filter_class = weed_filter_class_init("audio transition", "salsaman", 1, 0, NULL, &atrans_process, NULL, in_chantmpls, + out_chantmpls, + in_params, NULL); - weed_set_boolean_value(in_params[0],"transition",WEED_TRUE); + weed_set_boolean_value(in_params[0], "transition", WEED_TRUE); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/audio_volume.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/audio_volume.c
Changed
@@ -18,10 +18,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,110}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 110}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -39,24 +39,24 @@ int avol_init(weed_plant_t *inst) { int error; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error); - int chans=weed_get_int_value(in_channel,"audio_channels",&error); - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error); + int chans = weed_get_int_value(in_channel, "audio_channels", &error); + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); - weed_plant_t *paramt=weed_get_plantptr_value(in_params[1],"template",&error); - weed_plant_t *gui=weed_parameter_template_get_gui(paramt); - weed_plant_t *paramt2=weed_get_plantptr_value(in_params[2],"template",&error); - weed_plant_t *gui2=weed_parameter_template_get_gui(paramt2); + weed_plant_t *paramt = weed_get_plantptr_value(in_params[1], "template", &error); + weed_plant_t *gui = weed_parameter_template_get_gui(paramt); + weed_plant_t *paramt2 = weed_get_plantptr_value(in_params[2], "template", &error); + weed_plant_t *gui2 = weed_parameter_template_get_gui(paramt2); weed_free(in_params); // hide the "pan" and "swap" controls if we are using mono audio - if (chans!=2) { - weed_set_boolean_value(gui,"hidden",WEED_TRUE); - weed_set_boolean_value(gui2,"hidden",WEED_TRUE); + if (chans != 2) { + weed_set_boolean_value(gui, "hidden", WEED_TRUE); + weed_set_boolean_value(gui2, "hidden", WEED_TRUE); } else { - weed_set_boolean_value(gui,"hidden",WEED_FALSE); - weed_set_boolean_value(gui2,"hidden",WEED_FALSE); + weed_set_boolean_value(gui, "hidden", WEED_FALSE); + weed_set_boolean_value(gui2, "hidden", WEED_FALSE); } return WEED_NO_ERROR; @@ -66,10 +66,11 @@ int avol_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t **in_channels=weed_get_plantptr_array(inst,"in_channels",&error),*out_channel=weed_get_plantptr_value(inst,"out_channels", - &error); + weed_plant_t **in_channels = weed_get_plantptr_array(inst, "in_channels", &error), *out_channel = weed_get_plantptr_value(inst, + "out_channels", + &error); float *src; - float *odst=weed_get_voidptr_value(out_channel,"audio_data",&error),*dst=odst; + float *odst = weed_get_voidptr_value(out_channel, "audio_data", &error), *dst = odst; register int nsamps; @@ -77,105 +78,105 @@ int chans; int inter; - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); - double voll,volr; + double voll, volr; // this is marked as "is_volume_master" in setup // therefore it must linearly adjust volume between 0.0 and 1.0 for all sub-channels - double *vol=weed_get_double_array(in_params[0],"value",&error); - double *pan=weed_get_double_array(in_params[1],"value",&error); - int swapchans=weed_get_boolean_value(in_params[2],"value",&error); + double *vol = weed_get_double_array(in_params[0], "value", &error); + double *pan = weed_get_double_array(in_params[1], "value", &error); + int swapchans = weed_get_boolean_value(in_params[2], "value", &error); - int ntracks=weed_leaf_num_elements(inst,"in_channels"); + int ntracks = weed_leaf_num_elements(inst, "in_channels"); register int i; weed_free(in_params); - chans=weed_get_int_value(in_channels[0],"audio_channels",&error); + chans = weed_get_int_value(in_channels[0], "audio_channels", &error); - voll=volr=vol[0]; + voll = volr = vol[0]; - if (chans==2) { - if (pan[0]<0.) volr*=(1.+pan[0]); - else voll*=(1.-pan[0]); + if (chans == 2) { + if (pan[0] < 0.) volr *= (1. + pan[0]); + else voll *= (1. - pan[0]); } - nsamps=orig_nsamps=weed_get_int_value(in_channels[0],"audio_data_length",&error); - src=weed_get_voidptr_value(in_channels[0],"audio_data",&error); - inter=weed_get_boolean_value(in_channels[0],"audio_interleaf",&error); + nsamps = orig_nsamps = weed_get_int_value(in_channels[0], "audio_data_length", &error); + src = weed_get_voidptr_value(in_channels[0], "audio_data", &error); + inter = weed_get_boolean_value(in_channels[0], "audio_interleaf", &error); - if (chans==2) { - if (swapchans==WEED_FALSE) { + if (chans == 2) { + if (swapchans == WEED_FALSE) { while (nsamps--) { - *(dst++)=voll*(*(src++)); - if (inter) *(dst++)=volr*(*(src++)); + *(dst++) = voll * (*(src++)); + if (inter) *(dst++) = volr * (*(src++)); } if (!inter) { - nsamps=orig_nsamps; + nsamps = orig_nsamps; while (nsamps--) { - *(dst++)=volr*(*(src++)); + *(dst++) = volr * (*(src++)); } } } else { // swap l/r channels - if (!inter) src+=nsamps; + if (!inter) src += nsamps; else src++; while (nsamps--) { if (inter) { - *(dst++)=voll*(*(src--)); - *(dst++)=volr*(*(src++)); + *(dst++) = voll * (*(src--)); + *(dst++) = volr * (*(src++)); src++; - } else *(dst++)=voll*(*(src++)); + } else *(dst++) = voll * (*(src++)); } if (!inter) { - nsamps=orig_nsamps; - src-=nsamps*2; + nsamps = orig_nsamps; + src -= nsamps * 2; while (nsamps--) { - *(dst++)=volr*(*(src++)); + *(dst++) = volr * (*(src++)); } } } - } else if (chans==1) { + } else if (chans == 1) { while (nsamps--) { - *(dst++)=vol[0]*(*(src++)); + *(dst++) = vol[0] * (*(src++)); } } - for (i=1; i<ntracks; i++) { - if (weed_plant_has_leaf(in_channels[i],"disabled")&&weed_get_boolean_value(in_channels[i],"disabled",&error)==WEED_TRUE) continue; - if (vol[i]==0.) continue; - dst=odst; - nsamps=orig_nsamps=weed_get_int_value(in_channels[i],"audio_data_length",&error); - src=weed_get_voidptr_value(in_channels[i],"audio_data",&error); + for (i = 1; i < ntracks; i++) { + if (weed_plant_has_leaf(in_channels[i], "disabled") && weed_get_boolean_value(in_channels[i], "disabled", &error) == WEED_TRUE) continue; + if (vol[i] == 0.) continue; + dst = odst; + nsamps = orig_nsamps = weed_get_int_value(in_channels[i], "audio_data_length", &error); + src = weed_get_voidptr_value(in_channels[i], "audio_data", &error); - inter=weed_get_boolean_value(in_channels[i],"audio_interleaf",&error); + inter = weed_get_boolean_value(in_channels[i], "audio_interleaf", &error); - chans=weed_get_int_value(in_channels[i],"audio_channels",&error); + chans = weed_get_int_value(in_channels[i], "audio_channels", &error); - voll=volr=vol[i]; + voll = volr = vol[i]; - if (chans==2) { - if (pan[i]<0.) volr*=(1.+pan[i]); - else voll*=(1.-pan[i]); + if (chans == 2) { + if (pan[i] < 0.) volr *= (1. + pan[i]); + else voll *= (1. - pan[i]); } - if (chans==2) { + if (chans == 2) { while (nsamps--) { - *(dst++)+=voll*(*(src++)); - if (inter) *(dst++)+=volr*(*(src++)); + *(dst++) += voll * (*(src++)); + if (inter) *(dst++) += volr * (*(src++)); } if (!inter) { - nsamps=orig_nsamps; + nsamps = orig_nsamps; while (nsamps--) { - *(dst++)+=volr*(*(src++)); + *(dst++) += volr * (*(src++)); } } - } else if (chans==1) { + } else if (chans == 1) { while (nsamps--) { - *(dst++)+=vol[i]*(*(src++)); + *(dst++) += vol[i] * (*(src++)); } } } @@ -191,35 +192,36 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - weed_plant_t *in_chantmpls[]= {weed_audio_channel_template_init("in channel 0",0),NULL}; - weed_plant_t *out_chantmpls[]= {weed_audio_channel_template_init("out channel 0",WEED_CHANNEL_CAN_DO_INPLACE),NULL}; - weed_plant_t *in_params[]= {weed_float_init("volume","_Volume",1.0,0.0,1.0),weed_float_init("pan","_Pan",0.,-1.,1.),weed_switch_init("swap","_Swap left and right channels",WEED_FALSE),NULL}; - weed_plant_t *filter_class=weed_filter_class_init("audio volume and pan","salsaman",1,WEED_FILTER_IS_CONVERTER,&avol_init,&avol_process, - NULL,in_chantmpls,out_chantmpls,in_params,NULL); + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + weed_plant_t *in_chantmpls[] = {weed_audio_channel_template_init("in channel 0", 0), NULL}; + weed_plant_t *out_chantmpls[] = {weed_audio_channel_template_init("out channel 0", WEED_CHANNEL_CAN_DO_INPLACE), NULL}; + weed_plant_t *in_params[] = {weed_float_init("volume", "_Volume", 1.0, 0.0, 1.0), weed_float_init("pan", "_Pan", 0., -1., 1.), weed_switch_init("swap", "_Swap left and right channels", WEED_FALSE), NULL}; + weed_plant_t *filter_class = weed_filter_class_init("audio volume and pan", "salsaman", 1, WEED_FILTER_IS_CONVERTER, &avol_init, + &avol_process, + NULL, in_chantmpls, out_chantmpls, in_params, NULL); int error; - weed_plant_t *host_info=weed_get_plantptr_value(plugin_info,"host_info",&error); - int api=weed_get_int_value(host_info,"api_version",&error); + weed_plant_t *host_info = weed_get_plantptr_value(plugin_info, "host_info", &error); + int api = weed_get_int_value(host_info, "api_version", &error); - weed_set_int_value(in_chantmpls[0],"max_repeats",0); // set optional repeats of this channel + weed_set_int_value(in_chantmpls[0], "max_repeats", 0); // set optional repeats of this channel // use WEED_PARAMETER_ELEMENT_PER_CHANNEL from spec 110 - weed_set_int_value(in_params[0],"flags",WEED_PARAMETER_VARIABLE_ELEMENTS|WEED_PARAMETER_ELEMENT_PER_CHANNEL); - weed_set_double_value(in_params[0],"new_default",1.0); - weed_set_int_value(in_params[1],"flags",WEED_PARAMETER_VARIABLE_ELEMENTS|WEED_PARAMETER_ELEMENT_PER_CHANNEL); - weed_set_double_value(in_params[1],"new_default",0.0); - weed_set_int_value(in_params[2],"flags",WEED_PARAMETER_VARIABLE_ELEMENTS|WEED_PARAMETER_ELEMENT_PER_CHANNEL); - weed_set_double_value(in_params[2],"new_default",WEED_FALSE); + weed_set_int_value(in_params[0], "flags", WEED_PARAMETER_VARIABLE_ELEMENTS | WEED_PARAMETER_ELEMENT_PER_CHANNEL); + weed_set_double_value(in_params[0], "new_default", 1.0); + weed_set_int_value(in_params[1], "flags", WEED_PARAMETER_VARIABLE_ELEMENTS | WEED_PARAMETER_ELEMENT_PER_CHANNEL); + weed_set_double_value(in_params[1], "new_default", 0.0); + weed_set_int_value(in_params[2], "flags", WEED_PARAMETER_VARIABLE_ELEMENTS | WEED_PARAMETER_ELEMENT_PER_CHANNEL); + weed_set_double_value(in_params[2], "new_default", WEED_FALSE); // set is_volume_master from weedaudio spec 110 - weed_set_boolean_value(in_params[0],"is_volume_master",WEED_TRUE); + weed_set_boolean_value(in_params[0], "is_volume_master", WEED_TRUE); - if (api>=131) weed_set_int_value(filter_class,"flags",WEED_FILTER_PROCESS_LAST|WEED_FILTER_IS_CONVERTER); + if (api >= 131) weed_set_int_value(filter_class, "flags", WEED_FILTER_PROCESS_LAST | WEED_FILTER_IS_CONVERTER); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/beat_detector.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/beat_detector.c
Changed
@@ -16,10 +16,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=1; // number of different weed api versions supported -static int api_versions[]= {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 1; // number of different weed api versions supported +static int api_versions[] = {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -51,18 +51,18 @@ float buf[NSLICES][BUFMAX]; } _sdata; -static size_t sizf=sizeof(float); +static size_t sizf = sizeof(float); -float freq[NSLICES]= {25.,50.,75.,100.,150.,200.,250.,300., - 400.,500.,600., - 700.,800.,900.,1000.,1100.,1200.,1300.,1400., - 1600.,1800.,2000.,2200.,2400.,2600.,2800.,3000., - 3200.,3600.,4000.,4400.,4800,5200.,5600.,6000., - 6400.,6800., - 7400.,8000.,8600.,9200.,9800.,10400.,11000.,11600., - 12400.,13200,14000.,14800.,15600.,16400.,17600.,18800., - 20000. - }; +float freq[NSLICES] = {25., 50., 75., 100., 150., 200., 250., 300., + 400., 500., 600., + 700., 800., 900., 1000., 1100., 1200., 1300., 1400., + 1600., 1800., 2000., 2200., 2400., 2600., 2800., 3000., + 3200., 3600., 4000., 4400., 4800, 5200., 5600., 6000., + 6400., 6800., + 7400., 8000., 8600., 9200., 9800., 10400., 11000., 11600., + 12400., 13200, 14000., 14800., 15600., 16400., 17600., 18800., + 20000. + }; #define MAXPLANS 18 @@ -75,10 +75,10 @@ static int rndlog2(int i) { // return (int)log2(i) - 1 - int x=2,val=-1; + int x = 2, val = -1; - while (x<=i) { - x*=2; + while (x <= i) { + x *= 2; val++; } return val; @@ -87,32 +87,32 @@ static int twopow(int i) { // return 2**(i+1) - register int j,x=2; + register int j, x = 2; - for (j=0; j<i; j++) x*=2; + for (j = 0; j < i; j++) x *= 2; return x; } static int create_plans(void) { - register int i,nsamps; + register int i, nsamps; - for (i=0; i<MAXPLANS; i++) { + for (i = 0; i < MAXPLANS; i++) { // create fftw plan - nsamps=twopow(i); + nsamps = twopow(i); - ins[i] = (float *) fftwf_malloc(nsamps*sizeof(float)); - if (ins[i]==NULL) { + ins[i] = (float *) fftwf_malloc(nsamps * sizeof(float)); + if (ins[i] == NULL) { return WEED_ERROR_MEMORY_ALLOCATION; } - outs[i] = (fftwf_complex *) fftwf_malloc(nsamps*sizeof(fftwf_complex)); - if (outs[i]==NULL) { + outs[i] = (fftwf_complex *) fftwf_malloc(nsamps * sizeof(fftwf_complex)); + if (outs[i] == NULL) { return WEED_ERROR_MEMORY_ALLOCATION; } - plans[i] = fftwf_plan_dft_r2c_1d(nsamps, ins[i], outs[i], i<13?FFTW_MEASURE:FFTW_ESTIMATE); + plans[i] = fftwf_plan_dft_r2c_1d(nsamps, ins[i], outs[i], i < 13 ? FFTW_MEASURE : FFTW_ESTIMATE); } return WEED_NO_ERROR; } @@ -123,28 +123,28 @@ int beat_init(weed_plant_t *inst) { _sdata *sdata; - register int i,j; + register int i, j; - sdata=(_sdata *)weed_malloc(sizeof(_sdata)); - if (sdata==NULL) { + sdata = (_sdata *)weed_malloc(sizeof(_sdata)); + if (sdata == NULL) { return WEED_ERROR_MEMORY_ALLOCATION; } - for (i=0; i<NSLICES; i++) { - sdata->av[i]=0.; - for (j=0; j<BUFMAX; j++) { - sdata->buf[i][j]=0.; + for (i = 0; i < NSLICES; i++) { + sdata->av[i] = 0.; + for (j = 0; j < BUFMAX; j++) { + sdata->buf[i][j] = 0.; } } - for (j=0; j<BUFMAX; j++) { - sdata->bufsize[j]=0; + for (j = 0; j < BUFMAX; j++) { + sdata->bufsize[j] = 0; } - sdata->totsamps=0; - sdata->bufidx=-1; + sdata->totsamps = 0; + sdata->bufidx = -1; - weed_set_voidptr_value(inst,"plugin_data",sdata); + weed_set_voidptr_value(inst, "plugin_data", sdata); return WEED_NO_ERROR; @@ -154,9 +154,9 @@ int beat_deinit(weed_plant_t *inst) { int error; - _sdata *sdata=(_sdata *)weed_get_voidptr_value(inst,"plugin_data",&error); + _sdata *sdata = (_sdata *)weed_get_voidptr_value(inst, "plugin_data", &error); - if (sdata!=NULL) { + if (sdata != NULL) { weed_free(sdata); } @@ -168,109 +168,109 @@ int beat_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - int chans,nsamps,onsamps,base,inter,rate,k; + int chans, nsamps, onsamps, base, inter, rate, k; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error); - float *src=(float *)weed_get_voidptr_value(in_channel,"audio_data",&error); + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error); + float *src = (float *)weed_get_voidptr_value(in_channel, "audio_data", &error); - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); - weed_plant_t **out_params=weed_get_plantptr_array(inst,"out_parameters",&error); + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); + weed_plant_t **out_params = weed_get_plantptr_array(inst, "out_parameters", &error); - int reset=weed_get_boolean_value(in_params[0],"value",&error); - double avlim=weed_get_double_value(in_params[1],"value",&error); - double varlim=weed_get_double_value(in_params[2],"value",&error); - int hamming=weed_get_boolean_value(in_params[3],"value",&error); + int reset = weed_get_boolean_value(in_params[0], "value", &error); + double avlim = weed_get_double_value(in_params[1], "value", &error); + double varlim = weed_get_double_value(in_params[2], "value", &error); + int hamming = weed_get_boolean_value(in_params[3], "value", &error); - int beat_pulse=WEED_FALSE,beat_hold=weed_get_boolean_value(out_params[1],"value",&error); + int beat_pulse = WEED_FALSE, beat_hold = weed_get_boolean_value(out_params[1], "value", &error); - int has_data=WEED_FALSE; + int has_data = WEED_FALSE; - int kmin,kmax,okmin,rkmin,rkmax; + int kmin, kmax, okmin, rkmin, rkmax; - _sdata *sdata=(_sdata *)weed_get_voidptr_value(inst,"plugin_data",&error); + _sdata *sdata = (_sdata *)weed_get_voidptr_value(inst, "plugin_data", &error); - double var,av; + double var, av; - float tot=0.,totx; + float tot = 0., totx; - register int i,j,s; + register int i, j, s; weed_free(in_params); - if (beat_hold==WEED_TRUE) beat_hold=!reset; + if (beat_hold == WEED_TRUE) beat_hold = !reset; - onsamps=weed_get_int_value(in_channel,"audio_data_length",&error); + onsamps = weed_get_int_value(in_channel, "audio_data_length", &error); - if (onsamps<2) { - beat_pulse=beat_hold=WEED_FALSE; + if (onsamps < 2) { + beat_pulse = beat_hold = WEED_FALSE; goto done; } - rate=weed_get_int_value(in_channel,"audio_rate",&error); + rate = weed_get_int_value(in_channel, "audio_rate", &error); - chans=weed_get_int_value(in_channel,"audio_channels",&error); - inter=weed_get_boolean_value(in_channel,"audio_interleaf",&error); + chans = weed_get_int_value(in_channel, "audio_channels", &error); + inter = weed_get_boolean_value(in_channel, "audio_interleaf", &error); // have we buffered enough data ? - if ((float)sdata->totsamps/(float)rate*1000.>=STIME) { - sdata->totsamps-=sdata->bufsize[0]; + if ((float)sdata->totsamps / (float)rate * 1000. >= STIME) { + sdata->totsamps -= sdata->bufsize[0]; // shift all values up - for (i=0; i<NSLICES; i++) { - sdata->av[i]=0.; + for (i = 0; i < NSLICES; i++) { + sdata->av[i] = 0.; - for (j=0; j<sdata->bufidx; j++) { - sdata->buf[i][j]=sdata->buf[i][j+1]; - if (sdata->buf[i][j]!=-1.) sdata->av[i]+=(double)sdata->buf[i][j]; + for (j = 0; j < sdata->bufidx; j++) { + sdata->buf[i][j] = sdata->buf[i][j + 1]; + if (sdata->buf[i][j] != -1.) sdata->av[i] += (double)sdata->buf[i][j]; } } - has_data=WEED_TRUE; + has_data = WEED_TRUE; } else { sdata->bufidx++; - if (sdata->bufidx==BUFMAX) { + if (sdata->bufidx == BUFMAX) { //fprintf(stderr,"OVERFLOW\n"); sdata->bufidx--; } } - sdata->totsamps+=onsamps; + sdata->totsamps += onsamps; - for (j=0; j<sdata->bufidx; j++) { - sdata->bufsize[j]=sdata->bufsize[j+1]; + for (j = 0; j < sdata->bufidx; j++) { + sdata->bufsize[j] = sdata->bufsize[j + 1]; } - sdata->bufsize[sdata->bufidx]=onsamps; + sdata->bufsize[sdata->bufidx] = onsamps; - for (s=0; s<NSLICES; s++) { - sdata->buf[s][sdata->bufidx]=0.; + for (s = 0; s < NSLICES; s++) { + sdata->buf[s][sdata->bufidx] = 0.; } - base=rndlog2(onsamps); - nsamps=twopow(base); + base = rndlog2(onsamps); + nsamps = twopow(base); - for (i=0; i<chans; i++) { + for (i = 0; i < chans; i++) { // do transform for each channel // copy in data to sdata->in - if (inter==WEED_FALSE) { + if (inter == WEED_FALSE) { // non-interleaved - if (hamming==WEED_TRUE) { - for (j=0; j<nsamps; j++) { - ins[base][j]=src[j]*(0.54f - 0.46f * cosf(TWO_PI*(float)j/(float)(nsamps-1.))); + if (hamming == WEED_TRUE) { + for (j = 0; j < nsamps; j++) { + ins[base][j] = src[j] * (0.54f - 0.46f * cosf(TWO_PI * (float)j / (float)(nsamps - 1.))); } } else { - weed_memcpy(ins[base],src,nsamps*sizf); + weed_memcpy(ins[base], src, nsamps * sizf); } - src+=onsamps; + src += onsamps; } else { // interleaved - for (j=0; j<nsamps; j++) { - if (hamming==WEED_TRUE) { - ins[base][j]=src[j*chans]*(0.54f - 0.46f * cosf(TWO_PI*(float)j/(float)(nsamps-1.))); + for (j = 0; j < nsamps; j++) { + if (hamming == WEED_TRUE) { + ins[base][j] = src[j * chans] * (0.54f - 0.46f * cosf(TWO_PI * (float)j / (float)(nsamps - 1.))); } else { - ins[base][j]=src[j*chans]; + ins[base][j] = src[j * chans]; } } src++; @@ -282,54 +282,54 @@ //fprintf(stderr,"executing plan of size %d\n",sdata->size); fftwf_execute(plans[base]); - okmin=kmin=0; + okmin = kmin = 0; - for (s=0; s<NSLICES; s++) { + for (s = 0; s < NSLICES; s++) { // which element do we want for output ? // out array goes from 0 to (nsamps/2 + 1) [div b y 2 rounded down] // nyquist freq is rate / 2 // so the freq. of the kth element is: f = k/nsamps * rate // therefore k = f/rate * nsamps - tot=0.; + tot = 0.; - kmax = freq[s]/(double)rate*(double)nsamps; + kmax = freq[s] / (double)rate * (double)nsamps; - if (kmax>=(nsamps>>1)) { + if (kmax >= (nsamps >> 1)) { // frequency invalid - too high for this sample packet - tot=-1.; - sdata->buf[s][sdata->bufidx]=tot; + tot = -1.; + sdata->buf[s][sdata->bufidx] = tot; } else { // use an overlap - rkmin=kmin-((kmin-okmin)>>1); - if (s<NSLICES-1) { - rkmax=kmax+(freq[s+1]-freq[s])/2./(double)rate*(double)nsamps; - if (rkmax>=(nsamps>>1)) { - rkmax=kmax; + rkmin = kmin - ((kmin - okmin) >> 1); + if (s < NSLICES - 1) { + rkmax = kmax + (freq[s + 1] - freq[s]) / 2. / (double)rate * (double)nsamps; + if (rkmax >= (nsamps >> 1)) { + rkmax = kmax; } - } else rkmax=kmax; + } else rkmax = kmax; - totx=0.; + totx = 0.; - for (k=rkmin; k<=rkmax; k++) { + for (k = rkmin; k <= rkmax; k++) { // sum values over range // average over range - totx+=sqrtf(outs[base][k][0]*outs[base][k][0]+outs[base][k][1]*outs[base][k][1]); + totx += sqrtf(outs[base][k][0] * outs[base][k][0] + outs[base][k][1] * outs[base][k][1]); } // average over bandwidth - totx/=((float)rkmax-(float)rkmin+1.); + totx /= ((float)rkmax - (float)rkmin + 1.); // boost lower freq - totx/=((float)rkmax-(float)rkmin+1.); + totx /= ((float)rkmax - (float)rkmin + 1.); // store this value in the buffer - sdata->buf[s][sdata->bufidx]+=totx/(float)chans; + sdata->buf[s][sdata->bufidx] += totx / (float)chans; - okmin=kmin; - kmin=kmax; + okmin = kmin; + kmin = kmax; } } // done for all slices } // done for all channels @@ -337,7 +337,7 @@ if (!has_data) { // need to buffer more data - beat_pulse=beat_hold=WEED_FALSE; + beat_pulse = beat_hold = WEED_FALSE; goto done; } @@ -349,23 +349,23 @@ #define ONSET_WINDOW 5 - var=0.; + var = 0.; - for (i=0; i<NSLICES; i++) { + for (i = 0; i < NSLICES; i++) { // for the variance: //av=sdata->av[i]/(double)sdata->bufidx; - if (sdata->bufidx>ONSET_WINDOW) { - float val1,val2,varx; - for (j=sdata->bufidx-ONSET_WINDOW; j<=sdata->bufidx; j++) { + if (sdata->bufidx > ONSET_WINDOW) { + float val1, val2, varx; + for (j = sdata->bufidx - ONSET_WINDOW; j <= sdata->bufidx; j++) { if ( - (val1=sdata->buf[i][j])!=-1.&& - (val2=sdata->buf[i][j-1])!=-1. + (val1 = sdata->buf[i][j]) != -1. && + (val2 = sdata->buf[i][j - 1]) != -1. ) { - varx=(val1-val2); - if (varx<0.) varx=0.; - if (varx>1000.) varx=0.; // ignore invalid value - var+=(double)varx/(double)ONSET_WINDOW; + varx = (val1 - val2); + if (varx < 0.) varx = 0.; + if (varx > 1000.) varx = 0.; // ignore invalid value + var += (double)varx / (double)ONSET_WINDOW; } } } @@ -374,16 +374,16 @@ //if (i==0) fprintf(stderr,"%f %f %f ",var,av,sdata->buf[i][sdata->bufidx]); - var/=(double)NSLICES; + var /= (double)NSLICES; - for (i=0; i<NSLICES; i++) { - av=sdata->av[i]/(double)sdata->bufidx; + for (i = 0; i < NSLICES; i++) { + av = sdata->av[i] / (double)sdata->bufidx; //if (i==0) printf("VALS %.2f %.2f %.2f %.2f %.2f %d %d %d %d %d\n",var,varlim,sdata->buf[i][sdata->bufidx],avlim*av,sdata->av[i],sdata->bufidx,sdata->totsamps,onsamps,base,rndlog2(onsamps)); - if (var>=varlim && sdata->buf[i][sdata->bufidx] >= (avlim*av)) { + if (var >= varlim && sdata->buf[i][sdata->bufidx] >= (avlim * av)) { // got a beat ! - beat_pulse=beat_hold=WEED_TRUE; + beat_pulse = beat_hold = WEED_TRUE; //fprintf(stderr,"PULSE !\n"); break; } @@ -396,10 +396,10 @@ //if (beat_hold) printf("BEAT %p !\n",out_params[1]); //else printf("NOBEAT %.2f\n",osrc!=NULL?osrc[0]:1.23); - weed_set_boolean_value(out_params[0],"value",beat_pulse); - weed_set_int64_value(out_params[0],"timecode",timestamp); - weed_set_boolean_value(out_params[1],"value",beat_hold); - weed_set_int64_value(out_params[1],"timecode",timestamp); + weed_set_boolean_value(out_params[0], "value", beat_pulse); + weed_set_int64_value(out_params[0], "timecode", timestamp); + weed_set_boolean_value(out_params[1], "value", beat_hold); + weed_set_int64_value(out_params[1], "timecode", timestamp); weed_free(out_params); @@ -411,23 +411,23 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { weed_plant_t *plugin_info; - if (create_plans()!=WEED_NO_ERROR) return NULL; - plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - weed_plant_t *in_chantmpls[]= {weed_audio_channel_template_init("in channel 0",0),NULL}; - weed_plant_t *in_params[]= {weed_switch_init("reset","_Reset hold",WEED_FALSE),weed_float_init("avlim","_Average threshold",3.,0.,40.), - weed_float_init("varlim","_Variance threshold",0.5,0.,10.),weed_switch_init("hamming","Use _Hamming",WEED_TRUE),NULL - }; - weed_plant_t *out_params[]= {weed_out_param_switch_init("beat pulse",WEED_FALSE),weed_out_param_switch_init("beat hold",WEED_FALSE),NULL}; - weed_plant_t *filter_class=weed_filter_class_init("beat detector","salsaman",1,0,&beat_init,&beat_process, - &beat_deinit,in_chantmpls,NULL,in_params,out_params); - - weed_plant_t *gui=weed_parameter_template_get_gui(in_params[0]); - weed_set_boolean_value(gui,"hidden",WEED_TRUE); - - weed_plugin_info_add_filter_class(plugin_info,filter_class); - - weed_set_int_value(plugin_info,"version",package_version); + if (create_plans() != WEED_NO_ERROR) return NULL; + plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + weed_plant_t *in_chantmpls[] = {weed_audio_channel_template_init("in channel 0", 0), NULL}; + weed_plant_t *in_params[] = {weed_switch_init("reset", "_Reset hold", WEED_FALSE), weed_float_init("avlim", "_Average threshold", 3., 0., 40.), + weed_float_init("varlim", "_Variance threshold", 0.5, 0., 10.), weed_switch_init("hamming", "Use _Hamming", WEED_TRUE), NULL + }; + weed_plant_t *out_params[] = {weed_out_param_switch_init("beat pulse", WEED_FALSE), weed_out_param_switch_init("beat hold", WEED_FALSE), NULL}; + weed_plant_t *filter_class = weed_filter_class_init("beat detector", "salsaman", 1, 0, &beat_init, &beat_process, + &beat_deinit, in_chantmpls, NULL, in_params, out_params); + + weed_plant_t *gui = weed_parameter_template_get_gui(in_params[0]); + weed_set_boolean_value(gui, "hidden", WEED_TRUE); + + weed_plugin_info_add_filter_class(plugin_info, filter_class); + + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; } @@ -435,7 +435,7 @@ void weed_desetup(void) { register int i; - for (i=0; i<MAXPLANS; i++) { + for (i = 0; i < MAXPLANS; i++) { fftwf_destroy_plan(plans[i]); fftwf_free(ins[i]); fftwf_free(outs[i]);
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/blank_frame_detector.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/blank_frame_detector.c
Changed
@@ -19,10 +19,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=1; // number of different weed api versions supported -static int api_versions[]= {131}; // array of weed api versions supported in plugin, in order (most preferred first) +static int num_versions = 1; // number of different weed api versions supported +static int api_versions[] = {131}; // array of weed api versions supported in plugin, in order (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -53,22 +53,22 @@ static void init_luma_arrays(void) { register int i; - for (i=0; i<256; i++) { - Y_R[i]=.299*(float)i*256.; - Y_G[i]=.587*(float)i*256.; - Y_B[i]=.114*(float)i*256.; + for (i = 0; i < 256; i++) { + Y_R[i] = .299 * (float)i * 256.; + Y_G[i] = .587 * (float)i * 256.; + Y_B[i] = .114 * (float)i * 256.; } - for (i=0; i<17; i++) { - unclamp_luma[i]=0; + for (i = 0; i < 17; i++) { + unclamp_luma[i] = 0; } - for (i=17; i<235; i++) { - unclamp_luma[i]=(int)((float)(i-16.)/219.*255.+.5); + for (i = 17; i < 235; i++) { + unclamp_luma[i] = (int)((float)(i - 16.) / 219.*255. + .5); } - for (i=235; i<256; i++) { - unclamp_luma[i]=255; + for (i = 235; i < 256; i++) { + unclamp_luma[i] = 255; } } @@ -76,7 +76,7 @@ int calc_luma(int red, int green, int blue) { - return (Y_R[red]+Y_G[green]+Y_B[blue])>>8; + return (Y_R[red] + Y_G[green] + Y_B[blue]) >> 8; } @@ -85,19 +85,19 @@ int bfd_init(weed_plant_t *inst) { int error; - weed_plant_t **out_params=weed_get_plantptr_array(inst,"out_parameters",&error); - weed_plant_t *blank=out_params[0]; + weed_plant_t **out_params = weed_get_plantptr_array(inst, "out_parameters", &error); + weed_plant_t *blank = out_params[0]; _sdata *sdata; - weed_set_boolean_value(blank,"value",WEED_FALSE); + weed_set_boolean_value(blank, "value", WEED_FALSE); - sdata=(_sdata *)weed_malloc(sizeof(_sdata)); + sdata = (_sdata *)weed_malloc(sizeof(_sdata)); - if (sdata==NULL) return WEED_ERROR_MEMORY_ALLOCATION; + if (sdata == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - sdata->count=0; + sdata->count = 0; - weed_set_voidptr_value(inst,"plugin_internal",sdata); + weed_set_voidptr_value(inst, "plugin_internal", sdata); weed_free(out_params); @@ -108,9 +108,9 @@ int bfd_deinit(weed_plant_t *inst) { int error; - _sdata *sdata=(_sdata *)weed_get_voidptr_value(inst,"plugin_internal",&error); + _sdata *sdata = (_sdata *)weed_get_voidptr_value(inst, "plugin_internal", &error); - if (sdata!=NULL) weed_free(sdata); + if (sdata != NULL) weed_free(sdata); return WEED_NO_ERROR; } @@ -119,55 +119,55 @@ int bfd_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error); - unsigned char *src=(unsigned char *)weed_get_voidptr_value(in_channel,"pixel_data",&error); - int width=weed_get_int_value(in_channel,"width",&error); - int height=weed_get_int_value(in_channel,"height",&error); - int pal=weed_get_int_value(in_channel,"current_palette",&error); - int irowstride=weed_get_int_value(in_channel,"rowstrides",&error); - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); - weed_plant_t **out_params=weed_get_plantptr_array(inst,"out_parameters",&error); - _sdata *sdata=(_sdata *)weed_get_voidptr_value(inst,"plugin_internal",&error); - weed_plant_t *blank=out_params[0]; - int threshold=weed_get_int_value(in_params[0],"value",&error); - int fcount=weed_get_int_value(in_params[1],"value",&error); - int psize=4; + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error); + unsigned char *src = (unsigned char *)weed_get_voidptr_value(in_channel, "pixel_data", &error); + int width = weed_get_int_value(in_channel, "width", &error); + int height = weed_get_int_value(in_channel, "height", &error); + int pal = weed_get_int_value(in_channel, "current_palette", &error); + int irowstride = weed_get_int_value(in_channel, "rowstrides", &error); + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); + weed_plant_t **out_params = weed_get_plantptr_array(inst, "out_parameters", &error); + _sdata *sdata = (_sdata *)weed_get_voidptr_value(inst, "plugin_internal", &error); + weed_plant_t *blank = out_params[0]; + int threshold = weed_get_int_value(in_params[0], "value", &error); + int fcount = weed_get_int_value(in_params[1], "value", &error); + int psize = 4; int luma; - int clamped=0; - int start=0; - unsigned char *end=src+height*irowstride; + int clamped = 0; + int start = 0; + unsigned char *end = src + height * irowstride; register int i; - if (pal==WEED_PALETTE_YUV444P||pal==WEED_PALETTE_YUVA4444P||pal==WEED_PALETTE_YUV422P|| - pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_UYVY||pal==WEED_PALETTE_YUYV|| - pal==WEED_PALETTE_YUV888||pal==WEED_PALETTE_YUVA8888) { + if (pal == WEED_PALETTE_YUV444P || pal == WEED_PALETTE_YUVA4444P || pal == WEED_PALETTE_YUV422P || + pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_UYVY || pal == WEED_PALETTE_YUYV || + pal == WEED_PALETTE_YUV888 || pal == WEED_PALETTE_YUVA8888) { - if (weed_plant_has_leaf(in_channel,"YUV_clamping")&& - (weed_get_int_value(in_channel,"YUV_clamping",&error)==WEED_YUV_CLAMPING_CLAMPED)) - clamped=1; + if (weed_plant_has_leaf(in_channel, "YUV_clamping") && + (weed_get_int_value(in_channel, "YUV_clamping", &error) == WEED_YUV_CLAMPING_CLAMPED)) + clamped = 1; } - if (pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24||pal==WEED_PALETTE_YUV888) psize=3; - if (pal==WEED_PALETTE_YUV444P||pal==WEED_PALETTE_YUVA4444P||pal==WEED_PALETTE_YUV422P|| - pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P) psize=1; + if (pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24 || pal == WEED_PALETTE_YUV888) psize = 3; + if (pal == WEED_PALETTE_YUV444P || pal == WEED_PALETTE_YUVA4444P || pal == WEED_PALETTE_YUV422P || + pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P) psize = 1; - width*=psize; + width *= psize; // yes this is right to set this here (1 macropixel == 4 bytes == 2 pixels) - if (pal==WEED_PALETTE_UYVY||pal==WEED_PALETTE_YUYV) psize=2; + if (pal == WEED_PALETTE_UYVY || pal == WEED_PALETTE_YUYV) psize = 2; - if (pal==WEED_PALETTE_UYVY) start=1; + if (pal == WEED_PALETTE_UYVY) start = 1; - for (; src<end; src+=irowstride) { - for (i=start; i<width; i+=psize) { - if (pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_RGBA32) luma=calc_luma(src[i],src[i+1],src[i+2]); - else if (pal==WEED_PALETTE_BGR24||pal==WEED_PALETTE_BGRA32) luma=calc_luma(src[i+2],src[i+1],src[i]); - else if (pal==WEED_PALETTE_ARGB32) luma=calc_luma(src[i+1],src[i+2],src[i+3]); - else luma=(clamped?unclamp_luma[src[i]]:src[i]); + for (; src < end; src += irowstride) { + for (i = start; i < width; i += psize) { + if (pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_RGBA32) luma = calc_luma(src[i], src[i + 1], src[i + 2]); + else if (pal == WEED_PALETTE_BGR24 || pal == WEED_PALETTE_BGRA32) luma = calc_luma(src[i + 2], src[i + 1], src[i]); + else if (pal == WEED_PALETTE_ARGB32) luma = calc_luma(src[i + 1], src[i + 2], src[i + 3]); + else luma = (clamped ? unclamp_luma[src[i]] : src[i]); - if (luma>threshold) { + if (luma > threshold) { // is not blank - sdata->count=-1; + sdata->count = -1; break; } @@ -178,8 +178,8 @@ sdata->count++; - if (sdata->count>=fcount) weed_set_boolean_value(blank,"value",WEED_TRUE); - else weed_set_boolean_value(blank,"value",WEED_FALSE); + if (sdata->count >= fcount) weed_set_boolean_value(blank, "value", WEED_TRUE); + else weed_set_boolean_value(blank, "value", WEED_FALSE); weed_free(in_params); weed_free(out_params); @@ -192,25 +192,25 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_BGR24,WEED_PALETTE_RGB24,WEED_PALETTE_RGBA32,WEED_PALETTE_BGRA32, - WEED_PALETTE_ARGB32,WEED_PALETTE_YUVA8888,WEED_PALETTE_YUV888,WEED_PALETTE_YUV444P, - WEED_PALETTE_YUVA4444P,WEED_PALETTE_YUV422P,WEED_PALETTE_YUV420P,WEED_PALETTE_YVU420P, - WEED_PALETTE_UYVY,WEED_PALETTE_YUYV, - WEED_PALETTE_END - }; - weed_plant_t *out_params[]= {weed_out_param_switch_init("blank",WEED_FALSE),NULL}; - weed_plant_t *in_params[]= {weed_integer_init("threshold","Luma _threshold",0,0,255), - weed_integer_init("fcount","Frame _count",1,1,1000),NULL - }; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",0,palette_list),NULL}; - weed_plant_t *filter_class=weed_filter_class_init("blank_frame_detector","salsaman",1,0,&bfd_init, - &bfd_process,&bfd_deinit,in_chantmpls,NULL,in_params,out_params); - - weed_plugin_info_add_filter_class(plugin_info,filter_class); - - weed_set_int_value(plugin_info,"version",package_version); + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_BGR24, WEED_PALETTE_RGB24, WEED_PALETTE_RGBA32, WEED_PALETTE_BGRA32, + WEED_PALETTE_ARGB32, WEED_PALETTE_YUVA8888, WEED_PALETTE_YUV888, WEED_PALETTE_YUV444P, + WEED_PALETTE_YUVA4444P, WEED_PALETTE_YUV422P, WEED_PALETTE_YUV420P, WEED_PALETTE_YVU420P, + WEED_PALETTE_UYVY, WEED_PALETTE_YUYV, + WEED_PALETTE_END + }; + weed_plant_t *out_params[] = {weed_out_param_switch_init("blank", WEED_FALSE), NULL}; + weed_plant_t *in_params[] = {weed_integer_init("threshold", "Luma _threshold", 0, 0, 255), + weed_integer_init("fcount", "Frame _count", 1, 1, 1000), NULL + }; + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", 0, palette_list), NULL}; + weed_plant_t *filter_class = weed_filter_class_init("blank_frame_detector", "salsaman", 1, 0, &bfd_init, + &bfd_process, &bfd_deinit, in_chantmpls, NULL, in_params, out_params); + + weed_plugin_info_add_filter_class(plugin_info, filter_class); + + weed_set_int_value(plugin_info, "version", package_version); init_luma_arrays(); }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/blurzoom.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/blurzoom.c
Changed
@@ -26,10 +26,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -83,32 +83,32 @@ static void image_bgsubtract_update_y(RGB32 *src, int width, int height, int rowstride, struct _sdata *sdata) { - register int i,j; + register int i, j; int R, G, B; RGB32 *p; short *q; unsigned char *r; int v; - rowstride-=width; + rowstride -= width; p = src; q = sdata->background; r = sdata->diff; - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - R = ((*p)&0xff0000)>>(16-1); - G = ((*p)&0xff00)>>(8-2); - B = (*p)&0xff; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + R = ((*p) & 0xff0000) >> (16 - 1); + G = ((*p) & 0xff00) >> (8 - 2); + B = (*p) & 0xff; v = (R + G + B) - (int)(*q); *q = (short)(R + G + B); - *r = ((v + sdata->threshold)>>24) | ((sdata->threshold - v)>>24); + *r = ((v + sdata->threshold) >> 24) | ((sdata->threshold - v) >> 24); p++; q++; r++; } - p+=rowstride; + p += rowstride; } } @@ -118,20 +118,20 @@ unsigned int bits; int x, y, tx, ty, xx; int ptr, prevptr; - int buf_width=sdata->buf_width; - int buf_height=sdata->buf_height; + int buf_width = sdata->buf_width; + int buf_height = sdata->buf_height; - prevptr = (int)(0.5+RATIO*(-VIDEO_HWIDTH)+VIDEO_HWIDTH); - for (xx=0; xx<(sdata->buf_width_blocks); xx++) { + prevptr = (int)(0.5 + RATIO * (-VIDEO_HWIDTH) + VIDEO_HWIDTH); + for (xx = 0; xx < (sdata->buf_width_blocks); xx++) { bits = 0; - for (x=0; x<32; x++) { - ptr= (int)(0.5+RATIO*(xx*32+x-VIDEO_HWIDTH)+VIDEO_HWIDTH); + for (x = 0; x < 32; x++) { + ptr = (int)(0.5 + RATIO * (xx * 32 + x - VIDEO_HWIDTH) + VIDEO_HWIDTH); #ifdef USE_NASM - bits = bits<<1; + bits = bits << 1; if (ptr != prevptr) bits |= 1; #else - bits = bits>>1; + bits = bits >> 1; if (ptr != prevptr) bits |= 0x80000000; #endif /* USE_NASM */ @@ -140,13 +140,13 @@ sdata->blurzoomx[xx] = bits; } - ty = (int)(0.5+RATIO*(-VIDEO_HHEIGHT)+VIDEO_HHEIGHT); - tx = (int)(0.5+RATIO*(-VIDEO_HWIDTH)+VIDEO_HWIDTH); - xx=(int)(0.5+RATIO*(buf_width-1-VIDEO_HWIDTH)+VIDEO_HWIDTH); + ty = (int)(0.5 + RATIO * (-VIDEO_HHEIGHT) + VIDEO_HHEIGHT); + tx = (int)(0.5 + RATIO * (-VIDEO_HWIDTH) + VIDEO_HWIDTH); + xx = (int)(0.5 + RATIO * (buf_width - 1 - VIDEO_HWIDTH) + VIDEO_HWIDTH); sdata->blurzoomy[0] = ty * buf_width + tx; prevptr = ty * buf_width + xx; - for (y=1; y<buf_height; y++) { - ty = (int)(0.5+RATIO*(y-VIDEO_HHEIGHT)+VIDEO_HHEIGHT); + for (y = 1; y < buf_height; y++) { + ty = (int)(0.5 + RATIO * (y - VIDEO_HHEIGHT) + VIDEO_HHEIGHT); sdata->blurzoomy[y] = ty * buf_width + tx - prevptr; prevptr = ty * buf_width + xx; } @@ -163,11 +163,11 @@ width = sdata->buf_width; p = sdata->blurzoombuf + width + 1; - q = p + sdata->buf_width*sdata->buf_height; + q = p + sdata->buf_width * sdata->buf_height; - for (y=sdata->buf_height-2; y>0; y--) { - for (x=width-2; x>0; x--) { - if ((v = (*(p-width) + *(p-1) + *(p+1) + *(p+width))/4 - 1)==255) v=0; + for (y = sdata->buf_height - 2; y > 0; y--) { + for (x = width - 2; x > 0; x--) { + if ((v = (*(p - width) + * (p - 1) + * (p + 1) + * (p + width)) / 4 - 1) == 255) v = 0; *(q++) = v; p++; } @@ -184,19 +184,19 @@ int blocks, height; register int dx; - p = sdata->blurzoombuf + sdata->buf_width*sdata->buf_height; + p = sdata->blurzoombuf + sdata->buf_width * sdata->buf_height; q = sdata->blurzoombuf; height = sdata->buf_height; blocks = sdata->buf_width_blocks; - for (y=0; y<height; y++) { + for (y = 0; y < height; y++) { p += sdata->blurzoomy[y]; - for (b=0; b<blocks; b++) { + for (b = 0; b < blocks; b++) { dx = sdata->blurzoomx[b]; - for (x=0; x<32; x++) { + for (x = 0; x < 32; x++) { p += (dx & 1); *q++ = *p; - dx = dx>>1; + dx = dx >> 1; } } } @@ -215,35 +215,35 @@ #define DELTA (255/(COLORS/2-1)) - for (i=0; i<256; i++) { - palettes[i]=0; + for (i = 0; i < 256; i++) { + palettes[i] = 0; } - for (i=0; i<COLORS/2; i++) { - if (pal==WEED_PALETTE_RGBA32) { - palettes[COLORS*2+i] = i*DELTA; - palettes[i] = (i*DELTA)<<16; + for (i = 0; i < COLORS / 2; i++) { + if (pal == WEED_PALETTE_RGBA32) { + palettes[COLORS * 2 + i] = i * DELTA; + palettes[i] = (i * DELTA) << 16; } else { - palettes[i] = i*DELTA; - palettes[COLORS*2+i] = (i*DELTA)<<16; + palettes[i] = i * DELTA; + palettes[COLORS * 2 + i] = (i * DELTA) << 16; } - palettes[COLORS + i] = (i*DELTA)<<8; + palettes[COLORS + i] = (i * DELTA) << 8; } - for (i=0; i<COLORS/2; i++) { - if (pal==WEED_PALETTE_RGBA32) { - palettes[COLORS*2 + i + COLORS/2] = 255 | (i*DELTA)<<16 | (i*DELTA)<<8; - palettes[ i + COLORS/2] = (255<<16) | (i*DELTA)<<8 | i*DELTA; + for (i = 0; i < COLORS / 2; i++) { + if (pal == WEED_PALETTE_RGBA32) { + palettes[COLORS * 2 + i + COLORS / 2] = 255 | (i * DELTA) << 16 | (i * DELTA) << 8; + palettes[i + COLORS / 2] = (255 << 16) | (i * DELTA) << 8 | i * DELTA; } else { - palettes[i + COLORS/2] = 255 | (i*DELTA)<<16 | (i*DELTA)<<8; - palettes[COLORS*2+ i + COLORS/2] = (255<<16) | (i*DELTA)<<8 | i*DELTA; + palettes[i + COLORS / 2] = 255 | (i * DELTA) << 16 | (i * DELTA) << 8; + palettes[COLORS * 2 + i + COLORS / 2] = (255 << 16) | (i * DELTA) << 8 | i * DELTA; } - palettes[COLORS + i + COLORS/2] = (255<<8) | (i*DELTA)<<16 | i*DELTA; + palettes[COLORS + i + COLORS / 2] = (255 << 8) | (i * DELTA) << 16 | i * DELTA; } - for (i=0; i<COLORS; i++) { - palettes[COLORS*3 + i] = (255*i/COLORS) * 0x10101; + for (i = 0; i < COLORS; i++) { + palettes[COLORS * 3 + i] = (255 * i / COLORS) * 0x10101; } - for (i=0; i<COLORS*PATTERN; i++) { + for (i = 0; i < COLORS * PATTERN; i++) { palettes[i] = palettes[i] & 0xfefeff; } } @@ -252,20 +252,20 @@ int blurzoom_init(weed_plant_t *inst) { struct _sdata *sdata; - int video_height,video_width,video_area; + int video_height, video_width, video_area; int buf_area; int error; weed_plant_t *in_channel; - sdata=weed_malloc(sizeof(struct _sdata)); + sdata = weed_malloc(sizeof(struct _sdata)); if (sdata == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - in_channel=weed_get_plantptr_value(inst,"in_channels",&error); + in_channel = weed_get_plantptr_value(inst, "in_channels", &error); - video_height=weed_get_int_value(in_channel,"height",&error); - video_width=weed_get_int_value(in_channel,"width",&error); - video_area=video_width*video_height; + video_height = weed_get_int_value(in_channel, "height", &error); + video_width = weed_get_int_value(in_channel, "width", &error); + video_area = video_width * video_height; sdata->buf_width_blocks = (video_width / 32); @@ -273,7 +273,7 @@ sdata->buf_width = sdata->buf_width_blocks * 32; sdata->buf_height = video_height; - sdata->buf_margin_left = (video_width - sdata->buf_width)/2; + sdata->buf_margin_left = (video_width - sdata->buf_width) / 2; sdata->buf_margin_right = video_width - sdata->buf_width - sdata->buf_margin_left; buf_area = sdata->buf_width * sdata->buf_height; @@ -283,14 +283,14 @@ return WEED_ERROR_MEMORY_ALLOCATION; } - sdata->blurzoomx = (int *)weed_malloc(sdata->buf_width*sizeof(int)); + sdata->blurzoomx = (int *)weed_malloc(sdata->buf_width * sizeof(int)); if (sdata->blurzoomx == NULL) { weed_free(sdata->blurzoombuf); weed_free(sdata); return WEED_ERROR_MEMORY_ALLOCATION; } - sdata->blurzoomy = (int *)weed_malloc(sdata->buf_height*sizeof(int)); + sdata->blurzoomy = (int *)weed_malloc(sdata->buf_height * sizeof(int)); if (sdata->blurzoomy == NULL) { weed_free(sdata->blurzoombuf); weed_free(sdata->blurzoomx); @@ -300,9 +300,9 @@ weed_memset(sdata->blurzoombuf, 0, buf_area * 2); - sdata->threshold=MAGIC_THRESHOLD*7; + sdata->threshold = MAGIC_THRESHOLD * 7; - sdata->snapframe = (RGB32 *)weed_malloc(video_area*PIXEL_SIZE); + sdata->snapframe = (RGB32 *)weed_malloc(video_area * PIXEL_SIZE); if (sdata->snapframe == NULL) { weed_free(sdata->blurzoombuf); weed_free(sdata->blurzoomy); @@ -312,7 +312,7 @@ } - sdata->background = (short *)weed_malloc(video_height*video_width*sizeof(short)); + sdata->background = (short *)weed_malloc(video_height * video_width * sizeof(short)); if (sdata->background == NULL) { weed_free(sdata->blurzoombuf); weed_free(sdata->blurzoomy); @@ -322,7 +322,7 @@ return WEED_ERROR_MEMORY_ALLOCATION; } - sdata->diff = (unsigned char *)weed_malloc(video_height*video_width * 4 * sizeof(unsigned char)); + sdata->diff = (unsigned char *)weed_malloc(video_height * video_width * 4 * sizeof(unsigned char)); if (sdata->diff == NULL) { weed_free(sdata->background); weed_free(sdata->blurzoombuf); @@ -333,16 +333,16 @@ return WEED_ERROR_MEMORY_ALLOCATION; } - weed_memset(sdata->diff, 0, video_height*video_width*4*sizeof(unsigned char)); + weed_memset(sdata->diff, 0, video_height * video_width * 4 * sizeof(unsigned char)); setTable(sdata); - makePalette(weed_get_int_value(in_channel,"current_palette",&error)); + makePalette(weed_get_int_value(in_channel, "current_palette", &error)); palette = palettes; - sdata->snapTime=0; - sdata->snapInterval=3; + sdata->snapTime = 0; + sdata->snapInterval = 3; - weed_set_voidptr_value(inst,"plugin_internal",sdata); + weed_set_voidptr_value(inst, "plugin_internal", sdata); return WEED_NO_ERROR; } @@ -355,7 +355,7 @@ struct _sdata *sdata; int error; - sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); + sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); if (sdata != NULL) { weed_free(sdata->diff); @@ -373,59 +373,59 @@ int blurzoom_process(weed_plant_t *inst, weed_timecode_t timecode) { - weed_plant_t *in_channel,*out_channel,*in_param; + weed_plant_t *in_channel, *out_channel, *in_param; register int x, y; register RGB32 a, b; register unsigned char *diff, *p; - RGB32 *src,*dest; + RGB32 *src, *dest; struct _sdata *sdata; - size_t snap_offs=0,src_offs=0; + size_t snap_offs = 0, src_offs = 0; - int video_width,video_height,irow,orow; - int mode=0; + int video_width, video_height, irow, orow; + int mode = 0; int error; - sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); - in_channel=weed_get_plantptr_value(inst,"in_channels",&error); - out_channel=weed_get_plantptr_value(inst,"out_channels",&error); + sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); + in_channel = weed_get_plantptr_value(inst, "in_channels", &error); + out_channel = weed_get_plantptr_value(inst, "out_channels", &error); - src=weed_get_voidptr_value(in_channel,"pixel_data",&error); - dest=weed_get_voidptr_value(out_channel,"pixel_data",&error); + src = weed_get_voidptr_value(in_channel, "pixel_data", &error); + dest = weed_get_voidptr_value(out_channel, "pixel_data", &error); - video_width = weed_get_int_value(in_channel,"width",&error); - video_height = weed_get_int_value(in_channel,"height",&error); + video_width = weed_get_int_value(in_channel, "width", &error); + video_height = weed_get_int_value(in_channel, "height", &error); - irow = weed_get_int_value(in_channel,"rowstrides",&error)/4; - orow = weed_get_int_value(out_channel,"rowstrides",&error)/4; + irow = weed_get_int_value(in_channel, "rowstrides", &error) / 4; + orow = weed_get_int_value(out_channel, "rowstrides", &error) / 4; - diff=sdata->diff; + diff = sdata->diff; - in_param=weed_get_plantptr_value(inst,"in_parameters",&error); - mode=weed_get_int_value(in_param,"value",&error); + in_param = weed_get_plantptr_value(inst, "in_parameters", &error); + mode = weed_get_int_value(in_param, "value", &error); if (mode != 2 || sdata->snapTime <= 0) { - image_bgsubtract_update_y(src,video_width,video_height,irow,sdata); + image_bgsubtract_update_y(src, video_width, video_height, irow, sdata); if (mode == 0 || sdata->snapTime <= 0) { diff += sdata->buf_margin_left; p = sdata->blurzoombuf; - for (y=0; y<sdata->buf_height; y++) { - for (x=0; x<sdata->buf_width; x++) { + for (y = 0; y < sdata->buf_height; y++) { + for (x = 0; x < sdata->buf_width; x++) { p[x] |= diff[x] >> 3; } diff += video_width; p += sdata->buf_width; } if (mode == 1 || mode == 2) { - for (x=0; x<video_height; x++) { - weed_memcpy(sdata->snapframe+snap_offs, src+src_offs, video_width * PIXEL_SIZE); - snap_offs+=video_width; - src_offs+=irow; + for (x = 0; x < video_height; x++) { + weed_memcpy(sdata->snapframe + snap_offs, src + src_offs, video_width * PIXEL_SIZE); + snap_offs += video_width; + src_offs += irow; } } } @@ -433,30 +433,30 @@ blurzoomcore(sdata); - irow-=video_width; - orow-=video_width; + irow -= video_width; + orow -= video_width; if (mode == 1 || mode == 2) { src = sdata->snapframe; } p = sdata->blurzoombuf; - for (y=0; y<video_height; y++) { - for (x=0; x<sdata->buf_margin_left; x++) { + for (y = 0; y < video_height; y++) { + for (x = 0; x < sdata->buf_margin_left; x++) { *dest++ = *src++; } - for (x=0; x<sdata->buf_width; x++) { + for (x = 0; x < sdata->buf_width; x++) { a = *src & 0xfefeff; b = palette[*p++]; a += b; b = a & 0x1010100; - *dest++ = (*src++ & 0xff000000) | ((a | (b - (b >> 8)))&0xffffff); + *dest++ = (*src++ & 0xff000000) | ((a | (b - (b >> 8))) & 0xffffff); } - for (x=0; x<sdata->buf_margin_right; x++) { + for (x = 0; x < sdata->buf_margin_right; x++) { *dest++ = *src++; } - src+=irow; - dest+=orow; + src += irow; + dest += orow; } @@ -471,21 +471,22 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - const char *modes[]= {"normal","strobe","strobe2","trigger",NULL}; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + const char *modes[] = {"normal", "strobe", "strobe2", "trigger", NULL}; - int palette_list[]= {WEED_PALETTE_BGRA32,WEED_PALETTE_RGBA32,WEED_PALETTE_END}; + int palette_list[] = {WEED_PALETTE_BGRA32, WEED_PALETTE_RGBA32, WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",WEED_CHANNEL_REINIT_ON_SIZE_CHANGE,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",0,palette_list),NULL}; - weed_plant_t *in_params[]= {weed_string_list_init("mode","Trigger _Mode",0,modes),NULL}; - weed_plant_t *filter_class=weed_filter_class_init("blurzoom","effectTV",1,0,&blurzoom_init,&blurzoom_process,&blurzoom_deinit,in_chantmpls, - out_chantmpls,in_params,NULL); + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", WEED_CHANNEL_REINIT_ON_SIZE_CHANGE, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", 0, palette_list), NULL}; + weed_plant_t *in_params[] = {weed_string_list_init("mode", "Trigger _Mode", 0, modes), NULL}; + weed_plant_t *filter_class = weed_filter_class_init("blurzoom", "effectTV", 1, 0, &blurzoom_init, &blurzoom_process, &blurzoom_deinit, + in_chantmpls, + out_chantmpls, in_params, NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/bump2d.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/bump2d.c
Changed
@@ -19,10 +19,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -83,13 +83,13 @@ */ for (i = 0; i < 256; i++) { Y_R[i] = myround(0.299 * (double)i - * 219.0 / 255.0 * (double)(1<<FP_BITS)); + * 219.0 / 255.0 * (double)(1 << FP_BITS)); Y_G[i] = myround(0.587 * (double)i - * 219.0 / 255.0 * (double)(1<<FP_BITS)); + * 219.0 / 255.0 * (double)(1 << FP_BITS)); Y_B[i] = myround((0.114 * (double)i - * 219.0 / 255.0 * (double)(1<<FP_BITS)) - + (double)(1<<(FP_BITS-1)) - + (16.0 * (double)(1<<FP_BITS))); + * 219.0 / 255.0 * (double)(1 << FP_BITS)) + + (double)(1 << (FP_BITS - 1)) + + (16.0 * (double)(1 << FP_BITS))); } } @@ -97,17 +97,17 @@ static inline uint8_t calc_luma(uint8_t *pixel) { - return (Y_R[pixel[2]] + Y_G[pixel[1]]+ Y_B[pixel[0]]) >> FP_BITS; + return (Y_R[pixel[2]] + Y_G[pixel[1]] + Y_B[pixel[0]]) >> FP_BITS; } int bumpmap_init(weed_plant_t *inst) { - _sdata *sdata=(_sdata *)weed_malloc(sizeof(_sdata)); - if (sdata==NULL) return WEED_ERROR_MEMORY_ALLOCATION; + _sdata *sdata = (_sdata *)weed_malloc(sizeof(_sdata)); + if (sdata == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - sdata->sin_index=0; - sdata->sin_index2=80; - weed_set_voidptr_value(inst,"plugin_internal",sdata); + sdata->sin_index = 0; + sdata->sin_index2 = 80; + weed_set_voidptr_value(inst, "plugin_internal", sdata); return WEED_NO_ERROR; } @@ -115,10 +115,10 @@ int bumpmap_deinit(weed_plant_t *inst) { int error; - _sdata *sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); - if (sdata!=NULL) { + _sdata *sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); + if (sdata != NULL) { weed_free(sdata); - weed_set_voidptr_value(inst,"plugin_internal",NULL); + weed_set_voidptr_value(inst, "plugin_internal", NULL); } return WEED_NO_ERROR; @@ -127,16 +127,17 @@ int bumpmap_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error),*out_channel=weed_get_plantptr_value(inst,"out_channels", - &error); - unsigned char *src=weed_get_voidptr_value(in_channel,"pixel_data",&error); - unsigned char *dst=weed_get_voidptr_value(out_channel,"pixel_data",&error); - int width=weed_get_int_value(in_channel,"width",&error); - int height=weed_get_int_value(in_channel,"height",&error); - int irowstride=weed_get_int_value(in_channel,"rowstrides",&error); - int orowstride=weed_get_int_value(out_channel,"rowstrides",&error); - int width3=width*3; - _sdata *sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error), *out_channel = weed_get_plantptr_value(inst, + "out_channels", + &error); + unsigned char *src = weed_get_voidptr_value(in_channel, "pixel_data", &error); + unsigned char *dst = weed_get_voidptr_value(out_channel, "pixel_data", &error); + int width = weed_get_int_value(in_channel, "width", &error); + int height = weed_get_int_value(in_channel, "height", &error); + int irowstride = weed_get_int_value(in_channel, "rowstrides", &error); + int orowstride = weed_get_int_value(out_channel, "rowstrides", &error); + int width3 = width * 3; + _sdata *sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); uint16_t lightx, lighty, temp; short normalx, normaly, x, y; @@ -147,23 +148,23 @@ /* create bump map */ for (x = 0; x < width - 1; x++) { for (y = 1; y < height - 1; y++) { - bumpmap[x][y].x = calc_luma(&src[y*irowstride+x*3+3])-calc_luma(&src[y*irowstride+x*3]); - bumpmap[x][y].y = calc_luma(&src[y*irowstride+x*3])-calc_luma(&src[(y-1)*irowstride+x*3]); + bumpmap[x][y].x = calc_luma(&src[y * irowstride + x * 3 + 3]) - calc_luma(&src[y * irowstride + x * 3]); + bumpmap[x][y].y = calc_luma(&src[y * irowstride + x * 3]) - calc_luma(&src[(y - 1) * irowstride + x * 3]); } } lightx = aSin[sdata->sin_index]; lighty = aSin[sdata->sin_index2]; - weed_memset(dst,0,orowstride); + weed_memset(dst, 0, orowstride); s1 = dst + orowstride; - orowstride-=width3-3; + orowstride -= width3 - 3; for (y = 1; y < height - 1; ++y) { temp = lighty - y; - weed_memset(s1,0,3); - s1+=3; + weed_memset(s1, 0, 3); + s1 += 3; for (x = 1; x < width - 1; x++) { normalx = bumpmap[x][y].x + lightx - x; @@ -178,14 +179,14 @@ else if (normaly > 255) normaly = 0; - weed_memset(s1,reflectionmap[normalx][normaly],3); - s1+=3; + weed_memset(s1, reflectionmap[normalx][normaly], 3); + s1 += 3; } - weed_memset(s1,0,3); - s1+=orowstride; + weed_memset(s1, 0, 3); + s1 += orowstride; } - weed_memset(s1,0,orowstride+width3-3); + weed_memset(s1, 0, orowstride + width3 - 3); sdata->sin_index += 3; sdata->sin_index &= 511; @@ -225,18 +226,19 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_BGR24,WEED_PALETTE_RGB24,WEED_PALETTE_END}; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_BGR24, WEED_PALETTE_RGB24, WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",0,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",WEED_CHANNEL_CAN_DO_INPLACE,palette_list),NULL}; - weed_plant_t *filter_class=weed_filter_class_init("bumpmap","salsaman",1,0,&bumpmap_init,&bumpmap_process,&bumpmap_deinit,in_chantmpls, - out_chantmpls,NULL,NULL); + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", 0, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", WEED_CHANNEL_CAN_DO_INPLACE, palette_list), NULL}; + weed_plant_t *filter_class = weed_filter_class_init("bumpmap", "salsaman", 1, 0, &bumpmap_init, &bumpmap_process, &bumpmap_deinit, + in_chantmpls, + out_chantmpls, NULL, NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); bumpmap_x_init(); init_RGB_to_YCbCr_tables();
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/cairo/Makefile.in -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/cairo/Makefile.in
Changed
@@ -266,8 +266,6 @@ GENCAT = @GENCAT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GLEE_CFLAGS = @GLEE_CFLAGS@ -GLEE_LIBS = @GLEE_LIBS@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -404,6 +402,8 @@ VERSION = @VERSION@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ +WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ +WAYLAND_LIBS = @WAYLAND_LIBS@ WEED_CFLAGS = @WEED_CFLAGS@ WEED_COMPAT_CFLAGS = @WEED_COMPAT_CFLAGS@ WEED_COMPAT_LIBS = @WEED_COMPAT_LIBS@
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/cairo/vector_visualiser.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/cairo/vector_visualiser.c
Changed
@@ -18,10 +18,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=1; // number of different weed api versions supported -static int api_versions[]= {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 1; // number of different weed api versions supported +static int api_versions[] = {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -75,20 +75,20 @@ static int unal[256][256]; static int al[256][256]; -static gboolean unal_inited=FALSE; +static gboolean unal_inited = FALSE; static void init_unal(void) { // premult to postmult and vice-versa - register int i,j; + register int i, j; - for (i=0; i<256; i++) { //alpha val - for (j=0; j<256; j++) { // val to be converted - unal[i][j]=(float)j*255./(float)i; - al[i][j]=(float)j*(float)i/255.; + for (i = 0; i < 256; i++) { //alpha val + for (j = 0; j < 256; j++) { // val to be converted + unal[i][j] = (float)j * 255. / (float)i; + al[i][j] = (float)j * (float)i / 255.; } } - unal_inited=TRUE; + unal_inited = TRUE; } @@ -96,33 +96,33 @@ void clear_xlist(void) { register int i; - for (i=0; i<MAX_ELEMS; i++) { - xlist[i].len=0.; + for (i = 0; i < MAX_ELEMS; i++) { + xlist[i].len = 0.; } } void add_to_list(float len, int i, int j, float x, float y) { - register int k,l; + register int k, l; - for (k=0; k<MAX_ELEMS; k++) { - if (len>xlist[k].len) { + for (k = 0; k < MAX_ELEMS; k++) { + if (len > xlist[k].len) { // shift existing elements - for (l=MAX_ELEMS-1; l<k; l--) { - if (xlist[l-1].len>0.) { - xlist[l].len=xlist[l-1].len; - xlist[l].i=xlist[l-1].i; - xlist[l].j=xlist[l-1].j; - xlist[l].x=xlist[l-1].x; - xlist[l].y=xlist[l-1].y; + for (l = MAX_ELEMS - 1; l < k; l--) { + if (xlist[l - 1].len > 0.) { + xlist[l].len = xlist[l - 1].len; + xlist[l].i = xlist[l - 1].i; + xlist[l].j = xlist[l - 1].j; + xlist[l].x = xlist[l - 1].x; + xlist[l].y = xlist[l - 1].y; } } - xlist[k].len=len; - xlist[k].i=i; - xlist[k].j=j; - xlist[k].x=x; - xlist[k].y=y; + xlist[k].len = len; + xlist[k].i = i; + xlist[k].j = j; + xlist[k].x = x; + xlist[k].y = y; break; } } @@ -136,36 +136,36 @@ int error; int widthx; int alpha; - int flags=0; - int width=weed_get_int_value(channel,"width",&error); - int height=weed_get_int_value(channel,"height",&error); - int rowstride=weed_get_int_value(channel,"rowstrides",&error); + int flags = 0; + int width = weed_get_int_value(channel, "width", &error); + int height = weed_get_int_value(channel, "height", &error); + int rowstride = weed_get_int_value(channel, "rowstrides", &error); unsigned char *ptr; - register int i,j,p; + register int i, j, p; if (!unal_inited) init_unal(); - widthx=width*4; + widthx = width * 4; - ptr=(unsigned char *)weed_get_voidptr_value(channel,"pixel_data",&error); + ptr = (unsigned char *)weed_get_voidptr_value(channel, "pixel_data", &error); - for (i=0; i<height; i++) { - for (j=0; j<widthx; j+=4) { - alpha=ptr[j]; - for (p=1; p<4; p++) { - ptr[j+p]=al[alpha][ptr[j+p]]; + for (i = 0; i < height; i++) { + for (j = 0; j < widthx; j += 4) { + alpha = ptr[j]; + for (p = 1; p < 4; p++) { + ptr[j + p] = al[alpha][ptr[j + p]]; } } - ptr+=rowstride; + ptr += rowstride; } - if (weed_plant_has_leaf(channel,"flags")) - flags=weed_get_int_value(channel,"flags",&error); + if (weed_plant_has_leaf(channel, "flags")) + flags = weed_get_int_value(channel, "flags", &error); - flags|=WEED_CHANNEL_ALPHA_PREMULT; - weed_set_int_value(channel,"flags",flags); + flags |= WEED_CHANNEL_ALPHA_PREMULT; + weed_set_int_value(channel, "flags", flags); } @@ -177,75 +177,75 @@ static cairo_t *channel_to_cairo(weed_plant_t *channel) { // convert a weed channel to cairo - int irowstride,orowstride; - int width,widthx; - int height,pal; + int irowstride, orowstride; + int width, widthx; + int height, pal; int error; register int i; - guchar *src,*dst; + guchar *src, *dst; cairo_surface_t *surf; - cairo_t *cairo=NULL; + cairo_t *cairo = NULL; cairo_format_t cform; void *pixel_data; - width=weed_get_int_value(channel,"width",&error); + width = weed_get_int_value(channel, "width", &error); - pal=weed_get_int_value(channel,"current_palette",&error); - if (pal==WEED_PALETTE_A8) { - cform=CAIRO_FORMAT_A8; - widthx=width; - } else if (pal==WEED_PALETTE_A1) { - cform=CAIRO_FORMAT_A1; - widthx=width>>3; + pal = weed_get_int_value(channel, "current_palette", &error); + if (pal == WEED_PALETTE_A8) { + cform = CAIRO_FORMAT_A8; + widthx = width; + } else if (pal == WEED_PALETTE_A1) { + cform = CAIRO_FORMAT_A1; + widthx = width >> 3; } else { - cform=CAIRO_FORMAT_ARGB32; - widthx=width<<2; + cform = CAIRO_FORMAT_ARGB32; + widthx = width << 2; } - height=weed_get_int_value(channel,"height",&error); + height = weed_get_int_value(channel, "height", &error); - irowstride=weed_get_int_value(channel,"rowstrides",&error); + irowstride = weed_get_int_value(channel, "rowstrides", &error); - orowstride=cairo_format_stride_for_width(cform,width); + orowstride = cairo_format_stride_for_width(cform, width); - src=(guchar *)weed_get_voidptr_value(channel,"pixel_data",&error); + src = (guchar *)weed_get_voidptr_value(channel, "pixel_data", &error); - dst=pixel_data=(guchar *)weed_malloc(height*orowstride); - if (pixel_data==NULL) return NULL; + dst = pixel_data = (guchar *)weed_malloc(height * orowstride); + if (pixel_data == NULL) return NULL; - if (irowstride==orowstride) { - weed_memcpy(dst,src,height*irowstride); + if (irowstride == orowstride) { + weed_memcpy(dst, src, height * irowstride); } else { - for (i=0; i<height; i++) { - weed_memcpy(dst,src,widthx); - weed_memset(dst+widthx,0,widthx-orowstride); - dst+=orowstride; - src+=irowstride; + for (i = 0; i < height; i++) { + weed_memcpy(dst, src, widthx); + weed_memset(dst + widthx, 0, widthx - orowstride); + dst += orowstride; + src += irowstride; } } - if (cform==CAIRO_FORMAT_ARGB32) { - int flags=0; - if (weed_plant_has_leaf(channel,"flags")) flags=weed_get_int_value(channel,"flags",&error); - if (!(flags&WEED_CHANNEL_ALPHA_PREMULT)) { + if (cform == CAIRO_FORMAT_ARGB32) { + int flags = 0; + if (weed_plant_has_leaf(channel, "flags")) flags = weed_get_int_value(channel, "flags", &error); + if (!(flags & WEED_CHANNEL_ALPHA_PREMULT)) { // if we have post-multiplied alpha, pre multiply alpha_premult(channel); - flags|=WEED_CHANNEL_ALPHA_PREMULT; - weed_set_int_value(channel,"flags",flags); + flags |= WEED_CHANNEL_ALPHA_PREMULT; + weed_set_int_value(channel, "flags", flags); } } - surf=cairo_image_surface_create_for_data(pixel_data, - cform, - width, height, - orowstride); + surf = cairo_image_surface_create_for_data(pixel_data, + cform, + width, height, + orowstride); - cairo=cairo_create(surf); + cairo = cairo_create(surf); cairo_surface_destroy(surf); cairo_set_user_data(cairo, &crkey, pixel_data, pdfree); @@ -262,50 +262,50 @@ // updates a weed_channel from a cairo_t // unlike doing this the other way around // the cairo is not destroyed (data is copied) - void *dst,*src; + void *dst, *src; - int width,height,irowstride,orowstride,widthx,pal; - int flags=0,error; + int width, height, irowstride, orowstride, widthx, pal; + int flags = 0, error; - cairo_surface_t *surface=cairo_get_target(cairo); + cairo_surface_t *surface = cairo_get_target(cairo); register int i; // flush to ensure all writing to the image was done cairo_surface_flush(surface); - dst=weed_get_voidptr_value(channel,"pixel_data",&error); - if (dst==NULL) return FALSE; + dst = weed_get_voidptr_value(channel, "pixel_data", &error); + if (dst == NULL) return FALSE; src = cairo_image_surface_get_data(surface); height = cairo_image_surface_get_height(surface); width = cairo_image_surface_get_width(surface); irowstride = cairo_image_surface_get_stride(surface); - orowstride=weed_get_int_value(channel,"rowstrides",&error); - pal=weed_get_int_value(channel,"current_palette",&error); + orowstride = weed_get_int_value(channel, "rowstrides", &error); + pal = weed_get_int_value(channel, "current_palette", &error); - if (irowstride==orowstride) { - weed_memcpy(dst,src,height*orowstride); + if (irowstride == orowstride) { + weed_memcpy(dst, src, height * orowstride); } else { - widthx=width*4; - if (pal==WEED_PALETTE_A8) widthx=width; - else if (pal==WEED_PALETTE_A1) widthx=width>>3; - - for (i=0; i<height; i++) { - weed_memcpy(dst,src,widthx); - weed_memset(dst+widthx,0,orowstride-widthx); - dst+=orowstride; - src+=irowstride; + widthx = width * 4; + if (pal == WEED_PALETTE_A8) widthx = width; + else if (pal == WEED_PALETTE_A1) widthx = width >> 3; + + for (i = 0; i < height; i++) { + weed_memcpy(dst, src, widthx); + weed_memset(dst + widthx, 0, orowstride - widthx); + dst += orowstride; + src += irowstride; } } - if (pal!=WEED_PALETTE_A8 && pal!=WEED_PALETTE_A1) { - if (weed_plant_has_leaf(channel,"flags")) - flags=weed_get_int_value(channel,"flags",&error); + if (pal != WEED_PALETTE_A8 && pal != WEED_PALETTE_A1) { + if (weed_plant_has_leaf(channel, "flags")) + flags = weed_get_int_value(channel, "flags", &error); - flags|=WEED_CHANNEL_ALPHA_PREMULT; - weed_set_int_value(channel,"flags",flags); + flags |= WEED_CHANNEL_ALPHA_PREMULT; + weed_set_int_value(channel, "flags", flags); } return TRUE; @@ -325,18 +325,18 @@ static void draw_arrow(cairo_t *cr, int i, int j, float x, float y) { // draw arrow from point i-x,j-y to i, j - int stx=i-(x+.5); - int sty=j-(y+.5); + int stx = i - (x + .5); + int sty = j - (y + .5); - int len=sqrt(x*x+y*y); + int len = sqrt(x * x + y * y); - cairo_set_line_width(cr,4.); - cairo_set_source_rgb(cr,1.,0.,0.); + cairo_set_line_width(cr, 4.); + cairo_set_source_rgb(cr, 1., 0., 0.); - cairo_move_to(cr,stx,sty); - cairo_line_to(cr,i,j); + cairo_move_to(cr, stx, sty); + cairo_line_to(cr, i, j); - cairo_arc(cr,i,j,len/4.,0,M_PI*2.); + cairo_arc(cr, i, j, len / 4., 0, M_PI * 2.); cairo_stroke(cr); @@ -348,52 +348,52 @@ int error; - weed_plant_t **in_channels=weed_get_plantptr_array(inst,"in_channels",&error); - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); + weed_plant_t **in_channels = weed_get_plantptr_array(inst, "in_channels", &error); + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); - weed_plant_t *out_channel=weed_get_plantptr_value(inst,"out_channels",&error); + weed_plant_t *out_channel = weed_get_plantptr_value(inst, "out_channels", &error); - float *alpha0=(float *)weed_get_voidptr_value(in_channels[1],"pixel_data",&error); - float *alpha1=(float *)weed_get_voidptr_value(in_channels[2],"pixel_data",&error); + float *alpha0 = (float *)weed_get_voidptr_value(in_channels[1], "pixel_data", &error); + float *alpha1 = (float *)weed_get_voidptr_value(in_channels[2], "pixel_data", &error); - float x,y,scale=1.; + float x, y, scale = 1.; - int mode=MD_GRID; + int mode = MD_GRID; - int irow0=weed_get_int_value(in_channels[1],"rowstrides",&error)>>2; - int irow1=weed_get_int_value(in_channels[2],"rowstrides",&error)>>2; + int irow0 = weed_get_int_value(in_channels[1], "rowstrides", &error) >> 2; + int irow1 = weed_get_int_value(in_channels[2], "rowstrides", &error) >> 2; - int width=weed_get_int_value(out_channel,"width",&error); - int height=weed_get_int_value(out_channel,"height",&error); + int width = weed_get_int_value(out_channel, "width", &error); + int height = weed_get_int_value(out_channel, "height", &error); - int enabled=weed_get_boolean_value(in_params[0],"value",&error); + int enabled = weed_get_boolean_value(in_params[0], "value", &error); - register int i,j; + register int i, j; weed_free(in_params); - if (enabled==WEED_FALSE) { + if (enabled == WEED_FALSE) { return WEED_NO_ERROR; } - cr=channel_to_cairo(in_channels[0]); + cr = channel_to_cairo(in_channels[0]); switch (mode) { case MD_GRID: { - int smwidth=width/20; - int smheight=height/20; + int smwidth = width / 20; + int smheight = height / 20; - if (smwidth<1) smwidth=1; - if (smheight<1) smheight=1; + if (smwidth < 1) smwidth = 1; + if (smheight < 1) smheight = 1; - for (i=smheight; i<height; i+=smheight*2) { - for (j=smwidth; j<width; j+=smwidth*2) { - x=alpha0[i*irow0+j]; - y=alpha1[i*irow1+j]; - draw_arrow(cr,j,i,x*scale,y*scale); + for (i = smheight; i < height; i += smheight * 2) { + for (j = smwidth; j < width; j += smwidth * 2) { + x = alpha0[i * irow0 + j]; + y = alpha1[i * irow1 + j]; + draw_arrow(cr, j, i, x * scale, y * scale); } } } @@ -403,17 +403,17 @@ float len; clear_xlist(); - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - x=alpha0[i*irow0+j]; - y=alpha1[i*irow1+j]; - len=sqrt(x*x+y*y); - if (len>xlist[MAX_ELEMS-1].len) add_to_list(len,i,j,x,y); + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + x = alpha0[i * irow0 + j]; + y = alpha1[i * irow1 + j]; + len = sqrt(x * x + y * y); + if (len > xlist[MAX_ELEMS - 1].len) add_to_list(len, i, j, x, y); } } - for (i=0; i<MAX_ELEMS; i++) { - if (xlist[i].len>0.) draw_arrow(cr,xlist[i].j,xlist[i].i,xlist[i].x*scale,xlist[i].y*scale); + for (i = 0; i < MAX_ELEMS; i++) { + if (xlist[i].len > 0.) draw_arrow(cr, xlist[i].j, xlist[i].i, xlist[i].x * scale, xlist[i].y * scale); } } @@ -425,7 +425,7 @@ } - cairo_to_channel(cr,out_channel); + cairo_to_channel(cr, out_channel); cairo_destroy(cr); weed_free(in_channels); @@ -437,39 +437,39 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { - int apalette_list[]= {WEED_PALETTE_AFLOAT,WEED_PALETTE_END}; + int apalette_list[] = {WEED_PALETTE_AFLOAT, WEED_PALETTE_END}; - int vpalette_list[]= {WEED_PALETTE_BGRA32,WEED_PALETTE_END}; + int vpalette_list[] = {WEED_PALETTE_BGRA32, WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= { - weed_channel_template_init("video in",0,vpalette_list), - weed_channel_template_init("X-plane",0,apalette_list), - weed_channel_template_init("Y-plane",0,apalette_list),NULL + weed_plant_t *in_chantmpls[] = { + weed_channel_template_init("video in", 0, vpalette_list), + weed_channel_template_init("X-plane", 0, apalette_list), + weed_channel_template_init("Y-plane", 0, apalette_list), NULL }; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("video out",WEED_CHANNEL_CAN_DO_INPLACE,vpalette_list),NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("video out", WEED_CHANNEL_CAN_DO_INPLACE, vpalette_list), NULL}; - weed_plant_t *in_params[]= {weed_switch_init("enabled","_Enabled",WEED_TRUE),NULL}; + weed_plant_t *in_params[] = {weed_switch_init("enabled", "_Enabled", WEED_TRUE), NULL}; - weed_plant_t *filter_class=weed_filter_class_init("cairo vector visualiser","salsaman",1,0, - NULL,&vector_visualiser_process,NULL, - in_chantmpls,out_chantmpls, - in_params,NULL); + weed_plant_t *filter_class = weed_filter_class_init("cairo vector visualiser", "salsaman", 1, 0, + NULL, &vector_visualiser_process, NULL, + in_chantmpls, out_chantmpls, + in_params, NULL); - weed_plant_t *gui=weed_parameter_template_get_gui(in_params[0]); - weed_set_boolean_value(gui,"hidden",WEED_TRUE); + weed_plant_t *gui = weed_parameter_template_get_gui(in_params[0]); + weed_set_boolean_value(gui, "hidden", WEED_TRUE); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); if (is_big_endian()) { - weed_set_int_value(in_chantmpls[0],"palette_list",WEED_PALETTE_ARGB32); - weed_set_int_value(out_chantmpls[0],"palette_list",WEED_PALETTE_ARGB32); + weed_set_int_value(in_chantmpls[0], "palette_list", WEED_PALETTE_ARGB32); + weed_set_int_value(out_chantmpls[0], "palette_list", WEED_PALETTE_ARGB32); } - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/ccorrect.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/ccorrect.c
Changed
@@ -17,10 +17,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -48,9 +48,9 @@ static void make_table(unsigned char *tab, double val) { unsigned int ival; register int i; - for (i=0; i<256; i++) { - ival=(val*i+.5); - tab[i]=ival>255?(unsigned char)255:(unsigned char)ival; + for (i = 0; i < 256; i++) { + ival = (val * i + .5); + tab[i] = ival > 255 ? (unsigned char)255 : (unsigned char)ival; } } @@ -61,16 +61,16 @@ register int i; - sdata=weed_malloc(sizeof(_sdata)); + sdata = weed_malloc(sizeof(_sdata)); if (sdata == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - for (i=0; i<256; i++) { - sdata->r[i]=sdata->g[i]=sdata->b[i]=0; + for (i = 0; i < 256; i++) { + sdata->r[i] = sdata->g[i] = sdata->b[i] = 0; } - sdata->ored=sdata->ogreen=sdata->oblue=0.; + sdata->ored = sdata->ogreen = sdata->oblue = 0.; - weed_set_voidptr_value(inst,"plugin_internal",sdata); + weed_set_voidptr_value(inst, "plugin_internal", sdata); return WEED_NO_ERROR; } @@ -80,7 +80,7 @@ _sdata *sdata; int error; - sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); + sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); if (sdata != NULL) weed_free(sdata); @@ -91,75 +91,76 @@ static int ccorrect_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; _sdata *sdata; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error),*out_channel=weed_get_plantptr_value(inst,"out_channels", - &error); - unsigned char *src=weed_get_voidptr_value(in_channel,"pixel_data",&error); - unsigned char *dst=weed_get_voidptr_value(out_channel,"pixel_data",&error); - - int width=weed_get_int_value(in_channel,"width",&error)*3; - int height=weed_get_int_value(in_channel,"height",&error); - int irowstride=weed_get_int_value(in_channel,"rowstrides",&error); - int orowstride=weed_get_int_value(out_channel,"rowstrides",&error); - int psize=4; - - unsigned char *end=src+height*irowstride; - int inplace=(dst==src); - int offs=0; - int palette=weed_get_int_value(in_channel,"current_palette",&error); - weed_plant_t **params=weed_get_plantptr_array(inst,"in_parameters",&error); - - double red=weed_get_double_value(params[0],"value",&error); - double green=weed_get_double_value(params[1],"value",&error); - double blue=weed_get_double_value(params[2],"value",&error); + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error), *out_channel = weed_get_plantptr_value(inst, + "out_channels", + &error); + unsigned char *src = weed_get_voidptr_value(in_channel, "pixel_data", &error); + unsigned char *dst = weed_get_voidptr_value(out_channel, "pixel_data", &error); + + int width = weed_get_int_value(in_channel, "width", &error) * 3; + int height = weed_get_int_value(in_channel, "height", &error); + int irowstride = weed_get_int_value(in_channel, "rowstrides", &error); + int orowstride = weed_get_int_value(out_channel, "rowstrides", &error); + int psize = 4; + + unsigned char *end = src + height * irowstride; + int inplace = (dst == src); + int offs = 0; + int palette = weed_get_int_value(in_channel, "current_palette", &error); + weed_plant_t **params = weed_get_plantptr_array(inst, "in_parameters", &error); + + double red = weed_get_double_value(params[0], "value", &error); + double green = weed_get_double_value(params[1], "value", &error); + double blue = weed_get_double_value(params[2], "value", &error); register int i; - sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); + sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); - if (red!=sdata->ored) { - make_table(sdata->r,red); - sdata->ored=red; + if (red != sdata->ored) { + make_table(sdata->r, red); + sdata->ored = red; } - if (green!=sdata->ogreen) { - make_table(sdata->g,green); - sdata->ogreen=green; + if (green != sdata->ogreen) { + make_table(sdata->g, green); + sdata->ogreen = green; } - if (blue!=sdata->oblue) { - make_table(sdata->b,blue); - sdata->oblue=blue; + if (blue != sdata->oblue) { + make_table(sdata->b, blue); + sdata->oblue = blue; } // new threading arch - if (weed_plant_has_leaf(out_channel,"offset")) { - int offset=weed_get_int_value(out_channel,"offset",&error); - int dheight=weed_get_int_value(out_channel,"height",&error); + if (weed_plant_has_leaf(out_channel, "offset")) { + int offset = weed_get_int_value(out_channel, "offset", &error); + int dheight = weed_get_int_value(out_channel, "height", &error); - src+=offset*irowstride; - dst+=offset*orowstride; - end=src+dheight*irowstride; + src += offset * irowstride; + dst += offset * orowstride; + end = src + dheight * irowstride; } - if (palette==WEED_PALETTE_RGB24||palette==WEED_PALETTE_BGR24) psize=3; - if (palette==WEED_PALETTE_ARGB32) offs=1; + if (palette == WEED_PALETTE_RGB24 || palette == WEED_PALETTE_BGR24) psize = 3; + if (palette == WEED_PALETTE_ARGB32) offs = 1; - for (; src<end; src+=irowstride) { - for (i=0; i<width; i+=psize) { - if (palette==WEED_PALETTE_BGR24||palette==WEED_PALETTE_BGRA32) { - dst[i]=sdata->b[src[i]]; - dst[i+1]=sdata->g[src[i+1]]; - dst[i+2]=sdata->r[src[i+2]]; - if (!inplace&&palette==WEED_PALETTE_BGRA32) dst[i+3]=src[i+3]; + for (; src < end; src += irowstride) { + for (i = 0; i < width; i += psize) { + if (palette == WEED_PALETTE_BGR24 || palette == WEED_PALETTE_BGRA32) { + dst[i] = sdata->b[src[i]]; + dst[i + 1] = sdata->g[src[i + 1]]; + dst[i + 2] = sdata->r[src[i + 2]]; + if (!inplace && palette == WEED_PALETTE_BGRA32) dst[i + 3] = src[i + 3]; } else { - if (!inplace&&palette==WEED_PALETTE_ARGB32) dst[i]=src[i]; - dst[i+offs]=sdata->r[src[i+offs]]; - dst[i+1+offs]=sdata->g[src[i+1+offs]]; - dst[i+2+offs]=sdata->b[src[i+2+offs]]; - if (!inplace&&palette==WEED_PALETTE_RGBA32) dst[i+3]=src[i+3]; + if (!inplace && palette == WEED_PALETTE_ARGB32) dst[i] = src[i]; + dst[i + offs] = sdata->r[src[i + offs]]; + dst[i + 1 + offs] = sdata->g[src[i + 1 + offs]]; + dst[i + 2 + offs] = sdata->b[src[i + 2 + offs]]; + if (!inplace && palette == WEED_PALETTE_RGBA32) dst[i + 3] = src[i + 3]; } } - dst+=orowstride; + dst += orowstride; } return WEED_NO_ERROR; } @@ -168,21 +169,21 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_BGR24,WEED_PALETTE_RGB24,WEED_PALETTE_RGBA32,WEED_PALETTE_BGRA32,WEED_PALETTE_ARGB32,WEED_PALETTE_END}; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_BGR24, WEED_PALETTE_RGB24, WEED_PALETTE_RGBA32, WEED_PALETTE_BGRA32, WEED_PALETTE_ARGB32, WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",0,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",WEED_CHANNEL_CAN_DO_INPLACE,palette_list),NULL}; + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", 0, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", WEED_CHANNEL_CAN_DO_INPLACE, palette_list), NULL}; - weed_plant_t *in_params[]= {weed_float_init("red","_Red factor",1.0,0.0,2.0),weed_float_init("green","_Green factor",1.0,0.0,2.0),weed_float_init("blue","_Blue factor",1.0,0.0,2.0),NULL}; + weed_plant_t *in_params[] = {weed_float_init("red", "_Red factor", 1.0, 0.0, 2.0), weed_float_init("green", "_Green factor", 1.0, 0.0, 2.0), weed_float_init("blue", "_Blue factor", 1.0, 0.0, 2.0), NULL}; - weed_plant_t *filter_class=weed_filter_class_init("colour correction","salsaman",1,WEED_FILTER_HINT_MAY_THREAD,&ccorrect_init, - &ccorrect_process,&ccorrect_deinit,in_chantmpls,out_chantmpls,in_params,NULL); + weed_plant_t *filter_class = weed_filter_class_init("colour correction", "salsaman", 1, WEED_FILTER_HINT_MAY_THREAD, &ccorrect_init, + &ccorrect_process, &ccorrect_deinit, in_chantmpls, out_chantmpls, in_params, NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/colorkey.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/colorkey.c
Changed
@@ -17,10 +17,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -38,66 +38,67 @@ static int ckey_process(weed_plant_t *inst, weed_timecode_t timecode) { int error; - weed_plant_t **in_channels=weed_get_plantptr_array(inst,"in_channels",&error),*out_channel=weed_get_plantptr_value(inst,"out_channels", - &error); - unsigned char *src1=weed_get_voidptr_value(in_channels[0],"pixel_data",&error); - unsigned char *src2=weed_get_voidptr_value(in_channels[1],"pixel_data",&error); - unsigned char *dst=weed_get_voidptr_value(out_channel,"pixel_data",&error); - int width=weed_get_int_value(in_channels[0],"width",&error)*3; - int height=weed_get_int_value(in_channels[0],"height",&error); - int irowstride1=weed_get_int_value(in_channels[0],"rowstrides",&error); - int irowstride2=weed_get_int_value(in_channels[1],"rowstrides",&error); - int orowstride=weed_get_int_value(out_channel,"rowstrides",&error); - int palette=weed_get_int_value(out_channel,"current_palette",&error); - unsigned char *end=src1+height*irowstride1; - int inplace=(src1==dst); + weed_plant_t **in_channels = weed_get_plantptr_array(inst, "in_channels", &error), *out_channel = weed_get_plantptr_value(inst, + "out_channels", + &error); + unsigned char *src1 = weed_get_voidptr_value(in_channels[0], "pixel_data", &error); + unsigned char *src2 = weed_get_voidptr_value(in_channels[1], "pixel_data", &error); + unsigned char *dst = weed_get_voidptr_value(out_channel, "pixel_data", &error); + int width = weed_get_int_value(in_channels[0], "width", &error) * 3; + int height = weed_get_int_value(in_channels[0], "height", &error); + int irowstride1 = weed_get_int_value(in_channels[0], "rowstrides", &error); + int irowstride2 = weed_get_int_value(in_channels[1], "rowstrides", &error); + int orowstride = weed_get_int_value(out_channel, "rowstrides", &error); + int palette = weed_get_int_value(out_channel, "current_palette", &error); + unsigned char *end = src1 + height * irowstride1; + int inplace = (src1 == dst); weed_plant_t **in_params; - int b_red,b_green,b_blue; - int red,green,blue; - int b_red_min,b_green_min,b_blue_min; - int b_red_max,b_green_max,b_blue_max; - double delta,opac,opacx; + int b_red, b_green, b_blue; + int red, green, blue; + int b_red_min, b_green_min, b_blue_min; + int b_red_max, b_green_max, b_blue_max; + double delta, opac, opacx; int *carray; register int j; - in_params=weed_get_plantptr_array(inst,"in_parameters",&error); - delta=weed_get_double_value(in_params[0],"value",&error); - opac=weed_get_double_value(in_params[1],"value",&error); - carray=weed_get_int_array(in_params[2],"value",&error); - b_red=carray[0]; - b_green=carray[1]; - b_blue=carray[2]; + in_params = weed_get_plantptr_array(inst, "in_parameters", &error); + delta = weed_get_double_value(in_params[0], "value", &error); + opac = weed_get_double_value(in_params[1], "value", &error); + carray = weed_get_int_array(in_params[2], "value", &error); + b_red = carray[0]; + b_green = carray[1]; + b_blue = carray[2]; weed_free(carray); - b_red_min=b_red-(int)(b_red*delta+.5); - b_green_min=b_green-(int)(b_green*delta+.5); - b_blue_min=b_blue-(int)(b_blue*delta+.5); + b_red_min = b_red - (int)(b_red * delta + .5); + b_green_min = b_green - (int)(b_green * delta + .5); + b_blue_min = b_blue - (int)(b_blue * delta + .5); - b_red_max=b_red+(int)((255-b_red)*delta+.5); - b_green_max=b_green+(int)((255-b_green)*delta+.5); - b_blue_max=b_blue+(int)((255-b_blue)*delta+.5); + b_red_max = b_red + (int)((255 - b_red) * delta + .5); + b_green_max = b_green + (int)((255 - b_green) * delta + .5); + b_blue_max = b_blue + (int)((255 - b_blue) * delta + .5); - for (; src1<end; src1+=irowstride1) { - for (j=0; j<width; j+=3) { - if (palette==WEED_PALETTE_RGB24) { - red=src1[j]; - green=src1[j+1]; - blue=src1[j+2]; + for (; src1 < end; src1 += irowstride1) { + for (j = 0; j < width; j += 3) { + if (palette == WEED_PALETTE_RGB24) { + red = src1[j]; + green = src1[j + 1]; + blue = src1[j + 2]; } else { - blue=src1[j]; - green=src1[j+1]; - red=src1[j+2]; + blue = src1[j]; + green = src1[j + 1]; + red = src1[j + 2]; } - if (red>=b_red_min&&red<=b_red_max&&green>=b_green_min&&green<=b_green_max&&blue>=b_blue_min&&blue<=b_blue_max) { - dst[j]=src1[j]*((opacx=1.-opac))+src2[j]*opac; - dst[j+1]=src1[j+1]*(opacx)+src2[j+1]*opac; - dst[j+2]=src1[j+2]*(opacx)+src2[j+2]*opac; - } else if (!inplace) weed_memcpy(&dst[j],&src1[j],3); + if (red >= b_red_min && red <= b_red_max && green >= b_green_min && green <= b_green_max && blue >= b_blue_min && blue <= b_blue_max) { + dst[j] = src1[j] * ((opacx = 1. - opac)) + src2[j] * opac; + dst[j + 1] = src1[j + 1] * (opacx) + src2[j + 1] * opac; + dst[j + 2] = src1[j + 2] * (opacx) + src2[j + 2] * opac; + } else if (!inplace) weed_memcpy(&dst[j], &src1[j], 3); } - src2+=irowstride2; - dst+=orowstride; + src2 += irowstride2; + dst += orowstride; } weed_free(in_channels); return WEED_NO_ERROR; @@ -106,20 +107,21 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_BGR24,WEED_PALETTE_RGB24,WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",0,palette_list),weed_channel_template_init("in channel 1",0,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",WEED_CHANNEL_CAN_DO_INPLACE,palette_list),NULL}; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_BGR24, WEED_PALETTE_RGB24, WEED_PALETTE_END}; + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", 0, palette_list), weed_channel_template_init("in channel 1", 0, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", WEED_CHANNEL_CAN_DO_INPLACE, palette_list), NULL}; - weed_plant_t *in_params[]= {weed_float_init("delta","_Delta",.2,0.,1.),weed_float_init("opacity","_Opacity",1.,0.,1.),weed_colRGBi_init("col","_Colour",0,0,255),NULL}; + weed_plant_t *in_params[] = {weed_float_init("delta", "_Delta", .2, 0., 1.), weed_float_init("opacity", "_Opacity", 1., 0., 1.), weed_colRGBi_init("col", "_Colour", 0, 0, 255), NULL}; - weed_plant_t *filter_class=weed_filter_class_init("colour key","salsaman",1,0,NULL,&ckey_process,NULL,in_chantmpls,out_chantmpls,in_params, - NULL); + weed_plant_t *filter_class = weed_filter_class_init("colour key", "salsaman", 1, 0, NULL, &ckey_process, NULL, in_chantmpls, out_chantmpls, + in_params, + NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info;
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/comic.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/comic.c
Changed
@@ -21,10 +21,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -40,16 +40,16 @@ ///////////////////////////////////////////////////////////// static uint32_t sqrti(uint32_t n) { - register uint32_t root=0, remainder=n, place=0x40000000, tmp; + register uint32_t root = 0, remainder = n, place = 0x40000000, tmp; - while (place > remainder) place>>=2; + while (place > remainder) place >>= 2; while (place) { - if (remainder >= (tmp=(root + place))) { + if (remainder >= (tmp = (root + place))) { remainder -= tmp; - root+=(place << 1); + root += (place << 1); } - root>>=1; - place>>=2; + root >>= 1; + place >>= 2; } return root; } @@ -58,13 +58,13 @@ static void cp_chroma(unsigned char *dst, unsigned char *src, int irowstride, int orowstride, int width, int height) { - if (irowstride==orowstride&&irowstride==width) weed_memcpy(dst,src,width*height); + if (irowstride == orowstride && irowstride == width) weed_memcpy(dst, src, width * height); else { register int i; - for (i=0; i<height; i++) { - weed_memcpy(dst,src,width); - src+=irowstride; - dst+=orowstride; + for (i = 0; i < height; i++) { + weed_memcpy(dst, src, width); + src += irowstride; + dst += orowstride; } } } @@ -73,103 +73,106 @@ static int comic_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error),*out_channel=weed_get_plantptr_value(inst,"out_channels", - &error); - uint8_t **srcp=(uint8_t **)weed_get_voidptr_array(in_channel,"pixel_data",&error); - uint8_t **dstp=(uint8_t **)weed_get_voidptr_array(out_channel,"pixel_data",&error); - int width=weed_get_int_value(in_channel,"width",&error); - int height=weed_get_int_value(in_channel,"height",&error); - int *irowstrides=weed_get_int_array(in_channel,"rowstrides",&error); - int *orowstrides=weed_get_int_array(out_channel,"rowstrides",&error); - int palette=weed_get_int_value(in_channel,"current_palette",&error); - int clamping=weed_get_int_value(in_channel,"YUV_clamping",&error); - int irowstride,orowstride; - uint8_t *src,*dst,*end; - int row0,row1,sum,scale=384,mix=192; - int yinv,ymin,ymax,nplanes; + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error), *out_channel = weed_get_plantptr_value(inst, + "out_channels", + &error); + uint8_t **srcp = (uint8_t **)weed_get_voidptr_array(in_channel, "pixel_data", &error); + uint8_t **dstp = (uint8_t **)weed_get_voidptr_array(out_channel, "pixel_data", &error); + int width = weed_get_int_value(in_channel, "width", &error); + int height = weed_get_int_value(in_channel, "height", &error); + int *irowstrides = weed_get_int_array(in_channel, "rowstrides", &error); + int *orowstrides = weed_get_int_array(out_channel, "rowstrides", &error); + int palette = weed_get_int_value(in_channel, "current_palette", &error); + int clamping = weed_get_int_value(in_channel, "YUV_clamping", &error); + int irowstride, orowstride; + uint8_t *src, *dst, *end; + int row0, row1, sum, scale = 384, mix = 192; + int yinv, ymin, ymax, nplanes; register int i; // get the Y planes - src=srcp[0]; - dst=dstp[0]; + src = srcp[0]; + dst = dstp[0]; - irowstride=irowstrides[0]; - orowstride=orowstrides[0]; + irowstride = irowstrides[0]; + orowstride = orowstrides[0]; // skip top scanline - weed_memcpy(dst,src,width); + weed_memcpy(dst, src, width); - src+=irowstride; - dst+=orowstride; + src += irowstride; + dst += orowstride; // calc end - end=src+(height-2)*irowstride; + end = src + (height - 2) * irowstride; // dst remainder after copying width - orowstride-=width; + orowstride -= width; - if (clamping==WEED_YUV_CLAMPING_UNCLAMPED) { - yinv=255; - ymin=0; - ymax=255; + if (clamping == WEED_YUV_CLAMPING_UNCLAMPED) { + yinv = 255; + ymin = 0; + ymax = 255; } else { - yinv=251; - ymin=16; - ymax=235; + yinv = 251; + ymin = 16; + ymax = 235; } // skip rightmost pixel width--; // process each row - for (; src<end; src+=(irowstride-width-1)) { + for (; src < end; src += (irowstride - width - 1)) { // skip leftmost pixel - *(dst++)=*src; + *(dst++) = *src; src++; // process all pixels except leftmost and rightmost - for (i=1; i<width; i++) { + for (i = 1; i < width; i++) { // do edge detect and convolve - row0=(*(src+irowstride-1) - *(src-irowstride-1)) + ((*(src+irowstride) - *(src-irowstride)) << 1) + (*(src+irowstride+1) - * - (src+irowstride-1)); - row1=(*(src-irowstride+1) - *(src-irowstride-1)) + ((*(src+1) - *(src-1)) << 1) + (*(src+irowstride+1) + *(src+irowstride-1)); + row0 = (*(src + irowstride - 1) - * (src - irowstride - 1)) + ((*(src + irowstride) - * (src - irowstride)) << 1) + (* + (src + irowstride + 1) - * + (src + irowstride - 1)); + row1 = (*(src - irowstride + 1) - * (src - irowstride - 1)) + ((*(src + 1) - * (src - 1)) << 1) + (*(src + irowstride + 1) + * + (src + irowstride - 1)); - sum= ((3 * sqrti(row0 * row0 + row1 *row1) / 2) * scale) >>8; + sum = ((3 * sqrti(row0 * row0 + row1 * row1) / 2) * scale) >> 8; // clamp and invert - sum=yinv-(sum<ymin?ymin:sum>ymax?ymax:sum); + sum = yinv - (sum < ymin ? ymin : sum > ymax ? ymax : sum); // mix 25% effected with 75% original - sum=((256-mix)*sum+mix*(*src))>>8; + sum = ((256 - mix) * sum + mix * (*src)) >> 8; - *(dst++)=(uint8_t)(sum=(sum<ymin?ymin:sum>ymax?ymax:sum)); + *(dst++) = (uint8_t)(sum = (sum < ymin ? ymin : sum > ymax ? ymax : sum)); src++; } // skip rightmost pixel - *(dst++)=*src; + *(dst++) = *src; src++; // dst to next row - dst+=orowstride; + dst += orowstride; } width++; // copy bottom row - weed_memcpy(dst,src,width); + weed_memcpy(dst, src, width); - if (palette==WEED_PALETTE_YUV420P||palette==WEED_PALETTE_YVU420P) height>>=1; - if (palette==WEED_PALETTE_YUV420P||palette==WEED_PALETTE_YVU420P||palette==WEED_PALETTE_YUV422P) width>>=1; + if (palette == WEED_PALETTE_YUV420P || palette == WEED_PALETTE_YVU420P) height >>= 1; + if (palette == WEED_PALETTE_YUV420P || palette == WEED_PALETTE_YVU420P || palette == WEED_PALETTE_YUV422P) width >>= 1; - if (palette==WEED_PALETTE_YUVA4444P) nplanes=4; - else nplanes=3; + if (palette == WEED_PALETTE_YUVA4444P) nplanes = 4; + else nplanes = 3; - for (i=1; i<nplanes; i++) { - cp_chroma(dstp[i],srcp[i],irowstrides[i],orowstrides[i],width,height); + for (i = 1; i < nplanes; i++) { + cp_chroma(dstp[i], srcp[i], irowstrides[i], orowstrides[i], width, height); } weed_free(srcp); @@ -184,20 +187,21 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_YUV444P,WEED_PALETTE_YUVA4444P,WEED_PALETTE_YUV422P,WEED_PALETTE_YUV420P,WEED_PALETTE_YVU420P,WEED_PALETTE_END}; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_YUV444P, WEED_PALETTE_YUVA4444P, WEED_PALETTE_YUV422P, WEED_PALETTE_YUV420P, WEED_PALETTE_YVU420P, WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",0,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",0,palette_list),NULL}; - weed_plant_t *filter_class=weed_filter_class_init("comicbook","salsaman",1,0,NULL,&comic_process,NULL,in_chantmpls,out_chantmpls,NULL,NULL); + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", 0, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", 0, palette_list), NULL}; + weed_plant_t *filter_class = weed_filter_class_init("comicbook", "salsaman", 1, 0, NULL, &comic_process, NULL, in_chantmpls, out_chantmpls, + NULL, NULL); // set preference of unclamped - weed_set_int_value(in_chantmpls[0],"YUV_clamping",WEED_YUV_CLAMPING_UNCLAMPED); + weed_set_int_value(in_chantmpls[0], "YUV_clamping", WEED_YUV_CLAMPING_UNCLAMPED); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/data_processor.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/data_processor.c
Changed
@@ -21,10 +21,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=1; // number of different weed api versions supported -static int api_versions[]= {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 1; // number of different weed api versions supported +static int api_versions[] = {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -72,11 +72,11 @@ static node *new_node(char *value) { - node *newnode=weed_malloc(sizeof(node)); - newnode->left=newnode->right=newnode->parent=NULL; - newnode->visited=0; - newnode->value=strdup(value); - newnode->varname=NULL; + node *newnode = weed_malloc(sizeof(node)); + newnode->left = newnode->right = newnode->parent = NULL; + newnode->visited = 0; + newnode->value = strdup(value); + newnode->varname = NULL; return newnode; } @@ -85,13 +85,13 @@ // add a parent to node; if node is rootnode, newnode becomes the new root // node becomes the left child - node *newnode=new_node(value); - newnode->left=xnode; - if (xnode->parent!=NULL) { - if (xnode->parent->left==xnode) xnode->parent->left=newnode; - else xnode->parent->right=newnode; - } else rootnode=newnode; - xnode->parent=newnode; + node *newnode = new_node(value); + newnode->left = xnode; + if (xnode->parent != NULL) { + if (xnode->parent->left == xnode) xnode->parent->left = newnode; + else xnode->parent->right = newnode; + } else rootnode = newnode; + xnode->parent = newnode; return newnode; } @@ -100,9 +100,9 @@ static node *add_right(node *xnode, char *value) { // add node as right child - node *newnode=new_node(value); - newnode->parent=xnode; - xnode->right=newnode; + node *newnode = new_node(value); + newnode->parent = xnode; + xnode->right = newnode; return newnode; } @@ -111,68 +111,68 @@ static void free_all(node *xnode) { - if (xnode==NULL) return; + if (xnode == NULL) return; free_all(xnode->left); free_all(xnode->right); weed_free(xnode->value); - if (xnode->varname!=NULL) weed_free(xnode->varname); + if (xnode->varname != NULL) weed_free(xnode->varname); weed_free(xnode); } static double getval(char *what, _sdata *sdata) { - int error,which; + int error, which; - if (!strncmp(what,"i[",2)) { - which=atoi(what+2); - if (which>=EQN-EQS) { - sdata->error=3; + if (!strncmp(what, "i[", 2)) { + which = atoi(what + 2); + if (which >= EQN - EQS) { + sdata->error = 3; return 0.; } - return weed_get_double_value(sdata->params[which],"value",&error); + return weed_get_double_value(sdata->params[which], "value", &error); } - if (!strncmp(what,"s[",2)) { - which=atoi(what+2); - if (which>=NSTORE) { - sdata->error=4; + if (!strncmp(what, "s[", 2)) { + which = atoi(what + 2); + if (which >= NSTORE) { + sdata->error = 4; return 0.; } return sdata->store[which]; } - return strtod(what,NULL); + return strtod(what, NULL); } static char *simplify2(node *left, node *right, node *op, _sdata *sdata) { - double res=0.; + double res = 0.; char buf[32768]; - if (!strcmp(op->value,"-")) res=getval(left->value,sdata)-getval(right->value,sdata); - else if (!strcmp(op->value,"*")) res=getval(left->value,sdata)*getval(right->value,sdata); - else if (!strcmp(op->value,"+")) res=getval(left->value,sdata)+getval(right->value,sdata); - else if (!strcmp(op->value,"/")) res=getval(left->value,sdata)/getval(right->value,sdata); + if (!strcmp(op->value, "-")) res = getval(left->value, sdata) - getval(right->value, sdata); + else if (!strcmp(op->value, "*")) res = getval(left->value, sdata) * getval(right->value, sdata); + else if (!strcmp(op->value, "+")) res = getval(left->value, sdata) + getval(right->value, sdata); + else if (!strcmp(op->value, "/")) res = getval(left->value, sdata) / getval(right->value, sdata); weed_free(op->value); - if (op->varname!=NULL) { - snprintf(buf,32768,"%s[%d]",op->varname,(int)res); - res=getval(buf,sdata); + if (op->varname != NULL) { + snprintf(buf, 32768, "%s[%d]", op->varname, (int)res); + res = getval(buf, sdata); free(op->varname); - op->varname=NULL; + op->varname = NULL; } - snprintf(buf,32768,"%f",res); + snprintf(buf, 32768, "%f", res); - op->value=strdup(buf); + op->value = strdup(buf); free_all(left); free_all(right); - op->left=op->right=NULL; + op->left = op->right = NULL; return op->value; } @@ -181,51 +181,51 @@ static char *simplify(node *xnode, _sdata *sdata) { - char *res=NULL; + char *res = NULL; - if (xnode==NULL) return NULL; + if (xnode == NULL) return NULL; - if (xnode->left==NULL) { - xnode->visited=2; + if (xnode->left == NULL) { + xnode->visited = 2; return xnode->value; } - if (xnode->left->left==NULL&&xnode->right->left==NULL) { + if (xnode->left->left == NULL && xnode->right->left == NULL) { #ifdef DEBUG - fprintf(stderr,"simplifying %s %s %s = ",xnode->left->value,xnode->value,xnode->right->value); + fprintf(stderr, "simplifying %s %s %s = ", xnode->left->value, xnode->value, xnode->right->value); #endif - res=simplify2(xnode->left,xnode->right,xnode,sdata); - if (xnode->left!=NULL) xnode->left->visited=2; - if (xnode->right!=NULL) xnode->right->visited=2; + res = simplify2(xnode->left, xnode->right, xnode, sdata); + if (xnode->left != NULL) xnode->left->visited = 2; + if (xnode->right != NULL) xnode->right->visited = 2; #ifdef DEBUG - fprintf(stderr,"%s\n",res); + fprintf(stderr, "%s\n", res); #endif } else { - simplify(xnode->left,sdata); - simplify(xnode->right,sdata); + simplify(xnode->left, sdata); + simplify(xnode->right, sdata); - if (xnode->left->left==NULL&&xnode->right->left==NULL) { + if (xnode->left->left == NULL && xnode->right->left == NULL) { #ifdef DEBUG - fprintf(stderr,"simplifying %s %s %s = ",xnode->left->value,xnode->value,xnode->right->value); + fprintf(stderr, "simplifying %s %s %s = ", xnode->left->value, xnode->value, xnode->right->value); #endif - res=simplify2(xnode->left,xnode->right,xnode,sdata); - if (xnode->left!=NULL) xnode->left->visited=2; - if (xnode->right!=NULL) xnode->right->visited=2; + res = simplify2(xnode->left, xnode->right, xnode, sdata); + if (xnode->left != NULL) xnode->left->visited = 2; + if (xnode->right != NULL) xnode->right->visited = 2; #ifdef DEBUG - fprintf(stderr,"%s\n",res); + fprintf(stderr, "%s\n", res); #endif } else { - if (xnode->visited<2) { - xnode->visited=2; - simplify(xnode,sdata); + if (xnode->visited < 2) { + xnode->visited = 2; + simplify(xnode, sdata); } } } - xnode->visited=2; + xnode->visited = 2; return res; } @@ -233,18 +233,18 @@ //#define DEBUG_SYNTAX static int exp_to_tree(const char *exp) { - size_t len=strlen(exp); + size_t len = strlen(exp); - int nstart=-1; - int plevel=0; + int nstart = -1; + int plevel = 0; int pstart; - int gotdot=0; + int gotdot = 0; int retval; - int op=0; + int op = 0; char buf[1024]; - char *varname=NULL; + char *varname = NULL; char *parbit; char *tmp; @@ -253,23 +253,23 @@ register int i; - for (i=0; i<len; i++) { + for (i = 0; i < len; i++) { switch (exp[i]) { case '[': - if (varname==NULL) { + if (varname == NULL) { #ifdef DEBUG_SYNTAX printf("pt 1\n"); #endif return 1; } - plevel=2; - pstart=++i; + plevel = 2; + pstart = ++i; while (1) { - if (!strncmp(&exp[i],"]",1)) break; + if (!strncmp(&exp[i], "]", 1)) break; i++; - if (i>len) { + if (i > len) { #ifdef DEBUG_SYNTAX printf("pt 2\n"); #endif @@ -277,61 +277,61 @@ } } - if (i-pstart+3>MAX_EXP_LEN) return 5; + if (i - pstart + 3 > MAX_EXP_LEN) return 5; - parbit=weed_malloc(i-pstart+3); - sprintf(parbit,"0+"); // need at least one operator to hold the varname + parbit = weed_malloc(i - pstart + 3); + sprintf(parbit, "0+"); // need at least one operator to hold the varname - snprintf(parbit+2,i-pstart+1,"%s",exp+pstart); + snprintf(parbit + 2, i - pstart + 1, "%s", exp + pstart); #ifdef DEBUG - fprintf(stderr,"got subexpression2 %s\n",parbit); + fprintf(stderr, "got subexpression2 %s\n", parbit); #endif - oldroot=rootnode; - rootnode=NULL; + oldroot = rootnode; + rootnode = NULL; - retval=exp_to_tree(parbit); + retval = exp_to_tree(parbit); weed_free(parbit); - if (retval!=0) return retval; + if (retval != 0) return retval; - rootnode->varname=varname; - varname=NULL; + rootnode->varname = varname; + varname = NULL; - if (oldroot!=NULL) { - oldroot->right=rootnode; - if (rootnode!=NULL) rootnode->parent=oldroot; - rootnode=oldroot; + if (oldroot != NULL) { + oldroot->right = rootnode; + if (rootnode != NULL) rootnode->parent = oldroot; + rootnode = oldroot; } break; case '(': - if (plevel==1) { + if (plevel == 1) { #ifdef DEBUG_SYNTAX printf("pt 3\n"); #endif return 1; } - if (nstart!=-1) { + if (nstart != -1) { #ifdef DEBUG_SYNTAX printf("pt 4\n"); #endif return 1; } - plevel=2; - pstart=++i; + plevel = 2; + pstart = ++i; while (1) { - if (!strncmp(&exp[i],")",1)) plevel--; - else if (!strncmp(&exp[i],"(",1)) plevel++; + if (!strncmp(&exp[i], ")", 1)) plevel--; + else if (!strncmp(&exp[i], "(", 1)) plevel++; - if (plevel==1) break; + if (plevel == 1) break; i++; - if (i>len) { + if (i > len) { #ifdef DEBUG_SYNTAX printf("pt 5\n"); #endif @@ -339,24 +339,24 @@ } } - parbit=strndup(exp+pstart,i-pstart); + parbit = strndup(exp + pstart, i - pstart); #ifdef DEBUG - fprintf(stderr,"got subexpression %s\n",parbit); + fprintf(stderr, "got subexpression %s\n", parbit); #endif - oldroot=rootnode; - rootnode=NULL; + oldroot = rootnode; + rootnode = NULL; - retval=exp_to_tree(parbit); + retval = exp_to_tree(parbit); weed_free(parbit); - if (retval!=0) return retval; + if (retval != 0) return retval; - if (oldroot!=NULL) { - oldroot->right=rootnode; - if (rootnode!=NULL) rootnode->parent=oldroot; - rootnode=oldroot; + if (oldroot != NULL) { + oldroot->right = rootnode; + if (rootnode != NULL) rootnode->parent = oldroot; + rootnode = oldroot; } break; @@ -370,135 +370,135 @@ case '7': case '8': case '9': - if (plevel==1) { + if (plevel == 1) { #ifdef DEBUG_SYNTAX printf("pt 6\n"); #endif return 1; } - if (varname!=NULL) { + if (varname != NULL) { #ifdef DEBUG_SYNTAX printf("pt 7\n"); #endif return 1; } - if (nstart==-1) nstart=i; + if (nstart == -1) nstart = i; break; case '.': - if (plevel==1) { + if (plevel == 1) { #ifdef DEBUG_SYNTAX printf("pt 8\n"); #endif return 1; } - if (gotdot||varname!=NULL) { + if (gotdot || varname != NULL) { #ifdef DEBUG_SYNTAX printf("pt 9\n"); #endif return 1; } - if (nstart==-1) nstart=i; - gotdot=1; + if (nstart == -1) nstart = i; + gotdot = 1; break; case '-': case '+': - if (varname!=NULL) { + if (varname != NULL) { #ifdef DEBUG_SYNTAX printf("pt 10\n"); #endif return 1; } - if (nstart==-1&&plevel==0) { - if (len+2>MAX_EXP_LEN) return 5; + if (nstart == -1 && plevel == 0) { + if (len + 2 > MAX_EXP_LEN) return 5; - tmp=weed_malloc(len+2); - snprintf(tmp,i+1,"%s",exp); + tmp = weed_malloc(len + 2); + snprintf(tmp, i + 1, "%s", exp); - sprintf(tmp+i,"0"); + sprintf(tmp + i, "0"); // replace "+-" or "-+" with "0-" // replace "++" or "--" with "0+ or " - if ((op=='-'&&exp[i]=='+')||(op=='+'&&exp[i]=='-')||(op!='+'&&op!='-'&&exp[i]=='-')) - sprintf(tmp+i+1,"-"); + if ((op == '-' && exp[i] == '+') || (op == '+' && exp[i] == '-') || (op != '+' && op != '-' && exp[i] == '-')) + sprintf(tmp + i + 1, "-"); else - sprintf(tmp+i+1,"+"); - sprintf(tmp+i+2,"%s",exp+i+1); + sprintf(tmp + i + 1, "+"); + sprintf(tmp + i + 2, "%s", exp + i + 1); len++; i--; - sprintf((char *)exp,"%s",tmp); + sprintf((char *)exp, "%s", tmp); weed_free(tmp); - op=exp[i]; + op = exp[i]; break; } case '*': case '/': - if (varname!=NULL) { + if (varname != NULL) { #ifdef DEBUG_SYNTAX printf("pt 11\n"); #endif return 1; } - op=exp[i]; - if (plevel==0) { - if (nstart==-1) { + op = exp[i]; + if (plevel == 0) { + if (nstart == -1) { #ifdef DEBUG_SYNTAX printf("pt 12\n"); #endif return 1; } - snprintf(buf,i-nstart+1,"%s",exp+nstart); + snprintf(buf, i - nstart + 1, "%s", exp + nstart); - if (rootnode==NULL) { - rootnode=new_node(buf); - snprintf(buf,2,"%s",&exp[i]); - add_parent(rootnode,buf); + if (rootnode == NULL) { + rootnode = new_node(buf); + snprintf(buf, 2, "%s", &exp[i]); + add_parent(rootnode, buf); } else { - add_right(rootnode,buf); - snprintf(buf,2,"%s",&exp[i]); - add_parent(rootnode,buf); + add_right(rootnode, buf); + snprintf(buf, 2, "%s", &exp[i]); + add_parent(rootnode, buf); } } else { - snprintf(buf,2,"%s",&exp[i]); - add_parent(rootnode,buf); + snprintf(buf, 2, "%s", &exp[i]); + add_parent(rootnode, buf); } - nstart=-1; - gotdot=0; - plevel=0; + nstart = -1; + gotdot = 0; + plevel = 0; break; case 'i': - if (plevel==1) { + if (plevel == 1) { #ifdef DEBUG_SYNTAX printf("pt 13\n"); #endif return 1; } - if (varname!=NULL||nstart!=-1) { + if (varname != NULL || nstart != -1) { #ifdef DEBUG_SYNTAX printf("pt 14\n"); #endif return 1; } - varname=strdup("i"); + varname = strdup("i"); break; case 's': - if (plevel==1) { + if (plevel == 1) { #ifdef DEBUG_SYNTAX printf("pt 15\n"); #endif return 1; } - if (varname!=NULL||nstart!=-1) { + if (varname != NULL || nstart != -1) { #ifdef DEBUG_SYNTAX printf("pt 16\n"); #endif return 1; } - varname=strdup("s"); + varname = strdup("s"); break; case ' ': break; @@ -507,20 +507,20 @@ } } - if (nstart==-1) { + if (nstart == -1) { #ifdef DEBUG_SYNTAX printf("pt 17\n"); #endif - if (plevel==0) return 1; + if (plevel == 0) return 1; return 0; } - snprintf(buf,i-nstart+1,"%s",exp+nstart); + snprintf(buf, i - nstart + 1, "%s", exp + nstart); - if (rootnode==NULL) { - rootnode=new_node(buf); + if (rootnode == NULL) { + rootnode = new_node(buf); } else { - add_right(rootnode,buf); + add_right(rootnode, buf); } return 0; @@ -532,23 +532,23 @@ static void print_tree(node *xnode, int visits) { //visit tree in infix order - if (xnode==NULL) return; + if (xnode == NULL) return; - if (xnode->left==NULL) { - fprintf(stderr,"%s",xnode->value); - xnode->visited=visits; + if (xnode->left == NULL) { + fprintf(stderr, "%s", xnode->value); + xnode->visited = visits; return; } - if (xnode->left->visited<visits) { - fprintf(stderr,"("); - print_tree(xnode->left,visits); + if (xnode->left->visited < visits) { + fprintf(stderr, "("); + print_tree(xnode->left, visits); } - if (xnode->visited<visits) printf("%s",xnode->value); - xnode->visited=visits; - if (xnode->right->visited<visits) { - print_tree(xnode->right,visits); - fprintf(stderr,")"); + if (xnode->visited < visits) printf("%s", xnode->value); + xnode->visited = visits; + if (xnode->right->visited < visits) { + print_tree(xnode->right, visits); + fprintf(stderr, ")"); } } #endif @@ -562,21 +562,21 @@ static int preproc(const char *exp) { // put parens around *, / char tmp[65536]; - char lastop=0; + char lastop = 0; - int nstart=-1,plevel=0; - size_t len=strlen(exp); + int nstart = -1, plevel = 0; + size_t len = strlen(exp); register int i; - for (i=0; i<len; i++) { + for (i = 0; i < len; i++) { switch (exp[i]) { case '(': - nstart=i; + nstart = i; case '[': - i+=preproc(&exp[i+1]); - len=strlen(exp); + i += preproc(&exp[i + 1]); + len = strlen(exp); break; case ')': case ']': @@ -594,40 +594,40 @@ case '9': case 'i': case 's': - if (nstart==-1) nstart=i; + if (nstart == -1) nstart = i; break; case '+': case '-': - if (nstart==-1) { - nstart=i; + if (nstart == -1) { + nstart = i; break; } - if (plevel>0&&(lastop=='*'||lastop=='/')) { + if (plevel > 0 && (lastop == '*' || lastop == '/')) { // close parens - if (nstart==-1) break; - sprintf(tmp,"%s",exp); - sprintf(tmp+i,")%s",exp+i); - sprintf((char *)exp,"%s",tmp); + if (nstart == -1) break; + sprintf(tmp, "%s", exp); + sprintf(tmp + i, ")%s", exp + i); + sprintf((char *)exp, "%s", tmp); len++; i++; plevel--; } - lastop=exp[i]; - nstart=-1; + lastop = exp[i]; + nstart = -1; break; case '*': case '/': - if (lastop=='+'||lastop=='-') { + if (lastop == '+' || lastop == '-') { // open parens - sprintf(tmp,"%s",exp); - sprintf(tmp+nstart,"(%s",exp+nstart); - sprintf((char *)exp,"%s",tmp); + sprintf(tmp, "%s", exp); + sprintf(tmp + nstart, "(%s", exp + nstart); + sprintf((char *)exp, "%s", tmp); len++; i++; - nstart=-1; + nstart = -1; plevel++; } - lastop=exp[i]; + lastop = exp[i]; break; default: break; @@ -637,13 +637,13 @@ preprocdone: // close any open parens - if (plevel>0) { - sprintf(tmp,"%s",exp); - for (i=0; i<plevel; i++) { - sprintf(tmp+len+i,")"); + if (plevel > 0) { + sprintf(tmp, "%s", exp); + for (i = 0; i < plevel; i++) { + sprintf(tmp + len + i, ")"); } - sprintf((char *)exp,"%s",tmp); - i=strlen(exp); + sprintf((char *)exp, "%s", tmp); + i = strlen(exp); } return i; @@ -655,40 +655,40 @@ static double evaluate(const char *exp, _sdata *sdata) { double res; - sdata->error=0; - rootnode=NULL; + sdata->error = 0; + rootnode = NULL; preproc(exp); #ifdef DEBUG - printf("preproc is %s\n",exp); + printf("preproc is %s\n", exp); #endif - sdata->error=exp_to_tree(exp); - if (sdata->error>0) return 0.; + sdata->error = exp_to_tree(exp); + if (sdata->error > 0) return 0.; #ifdef DEBUG - fprintf(stderr,"\nExp is:\n"); - print_tree(rootnode,2); - fprintf(stderr,"\n\n"); + fprintf(stderr, "\nExp is:\n"); + print_tree(rootnode, 2); + fprintf(stderr, "\n\n"); #endif - simplify(rootnode,sdata); + simplify(rootnode, sdata); #ifdef DEBUG - fprintf(stderr,"\nSimplified result is:\n"); - print_tree(rootnode,3); - fprintf(stderr,"\n\nOK\n"); + fprintf(stderr, "\nSimplified result is:\n"); + print_tree(rootnode, 3); + fprintf(stderr, "\n\nOK\n"); #endif if (sdata->error) return 0.; - if (!strncmp(rootnode->value,"inf",3)) { - sdata->error=2; + if (!strncmp(rootnode->value, "inf", 3)) { + sdata->error = 2; return 0.; } - res=strtod(rootnode->value,NULL); + res = strtod(rootnode->value, NULL); free_all(rootnode); @@ -702,22 +702,22 @@ int dataproc_init(weed_plant_t *inst) { register int i; - _sdata *sdata=(_sdata *)weed_malloc(sizeof(_sdata)); + _sdata *sdata = (_sdata *)weed_malloc(sizeof(_sdata)); - if (sdata==NULL) return WEED_ERROR_MEMORY_ALLOCATION; + if (sdata == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - sdata->store=weed_malloc(NSTORE*sizeof(double)); + sdata->store = weed_malloc(NSTORE * sizeof(double)); - if (sdata->store==NULL) { + if (sdata->store == NULL) { weed_free(sdata); return WEED_ERROR_MEMORY_ALLOCATION; } - for (i=0; i<NSTORE; i++) { - sdata->store[i]=0.; + for (i = 0; i < NSTORE; i++) { + sdata->store[i] = 0.; } - weed_set_voidptr_value(inst,"plugin_internal",sdata); + weed_set_voidptr_value(inst, "plugin_internal", sdata); return WEED_NO_ERROR; } @@ -726,13 +726,13 @@ int dataproc_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); - weed_plant_t **out_params=weed_get_plantptr_array(inst,"out_parameters",&error); - _sdata *sdata=(_sdata *)weed_get_voidptr_value(inst,"plugin_internal",&error); + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); + weed_plant_t **out_params = weed_get_plantptr_array(inst, "out_parameters", &error); + _sdata *sdata = (_sdata *)weed_get_voidptr_value(inst, "plugin_internal", &error); - double res=0.; + double res = 0.; - char *ip=NULL,*ptr; + char *ip = NULL, *ptr; char exp[MAX_EXP_LEN]; @@ -742,102 +742,102 @@ register int i; - sdata->params=in_params; + sdata->params = in_params; - for (i=EQS; i<EQN; i++) { - if (ip!=NULL) weed_free(ip); - ip=weed_get_string_value(in_params[i],"value",&error); + for (i = EQS; i < EQN; i++) { + if (ip != NULL) weed_free(ip); + ip = weed_get_string_value(in_params[i], "value", &error); if (!strlen(ip)) continue; - ptr=index(ip,'='); - if (ptr==NULL) { - fprintf(stderr,"data_processor ERROR: eqn %d has no '='\n",i-EQS); + ptr = index(ip, '='); + if (ptr == NULL) { + fprintf(stderr, "data_processor ERROR: eqn %d has no '='\n", i - EQS); continue; } - if (strncmp(ip,"s",1)&&strncmp(ip,"o",1)) { - fprintf(stderr,"data_processor ERROR: eqn %d must set s or o value\n",i-EQS); + if (strncmp(ip, "s", 1) && strncmp(ip, "o", 1)) { + fprintf(stderr, "data_processor ERROR: eqn %d must set s or o value\n", i - EQS); continue; } - if (strncmp(ip+1,"[",1)||strncmp(ptr-1,"]",1)) { - fprintf(stderr,"data_processor ERROR: eqn %d has invalid []\n",i-EQS); + if (strncmp(ip + 1, "[", 1) || strncmp(ptr - 1, "]", 1)) { + fprintf(stderr, "data_processor ERROR: eqn %d has invalid []\n", i - EQS); continue; } - if (strlen(ptr+1)>=MAX_EXP_LEN) { - fprintf(stderr,"data_processor ERROR: eqn %d has too long expression\n",i-EQS); + if (strlen(ptr + 1) >= MAX_EXP_LEN) { + fprintf(stderr, "data_processor ERROR: eqn %d has too long expression\n", i - EQS); continue; } - len=ptr-ip-2; + len = ptr - ip - 2; - if (len<1) { - fprintf(stderr,"data_processor ERROR: eqn %d has invalid []\n",i-EQS); + if (len < 1) { + fprintf(stderr, "data_processor ERROR: eqn %d has invalid []\n", i - EQS); continue; } - if (len>=MAX_EXP_LEN) { - fprintf(stderr,"data_processor ERROR: eqn %d has too long []\n",i-EQS); + if (len >= MAX_EXP_LEN) { + fprintf(stderr, "data_processor ERROR: eqn %d has too long []\n", i - EQS); continue; } - sdata->error=0; + sdata->error = 0; - snprintf(exp,len,"%s",ip+2); - which=(int)evaluate(exp,sdata); + snprintf(exp, len, "%s", ip + 2); + which = (int)evaluate(exp, sdata); - if (!strncmp(ip,"o[",2)) { - if (which>=EQN-EQS) { - sdata->error=3; + if (!strncmp(ip, "o[", 2)) { + if (which >= EQN - EQS) { + sdata->error = 3; } } - else if (!strncmp(ip,"s[",2)) { - if (which>=NSTORE) { - sdata->error=4; + else if (!strncmp(ip, "s[", 2)) { + if (which >= NSTORE) { + sdata->error = 4; } } if (!sdata->error) { - sprintf(exp,"%s",ptr+1); - res=evaluate(exp,sdata); - } else sdata->error+=100; + sprintf(exp, "%s", ptr + 1); + res = evaluate(exp, sdata); + } else sdata->error += 100; if (sdata->error) { switch (sdata->error) { case 1: - sprintf(exp,"%s",ptr+1); - fprintf(stderr,"data_processor ERROR: syntax error in RHS of eqn %d\n%s\n",i-EQS,exp); + sprintf(exp, "%s", ptr + 1); + fprintf(stderr, "data_processor ERROR: syntax error in RHS of eqn %d\n%s\n", i - EQS, exp); break; case 2: - fprintf(stderr,"data_processor ERROR: division by 0 in RHS of eqn %d\n",i-EQS); + fprintf(stderr, "data_processor ERROR: division by 0 in RHS of eqn %d\n", i - EQS); break; case 3: - fprintf(stderr,"data_processor ERROR: i array out of bounds in RHS of eqn %d\n",i-EQS); + fprintf(stderr, "data_processor ERROR: i array out of bounds in RHS of eqn %d\n", i - EQS); break; case 4: - fprintf(stderr,"data_processor ERROR: s array out of bounds in RHS of eqn %d\n",i-EQS); + fprintf(stderr, "data_processor ERROR: s array out of bounds in RHS of eqn %d\n", i - EQS); break; case 5: - fprintf(stderr,"data_processor ERROR: expanded expression too long in RHS of eqn %d\n",i-EQS); + fprintf(stderr, "data_processor ERROR: expanded expression too long in RHS of eqn %d\n", i - EQS); break; case 101: - snprintf(exp,len,"%s",ip+2); - fprintf(stderr,"data_processor ERROR: syntax error in LHS of eqn %d\n%s\n",i-EQS,exp); + snprintf(exp, len, "%s", ip + 2); + fprintf(stderr, "data_processor ERROR: syntax error in LHS of eqn %d\n%s\n", i - EQS, exp); break; case 102: - fprintf(stderr,"data_processor ERROR: division by 0 in LHS of eqn %d\n",i-EQS); + fprintf(stderr, "data_processor ERROR: division by 0 in LHS of eqn %d\n", i - EQS); break; case 103: - fprintf(stderr,"data_processor ERROR: o array out of bounds in LHS of eqn %d\n",i-EQS); + fprintf(stderr, "data_processor ERROR: o array out of bounds in LHS of eqn %d\n", i - EQS); break; case 104: - fprintf(stderr,"data_processor ERROR: s array out of bounds in LHS of eqn %d\n",i-EQS); + fprintf(stderr, "data_processor ERROR: s array out of bounds in LHS of eqn %d\n", i - EQS); break; case 105: - fprintf(stderr,"data_processor ERROR: expanded expression too long in LHS of eqn %d\n",i-EQS); + fprintf(stderr, "data_processor ERROR: expanded expression too long in LHS of eqn %d\n", i - EQS); break; default: break; @@ -846,16 +846,16 @@ } else { - if (!strncmp(ip,"s",1)) { - sdata->store[which]=res; + if (!strncmp(ip, "s", 1)) { + sdata->store[which] = res; } else { - weed_set_double_value(out_params[which],"value",res); + weed_set_double_value(out_params[which], "value", res); } } } - if (ip!=NULL) weed_free(ip); + if (ip != NULL) weed_free(ip); weed_free(in_params); weed_free(out_params); @@ -866,10 +866,10 @@ int dataproc_deinit(weed_plant_t *inst) { int error; - _sdata *sdata=(_sdata *)weed_get_voidptr_value(inst,"plugin_internal",&error); + _sdata *sdata = (_sdata *)weed_get_voidptr_value(inst, "plugin_internal", &error); - if (sdata!=NULL) { - if (sdata->store!=NULL) weed_free(sdata->store); + if (sdata != NULL) { + if (sdata->store != NULL) weed_free(sdata->store); weed_free(sdata); } return WEED_NO_ERROR; @@ -879,13 +879,13 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); - if (plugin_info!=NULL) { - weed_plant_t *filter_class,*gui; + if (plugin_info != NULL) { + weed_plant_t *filter_class, *gui; - weed_plant_t *in_params[EQN+1]; - weed_plant_t *out_params[EQN-EQS+1]; + weed_plant_t *in_params[EQN + 1]; + weed_plant_t *out_params[EQN - EQS + 1]; register int i; @@ -894,36 +894,36 @@ char label[256]; char desc[512]; - for (i=0; i<EQS; i++) { - snprintf(name,256,"input%03d",i); - in_params[i]=weed_float_init(name,"",0.,-1000000000000.,1000000000000.); - gui=weed_parameter_template_get_gui(in_params[i]); - weed_set_boolean_value(gui,"hidden",WEED_TRUE); + for (i = 0; i < EQS; i++) { + snprintf(name, 256, "input%03d", i); + in_params[i] = weed_float_init(name, "", 0., -1000000000000., 1000000000000.); + gui = weed_parameter_template_get_gui(in_params[i]); + weed_set_boolean_value(gui, "hidden", WEED_TRUE); } - for (i=EQS; i<EQN; i++) { - snprintf(name,256,"equation%03d",i-EQS); - snprintf(label,256,"Equation %03d",i-EQS); - snprintf(name2,256,"output%03d",i-EQS); - in_params[i]=weed_text_init(name,label,""); - out_params[i-EQS]=weed_out_param_float_init_nominmax(name2,0.); + for (i = EQS; i < EQN; i++) { + snprintf(name, 256, "equation%03d", i - EQS); + snprintf(label, 256, "Equation %03d", i - EQS); + snprintf(name2, 256, "output%03d", i - EQS); + in_params[i] = weed_text_init(name, label, ""); + out_params[i - EQS] = weed_out_param_float_init_nominmax(name2, 0.); } - in_params[EQN]=NULL; - out_params[EQN-EQS]=NULL; + in_params[EQN] = NULL; + out_params[EQN - EQS] = NULL; - filter_class=weed_filter_class_init("data_processor","salsaman",1,0,&dataproc_init,&dataproc_process, - &dataproc_deinit,NULL,NULL,in_params,out_params); + filter_class = weed_filter_class_init("data_processor", "salsaman", 1, 0, &dataproc_init, &dataproc_process, + &dataproc_deinit, NULL, NULL, in_params, out_params); - snprintf(desc,512, + snprintf(desc, 512, "Generically process out[x] from a combination of in[y], store[z] and arithmetic expressions.\nE.g:\no[0]=s[0]\ns[0]=i[0]*4\n\nArray subscripts can be from 0 - %d", - EQS-1); + EQS - 1); - weed_set_string_value(filter_class,"description",desc); + weed_set_string_value(filter_class, "description", desc); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/data_unpacker.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/data_unpacker.c
Changed
@@ -22,10 +22,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=1; // number of different weed api versions supported -static int api_versions[]= {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 1; // number of different weed api versions supported +static int api_versions[] = {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -43,28 +43,28 @@ int dunpack_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); - weed_plant_t **out_params=weed_get_plantptr_array(inst,"out_parameters",&error); - double *fvals,xval; - - int oidx=0,nvals; - - register int i,j; - - for (i=0; i<256; i++) { - nvals=weed_leaf_num_elements(in_params[i],"value"); - if (nvals>0) { - fvals=weed_get_double_array(in_params[i],"value",&error); - for (j=0; j<nvals; j++) { - xval=fvals[j]; - if (xval>1.) xval=1.; - if (xval<-1.) xval=-1.; - weed_set_double_value(out_params[oidx++],"value",xval); - if (oidx==256) break; + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); + weed_plant_t **out_params = weed_get_plantptr_array(inst, "out_parameters", &error); + double *fvals, xval; + + int oidx = 0, nvals; + + register int i, j; + + for (i = 0; i < 256; i++) { + nvals = weed_leaf_num_elements(in_params[i], "value"); + if (nvals > 0) { + fvals = weed_get_double_array(in_params[i], "value", &error); + for (j = 0; j < nvals; j++) { + xval = fvals[j]; + if (xval > 1.) xval = 1.; + if (xval < -1.) xval = -1.; + weed_set_double_value(out_params[oidx++], "value", xval); + if (oidx == 256) break; } weed_free(fvals); } - if (oidx==256) break; + if (oidx == 256) break; } weed_free(in_params); @@ -75,9 +75,9 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); - if (plugin_info!=NULL) { + if (plugin_info != NULL) { weed_plant_t *filter_class; weed_plant_t *in_params[257]; @@ -88,27 +88,27 @@ char name[256]; char label[256]; - for (i=0; i<256; i++) { - snprintf(name,256,"input%03d",i); - snprintf(label,256,"Input %03d",i); - in_params[i]=weed_float_init(name,label,0.,0.,1.); - weed_set_int_value(in_params[i],"flags",WEED_PARAMETER_VARIABLE_ELEMENTS); + for (i = 0; i < 256; i++) { + snprintf(name, 256, "input%03d", i); + snprintf(label, 256, "Input %03d", i); + in_params[i] = weed_float_init(name, label, 0., 0., 1.); + weed_set_int_value(in_params[i], "flags", WEED_PARAMETER_VARIABLE_ELEMENTS); - snprintf(name,256,"Output %03d",i); - out_params[i]=weed_out_param_float_init(name,0.,-1.,1.); + snprintf(name, 256, "Output %03d", i); + out_params[i] = weed_out_param_float_init(name, 0., -1., 1.); } - in_params[i]=NULL; - out_params[i]=NULL; + in_params[i] = NULL; + out_params[i] = NULL; - filter_class=weed_filter_class_init("data_unpacker","salsaman",1,0,NULL,&dunpack_process, - NULL,NULL,NULL,in_params,out_params); + filter_class = weed_filter_class_init("data_unpacker", "salsaman", 1, 0, NULL, &dunpack_process, + NULL, NULL, NULL, in_params, out_params); - weed_set_string_value(filter_class,"description","Unpacks multivalued (array) data into single valued outputs"); + weed_set_string_value(filter_class, "description", "Unpacks multivalued (array) data into single valued outputs"); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/deinterlace.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/deinterlace.c
Changed
@@ -17,10 +17,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -39,11 +39,11 @@ static inline unsigned char *mix(unsigned char *a, unsigned char *b, int pcpy) { - unsigned char *mixed=(unsigned char *)weed_malloc(pcpy); + unsigned char *mixed = (unsigned char *)weed_malloc(pcpy); register int i; - for (i=0; i<pcpy; i++) { - mixed[i]=(*(a+i)+*(b+i))>>1; + for (i = 0; i < pcpy; i++) { + mixed[i] = (*(a + i) + * (b + i)) >> 1; } return mixed; } @@ -51,242 +51,244 @@ int deinterlace_process(weed_plant_t *inst, weed_timecode_t tc) { int error; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error),*out_channel=weed_get_plantptr_value(inst,"out_channels", - &error); - unsigned char *src=weed_get_voidptr_value(in_channel,"pixel_data",&error); - unsigned char *dst=weed_get_voidptr_value(out_channel,"pixel_data",&error); + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error), *out_channel = weed_get_plantptr_value(inst, + "out_channels", + &error); + unsigned char *src = weed_get_voidptr_value(in_channel, "pixel_data", &error); + unsigned char *dst = weed_get_voidptr_value(out_channel, "pixel_data", &error); - unsigned char **src_array=(unsigned char **)weed_get_voidptr_array(in_channel,"pixel_data",&error); - unsigned char **dst_array=(unsigned char **)weed_get_voidptr_array(out_channel,"pixel_data",&error); + unsigned char **src_array = (unsigned char **)weed_get_voidptr_array(in_channel, "pixel_data", &error); + unsigned char **dst_array = (unsigned char **)weed_get_voidptr_array(out_channel, "pixel_data", &error); - int inplace=(src==dst); + int inplace = (src == dst); - int width=weed_get_int_value(in_channel,"width",&error); - int height=weed_get_int_value(in_channel,"height",&error); - int palette=weed_get_int_value(in_channel,"current_palette",&error); - int irowstride=weed_get_int_value(in_channel,"rowstrides",&error); - int orowstride=weed_get_int_value(out_channel,"rowstrides",&error),orowstride2=orowstride*2; + int width = weed_get_int_value(in_channel, "width", &error); + int height = weed_get_int_value(in_channel, "height", &error); + int palette = weed_get_int_value(in_channel, "current_palette", &error); + int irowstride = weed_get_int_value(in_channel, "rowstrides", &error); + int orowstride = weed_get_int_value(out_channel, "rowstrides", &error), orowstride2 = orowstride * 2; register int x; - unsigned char *val1a,*val2a,*val3a,*val4a; - unsigned char *val2b,*val3b,*val4b; - unsigned char *val1c,*val2c,*val3c,*val4c; - unsigned char *res1,*res2,*res3,*res4,*res5,*res6; + unsigned char *val1a, *val2a, *val3a, *val4a; + unsigned char *val2b, *val3b, *val4b; + unsigned char *val1c, *val2c, *val3c, *val4c; + unsigned char *res1, *res2, *res3, *res4, *res5, *res6; - unsigned char *val2a_u=NULL,*val3a_u=NULL,*val4a_u=NULL; - unsigned char *val2b_u=NULL,*val3b_u=NULL,*val4b_u=NULL; - unsigned char *val2c_u=NULL,*val3c_u=NULL,*val4c_u=NULL; - unsigned char *res1_u=NULL,*res2_u=NULL,*res3_u=NULL,*res4_u=NULL,*res5_u=NULL,*res6_u=NULL; + unsigned char *val2a_u = NULL, *val3a_u = NULL, *val4a_u = NULL; + unsigned char *val2b_u = NULL, *val3b_u = NULL, *val4b_u = NULL; + unsigned char *val2c_u = NULL, *val3c_u = NULL, *val4c_u = NULL; + unsigned char *res1_u = NULL, *res2_u = NULL, *res3_u = NULL, *res4_u = NULL, *res5_u = NULL, *res6_u = NULL; - unsigned char *val2a_v=NULL,*val3a_v=NULL,*val4a_v=NULL; - unsigned char *val2b_v=NULL,*val3b_v=NULL,*val4b_v=NULL; - unsigned char *val2c_v=NULL,*val3c_v=NULL,*val4c_v=NULL; - unsigned char *res1_v=NULL,*res2_v=NULL,*res3_v=NULL,*res4_v=NULL,*res5_v=NULL,*res6_v=NULL; + unsigned char *val2a_v = NULL, *val3a_v = NULL, *val4a_v = NULL; + unsigned char *val2b_v = NULL, *val3b_v = NULL, *val4b_v = NULL; + unsigned char *val2c_v = NULL, *val3c_v = NULL, *val4c_v = NULL; + unsigned char *res1_v = NULL, *res2_v = NULL, *res3_v = NULL, *res4_v = NULL, *res5_v = NULL, *res6_v = NULL; - int d1,d2; - unsigned char m1,m2,m3,m4; + int d1, d2; + unsigned char m1, m2, m3, m4; - int irowstride2=irowstride*2; - unsigned char *end=src+height*irowstride-irowstride2; + int irowstride2 = irowstride * 2; + unsigned char *end = src + height * irowstride - irowstride2; - int psize=3,psize2,psize3,pcpy; + int psize = 3, psize2, psize3, pcpy; int widthx; - int luma_offs=0; + int luma_offs = 0; - if (palette==WEED_PALETTE_UYVY||palette==WEED_PALETTE_YUYV) width>>=1; // 2 pixels per macropixel + if (palette == WEED_PALETTE_UYVY || palette == WEED_PALETTE_YUYV) width >>= 1; // 2 pixels per macropixel - if (palette==WEED_PALETTE_ARGB32||palette==WEED_PALETTE_RGBA32||palette==WEED_PALETTE_BGRA32|| - palette==WEED_PALETTE_YUVA8888||palette==WEED_PALETTE_UYVY||palette==WEED_PALETTE_YUYV) psize=4; + if (palette == WEED_PALETTE_ARGB32 || palette == WEED_PALETTE_RGBA32 || palette == WEED_PALETTE_BGRA32 || + palette == WEED_PALETTE_YUVA8888 || palette == WEED_PALETTE_UYVY || palette == WEED_PALETTE_YUYV) psize = 4; - if (palette==WEED_PALETTE_YUV444P||palette==WEED_PALETTE_YUVA4444P||palette==WEED_PALETTE_YUV420P|| - palette==WEED_PALETTE_YVU420P||palette==WEED_PALETTE_YUV422P) psize=1; + if (palette == WEED_PALETTE_YUV444P || palette == WEED_PALETTE_YUVA4444P || palette == WEED_PALETTE_YUV420P || + palette == WEED_PALETTE_YVU420P || palette == WEED_PALETTE_YUV422P) psize = 1; - if (palette==WEED_PALETTE_ARGB32||palette==WEED_PALETTE_RGBA32||palette==WEED_PALETTE_BGRA32|| - palette==WEED_PALETTE_RGB24||palette==WEED_PALETTE_BGR24) luma_offs=1; + if (palette == WEED_PALETTE_ARGB32 || palette == WEED_PALETTE_RGBA32 || palette == WEED_PALETTE_BGRA32 || + palette == WEED_PALETTE_RGB24 || palette == WEED_PALETTE_BGR24) luma_offs = 1; - psize2=psize*2; - psize3=psize*3; + psize2 = psize * 2; + psize3 = psize * 3; - widthx=width*psize; + widthx = width * psize; - src+=irowstride; - dst+=orowstride; + src += irowstride; + dst += orowstride; - pcpy=psize; + pcpy = psize; - if (palette==WEED_PALETTE_ARGB32||palette==WEED_PALETTE_RGBA32||palette==WEED_PALETTE_BGRA32||palette==WEED_PALETTE_YUVA8888) pcpy=3; + if (palette == WEED_PALETTE_ARGB32 || palette == WEED_PALETTE_RGBA32 || palette == WEED_PALETTE_BGRA32 || + palette == WEED_PALETTE_YUVA8888) pcpy = 3; - for (; src < end ; src+=irowstride2) { - for (x=0; x<widthx; x+=psize3) { + for (; src < end ; src += irowstride2) { + for (x = 0; x < widthx; x += psize3) { - if (!inplace&&palette==WEED_PALETTE_ARGB32) { + if (!inplace && palette == WEED_PALETTE_ARGB32) { // copy alpha packed - dst[x]=src[x]; - dst[x+4]=src[x+4]; - dst[x+8]=src[x+8]; + dst[x] = src[x]; + dst[x + 4] = src[x + 4]; + dst[x + 8] = src[x + 8]; x++; } - val1a = (src-irowstride+x); - val2a = (src+x); - val3a = (src+irowstride+x); - val4a = (src+irowstride2+x); + val1a = (src - irowstride + x); + val2a = (src + x); + val3a = (src + irowstride + x); + val4a = (src + irowstride2 + x); - val2b = (src+x+psize); + val2b = (src + x + psize); - val1c = (src-irowstride+x+psize2); - val2c = (src+x+psize2); - val3c = (src+irowstride+x+psize2); - val4c = (src+irowstride2+x+psize2); + val1c = (src - irowstride + x + psize2); + val2c = (src + x + psize2); + val3c = (src + irowstride + x + psize2); + val4c = (src + irowstride2 + x + psize2); - res1=val2a; - res3=val2b; - res5=val2c; + res1 = val2a; + res3 = val2b; + res5 = val2c; - if (palette==WEED_PALETTE_YUV444P||palette==WEED_PALETTE_YUVA4444P) { + if (palette == WEED_PALETTE_YUV444P || palette == WEED_PALETTE_YUVA4444P) { // u and v planes - val2a_u = (src_array[1]+x); - val3a_u = (src_array[1]+irowstride+x); - val4a_u = (src_array[1]+irowstride2+x); + val2a_u = (src_array[1] + x); + val3a_u = (src_array[1] + irowstride + x); + val4a_u = (src_array[1] + irowstride2 + x); - val2b_u = (src_array[1]+x+psize); + val2b_u = (src_array[1] + x + psize); - val2c_u = (src_array[1]+x+psize2); - val3c_u = (src_array[1]+irowstride+x+psize2); - val4c_u = (src_array[1]+irowstride2+x+psize2); + val2c_u = (src_array[1] + x + psize2); + val3c_u = (src_array[1] + irowstride + x + psize2); + val4c_u = (src_array[1] + irowstride2 + x + psize2); - res1_u=val2a_u; - res3_u=val2b_u; - res5_u=val2c_u; + res1_u = val2a_u; + res3_u = val2b_u; + res5_u = val2c_u; - val3a_v = (src_array[2]+irowstride+x); - val4a_v = (src_array[2]+irowstride2+x); + val3a_v = (src_array[2] + irowstride + x); + val4a_v = (src_array[2] + irowstride2 + x); - val2b_v = (src_array[2]+x+psize); + val2b_v = (src_array[2] + x + psize); - val2c_v = (src_array[2]+x+psize2); - val3c_v = (src_array[2]+irowstride+x+psize2); - val4c_v = (src_array[2]+irowstride2+x+psize2); + val2c_v = (src_array[2] + x + psize2); + val3c_v = (src_array[2] + irowstride + x + psize2); + val4c_v = (src_array[2] + irowstride2 + x + psize2); - res1_v=val2a_v; - res3_v=val2b_v; - res5_v=val2c_v; + res1_v = val2a_v; + res3_v = val2b_v; + res5_v = val2c_v; } - if (palette==WEED_PALETTE_UYVY8888) { + if (palette == WEED_PALETTE_UYVY8888) { //average 4 y values - m1=(*(val1a+1)+*(val1a+3)+*(val1c+1)+*(val1c+3))>>2; - m2=(*(val3a+1)+*(val3a+3)+*(val3c+1)+*(val3c+3))>>2; - m3=(*(val2a+1)+*(val2a+3)+*(val2c+1)+*(val2c+3))>>2; - m4=(*(val4a+1)+*(val4a+3)+*(val4c+1)+*(val4c+3))>>2; - } else if (palette==WEED_PALETTE_YUYV8888) { + m1 = (*(val1a + 1) + * (val1a + 3) + * (val1c + 1) + * (val1c + 3)) >> 2; + m2 = (*(val3a + 1) + * (val3a + 3) + * (val3c + 1) + * (val3c + 3)) >> 2; + m3 = (*(val2a + 1) + * (val2a + 3) + * (val2c + 1) + * (val2c + 3)) >> 2; + m4 = (*(val4a + 1) + * (val4a + 3) + * (val4c + 1) + * (val4c + 3)) >> 2; + } else if (palette == WEED_PALETTE_YUYV8888) { // average 4 y values - m1=(*(val1a)+*(val1a+2)+*(val1c)+*(val1c+2))>>2; - m2=(*(val3a)+*(val3a+2)+*(val3c)+*(val3c+2))>>2; - m3=(*(val2a)+*(val2a+2)+*(val2c)+*(val2c+2))>>2; - m4=(*(val4a)+*(val4a+2)+*(val4c)+*(val4c+2))>>2; + m1 = (*(val1a) + * (val1a + 2) + * (val1c) + * (val1c + 2)) >> 2; + m2 = (*(val3a) + * (val3a + 2) + * (val3c) + * (val3c + 2)) >> 2; + m3 = (*(val2a) + * (val2a + 2) + * (val2c) + * (val2c + 2)) >> 2; + m4 = (*(val4a) + * (val4a + 2) + * (val4c) + * (val4c + 2)) >> 2; } else { // average 2 green values - m1=(*(val1a+luma_offs)+*(val1c+luma_offs))>>1; // -1 row - m2=(*(val3a+luma_offs)+*(val3c+luma_offs))>>1; // +1 row - m3=(*(val2a+luma_offs)+*(val2c+luma_offs))>>1; // +0 row - m4=(*(val4a+luma_offs)+*(val4c+luma_offs))>>1; // +2 row + m1 = (*(val1a + luma_offs) + * (val1c + luma_offs)) >> 1; // -1 row + m2 = (*(val3a + luma_offs) + * (val3c + luma_offs)) >> 1; // +1 row + m3 = (*(val2a + luma_offs) + * (val2c + luma_offs)) >> 1; // +0 row + m4 = (*(val4a + luma_offs) + * (val4c + luma_offs)) >> 1; // +2 row } - d1=abs(m1-m2)+abs(m3-m4); // diff (-1,+1) + diff (0,+2) - d2=abs(m1-m4)+abs(m3-m2); // diff (-1,+2) + diff (0,+1) + d1 = abs(m1 - m2) + abs(m3 - m4); // diff (-1,+1) + diff (0,+2) + d2 = abs(m1 - m4) + abs(m3 - m2); // diff (-1,+2) + diff (0,+1) if ((d1) < (d2)) {// alternate rows differ more than consecutive rows - val4b = (src+irowstride2+x+psize); - val2b = (src+x+psize); + val4b = (src + irowstride2 + x + psize); + val2b = (src + x + psize); - res2=mix(val2a,val4a,pcpy); - res4=mix(val2b,val4b,pcpy); - res6=mix(val2c,val4c,pcpy); + res2 = mix(val2a, val4a, pcpy); + res4 = mix(val2b, val4b, pcpy); + res6 = mix(val2c, val4c, pcpy); - if (palette==WEED_PALETTE_YUV444P||palette==WEED_PALETTE_YUVA4444P) { + if (palette == WEED_PALETTE_YUV444P || palette == WEED_PALETTE_YUVA4444P) { // apply to u and v planes - val4b_u = (src_array[1]+irowstride2+x+psize); - val2b_u = (src_array[1]+x+psize); + val4b_u = (src_array[1] + irowstride2 + x + psize); + val2b_u = (src_array[1] + x + psize); - res2_u=mix(val2a_u,val4a_u,pcpy); - res4_u=mix(val2b_u,val4b_u,pcpy); - res6_u=mix(val2c_u,val4c_u,pcpy); + res2_u = mix(val2a_u, val4a_u, pcpy); + res4_u = mix(val2b_u, val4b_u, pcpy); + res6_u = mix(val2c_u, val4c_u, pcpy); - val4b_v = (src_array[2]+irowstride2+x+psize); - val2b_v = (src_array[2]+x+psize); + val4b_v = (src_array[2] + irowstride2 + x + psize); + val2b_v = (src_array[2] + x + psize); - res2_v=mix(val2a_v,val4a_v,pcpy); - res4_v=mix(val2b_v,val4b_v,pcpy); - res6_v=mix(val2c_v,val4c_v,pcpy); + res2_v = mix(val2a_v, val4a_v, pcpy); + res4_v = mix(val2b_v, val4b_v, pcpy); + res6_v = mix(val2c_v, val4c_v, pcpy); } } else { - val3b = (src+irowstride+x+psize); + val3b = (src + irowstride + x + psize); - res2=val3a; - res4=val3b; - res6=val3c; + res2 = val3a; + res4 = val3b; + res6 = val3c; - if (palette==WEED_PALETTE_YUV444P||palette==WEED_PALETTE_YUVA4444P) { - val3b_u = (src_array[1]+irowstride+x+psize); + if (palette == WEED_PALETTE_YUV444P || palette == WEED_PALETTE_YUVA4444P) { + val3b_u = (src_array[1] + irowstride + x + psize); - res2_u=val3a_u; - res4_u=val3b_u; - res6_u=val3c_u; + res2_u = val3a_u; + res4_u = val3b_u; + res6_u = val3c_u; - val3b_v = (src_array[2]+irowstride+x+psize); + val3b_v = (src_array[2] + irowstride + x + psize); - res2_v=val3a_v; - res4_v=val3b_v; - res6_v=val3c_v; + res2_v = val3a_v; + res4_v = val3b_v; + res6_v = val3c_v; } } - weed_memcpy(dst+x-orowstride,res1,pcpy); - weed_memcpy(dst+x,res2,pcpy); - weed_memcpy(dst+x+psize-orowstride,res3,pcpy); - weed_memcpy(dst+x+psize,res4,pcpy); - weed_memcpy(dst+x+psize2-orowstride,res5,pcpy); - weed_memcpy(dst+x+psize2,res6,pcpy); + weed_memcpy(dst + x - orowstride, res1, pcpy); + weed_memcpy(dst + x, res2, pcpy); + weed_memcpy(dst + x + psize - orowstride, res3, pcpy); + weed_memcpy(dst + x + psize, res4, pcpy); + weed_memcpy(dst + x + psize2 - orowstride, res5, pcpy); + weed_memcpy(dst + x + psize2, res6, pcpy); - if (palette==WEED_PALETTE_YUV444P||palette==WEED_PALETTE_YUVA4444P) { + if (palette == WEED_PALETTE_YUV444P || palette == WEED_PALETTE_YUVA4444P) { // u and v planes - weed_memcpy(dst_array[1]+x-orowstride,res1_u,pcpy); - weed_memcpy(dst_array[1]+x,res2_u,pcpy); - weed_memcpy(dst_array[1]+x+psize-orowstride,res3_u,pcpy); - weed_memcpy(dst_array[1]+x+psize,res4_u,pcpy); - weed_memcpy(dst_array[1]+x+psize2-orowstride,res5_u,pcpy); - weed_memcpy(dst_array[1]+x+psize2,res6_u,pcpy); - - weed_memcpy(dst_array[2]+x-orowstride,res1_v,pcpy); - weed_memcpy(dst_array[2]+x,res2_v,pcpy); - weed_memcpy(dst_array[2]+x+psize-orowstride,res3_v,pcpy); - weed_memcpy(dst_array[2]+x+psize,res4_v,pcpy); - weed_memcpy(dst_array[2]+x+psize2-orowstride,res5_v,pcpy); - weed_memcpy(dst_array[2]+x+psize2,res6_v,pcpy); + weed_memcpy(dst_array[1] + x - orowstride, res1_u, pcpy); + weed_memcpy(dst_array[1] + x, res2_u, pcpy); + weed_memcpy(dst_array[1] + x + psize - orowstride, res3_u, pcpy); + weed_memcpy(dst_array[1] + x + psize, res4_u, pcpy); + weed_memcpy(dst_array[1] + x + psize2 - orowstride, res5_u, pcpy); + weed_memcpy(dst_array[1] + x + psize2, res6_u, pcpy); + + weed_memcpy(dst_array[2] + x - orowstride, res1_v, pcpy); + weed_memcpy(dst_array[2] + x, res2_v, pcpy); + weed_memcpy(dst_array[2] + x + psize - orowstride, res3_v, pcpy); + weed_memcpy(dst_array[2] + x + psize, res4_v, pcpy); + weed_memcpy(dst_array[2] + x + psize2 - orowstride, res5_v, pcpy); + weed_memcpy(dst_array[2] + x + psize2, res6_v, pcpy); } - if (!inplace&&(palette==WEED_PALETTE_RGBA32||palette==WEED_PALETTE_BGRA32||palette==WEED_PALETTE_YUVA8888)) { + if (!inplace && (palette == WEED_PALETTE_RGBA32 || palette == WEED_PALETTE_BGRA32 || palette == WEED_PALETTE_YUVA8888)) { // copy alpha packed - dst[x+3]=src[x+3]; - dst[x+7]=src[x+7]; - dst[x+11]=src[x+11]; + dst[x + 3] = src[x + 3]; + dst[x + 7] = src[x + 7]; + dst[x + 11] = src[x + 11]; } if ((d1) < (d2)) { weed_free(res2); weed_free(res4); weed_free(res6); - if (palette==WEED_PALETTE_YUV444P||palette==WEED_PALETTE_YUVA4444P) { + if (palette == WEED_PALETTE_YUV444P || palette == WEED_PALETTE_YUVA4444P) { weed_free(res2_u); weed_free(res4_u); weed_free(res6_u); @@ -297,18 +299,18 @@ } } } - dst+=orowstride2; + dst += orowstride2; } if (!inplace) { - if (palette==WEED_PALETTE_YUV422P||palette==WEED_PALETTE_YUV420P||palette==WEED_PALETTE_YVU420P) { + if (palette == WEED_PALETTE_YUV422P || palette == WEED_PALETTE_YUV420P || palette == WEED_PALETTE_YVU420P) { // copy chroma planes - weed_memcpy(dst_array[1],src_array[1],width>>1*height>>(palette==WEED_PALETTE_YUV422P?0:1)); - weed_memcpy(dst_array[2],src_array[2],width>>1*height>>(palette==WEED_PALETTE_YUV422P?0:1)); + weed_memcpy(dst_array[1], src_array[1], width >> 1 * height >> (palette == WEED_PALETTE_YUV422P ? 0 : 1)); + weed_memcpy(dst_array[2], src_array[2], width >> 1 * height >> (palette == WEED_PALETTE_YUV422P ? 0 : 1)); - } else if (palette==WEED_PALETTE_YUVA4444P) { + } else if (palette == WEED_PALETTE_YUVA4444P) { // copy alpha plane - weed_memcpy(dst_array[3],src_array[3],width*height); + weed_memcpy(dst_array[3], src_array[3], width * height); } } @@ -321,18 +323,19 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_BGR24,WEED_PALETTE_RGB24,WEED_PALETTE_YUV888,WEED_PALETTE_RGBA32,WEED_PALETTE_BGRA32,WEED_PALETTE_ARGB32,WEED_PALETTE_YUVA8888,WEED_PALETTE_UYVY,WEED_PALETTE_YUYV,WEED_PALETTE_YUV444P,WEED_PALETTE_YUVA4444P,WEED_PALETTE_YUV420P,WEED_PALETTE_YVU420P,WEED_PALETTE_YUV422P,WEED_PALETTE_END}; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_BGR24, WEED_PALETTE_RGB24, WEED_PALETTE_YUV888, WEED_PALETTE_RGBA32, WEED_PALETTE_BGRA32, WEED_PALETTE_ARGB32, WEED_PALETTE_YUVA8888, WEED_PALETTE_UYVY, WEED_PALETTE_YUYV, WEED_PALETTE_YUV444P, WEED_PALETTE_YUVA4444P, WEED_PALETTE_YUV420P, WEED_PALETTE_YVU420P, WEED_PALETTE_YUV422P, WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",0,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",WEED_CHANNEL_CAN_DO_INPLACE,palette_list),NULL}; - weed_plant_t *filter_class=weed_filter_class_init("deinterlace","salsaman",1,0,NULL,&deinterlace_process,NULL,in_chantmpls,out_chantmpls, - NULL,NULL); + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", 0, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", WEED_CHANNEL_CAN_DO_INPLACE, palette_list), NULL}; + weed_plant_t *filter_class = weed_filter_class_init("deinterlace", "salsaman", 1, 0, NULL, &deinterlace_process, NULL, in_chantmpls, + out_chantmpls, + NULL, NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/edge.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/edge.c
Changed
@@ -17,10 +17,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -52,23 +52,23 @@ int edge_init(weed_plant_t *inst) { weed_plant_t *in_channel; - int error,height,width; + int error, height, width; - static_data *sdata=(static_data *)weed_malloc(sizeof(static_data)); + static_data *sdata = (static_data *)weed_malloc(sizeof(static_data)); if (sdata == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - in_channel=weed_get_plantptr_value(inst,"in_channels",&error); - height=weed_get_int_value(in_channel,"height",&error); - width=weed_get_int_value(in_channel,"width",&error); + in_channel = weed_get_plantptr_value(inst, "in_channels", &error); + height = weed_get_int_value(in_channel, "height", &error); + width = weed_get_int_value(in_channel, "width", &error); - sdata->map=weed_malloc(width * height * PIXEL_SIZE * 2); + sdata->map = weed_malloc(width * height * PIXEL_SIZE * 2); if (sdata->map == NULL) { weed_free(sdata); return WEED_ERROR_MEMORY_ALLOCATION; } weed_memset(sdata->map, 0, width * height * PIXEL_SIZE * 2); - weed_set_voidptr_value(inst,"plugin_internal",sdata); + weed_set_voidptr_value(inst, "plugin_internal", sdata); return WEED_NO_ERROR; } @@ -78,7 +78,7 @@ static_data *sdata; int error; - sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); + sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); if (sdata != NULL) { weed_free(sdata->map); weed_free(sdata); @@ -90,101 +90,103 @@ static inline RGB32 copywalpha(RGB32 *dest, size_t doffs, RGB32 *src, size_t offs, RGB32 val) { // copy alpha from src, and RGB from val; return val - dest[doffs]=(src[offs]&0xff000000)|(val&0xffffff); + dest[doffs] = (src[offs] & 0xff000000) | (val & 0xffffff); return val; } int edge_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error),*out_channel=weed_get_plantptr_value(inst,"out_channels", - &error); - RGB32 *src=weed_get_voidptr_value(in_channel,"pixel_data",&error); - RGB32 *dest=weed_get_voidptr_value(out_channel,"pixel_data",&error),*odest; - int video_width=weed_get_int_value(in_channel,"width",&error); - int video_height=weed_get_int_value(in_channel,"height",&error); - int irow=weed_get_int_value(in_channel,"rowstrides",&error)/4; // get val in pixels - int orow=weed_get_int_value(out_channel,"rowstrides",&error)/4; - int r,g,b; - static_data *sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); - RGB32 *map=sdata->map; - int map_width=video_width/2; - int map_height=video_height; + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error), *out_channel = weed_get_plantptr_value(inst, + "out_channels", + &error); + RGB32 *src = weed_get_voidptr_value(in_channel, "pixel_data", &error); + RGB32 *dest = weed_get_voidptr_value(out_channel, "pixel_data", &error), *odest; + int video_width = weed_get_int_value(in_channel, "width", &error); + int video_height = weed_get_int_value(in_channel, "height", &error); + int irow = weed_get_int_value(in_channel, "rowstrides", &error) / 4; // get val in pixels + int orow = weed_get_int_value(out_channel, "rowstrides", &error) / 4; + int r, g, b; + static_data *sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); + RGB32 *map = sdata->map; + int map_width = video_width / 2; + int map_height = video_height; register int x, y; RGB32 p, q; RGB32 v0, v1, v2, v3; - odest=dest; + odest = dest; src += irow; dest += orow; - for (y=1; y<map_height-4; y++) { - for (x=0; x<map_width; x++) { + for (y = 1; y < map_height - 4; y++) { + for (x = 0; x < map_width; x++) { p = *src; q = *(src + 1); /* difference between the current pixel and right neighbor. */ - r = ((int)(p & 0xff0000) - (int)(q & 0xff0000))>>16; - g = ((int)(p & 0x00ff00) - (int)(q & 0x00ff00))>>8; + r = ((int)(p & 0xff0000) - (int)(q & 0xff0000)) >> 16; + g = ((int)(p & 0x00ff00) - (int)(q & 0x00ff00)) >> 8; b = ((int)(p & 0x0000ff) - (int)(q & 0x0000ff)); r *= r; /* Multiply itself and divide it by 16, instead of */ g *= g; /* using abs(). */ b *= b; - r >>=5; /* To lack the lower bit for saturated addition, */ - g >>=5; /* divide the value by 32, instead of 16. It is */ - b >>=4; /* the same as `v2 &= 0xfefeff' */ - if (r>127) r = 127; - if (g>127) g = 127; - if (b>255) b = 255; - v2 = (r<<17)|(g<<9)|b; + r >>= 5; /* To lack the lower bit for saturated addition, */ + g >>= 5; /* divide the value by 32, instead of 16. It is */ + b >>= 4; /* the same as `v2 &= 0xfefeff' */ + if (r > 127) r = 127; + if (g > 127) g = 127; + if (b > 255) b = 255; + v2 = (r << 17) | (g << 9) | b; /* difference between the current pixel and upper neighbor. */ - q = *(src - irow*2); - r = ((int)(p & 0xff0000) - (int)(q & 0xff0000))>>16; - g = ((int)(p & 0x00ff00) - (int)(q & 0x00ff00))>>8; + q = *(src - irow * 2); + r = ((int)(p & 0xff0000) - (int)(q & 0xff0000)) >> 16; + g = ((int)(p & 0x00ff00) - (int)(q & 0x00ff00)) >> 8; b = ((int)(p & 0x0000ff) - (int)(q & 0x0000ff)); r *= r; g *= g; b *= b; - r>>=5; - g>>=5; - b>>=4; - if (r>127) r = 127; - if (g>127) g = 127; - if (b>255) b = 255; - v3 = (r<<17)|(g<<9)|b; - - map[y*video_width+x*2+2] = + r >>= 5; + g >>= 5; + b >>= 4; + if (r > 127) r = 127; + if (g > 127) g = 127; + if (b > 255) b = 255; + v3 = (r << 17) | (g << 9) | b; + + map[y * video_width + x * 2 + 2] = v3;//copywalpha(dest,2,src,2,copywalpha(dest,3,src,3,copywalpha(dest,orow+2,src,irow+2,copywalpha(dest,orow+3,src, // irow+3, // v3)))); - map[y*video_width*2+x*2] = v2;//copywalpha(dest,orow*2,src,irow*2,copywalpha(dest,orow*2+1,src,irow*2+1,copywalpha(dest,orow*3,src,irow*3, + map[y * video_width * 2 + x * 2] = + v2; //copywalpha(dest,orow*2,src,irow*2,copywalpha(dest,orow*2+1,src,irow*2+1,copywalpha(dest,orow*3,src,irow*3, // copywalpha(dest,orow*3+1,src,irow*3+1,v2)))); - v0 = map[(y-1)*video_width*2+x*2]; - v1 = map[y*video_width*2+x*2+2]; + v0 = map[(y - 1) * video_width * 2 + x * 2]; + v1 = map[y * video_width * 2 + x * 2 + 2]; - g = (r=v0+v1) & 0x01010100; - copywalpha(dest,0,src,0,r | (g - (g>>8))); - g = (r=v0+v3) & 0x01010100; - copywalpha(dest,0,src,1,r | (g - (g>>8))); - g = (r=v2+v1) & 0x01010100; - copywalpha(dest,orow,src,irow,r | (g - (g>>8))); - g = (r=v2+v3) & 0x01010100; - copywalpha(dest,orow+1,src,irow+1,r | (g - (g>>8))); + g = (r = v0 + v1) & 0x01010100; + copywalpha(dest, 0, src, 0, r | (g - (g >> 8))); + g = (r = v0 + v3) & 0x01010100; + copywalpha(dest, 0, src, 1, r | (g - (g >> 8))); + g = (r = v2 + v1) & 0x01010100; + copywalpha(dest, orow, src, irow, r | (g - (g >> 8))); + g = (r = v2 + v3) & 0x01010100; + copywalpha(dest, orow + 1, src, irow + 1, r | (g - (g >> 8))); src += 2; // jump 4 pixels dest += 2; // jump 4 pixels } - src += irow-map_width*2; - dest += orow-map_width*2; + src += irow - map_width * 2; + dest += orow - map_width * 2; } - for (y=0; y<2; y++) { - for (x=0; x<video_width; x++) copywalpha(odest++,0,src,0,0); - odest += orow-video_width; + for (y = 0; y < 2; y++) { + for (x = 0; x < video_width; x++) copywalpha(odest++, 0, src, 0, 0); + odest += orow - video_width; } return WEED_NO_ERROR; @@ -192,18 +194,18 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_BGRA32,WEED_PALETTE_END}; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_BGRA32, WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",WEED_CHANNEL_REINIT_ON_SIZE_CHANGE,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",0,palette_list),NULL}; - weed_plant_t *filter_class=weed_filter_class_init("edge detect","effectTV",1,0,&edge_init,&edge_process,&edge_deinit,in_chantmpls, - out_chantmpls,NULL,NULL); + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", WEED_CHANNEL_REINIT_ON_SIZE_CHANGE, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", 0, palette_list), NULL}; + weed_plant_t *filter_class = weed_filter_class_init("edge detect", "effectTV", 1, 0, &edge_init, &edge_process, &edge_deinit, in_chantmpls, + out_chantmpls, NULL, NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/farneback_analyser.cpp -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/farneback_analyser.cpp
Changed
@@ -7,20 +7,20 @@ /* All rights reserved. -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions + Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - Redistributions in binary form must reproduce the above copyright notice, this list of conditions + Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ @@ -43,10 +43,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=1; // number of different weed api versions supported -static int api_versions[]={131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 1; // number of different weed api versions supported +static int api_versions[] = {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -67,7 +67,7 @@ #define FP_BITS 16 int myround(double n) { - return (n>=0.)?(int)(n + 0.5):(int)(n - 0.5); + return (n >= 0.) ? (int)(n + 0.5) : (int)(n - 0.5); } #include "opencv2/core/core.hpp" @@ -89,47 +89,46 @@ static void init_luma_arrays(void) { register int i; - for (i=0;i<17;i++) { - UNCLAMP_Y[i]=0; + for (i = 0; i < 17; i++) { + UNCLAMP_Y[i] = 0; } - for (i=17;i<235;i++) { - UNCLAMP_Y[i]=(int)((float)(i-16.)/219.*255.+.5); + for (i = 17; i < 235; i++) { + UNCLAMP_Y[i] = (int)((float)(i - 16.) / 219.*255. + .5); } - for (i=235;i<256;i++) { - UNCLAMP_Y[i]=255; + for (i = 235; i < 256; i++) { + UNCLAMP_Y[i] = 255; } - } static void unclamp_frame(uint8_t *data, int width, int row, int height) { - register int i,j; + register int i, j; - row-=width; + row -= width; - for (i=0;i<height;i++) { - for (j=0;j<width;j++) { - *data=UNCLAMP_Y[*data]; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + *data = UNCLAMP_Y[*data]; data++; } - data+=row; + data += row; } } static uint8_t *copy_frame(const uint8_t *csrc, int width, int row, int height) { - uint8_t *src=(uint8_t *)csrc; - uint8_t *dst=(uint8_t *)weed_malloc(width*row); + uint8_t *src = (uint8_t *)csrc; + uint8_t *dst = (uint8_t *)weed_malloc(width * row); if (!dst) return NULL; - if (width==row) weed_memcpy(dst,src,width*height); + if (width == row) weed_memcpy(dst, src, width * height); else { - uint8_t *dstp=dst; + uint8_t *dstp = dst; register int i; - for (i=0;i<height;i++) { - weed_memcpy(dstp,src,width); - weed_memset(dstp+width,0,row-width); - dstp+=row; - src+=row; + for (i = 0; i < height; i++) { + weed_memcpy(dstp, src, width); + weed_memset(dstp + width, 0, row - width); + dstp += row; + src += row; } } return dst; @@ -138,27 +137,27 @@ -int farneback_init (weed_plant_t *inst) { +int farneback_init(weed_plant_t *inst) { _sdata *sdata; - sdata=(_sdata *)weed_malloc(sizeof(_sdata)); + sdata = (_sdata *)weed_malloc(sizeof(_sdata)); - if (sdata==NULL) return WEED_ERROR_MEMORY_ALLOCATION; + if (sdata == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - sdata->inited=WEED_FALSE; + sdata->inited = WEED_FALSE; - weed_set_voidptr_value(inst,"plugin_internal",sdata); + weed_set_voidptr_value(inst, "plugin_internal", sdata); return WEED_NO_ERROR; } -int farneback_deinit (weed_plant_t *inst) { +int farneback_deinit(weed_plant_t *inst) { int error; - _sdata *sdata=(_sdata *)weed_get_voidptr_value(inst,"plugin_internal",&error); + _sdata *sdata = (_sdata *)weed_get_voidptr_value(inst, "plugin_internal", &error); - if (sdata!=NULL) { + if (sdata != NULL) { if (sdata->inited) delete sdata->prevgrey; weed_free(sdata); } @@ -169,86 +168,82 @@ -int farneback_process (weed_plant_t *inst, weed_timecode_t tc) { +int farneback_process(weed_plant_t *inst, weed_timecode_t tc) { int error; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error); - weed_plant_t **out_channels=weed_get_plantptr_array(inst,"out_channels",&error); + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error); + weed_plant_t **out_channels = weed_get_plantptr_array(inst, "out_channels", &error); + + uint8_t *src = (uint8_t *)weed_get_voidptr_value(in_channel, "pixel_data", &error); - uint8_t *src=(uint8_t *)weed_get_voidptr_value(in_channel,"pixel_data",&error); + float *dst1 = (float *)weed_get_voidptr_value(out_channels[0], "pixel_data", &error); + float *dst2 = (float *)weed_get_voidptr_value(out_channels[1], "pixel_data", &error); - float *dst1=(float *)weed_get_voidptr_value(out_channels[0],"pixel_data",&error); - float *dst2=(float *)weed_get_voidptr_value(out_channels[1],"pixel_data",&error); + int width = weed_get_int_value(in_channel, "width", &error); + int height = weed_get_int_value(in_channel, "height", &error); + int palette = weed_get_int_value(in_channel, "current_palette", &error); - int width=weed_get_int_value(in_channel,"width",&error); - int height=weed_get_int_value(in_channel,"height",&error); - int palette=weed_get_int_value(in_channel,"current_palette",&error); + int irow = weed_get_int_value(in_channel, "rowstrides", &error); + int orow1 = weed_get_int_value(out_channels[0], "rowstrides", &error); + int orow2 = weed_get_int_value(out_channels[1], "rowstrides", &error); - int irow=weed_get_int_value(in_channel,"rowstrides",&error); - int orow1=weed_get_int_value(out_channels[0],"rowstrides",&error); - int orow2=weed_get_int_value(out_channels[1],"rowstrides",&error); - - register int i,j; + register int i, j; Mat *cvgrey; Mat cvprevgrey, cvflow, srcMat, mixMat, ucMat; float *fptr; - _sdata *sdata=(_sdata *)weed_get_voidptr_value(inst,"plugin_internal",&error); + _sdata *sdata = (_sdata *)weed_get_voidptr_value(inst, "plugin_internal", &error); weed_free(out_channels); // convert image to greyscale - cvgrey = new Mat(1,1,CV_8U); + cvgrey = new Mat(1, 1, CV_8U); switch (palette) { case WEED_PALETTE_RGB24: - srcMat=Mat(height,width,CV_8UC3,src,irow); - cvtColor(srcMat,*cvgrey,CV_RGB2GRAY); - break; - case WEED_PALETTE_BGR24: - { - int from_to[]={0,2,1,1,2,0}; // convert bgr to rgb - srcMat=Mat(height,width,CV_8UC3,src,irow); - mixChannels(&srcMat,1,&mixMat,1,from_to,3); - cvtColor(mixMat,*cvgrey,CV_RGB2GRAY); - } + srcMat = Mat(height, width, CV_8UC3, src, irow); + cvtColor(srcMat, *cvgrey, CV_RGB2GRAY); break; + case WEED_PALETTE_BGR24: { + int from_to[] = {0, 2, 1, 1, 2, 0}; // convert bgr to rgb + srcMat = Mat(height, width, CV_8UC3, src, irow); + mixChannels(&srcMat, 1, &mixMat, 1, from_to, 3); + cvtColor(mixMat, *cvgrey, CV_RGB2GRAY); + } + break; case WEED_PALETTE_RGBA32: - srcMat=Mat(height,width,CV_8UC4,src,irow); - cvtColor(srcMat,*cvgrey,CV_RGB2GRAY); - break; - case WEED_PALETTE_BGRA32: - { - int from_to[]={0,2,1,1,2,0,3,3}; // convert bgra to rgba - srcMat=Mat(height,width,CV_8UC4,src,irow); - mixChannels(&srcMat,1,&mixMat,1,from_to,4); - cvtColor(mixMat,*cvgrey,CV_RGB2GRAY); - } - break; - case WEED_PALETTE_ARGB32: - { - int from_to[]={0,3,1,0,2,1,3,2}; // convert argb to rgba - srcMat=Mat(height,width,CV_8UC4,src,irow); - mixChannels(&srcMat,1,&mixMat,1,from_to,4); - cvtColor(mixMat,*cvgrey,CV_RGB2GRAY); - } + srcMat = Mat(height, width, CV_8UC4, src, irow); + cvtColor(srcMat, *cvgrey, CV_RGB2GRAY); break; + case WEED_PALETTE_BGRA32: { + int from_to[] = {0, 2, 1, 1, 2, 0, 3, 3}; // convert bgra to rgba + srcMat = Mat(height, width, CV_8UC4, src, irow); + mixChannels(&srcMat, 1, &mixMat, 1, from_to, 4); + cvtColor(mixMat, *cvgrey, CV_RGB2GRAY); + } + break; + case WEED_PALETTE_ARGB32: { + int from_to[] = {0, 3, 1, 0, 2, 1, 3, 2}; // convert argb to rgba + srcMat = Mat(height, width, CV_8UC4, src, irow); + mixChannels(&srcMat, 1, &mixMat, 1, from_to, 4); + cvtColor(mixMat, *cvgrey, CV_RGB2GRAY); + } + break; case WEED_PALETTE_YUVA4444P: case WEED_PALETTE_YUV444P: case WEED_PALETTE_YUV422P: case WEED_PALETTE_YUV420P: case WEED_PALETTE_YVU420P: - if (weed_plant_has_leaf(in_channel,"YUV_clamping")&& - (weed_get_int_value(in_channel,"YUV_clamping",&error)==WEED_YUV_CLAMPING_CLAMPED)) { - srcMat=Mat(height,width,CV_8U,src,irow); - ucMat=Mat(256,1,CV_8U,UNCLAMP_Y); - LUT(srcMat,ucMat,*cvgrey); - } - else { - srcMat=Mat(height,width,CV_8U,src,irow); + if (weed_plant_has_leaf(in_channel, "YUV_clamping") && + (weed_get_int_value(in_channel, "YUV_clamping", &error) == WEED_YUV_CLAMPING_CLAMPED)) { + srcMat = Mat(height, width, CV_8U, src, irow); + ucMat = Mat(256, 1, CV_8U, UNCLAMP_Y); + LUT(srcMat, ucMat, *cvgrey); + } else { + srcMat = Mat(height, width, CV_8U, src, irow); srcMat.copyTo(*cvgrey); } break; @@ -257,14 +252,14 @@ } - if (sdata->inited==WEED_FALSE) { - sdata->prevgrey=cvgrey; - sdata->inited=WEED_TRUE; + if (sdata->inited == WEED_FALSE) { + sdata->prevgrey = cvgrey; + sdata->inited = WEED_TRUE; return WEED_NO_ERROR; } /* - Parameters: + Parameters: prevImg – First 8-bit single-channel input image. @@ -272,71 +267,71 @@ flow – Computed flow image that has the same size as prevImg and type CV_32FC2 . - pyrScale – Parameter specifying the image scale (<1) to build pyramids for each image. + pyrScale – Parameter specifying the image scale (<1) to build pyramids for each image. - pyrScale=0.5 means a classical pyramid, where each next layer is twice smaller than the previous one. + pyrScale=0.5 means a classical pyramid, where each next layer is twice smaller than the previous one. - levels – Number of pyramid layers including the initial image. levels=1 means that no extra layers are - created and only the original images are used. + levels – Number of pyramid layers including the initial image. levels=1 means that no extra layers are + created and only the original images are used. - winsize – Averaging window size. Larger values increase the algorithm robustness to image noise and give - more chances for fast motion detection, but yield more blurred motion field. + winsize – Averaging window size. Larger values increase the algorithm robustness to image noise and give + more chances for fast motion detection, but yield more blurred motion field. iterations – Number of iterations the algorithm does at each pyramid level. - polyN – Size of the pixel neighborhood used to find polynomial expansion in each pixel. - Larger values mean that the image will be approximated with smoother surfaces, - yielding more robust algorithm and more blurred motion field. Typically, polyN =5 or 7. + polyN – Size of the pixel neighborhood used to find polynomial expansion in each pixel. + Larger values mean that the image will be approximated with smoother surfaces, + yielding more robust algorithm and more blurred motion field. Typically, polyN =5 or 7. - polySigma – Standard deviation of the Gaussian that is used to smooth derivatives used as a basis for the - polynomial expansion. For polyN=5 , you can set polySigma=1.1 . - For polyN=7 , a good value would be polySigma=1.5 . + polySigma – Standard deviation of the Gaussian that is used to smooth derivatives used as a basis for the + polynomial expansion. For polyN=5 , you can set polySigma=1.1 . + For polyN=7 , a good value would be polySigma=1.5 . flags – Operation flags that can be a combination of the following: OPTFLOW_USE_INITIAL_FLOW Use the input flow as an initial flow approximation. - OPTFLOW_FARNEBACK_GAUSSIAN Use the Gaussian winsize times winsize filter instead of a - box filter of the same size for optical flow estimation. Usually, this option gives - z more accurate flow than with a box filter, at the cost of lower speed. Normally, winsize for a - Gaussian window should be set to a larger value to achieve the same level of robustness. + OPTFLOW_FARNEBACK_GAUSSIAN Use the Gaussian winsize times winsize filter instead of a + box filter of the same size for optical flow estimation. Usually, this option gives + z more accurate flow than with a box filter, at the cost of lower speed. Normally, winsize for a + Gaussian window should be set to a larger value to achieve the same level of robustness. - The function finds an optical flow for each prevImg pixel using the [Farneback2003] alorithm so that + The function finds an optical flow for each prevImg pixel using the [Farneback2003] alorithm so that - prevImg (y,x) = nextImg ( y + flow (y,x)[1], x + flow (y,x)[0]) + prevImg (y,x) = nextImg ( y + flow (y,x)[1], x + flow (y,x)[0]) - since we are mainly interested int nextImg, we store: -flow - e.g. + since we are mainly interested int nextImg, we store: -flow + e.g. - nextImg (y,x) = prevImg ( y - flow (y,x)[1], x - flow (y,x)[0]) + nextImg (y,x) = prevImg ( y - flow (y,x)[1], x - flow (y,x)[0]) */ calcOpticalFlowFarneback(*sdata->prevgrey, *cvgrey, cvflow, 0.5, 3, 15, 3, 5, 1.2, 0); delete sdata->prevgrey; - sdata->prevgrey=cvgrey; + sdata->prevgrey = cvgrey; // copy cvflow to float outputs // TODO: construct cvflow from dest - width=cvflow.size().width; - height=cvflow.size().height; + width = cvflow.size().width; + height = cvflow.size().height; - irow=(cvflow.step[0]>>3)-width; - orow1=(orow1>>2)-width; - orow2=(orow2>>2)-width; + irow = (cvflow.step[0] >> 3) - width; + orow1 = (orow1 >> 2) - width; + orow2 = (orow2 >> 2) - width; - fptr=(float *)cvflow.data; + fptr = (float *)cvflow.data; - for (i=0;i<height;i++) { - for (j=0;j<width;j++) { - *dst1++=-*fptr++; - *dst2++=-*fptr++; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + *dst1++ = -*fptr++; + *dst2++ = -*fptr++; } - fptr+=irow; - dst1+=orow1; - dst2+=orow2; + fptr += irow; + dst1 += orow1; + dst2 += orow2; } return WEED_NO_ERROR; @@ -344,35 +339,38 @@ -weed_plant_t *weed_setup (weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - int ipalette_list[]={WEED_PALETTE_BGR24,WEED_PALETTE_RGB24,WEED_PALETTE_RGBA32,WEED_PALETTE_BGRA32, - WEED_PALETTE_YUVA4444P, - WEED_PALETTE_YUV444P, - WEED_PALETTE_YUV422P, - WEED_PALETTE_YUV420P, - WEED_PALETTE_YVU420P, - WEED_PALETTE_END}; +weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int ipalette_list[] = {WEED_PALETTE_BGR24, WEED_PALETTE_RGB24, WEED_PALETTE_RGBA32, WEED_PALETTE_BGRA32, + WEED_PALETTE_YUVA4444P, + WEED_PALETTE_YUV444P, + WEED_PALETTE_YUV422P, + WEED_PALETTE_YUV420P, + WEED_PALETTE_YVU420P, + WEED_PALETTE_END + }; // define a vector output - int opalette_list[]={WEED_PALETTE_AFLOAT,WEED_PALETTE_END}; - - weed_plant_t *in_chantmpls[]={weed_channel_template_init("in channel", - WEED_CHANNEL_REINIT_ON_SIZE_CHANGE| - WEED_CHANNEL_REINIT_ON_ROWSTRIDES_CHANGE| - WEED_CHANNEL_REINIT_ON_PALETTE_CHANGE, - ipalette_list),NULL}; - weed_plant_t *out_chantmpls[]={weed_channel_template_init("X values",WEED_CHANNEL_PALETTE_CAN_VARY,opalette_list), - weed_channel_template_init("Y values",WEED_CHANNEL_PALETTE_CAN_VARY,opalette_list),NULL}; - weed_plant_t *filter_class=weed_filter_class_init("farneback_analyser","salsaman",1,0,&farneback_init, - &farneback_process,&farneback_deinit, - in_chantmpls,out_chantmpls,NULL,NULL); - - weed_plugin_info_add_filter_class (plugin_info,filter_class); - - weed_set_int_value(in_chantmpls[0],"YUV_clamping",WEED_YUV_CLAMPING_UNCLAMPED); - - weed_set_int_value(plugin_info,"version",package_version); + int opalette_list[] = {WEED_PALETTE_AFLOAT, WEED_PALETTE_END}; + + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel", + WEED_CHANNEL_REINIT_ON_SIZE_CHANGE | + WEED_CHANNEL_REINIT_ON_ROWSTRIDES_CHANGE | + WEED_CHANNEL_REINIT_ON_PALETTE_CHANGE, + ipalette_list), NULL + }; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("X values", WEED_CHANNEL_PALETTE_CAN_VARY, opalette_list), + weed_channel_template_init("Y values", WEED_CHANNEL_PALETTE_CAN_VARY, opalette_list), NULL + }; + weed_plant_t *filter_class = weed_filter_class_init("farneback_analyser", "salsaman", 1, 0, &farneback_init, + &farneback_process, &farneback_deinit, + in_chantmpls, out_chantmpls, NULL, NULL); + + weed_plugin_info_add_filter_class(plugin_info, filter_class); + + weed_set_int_value(in_chantmpls[0], "YUV_clamping", WEED_YUV_CLAMPING_UNCLAMPED); + + weed_set_int_value(plugin_info, "version", package_version); init_luma_arrays(); }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/fg_bg_removal.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/fg_bg_removal.c
Changed
@@ -17,10 +17,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -74,13 +74,13 @@ */ for (i = 0; i < 256; i++) { Y_R[i] = myround(0.299 * (double)i - * 219.0 / 255.0 * (double)(1<<FP_BITS)); + * 219.0 / 255.0 * (double)(1 << FP_BITS)); Y_G[i] = myround(0.587 * (double)i - * 219.0 / 255.0 * (double)(1<<FP_BITS)); + * 219.0 / 255.0 * (double)(1 << FP_BITS)); Y_B[i] = myround((0.114 * (double)i - * 219.0 / 255.0 * (double)(1<<FP_BITS)) - + (double)(1<<(FP_BITS-1)) - + (16.0 * (double)(1<<FP_BITS))); + * 219.0 / 255.0 * (double)(1 << FP_BITS)) + + (double)(1 << (FP_BITS - 1)) + + (16.0 * (double)(1 << FP_BITS))); } conv_RY_inited = 1; } @@ -88,7 +88,7 @@ static inline uint8_t calc_luma(uint8_t *pixel) { - return (Y_R[pixel[2]] + Y_G[pixel[1]]+ Y_B[pixel[0]]) >> FP_BITS; + return (Y_R[pixel[2]] + Y_G[pixel[1]] + Y_B[pixel[0]]) >> FP_BITS; } @@ -96,42 +96,42 @@ #define rand_a 1073741789L #define rand_c 32749L - return (sdata->fastrand_val= (rand_a*sdata->fastrand_val + rand_c)); + return (sdata->fastrand_val = (rand_a * sdata->fastrand_val + rand_c)); } static inline void make_black(uint8_t *pixel) { - pixel[0]=pixel[1]=pixel[2]=(uint8_t)0; + pixel[0] = pixel[1] = pixel[2] = (uint8_t)0; } int common_init(weed_plant_t *inst) { weed_plant_t *in_channel; - int error,height,width; + int error, height, width; - static_data *sdata=(static_data *)weed_malloc(sizeof(static_data)); + static_data *sdata = (static_data *)weed_malloc(sizeof(static_data)); if (sdata == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - in_channel=weed_get_plantptr_value(inst,"in_channels",&error); - height=weed_get_int_value(in_channel,"height",&error); - width=weed_get_int_value(in_channel,"width",&error); + in_channel = weed_get_plantptr_value(inst, "in_channels", &error); + height = weed_get_int_value(in_channel, "height", &error); + width = weed_get_int_value(in_channel, "width", &error); - sdata->av_luma_data=(uint8_t *)weed_malloc(width*height*3); + sdata->av_luma_data = (uint8_t *)weed_malloc(width * height * 3); if (sdata->av_luma_data == NULL) { weed_free(sdata); return WEED_ERROR_MEMORY_ALLOCATION; } - sdata->av_count=0; - sdata->fastrand_val=0; + sdata->av_count = 0; + sdata->fastrand_val = 0; - weed_memset(sdata->av_luma_data,0,width*height*3); + weed_memset(sdata->av_luma_data, 0, width * height * 3); // //inst->num_in_parameters=1; //inst->in_parameters=malloc(sizeof(weed_parameter_t)); //inst->in_parameters[0]=weed_plugin_info_integer_init("Threshold",64,0,255); // - weed_set_voidptr_value(inst,"plugin_internal",sdata); + weed_set_voidptr_value(inst, "plugin_internal", sdata); return WEED_NO_ERROR; } @@ -141,7 +141,7 @@ static_data *sdata; int error; - sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); + sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); if (sdata != NULL) { weed_free(sdata->av_luma_data); weed_free(sdata); @@ -157,61 +157,63 @@ uint8_t luma; uint8_t av_luma; int bf; - uint8_t luma_threshold=128; + uint8_t luma_threshold = 128; uint8_t *av_luma_data; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error),*out_channel=weed_get_plantptr_value(inst,"out_channels", - &error),*in_param; - - unsigned char *src=weed_get_voidptr_value(in_channel,"pixel_data",&error); - unsigned char *dest=weed_get_voidptr_value(out_channel,"pixel_data",&error); - int width=weed_get_int_value(in_channel,"width",&error)*3; - int height=weed_get_int_value(in_channel,"height",&error); - int irowstride=weed_get_int_value(in_channel,"rowstrides",&error); - int orowstride=weed_get_int_value(out_channel,"rowstrides",&error); - unsigned char *end=src+height*irowstride; - int inplace=(src==dest); + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error), *out_channel = weed_get_plantptr_value(inst, + "out_channels", + &error), *in_param; + + unsigned char *src = weed_get_voidptr_value(in_channel, "pixel_data", &error); + unsigned char *dest = weed_get_voidptr_value(out_channel, "pixel_data", &error); + int width = weed_get_int_value(in_channel, "width", &error) * 3; + int height = weed_get_int_value(in_channel, "height", &error); + int irowstride = weed_get_int_value(in_channel, "rowstrides", &error); + int orowstride = weed_get_int_value(out_channel, "rowstrides", &error); + unsigned char *end = src + height * irowstride; + int inplace = (src == dest); register int j; // new threading arch - if (weed_plant_has_leaf(out_channel,"offset")) { - int offset=weed_get_int_value(out_channel,"offset",&error); - int dheight=weed_get_int_value(out_channel,"height",&error); + if (weed_plant_has_leaf(out_channel, "offset")) { + int offset = weed_get_int_value(out_channel, "offset", &error); + int dheight = weed_get_int_value(out_channel, "height", &error); - src+=offset*irowstride; - dest+=offset*orowstride; - end=src+dheight*irowstride; + src += offset * irowstride; + dest += offset * orowstride; + end = src + dheight * irowstride; } - in_param=weed_get_plantptr_value(inst,"in_parameters",&error); - bf=weed_get_int_value(in_param,"value",&error); - luma_threshold=(uint8_t)bf; + in_param = weed_get_plantptr_value(inst, "in_parameters", &error); + bf = weed_get_int_value(in_param, "value", &error); + luma_threshold = (uint8_t)bf; - sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); + sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); - av_luma_data=sdata->av_luma_data; - sdata->fastrand_val=timestamp&0x0000FFFF; + av_luma_data = sdata->av_luma_data; + sdata->fastrand_val = timestamp & 0x0000FFFF; - for (; src<end; src+=irowstride) { - for (j=0; j<width-2; j+=3) { + for (; src < end; src += irowstride) { + for (j = 0; j < width - 2; j += 3) { - luma=calc_luma(&src[j]); - av_luma=(uint8_t)((double)luma/(double)sdata->av_count+(double)(av_luma_data[j/3]*sdata->av_count)/(double)(sdata->av_count+1)); + luma = calc_luma(&src[j]); + av_luma = (uint8_t)((double)luma / (double)sdata->av_count + (double)(av_luma_data[j / 3] * sdata->av_count) / (double)( + sdata->av_count + 1)); sdata->av_count++; - av_luma_data[j/3]=av_luma; - if (ABS(luma-av_luma)<(luma_threshold)) { + av_luma_data[j / 3] = av_luma; + if (ABS(luma - av_luma) < (luma_threshold)) { switch (type) { case 1: // fire-ish effect - dest[j]=(uint8_t)((uint8_t)((fastrand(sdata)&0x7f00)>>8)+(dest[j+1]=(uint8_t)((fastrand(sdata)&0x7f00)>>8))); //R & G - dest[j+2]=(uint8_t)0; //B + dest[j] = (uint8_t)((uint8_t)((fastrand(sdata) & 0x7f00) >> 8) + (dest[j + 1] = (uint8_t)((fastrand(sdata) & 0x7f00) >> 8))); //R & G + dest[j + 2] = (uint8_t)0; //B break; // case 2: // blue glow - dest[j]=dest[j+1]=(uint8_t)((fastrand(sdata)&0xff00)>>8); //R&G - dest[j+2]=(uint8_t)255; //B + dest[j] = dest[j + 1] = (uint8_t)((fastrand(sdata) & 0xff00) >> 8); //R&G + dest[j + 2] = (uint8_t)255; //B break; case 0: // make moving things black @@ -219,65 +221,68 @@ break; } } else { - if (!inplace) weed_memcpy(&dest[j],&src[j],3); + if (!inplace) weed_memcpy(&dest[j], &src[j], 3); } } - dest+=orowstride; - av_luma_data+=width; + dest += orowstride; + av_luma_data += width; } return WEED_NO_ERROR; } int t1_process(weed_plant_t *inst, weed_timecode_t timestamp) { - return common_process(0,inst,timestamp); + return common_process(0, inst, timestamp); } int t2_process(weed_plant_t *inst, weed_timecode_t timestamp) { - return common_process(1,inst,timestamp); + return common_process(1, inst, timestamp); } int t3_process(weed_plant_t *inst, weed_timecode_t timestamp) { - return common_process(2,inst,timestamp); + return common_process(2, inst, timestamp); } weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); - weed_plant_t **clone1,**clone2,**clone3; + weed_plant_t **clone1, **clone2, **clone3; - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_BGR24,WEED_PALETTE_RGB24,WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",WEED_CHANNEL_REINIT_ON_SIZE_CHANGE,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",WEED_CHANNEL_CAN_DO_INPLACE,palette_list),NULL}; + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_BGR24, WEED_PALETTE_RGB24, WEED_PALETTE_END}; + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", WEED_CHANNEL_REINIT_ON_SIZE_CHANGE, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", WEED_CHANNEL_CAN_DO_INPLACE, palette_list), NULL}; - weed_plant_t *in_params[]= {weed_integer_init("threshold","_Threshold",64,0,255),NULL}; - weed_plant_t *filter_class=weed_filter_class_init("fg_bg_removal type 1","salsaman",1,WEED_FILTER_HINT_MAY_THREAD,&common_init,&t1_process, - &common_deinit,in_chantmpls,out_chantmpls,in_params,NULL); + weed_plant_t *in_params[] = {weed_integer_init("threshold", "_Threshold", 64, 0, 255), NULL}; + weed_plant_t *filter_class = weed_filter_class_init("fg_bg_removal type 1", "salsaman", 1, WEED_FILTER_HINT_MAY_THREAD, &common_init, + &t1_process, + &common_deinit, in_chantmpls, out_chantmpls, in_params, NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); // we must clone the arrays for the next filter - filter_class=weed_filter_class_init("fg_bg_removal type 2","salsaman",1,WEED_FILTER_HINT_MAY_THREAD,&common_init,&t2_process,&common_deinit, - (clone1=weed_clone_plants(in_chantmpls)),(clone2=weed_clone_plants(out_chantmpls)),(clone3=weed_clone_plants(in_params)),NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + filter_class = weed_filter_class_init("fg_bg_removal type 2", "salsaman", 1, WEED_FILTER_HINT_MAY_THREAD, &common_init, &t2_process, + &common_deinit, + (clone1 = weed_clone_plants(in_chantmpls)), (clone2 = weed_clone_plants(out_chantmpls)), (clone3 = weed_clone_plants(in_params)), NULL); + weed_plugin_info_add_filter_class(plugin_info, filter_class); weed_free(clone1); weed_free(clone2); weed_free(clone3); // we must clone the arrays for the next filter - filter_class=weed_filter_class_init("fg_bg_removal type 3","salsaman",1,WEED_FILTER_HINT_MAY_THREAD,&common_init,&t3_process,&common_deinit, - (clone1=weed_clone_plants(in_chantmpls)),(clone2=weed_clone_plants(out_chantmpls)),(clone3=weed_clone_plants(in_params)),NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + filter_class = weed_filter_class_init("fg_bg_removal type 3", "salsaman", 1, WEED_FILTER_HINT_MAY_THREAD, &common_init, &t3_process, + &common_deinit, + (clone1 = weed_clone_plants(in_chantmpls)), (clone2 = weed_clone_plants(out_chantmpls)), (clone3 = weed_clone_plants(in_params)), NULL); + weed_plugin_info_add_filter_class(plugin_info, filter_class); weed_free(clone1); weed_free(clone2); weed_free(clone3); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); init_RGB_to_YCbCr_tables(); }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/fireTV.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/fireTV.c
Changed
@@ -27,10 +27,10 @@ #include <stdio.h> /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -79,66 +79,66 @@ static void HSItoRGB(double H, double S, double I, int *r, int *g, int *b) { - double T,Rv,Gv,Bv; - - T=H; - Rv=1+S*sin(T-2*M_PI/3); - Gv=1+S*sin(T); - Bv=1+S*sin(T+2*M_PI/3); - T=255.1009*I/2; - *r=trunc(Rv*T); - *g=trunc(Gv*T); - *b=trunc(Bv*T); + double T, Rv, Gv, Bv; + + T = H; + Rv = 1 + S * sin(T - 2 * M_PI / 3); + Gv = 1 + S * sin(T); + Bv = 1 + S * sin(T + 2 * M_PI / 3); + T = 255.1009 * I / 2; + *r = trunc(Rv * T); + *g = trunc(Gv * T); + *b = trunc(Bv * T); } static void makePalette() { int i, r, g, b; - for (i=0; i<MaxColor; i++) { - HSItoRGB(4.6-1.5*i/MaxColor, (double)i/MaxColor, (double)i/MaxColor, &r, &g, &b); - palette[i] = ((r<<16)|(g<<8)|b)&0xffffff; + for (i = 0; i < MaxColor; i++) { + HSItoRGB(4.6 - 1.5 * i / MaxColor, (double)i / MaxColor, (double)i / MaxColor, &r, &g, &b); + palette[i] = ((r << 16) | (g << 8) | b) & 0xffffff; } - for (i=MaxColor; i<256; i++) { - if (r<255)r++; - if (r<255)r++; - if (r<255)r++; - if (g<255)g++; - if (g<255)g++; - if (b<255)b++; - if (b<255)b++; - palette[i] = ((r<<16)|(g<<8)|b)&0xffffff; + for (i = MaxColor; i < 256; i++) { + if (r < 255)r++; + if (r < 255)r++; + if (r < 255)r++; + if (g < 255)g++; + if (g < 255)g++; + if (b < 255)b++; + if (b < 255)b++; + palette[i] = ((r << 16) | (g << 8) | b) & 0xffffff; } } static void image_bgsubtract_y(RGB32 *src, int width, int height, int rowstride, struct _sdata *sdata) { - register int i,j; + register int i, j; int R, G, B; RGB32 *p; short *q; unsigned char *r; int v; - rowstride-=width; + rowstride -= width; p = src; q = sdata->background; r = sdata->diff; - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - R = ((*p)&0xff0000)>>(16-1); - G = ((*p)&0xff00)>>(8-2); - B = (*p)&0xff; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + R = ((*p) & 0xff0000) >> (16 - 1); + G = ((*p) & 0xff00) >> (8 - 2); + B = (*p) & 0xff; v = (R + G + B) - (int)(*q); *q = (short)(R + G + B); - *r = ((v + sdata->threshold)>>24) | ((sdata->threshold - v)>>24); + *r = ((v + sdata->threshold) >> 24) | ((sdata->threshold - v) >> 24); p++; q++; r++; } - p+=rowstride; + p += rowstride; } @@ -165,37 +165,37 @@ weed_plant_t *in_channel; - sdata=weed_malloc(sizeof(struct _sdata)); + sdata = weed_malloc(sizeof(struct _sdata)); if (sdata == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - in_channel=weed_get_plantptr_value(inst,"in_channels",&error); + in_channel = weed_get_plantptr_value(inst, "in_channels", &error); - map_h=weed_get_int_value(in_channel,"height",&error); - map_w=weed_get_int_value(in_channel,"width",&error); + map_h = weed_get_int_value(in_channel, "height", &error); + map_w = weed_get_int_value(in_channel, "width", &error); - sdata->buffer = (unsigned char *)weed_malloc(map_h*map_w*sizeof(unsigned char)); + sdata->buffer = (unsigned char *)weed_malloc(map_h * map_w * sizeof(unsigned char)); if (sdata->buffer == NULL) { weed_free(sdata); return WEED_ERROR_MEMORY_ALLOCATION; } - sdata->background = (short *)weed_malloc(map_h*map_w*sizeof(short)); + sdata->background = (short *)weed_malloc(map_h * map_w * sizeof(short)); if (sdata->background == NULL) { weed_free(sdata->buffer); weed_free(sdata); return WEED_ERROR_MEMORY_ALLOCATION; } - sdata->diff = (unsigned char *)weed_malloc(map_h*map_w * sizeof(unsigned char)); + sdata->diff = (unsigned char *)weed_malloc(map_h * map_w * sizeof(unsigned char)); if (sdata->diff == NULL) { weed_free(sdata->background); weed_free(sdata->buffer); weed_free(sdata); return WEED_ERROR_MEMORY_ALLOCATION; } - sdata->threshold=MAGIC_THRESHOLD*7; - weed_memset(sdata->buffer, 0, map_h*map_w*sizeof(unsigned char)); - sdata->fastrand_val=0; + sdata->threshold = MAGIC_THRESHOLD * 7; + weed_memset(sdata->buffer, 0, map_h * map_w * sizeof(unsigned char)); + sdata->fastrand_val = 0; - weed_set_voidptr_value(inst,"plugin_internal",sdata); + weed_set_voidptr_value(inst, "plugin_internal", sdata); return WEED_NO_ERROR; } @@ -204,13 +204,13 @@ int error; struct _sdata *sdata; - sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); + sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); if (sdata != NULL) { weed_free(sdata->buffer); weed_free(sdata->diff); weed_free(sdata->background); weed_free(sdata); - weed_set_voidptr_value(inst,"plugin_internal",NULL); + weed_set_voidptr_value(inst, "plugin_internal", NULL); } return WEED_NO_ERROR; } @@ -220,52 +220,52 @@ struct _sdata *sdata; unsigned char v; - weed_plant_t *in_channel,*out_channel; + weed_plant_t *in_channel, *out_channel; - RGB32 *src,*dest; + RGB32 *src, *dest; - int video_width,video_height,irow,orow; + int video_width, video_height, irow, orow; int video_area; int error; register int i, x, y; - sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); - in_channel=weed_get_plantptr_value(inst,"in_channels",&error); - out_channel=weed_get_plantptr_value(inst,"out_channels",&error); + sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); + in_channel = weed_get_plantptr_value(inst, "in_channels", &error); + out_channel = weed_get_plantptr_value(inst, "out_channels", &error); - src=weed_get_voidptr_value(in_channel,"pixel_data",&error); - dest=weed_get_voidptr_value(out_channel,"pixel_data",&error); + src = weed_get_voidptr_value(in_channel, "pixel_data", &error); + dest = weed_get_voidptr_value(out_channel, "pixel_data", &error); - video_width = weed_get_int_value(in_channel,"width",&error); - video_height = weed_get_int_value(in_channel,"height",&error); + video_width = weed_get_int_value(in_channel, "width", &error); + video_height = weed_get_int_value(in_channel, "height", &error); - irow = weed_get_int_value(in_channel,"rowstrides",&error)/4; - orow = weed_get_int_value(out_channel,"rowstrides",&error)/4; + irow = weed_get_int_value(in_channel, "rowstrides", &error) / 4; + orow = weed_get_int_value(out_channel, "rowstrides", &error) / 4; - video_area=video_width*video_height; - sdata->fastrand_val=timestamp&0x0000FFFF; + video_area = video_width * video_height; + sdata->fastrand_val = timestamp & 0x0000FFFF; - image_bgsubtract_y(src,video_width,video_height,irow,sdata); + image_bgsubtract_y(src, video_width, video_height, irow, sdata); - for (i=0; i<video_area-video_width; i++) { + for (i = 0; i < video_area - video_width; i++) { sdata->buffer[i] |= sdata->diff[i]; } - for (x=1; x<video_width-1; x++) { + for (x = 1; x < video_width - 1; x++) { i = video_width + x; - for (y=1; y<video_height; y++) { + for (y = 1; y < video_height; y++) { v = sdata->buffer[i]; - if (v<Decay) - sdata->buffer[i-video_width] = 0; + if (v < Decay) + sdata->buffer[i - video_width] = 0; else - sdata->buffer[i-video_width+fastrand(sdata)%3-1] = v - (fastrand(sdata)&Decay); + sdata->buffer[i - video_width + fastrand(sdata) % 3 - 1] = v - (fastrand(sdata)&Decay); i += video_width; } } - for (y=0; y<video_height; y++) { - for (x=1; x<video_width-1; x++) { - dest[y*orow+x] = (src[y*irow+x]&0xff000000)|palette[sdata->buffer[y*video_width+x]]; + for (y = 0; y < video_height; y++) { + for (x = 1; x < video_width - 1; x++) { + dest[y * orow + x] = (src[y * irow + x] & 0xff000000) | palette[sdata->buffer[y * video_width + x]]; } } @@ -276,19 +276,20 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_BGRA32,WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",WEED_CHANNEL_REINIT_ON_SIZE_CHANGE,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",0,palette_list),NULL}; + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_BGRA32, WEED_PALETTE_END}; + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", WEED_CHANNEL_REINIT_ON_SIZE_CHANGE, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", 0, palette_list), NULL}; - weed_plant_t *filter_class=weed_filter_class_init("fireTV","effectTV",1,0,&fire_init,&fire_process,&fire_deinit,in_chantmpls,out_chantmpls, - NULL,NULL); + weed_plant_t *filter_class = weed_filter_class_init("fireTV", "effectTV", 1, 0, &fire_init, &fire_process, &fire_deinit, in_chantmpls, + out_chantmpls, + NULL, NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); makePalette(); }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/fourKlives.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/fourKlives.c
Changed
@@ -20,10 +20,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=1; // number of different weed api versions supported -static int api_versions[]= {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 1; // number of different weed api versions supported +static int api_versions[] = {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -62,91 +62,91 @@ static char *tunes[MAX_TUNES]; static void set_tempo(_sdata *sdata, int tempo) { - sdata->update=sdata->new_update=6*sdata->global/(tempo*10/25); + sdata->update = sdata->new_update = 6 * sdata->global / (tempo * 10 / 25); // ekolen=update*3; } static void set_base_freq(_sdata *sdata, int freq) { //base_freq=(freq<<13)/BFREQ; - sdata->base_freq=BFREQ+freq; - if (sdata->base_freq<=0) sdata->base_freq=1; + sdata->base_freq = BFREQ + freq; + if (sdata->base_freq <= 0) sdata->base_freq = 1; } static int syna_init(_sdata *sdata, int freq) { - register int n,i; + register int n, i; - sdata->module=NULL; + sdata->module = NULL; - sdata->base_freq=BFREQ; + sdata->base_freq = BFREQ; - sdata->maxtracks=0; + sdata->maxtracks = 0; - for (n=0; n<WAVES; n++) { - sdata->aalto[n]=NULL; + for (n = 0; n < WAVES; n++) { + sdata->aalto[n] = NULL; } - for (n=0; n<INSTR; n++) { - sdata->echo[n]=NULL; - sdata->instr[n]=NULL; - sdata->pi[n]=0; + for (n = 0; n < INSTR; n++) { + sdata->echo[n] = NULL; + sdata->instr[n] = NULL; + sdata->pi[n] = 0; } - sdata->slen=freq/BFREQ; - sdata->global=freq; - sdata->counter=0; + sdata->slen = freq / BFREQ; + sdata->global = freq; + sdata->counter = 0; /* Generate lower octaves from 6 */ - for (n=4; n>=0; n--) - for (i=0; i<12; i++) - notei[n*12+i]=notei[(n+1)*12+i]/2; + for (n = 4; n >= 0; n--) + for (i = 0; i < 12; i++) + notei[n * 12 + i] = notei[(n + 1) * 12 + i] / 2; /* Generate the waveforms */ - for (n=0; n<WAVES; n++) { - if (n!=KOHINA) { - sdata->aalto[n]=weed_malloc(sdata->slen*sizeof(float)); - if (sdata->aalto[n]==NULL) { + for (n = 0; n < WAVES; n++) { + if (n != KOHINA) { + sdata->aalto[n] = weed_malloc(sdata->slen * sizeof(float)); + if (sdata->aalto[n] == NULL) { return WEED_ERROR_MEMORY_ALLOCATION; } - weed_memset(sdata->aalto[n],0,sdata->slen*sizeof(float)); + weed_memset(sdata->aalto[n], 0, sdata->slen * sizeof(float)); } } - for (n=0; n<sdata->slen; n++) { - sdata->aalto[KANTTI][n]=(n<sdata->slen/2)?-1.0:1.0; - sdata->aalto[SINI][n] =sin(n*2.0*M_PI/(float)sdata->slen); - sdata->aalto[SAHA][n] =-1.0+fmod(1.0+2.0*n/(float)sdata->slen,2.0); + for (n = 0; n < sdata->slen; n++) { + sdata->aalto[KANTTI][n] = (n < sdata->slen / 2) ? -1.0 : 1.0; + sdata->aalto[SINI][n] = sin(n * 2.0 * M_PI / (float)sdata->slen); + sdata->aalto[SAHA][n] = -1.0 + fmod(1.0 + 2.0 * n / (float)sdata->slen, 2.0); } /* Noise needs to be longer */ - sdata->aalto[KOHINA]=weed_malloc(sdata->global*sizeof(float)); - if (sdata->aalto[KOHINA]==NULL) { + sdata->aalto[KOHINA] = weed_malloc(sdata->global * sizeof(float)); + if (sdata->aalto[KOHINA] == NULL) { return WEED_ERROR_MEMORY_ALLOCATION; } - for (n=0; n<sdata->global; n++) - sdata->aalto[KOHINA][n]=(rand()%2000-1000)/(float)1000.0; + for (n = 0; n < sdata->global; n++) + sdata->aalto[KOHINA][n] = (rand() % 2000 - 1000) / (float)1000.0; /* Set starting values */ - for (n=0; n<INSTR; n++) { - sdata->live_row[n]=0; - sdata->new_live_row[n]=0; - - sdata->off[n]=-1; - sdata->plus[n]=0; - sdata->trak[n][0]=END; - sdata->ti[n]=-1; - sdata->eko[n]=0; - sdata->pan[n]=(n&1)?128-64:128+64; + for (n = 0; n < INSTR; n++) { + sdata->live_row[n] = 0; + sdata->new_live_row[n] = 0; + + sdata->off[n] = -1; + sdata->plus[n] = 0; + sdata->trak[n][0] = END; + sdata->ti[n] = -1; + sdata->eko[n] = 0; + sdata->pan[n] = (n & 1) ? 128 - 64 : 128 + 64; #ifdef MONO - sdata->pan[n]=128; + sdata->pan[n] = 128; #endif - sdata->pola[n]=0; - sdata->vol[n]=255; - sdata->prev[n]=0; - sdata->slide[n]=0; + sdata->pola[n] = 0; + sdata->vol[n] = 255; + sdata->prev[n] = 0; + sdata->slide[n] = 0; } return WEED_NO_ERROR; } @@ -159,17 +159,17 @@ int retval; /* Read the file and call syna_get */ - f=fopen(tune,"rb"); - if (f==NULL) return WEED_ERROR_INIT_ERROR; - fseek(f,0,SEEK_END); - length=ftell(f); - fseek(f,0,SEEK_SET); - sdata->module=weed_malloc(length+1); - retval=fread(sdata->module,1,length,f); - sdata->module[length]=0; /* String ends in zero */ + f = fopen(tune, "rb"); + if (f == NULL) return WEED_ERROR_INIT_ERROR; + fseek(f, 0, SEEK_END); + length = ftell(f); + fseek(f, 0, SEEK_SET); + sdata->module = weed_malloc(length + 1); + retval = fread(sdata->module, 1, length, f); + sdata->module[length] = 0; /* String ends in zero */ fclose(f); - if (retval<length) return WEED_ERROR_INIT_ERROR; + if (retval < length) return WEED_ERROR_INIT_ERROR; return (syna_get(sdata)); } @@ -177,142 +177,142 @@ static int syna_get(_sdata *sdata) { - static char *rows[MAXR],*key,*tnp; - int tmp,a,d,s,r,mod,sweep,wave,patt,track,note,wave_mod; + static char *rows[MAXR], *key, *tnp; + int tmp, a, d, s, r, mod, sweep, wave, patt, track, note, wave_mod; - register int i,j,n; + register int i, j, n; #ifndef TINY cleanup(sdata->module); /* You better have a clean module in intros... */ #endif /* Extract rows */ - for (n=0; n<MAXR; n++) { - rows[n]=strtok((n)?NULL:sdata->module,"\n"); - if (rows[n]==NULL) + for (n = 0; n < MAXR; n++) { + rows[n] = strtok((n) ? NULL : sdata->module, "\n"); + if (rows[n] == NULL) break; } /* Extract data from rows */ - for (i=0; i<n; i++) { - if (rows[i][0]=='#') + for (i = 0; i < n; i++) { + if (rows[i][0] == '#') continue; - key=strtok(rows[i],":"); + key = strtok(rows[i], ":"); if (key) { - if (!strcmp(key,"bpm")) { - tmp=atoi(strtok(NULL,":"))*10/25; - sdata->song_bpm=tmp; - sdata->new_update=sdata->update=6*sdata->global/tmp; - sdata->ekolen=sdata->update*3; + if (!strcmp(key, "bpm")) { + tmp = atoi(strtok(NULL, ":")) * 10 / 25; + sdata->song_bpm = tmp; + sdata->new_update = sdata->update = 6 * sdata->global / tmp; + sdata->ekolen = sdata->update * 3; } - if (key[0]=='i') { + if (key[0] == 'i') { /* Get instrument number and wave form */ - tmp=atoi(&key[1]); - if (tmp<INSTR) { - if (sdata->echo[tmp]!=NULL) weed_free(sdata->echo[tmp]); - sdata->echo[tmp]=weed_malloc(sdata->ekolen*sizeof(int)); - if (sdata->echo[tmp]==NULL) { + tmp = atoi(&key[1]); + if (tmp < INSTR) { + if (sdata->echo[tmp] != NULL) weed_free(sdata->echo[tmp]); + sdata->echo[tmp] = weed_malloc(sdata->ekolen * sizeof(int)); + if (sdata->echo[tmp] == NULL) { return WEED_ERROR_MEMORY_ALLOCATION; } - weed_memset(sdata->echo[tmp],0,sdata->ekolen*sizeof(int)); + weed_memset(sdata->echo[tmp], 0, sdata->ekolen * sizeof(int)); } - tnp=strtok(NULL,","); + tnp = strtok(NULL, ","); - wave=0; + wave = 0; - if (!strcmp(tnp,"kantti") || !strcmp(tnp,"square")) - wave=0; - else if (!strcmp(tnp,"sini") || !strcmp(tnp,"sin")) - wave=1; - else if (!strcmp(tnp,"saha") || !strcmp(tnp,"saw")) - wave=2; - else if (!strcmp(tnp,"kohina") || !strcmp(tnp,"noise")) - wave=3; + if (!strcmp(tnp, "kantti") || !strcmp(tnp, "square")) + wave = 0; + else if (!strcmp(tnp, "sini") || !strcmp(tnp, "sin")) + wave = 1; + else if (!strcmp(tnp, "saha") || !strcmp(tnp, "saw")) + wave = 2; + else if (!strcmp(tnp, "kohina") || !strcmp(tnp, "noise")) + wave = 3; /* Get ADSR */ - a=atoi(strtok(NULL,",")); - d=atoi(strtok(NULL,",")); - s=atoi(strtok(NULL,",")); - r=atoi(strtok(NULL,",")); - - if (tmp<INSTR) { - sdata->len[tmp]=a+d+s+r+1; - sdata->instr[tmp]=weed_malloc(sdata->len[tmp]*sizeof(int)); - if (sdata->echo[tmp]==NULL) { + a = atoi(strtok(NULL, ",")); + d = atoi(strtok(NULL, ",")); + s = atoi(strtok(NULL, ",")); + r = atoi(strtok(NULL, ",")); + + if (tmp < INSTR) { + sdata->len[tmp] = a + d + s + r + 1; + sdata->instr[tmp] = weed_malloc(sdata->len[tmp] * sizeof(int)); + if (sdata->echo[tmp] == NULL) { return WEED_ERROR_MEMORY_ALLOCATION; } - weed_memset(sdata->instr[tmp],0,sdata->len[tmp]*sizeof(int)); + weed_memset(sdata->instr[tmp], 0, sdata->len[tmp]*sizeof(int)); } - mod=atoi(strtok(NULL,",")); - if ((tnp=strtok(NULL,","))) - sweep=atoi(tnp); + mod = atoi(strtok(NULL, ",")); + if ((tnp = strtok(NULL, ","))) + sweep = atoi(tnp); else - sweep=0; - if ((tnp=strtok(NULL,","))) - if (tmp<INSTR) sdata->pan[tmp]=(float)atoi(tnp)*255/100; - if ((tnp=strtok(NULL,","))) - if (tmp<INSTR) sdata->pola[tmp]=atoi(tnp)*255/100; - - wave_mod=1; - - if ((tnp=strtok(NULL,","))) { - if (!strcmp(tnp,"kantti") || !strcmp(tnp,"square")) - wave_mod=0; - else if (!strcmp(tnp,"sini") || !strcmp(tnp,"sin")) - wave_mod=1; - else if (!strcmp(tnp,"saha") || !strcmp(tnp,"saw")) - wave_mod=2; - else if (!strcmp(tnp,"kohina") || !strcmp(tnp,"noise")) - wave_mod=3; + sweep = 0; + if ((tnp = strtok(NULL, ","))) + if (tmp < INSTR) sdata->pan[tmp] = (float)atoi(tnp) * 255 / 100; + if ((tnp = strtok(NULL, ","))) + if (tmp < INSTR) sdata->pola[tmp] = atoi(tnp) * 255 / 100; + + wave_mod = 1; + + if ((tnp = strtok(NULL, ","))) { + if (!strcmp(tnp, "kantti") || !strcmp(tnp, "square")) + wave_mod = 0; + else if (!strcmp(tnp, "sini") || !strcmp(tnp, "sin")) + wave_mod = 1; + else if (!strcmp(tnp, "saha") || !strcmp(tnp, "saw")) + wave_mod = 2; + else if (!strcmp(tnp, "kohina") || !strcmp(tnp, "noise")) + wave_mod = 3; } - if (tmp<INSTR) adsr(sdata,a,d,s,r,mod,sweep,tmp,wave,wave_mod); + if (tmp < INSTR) adsr(sdata, a, d, s, r, mod, sweep, tmp, wave, wave_mod); } - if (key[0]=='p') { /* Handle pattern */ - patt=atoi(&key[1]); - j=0; + if (key[0] == 'p') { /* Handle pattern */ + patt = atoi(&key[1]); + j = 0; while (1) { - tnp=strtok(NULL,","); - if (tnp!=NULL) { - note=0; - for (tmp=0; notes[tmp][0]!='0'; tmp++) - if (!strcmp(notes[tmp],tnp)) - note=notei[tmp]; - sdata->ptn[patt][j]=note; - if (note==VOL || note==SLIDE) { + tnp = strtok(NULL, ","); + if (tnp != NULL) { + note = 0; + for (tmp = 0; notes[tmp][0] != '0'; tmp++) + if (!strcmp(notes[tmp], tnp)) + note = notei[tmp]; + sdata->ptn[patt][j] = note; + if (note == VOL || note == SLIDE) { j++; - sdata->ptn[patt][j]=atoi(strtok(NULL,",")); + sdata->ptn[patt][j] = atoi(strtok(NULL, ",")); } j++; } else { - sdata->ptn[patt][j]=END; + sdata->ptn[patt][j] = END; break; } } } - if (key[0]=='t') { /* Handle track */ - track=atoi(&key[1]); - j=0; + if (key[0] == 't') { /* Handle track */ + track = atoi(&key[1]); + j = 0; while (1) { - tnp=strtok(NULL,","); - if (tnp!=NULL) { - if (!strcmp(tnp,"loop")) - sdata->trak[track][j]=LOOP; + tnp = strtok(NULL, ","); + if (tnp != NULL) { + if (!strcmp(tnp, "loop")) + sdata->trak[track][j] = LOOP; else { - patt=atoi(&tnp[1]); - sdata->trak[track][j]=patt; + patt = atoi(&tnp[1]); + sdata->trak[track][j] = patt; } - if (j>sdata->maxtracks) sdata->maxtracks=j; + if (j > sdata->maxtracks) sdata->maxtracks = j; j++; } else { - sdata->trak[track][j]=END; + sdata->trak[track][j] = END; break; } } @@ -328,8 +328,8 @@ static void set_live_rows(_sdata *sdata, int *the_rows) { register int i; - for (i=0; i<INSTR; i++) { - sdata->new_live_row[i]=the_rows[i]; + for (i = 0; i < INSTR; i++) { + sdata->new_live_row[i] = the_rows[i]; //pi[i]=0; } } @@ -337,36 +337,36 @@ // added by Antti Silvast for setting just one live row static void set_live_row(_sdata *sdata, int channel, int the_row) { - sdata->new_live_row[channel]=the_row; + sdata->new_live_row[channel] = the_row; } static void syna_play(_sdata *sdata, float *dest, int length, int channels, int interleave) { - int note,li; // li is the "live i" - int left,right,smp; - int ceko,c1eko; + int note, li; // li is the "live i" + int left, right, smp; + int ceko, c1eko; - register int i,n; + register int i, n; - ceko=sdata->counter%sdata->ekolen; + ceko = sdata->counter % sdata->ekolen; - for (n=0; n<length; n++,sdata->counter++) { - c1eko=ceko+1; - if (c1eko==sdata->ekolen) - c1eko=0; + for (n = 0; n < length; n++, sdata->counter++) { + c1eko = ceko + 1; + if (c1eko == sdata->ekolen) + c1eko = 0; /* New row */ if (sdata->counter > sdata->update) { - sdata->counter=0; - sdata->update=sdata->new_update; - for (i=1; sdata->trak[i][0]!=END; i++) { - li=sdata->live_row[i]; + sdata->counter = 0; + sdata->update = sdata->new_update; + for (i = 1; sdata->trak[i][0] != END; i++) { + li = sdata->live_row[i]; //li=i; - if (li==END) + if (li == END) continue; sdata->pi[i]++; - if (li==-1 || sdata->ptn[sdata->trak[i][li]][sdata->pi[i]]==END) { - li=sdata->live_row[i]=sdata->new_live_row[i]; + if (li == -1 || sdata->ptn[sdata->trak[i][li]][sdata->pi[i]] == END) { + li = sdata->live_row[i] = sdata->new_live_row[i]; //ti[i]++; /* if(trak[i][li]==LOOP) @@ -374,34 +374,34 @@ if(trak[i][li]==END) li=END; */ - sdata->pi[i]=0; + sdata->pi[i] = 0; } //printf("%d=%d ",i,trak[i][li]); - if (li!=END) { - if ((note=sdata->ptn[sdata->trak[i][li]][sdata->pi[i]])) { + if (li != END) { + if ((note = sdata->ptn[sdata->trak[i][li]][sdata->pi[i]])) { switch (note) { - case STOP : - sdata->off[i]=-1; + case STOP: + sdata->off[i] = -1; break; - case ECHON : - sdata->eko[i]=1; + case ECHON: + sdata->eko[i] = 1; break; case ECHOFF: - sdata->eko[i]=0; + sdata->eko[i] = 0; break; - case VOL : + case VOL: sdata->pi[i]++; - sdata->vol[i]=sdata->ptn[sdata->trak[i][li]][sdata->pi[i]]*255/100; + sdata->vol[i] = sdata->ptn[sdata->trak[i][li]][sdata->pi[i]] * 255 / 100; break; - case SLIDE : + case SLIDE: sdata->pi[i]++; - sdata->slide[i]=sdata->ptn[sdata->trak[i][li]][sdata->pi[i]]*164/1000; + sdata->slide[i] = sdata->ptn[sdata->trak[i][li]][sdata->pi[i]] * 164 / 1000; break; - default : - sdata->plus[i]=note<<13; + default: + sdata->plus[i] = note << 13; //plus[i]/=BFREQ; - sdata->off[i]=0; + sdata->off[i] = 0; } } } @@ -415,111 +415,111 @@ #ifndef MARQ_ARM_OPT /* Sum the instruments */ - left=right=0; - for (i=1; sdata->trak[i][0]!=END; i++) { - smp=sdata->echo[i][(sdata->counter+1)%sdata->ekolen]; + left = right = 0; + for (i = 1; sdata->trak[i][0] != END; i++) { + smp = sdata->echo[i][(sdata->counter + 1) % sdata->ekolen]; - sdata->echo[i][sdata->counter%sdata->ekolen]=sdata->echo[i][(sdata->counter+1)%sdata->ekolen]*6/10; - if (sdata->off[i]>=0) { - smp+=sdata->instr[i][sdata->off[i]>>13]; + sdata->echo[i][sdata->counter % sdata->ekolen] = sdata->echo[i][(sdata->counter + 1) % sdata->ekolen] * 6 / 10; + if (sdata->off[i] >= 0) { + smp += sdata->instr[i][sdata->off[i] >> 13]; if (sdata->eko[i]) - sdata->echo[i][sdata->counter%sdata->ekolen]=smp*2/10; + sdata->echo[i][sdata->counter % sdata->ekolen] = smp * 2 / 10; - sdata->off[i]+=(sdata->plus[i]+sdata->base_speed); - sdata->plus[i]+=sdata->slide[i]; - if ((sdata->off[i]>>13)>=sdata->len[i] || sdata->off[i]<0) - sdata->off[i]=-1; + sdata->off[i] += (sdata->plus[i] + sdata->base_speed); + sdata->plus[i] += sdata->slide[i]; + if ((sdata->off[i] >> 13) >= sdata->len[i] || sdata->off[i] < 0) + sdata->off[i] = -1; } if (sdata->pola[i]) - smp=(smp*(255^sdata->pola[i])>>8)+(sdata->prev[i]*sdata->pola[i]>>8); - sdata->prev[i]=smp; + smp = (smp * (255 ^ sdata->pola[i]) >> 8) + (sdata->prev[i] * sdata->pola[i] >> 8); + sdata->prev[i] = smp; - smp=smp*sdata->vol[i]>>8; - left+=(255^sdata->pan[i])*smp>>8; - right+=sdata->pan[i]*smp>>8; + smp = smp * sdata->vol[i] >> 8; + left += (255 ^ sdata->pan[i]) * smp >> 8; + right += sdata->pan[i] * smp >> 8; } - if (left<-98301) - left=-98301; - if (left>98301) - left=98301; - if (!interleave||channels==1) - dest[n]=(float)left/98301.; + if (left < -98301) + left = -98301; + if (left > 98301) + left = 98301; + if (!interleave || channels == 1) + dest[n] = (float)left / 98301.; else - dest[n*2]=(float)left/98301.; - - if (channels==2) { - if (right<-98301) - right=-98301; - if (right>98301) - right=98301; - if (interleave) dest[n*2+1]=(float)right/98301.; - else dest[n+length]=(float)right/98301.; + dest[n * 2] = (float)left / 98301.; + + if (channels == 2) { + if (right < -98301) + right = -98301; + if (right > 98301) + right = 98301; + if (interleave) dest[n * 2 + 1] = (float)right / 98301.; + else dest[n + length] = (float)right / 98301.; } #else // sum the instruments - left=right=0; - for (i=1; sdata->trak[i][0]!=END; i++) { + left = right = 0; + for (i = 1; sdata->trak[i][0] != END; i++) { - smp=sdata->echo[i][c1eko]; + smp = sdata->echo[i][c1eko]; //fprintf(stderr,"ok %d\n",smp); - sdata->echo[i][ceko]=smp*19>>5; + sdata->echo[i][ceko] = smp * 19 >> 5; - if (sdata->off[i]>=0) { - smp+=sdata->instr[i][sdata->off[i]>>13]; + if (sdata->off[i] >= 0) { + smp += sdata->instr[i][sdata->off[i] >> 13]; //fprintf(stderr,"ok2 %d\n",smp); if (sdata->eko[i]) - sdata->echo[i][ceko]=smp*13>>6; + sdata->echo[i][ceko] = smp * 13 >> 6; - sdata->off[i]+=(sdata->plus[i]/sdata->base_freq); - sdata->plus[i]+=sdata->slide[i]*sdata->base_freq; - if ((sdata->off[i]>>13)>=sdata->len[i] || sdata->off[i]<0) - sdata->off[i]=-1; + sdata->off[i] += (sdata->plus[i] / sdata->base_freq); + sdata->plus[i] += sdata->slide[i] * sdata->base_freq; + if ((sdata->off[i] >> 13) >= sdata->len[i] || sdata->off[i] < 0) + sdata->off[i] = -1; } if (sdata->pola[i]) - smp=(smp*(255^sdata->pola[i])>>8)+(sdata->prev[i]*sdata->pola[i]>>8); - sdata->prev[i]=smp; + smp = (smp * (255 ^ sdata->pola[i]) >> 8) + (sdata->prev[i] * sdata->pola[i] >> 8); + sdata->prev[i] = smp; //fprintf(stderr,"ok23 %d\n",smp); - smp=smp*sdata->vol[i]>>8; + smp = smp * sdata->vol[i] >> 8; //fprintf(stderr,"ok24 %d\n",smp); - left+=(255^sdata->pan[i])*smp>>8; - if (channels==2) - right+=sdata->pan[i]*smp>>8; + left += (255 ^ sdata->pan[i]) * smp >> 8; + if (channels == 2) + right += sdata->pan[i] * smp >> 8; } - if (left<-98301) - left=-98301; - else if (left>98301) - left=98301; - if (!interleave||channels==1) - dest[n]=(float)(left*21>>6)/32767.; + if (left < -98301) + left = -98301; + else if (left > 98301) + left = 98301; + if (!interleave || channels == 1) + dest[n] = (float)(left * 21 >> 6) / 32767.; else { - dest[n*2]=(float)(left*21>>6)/32767.; + dest[n * 2] = (float)(left * 21 >> 6) / 32767.; } - if (channels==2) { - if (right<-98301) - right=-98301; - else if (right>98301) - right=98301; - if (interleave) dest[n*2+1]=(float)(right*21>>6)/32767.; - else dest[n+length]=(float)(right*21>>6)/32767.; + if (channels == 2) { + if (right < -98301) + right = -98301; + else if (right > 98301) + right = 98301; + if (interleave) dest[n * 2 + 1] = (float)(right * 21 >> 6) / 32767.; + else dest[n + length] = (float)(right * 21 >> 6) / 32767.; } //fprintf(stderr,"vals %d and %d, %f and %f\n",left,right,(float)(left*21>>6)/32767.,(float)(right*21>>6)/32767.); ceko++; - if (ceko==sdata->ekolen) - ceko=0; + if (ceko == sdata->ekolen) + ceko = 0; #endif @@ -529,64 +529,64 @@ /* Make ADSR to instruments */ static void adsr(_sdata *sdata, int a, int d, int s, int r, int mod, int swp, int ins, int wave, int wave_mod) { - int n,modulo=sdata->slen,id=0; - float i=0,vol=0.0,dv,oh=0.0,op,ip=1,sweep; + int n, modulo = sdata->slen, id = 0; + float i = 0, vol = 0.0, dv, oh = 0.0, op, ip = 1, sweep; - if (!a) a=1; - if (!r) r=1; + if (!a) a = 1; + if (!r) r = 1; - if (wave==KOHINA) - modulo=sdata->global; + if (wave == KOHINA) + modulo = sdata->global; if (mod) /* We modulate! */ - if (wave_mod==1) - op=mod/100.0*2.0*M_PI/(float)sdata->slen; + if (wave_mod == 1) + op = mod / 100.0 * 2.0 * M_PI / (float)sdata->slen; else - op=(float)mod/100.0; + op = (float)mod / 100.0; else - op=0; + op = 0; - sweep=(float)swp/1000.0/(float)sdata->slen; + sweep = (float)swp / 1000.0 / (float)sdata->slen; - dv=32767.0/(float)a; - for (n=0; n<a; n++,i+=ip,ip+=sweep,vol+=dv,oh+=op) - if (wave_mod!=1) - sdata->instr[ins][id++]=vol*sdata->aalto[wave][((int)i)%modulo]*((mod)?sdata->aalto[wave_mod][((int)oh)%modulo]:1.0); + dv = 32767.0 / (float)a; + for (n = 0; n < a; n++, i += ip, ip += sweep, vol += dv, oh += op) + if (wave_mod != 1) + sdata->instr[ins][id++] = vol * sdata->aalto[wave][((int)i) % modulo] * ((mod) ? sdata->aalto[wave_mod][((int)oh) % modulo] : 1.0); else - sdata->instr[ins][id++]=vol*sdata->aalto[wave][((int)i)%modulo]*((mod)?sin(oh):1.0); + sdata->instr[ins][id++] = vol * sdata->aalto[wave][((int)i) % modulo] * ((mod) ? sin(oh) : 1.0); - for (n=0; n<d; n++,i+=ip,ip+=sweep,vol-=dv,oh+=op) - if (wave_mod!=1) - sdata->instr[ins][id++]=vol*sdata->aalto[wave][((int)i)%modulo]*((mod)?sdata->aalto[wave_mod][((int)oh)%modulo]:1.0); + for (n = 0; n < d; n++, i += ip, ip += sweep, vol -= dv, oh += op) + if (wave_mod != 1) + sdata->instr[ins][id++] = vol * sdata->aalto[wave][((int)i) % modulo] * ((mod) ? sdata->aalto[wave_mod][((int)oh) % modulo] : 1.0); else - sdata->instr[ins][id++]=vol*sdata->aalto[wave][((int)i)%modulo]*((mod)?sin(oh):1.0); + sdata->instr[ins][id++] = vol * sdata->aalto[wave][((int)i) % modulo] * ((mod) ? sin(oh) : 1.0); - for (n=0; n<s; n++,i+=ip,ip+=sweep,oh+=op) - if (wave_mod!=1) - sdata->instr[ins][id++]=vol*sdata->aalto[wave][((int)i)%modulo]*((mod)?sdata->aalto[wave_mod][((int)oh)%modulo]:1.0); + for (n = 0; n < s; n++, i += ip, ip += sweep, oh += op) + if (wave_mod != 1) + sdata->instr[ins][id++] = vol * sdata->aalto[wave][((int)i) % modulo] * ((mod) ? sdata->aalto[wave_mod][((int)oh) % modulo] : 1.0); else - sdata->instr[ins][id++]=vol*sdata->aalto[wave][((int)i)%modulo]*((mod)?sin(oh):1.0); + sdata->instr[ins][id++] = vol * sdata->aalto[wave][((int)i) % modulo] * ((mod) ? sin(oh) : 1.0); - dv=vol/(float)r; + dv = vol / (float)r; - for (n=0; n<r; n++,i+=ip,ip+=sweep,vol-=dv,oh+=op) - if (wave_mod!=1) - sdata->instr[ins][id++]=vol*sdata->aalto[wave][((int)i)%modulo]*((mod)?sdata->aalto[wave_mod][((int)oh)%modulo]:1.0); + for (n = 0; n < r; n++, i += ip, ip += sweep, vol -= dv, oh += op) + if (wave_mod != 1) + sdata->instr[ins][id++] = vol * sdata->aalto[wave][((int)i) % modulo] * ((mod) ? sdata->aalto[wave_mod][((int)oh) % modulo] : 1.0); else - sdata->instr[ins][id++]=vol*sdata->aalto[wave][((int)i)%modulo]*((mod)?sin(oh):1.0); + sdata->instr[ins][id++] = vol * sdata->aalto[wave][((int)i) % modulo] * ((mod) ? sin(oh) : 1.0); } /* Fix the fscking Windoze/DOS newlines */ #ifndef TINY void cleanup(char *s) { - char *d=strdup(s); + char *d = strdup(s); for (; *d; d++) - if (*d!='\r' && *d!=' ') - *s++=*d; - *s=0; + if (*d != '\r' && *d != ' ') + *s++ = *d; + *s = 0; } #endif @@ -594,15 +594,15 @@ static void syna_deinit(_sdata *sdata) { register int n; - if (sdata==NULL) return; + if (sdata == NULL) return; - for (n=0; n<WAVES; n++) { - if (sdata->aalto[n]!=NULL) weed_free(sdata->aalto[n]); + for (n = 0; n < WAVES; n++) { + if (sdata->aalto[n] != NULL) weed_free(sdata->aalto[n]); } - for (n=0; n<INSTR; n++) { - if (sdata->echo[n]!=NULL) weed_free(sdata->echo[n]); + for (n = 0; n < INSTR; n++) { + if (sdata->echo[n] != NULL) weed_free(sdata->echo[n]); } - if (sdata->module!=NULL) weed_free(sdata->module); + if (sdata->module != NULL) weed_free(sdata->module); weed_free(sdata); } @@ -613,62 +613,62 @@ int fourk_deinit(weed_plant_t *inst) { int error; - _sdata *sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); - if (sdata!=NULL) syna_deinit(sdata); - weed_set_voidptr_value(inst,"plugin_internal",NULL); + _sdata *sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); + if (sdata != NULL) syna_deinit(sdata); + weed_set_voidptr_value(inst, "plugin_internal", NULL); return WEED_NO_ERROR; } int fourk_init(weed_plant_t *inst) { - int error,retval; + int error, retval; int rate; _sdata *sdata; - weed_plant_t *out_channel=weed_get_plantptr_value(inst,"out_channels",&error); - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); + weed_plant_t *out_channel = weed_get_plantptr_value(inst, "out_channels", &error); + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); char tune[MAX_TUNELEN]; - snprintf(tune,MAX_TUNELEN-4,"%s%s",TUNE_DIR,tunes[weed_get_int_value(in_params[0],"value",&error)]); + snprintf(tune, MAX_TUNELEN - 4, "%s%s", TUNE_DIR, tunes[weed_get_int_value(in_params[0], "value", &error)]); weed_free(in_params); - sdata=(_sdata *)weed_malloc(sizeof(_sdata)); + sdata = (_sdata *)weed_malloc(sizeof(_sdata)); - if (sdata==NULL) return WEED_ERROR_MEMORY_ALLOCATION; + if (sdata == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - weed_set_voidptr_value(inst,"plugin_internal",sdata); + weed_set_voidptr_value(inst, "plugin_internal", sdata); - rate=weed_get_int_value(out_channel,"audio_rate",&error); + rate = weed_get_int_value(out_channel, "audio_rate", &error); - if ((retval=syna_init(sdata,rate))!=WEED_NO_ERROR) { + if ((retval = syna_init(sdata, rate)) != WEED_NO_ERROR) { #ifdef DEBUG - fprintf(stderr,"4k init failed\n"); + fprintf(stderr, "4k init failed\n"); #endif fourk_deinit(inst); return retval; } #ifdef DEBUG - fprintf(stderr,"4k: loading tune %s\n",tune); + fprintf(stderr, "4k: loading tune %s\n", tune); #endif - if ((retval=syna_load(sdata,tune))!=WEED_NO_ERROR) { + if ((retval = syna_load(sdata, tune)) != WEED_NO_ERROR) { - sprintf(tune+strlen(tune),"%s",".txt"); + sprintf(tune + strlen(tune), "%s", ".txt"); #ifdef DEBUG - fprintf(stderr,"4k: loading tune %s\n",tune); + fprintf(stderr, "4k: loading tune %s\n", tune); #endif - if ((retval=syna_load(sdata,tune))!=WEED_NO_ERROR) { + if ((retval = syna_load(sdata, tune)) != WEED_NO_ERROR) { fourk_deinit(inst); #ifdef DEBUG - fprintf(stderr,"4k load failed\n"); + fprintf(stderr, "4k load failed\n"); #endif return retval; } @@ -686,36 +686,36 @@ int fourk_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - int chans,nsamps,inter; + int chans, nsamps, inter; - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); - weed_plant_t *out_channel=weed_get_plantptr_value(inst,"out_channels",&error); + weed_plant_t *out_channel = weed_get_plantptr_value(inst, "out_channels", &error); - float *dst=weed_get_voidptr_value(out_channel,"audio_data",&error); + float *dst = weed_get_voidptr_value(out_channel, "audio_data", &error); - double tempo=weed_get_double_value(in_params[1],"value",&error); - double bfreq=weed_get_double_value(in_params[2],"value",&error); + double tempo = weed_get_double_value(in_params[1], "value", &error); + double bfreq = weed_get_double_value(in_params[2], "value", &error); - _sdata *sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); + _sdata *sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); register int i; weed_free(in_params); - chans=weed_get_int_value(out_channel,"audio_channels",&error); - nsamps=weed_get_int_value(out_channel,"audio_data_length",&error); - inter=weed_get_boolean_value(out_channel,"audio_interleaf",&error); + chans = weed_get_int_value(out_channel, "audio_channels", &error); + nsamps = weed_get_int_value(out_channel, "audio_data_length", &error); + inter = weed_get_boolean_value(out_channel, "audio_interleaf", &error); //rate=weed_get_int_value(out_channel,"audio_rate",&error); - for (i=0; i<NCHANNELS; i++) { - set_live_row(sdata,i,(rand()%(sdata->maxtracks*1000-1))/1000.f+1.); // 2nd val can be 2 (?) to npat (?) + for (i = 0; i < NCHANNELS; i++) { + set_live_row(sdata, i, (rand() % (sdata->maxtracks * 1000 - 1)) / 1000.f + 1.); // 2nd val can be 2 (?) to npat (?) } - set_tempo(sdata,tempo*255.+8.); // bpm: maybe 8. to 263. ? - set_base_freq(sdata,bfreq*255.-128.); // 145. to 400. + set_tempo(sdata, tempo * 255. + 8.); // bpm: maybe 8. to 263. ? + set_base_freq(sdata, bfreq * 255. - 128.); // 145. to 400. - syna_play(sdata,dst,nsamps,chans,inter); // dlen is number of samps....does interleaved + syna_play(sdata, dst, nsamps, chans, inter); // dlen is number of samps....does interleaved return WEED_NO_ERROR; } @@ -725,63 +725,63 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { weed_plant_t *plugin_info; - DIR *dir=NULL; + DIR *dir = NULL; struct dirent *dirent; size_t dlen; - int tcount=0; + int tcount = 0; // make list of tunes // scan entries in the ./data/fourklives/songs directory - dir=opendir(TUNE_DIR); - if (dir==NULL) return NULL; + dir = opendir(TUNE_DIR); + if (dir == NULL) return NULL; while (1) { - if (tcount==MAX_TUNES-1) break; - dirent=readdir(dir); - if (dirent==NULL) break; - dlen=strlen(dirent->d_name); - if (!strncmp(dirent->d_name,"..",dlen)) continue; - if (dlen>4 && !strcmp(dirent->d_name+dlen-4,".txt")) dlen-=4; - tunes[tcount++]=strndup(dirent->d_name,dlen); + if (tcount == MAX_TUNES - 1) break; + dirent = readdir(dir); + if (dirent == NULL) break; + dlen = strlen(dirent->d_name); + if (!strncmp(dirent->d_name, "..", dlen)) continue; + if (dlen > 4 && !strcmp(dirent->d_name + dlen - 4, ".txt")) dlen -= 4; + tunes[tcount++] = strndup(dirent->d_name, dlen); } closedir(dir); - tunes[tcount]=NULL; + tunes[tcount] = NULL; - plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); + plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); - if (plugin_info!=NULL) { + if (plugin_info != NULL) { weed_plant_t *out_chantmpls[2]; - weed_plant_t *in_params[NCHANNELS+4]; // tune name + channel rows + tempo + base_freq + NULL + weed_plant_t *in_params[NCHANNELS + 4]; // tune name + channel rows + tempo + base_freq + NULL weed_plant_t *filter_class; register int i; - in_params[0]=weed_string_list_init("tune_name","_Tune",0,(const char **const)tunes); - weed_set_int_value(in_params[0],"flags",WEED_PARAMETER_REINIT_ON_VALUE_CHANGE); + in_params[0] = weed_string_list_init("tune_name", "_Tune", 0, (const char **const)tunes); + weed_set_int_value(in_params[0], "flags", WEED_PARAMETER_REINIT_ON_VALUE_CHANGE); - in_params[1]=weed_float_init("tempo","_Tempo",.5,0.,1.); - in_params[2]=weed_float_init("bfreq","Base _Frequency",.5,0.,1.); + in_params[1] = weed_float_init("tempo", "_Tempo", .5, 0., 1.); + in_params[2] = weed_float_init("bfreq", "Base _Frequency", .5, 0., 1.); - for (i=3; i<NCHANNELS+3; i++) { + for (i = 3; i < NCHANNELS + 3; i++) { // TODO - unique name - in_params[i]=weed_float_init("cparam","cparam",.5,0.,1.); + in_params[i] = weed_float_init("cparam", "cparam", .5, 0., 1.); } - in_params[i]=NULL; + in_params[i] = NULL; - out_chantmpls[0]=weed_audio_channel_template_init("out channel 0",0); - out_chantmpls[1]=NULL; + out_chantmpls[0] = weed_audio_channel_template_init("out channel 0", 0); + out_chantmpls[1] = NULL; - filter_class=weed_filter_class_init("fourKlives","salsaman, anti and marq",1,0,&fourk_init,&fourk_process, - &fourk_deinit,NULL,out_chantmpls,in_params,NULL); + filter_class = weed_filter_class_init("fourKlives", "salsaman, anti and marq", 1, 0, &fourk_init, &fourk_process, + &fourk_deinit, NULL, out_chantmpls, in_params, NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; } @@ -791,5 +791,5 @@ void weed_desetup(void) { register int i; - for (i=0; tunes[i]!=NULL; i++) weed_free(tunes[i]); + for (i = 0; tunes[i] != NULL; i++) weed_free(tunes[i]); }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/freenect.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/freenect.c
Changed
@@ -17,10 +17,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -58,13 +58,13 @@ static void *idle_loop(void *user_data) { - _sdata *sd=(_sdata *)(user_data); + _sdata *sd = (_sdata *)(user_data); int res; while (!sd->die) { res = freenect_process_events(sd->f_ctx); if (res < 0 && res != -10) { - fprintf(stderr,"\nFreenect - Error %d received from libusb - aborting.\n",res); + fprintf(stderr, "\nFreenect - Error %d received from libusb - aborting.\n", res); break; } } @@ -73,7 +73,7 @@ static void rgb_cb(freenect_device *dev, void *rgb, uint32_t timestamp) { - _sdata *sd=(_sdata *)freenect_get_user(dev); + _sdata *sd = (_sdata *)freenect_get_user(dev); pthread_mutex_lock(&sd->backbuf_mutex); @@ -89,7 +89,7 @@ static void depth_cb(freenect_device *dev, void *v_depth, uint32_t timestamp) { - _sdata *sd=(_sdata *)freenect_get_user(dev); + _sdata *sd = (_sdata *)freenect_get_user(dev); pthread_mutex_lock(&sd->backbuf_mutex); @@ -109,7 +109,7 @@ int user_device_number = 0; if (freenect_init(&sdata->f_ctx, NULL) < 0) { - fprintf(stderr,"freenect_init() failed\n"); + fprintf(stderr, "freenect_init() failed\n"); return 1; } @@ -117,7 +117,7 @@ freenect_select_subdevices(sdata->f_ctx, (freenect_device_flags)(FREENECT_DEVICE_CAMERA)); nr_devices = freenect_num_devices(sdata->f_ctx); - fprintf(stderr,"Freenect: Number of devices found: %d\n", nr_devices); + fprintf(stderr, "Freenect: Number of devices found: %d\n", nr_devices); /* if (argc > 1) user_device_number = atoi(argv[1]); @@ -129,12 +129,12 @@ } if (freenect_open_device(sdata->f_ctx, &sdata->f_dev, user_device_number) < 0) { - fprintf(stderr,"Freenect: Could not open device\n"); + fprintf(stderr, "Freenect: Could not open device\n"); freenect_shutdown(sdata->f_ctx); return 0; } - freenect_set_user(sdata->f_dev,sdata); + freenect_set_user(sdata->f_dev, sdata); return 1; } @@ -142,32 +142,32 @@ static int lives_freenect_init(weed_plant_t *inst) { - _sdata *sd=(_sdata *)weed_malloc(sizeof(_sdata)); - if (sd==NULL) return WEED_ERROR_MEMORY_ALLOCATION; + _sdata *sd = (_sdata *)weed_malloc(sizeof(_sdata)); + if (sd == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - sd->depth_back = (uint16_t *)weed_malloc(640*480*2); - if (sd->depth_back==NULL) { + sd->depth_back = (uint16_t *)weed_malloc(640 * 480 * 2); + if (sd->depth_back == NULL) { weed_free(sd); return WEED_ERROR_MEMORY_ALLOCATION; } - sd->depth_front = (uint16_t *)weed_malloc(640*480*2); - if (sd->depth_front==NULL) { + sd->depth_front = (uint16_t *)weed_malloc(640 * 480 * 2); + if (sd->depth_front == NULL) { weed_free(sd->depth_back); weed_free(sd); return WEED_ERROR_MEMORY_ALLOCATION; } - sd->rgb_back = (uint8_t *)weed_malloc(640*480*3); - if (sd->rgb_back==NULL) { + sd->rgb_back = (uint8_t *)weed_malloc(640 * 480 * 3); + if (sd->rgb_back == NULL) { weed_free(sd->depth_back); weed_free(sd->depth_front); weed_free(sd); return WEED_ERROR_MEMORY_ALLOCATION; } - sd->rgb_front = (uint8_t *)weed_malloc(640*480*3); - if (sd->rgb_front==NULL) { + sd->rgb_front = (uint8_t *)weed_malloc(640 * 480 * 3); + if (sd->rgb_front == NULL) { weed_free(sd->depth_back); weed_free(sd->depth_front); weed_free(sd->rgb_back); @@ -175,7 +175,7 @@ return WEED_ERROR_MEMORY_ALLOCATION; } - weed_set_voidptr_value(inst,"plugin_internal",sd); + weed_set_voidptr_value(inst, "plugin_internal", sd); if (!lives_freenect_prep(sd)) { weed_free(sd->depth_back); @@ -186,7 +186,7 @@ return WEED_ERROR_HARDWARE; } - pthread_mutex_init(&sd->backbuf_mutex,NULL); + pthread_mutex_init(&sd->backbuf_mutex, NULL); freenect_set_depth_callback(sd->f_dev, depth_cb); freenect_set_video_callback(sd->f_dev, rgb_cb); @@ -201,8 +201,8 @@ freenect_start_video(sd->f_dev); // kick off a thread to do usb stuff - sd->die=0; - pthread_create(&sd->usb_thread,NULL,idle_loop,sd); + sd->die = 0; + pthread_create(&sd->usb_thread, NULL, idle_loop, sd); return WEED_NO_ERROR; } @@ -212,19 +212,19 @@ static int lives_freenect_deinit(weed_plant_t *inst) { int error; - _sdata *sd=weed_get_voidptr_value(inst,"plugin_internal",&error); + _sdata *sd = weed_get_voidptr_value(inst, "plugin_internal", &error); // kill usb thread - sd->die=1; - pthread_join(sd->usb_thread,NULL); + sd->die = 1; + pthread_join(sd->usb_thread, NULL); - if (sd->f_dev!=NULL) { + if (sd->f_dev != NULL) { freenect_stop_depth(sd->f_dev); freenect_stop_video(sd->f_dev); freenect_close_device(sd->f_dev); } - if (sd->f_ctx!=NULL) freenect_shutdown(sd->f_ctx); + if (sd->f_ctx != NULL) freenect_shutdown(sd->f_ctx); weed_free(sd->depth_front); weed_free(sd->depth_back); @@ -240,81 +240,81 @@ static int lives_freenect_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); - weed_plant_t **outs=weed_get_plantptr_array(inst,"out_channels",&error); - weed_plant_t *out_channel=outs[0]; - weed_plant_t *out_alpha=outs[1]; + weed_plant_t **outs = weed_get_plantptr_array(inst, "out_channels", &error); + weed_plant_t *out_channel = outs[0]; + weed_plant_t *out_alpha = outs[1]; - unsigned char *dst=weed_get_voidptr_value(out_channel,"pixel_data",&error); - unsigned char *dsta=weed_get_voidptr_value(out_alpha,"pixel_data",&error); + unsigned char *dst = weed_get_voidptr_value(out_channel, "pixel_data", &error); + unsigned char *dsta = weed_get_voidptr_value(out_alpha, "pixel_data", &error); - _sdata *sd=weed_get_voidptr_value(inst,"plugin_internal",&error); + _sdata *sd = weed_get_voidptr_value(inst, "plugin_internal", &error); - int width=weed_get_int_value(out_channel,"width",&error); - int height=weed_get_int_value(out_channel,"height",&error); - int pal=weed_get_int_value(out_channel,"current_palette",&error); - int rowstride=weed_get_int_value(out_channel,"rowstrides",&error); + int width = weed_get_int_value(out_channel, "width", &error); + int height = weed_get_int_value(out_channel, "height", &error); + int pal = weed_get_int_value(out_channel, "current_palette", &error); + int rowstride = weed_get_int_value(out_channel, "rowstrides", &error); - int cmin,cmax,*ccol; + int cmin, cmax, *ccol; - int offs,psize=3; + int offs, psize = 3; - int red=0,green=1,blue=2,alpha=3; + int red = 0, green = 1, blue = 2, alpha = 3; - unsigned char *rgb=sd->rgb_front; - uint16_t *depth=sd->depth_front; + unsigned char *rgb = sd->rgb_front; + uint16_t *depth = sd->depth_front; - register int i,j; + register int i, j; - cmin=weed_get_int_value(in_params[0],"value",&error); - cmax=weed_get_int_value(in_params[1],"value",&error); - ccol=weed_get_int_array(in_params[2],"value",&error); + cmin = weed_get_int_value(in_params[0], "value", &error); + cmax = weed_get_int_value(in_params[1], "value", &error); + ccol = weed_get_int_array(in_params[2], "value", &error); - if (pal!=WEED_PALETTE_RGB24&&pal!=WEED_PALETTE_BGR24) psize=4; + if (pal != WEED_PALETTE_RGB24 && pal != WEED_PALETTE_BGR24) psize = 4; - if (pal==WEED_PALETTE_BGR24||pal==WEED_PALETTE_BGRA32) { - red=2; - blue=0; + if (pal == WEED_PALETTE_BGR24 || pal == WEED_PALETTE_BGRA32) { + red = 2; + blue = 0; } - if (pal==WEED_PALETTE_ARGB32) { - alpha=0; - red=1; - green=2; - blue=3; + if (pal == WEED_PALETTE_ARGB32) { + alpha = 0; + red = 1; + green = 2; + blue = 3; } - offs=rowstride-width*psize; + offs = rowstride - width * psize; - fprintf(stderr,"min %d max %d\n",cmin,cmax); + fprintf(stderr, "min %d max %d\n", cmin, cmax); pthread_mutex_lock(&sd->backbuf_mutex); - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - - if (*depth>=cmax||*depth<cmin) { - dst[red]=ccol[0]; - dst[green]=ccol[1]; - dst[blue]=ccol[2]; - if (psize==4) dst[alpha]=0; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + + if (*depth >= cmax || *depth < cmin) { + dst[red] = ccol[0]; + dst[green] = ccol[1]; + dst[blue] = ccol[2]; + if (psize == 4) dst[alpha] = 0; } else { - dst[red]=rgb[0]; - dst[green]=rgb[1]; - dst[blue]=rgb[2]; - if (psize==4) dst[alpha]=255; + dst[red] = rgb[0]; + dst[green] = rgb[1]; + dst[blue] = rgb[2]; + if (psize == 4) dst[alpha] = 255; } - dst+=psize; - rgb+=3; + dst += psize; + rgb += 3; - if (dsta!=NULL) { - *(dsta++)=(float)*depth; + if (dsta != NULL) { + *(dsta++) = (float) * depth; } depth++; } - dst+=offs; + dst += offs; } pthread_mutex_unlock(&sd->backbuf_mutex); @@ -330,36 +330,36 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_RGB24,WEED_PALETTE_BGR24,WEED_PALETTE_RGBA32,WEED_PALETTE_BGRA32,WEED_PALETTE_ARGB32,WEED_PALETTE_END}; - int apalette_list[]= {WEED_PALETTE_AFLOAT,WEED_PALETTE_END}; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_RGB24, WEED_PALETTE_BGR24, WEED_PALETTE_RGBA32, WEED_PALETTE_BGRA32, WEED_PALETTE_ARGB32, WEED_PALETTE_END}; + int apalette_list[] = {WEED_PALETTE_AFLOAT, WEED_PALETTE_END}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",0,palette_list), - weed_channel_template_init("depth",0,apalette_list),NULL - }; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", 0, palette_list), + weed_channel_template_init("depth", 0, apalette_list), NULL + }; - weed_plant_t *in_params[]= {weed_integer_init("minthresh","Cut depth (cm) <",0,0,65535), - weed_integer_init("maxthresh","Cut depth (cm) >=",65536,0,65536), - weed_colRGBi_init("ccol","_Replace with colour",0,0,0), - NULL - }; + weed_plant_t *in_params[] = {weed_integer_init("minthresh", "Cut depth (cm) <", 0, 0, 65535), + weed_integer_init("maxthresh", "Cut depth (cm) >=", 65536, 0, 65536), + weed_colRGBi_init("ccol", "_Replace with colour", 0, 0, 0), + NULL + }; - weed_plant_t *filter_class=weed_filter_class_init("freenect","salsaman",1,0,&lives_freenect_init, - &lives_freenect_process, - &lives_freenect_deinit, - NULL,out_chantmpls,in_params,NULL); + weed_plant_t *filter_class = weed_filter_class_init("freenect", "salsaman", 1, 0, &lives_freenect_init, + &lives_freenect_process, + &lives_freenect_deinit, + NULL, out_chantmpls, in_params, NULL); - weed_set_int_value(out_chantmpls[0],"width",640); - weed_set_int_value(out_chantmpls[0],"height",480); + weed_set_int_value(out_chantmpls[0], "width", 640); + weed_set_int_value(out_chantmpls[0], "height", 480); - weed_set_boolean_value(out_chantmpls[1],"optional",WEED_TRUE); + weed_set_boolean_value(out_chantmpls[1], "optional", WEED_TRUE); - weed_set_double_value(filter_class,"target_fps",25.); + weed_set_double_value(filter_class, "target_fps", 25.); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/frei0r.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/frei0r.c
Changed
@@ -33,10 +33,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=1; // number of different weed api versions supported -static int api_versions[]= {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 1; // number of different weed api versions supported +static int api_versions[] = {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -62,7 +62,7 @@ const uint32_t *inframe3, uint32_t *outframe); typedef void (*f0r_set_param_value_f)(f0r_instance_t *instance, f0r_param_t *param, int param_index); -#if FREI0R_MAJOR_VERSION >1 || FREI0R_MINOR_VERSION > 1 +#if FREI0R_MAJOR_VERSION > 1 || FREI0R_MINOR_VERSION > 1 #define CAN_GET_DEF typedef void (*f0r_get_param_value_f)(f0r_instance_t *instance, f0r_param_t *param, int param_index); #endif @@ -81,13 +81,13 @@ static int getenv_piece(char *target, size_t tlen, char *envvar, int num) { // get num piece from envvar path and set in target char *str1; - memset(target,0,1); + memset(target, 0, 1); /* extract first string from string sequence */ str1 = strtok(envvar, ":"); /* loop until finishied */ - while (--num>=0) { + while (--num >= 0) { /* extract string from string sequence */ str1 = strtok(NULL, ":"); @@ -95,7 +95,7 @@ if (str1 == NULL) break; } - if (str1!=NULL) snprintf(target,tlen,"%s",str1); + if (str1 != NULL) snprintf(target, tlen, "%s", str1); else return 0; return 1; } @@ -105,26 +105,26 @@ int frei0r_init(weed_plant_t *inst) { - weed_plant_t *out_channel,*filter; - int error,height,width,cpalette; + weed_plant_t *out_channel, *filter; + int error, height, width, cpalette; f0r_instance_t f0r_inst; f0r_construct_f f0r_construct; - filter=weed_get_plantptr_value(inst,"filter_class",&error); + filter = weed_get_plantptr_value(inst, "filter_class", &error); - out_channel=weed_get_plantptr_value(inst,"out_channels",&error); - width=weed_get_int_value(out_channel,"rowstrides",&error); - height=weed_get_int_value(out_channel,"height",&error); - cpalette=weed_get_int_value(out_channel,"current_palette",&error); + out_channel = weed_get_plantptr_value(inst, "out_channels", &error); + width = weed_get_int_value(out_channel, "rowstrides", &error); + height = weed_get_int_value(out_channel, "height", &error); + cpalette = weed_get_int_value(out_channel, "current_palette", &error); - if (cpalette==WEED_PALETTE_UYVY||cpalette==WEED_PALETTE_YUYV) width>>=1; - else width>>=2; + if (cpalette == WEED_PALETTE_UYVY || cpalette == WEED_PALETTE_YUYV) width >>= 1; + else width >>= 2; - f0r_construct=weed_get_voidptr_value(filter,"plugin_f0r_construct",&error); + f0r_construct = weed_get_voidptr_value(filter, "plugin_f0r_construct", &error); - if ((f0r_inst=(*f0r_construct)(width,height))==NULL) return WEED_ERROR_INIT_ERROR; - weed_set_voidptr_value(inst,"plugin_f0r_inst",f0r_inst); + if ((f0r_inst = (*f0r_construct)(width, height)) == NULL) return WEED_ERROR_INIT_ERROR; + weed_set_voidptr_value(inst, "plugin_f0r_inst", f0r_inst); return WEED_NO_ERROR; } @@ -136,10 +136,10 @@ f0r_destruct_f f0r_destruct; weed_plant_t *filter; - filter=weed_get_plantptr_value(inst,"filter_class",&error); + filter = weed_get_plantptr_value(inst, "filter_class", &error); - f0r_inst=weed_get_voidptr_value(inst,"plugin_f0r_inst",&error); - f0r_destruct=weed_get_voidptr_value(filter,"plugin_f0r_destruct",&error); + f0r_inst = weed_get_voidptr_value(inst, "plugin_f0r_inst", &error); + f0r_destruct = weed_get_voidptr_value(filter, "plugin_f0r_destruct", &error); (*f0r_destruct)(f0r_inst); return WEED_NO_ERROR; @@ -147,50 +147,50 @@ static void weed_params_to_frei0r_params(weed_plant_t *inst, weed_plant_t **in_params, int num_weed_params) { - int i,error,hint; - int pnum=0; + int i, error, hint; + int pnum = 0; weed_plant_t *ptmpl; int vali; - double vald,vald2; + double vald, vald2; double *cols; - f0r_instance_t f0rinst=weed_get_voidptr_value(inst,"plugin_f0r_inst",&error); - weed_plant_t *filter=weed_get_plantptr_value(inst,"filter_class",&error); - f0r_set_param_value_f f0r_set_param_value=weed_get_voidptr_value(filter,"plugin_f0r_set_param_value",&error); + f0r_instance_t f0rinst = weed_get_voidptr_value(inst, "plugin_f0r_inst", &error); + weed_plant_t *filter = weed_get_plantptr_value(inst, "filter_class", &error); + f0r_set_param_value_f f0r_set_param_value = weed_get_voidptr_value(filter, "plugin_f0r_set_param_value", &error); f0r_param_position_t f0rpos; f0r_param_color_t f0rcol; char *string; - for (i=0; i<num_weed_params; i++) { - ptmpl=weed_get_plantptr_value(in_params[i],"template",&error); - hint=weed_get_int_value(ptmpl,"hint",&error); + for (i = 0; i < num_weed_params; i++) { + ptmpl = weed_get_plantptr_value(in_params[i], "template", &error); + hint = weed_get_int_value(ptmpl, "hint", &error); switch (hint) { case WEED_HINT_SWITCH: - vali=weed_get_boolean_value(in_params[i],"value",&error); - vald=(double)vali; - (*f0r_set_param_value)(f0rinst,(f0r_param_t)&vald,pnum); + vali = weed_get_boolean_value(in_params[i], "value", &error); + vald = (double)vali; + (*f0r_set_param_value)(f0rinst, (f0r_param_t)&vald, pnum); break; case WEED_HINT_FLOAT: - vald=weed_get_double_value(in_params[i],"value",&error); - if (!weed_plant_has_leaf(ptmpl,"plugin_f0r_position"))(*f0r_set_param_value)(f0rinst,(f0r_param_t)&vald,pnum); + vald = weed_get_double_value(in_params[i], "value", &error); + if (!weed_plant_has_leaf(ptmpl, "plugin_f0r_position"))(*f0r_set_param_value)(f0rinst, (f0r_param_t)&vald, pnum); else { i++; - vald2=weed_get_double_value(in_params[i],"value",&error); - f0rpos.x=vald; - f0rpos.y=vald2; - (*f0r_set_param_value)(f0rinst,(f0r_param_t)&f0rpos,pnum); + vald2 = weed_get_double_value(in_params[i], "value", &error); + f0rpos.x = vald; + f0rpos.y = vald2; + (*f0r_set_param_value)(f0rinst, (f0r_param_t)&f0rpos, pnum); } break; case WEED_HINT_COLOR: - cols=weed_get_double_array(in_params[i],"value",&error); - f0rcol.r=cols[0]; - f0rcol.g=cols[1]; - f0rcol.b=cols[2]; - (*f0r_set_param_value)(f0rinst,(f0r_param_t)&f0rcol,pnum); + cols = weed_get_double_array(in_params[i], "value", &error); + f0rcol.r = cols[0]; + f0rcol.g = cols[1]; + f0rcol.b = cols[2]; + (*f0r_set_param_value)(f0rinst, (f0r_param_t)&f0rcol, pnum); weed_free(cols); break; case WEED_HINT_TEXT: - string=weed_get_string_value(in_params[i],"value",&error); - (*f0r_set_param_value)(f0rinst,(f0r_param_t)&string,pnum); + string = weed_get_string_value(in_params[i], "value", &error); + (*f0r_set_param_value)(f0rinst, (f0r_param_t)&string, pnum); weed_free(string); break; } @@ -210,52 +210,53 @@ f0r_update_f f0r_update; f0r_update2_f f0r_update2; weed_plant_t *filter; - weed_plant_t **in_channels,**out_channels,**in_params; + weed_plant_t **in_channels, **out_channels, **in_params; int f0r_plugin_type; - double time=timestamp/100000000.; + double time = timestamp / 100000000.; - filter=weed_get_plantptr_value(inst,"filter_class",&error); - f0r_inst=weed_get_voidptr_value(inst,"plugin_f0r_inst",&error); - f0r_plugin_type=weed_get_int_value(filter,"plugin_f0r_type",&error); + filter = weed_get_plantptr_value(inst, "filter_class", &error); + f0r_inst = weed_get_voidptr_value(inst, "plugin_f0r_inst", &error); + f0r_plugin_type = weed_get_int_value(filter, "plugin_f0r_type", &error); - if (weed_plant_has_leaf(inst,"in_parameters")&&(in_params=weed_get_plantptr_array(inst,"in_parameters",&error))!=NULL) { - weed_params_to_frei0r_params(inst,in_params,weed_leaf_num_elements(inst,"in_parameters")); + if (weed_plant_has_leaf(inst, "in_parameters") && (in_params = weed_get_plantptr_array(inst, "in_parameters", &error)) != NULL) { + weed_params_to_frei0r_params(inst, in_params, weed_leaf_num_elements(inst, "in_parameters")); } switch (f0r_plugin_type) { case F0R_PLUGIN_TYPE_SOURCE: - f0r_update=weed_get_voidptr_value(filter,"plugin_f0r_update",&error); - out_channels=weed_get_plantptr_array(inst,"out_channels",&error); - (*f0r_update)(f0r_inst,time,NULL,weed_get_voidptr_value(out_channels[0],"pixel_data",&error)); + f0r_update = weed_get_voidptr_value(filter, "plugin_f0r_update", &error); + out_channels = weed_get_plantptr_array(inst, "out_channels", &error); + (*f0r_update)(f0r_inst, time, NULL, weed_get_voidptr_value(out_channels[0], "pixel_data", &error)); weed_free(out_channels); break; case F0R_PLUGIN_TYPE_FILTER: - f0r_update=weed_get_voidptr_value(filter,"plugin_f0r_update",&error); - out_channels=weed_get_plantptr_array(inst,"out_channels",&error); - in_channels=weed_get_plantptr_array(inst,"in_channels",&error); - (*f0r_update)(f0r_inst,time,weed_get_voidptr_value(in_channels[0],"pixel_data",&error),weed_get_voidptr_value(out_channels[0],"pixel_data", + f0r_update = weed_get_voidptr_value(filter, "plugin_f0r_update", &error); + out_channels = weed_get_plantptr_array(inst, "out_channels", &error); + in_channels = weed_get_plantptr_array(inst, "in_channels", &error); + (*f0r_update)(f0r_inst, time, weed_get_voidptr_value(in_channels[0], "pixel_data", &error), weed_get_voidptr_value(out_channels[0], + "pixel_data", &error)); weed_free(out_channels); weed_free(in_channels); break; case F0R_PLUGIN_TYPE_MIXER2: - f0r_update2=weed_get_voidptr_value(filter,"plugin_f0r_update2",&error); - out_channels=weed_get_plantptr_array(inst,"out_channels",&error); - in_channels=weed_get_plantptr_array(inst,"in_channels",&error); - (*f0r_update2)(f0r_inst,time,weed_get_voidptr_value(in_channels[0],"pixel_data",&error), - weed_get_voidptr_value(in_channels[1],"pixel_data",&error),NULL,weed_get_voidptr_value(out_channels[0],"pixel_data",&error)); + f0r_update2 = weed_get_voidptr_value(filter, "plugin_f0r_update2", &error); + out_channels = weed_get_plantptr_array(inst, "out_channels", &error); + in_channels = weed_get_plantptr_array(inst, "in_channels", &error); + (*f0r_update2)(f0r_inst, time, weed_get_voidptr_value(in_channels[0], "pixel_data", &error), + weed_get_voidptr_value(in_channels[1], "pixel_data", &error), NULL, weed_get_voidptr_value(out_channels[0], "pixel_data", &error)); weed_free(out_channels); weed_free(in_channels); break; case F0R_PLUGIN_TYPE_MIXER3: - f0r_update2=weed_get_voidptr_value(filter,"plugin_f0r_update2",&error); - out_channels=weed_get_plantptr_array(inst,"out_channels",&error); - in_channels=weed_get_plantptr_array(inst,"in_channels",&error); - (*f0r_update2)(f0r_inst,time,weed_get_voidptr_value(in_channels[0],"pixel_data",&error), - weed_get_voidptr_value(in_channels[1],"pixel_data",&error), - weed_get_voidptr_value(in_channels[2],"pixel_data",&error), - weed_get_voidptr_value(out_channels[0],"pixel_data",&error)); + f0r_update2 = weed_get_voidptr_value(filter, "plugin_f0r_update2", &error); + out_channels = weed_get_plantptr_array(inst, "out_channels", &error); + in_channels = weed_get_plantptr_array(inst, "in_channels", &error); + (*f0r_update2)(f0r_inst, time, weed_get_voidptr_value(in_channels[0], "pixel_data", &error), + weed_get_voidptr_value(in_channels[1], "pixel_data", &error), + weed_get_voidptr_value(in_channels[2], "pixel_data", &error), + weed_get_voidptr_value(out_channels[0], "pixel_data", &error)); weed_free(out_channels); weed_free(in_channels); break; @@ -267,45 +268,45 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { weed_plant_t *plugin_info; - if (FREI0R_MAJOR_VERSION<1||FREI0R_MINOR_VERSION<1) return NULL; + if (FREI0R_MAJOR_VERSION < 1 || FREI0R_MINOR_VERSION < 1) return NULL; - plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); + plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); - if (plugin_info!=NULL) { + if (plugin_info != NULL) { int *pal; - int pnum,wnum,num_weed_params; - char **rfx_strings=NULL; + int pnum, wnum, num_weed_params; + char **rfx_strings = NULL; - char *blacklist[2]= {"Timeout indicator",NULL}; + char *blacklist[2] = {"Timeout indicator", NULL}; - weed_plant_t **out_chantmpls,**in_chantmpls=NULL; - weed_plant_t **in_params=NULL,*gui,*pgui; + weed_plant_t **out_chantmpls, **in_chantmpls = NULL; + weed_plant_t **in_params = NULL, *gui, *pgui; weed_plant_t *filter_class; f0r_plugin_info_t f0rinfo; f0r_param_info_t pinfo; - int num_filters=0; + int num_filters = 0; - int finished=0; + int finished = 0; - char vdir1[PATH_MAX]="/usr/lib/frei0r-1/"; - char vdir2[PATH_MAX]="/usr/local/lib/frei0r-1/"; + char vdir1[PATH_MAX] = "/usr/lib/frei0r-1/"; + char vdir2[PATH_MAX] = "/usr/local/lib/frei0r-1/"; char vdir3[PATH_MAX]; - char dir1[PATH_MAX],dir2[PATH_MAX],dir3[PATH_MAX]; - char plug1[PATH_MAX],plug2[PATH_MAX],plug3[PATH_MAX]; + char dir1[PATH_MAX], dir2[PATH_MAX], dir3[PATH_MAX]; + char plug1[PATH_MAX], plug2[PATH_MAX], plug3[PATH_MAX]; - struct dirent *vdirent=NULL,*dirent; + struct dirent *vdirent = NULL, *dirent; char homedir[PATH_MAX]; - char vendor_name[PATH_MAX],plugin_name[PATH_MAX],weed_name[PATH_MAX]; + char vendor_name[PATH_MAX], plugin_name[PATH_MAX], weed_name[PATH_MAX]; - DIR *curvdir=NULL,*curdir=NULL; + DIR *curvdir = NULL, *curdir = NULL; - int vdirval=0; + int vdirval = 0; - void *handle=NULL; + void *handle = NULL; int pversion; @@ -317,9 +318,9 @@ f0r_get_param_info_f f0r_get_param_info; f0r_construct_f f0r_construct; f0r_destruct_f f0r_destruct; - f0r_update_f f0r_update=NULL; - f0r_update2_f f0r_update2=NULL; - f0r_set_param_value_f f0r_set_param_value=NULL; + f0r_update_f f0r_update = NULL; + f0r_update2_f f0r_update2 = NULL; + f0r_set_param_value_f f0r_set_param_value = NULL; double vald; char *valch; @@ -335,59 +336,59 @@ #ifdef CAN_GET_DEF f0r_instance_t f0r_inst; - f0r_get_param_value_f f0r_get_param_value=NULL; + f0r_get_param_value_f f0r_get_param_value = NULL; #endif - char *fpp=getenv("FREI0R_PATH"); + char *fpp = getenv("FREI0R_PATH"); #define DEBUG #ifndef DEBUG - int new_stdout=dup(1); - int new_stderr=dup(2); + int new_stdout = dup(1); + int new_stderr = dup(2); close(1); close(2); #endif - if (fpp!=NULL) { - vdirval=10; + if (fpp != NULL) { + vdirval = 10; } else { - snprintf(homedir,PATH_MAX,"%s",getenv("HOME")); - snprintf(vdir3,PATH_MAX,"%s/frei0r-1/",homedir); + snprintf(homedir, PATH_MAX, "%s", getenv("HOME")); + snprintf(vdir3, PATH_MAX, "%s/frei0r-1/", homedir); } - while (vdirval<6||vdirval>9) { + while (vdirval < 6 || vdirval > 9) { // step through each of our frei0r dirs - if (vdirval==0) { - curvdir=opendir(vdir3); - if (curvdir==NULL) vdirval=2; - else vdirval=1; + if (vdirval == 0) { + curvdir = opendir(vdir3); + if (curvdir == NULL) vdirval = 2; + else vdirval = 1; } - if (vdirval==2) { - if (curvdir!=NULL) closedir(curvdir); - curvdir=opendir(vdir2); - if (curvdir==NULL) vdirval=4; + if (vdirval == 2) { + if (curvdir != NULL) closedir(curvdir); + curvdir = opendir(vdir2); + if (curvdir == NULL) vdirval = 4; else { - vdirval=3; + vdirval = 3; } } - if (vdirval==4) { - if (curvdir!=NULL) closedir(curvdir); - curvdir=opendir(vdir1); - if (curvdir==NULL) { - vdirval=6; + if (vdirval == 4) { + if (curvdir != NULL) closedir(curvdir); + curvdir = opendir(vdir1); + if (curvdir == NULL) { + vdirval = 6; break; } - vdirval=5; + vdirval = 5; } - if (vdirval>9) { - char *fpp_copy=strdup(fpp); - if (!getenv_piece(vdir1,PATH_MAX,fpp_copy,vdirval-10)) { + if (vdirval > 9) { + char *fpp_copy = strdup(fpp); + if (!getenv_piece(vdir1, PATH_MAX, fpp_copy, vdirval - 10)) { free(fpp_copy); - vdirval=6; + vdirval = 6; break; } free(fpp_copy); @@ -397,139 +398,139 @@ continue; } - curvdir=opendir(vdir1); - if (curvdir==NULL) { + curvdir = opendir(vdir1); + if (curvdir == NULL) { vdirval++; continue; } } - weed_memset(vendor_name,0,1); + weed_memset(vendor_name, 0, 1); do { - snprintf(dir1,PATH_MAX,"%s/%s",vdir1,vendor_name); + snprintf(dir1, PATH_MAX, "%s/%s", vdir1, vendor_name); - if (vdirval<10) { - snprintf(dir2,PATH_MAX,"%s/%s",vdir2,vendor_name); - snprintf(dir3,PATH_MAX,"%s/%s",vdir3,vendor_name); + if (vdirval < 10) { + snprintf(dir2, PATH_MAX, "%s/%s", vdir2, vendor_name); + snprintf(dir3, PATH_MAX, "%s/%s", vdir3, vendor_name); } - vdirent=readdir(curvdir); + vdirent = readdir(curvdir); - if (vdirent!=NULL) { - if (!strncmp(vdirent->d_name,"..",strlen(vdirent->d_name))) continue; - snprintf(vendor_name,PATH_MAX,"%s",vdirent->d_name); + if (vdirent != NULL) { + if (!strncmp(vdirent->d_name, "..", strlen(vdirent->d_name))) continue; + snprintf(vendor_name, PATH_MAX, "%s", vdirent->d_name); } - if (vdirval==1) { - curdir=opendir(dir3); - if (curdir==NULL) { - if (vdirent==NULL) break; + if (vdirval == 1) { + curdir = opendir(dir3); + if (curdir == NULL) { + if (vdirent == NULL) break; continue; } - } else if (vdirval==3) { - if (curdir!=NULL) closedir(curdir); - curdir=opendir(dir2); - if (curdir==NULL) { - if (vdirent==NULL) break; + } else if (vdirval == 3) { + if (curdir != NULL) closedir(curdir); + curdir = opendir(dir2); + if (curdir == NULL) { + if (vdirent == NULL) break; continue; } - } else if (vdirval==5||vdirval>9) { - if (curdir!=NULL) closedir(curdir); - curdir=opendir(dir1); - if (curdir==NULL) { - if (vdirent==NULL) break; + } else if (vdirval == 5 || vdirval > 9) { + if (curdir != NULL) closedir(curdir); + curdir = opendir(dir1); + if (curdir == NULL) { + if (vdirent == NULL) break; continue; } } - finished=0; + finished = 0; while (!finished) { // step through our plugins - dirent=readdir(curdir); + dirent = readdir(curdir); - if (dirent==NULL) { - finished=1; + if (dirent == NULL) { + finished = 1; continue; } - if (!strncmp(dirent->d_name,"..",strlen(dirent->d_name))) continue; + if (!strncmp(dirent->d_name, "..", strlen(dirent->d_name))) continue; - snprintf(plugin_name,PATH_MAX,"%s",dirent->d_name); + snprintf(plugin_name, PATH_MAX, "%s", dirent->d_name); - snprintf(plug1,PATH_MAX,"%s/%s",dir1,plugin_name); + snprintf(plug1, PATH_MAX, "%s/%s", dir1, plugin_name); - if (vdirval<10) { - snprintf(plug2,PATH_MAX,"%s/%s",dir2,plugin_name); - snprintf(plug3,PATH_MAX,"%s/%s",dir3,plugin_name); + if (vdirval < 10) { + snprintf(plug2, PATH_MAX, "%s/%s", dir2, plugin_name); + snprintf(plug3, PATH_MAX, "%s/%s", dir3, plugin_name); - handle=dlopen(plug3,RTLD_NOW); - if ((handle!=NULL&&(vdirval>1))||(handle==NULL&&vdirval==1)) { - if (handle!=NULL) dlclose(handle); + handle = dlopen(plug3, RTLD_NOW); + if ((handle != NULL && (vdirval > 1)) || (handle == NULL && vdirval == 1)) { + if (handle != NULL) dlclose(handle); continue; } - if (vdirval>1) { - handle=dlopen(plug2,RTLD_NOW); - if ((handle!=NULL&&(vdirval>3))||(handle==NULL&&vdirval==3)) { - if (handle!=NULL) dlclose(handle); + if (vdirval > 1) { + handle = dlopen(plug2, RTLD_NOW); + if ((handle != NULL && (vdirval > 3)) || (handle == NULL && vdirval == 3)) { + if (handle != NULL) dlclose(handle); continue; } } } - if (vdirval==5||vdirval>9) { - handle=dlopen(plug1,RTLD_NOW); - if (handle==NULL) continue; + if (vdirval == 5 || vdirval > 9) { + handle = dlopen(plug1, RTLD_NOW); + if (handle == NULL) continue; } - if ((f0r_deinit=dlsym(handle,"f0r_deinit"))==NULL) { + if ((f0r_deinit = dlsym(handle, "f0r_deinit")) == NULL) { dlclose(handle); continue; } - if ((f0r_init=dlsym(handle,"f0r_init"))==NULL) { + if ((f0r_init = dlsym(handle, "f0r_init")) == NULL) { dlclose(handle); continue; } - if ((f0r_get_plugin_info=dlsym(handle,"f0r_get_plugin_info"))==NULL) { + if ((f0r_get_plugin_info = dlsym(handle, "f0r_get_plugin_info")) == NULL) { dlclose(handle); continue; } - if ((f0r_get_param_info=dlsym(handle,"f0r_get_param_info"))==NULL) { + if ((f0r_get_param_info = dlsym(handle, "f0r_get_param_info")) == NULL) { dlclose(handle); continue; } - if ((f0r_construct=dlsym(handle,"f0r_construct"))==NULL) { + if ((f0r_construct = dlsym(handle, "f0r_construct")) == NULL) { dlclose(handle); continue; } - if ((f0r_destruct=dlsym(handle,"f0r_destruct"))==NULL) { + if ((f0r_destruct = dlsym(handle, "f0r_destruct")) == NULL) { dlclose(handle); continue; } - is_unstable=0; + is_unstable = 0; (*f0r_init)(); (*f0r_get_plugin_info)(&f0rinfo); - blacklisted=0; + blacklisted = 0; - for (i=0; blacklist[i]!=NULL; i++) { - if (!strcmp(f0rinfo.name,blacklist[i])) { - fprintf(stderr,"Warning, frei0r plugin skipping blacklisted plugin %s\n",f0rinfo.name); - blacklisted=1; + for (i = 0; blacklist[i] != NULL; i++) { + if (!strcmp(f0rinfo.name, blacklist[i])) { + fprintf(stderr, "Warning, frei0r plugin skipping blacklisted plugin %s\n", f0rinfo.name); + blacklisted = 1; break; } } - if (blacklisted||f0rinfo.frei0r_version!=FREI0R_MAJOR_VERSION) { + if (blacklisted || f0rinfo.frei0r_version != FREI0R_MAJOR_VERSION) { (*f0r_deinit)(); dlclose(handle); continue; @@ -538,7 +539,7 @@ switch (f0rinfo.plugin_type) { case F0R_PLUGIN_TYPE_SOURCE: case F0R_PLUGIN_TYPE_FILTER: - if ((f0r_update=dlsym(handle,"f0r_update"))==NULL) { + if ((f0r_update = dlsym(handle, "f0r_update")) == NULL) { (*f0r_deinit)(); dlclose(handle); continue; @@ -546,7 +547,7 @@ break; case F0R_PLUGIN_TYPE_MIXER2: case F0R_PLUGIN_TYPE_MIXER3: - if ((f0r_update2=dlsym(handle,"f0r_update2"))==NULL) { + if ((f0r_update2 = dlsym(handle, "f0r_update2")) == NULL) { (*f0r_deinit)(); dlclose(handle); continue; @@ -558,276 +559,276 @@ continue; } - if (f0rinfo.color_model==F0R_COLOR_MODEL_BGRA8888) { - pal=weed_malloc(2*sizeof(int)); - pal[0]=WEED_PALETTE_BGRA8888; - pal[1]=WEED_PALETTE_END; - } else if (f0rinfo.color_model==F0R_COLOR_MODEL_RGBA8888) { - pal=weed_malloc(2*sizeof(int)); - pal[0]=WEED_PALETTE_RGBA8888; - pal[1]=WEED_PALETTE_END; - } else if (f0rinfo.color_model==F0R_COLOR_MODEL_PACKED32) { - pal=weed_malloc(7*sizeof(int)); - pal[0]=WEED_PALETTE_RGBA8888; - pal[1]=WEED_PALETTE_BGRA8888; - pal[2]=WEED_PALETTE_ARGB8888; - pal[3]=WEED_PALETTE_UYVY8888; - pal[4]=WEED_PALETTE_YUYV8888; - pal[5]=WEED_PALETTE_YUVA8888; - pal[6]=WEED_PALETTE_END; + if (f0rinfo.color_model == F0R_COLOR_MODEL_BGRA8888) { + pal = weed_malloc(2 * sizeof(int)); + pal[0] = WEED_PALETTE_BGRA8888; + pal[1] = WEED_PALETTE_END; + } else if (f0rinfo.color_model == F0R_COLOR_MODEL_RGBA8888) { + pal = weed_malloc(2 * sizeof(int)); + pal[0] = WEED_PALETTE_RGBA8888; + pal[1] = WEED_PALETTE_END; + } else if (f0rinfo.color_model == F0R_COLOR_MODEL_PACKED32) { + pal = weed_malloc(7 * sizeof(int)); + pal[0] = WEED_PALETTE_RGBA8888; + pal[1] = WEED_PALETTE_BGRA8888; + pal[2] = WEED_PALETTE_ARGB8888; + pal[3] = WEED_PALETTE_UYVY8888; + pal[4] = WEED_PALETTE_YUYV8888; + pal[5] = WEED_PALETTE_YUVA8888; + pal[6] = WEED_PALETTE_END; } else { f0r_deinit(); dlclose(handle); continue; } - out_chantmpls=weed_malloc(2*sizeof(weed_plant_t *)); - out_chantmpls[0]=weed_channel_template_init("out channel 0",WEED_CHANNEL_REINIT_ON_SIZE_CHANGE,pal); - weed_set_int_value(out_chantmpls[0],"hstep",8); - weed_set_int_value(out_chantmpls[0],"vstep",8); - weed_set_int_value(out_chantmpls[0],"maxwidth",2048); - weed_set_int_value(out_chantmpls[0],"maxheight",2048); - weed_set_int_value(out_chantmpls[0],"alignment",16); - out_chantmpls[1]=NULL; + out_chantmpls = weed_malloc(2 * sizeof(weed_plant_t *)); + out_chantmpls[0] = weed_channel_template_init("out channel 0", WEED_CHANNEL_REINIT_ON_SIZE_CHANGE, pal); + weed_set_int_value(out_chantmpls[0], "hstep", 8); + weed_set_int_value(out_chantmpls[0], "vstep", 8); + weed_set_int_value(out_chantmpls[0], "maxwidth", 2048); + weed_set_int_value(out_chantmpls[0], "maxheight", 2048); + weed_set_int_value(out_chantmpls[0], "alignment", 16); + out_chantmpls[1] = NULL; switch (f0rinfo.plugin_type) { case F0R_PLUGIN_TYPE_SOURCE: - in_chantmpls=NULL; + in_chantmpls = NULL; break; case F0R_PLUGIN_TYPE_FILTER: - in_chantmpls=weed_malloc(2*sizeof(weed_plant_t *)); - in_chantmpls[0]=weed_channel_template_init("in channel 0",WEED_CHANNEL_REINIT_ON_SIZE_CHANGE,pal); - weed_set_int_value(in_chantmpls[0],"hstep",8); - weed_set_int_value(in_chantmpls[0],"vstep",8); - weed_set_int_value(in_chantmpls[0],"maxwidth",2048); - weed_set_int_value(in_chantmpls[0],"maxheight",2048); - weed_set_int_value(in_chantmpls[0],"alignment",16); - in_chantmpls[1]=NULL; + in_chantmpls = weed_malloc(2 * sizeof(weed_plant_t *)); + in_chantmpls[0] = weed_channel_template_init("in channel 0", WEED_CHANNEL_REINIT_ON_SIZE_CHANGE, pal); + weed_set_int_value(in_chantmpls[0], "hstep", 8); + weed_set_int_value(in_chantmpls[0], "vstep", 8); + weed_set_int_value(in_chantmpls[0], "maxwidth", 2048); + weed_set_int_value(in_chantmpls[0], "maxheight", 2048); + weed_set_int_value(in_chantmpls[0], "alignment", 16); + in_chantmpls[1] = NULL; break; case F0R_PLUGIN_TYPE_MIXER2: - in_chantmpls=weed_malloc(3*sizeof(weed_plant_t *)); - in_chantmpls[0]=weed_channel_template_init("in channel 0",WEED_CHANNEL_REINIT_ON_SIZE_CHANGE,pal); - weed_set_int_value(in_chantmpls[0],"hstep",8); - weed_set_int_value(in_chantmpls[0],"vstep",8); - weed_set_int_value(in_chantmpls[0],"maxwidth",2048); - weed_set_int_value(in_chantmpls[0],"maxheight",2048); - weed_set_int_value(in_chantmpls[0],"alignment",16); - - in_chantmpls[1]=weed_channel_template_init("in channel 1",WEED_CHANNEL_REINIT_ON_SIZE_CHANGE,pal); - weed_set_int_value(in_chantmpls[1],"hstep",8); - weed_set_int_value(in_chantmpls[1],"vstep",8); - weed_set_int_value(in_chantmpls[1],"maxwidth",2048); - weed_set_int_value(in_chantmpls[1],"maxheight",2048); - weed_set_int_value(in_chantmpls[1],"alignment",16); - in_chantmpls[2]=NULL; + in_chantmpls = weed_malloc(3 * sizeof(weed_plant_t *)); + in_chantmpls[0] = weed_channel_template_init("in channel 0", WEED_CHANNEL_REINIT_ON_SIZE_CHANGE, pal); + weed_set_int_value(in_chantmpls[0], "hstep", 8); + weed_set_int_value(in_chantmpls[0], "vstep", 8); + weed_set_int_value(in_chantmpls[0], "maxwidth", 2048); + weed_set_int_value(in_chantmpls[0], "maxheight", 2048); + weed_set_int_value(in_chantmpls[0], "alignment", 16); + + in_chantmpls[1] = weed_channel_template_init("in channel 1", WEED_CHANNEL_REINIT_ON_SIZE_CHANGE, pal); + weed_set_int_value(in_chantmpls[1], "hstep", 8); + weed_set_int_value(in_chantmpls[1], "vstep", 8); + weed_set_int_value(in_chantmpls[1], "maxwidth", 2048); + weed_set_int_value(in_chantmpls[1], "maxheight", 2048); + weed_set_int_value(in_chantmpls[1], "alignment", 16); + in_chantmpls[2] = NULL; break; case F0R_PLUGIN_TYPE_MIXER3: - in_chantmpls=weed_malloc(4*sizeof(weed_plant_t *)); - in_chantmpls[0]=weed_channel_template_init("in channel 0",WEED_CHANNEL_REINIT_ON_SIZE_CHANGE,pal); - weed_set_int_value(in_chantmpls[0],"hstep",8); - weed_set_int_value(in_chantmpls[0],"vstep",8); - weed_set_int_value(in_chantmpls[0],"maxwidth",2048); - weed_set_int_value(in_chantmpls[0],"maxheight",2048); - weed_set_int_value(in_chantmpls[0],"alignment",16); - - in_chantmpls[1]=weed_channel_template_init("in channel 1",WEED_CHANNEL_REINIT_ON_SIZE_CHANGE,pal); - weed_set_int_value(in_chantmpls[1],"hstep",8); - weed_set_int_value(in_chantmpls[1],"vstep",8); - weed_set_int_value(in_chantmpls[1],"maxwidth",2048); - weed_set_int_value(in_chantmpls[1],"maxheight",2048); - weed_set_int_value(in_chantmpls[1],"alignment",16); - - in_chantmpls[2]=weed_channel_template_init("in channel 2",WEED_CHANNEL_REINIT_ON_SIZE_CHANGE,pal); - weed_set_int_value(in_chantmpls[2],"hstep",8); - weed_set_int_value(in_chantmpls[2],"vstep",8); - weed_set_int_value(in_chantmpls[2],"maxwidth",2048); - weed_set_int_value(in_chantmpls[2],"maxheight",2048); - weed_set_int_value(in_chantmpls[2],"alignment",16); - in_chantmpls[3]=NULL; + in_chantmpls = weed_malloc(4 * sizeof(weed_plant_t *)); + in_chantmpls[0] = weed_channel_template_init("in channel 0", WEED_CHANNEL_REINIT_ON_SIZE_CHANGE, pal); + weed_set_int_value(in_chantmpls[0], "hstep", 8); + weed_set_int_value(in_chantmpls[0], "vstep", 8); + weed_set_int_value(in_chantmpls[0], "maxwidth", 2048); + weed_set_int_value(in_chantmpls[0], "maxheight", 2048); + weed_set_int_value(in_chantmpls[0], "alignment", 16); + + in_chantmpls[1] = weed_channel_template_init("in channel 1", WEED_CHANNEL_REINIT_ON_SIZE_CHANGE, pal); + weed_set_int_value(in_chantmpls[1], "hstep", 8); + weed_set_int_value(in_chantmpls[1], "vstep", 8); + weed_set_int_value(in_chantmpls[1], "maxwidth", 2048); + weed_set_int_value(in_chantmpls[1], "maxheight", 2048); + weed_set_int_value(in_chantmpls[1], "alignment", 16); + + in_chantmpls[2] = weed_channel_template_init("in channel 2", WEED_CHANNEL_REINIT_ON_SIZE_CHANGE, pal); + weed_set_int_value(in_chantmpls[2], "hstep", 8); + weed_set_int_value(in_chantmpls[2], "vstep", 8); + weed_set_int_value(in_chantmpls[2], "maxwidth", 2048); + weed_set_int_value(in_chantmpls[2], "maxheight", 2048); + weed_set_int_value(in_chantmpls[2], "alignment", 16); + in_chantmpls[3] = NULL; break; default: (*f0r_deinit)(); dlclose(handle); weed_free(pal); weed_free(out_chantmpls); - if (in_chantmpls!=NULL) weed_free(in_chantmpls); + if (in_chantmpls != NULL) weed_free(in_chantmpls); continue; } - num_weed_params=0; + num_weed_params = 0; weed_free(pal); #ifdef CAN_GET_DEF // try to get defaults - if ((f0r_inst=(*f0r_construct)(640,480))==NULL) { + if ((f0r_inst = (*f0r_construct)(640, 480)) == NULL) { (*f0r_deinit)(); dlclose(handle); weed_free(out_chantmpls); - if (in_chantmpls!=NULL) weed_free(in_chantmpls); + if (in_chantmpls != NULL) weed_free(in_chantmpls); continue; } #endif - if (f0rinfo.num_params>0) { - if ((f0r_set_param_value=dlsym(handle,"f0r_set_param_value"))==NULL) { + if (f0rinfo.num_params > 0) { + if ((f0r_set_param_value = dlsym(handle, "f0r_set_param_value")) == NULL) { #ifdef CAN_GET_DEF f0r_destruct(f0r_inst); #endif (*f0r_deinit)(); dlclose(handle); weed_free(out_chantmpls); - if (in_chantmpls!=NULL) weed_free(in_chantmpls); + if (in_chantmpls != NULL) weed_free(in_chantmpls); continue; } #ifdef CAN_GET_DEF - if ((f0r_get_param_value=dlsym(handle,"f0r_get_param_value"))==NULL) { + if ((f0r_get_param_value = dlsym(handle, "f0r_get_param_value")) == NULL) { f0r_destruct(f0r_inst); (*f0r_deinit)(); dlclose(handle); weed_free(out_chantmpls); - if (in_chantmpls!=NULL) weed_free(in_chantmpls); + if (in_chantmpls != NULL) weed_free(in_chantmpls); continue; } #endif - for (pnum=0; pnum<f0rinfo.num_params; pnum++) { + for (pnum = 0; pnum < f0rinfo.num_params; pnum++) { num_weed_params++; - (*f0r_get_param_info)(&pinfo,pnum); - if (pinfo.type==F0R_PARAM_POSITION) num_weed_params++; + (*f0r_get_param_info)(&pinfo, pnum); + if (pinfo.type == F0R_PARAM_POSITION) num_weed_params++; } - if (num_weed_params>f0rinfo.num_params) { - rfx_strings=weed_malloc((f0rinfo.num_params)*sizeof(char *)); - for (pnum=0; pnum<f0rinfo.num_params; pnum++) { - rfx_strings[pnum]=(char *)weed_malloc(256); + if (num_weed_params > f0rinfo.num_params) { + rfx_strings = weed_malloc((f0rinfo.num_params) * sizeof(char *)); + for (pnum = 0; pnum < f0rinfo.num_params; pnum++) { + rfx_strings[pnum] = (char *)weed_malloc(256); } } - in_params=weed_malloc((num_weed_params+1)*sizeof(weed_plant_t *)); + in_params = weed_malloc((num_weed_params + 1) * sizeof(weed_plant_t *)); - wnum=0; - for (pnum=0; pnum<f0rinfo.num_params; pnum++) { - (*f0r_get_param_info)(&pinfo,pnum); - label=malloc(strlen((char *)pinfo.name)+2); - sprintf(label,"_%s",(char *)pinfo.name); + wnum = 0; + for (pnum = 0; pnum < f0rinfo.num_params; pnum++) { + (*f0r_get_param_info)(&pinfo, pnum); + label = malloc(strlen((char *)pinfo.name) + 2); + sprintf(label, "_%s", (char *)pinfo.name); switch (pinfo.type) { case F0R_PARAM_BOOL: - vald=0.; + vald = 0.; #ifdef CAN_GET_DEF - f0r_get_param_value(f0r_inst,(void **)&vald,pnum); - if (vald!=0.&&vald!=1.) { - fprintf(stderr,"Warning, frei0r plugin %s by %s sets bad default value (%f) for boolean parameter %s.\nThis plugin may be unstable !\n", - f0rinfo.name,f0rinfo.author,vald,pinfo.name); - is_unstable=1; + f0r_get_param_value(f0r_inst, (void **)&vald, pnum); + if (vald != 0. && vald != 1.) { + fprintf(stderr, "Warning, frei0r plugin %s by %s sets bad default value (%f) for boolean parameter %s.\nThis plugin may be unstable !\n", + f0rinfo.name, f0rinfo.author, vald, pinfo.name); + is_unstable = 1; } - if (vald<=0.5) vald=0.; - else vald=1.; + if (vald <= 0.5) vald = 0.; + else vald = 1.; #endif - in_params[wnum]=weed_switch_init((char *)pinfo.name,label,vald==0.?WEED_FALSE:WEED_TRUE); - weed_set_string_value(in_params[wnum],"description",(char *)pinfo.explanation); - if (num_weed_params>f0rinfo.num_params) sprintf(rfx_strings[pnum],"layout|p%d|",wnum); + in_params[wnum] = weed_switch_init((char *)pinfo.name, label, vald == 0. ? WEED_FALSE : WEED_TRUE); + weed_set_string_value(in_params[wnum], "description", (char *)pinfo.explanation); + if (num_weed_params > f0rinfo.num_params) sprintf(rfx_strings[pnum], "layout|p%d|", wnum); break; case F0R_PARAM_DOUBLE: - vald=0.; + vald = 0.; #ifdef CAN_GET_DEF - f0r_get_param_value(f0r_inst,(void **)&vald,pnum); - - if (vald<0.||vald>1.) { - fprintf(stderr,"Warning, frei0r plugin %s by %s sets bad default value (%f) for parameter %s.\nThis plugin may be unstable !\n", - f0rinfo.name,f0rinfo.author,vald,pinfo.name); - is_unstable=1; - if (vald<0.) vald=0.; - if (vald>1.) vald=1.; + f0r_get_param_value(f0r_inst, (void **)&vald, pnum); + + if (vald < 0. || vald > 1.) { + fprintf(stderr, "Warning, frei0r plugin %s by %s sets bad default value (%f) for parameter %s.\nThis plugin may be unstable !\n", + f0rinfo.name, f0rinfo.author, vald, pinfo.name); + is_unstable = 1; + if (vald < 0.) vald = 0.; + if (vald > 1.) vald = 1.; } #endif - in_params[wnum]=weed_float_init((char *)pinfo.name,label,vald,0.,1.); - weed_set_string_value(in_params[wnum],"description",(char *)pinfo.explanation); - if (num_weed_params>f0rinfo.num_params) sprintf(rfx_strings[pnum],"layout|p%d|",wnum); - pgui=weed_parameter_template_get_gui(in_params[wnum]); - weed_set_double_value(pgui,"step_size",.01); - weed_set_int_value(pgui,"decimals",2); + in_params[wnum] = weed_float_init((char *)pinfo.name, label, vald, 0., 1.); + weed_set_string_value(in_params[wnum], "description", (char *)pinfo.explanation); + if (num_weed_params > f0rinfo.num_params) sprintf(rfx_strings[pnum], "layout|p%d|", wnum); + pgui = weed_parameter_template_get_gui(in_params[wnum]); + weed_set_double_value(pgui, "step_size", .01); + weed_set_int_value(pgui, "decimals", 2); break; case F0R_PARAM_COLOR: - valcol.r=valcol.g=valcol.b=0.; + valcol.r = valcol.g = valcol.b = 0.; #ifdef CAN_GET_DEF - f0r_get_param_value(f0r_inst,(void **)&valcol,pnum); - - if (valcol.r<0.||valcol.r>1.) { - fprintf(stderr,"Warning, frei0r plugin %s by %s sets bad default value red (%f) for parameter %s.\nThis plugin may be unstable !\n", - f0rinfo.name,f0rinfo.author,vald,pinfo.name); - is_unstable=1; - if (valcol.r<0.) valcol.r=0.; - if (valcol.r>1.) valcol.r=1.; + f0r_get_param_value(f0r_inst, (void **)&valcol, pnum); + + if (valcol.r < 0. || valcol.r > 1.) { + fprintf(stderr, "Warning, frei0r plugin %s by %s sets bad default value red (%f) for parameter %s.\nThis plugin may be unstable !\n", + f0rinfo.name, f0rinfo.author, vald, pinfo.name); + is_unstable = 1; + if (valcol.r < 0.) valcol.r = 0.; + if (valcol.r > 1.) valcol.r = 1.; } - if (valcol.g<0.||valcol.g>1.) { - fprintf(stderr,"Warning, frei0r plugin %s by %s sets bad default value green (%f) for parameter %s.\nThis plugin may be unstable !\n", - f0rinfo.name,f0rinfo.author,vald,pinfo.name); - is_unstable=1; - if (valcol.g<0.) valcol.g=0.; - if (valcol.g>1.) valcol.g=1.; + if (valcol.g < 0. || valcol.g > 1.) { + fprintf(stderr, "Warning, frei0r plugin %s by %s sets bad default value green (%f) for parameter %s.\nThis plugin may be unstable !\n", + f0rinfo.name, f0rinfo.author, vald, pinfo.name); + is_unstable = 1; + if (valcol.g < 0.) valcol.g = 0.; + if (valcol.g > 1.) valcol.g = 1.; } - if (valcol.b<0.||valcol.b>1.) { - fprintf(stderr,"Warning, frei0r plugin %s by %s sets bad default value blue (%f) for parameter %s.\nThis plugin may be unstable !\n", - f0rinfo.name,f0rinfo.author,vald,pinfo.name); - is_unstable=1; - if (valcol.b<0.) valcol.b=0.; - if (valcol.b>1.) valcol.b=1.; + if (valcol.b < 0. || valcol.b > 1.) { + fprintf(stderr, "Warning, frei0r plugin %s by %s sets bad default value blue (%f) for parameter %s.\nThis plugin may be unstable !\n", + f0rinfo.name, f0rinfo.author, vald, pinfo.name); + is_unstable = 1; + if (valcol.b < 0.) valcol.b = 0.; + if (valcol.b > 1.) valcol.b = 1.; } #endif - in_params[wnum]=weed_colRGBd_init((char *)pinfo.name,label,valcol.r,valcol.g,valcol.b); - weed_set_string_value(in_params[wnum],"description",(char *)pinfo.explanation); - if (num_weed_params>f0rinfo.num_params) sprintf(rfx_strings[pnum],"layout|p%d|",wnum); + in_params[wnum] = weed_colRGBd_init((char *)pinfo.name, label, valcol.r, valcol.g, valcol.b); + weed_set_string_value(in_params[wnum], "description", (char *)pinfo.explanation); + if (num_weed_params > f0rinfo.num_params) sprintf(rfx_strings[pnum], "layout|p%d|", wnum); break; case F0R_PARAM_POSITION: - valpos.x=valpos.y=0.; + valpos.x = valpos.y = 0.; #ifdef CAN_GET_DEF - f0r_get_param_value(f0r_inst,(void **)&valpos,pnum); - if (valpos.x<0.||valpos.x>1.) { - fprintf(stderr,"Warning, frei0r plugin %s by %s sets bad default value x-pos (%f) for parameter %s.\nThis plugin may be unstable !\n", - f0rinfo.name,f0rinfo.author,vald,pinfo.name); - is_unstable=1; - if (valpos.x<0.) valpos.x=0.; - if (valpos.x>1.) valpos.x=1.; + f0r_get_param_value(f0r_inst, (void **)&valpos, pnum); + if (valpos.x < 0. || valpos.x > 1.) { + fprintf(stderr, "Warning, frei0r plugin %s by %s sets bad default value x-pos (%f) for parameter %s.\nThis plugin may be unstable !\n", + f0rinfo.name, f0rinfo.author, vald, pinfo.name); + is_unstable = 1; + if (valpos.x < 0.) valpos.x = 0.; + if (valpos.x > 1.) valpos.x = 1.; } - if (valpos.y<0.||valpos.y>1.) { - fprintf(stderr,"Warning, frei0r plugin %s by %s sets bad default value x-pos (%f) for parameter %s.\nThis plugin may be unstable !\n", - f0rinfo.name,f0rinfo.author,vald,pinfo.name); - is_unstable=1; - if (valpos.y<0.) valpos.y=0.; - if (valpos.y>1.) valpos.y=1.; + if (valpos.y < 0. || valpos.y > 1.) { + fprintf(stderr, "Warning, frei0r plugin %s by %s sets bad default value x-pos (%f) for parameter %s.\nThis plugin may be unstable !\n", + f0rinfo.name, f0rinfo.author, vald, pinfo.name); + is_unstable = 1; + if (valpos.y < 0.) valpos.y = 0.; + if (valpos.y > 1.) valpos.y = 1.; } #endif - in_params[wnum]=weed_float_init((char *)pinfo.name,label,valpos.x,0.,1.); - weed_set_string_value(in_params[wnum],"description",(char *)pinfo.explanation); - weed_set_boolean_value(in_params[wnum],"plugin_is_position",WEED_TRUE); - pgui=weed_parameter_template_get_gui(in_params[wnum]); - weed_set_double_value(pgui,"step_size",.01); - weed_set_int_value(pgui,"decimals",2); + in_params[wnum] = weed_float_init((char *)pinfo.name, label, valpos.x, 0., 1.); + weed_set_string_value(in_params[wnum], "description", (char *)pinfo.explanation); + weed_set_boolean_value(in_params[wnum], "plugin_is_position", WEED_TRUE); + pgui = weed_parameter_template_get_gui(in_params[wnum]); + weed_set_double_value(pgui, "step_size", .01); + weed_set_int_value(pgui, "decimals", 2); wnum++; - in_params[wnum]=weed_float_init((char *)pinfo.name,"",valpos.y,0.,1.); - weed_set_string_value(in_params[wnum],"description",(char *)pinfo.explanation); - sprintf(rfx_strings[pnum],"layout|p%d|\"X\"|fill|p%d|\"Y\"|fill|",wnum-1,wnum); - pgui=weed_parameter_template_get_gui(in_params[wnum]); - weed_set_double_value(pgui,"step_size",.01); - weed_set_int_value(pgui,"decimals",2); + in_params[wnum] = weed_float_init((char *)pinfo.name, "", valpos.y, 0., 1.); + weed_set_string_value(in_params[wnum], "description", (char *)pinfo.explanation); + sprintf(rfx_strings[pnum], "layout|p%d|\"X\"|fill|p%d|\"Y\"|fill|", wnum - 1, wnum); + pgui = weed_parameter_template_get_gui(in_params[wnum]); + weed_set_double_value(pgui, "step_size", .01); + weed_set_int_value(pgui, "decimals", 2); break; case F0R_PARAM_STRING: #ifdef CAN_GET_DEF - f0r_get_param_value(f0r_inst,(void **)&valch,pnum); + f0r_get_param_value(f0r_inst, (void **)&valch, pnum); #else - valch=strdup("Frei0r"); + valch = strdup("Frei0r"); #endif - in_params[wnum]=weed_text_init((char *)pinfo.name,label,valch); + in_params[wnum] = weed_text_init((char *)pinfo.name, label, valch); #ifndef CAN_GET_DEF free(valch); #endif - weed_set_string_value(in_params[wnum],"description",(char *)pinfo.explanation); - if (num_weed_params>f0rinfo.num_params) sprintf(rfx_strings[pnum],"layout|p%d|",wnum); + weed_set_string_value(in_params[wnum], "description", (char *)pinfo.explanation); + if (num_weed_params > f0rinfo.num_params) sprintf(rfx_strings[pnum], "layout|p%d|", wnum); break; default: #ifdef CAN_GET_DEF @@ -836,11 +837,11 @@ (*f0r_deinit)(); dlclose(handle); weed_free(out_chantmpls); - if (in_chantmpls!=NULL) weed_free(in_chantmpls); - if (in_params!=NULL) weed_free(in_params); - if (rfx_strings!=NULL) { + if (in_chantmpls != NULL) weed_free(in_chantmpls); + if (in_params != NULL) weed_free(in_params); + if (rfx_strings != NULL) { int j; - for (j=0; j<pnum; j++) weed_free(rfx_strings[j]); + for (j = 0; j < pnum; j++) weed_free(rfx_strings[j]); weed_free(rfx_strings); } continue; @@ -848,80 +849,80 @@ free(label); wnum++; } - in_params[pnum]=NULL; + in_params[pnum] = NULL; } #ifdef CAN_GET_DEF f0r_destruct(f0r_inst); #endif - snprintf(weed_name,PATH_MAX,"Frei0r: %s",f0rinfo.name); - pversion=f0rinfo.major_version*1000+f0rinfo.minor_version; + snprintf(weed_name, PATH_MAX, "Frei0r: %s", f0rinfo.name); + pversion = f0rinfo.major_version * 1000 + f0rinfo.minor_version; - filter_class=weed_filter_class_init(weed_name,"Frei0r developers",pversion,0,&frei0r_init,&frei0r_process, - &frei0r_deinit,in_chantmpls,out_chantmpls,in_params,NULL); + filter_class = weed_filter_class_init(weed_name, "Frei0r developers", pversion, 0, &frei0r_init, &frei0r_process, + &frei0r_deinit, in_chantmpls, out_chantmpls, in_params, NULL); - weed_set_string_value(filter_class,"extra_authors",(char *)f0rinfo.author); + weed_set_string_value(filter_class, "extra_authors", (char *)f0rinfo.author); if (is_unstable) { - weed_set_boolean_value(filter_class,"plugin_unstable",WEED_TRUE); + weed_set_boolean_value(filter_class, "plugin_unstable", WEED_TRUE); } - if (num_weed_params>f0rinfo.num_params) { - gui=weed_filter_class_get_gui(filter_class); - weed_set_string_value(gui,"layout_scheme","RFX"); - weed_set_string_value(gui,"rfx_delim","|"); - weed_set_string_array(gui,"rfx_strings",f0rinfo.num_params,rfx_strings); - for (wnum=0; wnum<f0rinfo.num_params; wnum++) weed_free(rfx_strings[wnum]); + if (num_weed_params > f0rinfo.num_params) { + gui = weed_filter_class_get_gui(filter_class); + weed_set_string_value(gui, "layout_scheme", "RFX"); + weed_set_string_value(gui, "rfx_delim", "|"); + weed_set_string_array(gui, "rfx_strings", f0rinfo.num_params, rfx_strings); + for (wnum = 0; wnum < f0rinfo.num_params; wnum++) weed_free(rfx_strings[wnum]); weed_free(rfx_strings); - rfx_strings=NULL; + rfx_strings = NULL; } - if (f0rinfo.explanation!=NULL) weed_set_string_value(filter_class,"description",(char *)f0rinfo.explanation); + if (f0rinfo.explanation != NULL) weed_set_string_value(filter_class, "description", (char *)f0rinfo.explanation); num_filters++; weed_free(out_chantmpls); - if (in_chantmpls!=NULL) weed_free(in_chantmpls); - if (in_params!=NULL) weed_free(in_params); - in_params=NULL; + if (in_chantmpls != NULL) weed_free(in_chantmpls); + if (in_params != NULL) weed_free(in_params); + in_params = NULL; - weed_set_voidptr_value(filter_class,"plugin_f0r_construct",f0r_construct); - weed_set_voidptr_value(filter_class,"plugin_f0r_destruct",f0r_destruct); - if (f0rinfo.num_params>0) weed_set_voidptr_value(filter_class,"plugin_f0r_set_param_value",f0r_set_param_value); - weed_set_int_value(filter_class,"plugin_f0r_type",f0rinfo.plugin_type); + weed_set_voidptr_value(filter_class, "plugin_f0r_construct", f0r_construct); + weed_set_voidptr_value(filter_class, "plugin_f0r_destruct", f0r_destruct); + if (f0rinfo.num_params > 0) weed_set_voidptr_value(filter_class, "plugin_f0r_set_param_value", f0r_set_param_value); + weed_set_int_value(filter_class, "plugin_f0r_type", f0rinfo.plugin_type); switch (f0rinfo.plugin_type) { case F0R_PLUGIN_TYPE_SOURCE: - weed_set_double_value(filter_class,"target_fps",25.); // set reasonable default fps + weed_set_double_value(filter_class, "target_fps", 25.); // set reasonable default fps case F0R_PLUGIN_TYPE_FILTER: - weed_set_voidptr_value(filter_class,"plugin_f0r_update",f0r_update); + weed_set_voidptr_value(filter_class, "plugin_f0r_update", f0r_update); break; default: - weed_set_voidptr_value(filter_class,"plugin_f0r_update2",f0r_update2); + weed_set_voidptr_value(filter_class, "plugin_f0r_update2", f0r_update2); break; } - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); // end plugin } // end vendor dir - } while (vdirent!=NULL); - if (curvdir!=NULL) closedir(curvdir); - curvdir=NULL; + } while (vdirent != NULL); + if (curvdir != NULL) closedir(curvdir); + curvdir = NULL; vdirval++; - if (curdir!=NULL) closedir(curdir); + if (curdir != NULL) closedir(curdir); } // end frei0r dirs #ifndef DEBUG - dup2(new_stdout,1); - dup2(new_stderr,2); + dup2(new_stdout, 1); + dup2(new_stderr, 2); #endif - if (num_filters==0) { - fprintf(stderr,"No frei0r plugins found; if you have them installed please set the FREI0R_PATH environment variable to point to them.\n"); + if (num_filters == 0) { + fprintf(stderr, "No frei0r plugins found; if you have them installed please set the FREI0R_PATH environment variable to point to them.\n"); return NULL; } - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info;
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/gdk/Makefile.in -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/gdk/Makefile.in
Changed
@@ -312,8 +312,6 @@ GENCAT = @GENCAT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GLEE_CFLAGS = @GLEE_CFLAGS@ -GLEE_LIBS = @GLEE_LIBS@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -450,6 +448,8 @@ VERSION = @VERSION@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ +WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ +WAYLAND_LIBS = @WAYLAND_LIBS@ WEED_CFLAGS = @WEED_CFLAGS@ WEED_COMPAT_CFLAGS = @WEED_COMPAT_CFLAGS@ WEED_COMPAT_LIBS = @WEED_COMPAT_LIBS@
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/gdk/compositor.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/gdk/compositor.c
Changed
@@ -23,10 +23,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,110,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 110, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -48,7 +48,7 @@ inline int G_GNUC_CONST pl_gdk_last_rowstride_value(int width, int nchans) { // from gdk pixbuf docs - return width*(((nchans<<3)+7)>>3); + return width * (((nchans << 3) + 7) >> 3); } static void plugin_free_buffer(guchar *pixels, gpointer data) { @@ -59,8 +59,8 @@ static GdkPixbuf *pl_gdk_pixbuf_cheat(GdkColorspace colorspace, gboolean has_alpha, int bits_per_sample, int width, int height, guchar *buf) { // we can cheat if our buffer is correctly sized - int channels=has_alpha?4:3; - int rowstride=pl_gdk_rowstride_value(width*channels); + int channels = has_alpha ? 4 : 3; + int rowstride = pl_gdk_rowstride_value(width * channels); return gdk_pixbuf_new_from_data(buf, colorspace, has_alpha, bits_per_sample, width, height, rowstride, plugin_free_buffer, NULL); } @@ -68,49 +68,49 @@ static GdkPixbuf *pl_data_to_pixbuf(int palette, int width, int height, int irowstride, guchar *pixel_data) { GdkPixbuf *pixbuf; - int rowstride,orowstride; - gboolean cheat=FALSE; + int rowstride, orowstride; + gboolean cheat = FALSE; gint n_channels; - guchar *pixels,*end; + guchar *pixels, *end; switch (palette) { case WEED_PALETTE_RGB24: case WEED_PALETTE_BGR24: - if (irowstride==pl_gdk_rowstride_value(width*3)) { - pixbuf=pl_gdk_pixbuf_cheat(GDK_COLORSPACE_RGB, FALSE, 8, width, height, pixel_data); - cheat=TRUE; - } else pixbuf=gdk_pixbuf_new(GDK_COLORSPACE_RGB, FALSE, 8, width, height); - n_channels=3; + if (irowstride == pl_gdk_rowstride_value(width * 3)) { + pixbuf = pl_gdk_pixbuf_cheat(GDK_COLORSPACE_RGB, FALSE, 8, width, height, pixel_data); + cheat = TRUE; + } else pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, FALSE, 8, width, height); + n_channels = 3; break; case WEED_PALETTE_RGBA32: case WEED_PALETTE_BGRA32: case WEED_PALETTE_ARGB32: // TODO - change to RGBA ?? - if (irowstride==pl_gdk_rowstride_value(width*4)) { - pixbuf=pl_gdk_pixbuf_cheat(GDK_COLORSPACE_RGB, TRUE, 8, width, height, pixel_data); - cheat=TRUE; - } else pixbuf=gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, width, height); - n_channels=4; + if (irowstride == pl_gdk_rowstride_value(width * 4)) { + pixbuf = pl_gdk_pixbuf_cheat(GDK_COLORSPACE_RGB, TRUE, 8, width, height, pixel_data); + cheat = TRUE; + } else pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, width, height); + n_channels = 4; break; default: return NULL; } - pixels=gdk_pixbuf_get_pixels(pixbuf); - orowstride=gdk_pixbuf_get_rowstride(pixbuf); + pixels = gdk_pixbuf_get_pixels(pixbuf); + orowstride = gdk_pixbuf_get_rowstride(pixbuf); - if (irowstride>orowstride) rowstride=orowstride; - else rowstride=irowstride; - end=pixels+orowstride*height; + if (irowstride > orowstride) rowstride = orowstride; + else rowstride = irowstride; + end = pixels + orowstride * height; if (!cheat) { - gboolean done=FALSE; - for (; pixels<end&&!done; pixels+=orowstride) { - if (pixels+orowstride>=end) { - orowstride=rowstride=pl_gdk_last_rowstride_value(width,n_channels); - done=TRUE; + gboolean done = FALSE; + for (; pixels < end && !done; pixels += orowstride) { + if (pixels + orowstride >= end) { + orowstride = rowstride = pl_gdk_last_rowstride_value(width, n_channels); + done = TRUE; } - weed_memcpy(pixels,pixel_data,rowstride); - if (rowstride<orowstride) weed_memset(pixels+rowstride,0,orowstride-rowstride); - pixel_data+=irowstride; + weed_memcpy(pixels, pixel_data, rowstride); + if (rowstride < orowstride) weed_memset(pixels + rowstride, 0, orowstride - rowstride); + pixel_data += irowstride; } } return pixbuf; @@ -123,81 +123,81 @@ static void paint_pixel(unsigned char *dst, int dof, unsigned char *src, int sof, double alpha) { double invalpha; - dst[dof]=dst[dof]*((invalpha=1.-alpha))+src[sof]*alpha; - dst[dof+1]=dst[dof+1]*invalpha+src[sof+1]*alpha; - dst[dof+2]=dst[dof+2]*invalpha+src[sof+2]*alpha; + dst[dof] = dst[dof] * ((invalpha = 1. - alpha)) + src[sof] * alpha; + dst[dof + 1] = dst[dof + 1] * invalpha + src[sof + 1] * alpha; + dst[dof + 2] = dst[dof + 2] * invalpha + src[sof + 2] * alpha; } int compositor_process(weed_plant_t *inst, weed_timecode_t timecode) { int error; - weed_plant_t **in_channels=NULL; - int num_in_channels=0; - weed_plant_t *out_channel=weed_get_plantptr_value(inst,"out_channels",&error); + weed_plant_t **in_channels = NULL; + int num_in_channels = 0; + weed_plant_t *out_channel = weed_get_plantptr_value(inst, "out_channels", &error); unsigned char *src; - unsigned char *dst=weed_get_voidptr_value(out_channel,"pixel_data",&error),*dst2; + unsigned char *dst = weed_get_voidptr_value(out_channel, "pixel_data", &error), *dst2; - int owidth=weed_get_int_value(out_channel,"width",&error),owidth3=owidth*3; - int oheight=weed_get_int_value(out_channel,"height",&error); + int owidth = weed_get_int_value(out_channel, "width", &error), owidth3 = owidth * 3; + int oheight = weed_get_int_value(out_channel, "height", &error); - int in_width,in_height,out_width,out_height; + int in_width, in_height, out_width, out_height; int irowstride; - int orowstride=weed_get_int_value(out_channel,"rowstrides",&error); + int orowstride = weed_get_int_value(out_channel, "rowstrides", &error); //int palette=weed_get_int_value(out_channel,"current_palette",&error); weed_plant_t **in_params; - int numscalex,numscaley,numoffsx,numoffsy,numalpha; + int numscalex, numscaley, numoffsx, numoffsy, numalpha; int *bgcol; - double *offsx,*offsy,*scalex,*scaley,*alpha; + double *offsx, *offsy, *scalex, *scaley, *alpha; - double myoffsx,myoffsy,myscalex,myscaley,myalpha; + double myoffsx, myoffsy, myscalex, myscaley, myalpha; unsigned char *end; - register int x,y,z; + register int x, y, z; - GdkPixbuf *in_pixbuf,*out_pixbuf; + GdkPixbuf *in_pixbuf, *out_pixbuf; - int up_interp=GDK_INTERP_HYPER; - int down_interp=GDK_INTERP_BILINEAR; + int up_interp = GDK_INTERP_HYPER; + int down_interp = GDK_INTERP_BILINEAR; - if (weed_plant_has_leaf(inst,"in_channels")) { - num_in_channels=weed_leaf_num_elements(inst,"in_channels"); - in_channels=weed_get_plantptr_array(inst,"in_channels",&error); + if (weed_plant_has_leaf(inst, "in_channels")) { + num_in_channels = weed_leaf_num_elements(inst, "in_channels"); + in_channels = weed_get_plantptr_array(inst, "in_channels", &error); } - in_params=weed_get_plantptr_array(inst,"in_parameters",&error); + in_params = weed_get_plantptr_array(inst, "in_parameters", &error); - numoffsx=weed_leaf_num_elements(in_params[0],"value"); - offsx=weed_get_double_array(in_params[0],"value",&error); + numoffsx = weed_leaf_num_elements(in_params[0], "value"); + offsx = weed_get_double_array(in_params[0], "value", &error); - numoffsy=weed_leaf_num_elements(in_params[1],"value"); - offsy=weed_get_double_array(in_params[1],"value",&error); + numoffsy = weed_leaf_num_elements(in_params[1], "value"); + offsy = weed_get_double_array(in_params[1], "value", &error); - numscalex=weed_leaf_num_elements(in_params[2],"value"); - scalex=weed_get_double_array(in_params[2],"value",&error); + numscalex = weed_leaf_num_elements(in_params[2], "value"); + scalex = weed_get_double_array(in_params[2], "value", &error); - numscaley=weed_leaf_num_elements(in_params[3],"value"); - scaley=weed_get_double_array(in_params[3],"value",&error); + numscaley = weed_leaf_num_elements(in_params[3], "value"); + scaley = weed_get_double_array(in_params[3], "value", &error); - numalpha=weed_leaf_num_elements(in_params[4],"value"); - alpha=weed_get_double_array(in_params[4],"value",&error); + numalpha = weed_leaf_num_elements(in_params[4], "value"); + alpha = weed_get_double_array(in_params[4], "value", &error); - bgcol=weed_get_int_array(in_params[5],"value",&error); + bgcol = weed_get_int_array(in_params[5], "value", &error); // set out frame to bgcol - end=dst+oheight*orowstride; - for (dst2=dst; dst2<end; dst2+=orowstride) { - for (x=0; x<owidth3; x+=3) { - dst2[x]=bgcol[0]; - dst2[x+1]=bgcol[1]; - dst2[x+2]=bgcol[2]; + end = dst + oheight * orowstride; + for (dst2 = dst; dst2 < end; dst2 += orowstride) { + for (x = 0; x < owidth3; x += 3) { + dst2[x] = bgcol[0]; + dst2[x + 1] = bgcol[1]; + dst2[x + 2] = bgcol[2]; } } @@ -205,53 +205,53 @@ // add overlays in reverse order - for (z=num_in_channels-1; z>=0; z--) { + for (z = num_in_channels - 1; z >= 0; z--) { // check if host disabled this channel : this is allowed as we have set "max_repeats" - if (weed_plant_has_leaf(in_channels[z],"disabled")&&weed_get_boolean_value(in_channels[z],"disabled",&error)==WEED_TRUE) continue; + if (weed_plant_has_leaf(in_channels[z], "disabled") && weed_get_boolean_value(in_channels[z], "disabled", &error) == WEED_TRUE) continue; - if (z<numoffsx) myoffsx=(int)(offsx[z]*(double)owidth); - else myoffsx=0; - if (z<numoffsy) myoffsy=(int)(offsy[z]*(double)oheight); - else myoffsy=0; - if (z<numscalex) myscalex=scalex[z]; - else myscalex=1.; - if (z<numscaley) myscaley=scaley[z]; - else myscaley=1.; - if (z<numalpha) myalpha=alpha[z]; - else myalpha=1.; + if (z < numoffsx) myoffsx = (int)(offsx[z] * (double)owidth); + else myoffsx = 0; + if (z < numoffsy) myoffsy = (int)(offsy[z] * (double)oheight); + else myoffsy = 0; + if (z < numscalex) myscalex = scalex[z]; + else myscalex = 1.; + if (z < numscaley) myscaley = scaley[z]; + else myscaley = 1.; + if (z < numalpha) myalpha = alpha[z]; + else myalpha = 1.; - out_width=(owidth*myscalex+.5); - out_height=(oheight*myscaley+.5); + out_width = (owidth * myscalex + .5); + out_height = (oheight * myscaley + .5); - if (out_width*out_height>0) { - in_width=weed_get_int_value(in_channels[z],"width",&error); - in_height=weed_get_int_value(in_channels[z],"height",&error); + if (out_width * out_height > 0) { + in_width = weed_get_int_value(in_channels[z], "width", &error); + in_height = weed_get_int_value(in_channels[z], "height", &error); - src=weed_get_voidptr_value(in_channels[z],"pixel_data",&error); - irowstride=weed_get_int_value(in_channels[z],"rowstrides",&error); + src = weed_get_voidptr_value(in_channels[z], "pixel_data", &error); + irowstride = weed_get_int_value(in_channels[z], "rowstrides", &error); // scale image to new size - in_pixbuf=pl_data_to_pixbuf(WEED_PALETTE_RGB24, in_width, in_height, irowstride, (guchar *)src); + in_pixbuf = pl_data_to_pixbuf(WEED_PALETTE_RGB24, in_width, in_height, irowstride, (guchar *)src); - if (out_width>in_width||out_height>in_height) { - out_pixbuf=gdk_pixbuf_scale_simple(in_pixbuf,out_width,out_height,up_interp); + if (out_width > in_width || out_height > in_height) { + out_pixbuf = gdk_pixbuf_scale_simple(in_pixbuf, out_width, out_height, up_interp); } else { - out_pixbuf=gdk_pixbuf_scale_simple(in_pixbuf,out_width,out_height,down_interp); + out_pixbuf = gdk_pixbuf_scale_simple(in_pixbuf, out_width, out_height, down_interp); } g_object_unref(in_pixbuf); - src=gdk_pixbuf_get_pixels(out_pixbuf); + src = gdk_pixbuf_get_pixels(out_pixbuf); - out_width=gdk_pixbuf_get_width(out_pixbuf); - out_height=gdk_pixbuf_get_height(out_pixbuf); - irowstride=gdk_pixbuf_get_rowstride(out_pixbuf); + out_width = gdk_pixbuf_get_width(out_pixbuf); + out_height = gdk_pixbuf_get_height(out_pixbuf); + irowstride = gdk_pixbuf_get_rowstride(out_pixbuf); - for (y=myoffsy; y<oheight&&y<myoffsy+out_height; y++) { - for (x=myoffsx; x<owidth&&x<myoffsx+out_width; x++) { - paint_pixel(dst,y*orowstride+x*3,src,(y-myoffsy)*irowstride+(x-myoffsx)*3,myalpha); + for (y = myoffsy; y < oheight && y < myoffsy + out_height; y++) { + for (x = myoffsx; x < owidth && x < myoffsx + out_width; x++) { + paint_pixel(dst, y * orowstride + x * 3, src, (y - myoffsy)*irowstride + (x - myoffsx) * 3, myalpha); } } g_object_unref(out_pixbuf); @@ -264,65 +264,66 @@ weed_free(scaley); weed_free(alpha); - if (num_in_channels>0) weed_free(in_channels); + if (num_in_channels > 0) weed_free(in_channels); return WEED_NO_ERROR; } weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_RGB24,WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",WEED_CHANNEL_SIZE_CAN_VARY,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",WEED_CHANNEL_SIZE_CAN_VARY,palette_list),NULL}; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_RGB24, WEED_PALETTE_END}; + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", WEED_CHANNEL_SIZE_CAN_VARY, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", WEED_CHANNEL_SIZE_CAN_VARY, palette_list), NULL}; - weed_plant_t *in_params[]= {weed_float_init("xoffs","_X offset",0.,0.,1.),weed_float_init("yoffs","_Y offset",0.,0.,1.),weed_float_init("scalex","Scale _width",1.,0.,1.),weed_float_init("scaley","Scale _height",1.,0.,1.),weed_float_init("alpha","_Alpha",1.0,0.0,1.0),weed_colRGBi_init("bgcol","_Background color",0,0,0),NULL}; + weed_plant_t *in_params[] = {weed_float_init("xoffs", "_X offset", 0., 0., 1.), weed_float_init("yoffs", "_Y offset", 0., 0., 1.), weed_float_init("scalex", "Scale _width", 1., 0., 1.), weed_float_init("scaley", "Scale _height", 1., 0., 1.), weed_float_init("alpha", "_Alpha", 1.0, 0.0, 1.0), weed_colRGBi_init("bgcol", "_Background color", 0, 0, 0), NULL}; - weed_plant_t *filter_class=weed_filter_class_init("compositor","salsaman",1,0,NULL,&compositor_process,NULL,in_chantmpls,out_chantmpls, - in_params,NULL); + weed_plant_t *filter_class = weed_filter_class_init("compositor", "salsaman", 1, 0, NULL, &compositor_process, NULL, in_chantmpls, + out_chantmpls, + in_params, NULL); - weed_plant_t *gui=weed_filter_class_get_gui(filter_class); + weed_plant_t *gui = weed_filter_class_get_gui(filter_class); // define RFX layout - char *rfx_strings[]= {"layout|p0|p1|","layout|p2|p3|","layout|p4|","layout|hseparator|","layout|p5|","special|framedraw|multrect|0|1|2|3|4|"}; + char *rfx_strings[] = {"layout|p0|p1|", "layout|p2|p3|", "layout|p4|", "layout|hseparator|", "layout|p5|", "special|framedraw|multrect|0|1|2|3|4|"}; - int api_used=weed_get_api_version(plugin_info); + int api_used = weed_get_api_version(plugin_info); // set 0 to infinite repeats - weed_set_int_value(in_chantmpls[0],"max_repeats",0); - weed_set_boolean_value(in_chantmpls[0],"optional",WEED_TRUE); + weed_set_int_value(in_chantmpls[0], "max_repeats", 0); + weed_set_boolean_value(in_chantmpls[0], "optional", WEED_TRUE); // this is necessary for the host - if (api_used==100) { - weed_set_int_value(in_params[0],"flags",WEED_PARAMETER_VARIABLE_ELEMENTS); - weed_set_int_value(in_params[1],"flags",WEED_PARAMETER_VARIABLE_ELEMENTS); - weed_set_int_value(in_params[2],"flags",WEED_PARAMETER_VARIABLE_ELEMENTS); - weed_set_int_value(in_params[3],"flags",WEED_PARAMETER_VARIABLE_ELEMENTS); - weed_set_int_value(in_params[4],"flags",WEED_PARAMETER_VARIABLE_ELEMENTS); - } else if (api_used>=110) { + if (api_used == 100) { + weed_set_int_value(in_params[0], "flags", WEED_PARAMETER_VARIABLE_ELEMENTS); + weed_set_int_value(in_params[1], "flags", WEED_PARAMETER_VARIABLE_ELEMENTS); + weed_set_int_value(in_params[2], "flags", WEED_PARAMETER_VARIABLE_ELEMENTS); + weed_set_int_value(in_params[3], "flags", WEED_PARAMETER_VARIABLE_ELEMENTS); + weed_set_int_value(in_params[4], "flags", WEED_PARAMETER_VARIABLE_ELEMENTS); + } else if (api_used >= 110) { // use WEED_PARAMETER_ELEMENT_PER_CHANNEL from spec 110 - weed_set_int_value(in_params[0],"flags",WEED_PARAMETER_VARIABLE_ELEMENTS|WEED_PARAMETER_ELEMENT_PER_CHANNEL); - weed_set_int_value(in_params[1],"flags",WEED_PARAMETER_VARIABLE_ELEMENTS|WEED_PARAMETER_ELEMENT_PER_CHANNEL); - weed_set_int_value(in_params[2],"flags",WEED_PARAMETER_VARIABLE_ELEMENTS|WEED_PARAMETER_ELEMENT_PER_CHANNEL); - weed_set_int_value(in_params[3],"flags",WEED_PARAMETER_VARIABLE_ELEMENTS|WEED_PARAMETER_ELEMENT_PER_CHANNEL); - weed_set_int_value(in_params[4],"flags",WEED_PARAMETER_VARIABLE_ELEMENTS|WEED_PARAMETER_ELEMENT_PER_CHANNEL); + weed_set_int_value(in_params[0], "flags", WEED_PARAMETER_VARIABLE_ELEMENTS | WEED_PARAMETER_ELEMENT_PER_CHANNEL); + weed_set_int_value(in_params[1], "flags", WEED_PARAMETER_VARIABLE_ELEMENTS | WEED_PARAMETER_ELEMENT_PER_CHANNEL); + weed_set_int_value(in_params[2], "flags", WEED_PARAMETER_VARIABLE_ELEMENTS | WEED_PARAMETER_ELEMENT_PER_CHANNEL); + weed_set_int_value(in_params[3], "flags", WEED_PARAMETER_VARIABLE_ELEMENTS | WEED_PARAMETER_ELEMENT_PER_CHANNEL); + weed_set_int_value(in_params[4], "flags", WEED_PARAMETER_VARIABLE_ELEMENTS | WEED_PARAMETER_ELEMENT_PER_CHANNEL); } // set default value for elements added by the host - weed_set_double_value(in_params[0],"new_default",0.); - weed_set_double_value(in_params[1],"new_default",0.); - weed_set_double_value(in_params[2],"new_default",1.); - weed_set_double_value(in_params[3],"new_default",1.); - weed_set_double_value(in_params[4],"new_default",1.); + weed_set_double_value(in_params[0], "new_default", 0.); + weed_set_double_value(in_params[1], "new_default", 0.); + weed_set_double_value(in_params[2], "new_default", 1.); + weed_set_double_value(in_params[3], "new_default", 1.); + weed_set_double_value(in_params[4], "new_default", 1.); // set RFX layout - weed_set_string_value(gui,"layout_scheme","RFX"); - weed_set_string_value(gui,"rfx_delim","|"); - weed_set_string_array(gui,"rfx_strings",6,rfx_strings); + weed_set_string_value(gui, "layout_scheme", "RFX"); + weed_set_string_value(gui, "rfx_delim", "|"); + weed_set_string_array(gui, "rfx_strings", 6, rfx_strings); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/gdk/gdk_fast_resize.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/gdk/gdk_fast_resize.c
Changed
@@ -25,10 +25,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=1; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 1; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -48,7 +48,7 @@ inline int G_GNUC_CONST pl_gdk_last_rowstride_value(int width, int nchans) { // from gdk pixbuf docs - return width*(((nchans<<3)+7)>>3); + return width * (((nchans << 3) + 7) >> 3); } static void plugin_free_buffer(guchar *pixels, gpointer data) { @@ -59,8 +59,8 @@ static GdkPixbuf *pl_gdk_pixbuf_cheat(GdkColorspace colorspace, gboolean has_alpha, int bits_per_sample, int width, int height, guchar *buf) { // we can cheat if our buffer is correctly sized - int channels=has_alpha?4:3; - int rowstride=pl_gdk_rowstride_value(width*channels); + int channels = has_alpha ? 4 : 3; + int rowstride = pl_gdk_rowstride_value(width * channels); return gdk_pixbuf_new_from_data(buf, colorspace, has_alpha, bits_per_sample, width, height, rowstride, plugin_free_buffer, NULL); } @@ -69,55 +69,55 @@ static GdkPixbuf *pl_channel_to_pixbuf(weed_plant_t *channel) { int error; GdkPixbuf *pixbuf; - int palette=weed_get_int_value(channel,"current_palette",&error); - int width=weed_get_int_value(channel,"width",&error); - int height=weed_get_int_value(channel,"height",&error); - int irowstride=weed_get_int_value(channel,"rowstrides",&error); - int rowstride,orowstride; - guchar *pixel_data=(guchar *)weed_get_voidptr_value(channel,"pixel_data",&error),*pixels,*end; - gboolean cheat=FALSE; + int palette = weed_get_int_value(channel, "current_palette", &error); + int width = weed_get_int_value(channel, "width", &error); + int height = weed_get_int_value(channel, "height", &error); + int irowstride = weed_get_int_value(channel, "rowstrides", &error); + int rowstride, orowstride; + guchar *pixel_data = (guchar *)weed_get_voidptr_value(channel, "pixel_data", &error), *pixels, *end; + gboolean cheat = FALSE; gint n_channels; switch (palette) { case WEED_PALETTE_RGB24: case WEED_PALETTE_BGR24: case WEED_PALETTE_YUV888: - if (irowstride==pl_gdk_rowstride_value(width*3)) { - pixbuf=pl_gdk_pixbuf_cheat(GDK_COLORSPACE_RGB, FALSE, 8, width, height, pixel_data); - cheat=TRUE; - } else pixbuf=gdk_pixbuf_new(GDK_COLORSPACE_RGB, FALSE, 8, width, height); - n_channels=3; + if (irowstride == pl_gdk_rowstride_value(width * 3)) { + pixbuf = pl_gdk_pixbuf_cheat(GDK_COLORSPACE_RGB, FALSE, 8, width, height, pixel_data); + cheat = TRUE; + } else pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, FALSE, 8, width, height); + n_channels = 3; break; case WEED_PALETTE_RGBA32: case WEED_PALETTE_BGRA32: case WEED_PALETTE_ARGB32: case WEED_PALETTE_YUVA8888: - if (irowstride==pl_gdk_rowstride_value(width*4)) { - pixbuf=pl_gdk_pixbuf_cheat(GDK_COLORSPACE_RGB, TRUE, 8, width, height, pixel_data); - cheat=TRUE; - } else pixbuf=gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, width, height); - n_channels=4; + if (irowstride == pl_gdk_rowstride_value(width * 4)) { + pixbuf = pl_gdk_pixbuf_cheat(GDK_COLORSPACE_RGB, TRUE, 8, width, height, pixel_data); + cheat = TRUE; + } else pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, width, height); + n_channels = 4; break; default: return NULL; } - pixels=gdk_pixbuf_get_pixels(pixbuf); - orowstride=gdk_pixbuf_get_rowstride(pixbuf); + pixels = gdk_pixbuf_get_pixels(pixbuf); + orowstride = gdk_pixbuf_get_rowstride(pixbuf); - if (irowstride>orowstride) rowstride=orowstride; - else rowstride=irowstride; - end=pixels+orowstride*height; + if (irowstride > orowstride) rowstride = orowstride; + else rowstride = irowstride; + end = pixels + orowstride * height; if (!cheat) { - gboolean done=FALSE; - for (; pixels<end&&!done; pixels+=orowstride) { - if (pixels+orowstride>=end) { - orowstride=rowstride=pl_gdk_last_rowstride_value(width,n_channels); - done=TRUE; + gboolean done = FALSE; + for (; pixels < end && !done; pixels += orowstride) { + if (pixels + orowstride >= end) { + orowstride = rowstride = pl_gdk_last_rowstride_value(width, n_channels); + done = TRUE; } - weed_memcpy(pixels,pixel_data,rowstride); - if (rowstride<orowstride) weed_memset(pixels+rowstride,0,orowstride-rowstride); - pixel_data+=irowstride; + weed_memcpy(pixels, pixel_data, rowstride); + if (rowstride < orowstride) weed_memset(pixels + rowstride, 0, orowstride - rowstride); + pixel_data += irowstride; } } return pixbuf; @@ -129,26 +129,26 @@ // return TRUE if we can use the original pixbuf pixels int error; - int rowstride=gdk_pixbuf_get_rowstride(pixbuf); - int width=gdk_pixbuf_get_width(pixbuf); - int height=gdk_pixbuf_get_height(pixbuf); - int n_channels=gdk_pixbuf_get_n_channels(pixbuf); - guchar *in_pixel_data=(guchar *)gdk_pixbuf_get_pixels(pixbuf); - int out_rowstride=weed_get_int_value(channel,"rowstrides",&error); - guchar *dst=weed_get_voidptr_value(channel,"pixel_data",&error); + int rowstride = gdk_pixbuf_get_rowstride(pixbuf); + int width = gdk_pixbuf_get_width(pixbuf); + int height = gdk_pixbuf_get_height(pixbuf); + int n_channels = gdk_pixbuf_get_n_channels(pixbuf); + guchar *in_pixel_data = (guchar *)gdk_pixbuf_get_pixels(pixbuf); + int out_rowstride = weed_get_int_value(channel, "rowstrides", &error); + guchar *dst = weed_get_voidptr_value(channel, "pixel_data", &error); register int i; - if (rowstride==pl_gdk_last_rowstride_value(width,n_channels)&&rowstride==out_rowstride) { - weed_memcpy(dst,in_pixel_data,rowstride*height); + if (rowstride == pl_gdk_last_rowstride_value(width, n_channels) && rowstride == out_rowstride) { + weed_memcpy(dst, in_pixel_data, rowstride * height); return FALSE; } - for (i=0; i<height; i++) { - if (i==height-1) rowstride=pl_gdk_last_rowstride_value(width,n_channels); - weed_memcpy(dst,in_pixel_data,rowstride); - in_pixel_data+=rowstride; - dst+=out_rowstride; + for (i = 0; i < height; i++) { + if (i == height - 1) rowstride = pl_gdk_last_rowstride_value(width, n_channels); + weed_memcpy(dst, in_pixel_data, rowstride); + in_pixel_data += rowstride; + dst += out_rowstride; } return FALSE; @@ -161,30 +161,31 @@ int resize_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error),*out_channel=weed_get_plantptr_value(inst,"out_channels", - &error); + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error), *out_channel = weed_get_plantptr_value(inst, + "out_channels", + &error); - int inwidth=weed_get_int_value(in_channel,"width",&error); - int inheight=weed_get_int_value(in_channel,"height",&error); + int inwidth = weed_get_int_value(in_channel, "width", &error); + int inheight = weed_get_int_value(in_channel, "height", &error); - int outwidth=weed_get_int_value(out_channel,"width",&error); - int outheight=weed_get_int_value(out_channel,"height",&error); + int outwidth = weed_get_int_value(out_channel, "width", &error); + int outheight = weed_get_int_value(out_channel, "height", &error); - GdkPixbuf *in_pixbuf=pl_channel_to_pixbuf(in_channel); + GdkPixbuf *in_pixbuf = pl_channel_to_pixbuf(in_channel); GdkPixbuf *out_pixbuf; - int up_interp=GDK_INTERP_HYPER; - int down_interp=GDK_INTERP_BILINEAR; + int up_interp = GDK_INTERP_HYPER; + int down_interp = GDK_INTERP_BILINEAR; - if (outwidth>inwidth||outheight>inheight) { - out_pixbuf=gdk_pixbuf_scale_simple(in_pixbuf,outwidth,outheight,up_interp); + if (outwidth > inwidth || outheight > inheight) { + out_pixbuf = gdk_pixbuf_scale_simple(in_pixbuf, outwidth, outheight, up_interp); } else { - out_pixbuf=gdk_pixbuf_scale_simple(in_pixbuf,outwidth,outheight,down_interp); + out_pixbuf = gdk_pixbuf_scale_simple(in_pixbuf, outwidth, outheight, down_interp); } g_object_unref(in_pixbuf); - pl_pixbuf_to_channel(out_channel,out_pixbuf); + pl_pixbuf_to_channel(out_channel, out_pixbuf); g_object_unref(out_pixbuf); return WEED_NO_ERROR; @@ -194,18 +195,18 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_BGR24,WEED_PALETTE_RGB24,WEED_PALETTE_RGBA32,WEED_PALETTE_BGRA32,WEED_PALETTE_ARGB32,WEED_PALETTE_YUV888,WEED_PALETTE_YUVA8888,WEED_PALETTE_END}; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_BGR24, WEED_PALETTE_RGB24, WEED_PALETTE_RGBA32, WEED_PALETTE_BGRA32, WEED_PALETTE_ARGB32, WEED_PALETTE_YUV888, WEED_PALETTE_YUVA8888, WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",0,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",WEED_CHANNEL_SIZE_CAN_VARY,palette_list),NULL}; - weed_plant_t *filter_class=weed_filter_class_init("gdk_fast_resize","salsaman",1,WEED_FILTER_IS_CONVERTER,NULL,&resize_process,NULL, - in_chantmpls,out_chantmpls,NULL,NULL); + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", 0, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", WEED_CHANNEL_SIZE_CAN_VARY, palette_list), NULL}; + weed_plant_t *filter_class = weed_filter_class_init("gdk_fast_resize", "salsaman", 1, WEED_FILTER_IS_CONVERTER, NULL, &resize_process, NULL, + in_chantmpls, out_chantmpls, NULL, NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info;
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/gdk/haar_analyser.cpp -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/gdk/haar_analyser.cpp
Changed
@@ -67,10 +67,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=1; // number of different weed api versions supported -static int api_versions[]={131}; // array of weed api versions supported in plugin, in order (most preferred first) +static int num_versions = 1; // number of different weed api versions supported +static int api_versions[] = {131}; // array of weed api versions supported in plugin, in order (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -88,9 +88,9 @@ /* C Includes */ -#include <math.h> -#include <stdio.h> -#include <stdlib.h> +#include <math.h> +#include <stdio.h> +#include <stdlib.h> #include <string.h> #include <gdk/gdk.h> @@ -119,42 +119,41 @@ for (i = 0; i < 256; i++) { Y_Ru[i] = myround(0.299 * (gdouble)i - * (1<<FP_BITS)); - Y_Gu[i] = myround(0.587 * (gdouble)i - * (1<<FP_BITS)); - Y_Bu[i] = myround(0.114 * (gdouble)i - * (1<<FP_BITS)); - - - Cb_Bu[i] = myround(-0.168736 * (gdouble)i - * (1<<FP_BITS)); - Cb_Gu[i] = myround(-0.331264 * (gdouble)i - * (1<<FP_BITS)); + * (1 << FP_BITS)); + Y_Gu[i] = myround(0.587 * (gdouble)i + * (1 << FP_BITS)); + Y_Bu[i] = myround(0.114 * (gdouble)i + * (1 << FP_BITS)); + + + Cb_Bu[i] = myround(-0.168736 * (gdouble)i + * (1 << FP_BITS)); + Cb_Gu[i] = myround(-0.331264 * (gdouble)i + * (1 << FP_BITS)); Cb_Ru[i] = myround((0.500 * (gdouble)i - + 128.) * (1<<FP_BITS)); + + 128.) * (1 << FP_BITS)); Cr_Bu[i] = myround(0.500 * (gdouble)i - * (1<<FP_BITS)); - Cr_Gu[i] = myround(-0.418688 * (gdouble)i - * (1<<FP_BITS)); - Cr_Ru[i] = myround((-0.081312 * (gdouble)i - + 128.) * (1<<FP_BITS)); + * (1 << FP_BITS)); + Cr_Gu[i] = myround(-0.418688 * (gdouble)i + * (1 << FP_BITS)); + Cr_Ru[i] = myround((-0.081312 * (gdouble)i + + 128.) * (1 << FP_BITS)); } - for (i=0;i<17;i++) { - UNCLAMP_Y[i]=UNCLAMP_UV[i]=0; + for (i = 0; i < 17; i++) { + UNCLAMP_Y[i] = UNCLAMP_UV[i] = 0; } - for (i=17;i<235;i++) { - UNCLAMP_Y[i]=(int)((float)(i-16.)/219.*255.+.5); - UNCLAMP_UV[i]=(int)((float)(i-16.)/224.*255.+.5); + for (i = 17; i < 235; i++) { + UNCLAMP_Y[i] = (int)((float)(i - 16.) / 219.*255. + .5); + UNCLAMP_UV[i] = (int)((float)(i - 16.) / 224.*255. + .5); } - for (i=235;i<256;i++) { - UNCLAMP_Y[i]=UNCLAMP_UV[i]=255; - if (i<241) UNCLAMP_UV[i]=(int)((float)(i-16.)/224.*255.+.5); + for (i = 235; i < 256; i++) { + UNCLAMP_Y[i] = UNCLAMP_UV[i] = 255; + if (i < 241) UNCLAMP_UV[i] = (int)((float)(i - 16.) / 224.*255. + .5); } - } #define RGB_2_Y(a, b, c) \ @@ -181,8 +180,7 @@ // Here input is RGB data [0..255] in Unit arrays // Computation is (almost) in-situ. static void -haar2D(Unit a[]) -{ +haar2D(Unit a[]) { int i; Unit t[NUM_PIXELS >> 1]; @@ -203,13 +201,13 @@ h1 = h >> 1; // h = 2*h1 C *= 0.7071; // 1/sqrt(2) for (k = 0, j1 = j2 = i; k < h1; k++, j1++, j2 += 2) { - int j21 = j2+1; + int j21 = j2 + 1; t[k] = (a[j2] - a[j21]) * C; a[j1] = (a[j2] + a[j21]); } // Write back subtraction results: - memcpy(a+i+h1, t, h1*sizeof(a[0])); + memcpy(a + i + h1, t, h1 * sizeof(a[0])); } // Fix first element of each row: a[i] *= C; // C = 1/sqrt(NUM_PIXELS) @@ -232,15 +230,15 @@ h1 = h >> 1; C *= 0.7071; // 1/sqrt(2) = 0.7071 for (k = 0, j1 = j2 = i; k < h1; - k++, j1 += NUM_PIXELS, j2 += 2*NUM_PIXELS) { - int j21 = j2+NUM_PIXELS; + k++, j1 += NUM_PIXELS, j2 += 2 * NUM_PIXELS) { + int j21 = j2 + NUM_PIXELS; t[k] = (a[j2] - a[j21]) * C; a[j1] = (a[j2] + a[j21]); } // Write back subtraction results: - for (k = 0, j1 = i+h1*NUM_PIXELS; k < h1; k++, j1 += NUM_PIXELS) - a[j1]=t[k]; + for (k = 0, j1 = i + h1 * NUM_PIXELS; k < h1; k++, j1 += NUM_PIXELS) + a[j1] = t[k]; } // Fix first element of each column: a[i] *= C; @@ -254,12 +252,10 @@ but we don't care about that. */ void -transform(Unit* a, Unit* b, Unit* c, int pal) -{ - if (pal==WEED_PALETTE_RGB24) { +transform(Unit *a, Unit *b, Unit *c, int pal) { + if (pal == WEED_PALETTE_RGB24) { RGB_2_Y(a, b, c); - } - else if (pal==WEED_PALETTE_BGR24) { + } else if (pal == WEED_PALETTE_BGR24) { RGB_2_Y(c, b, a); } @@ -277,8 +273,7 @@ // Find the NUM_COEFS largest numbers in cdata[] (in magnitude that is) // and store their indices in sig[]. inline static void -get_m_largests(Unit *cdata, Idx *sig, int num_coefs) -{ +get_m_largests(Unit *cdata, Idx *sig, int num_coefs) { int cnt, i; valStruct val; valqueue vq; // dynamic priority queue of valStruct's @@ -286,7 +281,7 @@ // Could skip i=0: goes into separate avgl // Fill up the bounded queue. (Assuming NUM_PIXELS_SQUARED > NUM_COEFS) - for (i = 1; i < num_coefs+1; i++) { + for (i = 1; i < num_coefs + 1; i++) { val.i = i; val.d = ABS(cdata[i]); vq.push(val); @@ -307,7 +302,7 @@ } // Empty the (non-empty) queue and fill-in sig: - cnt=0; + cnt = 0; do { int t; @@ -316,7 +311,7 @@ /* i - 0 ^ 0 = i; i - 1 ^ 0b111..1111 = 2-compl(i) = -i */ sig[cnt++] = (val.i - t) ^ -t; // never 0 vq.pop(); - } while(!vq.empty()); + } while (!vq.empty()); // Must have cnt==NUM_COEFS here. } @@ -327,11 +322,10 @@ // Complexity is 3 x NUM_PIXELS^2 x 2log(NUM_COEFS). int calcHaar(Unit *cdata1, Unit *cdata2, Unit *cdata3, - Idx *sig1, Idx *sig2, Idx *sig3, double *avgl, int num_coefs) -{ - avgl[0]=cdata1[0]; - avgl[1]=cdata2[0]; - avgl[2]=cdata3[0]; + Idx *sig1, Idx *sig2, Idx *sig3, double *avgl, int num_coefs) { + avgl[0] = cdata1[0]; + avgl[1] = cdata2[0]; + avgl[2] = cdata3[0]; // Color channel 1: get_m_largests(cdata1, sig1, num_coefs); @@ -350,80 +344,79 @@ /////////////////////////////////////// -inline G_GNUC_CONST int pl_gdk_rowstride_value (int rowstride) { +inline G_GNUC_CONST int pl_gdk_rowstride_value(int rowstride) { return (rowstride + 3) & ~3; } -inline int G_GNUC_CONST pl_gdk_last_rowstride_value (int width, int nchans) { - return width*(((nchans<<3)+7)>>3); +inline int G_GNUC_CONST pl_gdk_last_rowstride_value(int width, int nchans) { + return width * (((nchans << 3) + 7) >> 3); } -static void plugin_free_buffer (guchar *pixels, gpointer data) { +static void plugin_free_buffer(guchar *pixels, gpointer data) { return; } -static GdkPixbuf *pl_gdk_pixbuf_cheat(GdkColorspace colorspace, gboolean has_alpha, int bits_per_sample, int width, int height, guchar *buf) { - int channels=has_alpha?4:3; - int rowstride=pl_gdk_rowstride_value(width*channels); - return gdk_pixbuf_new_from_data (buf, colorspace, has_alpha, bits_per_sample, width, height, rowstride, plugin_free_buffer, NULL); +static GdkPixbuf *pl_gdk_pixbuf_cheat(GdkColorspace colorspace, gboolean has_alpha, int bits_per_sample, int width, int height, + guchar *buf) { + int channels = has_alpha ? 4 : 3; + int rowstride = pl_gdk_rowstride_value(width * channels); + return gdk_pixbuf_new_from_data(buf, colorspace, has_alpha, bits_per_sample, width, height, rowstride, plugin_free_buffer, NULL); } -static GdkPixbuf *pl_channel_to_pixbuf (weed_plant_t *channel) { +static GdkPixbuf *pl_channel_to_pixbuf(weed_plant_t *channel) { int error; GdkPixbuf *pixbuf; - int palette=weed_get_int_value(channel,"current_palette",&error); - int width=weed_get_int_value(channel,"width",&error); - int height=weed_get_int_value(channel,"height",&error); - int irowstride=weed_get_int_value(channel,"rowstrides",&error); - int rowstride,orowstride; - guchar *pixel_data=(guchar *)weed_get_voidptr_value(channel,"pixel_data",&error),*pixels,*end; - gboolean cheat=FALSE; + int palette = weed_get_int_value(channel, "current_palette", &error); + int width = weed_get_int_value(channel, "width", &error); + int height = weed_get_int_value(channel, "height", &error); + int irowstride = weed_get_int_value(channel, "rowstrides", &error); + int rowstride, orowstride; + guchar *pixel_data = (guchar *)weed_get_voidptr_value(channel, "pixel_data", &error), *pixels, *end; + gboolean cheat = FALSE; gint n_channels; switch (palette) { case WEED_PALETTE_RGB24: case WEED_PALETTE_BGR24: case WEED_PALETTE_YUV888: - if (irowstride==pl_gdk_rowstride_value(width*3)) { - pixbuf=pl_gdk_pixbuf_cheat(GDK_COLORSPACE_RGB, FALSE, 8, width, height, pixel_data); - cheat=TRUE; - } - else pixbuf=gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, width, height); - n_channels=3; + if (irowstride == pl_gdk_rowstride_value(width * 3)) { + pixbuf = pl_gdk_pixbuf_cheat(GDK_COLORSPACE_RGB, FALSE, 8, width, height, pixel_data); + cheat = TRUE; + } else pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, FALSE, 8, width, height); + n_channels = 3; break; case WEED_PALETTE_RGBA32: case WEED_PALETTE_BGRA32: case WEED_PALETTE_YUVA8888: - if (irowstride==pl_gdk_rowstride_value(width*4)) { - pixbuf=pl_gdk_pixbuf_cheat(GDK_COLORSPACE_RGB, TRUE, 8, width, height, pixel_data); - cheat=TRUE; - } - else pixbuf=gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, width, height); - n_channels=4; + if (irowstride == pl_gdk_rowstride_value(width * 4)) { + pixbuf = pl_gdk_pixbuf_cheat(GDK_COLORSPACE_RGB, TRUE, 8, width, height, pixel_data); + cheat = TRUE; + } else pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, width, height); + n_channels = 4; break; default: return NULL; } - pixels=gdk_pixbuf_get_pixels (pixbuf); - orowstride=gdk_pixbuf_get_rowstride(pixbuf); - - if (irowstride>orowstride) rowstride=orowstride; - else rowstride=irowstride; - end=pixels+orowstride*height; + pixels = gdk_pixbuf_get_pixels(pixbuf); + orowstride = gdk_pixbuf_get_rowstride(pixbuf); + + if (irowstride > orowstride) rowstride = orowstride; + else rowstride = irowstride; + end = pixels + orowstride * height; if (!cheat) { - gboolean done=FALSE; - for (;pixels<end&&!done;pixels+=orowstride) { - if (pixels+orowstride>=end) { - orowstride=rowstride=pl_gdk_last_rowstride_value(width,n_channels); - done=TRUE; + gboolean done = FALSE; + for (; pixels < end && !done; pixels += orowstride) { + if (pixels + orowstride >= end) { + orowstride = rowstride = pl_gdk_last_rowstride_value(width, n_channels); + done = TRUE; } - weed_memcpy(pixels,pixel_data,rowstride); - if (rowstride<orowstride) weed_memset (pixels+rowstride,0,orowstride-rowstride); - pixel_data+=irowstride; + weed_memcpy(pixels, pixel_data, rowstride); + if (rowstride < orowstride) weed_memset(pixels + rowstride, 0, orowstride - rowstride); + pixel_data += irowstride; } } return pixbuf; @@ -432,28 +425,27 @@ static gboolean pl_pixbuf_to_channel(weed_plant_t *channel, GdkPixbuf *pixbuf) { - int error; - int rowstride=gdk_pixbuf_get_rowstride(pixbuf); - int width=gdk_pixbuf_get_width(pixbuf); - int height=gdk_pixbuf_get_height(pixbuf); - int n_channels=gdk_pixbuf_get_n_channels(pixbuf); - guchar *in_pixel_data=(guchar *)gdk_pixbuf_get_pixels(pixbuf); - int out_rowstride=weed_get_int_value(channel,"rowstrides",&error); - guchar *dst=(guchar *)weed_get_voidptr_value(channel,"pixel_data",&error); + int rowstride = gdk_pixbuf_get_rowstride(pixbuf); + int width = gdk_pixbuf_get_width(pixbuf); + int height = gdk_pixbuf_get_height(pixbuf); + int n_channels = gdk_pixbuf_get_n_channels(pixbuf); + guchar *in_pixel_data = (guchar *)gdk_pixbuf_get_pixels(pixbuf); + int out_rowstride = weed_get_int_value(channel, "rowstrides", &error); + guchar *dst = (guchar *)weed_get_voidptr_value(channel, "pixel_data", &error); register int i; - if (rowstride==pl_gdk_last_rowstride_value(width,n_channels)&&rowstride==out_rowstride) { - weed_memcpy(dst,in_pixel_data,rowstride*height); + if (rowstride == pl_gdk_last_rowstride_value(width, n_channels) && rowstride == out_rowstride) { + weed_memcpy(dst, in_pixel_data, rowstride * height); return FALSE; } - for (i=0;i<height;i++) { - if (i==height-1) rowstride=pl_gdk_last_rowstride_value(width,n_channels); - weed_memcpy(dst,in_pixel_data,rowstride); - in_pixel_data+=rowstride; - dst+=out_rowstride; + for (i = 0; i < height; i++) { + if (i == height - 1) rowstride = pl_gdk_last_rowstride_value(width, n_channels); + weed_memcpy(dst, in_pixel_data, rowstride); + in_pixel_data += rowstride; + dst += out_rowstride; } return FALSE; @@ -476,25 +468,23 @@ static int make_sigs(_sdata *sdata, int num_coefs) { + sdata->sig1 = (Idx *)weed_malloc(num_coefs * sizeof(Idx)); + if (sdata->sig1 == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - - sdata->sig1=(Idx *)weed_malloc(num_coefs*sizeof(Idx)); - if (sdata->sig1==NULL) return WEED_ERROR_MEMORY_ALLOCATION; - - sdata->sig2=(Idx *)weed_malloc(num_coefs*sizeof(Idx)); - if (sdata->sig2==NULL) { + sdata->sig2 = (Idx *)weed_malloc(num_coefs * sizeof(Idx)); + if (sdata->sig2 == NULL) { weed_free(sdata->sig1); return WEED_ERROR_MEMORY_ALLOCATION; } - sdata->sig3=(Idx *)weed_malloc(num_coefs*sizeof(Idx)); - if (sdata->sig3==NULL) { + sdata->sig3 = (Idx *)weed_malloc(num_coefs * sizeof(Idx)); + if (sdata->sig3 == NULL) { weed_free(sdata->sig1); weed_free(sdata->sig2); return WEED_ERROR_MEMORY_ALLOCATION; } - sdata->coefs=num_coefs; + sdata->coefs = num_coefs; return WEED_NO_ERROR; } @@ -502,32 +492,32 @@ //////////////////////////////////////////////////////////// -int haar_init (weed_plant_t *inst) { - int error,retval; +int haar_init(weed_plant_t *inst) { + int error, retval; _sdata *sdata; - weed_plant_t **in_params=(weed_plant_t **)weed_get_plantptr_array(inst,"in_parameters",&error); - int num_coefs=weed_get_int_value(in_params[0],"value",&error); + weed_plant_t **in_params = (weed_plant_t **)weed_get_plantptr_array(inst, "in_parameters", &error); + int num_coefs = weed_get_int_value(in_params[0], "value", &error); weed_free(in_params); - sdata=(_sdata *)weed_malloc(sizeof(_sdata)); + sdata = (_sdata *)weed_malloc(sizeof(_sdata)); - if (sdata==NULL) return WEED_ERROR_MEMORY_ALLOCATION; + if (sdata == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - if ((retval=make_sigs(sdata,num_coefs))!=WEED_NO_ERROR) return retval; + if ((retval = make_sigs(sdata, num_coefs)) != WEED_NO_ERROR) return retval; - weed_set_voidptr_value(inst,"plugin_internal",sdata); + weed_set_voidptr_value(inst, "plugin_internal", sdata); return WEED_NO_ERROR; } -int haar_deinit (weed_plant_t *inst) { +int haar_deinit(weed_plant_t *inst) { int error; - _sdata *sdata=(_sdata *)weed_get_voidptr_value(inst,"plugin_internal",&error); + _sdata *sdata = (_sdata *)weed_get_voidptr_value(inst, "plugin_internal", &error); - if (sdata!=NULL) { + if (sdata != NULL) { weed_free(sdata->sig1); weed_free(sdata->sig2); weed_free(sdata->sig3); @@ -539,28 +529,28 @@ -int haar_process (weed_plant_t *inst, weed_timecode_t timestamp) { +int haar_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t *channel=weed_get_plantptr_value(inst,"in_channels",&error); - unsigned char **orig_src,*src; - int width=weed_get_int_value(channel,"width",&error); - int height=weed_get_int_value(channel,"height",&error); - int pal=weed_get_int_value(channel,"current_palette",&error); - int irowstride=weed_get_int_value(channel,"rowstrides",&error); - weed_plant_t **out_params=(weed_plant_t **)weed_get_plantptr_array(inst,"out_parameters",&error); - weed_plant_t **in_params=(weed_plant_t **)weed_get_plantptr_array(inst,"in_parameters",&error); + weed_plant_t *channel = weed_get_plantptr_value(inst, "in_channels", &error); + unsigned char **orig_src, *src; + int width = weed_get_int_value(channel, "width", &error); + int height = weed_get_int_value(channel, "height", &error); + int pal = weed_get_int_value(channel, "current_palette", &error); + int irowstride = weed_get_int_value(channel, "rowstrides", &error); + weed_plant_t **out_params = (weed_plant_t **)weed_get_plantptr_array(inst, "out_parameters", &error); + weed_plant_t **in_params = (weed_plant_t **)weed_get_plantptr_array(inst, "in_parameters", &error); - _sdata *sdata=(_sdata *)weed_get_voidptr_value(inst,"plugin_internal",&error); + _sdata *sdata = (_sdata *)weed_get_voidptr_value(inst, "plugin_internal", &error); - int psize=4; - int clamped=0; + int psize = 4; + int clamped = 0; - int *orig_rows,orowstride,nplanes,hmax; + int *orig_rows, orowstride, nplanes, hmax; - int num_coefs=weed_get_int_value(in_params[0],"value",&error); + int num_coefs = weed_get_int_value(in_params[0], "value", &error); - unsigned char *end=src+height*irowstride; - register int i,j,k; + unsigned char *end = src + height * irowstride; + register int i, j, k; int cn = 0; Unit cdata1[NUM_PIXELS_SQUARED]; @@ -572,98 +562,91 @@ GError **gerror; GdkPixbuf *new_pixbuf; - GdkPixbuf *out_pixbuf=NULL; + GdkPixbuf *out_pixbuf = NULL; weed_free(in_params); - if (weed_plant_has_leaf(channel,"YUV_clamping")&& - (weed_get_int_value(channel,"YUV_clamping",&error)==WEED_YUV_CLAMPING_CLAMPED)) - clamped=1; + if (weed_plant_has_leaf(channel, "YUV_clamping") && + (weed_get_int_value(channel, "YUV_clamping", &error) == WEED_YUV_CLAMPING_CLAMPED)) + clamped = 1; - if (pal==WEED_PALETTE_YUV888) psize=3; - + if (pal == WEED_PALETTE_YUV888) psize = 3; // resize to NUM_PIXELS x NUM_PIXELS if (width != NUM_PIXELS || height != NUM_PIXELS) { - - GdkPixbuf *in_pixbuf=pl_channel_to_pixbuf(channel); - - GdkInterpType up_interp=GDK_INTERP_HYPER; - GdkInterpType down_interp=GDK_INTERP_BILINEAR; - - if (width>NUM_PIXELS||height>NUM_PIXELS) { - out_pixbuf=gdk_pixbuf_scale_simple(in_pixbuf,NUM_PIXELS,NUM_PIXELS,up_interp); - } - else { - out_pixbuf=gdk_pixbuf_scale_simple(in_pixbuf,NUM_PIXELS,NUM_PIXELS,down_interp); + GdkPixbuf *in_pixbuf = pl_channel_to_pixbuf(channel); + GdkInterpType up_interp = GDK_INTERP_HYPER; + GdkInterpType down_interp = GDK_INTERP_BILINEAR; + + if (width > NUM_PIXELS || height > NUM_PIXELS) { + out_pixbuf = gdk_pixbuf_scale_simple(in_pixbuf, NUM_PIXELS, NUM_PIXELS, up_interp); + } else { + out_pixbuf = gdk_pixbuf_scale_simple(in_pixbuf, NUM_PIXELS, NUM_PIXELS, down_interp); } - + g_object_unref(in_pixbuf); - - irowstride=gdk_pixbuf_get_rowstride(out_pixbuf); - src=gdk_pixbuf_get_pixels(out_pixbuf); - } - else src=orig_src[0]; + irowstride = gdk_pixbuf_get_rowstride(out_pixbuf); + + src = gdk_pixbuf_get_pixels(out_pixbuf); + } else src = orig_src[0]; - hmax=NUM_PIXELS*psize; + hmax = NUM_PIXELS * psize; for (i = 0; i < NUM_PIXELS; i++) { - k=i*irowstride; - for (j = 0; j < hmax; j+=psize) { + k = i * irowstride; + for (j = 0; j < hmax; j += psize) { if (clamped) { - // convert to unclamped - cdata1[cn] = UNCLAMP_Y[src[k+j]]; - cdata2[cn] = UNCLAMP_UV[src[k+j+1]]; - cdata3[cn] = UNCLAMP_UV[src[k+j]]; - } - else { - // unclamped YUV - pass through - cdata1[cn] = src[k+j]; - cdata2[cn] = src[k+j+1]; - cdata3[cn] = src[k+j]; + // convert to unclamped + cdata1[cn] = UNCLAMP_Y[src[k + j]]; + cdata2[cn] = UNCLAMP_UV[src[k + j + 1]]; + cdata3[cn] = UNCLAMP_UV[src[k + j]]; + } else { + // unclamped YUV - pass through + cdata1[cn] = src[k + j]; + cdata2[cn] = src[k + j + 1]; + cdata3[cn] = src[k + j]; } cn++; } } - if (out_pixbuf!=NULL) { + if (out_pixbuf != NULL) { g_object_unref(out_pixbuf); - } - else { - if (src!=orig_src[0]) { - weed_set_voidptr_array(channel,"pixel_data",nplanes,(void **)orig_src); - weed_set_int_array(channel,"rowstrides",nplanes,orig_rows); + } else { + if (src != orig_src[0]) { + weed_set_voidptr_array(channel, "pixel_data", nplanes, (void **)orig_src); + weed_set_int_array(channel, "rowstrides", nplanes, orig_rows); } } weed_free(orig_src); weed_free(orig_rows); - if (num_coefs!=sdata->coefs) { + if (num_coefs != sdata->coefs) { weed_free(sdata->sig1); weed_free(sdata->sig2); weed_free(sdata->sig3); - make_sigs(sdata,num_coefs); + make_sigs(sdata, num_coefs); } - transform(cdata1,cdata2,cdata3,pal); - calcHaar(cdata1,cdata2,cdata3,sdata->sig1,sdata->sig2,sdata->sig3,avgl,num_coefs); + transform(cdata1, cdata2, cdata3, pal); + calcHaar(cdata1, cdata2, cdata3, sdata->sig1, sdata->sig2, sdata->sig3, avgl, num_coefs); + + weed_set_int_array(out_params[0], "value", num_coefs, sdata->sig1); + weed_set_int_array(out_params[1], "value", num_coefs, sdata->sig2); + weed_set_int_array(out_params[2], "value", num_coefs, sdata->sig3); - weed_set_int_array(out_params[0],"value",num_coefs,sdata->sig1); - weed_set_int_array(out_params[1],"value",num_coefs,sdata->sig2); - weed_set_int_array(out_params[2],"value",num_coefs,sdata->sig3); - - weed_set_double_value(out_params[3],"value",avgl[0]); - weed_set_double_value(out_params[4],"value",avgl[1]); - weed_set_double_value(out_params[5],"value",avgl[2]); + weed_set_double_value(out_params[3], "value", avgl[0]); + weed_set_double_value(out_params[4], "value", avgl[1]); + weed_set_double_value(out_params[5], "value", avgl[2]); #ifdef DEBUG - printf("vals %f %f %f\n",avgl[0],avgl[1],avgl[2]); + printf("vals %f %f %f\n", avgl[0], avgl[1], avgl[2]); - for (i=0;i<num_coefs;i++) { - printf("vals %d: %d %d %d\n",i,sdata->sig1[i],sdata->sig2[i],sdata->sig3[i]); + for (i = 0; i < num_coefs; i++) { + printf("vals %d: %d %d %d\n", i, sdata->sig1[i], sdata->sig2[i], sdata->sig3[i]); } #endif @@ -674,30 +657,29 @@ } -// +// #define VLIMIT 4096 +weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_YUVA8888, WEED_PALETTE_YUV888, + WEED_PALETTE_END + }; + weed_plant_t *out_params[] = {weed_out_param_integer_init("Y maxima", 0, -VLIMIT, VLIMIT), weed_out_param_integer_init("U maxima", 0, -VLIMIT, VLIMIT), weed_out_param_integer_init("V maxima", 0, -VLIMIT, VLIMIT), weed_out_param_float_init("Y average", 0., 0., 1.), weed_out_param_float_init("U average", 0., 0., 1.), weed_out_param_float_init("V average", 0., 0., 1.), NULL}; + weed_plant_t *in_params[] = {weed_integer_init("nco", "Number of _Coefficients", 40, 1, NUM_PIXELS), NULL}; + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", 0, palette_list), NULL}; + weed_plant_t *filter_class = weed_filter_class_init("haar_analyser", "salsaman and others", 1, 0, &haar_init, + &haar_process, &haar_deinit, in_chantmpls, NULL, in_params, out_params); -weed_plant_t *weed_setup (weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - int palette_list[]={WEED_PALETTE_YUVA8888,WEED_PALETTE_YUV888, - WEED_PALETTE_END}; - weed_plant_t *out_params[]={weed_out_param_integer_init("Y maxima",0,-VLIMIT,VLIMIT),weed_out_param_integer_init("U maxima",0,-VLIMIT,VLIMIT),weed_out_param_integer_init("V maxima",0,-VLIMIT,VLIMIT),weed_out_param_float_init("Y average",0.,0.,1.),weed_out_param_float_init("U average",0.,0.,1.),weed_out_param_float_init("V average",0.,0.,1.),NULL}; - weed_plant_t *in_params[]={weed_integer_init("nco","Number of _Coefficients",40,1,NUM_PIXELS),NULL}; - weed_plant_t *in_chantmpls[]={weed_channel_template_init("in channel 0",0,palette_list),NULL}; - weed_plant_t *filter_class=weed_filter_class_init("haar_analyser","salsaman and others",1,0,&haar_init, - &haar_process,&haar_deinit,in_chantmpls,NULL,in_params,out_params); - - - weed_set_int_value(out_params[0],"flags",WEED_PARAMETER_VARIABLE_ELEMENTS); - weed_set_int_value(out_params[1],"flags",WEED_PARAMETER_VARIABLE_ELEMENTS); - weed_set_int_value(out_params[2],"flags",WEED_PARAMETER_VARIABLE_ELEMENTS); + weed_set_int_value(out_params[0], "flags", WEED_PARAMETER_VARIABLE_ELEMENTS); + weed_set_int_value(out_params[1], "flags", WEED_PARAMETER_VARIABLE_ELEMENTS); + weed_set_int_value(out_params[2], "flags", WEED_PARAMETER_VARIABLE_ELEMENTS); - weed_plugin_info_add_filter_class (plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); init_luma_arrays(); }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/gdk/haar_analyser.h -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/gdk/haar_analyser.h
Changed
@@ -50,7 +50,7 @@ typedef int Idx; gint myround(gdouble n) { - return (n>=0.)?(gint)(n + 0.5):(gint)(n - 0.5); + return (n >= 0.) ? (gint)(n + 0.5) : (gint)(n - 0.5); } /* signature structure */
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/gdk/mask_overlay.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/gdk/mask_overlay.c
Changed
@@ -18,10 +18,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=1; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 1; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -55,85 +55,85 @@ static void make_mask(GdkPixbuf *pbuf, int mode, int owidth, int oheight, int *xmap, int *ymap) { - int iwidth=gdk_pixbuf_get_width(pbuf); - int iheight=gdk_pixbuf_get_height(pbuf); - gboolean has_alpha=gdk_pixbuf_get_has_alpha(pbuf); - int stride=gdk_pixbuf_get_rowstride(pbuf); - guchar *pdata=gdk_pixbuf_get_pixels(pbuf); + int iwidth = gdk_pixbuf_get_width(pbuf); + int iheight = gdk_pixbuf_get_height(pbuf); + gboolean has_alpha = gdk_pixbuf_get_has_alpha(pbuf); + int stride = gdk_pixbuf_get_rowstride(pbuf); + guchar *pdata = gdk_pixbuf_get_pixels(pbuf); - double xscale=(double)iwidth/(double)owidth; - double yscale=(double)iheight/(double)oheight; + double xscale = (double)iwidth / (double)owidth; + double yscale = (double)iheight / (double)oheight; - double xscale2=xscale,yscale2=yscale; + double xscale2 = xscale, yscale2 = yscale; - int psize=3; + int psize = 3; - int top=-1,bot=-1,left=-1,right=-1,tline=0,xwidth=0; - double xpos=0.,ypos=0.; + int top = -1, bot = -1, left = -1, right = -1, tline = 0, xwidth = 0; + double xpos = 0., ypos = 0.; - register int i,j; + register int i, j; - if (has_alpha) psize=4; + if (has_alpha) psize = 4; - if (mode==1) { + if (mode == 1) { // get bounds - for (i=0; i<oheight; i++) { - for (j=0; j<owidth; j++) { + for (i = 0; i < oheight; i++) { + for (j = 0; j < owidth; j++) { if (*(pdata + (int)(i * yscale) * stride + (int)(j * xscale) * psize + 1) == 0) { - if (top==-1) top=i; - if (j<left||left==-1) left=j; - if (j>right) right=j; - if (i>bot) bot=i; + if (top == -1) top = i; + if (j < left || left == -1) left = j; + if (j > right) right = j; + if (i > bot) bot = i; } } } // get width (ignoring non-black) - tline=(top+bot)>>1; + tline = (top + bot) >> 1; - for (j=0; j<owidth; j++) { + for (j = 0; j < owidth; j++) { if (*(pdata + (int)(tline * yscale) * stride + (int)(j * xscale) * psize + 1) == 0) xwidth++; } - yscale2=(double)oheight/(double)(bot-top); - xscale2=(double)owidth/(double)xwidth; + yscale2 = (double)oheight / (double)(bot - top); + xscale2 = (double)owidth / (double)xwidth; // map center row as template for other rows - for (j=0; j<owidth; j++) { + for (j = 0; j < owidth; j++) { if (*(pdata + (int)(tline * yscale) * stride + (int)(j * xscale) * psize + 1) == 0) { // map front frame - xmap[tline*owidth+j]=(int)xpos; - xpos+=xscale2; + xmap[tline * owidth + j] = (int)xpos; + xpos += xscale2; } else { - xmap[tline*owidth+j]=-1; + xmap[tline * owidth + j] = -1; } } } - for (i=0; i<oheight; i++) { + for (i = 0; i < oheight; i++) { - for (j=0; j<owidth; j++) { + for (j = 0; j < owidth; j++) { if (*(pdata + (int)(i * yscale) * stride + (int)(j * xscale) * psize + 1) == 0) { // map front frame - if (mode==0) { + if (mode == 0) { // no re-mapping of front frame - xmap[i*owidth+j]=j; - ymap[i*owidth+j]=i; + xmap[i * owidth + j] = j; + ymap[i * owidth + j] = i; } else { - xmap[i*owidth+j]=xmap[tline*owidth+j]; - ymap[i*owidth+j]=(int)ypos; + xmap[i * owidth + j] = xmap[tline * owidth + j]; + ymap[i * owidth + j] = (int)ypos; } } else { // map back frame - xmap[i*owidth+j]=ymap[i*owidth+j]=-1; + xmap[i * owidth + j] = ymap[i * owidth + j] = -1; } } - if (i>=top) ypos+=yscale2; + if (i >= top) ypos += yscale2; } } @@ -147,32 +147,32 @@ int masko_init(weed_plant_t *inst) { struct _sdata *sdata; - int video_height,video_width,video_area; - int error,mode; - weed_plant_t *in_channel,**in_params; + int video_height, video_width, video_area; + int error, mode; + weed_plant_t *in_channel, **in_params; GdkPixbuf *pbuf; - GError *gerr=NULL; + GError *gerr = NULL; char *mfile; - in_channel=weed_get_plantptr_value(inst,"in_channels",&error); + in_channel = weed_get_plantptr_value(inst, "in_channels", &error); - sdata=weed_malloc(sizeof(struct _sdata)); + sdata = weed_malloc(sizeof(struct _sdata)); if (sdata == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - video_height=weed_get_int_value(in_channel,"height",&error); - video_width=weed_get_int_value(in_channel,"width",&error); - video_area=video_width*video_height; + video_height = weed_get_int_value(in_channel, "height", &error); + video_width = weed_get_int_value(in_channel, "width", &error); + video_area = video_width * video_height; - sdata->xmap=(int *)weed_malloc(video_area*sizeof(int)); + sdata->xmap = (int *)weed_malloc(video_area * sizeof(int)); if (sdata->xmap == NULL) { weed_free(sdata); return WEED_ERROR_MEMORY_ALLOCATION; } - sdata->ymap=(int *)weed_malloc(video_area*sizeof(int)); + sdata->ymap = (int *)weed_malloc(video_area * sizeof(int)); if (sdata->ymap == NULL) { weed_free(sdata->xmap); @@ -181,26 +181,26 @@ } // load image, then get luma values and scale - in_params=weed_get_plantptr_array(inst,"in_parameters",&error); - mfile=weed_get_string_value(in_params[0],"value",&error); - mode=weed_get_int_value(in_params[1],"value",&error); + in_params = weed_get_plantptr_array(inst, "in_parameters", &error); + mfile = weed_get_string_value(in_params[0], "value", &error); + mode = weed_get_int_value(in_params[1], "value", &error); - pbuf=gdk_pixbuf_new_from_file(mfile,&gerr); + pbuf = gdk_pixbuf_new_from_file(mfile, &gerr); - if (gerr!=NULL) { + if (gerr != NULL) { weed_free(sdata->xmap); weed_free(sdata->ymap); g_object_unref(gerr); - sdata->xmap=sdata->ymap=NULL; + sdata->xmap = sdata->ymap = NULL; } else { - make_mask(pbuf,mode,video_width,video_height,sdata->xmap,sdata->ymap); + make_mask(pbuf, mode, video_width, video_height, sdata->xmap, sdata->ymap); g_object_unref(pbuf); } weed_free(mfile); weed_free(in_params); - weed_set_voidptr_value(inst,"plugin_internal",sdata); + weed_set_voidptr_value(inst, "plugin_internal", sdata); return WEED_NO_ERROR; @@ -211,10 +211,10 @@ int error; struct _sdata *sdata; - sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); + sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); - if (sdata->xmap!=NULL) weed_free(sdata->xmap); - if (sdata->ymap!=NULL) weed_free(sdata->ymap); + if (sdata->xmap != NULL) weed_free(sdata->xmap); + if (sdata->ymap != NULL) weed_free(sdata->ymap); weed_free(sdata); return WEED_NO_ERROR; @@ -228,64 +228,66 @@ int masko_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t **in_channels=weed_get_plantptr_array(inst,"in_channels",&error),*out_channel=weed_get_plantptr_value(inst,"out_channels", - &error); + weed_plant_t **in_channels = weed_get_plantptr_array(inst, "in_channels", &error), *out_channel = weed_get_plantptr_value(inst, + "out_channels", + &error); - int palette=weed_get_int_value(out_channel,"current_palette",&error); - int width=weed_get_int_value(out_channel,"width",&error); - int height=weed_get_int_value(out_channel,"height",&error); - int offset=0; + int palette = weed_get_int_value(out_channel, "current_palette", &error); + int width = weed_get_int_value(out_channel, "width", &error); + int height = weed_get_int_value(out_channel, "height", &error); + int offset = 0; - register int i,j,pos; + register int i, j, pos; struct _sdata *sdata; - int psize=3; + int psize = 3; - unsigned char *dst,*src0,*src1; - int orow,irow0,irow1; + unsigned char *dst, *src0, *src1; + int orow, irow0, irow1; - if (palette==WEED_PALETTE_RGBA32||palette==WEED_PALETTE_BGRA32||palette==WEED_PALETTE_ARGB32||palette==WEED_PALETTE_YUVA8888) psize=4; + if (palette == WEED_PALETTE_RGBA32 || palette == WEED_PALETTE_BGRA32 || palette == WEED_PALETTE_ARGB32 || + palette == WEED_PALETTE_YUVA8888) psize = 4; - sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); + sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); - if (sdata->xmap==NULL||sdata->ymap==NULL) return WEED_NO_ERROR; + if (sdata->xmap == NULL || sdata->ymap == NULL) return WEED_NO_ERROR; - dst=weed_get_voidptr_value(out_channel,"pixel_data",&error); - src0=weed_get_voidptr_value(in_channels[0],"pixel_data",&error); - src1=weed_get_voidptr_value(in_channels[1],"pixel_data",&error); + dst = weed_get_voidptr_value(out_channel, "pixel_data", &error); + src0 = weed_get_voidptr_value(in_channels[0], "pixel_data", &error); + src1 = weed_get_voidptr_value(in_channels[1], "pixel_data", &error); - orow=weed_get_int_value(out_channel,"rowstrides",&error); - irow0=weed_get_int_value(in_channels[0],"rowstrides",&error); - irow1=weed_get_int_value(in_channels[1],"rowstrides",&error); + orow = weed_get_int_value(out_channel, "rowstrides", &error); + irow0 = weed_get_int_value(in_channels[0], "rowstrides", &error); + irow1 = weed_get_int_value(in_channels[1], "rowstrides", &error); // new threading arch - if (weed_plant_has_leaf(out_channel,"offset")) { - offset=weed_get_int_value(out_channel,"offset",&error); - int dheight=weed_get_int_value(out_channel,"height",&error); - height=offset+dheight; - dst+=offset*orow; - src1+=offset*irow1; + if (weed_plant_has_leaf(out_channel, "offset")) { + offset = weed_get_int_value(out_channel, "offset", &error); + int dheight = weed_get_int_value(out_channel, "height", &error); + height = offset + dheight; + dst += offset * orow; + src1 += offset * irow1; } - pos=offset*width; - orow-=width*psize; - irow1-=width*psize; + pos = offset * width; + orow -= width * psize; + irow1 -= width * psize; - for (i=offset; i<height; i++) { - for (j=0; j<width; j++) { - if (sdata->xmap[pos]==-1||sdata->ymap[pos]==-1) { + for (i = offset; i < height; i++) { + for (j = 0; j < width; j++) { + if (sdata->xmap[pos] == -1 || sdata->ymap[pos] == -1) { // map bg pixel to dst - weed_memcpy(dst,src1,psize); + weed_memcpy(dst, src1, psize); } else { // remap fg pixel - weed_memcpy(dst,src0+sdata->ymap[pos]*irow0+sdata->xmap[pos]*psize,psize); + weed_memcpy(dst, src0 + sdata->ymap[pos]*irow0 + sdata->xmap[pos]*psize, psize); } - dst+=psize; - src1+=psize; + dst += psize; + src1 += psize; pos++; } - dst+=orow; - src1+=irow1; + dst += orow; + src1 += irow1; } weed_free(in_channels); @@ -297,51 +299,52 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_BGR24,WEED_PALETTE_RGB24,WEED_PALETTE_RGBA32,WEED_PALETTE_BGRA32,WEED_PALETTE_ARGB32,WEED_PALETTE_YUV888,WEED_PALETTE_YUVA8888,WEED_PALETTE_END}; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_BGR24, WEED_PALETTE_RGB24, WEED_PALETTE_RGBA32, WEED_PALETTE_BGRA32, WEED_PALETTE_ARGB32, WEED_PALETTE_YUV888, WEED_PALETTE_YUVA8888, WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",0,palette_list),weed_channel_template_init("in channel 1",0,palette_list),NULL}; + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", 0, palette_list), weed_channel_template_init("in channel 1", 0, palette_list), NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",WEED_CHANNEL_REINIT_ON_SIZE_CHANGE,palette_list),NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", WEED_CHANNEL_REINIT_ON_SIZE_CHANGE, palette_list), NULL}; weed_plant_t *filter_class; - weed_plant_t *in_params[3],*gui; - char *rfx_strings[]= {"special|fileread|0|"}; - const char *modes[]= {"normal","stretch",NULL}; - - char *defmaskfile=g_build_filename(g_get_home_dir(), "mask.png", NULL); - int flags,error; - - in_params[0]=weed_text_init("maskfile","_Mask file (.png or .jpg)",defmaskfile); - gui=weed_parameter_template_get_gui(in_params[0]); - weed_set_int_value(gui,"maxchars",80); // for display only - fileread will override this - flags=0; - if (weed_plant_has_leaf(in_params[0],"flags")) - flags=weed_get_int_value(in_params[0],"flags",&error); - flags|=WEED_PARAMETER_REINIT_ON_VALUE_CHANGE; - weed_set_int_value(in_params[0],"flags",flags); - - in_params[1]=weed_string_list_init("mode","Effect _mode",0,modes); - flags=0; - if (weed_plant_has_leaf(in_params[1],"flags")) - flags=weed_get_int_value(in_params[1],"flags",&error); - flags|=WEED_PARAMETER_REINIT_ON_VALUE_CHANGE; - weed_set_int_value(in_params[1],"flags",flags); - in_params[2]=NULL; + weed_plant_t *in_params[3], *gui; + char *rfx_strings[] = {"special|fileread|0|"}; + const char *modes[] = {"normal", "stretch", NULL}; + + char *defmaskfile = g_build_filename(g_get_home_dir(), "mask.png", NULL); + int flags, error; + + in_params[0] = weed_text_init("maskfile", "_Mask file (.png or .jpg)", defmaskfile); + gui = weed_parameter_template_get_gui(in_params[0]); + weed_set_int_value(gui, "maxchars", 80); // for display only - fileread will override this + flags = 0; + if (weed_plant_has_leaf(in_params[0], "flags")) + flags = weed_get_int_value(in_params[0], "flags", &error); + flags |= WEED_PARAMETER_REINIT_ON_VALUE_CHANGE; + weed_set_int_value(in_params[0], "flags", flags); + + in_params[1] = weed_string_list_init("mode", "Effect _mode", 0, modes); + flags = 0; + if (weed_plant_has_leaf(in_params[1], "flags")) + flags = weed_get_int_value(in_params[1], "flags", &error); + flags |= WEED_PARAMETER_REINIT_ON_VALUE_CHANGE; + weed_set_int_value(in_params[1], "flags", flags); + in_params[2] = NULL; weed_free(defmaskfile); - filter_class=weed_filter_class_init("mask_overlay","salsaman",1,WEED_FILTER_HINT_MAY_THREAD,&masko_init,&masko_process,&masko_deinit, - in_chantmpls,out_chantmpls,in_params,NULL); + filter_class = weed_filter_class_init("mask_overlay", "salsaman", 1, WEED_FILTER_HINT_MAY_THREAD, &masko_init, &masko_process, + &masko_deinit, + in_chantmpls, out_chantmpls, in_params, NULL); - gui=weed_filter_class_get_gui(filter_class); - weed_set_string_value(gui,"layout_scheme","RFX"); - weed_set_string_value(gui,"rfx_delim","|"); - weed_set_string_array(gui,"rfx_strings",1,rfx_strings); + gui = weed_filter_class_get_gui(filter_class); + weed_set_string_value(gui, "layout_scheme", "RFX"); + weed_set_string_value(gui, "rfx_delim", "|"); + weed_set_string_array(gui, "rfx_strings", 1, rfx_strings); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info;
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/gdk/puretext.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/gdk/puretext.c
Changed
@@ -17,10 +17,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=2; // version of this package +static int package_version = 2; // version of this package ////////////////////////////////////////////////////////////////// @@ -62,7 +62,7 @@ // defines for configure dialog elements enum DlgControls { - P_TEXT=0, + P_TEXT = 0, P_MODE, P_END }; @@ -91,7 +91,7 @@ typedef enum { - PT_SPIRAL_TEXT=0, + PT_SPIRAL_TEXT = 0, PT_SPINNING_LETTERS, PT_LETTER_STARFIELD, PT_WORD_COALESCE @@ -195,57 +195,57 @@ static void init_unal(void) { // premult to postmult and vice-versa - register int i,j; + register int i, j; - for (i=0; i<256; i++) { //alpha val - for (j=0; j<256; j++) { // val to be converted - unal[i][j]=(float)j*255./(float)i; - al[i][j]=(float)j*(float)i/255.; + for (i = 0; i < 256; i++) { //alpha val + for (j = 0; j < 256; j++) { // val to be converted + unal[i][j] = (float)j * 255. / (float)i; + al[i][j] = (float)j * (float)i / 255.; } } } static void alpha_unpremult(guchar *ptr, int width, int height, int rowstride, int pal, int un) { - int aoffs,coffs,psizel; + int aoffs, coffs, psizel; int alpha; - int psize=4; + int psize = 4; - register int i,j,p; + register int i, j, p; switch (pal) { case WEED_PALETTE_BGRA32: - psizel=3; - coffs=0; - aoffs=3; + psizel = 3; + coffs = 0; + aoffs = 3; break; case WEED_PALETTE_ARGB32: - psizel=4; - coffs=1; - aoffs=0; + psizel = 4; + coffs = 1; + aoffs = 0; break; default: return; } if (un) { - for (i=0; i<height; i++) { - for (j=0; j<width; j+=psize) { - alpha=ptr[j+aoffs]; - for (p=coffs; p<psizel; p++) { - ptr[j+p]=unal[alpha][ptr[j+p]]; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j += psize) { + alpha = ptr[j + aoffs]; + for (p = coffs; p < psizel; p++) { + ptr[j + p] = unal[alpha][ptr[j + p]]; } } - ptr+=rowstride; + ptr += rowstride; } } else { - for (i=0; i<height; i++) { - for (j=0; j<width; j+=psize) { - alpha=ptr[j+aoffs]; - for (p=coffs; p<psizel; p++) { - ptr[j+p]=al[alpha][ptr[j+p]]; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j += psize) { + alpha = ptr[j + aoffs]; + for (p = coffs; p < psizel; p++) { + ptr[j + p] = al[alpha][ptr[j + p]]; } } - ptr+=rowstride; + ptr += rowstride; } } @@ -260,65 +260,65 @@ // "width","rowstrides" and "current_palette" of channel may all change - int irowstride,orowstride; - int width,widthx; + int irowstride, orowstride; + int width, widthx; int height; int pal; int error; - int flags=0; + int flags = 0; register int i; - guchar *src,*dst,*pixel_data; + guchar *src, *dst, *pixel_data; cairo_surface_t *surf; cairo_t *cairo; - cairo_format_t cform=CAIRO_FORMAT_ARGB32; + cairo_format_t cform = CAIRO_FORMAT_ARGB32; - width=weed_get_int_value(channel,"width",&error); - height=weed_get_int_value(channel,"height",&error); - pal=weed_get_int_value(channel,"current_palette",&error); - irowstride=weed_get_int_value(channel,"rowstrides",&error); + width = weed_get_int_value(channel, "width", &error); + height = weed_get_int_value(channel, "height", &error); + pal = weed_get_int_value(channel, "current_palette", &error); + irowstride = weed_get_int_value(channel, "rowstrides", &error); - widthx=width*4; + widthx = width * 4; - orowstride=cairo_format_stride_for_width(cform,width); + orowstride = cairo_format_stride_for_width(cform, width); - src=(guchar *)weed_get_voidptr_value(channel,"pixel_data",&error); + src = (guchar *)weed_get_voidptr_value(channel, "pixel_data", &error); - pixel_data=(guchar *)weed_malloc(height*orowstride); + pixel_data = (guchar *)weed_malloc(height * orowstride); - if (pixel_data==NULL) return NULL; + if (pixel_data == NULL) return NULL; - if (irowstride==orowstride) { - weed_memcpy((void *)pixel_data,(void *)src,irowstride*height); + if (irowstride == orowstride) { + weed_memcpy((void *)pixel_data, (void *)src, irowstride * height); } else { - dst=pixel_data; - for (i=0; i<height; i++) { - weed_memcpy((void *)dst,(void *)src,widthx); - weed_memset((void *)dst+widthx,0,widthx-orowstride); - dst+=orowstride; - src+=irowstride; + dst = pixel_data; + for (i = 0; i < height; i++) { + weed_memcpy((void *)dst, (void *)src, widthx); + weed_memset((void *)dst + widthx, 0, widthx - orowstride); + dst += orowstride; + src += irowstride; } } - if (weed_plant_has_leaf(channel,"flags")) flags=weed_get_int_value(channel,"flags",&error); - if (!(flags&WEED_CHANNEL_ALPHA_PREMULT)) { + if (weed_plant_has_leaf(channel, "flags")) flags = weed_get_int_value(channel, "flags", &error); + if (!(flags & WEED_CHANNEL_ALPHA_PREMULT)) { // if we have post-multiplied alpha, pre multiply - alpha_unpremult(pixel_data,widthx,height,orowstride,pal,FALSE); + alpha_unpremult(pixel_data, widthx, height, orowstride, pal, FALSE); } - surf=cairo_image_surface_create_for_data(pixel_data, - cform, - width, height, - orowstride); + surf = cairo_image_surface_create_for_data(pixel_data, + cform, + width, height, + orowstride); - if (surf==NULL) { + if (surf == NULL) { weed_free(pixel_data); return NULL; } - cairo=cairo_create(surf); + cairo = cairo_create(surf); cairo_surface_destroy(surf); weed_free(pixel_data); @@ -329,19 +329,19 @@ static void cairo_to_channel(cairo_t *cairo, weed_plant_t *channel) { // updates a weed_channel from a cairo_t - cairo_surface_t *surface=cairo_get_target(cairo); + cairo_surface_t *surface = cairo_get_target(cairo); - cairo_format_t cform=CAIRO_FORMAT_ARGB32; + cairo_format_t cform = CAIRO_FORMAT_ARGB32; int error; - guchar *src,*dst,*pixel_data=(guchar *)weed_get_voidptr_value(channel,"pixel_data",&error); + guchar *src, *dst, *pixel_data = (guchar *)weed_get_voidptr_value(channel, "pixel_data", &error); - int flags=0; + int flags = 0; - int height=weed_get_int_value(channel,"height",&error); - int irowstride,orowstride=weed_get_int_value(channel,"rowstrides",&error); - int width=weed_get_int_value(channel,"width",&error),widthx=width*4; + int height = weed_get_int_value(channel, "height", &error); + int irowstride, orowstride = weed_get_int_value(channel, "rowstrides", &error); + int width = weed_get_int_value(channel, "width", &error), widthx = width * 4; register int i; @@ -350,27 +350,27 @@ src = cairo_image_surface_get_data(surface); - irowstride=cairo_format_stride_for_width(cform,width); + irowstride = cairo_format_stride_for_width(cform, width); - if (irowstride==orowstride) { - weed_memcpy((void *)pixel_data,(void *)src,irowstride*height); + if (irowstride == orowstride) { + weed_memcpy((void *)pixel_data, (void *)src, irowstride * height); } else { - dst=pixel_data; - for (i=0; i<height; i++) { - weed_memcpy((void *)dst,(void *)src,widthx); - weed_memset((void *)(dst+widthx),0,widthx-orowstride); - dst+=orowstride; - src+=irowstride; + dst = pixel_data; + for (i = 0; i < height; i++) { + weed_memcpy((void *)dst, (void *)src, widthx); + weed_memset((void *)(dst + widthx), 0, widthx - orowstride); + dst += orowstride; + src += irowstride; } } - if (weed_plant_has_leaf(channel,"flags")) flags=weed_get_int_value(channel,"flags",&error); - if (!(flags&WEED_CHANNEL_ALPHA_PREMULT)) { - int pal=weed_get_int_value(channel,"current_palette",&error); + if (weed_plant_has_leaf(channel, "flags")) flags = weed_get_int_value(channel, "flags", &error); + if (!(flags & WEED_CHANNEL_ALPHA_PREMULT)) { + int pal = weed_get_int_value(channel, "current_palette", &error); // un-premultiply the alpha - alpha_unpremult(pixel_data,widthx,height,orowstride,pal,TRUE); + alpha_unpremult(pixel_data, widthx, height, orowstride, pal, TRUE); } @@ -383,29 +383,29 @@ // work around some **weirdness** with strndup static char *stringdup(const char *s, size_t n) { char *ret; - size_t len=strlen(s); - if (len>=n) len=n-1; - ret=weed_malloc(len+1); - weed_memcpy(ret,s,len); - weed_memset(ret+len,0,1); + size_t len = strlen(s); + if (len >= n) len = n - 1; + ret = weed_malloc(len + 1); + weed_memcpy(ret, s, len); + weed_memset(ret + len, 0, 1); return ret; } static size_t utf8len(char *text) { - register size_t toffs=0; - while (text[toffs]!='\0') { - toffs+=mbtowc(NULL,&text[toffs],4); + register size_t toffs = 0; + while (text[toffs] != '\0') { + toffs += mbtowc(NULL, &text[toffs], 4); } return toffs; } static size_t utf8offs(char *text, int xoffs) { - register size_t toffs=0; - while (text[toffs]!='\0'&&xoffs>0) { - toffs+=mbtowc(NULL,&text[toffs],4); + register size_t toffs = 0; + while (text[toffs] != '\0' && xoffs > 0) { + toffs += mbtowc(NULL, &text[toffs], 4); xoffs--; } return toffs; @@ -414,15 +414,15 @@ static size_t get_ascii_word_length(char *text) { // get length in words (non-spaces) - register size_t toffs=0; - int count=0; - gboolean isaspace=TRUE; + register size_t toffs = 0; + int count = 0; + gboolean isaspace = TRUE; - while (text[toffs]!='\0') { - if (isspace(text[toffs])) isaspace=TRUE; + while (text[toffs] != '\0') { + if (isspace(text[toffs])) isaspace = TRUE; else if (isaspace) { count++; - isaspace=FALSE; + isaspace = FALSE; } toffs++; } @@ -432,17 +432,17 @@ static size_t get_utf8_word_length(char *text) { // get length in words (non-spaces) - register size_t toffs=0; - int count=0; - gboolean isaspace=TRUE; + register size_t toffs = 0; + int count = 0; + gboolean isaspace = TRUE; - while (text[toffs]!='\0') { + while (text[toffs] != '\0') { wchar_t pwc; - toffs+=mbtowc(&pwc,&text[toffs],4); - if (iswspace(pwc)) isaspace=TRUE; + toffs += mbtowc(&pwc, &text[toffs], 4); + if (iswspace(pwc)) isaspace = TRUE; else if (isaspace) { count++; - isaspace=FALSE; + isaspace = FALSE; } } return count; @@ -453,29 +453,29 @@ // get nth word, return start (bytes) and length (bytes) // idx==0 for first word, etc - register size_t toffs=0,xtoffs; - gboolean isaspace=TRUE; + register size_t toffs = 0, xtoffs; + gboolean isaspace = TRUE; - pt_subst_t *subst=(pt_subst_t *)weed_malloc(sizeof(pt_subst_t)); - subst->start=0; + pt_subst_t *subst = (pt_subst_t *)weed_malloc(sizeof(pt_subst_t)); + subst->start = 0; - while (text[toffs]!='\0') { + while (text[toffs] != '\0') { wchar_t pwc; - xtoffs=mbtowc(&pwc,&text[toffs],4); + xtoffs = mbtowc(&pwc, &text[toffs], 4); if (iswspace(pwc)) { - if (idx==-1) { - subst->length=toffs-subst->start; + if (idx == -1) { + subst->length = toffs - subst->start; return subst; } - isaspace=TRUE; + isaspace = TRUE; } else if (isaspace) { - if (--idx==-1) subst->start=toffs; - isaspace=FALSE; + if (--idx == -1) subst->start = toffs; + isaspace = FALSE; } - toffs+=xtoffs; + toffs += xtoffs; } - subst->length=toffs-subst->start; + subst->length = toffs - subst->start; return subst; } @@ -484,27 +484,27 @@ // get nth word, return start (bytes) and length (bytes) // idx==0 for first word, etc - register size_t toffs=0; - gboolean isaspace=TRUE; + register size_t toffs = 0; + gboolean isaspace = TRUE; - pt_subst_t *subst=(pt_subst_t *)weed_malloc(sizeof(pt_subst_t)); - subst->start=0; + pt_subst_t *subst = (pt_subst_t *)weed_malloc(sizeof(pt_subst_t)); + subst->start = 0; - while (text[toffs]!='\0') { + while (text[toffs] != '\0') { if (isspace(text[toffs])) { - if (idx==-1) { - subst->length=toffs-subst->start; + if (idx == -1) { + subst->length = toffs - subst->start; return subst; } - isaspace=TRUE; + isaspace = TRUE; } else if (isaspace) { - if (--idx==-1) subst->start=toffs; - isaspace=FALSE; + if (--idx == -1) subst->start = toffs; + isaspace = FALSE; } toffs++; } - subst->length=toffs-subst->start; + subst->length = toffs - subst->start; return subst; } @@ -516,23 +516,23 @@ int w_, h_; pango_layout_get_size(layout, &w_, &h_); if (pw) - *pw = ((double)w_)/PANGO_SCALE; + *pw = ((double)w_) / PANGO_SCALE; if (ph) - *ph = ((double)h_)/PANGO_SCALE; + *ph = ((double)h_) / PANGO_SCALE; } static inline void pt_set_alarm(sdata_t *sdata, int delta) { - sdata->alarm=FALSE; - if (delta<0) sdata->alarm_time=-1.; - else sdata->alarm_time=sdata->timer+(float)delta/1000.; + sdata->alarm = FALSE; + if (delta < 0) sdata->alarm_time = -1.; + else sdata->alarm_time = sdata->timer + (float)delta / 1000.; } static void setxypos(double dwidth, double dheight, double x, double y, int *x_text, int *y_text) { // set top left corner offset given center point and glyph dimensions - *x_text=x-dwidth/2.+.5; - *y_text=y-dheight/2.+.5; + *x_text = x - dwidth / 2. + .5; + *y_text = y - dheight / 2. + .5; } @@ -540,7 +540,7 @@ // set font size static void set_font_size(PangoLayout *layout, PangoFontDescription *font, int font_size) { - pango_font_description_set_size(font, font_size*PANGO_SCALE); + pango_font_description_set_size(font, font_size * PANGO_SCALE); pango_layout_set_font_description(layout, font); } @@ -548,43 +548,43 @@ static void anim_letter(pt_letter_data_t *ldt) { // update velocities and positions - ldt->xvel+=ldt->xaccel; - ldt->yvel+=ldt->yaccel; - ldt->zvel+=ldt->zaccel; - ldt->rotvel+=ldt->rotaccel; + ldt->xvel += ldt->xaccel; + ldt->yvel += ldt->yaccel; + ldt->zvel += ldt->zaccel; + ldt->rotvel += ldt->rotaccel; - ldt->xpos+=ldt->xvel; - ldt->ypos+=ldt->yvel; - ldt->zpos+=ldt->zvel; - ldt->rot+=ldt->rotvel; + ldt->xpos += ldt->xvel; + ldt->ypos += ldt->yvel; + ldt->zpos += ldt->zvel; + ldt->rot += ldt->rotvel; } static void colour_copy(rgb_t *col1, rgb_t *col2) { // copy col2 to col1 - weed_memcpy(col1,col2,sizeof(rgb_t)); + weed_memcpy(col1, col2, sizeof(rgb_t)); } static inline double rand_angle(void) { // return a random double between 0. and 2*M_PI - return (double)rand()/(double)RAND_MAX*2.*M_PI; + return (double)rand() / (double)RAND_MAX * 2.*M_PI; } static int getrandi(int min, int max) { - return rand()%(max-min)+min; + return rand() % (max - min) + min; } static pt_letter_data_t *letter_data_create(int len) { - pt_letter_data_t *ldt=(pt_letter_data_t *)weed_malloc(sizeof(pt_letter_data_t)*len); + pt_letter_data_t *ldt = (pt_letter_data_t *)weed_malloc(sizeof(pt_letter_data_t) * len); return ldt; } static void letter_data_free(sdata_t *sdata) { weed_free(sdata->letter_data); - sdata->letter_data=NULL; + sdata->letter_data = NULL; } static void rotate_text(cairo_t *cairo, PangoLayout *layout, int x_center, int y_center, double radians) { @@ -598,70 +598,70 @@ static void proctext(sdata_t *sdata, weed_timecode_t tc, char *xtext, cairo_t *cairo, PangoLayout *layout, PangoFontDescription *font, int width, int height) { - double dwidth,dheight; - double radX,radY; + double dwidth, dheight; + double radX, radY; switch (sdata->mode) { case (PT_WORD_COALESCE): - if (sdata->timer==0.) { - sdata->start=-1; - sdata->length=1; - sdata->tmode=PT_WORD_MODE; + if (sdata->timer == 0.) { + sdata->start = -1; + sdata->length = 1; + sdata->tmode = PT_WORD_MODE; } - if (sdata->start>-1) { - set_font_size(layout,font,64); + if (sdata->start > -1) { + set_font_size(layout, font, 64); // get pixel size of word getlsize(layout, &dwidth, &dheight); - setxypos(dwidth,dheight,width/2,height/2,&sdata->x_text,&sdata->y_text); + setxypos(dwidth, dheight, width / 2, height / 2, &sdata->x_text, &sdata->y_text); - sdata->dbl1-=sdata->dbl1/3.5+.5; // blur shrink - sdata->dbl2+=.07; - sdata->fg_alpha=sdata->dbl2; + sdata->dbl1 -= sdata->dbl1 / 3.5 + .5; // blur shrink + sdata->dbl2 += .07; + sdata->fg_alpha = sdata->dbl2; } if (sdata->alarm) { pt_subst_t *xsubst; char nxlast; - sdata->bool1=!sdata->bool1; - sdata->dbl1=300.; // blur start - sdata->fg_alpha=sdata->dbl2=0.; + sdata->bool1 = !sdata->bool1; + sdata->dbl1 = 300.; // blur start + sdata->fg_alpha = sdata->dbl2 = 0.; - if (sdata->length>0) { + if (sdata->length > 0) { sdata->start++; - if (sdata->start>=sdata->wlength) { - sdata->start=0; - sdata->length=0; - sdata->dbl1=0.; - pt_set_alarm(sdata,1000); // milliseconds + if (sdata->start >= sdata->wlength) { + sdata->start = 0; + sdata->length = 0; + sdata->dbl1 = 0.; + pt_set_alarm(sdata, 1000); // milliseconds } } else { - sdata->length=1; - sdata->bool1=TRUE; + sdata->length = 1; + sdata->bool1 = TRUE; } - if (sdata->length>0) { - if (sdata->start==sdata->wlength-1) { - pt_set_alarm(sdata,1000); // milliseconds + if (sdata->length > 0) { + if (sdata->start == sdata->wlength - 1) { + pt_set_alarm(sdata, 1000); // milliseconds } else { // peek at last char of next word - if (sdata->text_type==TEXT_TYPE_ASCII) { - xsubst=get_nth_word_ascii(sdata->text,sdata->start); + if (sdata->text_type == TEXT_TYPE_ASCII) { + xsubst = get_nth_word_ascii(sdata->text, sdata->start); } else { - xsubst=get_nth_word_utf8(sdata->text,sdata->start); + xsubst = get_nth_word_utf8(sdata->text, sdata->start); } - nxlast=sdata->text[xsubst->start+xsubst->length-1]; + nxlast = sdata->text[xsubst->start + xsubst->length - 1]; weed_free(xsubst); - if (nxlast=='.'||nxlast=='!'||nxlast=='?') pt_set_alarm(sdata,1000); // milliseconds - else if (nxlast==',') pt_set_alarm(sdata,700); // milliseconds - else if (nxlast==';') pt_set_alarm(sdata,800); // milliseconds - else pt_set_alarm(sdata,500); // milliseconds + if (nxlast == '.' || nxlast == '!' || nxlast == '?') pt_set_alarm(sdata, 1000); // milliseconds + else if (nxlast == ',') pt_set_alarm(sdata, 700); // milliseconds + else if (nxlast == ';') pt_set_alarm(sdata, 800); // milliseconds + else pt_set_alarm(sdata, 500); // milliseconds } } } @@ -669,34 +669,34 @@ break; case (PT_LETTER_STARFIELD): - if (sdata->timer==0.) { - sdata->start=0; - sdata->length=0; + if (sdata->timer == 0.) { + sdata->start = 0; + sdata->length = 0; - sdata->tmode=PT_LETTER_MODE; + sdata->tmode = PT_LETTER_MODE; - sdata->letter_data=letter_data_create(sdata->tlength); + sdata->letter_data = letter_data_create(sdata->tlength); } - if (sdata->length>0) { - pt_letter_data_t *ldt=&sdata->letter_data[sdata->count]; - double dist=ldt->zpos; - if (dist>1.) { - set_font_size(layout,font,1024./dist); + if (sdata->length > 0) { + pt_letter_data_t *ldt = &sdata->letter_data[sdata->count]; + double dist = ldt->zpos; + if (dist > 1.) { + set_font_size(layout, font, 1024. / dist); // get pixel size of letter/word getlsize(layout, &dwidth, &dheight); - sdata->x_text=ldt->xpos/dist+(double)width/2.; - sdata->y_text=ldt->ypos/dist+(double)height/2.; + sdata->x_text = ldt->xpos / dist + (double)width / 2.; + sdata->y_text = ldt->ypos / dist + (double)height / 2.; - setxypos(dwidth,dheight,sdata->x_text,sdata->y_text,&sdata->x_text,&sdata->y_text); + setxypos(dwidth, dheight, sdata->x_text, sdata->y_text, &sdata->x_text, &sdata->y_text); - sdata->fg_alpha=dist/100.+.5; + sdata->fg_alpha = dist / 100. + .5; anim_letter(ldt); - colour_copy(&sdata->fg,&ldt->colour); + colour_copy(&sdata->fg, &ldt->colour); } else pango_layout_set_text(layout, "", -1); @@ -704,149 +704,149 @@ if (sdata->alarm) { // set values for next letter - pt_letter_data_t *ldt=&sdata->letter_data[sdata->length]; - double angle=rand_angle(); + pt_letter_data_t *ldt = &sdata->letter_data[sdata->length]; + double angle = rand_angle(); - ldt->xpos=ldt->ypos=ldt->rot=ldt->rotvel=0.; - ldt->zpos=80.+sdata->length; + ldt->xpos = ldt->ypos = ldt->rot = ldt->rotvel = 0.; + ldt->zpos = 80. + sdata->length; - if (ldt->zpos>100.) ldt->zpos=100.; + if (ldt->zpos > 100.) ldt->zpos = 100.; - ldt->xvel=sin(angle)*16.; - ldt->yvel=cos(angle)*16.; - ldt->zvel=-2.; + ldt->xvel = sin(angle) * 16.; + ldt->yvel = cos(angle) * 16.; + ldt->zvel = -2.; - ldt->xaccel=ldt->yaccel=ldt->zaccel=ldt->rotaccel=0.; + ldt->xaccel = ldt->yaccel = ldt->zaccel = ldt->rotaccel = 0.; - if (sdata->length==0||!strncmp(&sdata->text[utf8offs(sdata->text,sdata->length)]," ",1)) { - ldt->colour.red=getrandi(60,255); - ldt->colour.green=getrandi(60,255); - ldt->colour.blue=getrandi(60,255); + if (sdata->length == 0 || !strncmp(&sdata->text[utf8offs(sdata->text, sdata->length)], " ", 1)) { + ldt->colour.red = getrandi(60, 255); + ldt->colour.green = getrandi(60, 255); + ldt->colour.blue = getrandi(60, 255); } else { - colour_copy(&ldt->colour,&(sdata->letter_data[sdata->length-1].colour)); + colour_copy(&ldt->colour, &(sdata->letter_data[sdata->length - 1].colour)); } sdata->length++; - if (sdata->length<sdata->tlength) pt_set_alarm(sdata,400); // milliseconds - else pt_set_alarm(sdata,-1); + if (sdata->length < sdata->tlength) pt_set_alarm(sdata, 400); // milliseconds + else pt_set_alarm(sdata, -1); } break; case (PT_SPINNING_LETTERS): - if (sdata->timer==0.) { - sdata->int1=0; + if (sdata->timer == 0.) { + sdata->int1 = 0; // select all text - sdata->start=0; - sdata->length=sdata->tlength; + sdata->start = 0; + sdata->length = sdata->tlength; - sdata->tmode=PT_LETTER_MODE; - sdata->dbl3=0.; + sdata->tmode = PT_LETTER_MODE; + sdata->dbl3 = 0.; } if (!sdata->count) { - sdata->dbl1=0.; - sdata->dbl2=sdata->dbl3; - sdata->dbl3+=.1; + sdata->dbl1 = 0.; + sdata->dbl2 = sdata->dbl3; + sdata->dbl3 += .1; } - set_font_size(layout,font,64); + set_font_size(layout, font, 64); - sdata->x_text=width-sdata->int1+sdata->dbl1; - sdata->y_text=height/2; + sdata->x_text = width - sdata->int1 + sdata->dbl1; + sdata->y_text = height / 2; // rotate letter - rotate_text(cairo,layout,sdata->x_text,sdata->y_text,sdata->dbl2); + rotate_text(cairo, layout, sdata->x_text, sdata->y_text, sdata->dbl2); // must re-center after rotating - sdata->x_text=sdata->y_text=0; + sdata->x_text = sdata->y_text = 0; // get pixel size of letter/word getlsize(layout, &dwidth, &dheight); - sdata->dbl1+=dwidth+10.; + sdata->dbl1 += dwidth + 10.; - setxypos(0,dheight,sdata->x_text,sdata->y_text,&sdata->x_text,&sdata->y_text); + setxypos(0, dheight, sdata->x_text, sdata->y_text, &sdata->x_text, &sdata->y_text); if (sdata->alarm) { - pt_set_alarm(sdata,25); // milliseconds + pt_set_alarm(sdata, 25); // milliseconds // shift rate - sdata->int1+=8; + sdata->int1 += 8; } // spin rate - sdata->dbl2+=.1; + sdata->dbl2 += .1; break; case (PT_SPIRAL_TEXT): - if (sdata->timer==0.) { - sdata->int1=0; - sdata->start=0; - sdata->tmode=PT_LETTER_MODE; + if (sdata->timer == 0.) { + sdata->int1 = 0; + sdata->start = 0; + sdata->tmode = PT_LETTER_MODE; } - set_font_size(layout,font,2560./(sdata->count+19.)); + set_font_size(layout, font, 2560. / (sdata->count + 19.)); // get pixel size of letter/word getlsize(layout, &dwidth, &dheight); // expansion factor - if (sdata->int1<2) { - sdata->dbl3=1.; - sdata->bool1=FALSE; - } else sdata->dbl3+=.0001; + if (sdata->int1 < 2) { + sdata->dbl3 = 1.; + sdata->bool1 = FALSE; + } else sdata->dbl3 += .0001; // set x_text, y_text if (!sdata->count) { - sdata->dbl1=radX=width*.45*sdata->dbl3; - sdata->dbl2=radY=height*.45*sdata->dbl3; + sdata->dbl1 = radX = width * .45 * sdata->dbl3; + sdata->dbl2 = radY = height * .45 * sdata->dbl3; } else { if (!sdata->bool1) { - sdata->dbl1=radX=sdata->dbl1*.98; - sdata->dbl2=radY=sdata->dbl2*.98; + sdata->dbl1 = radX = sdata->dbl1 * .98; + sdata->dbl2 = radY = sdata->dbl2 * .98; } else { - sdata->dbl1=radX=sdata->dbl1*.97; - sdata->dbl2=radY=sdata->dbl2*.97; + sdata->dbl1 = radX = sdata->dbl1 * .97; + sdata->dbl2 = radY = sdata->dbl2 * .97; } } if (sdata->bool1) - setxypos(dwidth,dheight,width/2+sin(sdata->count/4.+(sdata->dbl3-1.)*9.)*radX, - height/2-cos(-sdata->count/4.-(sdata->dbl3-1.)*8.)*radY,&sdata->x_text,&sdata->y_text); + setxypos(dwidth, dheight, width / 2 + sin(sdata->count / 4. + (sdata->dbl3 - 1.) * 9.)*radX, + height / 2 - cos(-sdata->count / 4. - (sdata->dbl3 - 1.) * 8.)*radY, &sdata->x_text, &sdata->y_text); else - setxypos(dwidth,dheight,width/2+sin(sdata->count/4.+(sdata->dbl3-1.)*8.)*radX, - height/2-cos(-sdata->count/4.-(sdata->dbl3-1.)*8.)*radY,&sdata->x_text,&sdata->y_text); + setxypos(dwidth, dheight, width / 2 + sin(sdata->count / 4. + (sdata->dbl3 - 1.) * 8.)*radX, + height / 2 - cos(-sdata->count / 4. - (sdata->dbl3 - 1.) * 8.)*radY, &sdata->x_text, &sdata->y_text); - if (!strncmp(xtext,".",1)) sdata->int1++; + if (!strncmp(xtext, ".", 1)) sdata->int1++; if (sdata->alarm) { - pt_set_alarm(sdata,250); // milliseconds - if (sdata->start+sdata->length<sdata->tlength) { + pt_set_alarm(sdata, 250); // milliseconds + if (sdata->start + sdata->length < sdata->tlength) { // add an extra letter sdata->length++; } else { - sdata->length-=2; - sdata->start+=2; - sdata->dbl3-=.0002; + sdata->length -= 2; + sdata->start += 2; + sdata->dbl3 -= .0002; - sdata->dbl1=sdata->dbl1*.97; - sdata->dbl2=radY=sdata->dbl2*.97; + sdata->dbl1 = sdata->dbl1 * .97; + sdata->dbl2 = radY = sdata->dbl2 * .97; // trip to lissajou - if (!sdata->bool1) sdata->bool1=TRUE; + if (!sdata->bool1) sdata->bool1 = TRUE; - if (sdata->length<=0) { - sdata->length=1; - sdata->start=0; - sdata->bool1=FALSE; - sdata->dbl3=-sdata->dbl3/12.; - } else pt_set_alarm(sdata,50); // milliseconds + if (sdata->length <= 0) { + sdata->length = 1; + sdata->start = 0; + sdata->bool1 = FALSE; + sdata->dbl3 = -sdata->dbl3 / 12.; + } else pt_set_alarm(sdata, 50); // milliseconds } @@ -859,64 +859,64 @@ int puretext_init(weed_plant_t *inst) { - int error,fd; - gboolean erropen=FALSE; - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); + int error, fd; + gboolean erropen = FALSE; + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); sdata_t *sdata; char buff[65536]; size_t b_read; - char *textfile=weed_get_string_value(in_params[P_TEXT],"value",&error); + char *textfile = weed_get_string_value(in_params[P_TEXT], "value", &error); // open file and read in text - if ((fd=open(textfile,O_RDONLY))==-1) { - erropen=TRUE; - g_snprintf(buff,512,"Error opening file %s",textfile); + if ((fd = open(textfile, O_RDONLY)) == -1) { + erropen = TRUE; + g_snprintf(buff, 512, "Error opening file %s", textfile); } weed_free(textfile); weed_free(in_params); - sdata=(sdata_t *)weed_malloc(sizeof(sdata_t)); + sdata = (sdata_t *)weed_malloc(sizeof(sdata_t)); - if (sdata==NULL) return WEED_ERROR_MEMORY_ALLOCATION; + if (sdata == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - sdata->timer=-1; - sdata->last_tc=0; - sdata->alarm_time=0.; - sdata->alarm=FALSE; + sdata->timer = -1; + sdata->last_tc = 0; + sdata->alarm_time = 0.; + sdata->alarm = FALSE; - sdata->text_type=TEXT_TYPE_UTF8; + sdata->text_type = TEXT_TYPE_UTF8; if (!erropen) { - b_read=read(fd,buff,65535); - memset(buff+b_read,0,1); + b_read = read(fd, buff, 65535); + memset(buff + b_read, 0, 1); close(fd); } - sdata->text=strdup(buff); + sdata->text = strdup(buff); - sdata->start=sdata->length=0; + sdata->start = sdata->length = 0; - if (sdata->text_type==TEXT_TYPE_ASCII) { - sdata->tlength=strlen(sdata->text); - sdata->wlength=get_ascii_word_length(sdata->text); + if (sdata->text_type == TEXT_TYPE_ASCII) { + sdata->tlength = strlen(sdata->text); + sdata->wlength = get_ascii_word_length(sdata->text); } else { - sdata->tlength=utf8len(sdata->text); - sdata->wlength=get_utf8_word_length(sdata->text); + sdata->tlength = utf8len(sdata->text); + sdata->wlength = get_utf8_word_length(sdata->text); } - sdata->int1=0; - sdata->dbl1=sdata->dbl2=sdata->dbl3=-1.; - sdata->bool1=FALSE; + sdata->int1 = 0; + sdata->dbl1 = sdata->dbl2 = sdata->dbl3 = -1.; + sdata->bool1 = FALSE; - sdata->letter_data=NULL; + sdata->letter_data = NULL; - sdata->mode=1; + sdata->mode = 1; - weed_set_voidptr_value(inst,"plugin_internal",sdata); + weed_set_voidptr_value(inst, "plugin_internal", sdata); return WEED_NO_ERROR; } @@ -925,11 +925,11 @@ int puretext_deinit(weed_plant_t *inst) { int error; - sdata_t *sdata=(sdata_t *)weed_get_voidptr_value(inst,"plugin_internal",&error); + sdata_t *sdata = (sdata_t *)weed_get_voidptr_value(inst, "plugin_internal", &error); - if (sdata!=NULL) { - if (sdata->letter_data!=NULL) letter_data_free(sdata); - if (sdata->text!=NULL) free(sdata->text); + if (sdata != NULL) { + if (sdata->letter_data != NULL) letter_data_free(sdata); + if (sdata->text != NULL) free(sdata->text); free(sdata); } @@ -942,65 +942,65 @@ int puretext_process(weed_plant_t *inst, weed_timecode_t tc) { int error; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error); - weed_plant_t *out_channel=weed_get_plantptr_value(inst,"out_channels",&error); - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error); + weed_plant_t *out_channel = weed_get_plantptr_value(inst, "out_channels", &error); + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); - sdata_t *sdata=(sdata_t *)weed_get_voidptr_value(inst,"plugin_internal",&error); + sdata_t *sdata = (sdata_t *)weed_get_voidptr_value(inst, "plugin_internal", &error); - guchar *bgdata=NULL; + guchar *bgdata = NULL; pt_subst_t *xsubst; cairo_t *cairo; - guchar *dst=weed_get_voidptr_value(out_channel,"pixel_data",&error); + guchar *dst = weed_get_voidptr_value(out_channel, "pixel_data", &error); size_t toffs; //int alpha_threshold = 0; - int orowstride=weed_get_int_value(out_channel,"rowstrides",&error); + int orowstride = weed_get_int_value(out_channel, "rowstrides", &error); - int width=weed_get_int_value(out_channel,"width",&error); - int height=weed_get_int_value(out_channel,"height",&error); + int width = weed_get_int_value(out_channel, "width", &error); + int height = weed_get_int_value(out_channel, "height", &error); - int mode=weed_get_int_value(in_params[P_MODE],"value",&error); + int mode = weed_get_int_value(in_params[P_MODE], "value", &error); - register int i,j; + register int i, j; weed_free(in_params); // must weed free because we got an array - if (mode!=sdata->mode) { - sdata->timer=-1.; - sdata->mode=mode; - sdata->alarm_time=0.; - if (sdata->letter_data!=NULL) letter_data_free(sdata); + if (mode != sdata->mode) { + sdata->timer = -1.; + sdata->mode = mode; + sdata->alarm_time = 0.; + if (sdata->letter_data != NULL) letter_data_free(sdata); } // set timer data and alarm status - if (sdata->timer==-1.||tc<sdata->last_tc) { - sdata->timer=0.; - sdata->length=0; + if (sdata->timer == -1. || tc < sdata->last_tc) { + sdata->timer = 0.; + sdata->length = 0; } else { - sdata->timer+=(double)(tc-sdata->last_tc)/100000000.; - sdata->alarm=FALSE; + sdata->timer += (double)(tc - sdata->last_tc) / 100000000.; + sdata->alarm = FALSE; } - if (sdata->alarm_time>-1.&&sdata->timer>=sdata->alarm_time) { - sdata->alarm_time=-1.; - sdata->alarm=TRUE; + if (sdata->alarm_time > -1. && sdata->timer >= sdata->alarm_time) { + sdata->alarm_time = -1.; + sdata->alarm = TRUE; } - sdata->last_tc=tc; + sdata->last_tc = tc; - sdata->count=0; + sdata->count = 0; - if (sdata->mode==PT_WORD_COALESCE) { + if (sdata->mode == PT_WORD_COALESCE) { // backup original data - bgdata=weed_malloc(height*orowstride); - weed_memcpy(bgdata,dst,height*orowstride); + bgdata = weed_malloc(height * orowstride); + weed_memcpy(bgdata, dst, height * orowstride); } @@ -1014,14 +1014,14 @@ if (cairo) { // TODO - get real offset of start in bytes - if (sdata->text_type==TEXT_TYPE_ASCII) { - toffs=sdata->start; + if (sdata->text_type == TEXT_TYPE_ASCII) { + toffs = sdata->start; } else { - toffs=utf8offs(sdata->text,sdata->start); + toffs = utf8offs(sdata->text, sdata->start); } // loop from start char to end char - for (i=sdata->start; i<sdata->start+(sdata->length==0?1:sdata->length); i++) { + for (i = sdata->start; i < sdata->start + (sdata->length == 0 ? 1 : sdata->length); i++) { PangoLayout *layout = pango_cairo_create_layout(cairo); if (layout) { PangoFontDescription *font; @@ -1034,38 +1034,38 @@ //if((num_fonts_available) && (fontnum >= 0) && (fontnum < num_fonts_available) && (fonts_available[fontnum])) pango_font_description_set_family(font, "Serif"); - if (sdata->length==0) { - xtext=weed_malloc(1); - weed_memset(xtext,0,1); + if (sdata->length == 0) { + xtext = weed_malloc(1); + weed_memset(xtext, 0, 1); } else { switch (sdata->tmode) { case PT_LETTER_MODE: // letter mode - if (sdata->text_type==TEXT_TYPE_ASCII) { - xtext=stringdup(&sdata->text[toffs],1); + if (sdata->text_type == TEXT_TYPE_ASCII) { + xtext = stringdup(&sdata->text[toffs], 1); toffs++; } else { - int xlen=mbtowc(NULL,&sdata->text[toffs],4); - xtext=stringdup(&sdata->text[toffs],xlen); - toffs+=xlen; + int xlen = mbtowc(NULL, &sdata->text[toffs], 4); + xtext = stringdup(&sdata->text[toffs], xlen); + toffs += xlen; } break; case PT_WORD_MODE: // word mode - if (sdata->text_type==TEXT_TYPE_ASCII) { - xsubst=get_nth_word_ascii(sdata->text,i); + if (sdata->text_type == TEXT_TYPE_ASCII) { + xsubst = get_nth_word_ascii(sdata->text, i); } else { - xsubst=get_nth_word_utf8(sdata->text,i); + xsubst = get_nth_word_utf8(sdata->text, i); } - xtext=stringdup(&sdata->text[xsubst->start],xsubst->length); + xtext = stringdup(&sdata->text[xsubst->start], xsubst->length); weed_free(xsubst); break; default: // TODO - line mode and all mode - xtext=weed_malloc(1); - weed_memset(xtext,0,1); + xtext = weed_malloc(1); + weed_memset(xtext, 0, 1); break; } } @@ -1073,19 +1073,19 @@ pango_layout_set_text(layout, (char *)xtext, -1); // default colour - opaque white - sdata->fg.red=sdata->fg.green=sdata->fg.blue=255.; - sdata->fg_alpha=1.; + sdata->fg.red = sdata->fg.green = sdata->fg.blue = 255.; + sdata->fg_alpha = 1.; cairo_save(cairo); // get size, position, and colour - proctext(sdata,tc,(char *)xtext,cairo,layout,font,width,height); + proctext(sdata, tc, (char *)xtext, cairo, layout, font, width, height); free(xtext); cairo_move_to(cairo, sdata->x_text, sdata->y_text); - cairo_set_source_rgba(cairo,sdata->fg.red/255.0, sdata->fg.green/255.0, sdata->fg.blue/255.0, + cairo_set_source_rgba(cairo, sdata->fg.red / 255.0, sdata->fg.green / 255.0, sdata->fg.blue / 255.0, sdata->fg_alpha); pango_cairo_show_layout(cairo, layout); @@ -1100,36 +1100,36 @@ } // end loop - cairo_to_channel(cairo,out_channel); + cairo_to_channel(cairo, out_channel); cairo_destroy(cairo); } - if (sdata->mode==PT_WORD_COALESCE) { - if (sdata->dbl1>0.) { - guchar *b_data=bgdata; - int width3=width*3; - guchar *dstx=dst=weed_get_voidptr_value(out_channel,"pixel_data",&error); + if (sdata->mode == PT_WORD_COALESCE) { + if (sdata->dbl1 > 0.) { + guchar *b_data = bgdata; + int width3 = width * 3; + guchar *dstx = dst = weed_get_voidptr_value(out_channel, "pixel_data", &error); - for (i=0; i<height; i++) { - for (j=0; j<width3; j+=3) { - if (dst[j]!=b_data[j]||dst[j+1]!=b_data[j+1]||dst[j+2]!=b_data[j+2]) { + for (i = 0; i < height; i++) { + for (j = 0; j < width3; j += 3) { + if (dst[j] != b_data[j] || dst[j + 1] != b_data[j + 1] || dst[j + 2] != b_data[j + 2]) { // move point by sdata->dbl1 pixels - double angle=rand_angle(); - int x=j/3+sin(angle)*sdata->dbl1; - int y=i+cos(angle)*sdata->dbl1; - if (x>0&&x<width&&y>0&&y<height) { + double angle = rand_angle(); + int x = j / 3 + sin(angle) * sdata->dbl1; + int y = i + cos(angle) * sdata->dbl1; + if (x > 0 && x < width && y > 0 && y < height) { // blur 1 pixel - memcpy(&dstx[y*orowstride+x*3],&dst[j],3); + memcpy(&dstx[y * orowstride + x * 3], &dst[j], 3); // protect blurred pixel - if (y>=i) memcpy(&bgdata[y*orowstride+x*3],&dst[j],3); + if (y >= i) memcpy(&bgdata[y * orowstride + x * 3], &dst[j], 3); } // replace original pixel - memcpy(&dst[j],&b_data[j],3); + memcpy(&dst[j], &b_data[j], 3); } } - dst+=orowstride; - b_data+=orowstride; + dst += orowstride; + b_data += orowstride; } } weed_free(bgdata); @@ -1155,15 +1155,15 @@ }*/ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); - if (plugin_info!=NULL) { - weed_plant_t *in_params[P_END+1],*gui; + if (plugin_info != NULL) { + weed_plant_t *in_params[P_END + 1], *gui; weed_plant_t *filter_class; PangoContext *ctx; - const char *modes[]= {"Spiral text","Spinning letters","Letter starfield","Word coalesce",NULL}; - char *rfx_strings[]= {"special|fileread|0|"}; + const char *modes[] = {"Spiral text", "Spinning letters", "Letter starfield", "Word coalesce", NULL}; + char *rfx_strings[] = {"special|fileread|0|"}; char *deftextfile; @@ -1171,20 +1171,20 @@ weed_plant_t *in_chantmpls[2]; weed_plant_t *out_chantmpls[2]; - int flags,error; + int flags, error; if (is_big_endian()) - palette_list[0]=WEED_PALETTE_ARGB32; + palette_list[0] = WEED_PALETTE_ARGB32; else - palette_list[0]=WEED_PALETTE_BGRA32; + palette_list[0] = WEED_PALETTE_BGRA32; - palette_list[1]=WEED_PALETTE_END; + palette_list[1] = WEED_PALETTE_END; - in_chantmpls[0]=weed_channel_template_init("in channel 0",0,palette_list); - in_chantmpls[1]=NULL; + in_chantmpls[0] = weed_channel_template_init("in channel 0", 0, palette_list); + in_chantmpls[1] = NULL; - out_chantmpls[0]=weed_channel_template_init("out channel 0",WEED_CHANNEL_CAN_DO_INPLACE,palette_list); - out_chantmpls[1]=NULL; + out_chantmpls[0] = weed_channel_template_init("out channel 0", WEED_CHANNEL_CAN_DO_INPLACE, palette_list); + out_chantmpls[1] = NULL; init_unal(); @@ -1203,7 +1203,7 @@ pango_font_map_list_families(pfm, &pff, &num); if (num > 0) { // we should reserve num+1 for a final NULL pointer - fonts_available = (char **)weed_malloc((num+1)*sizeof(char *)); + fonts_available = (char **)weed_malloc((num + 1) * sizeof(char *)); if (fonts_available) { register int i; num_fonts_available = num; @@ -1219,38 +1219,38 @@ g_object_unref(ctx); } - deftextfile=g_build_filename(g_get_home_dir(), "livestext.txt", NULL); - - in_params[P_TEXT]=weed_text_init("textfile","_Text file",deftextfile); - gui=weed_parameter_template_get_gui(in_params[P_TEXT]); - weed_set_int_value(gui,"maxchars",80); // for display only - fileread will override this - flags=0; - if (weed_plant_has_leaf(in_params[P_TEXT],"flags")) - flags=weed_get_int_value(in_params[P_TEXT],"flags",&error); - flags|=WEED_PARAMETER_REINIT_ON_VALUE_CHANGE; - weed_set_int_value(in_params[P_TEXT],"flags",flags); - - in_params[P_MODE]=weed_string_list_init("mode","Effect _mode",0,modes); - flags=0; - if (weed_plant_has_leaf(in_params[P_MODE],"flags")) - flags=weed_get_int_value(in_params[P_MODE],"flags",&error); - flags|=WEED_PARAMETER_REINIT_ON_VALUE_CHANGE; - weed_set_int_value(in_params[P_MODE],"flags",flags); - in_params[P_END]=NULL; + deftextfile = g_build_filename(g_get_home_dir(), "livestext.txt", NULL); + + in_params[P_TEXT] = weed_text_init("textfile", "_Text file", deftextfile); + gui = weed_parameter_template_get_gui(in_params[P_TEXT]); + weed_set_int_value(gui, "maxchars", 80); // for display only - fileread will override this + flags = 0; + if (weed_plant_has_leaf(in_params[P_TEXT], "flags")) + flags = weed_get_int_value(in_params[P_TEXT], "flags", &error); + flags |= WEED_PARAMETER_REINIT_ON_VALUE_CHANGE; + weed_set_int_value(in_params[P_TEXT], "flags", flags); + + in_params[P_MODE] = weed_string_list_init("mode", "Effect _mode", 0, modes); + flags = 0; + if (weed_plant_has_leaf(in_params[P_MODE], "flags")) + flags = weed_get_int_value(in_params[P_MODE], "flags", &error); + flags |= WEED_PARAMETER_REINIT_ON_VALUE_CHANGE; + weed_set_int_value(in_params[P_MODE], "flags", flags); + in_params[P_END] = NULL; g_free(deftextfile); - filter_class=weed_filter_class_init("puretext","Salsaman & Aleksej Penkov",1,0,&puretext_init,&puretext_process,NULL, - in_chantmpls,out_chantmpls,in_params,NULL); + filter_class = weed_filter_class_init("puretext", "Salsaman & Aleksej Penkov", 1, 0, &puretext_init, &puretext_process, NULL, + in_chantmpls, out_chantmpls, in_params, NULL); - gui=weed_filter_class_get_gui(filter_class); - weed_set_string_value(gui,"layout_scheme","RFX"); - weed_set_string_value(gui,"rfx_delim","|"); - weed_set_string_array(gui,"rfx_strings",1,rfx_strings); + gui = weed_filter_class_get_gui(filter_class); + weed_set_string_value(gui, "layout_scheme", "RFX"); + weed_set_string_value(gui, "rfx_delim", "|"); + weed_set_string_array(gui, "rfx_strings", 1, rfx_strings); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/gdk/scribbler.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/gdk/scribbler.c
Changed
@@ -18,10 +18,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=2; // version of this package +static int package_version = 2; // version of this package ////////////////////////////////////////////////////////////////// @@ -57,7 +57,7 @@ // defines for configure dialog elements enum DlgControls { - P_TEXT=0, + P_TEXT = 0, P_MODE, P_FONT, P_FOREGROUND, @@ -85,57 +85,57 @@ static void init_unal(void) { // premult to postmult and vice-versa - register int i,j; + register int i, j; - for (i=0; i<256; i++) { //alpha val - for (j=0; j<256; j++) { // val to be converted - unal[i][j]=(float)j*255./(float)i; - al[i][j]=(float)j*(float)i/255.; + for (i = 0; i < 256; i++) { //alpha val + for (j = 0; j < 256; j++) { // val to be converted + unal[i][j] = (float)j * 255. / (float)i; + al[i][j] = (float)j * (float)i / 255.; } } } static void alpha_unpremult(guchar *ptr, int width, int height, int rowstride, int pal, int un) { - int aoffs,coffs,psizel; + int aoffs, coffs, psizel; int alpha; - int psize=4; + int psize = 4; - register int i,j,p; + register int i, j, p; switch (pal) { case WEED_PALETTE_BGRA32: - psizel=3; - coffs=0; - aoffs=3; + psizel = 3; + coffs = 0; + aoffs = 3; break; case WEED_PALETTE_ARGB32: - psizel=4; - coffs=1; - aoffs=0; + psizel = 4; + coffs = 1; + aoffs = 0; break; default: return; } if (un) { - for (i=0; i<height; i++) { - for (j=0; j<width; j+=psize) { - alpha=ptr[j+aoffs]; - for (p=coffs; p<psizel; p++) { - ptr[j+p]=unal[alpha][ptr[j+p]]; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j += psize) { + alpha = ptr[j + aoffs]; + for (p = coffs; p < psizel; p++) { + ptr[j + p] = unal[alpha][ptr[j + p]]; } } - ptr+=rowstride; + ptr += rowstride; } } else { - for (i=0; i<height; i++) { - for (j=0; j<width; j+=psize) { - alpha=ptr[j+aoffs]; - for (p=coffs; p<psizel; p++) { - ptr[j+p]=al[alpha][ptr[j+p]]; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j += psize) { + alpha = ptr[j + aoffs]; + for (p = coffs; p < psizel; p++) { + ptr[j + p] = al[alpha][ptr[j + p]]; } } - ptr+=rowstride; + ptr += rowstride; } } @@ -150,65 +150,65 @@ // "width","rowstrides" and "current_palette" of channel may all change - int irowstride,orowstride; - int width,widthx; + int irowstride, orowstride; + int width, widthx; int height; int pal; int error; - int flags=0; + int flags = 0; register int i; - guchar *src,*dst,*pixel_data; + guchar *src, *dst, *pixel_data; cairo_surface_t *surf; cairo_t *cairo; - cairo_format_t cform=CAIRO_FORMAT_ARGB32; + cairo_format_t cform = CAIRO_FORMAT_ARGB32; - width=weed_get_int_value(channel,"width",&error); - height=weed_get_int_value(channel,"height",&error); - pal=weed_get_int_value(channel,"current_palette",&error); - irowstride=weed_get_int_value(channel,"rowstrides",&error); + width = weed_get_int_value(channel, "width", &error); + height = weed_get_int_value(channel, "height", &error); + pal = weed_get_int_value(channel, "current_palette", &error); + irowstride = weed_get_int_value(channel, "rowstrides", &error); - widthx=width*4; + widthx = width * 4; - orowstride=cairo_format_stride_for_width(cform,width); + orowstride = cairo_format_stride_for_width(cform, width); - src=(guchar *)weed_get_voidptr_value(channel,"pixel_data",&error); + src = (guchar *)weed_get_voidptr_value(channel, "pixel_data", &error); - pixel_data=(guchar *)weed_malloc(height*orowstride); + pixel_data = (guchar *)weed_malloc(height * orowstride); - if (pixel_data==NULL) return NULL; + if (pixel_data == NULL) return NULL; - if (irowstride==orowstride) { - weed_memcpy((void *)pixel_data,(void *)src,irowstride*height); + if (irowstride == orowstride) { + weed_memcpy((void *)pixel_data, (void *)src, irowstride * height); } else { - dst=pixel_data; - for (i=0; i<height; i++) { - weed_memcpy((void *)dst,(void *)src,widthx); - weed_memset((void *)(dst+widthx),0,widthx-orowstride); - dst+=orowstride; - src+=irowstride; + dst = pixel_data; + for (i = 0; i < height; i++) { + weed_memcpy((void *)dst, (void *)src, widthx); + weed_memset((void *)(dst + widthx), 0, widthx - orowstride); + dst += orowstride; + src += irowstride; } } - if (weed_plant_has_leaf(channel,"flags")) flags=weed_get_int_value(channel,"flags",&error); - if (!(flags&WEED_CHANNEL_ALPHA_PREMULT)) { + if (weed_plant_has_leaf(channel, "flags")) flags = weed_get_int_value(channel, "flags", &error); + if (!(flags & WEED_CHANNEL_ALPHA_PREMULT)) { // if we have post-multiplied alpha, pre multiply - alpha_unpremult(pixel_data,widthx,height,orowstride,pal,FALSE); + alpha_unpremult(pixel_data, widthx, height, orowstride, pal, FALSE); } - surf=cairo_image_surface_create_for_data(pixel_data, - cform, - width, height, - orowstride); + surf = cairo_image_surface_create_for_data(pixel_data, + cform, + width, height, + orowstride); - if (surf==NULL) { + if (surf == NULL) { weed_free(pixel_data); return NULL; } - cairo=cairo_create(surf); + cairo = cairo_create(surf); weed_free(pixel_data); cairo_surface_destroy(surf); @@ -219,19 +219,19 @@ static void cairo_to_channel(cairo_t *cairo, weed_plant_t *channel) { // updates a weed_channel from a cairo_t - cairo_surface_t *surface=cairo_get_target(cairo); + cairo_surface_t *surface = cairo_get_target(cairo); - cairo_format_t cform=CAIRO_FORMAT_ARGB32; + cairo_format_t cform = CAIRO_FORMAT_ARGB32; int error; - guchar *src,*dst,*pixel_data=(guchar *)weed_get_voidptr_value(channel,"pixel_data",&error); + guchar *src, *dst, *pixel_data = (guchar *)weed_get_voidptr_value(channel, "pixel_data", &error); - int flags=0; + int flags = 0; - int height=weed_get_int_value(channel,"height",&error); - int irowstride,orowstride=weed_get_int_value(channel,"rowstrides",&error); - int width=weed_get_int_value(channel,"width",&error),widthx=width*4; + int height = weed_get_int_value(channel, "height", &error); + int irowstride, orowstride = weed_get_int_value(channel, "rowstrides", &error); + int width = weed_get_int_value(channel, "width", &error), widthx = width * 4; register int i; @@ -240,27 +240,27 @@ src = cairo_image_surface_get_data(surface); - irowstride=cairo_format_stride_for_width(cform,width); + irowstride = cairo_format_stride_for_width(cform, width); - if (irowstride==orowstride) { - weed_memcpy((void *)pixel_data,(void *)src,irowstride*height); + if (irowstride == orowstride) { + weed_memcpy((void *)pixel_data, (void *)src, irowstride * height); } else { - dst=pixel_data; - for (i=0; i<height; i++) { - weed_memcpy((void *)dst,(void *)src,widthx); + dst = pixel_data; + for (i = 0; i < height; i++) { + weed_memcpy((void *)dst, (void *)src, widthx); //weed_memset((void *)(dst+widthx),0,orowstride-widthx); // can cause a crash, not sure why - dst+=orowstride; - src+=irowstride; + dst += orowstride; + src += irowstride; } } - if (weed_plant_has_leaf(channel,"flags")) flags=weed_get_int_value(channel,"flags",&error); - if (!(flags&WEED_CHANNEL_ALPHA_PREMULT)) { - int pal=weed_get_int_value(channel,"current_palette",&error); + if (weed_plant_has_leaf(channel, "flags")) flags = weed_get_int_value(channel, "flags", &error); + if (!(flags & WEED_CHANNEL_ALPHA_PREMULT)) { + int pal = weed_get_int_value(channel, "current_palette", &error); // un-premultiply the alpha - alpha_unpremult(pixel_data,widthx,height,orowstride,pal,TRUE); + alpha_unpremult(pixel_data, widthx, height, orowstride, pal, TRUE); } @@ -273,24 +273,24 @@ int scribbler_init(weed_plant_t *inst) { int error; - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); weed_plant_t *pgui; - int mode=weed_get_int_value(in_params[P_MODE],"value",&error); + int mode = weed_get_int_value(in_params[P_MODE], "value", &error); pgui = weed_parameter_get_gui(in_params[P_BGALPHA]); - if (mode==0) weed_set_boolean_value(pgui, "hidden", WEED_TRUE); + if (mode == 0) weed_set_boolean_value(pgui, "hidden", WEED_TRUE); else weed_set_boolean_value(pgui, "hidden", WEED_FALSE); pgui = weed_parameter_get_gui(in_params[P_BACKGROUND]); - if (mode==0) weed_set_boolean_value(pgui, "hidden", WEED_TRUE); + if (mode == 0) weed_set_boolean_value(pgui, "hidden", WEED_TRUE); else weed_set_boolean_value(pgui, "hidden", WEED_FALSE); pgui = weed_parameter_get_gui(in_params[P_FGALPHA]); - if (mode==2) weed_set_boolean_value(pgui, "hidden", WEED_TRUE); + if (mode == 2) weed_set_boolean_value(pgui, "hidden", WEED_TRUE); else weed_set_boolean_value(pgui, "hidden", WEED_FALSE); pgui = weed_parameter_get_gui(in_params[P_FOREGROUND]); - if (mode==2) weed_set_boolean_value(pgui, "hidden", WEED_TRUE); + if (mode == 2) weed_set_boolean_value(pgui, "hidden", WEED_TRUE); else weed_set_boolean_value(pgui, "hidden", WEED_FALSE); weed_free(in_params); @@ -303,20 +303,20 @@ double d; pango_layout_get_size(layout, &w_, &h_); if (pw) - *pw = ((double)w_)/PANGO_SCALE; + *pw = ((double)w_) / PANGO_SCALE; if (ph) - *ph = ((double)h_)/PANGO_SCALE; + *ph = ((double)h_) / PANGO_SCALE; if (cent) { - d = ((double)w_)/PANGO_SCALE; + d = ((double)w_) / PANGO_SCALE; d /= 2.0; - d = (width>>1) - d; + d = (width >> 1) - d; } else d = 0.0; if (px) *px = d; - d = ((double)h_)/PANGO_SCALE; + d = ((double)h_) / PANGO_SCALE; d = height - d; if (py) *py = d; @@ -336,12 +336,12 @@ int scribbler_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); - weed_plant_t *out_channel=weed_get_plantptr_value(inst,"out_channels",&error); - weed_plant_t *in_channel=NULL; + weed_plant_t *out_channel = weed_get_plantptr_value(inst, "out_channels", &error); + weed_plant_t *in_channel = NULL; - rgb_t *fg,*bg; + rgb_t *fg, *bg; cairo_t *cairo; @@ -351,32 +351,32 @@ char *text; - int cent,rise; + int cent, rise; //int alpha_threshold = 0; int fontnum; int mode; - int width=weed_get_int_value(out_channel,"width",&error); - int height=weed_get_int_value(out_channel,"height",&error); + int width = weed_get_int_value(out_channel, "width", &error); + int height = weed_get_int_value(out_channel, "height", &error); - if (weed_plant_has_leaf(inst,"in_channels")) { - in_channel=weed_get_plantptr_value(inst,"in_channels",&error); + if (weed_plant_has_leaf(inst, "in_channels")) { + in_channel = weed_get_plantptr_value(inst, "in_channels", &error); } - text=weed_get_string_value(in_params[P_TEXT],"value",&error); - mode=weed_get_int_value(in_params[P_MODE],"value",&error); - fontnum=weed_get_int_value(in_params[P_FONT],"value",&error); + text = weed_get_string_value(in_params[P_TEXT], "value", &error); + mode = weed_get_int_value(in_params[P_MODE], "value", &error); + fontnum = weed_get_int_value(in_params[P_FONT], "value", &error); - fg=(rgb_t *)weed_get_int_array(in_params[P_FOREGROUND],"value",&error); - bg=(rgb_t *)weed_get_int_array(in_params[P_BACKGROUND],"value",&error); + fg = (rgb_t *)weed_get_int_array(in_params[P_FOREGROUND], "value", &error); + bg = (rgb_t *)weed_get_int_array(in_params[P_BACKGROUND], "value", &error); - f_alpha=weed_get_double_value(in_params[P_FGALPHA],"value",&error); - b_alpha=weed_get_double_value(in_params[P_BGALPHA],"value",&error); - font_size=weed_get_double_value(in_params[P_FONTSIZE],"value",&error); + f_alpha = weed_get_double_value(in_params[P_FGALPHA], "value", &error); + b_alpha = weed_get_double_value(in_params[P_BGALPHA], "value", &error); + font_size = weed_get_double_value(in_params[P_FONTSIZE], "value", &error); - cent=weed_get_boolean_value(in_params[P_CENTER],"value",&error); - rise=weed_get_boolean_value(in_params[P_RISE],"value",&error); - top=weed_get_double_value(in_params[P_TOP],"value",&error); + cent = weed_get_boolean_value(in_params[P_CENTER], "value", &error); + rise = weed_get_boolean_value(in_params[P_RISE], "value", &error); + top = weed_get_double_value(in_params[P_TOP], "value", &error); weed_free(in_params); // must weed free because we got an array @@ -399,14 +399,14 @@ if ((num_fonts_available) && (fontnum >= 0) && (fontnum < num_fonts_available) && (fonts_available[fontnum])) pango_font_description_set_family(font, fonts_available[fontnum]); - pango_font_description_set_size(font, font_size*PANGO_SCALE); + pango_font_description_set_size(font, font_size * PANGO_SCALE); pango_layout_set_font_description(layout, font); pango_layout_set_text(layout, text, -1); getxypos(layout, &x_pos, &y_pos, width, height, cent, &dwidth, &dheight); if (!rise) - y_pos = y_text = height*top; + y_pos = y_text = height * top; x_text = x_pos; y_text = y_pos; @@ -417,22 +417,22 @@ switch (mode) { case 1: - cairo_set_source_rgba(cairo,(double)bg->red/255.0, (double)bg->green/255.0, (double)bg->blue/255.0, b_alpha); + cairo_set_source_rgba(cairo, (double)bg->red / 255.0, (double)bg->green / 255.0, (double)bg->blue / 255.0, b_alpha); fill_bckg(cairo, x_pos, y_pos, dwidth, dheight); cairo_move_to(cairo, x_text, y_text); - cairo_set_source_rgba(cairo,(double)fg->red/255.0, (double)fg->green/255.0, (double)fg->blue/255.0, f_alpha); + cairo_set_source_rgba(cairo, (double)fg->red / 255.0, (double)fg->green / 255.0, (double)fg->blue / 255.0, f_alpha); pango_layout_set_text(layout, text, -1); break; case 2: - cairo_set_source_rgba(cairo,(double)bg->red/255.0, (double)bg->green/255.0, (double)bg->blue/255.0, b_alpha); + cairo_set_source_rgba(cairo, (double)bg->red / 255.0, (double)bg->green / 255.0, (double)bg->blue / 255.0, b_alpha); fill_bckg(cairo, x_pos, y_pos, dwidth, dheight); cairo_move_to(cairo, x_pos, y_pos); - cairo_set_source_rgba(cairo,(double)fg->red/255.0, (double)fg->green/255.0, (double)fg->blue/255.0, f_alpha); + cairo_set_source_rgba(cairo, (double)fg->red / 255.0, (double)fg->green / 255.0, (double)fg->blue / 255.0, f_alpha); pango_layout_set_text(layout, "", -1); break; case 0: default: - cairo_set_source_rgba(cairo,(double)fg->red/255.0, (double)fg->green/255.0, (double)fg->blue/255.0, f_alpha); + cairo_set_source_rgba(cairo, (double)fg->red / 255.0, (double)fg->green / 255.0, (double)fg->blue / 255.0, f_alpha); break; } @@ -441,7 +441,7 @@ g_object_unref(layout); pango_font_description_free(font); } - cairo_to_channel(cairo,out_channel); + cairo_to_channel(cairo, out_channel); cairo_destroy(cairo); } @@ -466,33 +466,33 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - weed_plant_t **clone1,**clone2; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + weed_plant_t **clone1, **clone2; const char *def_fonts[] = {"serif", NULL}; - if (plugin_info!=NULL) { - const char *modes[]= {"foreground only","foreground and background","background only",NULL}; + if (plugin_info != NULL) { + const char *modes[] = {"foreground only", "foreground and background", "background only", NULL}; // removed palettes with alpha channel int palette_list[2]; weed_plant_t *in_chantmpls[2]; weed_plant_t *out_chantmpls[2]; - weed_plant_t *in_params[P_END+1],*pgui; + weed_plant_t *in_params[P_END + 1], *pgui; weed_plant_t *filter_class; PangoContext *ctx; - int flags=0,error; + int flags = 0, error; if (is_big_endian()) - palette_list[0]=WEED_PALETTE_ARGB32; + palette_list[0] = WEED_PALETTE_ARGB32; else - palette_list[0]=WEED_PALETTE_BGRA32; + palette_list[0] = WEED_PALETTE_BGRA32; - palette_list[1]=WEED_PALETTE_END; + palette_list[1] = WEED_PALETTE_END; - in_chantmpls[0]=weed_channel_template_init("in channel 0",0,palette_list); - in_chantmpls[1]=NULL; + in_chantmpls[0] = weed_channel_template_init("in channel 0", 0, palette_list); + in_chantmpls[1] = NULL; - out_chantmpls[0]=weed_channel_template_init("out channel 0",WEED_CHANNEL_CAN_DO_INPLACE,palette_list); - out_chantmpls[1]=NULL; + out_chantmpls[0] = weed_channel_template_init("out channel 0", WEED_CHANNEL_CAN_DO_INPLACE, palette_list); + out_chantmpls[1] = NULL; init_unal(); @@ -510,7 +510,7 @@ pango_font_map_list_families(pfm, &pff, &num); if (num > 0) { // we should reserve num+1 for a final NULL pointer - fonts_available = (const char **)weed_malloc((num+1)*sizeof(char *)); + fonts_available = (const char **)weed_malloc((num + 1) * sizeof(char *)); if (fonts_available) { register int i; num_fonts_available = num; @@ -529,47 +529,48 @@ } - in_params[P_TEXT]=weed_text_init("text","_Text",""); - in_params[P_MODE]=weed_string_list_init("mode","Colour _mode",0,modes); - if (weed_plant_has_leaf(in_params[P_MODE],"flags")) - flags=weed_get_int_value(in_params[P_MODE],"flags",&error); - flags|=WEED_PARAMETER_REINIT_ON_VALUE_CHANGE; - weed_set_int_value(in_params[P_MODE],"flags",flags); + in_params[P_TEXT] = weed_text_init("text", "_Text", ""); + in_params[P_MODE] = weed_string_list_init("mode", "Colour _mode", 0, modes); + if (weed_plant_has_leaf(in_params[P_MODE], "flags")) + flags = weed_get_int_value(in_params[P_MODE], "flags", &error); + flags |= WEED_PARAMETER_REINIT_ON_VALUE_CHANGE; + weed_set_int_value(in_params[P_MODE], "flags", flags); if (fonts_available) - in_params[P_FONT]=weed_string_list_init("font","_Font",0,fonts_available); + in_params[P_FONT] = weed_string_list_init("font", "_Font", 0, fonts_available); else - in_params[P_FONT]=weed_string_list_init("font","_Font",0, def_fonts); - in_params[P_FOREGROUND]=weed_colRGBi_init("foreground","_Foreground",255,255,255); - in_params[P_BACKGROUND]=weed_colRGBi_init("background","_Background",0,0,0); - in_params[P_FGALPHA]=weed_float_init("fr_alpha","_Alpha _Foreground",1.0,0.0,1.0); - in_params[P_BGALPHA]=weed_float_init("bg_alpha","_Alpha _Background",1.0,0.0,1.0); - in_params[P_FONTSIZE]=weed_float_init("fontsize","_Font Size",20.0,10.0,128.0); - in_params[P_CENTER]=weed_switch_init("center","_Center text",WEED_TRUE); - in_params[P_RISE]=weed_switch_init("rising","_Rising text",WEED_TRUE); - in_params[P_TOP]=weed_float_init("top","_Top",0.0,0.0,1.0); - in_params[P_END]=NULL; - - pgui=weed_parameter_template_get_gui(in_params[P_TEXT]); - weed_set_int_value(pgui,"maxchars",65536); - - pgui=weed_parameter_template_get_gui(in_params[P_FGALPHA]); - weed_set_int_value(pgui,"copy_value_to",P_BGALPHA); - - filter_class=weed_filter_class_init("scribbler","Aleksej Penkov",1,0,&scribbler_init,&scribbler_process,NULL,in_chantmpls,out_chantmpls, - in_params,NULL); - - weed_plugin_info_add_filter_class(plugin_info,filter_class); - - filter_class=weed_filter_class_init("scribbler_generator","Aleksej Penkov",1,0,&scribbler_init,&scribbler_process,NULL,NULL, - (clone1=weed_clone_plants(out_chantmpls)),(clone2=weed_clone_plants(in_params)),NULL); + in_params[P_FONT] = weed_string_list_init("font", "_Font", 0, def_fonts); + in_params[P_FOREGROUND] = weed_colRGBi_init("foreground", "_Foreground", 255, 255, 255); + in_params[P_BACKGROUND] = weed_colRGBi_init("background", "_Background", 0, 0, 0); + in_params[P_FGALPHA] = weed_float_init("fr_alpha", "_Alpha _Foreground", 1.0, 0.0, 1.0); + in_params[P_BGALPHA] = weed_float_init("bg_alpha", "_Alpha _Background", 1.0, 0.0, 1.0); + in_params[P_FONTSIZE] = weed_float_init("fontsize", "_Font Size", 20.0, 10.0, 128.0); + in_params[P_CENTER] = weed_switch_init("center", "_Center text", WEED_TRUE); + in_params[P_RISE] = weed_switch_init("rising", "_Rising text", WEED_TRUE); + in_params[P_TOP] = weed_float_init("top", "_Top", 0.0, 0.0, 1.0); + in_params[P_END] = NULL; + + pgui = weed_parameter_template_get_gui(in_params[P_TEXT]); + weed_set_int_value(pgui, "maxchars", 65536); + + pgui = weed_parameter_template_get_gui(in_params[P_FGALPHA]); + weed_set_int_value(pgui, "copy_value_to", P_BGALPHA); + + filter_class = weed_filter_class_init("scribbler", "Aleksej Penkov", 1, 0, &scribbler_init, &scribbler_process, NULL, in_chantmpls, + out_chantmpls, + in_params, NULL); + + weed_plugin_info_add_filter_class(plugin_info, filter_class); + + filter_class = weed_filter_class_init("scribbler_generator", "Aleksej Penkov", 1, 0, &scribbler_init, &scribbler_process, NULL, NULL, + (clone1 = weed_clone_plants(out_chantmpls)), (clone2 = weed_clone_plants(in_params)), NULL); weed_free(clone1); weed_free(clone2); - weed_plugin_info_add_filter_class(plugin_info,filter_class); - weed_set_double_value(filter_class,"target_fps",25.); // set reasonable default fps + weed_plugin_info_add_filter_class(plugin_info, filter_class); + weed_set_double_value(filter_class, "target_fps", 25.); // set reasonable default fps - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/gdk/videowall.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/gdk/videowall.c
Changed
@@ -18,10 +18,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=1; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 1; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -49,7 +49,7 @@ #define rand_a 1073741789L #define rand_c 32749L - return ((sdata->fastrand_val= (rand_a*sdata->fastrand_val + rand_c))); + return ((sdata->fastrand_val = (rand_a * sdata->fastrand_val + rand_c))); } @@ -64,7 +64,7 @@ inline int G_GNUC_CONST pl_gdk_last_rowstride_value(int width, int nchans) { // from gdk pixbuf docs - return width*(((nchans<<3)+7)>>3); + return width * (((nchans << 3) + 7) >> 3); } static void plugin_free_buffer(guchar *pixels, gpointer data) { @@ -75,8 +75,8 @@ static GdkPixbuf *pl_gdk_pixbuf_cheat(GdkColorspace colorspace, gboolean has_alpha, int bits_per_sample, int width, int height, guchar *buf) { // we can cheat if our buffer is correctly sized - int channels=has_alpha?4:3; - int rowstride=pl_gdk_rowstride_value(width*channels); + int channels = has_alpha ? 4 : 3; + int rowstride = pl_gdk_rowstride_value(width * channels); return gdk_pixbuf_new_from_data(buf, colorspace, has_alpha, bits_per_sample, width, height, rowstride, plugin_free_buffer, NULL); } @@ -85,54 +85,54 @@ static GdkPixbuf *pl_channel_to_pixbuf(weed_plant_t *channel) { int error; GdkPixbuf *pixbuf; - int palette=weed_get_int_value(channel,"current_palette",&error); - int width=weed_get_int_value(channel,"width",&error); - int height=weed_get_int_value(channel,"height",&error); - int irowstride=weed_get_int_value(channel,"rowstrides",&error); - int rowstride,orowstride; - guchar *pixel_data=(guchar *)weed_get_voidptr_value(channel,"pixel_data",&error),*pixels,*end; - gboolean cheat=FALSE; + int palette = weed_get_int_value(channel, "current_palette", &error); + int width = weed_get_int_value(channel, "width", &error); + int height = weed_get_int_value(channel, "height", &error); + int irowstride = weed_get_int_value(channel, "rowstrides", &error); + int rowstride, orowstride; + guchar *pixel_data = (guchar *)weed_get_voidptr_value(channel, "pixel_data", &error), *pixels, *end; + gboolean cheat = FALSE; gint n_channels; switch (palette) { case WEED_PALETTE_RGB24: case WEED_PALETTE_BGR24: case WEED_PALETTE_YUV888: - if (irowstride==pl_gdk_rowstride_value(width*3)) { - pixbuf=pl_gdk_pixbuf_cheat(GDK_COLORSPACE_RGB, FALSE, 8, width, height, pixel_data); - cheat=TRUE; - } else pixbuf=gdk_pixbuf_new(GDK_COLORSPACE_RGB, FALSE, 8, width, height); - n_channels=3; + if (irowstride == pl_gdk_rowstride_value(width * 3)) { + pixbuf = pl_gdk_pixbuf_cheat(GDK_COLORSPACE_RGB, FALSE, 8, width, height, pixel_data); + cheat = TRUE; + } else pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, FALSE, 8, width, height); + n_channels = 3; break; case WEED_PALETTE_RGBA32: case WEED_PALETTE_BGRA32: case WEED_PALETTE_YUVA8888: - if (irowstride==pl_gdk_rowstride_value(width*4)) { - pixbuf=pl_gdk_pixbuf_cheat(GDK_COLORSPACE_RGB, TRUE, 8, width, height, pixel_data); - cheat=TRUE; - } else pixbuf=gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, width, height); - n_channels=4; + if (irowstride == pl_gdk_rowstride_value(width * 4)) { + pixbuf = pl_gdk_pixbuf_cheat(GDK_COLORSPACE_RGB, TRUE, 8, width, height, pixel_data); + cheat = TRUE; + } else pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, width, height); + n_channels = 4; break; default: return NULL; } - pixels=gdk_pixbuf_get_pixels(pixbuf); - orowstride=gdk_pixbuf_get_rowstride(pixbuf); + pixels = gdk_pixbuf_get_pixels(pixbuf); + orowstride = gdk_pixbuf_get_rowstride(pixbuf); - if (irowstride>orowstride) rowstride=orowstride; - else rowstride=irowstride; - end=pixels+orowstride*height; + if (irowstride > orowstride) rowstride = orowstride; + else rowstride = irowstride; + end = pixels + orowstride * height; if (!cheat) { - gboolean done=FALSE; - for (; pixels<end&&!done; pixels+=orowstride) { - if (pixels+orowstride>=end) { - orowstride=rowstride=pl_gdk_last_rowstride_value(width,n_channels); - done=TRUE; + gboolean done = FALSE; + for (; pixels < end && !done; pixels += orowstride) { + if (pixels + orowstride >= end) { + orowstride = rowstride = pl_gdk_last_rowstride_value(width, n_channels); + done = TRUE; } - weed_memcpy(pixels,pixel_data,rowstride); - if (rowstride<orowstride) weed_memset(pixels+rowstride,0,orowstride-rowstride); - pixel_data+=irowstride; + weed_memcpy(pixels, pixel_data, rowstride); + if (rowstride < orowstride) weed_memset(pixels + rowstride, 0, orowstride - rowstride); + pixel_data += irowstride; } } return pixbuf; @@ -143,26 +143,26 @@ int videowall_init(weed_plant_t *inst) { struct _sdata *sdata; - int video_height,video_width,video_area; + int video_height, video_width, video_area; int palette; int error; int psize; weed_plant_t *in_channel; - register int i,j; + register int i, j; - in_channel=weed_get_plantptr_value(inst,"in_channels",&error); + in_channel = weed_get_plantptr_value(inst, "in_channels", &error); - sdata=weed_malloc(sizeof(struct _sdata)); + sdata = weed_malloc(sizeof(struct _sdata)); if (sdata == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - palette=weed_get_int_value(in_channel,"current_palette",&error); - video_height=weed_get_int_value(in_channel,"height",&error); - video_width=weed_get_int_value(in_channel,"width",&error); - video_area=video_width*video_height; + palette = weed_get_int_value(in_channel, "current_palette", &error); + video_height = weed_get_int_value(in_channel, "height", &error); + video_width = weed_get_int_value(in_channel, "width", &error); + video_area = video_width * video_height; - sdata->bgbuf=weed_malloc((psize=video_area*(palette==WEED_PALETTE_RGB24?3:4))); + sdata->bgbuf = weed_malloc((psize = video_area * (palette == WEED_PALETTE_RGB24 ? 3 : 4))); if (sdata->bgbuf == NULL) { weed_free(sdata); @@ -170,47 +170,47 @@ } // set a black background - if (palette==WEED_PALETTE_RGB24||palette==WEED_PALETTE_BGR24) { - weed_memset(sdata->bgbuf,0,psize); - } else if (palette==WEED_PALETTE_RGBA32||palette==WEED_PALETTE_BGRA32) { - unsigned char *ptr=sdata->bgbuf; - for (i=0; i<video_height; i++) { - for (j=0; j<video_width; j++) { - weed_memset(ptr,0,3); - weed_memset(ptr+3,255,1); - ptr+=4; + if (palette == WEED_PALETTE_RGB24 || palette == WEED_PALETTE_BGR24) { + weed_memset(sdata->bgbuf, 0, psize); + } else if (palette == WEED_PALETTE_RGBA32 || palette == WEED_PALETTE_BGRA32) { + unsigned char *ptr = sdata->bgbuf; + for (i = 0; i < video_height; i++) { + for (j = 0; j < video_width; j++) { + weed_memset(ptr, 0, 3); + weed_memset(ptr + 3, 255, 1); + ptr += 4; } } } - if (palette==WEED_PALETTE_YUV888) { - unsigned char *ptr=sdata->bgbuf; - for (i=0; i<video_height; i++) { - for (j=0; j<video_width; j++) { - weed_memset(ptr,16,1); - weed_memset(ptr+1,128,2); - ptr+=3; + if (palette == WEED_PALETTE_YUV888) { + unsigned char *ptr = sdata->bgbuf; + for (i = 0; i < video_height; i++) { + for (j = 0; j < video_width; j++) { + weed_memset(ptr, 16, 1); + weed_memset(ptr + 1, 128, 2); + ptr += 3; } } } - if (palette==WEED_PALETTE_YUVA8888) { - unsigned char *ptr=sdata->bgbuf; - for (i=0; i<video_height; i++) { - for (j=0; j<video_width; j++) { - weed_memset(ptr,16,1); - weed_memset(ptr+1,128,2); - weed_memset(ptr+3,255,1); - ptr+=4; + if (palette == WEED_PALETTE_YUVA8888) { + unsigned char *ptr = sdata->bgbuf; + for (i = 0; i < video_height; i++) { + for (j = 0; j < video_width; j++) { + weed_memset(ptr, 16, 1); + weed_memset(ptr + 1, 128, 2); + weed_memset(ptr + 3, 255, 1); + ptr += 4; } } } - sdata->count=0; - sdata->fastrand_val=0; - sdata->dir=0; - sdata->idxno=-1; + sdata->count = 0; + sdata->fastrand_val = 0; + sdata->dir = 0; + sdata->idxno = -1; - weed_set_voidptr_value(inst,"plugin_internal",sdata); + weed_set_voidptr_value(inst, "plugin_internal", sdata); return WEED_NO_ERROR; @@ -221,7 +221,7 @@ int error; struct _sdata *sdata; - sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); + sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); weed_free(sdata->bgbuf); weed_free(sdata); @@ -237,167 +237,168 @@ int videowall_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error),*out_channel=weed_get_plantptr_value(inst,"out_channels", - &error); - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error), *out_channel = weed_get_plantptr_value(inst, + "out_channels", + &error); + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); - int palette=weed_get_int_value(in_channel,"current_palette",&error); - int width=weed_get_int_value(in_channel,"width",&error); - int height=weed_get_int_value(in_channel,"height",&error); + int palette = weed_get_int_value(in_channel, "current_palette", &error); + int width = weed_get_int_value(in_channel, "width", &error); + int height = weed_get_int_value(in_channel, "height", &error); - GdkPixbuf *in_pixbuf=pl_channel_to_pixbuf(in_channel); + GdkPixbuf *in_pixbuf = pl_channel_to_pixbuf(in_channel); GdkPixbuf *out_pixbuf; - int down_interp=GDK_INTERP_BILINEAR; + int down_interp = GDK_INTERP_BILINEAR; - register int i,j; + register int i, j; struct _sdata *sdata; - int psize=4,prow,orow,pwidth,pheight; + int psize = 4, prow, orow, pwidth, pheight; - unsigned char *bdst,*dst,*rpix; + unsigned char *bdst, *dst, *rpix; - int ofh=0,ofw=0; - int xwid,xht,mode; + int ofh = 0, ofw = 0; + int xwid, xht, mode; - int row,col,idxno,bdstoffs,rpixoffs; + int row, col, idxno, bdstoffs, rpixoffs; - int offs_x,offs_y; + int offs_x, offs_y; - xwid=weed_get_int_value(in_params[0],"value",&error); - xht=weed_get_int_value(in_params[1],"value",&error); - mode=weed_get_int_value(in_params[2],"value",&error); + xwid = weed_get_int_value(in_params[0], "value", &error); + xht = weed_get_int_value(in_params[1], "value", &error); + mode = weed_get_int_value(in_params[2], "value", &error); - dst=weed_get_voidptr_value(out_channel,"pixel_data",&error); + dst = weed_get_voidptr_value(out_channel, "pixel_data", &error); - sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); + sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); - pwidth=width/xwid; - pheight=height/xht; + pwidth = width / xwid; + pheight = height / xht; - pwidth=(pwidth>>1)<<1; - pheight=(pheight>>1)<<1; + pwidth = (pwidth >> 1) << 1; + pheight = (pheight >> 1) << 1; - if (pwidth==0||pheight==0) return WEED_NO_ERROR; + if (pwidth == 0 || pheight == 0) return WEED_NO_ERROR; - offs_x=(width-pwidth*xwid)>>1; - offs_y=(height-pheight*xht)>>1; + offs_x = (width - pwidth * xwid) >> 1; + offs_y = (height - pheight * xht) >> 1; - out_pixbuf=gdk_pixbuf_scale_simple(in_pixbuf,pwidth,pheight,down_interp); + out_pixbuf = gdk_pixbuf_scale_simple(in_pixbuf, pwidth, pheight, down_interp); g_object_unref(in_pixbuf); - if (out_pixbuf==NULL) return WEED_NO_ERROR; + if (out_pixbuf == NULL) return WEED_NO_ERROR; - if (palette==WEED_PALETTE_RGB24||palette==WEED_PALETTE_BGR24||palette==WEED_PALETTE_YUV888) psize=3; + if (palette == WEED_PALETTE_RGB24 || palette == WEED_PALETTE_BGR24 || palette == WEED_PALETTE_YUV888) psize = 3; switch (mode) { case 0: // l to r, top to bottom - idxno=sdata->count; + idxno = sdata->count; break; case 1: // pseudo-random - idxno=(fastrand(sdata)>>24)%(xwid*xht); + idxno = (fastrand(sdata) >> 24) % (xwid * xht); break; case 2: // spiral // TODO - idxno=sdata->idxno; + idxno = sdata->idxno; - if (idxno==-1) { - idxno=0; - sdata->dir=0; + if (idxno == -1) { + idxno = 0; + sdata->dir = 0; break; } - row=(int)((float)idxno/(float)xwid); - col=idxno-(row*xwid); + row = (int)((float)idxno / (float)xwid); + col = idxno - (row * xwid); - if (sdata->dir==0) { - if (col>=xwid-1-row) sdata->dir=1; // time to go down + if (sdata->dir == 0) { + if (col >= xwid - 1 - row) sdata->dir = 1; // time to go down // go right else idxno++; } - if (sdata->dir==1) { - if (row>=col-(xwid-xht)) sdata->dir=2; // time to go left + if (sdata->dir == 1) { + if (row >= col - (xwid - xht)) sdata->dir = 2; // time to go left // go down - else idxno+=xwid; + else idxno += xwid; } - if (sdata->dir==2) { - if (col<=(xwid-row-1)-(xwid-xht)) { - sdata->dir=3; // time to go up - if (row<=col+1) { - idxno=0; - sdata->dir=0; + if (sdata->dir == 2) { + if (col <= (xwid - row - 1) - (xwid - xht)) { + sdata->dir = 3; // time to go up + if (row <= col + 1) { + idxno = 0; + sdata->dir = 0; break; } } // go left else idxno--; } - if (sdata->dir==3) { - if (row<=col+1) { - sdata->dir=0; // time to go right - if (col<xwid-1-row) idxno++; + if (sdata->dir == 3) { + if (row <= col + 1) { + sdata->dir = 0; // time to go right + if (col < xwid - 1 - row) idxno++; } // go up - else idxno-=xwid; + else idxno -= xwid; } - if (idxno==sdata->idxno) { - idxno=0; - sdata->dir=0; + if (idxno == sdata->idxno) { + idxno = 0; + sdata->dir = 0; } break; default: - idxno=0; + idxno = 0; } - idxno%=(xwid*xht); + idxno %= (xwid * xht); - sdata->idxno=idxno; + sdata->idxno = idxno; - row=(int)((float)idxno/(float)xwid); - col=idxno-(row*xwid); + row = (int)((float)idxno / (float)xwid); + col = idxno - (row * xwid); - ofh=offs_y+pheight*row; - ofw=(offs_x+pwidth*col)*psize; + ofh = offs_y + pheight * row; + ofw = (offs_x + pwidth * col) * psize; - bdst=sdata->bgbuf+ofh*width*psize+ofw; + bdst = sdata->bgbuf + ofh * width * psize + ofw; - prow=gdk_pixbuf_get_rowstride(out_pixbuf); - rpix=gdk_pixbuf_get_pixels(out_pixbuf); - pwidth=gdk_pixbuf_get_width(out_pixbuf); - pheight=gdk_pixbuf_get_height(out_pixbuf); + prow = gdk_pixbuf_get_rowstride(out_pixbuf); + rpix = gdk_pixbuf_get_pixels(out_pixbuf); + pwidth = gdk_pixbuf_get_width(out_pixbuf); + pheight = gdk_pixbuf_get_height(out_pixbuf); - bdstoffs=(width-pwidth)*psize; - rpixoffs=(prow-pwidth*psize); + bdstoffs = (width - pwidth) * psize; + rpixoffs = (prow - pwidth * psize); // copy pixel_data to bgbuf - for (i=0; i<pheight; i++) { - for (j=0; j<pwidth; j++) { - weed_memcpy(bdst,rpix,psize); - bdst+=psize; - rpix+=psize; + for (i = 0; i < pheight; i++) { + for (j = 0; j < pwidth; j++) { + weed_memcpy(bdst, rpix, psize); + bdst += psize; + rpix += psize; } - bdst+=bdstoffs; - rpix+=rpixoffs; + bdst += bdstoffs; + rpix += rpixoffs; } g_object_unref(out_pixbuf); - if (++sdata->count==xwid*xht) sdata->count=0; - orow=weed_get_int_value(out_channel,"rowstrides",&error); + if (++sdata->count == xwid * xht) sdata->count = 0; + orow = weed_get_int_value(out_channel, "rowstrides", &error); - if (orow==width*psize) { - weed_memcpy(dst,sdata->bgbuf,width*psize*height); + if (orow == width * psize) { + weed_memcpy(dst, sdata->bgbuf, width * psize * height); } else { - for (i=0; i<height; i++) { - weed_memcpy(dst,sdata->bgbuf+i*width*psize,width*psize); - dst+=orow; + for (i = 0; i < height; i++) { + weed_memcpy(dst, sdata->bgbuf + i * width * psize, width * psize); + dst += orow; } } @@ -410,21 +411,21 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - const char *modes[]= {"Scanner","Random","Spiral",NULL}; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + const char *modes[] = {"Scanner", "Random", "Spiral", NULL}; //const char *modes[]={"Scanner","Random","Spiral",NULL}; - int palette_list[]= {WEED_PALETTE_RGB24,WEED_PALETTE_BGR24,WEED_PALETTE_YUV888,WEED_PALETTE_YUVA8888,WEED_PALETTE_BGRA32,WEED_PALETTE_RGBA32,WEED_PALETTE_END}; + int palette_list[] = {WEED_PALETTE_RGB24, WEED_PALETTE_BGR24, WEED_PALETTE_YUV888, WEED_PALETTE_YUVA8888, WEED_PALETTE_BGRA32, WEED_PALETTE_RGBA32, WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",0,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",WEED_CHANNEL_REINIT_ON_SIZE_CHANGE|WEED_CHANNEL_REINIT_ON_PALETTE_CHANGE,palette_list),NULL}; - weed_plant_t *in_params[]= {weed_integer_init("r","Number of _rows",3,1,256),weed_integer_init("c","Number of _Columns",3,1,256),weed_string_list_init("m","Stepping Mode",0,modes),NULL}; - weed_plant_t *filter_class=weed_filter_class_init("videowall","salsaman",1,0,&videowall_init,&videowall_process,&videowall_deinit, - in_chantmpls,out_chantmpls,in_params,NULL); + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", 0, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", WEED_CHANNEL_REINIT_ON_SIZE_CHANGE | WEED_CHANNEL_REINIT_ON_PALETTE_CHANGE, palette_list), NULL}; + weed_plant_t *in_params[] = {weed_integer_init("r", "Number of _rows", 3, 1, 256), weed_integer_init("c", "Number of _Columns", 3, 1, 256), weed_string_list_init("m", "Stepping Mode", 0, modes), NULL}; + weed_plant_t *filter_class = weed_filter_class_init("videowall", "salsaman", 1, 0, &videowall_init, &videowall_process, &videowall_deinit, + in_chantmpls, out_chantmpls, in_params, NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info;
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/gdk/vjack_rcv.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/gdk/vjack_rcv.c
Changed
@@ -22,10 +22,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=1; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 1; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -64,7 +64,7 @@ inline int G_GNUC_CONST pl_gdk_last_rowstride_value(int width, int nchans) { // from gdk pixbuf docs - return width*(((nchans<<3)+7)>>3); + return width * (((nchans << 3) + 7) >> 3); } static void plugin_free_buffer(guchar *pixels, gpointer data) { @@ -75,8 +75,8 @@ static inline GdkPixbuf *pl_gdk_pixbuf_cheat(GdkColorspace colorspace, gboolean has_alpha, int bits_per_sample, int width, int height, guchar *buf) { // we can cheat if our buffer is correctly sized - int channels=has_alpha?4:3; - int rowstride=pl_gdk_rowstride_value(width*channels); + int channels = has_alpha ? 4 : 3; + int rowstride = pl_gdk_rowstride_value(width * channels); return gdk_pixbuf_new_from_data(buf, colorspace, has_alpha, bits_per_sample, width, height, rowstride, plugin_free_buffer, NULL); } @@ -84,49 +84,49 @@ static GdkPixbuf *pl_data_to_pixbuf(int palette, int width, int height, int irowstride, guchar *pixel_data) { GdkPixbuf *pixbuf; - int rowstride,orowstride; - gboolean cheat=FALSE; + int rowstride, orowstride; + gboolean cheat = FALSE; gint n_channels; - guchar *pixels,*end; + guchar *pixels, *end; switch (palette) { case WEED_PALETTE_RGB24: case WEED_PALETTE_BGR24: - if (irowstride==pl_gdk_rowstride_value(width*3)) { - pixbuf=pl_gdk_pixbuf_cheat(GDK_COLORSPACE_RGB, FALSE, 8, width, height, pixel_data); - cheat=TRUE; - } else pixbuf=gdk_pixbuf_new(GDK_COLORSPACE_RGB, FALSE, 8, width, height); - n_channels=3; + if (irowstride == pl_gdk_rowstride_value(width * 3)) { + pixbuf = pl_gdk_pixbuf_cheat(GDK_COLORSPACE_RGB, FALSE, 8, width, height, pixel_data); + cheat = TRUE; + } else pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, FALSE, 8, width, height); + n_channels = 3; break; case WEED_PALETTE_RGBA32: case WEED_PALETTE_BGRA32: case WEED_PALETTE_ARGB32: // TODO - change to RGBA ?? - if (irowstride==pl_gdk_rowstride_value(width*4)) { - pixbuf=pl_gdk_pixbuf_cheat(GDK_COLORSPACE_RGB, TRUE, 8, width, height, pixel_data); - cheat=TRUE; - } else pixbuf=gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, width, height); - n_channels=4; + if (irowstride == pl_gdk_rowstride_value(width * 4)) { + pixbuf = pl_gdk_pixbuf_cheat(GDK_COLORSPACE_RGB, TRUE, 8, width, height, pixel_data); + cheat = TRUE; + } else pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, width, height); + n_channels = 4; break; default: return NULL; } - pixels=gdk_pixbuf_get_pixels(pixbuf); - orowstride=gdk_pixbuf_get_rowstride(pixbuf); + pixels = gdk_pixbuf_get_pixels(pixbuf); + orowstride = gdk_pixbuf_get_rowstride(pixbuf); - if (irowstride>orowstride) rowstride=orowstride; - else rowstride=irowstride; - end=pixels+orowstride*height; + if (irowstride > orowstride) rowstride = orowstride; + else rowstride = irowstride; + end = pixels + orowstride * height; if (!cheat) { - gboolean done=FALSE; - for (; pixels<end&&!done; pixels+=orowstride) { - if (pixels+orowstride>=end) { - orowstride=rowstride=pl_gdk_last_rowstride_value(width,n_channels); - done=TRUE; + gboolean done = FALSE; + for (; pixels < end && !done; pixels += orowstride) { + if (pixels + orowstride >= end) { + orowstride = rowstride = pl_gdk_last_rowstride_value(width, n_channels); + done = TRUE; } - weed_memcpy(pixels,pixel_data,rowstride); - if (rowstride<orowstride) weed_memset(pixels+rowstride,0,orowstride-rowstride); - pixel_data+=irowstride; + weed_memcpy(pixels, pixel_data, rowstride); + if (rowstride < orowstride) weed_memset(pixels + rowstride, 0, orowstride - rowstride); + pixel_data += irowstride; } } return pixbuf; @@ -138,26 +138,26 @@ // return TRUE if we can use the original pixbuf pixels int error; - int rowstride=gdk_pixbuf_get_rowstride(pixbuf); - int width=gdk_pixbuf_get_width(pixbuf); - int height=gdk_pixbuf_get_height(pixbuf); - int n_channels=gdk_pixbuf_get_n_channels(pixbuf); - guchar *in_pixel_data=(guchar *)gdk_pixbuf_get_pixels(pixbuf); - int out_rowstride=weed_get_int_value(channel,"rowstrides",&error); - guchar *dst=weed_get_voidptr_value(channel,"pixel_data",&error); + int rowstride = gdk_pixbuf_get_rowstride(pixbuf); + int width = gdk_pixbuf_get_width(pixbuf); + int height = gdk_pixbuf_get_height(pixbuf); + int n_channels = gdk_pixbuf_get_n_channels(pixbuf); + guchar *in_pixel_data = (guchar *)gdk_pixbuf_get_pixels(pixbuf); + int out_rowstride = weed_get_int_value(channel, "rowstrides", &error); + guchar *dst = weed_get_voidptr_value(channel, "pixel_data", &error); register int i; - if (rowstride==pl_gdk_last_rowstride_value(width,n_channels)&&rowstride==out_rowstride) { - weed_memcpy(dst,in_pixel_data,rowstride*height); + if (rowstride == pl_gdk_last_rowstride_value(width, n_channels) && rowstride == out_rowstride) { + weed_memcpy(dst, in_pixel_data, rowstride * height); return FALSE; } - for (i=0; i<height; i++) { - if (i==height-1) rowstride=pl_gdk_last_rowstride_value(width,n_channels); - weed_memcpy(dst,in_pixel_data,rowstride); - in_pixel_data+=rowstride; - dst+=out_rowstride; + for (i = 0; i < height; i++) { + if (i == height - 1) rowstride = pl_gdk_last_rowstride_value(width, n_channels); + weed_memcpy(dst, in_pixel_data, rowstride); + in_pixel_data += rowstride; + dst += out_rowstride; } return FALSE; @@ -182,15 +182,15 @@ int server_process(jack_nframes_t nframes, void *arg) { // this is called by jack when a frame is received - sdata *sd=(sdata *)arg; - unsigned int width=jack_video_get_width(sd->client,sd->input_port); - unsigned int height=jack_video_get_height(sd->client,sd->input_port); + sdata *sd = (sdata *)arg; + unsigned int width = jack_video_get_width(sd->client, sd->input_port); + unsigned int height = jack_video_get_height(sd->client, sd->input_port); unsigned int frame_size; uint8_t *in = jack_port_get_buffer(sd->input_port, nframes); frame_size = width * height * 4; - if (frame_size==0||in==NULL||sd->rb==NULL) return 0; + if (frame_size == 0 || in == NULL || sd->rb == NULL) return 0; // enough space for one more frame if (jack_ringbuffer_write_space(sd->rb) >= frame_size) { @@ -211,40 +211,40 @@ int error; unsigned int out_frame_size; const char *assigned_client_name; - char *server_name,*conffile; + char *server_name, *conffile; jack_options_t options = JackServerName; jack_status_t status; weed_plant_t **in_params; sdata *sd; - char *client_name="Weed-receiver"; - unsigned int out_height,out_width; + char *client_name = "Weed-receiver"; + unsigned int out_height, out_width; //char com[512]; double jack_sample_rate; - sd=weed_malloc(sizeof(sdata)); - if (sd==NULL) return WEED_ERROR_MEMORY_ALLOCATION; + sd = weed_malloc(sizeof(sdata)); + if (sd == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - in_params=weed_get_plantptr_array(inst,"in_parameters",&error); - server_name=weed_get_string_value(in_params[0],"value",&error); - conffile=weed_get_string_value(in_params[1],"value",&error); + in_params = weed_get_plantptr_array(inst, "in_parameters", &error); + server_name = weed_get_string_value(in_params[0], "value", &error); + conffile = weed_get_string_value(in_params[1], "value", &error); weed_free(in_params); instances++; - out_channel=weed_get_plantptr_value(inst,"out_channels",&error); + out_channel = weed_get_plantptr_value(inst, "out_channels", &error); - out_height=weed_get_int_value(out_channel,"height",&error); - out_width=weed_get_int_value(out_channel,"width",&error); + out_height = weed_get_int_value(out_channel, "height", &error); + out_width = weed_get_int_value(out_channel, "width", &error); - out_frame_size=out_width*out_height*4; + out_frame_size = out_width * out_height * 4; #ifdef SMOOTH - sd->bgbuf=weed_malloc(out_frame_size); - if (sd->bgbuf==NULL) { + sd->bgbuf = weed_malloc(out_frame_size); + if (sd->bgbuf == NULL) { weed_free(sd); return WEED_ERROR_MEMORY_ALLOCATION; } - weed_memset(sd->bgbuf,0,out_frame_size); + weed_memset(sd->bgbuf, 0, out_frame_size); #endif // use user defined rc file @@ -258,7 +258,7 @@ // system("/bin/mv -f ~/.jackdrc._bak ~/.jackdrc>/dev/null 2>&1"); - if (sd->client==NULL) { + if (sd->client == NULL) { fprintf(stderr, "jack_client_open() failed, " "status = 0x%2.0x\n", status); if (status & JackServerFailed) { @@ -278,7 +278,7 @@ fprintf(stderr, "unique name `%s' assigned\n", assigned_client_name); } - fprintf(stderr,"engine sample rate: %" PRIu32 "\n", + fprintf(stderr, "engine sample rate: %" PRIu32 "\n", jack_get_sample_rate(sd->client)); @@ -289,7 +289,7 @@ JackPortIsInput, 0); - if (sd->input_port==NULL) { + if (sd->input_port == NULL) { fprintf(stderr, "no more JACK ports available\n"); #ifdef SMOOTH weed_free(sd->bgbuf); @@ -311,14 +311,14 @@ return WEED_ERROR_INIT_ERROR; } - sd->rb=NULL; + sd->rb = NULL; //jack_on_shutdown (client, jack_shutdown, 0); - weed_set_voidptr_value(inst,"plugin_internal",sd); + weed_set_voidptr_value(inst, "plugin_internal", sd); - jack_sample_rate=jack_get_sample_rate(sd->client); + jack_sample_rate = jack_get_sample_rate(sd->client); - weed_set_double_value(inst,"target_fps",jack_sample_rate); // set reasonable value + weed_set_double_value(inst, "target_fps", jack_sample_rate); // set reasonable value return WEED_NO_ERROR; } @@ -327,39 +327,39 @@ // TODO check for server shutdown int error; unsigned int frame_size; - weed_plant_t *out_channel=weed_get_plantptr_value(inst,"out_channels",&error); - unsigned char *dst=weed_get_voidptr_value(out_channel,"pixel_data",&error); - int out_width=weed_get_int_value(out_channel,"width",&error); - int out_height=weed_get_int_value(out_channel,"height",&error); - int wrote=0; - sdata *sd=(sdata *)weed_get_voidptr_value(inst,"plugin_internal",&error); + weed_plant_t *out_channel = weed_get_plantptr_value(inst, "out_channels", &error); + unsigned char *dst = weed_get_voidptr_value(out_channel, "pixel_data", &error); + int out_width = weed_get_int_value(out_channel, "width", &error); + int out_height = weed_get_int_value(out_channel, "height", &error); + int wrote = 0; + sdata *sd = (sdata *)weed_get_voidptr_value(inst, "plugin_internal", &error); - unsigned int in_width=jack_video_get_width(sd->client,sd->input_port); - unsigned int in_height=jack_video_get_height(sd->client,sd->input_port); + unsigned int in_width = jack_video_get_width(sd->client, sd->input_port); + unsigned int in_height = jack_video_get_height(sd->client, sd->input_port); - char *tmpbuff=NULL; + char *tmpbuff = NULL; - GdkPixbuf *in_pixbuf,*out_pixbuf; + GdkPixbuf *in_pixbuf, *out_pixbuf; - int up_interp=GDK_INTERP_HYPER; - int down_interp=GDK_INTERP_BILINEAR; + int up_interp = GDK_INTERP_HYPER; + int down_interp = GDK_INTERP_BILINEAR; - frame_size = in_width*in_height*4; + frame_size = in_width * in_height * 4; - if (frame_size==0) return WEED_NO_ERROR; // not connected to an output + if (frame_size == 0) return WEED_NO_ERROR; // not connected to an output // communication structure between process and display thread - if (sd->rb==NULL) sd->rb = jack_ringbuffer_create(2*in_width*in_height*4); + if (sd->rb == NULL) sd->rb = jack_ringbuffer_create(2 * in_width * in_height * 4); - if (in_width==out_width&&in_height==out_height) { + if (in_width == out_width && in_height == out_height) { while (jack_ringbuffer_read_space(sd->rb) >= frame_size) { jack_ringbuffer_read(sd->rb, (char *)dst, frame_size); - wrote=1; + wrote = 1; } #ifdef SMOOTH - if (!wrote) weed_memcpy(dst,sd->bgbuf,frame_size); - else weed_memcpy(sd->bgbuf,dst,frame_size); + if (!wrote) weed_memcpy(dst, sd->bgbuf, frame_size); + else weed_memcpy(sd->bgbuf, dst, frame_size); #endif return WEED_NO_ERROR; @@ -368,36 +368,36 @@ // resize needed while (jack_ringbuffer_read_space(sd->rb) >= frame_size) { - if (tmpbuff==NULL) tmpbuff = weed_malloc(frame_size); + if (tmpbuff == NULL) tmpbuff = weed_malloc(frame_size); jack_ringbuffer_read(sd->rb, tmpbuff, frame_size); - wrote=1; + wrote = 1; } - frame_size = out_width*out_height*4; + frame_size = out_width * out_height * 4; if (!wrote) { - weed_memcpy(dst,sd->bgbuf,frame_size); + weed_memcpy(dst, sd->bgbuf, frame_size); return WEED_NO_ERROR; } - in_pixbuf=pl_data_to_pixbuf(WEED_PALETTE_RGBA32, in_width, in_height, in_width*4, (guchar *)tmpbuff); + in_pixbuf = pl_data_to_pixbuf(WEED_PALETTE_RGBA32, in_width, in_height, in_width * 4, (guchar *)tmpbuff); - if (out_width>in_width||out_height>in_height) { - out_pixbuf=gdk_pixbuf_scale_simple(in_pixbuf,out_width,out_height,up_interp); + if (out_width > in_width || out_height > in_height) { + out_pixbuf = gdk_pixbuf_scale_simple(in_pixbuf, out_width, out_height, up_interp); } else { - out_pixbuf=gdk_pixbuf_scale_simple(in_pixbuf,out_width,out_height,down_interp); + out_pixbuf = gdk_pixbuf_scale_simple(in_pixbuf, out_width, out_height, down_interp); } g_object_unref(in_pixbuf); weed_free(tmpbuff); - pl_pixbuf_to_channel(out_channel,out_pixbuf); + pl_pixbuf_to_channel(out_channel, out_pixbuf); g_object_unref(out_pixbuf); #ifdef SMOOTH - weed_memcpy(sd->bgbuf,dst,frame_size); + weed_memcpy(sd->bgbuf, dst, frame_size); #endif return WEED_NO_ERROR; @@ -408,17 +408,17 @@ int vjack_rcv_deinit(weed_plant_t *inst) { int error; - sdata *sd=(sdata *)weed_get_voidptr_value(inst,"plugin_internal",&error); + sdata *sd = (sdata *)weed_get_voidptr_value(inst, "plugin_internal", &error); jack_deactivate(sd->client); jack_client_close(sd->client); - if (--instances<0) instances=0; + if (--instances < 0) instances = 0; #ifdef SMOOTH weed_free(sd->bgbuf); #endif - if (sd->rb!=NULL) jack_ringbuffer_free(sd->rb); + if (sd->rb != NULL) jack_ringbuffer_free(sd->rb); weed_free(sd); @@ -430,26 +430,27 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_RGBA32,WEED_PALETTE_END}; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_RGBA32, WEED_PALETTE_END}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",WEED_CHANNEL_REINIT_ON_SIZE_CHANGE,palette_list),NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", WEED_CHANNEL_REINIT_ON_SIZE_CHANGE, palette_list), NULL}; - weed_plant_t *in_params[]= {weed_text_init("servername","_Server name","default"),weed_text_init("conffile","_Config file","~/.jackdrc.vjack"),NULL}; + weed_plant_t *in_params[] = {weed_text_init("servername", "_Server name", "default"), weed_text_init("conffile", "_Config file", "~/.jackdrc.vjack"), NULL}; - weed_plant_t *filter_class=weed_filter_class_init("vjack_rcv","martin/salsaman",1,0,&vjack_rcv_init,&vjack_rcv_process,&vjack_rcv_deinit, - NULL,out_chantmpls,in_params,NULL); + weed_plant_t *filter_class = weed_filter_class_init("vjack_rcv", "martin/salsaman", 1, 0, &vjack_rcv_init, &vjack_rcv_process, + &vjack_rcv_deinit, + NULL, out_chantmpls, in_params, NULL); - weed_plant_t *gui=weed_parameter_template_get_gui(in_params[0]); - weed_set_int_value(gui,"maxchars",32); + weed_plant_t *gui = weed_parameter_template_get_gui(in_params[0]); + weed_set_int_value(gui, "maxchars", 32); - gui=weed_parameter_template_get_gui(in_params[1]); - weed_set_int_value(gui,"maxchars",128); + gui = weed_parameter_template_get_gui(in_params[1]); + weed_set_int_value(gui, "maxchars", 128); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/haip.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/haip.c
Changed
@@ -18,10 +18,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -54,7 +54,7 @@ #define rand_a 1073741789L #define rand_c 32749L - return ((sdata->fastrand_val*=rand_a) + rand_c); + return ((sdata->fastrand_val *= rand_a) + rand_c); } static int ress[8]; @@ -67,10 +67,10 @@ static void init_luma_arrays(void) { register int i; - for (i=0; i<256; i++) { - Y_R[i]=.299*(float)i*256.; - Y_G[i]=.587*(float)i*256.; - Y_B[i]=.114*(float)i*256.; + for (i = 0; i < 256; i++) { + Y_R[i] = .299 * (float)i * 256.; + Y_G[i] = .587 * (float)i * 256.; + Y_B[i] = .114 * (float)i * 256.; } } @@ -79,24 +79,24 @@ int haip_init(weed_plant_t *inst) { _sdata *sdata; int i; - sdata=weed_malloc(sizeof(_sdata)); + sdata = weed_malloc(sizeof(_sdata)); if (sdata == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - sdata->x=sdata->y=-1; + sdata->x = sdata->y = -1; - sdata->fastrand_val=0; // TODO - seed with random seed - weed_set_voidptr_value(inst,"plugin_internal",sdata); + sdata->fastrand_val = 0; // TODO - seed with random seed + weed_set_voidptr_value(inst, "plugin_internal", sdata); - sdata->px=weed_malloc(NUM_WRMS*sizeof(int)); - sdata->py=weed_malloc(NUM_WRMS*sizeof(int)); - sdata->wt=weed_malloc(NUM_WRMS*sizeof(int)); + sdata->px = weed_malloc(NUM_WRMS * sizeof(int)); + sdata->py = weed_malloc(NUM_WRMS * sizeof(int)); + sdata->wt = weed_malloc(NUM_WRMS * sizeof(int)); - for (i=0; i<NUM_WRMS; i++) { - sdata->px[i]=sdata->py[i]=-1; + for (i = 0; i < NUM_WRMS; i++) { + sdata->px[i] = sdata->py[i] = -1; } - sdata->old_width=sdata->old_height=-1; + sdata->old_width = sdata->old_height = -1; return WEED_NO_ERROR; @@ -108,7 +108,7 @@ _sdata *sdata; int error; - sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); + sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); weed_free(sdata->wt); weed_free(sdata->px); weed_free(sdata->py); @@ -118,48 +118,48 @@ static inline int calc_luma(unsigned char *pt) { - return (Y_R[pt[0]]+Y_G[pt[1]]+Y_B[pt[2]])>>8; + return (Y_R[pt[0]] + Y_G[pt[1]] + Y_B[pt[2]]) >> 8; } static int make_eight_table(unsigned char *pt, int row, int luma, int adj) { - int n=0; + int n = 0; - for (n=0; n<8; n++) ress[n]=-1; + for (n = 0; n < 8; n++) ress[n] = -1; - n=0; + n = 0; - if (calc_luma(&pt[-row-3])>=(luma-adj)) { - ress[n]=0; + if (calc_luma(&pt[-row - 3]) >= (luma - adj)) { + ress[n] = 0; n++; } - if (calc_luma(&pt[-row])>=(luma-adj)) { - ress[n]=1; + if (calc_luma(&pt[-row]) >= (luma - adj)) { + ress[n] = 1; n++; } - if (calc_luma(&pt[-row+3])>=(luma-adj)) { - ress[n]=2; + if (calc_luma(&pt[-row + 3]) >= (luma - adj)) { + ress[n] = 2; n++; } - if (calc_luma(&pt[-3])>=(luma-adj)) { - ress[n]=3; + if (calc_luma(&pt[-3]) >= (luma - adj)) { + ress[n] = 3; n++; } - if (calc_luma(&pt[3])>=(luma-adj)) { - ress[n]=4; + if (calc_luma(&pt[3]) >= (luma - adj)) { + ress[n] = 4; n++; } - if (calc_luma(&pt[row-3])>=(luma-adj)) { - ress[n]=5; + if (calc_luma(&pt[row - 3]) >= (luma - adj)) { + ress[n] = 5; n++; } - if (calc_luma(&pt[row])>=(luma-adj)) { - ress[n]=6; + if (calc_luma(&pt[row]) >= (luma - adj)) { + ress[n] = 6; n++; } - if (calc_luma(&pt[row+3])>=(luma-adj)) { - ress[n]=7; + if (calc_luma(&pt[row + 3]) >= (luma - adj)) { + ress[n] = 7; n++; } @@ -168,47 +168,47 @@ static int select_dir(_sdata *sdata) { - int num_choices=1; + int num_choices = 1; int i; int mychoice; - for (i=0; i<8; i++) { - if (ress[i]!=-1) num_choices++; + for (i = 0; i < 8; i++) { + if (ress[i] != -1) num_choices++; } - if (num_choices==0) return 1; + if (num_choices == 0) return 1; - sdata->fastrand_val=fastrand(sdata); - mychoice=(int)(((sdata->fastrand_val>>24)/255.*num_choices)); + sdata->fastrand_val = fastrand(sdata); + mychoice = (int)(((sdata->fastrand_val >> 24) / 255.*num_choices)); switch (ress[mychoice]) { case 0: - sdata->x=sdata->x-1; - sdata->y=sdata->y-1; + sdata->x = sdata->x - 1; + sdata->y = sdata->y - 1; break; case 1: - sdata->y=sdata->y-1; + sdata->y = sdata->y - 1; break; case 2: - sdata->x=sdata->x+1; - sdata->y=sdata->y-1; + sdata->x = sdata->x + 1; + sdata->y = sdata->y - 1; break; case 3: - sdata->x=sdata->x-1; + sdata->x = sdata->x - 1; break; case 4: - sdata->x=sdata->x+1; + sdata->x = sdata->x + 1; break; case 5: - sdata->x=sdata->x-1; - sdata->y=sdata->y+1; + sdata->x = sdata->x - 1; + sdata->y = sdata->y + 1; break; case 6: - sdata->y=sdata->y+1; + sdata->y = sdata->y + 1; break; case 7: - sdata->x=sdata->x+1; - sdata->y=sdata->y+1; + sdata->x = sdata->x + 1; + sdata->y = sdata->y + 1; break; } return 0; @@ -217,28 +217,37 @@ static inline void nine_fill(unsigned char *new_data, int row, unsigned char *old_data) { // fill nine pixels with the centre colour - new_data[-row-3]=new_data[-row]=new_data[-row+3]=new_data[-3]=new_data[0]=new_data[3]=new_data[row-3]=new_data[row]=new_data[row+3]= - old_data[0]; - new_data[-row-2]=new_data[-row+1]=new_data[-row+4]=new_data[-2]=new_data[1]=new_data[4]=new_data[row-2]=new_data[row+1]=new_data[row+4]= - old_data[1]; - new_data[-row-1]=new_data[-row+2]=new_data[-row+5]=new_data[-1]=new_data[2]=new_data[5]=new_data[row-1]=new_data[row+2]=new_data[row+5]= - old_data[2]; + new_data[-row - 3] = new_data[-row] = new_data[-row + 3] = new_data[-3] = new_data[0] = new_data[3] = new_data[row - 3] = new_data[row] = + new_data[row + 3] = + old_data[0]; + new_data[-row - 2] = new_data[-row + 1] = new_data[-row + 4] = new_data[-2] = new_data[1] = new_data[4] = new_data[row - 2] = new_data[row + + 1] = new_data[row + 4] = + old_data[1]; + new_data[-row - 1] = new_data[-row + 2] = new_data[-row + 5] = new_data[-1] = new_data[2] = new_data[5] = new_data[row - 1] = new_data[row + + 2] = new_data[row + 5] = + old_data[2]; } static inline void black_fill(unsigned char *new_data, int row) { // fill nine pixels with the centre colour - new_data[-row-3]=new_data[-row]=new_data[-row+3]=new_data[-3]=new_data[0]=new_data[3]=new_data[row-3]=new_data[row]=new_data[row+3]=0; - new_data[-row-2]=new_data[-row+1]=new_data[-row+4]=new_data[-2]=new_data[1]=new_data[4]=new_data[row-2]=new_data[row+1]=new_data[row+4]=0; - new_data[-row-1]=new_data[-row+2]=new_data[-row+5]=new_data[-1]=new_data[2]=new_data[5]=new_data[row-1]=new_data[row+2]=new_data[row+5]=0; + new_data[-row - 3] = new_data[-row] = new_data[-row + 3] = new_data[-3] = new_data[0] = new_data[3] = new_data[row - 3] = new_data[row] = + new_data[row + 3] = 0; + new_data[-row - 2] = new_data[-row + 1] = new_data[-row + 4] = new_data[-2] = new_data[1] = new_data[4] = new_data[row - 2] = new_data[row + + 1] = new_data[row + 4] = 0; + new_data[-row - 1] = new_data[-row + 2] = new_data[-row + 5] = new_data[-1] = new_data[2] = new_data[5] = new_data[row - 1] = new_data[row + + 2] = new_data[row + 5] = 0; } static inline void white_fill(unsigned char *new_data, int row) { // fill nine pixels with the centre colour - new_data[-row-3]=new_data[-row]=new_data[-row+3]=new_data[-3]=new_data[0]=new_data[3]=new_data[row-3]=new_data[row]=new_data[row+3]=255; - new_data[-row-2]=new_data[-row+1]=new_data[-row+4]=new_data[-2]=new_data[1]=new_data[4]=new_data[row-2]=new_data[row+1]=new_data[row+4]=255; - new_data[-row-1]=new_data[-row+2]=new_data[-row+5]=new_data[-1]=new_data[2]=new_data[5]=new_data[row-1]=new_data[row+2]=new_data[row+5]=255; + new_data[-row - 3] = new_data[-row] = new_data[-row + 3] = new_data[-3] = new_data[0] = new_data[3] = new_data[row - 3] = new_data[row] = + new_data[row + 3] = 255; + new_data[-row - 2] = new_data[-row + 1] = new_data[-row + 4] = new_data[-2] = new_data[1] = new_data[4] = new_data[row - 2] = new_data[row + + 1] = new_data[row + 4] = 255; + new_data[-row - 1] = new_data[-row + 2] = new_data[-row + 5] = new_data[-1] = new_data[2] = new_data[5] = new_data[row - 1] = new_data[row + + 2] = new_data[row + 5] = 255; } @@ -246,13 +255,13 @@ //nine_fill(&dest[rows*y+x*3],rows,&src[rows*y+x*3]); switch (wt) { case 0: - black_fill(&dest[orows*y+x*3],orows); + black_fill(&dest[orows * y + x * 3], orows); break; case 1: - white_fill(&dest[orows*y+x*3],orows); + white_fill(&dest[orows * y + x * 3], orows); break; case 2: - nine_fill(&dest[orows*y+x*3],orows,&src[irows*y+x*3]); + nine_fill(&dest[orows * y + x * 3], orows, &src[irows * y + x * 3]); break; } } @@ -260,79 +269,80 @@ int haip_process(weed_plant_t *inst, weed_timecode_t timestamp) { _sdata *sdata; int error; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error),*out_channel=weed_get_plantptr_value(inst,"out_channels", - &error); - unsigned char *src=weed_get_voidptr_value(in_channel,"pixel_data",&error); - unsigned char *dst=weed_get_voidptr_value(out_channel,"pixel_data",&error); - int width=weed_get_int_value(in_channel,"width",&error),width3=width*3; - int height=weed_get_int_value(in_channel,"height",&error); - int irowstride=weed_get_int_value(in_channel,"rowstrides",&error); - int orowstride=weed_get_int_value(out_channel,"rowstrides",&error); + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error), *out_channel = weed_get_plantptr_value(inst, + "out_channels", + &error); + unsigned char *src = weed_get_voidptr_value(in_channel, "pixel_data", &error); + unsigned char *dst = weed_get_voidptr_value(out_channel, "pixel_data", &error); + int width = weed_get_int_value(in_channel, "width", &error), width3 = width * 3; + int height = weed_get_int_value(in_channel, "height", &error); + int irowstride = weed_get_int_value(in_channel, "rowstrides", &error); + int orowstride = weed_get_int_value(out_channel, "rowstrides", &error); register int i; - float scalex,scaley; + float scalex, scaley; unsigned char *pt; int count; - int luma,adj; + int luma, adj; - sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); + sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); - for (i=0; i<height; i++) { - weed_memcpy(&dst[i*orowstride],&src[i*irowstride],width3); + for (i = 0; i < height; i++) { + weed_memcpy(&dst[i * orowstride], &src[i * irowstride], width3); } - if (sdata->old_width==-1) { - sdata->old_width=width; - sdata->old_height=height; + if (sdata->old_width == -1) { + sdata->old_width = width; + sdata->old_height = height; } - scalex=(float)width/(float)sdata->old_width; - scaley=(float)height/(float)sdata->old_height; - - for (i=0; i<NUM_WRMS; i++) { - count=1000; - if (sdata->px[i]==-1) { - sdata->fastrand_val=fastrand(sdata); - sdata->px[i]=(int)(((sdata->fastrand_val>>24)/255.*(width-2)))+1; - sdata->fastrand_val=fastrand(sdata); - sdata->py[i]=(int)(((sdata->fastrand_val>>24)/255.*(height-2)))+1; - sdata->fastrand_val=fastrand(sdata); - sdata->wt[i]=(int)(((sdata->fastrand_val>>24)/255.*2)); + scalex = (float)width / (float)sdata->old_width; + scaley = (float)height / (float)sdata->old_height; + + for (i = 0; i < NUM_WRMS; i++) { + count = 1000; + if (sdata->px[i] == -1) { + sdata->fastrand_val = fastrand(sdata); + sdata->px[i] = (int)(((sdata->fastrand_val >> 24) / 255.*(width - 2))) + 1; + sdata->fastrand_val = fastrand(sdata); + sdata->py[i] = (int)(((sdata->fastrand_val >> 24) / 255.*(height - 2))) + 1; + sdata->fastrand_val = fastrand(sdata); + sdata->wt[i] = (int)(((sdata->fastrand_val >> 24) / 255.*2)); } - sdata->x=(float)sdata->px[i]*scalex; - sdata->y=(float)sdata->py[i]*scaley; + sdata->x = (float)sdata->px[i] * scalex; + sdata->y = (float)sdata->py[i] * scaley; - while (count>0) { - if (sdata->x<1) sdata->x++; - if (sdata->x>width-2) sdata->x=width-2; - if (sdata->y<1) sdata->y++; - if (sdata->y>height-2) sdata->y=height-2; + while (count > 0) { + if (sdata->x < 1) sdata->x++; + if (sdata->x > width - 2) sdata->x = width - 2; + if (sdata->y < 1) sdata->y++; + if (sdata->y > height - 2) sdata->y = height - 2; - proc_pt(dst,src,sdata->x,sdata->y,orowstride,irowstride,sdata->wt[i]); + proc_pt(dst, src, sdata->x, sdata->y, orowstride, irowstride, sdata->wt[i]); - if (sdata->x<1) sdata->x++; - if (sdata->x>width-2) sdata->x=width-2; - if (sdata->y<1) sdata->y++; - if (sdata->y>height-2) sdata->y=height-2; - pt=&src[sdata->y*irowstride+sdata->x*3]; + if (sdata->x < 1) sdata->x++; + if (sdata->x > width - 2) sdata->x = width - 2; + if (sdata->y < 1) sdata->y++; + if (sdata->y > height - 2) sdata->y = height - 2; + pt = &src[sdata->y * irowstride + sdata->x * 3]; - luma=calc_luma(pt); - adj=0; + luma = calc_luma(pt); + adj = 0; - make_eight_table(pt,irowstride,luma,adj); - if (((count<<7)>>7)==count) select_dir(sdata); + make_eight_table(pt, irowstride, luma, adj); + if (((count << 7) >> 7) == count) select_dir(sdata); count--; } - sdata->px[i]=sdata->x; - sdata->py[i]=sdata->y; + sdata->px[i] = sdata->x; + sdata->py[i] = sdata->y; } - sdata->old_width=width; - sdata->old_height=height; + sdata->old_width = width; + sdata->old_height = height; return WEED_NO_ERROR; } @@ -341,18 +351,19 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_BGR24,WEED_PALETTE_RGB24,WEED_PALETTE_END}; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_BGR24, WEED_PALETTE_RGB24, WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",0,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",0,palette_list),NULL}; - weed_plant_t *filter_class=weed_filter_class_init("haip","salsaman",1,0,&haip_init,&haip_process,&haip_deinit,in_chantmpls,out_chantmpls, - NULL,NULL); + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", 0, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", 0, palette_list), NULL}; + weed_plant_t *filter_class = weed_filter_class_init("haip", "salsaman", 1, 0, &haip_init, &haip_process, &haip_deinit, in_chantmpls, + out_chantmpls, + NULL, NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); init_luma_arrays(); } return plugin_info;
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/kaleidoscope.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/kaleidoscope.c
Changed
@@ -18,10 +18,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -65,60 +65,60 @@ static void calc_center(float side, float j, float i, float *x, float *y) { // find nearest hex center - int gridx,gridy; + int gridx, gridy; - float secx,secy; + float secx, secy; - float sidex=side*RT3; // 2 * side * cos(30) - float sidey=side*1.5; // side + sin(30) + float sidex = side * RT3; // 2 * side * cos(30) + float sidey = side * 1.5; // side + sin(30) - float hsidex=sidex/2.,hsidey=sidey/2.; + float hsidex = sidex / 2., hsidey = sidey / 2.; - i-=side/5.3; + i -= side / 5.3; - if (i>0.) i+=hsidey; - else i-=hsidey; - if (j>0.) j+=hsidex; - else j-=hsidex; + if (i > 0.) i += hsidey; + else i -= hsidey; + if (j > 0.) j += hsidex; + else j -= hsidex; // find the square first - gridy=i/sidey; - gridx=j/sidex; + gridy = i / sidey; + gridx = j / sidex; // center - *y=gridy*sidey; - *x=gridx*sidex; + *y = gridy * sidey; + *x = gridx * sidex; - secy=i-*y; - secx=j-*x; + secy = i - *y; + secx = j - *x; - if (secy<0.) secy+=sidey; - if (secx<0.) secx+=sidex; + if (secy < 0.) secy += sidey; + if (secx < 0.) secx += sidex; - if (!(gridy&1)) { + if (!(gridy & 1)) { // even row (inverted Y) - if (secy>(sidey-(hsidex-secx)*RT322)) { - *y+=sidey; - *x-=hsidex; - } else if (secy>sidey-(secx-hsidex)*RT322) { - *y+=sidey; - *x+=hsidex; + if (secy > (sidey - (hsidex - secx)*RT322)) { + *y += sidey; + *x -= hsidex; + } else if (secy > sidey - (secx - hsidex)*RT322) { + *y += sidey; + *x += hsidex; } } else { // odd row, center is left or right (Y) - if (secx<=hsidex) { - if (secy<(sidey-secx*RT322)) { - *x-=hsidex; - } else *y+=sidey; + if (secx <= hsidex) { + if (secy < (sidey - secx * RT322)) { + *x -= hsidex; + } else *y += sidey; } else { - if (secy<sidey-(sidex-secx)*RT322) { - *x+=hsidex; - } else *y+=sidey; + if (secy < sidey - (sidex - secx)*RT322) { + *x += hsidex; + } else *y += sidey; } } } @@ -126,30 +126,30 @@ static float calc_angle(float y, float x) { - if (x>0.) { - if (y>=0.) return atanf(y/x); - return TWO_PI+atanf(y/x); + if (x > 0.) { + if (y >= 0.) return atanf(y / x); + return TWO_PI + atanf(y / x); } - if (x<-0.) { - return atanf(y/x)+M_PI; + if (x < -0.) { + return atanf(y / x) + M_PI; } - if (y>0.) return ONE_PI2; + if (y > 0.) return ONE_PI2; return THREE_PI2; } static float calc_dist(float x, float y) { - return sqrtf((x*x+y*y)); + return sqrtf((x * x + y * y)); } static void rotate(float r, float theta, float angle, float *x, float *y) { - theta+=angle; - if (theta<0.) theta+=TWO_PI; - else if (theta>=TWO_PI) theta-=TWO_PI; + theta += angle; + if (theta < 0.) theta += TWO_PI; + else if (theta >= TWO_PI) theta -= TWO_PI; - *x=r*cos(theta); - *y=r*sin(theta); + *x = r * cos(theta); + *y = r * sin(theta); } @@ -159,57 +159,57 @@ // return 0 if src is oob - float adif=theta-angle; + float adif = theta - angle; float stheta; - int sx,sy; + int sx, sy; - if (adif<0.) adif+=TWO_PI; - else if (adif>=TWO_PI) adif-=TWO_PI; + if (adif < 0.) adif += TWO_PI; + else if (adif >= TWO_PI) adif -= TWO_PI; - theta-=angle; + theta -= angle; - if (theta<0.) theta+=TWO_PI; - else if (theta>TWO_PI) theta-=TWO_PI; + if (theta < 0.) theta += TWO_PI; + else if (theta > TWO_PI) theta -= TWO_PI; if (adif < ONE_PI3) { - stheta=theta; + stheta = theta; } else if (adif < TWO_PI3) { // get coords of src point - stheta=TWO_PI3-theta; + stheta = TWO_PI3 - theta; } else if (adif < M_PI) { // get coords of src point - stheta=theta-TWO_PI3; + stheta = theta - TWO_PI3; } else if (adif < FOUR_PI3) { // get coords of src point - stheta=FOUR_PI3-theta; + stheta = FOUR_PI3 - theta; } else if (adif < FIVE_PI3) { // get coords of src point - stheta=theta-FOUR_PI3; + stheta = theta - FOUR_PI3; } else { // get coords of src point - stheta=TWO_PI-theta; + stheta = TWO_PI - theta; } - stheta+=angle; + stheta += angle; - sx=r*cos(stheta)+.5; - sy=r*sin(stheta)+.5; + sx = r * cos(stheta) + .5; + sy = r * sin(stheta) + .5; - if (sy<-hheight||sy>=hheight||sx<-hwidth||sx>=hwidth) { + if (sy < -hheight || sy >= hheight || sx < -hwidth || sx >= hwidth) { return 0; } - weed_memcpy(dst,src-sy*irowstride+sx*psize,psize); + weed_memcpy(dst, src - sy * irowstride + sx * psize, psize); return 1; } @@ -217,134 +217,135 @@ int kal_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error),*out_channel=weed_get_plantptr_value(inst,"out_channels", - &error); - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); - unsigned char *src=weed_get_voidptr_value(in_channel,"pixel_data",&error); - unsigned char *dst=weed_get_voidptr_value(out_channel,"pixel_data",&error); + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error), *out_channel = weed_get_plantptr_value(inst, + "out_channels", + &error); + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); + unsigned char *src = weed_get_voidptr_value(in_channel, "pixel_data", &error); + unsigned char *dst = weed_get_voidptr_value(out_channel, "pixel_data", &error); - sdata *sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); + sdata *sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); - float theta,r,xangle; + float theta, r, xangle; - float x,y,a,b; + float x, y, a, b; - float side,fi,fj; + float side, fi, fj; - float anglerot=0.; - double dtime,sfac,angleoffs; + float anglerot = 0.; + double dtime, sfac, angleoffs; - int width=weed_get_int_value(in_channel,"width",&error),hwidth=width>>1; - int height=weed_get_int_value(in_channel,"height",&error),hheight=height>>1; - int palette=weed_get_int_value(in_channel,"current_palette",&error); - int irowstride=weed_get_int_value(in_channel,"rowstrides",&error); - int orowstride=weed_get_int_value(out_channel,"rowstrides",&error); - int psize=4; + int width = weed_get_int_value(in_channel, "width", &error), hwidth = width >> 1; + int height = weed_get_int_value(in_channel, "height", &error), hheight = height >> 1; + int palette = weed_get_int_value(in_channel, "current_palette", &error); + int irowstride = weed_get_int_value(in_channel, "rowstrides", &error); + int orowstride = weed_get_int_value(out_channel, "rowstrides", &error); + int psize = 4; int sizerev; - int start,end; + int start, end; - int upd=1; + int upd = 1; - register int i,j; + register int i, j; - if (width<height) side=width/2./RT32; - else side=height/2.; + if (width < height) side = width / 2. / RT32; + else side = height / 2.; - sfac=log(weed_get_double_value(in_params[0],"value",&error))/2.; + sfac = log(weed_get_double_value(in_params[0], "value", &error)) / 2.; - angleoffs=weed_get_double_value(in_params[1],"value",&error); + angleoffs = weed_get_double_value(in_params[1], "value", &error); - if (sdata->old_tc!=0&×tamp>sdata->old_tc) { - anglerot=(float)weed_get_double_value(in_params[2],"value",&error); - dtime=(double)(timestamp-sdata->old_tc)/100000000.; - anglerot*=(float)dtime; - while (anglerot>=TWO_PI) anglerot-=TWO_PI; + if (sdata->old_tc != 0 && timestamp > sdata->old_tc) { + anglerot = (float)weed_get_double_value(in_params[2], "value", &error); + dtime = (double)(timestamp - sdata->old_tc) / 100000000.; + anglerot *= (float)dtime; + while (anglerot >= TWO_PI) anglerot -= TWO_PI; } - if (weed_get_boolean_value(in_params[4],"value",&error)==WEED_TRUE) anglerot=-anglerot; + if (weed_get_boolean_value(in_params[4], "value", &error) == WEED_TRUE) anglerot = -anglerot; - sizerev=weed_get_boolean_value(in_params[5],"value",&error); + sizerev = weed_get_boolean_value(in_params[5], "value", &error); weed_free(in_params); - xangle=sdata->angle+(float)angleoffs/360.*TWO_PI; - if (xangle>=TWO_PI) xangle-=TWO_PI; + xangle = sdata->angle + (float)angleoffs / 360.*TWO_PI; + if (xangle >= TWO_PI) xangle -= TWO_PI; - if (sdata->owidth!=width||sdata->oheight!=height) { - if (sizerev&&sdata->owidth!=0&&sdata->oheight!=0) sdata->revrot=1-sdata->revrot; - sdata->owidth=width; - sdata->oheight=height; + if (sdata->owidth != width || sdata->oheight != height) { + if (sizerev && sdata->owidth != 0 && sdata->oheight != 0) sdata->revrot = 1 - sdata->revrot; + sdata->owidth = width; + sdata->oheight = height; } - if (sdata->revrot) anglerot=-anglerot; + if (sdata->revrot) anglerot = -anglerot; - side*=(float)sfac; + side *= (float)sfac; - if (palette==WEED_PALETTE_RGB24||palette==WEED_PALETTE_BGR24) psize=3; + if (palette == WEED_PALETTE_RGB24 || palette == WEED_PALETTE_BGR24) psize = 3; - src+=hheight*irowstride+hwidth*psize; + src += hheight * irowstride + hwidth * psize; - start=hheight; - end=-hheight; + start = hheight; + end = -hheight; // new threading arch - if (weed_plant_has_leaf(out_channel,"offset")) { - int offset=weed_get_int_value(out_channel,"offset",&error); - int dheight=weed_get_int_value(out_channel,"height",&error); + if (weed_plant_has_leaf(out_channel, "offset")) { + int offset = weed_get_int_value(out_channel, "offset", &error); + int dheight = weed_get_int_value(out_channel, "height", &error); - if (offset>0) upd=0; + if (offset > 0) upd = 0; - start-=offset; - dst+=offset*orowstride; - end=start-dheight; + start -= offset; + dst += offset * orowstride; + end = start - dheight; } - orowstride-=psize*(hwidth<<1); + orowstride -= psize * (hwidth << 1); - for (i=start; i>end; i--) { - for (j=-hwidth; j<hwidth; j++) { + for (i = start; i > end; i--) { + for (j = -hwidth; j < hwidth; j++) { // rotate point to line up with hex grid - theta=calc_angle((fi=(float)i),(fj=(float)j)); // get angle of this point from origin - r=calc_dist(fi,fj); // get dist of point from origin - rotate(r,theta,-xangle+ONE_PI2,&a,&b); // since our central hex has rotated by angle, so has the hex grid - so compensate + theta = calc_angle((fi = (float)i), (fj = (float)j)); // get angle of this point from origin + r = calc_dist(fi, fj); // get dist of point from origin + rotate(r, theta, -xangle + ONE_PI2, &a, &b); // since our central hex has rotated by angle, so has the hex grid - so compensate // find hex center and angle to it - calc_center(side,a,b,&x,&y); + calc_center(side, a, b, &x, &y); // rotate hex center - theta=calc_angle(y,x); - r=calc_dist(x,y); - rotate(r,theta,xangle-ONE_PI2,&a,&b); - - theta=calc_angle(fi-b,fj-a); - r=calc_dist(b-fi,a-fj); - - if (r<10.) r=10.; - - if (!put_pixel(src,dst,psize,xangle,theta,r,irowstride,hheight,hwidth)) { - if (palette==WEED_PALETTE_RGB24||palette==WEED_PALETTE_BGR24) { - weed_memset(dst,0,3); - } else if (palette==WEED_PALETTE_RGBA32||palette==WEED_PALETTE_BGRA32) { - weed_memset(dst,0,3); - dst[3]=255; - } else if (palette==WEED_PALETTE_ARGB32) { - weed_memset(dst+1,0,3); - dst[0]=255; + theta = calc_angle(y, x); + r = calc_dist(x, y); + rotate(r, theta, xangle - ONE_PI2, &a, &b); + + theta = calc_angle(fi - b, fj - a); + r = calc_dist(b - fi, a - fj); + + if (r < 10.) r = 10.; + + if (!put_pixel(src, dst, psize, xangle, theta, r, irowstride, hheight, hwidth)) { + if (palette == WEED_PALETTE_RGB24 || palette == WEED_PALETTE_BGR24) { + weed_memset(dst, 0, 3); + } else if (palette == WEED_PALETTE_RGBA32 || palette == WEED_PALETTE_BGRA32) { + weed_memset(dst, 0, 3); + dst[3] = 255; + } else if (palette == WEED_PALETTE_ARGB32) { + weed_memset(dst + 1, 0, 3); + dst[0] = 255; } } - dst+=psize; + dst += psize; } - dst+=orowstride; + dst += orowstride; } if (upd) { - sdata->angle+=anglerot*TWO_PI; - if (sdata->angle>=TWO_PI) sdata->angle-=TWO_PI; - else if (sdata->angle<0.) sdata->angle+=TWO_PI; - sdata->old_tc=timestamp; + sdata->angle += anglerot * TWO_PI; + if (sdata->angle >= TWO_PI) sdata->angle -= TWO_PI; + else if (sdata->angle < 0.) sdata->angle += TWO_PI; + sdata->old_tc = timestamp; } return WEED_NO_ERROR; @@ -353,15 +354,15 @@ int kal_init(weed_plant_t *inst) { - sdata *sd=(sdata *)weed_malloc(sizeof(sdata)); - if (sd==NULL) return WEED_ERROR_MEMORY_ALLOCATION; + sdata *sd = (sdata *)weed_malloc(sizeof(sdata)); + if (sd == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - sd->angle=0.; - sd->old_tc=0; - sd->revrot=0; - sd->owidth=sd->oheight=0; + sd->angle = 0.; + sd->old_tc = 0; + sd->revrot = 0; + sd->owidth = sd->oheight = 0; - weed_set_voidptr_value(inst,"plugin_internal",sd); + weed_set_voidptr_value(inst, "plugin_internal", sd); return WEED_NO_ERROR; @@ -371,7 +372,7 @@ int kal_deinit(weed_plant_t *inst) { int error; - sdata *sd=weed_get_voidptr_value(inst,"plugin_internal",&error); + sdata *sd = weed_get_voidptr_value(inst, "plugin_internal", &error); weed_free(sd); @@ -383,37 +384,37 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_BGR24,WEED_PALETTE_RGB24,WEED_PALETTE_RGBA32,WEED_PALETTE_BGRA32,WEED_PALETTE_ARGB32,WEED_PALETTE_END}; - - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",0,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",0,palette_list),NULL}; - weed_plant_t *in_params[]= { weed_float_init("szlen","_Size (log)",5.62,1.,10.), - weed_float_init("offset","_Offset angle",0.,0.,359.), - weed_float_init("rotsec","_Rotations per second",0.2,0.,4.), - weed_radio_init("acw","_Anti-clockwise",WEED_TRUE,1), - weed_radio_init("cw","_Clockwise",WEED_FALSE,1), - weed_switch_init("szc","_Switch direction on frame size change",WEED_FALSE), + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_BGR24, WEED_PALETTE_RGB24, WEED_PALETTE_RGBA32, WEED_PALETTE_BGRA32, WEED_PALETTE_ARGB32, WEED_PALETTE_END}; + + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", 0, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", 0, palette_list), NULL}; + weed_plant_t *in_params[] = { weed_float_init("szlen", "_Size (log)", 5.62, 1., 10.), + weed_float_init("offset", "_Offset angle", 0., 0., 359.), + weed_float_init("rotsec", "_Rotations per second", 0.2, 0., 4.), + weed_radio_init("acw", "_Anti-clockwise", WEED_TRUE, 1), + weed_radio_init("cw", "_Clockwise", WEED_FALSE, 1), + weed_switch_init("szc", "_Switch direction on frame size change", WEED_FALSE), NULL - }; + }; - weed_plant_t *filter_class=weed_filter_class_init("kaleidoscope","salsaman",1,WEED_FILTER_HINT_MAY_THREAD, - &kal_init,&kal_process,&kal_deinit,in_chantmpls,out_chantmpls,in_params,NULL); + weed_plant_t *filter_class = weed_filter_class_init("kaleidoscope", "salsaman", 1, WEED_FILTER_HINT_MAY_THREAD, + &kal_init, &kal_process, &kal_deinit, in_chantmpls, out_chantmpls, in_params, NULL); - weed_plant_t *gui=weed_parameter_template_get_gui(in_params[2]); + weed_plant_t *gui = weed_parameter_template_get_gui(in_params[2]); - weed_set_boolean_value(in_params[1],"wrap",WEED_TRUE); + weed_set_boolean_value(in_params[1], "wrap", WEED_TRUE); - weed_set_double_value(gui,"step_size",.1); + weed_set_double_value(gui, "step_size", .1); - gui=weed_parameter_template_get_gui(in_params[0]); + gui = weed_parameter_template_get_gui(in_params[0]); - weed_set_double_value(gui,"step_size",.1); + weed_set_double_value(gui, "step_size", .1); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info;
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/ladspa.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/ladspa.c
Changed
@@ -18,10 +18,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=1; // number of different weed api versions supported -static int api_versions[]= {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 1; // number of different weed api versions supported +static int api_versions[] = {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -77,13 +77,13 @@ static void getenv_piece(char *target, size_t tlen, char *envvar, int num) { // get num piece from envvar path and set in target char *str1; - memset(target,0,1); + memset(target, 0, 1); /* extract first string from string sequence */ str1 = strtok(envvar, ":"); /* loop until finishied */ - while (--num>=0) { + while (--num >= 0) { /* extract string from string sequence */ str1 = strtok(NULL, ":"); @@ -91,24 +91,24 @@ if (str1 == NULL) break; } - if (str1!=NULL) snprintf(target,tlen,"%s",str1); + if (str1 != NULL) snprintf(target, tlen, "%s", str1); } static int float_deinterleave(float *fbuffer, int nsamps, int nchans) { // deinterleave a float buffer - register int i,j; + register int i, j; - float *tmpfbuffer=(float *)weed_malloc(nsamps*nchans*sizeof(float)); - if (tmpfbuffer==NULL) return WEED_ERROR_MEMORY_ALLOCATION; + float *tmpfbuffer = (float *)weed_malloc(nsamps * nchans * sizeof(float)); + if (tmpfbuffer == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - for (i=0; i<nsamps; i++) { - for (j=0; j<nchans; j++) { - tmpfbuffer[nsamps*j+i]=fbuffer[i*nchans+j]; + for (i = 0; i < nsamps; i++) { + for (j = 0; j < nchans; j++) { + tmpfbuffer[nsamps * j + i] = fbuffer[i * nchans + j]; } } - weed_memcpy(fbuffer,tmpfbuffer,nsamps*nchans*sizeof(float)); + weed_memcpy(fbuffer, tmpfbuffer, nsamps * nchans * sizeof(float)); weed_free(tmpfbuffer); return WEED_NO_ERROR; } @@ -116,17 +116,17 @@ static int float_interleave(float *fbuffer, int nsamps, int nchans) { // deinterleave a float buffer - register int i,j; + register int i, j; - float *tmpfbuffer=(float *)weed_malloc(nsamps*nchans*sizeof(float)); - if (tmpfbuffer==NULL) return WEED_ERROR_MEMORY_ALLOCATION; + float *tmpfbuffer = (float *)weed_malloc(nsamps * nchans * sizeof(float)); + if (tmpfbuffer == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - for (i=0; i<nsamps; i++) { - for (j=0; j<nchans; j++) { - tmpfbuffer[i*nchans+j]=fbuffer[j*nsamps+i]; + for (i = 0; i < nsamps; i++) { + for (j = 0; j < nchans; j++) { + tmpfbuffer[i * nchans + j] = fbuffer[j * nsamps + i]; } } - weed_memcpy(fbuffer,tmpfbuffer,nsamps*nchans*sizeof(float)); + weed_memcpy(fbuffer, tmpfbuffer, nsamps * nchans * sizeof(float)); weed_free(tmpfbuffer); return WEED_NO_ERROR; } @@ -138,60 +138,60 @@ int ladspa_init(weed_plant_t *inst) { int error; - weed_plant_t *channel=NULL; - weed_plant_t *filter=weed_get_plantptr_value(inst,"filter_class",&error); + weed_plant_t *channel = NULL; + weed_plant_t *filter = weed_get_plantptr_value(inst, "filter_class", &error); - lad_instantiate_f lad_instantiate_func=(lad_instantiate_f)weed_get_voidptr_value(filter,"plugin_lad_instantiate_func",&error); - LADSPA_Descriptor *laddes=(LADSPA_Descriptor *)weed_get_voidptr_value(filter,"plugin_lad_descriptor",&error); + lad_instantiate_f lad_instantiate_func = (lad_instantiate_f)weed_get_voidptr_value(filter, "plugin_lad_instantiate_func", &error); + LADSPA_Descriptor *laddes = (LADSPA_Descriptor *)weed_get_voidptr_value(filter, "plugin_lad_descriptor", &error); _sdata *sdata; - int rate=0; - int pinc,poutc; + int rate = 0; + int pinc, poutc; register int i; - sdata=(_sdata *)weed_malloc(sizeof(_sdata)); - if (sdata==NULL) { + sdata = (_sdata *)weed_malloc(sizeof(_sdata)); + if (sdata == NULL) { return WEED_ERROR_MEMORY_ALLOCATION; } - if (weed_plant_has_leaf(inst,"in_channels")) channel=weed_get_plantptr_value(inst,"in_channels",&error); - if (channel==NULL&&weed_plant_has_leaf(inst,"out_channels")) channel=weed_get_plantptr_value(inst,"out_channels",&error); + if (weed_plant_has_leaf(inst, "in_channels")) channel = weed_get_plantptr_value(inst, "in_channels", &error); + if (channel == NULL && weed_plant_has_leaf(inst, "out_channels")) channel = weed_get_plantptr_value(inst, "out_channels", &error); - if (channel!=NULL) rate=weed_get_int_value(channel,"audio_rate",&error); + if (channel != NULL) rate = weed_get_int_value(channel, "audio_rate", &error); - if (rate==0) rate=DEF_ARATE; + if (rate == 0) rate = DEF_ARATE; - pinc=weed_get_int_value(filter,"plugin_in_channels",&error); - poutc=weed_get_int_value(filter,"plugin_out_channels",&error); + pinc = weed_get_int_value(filter, "plugin_in_channels", &error); + poutc = weed_get_int_value(filter, "plugin_out_channels", &error); - sdata->activated_l=sdata->activated_r=WEED_FALSE; + sdata->activated_l = sdata->activated_r = WEED_FALSE; - sdata->handle_l=(lad_instantiate_func)(laddes,rate); - if (pinc==1||poutc==1) sdata->handle_r=(lad_instantiate_func)(laddes,rate); - else sdata->handle_r=NULL; + sdata->handle_l = (lad_instantiate_func)(laddes, rate); + if (pinc == 1 || poutc == 1) sdata->handle_r = (lad_instantiate_func)(laddes, rate); + else sdata->handle_r = NULL; - weed_set_voidptr_value(inst,"plugin_data",sdata); + weed_set_voidptr_value(inst, "plugin_data", sdata); - if (weed_get_boolean_value(filter,"plugin_dual",&error)==WEED_TRUE) { - if (weed_plant_has_leaf(inst,"in_parameters")) { - weed_plant_t **in_params=(weed_plant_t **)weed_get_plantptr_array(inst,"in_parameters",&error); - int ninps=(weed_leaf_num_elements(inst,"in_parameters")-2)/2; - int link=weed_get_boolean_value(in_params[ninps*2],"value",&error); - for (i=0; i<ninps; i++) { - weed_plant_t *ptmpl=weed_get_plantptr_value(in_params[i],"template",&error); - weed_plant_t *gui=weed_parameter_template_get_gui(ptmpl); - if (link==WEED_TRUE) { - weed_set_int_value(gui,"copy_value_to",i+ninps); - ptmpl=weed_get_plantptr_value(in_params[i+ninps],"template",&error); - gui=weed_parameter_template_get_gui(ptmpl); - weed_set_int_value(gui,"copy_value_to",i); + if (weed_get_boolean_value(filter, "plugin_dual", &error) == WEED_TRUE) { + if (weed_plant_has_leaf(inst, "in_parameters")) { + weed_plant_t **in_params = (weed_plant_t **)weed_get_plantptr_array(inst, "in_parameters", &error); + int ninps = (weed_leaf_num_elements(inst, "in_parameters") - 2) / 2; + int link = weed_get_boolean_value(in_params[ninps * 2], "value", &error); + for (i = 0; i < ninps; i++) { + weed_plant_t *ptmpl = weed_get_plantptr_value(in_params[i], "template", &error); + weed_plant_t *gui = weed_parameter_template_get_gui(ptmpl); + if (link == WEED_TRUE) { + weed_set_int_value(gui, "copy_value_to", i + ninps); + ptmpl = weed_get_plantptr_value(in_params[i + ninps], "template", &error); + gui = weed_parameter_template_get_gui(ptmpl); + weed_set_int_value(gui, "copy_value_to", i); } else { - weed_set_int_value(gui,"copy_value_to",-1); - ptmpl=weed_get_plantptr_value(in_params[i+ninps],"template",&error); - gui=weed_parameter_template_get_gui(ptmpl); - weed_set_int_value(gui,"copy_value_to",-1); + weed_set_int_value(gui, "copy_value_to", -1); + ptmpl = weed_get_plantptr_value(in_params[i + ninps], "template", &error); + gui = weed_parameter_template_get_gui(ptmpl); + weed_set_int_value(gui, "copy_value_to", -1); } } } @@ -204,22 +204,22 @@ int ladspa_deinit(weed_plant_t *inst) { int error; - _sdata *sdata=(_sdata *)weed_get_voidptr_value(inst,"plugin_data",&error); - weed_plant_t *filter=weed_get_plantptr_value(inst,"filter_class",&error); - lad_deactivate_f lad_deactivate_func=(lad_activate_f)weed_get_voidptr_value(filter,"plugin_lad_deactivate_func",&error); - lad_cleanup_f lad_cleanup_func=(lad_cleanup_f)weed_get_voidptr_value(filter,"plugin_lad_cleanup_func",&error); - - if (sdata->activated_l==WEED_TRUE) { - if (lad_deactivate_func!=NULL)(*lad_deactivate_func)(sdata->handle_l); - if (lad_cleanup_func!=NULL)(*lad_cleanup_func)(sdata->handle_l); + _sdata *sdata = (_sdata *)weed_get_voidptr_value(inst, "plugin_data", &error); + weed_plant_t *filter = weed_get_plantptr_value(inst, "filter_class", &error); + lad_deactivate_f lad_deactivate_func = (lad_activate_f)weed_get_voidptr_value(filter, "plugin_lad_deactivate_func", &error); + lad_cleanup_f lad_cleanup_func = (lad_cleanup_f)weed_get_voidptr_value(filter, "plugin_lad_cleanup_func", &error); + + if (sdata->activated_l == WEED_TRUE) { + if (lad_deactivate_func != NULL)(*lad_deactivate_func)(sdata->handle_l); + if (lad_cleanup_func != NULL)(*lad_cleanup_func)(sdata->handle_l); } - if (sdata->activated_r==WEED_TRUE) { - if (lad_deactivate_func!=NULL)(*lad_deactivate_func)(sdata->handle_r); - if (lad_cleanup_func!=NULL)(*lad_cleanup_func)(sdata->handle_r); + if (sdata->activated_r == WEED_TRUE) { + if (lad_deactivate_func != NULL)(*lad_deactivate_func)(sdata->handle_r); + if (lad_cleanup_func != NULL)(*lad_cleanup_func)(sdata->handle_r); } - if (sdata!=NULL) { + if (sdata != NULL) { weed_free(sdata); } @@ -231,25 +231,25 @@ int ladspa_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - int nsamps=0; - - int pinc,poutc; - int iinc=0,ioutc=0,oinc,ooutc; - int iinp=0,ioutp=0,pinp=0,poutp=0; - int inplace=WEED_FALSE; - int inter=WEED_FALSE; - int dual=WEED_FALSE; - int rate=DEF_ARATE; - - weed_plant_t *in_channel=NULL,*out_channel=NULL; - weed_plant_t *filter=weed_get_plantptr_value(inst,"filter_class",&error); + int nsamps = 0; + + int pinc, poutc; + int iinc = 0, ioutc = 0, oinc, ooutc; + int iinp = 0, ioutp = 0, pinp = 0, poutp = 0; + int inplace = WEED_FALSE; + int inter = WEED_FALSE; + int dual = WEED_FALSE; + int rate = DEF_ARATE; + + weed_plant_t *in_channel = NULL, *out_channel = NULL; + weed_plant_t *filter = weed_get_plantptr_value(inst, "filter_class", &error); weed_plant_t *ptmpl; lad_connect_port_f lad_connect_port_func; lad_run_f lad_run_func; - float *src=NULL,*dst=NULL,*psrc,*pdst; - float *invals=NULL,*outvals=NULL; + float *src = NULL, *dst = NULL, *psrc, *pdst; + float *invals = NULL, *outvals = NULL; LADSPA_Descriptor *laddes; LADSPA_PortDescriptor ladpdes; @@ -257,100 +257,100 @@ LADSPA_PortRangeHintDescriptor ladphintdes; LADSPA_Handle handle; - weed_plant_t **in_params=NULL; - weed_plant_t **out_params=NULL; + weed_plant_t **in_params = NULL; + weed_plant_t **out_params = NULL; - _sdata *sdata=(_sdata *)weed_get_voidptr_value(inst,"plugin_data",&error); + _sdata *sdata = (_sdata *)weed_get_voidptr_value(inst, "plugin_data", &error); register int i; - if (weed_plant_has_leaf(inst,"in_channels")) { - in_channel=weed_get_plantptr_value(inst,"in_channels",&error); - if (in_channel!=NULL) { - src=(float *)weed_get_voidptr_value(in_channel,"audio_data",&error); - if (src==NULL) return WEED_NO_ERROR; - iinc=weed_get_int_value(in_channel,"audio_channels",&error); - nsamps=weed_get_int_value(in_channel,"audio_data_length",&error); - inter=weed_get_boolean_value(in_channel,"audio_interleaf",&error); - rate=weed_get_int_value(in_channel,"audio_rate",&error); + if (weed_plant_has_leaf(inst, "in_channels")) { + in_channel = weed_get_plantptr_value(inst, "in_channels", &error); + if (in_channel != NULL) { + src = (float *)weed_get_voidptr_value(in_channel, "audio_data", &error); + if (src == NULL) return WEED_NO_ERROR; + iinc = weed_get_int_value(in_channel, "audio_channels", &error); + nsamps = weed_get_int_value(in_channel, "audio_data_length", &error); + inter = weed_get_boolean_value(in_channel, "audio_interleaf", &error); + rate = weed_get_int_value(in_channel, "audio_rate", &error); } } - if (weed_plant_has_leaf(inst,"out_channels")) { - out_channel=weed_get_plantptr_value(inst,"out_channels",&error); - if (out_channel!=NULL) { - dst=(float *)weed_get_voidptr_value(out_channel,"audio_data",&error); - if (dst==NULL) return WEED_NO_ERROR; - ioutc=weed_get_int_value(out_channel,"audio_channels",&error); - nsamps=weed_get_int_value(out_channel,"audio_data_length",&error); - inter=weed_get_boolean_value(out_channel,"audio_interleaf",&error); - rate=weed_get_int_value(out_channel,"audio_rate",&error); + if (weed_plant_has_leaf(inst, "out_channels")) { + out_channel = weed_get_plantptr_value(inst, "out_channels", &error); + if (out_channel != NULL) { + dst = (float *)weed_get_voidptr_value(out_channel, "audio_data", &error); + if (dst == NULL) return WEED_NO_ERROR; + ioutc = weed_get_int_value(out_channel, "audio_channels", &error); + nsamps = weed_get_int_value(out_channel, "audio_data_length", &error); + inter = weed_get_boolean_value(out_channel, "audio_interleaf", &error); + rate = weed_get_int_value(out_channel, "audio_rate", &error); } } - ooutc=ioutc; - oinc=iinc; + ooutc = ioutc; + oinc = iinc; - if (src==dst) inplace=WEED_TRUE; + if (src == dst) inplace = WEED_TRUE; - pinc=weed_get_int_value(filter,"plugin_in_channels",&error); - poutc=weed_get_int_value(filter,"plugin_out_channels",&error); + pinc = weed_get_int_value(filter, "plugin_in_channels", &error); + poutc = weed_get_int_value(filter, "plugin_out_channels", &error); - if (pinc>0&&iinc==0) return WEED_NO_ERROR; - if (poutc>0&&ioutc==0) return WEED_NO_ERROR; + if (pinc > 0 && iinc == 0) return WEED_NO_ERROR; + if (poutc > 0 && ioutc == 0) return WEED_NO_ERROR; - if (pinc==2&&iinc==1) return WEED_NO_ERROR; - if (poutc==2&&ioutc==1) return WEED_NO_ERROR; + if (pinc == 2 && iinc == 1) return WEED_NO_ERROR; + if (poutc == 2 && ioutc == 1) return WEED_NO_ERROR; - if (pinc==1&&iinc==2) dual=WEED_TRUE; - if (poutc==1&&ioutc==2) dual=WEED_TRUE; + if (pinc == 1 && iinc == 2) dual = WEED_TRUE; + if (poutc == 1 && ioutc == 2) dual = WEED_TRUE; - if (sdata->activated_l==WEED_FALSE) { - lad_activate_f lad_activate_func=(lad_activate_f)weed_get_voidptr_value(filter,"plugin_lad_activate_func",&error); - if (lad_activate_func!=NULL)(*lad_activate_func)(sdata->handle_l); - sdata->activated_l=WEED_TRUE; + if (sdata->activated_l == WEED_FALSE) { + lad_activate_f lad_activate_func = (lad_activate_f)weed_get_voidptr_value(filter, "plugin_lad_activate_func", &error); + if (lad_activate_func != NULL)(*lad_activate_func)(sdata->handle_l); + sdata->activated_l = WEED_TRUE; } - if (dual&&sdata->activated_r==WEED_FALSE) { - lad_activate_f lad_activate_func=(lad_activate_f)weed_get_voidptr_value(filter,"plugin_lad_activate_func",&error); - if (lad_activate_func!=NULL)(*lad_activate_func)(sdata->handle_r); - sdata->activated_r=WEED_TRUE; + if (dual && sdata->activated_r == WEED_FALSE) { + lad_activate_f lad_activate_func = (lad_activate_f)weed_get_voidptr_value(filter, "plugin_lad_activate_func", &error); + if (lad_activate_func != NULL)(*lad_activate_func)(sdata->handle_r); + sdata->activated_r = WEED_TRUE; } - if (iinc>1&&inter==WEED_TRUE) { + if (iinc > 1 && inter == WEED_TRUE) { // we asked the host for non-interleaved audio, but just in case... - if (float_deinterleave(src,nsamps,iinc)!=WEED_NO_ERROR) return WEED_ERROR_HARDWARE; + if (float_deinterleave(src, nsamps, iinc) != WEED_NO_ERROR) return WEED_ERROR_HARDWARE; } - laddes=(LADSPA_Descriptor *)weed_get_voidptr_value(filter,"plugin_lad_descriptor",&error); - lad_connect_port_func=(lad_connect_port_f)weed_get_voidptr_value(filter,"plugin_lad_connect_port_func",&error); + laddes = (LADSPA_Descriptor *)weed_get_voidptr_value(filter, "plugin_lad_descriptor", &error); + lad_connect_port_func = (lad_connect_port_f)weed_get_voidptr_value(filter, "plugin_lad_connect_port_func", &error); - lad_run_func=(lad_run_f)weed_get_voidptr_value(filter,"plugin_lad_run_func",&error); + lad_run_func = (lad_run_f)weed_get_voidptr_value(filter, "plugin_lad_run_func", &error); - handle=sdata->handle_l; + handle = sdata->handle_l; - psrc=src; - pdst=dst; + psrc = src; + pdst = dst; - if (pinc>0||poutc>0) { + if (pinc > 0 || poutc > 0) { // connect audio ports - for (i=0; i<laddes->PortCount; i++) { - ladpdes=laddes->PortDescriptors[i]; + for (i = 0; i < laddes->PortCount; i++) { + ladpdes = laddes->PortDescriptors[i]; - if (ladpdes&LADSPA_PORT_AUDIO) { + if (ladpdes & LADSPA_PORT_AUDIO) { // channel - if (ladpdes&LADSPA_PORT_INPUT) { + if (ladpdes & LADSPA_PORT_INPUT) { // connect to next instance audio in - (*lad_connect_port_func)(handle,i,(LADSPA_Data *)psrc); - psrc+=nsamps; + (*lad_connect_port_func)(handle, i, (LADSPA_Data *)psrc); + psrc += nsamps; iinc--; } else { // connect to next instance audio out - (*lad_connect_port_func)(handle,i,(LADSPA_Data *)pdst); - pdst+=nsamps; + (*lad_connect_port_func)(handle, i, (LADSPA_Data *)pdst); + pdst += nsamps; ioutc--; } } @@ -358,46 +358,46 @@ } - if (weed_plant_has_leaf(inst,"in_parameters")) { - iinp=weed_leaf_num_elements(inst,"in_parameters"); - in_params=(weed_plant_t **)weed_get_plantptr_array(inst,"in_parameters",&error); - if (weed_get_boolean_value(filter,"plugin_dual",&error)==WEED_TRUE) iinp-=2; + if (weed_plant_has_leaf(inst, "in_parameters")) { + iinp = weed_leaf_num_elements(inst, "in_parameters"); + in_params = (weed_plant_t **)weed_get_plantptr_array(inst, "in_parameters", &error); + if (weed_get_boolean_value(filter, "plugin_dual", &error) == WEED_TRUE) iinp -= 2; } - if (weed_plant_has_leaf(inst,"out_parameters")) { - ioutp=weed_leaf_num_elements(inst,"out_parameters"); - out_params=(weed_plant_t **)weed_get_plantptr_array(inst,"out_parameters",&error); + if (weed_plant_has_leaf(inst, "out_parameters")) { + ioutp = weed_leaf_num_elements(inst, "out_parameters"); + out_params = (weed_plant_t **)weed_get_plantptr_array(inst, "out_parameters", &error); } - if (ioutp>0) outvals=weed_malloc(ioutp*sizeof(float)); - if (iinp>0) invals=weed_malloc(iinp*sizeof(float)); + if (ioutp > 0) outvals = weed_malloc(ioutp * sizeof(float)); + if (iinp > 0) invals = weed_malloc(iinp * sizeof(float)); - if (iinp>0||ioutp>0) { + if (iinp > 0 || ioutp > 0) { - for (i=0; i<laddes->PortCount; i++) { - ladpdes=laddes->PortDescriptors[i]; + for (i = 0; i < laddes->PortCount; i++) { + ladpdes = laddes->PortDescriptors[i]; - if (ladpdes&LADSPA_PORT_CONTROL) { + if (ladpdes & LADSPA_PORT_CONTROL) { // control ports - ladphint=laddes->PortRangeHints[i]; - ladphintdes=ladphint.HintDescriptor; - ptmpl=weed_get_plantptr_value(in_params[pinp],"template",&error); + ladphint = laddes->PortRangeHints[i]; + ladphintdes = ladphint.HintDescriptor; + ptmpl = weed_get_plantptr_value(in_params[pinp], "template", &error); - if (ladpdes&LADSPA_PORT_INPUT) { + if (ladpdes & LADSPA_PORT_INPUT) { // connect to next instance in param - if (ladphintdes&LADSPA_HINT_TOGGLED) { - invals[pinp]=(float)weed_get_boolean_value(in_params[pinp],"value",&error); - } else if (ladphintdes&LADSPA_HINT_TOGGLED) { - invals[pinp]=(float)weed_get_int_value(in_params[pinp],"value",&error); + if (ladphintdes & LADSPA_HINT_TOGGLED) { + invals[pinp] = (float)weed_get_boolean_value(in_params[pinp], "value", &error); + } else if (ladphintdes & LADSPA_HINT_TOGGLED) { + invals[pinp] = (float)weed_get_int_value(in_params[pinp], "value", &error); } else { - invals[pinp]=(float)weed_get_double_value(in_params[pinp],"value",&error); + invals[pinp] = (float)weed_get_double_value(in_params[pinp], "value", &error); } - if (weed_get_boolean_value(ptmpl,"plugin_sample_rate",&error)==WEED_TRUE) invals[pinp]*=(float)rate; - (*lad_connect_port_func)(handle,i,(LADSPA_Data *)&invals[pinp++]); + if (weed_get_boolean_value(ptmpl, "plugin_sample_rate", &error) == WEED_TRUE) invals[pinp] *= (float)rate; + (*lad_connect_port_func)(handle, i, (LADSPA_Data *)&invals[pinp++]); } else { // connect to store for out params - (*lad_connect_port_func)(handle,i,(LADSPA_Data *)&outvals[poutp++]); + (*lad_connect_port_func)(handle, i, (LADSPA_Data *)&outvals[poutp++]); } } } @@ -405,30 +405,30 @@ } - (*lad_run_func)(handle,nsamps); + (*lad_run_func)(handle, nsamps); - handle=sdata->handle_r; + handle = sdata->handle_r; - if (pinc>0||poutc>0) { - if (ioutc>0||iinc>0) { + if (pinc > 0 || poutc > 0) { + if (ioutc > 0 || iinc > 0) { // the second instance out channel is unconnected; we need to connect it to the second lad instance // if we have an unconnected (second) in channel, we connect it here; otherwise we connect both input ports again - if (iinc==0) psrc=src; + if (iinc == 0) psrc = src; - for (i=0; i<laddes->PortCount; i++) { - ladpdes=laddes->PortDescriptors[i]; + for (i = 0; i < laddes->PortCount; i++) { + ladpdes = laddes->PortDescriptors[i]; - if (ladpdes&LADSPA_PORT_AUDIO) { + if (ladpdes & LADSPA_PORT_AUDIO) { // channel - if (ladpdes&LADSPA_PORT_INPUT) { + if (ladpdes & LADSPA_PORT_INPUT) { // connect to next instance audio in - (*lad_connect_port_func)(handle,i,(LADSPA_Data *)psrc); - psrc+=nsamps; + (*lad_connect_port_func)(handle, i, (LADSPA_Data *)psrc); + psrc += nsamps; } else { // connect to next instance audio out - (*lad_connect_port_func)(handle,i,(LADSPA_Data *)pdst); + (*lad_connect_port_func)(handle, i, (LADSPA_Data *)pdst); } } } @@ -436,34 +436,34 @@ } - if (iinp>0||ioutp>0) { + if (iinp > 0 || ioutp > 0) { - if (pinp<iinp||poutp<ioutp) { + if (pinp < iinp || poutp < ioutp) { // need to use second instance - for (i=0; i<laddes->PortCount; i++) { - ladpdes=laddes->PortDescriptors[i]; + for (i = 0; i < laddes->PortCount; i++) { + ladpdes = laddes->PortDescriptors[i]; - if (ladpdes&LADSPA_PORT_CONTROL) { + if (ladpdes & LADSPA_PORT_CONTROL) { // control ports - ladphint=laddes->PortRangeHints[i]; - ladphintdes=ladphint.HintDescriptor; - ptmpl=weed_get_plantptr_value(in_params[pinp],"template",&error); + ladphint = laddes->PortRangeHints[i]; + ladphintdes = ladphint.HintDescriptor; + ptmpl = weed_get_plantptr_value(in_params[pinp], "template", &error); - if (ladpdes&LADSPA_PORT_INPUT) { + if (ladpdes & LADSPA_PORT_INPUT) { // connect to next instance in param - if (ladphintdes&LADSPA_HINT_TOGGLED) { - invals[pinp]=(float)weed_get_boolean_value(in_params[pinp],"value",&error); - } else if (ladphintdes&LADSPA_HINT_TOGGLED) { - invals[pinp]=(float)weed_get_int_value(in_params[pinp],"value",&error); + if (ladphintdes & LADSPA_HINT_TOGGLED) { + invals[pinp] = (float)weed_get_boolean_value(in_params[pinp], "value", &error); + } else if (ladphintdes & LADSPA_HINT_TOGGLED) { + invals[pinp] = (float)weed_get_int_value(in_params[pinp], "value", &error); } else { - invals[pinp]=(float)weed_get_double_value(in_params[pinp],"value",&error); + invals[pinp] = (float)weed_get_double_value(in_params[pinp], "value", &error); } - if (weed_get_boolean_value(ptmpl,"plugin_sample_rate",&error)==WEED_TRUE) invals[pinp]*=(float)rate; + if (weed_get_boolean_value(ptmpl, "plugin_sample_rate", &error) == WEED_TRUE) invals[pinp] *= (float)rate; - (*lad_connect_port_func)(handle,i,(LADSPA_Data *)&invals[pinp++]); + (*lad_connect_port_func)(handle, i, (LADSPA_Data *)&invals[pinp++]); } else { // connect to store for out params - (*lad_connect_port_func)(handle,i,(LADSPA_Data *)&outvals[poutp++]); + (*lad_connect_port_func)(handle, i, (LADSPA_Data *)&outvals[poutp++]); } } } @@ -473,38 +473,38 @@ } - if (dual)(*lad_run_func)(handle,nsamps); + if (dual)(*lad_run_func)(handle, nsamps); // copy out values to out_params - for (i=0; i<ioutp; i++) { - switch (weed_leaf_seed_type(out_params[i],"value")) { + for (i = 0; i < ioutp; i++) { + switch (weed_leaf_seed_type(out_params[i], "value")) { case WEED_SEED_BOOLEAN: - weed_set_boolean_value(out_params[i],"value",(int)outvals[i]); - weed_set_int64_value(out_params[i],"timecode",timestamp); + weed_set_boolean_value(out_params[i], "value", (int)outvals[i]); + weed_set_int64_value(out_params[i], "timecode", timestamp); break; case WEED_SEED_INT: - weed_set_int_value(out_params[i],"value",(int)outvals[i]); - weed_set_int64_value(out_params[i],"timecode",timestamp); + weed_set_int_value(out_params[i], "value", (int)outvals[i]); + weed_set_int64_value(out_params[i], "timecode", timestamp); break; default: - weed_set_double_value(out_params[i],"value",(double)outvals[i]); - weed_set_int64_value(out_params[i],"timecode",timestamp); + weed_set_double_value(out_params[i], "value", (double)outvals[i]); + weed_set_int64_value(out_params[i], "timecode", timestamp); break; } } - if (invals!=NULL) weed_free(invals); - if (outvals!=NULL) weed_free(outvals); - if (in_params!=NULL) weed_free(in_params); - if (out_params!=NULL) weed_free(out_params); + if (invals != NULL) weed_free(invals); + if (outvals != NULL) weed_free(outvals); + if (in_params != NULL) weed_free(in_params); + if (out_params != NULL) weed_free(out_params); // just in case the host wanted interleaved audio... - if (inter==WEED_TRUE&&oinc>1) { - if (float_interleave(src,nsamps,oinc)!=WEED_NO_ERROR) return WEED_ERROR_HARDWARE; + if (inter == WEED_TRUE && oinc > 1) { + if (float_interleave(src, nsamps, oinc) != WEED_NO_ERROR) return WEED_ERROR_HARDWARE; } - if (inter==WEED_TRUE&&ooutc>1&&!inplace) { - if (float_interleave(dst,nsamps,ooutc)!=WEED_NO_ERROR) return WEED_ERROR_HARDWARE; + if (inter == WEED_TRUE && ooutc > 1 && !inplace) { + if (float_interleave(dst, nsamps, ooutc) != WEED_NO_ERROR) return WEED_ERROR_HARDWARE; } @@ -515,27 +515,27 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - unsigned long num_plugins=0; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + unsigned long num_plugins = 0; - int num_filters=0; + int num_filters = 0; - if (plugin_info!=NULL) { + if (plugin_info != NULL) { // get LADSPA path - char *lpp=getenv("LADSPA_PATH"); + char *lpp = getenv("LADSPA_PATH"); - char **rfx_strings=NULL; - weed_plant_t **out_chantmpls=NULL,**in_chantmpls=NULL; - weed_plant_t **in_params=NULL,**out_params=NULL,*gui; + char **rfx_strings = NULL; + weed_plant_t **out_chantmpls = NULL, **in_chantmpls = NULL; + weed_plant_t **in_params = NULL, **out_params = NULL, *gui; - struct dirent *vdirent=NULL; + struct dirent *vdirent = NULL; weed_plant_t *filter_class; - int vdirval=0; - int pnum,wnum; + int vdirval = 0; + int pnum, wnum; - int new_stdout,new_stderr; + int new_stdout, new_stderr; LADSPA_Descriptor *laddes; LADSPA_Properties ladprop; @@ -560,26 +560,26 @@ char label[LABSIZE]; char vdir[PATH_MAX]; - char plugin_name[PATH_MAX],weed_name[PATH_MAX],plug1[PATH_MAX]; - DIR *curvdir=NULL; + char plugin_name[PATH_MAX], weed_name[PATH_MAX], plug1[PATH_MAX]; + DIR *curvdir = NULL; void *handle; - int ninps,noutps,ninchs,noutchs; - int oninps,onoutps,oninchs,onoutchs; - int cninps,cnoutps; + int ninps, noutps, ninchs, noutchs; + int oninps, onoutps, oninchs, onoutchs; + int cninps, cnoutps; int stcount; int dual; - register int i,j; + register int i, j; - if (lpp==NULL) return NULL; + if (lpp == NULL) return NULL; //#define DEBUG #ifndef DEBUG - new_stdout=dup(1); - new_stderr=dup(2); + new_stdout = dup(1); + new_stderr = dup(2); close(1); close(2); @@ -587,74 +587,74 @@ while (1) { // split by : - char *lpp_copy=strdup(lpp); - getenv_piece(vdir,PATH_MAX,lpp,vdirval); + char *lpp_copy = strdup(lpp); + getenv_piece(vdir, PATH_MAX, lpp, vdirval); free(lpp_copy); - if (!strlen(vdir)||vdir==NULL) break; - curvdir=opendir(vdir); - if (curvdir==NULL) break; + if (!strlen(vdir) || vdir == NULL) break; + curvdir = opendir(vdir); + if (curvdir == NULL) break; while (1) { // check each plugin - vdirent=readdir(curvdir); - if (vdirent==NULL) { + vdirent = readdir(curvdir); + if (vdirent == NULL) { closedir(curvdir); - curvdir=NULL; + curvdir = NULL; vdirval++; break; } - if (!strncmp(vdirent->d_name,"..",strlen(vdirent->d_name))) continue; + if (!strncmp(vdirent->d_name, "..", strlen(vdirent->d_name))) continue; - snprintf(plugin_name,PATH_MAX,"%s",vdirent->d_name); - snprintf(plug1,PATH_MAX,"%s/%s",vdir,plugin_name); + snprintf(plugin_name, PATH_MAX, "%s", vdirent->d_name); + snprintf(plug1, PATH_MAX, "%s/%s", vdir, plugin_name); //fprintf(stderr,"checking %s\n",plug1); - handle=dlopen(plug1,RTLD_NOW); - if (handle==NULL) continue; + handle = dlopen(plug1, RTLD_NOW); + if (handle == NULL) continue; - if ((lad_descriptor_func=dlsym(handle,"ladspa_descriptor"))==NULL) { + if ((lad_descriptor_func = dlsym(handle, "ladspa_descriptor")) == NULL) { dlclose(handle); continue; } - num_plugins=0; + num_plugins = 0; - while ((laddes=((*lad_descriptor_func)(num_plugins))) != NULL) { + while ((laddes = ((*lad_descriptor_func)(num_plugins))) != NULL) { - if ((lad_instantiate_func=laddes->instantiate)==NULL) { + if ((lad_instantiate_func = laddes->instantiate) == NULL) { continue; } - lad_activate_func=laddes->activate; + lad_activate_func = laddes->activate; - lad_deactivate_func=laddes->deactivate; + lad_deactivate_func = laddes->deactivate; - if ((lad_connect_port_func=laddes->connect_port)==NULL) { + if ((lad_connect_port_func = laddes->connect_port) == NULL) { continue; } - if ((lad_run_func=laddes->run)==NULL) { + if ((lad_run_func = laddes->run) == NULL) { continue; } - lad_cleanup_func=laddes->cleanup; + lad_cleanup_func = laddes->cleanup; //fprintf(stderr,"2checking %s : %ld\n",plug1,num_plugins); - ladprop=laddes->Properties; + ladprop = laddes->Properties; - ninps=noutps=ninchs=noutchs=0; + ninps = noutps = ninchs = noutchs = 0; // create the in_parameters, out_parameters, in_channels, out_channels - for (i=0; i<laddes->PortCount; i++) { + for (i = 0; i < laddes->PortCount; i++) { // count number of each type first - ladpdes=laddes->PortDescriptors[i]; - ladphint=laddes->PortRangeHints[i]; + ladpdes = laddes->PortDescriptors[i]; + ladphint = laddes->PortRangeHints[i]; - if (ladpdes&LADSPA_PORT_CONTROL) { + if (ladpdes & LADSPA_PORT_CONTROL) { // parameter - if (ladpdes&LADSPA_PORT_INPUT) { + if (ladpdes & LADSPA_PORT_INPUT) { // in_param ninps++; } else { @@ -663,7 +663,7 @@ } } else { // channel - if (ladpdes&LADSPA_PORT_INPUT) { + if (ladpdes & LADSPA_PORT_INPUT) { // in_channel ninchs++; } else { @@ -678,250 +678,251 @@ // if we have 0,1 or 2 input channels, 1 outputs // 1 input, 0 or 2 outputs - if ((ninchs<2&&noutchs<2&&(ninchs+noutchs>0))||noutchs==1) { - dual=WEED_TRUE; - stcount=1; + if ((ninchs < 2 && noutchs < 2 && (ninchs + noutchs > 0)) || noutchs == 1) { + dual = WEED_TRUE; + stcount = 1; } else { - dual=WEED_FALSE; - stcount=0; + dual = WEED_FALSE; + stcount = 0; } - oninchs=ninchs; - onoutchs=noutchs; - oninps=ninps; - onoutps=noutps; + oninchs = ninchs; + onoutchs = noutchs; + oninps = ninps; + onoutps = noutps; - if (dual&&oninchs==1) ninchs=2; - if (dual&&onoutchs==1) noutchs=2; + if (dual && oninchs == 1) ninchs = 2; + if (dual && onoutchs == 1) noutchs = 2; - if (dual==WEED_TRUE) { - ninps=oninps*2; - noutps=onoutps*2; + if (dual == WEED_TRUE) { + ninps = oninps * 2; + noutps = onoutps * 2; - rfx_strings=weed_malloc((ninps+3+stcount)*sizeof(char *)); - for (pnum=0; pnum<ninps+3+stcount; pnum++) { - rfx_strings[pnum]=(char *)weed_malloc(256); + rfx_strings = weed_malloc((ninps + 3 + stcount) * sizeof(char *)); + for (pnum = 0; pnum < ninps + 3 + stcount; pnum++) { + rfx_strings[pnum] = (char *)weed_malloc(256); } - if (ninchs==0) { - sprintf(rfx_strings[stcount],"layout|\"Left output channel\"|"); - sprintf(rfx_strings[oninps+2+stcount],"layout|\"Right output channel\"|"); + if (ninchs == 0) { + sprintf(rfx_strings[stcount], "layout|\"Left output channel\"|"); + sprintf(rfx_strings[oninps + 2 + stcount], "layout|\"Right output channel\"|"); } else { - if (ninchs==1) sprintf(rfx_strings[stcount],"layout|\"Left/mono channel\""); - else sprintf(rfx_strings[stcount],"layout|\"Left channel\""); - sprintf(rfx_strings[oninps+2+stcount],"layout|\"Right channel\""); + if (ninchs == 1) sprintf(rfx_strings[stcount], "layout|\"Left/mono channel\""); + else sprintf(rfx_strings[stcount], "layout|\"Left channel\""); + sprintf(rfx_strings[oninps + 2 + stcount], "layout|\"Right channel\""); } - sprintf(rfx_strings[oninps+1+stcount],"layout|hseparator|"); + sprintf(rfx_strings[oninps + 1 + stcount], "layout|hseparator|"); } - if (ninps>0) { + if (ninps > 0) { // add extra in 2 extra params for "link channels" - in_params=(weed_plant_t **)weed_malloc((++ninps+stcount*2)*sizeof(weed_plant_t *)); - in_params[ninps+stcount*2-1]=NULL; - if (dual==WEED_TRUE) { - in_params[ninps-1]=weed_switch_init("link","_Link left and right parameters",WEED_TRUE); - gui=weed_parameter_template_get_gui(in_params[ninps-1]); - weed_set_int_value(gui,"copy_value_to",ninps); - sprintf(rfx_strings[0],"layout|p%d|",ninps-1); + in_params = (weed_plant_t **)weed_malloc((++ninps + stcount * 2) * sizeof(weed_plant_t *)); + in_params[ninps + stcount * 2 - 1] = NULL; + if (dual == WEED_TRUE) { + in_params[ninps - 1] = weed_switch_init("link", "_Link left and right parameters", WEED_TRUE); + gui = weed_parameter_template_get_gui(in_params[ninps - 1]); + weed_set_int_value(gui, "copy_value_to", ninps); + sprintf(rfx_strings[0], "layout|p%d|", ninps - 1); // link it to a dummy param which is hidden and reinit - this allows the value to be updated and the plugin to be reinited at any time - in_params[ninps]=weed_switch_init("link dummy","linkdummy",WEED_TRUE); - weed_set_int_value(in_params[ninps],"flags",WEED_PARAMETER_REINIT_ON_VALUE_CHANGE); - gui=weed_parameter_template_get_gui(in_params[ninps]); - weed_set_boolean_value(gui,"hidden",WEED_TRUE); + in_params[ninps] = weed_switch_init("link dummy", "linkdummy", WEED_TRUE); + weed_set_int_value(in_params[ninps], "flags", WEED_PARAMETER_REINIT_ON_VALUE_CHANGE); + gui = weed_parameter_template_get_gui(in_params[ninps]); + weed_set_boolean_value(gui, "hidden", WEED_TRUE); } - } else in_params=NULL; + } else in_params = NULL; - if (noutps>0) { - out_params=(weed_plant_t **)weed_malloc(++noutps*sizeof(weed_plant_t *)); - out_params[noutps-1]=NULL; - } else out_params=NULL; + if (noutps > 0) { + out_params = (weed_plant_t **)weed_malloc(++noutps * sizeof(weed_plant_t *)); + out_params[noutps - 1] = NULL; + } else out_params = NULL; //fprintf(stderr,"%s has inc %d and outc %d\n",laddes->Name,ninchs,noutchs); - if (ninchs>0) { - in_chantmpls=(weed_plant_t **)weed_malloc(2*sizeof(weed_plant_t *)); - if (ninchs==1) sprintf(cname,"Mono channel"); - else if (ninchs==2) sprintf(cname,"Stereo channel"); - else sprintf(cname,"Multi channel"); - in_chantmpls[0]=weed_audio_channel_template_init(cname,0); - in_chantmpls[1]=NULL; - if (!dual||oninchs!=1) weed_set_int_value(in_chantmpls[0],"audio_channels",ninchs); - weed_set_boolean_value(in_chantmpls[0],"audio_interleaf",WEED_FALSE); - } else in_chantmpls=NULL; - - if (noutchs>0) { - out_chantmpls=(weed_plant_t **)weed_malloc(++noutchs*sizeof(weed_plant_t *)); - if (noutchs==1) sprintf(cname,"Mono channel"); - else if (noutchs==2) sprintf(cname,"Stereo channel"); - else sprintf(cname,"Multi channel"); - out_chantmpls[0]=weed_audio_channel_template_init(cname,0); - out_chantmpls[1]=NULL; - if (!dual||onoutchs!=1) weed_set_int_value(out_chantmpls[0],"audio_channels",noutchs); - weed_set_boolean_value(out_chantmpls[0],"audio_interleaf",WEED_FALSE); - if (oninchs==onoutchs&&!(ladprop&LADSPA_PROPERTY_INPLACE_BROKEN)) weed_set_int_value(out_chantmpls[0],"flags",WEED_CHANNEL_CAN_DO_INPLACE); - } else out_chantmpls=NULL; - - cnoutps=cninps=0; - - for (i=0; i<laddes->PortCount; i++) { - ladpdes=laddes->PortDescriptors[i]; - ladphint=laddes->PortRangeHints[i]; - ladphintdes=ladphint.HintDescriptor; - - if (ladpdes&LADSPA_PORT_CONTROL) { + if (ninchs > 0) { + in_chantmpls = (weed_plant_t **)weed_malloc(2 * sizeof(weed_plant_t *)); + if (ninchs == 1) sprintf(cname, "Mono channel"); + else if (ninchs == 2) sprintf(cname, "Stereo channel"); + else sprintf(cname, "Multi channel"); + in_chantmpls[0] = weed_audio_channel_template_init(cname, 0); + in_chantmpls[1] = NULL; + if (!dual || oninchs != 1) weed_set_int_value(in_chantmpls[0], "audio_channels", ninchs); + weed_set_boolean_value(in_chantmpls[0], "audio_interleaf", WEED_FALSE); + } else in_chantmpls = NULL; + + if (noutchs > 0) { + out_chantmpls = (weed_plant_t **)weed_malloc(++noutchs * sizeof(weed_plant_t *)); + if (noutchs == 1) sprintf(cname, "Mono channel"); + else if (noutchs == 2) sprintf(cname, "Stereo channel"); + else sprintf(cname, "Multi channel"); + out_chantmpls[0] = weed_audio_channel_template_init(cname, 0); + out_chantmpls[1] = NULL; + if (!dual || onoutchs != 1) weed_set_int_value(out_chantmpls[0], "audio_channels", noutchs); + weed_set_boolean_value(out_chantmpls[0], "audio_interleaf", WEED_FALSE); + if (oninchs == onoutchs && + !(ladprop & LADSPA_PROPERTY_INPLACE_BROKEN)) weed_set_int_value(out_chantmpls[0], "flags", WEED_CHANNEL_CAN_DO_INPLACE); + } else out_chantmpls = NULL; + + cnoutps = cninps = 0; + + for (i = 0; i < laddes->PortCount; i++) { + ladpdes = laddes->PortDescriptors[i]; + ladphint = laddes->PortRangeHints[i]; + ladphintdes = ladphint.HintDescriptor; + + if (ladpdes & LADSPA_PORT_CONTROL) { // parameter - if (ladpdes&LADSPA_PORT_INPUT) { + if (ladpdes & LADSPA_PORT_INPUT) { // in_param - snprintf(label,LABSIZE,"_%s",laddes->PortNames[i]); + snprintf(label, LABSIZE, "_%s", laddes->PortNames[i]); - if (ladphintdes&LADSPA_HINT_TOGGLED) { + if (ladphintdes & LADSPA_HINT_TOGGLED) { // boolean type - if (ladphintdes&LADSPA_HINT_DEFAULT_1) { - in_params[cninps]=weed_switch_init(laddes->PortNames[i],label,WEED_TRUE); - if (dual) in_params[cninps+oninps]=weed_switch_init(laddes->PortNames[i],label,WEED_TRUE); + if (ladphintdes & LADSPA_HINT_DEFAULT_1) { + in_params[cninps] = weed_switch_init(laddes->PortNames[i], label, WEED_TRUE); + if (dual) in_params[cninps + oninps] = weed_switch_init(laddes->PortNames[i], label, WEED_TRUE); } else { - in_params[cninps]=weed_switch_init(laddes->PortNames[i],label,WEED_FALSE); - if (dual) in_params[cninps+oninps]=weed_switch_init(laddes->PortNames[i],label,WEED_FALSE); + in_params[cninps] = weed_switch_init(laddes->PortNames[i], label, WEED_FALSE); + if (dual) in_params[cninps + oninps] = weed_switch_init(laddes->PortNames[i], label, WEED_FALSE); } } else { // int/float type - lbound=ladphint.LowerBound; - ubound=ladphint.UpperBound; + lbound = ladphint.LowerBound; + ubound = ladphint.UpperBound; - if (lbound==0.&&ubound==0.) { + if (lbound == 0. && ubound == 0.) { // try some sanity - lbound=0.; - ubound=1.; + lbound = 0.; + ubound = 1.; } - defval=lbound; + defval = lbound; - if (ladphintdes&LADSPA_HINT_DEFAULT_LOW) { - defval+=(ubound-lbound)/4.; + if (ladphintdes & LADSPA_HINT_DEFAULT_LOW) { + defval += (ubound - lbound) / 4.; } - else if (ladphintdes&LADSPA_HINT_DEFAULT_MIDDLE) { - defval+=(ubound-lbound)/2.; + else if (ladphintdes & LADSPA_HINT_DEFAULT_MIDDLE) { + defval += (ubound - lbound) / 2.; } - else if (ladphintdes&LADSPA_HINT_DEFAULT_HIGH) { - defval+=(ubound-lbound)*3./4.; + else if (ladphintdes & LADSPA_HINT_DEFAULT_HIGH) { + defval += (ubound - lbound) * 3. / 4.; } - else if (ladphintdes&LADSPA_HINT_DEFAULT_MAXIMUM) { - defval=ubound; + else if (ladphintdes & LADSPA_HINT_DEFAULT_MAXIMUM) { + defval = ubound; } - else if (ladphintdes&LADSPA_HINT_DEFAULT_0) { - defval=0.; + else if (ladphintdes & LADSPA_HINT_DEFAULT_0) { + defval = 0.; } - else if (ladphintdes&LADSPA_HINT_DEFAULT_1) { - defval=1.; + else if (ladphintdes & LADSPA_HINT_DEFAULT_1) { + defval = 1.; } - else if (ladphintdes&LADSPA_HINT_DEFAULT_100) { - defval=100.; + else if (ladphintdes & LADSPA_HINT_DEFAULT_100) { + defval = 100.; } - else if (ladphintdes&LADSPA_HINT_DEFAULT_440) { - defval=440.; + else if (ladphintdes & LADSPA_HINT_DEFAULT_440) { + defval = 440.; } - if (ladphintdes&LADSPA_HINT_INTEGER) { - in_params[cninps]=weed_integer_init(laddes->PortNames[i],label,defval+.5,lbound+.5,ubound+.5); - if (dual) in_params[cninps+oninps]=weed_integer_init(laddes->PortNames[i],label,defval+.5,lbound+.5,ubound+.5); + if (ladphintdes & LADSPA_HINT_INTEGER) { + in_params[cninps] = weed_integer_init(laddes->PortNames[i], label, defval + .5, lbound + .5, ubound + .5); + if (dual) in_params[cninps + oninps] = weed_integer_init(laddes->PortNames[i], label, defval + .5, lbound + .5, ubound + .5); } else { - in_params[cninps]=weed_float_init(laddes->PortNames[i],label,defval,lbound,ubound); - if (dual) in_params[cninps+oninps]=weed_float_init(laddes->PortNames[i],label,defval,lbound,ubound); + in_params[cninps] = weed_float_init(laddes->PortNames[i], label, defval, lbound, ubound); + if (dual) in_params[cninps + oninps] = weed_float_init(laddes->PortNames[i], label, defval, lbound, ubound); } } - if (ladphintdes&LADSPA_HINT_SAMPLE_RATE) weed_set_boolean_value(in_params[cninps],"plugin_sample_rate",WEED_TRUE); - else weed_set_boolean_value(in_params[cninps],"plugin_sample_rate",WEED_FALSE); + if (ladphintdes & LADSPA_HINT_SAMPLE_RATE) weed_set_boolean_value(in_params[cninps], "plugin_sample_rate", WEED_TRUE); + else weed_set_boolean_value(in_params[cninps], "plugin_sample_rate", WEED_FALSE); - if (ladphintdes&LADSPA_HINT_LOGARITHMIC) weed_set_boolean_value(in_params[cninps],"plugin_logarithmic",WEED_TRUE); - else weed_set_boolean_value(in_params[cninps],"plugin_logarithmic",WEED_FALSE); + if (ladphintdes & LADSPA_HINT_LOGARITHMIC) weed_set_boolean_value(in_params[cninps], "plugin_logarithmic", WEED_TRUE); + else weed_set_boolean_value(in_params[cninps], "plugin_logarithmic", WEED_FALSE); if (dual) { - if (ladphintdes&LADSPA_HINT_SAMPLE_RATE) weed_set_boolean_value(in_params[cninps+oninps],"plugin_sample_rate",WEED_TRUE); - else weed_set_boolean_value(in_params[cninps+oninps],"plugin_sample_rate",WEED_FALSE); + if (ladphintdes & LADSPA_HINT_SAMPLE_RATE) weed_set_boolean_value(in_params[cninps + oninps], "plugin_sample_rate", WEED_TRUE); + else weed_set_boolean_value(in_params[cninps + oninps], "plugin_sample_rate", WEED_FALSE); - if (ladphintdes&LADSPA_HINT_LOGARITHMIC) weed_set_boolean_value(in_params[cninps+oninps],"plugin_logarithmic",WEED_TRUE); - else weed_set_boolean_value(in_params[cninps+oninps],"plugin_logarithmic",WEED_FALSE); + if (ladphintdes & LADSPA_HINT_LOGARITHMIC) weed_set_boolean_value(in_params[cninps + oninps], "plugin_logarithmic", WEED_TRUE); + else weed_set_boolean_value(in_params[cninps + oninps], "plugin_logarithmic", WEED_FALSE); - sprintf(rfx_strings[cninps+1+stcount],"layout|p%d|",cninps); - sprintf(rfx_strings[cninps+oninps+3+stcount],"layout|p%d|",cninps+oninps); + sprintf(rfx_strings[cninps + 1 + stcount], "layout|p%d|", cninps); + sprintf(rfx_strings[cninps + oninps + 3 + stcount], "layout|p%d|", cninps + oninps); } cninps++; } else { // out_param - if (ladphintdes&LADSPA_HINT_TOGGLED) { + if (ladphintdes & LADSPA_HINT_TOGGLED) { // boolean type - if (ladphintdes&LADSPA_HINT_DEFAULT_1) { - out_params[cnoutps]=weed_out_param_switch_init(laddes->PortNames[i],WEED_TRUE); - if (dual) out_params[cnoutps+onoutps]=weed_out_param_switch_init(laddes->PortNames[i],WEED_TRUE); + if (ladphintdes & LADSPA_HINT_DEFAULT_1) { + out_params[cnoutps] = weed_out_param_switch_init(laddes->PortNames[i], WEED_TRUE); + if (dual) out_params[cnoutps + onoutps] = weed_out_param_switch_init(laddes->PortNames[i], WEED_TRUE); } else { - out_params[cnoutps]=weed_out_param_switch_init(laddes->PortNames[i],WEED_FALSE); - if (dual) out_params[cnoutps+onoutps]=weed_out_param_switch_init(laddes->PortNames[i],WEED_FALSE); + out_params[cnoutps] = weed_out_param_switch_init(laddes->PortNames[i], WEED_FALSE); + if (dual) out_params[cnoutps + onoutps] = weed_out_param_switch_init(laddes->PortNames[i], WEED_FALSE); } } else { // int/float type - lbound=ladphint.LowerBound; - ubound=ladphint.UpperBound; - defval=lbound; + lbound = ladphint.LowerBound; + ubound = ladphint.UpperBound; + defval = lbound; - if (ladphintdes&LADSPA_HINT_DEFAULT_LOW) { - defval+=(ubound-lbound)/4.; + if (ladphintdes & LADSPA_HINT_DEFAULT_LOW) { + defval += (ubound - lbound) / 4.; } - else if (ladphintdes&LADSPA_HINT_DEFAULT_MIDDLE) { - defval+=(ubound-lbound)/2.; + else if (ladphintdes & LADSPA_HINT_DEFAULT_MIDDLE) { + defval += (ubound - lbound) / 2.; } - else if (ladphintdes&LADSPA_HINT_DEFAULT_HIGH) { - defval+=(ubound-lbound)*3./4.; + else if (ladphintdes & LADSPA_HINT_DEFAULT_HIGH) { + defval += (ubound - lbound) * 3. / 4.; } - else if (ladphintdes&LADSPA_HINT_DEFAULT_MAXIMUM) { - defval=ubound; + else if (ladphintdes & LADSPA_HINT_DEFAULT_MAXIMUM) { + defval = ubound; } - else if (ladphintdes&LADSPA_HINT_DEFAULT_0) { - defval=0.; + else if (ladphintdes & LADSPA_HINT_DEFAULT_0) { + defval = 0.; } - else if (ladphintdes&LADSPA_HINT_DEFAULT_1) { - defval=1.; + else if (ladphintdes & LADSPA_HINT_DEFAULT_1) { + defval = 1.; } - else if (ladphintdes&LADSPA_HINT_DEFAULT_100) { - defval=100.; + else if (ladphintdes & LADSPA_HINT_DEFAULT_100) { + defval = 100.; } - else if (ladphintdes&LADSPA_HINT_DEFAULT_440) { - defval=440.; + else if (ladphintdes & LADSPA_HINT_DEFAULT_440) { + defval = 440.; } - if (ladphintdes&LADSPA_HINT_INTEGER) { - out_params[cnoutps]=weed_out_param_integer_init(laddes->PortNames[i],defval+.5,lbound+.5,ubound+.5); - if (dual) out_params[cnoutps+onoutps]=weed_out_param_integer_init(laddes->PortNames[i],defval+.5,lbound+.5,ubound+.5); + if (ladphintdes & LADSPA_HINT_INTEGER) { + out_params[cnoutps] = weed_out_param_integer_init(laddes->PortNames[i], defval + .5, lbound + .5, ubound + .5); + if (dual) out_params[cnoutps + onoutps] = weed_out_param_integer_init(laddes->PortNames[i], defval + .5, lbound + .5, ubound + .5); } else { - out_params[cnoutps]=weed_out_param_float_init(laddes->PortNames[i],defval,lbound,ubound); - if (dual) out_params[cnoutps+onoutps]=weed_out_param_float_init(laddes->PortNames[i],defval,lbound,ubound); + out_params[cnoutps] = weed_out_param_float_init(laddes->PortNames[i], defval, lbound, ubound); + if (dual) out_params[cnoutps + onoutps] = weed_out_param_float_init(laddes->PortNames[i], defval, lbound, ubound); } } - if (ladphintdes&LADSPA_HINT_SAMPLE_RATE) weed_set_boolean_value(out_params[cnoutps],"plugin_sample_rate",WEED_TRUE); - else weed_set_boolean_value(out_params[cnoutps],"plugin_sample_rate",WEED_FALSE); + if (ladphintdes & LADSPA_HINT_SAMPLE_RATE) weed_set_boolean_value(out_params[cnoutps], "plugin_sample_rate", WEED_TRUE); + else weed_set_boolean_value(out_params[cnoutps], "plugin_sample_rate", WEED_FALSE); if (dual) { - if (ladphintdes&LADSPA_HINT_SAMPLE_RATE) weed_set_boolean_value(out_params[cnoutps],"plugin_sample_rate",WEED_TRUE); - else weed_set_boolean_value(out_params[cnoutps],"plugin_sample_rate",WEED_FALSE); + if (ladphintdes & LADSPA_HINT_SAMPLE_RATE) weed_set_boolean_value(out_params[cnoutps], "plugin_sample_rate", WEED_TRUE); + else weed_set_boolean_value(out_params[cnoutps], "plugin_sample_rate", WEED_FALSE); } cnoutps++; @@ -932,57 +933,57 @@ } - snprintf(weed_name,PATH_MAX,"LADSPA: %s",laddes->Name); + snprintf(weed_name, PATH_MAX, "LADSPA: %s", laddes->Name); - filter_class=weed_filter_class_init(weed_name,"LADSPA developers",0,0,&ladspa_init,&ladspa_process,&ladspa_deinit, - in_chantmpls,out_chantmpls,in_params,out_params); + filter_class = weed_filter_class_init(weed_name, "LADSPA developers", 0, 0, &ladspa_init, &ladspa_process, &ladspa_deinit, + in_chantmpls, out_chantmpls, in_params, out_params); - weed_set_string_value(filter_class,"extra_authors",laddes->Maker); + weed_set_string_value(filter_class, "extra_authors", laddes->Maker); - weed_set_voidptr_value(filter_class,"plugin_lad_descriptor",laddes); + weed_set_voidptr_value(filter_class, "plugin_lad_descriptor", laddes); - weed_set_voidptr_value(filter_class,"plugin_lad_descriptor_func",(void *)lad_descriptor_func); - weed_set_voidptr_value(filter_class,"plugin_lad_instantiate_func",(void *)lad_instantiate_func); - weed_set_voidptr_value(filter_class,"plugin_lad_activate_func",(void *)lad_activate_func); - weed_set_voidptr_value(filter_class,"plugin_lad_deactivate_func",(void *)lad_deactivate_func); - weed_set_voidptr_value(filter_class,"plugin_lad_connect_port_func",(void *)lad_connect_port_func); - weed_set_voidptr_value(filter_class,"plugin_lad_run_func",(void *)lad_run_func); - weed_set_voidptr_value(filter_class,"plugin_lad_cleanup_func",(void *)lad_cleanup_func); + weed_set_voidptr_value(filter_class, "plugin_lad_descriptor_func", (void *)lad_descriptor_func); + weed_set_voidptr_value(filter_class, "plugin_lad_instantiate_func", (void *)lad_instantiate_func); + weed_set_voidptr_value(filter_class, "plugin_lad_activate_func", (void *)lad_activate_func); + weed_set_voidptr_value(filter_class, "plugin_lad_deactivate_func", (void *)lad_deactivate_func); + weed_set_voidptr_value(filter_class, "plugin_lad_connect_port_func", (void *)lad_connect_port_func); + weed_set_voidptr_value(filter_class, "plugin_lad_run_func", (void *)lad_run_func); + weed_set_voidptr_value(filter_class, "plugin_lad_cleanup_func", (void *)lad_cleanup_func); - if (dual==WEED_TRUE) { - weed_set_boolean_value(filter_class,"plugin_dual",WEED_TRUE); - if (ninps>0) { - gui=weed_filter_class_get_gui(filter_class); - weed_set_string_value(gui,"layout_scheme","RFX"); - weed_set_string_value(gui,"rfx_delim","|"); + if (dual == WEED_TRUE) { + weed_set_boolean_value(filter_class, "plugin_dual", WEED_TRUE); + if (ninps > 0) { + gui = weed_filter_class_get_gui(filter_class); + weed_set_string_value(gui, "layout_scheme", "RFX"); + weed_set_string_value(gui, "rfx_delim", "|"); // subtract 1 from ninps since we incremented it - weed_set_string_array(gui,"rfx_strings",ninps+2+stcount,rfx_strings); - for (wnum=0; wnum<ninps+2+stcount; wnum++) weed_free(rfx_strings[wnum]); + weed_set_string_array(gui, "rfx_strings", ninps + 2 + stcount, rfx_strings); + for (wnum = 0; wnum < ninps + 2 + stcount; wnum++) weed_free(rfx_strings[wnum]); weed_free(rfx_strings); - rfx_strings=NULL; + rfx_strings = NULL; - for (j=0; j<oninps; j++) { - gui=weed_parameter_template_get_gui(in_params[j]); - weed_set_int_value(gui,"copy_value_to",j+oninps); - gui=weed_parameter_template_get_gui(in_params[j+oninps]); - weed_set_int_value(gui,"copy_value_to",j); + for (j = 0; j < oninps; j++) { + gui = weed_parameter_template_get_gui(in_params[j]); + weed_set_int_value(gui, "copy_value_to", j + oninps); + gui = weed_parameter_template_get_gui(in_params[j + oninps]); + weed_set_int_value(gui, "copy_value_to", j); } } - } else weed_set_boolean_value(filter_class,"plugin_dual",WEED_FALSE); + } else weed_set_boolean_value(filter_class, "plugin_dual", WEED_FALSE); - if (in_params!=NULL) weed_free(in_params); - if (out_params!=NULL) weed_free(out_params); - if (in_chantmpls!=NULL) weed_free(in_chantmpls); - if (out_chantmpls!=NULL) weed_free(out_chantmpls); + if (in_params != NULL) weed_free(in_params); + if (out_params != NULL) weed_free(out_params); + if (in_chantmpls != NULL) weed_free(in_chantmpls); + if (out_chantmpls != NULL) weed_free(out_chantmpls); - weed_set_int_value(filter_class,"plugin_in_channels",oninchs); - weed_set_int_value(filter_class,"plugin_out_channels",onoutchs); - weed_set_int_value(filter_class,"plugin_in_params",oninps); - weed_set_int_value(filter_class,"plugin_out_params",onoutps); + weed_set_int_value(filter_class, "plugin_in_channels", oninchs); + weed_set_int_value(filter_class, "plugin_out_channels", onoutchs); + weed_set_int_value(filter_class, "plugin_in_params", oninps); + weed_set_int_value(filter_class, "plugin_out_params", onoutps); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); num_plugins++; num_filters++; //fprintf(stderr,"DONE\n"); @@ -991,18 +992,18 @@ } #ifndef DEBUG - dup2(new_stdout,1); - dup2(new_stderr,2); + dup2(new_stdout, 1); + dup2(new_stderr, 2); #endif } - if (num_filters==0) { - fprintf(stderr,"No LADSPA plugins found; if you have them installed please set the LADSPA_PATH environment variable to point to them.\n"); + if (num_filters == 0) { + fprintf(stderr, "No LADSPA plugins found; if you have them installed please set the LADSPA_PATH environment variable to point to them.\n"); return NULL; } - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/layout_blends.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/layout_blends.c
Changed
@@ -17,10 +17,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -38,94 +38,95 @@ static int common_process(int type, weed_plant_t *inst, weed_timecode_t timecode) { int error; - weed_plant_t **in_channels=weed_get_plantptr_array(inst,"in_channels",&error),*out_channel=weed_get_plantptr_value(inst,"out_channels", - &error); - unsigned char *src1=weed_get_voidptr_value(in_channels[0],"pixel_data",&error); - unsigned char *src2=weed_get_voidptr_value(in_channels[1],"pixel_data",&error); - unsigned char *dst=weed_get_voidptr_value(out_channel,"pixel_data",&error); - int width=weed_get_int_value(in_channels[0],"width",&error)*3; - int height=weed_get_int_value(in_channels[0],"height",&error); - int irowstride1=weed_get_int_value(in_channels[0],"rowstrides",&error); - int irowstride2=weed_get_int_value(in_channels[1],"rowstrides",&error); - int orowstride=weed_get_int_value(out_channel,"rowstrides",&error); - unsigned char *end=src1+height*irowstride1; - int palette=weed_get_int_value(out_channel,"current_palette",&error); - int inplace=(src1==dst); + weed_plant_t **in_channels = weed_get_plantptr_array(inst, "in_channels", &error), *out_channel = weed_get_plantptr_value(inst, + "out_channels", + &error); + unsigned char *src1 = weed_get_voidptr_value(in_channels[0], "pixel_data", &error); + unsigned char *src2 = weed_get_voidptr_value(in_channels[1], "pixel_data", &error); + unsigned char *dst = weed_get_voidptr_value(out_channel, "pixel_data", &error); + int width = weed_get_int_value(in_channels[0], "width", &error) * 3; + int height = weed_get_int_value(in_channels[0], "height", &error); + int irowstride1 = weed_get_int_value(in_channels[0], "rowstrides", &error); + int irowstride2 = weed_get_int_value(in_channels[1], "rowstrides", &error); + int orowstride = weed_get_int_value(out_channel, "rowstrides", &error); + unsigned char *end = src1 + height * irowstride1; + int palette = weed_get_int_value(out_channel, "current_palette", &error); + int inplace = (src1 == dst); weed_plant_t **in_params; - double xstart,xend,bw,tmp; - int sym,vert; - int tmpi,*bc; - unsigned char *tbs,*tbe,*bbs,*bbe; + double xstart, xend, bw, tmp; + int sym, vert; + int tmpi, *bc; + unsigned char *tbs, *tbe, *bbs, *bbe; register int j; switch (type) { case 0: // triple split - in_params=weed_get_plantptr_array(inst,"in_parameters",&error); - xstart=weed_get_double_value(in_params[0],"value",&error); - sym=weed_get_boolean_value(in_params[1],"value",&error); - xend=weed_get_double_value(in_params[3],"value",&error); - vert=weed_get_boolean_value(in_params[4],"value",&error); - bw=weed_get_double_value(in_params[5],"value",&error); - bc=weed_get_int_array(in_params[6],"value",&error); + in_params = weed_get_plantptr_array(inst, "in_parameters", &error); + xstart = weed_get_double_value(in_params[0], "value", &error); + sym = weed_get_boolean_value(in_params[1], "value", &error); + xend = weed_get_double_value(in_params[3], "value", &error); + vert = weed_get_boolean_value(in_params[4], "value", &error); + bw = weed_get_double_value(in_params[5], "value", &error); + bc = weed_get_int_array(in_params[6], "value", &error); if (sym) { - xstart/=2.; - xend=1.-xstart; + xstart /= 2.; + xend = 1. - xstart; } - if (xstart>xend) { - tmp=xend; - xend=xstart; - xstart=tmp; + if (xstart > xend) { + tmp = xend; + xend = xstart; + xstart = tmp; } - if (palette==WEED_PALETTE_BGR24) { - tmpi=bc[2]; - bc[2]=bc[0]; - bc[0]=tmpi; + if (palette == WEED_PALETTE_BGR24) { + tmpi = bc[2]; + bc[2] = bc[0]; + bc[0] = tmpi; } - tbs=tbe=bbs=bbe=end; + tbs = tbe = bbs = bbe = end; if (vert) { - tbs=src1+(int)(height*(xstart-bw)+.5)*irowstride1; - tbe=src1+(int)(height*(xstart+bw)+.5)*irowstride1; - bbs=src1+(int)(height*(xend-bw)+.5)*irowstride1; - bbe=src1+(int)(height*(xend+bw)+.5)*irowstride1; - xstart=xend=-bw; + tbs = src1 + (int)(height * (xstart - bw) + .5) * irowstride1; + tbe = src1 + (int)(height * (xstart + bw) + .5) * irowstride1; + bbs = src1 + (int)(height * (xend - bw) + .5) * irowstride1; + bbe = src1 + (int)(height * (xend + bw) + .5) * irowstride1; + xstart = xend = -bw; } // new threading arch - if (weed_plant_has_leaf(out_channel,"offset")) { - int offset=weed_get_int_value(out_channel,"offset",&error); - int dheight=weed_get_int_value(out_channel,"height",&error); + if (weed_plant_has_leaf(out_channel, "offset")) { + int offset = weed_get_int_value(out_channel, "offset", &error); + int dheight = weed_get_int_value(out_channel, "height", &error); - src1+=offset*irowstride1; - end=src1+dheight*irowstride1; + src1 += offset * irowstride1; + end = src1 + dheight * irowstride1; - src2+=offset*irowstride2; + src2 += offset * irowstride2; - dst+=offset*orowstride; + dst += offset * orowstride; } - for (; src1<end; src1+=irowstride1) { - for (j=0; j<width; j+=3) { - if ((j<width*(xstart-bw)||j>=width*(xend+bw))&&(src1<=tbs||src1>=bbe)) { - weed_memcpy(&dst[j],&src2[j],3); + for (; src1 < end; src1 += irowstride1) { + for (j = 0; j < width; j += 3) { + if ((j < width * (xstart - bw) || j >= width * (xend + bw)) && (src1 <= tbs || src1 >= bbe)) { + weed_memcpy(&dst[j], &src2[j], 3); continue; } - if ((j>width*(xstart+bw)&&j<width*(xend-bw))||(src1>tbe&&src1<bbs)) { - if (!inplace) weed_memcpy(&dst[j],&src1[j],3); + if ((j > width * (xstart + bw) && j < width * (xend - bw)) || (src1 > tbe && src1 < bbs)) { + if (!inplace) weed_memcpy(&dst[j], &src1[j], 3); continue; } - dst[j]=bc[0]; - dst[j+1]=bc[1]; - dst[j+2]=bc[2]; + dst[j] = bc[0]; + dst[j + 1] = bc[1]; + dst[j + 2] = bc[2]; } - src2+=irowstride2; - dst+=orowstride; + src2 += irowstride2; + dst += orowstride; } weed_free(in_params); weed_free(bc); @@ -138,32 +139,32 @@ int tsplit_process(weed_plant_t *inst, weed_timecode_t timestamp) { - return common_process(0,inst,timestamp); + return common_process(0, inst, timestamp); } weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_BGR24,WEED_PALETTE_RGB24,WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",0,palette_list),weed_channel_template_init("in channel 1",0,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",WEED_CHANNEL_CAN_DO_INPLACE,palette_list),NULL}; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_BGR24, WEED_PALETTE_RGB24, WEED_PALETTE_END}; + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", 0, palette_list), weed_channel_template_init("in channel 1", 0, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", WEED_CHANNEL_CAN_DO_INPLACE, palette_list), NULL}; - weed_plant_t *in_params1[]= {weed_float_init("start","_Start",0.666667,0.,1.),weed_radio_init("sym","Make s_ymmetrical",1,1),weed_radio_init("usend","Use _end value",0,1),weed_float_init("end","_End",0.333333,0.,1.),weed_switch_init("vert","Split _horizontally",WEED_FALSE),weed_float_init("borderw","Border _width",0.,0.,0.5),weed_colRGBi_init("borderc","Border _colour",0,0,0),NULL}; + weed_plant_t *in_params1[] = {weed_float_init("start", "_Start", 0.666667, 0., 1.), weed_radio_init("sym", "Make s_ymmetrical", 1, 1), weed_radio_init("usend", "Use _end value", 0, 1), weed_float_init("end", "_End", 0.333333, 0., 1.), weed_switch_init("vert", "Split _horizontally", WEED_FALSE), weed_float_init("borderw", "Border _width", 0., 0., 0.5), weed_colRGBi_init("borderc", "Border _colour", 0, 0, 0), NULL}; - weed_plant_t *filter_class=weed_filter_class_init("triple split","salsaman",1,WEED_FILTER_HINT_MAY_THREAD,NULL,&tsplit_process,NULL, - in_chantmpls,out_chantmpls,in_params1,NULL); + weed_plant_t *filter_class = weed_filter_class_init("triple split", "salsaman", 1, WEED_FILTER_HINT_MAY_THREAD, NULL, &tsplit_process, NULL, + in_chantmpls, out_chantmpls, in_params1, NULL); - weed_plant_t *gui=weed_filter_class_get_gui(filter_class); - char *rfx_strings[]= {"layout|p0|","layout|p1|","layout|p2|p3|","layout|p4|","layout|hseparator|"}; + weed_plant_t *gui = weed_filter_class_get_gui(filter_class); + char *rfx_strings[] = {"layout|p0|", "layout|p1|", "layout|p2|p3|", "layout|p4|", "layout|hseparator|"}; - weed_set_string_value(gui,"layout_scheme","RFX"); - weed_set_string_value(gui,"rfx_delim","|"); - weed_set_string_array(gui,"rfx_strings",5,rfx_strings); + weed_set_string_value(gui, "layout_scheme", "RFX"); + weed_set_string_value(gui, "rfx_delim", "|"); + weed_set_string_array(gui, "rfx_strings", 5, rfx_strings); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/libvis.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/libvis.c
Changed
@@ -26,10 +26,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=2; // version of this package +static int package_version = 2; // version of this package ////////////////////////////////////////////////////////////////// @@ -75,8 +75,8 @@ /////////////////////////////////////////////////////////////// int libvis_init(weed_plant_t *inst) { - weed_libvis_t *libvis=NULL; - weed_plant_t *out_channel,*filter; + weed_libvis_t *libvis = NULL; + weed_plant_t *out_channel, *filter; int error; @@ -85,60 +85,60 @@ weed_plant_t *param; - int palette,listener; + int palette, listener; - char *ainput=NULL; + char *ainput = NULL; - param=weed_get_plantptr_value(inst,"in_parameters",&error); - listener=weed_get_int_value(param,"value",&error); + param = weed_get_plantptr_value(inst, "in_parameters", &error); + listener = weed_get_int_value(param, "value", &error); - filter=weed_get_plantptr_value(inst,"filter_class",&error); + filter = weed_get_plantptr_value(inst, "filter_class", &error); switch (listener) { case 1: - ainput="alsa"; + ainput = "alsa"; break; case 2: - ainput="esd"; + ainput = "esd"; break; case 3: - ainput="jack"; + ainput = "jack"; break; case 4: - ainput="mplayer"; + ainput = "mplayer"; break; case 5: - ainput="auto"; + ainput = "auto"; break; default: - ainput=NULL; // no audio input + ainput = NULL; // no audio input break; } - if (ainput!=NULL&&instances&&strcmp(ainput,"jack")) return WEED_ERROR_TOO_MANY_INSTANCES; + if (ainput != NULL && instances && strcmp(ainput, "jack")) return WEED_ERROR_TOO_MANY_INSTANCES; - if (libvis==NULL) libvis=(weed_libvis_t *)weed_malloc(sizeof(weed_libvis_t)); - if (libvis==NULL) return WEED_ERROR_MEMORY_ALLOCATION; + if (libvis == NULL) libvis = (weed_libvis_t *)weed_malloc(sizeof(weed_libvis_t)); + if (libvis == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - if (old_input==NULL||ainput==NULL||strcmp(ainput,old_input)||instances>0) { - if (old_input!=NULL) { - if (instances==0) { + if (old_input == NULL || ainput == NULL || strcmp(ainput, old_input) || instances > 0) { + if (old_input != NULL) { + if (instances == 0) { visual_object_destroy(VISUAL_OBJECT(old_visinput)); - old_visinput=NULL; + old_visinput = NULL; } free(old_input); - old_input=NULL; + old_input = NULL; } - if (ainput!=NULL) { - old_visinput=libvis->input = visual_input_new(!strcmp(ainput,"auto")?NULL:ainput); - old_input=strdup(ainput); + if (ainput != NULL) { + old_visinput = libvis->input = visual_input_new(!strcmp(ainput, "auto") ? NULL : ainput); + old_input = strdup(ainput); } - } else libvis->input=old_visinput; + } else libvis->input = old_visinput; // host supplied audio buffers - if (libvis->input==NULL) { // wish this worked + if (libvis->input == NULL) { // wish this worked weed_free(libvis); return WEED_ERROR_INIT_ERROR; } @@ -146,17 +146,18 @@ libvis->video = visual_video_new(); - out_channel=weed_get_plantptr_value(inst,"out_channels",&error); - palette=weed_get_int_value(out_channel,"current_palette",&error); + out_channel = weed_get_plantptr_value(inst, "out_channels", &error); + palette = weed_get_int_value(out_channel, "current_palette", &error); - if (palette==WEED_PALETTE_RGB24) visual_video_set_depth(libvis->video, VISUAL_VIDEO_DEPTH_24BIT); + if (palette == WEED_PALETTE_RGB24) visual_video_set_depth(libvis->video, VISUAL_VIDEO_DEPTH_24BIT); else visual_video_set_depth(libvis->video, VISUAL_VIDEO_DEPTH_32BIT); - visual_video_set_dimension(libvis->video, weed_get_int_value(out_channel,"width",&error), weed_get_int_value(out_channel,"height",&error)); + visual_video_set_dimension(libvis->video, weed_get_int_value(out_channel, "width", &error), weed_get_int_value(out_channel, "height", + &error)); - filter_name=weed_get_string_value(filter,"name",&error); - if (!strncmp(filter_name,"libvisual: ",11)) filtname=filter_name+11; - else filtname=filter_name; + filter_name = weed_get_string_value(filter, "name", &error); + if (!strncmp(filter_name, "libvisual: ", 11)) filtname = filter_name + 11; + else filtname = filter_name; libvis->actor = visual_actor_new(filtname); weed_free(filter_name); @@ -165,16 +166,16 @@ visual_actor_video_negotiate(libvis->actor, 0, FALSE, FALSE); visual_input_realize(libvis->input); - libvis->audio=NULL; - libvis->audio_frames=0; - libvis->instance=instances; + libvis->audio = NULL; + libvis->audio_frames = 0; + libvis->instance = instances; - weed_set_voidptr_value(inst,"plugin_internal",(void *)libvis); + weed_set_voidptr_value(inst, "plugin_internal", (void *)libvis); instances++; - if (!strcmp(ainput,"auto")) { - pthread_mutex_init(&libvis->pcm_mutex,NULL); + if (!strcmp(ainput, "auto")) { + pthread_mutex_init(&libvis->pcm_mutex, NULL); visual_input_set_callback(libvis->input, libvis_host_audio_callback, (void *)libvis); } @@ -186,19 +187,19 @@ weed_libvis_t *libvis; int error; - if (weed_plant_has_leaf(inst,"plugin_internal")) { - libvis=(weed_libvis_t *)weed_get_voidptr_value(inst,"plugin_internal",&error); - if (libvis->instance>0) { + if (weed_plant_has_leaf(inst, "plugin_internal")) { + libvis = (weed_libvis_t *)weed_get_voidptr_value(inst, "plugin_internal", &error); + if (libvis->instance > 0) { visual_object_destroy(VISUAL_OBJECT(libvis->input)); } - if (libvis->video!=NULL) visual_object_free(VISUAL_OBJECT(libvis->video)); - if (libvis->actor!=NULL) visual_object_destroy(VISUAL_OBJECT(libvis->actor)); - if (libvis->audio!=NULL) weed_free(libvis->audio); + if (libvis->video != NULL) visual_object_free(VISUAL_OBJECT(libvis->video)); + if (libvis->actor != NULL) visual_object_destroy(VISUAL_OBJECT(libvis->actor)); + if (libvis->audio != NULL) weed_free(libvis->audio); weed_free(libvis); - libvis=NULL; - weed_set_voidptr_value(inst,"plugin_internal",libvis); + libvis = NULL; + weed_set_voidptr_value(inst, "plugin_internal", libvis); } - if (--instances<0) instances=0; + if (--instances < 0) instances = 0; return WEED_NO_ERROR; } @@ -210,42 +211,42 @@ int error; - int adlen=weed_get_int_value(in_channel,"audio_data_length",&error); - float *adata=(float *)weed_get_voidptr_value(in_channel,"audio_data",&error),*oadata=adata; + int adlen = weed_get_int_value(in_channel, "audio_data_length", &error); + float *adata = (float *)weed_get_voidptr_value(in_channel, "audio_data", &error), *oadata = adata; - register int i,j; + register int i, j; - if (adlen>0&&adata!=NULL) { + if (adlen > 0 && adata != NULL) { short *aud_data; - int ainter=weed_get_boolean_value(in_channel,"audio_interleaf",&error); - int achans=weed_get_int_value(in_channel,"audio_channels",&error); + int ainter = weed_get_boolean_value(in_channel, "audio_interleaf", &error); + int achans = weed_get_int_value(in_channel, "audio_channels", &error); pthread_mutex_lock(&libvis->pcm_mutex); - aud_data=(short *)weed_malloc((adlen+libvis->audio_frames)*4); + aud_data = (short *)weed_malloc((adlen + libvis->audio_frames) * 4); - if (libvis->audio!=NULL) { - weed_memcpy(aud_data,libvis->audio,libvis->audio_frames*4); + if (libvis->audio != NULL) { + weed_memcpy(aud_data, libvis->audio, libvis->audio_frames * 4); weed_free(libvis->audio); } - for (j=0; j<adlen; j++) { - if (ainter==WEED_TRUE) { + for (j = 0; j < adlen; j++) { + if (ainter == WEED_TRUE) { // interlaced - for (i=0; i<2; i++) { - aud_data[libvis->audio_frames*2+i]=32767.*adata[i]; + for (i = 0; i < 2; i++) { + aud_data[libvis->audio_frames * 2 + i] = 32767.*adata[i]; } - adata+=achans; + adata += achans; } else { // non-interlaced - for (i=0; i<2; i++) { - aud_data[libvis->audio_frames*2+i]=32767.*adata[j]; - adata+=adlen; + for (i = 0; i < 2; i++) { + aud_data[libvis->audio_frames * 2 + i] = 32767.*adata[j]; + adata += adlen; } - adata=oadata; + adata = oadata; } libvis->audio_frames++; } - libvis->audio=aud_data; + libvis->audio = aud_data; pthread_mutex_unlock(&libvis->pcm_mutex); } } @@ -254,12 +255,12 @@ int libvis_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_libvis_t *libvis=(weed_libvis_t *)weed_get_voidptr_value(inst,"plugin_internal",&error); - weed_plant_t *out_channel=weed_get_plantptr_value(inst,"out_channels",&error); - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error); - void *pixel_data=weed_get_voidptr_value(out_channel,"pixel_data",&error); + weed_libvis_t *libvis = (weed_libvis_t *)weed_get_voidptr_value(inst, "plugin_internal", &error); + weed_plant_t *out_channel = weed_get_plantptr_value(inst, "out_channels", &error); + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error); + void *pixel_data = weed_get_voidptr_value(out_channel, "pixel_data", &error); - if (in_channel!=NULL) store_audio(libvis,in_channel); + if (in_channel != NULL) store_audio(libvis, in_channel); visual_input_run(libvis->input); visual_video_set_buffer(libvis->video, pixel_data); @@ -269,42 +270,42 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_RGB24,WEED_PALETTE_RGBA32,WEED_PALETTE_END}; + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_RGB24, WEED_PALETTE_RGBA32, WEED_PALETTE_END}; weed_plant_t *out_chantmpls[2]; - char *name=NULL; + char *name = NULL; char fullname[256]; weed_plant_t *filter_class; weed_plant_t *in_params[2]; - const char *listeners[]= {"None","Alsa","ESD","Jack","Mplayer","Auto",NULL}; + const char *listeners[] = {"None", "Alsa", "ESD", "Jack", "Mplayer", "Auto", NULL}; DIR *curvdir; - weed_plant_t *in_chantmpls[]= {weed_audio_channel_template_init("In audio",0),NULL}; + weed_plant_t *in_chantmpls[] = {weed_audio_channel_template_init("In audio", 0), NULL}; - char *lpp=getenv("VISUAL_PLUGIN_PATH"); + char *lpp = getenv("VISUAL_PLUGIN_PATH"); char *vdir; - if (lpp==NULL) return NULL; + if (lpp == NULL) return NULL; // set hints for host - weed_set_int_value(in_chantmpls[0],"audio_channels",2); - weed_set_int_value(in_chantmpls[0],"audio_rate",44100); - weed_set_boolean_value(in_chantmpls[0],"audio_interleaf",WEED_FALSE); - weed_set_boolean_value(in_chantmpls[0],"audio_data_length",512); - weed_set_boolean_value(in_chantmpls[0],"optional",WEED_TRUE); + weed_set_int_value(in_chantmpls[0], "audio_channels", 2); + weed_set_int_value(in_chantmpls[0], "audio_rate", 44100); + weed_set_boolean_value(in_chantmpls[0], "audio_interleaf", WEED_FALSE); + weed_set_boolean_value(in_chantmpls[0], "audio_data_length", 512); + weed_set_boolean_value(in_chantmpls[0], "optional", WEED_TRUE); - instances=0; - old_input=NULL; - old_visinput=NULL; + instances = 0; + old_input = NULL; + old_visinput = NULL; - if (VISUAL_PLUGIN_API_VERSION<2) return NULL; + if (VISUAL_PLUGIN_API_VERSION < 2) return NULL; visual_log_set_verboseness(VISUAL_LOG_VERBOSENESS_NONE); - if (visual_init(NULL,NULL)<0) { + if (visual_init(NULL, NULL) < 0) { fprintf(stderr, "Libvis : Unable to init libvisual plugins\n"); return NULL; } @@ -312,11 +313,11 @@ vdir = strtok(lpp, ":"); // add lpp paths - while (vdir!=NULL) { + while (vdir != NULL) { if (!strlen(vdir)) continue; - curvdir=opendir(vdir); - if (curvdir==NULL) { + curvdir = opendir(vdir); + if (curvdir == NULL) { continue; } @@ -326,21 +327,21 @@ } - in_params[1]=NULL; - out_chantmpls[1]=NULL; + in_params[1] = NULL; + out_chantmpls[1] = NULL; - while ((name=(char *)visual_actor_get_next_by_name_nogl(name))!=NULL) { - snprintf(fullname,256,"libvisual: %s",name); - in_params[0]=weed_string_list_init("listener","Audio _listener",5,listeners); - weed_set_int_value(in_params[0],"flags",WEED_PARAMETER_REINIT_ON_VALUE_CHANGE); - out_chantmpls[0]=weed_channel_template_init("out channel 0",0,palette_list); - filter_class=weed_filter_class_init(fullname,"Team libvisual",1,0,&libvis_init,&libvis_process,&libvis_deinit, - in_chantmpls,out_chantmpls,in_params,NULL); - weed_set_double_value(filter_class,"target_fps",50.); // set reasonable default fps + while ((name = (char *)visual_actor_get_next_by_name_nogl(name)) != NULL) { + snprintf(fullname, 256, "libvisual: %s", name); + in_params[0] = weed_string_list_init("listener", "Audio _listener", 5, listeners); + weed_set_int_value(in_params[0], "flags", WEED_PARAMETER_REINIT_ON_VALUE_CHANGE); + out_chantmpls[0] = weed_channel_template_init("out channel 0", 0, palette_list); + filter_class = weed_filter_class_init(fullname, "Team libvisual", 1, 0, &libvis_init, &libvis_process, &libvis_deinit, + in_chantmpls, out_chantmpls, in_params, NULL); + weed_set_double_value(filter_class, "target_fps", 50.); // set reasonable default fps - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); } - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); //weed_plant_free(out_chantmpls[0]); } return plugin_info; @@ -358,18 +359,18 @@ int alen; - weed_libvis_t *libvis=(weed_libvis_t *)user_data; + weed_libvis_t *libvis = (weed_libvis_t *)user_data; - alen=libvis->audio_frames*4; + alen = libvis->audio_frames * 4; - if (alen>2048) alen=2048; + if (alen > 2048) alen = 2048; - if (libvis->audio!=NULL) { + if (libvis->audio != NULL) { pthread_mutex_lock(&libvis->pcm_mutex); - weed_memcpy(audio->plugpcm,libvis->audio,alen); + weed_memcpy(audio->plugpcm, libvis->audio, alen); weed_free(libvis->audio); - libvis->audio=NULL; - libvis->audio_frames=0; + libvis->audio = NULL; + libvis->audio_frames = 0; pthread_mutex_unlock(&libvis->pcm_mutex); } return 0;
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/lifeTV.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/lifeTV.c
Changed
@@ -27,10 +27,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -65,32 +65,32 @@ /* Background image is refreshed every frame */ static void image_bgsubtract_update_y(RGB32 *src, int width, int height, int rowstride, struct _sdata *sdata) { - register int i,j; + register int i, j; int R, G, B; RGB32 *p; short *q; unsigned char *r; int v; - rowstride-=width; + rowstride -= width; p = src; q = sdata->background; r = sdata->diff; - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - R = ((*p)&0xff0000)>>(16-1); - G = ((*p)&0xff00)>>(8-2); - B = (*p)&0xff; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + R = ((*p) & 0xff0000) >> (16 - 1); + G = ((*p) & 0xff00) >> (8 - 2); + B = (*p) & 0xff; v = (R + G + B) - (int)(*q); *q = (short)(R + G + B); - *r = ((v + sdata->threshold)>>24) | ((sdata->threshold - v)>>24); + *r = ((v + sdata->threshold) >> 24) | ((sdata->threshold - v) >> 24); p++; q++; r++; } - p+=rowstride; + p += rowstride; } } @@ -103,17 +103,17 @@ unsigned int sum1, sum2, sum3; src = sdata->diff; - dest = sdata->diff2 + width +1; - for (y=1; y<height-1; y++) { - sum1 = src[0] + src[width] + src[width*2]; - sum2 = src[1] + src[width+1] + src[width*2+1]; + dest = sdata->diff2 + width + 1; + for (y = 1; y < height - 1; y++) { + sum1 = src[0] + src[width] + src[width * 2]; + sum2 = src[1] + src[width + 1] + src[width * 2 + 1]; src += 2; - for (x=1; x<width-1; x++) { - sum3 = src[0] + src[width] + src[width*2]; + for (x = 1; x < width - 1; x++) { + sum3 = src[0] + src[width] + src[width * 2]; count = sum1 + sum2 + sum3; sum1 = sum2; sum2 = sum3; - *dest++ = (0xff*3 - count)>>24; + *dest++ = (0xff * 3 - count) >> 24; src++; } dest += 2; @@ -128,27 +128,27 @@ int lifetv_init(weed_plant_t *inst) { struct _sdata *sdata; - int height,width,video_area; + int height, width, video_area; weed_plant_t *in_channel; int error; - sdata=weed_malloc(sizeof(struct _sdata)); + sdata = weed_malloc(sizeof(struct _sdata)); if (sdata == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - in_channel=weed_get_plantptr_value(inst,"in_channels",&error); + in_channel = weed_get_plantptr_value(inst, "in_channels", &error); - height=weed_get_int_value(in_channel,"height",&error); - width=weed_get_int_value(in_channel,"width",&error); + height = weed_get_int_value(in_channel, "height", &error); + width = weed_get_int_value(in_channel, "width", &error); - video_area=width*height; + video_area = width * height; - sdata->field = (unsigned char *)weed_malloc(video_area*2); + sdata->field = (unsigned char *)weed_malloc(video_area * 2); if (sdata->field == NULL) { weed_free(sdata); return WEED_ERROR_MEMORY_ALLOCATION; } - sdata->diff = (unsigned char *)weed_malloc(video_area*sizeof(unsigned char)); + sdata->diff = (unsigned char *)weed_malloc(video_area * sizeof(unsigned char)); if (sdata->diff == NULL) { weed_free(sdata->field); @@ -156,7 +156,7 @@ return WEED_ERROR_MEMORY_ALLOCATION; } - sdata->diff2 = (unsigned char *)weed_malloc(video_area*sizeof(unsigned char)); + sdata->diff2 = (unsigned char *)weed_malloc(video_area * sizeof(unsigned char)); if (sdata->diff2 == NULL) { weed_free(sdata->diff); @@ -166,7 +166,7 @@ } - sdata->background = (short *)weed_malloc(video_area*sizeof(short)); + sdata->background = (short *)weed_malloc(video_area * sizeof(short)); if (sdata->background == NULL) { weed_free(sdata->field); weed_free(sdata->diff); @@ -183,13 +183,13 @@ return WEED_ERROR_MEMORY_ALLOCATION; } - weed_memset(sdata->diff, 0, video_area*sizeof(unsigned char)); + weed_memset(sdata->diff, 0, video_area * sizeof(unsigned char)); - sdata->threshold=280; + sdata->threshold = 280; sdata->field1 = sdata->field; sdata->field2 = sdata->field + video_area; - clear_field(sdata,video_area); - weed_set_voidptr_value(inst,"plugin_internal",sdata); + clear_field(sdata, video_area); + weed_set_voidptr_value(inst, "plugin_internal", sdata); return WEED_NO_ERROR; } @@ -199,7 +199,7 @@ struct _sdata *sdata; int error; - sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); + sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); if (sdata != NULL) { weed_free(sdata->background); weed_free(sdata->diff); @@ -215,42 +215,42 @@ int lifetv_process(weed_plant_t *inst, weed_timecode_t timestamp) { struct _sdata *sdata; - weed_plant_t *in_channel,*out_channel; + weed_plant_t *in_channel, *out_channel; unsigned char *p, *q, v; unsigned char sum, sum1, sum2, sum3; - RGB32 *src,*dest; + RGB32 *src, *dest; RGB32 pix; - int width,height,video_area,irow,orow; + int width, height, video_area, irow, orow; int error; register int x, y; - sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); - in_channel=weed_get_plantptr_value(inst,"in_channels",&error); - out_channel=weed_get_plantptr_value(inst,"out_channels",&error); + sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); + in_channel = weed_get_plantptr_value(inst, "in_channels", &error); + out_channel = weed_get_plantptr_value(inst, "out_channels", &error); - src=weed_get_voidptr_value(in_channel,"pixel_data",&error); - dest=weed_get_voidptr_value(out_channel,"pixel_data",&error); + src = weed_get_voidptr_value(in_channel, "pixel_data", &error); + dest = weed_get_voidptr_value(out_channel, "pixel_data", &error); - width = weed_get_int_value(in_channel,"width",&error); - height = weed_get_int_value(in_channel,"height",&error); + width = weed_get_int_value(in_channel, "width", &error); + height = weed_get_int_value(in_channel, "height", &error); - irow = weed_get_int_value(in_channel,"rowstrides",&error)/4; - orow = weed_get_int_value(out_channel,"rowstrides",&error)/4-width; + irow = weed_get_int_value(in_channel, "rowstrides", &error) / 4; + orow = weed_get_int_value(out_channel, "rowstrides", &error) / 4 - width; - video_area=width*height; + video_area = width * height; - image_bgsubtract_update_y(src,width,height,irow,sdata); - image_diff_filter(sdata,width,height); - p=sdata->diff2; + image_bgsubtract_update_y(src, width, height, irow, sdata); + image_diff_filter(sdata, width, height); + p = sdata->diff2; - irow-=width; + irow -= width; - for (x=0; x<video_area; x++) { + for (x = 0; x < video_area; x++) { sdata->field1[x] |= p[x]; } @@ -260,13 +260,13 @@ src += width + 1; /* each value of cell is 0 or 0xff. 0xff can be treated as -1, so * following equations treat each value as negative number. */ - for (y=1; y<height-1; y++) { + for (y = 1; y < height - 1; y++) { sum1 = 0; - sum2 = p[0] + p[width] + p[width*2]; - for (x=1; x<width-1; x++) { - sum3 = p[1] + p[width+1] + p[width*2+1]; + sum2 = p[0] + p[width] + p[width * 2]; + for (x = 1; x < width - 1; x++) { + sum3 = p[1] + p[width + 1] + p[width * 2 + 1]; sum = sum1 + sum2 + sum3; - v = 0 - ((sum==0xfd)|((p[width]!=0)&(sum==0xfc))); + v = 0 - ((sum == 0xfd) | ((p[width] != 0) & (sum == 0xfc))); *q++ = v; pix = (signed char)v; // pix = pix >> 8; @@ -277,8 +277,8 @@ } p += 2; q += 2; - src += 2+irow; - dest += 2+orow; + src += 2 + irow; + dest += 2 + orow; } p = sdata->field1; sdata->field1 = sdata->field2; @@ -291,18 +291,18 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_RGBA32,WEED_PALETTE_BGRA32,WEED_PALETTE_END}; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_RGBA32, WEED_PALETTE_BGRA32, WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",WEED_CHANNEL_REINIT_ON_SIZE_CHANGE,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",0,palette_list),NULL}; - weed_plant_t *filter_class=weed_filter_class_init("lifeTV","effectTV",1,0,&lifetv_init,&lifetv_process,&lifetv_deinit,in_chantmpls, - out_chantmpls,NULL,NULL); + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", WEED_CHANNEL_REINIT_ON_SIZE_CHANGE, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", 0, palette_list), NULL}; + weed_plant_t *filter_class = weed_filter_class_init("lifeTV", "effectTV", 1, 0, &lifetv_init, &lifetv_process, &lifetv_deinit, in_chantmpls, + out_chantmpls, NULL, NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/livetext.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/livetext.c
Changed
@@ -18,10 +18,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=2; // version of this package +static int package_version = 2; // version of this package ////////////////////////////////////////////////////////////////// @@ -59,15 +59,15 @@ static int get_hex_digit(char *d) { char c[2]; - c[0]=*d; - c[1]=0; - - if (!strcmp(c,"a")||!strcmp(c,"A")) return 10; - if (!strcmp(c,"b")||!strcmp(c,"B")) return 11; - if (!strcmp(c,"c")||!strcmp(c,"C")) return 12; - if (!strcmp(c,"d")||!strcmp(c,"D")) return 13; - if (!strcmp(c,"e")||!strcmp(c,"E")) return 14; - if (!strcmp(c,"f")||!strcmp(c,"F")) return 15; + c[0] = *d; + c[1] = 0; + + if (!strcmp(c, "a") || !strcmp(c, "A")) return 10; + if (!strcmp(c, "b") || !strcmp(c, "B")) return 11; + if (!strcmp(c, "c") || !strcmp(c, "C")) return 12; + if (!strcmp(c, "d") || !strcmp(c, "D")) return 13; + if (!strcmp(c, "e") || !strcmp(c, "E")) return 14; + if (!strcmp(c, "f") || !strcmp(c, "F")) return 15; return (atoi(c)); } @@ -84,41 +84,43 @@ // this can be expanded by increasing NFONTMAPS - font_maps[0]= + font_maps[0] = "ANSI|8|0000183C3C3C18181800181800000000006666662400000000000000000000000000006C6CFE6C6C6CFE6C6C0000000018187CC6C2C07C060686C67C1818000000000000C2C60C183060C686000000000000386C6C3876DCCCCCCC76000000000030303060000000000000000000000000000C18303030303030180C00000000000030180C0C0C0C0C0C1830000000000000000000663CFF3C66000000000000000000000018187E181800000000000000000000000000000018181830000000000000000000007E0000000000000000000000000000000000001818000000000000000002060C183060C0800000000000007CC6C6CEDEF6E6C6C67C0000000000001838781818181818187E0000000000007CC6060C183060C0C6FE0000000000007CC606063C060606C67C0000000000000C1C3C6CCCFE0C0C0C1E000000000000FEC0C0C0FC060606C67C0000000000003860C0C0FCC6C6C6C67C000000000000FEC606060C18303030300000000000007CC6C6C67CC6C6C6C67C0000000000007CC6C6C67E0606060C78000000000000000018180000001818000000000000000000181800000018183000000000000000060C18306030180C060000000000000000007E00007E000000000000000000006030180C060C1830600000000000007CC6C60C1818180018180000000000007CC6C6C6DEDEDEDCC07C00000000000010386CC6C6FEC6C6C6C6000000000000FC6666667C66666666FC0000000000003C66C2C0C0C0C0C2663C000000000000F86C6666666666666CF8000000000000FE6662687868606266FE000000000000FE6662687868606060F00000000000003C66C2C0C0DEC6C6663A000000000000C6C6C6C6FEC6C6C6C6C60000000000003C18181818181818183C0000000000001E0C0C0C0C0CCCCCCC78000000000000E666666C78786C6666E6000000000000F06060606060606266FE000000000000C3E7FFFFDBC3C3C3C3C3000000000000C6E6F6FEDECEC6C6C6C60000000000007CC6C6C6C6C6C6C6C67C000000000000FC6666667C60606060F00000000000007CC6C6C6C6C6C6D6DE7C0C0E00000000FC6666667C6C666666E60000000000007CC6C660380C06C6C67C000000000000FFDB991818181818183C000000000000C6C6C6C6C6C6C6C6C67C000000000000C3C3C3C3C3C3C3663C18000000000000C3C3C3C3C3DBDBFF6666000000000000C3C3663C18183C66C3C3000000000000C3C3C3663C181818183C000000000000FFC3860C183060C1C3FF0000000000003C30303030303030303C0000000000000080C0E070381C0E06020000000000003C0C0C0C0C0C0C0C0C3C0000000010386CC600000000000000000000000000000000000000000000000000FF0000303018000000000000000000000000000000000000780C7CCCCCCC76000000000000E06060786C666666667C0000000000000000007CC6C0C0C0C67C0000000000001C0C0C3C6CCCCCCCCC760000000000000000007CC6FEC0C0C67C000000000000386C6460F060606060F000000000000000000076CCCCCCCCCC7C0CCC78000000E060606C7666666666E60000000000001818003818181818183C0000000000000606000E06060606060666663C000000E06060666C78786C66E60000000000003818181818181818183C000000000000000000E6FFDBDBDBDBDB000000000000000000DC6666666666660000000000000000007CC6C6C6C6C67C000000000000000000DC66666666667C6060F000000000000076CCCCCCCCCC7C0C0C1E000000000000DC7666606060F00000000000000000007CC660380CC67C000000000000103030FC30303030361C000000000000000000CCCCCCCCCCCC76000000000000000000C3C3C3C3663C18000000000000000000C3C3C3DBDBFF66000000000000000000C3663C183C66C3000000000000000000C6C6C6C6C6C67E060CF8000000000000FECC183060C6FE0000000000000E18181870181818180E00000000000018181818001818181818000000000000701818180E181818187000000000000076DC0000000000000000000000000000000010386CC6C6C6FE0000000000"; // hex encoded font map - Hiragana - font_maps[1]= + font_maps[1] = "Hiragana|16|0000000000000000020002E03F00024002400FF01488250822083C100060018000000100010001F83F000120012007F01A4822444144418443043C08003000C0000000000000000000000000300010101008100810041104120414000C00040000000000000060102010200820082004200420042104120414001800080008000000000000000000040003F0000001F026081804000400040008003000C003000000080007F00000000001F04608380400040004000400040008003000C007000000000000000000040003E0000020401FF00080010003C004400840107C000000001000080007C00000002041F03E40008001800280044008401040203E000000000000000000000000061002083FF4020007E00A101208120812080C10006000000800040804E47F02041E040007F00C081404240444044404380800700000000006000200020847C43C44044408420842085A104610822080270040000000000004040212020804107FC80444044408420842105E1042208026804100000000000100008C00F01F80004700F87F2000200010401040F02000180007F0000000000206011801E01E800047007803C03C200020001041F02010180007E00000000000700020004000800300040008000400020001000080006000100008000000000052004900800100020004000800100010000C00030000C00020001000000000206020102010201347FC40104010401044104810502030201040108000000000104220292024202047FF40204020402048205020502030203040118000000000000010000FF80010002000000000000000000000400020021FFC000000000000000200091FF40020004000000000000000000000400020021FFC00000000000001000080004E30700FC000200010001040C84038200010000C0003F80004000002040112008820FC1FC0004000200020401040F0400020001C0003FC00000000300008000800080008000800080010001002100410081010086007800000000010200910088008000800080008001000100110021004100810300FC00000000000E0002000204FFF302001A0026004200420026001A00040008003000C00000001840052004847FE3840004007C0084008C0074000400040008001000E000000002030100810081008FE7F1008100810081008D0083008000FFC0000000000000014104A08200820082008FE7F200820082009A0086008000C0003FC0000000000F01F20004000800100021E0FE014006400040004000400030000FC0000000000FA1F25004000800100021E0FE014006400040004000400030000FC0000000004000400046047803C7E040008000800080010001200120021FE4000000000000414040A046047803C7E040008000800080010001200120021FE40000000000003000100217C1F800200040005FC0E0208021002100200040008007003800000060A020542F83F00040008000BF81C041004200420040008001000E0070000000000000000000000000003F00C081004000400040008001000600380000000000000000001F80604780200020002000200020004000400180060078000000000000A000501F806047802000200020002000200040004001800600780000000000000003C07C07A000400040008000800080008000400020001F80000000000000000003C07C07A14040A040008000800080008000400020001F8000000000000030001000100010801180160038004000800100010001000080007FC000000000600020A02050210023002C007000800100020002000200010000FF8000000000400040007707C1C04100410081008100810101013F01418242443C2000000002000100011FC1000200040004000400040004C005200610021FE20001000000001000100410043F02D08110431022902450242024374448C388C0072000200000C000400047805847E04440408041804180428F4490C490638F9080008000000000007F01908210441044102410241024102420222021C040008003000C00000106010101010101E27F0201040104010401045F05A1C621261E1200000000000106A10151010101E27F0201040104010401045F05A1C621261E120000000000020C620292026203C4FE040208020802080208BE0B438C424C3C2400000000000010041003E08020804080808100C200C20122010201010200FC0000000000000010A41053E08020804080808100C200C20122010201010200FC0000000000000010641093E0E020804080808100C200C20122010201010200FC000000000000002000100008001400200040002000110008804440842104226404180000000000214010A00800140020004000200011000880444084210422640418000000000020C0112008C0140020004000200011000880444084210422640418000000000000000000300048008401020602000100008000400020001000000000000000000000014030A04800840102060200010000800040002000100000000000000000000000C0312048C0840102060200010000800040002000100000000000000002000107C11902010201E47F040104010401049F85214221221E1200000000000400A207527C04040407C8FC080408040804093F0A448444443824000000000004006207927C64040407C8FC080408040804093E0A458444443824000000000000180008000FE7F800080008000FC3F80008000800FE0109810860F0000000000018022801C8000980108010802080FF0321842144422482130400080010000001800041005887E04040204023C00440444044C0434080408041003E000000000018030801080108017E01918290449024502460245024804301800600180000006000200020022001FE0040044043FF40402040204020402040403F800000000000000000000000000801040087805A446243A040288027001000100010000000100108020F8214422421C027002080409F8040004000200020002000100000000000000000000001180108011F81684188420842084229821E001000600000001802040107811C4124224424842504260424442424421F8108003000400000000000000000000000180008000FC0080008000800F8010E0119C0E0000000000018000800080008600F800800080008000801FC020B0208C21021E0100000000060001E018001000100010F01308140418041004200420040008003007C000040408080808090A0A0C04000000030000007811900E2000400080010003F804040802138264420442044C03F00000000018000400047004903F104410041004100C101411241154120C0C040000000000006011A00E400080010002780784080210022002400200040008003003C0000000000000000000000600040004F01F88060404040C041404140804100460000010000800040004000C78158466020C02140224024402440274040C080470000001C006401880010003E00D18120422024402440244E24912311400F80010000013E00C4000800170078808041304148404F80380081C182224424382000400000100010011380FC0020003000487085870E0034004400840080007FE000000000700010002000200040004000800080017801842104220442044404800300000000000000000000003FC1C080010012001C001000100020002000400080000000000000047FE3804011801E001000100010002000200040008001000000000000000000000000001020C00000000000000180008001000100020004000C0014002400C403040004000400040000000000000000000000000010001001FF01110101010201040004000800100020000000100010001001FF811081008100810081010101000200040008003000C0000000000000000000000000000001FF0010001000100010001003FFC0000000000000000000000000000107C0F8001000100010001000100010043FE3C000000000000000000000000000080004000401FFC00C0014002400440184000C0000000000100008000400040407F3FC0004000C00140024004400840104061C00040000003000100010001FC7F040104010401040104020402080488087010006000000001040112010801003FFC01040104010402040204040408881078200040000000040002000100010047FC39000100010001FF7E8000800080008000800000000004000214010A010047FC39000100010001FF7E8000800080008000800000000001000100010003FC040808081010201040200040008001000600180060000000010A0105010003FC04080808101020104020004000800100060018006000000006000200020004000FFE082010202020404000400080010002000400080000000614020A020004000FFE0820102020204040004000800100020004000800000000000000000020001FF800080008000800080008001000107FFC00000000000000000014000A20001FF800080008000800080008001000107FFC0000000000000060182004200420043E7FE00420042004200420044000400080010002000000006A182504200420043E7FE0042004200420042004400040008001000200000000001000080004002002100408080010002000400080110012000C000000000000501028080004002002100408080010002000400080110012000C00000000000000107C0F840008000800100020004000E00110020804041802600000000000000A20F51F100010002000200040008001C00220041008083004C00000000000000008000400040004FC0F087410042004C004000400040007FE0000000000000004080A0404040004FC0F087410042004C004000400040007FE00000000000000000008100808080408041004100020002000400080010002000C0000000000000A0005201010100810082008200040004000800100020004001800000000000100010001FC020404080C101220212040C00080014002000400180060000000020A020503F804080810182024404240818001000280040008003000C00000000000001803E03C800080008003FE7C80008001000100020004001800000000000000003007C279050102010007FCF9000100020002000400080030000000000000000000000000000200110808880488041000100020004000800100060000000000020E21021102108408840808000800100020004000800100060018000000000A0405421822082108111010100020002000400080010002000C003000000010180FE0000000004FFE3080008000800080010001000200040008003000000020301FCA000500009FFC61000100010001000200020004000800100060000003010101010101010101010101010100000314010A01000100010001E00118010401000100010001000100010001000000018000800080008040FE3F80008000800080010001000200040018000000000000000000000000001FF80000000000000000000043FE3C000000000000000000000000001FFC0008000800100610012000C000A001100208040418026000000004000200010000F03F200040008001E003180D0471020102010001000100000000000018000400040008000800100010002000400080010002000C003000000000000040064002200210021004080408080408041002100220024000000000000014004A06400220021002100408040808040804100210022002400000000000000C0052064C02200210021004080408080408041002100220024000000000000000300010001000100C107013801C00100010001000100010041FFC0000000000003014100A1000100C107013801C00100010001000100010041FFC00000000000C3012100C1000100C107013801C00100010001000100010041FFC000000000000000023FC1C04000400080008001000200040008001000200040018000000000A000547F838080008001000100020004000800100020004000800300000000006000947FE3808000800100010002000400080010002000400080030000000000000000200050004800840102060100008000400020002000000000000000000000004001203080480084010206010000800040002000200000000000000000000000C0012030C04800840102060100008000400020002000000000000000003000100010041FE3F00012009100908110811042104410005000300000000000314010A010041FE3F0001200910090811081104210441000500030000000000030C0112010C41FE3F000120091009081108110421044100050003000000000000000000003E43C23C04000800101820064001800080004000400000000000001E0001C00030000C1C0003800060001800041C00030000C00030000800000000020001000100010002000200044004200810100810F82704780200020002000000780008000800100110009000600020005000880104020004001800000000000000000001F81F0001000100010007FE790001000100010001FF0000000000000000000000000000040002000278078879100120014001000100010000000000040004000200023E03C24F043108011001200140008000800080008000000000000000000000000000000000000000000FE000200020002000203FFC000000000000000000000000000000001FF00010001000100020002000207FFE000000000000000000000000000000000FF8000800080FF80010001000101FF0000000000000000000001FFC00040004000400041FF800080008000800087FF8000000000FF800000000000043FC3C0400040008001000200040018006000800100000000020101008100810081008100810081008100810001000200040018006000000030019000900090009000900090109020904090811101120214041800000000000000000100010001001100210041008101010201040118016001800000000000000000000001FF81008100810081008100810081FF810001000000000000000000000000000000010001FF01010101010200020004000400080010002000000000000001FF810081008100810081010001000200020004000800100020000000080008000803FFC08800880088008807FFF008000800080008000800080000000000000000001F83E1000600180010001000100010047FE3800000000000000000000003FF80008000800081FF800080010001000200040008003000C00000000000000300008040404040800080010002000400080010002003C00000000000214010A010001001FF81008100810101010102000400080010002000400000000000000000000000100010001F01F1001100110021002100410086010000000000000000000000000000400040004780FA0104020400080010002000400"; - int i,j,k; + int i, j, k; int nglyphs; size_t len; - for (k=0; k<NFONTMAPS; k++) { - len=strcspn(font_maps[k],"|"); - font_tables[k].fontname=weed_malloc(len+1); - weed_memcpy(font_tables[k].fontname,font_maps[k],len); - weed_memset(font_tables[k].fontname+len,0,1); - font_maps[k]+=len+1; - font_tables[k].width=atoi(font_maps[k]); - len=strcspn(font_maps[k],"|"); - font_maps[k]+=len+1; - nglyphs=strlen(font_maps[k])/4/font_tables[k].width; - font_tables[k].nglyphs=++nglyphs; - font_tables[k].fonttable=weed_malloc(32*nglyphs); - - for (i=0; i<nglyphs*16; i+=16) { - for (j=0; j<16; j++) { - if (i==0) font_tables[k].fonttable[j]=0; // make sure we have a space + for (k = 0; k < NFONTMAPS; k++) { + len = strcspn(font_maps[k], "|"); + font_tables[k].fontname = weed_malloc(len + 1); + weed_memcpy(font_tables[k].fontname, font_maps[k], len); + weed_memset(font_tables[k].fontname + len, 0, 1); + font_maps[k] += len + 1; + font_tables[k].width = atoi(font_maps[k]); + len = strcspn(font_maps[k], "|"); + font_maps[k] += len + 1; + nglyphs = strlen(font_maps[k]) / 4 / font_tables[k].width; + font_tables[k].nglyphs = ++nglyphs; + font_tables[k].fonttable = weed_malloc(32 * nglyphs); + + for (i = 0; i < nglyphs * 16; i += 16) { + for (j = 0; j < 16; j++) { + if (i == 0) font_tables[k].fonttable[j] = 0; // make sure we have a space else { - if (font_tables[k].width==16) { - font_tables[k].fonttable[i+j]=((get_hex_digit(&font_maps[k][(i-16+j)*4])<<12)+(get_hex_digit(&font_maps[k][(i-16+j)*4+1])<<8)+ - (get_hex_digit(&font_maps[k][(i-16+j)*4+2])<<4)+(get_hex_digit(&font_maps[k][(i-16+j)*4+3]))); + if (font_tables[k].width == 16) { + font_tables[k].fonttable[i + j] = ((get_hex_digit(&font_maps[k][(i - 16 + j) * 4]) << 12) + (get_hex_digit( + &font_maps[k][(i - 16 + j) * 4 + 1]) << 8) + + (get_hex_digit(&font_maps[k][(i - 16 + j) * 4 + 2]) << 4) + (get_hex_digit(&font_maps[k][(i - 16 + j) * 4 + 3]))); } else { - font_tables[k].fonttable[i+j]=((get_hex_digit(&font_maps[k][(i-16+j)*2])<<4)+(get_hex_digit(&font_maps[k][(i-16+j)*2+1]))); + font_tables[k].fonttable[i + j] = ((get_hex_digit(&font_maps[k][(i - 16 + j) * 2]) << 4) + (get_hex_digit( + &font_maps[k][(i - 16 + j) * 2 + 1]))); } } } @@ -131,38 +133,38 @@ static inline void fill_line(int fontwidth, unsigned char *dst, unsigned short fontrow, int type, rgb_t *fg, rgb_t *bg) { register int i; - for (i=fontwidth-1; i>=0; i--) { + for (i = fontwidth - 1; i >= 0; i--) { switch (type) { case 1: // fg and bg - if (fontrow&(1<<i)) { - dst[0]=fg->red; - dst[1]=fg->green; - dst[2]=fg->blue; + if (fontrow & (1 << i)) { + dst[0] = fg->red; + dst[1] = fg->green; + dst[2] = fg->blue; } else { - dst[0]=bg->red; - dst[1]=bg->green; - dst[2]=bg->blue; + dst[0] = bg->red; + dst[1] = bg->green; + dst[2] = bg->blue; } break; case 0: // fg only - if (fontrow&(1<<i)) { - dst[0]=fg->red; - dst[1]=fg->green; - dst[2]=fg->blue; + if (fontrow & (1 << i)) { + dst[0] = fg->red; + dst[1] = fg->green; + dst[2] = fg->blue; } break; case 2: // bg only - if (!(fontrow&(1<<i))) { - dst[0]=bg->red; - dst[1]=bg->green; - dst[2]=bg->blue; + if (!(fontrow & (1 << i))) { + dst[0] = bg->red; + dst[1] = bg->green; + dst[2] = bg->blue; } break; } - dst+=3; + dst += 3; } } @@ -172,13 +174,13 @@ register int i; - glyph-=32; + glyph -= 32; - if (glyph<0||glyph>=font_tables[fontnum].nglyphs) return; + if (glyph < 0 || glyph >= font_tables[fontnum].nglyphs) return; - for (i=0; i<16; i++) { - fill_line(font_tables[fontnum].width,dst,font_tables[fontnum].fonttable[glyph*16+i],type,fg,bg); - dst+=drow; + for (i = 0; i < 16; i++) { + fill_line(font_tables[fontnum].width, dst, font_tables[fontnum].fonttable[glyph * 16 + i], type, fg, bg); + dst += drow; } } @@ -187,20 +189,20 @@ int get_xpos(char *str, int width, int cent) { register int i; - int linelen=0,res; + int linelen = 0, res; - if (cent==WEED_FALSE) return 0; + if (cent == WEED_FALSE) return 0; - for (i=0; str[i]!=0; i++) { - if (!strncmp(str+i,"\n",1)) { + for (i = 0; str[i] != 0; i++) { + if (!strncmp(str + i, "\n", 1)) { break; } linelen++; } - res=(width-linelen)/2; + res = (width - linelen) / 2; - return res<0?0:res; + return res < 0 ? 0 : res; } @@ -209,12 +211,12 @@ int get_ypos(char *str, int height, int rise) { register int i; - int res=height-1; + int res = height - 1; - if (rise==WEED_FALSE) return 0; + if (rise == WEED_FALSE) return 0; - for (i=0; str[i]!=0; i++) { - if (!strncmp(str+i,"\n",1)) res--; + for (i = 0; str[i] != 0; i++) { + if (!strncmp(str + i, "\n", 1)) res--; } return res; @@ -246,89 +248,89 @@ int fontnum; - weed_plant_t *out_channel=weed_get_plantptr_value(inst,"out_channels",&error); - unsigned char *dst=weed_get_voidptr_value(out_channel,"pixel_data",&error); + weed_plant_t *out_channel = weed_get_plantptr_value(inst, "out_channels", &error); + unsigned char *dst = weed_get_voidptr_value(out_channel, "pixel_data", &error); - int width=weed_get_int_value(out_channel,"width",&error),widthx,widthz; - int height=weed_get_int_value(out_channel,"height",&error),heightx=height>>4; + int width = weed_get_int_value(out_channel, "width", &error), widthx, widthz; + int height = weed_get_int_value(out_channel, "height", &error), heightx = height >> 4; - int orowstride=weed_get_int_value(out_channel,"rowstrides",&error); + int orowstride = weed_get_int_value(out_channel, "rowstrides", &error); - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); int ofill; - int palette=weed_get_int_value(out_channel,"current_palette",&error); + int palette = weed_get_int_value(out_channel, "current_palette", &error); - int pbits=3; + int pbits = 3; - int xpos,ypos,offs; + int xpos, ypos, offs; - rgb_t *fg,*bg; + rgb_t *fg, *bg; - int cent,rise; + int cent, rise; - weed_plant_t *in_channel=NULL; + weed_plant_t *in_channel = NULL; unsigned char *src; - int irowstride=0; + int irowstride = 0; - if (weed_plant_has_leaf(inst,"in_channels")) { - in_channel=weed_get_plantptr_value(inst,"in_channels",&error); - src=weed_get_voidptr_value(in_channel,"pixel_data",&error); - irowstride=weed_get_int_value(in_channel,"rowstrides",&error); - } else src=dst; + if (weed_plant_has_leaf(inst, "in_channels")) { + in_channel = weed_get_plantptr_value(inst, "in_channels", &error); + src = weed_get_voidptr_value(in_channel, "pixel_data", &error); + irowstride = weed_get_int_value(in_channel, "rowstrides", &error); + } else src = dst; - if (palette==WEED_PALETTE_RGBA32||palette==WEED_PALETTE_BGRA32) pbits=4; + if (palette == WEED_PALETTE_RGBA32 || palette == WEED_PALETTE_BGRA32) pbits = 4; - text=weed_get_string_value(in_params[0],"value",&error); - mode=weed_get_int_value(in_params[1],"value",&error); - fontnum=weed_get_int_value(in_params[2],"value",&error); + text = weed_get_string_value(in_params[0], "value", &error); + mode = weed_get_int_value(in_params[1], "value", &error); + fontnum = weed_get_int_value(in_params[2], "value", &error); - fg=(rgb_t *)weed_get_int_array(in_params[3],"value",&error); - bg=(rgb_t *)weed_get_int_array(in_params[4],"value",&error); + fg = (rgb_t *)weed_get_int_array(in_params[3], "value", &error); + bg = (rgb_t *)weed_get_int_array(in_params[4], "value", &error); - cent=weed_get_boolean_value(in_params[5],"value",&error); - rise=weed_get_boolean_value(in_params[6],"value",&error); + cent = weed_get_boolean_value(in_params[5], "value", &error); + rise = weed_get_boolean_value(in_params[6], "value", &error); - if (palette==WEED_PALETTE_BGR24||palette==WEED_PALETTE_BGRA32) { - int tmp=fg->red; - fg->red=fg->blue; - fg->blue=tmp; + if (palette == WEED_PALETTE_BGR24 || palette == WEED_PALETTE_BGRA32) { + int tmp = fg->red; + fg->red = fg->blue; + fg->blue = tmp; - tmp=bg->red; - bg->red=bg->blue; - bg->blue=tmp; + tmp = bg->red; + bg->red = bg->blue; + bg->blue = tmp; } weed_free(in_params); // must weed free because we got an array - widthx=width*pbits; + widthx = width * pbits; - widthz=width/font_tables[fontnum].width; + widthz = width / font_tables[fontnum].width; - ofill=orowstride-widthx; + ofill = orowstride - widthx; - pbits*=font_tables[fontnum].width; + pbits *= font_tables[fontnum].width; - if (src!=dst) { - for (i=0; i<height; i++) { - weed_memcpy(&dst[i*orowstride],&src[i*irowstride],widthx); - if (ofill>0) weed_memset(&dst[i*orowstride+widthx],0,ofill); + if (src != dst) { + for (i = 0; i < height; i++) { + weed_memcpy(&dst[i * orowstride], &src[i * irowstride], widthx); + if (ofill > 0) weed_memset(&dst[i * orowstride + widthx], 0, ofill); } } - xpos=get_xpos(text,widthz,cent); - ypos=get_ypos(text,heightx,rise); + xpos = get_xpos(text, widthz, cent); + ypos = get_ypos(text, heightx, rise); - for (i=0; i<strlen(text); i++) { - if (!strncmp(text+i,"\n",1)) { - xpos=get_xpos(text+i+1,widthz,cent); + for (i = 0; i < strlen(text); i++) { + if (!strncmp(text + i, "\n", 1)) { + xpos = get_xpos(text + i + 1, widthz, cent); ypos++; } else { - if (xpos>=0&&xpos<widthz&&ypos>=0&&ypos<heightx) { - offs=ypos*orowstride*16+xpos*pbits; - fill_block(fontnum,&dst[offs],orowstride,(int)text[i],mode,fg,bg); + if (xpos >= 0 && xpos < widthz && ypos >= 0 && ypos < heightx) { + offs = ypos * orowstride * 16 + xpos * pbits; + fill_block(fontnum, &dst[offs], orowstride, (int)text[i], mode, fg, bg); } xpos++; } @@ -345,52 +347,53 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - weed_plant_t **clone1,**clone2; - - if (plugin_info!=NULL) { - const char *modes[]= {"foreground only","foreground and background","background only",NULL}; - int palette_list[]= {WEED_PALETTE_BGR24,WEED_PALETTE_RGB24,WEED_PALETTE_RGBA32,WEED_PALETTE_BGRA32,WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",0,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",WEED_CHANNEL_CAN_DO_INPLACE,palette_list),NULL}; - weed_plant_t *in_params[8],*pgui; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + weed_plant_t **clone1, **clone2; + + if (plugin_info != NULL) { + const char *modes[] = {"foreground only", "foreground and background", "background only", NULL}; + int palette_list[] = {WEED_PALETTE_BGR24, WEED_PALETTE_RGB24, WEED_PALETTE_RGBA32, WEED_PALETTE_BGRA32, WEED_PALETTE_END}; + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", 0, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", WEED_CHANNEL_CAN_DO_INPLACE, palette_list), NULL}; + weed_plant_t *in_params[8], *pgui; weed_plant_t *filter_class; - const char *fonts[NFONTMAPS+1]; + const char *fonts[NFONTMAPS + 1]; int i; make_font_tables(); - for (i=0; i<NFONTMAPS; i++) { - fonts[i]=font_tables[i].fontname; + for (i = 0; i < NFONTMAPS; i++) { + fonts[i] = font_tables[i].fontname; } - fonts[i]=NULL; + fonts[i] = NULL; - in_params[0]=weed_text_init("text","_Text",""); - in_params[1]=weed_string_list_init("mode","Colour _mode",0,modes); - in_params[2]=weed_string_list_init("font","_Font",0,fonts); - in_params[3]=weed_colRGBi_init("foreground","_Foreground",255,255,255); - in_params[4]=weed_colRGBi_init("background","_Background",0,0,0); - in_params[5]=weed_switch_init("center","_Center text",WEED_TRUE); - in_params[6]=weed_switch_init("rising","_Rising text",WEED_TRUE); - in_params[7]=NULL; + in_params[0] = weed_text_init("text", "_Text", ""); + in_params[1] = weed_string_list_init("mode", "Colour _mode", 0, modes); + in_params[2] = weed_string_list_init("font", "_Font", 0, fonts); + in_params[3] = weed_colRGBi_init("foreground", "_Foreground", 255, 255, 255); + in_params[4] = weed_colRGBi_init("background", "_Background", 0, 0, 0); + in_params[5] = weed_switch_init("center", "_Center text", WEED_TRUE); + in_params[6] = weed_switch_init("rising", "_Rising text", WEED_TRUE); + in_params[7] = NULL; - pgui=weed_parameter_template_get_gui(in_params[0]); - weed_set_int_value(pgui,"maxchars",65536); + pgui = weed_parameter_template_get_gui(in_params[0]); + weed_set_int_value(pgui, "maxchars", 65536); - filter_class=weed_filter_class_init("livetext","salsaman",1,0,NULL,&livetext_process,NULL,in_chantmpls,out_chantmpls,in_params,NULL); + filter_class = weed_filter_class_init("livetext", "salsaman", 1, 0, NULL, &livetext_process, NULL, in_chantmpls, out_chantmpls, in_params, + NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - filter_class=weed_filter_class_init("livetext_generator","salsaman",1,0,NULL,&livetext_process,NULL,NULL, - (clone1=weed_clone_plants(out_chantmpls)),(clone2=weed_clone_plants(in_params)),NULL); + filter_class = weed_filter_class_init("livetext_generator", "salsaman", 1, 0, NULL, &livetext_process, NULL, NULL, + (clone1 = weed_clone_plants(out_chantmpls)), (clone2 = weed_clone_plants(in_params)), NULL); weed_free(clone1); weed_free(clone2); - weed_plugin_info_add_filter_class(plugin_info,filter_class); - weed_set_double_value(filter_class,"target_fps",25.); // set reasonable default fps + weed_plugin_info_add_filter_class(plugin_info, filter_class); + weed_set_double_value(filter_class, "target_fps", 25.); // set reasonable default fps - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } @@ -401,7 +404,7 @@ void weed_desetup(void) { int k; - for (k=0; k<NFONTMAPS; k++) { + for (k = 0; k < NFONTMAPS; k++) { weed_free(font_tables[k].fontname); weed_free(font_tables[k].fonttable); }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/log_sig.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/log_sig.c
Changed
@@ -23,10 +23,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=1; // number of different weed api versions supported -static int api_versions[]= {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 1; // number of different weed api versions supported +static int api_versions[] = {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -44,16 +44,16 @@ int logsig_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); - weed_plant_t **out_params=weed_get_plantptr_array(inst,"out_parameters",&error); + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); + weed_plant_t **out_params = weed_get_plantptr_array(inst, "out_parameters", &error); double fval; register int i; - for (i=0; i<256; i++) { - if (weed_plant_has_leaf(in_params[i],"value")) { - fval=weed_get_double_value(in_params[i],"value",&error); - weed_set_double_value(out_params[i],"value",1./(1.+exp(-fval))); + for (i = 0; i < 256; i++) { + if (weed_plant_has_leaf(in_params[i], "value")) { + fval = weed_get_double_value(in_params[i], "value", &error); + weed_set_double_value(out_params[i], "value", 1. / (1. + exp(-fval))); } } @@ -65,9 +65,9 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); - if (plugin_info!=NULL) { + if (plugin_info != NULL) { weed_plant_t *filter_class; weed_plant_t *in_params[257]; @@ -78,25 +78,25 @@ char name[256]; char label[256]; - for (i=0; i<256; i++) { - snprintf(name,256,"input%03d",i); - snprintf(label,256,"Input %03d",i); - in_params[i]=weed_float_init(name,label,0.,-1000000000000.,1000000000000.); - snprintf(name,256,"Output %03d",i); - out_params[i]=weed_out_param_float_init(name,0.,-1.,1.); + for (i = 0; i < 256; i++) { + snprintf(name, 256, "input%03d", i); + snprintf(label, 256, "Input %03d", i); + in_params[i] = weed_float_init(name, label, 0., -1000000000000., 1000000000000.); + snprintf(name, 256, "Output %03d", i); + out_params[i] = weed_out_param_float_init(name, 0., -1., 1.); } - in_params[i]=NULL; - out_params[i]=NULL; + in_params[i] = NULL; + out_params[i] = NULL; - filter_class=weed_filter_class_init("log_sig","salsaman",1,0,NULL,&logsig_process, - NULL,NULL,NULL,in_params,out_params); + filter_class = weed_filter_class_init("log_sig", "salsaman", 1, 0, NULL, &logsig_process, + NULL, NULL, NULL, in_params, out_params); - weed_set_string_value(filter_class,"description","Scales float values between -1.0 and 1.0 using a log-sig function"); + weed_set_string_value(filter_class, "description", "Scales float values between -1.0 and 1.0 using a log-sig function"); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/mirrors.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/mirrors.c
Changed
@@ -17,10 +17,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -37,31 +37,32 @@ int mirrorx_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error),*out_channel=weed_get_plantptr_value(inst,"out_channels", - &error); - unsigned char *src=weed_get_voidptr_value(in_channel,"pixel_data",&error); - unsigned char *dst=weed_get_voidptr_value(out_channel,"pixel_data",&error); - int inplace=(src==dst); - int pal=weed_get_int_value(in_channel,"current_palette",&error); - int width=weed_get_int_value(in_channel,"width",&error),hwidth; - int height=weed_get_int_value(in_channel,"height",&error); - int irowstride=weed_get_int_value(in_channel,"rowstrides",&error); - int orowstride=weed_get_int_value(out_channel,"rowstrides",&error); - int psize=4; - unsigned char *end=src+height*irowstride; + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error), *out_channel = weed_get_plantptr_value(inst, + "out_channels", + &error); + unsigned char *src = weed_get_voidptr_value(in_channel, "pixel_data", &error); + unsigned char *dst = weed_get_voidptr_value(out_channel, "pixel_data", &error); + int inplace = (src == dst); + int pal = weed_get_int_value(in_channel, "current_palette", &error); + int width = weed_get_int_value(in_channel, "width", &error), hwidth; + int height = weed_get_int_value(in_channel, "height", &error); + int irowstride = weed_get_int_value(in_channel, "rowstrides", &error); + int orowstride = weed_get_int_value(out_channel, "rowstrides", &error); + int psize = 4; + unsigned char *end = src + height * irowstride; register int i; - if (pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24||pal==WEED_PALETTE_YUV888) psize=3; + if (pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24 || pal == WEED_PALETTE_YUV888) psize = 3; - width*=psize; - hwidth=(width>>2)<<1; + width *= psize; + hwidth = (width >> 2) << 1; - for (; src<end; src+=irowstride) { - for (i=0; i<hwidth; i+=psize) { - weed_memcpy(&dst[width-i-psize],&src[i],psize); - if (!inplace) weed_memcpy(&dst[i],&src[i],psize); + for (; src < end; src += irowstride) { + for (i = 0; i < hwidth; i += psize) { + weed_memcpy(&dst[width - i - psize], &src[i], psize); + if (!inplace) weed_memcpy(&dst[i], &src[i], psize); } - dst+=orowstride; + dst += orowstride; } return WEED_NO_ERROR; } @@ -69,87 +70,90 @@ int mirrory_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error),*out_channel=weed_get_plantptr_value(inst,"out_channels", - &error); - unsigned char *src=weed_get_voidptr_value(in_channel,"pixel_data",&error),*osrc=src; - unsigned char *dst=weed_get_voidptr_value(out_channel,"pixel_data",&error),*odst=dst; - int inplace=(src==dst); - int pal=weed_get_int_value(in_channel,"current_palette",&error); - int width=weed_get_int_value(in_channel,"width",&error); - int height=weed_get_int_value(in_channel,"height",&error); - int irowstride=weed_get_int_value(in_channel,"rowstrides",&error); - int orowstride=weed_get_int_value(out_channel,"rowstrides",&error); - int psize=4; - unsigned char *end=src+height*irowstride/2; - - if (pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24||pal==WEED_PALETTE_YUV888) psize=3; - - if (pal==WEED_PALETTE_UYVY||pal==WEED_PALETTE_YUYV) width>>=1; // 2 pixels per macropixel - - width*=psize; - - if (weed_plant_has_leaf(inst,"plugin_combined")&&weed_get_boolean_value(inst,"plugin_combined",&error)==WEED_TRUE) { - inplace=WEED_TRUE; - src=dst; - end=dst+height*orowstride/2; - irowstride=orowstride; + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error), *out_channel = weed_get_plantptr_value(inst, + "out_channels", + &error); + unsigned char *src = weed_get_voidptr_value(in_channel, "pixel_data", &error), *osrc = src; + unsigned char *dst = weed_get_voidptr_value(out_channel, "pixel_data", &error), *odst = dst; + int inplace = (src == dst); + int pal = weed_get_int_value(in_channel, "current_palette", &error); + int width = weed_get_int_value(in_channel, "width", &error); + int height = weed_get_int_value(in_channel, "height", &error); + int irowstride = weed_get_int_value(in_channel, "rowstrides", &error); + int orowstride = weed_get_int_value(out_channel, "rowstrides", &error); + int psize = 4; + unsigned char *end = src + height * irowstride / 2; + + if (pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24 || pal == WEED_PALETTE_YUV888) psize = 3; + + if (pal == WEED_PALETTE_UYVY || pal == WEED_PALETTE_YUYV) width >>= 1; // 2 pixels per macropixel + + width *= psize; + + if (weed_plant_has_leaf(inst, "plugin_combined") && weed_get_boolean_value(inst, "plugin_combined", &error) == WEED_TRUE) { + inplace = WEED_TRUE; + src = dst; + end = dst + height * orowstride / 2; + irowstride = orowstride; } if (!inplace) { - for (; src<end; src+=irowstride) { - weed_memcpy(dst,src,width); - dst+=orowstride; + for (; src < end; src += irowstride) { + weed_memcpy(dst, src, width); + dst += orowstride; } - src=osrc; - dst=odst; + src = osrc; + dst = odst; } - dst+=((height-1)*orowstride); + dst += ((height - 1) * orowstride); - for (; src<end; src+=irowstride) { - weed_memcpy(dst,src,width); - dst-=orowstride; + for (; src < end; src += irowstride) { + weed_memcpy(dst, src, width); + dst -= orowstride; } return WEED_NO_ERROR; } int mirrorxy_process(weed_plant_t *inst, weed_timecode_t timestamp) { - int ret=mirrorx_process(inst,timestamp); - if (ret!=WEED_NO_ERROR) return ret; - weed_set_boolean_value(inst,"plugin_combined",WEED_TRUE); - ret=mirrory_process(inst,timestamp); + int ret = mirrorx_process(inst, timestamp); + if (ret != WEED_NO_ERROR) return ret; + weed_set_boolean_value(inst, "plugin_combined", WEED_TRUE); + ret = mirrory_process(inst, timestamp); return ret; } weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - weed_plant_t **clone1,**clone2; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + weed_plant_t **clone1, **clone2; - if (plugin_info!=NULL) { + if (plugin_info != NULL) { // all planar palettes - int palette_list[]= {WEED_PALETTE_BGR24,WEED_PALETTE_RGB24,WEED_PALETTE_YUV888,WEED_PALETTE_YUVA8888,WEED_PALETTE_RGBA32,WEED_PALETTE_ARGB32,WEED_PALETTE_BGRA32,WEED_PALETTE_UYVY,WEED_PALETTE_YUYV,WEED_PALETTE_END}; + int palette_list[] = {WEED_PALETTE_BGR24, WEED_PALETTE_RGB24, WEED_PALETTE_YUV888, WEED_PALETTE_YUVA8888, WEED_PALETTE_RGBA32, WEED_PALETTE_ARGB32, WEED_PALETTE_BGRA32, WEED_PALETTE_UYVY, WEED_PALETTE_YUYV, WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",0,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",WEED_CHANNEL_CAN_DO_INPLACE,palette_list),NULL}; + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", 0, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", WEED_CHANNEL_CAN_DO_INPLACE, palette_list), NULL}; - weed_plant_t *filter_class=weed_filter_class_init("mirrorx","salsaman",1,0,NULL,&mirrorx_process,NULL,in_chantmpls,out_chantmpls,NULL,NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plant_t *filter_class = weed_filter_class_init("mirrorx", "salsaman", 1, 0, NULL, &mirrorx_process, NULL, in_chantmpls, out_chantmpls, + NULL, NULL); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - filter_class=weed_filter_class_init("mirrory","salsaman",1,0,NULL,&mirrory_process,NULL,(clone1=weed_clone_plants(in_chantmpls)), - (clone2=weed_clone_plants(out_chantmpls)),NULL,NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + filter_class = weed_filter_class_init("mirrory", "salsaman", 1, 0, NULL, &mirrory_process, NULL, (clone1 = weed_clone_plants(in_chantmpls)), + (clone2 = weed_clone_plants(out_chantmpls)), NULL, NULL); + weed_plugin_info_add_filter_class(plugin_info, filter_class); weed_free(clone1); weed_free(clone2); - filter_class=weed_filter_class_init("mirrorxy","salsaman",1,0,NULL,&mirrorxy_process,NULL,(clone1=weed_clone_plants(in_chantmpls)), - (clone2=weed_clone_plants(out_chantmpls)),NULL,NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + filter_class = weed_filter_class_init("mirrorxy", "salsaman", 1, 0, NULL, &mirrorxy_process, NULL, + (clone1 = weed_clone_plants(in_chantmpls)), + (clone2 = weed_clone_plants(out_chantmpls)), NULL, NULL); + weed_plugin_info_add_filter_class(plugin_info, filter_class); weed_free(clone1); weed_free(clone2); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/multi_blends.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/multi_blends.c
Changed
@@ -17,10 +17,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -66,13 +66,13 @@ */ for (i = 0; i < 256; i++) { Y_R[i] = myround(0.299 * (double)i - * 219.0 / 255.0 * (double)(1<<FP_BITS)); + * 219.0 / 255.0 * (double)(1 << FP_BITS)); Y_G[i] = myround(0.587 * (double)i - * 219.0 / 255.0 * (double)(1<<FP_BITS)); + * 219.0 / 255.0 * (double)(1 << FP_BITS)); Y_B[i] = myround((0.114 * (double)i - * 219.0 / 255.0 * (double)(1<<FP_BITS)) - + (double)(1<<(FP_BITS-1)) - + (16.0 * (double)(1<<FP_BITS))); + * 219.0 / 255.0 * (double)(1 << FP_BITS)) + + (double)(1 << (FP_BITS - 1)) + + (16.0 * (double)(1 << FP_BITS))); } conv_RY_inited = 1; @@ -82,7 +82,7 @@ static inline unsigned char calc_luma(unsigned char *pixel) { // TODO - RGB - return (Y_R[pixel[2]] + Y_G[pixel[1]]+ Y_B[pixel[0]]) >> FP_BITS; + return (Y_R[pixel[2]] + Y_G[pixel[1]] + Y_B[pixel[0]]) >> FP_BITS; } ///////////////////////////////////////////////////////////////////////// @@ -95,146 +95,147 @@ static int common_process(int type, weed_plant_t *inst, weed_timecode_t timecode) { int error; - weed_plant_t **in_channels=weed_get_plantptr_array(inst,"in_channels",&error),*out_channel=weed_get_plantptr_value(inst,"out_channels", - &error); - unsigned char *src1=weed_get_voidptr_value(in_channels[0],"pixel_data",&error); - unsigned char *src2=weed_get_voidptr_value(in_channels[1],"pixel_data",&error); - unsigned char *dst=weed_get_voidptr_value(out_channel,"pixel_data",&error); - int width=weed_get_int_value(in_channels[0],"width",&error)*3; - int height=weed_get_int_value(in_channels[0],"height",&error); - int irowstride1=weed_get_int_value(in_channels[0],"rowstrides",&error); - int irowstride2=weed_get_int_value(in_channels[1],"rowstrides",&error); - int orowstride=weed_get_int_value(out_channel,"rowstrides",&error); - unsigned char *end=src1+height*irowstride1; + weed_plant_t **in_channels = weed_get_plantptr_array(inst, "in_channels", &error), *out_channel = weed_get_plantptr_value(inst, + "out_channels", + &error); + unsigned char *src1 = weed_get_voidptr_value(in_channels[0], "pixel_data", &error); + unsigned char *src2 = weed_get_voidptr_value(in_channels[1], "pixel_data", &error); + unsigned char *dst = weed_get_voidptr_value(out_channel, "pixel_data", &error); + int width = weed_get_int_value(in_channels[0], "width", &error) * 3; + int height = weed_get_int_value(in_channels[0], "height", &error); + int irowstride1 = weed_get_int_value(in_channels[0], "rowstrides", &error); + int irowstride2 = weed_get_int_value(in_channels[1], "rowstrides", &error); + int orowstride = weed_get_int_value(out_channel, "rowstrides", &error); + unsigned char *end = src1 + height * irowstride1; weed_plant_t *in_param; int intval; register int j; int bf; - unsigned char luma1,luma2; + unsigned char luma1, luma2; unsigned char pixel[3]; - unsigned char blend_factor,blend1,blend2,blendneg1,blendneg2; + unsigned char blend_factor, blend1, blend2, blendneg1, blendneg2; - in_param=weed_get_plantptr_value(inst,"in_parameters",&error); - bf=weed_get_int_value(in_param,"value",&error); - blend_factor=(unsigned char)bf; + in_param = weed_get_plantptr_value(inst, "in_parameters", &error); + bf = weed_get_int_value(in_param, "value", &error); + blend_factor = (unsigned char)bf; - blend1=blend_factor*2; - blendneg1=255-blend_factor*2; + blend1 = blend_factor * 2; + blendneg1 = 255 - blend_factor * 2; - blend2=(255-blend_factor)*2; - blendneg2=(blend_factor-128)*2; + blend2 = (255 - blend_factor) * 2; + blendneg2 = (blend_factor - 128) * 2; // new threading arch - if (weed_plant_has_leaf(out_channel,"offset")) { - int offset=weed_get_int_value(out_channel,"offset",&error); - int dheight=weed_get_int_value(out_channel,"height",&error); + if (weed_plant_has_leaf(out_channel, "offset")) { + int offset = weed_get_int_value(out_channel, "offset", &error); + int dheight = weed_get_int_value(out_channel, "height", &error); - src1+=offset*irowstride1; - end=src1+dheight*irowstride1; + src1 += offset * irowstride1; + end = src1 + dheight * irowstride1; - src2+=offset*irowstride2; + src2 += offset * irowstride2; - dst+=offset*orowstride; + dst += offset * orowstride; } - for (; src1<end; src1+=irowstride1) { - for (j=0; j<width; j+=3) { + for (; src1 < end; src1 += irowstride1) { + for (j = 0; j < width; j += 3) { switch (type) { case 0: // multiply - pixel[0]=(unsigned char)((src2[j]*src1[j])>>8); - pixel[1]=(unsigned char)((src2[j+1]*src1[j+1])>>8); - pixel[2]=(unsigned char)((src2[j+2]*src1[j+2])>>8); + pixel[0] = (unsigned char)((src2[j] * src1[j]) >> 8); + pixel[1] = (unsigned char)((src2[j + 1] * src1[j + 1]) >> 8); + pixel[2] = (unsigned char)((src2[j + 2] * src1[j + 2]) >> 8); break; case 1: // screen - pixel[0]=(unsigned char)(255-(((255-src2[j])*(255-src1[j]))>>8)); - pixel[1]=(unsigned char)(255-(((255-src2[j+1])*(255-src1[j+1]))>>8)); - pixel[2]=(unsigned char)(255-(((255-src2[j+2])*(255-src1[j+2]))>>8)); + pixel[0] = (unsigned char)(255 - (((255 - src2[j]) * (255 - src1[j])) >> 8)); + pixel[1] = (unsigned char)(255 - (((255 - src2[j + 1]) * (255 - src1[j + 1])) >> 8)); + pixel[2] = (unsigned char)(255 - (((255 - src2[j + 2]) * (255 - src1[j + 2])) >> 8)); break; case 2: // darken - luma1=(unsigned char)(calc_luma(&src1[j])); - luma2=(unsigned char)(calc_luma(&src2[j])); - if (luma1<=luma2) weed_memcpy(pixel,&src1[j],3); - else weed_memcpy(pixel,&src2[j],3); + luma1 = (unsigned char)(calc_luma(&src1[j])); + luma2 = (unsigned char)(calc_luma(&src2[j])); + if (luma1 <= luma2) weed_memcpy(pixel, &src1[j], 3); + else weed_memcpy(pixel, &src2[j], 3); break; case 3: // lighten - luma1=(unsigned char)(calc_luma(&src1[j])); - luma2=(unsigned char)(calc_luma(&src2[j])); - if (luma1>=luma2) weed_memcpy(pixel,&src1[j],3); - else weed_memcpy(pixel,&src2[j],3); + luma1 = (unsigned char)(calc_luma(&src1[j])); + luma2 = (unsigned char)(calc_luma(&src2[j])); + if (luma1 >= luma2) weed_memcpy(pixel, &src1[j], 3); + else weed_memcpy(pixel, &src2[j], 3); break; case 4: // overlay - luma1=calc_luma(&src1[j]); - if (luma1<128) { + luma1 = calc_luma(&src1[j]); + if (luma1 < 128) { // mpy - pixel[0]=(unsigned char)((src2[j]*src1[j])>>8); - pixel[1]=(unsigned char)((src2[j+1]*src1[j+1])>>8); - pixel[2]=(unsigned char)((src2[j+2]*src1[j+2])>>8); + pixel[0] = (unsigned char)((src2[j] * src1[j]) >> 8); + pixel[1] = (unsigned char)((src2[j + 1] * src1[j + 1]) >> 8); + pixel[2] = (unsigned char)((src2[j + 2] * src1[j + 2]) >> 8); } else { // screen - pixel[0]=(unsigned char)(255-(((255-src2[j])*(255-src1[j]))>>8)); - pixel[1]=(unsigned char)(255-(((255-src2[j+1])*(255-src1[j+1]))>>8)); - pixel[2]=(unsigned char)(255-(((255-src2[j+2])*(255-src1[j+2]))>>8)); + pixel[0] = (unsigned char)(255 - (((255 - src2[j]) * (255 - src1[j])) >> 8)); + pixel[1] = (unsigned char)(255 - (((255 - src2[j + 1]) * (255 - src1[j + 1])) >> 8)); + pixel[2] = (unsigned char)(255 - (((255 - src2[j + 2]) * (255 - src1[j + 2])) >> 8)); } break; case 5: // dodge - if (src2[j]==255) pixel[0]=255; + if (src2[j] == 255) pixel[0] = 255; else { - intval=((int)(src1[j])<<8)/(int)(255-src2[j]); - pixel[0]=intval>255?255:(unsigned char)intval; + intval = ((int)(src1[j]) << 8) / (int)(255 - src2[j]); + pixel[0] = intval > 255 ? 255 : (unsigned char)intval; } - if (src2[j+1]==255) pixel[1]=255; + if (src2[j + 1] == 255) pixel[1] = 255; else { - intval=((int)(src1[j+1])<<8)/(int)(255-src2[j+1]); - pixel[1]=intval>255?255:(unsigned char)intval; + intval = ((int)(src1[j + 1]) << 8) / (int)(255 - src2[j + 1]); + pixel[1] = intval > 255 ? 255 : (unsigned char)intval; } - if (src2[j+2]==255) pixel[2]=255; + if (src2[j + 2] == 255) pixel[2] = 255; else { - intval=((int)(src1[j+2])<<8)/(int)(255-src2[j+2]); - pixel[2]=intval>255?255:(unsigned char)intval; + intval = ((int)(src1[j + 2]) << 8) / (int)(255 - src2[j + 2]); + pixel[2] = intval > 255 ? 255 : (unsigned char)intval; } break; case 6: // burn - if (src2[j]==0) pixel[0]=0; + if (src2[j] == 0) pixel[0] = 0; else { - intval=255-(255-((int)(src1[j])<<8))/(int)(src2[j]); - pixel[0]=intval<0?0:(unsigned char)intval; + intval = 255 - (255 - ((int)(src1[j]) << 8)) / (int)(src2[j]); + pixel[0] = intval < 0 ? 0 : (unsigned char)intval; } - if (src2[j+1]==0) pixel[1]=0; + if (src2[j + 1] == 0) pixel[1] = 0; else { - intval=255-(255-((int)(src1[j+1])<<8))/(int)(src2[j+1]); - pixel[1]=intval<0?0:(unsigned char)intval; + intval = 255 - (255 - ((int)(src1[j + 1]) << 8)) / (int)(src2[j + 1]); + pixel[1] = intval < 0 ? 0 : (unsigned char)intval; } - if (src2[j+2]==0) pixel[2]=0; + if (src2[j + 2] == 0) pixel[2] = 0; else { - intval=255-(255-((int)(src1[j+2])<<8))/(int)(src2[j+2]); - pixel[2]=intval<0?0:(unsigned char)intval; + intval = 255 - (255 - ((int)(src1[j + 2]) << 8)) / (int)(src2[j + 2]); + pixel[2] = intval < 0 ? 0 : (unsigned char)intval; } break; } - if (blend_factor<128) { - dst[j]=(blend1*pixel[0]+blendneg1*src1[j])>>8; - dst[j+1]=(blend1*pixel[1]+blendneg1*src1[j+1])>>8; - dst[j+2]=(blend1*pixel[2]+blendneg1*src1[j+2])>>8; + if (blend_factor < 128) { + dst[j] = (blend1 * pixel[0] + blendneg1 * src1[j]) >> 8; + dst[j + 1] = (blend1 * pixel[1] + blendneg1 * src1[j + 1]) >> 8; + dst[j + 2] = (blend1 * pixel[2] + blendneg1 * src1[j + 2]) >> 8; } else { - dst[j]=(blend2*pixel[0]+blendneg2*src2[j])>>8; - dst[j+1]=(blend2*pixel[1]+blendneg2*src2[j+1])>>8; - dst[j+2]=(blend2*pixel[2]+blendneg2*src2[j+2])>>8; + dst[j] = (blend2 * pixel[0] + blendneg2 * src2[j]) >> 8; + dst[j + 1] = (blend2 * pixel[1] + blendneg2 * src2[j + 1]) >> 8; + dst[j + 2] = (blend2 * pixel[2] + blendneg2 * src2[j + 2]) >> 8; } } - src2+=irowstride2; - dst+=orowstride; + src2 += irowstride2; + dst += orowstride; } weed_free(in_channels); return WEED_NO_ERROR; @@ -247,94 +248,94 @@ int mpy_process(weed_plant_t *inst, weed_timecode_t timestamp) { - return common_process(0,inst,timestamp); + return common_process(0, inst, timestamp); } int screen_process(weed_plant_t *inst, weed_timecode_t timestamp) { - return common_process(1,inst,timestamp); + return common_process(1, inst, timestamp); } int darken_process(weed_plant_t *inst, weed_timecode_t timestamp) { - return common_process(2,inst,timestamp); + return common_process(2, inst, timestamp); } int lighten_process(weed_plant_t *inst, weed_timecode_t timestamp) { - return common_process(3,inst,timestamp); + return common_process(3, inst, timestamp); } int overlay_process(weed_plant_t *inst, weed_timecode_t timestamp) { - return common_process(4,inst,timestamp); + return common_process(4, inst, timestamp); } int dodge_process(weed_plant_t *inst, weed_timecode_t timestamp) { - return common_process(5,inst,timestamp); + return common_process(5, inst, timestamp); } int burn_process(weed_plant_t *inst, weed_timecode_t timestamp) { - return common_process(6,inst,timestamp); + return common_process(6, inst, timestamp); } weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - weed_plant_t **clone1,**clone2,**clone3; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + weed_plant_t **clone1, **clone2, **clone3; - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_BGR24,WEED_PALETTE_RGB24,WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",0,palette_list),weed_channel_template_init("in channel 1",0,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",WEED_CHANNEL_CAN_DO_INPLACE,palette_list),NULL}; - weed_plant_t *in_params1[]= {weed_integer_init("amount","Blend _amount",128,0,255),NULL}; + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_BGR24, WEED_PALETTE_RGB24, WEED_PALETTE_END}; + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", 0, palette_list), weed_channel_template_init("in channel 1", 0, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", WEED_CHANNEL_CAN_DO_INPLACE, palette_list), NULL}; + weed_plant_t *in_params1[] = {weed_integer_init("amount", "Blend _amount", 128, 0, 255), NULL}; - weed_plant_t *filter_class=weed_filter_class_init("blend_multiply","salsaman",1,WEED_FILTER_HINT_MAY_THREAD,NULL,&mpy_process,NULL, - in_chantmpls,out_chantmpls,in_params1,NULL); + weed_plant_t *filter_class = weed_filter_class_init("blend_multiply", "salsaman", 1, WEED_FILTER_HINT_MAY_THREAD, NULL, &mpy_process, NULL, + in_chantmpls, out_chantmpls, in_params1, NULL); - weed_set_boolean_value(in_params1[0],"transition",WEED_TRUE); + weed_set_boolean_value(in_params1[0], "transition", WEED_TRUE); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - filter_class=weed_filter_class_init("blend_screen","salsaman",1,WEED_FILTER_HINT_MAY_THREAD,NULL,&screen_process,NULL, - (clone1=weed_clone_plants(in_chantmpls)),(clone2=weed_clone_plants(out_chantmpls)),(clone3=weed_clone_plants(in_params1)),NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + filter_class = weed_filter_class_init("blend_screen", "salsaman", 1, WEED_FILTER_HINT_MAY_THREAD, NULL, &screen_process, NULL, + (clone1 = weed_clone_plants(in_chantmpls)), (clone2 = weed_clone_plants(out_chantmpls)), (clone3 = weed_clone_plants(in_params1)), NULL); + weed_plugin_info_add_filter_class(plugin_info, filter_class); weed_free(clone1); weed_free(clone2); weed_free(clone3); - filter_class=weed_filter_class_init("blend_darken","salsaman",1,WEED_FILTER_HINT_MAY_THREAD,NULL,&darken_process,NULL, - (clone1=weed_clone_plants(in_chantmpls)),(clone2=weed_clone_plants(out_chantmpls)),(clone3=weed_clone_plants(in_params1)),NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + filter_class = weed_filter_class_init("blend_darken", "salsaman", 1, WEED_FILTER_HINT_MAY_THREAD, NULL, &darken_process, NULL, + (clone1 = weed_clone_plants(in_chantmpls)), (clone2 = weed_clone_plants(out_chantmpls)), (clone3 = weed_clone_plants(in_params1)), NULL); + weed_plugin_info_add_filter_class(plugin_info, filter_class); weed_free(clone1); weed_free(clone2); weed_free(clone3); - filter_class=weed_filter_class_init("blend_lighten","salsaman",1,WEED_FILTER_HINT_MAY_THREAD,NULL,&lighten_process,NULL, - (clone1=weed_clone_plants(in_chantmpls)),(clone2=weed_clone_plants(out_chantmpls)),(clone3=weed_clone_plants(in_params1)),NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + filter_class = weed_filter_class_init("blend_lighten", "salsaman", 1, WEED_FILTER_HINT_MAY_THREAD, NULL, &lighten_process, NULL, + (clone1 = weed_clone_plants(in_chantmpls)), (clone2 = weed_clone_plants(out_chantmpls)), (clone3 = weed_clone_plants(in_params1)), NULL); + weed_plugin_info_add_filter_class(plugin_info, filter_class); weed_free(clone1); weed_free(clone2); weed_free(clone3); - filter_class=weed_filter_class_init("blend_overlay","salsaman",1,WEED_FILTER_HINT_MAY_THREAD,NULL,&overlay_process,NULL, - (clone1=weed_clone_plants(in_chantmpls)),(clone2=weed_clone_plants(out_chantmpls)),(clone3=weed_clone_plants(in_params1)),NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + filter_class = weed_filter_class_init("blend_overlay", "salsaman", 1, WEED_FILTER_HINT_MAY_THREAD, NULL, &overlay_process, NULL, + (clone1 = weed_clone_plants(in_chantmpls)), (clone2 = weed_clone_plants(out_chantmpls)), (clone3 = weed_clone_plants(in_params1)), NULL); + weed_plugin_info_add_filter_class(plugin_info, filter_class); weed_free(clone1); weed_free(clone2); weed_free(clone3); - filter_class=weed_filter_class_init("blend_dodge","salsaman",1,WEED_FILTER_HINT_MAY_THREAD,NULL,&dodge_process,NULL, - (clone1=weed_clone_plants(in_chantmpls)),(clone2=weed_clone_plants(out_chantmpls)),(clone3=weed_clone_plants(in_params1)),NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + filter_class = weed_filter_class_init("blend_dodge", "salsaman", 1, WEED_FILTER_HINT_MAY_THREAD, NULL, &dodge_process, NULL, + (clone1 = weed_clone_plants(in_chantmpls)), (clone2 = weed_clone_plants(out_chantmpls)), (clone3 = weed_clone_plants(in_params1)), NULL); + weed_plugin_info_add_filter_class(plugin_info, filter_class); weed_free(clone1); weed_free(clone2); weed_free(clone3); - filter_class=weed_filter_class_init("blend_burn","salsaman",1,WEED_FILTER_HINT_MAY_THREAD,NULL,&burn_process,NULL, - (clone1=weed_clone_plants(in_chantmpls)),(clone2=weed_clone_plants(out_chantmpls)),(clone3=weed_clone_plants(in_params1)),NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + filter_class = weed_filter_class_init("blend_burn", "salsaman", 1, WEED_FILTER_HINT_MAY_THREAD, NULL, &burn_process, NULL, + (clone1 = weed_clone_plants(in_chantmpls)), (clone2 = weed_clone_plants(out_chantmpls)), (clone3 = weed_clone_plants(in_params1)), NULL); + weed_plugin_info_add_filter_class(plugin_info, filter_class); weed_free(clone1); weed_free(clone2); weed_free(clone3); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); init_RGB_to_YCbCr_tables(); }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/multi_transitions.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/multi_transitions.c
Changed
@@ -16,10 +16,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -54,7 +54,7 @@ uint32_t fval; gettimeofday(&otv, NULL); - fval=(otv.tv_sec^otv.tv_usec^sval)&0xFFFFFFFF; + fval = (otv.tv_sec ^ otv.tv_usec ^ sval) & 0xFFFFFFFF; return fval; } @@ -64,44 +64,44 @@ #define rand_a 1073741789L #define rand_c 32749L - return ((sdata->fastrand_val*=rand_a) + rand_c); + return ((sdata->fastrand_val *= rand_a) + rand_c); } int dissolve_init(weed_plant_t *inst) { int error; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error); - int width=weed_get_int_value(in_channel,"width",&error); - int height=weed_get_int_value(in_channel,"height",&error); + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error); + int width = weed_get_int_value(in_channel, "width", &error); + int height = weed_get_int_value(in_channel, "height", &error); _sdata *sdata; - register int i,j; - int end=width*height; + register int i, j; + int end = width * height; - sdata=weed_malloc(sizeof(_sdata)); + sdata = weed_malloc(sizeof(_sdata)); if (sdata == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - sdata->mask=(float *)weed_malloc(width*height*sizeof(float)); + sdata->mask = (float *)weed_malloc(width * height * sizeof(float)); if (sdata->mask == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - sdata->fastrand_val=fastrand_seed(0x91FD57B4); // random seed + sdata->fastrand_val = fastrand_seed(0x91FD57B4); // random seed - for (i=0; i<end; i+=width) { - for (j=0; j<width; j++) { - sdata->mask[i+j]=(float)((double)(sdata->fastrand_val=fastrand(sdata))/(double)UINT32_MAX); + for (i = 0; i < end; i += width) { + for (j = 0; j < width; j++) { + sdata->mask[i + j] = (float)((double)(sdata->fastrand_val = fastrand(sdata)) / (double)UINT32_MAX); } } - weed_set_voidptr_value(inst,"plugin_internal",sdata); + weed_set_voidptr_value(inst, "plugin_internal", sdata); return WEED_NO_ERROR; } int dissolve_deinit(weed_plant_t *inst) { int error; - _sdata *sdata=(_sdata *)weed_get_voidptr_value(inst,"plugin_internal",&error); - if (sdata->mask!=NULL) weed_free(sdata->mask); + _sdata *sdata = (_sdata *)weed_get_voidptr_value(inst, "plugin_internal", &error); + if (sdata->mask != NULL) weed_free(sdata->mask); return WEED_NO_ERROR; } @@ -109,125 +109,126 @@ static int common_process(int type, weed_plant_t *inst, weed_timecode_t timecode) { int error; - weed_plant_t **in_channels=weed_get_plantptr_array(inst,"in_channels",&error),*out_channel=weed_get_plantptr_value(inst,"out_channels", - &error); - unsigned char *src1=weed_get_voidptr_value(in_channels[0],"pixel_data",&error); - unsigned char *src2=weed_get_voidptr_value(in_channels[1],"pixel_data",&error); - unsigned char *dst=weed_get_voidptr_value(out_channel,"pixel_data",&error); - int width=weed_get_int_value(in_channels[0],"width",&error); - int height=weed_get_int_value(in_channels[0],"height",&error); - int irowstride1=weed_get_int_value(in_channels[0],"rowstrides",&error); - int irowstride2=weed_get_int_value(in_channels[1],"rowstrides",&error); - int orowstride=weed_get_int_value(out_channel,"rowstrides",&error); - int cpal=weed_get_int_value(out_channel,"current_palette",&error); - unsigned char *end=src1+height*irowstride1; + weed_plant_t **in_channels = weed_get_plantptr_array(inst, "in_channels", &error), *out_channel = weed_get_plantptr_value(inst, + "out_channels", + &error); + unsigned char *src1 = weed_get_voidptr_value(in_channels[0], "pixel_data", &error); + unsigned char *src2 = weed_get_voidptr_value(in_channels[1], "pixel_data", &error); + unsigned char *dst = weed_get_voidptr_value(out_channel, "pixel_data", &error); + int width = weed_get_int_value(in_channels[0], "width", &error); + int height = weed_get_int_value(in_channels[0], "height", &error); + int irowstride1 = weed_get_int_value(in_channels[0], "rowstrides", &error); + int irowstride2 = weed_get_int_value(in_channels[1], "rowstrides", &error); + int orowstride = weed_get_int_value(out_channel, "rowstrides", &error); + int cpal = weed_get_int_value(out_channel, "current_palette", &error); + unsigned char *end = src1 + height * irowstride1; weed_plant_t *in_param; - size_t psize=4; - _sdata *sdata=NULL; + size_t psize = 4; + _sdata *sdata = NULL; - int inplace=(src1==dst); + int inplace = (src1 == dst); - float hwidth,hheight=(float)height*0.5f; + float hwidth, hheight = (float)height * 0.5f; - register int i=0,j; + register int i = 0, j; - float bf,bfneg; + float bf, bfneg; - int xx=0,yy=0,ihwidth,ihheight=height>>1; + int xx = 0, yy = 0, ihwidth, ihheight = height >> 1; - float maxradsq=0.,xxf,yyf; + float maxradsq = 0., xxf, yyf; - if (cpal==WEED_PALETTE_RGB24||cpal==WEED_PALETTE_BGR24||cpal==WEED_PALETTE_YUV888) psize=3; + if (cpal == WEED_PALETTE_RGB24 || cpal == WEED_PALETTE_BGR24 || cpal == WEED_PALETTE_YUV888) psize = 3; - hwidth=(float)width*0.5f; - if (type==1) maxradsq=((hheight*hheight)+(hwidth*hwidth)); + hwidth = (float)width * 0.5f; + if (type == 1) maxradsq = ((hheight * hheight) + (hwidth * hwidth)); - width*=psize; + width *= psize; - hwidth=(float)width*0.5f; + hwidth = (float)width * 0.5f; - ihwidth=width>>1; + ihwidth = width >> 1; - in_param=weed_get_plantptr_value(inst,"in_parameters",&error); - bf=weed_get_double_value(in_param,"value",&error); - bfneg=1.f-bf; + in_param = weed_get_plantptr_value(inst, "in_parameters", &error); + bf = weed_get_double_value(in_param, "value", &error); + bfneg = 1.f - bf; - if (type==3) sdata=(_sdata *)weed_get_voidptr_value(inst,"plugin_internal",&error); - else if (type==2) { - xx=(int)(hheight*bf+.5)*irowstride1; - yy=(int)(hwidth/(float)psize*bf+.5)*psize; + if (type == 3) sdata = (_sdata *)weed_get_voidptr_value(inst, "plugin_internal", &error); + else if (type == 2) { + xx = (int)(hheight * bf + .5) * irowstride1; + yy = (int)(hwidth / (float)psize * bf + .5) * psize; } // new threading arch - if (weed_plant_has_leaf(out_channel,"offset")) { - int offset=weed_get_int_value(out_channel,"offset",&error); - int dheight=weed_get_int_value(out_channel,"height",&error); + if (weed_plant_has_leaf(out_channel, "offset")) { + int offset = weed_get_int_value(out_channel, "offset", &error); + int dheight = weed_get_int_value(out_channel, "height", &error); - src1+=offset*irowstride1; - end=src1+dheight*irowstride1; + src1 += offset * irowstride1; + end = src1 + dheight * irowstride1; - src2+=offset*irowstride2; + src2 += offset * irowstride2; - dst+=offset*orowstride; + dst += offset * orowstride; - i+=offset; + i += offset; } - for (; src1<end; src1+=irowstride1) { - for (j=0; j<width; j+=psize) { + for (; src1 < end; src1 += irowstride1) { + for (j = 0; j < width; j += psize) { switch (type) { case 0: // iris rectangle - xx=(int)hwidth*bfneg+.5; - yy=(int)hheight*bfneg+.5; - if (j<xx||j>=(width-xx)||i<yy||i>=(height-yy)) { - if (!inplace) weed_memcpy(&dst[j],&src1[j],psize); + xx = (int)hwidth * bfneg + .5; + yy = (int)hheight * bfneg + .5; + if (j < xx || j >= (width - xx) || i < yy || i >= (height - yy)) { + if (!inplace) weed_memcpy(&dst[j], &src1[j], psize); else { - if (i>=(height-yy)) { - j=width; - src1=end; + if (i >= (height - yy)) { + j = width; + src1 = end; break; } - if (j>=ihwidth) { - j=width; + if (j >= ihwidth) { + j = width; break; } } - } else weed_memcpy(&dst[j],&src2[j],psize); + } else weed_memcpy(&dst[j], &src2[j], psize); break; case 1: //iris circle - xxf=(float)(i-ihheight); - yyf=(float)(j-ihwidth)/(float)psize; - if (sqrt((xxf*xxf+yyf*yyf)/maxradsq)>bf) { - if (!inplace) weed_memcpy(&dst[j],&src1[j],psize); + xxf = (float)(i - ihheight); + yyf = (float)(j - ihwidth) / (float)psize; + if (sqrt((xxf * xxf + yyf * yyf) / maxradsq) > bf) { + if (!inplace) weed_memcpy(&dst[j], &src1[j], psize); else { - if (yyf>=0) { - j=width; - if (xxf>0&&yyf==0) src1=end; + if (yyf >= 0) { + j = width; + if (xxf > 0 && yyf == 0) src1 = end; break; } } - } else weed_memcpy(&dst[j],&src2[j],psize); + } else weed_memcpy(&dst[j], &src2[j], psize); break; case 2: // four way split - if (abs(i-hheight)/hheight<bf||abs(j-hwidth)/hwidth<bf||bf==1.f) { - weed_memcpy(&dst[j],&src2[j],psize); + if (abs(i - hheight) / hheight < bf || abs(j - hwidth) / hwidth < bf || bf == 1.f) { + weed_memcpy(&dst[j], &src2[j], psize); } else { - weed_memcpy(&dst[j],&src1[j+(j>ihwidth?-yy:yy)+(i>ihheight?-xx:xx)],psize); + weed_memcpy(&dst[j], &src1[j + (j > ihwidth ? -yy : yy) + (i > ihheight ? -xx : xx)], psize); } break; case 3: // dissolve - if (sdata->mask[(i*width+j)/psize]<bf) weed_memcpy(&dst[j],&src2[j],psize); - else if (!inplace) weed_memcpy(&dst[j],&src1[j],psize); + if (sdata->mask[(i * width + j) / psize] < bf) weed_memcpy(&dst[j], &src2[j], psize); + else if (!inplace) weed_memcpy(&dst[j], &src1[j], psize); break; } } - src2+=irowstride2; - dst+=orowstride; + src2 += irowstride2; + dst += orowstride; i++; } weed_free(in_channels); @@ -236,69 +237,74 @@ int irisr_process(weed_plant_t *inst, weed_timecode_t timestamp) { - return common_process(0,inst,timestamp); + return common_process(0, inst, timestamp); } int irisc_process(weed_plant_t *inst, weed_timecode_t timestamp) { - return common_process(1,inst,timestamp); + return common_process(1, inst, timestamp); } int fourw_process(weed_plant_t *inst, weed_timecode_t timestamp) { - return common_process(2,inst,timestamp); + return common_process(2, inst, timestamp); } int dissolve_process(weed_plant_t *inst, weed_timecode_t timestamp) { - return common_process(3,inst,timestamp); + return common_process(3, inst, timestamp); } weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - weed_plant_t **clone1,**clone2,**clone3; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + weed_plant_t **clone1, **clone2, **clone3; - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_BGR24,WEED_PALETTE_RGB24,WEED_PALETTE_RGBA32,WEED_PALETTE_BGRA32,WEED_PALETTE_ARGB32,WEED_PALETTE_YUV888,WEED_PALETTE_YUVA8888,WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",0,palette_list),weed_channel_template_init("in channel 1",0,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",WEED_CHANNEL_CAN_DO_INPLACE,palette_list),NULL}; - weed_plant_t *in_params1[]= {weed_float_init("amount","_Transition",0.,0.,1.),NULL}; + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_BGR24, WEED_PALETTE_RGB24, WEED_PALETTE_RGBA32, WEED_PALETTE_BGRA32, WEED_PALETTE_ARGB32, WEED_PALETTE_YUV888, WEED_PALETTE_YUVA8888, WEED_PALETTE_END}; + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", 0, palette_list), weed_channel_template_init("in channel 1", 0, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", WEED_CHANNEL_CAN_DO_INPLACE, palette_list), NULL}; + weed_plant_t *in_params1[] = {weed_float_init("amount", "_Transition", 0., 0., 1.), NULL}; - weed_plant_t *filter_class=weed_filter_class_init("iris rectangle","salsaman",1,WEED_FILTER_HINT_IS_STATELESS|WEED_FILTER_HINT_MAY_THREAD, - NULL,irisr_process,NULL,in_chantmpls,out_chantmpls,in_params1,NULL); + weed_plant_t *filter_class = weed_filter_class_init("iris rectangle", "salsaman", 1, + WEED_FILTER_HINT_IS_STATELESS | WEED_FILTER_HINT_MAY_THREAD, + NULL, irisr_process, NULL, in_chantmpls, out_chantmpls, in_params1, NULL); - weed_set_boolean_value(in_params1[0],"transition",WEED_TRUE); + weed_set_boolean_value(in_params1[0], "transition", WEED_TRUE); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - filter_class=weed_filter_class_init("iris circle","salsaman",1,WEED_FILTER_HINT_IS_STATELESS|WEED_FILTER_HINT_MAY_THREAD,NULL,irisc_process, - NULL,(clone1=weed_clone_plants(in_chantmpls)),(clone2=weed_clone_plants(out_chantmpls)),(clone3=weed_clone_plants(in_params1)),NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + filter_class = weed_filter_class_init("iris circle", "salsaman", 1, WEED_FILTER_HINT_IS_STATELESS | WEED_FILTER_HINT_MAY_THREAD, NULL, + irisc_process, + NULL, (clone1 = weed_clone_plants(in_chantmpls)), (clone2 = weed_clone_plants(out_chantmpls)), (clone3 = weed_clone_plants(in_params1)), + NULL); + weed_plugin_info_add_filter_class(plugin_info, filter_class); weed_free(clone1); weed_free(clone2); weed_free(clone3); - weed_set_int_value(out_chantmpls[0],"flags",0); + weed_set_int_value(out_chantmpls[0], "flags", 0); - filter_class=weed_filter_class_init("4 way split","salsaman",1,WEED_FILTER_HINT_IS_STATELESS|WEED_FILTER_HINT_MAY_THREAD,NULL,fourw_process, - NULL,(clone1=weed_clone_plants(in_chantmpls)),(clone2=weed_clone_plants(out_chantmpls)),(clone3=weed_clone_plants(in_params1)),NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + filter_class = weed_filter_class_init("4 way split", "salsaman", 1, WEED_FILTER_HINT_IS_STATELESS | WEED_FILTER_HINT_MAY_THREAD, NULL, + fourw_process, + NULL, (clone1 = weed_clone_plants(in_chantmpls)), (clone2 = weed_clone_plants(out_chantmpls)), (clone3 = weed_clone_plants(in_params1)), + NULL); + weed_plugin_info_add_filter_class(plugin_info, filter_class); weed_free(clone1); weed_free(clone2); weed_free(clone3); - weed_set_int_value(out_chantmpls[0],"flags",WEED_CHANNEL_CAN_DO_INPLACE|WEED_CHANNEL_REINIT_ON_SIZE_CHANGE); + weed_set_int_value(out_chantmpls[0], "flags", WEED_CHANNEL_CAN_DO_INPLACE | WEED_CHANNEL_REINIT_ON_SIZE_CHANGE); - filter_class=weed_filter_class_init("dissolve","salsaman",1,WEED_FILTER_HINT_IS_STATELESS|WEED_FILTER_HINT_MAY_THREAD,dissolve_init, - dissolve_process,dissolve_deinit,(clone1=weed_clone_plants(in_chantmpls)),(clone2=weed_clone_plants(out_chantmpls)), - (clone3=weed_clone_plants(in_params1)),NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + filter_class = weed_filter_class_init("dissolve", "salsaman", 1, WEED_FILTER_HINT_IS_STATELESS | WEED_FILTER_HINT_MAY_THREAD, dissolve_init, + dissolve_process, dissolve_deinit, (clone1 = weed_clone_plants(in_chantmpls)), (clone2 = weed_clone_plants(out_chantmpls)), + (clone3 = weed_clone_plants(in_params1)), NULL); + weed_plugin_info_add_filter_class(plugin_info, filter_class); weed_free(clone1); weed_free(clone2); weed_free(clone3); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/negate.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/negate.c
Changed
@@ -18,10 +18,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -38,45 +38,46 @@ int negate_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error),*out_channel=weed_get_plantptr_value(inst,"out_channels", - &error); - unsigned char *src=weed_get_voidptr_value(in_channel,"pixel_data",&error); - unsigned char *dst=weed_get_voidptr_value(out_channel,"pixel_data",&error); + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error), *out_channel = weed_get_plantptr_value(inst, + "out_channels", + &error); + unsigned char *src = weed_get_voidptr_value(in_channel, "pixel_data", &error); + unsigned char *dst = weed_get_voidptr_value(out_channel, "pixel_data", &error); - int width=weed_get_int_value(in_channel,"width",&error); - int height=weed_get_int_value(in_channel,"height",&error); - int pal=weed_get_int_value(in_channel,"current_palette",&error); - int irowstride=weed_get_int_value(in_channel,"rowstrides",&error); - int orowstride=weed_get_int_value(out_channel,"rowstrides",&error); - int psize=4,start=0; + int width = weed_get_int_value(in_channel, "width", &error); + int height = weed_get_int_value(in_channel, "height", &error); + int pal = weed_get_int_value(in_channel, "current_palette", &error); + int irowstride = weed_get_int_value(in_channel, "rowstrides", &error); + int orowstride = weed_get_int_value(out_channel, "rowstrides", &error); + int psize = 4, start = 0; - unsigned char *end=src+height*irowstride; + unsigned char *end = src + height * irowstride; register int i; - if (pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24) psize=3; - if (pal==WEED_PALETTE_ARGB32) start=1; + if (pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24) psize = 3; + if (pal == WEED_PALETTE_ARGB32) start = 1; - width*=psize; + width *= psize; // new threading arch - if (weed_plant_has_leaf(out_channel,"offset")) { - int offset=weed_get_int_value(out_channel,"offset",&error); - int dheight=weed_get_int_value(out_channel,"height",&error); + if (weed_plant_has_leaf(out_channel, "offset")) { + int offset = weed_get_int_value(out_channel, "offset", &error); + int dheight = weed_get_int_value(out_channel, "height", &error); - src+=offset*irowstride; - dst+=offset*orowstride; - end=src+dheight*irowstride; + src += offset * irowstride; + dst += offset * orowstride; + end = src + dheight * irowstride; } - for (; src<end; src+=irowstride) { - for (i=start; i<width; i+=psize) { - dst[i]=src[i]^0xFF; - dst[i+1]=src[i+1]^0xFF; - dst[i+2]=src[i+2]^0xFF; + for (; src < end; src += irowstride) { + for (i = start; i < width; i += psize) { + dst[i] = src[i] ^ 0xFF; + dst[i + 1] = src[i + 1] ^ 0xFF; + dst[i + 2] = src[i + 2] ^ 0xFF; } - dst+=orowstride; + dst += orowstride; } return WEED_NO_ERROR; } @@ -85,19 +86,20 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_BGR24,WEED_PALETTE_RGB24,WEED_PALETTE_RGBA32,WEED_PALETTE_BGRA32,WEED_PALETTE_ARGB32,WEED_PALETTE_END}; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_BGR24, WEED_PALETTE_RGB24, WEED_PALETTE_RGBA32, WEED_PALETTE_BGRA32, WEED_PALETTE_ARGB32, WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",0,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",WEED_CHANNEL_CAN_DO_INPLACE,palette_list),NULL}; + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", 0, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", WEED_CHANNEL_CAN_DO_INPLACE, palette_list), NULL}; - weed_plant_t *filter_class=weed_filter_class_init("negate","salsaman",1,WEED_FILTER_HINT_MAY_THREAD,NULL,&negate_process,NULL,in_chantmpls, - out_chantmpls,NULL,NULL); + weed_plant_t *filter_class = weed_filter_class_init("negate", "salsaman", 1, WEED_FILTER_HINT_MAY_THREAD, NULL, &negate_process, NULL, + in_chantmpls, + out_chantmpls, NULL, NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/nn_programmer.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/nn_programmer.c
Changed
@@ -21,10 +21,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=1; // number of different weed api versions supported -static int api_versions[]= {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 1; // number of different weed api versions supported +static int api_versions[] = {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -55,15 +55,15 @@ #define NGAUSS 4 static double drand(double max) { - double denom=(double)(2ul<<30)/max; - double num=(double)lrand48(); - return (double)(num/denom); + double denom = (double)(2ul << 30) / max; + double num = (double)lrand48(); + return (double)(num / denom); } static void seed_rand(void) { struct timeval tv; - gettimeofday(&tv,NULL); + gettimeofday(&tv, NULL); srand48(tv.tv_sec); } @@ -72,22 +72,22 @@ int nnprog_init(weed_plant_t *inst) { - register int i,j; + register int i, j; - _sdata *sdata=(_sdata *)weed_malloc(sizeof(_sdata)); + _sdata *sdata = (_sdata *)weed_malloc(sizeof(_sdata)); - if (sdata==NULL) return WEED_ERROR_MEMORY_ALLOCATION; + if (sdata == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - sdata->vals=weed_malloc(MAXNODES*2*MAXNODES*sizeof(double)); + sdata->vals = weed_malloc(MAXNODES * 2 * MAXNODES * sizeof(double)); - if (sdata->vals==NULL) { + if (sdata->vals == NULL) { weed_free(sdata); return WEED_ERROR_MEMORY_ALLOCATION; } - sdata->constvals=weed_malloc(MAXNODES*sizeof(double)); + sdata->constvals = weed_malloc(MAXNODES * sizeof(double)); - if (sdata->constvals==NULL) { + if (sdata->constvals == NULL) { weed_free(sdata->vals); weed_free(sdata); return WEED_ERROR_MEMORY_ALLOCATION; @@ -95,14 +95,14 @@ seed_rand(); - for (i=0; i<MAXNODES*2; i++) { - if (i<MAXNODES) sdata->constvals[i]=drand(2.)-1.; - for (j=0; j<MAXNODES; j++) { - sdata->vals[i*MAXNODES+j]=drand(2.)-1.; + for (i = 0; i < MAXNODES * 2; i++) { + if (i < MAXNODES) sdata->constvals[i] = drand(2.) - 1.; + for (j = 0; j < MAXNODES; j++) { + sdata->vals[i * MAXNODES + j] = drand(2.) - 1.; } } - weed_set_voidptr_value(inst,"plugin_internal",sdata); + weed_set_voidptr_value(inst, "plugin_internal", sdata); return WEED_NO_ERROR; } @@ -111,59 +111,59 @@ int nnprog_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); - weed_plant_t **out_params=weed_get_plantptr_array(inst,"out_parameters",&error); - _sdata *sdata=(_sdata *)weed_get_voidptr_value(inst,"plugin_internal",&error); + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); + weed_plant_t **out_params = weed_get_plantptr_array(inst, "out_parameters", &error); + _sdata *sdata = (_sdata *)weed_get_voidptr_value(inst, "plugin_internal", &error); - double fit=(1.-weed_get_double_value(in_params[0],"value",&error))/(double)NGAUSS; + double fit = (1. - weed_get_double_value(in_params[0], "value", &error)) / (double)NGAUSS; double rval; - int innodes=weed_get_int_value(in_params[1],"value",&error); - int outnodes=weed_get_int_value(in_params[2],"value",&error); - int hnodes=weed_get_int_value(in_params[3],"value",&error); + int innodes = weed_get_int_value(in_params[1], "value", &error); + int outnodes = weed_get_int_value(in_params[2], "value", &error); + int hnodes = weed_get_int_value(in_params[3], "value", &error); char *strings[256]; char tmp[MAXSTRLEN]; char *ptr; - int k,idx=0; + int k, idx = 0; - register int i,j,z; + register int i, j, z; weed_free(in_params); // adjust values according to fitness - for (i=0; i<hnodes+outnodes; i++) { - if (i<MAXNODES) { - rval=0.; - for (z=0; z<NGAUSS; z++) { - rval+=(drand(2.)-1.)*fit; + for (i = 0; i < hnodes + outnodes; i++) { + if (i < MAXNODES) { + rval = 0.; + for (z = 0; z < NGAUSS; z++) { + rval += (drand(2.) - 1.) * fit; } - if (rval>0.) - sdata->constvals[i]+=(1.-sdata->constvals[i])*rval; + if (rval > 0.) + sdata->constvals[i] += (1. - sdata->constvals[i]) * rval; else - sdata->constvals[i]+=(1.+sdata->constvals[i])*rval; + sdata->constvals[i] += (1. + sdata->constvals[i]) * rval; - if (sdata->constvals[i]<-1.) sdata->constvals[i]=-1.; - if (sdata->constvals[i]>1.) sdata->constvals[i]=1.; + if (sdata->constvals[i] < -1.) sdata->constvals[i] = -1.; + if (sdata->constvals[i] > 1.) sdata->constvals[i] = 1.; } - for (j=0; j<MAXNODES; j++) { + for (j = 0; j < MAXNODES; j++) { - rval=0.; - for (z=0; z<NGAUSS; z++) { - rval+=(drand(2.)-1.)*fit; + rval = 0.; + for (z = 0; z < NGAUSS; z++) { + rval += (drand(2.) - 1.) * fit; } - if (rval>0.) - sdata->vals[idx]+=(1.-sdata->vals[idx])*rval; + if (rval > 0.) + sdata->vals[idx] += (1. - sdata->vals[idx]) * rval; else - sdata->vals[idx]+=(1.+sdata->vals[idx])*rval; + sdata->vals[idx] += (1. + sdata->vals[idx]) * rval; - if (sdata->vals[idx]<-1.) sdata->vals[idx]=-1.; - if (sdata->vals[idx]>1.) sdata->vals[idx]=1.; + if (sdata->vals[idx] < -1.) sdata->vals[idx] = -1.; + if (sdata->vals[idx] > 1.) sdata->vals[idx] = 1.; idx++; } @@ -172,35 +172,35 @@ // create strings for hidden nodes (store values) - for (i=0; i<hnodes; i++) { - snprintf(tmp,MAXSTRLEN,"s[%d]=%f",i,sdata->constvals[i]); - ptr=tmp+strlen(tmp); - for (j=0; j<innodes; j++) { - snprintf(ptr,MAXSTRLEN,"+%f*i[%d]",sdata->vals[i*MAXNODES+j],j); - ptr=tmp+strlen(tmp); + for (i = 0; i < hnodes; i++) { + snprintf(tmp, MAXSTRLEN, "s[%d]=%f", i, sdata->constvals[i]); + ptr = tmp + strlen(tmp); + for (j = 0; j < innodes; j++) { + snprintf(ptr, MAXSTRLEN, "+%f*i[%d]", sdata->vals[i * MAXNODES + j], j); + ptr = tmp + strlen(tmp); } - strings[i]=strdup(tmp); + strings[i] = strdup(tmp); } - k=i; + k = i; // create strings for output nodes (store values) - for (i=0; i<outnodes; i++) { - snprintf(tmp,MAXSTRLEN,"o[%d]=",i); - ptr=tmp+strlen(tmp); - for (j=0; j<hnodes; j++) { - snprintf(ptr,MAXSTRLEN,"+%f*s[%d]",sdata->vals[(k+i)*MAXNODES+j],j); - ptr=tmp+strlen(tmp); + for (i = 0; i < outnodes; i++) { + snprintf(tmp, MAXSTRLEN, "o[%d]=", i); + ptr = tmp + strlen(tmp); + for (j = 0; j < hnodes; j++) { + snprintf(ptr, MAXSTRLEN, "+%f*s[%d]", sdata->vals[(k + i)*MAXNODES + j], j); + ptr = tmp + strlen(tmp); } - strings[i+k]=strdup(tmp); + strings[i + k] = strdup(tmp); } - for (i=0; i<hnodes+outnodes; i++) { - weed_set_string_value(out_params[i],"value",strings[i]); + for (i = 0; i < hnodes + outnodes; i++) { + weed_set_string_value(out_params[i], "value", strings[i]); #ifdef DEBUG - if (strlen(strings[i])) printf("eqn %d: %s\n",i,strings[i]); + if (strlen(strings[i])) printf("eqn %d: %s\n", i, strings[i]); #endif weed_free(strings[i]); } @@ -214,11 +214,11 @@ int nnprog_deinit(weed_plant_t *inst) { int error; - _sdata *sdata=(_sdata *)weed_get_voidptr_value(inst,"plugin_internal",&error); + _sdata *sdata = (_sdata *)weed_get_voidptr_value(inst, "plugin_internal", &error); - if (sdata!=NULL) { - if (sdata->constvals!=NULL) weed_free(sdata->constvals); - if (sdata->vals!=NULL) weed_free(sdata->vals); + if (sdata != NULL) { + if (sdata->constvals != NULL) weed_free(sdata->constvals); + if (sdata->vals != NULL) weed_free(sdata->vals); weed_free(sdata); } return WEED_NO_ERROR; @@ -228,37 +228,37 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); - if (plugin_info!=NULL) { - weed_plant_t *filter_class,*gui; + if (plugin_info != NULL) { + weed_plant_t *filter_class, *gui; - weed_plant_t *in_params[]= {weed_float_init("fitness","_Fitness",0.,0.,1.),weed_integer_init("innodes","Number of _Input Nodes",1,1,256),weed_integer_init("outnodes","Number of _Output Nodes",1,1,128),weed_integer_init("hnodes","Number of _Hidden Nodes",1,1,128),NULL}; - weed_plant_t *out_params[MAXNODES*2+1]; + weed_plant_t *in_params[] = {weed_float_init("fitness", "_Fitness", 0., 0., 1.), weed_integer_init("innodes", "Number of _Input Nodes", 1, 1, 256), weed_integer_init("outnodes", "Number of _Output Nodes", 1, 1, 128), weed_integer_init("hnodes", "Number of _Hidden Nodes", 1, 1, 128), NULL}; + weed_plant_t *out_params[MAXNODES * 2 + 1]; register int i; char name[256]; - for (i=0; i<MAXNODES*2; i++) { - snprintf(name,256,"Equation%03d",i); - out_params[i]=weed_out_param_text_init(name,""); + for (i = 0; i < MAXNODES * 2; i++) { + snprintf(name, 256, "Equation%03d", i); + out_params[i] = weed_out_param_text_init(name, ""); } - out_params[i]=NULL; + out_params[i] = NULL; - filter_class=weed_filter_class_init("nn_programmer","salsaman",1,0,&nnprog_init,&nnprog_process, - &nnprog_deinit,NULL,NULL,in_params,out_params); + filter_class = weed_filter_class_init("nn_programmer", "salsaman", 1, 0, &nnprog_init, &nnprog_process, + &nnprog_deinit, NULL, NULL, in_params, out_params); - gui=weed_filter_class_get_gui(filter_class); - weed_set_boolean_value(gui,"hidden",WEED_TRUE); + gui = weed_filter_class_get_gui(filter_class); + weed_set_boolean_value(gui, "hidden", WEED_TRUE); - for (i=1; i<4; i++) - weed_set_int_value(in_params[i],"flags",WEED_PARAMETER_REINIT_ON_VALUE_CHANGE); + for (i = 1; i < 4; i++) + weed_set_int_value(in_params[i], "flags", WEED_PARAMETER_REINIT_ON_VALUE_CHANGE); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/noise.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/noise.c
Changed
@@ -17,10 +17,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -43,15 +43,15 @@ #define rand_a 1073741789L #define rand_c 32749L - return ((sdata->fastrand_val*=rand_a) + rand_c); + return ((sdata->fastrand_val *= rand_a) + rand_c); } int noise_init(weed_plant_t *inst) { - static_data *sdata=weed_malloc(sizeof(sdata)); + static_data *sdata = weed_malloc(sizeof(sdata)); if (sdata == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - sdata->fastrand_val=0; // TODO - seed with random seed - weed_set_voidptr_value(inst,"plugin_internal",sdata); + sdata->fastrand_val = 0; // TODO - seed with random seed + weed_set_voidptr_value(inst, "plugin_internal", sdata); return WEED_NO_ERROR; } @@ -61,7 +61,7 @@ struct _sdata *sdata; int error; - sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); + sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); if (sdata != NULL) { weed_free(sdata); } @@ -72,53 +72,55 @@ int noise_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error),*out_channel=weed_get_plantptr_value(inst,"out_channels", - &error); - unsigned char *src=weed_get_voidptr_value(in_channel,"pixel_data",&error); - unsigned char *dst=weed_get_voidptr_value(out_channel,"pixel_data",&error); - int width=weed_get_int_value(in_channel,"width",&error)*3; - int height=weed_get_int_value(in_channel,"height",&error); - int irowstride=weed_get_int_value(in_channel,"rowstrides",&error); - int orowstride=weed_get_int_value(out_channel,"rowstrides",&error); - unsigned char *end=src+height*irowstride; + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error), *out_channel = weed_get_plantptr_value(inst, + "out_channels", + &error); + unsigned char *src = weed_get_voidptr_value(in_channel, "pixel_data", &error); + unsigned char *dst = weed_get_voidptr_value(out_channel, "pixel_data", &error); + int width = weed_get_int_value(in_channel, "width", &error) * 3; + int height = weed_get_int_value(in_channel, "height", &error); + int irowstride = weed_get_int_value(in_channel, "rowstrides", &error); + int orowstride = weed_get_int_value(out_channel, "rowstrides", &error); + unsigned char *end = src + height * irowstride; register int j; - static_data *sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); - sdata->fastrand_val=timestamp&0x0000FFFF; + static_data *sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); + sdata->fastrand_val = timestamp & 0x0000FFFF; // new threading arch - if (weed_plant_has_leaf(out_channel,"offset")) { - int offset=weed_get_int_value(out_channel,"offset",&error); - int dheight=weed_get_int_value(out_channel,"height",&error); + if (weed_plant_has_leaf(out_channel, "offset")) { + int offset = weed_get_int_value(out_channel, "offset", &error); + int dheight = weed_get_int_value(out_channel, "height", &error); - src+=offset*irowstride; - dst+=offset*orowstride; - end=src+dheight*irowstride; + src += offset * irowstride; + dst += offset * orowstride; + end = src + dheight * irowstride; } - for (; src<end; src+=irowstride) { - for (j=0; j<width; j++) { - dst[j]=src[j]+((fastrand(sdata)&0xF8000000)>>27)-16; + for (; src < end; src += irowstride) { + for (j = 0; j < width; j++) { + dst[j] = src[j] + ((fastrand(sdata) & 0xF8000000) >> 27) - 16; } - dst+=orowstride; + dst += orowstride; } return WEED_NO_ERROR; } weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_BGR24,WEED_PALETTE_RGB24,WEED_PALETTE_END}; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_BGR24, WEED_PALETTE_RGB24, WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",0,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",WEED_CHANNEL_CAN_DO_INPLACE,palette_list),NULL}; + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", 0, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", WEED_CHANNEL_CAN_DO_INPLACE, palette_list), NULL}; - weed_plant_t *filter_class=weed_filter_class_init("noise","salsaman",1,WEED_FILTER_HINT_MAY_THREAD,&noise_init,&noise_process,&noise_deinit, - in_chantmpls,out_chantmpls,NULL,NULL); + weed_plant_t *filter_class = weed_filter_class_init("noise", "salsaman", 1, WEED_FILTER_HINT_MAY_THREAD, &noise_init, &noise_process, + &noise_deinit, + in_chantmpls, out_chantmpls, NULL, NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/onedTV.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/onedTV.c
Changed
@@ -29,10 +29,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -72,33 +72,33 @@ int oned_init(weed_plant_t *inst) { struct _sdata *sdata; - int map_w,map_h; + int map_w, map_h; weed_plant_t *out_channel; int error; - sdata=weed_malloc(sizeof(struct _sdata)); + sdata = weed_malloc(sizeof(struct _sdata)); if (sdata == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - out_channel=weed_get_plantptr_value(inst,"out_channels",&error); + out_channel = weed_get_plantptr_value(inst, "out_channels", &error); - map_h=weed_get_int_value(out_channel,"height",&error); - map_w=weed_get_int_value(out_channel,"rowstrides",&error); + map_h = weed_get_int_value(out_channel, "height", &error); + map_w = weed_get_int_value(out_channel, "rowstrides", &error); - sdata->linebuf = weed_malloc(map_h*map_w); + sdata->linebuf = weed_malloc(map_h * map_w); if (sdata->linebuf == NULL) { weed_free(sdata); return WEED_ERROR_MEMORY_ALLOCATION; } - weed_memset(sdata->linebuf, 0, map_w*map_h); + weed_memset(sdata->linebuf, 0, map_w * map_h); sdata->line = 0; - sdata->dir=1; + sdata->dir = 1; - weed_set_voidptr_value(inst,"plugin_internal",sdata); + weed_set_voidptr_value(inst, "plugin_internal", sdata); return WEED_NO_ERROR; } @@ -109,7 +109,7 @@ struct _sdata *sdata; int error; - sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); + sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); if (sdata != NULL) { weed_free(sdata->linebuf); weed_free(sdata); @@ -120,105 +120,105 @@ int oned_process(weed_plant_t *inst, weed_timecode_t timestamp) { weed_plant_t **in_params; - weed_plant_t *in_channel,*out_channel; + weed_plant_t *in_channel, *out_channel; struct _sdata *sdata; - unsigned char *osrc,*src,*dest; + unsigned char *osrc, *src, *dest; size_t size; - int nlines,bounce; - int width,height,irow,orow,psize=3,pwidth,palette; + int nlines, bounce; + int width, height, irow, orow, psize = 3, pwidth, palette; int error; register int i; - sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); - in_channel=weed_get_plantptr_value(inst,"in_channels",&error); - out_channel=weed_get_plantptr_value(inst,"out_channels",&error); + sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); + in_channel = weed_get_plantptr_value(inst, "in_channels", &error); + out_channel = weed_get_plantptr_value(inst, "out_channels", &error); - in_params=weed_get_plantptr_array(inst,"in_parameters",&error); + in_params = weed_get_plantptr_array(inst, "in_parameters", &error); - osrc=src=weed_get_voidptr_value(in_channel,"pixel_data",&error); - dest=weed_get_voidptr_value(out_channel,"pixel_data",&error); + osrc = src = weed_get_voidptr_value(in_channel, "pixel_data", &error); + dest = weed_get_voidptr_value(out_channel, "pixel_data", &error); - width = weed_get_int_value(in_channel,"width",&error); - height = weed_get_int_value(in_channel,"height",&error); + width = weed_get_int_value(in_channel, "width", &error); + height = weed_get_int_value(in_channel, "height", &error); - irow = weed_get_int_value(in_channel,"rowstrides",&error); - orow = weed_get_int_value(out_channel,"rowstrides",&error); + irow = weed_get_int_value(in_channel, "rowstrides", &error); + orow = weed_get_int_value(out_channel, "rowstrides", &error); - palette = weed_get_int_value(in_channel,"current_palette",&error); + palette = weed_get_int_value(in_channel, "current_palette", &error); - if (palette==WEED_PALETTE_RGBA32||palette==WEED_PALETTE_ARGB32) psize=4; + if (palette == WEED_PALETTE_RGBA32 || palette == WEED_PALETTE_ARGB32) psize = 4; - size=orow*height; + size = orow * height; src += irow * sdata->line; pwidth = width * psize; - nlines=weed_get_int_value(in_params[0],"value",&error); - bounce=weed_get_boolean_value(in_params[1],"value",&error); + nlines = weed_get_int_value(in_params[0], "value", &error); + bounce = weed_get_boolean_value(in_params[1], "value", &error); weed_free(in_params); - for (i=0; i<nlines; i++) { + for (i = 0; i < nlines; i++) { // blit line(s) to linebuf - weed_memcpy(sdata->linebuf+sdata->line*orow, src, pwidth); - if (sdata->dir==-1) src-=irow; + weed_memcpy(sdata->linebuf + sdata->line * orow, src, pwidth); + if (sdata->dir == -1) src -= irow; else src += irow; - sdata->line+=sdata->dir; + sdata->line += sdata->dir; if (sdata->line >= height) { - if (bounce==WEED_FALSE) { + if (bounce == WEED_FALSE) { sdata->line = 0; - src=osrc; + src = osrc; } else { - sdata->dir=-sdata->dir; - sdata->line+=sdata->dir; + sdata->dir = -sdata->dir; + sdata->line += sdata->dir; } } else if (sdata->line <= 0) { - if (bounce==WEED_FALSE) { - sdata->line = height-1; - src=osrc+(height-1)*irow; + if (bounce == WEED_FALSE) { + sdata->line = height - 1; + src = osrc + (height - 1) * irow; } else { - sdata->dir=-sdata->dir; - sdata->line+=sdata->dir; + sdata->dir = -sdata->dir; + sdata->line += sdata->dir; } } } // copy linebuff to dest - weed_memcpy(dest,sdata->linebuf,size); + weed_memcpy(dest, sdata->linebuf, size); // draw green line dest += orow * sdata->line; switch (palette) { case WEED_PALETTE_RGBA32: - for (i=0; i<width; i++) { + for (i = 0; i < width; i++) { dest[0] = 0x00; dest[1] = 0xFF; dest[2] = 0x00; dest[3] = 0xFF; - dest+=4; + dest += 4; } break; case WEED_PALETTE_ARGB32: - for (i=0; i<width; i++) { + for (i = 0; i < width; i++) { dest[0] = 0xFF; dest[1] = 0x00; dest[2] = 0xFF; dest[3] = 0x00; - dest+=4; + dest += 4; } break; case WEED_PALETTE_RGB24: case WEED_PALETTE_BGR24: - for (i=0; i<width; i++) { + for (i = 0; i < width; i++) { dest[0] = 0x00; dest[1] = 0xFF; dest[2] = 0x00; - dest+=3; + dest += 3; } break; default: @@ -231,21 +231,22 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_RGBA32,WEED_PALETTE_RGB24,WEED_PALETTE_BGR24,WEED_PALETTE_END}; - weed_plant_t *in_params[]= {weed_integer_init("linerate","_Line rate",8,1,1024),weed_switch_init("bounce","_Bounce",WEED_FALSE),NULL}; - - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",WEED_CHANNEL_REINIT_ON_SIZE_CHANGE|WEED_CHANNEL_REINIT_ON_ROWSTRIDES_CHANGE - ,palette_list),NULL - }; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",0,palette_list),NULL}; - weed_plant_t *filter_class=weed_filter_class_init("onedTV","effectTV",1,0,&oned_init,&oned_process,&oned_deinit,in_chantmpls,out_chantmpls, - in_params,NULL); - - weed_plugin_info_add_filter_class(plugin_info,filter_class); - - weed_set_int_value(plugin_info,"version",package_version); + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_RGBA32, WEED_PALETTE_RGB24, WEED_PALETTE_BGR24, WEED_PALETTE_END}; + weed_plant_t *in_params[] = {weed_integer_init("linerate", "_Line rate", 8, 1, 1024), weed_switch_init("bounce", "_Bounce", WEED_FALSE), NULL}; + + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", WEED_CHANNEL_REINIT_ON_SIZE_CHANGE | WEED_CHANNEL_REINIT_ON_ROWSTRIDES_CHANGE + , palette_list), NULL + }; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", 0, palette_list), NULL}; + weed_plant_t *filter_class = weed_filter_class_init("onedTV", "effectTV", 1, 0, &oned_init, &oned_process, &oned_deinit, in_chantmpls, + out_chantmpls, + in_params, NULL); + + weed_plugin_info_add_filter_class(plugin_info, filter_class); + + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/palette_test.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/palette_test.c
Changed
@@ -19,10 +19,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -39,14 +39,15 @@ int ptest_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error),*out_channel=weed_get_plantptr_value(inst,"out_channels", - &error); - void **src=weed_get_voidptr_array(in_channel,"pixel_data",&error); - void **dst=weed_get_voidptr_array(out_channel,"pixel_data",&error); - int width=weed_get_int_value(in_channel,"width",&error); - int height=weed_get_int_value(in_channel,"height",&error); - - if (src[0]!=dst[0]) weed_memcpy(dst[0],src[0],width*height*4); + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error), *out_channel = weed_get_plantptr_value(inst, + "out_channels", + &error); + void **src = weed_get_voidptr_array(in_channel, "pixel_data", &error); + void **dst = weed_get_voidptr_array(out_channel, "pixel_data", &error); + int width = weed_get_int_value(in_channel, "width", &error); + int height = weed_get_int_value(in_channel, "height", &error); + + if (src[0] != dst[0]) weed_memcpy(dst[0], src[0], width * height * 4); /* if (src[1]!=dst[1]) weed_memcpy(dst[1],src[1],width*height); if (src[2]!=dst[2]) weed_memcpy(dst[2],src[2],width*height); @@ -62,24 +63,24 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions),*gui; - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_YUYV,WEED_PALETTE_END}; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions), *gui; + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_YUYV, WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",0,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",WEED_CHANNEL_CAN_DO_INPLACE,palette_list),NULL}; - weed_plant_t *filter_class=weed_filter_class_init("Palette testing plugin","salsaman",1,0,NULL,&ptest_process,NULL,in_chantmpls, - out_chantmpls,NULL,NULL); + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", 0, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", WEED_CHANNEL_CAN_DO_INPLACE, palette_list), NULL}; + weed_plant_t *filter_class = weed_filter_class_init("Palette testing plugin", "salsaman", 1, 0, NULL, &ptest_process, NULL, in_chantmpls, + out_chantmpls, NULL, NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(in_chantmpls[0],"YUV_clamping",WEED_YUV_CLAMPING_CLAMPED); - weed_set_int_value(out_chantmpls[0],"YUV_clamping",WEED_YUV_CLAMPING_CLAMPED); + weed_set_int_value(in_chantmpls[0], "YUV_clamping", WEED_YUV_CLAMPING_CLAMPED); + weed_set_int_value(out_chantmpls[0], "YUV_clamping", WEED_YUV_CLAMPING_CLAMPED); - gui=weed_filter_class_get_gui(filter_class); - weed_set_boolean_value(gui,"hidden",WEED_TRUE); + gui = weed_filter_class_get_gui(filter_class); + weed_set_boolean_value(gui, "hidden", WEED_TRUE); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/plasma.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/plasma.c
Changed
@@ -20,10 +20,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -81,22 +81,22 @@ for (i = 0; i < 64; ++i) { colors[i].r = i << 2; colors[i].g = 255 - ((i << 2) + 1); - colors[i+64].r = 255; - colors[i+64].g = (i << 2) + 1; - colors[i+128].r = 255 - ((i << 2) + 1); - colors[i+128].g = 255 - ((i << 2) + 1); - colors[i+192].g = (i << 2) + 1; + colors[i + 64].r = 255; + colors[i + 64].g = (i << 2) + 1; + colors[i + 128].r = 255 - ((i << 2) + 1); + colors[i + 128].g = 255 - ((i << 2) + 1); + colors[i + 192].g = (i << 2) + 1; } } int plasma_init(weed_plant_t *inst) { - _sdata *sd=(_sdata *)weed_malloc(sizeof(_sdata)); - if (sd==NULL) return WEED_ERROR_MEMORY_ALLOCATION; + _sdata *sd = (_sdata *)weed_malloc(sizeof(_sdata)); + if (sd == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - sd->pos1=sd->pos2=sd->pos3=sd->pos4=0; + sd->pos1 = sd->pos2 = sd->pos3 = sd->pos4 = 0; - weed_set_voidptr_value(inst,"plugin_internal",sd); + weed_set_voidptr_value(inst, "plugin_internal", sd); return WEED_NO_ERROR; @@ -106,7 +106,7 @@ int plasma_deinit(weed_plant_t *inst) { int error; - _sdata *sd=weed_get_voidptr_value(inst,"plugin_internal",&error); + _sdata *sd = weed_get_voidptr_value(inst, "plugin_internal", &error); weed_free(sd); @@ -118,29 +118,29 @@ int plasma_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t *out_channel=weed_get_plantptr_value(inst,"out_channels",&error); - unsigned char *dst=weed_get_voidptr_value(out_channel,"pixel_data",&error); - int width=weed_get_int_value(out_channel,"width",&error); - int height=weed_get_int_value(out_channel,"height",&error); - int palette=weed_get_int_value(out_channel,"current_palette",&error); - _sdata *sd=weed_get_voidptr_value(inst,"plugin_internal",&error); - int rowstride=weed_get_int_value(out_channel,"rowstrides",&error); + weed_plant_t *out_channel = weed_get_plantptr_value(inst, "out_channels", &error); + unsigned char *dst = weed_get_voidptr_value(out_channel, "pixel_data", &error); + int width = weed_get_int_value(out_channel, "width", &error); + int height = weed_get_int_value(out_channel, "height", &error); + int palette = weed_get_int_value(out_channel, "current_palette", &error); + _sdata *sd = weed_get_voidptr_value(inst, "plugin_internal", &error); + int rowstride = weed_get_int_value(out_channel, "rowstrides", &error); uint8_t index; - int widthx=width*3; - int offs,x; + int widthx = width * 3; + int offs, x; unsigned char *end; register int j; - if (palette==WEED_PALETTE_RGBA32) widthx=width*4; + if (palette == WEED_PALETTE_RGBA32) widthx = width * 4; - offs=rowstride-widthx; + offs = rowstride - widthx; sd->tpos4 = sd->pos4; sd->tpos3 = sd->pos3; - end=dst+height*widthx; + end = dst + height * widthx; - while (dst<end) { + while (dst < end) { sd->tpos1 = sd->pos1 + 5; sd->tpos2 = sd->pos2 + 3; @@ -159,18 +159,18 @@ *dst++ = colors[index].r; *dst++ = colors[index].g; *dst++ = 0; - if (palette==WEED_PALETTE_RGBA32) *dst++ = 255; + if (palette == WEED_PALETTE_RGBA32) *dst++ = 255; sd->tpos1 += 5; sd->tpos2 += 3; } - dst+=offs; + dst += offs; sd->tpos4 += 3; sd->tpos3 += 1; } - sd->pos1 +=9; - sd->pos3 +=8; + sd->pos1 += 9; + sd->pos3 += 8; return WEED_NO_ERROR; } @@ -179,18 +179,19 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_RGB24,WEED_PALETTE_RGBA32,WEED_PALETTE_END}; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_RGB24, WEED_PALETTE_RGBA32, WEED_PALETTE_END}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",0,palette_list),NULL}; - weed_plant_t *filter_class=weed_filter_class_init("plasma","salsaman/w.p van paasen",1,0,&plasma_init,&plasma_process,&plasma_deinit,NULL, - out_chantmpls,NULL,NULL); - weed_set_double_value(filter_class,"target_fps",50.); // set reasonable default fps + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", 0, palette_list), NULL}; + weed_plant_t *filter_class = weed_filter_class_init("plasma", "salsaman/w.p van paasen", 1, 0, &plasma_init, &plasma_process, + &plasma_deinit, NULL, + out_chantmpls, NULL, NULL); + weed_set_double_value(filter_class, "target_fps", 50.); // set reasonable default fps - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); plasma_prep(); } return plugin_info;
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/posterise.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/posterise.c
Changed
@@ -17,10 +17,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -37,40 +37,41 @@ int posterise_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error),*out_channel=weed_get_plantptr_value(inst,"out_channels", - &error); - unsigned char *src=weed_get_voidptr_value(in_channel,"pixel_data",&error); - unsigned char *dst=weed_get_voidptr_value(out_channel,"pixel_data",&error); - int width=weed_get_int_value(in_channel,"width",&error)*3; - int height=weed_get_int_value(in_channel,"height",&error); - int irowstride=weed_get_int_value(in_channel,"rowstrides",&error); - int orowstride=weed_get_int_value(out_channel,"rowstrides",&error); - unsigned char *end=src+height*irowstride; + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error), *out_channel = weed_get_plantptr_value(inst, + "out_channels", + &error); + unsigned char *src = weed_get_voidptr_value(in_channel, "pixel_data", &error); + unsigned char *dst = weed_get_voidptr_value(out_channel, "pixel_data", &error); + int width = weed_get_int_value(in_channel, "width", &error) * 3; + int height = weed_get_int_value(in_channel, "height", &error); + int irowstride = weed_get_int_value(in_channel, "rowstrides", &error); + int orowstride = weed_get_int_value(out_channel, "rowstrides", &error); + unsigned char *end = src + height * irowstride; int levels; weed_plant_t *in_param; register int i; - unsigned char levmask=128; + unsigned char levmask = 128; - in_param=weed_get_plantptr_value(inst,"in_parameters",&error); - levels=weed_get_int_value(in_param,"value",&error); + in_param = weed_get_plantptr_value(inst, "in_parameters", &error); + levels = weed_get_int_value(in_param, "value", &error); - for (i=1; i<levels; i++) levmask+=128>>i; + for (i = 1; i < levels; i++) levmask += 128 >> i; // new threading arch - if (weed_plant_has_leaf(out_channel,"offset")) { - int offset=weed_get_int_value(out_channel,"offset",&error); - int dheight=weed_get_int_value(out_channel,"height",&error); + if (weed_plant_has_leaf(out_channel, "offset")) { + int offset = weed_get_int_value(out_channel, "offset", &error); + int dheight = weed_get_int_value(out_channel, "height", &error); - src+=offset*irowstride; - dst+=offset*orowstride; - end=src+dheight*irowstride; + src += offset * irowstride; + dst += offset * orowstride; + end = src + dheight * irowstride; } - for (; src<end; src+=irowstride) { - for (i=0; i<width; i++) { - dst[i]=src[i]&levmask; + for (; src < end; src += irowstride) { + for (i = 0; i < width; i++) { + dst[i] = src[i] & levmask; } - dst+=orowstride; + dst += orowstride; } return WEED_NO_ERROR; } @@ -78,20 +79,20 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_BGR24,WEED_PALETTE_RGB24,WEED_PALETTE_END}; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_BGR24, WEED_PALETTE_RGB24, WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",0,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",WEED_CHANNEL_CAN_DO_INPLACE,palette_list),NULL}; - weed_plant_t *in_params[]= {weed_integer_init("levels","Colour _levels",1,1,8),NULL}; + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", 0, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", WEED_CHANNEL_CAN_DO_INPLACE, palette_list), NULL}; + weed_plant_t *in_params[] = {weed_integer_init("levels", "Colour _levels", 1, 1, 8), NULL}; - weed_plant_t *filter_class=weed_filter_class_init("posterise","salsaman",1,WEED_FILTER_HINT_MAY_THREAD,NULL,&posterise_process,NULL, - in_chantmpls,out_chantmpls,in_params,NULL); + weed_plant_t *filter_class = weed_filter_class_init("posterise", "salsaman", 1, WEED_FILTER_HINT_MAY_THREAD, NULL, &posterise_process, NULL, + in_chantmpls, out_chantmpls, in_params, NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/projectM-ConfigFile.h -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/projectM-ConfigFile.h
Changed
@@ -57,10 +57,10 @@ string myDelimiter; // separator between key and value string myComment; // separator between value and comments string mySentry; // optional string to signal end of file - std::map<string,string> myContents; // extracted keys and values + std::map<string, string> myContents; // extracted keys and values - typedef std::map<string,string>::iterator mapi; - typedef std::map<string,string>::const_iterator mapci; + typedef std::map<string, string>::iterator mapi; + typedef std::map<string, string>::const_iterator mapci; // Methods public: @@ -172,9 +172,9 @@ string sup = s; for (string::iterator p = sup.begin(); p != sup.end(); ++p) *p = toupper(*p); // make string all caps - if (sup==string("FALSE") || sup==string("F") || - sup==string("NO") || sup==string("N") || - sup==string("0") || sup==string("NONE")) + if (sup == string("FALSE") || sup == string("F") || + sup == string("NO") || sup == string("N") || + sup == string("0") || sup == string("NONE")) b = false; return b; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/projectM-getConfigFilename.cpp -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/projectM-getConfigFilename.cpp
Changed
@@ -13,81 +13,74 @@ #include <cstring> #include <cstdlib> #include "projectM-getConfigFilename.h" -#include <fcntl.h> +#include <fcntl.h> #include <sys/stat.h> #include <cstdio> // get the full pathname of a configfile -std::string getConfigFilename() -{ - char num[512]; - FILE *in; - FILE *out; - - char* home; - // FIXME: fixed length buffers are not ideal. - char projectM_home[1024]; - char projectM_config[1024]; - - strcpy(projectM_config, PROJECTM_PREFIX); - strcpy(projectM_config + strlen(PROJECTM_PREFIX), CONFIG_FILE); - projectM_config[strlen(PROJECTM_PREFIX) + strlen(CONFIG_FILE)] = '\0'; - fprintf(stderr,"dir:%s \n", projectM_config); - home = getenv("HOME"); - strcpy(projectM_home, home); - strcpy(projectM_home + strlen(home), "/.projectM/config.inp"); - projectM_home[strlen(home) + strlen("/.projectM/config.inp")] = '\0'; - - if ((in = fopen(projectM_home, "r"))) - { - fprintf(stderr,"reading ~/.projectM/config.inp \n"); - fclose(in); - return std::string(projectM_home); - } - - fprintf(stderr,"trying to create ~/.projectM/config.inp \n"); - - projectM_home[strlen(home) + strlen("/.projectM")] = '\0'; - mkdir(projectM_home, 0755); - - strcpy(projectM_home + strlen(home), "/.projectM/config.inp"); - projectM_home[strlen(home) + strlen("/.projectM/config.inp")] = '\0'; - - if((out = fopen(projectM_home, "w"))) - { - if ((in = fopen(projectM_config, "r"))) - { - while(fgets(num, 80, in)!=NULL) - { - fputs(num, out); - } - fclose(in); - fclose(out); - - - if ((in = fopen(projectM_home, "r"))) - { - fprintf(stderr,"created ~/.projectM/config.inp successfully\n"); - fclose(in); - return std::string(projectM_home); - } - - fprintf(stderr,"This shouldn't happen, using implementation defaults\n"); - abort(); - } - fprintf(stderr,"Cannot find projectM default config, using implementation defaults\n"); - abort(); - } - - fprintf(stderr,"Cannot create ~/.projectM/config.inp, using default config file\n"); - if ((in = fopen(projectM_config, "r"))) - { - fprintf(stderr,"Successfully opened default config file\n"); - fclose(in); - return std::string(projectM_config); - } - - fprintf(stderr,"Using implementation defaults, your system is really messed up, I'm suprised we even got this far\n"); - return NULL; +std::string getConfigFilename() { + char num[512]; + FILE *in; + FILE *out; + + char *home; + // FIXME: fixed length buffers are not ideal. + char projectM_home[1024]; + char projectM_config[1024]; + + strcpy(projectM_config, PROJECTM_PREFIX); + strcpy(projectM_config + strlen(PROJECTM_PREFIX), CONFIG_FILE); + projectM_config[strlen(PROJECTM_PREFIX) + strlen(CONFIG_FILE)] = '\0'; + fprintf(stderr, "dir:%s \n", projectM_config); + home = getenv("HOME"); + strcpy(projectM_home, home); + strcpy(projectM_home + strlen(home), "/.projectM/config.inp"); + projectM_home[strlen(home) + strlen("/.projectM/config.inp")] = '\0'; + + if ((in = fopen(projectM_home, "r"))) { + fprintf(stderr, "reading ~/.projectM/config.inp \n"); + fclose(in); + return std::string(projectM_home); + } + + fprintf(stderr, "trying to create ~/.projectM/config.inp \n"); + + projectM_home[strlen(home) + strlen("/.projectM")] = '\0'; + mkdir(projectM_home, 0755); + + strcpy(projectM_home + strlen(home), "/.projectM/config.inp"); + projectM_home[strlen(home) + strlen("/.projectM/config.inp")] = '\0'; + + if ((out = fopen(projectM_home, "w"))) { + if ((in = fopen(projectM_config, "r"))) { + while (fgets(num, 80, in) != NULL) { + fputs(num, out); + } + fclose(in); + fclose(out); + + + if ((in = fopen(projectM_home, "r"))) { + fprintf(stderr, "created ~/.projectM/config.inp successfully\n"); + fclose(in); + return std::string(projectM_home); + } + + fprintf(stderr, "This shouldn't happen, using implementation defaults\n"); + abort(); + } + fprintf(stderr, "Cannot find projectM default config, using implementation defaults\n"); + abort(); + } + + fprintf(stderr, "Cannot create ~/.projectM/config.inp, using default config file\n"); + if ((in = fopen(projectM_config, "r"))) { + fprintf(stderr, "Successfully opened default config file\n"); + fclose(in); + return std::string(projectM_config); + } + + fprintf(stderr, "Using implementation defaults, your system is really messed up, I'm suprised we even got this far\n"); + return NULL; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/projectM.cpp -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/projectM.cpp
Changed
@@ -18,10 +18,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]={131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -60,7 +60,7 @@ #define TARGET_FPS 30. -static int copies=0; +static int copies = 0; static pthread_cond_t cond; static pthread_mutex_t cond_mutex; @@ -93,9 +93,9 @@ static _sdata *statsd; -static int maxwidth,maxheight; +static int maxwidth, maxheight; -static int inited=0; +static int inited = 0; static void winhide() { SDL_SysWMinfo info; @@ -103,32 +103,30 @@ Atom atoms[2]; SDL_VERSION(&info.version); if (SDL_GetWMInfo(&info)) { - Window win=info.info.x11.wmwindow; - Display *dpy=info.info.x11.display; + Window win = info.info.x11.wmwindow; + Display *dpy = info.info.x11.display; info.info.x11.lock_func(); - - atoms[0] = XInternAtom (dpy, "_NET_WM_STATE_BELOW", False); - atoms[1] = XInternAtom (dpy, "_NET_WM_STATE_DESKTOP", False); - XChangeProperty (dpy, win, XInternAtom (dpy,"_NET_WM_STATE",False),XA_ATOM,32,PropModeReplace, (const unsigned char *) &atoms, 2); - XIconifyWindow(dpy,win,0); + atoms[0] = XInternAtom(dpy, "_NET_WM_STATE_BELOW", False); + atoms[1] = XInternAtom(dpy, "_NET_WM_STATE_DESKTOP", False); + XChangeProperty(dpy, win, XInternAtom(dpy, "_NET_WM_STATE", False), XA_ATOM, 32, PropModeReplace, (const unsigned char *) &atoms, 2); + + XIconifyWindow(dpy, win, 0); XFlush(dpy); info.info.x11.unlock_func(); } - - } static int resize_display(int width, int height) { - int flags = SDL_OPENGL|SDL_HWSURFACE|SDL_RESIZABLE; + int flags = SDL_OPENGL | SDL_HWSURFACE | SDL_RESIZABLE; // 0 : use current bits per pixel - if(!SDL_SetVideoMode(width, height, 0, flags)) { - fprintf(stderr, "Video mode set failed: %s\n", SDL_GetError()); - return 1; + if (!SDL_SetVideoMode(width, height, 0, flags)) { + fprintf(stderr, "Video mode set failed: %s\n", SDL_GetError()); + return 1; } winhide(); @@ -139,24 +137,24 @@ static int change_size(_sdata *sdata) { int ret; - sdata->globalPM->projectM_resetGL(sdata->width,sdata->height); - if (sdata->fbuffer!=NULL) weed_free(sdata->fbuffer); - ret=resize_display(sdata->width,sdata->height); - sdata->fbuffer = (GLubyte *)weed_malloc( sizeof( GLubyte ) * sdata->width * sdata->height * 3 ); + sdata->globalPM->projectM_resetGL(sdata->width, sdata->height); + if (sdata->fbuffer != NULL) weed_free(sdata->fbuffer); + ret = resize_display(sdata->width, sdata->height); + sdata->fbuffer = (GLubyte *)weed_malloc(sizeof(GLubyte) * sdata->width * sdata->height * 3); return ret; } static int init_display(_sdata *sd) { - const SDL_VideoInfo* info; + const SDL_VideoInfo *info; - int defwidth=sd->width; - int defheight=sd->height; + int defwidth = sd->width; + int defheight = sd->height; /* First, initialize SDL's video subsystem. */ if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER) < 0) { fprintf(stderr, "Video initialization failed: %s\n", - SDL_GetError()); + SDL_GetError()); return 1; } @@ -165,8 +163,8 @@ if (!info) { /* This should probably never happen. */ fprintf(stderr, "Video query failed: %s\n", - SDL_GetError()); - + SDL_GetError()); + return 2; } @@ -174,14 +172,14 @@ maxwidth = info->current_w; maxheight = info->current_h; - if (defwidth>maxwidth) defwidth=maxwidth; - if (defheight>maxheight) defheight=maxheight; + if (defwidth > maxwidth) defwidth = maxwidth; + if (defheight > maxheight) defheight = maxheight; SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16); SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, USE_DBLBUF); - - if (resize_display(defwidth,defheight)) return 3; + + if (resize_display(defwidth, defheight)) return 3; //if (change_size(sd)) return 4; @@ -253,8 +251,8 @@ //pthread_cond_signal(&cond); //pthread_mutex_unlock(&cond_mutex); - if (inited&&statsd!=NULL) { - statsd->die=true; + if (inited && statsd != NULL) { + statsd->die = true; } } @@ -266,27 +264,27 @@ ConfigFile config(config_filename); projectM::Settings settings; - bool rerand=true; + bool rerand = true; - _sdata *sd=(_sdata *)data; + _sdata *sd = (_sdata *)data; - register int i=0; + register int i = 0; if (init_display(sd)) { //sd->worker_ready=true; - sd->failed=true; + sd->failed = true; // tell main thread we are ready pthread_mutex_lock(&cond_mutex); pthread_cond_signal(&cond); pthread_mutex_lock(&cond_mutex); - + goto fail; } atexit(do_exit); - + // can fail here sd->globalPM = new projectM(config_filename); @@ -294,81 +292,78 @@ sd->textureHandle = sd->globalPM->initRenderToTexture(); - sd->nprs=sd->globalPM->getPlaylistSize()+1; + sd->nprs = sd->globalPM->getPlaylistSize() + 1; - sd->prnames=(volatile char **)weed_malloc(sd->nprs*sizeof(char *)); + sd->prnames = (volatile char **)weed_malloc(sd->nprs * sizeof(char *)); - sd->prnames[0]=(volatile char *)"- Random -"; + sd->prnames[0] = (volatile char *)"- Random -"; - for (i=1;i<sd->nprs;i++) { - sd->prnames[i]=const_cast<volatile char *>((sd->globalPM->getPresetName(i-1)).c_str()); + for (i = 1; i < sd->nprs; i++) { + sd->prnames[i] = const_cast<volatile char *>((sd->globalPM->getPresetName(i - 1)).c_str()); }; // tell main thread we are ready pthread_mutex_lock(&cond_mutex); pthread_cond_signal(&cond); pthread_mutex_unlock(&cond_mutex); - - sd->worker_ready=true; + + sd->worker_ready = true; while (!sd->die) { if (!sd->rendering) { usleep(10000); - rerand=true; + rerand = true; continue; } - if (sd->pidx==-1) { + if (sd->pidx == -1) { if (rerand) sd->globalPM->selectRandom(true); - rerand=false; - } - else if (sd->pidx!=sd->opidx) { + rerand = false; + } else if (sd->pidx != sd->opidx) { sd->globalPM->setPresetLock(true); sd->globalPM->selectPreset(sd->pidx); } - sd->opidx=sd->pidx; + sd->opidx = sd->pidx; pthread_mutex_lock(&sd->pcm_mutex); - if (sd->audio_frames>0) { + if (sd->audio_frames > 0) { // sd->audio should contain data for 1 channel only - sd->globalPM->pcm()->addPCMfloat(sd->audio,sd->audio_frames); - sd->audio_frames=0; + sd->globalPM->pcm()->addPCMfloat(sd->audio, sd->audio_frames); + sd->audio_frames = 0; weed_free(sd->audio); - sd->audio=NULL; + sd->audio = NULL; } pthread_mutex_unlock(&sd->pcm_mutex); pthread_mutex_lock(&sd->mutex); if (sd->update_size) { change_size(sd); - sd->update_size=false; + sd->update_size = false; } pthread_mutex_unlock(&sd->mutex); - settings.fps=sd->fps; + settings.fps = sd->fps; render_frame(sd); } - if (sd->globalPM!=NULL) delete(sd->globalPM); + if (sd->globalPM != NULL) delete(sd->globalPM); - - fail: + +fail: SDL_Quit(); return NULL; - } -static int projectM_deinit (weed_plant_t *inst) { +static int projectM_deinit(weed_plant_t *inst) { int error; - _sdata *sd=(_sdata *)weed_get_voidptr_value(inst,"plugin_internal",&error); - + _sdata *sd = (_sdata *)weed_get_voidptr_value(inst, "plugin_internal", &error); copies--; - if (sd!=NULL) { - sd->rendering=false; + if (sd != NULL) { + sd->rendering = false; } return WEED_NO_ERROR; @@ -376,205 +371,200 @@ -static int projectM_init (weed_plant_t *inst) { +static int projectM_init(weed_plant_t *inst) { _sdata *sd; int error; - - if (copies==1) return WEED_ERROR_TOO_MANY_INSTANCES; + + if (copies == 1) return WEED_ERROR_TOO_MANY_INSTANCES; copies++; if (!inited) { int rc; struct timeval tv; - weed_plant_t *out_channel=weed_get_plantptr_value(inst,"out_channels",&error); - weed_plant_t *iparam=weed_get_plantptr_value(inst,"in_parameters",&error); - weed_plant_t *itmpl=weed_get_plantptr_value(iparam,"template",&error); - weed_plant_t *iparamgui=weed_get_plantptr_value(itmpl,"gui",&error); + weed_plant_t *out_channel = weed_get_plantptr_value(inst, "out_channels", &error); + weed_plant_t *iparam = weed_get_plantptr_value(inst, "in_parameters", &error); + weed_plant_t *itmpl = weed_get_plantptr_value(iparam, "template", &error); + weed_plant_t *iparamgui = weed_get_plantptr_value(itmpl, "gui", &error); - int width=weed_get_int_value(out_channel,"width",&error); - int height=weed_get_int_value(out_channel,"height",&error); + int width = weed_get_int_value(out_channel, "width", &error); + int height = weed_get_int_value(out_channel, "height", &error); //int palette=weed_get_int_value(out_channel,"current_palette",&error); - sd=(_sdata *)weed_malloc(sizeof(_sdata)); - if (sd==NULL) return WEED_ERROR_MEMORY_ALLOCATION; + sd = (_sdata *)weed_malloc(sizeof(_sdata)); + if (sd == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - sd->fbuffer = (GLubyte *)weed_malloc( sizeof( GLubyte ) * width * height * 3 ); + sd->fbuffer = (GLubyte *)weed_malloc(sizeof(GLubyte) * width * height * 3); - if (sd->fbuffer==NULL) { + if (sd->fbuffer == NULL) { weed_free(sd); return WEED_ERROR_MEMORY_ALLOCATION; } - weed_set_voidptr_value(inst,"plugin_internal",sd); + weed_set_voidptr_value(inst, "plugin_internal", sd); + + sd->pidx = sd->opidx = -1; - sd->pidx=sd->opidx=-1; + sd->fps = TARGET_FPS; + if (weed_plant_has_leaf(inst, "fps")) sd->fps = weed_get_double_value(inst, "fps", &error); - sd->fps=TARGET_FPS; - if (weed_plant_has_leaf(inst,"fps")) sd->fps=weed_get_double_value(inst,"fps",&error); + sd->width = width; + sd->height = height; - sd->width=width; - sd->height=height; - - sd->die=false; - sd->failed=false; - sd->update_size=false; + sd->die = false; + sd->failed = false; + sd->update_size = false; - sd->audio=NULL; - sd->audio_frames=0; + sd->audio = NULL; + sd->audio_frames = 0; - pthread_mutex_init(&sd->mutex,NULL); - pthread_mutex_init(&sd->pcm_mutex,NULL); + pthread_mutex_init(&sd->mutex, NULL); + pthread_mutex_init(&sd->pcm_mutex, NULL); - sd->nprs=0; - sd->prnames=NULL; - sd->worker_ready=false; + sd->nprs = 0; + sd->prnames = NULL; + sd->worker_ready = false; + + pthread_mutex_init(&cond_mutex, NULL); + pthread_cond_init(&cond, NULL); - pthread_mutex_init(&cond_mutex,NULL); - pthread_cond_init(&cond,NULL); - // kick off a thread to init screean and render - pthread_create(&sd->thread,NULL,worker,sd); + pthread_create(&sd->thread, NULL, worker, sd); + + gettimeofday(&tv, NULL); + ts.tv_sec = tv.tv_sec + 30; - gettimeofday(&tv,NULL); - ts.tv_sec = tv.tv_sec+30; - pthread_mutex_lock(&cond_mutex); rc = pthread_cond_timedwait(&cond, &cond_mutex, &ts); pthread_mutex_unlock(&cond_mutex); - - if (rc==ETIMEDOUT||!sd->worker_ready) { + + if (rc == ETIMEDOUT || !sd->worker_ready) { // if we timedout then die projectM_deinit(inst); return WEED_ERROR_INIT_ERROR; } - inited=1; + inited = 1; + + weed_set_string_array(iparamgui, "choices", sd->nprs, (char **)sd->prnames); + } else sd = statsd; - weed_set_string_array(iparamgui,"choices",sd->nprs,(char **)sd->prnames); - } - else sd=statsd; - sd->nprs--; - sd->rendering=true; + sd->rendering = true; statsd = sd; - - weed_set_voidptr_value(inst,"plugin_internal",sd); - - return WEED_NO_ERROR; + weed_set_voidptr_value(inst, "plugin_internal", sd); + return WEED_NO_ERROR; } -static int projectM_process (weed_plant_t *inst, weed_timecode_t timestamp) { +static int projectM_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - _sdata *sd=(_sdata *)weed_get_voidptr_value(inst,"plugin_internal",&error); + _sdata *sd = (_sdata *)weed_get_voidptr_value(inst, "plugin_internal", &error); - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error); - weed_plant_t *out_channel=weed_get_plantptr_value(inst,"out_channels",&error); - weed_plant_t *inparam=weed_get_plantptr_value(inst,"in_parameters",&error); - unsigned char *dst=(unsigned char *)weed_get_voidptr_value(out_channel,"pixel_data",&error); + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error); + weed_plant_t *out_channel = weed_get_plantptr_value(inst, "out_channels", &error); + weed_plant_t *inparam = weed_get_plantptr_value(inst, "in_parameters", &error); + unsigned char *dst = (unsigned char *)weed_get_voidptr_value(out_channel, "pixel_data", &error); - unsigned char *ptrd,*ptrs; + unsigned char *ptrd, *ptrs; - int width=weed_get_int_value(out_channel,"width",&error); - int height=weed_get_int_value(out_channel,"height",&error); + int width = weed_get_int_value(out_channel, "width", &error); + int height = weed_get_int_value(out_channel, "height", &error); //int palette=weed_get_int_value(out_channel,"current_palette",&error); - int rowstride=weed_get_int_value(out_channel,"rowstrides",&error); + int rowstride = weed_get_int_value(out_channel, "rowstrides", &error); - int widthx=width*3; + int widthx = width * 3; register int j; - if (sd==NULL||sd->failed) return WEED_ERROR_PLUGIN_INVALID; + if (sd == NULL || sd->failed) return WEED_ERROR_PLUGIN_INVALID; - if (sd->width!=width||sd->height!=height) { - sd->width=width; - sd->height=height; - if (sd->width>maxwidth) sd->width=maxwidth; - if (sd->height>maxheight) sd->height=maxheight; - sd->update_size=true; + if (sd->width != width || sd->height != height) { + sd->width = width; + sd->height = height; + if (sd->width > maxwidth) sd->width = maxwidth; + if (sd->height > maxheight) sd->height = maxheight; + sd->update_size = true; } - if (sd->update_size||sd->fbuffer==NULL) return WEED_NO_ERROR; + if (sd->update_size || sd->fbuffer == NULL) return WEED_NO_ERROR; // ex. nprs = 10, we have 10 programs 0 - 9 and -1 is random // 0 - 10, we just subtract 1 // else (val - 1) % nprs .e.g 11 - 1 = 10, 10 % 10 = 0 - sd->pidx=weed_get_int_value(inparam,"value",&error); + sd->pidx = weed_get_int_value(inparam, "value", &error); - if (sd->pidx<=sd->nprs) sd->pidx--; - else sd->pidx=(sd->pidx-1) % sd->nprs; + if (sd->pidx <= sd->nprs) sd->pidx--; + else sd->pidx = (sd->pidx - 1) % sd->nprs; if (0) { projectMEvent evt; projectMKeycode key; projectMModifier mod; - evt=PROJECTM_KEYDOWN; + evt = PROJECTM_KEYDOWN; //mod=PROJECTM_KMOD_LSHIFT; - key=PROJECTM_K_n; + key = PROJECTM_K_n; // send any keystrokes to projectM sd->globalPM->key_handler(evt, key, mod); } - if (weed_plant_has_leaf(inst,"fps")) sd->fps=weed_get_double_value(inst,"fps",&error); + if (weed_plant_has_leaf(inst, "fps")) sd->fps = weed_get_double_value(inst, "fps", &error); - if (in_channel!=NULL) { - int adlen=weed_get_int_value(in_channel,"audio_data_length",&error); - float *adata=(float *)weed_get_voidptr_value(in_channel,"audio_data",&error); - if (adlen>0&&adata!=NULL) { + if (in_channel != NULL) { + int adlen = weed_get_int_value(in_channel, "audio_data_length", &error); + float *adata = (float *)weed_get_voidptr_value(in_channel, "audio_data", &error); + if (adlen > 0 && adata != NULL) { float *aud_data; - int ainter=weed_get_boolean_value(in_channel,"audio_interleaf",&error); + int ainter = weed_get_boolean_value(in_channel, "audio_interleaf", &error); pthread_mutex_lock(&sd->pcm_mutex); - aud_data=(float *)weed_malloc((adlen+sd->audio_frames)*sizeof(float)); - if (sd->audio!=NULL) { - weed_memcpy(aud_data,sd->audio,sd->audio_frames*sizeof(float)); - weed_free(sd->audio); - } - if (ainter==WEED_FALSE) { - weed_memcpy(aud_data+sd->audio_frames,adata,adlen*sizeof(float)); + aud_data = (float *)weed_malloc((adlen + sd->audio_frames) * sizeof(float)); + if (sd->audio != NULL) { + weed_memcpy(aud_data, sd->audio, sd->audio_frames * sizeof(float)); + weed_free(sd->audio); } - else { - int achans=weed_get_int_value(in_channel,"audio_channels",&error); - for (j=0;j<adlen;j++) { - weed_memcpy(aud_data+sd->audio_frames+j,adata,sizeof(float)); - adata+=achans; - } + if (ainter == WEED_FALSE) { + weed_memcpy(aud_data + sd->audio_frames, adata, adlen * sizeof(float)); + } else { + int achans = weed_get_int_value(in_channel, "audio_channels", &error); + for (j = 0; j < adlen; j++) { + weed_memcpy(aud_data + sd->audio_frames + j, adata, sizeof(float)); + adata += achans; + } } - sd->audio_frames+=adlen; - sd->audio=aud_data; + sd->audio_frames += adlen; + sd->audio = aud_data; pthread_mutex_unlock(&sd->pcm_mutex); } } //if (palette==WEED_PALETTE_RGBA32) widthx=width*4; - ptrd=dst; - ptrs=sd->fbuffer; + ptrd = dst; + ptrs = sd->fbuffer; pthread_mutex_lock(&sd->mutex); // copy sd->fbuffer -> dst - if (rowstride==widthx&&width==sd->width&&height==sd->height) { - weed_memcpy(ptrd,ptrs,widthx*height); - } - else { - for (j=0;j<sd->height;j++) { - weed_memcpy(ptrd,ptrs,widthx); - ptrd+=rowstride; - ptrs+=sd->width*3; + if (rowstride == widthx && width == sd->width && height == sd->height) { + weed_memcpy(ptrd, ptrs, widthx * height); + } else { + for (j = 0; j < sd->height; j++) { + weed_memcpy(ptrd, ptrs, widthx); + ptrd += rowstride; + ptrs += sd->width * 3; } } @@ -585,42 +575,40 @@ -weed_plant_t *weed_setup (weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - - int palette_list[]={WEED_PALETTE_RGB24,WEED_PALETTE_END}; +weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_RGB24, WEED_PALETTE_END}; - const char *xlist[3]={"- Random -","Choose...",NULL}; + const char *xlist[3] = {"- Random -", "Choose...", NULL}; - weed_plant_t *in_params[]={weed_string_list_init("preset","_Preset",0,xlist),NULL}; + weed_plant_t *in_params[] = {weed_string_list_init("preset", "_Preset", 0, xlist), NULL}; - weed_plant_t *in_chantmpls[]={weed_audio_channel_template_init("In audio",0),NULL}; + weed_plant_t *in_chantmpls[] = {weed_audio_channel_template_init("In audio", 0), NULL}; - weed_plant_t *out_chantmpls[]={weed_channel_template_init("out channel 0",WEED_CHANNEL_REINIT_ON_SIZE_CHANGE| - WEED_CHANNEL_REINIT_ON_PALETTE_CHANGE,palette_list),NULL}; - weed_plant_t *filter_class=weed_filter_class_init("projectM","salsaman/projectM authors",1,0,&projectM_init, - &projectM_process,&projectM_deinit,in_chantmpls,out_chantmpls,in_params,NULL); + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", WEED_CHANNEL_REINIT_ON_SIZE_CHANGE | + WEED_CHANNEL_REINIT_ON_PALETTE_CHANGE, palette_list), NULL + }; + weed_plant_t *filter_class = weed_filter_class_init("projectM", "salsaman/projectM authors", 1, 0, &projectM_init, + &projectM_process, &projectM_deinit, in_chantmpls, out_chantmpls, in_params, NULL); //weed_set_int_value(in_params[0],"flags",WEED_PARAMETER_REINIT_ON_VALUE_CHANGE); - weed_set_int_value(in_params[0],"max",INT_MAX); + weed_set_int_value(in_params[0], "max", INT_MAX); - weed_set_int_value(in_chantmpls[0],"audio_channels",1); - weed_set_boolean_value(in_chantmpls[0],"audio_interleaf",WEED_TRUE); - weed_set_boolean_value(in_chantmpls[0],"optional",WEED_TRUE); + weed_set_int_value(in_chantmpls[0], "audio_channels", 1); + weed_set_boolean_value(in_chantmpls[0], "audio_interleaf", WEED_TRUE); + weed_set_boolean_value(in_chantmpls[0], "optional", WEED_TRUE); - weed_set_double_value(filter_class,"target_fps",TARGET_FPS); // set reasonable default fps - - weed_plugin_info_add_filter_class (plugin_info,filter_class); - - weed_set_int_value(plugin_info,"version",package_version); + weed_set_double_value(filter_class, "target_fps", TARGET_FPS); // set reasonable default fps + weed_plugin_info_add_filter_class(plugin_info, filter_class); + weed_set_int_value(plugin_info, "version", package_version); } - statsd=NULL; - + statsd = NULL; + return plugin_info; } @@ -629,18 +617,18 @@ void weed_desetup(void) { std::cout << "ProjectM EXITING3" << std::endl; - if (inited&&statsd!=NULL) { - statsd->die=true; - pthread_join(statsd->thread,NULL); - if (statsd->fbuffer!=NULL) weed_free(statsd->fbuffer); - if (statsd->audio!=NULL) weed_free(statsd->audio); - if (statsd->prnames!=NULL) weed_free(statsd->prnames); + if (inited && statsd != NULL) { + statsd->die = true; + pthread_join(statsd->thread, NULL); + if (statsd->fbuffer != NULL) weed_free(statsd->fbuffer); + if (statsd->audio != NULL) weed_free(statsd->audio); + if (statsd->prnames != NULL) weed_free(statsd->prnames); pthread_mutex_destroy(&statsd->mutex); pthread_mutex_destroy(&statsd->pcm_mutex); pthread_mutex_destroy(&cond_mutex); pthread_cond_destroy(&cond); weed_free(statsd); - statsd=NULL; + statsd = NULL; } std::cout << "ProjectM EXITING4" << std::endl; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/randomiser.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/randomiser.c
Changed
@@ -22,10 +22,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=1; // number of different weed api versions supported -static int api_versions[]= {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 1; // number of different weed api versions supported +static int api_versions[] = {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -51,47 +51,47 @@ static double drand(double max) { - double denom=(double)(2ul<<30)/max; - double num=(double)lrand48(); - return (double)(num/denom); + double denom = (double)(2ul << 30) / max; + double num = (double)lrand48(); + return (double)(num / denom); } static void seed_rand(void) { struct timeval tv; - gettimeofday(&tv,NULL); + gettimeofday(&tv, NULL); srand48(tv.tv_sec); } static double getrand(double min, double max) { - return min+(min==max?0.:drand(max-min)); + return min + (min == max ? 0. : drand(max - min)); } int randomiser_init(weed_plant_t *inst) { int error; - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); - weed_plant_t **out_params=weed_get_plantptr_array(inst,"out_parameters",&error); + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); + weed_plant_t **out_params = weed_get_plantptr_array(inst, "out_parameters", &error); - _sdata *sdata=(_sdata *)weed_malloc(sizeof(_sdata)); + _sdata *sdata = (_sdata *)weed_malloc(sizeof(_sdata)); - double nrand,min,max; + double nrand, min, max; register int i; - if (sdata==NULL) return WEED_ERROR_MEMORY_ALLOCATION; + if (sdata == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - for (i=0; i<NVALS; i++) { - sdata->vals[i]=weed_get_boolean_value(in_params[i],"value",&error); + for (i = 0; i < NVALS; i++) { + sdata->vals[i] = weed_get_boolean_value(in_params[i], "value", &error); - min=weed_get_double_value(in_params[NVALS+i*4],"value",&error); - max=weed_get_double_value(in_params[NVALS+i*4+1],"value",&error); - nrand=min+(max-min)/2.; - weed_set_double_value(out_params[i],"value",nrand); + min = weed_get_double_value(in_params[NVALS + i * 4], "value", &error); + max = weed_get_double_value(in_params[NVALS + i * 4 + 1], "value", &error); + nrand = min + (max - min) / 2.; + weed_set_double_value(out_params[i], "value", nrand); } - weed_set_voidptr_value(inst,"plugin_internal",sdata); + weed_set_voidptr_value(inst, "plugin_internal", sdata); return WEED_NO_ERROR; @@ -100,9 +100,9 @@ int randomiser_deinit(weed_plant_t *inst) { int error; - _sdata *sdata=(_sdata *)weed_get_voidptr_value(inst,"plugin_internal",&error); + _sdata *sdata = (_sdata *)weed_get_voidptr_value(inst, "plugin_internal", &error); - if (sdata!=NULL) { + if (sdata != NULL) { weed_free(sdata); } return WEED_NO_ERROR; @@ -112,30 +112,30 @@ int randomiser_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); - weed_plant_t **out_params=weed_get_plantptr_array(inst,"out_parameters",&error); + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); + weed_plant_t **out_params = weed_get_plantptr_array(inst, "out_parameters", &error); - _sdata *sdata=(_sdata *)weed_get_voidptr_value(inst,"plugin_internal",&error); + _sdata *sdata = (_sdata *)weed_get_voidptr_value(inst, "plugin_internal", &error); - double nrand,min,max; + double nrand, min, max; - int iv,trigt,trigf; + int iv, trigt, trigf; register int i; - for (i=0; i<NVALS; i++) { - iv=weed_get_boolean_value(in_params[i],"value",&error); - - if (iv!=sdata->vals[i]) { - trigt=weed_get_boolean_value(in_params[NVALS+i*4+2],"value",&error); - trigf=weed_get_boolean_value(in_params[NVALS+i*4+3],"value",&error); - if ((iv==WEED_TRUE&&trigt==WEED_TRUE) || (iv==WEED_FALSE&&trigf==WEED_FALSE)) { - min=weed_get_double_value(in_params[NVALS+i*4],"value",&error); - max=weed_get_double_value(in_params[NVALS+i*4+1],"value",&error); - nrand=getrand(min,max); - weed_set_double_value(out_params[i],"value",nrand); + for (i = 0; i < NVALS; i++) { + iv = weed_get_boolean_value(in_params[i], "value", &error); + + if (iv != sdata->vals[i]) { + trigt = weed_get_boolean_value(in_params[NVALS + i * 4 + 2], "value", &error); + trigf = weed_get_boolean_value(in_params[NVALS + i * 4 + 3], "value", &error); + if ((iv == WEED_TRUE && trigt == WEED_TRUE) || (iv == WEED_FALSE && trigf == WEED_FALSE)) { + min = weed_get_double_value(in_params[NVALS + i * 4], "value", &error); + max = weed_get_double_value(in_params[NVALS + i * 4 + 1], "value", &error); + nrand = getrand(min, max); + weed_set_double_value(out_params[i], "value", nrand); } - sdata->vals[i]=iv; + sdata->vals[i] = iv; } } @@ -147,64 +147,64 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); - if (plugin_info!=NULL) { - weed_plant_t *filter_class,*gui; + if (plugin_info != NULL) { + weed_plant_t *filter_class, *gui; - weed_plant_t *in_params[NVALS*5+1]; - weed_plant_t *out_params[NVALS+1]; + weed_plant_t *in_params[NVALS * 5 + 1]; + weed_plant_t *out_params[NVALS + 1]; - int count=0; + int count = 0; register int i; char name[256]; char label[256]; - for (i=0; i<NVALS; i++) { - snprintf(name,256,"input%03d",i); - snprintf(label,256,"Trigger %03d",i); - in_params[i]=weed_switch_init(name,label,WEED_FALSE); - gui=weed_parameter_template_get_gui(in_params[i]); - weed_set_boolean_value(gui,"hidden",WEED_TRUE); - snprintf(name,256,"Output %03d",i); - out_params[i]=weed_out_param_float_init_nominmax(name,0.); + for (i = 0; i < NVALS; i++) { + snprintf(name, 256, "input%03d", i); + snprintf(label, 256, "Trigger %03d", i); + in_params[i] = weed_switch_init(name, label, WEED_FALSE); + gui = weed_parameter_template_get_gui(in_params[i]); + weed_set_boolean_value(gui, "hidden", WEED_TRUE); + snprintf(name, 256, "Output %03d", i); + out_params[i] = weed_out_param_float_init_nominmax(name, 0.); } - out_params[i]=NULL; + out_params[i] = NULL; - for (i=NVALS; i<NVALS*5; i+=4) { - snprintf(name,256,"min%03d",i); - snprintf(label,256,"Min value for output %03d",count); - in_params[i]=weed_float_init(name,label,0.,-1000000.,1000000.); + for (i = NVALS; i < NVALS * 5; i += 4) { + snprintf(name, 256, "min%03d", i); + snprintf(label, 256, "Min value for output %03d", count); + in_params[i] = weed_float_init(name, label, 0., -1000000., 1000000.); - snprintf(name,256,"max%03d",i); - snprintf(label,256,"Max value for output %03d",count); - in_params[i+1]=weed_float_init(name,label,1.,-1000000.,1000000.); + snprintf(name, 256, "max%03d", i); + snprintf(label, 256, "Max value for output %03d", count); + in_params[i + 1] = weed_float_init(name, label, 1., -1000000., 1000000.); - snprintf(name,256,"trigt%03d",i); - snprintf(label,256,"Trigger FALSE->TRUE"); - in_params[i+2]=weed_switch_init(name,label,WEED_TRUE); + snprintf(name, 256, "trigt%03d", i); + snprintf(label, 256, "Trigger FALSE->TRUE"); + in_params[i + 2] = weed_switch_init(name, label, WEED_TRUE); - snprintf(name,256,"trigf%03d",i); - snprintf(label,256,"Trigger TRUE->FALSE"); - in_params[i+3]=weed_switch_init(name,label,WEED_FALSE); + snprintf(name, 256, "trigf%03d", i); + snprintf(label, 256, "Trigger TRUE->FALSE"); + in_params[i + 3] = weed_switch_init(name, label, WEED_FALSE); count++; } - in_params[i]=NULL; + in_params[i] = NULL; - filter_class=weed_filter_class_init("randomiser","salsaman",1,0,&randomiser_init,&randomiser_process, - &randomiser_deinit,NULL,NULL,in_params,out_params); + filter_class = weed_filter_class_init("randomiser", "salsaman", 1, 0, &randomiser_init, &randomiser_process, + &randomiser_deinit, NULL, NULL, in_params, out_params); - weed_set_string_value(filter_class,"description","Generate a random double when input changes state"); + weed_set_string_value(filter_class, "description", "Generate a random double when input changes state"); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/revTV.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/revTV.c
Changed
@@ -23,10 +23,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -42,8 +42,8 @@ ///////////////////////////////////////////////////////////// int revtv_process(weed_plant_t *inst, weed_timecode_t timecode) { - weed_plant_t *in_channel,*out_channel,**in_params; - unsigned char *src,*dest; + weed_plant_t *in_channel, *out_channel, **in_params; + unsigned char *src, *dest; short val; @@ -51,63 +51,63 @@ int offset; - int width,height,irow,orow,pal; + int width, height, irow, orow, pal; int error; - int red=0,green=1,blue=2; - int psize=4; + int red = 0, green = 1, blue = 2; + int psize = 4; int linespace; double vscale; register int x, y; - in_channel=weed_get_plantptr_value(inst,"in_channels",&error); - out_channel=weed_get_plantptr_value(inst,"out_channels",&error); + in_channel = weed_get_plantptr_value(inst, "in_channels", &error); + out_channel = weed_get_plantptr_value(inst, "out_channels", &error); - src=(unsigned char *)weed_get_voidptr_value(in_channel,"pixel_data",&error); - dest=(unsigned char *)weed_get_voidptr_value(out_channel,"pixel_data",&error); + src = (unsigned char *)weed_get_voidptr_value(in_channel, "pixel_data", &error); + dest = (unsigned char *)weed_get_voidptr_value(out_channel, "pixel_data", &error); - width = weed_get_int_value(in_channel,"width",&error); - height = weed_get_int_value(in_channel,"height",&error); + width = weed_get_int_value(in_channel, "width", &error); + height = weed_get_int_value(in_channel, "height", &error); - pal = weed_get_int_value(in_channel,"current_palette",&error); + pal = weed_get_int_value(in_channel, "current_palette", &error); - irow = weed_get_int_value(in_channel,"rowstrides",&error); - orow = weed_get_int_value(out_channel,"rowstrides",&error); + irow = weed_get_int_value(in_channel, "rowstrides", &error); + orow = weed_get_int_value(out_channel, "rowstrides", &error); - in_params=weed_get_plantptr_array(inst,"in_parameters",&error); - linespace=weed_get_int_value(in_params[0],"value",&error); - vscale=weed_get_double_value(in_params[1],"value",&error); - vscale=vscale*vscale/200.; + in_params = weed_get_plantptr_array(inst, "in_parameters", &error); + linespace = weed_get_int_value(in_params[0], "value", &error); + vscale = weed_get_double_value(in_params[1], "value", &error); + vscale = vscale * vscale / 200.; weed_free(in_params); - if (pal==WEED_PALETTE_BGR24||pal==WEED_PALETTE_BGRA32) { - red=2; - blue=0; - } else if (pal==WEED_PALETTE_ARGB32) { - red=1; - green=2; - blue=3; + if (pal == WEED_PALETTE_BGR24 || pal == WEED_PALETTE_BGRA32) { + red = 2; + blue = 0; + } else if (pal == WEED_PALETTE_ARGB32) { + red = 1; + green = 2; + blue = 3; } - if (pal==WEED_PALETTE_BGR24||pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_YUV888) { - psize=3; + if (pal == WEED_PALETTE_BGR24 || pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_YUV888) { + psize = 3; } - width*=psize; + width *= psize; - irow*=linespace; + irow *= linespace; - for (y=0; y<height; y+=linespace) { - for (x=0; x<width; x+=psize) { - if (pal==WEED_PALETTE_YUV888||pal==WEED_PALETTE_YUVA8888) val=src[0]*7; - else val=(short)((src[red]<<1)+(src[green]<<2)+src[blue]); - yval=y-val*vscale; - if ((offset=yval*orow+x)>=0) weed_memcpy(&dest[offset],src,psize); - src+=psize; + for (y = 0; y < height; y += linespace) { + for (x = 0; x < width; x += psize) { + if (pal == WEED_PALETTE_YUV888 || pal == WEED_PALETTE_YUVA8888) val = src[0] * 7; + else val = (short)((src[red] << 1) + (src[green] << 2) + src[blue]); + yval = y - val * vscale; + if ((offset = yval * orow + x) >= 0) weed_memcpy(&dest[offset], src, psize); + src += psize; } - src+=irow-width; + src += irow - width; } return WEED_NO_ERROR; @@ -120,20 +120,21 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_RGBA32,WEED_PALETTE_BGRA32,WEED_PALETTE_RGB24,WEED_PALETTE_BGR24,WEED_PALETTE_ARGB32,WEED_PALETTE_YUV888,WEED_PALETTE_YUVA8888,WEED_PALETTE_END}; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_RGBA32, WEED_PALETTE_BGRA32, WEED_PALETTE_RGB24, WEED_PALETTE_BGR24, WEED_PALETTE_ARGB32, WEED_PALETTE_YUV888, WEED_PALETTE_YUVA8888, WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",0,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",0,palette_list),NULL}; - weed_plant_t *in_params[]= {weed_integer_init("lspace","_Line spacing",6,1,16),weed_float_init("vscale","_Vertical scale factor",2.,0.,4.),NULL}; + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", 0, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", 0, palette_list), NULL}; + weed_plant_t *in_params[] = {weed_integer_init("lspace", "_Line spacing", 6, 1, 16), weed_float_init("vscale", "_Vertical scale factor", 2., 0., 4.), NULL}; - weed_plant_t *filter_class=weed_filter_class_init("revTV","effectTV",1,0,NULL,&revtv_process,NULL,in_chantmpls,out_chantmpls,in_params, - NULL); + weed_plant_t *filter_class = weed_filter_class_init("revTV", "effectTV", 1, 0, NULL, &revtv_process, NULL, in_chantmpls, out_chantmpls, + in_params, + NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/rippleTV.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/rippleTV.c
Changed
@@ -28,10 +28,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -90,57 +90,57 @@ static void image_bgset_y(RGB32 *src, int width, int height, int rowstride, struct _sdata *sdata) { - register int i,j; + register int i, j; int R, G, B; RGB32 *p; short *q; - rowstride-=width; + rowstride -= width; p = src; q = sdata->background; - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - R = ((*p)&0xff0000)>>(16-1); - G = ((*p)&0xff00)>>(8-2); - B = (*p)&0xff; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + R = ((*p) & 0xff0000) >> (16 - 1); + G = ((*p) & 0xff00) >> (8 - 2); + B = (*p) & 0xff; *q = (short)(R + G + B); p++; q++; } - p+=rowstride; + p += rowstride; } } /* Background image is refreshed every frame */ static void image_bgsubtract_update_y(RGB32 *src, int width, int height, int rowstride, struct _sdata *sdata) { - register int i,j; + register int i, j; int R, G, B; RGB32 *p; short *q; unsigned char *r; int v; - rowstride-=width; + rowstride -= width; p = src; q = sdata->background; r = sdata->diff; - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - R = ((*p)&0xff0000)>>(16-1); - G = ((*p)&0xff00)>>(8-2); - B = (*p)&0xff; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + R = ((*p) & 0xff0000) >> (16 - 1); + G = ((*p) & 0xff00) >> (8 - 2); + B = (*p) & 0xff; v = (R + G + B) - (int)(*q); *q = (short)(R + G + B); - *r = ((v + sdata->threshold)>>24) | ((sdata->threshold - v)>>24); + *r = ((v + sdata->threshold) >> 24) | ((sdata->threshold - v) >> 24); p++; q++; r++; } - p+=rowstride; + p += rowstride; } } @@ -151,18 +151,18 @@ #define rand_a 1073741789L #define rand_c 32749L - return ((sdata->fastrand_val= (rand_a*sdata->fastrand_val + rand_c))); + return ((sdata->fastrand_val = (rand_a * sdata->fastrand_val + rand_c))); } static void setTable(void) { int i; - for (i=0; i<128; i++) { - sqrtable[i] = i*i; + for (i = 0; i < 128; i++) { + sqrtable[i] = i * i; } - for (i=1; i<=128; i++) { - sqrtable[256-i] = -i*i; + for (i = 1; i <= 128; i++) { + sqrtable[256 - i] = -i * i; } } @@ -184,33 +184,33 @@ weed_plant_t *in_channel; int error; - sdata=weed_malloc(sizeof(struct _sdata)); + sdata = weed_malloc(sizeof(struct _sdata)); if (sdata == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - in_channel=weed_get_plantptr_value(inst,"in_channels",&error); + in_channel = weed_get_plantptr_value(inst, "in_channels", &error); - map_h=weed_get_int_value(in_channel,"height",&error); - map_w=weed_get_int_value(in_channel,"width",&error); + map_h = weed_get_int_value(in_channel, "height", &error); + map_w = weed_get_int_value(in_channel, "width", &error); - sdata->map = (int *)weed_malloc(map_h*map_w*3*sizeof(int)); + sdata->map = (int *)weed_malloc(map_h * map_w * 3 * sizeof(int)); if (sdata->map == NULL) { weed_free(sdata); return WEED_ERROR_MEMORY_ALLOCATION; } - sdata->vtable = (signed char *)weed_malloc(map_h*map_w*2*sizeof(signed char)); + sdata->vtable = (signed char *)weed_malloc(map_h * map_w * 2 * sizeof(signed char)); if (sdata->vtable == NULL) { weed_free(sdata->map); weed_free(sdata); return WEED_ERROR_MEMORY_ALLOCATION; } - sdata->background = (short *)weed_malloc(map_h*map_w*sizeof(short)); + sdata->background = (short *)weed_malloc(map_h * map_w * sizeof(short)); if (sdata->background == NULL) { weed_free(sdata->vtable); weed_free(sdata->map); weed_free(sdata); return WEED_ERROR_MEMORY_ALLOCATION; } - sdata->diff = (unsigned char *)weed_malloc(map_h*map_w * 4 * sizeof(unsigned char)); + sdata->diff = (unsigned char *)weed_malloc(map_h * map_w * 4 * sizeof(unsigned char)); if (sdata->diff == NULL) { weed_free(sdata->background); weed_free(sdata->vtable); @@ -219,17 +219,17 @@ return WEED_ERROR_MEMORY_ALLOCATION; } - weed_memset(sdata->map, 0, map_h*map_w*3*sizeof(int)); - weed_memset(sdata->vtable, 0, map_h*map_w*2*sizeof(signed char)); - weed_memset(sdata->diff, 0, map_h*map_w*4*sizeof(unsigned char)); + weed_memset(sdata->map, 0, map_h * map_w * 3 * sizeof(int)); + weed_memset(sdata->vtable, 0, map_h * map_w * 2 * sizeof(signed char)); + weed_memset(sdata->diff, 0, map_h * map_w * 4 * sizeof(unsigned char)); sdata->map1 = sdata->map; - sdata->map2 = sdata->map + map_h*map_w; + sdata->map2 = sdata->map + map_h * map_w; sdata->map3 = sdata->map + map_w * map_h * 2; sdata->bgIsSet = 0; - sdata->threshold=MAGIC_THRESHOLD*7; - sdata->fastrand_val=0; + sdata->threshold = MAGIC_THRESHOLD * 7; + sdata->fastrand_val = 0; - weed_set_voidptr_value(inst,"plugin_internal",sdata); + weed_set_voidptr_value(inst, "plugin_internal", sdata); return WEED_NO_ERROR; } @@ -239,14 +239,14 @@ int error; struct _sdata *sdata; - sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); + sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); if (sdata != NULL) { weed_free(sdata->diff); weed_free(sdata->background); weed_free(sdata->vtable); weed_free(sdata->map); weed_free(sdata); - weed_set_voidptr_value(inst,"plugin_internal",NULL); + weed_set_voidptr_value(inst, "plugin_internal", NULL); } return WEED_NO_ERROR; } @@ -259,29 +259,29 @@ int h; if (!sdata->bgIsSet) { - setBackground(src,width,height,rowstride,sdata); + setBackground(src, width, height, rowstride, sdata); } - image_bgsubtract_update_y(src,width,height,rowstride,sdata); + image_bgsubtract_update_y(src, width, height, rowstride, sdata); diff = sdata->diff; - p = sdata->map1+width+1; - q = sdata->map2+width+1; - diff += width+2; - - for (y=height-2; y>0; y--) { - for (x=width-2; x>0; x--) { - h = (int)*diff + (int)*(diff+1) + (int)*(diff+width) + (int)*(diff+width+1); - if (h>0) { - *p = h<<(point + impact - 8); + p = sdata->map1 + width + 1; + q = sdata->map2 + width + 1; + diff += width + 2; + + for (y = height - 2; y > 0; y--) { + for (x = width - 2; x > 0; x--) { + h = (int) * diff + (int) * (diff + 1) + (int) * (diff + width) + (int) * (diff + width + 1); + if (h > 0) { + *p = h << (point + impact - 8); *q = *p; } p++; q++; diff += 2; } - diff += width+2; - p+=2; - q+=2; + diff += width + 2; + p += 2; + q += 2; } } @@ -291,16 +291,16 @@ int x, y; int *p, *q; - x = fastrand(sdata)%(width-4)+2; - y = fastrand(sdata)%(height-4)+2; - p = sdata->map1 + y*width + x; - q = sdata->map2 + y*width + x; + x = fastrand(sdata) % (width - 4) + 2; + y = fastrand(sdata) % (height - 4) + 2; + p = sdata->map1 + y * width + x; + q = sdata->map2 + y * width + x; *p = power; *q = power; - *(p-width) = *(p-1) = *(p+1) = *(p+width) = power/2; - *(p-width-1) = *(p-width+1) = *(p+width-1) = *(p+width+1) = power/4; - *(q-width) = *(q-1) = *(q+1) = *(q+width) = power/2; - *(q-width-1) = *(q-width+1) = *(q+width-1) = *(p+width+1) = power/4; + *(p - width) = *(p - 1) = *(p + 1) = *(p + width) = power / 2; + *(p - width - 1) = *(p - width + 1) = *(p + width - 1) = *(p + width + 1) = power / 4; + *(q - width) = *(q - 1) = *(q + 1) = *(q + width) = power / 2; + *(q - width - 1) = *(q - width + 1) = *(q + width - 1) = *(p + width + 1) = power / 4; } static void raindrop(int width, int height, struct _sdata *sdata) { @@ -310,11 +310,11 @@ if (period == 0) { switch (rain_stat) { case 0: - period = (fastrand(sdata)>>23)+100; + period = (fastrand(sdata) >> 23) + 100; drop_prob = 0; - drop_prob_increment = 0x00ffffff/period; - drop_power = (-(fastrand(sdata)>>28)-2)<<point; - drops_per_frame_max = 2<<(fastrand(sdata)>>30); // 2,4,8 or 16 + drop_prob_increment = 0x00ffffff / period; + drop_power = (-(fastrand(sdata) >> 28) - 2) << point; + drops_per_frame_max = 2 << (fastrand(sdata) >> 30); // 2,4,8 or 16 rain_stat = 1; break; case 1: @@ -325,7 +325,7 @@ rain_stat = 2; break; case 2: - period = (fastrand(sdata)>>22)+1000; + period = (fastrand(sdata) >> 22) + 1000; drop_prob_increment = 0; rain_stat = 3; break; @@ -335,13 +335,13 @@ rain_stat = 4; break; case 4: - period = (fastrand(sdata)>>24)+60; - drop_prob_increment = -(drop_prob/period); + period = (fastrand(sdata) >> 24) + 60; + drop_prob_increment = -(drop_prob / period); rain_stat = 5; break; case 5: default: - period = (fastrand(sdata)>>23)+500; + period = (fastrand(sdata) >> 23) + 500; drop_prob = 0; rain_stat = 0; break; @@ -353,16 +353,16 @@ break; case 1: case 5: - if ((fastrand(sdata)>>8)<drop_prob) { - drop(drop_power,width,height,sdata); + if ((fastrand(sdata) >> 8) < drop_prob) { + drop(drop_power, width, height, sdata); } drop_prob += drop_prob_increment; break; case 2: case 3: case 4: - for (i=drops_per_frame/16; i>0; i--) { - drop(drop_power,width,height,sdata); + for (i = drops_per_frame / 16; i > 0; i--) { + drop(drop_power, width, height, sdata); } drops_per_frame += drop_prob_increment; break; @@ -380,53 +380,53 @@ int *p, *q, *r; signed char *vp; struct _sdata *sdata; - RGB32 *src,*dest; + RGB32 *src, *dest; int mode; - weed_plant_t *in_channel,*out_channel,*in_param; + weed_plant_t *in_channel, *out_channel, *in_param; int error; - int irowstride,orowstride,orowstridex; + int irowstride, orowstride, orowstridex; - mode=0; + mode = 0; - sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); - in_channel=weed_get_plantptr_value(inst,"in_channels",&error); - out_channel=weed_get_plantptr_value(inst,"out_channels",&error); + sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); + in_channel = weed_get_plantptr_value(inst, "in_channels", &error); + out_channel = weed_get_plantptr_value(inst, "out_channels", &error); - src=weed_get_voidptr_value(in_channel,"pixel_data",&error); - dest=weed_get_voidptr_value(out_channel,"pixel_data",&error); + src = weed_get_voidptr_value(in_channel, "pixel_data", &error); + dest = weed_get_voidptr_value(out_channel, "pixel_data", &error); - width = weed_get_int_value(in_channel,"width",&error); - height = weed_get_int_value(in_channel,"height",&error); + width = weed_get_int_value(in_channel, "width", &error); + height = weed_get_int_value(in_channel, "height", &error); - irowstride=weed_get_int_value(in_channel,"rowstrides",&error)/4; - orowstridex=orowstride=weed_get_int_value(out_channel,"rowstrides",&error)/4; + irowstride = weed_get_int_value(in_channel, "rowstrides", &error) / 4; + orowstridex = orowstride = weed_get_int_value(out_channel, "rowstrides", &error) / 4; //if (width%2!=0) orowstridex--; - sdata->fastrand_val=timestamp&0x0000FFFF; - in_param=weed_get_plantptr_value(inst,"in_parameters",&error); - mode=weed_get_int_value(in_param,"value",&error); + sdata->fastrand_val = timestamp & 0x0000FFFF; + in_param = weed_get_plantptr_value(inst, "in_parameters", &error); + mode = weed_get_int_value(in_param, "value", &error); /* impact from the motion or rain drop */ if (mode) { - raindrop(width,height,sdata); + raindrop(width, height, sdata); } else { - motiondetect(src,width,height,irowstride,sdata); + motiondetect(src, width, height, irowstride, sdata); } /* simulate surface wave */ /* This function is called only 30 times per second. To increase a speed * of wave, iterates this loop several times. */ - for (i=loopnum; i>0; i--) { + for (i = loopnum; i > 0; i--) { /* wave simulation */ p = sdata->map1 + width + 1; q = sdata->map2 + width + 1; r = sdata->map3 + width + 1; - for (y=height-2; y>0; y--) { - for (x=width-2; x>0; x--) { - h = *(p-width-1) + *(p-width+1) + *(p+width-1) + *(p+width+1) - + *(p-width) + *(p-1) + *(p+1) + *(p+width) - (*p)*9; + for (y = height - 2; y > 0; y--) { + for (x = width - 2; x > 0; x--) { + h = *(p - width - 1) + *(p - width + 1) + *(p + width - 1) + *(p + width + 1) + + *(p - width) + *(p - 1) + *(p + 1) + *(p + width) - (*p) * 9; h = h >> 3; v = *p - *q; v += h - (v >> decay); @@ -443,15 +443,15 @@ /* low pass filter */ p = sdata->map3 + width + 1; q = sdata->map2 + width + 1; - for (y=height-2; y>0; y--) { - for (x=width-2; x>0; x--) { - h = *(p-width) + *(p-1) + *(p+1) + *(p+width) + (*p)*60; + for (y = height - 2; y > 0; y--) { + for (x = width - 2; x > 0; x--) { + h = *(p - width) + *(p - 1) + *(p + 1) + *(p + width) + (*p) * 60; *q = h >> 6; p++; q++; } - p+=2; - q+=2; + p += 2; + q += 2; } p = sdata->map1; @@ -461,49 +461,49 @@ vp = sdata->vtable; p = sdata->map1; - for (y=height-1; y>0; y--) { - for (x=width-1; x>0; x--) { + for (y = height - 1; y > 0; y--) { + for (x = width - 1; x > 0; x--) { /* difference of the height between two voxel. They are twiced to * emphasise the wave. */ - vp[0] = sqrtable[((p[0] - p[1])>>(point-1))&0xff]; - vp[1] = sqrtable[((p[0] - p[width])>>(point-1))&0xff]; + vp[0] = sqrtable[((p[0] - p[1]) >> (point - 1)) & 0xff]; + vp[1] = sqrtable[((p[0] - p[width]) >> (point - 1)) & 0xff]; p++; - vp+=2; + vp += 2; } p++; - vp+=2; + vp += 2; } vp = sdata->vtable; /* draw refracted image. The vector table is stretched. */ - for (y=0; y<height-2; y+=2) { - for (x=0; x<width; x+=2) { + for (y = 0; y < height - 2; y += 2) { + for (x = 0; x < width; x += 2) { h = (int)vp[0]; v = (int)vp[1]; dx = x + h; dy = y + v; - if (dx<0) dx=0; - if (dy<0) dy=0; - if (dx>=width) dx=width-1; - if (dy>=height) dy=height-1; - dest[0] = src[dy*irowstride+dx]; + if (dx < 0) dx = 0; + if (dy < 0) dy = 0; + if (dx >= width) dx = width - 1; + if (dy >= height) dy = height - 1; + dest[0] = src[dy * irowstride + dx]; i = dx; - dx = x + 1 + (h+(int)vp[2])/2; - if (dx<0) dx=0; - if (dx>=width) dx=width-1; - dest[1] = src[dy*irowstride+dx]; + dx = x + 1 + (h + (int)vp[2]) / 2; + if (dx < 0) dx = 0; + if (dx >= width) dx = width - 1; + dest[1] = src[dy * irowstride + dx]; - dy = y + 1 + (v+(int)vp[width*2+1])/2; - if (dy<0) dy=0; - if (dy>=height) dy=height-1; - dest[orowstride] = src[dy*irowstride+i]; + dy = y + 1 + (v + (int)vp[width * 2 + 1]) / 2; + if (dy < 0) dy = 0; + if (dy >= height) dy = height - 1; + dest[orowstride] = src[dy * irowstride + i]; - dest[orowstride+1] = src[dy*irowstride+dx]; - dest+=2; - vp+=2; + dest[orowstride + 1] = src[dy * irowstride + dx]; + dest += 2; + vp += 2; } dest += orowstridex; vp += 2; @@ -516,21 +516,22 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); - if (plugin_info!=NULL) { - const char *modes[]= {"ripples","rain",NULL}; - int palette_list[]= {WEED_PALETTE_RGBA32,WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",WEED_CHANNEL_REINIT_ON_SIZE_CHANGE,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",0,palette_list),NULL}; - weed_plant_t *in_params[]= {weed_string_list_init("mode","Ripple _mode",0,modes),NULL}; + if (plugin_info != NULL) { + const char *modes[] = {"ripples", "rain", NULL}; + int palette_list[] = {WEED_PALETTE_RGBA32, WEED_PALETTE_END}; + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", WEED_CHANNEL_REINIT_ON_SIZE_CHANGE, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", 0, palette_list), NULL}; + weed_plant_t *in_params[] = {weed_string_list_init("mode", "Ripple _mode", 0, modes), NULL}; - weed_plant_t *filter_class=weed_filter_class_init("rippleTV","effectTV",1,0,&ripple_init,&ripple_process,&ripple_deinit,in_chantmpls, - out_chantmpls,in_params,NULL); + weed_plant_t *filter_class = weed_filter_class_init("rippleTV", "effectTV", 1, 0, &ripple_init, &ripple_process, &ripple_deinit, + in_chantmpls, + out_chantmpls, in_params, NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); setTable(); }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/rotozoom.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/rotozoom.c
Changed
@@ -19,10 +19,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -47,20 +47,20 @@ static void draw_tile(int stepx, int stepy, int zoom, unsigned char *src, unsigned char *dst, int video_width, int irowstride, int orowstride, int video_height, int dheight, int offset, int psize) { - int x, y, xd, yd, a, b, sx=0, sy=0; + int x, y, xd, yd, a, b, sx = 0, sy = 0; int origin; - register int i,j; + register int i, j; - irowstride/=psize; - orowstride-=video_width*psize; + irowstride /= psize; + orowstride -= video_width * psize; xd = (stepx * zoom) >> 12; yd = (stepy * zoom) >> 12; - sx = -yd*offset; - sy = xd*offset; + sx = -yd * offset; + sy = xd * offset; /* Stepping across and down the screen, each screen row has a @@ -78,19 +78,19 @@ x = sx; y = sy; for (i = 0; i < video_width; i++) { - a=((x>>12&255)*video_width)>>8; - b=((y>>12&255)*video_height)>>8; + a = ((x >> 12 & 255) * video_width) >> 8; + b = ((y >> 12 & 255) * video_height) >> 8; // a*=video_width/64; // b*=video_height/64; - origin=(b*irowstride+a)*psize; + origin = (b * irowstride + a) * psize; - weed_memcpy(dst,&src[origin],psize); - dst+=psize; + weed_memcpy(dst, &src[origin], psize); + dst += psize; x += xd; y += yd; } - dst+=orowstride; + dst += orowstride; sx -= yd; sy += xd; } @@ -100,8 +100,8 @@ int rotozoom_init(weed_plant_t *inst) { - weed_set_int_value(inst,"plugin_path",0); - weed_set_int_value(inst,"plugin_zpath",0); + weed_set_int_value(inst, "plugin_path", 0); + weed_set_int_value(inst, "plugin_zpath", 0); return WEED_NO_ERROR; } @@ -113,59 +113,59 @@ int rotozoom_process(weed_plant_t *inst, weed_timecode_t timestamp) { - unsigned char *src,*dst; + unsigned char *src, *dst; int error; - weed_plant_t *in_channel,*out_channel; - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); + weed_plant_t *in_channel, *out_channel; + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); - int width,height,irowstride,orowstride,palette; - int psize=3; - int zoom,autozoom; + int width, height, irowstride, orowstride, palette; + int psize = 3; + int zoom, autozoom; - int path=weed_get_int_value(inst,"plugin_path",&error); - int zpath=weed_get_int_value(inst,"plugin_zpath",&error); + int path = weed_get_int_value(inst, "plugin_path", &error); + int zpath = weed_get_int_value(inst, "plugin_zpath", &error); - int offset=0,dheight; + int offset = 0, dheight; - in_channel=weed_get_plantptr_value(inst,"in_channels",&error); - out_channel=weed_get_plantptr_value(inst,"out_channels",&error); + in_channel = weed_get_plantptr_value(inst, "in_channels", &error); + out_channel = weed_get_plantptr_value(inst, "out_channels", &error); - src=(unsigned char *)weed_get_voidptr_value(in_channel,"pixel_data",&error); - dst=(unsigned char *)weed_get_voidptr_value(out_channel,"pixel_data",&error); + src = (unsigned char *)weed_get_voidptr_value(in_channel, "pixel_data", &error); + dst = (unsigned char *)weed_get_voidptr_value(out_channel, "pixel_data", &error); - width = weed_get_int_value(in_channel,"width",&error); - height = weed_get_int_value(in_channel,"height",&error); - palette = weed_get_int_value(in_channel,"current_palette",&error); - irowstride = weed_get_int_value(in_channel,"rowstrides",&error); - orowstride = weed_get_int_value(out_channel,"rowstrides",&error); + width = weed_get_int_value(in_channel, "width", &error); + height = weed_get_int_value(in_channel, "height", &error); + palette = weed_get_int_value(in_channel, "current_palette", &error); + irowstride = weed_get_int_value(in_channel, "rowstrides", &error); + orowstride = weed_get_int_value(out_channel, "rowstrides", &error); - autozoom=weed_get_boolean_value(in_params[1],"value",&error); + autozoom = weed_get_boolean_value(in_params[1], "value", &error); // new threading arch - if (weed_plant_has_leaf(out_channel,"offset")) { - offset=weed_get_int_value(out_channel,"offset",&error); - dheight=weed_get_int_value(out_channel,"height",&error); - dst+=offset*orowstride; - } else dheight=height; - - if (autozoom==WEED_TRUE) { - weed_set_int_value(inst,"plugin_zpath",(zpath + 1) & 255); + if (weed_plant_has_leaf(out_channel, "offset")) { + offset = weed_get_int_value(out_channel, "offset", &error); + dheight = weed_get_int_value(out_channel, "height", &error); + dst += offset * orowstride; + } else dheight = height; + + if (autozoom == WEED_TRUE) { + weed_set_int_value(inst, "plugin_zpath", (zpath + 1) & 255); } else { - zpath=weed_get_int_value(in_params[0],"value",&error); - weed_set_int_value(inst,"plugin_zpath",zpath); + zpath = weed_get_int_value(in_params[0], "value", &error); + weed_set_int_value(inst, "plugin_zpath", zpath); } - zoom=roto2[zpath]; + zoom = roto2[zpath]; - if (palette==WEED_PALETTE_UYVY||palette==WEED_PALETTE_YUYV) width>>=1; // 2 pixels per macropixel + if (palette == WEED_PALETTE_UYVY || palette == WEED_PALETTE_YUYV) width >>= 1; // 2 pixels per macropixel - if (palette==WEED_PALETTE_ARGB32||palette==WEED_PALETTE_RGBA32||palette==WEED_PALETTE_BGRA32|| - palette==WEED_PALETTE_YUVA8888||palette==WEED_PALETTE_UYVY||palette==WEED_PALETTE_YUYV) psize=4; + if (palette == WEED_PALETTE_ARGB32 || palette == WEED_PALETTE_RGBA32 || palette == WEED_PALETTE_BGRA32 || + palette == WEED_PALETTE_YUVA8888 || palette == WEED_PALETTE_UYVY || palette == WEED_PALETTE_YUYV) psize = 4; - if (palette==WEED_PALETTE_UYVY||palette==WEED_PALETTE_YUYV) width>>=1; // 2 pixels per macropixel + if (palette == WEED_PALETTE_UYVY || palette == WEED_PALETTE_YUYV) width >>= 1; // 2 pixels per macropixel - draw_tile(roto[path], roto[(path + 128) & 0xFF],zoom,src,dst,width,irowstride,orowstride,height,dheight,offset,psize); + draw_tile(roto[path], roto[(path + 128) & 0xFF], zoom, src, dst, width, irowstride, orowstride, height, dheight, offset, psize); - weed_set_int_value(inst,"plugin_path",(path - 1) & 255); + weed_set_int_value(inst, "plugin_path", (path - 1) & 255); weed_free(in_params); @@ -176,22 +176,22 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { int i; - int palette_list[]= {WEED_PALETTE_RGB24,WEED_PALETTE_BGR24,WEED_PALETTE_RGBA32,WEED_PALETTE_BGRA32, - WEED_PALETTE_ARGB32,WEED_PALETTE_UYVY,WEED_PALETTE_YUYV,WEED_PALETTE_YUV888,WEED_PALETTE_YUVA8888,WEED_PALETTE_END - }; + int palette_list[] = {WEED_PALETTE_RGB24, WEED_PALETTE_BGR24, WEED_PALETTE_RGBA32, WEED_PALETTE_BGRA32, + WEED_PALETTE_ARGB32, WEED_PALETTE_UYVY, WEED_PALETTE_YUYV, WEED_PALETTE_YUV888, WEED_PALETTE_YUVA8888, WEED_PALETTE_END + }; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",0,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",0,palette_list),NULL}; - weed_plant_t *in_params[]= {weed_integer_init("zoom","_Zoom value",128,0,255),weed_switch_init("autozoom","_Auto zoom",WEED_TRUE),NULL}; - weed_plant_t *filter_class=weed_filter_class_init("rotozoom","effectTV",1,WEED_FILTER_HINT_MAY_THREAD,rotozoom_init, - rotozoom_process,rotozoom_deinit,in_chantmpls,out_chantmpls,in_params,NULL); + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", 0, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", 0, palette_list), NULL}; + weed_plant_t *in_params[] = {weed_integer_init("zoom", "_Zoom value", 128, 0, 255), weed_switch_init("autozoom", "_Auto zoom", WEED_TRUE), NULL}; + weed_plant_t *filter_class = weed_filter_class_init("rotozoom", "effectTV", 1, WEED_FILTER_HINT_MAY_THREAD, rotozoom_init, + rotozoom_process, rotozoom_deinit, in_chantmpls, out_chantmpls, in_params, NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); // static data for all instances for (i = 0; i < 256; i++) {
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/shift.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/shift.c
Changed
@@ -18,10 +18,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=1; // number of different weed api versions supported -static int api_versions[]= {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 1; // number of different weed api versions supported +static int api_versions[] = {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -40,37 +40,37 @@ static void add_bg_pixel(unsigned char *ptr, int pal, int clamping, int trans) { - if (trans==WEED_TRUE) trans=0; - else trans=255; + if (trans == WEED_TRUE) trans = 0; + else trans = 255; switch (pal) { case WEED_PALETTE_RGB24: case WEED_PALETTE_BGR24: - weed_memset(ptr,0,3); + weed_memset(ptr, 0, 3); break; case WEED_PALETTE_RGBA32: case WEED_PALETTE_BGRA32: - weed_memset(ptr,0,3); - ptr[3]=trans; + weed_memset(ptr, 0, 3); + ptr[3] = trans; break; case WEED_PALETTE_ARGB32: - weed_memset(ptr+1,0,3); - ptr[0]=trans; + weed_memset(ptr + 1, 0, 3); + ptr[0] = trans; break; case WEED_PALETTE_YUV888: - if (clamping!=WEED_YUV_CLAMPING_CLAMPED) ptr[0]=0; - else ptr[0]=16; - ptr[1]=ptr[2]=128; + if (clamping != WEED_YUV_CLAMPING_CLAMPED) ptr[0] = 0; + else ptr[0] = 16; + ptr[1] = ptr[2] = 128; break; case WEED_PALETTE_YUVA8888: - if (clamping!=WEED_YUV_CLAMPING_CLAMPED) ptr[0]=0; - else ptr[0]=16; - ptr[1]=ptr[2]=128; - ptr[3]=trans; + if (clamping != WEED_YUV_CLAMPING_CLAMPED) ptr[0] = 0; + else ptr[0] = 16; + ptr[1] = ptr[2] = 128; + ptr[3] = trans; break; } @@ -79,99 +79,100 @@ static void add_bg_row(unsigned char *ptr, int xwidth, int pal, int clamping, int trans) { register int i; - int psize=4; - if (pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24||pal==WEED_PALETTE_YUV888) psize=3; - for (i=0; i<xwidth; i+=psize) add_bg_pixel(ptr+i,pal,clamping,trans); + int psize = 4; + if (pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24 || pal == WEED_PALETTE_YUV888) psize = 3; + for (i = 0; i < xwidth; i += psize) add_bg_pixel(ptr + i, pal, clamping, trans); } int shift_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error),*out_channel=weed_get_plantptr_value(inst,"out_channels", - &error); - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error), *out_channel = weed_get_plantptr_value(inst, + "out_channels", + &error); + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); - unsigned char *src=(unsigned char *)weed_get_voidptr_value(in_channel,"pixel_data",&error); - unsigned char *dst=(unsigned char *)weed_get_voidptr_value(out_channel,"pixel_data",&error); + unsigned char *src = (unsigned char *)weed_get_voidptr_value(in_channel, "pixel_data", &error); + unsigned char *dst = (unsigned char *)weed_get_voidptr_value(out_channel, "pixel_data", &error); - int width=weed_get_int_value(in_channel,"width",&error); - int sheight=weed_get_int_value(in_channel,"height",&error); - int irowstride=weed_get_int_value(in_channel,"rowstrides",&error); - int orowstride=weed_get_int_value(out_channel,"rowstrides",&error); + int width = weed_get_int_value(in_channel, "width", &error); + int sheight = weed_get_int_value(in_channel, "height", &error); + int irowstride = weed_get_int_value(in_channel, "rowstrides", &error); + int orowstride = weed_get_int_value(out_channel, "rowstrides", &error); unsigned char *dend; - size_t send=irowstride*sheight; + size_t send = irowstride * sheight; - int x=(int)(weed_get_double_value(in_params[0],"value",&error)*(double)width+.5); - int y=(int)(weed_get_double_value(in_params[1],"value",&error)*(double)sheight+.5)*irowstride; - int trans=weed_get_boolean_value(in_params[2],"value",&error); + int x = (int)(weed_get_double_value(in_params[0], "value", &error) * (double)width + .5); + int y = (int)(weed_get_double_value(in_params[1], "value", &error) * (double)sheight + .5) * irowstride; + int trans = weed_get_boolean_value(in_params[2], "value", &error); - int offset=0; - int dheight=weed_get_int_value(out_channel,"height",&error); // may differ because of threading + int offset = 0; + int dheight = weed_get_int_value(out_channel, "height", &error); // may differ because of threading - int pal=weed_get_int_value(in_channel,"current_palette",&error); + int pal = weed_get_int_value(in_channel, "current_palette", &error); - int psize=4; + int psize = 4; - int sx,sy,ypos; + int sx, sy, ypos; - int istart,iend; + int istart, iend; - int clamping=WEED_YUV_CLAMPING_CLAMPED; + int clamping = WEED_YUV_CLAMPING_CLAMPED; weed_free(in_params); // new threading arch - if (weed_plant_has_leaf(out_channel,"offset")) { - offset=weed_get_int_value(out_channel,"offset",&error); - dst+=offset*orowstride; + if (weed_plant_has_leaf(out_channel, "offset")) { + offset = weed_get_int_value(out_channel, "offset", &error); + dst += offset * orowstride; } - dend=dst+dheight*orowstride; + dend = dst + dheight * orowstride; - ypos=(offset-1)*irowstride; + ypos = (offset - 1) * irowstride; - if (pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24||pal==WEED_PALETTE_YUV888) psize=3; + if (pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24 || pal == WEED_PALETTE_YUV888) psize = 3; - if (pal==WEED_PALETTE_YUV888||pal==WEED_PALETTE_YUVA8888) - clamping=weed_get_int_value(in_channel,"YUV_clamping",&error); + if (pal == WEED_PALETTE_YUV888 || pal == WEED_PALETTE_YUVA8888) + clamping = weed_get_int_value(in_channel, "YUV_clamping", &error); - x*=psize; - width*=psize; + x *= psize; + width *= psize; - if (x<0) { + if (x < 0) { // shift left - istart=0; - iend=width+x; - if (iend<0) iend=0; + istart = 0; + iend = width + x; + if (iend < 0) iend = 0; } else { // shift right - if (x>=width) x=width; - istart=x; - iend=width; + if (x >= width) x = width; + istart = x; + iend = width; } - for (; dst<dend; dst+=orowstride) { - ypos+=irowstride; - sy=ypos-y; + for (; dst < dend; dst += orowstride) { + ypos += irowstride; + sy = ypos - y; - if (sy<0||sy>=send) { - add_bg_row(dst,width,pal,clamping,trans); + if (sy < 0 || sy >= send) { + add_bg_row(dst, width, pal, clamping, trans); continue; } - if (x>0) { - add_bg_row(dst,x,pal,clamping,trans); - sx=0; - } else sx=-x; + if (x > 0) { + add_bg_row(dst, x, pal, clamping, trans); + sx = 0; + } else sx = -x; - if (istart<iend) { - weed_memcpy(&dst[istart],src+sy+sx,iend-istart); + if (istart < iend) { + weed_memcpy(&dst[istart], src + sy + sx, iend - istart); } - if (iend<width) add_bg_row(&dst[iend],width-iend,pal,clamping,trans); + if (iend < width) add_bg_row(&dst[iend], width - iend, pal, clamping, trans); } @@ -183,27 +184,27 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_BGR24,WEED_PALETTE_RGB24,WEED_PALETTE_RGBA32,WEED_PALETTE_BGRA32,WEED_PALETTE_ARGB32, - WEED_PALETTE_YUV888,WEED_PALETTE_YUVA8888,WEED_PALETTE_END - }; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_BGR24, WEED_PALETTE_RGB24, WEED_PALETTE_RGBA32, WEED_PALETTE_BGRA32, WEED_PALETTE_ARGB32, + WEED_PALETTE_YUV888, WEED_PALETTE_YUVA8888, WEED_PALETTE_END + }; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",0,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",0,palette_list),NULL}; - weed_plant_t *in_params[]= {weed_float_init("xshift","_X shift (ratio)",0.,-1.,1.), - weed_float_init("yshift","_Y shift (ratio)",0.,-1.,1.), - weed_switch_init("transbg","_Transparent edges",WEED_FALSE), - NULL - }; + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", 0, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", 0, palette_list), NULL}; + weed_plant_t *in_params[] = {weed_float_init("xshift", "_X shift (ratio)", 0., -1., 1.), + weed_float_init("yshift", "_Y shift (ratio)", 0., -1., 1.), + weed_switch_init("transbg", "_Transparent edges", WEED_FALSE), + NULL + }; - weed_plant_t *filter_class=weed_filter_class_init("shift","salsaman",1,WEED_FILTER_HINT_MAY_THREAD,NULL,&shift_process,NULL, - in_chantmpls,out_chantmpls,in_params,NULL); + weed_plant_t *filter_class = weed_filter_class_init("shift", "salsaman", 1, WEED_FILTER_HINT_MAY_THREAD, NULL, &shift_process, NULL, + in_chantmpls, out_chantmpls, in_params, NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/simple_blend.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/simple_blend.c
Changed
@@ -18,10 +18,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -66,13 +66,13 @@ for (i = 0; i < 256; i++) { Y_R[i] = myround(0.299 * (double)i - * 219.0 / 255.0 * (double)(1<<FP_BITS)); + * 219.0 / 255.0 * (double)(1 << FP_BITS)); Y_G[i] = myround(0.587 * (double)i - * 219.0 / 255.0 * (double)(1<<FP_BITS)); + * 219.0 / 255.0 * (double)(1 << FP_BITS)); Y_B[i] = myround((0.114 * (double)i - * 219.0 / 255.0 * (double)(1<<FP_BITS)) - + (double)(1<<(FP_BITS-1)) - + (16.0 * (double)(1<<FP_BITS))); + * 219.0 / 255.0 * (double)(1 << FP_BITS)) + + (double)(1 << (FP_BITS - 1)) + + (16.0 * (double)(1 << FP_BITS))); } conv_RY_inited = 1; @@ -82,17 +82,17 @@ static inline unsigned char calc_luma(unsigned char *pixel) { // TODO - RGB - return (Y_R[pixel[2]] + Y_G[pixel[1]]+ Y_B[pixel[0]]) >> FP_BITS; + return (Y_R[pixel[2]] + Y_G[pixel[1]] + Y_B[pixel[0]]) >> FP_BITS; } void make_blend_table(_sdata *sdata, unsigned char bf, unsigned char bfn) { - register int i,j; + register int i, j; - for (i=0; i<256; i++) { - for (j=0; j<256; j++) { - sdata->blend[i][j]=(unsigned char)((bf*i+bfn*j)>>8); + for (i = 0; i < 256; i++) { + for (j = 0; j < 256; j++) { + sdata->blend[i][j] = (unsigned char)((bf * i + bfn * j) >> 8); } } @@ -104,13 +104,13 @@ int chroma_init(weed_plant_t *inst) { _sdata *sdata; - sdata=weed_malloc(sizeof(_sdata)); + sdata = weed_malloc(sizeof(_sdata)); if (sdata == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - sdata->obf=0; - make_blend_table(sdata,0,255); + sdata->obf = 0; + make_blend_table(sdata, 0, 255); - weed_set_voidptr_value(inst,"plugin_internal",sdata); + weed_set_voidptr_value(inst, "plugin_internal", sdata); return WEED_NO_ERROR; } @@ -120,7 +120,7 @@ _sdata *sdata; int error; - sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); + sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); if (sdata != NULL) weed_free(sdata); @@ -131,94 +131,95 @@ static int common_process(int type, weed_plant_t *inst, weed_timecode_t timecode) { - _sdata *sdata=NULL; + _sdata *sdata = NULL; int error; - weed_plant_t **in_channels=weed_get_plantptr_array(inst,"in_channels",&error),*out_channel=weed_get_plantptr_value(inst,"out_channels", - &error); + weed_plant_t **in_channels = weed_get_plantptr_array(inst, "in_channels", &error), *out_channel = weed_get_plantptr_value(inst, + "out_channels", + &error); weed_plant_t *in_param; - unsigned char *src1=weed_get_voidptr_value(in_channels[0],"pixel_data",&error); - unsigned char *src2=weed_get_voidptr_value(in_channels[1],"pixel_data",&error); - unsigned char *dst=weed_get_voidptr_value(out_channel,"pixel_data",&error); + unsigned char *src1 = weed_get_voidptr_value(in_channels[0], "pixel_data", &error); + unsigned char *src2 = weed_get_voidptr_value(in_channels[1], "pixel_data", &error); + unsigned char *dst = weed_get_voidptr_value(out_channel, "pixel_data", &error); unsigned char blendneg; unsigned char blend_factor; - int width=weed_get_int_value(in_channels[0],"width",&error); - int height=weed_get_int_value(in_channels[0],"height",&error); - int pal=weed_get_int_value(in_channels[0],"current_palette",&error); - int irowstride1=weed_get_int_value(in_channels[0],"rowstrides",&error); - int irowstride2=weed_get_int_value(in_channels[1],"rowstrides",&error); - int orowstride=weed_get_int_value(out_channel,"rowstrides",&error); - int inplace=(src1==dst); - int bf,psize=4; - int start=0; + int width = weed_get_int_value(in_channels[0], "width", &error); + int height = weed_get_int_value(in_channels[0], "height", &error); + int pal = weed_get_int_value(in_channels[0], "current_palette", &error); + int irowstride1 = weed_get_int_value(in_channels[0], "rowstrides", &error); + int irowstride2 = weed_get_int_value(in_channels[1], "rowstrides", &error); + int orowstride = weed_get_int_value(out_channel, "rowstrides", &error); + int inplace = (src1 == dst); + int bf, psize = 4; + int start = 0; - unsigned char *end=src1+height*irowstride1; + unsigned char *end = src1 + height * irowstride1; register int j; - if (pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24) psize=3; - if (pal==WEED_PALETTE_ARGB32) start=1; + if (pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24) psize = 3; + if (pal == WEED_PALETTE_ARGB32) start = 1; - width*=psize; + width *= psize; - in_param=weed_get_plantptr_value(inst,"in_parameters",&error); - bf=weed_get_int_value(in_param,"value",&error); + in_param = weed_get_plantptr_value(inst, "in_parameters", &error); + bf = weed_get_int_value(in_param, "value", &error); - blend_factor=(unsigned char)bf; - blendneg=blend_factor^0xFF; + blend_factor = (unsigned char)bf; + blendneg = blend_factor ^ 0xFF; - if (type==0) { - sdata=(_sdata *)weed_get_voidptr_value(inst,"plugin_internal",&error); - if (sdata->obf!=blend_factor) { - make_blend_table(sdata,blend_factor,blendneg); - sdata->obf=blend_factor; + if (type == 0) { + sdata = (_sdata *)weed_get_voidptr_value(inst, "plugin_internal", &error); + if (sdata->obf != blend_factor) { + make_blend_table(sdata, blend_factor, blendneg); + sdata->obf = blend_factor; } } // new threading arch - if (weed_plant_has_leaf(out_channel,"offset")) { - int offset=weed_get_int_value(out_channel,"offset",&error); - int dheight=weed_get_int_value(out_channel,"height",&error); + if (weed_plant_has_leaf(out_channel, "offset")) { + int offset = weed_get_int_value(out_channel, "offset", &error); + int dheight = weed_get_int_value(out_channel, "height", &error); - src1+=offset*irowstride1; - end=src1+dheight*irowstride1; + src1 += offset * irowstride1; + end = src1 + dheight * irowstride1; - src2+=offset*irowstride2; + src2 += offset * irowstride2; - dst+=offset*orowstride; + dst += offset * orowstride; } - for (; src1<end; src1+=irowstride1) { - for (j=start; j<width; j+=psize) { + for (; src1 < end; src1 += irowstride1) { + for (j = start; j < width; j += psize) { switch (type) { case 0: // chroma blend - dst[j]=sdata->blend[src2[j]][src1[j]]; - dst[j+1]=sdata->blend[src2[j+1]][src1[j+1]]; - dst[j+2]=sdata->blend[src2[j+2]][src1[j+2]]; + dst[j] = sdata->blend[src2[j]][src1[j]]; + dst[j + 1] = sdata->blend[src2[j + 1]][src1[j + 1]]; + dst[j + 2] = sdata->blend[src2[j + 2]][src1[j + 2]]; break; case 1: // luma overlay (bang !!) - if (calc_luma(&src1[j])<(blend_factor)) weed_memcpy(&dst[j],&src2[j],3); - else if (!inplace) weed_memcpy(&dst[j],&src1[j],3); + if (calc_luma(&src1[j]) < (blend_factor)) weed_memcpy(&dst[j], &src2[j], 3); + else if (!inplace) weed_memcpy(&dst[j], &src1[j], 3); break; case 2: // luma underlay - if (calc_luma(&src2[j])>(blendneg)) weed_memcpy(&dst[j],&src2[j],3); - else if (!inplace) weed_memcpy(&dst[j],&src1[j],3); + if (calc_luma(&src2[j]) > (blendneg)) weed_memcpy(&dst[j], &src2[j], 3); + else if (!inplace) weed_memcpy(&dst[j], &src1[j], 3); break; case 3: // neg lum overlay - if (calc_luma(&src1[j])>(blendneg)) weed_memcpy(&dst[j],&src2[j],3); - else if (!inplace) weed_memcpy(&dst[j],&src1[j],3); + if (calc_luma(&src1[j]) > (blendneg)) weed_memcpy(&dst[j], &src2[j], 3); + else if (!inplace) weed_memcpy(&dst[j], &src1[j], 3); break; } } - src2+=irowstride2; - dst+=orowstride; + src2 += irowstride2; + dst += orowstride; } weed_free(in_channels); return WEED_NO_ERROR; @@ -227,68 +228,68 @@ int chroma_process(weed_plant_t *inst, weed_timecode_t timestamp) { - return common_process(0,inst,timestamp); + return common_process(0, inst, timestamp); } int lumo_process(weed_plant_t *inst, weed_timecode_t timestamp) { - return common_process(1,inst,timestamp); + return common_process(1, inst, timestamp); } int lumu_process(weed_plant_t *inst, weed_timecode_t timestamp) { - return common_process(2,inst,timestamp); + return common_process(2, inst, timestamp); } int nlumo_process(weed_plant_t *inst, weed_timecode_t timestamp) { - return common_process(3,inst,timestamp); + return common_process(3, inst, timestamp); } weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - weed_plant_t **clone1,**clone2,**clone3; - - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_BGR24,WEED_PALETTE_RGB24,WEED_PALETTE_RGBA32,WEED_PALETTE_BGRA32,WEED_PALETTE_ARGB32,WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",0,palette_list), - weed_channel_template_init("in channel 1",0,palette_list),NULL - }; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",WEED_CHANNEL_CAN_DO_INPLACE,palette_list),NULL}; - weed_plant_t *in_params1[]= {weed_integer_init("amount","Blend _amount",128,0,255),NULL}; - weed_plant_t *in_params2[]= {weed_integer_init("threshold","luma _threshold",64,0,255),NULL}; - - weed_plant_t *filter_class=weed_filter_class_init("chroma blend","salsaman",1,WEED_FILTER_HINT_MAY_THREAD,&chroma_init, - &chroma_process,&chroma_deinit,in_chantmpls,out_chantmpls,in_params1,NULL); - - weed_set_boolean_value(in_params1[0],"transition",WEED_TRUE); - weed_set_boolean_value(in_params2[0],"transition",WEED_TRUE); - - weed_plugin_info_add_filter_class(plugin_info,filter_class); - - filter_class=weed_filter_class_init("luma overlay","salsaman",1,WEED_FILTER_HINT_MAY_THREAD,NULL, - &lumo_process,NULL,(clone1=weed_clone_plants(in_chantmpls)), - (clone2=weed_clone_plants(out_chantmpls)),in_params2,NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + weed_plant_t **clone1, **clone2, **clone3; + + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_BGR24, WEED_PALETTE_RGB24, WEED_PALETTE_RGBA32, WEED_PALETTE_BGRA32, WEED_PALETTE_ARGB32, WEED_PALETTE_END}; + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", 0, palette_list), + weed_channel_template_init("in channel 1", 0, palette_list), NULL + }; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", WEED_CHANNEL_CAN_DO_INPLACE, palette_list), NULL}; + weed_plant_t *in_params1[] = {weed_integer_init("amount", "Blend _amount", 128, 0, 255), NULL}; + weed_plant_t *in_params2[] = {weed_integer_init("threshold", "luma _threshold", 64, 0, 255), NULL}; + + weed_plant_t *filter_class = weed_filter_class_init("chroma blend", "salsaman", 1, WEED_FILTER_HINT_MAY_THREAD, &chroma_init, + &chroma_process, &chroma_deinit, in_chantmpls, out_chantmpls, in_params1, NULL); + + weed_set_boolean_value(in_params1[0], "transition", WEED_TRUE); + weed_set_boolean_value(in_params2[0], "transition", WEED_TRUE); + + weed_plugin_info_add_filter_class(plugin_info, filter_class); + + filter_class = weed_filter_class_init("luma overlay", "salsaman", 1, WEED_FILTER_HINT_MAY_THREAD, NULL, + &lumo_process, NULL, (clone1 = weed_clone_plants(in_chantmpls)), + (clone2 = weed_clone_plants(out_chantmpls)), in_params2, NULL); + weed_plugin_info_add_filter_class(plugin_info, filter_class); weed_free(clone1); weed_free(clone2); - filter_class=weed_filter_class_init("luma underlay","salsaman",1,WEED_FILTER_HINT_MAY_THREAD,NULL, - &lumu_process,NULL,(clone1=weed_clone_plants(in_chantmpls)), - (clone2=weed_clone_plants(out_chantmpls)),(clone3=weed_clone_plants(in_params2)),NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + filter_class = weed_filter_class_init("luma underlay", "salsaman", 1, WEED_FILTER_HINT_MAY_THREAD, NULL, + &lumu_process, NULL, (clone1 = weed_clone_plants(in_chantmpls)), + (clone2 = weed_clone_plants(out_chantmpls)), (clone3 = weed_clone_plants(in_params2)), NULL); + weed_plugin_info_add_filter_class(plugin_info, filter_class); weed_free(clone1); weed_free(clone2); weed_free(clone3); - filter_class=weed_filter_class_init("negative luma overlay","salsaman",1,WEED_FILTER_HINT_MAY_THREAD, - NULL,&nlumo_process,NULL,(clone1=weed_clone_plants(in_chantmpls)), - (clone2=weed_clone_plants(out_chantmpls)),(clone3=weed_clone_plants(in_params2)),NULL); + filter_class = weed_filter_class_init("negative luma overlay", "salsaman", 1, WEED_FILTER_HINT_MAY_THREAD, + NULL, &nlumo_process, NULL, (clone1 = weed_clone_plants(in_chantmpls)), + (clone2 = weed_clone_plants(out_chantmpls)), (clone3 = weed_clone_plants(in_params2)), NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); weed_free(clone1); weed_free(clone2); weed_free(clone3); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); init_RGB_to_YCbCr_tables(); }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/slide_over.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/slide_over.c
Changed
@@ -17,10 +17,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -42,29 +42,29 @@ #define rand_a 1073741789L #define rand_c 32749L - fastrand_val=fastrand_val*rand_a + rand_c; + fastrand_val = fastrand_val * rand_a + rand_c; return fastrand_val; } static inline int pick_direction(weed_timecode_t tc) { - fastrand_val=tc&0xFFFFFFFF; - return ((fastrand()>>24)&0x03)+1; + fastrand_val = tc & 0xFFFFFFFF; + return ((fastrand() >> 24) & 0x03) + 1; } int sover_init(weed_plant_t *inst) { - int dirpref,error; - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); + int dirpref, error; + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); - if (weed_get_boolean_value(in_params[1],"value",&error)==WEED_TRUE) dirpref=0; - else if (weed_get_boolean_value(in_params[2],"value",&error)==WEED_TRUE) dirpref=1; // left to right - else if (weed_get_boolean_value(in_params[3],"value",&error)==WEED_TRUE) dirpref=2; // right to left - else if (weed_get_boolean_value(in_params[4],"value",&error)==WEED_TRUE) dirpref=3; // top to bottom - else dirpref=4; // bottom to top + if (weed_get_boolean_value(in_params[1], "value", &error) == WEED_TRUE) dirpref = 0; + else if (weed_get_boolean_value(in_params[2], "value", &error) == WEED_TRUE) dirpref = 1; // left to right + else if (weed_get_boolean_value(in_params[3], "value", &error) == WEED_TRUE) dirpref = 2; // right to left + else if (weed_get_boolean_value(in_params[4], "value", &error) == WEED_TRUE) dirpref = 3; // top to bottom + else dirpref = 4; // bottom to top - weed_set_int_value(inst,"plugin_direction",dirpref); + weed_set_int_value(inst, "plugin_direction", dirpref); return WEED_NO_ERROR; } @@ -72,34 +72,35 @@ int sover_process(weed_plant_t *inst, weed_timecode_t timecode) { int error; - weed_plant_t **in_channels=weed_get_plantptr_array(inst,"in_channels",&error),*out_channel=weed_get_plantptr_value(inst,"out_channels", - &error); - unsigned char *src1=weed_get_voidptr_value(in_channels[0],"pixel_data",&error); - unsigned char *src2=weed_get_voidptr_value(in_channels[1],"pixel_data",&error); - unsigned char *dst=weed_get_voidptr_value(out_channel,"pixel_data",&error); - int width=weed_get_int_value(in_channels[0],"width",&error); - int height=weed_get_int_value(in_channels[0],"height",&error); - int irowstride1=weed_get_int_value(in_channels[0],"rowstrides",&error); - int irowstride2=weed_get_int_value(in_channels[1],"rowstrides",&error); - int orowstride=weed_get_int_value(out_channel,"rowstrides",&error); + weed_plant_t **in_channels = weed_get_plantptr_array(inst, "in_channels", &error), *out_channel = weed_get_plantptr_value(inst, + "out_channels", + &error); + unsigned char *src1 = weed_get_voidptr_value(in_channels[0], "pixel_data", &error); + unsigned char *src2 = weed_get_voidptr_value(in_channels[1], "pixel_data", &error); + unsigned char *dst = weed_get_voidptr_value(out_channel, "pixel_data", &error); + int width = weed_get_int_value(in_channels[0], "width", &error); + int height = weed_get_int_value(in_channels[0], "height", &error); + int irowstride1 = weed_get_int_value(in_channels[0], "rowstrides", &error); + int irowstride2 = weed_get_int_value(in_channels[1], "rowstrides", &error); + int orowstride = weed_get_int_value(out_channel, "rowstrides", &error); weed_plant_t **in_params; register int j; int transval; int dirn; - int mvlower,mvupper; + int mvlower, mvupper; int bound; - in_params=weed_get_plantptr_array(inst,"in_parameters",&error); - transval=weed_get_int_value(in_params[0],"value",&error); - dirn=weed_get_int_value(inst,"plugin_direction",&error); - mvlower=weed_get_boolean_value(in_params[6],"value",&error); - mvupper=weed_get_boolean_value(in_params[7],"value",&error); + in_params = weed_get_plantptr_array(inst, "in_parameters", &error); + transval = weed_get_int_value(in_params[0], "value", &error); + dirn = weed_get_int_value(inst, "plugin_direction", &error); + mvlower = weed_get_boolean_value(in_params[6], "value", &error); + mvupper = weed_get_boolean_value(in_params[7], "value", &error); - if (dirn==0) { - dirn=pick_direction(timecode); // random - weed_set_int_value(inst,"plugin_direction",dirn); + if (dirn == 0) { + dirn = pick_direction(timecode); // random + weed_set_int_value(inst, "plugin_direction", dirn); } // upper is src1, lower is src2 @@ -112,56 +113,56 @@ switch (dirn) { case 3: // top to bottom - bound=(float)height*(1.-transval/255.); // how much of src1 to show - if (mvupper) src1+=irowstride1*(height-bound); // if mvupper, slide a part off the top - for (j=0; j<bound; j++) { - weed_memcpy(dst,src1,width*3); - src1+=irowstride1; - if (!mvlower) src2+=irowstride2; // if !mvlower, cover part of src2 - dst+=orowstride; + bound = (float)height * (1. - transval / 255.); // how much of src1 to show + if (mvupper) src1 += irowstride1 * (height - bound); // if mvupper, slide a part off the top + for (j = 0; j < bound; j++) { + weed_memcpy(dst, src1, width * 3); + src1 += irowstride1; + if (!mvlower) src2 += irowstride2; // if !mvlower, cover part of src2 + dst += orowstride; } - for (j=bound; j<height; j++) { - weed_memcpy(dst,src2,width*3); - src2+=irowstride2; - dst+=orowstride; + for (j = bound; j < height; j++) { + weed_memcpy(dst, src2, width * 3); + src2 += irowstride2; + dst += orowstride; } break; case 4: // bottom to top - bound=(float)height*(transval/255.); - if (mvlower) src2+=irowstride2*(height-bound); // if mvlower we slide in src2 from the top - if (!mvupper) src1+=irowstride1*bound; - for (j=0; j<bound; j++) { - weed_memcpy(dst,src2,width*3); - src2+=irowstride2; - dst+=orowstride; + bound = (float)height * (transval / 255.); + if (mvlower) src2 += irowstride2 * (height - bound); // if mvlower we slide in src2 from the top + if (!mvupper) src1 += irowstride1 * bound; + for (j = 0; j < bound; j++) { + weed_memcpy(dst, src2, width * 3); + src2 += irowstride2; + dst += orowstride; } - for (j=bound; j<height; j++) { - weed_memcpy(dst,src1,width*3); - src1+=irowstride1; - dst+=orowstride; + for (j = bound; j < height; j++) { + weed_memcpy(dst, src1, width * 3); + src1 += irowstride1; + dst += orowstride; } break; case 1: // left to right - bound=(float)width*(1.-transval/255.); - for (j=0; j<height; j++) { - weed_memcpy(dst,src1+(width-bound)*3*mvupper,bound*3); - weed_memcpy(dst+bound*3,src2+bound*3*!mvlower,(width-bound)*3); - src1+=irowstride1; - src2+=irowstride2; - dst+=orowstride; + bound = (float)width * (1. - transval / 255.); + for (j = 0; j < height; j++) { + weed_memcpy(dst, src1 + (width - bound) * 3 * mvupper, bound * 3); + weed_memcpy(dst + bound * 3, src2 + bound * 3 * !mvlower, (width - bound) * 3); + src1 += irowstride1; + src2 += irowstride2; + dst += orowstride; } break; case 2: // right to left - bound=(float)width*(transval/255.); - for (j=0; j<height; j++) { - weed_memcpy(dst,src2+(width-bound)*3*mvlower,bound*3); - weed_memcpy(dst+bound*3,src1+!mvupper*bound*3,(width-bound)*3); - src1+=irowstride1; - src2+=irowstride2; - dst+=orowstride; + bound = (float)width * (transval / 255.); + for (j = 0; j < height; j++) { + weed_memcpy(dst, src2 + (width - bound) * 3 * mvlower, bound * 3); + weed_memcpy(dst + bound * 3, src1 + !mvupper * bound * 3, (width - bound) * 3); + src1 += irowstride1; + src2 += irowstride2; + dst += orowstride; } break; } @@ -174,34 +175,35 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_BGR24,WEED_PALETTE_RGB24,WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",0,palette_list),weed_channel_template_init("in channel 1",0,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",0,palette_list),NULL}; - weed_plant_t *in_params[]= {weed_integer_init("amount","Transition _value",128,0,255),weed_radio_init("dir_rand","_Random",1,1),weed_radio_init("dir_r2l","_Right to left",0,1),weed_radio_init("dir_l2r","_Left to right",0,1),weed_radio_init("dir_b2t","_Bottom to top",0,1),weed_radio_init("dir_t2b","_Top to bottom",0,1),weed_switch_init("mlower","_Slide lower clip",WEED_TRUE),weed_switch_init("mupper","_Slide upper clip",WEED_FALSE),NULL}; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_BGR24, WEED_PALETTE_RGB24, WEED_PALETTE_END}; + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", 0, palette_list), weed_channel_template_init("in channel 1", 0, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", 0, palette_list), NULL}; + weed_plant_t *in_params[] = {weed_integer_init("amount", "Transition _value", 128, 0, 255), weed_radio_init("dir_rand", "_Random", 1, 1), weed_radio_init("dir_r2l", "_Right to left", 0, 1), weed_radio_init("dir_l2r", "_Left to right", 0, 1), weed_radio_init("dir_b2t", "_Bottom to top", 0, 1), weed_radio_init("dir_t2b", "_Top to bottom", 0, 1), weed_switch_init("mlower", "_Slide lower clip", WEED_TRUE), weed_switch_init("mupper", "_Slide upper clip", WEED_FALSE), NULL}; - weed_plant_t *filter_class=weed_filter_class_init("slide over","salsaman",1,0,&sover_init,&sover_process,NULL,in_chantmpls,out_chantmpls, - in_params,NULL); + weed_plant_t *filter_class = weed_filter_class_init("slide over", "salsaman", 1, 0, &sover_init, &sover_process, NULL, in_chantmpls, + out_chantmpls, + in_params, NULL); - weed_plant_t *gui=weed_filter_class_get_gui(filter_class); - char *rfx_strings[]= {"layout|p0|","layout|hseparator|","layout|fill|\"Slide direction\"|fill|","layout|p1|","layout|p2|p3|","layout|p4|p5|","layout|hseparator|"}; + weed_plant_t *gui = weed_filter_class_get_gui(filter_class); + char *rfx_strings[] = {"layout|p0|", "layout|hseparator|", "layout|fill|\"Slide direction\"|fill|", "layout|p1|", "layout|p2|p3|", "layout|p4|p5|", "layout|hseparator|"}; - weed_set_string_value(gui,"layout_scheme","RFX"); - weed_set_string_value(gui,"rfx_delim","|"); - weed_set_string_array(gui,"rfx_strings",7,rfx_strings); + weed_set_string_value(gui, "layout_scheme", "RFX"); + weed_set_string_value(gui, "rfx_delim", "|"); + weed_set_string_array(gui, "rfx_strings", 7, rfx_strings); - weed_set_boolean_value(in_params[0],"transition",WEED_TRUE); + weed_set_boolean_value(in_params[0], "transition", WEED_TRUE); - weed_set_int_value(in_params[1],"flags",WEED_PARAMETER_REINIT_ON_VALUE_CHANGE); - weed_set_int_value(in_params[2],"flags",WEED_PARAMETER_REINIT_ON_VALUE_CHANGE); - weed_set_int_value(in_params[3],"flags",WEED_PARAMETER_REINIT_ON_VALUE_CHANGE); - weed_set_int_value(in_params[4],"flags",WEED_PARAMETER_REINIT_ON_VALUE_CHANGE); - weed_set_int_value(in_params[5],"flags",WEED_PARAMETER_REINIT_ON_VALUE_CHANGE); + weed_set_int_value(in_params[1], "flags", WEED_PARAMETER_REINIT_ON_VALUE_CHANGE); + weed_set_int_value(in_params[2], "flags", WEED_PARAMETER_REINIT_ON_VALUE_CHANGE); + weed_set_int_value(in_params[3], "flags", WEED_PARAMETER_REINIT_ON_VALUE_CHANGE); + weed_set_int_value(in_params[4], "flags", WEED_PARAMETER_REINIT_ON_VALUE_CHANGE); + weed_set_int_value(in_params[5], "flags", WEED_PARAMETER_REINIT_ON_VALUE_CHANGE); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info;
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/softlight.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/softlight.c
Changed
@@ -21,10 +21,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -40,16 +40,16 @@ ///////////////////////////////////////////////////////////// static uint32_t sqrti(uint32_t n) { - register uint32_t root=0, remainder=n, place=0x40000000, tmp; + register uint32_t root = 0, remainder = n, place = 0x40000000, tmp; - while (place > remainder) place>>=2; + while (place > remainder) place >>= 2; while (place) { - if (remainder >= (tmp=(root + place))) { + if (remainder >= (tmp = (root + place))) { remainder -= tmp; - root+=(place << 1); + root += (place << 1); } - root>>=1; - place>>=2; + root >>= 1; + place >>= 2; } return root; } @@ -58,13 +58,13 @@ static void cp_chroma(unsigned char *dst, unsigned char *src, int irowstride, int orowstride, int width, int height) { - if (irowstride==orowstride&&irowstride==width) weed_memcpy(dst,src,width*height); + if (irowstride == orowstride && irowstride == width) weed_memcpy(dst, src, width * height); else { register int i; - for (i=0; i<height; i++) { - weed_memcpy(dst,src,width); - src+=irowstride; - dst+=orowstride; + for (i = 0; i < height; i++) { + weed_memcpy(dst, src, width); + src += irowstride; + dst += orowstride; } } } @@ -73,101 +73,104 @@ static int softlight_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error),*out_channel=weed_get_plantptr_value(inst,"out_channels", - &error); - uint8_t **srcp=(uint8_t **)weed_get_voidptr_array(in_channel,"pixel_data",&error); - uint8_t **dstp=(uint8_t **)weed_get_voidptr_array(out_channel,"pixel_data",&error); - int width=weed_get_int_value(in_channel,"width",&error); - int height=weed_get_int_value(in_channel,"height",&error); - int *irowstrides=weed_get_int_array(in_channel,"rowstrides",&error); - int *orowstrides=weed_get_int_array(out_channel,"rowstrides",&error); - int palette=weed_get_int_value(in_channel,"current_palette",&error); - int clamping=weed_get_int_value(in_channel,"YUV_clamping",&error); - int irowstride,orowstride; - uint8_t *src,*dst,*end; - int row0,row1,sum,scale=384,mix=192; - int ymin,ymax,nplanes; + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error), *out_channel = weed_get_plantptr_value(inst, + "out_channels", + &error); + uint8_t **srcp = (uint8_t **)weed_get_voidptr_array(in_channel, "pixel_data", &error); + uint8_t **dstp = (uint8_t **)weed_get_voidptr_array(out_channel, "pixel_data", &error); + int width = weed_get_int_value(in_channel, "width", &error); + int height = weed_get_int_value(in_channel, "height", &error); + int *irowstrides = weed_get_int_array(in_channel, "rowstrides", &error); + int *orowstrides = weed_get_int_array(out_channel, "rowstrides", &error); + int palette = weed_get_int_value(in_channel, "current_palette", &error); + int clamping = weed_get_int_value(in_channel, "YUV_clamping", &error); + int irowstride, orowstride; + uint8_t *src, *dst, *end; + int row0, row1, sum, scale = 384, mix = 192; + int ymin, ymax, nplanes; register int i; // get the Y planes - src=srcp[0]; - dst=dstp[0]; + src = srcp[0]; + dst = dstp[0]; - irowstride=irowstrides[0]; - orowstride=orowstrides[0]; + irowstride = irowstrides[0]; + orowstride = orowstrides[0]; // skip top scanline - weed_memcpy(dst,src,width); + weed_memcpy(dst, src, width); - src+=irowstride; - dst+=orowstride; + src += irowstride; + dst += orowstride; // calc end - end=src+(height-2)*irowstride; + end = src + (height - 2) * irowstride; // dst remainder after copying width - orowstride-=width; + orowstride -= width; - if (clamping==WEED_YUV_CLAMPING_UNCLAMPED) { - ymin=0; - ymax=255; + if (clamping == WEED_YUV_CLAMPING_UNCLAMPED) { + ymin = 0; + ymax = 255; } else { - ymin=16; - ymax=235; + ymin = 16; + ymax = 235; } // skip rightmost pixel width--; // process each row - for (; src<end; src+=(irowstride-width-1)) { + for (; src < end; src += (irowstride - width - 1)) { // skip leftmost pixel - *(dst++)=*src; + *(dst++) = *src; src++; // process all pixels except leftmost and rightmost - for (i=1; i<width; i++) { + for (i = 1; i < width; i++) { // do edge detect and convolve - row0=(*(src+irowstride-1) - *(src-irowstride-1)) + ((*(src+irowstride) - *(src-irowstride)) << 1) + (*(src+irowstride+1) - * - (src+irowstride-1)); - row1=(*(src-irowstride+1) - *(src-irowstride-1)) + ((*(src+1) - *(src-1)) << 1) + (*(src+irowstride+1) + *(src+irowstride-1)); + row0 = (*(src + irowstride - 1) - * (src - irowstride - 1)) + ((*(src + irowstride) - * (src - irowstride)) << 1) + (* + (src + irowstride + 1) - * + (src + irowstride - 1)); + row1 = (*(src - irowstride + 1) - * (src - irowstride - 1)) + ((*(src + 1) - * (src - 1)) << 1) + (*(src + irowstride + 1) + * + (src + irowstride - 1)); - sum= ((3 * sqrti(row0 * row0 + row1 *row1) / 2) * scale) >>8; + sum = ((3 * sqrti(row0 * row0 + row1 * row1) / 2) * scale) >> 8; // clamp - sum=(sum<ymin?ymin:sum>ymax?ymax:sum); + sum = (sum < ymin ? ymin : sum > ymax ? ymax : sum); // mix 25% effected with 75% original - sum=((256-mix)*sum+mix*(*src))>>8; + sum = ((256 - mix) * sum + mix * (*src)) >> 8; - *(dst++)=(uint8_t)(sum=(sum<ymin?ymin:sum>ymax?ymax:sum)); + *(dst++) = (uint8_t)(sum = (sum < ymin ? ymin : sum > ymax ? ymax : sum)); src++; } // skip rightmost pixel - *(dst++)=*src; + *(dst++) = *src; src++; // dst to next row - dst+=orowstride; + dst += orowstride; } width++; // copy bottom row - weed_memcpy(dst,src,width); + weed_memcpy(dst, src, width); - if (palette==WEED_PALETTE_YUV420P||palette==WEED_PALETTE_YVU420P) height>>=1; - if (palette==WEED_PALETTE_YUV420P||palette==WEED_PALETTE_YVU420P||palette==WEED_PALETTE_YUV422P) width>>=1; + if (palette == WEED_PALETTE_YUV420P || palette == WEED_PALETTE_YVU420P) height >>= 1; + if (palette == WEED_PALETTE_YUV420P || palette == WEED_PALETTE_YVU420P || palette == WEED_PALETTE_YUV422P) width >>= 1; - if (palette==WEED_PALETTE_YUVA4444P) nplanes=4; - else nplanes=3; + if (palette == WEED_PALETTE_YUVA4444P) nplanes = 4; + else nplanes = 3; - for (i=1; i<nplanes; i++) { - cp_chroma(dstp[i],srcp[i],irowstrides[i],orowstrides[i],width,height); + for (i = 1; i < nplanes; i++) { + cp_chroma(dstp[i], srcp[i], irowstrides[i], orowstrides[i], width, height); } weed_free(srcp); @@ -182,21 +185,22 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_YUV444P,WEED_PALETTE_YUVA4444P,WEED_PALETTE_YUV422P,WEED_PALETTE_YUV420P,WEED_PALETTE_YVU420P,WEED_PALETTE_END}; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_YUV444P, WEED_PALETTE_YUVA4444P, WEED_PALETTE_YUV422P, WEED_PALETTE_YUV420P, WEED_PALETTE_YVU420P, WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",0,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",0,palette_list),NULL}; - weed_plant_t *filter_class=weed_filter_class_init("softlight","salsaman",1,0,NULL,&softlight_process,NULL,in_chantmpls,out_chantmpls,NULL, - NULL); + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", 0, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", 0, palette_list), NULL}; + weed_plant_t *filter_class = weed_filter_class_init("softlight", "salsaman", 1, 0, NULL, &softlight_process, NULL, in_chantmpls, + out_chantmpls, NULL, + NULL); // set preference of unclamped - weed_set_int_value(in_chantmpls[0],"YUV_clamping",WEED_YUV_CLAMPING_UNCLAMPED); + weed_set_int_value(in_chantmpls[0], "YUV_clamping", WEED_YUV_CLAMPING_UNCLAMPED); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/syna.h -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/syna.h
Changed
@@ -4,12 +4,12 @@ - Marq */ -enum { Nc1=0,NC1,Nd1,ND1, Ne1,Nf1,NF1,Ng1, NG1,Na1,NA1,Nb1, - Nc2, NC2,Nd2,ND2, Ne2,Nf2,NF2,Ng2, NG2,Na2,NA2,Nb2, - Nc3, NC3,Nd3,ND3, Ne3,Nf3,NF3,Ng3, NG3,Na3,NA3,Nb3, - Nc4, NC4,Nd4,ND4, Ne4,Nf4,NF4,Ng4, NG4,Na4,NA4,Nb4, - Nc5, NC5,Nd5,ND5, Ne5,Nf5,NF5,Ng5, NG5,Na5,NA5,Nb5, - Nc6, NC6,Nd6,ND6, Ne6,Nf6,NF6,Ng6, NG6,Na6,NA6,Nb6, +enum { Nc1 = 0, NC1, Nd1, ND1, Ne1, Nf1, NF1, Ng1, NG1, Na1, NA1, Nb1, + Nc2, NC2, Nd2, ND2, Ne2, Nf2, NF2, Ng2, NG2, Na2, NA2, Nb2, + Nc3, NC3, Nd3, ND3, Ne3, Nf3, NF3, Ng3, NG3, Na3, NA3, Nb3, + Nc4, NC4, Nd4, ND4, Ne4, Nf4, NF4, Ng4, NG4, Na4, NA4, Nb4, + Nc5, NC5, Nd5, ND5, Ne5, Nf5, NF5, Ng5, NG5, Na5, NA5, Nb5, + Nc6, NC6, Nd6, ND6, Ne6, Nf6, NF6, Ng6, NG6, Na6, NA6, Nb6, NECHON, NECHOFF, NSTOP, NVOL, NSLIDE, NEMPTY /* Special "notes" */ }; @@ -51,17 +51,17 @@ typedef struct { float *aalto[WAVES]; - int *instr[INSTR],*echo[INSTR],vol[INSTR],pola[INSTR], - prev[INSTR],pan[INSTR],off[INSTR],plus[INSTR],slide[INSTR]; + int *instr[INSTR], *echo[INSTR], vol[INSTR], pola[INSTR], + prev[INSTR], pan[INSTR], off[INSTR], plus[INSTR], slide[INSTR]; // an addition for Syna Live -Antti int live_row[INSTR]; int new_live_row[INSTR]; - int global,slen,update,new_update,trak[INSTR][PTLEN],ptn[MAXR][PTLEN], - ti[INSTR],pi[INSTR],len[INSTR],ekolen; + int global, slen, update, new_update, trak[INSTR][PTLEN], ptn[MAXR][PTLEN], + ti[INSTR], pi[INSTR], len[INSTR], ekolen; - char *module,eko[INSTR]; + char *module, eko[INSTR]; int song_bpm; @@ -73,24 +73,24 @@ } _sdata; -static char *notes[]= { - "c1","C1","d1","D1", "e1","f1","F1","g1", "G1","a1","A1","b1", - "c2","C2","d2","D2", "e2","f2","F2","g2", "G2","a2","A2","b2", - "c3","C3","d3","D3", "e3","f3","F3","g3", "G3","a3","A3","b3", - "c4","C4","d4","D4", "e4","f4","F4","g4", "G4","a4","A4","b4", - "c5","C5","d5","D5", "e5","f5","F5","g5", "G5","a5","A5","b5", - "c6","C6","d6","D6", "e6","f6","F6","g6", "G6","a6","A6","b6", - "echo1","echo0","stop","vol","sld","0" +static char *notes[] = { + "c1", "C1", "d1", "D1", "e1", "f1", "F1", "g1", "G1", "a1", "A1", "b1", + "c2", "C2", "d2", "D2", "e2", "f2", "F2", "g2", "G2", "a2", "A2", "b2", + "c3", "C3", "d3", "D3", "e3", "f3", "F3", "g3", "G3", "a3", "A3", "b3", + "c4", "C4", "d4", "D4", "e4", "f4", "F4", "g4", "G4", "a4", "A4", "b4", + "c5", "C5", "d5", "D5", "e5", "f5", "F5", "g5", "G5", "a5", "A5", "b5", + "c6", "C6", "d6", "D6", "e6", "f6", "F6", "g6", "G6", "a6", "A6", "b6", + "echo1", "echo0", "stop", "vol", "sld", "0" }; -static int notei[]= { - 0,0,0,0, 0,0,0,0, 0,0,0,0, - 0,0,0,0, 0,0,0,0, 0,0,0,0, - 0,0,0,0, 0,0,0,0, 0,0,0,0, - 0,0,0,0, 0,0,0,0, 0,0,0,0, - 0,0,0,0, 0,0,0,0, 0,0,0,0, - 1047,1109,1175,1245, 1319,1397,1480,1568, 1661,1760,1864,1976, - ECHON,ECHOFF,STOP,VOL,SLIDE,0 +static int notei[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1047, 1109, 1175, 1245, 1319, 1397, 1480, 1568, 1661, 1760, 1864, 1976, + ECHON, ECHOFF, STOP, VOL, SLIDE, 0 };
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/targeted_zoom.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/targeted_zoom.c
Changed
@@ -17,10 +17,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -38,69 +38,69 @@ int tzoom_process(weed_plant_t *inst, weed_timecode_t timecode) { int error; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error); - weed_plant_t *out_channel=weed_get_plantptr_value(inst,"out_channels",&error); + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error); + weed_plant_t *out_channel = weed_get_plantptr_value(inst, "out_channels", &error); - unsigned char *src=weed_get_voidptr_value(in_channel,"pixel_data",&error); - unsigned char *dst=weed_get_voidptr_value(out_channel,"pixel_data",&error); + unsigned char *src = weed_get_voidptr_value(in_channel, "pixel_data", &error); + unsigned char *dst = weed_get_voidptr_value(out_channel, "pixel_data", &error); - int pal=weed_get_int_value(in_channel,"current_palette",&error); + int pal = weed_get_int_value(in_channel, "current_palette", &error); - int width=weed_get_int_value(in_channel,"width",&error); - int height=weed_get_int_value(in_channel,"height",&error); + int width = weed_get_int_value(in_channel, "width", &error); + int height = weed_get_int_value(in_channel, "height", &error); - int irowstride=weed_get_int_value(in_channel,"rowstrides",&error); - int orowstride=weed_get_int_value(out_channel,"rowstrides",&error); + int irowstride = weed_get_int_value(in_channel, "rowstrides", &error); + int orowstride = weed_get_int_value(out_channel, "rowstrides", &error); //int palette=weed_get_int_value(out_channel,"current_palette",&error); weed_plant_t **in_params; - double offsx,offsy,scale; + double offsx, offsy, scale; - int dx,dy,dr; + int dx, dy, dr; int sy; - int offset=0,dheight=height; + int offset = 0, dheight = height; - int psize=4; + int psize = 4; - register int x,y; + register int x, y; - if (pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24||pal==WEED_PALETTE_YUV888) psize=3; + if (pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24 || pal == WEED_PALETTE_YUV888) psize = 3; - if (pal==WEED_PALETTE_UYVY||pal==WEED_PALETTE_YUYV) width>>=1; // 2 pixels per macropixel + if (pal == WEED_PALETTE_UYVY || pal == WEED_PALETTE_YUYV) width >>= 1; // 2 pixels per macropixel - in_params=weed_get_plantptr_array(inst,"in_parameters",&error); + in_params = weed_get_plantptr_array(inst, "in_parameters", &error); - scale=weed_get_double_value(in_params[0],"value",&error); - offsx=weed_get_double_value(in_params[1],"value",&error); - offsy=weed_get_double_value(in_params[2],"value",&error); + scale = weed_get_double_value(in_params[0], "value", &error); + offsx = weed_get_double_value(in_params[1], "value", &error); + offsy = weed_get_double_value(in_params[2], "value", &error); weed_free(in_params); - if (scale<1.) scale=1.; - if (offsx<0.) offsx=0.; - if (offsx>1.) offsx=1.; - if (offsy<0.) offsy=0.; - if (offsy>1.) offsy=1.; + if (scale < 1.) scale = 1.; + if (offsx < 0.) offsx = 0.; + if (offsx > 1.) offsx = 1.; + if (offsy < 0.) offsy = 0.; + if (offsy > 1.) offsy = 1.; - offsx*=width; - offsy*=height; + offsx *= width; + offsy *= height; // new threading arch - if (weed_plant_has_leaf(out_channel,"offset")) { - offset=weed_get_int_value(out_channel,"offset",&error); - dheight=weed_get_int_value(out_channel,"height",&error); + if (weed_plant_has_leaf(out_channel, "offset")) { + offset = weed_get_int_value(out_channel, "offset", &error); + dheight = weed_get_int_value(out_channel, "height", &error); } - for (y=offset; y<dheight+offset; y++) { - dy=(int)((double)y-offsy)/scale+offsy; - sy=dy*irowstride; - dr=y*orowstride; + for (y = offset; y < dheight + offset; y++) { + dy = (int)((double)y - offsy) / scale + offsy; + sy = dy * irowstride; + dr = y * orowstride; - for (x=0; x<width; x++) { - dx=(int)((double)x-offsx)/scale+offsx; - weed_memcpy(dst+dr+x*psize,src+sy+dx*psize,psize); + for (x = 0; x < width; x++) { + dx = (int)((double)x - offsx) / scale + offsx; + weed_memcpy(dst + dr + x * psize, src + sy + dx * psize, psize); } } @@ -110,31 +110,31 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { // all planar palettes - int palette_list[]= {WEED_PALETTE_BGR24,WEED_PALETTE_RGB24,WEED_PALETTE_YUV888,WEED_PALETTE_YUVA8888,WEED_PALETTE_RGBA32,WEED_PALETTE_ARGB32,WEED_PALETTE_BGRA32,WEED_PALETTE_UYVY,WEED_PALETTE_YUYV,WEED_PALETTE_END}; + int palette_list[] = {WEED_PALETTE_BGR24, WEED_PALETTE_RGB24, WEED_PALETTE_YUV888, WEED_PALETTE_YUVA8888, WEED_PALETTE_RGBA32, WEED_PALETTE_ARGB32, WEED_PALETTE_BGRA32, WEED_PALETTE_UYVY, WEED_PALETTE_YUYV, WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",0,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",0,palette_list),NULL}; + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", 0, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", 0, palette_list), NULL}; - weed_plant_t *in_params[]= {weed_float_init("scale","_Scale",1.,1.,16.),weed_float_init("xoffs","_X offset",0.5,0.,1.),weed_float_init("yoffs","_Y offset",0.5,0.,1.),NULL}; + weed_plant_t *in_params[] = {weed_float_init("scale", "_Scale", 1., 1., 16.), weed_float_init("xoffs", "_X offset", 0.5, 0., 1.), weed_float_init("yoffs", "_Y offset", 0.5, 0., 1.), NULL}; - weed_plant_t *filter_class=weed_filter_class_init("targeted zoom","salsaman",1,WEED_FILTER_HINT_MAY_THREAD,NULL,&tzoom_process,NULL, - in_chantmpls,out_chantmpls,in_params,NULL); + weed_plant_t *filter_class = weed_filter_class_init("targeted zoom", "salsaman", 1, WEED_FILTER_HINT_MAY_THREAD, NULL, &tzoom_process, NULL, + in_chantmpls, out_chantmpls, in_params, NULL); - weed_plant_t *gui=weed_filter_class_get_gui(filter_class); + weed_plant_t *gui = weed_filter_class_get_gui(filter_class); // define RFX layout - char *rfx_strings[]= {"layout|p0|","layout|p1|p2|","special|framedraw|singlepoint|1|2|"}; + char *rfx_strings[] = {"layout|p0|", "layout|p1|p2|", "special|framedraw|singlepoint|1|2|"}; - weed_set_string_value(gui,"layout_scheme","RFX"); - weed_set_string_value(gui,"rfx_delim","|"); - weed_set_string_array(gui,"rfx_strings",3,rfx_strings); + weed_set_string_value(gui, "layout_scheme", "RFX"); + weed_set_string_value(gui, "rfx_delim", "|"); + weed_set_string_array(gui, "rfx_strings", 3, rfx_strings); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/textfun.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/textfun.c
Changed
@@ -18,10 +18,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=2; // version of this package +static int package_version = 2; // version of this package ////////////////////////////////////////////////////////////////// @@ -51,26 +51,26 @@ static uint8_t onescount[65536]; void makeonescount(void) { - int i,j; - for (i=0; i<65536; i++) { - onescount[i]=0; - for (j=0; j<16; j++) { - if (i&(1<<j)) onescount[i]++; + int i, j; + for (i = 0; i < 65536; i++) { + onescount[i] = 0; + for (j = 0; j < 16; j++) { + if (i & (1 << j)) onescount[i]++; } } } static int get_hex_digit(char *d) { char c[2]; - c[0]=*d; - c[1]=0; - - if (!strcmp(c,"a")||!strcmp(c,"A")) return 10; - if (!strcmp(c,"b")||!strcmp(c,"B")) return 11; - if (!strcmp(c,"c")||!strcmp(c,"C")) return 12; - if (!strcmp(c,"d")||!strcmp(c,"D")) return 13; - if (!strcmp(c,"e")||!strcmp(c,"E")) return 14; - if (!strcmp(c,"f")||!strcmp(c,"F")) return 15; + c[0] = *d; + c[1] = 0; + + if (!strcmp(c, "a") || !strcmp(c, "A")) return 10; + if (!strcmp(c, "b") || !strcmp(c, "B")) return 11; + if (!strcmp(c, "c") || !strcmp(c, "C")) return 12; + if (!strcmp(c, "d") || !strcmp(c, "D")) return 13; + if (!strcmp(c, "e") || !strcmp(c, "E")) return 14; + if (!strcmp(c, "f") || !strcmp(c, "F")) return 15; return (atoi(c)); } @@ -87,42 +87,44 @@ // this can be expanded by increasing NFONTMAPS - font_maps[0]= + font_maps[0] = "ANSI|8|0000183C3C3C18181800181800000000006666662400000000000000000000000000006C6CFE6C6C6CFE6C6C0000000018187CC6C2C07C060686C67C1818000000000000C2C60C183060C686000000000000386C6C3876DCCCCCCC76000000000030303060000000000000000000000000000C18303030303030180C00000000000030180C0C0C0C0C0C1830000000000000000000663CFF3C66000000000000000000000018187E181800000000000000000000000000000018181830000000000000000000007E0000000000000000000000000000000000001818000000000000000002060C183060C0800000000000007CC6C6CEDEF6E6C6C67C0000000000001838781818181818187E0000000000007CC6060C183060C0C6FE0000000000007CC606063C060606C67C0000000000000C1C3C6CCCFE0C0C0C1E000000000000FEC0C0C0FC060606C67C0000000000003860C0C0FCC6C6C6C67C000000000000FEC606060C18303030300000000000007CC6C6C67CC6C6C6C67C0000000000007CC6C6C67E0606060C78000000000000000018180000001818000000000000000000181800000018183000000000000000060C18306030180C060000000000000000007E00007E000000000000000000006030180C060C1830600000000000007CC6C60C1818180018180000000000007CC6C6C6DEDEDEDCC07C00000000000010386CC6C6FEC6C6C6C6000000000000FC6666667C66666666FC0000000000003C66C2C0C0C0C0C2663C000000000000F86C6666666666666CF8000000000000FE6662687868606266FE000000000000FE6662687868606060F00000000000003C66C2C0C0DEC6C6663A000000000000C6C6C6C6FEC6C6C6C6C60000000000003C18181818181818183C0000000000001E0C0C0C0C0CCCCCCC78000000000000E666666C78786C6666E6000000000000F06060606060606266FE000000000000C3E7FFFFDBC3C3C3C3C3000000000000C6E6F6FEDECEC6C6C6C60000000000007CC6C6C6C6C6C6C6C67C000000000000FC6666667C60606060F00000000000007CC6C6C6C6C6C6D6DE7C0C0E00000000FC6666667C6C666666E60000000000007CC6C660380C06C6C67C000000000000FFDB991818181818183C000000000000C6C6C6C6C6C6C6C6C67C000000000000C3C3C3C3C3C3C3663C18000000000000C3C3C3C3C3DBDBFF6666000000000000C3C3663C18183C66C3C3000000000000C3C3C3663C181818183C000000000000FFC3860C183060C1C3FF0000000000003C30303030303030303C0000000000000080C0E070381C0E06020000000000003C0C0C0C0C0C0C0C0C3C0000000010386CC600000000000000000000000000000000000000000000000000FF0000303018000000000000000000000000000000000000780C7CCCCCCC76000000000000E06060786C666666667C0000000000000000007CC6C0C0C0C67C0000000000001C0C0C3C6CCCCCCCCC760000000000000000007CC6FEC0C0C67C000000000000386C6460F060606060F000000000000000000076CCCCCCCCCC7C0CCC78000000E060606C7666666666E60000000000001818003818181818183C0000000000000606000E06060606060666663C000000E06060666C78786C66E60000000000003818181818181818183C000000000000000000E6FFDBDBDBDBDB000000000000000000DC6666666666660000000000000000007CC6C6C6C6C67C000000000000000000DC66666666667C6060F000000000000076CCCCCCCCCC7C0C0C1E000000000000DC7666606060F00000000000000000007CC660380CC67C000000000000103030FC30303030361C000000000000000000CCCCCCCCCCCC76000000000000000000C3C3C3C3663C18000000000000000000C3C3C3DBDBFF66000000000000000000C3663C183C66C3000000000000000000C6C6C6C6C6C67E060CF8000000000000FECC183060C6FE0000000000000E18181870181818180E00000000000018181818001818181818000000000000701818180E181818187000000000000076DC0000000000000000000000000000000010386CC6C6C6FE0000000000"; // hex encoded font map - Hiragana - font_maps[1]= + font_maps[1] = "Hiragana|16|0000000000000000020002E03F00024002400FF01488250822083C100060018000000100010001F83F000120012007F01A4822444144418443043C08003000C0000000000000000000000000300010101008100810041104120414000C00040000000000000060102010200820082004200420042104120414001800080008000000000000000000040003F0000001F026081804000400040008003000C003000000080007F00000000001F04608380400040004000400040008003000C007000000000000000000040003E0000020401FF00080010003C004400840107C000000001000080007C00000002041F03E40008001800280044008401040203E000000000000000000000000061002083FF4020007E00A101208120812080C10006000000800040804E47F02041E040007F00C081404240444044404380800700000000006000200020847C43C44044408420842085A104610822080270040000000000004040212020804107FC80444044408420842105E1042208026804100000000000100008C00F01F80004700F87F2000200010401040F02000180007F0000000000206011801E01E800047007803C03C200020001041F02010180007E00000000000700020004000800300040008000400020001000080006000100008000000000052004900800100020004000800100010000C00030000C00020001000000000206020102010201347FC40104010401044104810502030201040108000000000104220292024202047FF40204020402048205020502030203040118000000000000010000FF80010002000000000000000000000400020021FFC000000000000000200091FF40020004000000000000000000000400020021FFC00000000000001000080004E30700FC000200010001040C84038200010000C0003F80004000002040112008820FC1FC0004000200020401040F0400020001C0003FC00000000300008000800080008000800080010001002100410081010086007800000000010200910088008000800080008001000100110021004100810300FC00000000000E0002000204FFF302001A0026004200420026001A00040008003000C00000001840052004847FE3840004007C0084008C0074000400040008001000E000000002030100810081008FE7F1008100810081008D0083008000FFC0000000000000014104A08200820082008FE7F200820082009A0086008000C0003FC0000000000F01F20004000800100021E0FE014006400040004000400030000FC0000000000FA1F25004000800100021E0FE014006400040004000400030000FC0000000004000400046047803C7E040008000800080010001200120021FE4000000000000414040A046047803C7E040008000800080010001200120021FE40000000000003000100217C1F800200040005FC0E0208021002100200040008007003800000060A020542F83F00040008000BF81C041004200420040008001000E0070000000000000000000000000003F00C081004000400040008001000600380000000000000000001F80604780200020002000200020004000400180060078000000000000A000501F806047802000200020002000200040004001800600780000000000000003C07C07A000400040008000800080008000400020001F80000000000000000003C07C07A14040A040008000800080008000400020001F8000000000000030001000100010801180160038004000800100010001000080007FC000000000600020A02050210023002C007000800100020002000200010000FF8000000000400040007707C1C04100410081008100810101013F01418242443C2000000002000100011FC1000200040004000400040004C005200610021FE20001000000001000100410043F02D08110431022902450242024374448C388C0072000200000C000400047805847E04440408041804180428F4490C490638F9080008000000000007F01908210441044102410241024102420222021C040008003000C00000106010101010101E27F0201040104010401045F05A1C621261E1200000000000106A10151010101E27F0201040104010401045F05A1C621261E120000000000020C620292026203C4FE040208020802080208BE0B438C424C3C2400000000000010041003E08020804080808100C200C20122010201010200FC0000000000000010A41053E08020804080808100C200C20122010201010200FC0000000000000010641093E0E020804080808100C200C20122010201010200FC000000000000002000100008001400200040002000110008804440842104226404180000000000214010A00800140020004000200011000880444084210422640418000000000020C0112008C0140020004000200011000880444084210422640418000000000000000000300048008401020602000100008000400020001000000000000000000000014030A04800840102060200010000800040002000100000000000000000000000C0312048C0840102060200010000800040002000100000000000000002000107C11902010201E47F040104010401049F85214221221E1200000000000400A207527C04040407C8FC080408040804093F0A448444443824000000000004006207927C64040407C8FC080408040804093E0A458444443824000000000000180008000FE7F800080008000FC3F80008000800FE0109810860F0000000000018022801C8000980108010802080FF0321842144422482130400080010000001800041005887E04040204023C00440444044C0434080408041003E000000000018030801080108017E01918290449024502460245024804301800600180000006000200020022001FE0040044043FF40402040204020402040403F800000000000000000000000000801040087805A446243A040288027001000100010000000100108020F8214422421C027002080409F8040004000200020002000100000000000000000000001180108011F81684188420842084229821E001000600000001802040107811C4124224424842504260424442424421F8108003000400000000000000000000000180008000FC0080008000800F8010E0119C0E0000000000018000800080008600F800800080008000801FC020B0208C21021E0100000000060001E018001000100010F01308140418041004200420040008003007C000040408080808090A0A0C04000000030000007811900E2000400080010003F804040802138264420442044C03F00000000018000400047004903F104410041004100C101411241154120C0C040000000000006011A00E400080010002780784080210022002400200040008003003C0000000000000000000000600040004F01F88060404040C041404140804100460000010000800040004000C78158466020C02140224024402440274040C080470000001C006401880010003E00D18120422024402440244E24912311400F80010000013E00C4000800170078808041304148404F80380081C182224424382000400000100010011380FC0020003000487085870E0034004400840080007FE000000000700010002000200040004000800080017801842104220442044404800300000000000000000000003FC1C080010012001C001000100020002000400080000000000000047FE3804011801E001000100010002000200040008001000000000000000000000000001020C00000000000000180008001000100020004000C0014002400C403040004000400040000000000000000000000000010001001FF01110101010201040004000800100020000000100010001001FF811081008100810081010101000200040008003000C0000000000000000000000000000001FF0010001000100010001003FFC0000000000000000000000000000107C0F8001000100010001000100010043FE3C000000000000000000000000000080004000401FFC00C0014002400440184000C0000000000100008000400040407F3FC0004000C00140024004400840104061C00040000003000100010001FC7F040104010401040104020402080488087010006000000001040112010801003FFC01040104010402040204040408881078200040000000040002000100010047FC39000100010001FF7E8000800080008000800000000004000214010A010047FC39000100010001FF7E8000800080008000800000000001000100010003FC040808081010201040200040008001000600180060000000010A0105010003FC04080808101020104020004000800100060018006000000006000200020004000FFE082010202020404000400080010002000400080000000614020A020004000FFE0820102020204040004000800100020004000800000000000000000020001FF800080008000800080008001000107FFC00000000000000000014000A20001FF800080008000800080008001000107FFC0000000000000060182004200420043E7FE00420042004200420044000400080010002000000006A182504200420043E7FE0042004200420042004400040008001000200000000001000080004002002100408080010002000400080110012000C000000000000501028080004002002100408080010002000400080110012000C00000000000000107C0F840008000800100020004000E00110020804041802600000000000000A20F51F100010002000200040008001C00220041008083004C00000000000000008000400040004FC0F087410042004C004000400040007FE0000000000000004080A0404040004FC0F087410042004C004000400040007FE00000000000000000008100808080408041004100020002000400080010002000C0000000000000A0005201010100810082008200040004000800100020004001800000000000100010001FC020404080C101220212040C00080014002000400180060000000020A020503F804080810182024404240818001000280040008003000C00000000000001803E03C800080008003FE7C80008001000100020004001800000000000000003007C279050102010007FCF9000100020002000400080030000000000000000000000000000200110808880488041000100020004000800100060000000000020E21021102108408840808000800100020004000800100060018000000000A0405421822082108111010100020002000400080010002000C003000000010180FE0000000004FFE3080008000800080010001000200040008003000000020301FCA000500009FFC61000100010001000200020004000800100060000003010101010101010101010101010100000314010A01000100010001E00118010401000100010001000100010001000000018000800080008040FE3F80008000800080010001000200040018000000000000000000000000001FF80000000000000000000043FE3C000000000000000000000000001FFC0008000800100610012000C000A001100208040418026000000004000200010000F03F200040008001E003180D0471020102010001000100000000000018000400040008000800100010002000400080010002000C003000000000000040064002200210021004080408080408041002100220024000000000000014004A06400220021002100408040808040804100210022002400000000000000C0052064C02200210021004080408080408041002100220024000000000000000300010001000100C107013801C00100010001000100010041FFC0000000000003014100A1000100C107013801C00100010001000100010041FFC00000000000C3012100C1000100C107013801C00100010001000100010041FFC000000000000000023FC1C04000400080008001000200040008001000200040018000000000A000547F838080008001000100020004000800100020004000800300000000006000947FE3808000800100010002000400080010002000400080030000000000000000200050004800840102060100008000400020002000000000000000000000004001203080480084010206010000800040002000200000000000000000000000C0012030C04800840102060100008000400020002000000000000000003000100010041FE3F00012009100908110811042104410005000300000000000314010A010041FE3F0001200910090811081104210441000500030000000000030C0112010C41FE3F000120091009081108110421044100050003000000000000000000003E43C23C04000800101820064001800080004000400000000000001E0001C00030000C1C0003800060001800041C00030000C00030000800000000020001000100010002000200044004200810100810F82704780200020002000000780008000800100110009000600020005000880104020004001800000000000000000001F81F0001000100010007FE790001000100010001FF0000000000000000000000000000040002000278078879100120014001000100010000000000040004000200023E03C24F043108011001200140008000800080008000000000000000000000000000000000000000000FE000200020002000203FFC000000000000000000000000000000001FF00010001000100020002000207FFE000000000000000000000000000000000FF8000800080FF80010001000101FF0000000000000000000001FFC00040004000400041FF800080008000800087FF8000000000FF800000000000043FC3C0400040008001000200040018006000800100000000020101008100810081008100810081008100810001000200040018006000000030019000900090009000900090109020904090811101120214041800000000000000000100010001001100210041008101010201040118016001800000000000000000000001FF81008100810081008100810081FF810001000000000000000000000000000000010001FF01010101010200020004000400080010002000000000000001FF810081008100810081010001000200020004000800100020000000080008000803FFC08800880088008807FFF008000800080008000800080000000000000000001F83E1000600180010001000100010047FE3800000000000000000000003FF80008000800081FF800080010001000200040008003000C00000000000000300008040404040800080010002000400080010002003C00000000000214010A010001001FF81008100810101010102000400080010002000400000000000000000000000100010001F01F1001100110021002100410086010000000000000000000000000000400040004780FA0104020400080010002000400"; - font_maps[2]="diamond|16|0000000000000000018003C007E00FF01FF83FFC7FFE3FFC1FF80FF007E003C001800000"; + font_maps[2] = "diamond|16|0000000000000000018003C007E00FF01FF83FFC7FFE3FFC1FF80FF007E003C001800000"; - int i,j,k; + int i, j, k; int nglyphs; size_t len; - for (k=0; k<NFONTMAPS; k++) { - len=strcspn(font_maps[k],"|"); - font_tables[k].fontname=weed_malloc(len+1); - weed_memcpy(font_tables[k].fontname,font_maps[k],len); - weed_memset(font_tables[k].fontname+len,0,1); - font_maps[k]+=len+1; - font_tables[k].width=atoi(font_maps[k]); - len=strcspn(font_maps[k],"|"); - font_maps[k]+=len+1; - nglyphs=strlen(font_maps[k])/4/font_tables[k].width; - font_tables[k].nglyphs=++nglyphs; - font_tables[k].fonttable=weed_malloc(32*nglyphs); - - for (i=0; i<nglyphs*16; i+=16) { - for (j=0; j<16; j++) { - if (i==0) font_tables[k].fonttable[j]=0; // make sure we have a space + for (k = 0; k < NFONTMAPS; k++) { + len = strcspn(font_maps[k], "|"); + font_tables[k].fontname = weed_malloc(len + 1); + weed_memcpy(font_tables[k].fontname, font_maps[k], len); + weed_memset(font_tables[k].fontname + len, 0, 1); + font_maps[k] += len + 1; + font_tables[k].width = atoi(font_maps[k]); + len = strcspn(font_maps[k], "|"); + font_maps[k] += len + 1; + nglyphs = strlen(font_maps[k]) / 4 / font_tables[k].width; + font_tables[k].nglyphs = ++nglyphs; + font_tables[k].fonttable = weed_malloc(32 * nglyphs); + + for (i = 0; i < nglyphs * 16; i += 16) { + for (j = 0; j < 16; j++) { + if (i == 0) font_tables[k].fonttable[j] = 0; // make sure we have a space else { - if (font_tables[k].width==16) { - font_tables[k].fonttable[i+j]=((get_hex_digit(&font_maps[k][(i-16+j)*4])<<12)+(get_hex_digit(&font_maps[k][(i-16+j)*4+1])<<8)+ - (get_hex_digit(&font_maps[k][(i-16+j)*4+2])<<4)+(get_hex_digit(&font_maps[k][(i-16+j)*4+3]))); + if (font_tables[k].width == 16) { + font_tables[k].fonttable[i + j] = ((get_hex_digit(&font_maps[k][(i - 16 + j) * 4]) << 12) + (get_hex_digit( + &font_maps[k][(i - 16 + j) * 4 + 1]) << 8) + + (get_hex_digit(&font_maps[k][(i - 16 + j) * 4 + 2]) << 4) + (get_hex_digit(&font_maps[k][(i - 16 + j) * 4 + 3]))); } else { - font_tables[k].fonttable[i+j]=((get_hex_digit(&font_maps[k][(i-16+j)*2])<<4)+(get_hex_digit(&font_maps[k][(i-16+j)*2+1]))); + font_tables[k].fonttable[i + j] = ((get_hex_digit(&font_maps[k][(i - 16 + j) * 2]) << 4) + (get_hex_digit( + &font_maps[k][(i - 16 + j) * 2 + 1]))); } } } @@ -162,13 +164,13 @@ */ for (i = 0; i < 256; i++) { Y_R[i] = myround(0.299 * (double)i - * 219.0 / 255.0 * (double)(1<<FP_BITS)); + * 219.0 / 255.0 * (double)(1 << FP_BITS)); Y_G[i] = myround(0.587 * (double)i - * 219.0 / 255.0 * (double)(1<<FP_BITS)); + * 219.0 / 255.0 * (double)(1 << FP_BITS)); Y_B[i] = myround((0.114 * (double)i - * 219.0 / 255.0 * (double)(1<<FP_BITS)) - + (double)(1<<(FP_BITS-1)) - + (16.0 * (double)(1<<FP_BITS))); + * 219.0 / 255.0 * (double)(1 << FP_BITS)) + + (double)(1 << (FP_BITS - 1)) + + (16.0 * (double)(1 << FP_BITS))); } } @@ -176,49 +178,49 @@ static inline uint8_t calc_luma(uint8_t *pixel) { - return (Y_R[pixel[0]] + Y_G[pixel[1]]+ Y_B[pixel[2]]) >> FP_BITS; + return (Y_R[pixel[0]] + Y_G[pixel[1]] + Y_B[pixel[2]]) >> FP_BITS; } static inline uint8_t make_lumbyte(unsigned char *img, uint8_t thresh) { // here we map 8 pixels to one byte; if the luma of a pixel is > THRESH we set a 1, otherwise a 0 - uint8_t lumbyte=0; + uint8_t lumbyte = 0; register int i; - for (i=7; i>=0; i--) { - if (calc_luma(img)>thresh) lumbyte|=(1<<i); - img+=3; + for (i = 7; i >= 0; i--) { + if (calc_luma(img) > thresh) lumbyte |= (1 << i); + img += 3; } return lumbyte; } -static inline void fill_line(int fontwidth, unsigned char *src,unsigned char *dst, unsigned char *fillval, unsigned short fontrow, +static inline void fill_line(int fontwidth, unsigned char *src, unsigned char *dst, unsigned char *fillval, unsigned short fontrow, int type) { register int i; - for (i=fontwidth-1; i>=0; i--) { + for (i = fontwidth - 1; i >= 0; i--) { switch (type) { case 0: // coloured pixels - if (fontrow&(1<<i)) weed_memcpy(dst,src,3); - else weed_memset(dst,0,3); - src+=3; + if (fontrow & (1 << i)) weed_memcpy(dst, src, 3); + else weed_memset(dst, 0, 3); + src += 3; break; case 1: // monochrome - if (fontrow&(1<<i)) weed_memset(dst,255,3); - else weed_memset(dst,0,3); + if (fontrow & (1 << i)) weed_memset(dst, 255, 3); + else weed_memset(dst, 0, 3); break; case 2: // greyscale case 3: // colour blocks - if (fontrow&(1<<i)) weed_memcpy(dst,fillval,3); - else weed_memset(dst,0,3); + if (fontrow & (1 << i)) weed_memcpy(dst, fillval, 3); + else weed_memset(dst, 0, 3); break; } - dst+=3; + dst += 3; } } @@ -228,13 +230,13 @@ register int i; unsigned char fillval[3]; - if (type==2) weed_memset(fillval,(src[0]+src[1]+src[2])/3,3); - else if (type==3) weed_memcpy(fillval,src,3); + if (type == 2) weed_memset(fillval, (src[0] + src[1] + src[2]) / 3, 3); + else if (type == 3) weed_memcpy(fillval, src, 3); - for (i=0; i<16; i++) { - fill_line(font_tables[fontnum].width,src,dst,fillval,font_tables[fontnum].fonttable[glyph*16+i],type); - dst+=drow; - if (type==0) src+=irow; + for (i = 0; i < 16; i++) { + fill_line(font_tables[fontnum].width, src, dst, fillval, font_tables[fontnum].fonttable[glyph * 16 + i], type); + dst += drow; + if (type == 0) src += irow; } } @@ -243,81 +245,83 @@ int textfun_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - unsigned int width3,irow16,orow16; - unsigned int startx,starty,endx; - register int j,k,l,m; - int minones,numones,minchar=0; + unsigned int width3, irow16, orow16; + unsigned int startx, starty, endx; + register int j, k, l, m; + int minones, numones, minchar = 0; int mode; uint8_t thresh; int fontnum; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error),*out_channel=weed_get_plantptr_value(inst,"out_channels", - &error); - unsigned char *src=weed_get_voidptr_value(in_channel,"pixel_data",&error); - unsigned char *dst=weed_get_voidptr_value(out_channel,"pixel_data",&error); - int width=weed_get_int_value(in_channel,"width",&error); - int height=weed_get_int_value(in_channel,"height",&error); - int irowstride=weed_get_int_value(in_channel,"rowstrides",&error); - int orowstride=weed_get_int_value(out_channel,"rowstrides",&error); - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error), *out_channel = weed_get_plantptr_value(inst, + "out_channels", + &error); + unsigned char *src = weed_get_voidptr_value(in_channel, "pixel_data", &error); + unsigned char *dst = weed_get_voidptr_value(out_channel, "pixel_data", &error); + int width = weed_get_int_value(in_channel, "width", &error); + int height = weed_get_int_value(in_channel, "height", &error); + int irowstride = weed_get_int_value(in_channel, "rowstrides", &error); + int orowstride = weed_get_int_value(out_channel, "rowstrides", &error); + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); unsigned char *end; - int skip,glyph16; + int skip, glyph16; - uint8_t lb[16],lb2[16]; + uint8_t lb[16], lb2[16]; - thresh=weed_get_int_value(in_params[0],"value",&error)&0xff; - mode=weed_get_int_value(in_params[1],"value",&error); - fontnum=weed_get_int_value(in_params[2],"value",&error); + thresh = weed_get_int_value(in_params[0], "value", &error) & 0xff; + mode = weed_get_int_value(in_params[1], "value", &error); + fontnum = weed_get_int_value(in_params[2], "value", &error); weed_free(in_params); // must weed free because we got an array - width=(width>>4)<<4; + width = (width >> 4) << 4; - width3=width*3; - irow16=irowstride<<4; - orow16=orowstride<<4; + width3 = width * 3; + irow16 = irowstride << 4; + orow16 = orowstride << 4; - if (font_tables[fontnum].width==8) startx=((width-((width>>3)<<3))>>1)*3; - else startx=((width-((width>>4)<<4))>>1)*3; - endx=width3-startx; + if (font_tables[fontnum].width == 8) startx = ((width - ((width >> 3) << 3)) >> 1) * 3; + else startx = ((width - ((width >> 4) << 4)) >> 1) * 3; + endx = width3 - startx; - starty=((height-((height>>4)<<4))>>1); - end=src+(height-15-starty)*irowstride; + starty = ((height - ((height >> 4) << 4)) >> 1); + end = src + (height - 15 - starty) * irowstride; - src+=starty*irowstride; - dst+=starty*orowstride; + src += starty * irowstride; + dst += starty * orowstride; - skip=font_tables[fontnum].width*3; - glyph16=font_tables[fontnum].nglyphs<<4; + skip = font_tables[fontnum].width * 3; + glyph16 = font_tables[fontnum].nglyphs << 4; //printf("ok2 %d %d %d\n",startx,endx,skip); // get a FONT_WIDTH x 16 block, compare with each character and find the minimum difference - for (; src<end; src+=irow16) { - for (j=startx; j<endx; j+=skip) { - minones=256; + for (; src < end; src += irow16) { + for (j = startx; j < endx; j += skip) { + minones = 256; - for (l=0; l<16; l++) lb[l]=make_lumbyte(&src[j+l*irowstride],thresh); - if (font_tables[fontnum].width==16) for (l=0; l<16; l++) lb2[l]=make_lumbyte(&src[j+l*irowstride+24],thresh); + for (l = 0; l < 16; l++) lb[l] = make_lumbyte(&src[j + l * irowstride], thresh); + if (font_tables[fontnum].width == 16) for (l = 0; l < 16; l++) lb2[l] = make_lumbyte(&src[j + l * irowstride + 24], thresh); - for (k=0; k<glyph16; k+=16) { - numones=m=0; + for (k = 0; k < glyph16; k += 16) { + numones = m = 0; // xor'ing our lumbyte with a font row, and then looking this up in onescount gives us the number of different bits - if (font_tables[fontnum].width==16) { - for (l=0; l<16; - l++) if ((numones+=onescount[(uint16_t)(((uint16_t)lb[l]<<8)+(uint16_t)lb2[l])^font_tables[fontnum].fonttable[k+(m++)]])>=minones) break; + if (font_tables[fontnum].width == 16) { + for (l = 0; l < 16; + l++) if ((numones += onescount[(uint16_t)(((uint16_t)lb[l] << 8) + (uint16_t)lb2[l])^font_tables[fontnum].fonttable[k + + (m++)]]) >= minones) break; } else { - for (l=0; l<16; l++) if ((numones+=onescount[(lb[l]^(uint8_t)(font_tables[fontnum].fonttable[k+(m++)]))])>=minones) break; + for (l = 0; l < 16; l++) if ((numones += onescount[(lb[l] ^ (uint8_t)(font_tables[fontnum].fonttable[k + (m++)]))]) >= minones) break; } - if (numones<minones) { - minones=numones; - minchar=k>>4; + if (numones < minones) { + minones = numones; + minchar = k >> 4; } } // fill 8x16 block in dest with char - fill_block(fontnum,&src[j],&dst[j],orowstride,irowstride,minchar,mode); + fill_block(fontnum, &src[j], &dst[j], orowstride, irowstride, minchar, mode); } - dst+=orow16; + dst += orow16; } return WEED_NO_ERROR; } @@ -326,36 +330,37 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); - if (plugin_info!=NULL) { - const char *modes[]= {"colour pixels","monochrome","greyscale","solid colours",NULL}; - int palette_list[]= {WEED_PALETTE_BGR24,WEED_PALETTE_RGB24,WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",0,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",0,palette_list),NULL}; + if (plugin_info != NULL) { + const char *modes[] = {"colour pixels", "monochrome", "greyscale", "solid colours", NULL}; + int palette_list[] = {WEED_PALETTE_BGR24, WEED_PALETTE_RGB24, WEED_PALETTE_END}; + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", 0, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", 0, palette_list), NULL}; weed_plant_t *in_params[4]; weed_plant_t *filter_class; - const char *fonts[NFONTMAPS+1]; + const char *fonts[NFONTMAPS + 1]; int i; make_font_tables(); - for (i=0; i<NFONTMAPS; i++) { - fonts[i]=font_tables[i].fontname; + for (i = 0; i < NFONTMAPS; i++) { + fonts[i] = font_tables[i].fontname; } - fonts[i]=NULL; + fonts[i] = NULL; - in_params[0]=weed_integer_init("threshold","Pixel _threshold",128,0,255); - in_params[1]=weed_string_list_init("mode","Colour _mode",0,modes); - in_params[2]=weed_string_list_init("font","_Font",0,fonts); - in_params[3]=NULL; + in_params[0] = weed_integer_init("threshold", "Pixel _threshold", 128, 0, 255); + in_params[1] = weed_string_list_init("mode", "Colour _mode", 0, modes); + in_params[2] = weed_string_list_init("font", "_Font", 0, fonts); + in_params[3] = NULL; - filter_class=weed_filter_class_init("textfun","salsaman",2,0,NULL,&textfun_process,NULL,in_chantmpls,out_chantmpls,in_params,NULL); + filter_class = weed_filter_class_init("textfun", "salsaman", 2, 0, NULL, &textfun_process, NULL, in_chantmpls, out_chantmpls, in_params, + NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); init_RGB_to_YCbCr_tables(); @@ -369,7 +374,7 @@ void weed_desetup(void) { int k; - for (k=0; k<NFONTMAPS; k++) { + for (k = 0; k < NFONTMAPS; k++) { weed_free(font_tables[k].fontname); weed_free(font_tables[k].fonttable); }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/tone_gen.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/tone_gen.c
Changed
@@ -18,10 +18,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=1; // number of different weed api versions supported -static int api_versions[]= {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 1; // number of different weed api versions supported +static int api_versions[] = {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -44,31 +44,31 @@ // we maintain the same number of channels and interleave if necessary - register size_t offs=0; - register float src_offset_f=0.f; - register int src_offset_i=0; - register int i,j; + register size_t offs = 0; + register float src_offset_f = 0.f; + register int src_offset_i = 0; + register int i, j; register double scale; - scale=(double)irate/(double)orate; + scale = (double)irate / (double)orate; - for (i=0; i<nsamps; i++) { + for (i = 0; i < nsamps; i++) { // process each sample if (inter) { - for (j=0; j<nchans; j++) { - outbuf[offs]=inbuf[j][src_offset_i]; + for (j = 0; j < nchans; j++) { + outbuf[offs] = inbuf[j][src_offset_i]; offs++; } } else { - for (j=0; j<nchans; j++) { - outbuf[offs+(j*nsamps)]=inbuf[j][src_offset_i]; + for (j = 0; j < nchans; j++) { + outbuf[offs + (j * nsamps)] = inbuf[j][src_offset_i]; } offs++; } // resample on the fly - src_offset_i=(int)(src_offset_f+=scale); + src_offset_i = (int)(src_offset_f += scale); } @@ -82,61 +82,61 @@ int tonegen_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - int chans,nsamps,inter,rate,nrsamps; + int chans, nsamps, inter, rate, nrsamps; - weed_plant_t *out_channel=weed_get_plantptr_value(inst,"out_channels",&error); - float *dst=weed_get_voidptr_value(out_channel,"audio_data",&error); + weed_plant_t *out_channel = weed_get_plantptr_value(inst, "out_channels", &error); + float *dst = weed_get_voidptr_value(out_channel, "audio_data", &error); - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); - double freq=weed_get_double_value(in_params[0],"value",&error); - double mult=weed_get_double_value(in_params[1],"value",&error); + double freq = weed_get_double_value(in_params[0], "value", &error); + double mult = weed_get_double_value(in_params[1], "value", &error); double trate; float **buff; - register int i,j; + register int i, j; weed_free(in_params); - chans=weed_get_int_value(out_channel,"audio_channels",&error); - nsamps=weed_get_int_value(out_channel,"audio_data_length",&error); - inter=weed_get_boolean_value(out_channel,"audio_interleaf",&error); - rate=weed_get_int_value(out_channel,"audio_rate",&error); + chans = weed_get_int_value(out_channel, "audio_channels", &error); + nsamps = weed_get_int_value(out_channel, "audio_data_length", &error); + inter = weed_get_boolean_value(out_channel, "audio_interleaf", &error); + rate = weed_get_int_value(out_channel, "audio_rate", &error); // fill with audio at TRATE - trate=freq*mult; + trate = freq * mult; - if (trate<0.) trate=-trate; + if (trate < 0.) trate = -trate; - if (trate==0.) { - memset(dst,0,nsamps*chans*sizeof(float)); + if (trate == 0.) { + memset(dst, 0, nsamps * chans * sizeof(float)); return WEED_NO_ERROR; } - nrsamps=((double)nsamps/(double)rate*trate+.5); - buff=weed_malloc(chans*sizeof(float *)); - for (i=0; i<chans; i++) { - buff[i]=weed_malloc(nrsamps*sizeof(float)); + nrsamps = ((double)nsamps / (double)rate * trate + .5); + buff = weed_malloc(chans * sizeof(float *)); + for (i = 0; i < chans; i++) { + buff[i] = weed_malloc(nrsamps * sizeof(float)); } - for (i=0; i<nrsamps; i++) { - for (j=0; j<chans; j++) { - buff[j][i]=1.; + for (i = 0; i < nrsamps; i++) { + for (j = 0; j < chans; j++) { + buff[j][i] = 1.; } i++; - if (i<nrsamps) { - for (j=0; j<chans; j++) { - buff[j][i]=-1.; + if (i < nrsamps) { + for (j = 0; j < chans; j++) { + buff[j][i] = -1.; } } } - resample(buff,dst,nsamps,chans,inter,trate,rate); + resample(buff, dst, nsamps, chans, inter, trate, rate); - for (i=0; i<chans; i++) { + for (i = 0; i < chans; i++) { weed_free(buff[i]); } @@ -149,18 +149,18 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - weed_plant_t *out_chantmpls[]= {weed_audio_channel_template_init("out channel 0",0),NULL}; - weed_plant_t *in_params[]= {weed_float_init("freq","_Frequency",7500.,0.0,48000.0), - weed_float_init("multiplier","Frequency _Multiplier",1.,.01,1000.),NULL - }; - weed_plant_t *filter_class=weed_filter_class_init("tone generator","salsaman",1,0,NULL,&tonegen_process, - NULL,NULL,out_chantmpls,in_params,NULL); - - weed_plugin_info_add_filter_class(plugin_info,filter_class); - - weed_set_int_value(plugin_info,"version",package_version); + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + weed_plant_t *out_chantmpls[] = {weed_audio_channel_template_init("out channel 0", 0), NULL}; + weed_plant_t *in_params[] = {weed_float_init("freq", "_Frequency", 7500., 0.0, 48000.0), + weed_float_init("multiplier", "Frequency _Multiplier", 1., .01, 1000.), NULL + }; + weed_plant_t *filter_class = weed_filter_class_init("tone generator", "salsaman", 1, 0, NULL, &tonegen_process, + NULL, NULL, out_chantmpls, in_params, NULL); + + weed_plugin_info_add_filter_class(plugin_info, filter_class); + + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/toonz.cpp -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/toonz.cpp
Changed
@@ -6,20 +6,20 @@ /* All rights reserved. -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions + Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - Redistributions in binary form must reproduce the above copyright notice, this list of conditions + Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ @@ -40,7 +40,7 @@ #include <array> #include <random> - + #ifdef HAVE_SYSTEM_WEED #include <weed/weed.h> #include <weed/weed-palettes.h> @@ -53,10 +53,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=1; // number of different weed api versions supported -static int api_versions[]={131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 1; // number of different weed api versions supported +static int api_versions[] = {131}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -144,161 +144,162 @@ using namespace cv; -#define DEBUG_PRINT(a) fprintf(stderr,"%s\n",a) +#define DEBUG_PRINT(a) fprintf(stderr, "%s\n", a) ////////////////////////////////////////////////////////// namespace tnzu { - template <typename T> - struct opencv_type_traits; - - template <> - struct opencv_type_traits<float> { - static int const value = CV_32FC1; - }; - - template <> - struct opencv_type_traits<cv::Vec2f> { - static int const value = CV_32FC2; - }; - - template <> - struct opencv_type_traits<cv::Vec3f> { - static int const value = CV_32FC3; - }; - - template <> - struct opencv_type_traits<cv::Vec4f> { - static int const value = CV_32FC4; - }; - - template <> - struct opencv_type_traits<double> { - static int const value = CV_64FC1; - }; - - template <> - struct opencv_type_traits<cv::Vec2d> { - static int const value = CV_64FC2; - }; - - template <> - struct opencv_type_traits<cv::Vec3d> { - static int const value = CV_64FC3; - }; - - template <> - struct opencv_type_traits<cv::Vec4d> { - static int const value = CV_64FC4; - }; - - - // snp (salt and pepper) noise - template <typename VecT> - cv::Mat make_snp_noise(cv::Size const size, float const low, float const high) { - cv::Mat retval = cv::Mat::zeros(size, tnzu::opencv_type_traits<VecT>::value); - cv::randu(retval, low, high); - return retval; - } +template <typename T> +struct opencv_type_traits; - - // Perlin noise - template <typename VecT, std::size_t Sz> - cv::Mat make_perlin_noise(cv::Size const size, - std::array<float, Sz> const& amp) { - - cv::Mat retval = cv::Mat::zeros(size, tnzu::opencv_type_traits<VecT>::value); +template <> +struct opencv_type_traits<float> { + static int const value = CV_32FC1; +}; - for (std::size_t i = 0; i < Sz; ++i) { - float const range = amp[i]; - cv::Size const octave_size(2 << i, 2 << i); +template <> +struct opencv_type_traits<cv::Vec2f> { + static int const value = CV_32FC2; +}; - cv::Mat field = tnzu::make_snp_noise<VecT>(octave_size, -range, range); +template <> +struct opencv_type_traits<cv::Vec3f> { + static int const value = CV_32FC3; +}; - float const scale = std::max(float(size.width) / octave_size.width, - float(size.height) / octave_size.height); - cv::resize(field, field, size, scale, scale, cv::INTER_CUBIC); - retval += field; - } +template <> +struct opencv_type_traits<cv::Vec4f> { + static int const value = CV_32FC4; +}; - return retval; - } +template <> +struct opencv_type_traits<double> { + static int const value = CV_64FC1; +}; + +template <> +struct opencv_type_traits<cv::Vec2d> { + static int const value = CV_64FC2; +}; +template <> +struct opencv_type_traits<cv::Vec3d> { + static int const value = CV_64FC3; +}; - - void generate_bloom(cv::Mat& img, int level, int radius) { - std::vector<cv::Mat> dst(level + 1); +template <> +struct opencv_type_traits<cv::Vec4d> { + static int const value = CV_64FC4; +}; - cv::Size const ksize(radius * 2 + 1, radius * 2 + 1); - cv::Mat tmp; - int i; - cv::Size size = img.size(); - for (i = 0; i <= level;) { - if (i) { - cv::resize(img, tmp, cv::Size(), 0.5, 0.5, cv::INTER_AREA); - img = tmp; - size = img.size(); - } +// snp (salt and pepper) noise +template <typename VecT> +cv::Mat make_snp_noise(cv::Size const size, float const low, float const high) { + cv::Mat retval = cv::Mat::zeros(size, tnzu::opencv_type_traits<VecT>::value); + cv::randu(retval, low, high); + return retval; +} - cv::GaussianBlur(img, dst[i], ksize, 0.0); - ++i; +// Perlin noise +template <typename VecT, std::size_t Sz> +cv::Mat make_perlin_noise(cv::Size const size, + std::array<float, Sz> const &) { + cv::Mat retval = cv::Mat::zeros(size, tnzu::opencv_type_traits<VecT>::value); - if ((size.width <= 1) || (size.height <= 1)) { - break; - } + for (std::size_t i = 0; i < Sz; ++i) { + float const range = amp[i]; + cv::Size const octave_size(2 << i, 2 << i); + + cv::Mat field = tnzu::make_snp_noise<VecT>(octave_size, -range, range); + + float const scale = std::max(float(size.width) / octave_size.width, + float(size.height) / octave_size.height); + cv::resize(field, field, size, scale, scale, cv::INTER_CUBIC); + retval += field; + } + + return retval; +} + + + +void generate_bloom(cv::Mat &img, int level, int radius) { + std::vector<cv::Mat> dst(level + 1); + + cv::Size const ksize(radius * 2 + 1, radius * 2 + 1); + + cv::Mat tmp; + int i; + cv::Size size = img.size(); + for (i = 0; i <= level;) { + if (i) { + cv::resize(img, tmp, cv::Size(), 0.5, 0.5, cv::INTER_AREA); + img = tmp; + size = img.size(); } - for (--i; i > 0; --i) { - cv::resize(dst[i], tmp, dst[i - 1].size()); - dst[i - 1] += tmp; + cv::GaussianBlur(img, dst[i], ksize, 0.0); + + ++i; + + if ((size.width <= 1) || (size.height <= 1)) { + break; } - img = dst[0]; } + for (--i; i > 0; --i) { + cv::resize(dst[i], tmp, dst[i - 1].size()); + dst[i - 1] += tmp; + } + img = dst[0]; +} + template <typename T, typename S> - inline T normalize_cast(S const value) { - return cv::saturate_cast<T>(value * std::numeric_limits<T>::max()); - } +inline T normalize_cast(S const value) { + return cv::saturate_cast<T>(value * std::numeric_limits<T>::max()); +} - // convert sRGB color space to power space - template <typename T> - inline T to_linear_color_space(T nonlinear_color, T exposure, T gamma) { - return -std::log(T(1) - std::pow(nonlinear_color, gamma)) / exposure; - } +// convert sRGB color space to power space +template <typename T> +inline T to_linear_color_space(T nonlinear_color, T exposure, T gamma) { + return -std::log(T(1) - std::pow(nonlinear_color, gamma)) / exposure; +} - // convert power space to sRGB color space - template <typename T> - inline T to_nonlinear_color_space(T linear_color, T exposure, T gamma) { - return std::pow(T(1) - std::exp(-exposure * linear_color), T(1) / gamma); - } +// convert power space to sRGB color space +template <typename T> +inline T to_nonlinear_color_space(T linear_color, T exposure, T gamma) { + return std::pow(T(1) - std::exp(-exposure * linear_color), T(1) / gamma); +} - template <std::size_t BitDepth, typename T = float> - class linear_color_space_converter { - public: - using this_type = linear_color_space_converter<BitDepth, T>; - static std::size_t const Size = 1 << BitDepth; - - public: - inline linear_color_space_converter(T exposure, T gamma) - : table_(new T[Size]) { - T const scale = T(1) / Size; - for (int i = 0; i < (int)Size; i++) { - table_[i] = - tnzu::to_linear_color_space((i + T(0.5)) * scale, exposure, gamma); - } +template <std::size_t BitDepth, typename T = float> +class linear_color_space_converter { +public: + using this_type = linear_color_space_converter<BitDepth, T>; + static std::size_t const Size = 1 << BitDepth; + +public: + inline linear_color_space_converter(T exposure, T gamma) + : table_(new T[Size]) { + T const scale = T(1) / Size; + for (int i = 0; i < (int)Size; i++) { + table_[i] = + tnzu::to_linear_color_space((i + T(0.5)) * scale, exposure, gamma); } + } - inline T operator[](int value) const { return table_[value]; } + inline T operator[](int value) const { + return table_[value]; + } - private: - std::unique_ptr<T[]> table_; - }; +private: + std::unique_ptr<T[]> table_; +}; } @@ -314,27 +315,25 @@ -template <typename VecT> -int phatch_kernel(Mat& in, Mat& retimg, int palette, weed_plant_t **in_params) { - +template <typename VecT> +int phatch_kernel(Mat &in, Mat &retimg, int palette, weed_plant_t **in_params) { int error; - + int const type = retimg.type(); Size const size = retimg.size(); - float const angle = weed_get_int_value(in_params[PARAMa_ANGLE],"value",&error); - float const length = weed_get_double_value(in_params[PARAMa_LENGTH],"value",&error)*size.height; - float const attenuation = weed_get_double_value(in_params[PARAMa_ATTENUATION],"value",&error); + float const angle = weed_get_int_value(in_params[PARAMa_ANGLE], "value", &error); + float const length = weed_get_double_value(in_params[PARAMa_LENGTH], "value", &error) * size.height; + float const attenuation = weed_get_double_value(in_params[PARAMa_ATTENUATION], "value", &error); // snp noise based on grayscale Mat noise(size, CV_MAKETYPE(CV_MAT_DEPTH(type), 1)); { - // grascaling Mat grayscale; switch (palette) { case WEED_PALETTE_ARGB32: - // A was moved to end + // A was moved to end case WEED_PALETTE_RGBA32: cvtColor(in, grayscale, COLOR_RGBA2GRAY); break; @@ -350,16 +349,16 @@ default: break; } - - + + float const norm_const = 1.0f / std::numeric_limits<uchar>::max(); // generate snp noise unsigned seed = std::chrono::system_clock::now().time_since_epoch().count(); std::mt19937_64 engine(seed); for (int y = 0; y < size.height; ++y) { - uchar const* g = grayscale.ptr<uchar const>(y); - uchar* n = noise.ptr<uchar>(y); + uchar const *g = grayscale.ptr<uchar const>(y); + uchar *n = noise.ptr<uchar>(y); for (int x = 0; x < size.width; ++x) { std::bernoulli_distribution rbern(g[x] * norm_const); n[x] = rbern(engine) ? std::numeric_limits<uchar>::max() : 0; @@ -370,8 +369,8 @@ // generate pencil drawings Point2f const dir(std::cos(angle), std::sin(angle)); for (int y = 0; y < size.height; ++y) { - VecT const* src = in.ptr<VecT>(y); - VecT* dst = retimg.ptr<VecT>(y); + VecT const *src = in.ptr<VecT>(y); + VecT *dst = retimg.ptr<VecT>(y); for (int x = 0; x < size.width; ++x) { // line integral convolution @@ -381,12 +380,12 @@ { // minus Point const pt(static_cast<int>(x - length * dir.x), - static_cast<int>(y - length * dir.y)); + static_cast<int>(y - length * dir.y)); LineIterator it(noise, org, pt, 4); if (it.count > 0) { float rho = 1.0f; for (int i = 0; i < it.count; ++i, ++it, rho *= attenuation) { - uchar const sample = *reinterpret_cast<uchar const*>(*it); + uchar const sample = *reinterpret_cast<uchar const *>(*it); gray += rho * sample; sum += rho; } @@ -395,12 +394,12 @@ { // plus Point const pt(static_cast<int>(x + length * dir.x), - static_cast<int>(y + length * dir.y)); + static_cast<int>(y + length * dir.y)); LineIterator it(noise, org, pt, 4); if (it.count > 0) { float rho = 1.0f; for (int i = 0; i < it.count; ++i, ++it, rho *= attenuation) { - uchar const sample = *reinterpret_cast<uchar const*>(*it); + uchar const sample = *reinterpret_cast<uchar const *>(*it); gray += rho * sample; sum += rho; } @@ -412,16 +411,16 @@ uchar const g = saturate_cast<uchar>(gray); switch (palette) { case WEED_PALETTE_ARGB32: - dst[x] = VecT(src[x][3], g, g, g); - break; + dst[x] = VecT(src[x][3], g, g, g); + break; case WEED_PALETTE_RGBA32: case WEED_PALETTE_BGRA32: - dst[x] = VecT(g, g, g, src[x][3]); - break; + dst[x] = VecT(g, g, g, src[x][3]); + break; default: - // RGB24 or BGR24 - dst[x] = VecT(g, g, g); - break; + // RGB24 or BGR24 + dst[x] = VecT(g, g, g); + break; } } } @@ -430,42 +429,42 @@ -template <typename VecT> -int lglare_kernel(Mat& in, Mat& retimg, int palette, weed_plant_t **in_params) { +template <typename VecT> +int lglare_kernel(Mat &in, Mat &retimg, int palette, weed_plant_t **in_params) { using value_type = typename VecT::value_type; int error; - int psize=4; - + int psize = 4; + Size const size = retimg.size(); // init parameters - float const gamma = weed_get_double_value(in_params[PARAMb_GAMMA],"value",&error); - float const exposure = weed_get_double_value(in_params[PARAMb_EXPOSURE],"value",&error); - float const gain = weed_get_double_value(in_params[PARAMb_GAIN],"value",&error); + float const gamma = weed_get_double_value(in_params[PARAMb_GAMMA], "value", &error); + float const exposure = weed_get_double_value(in_params[PARAMb_EXPOSURE], "value", &error); + float const gain = weed_get_double_value(in_params[PARAMb_GAIN], "value", &error); - float const radius = weed_get_double_value(in_params[PARAMb_RADIUS],"value",&error)*size.height; - float const attenuation = weed_get_double_value(in_params[PARAMb_ATTENUATION],"value",&error); + float const radius = weed_get_double_value(in_params[PARAMb_RADIUS], "value", &error) * size.height; + float const attenuation = weed_get_double_value(in_params[PARAMb_ATTENUATION], "value", &error); - int const number = weed_get_int_value(in_params[PARAMb_NUMBER],"value",&error); - int const angle = weed_get_int_value(in_params[PARAMb_ANGLE],"value",&error); + int const number = weed_get_int_value(in_params[PARAMb_NUMBER], "value", &error); + int const angle = weed_get_int_value(in_params[PARAMb_ANGLE], "value", &error); Mat src(size, CV_32FC3); - if (palette==WEED_PALETTE_RGB24||palette==WEED_PALETTE_BGR24) psize=3; + if (palette == WEED_PALETTE_RGB24 || palette == WEED_PALETTE_BGR24) psize = 3; Size const local_size = in.size(); - Mat local(src, Rect(0,0,local_size.width,local_size.height)); // not sure that this is right... + Mat local(src, Rect(0, 0, local_size.width, local_size.height)); // not sure that this is right... { tnzu::linear_color_space_converter<sizeof(value_type) * 8> converter(exposure, gamma); - + for (int y = 0; y < local_size.height; ++y) { - VecT const* s = in.ptr<VecT const>(y); - cv::Vec3f* d = local.ptr<cv::Vec3f>(y); + VecT const *s = in.ptr<VecT const>(y); + cv::Vec3f *d = local.ptr<cv::Vec3f>(y); for (int x = 0; x < local_size.width; ++x) { - d[x] = cv::Vec3f(converter[s[x][0]], converter[s[x][1]], - converter[s[x][2]]); + d[x] = cv::Vec3f(converter[s[x][0]], converter[s[x][1]], + converter[s[x][2]]); } } } @@ -485,8 +484,8 @@ cv::LineIterator it(kernel, center, center + cv::Point2f(dx, dy)); float a = 1.0f; for (int i = 0; i < it.count; ++i, ++it, a *= attenuation) { - *reinterpret_cast<float*>(*it) = a; - energy += a; + *reinterpret_cast<float *>(*it) = a; + energy += a; } } if (energy > 0.0f) { @@ -502,28 +501,27 @@ for (int y = 0; y < size.height; ++y) { - cv::Vec3f const* s = src.ptr<cv::Vec3f>(y); - VecT* d = retimg.ptr<VecT>(y); + cv::Vec3f const *s = src.ptr<cv::Vec3f>(y); + VecT *d = retimg.ptr<VecT>(y); for (int x = 0; x < size.width; ++x) { - if (psize==4) { - Vec4f const sbgra( - tnzu::to_nonlinear_color_space(s[x][0], exposure, gamma), - tnzu::to_nonlinear_color_space(s[x][1], exposure, gamma), - tnzu::to_nonlinear_color_space(s[x][2], exposure, gamma), 1.0f); - - for (int c = 0; c < 4; ++c) { - d[x][c] = tnzu::normalize_cast<uchar>(sbgra[c]); - } - } - else { - Vec3f const sbgr( - tnzu::to_nonlinear_color_space(s[x][0], exposure, gamma), - tnzu::to_nonlinear_color_space(s[x][1], exposure, gamma), - tnzu::to_nonlinear_color_space(s[x][2], exposure, gamma)); - - for (int c = 0; c < 3; ++c) { - d[x][c] = tnzu::normalize_cast<uchar>(sbgr[c]); - } + if (psize == 4) { + Vec4f const sbgra( + tnzu::to_nonlinear_color_space(s[x][0], exposure, gamma), + tnzu::to_nonlinear_color_space(s[x][1], exposure, gamma), + tnzu::to_nonlinear_color_space(s[x][2], exposure, gamma), 1.0f); + + for (int c = 0; c < 4; ++c) { + d[x][c] = tnzu::normalize_cast<uchar>(sbgra[c]); + } + } else { + Vec3f const sbgr( + tnzu::to_nonlinear_color_space(s[x][0], exposure, gamma), + tnzu::to_nonlinear_color_space(s[x][1], exposure, gamma), + tnzu::to_nonlinear_color_space(s[x][2], exposure, gamma)); + + for (int c = 0; c < 3; ++c) { + d[x][c] = tnzu::normalize_cast<uchar>(sbgr[c]); + } } } } @@ -533,41 +531,41 @@ -template <typename VecT> -int lbloom_kernel(Mat& in, Mat& retimg, int palette, weed_plant_t **in_params) { +template <typename VecT> +int lbloom_kernel(Mat &in, Mat &retimg, int palette, weed_plant_t **in_params) { using value_type = typename VecT::value_type; int error; - int psize=4; - + int psize = 4; + Size const size = retimg.size(); // init parameters - float const gamma = weed_get_double_value(in_params[PARAMd_GAMMA],"value",&error); - float const exposure = weed_get_double_value(in_params[PARAMd_EXPOSURE],"value",&error); - float const gain = weed_get_double_value(in_params[PARAMd_GAIN],"value",&error); + float const gamma = weed_get_double_value(in_params[PARAMd_GAMMA], "value", &error); + float const exposure = weed_get_double_value(in_params[PARAMd_EXPOSURE], "value", &error); + float const gain = weed_get_double_value(in_params[PARAMd_GAIN], "value", &error); - int const radius = weed_get_int_value(in_params[PARAMd_RADIUS],"value",&error); - int const level = weed_get_int_value(in_params[PARAMd_LEVEL],"value",&error); + int const radius = weed_get_int_value(in_params[PARAMd_RADIUS], "value", &error); + int const level = weed_get_int_value(in_params[PARAMd_LEVEL], "value", &error); Mat src(size, CV_32FC3); - if (palette==WEED_PALETTE_RGB24||palette==WEED_PALETTE_BGR24) psize=3; + if (palette == WEED_PALETTE_RGB24 || palette == WEED_PALETTE_BGR24) psize = 3; + - // transform color space { tnzu::linear_color_space_converter<sizeof(value_type) * 8> converter( - exposure, gamma); + exposure, gamma); Size const local_size = in.size(); - Mat local(src, Rect(0,0,local_size.width,local_size.height)); // not sure that this is right... + Mat local(src, Rect(0, 0, local_size.width, local_size.height)); // not sure that this is right... //cv::Size const local_size = args.size(PORT_INPUT); //cv::Mat local(src, args.rect(PORT_INPUT)); for (int y = 0; y < local_size.height; ++y) { - VecT const* s = in.ptr<VecT>(y); - cv::Vec3f* d = local.ptr<cv::Vec3f>(y); + VecT const *s = in.ptr<VecT>(y); + cv::Vec3f *d = local.ptr<cv::Vec3f>(y); for (int x = 0; x < local_size.width; ++x) { d[x] = cv::Vec3f(converter[s[x][0]], converter[s[x][1]], converter[s[x][2]]); @@ -578,75 +576,71 @@ // generate bloom tnzu::generate_bloom(src, level, radius); - + // transform color space float const scale = gain; for (int y = 0; y < size.height; ++y) { - cv::Vec3f const* s = src.ptr<cv::Vec3f>(y); - VecT* d = retimg.ptr<VecT>(y); + cv::Vec3f const *s = src.ptr<cv::Vec3f>(y); + VecT *d = retimg.ptr<VecT>(y); for (int x = 0; x < size.width; ++x) { - if (psize==4) { - Vec4f const sbgra( - tnzu::to_nonlinear_color_space(s[x][0] * scale, exposure, gamma), - tnzu::to_nonlinear_color_space(s[x][1] * scale, exposure, gamma), - tnzu::to_nonlinear_color_space(s[x][2] * scale, exposure, gamma), 1.0f); - - for (int c = 0; c < 4; ++c) { - d[x][c] = tnzu::normalize_cast<uchar>(sbgra[c]); - } - } - else { - Vec3f const sbgr( - tnzu::to_nonlinear_color_space(s[x][0] * scale, exposure, gamma), - tnzu::to_nonlinear_color_space(s[x][1] * scale, exposure, gamma), - tnzu::to_nonlinear_color_space(s[x][2] * scale, exposure, gamma)); - - for (int c = 0; c < 3; ++c) { - d[x][c] = tnzu::normalize_cast<uchar>(sbgr[c]); - } + if (psize == 4) { + Vec4f const sbgra( + tnzu::to_nonlinear_color_space(s[x][0] * scale, exposure, gamma), + tnzu::to_nonlinear_color_space(s[x][1] * scale, exposure, gamma), + tnzu::to_nonlinear_color_space(s[x][2] * scale, exposure, gamma), 1.0f); + + for (int c = 0; c < 4; ++c) { + d[x][c] = tnzu::normalize_cast<uchar>(sbgra[c]); + } + } else { + Vec3f const sbgr( + tnzu::to_nonlinear_color_space(s[x][0] * scale, exposure, gamma), + tnzu::to_nonlinear_color_space(s[x][1] * scale, exposure, gamma), + tnzu::to_nonlinear_color_space(s[x][2] * scale, exposure, gamma)); + + for (int c = 0; c < 3; ++c) { + d[x][c] = tnzu::normalize_cast<uchar>(sbgr[c]); + } } - } } - return 0; } -template <typename VecT> -int paraffin_kernel(Mat& in, Mat& retimg, int palette, weed_plant_t **in_params) { +template <typename VecT> +int paraffin_kernel(Mat &in, Mat &retimg, int palette, weed_plant_t **in_params) { using value_type = typename VecT::value_type; int error; - int psize=4; - + int psize = 4; + Size const size = retimg.size(); // // Params // // geometry - float const d = weed_get_double_value(in_params[PARAMe_DISTANCE],"value",&error)*size.height; - float const a = (float)(weed_get_int_value(in_params[PARAMe_THETA],"value",&error))/360.*TWO_PI; + float const d = weed_get_double_value(in_params[PARAMe_DISTANCE], "value", &error) * size.height; + float const a = (float)(weed_get_int_value(in_params[PARAMe_THETA], "value", &error)) / 360.*TWO_PI; - int const s = (int)(weed_get_double_value(in_params[PARAMe_RADIUS],"value",&error) * size.height * 0.5) * 2 + 1; + int const s = (int)(weed_get_double_value(in_params[PARAMe_RADIUS], "value", &error) * size.height * 0.5) * 2 + 1; - double *cvals=weed_get_double_array(in_params[PARAMe_COLOR],"value",&error); - - float r,g=cvals[1],b; + double *cvals = weed_get_double_array(in_params[PARAMe_COLOR], "value", &error); - if (palette==WEED_PALETTE_BGR24||palette==WEED_PALETTE_BGRA32) { - r=cvals[2]; - b=cvals[0]; - } - else { - r=cvals[0]; - b=cvals[2]; + float r, g = cvals[1], b; + + if (palette == WEED_PALETTE_BGR24 || palette == WEED_PALETTE_BGRA32) { + r = cvals[2]; + b = cvals[0]; + } else { + r = cvals[0]; + b = cvals[2]; } - + weed_free(cvals); // define paraffin shadow @@ -662,16 +656,16 @@ float const c = std::cos(a); pts[0] = cv::Point(static_cast<int>(o.x + l * c + (d + l) * s), - static_cast<int>(o.y - l * s + (d + l) * c)); + static_cast<int>(o.y - l * s + (d + l) * c)); pts[1] = cv::Point(static_cast<int>(o.x + l * c + (d - l) * s), - static_cast<int>(o.y - l * s + (d - l) * c)); + static_cast<int>(o.y - l * s + (d - l) * c)); pts[2] = cv::Point(static_cast<int>(o.x - l * c + (d - l) * s), - static_cast<int>(o.y + l * s + (d - l) * c)); + static_cast<int>(o.y + l * s + (d - l) * c)); pts[3] = cv::Point(static_cast<int>(o.x - l * c + (d + l) * s), - static_cast<int>(o.y + l * s + (d + l) * c)); + static_cast<int>(o.y + l * s + (d + l) * c)); cv::fillConvexPoly(shadow, pts.data(), static_cast<int>(pts.size()), - cv::Scalar(b, g, r)); + cv::Scalar(b, g, r)); } // blur bar @@ -680,36 +674,35 @@ // init color table tnzu::linear_color_space_converter<sizeof(value_type) * 8> converter(1.0f, - 2.2f); + 2.2f); -// add incident light on linear color space + // add incident light on linear color space for (int y = 0; y < size.height; y++) { - cv::Vec3f const* s = shadow.ptr<cv::Vec3f>(y); - VecT* d = retimg.ptr<VecT>(y); + cv::Vec3f const *s = shadow.ptr<cv::Vec3f>(y); + VecT *d = retimg.ptr<VecT>(y); for (int x = 0; x < size.width; x++) { - if (psize==4) { - cv::Vec4f const sbgra(tnzu::to_nonlinear_color_space( - converter[d[x][0]] * s[x][0], 1.0f, 2.2f), - tnzu::to_nonlinear_color_space( - converter[d[x][1]] * s[x][1], 1.0f, 2.2f), - tnzu::to_nonlinear_color_space( - converter[d[x][2]] * s[x][2], 1.0f, 2.2f), - 1.0f); - for (int c = 0; c < 4; ++c) { - d[x][c] = tnzu::normalize_cast<value_type>(sbgra[c]); - } - } - else { - cv::Vec3f const sbgr(tnzu::to_nonlinear_color_space( - converter[d[x][0]] * s[x][0], 1.0f, 2.2f), - tnzu::to_nonlinear_color_space( - converter[d[x][1]] * s[x][1], 1.0f, 2.2f), - tnzu::to_nonlinear_color_space( - converter[d[x][2]] * s[x][2], 1.0f, 2.2f)); - for (int c = 0; c < 3; ++c) { - d[x][c] = tnzu::normalize_cast<value_type>(sbgr[c]); - } + if (psize == 4) { + cv::Vec4f const sbgra(tnzu::to_nonlinear_color_space( + converter[d[x][0]] * s[x][0], 1.0f, 2.2f), + tnzu::to_nonlinear_color_space( + converter[d[x][1]] * s[x][1], 1.0f, 2.2f), + tnzu::to_nonlinear_color_space( + converter[d[x][2]] * s[x][2], 1.0f, 2.2f), + 1.0f); + for (int c = 0; c < 4; ++c) { + d[x][c] = tnzu::normalize_cast<value_type>(sbgra[c]); + } + } else { + cv::Vec3f const sbgr(tnzu::to_nonlinear_color_space( + converter[d[x][0]] * s[x][0], 1.0f, 2.2f), + tnzu::to_nonlinear_color_space( + converter[d[x][1]] * s[x][1], 1.0f, 2.2f), + tnzu::to_nonlinear_color_space( + converter[d[x][2]] * s[x][2], 1.0f, 2.2f)); + for (int c = 0; c < 3; ++c) { + d[x][c] = tnzu::normalize_cast<value_type>(sbgr[c]); + } } } } @@ -720,171 +713,160 @@ -static int common_process (weed_plant_t *inst, weed_timecode_t tc, int filter_type) { +static int common_process(weed_plant_t *inst, weed_timecode_t tc, int filter_type) { int error; Mat srcMat, mixMat, destMat; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error); - weed_plant_t *out_channel=weed_get_plantptr_value(inst,"out_channels",&error); + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error); + weed_plant_t *out_channel = weed_get_plantptr_value(inst, "out_channels", &error); - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); - uint8_t *src=(uint8_t *)weed_get_voidptr_value(in_channel,"pixel_data",&error); - uint8_t *dst=(uint8_t *)weed_get_voidptr_value(out_channel,"pixel_data",&error); + uint8_t *src = (uint8_t *)weed_get_voidptr_value(in_channel, "pixel_data", &error); + uint8_t *dst = (uint8_t *)weed_get_voidptr_value(out_channel, "pixel_data", &error); - int width=weed_get_int_value(in_channel,"width",&error); - int height=weed_get_int_value(in_channel,"height",&error); - int palette=weed_get_int_value(in_channel,"current_palette",&error); + int width = weed_get_int_value(in_channel, "width", &error); + int height = weed_get_int_value(in_channel, "height", &error); + int palette = weed_get_int_value(in_channel, "current_palette", &error); - int irow=weed_get_int_value(in_channel,"rowstrides",&error); - int orow=weed_get_int_value(out_channel,"rowstrides",&error); + int irow = weed_get_int_value(in_channel, "rowstrides", &error); + int orow = weed_get_int_value(out_channel, "rowstrides", &error); - int psize=4; + int psize = 4; switch (palette) { case WEED_PALETTE_RGB24: case WEED_PALETTE_BGR24: - srcMat=mixMat=Mat(height,width,CV_8UC3,src,irow); - destMat=Mat(height,width,CV_8UC3,dst,orow); - psize=3; + srcMat = mixMat = Mat(height, width, CV_8UC3, src, irow); + destMat = Mat(height, width, CV_8UC3, dst, orow); + psize = 3; break; case WEED_PALETTE_BGRA32: case WEED_PALETTE_RGBA32: - srcMat=mixMat=Mat(height,width,CV_8UC4,src,irow); - destMat=Mat(height,width,CV_8UC4,dst,orow); - break; - case WEED_PALETTE_ARGB32: - { - int from_to[]={0,3,1,0,2,1,3,2}; // convert src argb to rgba - srcMat=Mat(height,width,CV_8UC4,src,irow); - mixChannels(&srcMat,1,&mixMat,1,from_to,4); - destMat=Mat(height,width,CV_8UC4,dst,orow); - } + srcMat = mixMat = Mat(height, width, CV_8UC4, src, irow); + destMat = Mat(height, width, CV_8UC4, dst, orow); break; + case WEED_PALETTE_ARGB32: { + int from_to[] = {0, 3, 1, 0, 2, 1, 3, 2}; // convert src argb to rgba + srcMat = Mat(height, width, CV_8UC4, src, irow); + mixChannels(&srcMat, 1, &mixMat, 1, from_to, 4); + destMat = Mat(height, width, CV_8UC4, dst, orow); + } + break; default: break; } switch (filter_type) { case FILTER_LIGHT_BLOOM: - if (psize==4) - lbloom_kernel<Vec4b>(mixMat,destMat,palette,in_params); + if (psize == 4) + lbloom_kernel<Vec4b>(mixMat, destMat, palette, in_params); else - lbloom_kernel<Vec3b>(mixMat,destMat,palette,in_params); + lbloom_kernel<Vec3b>(mixMat, destMat, palette, in_params); break; case FILTER_LIGHT_GLARE: - if (psize==4) - lglare_kernel<Vec4b>(mixMat,destMat,palette,in_params); + if (psize == 4) + lglare_kernel<Vec4b>(mixMat, destMat, palette, in_params); else - lglare_kernel<Vec3b>(mixMat,destMat,palette,in_params); + lglare_kernel<Vec3b>(mixMat, destMat, palette, in_params); break; case FILTER_PHATCH: - if (psize==4) - phatch_kernel<Vec4b>(mixMat,destMat,palette,in_params); + if (psize == 4) + phatch_kernel<Vec4b>(mixMat, destMat, palette, in_params); else - phatch_kernel<Vec3b>(mixMat,destMat,palette,in_params); + phatch_kernel<Vec3b>(mixMat, destMat, palette, in_params); break; case FILTER_PARAFFIN: srcMat.copyTo(destMat); - if (psize==4) - paraffin_kernel<Vec4b>(mixMat,destMat,palette,in_params); + if (psize == 4) + paraffin_kernel<Vec4b>(mixMat, destMat, palette, in_params); else - paraffin_kernel<Vec3b>(mixMat,destMat,palette,in_params); + paraffin_kernel<Vec3b>(mixMat, destMat, palette, in_params); break; default: break; } - weed_free(in_params); return WEED_NO_ERROR; - } ////////////////////////////////////////// - - -int lbloom_process (weed_plant_t *inst, weed_timecode_t tc) { - return common_process(inst,tc,FILTER_LIGHT_BLOOM); +int lbloom_process(weed_plant_t *inst, weed_timecode_t tc) { + return common_process(inst, tc, FILTER_LIGHT_BLOOM); } -int lglare_process (weed_plant_t *inst, weed_timecode_t tc) { - return common_process(inst,tc,FILTER_LIGHT_GLARE); +int lglare_process(weed_plant_t *inst, weed_timecode_t tc) { + return common_process(inst, tc, FILTER_LIGHT_GLARE); } -int phatch_process (weed_plant_t *inst, weed_timecode_t tc) { - return common_process(inst,tc,FILTER_PHATCH); +int phatch_process(weed_plant_t *inst, weed_timecode_t tc) { + return common_process(inst, tc, FILTER_PHATCH); } -int paraffin_process (weed_plant_t *inst, weed_timecode_t tc) { - return common_process(inst,tc,FILTER_PARAFFIN); +int paraffin_process(weed_plant_t *inst, weed_timecode_t tc) { + return common_process(inst, tc, FILTER_PARAFFIN); } /////////////////////////////////////// -int cnoise_compute(Mat& retimg, weed_plant_t **in_params, double sec) { +int cnoise_compute(Mat &retimg, weed_plant_t **in_params, double sec) { int error; try { + cv::Size const size = retimg.size(); + + int const time = weed_get_int_value(in_params[PARAMc_TIME], "value", &error); + int const time_limit = weed_get_int_value(in_params[PARAMc_TIME_LIMIT], "value", &error) - 1; + float const alpha = weed_get_double_value(in_params[PARAMc_ALPHA], "value", &error); + float const gain = weed_get_double_value(in_params[PARAMc_GAIN], "value", &error); + float const bias = weed_get_double_value(in_params[PARAMc_BIAS], "value", &error); + + std::array<float, 5> const amp = { + (float)weed_get_double_value(in_params[PARAMc_AMP0], "value", &error), + (float)weed_get_double_value(in_params[PARAMc_AMP1], "value", &error), + (float)weed_get_double_value(in_params[PARAMc_AMP2], "value", &error), + (float)weed_get_double_value(in_params[PARAMc_AMP3], "value", &error), + (float)weed_get_double_value(in_params[PARAMc_AMP4], "value", &error) + }; - cv::Size const size = retimg.size(); - - // - // Params - // + unsigned seed = std::chrono::system_clock::now().time_since_epoch().count(); + cv::theRNG().state = seed; - int const time = weed_get_int_value(in_params[PARAMc_TIME],"value",&error); - int const time_limit = weed_get_int_value(in_params[PARAMc_TIME_LIMIT],"value",&error) - 1; - float const alpha = weed_get_double_value(in_params[PARAMc_ALPHA],"value",&error); - float const gain = weed_get_double_value(in_params[PARAMc_GAIN],"value",&error); - float const bias = weed_get_double_value(in_params[PARAMc_BIAS],"value",&error); - - std::array<float, 5> const amp = { - (float)weed_get_double_value(in_params[PARAMc_AMP0],"value",&error), - (float)weed_get_double_value(in_params[PARAMc_AMP1],"value",&error), - (float)weed_get_double_value(in_params[PARAMc_AMP2],"value",&error), - (float)weed_get_double_value(in_params[PARAMc_AMP3],"value",&error), - (float)weed_get_double_value(in_params[PARAMc_AMP4],"value",&error) - }; - - unsigned seed = std::chrono::system_clock::now().time_since_epoch().count(); - cv::theRNG().state = seed; - - int ntimes = - (time ? time - 1 : std::max(1, (int)(sec/25.))) % (time_limit * 2); - if (ntimes >= time_limit) { - ntimes = time_limit * 2 - ntimes; - } - ++ntimes; - - - // generate time-Coherent perlin noise - cv::Mat field = tnzu::make_perlin_noise<float>(size, amp); - for (int t = 0; t <= ntimes; ++t) { - cv::Mat next = tnzu::make_perlin_noise<float>(size, amp); - field *= alpha; - field += next * (1 - alpha); + int ntimes = + (time ? time - 1 : std::max(1, (int)(sec / 25.))) % (time_limit * 2); + if (ntimes >= time_limit) { + ntimes = time_limit * 2 - ntimes; } - field *= gain / 5; - field += bias; - - - for (int y = 0; y < size.height; ++y) { - float* dst = retimg.ptr<float>(y); - float const* src = field.ptr<float>(y); - for (int x = 0; x < size.width; ++x) { - dst[x] = src[x]; + ++ntimes; + + // generate time-Coherent perlin noise + cv::Mat field = tnzu::make_perlin_noise<float>(size, amp); + for (int t = 0; t <= ntimes; ++t) { + cv::Mat next = tnzu::make_perlin_noise<float>(size, amp); + field *= alpha; + field += next * (1 - alpha); } - } + field *= gain / 5; + field += bias; - return 0; - } catch (cv::Exception const& e) { + for (int y = 0; y < size.height; ++y) { + float *dst = retimg.ptr<float>(y); + float const *src = field.ptr<float>(y); + for (int x = 0; x < size.width; ++x) { + dst[x] = src[x]; + } + } + + return 0; + + } catch (cv::Exception const &e) { DEBUG_PRINT(e.what()); return 1; } @@ -892,174 +874,149 @@ -int cnoise_process (weed_plant_t *inst, weed_timecode_t tc) { - int error; +int cnoise_process(weed_plant_t *inst, weed_timecode_t tc) { + int error; Mat destMat; - weed_plant_t *out_channel=weed_get_plantptr_value(inst,"out_channels",&error); + weed_plant_t *out_channel = weed_get_plantptr_value(inst, "out_channels", &error); - weed_plant_t **in_params=weed_get_plantptr_array(inst,"in_parameters",&error); + weed_plant_t **in_params = weed_get_plantptr_array(inst, "in_parameters", &error); - float *dst=(float *)weed_get_voidptr_value(out_channel,"pixel_data",&error); + float *dst = (float *)weed_get_voidptr_value(out_channel, "pixel_data", &error); - int width=weed_get_int_value(out_channel,"width",&error); - int height=weed_get_int_value(out_channel,"height",&error); + int width = weed_get_int_value(out_channel, "width", &error); + int height = weed_get_int_value(out_channel, "height", &error); - int orow=weed_get_int_value(out_channel,"rowstrides",&error); + int orow = weed_get_int_value(out_channel, "rowstrides", &error); - destMat=Mat(height,width,CV_32FC1,dst,orow); + destMat = Mat(height, width, CV_32FC1, dst, orow); - cnoise_compute(destMat, in_params, (double)tc/100000000.); + cnoise_compute(destMat, in_params, (double)tc / 100000000.); weed_free(in_params); return WEED_NO_ERROR; - } - - - /////////////////////////////// - - -weed_plant_t *weed_setup (weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - - int palette_list[]={WEED_PALETTE_RGB24,WEED_PALETTE_BGR24,WEED_PALETTE_RGBA32,WEED_PALETTE_BGRA32,WEED_PALETTE_ARGB32,WEED_PALETTE_END}; - - int opalette_list[]={WEED_PALETTE_AFLOAT,WEED_PALETTE_END}; - - weed_plant_t *in_chantmpls[]={weed_channel_template_init("in channel",0,palette_list),NULL}; - weed_plant_t *out_chantmpls[]={weed_channel_template_init("out channel",0,palette_list),NULL}; - - weed_plant_t *out_chantmplsx[]={weed_channel_template_init("out channel",0,opalette_list),NULL}; - - weed_plant_t *in_paramsa[]={weed_integer_init("angle","_Angle",0,0,360),weed_float_init("length","_Length",0.01,0.,1.), - weed_float_init("attenuation","A_ttenuation",0.9,0.,1.),NULL}; - - weed_plant_t *in_paramsb[]={weed_float_init("gamma","_Gamma",2.2,0.1,5.0),weed_float_init("exposure","_Exposure",1.0,0.125,8.), - weed_float_init("gain","Ga_in",1.,0.1,10.0),weed_float_init("radius","_Radius",.1,0.01,1.), - weed_float_init("attenuation","A_ttenuation",.9,0.001,.999),weed_integer_init("number","_Number",6,2,10), - weed_integer_init("angle","_Angle",15,0,180),NULL}; - - weed_plant_t *in_paramsc[]={weed_integer_init("time","_Time",0,0,1500),weed_integer_init("time_limit","Time _Limit",8,2,250), - weed_float_init("alpha","_Alpha",.8,0.,1.),weed_float_init("gain","_Gain",1.,0.,1.), - weed_float_init("bias","_Bias",.5,0.,1.), - weed_float_init("amp0","Amp _0",1.,0.,1.), - weed_float_init("amp1","Amp _1",.8,0.,1.), - weed_float_init("amp2","Amp _2",.6,0.,1.), - weed_float_init("amp3","Amp _3",.4,0.,1.), - weed_float_init("amp4","Amp _4",.2,0.,1.), - NULL}; - - weed_plant_t *in_paramsd[]={weed_float_init("gamma","_Gamma",2.2,0.1,5.0),weed_float_init("exposure","_Exposure",1.0,0.125,8.), - weed_float_init("gain","Ga_in",1.,0.1,10.0),weed_integer_init("radius","_Radius",6,1,32), - weed_integer_init("level","_Level",4,0,10),NULL}; - - weed_plant_t *in_paramse[]={weed_float_init("distance","_Distance",-1.,-1.5,1.5), - weed_integer_init("theta","_Theta",40,-180,180), - weed_float_init("radius","_Radius",.1,0.,1.), - weed_colRGBd_init("color","_Color",0.,0.,0.), - NULL}; +weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_RGB24, WEED_PALETTE_BGR24, WEED_PALETTE_RGBA32, WEED_PALETTE_BGRA32, WEED_PALETTE_ARGB32, WEED_PALETTE_END}; + + int opalette_list[] = {WEED_PALETTE_AFLOAT, WEED_PALETTE_END}; + + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel", 0, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel", 0, palette_list), NULL}; + + weed_plant_t *out_chantmplsx[] = {weed_channel_template_init("out channel", 0, opalette_list), NULL}; + + weed_plant_t *in_paramsa[] = {weed_integer_init("angle", "_Angle", 0, 0, 360), weed_float_init("length", "_Length", 0.01, 0., 1.), + weed_float_init("attenuation", "A_ttenuation", 0.9, 0., 1.), NULL + }; + + weed_plant_t *in_paramsb[] = {weed_float_init("gamma", "_Gamma", 2.2, 0.1, 5.0), weed_float_init("exposure", "_Exposure", 1.0, 0.125, 8.), + weed_float_init("gain", "Ga_in", 1., 0.1, 10.0), weed_float_init("radius", "_Radius", .1, 0.01, 1.), + weed_float_init("attenuation", "A_ttenuation", .9, 0.001, .999), weed_integer_init("number", "_Number", 6, 2, 10), + weed_integer_init("angle", "_Angle", 15, 0, 180), NULL + }; + + weed_plant_t *in_paramsc[] = {weed_integer_init("time", "_Time", 0, 0, 1500), weed_integer_init("time_limit", "Time _Limit", 8, 2, 250), + weed_float_init("alpha", "_Alpha", .8, 0., 1.), weed_float_init("gain", "_Gain", 1., 0., 1.), + weed_float_init("bias", "_Bias", .5, 0., 1.), + weed_float_init("amp0", "Amp _0", 1., 0., 1.), + weed_float_init("amp1", "Amp _1", .8, 0., 1.), + weed_float_init("amp2", "Amp _2", .6, 0., 1.), + weed_float_init("amp3", "Amp _3", .4, 0., 1.), + weed_float_init("amp4", "Amp _4", .2, 0., 1.), + NULL + }; + + weed_plant_t *in_paramsd[] = {weed_float_init("gamma", "_Gamma", 2.2, 0.1, 5.0), weed_float_init("exposure", "_Exposure", 1.0, 0.125, 8.), + weed_float_init("gain", "Ga_in", 1., 0.1, 10.0), weed_integer_init("radius", "_Radius", 6, 1, 32), + weed_integer_init("level", "_Level", 4, 0, 10), NULL + }; + + weed_plant_t *in_paramse[] = {weed_float_init("distance", "_Distance", -1., -1.5, 1.5), + weed_integer_init("theta", "_Theta", 40, -180, 180), + weed_float_init("radius", "_Radius", .1, 0., 1.), + weed_colRGBd_init("color", "_Color", 0., 0., 0.), + NULL + }; weed_plant_t *filter_class; - // pencil hatching - - filter_class=weed_filter_class_init("Toonz: Pencil Hatching","DWANGO co.",1,0,NULL, - &phatch_process,NULL, - in_chantmpls,out_chantmpls,in_paramsa,NULL); + filter_class = weed_filter_class_init("Toonz: Pencil Hatching", "DWANGO co.", 1, 0, NULL, + &phatch_process, NULL, + in_chantmpls, out_chantmpls, in_paramsa, NULL); - weed_set_boolean_value(in_paramsa[PARAMa_ANGLE],"wrap",WEED_TRUE); - - weed_set_string_value(filter_class,"extra_authors","salsaman"); - weed_set_string_value(filter_class,"url","http://dwango.co.jp"); - weed_set_string_value(filter_class,"copyright","DWANGO 2016, salsaman 2016"); - weed_set_string_value(filter_class,"license","BSD 3-clause"); - - weed_plugin_info_add_filter_class (plugin_info,filter_class); + weed_set_boolean_value(in_paramsa[PARAMa_ANGLE], "wrap", WEED_TRUE); + weed_set_string_value(filter_class, "extra_authors", "salsaman"); + weed_set_string_value(filter_class, "url", "http://dwango.co.jp"); + weed_set_string_value(filter_class, "copyright", "DWANGO 2016, salsaman 2016"); + weed_set_string_value(filter_class, "license", "BSD 3-clause"); - // light glare + weed_plugin_info_add_filter_class(plugin_info, filter_class); - filter_class=weed_filter_class_init("Toonz: Light Glare","DWANGO co.",1,0,NULL, - &lglare_process,NULL, - in_chantmpls,out_chantmpls,in_paramsb,NULL); - - - - - - weed_set_string_value(filter_class,"extra_authors","salsaman"); - weed_set_string_value(filter_class,"url","http://dwango.co.jp"); - weed_set_string_value(filter_class,"copyright","DWANGO 2016, salsaman 2016"); - weed_set_string_value(filter_class,"license","BSD 3-clause"); - - weed_plugin_info_add_filter_class (plugin_info,filter_class); + // light glare + filter_class = weed_filter_class_init("Toonz: Light Glare", "DWANGO co.", 1, 0, NULL, + &lglare_process, NULL, + in_chantmpls, out_chantmpls, in_paramsb, NULL); + weed_set_string_value(filter_class, "extra_authors", "salsaman"); + weed_set_string_value(filter_class, "url", "http://dwango.co.jp"); + weed_set_string_value(filter_class, "copyright", "DWANGO 2016, salsaman 2016"); + weed_set_string_value(filter_class, "license", "BSD 3-clause"); + weed_plugin_info_add_filter_class(plugin_info, filter_class); // coherent noise + filter_class = weed_filter_class_init("Toonz: Coherent Noise", "DWANGO co.", 1, 0, NULL, + &cnoise_process, NULL, + NULL, out_chantmplsx, in_paramsc, NULL); - filter_class=weed_filter_class_init("Toonz: Coherent Noise","DWANGO co.",1,0,NULL, - &cnoise_process,NULL, - NULL,out_chantmplsx,in_paramsc,NULL); - - + weed_set_string_value(filter_class, "extra_authors", "salsaman"); + weed_set_string_value(filter_class, "url", "http://dwango.co.jp"); + weed_set_string_value(filter_class, "copyright", "DWANGO 2016, salsaman 2016"); + weed_set_string_value(filter_class, "license", "BSD 3-clause"); - weed_set_string_value(filter_class,"extra_authors","salsaman"); - weed_set_string_value(filter_class,"url","http://dwango.co.jp"); - weed_set_string_value(filter_class,"copyright","DWANGO 2016, salsaman 2016"); - weed_set_string_value(filter_class,"license","BSD 3-clause"); - - weed_plugin_info_add_filter_class (plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); // light bloom + filter_class = weed_filter_class_init("Toonz: Light Bloom", "DWANGO co.", 1, 0, NULL, + &lbloom_process, NULL, + in_chantmpls, out_chantmpls, in_paramsd, NULL); - filter_class=weed_filter_class_init("Toonz: Light Bloom","DWANGO co.",1,0,NULL, - &lbloom_process,NULL, - in_chantmpls,out_chantmpls,in_paramsd,NULL); + weed_set_string_value(filter_class, "extra_authors", "salsaman"); + weed_set_string_value(filter_class, "url", "http://dwango.co.jp"); + weed_set_string_value(filter_class, "copyright", "DWANGO 2016, salsaman 2016"); + weed_set_string_value(filter_class, "license", "BSD 3-clause"); - - - weed_set_string_value(filter_class,"extra_authors","salsaman"); - weed_set_string_value(filter_class,"url","http://dwango.co.jp"); - weed_set_string_value(filter_class,"copyright","DWANGO 2016, salsaman 2016"); - weed_set_string_value(filter_class,"license","BSD 3-clause"); - - weed_plugin_info_add_filter_class (plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); // paraffin + filter_class = weed_filter_class_init("Toonz: Paraffin", "DWANGO co.", 1, 0, NULL, + ¶ffin_process, NULL, + in_chantmpls, out_chantmpls, in_paramse, NULL); - filter_class=weed_filter_class_init("Toonz: Paraffin","DWANGO co.",1,0,NULL, - ¶ffin_process,NULL, - in_chantmpls,out_chantmpls,in_paramse,NULL); - - - weed_set_string_value(filter_class,"extra_authors","salsaman"); - weed_set_string_value(filter_class,"url","http://dwango.co.jp"); - weed_set_string_value(filter_class,"copyright","DWANGO 2016, salsaman 2016"); - weed_set_string_value(filter_class,"license","BSD 3-clause"); - - weed_plugin_info_add_filter_class (plugin_info,filter_class); - - - + weed_set_string_value(filter_class, "extra_authors", "salsaman"); + weed_set_string_value(filter_class, "url", "http://dwango.co.jp"); + weed_set_string_value(filter_class, "copyright", "DWANGO 2016, salsaman 2016"); + weed_set_string_value(filter_class, "license", "BSD 3-clause"); - - weed_set_int_value(plugin_info,"version",package_version); + weed_plugin_info_add_filter_class(plugin_info, filter_class); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/tvpic.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/tvpic.c
Changed
@@ -19,10 +19,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -37,181 +37,182 @@ ///////////////////////////////////////////////////////////// static void set_black(unsigned char *dst, unsigned char *src, size_t alpha, int psize) { - weed_memset(dst,0,psize); - if (alpha!=-1) dst[alpha]=src[alpha]; + weed_memset(dst, 0, psize); + if (alpha != -1) dst[alpha] = src[alpha]; } static void set_avg(unsigned char *dst, unsigned char *src1, unsigned char *src2, size_t col, size_t alpha, int psize) { - unsigned char avg=(src1[col]+src2[col])/2; - weed_memset(dst,0,psize); - dst[col]=avg; - if (alpha!=-1) dst[alpha]=src1[alpha]; + unsigned char avg = (src1[col] + src2[col]) / 2; + weed_memset(dst, 0, psize); + dst[col] = avg; + if (alpha != -1) dst[alpha] = src1[alpha]; } static int tvpic_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error),*out_channel=weed_get_plantptr_value(inst,"out_channels", - &error); + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error), *out_channel = weed_get_plantptr_value(inst, + "out_channels", + &error); - unsigned char *src=weed_get_voidptr_value(in_channel,"pixel_data",&error); - unsigned char *dest=weed_get_voidptr_value(out_channel,"pixel_data",&error); + unsigned char *src = weed_get_voidptr_value(in_channel, "pixel_data", &error); + unsigned char *dest = weed_get_voidptr_value(out_channel, "pixel_data", &error); - int width=weed_get_int_value(in_channel,"width",&error); - int pal=weed_get_int_value(in_channel,"current_palette",&error); - int height=weed_get_int_value(in_channel,"height",&error); - int irowstride=weed_get_int_value(in_channel,"rowstrides",&error); - int orowstride=weed_get_int_value(out_channel,"rowstrides",&error); - int psize=(pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24)?3:4; - int offset=0,dheight=height; - int odd=0; - int rem=width%6; // modulo 6 - int lbord,rbord; + int width = weed_get_int_value(in_channel, "width", &error); + int pal = weed_get_int_value(in_channel, "current_palette", &error); + int height = weed_get_int_value(in_channel, "height", &error); + int irowstride = weed_get_int_value(in_channel, "rowstrides", &error); + int orowstride = weed_get_int_value(out_channel, "rowstrides", &error); + int psize = (pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24) ? 3 : 4; + int offset = 0, dheight = height; + int odd = 0; + int rem = width % 6; // modulo 6 + int lbord, rbord; - size_t red,green,blue,alpha; + size_t red, green, blue, alpha; - register int x,y; + register int x, y; - if (height<2) return WEED_NO_ERROR; + if (height < 2) return WEED_NO_ERROR; - width*=psize; + width *= psize; - lbord=(rem>>1)*psize; - rbord=width-lbord; + lbord = (rem >> 1) * psize; + rbord = width - lbord; // new threading arch - if (weed_plant_has_leaf(out_channel,"offset")) { - offset=weed_get_int_value(out_channel,"offset",&error); - dheight=weed_get_int_value(out_channel,"height",&error); - dheight+=offset; - - src+=offset*irowstride; - dest+=offset*orowstride; - odd=offset%2; + if (weed_plant_has_leaf(out_channel, "offset")) { + offset = weed_get_int_value(out_channel, "offset", &error); + dheight = weed_get_int_value(out_channel, "height", &error); + dheight += offset; + + src += offset * irowstride; + dest += offset * orowstride; + odd = offset % 2; } switch (pal) { case WEED_PALETTE_RGB24: - red=0; - green=1; - blue=2; - alpha=-1; + red = 0; + green = 1; + blue = 2; + alpha = -1; break; case WEED_PALETTE_RGBA32: - red=0; - green=1; - blue=2; - alpha=3; + red = 0; + green = 1; + blue = 2; + alpha = 3; break; case WEED_PALETTE_BGR24: - blue=0; - green=1; - red=2; - alpha=-1; + blue = 0; + green = 1; + red = 2; + alpha = -1; break; case WEED_PALETTE_BGRA32: - blue=0; - green=1; - red=2; - alpha=4; + blue = 0; + green = 1; + red = 2; + alpha = 4; break; default: // ARGB32 - alpha=0; - red=1; - green=2; - blue=3; + alpha = 0; + red = 1; + green = 2; + blue = 3; } - for (y=offset; y<dheight; y++) { - x=0; - while (x<width) { - if (x<lbord||x>rbord) { - set_black(&dest[x],&src[x],alpha,psize); - x+=psize; - } else if (y==height-1) { + for (y = offset; y < dheight; y++) { + x = 0; + while (x < width) { + if (x < lbord || x > rbord) { + set_black(&dest[x], &src[x], alpha, psize); + x += psize; + } else if (y == height - 1) { // bottom row, 2 possibilities // if odd, rgb from row, rgb from row/row-1 if (odd) { - weed_memcpy(&dest[x],&src[x],psize); - x+=psize; - weed_memcpy(&dest[x],&src[x],psize); - x+=psize; - weed_memcpy(&dest[x],&src[x],psize); - x+=psize; - set_avg(&dest[x],&src[x],&src[x-irowstride],red,alpha,psize); - x+=psize; - set_avg(&dest[x],&src[x],&src[x-irowstride],green,alpha,psize); - x+=psize; - set_avg(&dest[x],&src[x],&src[x-irowstride],blue,alpha,psize); - x+=psize; + weed_memcpy(&dest[x], &src[x], psize); + x += psize; + weed_memcpy(&dest[x], &src[x], psize); + x += psize; + weed_memcpy(&dest[x], &src[x], psize); + x += psize; + set_avg(&dest[x], &src[x], &src[x - irowstride], red, alpha, psize); + x += psize; + set_avg(&dest[x], &src[x], &src[x - irowstride], green, alpha, psize); + x += psize; + set_avg(&dest[x], &src[x], &src[x - irowstride], blue, alpha, psize); + x += psize; } else { // if even, rgb from row/row-1, 3 black - set_avg(&dest[x],&src[x],&src[x-irowstride],red,alpha,psize); - x+=psize; - set_avg(&dest[x],&src[x],&src[x-irowstride],green,alpha,psize); - x+=psize; - set_avg(&dest[x],&src[x],&src[x-irowstride],blue,alpha,psize); - x+=psize; - set_black(&dest[x],&src[x],alpha,psize); - x+=psize; - set_black(&dest[x],&src[x],alpha,psize); - x+=psize; - set_black(&dest[x],&src[x],alpha,psize); - x+=psize; + set_avg(&dest[x], &src[x], &src[x - irowstride], red, alpha, psize); + x += psize; + set_avg(&dest[x], &src[x], &src[x - irowstride], green, alpha, psize); + x += psize; + set_avg(&dest[x], &src[x], &src[x - irowstride], blue, alpha, psize); + x += psize; + set_black(&dest[x], &src[x], alpha, psize); + x += psize; + set_black(&dest[x], &src[x], alpha, psize); + x += psize; + set_black(&dest[x], &src[x], alpha, psize); + x += psize; } - } else if (y==0) { + } else if (y == 0) { // top row has 3 black, rgb from row/row+1, 3 black, etc - set_black(&dest[x],&src[x],alpha,psize); - x+=psize; - set_black(&dest[x],&src[x],alpha,psize); - x+=psize; - set_black(&dest[x],&src[x],alpha,psize); - x+=psize; - set_avg(&dest[x],&src[x],&src[x+irowstride],red,alpha,psize); - x+=psize; - set_avg(&dest[x],&src[x],&src[x+irowstride],green,alpha,psize); - x+=psize; - set_avg(&dest[x],&src[x],&src[x+irowstride],blue,alpha,psize); - x+=psize; + set_black(&dest[x], &src[x], alpha, psize); + x += psize; + set_black(&dest[x], &src[x], alpha, psize); + x += psize; + set_black(&dest[x], &src[x], alpha, psize); + x += psize; + set_avg(&dest[x], &src[x], &src[x + irowstride], red, alpha, psize); + x += psize; + set_avg(&dest[x], &src[x], &src[x + irowstride], green, alpha, psize); + x += psize; + set_avg(&dest[x], &src[x], &src[x + irowstride], blue, alpha, psize); + x += psize; } else { // normal row, 2 possibilities if (odd) { // if odd, rgb from row/row+1, rgb from row/row-1 - set_avg(&dest[x],&src[x],&src[x+irowstride],red,alpha,psize); - x+=psize; - set_avg(&dest[x],&src[x],&src[x+irowstride],green,alpha,psize); - x+=psize; - set_avg(&dest[x],&src[x],&src[x+irowstride],blue,alpha,psize); - x+=psize; - set_avg(&dest[x],&src[x],&src[x-irowstride],red,alpha,psize); - x+=psize; - set_avg(&dest[x],&src[x],&src[x-irowstride],green,alpha,psize); - x+=psize; - set_avg(&dest[x],&src[x],&src[x-irowstride],blue,alpha,psize); - x+=psize; + set_avg(&dest[x], &src[x], &src[x + irowstride], red, alpha, psize); + x += psize; + set_avg(&dest[x], &src[x], &src[x + irowstride], green, alpha, psize); + x += psize; + set_avg(&dest[x], &src[x], &src[x + irowstride], blue, alpha, psize); + x += psize; + set_avg(&dest[x], &src[x], &src[x - irowstride], red, alpha, psize); + x += psize; + set_avg(&dest[x], &src[x], &src[x - irowstride], green, alpha, psize); + x += psize; + set_avg(&dest[x], &src[x], &src[x - irowstride], blue, alpha, psize); + x += psize; } else { // if even, rgb from row/row-1, rgb from row/row+1 - set_avg(&dest[x],&src[x],&src[x-irowstride],red,alpha,psize); - x+=psize; - set_avg(&dest[x],&src[x],&src[x-irowstride],green,alpha,psize); - x+=psize; - set_avg(&dest[x],&src[x],&src[x-irowstride],blue,alpha,psize); - x+=psize; - set_avg(&dest[x],&src[x],&src[x+irowstride],red,alpha,psize); - x+=psize; - set_avg(&dest[x],&src[x],&src[x+irowstride],green,alpha,psize); - x+=psize; - set_avg(&dest[x],&src[x],&src[x+irowstride],blue,alpha,psize); - x+=psize; + set_avg(&dest[x], &src[x], &src[x - irowstride], red, alpha, psize); + x += psize; + set_avg(&dest[x], &src[x], &src[x - irowstride], green, alpha, psize); + x += psize; + set_avg(&dest[x], &src[x], &src[x - irowstride], blue, alpha, psize); + x += psize; + set_avg(&dest[x], &src[x], &src[x + irowstride], red, alpha, psize); + x += psize; + set_avg(&dest[x], &src[x], &src[x + irowstride], green, alpha, psize); + x += psize; + set_avg(&dest[x], &src[x], &src[x + irowstride], blue, alpha, psize); + x += psize; } } } - dest+=orowstride; - src+=irowstride; - odd=!odd; + dest += orowstride; + src += irowstride; + odd = !odd; } return WEED_NO_ERROR; } @@ -220,18 +221,19 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_BGR24,WEED_PALETTE_RGB24,WEED_PALETTE_RGBA32,WEED_PALETTE_BGRA32,WEED_PALETTE_ARGB32,WEED_PALETTE_END}; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_BGR24, WEED_PALETTE_RGB24, WEED_PALETTE_RGBA32, WEED_PALETTE_BGRA32, WEED_PALETTE_ARGB32, WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",0,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",0,palette_list),NULL}; - weed_plant_t *filter_class=weed_filter_class_init("tvpic","salsaman",1,WEED_FILTER_HINT_MAY_THREAD,NULL,&tvpic_process,NULL,in_chantmpls, - out_chantmpls,NULL,NULL); + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", 0, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", 0, palette_list), NULL}; + weed_plant_t *filter_class = weed_filter_class_init("tvpic", "salsaman", 1, WEED_FILTER_HINT_MAY_THREAD, NULL, &tvpic_process, NULL, + in_chantmpls, + out_chantmpls, NULL, NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/vertigo.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/vertigo.c
Changed
@@ -23,10 +23,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -68,35 +68,35 @@ double x, y; double dizz; - dizz = sin(sdata->phase) * 10 + sin(sdata->phase*1.9+5) * 5; + dizz = sin(sdata->phase) * 10 + sin(sdata->phase * 1.9 + 5) * 5; x = video_width / 2.; y = video_height / 2.; - t = (x*x + y*y) * zoomrate; + t = (x * x + y * y) * zoomrate; if (video_width > video_height) { if (dizz >= 0) { if (dizz > x) dizz = x; - vx = (x*(x-dizz) + y*y) / t; + vx = (x * (x - dizz) + y * y) / t; } else { if (dizz < -x) dizz = -x; - vx = (x*(x+dizz) + y*y) / t; + vx = (x * (x + dizz) + y * y) / t; } - vy = (dizz*y) / t; + vy = (dizz * y) / t; } else { if (dizz >= 0) { if (dizz > y) dizz = y; - vx = (x*x + y*(y-dizz)) / t; + vx = (x * x + y * (y - dizz)) / t; } else { if (dizz < -y) dizz = -y; - vx = (x*x + y*(y+dizz)) / t; + vx = (x * x + y * (y + dizz)) / t; } - vy = (dizz*x) / t; + vy = (dizz * x) / t; } sdata->dx = vx * 65536.; sdata->dy = vy * 65536.; - sdata->sx = (-vx * x + vy * y + x + cos(sdata->phase*5.) * 2.) * 65536.; - sdata->sy = (-vx * y - vy * x + y + sin(sdata->phase*6.) * 2.) * 65536.; + sdata->sx = (-vx * x + vy * y + x + cos(sdata->phase * 5.) * 2.) * 65536.; + sdata->sy = (-vx * y - vy * x + y + sin(sdata->phase * 6.) * 2.) * 65536.; sdata->phase += phase_increment; if (sdata->phase > 5700000.) sdata->phase = 0.; @@ -106,21 +106,21 @@ int vertigo_init(weed_plant_t *inst) { struct _sdata *sdata; - int video_height,video_width,video_area; + int video_height, video_width, video_area; int error; weed_plant_t *in_channel; - sdata=weed_malloc(sizeof(struct _sdata)); + sdata = weed_malloc(sizeof(struct _sdata)); if (sdata == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - in_channel=weed_get_plantptr_value(inst,"in_channels",&error); + in_channel = weed_get_plantptr_value(inst, "in_channels", &error); - video_height=weed_get_int_value(in_channel,"height",&error); - video_width=weed_get_int_value(in_channel,"width",&error); - video_area=video_width*video_height; + video_height = weed_get_int_value(in_channel, "height", &error); + video_width = weed_get_int_value(in_channel, "width", &error); + video_area = video_width * video_height; - sdata->buffer = (RGB32 *)weed_malloc(PIXEL_SIZE*video_area*2); + sdata->buffer = (RGB32 *)weed_malloc(PIXEL_SIZE * video_area * 2); if (sdata->buffer == NULL) { weed_free(sdata); @@ -133,7 +133,7 @@ sdata->alt_buffer = sdata->buffer + video_area; sdata->phase = 0.; - weed_set_voidptr_value(inst,"plugin_internal",sdata); + weed_set_voidptr_value(inst, "plugin_internal", sdata); return WEED_NO_ERROR; @@ -144,7 +144,7 @@ struct _sdata *sdata; int error; - sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); + sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); if (sdata != NULL) { weed_free(sdata->buffer); @@ -156,17 +156,17 @@ int vertigo_process(weed_plant_t *inst, weed_timecode_t timecode) { struct _sdata *sdata; - weed_plant_t *in_channel,*out_channel,**in_params; + weed_plant_t *in_channel, *out_channel, **in_params; - double pinc,zoomrate; + double pinc, zoomrate; - size_t offs=0; + size_t offs = 0; RGB32 *p; RGB32 v; - RGB32 *src,*dest; + RGB32 *src, *dest; - int video_width,video_height,video_area,irow,orow; + int video_width, video_height, video_area, irow, orow; int error; int ox, oy; @@ -174,50 +174,50 @@ register int x, y; - sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); - in_channel=weed_get_plantptr_value(inst,"in_channels",&error); - out_channel=weed_get_plantptr_value(inst,"out_channels",&error); + sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); + in_channel = weed_get_plantptr_value(inst, "in_channels", &error); + out_channel = weed_get_plantptr_value(inst, "out_channels", &error); - src=weed_get_voidptr_value(in_channel,"pixel_data",&error); - dest=weed_get_voidptr_value(out_channel,"pixel_data",&error); + src = weed_get_voidptr_value(in_channel, "pixel_data", &error); + dest = weed_get_voidptr_value(out_channel, "pixel_data", &error); - video_width = weed_get_int_value(in_channel,"width",&error); - video_height = weed_get_int_value(in_channel,"height",&error); + video_width = weed_get_int_value(in_channel, "width", &error); + video_height = weed_get_int_value(in_channel, "height", &error); - irow = weed_get_int_value(in_channel,"rowstrides",&error)/4-video_width; - orow = weed_get_int_value(out_channel,"rowstrides",&error)/4; + irow = weed_get_int_value(in_channel, "rowstrides", &error) / 4 - video_width; + orow = weed_get_int_value(out_channel, "rowstrides", &error) / 4; - video_area=video_width*video_height; + video_area = video_width * video_height; - in_params=weed_get_plantptr_array(inst,"in_parameters",&error); - pinc=weed_get_double_value(in_params[0],"value",&error); - zoomrate=weed_get_double_value(in_params[1],"value",&error); + in_params = weed_get_plantptr_array(inst, "in_parameters", &error); + pinc = weed_get_double_value(in_params[0], "value", &error); + zoomrate = weed_get_double_value(in_params[1], "value", &error); weed_free(in_params); - setParams(video_width,video_height,sdata,pinc,zoomrate); + setParams(video_width, video_height, sdata, pinc, zoomrate); p = sdata->alt_buffer; - for (y=video_height; y>0; y--) { + for (y = video_height; y > 0; y--) { ox = sdata->sx; oy = sdata->sy; - for (x=video_width; x>0; x--) { - if ((i = (oy>>16)*video_width + (ox>>16))<0) i=0; - if (i>=video_area) i = video_area; + for (x = video_width; x > 0; x--) { + if ((i = (oy >> 16) * video_width + (ox >> 16)) < 0) i = 0; + if (i >= video_area) i = video_area; v = ((sdata->current_buffer[i] & 0xfcfcff) * 3) + ((*src) & 0xfcfcff); - *p++ = (v>>2)|(*src++&0xff000000); + *p++ = (v >> 2) | (*src++ & 0xff000000); ox += sdata->dx; oy += sdata->dy; } - src+=irow; + src += irow; sdata->sx -= sdata->dy; sdata->sy += sdata->dx; } - for (y=0; y<video_height; y++) { - weed_memcpy(dest, sdata->alt_buffer+offs, video_width*PIXEL_SIZE); - dest+=orow; - offs+=video_width; + for (y = 0; y < video_height; y++) { + weed_memcpy(dest, sdata->alt_buffer + offs, video_width * PIXEL_SIZE); + dest += orow; + offs += video_width; } p = sdata->current_buffer; @@ -234,20 +234,21 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_RGBA32,WEED_PALETTE_BGRA32,WEED_PALETTE_END}; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_RGBA32, WEED_PALETTE_BGRA32, WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",WEED_CHANNEL_REINIT_ON_SIZE_CHANGE,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",0,palette_list),NULL}; - weed_plant_t *in_params[]= {weed_float_init("pinc","_Phase increment",0.2,0.1,1.0),weed_float_init("zoom","_Zoom",1.01,1.01,1.10),NULL}; + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", WEED_CHANNEL_REINIT_ON_SIZE_CHANGE, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", 0, palette_list), NULL}; + weed_plant_t *in_params[] = {weed_float_init("pinc", "_Phase increment", 0.2, 0.1, 1.0), weed_float_init("zoom", "_Zoom", 1.01, 1.01, 1.10), NULL}; - weed_plant_t *filter_class=weed_filter_class_init("vertigo","effectTV",1,0,&vertigo_init,&vertigo_process,&vertigo_deinit,in_chantmpls, - out_chantmpls,in_params,NULL); + weed_plant_t *filter_class = weed_filter_class_init("vertigo", "effectTV", 1, 0, &vertigo_init, &vertigo_process, &vertigo_deinit, + in_chantmpls, + out_chantmpls, in_params, NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/warpTV.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/warpTV.c
Changed
@@ -30,10 +30,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -65,7 +65,7 @@ struct _sdata { Sint32 *disttable; Sint32 ctable[1024]; - Sint32 sintable[1024+256]; + Sint32 sintable[1024 + 256]; int tval; }; @@ -77,7 +77,7 @@ tsinptr = tptr = sdata->sintable; for (i = 0; i < 1024; i++) - *tptr++ = (int)(sin(i*M_PI/512) * 32767); + *tptr++ = (int)(sin(i * M_PI / 512) * 32767); for (i = 0; i < 256; i++) *tptr++ = *tsinptr++; @@ -89,32 +89,32 @@ static void initDistTable(struct _sdata *sdata, int width, int height) { Sint32 halfw, halfh, *distptr; #ifdef PS2 - float x,y,m; + float x, y, m; #else - double x,y,m; + double x, y, m; #endif - halfw = width/2.+.5; - halfh = height/2.+.5; + halfw = width / 2. + .5; + halfh = height / 2. + .5; distptr = sdata->disttable; - m = sqrt((double)(halfw*halfw + halfh*halfh)); + m = sqrt((double)(halfw * halfw + halfh * halfh)); for (y = -halfh; y < halfh; y++) - for (x= -halfw; x < halfw; x++) + for (x = -halfw; x < halfw; x++) #ifdef PS2 *distptr++ = ((int) - ((sqrtf(x*x+y*y) * 511.100100) / m)) << 1; + ((sqrtf(x * x + y * y) * 511.100100) / m)) << 1; #else *distptr++ = ((int) - ((sqrt(x*x+y*y) * 511.100100) / m)) << 1; + ((sqrt(x * x + y * y) * 511.100100) / m)) << 1; #endif } -static void doWarp(int xw, int yw, int cw,RGB32 *src,RGB32 *dst, int width, int height, int irow, int orow, struct _sdata *sdata) { - Sint32 c,i, x,y, dx,dy, maxx, maxy; +static void doWarp(int xw, int yw, int cw, RGB32 *src, RGB32 *dst, int width, int height, int irow, int orow, struct _sdata *sdata) { + Sint32 c, i, x, y, dx, dy, maxx, maxy; Sint32 skip, *ctptr, *distptr; Uint32 *destptr; // Uint32 **offsptr; @@ -122,23 +122,23 @@ ctptr = sdata->ctable; distptr = sdata->disttable; destptr = dst; - skip = orow-width; + skip = orow - width; c = 0; for (x = 0; x < 512; x++) { i = (c >> 3) & 0x3FE; *ctptr++ = ((sdata->sintable[i] * yw) >> 15); - *ctptr++ = ((sdata->sintable[i+256] * xw) >> 15); + *ctptr++ = ((sdata->sintable[i + 256] * xw) >> 15); c += cw; } maxx = width - 2; maxy = height - 2; /* printf("Forring\n"); */ - for (y = 0; y < height-1; y++) { + for (y = 0; y < height - 1; y++) { for (x = 0; x < width; x++) { i = *distptr; distptr++; - dx = sdata->ctable [i+1] + x; - dy = sdata->ctable [i] + y; + dx = sdata->ctable[i + 1] + x; + dy = sdata->ctable[i] + y; if (dx < 0) dx = 0; @@ -148,7 +148,7 @@ else if (dy > maxy) dy = maxy; /* printf("f:%d\n",dy); */ /* printf("%d\t%d\n",dx,dy); */ - *destptr++ = src[dy*irow+dx]; + *destptr++ = src[dy * irow + dx]; } destptr += skip; } @@ -164,20 +164,20 @@ weed_plant_t *in_channel; struct _sdata *sdata; - sdata=weed_malloc(sizeof(struct _sdata)); + sdata = weed_malloc(sizeof(struct _sdata)); - if (sdata==NULL) return WEED_ERROR_MEMORY_ALLOCATION; + if (sdata == NULL) return WEED_ERROR_MEMORY_ALLOCATION; - in_channel=weed_get_plantptr_value(inst,"in_channels",&error); + in_channel = weed_get_plantptr_value(inst, "in_channels", &error); - video_height=weed_get_int_value(in_channel,"height",&error); - video_width=weed_get_int_value(in_channel,"width",&error); + video_height = weed_get_int_value(in_channel, "height", &error); + video_width = weed_get_int_value(in_channel, "width", &error); - video_width=video_width/2.+.5; - video_width*=2; + video_width = video_width / 2. + .5; + video_width *= 2; - video_height=video_height/2.+.5; - video_height*=2; + video_height = video_height / 2. + .5; + video_height *= 2; sdata->disttable = weed_malloc(video_width * video_height * sizeof(int)); if (sdata->disttable == NULL) { @@ -186,11 +186,11 @@ } initSinTable(sdata); - initDistTable(sdata,video_width,video_height); + initDistTable(sdata, video_width, video_height); - sdata->tval=0; + sdata->tval = 0; - weed_set_voidptr_value(inst,"plugin_internal",sdata); + weed_set_voidptr_value(inst, "plugin_internal", sdata); return WEED_NO_ERROR; } @@ -199,49 +199,49 @@ int warp_deinit(weed_plant_t *inst) { int error; struct _sdata *sdata; - sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); + sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); if (sdata != NULL) { weed_free(sdata->disttable); weed_free(sdata); - weed_set_voidptr_value(inst,"plugin_internal",NULL); + weed_set_voidptr_value(inst, "plugin_internal", NULL); } return WEED_NO_ERROR; } int warp_process(weed_plant_t *inst, weed_timecode_t timestamp) { - RGB32 *src,*dest; + RGB32 *src, *dest; struct _sdata *sdata; int error; - int xw,yw,cw; + int xw, yw, cw; - int width,height,irow,orow; + int width, height, irow, orow; - weed_plant_t *in_channel,*out_channel; + weed_plant_t *in_channel, *out_channel; - sdata=weed_get_voidptr_value(inst,"plugin_internal",&error); - in_channel=weed_get_plantptr_value(inst,"in_channels",&error); - out_channel=weed_get_plantptr_value(inst,"out_channels",&error); + sdata = weed_get_voidptr_value(inst, "plugin_internal", &error); + in_channel = weed_get_plantptr_value(inst, "in_channels", &error); + out_channel = weed_get_plantptr_value(inst, "out_channels", &error); - src=weed_get_voidptr_value(in_channel,"pixel_data",&error); - dest=weed_get_voidptr_value(out_channel,"pixel_data",&error); + src = weed_get_voidptr_value(in_channel, "pixel_data", &error); + dest = weed_get_voidptr_value(out_channel, "pixel_data", &error); - width = weed_get_int_value(in_channel,"width",&error); - height = weed_get_int_value(in_channel,"height",&error); + width = weed_get_int_value(in_channel, "width", &error); + height = weed_get_int_value(in_channel, "height", &error); - irow = weed_get_int_value(in_channel,"rowstrides",&error)/4; - orow = weed_get_int_value(out_channel,"rowstrides",&error)/4; + irow = weed_get_int_value(in_channel, "rowstrides", &error) / 4; + orow = weed_get_int_value(out_channel, "rowstrides", &error) / 4; - xw = (int)(sin((sdata->tval+100)*M_PI/128) * 30); - yw = (int)(sin((sdata->tval)*M_PI/256) * -35); - cw = (int)(sin((sdata->tval-70)*M_PI/64) * 50); - xw += (int)(sin((sdata->tval-10)*M_PI/512) * 40); - yw += (int)(sin((sdata->tval+30)*M_PI/512) * 40); + xw = (int)(sin((sdata->tval + 100) * M_PI / 128) * 30); + yw = (int)(sin((sdata->tval) * M_PI / 256) * -35); + cw = (int)(sin((sdata->tval - 70) * M_PI / 64) * 50); + xw += (int)(sin((sdata->tval - 10) * M_PI / 512) * 40); + yw += (int)(sin((sdata->tval + 30) * M_PI / 512) * 40); - doWarp(xw,yw,cw,src,dest,width,height,irow,orow,sdata); - sdata->tval = (sdata->tval+1) &511; + doWarp(xw, yw, cw, src, dest, width, height, irow, orow, sdata); + sdata->tval = (sdata->tval + 1) & 511; return WEED_NO_ERROR; } @@ -250,19 +250,20 @@ weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_RGBA32,WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",WEED_CHANNEL_REINIT_ON_SIZE_CHANGE,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",0,palette_list),NULL}; + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_RGBA32, WEED_PALETTE_END}; + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", WEED_CHANNEL_REINIT_ON_SIZE_CHANGE, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", 0, palette_list), NULL}; - weed_plant_t *filter_class=weed_filter_class_init("warpTV","effectTV",1,0,&warp_init,&warp_process,&warp_deinit,in_chantmpls,out_chantmpls, - NULL,NULL); + weed_plant_t *filter_class = weed_filter_class_init("warpTV", "effectTV", 1, 0, &warp_init, &warp_process, &warp_deinit, in_chantmpls, + out_chantmpls, + NULL, NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info;
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/weed-plugin-utils.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/weed-plugin-utils.c
Changed
@@ -63,7 +63,7 @@ /////////////////////////////////////////////////////////// static inline int _leaf_exists(weed_plant_t *plant, const char *key) { - if (weed_leaf_get(plant,key,0,NULL)==WEED_ERROR_NOSUCH_LEAF) return 0; + if (weed_leaf_get(plant, key, 0, NULL) == WEED_ERROR_NOSUCH_LEAF) return 0; return 1; } @@ -72,8 +72,8 @@ // return api version selected by host int api_version; weed_plant_t *host_info; - weed_leaf_get(plugin_info,"host_info",0,&host_info); - weed_leaf_get(host_info,"api_version",0,&api_version); + weed_leaf_get(plugin_info, "host_info", 0, &host_info); + weed_leaf_get(host_info, "api_version", 0, &api_version); return api_version; } @@ -100,53 +100,53 @@ weed_memset_f *weedmemset; weed_memcpy_f *weedmemcpy; - weed_plant_t *host_info=weed_boot((weed_default_getter_f *)&weed_default_get,num_versions,api_versions),*plugin_info; - if (host_info==NULL) return NULL; // matching version was not found + weed_plant_t *host_info = weed_boot((weed_default_getter_f *)&weed_default_get, num_versions, api_versions), *plugin_info; + if (host_info == NULL) return NULL; // matching version was not found //////////// get api version ///////// - weed_default_get(host_info,"api_version",0,&api_version); + weed_default_get(host_info, "api_version", 0, &api_version); // depending on the api version we could have different functions // we must use the default getter to get our API functions - weed_default_get(host_info,"weed_malloc_func",0,(void *)&weedmalloc); - weed_malloc=weedmalloc[0]; + weed_default_get(host_info, "weed_malloc_func", 0, (void *)&weedmalloc); + weed_malloc = weedmalloc[0]; - weed_default_get(host_info,"weed_free_func",0,(void *)&weedfree); - weed_free=weedfree[0]; + weed_default_get(host_info, "weed_free_func", 0, (void *)&weedfree); + weed_free = weedfree[0]; - weed_default_get(host_info,"weed_memset_func",0,(void *)&weedmemset); - weed_memset=weedmemset[0]; + weed_default_get(host_info, "weed_memset_func", 0, (void *)&weedmemset); + weed_memset = weedmemset[0]; - weed_default_get(host_info,"weed_memcpy_func",0,(void *)&weedmemcpy); - weed_memcpy=weedmemcpy[0]; + weed_default_get(host_info, "weed_memcpy_func", 0, (void *)&weedmemcpy); + weed_memcpy = weedmemcpy[0]; - weed_default_get(host_info,"weed_leaf_get_func",0,(void *)&wlg); - weed_leaf_get=wlg[0]; + weed_default_get(host_info, "weed_leaf_get_func", 0, (void *)&wlg); + weed_leaf_get = wlg[0]; - weed_default_get(host_info,"weed_leaf_set_func",0,(void *)&wls); - weed_leaf_set=wls[0]; + weed_default_get(host_info, "weed_leaf_set_func", 0, (void *)&wls); + weed_leaf_set = wls[0]; - weed_default_get(host_info,"weed_plant_new_func",0,(void *)&wpn); - weed_plant_new=wpn[0]; + weed_default_get(host_info, "weed_plant_new_func", 0, (void *)&wpn); + weed_plant_new = wpn[0]; - weed_default_get(host_info,"weed_plant_list_leaves_func",0,(void *)&wpll); - weed_plant_list_leaves=wpll[0]; + weed_default_get(host_info, "weed_plant_list_leaves_func", 0, (void *)&wpll); + weed_plant_list_leaves = wpll[0]; - weed_default_get(host_info,"weed_leaf_num_elements_func",0,(void *)&wlne); - weed_leaf_num_elements=wlne[0]; + weed_default_get(host_info, "weed_leaf_num_elements_func", 0, (void *)&wlne); + weed_leaf_num_elements = wlne[0]; - weed_default_get(host_info,"weed_leaf_element_size_func",0,(void *)&wles); - weed_leaf_element_size=wles[0]; + weed_default_get(host_info, "weed_leaf_element_size_func", 0, (void *)&wles); + weed_leaf_element_size = wles[0]; - weed_default_get(host_info,"weed_leaf_seed_type_func",0,(void *)&wlst); - weed_leaf_seed_type=wlst[0]; + weed_default_get(host_info, "weed_leaf_seed_type_func", 0, (void *)&wlst); + weed_leaf_seed_type = wlst[0]; - weed_default_get(host_info,"weed_leaf_get_flags_func",0,(void *)&wlgf); - weed_leaf_get_flags=wlgf[0]; + weed_default_get(host_info, "weed_leaf_get_flags_func", 0, (void *)&wlgf); + weed_leaf_get_flags = wlgf[0]; // get any additional functions for higher API versions //////////// @@ -158,9 +158,9 @@ // we can now use the normal API functions - plugin_info=weed_plant_new(WEED_PLANT_PLUGIN_INFO); + plugin_info = weed_plant_new(WEED_PLANT_PLUGIN_INFO); - weed_leaf_set(plugin_info,"host_info",WEED_SEED_PLANTPTR,1,&host_info); + weed_leaf_set(plugin_info, "host_info", WEED_SEED_PLANTPTR, 1, &host_info); return plugin_info; } @@ -168,25 +168,25 @@ weed_plant_t *weed_channel_template_init(const char *name, int flags, int *palettes) { int i; - weed_plant_t *chantmpl=weed_plant_new(WEED_PLANT_CHANNEL_TEMPLATE); + weed_plant_t *chantmpl = weed_plant_new(WEED_PLANT_CHANNEL_TEMPLATE); - weed_leaf_set(chantmpl,"name",WEED_SEED_STRING,1,&name); - weed_leaf_set(chantmpl,"flags",WEED_SEED_INT,1,&flags); + weed_leaf_set(chantmpl, "name", WEED_SEED_STRING, 1, &name); + weed_leaf_set(chantmpl, "flags", WEED_SEED_INT, 1, &flags); - for (i=0; palettes[i]!=WEED_PALETTE_END; i++); - if (i==0) weed_leaf_set(chantmpl,"palette_list",WEED_SEED_INT,0,NULL); - else weed_leaf_set(chantmpl,"palette_list",WEED_SEED_INT,i,palettes); + for (i = 0; palettes[i] != WEED_PALETTE_END; i++); + if (i == 0) weed_leaf_set(chantmpl, "palette_list", WEED_SEED_INT, 0, NULL); + else weed_leaf_set(chantmpl, "palette_list", WEED_SEED_INT, i, palettes); return chantmpl; } weed_plant_t *weed_audio_channel_template_init(const char *name, int flags) { - int wtrue=WEED_TRUE; - weed_plant_t *chantmpl=weed_plant_new(WEED_PLANT_CHANNEL_TEMPLATE); + int wtrue = WEED_TRUE; + weed_plant_t *chantmpl = weed_plant_new(WEED_PLANT_CHANNEL_TEMPLATE); - weed_leaf_set(chantmpl,"name",WEED_SEED_STRING,1,&name); - weed_leaf_set(chantmpl,"flags",WEED_SEED_INT,1,&flags); - weed_leaf_set(chantmpl,"is_audio",WEED_SEED_BOOLEAN,1,&wtrue); + weed_leaf_set(chantmpl, "name", WEED_SEED_STRING, 1, &name); + weed_leaf_set(chantmpl, "flags", WEED_SEED_INT, 1, &flags); + weed_leaf_set(chantmpl, "is_audio", WEED_SEED_BOOLEAN, 1, &wtrue); return chantmpl; } @@ -195,52 +195,52 @@ weed_process_f process_func, weed_deinit_f deinit_func, weed_plant_t **in_chantmpls, weed_plant_t **out_chantmpls, weed_plant_t **in_paramtmpls, weed_plant_t **out_paramtmpls) { int i; - weed_plant_t *filter_class=weed_plant_new(WEED_PLANT_FILTER_CLASS); + weed_plant_t *filter_class = weed_plant_new(WEED_PLANT_FILTER_CLASS); - weed_leaf_set(filter_class,"name",WEED_SEED_STRING,1,&name); - weed_leaf_set(filter_class,"author",WEED_SEED_STRING,1,&author); - weed_leaf_set(filter_class,"version",WEED_SEED_INT,1,&version); - weed_leaf_set(filter_class,"flags",WEED_SEED_INT,1,&flags); + weed_leaf_set(filter_class, "name", WEED_SEED_STRING, 1, &name); + weed_leaf_set(filter_class, "author", WEED_SEED_STRING, 1, &author); + weed_leaf_set(filter_class, "version", WEED_SEED_INT, 1, &version); + weed_leaf_set(filter_class, "flags", WEED_SEED_INT, 1, &flags); - if (init_func!=NULL) { - weed_init_f *fn_ptr_ptr=(weed_init_f *)weed_malloc(sizeof(weed_init_f)); - *fn_ptr_ptr=init_func; - weed_leaf_set(filter_class,"init_func",WEED_SEED_VOIDPTR,1,&fn_ptr_ptr); + if (init_func != NULL) { + weed_init_f *fn_ptr_ptr = (weed_init_f *)weed_malloc(sizeof(weed_init_f)); + *fn_ptr_ptr = init_func; + weed_leaf_set(filter_class, "init_func", WEED_SEED_VOIDPTR, 1, &fn_ptr_ptr); } - if (process_func!=NULL) { - weed_process_f *fn_ptr_ptr=(weed_process_f *)weed_malloc(sizeof(weed_process_f)); - *fn_ptr_ptr=process_func; - weed_leaf_set(filter_class,"process_func",WEED_SEED_VOIDPTR,1,&fn_ptr_ptr); + if (process_func != NULL) { + weed_process_f *fn_ptr_ptr = (weed_process_f *)weed_malloc(sizeof(weed_process_f)); + *fn_ptr_ptr = process_func; + weed_leaf_set(filter_class, "process_func", WEED_SEED_VOIDPTR, 1, &fn_ptr_ptr); } - if (deinit_func!=NULL) { - weed_deinit_f *fn_ptr_ptr=(weed_deinit_f *)weed_malloc(sizeof(weed_deinit_f)); - *fn_ptr_ptr=deinit_func; - weed_leaf_set(filter_class,"deinit_func",WEED_SEED_VOIDPTR,1,&fn_ptr_ptr); + if (deinit_func != NULL) { + weed_deinit_f *fn_ptr_ptr = (weed_deinit_f *)weed_malloc(sizeof(weed_deinit_f)); + *fn_ptr_ptr = deinit_func; + weed_leaf_set(filter_class, "deinit_func", WEED_SEED_VOIDPTR, 1, &fn_ptr_ptr); } - if (in_chantmpls==NULL||in_chantmpls[0]==NULL) weed_leaf_set(filter_class,"in_channel_templates",WEED_SEED_VOIDPTR,0,NULL); + if (in_chantmpls == NULL || in_chantmpls[0] == NULL) weed_leaf_set(filter_class, "in_channel_templates", WEED_SEED_VOIDPTR, 0, NULL); else { - for (i=0; in_chantmpls[i]!=NULL; i++); - weed_leaf_set(filter_class,"in_channel_templates",WEED_SEED_PLANTPTR,i,in_chantmpls); + for (i = 0; in_chantmpls[i] != NULL; i++); + weed_leaf_set(filter_class, "in_channel_templates", WEED_SEED_PLANTPTR, i, in_chantmpls); } - if (out_chantmpls==NULL||out_chantmpls[0]==NULL) weed_leaf_set(filter_class,"out_channel_templates",WEED_SEED_VOIDPTR,0,NULL); + if (out_chantmpls == NULL || out_chantmpls[0] == NULL) weed_leaf_set(filter_class, "out_channel_templates", WEED_SEED_VOIDPTR, 0, NULL); else { - for (i=0; out_chantmpls[i]!=NULL; i++); - weed_leaf_set(filter_class,"out_channel_templates",WEED_SEED_PLANTPTR,i,out_chantmpls); + for (i = 0; out_chantmpls[i] != NULL; i++); + weed_leaf_set(filter_class, "out_channel_templates", WEED_SEED_PLANTPTR, i, out_chantmpls); } - if (in_paramtmpls==NULL||in_paramtmpls[0]==NULL) weed_leaf_set(filter_class,"in_parameter_templates",WEED_SEED_VOIDPTR,0,NULL); + if (in_paramtmpls == NULL || in_paramtmpls[0] == NULL) weed_leaf_set(filter_class, "in_parameter_templates", WEED_SEED_VOIDPTR, 0, NULL); else { - for (i=0; in_paramtmpls[i]!=NULL; i++); - weed_leaf_set(filter_class,"in_parameter_templates",WEED_SEED_PLANTPTR,i,in_paramtmpls); + for (i = 0; in_paramtmpls[i] != NULL; i++); + weed_leaf_set(filter_class, "in_parameter_templates", WEED_SEED_PLANTPTR, i, in_paramtmpls); } - if (out_paramtmpls==NULL||out_paramtmpls[0]==NULL) weed_leaf_set(filter_class,"out_parameter_templates",WEED_SEED_VOIDPTR,0,NULL); + if (out_paramtmpls == NULL || out_paramtmpls[0] == NULL) weed_leaf_set(filter_class, "out_parameter_templates", WEED_SEED_VOIDPTR, 0, NULL); else { - for (i=0; out_paramtmpls[i]!=NULL; i++); - weed_leaf_set(filter_class,"out_parameter_templates",WEED_SEED_PLANTPTR,i,out_paramtmpls); + for (i = 0; out_paramtmpls[i] != NULL; i++); + weed_leaf_set(filter_class, "out_parameter_templates", WEED_SEED_PLANTPTR, i, out_paramtmpls); } return filter_class; @@ -248,15 +248,15 @@ void weed_plugin_info_add_filter_class(weed_plant_t *plugin_info, weed_plant_t *filter_class) { - int num_filters=0,i; + int num_filters = 0, i; weed_plant_t **filters; - if (_leaf_exists(plugin_info,"filters")) num_filters=weed_leaf_num_elements(plugin_info,"filters"); - filters=(weed_plant_t **)weed_malloc((num_filters+1)*sizeof(weed_plant_t *)); - for (i=0; i<num_filters; i++) weed_leaf_get(plugin_info,"filters",i,&filters[i]); - filters[i]=filter_class; - weed_leaf_set(plugin_info,"filters",WEED_SEED_PLANTPTR,i+1,filters); - weed_leaf_set(filter_class,"plugin_info",WEED_SEED_PLANTPTR,1,&plugin_info); + if (_leaf_exists(plugin_info, "filters")) num_filters = weed_leaf_num_elements(plugin_info, "filters"); + filters = (weed_plant_t **)weed_malloc((num_filters + 1) * sizeof(weed_plant_t *)); + for (i = 0; i < num_filters; i++) weed_leaf_get(plugin_info, "filters", i, &filters[i]); + filters[i] = filter_class; + weed_leaf_set(plugin_info, "filters", WEED_SEED_PLANTPTR, i + 1, filters); + weed_leaf_set(filter_class, "plugin_info", WEED_SEED_PLANTPTR, 1, &plugin_info); weed_free(filters); } @@ -264,13 +264,13 @@ weed_plant_t *weed_parameter_template_get_gui(weed_plant_t *paramt) { weed_plant_t *gui; - if (_leaf_exists(paramt,"gui")) { - weed_leaf_get(paramt,"gui",0,&gui); + if (_leaf_exists(paramt, "gui")) { + weed_leaf_get(paramt, "gui", 0, &gui); return gui; } - gui=weed_plant_new(WEED_PLANT_GUI); - weed_leaf_set(paramt,"gui",WEED_SEED_PLANTPTR,1,&gui); + gui = weed_plant_new(WEED_PLANT_GUI); + weed_leaf_set(paramt, "gui", WEED_SEED_PLANTPTR, 1, &gui); return gui; } @@ -278,13 +278,13 @@ weed_plant_t *weed_filter_class_get_gui(weed_plant_t *filter) { weed_plant_t *gui; - if (_leaf_exists(filter,"gui")) { - weed_leaf_get(filter,"gui",0,&gui); + if (_leaf_exists(filter, "gui")) { + weed_leaf_get(filter, "gui", 0, &gui); return gui; } - gui=weed_plant_new(WEED_PLANT_GUI); - weed_leaf_set(filter,"gui",WEED_SEED_PLANTPTR,1,&gui); + gui = weed_plant_new(WEED_PLANT_GUI); + weed_leaf_set(filter, "gui", WEED_SEED_PLANTPTR, 1, &gui); return gui; } @@ -292,8 +292,8 @@ weed_plant_t *weed_parameter_get_gui(weed_plant_t *param) { weed_plant_t *xtemplate; - if (_leaf_exists(param,"template")) { - weed_leaf_get(param,"template",0,&xtemplate); + if (_leaf_exists(param, "template")) { + weed_leaf_get(param, "template", 0, &xtemplate); return weed_parameter_template_get_gui(xtemplate); } return NULL; @@ -304,203 +304,203 @@ ////////////////////////////////////////////////////////////////////////////////////////////// weed_plant_t *weed_integer_init(const char *name, const char *label, int def, int min, int max) { - weed_plant_t *paramt=weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); - int hint=WEED_HINT_INTEGER; + weed_plant_t *paramt = weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); + int hint = WEED_HINT_INTEGER; weed_plant_t *gui; - int wtrue=WEED_TRUE; + int wtrue = WEED_TRUE; - weed_leaf_set(paramt,"name",WEED_SEED_STRING,1,&name); - weed_leaf_set(paramt,"hint",WEED_SEED_INT,1,&hint); - weed_leaf_set(paramt,"default",WEED_SEED_INT,1,&def); - weed_leaf_set(paramt,"min",WEED_SEED_INT,1,&min); - weed_leaf_set(paramt,"max",WEED_SEED_INT,1,&max); + weed_leaf_set(paramt, "name", WEED_SEED_STRING, 1, &name); + weed_leaf_set(paramt, "hint", WEED_SEED_INT, 1, &hint); + weed_leaf_set(paramt, "default", WEED_SEED_INT, 1, &def); + weed_leaf_set(paramt, "min", WEED_SEED_INT, 1, &min); + weed_leaf_set(paramt, "max", WEED_SEED_INT, 1, &max); - gui=weed_parameter_template_get_gui(paramt); - weed_leaf_set(gui,"label",WEED_SEED_STRING,1,&label); - weed_leaf_set(gui,"use_mnemonic",WEED_SEED_BOOLEAN,1,&wtrue); + gui = weed_parameter_template_get_gui(paramt); + weed_leaf_set(gui, "label", WEED_SEED_STRING, 1, &label); + weed_leaf_set(gui, "use_mnemonic", WEED_SEED_BOOLEAN, 1, &wtrue); return paramt; } weed_plant_t *weed_string_list_init(const char *name, const char *label, int def, const char **const list) { - int i=0; - weed_plant_t *paramt,*gui; - int min=0; + int i = 0; + weed_plant_t *paramt, *gui; + int min = 0; - while (list[i]!=NULL) i++; + while (list[i] != NULL) i++; i--; - if (def<=-1) min=def=-1; + if (def <= -1) min = def = -1; - paramt=weed_integer_init(name,label,def,min,i); - gui=weed_parameter_template_get_gui(paramt); + paramt = weed_integer_init(name, label, def, min, i); + gui = weed_parameter_template_get_gui(paramt); - weed_leaf_set(gui,"choices",WEED_SEED_STRING,i+1,list); + weed_leaf_set(gui, "choices", WEED_SEED_STRING, i + 1, list); return paramt; } weed_plant_t *weed_switch_init(const char *name, const char *label, int def) { - weed_plant_t *paramt=weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); - int hint=WEED_HINT_SWITCH; + weed_plant_t *paramt = weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); + int hint = WEED_HINT_SWITCH; weed_plant_t *gui; - int wtrue=WEED_TRUE; + int wtrue = WEED_TRUE; - weed_leaf_set(paramt,"name",WEED_SEED_STRING,1,&name); - weed_leaf_set(paramt,"hint",WEED_SEED_INT,1,&hint); - weed_leaf_set(paramt,"default",WEED_SEED_BOOLEAN,1,&def); + weed_leaf_set(paramt, "name", WEED_SEED_STRING, 1, &name); + weed_leaf_set(paramt, "hint", WEED_SEED_INT, 1, &hint); + weed_leaf_set(paramt, "default", WEED_SEED_BOOLEAN, 1, &def); - gui=weed_parameter_template_get_gui(paramt); - weed_leaf_set(gui,"label",WEED_SEED_STRING,1,&label); - weed_leaf_set(gui,"use_mnemonic",WEED_SEED_BOOLEAN,1,&wtrue); + gui = weed_parameter_template_get_gui(paramt); + weed_leaf_set(gui, "label", WEED_SEED_STRING, 1, &label); + weed_leaf_set(gui, "use_mnemonic", WEED_SEED_BOOLEAN, 1, &wtrue); return paramt; } weed_plant_t *weed_radio_init(const char *name, const char *label, int def, int group) { - weed_plant_t *paramt=weed_switch_init(name,label,def); - weed_leaf_set(paramt,"group",WEED_SEED_INT,1,&group); + weed_plant_t *paramt = weed_switch_init(name, label, def); + weed_leaf_set(paramt, "group", WEED_SEED_INT, 1, &group); return paramt; } weed_plant_t *weed_float_init(const char *name, const char *label, double def, double min, double max) { - weed_plant_t *paramt=weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); - int hint=WEED_HINT_FLOAT; + weed_plant_t *paramt = weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); + int hint = WEED_HINT_FLOAT; weed_plant_t *gui; - int wtrue=WEED_TRUE; + int wtrue = WEED_TRUE; - weed_leaf_set(paramt,"name",WEED_SEED_STRING,1,&name); - weed_leaf_set(paramt,"hint",WEED_SEED_INT,1,&hint); - weed_leaf_set(paramt,"default",WEED_SEED_DOUBLE,1,&def); - weed_leaf_set(paramt,"min",WEED_SEED_DOUBLE,1,&min); - weed_leaf_set(paramt,"max",WEED_SEED_DOUBLE,1,&max); + weed_leaf_set(paramt, "name", WEED_SEED_STRING, 1, &name); + weed_leaf_set(paramt, "hint", WEED_SEED_INT, 1, &hint); + weed_leaf_set(paramt, "default", WEED_SEED_DOUBLE, 1, &def); + weed_leaf_set(paramt, "min", WEED_SEED_DOUBLE, 1, &min); + weed_leaf_set(paramt, "max", WEED_SEED_DOUBLE, 1, &max); - gui=weed_parameter_template_get_gui(paramt); - weed_leaf_set(gui,"label",WEED_SEED_STRING,1,&label); - weed_leaf_set(gui,"use_mnemonic",WEED_SEED_BOOLEAN,1,&wtrue); + gui = weed_parameter_template_get_gui(paramt); + weed_leaf_set(gui, "label", WEED_SEED_STRING, 1, &label); + weed_leaf_set(gui, "use_mnemonic", WEED_SEED_BOOLEAN, 1, &wtrue); return paramt; } weed_plant_t *weed_text_init(const char *name, const char *label, const char *def) { - weed_plant_t *paramt=weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); - int hint=WEED_HINT_TEXT; + weed_plant_t *paramt = weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); + int hint = WEED_HINT_TEXT; weed_plant_t *gui; - int wtrue=WEED_TRUE; + int wtrue = WEED_TRUE; - weed_leaf_set(paramt,"name",WEED_SEED_STRING,1,&name); - weed_leaf_set(paramt,"hint",WEED_SEED_INT,1,&hint); - weed_leaf_set(paramt,"default",WEED_SEED_STRING,1,&def); + weed_leaf_set(paramt, "name", WEED_SEED_STRING, 1, &name); + weed_leaf_set(paramt, "hint", WEED_SEED_INT, 1, &hint); + weed_leaf_set(paramt, "default", WEED_SEED_STRING, 1, &def); - gui=weed_parameter_template_get_gui(paramt); - weed_leaf_set(gui,"label",WEED_SEED_STRING,1,&label); - weed_leaf_set(gui,"use_mnemonic",WEED_SEED_BOOLEAN,1,&wtrue); + gui = weed_parameter_template_get_gui(paramt); + weed_leaf_set(gui, "label", WEED_SEED_STRING, 1, &label); + weed_leaf_set(gui, "use_mnemonic", WEED_SEED_BOOLEAN, 1, &wtrue); return paramt; } weed_plant_t *weed_colRGBi_init(const char *name, const char *label, int red, int green, int blue) { - weed_plant_t *paramt=weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); - int hint=WEED_HINT_COLOR; - int cspace=WEED_COLORSPACE_RGB; - int def[3]= {red,green,blue}; - int min=0; - int max=255; + weed_plant_t *paramt = weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); + int hint = WEED_HINT_COLOR; + int cspace = WEED_COLORSPACE_RGB; + int def[3] = {red, green, blue}; + int min = 0; + int max = 255; weed_plant_t *gui; - int wtrue=WEED_TRUE; + int wtrue = WEED_TRUE; - weed_leaf_set(paramt,"name",WEED_SEED_STRING,1,&name); - weed_leaf_set(paramt,"hint",WEED_SEED_INT,1,&hint); - weed_leaf_set(paramt,"colorspace",WEED_SEED_INT,1,&cspace); + weed_leaf_set(paramt, "name", WEED_SEED_STRING, 1, &name); + weed_leaf_set(paramt, "hint", WEED_SEED_INT, 1, &hint); + weed_leaf_set(paramt, "colorspace", WEED_SEED_INT, 1, &cspace); - weed_leaf_set(paramt,"default",WEED_SEED_INT,3,def); - weed_leaf_set(paramt,"min",WEED_SEED_INT,1,&min); - weed_leaf_set(paramt,"max",WEED_SEED_INT,1,&max); + weed_leaf_set(paramt, "default", WEED_SEED_INT, 3, def); + weed_leaf_set(paramt, "min", WEED_SEED_INT, 1, &min); + weed_leaf_set(paramt, "max", WEED_SEED_INT, 1, &max); - gui=weed_parameter_template_get_gui(paramt); - weed_leaf_set(gui,"label",WEED_SEED_STRING,1,&label); - weed_leaf_set(gui,"use_mnemonic",WEED_SEED_BOOLEAN,1,&wtrue); + gui = weed_parameter_template_get_gui(paramt); + weed_leaf_set(gui, "label", WEED_SEED_STRING, 1, &label); + weed_leaf_set(gui, "use_mnemonic", WEED_SEED_BOOLEAN, 1, &wtrue); return paramt; } weed_plant_t *weed_colRGBd_init(const char *name, const char *label, double red, double green, double blue) { - weed_plant_t *paramt=weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); - int hint=WEED_HINT_COLOR; - int cspace=WEED_COLORSPACE_RGB; - double def[3]= {red,green,blue}; - double min=0.; - double max=1.; + weed_plant_t *paramt = weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); + int hint = WEED_HINT_COLOR; + int cspace = WEED_COLORSPACE_RGB; + double def[3] = {red, green, blue}; + double min = 0.; + double max = 1.; weed_plant_t *gui; - int wtrue=WEED_TRUE; + int wtrue = WEED_TRUE; - weed_leaf_set(paramt,"name",WEED_SEED_STRING,1,&name); - weed_leaf_set(paramt,"hint",WEED_SEED_INT,1,&hint); - weed_leaf_set(paramt,"colorspace",WEED_SEED_INT,1,&cspace); + weed_leaf_set(paramt, "name", WEED_SEED_STRING, 1, &name); + weed_leaf_set(paramt, "hint", WEED_SEED_INT, 1, &hint); + weed_leaf_set(paramt, "colorspace", WEED_SEED_INT, 1, &cspace); - weed_leaf_set(paramt,"default",WEED_SEED_DOUBLE,3,def); - weed_leaf_set(paramt,"min",WEED_SEED_DOUBLE,1,&min); - weed_leaf_set(paramt,"max",WEED_SEED_DOUBLE,1,&max); + weed_leaf_set(paramt, "default", WEED_SEED_DOUBLE, 3, def); + weed_leaf_set(paramt, "min", WEED_SEED_DOUBLE, 1, &min); + weed_leaf_set(paramt, "max", WEED_SEED_DOUBLE, 1, &max); - gui=weed_parameter_template_get_gui(paramt); - weed_leaf_set(gui,"label",WEED_SEED_STRING,1,&label); - weed_leaf_set(gui,"use_mnemonic",WEED_SEED_BOOLEAN,1,&wtrue); + gui = weed_parameter_template_get_gui(paramt); + weed_leaf_set(gui, "label", WEED_SEED_STRING, 1, &label); + weed_leaf_set(gui, "use_mnemonic", WEED_SEED_BOOLEAN, 1, &wtrue); return paramt; } weed_plant_t *weed_out_param_integer_init(const char *name, int def, int min, int max) { - weed_plant_t *paramt=weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); - int hint=WEED_HINT_INTEGER; - - weed_leaf_set(paramt,"name",WEED_SEED_STRING,1,&name); - weed_leaf_set(paramt,"hint",WEED_SEED_INT,1,&hint); - weed_leaf_set(paramt,"default",WEED_SEED_INT,1,&def); - weed_leaf_set(paramt,"min",WEED_SEED_INT,1,&min); - weed_leaf_set(paramt,"max",WEED_SEED_INT,1,&max); + weed_plant_t *paramt = weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); + int hint = WEED_HINT_INTEGER; + + weed_leaf_set(paramt, "name", WEED_SEED_STRING, 1, &name); + weed_leaf_set(paramt, "hint", WEED_SEED_INT, 1, &hint); + weed_leaf_set(paramt, "default", WEED_SEED_INT, 1, &def); + weed_leaf_set(paramt, "min", WEED_SEED_INT, 1, &min); + weed_leaf_set(paramt, "max", WEED_SEED_INT, 1, &max); return paramt; } weed_plant_t *weed_out_param_integer_init_nominmax(const char *name, int def) { - weed_plant_t *paramt=weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); - int hint=WEED_HINT_INTEGER; + weed_plant_t *paramt = weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); + int hint = WEED_HINT_INTEGER; - weed_leaf_set(paramt,"name",WEED_SEED_STRING,1,&name); - weed_leaf_set(paramt,"hint",WEED_SEED_INT,1,&hint); - weed_leaf_set(paramt,"default",WEED_SEED_INT,1,&def); + weed_leaf_set(paramt, "name", WEED_SEED_STRING, 1, &name); + weed_leaf_set(paramt, "hint", WEED_SEED_INT, 1, &hint); + weed_leaf_set(paramt, "default", WEED_SEED_INT, 1, &def); return paramt; } weed_plant_t *weed_out_param_switch_init(const char *name, int def) { - weed_plant_t *paramt=weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); - int hint=WEED_HINT_SWITCH; - weed_leaf_set(paramt,"name",WEED_SEED_STRING,1,&name); - weed_leaf_set(paramt,"hint",WEED_SEED_INT,1,&hint); - weed_leaf_set(paramt,"default",WEED_SEED_BOOLEAN,1,&def); + weed_plant_t *paramt = weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); + int hint = WEED_HINT_SWITCH; + weed_leaf_set(paramt, "name", WEED_SEED_STRING, 1, &name); + weed_leaf_set(paramt, "hint", WEED_SEED_INT, 1, &hint); + weed_leaf_set(paramt, "default", WEED_SEED_BOOLEAN, 1, &def); return paramt; } weed_plant_t *weed_out_param_float_init(const char *name, double def, double min, double max) { - weed_plant_t *paramt=weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); - int hint=WEED_HINT_FLOAT; + weed_plant_t *paramt = weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); + int hint = WEED_HINT_FLOAT; - weed_leaf_set(paramt,"name",WEED_SEED_STRING,1,&name); - weed_leaf_set(paramt,"hint",WEED_SEED_INT,1,&hint); - weed_leaf_set(paramt,"default",WEED_SEED_DOUBLE,1,&def); - weed_leaf_set(paramt,"min",WEED_SEED_DOUBLE,1,&min); - weed_leaf_set(paramt,"max",WEED_SEED_DOUBLE,1,&max); + weed_leaf_set(paramt, "name", WEED_SEED_STRING, 1, &name); + weed_leaf_set(paramt, "hint", WEED_SEED_INT, 1, &hint); + weed_leaf_set(paramt, "default", WEED_SEED_DOUBLE, 1, &def); + weed_leaf_set(paramt, "min", WEED_SEED_DOUBLE, 1, &min); + weed_leaf_set(paramt, "max", WEED_SEED_DOUBLE, 1, &max); return paramt; } @@ -508,12 +508,12 @@ weed_plant_t *weed_out_param_float_init_nominmax(const char *name, double def) { - weed_plant_t *paramt=weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); - int hint=WEED_HINT_FLOAT; + weed_plant_t *paramt = weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); + int hint = WEED_HINT_FLOAT; - weed_leaf_set(paramt,"name",WEED_SEED_STRING,1,&name); - weed_leaf_set(paramt,"hint",WEED_SEED_INT,1,&hint); - weed_leaf_set(paramt,"default",WEED_SEED_DOUBLE,1,&def); + weed_leaf_set(paramt, "name", WEED_SEED_STRING, 1, &name); + weed_leaf_set(paramt, "hint", WEED_SEED_INT, 1, &hint); + weed_leaf_set(paramt, "default", WEED_SEED_DOUBLE, 1, &def); return paramt; } @@ -521,12 +521,12 @@ weed_plant_t *weed_out_param_text_init(const char *name, const char *def) { - weed_plant_t *paramt=weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); - int hint=WEED_HINT_TEXT; + weed_plant_t *paramt = weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); + int hint = WEED_HINT_TEXT; - weed_leaf_set(paramt,"name",WEED_SEED_STRING,1,&name); - weed_leaf_set(paramt,"hint",WEED_SEED_INT,1,&hint); - weed_leaf_set(paramt,"default",WEED_SEED_STRING,1,&def); + weed_leaf_set(paramt, "name", WEED_SEED_STRING, 1, &name); + weed_leaf_set(paramt, "hint", WEED_SEED_INT, 1, &hint); + weed_leaf_set(paramt, "default", WEED_SEED_STRING, 1, &def); return paramt; } @@ -534,20 +534,20 @@ weed_plant_t *weed_out_param_colRGBi_init(const char *name, int red, int green, int blue) { - weed_plant_t *paramt=weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); - int hint=WEED_HINT_COLOR; - int cspace=WEED_COLORSPACE_RGB; - int def[3]= {red,green,blue}; - int min=0; - int max=255; + weed_plant_t *paramt = weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); + int hint = WEED_HINT_COLOR; + int cspace = WEED_COLORSPACE_RGB; + int def[3] = {red, green, blue}; + int min = 0; + int max = 255; - weed_leaf_set(paramt,"name",WEED_SEED_STRING,1,&name); - weed_leaf_set(paramt,"hint",WEED_SEED_INT,1,&hint); - weed_leaf_set(paramt,"colorspace",WEED_SEED_INT,1,&cspace); + weed_leaf_set(paramt, "name", WEED_SEED_STRING, 1, &name); + weed_leaf_set(paramt, "hint", WEED_SEED_INT, 1, &hint); + weed_leaf_set(paramt, "colorspace", WEED_SEED_INT, 1, &cspace); - weed_leaf_set(paramt,"default",WEED_SEED_INT,3,def); - weed_leaf_set(paramt,"min",WEED_SEED_INT,1,&min); - weed_leaf_set(paramt,"max",WEED_SEED_INT,1,&max); + weed_leaf_set(paramt, "default", WEED_SEED_INT, 3, def); + weed_leaf_set(paramt, "min", WEED_SEED_INT, 1, &min); + weed_leaf_set(paramt, "max", WEED_SEED_INT, 1, &max); return paramt; } @@ -555,20 +555,20 @@ weed_plant_t *weed_out_param_colRGBd_init(const char *name, double red, double green, double blue) { - weed_plant_t *paramt=weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); - int hint=WEED_HINT_COLOR; - int cspace=WEED_COLORSPACE_RGB; - double def[3]= {red,green,blue}; - double min=0.; - double max=1.; + weed_plant_t *paramt = weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); + int hint = WEED_HINT_COLOR; + int cspace = WEED_COLORSPACE_RGB; + double def[3] = {red, green, blue}; + double min = 0.; + double max = 1.; - weed_leaf_set(paramt,"name",WEED_SEED_STRING,1,&name); - weed_leaf_set(paramt,"hint",WEED_SEED_INT,1,&hint); - weed_leaf_set(paramt,"colorspace",WEED_SEED_INT,1,&cspace); + weed_leaf_set(paramt, "name", WEED_SEED_STRING, 1, &name); + weed_leaf_set(paramt, "hint", WEED_SEED_INT, 1, &hint); + weed_leaf_set(paramt, "colorspace", WEED_SEED_INT, 1, &cspace); - weed_leaf_set(paramt,"default",WEED_SEED_DOUBLE,3,def); - weed_leaf_set(paramt,"min",WEED_SEED_DOUBLE,1,&min); - weed_leaf_set(paramt,"max",WEED_SEED_DOUBLE,1,&max); + weed_leaf_set(paramt, "default", WEED_SEED_DOUBLE, 3, def); + weed_leaf_set(paramt, "min", WEED_SEED_DOUBLE, 1, &min); + weed_leaf_set(paramt, "max", WEED_SEED_DOUBLE, 1, &max); return paramt; } @@ -578,7 +578,7 @@ /////////////////////////////////////////////////////////////////////// static void _weed_clone_leaf(weed_plant_t *from, const char *key, weed_plant_t *to) { - int i,num=weed_leaf_num_elements(from,key); + int i, num = weed_leaf_num_elements(from, key); int *datai; double *datad; @@ -588,57 +588,57 @@ weed_plant_t **datap; size_t stlen; - int seed_type=weed_leaf_seed_type(from,key); + int seed_type = weed_leaf_seed_type(from, key); - if (num==0) weed_leaf_set(to,key,seed_type,0,NULL); + if (num == 0) weed_leaf_set(to, key, seed_type, 0, NULL); else { switch (seed_type) { case WEED_SEED_INT: - datai=(int *)weed_malloc(num*sizeof(int)); - for (i=0; i<num; i++) weed_leaf_get(from,key,i,&datai[i]); - weed_leaf_set(to,key,WEED_SEED_INT,num,datai); + datai = (int *)weed_malloc(num * sizeof(int)); + for (i = 0; i < num; i++) weed_leaf_get(from, key, i, &datai[i]); + weed_leaf_set(to, key, WEED_SEED_INT, num, datai); weed_free(datai); break; case WEED_SEED_INT64: - datai6=(int64_t *)weed_malloc(num*sizeof(int64_t)); - for (i=0; i<num; i++) weed_leaf_get(from,key,i,&datai6[i]); - weed_leaf_set(to,key,WEED_SEED_INT64,num,datai6); + datai6 = (int64_t *)weed_malloc(num * sizeof(int64_t)); + for (i = 0; i < num; i++) weed_leaf_get(from, key, i, &datai6[i]); + weed_leaf_set(to, key, WEED_SEED_INT64, num, datai6); weed_free(datai6); break; case WEED_SEED_BOOLEAN: - datai=(int *)weed_malloc(num*sizeof(int)); - for (i=0; i<num; i++) weed_leaf_get(from,key,i,&datai[i]); - weed_leaf_set(to,key,WEED_SEED_BOOLEAN,num,datai); + datai = (int *)weed_malloc(num * sizeof(int)); + for (i = 0; i < num; i++) weed_leaf_get(from, key, i, &datai[i]); + weed_leaf_set(to, key, WEED_SEED_BOOLEAN, num, datai); weed_free(datai); break; case WEED_SEED_DOUBLE: - datad=(double *)weed_malloc(num*sizeof(double)); - for (i=0; i<num; i++) weed_leaf_get(from,key,i,&datad[i]); - weed_leaf_set(to,key,WEED_SEED_DOUBLE,num,datad); + datad = (double *)weed_malloc(num * sizeof(double)); + for (i = 0; i < num; i++) weed_leaf_get(from, key, i, &datad[i]); + weed_leaf_set(to, key, WEED_SEED_DOUBLE, num, datad); weed_free(datad); break; case WEED_SEED_VOIDPTR: - datav=(void **)weed_malloc(num*sizeof(void *)); - for (i=0; i<num; i++) weed_leaf_get(from,key,i,&datav[i]); - weed_leaf_set(to,key,WEED_SEED_VOIDPTR,num,datav); + datav = (void **)weed_malloc(num * sizeof(void *)); + for (i = 0; i < num; i++) weed_leaf_get(from, key, i, &datav[i]); + weed_leaf_set(to, key, WEED_SEED_VOIDPTR, num, datav); weed_free(datav); break; case WEED_SEED_PLANTPTR: - datap=(weed_plant_t **)weed_malloc(num*sizeof(weed_plant_t *)); - for (i=0; i<num; i++) weed_leaf_get(from,key,i,&datap[i]); - weed_leaf_set(to,key,WEED_SEED_PLANTPTR,num,datap); + datap = (weed_plant_t **)weed_malloc(num * sizeof(weed_plant_t *)); + for (i = 0; i < num; i++) weed_leaf_get(from, key, i, &datap[i]); + weed_leaf_set(to, key, WEED_SEED_PLANTPTR, num, datap); weed_free(datap); break; case WEED_SEED_STRING: - datac=(char **)weed_malloc(num*sizeof(char *)); - for (i=0; i<num; i++) { - stlen=weed_leaf_element_size(from,key,i); - datac[i]=(char *)weed_malloc(stlen+1); - weed_leaf_get(from,key,i,&datac[i]); - weed_memset(datac[i]+stlen,0,1); + datac = (char **)weed_malloc(num * sizeof(char *)); + for (i = 0; i < num; i++) { + stlen = weed_leaf_element_size(from, key, i); + datac[i] = (char *)weed_malloc(stlen + 1); + weed_leaf_get(from, key, i, &datac[i]); + weed_memset(datac[i] + stlen, 0, 1); } - weed_leaf_set(to,key,WEED_SEED_STRING,num,datac); - for (i=0; i<num; i++) weed_free(datac[i]); + weed_leaf_set(to, key, WEED_SEED_STRING, num, datac); + for (i = 0; i < num; i++) weed_free(datac[i]); weed_free(datac); break; } @@ -648,35 +648,35 @@ weed_plant_t **weed_clone_plants(weed_plant_t **plants) { //plants must be a NULL terminated array - int i,j,k,type,num_plants; - weed_plant_t **ret,*gui,*gui2; - char **leaves,**leaves2; - for (i=0; plants[i]!=NULL; i++); - num_plants=i; - ret=(weed_plant_t **)weed_malloc((num_plants+1)*sizeof(weed_plant_t *)); - - for (i=0; i<num_plants; i++) { - weed_leaf_get(plants[i],"type",0,&type); - ret[i]=weed_plant_new(type); - - leaves=weed_plant_list_leaves(plants[i]); - for (j=0; leaves[j]!=NULL; j++) { - if (!strcmp(leaves[j],"gui")) { - weed_leaf_get(plants[i],"gui",0,&gui); - gui2=weed_plant_new(WEED_PLANT_GUI); - weed_leaf_set(ret[i],"gui",WEED_SEED_PLANTPTR,1,&gui2); - leaves2=weed_plant_list_leaves(gui); - for (k=0; leaves2[k]!=NULL; k++) { - _weed_clone_leaf(gui,leaves2[k],gui2); + int i, j, k, type, num_plants; + weed_plant_t **ret, *gui, *gui2; + char **leaves, **leaves2; + for (i = 0; plants[i] != NULL; i++); + num_plants = i; + ret = (weed_plant_t **)weed_malloc((num_plants + 1) * sizeof(weed_plant_t *)); + + for (i = 0; i < num_plants; i++) { + weed_leaf_get(plants[i], "type", 0, &type); + ret[i] = weed_plant_new(type); + + leaves = weed_plant_list_leaves(plants[i]); + for (j = 0; leaves[j] != NULL; j++) { + if (!strcmp(leaves[j], "gui")) { + weed_leaf_get(plants[i], "gui", 0, &gui); + gui2 = weed_plant_new(WEED_PLANT_GUI); + weed_leaf_set(ret[i], "gui", WEED_SEED_PLANTPTR, 1, &gui2); + leaves2 = weed_plant_list_leaves(gui); + for (k = 0; leaves2[k] != NULL; k++) { + _weed_clone_leaf(gui, leaves2[k], gui2); weed_free(leaves2[k]); } weed_free(leaves2); - } else _weed_clone_leaf(plants[i],leaves[j],ret[i]); + } else _weed_clone_leaf(plants[i], leaves[j], ret[i]); weed_free(leaves[j]); } weed_free(leaves); } - ret[i]=NULL; + ret[i] = NULL; return ret; }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/weed-utils-code.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/weed-utils-code.c
Changed
@@ -58,7 +58,7 @@ ///////////////////////////////////////////////////////////////// static int weed_plant_has_leaf(weed_plant_t *plant, const char *key) { - if (weed_leaf_get(plant,key,0,NULL)==WEED_ERROR_NOSUCH_LEAF) return WEED_FALSE; + if (weed_leaf_get(plant, key, 0, NULL) == WEED_ERROR_NOSUCH_LEAF) return WEED_FALSE; return WEED_TRUE; } @@ -67,43 +67,43 @@ static int weed_set_int_value(weed_plant_t *plant, const char *key, int value) { // returns a WEED_ERROR - return weed_leaf_set(plant,key,WEED_SEED_INT,1,&value); + return weed_leaf_set(plant, key, WEED_SEED_INT, 1, &value); } static int weed_set_double_value(weed_plant_t *plant, const char *key, double value) { // returns a WEED_ERROR - return weed_leaf_set(plant,key,WEED_SEED_DOUBLE,1,&value); + return weed_leaf_set(plant, key, WEED_SEED_DOUBLE, 1, &value); } static int weed_set_boolean_value(weed_plant_t *plant, const char *key, int value) { // returns a WEED_ERROR - return weed_leaf_set(plant,key,WEED_SEED_BOOLEAN,1,&value); + return weed_leaf_set(plant, key, WEED_SEED_BOOLEAN, 1, &value); } static int weed_set_int64_value(weed_plant_t *plant, const char *key, int64_t value) { // returns a WEED_ERROR - return weed_leaf_set(plant,key,WEED_SEED_INT64,1,&value); + return weed_leaf_set(plant, key, WEED_SEED_INT64, 1, &value); } static int weed_set_string_value(weed_plant_t *plant, const char *key, const char *value) { // returns a WEED_ERROR - return weed_leaf_set(plant,key,WEED_SEED_STRING,1,&value); + return weed_leaf_set(plant, key, WEED_SEED_STRING, 1, &value); } static int weed_set_plantptr_value(weed_plant_t *plant, const char *key, weed_plant_t *value) { // returns a WEED_ERROR - return weed_leaf_set(plant,key,WEED_SEED_PLANTPTR,1,&value); + return weed_leaf_set(plant, key, WEED_SEED_PLANTPTR, 1, &value); } static int weed_set_voidptr_value(weed_plant_t *plant, const char *key, void *value) { // returns a WEED_ERROR - return weed_leaf_set(plant,key,WEED_SEED_VOIDPTR,1,&value); + return weed_leaf_set(plant, key, WEED_SEED_VOIDPTR, 1, &value); } ////////////////////////////////////////////////////////////////////////////////////////////////// // general leaf getter -inline static int weed_get_value(weed_plant_t *plant, const char *key, void *value) { +static inline int weed_get_value(weed_plant_t *plant, const char *key, void *value) { // returns a WEED_ERROR return weed_leaf_get(plant, key, 0, value); } @@ -111,80 +111,80 @@ //////////////////////////////////////////////////////////// static int weed_get_int_value(weed_plant_t *plant, const char *key, int *error) { - int retval=0; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_INT) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + int retval = 0; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_INT) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return retval; - } else *error=weed_get_value(plant,key,&retval); + } else *error = weed_get_value(plant, key, &retval); return retval; } static double weed_get_double_value(weed_plant_t *plant, const char *key, int *error) { - double retval=0.; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_DOUBLE) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + double retval = 0.; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_DOUBLE) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return retval; } - *error=weed_get_value(plant,key,&retval); + *error = weed_get_value(plant, key, &retval); return retval; } static int weed_get_boolean_value(weed_plant_t *plant, const char *key, int *error) { - int retval=0; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_BOOLEAN) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + int retval = 0; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_BOOLEAN) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return retval; } - *error=weed_get_value(plant,key,&retval); + *error = weed_get_value(plant, key, &retval); return retval; } static int64_t weed_get_int64_value(weed_plant_t *plant, const char *key, int *error) { - int64_t retval=0; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_INT64) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + int64_t retval = 0; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_INT64) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return retval; } - *error=weed_get_value(plant,key,&retval); + *error = weed_get_value(plant, key, &retval); return retval; } static char *weed_get_string_value(weed_plant_t *plant, const char *key, int *error) { size_t size; - char *retval=NULL; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_STRING) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + char *retval = NULL; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_STRING) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return NULL; } - if ((retval=(char *)weed_malloc((size=weed_leaf_element_size(plant,key,0))+1))==NULL) { - *error=WEED_ERROR_MEMORY_ALLOCATION; + if ((retval = (char *)weed_malloc((size = weed_leaf_element_size(plant, key, 0)) + 1)) == NULL) { + *error = WEED_ERROR_MEMORY_ALLOCATION; return NULL; } - if ((*error=weed_get_value(plant,key,&retval))!=WEED_NO_ERROR) { + if ((*error = weed_get_value(plant, key, &retval)) != WEED_NO_ERROR) { weed_free(retval); return NULL; } - weed_memset(retval+size,0,1); + weed_memset(retval + size, 0, 1); return retval; } static void *weed_get_voidptr_value(weed_plant_t *plant, const char *key, int *error) { - void *retval=NULL; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_VOIDPTR) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + void *retval = NULL; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_VOIDPTR) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return retval; } - *error=weed_get_value(plant,key,&retval); + *error = weed_get_value(plant, key, &retval); return retval; } static weed_plant_t *weed_get_plantptr_value(weed_plant_t *plant, const char *key, int *error) { - weed_plant_t *retval=NULL; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_PLANTPTR) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + weed_plant_t *retval = NULL; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_PLANTPTR) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return retval; } - *error=weed_get_value(plant,key,&retval); + *error = weed_get_value(plant, key, &retval); return retval; } @@ -196,20 +196,20 @@ int num_elems; int *retval; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_INT) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_INT) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return NULL; } - if ((num_elems=weed_leaf_num_elements(plant,key))==0) return NULL; + if ((num_elems = weed_leaf_num_elements(plant, key)) == 0) return NULL; - if ((retval=(int *)weed_malloc(num_elems*4))==NULL) { - *error=WEED_ERROR_MEMORY_ALLOCATION; + if ((retval = (int *)weed_malloc(num_elems * 4)) == NULL) { + *error = WEED_ERROR_MEMORY_ALLOCATION; return NULL; } - for (i=0; i<num_elems; i++) { - if ((*error=weed_leaf_get(plant, key, i, &retval[i]))!=WEED_NO_ERROR) { + for (i = 0; i < num_elems; i++) { + if ((*error = weed_leaf_get(plant, key, i, &retval[i])) != WEED_NO_ERROR) { weed_free(retval); return NULL; } @@ -222,19 +222,19 @@ int num_elems; double *retval; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_DOUBLE) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_DOUBLE) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return NULL; } - if ((num_elems=weed_leaf_num_elements(plant,key))==0) return NULL; + if ((num_elems = weed_leaf_num_elements(plant, key)) == 0) return NULL; - if ((retval=(double *)weed_malloc(num_elems*sizeof(double)))==NULL) { - *error=WEED_ERROR_MEMORY_ALLOCATION; + if ((retval = (double *)weed_malloc(num_elems * sizeof(double))) == NULL) { + *error = WEED_ERROR_MEMORY_ALLOCATION; return NULL; } - for (i=0; i<num_elems; i++) { - if ((*error=weed_leaf_get(plant, key, i, &retval[i]))!=WEED_NO_ERROR) { + for (i = 0; i < num_elems; i++) { + if ((*error = weed_leaf_get(plant, key, i, &retval[i])) != WEED_NO_ERROR) { weed_free(retval); return NULL; } @@ -247,20 +247,20 @@ int num_elems; int *retval; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_BOOLEAN) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_BOOLEAN) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return NULL; } - if ((num_elems=weed_leaf_num_elements(plant,key))==0) return NULL; + if ((num_elems = weed_leaf_num_elements(plant, key)) == 0) return NULL; - if ((retval=(int *)weed_malloc(num_elems*4))==NULL) { - *error=WEED_ERROR_MEMORY_ALLOCATION; + if ((retval = (int *)weed_malloc(num_elems * 4)) == NULL) { + *error = WEED_ERROR_MEMORY_ALLOCATION; return NULL; } - for (i=0; i<num_elems; i++) { - if ((*error=weed_leaf_get(plant, key, i, &retval[i]))!=WEED_NO_ERROR) { + for (i = 0; i < num_elems; i++) { + if ((*error = weed_leaf_get(plant, key, i, &retval[i])) != WEED_NO_ERROR) { weed_free(retval); return NULL; } @@ -273,20 +273,20 @@ int num_elems; int64_t *retval; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_INT64) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_INT64) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return NULL; } - if ((num_elems=weed_leaf_num_elements(plant,key))==0) return NULL; + if ((num_elems = weed_leaf_num_elements(plant, key)) == 0) return NULL; - if ((retval=(int64_t *)weed_malloc(num_elems*8))==NULL) { - *error=WEED_ERROR_MEMORY_ALLOCATION; + if ((retval = (int64_t *)weed_malloc(num_elems * 8)) == NULL) { + *error = WEED_ERROR_MEMORY_ALLOCATION; return NULL; } - for (i=0; i<num_elems; i++) { - if ((*error=weed_leaf_get(plant, key, i, &retval[i]))!=WEED_NO_ERROR) { + for (i = 0; i < num_elems; i++) { + if ((*error = weed_leaf_get(plant, key, i, &retval[i])) != WEED_NO_ERROR) { weed_free(retval); return NULL; } @@ -300,31 +300,31 @@ char **retval; size_t size; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_STRING) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_STRING) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return NULL; } - if ((num_elems=weed_leaf_num_elements(plant,key))==0) return NULL; + if ((num_elems = weed_leaf_num_elements(plant, key)) == 0) return NULL; - if ((retval=(char **)weed_malloc(num_elems*sizeof(char *)))==NULL) { - *error=WEED_ERROR_MEMORY_ALLOCATION; + if ((retval = (char **)weed_malloc(num_elems * sizeof(char *))) == NULL) { + *error = WEED_ERROR_MEMORY_ALLOCATION; return NULL; } - for (i=0; i<num_elems; i++) { - if ((retval[i]=(char *)weed_malloc((size=weed_leaf_element_size(plant,key,i))+1))==NULL) { - for (--i; i>=0; i--) weed_free(retval[i]); - *error=WEED_ERROR_MEMORY_ALLOCATION; + for (i = 0; i < num_elems; i++) { + if ((retval[i] = (char *)weed_malloc((size = weed_leaf_element_size(plant, key, i)) + 1)) == NULL) { + for (--i; i >= 0; i--) weed_free(retval[i]); + *error = WEED_ERROR_MEMORY_ALLOCATION; weed_free(retval); return NULL; } - if ((*error=weed_leaf_get(plant, key, i, &retval[i]))!=WEED_NO_ERROR) { - for (--i; i>=0; i--) weed_free(retval[i]); + if ((*error = weed_leaf_get(plant, key, i, &retval[i])) != WEED_NO_ERROR) { + for (--i; i >= 0; i--) weed_free(retval[i]); weed_free(retval); return NULL; } - weed_memset(retval[i]+size,0,1); + weed_memset(retval[i] + size, 0, 1); } return retval; } @@ -334,20 +334,20 @@ int num_elems; void **retval; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_VOIDPTR) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_VOIDPTR) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return NULL; } - if ((num_elems=weed_leaf_num_elements(plant,key))==0) return NULL; + if ((num_elems = weed_leaf_num_elements(plant, key)) == 0) return NULL; - if ((retval=(void **)weed_malloc(num_elems*sizeof(void *)))==NULL) { - *error=WEED_ERROR_MEMORY_ALLOCATION; + if ((retval = (void **)weed_malloc(num_elems * sizeof(void *))) == NULL) { + *error = WEED_ERROR_MEMORY_ALLOCATION; return NULL; } - for (i=0; i<num_elems; i++) { - if ((*error=weed_leaf_get(plant, key, i, &retval[i]))!=WEED_NO_ERROR) { + for (i = 0; i < num_elems; i++) { + if ((*error = weed_leaf_get(plant, key, i, &retval[i])) != WEED_NO_ERROR) { weed_free(retval); return NULL; } @@ -360,20 +360,20 @@ int num_elems; weed_plant_t **retval; - if (weed_plant_has_leaf(plant,key)&&weed_leaf_seed_type(plant,key)!=WEED_SEED_PLANTPTR) { - *error=WEED_ERROR_WRONG_SEED_TYPE; + if (weed_plant_has_leaf(plant, key) && weed_leaf_seed_type(plant, key) != WEED_SEED_PLANTPTR) { + *error = WEED_ERROR_WRONG_SEED_TYPE; return NULL; } - if ((num_elems=weed_leaf_num_elements(plant,key))==0) return NULL; + if ((num_elems = weed_leaf_num_elements(plant, key)) == 0) return NULL; - if ((retval=(weed_plant_t **)weed_malloc(num_elems*sizeof(weed_plant_t *)))==NULL) { - *error=WEED_ERROR_MEMORY_ALLOCATION; + if ((retval = (weed_plant_t **)weed_malloc(num_elems * sizeof(weed_plant_t *))) == NULL) { + *error = WEED_ERROR_MEMORY_ALLOCATION; return NULL; } - for (i=0; i<num_elems; i++) { - if ((*error=weed_leaf_get(plant, key, i, &retval[i]))!=WEED_NO_ERROR) { + for (i = 0; i < num_elems; i++) { + if ((*error = weed_leaf_get(plant, key, i, &retval[i])) != WEED_NO_ERROR) { weed_free(retval); return NULL; } @@ -384,29 +384,29 @@ ///////////////////////////////////////////////////// static int weed_set_int_array(weed_plant_t *plant, const char *key, int num_elems, int *values) { - return weed_leaf_set(plant,key,WEED_SEED_INT,num_elems,values); + return weed_leaf_set(plant, key, WEED_SEED_INT, num_elems, values); } static int weed_set_double_array(weed_plant_t *plant, const char *key, int num_elems, double *values) { - return weed_leaf_set(plant,key,WEED_SEED_DOUBLE,num_elems,values); + return weed_leaf_set(plant, key, WEED_SEED_DOUBLE, num_elems, values); } static int weed_set_boolean_array(weed_plant_t *plant, const char *key, int num_elems, int *values) { - return weed_leaf_set(plant,key,WEED_SEED_BOOLEAN,num_elems,values); + return weed_leaf_set(plant, key, WEED_SEED_BOOLEAN, num_elems, values); } static int weed_set_int64_array(weed_plant_t *plant, const char *key, int num_elems, int64_t *values) { - return weed_leaf_set(plant,key,WEED_SEED_INT64,num_elems,values); + return weed_leaf_set(plant, key, WEED_SEED_INT64, num_elems, values); } static int weed_set_string_array(weed_plant_t *plant, const char *key, int num_elems, char **values) { - return weed_leaf_set(plant,key,WEED_SEED_STRING,num_elems,values); + return weed_leaf_set(plant, key, WEED_SEED_STRING, num_elems, values); } static int weed_set_voidptr_array(weed_plant_t *plant, const char *key, int num_elems, void **values) { - return weed_leaf_set(plant,key,WEED_SEED_VOIDPTR,num_elems,values); + return weed_leaf_set(plant, key, WEED_SEED_VOIDPTR, num_elems, values); } static int weed_set_plantptr_array(weed_plant_t *plant, const char *key, int num_elems, weed_plant_t **values) { - return weed_leaf_set(plant,key,WEED_SEED_PLANTPTR,num_elems,values); + return weed_leaf_set(plant, key, WEED_SEED_PLANTPTR, num_elems, values); }
View file
LiVES-2.8.4.tar.bz2/lives-plugins/weed-plugins/xeffect.c -> LiVES-2.8.6.tar.bz2/lives-plugins/weed-plugins/xeffect.c
Changed
@@ -17,10 +17,10 @@ /////////////////////////////////////////////////////////////////// -static int num_versions=2; // number of different weed api versions supported -static int api_versions[]= {131,100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) +static int num_versions = 2; // number of different weed api versions supported +static int api_versions[] = {131, 100}; // array of weed api versions supported in plugin, in order of preference (most preferred first) -static int package_version=1; // version of this package +static int package_version = 1; // version of this package ////////////////////////////////////////////////////////////////// @@ -40,29 +40,32 @@ static inline unsigned int calc_luma(unsigned char *pixel) { - return (unsigned int)(pixel[0]*30+pixel[1]*59+pixel[2]*11); + return (unsigned int)(pixel[0] * 30 + pixel[1] * 59 + pixel[2] * 11); } static inline void make_black(unsigned char *pixel) { - pixel[0]=pixel[1]=pixel[2]=(unsigned char)0; + pixel[0] = pixel[1] = pixel[2] = (unsigned char)0; } static inline void make_white(unsigned char *pixel) { - pixel[0]=pixel[1]=pixel[2]=(unsigned char)255; + pixel[0] = pixel[1] = pixel[2] = (unsigned char)255; } static inline void nine_fill(unsigned char *new_data, int rowstride, unsigned char *old_data) { // fill nine pixels with the centre colour - new_data[-rowstride-3]=new_data[-rowstride]=new_data[-rowstride+3]=new_data[-3]=new_data[0]=new_data[3]=new_data[rowstride-3]= - new_data[rowstride]=new_data[rowstride+3]=old_data[0]; - new_data[-rowstride-2]=new_data[-rowstride+1]=new_data[-rowstride+4]=new_data[-2]=new_data[1]=new_data[4]=new_data[rowstride-2]= - new_data[rowstride+1]=new_data[rowstride+4]=old_data[1]; - new_data[-rowstride-1]=new_data[-rowstride+2]=new_data[-rowstride+5]=new_data[-1]=new_data[2]=new_data[5]=new_data[rowstride-1]= - new_data[rowstride+2]=new_data[rowstride+5]=old_data[2]; + new_data[-rowstride - 3] = new_data[-rowstride] = new_data[-rowstride + 3] = new_data[-3] = new_data[0] = new_data[3] = new_data[rowstride - + 3] = + new_data[rowstride] = new_data[rowstride + 3] = old_data[0]; + new_data[-rowstride - 2] = new_data[-rowstride + 1] = new_data[-rowstride + 4] = new_data[-2] = new_data[1] = new_data[4] = + new_data[rowstride - 2] = + new_data[rowstride + 1] = new_data[rowstride + 4] = old_data[1]; + new_data[-rowstride - 1] = new_data[-rowstride + 2] = new_data[-rowstride + 5] = new_data[-1] = new_data[2] = new_data[5] = + new_data[rowstride - 1] = + new_data[rowstride + 2] = new_data[rowstride + 5] = old_data[2]; } @@ -71,67 +74,69 @@ int xeffect_process(weed_plant_t *inst, weed_timecode_t timestamp) { int error; - weed_plant_t *in_channel=weed_get_plantptr_value(inst,"in_channels",&error),*out_channel=weed_get_plantptr_value(inst,"out_channels", - &error); - unsigned char *src=weed_get_voidptr_value(in_channel,"pixel_data",&error); - unsigned char *dst=weed_get_voidptr_value(out_channel,"pixel_data",&error); - int width=weed_get_int_value(in_channel,"width",&error)*3; - int height=weed_get_int_value(in_channel,"height",&error); - int irowstride=weed_get_int_value(in_channel,"rowstrides",&error); - int orowstride=weed_get_int_value(out_channel,"rowstrides",&error); - unsigned char *end=src+height*irowstride-irowstride; + weed_plant_t *in_channel = weed_get_plantptr_value(inst, "in_channels", &error), *out_channel = weed_get_plantptr_value(inst, + "out_channels", + &error); + unsigned char *src = weed_get_voidptr_value(in_channel, "pixel_data", &error); + unsigned char *dst = weed_get_voidptr_value(out_channel, "pixel_data", &error); + int width = weed_get_int_value(in_channel, "width", &error) * 3; + int height = weed_get_int_value(in_channel, "height", &error); + int irowstride = weed_get_int_value(in_channel, "rowstrides", &error); + int orowstride = weed_get_int_value(out_channel, "rowstrides", &error); + unsigned char *end = src + height * irowstride - irowstride; unsigned int myluma; - unsigned int threshold=10000; + unsigned int threshold = 10000; int nbr; - register int i,j,k; + register int i, j, k; - src+=irowstride; - dst+=orowstride; - width-=4; + src += irowstride; + dst += orowstride; + width -= 4; - for (; src<end; src+=irowstride) { - for (i=3; i<width; i+=3) { - myluma=calc_luma(&src[i]); - nbr=0; - for (j=-irowstride; j<=irowstride; j+=irowstride) { - for (k=-3; k<4; k+=3) { - if ((j!=0||k!=0)&&ABS(calc_luma(&src[j+i+k])-myluma)>threshold) nbr++; + for (; src < end; src += irowstride) { + for (i = 3; i < width; i += 3) { + myluma = calc_luma(&src[i]); + nbr = 0; + for (j = -irowstride; j <= irowstride; j += irowstride) { + for (k = -3; k < 4; k += 3) { + if ((j != 0 || k != 0) && ABS(calc_luma(&src[j + i + k]) - myluma) > threshold) nbr++; } } - if (nbr<2||nbr>5) { - nine_fill(&dst[i],orowstride,&src[i]); + if (nbr < 2 || nbr > 5) { + nine_fill(&dst[i], orowstride, &src[i]); } else { - if (myluma<12500) { + if (myluma < 12500) { make_black(&dst[i]); } else { - if (myluma>20000) { + if (myluma > 20000) { make_white(&dst[i]); } } } } - dst+=orowstride; + dst += orowstride; } return WEED_NO_ERROR; } weed_plant_t *weed_setup(weed_bootstrap_f weed_boot) { - weed_plant_t *plugin_info=weed_plugin_info_init(weed_boot,num_versions,api_versions); - if (plugin_info!=NULL) { - int palette_list[]= {WEED_PALETTE_BGR24,WEED_PALETTE_RGB24,WEED_PALETTE_END}; + weed_plant_t *plugin_info = weed_plugin_info_init(weed_boot, num_versions, api_versions); + if (plugin_info != NULL) { + int palette_list[] = {WEED_PALETTE_BGR24, WEED_PALETTE_RGB24, WEED_PALETTE_END}; - weed_plant_t *in_chantmpls[]= {weed_channel_template_init("in channel 0",0,palette_list),NULL}; - weed_plant_t *out_chantmpls[]= {weed_channel_template_init("out channel 0",0,palette_list),NULL}; + weed_plant_t *in_chantmpls[] = {weed_channel_template_init("in channel 0", 0, palette_list), NULL}; + weed_plant_t *out_chantmpls[] = {weed_channel_template_init("out channel 0", 0, palette_list), NULL}; - weed_plant_t *filter_class=weed_filter_class_init("graphic novel","salsaman",1,0,NULL,&xeffect_process,NULL,in_chantmpls,out_chantmpls,NULL, - NULL); + weed_plant_t *filter_class = weed_filter_class_init("graphic novel", "salsaman", 1, 0, NULL, &xeffect_process, NULL, in_chantmpls, + out_chantmpls, NULL, + NULL); - weed_plugin_info_add_filter_class(plugin_info,filter_class); + weed_plugin_info_add_filter_class(plugin_info, filter_class); - weed_set_int_value(plugin_info,"version",package_version); + weed_set_int_value(plugin_info, "version", package_version); } return plugin_info; }
View file
LiVES-2.8.4.tar.bz2/m4/Makefile.in -> LiVES-2.8.6.tar.bz2/m4/Makefile.in
Changed
@@ -185,8 +185,6 @@ GENCAT = @GENCAT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GLEE_CFLAGS = @GLEE_CFLAGS@ -GLEE_LIBS = @GLEE_LIBS@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -323,6 +321,8 @@ VERSION = @VERSION@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ +WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ +WAYLAND_LIBS = @WAYLAND_LIBS@ WEED_CFLAGS = @WEED_CFLAGS@ WEED_COMPAT_CFLAGS = @WEED_COMPAT_CFLAGS@ WEED_COMPAT_LIBS = @WEED_COMPAT_LIBS@
View file
LiVES-2.8.4.tar.bz2/po/ar.po -> LiVES-2.8.6.tar.bz2/po/ar.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: lives\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" "PO-Revision-Date: 2013-03-14 12:31+0000\n" "Last-Translator: Launchpad Translations Administrators <Unknown>\n" "Language-Team: Arabic <ar@li.org>\n" @@ -18,7 +18,7 @@ "X-Launchpad-Export-Date: 2013-03-28 10:41+0000\n" "X-Generator: Launchpad (build 16546)\n" -#: src/main.c:132 +#: src/main.c:125 msgid "" "Attention Translators !\n" "This message is intended for you, so please do not translate it.\n" @@ -27,22 +27,22 @@ "http://lives-video.com/TRANS-README.txt" msgstr "" -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "" -#: src/main.c:203 +#: src/main.c:197 #, fuzzy, c-format msgid "" "\n" @@ -56,7 +56,7 @@ "group_id=64341&atid=507139\n" "سيتم إنعاش البرنامج بعد إعادة تشغيله. وشكرا\n" -#: src/main.c:205 +#: src/main.c:199 #, fuzzy, c-format msgid "" "\n" @@ -69,7 +69,7 @@ "عند الإبلاغ عن العثرات ، يرجى ذِكر نظام التشغيل الخاص بك ، والتوزيعة ، " "وإصدارة البرنامج." -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" @@ -77,7 +77,7 @@ "وأية معلومات موضحة أدناه.\n" "\n" -#: src/main.c:210 +#: src/main.c:204 #, fuzzy msgid "" "Please try running LiVES with the -debug option to collect more " @@ -88,7 +88,7 @@ "المعلومات.\n" "\n" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" @@ -98,89 +98,89 @@ "المعلومات.\n" "\n" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "الحفاظ على ضبط\n" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "أيّ" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "بدون" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "مستحسن" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "معطّل !" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "**التخطيط الحالي**" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "مُضمَّن" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "مخصص" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "اختبار" -#: src/main.c:474 +#: src/main.c:460 msgid "LiVES: - " msgstr "" -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "غيّر حجم" -#: src/main.c:731 +#: src/main.c:708 #, fuzzy msgid "_Resize All Frames..." msgstr "غيّر حجم جميع الإطارات" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "" -#: src/main.c:1122 +#: src/main.c:1094 #, fuzzy msgid "Background" msgstr "_خلفية بيضاء" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "تحميل إضافات مؤثرات الوقت الحقيقي..." -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "بدء خادوم جاك الصوت..." -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "بدء خادوم نقل جاك" -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "يتصل بخادوم نقل جاك" -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -192,35 +192,35 @@ "Alternatively, try to start lives with either \"lives -jackopts 16\", or " msgstr "" -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "بدء خادوم بالص-اوديو..." -#: src/main.c:1855 +#: src/main.c:1813 #, fuzzy, c-format msgid "%s...detected... " msgstr "تم العثور علي mplayer" -#: src/main.c:1856 +#: src/main.c:1814 #, fuzzy, c-format msgid "%s...NOT DETECTED... " msgstr "لم يتم العثور علي mplayer" -#: src/main.c:1867 +#: src/main.c:1824 #, fuzzy msgid "Checking optional dependencies: " msgstr "التحقق من إكتشاف التبعيات" -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -231,53 +231,53 @@ "\n" "تقرير مدير النافذة كـ \"%s\"; " -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "إكتشاف عدد الشاشات %d\n" -#: src/main.c:1901 +#: src/main.c:1863 #, c-format msgid "Number of CPUs detected: %d " msgstr "" -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "" -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1927 +#: src/main.c:1889 #, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr "" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "مجلدات الملفات المؤقتة %s\n" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" @@ -287,15 +287,15 @@ "توصيل جاك الصوت او 'pulse audio'\n" "العديد من ميزات الصوت لن تكون متوفرة\n" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "التواصل مع جاك الصوت ، جيد !\n" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "التواصل مع 'pulse audio' ، رائع !\n" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" @@ -304,7 +304,7 @@ "مرحبا بك مع إصدار برنامج لايفز %s\n" "\n" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" @@ -313,92 +313,92 @@ "\n" "جمل بدأ البرنامج: %s [المدخلات] [اسم الملف [وقت-البدأ] [الإطارات]\n" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "حيث: اسم الملف هو أسم ملف الميديا أو اسم ملف النسخ الاحتياطي\n" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "وقت-البدأ : تعريف وقت البدأ بوحدة الثانية\n" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "الإطارات : أكبر عدد ممكن لفتح الإطارات\n" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "تستطيع الإختيار:\n" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "-مساعدة : عرض مستند المساعدة وإغلاقه\n" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "-المجموعة <اسم المجموعة> : تحميل تلقائى لإسم مجموعة المقاطع\n" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "-مجموعة غير متوفرة : عدم تحميل أى مجموعة عند البداية\n" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "-عدم إسترجاع : عدم إسترجاع المجموعة المعطوبة بالقوة\n" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "-إسترجاع : إسترجاع المجموعة المعطوبة بالقوة\n" -#: src/main.c:2593 +#: src/main.c:2545 msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "-عدم إستخدام الواجهة الرسومية : لا تستعرض الواجهة الرسومية\n" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "-إبدأ تشغيل محرر المقاطع : بداية تشغيل وضع محرر المقاطع\n" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "-إبدأ-تشغيل المسارات المتعددة : بداية تشغيل وضع المسارات المتعددة\n" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" msgstr "" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "" "إبدأ مكتب المنسق الخاص <منفذ> : ابدأ مكتب المنسق الخاص بالمستمع على منفذ " "'UDP'\n" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "لا تبدأ مكتب المنسق الخاص : لا تبدأ مكتب المنسق الخاص بالمستمع\n" -#: src/main.c:2605 +#: src/main.c:2557 #, fuzzy msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " @@ -408,44 +408,44 @@ "'mplayer'" #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr "" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr "، 'sox' أو جاك\n" -#: src/main.c:2613 +#: src/main.c:2565 msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " "transport client,2 = jack transport master, 4 = start jack transport server, " "8 = pause audio when video paused,16 = start jack audio server] \n" msgstr "" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr " أو 'sox'\n" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "-مخطط الجهاز <إسم المخطط> : تحميل تلقائى لمخطط الجهاز\n" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" msgstr "" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "- صَحّح : حاول تصحيح الأعطاب (يحتاج تثبيت 'gdb')\n" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "بداية تشغيل الواجة الرسومية..." -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -456,7 +456,7 @@ "(Maybe you need to change the value of <prefix_dir> in your %s file)\n" msgstr "" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -464,7 +464,7 @@ "Please make sure you have write access to %s and try again.\n" msgstr "" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -478,7 +478,7 @@ "من فضلك راجع ملف 'README' المرفق مع الحزمة\n" "قبل تشغيل برنامج لايفز.\n" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -488,7 +488,7 @@ "Please check the file permissions for this file and try again.\n" msgstr "" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -499,7 +499,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -507,7 +507,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2737 +#: src/main.c:2689 #, fuzzy, c-format msgid "" "\n" @@ -519,7 +519,7 @@ "لم يتمكن برنامج لايفز من إلتقاط هذه الصورة\n" "\n" -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -537,7 +537,7 @@ "\n" "وشكرا\n" -#: src/main.c:2751 +#: src/main.c:2703 #, fuzzy msgid "" "\n" @@ -548,7 +548,7 @@ "يحتاج برنامج لايفز اى من أدوات 'mplayer' أو 'sox' لآداء مهامه . يرجى تنصيب " "أحد هذه الأدوات ، ثم إعادة المحاولة\n" -#: src/main.c:2756 +#: src/main.c:2708 #, fuzzy msgid "" "\n" @@ -559,7 +559,7 @@ "يحتاج برنامج لايفز اى من أدوات 'mplayer' أو 'sox' لآداء مهامه . يرجى تنصيب " "أحد هذه الأدوات ، ثم إعادة المحاولة\n" -#: src/main.c:2769 +#: src/main.c:2721 #, fuzzy msgid "" "\n" @@ -570,7 +570,7 @@ "لم يستطيع برنامج لايفز الوصول الى الأداة 'mplayer' . ربما تحتاج تنصيب الأداة " "للحصول على أداء أفضل.\n" -#: src/main.c:2775 +#: src/main.c:2727 #, fuzzy msgid "" "\n" @@ -581,7 +581,7 @@ "لم يستطيع برنامج لايفز الوصول الى الأداة 'mplayer' . ربما تحتاج تنصيب الأداة " "للحصول على أداء أفضل.\n" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" @@ -591,7 +591,7 @@ "لم يستطيع برنامج لايفز الوصول الى الأداة 'convert' و 'image-magick' . ربما " "تحتاج تنصيب الأداتين للحصول على تأثيرات الإعادة.\n" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " @@ -601,7 +601,7 @@ "لم يستطيع برنامج لايفز الوصول الى الأداة 'composite' و 'image-magick' . ربما " "تحتاج تنصيب الأداتين للحصول على تأثيرات الدمج 'merge function'\n" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " @@ -611,7 +611,7 @@ "لم يستطيع برنامج لايفز الوصول الى الأداة 'sox' . بعض مميرات الصوت لن تعمل. " "يجب تنصيب الأداة 'sox'\n" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -622,63 +622,63 @@ "You may need to change the value of <lib_dir> in %s\n" msgstr "" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "" -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "التحميل التلقائى للمجموعة %s..." #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "أوديو بلاير 'audio player' غير صالح %s\n" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "شغّل" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" @@ -686,34 +686,34 @@ "لم يتمكن برنامج لايفز من إلتقاط هذه الصورة\n" "\n" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "ملف مغلق %s\n" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "_تراجع" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "_كرّر" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "فيديو" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "الصوت الأيسر" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "الصوت الأيمن" -#: src/main.c:7078 +#: src/main.c:6973 msgid "" "\n" "\n" @@ -867,7 +867,7 @@ msgid "Use _mplayer2 audio player" msgstr "" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "" @@ -1074,51 +1074,51 @@ msgid "_Finish" msgstr "" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "دع برنامج لايفز يقوم بتعيين _إمتداد الملف" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "" -#: src/interface.c:46 +#: src/interface.c:42 msgid "Apply _Deinterlace" msgstr "" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "" -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "معاينة" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "" -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "" -#: src/interface.c:122 +#: src/interface.c:113 msgid "Click here to _Preview the file" msgstr "" -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 msgid "Processing..." msgstr "" -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1127,8 +1127,8 @@ "Remember to switch off effects (ctrl-0) afterwards !" msgstr "" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" @@ -1136,173 +1136,177 @@ "\n" "يرجى الانتظار" -#: src/interface.c:221 +#: src/interface.c:206 msgid "Show Details" msgstr "" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "_كاف" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "_معاينة" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "إل_غِ" -#: src/interface.c:334 +#: src/interface.c:324 msgid "Multitrack Details" msgstr "" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "التنسيق" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "حجم الإطار" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "حجم الملف" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "حجم البايت" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "الإطارات" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "الأحداث" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "إجمالي الوقت" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "الصوت" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "معدل / حجم" -#: src/interface.c:568 +#: src/interface.c:590 #, fuzzy msgid "Encoding Options" msgstr "الترميز" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." msgstr "" -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "إبقاء _اعدادتي" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "استخدام الإ_عدادات الموصى بها" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "أ_غلق النّافذة" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "_لحفظ الملف" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "إدراج" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "" -#: src/interface.c:833 +#: src/interface.c:846 +msgid "Insert _with silence" +msgstr "" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "" -#: src/interface.c:924 +#: src/interface.c:937 #, fuzzy msgid "Open Selection" msgstr "_نسخة التحديد" -#: src/interface.c:943 +#: src/interface.c:954 msgid "Selection start time (sec)" msgstr "" -#: src/interface.c:949 +#: src/interface.c:960 msgid "Number of frames to open" msgstr "" -#: src/interface.c:1023 +#: src/interface.c:1029 #, fuzzy msgid "Open Location" msgstr "فتح _الموقع / دفق..." -#: src/interface.c:1025 +#: src/interface.c:1031 msgid "Open Youtube Clip" msgstr "" -#: src/interface.c:1045 +#: src/interface.c:1050 msgid "" "\n" "\n" @@ -1312,7 +1316,7 @@ "\n" msgstr "" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1321,67 +1325,67 @@ "\n" msgstr "" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "" -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "لا ترسل معلومات النطاق الترددي" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "حاول هذا الإعداد إذا كنت تواجه مشاكل في الحصول على دفق" -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "" -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "" -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr "" -#: src/interface.c:1188 +#: src/interface.c:1189 #, fuzzy msgid "Rename Clip" msgstr "يدوّر" -#: src/interface.c:1190 +#: src/interface.c:1191 msgid "Enter Set Name to Save as" msgstr "" -#: src/interface.c:1192 +#: src/interface.c:1193 msgid "Enter a Set Name to Reload" msgstr "" -#: src/interface.c:1194 +#: src/interface.c:1195 msgid "Choose a Working Directory" msgstr "" -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 msgid "Rename Current Track" msgstr "" -#: src/interface.c:1198 +#: src/interface.c:1199 msgid "Enter a Name for Your Theme" msgstr "" -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1389,7 +1393,7 @@ "LiVES will remind you to save the clip set later when you try to exit.\n" msgstr "" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1409,330 +1413,330 @@ "This should be a directory with plenty of disk space available.\n" msgstr "" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "" -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "" -#: src/interface.c:1257 +#: src/interface.c:1255 msgid "Theme name " msgstr "" -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "متق_دم" -#: src/interface.c:1437 +#: src/interface.c:1425 msgid "Select input device" msgstr "" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "" -#: src/interface.c:1517 +#: src/interface.c:1505 msgid "Load CD Track" msgstr "" -#: src/interface.c:1519 +#: src/interface.c:1507 msgid "Select DVD Title/Chapter" msgstr "" -#: src/interface.c:1521 +#: src/interface.c:1509 msgid "Select VCD Title" msgstr "" -#: src/interface.c:1523 +#: src/interface.c:1511 #, fuzzy msgid "Change Maximum Visible Tracks" msgstr "الحد الأقصى لعدد من المسارات لعرض" -#: src/interface.c:1525 +#: src/interface.c:1513 msgid "Device details" msgstr "" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "الحد الأقصى لعدد من المسارات لعرض" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "الفصل " -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "" -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "" -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "" -#: src/interface.c:1815 +#: src/interface.c:1778 #, fuzzy msgid "Fade Audio In" msgstr "الخفوت" -#: src/interface.c:1817 +#: src/interface.c:1780 #, fuzzy msgid "Fade Audio Out" msgstr "الخفوت" -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "" -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "الأوّل" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "" -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "الأخير" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "ثوان." -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "التحديد" -#: src/interface.c:1909 +#: src/interface.c:1865 msgid " (Optional)" msgstr "" -#: src/interface.c:1912 +#: src/interface.c:1868 #, fuzzy, c-format msgid "File Comments%s" msgstr "عرض / _تحرير ملف تعليقات" -#: src/interface.c:1927 +#: src/interface.c:1882 #, fuzzy, c-format msgid "File Name: %s" msgstr "اللقب / الاسم : " -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "اللقب / الاسم : " -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "الكاتب / الفنان : " -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "التعليقات : " -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "" -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "" -#: src/interface.c:2109 +#: src/interface.c:2058 #, c-format msgid "%sChoose a Device" msgstr "" -#: src/interface.c:2112 +#: src/interface.c:2061 #, c-format msgid "%sChoose a Directory" msgstr "" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2410 +#: src/interface.c:2341 msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" "What do you wish to do ?" msgstr "" -#: src/interface.c:2417 +#: src/interface.c:2348 msgid "Cancel/Discard/Save" msgstr "" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "_يمسح تخطيط" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "_تجاهل التغييرات" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "_تخطيط حذف" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "_حفظ التخطيط" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" "Would you like to try and recover it ?\n" msgstr "" -#: src/interface.c:2527 +#: src/interface.c:2455 msgid "Disk Recovery Options" msgstr "" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "" -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "" -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1740,342 +1744,342 @@ "-----------------------\n" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "ctrl-left" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 #, fuzzy msgid "skip forwards\n" msgstr "تخطّى إلى الأمام" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "ctrl-down" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "ctrl-enter" msgstr "أخ_رى" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "reset frame rate\n" msgstr "الإطار الأول" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "" -#: src/interface.c:2723 +#: src/interface.c:2642 msgid "reverse direction\n" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 msgid "ctrl-1" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "toggle real-time effect 1\n" msgstr "تحميل إضافات مؤثرات الوقت الحقيقي..." -#: src/interface.c:2746 +#: src/interface.c:2665 msgid "ctrl-2" msgstr "" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "toggle real-time effect 2\n" msgstr "تحميل إضافات مؤثرات الوقت الحقيقي..." -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "ctrl-0" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "real-time effects off\n" msgstr "" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "" -#: src/interface.c:2759 +#: src/interface.c:2678 msgid "grab keyboard for last activated effect\n" msgstr "" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2688 msgid "tab" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "" -#: src/interface.c:2785 +#: src/interface.c:2706 msgid "Other playback keys\n" msgstr "" -#: src/interface.c:2789 +#: src/interface.c:2710 #, fuzzy msgid "play all\n" msgstr "تلعب جميعع (ع)" -#: src/interface.c:2792 +#: src/interface.c:2713 #, fuzzy msgid "play selection\n" msgstr "اخت_يار اللعب" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "" -#: src/interface.c:2798 +#: src/interface.c:2719 #, fuzzy msgid "fullscreen\n" msgstr "_كامل الشاشة" -#: src/interface.c:2801 +#: src/interface.c:2722 #, fuzzy msgid "separate window\n" msgstr "اللعب في نافذة _منفصلة" -#: src/interface.c:2804 +#: src/interface.c:2725 #, fuzzy msgid "double size\n" msgstr "_مضاعفة الحجم" -#: src/interface.c:2807 +#: src/interface.c:2728 #, fuzzy msgid "ping pong loops\n" msgstr "_بينغ بونغ الحلقات" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "move current track up\n" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "move current track down\n" msgstr "" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "" -#: src/interface.c:2849 +#: src/interface.c:2768 #, fuzzy msgid "select next clip\n" msgstr "ال_تحديد" -#: src/interface.c:2852 +#: src/interface.c:2771 msgid "select/deselect current track\n" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "zoom in\n" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "zoom out\n" msgstr "" -#: src/interface.c:2861 +#: src/interface.c:2780 msgid "make a mark on the timeline (during playback)\n" msgstr "" -#: src/interface.c:2864 +#: src/interface.c:2783 #, fuzzy msgid "rewind to play start.\n" msgstr "الترجيع لبدء (ث)" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "" -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "" -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "" -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -2083,22 +2087,22 @@ "the latest youtube-dl installed.\n" msgstr "" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, c-format msgid "Layouts were removed for set %s.\n" msgstr "" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "هذا الملف" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " msgstr "" -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2108,7 +2112,7 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2118,14 +2122,14 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" "Really close it ?" msgstr "" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" @@ -2133,7 +2137,7 @@ "\n" "الملف غير صالح المشروع.\n" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2146,53 +2150,53 @@ "Once you have done this, you will be able to import the new project.\n" msgstr "" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "" -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "" -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 msgid "Theme" msgstr "" -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, fuzzy, c-format msgid "Exporting theme as %s..." msgstr "التصدير والصوت..." -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, fuzzy, c-format msgid "Importing theme \"%s\" from %s..." msgstr "التصدير والصوت..." -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, c-format msgid "Backup as %s File" msgstr "" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, c-format msgid "Restore %s File" msgstr "" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2200,101 +2204,101 @@ "Are you sure ?\n" msgstr "" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "" -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "" -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "" -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "" -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "الإعادة" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "" -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "" -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "قصّ" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 msgid "Pulling frames from clipboard" msgstr "" -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "" -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "اللصق" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "" -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " "LiVES.\n" msgstr "" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2303,31 +2307,31 @@ "the 'Trim Audio' function from the Audio menu." msgstr "" -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." msgstr "" -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2335,7 +2339,7 @@ "Clipboard audio has been erased.\n" msgstr "" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2344,88 +2348,88 @@ "using unchanged audio ?\n" msgstr "" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "" -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "جاري الإدراج" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "" -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "" -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "إلغاء" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" "Are you sure ?" msgstr "" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "" -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "يمحي" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "حذف" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" "Selection is locked.\n" msgstr "" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2433,11 +2437,11 @@ "play.)\n" msgstr "" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2446,7 +2450,7 @@ "%s\n" msgstr "" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2455,7 +2459,7 @@ "The plugin may be broken or not installed correctly." msgstr "" -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2464,22 +2468,22 @@ "Please press 'Cancel' if that is not what you want.\n" msgstr "" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2487,24 +2491,24 @@ "Click OK to proceed.\n" msgstr "" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "" -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "" -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "" -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2512,68 +2516,68 @@ "Internal: %s (%d bpp) / %s\n" msgstr "" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." msgstr "" -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" "(%d virtual)" msgstr "" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" "(%d decoded)" msgstr "" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" " %.2f sec." msgstr "" -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" msgstr "" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" "%s %s" msgstr "" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2590,15 +2594,15 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n" msgstr "" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "وتحرير الفيديو وبرنامج الجيش اليوغوسلافي." -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" "Launchpad Contributions:\n" @@ -2607,7 +2611,7 @@ " عبدالله شلي (Abdellah Chelli) https://launchpad.net/~sneetsher\n" " عمرو رجائى(Amr) https://launchpad.net/~amr-ragaee" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, c-format msgid "" "LiVES Version %s\n" @@ -2621,14 +2625,14 @@ "Homepage: %s" msgstr "" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 msgid "" "\n" "\n" "You need to install mplayer or mplayer2 to be able to preview this file.\n" msgstr "" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 msgid "" "\n" "\n" @@ -2636,93 +2640,93 @@ "this file.\n" msgstr "" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" "%s\n" msgstr "" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 msgid "Encoder Debug Output" msgstr "" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "التبديل حلقات متواصلة من (س)" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "حلقات التبديل المستمر على (س)" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "" -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 msgid "Load Subtitles" msgstr "" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 #, fuzzy msgid "Select Audio File" msgstr "حذف أغنية" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -2730,83 +2734,83 @@ "." msgstr "" -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "" -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "أغنية جديدة" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "" -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "افتتاح مؤتمر نزع السلاح المسار..." -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 #, fuzzy msgid "Layout Errors" msgstr "أخطاء التصميم" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "أخطاء وا_ضحة" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "_حذف تخطيطات المتضررة" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "إستأنف" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "مؤقتا..." -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "استأنفت..." -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "حافظ عليه" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, fuzzy, c-format msgid "" "\n" @@ -2819,30 +2823,30 @@ "(انقر فوق الاحتفاظ للحفاظ على ما لديك ، ووقف)\n" "(انقر فوق استئناف لمواصلة تجهيز)" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "إلغـاء" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 #, fuzzy msgid "Selected Frame" msgstr "حدد كافة _إطارات" -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 #, fuzzy msgid "_Save Frame as..." msgstr "الإطار آخر" -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -2851,7 +2855,7 @@ "\n" msgstr "" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -2859,7 +2863,7 @@ "\n" msgstr "" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" @@ -2867,7 +2871,7 @@ "\n" "سجل الوقت يجب أن يكون أكبر من الصفر.\n" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -2876,17 +2880,17 @@ "\n" msgstr "" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "الخارجية النافذة قد أفرج عنه.\n" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" msgstr "" -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -2896,19 +2900,19 @@ "(Default of %.3f frames per second will be used.)\n" msgstr "" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "أغاني مختارة والتصدير..." -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "التصدير والصوت..." -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -2917,87 +2921,87 @@ "rate.\n" msgstr "" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "" -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "" -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "تصدير الصوت" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 #, fuzzy msgid "Append Audio File" msgstr "إلحاق أغنية" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "" -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "إلحاق الصوت" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "إلحاق أغنية" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "" -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "تقليم / الوسادة أغنية" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "" -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "" -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "يتلاشى الصوت..." -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" @@ -3007,33 +3011,33 @@ "حذف جميع السمعية سيتم إغلاق هذا الملف.\n" "هل أنت متأكد ؟" -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "حذف كل صوت..." -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "حذف أغنية" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "حذف أغنية" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "تسجيل صوتي جديد" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "" @@ -3046,891 +3050,891 @@ msgid "Merge Clipboard [ %d Frames ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "ماذا تفعل مع إطارات الحافظة اضافية -" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "_إدراج إطارات" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "_انخفاض بأطر" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "_طريقة الانتقال :" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "" -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "دمج عمله.\n" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "" -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "_العرف الأثر" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "العرف ا_لمرافق" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "_ملف" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "_فتح ملف / دليل" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "" -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "فتح _الموقع / دفق..." -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "" -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "" -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "" -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "_الملفات الحديثة..." -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "" -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "" -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "" -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "_إغلاق هذه القصاصات" -#: src/gui.c:692 +#: src/gui.c:674 #, c-format msgid "_Backup Clip as .%s..." msgstr "" -#: src/gui.c:701 +#: src/gui.c:683 #, c-format msgid "_Restore Clip from .%s..." msgstr "" -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "_تعديل" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "_نسخة التحديد" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "ق_طع التحديد" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "" -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "" -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "ا_حذف التحديد" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "انت_ق..." -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "حدد كافة _إطارات" -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "حدد _تأثير آخر" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "اع_كس الاختيار" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "_قفل اختيار العرض" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "_شَغِّل" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "_تلعب جميع" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "اخت_يار اللعب" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "_قف" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "الترج_يع" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "_كامل الشاشة" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "_مضاعفة الحجم" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "اللعب في نافذة _منفصلة" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "_خلفية بيضاء" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "(تلقائيا) _حلقة فيديو (لتناسب المسار الصوتي)" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "حلق_ة مستمرة" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "_بينغ بونغ الحلقات" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "أص_مت" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "" -#: src/gui.c:1069 +#: src/gui.c:1045 msgid "Letterbox Mode" msgstr "" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "الآ_ثار" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "" -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "_الأدوات" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "أدوات يتم تطبيقها على مقاطع كاملة." -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "" -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "" -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "أد_وات" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "أدوات _مخصص" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "ت_وليد" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "" -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "" -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "_تفضيلات..." -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "_الصوت" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "" -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "" -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "_قذف القرص" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "" -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "لكليب _جديد..." -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "لا_ختيار" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "" -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "" -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "_تصدير أغنية..." -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "" -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "" -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "" -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "" -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "" -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "" -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "_حذف أغنية..." -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "" -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "" -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "" -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "وتظهر معلوم_ات كليب" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "عرض / _تحرير ملف تعليقات" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "وتظهر _رسائل" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "وتظهر_ تخطيط أخطاء" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "_لقطات" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "" -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "م_تقدم" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "" -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "" -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "" -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "" -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "" -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "" -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "" -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "" -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "" -#: src/gui.c:1397 +#: src/gui.c:1371 #, fuzzy msgid "Receive _LiVES Stream from..." msgstr "_ارسال تيار لأرواح..." -#: src/gui.c:1401 +#: src/gui.c:1375 #, fuzzy msgid "_Send LiVES Stream to..." msgstr "_ارسال تيار لأرواح..." -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "" -#: src/gui.c:1426 +#: src/gui.c:1399 #, fuzzy, c-format msgid "_Import Project (.%s)..." msgstr "_الاستيراد من الأجهزة" -#: src/gui.c:1430 +#: src/gui.c:1403 #, fuzzy, c-format msgid "E_xport Project (.%s)..." msgstr "_الاستيراد من الأجهزة" -#: src/gui.c:1437 +#: src/gui.c:1409 #, fuzzy, c-format msgid "_Import Custom Theme (.%s)..." msgstr "التصدير والصوت..." -#: src/gui.c:1442 +#: src/gui.c:1414 #, fuzzy, c-format msgid "E_xport Theme (.%s)..." msgstr "التصدير والصوت..." -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "_الجيش اليوغوسلافي" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "" -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "" -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." msgstr "" -#: src/gui.c:1476 +#: src/gui.c:1448 #, fuzzy msgid "_Reset All Playback Speeds and Positions" msgstr "_إعادة تعيين جميع سرعات القراءة ومواقف" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "" -#: src/gui.c:1480 +#: src/gui.c:1452 #, fuzzy msgid "_MIDI/Joystick Interface" msgstr "_ميدي / عصا التحكم واجهة" -#: src/gui.c:1489 +#: src/gui.c:1461 #, fuzzy msgid "_MIDI/Joystick Learner..." msgstr "_ميدي / جويستيك المتعلم..." -#: src/gui.c:1493 +#: src/gui.c:1465 #, fuzzy msgid "_Save Device Mapping..." msgstr "_انقاذ جهاز رسم الخرائط..." -#: src/gui.c:1497 +#: src/gui.c:1469 #, fuzzy msgid "_Load Device Mapping..." msgstr "_تحميل جهاز رسم الخرائط..." -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "وتظهر الجيش اليوغوسلافي _كيز" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "ولعب ا_طفال" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "_لا شيء" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "_جنون بأطر" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "_أرواح تلفزيون (النطاق العريض)" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "_مساعدة" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "_مختصر (يفتح في المتصفح)" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 #, fuzzy msgid "_Donate to the Project !" msgstr "_التبرع لهذا المشروع !" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 #, fuzzy msgid "_Email the Author" msgstr "_البريد الإلكتروني لصاحب" -#: src/gui.c:1547 +#: src/gui.c:1519 #, fuzzy msgid "Report a _Bug" msgstr "بلغ عن عثرة" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 #, fuzzy msgid "Suggest a _Feature" msgstr "_اقتراح ميزة" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 #, fuzzy msgid "Assist with _Translating" msgstr "بادر بالترجمة" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "حل المشا_كل" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "_عن" -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "الترجيع لبدء (ث)" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "تلعب جميعع (ع)" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "وقف التشغيل (ف)" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "تلعب اختيار (ذ)" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "الحجم" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "تلعب أبطأ (السيطرة لأسفل)" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "اللعب بشكل أسرع (السيطرة متابعة)" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "إخفاء شريط الأدوات هذا" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." msgstr "" #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr "" -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "تختلف سرعة الفيديو" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "الإطار الأول" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "الإطار آخر" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "الإطار الأول الذي اختير في هذه القصاصة" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "الإطار الأخير المحدد في هذا الكليب" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "بدءا...\n" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr "" -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "_حر" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "اب_دأ" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "_نهاية" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "إعادة" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr "" -#: src/gui.c:3613 +#: src/gui.c:3553 #, fuzzy msgid "Streaming" msgstr "حلم" -#: src/gui.c:3615 +#: src/gui.c:3555 #, fuzzy, c-format msgid "Play Window%s" msgstr "أ_غلق النّافذة" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "" -#: src/gui.c:4199 +#: src/gui.c:4127 #, fuzzy, c-format msgid "'LiVES opened the file' '%s'" msgstr "" "لم يتمكن برنامج لايفز من إلتقاط هذه الصورة\n" "\n" -#: src/gui.c:4220 +#: src/gui.c:4146 #, fuzzy, c-format msgid "'LiVES closed the file' '%s'" msgstr "دع برنامج لايفز يقوم بتعيين _إمتداد الملف" @@ -3940,11 +3944,11 @@ msgid "Mapped to ctrl-%d" msgstr "" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "المؤثرات" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "" @@ -3958,11 +3962,11 @@ msgid "Select clip for %s\n" msgstr "" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "" @@ -4007,11 +4011,11 @@ msgid "%d bytes" msgstr "" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -4019,81 +4023,81 @@ "Switched to clip %s\n" msgstr "" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" "Switched to empty clip\n" msgstr "" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " "updated accordingly\n" msgstr "" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -4101,7 +4105,7 @@ "by another copy of LiVES.\n" msgstr "" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -4109,39 +4113,39 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2188 +#: src/utils.c:2207 #, c-format msgid "" "\n" "%s names may not be blank.\n" msgstr "" -#: src/utils.c:2196 +#: src/utils.c:2215 #, c-format msgid "" "\n" "%s names may not be longer than %d characters.\n" msgstr "" -#: src/utils.c:2204 +#: src/utils.c:2223 #, c-format msgid "" "\n" "%s names may not contain spaces or the characters%s.\n" msgstr "" -#: src/utils.c:2213 +#: src/utils.c:2232 #, c-format msgid "" "\n" "%s names may not start with a '.' or contain '..'\n" msgstr "" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4149,72 +4153,72 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "" -#: src/utils.c:3492 +#: src/utils.c:3548 msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "" -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4224,29 +4228,29 @@ "Overwrite ?\n" msgstr "" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "_تراجع عن %s" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "أ_عد %s" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr "" -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr "" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4271,7 +4275,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr "" @@ -4372,7 +4376,7 @@ msgstr "" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "" @@ -4426,12 +4430,12 @@ msgid "Recording performance..." msgstr "" -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4440,21 +4444,21 @@ "and resize all frames to the current size.\n" msgstr "" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "غير معروف" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "دون عنوان%d" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4462,13 +4466,13 @@ "%s\n" msgstr "" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" msgstr "" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4476,7 +4480,7 @@ "Bad things may happen with this clip.\n" msgstr "" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4484,73 +4488,73 @@ "Default can be set in Tools | Preferences | Misc.\n" msgstr "" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, c-format msgid " - Author: %s\n" msgstr "" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, c-format msgid " - Title: %s\n" msgstr "" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr "" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "" -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "" -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "" -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "يسترجع" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -4598,62 +4602,62 @@ msgid "Recovering files..." msgstr "" -#: src/dialogs.c:87 +#: src/dialogs.c:83 #, fuzzy msgid "Show affeced _layouts" msgstr "_حذف تخطيطات المتضررة" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" msgstr "" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr "" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 #, fuzzy msgid "Warning !" msgstr "تحذيرات" -#: src/dialogs.c:198 +#: src/dialogs.c:186 #, fuzzy msgid "Error !" msgstr "$خطأ" -#: src/dialogs.c:208 +#: src/dialogs.c:196 #, fuzzy msgid "Information" msgstr "تطبيع" -#: src/dialogs.c:234 +#: src/dialogs.c:221 msgid "Question" msgstr "" -#: src/dialogs.c:248 +#: src/dialogs.c:235 #, fuzzy msgid "File Error" msgstr "أخطاء وا_ضحة" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "وتظهر _تفاصيل" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -4664,7 +4668,7 @@ "(Disk warning levels can be configured in Preferences.)" msgstr "" -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -4676,11 +4680,11 @@ "Preferences.)" msgstr "" -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "" -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -4688,46 +4692,46 @@ "Please try closing some other applications first.\n" msgstr "" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "" -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" "%s%d%% done. Time remaining: %u sec%s\n" msgstr "" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" "%d/%d frames opened. Time remaining %u sec.\n" msgstr "" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" "%d/%d frames opened.\n" msgstr "" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" "%d frames opened.\n" msgstr "" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" "Time remaining: %d sec" msgstr "" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -4735,7 +4739,7 @@ "Please close a file and then try again." msgstr "" -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -4747,7 +4751,7 @@ "Please make sure you can write to this directory." msgstr "" -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 #, fuzzy msgid "" "\n" @@ -4758,7 +4762,7 @@ "يحتاج برنامج لايفز اى من أدوات 'mplayer' أو 'sox' لآداء مهامه . يرجى تنصيب " "أحد هذه الأدوات ، ثم إعادة المحاولة\n" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 #, fuzzy msgid "" "\n" @@ -4769,7 +4773,7 @@ "يحتاج برنامج لايفز اى من أدوات 'mplayer' أو 'sox' لآداء مهامه . يرجى تنصيب " "أحد هذه الأدوات ، ثم إعادة المحاولة\n" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 #, fuzzy msgid "" "\n" @@ -4780,26 +4784,26 @@ "يحتاج برنامج لايفز اى من أدوات 'mplayer' أو 'sox' لآداء مهامه . يرجى تنصيب " "أحد هذه الأدوات ، ثم إعادة المحاولة\n" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" "Or switch to another encoder format in Tools | Preferences | Encoding\n" msgstr "" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -4807,19 +4811,19 @@ "Please set the audio codec in Tools|Preferences|Encoding\n" msgstr "" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -4827,83 +4831,83 @@ "Due to restrictions in the %s format\n" msgstr "" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" msgstr "" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr "" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr "" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr "" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr "" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" msgstr "" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -4912,14 +4916,14 @@ "\n" msgstr "" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" "\n" msgstr "" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -4928,7 +4932,7 @@ "Try recording for just a selection of the file." msgstr "" -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -4939,7 +4943,7 @@ "Please press Cancel to abort the insert, or OK to continue." msgstr "" -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -4952,18 +4956,18 @@ "click Cancel." msgstr "" -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " "in your %s file" msgstr "" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -4974,25 +4978,25 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 msgid "" "Sorry, unknown audio type.\n" "\n" " (Filenames must end in" msgstr "" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" "(They will not be usable without the set).\n" msgstr "" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -5001,7 +5005,7 @@ "Click Cancel to pick a new name.\n" msgstr "" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -5009,7 +5013,7 @@ "." msgstr "" -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -5017,7 +5021,7 @@ "." msgstr "" -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -5028,7 +5032,7 @@ "Otherwise click Cancel to skip loading this file.\n" msgstr "" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -5038,7 +5042,7 @@ "The clip could not be loaded.\n" msgstr "" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -5046,7 +5050,7 @@ "Alternately, select a different audio player in Preferences.\n" msgstr "" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -5055,13 +5059,13 @@ "Automatic jack startup will be disabled now.\n" msgstr "" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" msgstr "" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -5072,13 +5076,13 @@ "%s\n" msgstr "" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" msgstr "" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -5088,7 +5092,7 @@ "It is recommended to increase it to at least %d MB" msgstr "" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -5097,7 +5101,7 @@ "Do you wish to delete them ?\n" msgstr "" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -5105,7 +5109,7 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -5113,56 +5117,56 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" msgstr "" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" msgstr "" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" "You can set this in Tools|Preferences|Playback." msgstr "" -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" "Should I try to repair the disk copy of the layout ?\n" msgstr "" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" msgstr "" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 #, fuzzy msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" @@ -5172,7 +5176,7 @@ "يحتاج برنامج لايفز اى من أدوات 'mplayer' أو 'sox' لآداء مهامه . يرجى تنصيب " "أحد هذه الأدوات ، ثم إعادة المحاولة\n" -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 #, fuzzy msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" @@ -5182,7 +5186,7 @@ "يحتاج برنامج لايفز اى من أدوات 'mplayer' أو 'sox' لآداء مهامه . يرجى تنصيب " "أحد هذه الأدوات ، ثم إعادة المحاولة\n" -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 #, fuzzy msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" @@ -5192,14 +5196,14 @@ "يحتاج برنامج لايفز اى من أدوات 'mplayer' أو 'sox' لآداء مهامه . يرجى تنصيب " "أحد هذه الأدوات ، ثم إعادة المحاولة\n" -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" "Audio rate must be greater than 0.\n" msgstr "" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5207,14 +5211,14 @@ "Are you sure you wish to view it ?\n" msgstr "" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" "You must install 'dvgrab' to use this function.\n" msgstr "" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5223,25 +5227,25 @@ "You may need to select one of these in Tools/Preferences/Playback.\n" msgstr "" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" msgstr "" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5250,33 +5254,33 @@ "echo %d > /proc/sys/net/core/rmem_max\n" msgstr "" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -5286,7 +5290,7 @@ "%s%s%s" msgstr "" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -5296,7 +5300,7 @@ "%s" msgstr "" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -5306,7 +5310,7 @@ "%s" msgstr "" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -5315,7 +5319,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -5325,7 +5329,7 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -5334,7 +5338,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -5344,12 +5348,12 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "" -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -5358,7 +5362,7 @@ "Please check your system for errors.\n" msgstr "" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -5367,7 +5371,7 @@ "Please check the file permissions and try again." msgstr "" -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -5376,7 +5380,7 @@ "Please check the directory permissions and try again." msgstr "" -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, c-format msgid "" "\n" @@ -5384,14 +5388,14 @@ "%s\n" msgstr "" -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -5399,13 +5403,13 @@ "Please select another encoder from the list.\n" msgstr "" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" msgstr "" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -5415,27 +5419,27 @@ "- Check if the device actually exists.\n" msgstr "" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" "Do you wish to overwrite the existing subtitles ?\n" msgstr "" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 msgid "" "\n" "LiVES currently only supports subtitles of type" msgstr "" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -5444,14 +5448,14 @@ "or OK to continue and save as type \"%s\"\n" msgstr "" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" "(If unsure, click Yes)\n" msgstr "" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -5462,19 +5466,19 @@ "." msgstr "" -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" msgstr "" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" msgstr "" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -5482,7 +5486,7 @@ "DO NOT SHUT DOWN OR CLOSE LIVES !\n" msgstr "" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, c-format msgid "" "\n" @@ -5490,14 +5494,14 @@ "The theme could not be loaded correctly.\n" msgstr "" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" "Please check the spelling of the set name and try again.\n" msgstr "" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -5506,7 +5510,7 @@ "directory. Would you like me to do this (recommended) ?" msgstr "" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -5518,7 +5522,7 @@ msgstr "" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -5527,38 +5531,38 @@ "\n" msgstr "" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" "Consult your package distributor.\n" msgstr "" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" msgstr "" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, c-format msgid "" "\n" @@ -5567,7 +5571,7 @@ "(Theme name not found).\n" msgstr "" -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -5576,7 +5580,7 @@ "already exists. Would you like to overwrite it ?\n" msgstr "" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -5717,7 +5721,7 @@ msgid "Video only Transitions" msgstr "" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "" @@ -5725,7 +5729,7 @@ msgid "Audio only Transitions" msgstr "" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "ملف صوتي" @@ -5769,7 +5773,7 @@ msgid "Audio Analysers" msgstr "" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "مجهول" @@ -5824,361 +5828,361 @@ "No frames were generated.\n" msgstr "" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 msgid "Invalid element" msgstr "" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 #, fuzzy msgid "Invalid property" msgstr "" "\n" "الملف غير صالح المشروع.\n" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 msgid "Invalid plugin" msgstr "" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 #, fuzzy msgid "No error" msgstr "$خطأ" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 msgid "integer" msgstr "" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 msgid "string" msgstr "" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 msgid "pointer" msgstr "" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" "Error was: %s\n" msgstr "" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr "" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, c-format msgid "Successfully loaded %d compound filters\n" msgstr "" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, c-format msgid "Failed to start generator %s (%s)\n" msgstr "" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 msgid "Autoscale" msgstr "" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 #, fuzzy msgid "Delete this connection" msgstr "ا_حذف التحديد" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, c-format msgid "%s - Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, c-format msgid "%s - Parameter Data Connections" msgstr "" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 msgid "Parameter and Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 msgid "Auto Connect Channels" msgstr "" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 msgid "Auto Connect Parameters" msgstr "" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "" -#: src/framedraw.c:241 +#: src/framedraw.c:242 msgid "_Frame" msgstr "" @@ -6222,40 +6226,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "ع_رض" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "إر_تفاع" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "" -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -6321,32 +6325,32 @@ "\n" msgstr "" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "" -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -6355,7 +6359,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -6365,31 +6369,31 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" "Error was: %s\n" msgstr "" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " "***\n" msgstr "" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -6398,7 +6402,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -6407,7 +6411,7 @@ "or switch to another plugin using Tools|Preferences|Encoding\n" msgstr "" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, c-format msgid "" "\n" @@ -6415,12 +6419,12 @@ "No decoders found in %s !\n" msgstr "" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, fuzzy, c-format msgid " using %s" msgstr "فتح %s" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -6429,7 +6433,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -6439,24 +6443,24 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "" -#: src/plugins.c:2556 +#: src/plugins.c:2550 msgid "Decoder Plugins" msgstr "" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "" @@ -6655,20 +6659,20 @@ msgid "Move _Down" msgstr "أ_سفل" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 #, fuzzy msgid "RFX Properties" msgstr "ال_خصائص..." -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -6677,7 +6681,7 @@ "\n" msgstr "" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -6685,219 +6689,219 @@ "Please check the trigger code.\n" msgstr "" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 msgid "New RFX Parameter" msgstr "" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 msgid "Edit RFX Parameter" msgstr "" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "" -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "" -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "" -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." msgstr "" -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "" -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "" -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "" -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "" -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "" -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "" -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "" -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "" -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "" -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr "" -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "" -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 msgid "_Wrap value" msgstr "" -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "" -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "" -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "" -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "" -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "" -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 msgid "New RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 msgid "Edit RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "" -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "" -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "" -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "" -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "" -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "" -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "" -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 msgid "New RFX Trigger" msgstr "" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 msgid "Edit RFX Trigger" msgstr "" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "" -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 msgid "Pre Loop Code" msgstr "" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 msgid "Loop Code" msgstr "" -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 msgid "Post Loop Code" msgstr "" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, c-format msgid "Default text (max length %d)" msgstr "" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 msgid "Enter values, one per line" msgstr "" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" "Name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" "Name must not contain spaces.\n" msgstr "" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" "Menu text must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" "Action description must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" "Author must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -6905,28 +6909,28 @@ "Name must be unique.\n" msgstr "" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" "Loop code should not be blank.\n" msgstr "" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" "Trigger code should not be blank for a utility.\n" msgstr "" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" "Parameter name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -6935,41 +6939,41 @@ "\n" msgstr "" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "" -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -6979,27 +6983,27 @@ "\n" msgstr "" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "" -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "" -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "" -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "" -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -7008,7 +7012,7 @@ "Please check this program is in your path and executable.\n" msgstr "" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -7018,12 +7022,12 @@ "\n" msgstr "" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "" -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -7033,7 +7037,7 @@ "Error code was %d\n" msgstr "" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -7043,12 +7047,12 @@ "Please delete it first, or rename the test script.\n" msgstr "" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "" -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -7059,20 +7063,20 @@ "Return code was %d (%s)\n" msgstr "" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 msgid "Export Script" msgstr "" -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "" -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 msgid "Import Script" msgstr "" -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -7082,43 +7086,43 @@ "Please delete it first, or rename the import script.\n" msgstr "" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 msgid "Copy RFX Script" msgstr "" -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "" -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr "" -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 msgid "Rename Test RFX Script" msgstr "" -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "" -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 msgid "RFX Script Name" msgstr "" -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "" -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "" -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "" -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -7126,12 +7130,12 @@ "Script name must be unique.\n" msgstr "" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "" -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -7142,25 +7146,25 @@ "Return code was %d\n" msgstr "" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 msgid "Applying Current Real Time Effects to" msgstr "" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "" -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "" -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -7168,7 +7172,7 @@ "full screen, separate window (fs) mode\n" msgstr "" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -7176,7 +7180,7 @@ "(Free space = UNKNOWN)" msgstr "" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -7185,14 +7189,14 @@ "(Free space = %s)" msgstr "" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" "It should be in a partition with plenty of free disk space.\n" msgstr "" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7203,7 +7207,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7213,7 +7217,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1193 +#: src/preferences.c:1163 msgid "" "You have chosen to change the working directory.\n" "Please make sure you have no other copies of LiVES open.\n" @@ -7225,7 +7229,7 @@ "setting." msgstr "" -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, c-format msgid "" "\n" @@ -7234,13 +7238,13 @@ "See %s\n" msgstr "" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" msgstr "" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, c-format msgid "" "\n" @@ -7249,919 +7253,919 @@ "See %s\n" msgstr "" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "" -#: src/preferences.c:2468 +#: src/preferences.c:2418 #, fuzzy msgid "Preferences" msgstr "_تفضيلات..." -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "" -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr "" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr "" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." msgstr "" -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "واجهة مستعمل رسومية" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr "" -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "ثوان" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "أ_بدًا" -#: src/preferences.c:2872 +#: src/preferences.c:2757 #, fuzzy msgid "Maximum number of visible tracks" msgstr "الحد الأقصى لعدد من المسارات لعرض" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "" -#: src/preferences.c:2925 +#: src/preferences.c:2804 msgid "Video open command (fallback)" msgstr "" -#: src/preferences.c:2935 +#: src/preferences.c:2811 msgid "Fallback image format" msgstr "" -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "" -#: src/preferences.c:2964 +#: src/preferences.c:2832 msgid "Open/render compression" msgstr "" -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr "" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "" -#: src/preferences.c:2995 +#: src/preferences.c:2856 msgid "Automatic trimming / padding of audio when possible" msgstr "" -#: src/preferences.c:2997 +#: src/preferences.c:2858 msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "" -#: src/preferences.c:3269 +#: src/preferences.c:3110 msgid "Source:" msgstr "" -#: src/preferences.c:3273 +#: src/preferences.c:3114 msgid "_Internal" msgstr "" -#: src/preferences.c:3278 +#: src/preferences.c:3119 msgid "_External (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "تشغيل" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" msgstr "" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr "" -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "يجري التسجيل" -#: src/preferences.c:3454 +#: src/preferences.c:3273 msgid "You can also change these values when encoding a clip" msgstr "" -#: src/preferences.c:3466 +#: src/preferences.c:3285 msgid "Encoder" msgstr "" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "كوديك الصوت" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "الترميز" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." msgstr "" -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr "" -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr "" -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr "" -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr "" -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr "" -#: src/preferences.c:3649 +#: src/preferences.c:3461 msgid " Working directory (do not remove) " msgstr "" -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "" -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "" -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "مجلد الحفظ" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "" -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr "" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "" -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" msgstr "" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "" -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr " م بايت" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "" -#: src/preferences.c:3872 +#: src/preferences.c:3659 msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " "when LiVES is started." msgstr "" -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "" -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "" -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "" -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "" -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "" -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "" -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "" -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "" -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "" -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "" -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "" -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "" -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "" -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "" -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." msgstr "" -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "" -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "" -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "" -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "" -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "" -#: src/preferences.c:4113 +#: src/preferences.c:3865 msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "" -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "تحذيرات" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "" -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "" -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "" -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "متفرقات" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "" -#: src/preferences.c:4242 +#: src/preferences.c:3977 msgid "Main Theme Details" msgstr "" -#: src/preferences.c:4254 +#: src/preferences.c:3988 #, fuzzy msgid " _Foreground Color" msgstr "_خلفية بيضاء" -#: src/preferences.c:4273 +#: src/preferences.c:4007 #, fuzzy msgid " _Background Color" msgstr "_خلفية بيضاء" -#: src/preferences.c:4291 +#: src/preferences.c:4026 #, fuzzy msgid "_Alt Foreground Color" msgstr "_خلفية بيضاء" -#: src/preferences.c:4309 +#: src/preferences.c:4044 #, fuzzy msgid "_Alt Background Color" msgstr "_خلفية بيضاء" -#: src/preferences.c:4327 +#: src/preferences.c:4062 msgid " Info _Text Color" msgstr "" -#: src/preferences.c:4346 +#: src/preferences.c:4081 msgid " Info _Base Color" msgstr "" -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "" -#: src/preferences.c:4365 +#: src/preferences.c:4100 msgid "Affects some contrast details of the timeline" msgstr "" -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "" -#: src/preferences.c:4398 +#: src/preferences.c:4132 #, fuzzy msgid "Frame blank image" msgstr "إطارات" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "" -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4474 +#: src/preferences.c:4203 msgid "Track background (multitrack)" msgstr "" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "" -#: src/preferences.c:4529 +#: src/preferences.c:4258 msgid "Timeline selection (multitrack)" msgstr "" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "" -#: src/preferences.c:4553 +#: src/preferences.c:4282 msgid "Timecode foreground (multitrack)" msgstr "" -#: src/preferences.c:4565 +#: src/preferences.c:4293 #, fuzzy msgid "Frame surround" msgstr "ثوان" -#: src/preferences.c:4582 +#: src/preferences.c:4306 #, fuzzy msgid "Themes/Colors" msgstr "السِمات" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "" -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "" -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" msgstr "" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" msgstr "" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "" -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "متقدِم" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." msgstr "" -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "" -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -8169,41 +8173,41 @@ "Click OK to continue.\n" msgstr "" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." msgstr "" -#: src/preferences.c:5525 +#: src/preferences.c:5205 msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "" -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "" -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "" @@ -8226,157 +8230,157 @@ msgid "Resample/Resize" msgstr "" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" "New rate must be greater than 0\n" msgstr "" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "" -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "" -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "إعاده التشكيل" -#: src/resample.c:1208 +#: src/resample.c:1209 #, fuzzy msgid "New Clip Audio" msgstr "أغنية جديدة" -#: src/resample.c:1210 +#: src/resample.c:1211 msgid "External Clip Settings" msgstr "" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "الحالي" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "" -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 msgid "Channels" msgstr "" -#: src/resample.c:1256 +#: src/resample.c:1257 msgid "Sample Size " msgstr "" -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "غير موقّع" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "" -#: src/resample.c:1322 +#: src/resample.c:1323 #, fuzzy msgid "New Audio Details" msgstr "أغنية جديدة" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "جديد" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "" -#: src/resample.c:1369 +#: src/resample.c:1370 msgid "_Channels" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "_Sample Size" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "Sample Size" msgstr "" -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "" -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "" -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr "" -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr "" -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr "" -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "غير محدود" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "" -#: src/resample.c:1635 +#: src/resample.c:1636 msgid "Change Playback Speed" msgstr "" -#: src/resample.c:1637 +#: src/resample.c:1638 #, fuzzy msgid "Resample Video" msgstr "إعاده التشكيل" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -8387,7 +8391,7 @@ "in _frames per second" msgstr "" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -8398,80 +8402,80 @@ "in frames per second" msgstr "" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" "LiVES was unable to reorder the frames." msgstr "" -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "" @@ -8701,7 +8705,7 @@ msgid "Mode active" msgstr "" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "معلومات" @@ -8823,54 +8827,54 @@ msgid "Opened firewire card %d" msgstr "" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, c-format msgid "%s : parameters for %s" msgstr "" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." msgstr "" -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -8879,7 +8883,7 @@ "right or double clicking on it.\n" msgstr "" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -8887,14 +8891,14 @@ "Select an effect in FX stack first to view its parameters.\n" msgstr "" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" "No clips loaded.\n" msgstr "" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -8904,7 +8908,7 @@ "before inserting clips into the timeline." msgstr "" -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -8913,189 +8917,189 @@ "to apply compositors.\n" msgstr "" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" msgstr "" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" msgstr "" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr "" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 #, fuzzy msgid "Selected Clip" msgstr "ال_تحديد" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 msgid "_Adjust Start and End Points" msgstr "" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 msgid "_Edit/Encode in Clip Editor" msgstr "" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 #, fuzzy msgid "_Show Clip Information" msgstr "وتظهر معلوم_ات كليب" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 #, fuzzy msgid "_Close this Clip" msgstr "_إغلاق هذه القصاصات" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 msgid "Audio Mixer (ctrl-m)" msgstr "" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "" -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "" -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "" -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "" -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "" -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "" -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "" -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "" -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "" -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "احذف الصندوق" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "إحذف %s" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "" -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "" -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " "audio rate %d, audio sample size %d, %s.\n" msgstr "" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -9105,7 +9109,7 @@ "then load in the new set from the File menu.\n" msgstr "" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -9113,613 +9117,613 @@ "It cannot be loaded.\n" msgstr "" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "" -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "" -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "_فتح ملف اختيار..." -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "" -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "_الاستيراد من الأجهزة" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 #, fuzzy msgid "_Close the Selected Clip" msgstr "ال_تحديد" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 #, fuzzy msgid "_Save Layout as..." msgstr "_حفظ التخطيط" -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 msgid "_Load Layout..." msgstr "" -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 #, fuzzy msgid "_Wipe/Delete Layout..." msgstr "_تخطيط حذف" -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "" -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 msgid "Auto Load _Subtitles with Clips" msgstr "" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 msgid "_Adjust Selected Clip Start/End Points" msgstr "" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 #, fuzzy msgid "_Insert Selected Clip Audio" msgstr "اع_كس الاختيار" -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 #, fuzzy msgid "_Delete Selected Block" msgstr "ا_حذف التحديد" -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 msgid "_Jump to Previous Block Boundary" msgstr "" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 msgid "_Jump to Next Block Boundary" msgstr "" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 msgid "Clear _Marks from Timeline" msgstr "" -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 msgid "Ignore Selection Limits when Inserting" msgstr "" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 #, fuzzy msgid "Pla_y Selected Time Only" msgstr "اخت_يار اللعب" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 msgid "_Move Effects with Blocks" msgstr "" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 #, fuzzy msgid "Select _Autotransition Effect..." msgstr "حدد _تأثير آخر" -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 msgid "Crossfade Audio with Autotransition" msgstr "" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 #, fuzzy msgid "View/_Edit Selected Effect" msgstr "حدد _تأثير آخر" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 #, fuzzy msgid "_Delete Selected Effect" msgstr "حدد _تأثير آخر" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 msgid "Apply Effect to _Block..." msgstr "" -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 msgid "Apply Effect to _Region..." msgstr "" -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 msgid "Make _Backing Audio Current Track" msgstr "" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 msgid "_Split Current Track at Cursor" msgstr "" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 #, fuzzy msgid "_Split Selected Video Tracks" msgstr "أغاني مختارة والتصدير..." -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 msgid "Insert Gap in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 msgid "Insert Gap in Current Track/Selected Time" msgstr "" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 msgid "Close All _Gaps in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "ال_تحديد" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 #, fuzzy msgid "Select _All Video Tracks" msgstr "حدد كافة _إطارات" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 msgid "Select _No Video Tracks" msgstr "" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 #, fuzzy msgid "Select All _Time" msgstr "حدد كافة _إطارات" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 msgid "Select from _Zero Time" msgstr "" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 #, fuzzy msgid "Select to _End Time" msgstr "حدد _تأثير آخر" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "ا_نسخ..." -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 msgid "_Timecode to Region Start" msgstr "" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 msgid "_Timecode to Region End" msgstr "" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 msgid "_Region Start to Timecode" msgstr "" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 msgid "_Region End to Timecode" msgstr "" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 msgid "Select/Deselect Block at Current Track/Time" msgstr "" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 msgid "_Change Width, Height and Audio Values..." msgstr "" -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "ت_صيير" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 msgid "_Render All to New Clip" msgstr "" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 #, fuzzy msgid "Render _Video" msgstr "إعاده التشكيل" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 #, fuzzy msgid "Render _Audio" msgstr "إلحاق أغنية" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 msgid "_Normalise Rendered Audio" msgstr "" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 #, fuzzy msgid "_Pre-render Audio" msgstr "إلحاق أغنية" -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "_معاينة" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 msgid "Block _In/Out Points" msgstr "" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 msgid "_Effects at Current" msgstr "" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 #, fuzzy msgid "Audio Parameters" msgstr "الإطارات" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 msgid "Show Backing _Audio Track" msgstr "" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 msgid "Compact View" msgstr "" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 #, fuzzy msgid "Maximum Tracks to Display..." msgstr "الحد الأقصى لعدد من المسارات لعرض" -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 msgid "Scroll to Follow Playback" msgstr "" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 msgid "_Center on Cursor" msgstr "" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 msgid "_Zoom In" msgstr "" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 msgid "_Zoom Out" msgstr "" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 msgid "Multitrack _Details" msgstr "" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 msgid "_Show FRAME Events" msgstr "" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 msgid "_Show Multitrack Keys" msgstr "" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "بلغ عن عثرة" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 msgid "Insert With _Audio" msgstr "" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 #, fuzzy msgid "Select _Overlap" msgstr "ال_تحديد" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" msgstr "" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 msgid "Mouse Mode: _Move" msgstr "" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 msgid "Mouse Mode: _Select" msgstr "" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 msgid "Insert Mode: _Normal" msgstr "" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "_طبّق" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "" -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "" -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "التمرير" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" "Switched to Clip Edit mode\n" msgstr "" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr "" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr "" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr "" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 #, fuzzy msgid "Selected Effect" msgstr "حدد _تأثير آخر" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 msgid "_View/Edit this Effect" msgstr "" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 msgid "_View this Effect" msgstr "" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 #, fuzzy msgid "_Delete this Effect" msgstr "ا_حذف التحديد" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr "" -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "" -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" "Switched to Multitrack mode\n" msgstr "" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" "Nodes can be deleted." msgstr "" -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -9727,288 +9731,288 @@ "current time.\n" msgstr "" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." msgstr "" -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 #, fuzzy msgid "Selected Block/Frame" msgstr "حدد كافة _إطارات" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 #, fuzzy msgid "_Select this Block" msgstr "حدد كافة _إطارات" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 msgid "_Split Block Here" msgstr "" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 #, fuzzy msgid "List _Effects Here" msgstr "_العرف الأثر" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 #, fuzzy msgid "_Delete this Block" msgstr "احذف الصندوق" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 #, fuzzy msgid "_Insert Here" msgstr "_إدراج إطارات" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 #, fuzzy msgid "_Insert Audio Here" msgstr "_إدراج إطارات" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" msgstr "" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "حذف الحزم الغير مستخدمة" -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "_إيقاف مؤقت" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " "to %.4f\n" msgstr "" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" "selected.\n" msgstr "" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" msgstr "" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." msgstr "" -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." msgstr "" -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." msgstr "" -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" msgstr "" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" msgstr "" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" msgstr "" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "" -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "" -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" msgstr "" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 #, fuzzy msgid "Saving layout" msgstr "_حفظ التخطيط" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "إطارات" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" msgstr "" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -10016,74 +10020,74 @@ "Therefore it could not be loaded properly.\n" msgstr "" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" "Unable to load layout file %s\n" msgstr "" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "" -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "" -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 msgid "" "The current layout has changes which have not been saved.\n" "Are you sure you wish to wipe it ?\n" msgstr "" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 msgid "Multitrack Audio Mixer" msgstr "" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" msgstr "" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "" @@ -10109,7 +10113,7 @@ "Connection to jack audio was reset.\n" msgstr "" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10117,7 +10121,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10125,7 +10129,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:104 +#: src/pulse.c:105 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10133,27 +10137,27 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" msgstr "" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" msgstr "" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr ""
View file
LiVES-2.8.4.tar.bz2/po/ca.po -> LiVES-2.8.6.tar.bz2/po/ca.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: lives\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" "PO-Revision-Date: 2013-03-14 12:31+0000\n" "Last-Translator: Launchpad Translations Administrators <Unknown>\n" "Language-Team: Catalan <ca@li.org>\n" @@ -18,7 +18,7 @@ "X-Launchpad-Export-Date: 2013-03-28 10:41+0000\n" "X-Generator: Launchpad (build 16546)\n" -#: src/main.c:132 +#: src/main.c:125 msgid "" "Attention Translators !\n" "This message is intended for you, so please do not translate it.\n" @@ -27,22 +27,22 @@ "http://lives-video.com/TRANS-README.txt" msgstr "" -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "" -#: src/main.c:203 +#: src/main.c:197 #, fuzzy, c-format msgid "" "\n" @@ -56,7 +56,7 @@ "group_id=64341&atid=507139\n" "Gràcies. La recuperació ha de ser possible si es reinicia LiVES.\n" -#: src/main.c:205 +#: src/main.c:199 #, fuzzy, c-format msgid "" "\n" @@ -69,7 +69,7 @@ "Quan es notifiqui una falla, si us plau poseu les dades del vostre sistema " "operatiu, distribució i la versió de LIVES (" -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" @@ -77,7 +77,7 @@ "Tot seguit hi haurà alguna informació:\n" "\n" -#: src/main.c:210 +#: src/main.c:204 #, fuzzy msgid "" "Please try running LiVES with the -debug option to collect more " @@ -88,7 +88,7 @@ "informació.\n" "\n" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" @@ -98,90 +98,90 @@ "informació.\n" "\n" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "Grup de seguretat.\n" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "qualsevol" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "Cap" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "Recomanat" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "Espatllat" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "**El disseny actual**" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "Incorporat" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "Personalitzat" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "Comprova" -#: src/main.c:474 +#: src/main.c:460 #, fuzzy msgid "LiVES: - " msgstr "LiVES: - Insereix" -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "Redimensionat" -#: src/main.c:731 +#: src/main.c:708 #, fuzzy msgid "_Resize All Frames..." msgstr "reconfigureu totes les finestres" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "" -#: src/main.c:1122 +#: src/main.c:1094 #, fuzzy msgid "Background" msgstr "_Inici" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "Carregant connexió d'efectes reals" -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "Començant connexió de servidor d'audio jack..." -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "" -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "" -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -193,35 +193,35 @@ "Alternatively, try to start lives with either \"lives -jackopts 16\", or " msgstr "" -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "Començant servidor d'audio pulsant..." -#: src/main.c:1855 +#: src/main.c:1813 #, fuzzy, c-format msgid "%s...detected... " msgstr "mplayer...detectat..." -#: src/main.c:1856 +#: src/main.c:1814 #, fuzzy, c-format msgid "%s...NOT DETECTED... " msgstr "mplayer...NO S'HA DETECTAT..." -#: src/main.c:1867 +#: src/main.c:1824 #, fuzzy msgid "Checking optional dependencies: " msgstr "Comprovant dependències opcionals:" -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -232,68 +232,68 @@ "\n" "Administrador Finestra d'informes com \"%s\"; " -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "nombre de monitors detectat: %d\n" -#: src/main.c:1901 +#: src/main.c:1863 #, c-format msgid "Number of CPUs detected: %d " msgstr "" -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "" -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1927 +#: src/main.c:1889 #, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr "" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "Directori temporal és %s\n" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" "Many audio features will be unavailable.\n" msgstr "" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "Compilat amb suport per a jack, bé !\n" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "Compilat amb suport pulse audio, meravellós !\n" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" @@ -302,97 +302,97 @@ "Benvingut a LiVES versió %s.\n" "\n" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" "Startup syntax is: %s [opts] [filename [start_time] [frames]]\n" msgstr "" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "frames: nombre màxim de fotogrames per obrir\n" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "opts poden ser:\n" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "-help : mostra aquest text d'ajuda i sortir de\n" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "-noset : no carregueu cap conjunt en l'arrencada\n" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "-recover : càrrega de força de xoc de recuperació\n" -#: src/main.c:2593 +#: src/main.c:2545 msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "-nogui : no mostrar la interfície gràfica d'usuari\n" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "-startup-ce : començarà en mode d'imatge en l'editor\n" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "-startup-mt : començarà en la manera multipista\n" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" msgstr "" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "-nooscstart : no comenci oient OSC\n" -#: src/main.c:2605 +#: src/main.c:2557 #, fuzzy msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " @@ -402,45 +402,45 @@ "ser mplayer" #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr ", pulse" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr ", sox o jack\n" -#: src/main.c:2613 +#: src/main.c:2565 msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " "transport client,2 = jack transport master, 4 = start jack transport server, " "8 = pause audio when video paused,16 = start jack audio server] \n" msgstr "" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr " o sox\n" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" msgstr "" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "" "-debug : tractar d'accidents de depuració (requereix 'gdb' instal lat)\n" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "A partir GUI ..." -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -451,7 +451,7 @@ "(Maybe you need to change the value of <prefix_dir> in your %s file)\n" msgstr "" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -459,7 +459,7 @@ "Please make sure you have write access to %s and try again.\n" msgstr "" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -468,7 +468,7 @@ "before running LiVES.\n" msgstr "" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -478,7 +478,7 @@ "Please check the file permissions for this file and try again.\n" msgstr "" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -489,7 +489,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -497,7 +497,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2737 +#: src/main.c:2689 #, c-format msgid "" "\n" @@ -507,7 +507,7 @@ "%s" msgstr "" -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -518,56 +518,56 @@ "Thankyou.\n" msgstr "" -#: src/main.c:2751 +#: src/main.c:2703 msgid "" "\n" "LiVES currently requires 'mplayer', 'mplayer2' or 'sox' to function. Please " "install one or other of these, and try again.\n" msgstr "" -#: src/main.c:2756 +#: src/main.c:2708 msgid "" "\n" "LiVES currently requires both 'mplayer' or 'mplayer2' and 'sox' to function. " "Please install these, and try again.\n" msgstr "" -#: src/main.c:2769 +#: src/main.c:2721 msgid "" "\n" "LiVES was unable to locate 'mplayer','mplayer2' or 'mpv'. You may wish to " "install one of these to use LiVES more fully.\n" msgstr "" -#: src/main.c:2775 +#: src/main.c:2727 msgid "" "\n" "LiVES was unable to locate 'mplayer' or 'mplayer2'. You may wish to install " "one of these to use LiVES more fully.\n" msgstr "" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" "magick if you want to use rendered effects.\n" msgstr "" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " "image-magick if you want to use the merge function.\n" msgstr "" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " "should install 'sox'.\n" msgstr "" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -578,96 +578,96 @@ "You may need to change the value of <lib_dir> in %s\n" msgstr "" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "" -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "" #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "LiVES-%s: <N d'arxiu>" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "Reprodueix" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" msgstr "" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "Tancat el fitxer %s\n" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "_Desfés" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "_Refés" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "Vídeo" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "" -#: src/main.c:7078 +#: src/main.c:6973 msgid "" "\n" "\n" @@ -818,7 +818,7 @@ msgid "Use _mplayer2 audio player" msgstr "" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "_Següent" @@ -1024,51 +1024,51 @@ msgid "_Finish" msgstr "" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "" -#: src/interface.c:46 +#: src/interface.c:42 msgid "Apply _Deinterlace" msgstr "" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "" -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "Visualització prèvia" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "" -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "" -#: src/interface.c:122 +#: src/interface.c:113 msgid "Click here to _Preview the file" msgstr "" -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 msgid "Processing..." msgstr "" -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1082,8 +1082,8 @@ "\n" "Recordeu apagar els efectes (ctrl-0) després !" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" @@ -1091,172 +1091,177 @@ "\n" "Esperi" -#: src/interface.c:221 +#: src/interface.c:206 msgid "Show Details" msgstr "" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "_Suficient" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "_Previsualització" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "_Cancel·la" -#: src/interface.c:334 +#: src/interface.c:324 msgid "Multitrack Details" msgstr "" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "Formata" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "Mida del marc" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "Mida del fitxer" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "QPS" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "Marcs" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "Esdeveniments" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "Temps total" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "Àudio" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "" -#: src/interface.c:568 +#: src/interface.c:590 #, fuzzy msgid "Encoding Options" msgstr "Codificació" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." msgstr "" -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "Mantingui la configuració del _meu" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "_Tanca la finestra" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "_Desa en arxiu" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "Insereix" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "_Nombre de vegades per inserir" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "" -#: src/interface.c:833 +#: src/interface.c:846 +#, fuzzy +msgid "Insert _with silence" +msgstr "Insereix _amb el so" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "Insereix _amb el so" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "Insereix _sense so" -#: src/interface.c:924 +#: src/interface.c:937 #, fuzzy msgid "Open Selection" msgstr "LiVES: - De selecció obert" -#: src/interface.c:943 +#: src/interface.c:954 msgid "Selection start time (sec)" msgstr "" -#: src/interface.c:949 +#: src/interface.c:960 msgid "Number of frames to open" msgstr "" -#: src/interface.c:1023 +#: src/interface.c:1029 msgid "Open Location" msgstr "" -#: src/interface.c:1025 +#: src/interface.c:1031 msgid "Open Youtube Clip" msgstr "" -#: src/interface.c:1045 +#: src/interface.c:1050 msgid "" "\n" "\n" @@ -1266,7 +1271,7 @@ "\n" msgstr "" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1275,69 +1280,69 @@ "\n" msgstr "" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "URL : " -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "" -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "No enviï informació d'ample de banda" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "" "Proveu aquesta opció si vostè està tenint problemes per aconseguir un flux de" -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "" -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "" -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr "" -#: src/interface.c:1188 +#: src/interface.c:1189 #, fuzzy msgid "Rename Clip" msgstr "S'està girant" -#: src/interface.c:1190 +#: src/interface.c:1191 msgid "Enter Set Name to Save as" msgstr "" -#: src/interface.c:1192 +#: src/interface.c:1193 msgid "Enter a Set Name to Reload" msgstr "" -#: src/interface.c:1194 +#: src/interface.c:1195 #, fuzzy msgid "Choose a Working Directory" msgstr "LiVES: - Tria un directori de treball" -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 msgid "Rename Current Track" msgstr "" -#: src/interface.c:1198 +#: src/interface.c:1199 msgid "Enter a Name for Your Theme" msgstr "" -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1345,7 +1350,7 @@ "LiVES will remind you to save the clip set later when you try to exit.\n" msgstr "" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1365,330 +1370,330 @@ "This should be a directory with plenty of disk space available.\n" msgstr "" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "Nou nom " -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "" -#: src/interface.c:1257 +#: src/interface.c:1255 #, fuzzy msgid "Theme name " msgstr "Nou nom " -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "_Avançat" -#: src/interface.c:1437 +#: src/interface.c:1425 msgid "Select input device" msgstr "" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "" -#: src/interface.c:1517 +#: src/interface.c:1505 msgid "Load CD Track" msgstr "" -#: src/interface.c:1519 +#: src/interface.c:1507 msgid "Select DVD Title/Chapter" msgstr "" -#: src/interface.c:1521 +#: src/interface.c:1509 msgid "Select VCD Title" msgstr "" -#: src/interface.c:1523 +#: src/interface.c:1511 msgid "Change Maximum Visible Tracks" msgstr "" -#: src/interface.c:1525 +#: src/interface.c:1513 msgid "Device details" msgstr "" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "Capítol " -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "" -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "" -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "" -#: src/interface.c:1815 +#: src/interface.c:1778 #, fuzzy msgid "Fade Audio In" msgstr "Esvaeix" -#: src/interface.c:1817 +#: src/interface.c:1780 #, fuzzy msgid "Fade Audio Out" msgstr "Esvaeix" -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "" -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "primer" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "" -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "últim" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "segons." -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "selecció" -#: src/interface.c:1909 +#: src/interface.c:1865 msgid " (Optional)" msgstr "" -#: src/interface.c:1912 +#: src/interface.c:1868 #, fuzzy, c-format msgid "File Comments%s" msgstr "Comentaris : " -#: src/interface.c:1927 +#: src/interface.c:1882 #, fuzzy, c-format msgid "File Name: %s" msgstr "Títol/Nom : " -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "Títol/Nom : " -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "Autor/Artista : " -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "Comentaris : " -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "" -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "" -#: src/interface.c:2109 +#: src/interface.c:2058 #, c-format msgid "%sChoose a Device" msgstr "" -#: src/interface.c:2112 +#: src/interface.c:2061 #, fuzzy, c-format msgid "%sChoose a Directory" msgstr "LiVES: - Tria un directori de treball" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2410 +#: src/interface.c:2341 msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" "What do you wish to do ?" msgstr "" -#: src/interface.c:2417 +#: src/interface.c:2348 msgid "Cancel/Discard/Save" msgstr "" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "No feu cas dels canvis" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "_Guardar disseny" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" "Would you like to try and recover it ?\n" msgstr "" -#: src/interface.c:2527 +#: src/interface.c:2455 msgid "Disk Recovery Options" msgstr "" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "" -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "" -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1696,340 +1701,340 @@ "-----------------------\n" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "ctrl-left" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 #, fuzzy msgid "skip forwards\n" msgstr "_Salta" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "ctrl-down" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "ctrl-enter" msgstr "_Altra" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "reset frame rate\n" msgstr "Marcs" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "" -#: src/interface.c:2723 +#: src/interface.c:2642 msgid "reverse direction\n" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 msgid "ctrl-1" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "toggle real-time effect 1\n" msgstr "Carregant connexió d'efectes reals" -#: src/interface.c:2746 +#: src/interface.c:2665 msgid "ctrl-2" msgstr "" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "toggle real-time effect 2\n" msgstr "Carregant connexió d'efectes reals" -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "ctrl-0" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "real-time effects off\n" msgstr "" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "" -#: src/interface.c:2759 +#: src/interface.c:2678 msgid "grab keyboard for last activated effect\n" msgstr "" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2688 msgid "tab" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "" -#: src/interface.c:2785 +#: src/interface.c:2706 msgid "Other playback keys\n" msgstr "" -#: src/interface.c:2789 +#: src/interface.c:2710 #, fuzzy msgid "play all\n" msgstr "Reprodueix-ho tot" -#: src/interface.c:2792 +#: src/interface.c:2713 #, fuzzy msgid "play selection\n" msgstr "selecció" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "" -#: src/interface.c:2798 +#: src/interface.c:2719 #, fuzzy msgid "fullscreen\n" msgstr "Pantalla _completa" -#: src/interface.c:2801 +#: src/interface.c:2722 #, fuzzy msgid "separate window\n" msgstr "Tanca la _finestra" -#: src/interface.c:2804 +#: src/interface.c:2725 #, fuzzy msgid "double size\n" msgstr "Mida del fitxer" -#: src/interface.c:2807 +#: src/interface.c:2728 msgid "ping pong loops\n" msgstr "" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "move current track up\n" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "move current track down\n" msgstr "" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "" -#: src/interface.c:2849 +#: src/interface.c:2768 #, fuzzy msgid "select next clip\n" msgstr "_Selecció" -#: src/interface.c:2852 +#: src/interface.c:2771 msgid "select/deselect current track\n" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "zoom in\n" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "zoom out\n" msgstr "" -#: src/interface.c:2861 +#: src/interface.c:2780 msgid "make a mark on the timeline (during playback)\n" msgstr "" -#: src/interface.c:2864 +#: src/interface.c:2783 msgid "rewind to play start.\n" msgstr "" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "" -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "" -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "" -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -2037,16 +2042,16 @@ "the latest youtube-dl installed.\n" msgstr "" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, c-format msgid "Layouts were removed for set %s.\n" msgstr "" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "Aquest fitxer" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " @@ -2054,7 +2059,7 @@ ",\n" " - incloent-hi el disseny actual - " -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2064,7 +2069,7 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2074,14 +2079,14 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" "Really close it ?" msgstr "" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" @@ -2089,7 +2094,7 @@ "\n" "Arxiu de projecte no vàlid.\n" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2102,54 +2107,54 @@ "Once you have done this, you will be able to import the new project.\n" msgstr "" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "" -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "" -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 #, fuzzy msgid "Theme" msgstr "Nou nom " -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, c-format msgid "Exporting theme as %s..." msgstr "" -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, c-format msgid "Importing theme \"%s\" from %s..." msgstr "" -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, c-format msgid "Backup as %s File" msgstr "" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, c-format msgid "Restore %s File" msgstr "" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2157,101 +2162,101 @@ "Are you sure ?\n" msgstr "" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "" -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "" -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "" -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "" -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "" -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "" -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "Retalla" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 msgid "Pulling frames from clipboard" msgstr "" -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "" -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "" -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " "LiVES.\n" msgstr "" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2260,31 +2265,31 @@ "the 'Trim Audio' function from the Audio menu." msgstr "" -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." msgstr "" -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2292,7 +2297,7 @@ "Clipboard audio has been erased.\n" msgstr "" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2301,81 +2306,81 @@ "using unchanged audio ?\n" msgstr "" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "" -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "S'està inserint" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "" -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "" -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "S'està cancel·lant" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" "Are you sure ?" msgstr "" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "" -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "S'està suprimint" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "Suprimeix" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" @@ -2385,7 +2390,7 @@ "\n" "La selecció està bloquejat.\n" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2393,11 +2398,11 @@ "play.)\n" msgstr "" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2406,7 +2411,7 @@ "%s\n" msgstr "" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2415,7 +2420,7 @@ "The plugin may be broken or not installed correctly." msgstr "" -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2424,22 +2429,22 @@ "Please press 'Cancel' if that is not what you want.\n" msgstr "" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2447,24 +2452,24 @@ "Click OK to proceed.\n" msgstr "" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "" -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "" -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "" -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2472,68 +2477,68 @@ "Internal: %s (%d bpp) / %s\n" msgstr "" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." msgstr "" -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" "(%d virtual)" msgstr "" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" "(%d decoded)" msgstr "" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" " %.2f sec." msgstr "" -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" msgstr "" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" "%s %s" msgstr "" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2550,15 +2555,15 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n" msgstr "" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "" -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" "Launchpad Contributions:\n" @@ -2567,7 +2572,7 @@ " nitrofurano https://launchpad.net/~nitrofurano-3t\n" " salsaman https://launchpad.net/~salsaman" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, c-format msgid "" "LiVES Version %s\n" @@ -2581,14 +2586,14 @@ "Homepage: %s" msgstr "" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 msgid "" "\n" "\n" "You need to install mplayer or mplayer2 to be able to preview this file.\n" msgstr "" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 msgid "" "\n" "\n" @@ -2596,88 +2601,88 @@ "this file.\n" msgstr "" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" "%s\n" msgstr "" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 msgid "Encoder Debug Output" msgstr "" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "" -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 msgid "Load Subtitles" msgstr "" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 #, fuzzy msgid "Select Audio File" msgstr "" @@ -2685,7 +2690,7 @@ "\n" "La selecció està bloquejat.\n" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -2693,82 +2698,82 @@ "." msgstr "" -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "" -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "" -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "" -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 msgid "Layout Errors" msgstr "" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "Reprén" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "" -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "" -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "Mantén" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, c-format msgid "" "\n" @@ -2777,30 +2782,30 @@ "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "Cancel·la" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 #, fuzzy msgid "Selected Frame" msgstr "_Inici" -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 #, fuzzy msgid "_Save Frame as..." msgstr "_Inici" -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -2809,7 +2814,7 @@ "\n" msgstr "" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -2817,13 +2822,13 @@ "\n" msgstr "" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" msgstr "" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -2832,17 +2837,17 @@ "\n" msgstr "" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" msgstr "" -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -2852,19 +2857,19 @@ "(Default of %.3f frames per second will be used.)\n" msgstr "" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "" -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "" -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -2873,119 +2878,119 @@ "rate.\n" msgstr "" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "" -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "" -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 msgid "Append Audio File" msgstr "" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "" -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "" -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "" -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "" -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "" -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" "Are you sure ?" msgstr "" -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "" -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "" @@ -2998,877 +3003,877 @@ msgid "Merge Clipboard [ %d Frames ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "" -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "" -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "_Fitxer" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "" -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "" -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "" -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "" -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "" -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "" -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "" -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "" -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "" -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "" -#: src/gui.c:692 +#: src/gui.c:674 #, c-format msgid "_Backup Clip as .%s..." msgstr "" -#: src/gui.c:701 +#: src/gui.c:683 #, c-format msgid "_Restore Clip from .%s..." msgstr "" -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "_Edita" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "" -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "Enganxa com a _nou" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "" -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "_Suprimix la selecció" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "S_elecciona..." -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "" -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "_Inverteix la selecció" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "_Reprodueix" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "_Atura" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "Pantalla _completa" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "_Silenci" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "" -#: src/gui.c:1069 +#: src/gui.c:1045 msgid "Letterbox Mode" msgstr "" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "" -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "_Eines" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "" -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "" -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "" -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "_Utilitats" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "_Genera" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "" -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "" -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "_Preferències..." -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "_Àudio" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "" -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "" -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "" -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "" -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "" -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "" -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "" -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "" -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "" -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "" -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "" -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "" -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "" -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "" -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "" -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "" -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "" -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "_Informació" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "" -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "Ava_nçat" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "" -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "" -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "" -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "" -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "" -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "" -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "" -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "" -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "" -#: src/gui.c:1397 +#: src/gui.c:1371 msgid "Receive _LiVES Stream from..." msgstr "" -#: src/gui.c:1401 +#: src/gui.c:1375 msgid "_Send LiVES Stream to..." msgstr "" -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "" -#: src/gui.c:1426 +#: src/gui.c:1399 #, c-format msgid "_Import Project (.%s)..." msgstr "" -#: src/gui.c:1430 +#: src/gui.c:1403 #, c-format msgid "E_xport Project (.%s)..." msgstr "" -#: src/gui.c:1437 +#: src/gui.c:1409 #, c-format msgid "_Import Custom Theme (.%s)..." msgstr "" -#: src/gui.c:1442 +#: src/gui.c:1414 #, c-format msgid "E_xport Theme (.%s)..." msgstr "" -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "_VJ" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "" -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "" -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." msgstr "" -#: src/gui.c:1476 +#: src/gui.c:1448 msgid "_Reset All Playback Speeds and Positions" msgstr "" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "" -#: src/gui.c:1480 +#: src/gui.c:1452 msgid "_MIDI/Joystick Interface" msgstr "" -#: src/gui.c:1489 +#: src/gui.c:1461 msgid "_MIDI/Joystick Learner..." msgstr "" -#: src/gui.c:1493 +#: src/gui.c:1465 msgid "_Save Device Mapping..." msgstr "" -#: src/gui.c:1497 +#: src/gui.c:1469 msgid "_Load Device Mapping..." msgstr "" -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "_Joguines" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "_Cap" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "_Ajuda" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 msgid "_Donate to the Project !" msgstr "" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 msgid "_Email the Author" msgstr "" -#: src/gui.c:1547 +#: src/gui.c:1519 msgid "Report a _Bug" msgstr "" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 msgid "Suggest a _Feature" msgstr "" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 msgid "Assist with _Translating" msgstr "" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "_Quant a" -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "Volum" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." msgstr "" #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr "" -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr "" -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "_Lliure" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "_Inici" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "Arrere" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "Reprodueix-ho tot" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr "" -#: src/gui.c:3613 +#: src/gui.c:3553 #, fuzzy msgid "Streaming" msgstr "Somni" -#: src/gui.c:3615 +#: src/gui.c:3555 #, fuzzy, c-format msgid "Play Window%s" msgstr "_Tanca la finestra" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "" -#: src/gui.c:4199 +#: src/gui.c:4127 #, c-format msgid "'LiVES opened the file' '%s'" msgstr "" -#: src/gui.c:4220 +#: src/gui.c:4146 #, fuzzy, c-format msgid "'LiVES closed the file' '%s'" msgstr "Tancat el fitxer %s\n" @@ -3878,11 +3883,11 @@ msgid "Mapped to ctrl-%d" msgstr "" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "Efectes" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "" @@ -3896,11 +3901,11 @@ msgid "Select clip for %s\n" msgstr "" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "" @@ -3945,11 +3950,11 @@ msgid "%d bytes" msgstr "" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -3957,81 +3962,81 @@ "Switched to clip %s\n" msgstr "" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" "Switched to empty clip\n" msgstr "" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " "updated accordingly\n" msgstr "" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -4039,7 +4044,7 @@ "by another copy of LiVES.\n" msgstr "" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -4047,39 +4052,39 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2188 +#: src/utils.c:2207 #, c-format msgid "" "\n" "%s names may not be blank.\n" msgstr "" -#: src/utils.c:2196 +#: src/utils.c:2215 #, c-format msgid "" "\n" "%s names may not be longer than %d characters.\n" msgstr "" -#: src/utils.c:2204 +#: src/utils.c:2223 #, c-format msgid "" "\n" "%s names may not contain spaces or the characters%s.\n" msgstr "" -#: src/utils.c:2213 +#: src/utils.c:2232 #, c-format msgid "" "\n" "%s names may not start with a '.' or contain '..'\n" msgstr "" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4087,72 +4092,72 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "" -#: src/utils.c:3492 +#: src/utils.c:3548 msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "" -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4162,29 +4167,29 @@ "Overwrite ?\n" msgstr "" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "_Desfés %s" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "_Refés %s" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr "" -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr "" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4209,7 +4214,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr "" @@ -4310,7 +4315,7 @@ msgstr "" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "" @@ -4364,12 +4369,12 @@ msgid "Recording performance..." msgstr "" -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4378,21 +4383,21 @@ "and resize all frames to the current size.\n" msgstr "" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "Desconegut" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "Sense títol%d" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4400,13 +4405,13 @@ "%s\n" msgstr "" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" msgstr "" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4414,7 +4419,7 @@ "Bad things may happen with this clip.\n" msgstr "" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4422,73 +4427,73 @@ "Default can be set in Tools | Preferences | Misc.\n" msgstr "" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, c-format msgid " - Author: %s\n" msgstr "" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, c-format msgid " - Title: %s\n" msgstr "" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr "" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "" -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "" -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "" -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "S'està restaurant" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -4536,62 +4541,62 @@ msgid "Recovering files..." msgstr "" -#: src/dialogs.c:87 +#: src/dialogs.c:83 #, fuzzy msgid "Show affeced _layouts" msgstr "_Guardar disseny" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" msgstr "" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr "" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 #, fuzzy msgid "Warning !" msgstr "Advertències" -#: src/dialogs.c:198 +#: src/dialogs.c:186 #, fuzzy msgid "Error !" msgstr "Falla" -#: src/dialogs.c:208 +#: src/dialogs.c:196 #, fuzzy msgid "Information" msgstr "LiVES: - Insereix" -#: src/dialogs.c:234 +#: src/dialogs.c:221 msgid "Question" msgstr "" -#: src/dialogs.c:248 +#: src/dialogs.c:235 #, fuzzy msgid "File Error" msgstr "Falla" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "Mostra _Detalls" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -4602,7 +4607,7 @@ "(Disk warning levels can be configured in Preferences.)" msgstr "" -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -4614,11 +4619,11 @@ "Preferences.)" msgstr "" -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "" -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -4626,46 +4631,46 @@ "Please try closing some other applications first.\n" msgstr "" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "" -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" "%s%d%% done. Time remaining: %u sec%s\n" msgstr "" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" "%d/%d frames opened. Time remaining %u sec.\n" msgstr "" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" "%d/%d frames opened.\n" msgstr "" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" "%d frames opened.\n" msgstr "" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" "Time remaining: %d sec" msgstr "" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -4673,7 +4678,7 @@ "Please close a file and then try again." msgstr "" -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -4685,47 +4690,47 @@ "Please make sure you can write to this directory." msgstr "" -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 msgid "" "\n" "LiVES currently requires either 'mplayer', 'mplayer2', or 'sox' to function. " "Please install one or other of these, and try again.\n" msgstr "" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 msgid "" "\n" "This function requires either mplayer or mplayer2 to operate.\n" "You may wish to install one or other of these and try again.\n" msgstr "" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 msgid "" "\n" "This function requires either mplayer, mplayer2 or mpv to operate.\n" "You may wish to install one or other of these and try again.\n" msgstr "" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" "Or switch to another encoder format in Tools | Preferences | Encoding\n" msgstr "" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -4733,19 +4738,19 @@ "Please set the audio codec in Tools|Preferences|Encoding\n" msgstr "" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -4753,83 +4758,83 @@ "Due to restrictions in the %s format\n" msgstr "" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" msgstr "" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr "" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr "" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr "" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr "" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" msgstr "" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -4838,14 +4843,14 @@ "\n" msgstr "" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" "\n" msgstr "" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -4854,7 +4859,7 @@ "Try recording for just a selection of the file." msgstr "" -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -4865,7 +4870,7 @@ "Please press Cancel to abort the insert, or OK to continue." msgstr "" -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -4878,18 +4883,18 @@ "click Cancel." msgstr "" -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " "in your %s file" msgstr "" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -4900,25 +4905,25 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 msgid "" "Sorry, unknown audio type.\n" "\n" " (Filenames must end in" msgstr "" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" "(They will not be usable without the set).\n" msgstr "" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -4927,7 +4932,7 @@ "Click Cancel to pick a new name.\n" msgstr "" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -4935,7 +4940,7 @@ "." msgstr "" -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -4943,7 +4948,7 @@ "." msgstr "" -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -4954,7 +4959,7 @@ "Otherwise click Cancel to skip loading this file.\n" msgstr "" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -4964,7 +4969,7 @@ "The clip could not be loaded.\n" msgstr "" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -4972,7 +4977,7 @@ "Alternately, select a different audio player in Preferences.\n" msgstr "" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -4981,13 +4986,13 @@ "Automatic jack startup will be disabled now.\n" msgstr "" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" msgstr "" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -4998,13 +5003,13 @@ "%s\n" msgstr "" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" msgstr "" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -5014,7 +5019,7 @@ "It is recommended to increase it to at least %d MB" msgstr "" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -5023,7 +5028,7 @@ "Do you wish to delete them ?\n" msgstr "" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -5031,7 +5036,7 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -5039,81 +5044,81 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" msgstr "" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" msgstr "" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" "You can set this in Tools|Preferences|Playback." msgstr "" -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" "Should I try to repair the disk copy of the layout ?\n" msgstr "" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" msgstr "" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" "Audio rate must be greater than 0.\n" msgstr "" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5121,14 +5126,14 @@ "Are you sure you wish to view it ?\n" msgstr "" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" "You must install 'dvgrab' to use this function.\n" msgstr "" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5137,25 +5142,25 @@ "You may need to select one of these in Tools/Preferences/Playback.\n" msgstr "" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" msgstr "" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5164,33 +5169,33 @@ "echo %d > /proc/sys/net/core/rmem_max\n" msgstr "" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "fet.\n" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -5200,7 +5205,7 @@ "%s%s%s" msgstr "" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -5210,7 +5215,7 @@ "%s" msgstr "" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -5220,7 +5225,7 @@ "%s" msgstr "" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -5229,7 +5234,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -5239,7 +5244,7 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -5248,7 +5253,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -5258,12 +5263,12 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "" -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -5272,7 +5277,7 @@ "Please check your system for errors.\n" msgstr "" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -5281,7 +5286,7 @@ "Please check the file permissions and try again." msgstr "" -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -5290,7 +5295,7 @@ "Please check the directory permissions and try again." msgstr "" -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, c-format msgid "" "\n" @@ -5298,14 +5303,14 @@ "%s\n" msgstr "" -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -5313,13 +5318,13 @@ "Please select another encoder from the list.\n" msgstr "" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" msgstr "" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -5329,27 +5334,27 @@ "- Check if the device actually exists.\n" msgstr "" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" "Do you wish to overwrite the existing subtitles ?\n" msgstr "" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 msgid "" "\n" "LiVES currently only supports subtitles of type" msgstr "" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -5358,14 +5363,14 @@ "or OK to continue and save as type \"%s\"\n" msgstr "" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" "(If unsure, click Yes)\n" msgstr "" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -5376,19 +5381,19 @@ "." msgstr "" -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" msgstr "" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" msgstr "" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -5396,7 +5401,7 @@ "DO NOT SHUT DOWN OR CLOSE LIVES !\n" msgstr "" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, c-format msgid "" "\n" @@ -5404,14 +5409,14 @@ "The theme could not be loaded correctly.\n" msgstr "" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" "Please check the spelling of the set name and try again.\n" msgstr "" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -5420,7 +5425,7 @@ "directory. Would you like me to do this (recommended) ?" msgstr "" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -5432,7 +5437,7 @@ msgstr "" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -5441,38 +5446,38 @@ "\n" msgstr "" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" "Consult your package distributor.\n" msgstr "" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" msgstr "" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, c-format msgid "" "\n" @@ -5481,7 +5486,7 @@ "(Theme name not found).\n" msgstr "" -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -5490,7 +5495,7 @@ "already exists. Would you like to overwrite it ?\n" msgstr "" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -5631,7 +5636,7 @@ msgid "Video only Transitions" msgstr "" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "" @@ -5639,7 +5644,7 @@ msgid "Audio only Transitions" msgstr "" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "àudio" @@ -5683,7 +5688,7 @@ msgid "Audio Analysers" msgstr "" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "desconegut" @@ -5738,360 +5743,360 @@ "No frames were generated.\n" msgstr "" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 #, fuzzy msgid "Invalid element" msgstr "Paràmetre no vàlid" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 #, fuzzy msgid "Invalid property" msgstr "Paràmetre no vàlid" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 msgid "Invalid plugin" msgstr "" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 #, fuzzy msgid "No error" msgstr "Falla" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 msgid "integer" msgstr "" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 msgid "string" msgstr "" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 msgid "pointer" msgstr "" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" "Error was: %s\n" msgstr "" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr "" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, c-format msgid "Successfully loaded %d compound filters\n" msgstr "" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, c-format msgid "Failed to start generator %s (%s)\n" msgstr "" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 msgid "Autoscale" msgstr "" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 #, fuzzy msgid "Delete this connection" msgstr "_Suprimix la selecció" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, c-format msgid "%s - Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, c-format msgid "%s - Parameter Data Connections" msgstr "" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 msgid "Parameter and Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 msgid "Auto Connect Channels" msgstr "" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 msgid "Auto Connect Parameters" msgstr "" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "" -#: src/framedraw.c:241 +#: src/framedraw.c:242 msgid "_Frame" msgstr "" @@ -6135,40 +6140,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "A_mplada" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "A_lçada" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "" -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -6234,32 +6239,32 @@ "\n" msgstr "" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "" -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "_FPS" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -6268,7 +6273,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -6278,31 +6283,31 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" "Error was: %s\n" msgstr "" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " "***\n" msgstr "" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -6311,7 +6316,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -6320,7 +6325,7 @@ "or switch to another plugin using Tools|Preferences|Encoding\n" msgstr "" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, c-format msgid "" "\n" @@ -6328,12 +6333,12 @@ "No decoders found in %s !\n" msgstr "" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, fuzzy, c-format msgid " using %s" msgstr "S'està obrint %s" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -6342,7 +6347,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -6352,25 +6357,25 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "" -#: src/plugins.c:2556 +#: src/plugins.c:2550 #, fuzzy msgid "Decoder Plugins" msgstr "S'està descodificant" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "" @@ -6569,20 +6574,20 @@ msgid "Move _Down" msgstr "Mou a_vall" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 #, fuzzy msgid "RFX Properties" msgstr "_Propietats..." -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -6591,7 +6596,7 @@ "\n" msgstr "" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -6599,219 +6604,219 @@ "Please check the trigger code.\n" msgstr "" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 msgid "New RFX Parameter" msgstr "" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 msgid "Edit RFX Parameter" msgstr "" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "" -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "" -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "" -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." msgstr "" -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "" -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "" -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "" -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "" -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "" -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "" -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "" -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "" -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "" -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr "" -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "" -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 msgid "_Wrap value" msgstr "" -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "" -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "" -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "" -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "" -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "" -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 msgid "New RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 msgid "Edit RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "" -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "" -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "" -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "" -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "" -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "" -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "" -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 msgid "New RFX Trigger" msgstr "" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 msgid "Edit RFX Trigger" msgstr "" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "" -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 msgid "Pre Loop Code" msgstr "" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 msgid "Loop Code" msgstr "" -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 msgid "Post Loop Code" msgstr "" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, c-format msgid "Default text (max length %d)" msgstr "" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 msgid "Enter values, one per line" msgstr "" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" "Name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" "Name must not contain spaces.\n" msgstr "" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" "Menu text must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" "Action description must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" "Author must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -6819,28 +6824,28 @@ "Name must be unique.\n" msgstr "" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" "Loop code should not be blank.\n" msgstr "" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" "Trigger code should not be blank for a utility.\n" msgstr "" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" "Parameter name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -6849,41 +6854,41 @@ "\n" msgstr "" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "" -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -6893,27 +6898,27 @@ "\n" msgstr "" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "" -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "" -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "" -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "" -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -6922,7 +6927,7 @@ "Please check this program is in your path and executable.\n" msgstr "" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -6932,12 +6937,12 @@ "\n" msgstr "" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "" -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -6947,7 +6952,7 @@ "Error code was %d\n" msgstr "" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -6957,12 +6962,12 @@ "Please delete it first, or rename the test script.\n" msgstr "" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "" -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -6973,20 +6978,20 @@ "Return code was %d (%s)\n" msgstr "" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 msgid "Export Script" msgstr "" -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "" -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 msgid "Import Script" msgstr "" -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -6996,43 +7001,43 @@ "Please delete it first, or rename the import script.\n" msgstr "" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 msgid "Copy RFX Script" msgstr "" -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "" -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr "" -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 msgid "Rename Test RFX Script" msgstr "" -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "" -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 msgid "RFX Script Name" msgstr "" -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "" -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "" -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "" -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -7040,12 +7045,12 @@ "Script name must be unique.\n" msgstr "" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "" -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -7056,25 +7061,25 @@ "Return code was %d\n" msgstr "" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 msgid "Applying Current Real Time Effects to" msgstr "" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "" -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "" -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -7082,7 +7087,7 @@ "full screen, separate window (fs) mode\n" msgstr "" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -7090,7 +7095,7 @@ "(Free space = UNKNOWN)" msgstr "" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -7099,14 +7104,14 @@ "(Free space = %s)" msgstr "" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" "It should be in a partition with plenty of free disk space.\n" msgstr "" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7117,7 +7122,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7127,7 +7132,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1193 +#: src/preferences.c:1163 msgid "" "You have chosen to change the working directory.\n" "Please make sure you have no other copies of LiVES open.\n" @@ -7139,7 +7144,7 @@ "setting." msgstr "" -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, c-format msgid "" "\n" @@ -7148,13 +7153,13 @@ "See %s\n" msgstr "" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" msgstr "" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, c-format msgid "" "\n" @@ -7163,918 +7168,918 @@ "See %s\n" msgstr "" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "" -#: src/preferences.c:2468 +#: src/preferences.c:2418 #, fuzzy msgid "Preferences" msgstr "_Preferències..." -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "" -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr "" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr "" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." msgstr "" -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "IGU" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr "" -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "segons" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "_Mai" -#: src/preferences.c:2872 +#: src/preferences.c:2757 msgid "Maximum number of visible tracks" msgstr "" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "" -#: src/preferences.c:2925 +#: src/preferences.c:2804 msgid "Video open command (fallback)" msgstr "" -#: src/preferences.c:2935 +#: src/preferences.c:2811 msgid "Fallback image format" msgstr "" -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "_jpeg" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "_png" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "" -#: src/preferences.c:2964 +#: src/preferences.c:2832 msgid "Open/render compression" msgstr "" -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr "" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "" -#: src/preferences.c:2995 +#: src/preferences.c:2856 msgid "Automatic trimming / padding of audio when possible" msgstr "" -#: src/preferences.c:2997 +#: src/preferences.c:2858 msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "S'està descodificant" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "VÍDEO" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "_Connectors" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "" -#: src/preferences.c:3269 +#: src/preferences.c:3110 msgid "Source:" msgstr "" -#: src/preferences.c:3273 +#: src/preferences.c:3114 msgid "_Internal" msgstr "" -#: src/preferences.c:3278 +#: src/preferences.c:3119 msgid "_External (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "Reproducció" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" msgstr "" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr "" -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "Enregistrament" -#: src/preferences.c:3454 +#: src/preferences.c:3273 msgid "You can also change these values when encoding a clip" msgstr "" -#: src/preferences.c:3466 +#: src/preferences.c:3285 msgid "Encoder" msgstr "" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "Còdec d'Àudio" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "Codificació" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." msgstr "" -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr "" -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr "" -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr "" -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr "" -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr "" -#: src/preferences.c:3649 +#: src/preferences.c:3461 msgid " Working directory (do not remove) " msgstr "" -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "" -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "" -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "Directoris" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "" -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr "" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "" -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" msgstr "" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "" -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr " MB" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "" -#: src/preferences.c:3872 +#: src/preferences.c:3659 msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " "when LiVES is started." msgstr "" -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "" -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "" -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "" -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "" -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "" -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "" -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "" -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "" -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "" -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "" -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "" -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "" -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "" -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "" -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." msgstr "" -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "" -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "" -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "" -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "" -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "" -#: src/preferences.c:4113 +#: src/preferences.c:3865 msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "" -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "Advertències" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "" -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "" -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "" -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "Miscelànea" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "" -#: src/preferences.c:4242 +#: src/preferences.c:3977 msgid "Main Theme Details" msgstr "" -#: src/preferences.c:4254 +#: src/preferences.c:3988 #, fuzzy msgid " _Foreground Color" msgstr "_Inici" -#: src/preferences.c:4273 +#: src/preferences.c:4007 #, fuzzy msgid " _Background Color" msgstr "_Inici" -#: src/preferences.c:4291 +#: src/preferences.c:4026 #, fuzzy msgid "_Alt Foreground Color" msgstr "_Inici" -#: src/preferences.c:4309 +#: src/preferences.c:4044 #, fuzzy msgid "_Alt Background Color" msgstr "_Inici" -#: src/preferences.c:4327 +#: src/preferences.c:4062 msgid " Info _Text Color" msgstr "" -#: src/preferences.c:4346 +#: src/preferences.c:4081 msgid " Info _Base Color" msgstr "" -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "" -#: src/preferences.c:4365 +#: src/preferences.c:4100 msgid "Affects some contrast details of the timeline" msgstr "" -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "" -#: src/preferences.c:4398 +#: src/preferences.c:4132 #, fuzzy msgid "Frame blank image" msgstr "fotogrames" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "" -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4474 +#: src/preferences.c:4203 msgid "Track background (multitrack)" msgstr "" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "" -#: src/preferences.c:4529 +#: src/preferences.c:4258 msgid "Timeline selection (multitrack)" msgstr "" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "" -#: src/preferences.c:4553 +#: src/preferences.c:4282 msgid "Timecode foreground (multitrack)" msgstr "" -#: src/preferences.c:4565 +#: src/preferences.c:4293 #, fuzzy msgid "Frame surround" msgstr "segons" -#: src/preferences.c:4582 +#: src/preferences.c:4306 #, fuzzy msgid "Themes/Colors" msgstr "Temes" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "" -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "" -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" msgstr "" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" msgstr "" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "" -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "Avançat" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." msgstr "" -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "" -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -8082,41 +8087,41 @@ "Click OK to continue.\n" msgstr "" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." msgstr "" -#: src/preferences.c:5525 +#: src/preferences.c:5205 msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "" -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "" -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "" @@ -8139,156 +8144,156 @@ msgid "Resample/Resize" msgstr "" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" "New rate must be greater than 0\n" msgstr "" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "" -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "" -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "Remostreja" -#: src/resample.c:1208 +#: src/resample.c:1209 msgid "New Clip Audio" msgstr "" -#: src/resample.c:1210 +#: src/resample.c:1211 msgid "External Clip Settings" msgstr "" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "Actual" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "" -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 msgid "Channels" msgstr "" -#: src/resample.c:1256 +#: src/resample.c:1257 msgid "Sample Size " msgstr "" -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "Sense signar" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "" -#: src/resample.c:1322 +#: src/resample.c:1323 #, fuzzy msgid "New Audio Details" msgstr "Mostra _Detalls" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "Nou" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "" -#: src/resample.c:1369 +#: src/resample.c:1370 msgid "_Channels" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "_Sample Size" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "Sample Size" msgstr "" -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "" -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "" -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr "" -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr "" -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr "" -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "Il·limitat" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "" -#: src/resample.c:1635 +#: src/resample.c:1636 msgid "Change Playback Speed" msgstr "" -#: src/resample.c:1637 +#: src/resample.c:1638 #, fuzzy msgid "Resample Video" msgstr "Remostreja" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -8299,7 +8304,7 @@ "in _frames per second" msgstr "" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -8310,80 +8315,80 @@ "in frames per second" msgstr "" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" "LiVES was unable to reorder the frames." msgstr "" -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "" @@ -8613,7 +8618,7 @@ msgid "Mode active" msgstr "" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "Informació" @@ -8735,54 +8740,54 @@ msgid "Opened firewire card %d" msgstr "" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, c-format msgid "%s : parameters for %s" msgstr "" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." msgstr "" -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -8791,7 +8796,7 @@ "right or double clicking on it.\n" msgstr "" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -8799,14 +8804,14 @@ "Select an effect in FX stack first to view its parameters.\n" msgstr "" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" "No clips loaded.\n" msgstr "" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -8816,7 +8821,7 @@ "before inserting clips into the timeline." msgstr "" -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -8825,189 +8830,189 @@ "to apply compositors.\n" msgstr "" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" msgstr "" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" msgstr "" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr "" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 #, fuzzy msgid "Selected Clip" msgstr "_Selecció" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 msgid "_Adjust Start and End Points" msgstr "" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 msgid "_Edit/Encode in Clip Editor" msgstr "" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 #, fuzzy msgid "_Show Clip Information" msgstr "LiVES: - Insereix" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 msgid "_Close this Clip" msgstr "" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 #, fuzzy msgid "Audio Mixer (ctrl-m)" msgstr "Mescladors d'àudio" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "" -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "" -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "" -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "" -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "" -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "" -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "" -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "" -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "" -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "Tapa els forats" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "Suprimeix el bloc" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "Suprimeix %s" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "" -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "" -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " "audio rate %d, audio sample size %d, %s.\n" msgstr "" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -9017,7 +9022,7 @@ "then load in the new set from the File menu.\n" msgstr "" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -9025,205 +9030,205 @@ "It cannot be loaded.\n" msgstr "" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "" -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "" -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "" -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "" -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 #, fuzzy msgid "_Close the Selected Clip" msgstr "_Selecció" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 #, fuzzy msgid "_Save Layout as..." msgstr "_Guardar disseny" -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 msgid "_Load Layout..." msgstr "" -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 msgid "_Wipe/Delete Layout..." msgstr "" -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "" -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 msgid "Auto Load _Subtitles with Clips" msgstr "" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 msgid "_Adjust Selected Clip Start/End Points" msgstr "" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 #, fuzzy msgid "_Insert Selected Clip Audio" msgstr "_Inverteix la selecció" -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 #, fuzzy msgid "_Delete Selected Block" msgstr "_Suprimix la selecció" -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 msgid "_Jump to Previous Block Boundary" msgstr "" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 msgid "_Jump to Next Block Boundary" msgstr "" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 msgid "Clear _Marks from Timeline" msgstr "" -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 msgid "Ignore Selection Limits when Inserting" msgstr "" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 msgid "Pla_y Selected Time Only" msgstr "" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 msgid "_Move Effects with Blocks" msgstr "" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 msgid "Select _Autotransition Effect..." msgstr "" -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 msgid "Crossfade Audio with Autotransition" msgstr "" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 msgid "View/_Edit Selected Effect" msgstr "" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 #, fuzzy msgid "_Delete Selected Effect" msgstr "_Suprimix la selecció" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 msgid "Apply Effect to _Block..." msgstr "" -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 msgid "Apply Effect to _Region..." msgstr "" -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 msgid "Make _Backing Audio Current Track" msgstr "" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 msgid "_Split Current Track at Cursor" msgstr "" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 msgid "_Split Selected Video Tracks" msgstr "" -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 msgid "Insert Gap in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 msgid "Insert Gap in Current Track/Selected Time" msgstr "" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 msgid "Close All _Gaps in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "_Selecció" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 msgid "Select _All Video Tracks" msgstr "" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 msgid "Select _No Video Tracks" msgstr "" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 #, fuzzy msgid "Select All _Time" msgstr "" @@ -9231,11 +9236,11 @@ "\n" "La selecció està bloquejat.\n" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 msgid "Select from _Zero Time" msgstr "" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 #, fuzzy msgid "Select to _End Time" msgstr "" @@ -9243,394 +9248,394 @@ "\n" "La selecció està bloquejat.\n" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "_Copia..." -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 msgid "_Timecode to Region Start" msgstr "" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 msgid "_Timecode to Region End" msgstr "" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 msgid "_Region Start to Timecode" msgstr "" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 msgid "_Region End to Timecode" msgstr "" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 msgid "Select/Deselect Block at Current Track/Time" msgstr "" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 msgid "_Change Width, Height and Audio Values..." msgstr "" -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "_Renderitza" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 msgid "_Render All to New Clip" msgstr "" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 #, fuzzy msgid "Render _Video" msgstr "Remostreja" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 #, fuzzy msgid "Render _Audio" msgstr "_Àudio" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 msgid "_Normalise Rendered Audio" msgstr "" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 msgid "_Pre-render Audio" msgstr "" -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "_Visualitza" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 msgid "Block _In/Out Points" msgstr "" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 msgid "_Effects at Current" msgstr "" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 #, fuzzy msgid "Audio Parameters" msgstr "Marcs" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 msgid "Show Backing _Audio Track" msgstr "" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 #, fuzzy msgid "Compact View" msgstr "Visualització compacta" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 msgid "Maximum Tracks to Display..." msgstr "" -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 msgid "Scroll to Follow Playback" msgstr "" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 msgid "_Center on Cursor" msgstr "" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 msgid "_Zoom In" msgstr "" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 msgid "_Zoom Out" msgstr "" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 msgid "Multitrack _Details" msgstr "" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 msgid "_Show FRAME Events" msgstr "" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 msgid "_Show Multitrack Keys" msgstr "" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 #, fuzzy msgid "Insert With _Audio" msgstr "Insereix _amb el so" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 #, fuzzy msgid "Select _Overlap" msgstr "_Selecció" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" msgstr "" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 msgid "Mouse Mode: _Move" msgstr "" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 msgid "Mouse Mode: _Select" msgstr "" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 msgid "Insert Mode: _Normal" msgstr "" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "_Aplica" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "" -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "" -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "Desplaçament" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" "Switched to Clip Edit mode\n" msgstr "" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr "" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr "" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr " %s" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 msgid "Selected Effect" msgstr "" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 msgid "_View/Edit this Effect" msgstr "" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 msgid "_View this Effect" msgstr "" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 #, fuzzy msgid "_Delete this Effect" msgstr "_Suprimix la selecció" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr "" -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "" -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" "Switched to Multitrack mode\n" msgstr "" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" "Nodes can be deleted." msgstr "" -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "%s a %s" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -9638,32 +9643,32 @@ "current time.\n" msgstr "" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." msgstr "" -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 #, fuzzy msgid "Selected Block/Frame" msgstr "Suprimeix el bloc" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 #, fuzzy msgid "_Select this Block" msgstr "" @@ -9671,256 +9676,256 @@ "\n" "La selecció està bloquejat.\n" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 msgid "_Split Block Here" msgstr "" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 msgid "List _Effects Here" msgstr "" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 #, fuzzy msgid "_Delete this Block" msgstr "Suprimeix el bloc" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 #, fuzzy msgid "_Insert Here" msgstr "Insereix" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 msgid "_Insert Audio Here" msgstr "" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" msgstr "" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "" -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "_Pausa" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " "to %.4f\n" msgstr "" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" "selected.\n" msgstr "" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" msgstr "" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." msgstr "" -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." msgstr "" -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." msgstr "" -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" msgstr "" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" msgstr "" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" msgstr "" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "" -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "" -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" msgstr "" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 #, fuzzy msgid "Saving layout" msgstr "_Guardar disseny" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "fotogrames" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" msgstr "" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -9928,75 +9933,75 @@ "Therefore it could not be loaded properly.\n" msgstr "" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" "Unable to load layout file %s\n" msgstr "" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "" -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "" -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 msgid "" "The current layout has changes which have not been saved.\n" "Are you sure you wish to wipe it ?\n" msgstr "" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 #, fuzzy msgid "Multitrack Audio Mixer" msgstr "Mescladors d'àudio" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" msgstr "" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "" @@ -10022,7 +10027,7 @@ "Connection to jack audio was reset.\n" msgstr "" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10030,7 +10035,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10038,7 +10043,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:104 +#: src/pulse.c:105 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10046,27 +10051,27 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" msgstr "" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" msgstr "" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr ""
View file
LiVES-2.8.4.tar.bz2/po/cs.po -> LiVES-2.8.6.tar.bz2/po/cs.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: LiVEScz\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" "PO-Revision-Date: 2013-03-14 12:31+0000\n" "Last-Translator: Launchpad Translations Administrators <Unknown>\n" "Language-Team: <martin@svobodicz.com, ales@mur.at>\n" @@ -20,7 +20,7 @@ "X-Poedit-Country: CZECH REPUBLIC\n" "X-Poedit-Language: Czech\n" -#: src/main.c:132 +#: src/main.c:125 msgid "" "Attention Translators !\n" "This message is intended for you, so please do not translate it.\n" @@ -29,22 +29,22 @@ "http://lives-video.com/TRANS-README.txt" msgstr "" -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "" -#: src/main.c:203 +#: src/main.c:197 #, fuzzy, c-format msgid "" "\n" @@ -58,7 +58,7 @@ "group_id=64341&atid=507139\n" "Dzięki. Odzyskiwanie powinno być możliwe po uruchomieniu LiVES.\n" -#: src/main.c:205 +#: src/main.c:199 #, fuzzy, c-format msgid "" "\n" @@ -71,7 +71,7 @@ "Przy zgłaszaniu awarii, należy podać szczegółowe informacje na temat systemu " "operacyjnego, dystrybucję i wersję LiVES (" -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" @@ -79,104 +79,104 @@ "oraz wszelkie informacje przedstawione poniżej:\n" "\n" -#: src/main.c:210 +#: src/main.c:204 msgid "" "Please try running LiVES with the -debug option to collect more " "information.\n" "\n" msgstr "" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" "\n" msgstr "" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "Zachování nastavení.\n" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "Libovolný" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "Žádný" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "doporučeno" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "zakázáno!" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "**Bieżący układ**" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "Vestavěno" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "Vlastní" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "Test" -#: src/main.c:474 +#: src/main.c:460 #, fuzzy msgid "LiVES: - " msgstr "LiVES: - Sloučit" -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "Měním velikost" -#: src/main.c:731 +#: src/main.c:708 #, fuzzy msgid "_Resize All Frames..." msgstr "Změnit velikost všech _snímků" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "" -#: src/main.c:1122 +#: src/main.c:1094 #, fuzzy msgid "Background" msgstr "_Prázdné pozadí" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "Načítám pluginy pro efekty v reálném času..." -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "Spouštím zvukový server JACK..." -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "" -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "" -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -188,35 +188,35 @@ "Alternatively, try to start lives with either \"lives -jackopts 16\", or " msgstr "" -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "" -#: src/main.c:1855 +#: src/main.c:1813 #, fuzzy, c-format msgid "%s...detected... " msgstr "mplayer... nalezen..." -#: src/main.c:1856 +#: src/main.c:1814 #, fuzzy, c-format msgid "%s...NOT DETECTED... " msgstr "mplayer... NENALEZEN..." -#: src/main.c:1867 +#: src/main.c:1824 #, fuzzy msgid "Checking optional dependencies: " msgstr "Kontrola dodatečných závislostí:" -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -227,68 +227,68 @@ "\n" "Správcem oken je \"%s\"; " -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "počet nalezených monitorů: %d\n" -#: src/main.c:1901 +#: src/main.c:1863 #, c-format msgid "Number of CPUs detected: %d " msgstr "" -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "malý endian" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "velký endian" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "" -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1927 +#: src/main.c:1889 #, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr "" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "Složka pro dočasné soubory je %s\n" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" "Many audio features will be unavailable.\n" msgstr "" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "Zkompilováno s podporou Jacku, dobrá práce!\n" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "Kompilován s podporou pulse audio, skvělé !\n" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" @@ -297,7 +297,7 @@ "Vítejte v LiVES verze %s.\n" "\n" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" @@ -306,90 +306,90 @@ "\n" "Startovací syntaxe je: %s [opts] [filename [start_time] [frames]]\n" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "Kde: název souboru je název media souboru nebo záložního souboru.\n" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "počáteční _čas : čas do spuštění souboru ve vteřinách\n" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "snímků : maximální počet snímků, které lze otevřít\n" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "opts může být:\n" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "-help : zobrazit tuto nápovědu a ukončit\n" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "-set <setname> : automaticky otevřít sestavu klipu\n" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "-noset : při spuštění nenahrávat sestavu\n" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "-norecover : nenahrávat havarijní zálohu\n" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "-recover : nahrát havarijní zálohu\n" -#: src/main.c:2593 +#: src/main.c:2545 msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "-nogui : nezobrazovat GUI\n" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" msgstr "" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "-oscstart <port> : spustit OSC naslouchač na UDP portu <port>\n" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "-nooscstart : nespouštět OSC naslouchač\n" -#: src/main.c:2605 +#: src/main.c:2557 #, fuzzy msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " @@ -399,44 +399,44 @@ "mplayer" #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr ", pulse" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr ", sox, nebo jack\n" -#: src/main.c:2613 +#: src/main.c:2565 msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " "transport client,2 = jack transport master, 4 = start jack transport server, " "8 = pause audio when video paused,16 = start jack audio server] \n" msgstr "" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr " lub sox\n" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "-devicemap <nazwa mapy> : automatycznie Pokaż urządzenie ładunkowe\n" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" msgstr "" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "-debug : próby debugowania awarii (wymaga 'gdb' zainstalowane)\n" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "Startuji grafické rozhraní..." -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -447,7 +447,7 @@ "(Maybe you need to change the value of <prefix_dir> in your %s file)\n" msgstr "" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -455,7 +455,7 @@ "Please make sure you have write access to %s and try again.\n" msgstr "" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -469,7 +469,7 @@ "Prosím přečtěte si ještě jednou README soubor, který byl dodán s instalačním " "balíkem než spustíte LiVES.\n" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -479,7 +479,7 @@ "Please check the file permissions for this file and try again.\n" msgstr "" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -490,7 +490,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -498,7 +498,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2737 +#: src/main.c:2689 #, fuzzy, c-format msgid "" "\n" @@ -508,7 +508,7 @@ "%s" msgstr "LiVES nemohl zachytit toto okno. Sorry.\n" -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -525,7 +525,7 @@ "instalačním balíkem než spustíte LiVES.\n" "Díky.\n" -#: src/main.c:2751 +#: src/main.c:2703 #, fuzzy msgid "" "\n" @@ -536,7 +536,7 @@ "LiVES pro provoz momentálně vyžaduje 'mplayer', nebo 'sox'. Nainstalujte " "jeden z nich a zkuste to znovu.\n" -#: src/main.c:2756 +#: src/main.c:2708 #, fuzzy msgid "" "\n" @@ -547,7 +547,7 @@ "LiVES pro provoz momentálně vyžaduje 'mplayer', nebo 'sox'. Nainstalujte " "jeden z nich a zkuste to znovu.\n" -#: src/main.c:2769 +#: src/main.c:2721 #, fuzzy msgid "" "\n" @@ -558,7 +558,7 @@ "LiVES nebyl schopen najít 'mplayer'. Instalací 'mplayer' získáte plně " "funkční LiVES.\n" -#: src/main.c:2775 +#: src/main.c:2727 #, fuzzy msgid "" "\n" @@ -569,7 +569,7 @@ "LiVES nebyl schopen najít 'mplayer'. Instalací 'mplayer' získáte plně " "funkční LiVES.\n" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" @@ -579,7 +579,7 @@ "LiVES nebyl schopen najít 'convert'. Chcete-li využívat renderovacích " "efektů, měli byste nainstalovat convert a image-magick.\n" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " @@ -589,7 +589,7 @@ "LiVES nebyl schopen najít 'composite'. Pakliže chcete využívat funkci " "slučování, měli byste nainstalovat composite a image-magick.\n" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " @@ -599,7 +599,7 @@ "LiVES nemohlo nalézt 'sox'. Některé zvukové funkce nejspíše nebudou " "fungovat. Měli byste nainstalovat 'sox'.\n" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -610,64 +610,64 @@ "You may need to change the value of <lib_dir> in %s\n" msgstr "" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "" -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "Automaticky načítám sadu %s..." #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "Neplatný zvukový přehrávač %s\n" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "" "LiVES-%s: <Bezejmenný%d> %dx%d : %d snímků, %d bitů na pixel, %.3f snímků/s" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : ??? snímků ???, bitů na pixel, %.3f snímků/s" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : %d snímků, %d bitů na pixel, %.3f snímků/s" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "LiVES-%s: <žádný soubor>" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "Přehrát" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" @@ -675,34 +675,34 @@ "LiVES nebyl schopen zachytit tento obrázek\n" "\n" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "Zavřený soubor %s\n" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "_Zpět" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "_Znovu" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "Video" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "Levý zvuk" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "Pravý zvuk" -#: src/main.c:7078 +#: src/main.c:6973 #, fuzzy msgid "" "\n" @@ -863,7 +863,7 @@ msgid "Use _mplayer2 audio player" msgstr "Použijte _mplayer audio přehrávač" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "" @@ -1073,56 +1073,56 @@ msgid "_Finish" msgstr "" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "Nechat LiVES nastavit _příponu souboru" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "" -#: src/interface.c:46 +#: src/interface.c:42 msgid "Apply _Deinterlace" msgstr "" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "" "Je-li zapnuto, ze snímků bude odstraněno prokládání tak, jak jsou " "importovány." -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "Náhled" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "" "Kliknutím zobrazíte _náhled vybraného videa, obrázku, či zvukového souboru" -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "Kliknutím zobrazíte _náhled vybraného zvukového souboru" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "Kliknutím zobrazíte _náhled vybraného videa" -#: src/interface.c:122 +#: src/interface.c:113 #, fuzzy msgid "Click here to _Preview the file" msgstr "Kliknutím zobrazíte _náhled vybraného videa" -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 #, fuzzy msgid "Processing..." msgstr "LiVES: - Zpracovávám..." -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1136,8 +1136,8 @@ "\n" "Nezapomeňte poté vypnout (ctrl-0) efekty!" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" @@ -1145,174 +1145,179 @@ "\n" "Čekejte prosím" -#: src/interface.c:221 +#: src/interface.c:206 msgid "Show Details" msgstr "" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "_Dost" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "_Náhled" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "_Zrušit" -#: src/interface.c:334 +#: src/interface.c:324 #, fuzzy msgid "Multitrack Details" msgstr "_Detaily o multitracku" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "Formátovat" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "Velikost snímku" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "Velikost souboru" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "Velikost v Bytech" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "FPS" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "Snímků" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "Události" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "Celkovy čas" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "Zvuk" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "Pomer(rate)/velikost" -#: src/interface.c:568 +#: src/interface.c:590 #, fuzzy msgid "Encoding Options" msgstr "LiVES: - Nastavení kódování" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." msgstr "" -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "Uložit _má nastavení" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "Použít _doporučené nastavení" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "_Zavřít okno" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "_Zapisz do pliku" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "Vložit" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "_Kolikrát vložit" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "_Vložit do délky zvuku" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "Vložit _před výběr" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "Vložit obsah schránky před vybrané snímky" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "Vložit _za výběr" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "Vložit obsah schránky za vybrané snímky" -#: src/interface.c:833 +#: src/interface.c:846 +#, fuzzy +msgid "Insert _with silence" +msgstr "Vložit _se zvukem" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "Vložit _se zvukem" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "Vložit _bez zvuku" -#: src/interface.c:924 +#: src/interface.c:937 #, fuzzy msgid "Open Selection" msgstr "_Kopírovat výběr" -#: src/interface.c:943 +#: src/interface.c:954 msgid "Selection start time (sec)" msgstr "" -#: src/interface.c:949 +#: src/interface.c:960 msgid "Number of frames to open" msgstr "" -#: src/interface.c:1023 +#: src/interface.c:1029 #, fuzzy msgid "Open Location" msgstr "LiVES: - Otevřít umístění" -#: src/interface.c:1025 +#: src/interface.c:1031 msgid "Open Youtube Clip" msgstr "" -#: src/interface.c:1045 +#: src/interface.c:1050 #, fuzzy msgid "" "\n" @@ -1329,7 +1334,7 @@ "Dále se ujistěte, zda máte nastavenou šířku pásma v Nastavení > Streamování\n" "\n" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1338,72 +1343,72 @@ "\n" msgstr "" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "URL : " -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "" -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "Neposílat informace o šířce pásma" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "Máte-li problém s příjmem, zkuste toto nastavení" -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "" -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "" -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr "" -#: src/interface.c:1188 +#: src/interface.c:1189 #, fuzzy msgid "Rename Clip" msgstr "Otočit klip" -#: src/interface.c:1190 +#: src/interface.c:1191 #, fuzzy msgid "Enter Set Name to Save as" msgstr "LiVES: - Zadejte jméno sestavy" -#: src/interface.c:1192 +#: src/interface.c:1193 #, fuzzy msgid "Enter a Set Name to Reload" msgstr "LiVES: - Zadejte jméno sestavy" -#: src/interface.c:1194 +#: src/interface.c:1195 #, fuzzy msgid "Choose a Working Directory" msgstr "Pracovní adresář LiVES." -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 #, fuzzy msgid "Rename Current Track" msgstr "_Vybrat stávající stopu" -#: src/interface.c:1198 +#: src/interface.c:1199 #, fuzzy msgid "Enter a Name for Your Theme" msgstr "LiVES: - Zadejte jméno sestavy" -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1415,7 +1420,7 @@ "Prosím napište jméno sestavy.\n" "LiVES Vám připomene uložení sestavy při ukončení.\n" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1438,220 +1443,220 @@ "This should be a directory with plenty of disk space available.\n" msgstr "" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "Nové jméno " -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "Zadat jméno " -#: src/interface.c:1257 +#: src/interface.c:1255 #, fuzzy msgid "Theme name " msgstr "Nové jméno " -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "_Pokročilé" -#: src/interface.c:1437 +#: src/interface.c:1425 #, fuzzy msgid "Select input device" msgstr "Vybrat do _konce" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "" -#: src/interface.c:1517 +#: src/interface.c:1505 #, fuzzy msgid "Load CD Track" msgstr "Zavést _CD stopu" -#: src/interface.c:1519 +#: src/interface.c:1507 #, fuzzy msgid "Select DVD Title/Chapter" msgstr "LiVES:- Zvolit DVD titul/kapitolu" -#: src/interface.c:1521 +#: src/interface.c:1509 #, fuzzy msgid "Select VCD Title" msgstr "LiVES:- Zvolit VCD titul" -#: src/interface.c:1523 +#: src/interface.c:1511 #, fuzzy msgid "Change Maximum Visible Tracks" msgstr "Maximální počet stop k zobrazení" -#: src/interface.c:1525 +#: src/interface.c:1513 #, fuzzy msgid "Device details" msgstr "_Detaily o multitracku" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "Zavést stopu (z %s)" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "DVD titul" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "VCD titul" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "Maximální počet stop k zobrazení" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "Kapitola " -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "" -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "Audio ID " -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "" -#: src/interface.c:1815 +#: src/interface.c:1778 #, fuzzy msgid "Fade Audio In" msgstr "_Zesílit zvuk..." -#: src/interface.c:1817 +#: src/interface.c:1780 #, fuzzy msgid "Fade Audio Out" msgstr "_Ztišit zvuk..." -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "Zesílit přes " -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "první" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "Ztišit přes " -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "poslední" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "sekund." -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "výběr" -#: src/interface.c:1909 +#: src/interface.c:1865 #, fuzzy msgid " (Optional)" msgstr "LiVES: - Komentáře k souborům (volitelné)" -#: src/interface.c:1912 +#: src/interface.c:1868 #, fuzzy, c-format msgid "File Comments%s" msgstr "LiVES: - Komentáře k souborům (volitelné)" -#: src/interface.c:1927 +#: src/interface.c:1882 #, fuzzy, c-format msgid "File Name: %s" msgstr "Titul/název : " -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "Titul/název : " -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "Autor/umělec : " -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "Komentáře : " -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "" -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "" -#: src/interface.c:2109 +#: src/interface.c:2058 #, c-format msgid "%sChoose a Device" msgstr "" -#: src/interface.c:2112 +#: src/interface.c:2061 #, c-format msgid "%sChoose a Directory" msgstr "" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" @@ -1661,7 +1666,7 @@ "Stávající rozložení bylo od posledního uložení změněno.\n" "Co chcete učinit?\n" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" @@ -1671,7 +1676,7 @@ "Stávající rozložení bylo od posledního uložení změněno.\n" "Co chcete učinit?\n" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" @@ -1681,7 +1686,7 @@ "Stávající sestava klipů může být uložena.\n" "Co chcete učinit?\n" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" @@ -1689,7 +1694,7 @@ "Současná sestava klipů nebyla uložena.\n" "Co chcete učinit?\n" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" @@ -1697,7 +1702,7 @@ "Současné rozložení nebylo uloženo.\n" "Co chcete učinit?\n" -#: src/interface.c:2410 +#: src/interface.c:2341 #, fuzzy msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" @@ -1706,86 +1711,86 @@ "Obecny układ nie został zmieniony od ostatniego zapisania.\n" "Co chcesz zrobić ?\n" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" "What do you wish to do ?" msgstr "" -#: src/interface.c:2417 +#: src/interface.c:2348 #, fuzzy msgid "Cancel/Discard/Save" msgstr "LiVES: - Zrušit/zahodit/uložit" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "_Zadat jméno klipu" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "_Automatické otevření při dalším spuštění" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "_Vymazat rozložení" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "_Ignorovat změny" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "_Smazat klipy" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "_Smazat rozložení" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "_Uložit rozložení" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "_Uložit sestavu klipu" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" "Would you like to try and recover it ?\n" msgstr "" -#: src/interface.c:2527 +#: src/interface.c:2455 msgid "Disk Recovery Options" msgstr "" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "" -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "" -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "Zobrazit klávesy" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1793,354 +1798,354 @@ "-----------------------\n" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 #, fuzzy msgid "ctrl-left" msgstr "přeskočit dozadu (kontrol+levá šipka)" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 #, fuzzy msgid "skip forwards\n" msgstr "skip_forwards" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 #, fuzzy msgid "ctrl-down" msgstr "Ctrl-%d" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "ctrl-enter" msgstr "_Jiný střed" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "reset frame rate\n" msgstr "_První snímek" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "" -#: src/interface.c:2723 +#: src/interface.c:2642 msgid "reverse direction\n" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "ctrl-1" msgstr "Ctrl-%d" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "toggle real-time effect 1\n" msgstr "Načítám pluginy pro efekty v reálném času..." -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "ctrl-2" msgstr "Ctrl-%d" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "toggle real-time effect 2\n" msgstr "Načítám pluginy pro efekty v reálném času..." -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 #, fuzzy msgid "ctrl-0" msgstr "Ctrl-%d" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "real-time effects off\n" msgstr "" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "" -#: src/interface.c:2759 +#: src/interface.c:2678 msgid "grab keyboard for last activated effect\n" msgstr "" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2688 #, fuzzy msgid "tab" msgstr "tap" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "" -#: src/interface.c:2785 +#: src/interface.c:2706 #, fuzzy msgid "Other playback keys\n" msgstr "_Otočit přehrávání " -#: src/interface.c:2789 +#: src/interface.c:2710 #, fuzzy msgid "play all\n" msgstr "Přehrát vše" -#: src/interface.c:2792 +#: src/interface.c:2713 #, fuzzy msgid "play selection\n" msgstr "Přehrát výběr" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "" -#: src/interface.c:2798 +#: src/interface.c:2719 #, fuzzy msgid "fullscreen\n" msgstr "_Plná obrazovka" -#: src/interface.c:2801 +#: src/interface.c:2722 #, fuzzy msgid "separate window\n" msgstr "Přehraj v odděleném okně (s)" -#: src/interface.c:2804 +#: src/interface.c:2725 #, fuzzy msgid "double size\n" msgstr "_Dvojitá velikost" -#: src/interface.c:2807 +#: src/interface.c:2728 #, fuzzy msgid "ping pong loops\n" msgstr "Pin_g Pong Smyčky" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "Klávesy pro výběr stopy" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 #, fuzzy msgid "move current track up\n" msgstr "_Vybrat stávající stopu" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 #, fuzzy msgid "move current track down\n" msgstr "_Vybrat stávající stopu" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "" -#: src/interface.c:2849 +#: src/interface.c:2768 #, fuzzy msgid "select next clip\n" msgstr "_Vložit vybraný klip" -#: src/interface.c:2852 +#: src/interface.c:2771 #, fuzzy msgid "select/deselect current track\n" msgstr "_Vybrat stávající stopu" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 #, fuzzy msgid "zoom in\n" msgstr "_Přiblížit" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 #, fuzzy msgid "zoom out\n" msgstr "_Oddálit" -#: src/interface.c:2861 +#: src/interface.c:2780 msgid "make a mark on the timeline (during playback)\n" msgstr "" -#: src/interface.c:2864 +#: src/interface.c:2783 #, fuzzy msgid "rewind to play start.\n" msgstr "Zpět na začátek (w)" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "Ukládám jako sestavu %s..." -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "" -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "" -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -2148,22 +2153,22 @@ "the latest youtube-dl installed.\n" msgstr "" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, c-format msgid "Layouts were removed for set %s.\n" msgstr "" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "Tento soubor" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " msgstr "" -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2173,7 +2178,7 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2183,14 +2188,14 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" "Really close it ?" msgstr "" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" @@ -2198,7 +2203,7 @@ "\n" "Neplatný soubor projektu.\n" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2220,54 +2225,54 @@ "stornujte.\n" "Po této změně budete moci importovat nový projekt.\n" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "Importuji projekt %s jako %s..." -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "Importuji projekt" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "Exportuji projekt %s..." -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "Exportuji projekt" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 #, fuzzy msgid "Theme" msgstr "Nové jméno " -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, fuzzy, c-format msgid "Exporting theme as %s..." msgstr "Exportování zvuku jako %s..." -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, fuzzy, c-format msgid "Importing theme \"%s\" from %s..." msgstr "Exportování zvuku jako %s..." -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, fuzzy, c-format msgid "Backup as %s File" msgstr "Zálohovat jako .lv1 rejstřík" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, fuzzy, c-format msgid "Restore %s File" msgstr "Obnovit .lv1 soubor" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2279,102 +2284,102 @@ "Sestava bude smazána z disku.\n" "Jste si jisti?\n" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "" -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "Mažu sestavu..." -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "Mazání sestavy" -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "Sestava %s byla trvale smazána z disku.\n" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "Vložit ticho" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "Vracím zpět" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "Obnovuji zvuk..." -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "Délka videa je momentálně %d snímků při %.3f snímků za sekundu\n" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "Schránka byla převzorkována na %d snímků\n" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "Opakuji" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, fuzzy, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "Kopírování snímků %d do %d%s do schránky ..." -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, fuzzy, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "Kopírování snímků %d do %d%s do schránky ..." -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "Kopírování do schránky" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "Vyjmout" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 #, fuzzy msgid "Pulling frames from clipboard" msgstr "Vkládání %d%s snímků ze schránky..." -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "" -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "Vkládání" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "" -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " "LiVES.\n" msgstr "" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2388,7 +2393,7 @@ "Zkuste označit všechny snímky a potom použít \n" "'Oříznout zvuk' ze Zvukového menu." -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." @@ -2396,7 +2401,7 @@ "LiVES nemohl vložit protože poměr zvuku nesedí.\n" "Prosím instalujte 'sox' a zkuste znovu." -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" @@ -2406,7 +2411,7 @@ "Vložením dojde k posunu snímků v některých vícestopých rozvrženích.\n" "Opravdu pokračovat ?\n" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" @@ -2416,11 +2421,11 @@ "Vložením dojde k posunu zvuku v některých vícestopých rozvrženích.\n" "Opravdu pokračovat ?\n" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "Převzorkovat zvuk ve schráce" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2432,7 +2437,7 @@ "LiVES nemohl převzorkovat zvuk ve schránce.\n" "Zvuk ze schránky byl vymazán.\n" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2446,32 +2451,32 @@ "chcete pokračovat s vkládáním\n" "s nezměněným zvukem ?\n" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "Vkládání %d%s snímků ze schránky..." -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "Vkládám" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "Vložit %d krát ze schránky%s..." -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "Vložit %d snímků ze schránky%s..." -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "Ruší se" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" @@ -2481,7 +2486,7 @@ "Vymazání všech snímků zavře tento soubor.\n" "Opravdu to chcete ?" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" @@ -2491,8 +2496,8 @@ "Smazání způsobí chybějící snímky v některých vícestopých rozloženích.\n" "Opravdu pokračovat ?\n" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" @@ -2502,7 +2507,7 @@ "Smazání způsobí chybějící zvuk v některých vícestopých rozloženích.\n" "Opravdu pokračovat ?\n" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" @@ -2512,7 +2517,7 @@ "Smazání způsobí posun snímků v některých vícestopých rozloženích.\n" "Opravdu pokračovat ?\n" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" @@ -2522,20 +2527,20 @@ "Smazání způsobí posun zvuku v některých vícestopých rozloženích.\n" "Opravdu pokračovat ?\n" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "Mazání snímků %d do %d%s..." -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "Mažu" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "Smazat" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" @@ -2545,7 +2550,7 @@ "\n" "Výběr je uzamčený.\n" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2553,11 +2558,11 @@ "play.)\n" msgstr "" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "Nahrávání přerušeno.\n" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2570,7 +2575,7 @@ "Zpráva tohoto pluginu '%s':\n" "%s\n" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2583,7 +2588,7 @@ "Nelze najít 'init' metodu v pluginu %s.\n" "Plugin je možná poškozený nebo není správně instalován." -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2595,22 +2600,22 @@ "\n" "Klikněte ''Zrušit' pokud nesouhlasíte.\n" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "Ukládádání %s" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "Otvírání klipů ze sady %s" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2621,24 +2626,24 @@ "Pokračujte POUZE pokud nemáte spuštěnou další kopii LiVES.\n" "Pokračujete kliknutím OK.\n" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "Čistím diskový prostor..." -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "" -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "" -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2646,12 +2651,12 @@ "Internal: %s (%d bpp) / %s\n" msgstr "" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." @@ -2659,7 +2664,7 @@ "\n" " Otvírání..." -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" @@ -2668,7 +2673,7 @@ "\n" "(%d virtual)" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" @@ -2677,14 +2682,14 @@ "\n" "(%d decoded)" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" " %.2f sec." msgstr "" -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" @@ -2692,23 +2697,23 @@ "\n" " Neznámo" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" @@ -2717,7 +2722,7 @@ " %d Hz %d bit\n" "%s %s" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2734,15 +2739,15 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n" msgstr "" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "" -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" "Launchpad Contributions:\n" @@ -2752,7 +2757,7 @@ " milzou https://launchpad.net/~vonfsro\n" " salsaman https://launchpad.net/~salsaman" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, c-format msgid "" "LiVES Version %s\n" @@ -2766,7 +2771,7 @@ "Homepage: %s" msgstr "" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 #, fuzzy msgid "" "\n" @@ -2777,7 +2782,7 @@ "\n" "Musíte nainstalovat mplayer pro náhled tohoto souboru.\n" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 #, fuzzy msgid "" "\n" @@ -2789,93 +2794,93 @@ "\n" "Musíte nainstalovat mplayer pro náhled tohoto souboru.\n" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" "%s\n" msgstr "" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 msgid "Encoder Debug Output" msgstr "" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "Přehrát celou obrazovku (f)" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "Vypnout přehrávání na celou obrazovku (f)" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "Dvojitá velikost (d)" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "Jednoduchá velikost (d)" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "Schovej přehrávací okno (s)" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "Zobraz hrací okno (s)" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "Přehraj v odděleném okně (s)" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "Vypnout opakované hraní (o)" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "Zapnout opakované hraní (o)" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "Hlasitost zvuku (%.2f)" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "Pustit zvuk (z)" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "Ztišit zvuk (z)" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "Obracení přechodné paměti..." -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "Obracení přechodné paměti" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 msgid "Load Subtitles" msgstr "" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 #, fuzzy msgid "Select Audio File" msgstr "Vymazat zvuk" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -2888,83 +2893,83 @@ "Opravdu chcete pokračovat ?\n" "." -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "Otvíráni zvuku %s, typu %s..." -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "Otevřít zvuk" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "Vykonávání zvuku" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "Nový zvuk" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "Otevirání CD stopy %d z %s..." -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "CD stopa %d" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "Otvírání CD stopy..." -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "Chyba při otvírání CD stopy\n" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 #, fuzzy msgid "Layout Errors" msgstr "chyby rozložení" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "Vymazat _chyby" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "_Smazat zasažené rozvržení" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "Pokračovat" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "pozastaveno..." -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "pokračovat..." -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "Zachovat" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, fuzzy, c-format msgid "" "\n" @@ -2977,30 +2982,30 @@ "(kliknout Podržet pro zachování toho co máme a stop)\n" "(kliknout Pokračovat pro pokračování)" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "Zrušit" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 #, fuzzy msgid "Selected Frame" msgstr "Vybrat všechny snímky" -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 #, fuzzy msgid "_Save Frame as..." msgstr "_Uložit rozložení jako..." -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -3009,7 +3014,7 @@ "\n" msgstr "" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -3022,7 +3027,7 @@ "\"xwininfo\"\n" "\n" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" @@ -3030,7 +3035,7 @@ "\n" "Doba nahrávání musí být větší než 0.\n" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -3044,17 +3049,17 @@ "Vyberte 'Zrušit' pro zrušení\n" "\n" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "Externí. okno bylo spuštěno.\n" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" msgstr "" -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -3069,19 +3074,19 @@ "Stop nebo 'q' pro ukončení.\n" "(Bude použito výchozí nastavení %.3f snímků za sekundu.)\n" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "LiVES nemohl zachytit toto okno. Sorry.\n" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "Vyexportovat vybraný zvuk jako..." -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "Vyexportovat zvuk jako..." -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -3095,87 +3100,87 @@ "Klikněte na 'OK' pro export s novou rychlostí nebo 'Zrušit' a exportovat " "originálním poměrem(rate).\n" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "Exportování zvuku %d do %d jako %s..." -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "Exportování zvuku jako %s..." -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "Exportování zvuku" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 #, fuzzy msgid "Append Audio File" msgstr "Připojit zvuk" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "Připojování zvukového soubor %s..." -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "Připojování zvuku" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "Připojit zvuk" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "" -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "Oříznutí zvuku z %.2f na %.2f sekundy..." -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "Oříznout/Doplnit zvuk" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "Oříznout/Doplnit zvuk" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "Zesilování zvuku" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "Zesilování zvuku" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "Ztišování zvuku" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "Ztlumit zvuk" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "%s na %.1f vteřin" -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "" -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "Ztišování..." -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" @@ -3185,33 +3190,33 @@ "Vymazání audia způsobí zavření tohoto souboru.\n" "Pokračovat ?" -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "Vymazáváni zvuku kompletně" -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "Vymazáváni zvuku od %.2f do %.2f sekund..." -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "Mazání zvuku" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "Vymazat zvuk" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "Nahrát nový zvuk" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "Vkládání ticha od %.2f do %.2f sekund..." -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "Vkládání ticha" @@ -3224,603 +3229,603 @@ msgid "Merge Clipboard [ %d Frames ] With Selection [ %d Frames ]" msgstr "Sloučit schránku [ %d snímků ] s výběrem [ %d snímků ]" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" msgstr "Sloučit schránku [ %d snímků (přeskupeno)] s výběrem [ %d snímků ]" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "Vyrovnat _počátky" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "Vyrovnat _konce" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "Co dělat s přebývajícími snímky ve schránce -" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "_Vložit snímky" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "_Zahodit snímky" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "Počet opakování schránky" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "_Opakovat schránku do naplnění výběru" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "_Přechod:" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "Sloučit schránku s výběrem..." -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "Sloučení hotovo.\n" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "" -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "_Vlastní efekty" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "Vlastní _pomůcky" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "_Soubor" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "_Otevřít soubor/adresář" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "" -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "_Otevřít umístění/stream..." -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "" -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "" -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "Importovat z _Firewire zařízení (dv)" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "Importovat z _Firewire zařízení (hdvú" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "" -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "_Poslední soubory..." -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "_Znovuotevřít sadu..." -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "Zavřít/_Uložit vše" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "" -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "Kódovat _výběr jako..." -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "_Zavřít tento klip" -#: src/gui.c:692 +#: src/gui.c:674 #, fuzzy, c-format msgid "_Backup Clip as .%s..." msgstr "_Zálohovat klip jako lv1..." -#: src/gui.c:701 +#: src/gui.c:683 #, fuzzy, c-format msgid "_Restore Clip from .%s..." msgstr "_Obnovit klip z .lv1..." -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "Kódovat/Otevřít/Zálohovat _se zvukem" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "_Vyčistit disk" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "_Editovat" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "_VÍCESTOPÝ režim" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "_Kopírovat výběr" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "Vyjmout výběr" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "_Vložit ze schránky..." -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "Vložit jako _nový" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "_Sloučit schránku s výběrem..." -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "_Smazat výběr" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "Oddělit _video od zvuku" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "_Vybrat..." -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "Vybrat všechny snímky" -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "_Pouze počáteční snímek" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "_Pouze poslední snímek" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "Vybrat od prvního snímku" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "Vybrat do _posledního snímku" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "Vybrat poslední vložení/_Sloučení" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "Vybrat poslední _efekt" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "_Obrátit výběr" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "_Zamknout šířku výběru" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "_Přehrát" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "_Přehrát vše" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "_Přehrát výběr" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "_Přehrát schránku" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "_Stop" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "_Převinout" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "_Plná obrazovka" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "_Dvojitá velikost" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "_Přehrát v odděleném okně" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "_Prázdné pozadí" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "(Automaticky)_opakovat video (vyplnit podle zvuku)" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "O_pakovat nepřetržitě" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "Pin_g Pong Smyčky" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "_Ztlumit zvuk" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "Oddělené okno sticky mode" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "Ukázat počítadlo snímků" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "" -#: src/gui.c:1069 +#: src/gui.c:1045 msgid "Letterbox Mode" msgstr "" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "E_fekty" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "Efekty jsou použity na současný výběr" -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "_Nástroje" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "Nástroje jsou použity na dokončení klipů" -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "_Otočit schránku" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "_Změnit přehrávání / Uložit rychlost" -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "Převzorkovat _video na nový poměr(sample rate)" -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "_Pomůcky" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "Vlastní _nástroje" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "_Generovat" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "" -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "Zachytit _externí okno " -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "_Nastavení..." -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "_Zvuk" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "Zavést _nový zvuk pro klip" -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "Zavést _CD stopu" -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "Vysunout CD" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "Nahrát e_xterní zvuk..." -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "k novému _klipu..." -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "k _výběru" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "_Zesílit zvuk..." -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "_Ztišit zvuk..." -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "_Vyexportovat zvuk" -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "_Vyexportovat označený zvuk" -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "_Vyexportovat všechen zvuk" -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "_Připojit zvuk" -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "_Oříznout/pad zvuk..." -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "_oříznout/pad zvuk k označení..." -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "_oříznout/pad zvuk od začátku do _Hraj Start..." -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "_vymazat zvuk" -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "_vymazat označený zvuk" -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "_vymazat veškerý zvuk" -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "Vsunout _ticho do výběru" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "_Převzorkovat zvuk..." -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "_Info" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "Zobrazit _Informace o klipu" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "Zobrazit/ _Upravit komentáře k souboru" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "Zobrazit _informace o schránce" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "Zobrazit _zprávy" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "Zobrazit chyby _rozložení" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "_Klipy" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "_Přejmenovat klip v menu..." -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "Pro _pokročilé" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "_RFX Efekty/Nástroje/Pomůcky" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "_Nový test RFX Skript" -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "_Kopírovat RFX Skript k testování..." -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "_Upravit RFX Skript" -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "_Přejmenovat RFX Skript" -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "_Smazat test RFX Skript" -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "_Importovat vlastní RFX skript" -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "_Exportovat vlastní RFX skript" -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "_Smazat vlastní RFX skript" -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "_Rekonstruovat všechny RFX pluginy" -#: src/gui.c:1397 +#: src/gui.c:1371 #, fuzzy msgid "Receive _LiVES Stream from..." msgstr "_Poslat LiVES proud do ..." -#: src/gui.c:1401 +#: src/gui.c:1375 #, fuzzy msgid "_Send LiVES Stream to..." msgstr "_Poslat LiVES proud do ..." -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "Otevřít _yuv4mpeg stream na %sstream.yuv" -#: src/gui.c:1426 +#: src/gui.c:1399 #, fuzzy, c-format msgid "_Import Project (.%s)..." msgstr "_Importovat projekt (.lv2)..." -#: src/gui.c:1430 +#: src/gui.c:1403 #, fuzzy, c-format msgid "E_xport Project (.%s)..." msgstr "E_xportovat projekt (.lv2)" -#: src/gui.c:1437 +#: src/gui.c:1409 #, fuzzy, c-format msgid "_Import Custom Theme (.%s)..." msgstr "_Importovat projekt (.lv2)..." -#: src/gui.c:1442 +#: src/gui.c:1414 #, fuzzy, c-format msgid "E_xport Theme (.%s)..." msgstr "E_xportovat projekt (.lv2)" -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "_VJ" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "Mapování real time _efektu" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "Přiřaď real time efekty k ctrl-numerickým klávesám." -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "Nastavit _výchozí hodnoty real time effektu" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "Nastavit výchozí hodnoty pro real time efekty." -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "Uložit _výchozí hodnoty real time effektu" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." @@ -3828,286 +3833,286 @@ "Uložit výchozí hodnoty real time efektů, budou použity při každém spuštění " "LiVES." -#: src/gui.c:1476 +#: src/gui.c:1448 #, fuzzy msgid "_Reset All Playback Speeds and Positions" msgstr "_Resetování všech rychlosti přehrávání a pozice" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "" -#: src/gui.c:1480 +#: src/gui.c:1452 #, fuzzy msgid "_MIDI/Joystick Interface" msgstr "Rozhraní _MIDI/Joystick" -#: src/gui.c:1489 +#: src/gui.c:1461 #, fuzzy msgid "_MIDI/Joystick Learner..." msgstr "Rozhraní _MIDI/Joystick" -#: src/gui.c:1493 +#: src/gui.c:1465 #, fuzzy msgid "_Save Device Mapping..." msgstr "_Uložit mapu zařízení..." -#: src/gui.c:1497 +#: src/gui.c:1469 #, fuzzy msgid "_Load Device Mapping..." msgstr "_Načíst mapu zařízení..." -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "Zobrazit VJ klávesy" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "Hračky" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "_Nic" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "_Bláznivé snímky" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "_LiVES TV (širokopásmová)" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "_Pomoc" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "_Manuál (otevře se v prohlížeči)" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 #, fuzzy msgid "_Donate to the Project !" msgstr "_Věnovat prostředky na projekt !" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 #, fuzzy msgid "_Email the Author" msgstr "_E-mail autora" -#: src/gui.c:1547 +#: src/gui.c:1519 #, fuzzy msgid "Report a _Bug" msgstr "_Nahlásit chybu" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 #, fuzzy msgid "Suggest a _Feature" msgstr "Navrhněte _funkci" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 msgid "Assist with _Translating" msgstr "" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "_O LiVES" -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "Zpět na začátek (w)" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "Přehrát vše (p)" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "Zastavit přehrávání (q)" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "Přehrát výběr (y)" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "Hlasitost" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "Hlasitost zvuku (1.00)" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "Vyplň pozadí (b)" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "Hrát pomaleji (ctrl-šipka dolů)" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "Hrát rychleji (ctrl+šipka nahoru)" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "přeskočit dozadu (kontrol+levá šipka)" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "Přeskočit dopředu (ctrl+pravá šipka)" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "Zobrazt informace o klipu (i)" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "Schovat tuto lištu" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." msgstr "" #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr " Rychlost přehrávání videa (snímků za sekundu) " -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "Změnit rychlost videa" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "První snímek" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "Poslední snímek" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "První vybraný snímek v tomto klipu" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "Poslední vybraný snímek v tomto klipu" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "Začíná.....\n" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr " Stisknutím 'q' ukončíte nahrávání. NEPŘEKRÝVEJTE HRACÍ OKNO ! " -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "Číslo snímku k náhledu" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "Vo_lné" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "Volný výběr čísla snímku" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "_Start" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "Kon_ec" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "_Kurzor" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "Převinout" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "Přehrát vše" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "Přehrát výběr" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "Opakování zapnuto/vypnuto" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "Spustit _nahrávání" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "Zastavit _nahrávání" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr "" -#: src/gui.c:3613 +#: src/gui.c:3553 #, fuzzy msgid "Streaming" msgstr "Aplikují zasnění" -#: src/gui.c:3615 +#: src/gui.c:3555 #, fuzzy, c-format msgid "Play Window%s" msgstr "Schovat přehrávací okno" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "Schovat přehrávací okno" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "Zobrazit přehrávací okno" -#: src/gui.c:4199 +#: src/gui.c:4127 #, fuzzy, c-format msgid "'LiVES opened the file' '%s'" msgstr "LiVES není schopen otevřít tento soubor" -#: src/gui.c:4220 +#: src/gui.c:4146 #, fuzzy, c-format msgid "'LiVES closed the file' '%s'" msgstr "Nechat LiVES nastavit _příponu souboru" @@ -4117,11 +4122,11 @@ msgid "Mapped to ctrl-%d" msgstr "" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "Efekty" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "" @@ -4135,11 +4140,11 @@ msgid "Select clip for %s\n" msgstr "_Smazat klipy" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "" @@ -4184,11 +4189,11 @@ msgid "%d bytes" msgstr "" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "Mazání schránky" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -4199,7 +4204,7 @@ "==============================\n" "Přepnuto na klip %s\n" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" @@ -4209,11 +4214,11 @@ "==============================\n" "Přehození na prázdný klip\n" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " @@ -4222,7 +4227,7 @@ "Jméno setu bylo změněno z %s na %s. Související rozložení budou " "aktualizovány\n" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" @@ -4231,7 +4236,7 @@ "Klip %s schází v tomto setu.\n" "Je vyžadován tímto rozložením:\n" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" @@ -4240,7 +4245,7 @@ "Klip %s byl uzavřen.\n" "Je vyžadován tímto rozložením:\n" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" @@ -4249,7 +4254,7 @@ "Snímky v klipu %s byly posunuty.\n" "Tato rozvržení budou ovlivněny:\n" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" @@ -4258,7 +4263,7 @@ "Snímky z klipu %s byly smazány.\n" "Tato rozvržení budou ovlivněna:\n" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" @@ -4267,7 +4272,7 @@ "Zvuk byl smazán z klipu %s.\n" "Tato rozvržení budou ovlivněna:\n" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" @@ -4276,7 +4281,7 @@ "Zvuk v klipu %s byl posunut.\n" "Tato rozvržení budou ovlivněna:\n" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" @@ -4285,7 +4290,7 @@ "Zvuk v klipu %s byl upraven.\n" "Tato rozvržení budou ovlivněna:\n" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" @@ -4294,7 +4299,7 @@ "Snímky v klipu %s byly upraveny.\n" "Tato rozvržení budou ovlivněna:\n" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -4302,7 +4307,7 @@ "by another copy of LiVES.\n" msgstr "" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -4313,7 +4318,7 @@ "Sestava %s je souběžně používána jinou kopií LiVES.\n" "Vyberte jiné jméno.\n" -#: src/utils.c:2188 +#: src/utils.c:2207 #, fuzzy, c-format msgid "" "\n" @@ -4322,7 +4327,7 @@ "\n" "Jméno souboru nesmí být prázdné\n" -#: src/utils.c:2196 +#: src/utils.c:2215 #, fuzzy, c-format msgid "" "\n" @@ -4331,7 +4336,7 @@ "\n" "Jméno nesmí obsahovat mezery nebo znaky%s.\n" -#: src/utils.c:2204 +#: src/utils.c:2223 #, fuzzy, c-format msgid "" "\n" @@ -4340,18 +4345,18 @@ "\n" "Jméno nesmí obsahovat mezery nebo znaky%s.\n" -#: src/utils.c:2213 +#: src/utils.c:2232 #, c-format msgid "" "\n" "%s names may not start with a '.' or contain '..'\n" msgstr "" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4362,73 +4367,73 @@ "Sestava %s již existuje.\n" "Prosím vyberte jiné jméno.\n" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "Odstraňuji rozložení %s\n" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "Video [otevírání...]" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "Video [%.2f sek]" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "(Nepopsané)" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "(Žádné video)" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "(Žádný zvuk)" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "Mono [otevírání...]" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "Levý kanál zvuku [otevírání...]" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "Mono [%.2f sec]" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "Levý kanál zvuku [%.2f sek]" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "Pravý kanál zvuku [otevírání...]" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "Pravý kanál zvuku [%.2f sek]" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "LiVES nemůže při načítání klipů přepnout na mplayer." -#: src/utils.c:3492 +#: src/utils.c:3548 #, fuzzy msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "LiVES nemůže při načítání klipů přepnout na mplayer." -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "Vyčištění klipu" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4443,29 +4448,29 @@ "\n" "přemazat ?\n" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "_Vrátit %s" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "_Opakovat %s" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "---------------Výběr--------------" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr " sek ] ----------výběr---------- [ " -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr " snímků ] ----------" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4490,7 +4495,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "Otvírání%s začátek %.2f sek. snímků %d" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr " bez zvuku" @@ -4608,7 +4613,7 @@ "Tak co, pokračovat ?" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "" @@ -4665,12 +4670,12 @@ msgid "Recording performance..." msgstr "Nahrávání produkce..." -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "Průměrná hodnota FPS byla %.4f\n" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4684,21 +4689,21 @@ "Klikněte na Nástroje--->Změnit velikost všech snímků \n" "a změňte všechny velikost všech snímků na současnou hodnotu.\n" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "Neznámé" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "Bez jména%d" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "%d snímků je dost !\n" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4706,13 +4711,13 @@ "%s\n" msgstr "" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" msgstr "" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4720,7 +4725,7 @@ "Bad things may happen with this clip.\n" msgstr "" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4732,14 +4737,14 @@ "(snímků za sekundu). \n" "Výchozí hodnoty lze nastavit v Nástroje | Předvolby | Různé\n" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "" "Rychlost přehrávání byla upravena na %.3f snímků za sekundu, aby odpovídal " "zvuku.\n" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" @@ -4748,7 +4753,7 @@ "Snímky=%d typ=%s velikost=%dx%d *bpp=Šedá škála* snímků za sekundu =%.3f\n" "Zvuk:" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" @@ -4757,54 +4762,54 @@ "Snímků=%d typ=%s velikost=%dx%d bpp=%d snímků za sekundu =%.3f\n" "Zvuk:" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "%s nic\n" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, fuzzy, c-format msgid " - Author: %s\n" msgstr "Autor: %s" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, fuzzy, c-format msgid " - Title: %s\n" msgstr " - Komentář: %s\n" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr " - Komentář: %s\n" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "Uložení snímků %d jako %s..." -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "zZálohování %s jako %s" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "Zálohuji" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "data byly zazálohovány" -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "Obnovování %s..." -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "Obnovování" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -4859,12 +4864,12 @@ msgid "Recovering files..." msgstr "" -#: src/dialogs.c:87 +#: src/dialogs.c:83 #, fuzzy msgid "Show affeced _layouts" msgstr "Zobrazit postižených _rozložení" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" @@ -4872,51 +4877,51 @@ "_Nezobrazovat již toto varování\n" "(změnu nastavení provedete v Nastavení > Varování)" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr "" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 #, fuzzy msgid "Warning !" msgstr "Varování" -#: src/dialogs.c:198 +#: src/dialogs.c:186 #, fuzzy msgid "Error !" msgstr "$error" -#: src/dialogs.c:208 +#: src/dialogs.c:196 #, fuzzy msgid "Information" msgstr "LiVES: Zpráva pro %s" -#: src/dialogs.c:234 +#: src/dialogs.c:221 msgid "Question" msgstr "" -#: src/dialogs.c:248 +#: src/dialogs.c:235 #, fuzzy msgid "File Error" msgstr "Vymazat _chyby" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "Zobrazit _Detaily" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -4927,7 +4932,7 @@ "(Disk warning levels can be configured in Preferences.)" msgstr "" -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -4939,11 +4944,11 @@ "Preferences.)" msgstr "" -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "Audio přehrávače nemohou být přepnuty během přehrávání." -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -4955,18 +4960,18 @@ "LiVES nemohl vykonat tuto operaci kvůli nedostatek paměti.\n" "Co takhle zkusit zavřít ostatní prográmky ...\n" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "" -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" "%s%d%% done. Time remaining: %u sec%s\n" msgstr "" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" @@ -4975,14 +4980,14 @@ "\n" "Otevřeno %d z %d snímků. Zbývající čas je přibližně %us.\n" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" "%d/%d frames opened.\n" msgstr "" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" @@ -4991,7 +4996,7 @@ "\n" "%d snímků otevřeno.\n" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" @@ -5000,7 +5005,7 @@ "\n" "Zbývající čas: %d sec" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -5011,7 +5016,7 @@ "Nezlobte se, ale LiVES může otevřít pouze %d souborů najednou.\n" "Zavřete soubor a zkuste to znova." -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, fuzzy, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -5030,7 +5035,7 @@ "\n" "Ujistěte se, že do tohoto adresáře můžete zapisovat." -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 #, fuzzy msgid "" "\n" @@ -5041,7 +5046,7 @@ "LiVES pro provoz momentálně vyžaduje 'mplayer', nebo 'sox'. Nainstalujte " "jeden z nich a zkuste to znovu.\n" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 #, fuzzy msgid "" "\n" @@ -5052,7 +5057,7 @@ "LiVES pro provoz momentálně vyžaduje 'mplayer', nebo 'sox'. Nainstalujte " "jeden z nich a zkuste to znovu.\n" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 #, fuzzy msgid "" "\n" @@ -5063,19 +5068,19 @@ "LiVES pro provoz momentálně vyžaduje 'mplayer', nebo 'sox'. Nainstalujte " "jeden z nich a zkuste to znovu.\n" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" @@ -5085,7 +5090,7 @@ "Prosím nainstalujte 'sox'\n" "Nebo vyberte jiný formát kódování v Nástroje | Nastavení | Encoding\n" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -5097,7 +5102,7 @@ "Tento formát nelze použít s vybraným zvukovým kodekem.\n" "Nastavte zvukový kodek v Nástroje|Nastavení|Encoding\n" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" @@ -5105,13 +5110,13 @@ "Toto rozvržení obsahuje vygenerované snímky.\n" "Nelze ho uložit. Nejprve ho vyrendrujte klip.\n" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -5122,7 +5127,7 @@ "\n" "Z důvodu omezení ve %s formátu\n" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" @@ -5130,43 +5135,43 @@ "LiVES doporučuje následující nastavení:\n" "\n" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr ", označeno" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr ", neoznačeno" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr ", malý endian" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr ", velký endian" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "Nastavení videa na %.3f snímků za sekundu\n" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "Nastavení videa na %d:%d snímků za sekundu\n" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "Nastav velikost videa na %d x %d pixelů\n" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" @@ -5174,35 +5179,35 @@ "\n" "Přejete si:\n" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "změnit velikost videa %d x %d pixelů\n" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "LiVES musí:\n" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "převzorkování videa na %.3f snímků za sekundu\n" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "převzorkování videa na %d:%d snímků za sekundu\n" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -5216,7 +5221,7 @@ "Vyberte `OK` pro pokračování, `Zrušit` pro storno.\n" "\n" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" @@ -5226,7 +5231,7 @@ "Změny použité na výběr nebudou trvalé.\n" "\n" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -5239,7 +5244,7 @@ "LiVES nemohl nahrát produkci. Nedostatek paměti \n" "Zkuste nahrát jen vybranou část souboru" -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -5256,7 +5261,7 @@ "Vložení bude upraveno, aby se vešlo do klipu\n" "Vyberte 'Zrušit' a ukončíte vkládání nebo 'OK' a pokračovat." -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -5269,18 +5274,18 @@ "click Cancel." msgstr "" -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "Historie zpráv" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " "in your %s file" msgstr "" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -5291,7 +5296,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 #, fuzzy msgid "" "Sorry, unknown audio type.\n" @@ -5302,18 +5307,18 @@ "\n" " (Soubory musí mít příponu .mp3, .ogg, .wav, .mod, .xm nebo .it)" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "nezdařilo se(neznámý typ)\n" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" "(They will not be usable without the set).\n" msgstr "" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -5326,7 +5331,7 @@ "Kliknutím na 'OK' přidáte aktuální klipy a rozložení k existujícímu.\n" "Klikněte na 'Zrušit' pro výběr nového jména.\n" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -5338,7 +5343,7 @@ "Opravdu pokračovat ?\n" "." -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -5350,7 +5355,7 @@ "Opravdu pokračovat ?\n" "." -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -5361,7 +5366,7 @@ "Otherwise click Cancel to skip loading this file.\n" msgstr "" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -5371,7 +5376,7 @@ "The clip could not be loaded.\n" msgstr "" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -5379,7 +5384,7 @@ "Alternately, select a different audio player in Preferences.\n" msgstr "" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -5388,13 +5393,13 @@ "Automatic jack startup will be disabled now.\n" msgstr "" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" msgstr "" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -5405,13 +5410,13 @@ "%s\n" msgstr "" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" msgstr "" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -5421,7 +5426,7 @@ "It is recommended to increase it to at least %d MB" msgstr "" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -5430,7 +5435,7 @@ "Do you wish to delete them ?\n" msgstr "" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -5443,7 +5448,7 @@ "Zavřete jinou aplikaci, nebo uberte paměť pro krok zpět\n" "v Nastavení/Multitrack/Paměť zpět\n" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -5455,7 +5460,7 @@ "Zvyšte velikost paměti pro krok zpět\n" "v Nastavení/Multitrack/Paměť zpět\n" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" @@ -5464,19 +5469,19 @@ "LiVES nemohl rezervovat dostatek paměť pro zásobník multistopého kroku " "zpět.\n" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "nebo vložte menší hodnotu.\n" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "Zkuste znovu z editoru klipů, zkuste uzavřít jiné aplikace\n" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "Zkuste zavřít jinou aplikaci\n" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" @@ -5484,34 +5489,34 @@ "Multitrack má nastaveno 0 zvukových kanálu, ale rozložení obsahuje zvuk.\n" "Upravte nastavení zvuku v menu Nástroje.\n" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "" "Současná struktura obsahuje zvuk, proto zvukové kanály nemohou mít nulovou " "hodnotu.\n" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" "You can set this in Tools|Preferences|Playback." msgstr "" -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" "Should I try to repair the disk copy of the layout ?\n" msgstr "" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" msgstr "" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 #, fuzzy msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" @@ -5521,7 +5526,7 @@ "LiVES pro provoz momentálně vyžaduje 'mplayer', nebo 'sox'. Nainstalujte " "jeden z nich a zkuste to znovu.\n" -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 #, fuzzy msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" @@ -5531,7 +5536,7 @@ "LiVES pro provoz momentálně vyžaduje 'mplayer', nebo 'sox'. Nainstalujte " "jeden z nich a zkuste to znovu.\n" -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 #, fuzzy msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" @@ -5541,7 +5546,7 @@ "LiVES pro provoz momentálně vyžaduje 'mplayer', nebo 'sox'. Nainstalujte " "jeden z nich a zkuste to znovu.\n" -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" @@ -5551,7 +5556,7 @@ "\n" "Audio poměr(rate) musí být větší než 0.\n" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5559,7 +5564,7 @@ "Are you sure you wish to view it ?\n" msgstr "" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" @@ -5569,7 +5574,7 @@ "\n" "Pro používání této funkce musíte nainstalovat balík \"dvgrab\".\n" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5578,25 +5583,25 @@ "You may need to select one of these in Tools/Preferences/Playback.\n" msgstr "" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" msgstr "" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5605,33 +5610,33 @@ "echo %d > /proc/sys/net/core/rmem_max\n" msgstr "" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "přerušeno.\n" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "selhalo.\n" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "hotovo.\n" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "chyba v souboru. Ukončeno.\n" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -5641,7 +5646,7 @@ "%s%s%s" msgstr "" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -5651,7 +5656,7 @@ "%s" msgstr "" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -5661,7 +5666,7 @@ "%s" msgstr "" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -5670,7 +5675,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -5680,7 +5685,7 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -5689,7 +5694,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -5699,12 +5704,12 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "" -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -5713,7 +5718,7 @@ "Please check your system for errors.\n" msgstr "" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -5726,7 +5731,7 @@ "%s\n" "podivejte se na zapisovací povolení rejstříku" -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -5735,7 +5740,7 @@ "Please check the directory permissions and try again." msgstr "" -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, c-format msgid "" "\n" @@ -5743,14 +5748,14 @@ "%s\n" msgstr "" -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -5758,13 +5763,13 @@ "Please select another encoder from the list.\n" msgstr "" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" msgstr "" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -5774,27 +5779,27 @@ "- Check if the device actually exists.\n" msgstr "" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" "Do you wish to overwrite the existing subtitles ?\n" msgstr "" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 msgid "" "\n" "LiVES currently only supports subtitles of type" msgstr "" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -5803,14 +5808,14 @@ "or OK to continue and save as type \"%s\"\n" msgstr "" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" "(If unsure, click Yes)\n" msgstr "" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -5821,19 +5826,19 @@ "." msgstr "" -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" msgstr "" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" msgstr "" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -5841,7 +5846,7 @@ "DO NOT SHUT DOWN OR CLOSE LIVES !\n" msgstr "" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, fuzzy, c-format msgid "" "\n" @@ -5852,14 +5857,14 @@ "Některé %s scházejí v rozložení%s\n" "Z toho důvodu nemohly být otevřeny správně.\n" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" "Please check the spelling of the set name and try again.\n" msgstr "" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -5868,7 +5873,7 @@ "directory. Would you like me to do this (recommended) ?" msgstr "" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -5880,7 +5885,7 @@ msgstr "" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -5889,38 +5894,38 @@ "\n" msgstr "" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" "Consult your package distributor.\n" msgstr "" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" msgstr "" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "Označte vaše zařízení pro hraní CD v Nástroje | Předvolby | Různé\n" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, fuzzy, c-format msgid "" "\n" @@ -5933,7 +5938,7 @@ "%s\n" "podivejte se na zapisovací povolení rejstříku" -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -5942,7 +5947,7 @@ "already exists. Would you like to overwrite it ?\n" msgstr "" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -6083,7 +6088,7 @@ msgid "Video only Transitions" msgstr "" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "pouze zvuk" @@ -6091,7 +6096,7 @@ msgid "Audio only Transitions" msgstr "" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "audio" @@ -6135,7 +6140,7 @@ msgid "Audio Analysers" msgstr "" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "neznámý" @@ -6192,361 +6197,361 @@ "\n" "Nebyly generovány žádné snímky.\n" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 #, fuzzy msgid "Invalid element" msgstr "Neplatný parametr" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 #, fuzzy msgid "Invalid property" msgstr "Neplatný parametr" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 #, fuzzy msgid "Invalid plugin" msgstr "Neplatný řádek %d v %s\n" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 #, fuzzy msgid "No error" msgstr "$error" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 msgid "integer" msgstr "" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 msgid "string" msgstr "" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 msgid "pointer" msgstr "" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "Chyba: plugin %s nemá žádnou funkci weed_setup().\n" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" "Error was: %s\n" msgstr "" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr "" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, c-format msgid "Successfully loaded %d compound filters\n" msgstr "" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, fuzzy, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "Nelze spustit ukázku %s, chybový kód %d\n" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "Nelze spustit generátor %s\n" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, fuzzy, c-format msgid "Failed to start generator %s (%s)\n" msgstr "Nepodařilo se spustit generátor %s\n" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, fuzzy, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "Nepodařilo se spustit generátor %s\n" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 msgid "Autoscale" msgstr "" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 #, fuzzy msgid "Delete this connection" msgstr "_Odstranit tento efekt" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, c-format msgid "%s - Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, c-format msgid "%s - Parameter Data Connections" msgstr "" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 msgid "Parameter and Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 msgid "Auto Connect Channels" msgstr "" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 msgid "Auto Connect Parameters" msgstr "" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "Pro změnu těchto hodnot můžete kliknout na Náhled" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "_Vynulovat hodnoty" -#: src/framedraw.c:241 +#: src/framedraw.c:242 msgid "_Frame" msgstr "" @@ -6590,40 +6595,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "%s : velikost" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "Nová velikost (pixely)" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "_Šířka" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "_Výška" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "Generovat do S_chránky" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "Generovat rámce do schránky" -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "Generovat do _Nového klipu" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "Generovat rámce do nového klipu" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -6694,32 +6699,32 @@ "\n" msgstr "" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "" -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "_FPS" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -6728,7 +6733,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -6738,31 +6743,31 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" "Error was: %s\n" msgstr "" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " "***\n" msgstr "" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -6771,7 +6776,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -6780,7 +6785,7 @@ "or switch to another plugin using Tools|Preferences|Encoding\n" msgstr "" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, c-format msgid "" "\n" @@ -6788,12 +6793,12 @@ "No decoders found in %s !\n" msgstr "" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, fuzzy, c-format msgid " using %s" msgstr "Otvírání%s" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -6802,7 +6807,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -6812,25 +6817,25 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "/unknown" -#: src/plugins.c:2556 +#: src/plugins.c:2550 #, fuzzy msgid "Decoder Plugins" msgstr "Dekódování" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "Otevření %s selhalo, přechod nemůže změnit velikost.\n" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "%s pokročilé nastavení" @@ -7042,20 +7047,20 @@ msgid "Move _Down" msgstr "Posun_dolu" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 #, fuzzy msgid "RFX Properties" msgstr "LiVES: - RFX vlastnosti" -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "_Pomalu (nápověda GUI)" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -7069,7 +7074,7 @@ "Nejdříve odstraňte spouštěč .\n" "\n" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -7081,195 +7086,195 @@ "Některé spouštěče byly upraveny.\n" "Zkontrolujte kód spouštěče.\n" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 #, fuzzy msgid "New RFX Parameter" msgstr "LiVES: - Nový RFX Parametr" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 #, fuzzy msgid "Edit RFX Parameter" msgstr "LiVES: - Editovat RFX Parametr" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "_Jméno: " -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "Jméno parametru musí být v pluginu jedinečné." -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "_Jméno/Označení: " -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." msgstr "" "Jméno zobrazované parametrem. Podtržené představuje mnemotechnickou pomůcku." -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "_Typ: " -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "Typ parametru (vyberte ze seznamu)" -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "Počet decimálních _míst: " -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "_Výchozí hodnota: " -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "_Výchozí: " -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "Tlačítko _skupina: " -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "Pro skupinu přepínačů může být použita pouze nenulová hodnota." -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "_Minimální hodnota: " -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "Ma_ximální hodnota: " -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr " _Krok: " -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "O kolik je upraven parametr po stisku otáčecích šipek." -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 msgid "_Wrap value" msgstr "" -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "Vždy když hodnota překročí max->min a min->max." -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "Nastav _hodnoty" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "Výchozí _červená: " -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "Výchozí _zelená" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "Výchozí _modrá " -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "Nastavit _výchozí" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "Výchozí hodnota: " -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "Maximální délka (znaků): " -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 #, fuzzy msgid "New RFX Parameter Window Hint" msgstr "LiVES: - Nový RFX Parametr nápovědy okna" -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 #, fuzzy msgid "Edit RFX Parameter Window Hint" msgstr "LiVES: - Editovat RFX Parametr nápovědy okna" -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "" -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "" -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "" -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "Řada: " -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "" -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "Propojené parametry (4): " -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "Propojené parametry (2): " -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 #, fuzzy msgid "New RFX Trigger" msgstr "LiVES: - Nový RFX spouštěč" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 #, fuzzy msgid "Edit RFX Trigger" msgstr "LiVES: - Upravitt RFX spouštěč" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "Pokud: " -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 #, fuzzy msgid "Pre Loop Code" msgstr "LiVES: - Před smyčkový kód" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 #, fuzzy msgid "Loop Code" msgstr "_Kód smyčky..." -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 #, fuzzy msgid "Post Loop Code" msgstr "LiVES: - Po smyčkový kód" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, fuzzy, c-format msgid "Default text (max length %d)" msgstr "LiVES: -Výchozí text (max. délka %d)" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 #, fuzzy msgid "Enter values, one per line" msgstr "LiVES: - Zadejte hodnoty, jedna na řádek" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" @@ -7279,7 +7284,7 @@ "\n" "Jméno nesmí být prázdné.\n" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" @@ -7289,7 +7294,7 @@ "\n" "Jméno nesmí obsahovat mezery.\n" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" @@ -7299,7 +7304,7 @@ "\n" "Text v menu nesmí zůstat prázdný.\n" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" @@ -7309,7 +7314,7 @@ "\n" "Popis akce nesmí zůstat prázdný.\n" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" @@ -7319,7 +7324,7 @@ "\n" "Jméno autor nesmí zůstat prázdné.\n" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -7331,7 +7336,7 @@ "Plugin s tímto jménem již existuje.\n" "Jméno musí být jedinečné.\n" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" @@ -7341,7 +7346,7 @@ "\n" "Smyčkový kód by neměl být prázdný\n" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" @@ -7351,7 +7356,7 @@ "\n" "Spouštěcí kód by pro pomůcku neměl být prázdný\n" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" @@ -7361,7 +7366,7 @@ "\n" "Jméno parametru nesmí být prázdné.\n" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -7374,41 +7379,41 @@ "Nalezen duplicitní parametr. Jméno parametru musí být v pluginu jedinečné.\n" "\n" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "Zápis skriptového souboru %s..." -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "<define> sekce nebyla ve skriptu nalezena.\n" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "Špatná verze skriptu.\n" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "<name> sekce nebyla ve skriptu nalezena.\n" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "<version> sekce nebyla ve skriptu nalezena.\n" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "<author> sekce nebyla ve skriptu nalezena.\n" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "<description> sekce nebyla ve skriptu nalezena .\n" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "Špatný popis. (%s)\n" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -7423,27 +7428,27 @@ "nalezen ve skriptu.\n" "\n" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "Předělávání všech RFX skriptů...vestavěno..." -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "Předělávání skriptů" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "vlastní..." -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "test..." -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "Předělávání vstupů dynamického menu ..." -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -7456,7 +7461,7 @@ "LiVES nemohl najít program %s.\n" "Zkontrolujte, je-li v cestě a je spustitelný program.\n" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -7471,12 +7476,12 @@ "%s ?\n" "\n" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "Mazání rfx skriptu %s..." -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -7491,7 +7496,7 @@ "%s\n" "Kód chyby: %d\n" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -7506,12 +7511,12 @@ "už existuje.\n" "Vymažte jej nebo přejmenujte testovací skript.\n" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "Prosazování testovacího rfx pluginu %s do běžného..." -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -7522,22 +7527,22 @@ "Return code was %d (%s)\n" msgstr "" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 #, fuzzy msgid "Export Script" msgstr "Exportuji projekt" -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "Kopírování %s do %s..." -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 #, fuzzy msgid "Import Script" msgstr "Importuji projekt" -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -7552,46 +7557,46 @@ "již existuje.\n" "Nejprve jej vymažte nebo přejmenujte importovaný skript.\n" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 #, fuzzy msgid "Copy RFX Script" msgstr "LiVES: - Kopírovat RFX skript" -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "" -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr " Skript : " -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 #, fuzzy msgid "Rename Test RFX Script" msgstr "_Přejmenovat RFX Skript" -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "Ze skriptu : " -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 #, fuzzy msgid "RFX Script Name" msgstr "LiVES: - Jméno RFX skriptu" -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "Jméno skriptu: " -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "Nové jméno: " -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "Nové jméno skriptu: " -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -7603,12 +7608,12 @@ "Testovací skript s tímto jménem již existuje.\n" "Jméno musí být unikátní.\n" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "Přejmenování RFX testovacího skriptu %s na %s..." -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -7625,28 +7630,28 @@ "%s\n" "Kód %d\n" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "_Použití Real time efektů na výběr" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 #, fuzzy msgid "Applying Current Real Time Effects to" msgstr "_Použití Real time efektů na výběr" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "" -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "" "Vidíte: VJ - ukázat VJ klávesy. Nastavit real time efekty a pak je zde " "použít." -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -7654,7 +7659,7 @@ "full screen, separate window (fs) mode\n" msgstr "" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -7662,7 +7667,7 @@ "(Free space = UNKNOWN)" msgstr "" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -7671,14 +7676,14 @@ "(Free space = %s)" msgstr "" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" "It should be in a partition with plenty of free disk space.\n" msgstr "" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7689,7 +7694,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7699,7 +7704,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1193 +#: src/preferences.c:1163 #, fuzzy msgid "" "You have chosen to change the working directory.\n" @@ -7718,7 +7723,7 @@ "\n" "Stisknutím 'Zrušit' obnovíte výchozí nastavení dočasného adresáře." -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, fuzzy, c-format msgid "" "\n" @@ -7731,7 +7736,7 @@ "nainstalován.\n" "Viz. http://jackaudio.org\n" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" @@ -7739,7 +7744,7 @@ "\n" "Přepnutí audio přehrávačů vyžaduje restart (jackd nesmí být používán)\n" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, fuzzy, c-format msgid "" "\n" @@ -7752,382 +7757,382 @@ "nainstalován.\n" "Viz. http://jackaudio.org\n" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "PCM (nejvyšší kvalita; největší soubory)" -#: src/preferences.c:2468 +#: src/preferences.c:2418 #, fuzzy msgid "Preferences" msgstr "_Nastavení..." -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "Otevřít maximalizovaný výběr souboru" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "Zobrazit poslední soubory v menu Soubor" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "" -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "Otevřít maximalizované hlavní okno" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "Zobrazit nástrojovou lištu pokud je pozadí prázdné" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr "" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr "" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." msgstr "" -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "GUI" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "Při spuštění vícestopého módu:" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "_Vyzvi mě k nastavení šířky, výšky, fps a zvuku" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "_Vždy použij tyto hodnoty:" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "Použij stejné _hodnoty pro rendrování nového klipu" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr " _Zpět velikost bufferu (MB) " -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "_Ukončit vícestopý mód po převodu" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "sekundy" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "_Nikdy" -#: src/preferences.c:2872 +#: src/preferences.c:2757 #, fuzzy msgid "Maximum number of visible tracks" msgstr "Maximální počet stop k zobrazení" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "Vícestopa/Převod" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "" -#: src/preferences.c:2925 +#: src/preferences.c:2804 msgid "Video open command (fallback)" msgstr "" -#: src/preferences.c:2935 +#: src/preferences.c:2811 msgid "Fallback image format" msgstr "" -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "_jpeg" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "" -#: src/preferences.c:2964 +#: src/preferences.c:2832 msgid "Open/render compression" msgstr "" -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr " % ( snížení = zpomalení, větší soubory; pro jpeg, vyšší kvalita )" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "" -#: src/preferences.c:2995 +#: src/preferences.c:2856 msgid "Automatic trimming / padding of audio when possible" msgstr "" -#: src/preferences.c:2997 +#: src/preferences.c:2858 msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "Dekódování" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "VIDEO" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "Kvalita _náhledu" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "_Zobrazit FPS statistiky" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "_Plugin" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "AUDIO" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "_Přehrávač" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "- vnitřní -" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "Zvuk kopíruje video _tempo/směr" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "Zvuk kopíruje přepínání _klipů" -#: src/preferences.c:3269 +#: src/preferences.c:3110 msgid "Source:" msgstr "" -#: src/preferences.c:3273 +#: src/preferences.c:3114 msgid "_Internal" msgstr "" -#: src/preferences.c:3278 +#: src/preferences.c:3119 msgid "_External (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "Přehrát" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" msgstr "" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr " Co nahrát po stisku 'r' " -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "Změny _snímku" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "F_PS změny" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "Nahrávání" -#: src/preferences.c:3454 +#: src/preferences.c:3273 #, fuzzy msgid "You can also change these values when encoding a clip" msgstr "Pro změnu těchto hodnot můžete kliknout na Náhled" -#: src/preferences.c:3466 +#: src/preferences.c:3285 msgid "Encoder" msgstr "" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "Výstupní formát" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "Zvukový kodek" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "Kódování" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "Použít _antialiasing při změně velikosti" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." @@ -8135,95 +8140,95 @@ "Počet \"virtuálních\" kláves realtime efektů. Lze je ovládat přes okno " "realtime efektů, nebo přes síť (OSC)." -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr "" -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr "" -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr "" -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr "" -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr "" -#: src/preferences.c:3649 +#: src/preferences.c:3461 msgid " Working directory (do not remove) " msgstr "" -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "" -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "Pracovní adresář LiVES." -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "Adresáře" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "" -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr "" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "" -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" @@ -8231,317 +8236,317 @@ "Varovat při Vkládání / Sloučit pokud tempo snímků ve schránce nesouhlasí s " "tempem výběru" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "Varovat při otvírání velikost souboru přesáhne " -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr " MB" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "Zobrazit varování před uložením se_tu" -#: src/preferences.c:3872 +#: src/preferences.c:3659 msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " "when LiVES is started." msgstr "" -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "" "Zobrazit varování jestliže při spuštění _nejsou nalezeny rendrovací efekty ." -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "" "Zobrazit varování jestliže při startu _nejsou nalezeny kódovací pluginy ." -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "Zobrazit varování, jestliže je vloženo duplicitní jméno." -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "Při nahrání sestavy upozornit, jestliže chybí klipy z _rozvržení." -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "Upozornit, jestliže má být zavřen klip použitý v rozvržení." -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "Upozornit, jestliže mají být smazány snímky použité v rozvržení." -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "Upozornit, jestliže mají být posunuty snímky použité v rozvržení." -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "Upozornit, jestliže mají být změněny snímky použité v rozvržení." -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "Upozornit, jestliže má být smazán zvuk použitý v rozvržení." -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "Upozornit, jestliže má být posunut zvuk použitý v rozvržení." -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "Upozornit, jestliže má být změněn zvuk použitý v rozvržení." -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "" -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "" "Upozornit, jestliže rozložení nebylo před ukončením vícestopého režimu " "uloženo." -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "" "Upozornit, jestliže multitrack nemá zvukové kanály a rozložení je otevřeno " "se zvukem." -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." msgstr "" -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "Zobrazit informační zprávu po importu z firewire zařízení." -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "" -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "" -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "" -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "" -#: src/preferences.c:4113 +#: src/preferences.c:3865 #, fuzzy msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "Zobrazit varování před uložením se_tu" -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "Varování" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "" "Identifikační signál bloku Midi (vyžaduje rejstříky midistart a midistop)" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "Při vkládání/slučování snímků: " -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "_Zrychlit/Zpomalit vkládání" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "_Převzorkovat vložení" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "CD zařízení " -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "LiVES může zavést zvukové stopy z tohoto CD" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "Standard FPS " -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "Snímků za sekundu pokud není uvedeno jinak" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "Různé" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "Nové téma: " -#: src/preferences.c:4242 +#: src/preferences.c:3977 msgid "Main Theme Details" msgstr "" -#: src/preferences.c:4254 +#: src/preferences.c:3988 #, fuzzy msgid " _Foreground Color" msgstr "_Barva pozadí" -#: src/preferences.c:4273 +#: src/preferences.c:4007 #, fuzzy msgid " _Background Color" msgstr "_Barva pozadí" -#: src/preferences.c:4291 +#: src/preferences.c:4026 #, fuzzy msgid "_Alt Foreground Color" msgstr "_Barva pozadí" -#: src/preferences.c:4309 +#: src/preferences.c:4044 #, fuzzy msgid "_Alt Background Color" msgstr "_Barva pozadí" -#: src/preferences.c:4327 +#: src/preferences.c:4062 #, fuzzy msgid " Info _Text Color" msgstr " _Výška " -#: src/preferences.c:4346 +#: src/preferences.c:4081 #, fuzzy msgid " Info _Base Color" msgstr " _Výška " -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "" -#: src/preferences.c:4365 +#: src/preferences.c:4100 msgid "Affects some contrast details of the timeline" msgstr "" -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "" -#: src/preferences.c:4398 +#: src/preferences.c:4132 #, fuzzy msgid "Frame blank image" msgstr "Změny _snímku" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "" -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4474 +#: src/preferences.c:4203 #, fuzzy msgid "Track background (multitrack)" msgstr "Vyplň pozadí (b)" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "" -#: src/preferences.c:4529 +#: src/preferences.c:4258 #, fuzzy msgid "Timeline selection (multitrack)" msgstr "Časová osa (vteřiny)" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "" -#: src/preferences.c:4553 +#: src/preferences.c:4282 #, fuzzy msgid "Timecode foreground (multitrack)" msgstr "_Začátek oblasti" -#: src/preferences.c:4565 +#: src/preferences.c:4293 #, fuzzy msgid "Frame surround" msgstr "_Snímky za vteřinu" -#: src/preferences.c:4582 +#: src/preferences.c:4306 #, fuzzy msgid "Themes/Colors" msgstr "Témata" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "Rychlost stahování (Kb/s) " -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "" "LiVES musí být zkompilován bez \"configure --disable-OCS\" pro použití OMC" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "Dálková správa OMC povolena" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "UDP port " -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "Spustit OMC při startu" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "Streamování/Vysílání přes síť" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "Jack přenos" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" @@ -8549,43 +8554,43 @@ "LiVES musí být zkompilován s jack/transport.h a jack/jack.h pro použití " "přenosu přes jack" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "Jack: _přenosový konfigurační soubor" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "Spustit _server při startu LiVES" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "Jack zvuk" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "LiVES musí být zkompilován s jack/jack.h pro použití audio jack" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" @@ -8593,101 +8598,101 @@ "MUSÍTE nastavit audio přehrávač na \"jack\" v záložce Přehrávání, chcete-li " "používat audio konektor" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "Jack: konfigurační soubor _zvukového serveru" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "Integrace jacku" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "" -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "Rozšířené" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." msgstr "" -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "" -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -8695,42 +8700,42 @@ "Click OK to continue.\n" msgstr "" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." msgstr "" -#: src/preferences.c:5525 +#: src/preferences.c:5205 #, fuzzy msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "Změny témat budou patrné po restartování LiVES." -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "Změny nastavení jack se projeví po restartu LiVES." -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "Synchronizace s externí frekvencí %.8f snímků za sekundu.\n" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "Nelze inicializovat OSC přijímač\n" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "UPOZORNĚNÍ: Nelze spusti OSC server na UDP portu %d\n" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "Spuštěn OSC server na UDP portu %d\n" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "Nelze spustit OSC/UDP server na portu %d \n" @@ -8753,12 +8758,12 @@ msgid "Resample/Resize" msgstr "Převzorkování/Změnit velikost" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "Délka videa je nyní %d snímků.\n" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" @@ -8768,147 +8773,147 @@ "\n" "Nový poměr(rate) musí být větší než 0\n" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "Převzorkování zvuku" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "LiVES nebyl schopen převzorkovat zvuk.\n" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "Převzorkovat zvuk" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "Zvuk byl převzorkován na %d Hz, %d kanálů, %d bitů" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "Převzorkování videa na %.3f snímků za vteřinu..." -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "Převzorkování videa na %.3f snímků za vteřinu..." -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "Převzorkovat" -#: src/resample.c:1208 +#: src/resample.c:1209 #, fuzzy msgid "New Clip Audio" msgstr "Nový zvuk" -#: src/resample.c:1210 +#: src/resample.c:1211 #, fuzzy msgid "External Clip Settings" msgstr "LiVES: - Nastavení externího klipu" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "Současný" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "Poměr (Rate v Hertzích) " -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 msgid "Channels" msgstr "" -#: src/resample.c:1256 +#: src/resample.c:1257 msgid "Sample Size " msgstr "" -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "Označeno" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "Neoznačeno" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "Little Endian" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "Big Endian" -#: src/resample.c:1322 +#: src/resample.c:1323 #, fuzzy msgid "New Audio Details" msgstr "Nový zvuk" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "Nový" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "P_ovolit zvuk" -#: src/resample.c:1369 +#: src/resample.c:1370 msgid "_Channels" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "_Sample Size" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "Sample Size" msgstr "" -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "_Snímků za sekundu " -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "Nahrát maximálně: " -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr " hodin " -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr " minut " -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr " sekund " -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "Neomezené" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "Kliněte na OK pro nahrávání, Zrušit pro ukončení." -#: src/resample.c:1635 +#: src/resample.c:1636 #, fuzzy msgid "Change Playback Speed" msgstr "_Změnit přehrávání / Uložit rychlost" -#: src/resample.c:1637 +#: src/resample.c:1638 #, fuzzy msgid "Resample Video" msgstr "Převzorkování videa" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -8919,7 +8924,7 @@ "in _frames per second" msgstr "" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -8930,15 +8935,15 @@ "in frames per second" msgstr "" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" @@ -8949,7 +8954,7 @@ "rozloženích.\n" "Opravdu změnit rychlost ?\n" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" @@ -8959,48 +8964,48 @@ "Zrychlení klipu způsobí chybějící zvuk v některých vícestopých rozloženích.\n" "Opravdu změnit rychlost ?\n" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "Změna rychlosti" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "" "Změna rychlosti playbacku na %.3f rámečků za sekundu a zvuku na %d Hz.\n" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "Změna rychlosti playbacku na %.3f rámečků za sekundu\n" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "Převzorkování videa" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "Převzorkování videa ze schránky" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "Přeskupení snímků" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" @@ -9010,11 +9015,11 @@ "\n" "LiVES nemohl přeskupit snímky" -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "Srovnávání rámečků" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "chyba při převzorkování..." @@ -9278,7 +9283,7 @@ msgid "Mode active" msgstr "Aktivní mód" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "informace" @@ -9405,54 +9410,54 @@ msgid "Opened firewire card %d" msgstr "" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, fuzzy, c-format msgid "%s : parameters for %s" msgstr "Žádné parametry" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "Aktuální stopa: %s (vrstav %d)\n" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "Aktuální stopa: Zvuk v pozadí\n" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "%.2f s\n" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "Zdroj: %s" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "Klikněte pravý tlačítkem pro zobrazení kontextového menu.\n" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." msgstr "" -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -9461,7 +9466,7 @@ "right or double clicking on it.\n" msgstr "" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -9469,14 +9474,14 @@ "Select an effect in FX stack first to view its parameters.\n" msgstr "" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" "No clips loaded.\n" msgstr "" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -9486,7 +9491,7 @@ "before inserting clips into the timeline." msgstr "" -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -9495,12 +9500,12 @@ "to apply compositors.\n" msgstr "" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "%.2f s do %.2f s.\n" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" @@ -9508,164 +9513,164 @@ "Kliknutím na časovou osu\n" "vyberete snímek.\n" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" msgstr "" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr "vyberte časové pásmo.\n" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 #, fuzzy msgid "Selected Clip" msgstr "_Vložit vybraný klip" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 msgid "_Adjust Start and End Points" msgstr "" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 msgid "_Edit/Encode in Clip Editor" msgstr "" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 #, fuzzy msgid "_Show Clip Information" msgstr "Zobrazit _Informace o klipu" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 #, fuzzy msgid "_Close this Clip" msgstr "_Zavřít tento klip" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 #, fuzzy msgid "Audio Mixer (ctrl-m)" msgstr "Audio Mixery" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "" -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "" -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "" -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "" -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "" -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "" -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "" -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "" -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "" -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "Zavřít časové intervaly" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "Přesunout blok" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "Přesunout audio blok" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "Smazat blok" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "Smazat zvukový blok" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "Rozdělit stopy" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "Rozdělit blok" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "Použít %s" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "Smazat %s" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "Vložit blok" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "Vložit zvukový blok" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "neoznačený " -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "označený " -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " @@ -9674,15 +9679,15 @@ "Multitrack hodnoty nastaveny na %.3f fps, velikost snímku %d x %d, zvukové " "kanály %d, audio poměr %d, velikost zvukového vzorku %d, %s.\n" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "neplatný seznam událostí. Ukončeno.\n" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "seznam událostí má neplatný fps. Ukončeno.\n" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -9697,7 +9702,7 @@ "uzavřete aktuální set,\n" "potom otevřete v novém setu z menu Soubor.\n" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -9708,482 +9713,482 @@ "LiVES našel neplatný počet zvukových kanálů (%d).\n" "Nemohlo být otevřeno.\n" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "" -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "" -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "_Otevřít soubor..." -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "Importovat výběr z _dvd/vcd..." -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "Importovat výběr z _dvd" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "Importovat výběr z _vcd" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "Importovat ze zařízení" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 #, fuzzy msgid "_Close the Selected Clip" msgstr "_Vložit vybraný klip" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 #, fuzzy msgid "_Save Layout as..." msgstr "_Uložit rozložení jako..." -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 #, fuzzy msgid "_Load Layout..." msgstr "_Uložit rozložení jako..." -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 #, fuzzy msgid "_Wipe/Delete Layout..." msgstr "_Vyčistit/Smazat rozložení..." -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 #, fuzzy msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "_Ignorovat šířku, výšku a hodnoty zvuku v otevřeném rozložení" -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 msgid "Auto Load _Subtitles with Clips" msgstr "" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "_EDITOR KLIPU" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 msgid "_Adjust Selected Clip Start/End Points" msgstr "" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "_Vložit vybraný klip" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 #, fuzzy msgid "_Insert Selected Clip Audio" msgstr "_Vložit vybraný zvukový klip" -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 #, fuzzy msgid "_Delete Selected Block" msgstr "_Smazat vybraný blok" -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 #, fuzzy msgid "_Jump to Previous Block Boundary" msgstr "_Přeskočit na hranici předchozího bloku" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 #, fuzzy msgid "_Jump to Next Block Boundary" msgstr "_Přeskočit na hranici následujícího bloku" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 #, fuzzy msgid "Clear _Marks from Timeline" msgstr "Smazat _značky z časové osy" -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 msgid "Ignore Selection Limits when Inserting" msgstr "" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 #, fuzzy msgid "Pla_y Selected Time Only" msgstr "_Přehrát výběr" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 #, fuzzy msgid "_Move Effects with Blocks" msgstr "_Přesunout efekty s bloky" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 #, fuzzy msgid "Select _Autotransition Effect..." msgstr "Vybrat poslední _efekt" -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 msgid "Crossfade Audio with Autotransition" msgstr "" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 #, fuzzy msgid "View/_Edit Selected Effect" msgstr "Vybrat poslední _efekt" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 #, fuzzy msgid "_Delete Selected Effect" msgstr "_Smazat vybraný efekt" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 #, fuzzy msgid "Apply Effect to _Block..." msgstr "Použít efekt na _blok..." -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 #, fuzzy msgid "Apply Effect to _Region..." msgstr "Použít efekt na _oblast..." -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "_Stopy" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 #, fuzzy msgid "Make _Backing Audio Current Track" msgstr "Přesun aktuální zvukové stopy na _pozadí" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "Přidat video stopu na _konec" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "Přidat video stopu na _začátek" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 #, fuzzy msgid "_Split Current Track at Cursor" msgstr "_Vybrat stávající stopu" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 #, fuzzy msgid "_Split Selected Video Tracks" msgstr "_Rozdělit vybrané video stopy" -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 #, fuzzy msgid "Insert Gap in Selected Tracks/Time" msgstr "_Vložit vybraný klip" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 msgid "Insert Gap in Current Track/Selected Time" msgstr "" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 msgid "Close All _Gaps in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "_Výběr" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "_Vybrat stávající stopu" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 #, fuzzy msgid "Select _All Video Tracks" msgstr "Vybrat _všechny video stopy" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 #, fuzzy msgid "Select _No Video Tracks" msgstr "_Nevybrat video stopu" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 #, fuzzy msgid "Select All _Time" msgstr "Vybrat _vše" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 #, fuzzy msgid "Select from _Zero Time" msgstr "Vybrat od _začátku" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 #, fuzzy msgid "Select to _End Time" msgstr "Vybrat do _konce" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "_Kopírovat..." -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 #, fuzzy msgid "_Timecode to Region Start" msgstr "_Začátek oblasti" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 #, fuzzy msgid "_Timecode to Region End" msgstr "_Konec oblasti" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 #, fuzzy msgid "_Region Start to Timecode" msgstr "_Spustit v čase" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 #, fuzzy msgid "_Region End to Timecode" msgstr "_Ukončit v čase" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 #, fuzzy msgid "Select/Deselect Block at Current Track/Time" msgstr "_Vybrat stávající stopu" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 #, fuzzy msgid "_Change Width, Height and Audio Values..." msgstr "_Změnit šířku, výšku a hodnoty zvuku..." -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "_Render" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 #, fuzzy msgid "_Render All to New Clip" msgstr "Generovat do _Nového klipu" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 #, fuzzy msgid "Render _Video" msgstr "Rendrovat_video" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 #, fuzzy msgid "Render _Audio" msgstr "Rendrovat _zvuk" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 msgid "_Normalise Rendered Audio" msgstr "" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 #, fuzzy msgid "_Pre-render Audio" msgstr "Rendrovat _zvuk" -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "_Pohled" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 #, fuzzy msgid "Block _In/Out Points" msgstr "Blokovat _In/out body" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 #, fuzzy msgid "_Effects at Current" msgstr "_Aktuální efekty" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 #, fuzzy msgid "Audio Parameters" msgstr "Zvukové parametry" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 #, fuzzy msgid "Show Backing _Audio Track" msgstr "Zobraz _zvukovou stopu na pozadí" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 #, fuzzy msgid "Compact View" msgstr "Kompaktní pohled" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 #, fuzzy msgid "Maximum Tracks to Display..." msgstr "Maximální počet stop k zobrazení" -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 msgid "Scroll to Follow Playback" msgstr "" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 msgid "_Center on Cursor" msgstr "" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 #, fuzzy msgid "_Zoom In" msgstr "_Přiblížit" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 #, fuzzy msgid "_Zoom Out" msgstr "_Oddálit" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 #, fuzzy msgid "Multitrack _Details" msgstr "_Detaily o multitracku" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "Okno _událostí" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 #, fuzzy msgid "_Show FRAME Events" msgstr "_Zobraz události SNÍMKU" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 #, fuzzy msgid "_Show Multitrack Keys" msgstr "_Zobraz klávesy mutlitracku" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "_Nahlásit chybu" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 #, fuzzy msgid "Insert With _Audio" msgstr "_Vložit do délky zvuku" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 #, fuzzy msgid "Select _Overlap" msgstr "Překrýt textem" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" msgstr "" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 #, fuzzy msgid "Mouse Mode: _Move" msgstr "Mód myši: _Posun" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 #, fuzzy msgid "Mouse Mode: _Select" msgstr "Mód myši: _Výběr" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 msgid "Insert Mode: _Normal" msgstr "" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "_Použít" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "_Smazat uzel" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "_Další uzel" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "_Předchozí uzel" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "_Otočit přehrávání " -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "_Rychlost " -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "_Začátek ukotvení" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "_Konec ukotvení" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "Rolovat" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" @@ -10193,95 +10198,95 @@ "==============================\n" "Přepnuto do režimu Editace klipu\n" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "Časová osa (vteřiny)" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr " Zvuk v pozadí" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr "" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "%s (vrstva %d)" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "Video %d" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr " %s" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 #, fuzzy msgid "Selected Effect" msgstr "Vybrat poslední _efekt" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 #, fuzzy msgid "_View/Edit this Effect" msgstr "Zobrazit/Upra_vit tento efekt" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 #, fuzzy msgid "_View this Effect" msgstr "Zobra_zit tento efekt" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 #, fuzzy msgid "_Delete this Effect" msgstr "_Odstranit tento efekt" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr " %d do %d vybráno " -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "%.2f s" -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "%d snímků" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" @@ -10291,70 +10296,70 @@ "==============================\n" "Přepnuto do vícestopého režimu\n" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" "Nodes can be deleted." msgstr "" -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "%s výstup" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "vrstva %d" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "zvuková stopa" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "%s na %s" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "Mapa _předchozího filtru" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "Vložit _před" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "Vložit _po" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "Mapa _dalšího filtru" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -10362,87 +10367,87 @@ "current time.\n" msgstr "" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." msgstr "" -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 #, fuzzy msgid "Selected Block/Frame" msgstr "LiVES: Vybraný blok/snímek" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 #, fuzzy msgid "_Select this Block" msgstr "_Zvolit tento blok" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 #, fuzzy msgid "_Split Block Here" msgstr "Zde _rozdělit blok" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 #, fuzzy msgid "List _Effects Here" msgstr "Seznam _efektů" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "_Upravit %s" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 #, fuzzy msgid "_Delete this Block" msgstr "_Vymazat tento blok" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 #, fuzzy msgid "_Insert Here" msgstr "_Vložit zde" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 #, fuzzy msgid "_Insert Audio Here" msgstr "_Zvuk vložit sem" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" @@ -10450,72 +10455,72 @@ "\n" " (proměnná)" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "stopa %s" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "skladby %s a %s" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "vybrané stopy" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "Přidány %s %s do %s od %.4f do %.4f\n" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "Přidán efektt %s do stopy %s od %.4f do %.4f\n" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "vloženo %d snímků do nového klipu.\n" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "Probíhá úklid..." -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, fuzzy, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "Vymazáváni zvuku od %.2f do %.2f sekund..." -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "_Pozastavit" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "Pozastavit (p)" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " @@ -10523,20 +10528,20 @@ msgstr "" "Vložený zvuk %.4f do %.4f z klipu %s do zvuku v pozadí od %.4f do %.4f\n" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" msgstr "Vložené snímky %d do %d z klipu %s do stopy %s od %.4f do %.4f\n" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" "selected.\n" msgstr "" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" @@ -10544,106 +10549,106 @@ "vyberte jendu nebo více stop\n" "pro vytvoření pásma.\n" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "%d video soubory vybrány.\n" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." msgstr "" -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." msgstr "" -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." msgstr "" -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" msgstr "" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" msgstr "" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" msgstr "" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "nebo pro posun VLOŽIT PO." -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "" -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" msgstr "" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "po.\n" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "před tím.\n" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "Odstraněné hodnoty pro efekt %s v čase %.4f\n" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "Nastavit hodnoty pro %s %s na %s v čase %.4f\n" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "_Automatické otevření (pokaždé)" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 #, fuzzy msgid "Saving layout" msgstr "_Uložit rozložení" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "Rozvržení uloženo do %s\n" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "klipy a snímky" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "clipy" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "snímky" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" @@ -10651,7 +10656,7 @@ "\n" "Autozavedení rozvržení.\n" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -10662,11 +10667,11 @@ "Některé %s scházejí v rozložení%s\n" "Z toho důvodu nemohly být otevřeny správně.\n" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" @@ -10675,31 +10680,31 @@ "\n" "Nelze zavést soubor s rozvržením %s\n" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "Zavádím rozvržení z %s..." -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "%d událostí...zpracovávám..." -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "Kontroluji a znovu vytvářím seznam události" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "%d chyb nalezeno.\n" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "Multitrack fps nastaven na %.3f\n" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 #, fuzzy msgid "" "The current layout has changes which have not been saved.\n" @@ -10708,34 +10713,34 @@ "Současné rozložení nebylo uloženo.\n" "Co chcete učinit?\n" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 #, fuzzy msgid "Multitrack Audio Mixer" msgstr "Vícestopa/Převod" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "_Obnovit hodnoty" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" msgstr "" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "" @@ -10761,7 +10766,7 @@ "Connection to jack audio was reset.\n" msgstr "" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10769,7 +10774,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10777,7 +10782,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:104 +#: src/pulse.c:105 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10785,27 +10790,27 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" msgstr "" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" msgstr "" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr ""
View file
LiVES-2.8.4.tar.bz2/po/da.po -> LiVES-2.8.6.tar.bz2/po/da.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: lives\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" "PO-Revision-Date: 2013-03-14 12:31+0000\n" "Last-Translator: Launchpad Translations Administrators <Unknown>\n" "Language-Team: Danish <da@li.org>\n" @@ -18,7 +18,7 @@ "X-Launchpad-Export-Date: 2013-03-28 10:41+0000\n" "X-Generator: Launchpad (build 16546)\n" -#: src/main.c:132 +#: src/main.c:125 msgid "" "Attention Translators !\n" "This message is intended for you, so please do not translate it.\n" @@ -27,22 +27,22 @@ "http://lives-video.com/TRANS-README.txt" msgstr "" -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "" -#: src/main.c:203 +#: src/main.c:197 #, c-format msgid "" "\n" @@ -51,7 +51,7 @@ "Thanks. Recovery should be possible if you restart LiVES.\n" msgstr "" -#: src/main.c:205 +#: src/main.c:199 #, c-format msgid "" "\n" @@ -60,110 +60,110 @@ "distribution, and the LiVES version (%s)\n" msgstr "" -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" msgstr "" -#: src/main.c:210 +#: src/main.c:204 msgid "" "Please try running LiVES with the -debug option to collect more " "information.\n" "\n" msgstr "" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" "\n" msgstr "" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "Enhver" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "Ingen" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "anbefalet" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "Indbygget" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "Brugerdefineret" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "Test" -#: src/main.c:474 +#: src/main.c:460 #, fuzzy msgid "LiVES: - " msgstr "LiVES: - Indstillinger" -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "Ændrer størrelse" -#: src/main.c:731 +#: src/main.c:708 #, fuzzy msgid "_Resize All Frames..." msgstr "Start ramme" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "" -#: src/main.c:1122 +#: src/main.c:1094 #, fuzzy msgid "Background" msgstr "_Start farve" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "" -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "" -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "" -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "" -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -175,34 +175,34 @@ "Alternatively, try to start lives with either \"lives -jackopts 16\", or " msgstr "" -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "" -#: src/main.c:1855 +#: src/main.c:1813 #, c-format msgid "%s...detected... " msgstr "" -#: src/main.c:1856 +#: src/main.c:1814 #, c-format msgid "%s...NOT DETECTED... " msgstr "" -#: src/main.c:1867 +#: src/main.c:1824 msgid "Checking optional dependencies: " msgstr "" -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -210,209 +210,209 @@ "Window manager reports as \"%s\"; " msgstr "" -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "" -#: src/main.c:1901 +#: src/main.c:1863 #, c-format msgid "Number of CPUs detected: %d " msgstr "" -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "" -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1927 +#: src/main.c:1889 #, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr "" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" "Many audio features will be unavailable.\n" msgstr "" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" "\n" msgstr "" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" "Startup syntax is: %s [opts] [filename [start_time] [frames]]\n" msgstr "" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "" -#: src/main.c:2593 +#: src/main.c:2545 msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" msgstr "" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "" -#: src/main.c:2605 +#: src/main.c:2557 msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " "mplayer2" msgstr "" #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr "" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr "" -#: src/main.c:2613 +#: src/main.c:2565 msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " "transport client,2 = jack transport master, 4 = start jack transport server, " "8 = pause audio when video paused,16 = start jack audio server] \n" msgstr "" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr "" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" msgstr "" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "" -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -423,7 +423,7 @@ "(Maybe you need to change the value of <prefix_dir> in your %s file)\n" msgstr "" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -431,7 +431,7 @@ "Please make sure you have write access to %s and try again.\n" msgstr "" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -440,7 +440,7 @@ "before running LiVES.\n" msgstr "" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -450,7 +450,7 @@ "Please check the file permissions for this file and try again.\n" msgstr "" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -461,7 +461,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -469,7 +469,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2737 +#: src/main.c:2689 #, c-format msgid "" "\n" @@ -479,7 +479,7 @@ "%s" msgstr "" -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -490,56 +490,56 @@ "Thankyou.\n" msgstr "" -#: src/main.c:2751 +#: src/main.c:2703 msgid "" "\n" "LiVES currently requires 'mplayer', 'mplayer2' or 'sox' to function. Please " "install one or other of these, and try again.\n" msgstr "" -#: src/main.c:2756 +#: src/main.c:2708 msgid "" "\n" "LiVES currently requires both 'mplayer' or 'mplayer2' and 'sox' to function. " "Please install these, and try again.\n" msgstr "" -#: src/main.c:2769 +#: src/main.c:2721 msgid "" "\n" "LiVES was unable to locate 'mplayer','mplayer2' or 'mpv'. You may wish to " "install one of these to use LiVES more fully.\n" msgstr "" -#: src/main.c:2775 +#: src/main.c:2727 msgid "" "\n" "LiVES was unable to locate 'mplayer' or 'mplayer2'. You may wish to install " "one of these to use LiVES more fully.\n" msgstr "" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" "magick if you want to use rendered effects.\n" msgstr "" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " "image-magick if you want to use the merge function.\n" msgstr "" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " "should install 'sox'.\n" msgstr "" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -550,96 +550,96 @@ "You may need to change the value of <lib_dir> in %s\n" msgstr "" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "" -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "" #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "Afspil" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" msgstr "" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "Fortryd" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "Video" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "" -#: src/main.c:7078 +#: src/main.c:6973 msgid "" "\n" "\n" @@ -790,7 +790,7 @@ msgid "Use _mplayer2 audio player" msgstr "" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "_Næste" @@ -996,51 +996,51 @@ msgid "_Finish" msgstr "" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "" -#: src/interface.c:46 +#: src/interface.c:42 msgid "Apply _Deinterlace" msgstr "" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "" -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "Forhåndsvisning" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "" -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "" -#: src/interface.c:122 +#: src/interface.c:113 msgid "Click here to _Preview the file" msgstr "" -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 msgid "Processing..." msgstr "" -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1049,8 +1049,8 @@ "Remember to switch off effects (ctrl-0) afterwards !" msgstr "" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" @@ -1058,172 +1058,177 @@ "\n" "Vent venligst" -#: src/interface.c:221 +#: src/interface.c:206 msgid "Show Details" msgstr "" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "_Annuller" -#: src/interface.c:334 +#: src/interface.c:324 msgid "Multitrack Details" msgstr "" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "Format" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "Filstørrelse" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "FPS" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "Begivenheder" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "Tid i alt" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "Lyd" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "" -#: src/interface.c:568 +#: src/interface.c:590 #, fuzzy msgid "Encoding Options" msgstr "Encoder" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." msgstr "" -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "_Luk Vindue" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "Indsæt" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "" -#: src/interface.c:833 +#: src/interface.c:846 +#, fuzzy +msgid "Insert _with silence" +msgstr "Indsæt lydblok" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "" -#: src/interface.c:924 +#: src/interface.c:937 #, fuzzy msgid "Open Selection" msgstr "Va_lg" -#: src/interface.c:943 +#: src/interface.c:954 msgid "Selection start time (sec)" msgstr "" -#: src/interface.c:949 +#: src/interface.c:960 msgid "Number of frames to open" msgstr "" -#: src/interface.c:1023 +#: src/interface.c:1029 msgid "Open Location" msgstr "" -#: src/interface.c:1025 +#: src/interface.c:1031 msgid "Open Youtube Clip" msgstr "" -#: src/interface.c:1045 +#: src/interface.c:1050 msgid "" "\n" "\n" @@ -1233,7 +1238,7 @@ "\n" msgstr "" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1242,68 +1247,68 @@ "\n" msgstr "" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "URL : " -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "" -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "" -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "" -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "" -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr "" -#: src/interface.c:1188 +#: src/interface.c:1189 #, fuzzy msgid "Rename Clip" msgstr "Roterer" -#: src/interface.c:1190 +#: src/interface.c:1191 msgid "Enter Set Name to Save as" msgstr "" -#: src/interface.c:1192 +#: src/interface.c:1193 msgid "Enter a Set Name to Reload" msgstr "" -#: src/interface.c:1194 +#: src/interface.c:1195 msgid "Choose a Working Directory" msgstr "" -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 #, fuzzy msgid "Rename Current Track" msgstr "_Vælg aktuelt spor" -#: src/interface.c:1198 +#: src/interface.c:1199 msgid "Enter a Name for Your Theme" msgstr "" -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1311,7 +1316,7 @@ "LiVES will remind you to save the clip set later when you try to exit.\n" msgstr "" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1331,330 +1336,330 @@ "This should be a directory with plenty of disk space available.\n" msgstr "" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "Nyt navn " -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "" -#: src/interface.c:1257 +#: src/interface.c:1255 #, fuzzy msgid "Theme name " msgstr "Nyt navn " -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "_Avanceret" -#: src/interface.c:1437 +#: src/interface.c:1425 msgid "Select input device" msgstr "" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "" -#: src/interface.c:1517 +#: src/interface.c:1505 msgid "Load CD Track" msgstr "" -#: src/interface.c:1519 +#: src/interface.c:1507 msgid "Select DVD Title/Chapter" msgstr "" -#: src/interface.c:1521 +#: src/interface.c:1509 msgid "Select VCD Title" msgstr "" -#: src/interface.c:1523 +#: src/interface.c:1511 msgid "Change Maximum Visible Tracks" msgstr "" -#: src/interface.c:1525 +#: src/interface.c:1513 msgid "Device details" msgstr "" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "" -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "" -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "" -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "" -#: src/interface.c:1815 +#: src/interface.c:1778 #, fuzzy msgid "Fade Audio In" msgstr "_X Start" -#: src/interface.c:1817 +#: src/interface.c:1780 #, fuzzy msgid "Fade Audio Out" msgstr "_X Start" -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "" -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "først" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "" -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "sidste" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "sekunder." -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "" -#: src/interface.c:1909 +#: src/interface.c:1865 msgid " (Optional)" msgstr "" -#: src/interface.c:1912 +#: src/interface.c:1868 #, c-format msgid "File Comments%s" msgstr "" -#: src/interface.c:1927 +#: src/interface.c:1882 #, fuzzy, c-format msgid "File Name: %s" msgstr "Effekt navn: %s" -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "" -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "" -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "" -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "" -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "" -#: src/interface.c:2109 +#: src/interface.c:2058 #, c-format msgid "%sChoose a Device" msgstr "" -#: src/interface.c:2112 +#: src/interface.c:2061 #, c-format msgid "%sChoose a Directory" msgstr "" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2410 +#: src/interface.c:2341 msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" "What do you wish to do ?" msgstr "" -#: src/interface.c:2417 +#: src/interface.c:2348 msgid "Cancel/Discard/Save" msgstr "" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" "Would you like to try and recover it ?\n" msgstr "" -#: src/interface.c:2527 +#: src/interface.c:2455 msgid "Disk Recovery Options" msgstr "" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "" -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "" -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1662,345 +1667,345 @@ "-----------------------\n" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "ctrl-left" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 #, fuzzy msgid "skip forwards\n" msgstr "Spring fremad" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 #, fuzzy msgid "ctrl-down" msgstr "Ctrl-%d" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "ctrl-enter" msgstr "_X Center" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "reset frame rate\n" msgstr "Start ramme" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "" -#: src/interface.c:2723 +#: src/interface.c:2642 msgid "reverse direction\n" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "ctrl-1" msgstr "Ctrl-%d" -#: src/interface.c:2743 +#: src/interface.c:2662 msgid "toggle real-time effect 1\n" msgstr "" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "ctrl-2" msgstr "Ctrl-%d" -#: src/interface.c:2746 +#: src/interface.c:2665 msgid "toggle real-time effect 2\n" msgstr "" -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 #, fuzzy msgid "ctrl-0" msgstr "Ctrl-%d" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "real-time effects off\n" msgstr "" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "" -#: src/interface.c:2759 +#: src/interface.c:2678 msgid "grab keyboard for last activated effect\n" msgstr "" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2688 msgid "tab" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "" -#: src/interface.c:2785 +#: src/interface.c:2706 msgid "Other playback keys\n" msgstr "" -#: src/interface.c:2789 +#: src/interface.c:2710 msgid "play all\n" msgstr "" -#: src/interface.c:2792 +#: src/interface.c:2713 #, fuzzy msgid "play selection\n" msgstr "Va_lg" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "" -#: src/interface.c:2798 +#: src/interface.c:2719 msgid "fullscreen\n" msgstr "" -#: src/interface.c:2801 +#: src/interface.c:2722 #, fuzzy msgid "separate window\n" msgstr "Luk _vindue" -#: src/interface.c:2804 +#: src/interface.c:2725 #, fuzzy msgid "double size\n" msgstr "Filstørrelse" -#: src/interface.c:2807 +#: src/interface.c:2728 msgid "ping pong loops\n" msgstr "" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 #, fuzzy msgid "move current track up\n" msgstr "_Vælg aktuelt spor" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 #, fuzzy msgid "move current track down\n" msgstr "_Vælg aktuelt spor" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "" -#: src/interface.c:2849 +#: src/interface.c:2768 #, fuzzy msgid "select next clip\n" msgstr "Va_lg" -#: src/interface.c:2852 +#: src/interface.c:2771 #, fuzzy msgid "select/deselect current track\n" msgstr "_Vælg aktuelt spor" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 #, fuzzy msgid "zoom in\n" msgstr "_Zoom ind" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 #, fuzzy msgid "zoom out\n" msgstr "_Zoom ud" -#: src/interface.c:2861 +#: src/interface.c:2780 msgid "make a mark on the timeline (during playback)\n" msgstr "" -#: src/interface.c:2864 +#: src/interface.c:2783 msgid "rewind to play start.\n" msgstr "" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "" -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "" -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "" -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -2008,22 +2013,22 @@ "the latest youtube-dl installed.\n" msgstr "" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, c-format msgid "Layouts were removed for set %s.\n" msgstr "" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "Denne fil" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " msgstr "" -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2033,7 +2038,7 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2043,20 +2048,20 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" "Really close it ?" msgstr "" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" msgstr "" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2069,54 +2074,54 @@ "Once you have done this, you will be able to import the new project.\n" msgstr "" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "" -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "" -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 #, fuzzy msgid "Theme" msgstr "Nyt navn " -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, c-format msgid "Exporting theme as %s..." msgstr "" -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, fuzzy, c-format msgid "Importing theme \"%s\" from %s..." msgstr "Indlæser layout fra %s..." -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, c-format msgid "Backup as %s File" msgstr "" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, c-format msgid "Restore %s File" msgstr "" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2124,101 +2129,101 @@ "Are you sure ?\n" msgstr "" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "" -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "" -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "" -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "" -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "" -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "" -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "Klip" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 msgid "Pulling frames from clipboard" msgstr "" -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "" -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "Sæt ind" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "" -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " "LiVES.\n" msgstr "" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2227,31 +2232,31 @@ "the 'Trim Audio' function from the Audio menu." msgstr "" -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." msgstr "" -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2259,7 +2264,7 @@ "Clipboard audio has been erased.\n" msgstr "" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2268,88 +2273,88 @@ "using unchanged audio ?\n" msgstr "" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "" -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "Indsætter" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "" -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "" -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "Annullerer" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" "Are you sure ?" msgstr "" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "" -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "Sletter" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "Slet" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" "Selection is locked.\n" msgstr "" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2357,11 +2362,11 @@ "play.)\n" msgstr "" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2370,7 +2375,7 @@ "%s\n" msgstr "" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2379,7 +2384,7 @@ "The plugin may be broken or not installed correctly." msgstr "" -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2388,22 +2393,22 @@ "Please press 'Cancel' if that is not what you want.\n" msgstr "" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2411,24 +2416,24 @@ "Click OK to proceed.\n" msgstr "" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "" -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "" -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "" -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2436,39 +2441,39 @@ "Internal: %s (%d bpp) / %s\n" msgstr "" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." msgstr "" -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" "(%d virtual)" msgstr "" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" "(%d decoded)" msgstr "" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" " %.2f sec." msgstr "" -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" @@ -2476,30 +2481,30 @@ "\n" " Ukendt" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" "%s %s" msgstr "" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2516,22 +2521,22 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n" msgstr "" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "" -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" "Launchpad Contributions:\n" " AJenbo https://launchpad.net/~ajenbo\n" " nanker https://launchpad.net/~nanker" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, c-format msgid "" "LiVES Version %s\n" @@ -2545,14 +2550,14 @@ "Homepage: %s" msgstr "" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 msgid "" "\n" "\n" "You need to install mplayer or mplayer2 to be able to preview this file.\n" msgstr "" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 msgid "" "\n" "\n" @@ -2560,93 +2565,93 @@ "this file.\n" msgstr "" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" "%s\n" msgstr "" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 msgid "Encoder Debug Output" msgstr "" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "" -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 msgid "Load Subtitles" msgstr "" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 #, fuzzy msgid "Select Audio File" msgstr "Slet lydblok" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -2654,83 +2659,83 @@ "." msgstr "" -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "" -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "Ny lyd" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "" -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "" -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 #, fuzzy msgid "Layout Errors" msgstr "Ryd _fejl" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "Ryd _fejl" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "Genoptag" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "på pause..." -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "genoptaget..." -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "Behold" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, c-format msgid "" "\n" @@ -2739,30 +2744,30 @@ "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "Annuller" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 #, fuzzy msgid "Selected Frame" msgstr "LiVES: Valgt ramme" -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 #, fuzzy msgid "_Save Frame as..." msgstr "Start ramme" -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -2771,7 +2776,7 @@ "\n" msgstr "" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -2779,13 +2784,13 @@ "\n" msgstr "" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" msgstr "" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -2794,17 +2799,17 @@ "\n" msgstr "" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" msgstr "" -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -2814,19 +2819,19 @@ "(Default of %.3f frames per second will be used.)\n" msgstr "" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "" -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "" -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -2835,119 +2840,119 @@ "rate.\n" msgstr "" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "" -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "" -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 msgid "Append Audio File" msgstr "" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "" -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "" -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "" -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "" -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "" -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" "Are you sure ?" msgstr "" -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "" -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "" @@ -2960,877 +2965,877 @@ msgid "Merge Clipboard [ %d Frames ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "" -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "" -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "" -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "" -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "" -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "" -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "" -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "" -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "" -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "" -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "" -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "" -#: src/gui.c:692 +#: src/gui.c:674 #, c-format msgid "_Backup Clip as .%s..." msgstr "" -#: src/gui.c:701 +#: src/gui.c:683 #, c-format msgid "_Restore Clip from .%s..." msgstr "" -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "" -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "" -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "" -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "" -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "" -#: src/gui.c:1069 +#: src/gui.c:1045 msgid "Letterbox Mode" msgstr "" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "" -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "" -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "" -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "" -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "" -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "" -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "" -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "" -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "" -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "" -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "" -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "" -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "" -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "" -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "" -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "" -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "" -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "" -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "" -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "" -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "" -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "" -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "" -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "" -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "" -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "" -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "" -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "" -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "" -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "" -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "" -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "" -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "" -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "" -#: src/gui.c:1397 +#: src/gui.c:1371 msgid "Receive _LiVES Stream from..." msgstr "" -#: src/gui.c:1401 +#: src/gui.c:1375 msgid "_Send LiVES Stream to..." msgstr "" -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "" -#: src/gui.c:1426 +#: src/gui.c:1399 #, c-format msgid "_Import Project (.%s)..." msgstr "" -#: src/gui.c:1430 +#: src/gui.c:1403 #, c-format msgid "E_xport Project (.%s)..." msgstr "" -#: src/gui.c:1437 +#: src/gui.c:1409 #, fuzzy, c-format msgid "_Import Custom Theme (.%s)..." msgstr "Indlæser layout fra %s..." -#: src/gui.c:1442 +#: src/gui.c:1414 #, c-format msgid "E_xport Theme (.%s)..." msgstr "" -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "" -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "" -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." msgstr "" -#: src/gui.c:1476 +#: src/gui.c:1448 msgid "_Reset All Playback Speeds and Positions" msgstr "" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "" -#: src/gui.c:1480 +#: src/gui.c:1452 #, fuzzy msgid "_MIDI/Joystick Interface" msgstr "_Joystick udstyr" -#: src/gui.c:1489 +#: src/gui.c:1461 msgid "_MIDI/Joystick Learner..." msgstr "" -#: src/gui.c:1493 +#: src/gui.c:1465 msgid "_Save Device Mapping..." msgstr "" -#: src/gui.c:1497 +#: src/gui.c:1469 msgid "_Load Device Mapping..." msgstr "" -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 msgid "_Donate to the Project !" msgstr "" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 msgid "_Email the Author" msgstr "" -#: src/gui.c:1547 +#: src/gui.c:1519 msgid "Report a _Bug" msgstr "" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 msgid "Suggest a _Feature" msgstr "" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 msgid "Assist with _Translating" msgstr "" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "" -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." msgstr "" #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr "" -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr "" -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr "" -#: src/gui.c:3613 +#: src/gui.c:3553 msgid "Streaming" msgstr "" -#: src/gui.c:3615 +#: src/gui.c:3555 #, fuzzy, c-format msgid "Play Window%s" msgstr "_Luk Vindue" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "" -#: src/gui.c:4199 +#: src/gui.c:4127 #, c-format msgid "'LiVES opened the file' '%s'" msgstr "" -#: src/gui.c:4220 +#: src/gui.c:4146 #, c-format msgid "'LiVES closed the file' '%s'" msgstr "" @@ -3840,11 +3845,11 @@ msgid "Mapped to ctrl-%d" msgstr "" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "Effekter" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "" @@ -3858,11 +3863,11 @@ msgid "Select clip for %s\n" msgstr "" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "" @@ -3907,11 +3912,11 @@ msgid "%d bytes" msgstr "" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -3919,81 +3924,81 @@ "Switched to clip %s\n" msgstr "" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" "Switched to empty clip\n" msgstr "" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " "updated accordingly\n" msgstr "" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -4001,7 +4006,7 @@ "by another copy of LiVES.\n" msgstr "" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -4009,39 +4014,39 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2188 +#: src/utils.c:2207 #, c-format msgid "" "\n" "%s names may not be blank.\n" msgstr "" -#: src/utils.c:2196 +#: src/utils.c:2215 #, c-format msgid "" "\n" "%s names may not be longer than %d characters.\n" msgstr "" -#: src/utils.c:2204 +#: src/utils.c:2223 #, c-format msgid "" "\n" "%s names may not contain spaces or the characters%s.\n" msgstr "" -#: src/utils.c:2213 +#: src/utils.c:2232 #, c-format msgid "" "\n" "%s names may not start with a '.' or contain '..'\n" msgstr "" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4049,72 +4054,72 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "" -#: src/utils.c:3492 +#: src/utils.c:3548 msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "" -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4124,29 +4129,29 @@ "Overwrite ?\n" msgstr "" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr "" -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr "" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4171,7 +4176,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr "" @@ -4272,7 +4277,7 @@ msgstr "" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "" @@ -4326,12 +4331,12 @@ msgid "Recording performance..." msgstr "" -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4340,21 +4345,21 @@ "and resize all frames to the current size.\n" msgstr "" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4362,13 +4367,13 @@ "%s\n" msgstr "" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" msgstr "" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4376,7 +4381,7 @@ "Bad things may happen with this clip.\n" msgstr "" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4384,73 +4389,73 @@ "Default can be set in Tools | Preferences | Misc.\n" msgstr "" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, fuzzy, c-format msgid " - Author: %s\n" msgstr "Forfatter: %s" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, c-format msgid " - Title: %s\n" msgstr "" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr "" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "" -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "" -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "" -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -4498,61 +4503,61 @@ msgid "Recovering files..." msgstr "" -#: src/dialogs.c:87 +#: src/dialogs.c:83 msgid "Show affeced _layouts" msgstr "" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" msgstr "" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr "" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 #, fuzzy msgid "Warning !" msgstr "Advarsler" -#: src/dialogs.c:198 +#: src/dialogs.c:186 #, fuzzy msgid "Error !" msgstr "$fejl" -#: src/dialogs.c:208 +#: src/dialogs.c:196 #, fuzzy msgid "Information" msgstr "LiVES: Information for %s" -#: src/dialogs.c:234 +#: src/dialogs.c:221 msgid "Question" msgstr "" -#: src/dialogs.c:248 +#: src/dialogs.c:235 #, fuzzy msgid "File Error" msgstr "Ryd _fejl" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "Vis _detaljer" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -4563,7 +4568,7 @@ "(Disk warning levels can be configured in Preferences.)" msgstr "" -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -4575,11 +4580,11 @@ "Preferences.)" msgstr "" -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "" -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -4587,46 +4592,46 @@ "Please try closing some other applications first.\n" msgstr "" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "" -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" "%s%d%% done. Time remaining: %u sec%s\n" msgstr "" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" "%d/%d frames opened. Time remaining %u sec.\n" msgstr "" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" "%d/%d frames opened.\n" msgstr "" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" "%d frames opened.\n" msgstr "" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" "Time remaining: %d sec" msgstr "" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -4634,7 +4639,7 @@ "Please close a file and then try again." msgstr "" -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -4646,47 +4651,47 @@ "Please make sure you can write to this directory." msgstr "" -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 msgid "" "\n" "LiVES currently requires either 'mplayer', 'mplayer2', or 'sox' to function. " "Please install one or other of these, and try again.\n" msgstr "" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 msgid "" "\n" "This function requires either mplayer or mplayer2 to operate.\n" "You may wish to install one or other of these and try again.\n" msgstr "" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 msgid "" "\n" "This function requires either mplayer, mplayer2 or mpv to operate.\n" "You may wish to install one or other of these and try again.\n" msgstr "" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" "Or switch to another encoder format in Tools | Preferences | Encoding\n" msgstr "" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -4694,19 +4699,19 @@ "Please set the audio codec in Tools|Preferences|Encoding\n" msgstr "" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -4714,83 +4719,83 @@ "Due to restrictions in the %s format\n" msgstr "" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" msgstr "" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr "" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr "" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr "" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr "" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" msgstr "" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -4799,14 +4804,14 @@ "\n" msgstr "" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" "\n" msgstr "" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -4815,7 +4820,7 @@ "Try recording for just a selection of the file." msgstr "" -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -4826,7 +4831,7 @@ "Please press Cancel to abort the insert, or OK to continue." msgstr "" -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -4839,18 +4844,18 @@ "click Cancel." msgstr "" -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " "in your %s file" msgstr "" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -4861,25 +4866,25 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 msgid "" "Sorry, unknown audio type.\n" "\n" " (Filenames must end in" msgstr "" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" "(They will not be usable without the set).\n" msgstr "" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -4888,7 +4893,7 @@ "Click Cancel to pick a new name.\n" msgstr "" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -4896,7 +4901,7 @@ "." msgstr "" -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -4904,7 +4909,7 @@ "." msgstr "" -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -4915,7 +4920,7 @@ "Otherwise click Cancel to skip loading this file.\n" msgstr "" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -4925,7 +4930,7 @@ "The clip could not be loaded.\n" msgstr "" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -4933,7 +4938,7 @@ "Alternately, select a different audio player in Preferences.\n" msgstr "" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -4942,13 +4947,13 @@ "Automatic jack startup will be disabled now.\n" msgstr "" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" msgstr "" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -4959,13 +4964,13 @@ "%s\n" msgstr "" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" msgstr "" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -4975,7 +4980,7 @@ "It is recommended to increase it to at least %d MB" msgstr "" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -4984,7 +4989,7 @@ "Do you wish to delete them ?\n" msgstr "" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -4992,7 +4997,7 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -5000,81 +5005,81 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" msgstr "" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" msgstr "" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" "You can set this in Tools|Preferences|Playback." msgstr "" -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" "Should I try to repair the disk copy of the layout ?\n" msgstr "" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" msgstr "" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" "Audio rate must be greater than 0.\n" msgstr "" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5082,14 +5087,14 @@ "Are you sure you wish to view it ?\n" msgstr "" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" "You must install 'dvgrab' to use this function.\n" msgstr "" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5098,25 +5103,25 @@ "You may need to select one of these in Tools/Preferences/Playback.\n" msgstr "" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" msgstr "" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5125,33 +5130,33 @@ "echo %d > /proc/sys/net/core/rmem_max\n" msgstr "" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -5161,7 +5166,7 @@ "%s%s%s" msgstr "" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -5171,7 +5176,7 @@ "%s" msgstr "" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -5181,7 +5186,7 @@ "%s" msgstr "" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -5190,7 +5195,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -5200,7 +5205,7 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -5209,7 +5214,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -5219,12 +5224,12 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "" -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -5233,7 +5238,7 @@ "Please check your system for errors.\n" msgstr "" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -5242,7 +5247,7 @@ "Please check the file permissions and try again." msgstr "" -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -5251,7 +5256,7 @@ "Please check the directory permissions and try again." msgstr "" -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, c-format msgid "" "\n" @@ -5259,14 +5264,14 @@ "%s\n" msgstr "" -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -5274,13 +5279,13 @@ "Please select another encoder from the list.\n" msgstr "" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" msgstr "" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -5290,27 +5295,27 @@ "- Check if the device actually exists.\n" msgstr "" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" "Do you wish to overwrite the existing subtitles ?\n" msgstr "" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 msgid "" "\n" "LiVES currently only supports subtitles of type" msgstr "" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -5319,14 +5324,14 @@ "or OK to continue and save as type \"%s\"\n" msgstr "" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" "(If unsure, click Yes)\n" msgstr "" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -5337,19 +5342,19 @@ "." msgstr "" -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" msgstr "" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" msgstr "" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -5357,7 +5362,7 @@ "DO NOT SHUT DOWN OR CLOSE LIVES !\n" msgstr "" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, c-format msgid "" "\n" @@ -5365,14 +5370,14 @@ "The theme could not be loaded correctly.\n" msgstr "" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" "Please check the spelling of the set name and try again.\n" msgstr "" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -5381,7 +5386,7 @@ "directory. Would you like me to do this (recommended) ?" msgstr "" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -5393,7 +5398,7 @@ msgstr "" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -5402,38 +5407,38 @@ "\n" msgstr "" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" "Consult your package distributor.\n" msgstr "" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" msgstr "" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, c-format msgid "" "\n" @@ -5442,7 +5447,7 @@ "(Theme name not found).\n" msgstr "" -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -5451,7 +5456,7 @@ "already exists. Would you like to overwrite it ?\n" msgstr "" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -5592,7 +5597,7 @@ msgid "Video only Transitions" msgstr "" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "kun lyd" @@ -5600,7 +5605,7 @@ msgid "Audio only Transitions" msgstr "" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "lyd" @@ -5644,7 +5649,7 @@ msgid "Audio Analysers" msgstr "" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "ukendt" @@ -5699,360 +5704,360 @@ "No frames were generated.\n" msgstr "" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 #, fuzzy msgid "Invalid element" msgstr "Ugyldig parameter" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 #, fuzzy msgid "Invalid property" msgstr "Ugyldig parameter" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 msgid "Invalid plugin" msgstr "" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 #, fuzzy msgid "No error" msgstr "$fejl" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 msgid "integer" msgstr "" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 msgid "string" msgstr "" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 msgid "pointer" msgstr "" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" "Error was: %s\n" msgstr "" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr "" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, c-format msgid "Successfully loaded %d compound filters\n" msgstr "" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, c-format msgid "Failed to start generator %s (%s)\n" msgstr "" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 msgid "Autoscale" msgstr "" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 #, fuzzy msgid "Delete this connection" msgstr "_Slet denne effekt" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, c-format msgid "%s - Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, c-format msgid "%s - Parameter Data Connections" msgstr "" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 msgid "Parameter and Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 msgid "Auto Connect Channels" msgstr "" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 msgid "Auto Connect Parameters" msgstr "" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "_Nulstil værdier" -#: src/framedraw.c:241 +#: src/framedraw.c:242 msgid "_Frame" msgstr "" @@ -6096,40 +6101,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "%s : størrelse" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "Ny størrelse (pixels)" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "_Bredde" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "_Højde" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "" -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -6195,32 +6200,32 @@ "\n" msgstr "" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "" -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "_FPS" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -6229,7 +6234,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -6239,31 +6244,31 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" "Error was: %s\n" msgstr "" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " "***\n" msgstr "" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -6272,7 +6277,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -6281,7 +6286,7 @@ "or switch to another plugin using Tools|Preferences|Encoding\n" msgstr "" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, c-format msgid "" "\n" @@ -6289,12 +6294,12 @@ "No decoders found in %s !\n" msgstr "" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, c-format msgid " using %s" msgstr "" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -6303,7 +6308,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -6313,25 +6318,25 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "/ukendt" -#: src/plugins.c:2556 +#: src/plugins.c:2550 #, fuzzy msgid "Decoder Plugins" msgstr "Afkoder" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "%s avancerede indstillinger" @@ -6532,19 +6537,19 @@ msgid "Move _Down" msgstr "Flyt ne_d" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 msgid "RFX Properties" msgstr "" -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -6553,7 +6558,7 @@ "\n" msgstr "" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -6561,221 +6566,221 @@ "Please check the trigger code.\n" msgstr "" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 #, fuzzy msgid "New RFX Parameter" msgstr "Sæt parametre" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 #, fuzzy msgid "Edit RFX Parameter" msgstr "LiVES: - RFX Parametre" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "_Navn: " -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "" -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "" -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." msgstr "" -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "" -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "" -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "" -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "" -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "" -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "" -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "" -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "" -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "" -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr "" -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "" -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 msgid "_Wrap value" msgstr "" -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "" -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "Sæt _værdier" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "Standard _Rød: " -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "Standard _Grøn:" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "Standard _Blå: " -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "Standrad værdi: " -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "" -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 msgid "New RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 msgid "Edit RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "" -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "" -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "" -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "Række: " -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "" -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "" -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "" -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 msgid "New RFX Trigger" msgstr "" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 msgid "Edit RFX Trigger" msgstr "" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "" -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 msgid "Pre Loop Code" msgstr "" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 msgid "Loop Code" msgstr "" -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 msgid "Post Loop Code" msgstr "" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, c-format msgid "Default text (max length %d)" msgstr "" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 msgid "Enter values, one per line" msgstr "" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" "Name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" "Name must not contain spaces.\n" msgstr "" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" "Menu text must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" "Action description must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" "Author must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -6783,28 +6788,28 @@ "Name must be unique.\n" msgstr "" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" "Loop code should not be blank.\n" msgstr "" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" "Trigger code should not be blank for a utility.\n" msgstr "" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" "Parameter name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -6813,41 +6818,41 @@ "\n" msgstr "" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "" -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "Dårlig script version.\n" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -6857,27 +6862,27 @@ "\n" msgstr "" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "" -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "" -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "test..." -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "" -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -6886,7 +6891,7 @@ "Please check this program is in your path and executable.\n" msgstr "" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -6896,12 +6901,12 @@ "\n" msgstr "" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "" -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -6911,7 +6916,7 @@ "Error code was %d\n" msgstr "" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -6921,12 +6926,12 @@ "Please delete it first, or rename the test script.\n" msgstr "" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "" -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -6937,20 +6942,20 @@ "Return code was %d (%s)\n" msgstr "" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 msgid "Export Script" msgstr "" -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "Kopierer %s til %s..." -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 msgid "Import Script" msgstr "" -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -6960,45 +6965,45 @@ "Please delete it first, or rename the import script.\n" msgstr "" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 #, fuzzy msgid "Copy RFX Script" msgstr "LiVES: - Kopier RFX script" -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "" -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr " Script: " -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 msgid "Rename Test RFX Script" msgstr "" -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "Fra script: " -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 #, fuzzy msgid "RFX Script Name" msgstr "LiVES: - RFX Script navn" -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "Script navn: " -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "Nyt navn: " -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "Nyt script navn: " -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -7006,12 +7011,12 @@ "Script name must be unique.\n" msgstr "" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "" -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -7022,25 +7027,25 @@ "Return code was %d\n" msgstr "" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 msgid "Applying Current Real Time Effects to" msgstr "" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "" -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "" -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -7048,7 +7053,7 @@ "full screen, separate window (fs) mode\n" msgstr "" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -7056,7 +7061,7 @@ "(Free space = UNKNOWN)" msgstr "" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -7065,14 +7070,14 @@ "(Free space = %s)" msgstr "" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" "It should be in a partition with plenty of free disk space.\n" msgstr "" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7083,7 +7088,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7093,7 +7098,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1193 +#: src/preferences.c:1163 msgid "" "You have chosen to change the working directory.\n" "Please make sure you have no other copies of LiVES open.\n" @@ -7105,7 +7110,7 @@ "setting." msgstr "" -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, c-format msgid "" "\n" @@ -7114,13 +7119,13 @@ "See %s\n" msgstr "" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" msgstr "" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, c-format msgid "" "\n" @@ -7129,918 +7134,918 @@ "See %s\n" msgstr "" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "" -#: src/preferences.c:2468 +#: src/preferences.c:2418 #, fuzzy msgid "Preferences" msgstr "LiVES: - Indstillinger" -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "" -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr "" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr "" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." msgstr "" -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "GUI" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "_Anvend altid følgende værdier:" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr "" -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "sekunder" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "Efter hver _ændring" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "_Aldrig" -#: src/preferences.c:2872 +#: src/preferences.c:2757 msgid "Maximum number of visible tracks" msgstr "" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "" -#: src/preferences.c:2925 +#: src/preferences.c:2804 msgid "Video open command (fallback)" msgstr "" -#: src/preferences.c:2935 +#: src/preferences.c:2811 msgid "Fallback image format" msgstr "" -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "_jpeg" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "_png" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "" -#: src/preferences.c:2964 +#: src/preferences.c:2832 msgid "Open/render compression" msgstr "" -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr "" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "" -#: src/preferences.c:2995 +#: src/preferences.c:2856 msgid "Automatic trimming / padding of audio when possible" msgstr "" -#: src/preferences.c:2997 +#: src/preferences.c:2858 msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "Afkoder" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "VIDEO" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "_Plugin" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "LYD" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "_Afspiller" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "- internt -" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "" -#: src/preferences.c:3269 +#: src/preferences.c:3110 msgid "Source:" msgstr "" -#: src/preferences.c:3273 +#: src/preferences.c:3114 msgid "_Internal" msgstr "" -#: src/preferences.c:3278 +#: src/preferences.c:3119 msgid "_External (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "Afspilning" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" msgstr "" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr "" -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "GB" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "Optager" -#: src/preferences.c:3454 +#: src/preferences.c:3273 msgid "You can also change these values when encoding a clip" msgstr "" -#: src/preferences.c:3466 +#: src/preferences.c:3285 msgid "Encoder" msgstr "" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "Output format" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "Lyd codeks" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "Encoder" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." msgstr "" -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr "" -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr "" -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr "" -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr "" -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr "" -#: src/preferences.c:3649 +#: src/preferences.c:3461 msgid " Working directory (do not remove) " msgstr "" -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "" -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "" -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "Mapper" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "" -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr "" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "" -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" msgstr "" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "" -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr " MB" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "" -#: src/preferences.c:3872 +#: src/preferences.c:3659 msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " "when LiVES is started." msgstr "" -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "" -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "" -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "" -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "" -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "" -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "" -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "" -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "" -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "" -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "" -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "" -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "" -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "" -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "" -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." msgstr "" -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "" -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "" -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "" -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "" -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "" -#: src/preferences.c:4113 +#: src/preferences.c:3865 msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "" -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "Advarsler" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "" -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "CD udstyr " -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "" -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "Div" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "Nyt tema " -#: src/preferences.c:4242 +#: src/preferences.c:3977 msgid "Main Theme Details" msgstr "" -#: src/preferences.c:4254 +#: src/preferences.c:3988 #, fuzzy msgid " _Foreground Color" msgstr "_Start farve" -#: src/preferences.c:4273 +#: src/preferences.c:4007 #, fuzzy msgid " _Background Color" msgstr "_Start farve" -#: src/preferences.c:4291 +#: src/preferences.c:4026 #, fuzzy msgid "_Alt Foreground Color" msgstr "_Start farve" -#: src/preferences.c:4309 +#: src/preferences.c:4044 #, fuzzy msgid "_Alt Background Color" msgstr "_Start farve" -#: src/preferences.c:4327 +#: src/preferences.c:4062 msgid " Info _Text Color" msgstr "" -#: src/preferences.c:4346 +#: src/preferences.c:4081 msgid " Info _Base Color" msgstr "" -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "" -#: src/preferences.c:4365 +#: src/preferences.c:4100 msgid "Affects some contrast details of the timeline" msgstr "" -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "" -#: src/preferences.c:4398 +#: src/preferences.c:4132 #, fuzzy msgid "Frame blank image" msgstr "%d rammer" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "" -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4474 +#: src/preferences.c:4203 msgid "Track background (multitrack)" msgstr "" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "" -#: src/preferences.c:4529 +#: src/preferences.c:4258 msgid "Timeline selection (multitrack)" msgstr "" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "" -#: src/preferences.c:4553 +#: src/preferences.c:4282 msgid "Timecode foreground (multitrack)" msgstr "" -#: src/preferences.c:4565 +#: src/preferences.c:4293 #, fuzzy msgid "Frame surround" msgstr "_Rammer per sekundt " -#: src/preferences.c:4582 +#: src/preferences.c:4306 #, fuzzy msgid "Themes/Colors" msgstr "Temaer" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "" -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "" -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" msgstr "" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" msgstr "" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "Jack integration" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "_Joystick udstyr" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "_MIDI udstyr" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "" -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "Avanceret" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." msgstr "" -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "MIDI gentag" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "" -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -8048,41 +8053,41 @@ "Click OK to continue.\n" msgstr "" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." msgstr "" -#: src/preferences.c:5525 +#: src/preferences.c:5205 msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "" -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "" -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "" @@ -8105,156 +8110,156 @@ msgid "Resample/Resize" msgstr "" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" "New rate must be greater than 0\n" msgstr "" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "" -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "" -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "" -#: src/resample.c:1208 +#: src/resample.c:1209 #, fuzzy msgid "New Clip Audio" msgstr "Ny lyd" -#: src/resample.c:1210 +#: src/resample.c:1211 msgid "External Clip Settings" msgstr "" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "Aktuel" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "" -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 msgid "Channels" msgstr "" -#: src/resample.c:1256 +#: src/resample.c:1257 msgid "Sample Size " msgstr "" -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "" -#: src/resample.c:1322 +#: src/resample.c:1323 #, fuzzy msgid "New Audio Details" msgstr "Ny lyd" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "Ny" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "_Slå lyd til" -#: src/resample.c:1369 +#: src/resample.c:1370 msgid "_Channels" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "_Sample Size" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "Sample Size" msgstr "" -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "_Rammer per sekundt " -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "" -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr " timer " -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr " minutter " -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr " sekender " -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "Ubegrænset" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "" -#: src/resample.c:1635 +#: src/resample.c:1636 msgid "Change Playback Speed" msgstr "" -#: src/resample.c:1637 +#: src/resample.c:1638 msgid "Resample Video" msgstr "" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -8265,7 +8270,7 @@ "in _frames per second" msgstr "" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -8276,80 +8281,80 @@ "in frames per second" msgstr "" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "Hastighedsændring" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" "LiVES was unable to reorder the frames." msgstr "" -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "" @@ -8579,7 +8584,7 @@ msgid "Mode active" msgstr "" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "Info" @@ -8701,54 +8706,54 @@ msgid "Opened firewire card %d" msgstr "Åbnede firewire kort %d" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "Auto backup" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, fuzzy, c-format msgid "%s : parameters for %s" msgstr "Ingen parametre" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "Kilde: %s" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." msgstr "" -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -8757,7 +8762,7 @@ "right or double clicking on it.\n" msgstr "" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -8765,14 +8770,14 @@ "Select an effect in FX stack first to view its parameters.\n" msgstr "" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" "No clips loaded.\n" msgstr "" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -8782,7 +8787,7 @@ "before inserting clips into the timeline." msgstr "" -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -8791,189 +8796,189 @@ "to apply compositors.\n" msgstr "" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" msgstr "" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" msgstr "" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr "" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 #, fuzzy msgid "Selected Clip" msgstr "Va_lg" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 msgid "_Adjust Start and End Points" msgstr "" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 msgid "_Edit/Encode in Clip Editor" msgstr "" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 #, fuzzy msgid "_Show Clip Information" msgstr "LiVES: Information for %s" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 msgid "_Close this Clip" msgstr "" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 #, fuzzy msgid "Audio Mixer (ctrl-m)" msgstr "Lydmiksere" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "" -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "at vælge en ramme." -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "" -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "at vælge en blok." -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "" -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "" -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "" -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "" -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "" -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "Flyt blok" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "Flyt lydblok" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "Slet blok" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "Slet lydblok" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "Split spor" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "Split blok" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "Slet %s" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "Indsæt blok" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "Indsæt mellemrum" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "Indsæt lydblok" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "" -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "" -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " "audio rate %d, audio sample size %d, %s.\n" msgstr "" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -8983,7 +8988,7 @@ "then load in the new set from the File menu.\n" msgstr "" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -8991,620 +8996,620 @@ "It cannot be loaded.\n" msgstr "" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "" -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "_Åbn..." -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "" -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "" -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 #, fuzzy msgid "_Close the Selected Clip" msgstr "Va_lg" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 #, fuzzy msgid "_Save Layout as..." msgstr "_Indlæs layout..." -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 #, fuzzy msgid "_Load Layout..." msgstr "_Indlæs layout..." -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 msgid "_Wipe/Delete Layout..." msgstr "" -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "" -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 msgid "Auto Load _Subtitles with Clips" msgstr "" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 msgid "_Adjust Selected Clip Start/End Points" msgstr "" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 #, fuzzy msgid "_Insert Selected Clip Audio" msgstr "Va_lg" -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 #, fuzzy msgid "_Delete Selected Block" msgstr "_Slet den valgte blok" -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 msgid "_Jump to Previous Block Boundary" msgstr "" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 msgid "_Jump to Next Block Boundary" msgstr "" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 msgid "Clear _Marks from Timeline" msgstr "" -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 msgid "Ignore Selection Limits when Inserting" msgstr "" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 msgid "Pla_y Selected Time Only" msgstr "" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 #, fuzzy msgid "_Move Effects with Blocks" msgstr "_Vælg denne blok" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 msgid "Select _Autotransition Effect..." msgstr "" -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 msgid "Crossfade Audio with Autotransition" msgstr "" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 #, fuzzy msgid "View/_Edit Selected Effect" msgstr "LiVES: Valgt effekt" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 #, fuzzy msgid "_Delete Selected Effect" msgstr "_Slet den valgte effekt" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 msgid "Apply Effect to _Block..." msgstr "" -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 msgid "Apply Effect to _Region..." msgstr "" -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "_Spor" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 #, fuzzy msgid "Make _Backing Audio Current Track" msgstr "_Vælg aktuelt spor" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 #, fuzzy msgid "_Split Current Track at Cursor" msgstr "_Vælg aktuelt spor" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 #, fuzzy msgid "_Split Selected Video Tracks" msgstr "Vælg _ingen videospor" -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 msgid "Insert Gap in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 msgid "Insert Gap in Current Track/Selected Time" msgstr "" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 msgid "Close All _Gaps in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "Va_lg" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "_Vælg aktuelt spor" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 #, fuzzy msgid "Select _All Video Tracks" msgstr "Vælg _alle videospor" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 #, fuzzy msgid "Select _No Video Tracks" msgstr "Vælg _ingen videospor" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 #, fuzzy msgid "Select All _Time" msgstr "Slet lydblok" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 msgid "Select from _Zero Time" msgstr "" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 #, fuzzy msgid "Select to _End Time" msgstr "Slet lydblok" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "_Kopier..." -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 msgid "_Timecode to Region Start" msgstr "" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 msgid "_Timecode to Region End" msgstr "" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 msgid "_Region Start to Timecode" msgstr "" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 msgid "_Region End to Timecode" msgstr "" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 #, fuzzy msgid "Select/Deselect Block at Current Track/Time" msgstr "_Vælg aktuelt spor" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 msgid "_Change Width, Height and Audio Values..." msgstr "" -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 msgid "_Render All to New Clip" msgstr "" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 msgid "Render _Video" msgstr "" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 #, fuzzy msgid "Render _Audio" msgstr "Ny lyd" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 msgid "_Normalise Rendered Audio" msgstr "" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 msgid "_Pre-render Audio" msgstr "" -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "_Vis" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 msgid "Block _In/Out Points" msgstr "" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 #, fuzzy msgid "_Effects at Current" msgstr "_Vælg aktuelt spor" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 #, fuzzy msgid "Audio Parameters" msgstr "Lydparametre" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 msgid "Show Backing _Audio Track" msgstr "" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 #, fuzzy msgid "Compact View" msgstr "Kompakt visning" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 msgid "Maximum Tracks to Display..." msgstr "" -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 msgid "Scroll to Follow Playback" msgstr "" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 msgid "_Center on Cursor" msgstr "" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 #, fuzzy msgid "_Zoom In" msgstr "_Zoom ind" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 #, fuzzy msgid "_Zoom Out" msgstr "_Zoom ud" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 msgid "Multitrack _Details" msgstr "" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 msgid "_Show FRAME Events" msgstr "" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 msgid "_Show Multitrack Keys" msgstr "" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 #, fuzzy msgid "Insert With _Audio" msgstr "Indsæt lydblok" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 #, fuzzy msgid "Select _Overlap" msgstr "Vælg spor" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" msgstr "" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 msgid "Mouse Mode: _Move" msgstr "" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 msgid "Mouse Mode: _Select" msgstr "" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 msgid "Insert Mode: _Normal" msgstr "" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "_Anvend" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "Tid" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "" -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "" -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "Rul" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" "Switched to Clip Edit mode\n" msgstr "" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr "" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr "" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "Vælg spor" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "Vis/skjul lyd" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "Video %d" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr " %s" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 #, fuzzy msgid "Selected Effect" msgstr "LiVES: Valgt effekt" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 #, fuzzy msgid "_View/Edit this Effect" msgstr "_Vis denne effekt" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 #, fuzzy msgid "_View this Effect" msgstr "_Vis denne effekt" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 #, fuzzy msgid "_Delete this Effect" msgstr "_Slet denne effekt" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "Denne effekt kan ikke flyttes" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr "" -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "" -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "%d rammer" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" "Switched to Multitrack mode\n" msgstr "" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" "Nodes can be deleted." msgstr "" -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "%s output" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "lydspor" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "%s til %s" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "Indsæt _før" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "Indsæt _efter" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -9612,287 +9617,287 @@ "current time.\n" msgstr "" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." msgstr "" -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 #, fuzzy msgid "Selected Block/Frame" msgstr "LiVES: Valgt ramme" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 #, fuzzy msgid "_Select this Block" msgstr "_Vælg denne blok" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 #, fuzzy msgid "_Split Block Here" msgstr "_Split blok her" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 msgid "List _Effects Here" msgstr "" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "_Juster %s" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 #, fuzzy msgid "_Delete this Block" msgstr "Slet denne _blok" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 #, fuzzy msgid "_Insert Here" msgstr "_Indsæt her" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 #, fuzzy msgid "_Insert Audio Here" msgstr "_Indsæt lyd her" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" msgstr "" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "spor %s" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "spor %s og %s" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "valgte spor" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "Rydder op..." -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "_Pause" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "Pause (p)" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " "to %.4f\n" msgstr "" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" "selected.\n" msgstr "" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" msgstr "" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." msgstr "" -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." msgstr "" -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." msgstr "" -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" msgstr "" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" msgstr "" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" msgstr "" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "" -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "" -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" msgstr "" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "efter det.\n" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "før det.\n" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 msgid "Saving layout" msgstr "" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "rammer" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" msgstr "" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -9900,75 +9905,75 @@ "Therefore it could not be loaded properly.\n" msgstr "" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "auto backup" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" "Unable to load layout file %s\n" msgstr "" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "Indlæser layout fra %s..." -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "" -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "%d fejl opdaget.\n" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 msgid "" "The current layout has changes which have not been saved.\n" "Are you sure you wish to wipe it ?\n" msgstr "" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 #, fuzzy msgid "Multitrack Audio Mixer" msgstr "Lydmiksere" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "_Nulstil værdier" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "_Luk mikser" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" msgstr "" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "" @@ -9994,7 +9999,7 @@ "Connection to jack audio was reset.\n" msgstr "" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10002,7 +10007,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10010,7 +10015,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:104 +#: src/pulse.c:105 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10018,27 +10023,27 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" msgstr "" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" msgstr "" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr ""
View file
LiVES-2.8.4.tar.bz2/po/de_DE.po -> LiVES-2.8.6.tar.bz2/po/de_DE.po
Changed
@@ -2,7 +2,7 @@ msgstr "" "Project-Id-Version: Lives 0.9.5\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" "PO-Revision-Date: 2015-04-05 16:14+0000\n" "Last-Translator: Michael Kohl <rolf.michael.kohl@googlemail.com>\n" "Language-Team: Herbert U. Hübner <herbert.u.huebner@friendglow.net>\n" @@ -15,7 +15,7 @@ "X-Poedit-Country: GERMANY\n" "X-Poedit-Language: German\n" -#: src/main.c:132 +#: src/main.c:125 msgid "" "Attention Translators !\n" "This message is intended for you, so please do not translate it.\n" @@ -24,22 +24,22 @@ "http://lives-video.com/TRANS-README.txt" msgstr "" -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "%s Warnung: %s\n" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "%s Kritischer Fehler: %s\n" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "%s Fataler Fehler: %s\n" -#: src/main.c:203 +#: src/main.c:197 #, fuzzy, c-format msgid "" "\n" @@ -54,7 +54,7 @@ "Danke. Projektwiederherstellung sollte beim nächsten Start von LiVES möglich " "sein.\n" -#: src/main.c:205 +#: src/main.c:199 #, fuzzy, c-format msgid "" "\n" @@ -67,7 +67,7 @@ "Absturzberichte bitte mit Details über das Betriebssystem, Distribution und " "die LiVES-Version versehen (" -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" @@ -75,7 +75,7 @@ "und die Informationen, die unten angezeigt werden:\n" "\n" -#: src/main.c:210 +#: src/main.c:204 #, fuzzy msgid "" "Please try running LiVES with the -debug option to collect more " @@ -86,7 +86,7 @@ "um weitere Informationen zu sammeln\n" "\n" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" @@ -96,89 +96,89 @@ "um weitere Informationen zu sammeln\n" "\n" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "Set wird erhalten.\n" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "Beliebig" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "Kein(e)" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "empfohlen" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "deaktiviert!" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "**Momentanes Layout**" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "Eingebaut" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "Benutzerdefiniert" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "Test" -#: src/main.c:474 +#: src/main.c:460 #, fuzzy msgid "LiVES: - " msgstr "LiVES: - Einfügen" -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "Skalieren" -#: src/main.c:731 +#: src/main.c:708 #, fuzzy msgid "_Resize All Frames..." msgstr "Alle Frames _skalieren" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "Vordergrund" -#: src/main.c:1122 +#: src/main.c:1094 msgid "Background" msgstr "Hintergrund" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "Lade Echtzeit-Effekt Plugins..." -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "Jack Audio Server wird gestartet..." -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "Jack Transport Server wird gestartet..." -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "Verbindung zum Jack Transport Server wird hergestellt..." -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -199,35 +199,35 @@ "Alternativ, Versuchen Sie LiVES entweder mit der Option \"-jackopts 16\" zu " "starten, oder " -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "PulseAudio Server wird gestartet..." -#: src/main.c:1855 +#: src/main.c:1813 #, fuzzy, c-format msgid "%s...detected... " msgstr "mplayer...gefunden..." -#: src/main.c:1856 +#: src/main.c:1814 #, fuzzy, c-format msgid "%s...NOT DETECTED... " msgstr "mplayer...NICHT GEFUNDEN..." -#: src/main.c:1867 +#: src/main.c:1824 #, fuzzy msgid "Checking optional dependencies: " msgstr "Optionale Abhängigkeiten werden überprüft:" -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "Windows Version %04X" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -235,68 +235,68 @@ "Window manager reports as \"%s\"; " msgstr "" -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "Anzahl an Bildschirmen erkannt: %d\n" -#: src/main.c:1901 +#: src/main.c:1863 #, c-format msgid "Number of CPUs detected: %d " msgstr "Anzahl an Prozessoren erkannt: %d " -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "Little Endian" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "Big Endian" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "(%d Bits, %s)\n" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "" -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "GTK+ Version %d.%d.%d (kompiliert mit %d.%d.%d)" -#: src/main.c:1927 +#: src/main.c:1889 #, fuzzy, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "GTK+ Version %d.%d.%d (kompiliert mit %d.%d.%d)" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr ", mit cairo Unterstützung" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" "Many audio features will be unavailable.\n" msgstr "" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" @@ -305,141 +305,141 @@ "Willkommen bei LiVES Version %s.\n" "\n" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" "Startup syntax is: %s [opts] [filename [start_time] [frames]]\n" msgstr "" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "-help : Diese Hilfe anzeigen und beenden\n" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "-recover : Erzwungenes laden der Absturz-Wiederherstellung\n" -#: src/main.c:2593 +#: src/main.c:2545 msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "-nogui : Das GUI nicht anzeigen\n" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" msgstr "" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "" -#: src/main.c:2605 +#: src/main.c:2557 msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " "mplayer2" msgstr "" #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr ", pulse" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr ", sox oder jack\n" -#: src/main.c:2613 +#: src/main.c:2565 msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " "transport client,2 = jack transport master, 4 = start jack transport server, " "8 = pause audio when video paused,16 = start jack audio server] \n" msgstr "" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr " oder sox\n" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" msgstr "" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "-debug : Versuchen, Probleme zu finden ('gdb' muss installiert sein)\n" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "Starte das GUI..." -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -450,7 +450,7 @@ "(Maybe you need to change the value of <prefix_dir> in your %s file)\n" msgstr "" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -458,7 +458,7 @@ "Please make sure you have write access to %s and try again.\n" msgstr "" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -467,7 +467,7 @@ "before running LiVES.\n" msgstr "" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -477,7 +477,7 @@ "Please check the file permissions for this file and try again.\n" msgstr "" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -488,7 +488,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -496,7 +496,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2737 +#: src/main.c:2689 #, fuzzy, c-format msgid "" "\n" @@ -508,7 +508,7 @@ "LiVES konnte das Bild nicht aufnehmen\n" "\n" -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -519,56 +519,56 @@ "Thankyou.\n" msgstr "" -#: src/main.c:2751 +#: src/main.c:2703 msgid "" "\n" "LiVES currently requires 'mplayer', 'mplayer2' or 'sox' to function. Please " "install one or other of these, and try again.\n" msgstr "" -#: src/main.c:2756 +#: src/main.c:2708 msgid "" "\n" "LiVES currently requires both 'mplayer' or 'mplayer2' and 'sox' to function. " "Please install these, and try again.\n" msgstr "" -#: src/main.c:2769 +#: src/main.c:2721 msgid "" "\n" "LiVES was unable to locate 'mplayer','mplayer2' or 'mpv'. You may wish to " "install one of these to use LiVES more fully.\n" msgstr "" -#: src/main.c:2775 +#: src/main.c:2727 msgid "" "\n" "LiVES was unable to locate 'mplayer' or 'mplayer2'. You may wish to install " "one of these to use LiVES more fully.\n" msgstr "" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" "magick if you want to use rendered effects.\n" msgstr "" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " "image-magick if you want to use the merge function.\n" msgstr "" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " "should install 'sox'.\n" msgstr "" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -579,63 +579,63 @@ "You may need to change the value of <lib_dir> in %s\n" msgstr "" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "" -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "" #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "LiVES" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "Ungültiger Audiospieler %s\n" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "LiVES-%s: <Keine Datei>" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "rec %9d/%d" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "Wiedergabe" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" @@ -643,34 +643,34 @@ "LiVES konnte das Bild nicht aufnehmen\n" "\n" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "Datei %s geschlossen\n" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "_Rückgängig" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "_Wiederherstellen" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "Video" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "Links Audio" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "Rechts Audio" -#: src/main.c:7078 +#: src/main.c:6973 msgid "" "\n" "\n" @@ -822,7 +822,7 @@ msgid "Use _mplayer2 audio player" msgstr "" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "" @@ -1028,52 +1028,52 @@ msgid "_Finish" msgstr "_Fertig" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "" -#: src/interface.c:46 +#: src/interface.c:42 msgid "Apply _Deinterlace" msgstr "" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "" -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "Vorschau" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "" -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "" -#: src/interface.c:122 +#: src/interface.c:113 msgid "Click here to _Preview the file" msgstr "" -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 #, fuzzy msgid "Processing..." msgstr "LiVES: - Verarbeiten..." -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1082,8 +1082,8 @@ "Remember to switch off effects (ctrl-0) afterwards !" msgstr "" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" @@ -1091,173 +1091,178 @@ "\n" "Bitte Warten" -#: src/interface.c:221 +#: src/interface.c:206 msgid "Show Details" msgstr "" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "_Genug" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "_Vorschau" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "Paus_e" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "Pause/_Genug" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "_Abbrechen" -#: src/interface.c:334 +#: src/interface.c:324 msgid "Multitrack Details" msgstr "" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "Dateigröße" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "FPS" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "Ereignisse" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "Gesamtdauer" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "Audio" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "" -#: src/interface.c:568 +#: src/interface.c:590 msgid "Encoding Options" msgstr "" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." msgstr "" -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "_Meine Einstellungen behalten" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "_Empfohlene Einstellungen benutzen" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "Fenster _schließen" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "In _Datei speichern" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "_Vor der Auswah einfügen" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "_Nach der Auswahl einfügen" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "" -#: src/interface.c:833 +#: src/interface.c:846 +#, fuzzy +msgid "Insert _with silence" +msgstr "_Nach der Auswahl einfügen" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "" -#: src/interface.c:924 +#: src/interface.c:937 #, fuzzy msgid "Open Selection" msgstr "LiVES: - Auswahl öffnen" -#: src/interface.c:943 +#: src/interface.c:954 msgid "Selection start time (sec)" msgstr "" -#: src/interface.c:949 +#: src/interface.c:960 msgid "Number of frames to open" msgstr "" -#: src/interface.c:1023 +#: src/interface.c:1029 #, fuzzy msgid "Open Location" msgstr "LiVES: - Ort öffnen" -#: src/interface.c:1025 +#: src/interface.c:1031 #, fuzzy msgid "Open Youtube Clip" msgstr "LiVES: - Youtube Clip öffnen" -#: src/interface.c:1045 +#: src/interface.c:1050 msgid "" "\n" "\n" @@ -1267,7 +1272,7 @@ "\n" msgstr "" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1276,7 +1281,7 @@ "\n" msgstr "" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" @@ -1286,60 +1291,60 @@ "Z.B: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "URL : " -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "Youtube URL : " -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "" -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "" -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "" -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr ".webm" -#: src/interface.c:1188 +#: src/interface.c:1189 #, fuzzy msgid "Rename Clip" msgstr "LiVES: - Clip umbenennen" -#: src/interface.c:1190 +#: src/interface.c:1191 msgid "Enter Set Name to Save as" msgstr "" -#: src/interface.c:1192 +#: src/interface.c:1193 msgid "Enter a Set Name to Reload" msgstr "" -#: src/interface.c:1194 +#: src/interface.c:1195 msgid "Choose a Working Directory" msgstr "" -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 msgid "Rename Current Track" msgstr "" -#: src/interface.c:1198 +#: src/interface.c:1199 msgid "Enter a Name for Your Theme" msgstr "" -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1347,7 +1352,7 @@ "LiVES will remind you to save the clip set later when you try to exit.\n" msgstr "" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1367,331 +1372,331 @@ "This should be a directory with plenty of disk space available.\n" msgstr "" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "Neuer Name " -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "" -#: src/interface.c:1257 +#: src/interface.c:1255 #, fuzzy msgid "Theme name " msgstr "Neuer Name " -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "E_rweitert" -#: src/interface.c:1437 +#: src/interface.c:1425 msgid "Select input device" msgstr "" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "" -#: src/interface.c:1517 +#: src/interface.c:1505 msgid "Load CD Track" msgstr "" -#: src/interface.c:1519 +#: src/interface.c:1507 msgid "Select DVD Title/Chapter" msgstr "" -#: src/interface.c:1521 +#: src/interface.c:1509 #, fuzzy msgid "Select VCD Title" msgstr "VCD Titel" -#: src/interface.c:1523 +#: src/interface.c:1511 msgid "Change Maximum Visible Tracks" msgstr "" -#: src/interface.c:1525 +#: src/interface.c:1513 msgid "Device details" msgstr "" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "DVD Titel" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "VCD Titel" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "Gerät: /dev/video" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "Gerät: fw:" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "Kapitel " -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "Kanal " -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "" -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "Breite" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "Höhe" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "_Treiber" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "_Ausgabeformat" -#: src/interface.c:1815 +#: src/interface.c:1778 #, fuzzy msgid "Fade Audio In" msgstr "Hintergrund" -#: src/interface.c:1817 +#: src/interface.c:1780 #, fuzzy msgid "Fade Audio Out" msgstr "Hintergrund" -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "" -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "" -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "Sekunden." -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "" -#: src/interface.c:1909 +#: src/interface.c:1865 msgid " (Optional)" msgstr "" -#: src/interface.c:1912 +#: src/interface.c:1868 #, c-format msgid "File Comments%s" msgstr "" -#: src/interface.c:1927 +#: src/interface.c:1882 #, c-format msgid "File Name: %s" msgstr "" -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "" -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "" -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "" -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "" -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "" -#: src/interface.c:2109 +#: src/interface.c:2058 #, c-format msgid "%sChoose a Device" msgstr "" -#: src/interface.c:2112 +#: src/interface.c:2061 #, c-format msgid "%sChoose a Directory" msgstr "" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2410 +#: src/interface.c:2341 msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" "What do you wish to do ?" msgstr "" -#: src/interface.c:2417 +#: src/interface.c:2348 msgid "Cancel/Discard/Save" msgstr "" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" "Would you like to try and recover it ?\n" msgstr "" -#: src/interface.c:2527 +#: src/interface.c:2455 msgid "Disk Recovery Options" msgstr "" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "" -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "" -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1699,335 +1704,335 @@ "-----------------------\n" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "ctrl-left" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 #, fuzzy msgid "skip forwards\n" msgstr "Übersprungen" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "ctrl-down" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 msgid "ctrl-enter" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "reset frame rate\n" msgstr "Skalieren" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "" -#: src/interface.c:2723 +#: src/interface.c:2642 msgid "reverse direction\n" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 msgid "ctrl-1" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "toggle real-time effect 1\n" msgstr "Lade Echtzeit-Effekt Plugins..." -#: src/interface.c:2746 +#: src/interface.c:2665 msgid "ctrl-2" msgstr "" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "toggle real-time effect 2\n" msgstr "Lade Echtzeit-Effekt Plugins..." -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "ctrl-0" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "real-time effects off\n" msgstr "" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "" -#: src/interface.c:2759 +#: src/interface.c:2678 msgid "grab keyboard for last activated effect\n" msgstr "" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2688 msgid "tab" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "" -#: src/interface.c:2785 +#: src/interface.c:2706 msgid "Other playback keys\n" msgstr "" -#: src/interface.c:2789 +#: src/interface.c:2710 msgid "play all\n" msgstr "" -#: src/interface.c:2792 +#: src/interface.c:2713 #, fuzzy msgid "play selection\n" msgstr "LiVES: - Auswahl öffnen" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "" -#: src/interface.c:2798 +#: src/interface.c:2719 msgid "fullscreen\n" msgstr "" -#: src/interface.c:2801 +#: src/interface.c:2722 msgid "separate window\n" msgstr "" -#: src/interface.c:2804 +#: src/interface.c:2725 #, fuzzy msgid "double size\n" msgstr "Dateigröße" -#: src/interface.c:2807 +#: src/interface.c:2728 msgid "ping pong loops\n" msgstr "" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "move current track up\n" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "move current track down\n" msgstr "" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "" -#: src/interface.c:2849 +#: src/interface.c:2768 msgid "select next clip\n" msgstr "" -#: src/interface.c:2852 +#: src/interface.c:2771 msgid "select/deselect current track\n" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "zoom in\n" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "zoom out\n" msgstr "" -#: src/interface.c:2861 +#: src/interface.c:2780 msgid "make a mark on the timeline (during playback)\n" msgstr "" -#: src/interface.c:2864 +#: src/interface.c:2783 msgid "rewind to play start.\n" msgstr "" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "" -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "" -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "" -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -2035,22 +2040,22 @@ "the latest youtube-dl installed.\n" msgstr "" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, c-format msgid "Layouts were removed for set %s.\n" msgstr "" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " msgstr "" -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2060,7 +2065,7 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2070,20 +2075,20 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" "Really close it ?" msgstr "" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" msgstr "" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2096,54 +2101,54 @@ "Once you have done this, you will be able to import the new project.\n" msgstr "" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "" -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "" -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 #, fuzzy msgid "Theme" msgstr "Neuer Name " -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, c-format msgid "Exporting theme as %s..." msgstr "" -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, c-format msgid "Importing theme \"%s\" from %s..." msgstr "" -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, c-format msgid "Backup as %s File" msgstr "" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, c-format msgid "Restore %s File" msgstr "" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2151,101 +2156,101 @@ "Are you sure ?\n" msgstr "" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "" -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "" -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "" -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "" -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "" -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "" -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 msgid "Pulling frames from clipboard" msgstr "" -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "" -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "" -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " "LiVES.\n" msgstr "" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2254,31 +2259,31 @@ "the 'Trim Audio' function from the Audio menu." msgstr "" -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." msgstr "" -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2286,7 +2291,7 @@ "Clipboard audio has been erased.\n" msgstr "" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2295,88 +2300,88 @@ "using unchanged audio ?\n" msgstr "" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "" -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "" -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "" -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" "Are you sure ?" msgstr "" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "" -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" "Selection is locked.\n" msgstr "" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2384,11 +2389,11 @@ "play.)\n" msgstr "" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2397,7 +2402,7 @@ "%s\n" msgstr "" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2406,7 +2411,7 @@ "The plugin may be broken or not installed correctly." msgstr "" -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2415,22 +2420,22 @@ "Please press 'Cancel' if that is not what you want.\n" msgstr "" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2438,24 +2443,24 @@ "Click OK to proceed.\n" msgstr "" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "" -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "" -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "" -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2463,68 +2468,68 @@ "Internal: %s (%d bpp) / %s\n" msgstr "" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." msgstr "" -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" "(%d virtual)" msgstr "" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" "(%d decoded)" msgstr "" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" " %.2f sec." msgstr "" -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" msgstr "" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" "%s %s" msgstr "" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2541,15 +2546,15 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n" msgstr "" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "" -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" "Launchpad Contributions:\n" @@ -2562,7 +2567,7 @@ " milan https://launchpad.net/~milan-fox\n" " salsaman https://launchpad.net/~salsaman" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, c-format msgid "" "LiVES Version %s\n" @@ -2576,14 +2581,14 @@ "Homepage: %s" msgstr "" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 msgid "" "\n" "\n" "You need to install mplayer or mplayer2 to be able to preview this file.\n" msgstr "" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 msgid "" "\n" "\n" @@ -2591,92 +2596,92 @@ "this file.\n" msgstr "" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" "%s\n" msgstr "" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 msgid "Encoder Debug Output" msgstr "" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "" -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 msgid "Load Subtitles" msgstr "" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 msgid "Select Audio File" msgstr "" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -2684,82 +2689,82 @@ "." msgstr "" -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "" -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "" -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "" -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 msgid "Layout Errors" msgstr "" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "" -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "" -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, c-format msgid "" "\n" @@ -2768,30 +2773,30 @@ "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 #, fuzzy msgid "Selected Frame" msgstr "Hintergrund" -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 #, fuzzy msgid "_Save Frame as..." msgstr "Hintergrund" -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -2800,7 +2805,7 @@ "\n" msgstr "" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -2808,13 +2813,13 @@ "\n" msgstr "" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" msgstr "" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -2823,17 +2828,17 @@ "\n" msgstr "" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" msgstr "" -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -2843,19 +2848,19 @@ "(Default of %.3f frames per second will be used.)\n" msgstr "" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "" -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "" -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -2864,119 +2869,119 @@ "rate.\n" msgstr "" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "" -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "" -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 msgid "Append Audio File" msgstr "" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "" -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "" -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "" -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "" -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "" -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" "Are you sure ?" msgstr "" -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "" -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "" @@ -2989,878 +2994,878 @@ msgid "Merge Clipboard [ %d Frames ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "" -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "" -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "" -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "" -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "" -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "" -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "" -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "" -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "" -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "" -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "" -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "" -#: src/gui.c:692 +#: src/gui.c:674 #, c-format msgid "_Backup Clip as .%s..." msgstr "" -#: src/gui.c:701 +#: src/gui.c:683 #, c-format msgid "_Restore Clip from .%s..." msgstr "" -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "" -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "" -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "" -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "" -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "" -#: src/gui.c:1069 +#: src/gui.c:1045 msgid "Letterbox Mode" msgstr "" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "" -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "" -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "_Bildfolge der Zwischenablage umkehren" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "" -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "" -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "" -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "" -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "" -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "" -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "" -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "" -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "" -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "" -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "" -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "" -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "" -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "" -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "" -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "" -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "" -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "" -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "" -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "" -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "" -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "" -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "" -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "" -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "" -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "" -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "" -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "" -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "" -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "" -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "" -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "" -#: src/gui.c:1397 +#: src/gui.c:1371 msgid "Receive _LiVES Stream from..." msgstr "" -#: src/gui.c:1401 +#: src/gui.c:1375 msgid "_Send LiVES Stream to..." msgstr "" -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "" -#: src/gui.c:1426 +#: src/gui.c:1399 #, c-format msgid "_Import Project (.%s)..." msgstr "" -#: src/gui.c:1430 +#: src/gui.c:1403 #, c-format msgid "E_xport Project (.%s)..." msgstr "" -#: src/gui.c:1437 +#: src/gui.c:1409 #, c-format msgid "_Import Custom Theme (.%s)..." msgstr "" -#: src/gui.c:1442 +#: src/gui.c:1414 #, c-format msgid "E_xport Theme (.%s)..." msgstr "" -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "" -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "" -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." msgstr "" -#: src/gui.c:1476 +#: src/gui.c:1448 msgid "_Reset All Playback Speeds and Positions" msgstr "" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "" -#: src/gui.c:1480 +#: src/gui.c:1452 msgid "_MIDI/Joystick Interface" msgstr "" -#: src/gui.c:1489 +#: src/gui.c:1461 msgid "_MIDI/Joystick Learner..." msgstr "" -#: src/gui.c:1493 +#: src/gui.c:1465 msgid "_Save Device Mapping..." msgstr "" -#: src/gui.c:1497 +#: src/gui.c:1469 msgid "_Load Device Mapping..." msgstr "" -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 msgid "_Donate to the Project !" msgstr "" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 msgid "_Email the Author" msgstr "" -#: src/gui.c:1547 +#: src/gui.c:1519 msgid "Report a _Bug" msgstr "" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 msgid "Suggest a _Feature" msgstr "" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 msgid "Assist with _Translating" msgstr "" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "" -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." msgstr "" #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr "" -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr "" -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr "" -#: src/gui.c:3613 +#: src/gui.c:3553 msgid "Streaming" msgstr "" -#: src/gui.c:3615 +#: src/gui.c:3555 #, fuzzy, c-format msgid "Play Window%s" msgstr "Fenster _schließen" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "" -#: src/gui.c:4199 +#: src/gui.c:4127 #, fuzzy, c-format msgid "'LiVES opened the file' '%s'" msgstr "" "LiVES konnte das Bild nicht aufnehmen\n" "\n" -#: src/gui.c:4220 +#: src/gui.c:4146 #, fuzzy, c-format msgid "'LiVES closed the file' '%s'" msgstr "Datei %s geschlossen\n" @@ -3870,11 +3875,11 @@ msgid "Mapped to ctrl-%d" msgstr "" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "" @@ -3888,11 +3893,11 @@ msgid "Select clip for %s\n" msgstr "" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "" @@ -3937,11 +3942,11 @@ msgid "%d bytes" msgstr "" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -3949,81 +3954,81 @@ "Switched to clip %s\n" msgstr "" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" "Switched to empty clip\n" msgstr "" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " "updated accordingly\n" msgstr "" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -4031,7 +4036,7 @@ "by another copy of LiVES.\n" msgstr "" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -4039,39 +4044,39 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2188 +#: src/utils.c:2207 #, c-format msgid "" "\n" "%s names may not be blank.\n" msgstr "" -#: src/utils.c:2196 +#: src/utils.c:2215 #, c-format msgid "" "\n" "%s names may not be longer than %d characters.\n" msgstr "" -#: src/utils.c:2204 +#: src/utils.c:2223 #, c-format msgid "" "\n" "%s names may not contain spaces or the characters%s.\n" msgstr "" -#: src/utils.c:2213 +#: src/utils.c:2232 #, c-format msgid "" "\n" "%s names may not start with a '.' or contain '..'\n" msgstr "" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4079,72 +4084,72 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "" -#: src/utils.c:3492 +#: src/utils.c:3548 msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "" -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4154,29 +4159,29 @@ "Overwrite ?\n" msgstr "" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr "" -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr "" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4201,7 +4206,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr "" @@ -4301,7 +4306,7 @@ msgstr "" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "" @@ -4355,12 +4360,12 @@ msgid "Recording performance..." msgstr "" -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4369,21 +4374,21 @@ "and resize all frames to the current size.\n" msgstr "" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4391,13 +4396,13 @@ "%s\n" msgstr "" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" msgstr "" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4405,7 +4410,7 @@ "Bad things may happen with this clip.\n" msgstr "" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4413,73 +4418,73 @@ "Default can be set in Tools | Preferences | Misc.\n" msgstr "" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, c-format msgid " - Author: %s\n" msgstr "" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, c-format msgid " - Title: %s\n" msgstr "" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr "" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "" -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "" -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "" -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -4527,60 +4532,60 @@ msgid "Recovering files..." msgstr "" -#: src/dialogs.c:87 +#: src/dialogs.c:83 msgid "Show affeced _layouts" msgstr "" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" msgstr "" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr "" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 #, fuzzy msgid "Warning !" msgstr "%s Warnung: %s\n" -#: src/dialogs.c:198 +#: src/dialogs.c:186 #, fuzzy msgid "Error !" msgstr "LiVES: - Einfügen" -#: src/dialogs.c:208 +#: src/dialogs.c:196 #, fuzzy msgid "Information" msgstr "LiVES: - Ort öffnen" -#: src/dialogs.c:234 +#: src/dialogs.c:221 msgid "Question" msgstr "" -#: src/dialogs.c:248 +#: src/dialogs.c:235 msgid "File Error" msgstr "" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "_Details anzeigen" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -4591,7 +4596,7 @@ "(Disk warning levels can be configured in Preferences.)" msgstr "" -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -4603,11 +4608,11 @@ "Preferences.)" msgstr "" -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "" -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -4615,46 +4620,46 @@ "Please try closing some other applications first.\n" msgstr "" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "" -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" "%s%d%% done. Time remaining: %u sec%s\n" msgstr "" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" "%d/%d frames opened. Time remaining %u sec.\n" msgstr "" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" "%d/%d frames opened.\n" msgstr "" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" "%d frames opened.\n" msgstr "" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" "Time remaining: %d sec" msgstr "" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -4662,7 +4667,7 @@ "Please close a file and then try again." msgstr "" -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -4674,47 +4679,47 @@ "Please make sure you can write to this directory." msgstr "" -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 msgid "" "\n" "LiVES currently requires either 'mplayer', 'mplayer2', or 'sox' to function. " "Please install one or other of these, and try again.\n" msgstr "" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 msgid "" "\n" "This function requires either mplayer or mplayer2 to operate.\n" "You may wish to install one or other of these and try again.\n" msgstr "" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 msgid "" "\n" "This function requires either mplayer, mplayer2 or mpv to operate.\n" "You may wish to install one or other of these and try again.\n" msgstr "" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" "Or switch to another encoder format in Tools | Preferences | Encoding\n" msgstr "" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -4722,19 +4727,19 @@ "Please set the audio codec in Tools|Preferences|Encoding\n" msgstr "" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -4742,83 +4747,83 @@ "Due to restrictions in the %s format\n" msgstr "" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" msgstr "" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr "" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr "" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr "" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr "" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" msgstr "" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -4827,14 +4832,14 @@ "\n" msgstr "" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" "\n" msgstr "" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -4843,7 +4848,7 @@ "Try recording for just a selection of the file." msgstr "" -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -4854,7 +4859,7 @@ "Please press Cancel to abort the insert, or OK to continue." msgstr "" -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -4867,18 +4872,18 @@ "click Cancel." msgstr "" -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " "in your %s file" msgstr "" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -4889,25 +4894,25 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 msgid "" "Sorry, unknown audio type.\n" "\n" " (Filenames must end in" msgstr "" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" "(They will not be usable without the set).\n" msgstr "" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -4916,7 +4921,7 @@ "Click Cancel to pick a new name.\n" msgstr "" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -4924,7 +4929,7 @@ "." msgstr "" -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -4932,7 +4937,7 @@ "." msgstr "" -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -4943,7 +4948,7 @@ "Otherwise click Cancel to skip loading this file.\n" msgstr "" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -4953,7 +4958,7 @@ "The clip could not be loaded.\n" msgstr "" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -4961,7 +4966,7 @@ "Alternately, select a different audio player in Preferences.\n" msgstr "" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -4970,13 +4975,13 @@ "Automatic jack startup will be disabled now.\n" msgstr "" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" msgstr "" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -4987,13 +4992,13 @@ "%s\n" msgstr "" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" msgstr "" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -5003,7 +5008,7 @@ "It is recommended to increase it to at least %d MB" msgstr "" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -5012,7 +5017,7 @@ "Do you wish to delete them ?\n" msgstr "" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -5020,7 +5025,7 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -5028,81 +5033,81 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" msgstr "" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" msgstr "" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" "You can set this in Tools|Preferences|Playback." msgstr "" -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" "Should I try to repair the disk copy of the layout ?\n" msgstr "" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" msgstr "" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" "Audio rate must be greater than 0.\n" msgstr "" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5110,14 +5115,14 @@ "Are you sure you wish to view it ?\n" msgstr "" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" "You must install 'dvgrab' to use this function.\n" msgstr "" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5126,25 +5131,25 @@ "You may need to select one of these in Tools/Preferences/Playback.\n" msgstr "" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" msgstr "" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5153,33 +5158,33 @@ "echo %d > /proc/sys/net/core/rmem_max\n" msgstr "" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -5189,7 +5194,7 @@ "%s%s%s" msgstr "" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -5199,7 +5204,7 @@ "%s" msgstr "" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -5209,7 +5214,7 @@ "%s" msgstr "" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -5218,7 +5223,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -5228,7 +5233,7 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -5237,7 +5242,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -5247,12 +5252,12 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "" -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -5261,7 +5266,7 @@ "Please check your system for errors.\n" msgstr "" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -5270,7 +5275,7 @@ "Please check the file permissions and try again." msgstr "" -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -5279,7 +5284,7 @@ "Please check the directory permissions and try again." msgstr "" -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, c-format msgid "" "\n" @@ -5287,14 +5292,14 @@ "%s\n" msgstr "" -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -5302,13 +5307,13 @@ "Please select another encoder from the list.\n" msgstr "" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" msgstr "" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -5318,27 +5323,27 @@ "- Check if the device actually exists.\n" msgstr "" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" "Do you wish to overwrite the existing subtitles ?\n" msgstr "" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 msgid "" "\n" "LiVES currently only supports subtitles of type" msgstr "" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -5347,14 +5352,14 @@ "or OK to continue and save as type \"%s\"\n" msgstr "" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" "(If unsure, click Yes)\n" msgstr "" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -5365,19 +5370,19 @@ "." msgstr "" -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" msgstr "" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" msgstr "" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -5385,7 +5390,7 @@ "DO NOT SHUT DOWN OR CLOSE LIVES !\n" msgstr "" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, c-format msgid "" "\n" @@ -5393,14 +5398,14 @@ "The theme could not be loaded correctly.\n" msgstr "" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" "Please check the spelling of the set name and try again.\n" msgstr "" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -5409,7 +5414,7 @@ "directory. Would you like me to do this (recommended) ?" msgstr "" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -5421,7 +5426,7 @@ msgstr "" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -5430,38 +5435,38 @@ "\n" msgstr "" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" "Consult your package distributor.\n" msgstr "" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" msgstr "" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, c-format msgid "" "\n" @@ -5470,7 +5475,7 @@ "(Theme name not found).\n" msgstr "" -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -5479,7 +5484,7 @@ "already exists. Would you like to overwrite it ?\n" msgstr "" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -5620,7 +5625,7 @@ msgid "Video only Transitions" msgstr "" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "" @@ -5628,7 +5633,7 @@ msgid "Audio only Transitions" msgstr "" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "" @@ -5672,7 +5677,7 @@ msgid "Audio Analysers" msgstr "" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "" @@ -5727,358 +5732,358 @@ "No frames were generated.\n" msgstr "" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 msgid "Invalid element" msgstr "" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 #, fuzzy msgid "Invalid property" msgstr "Ungültiger Audiospieler %s\n" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 msgid "Invalid plugin" msgstr "" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 #, fuzzy msgid "No error" msgstr "LiVES: - Einfügen" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 msgid "integer" msgstr "" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 msgid "string" msgstr "" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 msgid "pointer" msgstr "" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" "Error was: %s\n" msgstr "" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr "" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, c-format msgid "Successfully loaded %d compound filters\n" msgstr "" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, c-format msgid "Failed to start generator %s (%s)\n" msgstr "" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 msgid "Autoscale" msgstr "" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 msgid "Delete this connection" msgstr "" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, c-format msgid "%s - Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, c-format msgid "%s - Parameter Data Connections" msgstr "" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 msgid "Parameter and Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 msgid "Auto Connect Channels" msgstr "" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 msgid "Auto Connect Parameters" msgstr "" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "" -#: src/framedraw.c:241 +#: src/framedraw.c:242 msgid "_Frame" msgstr "" @@ -6122,40 +6127,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "_Breite" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "_Höhe" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "" -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -6221,32 +6226,32 @@ "\n" msgstr "" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "" -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -6255,7 +6260,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -6265,31 +6270,31 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" "Error was: %s\n" msgstr "" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " "***\n" msgstr "" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -6298,7 +6303,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -6307,7 +6312,7 @@ "or switch to another plugin using Tools|Preferences|Encoding\n" msgstr "" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, c-format msgid "" "\n" @@ -6315,12 +6320,12 @@ "No decoders found in %s !\n" msgstr "" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, c-format msgid " using %s" msgstr "" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -6329,7 +6334,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -6339,24 +6344,24 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "" -#: src/plugins.c:2556 +#: src/plugins.c:2550 msgid "Decoder Plugins" msgstr "" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "" @@ -6554,19 +6559,19 @@ msgid "Move _Down" msgstr "" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 msgid "RFX Properties" msgstr "" -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -6575,7 +6580,7 @@ "\n" msgstr "" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -6583,219 +6588,219 @@ "Please check the trigger code.\n" msgstr "" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 msgid "New RFX Parameter" msgstr "" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 msgid "Edit RFX Parameter" msgstr "" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "" -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "" -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "" -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." msgstr "" -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "" -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "" -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "" -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "" -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "" -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "" -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "" -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "" -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "" -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr "" -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "" -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 msgid "_Wrap value" msgstr "" -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "" -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "" -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "" -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "" -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "" -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 msgid "New RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 msgid "Edit RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "" -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "" -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "" -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "" -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "" -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "" -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "" -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 msgid "New RFX Trigger" msgstr "" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 msgid "Edit RFX Trigger" msgstr "" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "" -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 msgid "Pre Loop Code" msgstr "" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 msgid "Loop Code" msgstr "" -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 msgid "Post Loop Code" msgstr "" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, c-format msgid "Default text (max length %d)" msgstr "" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 msgid "Enter values, one per line" msgstr "" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" "Name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" "Name must not contain spaces.\n" msgstr "" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" "Menu text must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" "Action description must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" "Author must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -6803,28 +6808,28 @@ "Name must be unique.\n" msgstr "" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" "Loop code should not be blank.\n" msgstr "" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" "Trigger code should not be blank for a utility.\n" msgstr "" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" "Parameter name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -6833,41 +6838,41 @@ "\n" msgstr "" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "" -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -6877,27 +6882,27 @@ "\n" msgstr "" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "" -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "" -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "" -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "" -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -6906,7 +6911,7 @@ "Please check this program is in your path and executable.\n" msgstr "" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -6916,12 +6921,12 @@ "\n" msgstr "" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "" -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -6931,7 +6936,7 @@ "Error code was %d\n" msgstr "" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -6941,12 +6946,12 @@ "Please delete it first, or rename the test script.\n" msgstr "" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "" -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -6957,20 +6962,20 @@ "Return code was %d (%s)\n" msgstr "" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 msgid "Export Script" msgstr "" -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "" -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 msgid "Import Script" msgstr "" -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -6980,43 +6985,43 @@ "Please delete it first, or rename the import script.\n" msgstr "" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 msgid "Copy RFX Script" msgstr "" -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "" -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr "" -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 msgid "Rename Test RFX Script" msgstr "" -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "" -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 msgid "RFX Script Name" msgstr "" -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "" -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "" -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "" -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -7024,12 +7029,12 @@ "Script name must be unique.\n" msgstr "" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "" -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -7040,25 +7045,25 @@ "Return code was %d\n" msgstr "" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 msgid "Applying Current Real Time Effects to" msgstr "" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "" -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "" -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -7066,7 +7071,7 @@ "full screen, separate window (fs) mode\n" msgstr "" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -7074,7 +7079,7 @@ "(Free space = UNKNOWN)" msgstr "" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -7083,14 +7088,14 @@ "(Free space = %s)" msgstr "" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" "It should be in a partition with plenty of free disk space.\n" msgstr "" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7101,7 +7106,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7111,7 +7116,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1193 +#: src/preferences.c:1163 msgid "" "You have chosen to change the working directory.\n" "Please make sure you have no other copies of LiVES open.\n" @@ -7123,7 +7128,7 @@ "setting." msgstr "" -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, c-format msgid "" "\n" @@ -7132,13 +7137,13 @@ "See %s\n" msgstr "" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" msgstr "" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, c-format msgid "" "\n" @@ -7147,916 +7152,916 @@ "See %s\n" msgstr "" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "" -#: src/preferences.c:2468 +#: src/preferences.c:2418 msgid "Preferences" msgstr "" -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "" -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr "" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr "" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." msgstr "" -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr "" -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "" -#: src/preferences.c:2872 +#: src/preferences.c:2757 msgid "Maximum number of visible tracks" msgstr "" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "" -#: src/preferences.c:2925 +#: src/preferences.c:2804 msgid "Video open command (fallback)" msgstr "" -#: src/preferences.c:2935 +#: src/preferences.c:2811 msgid "Fallback image format" msgstr "" -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "" -#: src/preferences.c:2964 +#: src/preferences.c:2832 msgid "Open/render compression" msgstr "" -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr "" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "" -#: src/preferences.c:2995 +#: src/preferences.c:2856 msgid "Automatic trimming / padding of audio when possible" msgstr "" -#: src/preferences.c:2997 +#: src/preferences.c:2858 msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "" -#: src/preferences.c:3269 +#: src/preferences.c:3110 msgid "Source:" msgstr "" -#: src/preferences.c:3273 +#: src/preferences.c:3114 msgid "_Internal" msgstr "" -#: src/preferences.c:3278 +#: src/preferences.c:3119 msgid "_External (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" msgstr "" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr "" -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "" -#: src/preferences.c:3454 +#: src/preferences.c:3273 msgid "You can also change these values when encoding a clip" msgstr "" -#: src/preferences.c:3466 +#: src/preferences.c:3285 msgid "Encoder" msgstr "" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." msgstr "" -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr "" -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr "" -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr "" -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr "" -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr "" -#: src/preferences.c:3649 +#: src/preferences.c:3461 msgid " Working directory (do not remove) " msgstr "" -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "" -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "" -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "" -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr "" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "" -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" msgstr "" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "" -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr "" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "" -#: src/preferences.c:3872 +#: src/preferences.c:3659 msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " "when LiVES is started." msgstr "" -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "" -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "" -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "" -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "" -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "" -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "" -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "" -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "" -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "" -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "" -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "" -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "" -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "" -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "" -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." msgstr "" -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "" -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "" -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "" -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "" -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "" -#: src/preferences.c:4113 +#: src/preferences.c:3865 msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "" -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "" -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "" -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "" -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "" -#: src/preferences.c:4242 +#: src/preferences.c:3977 msgid "Main Theme Details" msgstr "" -#: src/preferences.c:4254 +#: src/preferences.c:3988 #, fuzzy msgid " _Foreground Color" msgstr "Hintergrund" -#: src/preferences.c:4273 +#: src/preferences.c:4007 #, fuzzy msgid " _Background Color" msgstr "Hintergrund" -#: src/preferences.c:4291 +#: src/preferences.c:4026 #, fuzzy msgid "_Alt Foreground Color" msgstr "Hintergrund" -#: src/preferences.c:4309 +#: src/preferences.c:4044 #, fuzzy msgid "_Alt Background Color" msgstr "Hintergrund" -#: src/preferences.c:4327 +#: src/preferences.c:4062 msgid " Info _Text Color" msgstr "" -#: src/preferences.c:4346 +#: src/preferences.c:4081 msgid " Info _Base Color" msgstr "" -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "" -#: src/preferences.c:4365 +#: src/preferences.c:4100 msgid "Affects some contrast details of the timeline" msgstr "" -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "" -#: src/preferences.c:4398 +#: src/preferences.c:4132 #, fuzzy msgid "Frame blank image" msgstr "Skalieren" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "" -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4474 +#: src/preferences.c:4203 msgid "Track background (multitrack)" msgstr "" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "" -#: src/preferences.c:4529 +#: src/preferences.c:4258 msgid "Timeline selection (multitrack)" msgstr "" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "" -#: src/preferences.c:4553 +#: src/preferences.c:4282 msgid "Timecode foreground (multitrack)" msgstr "" -#: src/preferences.c:4565 +#: src/preferences.c:4293 #, fuzzy msgid "Frame surround" msgstr "Vordergrund" -#: src/preferences.c:4582 +#: src/preferences.c:4306 msgid "Themes/Colors" msgstr "" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "" -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "" -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" msgstr "" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" msgstr "" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "" -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." msgstr "" -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "" -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -8064,41 +8069,41 @@ "Click OK to continue.\n" msgstr "" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." msgstr "" -#: src/preferences.c:5525 +#: src/preferences.c:5205 msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "" -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "" -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "" @@ -8121,155 +8126,155 @@ msgid "Resample/Resize" msgstr "" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" "New rate must be greater than 0\n" msgstr "" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "" -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "" -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "" -#: src/resample.c:1208 +#: src/resample.c:1209 msgid "New Clip Audio" msgstr "" -#: src/resample.c:1210 +#: src/resample.c:1211 msgid "External Clip Settings" msgstr "" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "" -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 msgid "Channels" msgstr "" -#: src/resample.c:1256 +#: src/resample.c:1257 msgid "Sample Size " msgstr "" -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "" -#: src/resample.c:1322 +#: src/resample.c:1323 #, fuzzy msgid "New Audio Details" msgstr "_Details anzeigen" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "" -#: src/resample.c:1369 +#: src/resample.c:1370 msgid "_Channels" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "_Sample Size" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "Sample Size" msgstr "" -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "" -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "" -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr "" -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr "" -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr "" -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "" -#: src/resample.c:1635 +#: src/resample.c:1636 msgid "Change Playback Speed" msgstr "" -#: src/resample.c:1637 +#: src/resample.c:1638 msgid "Resample Video" msgstr "" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -8280,7 +8285,7 @@ "in _frames per second" msgstr "" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -8291,80 +8296,80 @@ "in frames per second" msgstr "" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" "LiVES was unable to reorder the frames." msgstr "" -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "" @@ -8594,7 +8599,7 @@ msgid "Mode active" msgstr "" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "" @@ -8716,54 +8721,54 @@ msgid "Opened firewire card %d" msgstr "" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, c-format msgid "%s : parameters for %s" msgstr "" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." msgstr "" -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -8772,7 +8777,7 @@ "right or double clicking on it.\n" msgstr "" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -8780,14 +8785,14 @@ "Select an effect in FX stack first to view its parameters.\n" msgstr "" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" "No clips loaded.\n" msgstr "" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -8797,7 +8802,7 @@ "before inserting clips into the timeline." msgstr "" -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -8806,187 +8811,187 @@ "to apply compositors.\n" msgstr "" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" msgstr "" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" msgstr "" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr "" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 msgid "Selected Clip" msgstr "" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 msgid "_Adjust Start and End Points" msgstr "" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 msgid "_Edit/Encode in Clip Editor" msgstr "" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 #, fuzzy msgid "_Show Clip Information" msgstr "LiVES: - Ort öffnen" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 msgid "_Close this Clip" msgstr "" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 msgid "Audio Mixer (ctrl-m)" msgstr "" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "" -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "" -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "" -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "" -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "" -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "" -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "" -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "" -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "" -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "" -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "" -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " "audio rate %d, audio sample size %d, %s.\n" msgstr "" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -8996,7 +9001,7 @@ "then load in the new set from the File menu.\n" msgstr "" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -9004,596 +9009,596 @@ "It cannot be loaded.\n" msgstr "" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "" -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "" -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "" -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "" -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 msgid "_Close the Selected Clip" msgstr "" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 msgid "_Save Layout as..." msgstr "" -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 msgid "_Load Layout..." msgstr "" -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 msgid "_Wipe/Delete Layout..." msgstr "" -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "" -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 msgid "Auto Load _Subtitles with Clips" msgstr "" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 msgid "_Adjust Selected Clip Start/End Points" msgstr "" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 msgid "_Insert Selected Clip Audio" msgstr "" -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 msgid "_Delete Selected Block" msgstr "" -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 msgid "_Jump to Previous Block Boundary" msgstr "" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 msgid "_Jump to Next Block Boundary" msgstr "" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 msgid "Clear _Marks from Timeline" msgstr "" -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 msgid "Ignore Selection Limits when Inserting" msgstr "" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 msgid "Pla_y Selected Time Only" msgstr "" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 msgid "_Move Effects with Blocks" msgstr "" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 msgid "Select _Autotransition Effect..." msgstr "" -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 msgid "Crossfade Audio with Autotransition" msgstr "" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 msgid "View/_Edit Selected Effect" msgstr "" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 msgid "_Delete Selected Effect" msgstr "" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 msgid "Apply Effect to _Block..." msgstr "" -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 msgid "Apply Effect to _Region..." msgstr "" -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 msgid "Make _Backing Audio Current Track" msgstr "" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 msgid "_Split Current Track at Cursor" msgstr "" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 msgid "_Split Selected Video Tracks" msgstr "" -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 msgid "Insert Gap in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 msgid "Insert Gap in Current Track/Selected Time" msgstr "" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 msgid "Close All _Gaps in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 msgid "Select _All Video Tracks" msgstr "" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 msgid "Select _No Video Tracks" msgstr "" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 #, fuzzy msgid "Select All _Time" msgstr "VCD Titel" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 msgid "Select from _Zero Time" msgstr "" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 #, fuzzy msgid "Select to _End Time" msgstr "VCD Titel" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "" -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 msgid "_Timecode to Region Start" msgstr "" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 msgid "_Timecode to Region End" msgstr "" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 msgid "_Region Start to Timecode" msgstr "" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 msgid "_Region End to Timecode" msgstr "" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 msgid "Select/Deselect Block at Current Track/Time" msgstr "" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 msgid "_Change Width, Height and Audio Values..." msgstr "" -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 msgid "_Render All to New Clip" msgstr "" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 msgid "Render _Video" msgstr "" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 #, fuzzy msgid "Render _Audio" msgstr "Hintergrund" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 msgid "_Normalise Rendered Audio" msgstr "" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 msgid "_Pre-render Audio" msgstr "" -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 msgid "Block _In/Out Points" msgstr "" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 msgid "_Effects at Current" msgstr "" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 msgid "Audio Parameters" msgstr "" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 msgid "Show Backing _Audio Track" msgstr "" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 msgid "Compact View" msgstr "" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 msgid "Maximum Tracks to Display..." msgstr "" -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 msgid "Scroll to Follow Playback" msgstr "" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 msgid "_Center on Cursor" msgstr "" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 msgid "_Zoom In" msgstr "" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 msgid "_Zoom Out" msgstr "" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 msgid "Multitrack _Details" msgstr "" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 msgid "_Show FRAME Events" msgstr "" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 msgid "_Show Multitrack Keys" msgstr "" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 msgid "Insert With _Audio" msgstr "" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 #, fuzzy msgid "Select _Overlap" msgstr "Hintergrund" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" msgstr "" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 msgid "Mouse Mode: _Move" msgstr "" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 msgid "Mouse Mode: _Select" msgstr "" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 msgid "Insert Mode: _Normal" msgstr "" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "" -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "" -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" "Switched to Clip Edit mode\n" msgstr "" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr "" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr "" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr "" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 msgid "Selected Effect" msgstr "" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 msgid "_View/Edit this Effect" msgstr "" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 msgid "_View this Effect" msgstr "" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 msgid "_Delete this Effect" msgstr "" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr "" -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "" -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" "Switched to Multitrack mode\n" msgstr "" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" "Nodes can be deleted." msgstr "" -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -9601,281 +9606,281 @@ "current time.\n" msgstr "" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." msgstr "" -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 msgid "Selected Block/Frame" msgstr "" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 msgid "_Select this Block" msgstr "" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 msgid "_Split Block Here" msgstr "" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 msgid "List _Effects Here" msgstr "" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 msgid "_Delete this Block" msgstr "" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 msgid "_Insert Here" msgstr "" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 msgid "_Insert Audio Here" msgstr "" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" msgstr "" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "" -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " "to %.4f\n" msgstr "" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" "selected.\n" msgstr "" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" msgstr "" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." msgstr "" -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." msgstr "" -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." msgstr "" -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" msgstr "" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" msgstr "" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" msgstr "" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "" -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "" -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" msgstr "" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 msgid "Saving layout" msgstr "" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" msgstr "" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -9883,74 +9888,74 @@ "Therefore it could not be loaded properly.\n" msgstr "" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" "Unable to load layout file %s\n" msgstr "" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "" -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "" -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "%d Fehler erkannt.\n" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 msgid "" "The current layout has changes which have not been saved.\n" "Are you sure you wish to wipe it ?\n" msgstr "" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 msgid "Multitrack Audio Mixer" msgstr "" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" msgstr "" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "" @@ -9976,7 +9981,7 @@ "Connection to jack audio was reset.\n" msgstr "" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -9984,7 +9989,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -9992,7 +9997,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:104 +#: src/pulse.c:105 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10000,27 +10005,27 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" msgstr "" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" msgstr "" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr ""
View file
LiVES-2.8.4.tar.bz2/po/en_GB.po -> LiVES-2.8.6.tar.bz2/po/en_GB.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: lives\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" "PO-Revision-Date: 2015-04-16 10:52+0000\n" "Last-Translator: Andi Chandler <Unknown>\n" "Language-Team: English (United Kingdom) <en_GB@li.org>\n" @@ -18,7 +18,7 @@ "X-Launchpad-Export-Date: 2015-05-03 15:40+0000\n" "X-Generator: Launchpad (build 17474)\n" -#: src/main.c:132 +#: src/main.c:125 #, fuzzy msgid "" "Attention Translators !\n" @@ -33,22 +33,22 @@ "All translators should read the LiVES translation notes at\n" "http://lives.sourceforge.net/TRANS-README.txt" -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "%s Warning: %s\n" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "%s Critical error: %s\n" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "%s Fatal error: %s\n" -#: src/main.c:203 +#: src/main.c:197 #, fuzzy, c-format msgid "" "\n" @@ -62,7 +62,7 @@ "group_id=64341&atid=507139\n" "Thanks. Recovery should be possible if you restart LiVES.\n" -#: src/main.c:205 +#: src/main.c:199 #, fuzzy, c-format msgid "" "\n" @@ -75,7 +75,7 @@ "When reporting crashes, please include details of your operating system, " "distribution, and the LiVES version (" -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" @@ -83,7 +83,7 @@ "and any information shown below:\n" "\n" -#: src/main.c:210 +#: src/main.c:204 #, fuzzy msgid "" "Please try running LiVES with the -debug option to collect more " @@ -94,7 +94,7 @@ "information.\n" "\n" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" @@ -104,89 +104,89 @@ "information.\n" "\n" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "Preserving set.\n" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "Any" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "None" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "recommended" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "disabled !" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "**The current layout**" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "Builtin" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "Custom" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "Test" -#: src/main.c:474 +#: src/main.c:460 #, fuzzy msgid "LiVES: - " msgstr "LiVES: - %s" -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "Resizing" -#: src/main.c:731 +#: src/main.c:708 #, fuzzy msgid "_Resize All Frames..." msgstr "_Resize All Frames" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "Foreground" -#: src/main.c:1122 +#: src/main.c:1094 msgid "Background" msgstr "Background" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "Loading realtime effect plugins..." -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "Starting jack audio server..." -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "Starting jack transport server..." -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "Connecting to jack transport server..." -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -205,35 +205,35 @@ "\n" "Alternatively, try to start lives with either \"lives -jackopts 16\", or " -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "Starting pulse audio server..." -#: src/main.c:1855 +#: src/main.c:1813 #, fuzzy, c-format msgid "%s...detected... " msgstr "mplayer...detected..." -#: src/main.c:1856 +#: src/main.c:1814 #, fuzzy, c-format msgid "%s...NOT DETECTED... " msgstr "mplayer...NOT DETECTED..." -#: src/main.c:1867 +#: src/main.c:1824 #, fuzzy msgid "Checking optional dependencies: " msgstr "Checking optional dependencies:" -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "Windows version %04X" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "UNKNOWN - please patch me !" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -244,53 +244,53 @@ "\n" "Window manager reports as \"%s\"; " -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "number of monitors detected: %d\n" -#: src/main.c:1901 +#: src/main.c:1863 #, c-format msgid "Number of CPUs detected: %d " msgstr "Number of CPUs detected: %d " -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "little endian" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "big endian" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "(%d bits, %s)\n" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "GUI type is: " -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" -#: src/main.c:1927 +#: src/main.c:1889 #, fuzzy, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr ", with cairo support" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "Temp directory is %s\n" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" @@ -300,15 +300,15 @@ "jack or pulse audio support.\n" "Many audio features will be unavailable.\n" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "Compiled with jack support, good !\n" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "Compiled with pulse audio support, wonderful !\n" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" @@ -317,7 +317,7 @@ "Welcome to LiVES version %s.\n" "\n" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" @@ -326,79 +326,79 @@ "\n" "Startup syntax is: %s [opts] [filename [start_time] [frames]]\n" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "Where: filename is the name of a media file or backup file.\n" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "start_time : filename start time in seconds\n" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "frames : maximum number of frames to open\n" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "opts can be:\n" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "-help : show this help text and exit\n" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "" "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "-set <setname> : autoload clip set setname\n" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "-noset : do not load any set on startup\n" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "-norecover : force no-loading of crash recovery\n" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "-recover : force loading of crash recovery\n" -#: src/main.c:2593 +#: src/main.c:2545 #, fuzzy msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "-nogui : do not show the gui\n" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "-nosplash : do not show the splash window\n" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "-noplaywin : do not show the play window\n" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "-startup-ce : start in clip editor mode\n" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "-startup-mt : start in multitrack mode\n" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" @@ -406,15 +406,15 @@ "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "-oscstart <port> : start OSC listener on UDP port <port>\n" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "-nooscstart : do not start OSC listener\n" -#: src/main.c:2605 +#: src/main.c:2557 #, fuzzy msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " @@ -423,15 +423,15 @@ "-aplayer <ap> : start with selected audio player. <ap> may be mplayer" #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr ", pulse" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr ", sox or jack\n" -#: src/main.c:2613 +#: src/main.c:2565 #, fuzzy msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " @@ -442,15 +442,15 @@ "transport client, 2 = jack transport master, 4 = start jack transport " "server, 8 = pause audio when video paused, 16 = start jack audio server] \n" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr " or sox\n" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "-devicemap <mapname> : autoload devicemap\n" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" @@ -458,15 +458,15 @@ "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "-debug : try to debug crashes (requires 'gdb' installed)\n" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "Starting GUI..." -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -483,7 +483,7 @@ "%s/%s.\n" "(Maybe you need to change the value of <prefix_dir> in your %s file)\n" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -494,7 +494,7 @@ "LiVES was unable to write a small file to %s\n" "Please make sure you have write access to %s and try again.\n" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -508,7 +508,7 @@ "Please review the README file which came with this package\n" "before running LiVES.\n" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -523,7 +523,7 @@ "\n" "Please check the file permissions for this file and try again.\n" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -540,7 +540,7 @@ "Please check the file permissions for this file and directory\n" "and try again.\n" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -551,7 +551,7 @@ "%s\n" "and try again.\n" -#: src/main.c:2737 +#: src/main.c:2689 #, fuzzy, c-format msgid "" "\n" @@ -566,7 +566,7 @@ "\n" "%s" -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -584,7 +584,7 @@ "\n" "Thankyou.\n" -#: src/main.c:2751 +#: src/main.c:2703 #, fuzzy msgid "" "\n" @@ -595,7 +595,7 @@ "LiVES currently requires either 'mplayer' or 'sox' to function. Please " "install one or other of these, and try again.\n" -#: src/main.c:2756 +#: src/main.c:2708 #, fuzzy msgid "" "\n" @@ -606,7 +606,7 @@ "LiVES currently requires both 'mplayer' and 'sox' to function. Please " "install these, and try again.\n" -#: src/main.c:2769 +#: src/main.c:2721 #, fuzzy msgid "" "\n" @@ -617,7 +617,7 @@ "LiVES was unable to locate 'mplayer'. You may wish to install mplayer to use " "LiVES more fully.\n" -#: src/main.c:2775 +#: src/main.c:2727 #, fuzzy msgid "" "\n" @@ -628,7 +628,7 @@ "LiVES was unable to locate 'mplayer'. You may wish to install mplayer to use " "LiVES more fully.\n" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" @@ -638,7 +638,7 @@ "LiVES was unable to locate 'convert'. You should install convert and image-" "magick if you want to use rendered effects.\n" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " @@ -648,7 +648,7 @@ "LiVES was unable to locate 'composite'. You should install composite and " "image-magick if you want to use the merge function.\n" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " @@ -658,7 +658,7 @@ "LiVES was unable to locate 'sox'. Some audio features may not work. You " "should install 'sox'.\n" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -675,63 +675,63 @@ "You will not be able to 'Save' without them.\n" "You may need to change the value of <lib_dir> in %s\n" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "Loading rendered effect plugins..." -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "Autoloading set %s..." #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "LiVES" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "Invalid audio player %s\n" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "LiVES-%s: <No File>" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "rec %9d/%d" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "!rec %9d/%d" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "Play" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" @@ -739,34 +739,34 @@ "LiVES was unable to capture this image\n" "\n" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "Closed file %s\n" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "_Undo" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "_Redo" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "Video" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "Left Audio" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "Right Audio" -#: src/main.c:7078 +#: src/main.c:6973 #, fuzzy msgid "" "\n" @@ -973,7 +973,7 @@ msgid "Use _mplayer2 audio player" msgstr "Use _mplayer audio player" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "_Next" @@ -1211,53 +1211,53 @@ msgid "_Finish" msgstr "_Finish" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "Let LiVES set the _file extension" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "Let LiVES set the _file extension (.%s)" -#: src/interface.c:46 +#: src/interface.c:42 msgid "Apply _Deinterlace" msgstr "Apply _Deinterlace" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "If this is set, frames will be deinterlaced as they are imported." -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "Preview" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "Click here to _Preview any selected video, image or audio file" -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "Click here to _Preview any selected audio file" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "Click here to _Preview the video" -#: src/interface.c:122 +#: src/interface.c:113 #, fuzzy msgid "Click here to _Preview the file" msgstr "Click here to _Preview the video" -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 #, fuzzy msgid "Processing..." msgstr "LiVES: - Processing..." -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1271,8 +1271,8 @@ "\n" "Remember to switch off effects (ctrl-0) afterwards !" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" @@ -1280,93 +1280,93 @@ "\n" "Please Wait" -#: src/interface.c:221 +#: src/interface.c:206 msgid "Show Details" msgstr "Show Details" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "_Enough" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "_Preview" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "Paus_e" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "Pause/_Enough" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "_Cancel" -#: src/interface.c:334 +#: src/interface.c:324 #, fuzzy msgid "Multitrack Details" msgstr "Multitrack _details" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "Format" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "Frame size" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "File size" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "Byte size" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "FPS" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "Frames" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "Events" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "Total time" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "Audio" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "Rate/size" -#: src/interface.c:568 +#: src/interface.c:590 #, fuzzy msgid "Encoding Options" msgstr "LiVES: - Encoding options" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "<------------- (Check the box to re_size as suggested)" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "<------------- (Check the box to use the _size recommendation)" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "Use _letterboxing to maintain aspect ratio (optional)" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." @@ -1374,83 +1374,88 @@ "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "Keep _my settings" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "Use _recommended settings" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "_Close Window" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "_Save to file" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "Insert" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "_Number of times to insert" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "_Insert to fit audio" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "Insert _before selection" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "Insert clipboard before selected frames" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "Insert _after selection" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "Insert clipboard after selected frames" -#: src/interface.c:833 +#: src/interface.c:846 +#, fuzzy +msgid "Insert _with silence" +msgstr "Insert _with sound" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "Insert _with sound" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "Insert with_out sound" -#: src/interface.c:924 +#: src/interface.c:937 #, fuzzy msgid "Open Selection" msgstr "_Copy Selection" -#: src/interface.c:943 +#: src/interface.c:954 msgid "Selection start time (sec)" msgstr "Selection start time (sec)" -#: src/interface.c:949 +#: src/interface.c:960 msgid "Number of frames to open" msgstr "Number of frames to open" -#: src/interface.c:1023 +#: src/interface.c:1029 #, fuzzy msgid "Open Location" msgstr "LiVES: - Open Location" -#: src/interface.c:1025 +#: src/interface.c:1031 #, fuzzy msgid "Open Youtube Clip" msgstr "Open _Youtube Clip..." -#: src/interface.c:1045 +#: src/interface.c:1050 #, fuzzy msgid "" "\n" @@ -1467,7 +1472,7 @@ "Also make sure you have set your bandwidth in Preferences|Streaming\n" "\n" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1481,7 +1486,7 @@ "Please make sure you have the latest version of that tool installed.\n" "\n" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" @@ -1491,65 +1496,65 @@ "E.g: https://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "URL : " -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "Youtube URL : " -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "Do not send bandwidth information" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "Try this setting if you are having problems getting a stream" -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "Download to _Directory : " -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "Download _File Name : " -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr ".webm" -#: src/interface.c:1188 +#: src/interface.c:1189 #, fuzzy msgid "Rename Clip" msgstr "Pasting" -#: src/interface.c:1190 +#: src/interface.c:1191 #, fuzzy msgid "Enter Set Name to Save as" msgstr "LiVES: - Enter a Set Name to Reload" -#: src/interface.c:1192 +#: src/interface.c:1193 #, fuzzy msgid "Enter a Set Name to Reload" msgstr "LiVES: - Enter a Set Name to Reload" -#: src/interface.c:1194 +#: src/interface.c:1195 #, fuzzy msgid "Choose a Working Directory" msgstr "LiVES: - Choose a Working Directory" -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 #, fuzzy msgid "Rename Current Track" msgstr "LiVES: - Rename Current Track" -#: src/interface.c:1198 +#: src/interface.c:1199 #, fuzzy msgid "Enter a Name for Your Theme" msgstr "LiVES: - Enter a Set Name to Reload" -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1561,7 +1566,7 @@ "Please enter the set name you wish to use.\n" "LiVES will remind you to save the clip set later when you try to exit.\n" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1589,220 +1594,220 @@ "First of all you need to choose a working directory for LiVES.\n" "This should be a directory with plenty of disk space available.\n" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "New name " -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "Set name " -#: src/interface.c:1257 +#: src/interface.c:1255 #, fuzzy msgid "Theme name " msgstr "New name " -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "Use def_aults" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "_Advanced" -#: src/interface.c:1437 +#: src/interface.c:1425 #, fuzzy msgid "Select input device" msgstr "Select input device:" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "Select input device:" -#: src/interface.c:1517 +#: src/interface.c:1505 #, fuzzy msgid "Load CD Track" msgstr "Load _CD Track..." -#: src/interface.c:1519 +#: src/interface.c:1507 #, fuzzy msgid "Select DVD Title/Chapter" msgstr "LiVES:- Select DVD Title/Chapter" -#: src/interface.c:1521 +#: src/interface.c:1509 #, fuzzy msgid "Select VCD Title" msgstr "LiVES:- Select VCD Title" -#: src/interface.c:1523 +#: src/interface.c:1511 #, fuzzy msgid "Change Maximum Visible Tracks" msgstr "LiVES:- Change Maximum Visible Tracks" -#: src/interface.c:1525 +#: src/interface.c:1513 #, fuzzy msgid "Device details" msgstr "LiVES:- Device details" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "Track to load (from %s)" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "DVD Title" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "VCD Title" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "Maximum number of tracks to display" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "Device: /dev/video" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "Device: fw:" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "Chapter " -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "Channel " -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "Audio ID " -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "Input number" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "Use default width, height and FPS" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "Width" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "Height" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "_Driver" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "_Output format" -#: src/interface.c:1815 +#: src/interface.c:1778 #, fuzzy msgid "Fade Audio In" msgstr "Fade Audio _In..." -#: src/interface.c:1817 +#: src/interface.c:1780 #, fuzzy msgid "Fade Audio Out" msgstr "Fade Audio _Out..." -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "Fade in over " -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "first" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "Fade out over " -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "last" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "seconds." -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "selection" -#: src/interface.c:1909 +#: src/interface.c:1865 #, fuzzy msgid " (Optional)" msgstr "_Options" -#: src/interface.c:1912 +#: src/interface.c:1868 #, fuzzy, c-format msgid "File Comments%s" msgstr "LiVES: - File Comments (optional)" -#: src/interface.c:1927 +#: src/interface.c:1882 #, fuzzy, c-format msgid "File Name: %s" msgstr "Title/Name : " -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "Title/Name : " -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "Author/Artist : " -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "Comments : " -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "Save _subtitles to file" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "Subtitle file" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "Browse..." -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "_Options" -#: src/interface.c:2109 +#: src/interface.c:2058 #, fuzzy, c-format msgid "%sChoose a Device" msgstr "LiVES: - choose a device" -#: src/interface.c:2112 +#: src/interface.c:2061 #, fuzzy, c-format msgid "%sChoose a Directory" msgstr "LiVES: - choose a directory" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" @@ -1812,7 +1817,7 @@ "The current layout has not been saved.\n" "What would you like to do ?\n" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" @@ -1822,7 +1827,7 @@ "The current layout has been changed since the last save.\n" "What would you like to do ?\n" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" @@ -1832,7 +1837,7 @@ "The current clip set can be saved.\n" "What would you like to do ?\n" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" @@ -1840,7 +1845,7 @@ "The current clip set has not been saved.\n" "What would you like to do ?\n" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" @@ -1848,7 +1853,7 @@ "The current layout has not been saved.\n" "What would you like to do ?\n" -#: src/interface.c:2410 +#: src/interface.c:2341 #, fuzzy msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" @@ -1857,7 +1862,7 @@ "The current layout has *not* been changed since it was last saved.\n" "What would you like to do ?\n" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" @@ -1867,44 +1872,44 @@ "The current layout contains generated frames and cannot be retained.\n" "What do you wish to do ?" -#: src/interface.c:2417 +#: src/interface.c:2348 #, fuzzy msgid "Cancel/Discard/Save" msgstr "LiVES: - Cancel/Discard/Save" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "Clip set _name" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "_Auto reload next time" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "_Wipe layout" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "_Ignore changes" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "_Delete clip set" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "_Delete layout" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "_Save layout" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "_Save clip set" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" @@ -1914,36 +1919,36 @@ "LiVES has detected a multitrack layout from a previous session.\n" "Would you like to try and recover it ?\n" -#: src/interface.c:2527 +#: src/interface.c:2455 #, fuzzy msgid "Disk Recovery Options" msgstr "LiVES: - Disk Recovery Options" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "Delete _Orphaned Clips" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "Delete any clips which are not currently loaded or part of a set" -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "Clear _Backup Files from Closed Clips" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "Remove Sets which have _Layouts but no Clips" -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "_Reset to Defaults" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "Show Keys" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1951,357 +1956,357 @@ "-----------------------\n" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 #, fuzzy msgid "ctrl-left" msgstr "Skip back (ctrl-left)" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 #, fuzzy msgid "skip forwards\n" msgstr "Play forwards" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 #, fuzzy msgid "ctrl-down" msgstr "Ctrl-%d" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 msgid "ctrl-enter" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "reset frame rate\n" msgstr "First Frame" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "" -#: src/interface.c:2723 +#: src/interface.c:2642 #, fuzzy msgid "reverse direction\n" msgstr "Reverse playback direction" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "ctrl-1" msgstr "Ctrl-%d" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "toggle real-time effect 1\n" msgstr "_Real time effects" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "ctrl-2" msgstr "Ctrl-%d" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "toggle real-time effect 2\n" msgstr "_Real time effects" -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 #, fuzzy msgid "ctrl-0" msgstr "Ctrl-%d" -#: src/interface.c:2751 +#: src/interface.c:2670 #, fuzzy msgid "real-time effects off\n" msgstr "_Real time effects" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "" -#: src/interface.c:2759 +#: src/interface.c:2678 #, fuzzy msgid "grab keyboard for last activated effect\n" msgstr "Grab keyboard for this effect key" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2688 #, fuzzy msgid "tab" msgstr "tap" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "" -#: src/interface.c:2785 +#: src/interface.c:2706 #, fuzzy msgid "Other playback keys\n" msgstr "_Reverse playback " -#: src/interface.c:2789 +#: src/interface.c:2710 #, fuzzy msgid "play all\n" msgstr "Play all" -#: src/interface.c:2792 +#: src/interface.c:2713 #, fuzzy msgid "play selection\n" msgstr "Play Selection" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "" -#: src/interface.c:2798 +#: src/interface.c:2719 #, fuzzy msgid "fullscreen\n" msgstr "_Full Screen" -#: src/interface.c:2801 +#: src/interface.c:2722 #, fuzzy msgid "separate window\n" msgstr "Play in separate window (s)" -#: src/interface.c:2804 +#: src/interface.c:2725 #, fuzzy msgid "double size\n" msgstr "_Double Size" -#: src/interface.c:2807 +#: src/interface.c:2728 #, fuzzy msgid "ping pong loops\n" msgstr "Pin_g Pong Loops" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "Multitrack Keys" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 #, fuzzy msgid "move current track up\n" msgstr "LiVES: - Rename Current Track" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 #, fuzzy msgid "move current track down\n" msgstr "LiVES: - Rename Current Track" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "" -#: src/interface.c:2849 +#: src/interface.c:2768 #, fuzzy msgid "select next clip\n" msgstr "LiVES: Selected clip" -#: src/interface.c:2852 +#: src/interface.c:2771 #, fuzzy msgid "select/deselect current track\n" msgstr "_Select Current Track" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 #, fuzzy msgid "zoom in\n" msgstr "_Zoom in" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 #, fuzzy msgid "zoom out\n" msgstr "_Zoom out" -#: src/interface.c:2861 +#: src/interface.c:2780 #, fuzzy msgid "make a mark on the timeline (during playback)\n" msgstr "to make a mark on the timeline" -#: src/interface.c:2864 +#: src/interface.c:2783 #, fuzzy msgid "rewind to play start.\n" msgstr "Rewind to start (w)" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "Saving as set %s..." -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "Please enter the name of the file to save the clip as.\n" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "Please enter a valid URL for the download.\n" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "Downloading %s to %s..." -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "Downloading clip..." -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -2313,16 +2318,16 @@ "Please check the clip URL and make sure you have \n" "the latest youtube-dl installed.\n" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, fuzzy, c-format msgid "Layouts were removed for set %s.\n" msgstr "%d clips and %d layouts were recovered from set (%s).\n" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "This file" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " @@ -2330,7 +2335,7 @@ ",\n" " - including the current layout - " -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2345,7 +2350,7 @@ "\n" "Really close it ?" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2360,7 +2365,7 @@ "\n" "Really close it ?" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" @@ -2370,7 +2375,7 @@ "\n" "Really close it ?" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" @@ -2378,7 +2383,7 @@ "\n" "Invalid project file.\n" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2399,54 +2404,54 @@ "then File|Close/Save all Clips and provide a new set name or discard it.\n" "Once you have done this, you will be able to import the new project.\n" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "Importing the project %s as set %s..." -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "Importing project" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "Exporting project %s..." -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "Exporting project" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 #, fuzzy msgid "Theme" msgstr "New name " -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, fuzzy, c-format msgid "Exporting theme as %s..." msgstr "Exporting audio as %s..." -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, fuzzy, c-format msgid "Importing theme \"%s\" from %s..." msgstr "Exporting audio as %s..." -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, fuzzy, c-format msgid "Backup as %s File" msgstr "Backup as .lv1 file" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, fuzzy, c-format msgid "Restore %s File" msgstr "Restore .lv1 file" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2458,94 +2463,94 @@ "Set will be deleted from the disk.\n" "Are you sure ?\n" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "Deleting set %s..." -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "Deleting set..." -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "Deleting set" -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "Set %s was permanently deleted from the disk.\n" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "Insert Silence" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "Undoing" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "Restoring audio..." -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "Clearing frame images" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "Deleting excess frames" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "Length of video is now %d frames at %.3f frames per second.\n" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "Clipboard was resampled to %d frames.\n" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "Re-doing" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, fuzzy, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "Copying frames %d to %d%s to the clipboard..." -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, fuzzy, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "Copying frames %d to %d%s to the clipboard..." -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "Copying to the clipboard" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "Cut" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 msgid "Pulling frames from clipboard" msgstr "Pulling frames from clipboard" -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "Pasting %d frames to new clip %s..." -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "Pasting" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "...added audio..." -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " @@ -2555,7 +2560,7 @@ "Please install 'convert' from the Image-magick package, and then restart " "LiVES.\n" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2569,7 +2574,7 @@ "Try selecting all frames, and then using \n" "the 'Trim Audio' function from the Audio menu." -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." @@ -2577,7 +2582,7 @@ "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" @@ -2587,7 +2592,7 @@ "Insertion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" @@ -2597,11 +2602,11 @@ "Insertion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "Resampling clipboard audio" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2613,7 +2618,7 @@ "LiVES was unable to resample the clipboard audio. \n" "Clipboard audio has been erased.\n" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2627,32 +2632,32 @@ "Do you wish to continue with the insert \n" "using unchanged audio ?\n" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "Inserting %d%s frames from the clipboard..." -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "Inserting" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "Inserting %d times from the clipboard%s..." -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "Inserting %d frames from the clipboard%s..." -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "Cancelling" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" @@ -2662,7 +2667,7 @@ "Deleting all frames will close this file.\n" "Are you sure ?" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" @@ -2672,8 +2677,8 @@ "Deletion will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" @@ -2683,7 +2688,7 @@ "Deletion will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" @@ -2693,7 +2698,7 @@ "Deletion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" @@ -2703,20 +2708,20 @@ "Deletion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "Deleting frames %d to %d%s..." -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "Deleting" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "Delete" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" @@ -2726,7 +2731,7 @@ "\n" "Selection is locked.\n" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2738,11 +2743,11 @@ "(To cancel, press 'r' or click on Play|Record Performance again before you " "play.)\n" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "Record cancelled.\n" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2755,7 +2760,7 @@ "The '%s' plugin reports:\n" "%s\n" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2768,7 +2773,7 @@ "Unable to find the 'init' method in the %s plugin.\n" "The plugin may be broken or not installed correctly." -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2781,22 +2786,22 @@ "\n" "Please press 'Cancel' if that is not what you want.\n" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "Saving set %s" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "Loading clips from set %s" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "%d clips and %d layouts were recovered from set (%s).\n" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2808,24 +2813,24 @@ "this machine.\n" "Click OK to proceed.\n" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "Cleaning up disk space..." -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "Recovering disk space..." -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "%s of disk space was recovered.\n" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "Resetting frame rates and frame values..." -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2836,12 +2841,12 @@ "External: %s\n" "Internal: %s (%d bpp) / %s\n" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "buffered" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." @@ -2849,7 +2854,7 @@ "\n" " Opening..." -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" @@ -2858,7 +2863,7 @@ "\n" "(%d virtual)" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" @@ -2867,7 +2872,7 @@ "\n" "(%d decoded)" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" @@ -2876,7 +2881,7 @@ "\n" " %.2f sec." -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" @@ -2884,23 +2889,23 @@ "\n" " Unknown" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "unsigned" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "signed" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "big-endian" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "little-endian" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" @@ -2909,7 +2914,7 @@ " %d Hz %d bit\n" "%s %s" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2939,15 +2944,15 @@ "along with this program; if not, write to the Free Software\n" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "A video editor and VJ program." -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "About LiVES" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" "Launchpad Contributions:\n" @@ -2957,7 +2962,7 @@ " Robert Readman https://launchpad.net/~robert-readman\n" " salsaman https://launchpad.net/~salsaman" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, fuzzy, c-format msgid "" "LiVES Version %s\n" @@ -2980,7 +2985,7 @@ "salsaman@gmail.com\n" "Homepage: http://lives.sourceforge.net" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 #, fuzzy msgid "" "\n" @@ -2991,7 +2996,7 @@ "\n" "You need to install mplayer or imageMagick to be able to preview this file.\n" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 #, fuzzy msgid "" "\n" @@ -3003,7 +3008,7 @@ "\n" "You need to install mplayer or imageMagick to be able to preview this file.\n" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" @@ -3012,88 +3017,88 @@ "Text was saved as\n" "%s\n" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 #, fuzzy msgid "Encoder Debug Output" msgstr "LiVES: - Encoder debug output" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "Fullscreen playback (f)" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "Fullscreen playback off (f)" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "Double size (d)" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "Single size (d)" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "Hide the play window (s)" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "Show the play window (s)" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "Play in separate window (s)" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "Switch continuous looping off (o)" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "Switch continuous looping on (o)" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "Audio volume (%.2f)" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "Unmute the audio (z)" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "Mute the audio (z)" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "Reversing clipboard..." -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "Reversing clipboard" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 #, fuzzy msgid "Load Subtitles" msgstr "Show Subtitles" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "Loaded subtitle file: %s\n" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "Subtitles were erased.\n" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 #, fuzzy msgid "Select Audio File" msgstr "LiVES: - Select Audio File" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -3105,60 +3110,60 @@ "Are you sure you wish to continue ?\n" "." -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "Opening audio %s, type %s..." -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "Opening audio" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "Committing audio" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "New Audio" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "Opening CD track %d from %s..." -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "CD track %d" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "Opening CD track..." -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "Error loading CD track\n" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 #, fuzzy msgid "Layout Errors" msgstr "layout errors" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "Clear _Errors" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "_Delete affected layouts" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "Resume" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" @@ -3168,23 +3173,23 @@ "Paused\n" "(click Resume to continue processing)" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "paused..." -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "resumed..." -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "Keep" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "Enough" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, c-format msgid "" "\n" @@ -3197,30 +3202,30 @@ "(click %s to keep what you have and stop)\n" "(click Resume to continue processing)" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "Cancel" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "Stop" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 #, fuzzy msgid "Selected Frame" msgstr "Select _All Frames" -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 #, fuzzy msgid "_Save Frame as..." msgstr "_Save frame as..." -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "Audio is ahead of video by %.4f secs at frame %d, with fps %.4f\n" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -3234,7 +3239,7 @@ "Please send a patch to get it working on other platforms.\n" "\n" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -3246,7 +3251,7 @@ "You must install \"xwininfo\" before you can use this feature\n" "\n" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" @@ -3254,7 +3259,7 @@ "\n" "Record time must be greater than 0.\n" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -3268,11 +3273,11 @@ "Click 'Cancel' to cancel\n" "\n" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "External window was released.\n" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" @@ -3280,7 +3285,7 @@ "Click on a Window to Capture it\n" "Press 'q' to stop recording" -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -3295,19 +3300,19 @@ "Stop or 'q' to finish.\n" "(Default of %.3f frames per second will be used.)\n" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "LiVES was unable to capture this window. Sorry.\n" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "Export Selected Audio as..." -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "Export Audio as..." -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -3321,87 +3326,87 @@ "Click 'OK' to export at the new speed, or 'Cancel' to export at the original " "rate.\n" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "Exporting audio frames %d to %d as %s..." -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "Exporting audio as %s..." -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "Exporting audio" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 #, fuzzy msgid "Append Audio File" msgstr "Append Audio" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "Appending audio file %s..." -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "Appending audio" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "Append Audio" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "Padding audio to %.2f seconds..." -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "Trimming audio from %.2f to %.2f seconds..." -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "Trimming/Padding audio" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "Trim/Pad Audio" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "Fading audio in" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "Fade audio in" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "Fading audio out" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "Fade audio out" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "%s over %.1f seconds..." -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "%s from time %.2f seconds to %.2f seconds..." -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "Fading audio..." -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" @@ -3411,33 +3416,33 @@ "Deleting all audio will close this file.\n" "Are you sure ?" -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "Deleting all audio..." -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "Deleting audio from %.2f to %.2f seconds..." -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "Deleting Audio" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "Delete Audio" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "Record new audio" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "Inserting silence from %.2f to %.2f seconds..." -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "Inserting Silence" @@ -3450,605 +3455,605 @@ msgid "Merge Clipboard [ %d Frames ] With Selection [ %d Frames ]" msgstr "Merge Clipboard [ %d Frames ] With Selection [ %d Frames ]" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" msgstr "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "Align _Starts" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "Align _Ends" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "What to do with extra clipboard frames -" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "_Insert Frames" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "_Drop Frames" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "Number of Times to Loop Clipboard" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "_Loop Clipboard to Fit Selection" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "_Transition Method:" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "Merging clipboard with selection..." -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "Merge done.\n" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "_Custom Generators" -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "_Custom Effects" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "Custom _Utilities" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "_File" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "_Open File/Directory" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "O_pen Part of File..." -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "Open _Location/Stream..." -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "Open _Youtube Clip..." -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "Import from _dvd/vcd..." -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "Import from _dvd" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "Import from _vcd" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "_Import from Firewire" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "Import from _Firewire Device (dv)" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "Import from _Firewire Device (hdv)" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "_Add Webcam/TV card..." -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "Add _Unicap Device" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "Add Live _Firewire Device" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "Add _TV Device" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "_Recent Files..." -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "_Reload Clip Set..." -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "Close/Sa_ve All Clips" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "_Encode Clip As..." -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "Encode _Selection As..." -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "_Close This Clip" -#: src/gui.c:692 +#: src/gui.c:674 #, fuzzy, c-format msgid "_Backup Clip as .%s..." msgstr "_Backup Clip as .lv1..." -#: src/gui.c:701 +#: src/gui.c:683 #, fuzzy, c-format msgid "_Restore Clip from .%s..." msgstr "_Restore Clip from .lv1..." -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "Encode/Load/Backup _with Sound" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "Auto load subtitles" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "Clean _up Diskspace" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "_Edit" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "_MULTITRACK mode" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "_Copy Selection" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "Cu_t Selection" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "_Insert from Clipboard..." -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "Paste as _New" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "_Merge Clipboard with Selection..." -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "_Delete Selection" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "Decouple _Video from Audio" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "_Select..." -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "Select _All Frames" -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "_Start Frame Only" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "_End Frame Only" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "Select from _First Frame" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "Select to _Last Frame" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "Select Last Insertion/_Merge" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "Select Last _Effect" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "_Invert Selection" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "_Lock Selection Width" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "_Play" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "_Play All" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "Pla_y Selection" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "Play _Clipboard" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "_Stop" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "Re_wind" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "_Full Screen" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "_Double Size" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "Play in _Separate Window" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "_Blank Background" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "(Auto)_loop Video (to fit audio track)" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "L_oop Continuously" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "Pin_g Pong Loops" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "_Mute" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "Separate Window 'S_ticky' Mode" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "S_how Frame Counter" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "Show Subtitles" -#: src/gui.c:1069 +#: src/gui.c:1045 #, fuzzy msgid "Letterbox Mode" msgstr "Letterbox mode" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "Effect_s" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "Effects are applied to the current selection." -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "_Run Test Rendered Effect/Tool/Generator..." -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "_Tools" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "Tools are applied to complete clips." -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "_Reverse Clipboard" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "_Change Playback/Save Speed..." -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "Resample _Video to New Frame Rate..." -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "_Utilities" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "Custom _Tools" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "_Generate" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "Load _Subtitles from File..." -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "Erase subtitles" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "Capture _External Window... " -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "_Preferences..." -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "_Audio" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "Load _New Audio for Clip..." -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "Load _CD Track..." -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "E_ject CD" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "Record E_xternal Audio..." -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "to New _Clip..." -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "to _Selection" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "Fade Audio _In..." -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "Fade Audio _Out..." -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "_Export Audio..." -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "Export _Selected Audio..." -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "Export _All Audio..." -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "_Append Audio..." -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "_Trim/Pad Audio..." -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "Trim/Pad Audio to _Selection" -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "Trim/Pad Audio from Beginning to _Play Start" -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "_Delete Audio..." -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "Delete _Selected Audio" -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "Delete _All Audio" -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "Insert _Silence in Selection" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "_Resample Audio..." -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "_Info" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "Show Clip _Info" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "Show/_Edit File Comments" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "Show _Clipboard Info" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "Show _Messages" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "Show _Layout Errors" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "_Clips" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "_Rename Current Clip in Menu..." -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "A_dvanced" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "_RFX Effects/Tools/Utilities" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "_New Test RFX Script..." -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "_Copy RFX Script to Test..." -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "_Edit Test RFX Script..." -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "Rena_me Test RFX Script..." -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "_Delete Test RFX Script..." -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "_Promote Test Rendered Effect/Tool/Generator..." -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "_Import Custom RFX script..." -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "E_xport Custom RFX script..." -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "De_lete Custom RFX Script..." -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "Re_build all RFX plugins" -#: src/gui.c:1397 +#: src/gui.c:1371 #, fuzzy msgid "Receive _LiVES Stream from..." msgstr "Receive _LiVES stream from..." -#: src/gui.c:1401 +#: src/gui.c:1375 #, fuzzy msgid "_Send LiVES Stream to..." msgstr "_Send LiVES stream to..." -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "Open _yuv4mpeg stream on %sstream.yuv..." -#: src/gui.c:1426 +#: src/gui.c:1399 #, fuzzy, c-format msgid "_Import Project (.%s)..." msgstr "_Import Project (.lv2)..." -#: src/gui.c:1430 +#: src/gui.c:1403 #, fuzzy, c-format msgid "E_xport Project (.%s)..." msgstr "E_xport Project (.lv2)..." -#: src/gui.c:1437 +#: src/gui.c:1409 #, fuzzy, c-format msgid "_Import Custom Theme (.%s)..." msgstr "_Import Project (.lv2)..." -#: src/gui.c:1442 +#: src/gui.c:1414 #, fuzzy, c-format msgid "E_xport Theme (.%s)..." msgstr "E_xport Project (.lv2)..." -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "_VJ" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "Real Time _Effect Mapping" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "Bind real time effects to ctrl-number keys." -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "Set Real Time Effect _Defaults" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "Set default parameter values for real time effects." -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "Save Real Time Effect _Defaults" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." @@ -4056,155 +4061,155 @@ "Save real time effect defaults so they will be restored each time you use " "LiVES." -#: src/gui.c:1476 +#: src/gui.c:1448 #, fuzzy msgid "_Reset All Playback Speeds and Positions" msgstr "_Reset all playback speeds and positions" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "" "Reset all playback positions to frame 1, and reset all playback frame rates." -#: src/gui.c:1480 +#: src/gui.c:1452 #, fuzzy msgid "_MIDI/Joystick Interface" msgstr "_MIDI/joystick interface" -#: src/gui.c:1489 +#: src/gui.c:1461 #, fuzzy msgid "_MIDI/Joystick Learner..." msgstr "_MIDI/joystick learner..." -#: src/gui.c:1493 +#: src/gui.c:1465 #, fuzzy msgid "_Save Device Mapping..." msgstr "_Save device mapping..." -#: src/gui.c:1497 +#: src/gui.c:1469 #, fuzzy msgid "_Load Device Mapping..." msgstr "_Load device mapping..." -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "Show VJ _Keys" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "To_ys" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "_None" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "_Autolives" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "_Mad Frames" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "_LiVES TV (broadband)" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "_Help" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "_Manual (opens in browser)" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 #, fuzzy msgid "_Donate to the Project !" msgstr "_Donate to the project !" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 #, fuzzy msgid "_Email the Author" msgstr "_Email the author" -#: src/gui.c:1547 +#: src/gui.c:1519 #, fuzzy msgid "Report a _Bug" msgstr "Report a _bug" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 #, fuzzy msgid "Suggest a _Feature" msgstr "Suggest a _feature" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 #, fuzzy msgid "Assist with _Translating" msgstr "Assist with _translating" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "_Troubleshoot" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "_About" -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "Rewind to start (w)" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "Play all (p)" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "Stop playback (q)" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "Play selection (y)" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "Volume" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "Audio volume (1.00)" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "Unblank background (b)" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "Play slower (ctrl-down)" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "Play faster (ctrl-up)" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "Skip back (ctrl-left)" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "Skip forward (ctrl-right)" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "Show clip info (i)" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "Hide this toolbar" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." @@ -4213,128 +4218,128 @@ "to stop." #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr " Video playback speed (frames per second) " -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "Vary the video speed" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "First Frame" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "Last Frame" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "The first selected frame in this clip" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "The last selected frame in this clip" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "Starting...\n" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "Frame number to preview" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "_Free" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "Free choice of frame number" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "_Start" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "Frame number is linked to start frame" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "_End" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "Frame number is linked to end frame" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "_Pointer" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "Frame number is linked to playback pointer" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "Rewind" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "Play all" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "Play Selection" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "Loop On/Off" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "Start _recording" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "Stop _recording" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "_Record Performance" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr " (%d %% scale)" -#: src/gui.c:3613 +#: src/gui.c:3553 #, fuzzy msgid "Streaming" msgstr "LiVES: - Streaming" -#: src/gui.c:3615 +#: src/gui.c:3555 #, fuzzy, c-format msgid "Play Window%s" msgstr "Hide Play Window" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "Hide Play Window" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "Show Play Window" -#: src/gui.c:4199 +#: src/gui.c:4127 #, fuzzy, c-format msgid "'LiVES opened the file' '%s'" msgstr "" @@ -4342,7 +4347,7 @@ "\n" "LiVES was unable to reorder the frames." -#: src/gui.c:4220 +#: src/gui.c:4146 #, fuzzy, c-format msgid "'LiVES closed the file' '%s'" msgstr "LiVES: - choose a file" @@ -4352,11 +4357,11 @@ msgid "Mapped to ctrl-%d" msgstr "Mapped to ctrl-%d" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "Effects" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "Clips" @@ -4370,11 +4375,11 @@ msgid "Select clip for %s\n" msgstr "Select clip for %s\n" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "_Pin" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "Pin the parameter box to the window" @@ -4419,11 +4424,11 @@ msgid "%d bytes" msgstr "%d bytes" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "Clearing the clipboard" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -4434,7 +4439,7 @@ "==============================\n" "Switched to clip %s\n" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" @@ -4444,11 +4449,11 @@ "==============================\n" "Switched to empty clip\n" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "(blank)" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " @@ -4457,7 +4462,7 @@ "The set name has been changed from %s to %s. Affected layouts have been " "updated accordingly\n" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" @@ -4466,7 +4471,7 @@ "The clip %s is missing from this set.\n" "It is required by the following layouts:\n" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" @@ -4475,7 +4480,7 @@ "The clip %s has been closed.\n" "It is required by the following layouts:\n" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" @@ -4484,7 +4489,7 @@ "Frames have been shifted in the clip %s.\n" "The following layouts are affected:\n" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" @@ -4493,7 +4498,7 @@ "Frames have been deleted from the clip %s.\n" "The following layouts are affected:\n" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" @@ -4502,7 +4507,7 @@ "Audio has been deleted from the clip %s.\n" "The following layouts are affected:\n" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" @@ -4511,7 +4516,7 @@ "Audio has been shifted in clip %s.\n" "The following layouts are affected:\n" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" @@ -4520,7 +4525,7 @@ "Audio has been altered in the clip %s.\n" "The following layouts are affected:\n" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" @@ -4529,7 +4534,7 @@ "Frames have been altered in the clip %s.\n" "The following layouts are affected:\n" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -4540,7 +4545,7 @@ "cannot be opened, as it is in use\n" "by another copy of LiVES.\n" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -4551,7 +4556,7 @@ "The set %s is currently in use by another copy of LiVES.\n" "Please choose another set name.\n" -#: src/utils.c:2188 +#: src/utils.c:2207 #, fuzzy, c-format msgid "" "\n" @@ -4560,7 +4565,7 @@ "\n" "Set names may not be blank.\n" -#: src/utils.c:2196 +#: src/utils.c:2215 #, fuzzy, c-format msgid "" "\n" @@ -4569,7 +4574,7 @@ "\n" "Set names may not be longer than 128 characters.\n" -#: src/utils.c:2204 +#: src/utils.c:2223 #, fuzzy, c-format msgid "" "\n" @@ -4578,7 +4583,7 @@ "\n" "Set names may not contain spaces or the characters%s.\n" -#: src/utils.c:2213 +#: src/utils.c:2232 #, fuzzy, c-format msgid "" "\n" @@ -4587,11 +4592,11 @@ "\n" "Set names may not start with a '.' or contain '..'\n" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4602,73 +4607,73 @@ "The set %s already exists.\n" "Please choose another set name.\n" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "Removing layout %s\n" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "Video [opening...]" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "Video [%.2f sec]" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "(Undefined)" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "(No video)" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "(No audio)" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "Mono [opening...]" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "Left Audio [opening...]" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "Mono [%.2f sec]" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "Left Audio [%.2f sec]" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "Right Audio [opening...]" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "Right Audio [%.2f sec]" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "LiVES cannot switch to mplayer whilst clips are loading." -#: src/utils.c:3492 +#: src/utils.c:3548 #, fuzzy msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "LiVES cannot switch to mplayer whilst clips are loading." -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "Cleaning up clip" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4683,29 +4688,29 @@ "\n" "Overwrite ?\n" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "_Undo %s" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "_Redo %s" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "-------------Selection------------" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr " sec ] ----------Selection---------- [ " -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr " frames ] ----------" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4737,7 +4742,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "Opening %s start time %.2f sec. frames %d" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr " without sound" @@ -4862,7 +4867,7 @@ "Do you still wish to continue ?" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "Pulling frames from clip" @@ -4919,12 +4924,12 @@ msgid "Recording performance..." msgstr "Recording performance..." -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "Average FPS was %.4f\n" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4938,21 +4943,21 @@ "You should click on Tools--->Resize All\n" "and resize all frames to the current size.\n" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "Unknown" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "Untitled%d" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "%d frames are enough !\n" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4960,13 +4965,13 @@ "%s\n" msgstr "" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" msgstr "" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4977,7 +4982,7 @@ "Error getting file info for clip %s.\n" "Bad things may happen with this clip.\n" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4988,12 +4993,12 @@ "Playback speed not found or invalid ! Using default fps of %.3f fps. \n" "Default can be set in Tools | Preferences | Misc.\n" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "Playback speed was adjusted to %.3f frames per second to fit audio.\n" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" @@ -5002,7 +5007,7 @@ "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" "Audio:" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" @@ -5011,54 +5016,54 @@ "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" "Audio:" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "%s none\n" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, c-format msgid " - Author: %s\n" msgstr " - Author: %s\n" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, c-format msgid " - Title: %s\n" msgstr " - Title: %s\n" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr " - Comment: %s\n" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "Saving frame %d as %s..." -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "Backing up %s to %s" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "Backing up" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "performance data was backed up..." -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "Restoring %s..." -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "Restoring" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -5116,12 +5121,12 @@ msgid "Recovering files..." msgstr "Recovering files..." -#: src/dialogs.c:87 +#: src/dialogs.c:83 #, fuzzy msgid "Show affeced _layouts" msgstr "Show affected _layouts" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" @@ -5129,52 +5134,52 @@ "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "_Recover disk space" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr " _Advanced Settings >>" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 #, fuzzy msgid "Warning !" msgstr "Warnings" -#: src/dialogs.c:198 +#: src/dialogs.c:186 #, fuzzy msgid "Error !" msgstr "LiVES: - File Error" -#: src/dialogs.c:208 +#: src/dialogs.c:196 #, fuzzy msgid "Information" msgstr "LiVES: Information for %s" -#: src/dialogs.c:234 +#: src/dialogs.c:221 #, fuzzy msgid "Question" msgstr "LiVES: - Question" -#: src/dialogs.c:248 +#: src/dialogs.c:235 #, fuzzy msgid "File Error" msgstr "Clear _Errors" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "_Abort" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "_Retry" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "Show _Details" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -5191,7 +5196,7 @@ "\n" "(Disk warning levels can be configured in Preferences.)" -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -5210,11 +5215,11 @@ "(Next warning will be shown at %s. Disk warning levels can be configured in " "Preferences.)" -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "Audio players cannot be switched during playback." -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -5226,11 +5231,11 @@ "LiVES was unable to perform this operation due to unsufficient memory.\n" "Please try closing some other applications first.\n" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "Processing has been paused." -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" @@ -5239,7 +5244,7 @@ "\n" "%s%d%% done. Time remaining: %u sec%s\n" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" @@ -5248,7 +5253,7 @@ "\n" "%d/%d frames opened. Time remaining %u sec.\n" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" @@ -5257,7 +5262,7 @@ "\n" "%d/%d frames opened.\n" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" @@ -5266,7 +5271,7 @@ "\n" "%d frames opened.\n" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" @@ -5275,7 +5280,7 @@ "\n" "Time remaining: %d sec" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -5286,7 +5291,7 @@ "Sorry, LiVES can only open %d files at once.\n" "Please close a file and then try again." -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, fuzzy, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -5305,7 +5310,7 @@ "\n" "Please make sure you can write to this directory." -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 #, fuzzy msgid "" "\n" @@ -5316,7 +5321,7 @@ "LiVES currently requires either 'mplayer' or 'sox' to function. Please " "install one or other of these, and try again.\n" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 #, fuzzy msgid "" "\n" @@ -5327,7 +5332,7 @@ "LiVES currently requires either 'mplayer' or 'sox' to function. Please " "install one or other of these, and try again.\n" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 #, fuzzy msgid "" "\n" @@ -5338,7 +5343,7 @@ "LiVES currently requires either 'mplayer' or 'sox' to function. Please " "install one or other of these, and try again.\n" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 #, fuzzy msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " @@ -5347,7 +5352,7 @@ "Audio was not loaded; please install mplayer if you expected audio for this " "clip.\n" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 #, fuzzy msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " @@ -5356,7 +5361,7 @@ "Audio was not loaded; please install mplayer if you expected audio for this " "clip.\n" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" @@ -5366,7 +5371,7 @@ "Please install 'sox'\n" "Or switch to another encoder format in Tools | Preferences | Encoding\n" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -5378,7 +5383,7 @@ "This encoder/format cannot use the requested audio codec.\n" "Please set the audio codec in Tools|Preferences|Encoding\n" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" @@ -5386,7 +5391,7 @@ "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" @@ -5394,7 +5399,7 @@ "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -5405,7 +5410,7 @@ "\n" "Due to restrictions in the %s format\n" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" @@ -5413,43 +5418,43 @@ "LiVES recommends the following settings:\n" "\n" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr ", signed" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr ", unsigned" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr ", little-endian" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr ", big-endian" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "Use an audio rate of %d Hz%s%s\n" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "Set video rate to %.3f frames per second\n" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "Set video rate to %d:%d frames per second\n" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "Set video size to %d x %d pixels\n" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" @@ -5457,35 +5462,35 @@ "\n" "You may wish to:\n" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "resize video to %d x %d pixels\n" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "disable audio, since the target encoder cannot encode audio\n" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "LiVES must:\n" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "resample audio to %d Hz%s%s\n" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "resample video to %.3f frames per second\n" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "resample video to %d:%d frames per second\n" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -5499,7 +5504,7 @@ "Click `OK` to proceed, `Cancel` to abort.\n" "\n" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" @@ -5509,7 +5514,7 @@ "Changes applied to the selection will not be permanent.\n" "\n" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -5523,7 +5528,7 @@ "memory available.\n" "Try recording for just a selection of the file." -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -5541,7 +5546,7 @@ "\n" "Please press Cancel to abort the insert, or OK to continue." -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -5562,11 +5567,11 @@ "You should only click OK if you understand what you are doing, otherwise, " "click Cancel." -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "Message History" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " @@ -5575,7 +5580,7 @@ "After upgrading/installing, you may need to adjust the <prefix_dir> setting " "in your %s file" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -5592,7 +5597,7 @@ "%s%s%s\n" "or change the value of <lib_dir> in %s\n" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 #, fuzzy msgid "" "Sorry, unknown audio type.\n" @@ -5603,11 +5608,11 @@ "\n" " (Filenames must end in .mp3, .ogg, .wav, .mod, .xm or .it)" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "failed (unknown type)\n" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" @@ -5617,7 +5622,7 @@ "Do you wish to remove the layout files associated with this set?\n" "(They will not be usable without the set).\n" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -5630,7 +5635,7 @@ "Click OK to add the current clips and layouts to the existing set.\n" "Click Cancel to pick a new name.\n" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -5642,7 +5647,7 @@ "Are you sure you wish to continue ?\n" "." -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -5654,7 +5659,7 @@ "Are you sure you wish to continue ?\n" "." -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -5671,7 +5676,7 @@ "If this file has been moved, click 'OK' to browse to the new location.\n" "Otherwise, click 'Cancel' to skip loading this file.\n" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -5686,7 +5691,7 @@ "%s\n" "The clip could not be loaded.\n" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -5698,7 +5703,7 @@ "Please check your ~/.jackdrc file and remove this option if present.\n" "Alternately, select a different audio player in Preferences.\n" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -5712,7 +5717,7 @@ "and also that the soundcard is not in use by another program.\n" "Automatic jack startup will be disabled now.\n" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" @@ -5720,7 +5725,7 @@ "\n" "Unable to connect to jack server. Please start jack before starting LiVES.\n" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -5737,7 +5742,7 @@ "\n" "%s\n" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" @@ -5745,7 +5750,7 @@ "\n" "Alternately, you can restart LiVES and select another audio player.\n" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -5760,7 +5765,7 @@ "You can increase the value in Preferences/Multitrack.\n" "It is recommended to increase it to at least %d MB" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -5773,7 +5778,7 @@ "It is recommended that you delete them.\n" "Do you wish to delete them ?\n" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -5785,7 +5790,7 @@ "Either close some other applications, or reduce the undo memory\n" "using Preferences/Multitrack/Undo Memory\n" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -5797,7 +5802,7 @@ "You may need to increase the undo memory\n" "using Preferences/Multitrack/Undo Memory\n" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" @@ -5805,19 +5810,19 @@ "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "or enter a smaller value.\n" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "Try again from the clip editor, try closing some other applications\n" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "Try closing some other applications\n" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" @@ -5825,13 +5830,13 @@ "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "" "The current layout has audio, so audio channels may not be set to zero.\n" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" @@ -5841,7 +5846,7 @@ "\"jack\" or \"pulse audio\" audio player.\n" "You can set this in Tools|Preferences|Playback." -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" @@ -5851,7 +5856,7 @@ "another system, or from an older version of LiVES).\n" "Should I try to repair the disk copy of the layout ?\n" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" @@ -5859,7 +5864,7 @@ "LiVES was unable to load the layout.\n" "Sorry.\n" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 #, fuzzy msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" @@ -5869,7 +5874,7 @@ "LiVES currently requires both 'mplayer' and 'sox' to function. Please " "install these, and try again.\n" -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 #, fuzzy msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" @@ -5879,7 +5884,7 @@ "LiVES currently requires both 'mplayer' and 'sox' to function. Please " "install these, and try again.\n" -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 #, fuzzy msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" @@ -5889,7 +5894,7 @@ "LiVES currently requires both 'mplayer' and 'sox' to function. Please " "install these, and try again.\n" -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" @@ -5899,7 +5904,7 @@ "\n" "Audio rate must be greater than 0.\n" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5911,7 +5916,7 @@ "and may take a long time to display.\n" "Are you sure you wish to view it ?\n" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" @@ -5921,7 +5926,7 @@ "\n" "You must install 'dvgrab' to use this function.\n" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5935,19 +5940,19 @@ "the \"jack\" or the \"pulse audio\" audio player.\n" "You may need to select one of these in Tools/Preferences/Playback.\n" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "Video playback plugin failed to initialise palette !\n" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "Decoder plugin failed to initialise palette !\n" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "Unable to set framerate of video plugin\n" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" @@ -5955,7 +5960,7 @@ "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5968,33 +5973,33 @@ "\n" "echo %d > /proc/sys/net/core/rmem_max\n" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "cancelled.\n" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "failed.\n" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "done.\n" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "error in file. Failed.\n" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "Additional info: %s\n" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "The error value was %d%s\n" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -6009,7 +6014,7 @@ "Please check your system for errors.\n" "%s%s%s" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -6024,7 +6029,7 @@ "Please check for possible error causes.\n" "%s" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -6039,7 +6044,7 @@ "Please check for possible error causes.\n" "%s" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -6052,7 +6057,7 @@ "%s\n" "Please check for possible error causes.\n" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -6067,7 +6072,7 @@ "The error was\n" "%s.\n" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -6080,7 +6085,7 @@ "%s\n" "Please check for possible error causes.\n" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -6095,12 +6100,12 @@ "The error was\n" "%s.\n" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "Value for \"%s\" could not be read." -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -6113,7 +6118,7 @@ "%s\n" "Please check your system for errors.\n" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -6126,7 +6131,7 @@ "%s\n" "Please check the file permissions and try again." -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -6139,7 +6144,7 @@ "%s\n" "Please check the directory permissions and try again." -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, c-format msgid "" "\n" @@ -6150,7 +6155,7 @@ "LiVES was unable to read from the directory:\n" "%s\n" -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" @@ -6160,7 +6165,7 @@ "Abort and exit immediately from LiVES\n" "Are you sure?\n" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -6171,7 +6176,7 @@ "The %s cannot encode clips with image type %s.\n" "Please select another encoder from the list.\n" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" @@ -6179,7 +6184,7 @@ "\n" "This card is already in use and cannot be opened multiple times.\n" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -6194,7 +6199,7 @@ "- Check if this device is in use by another program.\n" "- Check if the device actually exists.\n" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" @@ -6204,7 +6209,7 @@ "This file already has subtitles loaded.\n" "Do you wish to overwrite the existing subtitles ?\n" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 #, fuzzy msgid "" "\n" @@ -6213,7 +6218,7 @@ "\n" "LiVES currently only supports subtitles of type .srt and .sub.\n" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" @@ -6223,7 +6228,7 @@ "Erase all subtitles from this clip.\n" "Are you sure ?\n" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -6236,7 +6241,7 @@ "Click 'Cancel' to set another file name\n" "or 'OK' to continue and save as type \"%s\"\n" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" @@ -6246,7 +6251,7 @@ "Do you wish to move the current clip sets to the new directory ?\n" "(If unsure, click Yes)\n" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -6262,7 +6267,7 @@ "You are strongly advised to close the other copy, before clicking 'OK' to " "continue." -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" @@ -6270,7 +6275,7 @@ "\n" "No video input devices could be found.\n" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" @@ -6278,7 +6283,7 @@ "\n" "All video input devices are already in use.\n" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -6290,7 +6295,7 @@ "CLEANING AND COPYING FILES. THIS MAY TAKE SOME TIME.\n" "DO NOT SHUT DOWN OR CLOSE LIVES !\n" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, fuzzy, c-format msgid "" "\n" @@ -6301,7 +6306,7 @@ "Some %s are missing from the layout%s\n" "Therefore it could not be loaded properly.\n" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" @@ -6310,7 +6315,7 @@ "No clips were recovered for set (%s).\n" "Please check the spelling of the set name and try again.\n" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -6319,7 +6324,7 @@ "directory. Would you like me to do this (recommended) ?" msgstr "" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -6337,7 +6342,7 @@ "File -> Clean up Diskspace\n" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -6350,7 +6355,7 @@ "Welcome to LiVES version %s !\n" "\n" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" @@ -6360,7 +6365,7 @@ "You must have autolives.pl installed and in your path to use this toy.\n" "Consult your package distributor.\n" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" @@ -6368,7 +6373,7 @@ "\n" "You must have a minimum of one clip loaded to use this toy.\n" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" @@ -6378,7 +6383,7 @@ "LiVES lost its connection to jack and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" @@ -6388,11 +6393,11 @@ "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "Please set your CD play device in Tools | Preferences | Misc\n" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, fuzzy, c-format msgid "" "\n" @@ -6406,7 +6411,7 @@ "The error was\n" "%s.\n" -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -6415,7 +6420,7 @@ "already exists. Would you like to overwrite it ?\n" msgstr "" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -6560,7 +6565,7 @@ msgid "Video only Transitions" msgstr "Video only Transitions" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "audio only" @@ -6568,7 +6573,7 @@ msgid "Audio only Transitions" msgstr "Audio only Transitions" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "audio" @@ -6612,7 +6617,7 @@ msgid "Audio Analysers" msgstr "Audio Analysers" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "unknown" @@ -6669,90 +6674,90 @@ "\n" "No frames were generated.\n" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 #, fuzzy msgid "Invalid element" msgstr "Invalid parameter" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 #, fuzzy msgid "Invalid property" msgstr "Invalid parameter" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 #, fuzzy msgid "Invalid plugin" msgstr "Invalid line %d in %s\n" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 #, fuzzy msgid "No error" msgstr "Clear _Errors" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 msgid "integer" msgstr "integer" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "int64" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "boolean" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "double" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 msgid "string" msgstr "string" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 msgid "pointer" msgstr "pointer" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "Error: plugin %s has no weed_setup() function.\n" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "No usable filters found in plugin %s\n" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "Found duplicate plugin %s" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" @@ -6761,94 +6766,94 @@ "Info: Unable to load plugin %s\n" "Error was: %s\n" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "Some plugin directories" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr " - %s plugins -" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "Successfully loaded %d Weed filters\n" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "Invalid compound effect %s - has conflicting target_fps\n" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "Invalid compound effect %s - has multiple transition parameters\n" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "Invalid compound effect %s - has multiple master volume parameters\n" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "Invalid compound effect %s - must have >1 sub filters\n" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "Invalid effect %s found in compound effect %s, line %d\n" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "Invalid default found in compound effect %s, line %d\n" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "Invalid filter %d for defaults found in compound effect %s, line %d\n" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "Invalid param %d for defaults found in compound effect %s, line %d\n" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" msgstr "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "Invalid param link found in compound effect %s, line %d\n" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" msgstr "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" msgstr "" "Invalid out param %d for link params found in compound effect %s, line %d\n" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " @@ -6857,26 +6862,26 @@ "Invalid non-boolean value for autoscale found in compound effect %s, line " "%d\n" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" msgstr "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" msgstr "" "Invalid in param %d for link params found in compound effect %s, line %d\n" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "Invalid channel link found in compound effect %s, line %d\n" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " @@ -6885,158 +6890,158 @@ "Invalid out filter %d for link channels found in compound effect %s, line " "%d\n" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" msgstr "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" msgstr "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" msgstr "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "Compound:%s" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, c-format msgid "Successfully loaded %d compound filters\n" msgstr "" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, fuzzy, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "Failed to start instance %s, error code %d\n" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "Unable to start generator %s\n" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, fuzzy, c-format msgid "Failed to start generator %s (%s)\n" msgstr "Failed to start generator %s\n" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, fuzzy, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "Failed to start generator %s\n" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "%s [unstable] (%s)" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 msgid "Autoscale" msgstr "" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 msgid "Delete this connection" msgstr "" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, c-format msgid "%s - Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, c-format msgid "%s - Parameter Data Connections" msgstr "" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 msgid "Parameter and Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 msgid "Auto Connect Channels" msgstr "" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 msgid "Auto Connect Parameters" msgstr "" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "You can click in Preview to change these values" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "_Reset Values" -#: src/framedraw.c:241 +#: src/framedraw.c:242 msgid "_Frame" msgstr "" @@ -7080,40 +7085,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "Target _FPS (plugin may override this)" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "%s : size" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "New size (pixels)" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "_Width" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "_Height" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "Generate to _Clipboard" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "Generate frames to the clipboard" -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "Generate to _New Clip" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "Generate frames to a new clip" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -7194,32 +7199,32 @@ " Tools|Preferences|Playback|Playback Plugins Advanced\n" "\n" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "Saving playback plugin defaults to %s..." -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "_FPS" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "Fixed framerate for plugin.\n" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "_Colourspace" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "Colourspace input to the plugin.\n" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "Save settings to an alternate file.\n" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -7232,7 +7237,7 @@ "Failed to open playback plugin %s\n" "Error was %s\n" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -7247,7 +7252,7 @@ "is missing a mandatory function.\n" "Unable to use it.\n" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" @@ -7256,7 +7261,7 @@ "Video playback plugin failed to initialise.\n" "Error was: %s\n" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " @@ -7265,17 +7270,17 @@ "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " "***\n" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "Audio stream unable to use preferred format '%s'\n" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "Using '%s' format instead.\n" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -7284,7 +7289,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -7297,7 +7302,7 @@ "%s%s%s\n" "or switch to another plugin using Tools|Preferences|Encoding\n" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, c-format msgid "" "\n" @@ -7305,12 +7310,12 @@ "No decoders found in %s !\n" msgstr "" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, c-format msgid " using %s" msgstr "" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -7323,7 +7328,7 @@ "Failed to open decoder plugin %s\n" "Error was %s\n" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -7338,25 +7343,25 @@ "is missing a mandatory function.\n" "Unable to use it.\n" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "/unknown" -#: src/plugins.c:2556 +#: src/plugins.c:2550 #, fuzzy msgid "Decoder Plugins" msgstr "LiVES: - Decoder Plugins" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "Enabled Video Decoders (uncheck to disable)" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "Failed to load %s, transitions may not resize.\n" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "%s advanced settings" @@ -7568,20 +7573,20 @@ msgid "Move _Down" msgstr "Move _Down" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 #, fuzzy msgid "RFX Properties" msgstr "LiVES: - RFX Properties" -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "_Slow (hint to GUI)" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "_Batch mode generator" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -7595,7 +7600,7 @@ "Please remove the trigger first.\n" "\n" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -7607,29 +7612,29 @@ "Some triggers were adjusted.\n" "Please check the trigger code.\n" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 #, fuzzy msgid "New RFX Parameter" msgstr "LiVES: - New RFX Parameter" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 #, fuzzy msgid "Edit RFX Parameter" msgstr "LiVES: - Edit RFX Parameter" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "_Name: " -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "Name of the parameter, must be unique in the plugin." -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "_Label: " -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." @@ -7637,167 +7642,167 @@ "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "_Type: " -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "Parameter type (select from list)." -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "Decimal _places: " -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "_Default value: " -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "_Default: " -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "Button _Group: " -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "A non-zero value can be used to group radio buttons." -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "_Minimum value: " -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "Ma_ximum value: " -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr " _Step size: " -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "" "How much the parameter is adjusted when the spinbutton arrows are pressed." -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 msgid "_Wrap value" msgstr "" -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "Whether the value wraps max->min and min->max." -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "Set _values" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "Default _Red: " -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "Default _Green:" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "Default _Blue: " -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "Set _default" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "Default value: " -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "Maximum length (chars): " -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 #, fuzzy msgid "New RFX Parameter Window Hint" msgstr "LiVES: - New RFX Parameter Window Hint" -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 #, fuzzy msgid "Edit RFX Parameter Window Hint" msgstr "LiVES: - Edit RFX Parameter Window Hint" -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "" -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "" -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "" -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "Row: " -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "Linked parameters (%d): " -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "Linked parameters (4): " -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "Linked parameters (2): " -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 #, fuzzy msgid "New RFX Trigger" msgstr "LiVES: - New RFX Trigger" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 #, fuzzy msgid "Edit RFX Trigger" msgstr "LiVES: - Edit RFX Trigger" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "When: " -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 #, fuzzy msgid "Pre Loop Code" msgstr "LiVES: - Pre Loop Code" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 #, fuzzy msgid "Loop Code" msgstr "_Loop code..." -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 #, fuzzy msgid "Post Loop Code" msgstr "LiVES: - Post Loop Code" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, fuzzy, c-format msgid "Default text (max length %d)" msgstr "LiVES: - Default text (max length %d)" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 #, fuzzy msgid "Enter values, one per line" msgstr "LiVES: - Enter values, one per line" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" @@ -7807,7 +7812,7 @@ "\n" "Name must not be blank.\n" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" @@ -7817,7 +7822,7 @@ "\n" "Name must not contain spaces.\n" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" @@ -7827,7 +7832,7 @@ "\n" "Menu text must not be blank.\n" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" @@ -7837,7 +7842,7 @@ "\n" "Action description must not be blank.\n" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" @@ -7847,7 +7852,7 @@ "\n" "Author must not be blank.\n" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -7859,7 +7864,7 @@ "There is already a plugin with this name.\n" "Name must be unique.\n" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" @@ -7869,7 +7874,7 @@ "\n" "Loop code should not be blank.\n" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" @@ -7879,7 +7884,7 @@ "\n" "Trigger code should not be blank for a utility.\n" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" @@ -7889,7 +7894,7 @@ "\n" "Parameter name must not be blank.\n" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -7903,41 +7908,41 @@ "plugin.\n" "\n" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "Writing script file %s..." -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "No <define> section found in script.\n" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "Bad script version.\n" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "No <name> section found in script.\n" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "No <version> section found in script.\n" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "No <author> section found in script.\n" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "No <description> section found in script.\n" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "Bad description. (%s)\n" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -7952,27 +7957,27 @@ "found in script.\n" "\n" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "Rebuilding all RFX scripts...builtin..." -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "Rebuilding scripts" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "custom..." -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "test..." -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "rebuilding dynamic menu entries..." -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -7985,7 +7990,7 @@ "LiVES was unable to find the program %s.\n" "Please check this program is in your path and executable.\n" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -8000,12 +8005,12 @@ "%s ?\n" "\n" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "Deleting rfx script %s..." -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -8020,7 +8025,7 @@ "%s\n" "Error code was %d\n" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -8035,12 +8040,12 @@ "already exists.\n" "Please delete it first, or rename the test script.\n" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "Promoting rfx test plugin %s to custom..." -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -8051,22 +8056,22 @@ "Return code was %d (%s)\n" msgstr "" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 #, fuzzy msgid "Export Script" msgstr "Exporting project" -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "Copying %s to %s..." -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 #, fuzzy msgid "Import Script" msgstr "Importing project" -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -8081,46 +8086,46 @@ "already exists.\n" "Please delete it first, or rename the import script.\n" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 #, fuzzy msgid "Copy RFX Script" msgstr "LiVES: - Copy RFX Script" -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "" -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr " Script: " -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 #, fuzzy msgid "Rename Test RFX Script" msgstr "Rena_me Test RFX Script..." -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "From script: " -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 #, fuzzy msgid "RFX Script Name" msgstr "LiVES: - RFX Script name" -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "Script name: " -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "New name: " -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "New script name: " -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -8132,12 +8137,12 @@ "There is already a test script with this name.\n" "Script name must be unique.\n" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "Renaming RFX test script %s to %s..." -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -8154,27 +8159,27 @@ "%s\n" "Return code was %d\n" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "_Apply Real Time Effects to Selection" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 #, fuzzy msgid "Applying Current Real Time Effects to" msgstr "_Apply Real Time Effects to Selection" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "Loading rendered effect %s..." -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -8186,7 +8191,7 @@ "Video playback plugins are only activated in\n" "full screen, separate window (fs) mode\n" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -8198,7 +8203,7 @@ "\n" "(Free space = UNKNOWN)" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -8211,14 +8216,14 @@ "\n" "(Free space = %s)" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" "It should be in a partition with plenty of free disk space.\n" msgstr "" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -8229,7 +8234,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -8239,7 +8244,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1193 +#: src/preferences.c:1163 #, fuzzy msgid "" "You have chosen to change the working directory.\n" @@ -8260,7 +8265,7 @@ "Alternatively, press Cancel to restore the temporary directory to its " "original setting." -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, fuzzy, c-format msgid "" "\n" @@ -8272,7 +8277,7 @@ "Unable to switch audio players to jack - jackd must be installed first.\n" "See http://jackaudio.org\n" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" @@ -8280,7 +8285,7 @@ "\n" "Switching audio players requires restart (jackd must not be running)\n" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, fuzzy, c-format msgid "" "\n" @@ -8293,72 +8298,72 @@ "pulseaudio must be installed first.\n" "See http://www.pulseaudio.org\n" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "PCM (highest quality; largest files)" -#: src/preferences.c:2468 +#: src/preferences.c:2418 #, fuzzy msgid "Preferences" msgstr "_Preferences..." -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "Open file selection maximised" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "Show recent files in the File menu" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "Stop screensaver on playback " -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "Open main window maximised" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "Show toolbar when background is blanked" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "Allow mouse wheel to switch clips" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "Shrink previews to fit in interface" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "Startup mode:" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "_Clip editor" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "_Multitrack mode" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "Multi-head support" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr " monitor number for LiVES interface" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr " monitor number for playback" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." @@ -8366,239 +8371,239 @@ "A setting of 0 means use all available monitors (only works with some " "playback plugins)." -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "Force single monitor" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "GUI" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "When entering Multitrack mode:" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "_Prompt me for width, height, fps and audio settings" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "_Always use the following values:" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "Use these same _values for rendering a new clip" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr " _Undo buffer size (MB) " -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "_Exit multitrack mode after rendering" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "Auto backup layouts" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "_Every" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "seconds" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "After every _change" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "_Never" -#: src/preferences.c:2872 +#: src/preferences.c:2757 #, fuzzy msgid "Maximum number of visible tracks" msgstr "Maximum number of tracks to display" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "Multitrack/Render" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "Use instant opening when possible" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "Enable instant opening of some file types using decoder plugins" -#: src/preferences.c:2925 +#: src/preferences.c:2804 msgid "Video open command (fallback)" msgstr "" -#: src/preferences.c:2935 +#: src/preferences.c:2811 msgid "Fallback image format" msgstr "" -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "_jpeg" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "_png" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "(Check Help/Troubleshoot to see which image formats are supported)" -#: src/preferences.c:2964 +#: src/preferences.c:2832 msgid "Open/render compression" msgstr "" -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr " % ( lower = slower, larger files; for jpeg, higher quality )" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "Enable automatic deinterlacing when possible" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "Automatically deinterlace frames when a plugin suggests it" -#: src/preferences.c:2995 +#: src/preferences.c:2856 msgid "Automatic trimming / padding of audio when possible" msgstr "" -#: src/preferences.c:2997 +#: src/preferences.c:2858 msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "Ignore blank borders when possible" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "Clip any blank borders from frames where possible" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "When opening multiple files, concatenate images into one clip" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "Decoding" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "VIDEO" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "Low - can improve performance on slower machines" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "Normal - recommended for most users" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "High - can improve quality on very fast machines" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "Preview _quality" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "The preview quality for video playback - affects resizing" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "_Show FPS statistics" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "_Plugin" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "Stream audio" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "Stream audio to playback plugin" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "AUDIO" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "_Player" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "(See also the Jack Integration tab for jack startup options)" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "Audio play _command" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "- internal -" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "Audio follows video _rate/direction" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "Audio follows _clip switches" -#: src/preferences.c:3269 +#: src/preferences.c:3110 msgid "Source:" msgstr "" -#: src/preferences.c:3273 +#: src/preferences.c:3114 msgid "_Internal" msgstr "" -#: src/preferences.c:3278 +#: src/preferences.c:3119 msgid "_External (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "Playback" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" @@ -8606,73 +8611,73 @@ "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr " What to record when 'r' is pressed " -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "_Frame changes" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "F_PS changes" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "_Real time effects" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "_Clip switches" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "Pause recording if free disk space falls below:" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "GB" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "Recording" -#: src/preferences.c:3454 +#: src/preferences.c:3273 #, fuzzy msgid "You can also change these values when encoding a clip" msgstr "You can click in Preview to change these values" -#: src/preferences.c:3466 +#: src/preferences.c:3285 msgid "Encoder" msgstr "" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "Output format" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "Audio codec" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "Encoding" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "Use _antialiasing when resizing" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "Number of _real time effect keys" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." @@ -8680,96 +8685,96 @@ "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "Use _threads where possible when applying effects" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "Number of _threads" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr " Video load directory (default) " -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr " Video save directory (default) " -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr " Audio load directory (default) " -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr " Image directory (default) " -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr " Backup/Restore directory (default) " -#: src/preferences.c:3649 +#: src/preferences.c:3461 #, fuzzy msgid " Working directory (do not remove) " msgstr " Temp directory (do not remove) " -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "The default directory for loading video clips from" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "The default directory for saving encoded clips to" -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "The default directory for loading and saving audio" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "The default directory for saving frameshots to" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "The default directory for backing up/restoring single clips" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "LiVES working directory." -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "Directories" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "Warn if diskspace falls below: " -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr " MB [set to 0 to disable]" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "Diskspace critical level: " -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" @@ -8777,19 +8782,19 @@ "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "Warn on Open if file _size exceeds " -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr " MB" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "Show a warning before saving a se_t" -#: src/preferences.c:3872 +#: src/preferences.c:3659 #, fuzzy msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " @@ -8798,65 +8803,65 @@ "Show a warning if _mplayer, sox, composite or convert is not found when " "LiVES is started." -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "Show a warning if no _rendered effects are found at startup." -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "Show a warning if no _encoder plugins are found at startup." -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "Show a warning if a _duplicate set name is entered." -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "When a set is loaded, warn if clips are missing from _layouts." -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "Warn if a clip used in a layout is about to be closed." -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "Warn if frames used in a layout are about to be deleted." -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "Warn if frames used in a layout are about to be shifted." -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "Warn if frames used in a layout are about to be altered." -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "Warn if audio used in a layout is about to be deleted." -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "Warn if audio used in a layout is about to be shifted." -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "Warn if audio used in a layout is about to be altered." -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "Popup layout errors after clip changes." -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "Warn if the layout has not been saved when leaving multitrack mode." -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." @@ -8864,231 +8869,231 @@ "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "Show info message after importing from firewire device." -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "Show a warning before opening a yuv4mpeg stream (advanced)." -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "Show a warning when multitrack is low on backup space." -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "Show a warning advising cleaning of disk space after a crash." -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "Show a warning if unable to connect to pulseaudio player." -#: src/preferences.c:4113 +#: src/preferences.c:3865 msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "" -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "Warnings" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "Midi synch (requires the files midistart and midistop)" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "When inserting/merging frames: " -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "_Speed Up/Slow Down Insertion" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "_Resample Insertion" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "CD device " -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "LiVES can load audio tracks from this CD" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "Default FPS " -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "Frames per second to use when none is specified" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "Misc" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "New theme: " -#: src/preferences.c:4242 +#: src/preferences.c:3977 #, fuzzy msgid "Main Theme Details" msgstr "Show Details" -#: src/preferences.c:4254 +#: src/preferences.c:3988 #, fuzzy msgid " _Foreground Color" msgstr "Background" -#: src/preferences.c:4273 +#: src/preferences.c:4007 #, fuzzy msgid " _Background Color" msgstr "Background" -#: src/preferences.c:4291 +#: src/preferences.c:4026 #, fuzzy msgid "_Alt Foreground Color" msgstr "Background" -#: src/preferences.c:4309 +#: src/preferences.c:4044 #, fuzzy msgid "_Alt Background Color" msgstr "Background" -#: src/preferences.c:4327 +#: src/preferences.c:4062 #, fuzzy msgid " Info _Text Color" msgstr " _Height " -#: src/preferences.c:4346 +#: src/preferences.c:4081 #, fuzzy msgid " Info _Base Color" msgstr " _Height " -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "" -#: src/preferences.c:4365 +#: src/preferences.c:4100 #, fuzzy msgid "Affects some contrast details of the timeline" msgstr "" "Effects can be dragged\n" "onto blocks on the timeline." -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "" -#: src/preferences.c:4398 +#: src/preferences.c:4132 #, fuzzy msgid "Frame blank image" msgstr "_Frame changes" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "" -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4474 +#: src/preferences.c:4203 #, fuzzy msgid "Track background (multitrack)" msgstr "Unblank background (b)" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "" -#: src/preferences.c:4529 +#: src/preferences.c:4258 #, fuzzy msgid "Timeline selection (multitrack)" msgstr "Timeline (seconds)" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "" -#: src/preferences.c:4553 +#: src/preferences.c:4282 #, fuzzy msgid "Timecode foreground (multitrack)" msgstr "_Timecode to region start" -#: src/preferences.c:4565 +#: src/preferences.c:4293 #, fuzzy msgid "Frame surround" msgstr "Foreground" -#: src/preferences.c:4582 +#: src/preferences.c:4306 #, fuzzy msgid "Themes/Colors" msgstr "Themes" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "Download bandwidth (Kb/s) " -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "OMC remote control enabled" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "UDP port " -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "Start OMC on startup" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "Streaming/Networking" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "Jack transport" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" @@ -9096,43 +9101,43 @@ "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "Jack _transport config file" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "Start _server on LiVES startup" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "Jack transport _master (start and stop)" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "Jack transport _client (start and stop)" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "Jack transport sets start position" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "Jack transport timebase slave" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "(See also Playback -> Audio follows video rate/direction)" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "Jack audio" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "LiVES must be compiled with jack/jack.h present to use jack audio" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" @@ -9140,79 +9145,79 @@ "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "Jack _audio server config file" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "Play audio even when transport is _paused" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "Jack Integration" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "Events to respond to:" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "_Joystick events" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "_Joystick device" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "The joystick device, e.g. /dev/input/js0" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "_MIDI events" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "Use _ALSA MIDI (recommended)" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "Create an ALSA MIDI port which other MIDI devices can be connected to" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "Use _raw MIDI" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "Read directly from the MIDI device" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "_MIDI device" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "The MIDI device, e.g. /dev/input/midi0" -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "Advanced" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "MIDI check _rate" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." @@ -9220,23 +9225,23 @@ "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "MIDI repeat" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "Number of non-reads allowed between succesive reads." -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "(Warning: setting this value too high can slow down playback.)" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "MIDI/Joystick learner" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -9248,7 +9253,7 @@ "take effect.\n" "Click OK to continue.\n" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." @@ -9256,37 +9261,37 @@ "For the directory change to take effect, LiVES will restart when the " "Preferences dialogue closes." -#: src/preferences.c:5525 +#: src/preferences.c:5205 #, fuzzy msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "" "Theme changes will not take effect until the next time you start LiVES." -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "Jack options will not take effect until the next time you start LiVES." -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "Syncing to external framerate of %.8f frames per second.\n" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "Cannot initialise OSC receiver\n" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "WARNING: Cannot start OSC server at UDP port %d\n" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "Started OSC server at UDP port %d\n" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "Cannot start OSC/UDP server at port %d \n" @@ -9309,12 +9314,12 @@ msgid "Resample/Resize" msgstr "Resample/Resize" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "Length of video is now %d frames.\n" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" @@ -9324,147 +9329,147 @@ "\n" "New rate must be greater than 0\n" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "Resampling audio" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "LiVES was unable to resample the audio as requested.\n" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "Resample Audio" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "Audio was resampled to %d Hz, %d channels, %d bit" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "Resampling video at %.8f frames per second..." -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "Resampling video at %.3f frames per second..." -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "Reordering error !\n" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "Resample" -#: src/resample.c:1208 +#: src/resample.c:1209 #, fuzzy msgid "New Clip Audio" msgstr "New Audio" -#: src/resample.c:1210 +#: src/resample.c:1211 #, fuzzy msgid "External Clip Settings" msgstr "LiVES: - External Clip Settings" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "Current" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "Rate (Hz) " -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 msgid "Channels" msgstr "" -#: src/resample.c:1256 +#: src/resample.c:1257 msgid "Sample Size " msgstr "" -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "Signed" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "Unsigned" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "Little Endian" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "Big Endian" -#: src/resample.c:1322 +#: src/resample.c:1323 #, fuzzy msgid "New Audio Details" msgstr "New Audio" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "New" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "_Enable audio" -#: src/resample.c:1369 +#: src/resample.c:1370 msgid "_Channels" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "_Sample Size" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "Sample Size" msgstr "" -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "_Frames Per Second " -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "Record for maximum: " -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr " hours " -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr " minutes " -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr " seconds " -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "Unlimited" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "Click OK to begin recording, or Cancel to quit." -#: src/resample.c:1635 +#: src/resample.c:1636 #, fuzzy msgid "Change Playback Speed" msgstr "_Change Playback/Save Speed..." -#: src/resample.c:1637 +#: src/resample.c:1638 #, fuzzy msgid "Resample Video" msgstr "Resampling video" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -9481,7 +9486,7 @@ "Please enter the desired playback speed\n" "in _frames per second" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -9498,15 +9503,15 @@ "Please enter the _resampled rate\n" "in frames per second" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "OR enter the desired clip length in _seconds" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "Change the _audio speed as well" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" @@ -9516,7 +9521,7 @@ "Speeding up the clip will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" @@ -9526,7 +9531,7 @@ "Speeding up the clip will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" @@ -9536,7 +9541,7 @@ "Changing the speed will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" @@ -9546,33 +9551,33 @@ "Changing the speed will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "Speed Change" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "Changed playback speed to %.3f frames per second.\n" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "Resampling video" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "Resampling clipboard video" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "Reordering frames" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" @@ -9582,11 +9587,11 @@ "\n" "LiVES was unable to reorder the frames." -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "Deordering frames" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "resampling error..." @@ -9855,7 +9860,7 @@ msgid "Mode active" msgstr "Mode active" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "Info" @@ -9981,48 +9986,48 @@ msgid "Opened firewire card %d" msgstr "Opened firewire card %d" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "Auto backup" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "Backing audio" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, c-format msgid "%s : parameters for %s" msgstr "" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "Current track: %s (layer %d)\n" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "Current track: Backing audio\n" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "Current track: Layer %d audio\n" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "%.2f sec.\n" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "Source: %s" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "Right click for context menu.\n" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." @@ -10030,7 +10035,7 @@ "Double click on a block\n" "to select it." -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -10044,7 +10049,7 @@ "in the timeline by\n" "right or double clicking on it.\n" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -10056,7 +10061,7 @@ "No effect selected.\n" "Select an effect in FX stack first, to view its parameters.\n" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" @@ -10066,7 +10071,7 @@ "\n" "No clips loaded.\n" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -10082,7 +10087,7 @@ "Alternately, you can enable Autotransitions from the Effects menu,\n" "before inserting clips into the timeline." -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -10096,12 +10101,12 @@ "and a time region\n" "to apply compositors.\n" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "%.2f sec. to %.2f sec.\n" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" @@ -10109,12 +10114,12 @@ "Single click on timeline\n" "to select a frame.\n" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "%s [unstable]" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" @@ -10122,155 +10127,155 @@ "You can click and drag\n" "below the timeline" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr "to select a time region.\n" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 #, fuzzy msgid "Selected Clip" msgstr "LiVES: Selected clip" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 #, fuzzy msgid "_Adjust Start and End Points" msgstr "_Adjust start and end points" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 #, fuzzy msgid "_Edit/Encode in Clip Editor" msgstr "_Edit/encode in clip editor" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 #, fuzzy msgid "_Show Clip Information" msgstr "_Show clip information" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 #, fuzzy msgid "_Close this Clip" msgstr "_Close This Clip" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 #, fuzzy msgid "Audio Mixer (ctrl-m)" msgstr "Audio mixer (ctrl-m)" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "Single click on timeline" -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "to select a frame." -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "Double click or right click on timeline" -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "to select a block." -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "Clips can be dragged" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "onto the timeline." -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "Mouse mode is: Move" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "clips can be moved around." -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "Mouse mode is: Select." -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "Drag with mouse on timeline" -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "to select tracks and time." -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "Close _last gap(s) in selected tracks/time" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "Close _first gap(s) in selected tracks/time" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "Close gaps" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "Move block" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "Move audio block" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "Delete block" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "Delete audio block" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "Split tracks" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "Split block" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "Apply %s" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "Delete %s" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "Insert block" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "Insert gap" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "Insert audio block" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "Effect order change" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "unsigned " -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "signed " -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " @@ -10279,15 +10284,15 @@ "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " "audio rate %d, audio sample size %d, %s.\n" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "invalid event list. Failed.\n" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "event list has invalid fps. Failed.\n" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -10302,7 +10307,7 @@ "close the current set,\n" "then load in the new set from the File menu.\n" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -10313,403 +10318,403 @@ "This has an invalid number of audio channels (%d) for LiVES.\n" "It cannot be loaded.\n" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "Layout was wiped.\n" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "In/out" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "FX stack" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "Params." -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "_Open..." -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "O_pen File Selection..." -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "Import Selection from _dvd/vcd..." -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "Import Selection from _dvd" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "Import Selection from _vcd" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "_Import from Device" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 #, fuzzy msgid "_Close the Selected Clip" msgstr "_Close the selected clip" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 #, fuzzy msgid "_Save Layout as..." msgstr "_Save layout as..." -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 #, fuzzy msgid "_Load Layout..." msgstr "_Load layout..." -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 #, fuzzy msgid "_Wipe/Delete Layout..." msgstr "_Wipe/Delete layout..." -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 #, fuzzy msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "_Ignore width, height and audio values from loaded layouts" -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 #, fuzzy msgid "Auto Load _Subtitles with Clips" msgstr "Auto load _subtitles with clips" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "_CLIP EDITOR" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 #, fuzzy msgid "_Adjust Selected Clip Start/End Points" msgstr "_Adjust selected clip start/end points" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "_Insert selected clip" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 #, fuzzy msgid "_Insert Selected Clip Audio" msgstr "_Insert selected clip audio" -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 #, fuzzy msgid "_Delete Selected Block" msgstr "_Delete selected block" -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 #, fuzzy msgid "_Jump to Previous Block Boundary" msgstr "_Jump to previous block boundary" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 #, fuzzy msgid "_Jump to Next Block Boundary" msgstr "_Jump to next block boundary" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 #, fuzzy msgid "Clear _Marks from Timeline" msgstr "Clear _marks from timeline" -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 #, fuzzy msgid "Ignore Selection Limits when Inserting" msgstr "Ignore selection limits when inserting" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "_Play from Timeline Position" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 #, fuzzy msgid "Pla_y Selected Time Only" msgstr "Pla_y selected time only" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 #, fuzzy msgid "_Move Effects with Blocks" msgstr "_Move effects with blocks" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 #, fuzzy msgid "Select _Autotransition Effect..." msgstr "Select _autotransition effect..." -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 msgid "Crossfade Audio with Autotransition" msgstr "" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 #, fuzzy msgid "View/_Edit Selected Effect" msgstr "View/_Edit selected effect" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 #, fuzzy msgid "_Delete Selected Effect" msgstr "_Delete selected effect" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 #, fuzzy msgid "Apply Effect to _Block..." msgstr "Apply effect to _block..." -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 #, fuzzy msgid "Apply Effect to _Region..." msgstr "Apply effect to _region..." -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "_Tracks" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 #, fuzzy msgid "Make _Backing Audio Current Track" msgstr "Make _Backing Audio current track" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "Add Video Track at _Rear" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "Add Video Track at _Front" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 #, fuzzy msgid "_Split Current Track at Cursor" msgstr "_Split current track at cursor" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 #, fuzzy msgid "_Split Selected Video Tracks" msgstr "_Split selected video tracks" -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 #, fuzzy msgid "Insert Gap in Selected Tracks/Time" msgstr "Insert gap in selected tracks/time" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 #, fuzzy msgid "Insert Gap in Current Track/Selected Time" msgstr "Insert gap in current track/selected time" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 #, fuzzy msgid "Close All _Gaps in Selected Tracks/Time" msgstr "Close all _gaps in selected tracks/time" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "Se_lection" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "_Select Current Track" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 #, fuzzy msgid "Select _All Video Tracks" msgstr "Select _all video tracks" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 #, fuzzy msgid "Select _No Video Tracks" msgstr "Select _no video tracks" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 #, fuzzy msgid "Select All _Time" msgstr "Select all _time" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 #, fuzzy msgid "Select from _Zero Time" msgstr "Select from _zero time" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 #, fuzzy msgid "Select to _End Time" msgstr "Select to _end time" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "_Copy..." -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 #, fuzzy msgid "_Timecode to Region Start" msgstr "_Timecode to region start" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 #, fuzzy msgid "_Timecode to Region End" msgstr "_Timecode to region end" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 #, fuzzy msgid "_Region Start to Timecode" msgstr "_Region start to timecode" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 #, fuzzy msgid "_Region End to Timecode" msgstr "_Region end to timecode" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 #, fuzzy msgid "Select/Deselect Block at Current Track/Time" msgstr "_Select Current Track" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 #, fuzzy msgid "_Change Width, Height and Audio Values..." msgstr "_Change width, height and audio values..." -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "_Render" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 #, fuzzy msgid "_Render All to New Clip" msgstr "_Render all to new clip" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 #, fuzzy msgid "Render _Video" msgstr "Render _video" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 #, fuzzy msgid "Render _Audio" msgstr "Render _audio" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 #, fuzzy msgid "_Normalise Rendered Audio" msgstr "_Normalise rendered audio" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 #, fuzzy msgid "_Pre-render Audio" msgstr "_Pre-render audio" -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "_View" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 #, fuzzy msgid "Block _In/Out Points" msgstr "Block _In/out points" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 #, fuzzy msgid "_Effects at Current" msgstr "_Effects at current" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 #, fuzzy msgid "Audio Parameters" msgstr "Audio parameters" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 #, fuzzy msgid "Show Backing _Audio Track" msgstr "Show backing _audio track" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 #, fuzzy msgid "Compact View" msgstr "Compact view" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 #, fuzzy msgid "Maximum Tracks to Display..." msgstr "Maximum tracks to display..." -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 #, fuzzy msgid "Scroll to Follow Playback" msgstr "Scroll to follow playback" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 #, fuzzy msgid "_Center on Cursor" msgstr "_Centre on cursor" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 #, fuzzy msgid "_Zoom In" msgstr "_Zoom in" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 #, fuzzy msgid "_Zoom Out" msgstr "_Zoom out" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 #, fuzzy msgid "Multitrack _Details" msgstr "Multitrack _details" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "_Event Window" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "_Event Window (selected time only)" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 #, fuzzy msgid "_Show FRAME Events" msgstr "_Show FRAME events" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 #, fuzzy msgid "_Show Multitrack Keys" msgstr "_Show multitrack keys" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "Report a _bug" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 #, fuzzy msgid "Insert With _Audio" msgstr "Insert with _audio" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "" "Select whether video clips are inserted and moved with their audio or not" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 #, fuzzy msgid "Select _Overlap" msgstr "Select _overlap" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" @@ -10717,90 +10722,90 @@ "Select whether timeline selection snaps to overlap between selected tracks " "or not" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "Expanded View (d)" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "Compact View (d)" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "Gravity: _Normal" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "Gravity: _Left" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "Gravity: _Right" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 #, fuzzy msgid "Mouse Mode: _Move" msgstr "Mouse mode: _Move" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 #, fuzzy msgid "Mouse Mode: _Select" msgstr "Mouse mode: _Select" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 #, fuzzy msgid "Insert Mode: _Normal" msgstr "Insert mode: _Normal" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "_Apply" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "Time" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "_Del. node" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "_Next node" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "_Prev node" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "_Reverse playback " -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "_Velocity " -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "Anchor _start" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "Anchor the start point to the timeline" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "Anchor _end" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "Anchor the end point to the timeline" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "Scroll" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" @@ -10810,95 +10815,95 @@ "==============================\n" "Switched to Clip Edit mode\n" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "Timeline (seconds)" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr " Backing audio" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr " Layer %d audio" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "Show/hide audio details" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "Layer %d audio" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "%s (layer %d)" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "Select track" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "Show/hide audio" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "Video %d" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr " %s" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 #, fuzzy msgid "Selected Effect" msgstr "Select Last _Effect" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 #, fuzzy msgid "_View/Edit this Effect" msgstr "_View/Edit this effect" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 #, fuzzy msgid "_View this Effect" msgstr "_View this effect" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 #, fuzzy msgid "_Delete this Effect" msgstr "_Delete this effect" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "Cannot insert after this effect" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "This effect cannot be moved" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr " %d to %d selected " -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "%.2f sec." -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "%d frames" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" @@ -10908,19 +10913,19 @@ "==============================\n" "Switched to Multitrack mode\n" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "Drag the time slider to where you" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "want to set effect parameters" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "Set parameters, then click \"Apply\"\n" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" @@ -10930,51 +10935,51 @@ "have been set.\n" "Nodes can be deleted." -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "Effect has no parameters.\n" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "%s output" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "layer %d" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "audio track" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "%s to %s" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "_Prev filter map" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "Insert _before" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "Insert _after" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "_Next filter map" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -10986,7 +10991,7 @@ "No effects at current track,\n" "current time.\n" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" @@ -10996,7 +11001,7 @@ "on the timeline\n" "to apply it to the selected region." -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" @@ -11006,7 +11011,7 @@ "on the timeline\n" "to apply it to the selected region." -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." @@ -11014,67 +11019,67 @@ "Effects can be dragged\n" "onto blocks on the timeline." -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 #, fuzzy msgid "Selected Block/Frame" msgstr "LiVES: Selected block/frame" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 #, fuzzy msgid "_Select this Block" msgstr "_Select this block" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 #, fuzzy msgid "_Split Block Here" msgstr "_Split block here" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 #, fuzzy msgid "List _Effects Here" msgstr "List _effects here" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "_Adjust %s" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 #, fuzzy msgid "_Delete this Block" msgstr "_Delete this block" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 #, fuzzy msgid "_Insert Here" msgstr "_Insert here" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 #, fuzzy msgid "_Insert Audio Here" msgstr "_Insert audio here" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "Inserted gap in selected tracks from time %.4f to %.4f\n" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "Inserted gap in track %s from time %.4f to %.4f\n" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "Undid %s\n" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "Redid %s\n" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" @@ -11082,72 +11087,72 @@ "\n" " (variable)" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "track %s" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "tracks %s and %s" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "selected tracks" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "Added %s %s to %s from %.4f to %.4f\n" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "Added effect %s to track %s from %.4f to %.4f\n" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "rendered %d frames to new clip.\n" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "Cleaning up..." -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, fuzzy, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "Inserted gap in track %s from time %.4f to %.4f\n" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, fuzzy, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "Deleting audio from %.2f to %.2f seconds..." -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "_Pause" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "Pause (p)" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "Press 'm' during playback" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "to make a mark on the timeline" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " @@ -11156,14 +11161,14 @@ "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " "to %.4f\n" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" msgstr "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" @@ -11172,7 +11177,7 @@ "Time region %.3f to %.3f\n" "selected.\n" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" @@ -11180,12 +11185,12 @@ "select one or more tracks\n" "to create a region.\n" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "%d video tracks selected.\n" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." @@ -11193,7 +11198,7 @@ "Double click on timeline\n" "to deselect time region." -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." @@ -11201,7 +11206,7 @@ "Single click on an effect\n" "to select it." -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." @@ -11209,7 +11214,7 @@ "Double click on an effect\n" "to edit it." -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" @@ -11217,7 +11222,7 @@ "Right click on an effect\n" "for context menu.\n" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" @@ -11225,7 +11230,7 @@ "Effect order can be changed at\n" "FILTER MAPS" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" @@ -11233,15 +11238,15 @@ "You can select an effect,\n" "then use the INSERT BEFORE" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "or INSERT AFTER buttons to move it." -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "Click on another effect," -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" @@ -11249,50 +11254,50 @@ "and the selected one\n" "will be inserted" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "after it.\n" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "before it.\n" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "Removed parameter values for effect %s at time %.4f\n" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "Set parameter values for %s %s on %s at time %.4f\n" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "_Autoreload each time" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 msgid "Saving layout" msgstr "" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "Saved layout to %s\n" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "clips and frames" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "clips" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "frames" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" @@ -11300,7 +11305,7 @@ "\n" "Auto reload layout.\n" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -11311,11 +11316,11 @@ "Some %s are missing from the layout%s\n" "Therefore it could not be loaded properly.\n" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "auto backup" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" @@ -11324,50 +11329,50 @@ "\n" "Unable to load layout file %s\n" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "Loading layout from %s..." -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "Got %d events...processing..." -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "Checking and rebuilding event list" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "%d errors detected.\n" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "Multitrack fps set to %.3f\n" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 msgid "" "The current layout has changes which have not been saved.\n" "Are you sure you wish to wipe it ?\n" msgstr "" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 #, fuzzy msgid "Multitrack Audio Mixer" msgstr "LiVES: Multitrack audio mixer" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "_Reset values" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "_Close mixer" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" @@ -11375,15 +11380,15 @@ "_Invert backing audio\n" "and layer volumes" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "Adjust backing and layer audio values so that they sum to 1.0" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "_Gang layer audio" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "Adjust all layer audio values to the same value" @@ -11411,7 +11416,7 @@ "\n" "Connection to jack audio was reset.\n" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -11423,7 +11428,7 @@ "Falling back to sox audio player.\n" "You can change this in Preferences/Playback.\n" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -11435,7 +11440,7 @@ "Falling back to mplayer audio player.\n" "You can change this in Preferences/Playback.\n" -#: src/pulse.c:104 +#: src/pulse.c:105 #, fuzzy msgid "" "\n" @@ -11448,7 +11453,7 @@ "Falling back to mplayer audio player.\n" "You can change this in Preferences/Playback.\n" -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -11456,11 +11461,11 @@ "\n" "Unable to connect to pulse audio server.\n" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "LiVES will exit and you can choose another audio player.\n" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" @@ -11468,11 +11473,11 @@ "\n" "Connection to pulse audio was reset.\n" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "unclamped" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr "clamped"
View file
LiVES-2.8.4.tar.bz2/po/es.po -> LiVES-2.8.6.tar.bz2/po/es.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: lives\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" "PO-Revision-Date: 2014-01-01 22:33+0000\n" "Last-Translator: Adolfo Jayme <fitoschido@gmail.com>\n" "Language-Team: Spanish <es@li.org>\n" @@ -18,7 +18,7 @@ "X-Launchpad-Export-Date: 2014-04-13 13:12+0000\n" "X-Generator: Launchpad (build 16976)\n" -#: src/main.c:132 +#: src/main.c:125 #, fuzzy msgid "" "Attention Translators !\n" @@ -33,22 +33,22 @@ "All translators should read the LiVES translation notes at\n" "http://lives.sourceforge.net/TRANS-README.txt" -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "%s Aviso: %s\n" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "%s Error crítico: %s\n" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "%s Error grave: %s\n" -#: src/main.c:203 +#: src/main.c:197 #, fuzzy, c-format msgid "" "\n" @@ -62,7 +62,7 @@ "group_id=64341&atid=507139\n" "Gracias. Debería poder recuperar su sesión reiniciando LiVES.\n" -#: src/main.c:205 +#: src/main.c:199 #, fuzzy, c-format msgid "" "\n" @@ -75,7 +75,7 @@ "Cuando informe del problema, incluya detalles de su sistema operativo, " "distribución, y la versión de LiVES (" -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" @@ -83,7 +83,7 @@ "y la información mostrada debajo:\n" "\n" -#: src/main.c:210 +#: src/main.c:204 #, fuzzy msgid "" "Please try running LiVES with the -debug option to collect more " @@ -94,7 +94,7 @@ "información.\n" "\n" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" @@ -104,89 +104,89 @@ "información.\n" "\n" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "Preservando el conjunto.\n" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "Cualquiera" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "Ninguno" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "recomendado" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "desactivado" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "**La disposición actual**" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "Integrado" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "Personalizado" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "Prueba" -#: src/main.c:474 +#: src/main.c:460 #, fuzzy msgid "LiVES: - " msgstr "LiVES:- Unir" -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "Redimensionando" -#: src/main.c:731 +#: src/main.c:708 #, fuzzy msgid "_Resize All Frames..." msgstr "_Redimensionar todos los cuadros" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "Frente" -#: src/main.c:1122 +#: src/main.c:1094 msgid "Background" msgstr "Fondo" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "Cargando complementos de efectos en tiempo real..." -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "Iniciando el servidor de audio jack..." -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "" -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "" -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -198,35 +198,35 @@ "Alternatively, try to start lives with either \"lives -jackopts 16\", or " msgstr "" -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "Iniciando servidor PulseAudio..." -#: src/main.c:1855 +#: src/main.c:1813 #, fuzzy, c-format msgid "%s...detected... " msgstr "mplayer... detectado..." -#: src/main.c:1856 +#: src/main.c:1814 #, fuzzy, c-format msgid "%s...NOT DETECTED... " msgstr "mplayer... NO DETECTADO..." -#: src/main.c:1867 +#: src/main.c:1824 #, fuzzy msgid "Checking optional dependencies: " msgstr "Comprobando dependencias opcionales:" -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "Versión de Windows %04X" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -237,53 +237,53 @@ "\n" "El gestor de ventanas se reporta como «%s»; " -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "número de monitores detectados: %d\n" -#: src/main.c:1901 +#: src/main.c:1863 #, c-format msgid "Number of CPUs detected: %d " msgstr "Cantidad de CPU detectadas: %d " -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "(%d bits, %s)\n" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "El tipo de IGU es: " -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "Versión de GTK+ %d.%d.%d (compilada con %d.%d.%d)" -#: src/main.c:1927 +#: src/main.c:1889 #, fuzzy, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "Versión de GTK+ %d.%d.%d (compilada con %d.%d.%d)" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr ", compatible con Cairo" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "El directorio temporal es %s\n" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" @@ -293,15 +293,15 @@ "para jack o pulse audio.\n" "No estarán disponibles muchas funciones de sonido.\n" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "Compilado con soporte para jack, ¡bien!\n" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "Se compiló con compatibilidad con PulseAudio, ¡fantástico!\n" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" @@ -310,7 +310,7 @@ "Bienvenido a LiVES versión %s.\n" "\n" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" @@ -319,91 +319,91 @@ "\n" "La sintaxis de inicio es: %s [opts] [nombredearchivo [start_time] [frames]]\n" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "" "Donde: nombredearchivo es el nombre de un archivo multimedia o de respaldo.\n" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "tiempo_inicio: tiempo de inicio del nombre de archivo en segundos\n" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "cuadros: número máximo de cuadros a abrir\n" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "los opcionales pueden ser:\n" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "help: muestra este texto de ayuda y sale\n" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "-set <nombredeset>: autocarga un clip set nombredeset\n" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "-noset: no carga ningún ser al iniciar\n" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "-norecover: fuerza la no restauración post crash\n" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "-recover: fuerza la recuperación post crash\n" -#: src/main.c:2593 +#: src/main.c:2545 msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "-nogui: no muestra la interfaz gráfica\n" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "-nosplash : no mostrar la pantalla de inicio\n" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "-noplaywin : no mostrar la ventana de reproducción\n" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "-startup-ce : inicia en modo editor de copiado.\n" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "-startup-mt : inicia en modo multipista.\n" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" msgstr "" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "-oscstart <puerto>: inicia la escucha OSC en el puerto UDP <port>\n" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "-nooscstart: no inicia la escucha OSC\n" -#: src/main.c:2605 +#: src/main.c:2557 #, fuzzy msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " @@ -413,15 +413,15 @@ "ser mplayer" #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr ", pulse" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr ", sox o jack\n" -#: src/main.c:2613 +#: src/main.c:2565 #, fuzzy msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " @@ -433,29 +433,29 @@ "maestro, 4 = iniciar servidor de transporte de jack, 8 = pausar audio cuando " "vídeo sea pausado, 16 = inicar servidor de audio jack] \n" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr " o sox\n" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "-mapadispositivos <nombremapa> : autocargar mapadispositivos\n" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" msgstr "" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "-depurar: trata de errores de depuración (requiere 'gdb' instalado)\n" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "Iniciando GUI..." -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -472,7 +472,7 @@ "%s/%s.\n" "(Quizá necesite cambiar el valor de <prefix_dir> en su archivo %s)\n" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -483,7 +483,7 @@ "LiVES no pudo crear un archivo pequeño en %s\n" "Asegúrese de que tiene acceso de escritura a %s e inténtelo de nuevo.\n" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -497,7 +497,7 @@ "Por favor, lea el archivo README que viene con este paquete\n" "antes de iniciar LiVES.\n" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -507,7 +507,7 @@ "Please check the file permissions for this file and try again.\n" msgstr "" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -518,7 +518,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -526,7 +526,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2737 +#: src/main.c:2689 #, fuzzy, c-format msgid "" "\n" @@ -541,7 +541,7 @@ "\n" "%s" -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -559,7 +559,7 @@ "\n" "Gracias.\n" -#: src/main.c:2751 +#: src/main.c:2703 #, fuzzy msgid "" "\n" @@ -570,7 +570,7 @@ "LiVES requiere actualmente de 'mplayer' o 'sox' para funcionar. Por favor, " "instale alguno de ellos, e intente nuevamente.\n" -#: src/main.c:2756 +#: src/main.c:2708 #, fuzzy msgid "" "\n" @@ -581,7 +581,7 @@ "LiVES requiere actualmente de 'mplayer' o 'sox' para funcionar. Por favor, " "instale alguno de ellos, e intente nuevamente.\n" -#: src/main.c:2769 +#: src/main.c:2721 #, fuzzy msgid "" "\n" @@ -592,7 +592,7 @@ "LiVES no pudo encontrar 'mplayer'. Puede que usted desee instalar mplayer " "para usar LiVES de manera más completa.\n" -#: src/main.c:2775 +#: src/main.c:2727 #, fuzzy msgid "" "\n" @@ -603,7 +603,7 @@ "LiVES no pudo encontrar 'mplayer'. Puede que usted desee instalar mplayer " "para usar LiVES de manera más completa.\n" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" @@ -613,7 +613,7 @@ "LiVES no pudo encontrar 'convert'. Debe instalar convert e image-magick si " "desea utilizar efectos de renderizado.\n" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " @@ -623,7 +623,7 @@ "LiVES no pudo encontrar 'composite'. Debe instalar composite e image-magick " "si desea utilizar la función fusionar.\n" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " @@ -633,7 +633,7 @@ "LiVES no pudo encontrar 'sox'. Puede que lgunas características de audio no " "funcionen. Debe instalar 'sox'.\n" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -644,63 +644,63 @@ "You may need to change the value of <lib_dir> in %s\n" msgstr "" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "Cargando agregados con efectos renderizados" -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "Autocargando conjunto %s..." #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "LiVES" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "Reproductor de audio no válido %s\n" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <%d Sintítulo> %dx%d : %d cuadros %d bpp %.3f cps" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : ??? cuadros ??? bpp %.3f cps" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : %d cuadros %d bpp %.3f cps" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "LiVES-%s: <No hay archivo>" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "rec %9d/%d" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "!rec %9d/%d" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "Reproducir" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" @@ -708,34 +708,34 @@ "LiVES no pudo capturar esta imagen\n" "\n" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "Archivo %s cerrado\n" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "_Deshacer" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "_Rehacer" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "Vídeo" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "Audio izquierda" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "Audio derecha" -#: src/main.c:7078 +#: src/main.c:6973 #, fuzzy msgid "" "\n" @@ -922,7 +922,7 @@ msgid "Use _mplayer2 audio player" msgstr "Usar reproductor _mplayer audio" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "_Siguiente" @@ -1159,56 +1159,56 @@ msgid "_Finish" msgstr "_Terminar" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "Permitir a LiVES elegir la extensión _file" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "Permitir a LiVES establecer la e_xtensión de archivo (.%s)" -#: src/interface.c:46 +#: src/interface.c:42 msgid "Apply _Deinterlace" msgstr "" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "" "Si esto se elige, los cuadros serán desentrelazados mientras son importados." -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "Previsualización" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "" "Clic aquí para _Preview cualquier archivo de audio, imagen o video " "seleccionado." -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "Clic aquí para _Preview cualquier archivo de audio seleccionado" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "Clic aquí para _Preview el vídeo" -#: src/interface.c:122 +#: src/interface.c:113 #, fuzzy msgid "Click here to _Preview the file" msgstr "Clic aquí para _Preview el vídeo" -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 #, fuzzy msgid "Processing..." msgstr "LiVES: - Procesando..." -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1222,8 +1222,8 @@ "\n" "¡Recuerde desactivar los efectos (ctrl-0) después!" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" @@ -1231,173 +1231,178 @@ "\n" "Por favor, espere." -#: src/interface.c:221 +#: src/interface.c:206 msgid "Show Details" msgstr "Mostrar detalles" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "_Suficiente" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "_Previsualizar" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "Pau_sa" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "_Cancelar" -#: src/interface.c:334 +#: src/interface.c:324 msgid "Multitrack Details" msgstr "" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "Formatear" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "Tamaño del fotograma" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "Tamaño de archivo" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "Tamaño de byte" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "CPS" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "Fotogramas" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "Eventos" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "Tiempo total" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "Audio" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "Tasa/tamaño" -#: src/interface.c:568 +#: src/interface.c:590 #, fuzzy msgid "Encoding Options" msgstr "LiVES: - Opciones de codificación" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." msgstr "" -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "Guardar _mis configuraciones" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "Utilizar las configuraciones _recomendadas" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "_Cerrar Ventana" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "_Guardar en archivo" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "Insertar" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "_Número de veces a insertar" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "_Insertar para ajustarse al audio" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "Insertar _antes de la selección" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "Insertar el portapapeles antes de los cuadros seleccionados" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "Insertar _luego de la selección" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "Insertar el portapapeles luego de los cuadros seleccionados" -#: src/interface.c:833 +#: src/interface.c:846 +#, fuzzy +msgid "Insert _with silence" +msgstr "Insertar _con sonido" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "Insertar _con sonido" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "Insert _sin sonido" -#: src/interface.c:924 +#: src/interface.c:937 #, fuzzy msgid "Open Selection" msgstr "_Copiar Selección" -#: src/interface.c:943 +#: src/interface.c:954 msgid "Selection start time (sec)" msgstr "" -#: src/interface.c:949 +#: src/interface.c:960 msgid "Number of frames to open" msgstr "" -#: src/interface.c:1023 +#: src/interface.c:1029 #, fuzzy msgid "Open Location" msgstr "LiVES: - Abrir Lugar" -#: src/interface.c:1025 +#: src/interface.c:1031 msgid "Open Youtube Clip" msgstr "" -#: src/interface.c:1045 +#: src/interface.c:1050 #, fuzzy msgid "" "\n" @@ -1415,7 +1420,7 @@ "Streaming\n" "\n" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1424,72 +1429,72 @@ "\n" msgstr "" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "URL : " -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "URL de YouTube: " -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "No enviar información de ancho de banda" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "" "Intente esta configuración si está teniendo problemas al obtener un stream" -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "" -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "" -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr "" -#: src/interface.c:1188 +#: src/interface.c:1189 #, fuzzy msgid "Rename Clip" msgstr "Pegando" -#: src/interface.c:1190 +#: src/interface.c:1191 #, fuzzy msgid "Enter Set Name to Save as" msgstr "LiVES: - Introduzca el Nombre" -#: src/interface.c:1192 +#: src/interface.c:1193 #, fuzzy msgid "Enter a Set Name to Reload" msgstr "LiVES: - Introduzca el Nombre" -#: src/interface.c:1194 +#: src/interface.c:1195 #, fuzzy msgid "Choose a Working Directory" msgstr "LiVES: - Elija un directorio de trabajo" -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 msgid "Rename Current Track" msgstr "" -#: src/interface.c:1198 +#: src/interface.c:1199 #, fuzzy msgid "Enter a Name for Your Theme" msgstr "LiVES: - Introduzca el Nombre" -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1501,7 +1506,7 @@ "Por favor, ingrese el nombre de set que desee utilizar.\n" "LiVES le recomendará guardar el set de clips cuando intente salir.\n" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1528,220 +1533,220 @@ "This should be a directory with plenty of disk space available.\n" msgstr "" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "Nuevo Nombre " -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "Seleccione el nombre " -#: src/interface.c:1257 +#: src/interface.c:1255 #, fuzzy msgid "Theme name " msgstr "Nuevo Nombre " -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "Usar p_redeterminados" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "_Avanzadas" -#: src/interface.c:1437 +#: src/interface.c:1425 #, fuzzy msgid "Select input device" msgstr "Seleccione dispositivo de entrada:" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "Seleccione dispositivo de entrada:" -#: src/interface.c:1517 +#: src/interface.c:1505 #, fuzzy msgid "Load CD Track" msgstr "Cargar _Pista del CD..." -#: src/interface.c:1519 +#: src/interface.c:1507 #, fuzzy msgid "Select DVD Title/Chapter" msgstr "LIVES:- Seleccione el Titulo/Capitulo del DVD" -#: src/interface.c:1521 +#: src/interface.c:1509 #, fuzzy msgid "Select VCD Title" msgstr "LIVES:- Seleccione el Titulo del VCD" -#: src/interface.c:1523 +#: src/interface.c:1511 #, fuzzy msgid "Change Maximum Visible Tracks" msgstr "LiVES:- Cambiar el Máximo de Pistas Visibles" -#: src/interface.c:1525 +#: src/interface.c:1513 #, fuzzy msgid "Device details" msgstr "LiVES:- Detalles del dispositivo" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "Pistas a cargar (de %s)" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "Título de DVD" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "Título de VCD" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "Número máximo de pistas a mostrar" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "Dispositivo: /dev/video" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "Dispositivo: fw:" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "Cápitulo " -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "Canal " -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "Audio ID " -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "Ingresar número" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "Usar el ancho, altura y FPS por defecto" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "Anchura" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "Altura" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "" -#: src/interface.c:1815 +#: src/interface.c:1778 #, fuzzy msgid "Fade Audio In" msgstr "Desvaneceer entrada de aud_io..." -#: src/interface.c:1817 +#: src/interface.c:1780 #, fuzzy msgid "Fade Audio Out" msgstr "Desvanecer salida de audi_o..." -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "Finalizó el fade in " -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "primero" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "Finalizó el fade out " -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "último" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "segundos" -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "selección" -#: src/interface.c:1909 +#: src/interface.c:1865 #, fuzzy msgid " (Optional)" msgstr "_Opciones" -#: src/interface.c:1912 +#: src/interface.c:1868 #, fuzzy, c-format msgid "File Comments%s" msgstr "LiVES: - Comentarios de archivo (opcional)" -#: src/interface.c:1927 +#: src/interface.c:1882 #, fuzzy, c-format msgid "File Name: %s" msgstr "Título/Nombre: " -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "Título/Nombre: " -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "Autor/Artista : " -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "Comentarios : " -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "Guardar _subtítulos a archivo" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "Archivo de subtítulos" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "Examinar..." -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "_Opciones" -#: src/interface.c:2109 +#: src/interface.c:2058 #, c-format msgid "%sChoose a Device" msgstr "" -#: src/interface.c:2112 +#: src/interface.c:2061 #, fuzzy, c-format msgid "%sChoose a Directory" msgstr "LiVES: - Elija un directorio de trabajo" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" @@ -1751,7 +1756,7 @@ "La disposición actual no ha sido guardada.\n" "¿Qué desea hacer?\n" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" @@ -1761,7 +1766,7 @@ "La disposición actual se ha modificado desde el último resguardo.\n" "¿Qué desea hacer?\n" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" @@ -1771,7 +1776,7 @@ "El set de clips actual no ha sido guardado.\n" "¿Qué desea hacer?\n" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" @@ -1779,7 +1784,7 @@ "El set de clips actual no ha sido guardado.\n" "¿Qué desea hacer?\n" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" @@ -1787,7 +1792,7 @@ "La disposición actual no ha sido guardada.\n" "¿Qué desea hacer?\n" -#: src/interface.c:2410 +#: src/interface.c:2341 #, fuzzy msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" @@ -1796,51 +1801,51 @@ "La disposición actual no ha sido guardada.\n" "¿Qué desea hacer?\n" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" "What do you wish to do ?" msgstr "" -#: src/interface.c:2417 +#: src/interface.c:2348 #, fuzzy msgid "Cancel/Discard/Save" msgstr "LiVES: - Cancelar/Desechar/Guardar" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "_Nombre de set de clips" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "_Auto carga la próxima vez" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "_Limpiar disposiciones" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "_Ignorar cambios" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "_Borrar set de clips" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "_Borrar disposiciones" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "_Guardar disposiciones" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "_Guardar set de clips" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" @@ -1850,35 +1855,35 @@ "LiVES ha detectado un proyecto multipista de una sesión anterior.\n" "¿Te gustaría intentar recuperarlo?\n" -#: src/interface.c:2527 +#: src/interface.c:2455 msgid "Disk Recovery Options" msgstr "" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "" -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "" -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1886,347 +1891,347 @@ "-----------------------\n" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 #, fuzzy msgid "ctrl-left" msgstr "Anterior (ctrl-izquierda)" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 #, fuzzy msgid "skip forwards\n" msgstr "Siguiente (ctrl-derecha)" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 #, fuzzy msgid "ctrl-down" msgstr "Ctrl-%d" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 msgid "ctrl-enter" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "reset frame rate\n" msgstr "Primer Frame" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "" -#: src/interface.c:2723 +#: src/interface.c:2642 msgid "reverse direction\n" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "ctrl-1" msgstr "Ctrl-%d" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "toggle real-time effect 1\n" msgstr "Cargando complementos de efectos en tiempo real..." -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "ctrl-2" msgstr "Ctrl-%d" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "toggle real-time effect 2\n" msgstr "Cargando complementos de efectos en tiempo real..." -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 #, fuzzy msgid "ctrl-0" msgstr "Ctrl-%d" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "real-time effects off\n" msgstr "" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "" -#: src/interface.c:2759 +#: src/interface.c:2678 msgid "grab keyboard for last activated effect\n" msgstr "" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2688 msgid "tab" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "" -#: src/interface.c:2785 +#: src/interface.c:2706 msgid "Other playback keys\n" msgstr "" -#: src/interface.c:2789 +#: src/interface.c:2710 #, fuzzy msgid "play all\n" msgstr "Reproduce todo" -#: src/interface.c:2792 +#: src/interface.c:2713 #, fuzzy msgid "play selection\n" msgstr "Reproducir Selección" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "" -#: src/interface.c:2798 +#: src/interface.c:2719 #, fuzzy msgid "fullscreen\n" msgstr "_Pantalla completa" -#: src/interface.c:2801 +#: src/interface.c:2722 #, fuzzy msgid "separate window\n" msgstr "Reproduci en una ventana separada (s)" -#: src/interface.c:2804 +#: src/interface.c:2725 #, fuzzy msgid "double size\n" msgstr "_Duplicar el Tamaño" -#: src/interface.c:2807 +#: src/interface.c:2728 msgid "ping pong loops\n" msgstr "" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "move current track up\n" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "move current track down\n" msgstr "" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "" -#: src/interface.c:2849 +#: src/interface.c:2768 #, fuzzy msgid "select next clip\n" msgstr "Se_lección" -#: src/interface.c:2852 +#: src/interface.c:2771 msgid "select/deselect current track\n" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 #, fuzzy msgid "zoom in\n" msgstr "_Zoom Más" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 #, fuzzy msgid "zoom out\n" msgstr "_Zoom Menos" -#: src/interface.c:2861 +#: src/interface.c:2780 msgid "make a mark on the timeline (during playback)\n" msgstr "" -#: src/interface.c:2864 +#: src/interface.c:2783 #, fuzzy msgid "rewind to play start.\n" msgstr "Rebobinar para empezar (w)" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "Guardando como set %s..." -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "" -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "" -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -2234,16 +2239,16 @@ "the latest youtube-dl installed.\n" msgstr "" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, c-format msgid "Layouts were removed for set %s.\n" msgstr "" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "Este archivo" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " @@ -2251,7 +2256,7 @@ ",\n" " - incluir la interfaz actial - " -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2261,7 +2266,7 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2271,14 +2276,14 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" "Really close it ?" msgstr "" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" @@ -2286,7 +2291,7 @@ "\n" "Archivo de proyecto inválido.\n" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2307,54 +2312,54 @@ "set, o descártelo.\n" "Una vez que haya hecho esto, podrá importar el nuevo proyecto.\n" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "Importando el proyecto %s como set %s..." -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "Iportando proyecto" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "Exportando proyecto como %s..." -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "Exportando proyecto" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 #, fuzzy msgid "Theme" msgstr "Nuevo Nombre " -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, fuzzy, c-format msgid "Exporting theme as %s..." msgstr "Exportando el audio como %s..." -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, fuzzy, c-format msgid "Importing theme \"%s\" from %s..." msgstr "Exportando el audio como %s..." -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, fuzzy, c-format msgid "Backup as %s File" msgstr "Resguardar como archivo .lv1" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, fuzzy, c-format msgid "Restore %s File" msgstr "Restaurar archivo .lv1" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2366,95 +2371,95 @@ "El set será borrado del disco.\n" "¿Está seguro?\n" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "" -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "Borrando set..." -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "Borrando set" -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "El set %s ha sido borrado definitivamente del disco.\n" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "Insertar Silencio" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "Deshaciendo" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "Restaurando audio..." -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "Limpiando imagenes de cuadro" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "Borrando cuadros sobrantes" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "" "La longitud del video es ahora de %d cuadros a %.3f cuadros por segundo.\n" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "El portapapeles fue resampleado a %d cuadros.\n" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "Rehaciendo" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, fuzzy, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "Copiando cuadros %d a %d%s al portapapeles" -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, fuzzy, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "Copiando cuadros %d a %d%s al portapapeles" -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "Copiando al portapapeles" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "Cortar" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 msgid "Pulling frames from clipboard" msgstr "" -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "" -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "Pegando" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "...audio añadido..." -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " @@ -2465,7 +2470,7 @@ "Por favor instale el \"convertidor\" en el paquete de imagen magica y, a " "continuación, reinicie LiVES.\n" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2479,7 +2484,7 @@ "Intente seleccionar todos los fotogramas, y luego use \n" "la función 'Cortar Audio' desde el menu de Audio" -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." @@ -2487,7 +2492,7 @@ "LiVES no puede insertar porque las tasas de audio no coinciden.\n" "Por favor instale 'sox', y vuelva a intentarlo." -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" @@ -2497,7 +2502,7 @@ "La inserción cambiará el audio en el diseño multipista.\n" "¿Está seguro que desea continuar?\n" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" @@ -2507,11 +2512,11 @@ "La inserción cambiará el audio en el diseño multipista.\n" "¿Está seguro que desea continuar?\n" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "Reconvirtiendo el audio" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2523,7 +2528,7 @@ "LIVES no puede reconvertir el portapapeles del audio seleccionado.\n" "La selección de audio será borrrada\n" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2536,32 +2541,32 @@ "LIVES no pudo reconvertir el portapapeles de audio.\n" "¿Desea continuar con la inserción del audio no convertido?\n" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "Insertando %d%s fotogramas desde el portapapeles..." -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "Insertando" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "Insertando %d veces desde el portapapeles%s..." -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "Insertando %d fotogramas desde el portapapeles%s..." -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "Cancelando" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" @@ -2571,7 +2576,7 @@ "La eliminación de todos los fotogramas cerrará este archivo.\n" "¿Está seguro?" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" @@ -2581,8 +2586,8 @@ "La eliminación causará la pérdida de fotogramas en el diseño multipista.\n" "¿Está seguro que desea continuar?\n" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" @@ -2592,7 +2597,7 @@ "La eliminación causará la pérdida de audio en el diseño multipista.\n" "¿Está seguro que desea continuar?\n" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" @@ -2603,7 +2608,7 @@ "multipista.\n" "¿Está seguro que desea continuar?\n" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" @@ -2613,20 +2618,20 @@ "La eliminación causará el cambio del audio en el diseño multipista.\n" "¿Está seguro que desea continuar?\n" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "Eliminando fotogramas %d a %d%s..." -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "Eliminando" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "Eliminar" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" @@ -2636,7 +2641,7 @@ "\n" "La selección está bloqueada.\n" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2648,11 +2653,11 @@ "(Para cancelar, pulse 'r' o haga clic en Reproducir | Grabar Sesión antes de " "empezar la reproducción.)\n" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "Grabación cancelada.\n" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2665,7 +2670,7 @@ "El '% s' informe del plugin:\n" "%s\n" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2678,7 +2683,7 @@ "No se puede encontrar el el método 'init' en el % s plugin.\n" "El plug-in puede estar roto o no instalado correctamente." -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2691,22 +2696,22 @@ "\n" "Por favor, pulse \"Cancelar\" en caso que no sea lo que usted desea.\n" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "Guardando la selección% s" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "Cargando clips desde la selección%s" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2718,24 +2723,24 @@ "corriendo en esta máquina.\n" "Haga clic en Aceptar para continuar.\n" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "Limpiando espacio en el disco..." -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "" -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "Reestablecimiento de tipos de frame y valores de frame..." -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2743,12 +2748,12 @@ "Internal: %s (%d bpp) / %s\n" msgstr "" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "almacenado" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." @@ -2756,7 +2761,7 @@ "\n" " Abriendo..." -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" @@ -2765,7 +2770,7 @@ "\n" "(%d virtual)" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" @@ -2774,7 +2779,7 @@ "\n" "(%d decodificado)" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" @@ -2783,7 +2788,7 @@ "\n" " %.2f seg." -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" @@ -2791,23 +2796,23 @@ "\n" " Desconocido" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "no firmado" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "firmado" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "big-endian" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "little-endian" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" @@ -2816,7 +2821,7 @@ " %d Hz %d bit\n" "%s %s" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2833,15 +2838,15 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n" msgstr "" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "Un editor de vídeo y programa VJ." -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" "Launchpad Contributions:\n" @@ -2849,7 +2854,7 @@ " Guybrush88 https://launchpad.net/~guybrush\n" " nitrofurano https://launchpad.net/~nitrofurano-3t" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, c-format msgid "" "LiVES Version %s\n" @@ -2863,7 +2868,7 @@ "Homepage: %s" msgstr "" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 #, fuzzy msgid "" "\n" @@ -2874,7 +2879,7 @@ "\n" "Necesita instalar mplayer para poder previsualizar este archivo.\n" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 #, fuzzy msgid "" "\n" @@ -2886,95 +2891,95 @@ "\n" "Necesita instalar mplayer para poder previsualizar este archivo.\n" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" "%s\n" msgstr "" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 #, fuzzy msgid "Encoder Debug Output" msgstr "LiVES: - Codificar la salida del depurador" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "Reproducción en pantalla completa (f)" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "Apagar reproducción en pantalla completa (f)" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "Tamaño doble (d)" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "Tamaño simple (d)" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "Ocultar la ventana de reporducción (s)" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "Mostrar la ventana de reproducción (s)" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "Reproduci en una ventana separada (s)" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "Apagar el bucle continuo" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "Encender el bucle continuo" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "Volimen del audio (%.2f)" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "Desactivar silencio de audio (z)" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "Activar silencio de audio (z)" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "Invertir el portapapeles..." -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "Invertir el portapapeles" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 #, fuzzy msgid "Load Subtitles" msgstr "Mostrar subtítulos" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "Cargado el archivo de subtítulos: %s\n" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "Los subtítulos se han eliminado.\n" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 #, fuzzy msgid "Select Audio File" msgstr "Borrar Audio" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -2986,60 +2991,60 @@ "multipista.\n" "¿Está seguro de continuar?" -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "Abriendo audio % s, tipo % s..." -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "Abriendo audio" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "Procesando audio" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "Nuevo Sonido" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "Abriendo la pista del CD %d desde %s" -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "Pista del CD %d" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "Abriendo la pista del CD..." -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "Error cargando la pista del CD\n" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 #, fuzzy msgid "Layout Errors" msgstr "errores de diseño" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "Borrar_Errores" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "_Borrar Diseños Afectados" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "Reanudar" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" @@ -3049,23 +3054,23 @@ "Pausado\n" "(pulse Reanudar para continuar el proceso)" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "pausado..." -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "resumido..." -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "Conservar" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "Suficiente" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, c-format msgid "" "\n" @@ -3074,30 +3079,30 @@ "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "Cancelar" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 #, fuzzy msgid "Selected Frame" msgstr "Seleccionar _Todos los Cuadros" -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 #, fuzzy msgid "_Save Frame as..." msgstr "Último Frame" -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -3106,7 +3111,7 @@ "\n" msgstr "" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -3118,7 +3123,7 @@ "Debes instalar \"xwininfo\" antes de poder usar esta característica\n" "\n" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" @@ -3126,7 +3131,7 @@ "\n" "El tiempo de grabación debe ser mayor a 0\n" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -3137,11 +3142,11 @@ "capturar una ventana independiente\n" "\n" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "Fue liberada una Ventana Externa\n" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" @@ -3149,7 +3154,7 @@ "Click en una ventana para relizar una captura\n" "Presione 'q' para detener la grabación" -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -3164,19 +3169,19 @@ "Parar o 'q' para detener.\n" "( Se usará la frecuencia predeterminada de %.3f cuadros por segundo.)\n" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "LiVES no pudo capturar esta ventana. Disculpe.\n" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "Exportar el Audio Seleccionado como..." -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "Exportar el Audio como..." -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -3190,87 +3195,87 @@ "Presione 'OK' para exportar con la nueva velocidad, o 'Cancelar' para " "exportar a la velocidad original.\n" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "Exportando los cuadros de audio %d a %d como %s" -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "Exportando el audio como %s..." -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "Exportando el audio" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 #, fuzzy msgid "Append Audio File" msgstr "Añadir audio" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "Incluyendo archivo de audio %s..." -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "Adjuntando audio" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "Añadir audio" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "" -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "Recortando el audio desde el segundo %.2f hasta el segundo %.2f..." -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "Recortando/Rellenando audio" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "Recortar/Rellenar Audio" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "Aumentando el volúmen de audio" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "Fundido entrada de audio" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "Fundiendo salida de audio" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "Fundido de salida de audio" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "%s sobre %.1f segundos" -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "%s de tiempo %.2f segundos a %.2f segundos..." -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "Desvaneciendo audio..." -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" @@ -3280,33 +3285,33 @@ "Borrar todo el audio cerrará el archivo.\n" "Está seguro ?" -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "Eliminando todo el audio..." -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "eliminando el audio desde el segundo %.2f hasta %.2f..." -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "Eliminando el Audio" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "Borrar Audio" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "Grabar nuevo audio" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "Insertando silencio desde el segundo %.2f al %.2f..." -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "Insertando Silencio" @@ -3319,606 +3324,606 @@ msgid "Merge Clipboard [ %d Frames ] With Selection [ %d Frames ]" msgstr "Unir Portapapeles [ %d Cuadros ] con la Selección [ %d Cuadros ]" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" msgstr "" "Unir Portapapeles [ %d Cuadros (resampleado) con la Selección [ %d Cuadros ]" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "Alineando _Comienzos" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "Alineando _Finales" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "Qué hacer con los cuadros extras en el portapapeles -" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "_Insertar Cuadros" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "_Desechar Frames" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "Repetir e_l portapapeles para ajustar la selección" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "_Método de Transición:" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "Uniendo el portapapeles con la selección..." -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "Unión terminada.\n" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "Ge_neradores personalizados..." -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "_Efectos personalizados" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "_Utilidades personalizadas" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "_Archivo" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "_Abrir Archivo/Directorio" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "A_brir parte de archivo..." -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "Abrir _localización/flujo..." -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "" -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "Importar desde _DVD/VCD..." -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "Importar desde _DVD" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "Importar desde _VCD" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "_Importar desde Firewire" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "Importar de _Dispositivo Firewire (dv)" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "Importar de _Dispositivo Firewire (hdv)" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "_Añadir cámara web/tarjeta de TV..." -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "Añadir dispositivo _Unicap" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "_Archivos Recientes..." -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "" -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "Cerrar y Guardar todos los clips" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "_Codificar clip como..." -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "Codificar _Selección Como..." -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "_Cerrar Este Clip" -#: src/gui.c:692 +#: src/gui.c:674 #, fuzzy, c-format msgid "_Backup Clip as .%s..." msgstr "_Respaldar Clip como .lv1..." -#: src/gui.c:701 +#: src/gui.c:683 #, fuzzy, c-format msgid "_Restore Clip from .%s..." msgstr "_Recuperar Clip desde .lv1..." -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "Codificar/Cargar/Respaldar _con Sonido" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "Cargar subtítulos automáticamente" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "Liberar espacio en disco" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "_Editar" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "_modo MULTIPISTAS" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "_Copiar Selección" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "Cortar _Selección" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "_Insertar desde el Portapapeles" -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "Pegar como _Nuevo" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "_Unir contenido del Portapapeles con la Selección..." -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "_Borrar la Selección" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "Separar _Video del Audio" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "_Seleccionar…" -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "Seleccionar _Todos los Cuadros" -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "_Solo Primer Fotograma" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "_Solo Ultimo Fotograma" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "Seleccionar desde _Primer Cuadro" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "Seleccionar al _Último Cuadro" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "Seleccionar Última Inserción/_Unión" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "Seleccionar Último _Efecto" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "_Invertir selección" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "_Encadenar Selección Con" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "_Reproducir" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "_Reproducir Todo" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "_Reproducir Selección" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "Reproducir _Portapapeles" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "_Detener" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "_Rebobinar" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "_Pantalla completa" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "_Duplicar el Tamaño" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "Reproducir en _Ventana Independiente" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "_Fondo en Blanco" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "(Auto)_Repetir Video (Ajustar al track de audio)" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "Reproducir Continuamente" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "_Silenciar" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "Separar Ventana Modo 'S_ticky'" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "_Mostrar Contador de Cuadros" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "Mostrar subtítulos" -#: src/gui.c:1069 +#: src/gui.c:1045 msgid "Letterbox Mode" msgstr "" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "_Efectos" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "Efectos aplicados a la selección actual" -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "_Herramientas" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "" -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "_Cambiar velocidad de Reproducción/Guardar..." -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "" -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "_Utilidades" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "Herramien_tas personalizadas" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "_Generar" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "Cargar _subtítulos desde archivo..." -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "Eliminar subtítulos" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "Capturar ventana _externa... " -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "_Preferencias..." -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "_Audio" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "Cargar _Nuevo Audio para Clip..." -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "Cargar _Pista del CD..." -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "Expulsar CD" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "Grabar _Audio Externo..." -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "a un Nuevo _Clip" -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "a la _selección" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "Desvaneceer entrada de aud_io..." -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "Desvanecer salida de audi_o..." -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "_Exportar Audio..." -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "Exportar _Audio Seleccionado..." -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "Exportar _Todo el Audio..." -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "_Añadir Audio" -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "" -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "" -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "" -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "_Eliminar Audio" -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "Eliminar _Audio Seleccionado" -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "Eliminar _Todo el Audio" -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "Insertar _Silencio en la Selección" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "_Resamplear Audio..." -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "_Información" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "Mostrar Información del _Clip" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "Mostrar/_Editar Comentarios del Archivo" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "Mostrar _Información del Portapapeles" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "Mostrar _Mensajes" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "_Clips" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "_Renombrar el Clip Actual en el Menú..." -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "_Avanzado" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "_RFX Efectos/Herramientas/Utilidades" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "" -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "" -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "" -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "" -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "" -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "_Importar Script RFX Personalizado" -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "E_xportar Script RFX Personalizado..." -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "Borrar Script RFX Persona_lizado..." -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "Reconstruir todos los agregados RFX" -#: src/gui.c:1397 +#: src/gui.c:1371 #, fuzzy msgid "Receive _LiVES Stream from..." msgstr "Recibir flujo _LiVES desde..." -#: src/gui.c:1401 +#: src/gui.c:1375 #, fuzzy msgid "_Send LiVES Stream to..." msgstr "_Enviar el flujo LiVES a..." -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "Abrir el flujo yuv4mpeg en %sstream.yuv..." -#: src/gui.c:1426 +#: src/gui.c:1399 #, fuzzy, c-format msgid "_Import Project (.%s)..." msgstr "_Importar Proyecto (.lv2)..." -#: src/gui.c:1430 +#: src/gui.c:1403 #, fuzzy, c-format msgid "E_xport Project (.%s)..." msgstr "E_xportar proyecto (.lv2)..." -#: src/gui.c:1437 +#: src/gui.c:1409 #, fuzzy, c-format msgid "_Import Custom Theme (.%s)..." msgstr "_Importar Proyecto (.lv2)..." -#: src/gui.c:1442 +#: src/gui.c:1414 #, fuzzy, c-format msgid "E_xport Theme (.%s)..." msgstr "E_xportar proyecto (.lv2)..." -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "_VJ" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "Enlazar efectos de tiempo real a ctrl-teclas de números" -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "establecer Efecto en Tiempo Real _por defecto" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "" "Establecer los valores por defecto de los parámetros para los Efectos en " "Tiempo Real." -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "Guardar los Efectos en Tiempo Real por defecto" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." @@ -3926,290 +3931,290 @@ "Guardar los Efectos en Tiempo Real por defecto de tal manera de recargarlos " "cada vez que use LiVES." -#: src/gui.c:1476 +#: src/gui.c:1448 #, fuzzy msgid "_Reset All Playback Speeds and Positions" msgstr "_Resetear todas las velocidades y posiciones de reproducción" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "" "Restablecer todas las posiciones de reproducción al cuadro 1, y restablecer " "todas las velocidades de fotogramas de reproducción." -#: src/gui.c:1480 +#: src/gui.c:1452 #, fuzzy msgid "_MIDI/Joystick Interface" msgstr "Interfaz _MIDI/joystick" -#: src/gui.c:1489 +#: src/gui.c:1461 #, fuzzy msgid "_MIDI/Joystick Learner..." msgstr "Interfaz _MIDI/joystick" -#: src/gui.c:1493 +#: src/gui.c:1465 msgid "_Save Device Mapping..." msgstr "" -#: src/gui.c:1497 +#: src/gui.c:1469 msgid "_Load Device Mapping..." msgstr "" -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "Mostrar _claves de VJ" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "_Herramientas" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "_Ninguno" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "_LiVES TV (banda ancha)" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "Ay_uda" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "_Manual (se abre en el navegador)" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 #, fuzzy msgid "_Donate to the Project !" msgstr "_Donar al Proyecto!" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 #, fuzzy msgid "_Email the Author" msgstr "_Email al Autor" -#: src/gui.c:1547 +#: src/gui.c:1519 #, fuzzy msgid "Report a _Bug" msgstr "Reportar un _fallo" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 #, fuzzy msgid "Suggest a _Feature" msgstr "Sugerir una característica" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 msgid "Assist with _Translating" msgstr "" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "_Acerca de" -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "Rebobinar para empezar (w)" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "Reproducir todo (p)" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "Detener la Reproducción (q)" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "Reproducir la Selección (y)" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "Volúmen" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "Volumen de Audio (1.00)" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "Reproducción más Lenta (ctrl-abajo)" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "Reproducción más Rápida (ctrl-arriba)" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "Anterior (ctrl-izquierda)" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "Siguiente (ctrl-derecha)" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "Ocultar esta Barra" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." msgstr "" #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr "" -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "Variar la velocidad del video" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "Primer Frame" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "Último Frame" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "el primer Frame seleccionado en este clip" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "el último Frame seleccionado en este clip" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "Arrancando...\n" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr "" " Presione 'q' para detener la grabación. NO CUBRA LA VENTANA DE " "GRABACIÓN! ! " -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "_Libre" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "_Inicio" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "Fin" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "Retroceder" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "Reproduce todo" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "Reproducir Selección" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "Repetir Si/No" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "Comenzar a Grabar" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "Detener Grabación" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "Grabar Performance" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr "" -#: src/gui.c:3613 +#: src/gui.c:3553 #, fuzzy msgid "Streaming" msgstr "LiVES: - Streaming" -#: src/gui.c:3615 +#: src/gui.c:3555 #, fuzzy, c-format msgid "Play Window%s" msgstr "Esconder Ventana de reproducción" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "Esconder Ventana de reproducción" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "Mostrar ventana De Reproducción" -#: src/gui.c:4199 +#: src/gui.c:4127 #, fuzzy, c-format msgid "'LiVES opened the file' '%s'" msgstr "" "LiVES no pudo capturar esta imagen\n" "\n" -#: src/gui.c:4220 +#: src/gui.c:4146 #, fuzzy, c-format msgid "'LiVES closed the file' '%s'" msgstr "Permitir a LiVES elegir la extensión _file" @@ -4219,11 +4224,11 @@ msgid "Mapped to ctrl-%d" msgstr "" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "Efectos" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "" @@ -4237,11 +4242,11 @@ msgid "Select clip for %s\n" msgstr "" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "" @@ -4286,11 +4291,11 @@ msgid "%d bytes" msgstr "" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "Limpiar Portapapeles" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -4298,18 +4303,18 @@ "Switched to clip %s\n" msgstr "" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" "Switched to empty clip\n" msgstr "" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " @@ -4318,7 +4323,7 @@ "El nombre del conjunto se ha cambiado de %s a %s. Los Diseños afectadas han " "sido actualizado en consecuencia\n" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" @@ -4327,56 +4332,56 @@ "El clip% s no se encuentra en este conjunto.\n" "Es requerido por las disposiciones siguientes:\n" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -4387,7 +4392,7 @@ "No se pudo abrir, esta siendo usado\n" "por otra copia de LiVES.\n" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -4398,7 +4403,7 @@ "El Set %s esta siendo usado por otra copia de LiVES.\n" "Por favor elige otro Set\n" -#: src/utils.c:2188 +#: src/utils.c:2207 #, fuzzy, c-format msgid "" "\n" @@ -4407,7 +4412,7 @@ "\n" "Los nombres de los Sets no pueden estar en blanco.\n" -#: src/utils.c:2196 +#: src/utils.c:2215 #, fuzzy, c-format msgid "" "\n" @@ -4416,7 +4421,7 @@ "\n" "Los nombres de los Sets no pueden contener espacios o los caractéres%s.\n" -#: src/utils.c:2204 +#: src/utils.c:2223 #, fuzzy, c-format msgid "" "\n" @@ -4425,18 +4430,18 @@ "\n" "Los nombres de los Sets no pueden contener espacios o los caractéres%s.\n" -#: src/utils.c:2213 +#: src/utils.c:2232 #, c-format msgid "" "\n" "%s names may not start with a '.' or contain '..'\n" msgstr "" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4447,72 +4452,72 @@ "El set %s ya existe.\n" "Escoje otro nombre.\n" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "Video [abriendo...]" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "Video [%.2f sec]" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "(Indefinido)" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "(No video)" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "(No audio)" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "Mono [Abriendo...]" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "Audio Izquierdo [Abriendo...]" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "Mono [%.2f sec]" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "Audio Izquierdo [%.2f sec]" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "Audio Derecho [Abriendo...]" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "Audio Derecho [%.2f sec]" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "" -#: src/utils.c:3492 +#: src/utils.c:3548 msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "" -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4527,29 +4532,29 @@ "\n" "Sobreescribir ?\n" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "_Deshacer %s" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "_Rehacer %s" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "-------------Selección------------" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr " seg ] ----------Selección---------- [ " -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr " frames ] ----------" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4574,7 +4579,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "Abriendo %s start time %.2f sec. frames %d" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr " Sin sounido" @@ -4683,7 +4688,7 @@ msgstr "" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "Tomando cuadros del clip" @@ -4740,12 +4745,12 @@ msgid "Recording performance..." msgstr "Grabando Performance..." -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "el promedio de FPS fue %.4f\n" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4759,21 +4764,21 @@ "Debes cliquear en Herramientas--->Redimensinar todo\n" "y ajusta todos los cuadros al tamaño actual.\n" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "Desconocido" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "Sin título%d" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "¡%d fotogramas son suficientes !\n" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4781,13 +4786,13 @@ "%s\n" msgstr "" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" msgstr "" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4795,7 +4800,7 @@ "Bad things may happen with this clip.\n" msgstr "" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4803,73 +4808,73 @@ "Default can be set in Tools | Preferences | Misc.\n" msgstr "" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, c-format msgid " - Author: %s\n" msgstr "" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, c-format msgid " - Title: %s\n" msgstr "" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr " - Comentario: %s\n" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "Guardando cuadro %d como %s..." -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "Creando respaldo %s a %s" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "Creando copia de respaldo" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "" -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "Restaurando %s..." -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "Restaurando" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -4924,12 +4929,12 @@ msgid "Recovering files..." msgstr "" -#: src/dialogs.c:87 +#: src/dialogs.c:83 #, fuzzy msgid "Show affeced _layouts" msgstr "_Borrar Diseños Afectados" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" @@ -4937,51 +4942,51 @@ "_No mostrar esta alerta nunca más\n" "(puede restaurarse desde Preferencias/Alertas)" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr "" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 #, fuzzy msgid "Warning !" msgstr "Advertencias" -#: src/dialogs.c:198 +#: src/dialogs.c:186 #, fuzzy msgid "Error !" msgstr "LiVES: - Advertencia !" -#: src/dialogs.c:208 +#: src/dialogs.c:196 #, fuzzy msgid "Information" msgstr "LiVES: - Abrir Lugar" -#: src/dialogs.c:234 +#: src/dialogs.c:221 msgid "Question" msgstr "" -#: src/dialogs.c:248 +#: src/dialogs.c:235 #, fuzzy msgid "File Error" msgstr "Borrar_Errores" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "Mostrar _detalles" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -4992,7 +4997,7 @@ "(Disk warning levels can be configured in Preferences.)" msgstr "" -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -5004,11 +5009,11 @@ "Preferences.)" msgstr "" -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "El reproductor de audio no se puede cambiar durante la reproducción" -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -5020,46 +5025,46 @@ "LiVES no pudo realizar esta operación debido a la insuficiencia de memoria.\n" "Por favor pruebe cerrando otras aplicaciónes.\n" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "" -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" "%s%d%% done. Time remaining: %u sec%s\n" msgstr "" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" "%d/%d frames opened. Time remaining %u sec.\n" msgstr "" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" "%d/%d frames opened.\n" msgstr "" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" "%d frames opened.\n" msgstr "" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" "Time remaining: %d sec" msgstr "" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -5067,7 +5072,7 @@ "Please close a file and then try again." msgstr "" -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, fuzzy, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -5082,7 +5087,7 @@ "LiVES no pudo crear un archivo pequeño en %s\n" "Asegúrese de que tiene acceso de escritura a %s e inténtelo de nuevo.\n" -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 #, fuzzy msgid "" "\n" @@ -5093,7 +5098,7 @@ "LiVES requiere actualmente de 'mplayer' o 'sox' para funcionar. Por favor, " "instale alguno de ellos, e intente nuevamente.\n" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 #, fuzzy msgid "" "\n" @@ -5104,7 +5109,7 @@ "LiVES requiere actualmente de 'mplayer' o 'sox' para funcionar. Por favor, " "instale alguno de ellos, e intente nuevamente.\n" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 #, fuzzy msgid "" "\n" @@ -5115,26 +5120,26 @@ "LiVES requiere actualmente de 'mplayer' o 'sox' para funcionar. Por favor, " "instale alguno de ellos, e intente nuevamente.\n" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" "Or switch to another encoder format in Tools | Preferences | Encoding\n" msgstr "" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -5142,19 +5147,19 @@ "Please set the audio codec in Tools|Preferences|Encoding\n" msgstr "" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -5162,83 +5167,83 @@ "Due to restrictions in the %s format\n" msgstr "" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" msgstr "" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr "" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr "" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr "" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr "" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" msgstr "" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -5247,14 +5252,14 @@ "\n" msgstr "" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" "\n" msgstr "" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -5263,7 +5268,7 @@ "Try recording for just a selection of the file." msgstr "" -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -5274,7 +5279,7 @@ "Please press Cancel to abort the insert, or OK to continue." msgstr "" -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -5287,18 +5292,18 @@ "click Cancel." msgstr "" -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "Hirtorial de mensajes" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " "in your %s file" msgstr "" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -5309,25 +5314,25 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 msgid "" "Sorry, unknown audio type.\n" "\n" " (Filenames must end in" msgstr "" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" "(They will not be usable without the set).\n" msgstr "" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -5336,7 +5341,7 @@ "Click Cancel to pick a new name.\n" msgstr "" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -5344,7 +5349,7 @@ "." msgstr "" -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -5352,7 +5357,7 @@ "." msgstr "" -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -5363,7 +5368,7 @@ "Otherwise click Cancel to skip loading this file.\n" msgstr "" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -5373,7 +5378,7 @@ "The clip could not be loaded.\n" msgstr "" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -5381,7 +5386,7 @@ "Alternately, select a different audio player in Preferences.\n" msgstr "" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -5390,13 +5395,13 @@ "Automatic jack startup will be disabled now.\n" msgstr "" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" msgstr "" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -5407,7 +5412,7 @@ "%s\n" msgstr "" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" @@ -5416,7 +5421,7 @@ "Alternativamente puedes cerrar y volver a abrir LiVES y seleccionar otro " "reproductor de audio.\n" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -5426,7 +5431,7 @@ "It is recommended to increase it to at least %d MB" msgstr "" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -5435,7 +5440,7 @@ "Do you wish to delete them ?\n" msgstr "" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -5443,7 +5448,7 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -5451,56 +5456,56 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" msgstr "" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "Pruebe cerrando otras aplicaciónes\n" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" msgstr "" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" "You can set this in Tools|Preferences|Playback." msgstr "" -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" "Should I try to repair the disk copy of the layout ?\n" msgstr "" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" msgstr "" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 #, fuzzy msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" @@ -5510,7 +5515,7 @@ "LiVES requiere actualmente de 'mplayer' o 'sox' para funcionar. Por favor, " "instale alguno de ellos, e intente nuevamente.\n" -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 #, fuzzy msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" @@ -5520,7 +5525,7 @@ "LiVES requiere actualmente de 'mplayer' o 'sox' para funcionar. Por favor, " "instale alguno de ellos, e intente nuevamente.\n" -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 #, fuzzy msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" @@ -5530,14 +5535,14 @@ "LiVES requiere actualmente de 'mplayer' o 'sox' para funcionar. Por favor, " "instale alguno de ellos, e intente nuevamente.\n" -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" "Audio rate must be greater than 0.\n" msgstr "" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5545,7 +5550,7 @@ "Are you sure you wish to view it ?\n" msgstr "" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" @@ -5555,7 +5560,7 @@ "\n" "Debe instalar 'dvgrab' para usar esta función.\n" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5564,25 +5569,25 @@ "You may need to select one of these in Tools/Preferences/Playback.\n" msgstr "" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" msgstr "" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5591,33 +5596,33 @@ "echo %d > /proc/sys/net/core/rmem_max\n" msgstr "" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "Cancelado.\n" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "fracasó.\n" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "hecho.\n" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "error en el archivo.\n" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -5627,7 +5632,7 @@ "%s%s%s" msgstr "" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -5637,7 +5642,7 @@ "%s" msgstr "" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -5647,7 +5652,7 @@ "%s" msgstr "" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -5656,7 +5661,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -5666,7 +5671,7 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -5675,7 +5680,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -5685,12 +5690,12 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "" -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -5699,7 +5704,7 @@ "Please check your system for errors.\n" msgstr "" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -5708,7 +5713,7 @@ "Please check the file permissions and try again." msgstr "" -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -5717,7 +5722,7 @@ "Please check the directory permissions and try again." msgstr "" -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, c-format msgid "" "\n" @@ -5725,14 +5730,14 @@ "%s\n" msgstr "" -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -5740,13 +5745,13 @@ "Please select another encoder from the list.\n" msgstr "" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" msgstr "" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -5756,27 +5761,27 @@ "- Check if the device actually exists.\n" msgstr "" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" "Do you wish to overwrite the existing subtitles ?\n" msgstr "" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 msgid "" "\n" "LiVES currently only supports subtitles of type" msgstr "" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -5785,14 +5790,14 @@ "or OK to continue and save as type \"%s\"\n" msgstr "" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" "(If unsure, click Yes)\n" msgstr "" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -5803,19 +5808,19 @@ "." msgstr "" -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" msgstr "" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" msgstr "" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -5823,7 +5828,7 @@ "DO NOT SHUT DOWN OR CLOSE LIVES !\n" msgstr "" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, c-format msgid "" "\n" @@ -5831,14 +5836,14 @@ "The theme could not be loaded correctly.\n" msgstr "" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" "Please check the spelling of the set name and try again.\n" msgstr "" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -5847,7 +5852,7 @@ "directory. Would you like me to do this (recommended) ?" msgstr "" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -5859,7 +5864,7 @@ msgstr "" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -5868,40 +5873,40 @@ "\n" msgstr "" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" "Consult your package distributor.\n" msgstr "" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" msgstr "" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "" "Por favor, configure su dispositivo de reproducción de CD en Herramientas | " "Preferencias | Varios\n" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, c-format msgid "" "\n" @@ -5910,7 +5915,7 @@ "(Theme name not found).\n" msgstr "" -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -5919,7 +5924,7 @@ "already exists. Would you like to overwrite it ?\n" msgstr "" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -6060,7 +6065,7 @@ msgid "Video only Transitions" msgstr "Transición solo de video" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "" @@ -6068,7 +6073,7 @@ msgid "Audio only Transitions" msgstr "Transición solo de audio" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "audio" @@ -6112,7 +6117,7 @@ msgid "Audio Analysers" msgstr "" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "desconocido" @@ -6169,359 +6174,359 @@ "\n" "No se generaron cuadros\n" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 #, fuzzy msgid "Invalid element" msgstr "Parámetro inválido" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 #, fuzzy msgid "Invalid property" msgstr "Parámetro inválido" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 msgid "Invalid plugin" msgstr "" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 #, fuzzy msgid "No error" msgstr "Borrar_Errores" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 msgid "integer" msgstr "" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 msgid "string" msgstr "" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 msgid "pointer" msgstr "" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "Error: plugin %s has no weed_setup() function.\n" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" "Error was: %s\n" msgstr "" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr "" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, c-format msgid "Successfully loaded %d compound filters\n" msgstr "" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, c-format msgid "Failed to start generator %s (%s)\n" msgstr "" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 msgid "Autoscale" msgstr "" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 msgid "Delete this connection" msgstr "" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, c-format msgid "%s - Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, c-format msgid "%s - Parameter Data Connections" msgstr "" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 msgid "Parameter and Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 msgid "Auto Connect Channels" msgstr "" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 msgid "Auto Connect Parameters" msgstr "" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "" -#: src/framedraw.c:241 +#: src/framedraw.c:242 msgid "_Frame" msgstr "" @@ -6565,40 +6570,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "_Anchura" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "A_ltura" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "Generar en el _portapapeles" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "" -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -6664,32 +6669,32 @@ "\n" msgstr "" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "" -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "_FPS" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -6698,7 +6703,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -6708,31 +6713,31 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" "Error was: %s\n" msgstr "" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " "***\n" msgstr "" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -6741,7 +6746,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -6750,7 +6755,7 @@ "or switch to another plugin using Tools|Preferences|Encoding\n" msgstr "" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, c-format msgid "" "\n" @@ -6758,12 +6763,12 @@ "No decoders found in %s !\n" msgstr "" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, c-format msgid " using %s" msgstr "" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -6772,7 +6777,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -6782,25 +6787,25 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "" -#: src/plugins.c:2556 +#: src/plugins.c:2550 #, fuzzy msgid "Decoder Plugins" msgstr "Decodificando" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "" @@ -7000,20 +7005,20 @@ msgid "Move _Down" msgstr "Mover _Abajo" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 #, fuzzy msgid "RFX Properties" msgstr "_Propiedades..." -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -7022,7 +7027,7 @@ "\n" msgstr "" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -7030,186 +7035,186 @@ "Please check the trigger code.\n" msgstr "" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 #, fuzzy msgid "New RFX Parameter" msgstr "Sin parametros" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 #, fuzzy msgid "Edit RFX Parameter" msgstr "Parametros de Audio" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "" -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "" -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "" -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." msgstr "" -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "" -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "" -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "" -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "" -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "" -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "" -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "" -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "" -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "" -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr "" -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "" -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 msgid "_Wrap value" msgstr "" -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "" -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "" -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "" -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "" -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "" -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 msgid "New RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 msgid "Edit RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "" -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "" -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "" -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "" -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "" -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "" -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "" -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 msgid "New RFX Trigger" msgstr "" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 msgid "Edit RFX Trigger" msgstr "" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "" -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 msgid "Pre Loop Code" msgstr "" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 msgid "Loop Code" msgstr "" -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 msgid "Post Loop Code" msgstr "" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, c-format msgid "Default text (max length %d)" msgstr "" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 msgid "Enter values, one per line" msgstr "" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" @@ -7219,7 +7224,7 @@ "\n" "El nombre no debe estar en blanco.\n" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" @@ -7229,28 +7234,28 @@ "\n" "El nombre no debe contener espacios.\n" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" "Menu text must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" "Action description must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" "Author must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -7258,28 +7263,28 @@ "Name must be unique.\n" msgstr "" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" "Loop code should not be blank.\n" msgstr "" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" "Trigger code should not be blank for a utility.\n" msgstr "" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" "Parameter name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -7288,41 +7293,41 @@ "\n" msgstr "" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "" -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -7332,27 +7337,27 @@ "\n" msgstr "" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "" -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "" -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "" -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "" -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -7361,7 +7366,7 @@ "Please check this program is in your path and executable.\n" msgstr "" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -7371,12 +7376,12 @@ "\n" msgstr "" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "" -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -7386,7 +7391,7 @@ "Error code was %d\n" msgstr "" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -7396,12 +7401,12 @@ "Please delete it first, or rename the test script.\n" msgstr "" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "" -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -7412,22 +7417,22 @@ "Return code was %d (%s)\n" msgstr "" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 #, fuzzy msgid "Export Script" msgstr "Exportando proyecto" -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "" -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 #, fuzzy msgid "Import Script" msgstr "Iportando proyecto" -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -7437,45 +7442,45 @@ "Please delete it first, or rename the import script.\n" msgstr "" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 #, fuzzy msgid "Copy RFX Script" msgstr "Borrar Script RFX Persona_lizado..." -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "" -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr "" -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 #, fuzzy msgid "Rename Test RFX Script" msgstr "Borrar Script RFX Persona_lizado..." -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "" -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 msgid "RFX Script Name" msgstr "" -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "" -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "" -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "" -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -7483,12 +7488,12 @@ "Script name must be unique.\n" msgstr "" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "" -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -7499,26 +7504,26 @@ "Return code was %d\n" msgstr "" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 #, fuzzy msgid "Applying Current Real Time Effects to" msgstr "establecer Efecto en Tiempo Real _por defecto" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "" -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "" -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -7526,7 +7531,7 @@ "full screen, separate window (fs) mode\n" msgstr "" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -7534,7 +7539,7 @@ "(Free space = UNKNOWN)" msgstr "" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -7543,14 +7548,14 @@ "(Free space = %s)" msgstr "" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" "It should be in a partition with plenty of free disk space.\n" msgstr "" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7561,7 +7566,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7571,7 +7576,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1193 +#: src/preferences.c:1163 msgid "" "You have chosen to change the working directory.\n" "Please make sure you have no other copies of LiVES open.\n" @@ -7583,7 +7588,7 @@ "setting." msgstr "" -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, c-format msgid "" "\n" @@ -7592,13 +7597,13 @@ "See %s\n" msgstr "" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" msgstr "" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, c-format msgid "" "\n" @@ -7607,920 +7612,920 @@ "See %s\n" msgstr "" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "" -#: src/preferences.c:2468 +#: src/preferences.c:2418 #, fuzzy msgid "Preferences" msgstr "_Preferencias..." -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "" -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr "" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr "" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." msgstr "" -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "IGU" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr "" -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "segundos" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "_Nunca" -#: src/preferences.c:2872 +#: src/preferences.c:2757 #, fuzzy msgid "Maximum number of visible tracks" msgstr "Número máximo de pistas a mostrar" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "" -#: src/preferences.c:2925 +#: src/preferences.c:2804 msgid "Video open command (fallback)" msgstr "" -#: src/preferences.c:2935 +#: src/preferences.c:2811 msgid "Fallback image format" msgstr "" -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "_jpeg" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "_png" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "" -#: src/preferences.c:2964 +#: src/preferences.c:2832 msgid "Open/render compression" msgstr "" -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr "" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "" -#: src/preferences.c:2995 +#: src/preferences.c:2856 msgid "Automatic trimming / padding of audio when possible" msgstr "" -#: src/preferences.c:2997 +#: src/preferences.c:2858 msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "Decodificando" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "VÍDEO" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "Com_plemento" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "_Reproductor" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "" -#: src/preferences.c:3269 +#: src/preferences.c:3110 msgid "Source:" msgstr "" -#: src/preferences.c:3273 +#: src/preferences.c:3114 msgid "_Internal" msgstr "" -#: src/preferences.c:3278 +#: src/preferences.c:3119 msgid "_External (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "Reproducción" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" msgstr "" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr "" -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "Grabando" -#: src/preferences.c:3454 +#: src/preferences.c:3273 msgid "You can also change these values when encoding a clip" msgstr "" -#: src/preferences.c:3466 +#: src/preferences.c:3285 msgid "Encoder" msgstr "" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "Formato de Salida" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "Códec de audio" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "Codificación" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." msgstr "" -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr "" -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr "" -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr "" -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr "" -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr "" -#: src/preferences.c:3649 +#: src/preferences.c:3461 msgid " Working directory (do not remove) " msgstr "" -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "" -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "" -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "Carpetas" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "" -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr "" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "" -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" msgstr "" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "" -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr " MB" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "" -#: src/preferences.c:3872 +#: src/preferences.c:3659 msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " "when LiVES is started." msgstr "" -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "" -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "" -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "" -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "" -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "" -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "" -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "" -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "" -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "" -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "" -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "" -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "" -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "" -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "" -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." msgstr "" -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "" -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "" -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "" -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "" -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "" -#: src/preferences.c:4113 +#: src/preferences.c:3865 msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "" -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "Advertencias" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "" -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "" -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "" -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "Varios" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "Nuevo tema: " -#: src/preferences.c:4242 +#: src/preferences.c:3977 #, fuzzy msgid "Main Theme Details" msgstr "Mostrar detalles" -#: src/preferences.c:4254 +#: src/preferences.c:3988 #, fuzzy msgid " _Foreground Color" msgstr "Fondo" -#: src/preferences.c:4273 +#: src/preferences.c:4007 #, fuzzy msgid " _Background Color" msgstr "Fondo" -#: src/preferences.c:4291 +#: src/preferences.c:4026 #, fuzzy msgid "_Alt Foreground Color" msgstr "Fondo" -#: src/preferences.c:4309 +#: src/preferences.c:4044 #, fuzzy msgid "_Alt Background Color" msgstr "Fondo" -#: src/preferences.c:4327 +#: src/preferences.c:4062 msgid " Info _Text Color" msgstr "" -#: src/preferences.c:4346 +#: src/preferences.c:4081 msgid " Info _Base Color" msgstr "" -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "" -#: src/preferences.c:4365 +#: src/preferences.c:4100 msgid "Affects some contrast details of the timeline" msgstr "" -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "" -#: src/preferences.c:4398 +#: src/preferences.c:4132 #, fuzzy msgid "Frame blank image" msgstr "Reordenando cuadros" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "" -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4474 +#: src/preferences.c:4203 msgid "Track background (multitrack)" msgstr "" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "" -#: src/preferences.c:4529 +#: src/preferences.c:4258 msgid "Timeline selection (multitrack)" msgstr "" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "" -#: src/preferences.c:4553 +#: src/preferences.c:4282 msgid "Timecode foreground (multitrack)" msgstr "" -#: src/preferences.c:4565 +#: src/preferences.c:4293 #, fuzzy msgid "Frame surround" msgstr "Frente" -#: src/preferences.c:4582 +#: src/preferences.c:4306 #, fuzzy msgid "Themes/Colors" msgstr "Temas" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "" -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "puerto UDP " -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" msgstr "" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" msgstr "" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "" -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "Avanzadas" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." msgstr "" -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "" -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -8528,41 +8533,41 @@ "Click OK to continue.\n" msgstr "" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." msgstr "" -#: src/preferences.c:5525 +#: src/preferences.c:5205 msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "" -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "" -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "" @@ -8585,158 +8590,158 @@ msgid "Resample/Resize" msgstr "Resamplear/Reescalar" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "La longitud del video es ahora de %d cuadros.\n" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" "New rate must be greater than 0\n" msgstr "" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "Resamplear Audio" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "Resamplear video at %.8f cuadros por segundo..." -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "Remuestreo de video at %.3f cuadros por segundo..." -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "Remuestreo" -#: src/resample.c:1208 +#: src/resample.c:1209 #, fuzzy msgid "New Clip Audio" msgstr "Nuevo Sonido" -#: src/resample.c:1210 +#: src/resample.c:1211 msgid "External Clip Settings" msgstr "" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "Actual" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "" -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 msgid "Channels" msgstr "" -#: src/resample.c:1256 +#: src/resample.c:1257 msgid "Sample Size " msgstr "" -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "Firmado" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "No firmado" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "" -#: src/resample.c:1322 +#: src/resample.c:1323 #, fuzzy msgid "New Audio Details" msgstr "Nuevo Sonido" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "Nuevo" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "" -#: src/resample.c:1369 +#: src/resample.c:1370 msgid "_Channels" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "_Sample Size" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "Sample Size" msgstr "" -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "" -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "" -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr " horas " -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr " minutos " -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr " segundos " -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "Ilimitado" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "" -#: src/resample.c:1635 +#: src/resample.c:1636 #, fuzzy msgid "Change Playback Speed" msgstr "_Cambiar velocidad de Reproducción/Guardar..." -#: src/resample.c:1637 +#: src/resample.c:1638 #, fuzzy msgid "Resample Video" msgstr "Resamplear Audio" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -8747,7 +8752,7 @@ "in _frames per second" msgstr "" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -8758,80 +8763,80 @@ "in frames per second" msgstr "" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "Cambiar Velocidad" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "Reordenando cuadros" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" "LiVES was unable to reorder the frames." msgstr "" -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "Desordenando cuadros" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "" @@ -9062,7 +9067,7 @@ msgid "Mode active" msgstr "" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "Información" @@ -9184,54 +9189,54 @@ msgid "Opened firewire card %d" msgstr "" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, c-format msgid "%s : parameters for %s" msgstr "" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "Origen: %s" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." msgstr "" -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -9240,7 +9245,7 @@ "right or double clicking on it.\n" msgstr "" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -9248,14 +9253,14 @@ "Select an effect in FX stack first to view its parameters.\n" msgstr "" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" "No clips loaded.\n" msgstr "" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -9265,7 +9270,7 @@ "before inserting clips into the timeline." msgstr "" -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -9274,190 +9279,190 @@ "to apply compositors.\n" msgstr "" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" msgstr "" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" msgstr "" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr "para seleccionar una región de tiempo.\n" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 #, fuzzy msgid "Selected Clip" msgstr "Se_lección" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 msgid "_Adjust Start and End Points" msgstr "" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 msgid "_Edit/Encode in Clip Editor" msgstr "" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 #, fuzzy msgid "_Show Clip Information" msgstr "Mostrar Información del _Clip" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 #, fuzzy msgid "_Close this Clip" msgstr "_Cerrar Este Clip" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 #, fuzzy msgid "Audio Mixer (ctrl-m)" msgstr "Mezclador de Audio (ctrl-m)" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "" -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "" -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "" -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "" -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "" -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "" -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "" -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "" -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "" -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "Cerrar huecos" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "Eliminar bloque" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "Separar pistas" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "Aplicar %s" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "Borrar %s" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "" -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "" -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " "audio rate %d, audio sample size %d, %s.\n" msgstr "" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -9467,7 +9472,7 @@ "then load in the new set from the File menu.\n" msgstr "" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -9475,624 +9480,624 @@ "It cannot be loaded.\n" msgstr "" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "Entrada/Salida" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "Parám." -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "" -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "Abriendo selección de archivos..." -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "Importar Selección desde _dvd/vcd..." -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "Import Selección desde _dvd" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "Importar Selección desde _vcd" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "_Importar desde Dispositivo" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 #, fuzzy msgid "_Close the Selected Clip" msgstr "Se_lección" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 #, fuzzy msgid "_Save Layout as..." msgstr "_Guardar disposiciones" -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 #, fuzzy msgid "_Load Layout..." msgstr "Cargando disposición desde %s..." -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 #, fuzzy msgid "_Wipe/Delete Layout..." msgstr "_Borrar disposiciones" -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 #, fuzzy msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "_Cambiar ancho, alto y volumen de audio..." -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 #, fuzzy msgid "Auto Load _Subtitles with Clips" msgstr "Cargar subtítulos automáticamente" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 msgid "_Adjust Selected Clip Start/End Points" msgstr "" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 #, fuzzy msgid "_Insert Selected Clip Audio" msgstr "Eliminar _Audio Seleccionado" -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 #, fuzzy msgid "_Delete Selected Block" msgstr "Eliminar _Audio Seleccionado" -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 msgid "_Jump to Previous Block Boundary" msgstr "" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 msgid "_Jump to Next Block Boundary" msgstr "" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 msgid "Clear _Marks from Timeline" msgstr "" -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 msgid "Ignore Selection Limits when Inserting" msgstr "" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 #, fuzzy msgid "Pla_y Selected Time Only" msgstr "_Reproducir Selección" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 msgid "_Move Effects with Blocks" msgstr "" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 #, fuzzy msgid "Select _Autotransition Effect..." msgstr "Seleccionar Último _Efecto" -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 msgid "Crossfade Audio with Autotransition" msgstr "" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 #, fuzzy msgid "View/_Edit Selected Effect" msgstr "Seleccionar Último _Efecto" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 #, fuzzy msgid "_Delete Selected Effect" msgstr "Seleccionar Último _Efecto" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 msgid "Apply Effect to _Block..." msgstr "" -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 msgid "Apply Effect to _Region..." msgstr "" -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "Pis_tas" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 msgid "Make _Backing Audio Current Track" msgstr "" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 msgid "_Split Current Track at Cursor" msgstr "" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 #, fuzzy msgid "_Split Selected Video Tracks" msgstr "Exportar el Audio Seleccionado como..." -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 #, fuzzy msgid "Insert Gap in Selected Tracks/Time" msgstr "Insertar el portapapeles luego de los cuadros seleccionados" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 msgid "Insert Gap in Current Track/Selected Time" msgstr "" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 msgid "Close All _Gaps in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "Se_lección" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 #, fuzzy msgid "Select _All Video Tracks" msgstr "Seleccionar _Todos los Cuadros" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 msgid "Select _No Video Tracks" msgstr "" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 #, fuzzy msgid "Select All _Time" msgstr "Seleccionar _Todos los Cuadros" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 #, fuzzy msgid "Select from _Zero Time" msgstr "Seleccionar desde _Primer Cuadro" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 #, fuzzy msgid "Select to _End Time" msgstr "Seleccionar al _Último Cuadro" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "_Copiar..." -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 msgid "_Timecode to Region Start" msgstr "" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 msgid "_Timecode to Region End" msgstr "" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 msgid "_Region Start to Timecode" msgstr "" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 msgid "_Region End to Timecode" msgstr "" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 msgid "Select/Deselect Block at Current Track/Time" msgstr "" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 #, fuzzy msgid "_Change Width, Height and Audio Values..." msgstr "_Cambiar ancho, alto y volumen de audio..." -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "_Renderizar" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 msgid "_Render All to New Clip" msgstr "" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 #, fuzzy msgid "Render _Video" msgstr "Resamplear Audio" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 #, fuzzy msgid "Render _Audio" msgstr "Añadir audio" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 msgid "_Normalise Rendered Audio" msgstr "" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 #, fuzzy msgid "_Pre-render Audio" msgstr "Añadir audio" -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "_Ver" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 msgid "Block _In/Out Points" msgstr "" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 msgid "_Effects at Current" msgstr "" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 #, fuzzy msgid "Audio Parameters" msgstr "Parametros de Audio" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 msgid "Show Backing _Audio Track" msgstr "" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 #, fuzzy msgid "Compact View" msgstr "Vista compacta" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 #, fuzzy msgid "Maximum Tracks to Display..." msgstr "Número máximo de pistas a mostrar" -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 msgid "Scroll to Follow Playback" msgstr "" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 msgid "_Center on Cursor" msgstr "" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 #, fuzzy msgid "_Zoom In" msgstr "_Zoom Más" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 #, fuzzy msgid "_Zoom Out" msgstr "_Zoom Menos" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 msgid "Multitrack _Details" msgstr "" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 msgid "_Show FRAME Events" msgstr "" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 #, fuzzy msgid "_Show Multitrack Keys" msgstr "Mostrar subtítulos" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "Reportar un _fallo" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 #, fuzzy msgid "Insert With _Audio" msgstr "_Insertar para ajustarse al audio" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 #, fuzzy msgid "Select _Overlap" msgstr "Se_lección" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" msgstr "" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 msgid "Mouse Mode: _Move" msgstr "" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 msgid "Mouse Mode: _Select" msgstr "" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 msgid "Insert Mode: _Normal" msgstr "" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "_Aplicar" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "" -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "" -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "Desplazador" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" "Switched to Clip Edit mode\n" msgstr "" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr "" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr "" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr " %s" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 #, fuzzy msgid "Selected Effect" msgstr "Seleccionar Último _Efecto" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 msgid "_View/Edit this Effect" msgstr "" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 msgid "_View this Effect" msgstr "" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 #, fuzzy msgid "_Delete this Effect" msgstr "Seleccionar Último _Efecto" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr "" -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "" -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "%d cuadros" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" "Switched to Multitrack mode\n" msgstr "" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" "Nodes can be deleted." msgstr "" -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "%s a %s" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -10100,32 +10105,32 @@ "current time.\n" msgstr "" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." msgstr "" -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 #, fuzzy msgid "Selected Block/Frame" msgstr "Seleccionar _Todos los Cuadros" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 #, fuzzy msgid "_Select this Block" msgstr "" @@ -10133,257 +10138,257 @@ "\n" "La selección está bloqueada.\n" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 msgid "_Split Block Here" msgstr "" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 #, fuzzy msgid "List _Effects Here" msgstr "_Efectos personalizados" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 #, fuzzy msgid "_Delete this Block" msgstr "Eliminar bloque" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 #, fuzzy msgid "_Insert Here" msgstr "_Insertar Cuadros" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 #, fuzzy msgid "_Insert Audio Here" msgstr "_Insertar para ajustarse al audio" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" msgstr "" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "" -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, fuzzy, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "eliminando el audio desde el segundo %.2f hasta %.2f..." -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "_Pausar" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " "to %.4f\n" msgstr "" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" "selected.\n" msgstr "" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" msgstr "" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." msgstr "" -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." msgstr "" -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." msgstr "" -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" msgstr "" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" msgstr "" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" msgstr "" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "o INSERTAR DESPUÉS para moverlo" -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "" -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" msgstr "" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "después de él\n" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "antes de él\n" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "_Autocargar cada vez" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 msgid "Saving layout" msgstr "" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "fotogramas" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" msgstr "" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -10391,75 +10396,75 @@ "Therefore it could not be loaded properly.\n" msgstr "" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" "Unable to load layout file %s\n" msgstr "" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "Cargando disposición desde %s..." -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "" -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "%d errores detectados.\n" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 msgid "" "The current layout has changes which have not been saved.\n" "Are you sure you wish to wipe it ?\n" msgstr "" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 #, fuzzy msgid "Multitrack Audio Mixer" msgstr "LiVES: Mezclador de audio multipista" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "_Restablecer valores" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" msgstr "" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "Ajustar todas las capas de valores de sonido al mismo valor" @@ -10485,7 +10490,7 @@ "Connection to jack audio was reset.\n" msgstr "" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10493,7 +10498,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10501,7 +10506,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:104 +#: src/pulse.c:105 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10509,27 +10514,27 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" msgstr "" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" msgstr "" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr ""
View file
LiVES-2.8.4.tar.bz2/po/et.po -> LiVES-2.8.6.tar.bz2/po/et.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: lives\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" "PO-Revision-Date: 2013-03-14 12:31+0000\n" "Last-Translator: Launchpad Translations Administrators <Unknown>\n" "Language-Team: Estonian <et@li.org>\n" @@ -18,7 +18,7 @@ "X-Launchpad-Export-Date: 2013-03-28 10:42+0000\n" "X-Generator: Launchpad (build 16546)\n" -#: src/main.c:132 +#: src/main.c:125 msgid "" "Attention Translators !\n" "This message is intended for you, so please do not translate it.\n" @@ -27,22 +27,22 @@ "http://lives-video.com/TRANS-README.txt" msgstr "" -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "" -#: src/main.c:203 +#: src/main.c:197 #, fuzzy, c-format msgid "" "\n" @@ -56,7 +56,7 @@ "group_id=64341&atid=507139\n" "Aitäh. Peaks olema võimalik progress taastada LiVES-i taaskäivitusel.\n" -#: src/main.c:205 +#: src/main.c:199 #, fuzzy, c-format msgid "" "\n" @@ -69,7 +69,7 @@ "Vigadest teatades, palun lisage infot oma operatsioonisüsteemist, jaotusest " "ja LiVES-i versioonist (" -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" @@ -77,7 +77,7 @@ "ja mis tahes allpool esitatud teave:\n" "\n" -#: src/main.c:210 +#: src/main.c:204 #, fuzzy msgid "" "Please try running LiVES with the -debug option to collect more " @@ -88,7 +88,7 @@ "infot.\n" "\n" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" @@ -98,89 +98,89 @@ "infot.\n" "\n" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "Valiku säilitamine.\n" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "Kõik" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "Pole" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "soovitatav" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "keelatud !" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "**Praegune skeem**" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "Sisseehitatud" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "Kohandatud" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "Testi" -#: src/main.c:474 +#: src/main.c:460 msgid "LiVES: - " msgstr "" -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "Mõõtmete muutmine" -#: src/main.c:731 +#: src/main.c:708 #, fuzzy msgid "_Resize All Frames..." msgstr "_kõikide kaadrite suuruse muutmine" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "" -#: src/main.c:1122 +#: src/main.c:1094 #, fuzzy msgid "Background" msgstr "_Alusta" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "Laen reaalaja efektide pluginaid..." -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "Heli serveri jack käivitamine..." -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "" -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "" -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -192,34 +192,34 @@ "Alternatively, try to start lives with either \"lives -jackopts 16\", or " msgstr "" -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "Heli serveri pulse käivitamine..." -#: src/main.c:1855 +#: src/main.c:1813 #, fuzzy, c-format msgid "%s...detected... " msgstr "mplayer...tuvastatud..." -#: src/main.c:1856 +#: src/main.c:1814 #, fuzzy, c-format msgid "%s...NOT DETECTED... " msgstr "mplayer...ei tuvastatud..." -#: src/main.c:1867 +#: src/main.c:1824 msgid "Checking optional dependencies: " msgstr "" -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -227,209 +227,209 @@ "Window manager reports as \"%s\"; " msgstr "" -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "" -#: src/main.c:1901 +#: src/main.c:1863 #, c-format msgid "Number of CPUs detected: %d " msgstr "" -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "" -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1927 +#: src/main.c:1889 #, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr "" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" "Many audio features will be unavailable.\n" msgstr "" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" "\n" msgstr "" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" "Startup syntax is: %s [opts] [filename [start_time] [frames]]\n" msgstr "" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "" -#: src/main.c:2593 +#: src/main.c:2545 msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" msgstr "" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "" -#: src/main.c:2605 +#: src/main.c:2557 msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " "mplayer2" msgstr "" #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr "" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr "" -#: src/main.c:2613 +#: src/main.c:2565 msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " "transport client,2 = jack transport master, 4 = start jack transport server, " "8 = pause audio when video paused,16 = start jack audio server] \n" msgstr "" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr "" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" msgstr "" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "" -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -440,7 +440,7 @@ "(Maybe you need to change the value of <prefix_dir> in your %s file)\n" msgstr "" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -448,7 +448,7 @@ "Please make sure you have write access to %s and try again.\n" msgstr "" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -457,7 +457,7 @@ "before running LiVES.\n" msgstr "" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -467,7 +467,7 @@ "Please check the file permissions for this file and try again.\n" msgstr "" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -478,7 +478,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -486,7 +486,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2737 +#: src/main.c:2689 #, c-format msgid "" "\n" @@ -496,7 +496,7 @@ "%s" msgstr "" -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -507,56 +507,56 @@ "Thankyou.\n" msgstr "" -#: src/main.c:2751 +#: src/main.c:2703 msgid "" "\n" "LiVES currently requires 'mplayer', 'mplayer2' or 'sox' to function. Please " "install one or other of these, and try again.\n" msgstr "" -#: src/main.c:2756 +#: src/main.c:2708 msgid "" "\n" "LiVES currently requires both 'mplayer' or 'mplayer2' and 'sox' to function. " "Please install these, and try again.\n" msgstr "" -#: src/main.c:2769 +#: src/main.c:2721 msgid "" "\n" "LiVES was unable to locate 'mplayer','mplayer2' or 'mpv'. You may wish to " "install one of these to use LiVES more fully.\n" msgstr "" -#: src/main.c:2775 +#: src/main.c:2727 msgid "" "\n" "LiVES was unable to locate 'mplayer' or 'mplayer2'. You may wish to install " "one of these to use LiVES more fully.\n" msgstr "" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" "magick if you want to use rendered effects.\n" msgstr "" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " "image-magick if you want to use the merge function.\n" msgstr "" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " "should install 'sox'.\n" msgstr "" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -567,96 +567,96 @@ "You may need to change the value of <lib_dir> in %s\n" msgstr "" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "" -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "" #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "Esita" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" msgstr "" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "Võta _tagasi" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "_Taasta" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "Video" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "" -#: src/main.c:7078 +#: src/main.c:6973 msgid "" "\n" "\n" @@ -807,7 +807,7 @@ msgid "Use _mplayer2 audio player" msgstr "" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "" @@ -1013,51 +1013,51 @@ msgid "_Finish" msgstr "" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "" -#: src/interface.c:46 +#: src/interface.c:42 msgid "Apply _Deinterlace" msgstr "" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "" -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "Eelvaade" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "" -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "" -#: src/interface.c:122 +#: src/interface.c:113 msgid "Click here to _Preview the file" msgstr "" -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 msgid "Processing..." msgstr "" -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1066,8 +1066,8 @@ "Remember to switch off effects (ctrl-0) afterwards !" msgstr "" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" @@ -1075,172 +1075,176 @@ "\n" "Palun oota" -#: src/interface.c:221 +#: src/interface.c:206 msgid "Show Details" msgstr "" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "_Eelvaade" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "_Katkesta" -#: src/interface.c:334 +#: src/interface.c:324 msgid "Multitrack Details" msgstr "" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "Vorming" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "Raami suurus" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "Failisuurus" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "FPS" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "Raamid" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "Sündmused" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "Aeg kokku" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "Heli" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "" -#: src/interface.c:568 +#: src/interface.c:590 #, fuzzy msgid "Encoding Options" msgstr "Kodeering" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." msgstr "" -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "_Sulge aken" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "Lisa" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "" -#: src/interface.c:833 +#: src/interface.c:846 +msgid "Insert _with silence" +msgstr "" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "" -#: src/interface.c:924 +#: src/interface.c:937 #, fuzzy msgid "Open Selection" msgstr "_Valik" -#: src/interface.c:943 +#: src/interface.c:954 msgid "Selection start time (sec)" msgstr "" -#: src/interface.c:949 +#: src/interface.c:960 msgid "Number of frames to open" msgstr "" -#: src/interface.c:1023 +#: src/interface.c:1029 msgid "Open Location" msgstr "" -#: src/interface.c:1025 +#: src/interface.c:1031 msgid "Open Youtube Clip" msgstr "" -#: src/interface.c:1045 +#: src/interface.c:1050 msgid "" "\n" "\n" @@ -1250,7 +1254,7 @@ "\n" msgstr "" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1259,67 +1263,67 @@ "\n" msgstr "" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "URL : " -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "" -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "" -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "" -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "" -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr "" -#: src/interface.c:1188 +#: src/interface.c:1189 #, fuzzy msgid "Rename Clip" msgstr "Pööramine" -#: src/interface.c:1190 +#: src/interface.c:1191 msgid "Enter Set Name to Save as" msgstr "" -#: src/interface.c:1192 +#: src/interface.c:1193 msgid "Enter a Set Name to Reload" msgstr "" -#: src/interface.c:1194 +#: src/interface.c:1195 msgid "Choose a Working Directory" msgstr "" -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 msgid "Rename Current Track" msgstr "" -#: src/interface.c:1198 +#: src/interface.c:1199 msgid "Enter a Name for Your Theme" msgstr "" -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1327,7 +1331,7 @@ "LiVES will remind you to save the clip set later when you try to exit.\n" msgstr "" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1347,330 +1351,330 @@ "This should be a directory with plenty of disk space available.\n" msgstr "" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "Uus nimi " -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "" -#: src/interface.c:1257 +#: src/interface.c:1255 #, fuzzy msgid "Theme name " msgstr "Uus nimi " -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "_Laiendatud" -#: src/interface.c:1437 +#: src/interface.c:1425 msgid "Select input device" msgstr "" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "" -#: src/interface.c:1517 +#: src/interface.c:1505 msgid "Load CD Track" msgstr "" -#: src/interface.c:1519 +#: src/interface.c:1507 msgid "Select DVD Title/Chapter" msgstr "" -#: src/interface.c:1521 +#: src/interface.c:1509 msgid "Select VCD Title" msgstr "" -#: src/interface.c:1523 +#: src/interface.c:1511 msgid "Change Maximum Visible Tracks" msgstr "" -#: src/interface.c:1525 +#: src/interface.c:1513 msgid "Device details" msgstr "" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "" -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "" -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "" -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "" -#: src/interface.c:1815 +#: src/interface.c:1778 #, fuzzy msgid "Fade Audio In" msgstr "Hajumine" -#: src/interface.c:1817 +#: src/interface.c:1780 #, fuzzy msgid "Fade Audio Out" msgstr "Hajumine" -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "" -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "esimene" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "" -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "viimane" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "sekundit." -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "valik" -#: src/interface.c:1909 +#: src/interface.c:1865 msgid " (Optional)" msgstr "" -#: src/interface.c:1912 +#: src/interface.c:1868 #, c-format msgid "File Comments%s" msgstr "" -#: src/interface.c:1927 +#: src/interface.c:1882 #, c-format msgid "File Name: %s" msgstr "" -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "" -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "" -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "" -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "" -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "" -#: src/interface.c:2109 +#: src/interface.c:2058 #, c-format msgid "%sChoose a Device" msgstr "" -#: src/interface.c:2112 +#: src/interface.c:2061 #, c-format msgid "%sChoose a Directory" msgstr "" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2410 +#: src/interface.c:2341 msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" "What do you wish to do ?" msgstr "" -#: src/interface.c:2417 +#: src/interface.c:2348 msgid "Cancel/Discard/Save" msgstr "" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" "Would you like to try and recover it ?\n" msgstr "" -#: src/interface.c:2527 +#: src/interface.c:2455 msgid "Disk Recovery Options" msgstr "" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "" -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "" -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1678,339 +1682,339 @@ "-----------------------\n" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "ctrl-left" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 #, fuzzy msgid "skip forwards\n" msgstr "Edasikerimine" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "ctrl-down" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "ctrl-enter" msgstr "_Muud" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "reset frame rate\n" msgstr "_Kaadrid" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "" -#: src/interface.c:2723 +#: src/interface.c:2642 msgid "reverse direction\n" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 msgid "ctrl-1" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "toggle real-time effect 1\n" msgstr "Laen reaalaja efektide pluginaid..." -#: src/interface.c:2746 +#: src/interface.c:2665 msgid "ctrl-2" msgstr "" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "toggle real-time effect 2\n" msgstr "Laen reaalaja efektide pluginaid..." -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "ctrl-0" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "real-time effects off\n" msgstr "" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "" -#: src/interface.c:2759 +#: src/interface.c:2678 msgid "grab keyboard for last activated effect\n" msgstr "" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2688 msgid "tab" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "" -#: src/interface.c:2785 +#: src/interface.c:2706 msgid "Other playback keys\n" msgstr "" -#: src/interface.c:2789 +#: src/interface.c:2710 msgid "play all\n" msgstr "" -#: src/interface.c:2792 +#: src/interface.c:2713 #, fuzzy msgid "play selection\n" msgstr "valik" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "" -#: src/interface.c:2798 +#: src/interface.c:2719 #, fuzzy msgid "fullscreen\n" msgstr "_Täisekraan" -#: src/interface.c:2801 +#: src/interface.c:2722 #, fuzzy msgid "separate window\n" msgstr "Sulge aken" -#: src/interface.c:2804 +#: src/interface.c:2725 #, fuzzy msgid "double size\n" msgstr "Failisuurus" -#: src/interface.c:2807 +#: src/interface.c:2728 msgid "ping pong loops\n" msgstr "" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "move current track up\n" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "move current track down\n" msgstr "" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "" -#: src/interface.c:2849 +#: src/interface.c:2768 #, fuzzy msgid "select next clip\n" msgstr "_Valik" -#: src/interface.c:2852 +#: src/interface.c:2771 msgid "select/deselect current track\n" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "zoom in\n" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "zoom out\n" msgstr "" -#: src/interface.c:2861 +#: src/interface.c:2780 msgid "make a mark on the timeline (during playback)\n" msgstr "" -#: src/interface.c:2864 +#: src/interface.c:2783 msgid "rewind to play start.\n" msgstr "" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "" -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "" -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "" -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -2018,22 +2022,22 @@ "the latest youtube-dl installed.\n" msgstr "" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, c-format msgid "Layouts were removed for set %s.\n" msgstr "" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "See fail" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " msgstr "" -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2043,7 +2047,7 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2053,20 +2057,20 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" "Really close it ?" msgstr "" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" msgstr "" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2079,54 +2083,54 @@ "Once you have done this, you will be able to import the new project.\n" msgstr "" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "" -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "" -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 #, fuzzy msgid "Theme" msgstr "Uus nimi " -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, c-format msgid "Exporting theme as %s..." msgstr "" -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, c-format msgid "Importing theme \"%s\" from %s..." msgstr "" -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, c-format msgid "Backup as %s File" msgstr "" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, c-format msgid "Restore %s File" msgstr "" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2134,101 +2138,101 @@ "Are you sure ?\n" msgstr "" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "" -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "" -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "" -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "" -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "" -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "" -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "Lõika" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 msgid "Pulling frames from clipboard" msgstr "" -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "" -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "Kleebi" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "" -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " "LiVES.\n" msgstr "" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2237,31 +2241,31 @@ "the 'Trim Audio' function from the Audio menu." msgstr "" -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." msgstr "" -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2269,7 +2273,7 @@ "Clipboard audio has been erased.\n" msgstr "" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2278,88 +2282,88 @@ "using unchanged audio ?\n" msgstr "" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "" -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "Lisan" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "" -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "" -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "Tühistamine" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" "Are you sure ?" msgstr "" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "" -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "Kustutamine" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "Kustuta" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" "Selection is locked.\n" msgstr "" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2367,11 +2371,11 @@ "play.)\n" msgstr "" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2380,7 +2384,7 @@ "%s\n" msgstr "" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2389,7 +2393,7 @@ "The plugin may be broken or not installed correctly." msgstr "" -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2398,22 +2402,22 @@ "Please press 'Cancel' if that is not what you want.\n" msgstr "" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2421,24 +2425,24 @@ "Click OK to proceed.\n" msgstr "" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "" -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "" -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "" -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2446,68 +2450,68 @@ "Internal: %s (%d bpp) / %s\n" msgstr "" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." msgstr "" -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" "(%d virtual)" msgstr "" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" "(%d decoded)" msgstr "" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" " %.2f sec." msgstr "" -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" msgstr "" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" "%s %s" msgstr "" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2524,15 +2528,15 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n" msgstr "" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "" -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" "Launchpad Contributions:\n" @@ -2540,7 +2544,7 @@ " Tarmo Ilves https://launchpad.net/~koolobus\n" " lyyser https://launchpad.net/~lyyser" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, c-format msgid "" "LiVES Version %s\n" @@ -2554,14 +2558,14 @@ "Homepage: %s" msgstr "" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 msgid "" "\n" "\n" "You need to install mplayer or mplayer2 to be able to preview this file.\n" msgstr "" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 msgid "" "\n" "\n" @@ -2569,92 +2573,92 @@ "this file.\n" msgstr "" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" "%s\n" msgstr "" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 msgid "Encoder Debug Output" msgstr "" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "" -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 msgid "Load Subtitles" msgstr "" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 msgid "Select Audio File" msgstr "" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -2662,82 +2666,82 @@ "." msgstr "" -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "" -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "" -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "" -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 msgid "Layout Errors" msgstr "" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "Jätka" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "" -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "" -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "Säilita" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, c-format msgid "" "\n" @@ -2746,30 +2750,30 @@ "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "Katkesta" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 #, fuzzy msgid "Selected Frame" msgstr "_Alusta" -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 #, fuzzy msgid "_Save Frame as..." msgstr "_Alusta" -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -2778,7 +2782,7 @@ "\n" msgstr "" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -2786,13 +2790,13 @@ "\n" msgstr "" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" msgstr "" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -2801,17 +2805,17 @@ "\n" msgstr "" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" msgstr "" -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -2821,19 +2825,19 @@ "(Default of %.3f frames per second will be used.)\n" msgstr "" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "" -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "" -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -2842,119 +2846,119 @@ "rate.\n" msgstr "" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "" -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "" -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 msgid "Append Audio File" msgstr "" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "" -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "" -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "" -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "" -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "" -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" "Are you sure ?" msgstr "" -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "" -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "" @@ -2967,877 +2971,877 @@ msgid "Merge Clipboard [ %d Frames ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "" -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "" -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "_Fail" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "" -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "" -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "" -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "" -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "" -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "" -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "" -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "" -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "" -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "" -#: src/gui.c:692 +#: src/gui.c:674 #, c-format msgid "_Backup Clip as .%s..." msgstr "" -#: src/gui.c:701 +#: src/gui.c:683 #, c-format msgid "_Restore Clip from .%s..." msgstr "" -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "_Redigeeri" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "" -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "" -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "_Kustuta valik" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "_Vali..." -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "" -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "_Pööra valik" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "_Esita" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "_Peata" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "_Täisekraan" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "_Tumm" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "" -#: src/gui.c:1069 +#: src/gui.c:1045 msgid "Letterbox Mode" msgstr "" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "" -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "_Tööriistad" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "" -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "" -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "" -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "Üldkas_utatavad" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "_Genereeri" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "" -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "" -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "" -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "" -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "" -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "" -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "" -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "" -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "" -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "" -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "" -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "" -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "" -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "" -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "" -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "" -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "" -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "" -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "" -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "" -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "_Info" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "" -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "_Eriline" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "" -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "" -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "" -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "" -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "" -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "" -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "" -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "" -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "" -#: src/gui.c:1397 +#: src/gui.c:1371 msgid "Receive _LiVES Stream from..." msgstr "" -#: src/gui.c:1401 +#: src/gui.c:1375 msgid "_Send LiVES Stream to..." msgstr "" -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "" -#: src/gui.c:1426 +#: src/gui.c:1399 #, c-format msgid "_Import Project (.%s)..." msgstr "" -#: src/gui.c:1430 +#: src/gui.c:1403 #, c-format msgid "E_xport Project (.%s)..." msgstr "" -#: src/gui.c:1437 +#: src/gui.c:1409 #, c-format msgid "_Import Custom Theme (.%s)..." msgstr "" -#: src/gui.c:1442 +#: src/gui.c:1414 #, c-format msgid "E_xport Theme (.%s)..." msgstr "" -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "_VJ" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "" -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "" -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." msgstr "" -#: src/gui.c:1476 +#: src/gui.c:1448 msgid "_Reset All Playback Speeds and Positions" msgstr "" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "" -#: src/gui.c:1480 +#: src/gui.c:1452 msgid "_MIDI/Joystick Interface" msgstr "" -#: src/gui.c:1489 +#: src/gui.c:1461 msgid "_MIDI/Joystick Learner..." msgstr "" -#: src/gui.c:1493 +#: src/gui.c:1465 msgid "_Save Device Mapping..." msgstr "" -#: src/gui.c:1497 +#: src/gui.c:1469 msgid "_Load Device Mapping..." msgstr "" -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "_Puudub" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "_Abi" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 msgid "_Donate to the Project !" msgstr "" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 msgid "_Email the Author" msgstr "" -#: src/gui.c:1547 +#: src/gui.c:1519 msgid "Report a _Bug" msgstr "" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 msgid "Suggest a _Feature" msgstr "" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 msgid "Assist with _Translating" msgstr "" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "_Lähemalt" -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "Helitugevus" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." msgstr "" #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr "" -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr "" -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "_Vaba" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "_Alusta" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "Tagasikerimine" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr "" -#: src/gui.c:3613 +#: src/gui.c:3553 #, fuzzy msgid "Streaming" msgstr "Unelemismuusika" -#: src/gui.c:3615 +#: src/gui.c:3555 #, fuzzy, c-format msgid "Play Window%s" msgstr "_Sulge aken" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "" -#: src/gui.c:4199 +#: src/gui.c:4127 #, c-format msgid "'LiVES opened the file' '%s'" msgstr "" -#: src/gui.c:4220 +#: src/gui.c:4146 #, c-format msgid "'LiVES closed the file' '%s'" msgstr "" @@ -3847,11 +3851,11 @@ msgid "Mapped to ctrl-%d" msgstr "" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "Efektid" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "" @@ -3865,11 +3869,11 @@ msgid "Select clip for %s\n" msgstr "" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "" @@ -3914,11 +3918,11 @@ msgid "%d bytes" msgstr "" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -3926,81 +3930,81 @@ "Switched to clip %s\n" msgstr "" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" "Switched to empty clip\n" msgstr "" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " "updated accordingly\n" msgstr "" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -4008,7 +4012,7 @@ "by another copy of LiVES.\n" msgstr "" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -4016,39 +4020,39 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2188 +#: src/utils.c:2207 #, c-format msgid "" "\n" "%s names may not be blank.\n" msgstr "" -#: src/utils.c:2196 +#: src/utils.c:2215 #, c-format msgid "" "\n" "%s names may not be longer than %d characters.\n" msgstr "" -#: src/utils.c:2204 +#: src/utils.c:2223 #, c-format msgid "" "\n" "%s names may not contain spaces or the characters%s.\n" msgstr "" -#: src/utils.c:2213 +#: src/utils.c:2232 #, c-format msgid "" "\n" "%s names may not start with a '.' or contain '..'\n" msgstr "" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4056,72 +4060,72 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "" -#: src/utils.c:3492 +#: src/utils.c:3548 msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "" -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4131,29 +4135,29 @@ "Overwrite ?\n" msgstr "" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "_Võta tagasi %s" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "_Tee uuesti %s" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr "" -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr "" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4178,7 +4182,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr "" @@ -4279,7 +4283,7 @@ msgstr "" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "" @@ -4333,12 +4337,12 @@ msgid "Recording performance..." msgstr "" -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4347,21 +4351,21 @@ "and resize all frames to the current size.\n" msgstr "" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "Tundmatu" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "Pealkirjata%d" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4369,13 +4373,13 @@ "%s\n" msgstr "" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" msgstr "" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4383,7 +4387,7 @@ "Bad things may happen with this clip.\n" msgstr "" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4391,73 +4395,73 @@ "Default can be set in Tools | Preferences | Misc.\n" msgstr "" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, fuzzy, c-format msgid " - Author: %s\n" msgstr "Autor: %s" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, c-format msgid " - Title: %s\n" msgstr "" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr "" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "" -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "" -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "" -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "Taastamine" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -4505,61 +4509,61 @@ msgid "Recovering files..." msgstr "" -#: src/dialogs.c:87 +#: src/dialogs.c:83 msgid "Show affeced _layouts" msgstr "" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" msgstr "" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr "" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 #, fuzzy msgid "Warning !" msgstr "Hoiatused" -#: src/dialogs.c:198 +#: src/dialogs.c:186 #, fuzzy msgid "Error !" msgstr "$error" -#: src/dialogs.c:208 +#: src/dialogs.c:196 #, fuzzy msgid "Information" msgstr "fps_ratio" -#: src/dialogs.c:234 +#: src/dialogs.c:221 msgid "Question" msgstr "" -#: src/dialogs.c:248 +#: src/dialogs.c:235 #, fuzzy msgid "File Error" msgstr "$error" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "Näita _detailisi" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -4570,7 +4574,7 @@ "(Disk warning levels can be configured in Preferences.)" msgstr "" -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -4582,11 +4586,11 @@ "Preferences.)" msgstr "" -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "" -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -4594,46 +4598,46 @@ "Please try closing some other applications first.\n" msgstr "" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "" -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" "%s%d%% done. Time remaining: %u sec%s\n" msgstr "" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" "%d/%d frames opened. Time remaining %u sec.\n" msgstr "" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" "%d/%d frames opened.\n" msgstr "" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" "%d frames opened.\n" msgstr "" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" "Time remaining: %d sec" msgstr "" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -4641,7 +4645,7 @@ "Please close a file and then try again." msgstr "" -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -4653,47 +4657,47 @@ "Please make sure you can write to this directory." msgstr "" -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 msgid "" "\n" "LiVES currently requires either 'mplayer', 'mplayer2', or 'sox' to function. " "Please install one or other of these, and try again.\n" msgstr "" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 msgid "" "\n" "This function requires either mplayer or mplayer2 to operate.\n" "You may wish to install one or other of these and try again.\n" msgstr "" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 msgid "" "\n" "This function requires either mplayer, mplayer2 or mpv to operate.\n" "You may wish to install one or other of these and try again.\n" msgstr "" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" "Or switch to another encoder format in Tools | Preferences | Encoding\n" msgstr "" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -4701,19 +4705,19 @@ "Please set the audio codec in Tools|Preferences|Encoding\n" msgstr "" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -4721,83 +4725,83 @@ "Due to restrictions in the %s format\n" msgstr "" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" msgstr "" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr "" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr "" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr "" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr "" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" msgstr "" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -4806,14 +4810,14 @@ "\n" msgstr "" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" "\n" msgstr "" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -4822,7 +4826,7 @@ "Try recording for just a selection of the file." msgstr "" -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -4833,7 +4837,7 @@ "Please press Cancel to abort the insert, or OK to continue." msgstr "" -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -4846,18 +4850,18 @@ "click Cancel." msgstr "" -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " "in your %s file" msgstr "" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -4868,25 +4872,25 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 msgid "" "Sorry, unknown audio type.\n" "\n" " (Filenames must end in" msgstr "" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" "(They will not be usable without the set).\n" msgstr "" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -4895,7 +4899,7 @@ "Click Cancel to pick a new name.\n" msgstr "" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -4903,7 +4907,7 @@ "." msgstr "" -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -4911,7 +4915,7 @@ "." msgstr "" -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -4922,7 +4926,7 @@ "Otherwise click Cancel to skip loading this file.\n" msgstr "" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -4932,7 +4936,7 @@ "The clip could not be loaded.\n" msgstr "" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -4940,7 +4944,7 @@ "Alternately, select a different audio player in Preferences.\n" msgstr "" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -4949,13 +4953,13 @@ "Automatic jack startup will be disabled now.\n" msgstr "" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" msgstr "" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -4966,13 +4970,13 @@ "%s\n" msgstr "" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" msgstr "" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -4982,7 +4986,7 @@ "It is recommended to increase it to at least %d MB" msgstr "" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -4991,7 +4995,7 @@ "Do you wish to delete them ?\n" msgstr "" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -4999,7 +5003,7 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -5007,81 +5011,81 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" msgstr "" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" msgstr "" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" "You can set this in Tools|Preferences|Playback." msgstr "" -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" "Should I try to repair the disk copy of the layout ?\n" msgstr "" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" msgstr "" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" "Audio rate must be greater than 0.\n" msgstr "" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5089,14 +5093,14 @@ "Are you sure you wish to view it ?\n" msgstr "" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" "You must install 'dvgrab' to use this function.\n" msgstr "" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5105,25 +5109,25 @@ "You may need to select one of these in Tools/Preferences/Playback.\n" msgstr "" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" msgstr "" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5132,33 +5136,33 @@ "echo %d > /proc/sys/net/core/rmem_max\n" msgstr "" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "tehtud.\n" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -5168,7 +5172,7 @@ "%s%s%s" msgstr "" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -5178,7 +5182,7 @@ "%s" msgstr "" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -5188,7 +5192,7 @@ "%s" msgstr "" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -5197,7 +5201,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -5207,7 +5211,7 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -5216,7 +5220,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -5226,12 +5230,12 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "" -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -5240,7 +5244,7 @@ "Please check your system for errors.\n" msgstr "" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -5249,7 +5253,7 @@ "Please check the file permissions and try again." msgstr "" -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -5258,7 +5262,7 @@ "Please check the directory permissions and try again." msgstr "" -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, c-format msgid "" "\n" @@ -5266,14 +5270,14 @@ "%s\n" msgstr "" -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -5281,13 +5285,13 @@ "Please select another encoder from the list.\n" msgstr "" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" msgstr "" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -5297,27 +5301,27 @@ "- Check if the device actually exists.\n" msgstr "" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" "Do you wish to overwrite the existing subtitles ?\n" msgstr "" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 msgid "" "\n" "LiVES currently only supports subtitles of type" msgstr "" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -5326,14 +5330,14 @@ "or OK to continue and save as type \"%s\"\n" msgstr "" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" "(If unsure, click Yes)\n" msgstr "" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -5344,19 +5348,19 @@ "." msgstr "" -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" msgstr "" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" msgstr "" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -5364,7 +5368,7 @@ "DO NOT SHUT DOWN OR CLOSE LIVES !\n" msgstr "" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, c-format msgid "" "\n" @@ -5372,14 +5376,14 @@ "The theme could not be loaded correctly.\n" msgstr "" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" "Please check the spelling of the set name and try again.\n" msgstr "" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -5388,7 +5392,7 @@ "directory. Would you like me to do this (recommended) ?" msgstr "" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -5400,7 +5404,7 @@ msgstr "" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -5409,38 +5413,38 @@ "\n" msgstr "" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" "Consult your package distributor.\n" msgstr "" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" msgstr "" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, c-format msgid "" "\n" @@ -5449,7 +5453,7 @@ "(Theme name not found).\n" msgstr "" -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -5458,7 +5462,7 @@ "already exists. Would you like to overwrite it ?\n" msgstr "" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -5599,7 +5603,7 @@ msgid "Video only Transitions" msgstr "" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "" @@ -5607,7 +5611,7 @@ msgid "Audio only Transitions" msgstr "" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "audio" @@ -5651,7 +5655,7 @@ msgid "Audio Analysers" msgstr "" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "teadmata" @@ -5706,358 +5710,358 @@ "No frames were generated.\n" msgstr "" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 msgid "Invalid element" msgstr "" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 msgid "Invalid property" msgstr "" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 msgid "Invalid plugin" msgstr "" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 #, fuzzy msgid "No error" msgstr "$error" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 msgid "integer" msgstr "" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 msgid "string" msgstr "" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 msgid "pointer" msgstr "" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" "Error was: %s\n" msgstr "" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr "" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, c-format msgid "Successfully loaded %d compound filters\n" msgstr "" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, c-format msgid "Failed to start generator %s (%s)\n" msgstr "" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 msgid "Autoscale" msgstr "" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 #, fuzzy msgid "Delete this connection" msgstr "_Kustuta valik" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, c-format msgid "%s - Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, c-format msgid "%s - Parameter Data Connections" msgstr "" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 msgid "Parameter and Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 msgid "Auto Connect Channels" msgstr "" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 msgid "Auto Connect Parameters" msgstr "" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "" -#: src/framedraw.c:241 +#: src/framedraw.c:242 msgid "_Frame" msgstr "" @@ -6101,40 +6105,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "_Laius" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "_Kõrgus" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "" -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -6200,32 +6204,32 @@ "\n" msgstr "" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "" -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -6234,7 +6238,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -6244,31 +6248,31 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" "Error was: %s\n" msgstr "" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " "***\n" msgstr "" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -6277,7 +6281,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -6286,7 +6290,7 @@ "or switch to another plugin using Tools|Preferences|Encoding\n" msgstr "" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, c-format msgid "" "\n" @@ -6294,12 +6298,12 @@ "No decoders found in %s !\n" msgstr "" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, fuzzy, c-format msgid " using %s" msgstr "Avamine %s" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -6308,7 +6312,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -6318,24 +6322,24 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "" -#: src/plugins.c:2556 +#: src/plugins.c:2550 msgid "Decoder Plugins" msgstr "" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "" @@ -6534,20 +6538,20 @@ msgid "Move _Down" msgstr "Liiguta _alla" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 #, fuzzy msgid "RFX Properties" msgstr "_Omadused..." -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -6556,7 +6560,7 @@ "\n" msgstr "" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -6564,219 +6568,219 @@ "Please check the trigger code.\n" msgstr "" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 msgid "New RFX Parameter" msgstr "" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 msgid "Edit RFX Parameter" msgstr "" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "" -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "" -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "" -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." msgstr "" -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "" -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "" -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "" -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "" -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "" -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "" -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "" -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "" -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "" -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr "" -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "" -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 msgid "_Wrap value" msgstr "" -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "" -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "" -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "" -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "" -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "" -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 msgid "New RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 msgid "Edit RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "" -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "" -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "" -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "" -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "" -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "" -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "" -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 msgid "New RFX Trigger" msgstr "" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 msgid "Edit RFX Trigger" msgstr "" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "" -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 msgid "Pre Loop Code" msgstr "" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 msgid "Loop Code" msgstr "" -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 msgid "Post Loop Code" msgstr "" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, c-format msgid "Default text (max length %d)" msgstr "" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 msgid "Enter values, one per line" msgstr "" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" "Name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" "Name must not contain spaces.\n" msgstr "" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" "Menu text must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" "Action description must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" "Author must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -6784,28 +6788,28 @@ "Name must be unique.\n" msgstr "" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" "Loop code should not be blank.\n" msgstr "" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" "Trigger code should not be blank for a utility.\n" msgstr "" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" "Parameter name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -6814,41 +6818,41 @@ "\n" msgstr "" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "" -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -6858,27 +6862,27 @@ "\n" msgstr "" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "" -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "" -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "" -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "" -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -6887,7 +6891,7 @@ "Please check this program is in your path and executable.\n" msgstr "" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -6897,12 +6901,12 @@ "\n" msgstr "" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "" -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -6912,7 +6916,7 @@ "Error code was %d\n" msgstr "" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -6922,12 +6926,12 @@ "Please delete it first, or rename the test script.\n" msgstr "" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "" -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -6938,20 +6942,20 @@ "Return code was %d (%s)\n" msgstr "" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 msgid "Export Script" msgstr "" -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "" -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 msgid "Import Script" msgstr "" -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -6961,43 +6965,43 @@ "Please delete it first, or rename the import script.\n" msgstr "" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 msgid "Copy RFX Script" msgstr "" -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "" -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr "" -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 msgid "Rename Test RFX Script" msgstr "" -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "" -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 msgid "RFX Script Name" msgstr "" -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "" -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "" -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "" -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -7005,12 +7009,12 @@ "Script name must be unique.\n" msgstr "" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "" -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -7021,25 +7025,25 @@ "Return code was %d\n" msgstr "" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 msgid "Applying Current Real Time Effects to" msgstr "" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "" -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "" -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -7047,7 +7051,7 @@ "full screen, separate window (fs) mode\n" msgstr "" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -7055,7 +7059,7 @@ "(Free space = UNKNOWN)" msgstr "" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -7064,14 +7068,14 @@ "(Free space = %s)" msgstr "" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" "It should be in a partition with plenty of free disk space.\n" msgstr "" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7082,7 +7086,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7092,7 +7096,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1193 +#: src/preferences.c:1163 msgid "" "You have chosen to change the working directory.\n" "Please make sure you have no other copies of LiVES open.\n" @@ -7104,7 +7108,7 @@ "setting." msgstr "" -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, c-format msgid "" "\n" @@ -7113,13 +7117,13 @@ "See %s\n" msgstr "" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" msgstr "" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, c-format msgid "" "\n" @@ -7128,917 +7132,917 @@ "See %s\n" msgstr "" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "" -#: src/preferences.c:2468 +#: src/preferences.c:2418 msgid "Preferences" msgstr "" -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "" -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr "" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr "" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." msgstr "" -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "GUI" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr "" -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "sekundid" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "_Mitte kunagi" -#: src/preferences.c:2872 +#: src/preferences.c:2757 msgid "Maximum number of visible tracks" msgstr "" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "" -#: src/preferences.c:2925 +#: src/preferences.c:2804 msgid "Video open command (fallback)" msgstr "" -#: src/preferences.c:2935 +#: src/preferences.c:2811 msgid "Fallback image format" msgstr "" -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "_jpeg" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "_png" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "" -#: src/preferences.c:2964 +#: src/preferences.c:2832 msgid "Open/render compression" msgstr "" -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr "" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "" -#: src/preferences.c:2995 +#: src/preferences.c:2856 msgid "Automatic trimming / padding of audio when possible" msgstr "" -#: src/preferences.c:2997 +#: src/preferences.c:2858 msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "VIDEO" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "" -#: src/preferences.c:3269 +#: src/preferences.c:3110 msgid "Source:" msgstr "" -#: src/preferences.c:3273 +#: src/preferences.c:3114 msgid "_Internal" msgstr "" -#: src/preferences.c:3278 +#: src/preferences.c:3119 msgid "_External (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "Taasesitus" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" msgstr "" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr "" -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "Salvestamine" -#: src/preferences.c:3454 +#: src/preferences.c:3273 msgid "You can also change these values when encoding a clip" msgstr "" -#: src/preferences.c:3466 +#: src/preferences.c:3285 msgid "Encoder" msgstr "" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "Väljundi vorming" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "Kodeering" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." msgstr "" -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr "" -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr "" -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr "" -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr "" -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr "" -#: src/preferences.c:3649 +#: src/preferences.c:3461 msgid " Working directory (do not remove) " msgstr "" -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "" -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "" -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "Kataloogid" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "" -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr "" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "" -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" msgstr "" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "" -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr " MB" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "" -#: src/preferences.c:3872 +#: src/preferences.c:3659 msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " "when LiVES is started." msgstr "" -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "" -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "" -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "" -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "" -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "" -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "" -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "" -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "" -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "" -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "" -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "" -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "" -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "" -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "" -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." msgstr "" -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "" -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "" -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "" -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "" -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "" -#: src/preferences.c:4113 +#: src/preferences.c:3865 msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "" -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "Hoiatused" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "" -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "" -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "" -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "Muud" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "" -#: src/preferences.c:4242 +#: src/preferences.c:3977 msgid "Main Theme Details" msgstr "" -#: src/preferences.c:4254 +#: src/preferences.c:3988 #, fuzzy msgid " _Foreground Color" msgstr "_Alusta" -#: src/preferences.c:4273 +#: src/preferences.c:4007 #, fuzzy msgid " _Background Color" msgstr "_Alusta" -#: src/preferences.c:4291 +#: src/preferences.c:4026 #, fuzzy msgid "_Alt Foreground Color" msgstr "_Alusta" -#: src/preferences.c:4309 +#: src/preferences.c:4044 #, fuzzy msgid "_Alt Background Color" msgstr "_Alusta" -#: src/preferences.c:4327 +#: src/preferences.c:4062 msgid " Info _Text Color" msgstr "" -#: src/preferences.c:4346 +#: src/preferences.c:4081 msgid " Info _Base Color" msgstr "" -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "" -#: src/preferences.c:4365 +#: src/preferences.c:4100 msgid "Affects some contrast details of the timeline" msgstr "" -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "" -#: src/preferences.c:4398 +#: src/preferences.c:4132 #, fuzzy msgid "Frame blank image" msgstr "kaadrit" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "" -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4474 +#: src/preferences.c:4203 msgid "Track background (multitrack)" msgstr "" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "" -#: src/preferences.c:4529 +#: src/preferences.c:4258 msgid "Timeline selection (multitrack)" msgstr "" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "" -#: src/preferences.c:4553 +#: src/preferences.c:4282 msgid "Timecode foreground (multitrack)" msgstr "" -#: src/preferences.c:4565 +#: src/preferences.c:4293 #, fuzzy msgid "Frame surround" msgstr "sekundid" -#: src/preferences.c:4582 +#: src/preferences.c:4306 #, fuzzy msgid "Themes/Colors" msgstr "Teemad" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "" -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "" -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" msgstr "" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" msgstr "" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "" -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "Muu" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." msgstr "" -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "" -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -8046,41 +8050,41 @@ "Click OK to continue.\n" msgstr "" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." msgstr "" -#: src/preferences.c:5525 +#: src/preferences.c:5205 msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "" -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "" -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "" @@ -8103,155 +8107,155 @@ msgid "Resample/Resize" msgstr "" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" "New rate must be greater than 0\n" msgstr "" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "" -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "" -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "" -#: src/resample.c:1208 +#: src/resample.c:1209 msgid "New Clip Audio" msgstr "" -#: src/resample.c:1210 +#: src/resample.c:1211 msgid "External Clip Settings" msgstr "" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "Päevakajaline" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "" -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 msgid "Channels" msgstr "" -#: src/resample.c:1256 +#: src/resample.c:1257 msgid "Sample Size " msgstr "" -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "" -#: src/resample.c:1322 +#: src/resample.c:1323 #, fuzzy msgid "New Audio Details" msgstr "Näita _detailisi" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "Uus" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "" -#: src/resample.c:1369 +#: src/resample.c:1370 msgid "_Channels" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "_Sample Size" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "Sample Size" msgstr "" -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "" -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "" -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr "" -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr "" -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr "" -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "Pealkirjata" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "" -#: src/resample.c:1635 +#: src/resample.c:1636 msgid "Change Playback Speed" msgstr "" -#: src/resample.c:1637 +#: src/resample.c:1638 msgid "Resample Video" msgstr "" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -8262,7 +8266,7 @@ "in _frames per second" msgstr "" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -8273,80 +8277,80 @@ "in frames per second" msgstr "" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" "LiVES was unable to reorder the frames." msgstr "" -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "" @@ -8576,7 +8580,7 @@ msgid "Mode active" msgstr "" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "Andmed" @@ -8698,54 +8702,54 @@ msgid "Opened firewire card %d" msgstr "" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, c-format msgid "%s : parameters for %s" msgstr "" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." msgstr "" -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -8754,7 +8758,7 @@ "right or double clicking on it.\n" msgstr "" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -8762,14 +8766,14 @@ "Select an effect in FX stack first to view its parameters.\n" msgstr "" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" "No clips loaded.\n" msgstr "" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -8779,7 +8783,7 @@ "before inserting clips into the timeline." msgstr "" -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -8788,188 +8792,188 @@ "to apply compositors.\n" msgstr "" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" msgstr "" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" msgstr "" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr "" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 #, fuzzy msgid "Selected Clip" msgstr "_Valik" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 msgid "_Adjust Start and End Points" msgstr "" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 msgid "_Edit/Encode in Clip Editor" msgstr "" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 #, fuzzy msgid "_Show Clip Information" msgstr "fps_ratio" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 msgid "_Close this Clip" msgstr "" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 msgid "Audio Mixer (ctrl-m)" msgstr "" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "" -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "" -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "" -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "" -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "" -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "" -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "" -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "" -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "" -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "" -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "" -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " "audio rate %d, audio sample size %d, %s.\n" msgstr "" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -8979,7 +8983,7 @@ "then load in the new set from the File menu.\n" msgstr "" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -8987,604 +8991,604 @@ "It cannot be loaded.\n" msgstr "" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "" -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "" -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "" -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "" -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 #, fuzzy msgid "_Close the Selected Clip" msgstr "_Valik" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 msgid "_Save Layout as..." msgstr "" -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 msgid "_Load Layout..." msgstr "" -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 msgid "_Wipe/Delete Layout..." msgstr "" -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "" -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 msgid "Auto Load _Subtitles with Clips" msgstr "" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 msgid "_Adjust Selected Clip Start/End Points" msgstr "" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 #, fuzzy msgid "_Insert Selected Clip Audio" msgstr "_Pööra valik" -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 #, fuzzy msgid "_Delete Selected Block" msgstr "_Kustuta valik" -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 msgid "_Jump to Previous Block Boundary" msgstr "" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 msgid "_Jump to Next Block Boundary" msgstr "" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 msgid "Clear _Marks from Timeline" msgstr "" -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 msgid "Ignore Selection Limits when Inserting" msgstr "" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 msgid "Pla_y Selected Time Only" msgstr "" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 msgid "_Move Effects with Blocks" msgstr "" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 msgid "Select _Autotransition Effect..." msgstr "" -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 msgid "Crossfade Audio with Autotransition" msgstr "" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 msgid "View/_Edit Selected Effect" msgstr "" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 #, fuzzy msgid "_Delete Selected Effect" msgstr "_Kustuta valik" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 msgid "Apply Effect to _Block..." msgstr "" -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 msgid "Apply Effect to _Region..." msgstr "" -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 msgid "Make _Backing Audio Current Track" msgstr "" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 msgid "_Split Current Track at Cursor" msgstr "" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 msgid "_Split Selected Video Tracks" msgstr "" -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 msgid "Insert Gap in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 msgid "Insert Gap in Current Track/Selected Time" msgstr "" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 msgid "Close All _Gaps in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "_Valik" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 msgid "Select _All Video Tracks" msgstr "" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 msgid "Select _No Video Tracks" msgstr "" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 #, fuzzy msgid "Select All _Time" msgstr "_Valik" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 msgid "Select from _Zero Time" msgstr "" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 #, fuzzy msgid "Select to _End Time" msgstr "_Alusta" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "_Kopeeri..." -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 msgid "_Timecode to Region Start" msgstr "" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 msgid "_Timecode to Region End" msgstr "" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 msgid "_Region Start to Timecode" msgstr "" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 msgid "_Region End to Timecode" msgstr "" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 msgid "Select/Deselect Block at Current Track/Time" msgstr "" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 msgid "_Change Width, Height and Audio Values..." msgstr "" -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "_Genereerimine" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 msgid "_Render All to New Clip" msgstr "" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 #, fuzzy msgid "Render _Video" msgstr "_Genereerimine" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 #, fuzzy msgid "Render _Audio" msgstr "Hajumine" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 msgid "_Normalise Rendered Audio" msgstr "" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 msgid "_Pre-render Audio" msgstr "" -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "_Vaade" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 msgid "Block _In/Out Points" msgstr "" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 msgid "_Effects at Current" msgstr "" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 #, fuzzy msgid "Audio Parameters" msgstr "Raamid" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 msgid "Show Backing _Audio Track" msgstr "" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 #, fuzzy msgid "Compact View" msgstr "Tihe vaade" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 msgid "Maximum Tracks to Display..." msgstr "" -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 msgid "Scroll to Follow Playback" msgstr "" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 msgid "_Center on Cursor" msgstr "" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 msgid "_Zoom In" msgstr "" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 msgid "_Zoom Out" msgstr "" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 msgid "Multitrack _Details" msgstr "" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 msgid "_Show FRAME Events" msgstr "" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 msgid "_Show Multitrack Keys" msgstr "" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 msgid "Insert With _Audio" msgstr "" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 #, fuzzy msgid "Select _Overlap" msgstr "_Valik" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" msgstr "" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 msgid "Mouse Mode: _Move" msgstr "" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 msgid "Mouse Mode: _Select" msgstr "" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 msgid "Insert Mode: _Normal" msgstr "" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "_Rakenda" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "" -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "" -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "Kerib" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" "Switched to Clip Edit mode\n" msgstr "" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr "" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr "" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr " %s" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 msgid "Selected Effect" msgstr "" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 msgid "_View/Edit this Effect" msgstr "" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 msgid "_View this Effect" msgstr "" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 #, fuzzy msgid "_Delete this Effect" msgstr "_Kustuta valik" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr "" -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "" -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" "Switched to Multitrack mode\n" msgstr "" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" "Nodes can be deleted." msgstr "" -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "%s kuni %s" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -9592,284 +9596,284 @@ "current time.\n" msgstr "" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." msgstr "" -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 msgid "Selected Block/Frame" msgstr "" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 #, fuzzy msgid "_Select this Block" msgstr "_Kustuta valik" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 msgid "_Split Block Here" msgstr "" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 msgid "List _Effects Here" msgstr "" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 #, fuzzy msgid "_Delete this Block" msgstr "_Kustuta valik" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 #, fuzzy msgid "_Insert Here" msgstr "Lisa" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 msgid "_Insert Audio Here" msgstr "" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" msgstr "" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "Puhastamine..." -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "_Peata" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " "to %.4f\n" msgstr "" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" "selected.\n" msgstr "" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" msgstr "" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." msgstr "" -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." msgstr "" -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." msgstr "" -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" msgstr "" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" msgstr "" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" msgstr "" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "" -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "" -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" msgstr "" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 msgid "Saving layout" msgstr "" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "kaadrit" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" msgstr "" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -9877,74 +9881,74 @@ "Therefore it could not be loaded properly.\n" msgstr "" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" "Unable to load layout file %s\n" msgstr "" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "" -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "" -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 msgid "" "The current layout has changes which have not been saved.\n" "Are you sure you wish to wipe it ?\n" msgstr "" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 msgid "Multitrack Audio Mixer" msgstr "" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" msgstr "" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "" @@ -9970,7 +9974,7 @@ "Connection to jack audio was reset.\n" msgstr "" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -9978,7 +9982,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -9986,7 +9990,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:104 +#: src/pulse.c:105 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -9994,27 +9998,27 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" msgstr "" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" msgstr "" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr ""
View file
LiVES-2.8.4.tar.bz2/po/fi.po -> LiVES-2.8.6.tar.bz2/po/fi.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: lives\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" "PO-Revision-Date: 2013-03-14 12:31+0000\n" "Last-Translator: Launchpad Translations Administrators <Unknown>\n" "Language-Team: Finnish <fi@li.org>\n" @@ -18,7 +18,7 @@ "X-Launchpad-Export-Date: 2013-03-28 10:42+0000\n" "X-Generator: Launchpad (build 16546)\n" -#: src/main.c:132 +#: src/main.c:125 #, fuzzy msgid "" "Attention Translators !\n" @@ -33,22 +33,22 @@ "All translators should read the LiVES translation notes at\n" "http://lives.sourceforge.net/TRANS-README.txt" -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "" -#: src/main.c:203 +#: src/main.c:197 #, fuzzy, c-format msgid "" "\n" @@ -63,7 +63,7 @@ "Kiitos. Palautumisen tulisi olla mahdollista uudelleen käynnistäessäsi " "ohjelman.\n" -#: src/main.c:205 +#: src/main.c:199 #, fuzzy, c-format msgid "" "\n" @@ -76,7 +76,7 @@ "Raportoidessasi kaatumisista, sisällytä käyttöjärjestelmän tiedot, " "jakeluversio ja LiVESin versiotiedot (" -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" @@ -84,7 +84,7 @@ "ja alla olevat tiedot:\n" "\n" -#: src/main.c:210 +#: src/main.c:204 #, fuzzy msgid "" "Please try running LiVES with the -debug option to collect more " @@ -95,7 +95,7 @@ "lisätietoja.\n" "\n" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" @@ -105,90 +105,90 @@ "lisätietoja.\n" "\n" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "Säilytetään leikesarja.\n" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "Mikä tahansa" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "Ei mitään" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "suositeltu" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "kytketty pois päältä!" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "**Nykyinen asettelu**" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "Mukauta" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "Kokeile" -#: src/main.c:474 +#: src/main.c:460 #, fuzzy msgid "LiVES: - " msgstr "LiVES: - Lisäys" -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "Koon muutos" -#: src/main.c:731 +#: src/main.c:708 #, fuzzy msgid "_Resize All Frames..." msgstr "Muuta kaikkien kuvien k_okoa" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "" -#: src/main.c:1122 +#: src/main.c:1094 #, fuzzy msgid "Background" msgstr "P_imennä tausta" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "Ladataan reaaliaikaiset tehosteliitännäiset..." -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "Käynnistetään jack-äänipalvelin..." -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "Käynnistetään jack-välityspalvelin..." -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "Yhdistetään jack-välityspalvelimeen..." -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -200,35 +200,35 @@ "Alternatively, try to start lives with either \"lives -jackopts 16\", or " msgstr "" -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "Käynnistetään pulse audio -palvelin..." -#: src/main.c:1855 +#: src/main.c:1813 #, fuzzy, c-format msgid "%s...detected... " msgstr "mplayer...havaittu..." -#: src/main.c:1856 +#: src/main.c:1814 #, fuzzy, c-format msgid "%s...NOT DETECTED... " msgstr "mplayer...EI HAVAITTU..." -#: src/main.c:1867 +#: src/main.c:1824 #, fuzzy msgid "Checking optional dependencies: " msgstr "Tarkistetaan valinnaiset riippuvuudet:" -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "TUNTEMATON - ole hyvä ja korjaa minut !" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -239,53 +239,53 @@ "\n" "Ikkunointiohjelma ilmoitti olevansa \"%s\"; " -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "näyttöjä löydetty: %d\n" -#: src/main.c:1901 +#: src/main.c:1863 #, c-format msgid "Number of CPUs detected: %d " msgstr "" -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "" -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1927 +#: src/main.c:1889 #, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr "" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "Tilapäishakemisto on %s\n" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" @@ -295,15 +295,15 @@ "jack- tai pulse audio -tukea.\n" "Jotkut ääniominaisuudet eivät ole käytettävissä.\n" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "Käännetty jack-tuella, hienoa!\n" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "Käännetty pulse audio -tuella, loistavaa!\n" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" @@ -312,7 +312,7 @@ "Tervetuloa LiVES-versioon %s.\n" "\n" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" @@ -322,91 +322,91 @@ "Käynnistyssyntaksi on: %s [valitsimet] [tiedostonimi [aloitusaika] " "[kehykset]]\n" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "" "Missä: tiedostonimi on mediatiedoston tai varmuuskopiotiedoston nimi.\n" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "aloitusaika : tiedostonnimen aloitusaika sekunteina\n" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "kehykset : avattavien kehysten enimmäismäärä\n" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "valitsimia voivat olla:\n" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "-help : näytä tämä ohjeteksti ja poistu\n" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "-set <leikenimi> : lataa automaattisesti leikesarja leikenimi\n" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "-noset : älä lataa leikesarjoja käynnistäessä\n" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "-recover : voimaan lastaus kaatua hyödyntämistä\n" -#: src/main.c:2593 +#: src/main.c:2545 msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "-nogui : käynnistä ilman käyttöliittymää\n" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "-startup-ce : alkaa clip editori-tilassa\n" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "-startum-mt : alkaa moniraitaäänityksen tilassa\n" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" msgstr "" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "-oscstart <portti> : käynnistä OSC-kuuntelin UDP-portissa <portti>\n" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "-nooscstart : älä käynnistä OSC-kuuntelinta\n" -#: src/main.c:2605 +#: src/main.c:2557 #, fuzzy msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " @@ -415,46 +415,46 @@ "-aplayer <ap> : käynnistä valitulla äänisoittimella. <ap> voi olla mplayer" #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr ", pulse" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr ", sox tai jack\n" -#: src/main.c:2613 +#: src/main.c:2565 msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " "transport client,2 = jack transport master, 4 = start jack transport server, " "8 = pause audio when video paused,16 = start jack audio server] \n" msgstr "" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr " tai sox\n" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "-devicemap <kartan nimi> : automaattisesti Kontti kartta\n" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" msgstr "" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "" "-debug : yritä jäljittää kaatumisen aiheuttavaa vikaa (\"gdb\" " "oltava asennettuna)\n" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "Käynnistetään graafinen käyttöliittymä..." -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -465,7 +465,7 @@ "(Maybe you need to change the value of <prefix_dir> in your %s file)\n" msgstr "" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -473,7 +473,7 @@ "Please make sure you have write access to %s and try again.\n" msgstr "" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -482,7 +482,7 @@ "before running LiVES.\n" msgstr "" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -492,7 +492,7 @@ "Please check the file permissions for this file and try again.\n" msgstr "" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -503,7 +503,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -511,7 +511,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2737 +#: src/main.c:2689 #, fuzzy, c-format msgid "" "\n" @@ -526,7 +526,7 @@ "\n" "%s" -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -537,21 +537,21 @@ "Thankyou.\n" msgstr "" -#: src/main.c:2751 +#: src/main.c:2703 msgid "" "\n" "LiVES currently requires 'mplayer', 'mplayer2' or 'sox' to function. Please " "install one or other of these, and try again.\n" msgstr "" -#: src/main.c:2756 +#: src/main.c:2708 msgid "" "\n" "LiVES currently requires both 'mplayer' or 'mplayer2' and 'sox' to function. " "Please install these, and try again.\n" msgstr "" -#: src/main.c:2769 +#: src/main.c:2721 #, fuzzy msgid "" "\n" @@ -562,7 +562,7 @@ "LiVES ei löytänyt ohjelmaa \"mplayer\". Asenna mplayer jos haluat käyttää \n" "LiVESiä täysipainoisesti.\n" -#: src/main.c:2775 +#: src/main.c:2727 #, fuzzy msgid "" "\n" @@ -573,7 +573,7 @@ "LiVES ei löytänyt ohjelmaa \"mplayer\". Asenna mplayer jos haluat käyttää \n" "LiVESiä täysipainoisesti.\n" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" @@ -583,7 +583,7 @@ "LiVES ei löytänyt \"convert\"-ohjelmaa. Asenna convert ja image-magick jos " "haluat käyttää hahmonnettuja tehosteita.\n" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " @@ -593,7 +593,7 @@ "LiVES ei löytänyt \"composite\"-ohjelmaa. Asenna composite ja image-magick " "jos haluat käyttää yhdistä-toimintoa.\n" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " @@ -603,7 +603,7 @@ "LiVES ei löytänyt ohjelmaa 'sox'. Jotkin ääniominaisuudet eivät välttämättä " "toimi. Sinun tulisi asentaa 'sox'.\n" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -614,63 +614,63 @@ "You may need to change the value of <lib_dir> in %s\n" msgstr "" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "Ladataan hahmonnetut tehosteliitännäiset..." -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "Ladataan automaattisesti leikesarja %s..." #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "LiVES" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "Virheellinen musiikkisoitin %s\n" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <Nimetön%d> %dx%d : %d kuvaa %d bpp %.3f fps" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : ??? kuvaa ??? bpp %.3f fps" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : %d kuvaa %d bpp %.3f fps" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "LiVES-%s: <Ei tiedostoa>" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "rec %9d/%d" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "Toista" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" @@ -678,34 +678,34 @@ "LiVES ei pystynyt kaappaamaan tätä kuvaa\n" "\n" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "Tiedosto %s suljettiin\n" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "Kum_oa" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "_Tee uudestaan" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "Video" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "Vasen ääni" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "Oikea ääni" -#: src/main.c:7078 +#: src/main.c:6973 msgid "" "\n" "\n" @@ -890,7 +890,7 @@ msgid "Use _mplayer2 audio player" msgstr "Käytä _mplayer-äänisoitinta" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "_Seuraava" @@ -1111,55 +1111,55 @@ msgid "_Finish" msgstr "_Valmis" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "Anna LiVESin asettaa _tiedostomääre" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "" -#: src/interface.c:46 +#: src/interface.c:42 msgid "Apply _Deinterlace" msgstr "" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "" -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "Esikatselu" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "" "Napsauta tästä esi_katsellaksesi mitä tahansa valittua video-, kuva- tai " "äänitiedostoa" -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "Napsauta tästä esi_kuunnellaksesi valittua äänitiedostoa" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "Klikkaa tästä _Esikatselu video" -#: src/interface.c:122 +#: src/interface.c:113 #, fuzzy msgid "Click here to _Preview the file" msgstr "Klikkaa tästä _Esikatselu video" -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 #, fuzzy msgid "Processing..." msgstr "LiVES: - Käsitellään..." -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1173,8 +1173,8 @@ "\n" "Muista poistaa tehosteet käytöstä (ctrl-0) myöhemmin!" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" @@ -1182,174 +1182,179 @@ "\n" "Odota hetki" -#: src/interface.c:221 +#: src/interface.c:206 msgid "Show Details" msgstr "" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "_Riittää jo" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "_Esikatselu" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "_Peruuta" -#: src/interface.c:334 +#: src/interface.c:324 #, fuzzy msgid "Multitrack Details" msgstr "_Multitrack-tiedot" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "Formaatti" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "Kuvakoko" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "Tiedostokoko" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "Tavukoko" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "FPS" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "Kuvia" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "Tapahtumat" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "Kokonaisaika" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "Ääni" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "" -#: src/interface.c:568 +#: src/interface.c:590 #, fuzzy msgid "Encoding Options" msgstr "Pakkaus" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." msgstr "" -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "Pidä _Omat asetukset" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "Käytä _suositeltuja asetuksia" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "_Sulje ikkuna" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "_Tallenna tiedoston" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "Lisäys" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "_Lisäyskertojen määrä" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "Lisää valinnan _eteen" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "Lisää leikepöydän sisältö valittujen kuvien eteen" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "Lisää valinnan _perään" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "Lisää leikepöydän sisältö valittujen kuvien perään" -#: src/interface.c:833 +#: src/interface.c:846 +#, fuzzy +msgid "Insert _with silence" +msgstr "Lisää äänen _kanssa" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "Lisää äänen _kanssa" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "Lisää _ilman ääntä" -#: src/interface.c:924 +#: src/interface.c:937 #, fuzzy msgid "Open Selection" msgstr "_Kopioi valinta" -#: src/interface.c:943 +#: src/interface.c:954 msgid "Selection start time (sec)" msgstr "" -#: src/interface.c:949 +#: src/interface.c:960 msgid "Number of frames to open" msgstr "" -#: src/interface.c:1023 +#: src/interface.c:1029 #, fuzzy msgid "Open Location" msgstr "LiVES: - Avaa sijainti" -#: src/interface.c:1025 +#: src/interface.c:1031 msgid "Open Youtube Clip" msgstr "" -#: src/interface.c:1045 +#: src/interface.c:1050 msgid "" "\n" "\n" @@ -1359,7 +1364,7 @@ "\n" msgstr "" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1368,71 +1373,71 @@ "\n" msgstr "" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "URL : " -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "" -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "Älä lähetä kaistanleveystietoja" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "" -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "" -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "" -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr "" -#: src/interface.c:1188 +#: src/interface.c:1189 #, fuzzy msgid "Rename Clip" msgstr "Kierrä leikettä" -#: src/interface.c:1190 +#: src/interface.c:1191 #, fuzzy msgid "Enter Set Name to Save as" msgstr "LiVES: - Nimeä leikesarja" -#: src/interface.c:1192 +#: src/interface.c:1193 #, fuzzy msgid "Enter a Set Name to Reload" msgstr "LiVES: - Nimeä leikesarja" -#: src/interface.c:1194 +#: src/interface.c:1195 #, fuzzy msgid "Choose a Working Directory" msgstr "LiVES: - Valitse työkansio" -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 msgid "Rename Current Track" msgstr "" -#: src/interface.c:1198 +#: src/interface.c:1199 #, fuzzy msgid "Enter a Name for Your Theme" msgstr "LiVES: - Nimeä leikesarja" -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1440,7 +1445,7 @@ "LiVES will remind you to save the clip set later when you try to exit.\n" msgstr "" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1460,216 +1465,216 @@ "This should be a directory with plenty of disk space available.\n" msgstr "" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "Uusi nimi " -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "Leikesarjan nimi " -#: src/interface.c:1257 +#: src/interface.c:1255 #, fuzzy msgid "Theme name " msgstr "Uusi nimi " -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "L_isäasetukset" -#: src/interface.c:1437 +#: src/interface.c:1425 msgid "Select input device" msgstr "" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "" -#: src/interface.c:1517 +#: src/interface.c:1505 #, fuzzy msgid "Load CD Track" msgstr "Lataa _CD-kappale..." -#: src/interface.c:1519 +#: src/interface.c:1507 msgid "Select DVD Title/Chapter" msgstr "" -#: src/interface.c:1521 +#: src/interface.c:1509 msgid "Select VCD Title" msgstr "" -#: src/interface.c:1523 +#: src/interface.c:1511 msgid "Change Maximum Visible Tracks" msgstr "" -#: src/interface.c:1525 +#: src/interface.c:1513 #, fuzzy msgid "Device details" msgstr "LiVES:- Laitteen tiedot" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "Laite: /dev/video" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "Laite: fw:" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "" -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "Kanava " -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "" -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "Leveys" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "Korkeus" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "" -#: src/interface.c:1815 +#: src/interface.c:1778 #, fuzzy msgid "Fade Audio In" msgstr "Tee _alkuhäivytys..." -#: src/interface.c:1817 +#: src/interface.c:1780 #, fuzzy msgid "Fade Audio Out" msgstr "Tee _loppuhäivytys..." -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "Häivytä alusta " -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "ensimmäiset" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "Häivytä lopusta " -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "viimeiset" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "sekuntia." -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "valinta" -#: src/interface.c:1909 +#: src/interface.c:1865 #, fuzzy msgid " (Optional)" msgstr "LiVES: - Tiedoston kommentit (valinnainen)" -#: src/interface.c:1912 +#: src/interface.c:1868 #, fuzzy, c-format msgid "File Comments%s" msgstr "LiVES: - Tiedoston kommentit (valinnainen)" -#: src/interface.c:1927 +#: src/interface.c:1882 #, fuzzy, c-format msgid "File Name: %s" msgstr "Otsikko/Nimi : " -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "Otsikko/Nimi : " -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "Tekijä/esittäjä : " -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "Kommentit : " -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "Tekstitystiedosto" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "" -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "" -#: src/interface.c:2109 +#: src/interface.c:2058 #, c-format msgid "%sChoose a Device" msgstr "" -#: src/interface.c:2112 +#: src/interface.c:2061 #, fuzzy, c-format msgid "%sChoose a Directory" msgstr "LiVES: - Valitse työkansio" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" @@ -1679,7 +1684,7 @@ "Nykyistä asettelua ei ole tallennettu.\n" "Mitä haluat tehdä?\n" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" @@ -1689,7 +1694,7 @@ "Nykyistä asettelua on muutettu viime tallennuksen jälkeen.\n" "Mitä haluat tehdä?\n" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" @@ -1699,7 +1704,7 @@ "Nykyinen leikesarja voidaan tallentaa.\n" "Mitä haluat tehdä?\n" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" @@ -1707,7 +1712,7 @@ "Nykyistä leikesarjaa ei ole tallennettu.\n" "Mitä haluat tehdä?\n" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" @@ -1715,7 +1720,7 @@ "Nykyistä asettelua ei ole tallennettu.\n" "Mitä haluat tehdä?\n" -#: src/interface.c:2410 +#: src/interface.c:2341 #, fuzzy msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" @@ -1724,51 +1729,51 @@ "Nykyistä asettelua ei ole tallennettu.\n" "Mitä haluat tehdä?\n" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" "What do you wish to do ?" msgstr "" -#: src/interface.c:2417 +#: src/interface.c:2348 #, fuzzy msgid "Cancel/Discard/Save" msgstr "LiVES: - Peru/Hylkää/Tallenna" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "Leikesarjan _nimi" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "Lataa _automaattisesti uudelleen seuraavalla kerralla" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "_Poista asettelu" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "_Hylkää muutokset" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "_Poista leikesarja" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "_Poista asettelu" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "_Tallenna asettelu" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "_Tallenna leikesarja" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" @@ -1778,35 +1783,35 @@ "LiVES löysi multitrack-asettelun edellisen istunnon jäljiltä.\n" "Haluatko yrittää sen palautusta?\n" -#: src/interface.c:2527 +#: src/interface.c:2455 msgid "Disk Recovery Options" msgstr "" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "" -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "" -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1814,351 +1819,351 @@ "-----------------------\n" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "ctrl-left" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 #, fuzzy msgid "skip forwards\n" msgstr "Toista eteenpäin" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 #, fuzzy msgid "ctrl-down" msgstr "Ctrl-%d" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "ctrl-enter" msgstr "Muu ke_skipiste" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "reset frame rate\n" msgstr "E_nsimmäinen kuva" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "" -#: src/interface.c:2723 +#: src/interface.c:2642 #, fuzzy msgid "reverse direction\n" msgstr "Käänteinen toistosuunta" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "ctrl-1" msgstr "Ctrl-%d" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "toggle real-time effect 1\n" msgstr "_Tosiaikaiset tehosteet" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "ctrl-2" msgstr "Ctrl-%d" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "toggle real-time effect 2\n" msgstr "_Tosiaikaiset tehosteet" -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 #, fuzzy msgid "ctrl-0" msgstr "Ctrl-%d" -#: src/interface.c:2751 +#: src/interface.c:2670 #, fuzzy msgid "real-time effects off\n" msgstr "_Tosiaikaiset tehosteet" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "" -#: src/interface.c:2759 +#: src/interface.c:2678 msgid "grab keyboard for last activated effect\n" msgstr "" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2688 msgid "tab" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "" -#: src/interface.c:2785 +#: src/interface.c:2706 msgid "Other playback keys\n" msgstr "" -#: src/interface.c:2789 +#: src/interface.c:2710 #, fuzzy msgid "play all\n" msgstr "Toista kaikki" -#: src/interface.c:2792 +#: src/interface.c:2713 #, fuzzy msgid "play selection\n" msgstr "Toista valinta" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "" -#: src/interface.c:2798 +#: src/interface.c:2719 #, fuzzy msgid "fullscreen\n" msgstr "K_okoruutu" -#: src/interface.c:2801 +#: src/interface.c:2722 #, fuzzy msgid "separate window\n" msgstr "Toista erillisessä ikkunassa (s)" -#: src/interface.c:2804 +#: src/interface.c:2725 #, fuzzy msgid "double size\n" msgstr "Kak_sinkertainen koko" -#: src/interface.c:2807 +#: src/interface.c:2728 #, fuzzy msgid "ping pong loops\n" msgstr "Pin_g Pong -silmukka" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "Multitrack-näppäimet" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "move current track up\n" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "move current track down\n" msgstr "" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "" -#: src/interface.c:2849 +#: src/interface.c:2768 #, fuzzy msgid "select next clip\n" msgstr "L_isää valittu leike" -#: src/interface.c:2852 +#: src/interface.c:2771 msgid "select/deselect current track\n" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 #, fuzzy msgid "zoom in\n" msgstr "L_ähennä" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 #, fuzzy msgid "zoom out\n" msgstr "L_oitonna" -#: src/interface.c:2861 +#: src/interface.c:2780 #, fuzzy msgid "make a mark on the timeline (during playback)\n" msgstr "tehdäksesi merkin aikajanalle" -#: src/interface.c:2864 +#: src/interface.c:2783 #, fuzzy msgid "rewind to play start.\n" msgstr "Palaa alkuun (w)" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "" -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "" -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "" -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -2166,22 +2171,22 @@ "the latest youtube-dl installed.\n" msgstr "" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, c-format msgid "Layouts were removed for set %s.\n" msgstr "" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "Tämä tiedosto" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " msgstr "" -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2191,7 +2196,7 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2201,14 +2206,14 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" "Really close it ?" msgstr "" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" @@ -2216,7 +2221,7 @@ "\n" "Virheellinen projektitiedosto.\n" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2229,54 +2234,54 @@ "Once you have done this, you will be able to import the new project.\n" msgstr "" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "" -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "" -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 #, fuzzy msgid "Theme" msgstr "Uusi nimi " -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, fuzzy, c-format msgid "Exporting theme as %s..." msgstr "Viedään ääniraita tiedostoon %s..." -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, fuzzy, c-format msgid "Importing theme \"%s\" from %s..." msgstr "Viedään ääniraita tiedostoon %s..." -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, fuzzy, c-format msgid "Backup as %s File" msgstr "Varmuuskopioi .lv1-tiedostoon" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, fuzzy, c-format msgid "Restore %s File" msgstr "Palauta .lv1-tiedosto" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2288,102 +2293,102 @@ "Leikesarja poistetaan levyltä.\n" "Haluatko varmasti tehdä tämän?\n" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "" -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "Poistetaan leikesarja..." -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "Poistetaan leikesarja" -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "Leikesarja %s poistettiin lopullisesti levyltä.\n" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "Kumotaan" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "" -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "Videon pituus on nyt %d kuvaa nopeudella %.3f kuvaa sekunnissa.\n" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, fuzzy, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "Kopioidaan kuvat %d - %d%s leikepöydälle..." -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, fuzzy, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "Kopioidaan kuvat %d - %d%s leikepöydälle..." -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "Kopioidaan leikepöydälle" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "Leikkaa" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 #, fuzzy msgid "Pulling frames from clipboard" msgstr "Lisätään %d%s kuvaa leikepöydältä..." -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "" -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "Liitetään" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "" -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " "LiVES.\n" msgstr "" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2392,31 +2397,31 @@ "the 'Trim Audio' function from the Audio menu." msgstr "" -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." msgstr "" -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2424,7 +2429,7 @@ "Clipboard audio has been erased.\n" msgstr "" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2433,32 +2438,32 @@ "using unchanged audio ?\n" msgstr "" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "Lisätään %d%s kuvaa leikepöydältä..." -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "Lisätään" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "Lisätään %d kertaa leikepöydältä%s..." -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "Lisätään %d kuvaa leikepöydältä%s..." -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "Perutaan" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" @@ -2468,49 +2473,49 @@ "Kaikkien kuvien poisto sulkee tämän tiedoston.\n" "Haluatko varmasti tehdä tämän?" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "Poistetaan kuvat %d - %d%s..." -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "Poistetaan" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "Poisto" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" @@ -2520,7 +2525,7 @@ "\n" "Valinta on lukittu.\n" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2528,11 +2533,11 @@ "play.)\n" msgstr "" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "Nauhoitus peruttu.\n" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2545,7 +2550,7 @@ "'%s'-liitännäinen ilmoittaa:\n" "%s\n" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2558,7 +2563,7 @@ "Liitännäisestä %s ei löytynyt 'init'-metodia.\n" "Liitännäinen saattaa olla rikki tai virheellisesti asennettu." -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2567,22 +2572,22 @@ "Please press 'Cancel' if that is not what you want.\n" msgstr "" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "Tallennetaan leikesarja %s" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "Ladataan leikkeet leikesarjasta %s" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2594,24 +2599,24 @@ "kopioita LiVESistä.\n" "Napsauta OK jatkaaksesi.\n" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "" -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "" -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "" -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2619,12 +2624,12 @@ "Internal: %s (%d bpp) / %s\n" msgstr "" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." @@ -2632,28 +2637,28 @@ "\n" " Avataan..." -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" "(%d virtual)" msgstr "" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" "(%d decoded)" msgstr "" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" " %.2f sec." msgstr "" -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" @@ -2661,30 +2666,30 @@ "\n" " Tuntematon" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" "%s %s" msgstr "" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2701,15 +2706,15 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n" msgstr "" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "Videomuokkain ja VJ-ohjelma." -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" "Launchpad Contributions:\n" @@ -2718,7 +2723,7 @@ " Mikko Nissinen https://launchpad.net/~mikko\n" " salsaman https://launchpad.net/~salsaman" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, c-format msgid "" "LiVES Version %s\n" @@ -2732,7 +2737,7 @@ "Homepage: %s" msgstr "" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 #, fuzzy msgid "" "\n" @@ -2743,7 +2748,7 @@ "\n" "Tämän tiedoston esikatselu onnistuu ainoastaan jos mplayer on asennettuna.\n" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 #, fuzzy msgid "" "\n" @@ -2755,94 +2760,94 @@ "\n" "Tämän tiedoston esikatselu onnistuu ainoastaan jos mplayer on asennettuna.\n" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" "%s\n" msgstr "" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 msgid "Encoder Debug Output" msgstr "" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "Piilota toistoikkuna (s)" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "Näytä toistoikkuna (s)" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "Toista erillisessä ikkunassa (s)" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "Äänenvoimakkuus (%.2f)" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "Palauta ääni (z)" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "Vaimenna ääni (z)" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "Käännetään leikepöydän järjestys..." -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "Käännetään leikepöydän järjestys" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 #, fuzzy msgid "Load Subtitles" msgstr "Näytä tekstitykset" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "Ladattiin tekstitystiedosto: %s\n" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 #, fuzzy msgid "Select Audio File" msgstr "Poistetaan ääniraita" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -2850,83 +2855,83 @@ "." msgstr "" -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "Avataan äänitiedosto %s, tyyppi %s..." -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "Avataan äänitiedosto" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "Uusi ääniraita" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "" -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "CD-raita %d" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "Avataan CD-raita..." -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "Virhe ladattaessa CD-raitaa\n" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 #, fuzzy msgid "Layout Errors" msgstr "Näytä _asetteluvirheet" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "Jatka" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "pysäytetty..." -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "jatketaan..." -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "Pidä" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, c-format msgid "" "\n" @@ -2935,30 +2940,30 @@ "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "Peruuta" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 #, fuzzy msgid "Selected Frame" msgstr "Valitse _kaikki kuvat" -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 #, fuzzy msgid "_Save Frame as..." msgstr "_Tallenna asettelu nimellä.." -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -2967,7 +2972,7 @@ "\n" msgstr "" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -2979,7 +2984,7 @@ "Tätä ominaisuutta voi käyttää vain jos \"xwininfo\" on asennettuna\n" "\n" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" @@ -2987,7 +2992,7 @@ "\n" "Tallennusajan tulee olla pidempi kuin 0.\n" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -3002,11 +3007,11 @@ "Napsauta \"Peruuta\" peruaksesi toiminnon\n" "\n" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "Ulkoinen ikkuna vapautettiin.\n" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" @@ -3014,7 +3019,7 @@ "Napsauta haluamaasi ikkunaa kaapataksesi sen\n" "Paina \"q\" lopettaaksesi nauhoituksen." -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -3024,20 +3029,20 @@ "(Default of %.3f frames per second will be used.)\n" msgstr "" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "" "LiVES ei pystynyt kaappaamaan tästä ikkunasta. Pahoittelemme tapahtunutta.\n" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "Vie valittu äänijakso tiedostoon..." -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "Vie ääniraita tiedostoon..." -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -3051,86 +3056,86 @@ "Napsauta \"OK\" viedäksesi uudella nopeudella, tai \"Peruuta\" viedäksesi " "alkuperäisellä nopeudella.\n" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "Viedään äänijakso %d - %d tiedostoon %s..." -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "Viedään ääniraita tiedostoon %s..." -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "Viedään ääniraita" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 msgid "Append Audio File" msgstr "" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "" -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "" -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "" -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "" -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "" -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" @@ -3140,33 +3145,33 @@ "Tämä tiedosto suljetaan jos koko ääniraita poistetaan.\n" "Haluatko varmasti tehdä tämän?" -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "Poistetaan koko ääniraita..." -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "Poistetaan ääniraita" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "" @@ -3179,886 +3184,886 @@ msgid "Merge Clipboard [ %d Frames ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "Yhdistetään leikepöydän sisältö valintaan..." -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "" -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "_Tiedosto" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "_Avaa tiedosto/hakemisto" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "" -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "Avaa sijainti/suo_ratoisto..." -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "" -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "" -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "Tuo Firewire-laitteelta (_dv)" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "Tuo Firewire-laitteelta (_hdv)" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "" -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "_Viimeisimmät tiedostot..." -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "Lataa leikesarja _uudestaan..." -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "Sulje/tallenna _kaikki leikkeet" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "" -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "Tallenna _valinta nimellä..." -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "_Sulje tämä leike" -#: src/gui.c:692 +#: src/gui.c:674 #, fuzzy, c-format msgid "_Backup Clip as .%s..." msgstr "Var_muuskopioi leike .lv1-tiedostoon..." -#: src/gui.c:701 +#: src/gui.c:683 #, fuzzy, c-format msgid "_Restore Clip from .%s..." msgstr "_Palauta leike .lv1-tiedostosta..." -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "Tallenna/lataa/varmuuskopioi _äänen kanssa" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "Lataa tekstitykset automaattisesti" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "Siivoa lev_ytila" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "_Muokkaa" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "_MULTITRACK-tila" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "_Kopioi valinta" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "_Leikkaa valinta" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "L_isää leikepöydältä..." -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "Liitä _uutena" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "_Yhdistä leikepöydän sisältö valintaan..." -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "_Poista valinta" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "I_rrota video ääniraidasta" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "_Valitse..." -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "Valitse _kaikki kuvat" -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "Vain _aloituskuva" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "Vain _lopetuskuva" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "Valitse _ensimmäisestä kuvasta alkaen" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "Valitse _viimeiseen kuvaan saakka" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "Valitse viimeisin lisäys/_yhdistäminen" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "Valitse viimeisin _tehoste" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "Tee k_äänteinen valinta" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "Luki_tse valinnan leveys" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "T_oisto" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "_Toista kaikki" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "Toista _valinta" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "Toista _leikepöydän sisältö" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "_Pysäytä" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "Palaa _alkuun" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "K_okoruutu" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "Kak_sinkertainen koko" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "Toista _erillisessä ikkunassa" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "P_imennä tausta" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "_Jatkuva silmukka" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "Pin_g Pong -silmukka" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "_Vaimenna ääni" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "Näytä _kuvalaskuri" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "Näytä tekstitykset" -#: src/gui.c:1069 +#: src/gui.c:1045 msgid "Letterbox Mode" msgstr "" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "T_ehosteet" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "Tehosteet lisätään nykyiseen valintaan." -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "T_yökalut" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "Työkaluja käytetään kokonaisissa leikkeissä." -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "Käännä leikepöydän _järjestys" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "Muuta toisto/tallennus_nopeutta..." -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "Muunna _videon kuvanopeus..." -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "A_puvälineet" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "Lu_o" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "Lataa _tekstitykset tiedostosta..." -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "Kaappaa _ulkoisesta ikkunasta... " -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "_Asetukset..." -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "_Ääni" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "Lataa leikkeeseen _uusi ääniraita..." -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "Lataa _CD-kappale..." -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "P_oista CD" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "_Nauhoita ulkoisesta lähteestä..." -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "Uuteen _leikkeeseen..." -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "_Valintaan" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "Tee _alkuhäivytys..." -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "Tee _loppuhäivytys..." -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "Vie _ääni..." -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "Vie _valittu äänijakso..." -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "Vie _koko ääniraita..." -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "" -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "" -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "" -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "" -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "_Poista ääni..." -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "Poista _valittu äänijakso" -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "Poista _koko ääniraita" -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "" -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "T_iedot" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "Näytä leikkeen _tiedot" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "Näytä/_muokkaa tiedostokommentteja" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "Näytä _leikepöydän tiedot" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "Näytä _viestit" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "Näytä _asetteluvirheet" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "_Leikkeet" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "Nimeä nykyinen leike _uudelleen ikkunassa..." -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "Li_sätyökalut" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "_RFX-tehosteet/työkalut/apuohjelmat" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "" -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "" -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "" -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "" -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "" -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "" -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "" -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "" -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "" -#: src/gui.c:1397 +#: src/gui.c:1371 #, fuzzy msgid "Receive _LiVES Stream from..." msgstr "_Vastaanota LiVES-suoratoisto..." -#: src/gui.c:1401 +#: src/gui.c:1375 #, fuzzy msgid "_Send LiVES Stream to..." msgstr "_Lähetä LiVES-suoratoisto..." -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "" -#: src/gui.c:1426 +#: src/gui.c:1399 #, fuzzy, c-format msgid "_Import Project (.%s)..." msgstr "Tuo pro_jekti (.lv2)..." -#: src/gui.c:1430 +#: src/gui.c:1403 #, fuzzy, c-format msgid "E_xport Project (.%s)..." msgstr "V_ie projekti (.lv2)..." -#: src/gui.c:1437 +#: src/gui.c:1409 #, fuzzy, c-format msgid "_Import Custom Theme (.%s)..." msgstr "Tuo pro_jekti (.lv2)..." -#: src/gui.c:1442 +#: src/gui.c:1414 #, fuzzy, c-format msgid "E_xport Theme (.%s)..." msgstr "V_ie projekti (.lv2)..." -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "_VJ" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "Tosiaikaisten _tehosteiden näppäinsidokset" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "Sido tosiaikaiset tehosteet ctrl-numero-näppäinyhdistelmiin." -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "" -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." msgstr "" -#: src/gui.c:1476 +#: src/gui.c:1448 msgid "_Reset All Playback Speeds and Positions" msgstr "" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "" -#: src/gui.c:1480 +#: src/gui.c:1452 #, fuzzy msgid "_MIDI/Joystick Interface" msgstr "_Peliohjainlaite" -#: src/gui.c:1489 +#: src/gui.c:1461 msgid "_MIDI/Joystick Learner..." msgstr "" -#: src/gui.c:1493 +#: src/gui.c:1465 msgid "_Save Device Mapping..." msgstr "" -#: src/gui.c:1497 +#: src/gui.c:1469 msgid "_Load Device Mapping..." msgstr "" -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "Näytä VJ-_näppäimet" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "Leikki_kalut" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "_Ei mitään" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "Le_vottomat kuvat" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "_LiVES TV (laajakaista)" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "O_hje" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "Käyttöo_hje (avautuu selaimessa)" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 #, fuzzy msgid "_Donate to the Project !" msgstr "Tee _lahjoitus projektille!" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 #, fuzzy msgid "_Email the Author" msgstr "Lähetä _postia tekijälle" -#: src/gui.c:1547 +#: src/gui.c:1519 #, fuzzy msgid "Report a _Bug" msgstr "Tee _vikailmoitus" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 #, fuzzy msgid "Suggest a _Feature" msgstr "Ehdota _ominaisuutta" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 #, fuzzy msgid "Assist with _Translating" msgstr "Auta _kääntämisessä" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "_Tietoja ohjelmasta" -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "Palaa alkuun (w)" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "Toista kaikki (p)" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "Pysäytä toisto (q)" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "Toista valinta (y)" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "Äänenvoimakkuus" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "Äänenvoimakkuus (1.00)" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "Toista hitaammin (ctrl-alas)" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "Toista nopeammin (ctrl-ylös)" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "Näytä leikkeen tiedot (i)" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "Piilota tämä työkalurivi" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." msgstr "" #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr " Videon toistonopeus (kuvaa sekunnissa) " -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "Ensimmäinen kuva" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "Viimeinen kuva" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "Ensimmäinen valittu kuva tässä leikkeessä" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "Viimeinen valittu kuva tässä leikkeessä" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "Käynnistetään...\n" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr "" " Paina \"q\" pysäyttääksesi nauhoituksen. ÄLÄ PEITÄ TOISTOIKKUNAA ! " -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "_Vapaana" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "_Käynnistä" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "Takaisinkelaus" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "Toista kaikki" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "Toista valinta" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "Aloita _nauhoitus" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "Pysäytä _nauhoitus" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr "" -#: src/gui.c:3613 +#: src/gui.c:3553 #, fuzzy msgid "Streaming" msgstr "Suoratoisto/Verkko" -#: src/gui.c:3615 +#: src/gui.c:3555 #, fuzzy, c-format msgid "Play Window%s" msgstr "Piilota toistoikkuna" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "Piilota toistoikkuna" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "Näytä toistoikkuna" -#: src/gui.c:4199 +#: src/gui.c:4127 #, fuzzy, c-format msgid "'LiVES opened the file' '%s'" msgstr "LiVES ei pystynyt avaamaan tiedostoa" -#: src/gui.c:4220 +#: src/gui.c:4146 #, fuzzy, c-format msgid "'LiVES closed the file' '%s'" msgstr "Anna LiVESin asettaa _tiedostomääre" @@ -4068,11 +4073,11 @@ msgid "Mapped to ctrl-%d" msgstr "" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "Tehosteet" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "Leikkeet" @@ -4086,11 +4091,11 @@ msgid "Select clip for %s\n" msgstr "_Poista leikesarja" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "" @@ -4135,11 +4140,11 @@ msgid "%d bytes" msgstr "" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "Tyhjennetään leikepöytää" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -4150,7 +4155,7 @@ "==============================\n" "Vaihdettiin leikkeeseen %s\n" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" @@ -4160,32 +4165,32 @@ "==============================\n" "Vaihdettiin tyhjään leikkeeseen\n" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " "updated accordingly\n" msgstr "" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" @@ -4194,7 +4199,7 @@ "Leikkeen %s kuvia on siirrelty.\n" "Muutos vaikuttaa seuraaviin asetteluihin:\n" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" @@ -4203,7 +4208,7 @@ "Leikkeestä %s on poistettu kuvia.\n" "Muutos vaikuttaa seuraaviin asetteluihin:\n" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" @@ -4212,7 +4217,7 @@ "Leikkeestä %s on poistettu ääniraita.\n" "Muutos vaikuttaa seuraaviin asetteluihin:\n" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" @@ -4221,7 +4226,7 @@ "Leikkeen %s ääniraitaa on siirrelty.\n" "Muutos vaikuttaa seuraaviin asetteluihin:\n" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" @@ -4230,7 +4235,7 @@ "Leikkeen %s ääniraitaa on muutettu.\n" "Muutos vaikuttaa seuraaviin asetteluihin:\n" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" @@ -4239,7 +4244,7 @@ "Leikkeen %s kuviin on tehty muutoksia.\n" "Muutos vaikuttaa seuraaviin asetteluihin:\n" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -4250,7 +4255,7 @@ "ei voida avata, sillä se on toisen\n" "LiVES-kopion käytössä.\n" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -4258,7 +4263,7 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2188 +#: src/utils.c:2207 #, fuzzy, c-format msgid "" "\n" @@ -4267,7 +4272,7 @@ "\n" "Leikesarjalla pitää olla nimi.\n" -#: src/utils.c:2196 +#: src/utils.c:2215 #, fuzzy, c-format msgid "" "\n" @@ -4276,7 +4281,7 @@ "\n" "Leikesarjan nimi ei saa sisältää välilyöntejä tai merkkejä %s.\n" -#: src/utils.c:2204 +#: src/utils.c:2223 #, fuzzy, c-format msgid "" "\n" @@ -4285,18 +4290,18 @@ "\n" "Leikesarjan nimi ei saa sisältää välilyöntejä tai merkkejä %s.\n" -#: src/utils.c:2213 +#: src/utils.c:2232 #, c-format msgid "" "\n" "%s names may not start with a '.' or contain '..'\n" msgstr "" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4307,72 +4312,72 @@ "%s-niminen leikesarja on jo olemassa.\n" "Valitse joku toinen nimi.\n" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "Poistetaan asettelu %s\n" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "Video [avataan...]" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "Video [%.2f s]" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "(Ei videoraitaa)" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "(Ei ääniraitaa)" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "Mono [avataan...]" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "Vasen ääni [avataan...]" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "Mono [%.2f s]" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "Vasen ääni [%.2f s]" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "Oikea ääni [avataan...]" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "Oikea ääni [%.2f s]" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "" -#: src/utils.c:3492 +#: src/utils.c:3548 msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "" -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4387,29 +4392,29 @@ "\n" "Korvataanko se?\n" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "Kum_oa %s" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "Tee uu_destaan %s" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "-------------Valinta------------" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr " s ] ----------Valinta---------- [ " -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr " kuvaa ] ----------" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4434,7 +4439,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr "" @@ -4544,7 +4549,7 @@ "Haluatko tästä huolimatta jatkaa?" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "" @@ -4601,12 +4606,12 @@ msgid "Recording performance..." msgstr "" -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4615,21 +4620,21 @@ "and resize all frames to the current size.\n" msgstr "" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "Tuntematon" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "Nimetön%d" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4637,13 +4642,13 @@ "%s\n" msgstr "" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" msgstr "" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4651,7 +4656,7 @@ "Bad things may happen with this clip.\n" msgstr "" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4663,12 +4668,12 @@ "fps. \n" "Oletusarvon voi asettaa kohdasta Työkalut | Asetukset | Sekalaiset.\n" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" @@ -4677,7 +4682,7 @@ "Kuvia=%d tyyppi=%s koko=%dx%d *bpp=Harmaasävy* fps=%.3f\n" "Ääni:" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" @@ -4686,54 +4691,54 @@ "Kuvia=%d tyyppi=%s koko=%dx%d bpp=%d fps=%.3f\n" "Ääni:" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, fuzzy, c-format msgid " - Author: %s\n" msgstr "Tekijä: %s" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, fuzzy, c-format msgid " - Title: %s\n" msgstr " - Kommentti: %s\n" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr " - Kommentti: %s\n" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "Tallennetaan kuva %d nimellä %s..." -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "Varmuuskopioidaan %s tiedostoon %s" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "Varmuuskopioidaan" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "" -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "Palautetaan %s..." -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "Palautetaan" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -4788,12 +4793,12 @@ msgid "Recovering files..." msgstr "Palautetaan tiedostoja..." -#: src/dialogs.c:87 +#: src/dialogs.c:83 #, fuzzy msgid "Show affeced _layouts" msgstr "_Tallenna asettelu" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" @@ -4801,51 +4806,51 @@ "_Älä näytä tätä varoitusta enää uudestaan\n" "(varoituksen voi laittaa takaisin päälle kohdasta Asetukset/Varoitukset)" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr "" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 #, fuzzy msgid "Warning !" msgstr "Varoitukset" -#: src/dialogs.c:198 +#: src/dialogs.c:186 #, fuzzy msgid "Error !" msgstr "$error" -#: src/dialogs.c:208 +#: src/dialogs.c:196 #, fuzzy msgid "Information" msgstr "LiVES: - Avaa sijainti" -#: src/dialogs.c:234 +#: src/dialogs.c:221 msgid "Question" msgstr "" -#: src/dialogs.c:248 +#: src/dialogs.c:235 #, fuzzy msgid "File Error" msgstr "$error" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "Näytä _tiedot" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -4856,7 +4861,7 @@ "(Disk warning levels can be configured in Preferences.)" msgstr "" -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -4868,11 +4873,11 @@ "Preferences.)" msgstr "" -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "Äänisoitinta ei voi vaihtaa toiston aikana." -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -4884,18 +4889,18 @@ "LiVES ei pystynyt suorittamaan tätä toimintoa muistin vähyyden vuoksi.\n" "Kokeile sulkea ensin muita sovelluksia.\n" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "" -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" "%s%d%% done. Time remaining: %u sec%s\n" msgstr "" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" @@ -4904,7 +4909,7 @@ "\n" "%d/%d kuvaa avattu. Aikaa jäljellä %u s.\n" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" @@ -4913,7 +4918,7 @@ "\n" "%d/%d kuvaa avattu.\n" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" @@ -4922,7 +4927,7 @@ "\n" "%d kuvaa avattu.\n" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" @@ -4931,7 +4936,7 @@ "\n" "Aikaa jäljellä: %d s" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -4942,7 +4947,7 @@ "Valitettavasti LiVES voi avata vain %d tiedostoa kerralla.\n" "Sulje joku tiedosto ja yritä uudelleen." -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, fuzzy, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -4961,14 +4966,14 @@ "\n" "Varmista että sinulla on kirjoitusoikeus tähän kansioon." -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 msgid "" "\n" "LiVES currently requires either 'mplayer', 'mplayer2', or 'sox' to function. " "Please install one or other of these, and try again.\n" msgstr "" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 #, fuzzy msgid "" "\n" @@ -4979,7 +4984,7 @@ "LiVES ei löytänyt ohjelmaa \"mplayer\". Asenna mplayer jos haluat käyttää \n" "LiVESiä täysipainoisesti.\n" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 #, fuzzy msgid "" "\n" @@ -4990,26 +4995,26 @@ "LiVES ei löytänyt ohjelmaa \"mplayer\". Asenna mplayer jos haluat käyttää \n" "LiVESiä täysipainoisesti.\n" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" "Or switch to another encoder format in Tools | Preferences | Encoding\n" msgstr "" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -5017,19 +5022,19 @@ "Please set the audio codec in Tools|Preferences|Encoding\n" msgstr "" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -5040,7 +5045,7 @@ "\n" "%s-formaatin rajoituksista johtuen\n" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" @@ -5048,77 +5053,77 @@ "LiVES suosittelee seuraavia asetuksia:\n" "\n" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr "" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr "" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr "" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr "" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "Aseta videon nopeudeksi %.3f kuvaa sekunnissa\n" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "Aseta videon nopeudeksi %d:%d kuvaa sekunnissa\n" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "Aseta videon kooksi %d x %d pikseliä\n" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" msgstr "" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -5132,7 +5137,7 @@ "Napsauta \"OK\" jatkaaksesi, \"Peruuta\" keskeyttääksesi.\n" "\n" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" @@ -5142,7 +5147,7 @@ "Valintaan tehdyt muutokset eivät ole pysyviä.\n" "\n" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -5151,7 +5156,7 @@ "Try recording for just a selection of the file." msgstr "" -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -5162,7 +5167,7 @@ "Please press Cancel to abort the insert, or OK to continue." msgstr "" -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -5175,18 +5180,18 @@ "click Cancel." msgstr "" -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "Viestihistoria" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " "in your %s file" msgstr "" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -5197,25 +5202,25 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 msgid "" "Sorry, unknown audio type.\n" "\n" " (Filenames must end in" msgstr "" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" "(They will not be usable without the set).\n" msgstr "" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -5224,7 +5229,7 @@ "Click Cancel to pick a new name.\n" msgstr "" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -5236,7 +5241,7 @@ "Haluatko varmasti jatkaa?\n" "." -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -5248,7 +5253,7 @@ "Haluatko varmasti jatkaa?\n" "." -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -5259,7 +5264,7 @@ "Otherwise click Cancel to skip loading this file.\n" msgstr "" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -5269,7 +5274,7 @@ "The clip could not be loaded.\n" msgstr "" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -5277,7 +5282,7 @@ "Alternately, select a different audio player in Preferences.\n" msgstr "" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -5286,13 +5291,13 @@ "Automatic jack startup will be disabled now.\n" msgstr "" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" msgstr "" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -5303,7 +5308,7 @@ "%s\n" msgstr "" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" @@ -5312,7 +5317,7 @@ "Voit myös käynnistää LiVESin uudelleen ja valita jonkun toisen " "äänisoittimen.\n" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -5322,7 +5327,7 @@ "It is recommended to increase it to at least %d MB" msgstr "" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -5331,7 +5336,7 @@ "Do you wish to delete them ?\n" msgstr "" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -5339,7 +5344,7 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -5347,7 +5352,7 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" @@ -5356,75 +5361,75 @@ "LiVES ei pystynyt varaamaan riittävästi muistia multitrack-tilan kumoa-" "toiminnolle.\n" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "tai anna pienempi arvo.\n" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "Kokeile sulkea muita ohjelmia\n" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" msgstr "" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" "You can set this in Tools|Preferences|Playback." msgstr "" -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" "Should I try to repair the disk copy of the layout ?\n" msgstr "" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" msgstr "" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" "Audio rate must be greater than 0.\n" msgstr "" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5432,14 +5437,14 @@ "Are you sure you wish to view it ?\n" msgstr "" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" "You must install 'dvgrab' to use this function.\n" msgstr "" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5448,25 +5453,25 @@ "You may need to select one of these in Tools/Preferences/Playback.\n" msgstr "" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" msgstr "" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5475,33 +5480,33 @@ "echo %d > /proc/sys/net/core/rmem_max\n" msgstr "" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "peruttiin.\n" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "epäonnistui.\n" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "valmis.\n" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -5511,7 +5516,7 @@ "%s%s%s" msgstr "" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -5521,7 +5526,7 @@ "%s" msgstr "" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -5531,7 +5536,7 @@ "%s" msgstr "" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -5540,7 +5545,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -5550,7 +5555,7 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -5559,7 +5564,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -5569,12 +5574,12 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "" -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -5583,7 +5588,7 @@ "Please check your system for errors.\n" msgstr "" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -5596,7 +5601,7 @@ "%s\n" "Tarkista tiedoston käyttöoikeudet ja yritä uudestaan." -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -5605,7 +5610,7 @@ "Please check the directory permissions and try again." msgstr "" -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, c-format msgid "" "\n" @@ -5613,14 +5618,14 @@ "%s\n" msgstr "" -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -5628,13 +5633,13 @@ "Please select another encoder from the list.\n" msgstr "" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" msgstr "" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -5644,27 +5649,27 @@ "- Check if the device actually exists.\n" msgstr "" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" "Do you wish to overwrite the existing subtitles ?\n" msgstr "" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 msgid "" "\n" "LiVES currently only supports subtitles of type" msgstr "" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -5673,14 +5678,14 @@ "or OK to continue and save as type \"%s\"\n" msgstr "" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" "(If unsure, click Yes)\n" msgstr "" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -5691,19 +5696,19 @@ "." msgstr "" -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" msgstr "" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" msgstr "" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -5711,7 +5716,7 @@ "DO NOT SHUT DOWN OR CLOSE LIVES !\n" msgstr "" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, c-format msgid "" "\n" @@ -5719,14 +5724,14 @@ "The theme could not be loaded correctly.\n" msgstr "" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" "Please check the spelling of the set name and try again.\n" msgstr "" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -5735,7 +5740,7 @@ "directory. Would you like me to do this (recommended) ?" msgstr "" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -5747,7 +5752,7 @@ msgstr "" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -5756,38 +5761,38 @@ "\n" msgstr "" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" "Consult your package distributor.\n" msgstr "" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" msgstr "" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "Määritä CD-soittolaite kohdasta Työkalut | Asetukset | Sekalaiset\n" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, fuzzy, c-format msgid "" "\n" @@ -5800,7 +5805,7 @@ "%s\n" "Tarkista tiedoston käyttöoikeudet ja yritä uudestaan." -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -5809,7 +5814,7 @@ "already exists. Would you like to overwrite it ?\n" msgstr "" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -5950,7 +5955,7 @@ msgid "Video only Transitions" msgstr "" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "" @@ -5958,7 +5963,7 @@ msgid "Audio only Transitions" msgstr "" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "" @@ -6002,7 +6007,7 @@ msgid "Audio Analysers" msgstr "" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "tuntematon" @@ -6057,89 +6062,89 @@ "No frames were generated.\n" msgstr "" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 #, fuzzy msgid "Invalid element" msgstr "Virheellinen arvo" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 #, fuzzy msgid "Invalid property" msgstr "Virheellinen arvo" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 msgid "Invalid plugin" msgstr "" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 #, fuzzy msgid "No error" msgstr "$error" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 msgid "integer" msgstr "" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 msgid "string" msgstr "" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 msgid "pointer" msgstr "" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "Virhe: %s-liitännäinen ei sisällä weed_setup()-toimintoa.\n" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" @@ -6148,271 +6153,271 @@ "Info: Liitännäistä %s ei voitu ladata\n" "Virheilmoitus oli: %s\n" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr "" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "Ladattu onnistuneesti %d Weed-suodatinta\n" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, c-format msgid "Successfully loaded %d compound filters\n" msgstr "" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, c-format msgid "Failed to start generator %s (%s)\n" msgstr "" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 msgid "Autoscale" msgstr "" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 #, fuzzy msgid "Delete this connection" msgstr "_Poista tämä tehoste" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, c-format msgid "%s - Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, c-format msgid "%s - Parameter Data Connections" msgstr "" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 msgid "Parameter and Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 msgid "Auto Connect Channels" msgstr "" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 msgid "Auto Connect Parameters" msgstr "" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "_Palauta arvot" -#: src/framedraw.c:241 +#: src/framedraw.c:242 msgid "_Frame" msgstr "" @@ -6456,40 +6461,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "Uusi koko (pikseliä)" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "_Leveys" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "_Korkeus" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "Luo leike_pöydälle" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "Luo kuvat leikepöydälle" -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "Luo uu_si leike" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "Luo kuvat uuteen leikkeeseen" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -6559,32 +6564,32 @@ "\n" msgstr "" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "" -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -6597,7 +6602,7 @@ "Toistoliitännäistä %s ei voitu avata\n" "Virheilmoitus oli %s\n" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -6612,31 +6617,31 @@ "puuttuu pakollinen toiminto.\n" "Sitä ei voida käyttää.\n" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" "Error was: %s\n" msgstr "" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " "***\n" msgstr "" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -6645,7 +6650,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -6654,7 +6659,7 @@ "or switch to another plugin using Tools|Preferences|Encoding\n" msgstr "" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, c-format msgid "" "\n" @@ -6662,12 +6667,12 @@ "No decoders found in %s !\n" msgstr "" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, fuzzy, c-format msgid " using %s" msgstr "Avataan %s" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -6676,7 +6681,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -6686,24 +6691,24 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "" -#: src/plugins.c:2556 +#: src/plugins.c:2550 msgid "Decoder Plugins" msgstr "" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "" @@ -6907,20 +6912,20 @@ msgid "Move _Down" msgstr "Siirrä _alas" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 #, fuzzy msgid "RFX Properties" msgstr "_Ominaisuudet..." -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -6929,7 +6934,7 @@ "\n" msgstr "" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -6937,188 +6942,188 @@ "Please check the trigger code.\n" msgstr "" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 #, fuzzy msgid "New RFX Parameter" msgstr "LiVES: - Uusi RFX-parameteri" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 #, fuzzy msgid "Edit RFX Parameter" msgstr "LiVES: - Muokkaa RFX-parameteria" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "" -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "" -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "" -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." msgstr "" -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "" -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "" -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "" -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "" -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "" -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "" -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "" -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "" -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "" -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr "" -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "" -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 msgid "_Wrap value" msgstr "" -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "" -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "" -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "" -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "Oletusarvo: " -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "" -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 #, fuzzy msgid "New RFX Parameter Window Hint" msgstr "LiVES: - Uusi RFX-parameteri" -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 #, fuzzy msgid "Edit RFX Parameter Window Hint" msgstr "LiVES: - Muokkaa RFX-parameteria" -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "" -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "" -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "" -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "" -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "" -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "" -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "" -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 msgid "New RFX Trigger" msgstr "" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 msgid "Edit RFX Trigger" msgstr "" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "" -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 msgid "Pre Loop Code" msgstr "" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 msgid "Loop Code" msgstr "" -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 msgid "Post Loop Code" msgstr "" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, c-format msgid "Default text (max length %d)" msgstr "" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 msgid "Enter values, one per line" msgstr "" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" @@ -7128,7 +7133,7 @@ "\n" "Nimi ei saa olla tyhjä.\n" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" @@ -7138,7 +7143,7 @@ "\n" "Nimi ei saa sisältää välilyöntejä.\n" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" @@ -7148,7 +7153,7 @@ "\n" "Valikkoteksti ei saa olla tyhjä.\n" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" @@ -7158,14 +7163,14 @@ "\n" "Toiminnon kuvaus ei saa olla tyhjä.\n" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" "Author must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -7173,28 +7178,28 @@ "Name must be unique.\n" msgstr "" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" "Loop code should not be blank.\n" msgstr "" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" "Trigger code should not be blank for a utility.\n" msgstr "" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" "Parameter name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -7203,41 +7208,41 @@ "\n" msgstr "" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "" -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -7247,27 +7252,27 @@ "\n" msgstr "" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "" -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "" -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "" -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "" -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -7276,7 +7281,7 @@ "Please check this program is in your path and executable.\n" msgstr "" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -7291,12 +7296,12 @@ "%s?\n" "\n" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "Poistetaan rfx-komentosarja %s..." -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -7306,7 +7311,7 @@ "Error code was %d\n" msgstr "" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -7316,12 +7321,12 @@ "Please delete it first, or rename the test script.\n" msgstr "" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "" -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -7332,20 +7337,20 @@ "Return code was %d (%s)\n" msgstr "" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 msgid "Export Script" msgstr "" -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "" -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 msgid "Import Script" msgstr "" -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -7355,43 +7360,43 @@ "Please delete it first, or rename the import script.\n" msgstr "" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 msgid "Copy RFX Script" msgstr "" -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "" -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr "" -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 msgid "Rename Test RFX Script" msgstr "" -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "" -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 msgid "RFX Script Name" msgstr "" -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "" -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "Uusi nimi: " -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "" -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -7399,12 +7404,12 @@ "Script name must be unique.\n" msgstr "" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "" -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -7415,26 +7420,26 @@ "Return code was %d\n" msgstr "" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "_Käytä valinnassa tosiaikaisia tehosteita" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 #, fuzzy msgid "Applying Current Real Time Effects to" msgstr "_Käytä valinnassa tosiaikaisia tehosteita" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "Ladataan hahmonnettu tehoste %s..." -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "" -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -7442,7 +7447,7 @@ "full screen, separate window (fs) mode\n" msgstr "" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -7450,7 +7455,7 @@ "(Free space = UNKNOWN)" msgstr "" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -7459,14 +7464,14 @@ "(Free space = %s)" msgstr "" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" "It should be in a partition with plenty of free disk space.\n" msgstr "" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7477,7 +7482,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7487,7 +7492,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1193 +#: src/preferences.c:1163 msgid "" "You have chosen to change the working directory.\n" "Please make sure you have no other copies of LiVES open.\n" @@ -7499,7 +7504,7 @@ "setting." msgstr "" -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, c-format msgid "" "\n" @@ -7508,13 +7513,13 @@ "See %s\n" msgstr "" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" msgstr "" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, c-format msgid "" "\n" @@ -7523,310 +7528,310 @@ "See %s\n" msgstr "" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "PCM (korkein laatu; suurimmat tiedostot)" -#: src/preferences.c:2468 +#: src/preferences.c:2418 #, fuzzy msgid "Preferences" msgstr "_Asetukset..." -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "Avaa tiedostovalinta suurennettuna" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "Näytä viimeisimmät tiedostot Tiedosto-valikossa" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "Pysäytä näytönsäästäjä toistettaessa " -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "Avaa pääikkuna suurennettuna" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "Näytä työkalurivi kun tausta on pimennetty" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "Käytä hiiren rullaa leikkeiden vaihtoon" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "Moninäyttötuki" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr " LiVES-käyttöliittymälle käytettävän näytön numero" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr " toistoon käytettävän näytön numero" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." msgstr "" -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "Käyttöliittymä" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "Siirryttäessä Multitrack-tilaan:" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "_Kysy aina leveys-, korkeus-, fps- ja ääniasetukset" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "Käytä _aina seuraavia arvoja:" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr " _Kumoa-puskurin koko (Mt) " -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "Asetteluiden automaattitallennus" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "Jokaisen _muutoksen jälkeen" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "_Ei koskaan" -#: src/preferences.c:2872 +#: src/preferences.c:2757 msgid "Maximum number of visible tracks" msgstr "" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "" -#: src/preferences.c:2925 +#: src/preferences.c:2804 msgid "Video open command (fallback)" msgstr "" -#: src/preferences.c:2935 +#: src/preferences.c:2811 msgid "Fallback image format" msgstr "" -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "_jpeg" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "" -#: src/preferences.c:2964 +#: src/preferences.c:2832 msgid "Open/render compression" msgstr "" -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr "" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "Käytä automaattista lomituksenpoistoa mikäli mahdollista" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "" -#: src/preferences.c:2995 +#: src/preferences.c:2856 #, fuzzy msgid "Automatic trimming / padding of audio when possible" msgstr "Käytä automaattista lomituksenpoistoa mikäli mahdollista" -#: src/preferences.c:2997 +#: src/preferences.c:2858 msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "Avattaessa useita tiedostoja, ketjuta kuvat yhteen leikkeeseen" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "VIDEO" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "Matala - parantaa suorituskykyä hitaammilla koneilla" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "Normaali - suositeltava useimmille käyttäjille" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "Korkea - parantaa laatua nopeammilla koneilla" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "_Esikatselun laatu" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "_Näytä FPS-tiedot" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "_Liitännäinen" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "ÄÄNI" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "_Soitin" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "Äänen soitto_komento" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "- sisäinen -" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "" -#: src/preferences.c:3269 +#: src/preferences.c:3110 msgid "Source:" msgstr "" -#: src/preferences.c:3273 +#: src/preferences.c:3114 msgid "_Internal" msgstr "" -#: src/preferences.c:3278 +#: src/preferences.c:3119 msgid "_External (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "Toisto" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" @@ -7834,254 +7839,254 @@ "Nauhoita ääni kaapattaessa _ulkoisesta ikkunasta\n" " (vaatii jack- tai pulse audion)" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr " Mitä nauhoitetaan kun \"r\" on painettu " -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "_FPS-muutokset" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "_Tosiaikaiset tehosteet" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "Nauhoitus" -#: src/preferences.c:3454 +#: src/preferences.c:3273 msgid "You can also change these values when encoding a clip" msgstr "" -#: src/preferences.c:3466 +#: src/preferences.c:3285 msgid "Encoder" msgstr "" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "Tallennusmuoto" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "Äänikoodekki" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "Pakkaus" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "Käytä kuva-alueen _pehmennystä kokoa muutettaessa" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "_Tehostenäppäimien lukumäärä" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." msgstr "" -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr " Videoiden latauskansio (oletus) " -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr " Videoiden tallennuskansio (oletus) " -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr " Äänileikkeiden latauskansio (oletus) " -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr " Kuvakansio (oletus) " -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr " Varmuuskopio/palautuskansio (oletus) " -#: src/preferences.c:3649 +#: src/preferences.c:3461 #, fuzzy msgid " Working directory (do not remove) " msgstr " Tilapäiskansio (älä poista) " -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "Oletuskansio josta videoleikkeet ladataan" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "Oletuskansio johon pakatut leikkeet tallennetaan" -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "Oletuskansio avattaville ja tallennettaville äänitiedostoille" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "Oletuskansio johon kuvaotokset tallennetaan" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "Oletuskansio yksittäisten leikkeiden varmuuskopiointiin/palautukseen" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "LiVESin työkansio." -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "Kansiot" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "" -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr "" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "" -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" msgstr "" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "Varoita jos avattavan tiedoston _koko on yli " -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr " Mt" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "Näytä varoitus ennen leikesarjan _tallennusta" -#: src/preferences.c:3872 +#: src/preferences.c:3659 msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " "when LiVES is started." msgstr "" -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "" "Näytä varoitus jos _hahmonnettuja tehosteita ei löydy käynnistyksen " "yhteydessä." -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "" "Näytä varoitus jos _pakkausliitännäisiä ei löydy käynnistyksen yhteydessä." -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "" -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "Varoita leikesarjaa ladattaessa jos asetteluista puuttuu leikkeitä." -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "Varoita jos asettelussa käytetty leike aiotaan sulkea." -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "Varoita jos asettelussa käytettyjä kuvia aiotaan poistaa." -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "Varoita jos asettelussa käytettyjä kuvia aiotaan siirtää." -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "Varoita jos asettelussa käytettyjä kuvia aiotaan muuttaa." -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "Varoita jos asettelussa käytetty ääniraita aiotaan poistaa." -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "Varoita jos asettelussa käytettyä ääniraitaa aiotaan siirtää." -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "Varoita jos asettelussa käytettyä ääniraitaa aiotaan muuttaa." -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "" -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "" "Varoita multitrack-tilasta poistuttaessa jos asettelua ei ole tallennettu." -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "" "Varoita jos multitrack ei sisällä äänikanavia ja aiotaan ladata ääntä " "sisältävä asettelu." -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." @@ -8089,374 +8094,374 @@ "Varoita jos multitrack sisältää äänikanavia ja äänisoittimeksi ei ole " "valittu \"jack\" tai \"pulse audio\"." -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "Näytä ilmoitus firewire-laitteelta tuonnin jälkeen." -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "Näytä varoitus ennen yuv4mpeg-suoratoiston avaamista (edistynyt)." -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "" -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "" -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "" -#: src/preferences.c:4113 +#: src/preferences.c:3865 #, fuzzy msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "Näytä varoitus ennen yuv4mpeg-suoratoiston avaamista (edistynyt)." -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "Varoitukset" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "Midi-synkronointi (vaatii tiedostot midistart ja midistop)" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "" -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "CD-laite " -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "" -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "Sekalaiset" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "Uusi teema: " -#: src/preferences.c:4242 +#: src/preferences.c:3977 msgid "Main Theme Details" msgstr "" -#: src/preferences.c:4254 +#: src/preferences.c:3988 #, fuzzy msgid " _Foreground Color" msgstr "_Taustaväri" -#: src/preferences.c:4273 +#: src/preferences.c:4007 #, fuzzy msgid " _Background Color" msgstr "_Taustaväri" -#: src/preferences.c:4291 +#: src/preferences.c:4026 #, fuzzy msgid "_Alt Foreground Color" msgstr "_Taustaväri" -#: src/preferences.c:4309 +#: src/preferences.c:4044 #, fuzzy msgid "_Alt Background Color" msgstr "_Taustaväri" -#: src/preferences.c:4327 +#: src/preferences.c:4062 #, fuzzy msgid " Info _Text Color" msgstr " _Korkeus " -#: src/preferences.c:4346 +#: src/preferences.c:4081 #, fuzzy msgid " Info _Base Color" msgstr " _Korkeus " -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "" -#: src/preferences.c:4365 +#: src/preferences.c:4100 #, fuzzy msgid "Affects some contrast details of the timeline" msgstr "" "Tehosteita voi raahata\n" "aikajanalla oleviin lohkoihin." -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "" -#: src/preferences.c:4398 +#: src/preferences.c:4132 #, fuzzy msgid "Frame blank image" msgstr "Luo tyhjiä kuvia" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "" -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4474 +#: src/preferences.c:4203 msgid "Track background (multitrack)" msgstr "" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "" -#: src/preferences.c:4529 +#: src/preferences.c:4258 #, fuzzy msgid "Timeline selection (multitrack)" msgstr "Aikajana (sekuntia)" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "" -#: src/preferences.c:4553 +#: src/preferences.c:4282 msgid "Timecode foreground (multitrack)" msgstr "" -#: src/preferences.c:4565 +#: src/preferences.c:4293 #, fuzzy msgid "Frame surround" msgstr "_Kuvaa sekunnissa" -#: src/preferences.c:4582 +#: src/preferences.c:4306 #, fuzzy msgid "Themes/Colors" msgstr "Teemat" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "Latauksen kaistanleveys (Kb/s) " -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "" "LiVES täytyy kääntää ilman valitsinta \"configure --disable-OSC\" jotta OMC:" "tä voi käyttää" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "Käytä OMC-etäohjausta" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "UDP-portti " -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "Käynnistä OMC LiVESin käynnistyksen yhteydessä" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "Suoratoisto/Verkko" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "Jack-välityspalvelu" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" msgstr "" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "Jack-_välityspalvelun asetustiedosto" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "Käynnistä _palvelin LiVESin käynnistyessä" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" msgstr "" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "Jack-_äänipalvelimen asetustiedosto" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "_Peliohjaintapahtumat" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "_Peliohjainlaite" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "Peliohjainlaite, esim. /dev/input/js0" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "_MIDI-tapahtumat" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "Käytä _ALSA MIDIä (suositeltu)" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "Luo ALSA MIDI-portti johon muut MIDI-laitteet voidaan yhdistää" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "Lue suoraan MIDI-laitteelta" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "_MIDI-laite" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "MIDI-laite, esim. /dev/input/midi0" -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "Lisäasetukset" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." msgstr "" -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "" -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "" "(Varoitus: toisto saattaa hidastua jos tämä arvo asetetaan liian suureksi.)" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -8464,44 +8469,44 @@ "Click OK to continue.\n" msgstr "" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." msgstr "" -#: src/preferences.c:5525 +#: src/preferences.c:5205 #, fuzzy msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "" "Teeman vaihdos tulee voimaan vasta seuraavalla LiVESin käynnistyskerralla." -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "" "Jack-asetukset tulevat voimaan vasta seuraavalla LiVEsin käynnistyskerralla." -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "" @@ -8524,158 +8529,158 @@ msgid "Resample/Resize" msgstr "" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "Videon pituus on nyt %d kuvaa.\n" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" "New rate must be greater than 0\n" msgstr "" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "" -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "" -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "" -#: src/resample.c:1208 +#: src/resample.c:1209 #, fuzzy msgid "New Clip Audio" msgstr "Uusi ääniraita" -#: src/resample.c:1210 +#: src/resample.c:1211 #, fuzzy msgid "External Clip Settings" msgstr "LiVES: - Ulkoisen leikkeen asetukset" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "Nykyinen" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "Taajuus (Hz) " -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 msgid "Channels" msgstr "" -#: src/resample.c:1256 +#: src/resample.c:1257 msgid "Sample Size " msgstr "" -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "" -#: src/resample.c:1322 +#: src/resample.c:1323 #, fuzzy msgid "New Audio Details" msgstr "Uusi ääniraita" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "Uusi" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "" -#: src/resample.c:1369 +#: src/resample.c:1370 msgid "_Channels" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "_Sample Size" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "Sample Size" msgstr "" -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "_Kuvaa sekunnissa " -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "Nauhoita korkeintaan: " -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr " tuntia " -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr " minuuttia " -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr " sekuntia " -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "Rajoittamaton nauhoitus" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "Napsauta OK aloittaaksesi nauhoituksen, tai Peruuta lopettaaksesi." -#: src/resample.c:1635 +#: src/resample.c:1636 #, fuzzy msgid "Change Playback Speed" msgstr "Muuta toisto/tallennus_nopeutta..." -#: src/resample.c:1637 +#: src/resample.c:1638 msgid "Resample Video" msgstr "" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -8692,7 +8697,7 @@ "Anna haluttu toistonopeus\n" "_kuvina sekunnissa" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -8709,80 +8714,80 @@ "Anna _uusi toistonopeus\n" "kuvina sekunnissa" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "TAI anna haluttu leikkeen pituus _sekunteina" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "Muuta myös _äänen nopeutta" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "Nopeuden muutos" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "Muutettiin toistonopeudeksi %.3f kuvaa sekunnissa.\n" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" "LiVES was unable to reorder the frames." msgstr "" -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "" @@ -9024,7 +9029,7 @@ msgid "Mode active" msgstr "Käytössä" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "Tietoa" @@ -9146,54 +9151,54 @@ msgid "Opened firewire card %d" msgstr "" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, fuzzy, c-format msgid "%s : parameters for %s" msgstr "Ei arvoja" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "Nykyinen raita: %s (taso %d)\n" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "Nykyinen raita: Tason %d ääni\n" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "%.2f s\n" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "Lähde: %s" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." msgstr "" -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -9202,7 +9207,7 @@ "right or double clicking on it.\n" msgstr "" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -9210,7 +9215,7 @@ "Select an effect in FX stack first to view its parameters.\n" msgstr "" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" @@ -9220,7 +9225,7 @@ "\n" "Ei ladattuja leikkeitä.\n" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -9230,7 +9235,7 @@ "before inserting clips into the timeline." msgstr "" -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -9239,12 +9244,12 @@ "to apply compositors.\n" msgstr "" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "%.2f s - %.2f s\n" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" @@ -9252,180 +9257,180 @@ "Napsauta kerran aikajanalla\n" "valitaksesi kuvan.\n" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" msgstr "" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr "" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 #, fuzzy msgid "Selected Clip" msgstr "L_isää valittu leike" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 #, fuzzy msgid "_Adjust Start and End Points" msgstr "_Säädä valitun leikkeen aloitus/lopetuskohtaa" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 msgid "_Edit/Encode in Clip Editor" msgstr "" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 #, fuzzy msgid "_Show Clip Information" msgstr "_Näytä leikkeen tiedot" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 #, fuzzy msgid "_Close this Clip" msgstr "_Sulje tämä leike" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 #, fuzzy msgid "Audio Mixer (ctrl-m)" msgstr "Äänimikseri (ctrl-m)" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "" -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "" -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "" -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "" -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "Leikkeitä voi raahata" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "aikajanalle." -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "Hiiren tila on: Siirrä" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "" -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "Hiiren tila on: Valitse" -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "" -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "" -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "Sulje välit" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "Siirrä lohkoa" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "Siirrä äänilohkoa" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "Poista lohko" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "Poista äänilohko" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "Poista %s" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "Lisää väli" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "" -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "" -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " "audio rate %d, audio sample size %d, %s.\n" msgstr "" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -9435,7 +9440,7 @@ "then load in the new set from the File menu.\n" msgstr "" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -9443,471 +9448,471 @@ "It cannot be loaded.\n" msgstr "" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "" -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "" -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "A_vaa tiedostovalinta..." -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "Tuo valinta _dvd/vcd-levyltä..." -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "Tuo valinta _dvd:ltä" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "Tuo valinta _vcd:ltä" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "Tuo _laitteelta" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 #, fuzzy msgid "_Close the Selected Clip" msgstr "L_isää valittu leike" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 #, fuzzy msgid "_Save Layout as..." msgstr "_Tallenna asettelu nimellä.." -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 #, fuzzy msgid "_Load Layout..." msgstr "L_ataa asettelu..." -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 #, fuzzy msgid "_Wipe/Delete Layout..." msgstr "_Pyyhi/poista asettelu..." -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 #, fuzzy msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "_Muuta leveys-, korkeus- ja ääniarvoja..." -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 #, fuzzy msgid "Auto Load _Subtitles with Clips" msgstr "Lataa tekstitykset automaattisesti" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "_LEIKEMUOKKAIN" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 #, fuzzy msgid "_Adjust Selected Clip Start/End Points" msgstr "_Säädä valitun leikkeen aloitus/lopetuskohtaa" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "L_isää valittu leike" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 #, fuzzy msgid "_Insert Selected Clip Audio" msgstr "L_isää valittu äänileike" -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 #, fuzzy msgid "_Delete Selected Block" msgstr "_Poista valittu lohko" -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 #, fuzzy msgid "_Jump to Previous Block Boundary" msgstr "Hyppää e_delliseen lohkorajaan" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 #, fuzzy msgid "_Jump to Next Block Boundary" msgstr "Hyppää s_euraavaan lohkorajaan" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 #, fuzzy msgid "Clear _Marks from Timeline" msgstr "Poista aikajanan _merkit" -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 msgid "Ignore Selection Limits when Inserting" msgstr "" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "_Toista aikajanan sijainnista alkaen" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 #, fuzzy msgid "Pla_y Selected Time Only" msgstr "Toista _valinta" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 #, fuzzy msgid "_Move Effects with Blocks" msgstr "_Valitse tämä lohko" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 #, fuzzy msgid "Select _Autotransition Effect..." msgstr "Valitse viimeisin _tehoste" -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 msgid "Crossfade Audio with Autotransition" msgstr "" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 #, fuzzy msgid "View/_Edit Selected Effect" msgstr "Valitse viimeisin _tehoste" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 #, fuzzy msgid "_Delete Selected Effect" msgstr "_Poista valittu tehoste" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 msgid "Apply Effect to _Block..." msgstr "" -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 #, fuzzy msgid "Apply Effect to _Region..." msgstr "_Käytä valinnassa tosiaikaisia tehosteita" -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "_Raidat" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 msgid "Make _Backing Audio Current Track" msgstr "" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 #, fuzzy msgid "_Split Current Track at Cursor" msgstr "Jaa nykyinen raita osiin _osoittimen kohdalta" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 #, fuzzy msgid "_Split Selected Video Tracks" msgstr "Jaa _valitut raidat osiin" -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 #, fuzzy msgid "Insert Gap in Selected Tracks/Time" msgstr "L_isää valittu leike" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 msgid "Insert Gap in Current Track/Selected Time" msgstr "" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 msgid "Close All _Gaps in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "Va_linnat" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 #, fuzzy msgid "Select _All Video Tracks" msgstr "Valitse _kaikki videoraidat" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 #, fuzzy msgid "Select _No Video Tracks" msgstr "Valitse _kaikki videoraidat" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 #, fuzzy msgid "Select All _Time" msgstr "Valitse _kaikki kuvat" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 #, fuzzy msgid "Select from _Zero Time" msgstr "Valitse _ensimmäisestä kuvasta alkaen" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 #, fuzzy msgid "Select to _End Time" msgstr "Valitse _viimeiseen kuvaan saakka" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "_Kopioi..." -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 msgid "_Timecode to Region Start" msgstr "" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 msgid "_Timecode to Region End" msgstr "" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 msgid "_Region Start to Timecode" msgstr "" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 msgid "_Region End to Timecode" msgstr "" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 msgid "Select/Deselect Block at Current Track/Time" msgstr "" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 #, fuzzy msgid "_Change Width, Height and Audio Values..." msgstr "_Muuta leveys-, korkeus- ja ääniarvoja..." -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 #, fuzzy msgid "_Render All to New Clip" msgstr "Luo uu_si leike" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 msgid "Render _Video" msgstr "" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 #, fuzzy msgid "Render _Audio" msgstr "Uusi ääniraita" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 msgid "_Normalise Rendered Audio" msgstr "" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 #, fuzzy msgid "_Pre-render Audio" msgstr "_Poista ääni..." -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "_Näytä" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 msgid "Block _In/Out Points" msgstr "" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 msgid "_Effects at Current" msgstr "" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 #, fuzzy msgid "Audio Parameters" msgstr "Ei arvoja" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 msgid "Show Backing _Audio Track" msgstr "" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 #, fuzzy msgid "Compact View" msgstr "Suppea näkymä (d)" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 msgid "Maximum Tracks to Display..." msgstr "" -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 msgid "Scroll to Follow Playback" msgstr "" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 msgid "_Center on Cursor" msgstr "" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 #, fuzzy msgid "_Zoom In" msgstr "L_ähennä" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 #, fuzzy msgid "_Zoom Out" msgstr "L_oitonna" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 #, fuzzy msgid "Multitrack _Details" msgstr "_Multitrack-tiedot" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "_Tapahtumaikkuna" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 msgid "_Show FRAME Events" msgstr "" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 #, fuzzy msgid "_Show Multitrack Keys" msgstr "_Näytä multitrack-näppäimet" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "Tee _vikailmoitus" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 #, fuzzy msgid "Insert With _Audio" msgstr "Lisää äänen _kanssa" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 #, fuzzy msgid "Select _Overlap" msgstr "Tekstitys" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" msgstr "" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "Laajempi näkymä (d)" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "Suppea näkymä (d)" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 #, fuzzy msgid "Mouse Mode: _Move" msgstr "Hiiren tila: _Siirrä" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 #, fuzzy msgid "Mouse Mode: _Select" msgstr "Hiiren tila: _Valitse" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 msgid "Insert Mode: _Normal" msgstr "" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "" -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "" -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "Ankkuroi aloituspiste aikajanaan" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "Ankkuroi lopetuspiste aikajanaan" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "Vieritys" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" @@ -9917,95 +9922,95 @@ "==============================\n" "Vaihdettiin leikemuokkaustilaan\n" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "Aikajana (sekuntia)" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr "" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr " Tason %d ääni" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "Tason %d ääni" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "%s (taso %d)" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "Video %d" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr " %s" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 #, fuzzy msgid "Selected Effect" msgstr "Valitse viimeisin _tehoste" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 #, fuzzy msgid "_View/Edit this Effect" msgstr "_Poista tämä tehoste" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 #, fuzzy msgid "_View this Effect" msgstr "_Poista tämä tehoste" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 #, fuzzy msgid "_Delete this Effect" msgstr "_Poista tämä tehoste" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "Tätä tehostetta ei voi siirtää" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr " %d - %d valittuna " -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "%.2f s" -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "%d kuvaa" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" @@ -10015,70 +10020,70 @@ "==============================\n" "Vaihdettiin Multitrack-tilaan\n" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" "Nodes can be deleted." msgstr "" -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -10086,21 +10091,21 @@ "current time.\n" msgstr "" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." @@ -10108,150 +10113,150 @@ "Tehosteita voi raahata\n" "aikajanalla oleviin lohkoihin." -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 #, fuzzy msgid "Selected Block/Frame" msgstr "Valitse _kaikki kuvat" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 #, fuzzy msgid "_Select this Block" msgstr "_Valitse tämä lohko" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 #, fuzzy msgid "_Split Block Here" msgstr "_Jaa lohko osiin tästä" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 msgid "List _Effects Here" msgstr "" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 #, fuzzy msgid "_Delete this Block" msgstr "_Poista tämä lohko" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 #, fuzzy msgid "_Insert Here" msgstr "Lisäys" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 msgid "_Insert Audio Here" msgstr "" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" msgstr "" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "raita %s" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "raidat %s ja %s" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "valitut raidat" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "Siivotaan..." -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "Paina toiston aikana \"m\"" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "tehdäksesi merkin aikajanalle" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " "to %.4f\n" msgstr "" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" msgstr "" "Lisättiin kuvat %d - %d leikkeestä %s raitaan %s aikaväliltä %.4f - %.4f\n" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" @@ -10260,7 +10265,7 @@ "Aikajakso %.3f - %.3f\n" "valittu.\n" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" @@ -10268,12 +10273,12 @@ "valitse yksi tai useampia raitoja\n" "luodaksesi alueen.\n" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "%d videoraita(a) valittu.\n" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." @@ -10281,7 +10286,7 @@ "Kaksoisnapsauta aikajanaa\n" "poistaaksesi aikajakson valinnan." -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." @@ -10289,7 +10294,7 @@ "Napsauta tehostetta\n" "valitaksesi sen." -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." @@ -10297,7 +10302,7 @@ "Kaksoisnapsauta tehostetta\n" "muokataksesi sitä." -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" @@ -10305,83 +10310,83 @@ "Napsauta tehostetta hiiren\n" "oikealla avataksesi pikavalikon.\n" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" msgstr "" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" msgstr "" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "" -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "" -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" msgstr "" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 #, fuzzy msgid "Saving layout" msgstr "_Tallenna asettelu" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" msgstr "" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -10389,11 +10394,11 @@ "Therefore it could not be loaded properly.\n" msgstr "" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" @@ -10402,31 +10407,31 @@ "\n" "Asettelutiedostoa %s ei voitu ladata\n" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "" -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "" -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "virheitä havaittu %d.\n" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 #, fuzzy msgid "" "The current layout has changes which have not been saved.\n" @@ -10435,34 +10440,34 @@ "Nykyistä asettelua ei ole tallennettu.\n" "Mitä haluat tehdä?\n" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 #, fuzzy msgid "Multitrack Audio Mixer" msgstr "LiVES: Multitrack-äänimikseri" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "_Palauta arvot" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "_Sulje mikseri" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" msgstr "" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "" @@ -10488,7 +10493,7 @@ "Connection to jack audio was reset.\n" msgstr "" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10496,7 +10501,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10504,7 +10509,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:104 +#: src/pulse.c:105 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10512,27 +10517,27 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" msgstr "" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" msgstr "" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr ""
View file
LiVES-2.8.4.tar.bz2/po/fr.po -> LiVES-2.8.6.tar.bz2/po/fr.po
Changed
@@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: fr\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" "PO-Revision-Date: 2015-11-25 22:11+0000\n" "Last-Translator: Jean-Marc <Unknown>\n" "Language-Team: Français <kwizart@gmail.com>\n" @@ -22,7 +22,7 @@ "X-Poedit-Country: FRANCE\n" "X-Poedit-Language: French\n" -#: src/main.c:132 +#: src/main.c:125 msgid "" "Attention Translators !\n" "This message is intended for you, so please do not translate it.\n" @@ -31,22 +31,22 @@ "http://lives-video.com/TRANS-README.txt" msgstr "" -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "%s Avertissement : %s\n" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "%s Erreur critique : %s\n" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "%s Erreur fatale : %s\n" -#: src/main.c:203 +#: src/main.c:197 #, fuzzy, c-format msgid "" "\n" @@ -60,7 +60,7 @@ "group_id=64341&atid=507139\n" "Merci. Une récupération devrait être possible si vous redémarrez LiVES.\n" -#: src/main.c:205 +#: src/main.c:199 #, fuzzy, c-format msgid "" "\n" @@ -73,7 +73,7 @@ "Lors des signalements de plantages, veuillez inclure les détails de votre " "système d'exploitation, la distribution, et la version de LiVES (" -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" @@ -81,7 +81,7 @@ "et toute autre information indiquée ci-dessous :\n" "\n" -#: src/main.c:210 +#: src/main.c:204 #, fuzzy msgid "" "Please try running LiVES with the -debug option to collect more " @@ -92,7 +92,7 @@ "recueillir plus d'informations.\n" "\n" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" @@ -102,89 +102,89 @@ "recueillir plus d'informations.\n" "\n" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "Marque positionnée.\n" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "Tous" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "Aucun" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "recommandé" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "désactivé !" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "**La configuration actuelle**" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "Intégré" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "Personnalisé" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "Essai" -#: src/main.c:474 +#: src/main.c:460 #, fuzzy msgid "LiVES: - " msgstr "LiVES : - %s" -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "Recadrage" -#: src/main.c:731 +#: src/main.c:708 #, fuzzy msgid "_Resize All Frames..." msgstr "_Recadre Toutes Les Images" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "Premier plan" -#: src/main.c:1122 +#: src/main.c:1094 msgid "Background" msgstr "Arrière plan" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "Chargement des greffons d'effets en temps réel…" -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "Démarrage du serveur audio jack..." -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "Démarrage du serveur de transport jack..." -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "Connexion au serveur de transport jack..." -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -196,35 +196,35 @@ "Alternatively, try to start lives with either \"lives -jackopts 16\", or " msgstr "" -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "Initialisation du serveur audio pulse..." -#: src/main.c:1855 +#: src/main.c:1813 #, fuzzy, c-format msgid "%s...detected... " msgstr "mplayer... détecté..." -#: src/main.c:1856 +#: src/main.c:1814 #, fuzzy, c-format msgid "%s...NOT DETECTED... " msgstr "mplayer... NON DÉTECTÉ..." -#: src/main.c:1867 +#: src/main.c:1824 #, fuzzy msgid "Checking optional dependencies: " msgstr "Vérification des dépendances optionnelles :" -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "Windows version %04X" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "INCONNU - veuillez me corriger !" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -235,53 +235,53 @@ "\n" "Le gestionnaire de fenêtres apparaît comme étant \"%s\"; " -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "nombre d'écrans détectés : %d\n" -#: src/main.c:1901 +#: src/main.c:1863 #, c-format msgid "Number of CPUs detected: %d " msgstr "nombre de CPU détectés : %d " -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "petit boutien" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "grand boutien" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "(%d bits, %s)\n" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "" -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "GTK+ version %d.%d.%d (compilé avec %d.%d.%d)" -#: src/main.c:1927 +#: src/main.c:1889 #, fuzzy, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "GTK+ version %d.%d.%d (compilé avec %d.%d.%d)" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr ", avec prise en charge cairo" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "Le dossier temporaire est %s\n" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" @@ -291,15 +291,15 @@ "prise en charge de jack ou de pulse audio.\n" "De nombreuses fonctions ne seront pas disponibles.\n" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "Compilé avec prise en charge de jack, bien !\n" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "Compilé avec prise en charge de Pulse Audio, génial !\n" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" @@ -308,7 +308,7 @@ "Bienvenue sur LiVES version %s.\n" "\n" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" @@ -318,82 +318,82 @@ "La syntaxe de lancement est : %s [options] [nomfichier [start_time] " "[frames]]\n" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "" "Où : nomfichier est le nom d'un fichier média ou d'un fichier de " "sauvegarde.\n" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "start_time : temps de début de filename en secondes.\n" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "frames : nombre maximal d'images à ouvrir\n" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "opts peut être :\n" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "-help : affiche l'aide et quitte.\n" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "" "-tmpdir <repertoiretemporaire> : utiliser un autre répertoire de travail " "(ex : /var/ramdisk)\n" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "" "-set <nom_du_set> : charger automatiquement l'ensemble de clips nom_du_set\n" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "-noset : ne charger aucun profil au démarrage\n" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "-norecover : désactiver la récupération automatique en cas de crash\n" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "" "-recover : force le chargement du recouvrement après un crash\n" -#: src/main.c:2593 +#: src/main.c:2545 msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "-nogui : lance le programme sans l'interface graphique.\n" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "-nosplash : ne pas montrer la fenêtre de démarrage\n" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "-noplaywin : ne pas montrer la fenêtre de lecture\n" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "-startup-ce : démarrer en mode éditeur de clip\n" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "-startup-mt : démarrer en mode multipiste\n" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" @@ -401,30 +401,30 @@ "-fxmodesmax <n> : permet <n> modes par clé d'effet (minimum : 1, valeur par " "défaut : 8)\n" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "-oscstart <port> : démarrer l'écoute de OSC sur le port UDP <port>\n" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "-nooscstart : ne pas démarrer l'écouteur OSC\n" -#: src/main.c:2605 +#: src/main.c:2557 msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " "mplayer2" msgstr "" #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr ", pulse" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr ", sox ou jack\n" -#: src/main.c:2613 +#: src/main.c:2565 #, fuzzy msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " @@ -436,17 +436,17 @@ "serveur de transport jack, 8 = mettre l'audio en pause quand la vidéo est " "mise en pause, 16 = démarrer le serveur audio jack] \n" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr " ou sox\n" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "" "-devicemap <mapname> : lancer automatiquement la cartographie des " "périphériques\n" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" @@ -455,15 +455,15 @@ "lecture vidéo depuis <fichier> (Remarque : définit seulement la " "configuration, pas le type du plugin)\n" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "-debug : essayer de debugger les crashs (nécessite 'gdb' installé)\n" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "Démarrage de l'interface graphique..." -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -474,7 +474,7 @@ "(Maybe you need to change the value of <prefix_dir> in your %s file)\n" msgstr "" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -482,7 +482,7 @@ "Please make sure you have write access to %s and try again.\n" msgstr "" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -496,7 +496,7 @@ "Relisez SVP le fichier README livré avec ce programme\n" "avant de lancer LiVES.\n" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -506,7 +506,7 @@ "Please check the file permissions for this file and try again.\n" msgstr "" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -517,7 +517,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -525,7 +525,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2737 +#: src/main.c:2689 #, fuzzy, c-format msgid "" "\n" @@ -540,7 +540,7 @@ "\n" "%s" -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -558,21 +558,21 @@ "\n" "Merci.\n" -#: src/main.c:2751 +#: src/main.c:2703 msgid "" "\n" "LiVES currently requires 'mplayer', 'mplayer2' or 'sox' to function. Please " "install one or other of these, and try again.\n" msgstr "" -#: src/main.c:2756 +#: src/main.c:2708 msgid "" "\n" "LiVES currently requires both 'mplayer' or 'mplayer2' and 'sox' to function. " "Please install these, and try again.\n" msgstr "" -#: src/main.c:2769 +#: src/main.c:2721 #, fuzzy msgid "" "\n" @@ -584,7 +584,7 @@ "est contenu dans ImageMagick si vous voulez utiliser les fonctions de " "fusion.\n" -#: src/main.c:2775 +#: src/main.c:2727 #, fuzzy msgid "" "\n" @@ -596,7 +596,7 @@ "est contenu dans ImageMagick si vous voulez utiliser les fonctions de " "fusion.\n" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" @@ -606,7 +606,7 @@ "LiVES n'arrive pas à trouver 'convert'. Vous devez installer convert qui est " "contenu dans ImageMagick si vous voulez utiliser les effets de rendu.\n" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " @@ -617,7 +617,7 @@ "est contenu dans ImageMagick si vous voulez utiliser les fonctions de " "fusion.\n" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " @@ -627,7 +627,7 @@ "Lives n'a pas pu trouver 'sox'. Certaines fonctions audios risquent de pas " "fonctionner. Vous devriez installer 'sox'.\n" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -638,63 +638,63 @@ "You may need to change the value of <lib_dir> in %s\n" msgstr "" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "" -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "En chargeant automatiquement le set %s..." #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "LiVES" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "Lecteur audio invalide %s\n" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <Sans titre%d> %dx%d : %d cadres %d bpp %.3f fps" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : ??? cadres ??? bpp %.3f fps" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : %d cadres %d bpp %.3f fps" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "LiVES-%s: <Pas de Fichier>" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "enr %9d/%d" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "!enr %9d/%d" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "Lecture" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" @@ -702,34 +702,34 @@ "LiVES ne peut capturer cette image\n" "\n" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "Fichier Fermé %s\n" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "_Annuler" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "_Rétablir" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "Vidéo" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "Audio Gauche" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "Audio Droite" -#: src/main.c:7078 +#: src/main.c:6973 msgid "" "\n" "\n" @@ -926,7 +926,7 @@ msgid "Use _mplayer2 audio player" msgstr "" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "_Suivant" @@ -1156,57 +1156,57 @@ msgid "_Finish" msgstr "_Terminer" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "Laisser LiVES gérer l'extension de fichier" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "" -#: src/interface.c:46 +#: src/interface.c:42 msgid "Apply _Deinterlace" msgstr "" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "" "Si vous sélectionnez cela, la vidéo sera désentrelacée durant son " "importation." -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "Voir" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "" "Cliquez ici pour _Prévisualiser tout fichier vidéo, image, ou audio " "sélectionné." -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "Cliquez ici pour _Prévisualiser tout fichier audio sélectionné" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "Cliquez ici pour prévisualiser la vidéo." -#: src/interface.c:122 +#: src/interface.c:113 #, fuzzy msgid "Click here to _Preview the file" msgstr "Cliquez ici pour prévisualiser la vidéo." -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 #, fuzzy msgid "Processing..." msgstr "LiVES: - Traitement..." -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1220,8 +1220,8 @@ "\n" "N'oubliez pas de désactiver les effets (ctrl-0) par la suite !" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" @@ -1229,174 +1229,179 @@ "\n" "Patientez SVP" -#: src/interface.c:221 +#: src/interface.c:206 msgid "Show Details" msgstr "Afficher les détails" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "_Assez" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "_Voir" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "Paus_e" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "_Annuler" -#: src/interface.c:334 +#: src/interface.c:324 #, fuzzy msgid "Multitrack Details" msgstr "Détails multipistes" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "Format" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "Taille de l'encadrement" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "Taille Fichier" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "Byte size" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "IPS" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "Images" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "Evènement" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "Temps Total" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "Audio" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "Vitesse/taille" -#: src/interface.c:568 +#: src/interface.c:590 #, fuzzy msgid "Encoding Options" msgstr "LiVES: - Options d'encodage" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." msgstr "" -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "Conserver mes réglages" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "Utilisé les paramètres recommandés" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "_Fermer la fenêtre" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "_Sauve au fichier" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "Insérer" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "_Nombre de fois à insérer" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "_Insère pour correspondre au son" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "Insère _avant la sélection" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "Inserez le contenu du presse-papier avant la sélection" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "Insère après la sélection" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "Insérer le contenu du presse-papier après la sélection" -#: src/interface.c:833 +#: src/interface.c:846 +#, fuzzy +msgid "Insert _with silence" +msgstr "Insère avec le _son" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "Insère avec le _son" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "Insère sans le son" -#: src/interface.c:924 +#: src/interface.c:937 #, fuzzy msgid "Open Selection" msgstr "_Copier Sélection" -#: src/interface.c:943 +#: src/interface.c:954 msgid "Selection start time (sec)" msgstr "" -#: src/interface.c:949 +#: src/interface.c:960 msgid "Number of frames to open" msgstr "" -#: src/interface.c:1023 +#: src/interface.c:1029 #, fuzzy msgid "Open Location" msgstr "LiVES: - Ouvrir emplacement" -#: src/interface.c:1025 +#: src/interface.c:1031 msgid "Open Youtube Clip" msgstr "" -#: src/interface.c:1045 +#: src/interface.c:1050 #, fuzzy msgid "" "\n" @@ -1414,7 +1419,7 @@ "Préférences|Streaming\n" "\n" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1423,72 +1428,72 @@ "\n" msgstr "" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "URL : " -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "" -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "Ne pas envoyer les infos de bande passante" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "" "Essayez cette option si vous avez des problèmes de chargement sur un stream" -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "" -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "" -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr ".webm" -#: src/interface.c:1188 +#: src/interface.c:1189 #, fuzzy msgid "Rename Clip" msgstr "Rotation" -#: src/interface.c:1190 +#: src/interface.c:1191 msgid "Enter Set Name to Save as" msgstr "" -#: src/interface.c:1192 +#: src/interface.c:1193 #, fuzzy msgid "Enter a Set Name to Reload" msgstr "Générer les images vers le Presse-papiers..." -#: src/interface.c:1194 +#: src/interface.c:1195 #, fuzzy msgid "Choose a Working Directory" msgstr "LiVES: - Choisissez un répertoire de travail" -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 #, fuzzy msgid "Rename Current Track" msgstr "Sélectionner la piste actuelle" -#: src/interface.c:1198 +#: src/interface.c:1199 #, fuzzy msgid "Enter a Name for Your Theme" msgstr "Générer les images vers le Presse-papiers..." -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1502,7 +1507,7 @@ "LiVES va vous rappeler d'enregistrer le clip fixées ultérieurement lorsque " "vous essayez de quitter.\n" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1528,220 +1533,220 @@ "This should be a directory with plenty of disk space available.\n" msgstr "" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "Nouveau Nom " -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "Indiquer nom " -#: src/interface.c:1257 +#: src/interface.c:1255 #, fuzzy msgid "Theme name " msgstr "Nouveau Nom " -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "_Avancé" -#: src/interface.c:1437 +#: src/interface.c:1425 #, fuzzy msgid "Select input device" msgstr "Sélection jusqu'à la fin du temps" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "" -#: src/interface.c:1517 +#: src/interface.c:1505 #, fuzzy msgid "Load CD Track" msgstr "_Charger une piste CD...." -#: src/interface.c:1519 +#: src/interface.c:1507 #, fuzzy msgid "Select DVD Title/Chapter" msgstr "LiVES:- Sélectionne le titre/chapitre du DVD" -#: src/interface.c:1521 +#: src/interface.c:1509 #, fuzzy msgid "Select VCD Title" msgstr "LiVES:- Sélectionne le titre VCD" -#: src/interface.c:1523 +#: src/interface.c:1511 #, fuzzy msgid "Change Maximum Visible Tracks" msgstr "LiVES:- Changer le nombre de pistes affichées" -#: src/interface.c:1525 +#: src/interface.c:1513 #, fuzzy msgid "Device details" msgstr "Détails multipistes" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "Piste à charger (de %s)" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "Titre DVD" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "Titre VCD" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "Nombre maximal de piste à afficher" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "Chapitre " -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "Canal " -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "Audio ID " -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "Largeur" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "Hauteur" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "_Pilote" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "Format de _sortie" -#: src/interface.c:1815 +#: src/interface.c:1778 #, fuzzy msgid "Fade Audio In" msgstr "Fondu audio entrant..." -#: src/interface.c:1817 +#: src/interface.c:1780 #, fuzzy msgid "Fade Audio Out" msgstr "Fondu audio sortant..." -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "" -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "premier" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "" -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "dernier" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "secondes." -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "sélection" -#: src/interface.c:1909 +#: src/interface.c:1865 #, fuzzy msgid " (Optional)" msgstr "_Options" -#: src/interface.c:1912 +#: src/interface.c:1868 #, fuzzy, c-format msgid "File Comments%s" msgstr "LiVES: - Commentaires Fichier (optionnel)" -#: src/interface.c:1927 +#: src/interface.c:1882 #, fuzzy, c-format msgid "File Name: %s" msgstr "Titre/Nom : " -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "Titre/Nom : " -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "Auteur/Artiste : " -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "Commentaires : " -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "Parcourir..." -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "_Options" -#: src/interface.c:2109 +#: src/interface.c:2058 #, c-format msgid "%sChoose a Device" msgstr "" -#: src/interface.c:2112 +#: src/interface.c:2061 #, fuzzy, c-format msgid "%sChoose a Directory" msgstr "LiVES: - Choisissez un répertoire de travail" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" @@ -1751,7 +1756,7 @@ "Votre travail n'a pas encore été sauvegardé.\n" "Que voulez vous faire ?\n" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" @@ -1761,7 +1766,7 @@ "Votre n'avez pas sauvergardé vos derniers changements.\n" "Que voulez vous faire ?\n" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" @@ -1771,7 +1776,7 @@ "Vous n'avez pas encore sauvegardé votre travail.\n" "Que voulez-vous faire ?\n" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" @@ -1779,7 +1784,7 @@ "Le clip current n'a pas été sauvé.\n" "Que voulez-vous faire ?\n" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" @@ -1787,7 +1792,7 @@ "La disposition actuelle n'a pas étée sauvée.\n" "Que voulez-vous faire ?\n" -#: src/interface.c:2410 +#: src/interface.c:2341 #, fuzzy msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" @@ -1796,7 +1801,7 @@ "La disposition actuelle n'a pas étée sauvée.\n" "Que voulez-vous faire ?\n" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" @@ -1807,79 +1812,79 @@ "être conservés.\n" "Que souhaitez-vous faire ?" -#: src/interface.c:2417 +#: src/interface.c:2348 #, fuzzy msgid "Cancel/Discard/Save" msgstr "LiVES: - Annuler/Continuer/Sauvegarder" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "_Nom de l'ensemble de clips" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "Recharge _automatiquement la prochaine fois" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "_Essuyez layout" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "_Ignore les changements" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "_Supprime l'ensemble de clips" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "_Supprime la disposition" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "_Sauve la disposition" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "_Sauve l'ensemble de clips" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" "Would you like to try and recover it ?\n" msgstr "" -#: src/interface.c:2527 +#: src/interface.c:2455 msgid "Disk Recovery Options" msgstr "" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "" -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "" -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "_Réinitialiser aux valeurs par défaut" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "Afficher Touches" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1887,354 +1892,354 @@ "-----------------------\n" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 #, fuzzy msgid "ctrl-left" msgstr "Retour rapide (Ctrl+gauche)" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 #, fuzzy msgid "skip forwards\n" msgstr "Avance rapide" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 #, fuzzy msgid "ctrl-down" msgstr "Ctrl-%d" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "ctrl-enter" msgstr "_Autre" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "reset frame rate\n" msgstr "Première Image" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "" -#: src/interface.c:2723 +#: src/interface.c:2642 msgid "reverse direction\n" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "ctrl-1" msgstr "Ctrl-%d" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "toggle real-time effect 1\n" msgstr "Effets en temps _réel" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "ctrl-2" msgstr "Ctrl-%d" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "toggle real-time effect 2\n" msgstr "Effets en temps _réel" -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 #, fuzzy msgid "ctrl-0" msgstr "Ctrl-%d" -#: src/interface.c:2751 +#: src/interface.c:2670 #, fuzzy msgid "real-time effects off\n" msgstr "Effets en temps _réel" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "" -#: src/interface.c:2759 +#: src/interface.c:2678 msgid "grab keyboard for last activated effect\n" msgstr "" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2688 #, fuzzy msgid "tab" msgstr "tap" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "" -#: src/interface.c:2785 +#: src/interface.c:2706 #, fuzzy msgid "Other playback keys\n" msgstr "Lecture inversée " -#: src/interface.c:2789 +#: src/interface.c:2710 #, fuzzy msgid "play all\n" msgstr "Lecture de l'ensemble" -#: src/interface.c:2792 +#: src/interface.c:2713 #, fuzzy msgid "play selection\n" msgstr "Lecture Sélection" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "" -#: src/interface.c:2798 +#: src/interface.c:2719 #, fuzzy msgid "fullscreen\n" msgstr "_Plein Écran" -#: src/interface.c:2801 +#: src/interface.c:2722 #, fuzzy msgid "separate window\n" msgstr "Lecture dans une Fenêtre séparée (s)" -#: src/interface.c:2804 +#: src/interface.c:2725 #, fuzzy msgid "double size\n" msgstr "Taille Double" -#: src/interface.c:2807 +#: src/interface.c:2728 #, fuzzy msgid "ping pong loops\n" msgstr "Pin_g Pong (Lecture Continue)" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "Clefs multipiste" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 #, fuzzy msgid "move current track up\n" msgstr "Sélectionner la piste actuelle" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 #, fuzzy msgid "move current track down\n" msgstr "Sélectionner la piste actuelle" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "" -#: src/interface.c:2849 +#: src/interface.c:2768 #, fuzzy msgid "select next clip\n" msgstr "Insérer le clip sélectionné" -#: src/interface.c:2852 +#: src/interface.c:2771 #, fuzzy msgid "select/deselect current track\n" msgstr "Sélectionner la piste actuelle" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "zoom in\n" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "zoom out\n" msgstr "" -#: src/interface.c:2861 +#: src/interface.c:2780 #, fuzzy msgid "make a mark on the timeline (during playback)\n" msgstr "Faire une marque sur la ligne de temps" -#: src/interface.c:2864 +#: src/interface.c:2783 #, fuzzy msgid "rewind to play start.\n" msgstr "Revenir au début (w)" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "En sauvant comme l'ensemble %s..." -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "" -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "" -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -2242,16 +2247,16 @@ "the latest youtube-dl installed.\n" msgstr "" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, c-format msgid "Layouts were removed for set %s.\n" msgstr "" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "Ce fichier" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " @@ -2259,7 +2264,7 @@ ",\n" " - y compris la mise en page actuelle - " -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2269,7 +2274,7 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2279,14 +2284,14 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" "Really close it ?" msgstr "" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" @@ -2294,7 +2299,7 @@ "\n" "Fichier de projet invalide.\n" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2307,54 +2312,54 @@ "Once you have done this, you will be able to import the new project.\n" msgstr "" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "Importer le projet %s en tant que %s..." -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "importation du projet" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "Exportation du projet %s..." -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "Exportation du projet" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 #, fuzzy msgid "Theme" msgstr "Nouveau Nom " -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, fuzzy, c-format msgid "Exporting theme as %s..." msgstr "Exporte son sous %s...." -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, fuzzy, c-format msgid "Importing theme \"%s\" from %s..." msgstr "Exporte son sous %s...." -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, fuzzy, c-format msgid "Backup as %s File" msgstr "Sauvegarder comme fichier .lv1" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, fuzzy, c-format msgid "Restore %s File" msgstr "Restaurer fichier .lv1" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2366,103 +2371,103 @@ "L'ensemble sera supprimé du disque.\n" "Es-tu sûr ?\n" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "" -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "Suppression du set..." -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "Suppression du set" -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "Insère Silence" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "Annulation" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "" -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "" "La longueur de la vidéo est maintenant de %d images à %.3f images par " "seconde.\n" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "Le presse-papiers a été reéchantillonne à %d images.\n" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "Refaire" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "" -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "" -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "Copie vers le presse-papiers" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "Couper" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 msgid "Pulling frames from clipboard" msgstr "" -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "" -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "Collage" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "" -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " "LiVES.\n" msgstr "" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2476,31 +2481,31 @@ "Essayez de sélectionner tous les cadres, et d'utiliser ensuite \n" "la fonction 'Taille Audio' dans le menu Audio." -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." msgstr "" -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "Re-échantillonage de l'audio du Presse-papiers" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2512,7 +2517,7 @@ "LiVES est incapable de reéchantillonner l'audio du presse-papiers. \n" "Le Presse-papiers a été effacé.\n" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2526,32 +2531,32 @@ "Voulez-vous continuer avec cette insertion\n" "sans modifier l'audio ?\n" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "Insère %d%s images depuis le Presse-papiers..." -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "Insertion" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "Insère %d de temps depuis le Presse-papiers%s...." -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "Insère %d images depuis le Presse-papiers%s...." -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "Annulation" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" @@ -2561,49 +2566,49 @@ "L'effacement de toutes les images va fermer ce fichier.\n" "Êtes-vous certain de vouloir continuer ?" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "Effacement des images %d à %d%s...." -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "Effacement" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "Effacer" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" @@ -2613,7 +2618,7 @@ "\n" "La sélection est verrouillée.\n" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2621,11 +2626,11 @@ "play.)\n" msgstr "" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "Enregistrement annulé\n" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2638,7 +2643,7 @@ "Le plugin '%s' a retourné :\n" "%s\n" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2651,7 +2656,7 @@ "Impossible de trouver la méthode 'init' dans le plugin %s.\n" "Le plugin est défectueux ou mal installé." -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2660,22 +2665,22 @@ "Please press 'Cancel' if that is not what you want.\n" msgstr "" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "Sauvegarde %s" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "Chargement des clips depuis %s" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2687,24 +2692,24 @@ "fonctionnant sur cette machine.\n" "Appuyer sur OK pour commercer.\n" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "Nettoyage de l'espace disque..." -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "" -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "" -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2712,12 +2717,12 @@ "Internal: %s (%d bpp) / %s\n" msgstr "" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." @@ -2725,7 +2730,7 @@ "\n" " Ouverture..." -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" @@ -2734,7 +2739,7 @@ "\n" "(%d virtuaux)" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" @@ -2743,7 +2748,7 @@ "\n" "(%d decodés)" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" @@ -2752,7 +2757,7 @@ "\n" " %.2f sec." -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" @@ -2760,23 +2765,23 @@ "\n" " Inconnu" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "signé" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" @@ -2785,7 +2790,7 @@ " %d Hz %d bit\n" "%s %s" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2802,15 +2807,15 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n" msgstr "" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "Un éditeur de vidéo et VJ programme." -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "À propos de LiVES" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" "Launchpad Contributions:\n" @@ -2822,7 +2827,7 @@ " Vincent Hatakeyama https://launchpad.net/~vincent.lhote\n" " salsaman https://launchpad.net/~salsaman" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, c-format msgid "" "LiVES Version %s\n" @@ -2836,14 +2841,14 @@ "Homepage: %s" msgstr "" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 msgid "" "\n" "\n" "You need to install mplayer or mplayer2 to be able to preview this file.\n" msgstr "" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 msgid "" "\n" "\n" @@ -2851,93 +2856,93 @@ "this file.\n" msgstr "" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" "%s\n" msgstr "" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 msgid "Encoder Debug Output" msgstr "" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "Lecture plein Écran (f)" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "Lecture plein Écran (f)" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "Taille Double (d)" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "Taille simple (d)" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "Cacher la Fenêtre de Lecture (s)" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "Afficher la Fenêtre de Lecture (s)" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "Lecture dans une Fenêtre séparée (s)" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "Passer en boucle continue (o)" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "Passer en boucle continue (o)" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "Volume audio (%.2f)" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "Activer ll'audio (z)" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "Désactiver l'audio (z)" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "Inversement du Presse-papiers..." -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "Inversement du presse-papiers" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 msgid "Load Subtitles" msgstr "" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 #, fuzzy msgid "Select Audio File" msgstr "Efface Audio" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -2945,83 +2950,83 @@ "." msgstr "" -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "Ouverture de l'audio %s, type %s...." -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "Ouverture de l'audio" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "Validation du son" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "Nouveau Audio" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "Ouverture de la piste %d en provenance du CD %s..." -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "Piste CD %d" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "Ouverture de la piste CD...." -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "Erreur lors du chargement de la piste du CD\n" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 #, fuzzy msgid "Layout Errors" msgstr "Erreurs de sortie" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "Efface Les _Fautes" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "_Supprime les dispositions concernées" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "Reprendre" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "en attente..." -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "reprise..." -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "Garder" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, c-format msgid "" "\n" @@ -3030,30 +3035,30 @@ "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "Annuler" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "Arrêter" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 #, fuzzy msgid "Selected Frame" msgstr "Sélectionner toutes les Images..." -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 #, fuzzy msgid "_Save Frame as..." msgstr "_Sauve disposition comme..." -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -3062,7 +3067,7 @@ "\n" msgstr "" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -3075,7 +3080,7 @@ "fonctionnalité\n" "\n" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" @@ -3083,7 +3088,7 @@ "\n" "La nouvelle vitesse doit être supérieure à 0\n" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -3097,17 +3102,17 @@ "Cliquez 'Annuler' pour annuler\n" "\n" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "La fenêtre extérieure a été 'released'.\n" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" msgstr "" -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -3123,19 +3128,19 @@ "Arrêter ou 'q' pour terminer.\n" "(La valeur par défaut de %.3f images par seconde est utilisée.)\n" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "LiVES ne peut capturer cette fenêtre, Désolé.\n" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "Exporte Audio Sélectionné sous...." -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "Exporte Audio sous..." -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -3149,87 +3154,87 @@ "Cliquez 'OK' pour l'exporter à la nouvelle vitesse ou 'Annuler' pour " "l'exporter à la vitesse originale.\n" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "Exportation du son de la position %d à %d sous %s...." -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "Exporte son sous %s...." -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "Exportation du son" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 #, fuzzy msgid "Append Audio File" msgstr "Ajouter Audio" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "Ajout du fichier son %s..." -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "Ajout du fichier son" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "Ajouter Audio" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "" -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "Ajuste audio de %.2f à %.2f secondes..." -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "Ajustement/Complément audio" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "Ajuste/Délaie Audio" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "Fondu audio entrant" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "Fondu audio entrée" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "Fondu audio sortant" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "Fondu audio sortie" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "" -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "" -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "Fondu audio..." -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" @@ -3239,33 +3244,33 @@ "L'effacement complet de l'audio va fermer ce fichier.\n" "Êtes-vous certain de vouloir continuer ?" -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "Efface complet de l'audio..." -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "Effacement de l'audio de %.2f à %.2f secondes..." -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "Effacement du son" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "Efface Audio" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "Enregistre de nouvel audio" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "Insertion d'un silence de %.2f à %.2f secondes..." -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "Insertion Silence" @@ -3279,7 +3284,7 @@ msgstr "" "Fusionner Presse-papiers [ %d Images ] Avec la sélection [ %d Images ]" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" @@ -3287,878 +3292,878 @@ "Fusionner Presse-papiers [ %d Images (reéchantillonnées] Avec la " "sélection [ %d Images ]" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "Aligner Début" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "Aligner Fin" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "Que faire des images en plus du presse-papiers -" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "_Insérer Images" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "_Ignorer images" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "Nombre de relectures du Presse-papiers" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "Répéter _le Presse-papiers pour Correspondre à la Sélection" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "Méthode de _Transition :" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "Jonction du presse-papiers avec la sélection..." -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "Fusion terminée.\n" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "" -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "Effets Personnalisés" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "_Utilitaires Personnalisés" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "_Fichier" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "_Ouvre Fichier/Répertoire" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "" -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "Ouvrir URL/Stream..." -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "" -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "" -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "Importe depuis _Firewire périphérique (dv)" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "Importe depuis _Firewire périphérique (hdv)" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "" -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "Fichiers _Récents...." -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "" -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "Ferme / _Enregistre Tous Les Clips" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "" -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "" -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "_Ferme Ce Clip" -#: src/gui.c:692 +#: src/gui.c:674 #, fuzzy, c-format msgid "_Backup Clip as .%s..." msgstr "Sauvegarder comme fichier .lv1" -#: src/gui.c:701 +#: src/gui.c:683 #, fuzzy, c-format msgid "_Restore Clip from .%s..." msgstr "Restauration de %s..." -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "Nettoyage de l'espace disque" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "_Édition" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "Mode multipistes" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "_Copier Sélection" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "_Couper Sélection" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "_Insérer depuis le Presse-papiers..." -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "Coller comme _Nouveau" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "_Joindre le Presse-papiers avec la Sélection...." -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "_Effacer Sélection" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "Dissocier _Vidéo de l'Audio" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "_Sélectionner..." -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "Sélectionner toutes les Images..." -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "Première Image seulement" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "_Dernière Image seulement" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "Sélection à partir de la première Image" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "Sélection jusqu'à la Dernière Image" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "Sélection dernière Insertion/Fusion" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "Sélection dernier _Effet" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "_Inverser Sélection" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "Verrouiller _Largeur Sélection" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "_Lecture" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "Lecture Tout" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "Lecture Sélection" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "Lecture Presse-papiers" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "_Arrêter" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "Rembobiner" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "_Plein Écran" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "Taille Double" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "Lecture dans une Fenêtre _Séparée" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "_Cacher Arrière Plan" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "(Auto)relecture Vidéo (pour correspondre à la piste audio)" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "Lecture Continue" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "Pin_g Pong (Lecture Continue)" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "_Muet" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "Fenêtre mode 'S_ticky' séparée" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "Afficher Compteur d'Image_s" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "" -#: src/gui.c:1069 +#: src/gui.c:1045 msgid "Letterbox Mode" msgstr "" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "Effet_s" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "Les effets sont appliqués à la sélection actuelle." -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "_Outils" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "Les outils s'appliquent aux clips en entier." -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "Inve_rser contenu Presse-papiers" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "_Change la vitesse de Playback/Sauvegarde" -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "Reéchantillonner la _Vidéo avec la Nouvelle Vitesse..." -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "_Utilitaires" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "Outils Personnalisés" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "_Génère" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "" -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "Capturer Fenêtre _Extérieure.... " -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "_Préférences...." -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "_Audio" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "Charge _Nouveau Son pour le Clip..." -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "_Charger une piste CD...." -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "Éjecter CD" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "Enregistrement audio" -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "vers nouveau clip..." -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "vers Sélection" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "Fondu audio entrant..." -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "Fondu audio sortant..." -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "_Exporter Audio..." -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "Exporte Audio _Sélectionné...." -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "Exporter _Audio Complet...." -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "_Ajouter Audio..." -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "_Ajuste/Délaie Audio..." -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "Ajuste/Délaie Audio vers la _Sélection" -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "Ajuste/Remplit l'Audio depuis le début jusqu'à Démarrer la Lecture" -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "_Efface Audio..." -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "_Effacer Audio Sélectionné" -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "Efface Tout l'_Audio" -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "Insérer un silence dans la sélection" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "_Reéchantillonner Audio...." -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "_Informations" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "Afficher/_Éditer les Commentaires Fichier" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "Afficher Informations du Presse-papiers" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "Afficher Messages" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "Afficher les erreurs de _mise en page" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "_Clips" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "_Renomme le Clip actuel dans le Menu..." -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "A_vancé" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "Effets _RFX/Outils/Utilitaires" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "_Nouvel Essai de Script RFX..." -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "_Copie Script RFX vers Essai..." -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "_Édite l'essai de Script RFX...." -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "_Renomme l'Essai de Script RFX...." -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "Efface l'Essai de Script RFX...." -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "_Promouvoir Effet Rendu Du Test/Outil/Générateur..." -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "_Importer un Script RFX Personnalisé..." -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "E_xporter un Script RFX Personnalisé..." -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "Effacer un Script RFX Personnalisé..." -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "Régénère tous les plugins RFX" -#: src/gui.c:1397 +#: src/gui.c:1371 #, fuzzy msgid "Receive _LiVES Stream from..." msgstr "Recevoir les flux _LiVES depuis..." -#: src/gui.c:1401 +#: src/gui.c:1375 #, fuzzy msgid "_Send LiVES Stream to..." msgstr "Envoyer les flux LiVES vers..." -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "" -#: src/gui.c:1426 +#: src/gui.c:1399 #, fuzzy, c-format msgid "_Import Project (.%s)..." msgstr "_Importe Projet (.lv2)..." -#: src/gui.c:1430 +#: src/gui.c:1403 #, fuzzy, c-format msgid "E_xport Project (.%s)..." msgstr "_Exporte Projet (.lv2)..." -#: src/gui.c:1437 +#: src/gui.c:1409 #, fuzzy, c-format msgid "_Import Custom Theme (.%s)..." msgstr "_Importe Projet (.lv2)..." -#: src/gui.c:1442 +#: src/gui.c:1414 #, fuzzy, c-format msgid "E_xport Theme (.%s)..." msgstr "_Exporte Projet (.lv2)..." -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "_VJ" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "Lie les effets en temps réel aux touches ctrl-nombre." -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "" -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." msgstr "" -#: src/gui.c:1476 +#: src/gui.c:1448 #, fuzzy msgid "_Reset All Playback Speeds and Positions" msgstr "_Réinitialiser toutes les vitesses de lecture et les positions" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "" -#: src/gui.c:1480 +#: src/gui.c:1452 #, fuzzy msgid "_MIDI/Joystick Interface" msgstr "Interface _MIDI/joystick" -#: src/gui.c:1489 +#: src/gui.c:1461 #, fuzzy msgid "_MIDI/Joystick Learner..." msgstr "Apprenant _MIDI/joystick..." -#: src/gui.c:1493 +#: src/gui.c:1465 msgid "_Save Device Mapping..." msgstr "" -#: src/gui.c:1497 +#: src/gui.c:1469 msgid "_Load Device Mapping..." msgstr "" -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "Afficher Touches de Raccourci" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "J_ouets" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "_Aucun" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "_Mauvaises Images" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "_LiVES TV (hertzienne)" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "_Aide" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "_Manuel (il s'ouvre dans le navigateur)" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 #, fuzzy msgid "_Donate to the Project !" msgstr "_Faites un don au projet !" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 #, fuzzy msgid "_Email the Author" msgstr "_Envoie une e-mail à l'auteur" -#: src/gui.c:1547 +#: src/gui.c:1519 #, fuzzy msgid "Report a _Bug" msgstr "Signale un _bug" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 #, fuzzy msgid "Suggest a _Feature" msgstr "Propose une nouvelle _fonctionnalité" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 #, fuzzy msgid "Assist with _Translating" msgstr "Aider à la _traduction" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "_Résolution de problèmes" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "_À propos" -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "Revenir au début (w)" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "Lecture de l'ensemble (p)" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "Arrête la lecture (q)" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "Lecture Sélection (y)" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "Volume" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "Volume audio (1.00)" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "Couleur d'arrière-plan (b)" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "Jouer plus lentement (ctrl-bas)" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "Jouer plus rapidement (ctrl+haut)" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "Retour rapide (Ctrl+gauche)" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "Avancer (ctrl+droit)" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "Cache cette barre d'outils" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." msgstr "" #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr " Vitesse de vidéo (images par seconde) " -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "Faire varier la vitesse de la vidéo" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "Première Image" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "Dernière Image" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "Le cadre choisi en premier dans ce clip" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "Le cadre sélectionné dernier dans ce clip" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "Démarrage...\n" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr "" " Appuyer sur 'q' pour arréter l'enregistrement. NE RECOUVREZ PAS LA " "FENÊTRE DE LECTURE ! " -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "Numéro de cadres pour prévisualiser" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "_Libre" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "_Début" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "_Fin" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "_Pointeur" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "Rembobiner" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "Lecture de l'ensemble" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "Lecture Sélection" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "Boucle On/Off" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "Démarrer l'enregistrement" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "Arréter l'enregistrement" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr "" -#: src/gui.c:3613 +#: src/gui.c:3553 #, fuzzy msgid "Streaming" msgstr "Diffusion/Réseau" -#: src/gui.c:3615 +#: src/gui.c:3555 #, fuzzy, c-format msgid "Play Window%s" msgstr "Cacher la Fenêtre de Lecture" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "Cacher la Fenêtre de Lecture" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "Afficher la Fenêtre de Lecture" -#: src/gui.c:4199 +#: src/gui.c:4127 #, fuzzy, c-format msgid "'LiVES opened the file' '%s'" msgstr "" @@ -4166,7 +4171,7 @@ "\n" "LiVES n'est pas capable de réorganiser les images." -#: src/gui.c:4220 +#: src/gui.c:4146 #, fuzzy, c-format msgid "'LiVES closed the file' '%s'" msgstr "Laisser LiVES gérer l'extension de fichier" @@ -4176,11 +4181,11 @@ msgid "Mapped to ctrl-%d" msgstr "" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "Effets" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "Clips" @@ -4194,11 +4199,11 @@ msgid "Select clip for %s\n" msgstr "" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "" @@ -4243,11 +4248,11 @@ msgid "%d bytes" msgstr "" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "Effacement du presse-papiers" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -4258,7 +4263,7 @@ "==============================\n" "Basculé sur le clip %s\n" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" @@ -4268,74 +4273,74 @@ "==============================\n" "Basculé sur le clip vide\n" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "(vide)" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " "updated accordingly\n" msgstr "" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -4343,7 +4348,7 @@ "by another copy of LiVES.\n" msgstr "" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -4351,7 +4356,7 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2188 +#: src/utils.c:2207 #, fuzzy, c-format msgid "" "\n" @@ -4360,7 +4365,7 @@ "\n" "Le nom du paramètre ne doit pas être vide.\n" -#: src/utils.c:2196 +#: src/utils.c:2215 #, fuzzy, c-format msgid "" "\n" @@ -4369,7 +4374,7 @@ "\n" "Le nom ne doit pas contenir d'espaces ou de caractère %s.\n" -#: src/utils.c:2204 +#: src/utils.c:2223 #, fuzzy, c-format msgid "" "\n" @@ -4378,18 +4383,18 @@ "\n" "Le nom ne doit pas contenir d'espaces ou de caractère %s.\n" -#: src/utils.c:2213 +#: src/utils.c:2232 #, c-format msgid "" "\n" "%s names may not start with a '.' or contain '..'\n" msgstr "" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4397,74 +4402,74 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "Vidéo [ouverture...]" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "Vidéo [%.2f sec]" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "(Non Défini)" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "(Pas de vidéo)" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "(Pas de son)" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "Mono [ouverture...]" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "Audio Gauche [ouverture...]" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "Mono [%.2f sec]" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "Audio Gauche [%.2f sec]" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "Audio Droit [ouverture...]" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "Audio Droit [%.2f sec]" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "" "LiVES ne peut basculer sur Mplayer lorsque un clip est en cours de " "chargement." -#: src/utils.c:3492 +#: src/utils.c:3548 msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "" -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "Remise en ordre du clip" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4479,29 +4484,29 @@ "\n" "Écraser ?\n" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "_Annuler %s" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "_Rétablir %s" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "-------------Sélection------------" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr " sec ] ----------Sélection---------- [ " -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr " images ] ----------" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4526,7 +4531,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "Ouverture de %s début %.2f sec. %d images" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr " sans le son" @@ -4644,7 +4649,7 @@ "Voulez-vous vraiment continuer ?" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "" @@ -4705,12 +4710,12 @@ msgid "Recording performance..." msgstr "Enregistrement de la représentation..." -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "Moyenne d'IPS = %.4f\n" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4724,21 +4729,21 @@ "Vous devez aller dans Outils--->Redimensionner toutes les images\n" "et redimensionner toutes les images aux dimensions actuelles.\n" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "Inconnu" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "Sans Nom%d" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "%d images sont en trop !\n" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4746,13 +4751,13 @@ "%s\n" msgstr "" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" msgstr "" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4760,7 +4765,7 @@ "Bad things may happen with this clip.\n" msgstr "" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4772,14 +4777,14 @@ "%.3f ips. \n" "La valeur par défaut peut être fixée dans Outils|Préférences|Divers.\n" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "" "La vitesse de playback est ajustée à %.3f images par seconde pour " "correspondre au son.\n" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" @@ -4788,61 +4793,61 @@ "Cadres = %d genre = %s dimension = %d x %d *bpp = Greyscale* fps=%.3f\n" "Audio:" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "aucun %s\n" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, c-format msgid " - Author: %s\n" msgstr " - Auteur : %s\n" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, c-format msgid " - Title: %s\n" msgstr " - Titre : %s\n" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr " - Commentaires : %s\n" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "Enregistre Image %d comme %s..." -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "Sauvegarde %s à %s" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "Sauvegarde" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "les données de la représentation sont sauvegardées..." -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "Restauration de %s..." -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "Restauration" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -4897,12 +4902,12 @@ msgid "Recovering files..." msgstr "Récupération des fichiers..." -#: src/dialogs.c:87 +#: src/dialogs.c:83 #, fuzzy msgid "Show affeced _layouts" msgstr "Afficher les _mises en page touchés" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" @@ -4910,50 +4915,50 @@ "Ne _plus afficher cet avertissement à nouveau\n" "(peut-être modifié depuis Préférences/Avertissements)" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr "" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 #, fuzzy msgid "Warning !" msgstr "Avertissements" -#: src/dialogs.c:198 +#: src/dialogs.c:186 msgid "Error !" msgstr "" -#: src/dialogs.c:208 +#: src/dialogs.c:196 #, fuzzy msgid "Information" msgstr "LiVES: Informations pour %s" -#: src/dialogs.c:234 +#: src/dialogs.c:221 msgid "Question" msgstr "" -#: src/dialogs.c:248 +#: src/dialogs.c:235 #, fuzzy msgid "File Error" msgstr "Efface Les _Fautes" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "A_nnuler" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "_Réessayer" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "Voir Les _Détails" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -4964,7 +4969,7 @@ "(Disk warning levels can be configured in Preferences.)" msgstr "" -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -4976,11 +4981,11 @@ "Preferences.)" msgstr "" -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "Lecteurs audio ne peuvent pas être allumés pendant la lecture." -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -4992,18 +4997,18 @@ "LiVES ne peut terminer cette opération à cause d'un manque de mémoire.\n" "Essayez SVP de fermer d'autres applications.\n" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "" -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" "%s%d%% done. Time remaining: %u sec%s\n" msgstr "" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" @@ -5012,14 +5017,14 @@ "\n" "%d/%d images ouvertes. Temps restant %u sec.\n" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" "%d/%d frames opened.\n" msgstr "" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" @@ -5028,7 +5033,7 @@ "\n" "%d images ouvertes.\n" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" @@ -5037,7 +5042,7 @@ "\n" "Temps restant: %d sec" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -5048,7 +5053,7 @@ "Désolé, LiVES ne peut ouvrir que %d fichiers à la fois.\n" "Fermez un fichier et essayez à nouveau." -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, fuzzy, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -5067,14 +5072,14 @@ "\n" "Assurez-vous que vous pouvez écrire dans ce répertoire." -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 msgid "" "\n" "LiVES currently requires either 'mplayer', 'mplayer2', or 'sox' to function. " "Please install one or other of these, and try again.\n" msgstr "" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 #, fuzzy msgid "" "\n" @@ -5086,7 +5091,7 @@ "est contenu dans ImageMagick si vous voulez utiliser les fonctions de " "fusion.\n" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 #, fuzzy msgid "" "\n" @@ -5098,26 +5103,26 @@ "est contenu dans ImageMagick si vous voulez utiliser les fonctions de " "fusion.\n" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" "Or switch to another encoder format in Tools | Preferences | Encoding\n" msgstr "" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -5129,19 +5134,19 @@ "Cet encodeur/format ne peut utiliser le codec audio demandé.\n" "Fixez SVP le codec audio dans Outils|Préférences|Encodage\n" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -5152,7 +5157,7 @@ "\n" "Provient de restrictions dans le format %s\n" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" @@ -5160,43 +5165,43 @@ "LiVES recommande les paramètres suivants:\n" "\n" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr ", signé" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr ", non signé" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr ", little-endian" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr ", big-endian" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "Nombre d'images par secondes défini à %d:%d par seconde\n" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "Redimensionner vers %d x %d pixels\n" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" @@ -5204,35 +5209,35 @@ "\n" "Vous voudriez :\n" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "Redimensionner la video en %d x %d pixels\n" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "LiVES doit:\n" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "Rééchantillonage vidéo à %.3f images par seconde.\n" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "rééchantillonage video en %d:%d images par seconde\n" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -5246,7 +5251,7 @@ "Appuyer sur `OK` pour commencer, `Annuler` pour abandonner.\n" "\n" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" @@ -5256,7 +5261,7 @@ "Les changements appliqués à la selection ne seront pas permanents.\n" "\n" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -5270,7 +5275,7 @@ "\"moire disponible.\n" "Essayez d'enregistrer sur une partie du fichier." -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -5288,7 +5293,7 @@ "\n" "Cliquez sur Annuler pour abandonner ou OK pour continuer." -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -5301,18 +5306,18 @@ "click Cancel." msgstr "" -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "Historique des Messages" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " "in your %s file" msgstr "" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -5323,7 +5328,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 #, fuzzy msgid "" "Sorry, unknown audio type.\n" @@ -5334,18 +5339,18 @@ "\n" " (Les extensions doivent être du type .mp3, .ogg, .wav, .mod, .xm ou .it)" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "échoué (type de fichier inconnu)\n" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" "(They will not be usable without the set).\n" msgstr "" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -5354,7 +5359,7 @@ "Click Cancel to pick a new name.\n" msgstr "" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -5362,7 +5367,7 @@ "." msgstr "" -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -5370,7 +5375,7 @@ "." msgstr "" -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -5381,7 +5386,7 @@ "Otherwise click Cancel to skip loading this file.\n" msgstr "" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -5391,7 +5396,7 @@ "The clip could not be loaded.\n" msgstr "" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -5399,7 +5404,7 @@ "Alternately, select a different audio player in Preferences.\n" msgstr "" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -5408,13 +5413,13 @@ "Automatic jack startup will be disabled now.\n" msgstr "" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" msgstr "" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -5425,7 +5430,7 @@ "%s\n" msgstr "" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" @@ -5433,7 +5438,7 @@ "\n" "Sinon, vous pouvez redémarrer LiVES et sélectionner un autre lecteur audio.\n" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -5443,7 +5448,7 @@ "It is recommended to increase it to at least %d MB" msgstr "" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -5452,7 +5457,7 @@ "Do you wish to delete them ?\n" msgstr "" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -5460,7 +5465,7 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -5468,7 +5473,7 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" @@ -5477,68 +5482,68 @@ "LiVES ne peut allouer suffisamment de mémoire pour l'historique des " "opérations multipiste.\n" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "ou entrer une valeur plug petite.\n" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" msgstr "" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" "You can set this in Tools|Preferences|Playback." msgstr "" -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" "Should I try to repair the disk copy of the layout ?\n" msgstr "" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" msgstr "" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" @@ -5548,7 +5553,7 @@ "\n" "Le taux audio doit être supérieur à 0.\n" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5556,7 +5561,7 @@ "Are you sure you wish to view it ?\n" msgstr "" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" @@ -5566,7 +5571,7 @@ "\n" "Vous devez installer 'dvgrab' pour utiliser cette fonction.\n" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5575,25 +5580,25 @@ "You may need to select one of these in Tools/Preferences/Playback.\n" msgstr "" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" msgstr "" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5602,33 +5607,33 @@ "echo %d > /proc/sys/net/core/rmem_max\n" msgstr "" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "annulé.\n" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "échoué.\n" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "terminé.\n" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "erreur dans le fichier. Echec.\n" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -5638,7 +5643,7 @@ "%s%s%s" msgstr "" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -5648,7 +5653,7 @@ "%s" msgstr "" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -5658,7 +5663,7 @@ "%s" msgstr "" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -5667,7 +5672,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -5677,7 +5682,7 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -5686,7 +5691,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -5696,12 +5701,12 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "" -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -5710,7 +5715,7 @@ "Please check your system for errors.\n" msgstr "" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -5723,7 +5728,7 @@ "%s\n" "Vérifiez les permissions du fichier et essayez à nouveau." -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -5732,7 +5737,7 @@ "Please check the directory permissions and try again." msgstr "" -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, c-format msgid "" "\n" @@ -5740,14 +5745,14 @@ "%s\n" msgstr "" -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -5755,13 +5760,13 @@ "Please select another encoder from the list.\n" msgstr "" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" msgstr "" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -5771,27 +5776,27 @@ "- Check if the device actually exists.\n" msgstr "" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" "Do you wish to overwrite the existing subtitles ?\n" msgstr "" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 msgid "" "\n" "LiVES currently only supports subtitles of type" msgstr "" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -5800,14 +5805,14 @@ "or OK to continue and save as type \"%s\"\n" msgstr "" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" "(If unsure, click Yes)\n" msgstr "" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -5818,19 +5823,19 @@ "." msgstr "" -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" msgstr "" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" msgstr "" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -5838,7 +5843,7 @@ "DO NOT SHUT DOWN OR CLOSE LIVES !\n" msgstr "" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, c-format msgid "" "\n" @@ -5846,14 +5851,14 @@ "The theme could not be loaded correctly.\n" msgstr "" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" "Please check the spelling of the set name and try again.\n" msgstr "" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -5862,7 +5867,7 @@ "directory. Would you like me to do this (recommended) ?" msgstr "" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -5874,7 +5879,7 @@ msgstr "" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -5883,38 +5888,38 @@ "\n" msgstr "" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" "Consult your package distributor.\n" msgstr "" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" msgstr "" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "Indiquez SVP votre lecteur CD dans Outils | Préférences | Divers\n" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, fuzzy, c-format msgid "" "\n" @@ -5927,7 +5932,7 @@ "%s\n" "Vérifiez les permissions du fichier et essayez à nouveau." -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -5936,7 +5941,7 @@ "already exists. Would you like to overwrite it ?\n" msgstr "" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -6077,7 +6082,7 @@ msgid "Video only Transitions" msgstr "" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "audio seulement" @@ -6085,7 +6090,7 @@ msgid "Audio only Transitions" msgstr "" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "audio" @@ -6129,7 +6134,7 @@ msgid "Audio Analysers" msgstr "" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "inconnu" @@ -6184,90 +6189,90 @@ "No frames were generated.\n" msgstr "" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 #, fuzzy msgid "Invalid element" msgstr "Paramètre non valide" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 #, fuzzy msgid "Invalid property" msgstr "Paramètre non valide" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 #, fuzzy msgid "Invalid plugin" msgstr "Ligne invalide %d dans %s\n" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 #, fuzzy msgid "No error" msgstr "Efface Les _Fautes" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 msgid "integer" msgstr "entier" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "booléen" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "double" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 msgid "string" msgstr "chaîne de caractères" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 msgid "pointer" msgstr "pointeur" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "Erreur: le greffon %s n'a pas de fonction weed_setup().\n" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" @@ -6276,270 +6281,270 @@ "Info: Impossible de charger le plugin %s\n" "L'erreur était: %s\n" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr "" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, c-format msgid "Successfully loaded %d compound filters\n" msgstr "" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, fuzzy, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "Impossible de charger l'instance %s, code d'erreur %d\n" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "Impossible de charger le générateur %s\n" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, fuzzy, c-format msgid "Failed to start generator %s (%s)\n" msgstr "Impossible de démarrer le générateur %s.\n" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, fuzzy, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "Impossible de démarrer le générateur %s.\n" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 msgid "Autoscale" msgstr "" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 msgid "Delete this connection" msgstr "" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, c-format msgid "%s - Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, c-format msgid "%s - Parameter Data Connections" msgstr "" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 msgid "Parameter and Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 msgid "Auto Connect Channels" msgstr "" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 msgid "Auto Connect Parameters" msgstr "" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "Tout déconnecter" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "Vous pouvez cliquer sur Prévisualiser pour changer ces valeurs" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "_Remise à Zéro des valeurs" -#: src/framedraw.c:241 +#: src/framedraw.c:242 msgid "_Frame" msgstr "" @@ -6583,40 +6588,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "%s : taille" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "Nouvelle taille (pixels)" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "Largeur" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "_Hauteur" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "Générer vers le presse-papiers" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "Générer les images vers le Presse-papiers..." -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "Générer les images vers un nouveau clip" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "Générer les images vers un nouveau clip" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -6692,32 +6697,32 @@ "\n" msgstr "" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "" -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "_IPS" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "Espace colorimétrique" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "Entré colorimétrique vers le plugin.\n" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -6730,7 +6735,7 @@ "Échec à l'ouverture du module de lecture %s\n" "L'erreur était %s\n" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -6740,7 +6745,7 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" @@ -6749,24 +6754,24 @@ "Échec à l'initialisation du module de lecture.\n" "L'erreur était: %s\n" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " "***\n" msgstr "" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -6775,7 +6780,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -6788,7 +6793,7 @@ "%s%s%s\n" "ou basculez sur un autre plugin dans Outils|Préférences|Encodage\n" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, c-format msgid "" "\n" @@ -6796,12 +6801,12 @@ "No decoders found in %s !\n" msgstr "" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, c-format msgid " using %s" msgstr "" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -6810,7 +6815,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -6820,26 +6825,26 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "" -#: src/plugins.c:2556 +#: src/plugins.c:2550 #, fuzzy msgid "Decoder Plugins" msgstr "Décodage" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "" "Chargement de %s échoué, les transitions ne peuvent être redimensionnées.\n" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "paramètres avancés %s" @@ -7051,20 +7056,20 @@ msgid "Move _Down" msgstr "Déplacer vers le _Bas" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 #, fuzzy msgid "RFX Properties" msgstr "LiVES: - Propriétés RFX" -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "Lent (avertir)" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -7078,7 +7083,7 @@ "Enlevez SVP le trigger en premier.\n" "\n" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -7090,29 +7095,29 @@ "Quelques triggers ont été ajustés.\n" "Vérifiez SVP le code du trigger.\n" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 #, fuzzy msgid "New RFX Parameter" msgstr "LiVES: - Nouveau Paramètre RFX" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 #, fuzzy msgid "Edit RFX Parameter" msgstr "LiVES: - Édite le Paramètre RFX" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "Nom: " -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "" -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "Marque: " -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." @@ -7120,168 +7125,168 @@ "Étiquette devant être affichée par le paramètre. Un tiret bas « _ » indique " "le raccourci clavier." -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "_Genre: " -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "Typ de paramètre (sélection depuis la liste)." -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "_Places des décimales : " -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "Valeur par défaut : " -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "Par défaut: " -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "_Groupe de boutons : " -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "" "Une valeur non égale à zéro peut être utilisée pour grouper les boutons " "radio." -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "Valeur _minimale: " -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "Valeur ma_ximale: " -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr " Taille du pas: " -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "" -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 msgid "_Wrap value" msgstr "" -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "" -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "Pose _valeurs" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "Défaut rouge: " -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "Défaut vert:" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "Défaut bleu: " -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "Définir par _défaut" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "Valeur par défaut: " -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "La longueur maximale du texte: " -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 #, fuzzy msgid "New RFX Parameter Window Hint" msgstr "LiVES: - Nouvelle Info-Bulle de Fenêtre RFX" -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 #, fuzzy msgid "Edit RFX Parameter Window Hint" msgstr "LiVES: - Édite Info-Bulle de Fenêtre RFX" -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "" -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "" -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "" -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "Ligne : " -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "Paramètres liés (%d) : " -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "Paramètres liés (4) : " -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "Paramètres liés (2) : " -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 #, fuzzy msgid "New RFX Trigger" msgstr "LiVES: - Nouveau Trigger RFX" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 #, fuzzy msgid "Edit RFX Trigger" msgstr "LiVES: - Édite Trigger RFX" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "Quand : " -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 #, fuzzy msgid "Pre Loop Code" msgstr "LiVES: - Code précédant la Boucle" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 #, fuzzy msgid "Loop Code" msgstr "Code Boucle..." -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 #, fuzzy msgid "Post Loop Code" msgstr "LiVES: - Code suivant la Boucle" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, fuzzy, c-format msgid "Default text (max length %d)" msgstr "LiVES : - Texte par défaut (longueur max. : %d)" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 #, fuzzy msgid "Enter values, one per line" msgstr "LiVES: - Entrer le nom des paramètres, un par ligne" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" @@ -7291,7 +7296,7 @@ "\n" "Le nom ne doit pas être vide.\n" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" @@ -7301,7 +7306,7 @@ "\n" "Le nom ne doit pas contenir d'espaces.\n" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" @@ -7311,7 +7316,7 @@ "\n" "Le texte de menu ne doit pas être vide.\n" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" @@ -7321,7 +7326,7 @@ "\n" "La description de l'action ne doit pas être vide.\n" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" @@ -7331,7 +7336,7 @@ "\n" "L'auteur ne doit pas être vide.\n" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -7343,7 +7348,7 @@ "Un plugin existe déjà avec ce nom.\n" "Le nom doit être unique.\n" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" @@ -7353,7 +7358,7 @@ "\n" "Le code de boucle ne doit pas être vide.\n" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" @@ -7363,7 +7368,7 @@ "\n" "Le code trigger ne doit pas être vide pour un utilitaire.\n" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" @@ -7373,7 +7378,7 @@ "\n" "Le nom du paramètre ne doit pas être vide.\n" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -7387,41 +7392,41 @@ "greffon doivent être uniques.\n" "\n" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "Écriture du fichier script %s...." -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "Aucune section <define> trouvée dans le script.\n" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "Mauvaise version du Script.\n" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "Pas de section <name> trouvée dans le script.\n" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "Aucune section <version> trouvée dans le script.\n" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "Aucune section <author> trouvée dans le script.\n" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "Aucune section <description> trouvée dans le script.\n" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "Description érronnée. (%s)\n" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -7436,27 +7441,27 @@ "trouvé dans le script.\n" "\n" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "Régénère tous les scripts RFX....intégré..." -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "Regénère tous les scripts RFX" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "personnalisé...." -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "test...." -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "régénère les entrées dynamiques des menus...." -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -7469,7 +7474,7 @@ "LiVES est incapable de trouver le programme %s.\n" "Vérifiez SVP si ce programme est dans le path et exécutable.\n" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -7484,12 +7489,12 @@ "%s ?\n" "\n" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "Effacement du script RFX %s...." -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -7504,7 +7509,7 @@ "%s\n" "Le code d'erreur est %d\n" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -7519,12 +7524,12 @@ "existe déjà.\n" "Effacez-le en premier ou renommez le script test.\n" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "Passage du plugin rfx test %s vers personnalisé..." -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -7535,22 +7540,22 @@ "Return code was %d (%s)\n" msgstr "" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 #, fuzzy msgid "Export Script" msgstr "Exportation du projet" -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "Copie de %s vers %s..." -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 #, fuzzy msgid "Import Script" msgstr "importation du projet" -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -7565,46 +7570,46 @@ "existe déjà.\n" "Effacez-le en premier ou renommez le script d'import.\n" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 #, fuzzy msgid "Copy RFX Script" msgstr "LiVES: - Copie Script RFX" -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "" -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr " Script : " -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 #, fuzzy msgid "Rename Test RFX Script" msgstr "_Renomme l'Essai de Script RFX...." -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "Depuis Script : " -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 #, fuzzy msgid "RFX Script Name" msgstr "LiVES: - Nom du Script RFX" -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "Nom du script : " -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "Nouveau Nom : " -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "Nouveau nom de script : " -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -7616,12 +7621,12 @@ "Un script de test existe déjà sous ce nom.\n" "Le nom de script doit être unique.\n" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "Renomme le script de test RFX de %s vers %s..." -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -7638,28 +7643,28 @@ "%s\n" "Le code retourné est %d\n" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "_Applique effets en temps réel à la sélection" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 #, fuzzy msgid "Applying Current Real Time Effects to" msgstr "_Applique effets en temps réel à la sélection" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "Chargement de l'effet rendu %s..." -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "" "Allez sur VJ - Afficher les touches VJ. Fixez les effets et appliquez-les " "ensuite ici." -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -7671,7 +7676,7 @@ "Les greffons de lecture vidéo sont uniquement activés en\n" "mode plein écran, fenêtre séparée (fs)\n" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -7683,7 +7688,7 @@ "\n" "(Espace disque restant = INCONNU)" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -7692,14 +7697,14 @@ "(Free space = %s)" msgstr "" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" "It should be in a partition with plenty of free disk space.\n" msgstr "" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7710,7 +7715,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7720,7 +7725,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1193 +#: src/preferences.c:1163 #, fuzzy msgid "" "You have chosen to change the working directory.\n" @@ -7741,7 +7746,7 @@ "Dans le cas contraire, cliquez sur Annuler pour retrouver le répertoire " "temporaire comme à l'origine." -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, fuzzy, c-format msgid "" "\n" @@ -7754,7 +7759,7 @@ "installé.\n" "Voir http://jackaudio.org\n" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" @@ -7763,7 +7768,7 @@ "Le changement de lecteur audio nécessite un redémarrage (jackd ne doit pas " "être lancé)\n" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, fuzzy, c-format msgid "" "\n" @@ -7776,72 +7781,72 @@ "d'abord être installé.\n" "Voir http://www.pulseaudio.org\n" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "PCM (meilleure qualité ; plus gros fichiers)" -#: src/preferences.c:2468 +#: src/preferences.c:2418 #, fuzzy msgid "Preferences" msgstr "_Préférences...." -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "Ouvrir la sélection de fichiers maximisée" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "Afficher fichiers récents dans le menu fichier" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "En lecture désactiver l'économiseur d'écran " -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "Ouvrir la fenêtre principale maximisée" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "Afficher la barre d'outils lorsque l'arrière plan est ignoré" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "Faire défiler les clips avec la roulette de la souris" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "Réduire l'aperçu pour l'adapter à l'interface" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "Mode de démarrage :" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "Éditeur de _clips" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "Mode _multitrack" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "Support de plusieurs moniteurs" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr " Numéro du moniteur pour l'interface de LiVES" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr " numéro du moniteur pour la lecture" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." @@ -7849,411 +7854,411 @@ "Une valeur de 0 permet d'utiliser tous les moniteurs disponibles (ne " "fonctionne qu'avec certains greffons de lecture)." -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "Force moniteur unique" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "Interface Graphique" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "Lors du passage en mode Multitrack :" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "_M'avertir pour la largeur, la hauteur, fps et les réglages audio" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "Toujours utiliser les valeurs suivantes:" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "Utiliser ces mêmes _valeurs pour le rendu d'un nouveau clip" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr " Taille du tampon d'annulation (Mo) " -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "Sortir du mode Multitrack après le r_endu" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "Sauvegarde automatique des agencements" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "_Chaque" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "secondes" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "Après chaque _changement" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "_Jamais" -#: src/preferences.c:2872 +#: src/preferences.c:2757 #, fuzzy msgid "Maximum number of visible tracks" msgstr "Nombre maximal de piste à afficher" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "Multi-piste/Render" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "Utiliser l'ouverture instantanée si possible" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "" "Utiliser l'ouverture instantanée par greffons de décodage pour certains " "types de fichiers" -#: src/preferences.c:2925 +#: src/preferences.c:2804 msgid "Video open command (fallback)" msgstr "" -#: src/preferences.c:2935 +#: src/preferences.c:2811 msgid "Fallback image format" msgstr "" -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "_jpeg" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "_png" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "(Voir Aide/Dépannage pour la liste des formats d'image compatibles)" -#: src/preferences.c:2964 +#: src/preferences.c:2832 msgid "Open/render compression" msgstr "" -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr "" " % (petit = plus lent, fichiers plus grands; pour jpeg, meilleure " "qualité)" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "" -#: src/preferences.c:2995 +#: src/preferences.c:2856 msgid "Automatic trimming / padding of audio when possible" msgstr "" -#: src/preferences.c:2997 +#: src/preferences.c:2858 msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "Décodage" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "VIDÉO" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "Basse - peut améliorer les performances sur des machines lentes" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "Normale - recommandée pour la plupart des utilisateurs" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "Haute - peut améliorer la qualité sur des machines très rapides" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "Prévisualiser la qualité" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "" "La qualité de l'aperçu pour la lecture vidéo - affecte le redimensionnement" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "Affiche les Statistiques d'IP_S" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "Greffon" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "AUDIO" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "_Lecteur" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "Commande de lecture audio" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "- interne -" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "" -#: src/preferences.c:3269 +#: src/preferences.c:3110 msgid "Source:" msgstr "Source :" -#: src/preferences.c:3273 +#: src/preferences.c:3114 msgid "_Internal" msgstr "_Interne" -#: src/preferences.c:3278 +#: src/preferences.c:3119 msgid "_External (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "Playback" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" msgstr "" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr " Quoi enregistrer lorsque 'r' pressé " -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "Changement d'images" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "Changement I_PS" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "Effets en temps _réel" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "Enregistrement" -#: src/preferences.c:3454 +#: src/preferences.c:3273 #, fuzzy msgid "You can also change these values when encoding a clip" msgstr "Vous pouvez cliquer sur Prévisualiser pour changer ces valeurs" -#: src/preferences.c:3466 +#: src/preferences.c:3285 msgid "Encoder" msgstr "Encodeur" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "Format de sortie" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "Codec audio" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "Encodage" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "Utiliser _antialias lors du redimensionnement" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "Nombre de touches pour les effets en temps _réel" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." msgstr "" -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr "" -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr "" -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr "" -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr " Répertoire des images (par défaut) " -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr "" -#: src/preferences.c:3649 +#: src/preferences.c:3461 #, fuzzy msgid " Working directory (do not remove) " msgstr " Répertoire temporaire (ne pas supprimer) " -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "" -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "Répertoire de travail de LiVES." -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "Répertoires" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "" -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr "" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "" -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" @@ -8261,465 +8266,465 @@ "Avertissement lors de l'Insertion / Union si le nb d'images par secondes du " "presse-papiers ne correspond pas à celui de la sélection" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "Avertissement à l'Ouverture si la taille dépasse " -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr " Mo" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "Afficher un avertissement avant d'enregistrer les paramètres" -#: src/preferences.c:3872 +#: src/preferences.c:3659 msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " "when LiVES is started." msgstr "" -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "" -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "" -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "" -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "" -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "" -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "" -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "" "Avertir si les cadres utilisés dans une mise en page sont sur le point " "d'être déplacés." -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "" "Avertir si les cadres utilisés dans une mise en page sont sur le point " "d'être modifiés." -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "" "Avertir si l'audio utilisé dans une mise en page est sur le point d'être " "supprimé." -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "" "Avertir si l'audio utilisé dans une mise en page est sur le point d'être " "déplacé." -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "" "Avertir si l'audio utilisé dans une mise en page est sur le point d'être " "modifié." -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "" -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "" "Avertir si la mise en page n'a pas été enregistrée au moment de quitter le " "mode multipiste." -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "" -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." msgstr "" -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "Afficher un message apres l'importation d'un périphérique firewire" -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "Afficher un avertissement avant d'ouvrir un flux yuv4mpeg (avancé)." -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "" -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "" -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "" -#: src/preferences.c:4113 +#: src/preferences.c:3865 msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "" -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "Avertissements" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "Synthétiseur Midi (a besoin des fichiers midistart et midistop)" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "Lors de l'insertion/fusion des images : " -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "Accélère/Ralentit Insertion" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "_Reéchantillonner l'Insertion" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "Lecteur CD " -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "LIVES ne peut charger les pistes audio de ce CD" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "IPS par défaut " -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "Images par seconde à utiliser si aucun est sélectionné" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "Divers" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "Nouveau thème : " -#: src/preferences.c:4242 +#: src/preferences.c:3977 #, fuzzy msgid "Main Theme Details" msgstr "Afficher les détails" -#: src/preferences.c:4254 +#: src/preferences.c:3988 #, fuzzy msgid " _Foreground Color" msgstr "Arrière plan" -#: src/preferences.c:4273 +#: src/preferences.c:4007 #, fuzzy msgid " _Background Color" msgstr "Arrière plan" -#: src/preferences.c:4291 +#: src/preferences.c:4026 #, fuzzy msgid "_Alt Foreground Color" msgstr "Arrière plan" -#: src/preferences.c:4309 +#: src/preferences.c:4044 #, fuzzy msgid "_Alt Background Color" msgstr "Arrière plan" -#: src/preferences.c:4327 +#: src/preferences.c:4062 #, fuzzy msgid " Info _Text Color" msgstr " _Taille " -#: src/preferences.c:4346 +#: src/preferences.c:4081 #, fuzzy msgid " Info _Base Color" msgstr " _Taille " -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "" -#: src/preferences.c:4365 +#: src/preferences.c:4100 #, fuzzy msgid "Affects some contrast details of the timeline" msgstr "Faire une marque sur la ligne de temps" -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "" -#: src/preferences.c:4398 +#: src/preferences.c:4132 #, fuzzy msgid "Frame blank image" msgstr "Changement d'images" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "" -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4474 +#: src/preferences.c:4203 #, fuzzy msgid "Track background (multitrack)" msgstr "Couleur d'arrière-plan (b)" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "" -#: src/preferences.c:4529 +#: src/preferences.c:4258 #, fuzzy msgid "Timeline selection (multitrack)" msgstr "Timeline (seconds)" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "" -#: src/preferences.c:4553 +#: src/preferences.c:4282 msgid "Timecode foreground (multitrack)" msgstr "" -#: src/preferences.c:4565 +#: src/preferences.c:4293 #, fuzzy msgid "Frame surround" msgstr "Premier plan" -#: src/preferences.c:4582 +#: src/preferences.c:4306 #, fuzzy msgid "Themes/Colors" msgstr "Thèmes" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "Bande passante de Téléchargement (Ko/s) " -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "Contrôle distant OMC activé" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "UDP port " -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "Lancer OMC au démarrage" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "Diffusion/Réseau" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "Transport jack" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" msgstr "" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "Fichier de configuration Jack _transport" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "Lancement du _server au démarrage de LiVES" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "Audio Jack" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" msgstr "" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "Intégration de jack" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "Événements _joystick" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "Dispositif _joystick" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "Le dispositif joystick, par exemple /dev/input/js0" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "Événements _MIDI" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "Utilise _ALSA MIDI (recommandé)" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "Lire directement depuis le périphérique MIDI" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "périphérique _MIDI" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "Le dispositif MIDI, par exemple /dev/input/midi0" -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "Avancé" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." msgstr "" -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "Répétition MIDI" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "" -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "" "(Attention: la définition de cette valeur à un niveau trop élevé peut " "ralentir la lecture.)" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -8727,43 +8732,43 @@ "Click OK to continue.\n" msgstr "" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." msgstr "" -#: src/preferences.c:5525 +#: src/preferences.c:5205 #, fuzzy msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "" "Les changements de thème ne prennent effet qu'après redémarrage de LiVES." -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "Les options de jack ne prennent effet qu'après redémarrage de LiVES." -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "La longueur de la vidéo est maintenant de %.8f images par seconde.\n" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "Ne peut initialiser le récepteur OSC\n" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "" @@ -8786,12 +8791,12 @@ msgid "Resample/Resize" msgstr "Rééchantillonner/Retailler" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "La longueur de la vidéo est maintenant de %d images.\n" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" @@ -8801,148 +8806,148 @@ "\n" "La nouvelle vitesse doit être supérieure à 0\n" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "Reéchantillonage audio" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "LiVES ne peut reéchantillonner l'audio comme demandé.\n" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "Reéchantillonner Audio" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "L'audio est reéchantillonné à %d Hz, %d canal/canaux, %d bit" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "La longueur de la vidéo est maintenant à %.8f images par seconde..." -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "La longueur de la vidéo est maintenant à %.3f images par seconde..." -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "Erreur de réorganisation !\n" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "Ré-echantilloner" -#: src/resample.c:1208 +#: src/resample.c:1209 #, fuzzy msgid "New Clip Audio" msgstr "Nouveau Audio" -#: src/resample.c:1210 +#: src/resample.c:1211 #, fuzzy msgid "External Clip Settings" msgstr "LiVES: - Paramètres du clip externe" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "Courant" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "Vitesse (Hz) " -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 msgid "Channels" msgstr "Canaux" -#: src/resample.c:1256 +#: src/resample.c:1257 msgid "Sample Size " msgstr "" -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "Signé" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "Non Signé" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "" -#: src/resample.c:1322 +#: src/resample.c:1323 #, fuzzy msgid "New Audio Details" msgstr "Nouveau Audio" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "Nouveau" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "_Permet audio" -#: src/resample.c:1369 +#: src/resample.c:1370 msgid "_Channels" msgstr "_Canaux" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "_Sample Size" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "Sample Size" msgstr "Taille de l'échantillon" -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "Images par secondes " -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "Valeur maximum possible pour l'enregistrement: " -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr " heures " -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr " minutes " -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr " secondes " -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "Illimité" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "" "Cliquez sur OK pour commencer l'enregistrement, ou Annuler pour sortir." -#: src/resample.c:1635 +#: src/resample.c:1636 #, fuzzy msgid "Change Playback Speed" msgstr "_Change la vitesse de Playback/Sauvegarde" -#: src/resample.c:1637 +#: src/resample.c:1638 #, fuzzy msgid "Resample Video" msgstr "Reéchantillonage de la vidéo" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -8953,7 +8958,7 @@ "in _frames per second" msgstr "" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -8964,69 +8969,69 @@ "in frames per second" msgstr "" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "OU entrez la durée désirée pour le clip en _secondes" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "Changement de vitesse" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "Changé la vitesse de playback à %.3f ips et l'audio à %d Hz.\n" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "Changé la vitesse de playback à %.3f images par seconde.\n" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "Reéchantillonage de la vidéo" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "Reéchantillonage de la vidéo du presse-papiers" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "Réorganisation des images" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" @@ -9036,11 +9041,11 @@ "\n" "LiVES n'est pas capable de réorganiser les images." -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "Désorganisation des images" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "erreur de reéchantillonage...." @@ -9286,7 +9291,7 @@ msgid "Mode active" msgstr "" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "Informations" @@ -9408,54 +9413,54 @@ msgid "Opened firewire card %d" msgstr "" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "Sauvegarde automatique" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, c-format msgid "%s : parameters for %s" msgstr "" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "%.2f sec.\n" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "Source : %s" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "clic droit pour menu contextuel.\n" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." msgstr "" -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -9464,7 +9469,7 @@ "right or double clicking on it.\n" msgstr "" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -9472,14 +9477,14 @@ "Select an effect in FX stack first to view its parameters.\n" msgstr "" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" "No clips loaded.\n" msgstr "" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -9489,7 +9494,7 @@ "before inserting clips into the timeline." msgstr "" -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -9498,190 +9503,190 @@ "to apply compositors.\n" msgstr "" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "%.2f sec. vers %.2f sec.\n" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" msgstr "" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" msgstr "" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr "Sélectionner une région temporelle.\n" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 #, fuzzy msgid "Selected Clip" msgstr "Insérer le clip sélectionné" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 msgid "_Adjust Start and End Points" msgstr "" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 msgid "_Edit/Encode in Clip Editor" msgstr "" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 #, fuzzy msgid "_Show Clip Information" msgstr "LiVES: Informations pour %s" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 #, fuzzy msgid "_Close this Clip" msgstr "_Ferme Ce Clip" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 #, fuzzy msgid "Audio Mixer (ctrl-m)" msgstr "Mixers Audio" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "" -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "" -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "" -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "" -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "" -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "" -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "" -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "" -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "" -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "Fermer les" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "Déplacer le block" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "Déplacer le block audio" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "Effacer le block" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "Effacer Audio Sélectionné" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "Séparer les pistes" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "Séparer block" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "Appliquer %s" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "Effacer %s" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "Insère block" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "Insertion silence" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "Insère un block audio" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "Changement de l'ordre des effets" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "non signé " -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "signé " -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " "audio rate %d, audio sample size %d, %s.\n" msgstr "" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "Liste d'évènement invalide. Échec.\n" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "La liste d'évènements à un fps invalide. Échec.\n" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -9691,7 +9696,7 @@ "then load in the new set from the File menu.\n" msgstr "" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -9702,480 +9707,480 @@ "Il y a un nombre incompatible de piste audio (%d) pour LiVES.\n" "Il ne peut être chargé.\n" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "" -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "_Ouvrir..." -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "Ouvrir Fichier Sélection...." -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "Importe Sélection depuis _dvd/vcd..." -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "Importe Sélection depuis _dvd" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "Importe Sélection depuis _vcd" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "_Importe depuis Lecteur" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 #, fuzzy msgid "_Close the Selected Clip" msgstr "Insérer le clip sélectionné" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 #, fuzzy msgid "_Save Layout as..." msgstr "_Sauve disposition comme..." -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 #, fuzzy msgid "_Load Layout..." msgstr "_Charge disposition..." -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 #, fuzzy msgid "_Wipe/Delete Layout..." msgstr "_Supprime la disposition" -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 #, fuzzy msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "" "_Ignore la largeur, la hauteur et les valeurs audio à partir de mises en " "page chargée" -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 msgid "Auto Load _Subtitles with Clips" msgstr "" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "Éditeur de clip" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 msgid "_Adjust Selected Clip Start/End Points" msgstr "" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "Insérer le clip sélectionné" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 #, fuzzy msgid "_Insert Selected Clip Audio" msgstr "Insérer l'audio du clip sélectionné" -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 #, fuzzy msgid "_Delete Selected Block" msgstr "_Supprimer les blocs sélectionnés" -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 #, fuzzy msgid "_Jump to Previous Block Boundary" msgstr "_Passe à la limite du bloc précédent" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 #, fuzzy msgid "_Jump to Next Block Boundary" msgstr "_Passe à la limite du bloc suivant" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 #, fuzzy msgid "Clear _Marks from Timeline" msgstr "Nettoyer les balises depuis la ligne de temps." -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 #, fuzzy msgid "Ignore Selection Limits when Inserting" msgstr "Ignore les limites de la sélection lors de l'insertion" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 #, fuzzy msgid "Pla_y Selected Time Only" msgstr "Lecture Sélection" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 #, fuzzy msgid "_Move Effects with Blocks" msgstr "Sélectionner ce block" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 #, fuzzy msgid "Select _Autotransition Effect..." msgstr "Sélection dernier _Effet" -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 msgid "Crossfade Audio with Autotransition" msgstr "" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 #, fuzzy msgid "View/_Edit Selected Effect" msgstr "Voir/_Modifier l'effet sélectionné" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 #, fuzzy msgid "_Delete Selected Effect" msgstr "_Supprime l'effet sélectionné" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 #, fuzzy msgid "Apply Effect to _Block..." msgstr "Appliquer l'effet à _block..." -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 #, fuzzy msgid "Apply Effect to _Region..." msgstr "Appliquer l'effet à _block..." -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "_Pistes" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 #, fuzzy msgid "Make _Backing Audio Current Track" msgstr "Sélectionner la piste actuelle" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 #, fuzzy msgid "_Split Current Track at Cursor" msgstr "Séparer les pistes à la position du curseur" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 #, fuzzy msgid "_Split Selected Video Tracks" msgstr "Séparer les pistes vidéos sélectionnées" -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 #, fuzzy msgid "Insert Gap in Selected Tracks/Time" msgstr "Insérer un vide dans les pistes/temps sélectionné" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 #, fuzzy msgid "Insert Gap in Current Track/Selected Time" msgstr "Insérer un vide dans les pistes/temps sélectionné" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 #, fuzzy msgid "Close All _Gaps in Selected Tracks/Time" msgstr "Insérer un vide dans les pistes/temps sélectionné" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "Sélection" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "Sélectionner la piste actuelle" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 #, fuzzy msgid "Select _All Video Tracks" msgstr "Sélectionne toutes les pistes vidéo" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 #, fuzzy msgid "Select _No Video Tracks" msgstr "Sélectionne toutes les pistes vidéo" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 #, fuzzy msgid "Select All _Time" msgstr "Sélectionner l'ensemble _time" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 #, fuzzy msgid "Select from _Zero Time" msgstr "Sélectionne depuis _zero temps" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 #, fuzzy msgid "Select to _End Time" msgstr "Sélection jusqu'à la fin du temps" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "_Copie..." -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 msgid "_Timecode to Region Start" msgstr "" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 msgid "_Timecode to Region End" msgstr "" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 msgid "_Region Start to Timecode" msgstr "" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 msgid "_Region End to Timecode" msgstr "" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 #, fuzzy msgid "Select/Deselect Block at Current Track/Time" msgstr "Sélectionner la piste actuelle" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 #, fuzzy msgid "_Change Width, Height and Audio Values..." msgstr "_Modifie la largeur, la hauteur et les valeurs audio..." -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "_Rendu" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 #, fuzzy msgid "_Render All to New Clip" msgstr "Générer les images vers un nouveau clip" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 #, fuzzy msgid "Render _Video" msgstr "Reéchantillonage de la vidéo" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 #, fuzzy msgid "Render _Audio" msgstr "Ajouter Audio" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 msgid "_Normalise Rendered Audio" msgstr "" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 #, fuzzy msgid "_Pre-render Audio" msgstr "Ajouter Audio" -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "Vue" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 msgid "Block _In/Out Points" msgstr "" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 #, fuzzy msgid "_Effects at Current" msgstr "Effets à la position courante" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 #, fuzzy msgid "Audio Parameters" msgstr "Paramètres audio" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 #, fuzzy msgid "Show Backing _Audio Track" msgstr " Sauvegarde audio" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 #, fuzzy msgid "Compact View" msgstr "Vue compacte" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 #, fuzzy msgid "Maximum Tracks to Display..." msgstr "Pistes maximums à afficher..." -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 msgid "Scroll to Follow Playback" msgstr "" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 #, fuzzy msgid "_Center on Cursor" msgstr "_Center le curseur" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 msgid "_Zoom In" msgstr "" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 msgid "_Zoom Out" msgstr "" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 #, fuzzy msgid "Multitrack _Details" msgstr "Détails multipistes" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "Fenêtre Des Événements" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 msgid "_Show FRAME Events" msgstr "" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 #, fuzzy msgid "_Show Multitrack Keys" msgstr "Clefs multipiste" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "Signale un _bug" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 #, fuzzy msgid "Insert With _Audio" msgstr "_Insère pour correspondre au son" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 #, fuzzy msgid "Select _Overlap" msgstr "Sélectionner la piste" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" msgstr "" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "Vue étendue (d)" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "Vue compacte (d)" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 #, fuzzy msgid "Mouse Mode: _Move" msgstr "Mouse mode: _Déplacement" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 #, fuzzy msgid "Mouse Mode: _Select" msgstr "Mouse mode: _Sélection" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 msgid "Insert Mode: _Normal" msgstr "" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "_Appliquer" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "Temps" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "_Supprimer le noeud" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "Noeud _suivant" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "Noeud _précédent" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "Lecture inversée " -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "_Vitesse " -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "Défiler" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" @@ -10185,95 +10190,95 @@ "==============================\n" "Basculé dans le mode Édition du clip\n" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "Timeline (seconds)" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr " Sauvegarde audio" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr "" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "Montrer/cacher les détails audio" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "%s (couche %d)" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "Sélectionner la piste" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "Vidéo %d" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr " %s" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 #, fuzzy msgid "Selected Effect" msgstr "Sélection dernier _Effet" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 #, fuzzy msgid "_View/Edit this Effect" msgstr "_Voir/Éditer cet effet" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 #, fuzzy msgid "_View this Effect" msgstr "_Voir cet effet" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 #, fuzzy msgid "_Delete this Effect" msgstr "_Supprimer cet effet" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "Insertion impossible après cet effet" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "Cet effet ne peut pas être déplacé" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr " %d to %d sélectionné " -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "%.2f sec." -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "%d images" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" @@ -10283,70 +10288,70 @@ "==============================\n" "Basculé dans le mode multipiste\n" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" "Nodes can be deleted." msgstr "" -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "Sortie %s" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "calque %d" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "piste audio" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "%s vers %s" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "%s de %s" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "Carte des filtres _précédente" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "_Insérer avant" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "Insère après" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "Carte des filtres _suivante" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -10354,87 +10359,87 @@ "current time.\n" msgstr "" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." msgstr "" -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 #, fuzzy msgid "Selected Block/Frame" msgstr "LiVES: block/image sélectionné" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 #, fuzzy msgid "_Select this Block" msgstr "Sélectionner ce block" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 #, fuzzy msgid "_Split Block Here" msgstr "_Séparer les blocks à partir d'ici" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 #, fuzzy msgid "List _Effects Here" msgstr "Lister les effets ici" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "_Ajuster %s" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 #, fuzzy msgid "_Delete this Block" msgstr "Ajuster ce block" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 #, fuzzy msgid "_Insert Here" msgstr "_Insérer ici" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 #, fuzzy msgid "_Insert Audio Here" msgstr "_Insérer l'audio ici" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "Défaire %s\n" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "Rétablir %s\n" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" @@ -10442,92 +10447,92 @@ "\n" " (variable)" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "piste %s" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "pistes %s et %s" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "piste sélectionnés" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "Ajouté %s %s à %s depuis %.4f vers %.4f\n" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "Effet %s ajouté vers la piste %s depuis %.4f vers %.4f\n" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "Rendre %d images dans le nouveau clip.\n" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "Nettoyage en cours..." -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, fuzzy, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "Effacement de l'audio de %.2f à %.2f secondes..." -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "_Pause" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "Pause (p)" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "Presser 'm' lors de la lecture" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "Faire une marque sur la ligne de temps" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " "to %.4f\n" msgstr "" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" "selected.\n" msgstr "" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" @@ -10535,12 +10540,12 @@ "Sélectionner une ou plusieurs pistes\n" "Pour créer une région.\n" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "Piste vidéo %d sélectionnée.\n" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." @@ -10548,7 +10553,7 @@ "Double-cliquer sur l'échelle des temps\n" "pour déselectionner l'intervalle de temps." -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." @@ -10556,7 +10561,7 @@ "Cliquez sur un effet\n" "pour le sélectionner." -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." @@ -10564,7 +10569,7 @@ "Double-cliquez sur un effet\n" "pour l'éditer." -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" @@ -10572,82 +10577,82 @@ "Cliquez droit sur un effet\n" "pour voir son menu contextuel.\n" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" msgstr "" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" msgstr "" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "ou les boutons INSÉRER APRÈS pour le déplacer." -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "" -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" msgstr "" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "apres lui.\n" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "avant lui.\n" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "Recharger à chaque fois" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 msgid "Saving layout" msgstr "" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "clips et images" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "clips" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "images" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" msgstr "" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -10655,75 +10660,75 @@ "Therefore it could not be loaded properly.\n" msgstr "" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "sauvegarde automatique" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" "Unable to load layout file %s\n" msgstr "" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "" -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "J'ai %d évènements... en pr..." -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "%d erreurs détectées.\n" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 msgid "" "The current layout has changes which have not been saved.\n" "Are you sure you wish to wipe it ?\n" msgstr "" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 #, fuzzy msgid "Multitrack Audio Mixer" msgstr "LiVES: Mixer audio multi-piste" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "_Remettre les valeurs" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "_Fermer la console" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" msgstr "" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "" @@ -10749,7 +10754,7 @@ "Connection to jack audio was reset.\n" msgstr "" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10761,7 +10766,7 @@ "Retour au lecteur audio sox.\n" "Vous pouvez changer cela dans Preferences/Lecture\n" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10773,7 +10778,7 @@ "Retour au lecteur audio mplayer.\n" "Vous pouvez changer cela dans Preferences/Lecture\n" -#: src/pulse.c:104 +#: src/pulse.c:105 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10781,7 +10786,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10789,11 +10794,11 @@ "\n" "Impossible de se connecter au serveur pulse audio.\n" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "LiVES se termine et vous pouvez choisir un autre lecteur audio.\n" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" @@ -10801,11 +10806,11 @@ "\n" "La connexion à pulse audio a été réinitialisée.\n" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr ""
View file
LiVES-2.8.4.tar.bz2/po/gl.po -> LiVES-2.8.6.tar.bz2/po/gl.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: lives\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" "PO-Revision-Date: 2015-04-20 18:32+0000\n" "Last-Translator: Miguel Anxo Bouzada <mbouzada@gmail.com>\n" "Language-Team: Galician <proxecto@trasno.net>\n" @@ -18,7 +18,7 @@ "X-Launchpad-Export-Date: 2015-05-03 15:41+0000\n" "X-Generator: Launchpad (build 17474)\n" -#: src/main.c:132 +#: src/main.c:125 msgid "" "Attention Translators !\n" "This message is intended for you, so please do not translate it.\n" @@ -27,22 +27,22 @@ "http://lives-video.com/TRANS-README.txt" msgstr "" -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "%s Aviso: %s\n" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "%s Erro crítico: %s\n" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "%s Erro grave: %s\n" -#: src/main.c:203 +#: src/main.c:197 #, fuzzy, c-format msgid "" "\n" @@ -56,7 +56,7 @@ "group_id=64341&atid=507139\n" "Grazas. Deber ser posíbel a recuperación se reinicia LiVES.\n" -#: src/main.c:205 +#: src/main.c:199 #, fuzzy, c-format msgid "" "\n" @@ -69,7 +69,7 @@ "Cando informe de quebras, inclúa os detalles do seu sistema operativo, " "distribución, e a versión de LiVES (" -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" @@ -77,7 +77,7 @@ "e calquera outra información amosada embaixo:\n" "\n" -#: src/main.c:210 +#: src/main.c:204 #, fuzzy msgid "" "Please try running LiVES with the -debug option to collect more " @@ -88,7 +88,7 @@ "información.\n" "\n" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" @@ -98,89 +98,89 @@ "información.\n" "\n" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "Preservar o conxunto.\n" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "Calquera" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "Ningún" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "recomendado" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "desactivado !" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "** O esquema actual **" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "Incorporado" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "Personalizado" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "Proba" -#: src/main.c:474 +#: src/main.c:460 #, fuzzy msgid "LiVES: - " msgstr "LiVES: - %s" -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "Redimensionando" -#: src/main.c:731 +#: src/main.c:708 #, fuzzy msgid "_Resize All Frames..." msgstr "_Redimensionar todos os fotogramas" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "Primeiro plano" -#: src/main.c:1122 +#: src/main.c:1094 msgid "Background" msgstr "Fondo" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "Cargando complementos de efectos en tempo real..." -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "Iniciando o servidor de son jack..." -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "Iniciando o servidor de transporte jack..." -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "Conectando co servidor de transporte jack..." -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -192,35 +192,35 @@ "Alternatively, try to start lives with either \"lives -jackopts 16\", or " msgstr "" -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "Iniciando o servidor pulse audio..." -#: src/main.c:1855 +#: src/main.c:1813 #, fuzzy, c-format msgid "%s...detected... " msgstr "mplayer...detectado..." -#: src/main.c:1856 +#: src/main.c:1814 #, fuzzy, c-format msgid "%s...NOT DETECTED... " msgstr "mplayer...NON DETECTADO..." -#: src/main.c:1867 +#: src/main.c:1824 #, fuzzy msgid "Checking optional dependencies: " msgstr "Comprobando as dependencias opcionais:" -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "Versión de Windows %04X" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "DESCOÑECIDO - arranxe isto !" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -231,53 +231,53 @@ "\n" "O xestor de xanelas é recoñecido como «%s»; " -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "número de monitores detectado: %d\n" -#: src/main.c:1901 +#: src/main.c:1863 #, c-format msgid "Number of CPUs detected: %d " msgstr "Número de CPU detectadas: %d " -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "little endian" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "big endian" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "(%d bits, %s)\n" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "A interface é do tipo: " -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "GTK+ versión %d.%d.%d (compilado con %d.%d.%d)" -#: src/main.c:1927 +#: src/main.c:1889 #, fuzzy, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "GTK+ versión %d.%d.%d (compilado con %d.%d.%d)" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr ", con compatibilidade con cairo" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "O directorio temporal é %s\n" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" @@ -287,15 +287,15 @@ "con jack ou pulse audio.\n" "Moitas funcións de son non estarán dispoñíbeis.\n" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "Compilado con compatibilidade con jack, perfecto !\n" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "Compilado con compatibilidade con pulse audio, marabilloso !\n" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" @@ -304,7 +304,7 @@ "Benvido/a á LiVES versión %s.\n" "\n" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" @@ -314,83 +314,83 @@ "A sintaxe de inicio é: %s [opcións] [nome_ficheiro [momento_de_inicio] " "[fotogramas]]\n" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "" "Onde: nome_ficheiro é o nome do ficheiro multimedia ou a copia de seguranza " "do ficheiro.\n" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "momento_de_inicio : momento do inicio de nome_ficheiro en segundos\n" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "fotogramas : número máximo de fotogramas para abrir\n" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "opcións pode ser:\n" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "-help : amosa esta axuda e sae\n" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "" "-tmpdir <dirtemp> : usar un directorio de traballo alternativo (p. ex. /var/" "ramdisk)\n" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "" "-set <nomeconxunto>: cargar automaticamente o conxunto de fragmentos " "«nomeconxunto»\n" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "-noset : non cargar ningún conxunto na inicialización\n" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "" "-norecover : forza que NON cargue a recuperación tras unha quebra\n" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "-recover : forza a carga da recuperación tras unha quebra\n" -#: src/main.c:2593 +#: src/main.c:2545 msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "-nogui : non amosar a interface\n" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "-nosplash : non amosar a xanela de inicio\n" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "-noplaywin : non amosar a xanela de reprodución\n" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "-startup-ce : iniciar no modo de edición de fragmentos\n" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "-startup-mt : iniciar no modo miltipista\n" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" @@ -398,15 +398,15 @@ "-fxmodesmax <n> : permitir <n> modos por tecla de efecto (o mínimo é 1, o " "predeterminado é 8)\n" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "-oscstart <porto> : iniciar a escoita OSC no porto <porto> UDP\n" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "-nooscstart : non iniciar a escoita OSC\n" -#: src/main.c:2605 +#: src/main.c:2557 #, fuzzy msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " @@ -416,15 +416,15 @@ "ser mplayer" #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr ", pulse" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr ", sox ou jack\n" -#: src/main.c:2613 +#: src/main.c:2565 #, fuzzy msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " @@ -437,16 +437,16 @@ "o son cando o vídeo tamén sexa posto en pausa, 16 = iniciar o servidor de " "son jack] \n" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr " ou sox\n" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "" "-devicemap <nomemapa> : cargar automaticamente o mapa do dispositivo\n" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" @@ -455,17 +455,17 @@ "predeterminado desde <ficheiro> (Nota: só estabelece os axustes, non o tipo " "de engadido)\n" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "" "-debug : tentar depurar erros (require ter «gdb» " "instalado)\n" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "Iniciando a interface..." -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -482,7 +482,7 @@ "%s/%s.\n" "(Quizais necesite cambiar o valor de <prefix_dir> no ficheiro %s)\n" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -493,7 +493,7 @@ "LiVES non foi quen de crear un ficheiro pequeno en %s\n" "Asegúrese de que ten acceso de escritura a %s e tenteo de novo.\n" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -507,7 +507,7 @@ "Lea o ficheiro README que ven con este paquete antes de\n" "iniciar LiVES.\n" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -517,7 +517,7 @@ "Please check the file permissions for this file and try again.\n" msgstr "" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -528,7 +528,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -539,7 +539,7 @@ "%s\n" "e tenteo de novo.\n" -#: src/main.c:2737 +#: src/main.c:2689 #, fuzzy, c-format msgid "" "\n" @@ -554,7 +554,7 @@ "\n" "%s" -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -572,7 +572,7 @@ "\n" "Grazas.\n" -#: src/main.c:2751 +#: src/main.c:2703 #, fuzzy msgid "" "\n" @@ -583,7 +583,7 @@ "LiVES require actualmente «mplayer» ou «sox» para funcionar. Instale un " "deles e tenteo de novo.\n" -#: src/main.c:2756 +#: src/main.c:2708 #, fuzzy msgid "" "\n" @@ -594,7 +594,7 @@ "LiVES require actualmente «mplayer» e «sox» para funcionar. Instáleos e " "tenteo de novo.\n" -#: src/main.c:2769 +#: src/main.c:2721 #, fuzzy msgid "" "\n" @@ -605,7 +605,7 @@ "LiVES non foi quen de atopar o «mplayer». É probábel que queira instalar o " "mplayer para usar LiVES dun xeito máis completo.\n" -#: src/main.c:2775 +#: src/main.c:2727 #, fuzzy msgid "" "\n" @@ -616,7 +616,7 @@ "LiVES non foi quen de atopar o «mplayer». É probábel que queira instalar o " "mplayer para usar LiVES dun xeito máis completo.\n" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" @@ -626,7 +626,7 @@ "LiVES non foi quen de atopar o «convert». Debe instalar convert e image-" "magick se quere utilizar efectos de renderizado.\n" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " @@ -636,7 +636,7 @@ "LiVES non foi quen de atopar o «composite». Debe instalar composite e image-" "magick se quere utilizar a función de combinación.\n" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " @@ -646,7 +646,7 @@ "LiVES non foi quen de atopar o «sox». É probábel que algunhas " "características de son no funcionen. Debe instalar «sox».\n" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -657,63 +657,63 @@ "You may need to change the value of <lib_dir> in %s\n" msgstr "" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "" -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "" #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "LiVES" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "Reprodutor de son incorrecto %s\n" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <Untitled%d> %dx%d : %d fotogramas %d bpp %.3f fps" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : ??? fotogramas ??? bpp %.3f fps" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : %d fotogramas %d bpp %.3f fps" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "LiVES-%s: <Non hai ficheiro>" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "Reproducir" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" @@ -721,34 +721,34 @@ "LiVES non puido capturar esta imaxe\n" "\n" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "Pechado o ficheiro %s\n" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "_Desfacer" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "_Refacer" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "Vídeo" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "Son esquerdo" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "Son dereito" -#: src/main.c:7078 +#: src/main.c:6973 #, fuzzy msgid "" "\n" @@ -921,7 +921,7 @@ msgid "Use _mplayer2 audio player" msgstr "" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "_Seguinte" @@ -1131,52 +1131,52 @@ msgid "_Finish" msgstr "" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "" -#: src/interface.c:46 +#: src/interface.c:42 msgid "Apply _Deinterlace" msgstr "" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "" -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "Vista previa" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "" -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "" -#: src/interface.c:122 +#: src/interface.c:113 msgid "Click here to _Preview the file" msgstr "" -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 #, fuzzy msgid "Processing..." msgstr "LiVES: - Procesamento da..." -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1190,8 +1190,8 @@ "\n" "Lembre apagar efectos (ctrl) despois !" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" @@ -1199,174 +1199,179 @@ "\n" "Agarde" -#: src/interface.c:221 +#: src/interface.c:206 msgid "Show Details" msgstr "" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "_Suficiente" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "_Vista previa" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "_Cancelar" -#: src/interface.c:334 +#: src/interface.c:324 msgid "Multitrack Details" msgstr "" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "Formato" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "Tamaño do fotograma" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "Tamaño do ficheiro" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "Tamaño en bytes" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "FPS" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "Fotogramas" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "Eventos" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "Tempo total" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "Son" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "Prezo/tamaño" -#: src/interface.c:568 +#: src/interface.c:590 #, fuzzy msgid "Encoding Options" msgstr "LiVES: - Opcións de codificación" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." msgstr "" -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "Manter as _miñas opcións" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "Usar os axustes _recomendados" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "_Pechar a xanela" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "_Gardar o ficheiro" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "Inserir" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "_Número de veces para introducir" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "Inserir _antes da selección" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "Inserir a_pós a selección" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "" -#: src/interface.c:833 +#: src/interface.c:846 +#, fuzzy +msgid "Insert _with silence" +msgstr "Inserir _con son" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "Inserir _con son" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "Insire _o sen son" -#: src/interface.c:924 +#: src/interface.c:937 #, fuzzy msgid "Open Selection" msgstr "LiVES: - Abrir Selección" -#: src/interface.c:943 +#: src/interface.c:954 msgid "Selection start time (sec)" msgstr "" -#: src/interface.c:949 +#: src/interface.c:960 msgid "Number of frames to open" msgstr "" -#: src/interface.c:1023 +#: src/interface.c:1029 #, fuzzy msgid "Open Location" msgstr "LiVES: - Abrir a localización" -#: src/interface.c:1025 +#: src/interface.c:1031 #, fuzzy msgid "Open Youtube Clip" msgstr "LiVES: - Abrir un fragmento do Youtube" -#: src/interface.c:1045 +#: src/interface.c:1050 #, fuzzy msgid "" "\n" @@ -1383,7 +1388,7 @@ "Asegúrese tamén de ter definido o seu largo de banda en Preferencias|Fluxo\n" "\n" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1392,68 +1397,68 @@ "\n" msgstr "" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "URL : " -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "URL do Youtube: " -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "Non enviar información de ancho de banda" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "Probe esta configuración se está tendo problemas para obter un fluxo" -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "" -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "" -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr ".webm" -#: src/interface.c:1188 +#: src/interface.c:1189 #, fuzzy msgid "Rename Clip" msgstr "A borrar" -#: src/interface.c:1190 +#: src/interface.c:1191 msgid "Enter Set Name to Save as" msgstr "" -#: src/interface.c:1192 +#: src/interface.c:1193 msgid "Enter a Set Name to Reload" msgstr "" -#: src/interface.c:1194 +#: src/interface.c:1195 #, fuzzy msgid "Choose a Working Directory" msgstr "LiVES: - Escolla un directorio de traballo" -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 msgid "Rename Current Track" msgstr "" -#: src/interface.c:1198 +#: src/interface.c:1199 msgid "Enter a Name for Your Theme" msgstr "" -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1465,7 +1470,7 @@ "Por favor, escriba o nome do xogo que quere usar.\n" "LiVES ha lembra-lo para gardar o xogo máis tarde, cando tenta saír.\n" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1490,230 +1495,230 @@ "This should be a directory with plenty of disk space available.\n" msgstr "" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "Novo nome " -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "Definir nome " -#: src/interface.c:1257 +#: src/interface.c:1255 #, fuzzy msgid "Theme name " msgstr "Novo nome " -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "_Advanzado" -#: src/interface.c:1437 +#: src/interface.c:1425 msgid "Select input device" msgstr "" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "" -#: src/interface.c:1517 +#: src/interface.c:1505 msgid "Load CD Track" msgstr "" -#: src/interface.c:1519 +#: src/interface.c:1507 msgid "Select DVD Title/Chapter" msgstr "" -#: src/interface.c:1521 +#: src/interface.c:1509 #, fuzzy msgid "Select VCD Title" msgstr "Título VCD" -#: src/interface.c:1523 +#: src/interface.c:1511 #, fuzzy msgid "Change Maximum Visible Tracks" msgstr "Número máximo de pistas para amosar" -#: src/interface.c:1525 +#: src/interface.c:1513 msgid "Device details" msgstr "" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "Faixa de carga (de %s)" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "Título DVD" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "Título VCD" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "Número máximo de pistas para amosar" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "Capítulo " -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "" -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "" -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "" -#: src/interface.c:1815 +#: src/interface.c:1778 #, fuzzy msgid "Fade Audio In" msgstr "Fondo" -#: src/interface.c:1817 +#: src/interface.c:1780 #, fuzzy msgid "Fade Audio Out" msgstr "Fondo" -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "" -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "primeiro" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "" -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "último" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "segundos." -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "selección" -#: src/interface.c:1909 +#: src/interface.c:1865 #, fuzzy msgid " (Optional)" msgstr "LiVES: - Comentarios Arquivo (opcional)" -#: src/interface.c:1912 +#: src/interface.c:1868 #, fuzzy, c-format msgid "File Comments%s" msgstr "LiVES: - Comentarios Arquivo (opcional)" -#: src/interface.c:1927 +#: src/interface.c:1882 #, fuzzy, c-format msgid "File Name: %s" msgstr "Título/Nome : " -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "Título/Nome : " -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "Autor/Artista : " -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "Comentarios : " -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "" -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "" -#: src/interface.c:2109 +#: src/interface.c:2058 #, c-format msgid "%sChoose a Device" msgstr "" -#: src/interface.c:2112 +#: src/interface.c:2061 #, fuzzy, c-format msgid "%sChoose a Directory" msgstr "LiVES: - Escolla un directorio de traballo" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" @@ -1723,7 +1728,7 @@ "O conxunto clip actual pode ser salvado.\n" "Que desexa facer ?\n" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" @@ -1731,7 +1736,7 @@ "O conxunto clip actual non foi salvo.\n" "Que desexa facer ?\n" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" @@ -1739,7 +1744,7 @@ "O esquema actual non foi salvo.\n" "Que desexa facer ?\n" -#: src/interface.c:2410 +#: src/interface.c:2341 #, fuzzy msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" @@ -1748,86 +1753,86 @@ "O esquema actual non foi salvo.\n" "Que desexa facer ?\n" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" "What do you wish to do ?" msgstr "" -#: src/interface.c:2417 +#: src/interface.c:2348 #, fuzzy msgid "Cancel/Discard/Save" msgstr "LiVES: - Cancelar/Rexeitar/Gardar" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "_Limpar esquema" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "_Ignorar as mudanzas" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "_Borrar esquema" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "_Gardar esquema" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" "Would you like to try and recover it ?\n" msgstr "" -#: src/interface.c:2527 +#: src/interface.c:2455 msgid "Disk Recovery Options" msgstr "" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "" -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "" -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1835,341 +1840,341 @@ "-----------------------\n" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "ctrl-left" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "skip forwards\n" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 #, fuzzy msgid "ctrl-down" msgstr "Ctrl-%d" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 msgid "ctrl-enter" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "reset frame rate\n" msgstr "Comezar no fotograma" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "" -#: src/interface.c:2723 +#: src/interface.c:2642 msgid "reverse direction\n" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "ctrl-1" msgstr "Ctrl-%d" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "toggle real-time effect 1\n" msgstr "Cargando complementos de efectos en tempo real..." -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "ctrl-2" msgstr "Ctrl-%d" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "toggle real-time effect 2\n" msgstr "Cargando complementos de efectos en tempo real..." -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 #, fuzzy msgid "ctrl-0" msgstr "Ctrl-%d" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "real-time effects off\n" msgstr "" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "" -#: src/interface.c:2759 +#: src/interface.c:2678 msgid "grab keyboard for last activated effect\n" msgstr "" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2688 msgid "tab" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "" -#: src/interface.c:2785 +#: src/interface.c:2706 msgid "Other playback keys\n" msgstr "" -#: src/interface.c:2789 +#: src/interface.c:2710 msgid "play all\n" msgstr "" -#: src/interface.c:2792 +#: src/interface.c:2713 #, fuzzy msgid "play selection\n" msgstr "selección" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "" -#: src/interface.c:2798 +#: src/interface.c:2719 #, fuzzy msgid "fullscreen\n" msgstr "_Pantalla completa" -#: src/interface.c:2801 +#: src/interface.c:2722 #, fuzzy msgid "separate window\n" msgstr "Xogar en xanela separada (s)" -#: src/interface.c:2804 +#: src/interface.c:2725 #, fuzzy msgid "double size\n" msgstr "Tamaño do ficheiro" -#: src/interface.c:2807 +#: src/interface.c:2728 msgid "ping pong loops\n" msgstr "" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "move current track up\n" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "move current track down\n" msgstr "" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "" -#: src/interface.c:2849 +#: src/interface.c:2768 #, fuzzy msgid "select next clip\n" msgstr "_Selección" -#: src/interface.c:2852 +#: src/interface.c:2771 msgid "select/deselect current track\n" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "zoom in\n" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "zoom out\n" msgstr "" -#: src/interface.c:2861 +#: src/interface.c:2780 msgid "make a mark on the timeline (during playback)\n" msgstr "" -#: src/interface.c:2864 +#: src/interface.c:2783 msgid "rewind to play start.\n" msgstr "" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "" -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "" -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "" -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -2177,16 +2182,16 @@ "the latest youtube-dl installed.\n" msgstr "" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, c-format msgid "Layouts were removed for set %s.\n" msgstr "" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "Este ficheiro" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " @@ -2194,7 +2199,7 @@ ",\n" " - Ata o esquema actual - " -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2204,7 +2209,7 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2214,14 +2219,14 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" "Really close it ?" msgstr "" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" @@ -2229,7 +2234,7 @@ "\n" "Arquivo de proxecto non é válido.\n" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2242,54 +2247,54 @@ "Once you have done this, you will be able to import the new project.\n" msgstr "" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "" -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "" -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 #, fuzzy msgid "Theme" msgstr "Novo nome " -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, c-format msgid "Exporting theme as %s..." msgstr "" -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, c-format msgid "Importing theme \"%s\" from %s..." msgstr "" -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, c-format msgid "Backup as %s File" msgstr "" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, c-format msgid "Restore %s File" msgstr "" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2297,101 +2302,101 @@ "Are you sure ?\n" msgstr "" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "" -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "" -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "" -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "Desfacendo" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "" -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "" -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "" -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "Cortar" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 msgid "Pulling frames from clipboard" msgstr "" -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "" -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "" -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " "LiVES.\n" msgstr "" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2400,31 +2405,31 @@ "the 'Trim Audio' function from the Audio menu." msgstr "" -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." msgstr "" -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2432,7 +2437,7 @@ "Clipboard audio has been erased.\n" msgstr "" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2441,81 +2446,81 @@ "using unchanged audio ?\n" msgstr "" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "" -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "A inserir" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "" -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "" -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "Cancelando" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" "Are you sure ?" msgstr "" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "" -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "A borrar" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "Borrar" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" @@ -2525,7 +2530,7 @@ "\n" "Selección está bloqueado.\n" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2533,11 +2538,11 @@ "play.)\n" msgstr "" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2546,7 +2551,7 @@ "%s\n" msgstr "" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2555,7 +2560,7 @@ "The plugin may be broken or not installed correctly." msgstr "" -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2564,22 +2569,22 @@ "Please press 'Cancel' if that is not what you want.\n" msgstr "" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2587,24 +2592,24 @@ "Click OK to proceed.\n" msgstr "" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "" -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "" -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "" -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2612,12 +2617,12 @@ "Internal: %s (%d bpp) / %s\n" msgstr "" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." @@ -2625,28 +2630,28 @@ "\n" " Apertura..." -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" "(%d virtual)" msgstr "" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" "(%d decoded)" msgstr "" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" " %.2f sec." msgstr "" -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" @@ -2654,23 +2659,23 @@ "\n" " Descoñecido" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" @@ -2679,7 +2684,7 @@ " %d Hz %d bit\n" "%s %s" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2696,15 +2701,15 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n" msgstr "" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "Un editor de vídeo e un programa de VJ." -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" "Launchpad Contributions:\n" @@ -2713,7 +2718,7 @@ " nitrofurano https://launchpad.net/~nitrofurano-3t\n" " salsaman https://launchpad.net/~salsaman" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, c-format msgid "" "LiVES Version %s\n" @@ -2727,7 +2732,7 @@ "Homepage: %s" msgstr "" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 #, fuzzy msgid "" "\n" @@ -2738,7 +2743,7 @@ "\n" "Ten que instalar o mplayer para ver o ficheiro.\n" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 #, fuzzy msgid "" "\n" @@ -2750,88 +2755,88 @@ "\n" "Ten que instalar o mplayer para ver o ficheiro.\n" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" "%s\n" msgstr "" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 msgid "Encoder Debug Output" msgstr "" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "Mostrar a ventana de xogo (s)" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "Xogar en xanela separada (s)" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "Reactivar o audio (z)" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "" -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 msgid "Load Subtitles" msgstr "" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 #, fuzzy msgid "Select Audio File" msgstr "" @@ -2839,7 +2844,7 @@ "\n" "Selección está bloqueado.\n" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -2847,83 +2852,83 @@ "." msgstr "" -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "" -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "Nova Audio" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "" -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "" -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 #, fuzzy msgid "Layout Errors" msgstr "Borrar _Erros" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "Borrar _Erros" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "_Eliminar esquemas afectado" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "Continuar" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "pausa..." -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "retomar..." -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "Manter" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, c-format msgid "" "\n" @@ -2932,30 +2937,30 @@ "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "Cancelar" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 #, fuzzy msgid "Selected Frame" msgstr "Comezar no fotograma" -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 #, fuzzy msgid "_Save Frame as..." msgstr "Comezar no fotograma" -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -2964,7 +2969,7 @@ "\n" msgstr "" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -2972,13 +2977,13 @@ "\n" msgstr "" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" msgstr "" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -2987,17 +2992,17 @@ "\n" msgstr "" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "Xanela externa foi liberado.\n" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" msgstr "" -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -3007,19 +3012,19 @@ "(Default of %.3f frames per second will be used.)\n" msgstr "" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "" -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "" -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -3028,119 +3033,119 @@ "rate.\n" msgstr "" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "" -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "" -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 msgid "Append Audio File" msgstr "" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "" -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "" -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "" -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "" -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "" -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" "Are you sure ?" msgstr "" -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "" -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "" @@ -3153,878 +3158,878 @@ msgid "Merge Clipboard [ %d Frames ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "" -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "feita a combinación.\n" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "" -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "_Ficheiro" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "" -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "" -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "" -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "" -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "" -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "" -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "" -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "" -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "" -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "" -#: src/gui.c:692 +#: src/gui.c:674 #, c-format msgid "_Backup Clip as .%s..." msgstr "" -#: src/gui.c:701 +#: src/gui.c:683 #, c-format msgid "_Restore Clip from .%s..." msgstr "" -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "_Editar" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "" -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "_Combinar o portapapeis coa selección..." -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "_Eliminar a selección" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "_Seleccionar..." -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "" -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "Seleccionar a última inserción/_Combinar" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "_Inverter selección" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "_Reproducir" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "_Deter" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "_Pantalla completa" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "_Sen son" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "" -#: src/gui.c:1069 +#: src/gui.c:1045 msgid "Letterbox Mode" msgstr "" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "" -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "_Ferramentas" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "" -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "" -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "" -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "_Utilidades" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "_Xerar" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "" -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "" -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "_Preferencias..." -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "" -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "" -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "" -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "" -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "" -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "" -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "" -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "" -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "" -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "" -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "" -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "" -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "" -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "" -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "" -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "" -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "" -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "" -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "_Avanzado" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "" -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "" -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "" -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "" -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "" -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "" -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "" -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "" -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "" -#: src/gui.c:1397 +#: src/gui.c:1371 msgid "Receive _LiVES Stream from..." msgstr "" -#: src/gui.c:1401 +#: src/gui.c:1375 msgid "_Send LiVES Stream to..." msgstr "" -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "" -#: src/gui.c:1426 +#: src/gui.c:1399 #, c-format msgid "_Import Project (.%s)..." msgstr "" -#: src/gui.c:1430 +#: src/gui.c:1403 #, c-format msgid "E_xport Project (.%s)..." msgstr "" -#: src/gui.c:1437 +#: src/gui.c:1409 #, c-format msgid "_Import Custom Theme (.%s)..." msgstr "" -#: src/gui.c:1442 +#: src/gui.c:1414 #, c-format msgid "E_xport Theme (.%s)..." msgstr "" -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "_VJ" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "" -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "" -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." msgstr "" -#: src/gui.c:1476 +#: src/gui.c:1448 msgid "_Reset All Playback Speeds and Positions" msgstr "" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "" -#: src/gui.c:1480 +#: src/gui.c:1452 msgid "_MIDI/Joystick Interface" msgstr "" -#: src/gui.c:1489 +#: src/gui.c:1461 msgid "_MIDI/Joystick Learner..." msgstr "" -#: src/gui.c:1493 +#: src/gui.c:1465 msgid "_Save Device Mapping..." msgstr "" -#: src/gui.c:1497 +#: src/gui.c:1469 msgid "_Load Device Mapping..." msgstr "" -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "_Ningún" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "_Axuda" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 msgid "_Donate to the Project !" msgstr "" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 msgid "_Email the Author" msgstr "" -#: src/gui.c:1547 +#: src/gui.c:1519 msgid "Report a _Bug" msgstr "" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 msgid "Suggest a _Feature" msgstr "" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 msgid "Assist with _Translating" msgstr "" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "_Acerca de..." -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "Volume" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." msgstr "" #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr "" -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr "" -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "_Libre" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "_Inicio" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "Rebobinar" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr "" -#: src/gui.c:3613 +#: src/gui.c:3553 msgid "Streaming" msgstr "" -#: src/gui.c:3615 +#: src/gui.c:3555 #, fuzzy, c-format msgid "Play Window%s" msgstr "LiVES: - Xanela de reprodución" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "" -#: src/gui.c:4199 +#: src/gui.c:4127 #, fuzzy, c-format msgid "'LiVES opened the file' '%s'" msgstr "" "LiVES non puido capturar esta imaxe\n" "\n" -#: src/gui.c:4220 +#: src/gui.c:4146 #, fuzzy, c-format msgid "'LiVES closed the file' '%s'" msgstr "Pechado o ficheiro %s\n" @@ -4034,11 +4039,11 @@ msgid "Mapped to ctrl-%d" msgstr "" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "Efectos" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "" @@ -4052,11 +4057,11 @@ msgid "Select clip for %s\n" msgstr "" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "" @@ -4101,11 +4106,11 @@ msgid "%d bytes" msgstr "" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -4113,81 +4118,81 @@ "Switched to clip %s\n" msgstr "" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" "Switched to empty clip\n" msgstr "" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " "updated accordingly\n" msgstr "" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -4195,7 +4200,7 @@ "by another copy of LiVES.\n" msgstr "" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -4203,39 +4208,39 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2188 +#: src/utils.c:2207 #, c-format msgid "" "\n" "%s names may not be blank.\n" msgstr "" -#: src/utils.c:2196 +#: src/utils.c:2215 #, c-format msgid "" "\n" "%s names may not be longer than %d characters.\n" msgstr "" -#: src/utils.c:2204 +#: src/utils.c:2223 #, c-format msgid "" "\n" "%s names may not contain spaces or the characters%s.\n" msgstr "" -#: src/utils.c:2213 +#: src/utils.c:2232 #, c-format msgid "" "\n" "%s names may not start with a '.' or contain '..'\n" msgstr "" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4243,72 +4248,72 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "" -#: src/utils.c:3492 +#: src/utils.c:3548 msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "" -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4318,29 +4323,29 @@ "Overwrite ?\n" msgstr "" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "_Desfacer %s" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "_Refacer %s" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr "" -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr "" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4365,7 +4370,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr "" @@ -4470,7 +4475,7 @@ msgstr "" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "" @@ -4524,12 +4529,12 @@ msgid "Recording performance..." msgstr "" -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4538,21 +4543,21 @@ "and resize all frames to the current size.\n" msgstr "" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "Descoñecido" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "Sentítulo%d" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "%d fotogramas son abondo !\n" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4560,13 +4565,13 @@ "%s\n" msgstr "" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" msgstr "" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4574,7 +4579,7 @@ "Bad things may happen with this clip.\n" msgstr "" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4582,73 +4587,73 @@ "Default can be set in Tools | Preferences | Misc.\n" msgstr "" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, c-format msgid " - Author: %s\n" msgstr "" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, c-format msgid " - Title: %s\n" msgstr "" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr "" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "" -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "" -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "" -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "A restaurar" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -4696,12 +4701,12 @@ msgid "Recovering files..." msgstr "" -#: src/dialogs.c:87 +#: src/dialogs.c:83 #, fuzzy msgid "Show affeced _layouts" msgstr "_Eliminar esquemas afectado" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" @@ -4709,51 +4714,51 @@ "_Non mostrar este aviso máis\n" "(pode estar conectado de novo en Preferencias/Avisos)" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr "" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 #, fuzzy msgid "Warning !" msgstr "Advertencias" -#: src/dialogs.c:198 +#: src/dialogs.c:186 #, fuzzy msgid "Error !" msgstr "LiVES: - %s" -#: src/dialogs.c:208 +#: src/dialogs.c:196 #, fuzzy msgid "Information" msgstr "LiVES: - Abrir a localización" -#: src/dialogs.c:234 +#: src/dialogs.c:221 msgid "Question" msgstr "" -#: src/dialogs.c:248 +#: src/dialogs.c:235 #, fuzzy msgid "File Error" msgstr "Borrar _Erros" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "Amosar os _detalles" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -4764,7 +4769,7 @@ "(Disk warning levels can be configured in Preferences.)" msgstr "" -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -4776,11 +4781,11 @@ "Preferences.)" msgstr "" -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "" -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -4788,46 +4793,46 @@ "Please try closing some other applications first.\n" msgstr "" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "" -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" "%s%d%% done. Time remaining: %u sec%s\n" msgstr "" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" "%d/%d frames opened. Time remaining %u sec.\n" msgstr "" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" "%d/%d frames opened.\n" msgstr "" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" "%d frames opened.\n" msgstr "" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" "Time remaining: %d sec" msgstr "" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -4835,7 +4840,7 @@ "Please close a file and then try again." msgstr "" -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, fuzzy, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -4850,7 +4855,7 @@ "LiVES non foi quen de crear un ficheiro pequeno en %s\n" "Asegúrese de que ten acceso de escritura a %s e tenteo de novo.\n" -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 #, fuzzy msgid "" "\n" @@ -4861,7 +4866,7 @@ "LiVES require actualmente «mplayer» ou «sox» para funcionar. Instale un " "deles e tenteo de novo.\n" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 #, fuzzy msgid "" "\n" @@ -4872,7 +4877,7 @@ "LiVES require actualmente «mplayer» ou «sox» para funcionar. Instale un " "deles e tenteo de novo.\n" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 #, fuzzy msgid "" "\n" @@ -4883,26 +4888,26 @@ "LiVES require actualmente «mplayer» ou «sox» para funcionar. Instale un " "deles e tenteo de novo.\n" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" "Or switch to another encoder format in Tools | Preferences | Encoding\n" msgstr "" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -4910,19 +4915,19 @@ "Please set the audio codec in Tools|Preferences|Encoding\n" msgstr "" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -4930,83 +4935,83 @@ "Due to restrictions in the %s format\n" msgstr "" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" msgstr "" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr "" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr "" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr "" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr "" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" msgstr "" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -5015,14 +5020,14 @@ "\n" msgstr "" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" "\n" msgstr "" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -5031,7 +5036,7 @@ "Try recording for just a selection of the file." msgstr "" -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -5042,7 +5047,7 @@ "Please press Cancel to abort the insert, or OK to continue." msgstr "" -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -5055,18 +5060,18 @@ "click Cancel." msgstr "" -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " "in your %s file" msgstr "" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -5077,25 +5082,25 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 msgid "" "Sorry, unknown audio type.\n" "\n" " (Filenames must end in" msgstr "" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" "(They will not be usable without the set).\n" msgstr "" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -5104,7 +5109,7 @@ "Click Cancel to pick a new name.\n" msgstr "" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -5112,7 +5117,7 @@ "." msgstr "" -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -5120,7 +5125,7 @@ "." msgstr "" -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -5131,7 +5136,7 @@ "Otherwise click Cancel to skip loading this file.\n" msgstr "" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -5141,7 +5146,7 @@ "The clip could not be loaded.\n" msgstr "" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -5149,7 +5154,7 @@ "Alternately, select a different audio player in Preferences.\n" msgstr "" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -5158,13 +5163,13 @@ "Automatic jack startup will be disabled now.\n" msgstr "" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" msgstr "" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -5175,13 +5180,13 @@ "%s\n" msgstr "" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" msgstr "" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -5191,7 +5196,7 @@ "It is recommended to increase it to at least %d MB" msgstr "" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -5200,7 +5205,7 @@ "Do you wish to delete them ?\n" msgstr "" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -5208,7 +5213,7 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -5216,56 +5221,56 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" msgstr "" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" msgstr "" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" "You can set this in Tools|Preferences|Playback." msgstr "" -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" "Should I try to repair the disk copy of the layout ?\n" msgstr "" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" msgstr "" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 #, fuzzy msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" @@ -5275,7 +5280,7 @@ "LiVES require actualmente «mplayer» e «sox» para funcionar. Instáleos e " "tenteo de novo.\n" -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 #, fuzzy msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" @@ -5285,7 +5290,7 @@ "LiVES require actualmente «mplayer» e «sox» para funcionar. Instáleos e " "tenteo de novo.\n" -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 #, fuzzy msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" @@ -5295,14 +5300,14 @@ "LiVES require actualmente «mplayer» e «sox» para funcionar. Instáleos e " "tenteo de novo.\n" -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" "Audio rate must be greater than 0.\n" msgstr "" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5310,14 +5315,14 @@ "Are you sure you wish to view it ?\n" msgstr "" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" "You must install 'dvgrab' to use this function.\n" msgstr "" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5326,25 +5331,25 @@ "You may need to select one of these in Tools/Preferences/Playback.\n" msgstr "" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" msgstr "" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5353,33 +5358,33 @@ "echo %d > /proc/sys/net/core/rmem_max\n" msgstr "" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "fallou.\n" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "feito.\n" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -5389,7 +5394,7 @@ "%s%s%s" msgstr "" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -5399,7 +5404,7 @@ "%s" msgstr "" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -5409,7 +5414,7 @@ "%s" msgstr "" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -5418,7 +5423,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -5428,7 +5433,7 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -5437,7 +5442,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -5447,12 +5452,12 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "" -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -5461,7 +5466,7 @@ "Please check your system for errors.\n" msgstr "" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -5470,7 +5475,7 @@ "Please check the file permissions and try again." msgstr "" -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -5479,7 +5484,7 @@ "Please check the directory permissions and try again." msgstr "" -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, c-format msgid "" "\n" @@ -5487,14 +5492,14 @@ "%s\n" msgstr "" -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -5502,13 +5507,13 @@ "Please select another encoder from the list.\n" msgstr "" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" msgstr "" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -5518,27 +5523,27 @@ "- Check if the device actually exists.\n" msgstr "" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" "Do you wish to overwrite the existing subtitles ?\n" msgstr "" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 msgid "" "\n" "LiVES currently only supports subtitles of type" msgstr "" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -5547,14 +5552,14 @@ "or OK to continue and save as type \"%s\"\n" msgstr "" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" "(If unsure, click Yes)\n" msgstr "" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -5565,19 +5570,19 @@ "." msgstr "" -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" msgstr "" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" msgstr "" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -5585,7 +5590,7 @@ "DO NOT SHUT DOWN OR CLOSE LIVES !\n" msgstr "" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, c-format msgid "" "\n" @@ -5593,14 +5598,14 @@ "The theme could not be loaded correctly.\n" msgstr "" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" "Please check the spelling of the set name and try again.\n" msgstr "" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -5609,7 +5614,7 @@ "directory. Would you like me to do this (recommended) ?" msgstr "" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -5621,7 +5626,7 @@ msgstr "" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -5630,38 +5635,38 @@ "\n" msgstr "" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" "Consult your package distributor.\n" msgstr "" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" msgstr "" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, c-format msgid "" "\n" @@ -5670,7 +5675,7 @@ "(Theme name not found).\n" msgstr "" -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -5679,7 +5684,7 @@ "already exists. Would you like to overwrite it ?\n" msgstr "" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -5820,7 +5825,7 @@ msgid "Video only Transitions" msgstr "" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "" @@ -5828,7 +5833,7 @@ msgid "Audio only Transitions" msgstr "" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "son" @@ -5872,7 +5877,7 @@ msgid "Audio Analysers" msgstr "" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "descoñecido" @@ -5927,359 +5932,359 @@ "No frames were generated.\n" msgstr "" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 #, fuzzy msgid "Invalid element" msgstr "O parámetro non é válido" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 #, fuzzy msgid "Invalid property" msgstr "O parámetro non é válido" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 msgid "Invalid plugin" msgstr "" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 #, fuzzy msgid "No error" msgstr "Borrar _Erros" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 msgid "integer" msgstr "" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 msgid "string" msgstr "" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 msgid "pointer" msgstr "" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" "Error was: %s\n" msgstr "" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr "" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, c-format msgid "Successfully loaded %d compound filters\n" msgstr "" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, c-format msgid "Failed to start generator %s (%s)\n" msgstr "" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 msgid "Autoscale" msgstr "" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 msgid "Delete this connection" msgstr "" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, c-format msgid "%s - Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, c-format msgid "%s - Parameter Data Connections" msgstr "" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 msgid "Parameter and Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 msgid "Auto Connect Channels" msgstr "" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 msgid "Auto Connect Parameters" msgstr "" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "" -#: src/framedraw.c:241 +#: src/framedraw.c:242 msgid "_Frame" msgstr "" @@ -6323,40 +6328,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "_Largura" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "_Altura" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "" -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -6422,32 +6427,32 @@ "\n" msgstr "" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "" -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "_FPS" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -6456,7 +6461,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -6466,31 +6471,31 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" "Error was: %s\n" msgstr "" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " "***\n" msgstr "" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -6499,7 +6504,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -6508,7 +6513,7 @@ "or switch to another plugin using Tools|Preferences|Encoding\n" msgstr "" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, c-format msgid "" "\n" @@ -6516,12 +6521,12 @@ "No decoders found in %s !\n" msgstr "" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, c-format msgid " using %s" msgstr "" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -6530,7 +6535,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -6540,24 +6545,24 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "" -#: src/plugins.c:2556 +#: src/plugins.c:2550 msgid "Decoder Plugins" msgstr "" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "" @@ -6756,20 +6761,20 @@ msgid "Move _Down" msgstr "Mover _abaixo" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 #, fuzzy msgid "RFX Properties" msgstr "_Propiedades..." -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -6778,7 +6783,7 @@ "\n" msgstr "" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -6786,219 +6791,219 @@ "Please check the trigger code.\n" msgstr "" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 msgid "New RFX Parameter" msgstr "" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 msgid "Edit RFX Parameter" msgstr "" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "" -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "" -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "" -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." msgstr "" -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "" -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "" -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "" -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "" -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "" -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "" -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "" -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "" -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "" -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr "" -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "" -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 msgid "_Wrap value" msgstr "" -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "" -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "" -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "" -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "" -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "" -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 msgid "New RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 msgid "Edit RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "" -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "" -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "" -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "" -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "" -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "" -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "" -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 msgid "New RFX Trigger" msgstr "" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 msgid "Edit RFX Trigger" msgstr "" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "" -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 msgid "Pre Loop Code" msgstr "" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 msgid "Loop Code" msgstr "" -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 msgid "Post Loop Code" msgstr "" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, c-format msgid "Default text (max length %d)" msgstr "" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 msgid "Enter values, one per line" msgstr "" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" "Name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" "Name must not contain spaces.\n" msgstr "" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" "Menu text must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" "Action description must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" "Author must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -7006,28 +7011,28 @@ "Name must be unique.\n" msgstr "" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" "Loop code should not be blank.\n" msgstr "" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" "Trigger code should not be blank for a utility.\n" msgstr "" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" "Parameter name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -7036,41 +7041,41 @@ "\n" msgstr "" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "" -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -7080,27 +7085,27 @@ "\n" msgstr "" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "" -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "" -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "" -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "" -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -7109,7 +7114,7 @@ "Please check this program is in your path and executable.\n" msgstr "" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -7119,12 +7124,12 @@ "\n" msgstr "" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "" -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -7134,7 +7139,7 @@ "Error code was %d\n" msgstr "" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -7144,12 +7149,12 @@ "Please delete it first, or rename the test script.\n" msgstr "" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "" -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -7160,20 +7165,20 @@ "Return code was %d (%s)\n" msgstr "" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 msgid "Export Script" msgstr "" -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "" -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 msgid "Import Script" msgstr "" -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -7183,43 +7188,43 @@ "Please delete it first, or rename the import script.\n" msgstr "" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 msgid "Copy RFX Script" msgstr "" -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "" -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr "" -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 msgid "Rename Test RFX Script" msgstr "" -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "" -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 msgid "RFX Script Name" msgstr "" -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "" -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "" -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "" -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -7227,12 +7232,12 @@ "Script name must be unique.\n" msgstr "" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "" -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -7243,25 +7248,25 @@ "Return code was %d\n" msgstr "" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 msgid "Applying Current Real Time Effects to" msgstr "" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "" -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "" -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -7269,7 +7274,7 @@ "full screen, separate window (fs) mode\n" msgstr "" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -7277,7 +7282,7 @@ "(Free space = UNKNOWN)" msgstr "" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -7286,14 +7291,14 @@ "(Free space = %s)" msgstr "" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" "It should be in a partition with plenty of free disk space.\n" msgstr "" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7304,7 +7309,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7314,7 +7319,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1193 +#: src/preferences.c:1163 msgid "" "You have chosen to change the working directory.\n" "Please make sure you have no other copies of LiVES open.\n" @@ -7326,7 +7331,7 @@ "setting." msgstr "" -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, c-format msgid "" "\n" @@ -7335,13 +7340,13 @@ "See %s\n" msgstr "" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" msgstr "" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, c-format msgid "" "\n" @@ -7350,919 +7355,919 @@ "See %s\n" msgstr "" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "" -#: src/preferences.c:2468 +#: src/preferences.c:2418 #, fuzzy msgid "Preferences" msgstr "_Preferencias..." -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "" -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr "" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr "" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." msgstr "" -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "Interface" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr "" -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "segundos" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "_Nunca" -#: src/preferences.c:2872 +#: src/preferences.c:2757 #, fuzzy msgid "Maximum number of visible tracks" msgstr "Número máximo de pistas para amosar" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "" -#: src/preferences.c:2925 +#: src/preferences.c:2804 msgid "Video open command (fallback)" msgstr "" -#: src/preferences.c:2935 +#: src/preferences.c:2811 msgid "Fallback image format" msgstr "" -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "_jpeg" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "_png" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "" -#: src/preferences.c:2964 +#: src/preferences.c:2832 msgid "Open/render compression" msgstr "" -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr "" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "" -#: src/preferences.c:2995 +#: src/preferences.c:2856 msgid "Automatic trimming / padding of audio when possible" msgstr "" -#: src/preferences.c:2997 +#: src/preferences.c:2858 msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "VÍDEO" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "_Complemento" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "" -#: src/preferences.c:3269 +#: src/preferences.c:3110 msgid "Source:" msgstr "" -#: src/preferences.c:3273 +#: src/preferences.c:3114 msgid "_Internal" msgstr "" -#: src/preferences.c:3278 +#: src/preferences.c:3119 msgid "_External (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "Reprodución" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" msgstr "" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr "" -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "Gravando" -#: src/preferences.c:3454 +#: src/preferences.c:3273 msgid "You can also change these values when encoding a clip" msgstr "" -#: src/preferences.c:3466 +#: src/preferences.c:3285 msgid "Encoder" msgstr "" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "Codificación" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." msgstr "" -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr "" -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr "" -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr "" -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr "" -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr "" -#: src/preferences.c:3649 +#: src/preferences.c:3461 msgid " Working directory (do not remove) " msgstr "" -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "" -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "" -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "Directorios" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "" -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr "" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "" -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" msgstr "" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "" -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr " MB" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "" -#: src/preferences.c:3872 +#: src/preferences.c:3659 msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " "when LiVES is started." msgstr "" -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "" -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "" -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "" -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "" -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "" -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "" -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "" -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "" -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "" -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "" -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "" -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "" -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "" -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "" -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." msgstr "" -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "" -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "" -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "" -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "" -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "" -#: src/preferences.c:4113 +#: src/preferences.c:3865 msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "" -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "Advertencias" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "" -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "" -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "" -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "Varios" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "" -#: src/preferences.c:4242 +#: src/preferences.c:3977 msgid "Main Theme Details" msgstr "" -#: src/preferences.c:4254 +#: src/preferences.c:3988 #, fuzzy msgid " _Foreground Color" msgstr "Fondo" -#: src/preferences.c:4273 +#: src/preferences.c:4007 #, fuzzy msgid " _Background Color" msgstr "Fondo" -#: src/preferences.c:4291 +#: src/preferences.c:4026 #, fuzzy msgid "_Alt Foreground Color" msgstr "Fondo" -#: src/preferences.c:4309 +#: src/preferences.c:4044 #, fuzzy msgid "_Alt Background Color" msgstr "Fondo" -#: src/preferences.c:4327 +#: src/preferences.c:4062 msgid " Info _Text Color" msgstr "" -#: src/preferences.c:4346 +#: src/preferences.c:4081 msgid " Info _Base Color" msgstr "" -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "" -#: src/preferences.c:4365 +#: src/preferences.c:4100 msgid "Affects some contrast details of the timeline" msgstr "" -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "" -#: src/preferences.c:4398 +#: src/preferences.c:4132 #, fuzzy msgid "Frame blank image" msgstr "fotogramas" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "" -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4474 +#: src/preferences.c:4203 msgid "Track background (multitrack)" msgstr "" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "" -#: src/preferences.c:4529 +#: src/preferences.c:4258 msgid "Timeline selection (multitrack)" msgstr "" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "" -#: src/preferences.c:4553 +#: src/preferences.c:4282 msgid "Timecode foreground (multitrack)" msgstr "" -#: src/preferences.c:4565 +#: src/preferences.c:4293 #, fuzzy msgid "Frame surround" msgstr "Primeiro plano" -#: src/preferences.c:4582 +#: src/preferences.c:4306 #, fuzzy msgid "Themes/Colors" msgstr "Temas" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "" -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "" -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" msgstr "" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" msgstr "" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "" -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "Avanzado" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." msgstr "" -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "" -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -8270,41 +8275,41 @@ "Click OK to continue.\n" msgstr "" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." msgstr "" -#: src/preferences.c:5525 +#: src/preferences.c:5205 msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "" -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "" -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "" @@ -8327,157 +8332,157 @@ msgid "Resample/Resize" msgstr "" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" "New rate must be greater than 0\n" msgstr "" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "" -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "" -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "Remuestreo" -#: src/resample.c:1208 +#: src/resample.c:1209 #, fuzzy msgid "New Clip Audio" msgstr "Nova Audio" -#: src/resample.c:1210 +#: src/resample.c:1211 msgid "External Clip Settings" msgstr "" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "Actual" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "" -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 msgid "Channels" msgstr "" -#: src/resample.c:1256 +#: src/resample.c:1257 msgid "Sample Size " msgstr "" -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "Non asinado" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "" -#: src/resample.c:1322 +#: src/resample.c:1323 #, fuzzy msgid "New Audio Details" msgstr "Nova Audio" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "Novo" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "" -#: src/resample.c:1369 +#: src/resample.c:1370 msgid "_Channels" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "_Sample Size" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "Sample Size" msgstr "" -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "" -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "" -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr "" -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr "" -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr "" -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "Ilimitado" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "" -#: src/resample.c:1635 +#: src/resample.c:1636 msgid "Change Playback Speed" msgstr "" -#: src/resample.c:1637 +#: src/resample.c:1638 #, fuzzy msgid "Resample Video" msgstr "Remuestreo" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -8488,7 +8493,7 @@ "in _frames per second" msgstr "" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -8499,80 +8504,80 @@ "in frames per second" msgstr "" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" "LiVES was unable to reorder the frames." msgstr "" -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "" @@ -8802,7 +8807,7 @@ msgid "Mode active" msgstr "" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "" @@ -8924,54 +8929,54 @@ msgid "Opened firewire card %d" msgstr "" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, c-format msgid "%s : parameters for %s" msgstr "" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." msgstr "" -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -8980,7 +8985,7 @@ "right or double clicking on it.\n" msgstr "" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -8988,14 +8993,14 @@ "Select an effect in FX stack first to view its parameters.\n" msgstr "" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" "No clips loaded.\n" msgstr "" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -9005,7 +9010,7 @@ "before inserting clips into the timeline." msgstr "" -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -9014,188 +9019,188 @@ "to apply compositors.\n" msgstr "" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" msgstr "" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" msgstr "" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr "" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 #, fuzzy msgid "Selected Clip" msgstr "_Selección" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 msgid "_Adjust Start and End Points" msgstr "" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 msgid "_Edit/Encode in Clip Editor" msgstr "" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 #, fuzzy msgid "_Show Clip Information" msgstr "LiVES: - Abrir a localización" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 msgid "_Close this Clip" msgstr "" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 msgid "Audio Mixer (ctrl-m)" msgstr "" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "" -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "" -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "" -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "" -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "" -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "" -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "" -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "" -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "" -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "Eliminar %s" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "" -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "" -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " "audio rate %d, audio sample size %d, %s.\n" msgstr "" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -9205,7 +9210,7 @@ "then load in the new set from the File menu.\n" msgstr "" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -9213,608 +9218,608 @@ "It cannot be loaded.\n" msgstr "" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "" -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "" -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "" -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "" -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 #, fuzzy msgid "_Close the Selected Clip" msgstr "_Selección" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 #, fuzzy msgid "_Save Layout as..." msgstr "_Gardar esquema" -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 msgid "_Load Layout..." msgstr "" -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 #, fuzzy msgid "_Wipe/Delete Layout..." msgstr "_Borrar esquema" -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "" -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 msgid "Auto Load _Subtitles with Clips" msgstr "" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 msgid "_Adjust Selected Clip Start/End Points" msgstr "" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 #, fuzzy msgid "_Insert Selected Clip Audio" msgstr "_Inverter selección" -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 #, fuzzy msgid "_Delete Selected Block" msgstr "_Eliminar a selección" -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 msgid "_Jump to Previous Block Boundary" msgstr "" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 msgid "_Jump to Next Block Boundary" msgstr "" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 msgid "Clear _Marks from Timeline" msgstr "" -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 msgid "Ignore Selection Limits when Inserting" msgstr "" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 msgid "Pla_y Selected Time Only" msgstr "" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 msgid "_Move Effects with Blocks" msgstr "" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 msgid "Select _Autotransition Effect..." msgstr "" -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 msgid "Crossfade Audio with Autotransition" msgstr "" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 msgid "View/_Edit Selected Effect" msgstr "" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 #, fuzzy msgid "_Delete Selected Effect" msgstr "_Eliminar a selección" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 msgid "Apply Effect to _Block..." msgstr "" -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 msgid "Apply Effect to _Region..." msgstr "" -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 msgid "Make _Backing Audio Current Track" msgstr "" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 msgid "_Split Current Track at Cursor" msgstr "" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 msgid "_Split Selected Video Tracks" msgstr "" -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 msgid "Insert Gap in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 msgid "Insert Gap in Current Track/Selected Time" msgstr "" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 msgid "Close All _Gaps in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "_Selección" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 msgid "Select _All Video Tracks" msgstr "" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 msgid "Select _No Video Tracks" msgstr "" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 #, fuzzy msgid "Select All _Time" msgstr "Título VCD" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 msgid "Select from _Zero Time" msgstr "" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 #, fuzzy msgid "Select to _End Time" msgstr "Título VCD" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "_Copiar..." -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 msgid "_Timecode to Region Start" msgstr "" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 msgid "_Timecode to Region End" msgstr "" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 msgid "_Region Start to Timecode" msgstr "" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 msgid "_Region End to Timecode" msgstr "" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 msgid "Select/Deselect Block at Current Track/Time" msgstr "" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 msgid "_Change Width, Height and Audio Values..." msgstr "" -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "_Renderizar" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 msgid "_Render All to New Clip" msgstr "" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 #, fuzzy msgid "Render _Video" msgstr "Remuestreo" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 #, fuzzy msgid "Render _Audio" msgstr "Nova Audio" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 msgid "_Normalise Rendered Audio" msgstr "" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 msgid "_Pre-render Audio" msgstr "" -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "_Visualización" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 msgid "Block _In/Out Points" msgstr "" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 msgid "_Effects at Current" msgstr "" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 #, fuzzy msgid "Audio Parameters" msgstr "Fotogramas" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 msgid "Show Backing _Audio Track" msgstr "" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 #, fuzzy msgid "Compact View" msgstr "Vista compacta" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 #, fuzzy msgid "Maximum Tracks to Display..." msgstr "Número máximo de pistas para amosar" -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 msgid "Scroll to Follow Playback" msgstr "" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 msgid "_Center on Cursor" msgstr "" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 msgid "_Zoom In" msgstr "" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 msgid "_Zoom Out" msgstr "" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 msgid "Multitrack _Details" msgstr "" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 msgid "_Show FRAME Events" msgstr "" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 msgid "_Show Multitrack Keys" msgstr "" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 #, fuzzy msgid "Insert With _Audio" msgstr "Inserir _con son" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 #, fuzzy msgid "Select _Overlap" msgstr "_Selección" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" msgstr "" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 msgid "Mouse Mode: _Move" msgstr "" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 msgid "Mouse Mode: _Select" msgstr "" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 msgid "Insert Mode: _Normal" msgstr "" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "_Aplicar" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "" -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "" -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "Desprazar" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" "Switched to Clip Edit mode\n" msgstr "" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr "" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr "" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr " %s" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 msgid "Selected Effect" msgstr "" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 msgid "_View/Edit this Effect" msgstr "" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 msgid "_View this Effect" msgstr "" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 #, fuzzy msgid "_Delete this Effect" msgstr "_Eliminar a selección" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr "" -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "" -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" "Switched to Multitrack mode\n" msgstr "" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" "Nodes can be deleted." msgstr "" -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "%s a %s" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -9822,31 +9827,31 @@ "current time.\n" msgstr "" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." msgstr "" -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 msgid "Selected Block/Frame" msgstr "" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 #, fuzzy msgid "_Select this Block" msgstr "" @@ -9854,255 +9859,255 @@ "\n" "Selección está bloqueado.\n" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 msgid "_Split Block Here" msgstr "" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 msgid "List _Effects Here" msgstr "" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 #, fuzzy msgid "_Delete this Block" msgstr "_Eliminar a selección" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 #, fuzzy msgid "_Insert Here" msgstr "Inserir" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 msgid "_Insert Audio Here" msgstr "" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" msgstr "" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "Limpando..." -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "_Pausa" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " "to %.4f\n" msgstr "" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" "selected.\n" msgstr "" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" msgstr "" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." msgstr "" -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." msgstr "" -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." msgstr "" -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" msgstr "" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" msgstr "" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" msgstr "" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "" -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "" -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" msgstr "" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 msgid "Saving layout" msgstr "" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "fotogramas" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" msgstr "" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -10110,74 +10115,74 @@ "Therefore it could not be loaded properly.\n" msgstr "" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" "Unable to load layout file %s\n" msgstr "" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "" -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "" -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 msgid "" "The current layout has changes which have not been saved.\n" "Are you sure you wish to wipe it ?\n" msgstr "" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 msgid "Multitrack Audio Mixer" msgstr "" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" msgstr "" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "" @@ -10203,7 +10208,7 @@ "Connection to jack audio was reset.\n" msgstr "" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10211,7 +10216,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10219,7 +10224,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:104 +#: src/pulse.c:105 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10227,27 +10232,27 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" msgstr "" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" msgstr "" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr ""
View file
LiVES-2.8.4.tar.bz2/po/he.po -> LiVES-2.8.6.tar.bz2/po/he.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: lives\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" "PO-Revision-Date: 2013-03-14 12:31+0000\n" "Last-Translator: Launchpad Translations Administrators <Unknown>\n" "Language-Team: Hebrew <he@li.org>\n" @@ -18,7 +18,7 @@ "X-Launchpad-Export-Date: 2013-03-28 10:43+0000\n" "X-Generator: Launchpad (build 16546)\n" -#: src/main.c:132 +#: src/main.c:125 #, fuzzy msgid "" "Attention Translators !\n" @@ -33,22 +33,22 @@ "All translators should read the LiVES translation notes at\n" "http://lives.sourceforge.net/TRANS-README.txt" -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "" -#: src/main.c:203 +#: src/main.c:197 #, fuzzy, c-format msgid "" "\n" @@ -62,7 +62,7 @@ "group_id=64341&atid=507139\n" "תודה. ניתן לשחזר את הנתונים שאבדו בהפעלה מחדש של LiVES.\n" -#: src/main.c:205 +#: src/main.c:199 #, fuzzy, c-format msgid "" "\n" @@ -75,7 +75,7 @@ "בעת דיווח על קריסות, נא לכלול פרטים על מערכת ההפעלה שלך, ההפצה וגרסת ה־LiVES " "שבשימוש (" -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" @@ -83,7 +83,7 @@ "וכל מידע זמין מוצג כאן:\n" "\n" -#: src/main.c:210 +#: src/main.c:204 #, fuzzy msgid "" "Please try running LiVES with the -debug option to collect more " @@ -94,7 +94,7 @@ "מידע.\n" "\n" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" @@ -104,90 +104,90 @@ "מידע.\n" "\n" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "מתבצע שימור האוסף.\n" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "הכל" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "ללא" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "מומלץ" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "נוטרל !" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "**הפריסה הנוכחית**" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "מובנה" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "מותאם אישית" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "בדיקה" -#: src/main.c:474 +#: src/main.c:460 #, fuzzy msgid "LiVES: - " msgstr "LiVES: - מיזוג" -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "שינוי גודל" -#: src/main.c:731 +#: src/main.c:708 #, fuzzy msgid "_Resize All Frames..." msgstr "_שינוי גודל כל השקופיות" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "" -#: src/main.c:1122 +#: src/main.c:1094 #, fuzzy msgid "Background" msgstr "רקע _שחור" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "מתבצעת טעינת תוספים לאפקטים בזמן אמת..." -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "מתבצעת הפעלת שרת השמע jack..." -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "מפעיל את שרת התעבורה של jack..." -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "מתחבר לשרת התעבורה של jack..." -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -199,35 +199,35 @@ "Alternatively, try to start lives with either \"lives -jackopts 16\", or " msgstr "" -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "מפעיל את שרת השמע Pulse..." -#: src/main.c:1855 +#: src/main.c:1813 #, fuzzy, c-format msgid "%s...detected... " msgstr "mplayer...זוהה..." -#: src/main.c:1856 +#: src/main.c:1814 #, fuzzy, c-format msgid "%s...NOT DETECTED... " msgstr "mplayer...לא זוהה..." -#: src/main.c:1867 +#: src/main.c:1824 #, fuzzy msgid "Checking optional dependencies: " msgstr "מתבצעת בדיקת חבילות תלות אפשריות:" -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -238,53 +238,53 @@ "\n" "מנהל החלונות המדווח הוא \"%s\"; " -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "מספר הצגים שזוהו: %d\n" -#: src/main.c:1901 +#: src/main.c:1863 #, c-format msgid "Number of CPUs detected: %d " msgstr "" -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "little endian" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "big endian" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "" -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1927 +#: src/main.c:1889 #, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr "" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "התיקייה הזמנית היא %s\n" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" @@ -294,15 +294,15 @@ "תמיכה ב־jack או ב־pulse audio.\n" "תכונות רבות הקשורות לשמע לא תהיינה זמינות.\n" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "הודר עם תמיכה ב־jack, מצוין !\n" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "הודר עם תמיכה ב־pulse audio, נהדר !\n" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" @@ -311,7 +311,7 @@ "ברוכים הבאים ל־LiVES גרסה %s.\n" "\n" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" @@ -320,90 +320,90 @@ "\n" "תחביר ההתחלה הוא:%s [אפשרויות] [שם קובץ [זמן התחלה] [שקופיות]]\n" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "היכן: שם הקובץ הוא שם קובץ מדיה או גיבוי.\n" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "זמן ההתחלה : זמן התחלת שם הקובץ הרצוי בשניות\n" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "שקופיות : מספר שקופיות מירבי לפתיחה\n" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "האפשרויות יכולות להיות:\n" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "-help : הצגת טקסט העזרה ויציאה מהתוכנית\n" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "-set <setname> : טעינה אוטומטית של אוסף הקטעים שהוגדרו כ־setname\n" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "-noset : אין לטעון כל אוסף בהתחלה\n" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "-norecover : אילוץ התוכנה לא לטעון את שחזור הקריסה\n" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "-recover : אילוץ התוכנה לטעון את שחזור הקריסה\n" -#: src/main.c:2593 +#: src/main.c:2545 msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "-nogui : לא יוצג מנשק המשתמש הגרפי\n" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "-startup-ce : start in clip editor mode\n" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "-startup-mt : start in multitrack mode\n" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" msgstr "" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "-oscstart <פתחה> : הפעלת מאזין ה־OSC ביציאת ה־UDP <פתחה>\n" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "-nooscstart : לא להפעיל את מאזין ה־OSC\n" -#: src/main.c:2605 +#: src/main.c:2557 #, fuzzy msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " @@ -411,15 +411,15 @@ msgstr "-aplayer <יישום> : הפעלת נגן המוזיקה הנבחר.<יישום> יכול להיות mplayer" #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr ", pulse" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr ", sox או jack\n" -#: src/main.c:2613 +#: src/main.c:2565 #, fuzzy msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " @@ -430,29 +430,29 @@ "transport client, 2 = jack transport master, 4 = start jack transport " "server, 8 = pause audio when video paused, 16 = start jack audio server] \n" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr " או sox\n" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "-devicemap <mapname> : autoload devicemap\n" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" msgstr "" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "-debug : try to debug crashes (requires 'gdb' installed)\n" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "מפעיל את מנשק המשתמש הגרפי..." -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -463,7 +463,7 @@ "(Maybe you need to change the value of <prefix_dir> in your %s file)\n" msgstr "" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -471,7 +471,7 @@ "Please make sure you have write access to %s and try again.\n" msgstr "" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -485,7 +485,7 @@ "יש לסקרוא את קובץ ה־README המגיע עם חבילה זו\n" "לפני הרצת LiVES.\n" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -495,7 +495,7 @@ "Please check the file permissions for this file and try again.\n" msgstr "" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -506,7 +506,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -514,7 +514,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2737 +#: src/main.c:2689 #, fuzzy, c-format msgid "" "\n" @@ -524,7 +524,7 @@ "%s" msgstr "LiVES כשל בלכידת חלון זה. עמכם הסליחה.\n" -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -542,7 +542,7 @@ "\n" "תודה.\n" -#: src/main.c:2751 +#: src/main.c:2703 #, fuzzy msgid "" "\n" @@ -553,7 +553,7 @@ "LiVES מחייב שימוש ב־'mplayer' או 'sox' לפעולה תקינה. יש להתקין את אחד מאלה " "ולנסות שוב.\n" -#: src/main.c:2756 +#: src/main.c:2708 #, fuzzy msgid "" "\n" @@ -564,7 +564,7 @@ "LiVES מחייב שימוש ב־'mplayer' או 'sox' לפעולה תקינה. יש להתקין את אחד מאלה " "ולנסות שוב.\n" -#: src/main.c:2769 +#: src/main.c:2721 #, fuzzy msgid "" "\n" @@ -575,7 +575,7 @@ "ל־LiVES לא היתה אפשרות לאתר את 'mplayer'. באפשרותך להתקין את mplayer כדי " "להשתמש בתכונות נוספות של LiVES.\n" -#: src/main.c:2775 +#: src/main.c:2727 #, fuzzy msgid "" "\n" @@ -586,7 +586,7 @@ "ל־LiVES לא היתה אפשרות לאתר את 'mplayer'. באפשרותך להתקין את mplayer כדי " "להשתמש בתכונות נוספות של LiVES.\n" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" @@ -596,7 +596,7 @@ "לא ניתן לאתר את 'convert'. ניתן להתקין את convert ו־image-magick במידת " "הצורך באפקטים מוכנים.\n" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " @@ -606,7 +606,7 @@ "לא ניתן לאתר את 'composite'. ניתן להתקין את composite ו־image-magick במידת " "הצורך בפונקציית merge.\n" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " @@ -616,7 +616,7 @@ "ל־LiVES לא היתה אפשרות לאתר את 'sox'. תכונות מסויימות הקשורות לשמע לא יעבדו. " "ניתן להתקין את 'sox'.\n" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -627,63 +627,63 @@ "You may need to change the value of <lib_dir> in %s\n" msgstr "" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "טעינת תוספים לאפקטים מוכנים..." -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "מתבצעת טעינה אוטומטית של האוסף %s..." #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "נגן שמע בלתי תקין %s\n" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s <ללא שם%d> %dx%d : %d שקופיות %d bpp %.3f שקופיות לשנייה" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "LiVES-%s <%s> %dx%d : ??? שקופיות ??? bpp %.3f שקופיות לשנייה" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s <%s> %dx%d : %d שקופיות %d bpp %.3f שקופיות לשנייה" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "LiVES-%s <ללא קובץ>" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "הקלטה %9d/%d" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "!הקלטה %9d/%d" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "נגן" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" @@ -691,34 +691,34 @@ "ל־LiVES לא הית אפשרות ללכוד תמונה זו\n" "\n" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "הקובץ %s נסגר\n" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "_ביטול" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "ב_צע שוב" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "וידאו" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "ערוץ שמע שמאלי" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "ערוץ שמע ימני" -#: src/main.c:7078 +#: src/main.c:6973 #, fuzzy msgid "" "\n" @@ -903,7 +903,7 @@ msgid "Use _mplayer2 audio player" msgstr "שימוש בנגן השמע _mplayer" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "_הבא" @@ -1131,53 +1131,53 @@ msgid "_Finish" msgstr "_סיום" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "מתן האפשרות ל־LiVES להגדיר את סיומת ה_קובץ" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "" -#: src/interface.c:46 +#: src/interface.c:42 msgid "Apply _Deinterlace" msgstr "" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "באם מוגדר, תבוצע פעולת deinterlace על השקופיות בעת הייבוא." -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "תצוגה מקדימה" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "יש ללחוץ כאן כדי _להציג כל קטע וידאו, תמונה או שמע שנבחרו" -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "יש ללחוץ כאן כדי _להציג כל קטע שמע שנבחר" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "יש ללחוץ כאן כדי _להציג את הוידאו" -#: src/interface.c:122 +#: src/interface.c:113 #, fuzzy msgid "Click here to _Preview the file" msgstr "יש ללחוץ כאן כדי _להציג את הוידאו" -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 #, fuzzy msgid "Processing..." msgstr "LiVES: - בתהליכי עיבוד..." -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1191,8 +1191,8 @@ "\n" "נא לזכור לכבות את האפקטים (Ctrl-0) לאחר מכן !" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" @@ -1200,174 +1200,179 @@ "\n" "נא להמתין" -#: src/interface.c:221 +#: src/interface.c:206 msgid "Show Details" msgstr "" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "_מספיק" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "_תצוגה מקדימה" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "הש_הייה" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "השהייה/_מספיק" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "_ביטול" -#: src/interface.c:334 +#: src/interface.c:324 #, fuzzy msgid "Multitrack Details" msgstr "_נתוני ריבוי רצועות" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "מבנה" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "גודל השקופית" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "גודל הקובץ" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "גודל הבית" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "שקופיות לשנייה" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "שקופיות" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "אירועים" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "זמן כולל" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "שמע" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "קצב/גודל" -#: src/interface.c:568 +#: src/interface.c:590 #, fuzzy msgid "Encoding Options" msgstr "LiVES : - אפשרויות קידוד" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." msgstr "" -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "ש_מירת ההגדרות האישיות" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "שימוש בהגדרות מ_ומלצות" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "_סגירת החלון" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "_שמירה לקובץ" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "הכנסה" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "_מספר הפעמים להוספה" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "הוס_פה להתאמת הצליל" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "הוספה _לפני הבחירה" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "הוספת תוכן לוח הגזירים לפני השקופיות הנבחרות" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "הוספה ל_אחר הבחירה" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "הוספת תוכן לוח הגזירים לאחר השקופיות הנבחרות" -#: src/interface.c:833 +#: src/interface.c:846 +#, fuzzy +msgid "Insert _with silence" +msgstr "הוספה עם _צליל" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "הוספה עם _צליל" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "הוספה ל_לא צליל" -#: src/interface.c:924 +#: src/interface.c:937 #, fuzzy msgid "Open Selection" msgstr "העתקת בחירה" -#: src/interface.c:943 +#: src/interface.c:954 msgid "Selection start time (sec)" msgstr "" -#: src/interface.c:949 +#: src/interface.c:960 msgid "Number of frames to open" msgstr "" -#: src/interface.c:1023 +#: src/interface.c:1029 #, fuzzy msgid "Open Location" msgstr "LiVES: - פתיחת מיקום" -#: src/interface.c:1025 +#: src/interface.c:1031 msgid "Open Youtube Clip" msgstr "" -#: src/interface.c:1045 +#: src/interface.c:1050 #, fuzzy msgid "" "\n" @@ -1383,7 +1388,7 @@ "בנוסף, יש לוודא כי רוחב הפס העצמי הוגדר תחת העדפות|מדיה זורמת\n" "\n" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1392,72 +1397,72 @@ "\n" msgstr "" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "כתובת אינטרנט : " -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "" -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "אין לשלוח מידע אודות רוחב הפס" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "ניתן לנסות הגדרה זו אם צצות בעיות בקבלת תזרים מדיה." -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "" -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "" -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr "" -#: src/interface.c:1188 +#: src/interface.c:1189 #, fuzzy msgid "Rename Clip" msgstr "סיבוב קטע" -#: src/interface.c:1190 +#: src/interface.c:1191 #, fuzzy msgid "Enter Set Name to Save as" msgstr "LiVES: - הזנת שם לאוסף" -#: src/interface.c:1192 +#: src/interface.c:1193 #, fuzzy msgid "Enter a Set Name to Reload" msgstr "LiVES: - הזנת שם לאוסף" -#: src/interface.c:1194 +#: src/interface.c:1195 #, fuzzy msgid "Choose a Working Directory" msgstr "LiVES: - בחר מדריך עבודה" -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 #, fuzzy msgid "Rename Current Track" msgstr "_בחירת הרצועה הנוכחית" -#: src/interface.c:1198 +#: src/interface.c:1199 #, fuzzy msgid "Enter a Name for Your Theme" msgstr "LiVES: - הזנת שם לאוסף" -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1469,7 +1474,7 @@ "יש להזין את השם המבוקש עבור האוסף.\n" "ב־LiVES תופיע תזכורת לשמירת אוסף הקטעים עם כל נסיון ליציאה.\n" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1494,220 +1499,220 @@ "This should be a directory with plenty of disk space available.\n" msgstr "" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "שם חדש " -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "שם האוסף " -#: src/interface.c:1257 +#: src/interface.c:1255 #, fuzzy msgid "Theme name " msgstr "שם חדש " -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "שימוש בברי_רות המחדל" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "_מתקדם" -#: src/interface.c:1437 +#: src/interface.c:1425 #, fuzzy msgid "Select input device" msgstr "בחירה ל_סוף" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "" -#: src/interface.c:1517 +#: src/interface.c:1505 #, fuzzy msgid "Load CD Track" msgstr "טעינת רצועה מ_תקליטור..." -#: src/interface.c:1519 +#: src/interface.c:1507 #, fuzzy msgid "Select DVD Title/Chapter" msgstr "LiVES:- בחירת פרק/קטע מ־DVD" -#: src/interface.c:1521 +#: src/interface.c:1509 #, fuzzy msgid "Select VCD Title" msgstr "LiVES:- בחירת קטע מ־VCD" -#: src/interface.c:1523 +#: src/interface.c:1511 #, fuzzy msgid "Change Maximum Visible Tracks" msgstr "LiVES:- שינוי מספר הרצועות הגלויות המירבי" -#: src/interface.c:1525 +#: src/interface.c:1513 #, fuzzy msgid "Device details" msgstr "LiVES:- נתוני התקן" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "רצועה לטעינה (מ־%s)" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "כותרת ה־DVD" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "כותרת ה־VCD" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "מספר מירבי של רצועות לתצוגה" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "התקן: /dev/video" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "התקן: קושחה:" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "פרק " -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "ערוץ " -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "מזהה השמע " -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "מספר קלט" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "שימוש ברוחב, בגובה ובמספר השקופיות לשנייה המוגדרים כברירת מחדל" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "רוחב" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "גובה" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "" -#: src/interface.c:1815 +#: src/interface.c:1778 #, fuzzy msgid "Fade Audio In" msgstr "החלת אפקט Fade _In על השמע" -#: src/interface.c:1817 +#: src/interface.c:1780 #, fuzzy msgid "Fade Audio Out" msgstr "החל אפקט Fade _Out על השמע..." -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "החל אפקט עמעום פנימה מעבר " -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "ראשון" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "החל אפקט עמעום עד להשתקה מעבר " -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "אחרון" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "שניות." -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "בחירה" -#: src/interface.c:1909 +#: src/interface.c:1865 #, fuzzy msgid " (Optional)" msgstr "LiVES: - הערות קובץ (רשות)" -#: src/interface.c:1912 +#: src/interface.c:1868 #, fuzzy, c-format msgid "File Comments%s" msgstr "LiVES: - הערות קובץ (רשות)" -#: src/interface.c:1927 +#: src/interface.c:1882 #, fuzzy, c-format msgid "File Name: %s" msgstr "כותרת/שם : " -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "כותרת/שם : " -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "יוצר/אמן : " -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "הערות : " -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "" -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "" -#: src/interface.c:2109 +#: src/interface.c:2058 #, c-format msgid "%sChoose a Device" msgstr "" -#: src/interface.c:2112 +#: src/interface.c:2061 #, fuzzy, c-format msgid "%sChoose a Directory" msgstr "LiVES: - בחר מדריך עבודה" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" @@ -1717,7 +1722,7 @@ "הפריסה הנוכחית לא נשמרה.\n" "איזו פעולה יש לבצע?\n" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" @@ -1727,7 +1732,7 @@ "הפריסה הנוכחית שונתה מאז שנשמרה לאחרונה.\n" "איזו פעולה יש לבצע?\n" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" @@ -1737,7 +1742,7 @@ "ניתן לשמור את אוסף הקטעים הנוכחי.\n" "איזו פעולה יש לבצע?\n" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" @@ -1745,7 +1750,7 @@ "אוסף הקטעים הנוכחי לא נשמר.\n" "איזו פעולה יש לבצע ?\n" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" @@ -1753,7 +1758,7 @@ "הפריסה הנוכחית לא נשמרה.\n" "איזור פעולה יש לבצע ?\n" -#: src/interface.c:2410 +#: src/interface.c:2341 #, fuzzy msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" @@ -1762,7 +1767,7 @@ "הפריסה הנוכחית השתנתה מאז שנשמרה לאחרונה.\n" "מה ברצונך לעשות ?\n" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" @@ -1772,44 +1777,44 @@ "הפריסה הנוכחית כוללת שקופיות שנוצרו ולא ניתן לשמור אותן.\n" "מה ברצונכם לעשות ?" -#: src/interface.c:2417 +#: src/interface.c:2348 #, fuzzy msgid "Cancel/Discard/Save" msgstr "LiVES: - ביטול/התעלמות/שמירה" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "_שם אוסף הקטעים" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "_טעינה אוטומטית בפעם הבאה" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "_מחיקת פריסה" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "ה_תעלמות מהשינויים" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "_מחיקת אוסף הקטעים" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "_מחיקת פריסה" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "שמירת _פריסה" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "שמירת אוסף ה_קטעים" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" @@ -1819,35 +1824,35 @@ "LiVES זיהה פריסה מרובת־רצועות מהפעלה קודמת.\n" "האם ברצונך לנסות לשחזרה ?/n\n" -#: src/interface.c:2527 +#: src/interface.c:2455 msgid "Disk Recovery Options" msgstr "" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "" -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "" -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "הצגת מקשים" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1855,358 +1860,358 @@ "-----------------------\n" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 #, fuzzy msgid "ctrl-left" msgstr "דילוג אחורה (ctrl-left)" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 #, fuzzy msgid "skip forwards\n" msgstr "דילוג_קדימה" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 #, fuzzy msgid "ctrl-down" msgstr "Ctrl-%d" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "ctrl-enter" msgstr "_מרכז אחר" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "reset frame rate\n" msgstr "_מסגרת ראשונה" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "" -#: src/interface.c:2723 +#: src/interface.c:2642 #, fuzzy msgid "reverse direction\n" msgstr "היפוך כיוון הנגינה" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "ctrl-1" msgstr "Ctrl-%d" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "toggle real-time effect 1\n" msgstr "אפקטים בזמן _אמת" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "ctrl-2" msgstr "Ctrl-%d" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "toggle real-time effect 2\n" msgstr "אפקטים בזמן _אמת" -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 #, fuzzy msgid "ctrl-0" msgstr "Ctrl-%d" -#: src/interface.c:2751 +#: src/interface.c:2670 #, fuzzy msgid "real-time effects off\n" msgstr "אפקטים בזמן _אמת" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "" -#: src/interface.c:2759 +#: src/interface.c:2678 #, fuzzy msgid "grab keyboard for last activated effect\n" msgstr "קליטת המקלדת עבור מקש אפקט זה" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2688 #, fuzzy msgid "tab" msgstr "ברז" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "" -#: src/interface.c:2785 +#: src/interface.c:2706 #, fuzzy msgid "Other playback keys\n" msgstr "_היפוך נגינה " -#: src/interface.c:2789 +#: src/interface.c:2710 #, fuzzy msgid "play all\n" msgstr "נגן הכל" -#: src/interface.c:2792 +#: src/interface.c:2713 #, fuzzy msgid "play selection\n" msgstr "נגינת בחירה" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "" -#: src/interface.c:2798 +#: src/interface.c:2719 #, fuzzy msgid "fullscreen\n" msgstr "_מסך מלא" -#: src/interface.c:2801 +#: src/interface.c:2722 #, fuzzy msgid "separate window\n" msgstr "נגינה בחלון נפרד (s)" -#: src/interface.c:2804 +#: src/interface.c:2725 #, fuzzy msgid "double size\n" msgstr "גודל _כפול" -#: src/interface.c:2807 +#: src/interface.c:2728 #, fuzzy msgid "ping pong loops\n" msgstr "Pin_g Pong לולאות" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "מקשים רב־רצועתיים" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 #, fuzzy msgid "move current track up\n" msgstr "_בחירת הרצועה הנוכחית" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 #, fuzzy msgid "move current track down\n" msgstr "_בחירת הרצועה הנוכחית" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "" -#: src/interface.c:2849 +#: src/interface.c:2768 #, fuzzy msgid "select next clip\n" msgstr "LiVES: קטע נבחר" -#: src/interface.c:2852 +#: src/interface.c:2771 #, fuzzy msgid "select/deselect current track\n" msgstr "_בחירת הרצועה הנוכחית" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 #, fuzzy msgid "zoom in\n" msgstr "_התקרבות" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 #, fuzzy msgid "zoom out\n" msgstr "_התרחקות" -#: src/interface.c:2861 +#: src/interface.c:2780 #, fuzzy msgid "make a mark on the timeline (during playback)\n" msgstr "כדי לסמן את המיקום הנוכחי על ציר הזמן" -#: src/interface.c:2864 +#: src/interface.c:2783 #, fuzzy msgid "rewind to play start.\n" msgstr "חזרה להתחלה (w)" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "מתבצעת שמירה כאוסף %s..." -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "" -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "" -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -2214,16 +2219,16 @@ "the latest youtube-dl installed.\n" msgstr "" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, c-format msgid "Layouts were removed for set %s.\n" msgstr "" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "קובץ זה" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " @@ -2231,7 +2236,7 @@ ",\n" " - כולל הפריסה הנוכחית - " -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2246,7 +2251,7 @@ "\n" "האם לסגור אותו בכל־זאת?" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2261,14 +2266,14 @@ "\n" "האם לסגור אותו?" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" "Really close it ?" msgstr "" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" @@ -2276,7 +2281,7 @@ "\n" "קובץ פרוייקט לא תקין.\n" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2296,54 +2301,54 @@ "לאחר מכן קובץ|סגירה\\שמירת כל הקטעים ונתינת שם חדש לאוסף או ביטולו.\n" "בסיום תהליך זה ניתן לייבא את הפרויקט החדש.\n" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "מתבצע ייבוא הפרוייקט %s כאוסף %s..." -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "ייבוא פרוייקט" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "מתבצע ייצוא הפרוייקט %s..." -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "ייצוא פרוייקט" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 #, fuzzy msgid "Theme" msgstr "שם חדש " -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, fuzzy, c-format msgid "Exporting theme as %s..." msgstr "מייצא שמע כ־%s..." -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, fuzzy, c-format msgid "Importing theme \"%s\" from %s..." msgstr "מייצא שמע כ־%s..." -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, fuzzy, c-format msgid "Backup as %s File" msgstr "גיבוי כקובץ .lv1" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, fuzzy, c-format msgid "Restore %s File" msgstr "שיחזור קובץ .lv1" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2355,95 +2360,95 @@ "האוסף יימחק מהכונן הקשיח.\n" "האם לבצע זאת ?\n" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "" -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "מתבצעת מחיקת האוסף..." -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "מחיקת אוסף" -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "האוסף %s נמחק לצמיתות מהכונן הקשיח.\n" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "הוספת שקט" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "ביטול פעולה" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "שיחזור שמע..." -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "פינוי התמונות מהשקופיות" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "כעת אורך הוידאו הוא %d שקופיות ב־%.3f שקופיות לשנייה.\n" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "לוח הגזירים נדגם מחדש ל־%d שקופיות.\n" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "מבצע מחדש" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, fuzzy, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "מעתיק שקופיות מ־%d ־ל%d%s וללוח הגזירים..." -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, fuzzy, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "מעתיק שקופיות מ־%d ־ל%d%s וללוח הגזירים..." -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "מעתיק ללוח הגזירים" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "גזירה" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 #, fuzzy msgid "Pulling frames from clipboard" msgstr "מושך שקופיות מהקטע" -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "" -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "מדביק" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "" -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " @@ -2453,7 +2458,7 @@ "נא להתקין את התסריט 'convert' מתוך החבילה Image-magic ולאחר מכן להפעיל מחדש " "את LiVES.\n" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2467,7 +2472,7 @@ "ניתן לנסות לבחור את כל השקופיות ולהשתמש \n" "ב־'סידור שמע' הניתן להפעלה מתפריט השמע." -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." @@ -2475,7 +2480,7 @@ "לא ניתן להוסיף את הקובץ המבוקש משום שקצב דגימות השמע לא מותאם.\n" "יש להתקין את 'sox' ולנסות שנית." -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" @@ -2485,7 +2490,7 @@ "הוספת הקובץ המבוקש תזיז את השקופיות בפריסות רב־רצועתיות מסוימות.\n" "האם ברצונך להמשיך ?\n" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" @@ -2495,11 +2500,11 @@ "הוספת הקובץ המבוקש תזיז את השמע בפריסות רב־רצועתיות מסוימות.\n" "האם ברצונך להמשיך ?\n" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "דוגם מחדש את השמע בלוח הגזירים" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2511,7 +2516,7 @@ "לא הייתה אפשרות לדגום מחדש את השמע בלוח הגזירים. \n" "השמע בלוח הגזירים נמחק.\n" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2525,32 +2530,32 @@ "האם ברצונך להמשיך עם ההוספה \n" "באמצעות שמע שלא שונה ?\n" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "מכניס %d%s שקופיות מלוח הגזירים..." -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "מוסיף" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "מכניס %d פעמים מלוח הגזירים %s..." -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "מכניס %d שקופיות מלוח הגזירים %s..." -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "מבטל" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" @@ -2560,7 +2565,7 @@ "מחיקת כל השקופיות תסגור את קובץ זה.\n" "האם ברצונך להמשיך ?" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" @@ -2570,8 +2575,8 @@ "עקב המחיקה תיתכנו שקופיות חסרות בפריסות רב־רצועתיות מסוימות.\n" "האם ברצונך להמשיך ?\n" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" @@ -2581,7 +2586,7 @@ "עקב המחיקה ייתכן שקטעי קול מסויימים יוחסרו בפריסות רב־רצועתיות מסוימות.\n" "האם ברצונך להמשיך ?\n" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" @@ -2591,7 +2596,7 @@ "המחיקה תזיז את השקופיות בפריסות רב־רצועתיות מסוימות.\n" "האם ברצונך להמשיך ?\n" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" @@ -2601,20 +2606,20 @@ "המחיקה תזיז את השמע בפריסות רב־רצועתיות מסוימות.\n" "האם ברצונך להמשיך ?\n" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "מוחק את השקופיות %d ל־%d%s..." -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "מוחק" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "מחיקה" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" @@ -2624,7 +2629,7 @@ "\n" "הבחירה נעולה.\n" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2634,11 +2639,11 @@ "מוכן להקלטה. השתמש ב־'control' ובכפתורי העכבר בעת הנגינה להקלטת ביצועיך.\n" "(לביטול, הקש על 'r' או לחץ על נגן|הקלט ביצועים שוב לפני נגינה.)\n" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "ההקלטה בוטלה.\n" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2651,7 +2656,7 @@ "התוסף '%s' מדווח:\n" "%s\n" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2664,7 +2669,7 @@ "לא ניתן למצוא את שיטת 'init' בתוסף %s.\n" "ייתן שהתוסף לא תקין או לא מותקן כראוי." -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2676,22 +2681,22 @@ "\n" "יש ללחוץ על 'ביטול' אם אין ברצונך לבצע את פעולה זו.\n" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "שומר אוסף %s" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "טוען קטע מהאוסף %s" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2702,24 +2707,24 @@ "עליך להריץ זאת רק אם אין לך עותקים של LiVES הרצים על מכונה זו.\n" "לחץ על אישור בכדי להמשיך.\n" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "מנקה שטח כונן..." -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "" -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "מאפס את קצבי וערכי השקופיות..." -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2727,12 +2732,12 @@ "Internal: %s (%d bpp) / %s\n" msgstr "" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "נאגר" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." @@ -2740,7 +2745,7 @@ "\n" " פותח..." -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" @@ -2749,7 +2754,7 @@ "\n" "(%d מדומה)" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" @@ -2758,7 +2763,7 @@ "\n" "(%d פוענח)" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" @@ -2767,7 +2772,7 @@ "\n" " %.2f שניות." -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" @@ -2775,23 +2780,23 @@ "\n" " לא ידוע" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "לא מסומן" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "מסומן" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "סידור בתים עולה" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "סידור בתים יורד" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" @@ -2800,7 +2805,7 @@ " %d הרץ, %d סיביות\n" "%s %s" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2817,15 +2822,15 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n" msgstr "" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "עורך וידאו ותוכנת VJ." -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" "Launchpad Contributions:\n" @@ -2834,7 +2839,7 @@ " Yaron https://launchpad.net/~sh-yaron\n" " salsaman https://launchpad.net/~salsaman" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, c-format msgid "" "LiVES Version %s\n" @@ -2848,7 +2853,7 @@ "Homepage: %s" msgstr "" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 #, fuzzy msgid "" "\n" @@ -2859,7 +2864,7 @@ "\n" "יש להתקין את mplayer בכדי להציג את קובץ זה.\n" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 #, fuzzy msgid "" "\n" @@ -2871,94 +2876,94 @@ "\n" "יש להתקין את mplayer בכדי להציג את קובץ זה.\n" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" "%s\n" msgstr "" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 #, fuzzy msgid "Encoder Debug Output" msgstr "LiVES: - פלט ניפוי שגיאות של המקודד" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "נגינה במסך מלא (f)" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "כיבוי נגינה במסך מלא (f)" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "גודל כפול (d)" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "גודל יחיד (d)" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "הסתרת חלון הנגינה (s)" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "הצגת חלון הנגינה (s)" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "נגינה בחלון נפרד (s)" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "כיבוי הלולאה המתמשכת (o)" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "הפעלת את הלולאה המתמשכת (o)" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "עוצמת הקול (%.2f)" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "הפעלת השמע שנית (z)" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "השתקת השמע (z)" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "הופך את לוח הגזירים..." -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "הופך את לוח הגזירים" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 msgid "Load Subtitles" msgstr "" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 #, fuzzy msgid "Select Audio File" msgstr "מחק שמע" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -2969,60 +2974,60 @@ "טעינת שמע חדש תגרום לאיבוד שמע בפריסות רב־רצועתיות מסוימות.\n" "האם ברצונך להמשיך ?" -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "פותח שמע %s, סוג %s..." -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "פותח שמע" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "מפקיד שמע" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "שמע חדש" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "פותח רצועה %d מתקליטור %s..." -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "רצועת תקליטור %d" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "פותח רצועת תקליטור..." -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "שגיאה בטעינת רצועת תקליטור\n" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 #, fuzzy msgid "Layout Errors" msgstr "שגיאות פריסה" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "ניקוי _שגיאות" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "_מחיקת פריסות ששונו" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "המשך" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" @@ -3032,23 +3037,23 @@ "מושהה\n" "(יש ללחוץ על כפתור ההמשך כדי להמשיך בתהליך)" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "מושהה..." -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "ממשיך..." -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "שמירה" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "מספיק" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, fuzzy, c-format msgid "" "\n" @@ -3061,30 +3066,30 @@ "(לחץ על כפתור השמירה כדי לשמור את העבודה ולהפסיק)\n" "(בנוסף, ישנה אפשרות ללחוץ על המשך כדי להמשיך בעיבוד)" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "ביטול" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 #, fuzzy msgid "Selected Frame" msgstr "בחירת _כל השקופיות" -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 #, fuzzy msgid "_Save Frame as..." msgstr "_שמירת פריסה כ..." -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -3093,7 +3098,7 @@ "\n" msgstr "" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -3105,7 +3110,7 @@ "עליך להתקין את \"xwininfo\" כדי להשתמש בתכונה זו\n" "\n" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" @@ -3113,7 +3118,7 @@ "\n" "זמן ההקלטה חייב להיות גדול מ־0.\n" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -3127,11 +3132,11 @@ "לאחר מכן ללחוץ על 'ביטול' לביטול\n" "\n" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "החלון הנוסף שוחרר.\n" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" @@ -3139,7 +3144,7 @@ "יש ללחוץ על חלון כדי ללכוד אותו\n" "יש ללחוץ על 'q' כדי להפסיק את ההקלטה" -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -3155,19 +3160,19 @@ "\n" "(LiVES ישתמש בברירת המחדל: %.3f שקופיות לשנייה.)\n" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "LiVES כשל בלכידת חלון זה. עמכם הסליחה.\n" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "מייצא את השמע הנבחר כ..." -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "מייצא שמע כ..." -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -3181,87 +3186,87 @@ "יש ללחוץ על 'אישור' כדי לייצא במהירות החדשה,או על 'ביטול' לייצוא בקצב " "המקורי.\n" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "מייצא שקופיות שמע %d ל־%d כ־%s" -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "מייצא שמע כ־%s..." -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "ייצוא שמע" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 #, fuzzy msgid "Append Audio File" msgstr "צירוף שמע" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "מצרף את קובץ השמע %s..." -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "מצרף שמע" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "צירוף שמע" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "" -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "מתקן שמע מ־%.2f ל־%.2f שניות..." -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "מתקן\\מרפד שמע" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "תיקון\\ריפוד שמע" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "מחיל אפקט Fade In על השמע" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "החלת אפקט Fade In על השמע" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "מחיל אפקט Fade Out על השמע" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "החלת אפקט Fade Out על השמע" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "%s מעל %.1f שניות..." -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "%s מזמן %.2f שניות ל־%.2f שניות..." -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "מפעיל אפקט Fade על השמע" -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" @@ -3271,33 +3276,33 @@ "מחיקת כל השמע תסגור את קובץ זה.\n" "האם ברצונך להמשיך ?" -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "מוחק את כל השמע" -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "מוחק שמע מ־%.2f ל־%.2f שניות..." -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "מוחק שמע" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "מחק שמע" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "הקלט שמע חדש" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "מכניס שקט מ־%.2f ל־%.2f שניות..." -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "מכניס שקט" @@ -3310,604 +3315,604 @@ msgid "Merge Clipboard [ %d Frames ] With Selection [ %d Frames ]" msgstr "ניתן למזג את לוח הגזירים [%d שקופיות] עם הבחירה [%d שקופיות]" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" msgstr "" "ניתן למזג את לוח הגזירים [ %d שקופיות (נדגמו מחדש) ] עם הבחירה [ %d שקופיות ]" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "יישור_מתחיל" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "יישור _מסתיים" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "מה לעשות עם שקופיות לוח הגזירים הנוספות -" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "_הכנסת שקופיות" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "_מחיקת שקופיות" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "מספר פעמים ללולאת לוח הגזירים_" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "_יצירת לולאת לוח גזירים כדי להתאימו לבחירה" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "שיטת _מעבר" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "מיזוג לוח הגזירים עם הבחירה..." -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "המיזוג הסתיים.\n" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "" -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "אפקטים _מותאמים אישית" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "_כלי שירות מותאמים אישית" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "_קובץ" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "_פתיחת קובץ\\תיקייה" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "" -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "פתיחת מיקום\\זרם" -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "" -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "" -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "ייבוא מהתקן _Firewire (DV)" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "ייבוא מהתקן _Firewire (hdv)" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "" -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "הוספת התקן _Firewire חי" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "קבצים _אחרונים..." -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "_טעינת אוסף הקטעים..." -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "סגירת\\שמ_ירת כל הקטעים" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "_קידוד הקטע כ..." -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "קידוד _בחירה כ..." -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "_סגירת קטע זה" -#: src/gui.c:692 +#: src/gui.c:674 #, fuzzy, c-format msgid "_Backup Clip as .%s..." msgstr "_גיבוי הקטע כ־.lv1" -#: src/gui.c:701 +#: src/gui.c:683 #, fuzzy, c-format msgid "_Restore Clip from .%s..." msgstr "_שיחזור קטע מ־.lv1" -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "קידוד\\טעינה\\גיבוי _עם קול" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "_ניקוי שטח כונן" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "ע_ריכה" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "מצב _רב־רצועתי" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "העתקת בחירה" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "גזירת בחירה" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "_הכנסה מלוח הגזירים..." -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "הדבקה כ־_חדש" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "_מיזוג לוח הגזירים עם הבחירה" -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "_מחיקת בחירה" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "הפרד את ה_וידאו מהשמע" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "_בחירה..." -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "בחירת _כל השקופיות" -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "שקופית _התחלה בלבד" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "שקופית _סיום בלבד" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "בחירה מהמסגרת _הראשונה" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "בחירה למסגרת _האחרונה" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "בחירת הכנסה אחרונה/_מיזוג" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "בחירת _האפקט האחרון" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "_הפיכת בחירה" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "_נעילת אורך הבחירה" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "_נגינה" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "_נגן הכל" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "נג_ינת בחירה" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "נגינה מ_לוח הגזירים" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "_עצירה" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "_העברה _קדימה" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "_מסך מלא" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "גודל _כפול" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "נגינה בחלון _נוסף" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "רקע _שחור" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "(אוטומטי) _יצירת לולאת וידאו (כדי להתאימו לרצועת השמע)" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "יצירת לולאה מתמשכת" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "Pin_g Pong לולאות" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "_השתק" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "הפרדת חלון במצב 'ד_ביק'" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "ה_צגת מונה השקופיות" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "" -#: src/gui.c:1069 +#: src/gui.c:1045 msgid "Letterbox Mode" msgstr "" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "אפקט_ים" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "האפקטים מוחלים על הבחירה הנוכחית" -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "_הרצת בדיקת האפקט, הכלי או המחולל..." -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "_כלים" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "הכלים חלים על קטעים שהושלמו." -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "_הפיכת הגזירים" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "_שינוי מהירות הנגינה או השמירה..." -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "_דגימה מחדש של ה_וידאו למהירות שקופיות חדשה..." -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "_כלי שירות" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "_כלים מותאמים אישית" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "_ייצר" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "" -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "לכידת חלון _חיצוני... " -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "_העדפות..." -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "_שמע" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "טעינת שמע _חדש לקטע" -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "טעינת רצועה מ_תקליטור..." -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "ה_וצאת תקליטור" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "הקלטת שמע _חיצוני..." -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "ל_קטע חדש..." -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "ל_בחירה" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "החלת אפקט Fade _In על השמע" -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "החל אפקט Fade _Out על השמע..." -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "_ייצוא שמע..." -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "_ייצוא שמע _נבחר..." -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "ייצוא _כל השמע..." -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "_צירוף שמע..." -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "_תיקון\\ריפוד שמע" -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "_תיקון\\ריפוד שמע ל_בחירה" -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "תיקון\\ריפוד שמע מההתחלה ל_תחילת הנגינה" -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "_מחיקת שמע..." -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "מחיקת שמע _נבחר" -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "מחיקת _כל השמע" -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "הכנסת _שקט לבחירה" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "_דגימת שמע מחדש" -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "_מידע" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "הצגת _מידע קטע" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "הצגת\\_עריכת הערות הקובץ" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "הצגת מידע על _לוח הגזירים" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "הצגת _הודעות" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "הצגת שגיאות _פריסה" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "_קטעים" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "_שינוי שם הקטע הנוכחי בתפריט..." -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "מ_תקדם" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "אפקטים\\כלים\\כלי שירות של _RFX" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "תסריט בדיקת RFX _חדש..." -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "_העתקת תסריט RFX לבדיקה..." -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "_עריכת תסריט בדיקת ה־RFX..." -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "שינוי _שם לתסריט בדיקת ה־RFX..." -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "_מחקית תסריט בדיקת RFX..." -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "העלאה לבדיקה של אפקט\\כלי\\מחולל מוכן..." -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "_ייבוא תסריט RFX מותאם אישית..." -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "י_יצוא תסריט RFX מותאם אישית..." -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "מ_חיקת תסריט RFX מותאם אישית..." -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "בנ_ייה מחדש של כל תוספי ה־RFX" -#: src/gui.c:1397 +#: src/gui.c:1371 #, fuzzy msgid "Receive _LiVES Stream from..." msgstr "_קבלת זרימת _LiVES מ..." -#: src/gui.c:1401 +#: src/gui.c:1375 #, fuzzy msgid "_Send LiVES Stream to..." msgstr "_שליחת זרימת LiVES ל..." -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "פתיחת זרימת _yuv4mpeg מ־%sstream.yuv..." -#: src/gui.c:1426 +#: src/gui.c:1399 #, fuzzy, c-format msgid "_Import Project (.%s)..." msgstr "_ייבוא פרויקט (.lv2)..." -#: src/gui.c:1430 +#: src/gui.c:1403 #, fuzzy, c-format msgid "E_xport Project (.%s)..." msgstr "יי_צוא פרויקט (.lv2)..." -#: src/gui.c:1437 +#: src/gui.c:1409 #, fuzzy, c-format msgid "_Import Custom Theme (.%s)..." msgstr "_ייבוא פרויקט (.lv2)..." -#: src/gui.c:1442 +#: src/gui.c:1414 #, fuzzy, c-format msgid "E_xport Theme (.%s)..." msgstr "יי_צוא פרויקט (.lv2)..." -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "_VJ" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "מיפוי _אפקט בזמן אמת" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "שיוך אפקטים בזמן אמת למקשי ctrl-number" -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "קביעת אפקט בזמן אמת ל_ברירת מחדל" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "קביעת ערך ברירת המחדל עבור אפקטים בזמת אמת." -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "שמירת _ברירת המחדל של אפקטים בזמן אמת" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." @@ -3915,154 +3920,154 @@ "שמור את ברירת המחדל של אפקטים בזמן אמת כדי שיהיו ניתנים לשחזור בכל שימוש ב־" "LiVES." -#: src/gui.c:1476 +#: src/gui.c:1448 #, fuzzy msgid "_Reset All Playback Speeds and Positions" msgstr "_איפוס כל מהירויות ומיקומי הנגינה" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "איפוס את כל מיקומי הנגינה למסגרת 1 ואת כל מהירויות הנגינה." -#: src/gui.c:1480 +#: src/gui.c:1452 #, fuzzy msgid "_MIDI/Joystick Interface" msgstr "מנשק _MIDI\\מוט היגוי" -#: src/gui.c:1489 +#: src/gui.c:1461 #, fuzzy msgid "_MIDI/Joystick Learner..." msgstr "לומד _MIDI\\מוט היגוי" -#: src/gui.c:1493 +#: src/gui.c:1465 #, fuzzy msgid "_Save Device Mapping..." msgstr "_שמירת מיפוי התקן..." -#: src/gui.c:1497 +#: src/gui.c:1469 #, fuzzy msgid "_Load Device Mapping..." msgstr "_טעינת מיפוי התקן..." -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "הצגת _מקשי VJ" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "צעצ_ועים" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "_ללא" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "_שיגוע שקופיות" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "טלוויזית _LiVES (פס רחב)" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "_עזרה" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "_מדריך (נפתח בדפדפן)" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 #, fuzzy msgid "_Donate to the Project !" msgstr "_תרומה למיזם" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 #, fuzzy msgid "_Email the Author" msgstr "_שליחת דוא\"ל לכותב התוכנה" -#: src/gui.c:1547 +#: src/gui.c:1519 #, fuzzy msgid "Report a _Bug" msgstr "דיווח על _באג" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 #, fuzzy msgid "Suggest a _Feature" msgstr "הצעת _תכונה חדשה" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 #, fuzzy msgid "Assist with _Translating" msgstr "לסייע _בתרגום" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "_איתור תקלות" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "_אודות" -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "חזרה להתחלה (w)" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "נגן הכל (p)" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "הפסקת נגינה (q)" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "נגן בחירה (y)" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "עוצמת קול" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "עוצמת שמע (1.00)" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "רקע שאינו ריק (b)" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "נגינה איטית יותר (ctrl-down)" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "נגינה מהירה יותר (ctrl-up)" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "דילוג אחורה (ctrl-left)" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "דילוג קדימה (ctrl-right)" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "הצגת מידע על הקטע (i)" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "החבאת סרגל כלים זה" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." @@ -4071,134 +4076,134 @@ "על \"q\" כדי לעצור." #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr " מהירות נגינת הוידאו (שקופיות לשנייה) " -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "שינוי מהירות הוידאו" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "שקופית ראשונה" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "שקופית אחרונה" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "השקופית הראשונה שנבחרה בקטע זה" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "השקופית האחרונה שנבחרה בקטע זה" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "מתחיל...\n" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr "" " יש ללחוץ על 'q' כדי להפסיק את ההקלטה. אין לכסות את חלון הנגינה ! " -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "מספר שקופיות להצגה" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "_פנוי" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "בחירה חופשית של מספרי שקופיות" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "_התחלה" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "מספר השקופיות מקושר לשקופית ההתחלה" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "_סוף" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "מספר השקופיות מקושר לשקופית הסיום" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "_מצביע" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "מספר השקופיות מקושר למצביע הנגינה" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "הרצה אחורנית" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "נגן הכל" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "נגינת בחירה" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "הפעלת\\כיבוי לולאה" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "התחלת _הקלטה" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "הפסקת _הקלטה" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "_הקלטת ביצועים" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr "" -#: src/gui.c:3613 +#: src/gui.c:3553 #, fuzzy msgid "Streaming" msgstr "חלום" -#: src/gui.c:3615 +#: src/gui.c:3555 #, fuzzy, c-format msgid "Play Window%s" msgstr "החבאת חלון נגינה" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "החבאת חלון נגינה" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "הצגת חלון נגינה" -#: src/gui.c:4199 +#: src/gui.c:4127 #, fuzzy, c-format msgid "'LiVES opened the file' '%s'" msgstr "ל־LiVES לא היתה אפשרות לפתוח את הקובץ" -#: src/gui.c:4220 +#: src/gui.c:4146 #, fuzzy, c-format msgid "'LiVES closed the file' '%s'" msgstr "מתן האפשרות ל־LiVES להגדיר את סיומת ה_קובץ" @@ -4208,11 +4213,11 @@ msgid "Mapped to ctrl-%d" msgstr "" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "אפקטים" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "קטעים" @@ -4226,11 +4231,11 @@ msgid "Select clip for %s\n" msgstr "_מחיקת אוסף הקטעים" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "" @@ -4275,11 +4280,11 @@ msgid "%d bytes" msgstr "" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "מנקה את לוח הגזירים" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -4290,7 +4295,7 @@ "==============================\n" "מותג לקטע %s\n" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" @@ -4300,18 +4305,18 @@ "========================================\n" "מותג לקטע ריק\n" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "(ריק)" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " "updated accordingly\n" msgstr "שם האוסף שונה מ־%s ל־%s. פריסות מושפעות עודכנו בהתאם\n" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" @@ -4320,7 +4325,7 @@ "הקטע %s חסר באוסף.\n" "הפריסות הבאות מחייבות שימוש בו:\n" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" @@ -4329,7 +4334,7 @@ "הקטע %s נסגר.\n" "הפריסות הבאות מחייבות שימוש בו:\n" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" @@ -4338,7 +4343,7 @@ "השקופיות הוזחו מהקטע %s.\n" "הפריסות המושפעות הן:\n" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" @@ -4347,7 +4352,7 @@ "השקופיות נמחקו מהקטע %s.\n" "הפריסות המושפעות הן:\n" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" @@ -4356,7 +4361,7 @@ "השמע נמחק מהקטע %s.\n" "הפריסות המושפעות הן:\n" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" @@ -4365,7 +4370,7 @@ "השמע הוזז מהקטע %s.\n" "הפריסות המושפעות הן:\n" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" @@ -4374,7 +4379,7 @@ "השמע שונה בקטע %s.\n" "הפריסות המושפעות הן:\n" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" @@ -4383,7 +4388,7 @@ "השקופיות שונו בקטע %s.\n" "הפריסות המושפעות הן:\n" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -4394,7 +4399,7 @@ "לא נפתח משום שהוא בשימוש\n" "ע\"י עותק אחר של LiVES.\n" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -4405,7 +4410,7 @@ "האוסף %s נמצא כרגע בשימוש ע\"י עותק אחר של LiVES.\n" "נא לבחור שם אחר לאוסף.\n" -#: src/utils.c:2188 +#: src/utils.c:2207 #, fuzzy, c-format msgid "" "\n" @@ -4414,7 +4419,7 @@ "\n" "שמות האוסף לא יכולים להיות ריקים.\n" -#: src/utils.c:2196 +#: src/utils.c:2215 #, fuzzy, c-format msgid "" "\n" @@ -4423,7 +4428,7 @@ "\n" "שמות האוסף לא יכולים להכיל רווחים או תווים%s.\n" -#: src/utils.c:2204 +#: src/utils.c:2223 #, fuzzy, c-format msgid "" "\n" @@ -4432,18 +4437,18 @@ "\n" "שמות האוסף לא יכולים להכיל רווחים או תווים%s.\n" -#: src/utils.c:2213 +#: src/utils.c:2232 #, c-format msgid "" "\n" "%s names may not start with a '.' or contain '..'\n" msgstr "" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4454,73 +4459,73 @@ "האוסף %s כבר קיים.\n" "נא לבחור שם אחר לאוסף.\n" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "מסיר פריסה %s\n" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "וידאו [פותח...]" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "וידאו[%.2f שניות]" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "(לא מוגדר)" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "(אין וידאו)" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "(אין שמע)" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "ערוץ אחד [פותח...]" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "ערוץ שמאלי [פותח...]" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "ערוץ אחד [%.2f שניות]" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "ערוץ שמאלי [%.2f שניות]" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "ערוץ ימני [פותח...]" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "ערוץ ימני [%.2f שניות]" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "אין אפשרות לשנות ל־mplayer כל עוד הקטעים בתהליך טעינה." -#: src/utils.c:3492 +#: src/utils.c:3548 #, fuzzy msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "אין אפשרות לשנות ל־mplayer כל עוד הקטעים בתהליך טעינה." -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "מנקה קטע" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4535,29 +4540,29 @@ "\n" "לשכתבו ?\n" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "_ביטול %s" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "_ביצוע מחדש %s" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "------------בחירה----------" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr " שניות [ --------בחירה--------] " -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr " שקופיות ] --------" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4582,7 +4587,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "פותח את %s בזמן התחלה %.2f שניות. %d שקופיות" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr " ללא קול" @@ -4700,7 +4705,7 @@ "האם ברצונך להמשיך אף על פי כן?" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "מושך שקופיות מהקטע" @@ -4757,12 +4762,12 @@ msgid "Recording performance..." msgstr "מקליט ביצועים..." -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "קצב השקופיות לשנייה הממוצע היה %.4f\n" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4776,21 +4781,21 @@ "באפשרותך ללחוץ על כלים--->שנה גודל כולל\n" "ולשנות את גודלן של כל השקופיות לגודל הנוכחי\n" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "לא ידוע" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "חסר כותרת%d" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "%d שקופיות מספיקות !\n" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4798,13 +4803,13 @@ "%s\n" msgstr "" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" msgstr "" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4812,7 +4817,7 @@ "Bad things may happen with this clip.\n" msgstr "" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4823,12 +4828,12 @@ "מהירות הנגינה לא נכונה ! משתמש במהירות ברירת המחדל של %.3f שקופיות לשנייה. \n" "ניתן לקבוע את ברירת המחדל לערך אחר בכלים | העדפות | שונות.\n" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "מהירות הנגינה כוונה ל־%.3f שקופיות לשנייה כדי להתאימו לשמע.\n" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" @@ -4838,7 +4843,7 @@ "%.3f\n" "שמע:" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" @@ -4847,54 +4852,54 @@ "שקופיות=%d סוג=%s גודל=%dx%d סיביות לפיקסל=%d שקופיות לשנייה=%.3f\n" "שמע:" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "ללא %s\n" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, fuzzy, c-format msgid " - Author: %s\n" msgstr "יוצר: %s" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, fuzzy, c-format msgid " - Title: %s\n" msgstr " - הערה: %s\n" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr " - הערה: %s\n" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "שומר שקופית %d כ־%s..." -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "מגבה את %s ל־%s" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "מגבה" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "נתוני הביצועים גובו..." -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "משחזר את %s..." -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "משחזר" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -4949,12 +4954,12 @@ msgid "Recovering files..." msgstr "משחזר קבצים..." -#: src/dialogs.c:87 +#: src/dialogs.c:83 #, fuzzy msgid "Show affeced _layouts" msgstr "הצגת פריסות _מושפעות" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" @@ -4962,51 +4967,51 @@ "אין להציג אזהרה זאת עוד\n" "(ניתן להפעיל שוב תחת העדפות/אזהרות)" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr "" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 #, fuzzy msgid "Warning !" msgstr "אזהרות" -#: src/dialogs.c:198 +#: src/dialogs.c:186 #, fuzzy msgid "Error !" msgstr "$error" -#: src/dialogs.c:208 +#: src/dialogs.c:196 #, fuzzy msgid "Information" msgstr "LiVES: מידע עבור %s" -#: src/dialogs.c:234 +#: src/dialogs.c:221 msgid "Question" msgstr "" -#: src/dialogs.c:248 +#: src/dialogs.c:235 #, fuzzy msgid "File Error" msgstr "ניקוי _שגיאות" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "הצגת _פרטים" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -5017,7 +5022,7 @@ "(Disk warning levels can be configured in Preferences.)" msgstr "" -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -5029,11 +5034,11 @@ "Preferences.)" msgstr "" -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "לא ניתן לבחור נגני שמע אחרים בזמן נגינה." -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -5045,18 +5050,18 @@ "ל־LiVES לא הייתה אפשרות לבצע פעולה זו בגלל נפח זיכרון מוגבל.\n" "נא לנסות לסגור יישומים אחרים קודם.\n" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "" -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" "%s%d%% done. Time remaining: %u sec%s\n" msgstr "" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" @@ -5065,7 +5070,7 @@ "\n" "%d/%d שקופיות נפתחו. נותרו %u שניות.\n" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" @@ -5074,7 +5079,7 @@ "\n" "%d/%d שקופיות נפתחו.\n" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" @@ -5083,7 +5088,7 @@ "\n" "נפתחו %d שקופיות.\n" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" @@ -5092,7 +5097,7 @@ "\n" "הזמן שנותר: %d שניות" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -5103,7 +5108,7 @@ "מצטערים, LiVES יכול לפתוח רק %d קבצים בכל פעם.\n" "נא לסגור קובץ ולנסות שוב." -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, fuzzy, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -5122,7 +5127,7 @@ "\n" "נא לוודא שניתן לכתוב לתקייה זו." -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 #, fuzzy msgid "" "\n" @@ -5133,7 +5138,7 @@ "LiVES מחייב שימוש ב־'mplayer' או 'sox' לפעולה תקינה. יש להתקין את אחד מאלה " "ולנסות שוב.\n" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 #, fuzzy msgid "" "\n" @@ -5144,7 +5149,7 @@ "LiVES מחייב שימוש ב־'mplayer' או 'sox' לפעולה תקינה. יש להתקין את אחד מאלה " "ולנסות שוב.\n" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 #, fuzzy msgid "" "\n" @@ -5155,19 +5160,19 @@ "LiVES מחייב שימוש ב־'mplayer' או 'sox' לפעולה תקינה. יש להתקין את אחד מאלה " "ולנסות שוב.\n" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" @@ -5177,7 +5182,7 @@ "נא להתקין את החבילה 'sox'\n" "או לשנות מקודד בכלים | העדפות | קידוד\n" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -5189,7 +5194,7 @@ "המקודד אינו יכול להשתמש במקודד השמע שסופק.\n" "נא לקבוע את מקודד השמע בכלים | העדפות | קידוד\n" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" @@ -5197,13 +5202,13 @@ "פריסה זו כולל שקופיות מחוללות.\n" "לא ניתן לשמור אותה, עליך לאגדה לקטע קודם.\n" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -5214,7 +5219,7 @@ "\n" "בגלל ההחמרה בסוג %s\n" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" @@ -5222,43 +5227,43 @@ "אנו ממליצים על ההגדרות הבאות:\n" "\n" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr ", רשום" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr ", לא רשום" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr ", שימוש בנפח קטן" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr ", שימוש בנפח גדול" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "קביעת קצב הוידאו ל־%.3f שקופיות לשנייה\n" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "קביעת קצב הוידאו ל־%d:%d שקופיות לשנייה\n" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "קביעת גודל הוידאו ל־ %d על %d פיקסלים\n" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" @@ -5266,35 +5271,35 @@ "\n" "באפשרותך:\n" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "לשנות את גודל הוידאו ל־%d על %d פיקסלים\n" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "לנטרל את השמע, בגלל שמקודד המטרה אינו מקודד שמע\n" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "LiVES חייב:\n" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "לדגום מחדש את הוידאו ל־%.3f שקופיות לשנייה\n" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "לדגום מחדש את הוידאו ל־%d:%d שקופיות לשנייה\n" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -5308,7 +5313,7 @@ "יש ללחוץ על `אישור` להמשך, או על `ביטול` לביטול.\n" "\n" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" @@ -5318,7 +5323,7 @@ "השינויים שחלו לבחירה לא יהיו תמידיים.\n" "\n" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -5331,7 +5336,7 @@ "לא הייתה אפשרות להקליט את הביצועים. כרגע אין מספיק נפח זיכרון פנוי.\n" "באפשרותך לנסות להקליט רק עבור בחירת הקובץ." -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -5349,7 +5354,7 @@ "\n" "יש ללחוץ על ביטול כדי לעצור את ההכנסה, או על אישור כדי להמשיך." -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, fuzzy, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -5366,18 +5371,18 @@ "LiVES יודיע לך כשהשקופיות יתקבלו.\n" "לחץ על אישור אם הבנת במה מדובר, אחרת, לחץ על ביטול." -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "היסטורית הודעות" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " "in your %s file" msgstr "" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -5388,7 +5393,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 #, fuzzy msgid "" "Sorry, unknown audio type.\n" @@ -5399,18 +5404,18 @@ "\n" "(שמות הקבצים חייבים להסתיים ב: .mp3, .ogg, .wav, .mod, .xm או .it)" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "נכשל (סוג לא ידוע)\n" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" "(They will not be usable without the set).\n" msgstr "" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -5423,7 +5428,7 @@ "יש ללחוץ על אישור כדי להוסיף את הקטעים הנוכחיים והפריסות לאוסף הנוכחי. \n" "או לחילופין על ביטול כדי לבחור שם חדש.\n" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -5435,7 +5440,7 @@ "האם ברצונך להמשיך בכל זאת ?\n" "." -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -5447,7 +5452,7 @@ "האם ברצונך להמשיך בכל זאת ?\n" "." -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -5458,7 +5463,7 @@ "Otherwise click Cancel to skip loading this file.\n" msgstr "" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -5473,7 +5478,7 @@ "%s\n" "לא ניתן לאתר את הקטע.\n" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -5481,7 +5486,7 @@ "Alternately, select a different audio player in Preferences.\n" msgstr "" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -5490,13 +5495,13 @@ "Automatic jack startup will be disabled now.\n" msgstr "" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" msgstr "" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -5507,7 +5512,7 @@ "%s\n" msgstr "" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" @@ -5515,7 +5520,7 @@ "\n" "לחילופין, באפשרותך להפעיל מחדש את LiVES ולבחור בנגן שמע אחר.\n" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -5530,7 +5535,7 @@ "באפשרותך לשנות את הערך בהעדפות\\רב־רצועתי\n" "מומלץ לשנותו ללפחות %d מ\"ב" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -5539,7 +5544,7 @@ "Do you wish to delete them ?\n" msgstr "" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -5551,7 +5556,7 @@ "ניתן לסגור יישומים אחדים, או להגדיל את מכסת הזיכרון\n" "בהעדפות\\רב־רצועתי\\זיכרון לביטול פעולות\n" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -5563,7 +5568,7 @@ "ייתכן ויהיה צורך להגדיל את מכסת הזיכרון\n" "בהעדפות\\רב־רצועתי\\זיכרון לביטול פעולות\n" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" @@ -5572,19 +5577,19 @@ "ל־LiVES לא הייתה אפשרות להשתמש במספיק זיכרון לחוצץ ביטול פעולות רב־" "רצועתיות.\n" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "או להכניס ערך קטן יותר.\n" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "אפשר לנסות שוב מעורך הקטעים, או לנסות לסגור יישומים אחרים\n" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "ניתן לנסות לסגור יישומים אחרים\n" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" @@ -5592,12 +5597,12 @@ "המצב הרב־רצועתי נקבע ל־0 ערוצי שמע, אבל פריסה זו מכילה שמע.\n" "באפשרותך לכוון את הגדרות השמע מתפריט הכלים.\n" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "הפריסה הנוכחית מכילה אודיו, לכן לא מומלץ שמספר הערוצים ייקבע לאפס.\n" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" @@ -5607,7 +5612,7 @@ "נגן השמע \"jack\" או \"pulse audio\".\n" "באפשרותך לקבוע זאת בתפריט כלים|העדפות|נגינה." -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" @@ -5617,7 +5622,7 @@ "של LiVES).\n" "האם לנסות לתקן את עותק הכונן של הפריסה ?\n" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" @@ -5625,7 +5630,7 @@ "LiVES אין אפשרות לטעון את הפריסה.\n" "מצטער.\n" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 #, fuzzy msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" @@ -5635,7 +5640,7 @@ "LiVES מחייב שימוש ב־'mplayer' או 'sox' לפעולה תקינה. יש להתקין את אחד מאלה " "ולנסות שוב.\n" -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 #, fuzzy msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" @@ -5645,7 +5650,7 @@ "LiVES מחייב שימוש ב־'mplayer' או 'sox' לפעולה תקינה. יש להתקין את אחד מאלה " "ולנסות שוב.\n" -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 #, fuzzy msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" @@ -5655,7 +5660,7 @@ "LiVES מחייב שימוש ב־'mplayer' או 'sox' לפעולה תקינה. יש להתקין את אחד מאלה " "ולנסות שוב.\n" -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" @@ -5665,7 +5670,7 @@ "\n" "תדר השמע חייב להיות גדול מ־0.\n" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5677,7 +5682,7 @@ "והצגתה עלולה לקחת זמן רב.\n" "האם ברצונך להציגה בכל זאת ?\n" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" @@ -5687,7 +5692,7 @@ "\n" "מחובתך להתקין את 'dvgrab' כדי להשתמש בתכונה זו.\n" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5701,25 +5706,25 @@ "נגן השמע \"jack\" או \"pulse audio\".\n" "באפשרותך לבחור אחת מאפשרויות אלו בתפריט כלים|העדפות|נגינה.\n" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "תוסף נגינת הוידאו נכשל בהצגת הלוח !\n" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "תוסף המקודד נכשל בהצגת לוח הצבעים !\n" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "ל־LiVES לא הייתה אפשרות לקבוע את קצב השקופיות של תוסף הוידאו\n" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" msgstr "" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5732,33 +5737,33 @@ "\n" "echo %d > /proc/sys/net/core/rmnem_max\n" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "בוטל.\n" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "נכשל.\n" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "הסתיים.\n" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "שגיאה בקובץ. נכשל.\n" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -5768,7 +5773,7 @@ "%s%s%s" msgstr "" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -5778,7 +5783,7 @@ "%s" msgstr "" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -5788,7 +5793,7 @@ "%s" msgstr "" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -5797,7 +5802,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -5807,7 +5812,7 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -5816,7 +5821,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -5826,12 +5831,12 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "" -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -5840,7 +5845,7 @@ "Please check your system for errors.\n" msgstr "" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -5853,7 +5858,7 @@ "%s\n" "נא לבדוק את הרשאות הקובץ ולנסות שוב." -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -5862,7 +5867,7 @@ "Please check the directory permissions and try again." msgstr "" -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, c-format msgid "" "\n" @@ -5870,14 +5875,14 @@ "%s\n" msgstr "" -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -5885,13 +5890,13 @@ "Please select another encoder from the list.\n" msgstr "" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" msgstr "" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -5901,27 +5906,27 @@ "- Check if the device actually exists.\n" msgstr "" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" "Do you wish to overwrite the existing subtitles ?\n" msgstr "" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 msgid "" "\n" "LiVES currently only supports subtitles of type" msgstr "" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -5930,14 +5935,14 @@ "or OK to continue and save as type \"%s\"\n" msgstr "" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" "(If unsure, click Yes)\n" msgstr "" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -5948,19 +5953,19 @@ "." msgstr "" -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" msgstr "" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" msgstr "" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -5968,7 +5973,7 @@ "DO NOT SHUT DOWN OR CLOSE LIVES !\n" msgstr "" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, fuzzy, c-format msgid "" "\n" @@ -5979,14 +5984,14 @@ "כמה %s אינם נמצאים בפריסה %s\n" "בעקבות כך הוא לא ייטען כראוי.\n" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" "Please check the spelling of the set name and try again.\n" msgstr "" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -5995,7 +6000,7 @@ "directory. Would you like me to do this (recommended) ?" msgstr "" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -6007,7 +6012,7 @@ msgstr "" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -6016,38 +6021,38 @@ "\n" msgstr "" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" "Consult your package distributor.\n" msgstr "" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" msgstr "" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "נא לקבוע את התקן נגינת התקליטורים שלך בכלים | העדפות | שונות\n" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, fuzzy, c-format msgid "" "\n" @@ -6060,7 +6065,7 @@ "%s\n" "נא לבדוק את הרשאות הקובץ ולנסות שוב." -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -6069,7 +6074,7 @@ "already exists. Would you like to overwrite it ?\n" msgstr "" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -6210,7 +6215,7 @@ msgid "Video only Transitions" msgstr "מעברי וידאו בלבד" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "שמע בלבד" @@ -6218,7 +6223,7 @@ msgid "Audio only Transitions" msgstr "מעברי שמע בלבד" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "שמע" @@ -6262,7 +6267,7 @@ msgid "Audio Analysers" msgstr "" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "לא ידוע" @@ -6319,90 +6324,90 @@ "\n" "לא נוצרו שקופיות.\n" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 #, fuzzy msgid "Invalid element" msgstr "פרמטר לא תקין" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 #, fuzzy msgid "Invalid property" msgstr "פרמטר לא תקין" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 #, fuzzy msgid "Invalid plugin" msgstr "השורה %d ב%s לא תקינה\n" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 #, fuzzy msgid "No error" msgstr "$error" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 msgid "integer" msgstr "" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 msgid "string" msgstr "" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 msgid "pointer" msgstr "" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "שגיאה: אין לתוסף %s אפשרות weed_setup();\n" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" @@ -6411,271 +6416,271 @@ "מידע: אין אפשרות לטעון את התוסף %s\n" "השגיאה הייתה: %s\n" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr "" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "%d רכיבי תכנה נטענו בהצלחה\n" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, c-format msgid "Successfully loaded %d compound filters\n" msgstr "" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, fuzzy, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "אירעה שגיאה בנסיון להתחלת המופע %s, קוד שגיאה %d\n" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "אין אפשרות להפעיל את המחולל %s\n" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, fuzzy, c-format msgid "Failed to start generator %s (%s)\n" msgstr "נכשל בנסיון להפעיל את המחולל %s\n" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, fuzzy, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "נכשל בנסיון להפעיל את המחולל %s\n" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 msgid "Autoscale" msgstr "" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 #, fuzzy msgid "Delete this connection" msgstr "_מחיקת אפקט זה" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, c-format msgid "%s - Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, c-format msgid "%s - Parameter Data Connections" msgstr "" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 msgid "Parameter and Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 msgid "Auto Connect Channels" msgstr "" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 msgid "Auto Connect Parameters" msgstr "" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "באפשרותך ללחוץ על 'תצוגה מקדימה' כדי לשנות את ערכים אלו" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "_איפוס ערכים" -#: src/framedraw.c:241 +#: src/framedraw.c:242 msgid "_Frame" msgstr "" @@ -6719,40 +6724,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "מספר יעד של שקופיות לשנייה (תוסף אולי יסתור את הגדרות אלו)" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "%s : גודל" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "גודל חדש (פיקסלים)" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "_רוחב" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "_גובה" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "יצירה ל_לוח הגזירים" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "יצירת שקופיות ללוח הגזירים" -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "יצירה לקטע _חדש" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "יצירת שקופיות לקטע חדש" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -6833,32 +6838,32 @@ "כלים|העדפות|תוספי נגינה מתקדמים\n" "\n" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "" -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "_שקופיות לשנייה" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "קצב שקופיות קבוע לתוסף.\n" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "_מרחב צבעים" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "קלט מרחב צבעים לתוסף.\n" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -6871,7 +6876,7 @@ "כשל בנסיון לפתוח את תוסף הנגינה %s\n" "השגיאה הייתה %s\n" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -6886,7 +6891,7 @@ "אינו מכיל תכונה הכרחית.\n" "לכן,לא ניתן להשתמש בו.\n" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" @@ -6895,24 +6900,24 @@ "לא ניתן להפעיל את תוסף הנגינה.\n" "השגיאה הייתה: %s\n" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " "***\n" msgstr "*** שימוש בתוסף %s עבור נגינת fs, מאושר לסוג הלוח %d (%s). ***\n" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -6921,7 +6926,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -6934,7 +6939,7 @@ "%s%s%s\n" "או להחליף לתוסף אחר בכלים|העדפות|קידוד\n" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, c-format msgid "" "\n" @@ -6942,12 +6947,12 @@ "No decoders found in %s !\n" msgstr "" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, fuzzy, c-format msgid " using %s" msgstr "פותח את %s" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -6960,7 +6965,7 @@ "נכשל בנסיון לפתוח את תוסף המפענח %s\n" "השגיאה הייתה %s\n" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -6975,25 +6980,25 @@ "אינו מכיל אפשרות הכרחית.\n" "לא ניתן להשתמש בו.\n" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "\\לא ידוע" -#: src/plugins.c:2556 +#: src/plugins.c:2550 #, fuzzy msgid "Decoder Plugins" msgstr "פענוח" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "נכשל בטעינת %s, המעברים עלולים לא לשנות גודל.\n" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "הגדרות %s מתקדמות" @@ -7204,20 +7209,20 @@ msgid "Move _Down" msgstr "הזזה _למטה" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 #, fuzzy msgid "RFX Properties" msgstr "LiVES: - מאפייני RFX" -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "_איטי (רמז למנשק המשתמש הגרפי)" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "מחולל מצב _אצווה" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -7231,7 +7236,7 @@ "נא להסיר את הגורם קודם.\n" "\n" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -7243,194 +7248,194 @@ "גורמים אחדים כוונו.\n" "נא לבדוק את קוד הגורם.\n" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 #, fuzzy msgid "New RFX Parameter" msgstr "LiVES: - פרמטר RFX חדש" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 #, fuzzy msgid "Edit RFX Parameter" msgstr "LiVES: - עריכת פרמטר RFX" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "_שם: " -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "שם הפרמטר, חייב להיות יחודי בתוסף." -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "_תווית: " -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." msgstr "תווית שתוצג ע\"י הפרמטר. ייחודיות מציגה מאיץ זיכרון." -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "_סוג: " -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "סוג פרמטר (ניתן לבחירה מרשימה)" -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "_מקומות שבר עשרוני: " -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "ערך _ברירת מחדל: " -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "_ברירת מחדל: " -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "_קבוצת כפתורים: " -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "ערך גדול מ־0 הניתן לשימוש כדי לקבץ כפתורי רדיו." -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "ערך _מינימלי: " -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "ערך מקס_ימלי: " -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr " גודל _צעד: " -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "כמה הפרמטר מכוון כאשר חצי כפתור הסחרור נלחצים." -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 msgid "_Wrap value" msgstr "" -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "אם הערך גולש לגבול העליון-> דקה ודקה->גבול עליון." -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "קביעת _ערכים" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "ברירת מחדל של _אדום: " -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "ברירת מחדל של _ירוק:" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "ברירת מחדל של _כחול: " -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "קביעה כ_ברירת מחדל" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "ערך ברירת מחדל " -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "אורך מקסימלי (תווים): " -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 #, fuzzy msgid "New RFX Parameter Window Hint" msgstr "LiVES: - פרמטר RFX חדש של חלון רמז" -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 #, fuzzy msgid "Edit RFX Parameter Window Hint" msgstr "LiVES: - עריכת פרמטר RFX של חלון רמז" -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "" -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "" -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "" -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "שורה: " -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "פרמטרים מקושרים (%d): " -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "פרמטרים מקושרים (4): " -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "פרמטרים מקושרים (2): " -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 #, fuzzy msgid "New RFX Trigger" msgstr "LiVES: - גורם RFX חדש" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 #, fuzzy msgid "Edit RFX Trigger" msgstr "LiVES: עריכת גורם RFX" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "כאשר: " -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 #, fuzzy msgid "Pre Loop Code" msgstr "LiVES: - קוד לפני לולאה" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 #, fuzzy msgid "Loop Code" msgstr "קוד _לולאה..." -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 #, fuzzy msgid "Post Loop Code" msgstr "LiVES: - קוד אחרי לולאה" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, fuzzy, c-format msgid "Default text (max length %d)" msgstr "LiVES: -(%d טקסט ברירת מחדל (אורך מקסימלי" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 #, fuzzy msgid "Enter values, one per line" msgstr "LiVES: - הכנסת ערכים, אחד בכל שורה" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" @@ -7440,7 +7445,7 @@ "\n" "אין להכניס שם ריק.\n" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" @@ -7450,7 +7455,7 @@ "\n" "אין להכניס רווחים לשם.\n" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" @@ -7460,7 +7465,7 @@ "\n" "אין להשאיר את טקסט התפריט ריק.\n" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" @@ -7470,7 +7475,7 @@ "\n" "אין להשאיר את תיאור הפעולה ריק.\n" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" @@ -7480,7 +7485,7 @@ "\n" "אין להשאיר את שדה היוצר ריק.\n" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -7492,7 +7497,7 @@ "כבר יש תוסף עם שם זה.\n" "השם חייב להיות ייחודי.\n" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" @@ -7502,7 +7507,7 @@ "\n" "לא מומלץ להשאיר את קוד הלולאה ריק.\n" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" @@ -7512,7 +7517,7 @@ "\n" "לא מומלץ להשאיר את קוד הגורם ריק עבור כלי שירות.\n" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" @@ -7522,7 +7527,7 @@ "\n" "אין להשאיר את שם הפרמטר ריק.\n" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -7535,41 +7540,41 @@ "אותרו כפילויות בשמות פרמטרים. שמות הפרמטרים חייבים להיות ייחודיים בתוסף.\n" "\n" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "כותב קובץ תסריט %s..." -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "לא נמצא אזור <define> בתסריט.\n" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "גרסת תסריט שגויה.\n" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "לא נמצא אזור <name> בתסריט.\n" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "לא נמצא אזור <version> בתסריט.\n" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "לא נמצא אזור <author> בתסריט.\n" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "לא נמצא אזור <description> בתסריט.\n" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "תיאור גרוע (%s)\n" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -7584,27 +7589,27 @@ "נמצא בתסריט.\n" "\n" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "בונה מחדש את כל תסריטי ה־RFX...נבנה..." -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "בונה מחדש תסריטים" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "מותאם אישית..." -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "בדיקה..." -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "בונה מחדש את ערכי התפריטים הפעילים..." -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -7617,7 +7622,7 @@ "ל־LiVES לא הייתה אפשרות למצוא את התוכנה %s.\n" "נא לבדוק שתוכנה זו נמצאת בנתיב הנכון וכן בעלת הרשאות הרצה.\n" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -7632,12 +7637,12 @@ "%s ?\n" "\n" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "מוחק את תסריט הRFX %s..." -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -7652,7 +7657,7 @@ "%s\n" "קוד השגיאה היה %d\n" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -7667,12 +7672,12 @@ "כבר קיים.\n" "נא למחוק אותו קודם, או לשנות את שם תסריט הבדיקה.\n" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "מקדם את תוסף הבדיקה של rfx %s למותאם אישית..." -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -7683,22 +7688,22 @@ "Return code was %d (%s)\n" msgstr "" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 #, fuzzy msgid "Export Script" msgstr "ייצוא פרוייקט" -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "מעתיק את %s ל%s..." -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 #, fuzzy msgid "Import Script" msgstr "ייבוא פרוייקט" -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -7713,46 +7718,46 @@ "כבר קיים.\n" "נא למחוק אותו קודם, או לשנות את שם תסריט הייבוא.\n" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 #, fuzzy msgid "Copy RFX Script" msgstr "LiVES: העתקת תסריט RFX" -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "" -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr " תסריט: " -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 #, fuzzy msgid "Rename Test RFX Script" msgstr "שינוי _שם לתסריט בדיקת ה־RFX..." -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "מתסריט: " -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 #, fuzzy msgid "RFX Script Name" msgstr "LiVES: - שם תסריט RFX" -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "שם תסריט: " -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "שם חדש: " -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "שם תסריט חדש: " -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -7764,12 +7769,12 @@ "כבר יש תסריט בדיקה עם שם זה.\n" "שם התסריט חייב להיות ייחודי.\n" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "משנה את שם תסריט בדיקת הRFX %s ל%s..." -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -7786,26 +7791,26 @@ "%s\n" "הקוד שהוחזר היה %d\n" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "_החלת אפקטים בזמן אמת על הבחירה" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 #, fuzzy msgid "Applying Current Real Time Effects to" msgstr "_החלת אפקטים בזמן אמת על הבחירה" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "טוען אפקט מוכן %s..." -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "ניתן לראות: VJ - הצגת מקשי VJ. קביעת אפקטים בזמן אמת והחלתם כאן." -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -7817,7 +7822,7 @@ "תוספי נגינת הוידאו מופעלים רק במצב\n" "מסך מלא וחלון נפרד (fs)\n" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -7825,7 +7830,7 @@ "(Free space = UNKNOWN)" msgstr "" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -7834,14 +7839,14 @@ "(Free space = %s)" msgstr "" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" "It should be in a partition with plenty of free disk space.\n" msgstr "" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7852,7 +7857,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7862,7 +7867,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1193 +#: src/preferences.c:1163 #, fuzzy msgid "" "You have chosen to change the working directory.\n" @@ -7881,7 +7886,7 @@ "\n" "לחילופין, ניתן ללחוץ על ביטול כדי לשחזר את התיקייה הזמנית להגדרתה המקורית." -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, fuzzy, c-format msgid "" "\n" @@ -7893,7 +7898,7 @@ "לא ניתן להחליף את נגן השמע לjack - jackd חייב להיות מותקן קודם.\n" "למידע נוסף, ניתן להיכנס לאתר http://jackaudio.org\n" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" @@ -7901,7 +7906,7 @@ "\n" "החלפת נגן השמע מחייבת הפעלה מחדש (אסור שjackd ירוץ)\n" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, fuzzy, c-format msgid "" "\n" @@ -7914,385 +7919,385 @@ "חובה להתקין את pulseaudio קודם.\n" "למידע נוסף: http://www.pulseaudio.org\n" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "PCM(האיכות הגבוהה ביותר; הקבצים הגדולים ביותר)" -#: src/preferences.c:2468 +#: src/preferences.c:2418 #, fuzzy msgid "Preferences" msgstr "_העדפות..." -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "פתיחת בחירת קובץ בגודל מלא" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "הצגת הקבצים האחרונים בתפריט הקובץ" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "הפסקת שומר המסך בעת נגינה " -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "פתיחת החלון הראשי בגודל מלא" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "הצגת סרגל הכלים כשהרקע ריק" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "מתן אפשרות להחלפת קטעים באמצעות גלגלת העכבר" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "מצב עלייה:" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "_עורך קטעים" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "_מצב מרובה רצועות" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "תמיכה בריבוי צגים" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr " מספר צגים עבור הממשק של LiVES" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr " מספר צגים לנגינה" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." msgstr "" -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "הכרחת שימוש בצג בודד" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "מנשק" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "כאשר נכנסים למצב המרובה־רצועות:" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "_מתן אפשרות לקבוע רוחב, גובה, שקופיות לשנייה והגדרות שמע" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "_שימוש בערכים הבאים:" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "שימוש באותם _ערכים עבור עיבוד הוידאו והשמע לקטע חדש" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr " _ביטול גודל החוצץ (מ\"ב) " -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "_יציאה ממצב מרובה־רצועות אחרי עיבוד תמונה ושמע" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "גיבוי פריסות אוטומטי" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "_בכל" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "שניות" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "לאחר כל _שינוי" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "_לעולם לא" -#: src/preferences.c:2872 +#: src/preferences.c:2757 #, fuzzy msgid "Maximum number of visible tracks" msgstr "מספר מירבי של רצועות לתצוגה" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "ריבוי רצועות\\עיבוד תמונה ושמע" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "שימוש בפתיחה מיידית כשהדבר אפשרי" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "אפשור פתיחה מיידית של סוגי קבצים מסויימים בעזרת תוספים למפענח" -#: src/preferences.c:2925 +#: src/preferences.c:2804 msgid "Video open command (fallback)" msgstr "" -#: src/preferences.c:2935 +#: src/preferences.c:2811 msgid "Fallback image format" msgstr "" -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "_jpeg" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "_png" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "עמרי" -#: src/preferences.c:2964 +#: src/preferences.c:2832 msgid "Open/render compression" msgstr "" -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr "" " % ( נמוך יותר = איטי יותר, קבצים גדולים יותר; ל־jpeg, איכות גבוהה יותר )" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "אפשור פירוק אוטומטי כשהדבר אפשרי" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "אפשור פירוק שקופיות כאשר תוסף מבקש זאת" -#: src/preferences.c:2995 +#: src/preferences.c:2856 #, fuzzy msgid "Automatic trimming / padding of audio when possible" msgstr "אפשור פירוק אוטומטי כשהדבר אפשרי" -#: src/preferences.c:2997 +#: src/preferences.c:2858 #, fuzzy msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "אפשור פירוק שקופיות כאשר תוסף מבקש זאת" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "בפתיחת קבצים מרובים, יש לאחד את התמונות לקטע אחד" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "פענוח" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "וידאו" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "נמוך - יכול לשפר את הביצועים במחשבים איטיים יותר" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "רגיל - מומלץ לרוב המשתמשים" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "גבוה - יכול לשפר את האיכות במחשבים מהירים מאד" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "_איכות תצוגה" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "איכות תצוגת נגינת הוידאו - משפיע על שינויי גודל" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "הצגת נתונים סטטיסטיים לגבי השקופיות לשנייה" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "_תוסף" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "שמע" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "_נגן" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "_פקודת נגינת שמע" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "- פנימי -" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "התאמת השמע ל_קצב\\כיוון הוידאו" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "התאמת השמע למיתוג _קטעים" -#: src/preferences.c:3269 +#: src/preferences.c:3110 msgid "Source:" msgstr "" -#: src/preferences.c:3273 +#: src/preferences.c:3114 msgid "_Internal" msgstr "" -#: src/preferences.c:3278 +#: src/preferences.c:3119 msgid "_External (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "נגינה" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" msgstr "" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr " מה להקליט כאשר 'r' נלחץ " -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "שינויי _שקופיות" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "שינויי ש_קופיות לשנייה" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "אפקטים בזמן _אמת" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "החלפה בין _קטעים" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "ג\"ב" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "מקליט" -#: src/preferences.c:3454 +#: src/preferences.c:3273 #, fuzzy msgid "You can also change these values when encoding a clip" msgstr "באפשרותך ללחוץ על 'תצוגה מקדימה' כדי לשנות את ערכים אלו" -#: src/preferences.c:3466 +#: src/preferences.c:3285 msgid "Encoder" msgstr "" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "סוג קובץ פלט" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "מקודד שמע" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "מקודד" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "שימוש ב_החלקת עקומות בעת שינויי גודל" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "מספר מקשי אפקטים בזמן _אמת" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." @@ -8300,177 +8305,177 @@ "מספר מקשים \"מדומים\" של אפקטים בזמן אמת. ניתן לשלוט בהם דרך חלון האפקטים " "בזמן אמת, או דרך הרשת (OSC)." -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr " תיקיית טעינת וידאו (ברירת מחדל) " -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr " תיקיית שמירת וידאו (ברירת מחדל) " -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr " תיקיית טעינת שמע (ברירת מחדל) " -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr " תיקיית תמונה (ברירת מחדל) " -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr " גיבוי\\שחזור תיקייה (ברירת מחדל) " -#: src/preferences.c:3649 +#: src/preferences.c:3461 #, fuzzy msgid " Working directory (do not remove) " msgstr " תיקייה זמנית (אין להסירה) " -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "תיקיית ברירת המחדל ממנה טוענים קטעים" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "תיקיית ברירת המחדל לשמירת קטעים מקודדים." -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "תיקיית ברירת המחדל לטעינת ושמירת שמע" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "תיקיית ברירת המחדל לשמירת תצלומי שקופיות" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "תיקיית ברירת המחדל לגיבוי\\שחזור קטעים בודדים" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "תיקיית העבודה של LiVES." -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "תיקיות" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "" -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr "" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "" -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" msgstr "אזהרה בהוספה\\מיזוג אם קצב ה_שקופיות לא מתאים לקצב של הבחירה" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "הצגת אזהרה בפתיחה אם _גודל הקובץ עובר את " -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr " מ\"ב" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "הצגת אזהרה לפני שמירת א_וסף" -#: src/preferences.c:3872 +#: src/preferences.c:3659 msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " "when LiVES is started." msgstr "" -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "הצגת אזהרה אם לא נמצאו אפקטים _מוכנים בהפעלה." -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "הצגת אזהרה אם לא נמצאו תוספים _למקודד בהפעלה." -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "הצגת אזהרה אם ישנה _כפילות בשם האוסף שהוכנס." -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "הצגת אזהרה לגבי קטעים חסרים ב_פריסות כשאוסף נטען." -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "הצגת אזהרה אם קטע שנמצא באחת הפריסות עומד להיסגר." -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "הצגת אזהרה אם שקופיות הנמצאות בשימוש ע\"י פריסה עומדות להימחק." -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "הצגת אזהרה אם שקופיות הנמצאות בשימוש ע\"י פריסה עומדים לזוז." -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "הצגת אזהרה אם השקופיות הנמצאות בשימוש ע\"י פריסה עומדות להשתנות." -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "הצגת אזהרה אם שמע הנמצא בשימוש ע\"י פריסה עומד להימחק." -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "הצגת אזהרה אם שמע הנמצא בשימוש בפריסה עומד לזוז." -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "הצגת אזהרה אם שמע הנמצא בשימוש בפריסה עומד להשתנות." -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "" -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "הצגת אזהרה אם הפריסה לא נשמרה בעת יציאה ממצב ריבוי הרצועות" -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "הצגת אזהרה אם ריבוי הרצועות אינו מכיל ערוצי שמע, ופריסה עם שמע נטענה." -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." @@ -8478,350 +8483,350 @@ "הזהר אם ריבוי הרצועות מכיל ערוצי שמע ונגן השמע שלך אינו \"jack\" או \"pulse " "audio\"." -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "הצגת הודעת מידע אחרי ייבוא מהתקן firewire" -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "הצגת אזהרה לפני פתיחת זרימת yuv4mpeg (מתקדם)." -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "הצגת אזהרה כשריבוי הרצועות דל בשטח גיבוי." -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "הצג אזהרה מייעץ ניקוי שטח דיסק לאחר התרסקות." -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "" -#: src/preferences.c:4113 +#: src/preferences.c:3865 #, fuzzy msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "הצגת אזהרה לפני פתיחת זרימת yuv4mpeg (מתקדם)." -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "אזהרות" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "סינכרון Midi (מחייב את הקבצים midistart ו־midistop)" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "כאשר מוסיפים\\ממזגים שקופיות: " -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "_האצה\\האטה של התוספת" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "_דגימת התוספת מחדש" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "התקן תקליטורים " -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "LiVES יכול לטעון רצועות שמע מתקליטור זה" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "ברירת מחדל של שקופיות לשנייה " -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "מספר שקופיות לשנייה לשימוש כאשר לא סופק אחר" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "שונות" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "ערכת נושא חדשה: " -#: src/preferences.c:4242 +#: src/preferences.c:3977 msgid "Main Theme Details" msgstr "" -#: src/preferences.c:4254 +#: src/preferences.c:3988 #, fuzzy msgid " _Foreground Color" msgstr "_צבע רקע" -#: src/preferences.c:4273 +#: src/preferences.c:4007 #, fuzzy msgid " _Background Color" msgstr "_צבע רקע" -#: src/preferences.c:4291 +#: src/preferences.c:4026 #, fuzzy msgid "_Alt Foreground Color" msgstr "_צבע רקע" -#: src/preferences.c:4309 +#: src/preferences.c:4044 #, fuzzy msgid "_Alt Background Color" msgstr "_צבע רקע" -#: src/preferences.c:4327 +#: src/preferences.c:4062 #, fuzzy msgid " Info _Text Color" msgstr " _גובה " -#: src/preferences.c:4346 +#: src/preferences.c:4081 #, fuzzy msgid " Info _Base Color" msgstr " _גובה " -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "" -#: src/preferences.c:4365 +#: src/preferences.c:4100 #, fuzzy msgid "Affects some contrast details of the timeline" msgstr "עיגון נקודת הסיום לציר הזמן" -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "" -#: src/preferences.c:4398 +#: src/preferences.c:4132 #, fuzzy msgid "Frame blank image" msgstr "שינויי _שקופיות" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "" -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4474 +#: src/preferences.c:4203 #, fuzzy msgid "Track background (multitrack)" msgstr "רקע שאינו ריק (b)" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "" -#: src/preferences.c:4529 +#: src/preferences.c:4258 #, fuzzy msgid "Timeline selection (multitrack)" msgstr "ציר זמן (שניות)" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "" -#: src/preferences.c:4553 +#: src/preferences.c:4282 #, fuzzy msgid "Timecode foreground (multitrack)" msgstr "_קוד זמן לתחילת האיזור" -#: src/preferences.c:4565 +#: src/preferences.c:4293 #, fuzzy msgid "Frame surround" msgstr "_שקופיות לשנייה " -#: src/preferences.c:4582 +#: src/preferences.c:4306 #, fuzzy msgid "Themes/Colors" msgstr "ערכות נושא" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "רוחב פס הורדה (ק\"ב\\שנייה) " -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "חובה להדר את LiVES בלי \"configure --disable-OSC\" כדי להשתמש ב־OMC" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "שליטה מרחוק על OMC מאופשרת" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "פותחת UDP " -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "הפעלת OMC בהפעלת LiVES" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "זרימה\\רשת" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "העברת Jack" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" msgstr "" "חובה להדר את LiVES עם jack/transport.h וjack\\jack.h כדי להשתמש בהעברת Jack" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "קובץ הגדרות _תעבורת Jack" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "הפעלת ה_שרת בהפעלת LiVES" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "שמע Jack" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "חובה להדר את LiVES עם jack\\jack.h כדי להשתמש בשמע jack" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" msgstr "מחובתך לקבוע את נגן השמע ל\"jack\" בלשונית הנגינה כדי להשתמש בשמע jack" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "קובץ הגדרות שרת ה_שמע Jack" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "שילוב עם Jack" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "אירועים להגבה:" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "אירועי _מוט היגוי" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "התקן _מוט היגוי" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "התקן מוט ההיגוי, לדוגמה /dev/input/js0" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "אירועי _MIDI" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "שימוש ב־MIDI של _ALSA" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "יצירת ערוץ MIDI ב־ALSA שאליו יכולים להתחבר התקני MIDI אחרים" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "שימוש ב־MIDI לא דחוס" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "קריאה ישירות מהתקן ה־MIDI" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "התקן _MIDI" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "התקן הMIDI, לדוגמה /dev/input/midi0" -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "מתקדם" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "_תדר בדיקת MIDI" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." @@ -8829,23 +8834,23 @@ "מספר בדיקות MIDI לכל נקישת מקלדת. העלאת התדר אולי תגרום לשיפור תגובות הMIDI, " "אבל עלולה להאט את הנגינה." -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "ביצוע חוזר של MIDI" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "מספר אי־קריאות מותר בין קריאות מוצלחות" -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "(אזהרה: הגדלה מוגזמת של ערך זה עלולה להאט את הנגינה.)" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "לומד MIDI\\מוט היגוי" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -8856,42 +8861,42 @@ "LiVES יכבה עכשיו. יש צורך להפעילו מחדש כדי ששינוי התיקייה יחול.\n" "נא ללחוץ על אישור.\n" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." msgstr "" -#: src/preferences.c:5525 +#: src/preferences.c:5205 #, fuzzy msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "שינויי ערכת הנושא לא ישפיעו עד הפעלת LiVES הבאה." -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "אפשרויות הJack לא יישתנו עד ההפעלה הבאה של LiVES." -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "מסנכרן לקצב שקופיות חיצוני של %.8f שקופיות לשנייה.\n" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "לא ניתן לאתחל את מקלט ה־OSC\n" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "אזהרה: לא ניתן להפעיל את שרת הOSC בפותחת הUDP %d\n" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "שרת הOSC הופעל בפותחת הUDP %d\n" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "לא ניתן להפעיל את שרת הOSC/UDP בפותחה %d \n" @@ -8914,12 +8919,12 @@ msgid "Resample/Resize" msgstr "דגימה מחדש" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "אורך הוידאו כעת הינו %d שקופיות.\n" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" @@ -8929,147 +8934,147 @@ "\n" "הקצב החדש חייב להיות גדול מ0\n" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "דגימת שמע מחדש" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "ל־LiVES לא הייתה אפשרות לדגום מחדש את השמע כפי שבוקש.\n" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "דגימת שמע מחדש" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "השמע נדגם מחדש ל%d ׁHz, %d ערוצים ו%d סיביות" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "דוגם את הוידאו מחדש ב%.8f שקופיות לשנייה" -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "דוגם את הוידאו מחדש ב%.3f שקופיות לשנייה..." -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "שגיאת סידור מחדש !\n" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "דגימה מחדש" -#: src/resample.c:1208 +#: src/resample.c:1209 #, fuzzy msgid "New Clip Audio" msgstr "שמע חדש" -#: src/resample.c:1210 +#: src/resample.c:1211 #, fuzzy msgid "External Clip Settings" msgstr "LiVES: - הגדרות קטע חיצוני" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "נוכחי" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "קצב (Hz) " -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 msgid "Channels" msgstr "" -#: src/resample.c:1256 +#: src/resample.c:1257 msgid "Sample Size " msgstr "" -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "חתום" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "לא חתום" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "Little Endian" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "Big Endian" -#: src/resample.c:1322 +#: src/resample.c:1323 #, fuzzy msgid "New Audio Details" msgstr "שמע חדש" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "חדש" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "_הפעלת שמע" -#: src/resample.c:1369 +#: src/resample.c:1370 msgid "_Channels" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "_Sample Size" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "Sample Size" msgstr "" -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "_שקופיות לשנייה " -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "זמן הקלטה מקסימלי: " -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr " שעות " -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr " דקות " -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr " שניות " -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "בלתי־מוגבל" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "יש ללחוץ על אישור כדי להתחיל בהקלטה, או על ביטול כדי לצאת" -#: src/resample.c:1635 +#: src/resample.c:1636 #, fuzzy msgid "Change Playback Speed" msgstr "_שינוי מהירות הנגינה או השמירה..." -#: src/resample.c:1637 +#: src/resample.c:1638 #, fuzzy msgid "Resample Video" msgstr "דוגם מחדש וידאו" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -9086,7 +9091,7 @@ "נא להכניס את מהירות הנגינה הרצויה\n" "ב _שקופיות" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -9103,15 +9108,15 @@ "נא להכניס את הקצב ש_נדגם מחדש\n" "בשקופיות לשנייה" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "או להכניס את אורך הקטע הרצוי ב_שניות" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "שינוי מהירות ה_שמע בנוסף" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" @@ -9121,7 +9126,7 @@ "העלאת מהירות הקטע תגרום לשקופיות חסרות בפריסות מרובות־רצועות מסוימות.\n" "האם לשנות את המהירות?\n" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" @@ -9131,47 +9136,47 @@ "העלאת מהירות הקטע תגרום לשמע חסר בפריסות מרובות־רצועות מסוימות.\n" "האם לשנות את המהירות ?\n" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "שינוי מהירות" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "מהירות הנגינה שונתה ל%.3f שקופיות לשנייה והשמע שונה ל %d Hz.\n" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "מהירות הנגינה שונתה ל%.3f שקופיות לשנייה.\n" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "דוגם מחדש וידאו" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "דוגם מחדש את הוידאו הנמצא בלוח הגזירים" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "מסדר מחדש שקופיות" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" @@ -9181,11 +9186,11 @@ "\n" "ל־LiVES לא הייתה אפשרות לסדר מחדש את השקופיות" -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "יוצר אי־סדר בשקופיות" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "שגיאת דגימה מחדש" @@ -9446,7 +9451,7 @@ msgid "Mode active" msgstr "מצב פעיל" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "מידע" @@ -9573,54 +9578,54 @@ msgid "Opened firewire card %d" msgstr "" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "גיבוי אוטומטי" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "מוזיקת רקע" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, fuzzy, c-format msgid "%s : parameters for %s" msgstr "אין פרמטרים" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "רצועה נוכחית: %s (שכבה %d)\n" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "רצועה נוכחית: מוזיקת רקע\n" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "רצועה נוכחית: שמע השכבה %d\n" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "%.2f שניות.\n" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "מקור: %s" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "יש ללחוץ על לחצן העכבר הימני עבור תפריט אפשרויות.\n" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." msgstr "" -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -9629,7 +9634,7 @@ "right or double clicking on it.\n" msgstr "" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -9637,7 +9642,7 @@ "Select an effect in FX stack first to view its parameters.\n" msgstr "" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" @@ -9647,7 +9652,7 @@ "\n" "קליפים לא טעון.\n" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -9657,7 +9662,7 @@ "before inserting clips into the timeline." msgstr "" -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -9666,12 +9671,12 @@ "to apply compositors.\n" msgstr "" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "%.2f שניות ל%.2f שניות.\n" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" @@ -9679,164 +9684,164 @@ "יש ללחוץ לחיצה בודדת על ציר הזמן\n" "כדי לבחור שקופית.\n" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" msgstr "" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr "כדי לבחור איזור זמן.\n" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 #, fuzzy msgid "Selected Clip" msgstr "LiVES: קטע נבחר" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 msgid "_Adjust Start and End Points" msgstr "" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 msgid "_Edit/Encode in Clip Editor" msgstr "" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 #, fuzzy msgid "_Show Clip Information" msgstr "_הצג מידע קליפ" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 #, fuzzy msgid "_Close this Clip" msgstr "_סגירת קטע זה" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 #, fuzzy msgid "Audio Mixer (ctrl-m)" msgstr "מערבל שמע (ctrl-m)" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "לחיצה בודדת על ציר הזמן" -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "כדי לבחור מסגרת." -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "" -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "כדי לבחור בלוק." -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "ניתן לגרור קטעים" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "לציר הזמן." -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "העכבר נמצא במצב: הזזה" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "ניתן להזיז קטעים." -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "העכבר נמצא במצב: בחירה." -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "ניתן לגרור עם העכבר את ציר הזמן" -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "כדי לבחור מסלולים הזמן." -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "סגירת הרווחים הראשונים בזמן\\רצועות הנבחרות" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "סגירת פערים" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "הזזת מקטע" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "הזזת מקטע שמע" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "מחיקת מקטע" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "מחיקת מקטע שמע" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "פיצול רצועות" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "פיצול מקטע" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "החלת %s" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "מחיקת %s" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "הוספת מקטע" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "הוספת פער" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "הוספת מקטע שמע" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "סדר שינוי האפקט" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "לא רשום " -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "רשום " -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " @@ -9845,15 +9850,15 @@ "ערכי ריבוי הרצועות נקבעו ל %.3f שקופיות לשנייה, גודל שקופית %dx%d, %d ערוצי " "שמע, תדר שמע %d, גודל דגימת השמע %d, %s.\n" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "רשימת אירועים לא תקינה. נכשל.\n" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "נמצא קצב שקופיות לשנייה לא תקין ברשימת האירועים. נכשל.\n" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -9868,7 +9873,7 @@ "לסגור את האוסף הנוכחי\n" "ולטעון את האוסף החדש מתפריט קובץ.\n" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -9879,489 +9884,489 @@ "זהו לא מספר ערוצי שמע תקין (%d) עבור LiVES.\n" "לא ניתן לטעון אותו..\n" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "LiVES-%s: ריבוי רצועות %dx%d : %d סיביות לפיקסל %.3f שקופיות לשנייה" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "פרמטרים." -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "_פתיחה..." -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "פ_תיחת בחירת הקובץ..." -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "ייבוא בחירה מ _DVD\\VCD" -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "ייבוא בחירה מ_DVD" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "ייבוא בחירה מ_VCD" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "_ייבוא מהתקן" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 #, fuzzy msgid "_Close the Selected Clip" msgstr "_סגור את הקליפ הנבחר" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 #, fuzzy msgid "_Save Layout as..." msgstr "_שמירת פריסה כ..." -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 #, fuzzy msgid "_Load Layout..." msgstr "_טעינת פריסה..." -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 #, fuzzy msgid "_Wipe/Delete Layout..." msgstr "_ניקוי\\מחיקת פריסה..." -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 #, fuzzy msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "_התעלמות מערכי רוחב,גובה ושמע הנמצאים בפריסות שנטענו" -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 msgid "Auto Load _Subtitles with Clips" msgstr "" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "_עורך הקטעים" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 msgid "_Adjust Selected Clip Start/End Points" msgstr "" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "_הוספת קטע נבחר" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 #, fuzzy msgid "_Insert Selected Clip Audio" msgstr "_הוספת השמע של הקטע הנבחר" -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 #, fuzzy msgid "_Delete Selected Block" msgstr "_מחיקת המקטע הנבחר" -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 #, fuzzy msgid "_Jump to Previous Block Boundary" msgstr "_קפיצה לגבול המקטע הקודם" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 #, fuzzy msgid "_Jump to Next Block Boundary" msgstr "_קפיצה לגבול המקטע הבא" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 #, fuzzy msgid "Clear _Marks from Timeline" msgstr "ניקוי _סימונים מציר הזמן" -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 #, fuzzy msgid "Ignore Selection Limits when Inserting" msgstr "התעלמות ממגבלות הבחירה בהוספה" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "_נגינה מהמיקום בציר הזמן" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 #, fuzzy msgid "Pla_y Selected Time Only" msgstr "נג_ינת בחירה" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 #, fuzzy msgid "_Move Effects with Blocks" msgstr "_הזזת האפקטים עם המקטעים" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 #, fuzzy msgid "Select _Autotransition Effect..." msgstr "בחירת _האפקט האחרון" -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 #, fuzzy msgid "Crossfade Audio with Autotransition" msgstr "החלת מעבר Crossfade על השמע" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 #, fuzzy msgid "View/_Edit Selected Effect" msgstr "הצגת\\_עריכת האפקט הנבחר" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 #, fuzzy msgid "_Delete Selected Effect" msgstr "_מחיקת האפקט הנבחר" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 #, fuzzy msgid "Apply Effect to _Block..." msgstr "החלת אפקט ל_מקטע..." -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 #, fuzzy msgid "Apply Effect to _Region..." msgstr "החלפ אפקט ל_איזור..." -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "_רצועות" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 #, fuzzy msgid "Make _Backing Audio Current Track" msgstr "בחירת רצועת מוזיקת הרקע כנוכחית" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "הוספת רצועת וידאו מ_אחור" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "הוספת רצועת וידאו מ_לפנים" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 #, fuzzy msgid "_Split Current Track at Cursor" msgstr "_פיצול הרצועה הנוכחית בסימון" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 #, fuzzy msgid "_Split Selected Video Tracks" msgstr "_פיצול רצועות הוידאו הנבחרות" -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 #, fuzzy msgid "Insert Gap in Selected Tracks/Time" msgstr "הכנסת רווח בזמן\\רצועות הנבחרות" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 #, fuzzy msgid "Insert Gap in Current Track/Selected Time" msgstr "הכנסת רווח ברצועה הנוכחית\\בזמן הנבחר" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 #, fuzzy msgid "Close All _Gaps in Selected Tracks/Time" msgstr "סגירת כל ה_רווחים בזמן\\רצועות הנבחרות" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "בח_ירה" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "_בחירת הרצועה הנוכחית" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 #, fuzzy msgid "Select _All Video Tracks" msgstr "בחירת _כל רצועות הוידאו" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 #, fuzzy msgid "Select _No Video Tracks" msgstr "_ביטול סימון כל רצועות הוידאו" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 #, fuzzy msgid "Select All _Time" msgstr "בחירת הכל" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 #, fuzzy msgid "Select from _Zero Time" msgstr "בחירה מ_ההתחלה" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 #, fuzzy msgid "Select to _End Time" msgstr "בחירה ל_סוף" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "_העתקה..." -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 #, fuzzy msgid "_Timecode to Region Start" msgstr "_קוד זמן לתחילת האיזור" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 #, fuzzy msgid "_Timecode to Region End" msgstr "_קוד זמן לסיום האיזור" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 #, fuzzy msgid "_Region Start to Timecode" msgstr "_התחלת האיזור לקוד זמן" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 #, fuzzy msgid "_Region End to Timecode" msgstr "_סיום האיזור לקוד זמן" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 #, fuzzy msgid "Select/Deselect Block at Current Track/Time" msgstr "_בחירת הרצועה הנוכחית" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 #, fuzzy msgid "_Change Width, Height and Audio Values..." msgstr "_שינוי ערכי הרוחב, הגובה והשמע..." -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "_עיבוד" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 #, fuzzy msgid "_Render All to New Clip" msgstr "_עיבוד הכל לקטע חדש" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 #, fuzzy msgid "Render _Video" msgstr "עיבוד _וידאו" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 #, fuzzy msgid "Render _Audio" msgstr "עיבוד _שמע" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 #, fuzzy msgid "_Normalise Rendered Audio" msgstr "_קדם־עיבוד שמע" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 #, fuzzy msgid "_Pre-render Audio" msgstr "_קדם־עיבוד שמע" -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "_תצוגה" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 #, fuzzy msgid "Block _In/Out Points" msgstr "נקודות _כניסה\\יציאה של המקטע" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 #, fuzzy msgid "_Effects at Current" msgstr "_אפקטים בנוכחי" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 #, fuzzy msgid "Audio Parameters" msgstr "פרמטרי שמע" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 #, fuzzy msgid "Show Backing _Audio Track" msgstr "הצגת רצועת _מוזיקת רקע" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 #, fuzzy msgid "Compact View" msgstr "תצוגה חסכנית" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 #, fuzzy msgid "Maximum Tracks to Display..." msgstr "מספר רצועות מקסימלי להצגה..." -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 #, fuzzy msgid "Scroll to Follow Playback" msgstr "גלילה כדי לעקוב אחרי הנגינה" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 #, fuzzy msgid "_Center on Cursor" msgstr "_מרכוז על הסמן" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 #, fuzzy msgid "_Zoom In" msgstr "_התקרבות" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 #, fuzzy msgid "_Zoom Out" msgstr "_התרחקות" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 #, fuzzy msgid "Multitrack _Details" msgstr "_נתוני ריבוי רצועות" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "חלון _אירועים" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "_חלון אירועים (בזמן הנבחר בלבד)" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 #, fuzzy msgid "_Show FRAME Events" msgstr "_הצגת אירועי שקופיות" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 #, fuzzy msgid "_Show Multitrack Keys" msgstr "_הצגת מקשי ריבוי רצועות" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "דיווח על _באג" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 #, fuzzy msgid "Insert With _Audio" msgstr "הוס_פה להתאמת הצליל" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 #, fuzzy msgid "Select _Overlap" msgstr "בחירת רצועה" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" msgstr "" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "תצוגה מורחבת (d)" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "תצוגה חסכונית (d)" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 #, fuzzy msgid "Mouse Mode: _Move" msgstr "מצב עכבר: _הזזה" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 #, fuzzy msgid "Mouse Mode: _Select" msgstr "מצב עכבר: _בחירה" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 msgid "Insert Mode: _Normal" msgstr "" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "_החלה" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "זמן" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "_מחיקת צומת" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "הצומת _הבא" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "הצומת _הקודם" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "_היפוך נגינה " -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "_מהירות " -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "עוגן _התחלה" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "עיגון נקודת ההתחלה לציר הזמן" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "עוגן _סוף" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "עיגון נקודת הסיום לציר הזמן" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "גלילה" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" @@ -10371,95 +10376,95 @@ "==============================\n" "מותג למצב עריכת קטע\n" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "ציר זמן (שניות)" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr " מוזיקת רקע" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr " שמע בשכבה %d" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "שמע בשכבה %d" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "%s (שכבה %d)" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "בחירת רצועה" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "וידאו %d" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr " %s" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 #, fuzzy msgid "Selected Effect" msgstr "בחירת _האפקט האחרון" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 #, fuzzy msgid "_View/Edit this Effect" msgstr "_הצגת\\עריכת אפקט זה" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 #, fuzzy msgid "_View this Effect" msgstr "_הצגת אפקט זה" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 #, fuzzy msgid "_Delete this Effect" msgstr "_מחיקת אפקט זה" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "לא ניתן להוסיף לאחר השפעה זו" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "אפקט זה לא ניתן להעביר" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr " %d ל־%d נבחר... " -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "%.2f שניות." -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "%d שקופיות" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" @@ -10469,70 +10474,70 @@ "==============================\n" "מותג למצב ריבוי רצועות\n" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" "Nodes can be deleted." msgstr "" -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "אפקט אין פרמטרים.\n" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "פלט %s" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "שכבה %d" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "רצועת שמע" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "%s ל־%s" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "מפת המסננים _הקודמת" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "הוספה _לפני" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "הוספה _אחרי" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "מפת המסננים _הבאה" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -10544,87 +10549,87 @@ "אין השפעות על המסלול הנוכחי,\n" "הזמן הנוכחי.\n" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." msgstr "" -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 #, fuzzy msgid "Selected Block/Frame" msgstr "LiVES: מקטע\\שקופית נבחרים" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 #, fuzzy msgid "_Select this Block" msgstr "_בחירת מקטע זה" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 #, fuzzy msgid "_Split Block Here" msgstr "_פיצול המקטע כאן" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 #, fuzzy msgid "List _Effects Here" msgstr "רשימת _האפקטים המוחלים כאן" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "_כיוון %s" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 #, fuzzy msgid "_Delete this Block" msgstr "_מחיקת מקטע זה" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 #, fuzzy msgid "_Insert Here" msgstr "_הוספה כאן" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 #, fuzzy msgid "_Insert Audio Here" msgstr "_הוספת שמע כאן" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "נוסף מרווח ברצועות הנבחרות מהזמן %.4f ל־%.4f\n" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "נוסף מרווח ברצועה %s מהזמן %.4f ל־%.4f\n" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "ביטול הפעולה %s\n" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "ביצוע הפעולה %s מחדש\n" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" @@ -10632,92 +10637,92 @@ "\n" " (משתנה)" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "הרצועה %s" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "הרצועות %s ו־%s" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "רצועות נבחרות" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "נוסף %s ל־%s ל־%s מ־%.4f ל־%.4f\n" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "נוסף האפקט %s לרצועה %s מ־%.4f ל־%.4f\n" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "עובדו %d שקופיות לקטע חדש.\n" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "מנקה..." -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, fuzzy, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "נוסף מרווח ברצועה %s מהזמן %.4f ל־%.4f\n" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, fuzzy, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "מוחק שמע מ־%.2f ל־%.2f שניות..." -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "_השהיה" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "השהיה (p)" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "יש ללחוץ על 'm' בזמן נגינה" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "כדי לסמן את המיקום הנוכחי על ציר הזמן" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " "to %.4f\n" msgstr "נוסף שמע %.4f ל־%.4f מהקטע %s למוזיקת הרקע מהזמן %.4f עד %.4f\n" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" msgstr "נוספו שקופיות %d ל־%d מהקטע %s לרצועה %s מהזמן %.4f עד %.4f\n" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" "selected.\n" msgstr "" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" @@ -10725,106 +10730,106 @@ "יש לבחור רצועה אחת או יותר\n" "כדי ליצור איזור.\n" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "נבחרו %d רצועות וידאו.\n" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." msgstr "" -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." msgstr "" -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." msgstr "" -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" msgstr "" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" msgstr "" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" msgstr "" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "או בכפתורי הכנסה אחרי כדי להזיזו." -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "לחץ על אפקט אחר," -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" msgstr "" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "אחריו.\n" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "לפניו.\n" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "הוסרו ערכי הפרמטר עבור האפקט %s בזמן %.4f\n" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "ערכי הפרמטר נקבעו ל־%s %s על %s בזמן %.4f\n" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "_טעינה אוטומטית מחדש כל פעם" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 #, fuzzy msgid "Saving layout" msgstr "שמירת _פריסה" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "הפריסה נשמרה ל־%s\n" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "קטעים ושקופיות" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "קטעים" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "שקופיות" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" @@ -10832,7 +10837,7 @@ "\n" "טעינת פריסה אוטומטית.\n" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -10843,11 +10848,11 @@ "כמה %s אינם נמצאים בפריסה %s\n" "בעקבות כך הוא לא ייטען כראוי.\n" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" @@ -10856,31 +10861,31 @@ "\n" "לא ניתן לטעון את קובץ הפריסה %s\n" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "טוען פריסה מ־%s..." -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "התקבלו %d אירועים...מעבד..." -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "בודק ובונה מחדש את רשימת האירועים" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "אותרו %d שגיאות.\n" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "השקופיות לשנייה בריבוי הרצועות נקבעו ל־%.3f\n" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 #, fuzzy msgid "" "The current layout has changes which have not been saved.\n" @@ -10889,20 +10894,20 @@ "הפריסה הנוכחית לא נשמרה.\n" "איזור פעולה יש לבצע ?\n" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 #, fuzzy msgid "Multitrack Audio Mixer" msgstr "LiVES: מערבל שמע עבור ריבוי רצועות" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "_איפוס ערכים" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "_סגירת המערבל" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" @@ -10910,15 +10915,15 @@ "_היפוך מוזיקת הרקע\n" "ועוצמות השמע בשכבה" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "כיוון ערכי מוזיקת הרקע והשמע בשכבה כך שהם יגיעו לסכום 1.0" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "_חיבור שכבת השמע" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "כיוון כל ערכי שכבת השמע לאותו ערך" @@ -10944,7 +10949,7 @@ "Connection to jack audio was reset.\n" msgstr "" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10952,7 +10957,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10960,7 +10965,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:104 +#: src/pulse.c:105 #, fuzzy msgid "" "\n" @@ -10972,27 +10977,27 @@ "נגן השמע \"jack\" או \"pulse audio\".\n" "באפשרותך לקבוע זאת בתפריט כלים|העדפות|נגינה." -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" msgstr "" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" msgstr "" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "לחוץ" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr "לא לחוץ"
View file
LiVES-2.8.4.tar.bz2/po/hr.po -> LiVES-2.8.6.tar.bz2/po/hr.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: lives\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" "PO-Revision-Date: 2013-03-14 12:31+0000\n" "Last-Translator: Launchpad Translations Administrators <Unknown>\n" "Language-Team: Croatian <hr@li.org>\n" @@ -18,7 +18,7 @@ "X-Launchpad-Export-Date: 2013-03-28 10:41+0000\n" "X-Generator: Launchpad (build 16546)\n" -#: src/main.c:132 +#: src/main.c:125 msgid "" "Attention Translators !\n" "This message is intended for you, so please do not translate it.\n" @@ -27,22 +27,22 @@ "http://lives-video.com/TRANS-README.txt" msgstr "" -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "" -#: src/main.c:203 +#: src/main.c:197 #, fuzzy, c-format msgid "" "\n" @@ -56,7 +56,7 @@ "group_id=64341&atid=507139\n" "Hvala. Oporavak bi trebao biti moguće ako se ponovno LiVES.\n" -#: src/main.c:205 +#: src/main.c:199 #, fuzzy, c-format msgid "" "\n" @@ -69,7 +69,7 @@ "Kada izvještavanje crashes, molimo uključite detalje vašeg operacijskog " "sustava, distribucije, a LiVES verzija (" -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" @@ -77,7 +77,7 @@ "i sve podatke prikazane u nastavku:\n" "\n" -#: src/main.c:210 +#: src/main.c:204 #, fuzzy msgid "" "Please try running LiVES with the -debug option to collect more " @@ -88,7 +88,7 @@ "prikupljanja više infomacija.\n" "\n" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" @@ -98,90 +98,90 @@ "prikupljanja više infomacija.\n" "\n" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "Očuvanje set.\n" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "Bilo koji" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "Nijedan" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "preporučeno" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "isključeno !" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "**Trenutni izgled**" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "" -#: src/main.c:474 +#: src/main.c:460 #, fuzzy msgid "LiVES: - " msgstr "LiVES: - Umetni" -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "Promjena veličine" -#: src/main.c:731 +#: src/main.c:708 #, fuzzy msgid "_Resize All Frames..." msgstr "_Zanemari promjene" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "" -#: src/main.c:1122 +#: src/main.c:1094 #, fuzzy msgid "Background" msgstr "_Zanemari promjene" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "Učitavanje stvarnom efekt čep..." -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "Pokrećem jack audio poslužitelj..." -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "Pokrećem jack transport server..." -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "Spajanje na jack transport server..." -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -193,35 +193,35 @@ "Alternatively, try to start lives with either \"lives -jackopts 16\", or " msgstr "" -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "Pokrećem pulse audio poslužitelj..." -#: src/main.c:1855 +#: src/main.c:1813 #, fuzzy, c-format msgid "%s...detected... " msgstr "mplayer...pronađen..." -#: src/main.c:1856 +#: src/main.c:1814 #, fuzzy, c-format msgid "%s...NOT DETECTED... " msgstr "mplayer...NIJE PRONAĐEN..." -#: src/main.c:1867 +#: src/main.c:1824 #, fuzzy msgid "Checking optional dependencies: " msgstr "Provjera izborno ovisnosti:" -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -232,53 +232,53 @@ "\n" "Uređivač prozora prijavljuje kao \"%s\"; " -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "Pronađen broj zaslona: %d\n" -#: src/main.c:1901 +#: src/main.c:1863 #, c-format msgid "Number of CPUs detected: %d " msgstr "" -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "" -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1927 +#: src/main.c:1889 #, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr "" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "Temp direktorij je %s\n" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" @@ -288,15 +288,15 @@ "jack ili pulse audio podršku.\n" "Mnogi audio značajke neće biti dostupna.\n" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "Kompiliran s jack podrškom, dobro !\n" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "Kompliliran s pulse audio podrškom, odlično !\n" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" @@ -305,141 +305,141 @@ "Dobrodošli u LiVES verziju %s.\n" "\n" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" "Startup syntax is: %s [opts] [filename [start_time] [frames]]\n" msgstr "" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "FRAMES : maksimalni broj okvira za otvaranje\n" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "opts mogu biti:\n" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "-help : pokaži ovaj tekst za pomoć i izađi\n" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "-noset : ne učitavanje bilo postaviti na početak\n" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "" -#: src/main.c:2593 +#: src/main.c:2545 msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "-nogui : nemoj prikazati korisničko grafičko sučelje\n" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "-noplaywin : ne pokazuju prozor igrati\n" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" msgstr "" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "" -#: src/main.c:2605 +#: src/main.c:2557 msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " "mplayer2" msgstr "" #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr ", pulse" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr ", sox ili jack\n" -#: src/main.c:2613 +#: src/main.c:2565 msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " "transport client,2 = jack transport master, 4 = start jack transport server, " "8 = pause audio when video paused,16 = start jack audio server] \n" msgstr "" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr " ili sox\n" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" msgstr "" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "Početna GUI..." -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -450,7 +450,7 @@ "(Maybe you need to change the value of <prefix_dir> in your %s file)\n" msgstr "" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -458,7 +458,7 @@ "Please make sure you have write access to %s and try again.\n" msgstr "" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -467,7 +467,7 @@ "before running LiVES.\n" msgstr "" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -477,7 +477,7 @@ "Please check the file permissions for this file and try again.\n" msgstr "" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -488,7 +488,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -496,7 +496,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2737 +#: src/main.c:2689 #, fuzzy, c-format msgid "" "\n" @@ -508,7 +508,7 @@ "LiVES nije bio u mogućnosti to hvatanje ovu sliku\n" "\n" -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -519,56 +519,56 @@ "Thankyou.\n" msgstr "" -#: src/main.c:2751 +#: src/main.c:2703 msgid "" "\n" "LiVES currently requires 'mplayer', 'mplayer2' or 'sox' to function. Please " "install one or other of these, and try again.\n" msgstr "" -#: src/main.c:2756 +#: src/main.c:2708 msgid "" "\n" "LiVES currently requires both 'mplayer' or 'mplayer2' and 'sox' to function. " "Please install these, and try again.\n" msgstr "" -#: src/main.c:2769 +#: src/main.c:2721 msgid "" "\n" "LiVES was unable to locate 'mplayer','mplayer2' or 'mpv'. You may wish to " "install one of these to use LiVES more fully.\n" msgstr "" -#: src/main.c:2775 +#: src/main.c:2727 msgid "" "\n" "LiVES was unable to locate 'mplayer' or 'mplayer2'. You may wish to install " "one of these to use LiVES more fully.\n" msgstr "" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" "magick if you want to use rendered effects.\n" msgstr "" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " "image-magick if you want to use the merge function.\n" msgstr "" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " "should install 'sox'.\n" msgstr "" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -579,63 +579,63 @@ "You may need to change the value of <lib_dir> in %s\n" msgstr "" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "" -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "" #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <Bez naslova%d> %dx%d : %d okvira %d bpp %.3f fps" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : ??? okviri ??? bpp %.3f fps" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : %d okviri %d bpp %.3f fps" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "LiVES-%s: <Nema datoteka>" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "rec %9d/%d" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "!rec %9d/%d" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "Reproduciraj" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" @@ -643,34 +643,34 @@ "LiVES nije bio u mogućnosti to hvatanje ovu sliku\n" "\n" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "Zatvoreno datoteke %s\n" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "_Poništi" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "_Ponovi" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "Video" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "" -#: src/main.c:7078 +#: src/main.c:6973 msgid "" "\n" "\n" @@ -823,7 +823,7 @@ msgid "Use _mplayer2 audio player" msgstr "" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "_Slijedeće" @@ -1038,51 +1038,51 @@ msgid "_Finish" msgstr "_Završi" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "" -#: src/interface.c:46 +#: src/interface.c:42 msgid "Apply _Deinterlace" msgstr "" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "" -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "Pregled" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "" -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "" -#: src/interface.c:122 +#: src/interface.c:113 msgid "Click here to _Preview the file" msgstr "" -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 msgid "Processing..." msgstr "" -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1091,8 +1091,8 @@ "Remember to switch off effects (ctrl-0) afterwards !" msgstr "" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" @@ -1100,172 +1100,177 @@ "\n" "Pričekajte" -#: src/interface.c:221 +#: src/interface.c:206 msgid "Show Details" msgstr "" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "_Dovoljno" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "_Pregled" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "Pauz_a" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "Pauza/_Dosta" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "_Otkaži" -#: src/interface.c:334 +#: src/interface.c:324 msgid "Multitrack Details" msgstr "" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "Oblik" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "Veličina datoteke" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "FPS" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "Okvira" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "Događaji" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "Ukupno vrijeme" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "Audio" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "Ocijenite/veličina" -#: src/interface.c:568 +#: src/interface.c:590 msgid "Encoding Options" msgstr "" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." msgstr "" -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "Držite _moje postavke" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "Koristi _preporučene postavke" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "_Zatvori prozor" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "_Spremi u datoteku" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "Umetni" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "_Broj puta za umetanje" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "" -#: src/interface.c:833 +#: src/interface.c:846 +#, fuzzy +msgid "Insert _with silence" +msgstr "Umetni _sa zvukom" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "Umetni _sa zvukom" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "Umetni _bez zvuka" -#: src/interface.c:924 +#: src/interface.c:937 #, fuzzy msgid "Open Selection" msgstr "LiVES: - Otvori za odabir" -#: src/interface.c:943 +#: src/interface.c:954 msgid "Selection start time (sec)" msgstr "" -#: src/interface.c:949 +#: src/interface.c:960 msgid "Number of frames to open" msgstr "" -#: src/interface.c:1023 +#: src/interface.c:1029 #, fuzzy msgid "Open Location" msgstr "LiVES: - Otvori Lokacija" -#: src/interface.c:1025 +#: src/interface.c:1031 msgid "Open Youtube Clip" msgstr "" -#: src/interface.c:1045 +#: src/interface.c:1050 msgid "" "\n" "\n" @@ -1275,7 +1280,7 @@ "\n" msgstr "" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1284,71 +1289,71 @@ "\n" msgstr "" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "URL : " -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "" -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "Nemojte slati propusnost informacija" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "Isprobajte ovu postavku ako imate problema s dobivanje potok" -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "" -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "" -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr "" -#: src/interface.c:1188 +#: src/interface.c:1189 #, fuzzy msgid "Rename Clip" msgstr "Lijepljenje" -#: src/interface.c:1190 +#: src/interface.c:1191 #, fuzzy msgid "Enter Set Name to Save as" msgstr "LiVES: - Unesite Postavi Naziv" -#: src/interface.c:1192 +#: src/interface.c:1193 #, fuzzy msgid "Enter a Set Name to Reload" msgstr "LiVES: - Unesite Postavi Naziv" -#: src/interface.c:1194 +#: src/interface.c:1195 #, fuzzy msgid "Choose a Working Directory" msgstr "LiVES: - Odaberite radni imenik" -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 msgid "Rename Current Track" msgstr "" -#: src/interface.c:1198 +#: src/interface.c:1199 #, fuzzy msgid "Enter a Name for Your Theme" msgstr "LiVES: - Unesite Postavi Naziv" -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1356,7 +1361,7 @@ "LiVES will remind you to save the clip set later when you try to exit.\n" msgstr "" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1379,229 +1384,229 @@ "This should be a directory with plenty of disk space available.\n" msgstr "" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "Novi naziv " -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "" -#: src/interface.c:1257 +#: src/interface.c:1255 #, fuzzy msgid "Theme name " msgstr "Novi naziv " -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "_Napredno" -#: src/interface.c:1437 +#: src/interface.c:1425 msgid "Select input device" msgstr "" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "" -#: src/interface.c:1517 +#: src/interface.c:1505 msgid "Load CD Track" msgstr "" -#: src/interface.c:1519 +#: src/interface.c:1507 msgid "Select DVD Title/Chapter" msgstr "" -#: src/interface.c:1521 +#: src/interface.c:1509 msgid "Select VCD Title" msgstr "" -#: src/interface.c:1523 +#: src/interface.c:1511 msgid "Change Maximum Visible Tracks" msgstr "" -#: src/interface.c:1525 +#: src/interface.c:1513 #, fuzzy msgid "Device details" msgstr "LiVES:- Uređaj detalje" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "Poglavlje " -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "Kanal " -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "" -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "Širina" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "Visina" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "" -#: src/interface.c:1815 +#: src/interface.c:1778 #, fuzzy msgid "Fade Audio In" msgstr "_Zanemari promjene" -#: src/interface.c:1817 +#: src/interface.c:1780 #, fuzzy msgid "Fade Audio Out" msgstr "_Zanemari promjene" -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "" -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "prvi" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "" -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "posljednjoj" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "sekundi." -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "" -#: src/interface.c:1909 +#: src/interface.c:1865 #, fuzzy msgid " (Optional)" msgstr "_Mogućnosti" -#: src/interface.c:1912 +#: src/interface.c:1868 #, fuzzy, c-format msgid "File Comments%s" msgstr "LiVES: - Datoteka Komentari (opcionalno)" -#: src/interface.c:1927 +#: src/interface.c:1882 #, fuzzy, c-format msgid "File Name: %s" msgstr "Naslov/Ime: " -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "Naslov/Ime: " -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "Autor/Izvođač: " -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "Komentari: " -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "Podnaslov varalica" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "Pregledaj..." -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "_Mogućnosti" -#: src/interface.c:2109 +#: src/interface.c:2058 #, c-format msgid "%sChoose a Device" msgstr "" -#: src/interface.c:2112 +#: src/interface.c:2061 #, fuzzy, c-format msgid "%sChoose a Directory" msgstr "LiVES: - Odaberite radni imenik" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" @@ -1611,7 +1616,7 @@ "Trenutni isječak set mogu biti spremljene.\n" "Što želite učiniti?\n" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" @@ -1619,7 +1624,7 @@ "Trenutni isječak set nije spremljena.\n" "Što želite učiniti?\n" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" @@ -1627,7 +1632,7 @@ "Trenutni izgled nije spremljena.\n" "Što želite učiniti?\n" -#: src/interface.c:2410 +#: src/interface.c:2341 #, fuzzy msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" @@ -1636,86 +1641,86 @@ "Trenutni izgled nije spremljena.\n" "Što želite učiniti?\n" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" "What do you wish to do ?" msgstr "" -#: src/interface.c:2417 +#: src/interface.c:2348 #, fuzzy msgid "Cancel/Discard/Save" msgstr "LiVES: - Odustani/Odbaci/Spremi" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "_Obrišite izgled" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "_Zanemari promjene" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "_Izbriši isječak skup" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "_Brisanje izgled" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "_Spremi izgled" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "_Spremi isječak skup" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" "Would you like to try and recover it ?\n" msgstr "" -#: src/interface.c:2527 +#: src/interface.c:2455 msgid "Disk Recovery Options" msgstr "" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "" -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "" -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1723,337 +1728,337 @@ "-----------------------\n" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "ctrl-left" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 #, fuzzy msgid "skip forwards\n" msgstr "Preskočen" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "ctrl-down" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 msgid "ctrl-enter" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "reset frame rate\n" msgstr "Okvira" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "" -#: src/interface.c:2723 +#: src/interface.c:2642 msgid "reverse direction\n" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 msgid "ctrl-1" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "toggle real-time effect 1\n" msgstr "Učitavanje stvarnom efekt čep..." -#: src/interface.c:2746 +#: src/interface.c:2665 msgid "ctrl-2" msgstr "" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "toggle real-time effect 2\n" msgstr "Učitavanje stvarnom efekt čep..." -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "ctrl-0" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "real-time effects off\n" msgstr "" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "" -#: src/interface.c:2759 +#: src/interface.c:2678 msgid "grab keyboard for last activated effect\n" msgstr "" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2688 msgid "tab" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "" -#: src/interface.c:2785 +#: src/interface.c:2706 msgid "Other playback keys\n" msgstr "" -#: src/interface.c:2789 +#: src/interface.c:2710 msgid "play all\n" msgstr "" -#: src/interface.c:2792 +#: src/interface.c:2713 #, fuzzy msgid "play selection\n" msgstr "LiVES: - Otvori za odabir" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "" -#: src/interface.c:2798 +#: src/interface.c:2719 msgid "fullscreen\n" msgstr "" -#: src/interface.c:2801 +#: src/interface.c:2722 #, fuzzy msgid "separate window\n" msgstr "Igrajte u zasebnom prozoru (s)" -#: src/interface.c:2804 +#: src/interface.c:2725 #, fuzzy msgid "double size\n" msgstr "Veličina datoteke" -#: src/interface.c:2807 +#: src/interface.c:2728 msgid "ping pong loops\n" msgstr "" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "move current track up\n" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "move current track down\n" msgstr "" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "" -#: src/interface.c:2849 +#: src/interface.c:2768 #, fuzzy msgid "select next clip\n" msgstr "_Izbriši isječak skup" -#: src/interface.c:2852 +#: src/interface.c:2771 msgid "select/deselect current track\n" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "zoom in\n" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "zoom out\n" msgstr "" -#: src/interface.c:2861 +#: src/interface.c:2780 msgid "make a mark on the timeline (during playback)\n" msgstr "" -#: src/interface.c:2864 +#: src/interface.c:2783 msgid "rewind to play start.\n" msgstr "" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "" -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "" -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "" -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -2061,16 +2066,16 @@ "the latest youtube-dl installed.\n" msgstr "" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, c-format msgid "Layouts were removed for set %s.\n" msgstr "" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "Ova datoteka" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " @@ -2078,7 +2083,7 @@ ",\n" " - uključujući i današnji izgled - " -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2088,7 +2093,7 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2103,14 +2108,14 @@ "\n" "Stvarno je blizu?" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" "Really close it ?" msgstr "" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" @@ -2118,7 +2123,7 @@ "\n" "Neispravna datoteka projekt.\n" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2131,54 +2136,54 @@ "Once you have done this, you will be able to import the new project.\n" msgstr "" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "" -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "Uvoz projekta" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "Izvoz projekta %s..." -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "Izvoz projekta" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 #, fuzzy msgid "Theme" msgstr "Novi naziv " -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, fuzzy, c-format msgid "Exporting theme as %s..." msgstr "Izvoz projekta %s..." -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, fuzzy, c-format msgid "Importing theme \"%s\" from %s..." msgstr "Izvoz projekta %s..." -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, c-format msgid "Backup as %s File" msgstr "" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, c-format msgid "Restore %s File" msgstr "" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2186,101 +2191,101 @@ "Are you sure ?\n" msgstr "" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "" -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "" -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "" -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "Umetanje Tišina" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "" -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "" -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "" -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "Izreži" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 msgid "Pulling frames from clipboard" msgstr "" -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "" -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "Lijepljenje" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "...dodao audio..." -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " "LiVES.\n" msgstr "" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2289,31 +2294,31 @@ "the 'Trim Audio' function from the Audio menu." msgstr "" -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." msgstr "" -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2321,7 +2326,7 @@ "Clipboard audio has been erased.\n" msgstr "" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2330,81 +2335,81 @@ "using unchanged audio ?\n" msgstr "" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "" -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "Umetanje" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "" -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "" -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "Otkazivanje" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" "Are you sure ?" msgstr "" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "" -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "Brisanje" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "Izbriši" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" @@ -2414,7 +2419,7 @@ "\n" "Izbor je zaključana.\n" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2422,11 +2427,11 @@ "play.)\n" msgstr "" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "Snimanje otkazano.\n" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2435,7 +2440,7 @@ "%s\n" msgstr "" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2444,7 +2449,7 @@ "The plugin may be broken or not installed correctly." msgstr "" -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2453,22 +2458,22 @@ "Please press 'Cancel' if that is not what you want.\n" msgstr "" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2476,24 +2481,24 @@ "Click OK to proceed.\n" msgstr "" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "" -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "" -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "" -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2501,39 +2506,39 @@ "Internal: %s (%d bpp) / %s\n" msgstr "" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." msgstr "" -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" "(%d virtual)" msgstr "" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" "(%d decoded)" msgstr "" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" " %.2f sec." msgstr "" -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" @@ -2541,23 +2546,23 @@ "\n" " Nepoznat" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" @@ -2566,7 +2571,7 @@ " %d Hz %d bit\n" "%s %s" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2583,22 +2588,22 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n" msgstr "" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "Video editor i VJ programom." -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" "Launchpad Contributions:\n" " Edgar Buršić https://launchpad.net/~edgar\n" " salsaman https://launchpad.net/~salsaman" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, c-format msgid "" "LiVES Version %s\n" @@ -2612,14 +2617,14 @@ "Homepage: %s" msgstr "" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 msgid "" "\n" "\n" "You need to install mplayer or mplayer2 to be able to preview this file.\n" msgstr "" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 msgid "" "\n" "\n" @@ -2627,88 +2632,88 @@ "this file.\n" msgstr "" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" "%s\n" msgstr "" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 msgid "Encoder Debug Output" msgstr "" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "Dionički reprodukcije (f)" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "Igrajte u zasebnom prozoru (s)" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "" -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 msgid "Load Subtitles" msgstr "" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "Titlovi su bili izbrisani.\n" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 #, fuzzy msgid "Select Audio File" msgstr "" @@ -2716,7 +2721,7 @@ "\n" "Izbor je zaključana.\n" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -2724,60 +2729,60 @@ "." msgstr "" -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "" -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "Nova audio" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "" -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "" -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 #, fuzzy msgid "Layout Errors" msgstr "Vedro _pogreške" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "Vedro _pogreške" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "_Brisanje pogođene izgledima" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "Nastavi" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" @@ -2787,23 +2792,23 @@ "Zaustavljeno\n" "(Kliknite na Nastavi za nastavak obrade)" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "pauzirana..." -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "nastavio..." -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "Zadrži" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "Dosta" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, fuzzy, c-format msgid "" "\n" @@ -2816,30 +2821,30 @@ "(Kliknite Zadrži zadržati ono što imate i stop)\n" "(Kliknite na Nastavi za nastavak obrade)" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "Odustani" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 #, fuzzy msgid "Selected Frame" msgstr "_Zanemari promjene" -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 #, fuzzy msgid "_Save Frame as..." msgstr "_Zanemari promjene" -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -2848,7 +2853,7 @@ "\n" msgstr "" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -2856,13 +2861,13 @@ "\n" msgstr "" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" msgstr "" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -2871,17 +2876,17 @@ "\n" msgstr "" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" msgstr "" -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -2891,19 +2896,19 @@ "(Default of %.3f frames per second will be used.)\n" msgstr "" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "Izvoz odabranih Audio kao..." -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "Izvoz Audio kao..." -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -2912,119 +2917,119 @@ "rate.\n" msgstr "" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "" -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "" -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 msgid "Append Audio File" msgstr "" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "" -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "" -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "" -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "" -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "" -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" "Are you sure ?" msgstr "" -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "" -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "" @@ -3037,878 +3042,878 @@ msgid "Merge Clipboard [ %d Frames ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "" -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "" -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "" -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "" -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "" -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "" -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "" -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "" -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "" -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "" -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "" -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "" -#: src/gui.c:692 +#: src/gui.c:674 #, c-format msgid "_Backup Clip as .%s..." msgstr "" -#: src/gui.c:701 +#: src/gui.c:683 #, c-format msgid "_Restore Clip from .%s..." msgstr "" -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "" -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "" -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "" -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "" -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "" -#: src/gui.c:1069 +#: src/gui.c:1045 msgid "Letterbox Mode" msgstr "" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "" -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "" -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "" -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "" -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "" -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "" -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "" -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "" -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "" -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "" -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "" -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "" -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "" -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "" -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "" -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "" -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "" -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "" -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "" -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "" -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "" -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "" -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "" -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "" -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "" -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "" -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "" -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "" -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "" -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "" -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "" -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "" -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "" -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "" -#: src/gui.c:1397 +#: src/gui.c:1371 msgid "Receive _LiVES Stream from..." msgstr "" -#: src/gui.c:1401 +#: src/gui.c:1375 msgid "_Send LiVES Stream to..." msgstr "" -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "" -#: src/gui.c:1426 +#: src/gui.c:1399 #, fuzzy, c-format msgid "_Import Project (.%s)..." msgstr "Uvoz projekta" -#: src/gui.c:1430 +#: src/gui.c:1403 #, fuzzy, c-format msgid "E_xport Project (.%s)..." msgstr "Izvoz projekta" -#: src/gui.c:1437 +#: src/gui.c:1409 #, fuzzy, c-format msgid "_Import Custom Theme (.%s)..." msgstr "Izvoz projekta %s..." -#: src/gui.c:1442 +#: src/gui.c:1414 #, fuzzy, c-format msgid "E_xport Theme (.%s)..." msgstr "Izvoz projekta %s..." -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "" -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "" -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." msgstr "" -#: src/gui.c:1476 +#: src/gui.c:1448 msgid "_Reset All Playback Speeds and Positions" msgstr "" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "" -#: src/gui.c:1480 +#: src/gui.c:1452 msgid "_MIDI/Joystick Interface" msgstr "" -#: src/gui.c:1489 +#: src/gui.c:1461 msgid "_MIDI/Joystick Learner..." msgstr "" -#: src/gui.c:1493 +#: src/gui.c:1465 msgid "_Save Device Mapping..." msgstr "" -#: src/gui.c:1497 +#: src/gui.c:1469 msgid "_Load Device Mapping..." msgstr "" -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 msgid "_Donate to the Project !" msgstr "" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 msgid "_Email the Author" msgstr "" -#: src/gui.c:1547 +#: src/gui.c:1519 msgid "Report a _Bug" msgstr "" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 msgid "Suggest a _Feature" msgstr "" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 msgid "Assist with _Translating" msgstr "" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "" -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." msgstr "" #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr "" -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr "" -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr "" -#: src/gui.c:3613 +#: src/gui.c:3553 msgid "Streaming" msgstr "" -#: src/gui.c:3615 +#: src/gui.c:3555 #, fuzzy, c-format msgid "Play Window%s" msgstr "_Zatvori prozor" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "" -#: src/gui.c:4199 +#: src/gui.c:4127 #, fuzzy, c-format msgid "'LiVES opened the file' '%s'" msgstr "" "LiVES nije bio u mogućnosti to hvatanje ovu sliku\n" "\n" -#: src/gui.c:4220 +#: src/gui.c:4146 #, fuzzy, c-format msgid "'LiVES closed the file' '%s'" msgstr "Zatvoreno datoteke %s\n" @@ -3918,11 +3923,11 @@ msgid "Mapped to ctrl-%d" msgstr "" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "" @@ -3936,11 +3941,11 @@ msgid "Select clip for %s\n" msgstr "_Izbriši isječak skup" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "" @@ -3985,11 +3990,11 @@ msgid "%d bytes" msgstr "" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -3997,81 +4002,81 @@ "Switched to clip %s\n" msgstr "" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" "Switched to empty clip\n" msgstr "" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " "updated accordingly\n" msgstr "" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -4079,7 +4084,7 @@ "by another copy of LiVES.\n" msgstr "" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -4087,39 +4092,39 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2188 +#: src/utils.c:2207 #, c-format msgid "" "\n" "%s names may not be blank.\n" msgstr "" -#: src/utils.c:2196 +#: src/utils.c:2215 #, c-format msgid "" "\n" "%s names may not be longer than %d characters.\n" msgstr "" -#: src/utils.c:2204 +#: src/utils.c:2223 #, c-format msgid "" "\n" "%s names may not contain spaces or the characters%s.\n" msgstr "" -#: src/utils.c:2213 +#: src/utils.c:2232 #, c-format msgid "" "\n" "%s names may not start with a '.' or contain '..'\n" msgstr "" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4127,72 +4132,72 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "" -#: src/utils.c:3492 +#: src/utils.c:3548 msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "" -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4202,29 +4207,29 @@ "Overwrite ?\n" msgstr "" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr "" -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr "" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4249,7 +4254,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr "" @@ -4350,7 +4355,7 @@ msgstr "" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "" @@ -4404,12 +4409,12 @@ msgid "Recording performance..." msgstr "" -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4418,21 +4423,21 @@ "and resize all frames to the current size.\n" msgstr "" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "%d okviri su dovoljno!\n" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4440,13 +4445,13 @@ "%s\n" msgstr "" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" msgstr "" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4454,7 +4459,7 @@ "Bad things may happen with this clip.\n" msgstr "" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4462,73 +4467,73 @@ "Default can be set in Tools | Preferences | Misc.\n" msgstr "" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, c-format msgid " - Author: %s\n" msgstr "" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, c-format msgid " - Title: %s\n" msgstr "" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr "" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "" -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "" -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "" -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -4576,61 +4581,61 @@ msgid "Recovering files..." msgstr "" -#: src/dialogs.c:87 +#: src/dialogs.c:83 #, fuzzy msgid "Show affeced _layouts" msgstr "_Brisanje pogođene izgledima" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" msgstr "" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr "" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 msgid "Warning !" msgstr "" -#: src/dialogs.c:198 +#: src/dialogs.c:186 #, fuzzy msgid "Error !" msgstr "LiVES: - Umetni" -#: src/dialogs.c:208 +#: src/dialogs.c:196 #, fuzzy msgid "Information" msgstr "LiVES: - Otvori Lokacija" -#: src/dialogs.c:234 +#: src/dialogs.c:221 msgid "Question" msgstr "" -#: src/dialogs.c:248 +#: src/dialogs.c:235 #, fuzzy msgid "File Error" msgstr "Vedro _pogreške" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "Prikaži _Detalje" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -4641,7 +4646,7 @@ "(Disk warning levels can be configured in Preferences.)" msgstr "" -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -4653,11 +4658,11 @@ "Preferences.)" msgstr "" -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "" -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -4665,46 +4670,46 @@ "Please try closing some other applications first.\n" msgstr "" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "" -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" "%s%d%% done. Time remaining: %u sec%s\n" msgstr "" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" "%d/%d frames opened. Time remaining %u sec.\n" msgstr "" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" "%d/%d frames opened.\n" msgstr "" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" "%d frames opened.\n" msgstr "" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" "Time remaining: %d sec" msgstr "" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -4712,7 +4717,7 @@ "Please close a file and then try again." msgstr "" -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -4724,47 +4729,47 @@ "Please make sure you can write to this directory." msgstr "" -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 msgid "" "\n" "LiVES currently requires either 'mplayer', 'mplayer2', or 'sox' to function. " "Please install one or other of these, and try again.\n" msgstr "" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 msgid "" "\n" "This function requires either mplayer or mplayer2 to operate.\n" "You may wish to install one or other of these and try again.\n" msgstr "" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 msgid "" "\n" "This function requires either mplayer, mplayer2 or mpv to operate.\n" "You may wish to install one or other of these and try again.\n" msgstr "" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" "Or switch to another encoder format in Tools | Preferences | Encoding\n" msgstr "" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -4772,19 +4777,19 @@ "Please set the audio codec in Tools|Preferences|Encoding\n" msgstr "" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -4792,83 +4797,83 @@ "Due to restrictions in the %s format\n" msgstr "" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" msgstr "" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr "" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr "" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr "" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr "" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" msgstr "" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -4877,14 +4882,14 @@ "\n" msgstr "" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" "\n" msgstr "" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -4893,7 +4898,7 @@ "Try recording for just a selection of the file." msgstr "" -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -4904,7 +4909,7 @@ "Please press Cancel to abort the insert, or OK to continue." msgstr "" -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -4917,18 +4922,18 @@ "click Cancel." msgstr "" -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " "in your %s file" msgstr "" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -4939,25 +4944,25 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 msgid "" "Sorry, unknown audio type.\n" "\n" " (Filenames must end in" msgstr "" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" "(They will not be usable without the set).\n" msgstr "" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -4966,7 +4971,7 @@ "Click Cancel to pick a new name.\n" msgstr "" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -4974,7 +4979,7 @@ "." msgstr "" -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -4982,7 +4987,7 @@ "." msgstr "" -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -4993,7 +4998,7 @@ "Otherwise click Cancel to skip loading this file.\n" msgstr "" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -5003,7 +5008,7 @@ "The clip could not be loaded.\n" msgstr "" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -5011,7 +5016,7 @@ "Alternately, select a different audio player in Preferences.\n" msgstr "" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -5020,13 +5025,13 @@ "Automatic jack startup will be disabled now.\n" msgstr "" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" msgstr "" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -5037,13 +5042,13 @@ "%s\n" msgstr "" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" msgstr "" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -5053,7 +5058,7 @@ "It is recommended to increase it to at least %d MB" msgstr "" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -5062,7 +5067,7 @@ "Do you wish to delete them ?\n" msgstr "" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -5070,7 +5075,7 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -5078,81 +5083,81 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" msgstr "" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" msgstr "" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" "You can set this in Tools|Preferences|Playback." msgstr "" -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" "Should I try to repair the disk copy of the layout ?\n" msgstr "" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" msgstr "" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" "Audio rate must be greater than 0.\n" msgstr "" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5160,14 +5165,14 @@ "Are you sure you wish to view it ?\n" msgstr "" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" "You must install 'dvgrab' to use this function.\n" msgstr "" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5176,25 +5181,25 @@ "You may need to select one of these in Tools/Preferences/Playback.\n" msgstr "" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" msgstr "" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5203,33 +5208,33 @@ "echo %d > /proc/sys/net/core/rmem_max\n" msgstr "" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -5239,7 +5244,7 @@ "%s%s%s" msgstr "" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -5249,7 +5254,7 @@ "%s" msgstr "" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -5259,7 +5264,7 @@ "%s" msgstr "" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -5268,7 +5273,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -5278,7 +5283,7 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -5287,7 +5292,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -5297,12 +5302,12 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "" -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -5311,7 +5316,7 @@ "Please check your system for errors.\n" msgstr "" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -5320,7 +5325,7 @@ "Please check the file permissions and try again." msgstr "" -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -5329,7 +5334,7 @@ "Please check the directory permissions and try again." msgstr "" -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, c-format msgid "" "\n" @@ -5337,14 +5342,14 @@ "%s\n" msgstr "" -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -5352,13 +5357,13 @@ "Please select another encoder from the list.\n" msgstr "" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" msgstr "" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -5368,27 +5373,27 @@ "- Check if the device actually exists.\n" msgstr "" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" "Do you wish to overwrite the existing subtitles ?\n" msgstr "" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 msgid "" "\n" "LiVES currently only supports subtitles of type" msgstr "" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -5397,14 +5402,14 @@ "or OK to continue and save as type \"%s\"\n" msgstr "" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" "(If unsure, click Yes)\n" msgstr "" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -5415,19 +5420,19 @@ "." msgstr "" -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" msgstr "" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" msgstr "" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -5435,7 +5440,7 @@ "DO NOT SHUT DOWN OR CLOSE LIVES !\n" msgstr "" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, c-format msgid "" "\n" @@ -5443,14 +5448,14 @@ "The theme could not be loaded correctly.\n" msgstr "" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" "Please check the spelling of the set name and try again.\n" msgstr "" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -5459,7 +5464,7 @@ "directory. Would you like me to do this (recommended) ?" msgstr "" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -5471,7 +5476,7 @@ msgstr "" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -5480,38 +5485,38 @@ "\n" msgstr "" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" "Consult your package distributor.\n" msgstr "" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" msgstr "" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, c-format msgid "" "\n" @@ -5520,7 +5525,7 @@ "(Theme name not found).\n" msgstr "" -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -5529,7 +5534,7 @@ "already exists. Would you like to overwrite it ?\n" msgstr "" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -5670,7 +5675,7 @@ msgid "Video only Transitions" msgstr "" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "" @@ -5678,7 +5683,7 @@ msgid "Audio only Transitions" msgstr "" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "" @@ -5722,7 +5727,7 @@ msgid "Audio Analysers" msgstr "" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "" @@ -5777,360 +5782,360 @@ "No frames were generated.\n" msgstr "" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 msgid "Invalid element" msgstr "" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 #, fuzzy msgid "Invalid property" msgstr "" "\n" "Neispravna datoteka projekt.\n" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 msgid "Invalid plugin" msgstr "" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 #, fuzzy msgid "No error" msgstr "Vedro _pogreške" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 msgid "integer" msgstr "" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 msgid "string" msgstr "" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 msgid "pointer" msgstr "" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" "Error was: %s\n" msgstr "" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr "" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, c-format msgid "Successfully loaded %d compound filters\n" msgstr "" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, c-format msgid "Failed to start generator %s (%s)\n" msgstr "" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 msgid "Autoscale" msgstr "" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 msgid "Delete this connection" msgstr "" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, c-format msgid "%s - Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, c-format msgid "%s - Parameter Data Connections" msgstr "" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 msgid "Parameter and Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 msgid "Auto Connect Channels" msgstr "" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 msgid "Auto Connect Parameters" msgstr "" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "" -#: src/framedraw.c:241 +#: src/framedraw.c:242 msgid "_Frame" msgstr "" @@ -6174,40 +6179,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "" -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -6273,32 +6278,32 @@ "\n" msgstr "" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "" -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -6307,7 +6312,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -6317,31 +6322,31 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" "Error was: %s\n" msgstr "" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " "***\n" msgstr "" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -6350,7 +6355,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -6359,7 +6364,7 @@ "or switch to another plugin using Tools|Preferences|Encoding\n" msgstr "" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, c-format msgid "" "\n" @@ -6367,12 +6372,12 @@ "No decoders found in %s !\n" msgstr "" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, c-format msgid " using %s" msgstr "" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -6381,7 +6386,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -6391,24 +6396,24 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "" -#: src/plugins.c:2556 +#: src/plugins.c:2550 msgid "Decoder Plugins" msgstr "" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "" @@ -6607,19 +6612,19 @@ msgid "Move _Down" msgstr "" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 msgid "RFX Properties" msgstr "" -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -6628,7 +6633,7 @@ "\n" msgstr "" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -6636,219 +6641,219 @@ "Please check the trigger code.\n" msgstr "" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 msgid "New RFX Parameter" msgstr "" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 msgid "Edit RFX Parameter" msgstr "" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "" -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "" -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "" -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." msgstr "" -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "" -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "" -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "" -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "" -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "" -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "" -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "" -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "" -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "" -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr "" -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "" -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 msgid "_Wrap value" msgstr "" -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "" -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "" -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "" -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "" -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "" -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 msgid "New RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 msgid "Edit RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "" -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "" -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "" -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "" -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "" -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "" -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "" -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 msgid "New RFX Trigger" msgstr "" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 msgid "Edit RFX Trigger" msgstr "" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "" -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 msgid "Pre Loop Code" msgstr "" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 msgid "Loop Code" msgstr "" -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 msgid "Post Loop Code" msgstr "" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, c-format msgid "Default text (max length %d)" msgstr "" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 msgid "Enter values, one per line" msgstr "" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" "Name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" "Name must not contain spaces.\n" msgstr "" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" "Menu text must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" "Action description must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" "Author must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -6856,28 +6861,28 @@ "Name must be unique.\n" msgstr "" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" "Loop code should not be blank.\n" msgstr "" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" "Trigger code should not be blank for a utility.\n" msgstr "" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" "Parameter name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -6886,41 +6891,41 @@ "\n" msgstr "" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "" -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -6930,27 +6935,27 @@ "\n" msgstr "" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "" -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "" -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "" -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "" -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -6959,7 +6964,7 @@ "Please check this program is in your path and executable.\n" msgstr "" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -6969,12 +6974,12 @@ "\n" msgstr "" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "" -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -6984,7 +6989,7 @@ "Error code was %d\n" msgstr "" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -6994,12 +6999,12 @@ "Please delete it first, or rename the test script.\n" msgstr "" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "" -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -7010,22 +7015,22 @@ "Return code was %d (%s)\n" msgstr "" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 #, fuzzy msgid "Export Script" msgstr "Izvoz projekta" -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "" -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 #, fuzzy msgid "Import Script" msgstr "Uvoz projekta" -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -7035,43 +7040,43 @@ "Please delete it first, or rename the import script.\n" msgstr "" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 msgid "Copy RFX Script" msgstr "" -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "" -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr "" -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 msgid "Rename Test RFX Script" msgstr "" -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "" -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 msgid "RFX Script Name" msgstr "" -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "" -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "" -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "" -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -7079,12 +7084,12 @@ "Script name must be unique.\n" msgstr "" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "" -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -7095,25 +7100,25 @@ "Return code was %d\n" msgstr "" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 msgid "Applying Current Real Time Effects to" msgstr "" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "" -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "" -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -7121,7 +7126,7 @@ "full screen, separate window (fs) mode\n" msgstr "" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -7129,7 +7134,7 @@ "(Free space = UNKNOWN)" msgstr "" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -7138,14 +7143,14 @@ "(Free space = %s)" msgstr "" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" "It should be in a partition with plenty of free disk space.\n" msgstr "" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7156,7 +7161,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7166,7 +7171,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1193 +#: src/preferences.c:1163 msgid "" "You have chosen to change the working directory.\n" "Please make sure you have no other copies of LiVES open.\n" @@ -7178,7 +7183,7 @@ "setting." msgstr "" -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, c-format msgid "" "\n" @@ -7187,13 +7192,13 @@ "See %s\n" msgstr "" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" msgstr "" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, c-format msgid "" "\n" @@ -7202,916 +7207,916 @@ "See %s\n" msgstr "" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "" -#: src/preferences.c:2468 +#: src/preferences.c:2418 msgid "Preferences" msgstr "" -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "" -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr "" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr "" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." msgstr "" -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr "" -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "" -#: src/preferences.c:2872 +#: src/preferences.c:2757 msgid "Maximum number of visible tracks" msgstr "" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "" -#: src/preferences.c:2925 +#: src/preferences.c:2804 msgid "Video open command (fallback)" msgstr "" -#: src/preferences.c:2935 +#: src/preferences.c:2811 msgid "Fallback image format" msgstr "" -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "" -#: src/preferences.c:2964 +#: src/preferences.c:2832 msgid "Open/render compression" msgstr "" -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr "" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "" -#: src/preferences.c:2995 +#: src/preferences.c:2856 msgid "Automatic trimming / padding of audio when possible" msgstr "" -#: src/preferences.c:2997 +#: src/preferences.c:2858 msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "" -#: src/preferences.c:3269 +#: src/preferences.c:3110 msgid "Source:" msgstr "" -#: src/preferences.c:3273 +#: src/preferences.c:3114 msgid "_Internal" msgstr "" -#: src/preferences.c:3278 +#: src/preferences.c:3119 msgid "_External (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" msgstr "" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr "" -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "" -#: src/preferences.c:3454 +#: src/preferences.c:3273 msgid "You can also change these values when encoding a clip" msgstr "" -#: src/preferences.c:3466 +#: src/preferences.c:3285 msgid "Encoder" msgstr "" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." msgstr "" -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr "" -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr "" -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr "" -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr "" -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr "" -#: src/preferences.c:3649 +#: src/preferences.c:3461 msgid " Working directory (do not remove) " msgstr "" -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "" -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "" -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "" -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr "" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "" -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" msgstr "" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "" -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr "" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "" -#: src/preferences.c:3872 +#: src/preferences.c:3659 msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " "when LiVES is started." msgstr "" -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "" -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "" -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "" -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "" -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "" -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "" -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "" -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "" -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "" -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "" -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "" -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "" -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "" -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "" -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." msgstr "" -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "" -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "" -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "" -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "" -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "" -#: src/preferences.c:4113 +#: src/preferences.c:3865 msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "" -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "" -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "" -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "" -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "" -#: src/preferences.c:4242 +#: src/preferences.c:3977 msgid "Main Theme Details" msgstr "" -#: src/preferences.c:4254 +#: src/preferences.c:3988 #, fuzzy msgid " _Foreground Color" msgstr "_Zanemari promjene" -#: src/preferences.c:4273 +#: src/preferences.c:4007 #, fuzzy msgid " _Background Color" msgstr "_Zanemari promjene" -#: src/preferences.c:4291 +#: src/preferences.c:4026 #, fuzzy msgid "_Alt Foreground Color" msgstr "_Zanemari promjene" -#: src/preferences.c:4309 +#: src/preferences.c:4044 #, fuzzy msgid "_Alt Background Color" msgstr "_Zanemari promjene" -#: src/preferences.c:4327 +#: src/preferences.c:4062 msgid " Info _Text Color" msgstr "" -#: src/preferences.c:4346 +#: src/preferences.c:4081 msgid " Info _Base Color" msgstr "" -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "" -#: src/preferences.c:4365 +#: src/preferences.c:4100 msgid "Affects some contrast details of the timeline" msgstr "" -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "" -#: src/preferences.c:4398 +#: src/preferences.c:4132 #, fuzzy msgid "Frame blank image" msgstr "Okvira" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "" -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4474 +#: src/preferences.c:4203 msgid "Track background (multitrack)" msgstr "" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "" -#: src/preferences.c:4529 +#: src/preferences.c:4258 msgid "Timeline selection (multitrack)" msgstr "" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "" -#: src/preferences.c:4553 +#: src/preferences.c:4282 msgid "Timecode foreground (multitrack)" msgstr "" -#: src/preferences.c:4565 +#: src/preferences.c:4293 #, fuzzy msgid "Frame surround" msgstr "sekundi." -#: src/preferences.c:4582 +#: src/preferences.c:4306 msgid "Themes/Colors" msgstr "" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "" -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "" -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" msgstr "" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" msgstr "" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "" -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." msgstr "" -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "" -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -8119,41 +8124,41 @@ "Click OK to continue.\n" msgstr "" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." msgstr "" -#: src/preferences.c:5525 +#: src/preferences.c:5205 msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "" -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "" -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "" @@ -8176,156 +8181,156 @@ msgid "Resample/Resize" msgstr "" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" "New rate must be greater than 0\n" msgstr "" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "" -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "" -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "" -#: src/resample.c:1208 +#: src/resample.c:1209 #, fuzzy msgid "New Clip Audio" msgstr "Nova audio" -#: src/resample.c:1210 +#: src/resample.c:1211 msgid "External Clip Settings" msgstr "" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "" -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 msgid "Channels" msgstr "" -#: src/resample.c:1256 +#: src/resample.c:1257 msgid "Sample Size " msgstr "" -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "" -#: src/resample.c:1322 +#: src/resample.c:1323 #, fuzzy msgid "New Audio Details" msgstr "Nova audio" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "" -#: src/resample.c:1369 +#: src/resample.c:1370 msgid "_Channels" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "_Sample Size" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "Sample Size" msgstr "" -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "" -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "" -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr "" -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr "" -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr "" -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "" -#: src/resample.c:1635 +#: src/resample.c:1636 msgid "Change Playback Speed" msgstr "" -#: src/resample.c:1637 +#: src/resample.c:1638 msgid "Resample Video" msgstr "" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -8336,7 +8341,7 @@ "in _frames per second" msgstr "" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -8347,80 +8352,80 @@ "in frames per second" msgstr "" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" "LiVES was unable to reorder the frames." msgstr "" -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "" @@ -8650,7 +8655,7 @@ msgid "Mode active" msgstr "" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "" @@ -8772,54 +8777,54 @@ msgid "Opened firewire card %d" msgstr "" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, c-format msgid "%s : parameters for %s" msgstr "" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." msgstr "" -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -8828,7 +8833,7 @@ "right or double clicking on it.\n" msgstr "" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -8836,14 +8841,14 @@ "Select an effect in FX stack first to view its parameters.\n" msgstr "" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" "No clips loaded.\n" msgstr "" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -8853,7 +8858,7 @@ "before inserting clips into the timeline." msgstr "" -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -8862,188 +8867,188 @@ "to apply compositors.\n" msgstr "" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" msgstr "" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" msgstr "" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr "" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 #, fuzzy msgid "Selected Clip" msgstr "_Izbriši isječak skup" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 msgid "_Adjust Start and End Points" msgstr "" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 msgid "_Edit/Encode in Clip Editor" msgstr "" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 #, fuzzy msgid "_Show Clip Information" msgstr "LiVES: - Otvori Lokacija" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 msgid "_Close this Clip" msgstr "" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 msgid "Audio Mixer (ctrl-m)" msgstr "" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "" -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "" -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "" -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "" -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "" -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "" -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "" -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "" -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "" -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "" -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "" -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " "audio rate %d, audio sample size %d, %s.\n" msgstr "" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -9053,7 +9058,7 @@ "then load in the new set from the File menu.\n" msgstr "" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -9061,207 +9066,207 @@ "It cannot be loaded.\n" msgstr "" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "" -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "" -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "" -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "" -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 #, fuzzy msgid "_Close the Selected Clip" msgstr "_Izbriši isječak skup" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 #, fuzzy msgid "_Save Layout as..." msgstr "_Spremi izgled" -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 msgid "_Load Layout..." msgstr "" -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 #, fuzzy msgid "_Wipe/Delete Layout..." msgstr "_Brisanje izgled" -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "" -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 msgid "Auto Load _Subtitles with Clips" msgstr "" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 msgid "_Adjust Selected Clip Start/End Points" msgstr "" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 #, fuzzy msgid "_Insert Selected Clip Audio" msgstr "_Izbriši isječak skup" -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 #, fuzzy msgid "_Delete Selected Block" msgstr "_Brisanje pogođene izgledima" -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 msgid "_Jump to Previous Block Boundary" msgstr "" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 msgid "_Jump to Next Block Boundary" msgstr "" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 msgid "Clear _Marks from Timeline" msgstr "" -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 msgid "Ignore Selection Limits when Inserting" msgstr "" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 msgid "Pla_y Selected Time Only" msgstr "" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 msgid "_Move Effects with Blocks" msgstr "" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 msgid "Select _Autotransition Effect..." msgstr "" -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 msgid "Crossfade Audio with Autotransition" msgstr "" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 msgid "View/_Edit Selected Effect" msgstr "" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 #, fuzzy msgid "_Delete Selected Effect" msgstr "_Brisanje pogođene izgledima" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 msgid "Apply Effect to _Block..." msgstr "" -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 msgid "Apply Effect to _Region..." msgstr "" -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 msgid "Make _Backing Audio Current Track" msgstr "" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 msgid "_Split Current Track at Cursor" msgstr "" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 #, fuzzy msgid "_Split Selected Video Tracks" msgstr "Izvoz odabranih Audio kao..." -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 msgid "Insert Gap in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 msgid "Insert Gap in Current Track/Selected Time" msgstr "" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 msgid "Close All _Gaps in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 msgid "Select _All Video Tracks" msgstr "" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 msgid "Select _No Video Tracks" msgstr "" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 #, fuzzy msgid "Select All _Time" msgstr "" @@ -9269,11 +9274,11 @@ "\n" "Izbor je zaključana.\n" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 msgid "Select from _Zero Time" msgstr "" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 #, fuzzy msgid "Select to _End Time" msgstr "" @@ -9281,392 +9286,392 @@ "\n" "Izbor je zaključana.\n" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "" -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 msgid "_Timecode to Region Start" msgstr "" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 msgid "_Timecode to Region End" msgstr "" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 msgid "_Region Start to Timecode" msgstr "" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 msgid "_Region End to Timecode" msgstr "" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 msgid "Select/Deselect Block at Current Track/Time" msgstr "" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 msgid "_Change Width, Height and Audio Values..." msgstr "" -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 msgid "_Render All to New Clip" msgstr "" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 msgid "Render _Video" msgstr "" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 #, fuzzy msgid "Render _Audio" msgstr "Nova audio" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 msgid "_Normalise Rendered Audio" msgstr "" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 msgid "_Pre-render Audio" msgstr "" -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 msgid "Block _In/Out Points" msgstr "" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 msgid "_Effects at Current" msgstr "" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 #, fuzzy msgid "Audio Parameters" msgstr "Okvira" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 msgid "Show Backing _Audio Track" msgstr "" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 msgid "Compact View" msgstr "" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 msgid "Maximum Tracks to Display..." msgstr "" -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 msgid "Scroll to Follow Playback" msgstr "" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 msgid "_Center on Cursor" msgstr "" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 msgid "_Zoom In" msgstr "" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 msgid "_Zoom Out" msgstr "" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 msgid "Multitrack _Details" msgstr "" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 msgid "_Show FRAME Events" msgstr "" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 msgid "_Show Multitrack Keys" msgstr "" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 #, fuzzy msgid "Insert With _Audio" msgstr "Umetni _sa zvukom" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 #, fuzzy msgid "Select _Overlap" msgstr "_Izbriši isječak skup" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" msgstr "" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 msgid "Mouse Mode: _Move" msgstr "" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 msgid "Mouse Mode: _Select" msgstr "" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 msgid "Insert Mode: _Normal" msgstr "" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "" -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "" -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" "Switched to Clip Edit mode\n" msgstr "" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr "" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr "" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr "" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 msgid "Selected Effect" msgstr "" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 msgid "_View/Edit this Effect" msgstr "" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 msgid "_View this Effect" msgstr "" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 #, fuzzy msgid "_Delete this Effect" msgstr "_Izbriši isječak skup" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr "" -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "" -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" "Switched to Multitrack mode\n" msgstr "" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" "Nodes can be deleted." msgstr "" -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -9674,31 +9679,31 @@ "current time.\n" msgstr "" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." msgstr "" -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 msgid "Selected Block/Frame" msgstr "" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 #, fuzzy msgid "_Select this Block" msgstr "" @@ -9706,257 +9711,257 @@ "\n" "Izbor je zaključana.\n" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 msgid "_Split Block Here" msgstr "" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 msgid "List _Effects Here" msgstr "" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 #, fuzzy msgid "_Delete this Block" msgstr "_Brisanje izgled" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 #, fuzzy msgid "_Insert Here" msgstr "Umetanje Tišina" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 #, fuzzy msgid "_Insert Audio Here" msgstr "Umetanje Tišina" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" msgstr "" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "" -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " "to %.4f\n" msgstr "" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" "selected.\n" msgstr "" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" msgstr "" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." msgstr "" -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." msgstr "" -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." msgstr "" -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" msgstr "" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" msgstr "" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" msgstr "" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "" -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "" -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" msgstr "" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 #, fuzzy msgid "Saving layout" msgstr "_Spremi izgled" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" msgstr "" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -9964,42 +9969,42 @@ "Therefore it could not be loaded properly.\n" msgstr "" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" "Unable to load layout file %s\n" msgstr "" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "" -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "" -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 #, fuzzy msgid "" "The current layout has changes which have not been saved.\n" @@ -10008,33 +10013,33 @@ "Trenutni izgled nije spremljena.\n" "Što želite učiniti?\n" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 msgid "Multitrack Audio Mixer" msgstr "" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" msgstr "" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "" @@ -10060,7 +10065,7 @@ "Connection to jack audio was reset.\n" msgstr "" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10068,7 +10073,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10076,7 +10081,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:104 +#: src/pulse.c:105 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10084,27 +10089,27 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" msgstr "" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" msgstr "" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr ""
View file
LiVES-2.8.4.tar.bz2/po/hu.po -> LiVES-2.8.6.tar.bz2/po/hu.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: hu\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" "PO-Revision-Date: 2012-08-08 08:49+0000\n" "Last-Translator: Krasznecz Zoltán <zoltan.krasznecz@gmail.com>\n" "Language-Team: Magyar <lisovszki@gmail.com>\n" @@ -18,7 +18,7 @@ "X-Launchpad-Export-Date: 2012-08-15 00:36+0000\n" "X-Generator: Launchpad (build 15801)\n" -#: src/main.c:132 +#: src/main.c:125 msgid "" "Attention Translators !\n" "This message is intended for you, so please do not translate it.\n" @@ -27,22 +27,22 @@ "http://lives-video.com/TRANS-README.txt" msgstr "" -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "" -#: src/main.c:203 +#: src/main.c:197 #, fuzzy, c-format msgid "" "\n" @@ -56,7 +56,7 @@ "group_id=64341&atid=507139\n" "Köszönjük. A LiVES újraindításával helyreállítható a program.\n" -#: src/main.c:205 +#: src/main.c:199 #, fuzzy, c-format msgid "" "\n" @@ -69,7 +69,7 @@ "Összeomlások bejelentésénél kérjük add meg a rendszered adatait és a LiVES " "verziószámát. (" -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" @@ -77,7 +77,7 @@ "és minden lent szereplő információt:\n" "\n" -#: src/main.c:210 +#: src/main.c:204 #, fuzzy msgid "" "Please try running LiVES with the -debug option to collect more " @@ -88,7 +88,7 @@ "beiktatásával, hogy további információkat tudhass meg.\n" "\n" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" @@ -98,90 +98,90 @@ "beiktatásával, hogy további információkat tudhass meg.\n" "\n" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "Tartós beállítás.\n" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "Bármely" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "Nincs" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "ajánlott" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "tíltva!" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "**A jelenlegi kimenet**" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "Beépített" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "Egyéni" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "Teszt" -#: src/main.c:474 +#: src/main.c:460 #, fuzzy msgid "LiVES: - " msgstr "LiVES: - Beszúrás" -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "Átméretezés" -#: src/main.c:731 +#: src/main.c:708 #, fuzzy msgid "_Resize All Frames..." msgstr "_Minden képkocka átméretezése" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "" -#: src/main.c:1122 +#: src/main.c:1094 #, fuzzy msgid "Background" msgstr "_Üres háttér" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "Az azonnali effektek betöltése..." -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "Jack audió szerver indítása" -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "" -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "" -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -193,35 +193,35 @@ "Alternatively, try to start lives with either \"lives -jackopts 16\", or " msgstr "" -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "Pulse audio szerver indítása..." -#: src/main.c:1855 +#: src/main.c:1813 #, fuzzy, c-format msgid "%s...detected... " msgstr "mplayer...megtalálva" -#: src/main.c:1856 +#: src/main.c:1814 #, fuzzy, c-format msgid "%s...NOT DETECTED... " msgstr "mplayer...NEM TALÁLOM.." -#: src/main.c:1867 +#: src/main.c:1824 #, fuzzy msgid "Checking optional dependencies: " msgstr "Ajánlott függőségek ellenőrzése" -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -232,53 +232,53 @@ "\n" "Az ablakkezelő jelenti: \"%s\"; " -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "monitorok száma: %d\n" -#: src/main.c:1901 +#: src/main.c:1863 #, fuzzy, c-format msgid "Number of CPUs detected: %d " msgstr "monitorok száma: %d\n" -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "kicsi endian" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "nagy endian" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "" -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1927 +#: src/main.c:1889 #, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr "" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "Az átmeneti könyvtár: %s\n" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" @@ -288,15 +288,15 @@ "jack hangrendszer nélkül lett szerkesztve.\n" "A legtöbb hangszerkesztési lehetőség nem lesz elérhető.\n" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "Jack támogatással összeállítva. Jóó !\n" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "Pulse audio támogatással összeszerkesztve. Csodálatos :)!\n" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" @@ -305,7 +305,7 @@ "Légy üdvözölve a LiVES %s verziójában.\n" "\n" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" @@ -314,90 +314,90 @@ "\n" "Az indító szintax: %s [opts] [fájlnév [eleje] [képkockák]]\n" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "Ahol: a fájlnév a média, vagy a biztonsági mentés fájl neve.\n" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "eleje : a fájlnév eleje másodpercben\n" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "képkockák : a maximálisan megnyitott képkockák száma\n" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "opts lehet:\n" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "-help : mutasd ezt a súgó szöveget, majd lépj ki\n" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "-set<setname> :automatikusan betölti a klip beállításait\n" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "-noset : ne töltsön be semmiféle beállítást az indításnál\n" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "-norecover : nem töltsön be sérült helyreállítást\n" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "-recover : sérült visszaállítás betöltése\n" -#: src/main.c:2593 +#: src/main.c:2545 msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "-nogui : ne legyen grafikus felület\n" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "-startup-ce : indítás klip szerkesztő módban\n" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "-startup-mt : indítás multitrack módban\n" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" msgstr "" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "-oscstart <port> : OSC hallgató indítása az UDP porton <port>\n" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "-nooscstart : ne indítsd el az OSC hallgatót\n" -#: src/main.c:2605 +#: src/main.c:2557 #, fuzzy msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " @@ -407,15 +407,15 @@ "mplayer" #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr ", pulse" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr ", sox vagy jack\n" -#: src/main.c:2613 +#: src/main.c:2565 #, fuzzy msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " @@ -426,31 +426,31 @@ "kliens, 2 = jack átvitel master, 4 = jack átviteli szerver indítása, 8 = " "hang szünetelése mikor a videó szünetel, 16 = jack hang szerver indítása] \n" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr " vagy sox\n" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "-devicemap <mapneve> : automatikusan betölti a eszköztérképet\n" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" msgstr "" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "" "-debug : megpróbálja kideríteni az összeomlás okát ('gdb' program megléte " "szükséges)\n" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "Grafikus felhasználói felület indítása..." -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -461,7 +461,7 @@ "(Maybe you need to change the value of <prefix_dir> in your %s file)\n" msgstr "" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -469,7 +469,7 @@ "Please make sure you have write access to %s and try again.\n" msgstr "" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -483,7 +483,7 @@ "Kérlek olvasd el a README fájlt, hogy mi érkezik ezzel a csomaggal,\n" "mielött fiuttatnád a LiVES-t.\n" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -493,7 +493,7 @@ "Please check the file permissions for this file and try again.\n" msgstr "" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -504,7 +504,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -512,7 +512,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2737 +#: src/main.c:2689 #, fuzzy, c-format msgid "" "\n" @@ -525,7 +525,7 @@ "\n" "A LiVES nem képes újrarendezni a képkockákat." -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -543,7 +543,7 @@ "\n" "Köszönöm.\n" -#: src/main.c:2751 +#: src/main.c:2703 #, fuzzy msgid "" "\n" @@ -554,7 +554,7 @@ "LiVES-nak szüksége van az 'mplayer' vagy a 'sox' valamelyikére. Kérlek " "telepíts egyet ezek közül, majd próbáld újra.\n" -#: src/main.c:2756 +#: src/main.c:2708 #, fuzzy msgid "" "\n" @@ -565,7 +565,7 @@ "LiVES-nak szüksége van az 'mplayer' vagy a 'sox' valamelyikére. Kérlek " "telepíts egyet ezek közül, majd próbáld újra.\n" -#: src/main.c:2769 +#: src/main.c:2721 #, fuzzy msgid "" "\n" @@ -576,7 +576,7 @@ "A LiVES nem találja az 'mplayert'. Ha azt szeretnéd, hogy jobban működjön a " "LiVES akkor telepítsd fel.\n" -#: src/main.c:2775 +#: src/main.c:2727 #, fuzzy msgid "" "\n" @@ -587,7 +587,7 @@ "A LiVES nem találja az 'mplayert'. Ha azt szeretnéd, hogy jobban működjön a " "LiVES akkor telepítsd fel.\n" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" @@ -597,7 +597,7 @@ "A LiVES nem találja a 'convert'-et. Fel kell telepítened a convert-et és az " "image-magick-et, ha szeretnéd használni a létrehozott effekteket.\n" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " @@ -607,7 +607,7 @@ "A LiVES nem találja a 'composite'-ot. Fel kell telepítened az image-magic-" "kel együtt, ha szeretnéd használni az egyesítés funkciót.\n" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " @@ -617,7 +617,7 @@ "A LiVES nem találja a 'sox'-ot. Néhány hang tulajdonság nem fog működni. " "Telepítsd fel a 'sox'-ot.\n" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -628,63 +628,63 @@ "You may need to change the value of <lib_dir> in %s\n" msgstr "" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "Effekt bővítmények betöltése..." -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "%s beállítás automatikus betöltése..." #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "Érvénytelen zene lejátszó %s\n" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <Névtelen%d> %dx%d : %d képkockák %d bpp %.3f fps" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : ??? képkocka ??? bpp %.3f fps" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : %d képkocka %d bpp %.3f fps" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "LiVES-%s: <Nincs fájl>" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "Lejátszás" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" @@ -692,34 +692,34 @@ "LiVES nem tudja rögzíteni ezt a képet\n" "\n" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "%s fájl bezárva\n" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "_Visszavonás" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "Új_ra" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "Videó" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "Bal oldali hang" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "Jobb oldali hang" -#: src/main.c:7078 +#: src/main.c:6973 #, fuzzy msgid "" "\n" @@ -909,7 +909,7 @@ msgid "Use _mplayer2 audio player" msgstr "_mplayer használata" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "_Következő" @@ -1120,56 +1120,56 @@ msgid "_Finish" msgstr "" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "A LiVES állítsa be a fájl kiterjesztéseket" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "" -#: src/interface.c:46 +#: src/interface.c:42 #, fuzzy msgid "Apply _Deinterlace" msgstr "Deinterlace engedélyezése" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "" "Ha ez be van állítva, a képkockák deinterlacelve lesznek amint importálják " "őket." -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "Előnézet" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "Kattints ide a kiválasztott video, kép vagy hang előnézetéhez" -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "Kattints ide a kiválasztott hang előnézetéhez" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "Kattints ide a video előnézetéhez" -#: src/interface.c:122 +#: src/interface.c:113 #, fuzzy msgid "Click here to _Preview the file" msgstr "Kattints ide a video előnézetéhez" -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 #, fuzzy msgid "Processing..." msgstr "LiVES: - Feldolgozás..." -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1183,8 +1183,8 @@ "\n" "Ne felejtsd el kikapcsolni az effekteket (ctr-0) utána!" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" @@ -1192,177 +1192,182 @@ "\n" "Kis türelmet" -#: src/interface.c:221 +#: src/interface.c:206 #, fuzzy msgid "Show Details" msgstr "_Részletek megjelenítése" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "_Elég" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "_Előnézet" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "_Mégse" -#: src/interface.c:334 +#: src/interface.c:324 #, fuzzy msgid "Multitrack Details" msgstr "Multitrack _részletek" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "Formátum" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "Képkocka mérete" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "Fájl mérete" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "Bájt méret" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "FPS" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "Képkockák" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "Események" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "Idő (összesen)" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "Hang" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "Sebesség/méret" -#: src/interface.c:568 +#: src/interface.c:590 #, fuzzy msgid "Encoding Options" msgstr "LiVES: - Kódolási beállítások" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." msgstr "" -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "Tartsd meg a _beállításaim" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "Használd a _javasolt beállításokat" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "Ablak _bezárása" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "_Mentés fájlba" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "Beszúrás" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "_A belillesztéshez idő száma" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "_Beillesztés a megfeleő hanghoz" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "Beszúrás a kijelölés _előtt:" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "Helyezd vágólapra mielőtt kijelölnéd a képkockákat" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "Beszúrás a kijelölés _után:" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "Helyezd vágólapra miután kijelölted a képkockákat" -#: src/interface.c:833 +#: src/interface.c:846 +#, fuzzy +msgid "Insert _with silence" +msgstr "Beszúrás _hanggal" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "Beszúrás _hanggal" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "Beszúrás hang _nélkül" -#: src/interface.c:924 +#: src/interface.c:937 #, fuzzy msgid "Open Selection" msgstr "_Kijelöltek másolása" -#: src/interface.c:943 +#: src/interface.c:954 #, fuzzy msgid "Selection start time (sec)" msgstr " Kijelölés kezdete (másodperben)" -#: src/interface.c:949 +#: src/interface.c:960 #, fuzzy msgid "Number of frames to open" msgstr " Megnyitott képkockák száma" -#: src/interface.c:1023 +#: src/interface.c:1029 #, fuzzy msgid "Open Location" msgstr "LiVES: - Hely megnyitása" -#: src/interface.c:1025 +#: src/interface.c:1031 msgid "Open Youtube Clip" msgstr "" -#: src/interface.c:1045 +#: src/interface.c:1050 #, fuzzy msgid "" "\n" @@ -1379,7 +1384,7 @@ "Ne feledd leellenőrini a beállításokat a beállítások|adatfolyamok menüben\n" "\n" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1388,72 +1393,72 @@ "\n" msgstr "" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "URL : " -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "" -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "Ne küldd el a sávszélesség információkat" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "Próbáld ezt a beállítást, ha problémád van a lejátszással" -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "" -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "" -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr "" -#: src/interface.c:1188 +#: src/interface.c:1189 #, fuzzy msgid "Rename Clip" msgstr "Klip elforgatása" -#: src/interface.c:1190 +#: src/interface.c:1191 #, fuzzy msgid "Enter Set Name to Save as" msgstr "LiVES: - Beállítás neve:" -#: src/interface.c:1192 +#: src/interface.c:1193 #, fuzzy msgid "Enter a Set Name to Reload" msgstr "LiVES: - Beállítás neve:" -#: src/interface.c:1194 +#: src/interface.c:1195 #, fuzzy msgid "Choose a Working Directory" msgstr "A LiVES munkakönyvtára" -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 #, fuzzy msgid "Rename Current Track" msgstr "_Jelenlegi sáv kiválasztása" -#: src/interface.c:1198 +#: src/interface.c:1199 #, fuzzy msgid "Enter a Name for Your Theme" msgstr "LiVES: - Beállítás neve:" -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1466,7 +1471,7 @@ "A LiVES emlékeztetni fog, hogy kilépés elött ne felejtsd el elmenteni a " "beállításokat.\n" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1488,220 +1493,220 @@ "This should be a directory with plenty of disk space available.\n" msgstr "" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "Új név " -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "Beállítás név " -#: src/interface.c:1257 +#: src/interface.c:1255 #, fuzzy msgid "Theme name " msgstr "Új név " -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "_Haladó" -#: src/interface.c:1437 +#: src/interface.c:1425 #, fuzzy msgid "Select input device" msgstr "Kijelölés a _záró pontig" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "" -#: src/interface.c:1517 +#: src/interface.c:1505 #, fuzzy msgid "Load CD Track" msgstr "_CD szám betöltése..." -#: src/interface.c:1519 +#: src/interface.c:1507 #, fuzzy msgid "Select DVD Title/Chapter" msgstr "LiVES: - DVD cím/fejezet kiválasztása" -#: src/interface.c:1521 +#: src/interface.c:1509 #, fuzzy msgid "Select VCD Title" msgstr "LiVES: - VCD cím kiválasztása" -#: src/interface.c:1523 +#: src/interface.c:1511 #, fuzzy msgid "Change Maximum Visible Tracks" msgstr "LiVES: - Maximálisan látható sávok megváltoztatása" -#: src/interface.c:1525 +#: src/interface.c:1513 #, fuzzy msgid "Device details" msgstr "Részletek megjelenítése" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "Szám betöltése (innen:%s)" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "DVD cím" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "VCD cím" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "Maximálisan megjelenített számok" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "Fejezet " -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "" -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "Hang ID " -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "" -#: src/interface.c:1815 +#: src/interface.c:1778 #, fuzzy msgid "Fade Audio In" msgstr "_Fokozatos hangerősödés..." -#: src/interface.c:1817 +#: src/interface.c:1780 #, fuzzy msgid "Fade Audio Out" msgstr "_Fokozatos elhalkulás..." -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "Fokozatos hangerősödés végig " -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "első" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "Fokozatos hanggyengülés végig " -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "utolsó" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "másodperc" -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "kiválasztás" -#: src/interface.c:1909 +#: src/interface.c:1865 #, fuzzy msgid " (Optional)" msgstr "LiVES: - Fájl megjegyzések (opcionális)" -#: src/interface.c:1912 +#: src/interface.c:1868 #, fuzzy, c-format msgid "File Comments%s" msgstr "LiVES: - Fájl megjegyzések (opcionális)" -#: src/interface.c:1927 +#: src/interface.c:1882 #, fuzzy, c-format msgid "File Name: %s" msgstr "Cím/név : " -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "Cím/név : " -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "Szerző/előadó : " -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "Megjegyzések : " -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "" -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "" -#: src/interface.c:2109 +#: src/interface.c:2058 #, fuzzy, c-format msgid "%sChoose a Device" msgstr "LiVES: Válassz CD meghajtót" -#: src/interface.c:2112 +#: src/interface.c:2061 #, fuzzy, c-format msgid "%sChoose a Directory" msgstr "LiVES: válassz egy könyvtárt" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" @@ -1711,7 +1716,7 @@ "A jelenlegi kimenet nincs elmentve.\n" "Mit szeretnél tenni?\n" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" @@ -1721,7 +1726,7 @@ "A jelenlegi kimenet megváltozott az előző mentéshez képest.\n" "Mit szeretnél tenni?\n" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" @@ -1731,7 +1736,7 @@ "A jelenlegi klip beállítások elmenthetők.\n" "Mit szeretnél tenni?\n" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" @@ -1739,7 +1744,7 @@ "A jelenlegi klip beállítások nincsenek elmentve.\n" "Mit szeretnél tenni?\n" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" @@ -1747,7 +1752,7 @@ "A jelenlegi kimenet még nincs elmentve.\n" "Mit szeretnél tenni?\n" -#: src/interface.c:2410 +#: src/interface.c:2341 #, fuzzy msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" @@ -1756,7 +1761,7 @@ "Az aktuális kimenet a legutóbbi mentés óta nem változott.\n" "Mit szeretnél tenni?\n" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" @@ -1767,44 +1772,44 @@ "alkalmazni.\n" "Mit szeretnél tenni?" -#: src/interface.c:2417 +#: src/interface.c:2348 #, fuzzy msgid "Cancel/Discard/Save" msgstr "LiVES: - Mégse/eldobás/mentés" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "Klip beállítás _neve" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "_Automatikus újratöltés legközelebb" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "_Kimenet törlése" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "_Változtatások elvetése" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "_Klip beállítás törlése" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "_Kimenet törlése" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "_Kimenet mentése" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "_Klip beállítás mentése" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" @@ -1814,35 +1819,35 @@ "A LiVES megtalált néhány előző anyagot.\n" "Szeretnéd megpróbálni helyreállítani?\n" -#: src/interface.c:2527 +#: src/interface.c:2455 msgid "Disk Recovery Options" msgstr "" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "" -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "" -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "Billentyűk mutatása" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1850,358 +1855,358 @@ "-----------------------\n" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 #, fuzzy msgid "ctrl-left" msgstr "Ugrás vissza (ctrl-bal)" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 #, fuzzy msgid "skip forwards\n" msgstr "ugrás_előrefelé" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 #, fuzzy msgid "ctrl-down" msgstr "Ctrl-%d" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "ctrl-enter" msgstr "_Egyéb középre" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "reset frame rate\n" msgstr "_Első képkocka" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "" -#: src/interface.c:2723 +#: src/interface.c:2642 #, fuzzy msgid "reverse direction\n" msgstr "Lejátszási irány megfordítása" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "ctrl-1" msgstr "Ctrl-%d" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "toggle real-time effect 1\n" msgstr "_Azonnali effektek" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "ctrl-2" msgstr "Ctrl-%d" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "toggle real-time effect 2\n" msgstr "_Azonnali effektek" -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 #, fuzzy msgid "ctrl-0" msgstr "Ctrl-%d" -#: src/interface.c:2751 +#: src/interface.c:2670 #, fuzzy msgid "real-time effects off\n" msgstr "_Azonnali effektek" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "" -#: src/interface.c:2759 +#: src/interface.c:2678 #, fuzzy msgid "grab keyboard for last activated effect\n" msgstr "Effekthez rendelt billentyű" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2688 #, fuzzy msgid "tab" msgstr "csap" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "" -#: src/interface.c:2785 +#: src/interface.c:2706 #, fuzzy msgid "Other playback keys\n" msgstr "_Lejátszás visszafelé " -#: src/interface.c:2789 +#: src/interface.c:2710 #, fuzzy msgid "play all\n" msgstr "Mind lejátszása" -#: src/interface.c:2792 +#: src/interface.c:2713 #, fuzzy msgid "play selection\n" msgstr "Kijelölt rész lejátszása" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "" -#: src/interface.c:2798 +#: src/interface.c:2719 #, fuzzy msgid "fullscreen\n" msgstr "_Teljes képernyő" -#: src/interface.c:2801 +#: src/interface.c:2722 #, fuzzy msgid "separate window\n" msgstr "Lejátszás külön ablak(ok)ban" -#: src/interface.c:2804 +#: src/interface.c:2725 #, fuzzy msgid "double size\n" msgstr "_Dupla méret" -#: src/interface.c:2807 +#: src/interface.c:2728 #, fuzzy msgid "ping pong loops\n" msgstr "_Ping pong hurkok" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "Multitrack billenytűk" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 #, fuzzy msgid "move current track up\n" msgstr "_Jelenlegi sáv kiválasztása" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 #, fuzzy msgid "move current track down\n" msgstr "_Jelenlegi sáv kiválasztása" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "" -#: src/interface.c:2849 +#: src/interface.c:2768 #, fuzzy msgid "select next clip\n" msgstr "LiVES: Kijelölt klip" -#: src/interface.c:2852 +#: src/interface.c:2771 #, fuzzy msgid "select/deselect current track\n" msgstr "_Jelenlegi sáv kiválasztása" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 #, fuzzy msgid "zoom in\n" msgstr "_Nagyítás" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 #, fuzzy msgid "zoom out\n" msgstr "_Kicsinyítés" -#: src/interface.c:2861 +#: src/interface.c:2780 #, fuzzy msgid "make a mark on the timeline (during playback)\n" msgstr "hogy kijelölést tehess az idővonalra" -#: src/interface.c:2864 +#: src/interface.c:2783 #, fuzzy msgid "rewind to play start.\n" msgstr "_Visszatekerés az elejére (w)" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "Mentés mint %s" -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "" -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "" -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -2209,16 +2214,16 @@ "the latest youtube-dl installed.\n" msgstr "" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, c-format msgid "Layouts were removed for set %s.\n" msgstr "" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "Ez a fájl" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " @@ -2226,7 +2231,7 @@ ",\n" " - tartalmazza az aktuális kimenetet - " -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2241,7 +2246,7 @@ "\n" "Biztosan bezárja?" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2256,14 +2261,14 @@ "\n" "Biztosan bezárja?" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" "Really close it ?" msgstr "" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" @@ -2271,7 +2276,7 @@ "\n" "Érvénytelen projekt fájl.\n" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2293,54 +2298,54 @@ "elveted.\n" "Ha kész vagy ezzel, akkor már importálhatod az új projektet.\n" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "%s projekt importálása a %s beállítással..." -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "Projekt importálása" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "%s projekt exportálása..." -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "Projekt exportálása" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 #, fuzzy msgid "Theme" msgstr "Új név " -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, fuzzy, c-format msgid "Exporting theme as %s..." msgstr "Hang exportálása mint %s..." -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, fuzzy, c-format msgid "Importing theme \"%s\" from %s..." msgstr "Hang exportálása mint %s..." -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, fuzzy, c-format msgid "Backup as %s File" msgstr ".lv1 fájl biztonsági mentése" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, fuzzy, c-format msgid "Restore %s File" msgstr ".lv1 fájl helyreállítása" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2352,95 +2357,95 @@ "A beállítás törlődik a lemezről.\n" "Biztos vagy benne?\n" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "" -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "Beállítás törlése..." -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "Beállítás törlése" -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "%s beállítás törölve lett a lemezről.\n" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "Csend beszúrása" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "Kibontás" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "Hang viszaállítás..." -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "Képkockák képeinek törlése" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "Felesleges képkockák törlése" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "A videó hossza jelenleg %d képkocka, %.3f kocka/másodperccel.\n" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "A vágólap újramintázva %d képkockával.\n" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "Újra" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, fuzzy, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "%d képkockák másolása ide:%d%s a vágólapra..." -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, fuzzy, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "%d képkockák másolása ide:%d%s a vágólapra..." -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "Másolás a vágólapra" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "Kivágás" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 #, fuzzy msgid "Pulling frames from clipboard" msgstr "Képkockák kiemelése a klipből" -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "" -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "Beillesztés" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "" -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " @@ -2450,7 +2455,7 @@ "Kérlek telepítsd fel a 'convert'-et az Image-magic csomagból, és indítsd " "újra a LiVES-t.\n" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2464,7 +2469,7 @@ "Próbáld meg azt, hogy kiválasztod az összes képkockát\n" "majd használd a 'Hang egyensúly' lehetőséget a hang menüből." -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." @@ -2472,7 +2477,7 @@ "A LiVES nem tudja beilleszteni, mert a hang ráták nem egyeznek.\n" "Kérlek telepítsd a 'sox'-ot, majd próbáld újra." -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" @@ -2483,7 +2488,7 @@ "multitrack kimenetbe.\n" "Biztosan folytatni szeretnéd?\n" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" @@ -2494,11 +2499,11 @@ "kimenetbe.\n" "Biztosan folytatni szeretnéd?\n" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "Vágólap hang újramintázása" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2510,7 +2515,7 @@ "A LiVES nem képes újramintázni a vágólapi hangot. \n" "A vágólap hang törölve lesz.\n" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2524,32 +2529,32 @@ "Szeretnéd folytatni a beillesztést\n" "a változatlan hanggal?\n" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "%d%s képkockák beillesztése a vágólapról..." -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "Beszúrás" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "%d idők beillesztése a %s vágólapról..." -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "%d képkockák beillesztése a %s vágólapról..." -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "Megszakítás" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" @@ -2559,7 +2564,7 @@ "Minden kocka törlése a fájl bezárását eredményezi.\n" "Biztos vagy benne?" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" @@ -2569,8 +2574,8 @@ "A törlés hiányzó képkockákat eredményezhet a kimeneteken.\n" "Biztosan szeretnéd folytatni?\n" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" @@ -2580,7 +2585,7 @@ "A törlés hiányzó hangot eredményezhet a kimeneteken.\n" "Biztosan szeretnéd folytatni?\n" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" @@ -2591,7 +2596,7 @@ "kimenetbe.\n" "Biztosan folytatni szeretnéd?\n" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" @@ -2602,20 +2607,20 @@ "kimenetbe.\n" "Biztosan folytatni szeretnéd?\n" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "%d képkockák törlése eddig: %d%s..." -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "Törlés" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "Törlés" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" @@ -2625,7 +2630,7 @@ "\n" "Kijelölés zárolva.\n" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2637,11 +2642,11 @@ "(A megszakításhoz nyomd meg az 'r' gombot, vagy a Lejátszás|előadás " "rögzítése gombot, mielött lejátszanád.)\n" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "Felvétel megszakítva.\n" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2654,7 +2659,7 @@ "A '%s' bővítmény jelentései:\n" "%s\n" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2667,7 +2672,7 @@ "Nem találom az 'init' metódust a %s bővítményben.\n" "A bővítmény valószínüleg sérült, vagy nincs megfelelően feltelepítve." -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2679,22 +2684,22 @@ "\n" "Kérlek nyomj 'Mégse'-t, ha nem ezt szeretted volna.\n" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "%s beállítás mentése" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "Klipek betöltése a %s beállításból" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2705,24 +2710,24 @@ "Csak akkor használd, ha nincs még egy futó példány a LiVES-ból a gépen.\n" "Jóváhagyáshoz nyomj 'OK'-t\n" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "Lemez terület felszabadítása..." -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "" -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "Képkocka arány és képkocka értékek alapértékre állítása..." -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2730,12 +2735,12 @@ "Internal: %s (%d bpp) / %s\n" msgstr "" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." @@ -2743,7 +2748,7 @@ "\n" " Megnyitás..." -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" @@ -2752,7 +2757,7 @@ "\n" "(%d virtualis)" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" @@ -2761,7 +2766,7 @@ "\n" "(%d dekódolva)" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" @@ -2770,7 +2775,7 @@ "\n" " %.2f mp." -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" @@ -2778,23 +2783,23 @@ "\n" " Ismeretlen" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "aláíratlan" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "aláírt" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "nagy-endian" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "kicsi endian" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" @@ -2803,7 +2808,7 @@ " %d Hz %d bit\n" "%s %s" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2820,19 +2825,19 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n" msgstr "" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "Videoszerkesztő és mixelő alkalmazás." -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, c-format msgid "" "LiVES Version %s\n" @@ -2846,7 +2851,7 @@ "Homepage: %s" msgstr "" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 #, fuzzy msgid "" "\n" @@ -2857,7 +2862,7 @@ "\n" "A fájl előnézetéhez fel kell telepítened az mplayert.\n" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 #, fuzzy msgid "" "\n" @@ -2869,94 +2874,94 @@ "\n" "A fájl előnézetéhez fel kell telepítened az mplayert.\n" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" "%s\n" msgstr "" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 #, fuzzy msgid "Encoder Debug Output" msgstr "LiVES: - Kódoló figyelő kimenet" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "Teljes képernyős visszajátszás (f)" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "Teljes képernyős visszajátszás ki (f)" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "Dupla méret (d)" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "Normál méret (d)" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "Lejátszó ablak(ok) elrejtése" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "Lejátszó ablak(ok) mutatása" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "Lejátszás külön ablak(ok)ban" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "Folytatólagos kötés kikapcsolása (o)" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "Folytatólagos kötés bekapcsolása (o)" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "Hangerő (%.2f)" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "Hang némítás ki (z)" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "Hang némítás be (z)" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "Vágólap megfordítása..." -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "Vágólap megfordítása" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 msgid "Load Subtitles" msgstr "" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 #, fuzzy msgid "Select Audio File" msgstr "Hang fájl kiválasztása" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -2969,83 +2974,83 @@ "Biztosan folytatni szeretnéd?\n" "." -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "%s megnyitása, formátuma: %s..." -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "Hang megnyitása" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "Hang hozzáadása" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "Új hang" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "%d CD szám megnyitása innen: %s..." -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "CD szám: %d" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "CD szám megnyitása..." -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "Hiba a CD szám megnyitása közben\n" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 #, fuzzy msgid "Layout Errors" msgstr "kimeneti hibák" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "_Hibák törlése" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "_Érintett kimenetek törlése" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "Folytatás" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "megállítva..." -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "folytatva..." -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "Megtartás" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, fuzzy, c-format msgid "" "\n" @@ -3058,30 +3063,30 @@ "(Kattints a 'Megtartás' gombra, hogy megtartsd amit készítettél)\n" "(Kattints a 'Folytatás' gombra, hogy folytatódjon a folyamat)" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "Mégse" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 #, fuzzy msgid "Selected Frame" msgstr "_Minden képkocka kijelölése" -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 #, fuzzy msgid "_Save Frame as..." msgstr "_Kimenet mentése mint..." -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -3090,7 +3095,7 @@ "\n" msgstr "" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -3102,7 +3107,7 @@ "Fel kell telepítened az \"xwininfo\"-t ezen képesség használatához\n" "\n" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" @@ -3110,7 +3115,7 @@ "\n" "A rögzítési időnek nagyobbnak kell lennie 0-nál.\n" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -3124,11 +3129,11 @@ "Nyomj 'Mégse'-t a megszakításhoz\n" "\n" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "Külső ablak felszabadítva.\n" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" @@ -3136,7 +3141,7 @@ "Kattints az ablakra a rögzítéshez\n" "nyomj 'q'-t a felvétel megállításához" -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -3151,19 +3156,19 @@ "Stop vagy 'q' a befejezéshez.\n" "(Az alapértelmezett %.3f képkocka/másodperc lesz használva.)\n" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "A LiVES nem képes rögzíteni ezt az ablakot. Elnézést.\n" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "Kijelölt hang exportálása mint..." -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "Hang exportálása mint..." -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -3176,87 +3181,87 @@ "A hanglejátszás sebessége meg lett változtatva a klipben.\n" "'OK' az új sebesség exportálásához, vagy 'Mégse' az eredeti exportálásához.\n" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "%d hang exportálása ide: %d, mint: %s..." -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "Hang exportálása mint %s..." -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "Hang exportálása" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 #, fuzzy msgid "Append Audio File" msgstr "Hang hozzáfűzés" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "%s hang fájl hozzáfűzése..." -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "Hang hozzáfűzése" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "Hang hozzáfűzés" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "" -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "Hang vágása %.2f -től %.2f másodpercig..." -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "Hang nyesés/kitöltés" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "Hangot nyes/kitölt" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "Fokozatosan erősödő hang" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "Fokozatosan erősödő hang" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "Fokozatosan halkuló hang" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "Fokozatosan halkuló hang" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "%s %.1f másodpercen túl..." -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "%s : %.2f másodperctől %.2f másodpercig..." -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "Halkuló hang..." -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" @@ -3266,33 +3271,33 @@ "Az összes hang törlése bezárja a fájlt.\n" "Biztos vagy benne?" -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "Minden hang törlése..." -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "Hang törlése %.2f-től %.2f másodpercig..." -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "Hang törlése" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "Hang törlése" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "Új hang rögzítése" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "Csend beszúrása a %.2f-től a %.2f másodpercig..." -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "Csend beszúrása" @@ -3306,7 +3311,7 @@ msgstr "" "Vágólap összeolvasztása [ %d képkockák ] A kijelölttel [ %d képkockák ]" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" @@ -3314,597 +3319,597 @@ "Vágólap összeolvasztása [ %d képkockák (újramintázott)] A kijelölttel " "[ %d képkockák ]" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "_Kezdőpontok igazítása" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "_Végek igazítása" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "Mit csináljak az extra vágólap képkockákkal -" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "_Képkockák beillesztése" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "_Képkockák eldobása" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "A vágólap ismétlődésének számai" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "_Vágólap ismétlése a jelen kijelöléshez" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "_Átmenet metódusa:" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "A vágólap összeolvasztása a kijelöltekkel..." -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "Összeolvasztás kész.\n" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "" -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "_Egyéni effektek" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "Egyéni _segédprogramok" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "_Fájl" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "_Fájl/könyvtár megnyitása" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "" -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "_Hely/adatfolyam megnyitása..." -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "" -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "" -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "Importálás innen: _firewire eszköz (dv)" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "Importálás innen: _firewire eszköz (hdv)" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "" -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "_Legutóbbi fájlok..." -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "_Klip beállítás újratöltése..." -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "_Bezárás/összes klip mentése" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "" -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "_Kijelöltek kódolása mint..." -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "_Klip bezárása" -#: src/gui.c:692 +#: src/gui.c:674 #, fuzzy, c-format msgid "_Backup Clip as .%s..." msgstr "_Biztonsági mentés a klipről mint .lv01..." -#: src/gui.c:701 +#: src/gui.c:683 #, fuzzy, c-format msgid "_Restore Clip from .%s..." msgstr "_Klip helyreállítása .lv1..." -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "Kódolás/mentés _hanggal" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "_Lemezterület felszabadítása" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "_Szerkesztés" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "_MULTITRACK mód" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "_Kijelöltek másolása" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "_Kijelöltek kivágása" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "_Beillesztés a vágólapról..." -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "Beillesztés _újként" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "_Vágólap összeolvasztása a kijelöltekkel..." -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "_Kijelölés törlése" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "_Videó elválasztása a hangtól" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "_Kijelölés..." -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "_Minden képkocka kijelölése" -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "_Csak az első képkockát" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "_Csak az utolsó képkockát" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "_Kijelölés az első képkockától" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "_Kijelölés az utolsó képkockáig" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "legutóbbi kijelölés kiválasztása/_összefűzés" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "_Utolsó effekt kiválasztása" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "_Kijelölés megfordítása" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "_Kijelöltek zárolása" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "_Lejátszás" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "_Mind lejátszása" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "_Kijelöltek lejátszása" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "_Vágólap lejátszása" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "_Leállítás" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "_Előre" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "_Teljes képernyő" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "_Dupla méret" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "Lejátszás _önálló ablakban" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "_Üres háttér" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "(Automatikus)_videó rendezés (hogy kitöltse a zenét)" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "_Folytatólagos hurok" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "_Ping pong hurkok" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "_Elnémítás" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "Önálló ablak, 'r_agadós' mód" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "_Mutasd a képkocka számlálót" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "" -#: src/gui.c:1069 +#: src/gui.c:1045 msgid "Letterbox Mode" msgstr "" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "_Effektek" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "Az effektek az aktuális kijelölésnél lesznek alkalmazva." -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "_Effekt/Eszköz/Generátor teszt futtatása..." -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "_Eszközök" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "Az eszközök csak a teljes klipekhez használhatók." -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "_Fordított vágólap" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "_Lejátszási/mentési sebesség megváltoztatása..." -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "_Video újramintázása új képarány értékre..." -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "_Segédprogramok" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "Egyéni _eszközök" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "_Létrehozás" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "" -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "Felvétel _külső ablakban... " -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "_Beállítások..." -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "_Hang" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "_Új hang betöltése a kliphez..." -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "_CD szám betöltése..." -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "_CD kiadása" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "_Külső hang rögzítése..." -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "Az új _klipnek..." -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "a _kijelölteknek" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "_Fokozatos hangerősödés..." -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "_Fokozatos elhalkulás..." -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "_Hang exportálása..." -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "_Kijelölt hang exportálása..." -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "_Minden hang exportálása..." -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "_Hang hozzáfűzése..." -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "_Hang nyesés/kitöltés..." -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "Hang nyesés/kitöltés a _kijelöltnek" -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "Hang nyesés/kitöltés az elejétől a _lejátszás Indításáig" -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "_Hang törlése..." -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "_Kijelölt hang törlése" -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "_Minden hang törlése" -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "_Csend beszúrása a kijelölésbe" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "_Hang újramintázása..." -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "_Info" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "Klip tulajdonságainak mutatása" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "Fájl kommentek megjelenítése/_szerkesztése" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "_Vágólap információ megjelenítése" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "_Üzenetek megjelenítése" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "_Kimeneti hibák mutatása" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "_Klipek" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "_Klip átnevezése a menüben" -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "_Haladó" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "_RFX Effektek/Eszközök/Segédprogramok" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "_Új teszt RFX szkript..." -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "_RFX szkript másolása a tesztbe..." -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "_Teszt RFX szkript szerkesztése..." -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "_Teszt RFX szkript átnevezése..." -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "_Teszt RFX szkript törlése..." -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "_Effekt/Eszköz/Generátor teszt előrehozatala..." -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "_Egyéni RFX szkript importálása..." -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "_Egyéni RFX szkript exportálása..." -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "_Egyéni RFX szkript törlése..." -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "_Az összes RFX bővítmény újraépítése" -#: src/gui.c:1397 +#: src/gui.c:1371 #, fuzzy msgid "Receive _LiVES Stream from..." msgstr "_LiVES adafolyam fogadása innen..." -#: src/gui.c:1401 +#: src/gui.c:1375 #, fuzzy msgid "_Send LiVES Stream to..." msgstr "_LiVES adadfolyam küldése ide..." -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "_yuv4mpeg adatfolyam megnyitása ezen: %sstream.yuv..." -#: src/gui.c:1426 +#: src/gui.c:1399 #, fuzzy, c-format msgid "_Import Project (.%s)..." msgstr "_Projekt importálása (.lv2)..." -#: src/gui.c:1430 +#: src/gui.c:1403 #, fuzzy, c-format msgid "E_xport Project (.%s)..." msgstr "_Projekt exportálása (.lv2)..." -#: src/gui.c:1437 +#: src/gui.c:1409 #, fuzzy, c-format msgid "_Import Custom Theme (.%s)..." msgstr "_Projekt importálása (.lv2)..." -#: src/gui.c:1442 +#: src/gui.c:1414 #, fuzzy, c-format msgid "E_xport Theme (.%s)..." msgstr "_Projekt exportálása (.lv2)..." -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "_VJ" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "Valós idejű _effekt leképezés" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "A valós idejű effektek hozzárendelése a ctrl-szám billentyűkhöz." -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "Alapértelmezett beállítások használata" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "Az alapértelmezett paraméter értékek beállítása." -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "Beállítások mentése alapértelmezettként" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." @@ -3912,291 +3917,291 @@ "Mentsd el a valós idejű effekt alapbeállításait, így azok minden LiVES " "indításnál visszaállítódnak." -#: src/gui.c:1476 +#: src/gui.c:1448 #, fuzzy msgid "_Reset All Playback Speeds and Positions" msgstr "_Minden lejátszó sebesség és pozíció visszaállítása" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "" "Minden lejátszási helyzet visszaállítása az első képkockához, és minden " "képarány visszaállítása." -#: src/gui.c:1480 +#: src/gui.c:1452 #, fuzzy msgid "_MIDI/Joystick Interface" msgstr "_MIDI/joystick felület" -#: src/gui.c:1489 +#: src/gui.c:1461 #, fuzzy msgid "_MIDI/Joystick Learner..." msgstr "_MIDI/joystick oktató..." -#: src/gui.c:1493 +#: src/gui.c:1465 #, fuzzy msgid "_Save Device Mapping..." msgstr "_Eszköz lista mentése..." -#: src/gui.c:1497 +#: src/gui.c:1469 #, fuzzy msgid "_Load Device Mapping..." msgstr "_Eszköz lista betöltése..." -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "VJ _billenytűk mutatása" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "_Játékok" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "_Nincs" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "_Őrült képkockák" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "_LiVES TV (szélessávú)" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "_Súgó" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "_Kézikönyv (böngészőben nyílik meg)" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 #, fuzzy msgid "_Donate to the Project !" msgstr "_Támogasd a projektet!" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 #, fuzzy msgid "_Email the Author" msgstr "_Levél a fejlesztőnek" -#: src/gui.c:1547 +#: src/gui.c:1519 #, fuzzy msgid "Report a _Bug" msgstr "Hiba bejelentése" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 #, fuzzy msgid "Suggest a _Feature" msgstr "_Képesség ajánlása a fejlesztőnek" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 #, fuzzy msgid "Assist with _Translating" msgstr "Segítség a _fordításban" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "_Hibaelhárítás" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "_Névjegy" -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "_Visszatekerés az elejére (w)" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "Mind lejátszása (p)" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "Leállítás (q)" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "Kijelöltek lejátszása (y)" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "Hangerő" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "Hangerő (1.00)" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "Üres háttér (b)" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "Lejátszás lassabban (ctrl-le)" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "Lejátszás gyorsabban (ctrl-fel)" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "Ugrás vissza (ctrl-bal)" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "Ugrás előre (ctrl-jobb)" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "Klip tuajdonságainak megjelenítése (i)" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "Eszköztár elrejtése" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." msgstr "" #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr " Videó lejátszás sebessége (másodpercenkénti képkockák) " -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "Videó sebesség változtatása" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "Első képkocka" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "Utolsó képkocka" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "A legelső kijelölt képkocka ebben a klipben" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "Az utolsó kijelölt képkocka ebben a klipben" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "Indulás folyamatban...\n" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr "" " Nyomj 'q'-t a felvétel leállításához. NE TAKARD EL A LEJÁTSZÓ " "ABLAKOT! " -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "Előnézeti képkockák száma" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "_Szabad" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "Szabadon választható a mennyiség" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "_Indítás" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "Képkocka szám hozzárendelve az elsőhöz" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "_Befejezés" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "Képkocka szám hozzálinkelve az utolsó képkockához" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "_Mutató" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "Képkocka mennyiség hozzárendelve a lejátszó mutatóhoz (csúszkához)" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "Visszatekerés" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "Mind lejátszása" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "Kijelölt rész lejátszása" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "Ismétlődés Be/Ki" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "_Felvétel indítása" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "_Felvétel leállítása" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "_Előadás felvétele" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr "" -#: src/gui.c:3613 +#: src/gui.c:3553 #, fuzzy msgid "Streaming" msgstr "Álommá tevés" -#: src/gui.c:3615 +#: src/gui.c:3555 #, fuzzy, c-format msgid "Play Window%s" msgstr "Lejátszó ablak elrejtése" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "Lejátszó ablak elrejtése" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "Lejátszó ablak megjelenítése" -#: src/gui.c:4199 +#: src/gui.c:4127 #, fuzzy, c-format msgid "'LiVES opened the file' '%s'" msgstr "LiVES: Fájl kiválasztása" -#: src/gui.c:4220 +#: src/gui.c:4146 #, fuzzy, c-format msgid "'LiVES closed the file' '%s'" msgstr "LiVES: válassz egy fájlt" @@ -4206,11 +4211,11 @@ msgid "Mapped to ctrl-%d" msgstr "" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "Effektek" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "Klipek" @@ -4224,11 +4229,11 @@ msgid "Select clip for %s\n" msgstr "_Klip beállítás törlése" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "" @@ -4273,11 +4278,11 @@ msgid "%d bytes" msgstr "" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "Vágólap letakarítása" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -4288,7 +4293,7 @@ "==============================\n" "Váltás a %s klipre\n" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" @@ -4298,11 +4303,11 @@ "==============================\n" "Váltás üres klipre\n" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "(üres)" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " @@ -4311,7 +4316,7 @@ "A beállítás neve %s-ről megváltozott %s-re. Az érintett kimenetek ennek " "megfelelően frissítve lettek.\n" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" @@ -4320,7 +4325,7 @@ "A %s klip hiányzik ebből a beállításból.\n" "Viszont szükséges a következő kimenetek miatt:\n" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" @@ -4329,7 +4334,7 @@ "A %s klip be lett zárva.\n" "Ez szükséges a következő kimenetek által:\n" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" @@ -4338,7 +4343,7 @@ "A képkockák a %s-ben meg lettek változtatva.\n" "A következő kimenetek érintettek:\n" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" @@ -4347,7 +4352,7 @@ "Képkockák ki lettek törölve a %s klipből.\n" "A következő kimenetek érintettek:\n" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" @@ -4356,7 +4361,7 @@ "Hang törölve a %s klipből.\n" "A következő kimenetek érintettek:\n" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" @@ -4365,7 +4370,7 @@ "A hang meváltozott a %s klipben.\n" "A következő kimenetek érintettek:\n" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" @@ -4374,7 +4379,7 @@ "A hang meg lett változtatva a %s klipben.\n" "A következő kimenetek érintettek:\n" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" @@ -4383,7 +4388,7 @@ "A képkockák meg lettek változtatva a %s klipben.\n" "A következő kimenetek érintettek:\n" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -4394,7 +4399,7 @@ "nem lehet megnyitni, mivel azt a LiVES\n" "egy másik megnyitott példánya használja\n" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -4405,7 +4410,7 @@ "A %s beállítást a LiVES egy másik futó példánya már használja.\n" "Kérlek válasz másik beállítást.\n" -#: src/utils.c:2188 +#: src/utils.c:2207 #, fuzzy, c-format msgid "" "\n" @@ -4414,7 +4419,7 @@ "\n" "A beállítás név nem lehet üres.\n" -#: src/utils.c:2196 +#: src/utils.c:2215 #, fuzzy, c-format msgid "" "\n" @@ -4423,7 +4428,7 @@ "\n" "A beállítás nevében nem lehet szóköz, és a következő jelek: %s.\n" -#: src/utils.c:2204 +#: src/utils.c:2223 #, fuzzy, c-format msgid "" "\n" @@ -4432,18 +4437,18 @@ "\n" "A beállítás nevében nem lehet szóköz, és a következő jelek: %s.\n" -#: src/utils.c:2213 +#: src/utils.c:2232 #, c-format msgid "" "\n" "%s names may not start with a '.' or contain '..'\n" msgstr "" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4454,75 +4459,75 @@ "A %s beállítás már létezik.\n" "Kérlek válassz másikat.\n" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "%s kimenet eltávolítása\n" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "Videó [megnyitás...]" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "Videó [%.2f másodperc]" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "(Nem definiált)" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "(Nincs videó)" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "(Nincs hang)" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "Monó [megnyitás...]" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "Bal oldal [megnyitás...]" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "Monó [%.2f másodperc]" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "Bal oldal [%.2f másodperc]" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "Jobb oldal [megnyitás...]" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "Jobb oldal [%.2f másodperc]" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "" "LiVES addig nem képes átváltani az mplayerre, amíg a klipek be vannak töltve." -#: src/utils.c:3492 +#: src/utils.c:3548 #, fuzzy msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "" "LiVES addig nem képes átváltani az mplayerre, amíg a klipek be vannak töltve." -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "klip kipucolása" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4537,29 +4542,29 @@ "\n" "Felülírod?\n" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "_%s visszavonása" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "\"%s\" _újra" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "-------------Kijelölés-------------" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr " mp ] ----------Kijelölés----------- [ " -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr " képkockák ] ----------" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4584,7 +4589,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "%s megnyitása. Kezdés ideje %.2f mp. képkockák %d" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr " hang nélkül" @@ -4702,7 +4707,7 @@ "Még mindig akarod folytatni?" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "Képkockák kiemelése a klipből" @@ -4761,12 +4766,12 @@ msgid "Recording performance..." msgstr "Felvétel minősége..." -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "Az átlagos FPS %.4f volt\n" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4780,21 +4785,21 @@ "Kattints rá az Eszközök--->Mind átméretezése\n" "opcióra, majd minden képkockát méretezz át a megfelelő méretre.\n" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "Ismeretlen" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "Névtelen%d" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "%d képkoca elég!\n" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4802,13 +4807,13 @@ "%s\n" msgstr "" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" msgstr "" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4816,7 +4821,7 @@ "Bad things may happen with this clip.\n" msgstr "" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4829,14 +4834,14 @@ "Az alapértelmezett sebesség beállítható az Eszközök | Beállítások | Vegyes " "részben.\n" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "" "A lejátszás sebessége %.3f fps-re lett beállítva, ezáltal a videó " "hozáilleszkedik a hanghoz.\n" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" @@ -4845,7 +4850,7 @@ "Képkockák=%d típus=%s méret=%dx%d *bpp=Greyscale* fps=%.3f\n" "Hang:" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" @@ -4854,54 +4859,54 @@ "Képkockák=%d típus=%s méret=%dx%d bpp=%d fps=%.3f\n" "Hang:" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "%s nincs\n" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, fuzzy, c-format msgid " - Author: %s\n" msgstr "Szerző: %s" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, fuzzy, c-format msgid " - Title: %s\n" msgstr " - Megjegyzés: %s\n" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr " - Megjegyzés: %s\n" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "%d képkocka mentése mint %s..." -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "%s mentése eddig: %s" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "Mentés" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "minőségi adatok el lettek mentve..." -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "%s helyreállítása..." -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "Helyreállítás" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -4956,12 +4961,12 @@ msgid "Recovering files..." msgstr "Visszaszerzés fájlokat..." -#: src/dialogs.c:87 +#: src/dialogs.c:83 #, fuzzy msgid "Show affeced _layouts" msgstr "Érintett _kimenetek megjelenítése" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" @@ -4969,52 +4974,52 @@ "_Ne mutasd ezt a figyelmeztetést többet\n" "(visszakapcsolható a beállítások/figyelmeztetések-nél)" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr "" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 #, fuzzy msgid "Warning !" msgstr "Figyelmeztetések" -#: src/dialogs.c:198 +#: src/dialogs.c:186 #, fuzzy msgid "Error !" msgstr "$hiba" -#: src/dialogs.c:208 +#: src/dialogs.c:196 #, fuzzy msgid "Information" msgstr "LiVES: Információ erről: %s" -#: src/dialogs.c:234 +#: src/dialogs.c:221 #, fuzzy msgid "Question" msgstr "LiVES: - Kérdés" -#: src/dialogs.c:248 +#: src/dialogs.c:235 #, fuzzy msgid "File Error" msgstr "_Hibák törlése" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "_Részletek megjelenítése" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -5025,7 +5030,7 @@ "(Disk warning levels can be configured in Preferences.)" msgstr "" -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -5037,11 +5042,11 @@ "Preferences.)" msgstr "" -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "Nem lehet zene lejátszót váltani a lejátszás alatt." -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -5053,18 +5058,18 @@ "A LiVES nem tudja ezt a műveletet elvégezni kellő memória hiányában.\n" "Kérlek próbálj meg néhány alkalmazást bezárni.\n" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "" -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" "%s%d%% done. Time remaining: %u sec%s\n" msgstr "" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" @@ -5073,14 +5078,14 @@ "\n" "%d/%d képkocka megnyitva. A hátralévő idő %u másodperc.\n" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" "%d/%d frames opened.\n" msgstr "" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" @@ -5089,7 +5094,7 @@ "\n" "%d képkocka megnyitva.\n" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" @@ -5098,7 +5103,7 @@ "\n" "Hátralévő idő: %d mp" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -5109,7 +5114,7 @@ "Elnézést, de a LiVES csak %d fájlt tud megnyitni egyszerre.\n" "Kérlek zárj be egy fájlt, majd próbáld újra." -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, fuzzy, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -5128,7 +5133,7 @@ "\n" "Kérlek ellenőrizd az írási jogosultságaidat." -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 #, fuzzy msgid "" "\n" @@ -5139,7 +5144,7 @@ "LiVES-nak szüksége van az 'mplayer' vagy a 'sox' valamelyikére. Kérlek " "telepíts egyet ezek közül, majd próbáld újra.\n" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 #, fuzzy msgid "" "\n" @@ -5150,7 +5155,7 @@ "LiVES-nak szüksége van az 'mplayer' vagy a 'sox' valamelyikére. Kérlek " "telepíts egyet ezek közül, majd próbáld újra.\n" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 #, fuzzy msgid "" "\n" @@ -5161,19 +5166,19 @@ "LiVES-nak szüksége van az 'mplayer' vagy a 'sox' valamelyikére. Kérlek " "telepíts egyet ezek közül, majd próbáld újra.\n" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" @@ -5183,7 +5188,7 @@ "Kérlek telepítsd a 'sox'-ot,\n" "vagy válts egy másik kódolóra az Eszközök | Beállítások | Kódolás menüben\n" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -5195,7 +5200,7 @@ "Ez a kódoló/formátum nem használható a kért hang kódekhez. \n" "Kérlek állítsd be a hang kódolót az Eszközök|Beállítások|kódolás menüben.\n" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" @@ -5203,13 +5208,13 @@ "Ez a kimenet generált képkockákat tartalmaz.\n" "Nem menthető, először egy klippé kell alakítanod.\n" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -5220,7 +5225,7 @@ "\n" "Kellő korlátozások a %s formátumban.\n" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" @@ -5228,43 +5233,43 @@ "A LiVES a következő beállításokat ajánlja:\n" "\n" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr ", aláírt" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr ", aláíratlan" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr ", kicsi-endian" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr ", nagy-endian" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "Videó arány beállítása erre: %.3f fps-re\n" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "Videó arány beállítása erre: %d:%d fps-re\n" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "Videó méretének beállítása erre: %d x %d pixel\n" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" @@ -5272,35 +5277,35 @@ "\n" "Szeretnéd:\n" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "videó átméretezése %d x %d pixelre\n" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "hang letiltva, mivel a kijelölt kodek nem képes kezelni a hangot\n" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "A LiVES-nak szükséges a:\n" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "videó újramintázása %.3f fps-re\n" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "videó újramintázása %d:%d fps-re\n" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -5314,7 +5319,7 @@ "'OK' a jóváhagyáshoz, 'Mégse' az elvetéshez.\n" "\n" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" @@ -5324,7 +5329,7 @@ "A változások a kijelölésben nem lesznek maradandóak.\n" "\n" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -5338,7 +5343,7 @@ "elérhető memória.\n" "Próbálj meg csak egy kijelölt részt rögzíteni a fájlból." -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -5356,7 +5361,7 @@ "\n" "Kérlek nyomj 'Mégse'-t a beillesztés megszakításához, 'OK'-t a folytatáshoz." -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, fuzzy, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -5374,18 +5379,18 @@ "Csak nyomj 'OK'-t ha tudod mit kell tenned, minden más esetben válaszd a " "'Mégse' opciót." -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "Üzenet előzmények" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " "in your %s file" msgstr "" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -5396,7 +5401,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 #, fuzzy msgid "" "Sorry, unknown audio type.\n" @@ -5407,18 +5412,18 @@ "\n" " (használható fájltípusok:.mp3, .ogg, .wav, .mod, .xm, .it)" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "nem sikerült (ismeretlen típus)\n" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" "(They will not be usable without the set).\n" msgstr "" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -5432,7 +5437,7 @@ "beállításhoz.\n" "'Mégse' egy új létrehozásához.\n" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -5444,7 +5449,7 @@ "Biztosan szeretnéd folytatni?\n" "." -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -5456,7 +5461,7 @@ "Biztosan folytatni szeretnéd?\n" "." -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -5467,7 +5472,7 @@ "Otherwise click Cancel to skip loading this file.\n" msgstr "" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -5482,7 +5487,7 @@ "%s\n" "A klipet nem lehet betölteni.\n" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -5490,7 +5495,7 @@ "Alternately, select a different audio player in Preferences.\n" msgstr "" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -5499,13 +5504,13 @@ "Automatic jack startup will be disabled now.\n" msgstr "" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" msgstr "" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -5516,7 +5521,7 @@ "%s\n" msgstr "" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" @@ -5525,7 +5530,7 @@ "Más megoldásként, indítsd újra a LiVES-t, majd válassz egy másik " "hangmeghajtót.\n" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -5540,7 +5545,7 @@ "Növelheted az értéket a Beállítások/Multitrac menüben.\n" "Az ajánlott érték legalább %d MB" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -5549,7 +5554,7 @@ "Do you wish to delete them ?\n" msgstr "" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -5561,7 +5566,7 @@ "Zárj be néhány más alkalmazást a memória felszabadításához.\n" "Használd a Beállítások/Multitrack/Visszaállítási memória opciót\n" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -5573,7 +5578,7 @@ "Meg kell növelned a visszaállítási memóriát\n" "használd a Beállítások/Multitrack/Visszaállítási memóriát\n" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" @@ -5582,21 +5587,21 @@ "A LiVES nem képes elég memóriát biztosítani a multitrack visszállító " "pufferéhez.\n" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "vagy adj meg egy kisebb értéket.\n" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "" "Próbáld meg ismét a klip szerkesztőböl. Próbálj meg bezárni néhány egyéb " "alkalmazást\n" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "Zárj be néhány egyéb alkalmazást\n" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" @@ -5604,13 +5609,13 @@ "A Multitrack értéke 0 csatornát jelez, de a kimenetnek van hangja.\n" "Ellenőrizd a hang beállításokat az Eszközök menüben.\n" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "" "A jelenlegi kimenetnek van hangja, ezért a csatornák száma nem lehet 0.\n" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" @@ -5620,7 +5625,7 @@ "illetve \"pulse audio\" lejátszókkal lehetséges.\n" "Ezt beállíthatod az Eszközök|Beállítások|Lejátszás menüben." -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" @@ -5630,7 +5635,7 @@ "egy régebbi verziója miatt is).\n" "Megpróbálhatom megjavítani a kimenet másolatát?\n" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" @@ -5638,7 +5643,7 @@ "A LiVES nem képes betölteni a kimenetet.\n" "Sajnálom.\n" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 #, fuzzy msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" @@ -5648,7 +5653,7 @@ "LiVES-nak szüksége van az 'mplayer' vagy a 'sox' valamelyikére. Kérlek " "telepíts egyet ezek közül, majd próbáld újra.\n" -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 #, fuzzy msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" @@ -5658,7 +5663,7 @@ "LiVES-nak szüksége van az 'mplayer' vagy a 'sox' valamelyikére. Kérlek " "telepíts egyet ezek közül, majd próbáld újra.\n" -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 #, fuzzy msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" @@ -5668,7 +5673,7 @@ "LiVES-nak szüksége van az 'mplayer' vagy a 'sox' valamelyikére. Kérlek " "telepíts egyet ezek közül, majd próbáld újra.\n" -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" @@ -5678,7 +5683,7 @@ "\n" "A hang aránynak 0-nál nagyobbnak kell lennie.\n" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5690,7 +5695,7 @@ "és sokáig tart megjeleníteni.\n" "Biztosan meg szeretnéd nézni?\n" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" @@ -5700,7 +5705,7 @@ "\n" "Telepítened kell a 'dvgab'-et a funkció használatához.\n" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5715,25 +5720,25 @@ "Ki kell egyet választanod ezek közül az Eszközök/Beállítások/Lejátszás " "menüben.\n" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "A videólejátszó bővítmény nem tudja inicializálni a palettát!\n" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "Nem sikerült inicializálnia a palettát a dekóder bővítménynek!\n" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "Nem lehet beállítani videó bővítmény képkocka arányát\n" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" msgstr "Öszeomlás után\n" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5746,33 +5751,33 @@ "\n" "echo %d > /proc/sys/net/core/rmem_max\n" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "megszakítva.\n" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "nem sikerült.\n" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "kész.\n" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "hiba a fájlban. Sikertelen.\n" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -5782,7 +5787,7 @@ "%s%s%s" msgstr "" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -5792,7 +5797,7 @@ "%s" msgstr "" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -5802,7 +5807,7 @@ "%s" msgstr "" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -5811,7 +5816,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -5821,7 +5826,7 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -5830,7 +5835,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -5840,12 +5845,12 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "" -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -5854,7 +5859,7 @@ "Please check your system for errors.\n" msgstr "" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -5867,7 +5872,7 @@ "%s\n" "Kérlek ellenőrizd a jogosultságokat, majd próbáld meg ismét." -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -5876,7 +5881,7 @@ "Please check the directory permissions and try again." msgstr "" -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, fuzzy, c-format msgid "" "\n" @@ -5887,14 +5892,14 @@ "\n" "A LiVES nem képes újrarendezni a képkockákat." -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -5905,13 +5910,13 @@ "A %s nem képes klipet készíteni ezekkel a képekkel: %s\n" "Kérlek válassz egy másik kódolót a listából.\n" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" msgstr "" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -5921,27 +5926,27 @@ "- Check if the device actually exists.\n" msgstr "" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" "Do you wish to overwrite the existing subtitles ?\n" msgstr "" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 msgid "" "\n" "LiVES currently only supports subtitles of type" msgstr "" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -5950,14 +5955,14 @@ "or OK to continue and save as type \"%s\"\n" msgstr "" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" "(If unsure, click Yes)\n" msgstr "" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -5968,19 +5973,19 @@ "." msgstr "" -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" msgstr "" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" msgstr "" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -5988,7 +5993,7 @@ "DO NOT SHUT DOWN OR CLOSE LIVES !\n" msgstr "" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, fuzzy, c-format msgid "" "\n" @@ -5999,14 +6004,14 @@ "Néhány %s hiányzik a(z) %s kimenetből\n" "Ezért nem lehet megfelelően betölteni.\n" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" "Please check the spelling of the set name and try again.\n" msgstr "" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -6015,7 +6020,7 @@ "directory. Would you like me to do this (recommended) ?" msgstr "" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -6027,7 +6032,7 @@ msgstr "" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -6036,40 +6041,40 @@ "\n" msgstr "" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" "Consult your package distributor.\n" msgstr "" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" msgstr "" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "" "Kérlek állítsd be a CD lejátszó eszközöd az Eszközök | Beállítások | Vegyes " "menüben\n" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, fuzzy, c-format msgid "" "\n" @@ -6082,7 +6087,7 @@ "%s\n" "Kérlek ellenőrizd a jogosultságokat, majd próbáld meg ismét." -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -6091,7 +6096,7 @@ "already exists. Would you like to overwrite it ?\n" msgstr "" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -6232,7 +6237,7 @@ msgid "Video only Transitions" msgstr "Csak videó átmenetek" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "csak hang" @@ -6240,7 +6245,7 @@ msgid "Audio only Transitions" msgstr "Csak hang átmenetek" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "hang" @@ -6286,7 +6291,7 @@ msgid "Audio Analysers" msgstr "" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "ismeretlen" @@ -6343,93 +6348,93 @@ "\n" "Nincsenek képkockák generálva.\n" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 #, fuzzy msgid "Invalid element" msgstr "Érvénytelen paraméter" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 #, fuzzy msgid "Invalid property" msgstr "Érvénytelen paraméter" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 #, fuzzy msgid "Invalid plugin" msgstr "Érvénytelen %d sor a %s-ben\n" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 #, fuzzy msgid "No error" msgstr "$hiba" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 #, fuzzy msgid "integer" msgstr "_Mutató" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 #, fuzzy msgid "string" msgstr "Helyreállítás" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 #, fuzzy msgid "pointer" msgstr "_Mutató" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "Hiba: a(z) %s bővítménynek nincsenek beállításai.\n" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" @@ -6438,275 +6443,275 @@ "Információ: Nem lehet betölteni a következő bővítményt: %s\n" "A hiba a következő volt: %s\n" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr "" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "Sikeresen betöltött %d Weed szűrők\n" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, fuzzy, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "Érvénytelen %s effekt a %s-ben\n" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, fuzzy, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "Érvénytelen %s effekt a %s-ben\n" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, fuzzy, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "Érvénytelen %s effekt a %s-ben\n" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, fuzzy, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "Érvénytelen %s effekt a %s-ben\n" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, fuzzy, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" msgstr "Érvénytelen %s effekt a %s-ben\n" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, fuzzy, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" msgstr "Érvénytelen %s effekt a %s-ben\n" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, fuzzy, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "Érvénytelen %s effekt a %s-ben\n" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, fuzzy, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" msgstr "Érvénytelen %s effekt a %s-ben\n" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, fuzzy, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" msgstr "Érvénytelen %s effekt a %s-ben\n" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, fuzzy, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " "%d\n" msgstr "Érvénytelen %s effekt a %s-ben\n" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, fuzzy, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" msgstr "Érvénytelen %s effekt a %s-ben\n" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, fuzzy, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" msgstr "Érvénytelen %s effekt a %s-ben\n" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, fuzzy, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "Érvénytelen %s effekt a %s-ben\n" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, fuzzy, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " "%d\n" msgstr "Érvénytelen %s effekt a %s-ben\n" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, fuzzy, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" msgstr "Érvénytelen %s effekt a %s-ben\n" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, fuzzy, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" msgstr "Érvénytelen %s effekt a %s-ben\n" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, fuzzy, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" msgstr "Érvénytelen %s effekt a %s-ben\n" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, fuzzy, c-format msgid "Successfully loaded %d compound filters\n" msgstr "Sikeresen betöltött %d Weed szűrők\n" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, fuzzy, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "Nem sikerült elindítani a(z) %s eseményt, hiba kód: %d\n" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "Nem lehet elindítani a %s generátort\n" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, fuzzy, c-format msgid "Failed to start generator %s (%s)\n" msgstr "Nem lehet elindítani a %s generátort\n" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, fuzzy, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "Nem lehet elindítani a %s generátort\n" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 #, fuzzy msgid "Autoscale" msgstr "* skála" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 #, fuzzy msgid "Delete this connection" msgstr "_Effekt törlése" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, fuzzy, c-format msgid "%s - Alpha Channel Connections" msgstr "LiVES: - RFX paraméter ablak tippek" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, fuzzy, c-format msgid "%s - Parameter Data Connections" msgstr "Ki_jelölés" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 #, fuzzy msgid "Parameter and Alpha Channel Connections" msgstr "LiVES: - RFX paraméter ablak tippek" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 #, fuzzy msgid "Auto Connect Channels" msgstr "Ki_jelölés" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 #, fuzzy msgid "Auto Connect Parameters" msgstr "Paraméterek beállítása" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "Csak kattints az előnézetre az értékek megváltoztatásához" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "_Értékek visszaállítása" -#: src/framedraw.c:241 +#: src/framedraw.c:242 #, fuzzy msgid "_Frame" msgstr "_Képkockák" @@ -6751,40 +6756,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "Cél _FPS (a bővítmény felülírhatja)" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "%s : méret" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "Új méret (képpont)" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "_Szélesség" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "_Magasság" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "_A vágólapra" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "Elkészítés a vágólapra" -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "Elkészítés _új klipként" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "Képkockák elkészítése egy új klipbe" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -6865,32 +6870,32 @@ "Eszközök|Beállítások|Lejátszás|Haladó bővítmények menüben\n" "\n" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "" -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "_FPS" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "Állandó képkocka-arány a bővítménynek.\n" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "_Színtér" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "Színtér bevitel a bővítménybe.\n" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -6903,7 +6908,7 @@ "Nem sikerült megnyitni ezt a bővítményt: %s\n" "A hiba oka %s\n" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -6918,7 +6923,7 @@ "hiányzik egy kötelező funkciója.\n" "Nem lehet használni.\n" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" @@ -6927,7 +6932,7 @@ "Nem sikerült inicializálni a bővítményt.\n" "A hiba oka: %s\n" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " @@ -6936,17 +6941,17 @@ "***%s bővítmény használata az fs lejátszáshoz, a %d (%s) paletta típus " "használata engedélyezve. ***\n" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -6955,7 +6960,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -6968,7 +6973,7 @@ "%s%s%s\n" "vagy válassz egy másik bővítményt az Eszközök|Beállítások|Kódolás menüben\n" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, c-format msgid "" "\n" @@ -6976,12 +6981,12 @@ "No decoders found in %s !\n" msgstr "" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, fuzzy, c-format msgid " using %s" msgstr "%s megnyitása" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -6994,7 +6999,7 @@ "Nem sikerült megnyitni a következő dekóder bővítményt: %s\n" "A hiba oka: %s\n" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -7009,25 +7014,25 @@ "hiányzik egy kötelező funkciója.\n" "Nem lehet használni.\n" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "/ismeretlen" -#: src/plugins.c:2556 +#: src/plugins.c:2550 #, fuzzy msgid "Decoder Plugins" msgstr "Dekódolás" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "Nem lehet betölteni ezt: %s, az átmenet nem lesz átméretezve.\n" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "%s haladó beállítások" @@ -7240,20 +7245,20 @@ msgid "Move _Down" msgstr "Mozgatás _le" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 #, fuzzy msgid "RFX Properties" msgstr "LiVES: - RFX tulajdonságok" -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "_Lassú" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "_Batch mód generátor" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -7267,7 +7272,7 @@ "Előbb távolítsd el a programindítót.\n" "\n" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -7279,29 +7284,29 @@ "Néhány programindító korrigálva lett.\n" "Kérlek ellenőrizd a kódot.\n" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 #, fuzzy msgid "New RFX Parameter" msgstr "LiVES: - Új RFX paraméter" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 #, fuzzy msgid "Edit RFX Parameter" msgstr "LiVES: - RFX paraméter szerkesztése" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "_Név: " -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "A paraméter neve, egyedinek kell lennie a bővítményben." -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "_Címke: " -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." @@ -7309,169 +7314,169 @@ "Egy címke mutatva lesz a paraméter által. Egy aláhúzott bemutatott mnemonic " "gyorsító." -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "_Típus: " -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "Paraméter típus (kijelölése a listából)." -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "Decimális _helyek: " -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "_Alapértelmezett érték: " -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "_Alapértelmezett: " -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "Gomb _csoport: " -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "A nem-nulla érték használható a csoport rádió gombokhoz." -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "_Minimum érték: " -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "_Maximum érték: " -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr " _Lépés méret: " -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "" "Mennyire van korrigálva a paraméter akkor, amikor a pörgöbomb nyilak le " "vannak nyomva." -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 #, fuzzy msgid "_Wrap value" msgstr "_Körbe: " -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "Ha az érték max->min és min->max." -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "_Értékek beállítása" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "Alapértelmezett _vörös: " -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "Alapértelmezett _zöld:" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "Alapértelmezett _kék: " -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "_Alapértelmezett beállítása" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "Alapértelmezett érték: " -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "Maximum hossz (karakterek): " -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 #, fuzzy msgid "New RFX Parameter Window Hint" msgstr "LiVES: - Új RFX paraméter ablak tipp" -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 #, fuzzy msgid "Edit RFX Parameter Window Hint" msgstr "LiVES: - RFX paraméter ablak tipp szerkesztése" -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "" -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "" -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "" -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "Sor: " -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "Kapcsolt paraméterek (%d): " -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "Kapcsolt paraméterek (4): " -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "Kapcsolt paraméterek (2): " -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 #, fuzzy msgid "New RFX Trigger" msgstr "LiVES: - Új RFX programindító" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 #, fuzzy msgid "Edit RFX Trigger" msgstr "LiVES: - RFX programindító szerkesztése" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "Mikor: " -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 #, fuzzy msgid "Pre Loop Code" msgstr "LiVES: - Elő ismétlődés kód" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 #, fuzzy msgid "Loop Code" msgstr "_Ismétlődés kód..." -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 #, fuzzy msgid "Post Loop Code" msgstr "LiVES: - Ismétlődés kód küldése" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, fuzzy, c-format msgid "Default text (max length %d)" msgstr "LiVES: - Alapértelmezett szöveg (max. hossz %d)" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 #, fuzzy msgid "Enter values, one per line" msgstr "LiVES: - Adj meg értékeket, soronként" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" @@ -7481,7 +7486,7 @@ "\n" "A név nem lehet üres.\n" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" @@ -7491,7 +7496,7 @@ "\n" "A név nem tartalmazhat szóközt.\n" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" @@ -7501,7 +7506,7 @@ "\n" "A menü szöveg nem lehet üres.\n" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" @@ -7511,7 +7516,7 @@ "\n" "A folyamat leírás nem lehet üres.\n" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" @@ -7521,7 +7526,7 @@ "\n" "A szerző rész nem lehet üres.\n" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -7533,7 +7538,7 @@ "Már létezik ezzel a névvel bővítmény.\n" "A névnek egyedinek kell lennie.\n" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" @@ -7543,7 +7548,7 @@ "\n" "Ismétlödő kód nem lehet üres.\n" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" @@ -7553,7 +7558,7 @@ "\n" "A programindító kódja nem lehet üres egy alkalmazásnak.\n" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" @@ -7563,7 +7568,7 @@ "\n" "A paraméter nem lehet üres.\n" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -7577,41 +7582,41 @@ "lennie a bővítményben.\n" "\n" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "%s parancsfájl írása..." -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "Nem találtam <define> részt a parancsfájlban.\n" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "Rossz parancsfájl verzió.\n" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "Nem találtam <name> szakaszt a parancsfájlban.\n" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "Nem találtam <version> szakaszt a parancsfájlban.\n" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "Nem találtam <author> szakaszt a parancsfájlban.\n" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "Nem találtam <description> szakaszt a parancsfájlban.\n" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "Rossz leírás. (%s)\n" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -7626,27 +7631,27 @@ "találtam a parancsfájlban.\n" "\n" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "Összes RFX parancsfájl újraépítése...builtin...." -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "Parancsfájlok újraépítése" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "egyéni..." -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "teszt..." -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "dinamikus menübejegyzések újraépítése..." -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -7659,7 +7664,7 @@ "A LiVES nem képes megtalálni a %s programot.\n" "Kérlek ellenőrizd a program elérhetőségét, és futtathatóságát.\n" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -7674,12 +7679,12 @@ "parancsfájlokat?\n" "\n" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "%s rfx parancsfájlok törlése..." -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -7694,7 +7699,7 @@ "parancsfájlt\n" "Hiba kód: %d\n" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -7709,12 +7714,12 @@ "már létezik.\n" "Először töröld ezt, vagy nevezd át.\n" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "%s rfx teszt bővítmény promotálása egyénire..." -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -7725,22 +7730,22 @@ "Return code was %d (%s)\n" msgstr "" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 #, fuzzy msgid "Export Script" msgstr "Parancsfájl exportálása ide..." -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "%s másolása ide: %s..." -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 #, fuzzy msgid "Import Script" msgstr "Parancsfájl importálása innen..." -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -7755,46 +7760,46 @@ "már létezik.\n" "Először töröld, vagy nevezd át az import parancsfájlt.\n" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 #, fuzzy msgid "Copy RFX Script" msgstr "LiVES: - RFX parancsfájl másolása" -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "" -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr " Parancsfájl: " -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 #, fuzzy msgid "Rename Test RFX Script" msgstr "_Teszt RFX szkript átnevezése..." -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "Parancsfájlból: " -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 #, fuzzy msgid "RFX Script Name" msgstr "LiVES: - RFX parancsfájl név" -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "Parancsfájl név: " -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "Új név: " -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "Új parancsfájl név: " -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -7806,12 +7811,12 @@ "Már létezik teszt parancsfájl ezzel a névvel.\n" "A parancsfájl nevének egyénileg kell lennie.\n" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "%s RFX teszt parancsfájl átnevezése erre: %s..." -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -7828,28 +7833,28 @@ "ide: %s\n" "A kód %d volt\n" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "_Azonnali effekt alkalmazása a kijelöléshez" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 #, fuzzy msgid "Applying Current Real Time Effects to" msgstr "_Azonnali effekt alkalmazása a kijelöléshez" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "%s effekt betöltése..." -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "" "Lásd: VJ - mutasd a VJ billentyűket. Állítsd be az azonnali effekteket, majd " "alkalmazd őket ott." -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -7861,7 +7866,7 @@ "A lejátszó bővítmények csak teljes képernyőn\n" "aktiválódnak, különálló ablak (fs) módban\n" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -7869,7 +7874,7 @@ "(Free space = UNKNOWN)" msgstr "" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -7878,14 +7883,14 @@ "(Free space = %s)" msgstr "" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" "It should be in a partition with plenty of free disk space.\n" msgstr "" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7896,7 +7901,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7906,7 +7911,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1193 +#: src/preferences.c:1163 #, fuzzy msgid "" "You have chosen to change the working directory.\n" @@ -7927,7 +7932,7 @@ "Más esetben nyomj 'Mégse'-t, hogy visszaállítsd az átmeneti könyvtárt az " "alap beállításra." -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, fuzzy, c-format msgid "" "\n" @@ -7940,7 +7945,7 @@ "jack-et.\n" "Lásd http://jackaudio.org\n" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" @@ -7948,7 +7953,7 @@ "\n" "A zene lejátszó váltás újraindítást igényel\n" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, fuzzy, c-format msgid "" "\n" @@ -7961,325 +7966,325 @@ "először fel kell telepíteni a pulseaudio-t.\n" "Bővebb info a http://www.pulseaudio.org oldalon található\n" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "PCM (magas minőségű, nagy méretű fájlok)" -#: src/preferences.c:2468 +#: src/preferences.c:2418 #, fuzzy msgid "Preferences" msgstr "_Beállítások..." -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "Maximalizált fájl kiválasztás megnyitása" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "Előző fájlok mutatása a fájl menüben" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "Képernyővédeő kikapcsolása a lejátszás alatt " -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "Maximalizált fő ablak mutatása" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "Mutasd az eszköztárat, ha a háttér üres" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "Klipek váltása az egérgörgővel" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "Indítási mód:" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "_Klip szerkesztő" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "_Multitrack mód" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "Multi-head támogatás" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr " LiVES felületéhez rendelt monitorok száma" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr " lejátszáshoz használt monitorok száma" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." msgstr "" -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "Csak egyetlen monitor" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "GUI" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "Amikor belépsz a multitrack módba:" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "" "_Értesíts a videó szélességi, hosszúsági értékeiről, fps-ről és a hang " "beállításokról" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "_Mindig a következő értékek használata:" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "Ugyanezen _értékek használata a klip megjelenítésénél is" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr " _Puffer méret visszavonása (MB) " -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "_Kilépés a multitrack módból a megjelenítés után" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "Automata háttérkimenetek" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "_Minden" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "másodpercben" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "Minden _váltás után" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "_Soha" -#: src/preferences.c:2872 +#: src/preferences.c:2757 #, fuzzy msgid "Maximum number of visible tracks" msgstr "Maximálisan megjelenített számok" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "Multitrack/renderelés" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "Instant megnyitás használata ha lehetséges" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "" "Néhány dekóder bővítményt használó fájl instant megnyitásának engedélyezése" -#: src/preferences.c:2925 +#: src/preferences.c:2804 #, fuzzy msgid "Video open command (fallback)" msgstr "Videó megnyitás parancs " -#: src/preferences.c:2935 +#: src/preferences.c:2811 #, fuzzy msgid "Fallback image format" msgstr "Alapértelmezett kép formátum " -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "_jpeg" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "_png" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "" -#: src/preferences.c:2964 +#: src/preferences.c:2832 #, fuzzy msgid "Open/render compression" msgstr "Tömörítés megnyitása/adása " -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr "" " % ( alacsonyabb = lassabb, hosszabb fájlok, jpeg-nek, magas minőség )" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "Automatikus deinterlacing engedélyezése, ha lehetséges" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "Automatikus deinterlace képkockák, amikor a bővítmény kéri" -#: src/preferences.c:2995 +#: src/preferences.c:2856 #, fuzzy msgid "Automatic trimming / padding of audio when possible" msgstr "Automatikus deinterlacing engedélyezése, ha lehetséges" -#: src/preferences.c:2997 +#: src/preferences.c:2858 #, fuzzy msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "Automatikus deinterlace képkockák, amikor a bővítmény kéri" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "" "Amikor összetett fájlokat nyitsz meg, akkor összefűzi a képeket egy klipbe" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "Dekódolás" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "VIDEO" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "Alacsony - kis teljesítményű gépekhez ajánlott" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "Normál - a legtöbb felhasználónak ez ajánlott" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "Magas - csak nagyon erős gépekhez ajánljuk" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "Előnézet _minősége" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "A videó lejátszás előnézeti minősége - hatással van az átméretezésre" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "_FPS statisztika mutatása" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "_Bővítmény" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "HANG" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "_Lejátszó" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "(Lásd még: Jack integrációs fül, a jack indítási opcióknál)" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "Hang lejátszás _parancs" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "- belső -" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "A hang követi a videó _arányt/irányt" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "A hang követi a _klip változásokat" -#: src/preferences.c:3269 +#: src/preferences.c:3110 #, fuzzy msgid "Source:" msgstr "Forrás: %s" -#: src/preferences.c:3273 +#: src/preferences.c:3114 #, fuzzy msgid "_Internal" msgstr "- belső -" -#: src/preferences.c:3278 +#: src/preferences.c:3119 #, fuzzy msgid "_External (requires jack or pulse audio player)" msgstr "" "Hang rögzítése külső ablak elkapásakor\n" "(jack vagy pulse audio szükséges hozzá)" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "Lejátszás" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" @@ -8287,74 +8292,74 @@ "Hang rögzítése külső ablak elkapásakor\n" "(jack vagy pulse audio szükséges hozzá)" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr " Mi legyen felvéve, amikor az 'r' le van nyomva " -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "_Képkocka változások" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "F_PS változások" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "_Azonnali effektek" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "_Klip váltók" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "Felvétel" -#: src/preferences.c:3454 +#: src/preferences.c:3273 #, fuzzy msgid "You can also change these values when encoding a clip" msgstr "Csak kattints az előnézetre az értékek megváltoztatásához" -#: src/preferences.c:3466 +#: src/preferences.c:3285 #, fuzzy msgid "Encoder" msgstr "Kódolás" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "Kimeneti formátum" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "Hang kodek" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "Kódolás" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "_antialiasing használata az átméretezés alatt" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "Azonnali effekt effekt gombjainak a száma" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." @@ -8362,96 +8367,96 @@ "A \"virtuális\" azonnali effekt billentyűk száma. Ezeket az azonnali effekt " "ablakon, vagy a (OSC) hálózaton keresztül lehet vezérelni." -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr " Videók helye (alapértelmezett) " -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr " Mentés helye (alapértelmezett) " -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr " Hangok lelőhelye :) (alapértelmezett) " -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr " Képek helye (alapértelmezett) " -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr " Mentés/helyreálltás mappa (alapértelmezett) " -#: src/preferences.c:3649 +#: src/preferences.c:3461 #, fuzzy msgid " Working directory (do not remove) " msgstr " Átmeneti könyvtár (ne távolítsd el) " -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "Az a könyvtár, ahonnan a videók alap esetben betöltődnek" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "Az a könyvtár, ahová alap esetben a kódolt klippek mentésre kerülnek" -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "Az a könyvtár, ahonnan betölti, illetve menti a hangokat a program" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "Az a könyvtár, ahová a pillanatképek mentésre kerülnek" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "Klippek biztonsági mentésére/helyreállítására szolgáló mappa" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "A LiVES munkakönyvtára" -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "Könyvtárak" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "" -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr "" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "" -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" @@ -8459,19 +8464,19 @@ "Figyelmeztess a beillesztésnél / összeolvasztásnál, ha a vágólapon lévő " "képarány nem egyezik a kiválasztással" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "Figyelmeztess megnyitásnál, ha a fájl _méret túl nagy " -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr " MB" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "Figyelmeztess mielőtt elmentenék egy beállítást" -#: src/preferences.c:3872 +#: src/preferences.c:3659 #, fuzzy msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " @@ -8480,71 +8485,71 @@ "Mutatnak figyelmeztetést, ha _mplayer, sox, composite vagy cnvert nem " "található, ha LiVES nem indul." -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "Figyelmeztess, ha az indításkor nem található _renderelési effekt." -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "Figyelmeztess, ha az indításkor nem találhatók _kódoló bővítmények." -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "Figyelmeztess, ha _kettőzött beállítás név kerül beírásra" -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "" "Ha egy beállítás betöltődik, akkor figyelmeztess, ha a klipek hiányoznak a " "_kimenetekből." -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "Figyelmeztess, ha egy klipet használó kimenetet készülök bezárni." -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "Figyelmeztess, ha egy klipet használó kimenetet készülök törölni." -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "Figyelmeztess, ha egy képkockákat használó kimenetről akarok váltani." -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "" "Figyelmeztess, ha egy képkockákat használó kimenetet akarok megváltoztatni." -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "Figyelmeztess, ha egy hangot használó kimenetet akarok törölni." -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "Figyelmeztess, ha egy hangot használó kimenetről akarok váltani." -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "Figyelmeztess, ha egy hangot használó kimenetet akarok megváltoztatni." -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "Kimeneti hibák kijelzése a változtatások után." -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "" "Figyelmeztess, ha egy elmentetlen kimenettel akarok kilépni a multitrack " "módból." -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "" "Figyelmeztess, ha a multitracknek nincs hangja, viszont egy kimenet hanggal " "be van töltve." -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." @@ -8552,234 +8557,234 @@ "Figyelmeztess, ha a multitrack rendelkezik hanggal és a lejátszó nem \"jack" "\" vagy \"pulse audio\"" -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "Üzenet megjelenítése a firewire eszközről való importálás után." -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "Figyelmeztetés yuv4mpeg adatfolyam megnyitása előtt (haladó)." -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "Figyelmeztetés helyszűkekor" -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "Lemez takarítási figyelmeztetés megjelenítése az összeomlás után." -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "" -#: src/preferences.c:4113 +#: src/preferences.c:3865 #, fuzzy msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "Figyelmeztetés yuv4mpeg adatfolyam megnyitása előtt (haladó)." -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "Figyelmeztetések" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "Midi szinkronizáció (midistart és midistop fájlok szükségesek)" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "Képkockák beillesztésénél/összefűzésénél: " -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "Beillesztés _gyorsítása/lassítása" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "_Beillesztés újramintázása" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "CD eszköz " -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "A LiVES képes betölteni számokat erről a CD-ről" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "Alapértelmezett FPS " -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "FPS lesz használva, ha nincs megadva más" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "Egyéb" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "Új téma: " -#: src/preferences.c:4242 +#: src/preferences.c:3977 #, fuzzy msgid "Main Theme Details" msgstr "_Részletek megjelenítése" -#: src/preferences.c:4254 +#: src/preferences.c:3988 #, fuzzy msgid " _Foreground Color" msgstr "_Háttér szine" -#: src/preferences.c:4273 +#: src/preferences.c:4007 #, fuzzy msgid " _Background Color" msgstr "_Háttér szine" -#: src/preferences.c:4291 +#: src/preferences.c:4026 #, fuzzy msgid "_Alt Foreground Color" msgstr "_Háttér szine" -#: src/preferences.c:4309 +#: src/preferences.c:4044 #, fuzzy msgid "_Alt Background Color" msgstr "_Háttér szine" -#: src/preferences.c:4327 +#: src/preferences.c:4062 #, fuzzy msgid " Info _Text Color" msgstr " _Magasság " -#: src/preferences.c:4346 +#: src/preferences.c:4081 #, fuzzy msgid " Info _Base Color" msgstr " _Magasság " -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "" -#: src/preferences.c:4365 +#: src/preferences.c:4100 #, fuzzy msgid "Affects some contrast details of the timeline" msgstr "" "Az effektek elhúzhatók\n" "a blokkokon az egész idővonalon." -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "" -#: src/preferences.c:4398 +#: src/preferences.c:4132 #, fuzzy msgid "Frame blank image" msgstr "_Képkocka változások" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "" -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4474 +#: src/preferences.c:4203 #, fuzzy msgid "Track background (multitrack)" msgstr "Üres háttér (b)" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "" -#: src/preferences.c:4529 +#: src/preferences.c:4258 #, fuzzy msgid "Timeline selection (multitrack)" msgstr "Idővonal (másodpercek)" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "" -#: src/preferences.c:4553 +#: src/preferences.c:4282 #, fuzzy msgid "Timecode foreground (multitrack)" msgstr "_Időkód a terület indításhoz" -#: src/preferences.c:4565 +#: src/preferences.c:4293 #, fuzzy msgid "Frame surround" msgstr "_Másodpercenkénti képkockák" -#: src/preferences.c:4582 +#: src/preferences.c:4306 #, fuzzy msgid "Themes/Colors" msgstr "Témák" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "Letöltés sávszélessége (Kb/mp) " -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "" "A LiVES-t \"configure --disable-OSC)\" nélkül kell beállítani az OMC " "használatához" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "OMC távvezérlés bekapcsolva" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "UDP Port " -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "OMC indítása program induláskor" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "Adatfolyam/hálózat" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "Jack átvitel" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" @@ -8787,44 +8792,44 @@ "A jack átvitel használatáshoz a LiVES-t a jack/transport.h és jack/jack " "opcióval kell beállítani" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "Jack _átvitel beállításfájlja" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "_Szerver indítása a LiVES indulásakor" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "Jack átvitel _mester (indítás és leállítás)" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "Jack átvitel _kliens (indítás és leállítás)" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "Jack átvitel beállítások induló pozíciója" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "(Lásd még: Lejátszás -> Hang kövesse a videó arányt/irányt)" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "Jack hang" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "" "A jack hang használatához a LiVES-t a jack/jack.h opcióval kell beállítani" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" @@ -8832,80 +8837,80 @@ "A zenelejátszót a lejátszó ablakban a \"jack\"-re kell beállítanod a jack " "hang használatához" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "Jack _hangszerver konfig fájl" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "Hang lejátszása az átvitel _szüneteltetésekor" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "Jack integráció" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "Események jelentése itt:" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "_Joystick műveletek" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "_Joystick eszköz" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "A joystick eszköz, Pl.: /dev/input/js0" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "_MIDI műveletek" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "_ALSA MIDI használata (ajánlott)" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "" "ALSA MIDI port létrehozása, ahová más MIDI eszközöket lehet csatlakoztatni" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "_raw MIDI használata" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "Közvetlenül a MIDI eszközről olvass be" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "_MIDI eszköz" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "A MIDI eszköz Pl.: /dev/input/midi0" -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "Haladó" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "MIDI ellenőrzési _időköz" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." @@ -8913,24 +8918,24 @@ "MIDI ellenőrzések száma a billentyűzet leütésének arányában. Lelassíthatja a " "lejátszást." -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "MIDI ismétlés" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "Az olvasatlanok mennyisége a beolvasottak között." -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "" "(Figyelmeztetés: az érték túl magasra állítása lelassíthatja a lejátszást.)" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "MIDI/joystick gyorstalpaló" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -8942,42 +8947,42 @@ "lépéséhez.\n" "Nyomj 'OK'-t a folytatáshoz.\n" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." msgstr "" -#: src/preferences.c:5525 +#: src/preferences.c:5205 #, fuzzy msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "A téma változások csak a LiVES következő indításakor lépnek érvénybe." -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "A jack beállítások csak a LiVES következő indításakor lépnek érvénybe." -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "A külső képkocka arány szinkronizálása %.8f fps-re.\n" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "Nem tudom azonosítani az OSC fogadót\n" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "FIGYELMEZTETÉS: Nem tudom elindítani az OSC szervert a %d UDP porton\n" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "OSC szerver elindítva a %d UDP porton\n" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "Nem tudom elindítani az OSC/UDP szervert a %d porton \n" @@ -9000,12 +9005,12 @@ msgid "Resample/Resize" msgstr "Újramintázás/átméretezés" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "A videó hossza most %d képkocka.\n" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" @@ -9015,152 +9020,152 @@ "\n" "Az új aránynak 0-nál nagyobbnak kell lennie\n" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "Hang újramintázása" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "LiVES nem képes a kért módon újramintázni a hangot.\n" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "Hang újramintázása" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "Hang újramintázva erre: %d Hz, %d csatorna, %d bit" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "Videó újramintázása %.8f fps-re..." -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "Videó újramintázása %.3f fps-re..." -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "Újrarendezés hiba!\n" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "Újramintáz" -#: src/resample.c:1208 +#: src/resample.c:1209 #, fuzzy msgid "New Clip Audio" msgstr "Új hang" -#: src/resample.c:1210 +#: src/resample.c:1211 #, fuzzy msgid "External Clip Settings" msgstr "LiVES: - Külső klip beállítások" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "Jelenlegi" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "Frekvencia (Hz) " -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 #, fuzzy msgid "Channels" msgstr " Csatornák " -#: src/resample.c:1256 +#: src/resample.c:1257 #, fuzzy msgid "Sample Size " msgstr " Minta méret " -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "Digitálisan aláírt" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "Aláíratlan" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "Kicsi endian" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "Nagy endian" -#: src/resample.c:1322 +#: src/resample.c:1323 #, fuzzy msgid "New Audio Details" msgstr "Új hang" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "Új" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "_Hang engedélyezése" -#: src/resample.c:1369 +#: src/resample.c:1370 #, fuzzy msgid "_Channels" msgstr " _Csatornák " -#: src/resample.c:1391 +#: src/resample.c:1392 #, fuzzy msgid "_Sample Size" msgstr " _Minta méret " -#: src/resample.c:1391 +#: src/resample.c:1392 #, fuzzy msgid "Sample Size" msgstr " Minta méret " -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "_Másodpercenkénti képkockák (FPS) " -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "Maximális felvétel: " -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr " óra " -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr " perc " -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr " másodperc " -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "Korlátlan" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "A felvétel kezdéséhez nyomj 'Ok'-t, vagy 'Mégse'-t a kilépéshez." -#: src/resample.c:1635 +#: src/resample.c:1636 #, fuzzy msgid "Change Playback Speed" msgstr "_Lejátszási/mentési sebesség megváltoztatása..." -#: src/resample.c:1637 +#: src/resample.c:1638 #, fuzzy msgid "Resample Video" msgstr "Videó újramintázása" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -9177,7 +9182,7 @@ "Kérlek add meg a kívánt sebesség értéket\n" "_fps-ben" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -9194,15 +9199,15 @@ "Kérlek add meg az _újramintázott sebesség\n" "értéket fps-ben" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "VAGY add meg a kívánt klip hosszúságát _másodpercben" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "_Hang sebességének megváltoztatása, amennyire lehet" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" @@ -9212,7 +9217,7 @@ "A klip felgyorsítása hiányzó képkockákat eredményezhet.\n" "Biztosan meg szeretnéd változtatni a sebességet?\n" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" @@ -9222,49 +9227,49 @@ "A klip felgyorsítása hiányzó hangokat eredményezhet.\n" "Biztosan meg szeretnéd változtatni a sebességet?\n" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "Sebesség módosítása" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "" "A lejátszás sebességének megváltoztatása %.3f fps-re, a hangot pedig %d Hz-" "re.\n" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "A lejátszás sebességének megváltoztatása %.3f fps-re.\n" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "Videó újramintázása" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "Vágólap-videó újramintázása" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "Képkockák újrarendezése" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" @@ -9274,11 +9279,11 @@ "\n" "A LiVES nem képes újrarendezni a képkockákat." -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "Képkockák visszarendezése" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "újramintavételezési hiba..." @@ -9542,7 +9547,7 @@ msgid "Mode active" msgstr "Mód aktív" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "Információ" @@ -9670,48 +9675,48 @@ msgid "Opened firewire card %d" msgstr "" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "Automatikus biztonsági mentés" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "Háttérzene" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, fuzzy, c-format msgid "%s : parameters for %s" msgstr "Nincsenek paraméterek" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "Jelenlegi szám: %s (%d réteg)\n" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "Jelenlegi szám: Háttér hang\n" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "Aktuális szám: %d réteg hang\n" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "%.2f mp.\n" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "Forrás: %s" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "Jobb gomb a tartalom menüért.\n" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." @@ -9719,7 +9724,7 @@ "Kijelöléshez kattints kétszer\n" "a blokkra." -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -9728,7 +9733,7 @@ "right or double clicking on it.\n" msgstr "" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -9736,7 +9741,7 @@ "Select an effect in FX stack first to view its parameters.\n" msgstr "" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" @@ -9746,7 +9751,7 @@ "\n" "Nincsenek klipek betöltve.\n" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -9756,7 +9761,7 @@ "before inserting clips into the timeline." msgstr "" -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -9770,12 +9775,12 @@ "kell kijelölnöd a kompozitorok\n" "alkalmazásához.\n" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "%.2f mp-től %.2f mp-ig.\n" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" @@ -9783,12 +9788,12 @@ "Egyszerű kattintás az idővonalra\n" "a képkocka kiválasztásához.\n" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" @@ -9796,155 +9801,155 @@ "Csak egy klikk, és már húzhatod\n" "is alul az idővonalon" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr ", hogy kijelölj egy idő területet.\n" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 #, fuzzy msgid "Selected Clip" msgstr "LiVES: Kijelölt klip" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 #, fuzzy msgid "_Adjust Start and End Points" msgstr "_Kezdő és végpont meghatározása" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 #, fuzzy msgid "_Edit/Encode in Clip Editor" msgstr "_Szerkesztés/kódolás a klip szerkesztőben" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 #, fuzzy msgid "_Show Clip Information" msgstr "_Klip információk megjelenítése" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 #, fuzzy msgid "_Close this Clip" msgstr "_Klip bezárása" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 #, fuzzy msgid "Audio Mixer (ctrl-m)" msgstr "Keverő (ctrl-m)" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "Egy kattintás az idővonalon" -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "egy képkocka kijelöléséhez." -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "" -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "egy blokk kijelöléslhez." -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "A klipek kiemelhetők/mozgathatók" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "az idővonalon." -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "Egér mód most: Mozgatás" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "a klipek ide-oda mozgathatók." -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "Egér mód most: Kijelöl." -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "Húzd az egérrel az idővonalon" -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "számok és az idő kijelöléséhez." -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "Az _első hézag(ok) bezárása a kijelöltekben" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "Hézagok bezárása" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "Tömb mozgatása" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "Hang tömb mozgatása" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "Blokk törlése" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "Hang blokk törlése" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "Megosztott számok" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "Megosztott tömbök" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "Alkalmaz %s" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "%s törlése" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "Tömb beszúrása" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "Beszúrás" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "Hang blokk beszúrása" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "Effekt utasítás változás" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "aláíratlan " -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "aláírt " -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " @@ -9953,15 +9958,15 @@ "Multitrack értékek beálítva erre: %.3f fps, képkocka méret %d x %d, hang " "csatornák %d, hang arány %d, hang minta méret %d, %s.\n" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "érvénytelen esemény lista. Sikertelen.\n" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "esemény lista érvénytelen fps-t tartalmaz. Sikertelen.\n" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -9976,7 +9981,7 @@ "zárd be az aktuális beállítást,\n" "majd töltsd be az újat a fájl menüből.\n" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -9987,406 +9992,406 @@ "Ez egy LiVES számára érvénytelen hang (%d) csatorna számot tartalmaz.\n" "Nem lehet betölteni.\n" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "Kimenet törölve.\n" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "Be/ki" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "FX halom" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "Paraméterek." -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "_Megnyitás..." -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "_Kijelölt fájl megnyitása..." -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "Importálás innen: _dvd/vcd..." -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "Importálás innen: _dvd" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "Importálás innen: _vcd" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "_Importálás eszközről" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 #, fuzzy msgid "_Close the Selected Clip" msgstr "_Kijelölt klip bezárása" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 #, fuzzy msgid "_Save Layout as..." msgstr "_Kimenet mentése mint..." -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 #, fuzzy msgid "_Load Layout..." msgstr "_Szerkezet betöltése" -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 #, fuzzy msgid "_Wipe/Delete Layout..." msgstr "_Törlés/kimenet törlése..." -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 #, fuzzy msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "" "_Szélesség, magasság és hang értékek figyelmen kívűl hagyása az elmentett " "kimenetben" -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 msgid "Auto Load _Subtitles with Clips" msgstr "" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "_KLIP SZERKESZTŐ" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 #, fuzzy msgid "_Adjust Selected Clip Start/End Points" msgstr "_Kiválasztott klip kezdő/végpontjának meghatározása" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "_Kijelölt klip beillesztése" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 #, fuzzy msgid "_Insert Selected Clip Audio" msgstr "_Kijelölt hang beillesztése" -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 #, fuzzy msgid "_Delete Selected Block" msgstr "_Kijelölt tömb törlése" -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 #, fuzzy msgid "_Jump to Previous Block Boundary" msgstr "_Ugrás az előző tömb határra" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 #, fuzzy msgid "_Jump to Next Block Boundary" msgstr "_Ugrás a következő tömb határra" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 #, fuzzy msgid "Clear _Marks from Timeline" msgstr "_Kijelölések eltávolítása az idővonalról" -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 #, fuzzy msgid "Ignore Selection Limits when Inserting" msgstr "Kijelölési limit mellőzése beillesztéskor" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "_Lejátszás innen: Idővonal pozíció" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 #, fuzzy msgid "Pla_y Selected Time Only" msgstr "_Kijelöltek lejátszása" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 #, fuzzy msgid "_Move Effects with Blocks" msgstr "_Effektek mozgatása a tömbökkel" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 #, fuzzy msgid "Select _Autotransition Effect..." msgstr "_Utolsó effekt kiválasztása" -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 #, fuzzy msgid "Crossfade Audio with Autotransition" msgstr "Hang a hangban" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 #, fuzzy msgid "View/_Edit Selected Effect" msgstr "Kijelölt effekt megtekintése/_szerkesztése" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 #, fuzzy msgid "_Delete Selected Effect" msgstr "_Kijelölt effekt eltávolítása" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 #, fuzzy msgid "Apply Effect to _Block..." msgstr "Effekt alkalmazása a _tömbre..." -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 #, fuzzy msgid "Apply Effect to _Region..." msgstr "Effekt alkalmazása a _területre..." -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "_Sávok" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 #, fuzzy msgid "Make _Backing Audio Current Track" msgstr "_Háttér zene készítése az aktuális számból" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "Videó sáv hozzáadás _hátra" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "Videó sáv hozzáadás _előre" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 #, fuzzy msgid "_Split Current Track at Cursor" msgstr "_Sáv szétválasztása a kurzornál" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 #, fuzzy msgid "_Split Selected Video Tracks" msgstr "_Kijelölt videó sávok szétválasztása" -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 #, fuzzy msgid "Insert Gap in Selected Tracks/Time" msgstr "Hézag beillesztése a kijelölt számba" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 #, fuzzy msgid "Insert Gap in Current Track/Selected Time" msgstr "Hézag beszúrása a kijelölt számba/kiválasztott időnél" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 #, fuzzy msgid "Close All _Gaps in Selected Tracks/Time" msgstr "Minden _hézag bezárása a kijelöltekben" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "Ki_jelölés" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "_Jelenlegi sáv kiválasztása" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 #, fuzzy msgid "Select _All Video Tracks" msgstr "_Minden videó kijelölése" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 #, fuzzy msgid "Select _No Video Tracks" msgstr "_A _nem videók kijelölése" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 #, fuzzy msgid "Select All _Time" msgstr "Teljes _idő kijelölése" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 #, fuzzy msgid "Select from _Zero Time" msgstr "Kjelölés a _zero ponttól" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 #, fuzzy msgid "Select to _End Time" msgstr "Kijelölés a _záró pontig" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "_Másolás..." -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 #, fuzzy msgid "_Timecode to Region Start" msgstr "_Időkód a terület indításhoz" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 #, fuzzy msgid "_Timecode to Region End" msgstr "_Időkód a terület végéhez" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 #, fuzzy msgid "_Region Start to Timecode" msgstr "_Terület indítás az időkódhoz" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 #, fuzzy msgid "_Region End to Timecode" msgstr "_Terület vég az időkódhoz" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 #, fuzzy msgid "Select/Deselect Block at Current Track/Time" msgstr "_Jelenlegi sáv kiválasztása" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 #, fuzzy msgid "_Change Width, Height and Audio Values..." msgstr "_Szélességi, magassági és hang értékek módosítása..." -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "_Elkészítés" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 #, fuzzy msgid "_Render All to New Clip" msgstr "_Mindet új klipbe" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 #, fuzzy msgid "Render _Video" msgstr "_video elkészítése" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 #, fuzzy msgid "Render _Audio" msgstr "_hang átalakítása" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 #, fuzzy msgid "_Normalise Rendered Audio" msgstr "_Hang visszaállítása" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 #, fuzzy msgid "_Pre-render Audio" msgstr "_Hang visszaállítása" -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "_Nézet" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 #, fuzzy msgid "Block _In/Out Points" msgstr "Tömb _be/ki pontjai" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 #, fuzzy msgid "_Effects at Current" msgstr "_Effektek - jelenlegi" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 #, fuzzy msgid "Audio Parameters" msgstr "_Hang paraméterek" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 #, fuzzy msgid "Show Backing _Audio Track" msgstr "_Háttér hang sáv mutatása" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 #, fuzzy msgid "Compact View" msgstr "Apró nézet" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 #, fuzzy msgid "Maximum Tracks to Display..." msgstr "Maximális megjelenített sáv..." -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 #, fuzzy msgid "Scroll to Follow Playback" msgstr "Görgetés a lejátszás követéséhez" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 #, fuzzy msgid "_Center on Cursor" msgstr "_Közép a kurzoron" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 #, fuzzy msgid "_Zoom In" msgstr "_Nagyítás" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 #, fuzzy msgid "_Zoom Out" msgstr "_Kicsinyítés" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 #, fuzzy msgid "Multitrack _Details" msgstr "Multitrack _részletek" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "_Esemény ablak" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "_Folyamat ablak (csak a kijelölt ideig)" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 #, fuzzy msgid "_Show FRAME Events" msgstr "_KÉPKOCKA események megjelenítése" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 #, fuzzy msgid "_Show Multitrack Keys" msgstr "_Multitrack billentyűk mutatása" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "Hiba bejelentése" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 #, fuzzy msgid "Insert With _Audio" msgstr "Beillesztés _hanggal" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "" "Kiválaszthatod, hogy a videók a hangjukkal együtt legyenek beillesztve/" "mozgatva, vagy azok nélkül" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 #, fuzzy msgid "Select _Overlap" msgstr "_Átfedés kiválasztása" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" @@ -10394,90 +10399,90 @@ "Beállíthatod, hogy az kijelölt idővonalbilincsek átfedést biztosítsanak a " "kijelölt számok között vagy sem" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "Kitöltött nézet (d)" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "Apró nézet (d)" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "_Gravitáció/súlyosság: _Normál" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "_Gravitáció/súlyosság: _Bal" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "_Gravitáció/súlyosság: _Jobb" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 #, fuzzy msgid "Mouse Mode: _Move" msgstr "Egér mód: _Mozgatás" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 #, fuzzy msgid "Mouse Mode: _Select" msgstr "Egér mód: _Kijelölés" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 #, fuzzy msgid "Insert Mode: _Normal" msgstr "Illesztési mód: _Normál" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "_Alkalmaz" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "Idő" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "_Tartalom törlése" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "_Következő tartalom" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "_Előző tartalom" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "_Lejátszás visszafelé " -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "_Sebesség " -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "_Indítási pont" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "Kezdőpont lefixálása az idővonalon" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "Horgony _vége" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "A végpont megadása az idővonalon" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "Görgetés" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" @@ -10487,95 +10492,95 @@ "==============================\n" "Klip szerkesztő módba váltott\n" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "Idővonal (másodpercek)" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr " Háttér hang" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr " %d hang réteg" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "Hang információinak megjelenítése/eérejtése" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "%d hang réteg" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "%s (réteg %d)" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "Szám kiválasztása" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "Hang megjelenítése/elrejtése" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "Videó %d" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr " %s" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 #, fuzzy msgid "Selected Effect" msgstr "_Utolsó effekt kiválasztása" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 #, fuzzy msgid "_View/Edit this Effect" msgstr "_Nézet/effekt szerkesztése" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 #, fuzzy msgid "_View this Effect" msgstr "_Effekt megtekintése" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 #, fuzzy msgid "_Delete this Effect" msgstr "_Effekt törlése" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "Nem lehet beszúrni után ez a hatás" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "Ez a hatás nem lehet mozgatni" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr " %d-tól %d-ig kijelölt " -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "%.2f mp." -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "%d képkockák" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" @@ -10585,19 +10590,19 @@ "==============================\n" "Váltás Multitrack módra\n" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "Húzd oda az idő csúszkát ahol" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "be szeretnéd állítani az effekt paramétereit" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "Állítsd be az értékeket, majd nyomd meg az \"Alkalmaz\" gombot\n" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" @@ -10607,51 +10612,51 @@ "a paraméterek be lettek állítva.\n" "A Nodes törölhető." -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "Az effektnek nincsenek értékei.\n" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "%s kimenet" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "%d réteg" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "zene szám" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "%s és %s között" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "_Előző szűrő térkép" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "Beszúrás _előtte:" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "Beszúrás _utána" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "_Következő szűrő térkép" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -10663,7 +10668,7 @@ "Nincs effekt a jelenlegi klipnél,\n" "és időnél.\n" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" @@ -10673,7 +10678,7 @@ "bárhol ahhoz, hogy\n" "alkalmazhasd a kijelölt területrre." -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" @@ -10683,7 +10688,7 @@ "bárhol ahhoz, hogy\n" "alkalmazhasd a kijelölt területrre." -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." @@ -10691,67 +10696,67 @@ "Az effektek elhúzhatók\n" "a blokkokon az egész idővonalon." -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 #, fuzzy msgid "Selected Block/Frame" msgstr "LiVES :Kijelölt tömb/képkocka" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 #, fuzzy msgid "_Select this Block" msgstr "_Tömb kiválasztása" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 #, fuzzy msgid "_Split Block Here" msgstr "_Tömb szétválasztása itt" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 #, fuzzy msgid "List _Effects Here" msgstr "_Effektek listázása itt" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "_Igazítás %s" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 #, fuzzy msgid "_Delete this Block" msgstr "_Tömb törlése" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 #, fuzzy msgid "_Insert Here" msgstr "_Beszúrás ide" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 #, fuzzy msgid "_Insert Audio Here" msgstr "_Hang beszúrása ide" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "Beillesztett hézag a kijelölt számokban innentől: %.4f , idáig: %.4f\n" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "Beillesztett hézag itt: %s innentől: %4.f , idáig: %.4f\n" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "%s vissza\n" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "%s újra\n" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" @@ -10759,72 +10764,72 @@ "\n" " (változó)" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "%s sáv" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "%s és %s sávok" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "kijelölt sávok" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "Hozzáadva %s %s eddig %s innen: %.4f eddig %.4f\n" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "%s effekt hozzáadása a%s sávhoz innentől: %.4f idáig %.4f\n" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, fuzzy, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "Hozzáadva %s %s eddig %s innen: %.4f eddig %.4f\n" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "renderelt %d képkockák az új kliphez.\n" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "Takarítás..." -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, fuzzy, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "Hozzáadva %s %s eddig %s innen: %.4f eddig %.4f\n" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, fuzzy, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "Hang törlése %.2f-től %.2f másodpercig..." -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "_Szünet" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "Szünet (p)" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "Nyomd meg az 'm'-et a lejátszás alatt" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "hogy kijelölést tehess az idővonalra" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " @@ -10833,7 +10838,7 @@ "Beillesztett %.4f hang ide: %.4f a %s klipből háttér hangnak a %.4f időtől, " "idáig: %.4f\n" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" @@ -10841,7 +10846,7 @@ "Beillesztett %d képkockák ide:%d, %s klipből, a %s sávba a %.4f-től a %.4f-" "ig\n" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" @@ -10850,7 +10855,7 @@ "%.3f -től %.3f -ig\n" "kijelölve.\n" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" @@ -10858,12 +10863,12 @@ "egy vagy több sáv kiválasztása\n" "egy terület létrehozásához.\n" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "%d videó sávok kijelölve.\n" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." @@ -10871,7 +10876,7 @@ "Dupla katt az idővonalo\n" "a kijelölés megszüntetéséhez." -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." @@ -10879,7 +10884,7 @@ "Kattints az effektre a\n" "kijelöléséhez." -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." @@ -10887,7 +10892,7 @@ "Kattints duplán az effektre\n" "a szerkesztéséhez." -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" @@ -10895,7 +10900,7 @@ "Jobb egér gomb megnyomásával\n" "a context menübe lépsz.\n" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" @@ -10903,21 +10908,21 @@ "Az effekt utasítások megváltoztathatóak a\n" "SZŰRŐ TÉRKÉPEKNÉL" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" msgstr "" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "vagy a BEILLESZTÉS UTÁNA gombot a mozgatásához." -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "Kattints egy másik effektre," -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" @@ -10925,51 +10930,51 @@ "és a kiválasztott\n" "beillesztésre kerül" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "ez után.\n" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "ez előtt.\n" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "%s effekt paraméterértékeinek eltávolítása a %.4f időnél\n" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "Paraméter értékek beállításai erre: %s %s a %s-en %.4f-kor\n" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "_Autoújratöltés minden egyes alkalommal" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 #, fuzzy msgid "Saving layout" msgstr "_Kimenet mentése" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "Kimenet mentése mint:%s\n" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "klipek és képkockák" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "klipek" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "képkockák" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" @@ -10977,7 +10982,7 @@ "\n" "Kimenet automatikus újratöltése.\n" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -10988,11 +10993,11 @@ "Néhány %s hiányzik a(z) %s kimenetből\n" "Ezért nem lehet megfelelően betölteni.\n" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "automatikus biztonsági mentés" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" @@ -11001,31 +11006,31 @@ "\n" "Nem lehet betölteni a %s kimeneti fájlt\n" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "Kimenet betöltése innen: %s...." -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "%d események vannak...feldolgozás..." -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "Folyamat lista ellenőrzése és újratöltése" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "%d hibákat találtam.\n" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "Multitrack fps beállítása erre: %.3f\n" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 #, fuzzy msgid "" "The current layout has changes which have not been saved.\n" @@ -11034,20 +11039,20 @@ "A jelenlegi kimenet még nincs elmentve.\n" "Mit szeretnél tenni?\n" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 #, fuzzy msgid "Multitrack Audio Mixer" msgstr "LiVES: Multitrack hangkeverő" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "_Értékek visszaállítása" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "_Keverő bezárása" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" @@ -11055,15 +11060,15 @@ "_Háttér hang\n" "és szűrő hangértékek felcserélése" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "Háttér hang és hangréteg értékek megadása, amely összesen 1.0 lehet" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "_Gang hang réteg" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "Minden hang réteg értékének beállítása ugyanarra az értékre" @@ -11089,7 +11094,7 @@ "Connection to jack audio was reset.\n" msgstr "" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -11097,7 +11102,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -11105,7 +11110,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:104 +#: src/pulse.c:105 #, fuzzy msgid "" "\n" @@ -11117,27 +11122,27 @@ "illetve \"pulse audio\" lejátszókkal lehetséges.\n" "Ezt beállíthatod az Eszközök|Beállítások|Lejátszás menüben." -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" msgstr "" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" msgstr "" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "összefogatlan" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr "összefogott"
View file
LiVES-2.8.4.tar.bz2/po/it.po -> LiVES-2.8.6.tar.bz2/po/it.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: lives\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" "PO-Revision-Date: 2013-03-14 12:31+0000\n" "Last-Translator: Launchpad Translations Administrators <Unknown>\n" "Language-Team: Italian <it@li.org>\n" @@ -18,7 +18,7 @@ "X-Launchpad-Export-Date: 2013-03-28 10:43+0000\n" "X-Generator: Launchpad (build 16546)\n" -#: src/main.c:132 +#: src/main.c:125 msgid "" "Attention Translators !\n" "This message is intended for you, so please do not translate it.\n" @@ -27,22 +27,22 @@ "http://lives-video.com/TRANS-README.txt" msgstr "" -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "" -#: src/main.c:203 +#: src/main.c:197 #, fuzzy, c-format msgid "" "\n" @@ -56,7 +56,7 @@ "group_id=64341&atid=507139\n" "Grazie. Dovrebbe essere possibile un recupero se riavvii LiVES.\n" -#: src/main.c:205 +#: src/main.c:199 #, fuzzy, c-format msgid "" "\n" @@ -69,7 +69,7 @@ "Durante la segnalazione di crash, fornisci informazioni sul tuo sistema " "operativo, la distribuzione e la versione di LiVES (" -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" @@ -77,7 +77,7 @@ "e qualsiasi altra informazione mostrata qua sotto:\n" "\n" -#: src/main.c:210 +#: src/main.c:204 #, fuzzy msgid "" "Please try running LiVES with the -debug option to collect more " @@ -88,7 +88,7 @@ "informazioni.\n" "\n" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" @@ -98,90 +98,90 @@ "informazioni.\n" "\n" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "Preservazione del set in corso.\n" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "Qualsiasi" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "Nessuno" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "consigliato" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "disabilitato !" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "**Il layout corrente**" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "Integrato" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "Personalizzato" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "Test" -#: src/main.c:474 +#: src/main.c:460 #, fuzzy msgid "LiVES: - " msgstr "LiVES: - Unisci" -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "Ridimensionamento" -#: src/main.c:731 +#: src/main.c:708 #, fuzzy msgid "_Resize All Frames..." msgstr "_Ridimensiona tutti i fotogrammi" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "" -#: src/main.c:1122 +#: src/main.c:1094 #, fuzzy msgid "Background" msgstr "Sfondo _Vuoto" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "Caricamento dei plugin degli effetti in tempo reale in corso..." -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "Avvio del server audio jack in corso..." -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "" -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "" -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -193,35 +193,35 @@ "Alternatively, try to start lives with either \"lives -jackopts 16\", or " msgstr "" -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "Avviando il server audio pulse..." -#: src/main.c:1855 +#: src/main.c:1813 #, fuzzy, c-format msgid "%s...detected... " msgstr "mplayer...rilevato..." -#: src/main.c:1856 +#: src/main.c:1814 #, fuzzy, c-format msgid "%s...NOT DETECTED... " msgstr "mplayer...NON RILEVATO..." -#: src/main.c:1867 +#: src/main.c:1824 #, fuzzy msgid "Checking optional dependencies: " msgstr "Controllo delle dipendenze opzionali in corso:" -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -232,53 +232,53 @@ "\n" "Il gestore delle finestre riporta come \"%s\"; " -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "numero di monitor rilevati: %d\n" -#: src/main.c:1901 +#: src/main.c:1863 #, c-format msgid "Number of CPUs detected: %d " msgstr "" -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "piccolo endian" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "grosso endian" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "" -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1927 +#: src/main.c:1889 #, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr "" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "La directory temporanea è %s\n" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" @@ -288,15 +288,15 @@ "o a jack o pulse audio.\n" "Molte funzioni audio non saranno disponibili.\n" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "Compilato con il supporto jack, bene !\n" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "Compilato con il supporto pulse audio, magnifico !\n" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" @@ -305,7 +305,7 @@ "Benvenuti in LiVES versione %s.\n" "\n" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" @@ -314,91 +314,91 @@ "\n" "La sintassi dell'avvio è: %s [opts] [filename [start_time] [frames]]\n" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "" "Dove: filename è il nome di un file multimediale o un file di backup.\n" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "start_time : tempo di avvio di filename in secondi\n" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "frames : numero massimo di fotogrammi da aprire\n" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "opts può essere:\n" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "-help : mostra questo testo di aiuto ed esce\n" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "-set <setname> : carica automaticamente il nome set del set clip\n" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "-noset : non caricare nessun set all'avvio\n" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "-norecover : forza il non-caricamento del recupero da un crash\n" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "-recover : forza il caricamento del recupero da un crash\n" -#: src/main.c:2593 +#: src/main.c:2545 msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "-nogui : non mostrare la gui\n" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "-startup-ce : avvia in modalità editor clip\n" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "-startup-mt : avvia in modalità multi-traccia\n" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" msgstr "" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "-oscstart <port> : avvia l'ascoltatore OSC sulla porta UDP <port>\n" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "-nooscstart : non avviare l'ascoltatore OSC\n" -#: src/main.c:2605 +#: src/main.c:2557 #, fuzzy msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " @@ -408,15 +408,15 @@ "mplayer" #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr ", pulse" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr ", sox o jack\n" -#: src/main.c:2613 +#: src/main.c:2565 #, fuzzy msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " @@ -428,31 +428,31 @@ "trasporto jack, 8 = metti in pausa l'audio quando il video è in pausa, 16 = " "avvia il server audio jack] \n" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr " oppure sox\n" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "" "-mappa dispositivo <mapname> : carica automaticamente la mappa del " "dispositivo\n" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" msgstr "" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "-debug : prova a risolvere dei crash\n" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "Avviamento della GUI in corso..." -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -463,7 +463,7 @@ "(Maybe you need to change the value of <prefix_dir> in your %s file)\n" msgstr "" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -471,7 +471,7 @@ "Please make sure you have write access to %s and try again.\n" msgstr "" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -485,7 +485,7 @@ "Per piacere riguarda il file LEGGIMI che è arrivato con questo pacchetto\n" "prima di avviare LiVES.\n" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -495,7 +495,7 @@ "Please check the file permissions for this file and try again.\n" msgstr "" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -506,7 +506,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -514,7 +514,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2737 +#: src/main.c:2689 #, fuzzy, c-format msgid "" "\n" @@ -524,7 +524,7 @@ "%s" msgstr "LiVES non è stato in grado di catturare questa finestra. Spiacente.\n" -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -542,7 +542,7 @@ "\n" "Grazie.\n" -#: src/main.c:2751 +#: src/main.c:2703 #, fuzzy msgid "" "\n" @@ -553,7 +553,7 @@ "LiVES attualmente richiede o 'mplayer' o 'sox' per funzionare. Per piacere " "installa uno o l'altro di questi, e prova ancora.\n" -#: src/main.c:2756 +#: src/main.c:2708 #, fuzzy msgid "" "\n" @@ -564,7 +564,7 @@ "LiVES attualmente richiede o 'mplayer' o 'sox' per funzionare. Per piacere " "installa uno o l'altro di questi, e prova ancora.\n" -#: src/main.c:2769 +#: src/main.c:2721 #, fuzzy msgid "" "\n" @@ -575,7 +575,7 @@ "LiVES non è stato in grado di trovare 'mplayer'. Dovresti installare mplayer " "per utilizzare LiVES in maniera più completa.\n" -#: src/main.c:2775 +#: src/main.c:2727 #, fuzzy msgid "" "\n" @@ -586,7 +586,7 @@ "LiVES non è stato in grado di trovare 'mplayer'. Dovresti installare mplayer " "per utilizzare LiVES in maniera più completa.\n" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" @@ -596,7 +596,7 @@ "LiVES non è stato in grado di trovare 'convert'. Dovresti installare convert " "e image-magick se vuoi usare effetti renderizzati.\n" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " @@ -606,7 +606,7 @@ "LiVES non è stato in grado di trovare 'composite'. Dovresti installare " "composite e image-magick se vuoi utilizzare la funzione di fusione.\n" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " @@ -616,7 +616,7 @@ "LiVES non è stato in grado di trovare 'sox'. Alcune funzioni audio " "potrebbero non funzionare. Dovresti installare 'sox'.\n" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -627,63 +627,63 @@ "You may need to change the value of <lib_dir> in %s\n" msgstr "" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "Caricando i plugin degli effetti renderizzati..." -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "Autocaricamento del set %s in corso..." #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "Lettore audio %s non valido\n" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <Senza titolo%d> %dx%d : %d fotogrammi %d bpp %.3f fps" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : ??? fotogrammi ??? bpp %.3f fps" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : %d fotogrammi %d bpp %.3f fps" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "LiVES-%s: <Nessun File>" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "rec %9d/%d" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "!rec %9d/%d" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "Riproduci" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" @@ -691,34 +691,34 @@ "LiVES non è stato in grado di catturare questa immagine\n" "\n" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "Chiuso il file %s\n" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "_Annulla" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "_Ripeti" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "Video" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "Audio Sinistro" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "Audio Destro" -#: src/main.c:7078 +#: src/main.c:6973 #, fuzzy msgid "" "\n" @@ -907,7 +907,7 @@ msgid "Use _mplayer2 audio player" msgstr "Utilizza il lettore audio _mplayer" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "_Successivo" @@ -1119,56 +1119,56 @@ msgid "_Finish" msgstr "" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "Lascia che LiVES imposti l'estensione del _file" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "" -#: src/interface.c:46 +#: src/interface.c:42 msgid "Apply _Deinterlace" msgstr "" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "" "Se questo viene impostato, i fotogrammi verranno deinterlacciati appena " "vengono importati." -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "Anteprima" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "" "Clicca qui per vedere in An_teprima qualsiasi file video, immagine o audio" -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "Clicca qui per vedere in _Anteprima qualsiasi file audio selezionato" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "Clicca qui per vedere in A_nteprima il video" -#: src/interface.c:122 +#: src/interface.c:113 #, fuzzy msgid "Click here to _Preview the file" msgstr "Clicca qui per vedere in A_nteprima il video" -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 #, fuzzy msgid "Processing..." msgstr "LiVES - Elaborazione in corso..." -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1182,8 +1182,8 @@ "\n" "Ricordati di disattivare gli effetti (ctrl-0) dopo !" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" @@ -1191,174 +1191,179 @@ "\n" "Per Piacere Attendi" -#: src/interface.c:221 +#: src/interface.c:206 msgid "Show Details" msgstr "" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "_Abbastanza" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "_Anteprima" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "_Annulla" -#: src/interface.c:334 +#: src/interface.c:324 #, fuzzy msgid "Multitrack Details" msgstr "_Dettagli multi-traccia" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "Formato" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "Dimensione fotogramma" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "Dimensione file" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "Dimensione byte" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "FPS" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "Fotogrammi" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "Eventi" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "Tempo totale" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "Audio" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "Valore/dimensione" -#: src/interface.c:568 +#: src/interface.c:590 #, fuzzy msgid "Encoding Options" msgstr "LiVES: - Opzioni di codifica" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." msgstr "" -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "Mantieni le _mie impostazioni" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "Utilizza impostazioni _raccomandate" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "Chiudi _finestra" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "_Salva nel file" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "Inserisci" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "_Numero di volte da inserire" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "_Inserisci per adattare all'audio" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "Inserisci _prima della selezione" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "Inserisci appunti prima dei fotogrammi selezionati" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "Inserisci _dopo la selezione" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "Inserisci gli appunti dopo i fotogrammi selezionati" -#: src/interface.c:833 +#: src/interface.c:846 +#, fuzzy +msgid "Insert _with silence" +msgstr "Inserisci _con suono" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "Inserisci _con suono" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "Inserisci sen_za suono" -#: src/interface.c:924 +#: src/interface.c:937 #, fuzzy msgid "Open Selection" msgstr "_Copia Selezione" -#: src/interface.c:943 +#: src/interface.c:954 msgid "Selection start time (sec)" msgstr "" -#: src/interface.c:949 +#: src/interface.c:960 msgid "Number of frames to open" msgstr "" -#: src/interface.c:1023 +#: src/interface.c:1029 #, fuzzy msgid "Open Location" msgstr "LiVES: - Apri Posizione" -#: src/interface.c:1025 +#: src/interface.c:1031 msgid "Open Youtube Clip" msgstr "" -#: src/interface.c:1045 +#: src/interface.c:1050 #, fuzzy msgid "" "\n" @@ -1376,7 +1381,7 @@ "Flussi\n" "\n" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1385,73 +1390,73 @@ "\n" msgstr "" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "URL : " -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "" -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "Non inviare informazioni sulla larghezza della banda" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "" "Prova questa impostazione se stai avendo problemi ad ottenere un flusso" -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "" -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "" -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr "" -#: src/interface.c:1188 +#: src/interface.c:1189 #, fuzzy msgid "Rename Clip" msgstr "Ruota Clip" -#: src/interface.c:1190 +#: src/interface.c:1191 #, fuzzy msgid "Enter Set Name to Save as" msgstr "LiVES: - Inserisci Nome Set" -#: src/interface.c:1192 +#: src/interface.c:1193 #, fuzzy msgid "Enter a Set Name to Reload" msgstr "LiVES: - Inserisci Nome Set" -#: src/interface.c:1194 +#: src/interface.c:1195 #, fuzzy msgid "Choose a Working Directory" msgstr "LiVES: - Scegli una Directory Di Lavoro" -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 #, fuzzy msgid "Rename Current Track" msgstr "_Seleziona Traccia Corrente" -#: src/interface.c:1198 +#: src/interface.c:1199 #, fuzzy msgid "Enter a Name for Your Theme" msgstr "LiVES: - Inserisci Nome Set" -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1463,7 +1468,7 @@ "Per piacere inserisci il nome set che vuoi usare.\n" "LiVES ti ricorderà di salvare il set clip più tardi quando provi ad uscire.\n" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1490,220 +1495,220 @@ "This should be a directory with plenty of disk space available.\n" msgstr "" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "Nuovo nome " -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "Nome set " -#: src/interface.c:1257 +#: src/interface.c:1255 #, fuzzy msgid "Theme name " msgstr "Nuovo nome " -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "_Avanzate" -#: src/interface.c:1437 +#: src/interface.c:1425 #, fuzzy msgid "Select input device" msgstr "Seleziona dal tempo _finale" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "" -#: src/interface.c:1517 +#: src/interface.c:1505 #, fuzzy msgid "Load CD Track" msgstr "Carica Traccia _CD..." -#: src/interface.c:1519 +#: src/interface.c:1507 #, fuzzy msgid "Select DVD Title/Chapter" msgstr "LiVES:- Seleziona Titolo/Capitolo DVD" -#: src/interface.c:1521 +#: src/interface.c:1509 #, fuzzy msgid "Select VCD Title" msgstr "LiVES:- Seleziona Titolo VCD" -#: src/interface.c:1523 +#: src/interface.c:1511 #, fuzzy msgid "Change Maximum Visible Tracks" msgstr "LiVES:- Cambia Il Numero Massimo Di Tracce Visibili" -#: src/interface.c:1525 +#: src/interface.c:1513 #, fuzzy msgid "Device details" msgstr "_Dettagli multi-traccia" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "Traccia da caricare (da %s)" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "Titolo DVD" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "Titolo VCD" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "Numero massimo di tracce da mostrare" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "Device: /dev/video" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "Capitolo " -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "" -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "ID audio " -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "" -#: src/interface.c:1815 +#: src/interface.c:1778 #, fuzzy msgid "Fade Audio In" msgstr "_Aumenta Dissolvenza Audio..." -#: src/interface.c:1817 +#: src/interface.c:1780 #, fuzzy msgid "Fade Audio Out" msgstr "_Diminuisci Dissolvenza Audio..." -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "Aumenta la dissolvenza oltre " -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "primo" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "Diminuisci dissolvenza oltre " -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "ultimo" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "secondi." -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "selezione" -#: src/interface.c:1909 +#: src/interface.c:1865 #, fuzzy msgid " (Optional)" msgstr "LiVES: - Commenti File (facoltativi)" -#: src/interface.c:1912 +#: src/interface.c:1868 #, fuzzy, c-format msgid "File Comments%s" msgstr "LiVES: - Commenti File (facoltativi)" -#: src/interface.c:1927 +#: src/interface.c:1882 #, fuzzy, c-format msgid "File Name: %s" msgstr "Titolo/Nome : " -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "Titolo/Nome : " -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "Autore/Artista : " -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "Commenti : " -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "" -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "" -#: src/interface.c:2109 +#: src/interface.c:2058 #, c-format msgid "%sChoose a Device" msgstr "" -#: src/interface.c:2112 +#: src/interface.c:2061 #, fuzzy, c-format msgid "%sChoose a Directory" msgstr "LiVES: - Scegli una Directory Di Lavoro" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" @@ -1713,7 +1718,7 @@ "Il layout attuale non è stato salvato.\n" "Cosa vuoi fare ?\n" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" @@ -1723,7 +1728,7 @@ "Il layout attuale è stato modificato dall'ultimo salvataggio.\n" "Cosa vuoi fare ?\n" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" @@ -1733,7 +1738,7 @@ "Il clip attuale può essere salvato.\n" "Cosa vorresti fare ?\n" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" @@ -1741,7 +1746,7 @@ "Il clip attuale non è stato salvato.\n" "Cosa vorresti fare ?\n" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" @@ -1749,7 +1754,7 @@ "Il layout attuale non è stato salvato.\n" "Cosa vorresti fare ?\n" -#: src/interface.c:2410 +#: src/interface.c:2341 #, fuzzy msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" @@ -1758,7 +1763,7 @@ "Il layout corrente non è cambiato dall'ultimo salvataggio.\n" "Cosa vorresti fare ?\n" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" @@ -1768,44 +1773,44 @@ "Il layout corrente contiene frame generati e non può essere mantenuto.\n" "Cosa desideri fare ?" -#: src/interface.c:2417 +#: src/interface.c:2348 #, fuzzy msgid "Cancel/Discard/Save" msgstr "LiVES: - Annulla/Scarta/Salva" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "_Nome set clip" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "Ricarica _automaticamente la prossima volta" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "_Cancella layout" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "_Ignora cambiamenti" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "_Elimina set clip" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "_Elimina layout" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "_Salva layout" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "_Salva set clip" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" @@ -1815,35 +1820,35 @@ "LiVES ha riconosciuto un layout multi-traccia da una sessione precedente.\n" "Vuoi provare a recuperarlo ?\n" -#: src/interface.c:2527 +#: src/interface.c:2455 msgid "Disk Recovery Options" msgstr "" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "" -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "" -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "Mostra Tasti" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1851,358 +1856,358 @@ "-----------------------\n" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 #, fuzzy msgid "ctrl-left" msgstr "Manda indietro (ctrl-sinistra)" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 #, fuzzy msgid "skip forwards\n" msgstr "salta_in_avanti" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 #, fuzzy msgid "ctrl-down" msgstr "Ctrl-%d" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "ctrl-enter" msgstr "_Altro Centro" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "reset frame rate\n" msgstr "_Primo fotogramma" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "" -#: src/interface.c:2723 +#: src/interface.c:2642 #, fuzzy msgid "reverse direction\n" msgstr "Inverti la direzione di riproduzione" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "ctrl-1" msgstr "Ctrl-%d" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "toggle real-time effect 1\n" msgstr "Effetti in tempo _reale" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "ctrl-2" msgstr "Ctrl-%d" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "toggle real-time effect 2\n" msgstr "Effetti in tempo _reale" -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 #, fuzzy msgid "ctrl-0" msgstr "Ctrl-%d" -#: src/interface.c:2751 +#: src/interface.c:2670 #, fuzzy msgid "real-time effects off\n" msgstr "Effetti in tempo _reale" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "" -#: src/interface.c:2759 +#: src/interface.c:2678 #, fuzzy msgid "grab keyboard for last activated effect\n" msgstr "Blocca la tastiera per questo tasto effetto" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2688 #, fuzzy msgid "tab" msgstr "spina" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "" -#: src/interface.c:2785 +#: src/interface.c:2706 #, fuzzy msgid "Other playback keys\n" msgstr "_Inverti riproduzione " -#: src/interface.c:2789 +#: src/interface.c:2710 #, fuzzy msgid "play all\n" msgstr "Riproduci tutto" -#: src/interface.c:2792 +#: src/interface.c:2713 #, fuzzy msgid "play selection\n" msgstr "Riproduci Selezione" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "" -#: src/interface.c:2798 +#: src/interface.c:2719 #, fuzzy msgid "fullscreen\n" msgstr "_Schermo Intero" -#: src/interface.c:2801 +#: src/interface.c:2722 #, fuzzy msgid "separate window\n" msgstr "Riproduci in una finestra separata (s)" -#: src/interface.c:2804 +#: src/interface.c:2725 #, fuzzy msgid "double size\n" msgstr "Dimensione _Doppia" -#: src/interface.c:2807 +#: src/interface.c:2728 #, fuzzy msgid "ping pong loops\n" msgstr "Riproduzioni Pin_g Pong" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "Tasti Multi-traccia" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 #, fuzzy msgid "move current track up\n" msgstr "_Seleziona Traccia Corrente" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 #, fuzzy msgid "move current track down\n" msgstr "_Seleziona Traccia Corrente" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "" -#: src/interface.c:2849 +#: src/interface.c:2768 #, fuzzy msgid "select next clip\n" msgstr "LiVES: Clip selezionato" -#: src/interface.c:2852 +#: src/interface.c:2771 #, fuzzy msgid "select/deselect current track\n" msgstr "_Seleziona Traccia Corrente" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 #, fuzzy msgid "zoom in\n" msgstr "_Ingrandisci" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 #, fuzzy msgid "zoom out\n" msgstr "_Rimpicciolisci" -#: src/interface.c:2861 +#: src/interface.c:2780 #, fuzzy msgid "make a mark on the timeline (during playback)\n" msgstr "per creare un segno sulla linea del tempo" -#: src/interface.c:2864 +#: src/interface.c:2783 #, fuzzy msgid "rewind to play start.\n" msgstr "Riavvolgi all'inizio (w)" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "Salvataggio in corso come set %s..." -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "" -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "" -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -2210,16 +2215,16 @@ "the latest youtube-dl installed.\n" msgstr "" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, c-format msgid "Layouts were removed for set %s.\n" msgstr "" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "Questo file" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " @@ -2227,7 +2232,7 @@ ",\n" " - incluso il layout corrente - " -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2242,7 +2247,7 @@ "\n" "Chiuderlo davvero ?" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2257,14 +2262,14 @@ "\n" "Chiuderlo davvero ?" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" "Really close it ?" msgstr "" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" @@ -2272,7 +2277,7 @@ "\n" "File progetto non valido.\n" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2293,54 +2298,54 @@ "poi File|Chiudi/Salva tutti i Clip e fornire un nuovo nome set o scartarlo.\n" "Appena hai fatto ciò, sarai in grado di importare il nuovo progetto.\n" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "Importazione del progetto %s in corso come set %s..." -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "Importazione del progetto in corso" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "Esportazione del progetto %s in corso..." -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "Esportazione del progetto in corso" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 #, fuzzy msgid "Theme" msgstr "Nuovo nome " -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, fuzzy, c-format msgid "Exporting theme as %s..." msgstr "Esportazione del file audio come %s..." -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, fuzzy, c-format msgid "Importing theme \"%s\" from %s..." msgstr "Esportazione del file audio come %s..." -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, fuzzy, c-format msgid "Backup as %s File" msgstr "Crea un backup come file .lv1" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, fuzzy, c-format msgid "Restore %s File" msgstr "Ripristina file .lv1" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2352,97 +2357,97 @@ "Il set sarà eliminato dal disco.\n" "Sei sicuro ?\n" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "" -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "Eliminazione del set in corso..." -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "Eliminazione del set in corso" -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "Il set %s è stato eliminato definitivamente dal disco.\n" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "Inserisci Silenzio" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "Disfacendo" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "Audio in ripristino ..." -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "Pulizia delle immagini dei fotogrammi in corso" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "Eliminazione dei fotogrammi in eccesso in corso" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "" "La lunghezza del video è adesso di %d fotogrammi a %.3f fotogrammi al " "secondo.\n" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "Gli appunti sono stati ricampionati a %d fotogrammi.\n" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "Rifacimento in corso" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, fuzzy, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "Copia dei fotogrammi da %d a %d%s dagli appunti in corso..." -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, fuzzy, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "Copia dei fotogrammi da %d a %d%s dagli appunti in corso..." -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "Copia negli appunti in corso" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "Taglia" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 #, fuzzy msgid "Pulling frames from clipboard" msgstr "Togliendo i fotogrammi dal clip" -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "" -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "Incollamento in corso" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "" -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " @@ -2453,7 +2458,7 @@ "Per piacere installa 'convert' dal pacchetto Image-magick, e poi riavvia " "LiVES.\n" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2467,7 +2472,7 @@ "Prova a selezionare tutti i fotogrammi, e poi usa \n" "la funzione 'Taglia Audio' dal menu Audio." -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." @@ -2475,7 +2480,7 @@ "LiVES non può inserire perché i rapporti audio non corrispondono.\n" "Per favore installa 'sox', e prova ancora." -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" @@ -2486,7 +2491,7 @@ "traccia.\n" "Sei sicuro di voler continuare ?\n" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" @@ -2497,11 +2502,11 @@ "traccia.\n" "Sei sicuro di voler continuare ?\n" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "Ricampionando audio appunti" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2513,7 +2518,7 @@ "LiVES non è stato in gradi di ricampionare l'audio degli appunti. \n" "L'audio degli appunti è stato eliminato.\n" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2527,32 +2532,32 @@ "Vuoi continuare con l'inserimento \n" "utilizzando l'audio non cambiato ?\n" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "Inserimento di %d%s fotogrammi dagli appunti in corso..." -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "Inserimento in corso" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "Inserendo %d volte dagli appunti%s..." -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "Inserimento di %d fotogrammi dagli appunti%s in corso..." -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "Annullamento in corso" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" @@ -2562,7 +2567,7 @@ "Eliminare tutti i fotogrammi chiuderà questo file.\n" "Sei sicuro ?" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" @@ -2573,8 +2578,8 @@ "traccia.\n" "Sei sicuro di voler continuare?\n" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" @@ -2584,7 +2589,7 @@ "L'eliminazione causerà dell'audio mancante in alcuni layout multitraccia.\n" "Sei sicuro di voler continuare?\n" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" @@ -2595,7 +2600,7 @@ "traccia.\n" "Sei sicuro di voler continuare ?\n" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" @@ -2606,20 +2611,20 @@ "multitraccia.\n" "Sei sicuro di voler continuare ?\n" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "Eliminazione dei fotogrammi da %d a %d%s in corso..." -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "Eliminazione in corso" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "Elimina" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" @@ -2629,7 +2634,7 @@ "\n" "La selezione è bloccata.\n" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2641,11 +2646,11 @@ "(Per annullare, premi 'r' o clicca su Riproduci|Registra Esibizione ancora " "prima di riprodurre.)\n" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "Registrazione annullata.\n" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2658,7 +2663,7 @@ "Il plugin '%s' riporta:\n" "%s\n" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2671,7 +2676,7 @@ "Non è stato possibile trovare il metodo 'init' nel plugin %s.\n" "Il plugin può essere corrotto o non installato correttamente." -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2682,22 +2687,22 @@ "Salvare il set farà in modo che copie tutti i clip caricati rimarranno sul " "disco%s.\n" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "Salvataggio del set %s in corso" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "Caricamento dei clip dal set %s in corso" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2709,24 +2714,24 @@ "questa macchina.\n" "Clicca OK per procedere.\n" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "Pulizia dello spazio del disco in corso..." -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "" -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "Resettando i rapporti e i valori dei fotogrammi..." -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2734,12 +2739,12 @@ "Internal: %s (%d bpp) / %s\n" msgstr "" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." @@ -2747,7 +2752,7 @@ "\n" " Apertura in corso..." -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" @@ -2756,7 +2761,7 @@ "\n" "(%d virtuale)" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" @@ -2765,7 +2770,7 @@ "\n" "(%d decodificato)" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" @@ -2774,7 +2779,7 @@ "\n" " %.2f sec." -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" @@ -2782,23 +2787,23 @@ "\n" " Sconosciuto" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "non firmato" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "firmato" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "big-endian" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "little-endian" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" @@ -2807,7 +2812,7 @@ " %d Hz %d bit\n" "%s %s" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2824,15 +2829,15 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n" msgstr "" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "Un editor video e programma per VJ." -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" "Launchpad Contributions:\n" @@ -2841,7 +2846,7 @@ " salsaman https://launchpad.net/~salsaman\n" " supervinx https://launchpad.net/~supervinx" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, c-format msgid "" "LiVES Version %s\n" @@ -2855,7 +2860,7 @@ "Homepage: %s" msgstr "" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 #, fuzzy msgid "" "\n" @@ -2867,7 +2872,7 @@ "Devi installare mplayer per essere in grado di vedere l'anteprima di questo " "file.\n" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 #, fuzzy msgid "" "\n" @@ -2880,94 +2885,94 @@ "Devi installare mplayer per essere in grado di vedere l'anteprima di questo " "file.\n" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" "%s\n" msgstr "" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 #, fuzzy msgid "Encoder Debug Output" msgstr "LiVES: - Output del debug del codificatore" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "Riproduzione a schermo intero (f)" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "Riproduzione a schermo intero disattivata (f)" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "Dimensione doppia (d)" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "Dimensione singola (d)" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "Nascondi la finestra di riproduzione (s)" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "Mostra la finestra di riproduzione (s)" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "Riproduci in una finestra separata (s)" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "Ripetizione continua: off (o)" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "Ripetizione continua: on (o)" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "Volume audio (%.2f)" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "Ripristina l'audio (z)" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "Disattiva l'audio (z)" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "Invertendo gli appunti..." -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "Invertendo gli appunti" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 msgid "Load Subtitles" msgstr "" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 #, fuzzy msgid "Select Audio File" msgstr "Elimina audio" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -2981,83 +2986,83 @@ "\n" "." -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "Apertura audio %s, tipo %s in corso..." -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "Apertura audio in corso" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "Perpetramento dell'audio in corso" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "Nuovo Audio" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "Apertura della traccia CD %d da %s in corso..." -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "Traccia CD %d" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "Apertura della traccia CD in corso..." -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "Errore durante il caricamento della traccia CD\n" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 #, fuzzy msgid "Layout Errors" msgstr "errori di layout" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "Pulisci _Errori" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "_Elimina layout affetti" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "Riprendi" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "in pausa..." -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "ripreso..." -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "Mantieni" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, fuzzy, c-format msgid "" "\n" @@ -3070,30 +3075,30 @@ "(clicca Mantieni per mantenere quello che hai e interrompere)\n" "(clicca Riprendi per continuare il processo)" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "Annulla" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 #, fuzzy msgid "Selected Frame" msgstr "Seleziona _Tutti I Fotogrammi" -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 #, fuzzy msgid "_Save Frame as..." msgstr "_Salva layout come..." -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -3102,7 +3107,7 @@ "\n" msgstr "" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -3114,7 +3119,7 @@ "Devi installare \"xwininfo\" prima di poter usare questa funzione\n" "\n" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" @@ -3122,7 +3127,7 @@ "\n" "Il tempo della registrazione dev'essere maggiore di 0.\n" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -3136,11 +3141,11 @@ "Clicca 'Annulla' per annullare\n" "\n" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "La finestra esterna è stata rilasciata.\n" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" @@ -3148,7 +3153,7 @@ "Clicca su una finestra per catturarla\n" "Premi 'q' per interrompere la registrazione" -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -3164,19 +3169,19 @@ "Interrompi o 'q' per finire.\n" "(Verranno usati in maniera predefinita %.3f fotogrammi al secondo.)\n" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "LiVES non è stato in grado di catturare questa finestra. Spiacente.\n" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "Esporta Audio Selezionato come..." -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "Esporta Audio come..." -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -3190,87 +3195,87 @@ "Clicca 'OK' per esportare alla nuova velocità, o 'Annulla' per esportare al " "rapporto originale.\n" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "Esportazione dei fotogrammi audio da %d a %d come %s in corso..." -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "Esportazione del file audio come %s..." -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "Esportazione audio in corso" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 #, fuzzy msgid "Append Audio File" msgstr "Accoda Audio" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "Accodamento file audio %s in corso..." -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "Accodamento audio in corso" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "Accoda Audio" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "" -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "Tagliando l'audio da %.2f a %.2f secondi..." -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "Riducendo/Espandendo audio" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "Riduci/Espandi Audio" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "Aumentando la dissolvenza dell'audio" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "Aumenta dissolvenza audio" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "Diminuendo la dissolvenza dell'audio" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "Diminuisci dissolvenza audio" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "%s oltre %.1f secondi..." -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "%s dal tempo %.2f secondi a %.2f secondi..." -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "Dissolvenza dell'audio in corso..." -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" @@ -3280,33 +3285,33 @@ "Eliminare tutto l'audio chiuderà questo file.\n" "Sei sicuro ?" -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "Eliminazione di tutto l'audio in corso..." -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "Eliminando l'audio da %.2f a %.2f secondi..." -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "Eliminazione Audio In Corso" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "Elimina audio" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "Registra nuovo audio" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "Inserimento silenzio da %.2f a %.2f secondi in corso..." -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "Inserimento Silenzio In Corso" @@ -3319,7 +3324,7 @@ msgid "Merge Clipboard [ %d Frames ] With Selection [ %d Frames ]" msgstr "Unisci Appunti [ %d Fotogrammi ] Con Selezione [ %d Fotogrammi ]" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" @@ -3327,599 +3332,599 @@ "Unisci Appunti [ %d Fotogrammi (ricampionati) ] Con Selezione [ %d " "Fotogrammi ]" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "Allinea I_nizi" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "Allinea _Finali" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "Cosa fare con fotogrammi appunti extra -" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "_Inserisci Fotogrammi" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "_Abbandona Fotogrammi" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "Numero di Volte da Mandare In Loop gli Appunti" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "Manda in _Loop gli Appunti per Adattarli alla Selezione" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "Metodo Di _Transizione:" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "Fusione degli appunti con la selezione in corso..." -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "Fusione compiuta.\n" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "" -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "Effetti _Personalizzati" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "U_tilità Personalizzate" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "_File" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "_Apri File/Directory" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "" -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "Apri _Posizione/Flusso..." -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "" -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "" -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "Importa da Dispositivo _Firewire (dv)" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "Importa da Dispositivo Fire_wire (hdv)" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "" -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "File _Recenti..." -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "_Ricarica Set Clip..." -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "Chiudi/Sal_va Tutti I Clip" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "" -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "Salva _Selezione Come..." -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "C_hiudi Questo Clip" -#: src/gui.c:692 +#: src/gui.c:674 #, fuzzy, c-format msgid "_Backup Clip as .%s..." msgstr "_Crea un Backup Del Clip come .lv1..." -#: src/gui.c:701 +#: src/gui.c:683 #, fuzzy, c-format msgid "_Restore Clip from .%s..." msgstr "_Ripristina Clip da .lv1..." -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "Salva/Carica/Crea Una Copia Di Backup _con Suono" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "Pu_lisci Spazio Del Disco" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "_Modifica" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "Modalità _MULTI-TRACCIA" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "_Copia Selezione" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "Ta_glia Selezione" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "_Inserisci dagli Appunti..." -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "Incolla come _Nuovo" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "_Fondi Appunti con la Selezione..." -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "_Elimina Selezione" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "Scindi _Video da Audio" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "_Seleziona..." -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "Seleziona _Tutti I Fotogrammi" -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "Solamente Il Fotogramma _Iniziale" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "Solamente Il Fotogramma _Finale" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "Seleziona dal _Primo Fotogramma" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "Seleziona dall'_Ultimo Fotogramma" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "Seleziona Ultima Inser_zione/Fusione" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "Seleziona Ultimo _Effetto" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "_Inverti Selezione" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "_Blocca Larghezza Selezione" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "_Riproduci" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "Ri_produci Tutto" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "Ripro_duci Selezione" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "Riproduci _Appunti" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "_Interrompi" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "Riav_volgi" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "_Schermo Intero" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "Dimensione _Doppia" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "Riproduci in una Finestra _Separata" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "Sfondo _Vuoto" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "" "Manda In _Loop (Automaticamente) il Video (per adattarlo alla traccia audio)" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "R_ipeti Continuamente" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "Riproduzioni Pin_g Pong" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "_Silenzioso" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "Separa Modalità 'A_ppiccicosa' Finestra" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "_Mostrare contatore fotogrammi" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "" -#: src/gui.c:1069 +#: src/gui.c:1045 msgid "Letterbox Mode" msgstr "" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "Ef_fetti" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "Gli effetti sono applicati alla selezione attuale." -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "_Avvia Effetto Renderizzato/Strumento/Generatore..." -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "_Strumenti" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "Gli strumenti vengono applicati per completare i clip." -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "_Inverti Appunti" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "_Cambia Velocità di Salvataggio/Riproduzione..." -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "Ricampiona il _Video al Nuovo Rapporto Dei Fotogrammi..." -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "_Utilità" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "Stru_menti Personalizzati" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "_Genera" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "" -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "Cattura Finestra _Esterna... " -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "_Preferenze..." -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "_Audio" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "Carica _Nuovo Audio per il Clip..." -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "Carica Traccia _CD..." -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "E_spelli CD" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "Regista Audio Es_terno..." -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "nel Nuovo _Clip..." -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "nella _Selezione" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "_Aumenta Dissolvenza Audio..." -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "_Diminuisci Dissolvenza Audio..." -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "_Esporta Audio..." -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "Esporta Audio _Selezionato..." -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "Esporta _Tutto L'Audio..." -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "_Accoda Audio..." -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "_Riduci/Ingrandisci Audio..." -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "Riduci/Ingrandisci Audio nella _Selezione" -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "Riduci/Ingrandisci Audio dall'Inizio all'Avvio Della _Riproduzione" -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "_Elimina Audio..." -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "Elimina Audio _Selezionato" -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "Elimina _Tutto L'Audio" -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "Inserisci _Silenzio nella Selezione" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "_Ricampiona Audio..." -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "_Informazioni" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "Mostra _Informazioni Clip" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "Mostra/_Modifica Commenti File" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "Mostra Informazioni _Appunti" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "Mostra M_essaggi" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "Mostra Errori _Layout" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "_Clip" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "_Rinomina Clip Corrente nel Menu..." -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "A_vanzate" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "Effetti _RFX/Strumenti/Utilità" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "_Nuovo Script Di Test RFX..." -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "_Copia Script RFX nel Test..." -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "_Modifica Script Test RFX..." -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "Ri_nomina Script Test RFX..." -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "_Elimina Script Test RFX..." -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "_Promuovi Effetto Renderizzato Test/Strumento/Generatore..." -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "_Importa script RFX Personalizzato..." -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "E_sporta script RFX Personalizzato..." -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "Eli_mina script RFX Personalizzato..." -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "Ri_costruisci tutti i plugin RFX" -#: src/gui.c:1397 +#: src/gui.c:1371 #, fuzzy msgid "Receive _LiVES Stream from..." msgstr "Ricevi flusso _LiVES da..." -#: src/gui.c:1401 +#: src/gui.c:1375 #, fuzzy msgid "_Send LiVES Stream to..." msgstr "_Invia flusso LiVES a..." -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "Apri flusso _yuv4mpeg in %sstream.yuv..." -#: src/gui.c:1426 +#: src/gui.c:1399 #, fuzzy, c-format msgid "_Import Project (.%s)..." msgstr "_Importa Progetto (.lv2)..." -#: src/gui.c:1430 +#: src/gui.c:1403 #, fuzzy, c-format msgid "E_xport Project (.%s)..." msgstr "E_sporta Progetto (.lv2)..." -#: src/gui.c:1437 +#: src/gui.c:1409 #, fuzzy, c-format msgid "_Import Custom Theme (.%s)..." msgstr "_Importa Progetto (.lv2)..." -#: src/gui.c:1442 +#: src/gui.c:1414 #, fuzzy, c-format msgid "E_xport Theme (.%s)..." msgstr "E_sporta Progetto (.lv2)..." -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "_VJ" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "Mappatura _Effetto In Tempo Reale" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "Lega gli effetti in tempo reale ai tasti ctrl-numero." -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "Imposta I _Predefiniti Dell'Effetto In Tempo Reale" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "" "Imposta i valori dei parametri predefiniti per gli effetti in tempo reale." -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "Salva I _Predefiniti Dell'Effetto In Tempo Reale" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." @@ -3927,156 +3932,156 @@ "Salva i predefiniti degli effetti in tempo reale così verranno ripristinati " "ogni volta che usi LiVES." -#: src/gui.c:1476 +#: src/gui.c:1448 #, fuzzy msgid "_Reset All Playback Speeds and Positions" msgstr "_Azzera tutte le velocità e posizioni di riproduzione" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "" "Reimposta tutte le posizioni di riproduzione al fotogramma 1, e azzera tutti " "i rapporti dei fotogrammi di riproduzione." -#: src/gui.c:1480 +#: src/gui.c:1452 #, fuzzy msgid "_MIDI/Joystick Interface" msgstr "Interfaccia _MIDI/joystick" -#: src/gui.c:1489 +#: src/gui.c:1461 #, fuzzy msgid "_MIDI/Joystick Learner..." msgstr "Studente _MIDI/joystick..." -#: src/gui.c:1493 +#: src/gui.c:1465 #, fuzzy msgid "_Save Device Mapping..." msgstr "_Salva mappatore dispositivo..." -#: src/gui.c:1497 +#: src/gui.c:1469 #, fuzzy msgid "_Load Device Mapping..." msgstr "_Carica mappatore dispositivo..." -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "Mostra _Tasti VJ" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "_Giocattoli" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "_Niente" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "Fotogrammi _Impazziti" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "_LiVES TV (banda larga)" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "_Aiuto" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "_Manuale (verrà aperto nel browser)" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 #, fuzzy msgid "_Donate to the Project !" msgstr "_Dona al progetto !" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 #, fuzzy msgid "_Email the Author" msgstr "_Contatta l'autore" -#: src/gui.c:1547 +#: src/gui.c:1519 #, fuzzy msgid "Report a _Bug" msgstr "Segnala un _bug" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 #, fuzzy msgid "Suggest a _Feature" msgstr "Suggerisci una _funzione" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 #, fuzzy msgid "Assist with _Translating" msgstr "Aiuta con le _traduzioni" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "_Risoluzione problemi" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "_Riguardo A..." -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "Riavvolgi all'inizio (w)" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "Riproduci tutto (p)" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "Interrompi riproduzione (q)" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "Riproduci selezione (y)" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "Volume" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "Volume audio (1.00)" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "Rendi non vuoto lo sfondo (b)" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "Riproduci più lentamente (ctrl-giù)" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "Riproduci più velocemente (ctrl-su)" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "Manda indietro (ctrl-sinistra)" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "Manda avanti (ctrl-destra)" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "Mostra informazioni clip (i)" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "Nascondi questa barra degli strumenti" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." @@ -4085,136 +4090,136 @@ "performance migliorata, \"q\" per interrompere." #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr "" " Velocità di riproduzione del video (fotogrammi al secondo) " -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "Varia la velocità del video" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "Primo Fotogramma" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "Ultimo Fotogramma" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "Il primo fotogramma selezionato in questo clip" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "L'ultimo fotogramma selezionato in questo clip" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "Avvio in corso...\n" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr "" " Premi 'q' per fermare la registrazione. NON COPRIRE LA FINESTRA DI " "RIPRODUZIONE ! " -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "Numero di fotogrammi da vedere in anteprima" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "_Libero" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "Scelta libera del numero di fotogrammi" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "_Inizio" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "Il numero di fotogrammi è collegato al fotogramma di partenza" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "_Fine" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "Il numero di fotogrammi è collegato al fotogramma finale" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "_Puntatore" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "Il numero di fotogrammi è collegato al puntatore di riproduzione" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "Riavvolgi" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "Riproduci tutto" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "Riproduci Selezione" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "Loop On/Off" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "Incomincia la re_gistrazione" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "Interrompi la _registrazione" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "_Registra Esibizione" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr "" -#: src/gui.c:3613 +#: src/gui.c:3553 #, fuzzy msgid "Streaming" msgstr "Trasformando in sogno" -#: src/gui.c:3615 +#: src/gui.c:3555 #, fuzzy, c-format msgid "Play Window%s" msgstr "Nascondi Finestra Di Riproduzione" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "Nascondi Finestra Di Riproduzione" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "Mostra Finestra Di Riproduzione" -#: src/gui.c:4199 +#: src/gui.c:4127 #, fuzzy, c-format msgid "'LiVES opened the file' '%s'" msgstr "LiVES non è stato in grado di aprire il file" -#: src/gui.c:4220 +#: src/gui.c:4146 #, fuzzy, c-format msgid "'LiVES closed the file' '%s'" msgstr "Lascia che LiVES imposti l'estensione del _file" @@ -4224,11 +4229,11 @@ msgid "Mapped to ctrl-%d" msgstr "" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "Effetti" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "Clip" @@ -4242,11 +4247,11 @@ msgid "Select clip for %s\n" msgstr "_Elimina set clip" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "" @@ -4291,11 +4296,11 @@ msgid "%d bytes" msgstr "" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "Pulizia degli appunti" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -4306,7 +4311,7 @@ "==============================\n" "Scambiato con il clip %s\n" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" @@ -4316,11 +4321,11 @@ "==============================\n" "Scambiato con un clip vuoto\n" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "(vuoto)" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " @@ -4329,7 +4334,7 @@ "Il nome del set è stato cambiato da %s a %s. I layout affetti sono stati " "aggiornati in maniera pertinente\n" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" @@ -4338,7 +4343,7 @@ "Il clip %s manca in questo set.\n" "È richiesto dai layout seguenti:\n" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" @@ -4347,7 +4352,7 @@ "Il clip %s è stato chiuso.\n" "È richiesto dai layout seguenti:\n" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" @@ -4356,7 +4361,7 @@ "Dei fotogrammi sono stati spostati nel clip %s.\n" "I seguenti layout sono coinvolti:\n" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" @@ -4365,7 +4370,7 @@ "Dei fotogrammi sono stati cancellati dal clip %s.\n" "I seguenti layout sono coinvolti:\n" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" @@ -4374,7 +4379,7 @@ "L'audio è stato cancellato dal clip %s.\n" "I seguenti layout sono affetti:\n" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" @@ -4383,7 +4388,7 @@ "L'audio è stato spostato nel clip %s.\n" "I seguenti layout sono affetti:\n" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" @@ -4392,7 +4397,7 @@ "L'audio è stato alterato nel clip %s.\n" "I layout seguenti sono affetti:\n" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" @@ -4401,7 +4406,7 @@ "Dei fotogrammi sono stati alterati nel clip %s.\n" "I layout seguenti sono coinvolti:\n" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -4412,7 +4417,7 @@ "non può essere aperto, dato che sta venendo usato\n" "da un'altra copia di LiVES.\n" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -4423,7 +4428,7 @@ "Il set %s è attualmente in uso da un'altra copia di LiVES.\n" "Per piacere scegli un altro nome set.\n" -#: src/utils.c:2188 +#: src/utils.c:2207 #, fuzzy, c-format msgid "" "\n" @@ -4432,7 +4437,7 @@ "\n" "I nomi dei set non possono essere vuoti.\n" -#: src/utils.c:2196 +#: src/utils.c:2215 #, fuzzy, c-format msgid "" "\n" @@ -4441,7 +4446,7 @@ "\n" "I nomi dei set non possono contenere spazi o i caratteri%s.\n" -#: src/utils.c:2204 +#: src/utils.c:2223 #, fuzzy, c-format msgid "" "\n" @@ -4450,18 +4455,18 @@ "\n" "I nomi dei set non possono contenere spazi o i caratteri%s.\n" -#: src/utils.c:2213 +#: src/utils.c:2232 #, c-format msgid "" "\n" "%s names may not start with a '.' or contain '..'\n" msgstr "" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4472,73 +4477,73 @@ "Il set %s esiste già.\n" "Per piacere scegli un altro nome set.\n" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "Rimuovendo il layout %s\n" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "Video [apertura in corso...]" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "Video [%.2f secondi]" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "(Indefinito)" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "(Nessun video)" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "(Nessun audio)" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "Mono [apertura in corso...]" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "Audio Sinistro [apertura in corso...]" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "Mono [%.2f secondi]" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "Audio Sinistro [%.2f secondi]" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "Audio Destro [apertura in corso...]" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "Audio Destro [%.2f secondi]" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "LiVES non può passare a mplayer mentre i clip si stanno caricando." -#: src/utils.c:3492 +#: src/utils.c:3548 #, fuzzy msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "LiVES non può passare a mplayer mentre i clip si stanno caricando." -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "Pulizia del clip in corso" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4553,29 +4558,29 @@ "\n" "Sovrascrivere ?\n" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "_Annulla %s" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "_Rifai %s" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "-------------Selezione------------" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr " secondi ] ----------Selezione---------- [ " -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr " fotogrammi ] ----------" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4600,7 +4605,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "Aprendo %s tempo di partenza %.2f secondi %d fotogrammi" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr " senza suono" @@ -4718,7 +4723,7 @@ "Vuoi continuare ancora ?" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "Togliendo i fotogrammi dal clip" @@ -4779,12 +4784,12 @@ msgid "Recording performance..." msgstr "Registrando l'esibizione..." -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "Gli FPS medi sono stati %.4f\n" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4798,21 +4803,21 @@ "Dovresti cliccare su Strumenti--->Ridimensiona Tutto\n" "e ridimensionare tutti i fotogrammi alla dimensione corrente.\n" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "Sconosciuto" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "Senza titolo%d" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "%d fotogrammi sono sufficienti !\n" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4820,13 +4825,13 @@ "%s\n" msgstr "" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" msgstr "" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4834,7 +4839,7 @@ "Bad things may happen with this clip.\n" msgstr "" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4846,14 +4851,14 @@ "predefinito di %.3f fps. \n" "Il predefinito può essere impostato in Strumenti | Preferenze | Miste.\n" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "" "La velocità di riproduzione è stata regolata a %.3f fotogrammi al secondo " "per adattarsi all'audio.\n" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" @@ -4862,7 +4867,7 @@ "Fotogrammi=%d tipo=%s dimensione=%dx%d *bpp=Greyscale* fps=%.3f\n" "Audio:" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" @@ -4871,54 +4876,54 @@ "Fotogrammi=%d tipo=%s dimensione=%dx%d bpp=%d fps=%.3f\n" "Audio:" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "%s niente\n" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, fuzzy, c-format msgid " - Author: %s\n" msgstr "Autore: %s" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, fuzzy, c-format msgid " - Title: %s\n" msgstr " - Commento: %s\n" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr " - Commento: %s\n" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "Salvataggio del fotogramma %d come %s in corso..." -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "Creando un backup da %s a %s" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "Creando un backup" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "i dati dell'esibizione hanno ricevuto un backup..." -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "Ripristinando %s..." -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "Ripristino in corso" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -4973,12 +4978,12 @@ msgid "Recovering files..." msgstr "Recupero dei file in corso..." -#: src/dialogs.c:87 +#: src/dialogs.c:83 #, fuzzy msgid "Show affeced _layouts" msgstr "Mostra i _layout colpiti" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" @@ -4986,51 +4991,51 @@ "_Non mostrare più questo avviso\n" "(può essere riattivato da Preferenze/Avvisi)" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr "" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 #, fuzzy msgid "Warning !" msgstr "Avvisi" -#: src/dialogs.c:198 +#: src/dialogs.c:186 #, fuzzy msgid "Error !" msgstr "$errore" -#: src/dialogs.c:208 +#: src/dialogs.c:196 #, fuzzy msgid "Information" msgstr "LiVES: Informazioni su %s" -#: src/dialogs.c:234 +#: src/dialogs.c:221 msgid "Question" msgstr "" -#: src/dialogs.c:248 +#: src/dialogs.c:235 #, fuzzy msgid "File Error" msgstr "Pulisci _Errori" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "Mostra _Dettagli" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -5041,7 +5046,7 @@ "(Disk warning levels can be configured in Preferences.)" msgstr "" -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -5053,11 +5058,11 @@ "Preferences.)" msgstr "" -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "I lettori audio non possono essere scambiati durante la riproduzione." -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -5070,18 +5075,18 @@ "insufficiente.\n" "Per piacere prova a chiudere prima altre applicazioni.\n" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "" -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" "%s%d%% done. Time remaining: %u sec%s\n" msgstr "" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" @@ -5090,14 +5095,14 @@ "\n" "%d/%d fotogrammi aperti. Tempo rimanente %u secondi.\n" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" "%d/%d frames opened.\n" msgstr "" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" @@ -5106,7 +5111,7 @@ "\n" "%d fotogrammi aperti.\n" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" @@ -5115,7 +5120,7 @@ "\n" "Tempo rimanente: %d secondi" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -5126,7 +5131,7 @@ "Spiacente, LiVES può aprire soltanto %d file alla volta.\n" "Per piacere chiudi un file e poi prova ancora." -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, fuzzy, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -5145,7 +5150,7 @@ "\n" "Per piacere assicurati di poter scrivere in questa directory." -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 #, fuzzy msgid "" "\n" @@ -5156,7 +5161,7 @@ "LiVES attualmente richiede o 'mplayer' o 'sox' per funzionare. Per piacere " "installa uno o l'altro di questi, e prova ancora.\n" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 #, fuzzy msgid "" "\n" @@ -5167,7 +5172,7 @@ "LiVES attualmente richiede o 'mplayer' o 'sox' per funzionare. Per piacere " "installa uno o l'altro di questi, e prova ancora.\n" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 #, fuzzy msgid "" "\n" @@ -5178,19 +5183,19 @@ "LiVES attualmente richiede o 'mplayer' o 'sox' per funzionare. Per piacere " "installa uno o l'altro di questi, e prova ancora.\n" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" @@ -5201,7 +5206,7 @@ "Oppure passa ad un altro formato di codifica in Strumenti | Preferenze | " "Codifica\n" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -5213,7 +5218,7 @@ "Questo codificatore/formato non può utilizzare il codec audio richiesto.\n" "Per piacere imposta il codec audio in Strumenti|Preferenze|Codifica\n" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" @@ -5221,13 +5226,13 @@ "Questo layout include fotogrammi generati.\n" "Non può essere salvato, devi prima renderizzarlo in un clip.\n" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -5238,7 +5243,7 @@ "\n" "Grazie a restrizioni nel formato %s\n" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" @@ -5246,43 +5251,43 @@ "LiVES raccomanda le seguenti impostazioni:\n" "\n" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr ", firmato" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr ", non firmato" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr ", piccolo-endian" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr ", grande-endian" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "Imposta il rapporto del video a %.3f fotogrammi al secondo\n" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "Imposta il valore del video a %.d:%d fotogrammi al secondo\n" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "Imposta la dimensione del video a %d x %d pixel\n" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" @@ -5290,37 +5295,37 @@ "\n" "Potresti volere:\n" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "ridimensionare il video a %d x %d pixel\n" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "" "disattivare l'audio, in quanto il codificatore bersaglio non può codificare " "l'audio\n" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "LiVES deve:\n" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "ricampiona video a %.3f fotogrammi al secondo\n" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "ricampiona video a %d:%d frame al secondo\n" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -5334,7 +5339,7 @@ "Schiaccia `OK` per procedere, `Annulla` per uscire.\n" "\n" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" @@ -5344,7 +5349,7 @@ "I cambiamenti applicati alla selezione non saranno permanenti.\n" "\n" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -5358,7 +5363,7 @@ "disponibile è insufficiente.\n" "Prova a registrare solamente una selezione del file." -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -5377,7 +5382,7 @@ "oppure\n" "OK per continuare" -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, fuzzy, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -5397,18 +5402,18 @@ "altrimenti\n" "premere Annulla." -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "Cronologia Messaggi" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " "in your %s file" msgstr "" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -5419,7 +5424,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 #, fuzzy msgid "" "Sorry, unknown audio type.\n" @@ -5430,18 +5435,18 @@ "\n" " (I nomi dei file devono finire in .mp3, .ogg, .wav, .mod, .xm oppure .it)" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "fallito (tipo sconosciuto)\n" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" "(They will not be usable without the set).\n" msgstr "" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -5454,7 +5459,7 @@ "Clicca OK per aggiungere i clip e i layout correnti al set esistente.\n" "Clicca Annulla per scegliere un nuovo nome.\n" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -5466,7 +5471,7 @@ "Sei sicuro di voler continuare ?\n" "." -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -5478,7 +5483,7 @@ "Sei sicuro di voler continuare ?\n" "." -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -5489,7 +5494,7 @@ "Otherwise click Cancel to skip loading this file.\n" msgstr "" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -5504,7 +5509,7 @@ "%s\n" "Il clip non è stato caricato.\n" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -5512,7 +5517,7 @@ "Alternately, select a different audio player in Preferences.\n" msgstr "" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -5521,13 +5526,13 @@ "Automatic jack startup will be disabled now.\n" msgstr "" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" msgstr "" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -5538,7 +5543,7 @@ "%s\n" msgstr "" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" @@ -5546,7 +5551,7 @@ "\n" "In alternativa, puoi riavviare LiVES e selezionare un altro lettore audio.\n" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -5561,7 +5566,7 @@ "Puoi aumentare il valore in Preferenze/Multi-traccia.\n" "È consigliato di aumentarlo ad almeno %d MB" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -5570,7 +5575,7 @@ "Do you wish to delete them ?\n" msgstr "" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -5584,7 +5589,7 @@ "utilizzando Preferenze ->Multitraccia/Render->Memoria per l'annullamento " "(Undo)\n" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -5596,7 +5601,7 @@ "Dovresti aver bisogno di aumentare la memoria di annullamento\n" "utilizzando Preferenze/Multi-traccia/Memoria Di Annullamento\n" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" @@ -5605,20 +5610,20 @@ "LiVES non è stato in grado di riservare abbastanza memoria per il buffer di " "annullamento della multi-traccia.\n" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "o inserisci un valore più piccolo.\n" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "" "Prova ancora dell'editor clip, prova chiudendo qualche altra applicazione\n" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "Prova a chiudere altre applicazioni\n" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" @@ -5627,14 +5632,14 @@ "dell'audio.\n" "Dovresti regolare le impostazioni audio dal menu Strumenti.\n" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "" "Il layout corrente contiene dell'audio, quindi i canali audio non possono " "essere impostati a zero.\n" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" @@ -5644,7 +5649,7 @@ "lettore audio \"jack\" o \"pulse audio\".\n" "Puoi impostare ciò in Strumenti|Preferenze|Riproduzione." -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" @@ -5654,7 +5659,7 @@ "da un altro sistema o da una precedente versione di LiVES)\n" "Tentare di riparare la copia del layout presente sul disco ?\n" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" @@ -5662,7 +5667,7 @@ "LiVES non è stato in grado di caricare il layout.\n" "Spiacente.\n" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 #, fuzzy msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" @@ -5672,7 +5677,7 @@ "LiVES attualmente richiede o 'mplayer' o 'sox' per funzionare. Per piacere " "installa uno o l'altro di questi, e prova ancora.\n" -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 #, fuzzy msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" @@ -5682,7 +5687,7 @@ "LiVES attualmente richiede o 'mplayer' o 'sox' per funzionare. Per piacere " "installa uno o l'altro di questi, e prova ancora.\n" -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 #, fuzzy msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" @@ -5692,7 +5697,7 @@ "LiVES attualmente richiede o 'mplayer' o 'sox' per funzionare. Per piacere " "installa uno o l'altro di questi, e prova ancora.\n" -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" @@ -5702,7 +5707,7 @@ "\n" "Il rapporto dell'audio dev'essere maggiore di 0.\n" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5714,7 +5719,7 @@ "e può richiedere molto tempo mostrarlo.\n" "Sei sicuro di volerlo vedere ?\n" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" @@ -5724,7 +5729,7 @@ "\n" "Devi installare 'dvgrab' per utilizzare questa funzione.\n" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5739,22 +5744,22 @@ "Potresti aver bisogno di selezionare uno di questi in Strumenti/Preferenze/" "Riproduzione.\n" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "" "Il plugin di riproduzione del video ha fallito l'inizializzazione della " "tavolozza !\n" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "" "Il plugin decodificatore ha fallito l'inizializzazione della tavolozza !\n" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "Impossibile impostare il rapporto dei fotogrammi del plugin video\n" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" @@ -5762,7 +5767,7 @@ "Successivamente a un crash, è consigliabile pulire il disco con\n" "File|Pulisci spazio disco\n" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5776,33 +5781,33 @@ "\n" "echo %d > /proc/sys/net/core/rmem_max\n" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "annullato.\n" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "fallito.\n" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "fatto.\n" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "errore nel file. Fallito.\n" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -5812,7 +5817,7 @@ "%s%s%s" msgstr "" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -5822,7 +5827,7 @@ "%s" msgstr "" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -5832,7 +5837,7 @@ "%s" msgstr "" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -5841,7 +5846,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -5851,7 +5856,7 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -5860,7 +5865,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -5870,12 +5875,12 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "" -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -5884,7 +5889,7 @@ "Please check your system for errors.\n" msgstr "" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -5897,7 +5902,7 @@ "%s\n" "Per favore controlla i permessi del file e prova ancora." -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -5910,7 +5915,7 @@ "%s\n" "Per piacere controlla i permessi per la directory e prova di nuovo." -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, c-format msgid "" "\n" @@ -5918,14 +5923,14 @@ "%s\n" msgstr "" -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -5936,13 +5941,13 @@ "Il %s non può codificare clip con il tipo di immagine %s.\n" "Per piacere seleziona un altro codificatore dall'elenco.\n" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" msgstr "" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -5952,27 +5957,27 @@ "- Check if the device actually exists.\n" msgstr "" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" "Do you wish to overwrite the existing subtitles ?\n" msgstr "" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 msgid "" "\n" "LiVES currently only supports subtitles of type" msgstr "" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -5981,14 +5986,14 @@ "or OK to continue and save as type \"%s\"\n" msgstr "" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" "(If unsure, click Yes)\n" msgstr "" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -5999,19 +6004,19 @@ "." msgstr "" -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" msgstr "" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" msgstr "" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -6019,7 +6024,7 @@ "DO NOT SHUT DOWN OR CLOSE LIVES !\n" msgstr "" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, fuzzy, c-format msgid "" "\n" @@ -6030,14 +6035,14 @@ "Alcuni %s mancano nel layout%s\n" "Quindi non può venire caricato correttamente.\n" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" "Please check the spelling of the set name and try again.\n" msgstr "" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -6046,7 +6051,7 @@ "directory. Would you like me to do this (recommended) ?" msgstr "" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -6058,7 +6063,7 @@ msgstr "" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -6067,40 +6072,40 @@ "\n" msgstr "" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" "Consult your package distributor.\n" msgstr "" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" msgstr "" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "" "Per piacere imposta il tuo dispositivo di riproduzione CD in Strumenti | " "Preferenze | Miste\n" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, fuzzy, c-format msgid "" "\n" @@ -6113,7 +6118,7 @@ "%s\n" "Per favore controlla i permessi del file e prova ancora." -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -6122,7 +6127,7 @@ "already exists. Would you like to overwrite it ?\n" msgstr "" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -6263,7 +6268,7 @@ msgid "Video only Transitions" msgstr "Transizioni solo Video" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "solamente audio" @@ -6271,7 +6276,7 @@ msgid "Audio only Transitions" msgstr "Transizioni solo Audio" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "audio" @@ -6315,7 +6320,7 @@ msgid "Audio Analysers" msgstr "" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "sconosciuto" @@ -6372,90 +6377,90 @@ "\n" "Nessun fotogramma è stato generato.\n" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 #, fuzzy msgid "Invalid element" msgstr "Parametro non valido" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 #, fuzzy msgid "Invalid property" msgstr "Parametro non valido" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 #, fuzzy msgid "Invalid plugin" msgstr "Linea %d non valida in %s\n" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 #, fuzzy msgid "No error" msgstr "$errore" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 msgid "integer" msgstr "" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 msgid "string" msgstr "" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 msgid "pointer" msgstr "" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "Errore: il plugin %s non ha la funzione weed_setup().\n" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" @@ -6464,271 +6469,271 @@ "Informazioni: Non è stato possibile caricare il plugin %s\n" "L'errore è stato: %s\n" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr "" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "Caricati con successo %d filtri Weed\n" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, c-format msgid "Successfully loaded %d compound filters\n" msgstr "" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, fuzzy, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "Fallito l'avvio dell'istanza %s, codice errore %d\n" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "Non è stato possibile avviare il generatore %s\n" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, fuzzy, c-format msgid "Failed to start generator %s (%s)\n" msgstr "Fallito l'avvio del generatore %s\n" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, fuzzy, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "Fallito l'avvio del generatore %s\n" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 msgid "Autoscale" msgstr "" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 #, fuzzy msgid "Delete this connection" msgstr "_Elimina questo effetto" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, c-format msgid "%s - Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, c-format msgid "%s - Parameter Data Connections" msgstr "" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 msgid "Parameter and Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 msgid "Auto Connect Channels" msgstr "" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 msgid "Auto Connect Parameters" msgstr "" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "Puoi cliccare su Anteprima per cambiare questi valori" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "_Azzera Valori" -#: src/framedraw.c:241 +#: src/framedraw.c:242 msgid "_Frame" msgstr "" @@ -6772,40 +6777,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "_FPS Bersaglio (il plugin può sovrascrivere questo)" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "%s : dimensione" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "Nuova dimensione (pixel)" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "_Larghezza" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "_Altezza" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "Genera negli _Appunti" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "Genera fotogrammi negli appunti" -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "Genera nel _Nuovo Clip" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "Genera fotogrammi in un nuovo clip" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -6887,32 +6892,32 @@ " Strumenti|Preferenze|Riproduzione|Riproduzione avanzata plugin\n" "\n" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "" -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "_FPS" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "Corretto il rapporto di fotogrammi per il plugin.\n" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "_Spazio Del Colore" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "Input dello spazio del colore nel plugin.\n" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -6925,7 +6930,7 @@ "Fallita l'apertura del plugin di riproduzione %s\n" "L'errore è %s\n" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -6940,7 +6945,7 @@ "manca una funzione necessaria.\n" "Non è possibile utilizzarlo.\n" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" @@ -6949,7 +6954,7 @@ "Il plugin di riproduzione video ha fallito ad inizializzarsi.\n" "L'errore è: %s\n" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " @@ -6958,17 +6963,17 @@ "*** Utilizzo il plugin %s per la riproduzione di fs, utilizzando la palette " "%d ( %s ). ***\n" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -6977,7 +6982,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -6990,7 +6995,7 @@ "%s%s%s\n" "o cambiate plugin utilizzando Strumenti|Preferenze|Codifica\n" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, c-format msgid "" "\n" @@ -6998,12 +7003,12 @@ "No decoders found in %s !\n" msgstr "" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, fuzzy, c-format msgid " using %s" msgstr "Apertura di %s in corso" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -7016,7 +7021,7 @@ "Fallita l'apertura del plugin decodificatore %s\n" "L'errore è stato %s\n" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -7031,27 +7036,27 @@ "manca una funzione necessaria.\n" "Impossibile usarlo.\n" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "/sconosciuto" -#: src/plugins.c:2556 +#: src/plugins.c:2550 #, fuzzy msgid "Decoder Plugins" msgstr "Decodifica" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "" "Fallito il caricamento di %s, le transizioni non possono venire " "ridimensionate.\n" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "impostazioni avanzate %s" @@ -7268,20 +7273,20 @@ msgid "Move _Down" msgstr "Sposta In _Basso" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 #, fuzzy msgid "RFX Properties" msgstr "LiVES: - Proprietà RFX" -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "_Lento (suggerimento per la GUI)" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "Generatore modalità _batch" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -7295,7 +7300,7 @@ "Per piacere rimuovi il trigger prima.\n" "\n" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -7307,29 +7312,29 @@ "Alcuni trigger sono stati regolati.\n" "Per piacere controlla il codice trigger.\n" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 #, fuzzy msgid "New RFX Parameter" msgstr "LiVES: - Nuovo Parametro RFX" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 #, fuzzy msgid "Edit RFX Parameter" msgstr "LiVES: - Modifica Parametro RFX" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "_Nome: " -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "Nome del parametro, deve essere univoco nel plugin." -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "_Etichetta: " -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." @@ -7337,170 +7342,170 @@ "Etichetta da mostrare con il parametro. Il carattere di sottolineature " "rappresenta la scorciatoia da tastiera." -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "_Tipo: " -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "Tipo del parametro (seleziona dall'elenco)." -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "_Luoghi decimali: " -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "Valore _predefinito: " -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "_Predefinito: " -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "_Gruppo Bottone: " -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "" "Un valore diverso da zero può essere utilizzato per raggruppare i bottoni " "raggio." -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "Valore _minimo: " -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "Valore mas_simo: " -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr " Dimensione _cadenza: " -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "" "Determina quanto il parametro è modificato quando si preme la freccia sul " "potenziometro." -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 msgid "_Wrap value" msgstr "" -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "Se il valore avvolge massimo->minimo e minimo->massimo." -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "Imposta _valori" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "Predefinito _Rosso: " -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "Predefinito _Verde:" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "Predefinito _Blu: " -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "Imposta _predefinito" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "Valore predefinito: " -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "Lunghezza massima (caratteri): " -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 #, fuzzy msgid "New RFX Parameter Window Hint" msgstr "LiVES: - Nuovo Suggerimento Finestra Parametri RFX" -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 #, fuzzy msgid "Edit RFX Parameter Window Hint" msgstr "LiVES: - Modifica Suggerimento Finestra Parametri RFX" -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "" -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "" -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "" -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "Righa: " -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "Parametri collegati (%d): " -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "Parametri collegati (4): " -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "Parametri collegati (2): " -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 #, fuzzy msgid "New RFX Trigger" msgstr "LiVES: - Nuovo Trigger RFX" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 #, fuzzy msgid "Edit RFX Trigger" msgstr "LiVES: - Modifica Trigger RFX" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "Quando: " -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 #, fuzzy msgid "Pre Loop Code" msgstr "LiVES: - Codice Prima Del Loop" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 #, fuzzy msgid "Loop Code" msgstr "Codice _loop..." -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 #, fuzzy msgid "Post Loop Code" msgstr "LiVES: - Codice Dopo Il Loop" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, fuzzy, c-format msgid "Default text (max length %d)" msgstr "LiVES: - Testo predefinito (lunghezza massima %d)" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 #, fuzzy msgid "Enter values, one per line" msgstr "LiVES: - Inserisci valori, uno per linea" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" @@ -7510,7 +7515,7 @@ "\n" "Il nome non dev'essere vuoto.\n" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" @@ -7520,7 +7525,7 @@ "\n" "Il nome non deve contenere spazi.\n" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" @@ -7530,7 +7535,7 @@ "\n" "Il testo del menu non dev'essere vuoto.\n" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" @@ -7540,7 +7545,7 @@ "\n" "La descrizione dell'azione non dev'essere vuoto.\n" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" @@ -7550,7 +7555,7 @@ "\n" "L'autore non dev'essere vuoto.\n" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -7562,7 +7567,7 @@ "Esiste già un plugin con questo nome.\n" "Il nome dev'essere univoco.\n" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" @@ -7572,7 +7577,7 @@ "\n" "Il codice loop non dev'essere vuoto.\n" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" @@ -7582,7 +7587,7 @@ "\n" "Il codice del trigger non deve essere vuoto per un'utilità.\n" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" @@ -7592,7 +7597,7 @@ "\n" "Il nome del parametro non dev'essere vuoto.\n" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -7606,41 +7611,41 @@ "univoci in un plugin.\n" "\n" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "Scrittura del file script %s in corso..." -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "Nessuna sezione <definisci> trovata nello script.\n" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "Versione script errata.\n" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "Nessuna sezione <nome> trovata nello script.\n" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "Nessuna sezione <versione> trovata nello script.\n" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "Nessuna sezione <autore> trovata nello script.\n" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "Nessuna sezione <descrizione> trovata nello script.\n" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "Descrizione errata. (%s)\n" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -7655,27 +7660,27 @@ "trovato nello script.\n" "\n" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "Ricostruendo tutti gli script RFX...integrato..." -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "Ricostruendo gli script" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "personalizzato..." -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "test..." -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "ricostruendo entrate del menu dinamico..." -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -7689,7 +7694,7 @@ "Per favore controlla se questo programma è nel tuo percorso ed è " "esecutibile.\n" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -7704,12 +7709,12 @@ "%s ?\n" "\n" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "Eliminazione dello script rfx %s in corso..." -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -7724,7 +7729,7 @@ "%s\n" "Il codice dell'errore è %d\n" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -7739,12 +7744,12 @@ "esiste già.\n" "Per piacere eliminalo, o rinomina lo script test.\n" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "Promuovendo il plugin test rfx %s a personalizzato..." -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -7755,22 +7760,22 @@ "Return code was %d (%s)\n" msgstr "" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 #, fuzzy msgid "Export Script" msgstr "Esportazione del progetto in corso" -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "Copia di %s a %s in corso..." -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 #, fuzzy msgid "Import Script" msgstr "Importazione del progetto in corso" -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -7785,46 +7790,46 @@ "esiste già.\n" "Per piacere eliminalo, o rinomina lo script di importazione.\n" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 #, fuzzy msgid "Copy RFX Script" msgstr "LiVES: - Copia Script RFX" -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "" -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr " Script: " -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 #, fuzzy msgid "Rename Test RFX Script" msgstr "Ri_nomina Script Test RFX..." -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "Dallo script: " -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 #, fuzzy msgid "RFX Script Name" msgstr "LiVES: - Nome Script RFX" -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "Nome script: " -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "Nuovo nome: " -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "Nuovo nome script: " -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -7836,12 +7841,12 @@ "C'è già uno script test con questo nome.\n" "Il nome dello script dev'essere univoco.\n" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "Rinominando lo script test RFX da %s a %s..." -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -7858,28 +7863,28 @@ "%s\n" "Il codice di ritorno è %d\n" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "_Applica Effetti In Tempo Reale alla Selezione" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 #, fuzzy msgid "Applying Current Real Time Effects to" msgstr "_Applica Effetti In Tempo Reale alla Selezione" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "Caricando l'effetto renderizzato %s..." -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "" "Guarda: VJ - mostra tasti VJ. Imposta gli eventi in tempo reale, e poi " "applicali qui." -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -7891,7 +7896,7 @@ "I plugin di riproduzione del video sono attivi solo nello\n" "schermo intero, modalità finestra separata (fs)\n" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -7899,7 +7904,7 @@ "(Free space = UNKNOWN)" msgstr "" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -7908,14 +7913,14 @@ "(Free space = %s)" msgstr "" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" "It should be in a partition with plenty of free disk space.\n" msgstr "" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7926,7 +7931,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7936,7 +7941,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1193 +#: src/preferences.c:1163 #, fuzzy msgid "" "You have chosen to change the working directory.\n" @@ -7957,7 +7962,7 @@ "In alternativa, premi Annulla per riportare la directory temporanea alla sua " "impostazione originaria." -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, fuzzy, c-format msgid "" "\n" @@ -7970,7 +7975,7 @@ "installare jackd.\n" "Consulta http://jackaudio.org\n" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" @@ -7979,7 +7984,7 @@ "Scambiare i lettori audio richiede il riavvio (jackd non deve essere in " "esecuzione)\n" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, fuzzy, c-format msgid "" "\n" @@ -7992,322 +7997,322 @@ "prima bisogna installare pulseaudio.\n" "Consulta http://www.pulseaudio.org\n" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "PCM (qualità più alta; file più larghi)" -#: src/preferences.c:2468 +#: src/preferences.c:2418 #, fuzzy msgid "Preferences" msgstr "_Preferenze..." -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "Apri la selezione del file massimizzata" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "Mostra file recenti nel menu File" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "Interrompi il salvaschermo durante la riproduzione " -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "Apri la finestra principale massimizzata" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "Mostra la barra degli strumenti quando lo sfondo è reso vuoto" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "Permetti alla rotella del mouse di scambiare i clip" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "Modalità di avvio:" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "Editor _clip" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "Modalità _multi-traccia" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "Supporto multi-testa" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr " numero di schermi per l'interfaccia di LiVES" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr " numero di schermi per la riproduzione" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." msgstr "" -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "Forza schermo singolo" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "GUI" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "Quando si entra nella modalità Multi-traccia:" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "_Suggeriscimi le impostazioni di audio, fps, larghezza e altezza" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "Utilizza _sempre i seguenti valori:" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "Utilizza questi stessi _valori per renderizzare un nuovo clip" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr " _Annulla dimensione buffer (MB) " -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "_Abbandona la modalità multi-traccia dopo aver renderizzato" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "Recupera automaticamente i layout" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "_Ogni" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "secondi" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "Dopo ogni _cambiamento" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "_Mai" -#: src/preferences.c:2872 +#: src/preferences.c:2757 #, fuzzy msgid "Maximum number of visible tracks" msgstr "Numero massimo di tracce da mostrare" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "Multi-traccia/Render" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "Utilizza l'apertura istantanea quando possibile" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "" "Abilita l'apertura istantanea di alcuni tipi di file usando i plugin " "decodificatori" -#: src/preferences.c:2925 +#: src/preferences.c:2804 msgid "Video open command (fallback)" msgstr "" -#: src/preferences.c:2935 +#: src/preferences.c:2811 msgid "Fallback image format" msgstr "" -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "_jpeg" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "_png" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "" "(Controlla in Aiuto/Risoluzione problemi per vedere quali formati di " "immagine sono supportati)" -#: src/preferences.c:2964 +#: src/preferences.c:2832 msgid "Open/render compression" msgstr "" -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr "" " % (più basso = più lento, file larghi; per jpeg, qualità più alta)" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "Abilita il deinterlacciamento automatico quando possibile" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "" "Deinterlaccia automaticamente i fotogrammi quando un plugin lo suggerisce" -#: src/preferences.c:2995 +#: src/preferences.c:2856 #, fuzzy msgid "Automatic trimming / padding of audio when possible" msgstr "Abilita il deinterlacciamento automatico quando possibile" -#: src/preferences.c:2997 +#: src/preferences.c:2858 #, fuzzy msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "" "Deinterlaccia automaticamente i fotogrammi quando un plugin lo suggerisce" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "Durante l'apertura di file multipli, concatena immagini in un clip" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "Decodifica" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "VIDEO" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "Bassa - può migliorare l'esibizione sulle macchine più lente" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "Normale - consigliato per la maggior parte degli utenti" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "Alta - può migliorare la qualità sulle macchine molto veloci" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "Visualizza in anteprima la _qualità" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "" "La qualità di anteprima per la riproduzione video - riguarda il " "ridimensionamento" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "_Mostra statistiche FPS" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "_Plugin" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "AUDIO" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "_Lettore" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "" "(Guarda anche la scheda Integrazione Jack per le opzioni di avvio di jack)" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "_Comando di riproduzione dell'audio" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "- interno -" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "L'audio segue il _valore/direzione del video" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "L'audio segue gli scambi dei _clip" -#: src/preferences.c:3269 +#: src/preferences.c:3110 msgid "Source:" msgstr "" -#: src/preferences.c:3273 +#: src/preferences.c:3114 msgid "_Internal" msgstr "" -#: src/preferences.c:3278 +#: src/preferences.c:3119 msgid "_External (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "Riproduzione" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" @@ -8315,73 +8320,73 @@ "Registra l'audio durande la registrazione di una finestra es_terna\n" " (richiede jack o pulse audio)" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr " Cosa registrare quando 'r' è premuto " -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "Cambiamenti dei _fotogrammi" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "Cambiamenti degli F_PS" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "Effetti in tempo _reale" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "Scambi _clip" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "GB" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "Registrazione in corso" -#: src/preferences.c:3454 +#: src/preferences.c:3273 #, fuzzy msgid "You can also change these values when encoding a clip" msgstr "Puoi cliccare su Anteprima per cambiare questi valori" -#: src/preferences.c:3466 +#: src/preferences.c:3285 msgid "Encoder" msgstr "" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "Formato output" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "Codec audio" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "Codificazione" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "Utilizza l'_antialiasing durante il ridimensionamento" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "Numero dei tasti degli effetti in tempo _reale" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." @@ -8390,97 +8395,97 @@ "essere controllati attraverso la finestra degli effetti in tempo reale, " "oppure tramite rete (OSC)." -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr " Directory di caricamento dei video (predefinita) " -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr " Directory di salvataggio dei video (predefinita) " -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr " Directory di caricamento dell'audio (predefinita) " -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr " Directory delle immagini (predefinita) " -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr " Directory di backup/ripristino (predefinita) " -#: src/preferences.c:3649 +#: src/preferences.c:3461 #, fuzzy msgid " Working directory (do not remove) " msgstr " Directory temporanea (non eliminare) " -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "La directory predefinita da cui caricare i clip video" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "La directory predefinita in cui salvare i clip codificati" -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "La directory predefinita per caricare e salvare l'audio" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "La directory predefinita in cui salvare le riprese" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "" "La directory predefinita per ripristinare/fare il backup dei clip singoli" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "Directory di lavoro di LiVES." -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "Directory" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "" -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr "" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "" -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" @@ -8488,19 +8493,19 @@ "Avvisa in Inserisci / Unisci se il rapporto dei _fotogrammi degli appunti " "non coincide con il rapporto dei fotogrammi della selezione" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "Avvisa nell'Apertura se la _dimensione del file eccede " -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr " MB" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "Mostra un avviso prima di salvare un se_t" -#: src/preferences.c:3872 +#: src/preferences.c:3659 #, fuzzy msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " @@ -8509,73 +8514,73 @@ "Mostra un avviso se _mplayer, sox, composit o convert non sono trovati " "quando LiVES viene avviato." -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "" "Mostra un avviso se nessun effetto _renderizzato viene trovato all'avvio." -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "" "Mostra un avviso se nessun plugin _codificatore viene trovato all'avvio." -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "Mostra un avviso se un nome set _duplicato viene inserito." -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "Quando un set viene caricato, avvisa se dei clip mancano dai _layout." -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "Avvisa se un clip usato in un layout sta per venire chiuso." -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "" "Avvisa se dei fotogrammi utilizzati in un layout stanno per venire eliminati." -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "" "Avvisa se dei fotogrammi utilizzati in un layout stanno per venire spostati." -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "" "Avvisa se dei fotogrammi utilizzati in un layout stanno per venire alterati." -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "Avvisa se l'audio utilizzato in un layout sta per venire eliminato." -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "Avvisa se l'audio utilizzato in un layout sta per venire spostato." -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "Avvisa se l'audio utilizzato in un layout sta per venire alterato." -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "" -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "" "Avvisa se il layout non è stato salvato quando si lascia la modalità multi-" "traccia." -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "" "Avvisa se la multi-traccia non ha canali audio, e un layout con audio viene " "caricato" -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." @@ -8583,236 +8588,236 @@ "Avvisa se la multi-traccia ha canali audio, e se il tuo lettore audio non è " "\"jack\" o \"pulse audio\"." -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "" "Mostra un messaggio di informazioni dopo aver importato da un dispositivo " "firewire." -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "Mostra un avviso prima di aprire un flusso yuv4mpeg (avanzato)." -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "Mostra un avviso quando la multi-traccia ha poco spazio di backup." -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "" "Mostra un avviso che consigli di pulire lo spazio del disco dopo un crash." -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "" -#: src/preferences.c:4113 +#: src/preferences.c:3865 #, fuzzy msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "Mostra un avviso prima di aprire un flusso yuv4mpeg (avanzato)." -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "Avvisi" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "Sincronizzazione Midi (richiede i file midistart e midistop)" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "Quando si inseriscono/uniscono fotogrammi: " -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "_Velocizza/Rallenta Inserzione" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "_Ricampiona Inserzione" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "Dispositivo CD " -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "LiVES può caricare tracce audio da questo CD" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "FPS Predefinito " -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "Fotogrammi al secondo da usare quando non viene specificato nulla" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "Varie" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "Nuovo tema: " -#: src/preferences.c:4242 +#: src/preferences.c:3977 msgid "Main Theme Details" msgstr "" -#: src/preferences.c:4254 +#: src/preferences.c:3988 #, fuzzy msgid " _Foreground Color" msgstr "Colore Di _Sfondo" -#: src/preferences.c:4273 +#: src/preferences.c:4007 #, fuzzy msgid " _Background Color" msgstr "Colore Di _Sfondo" -#: src/preferences.c:4291 +#: src/preferences.c:4026 #, fuzzy msgid "_Alt Foreground Color" msgstr "Colore Di _Sfondo" -#: src/preferences.c:4309 +#: src/preferences.c:4044 #, fuzzy msgid "_Alt Background Color" msgstr "Colore Di _Sfondo" -#: src/preferences.c:4327 +#: src/preferences.c:4062 #, fuzzy msgid " Info _Text Color" msgstr " _Altezza " -#: src/preferences.c:4346 +#: src/preferences.c:4081 #, fuzzy msgid " Info _Base Color" msgstr " _Altezza " -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "" -#: src/preferences.c:4365 +#: src/preferences.c:4100 #, fuzzy msgid "Affects some contrast details of the timeline" msgstr "" "Gli effetti possono essere trascinati\n" "in blocchi sulla linea temporale." -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "" -#: src/preferences.c:4398 +#: src/preferences.c:4132 #, fuzzy msgid "Frame blank image" msgstr "Cambiamenti dei _fotogrammi" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "" -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4474 +#: src/preferences.c:4203 #, fuzzy msgid "Track background (multitrack)" msgstr "Rendi non vuoto lo sfondo (b)" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "" -#: src/preferences.c:4529 +#: src/preferences.c:4258 #, fuzzy msgid "Timeline selection (multitrack)" msgstr "Linea del tempo (secondi)" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "" -#: src/preferences.c:4553 +#: src/preferences.c:4282 #, fuzzy msgid "Timecode foreground (multitrack)" msgstr "Codice _temporale all'inizio della regione" -#: src/preferences.c:4565 +#: src/preferences.c:4293 #, fuzzy msgid "Frame surround" msgstr "_Fotogrammi al secondo" -#: src/preferences.c:4582 +#: src/preferences.c:4306 #, fuzzy msgid "Themes/Colors" msgstr "Temi" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "Larghezza di banda dei download (Kb/s) " -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "" "LiVES dev'essere compilato senza \"configure --disable-OSC\" per utilizzare " "OMC" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "Controllo remoto OMC abilitato" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "Porta UDP " -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "Avvia OMC all'avvio" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "Streaming/Collegamento in rete" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "Trasporto jack" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" @@ -8820,44 +8825,44 @@ "LiVES dev'essere compilato con jack/transport.h e jack/jack.h presenti per " "usare trasporto jack" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "File di configurazione di _trasporto jack" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "Avvia il _server all'avvio di LiVES" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "_Client jack transport (inizio e fine)" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "Jack transport imposta la posizione di avvio" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "Audio jack" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "" "LiVES dev'essere compilato con presente jack/jack.h per usare l'audio jack" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" @@ -8865,81 +8870,81 @@ "DEVI impostare il lettore audio in \"jack\" nella scheda Playback per usare " "l'audio jack" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "File di configurazione del server _audio jack" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "Riproduci l'audio anche quando transport è in _pausa" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "Integrazione Jack" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "Eventi a cui rispondere:" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "Eventi _joystick" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "Dispositivo _joystick" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "Il dispositivo joystick, per esempio /dev/input/js0" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "Eventi _MIDI" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "Utilizza _ALSA MIDI (consigliato)" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "" "Crea una porta ALSA MIDI a cui gli altri dispositivi MIDI si possono " "connettere" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "Utilizza MIDI _grezzo" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "Leggi direttamente dal dispositivo MIDI" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "Dispositivo MI_DI" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "Il dispositivo MIDI, per esempio /dev/input/midi0" -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "Avanzate" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "_Valore di controllo MIDI" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." @@ -8947,25 +8952,25 @@ "Numero di controlli MIDI per battuta di tastiera. L'aumento di questo può " "migliorare la risposta MIDI, ma può rallentare la riproduzione." -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "Ripetizione MIDI" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "Numero di non-letture permesso tra letture successive." -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "" "(Attenzione: impostare questo valore troppo alto può rallentare la " "riproduzione.)" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "Studente MIDI/joystick" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -8977,46 +8982,46 @@ "della directory abbia effetto.\n" "Clicca OK per continuare.\n" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." msgstr "" -#: src/preferences.c:5525 +#: src/preferences.c:5205 #, fuzzy msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "" "I cambiamenti di tema non avranno effetto fino al prossimo avvio di LiVES." -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "" "Le opzioni di jack non avranno effetto fino al prossimo avvio di LiVES." -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "" "Sincronizzando con il valore dei fotogrammi esterno di %.8f fotogrammi al " "secondo.\n" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "Non è possibile inizializzare il ricevitore OSC\n" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "ATTENZIONE: Non è possibile avviare il server OSC sulla porta UDP %d\n" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "Avviato il server OSC sulla porta UDP %d\n" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "Non è possibile avviare il server OSC/UDP sulla porta %d \n" @@ -9039,12 +9044,12 @@ msgid "Resample/Resize" msgstr "Ricampiona/Ridimensiona" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "La lunghezza del video è adesso di %d fotogrammi.\n" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" @@ -9054,147 +9059,147 @@ "\n" "Il nuovo rapporto dev'essere maggiore di 0\n" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "Ricampionando l'audio" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "LiVES non è stato in grado di ricampionare l'audio come richiesto.\n" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "Ricampiona Audio" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "L'audio è stato ricampionato a %d Hz, %d canali, %d bit" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "Ricampionando il video a %.8f fotogrammi al secondo..." -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "Ricampionando il video a %.3f fotogrammi al secondo..." -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "Errore di riordinamento !\n" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "Ricampiona" -#: src/resample.c:1208 +#: src/resample.c:1209 #, fuzzy msgid "New Clip Audio" msgstr "Nuovo Audio" -#: src/resample.c:1210 +#: src/resample.c:1211 #, fuzzy msgid "External Clip Settings" msgstr "LiVES: - Impostazioni Clip Esterne" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "Corrente" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "Valore (Hz) " -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 msgid "Channels" msgstr "" -#: src/resample.c:1256 +#: src/resample.c:1257 msgid "Sample Size " msgstr "" -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "Firmato" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "Non Firmato" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "Piccolo Endian" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "Grande Endian" -#: src/resample.c:1322 +#: src/resample.c:1323 #, fuzzy msgid "New Audio Details" msgstr "Nuovo Audio" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "Nuovo" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "_Abilita audio" -#: src/resample.c:1369 +#: src/resample.c:1370 msgid "_Channels" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "_Sample Size" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "Sample Size" msgstr "" -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "_Fotogrammi Al Secondo " -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "Registra per un massimo di: " -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr " ore " -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr " minuti " -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr " secondi " -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "Illimitato" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "Clicca OK per iniziare a registrare, o Annulla per uscire." -#: src/resample.c:1635 +#: src/resample.c:1636 #, fuzzy msgid "Change Playback Speed" msgstr "_Cambia Velocità di Salvataggio/Riproduzione..." -#: src/resample.c:1637 +#: src/resample.c:1638 #, fuzzy msgid "Resample Video" msgstr "Ricampionando il video" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -9211,7 +9216,7 @@ "Per piacere inserisci la velocità di riproduzione desiderata\n" "in _fotogrammi al secondo" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -9228,15 +9233,15 @@ "Per piacere inserisci il valore _ricampionato\n" "in fotogrammi al secondo" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "OPPURE inserisci la lunghezza desiderata del clip in _secondi" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "Cambia anche la velocità dell'_audio" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" @@ -9247,7 +9252,7 @@ "traccia.\n" "Sei sicuro di voler cambiare la velocità ?\n" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" @@ -9258,49 +9263,49 @@ "traccia.\n" "Sei sicuro di voler cambiare la velocità ?\n" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "Cambiamento Della Velocità" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "" "Cambiata la velocità di riproduzione in %.3f fotogrammi al secondo e l'audio " "in %d Hz.\n" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "Cambiata la velocità di riproduzione in %.3f fotogrammi al secondo.\n" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "Ricampionando il video" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "Ricampionando il video degli appunti" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "Riordinamento fotogrammi in corso" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" @@ -9310,11 +9315,11 @@ "\n" "LiVES non è stato in grado di riordinare i fotogrammi." -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "Disordinamento dei fotogrammi in corso" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "ricampionando l'errore..." @@ -9578,7 +9583,7 @@ msgid "Mode active" msgstr "Modalità in corso di esecuzione" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "Informazioni" @@ -9707,48 +9712,48 @@ msgid "Opened firewire card %d" msgstr "" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "Backup automatico" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "Audio di supporto" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, fuzzy, c-format msgid "%s : parameters for %s" msgstr "Nessun parametro" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "Traccia corrente: %s (livello %d)\n" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "Traccia corrente: Audio di supporto\n" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "Traccia corrente: Audio livello %d\n" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "%.2f secondi.\n" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "Fonte: %s" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "Clicca con il tasto destro per attivare il menu contestuale\n" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." @@ -9756,7 +9761,7 @@ "Clicca due volte su un blocco\n" "per selezionarlo." -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -9765,7 +9770,7 @@ "right or double clicking on it.\n" msgstr "" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -9773,7 +9778,7 @@ "Select an effect in FX stack first to view its parameters.\n" msgstr "" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" @@ -9783,7 +9788,7 @@ "\n" "Nessun clip caricato.\n" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -9793,7 +9798,7 @@ "before inserting clips into the timeline." msgstr "" -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -9807,12 +9812,12 @@ "e una regione temporale\n" "per applicare i compositori.\n" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "Dal secondo %.2f al secondo %.2f.\n" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" @@ -9820,12 +9825,12 @@ "Click singolo sulla linea del tempo\n" "per selezionare un fotogramma.\n" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" @@ -9833,155 +9838,155 @@ "Puoi cliccare e trascinare\n" "sotto la linea temporale" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr "per selezionare una regione temporale.\n" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 #, fuzzy msgid "Selected Clip" msgstr "LiVES: Clip selezionato" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 #, fuzzy msgid "_Adjust Start and End Points" msgstr "_Regola i punti di inizio e di fine" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 #, fuzzy msgid "_Edit/Encode in Clip Editor" msgstr "_Modifica/codifica nell'editor clip" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 #, fuzzy msgid "_Show Clip Information" msgstr "_Mostra informazioni sul clip" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 #, fuzzy msgid "_Close this Clip" msgstr "C_hiudi Questo Clip" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 #, fuzzy msgid "Audio Mixer (ctrl-m)" msgstr "Mixer audio (ctrl-m)" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "Clicca una volta sulla linea temporale" -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "per selezionare un frame." -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "" -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "per selezionare un blocco." -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "I clip possono venire trascinati" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "sulla linea temporale." -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "La modalità del mouse è: Sposta" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "i clip possono venire spostati in giro." -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "La modalità del mouse è: Seleziona." -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "Trascina col mouse sulla linea temporale" -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "per selezionare tracce e tempo." -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "Chiudi il/i primo/i intervallo/i nel tempo e nelle tracce selezionate" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "Chiudi intervalli" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "Sposta blocco" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "Sposta blocco audio" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "Elimina blocco" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "Elimina blocco audio" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "Dividi tracce" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "Dividi blocco" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "Applica %s" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "Elimina %s" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "Inserisci blocco" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "Inserisci intervallo" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "Inserisci blocco audio" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "Cambiamento dell'ordine dell'effetto" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "non firmato " -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "firmato " -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " @@ -9990,15 +9995,15 @@ "Valori multi-traccia impostati a %.3f fps, dimensione del fotogramma %d x " "%d, canali audio %d, tasso audio %d, dimensione audio di esempio %d, %s.\n" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "elenco di eventi non valido. Fallito.\n" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "l'elenco degli eventi ha degli fps non validi. Fallito.\n" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -10013,7 +10018,7 @@ "chiudere il set corrente,\n" "quindi caricare nel nuovo set dal menù File.\n" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -10024,491 +10029,491 @@ "Questo ha un numero non valido di canali audio (%d) per LiVES.\n" "Non può essere caricato.\n" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "Il layout è stato eliminato.\n" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "LiVES-%s: Multi-traccia %dx%d : %d bpp %.3f fps" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "Pila FX" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "Parametri" -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "_Apri..." -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "A_pri Selezione File..." -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "Importa Selezione da _dvd/vcd..." -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "Importa Selezione da d_vd" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "Importa Selezione da v_cd" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "I_mporta da Dispositivo" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 #, fuzzy msgid "_Close the Selected Clip" msgstr "_Chiudi il clip selezionato" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 #, fuzzy msgid "_Save Layout as..." msgstr "_Salva layout come..." -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 #, fuzzy msgid "_Load Layout..." msgstr "_Carica layout..." -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 #, fuzzy msgid "_Wipe/Delete Layout..." msgstr "_Pulisci/Elimina layout..." -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 #, fuzzy msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "_Ignora larghezza, altezza e valori audio dai layout caricati" -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 msgid "Auto Load _Subtitles with Clips" msgstr "" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "EDITOR _CLIP" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 #, fuzzy msgid "_Adjust Selected Clip Start/End Points" msgstr "_Regola i punti del clip selezionato di inizio/fine" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "_Inserisci clip selezionato" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 #, fuzzy msgid "_Insert Selected Clip Audio" msgstr "In_serisci audio clip selezionato" -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 #, fuzzy msgid "_Delete Selected Block" msgstr "_Elimina blocco selezionato" -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 #, fuzzy msgid "_Jump to Previous Block Boundary" msgstr "_Vai al precedente blocco di confine" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 #, fuzzy msgid "_Jump to Next Block Boundary" msgstr "_Vai al prossimo blocco di confine" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 #, fuzzy msgid "Clear _Marks from Timeline" msgstr "Pulisci _segni dalla linea del tempo" -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 #, fuzzy msgid "Ignore Selection Limits when Inserting" msgstr "Ignora i limiti della selezione durante l'inserimento" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "_Riproduci dalla Posizione Sulla Linea Del Tempo" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 #, fuzzy msgid "Pla_y Selected Time Only" msgstr "Ripro_duci Selezione" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 #, fuzzy msgid "_Move Effects with Blocks" msgstr "_Muovi gli effetti con i blocchi" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 #, fuzzy msgid "Select _Autotransition Effect..." msgstr "Seleziona Ultimo _Effetto" -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 #, fuzzy msgid "Crossfade Audio with Autotransition" msgstr "Dissolvi l'audio in modo incrociato" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 #, fuzzy msgid "View/_Edit Selected Effect" msgstr "Visualizza/_Modifica l'effetto selezionato" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 #, fuzzy msgid "_Delete Selected Effect" msgstr "_Elimina l'effetto selezionato" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 #, fuzzy msgid "Apply Effect to _Block..." msgstr "Applica l'effetto al _blocco..." -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 #, fuzzy msgid "Apply Effect to _Region..." msgstr "Applica l'effetto alla _regione..." -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "_Tracce" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 #, fuzzy msgid "Make _Backing Audio Current Track" msgstr "Rendi la traccia corrente Audio Di _Supporto" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "Aggiungi Traccia Video al _Retro" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "Aggiungi Traccia Video al _Fronte" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 #, fuzzy msgid "_Split Current Track at Cursor" msgstr "_Dividi traccia corrente con il cursore" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 #, fuzzy msgid "_Split Selected Video Tracks" msgstr "_Dividi tracce video selezionate" -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 #, fuzzy msgid "Insert Gap in Selected Tracks/Time" msgstr "Inserisci intervallo nel tempo e nelle tracce selezionate" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 #, fuzzy msgid "Insert Gap in Current Track/Selected Time" msgstr "Inserisci intervallo nella traccia corrente/tempo selezionato" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 #, fuzzy msgid "Close All _Gaps in Selected Tracks/Time" msgstr "Chiudi tutti gli _intervalli nel tempo/tracce selezionate" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "Se_lezione" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "_Seleziona Traccia Corrente" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 #, fuzzy msgid "Select _All Video Tracks" msgstr "Seleziona _tutte le tracce video" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 #, fuzzy msgid "Select _No Video Tracks" msgstr "_Deseleziona tutte le tracce video" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 #, fuzzy msgid "Select All _Time" msgstr "Seleziona tutto il _tempo" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 #, fuzzy msgid "Select from _Zero Time" msgstr "Seleziona dal tempo _zero" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 #, fuzzy msgid "Select to _End Time" msgstr "Seleziona dal tempo _finale" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "_Copia..." -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 #, fuzzy msgid "_Timecode to Region Start" msgstr "Codice _temporale all'inizio della regione" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 #, fuzzy msgid "_Timecode to Region End" msgstr "Codice _temporale alla fine della regione" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 #, fuzzy msgid "_Region Start to Timecode" msgstr "Avvio della _regione al codice temporale" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 #, fuzzy msgid "_Region End to Timecode" msgstr "Fine della _regione al codice temporale" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 #, fuzzy msgid "Select/Deselect Block at Current Track/Time" msgstr "_Seleziona Traccia Corrente" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 #, fuzzy msgid "_Change Width, Height and Audio Values..." msgstr "_Cambia larghezza, altezza e valori audio..." -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "_Renderizza" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 #, fuzzy msgid "_Render All to New Clip" msgstr "_Renderizza tutto nel nuovo clip" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 #, fuzzy msgid "Render _Video" msgstr "Renderizza _video" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 #, fuzzy msgid "Render _Audio" msgstr "Renderizza _audio" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 #, fuzzy msgid "_Normalise Rendered Audio" msgstr "_Pre-renderizza audo" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 #, fuzzy msgid "_Pre-render Audio" msgstr "_Pre-renderizza audo" -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "_Visualizza" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 #, fuzzy msgid "Block _In/Out Points" msgstr "Blocca punti _Dentro/fuori" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 #, fuzzy msgid "_Effects at Current" msgstr "_Effetti correnti" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 #, fuzzy msgid "Audio Parameters" msgstr "Parametri audio" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 #, fuzzy msgid "Show Backing _Audio Track" msgstr "Mostra traccia _audio di supporto" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 #, fuzzy msgid "Compact View" msgstr "Visualizzazione compatta" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 #, fuzzy msgid "Maximum Tracks to Display..." msgstr "Tracce massime da mostrare..." -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 #, fuzzy msgid "Scroll to Follow Playback" msgstr "Scorri per seguire la riproduzione" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 #, fuzzy msgid "_Center on Cursor" msgstr "_Centra sul cursore" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 #, fuzzy msgid "_Zoom In" msgstr "_Ingrandisci" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 #, fuzzy msgid "_Zoom Out" msgstr "_Rimpicciolisci" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 #, fuzzy msgid "Multitrack _Details" msgstr "_Dettagli multi-traccia" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "Finestra _Eventi" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "Finestra _Eventi (solamente il tempo selezionato)" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 #, fuzzy msgid "_Show FRAME Events" msgstr "_Mostra eventi FRAME" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 #, fuzzy msgid "_Show Multitrack Keys" msgstr "_Mostra tasti multi-traccia" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "Segnala un _bug" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 #, fuzzy msgid "Insert With _Audio" msgstr "Inserisci con _audio" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 #, fuzzy msgid "Select _Overlap" msgstr "Seleziona traccia" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" msgstr "" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "Visualizzazione Estesa (d)" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "Visualizzazione Compatta (d)" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "Gravità: _Normale" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "Gravità: _Sinistra" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "Gravità: _Destra" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 #, fuzzy msgid "Mouse Mode: _Move" msgstr "Modalità mouse: _Sposta" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 #, fuzzy msgid "Mouse Mode: _Select" msgstr "Modalità mouse: Se_leziona" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 #, fuzzy msgid "Insert Mode: _Normal" msgstr "Modalità di inserimento: _Normale" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "_Applica" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "Tempo" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "_Elimina nodo" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "Nodo _successivo" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "Nodo _precedente" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "_Inverti riproduzione " -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "_Velocità " -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "_Inizio ancora" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "Ancora il punto di inizio alla linea del tempo" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "_Fine ancora" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "Ancora il punto di fine alla linea del tempo" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "Scorri" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" @@ -10518,95 +10523,95 @@ "==============================\n" "Passato alla modalità Modifica Clip\n" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "Linea del tempo (secondi)" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr " Audio di supporto" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr " Audio livello %d" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "Mostra/nascondi i dettagli dell'audio" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "Audio livello %d" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "%s (livello %d)" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "Seleziona traccia" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "Mostra/nascondi audio" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "Video %d" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr " %s" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 #, fuzzy msgid "Selected Effect" msgstr "Seleziona Ultimo _Effetto" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 #, fuzzy msgid "_View/Edit this Effect" msgstr "_Visualizza/Modifica questo effetto" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 #, fuzzy msgid "_View this Effect" msgstr "Vis_ualizza questo effetto" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 #, fuzzy msgid "_Delete this Effect" msgstr "_Elimina questo effetto" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "Non è possibile inserire dopo questo effetto" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "Questo effetto non pù essere spostato" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr " selezionato da %d a %d " -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "%.2f secondi." -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "%d fotogrammi" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" @@ -10616,70 +10621,70 @@ "==============================\n" "Passato alla modalità Multi-traccia\n" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "Trascina il cursore del tempo dove" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "vuoi impostare i parametri degli effetti" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "Imposta i parametri, poi clicca \"Applica\"\n" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" "Nodes can be deleted." msgstr "" -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "L'effetto non ha parametri.\n" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "output %s" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "livello %d" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "traccia audio" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "da %s a %s" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "Mappa dei filtri _precedente" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "Inserisci pr_ima" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "Inserisci _dopo" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "Mappa dei filtri _successiva" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -10691,7 +10696,7 @@ "Nessun effetto nella traccia corrente,\n" "tempo corrente.\n" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" @@ -10701,7 +10706,7 @@ "sulla linea temporale\n" "per applicarlo alla regione selezionata." -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" @@ -10711,7 +10716,7 @@ "sulla linea temporale\n" "per applicarla alla regione selezionata." -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." @@ -10719,67 +10724,67 @@ "Gli effetti possono essere trascinati\n" "in blocchi sulla linea temporale." -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 #, fuzzy msgid "Selected Block/Frame" msgstr "LiVES: Blocco/fotogramma selezionato" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 #, fuzzy msgid "_Select this Block" msgstr "_Seleziona questo blocco" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 #, fuzzy msgid "_Split Block Here" msgstr "_Dividi il blocco qui" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 #, fuzzy msgid "List _Effects Here" msgstr "Elenca gli _effetti qui" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "_Regola %s" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 #, fuzzy msgid "_Delete this Block" msgstr "_Elimina questo blocco" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 #, fuzzy msgid "_Insert Here" msgstr "_Inserisci qui" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 #, fuzzy msgid "_Insert Audio Here" msgstr "In_serisci audio qui" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "Intervallo inserito nelle tracce selezionate dal tempo %.4f a %.4f\n" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "Intervallo inserito nella traccia %s dal tempo %.4f a %.4f\n" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "Annullato %s\n" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "Rifatto %s\n" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" @@ -10787,72 +10792,72 @@ "\n" " (variabile)" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "traccia %s" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "tracce %s e %s" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "tracce selezionate" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "Aggiunti %s %s a %s da %.4f a %.4f\n" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "Aggiunto l'effetto %s alla traccia %s da %.4f a %.4f\n" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "renderizzati %d fotogrammi nel nuovo clip.\n" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "Pulizia in corso..." -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, fuzzy, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "Intervallo inserito nella traccia %s dal tempo %.4f a %.4f\n" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, fuzzy, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "Eliminando l'audio da %.2f a %.2f secondi..." -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "_Pausa" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "Pausa (p)" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "Premi 'm' durante la riproduzione" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "per creare un segno sulla linea del tempo" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " @@ -10861,7 +10866,7 @@ "Audio inserito da %.4f a %.4f dal clip %s nell'audio di supporto dal tempo " "%.4f a %.4f\n" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" @@ -10869,7 +10874,7 @@ "Fotogrammi inseriti da %d a %d dal clip %s nella traccia %s dal tempo da " "%.4f a %.4f\n" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" @@ -10878,7 +10883,7 @@ "Regione temporale da %.3f a %.3f\n" "selezionata\n" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" @@ -10886,12 +10891,12 @@ "seleziona una o più tracce\n" "per creare una regione.\n" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "%d tracce video selezionate.\n" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." @@ -10899,7 +10904,7 @@ "Clicca due volte sulla linea temporale\n" "per deselezionare la regione temporale." -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." @@ -10907,7 +10912,7 @@ "Clicca una volta su un effetto\n" "per selezionarlo." -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." @@ -10915,7 +10920,7 @@ "Clicca due volte su un effetto\n" "per modificarlo" -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" @@ -10923,7 +10928,7 @@ "Clicca col tasto destro del mouse su un effetto\n" "per il menù del contesto.\n" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" @@ -10931,21 +10936,21 @@ "L'ordine degli effetti può essere cambiato in\n" "MAPPE FILTRO" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" msgstr "" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "o INSERISCI DOPO per spostarlo." -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "Clicca su un altro effetto," -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" @@ -10953,51 +10958,51 @@ "e quello selezionato\n" "sarà inserito" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "dopo di esso.\n" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "prima di esso.\n" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "Rimossi i valori del parametro per l'effetto %s al tempo %.4f\n" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "Imposta i valori del parametro per %s %s su %s al tempo %.4f\n" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "Ricarica _automaticamente ogni volta" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 #, fuzzy msgid "Saving layout" msgstr "_Salva layout" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "Salvato il layout in %s\n" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "clip e fotogrammi" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "clip" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "fotogrammi" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" @@ -11005,7 +11010,7 @@ "\n" "Ricarica automaticamente il layout.\n" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -11016,11 +11021,11 @@ "Alcuni %s mancano nel layout%s\n" "Quindi non può venire caricato correttamente.\n" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "backup automatico" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" @@ -11029,31 +11034,31 @@ "\n" "Impossibile caricare il file layout %s\n" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "Caricamento del layout da %s in corso..." -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "Ottenuti %d eventi...processo in corso..." -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "Controllando e ricostruendo l'elenco degli eventi" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "%d errori trovati.\n" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "Fps multi-traccia impostato a %.3f\n" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 #, fuzzy msgid "" "The current layout has changes which have not been saved.\n" @@ -11062,20 +11067,20 @@ "Il layout attuale non è stato salvato.\n" "Cosa vorresti fare ?\n" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 #, fuzzy msgid "Multitrack Audio Mixer" msgstr "LiVES: Mixer audio multi-traccia" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "_Azzera valori" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "_Chiudi mixer" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" @@ -11083,17 +11088,17 @@ "_Inverti l'audio di supporto\n" "e i volumi dei layer" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "" "Regola i valori dell'audio di sostegno e di livello in modo che la loro " "somma sia pari a 1.0" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "_Riunisci audio livello" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "Regola tutti i valori audio del layer allo stesso valore" @@ -11119,7 +11124,7 @@ "Connection to jack audio was reset.\n" msgstr "" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -11127,7 +11132,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -11135,7 +11140,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:104 +#: src/pulse.c:105 #, fuzzy msgid "" "\n" @@ -11147,27 +11152,27 @@ "lettore audio \"jack\" o \"pulse audio\".\n" "Puoi impostare ciò in Strumenti|Preferenze|Riproduzione." -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" msgstr "" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" msgstr "" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "non accumulato" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr "accumulato"
View file
LiVES-2.8.4.tar.bz2/po/ja.po -> LiVES-2.8.6.tar.bz2/po/ja.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: ja\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" "PO-Revision-Date: 2013-03-14 12:31+0000\n" "Last-Translator: Launchpad Translations Administrators <Unknown>\n" "Language-Team: Japanese <ja@li.org>\n" @@ -18,7 +18,7 @@ "X-Launchpad-Export-Date: 2013-03-28 10:43+0000\n" "X-Generator: Launchpad (build 16546)\n" -#: src/main.c:132 +#: src/main.c:125 msgid "" "Attention Translators !\n" "This message is intended for you, so please do not translate it.\n" @@ -27,22 +27,22 @@ "http://lives-video.com/TRANS-README.txt" msgstr "" -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "" -#: src/main.c:203 +#: src/main.c:197 #, fuzzy, c-format msgid "" "\n" @@ -56,7 +56,7 @@ "してください。\n" "ご協力ありがとうございます。LiVESを再起動すれば復元が行われるでしょう。\n" -#: src/main.c:205 +#: src/main.c:199 #, fuzzy, c-format msgid "" "\n" @@ -69,7 +69,7 @@ "クラッシュ報告する際は、使用しているOS・ディストリビューションやLiVESのバー" "ジョンなどの詳細も含めてください (" -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" @@ -77,7 +77,7 @@ "また、以下の情報もお願いします:\n" "\n" -#: src/main.c:210 +#: src/main.c:204 #, fuzzy msgid "" "Please try running LiVES with the -debug option to collect more " @@ -88,7 +88,7 @@ "と共に実行してください。\n" "\n" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" @@ -98,90 +98,90 @@ "と共に実行してください。\n" "\n" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "セットの保護\n" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "任意" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "なし" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "推奨" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "使用不能!" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "**現在のレイアウト**" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "ビルトイン" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "カスタム" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "テスト" -#: src/main.c:474 +#: src/main.c:460 #, fuzzy msgid "LiVES: - " msgstr "LiVES: - 結合" -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "リサイズ" -#: src/main.c:731 +#: src/main.c:708 #, fuzzy msgid "_Resize All Frames..." msgstr "全フレームのリサイズ(_R)" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "" -#: src/main.c:1122 +#: src/main.c:1094 #, fuzzy msgid "Background" msgstr "空白のバックグラウンド(_B)" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "リアルタイムエフェクトプラグインを読み込み中..." -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "JACKサーバーの音声機能を開始しています..." -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "JACKサーバーのトランスポート機能を開始しています..." -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "JACKサーバーのトランスポート機能に接続しています..." -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -193,35 +193,35 @@ "Alternatively, try to start lives with either \"lives -jackopts 16\", or " msgstr "" -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "PulseAudioサーバーを開始しています..." -#: src/main.c:1855 +#: src/main.c:1813 #, fuzzy, c-format msgid "%s...detected... " msgstr "mplayerが見つかりました..." -#: src/main.c:1856 +#: src/main.c:1814 #, fuzzy, c-format msgid "%s...NOT DETECTED... " msgstr "mplayerは見つかりませんでした..." -#: src/main.c:1867 +#: src/main.c:1824 #, fuzzy msgid "Checking optional dependencies: " msgstr "必ずしも必要ではない依存関係を確認しています:" -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "不明 - パッチを送ってください!" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -232,53 +232,53 @@ "\n" "ウィンドウマネジャーは \"%s\" です; " -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "検出されたモニタ数: %d\n" -#: src/main.c:1901 +#: src/main.c:1863 #, c-format msgid "Number of CPUs detected: %d " msgstr "" -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "リトルエンディアン" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "ビッグエンディアン" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "" -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1927 +#: src/main.c:1889 #, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr "" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "一時ディレクトリは %s です。\n" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" @@ -288,15 +288,15 @@ "サポートしない状態でコンパイルされています。\n" "そのため音声機能の多くが利用できません。\n" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "JACKサーバーをサポートした状態でコンパイルされています\n" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "PulseAudioをサポートする状態でコンパイルされています!\n" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" @@ -305,7 +305,7 @@ "LiVES version %s へようこそ。\n" "\n" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" @@ -314,78 +314,78 @@ "\n" "起動方法: %s [オプション] [ファイル名 [開始時刻] [フレーム]]\n" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "" "ファイル名は、メディアファイルもしくはバックアップファイルの名前です。\n" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "開始時刻 : ファイル名 開始時刻(秒)\n" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "フレーム : オープンする最大フレームの数\n" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "オプション:\n" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "-help : ヘルプを表示して終了\n" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "-tmpdir <tempdir>: 別な作業用ディレクトリを使う(例 /var/ramdisk)\n" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "-set <setname> : 自動読み込みするクリップをsetnameとする\n" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "-noset : 開始時にセットの読み込みをしない\n" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "-norecover : 読み込み時にクラッシュからの復元を強制しない\n" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "-recover : 読み込み時にクラッシュからの復元を強制する\n" -#: src/main.c:2593 +#: src/main.c:2545 #, fuzzy msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "-nothreaddialog : 何も行いません - 後方互換性のために残しています\n" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "-nogui : GUIを表示しない\n" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "-nosplash : スプラッシュウィンドウを表示しない\n" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "-noplaywin : プレイウィンドウを表示しない\n" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "-startup-ce : クリップ編集モードで起動する\n" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "-startup-mt : マルチトラックモードで起動する\n" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" @@ -393,15 +393,15 @@ "-fxmodesmax <n> : エフェクトキーそれぞれに <n> つのモードを許可する(最小は" "1、デフォルトは8)\n" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "-oscstart <port> : OSCリスナーをUDPポート<port>で開始する\n" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "-nooscstart : OSCリスナーを起動しない\n" -#: src/main.c:2605 +#: src/main.c:2557 #, fuzzy msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " @@ -409,15 +409,15 @@ msgstr "-aplayer <ap> : 選択したオーディオプレーヤーを起動する。<ap>はmplayer" #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr ", pulse" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr "、soxまたはjack\n" -#: src/main.c:2613 +#: src/main.c:2565 #, fuzzy msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " @@ -428,15 +428,15 @@ "transport client, 2 = jack transport master,4 = start jack transport server, " "8 = pause audio when video paused,16 = start jack audio server] \n" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr " または sox\n" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "-devicemap <mapname> : autoload devicemap\n" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" @@ -444,16 +444,16 @@ "-vppdefaults <file> : 映像再生プラグインのデフォルトを<file> から読" "み込む(注: プラグインの種類ではなく設定のセットのみ)\n" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "" "-debug : クラッシュのデバックを試みる (gdbのインストールが必要)\n" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "GUIを開始..." -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -464,7 +464,7 @@ "(Maybe you need to change the value of <prefix_dir> in your %s file)\n" msgstr "" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -472,7 +472,7 @@ "Please make sure you have write access to %s and try again.\n" msgstr "" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -486,7 +486,7 @@ "LiVESを実行する前に、パッケージに附属するREADMEファイルを\n" "確認してください。\n" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -496,7 +496,7 @@ "Please check the file permissions for this file and try again.\n" msgstr "" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -507,7 +507,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -515,7 +515,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2737 +#: src/main.c:2689 #, fuzzy, c-format msgid "" "\n" @@ -530,7 +530,7 @@ "\n" "%s" -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -548,7 +548,7 @@ "\n" "よろしくお願いします。\n" -#: src/main.c:2751 +#: src/main.c:2703 #, fuzzy msgid "" "\n" @@ -559,7 +559,7 @@ "LiVESは現在のところ正しく動作するために'mplayer'または'sox'を必要とします。い" "ずれかひとつもしくは両方をインストールして、再び試してください。\n" -#: src/main.c:2756 +#: src/main.c:2708 #, fuzzy msgid "" "\n" @@ -570,7 +570,7 @@ "LiVESは現在のところ正しく動作するために'mplayer'または'sox'を必要とします。い" "ずれかひとつもしくは両方をインストールして、再び試してください。\n" -#: src/main.c:2769 +#: src/main.c:2721 #, fuzzy msgid "" "\n" @@ -581,7 +581,7 @@ "LiVESは'mplayer'を検出できませんでした。LiVESをより完全に使うには、mplayerを" "インストールするとよいでしょう。\n" -#: src/main.c:2775 +#: src/main.c:2727 #, fuzzy msgid "" "\n" @@ -592,7 +592,7 @@ "LiVESは'mplayer'を検出できませんでした。LiVESをより完全に使うには、mplayerを" "インストールするとよいでしょう。\n" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" @@ -602,7 +602,7 @@ "LiVESは'convert'を検出できませんでした。描画エフェクトを使いたい場合はconvert" "およびimageMagickをインストールしてください。\n" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " @@ -612,7 +612,7 @@ "LiVESは'composite'を検出できませんでした。マージ機能を使いたい場合はcomposite" "およびimageMagickをインストールしてください。\n" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " @@ -622,7 +622,7 @@ "LiVESはsoxを探すことができませんでした。いくつかの音声機能は使えません。soxを" "インストールしてください。\n" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -633,63 +633,63 @@ "You may need to change the value of <lib_dir> in %s\n" msgstr "" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "レンダリングエフェクトプラグインの読み込み中..." -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "セット %s を自動読み込み中..." #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "LiVES" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "無効なオーディオプレーヤー %s\n" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <無題%d> %dx%d : %d frames %d bpp %.3f fps" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "LiVES-%s: <ファイル未設定>" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "記録 %9d/%d" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "!記録 %9d/%d" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "再生" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" @@ -697,34 +697,34 @@ "LiVESはこの画像をキャプチャできませんでした\n" "\n" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "ファイル %s を閉じました\n" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "元に戻す(_U)" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "やり直す(_R)" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "ビデオ" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "左音声" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "右音声" -#: src/main.c:7078 +#: src/main.c:6973 #, fuzzy msgid "" "\n" @@ -932,7 +932,7 @@ msgid "Use _mplayer2 audio player" msgstr "mplayerを使用する(_M)" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "次へ(_N)" @@ -1167,55 +1167,55 @@ msgid "_Finish" msgstr "完了(_F)" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "LiVESにファイル拡張子を指定する(_F)" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "LiVESがファイル拡張子を補完(.%s)(_F)" -#: src/interface.c:46 +#: src/interface.c:42 msgid "Apply _Deinterlace" msgstr "" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "" "これを設定すると、フレームがインポートされたときにインターレースを解除しま" "す。" -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "プレビュー" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "クリックで、選択された映像、画像、音声をプレビュー(_P)" -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "クリックで、選択された音声をプレビュー(_P)" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "クリックで、映像をプレビュー(_P)" -#: src/interface.c:122 +#: src/interface.c:113 #, fuzzy msgid "Click here to _Preview the file" msgstr "クリックで、映像をプレビュー(_P)" -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 #, fuzzy msgid "Processing..." msgstr "LiVES: - 処理中..." -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1229,8 +1229,8 @@ "\n" "忘れないよう後でエフェクトを停止(ctrl-0)させてください!" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" @@ -1238,175 +1238,180 @@ "\n" "お待ちください" -#: src/interface.c:221 +#: src/interface.c:206 msgid "Show Details" msgstr "" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "OK(_E)" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "プレビュー(_P)" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "一時停止(_E)" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "一時停止(_E)" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "キャンセル(_C)" -#: src/interface.c:334 +#: src/interface.c:324 #, fuzzy msgid "Multitrack Details" msgstr "マルチトラックの詳細(_D)" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "フォーマット" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "フレームサイズ" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "ファイルサイズ" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "バイトサイズ" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "FPS" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "フレーム" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "イベント" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "全時間" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "音声" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "レート/サイズ" -#: src/interface.c:568 +#: src/interface.c:590 #, fuzzy msgid "Encoding Options" msgstr "LiVES: - エンコーディングオプション" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "<------------- (推奨サイズを適用する場合はチェックを入れて下さい(_S))" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "<------------- (推奨サイズを計算する場合はチェックを入れて下さい(_S))" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "アスペクト比を維持するためレターボックスを使用する(オプション)(_L)" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." msgstr "画面が伸縮されないよう、画像の上部あるいは左右に黒い四角を配置します。" -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "設定を保存(_M)" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "推奨される設定を使用(_R)" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "ウィンドウを閉じる(_C)" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "ファイルに保存(_S)" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "挿入" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "挿入する回数(_N)" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "音声に合わせて挿入(_I)" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "選択範囲の前に挿入(_B)" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "選択したフレームの前にクリップボードを挿入" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "選択範囲の後に挿入(_A)" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "選択したフレームの後にクリップボードを挿入" -#: src/interface.c:833 +#: src/interface.c:846 +#, fuzzy +msgid "Insert _with silence" +msgstr "音声と共に挿入(_W)" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "音声と共に挿入(_W)" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "音声なしで挿入(_O)" -#: src/interface.c:924 +#: src/interface.c:937 #, fuzzy msgid "Open Selection" msgstr "選択範囲をコピー(_C)" -#: src/interface.c:943 +#: src/interface.c:954 msgid "Selection start time (sec)" msgstr "" -#: src/interface.c:949 +#: src/interface.c:960 msgid "Number of frames to open" msgstr "" -#: src/interface.c:1023 +#: src/interface.c:1029 #, fuzzy msgid "Open Location" msgstr "LiVES: - 場所を開く" -#: src/interface.c:1025 +#: src/interface.c:1031 #, fuzzy msgid "Open Youtube Clip" msgstr "Youtube クリップを開く(_Y)..." -#: src/interface.c:1045 +#: src/interface.c:1050 #, fuzzy msgid "" "\n" @@ -1423,7 +1428,7 @@ "また、「設定 | ストリーミング」でバンド幅の設定も確認してください。\n" "\n" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1438,7 +1443,7 @@ "このツールの最新バージョンをインストールしているか確認してください。\n" "\n" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" @@ -1448,65 +1453,65 @@ "例: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "URL : " -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "Youtube URL : " -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "バンド幅情報を送らない" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "ストリームの取得に問題がある場合はこの設定を試してください" -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "ダウンロード先ディレクトリ(_D): " -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "ダウンロードファイル名(_F): " -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr ".webm" -#: src/interface.c:1188 +#: src/interface.c:1189 #, fuzzy msgid "Rename Clip" msgstr "クリップの回転" -#: src/interface.c:1190 +#: src/interface.c:1191 #, fuzzy msgid "Enter Set Name to Save as" msgstr "LiVES: - 再読み込みするセット名を入力" -#: src/interface.c:1192 +#: src/interface.c:1193 #, fuzzy msgid "Enter a Set Name to Reload" msgstr "LiVES: - 再読み込みするセット名を入力" -#: src/interface.c:1194 +#: src/interface.c:1195 #, fuzzy msgid "Choose a Working Directory" msgstr "LiVES: - 作業ディレクトリの選択" -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 #, fuzzy msgid "Rename Current Track" msgstr "現在のトラックを選択(_S)" -#: src/interface.c:1198 +#: src/interface.c:1199 #, fuzzy msgid "Enter a Name for Your Theme" msgstr "LiVES: - 再読み込みするセット名を入力" -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1518,7 +1523,7 @@ "使いたい名前を入力してください。\n" "なお終了しようとするときに、LiVESは再度クリップセットの保存を促します。\n" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1544,220 +1549,220 @@ "This should be a directory with plenty of disk space available.\n" msgstr "" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "新しい名前 " -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "セットの名前 " -#: src/interface.c:1257 +#: src/interface.c:1255 #, fuzzy msgid "Theme name " msgstr "新しい名前 " -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "デフォルトを使用(_A)" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "詳細(_A)" -#: src/interface.c:1437 +#: src/interface.c:1425 #, fuzzy msgid "Select input device" msgstr "入力デバイスの選択:" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "入力デバイスの選択:" -#: src/interface.c:1517 +#: src/interface.c:1505 #, fuzzy msgid "Load CD Track" msgstr "CDトラックの読み込み(_C)..." -#: src/interface.c:1519 +#: src/interface.c:1507 #, fuzzy msgid "Select DVD Title/Chapter" msgstr "LiVES:- DVDタイトル/チャプターの選択" -#: src/interface.c:1521 +#: src/interface.c:1509 #, fuzzy msgid "Select VCD Title" msgstr "LiVES:- VCDタイトルの選択" -#: src/interface.c:1523 +#: src/interface.c:1511 #, fuzzy msgid "Change Maximum Visible Tracks" msgstr "LiVES:- 表示するトラックの最大値変更" -#: src/interface.c:1525 +#: src/interface.c:1513 #, fuzzy msgid "Device details" msgstr "LiVES:- デバイスの詳細" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "(%sから)読み込みするトラック" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "DVDタイトル" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "VCDタイトル" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "表示するトラック数の最大値" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "デバイス: /dev/video" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "デバイス: fw:" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "チャプター " -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "キャンセル " -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "オーディオ ID " -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "入力ポート数" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "デフォルトの幅、高さ、FPSを使用します" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "幅" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "高さ" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "" -#: src/interface.c:1815 +#: src/interface.c:1778 #, fuzzy msgid "Fade Audio In" msgstr "音声をフェードイン(_I)..." -#: src/interface.c:1817 +#: src/interface.c:1780 #, fuzzy msgid "Fade Audio Out" msgstr "音声をフェードアウト(_O)..." -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "フェードイン " -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "最初" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "フェードアウト " -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "最後" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "秒" -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "選択" -#: src/interface.c:1909 +#: src/interface.c:1865 #, fuzzy msgid " (Optional)" msgstr "オプション(_O)" -#: src/interface.c:1912 +#: src/interface.c:1868 #, fuzzy, c-format msgid "File Comments%s" msgstr "LiVES: - ファイルコメント (オプション)" -#: src/interface.c:1927 +#: src/interface.c:1882 #, fuzzy, c-format msgid "File Name: %s" msgstr "タイトル/名前 : " -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "タイトル/名前 : " -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "作者/アーティスト : " -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "コメント : " -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "字幕をファイルに保存(_S)" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "字幕ファイル" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "参照..." -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "オプション(_O)" -#: src/interface.c:2109 +#: src/interface.c:2058 #, c-format msgid "%sChoose a Device" msgstr "" -#: src/interface.c:2112 +#: src/interface.c:2061 #, fuzzy, c-format msgid "%sChoose a Directory" msgstr "LiVES: - 作業ディレクトリの選択" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" @@ -1767,7 +1772,7 @@ "現在のレイアウトは保存されていません。\n" "どうしますか?\n" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" @@ -1777,7 +1782,7 @@ "現在のレイアウトは最後の保存から変更されています。\n" "どうしますか?\n" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" @@ -1787,7 +1792,7 @@ "現在のクリップセットを保存することができます。\n" "どうしますか?\n" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" @@ -1795,7 +1800,7 @@ "現在のクリップセットは保存されていません。\n" "どうしますか?\n" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" @@ -1803,7 +1808,7 @@ "現在のレイアウトは保存されていません。\n" "どうしますか?\n" -#: src/interface.c:2410 +#: src/interface.c:2341 #, fuzzy msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" @@ -1812,7 +1817,7 @@ "最後に保存され、現在のレイアウトが変更されていません。\n" "を行うにはどのような希望ですか?\n" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" @@ -1822,44 +1827,44 @@ "作成したフレームを含む現在のレイアウトは保存されません。\n" "どうしますか?" -#: src/interface.c:2417 +#: src/interface.c:2348 #, fuzzy msgid "Cancel/Discard/Save" msgstr "LiVES: - キャンセル/破棄/保存" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "クリップセット名(_N)" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "次回、自動で再読み込みする(_A)" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "レイアウトの除去(_W)" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "変更を無視(_I)" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "クリップセットを削除(_D)" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "レイアウトを削除(_D)" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "レイアウトを保存(_S)" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "クリップセットを保存(_S)" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" @@ -1869,36 +1874,36 @@ "LiVESは、前回のセッションのマルチトラックモードのレイアウトを検出しました。\n" "再度このレイアウトを開き、復元しますか?\n" -#: src/interface.c:2527 +#: src/interface.c:2455 #, fuzzy msgid "Disk Recovery Options" msgstr "LiVES: - ディスク回復オプション" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "孤立したクリップを削除(_O)" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "" -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "閉じたクリップのバックアップファイルを消去(_B)" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "レイアウトのみでクリップがないセットを削除(_L)" -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "デフォルトに戻す(_R)" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "キーの表示" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1906,358 +1911,358 @@ "-----------------------\n" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 #, fuzzy msgid "ctrl-left" msgstr "前へスキップ (ctrl+left)" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 #, fuzzy msgid "skip forwards\n" msgstr "前へスキップ" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 #, fuzzy msgid "ctrl-down" msgstr "Ctrl-%d" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "ctrl-enter" msgstr "その他の中心(_O)" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "reset frame rate\n" msgstr "先頭フレーム(_F)" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "" -#: src/interface.c:2723 +#: src/interface.c:2642 #, fuzzy msgid "reverse direction\n" msgstr "再生方向のリバース" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "ctrl-1" msgstr "Ctrl-%d" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "toggle real-time effect 1\n" msgstr "リアルタイムエフェクト(_R)" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "ctrl-2" msgstr "Ctrl-%d" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "toggle real-time effect 2\n" msgstr "リアルタイムエフェクト(_R)" -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 #, fuzzy msgid "ctrl-0" msgstr "Ctrl-%d" -#: src/interface.c:2751 +#: src/interface.c:2670 #, fuzzy msgid "real-time effects off\n" msgstr "リアルタイムエフェクト(_R)" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "" -#: src/interface.c:2759 +#: src/interface.c:2678 #, fuzzy msgid "grab keyboard for last activated effect\n" msgstr "キーボードをこのエフェクトキーに割り当て" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2688 #, fuzzy msgid "tab" msgstr "タップ" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "" -#: src/interface.c:2785 +#: src/interface.c:2706 #, fuzzy msgid "Other playback keys\n" msgstr "逆再生(_R) " -#: src/interface.c:2789 +#: src/interface.c:2710 #, fuzzy msgid "play all\n" msgstr "すべて再生" -#: src/interface.c:2792 +#: src/interface.c:2713 #, fuzzy msgid "play selection\n" msgstr "選択範囲を再生" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "" -#: src/interface.c:2798 +#: src/interface.c:2719 #, fuzzy msgid "fullscreen\n" msgstr "全画面表示(_F)" -#: src/interface.c:2801 +#: src/interface.c:2722 #, fuzzy msgid "separate window\n" msgstr "独立したウィンドウで再生 (s)" -#: src/interface.c:2804 +#: src/interface.c:2725 #, fuzzy msgid "double size\n" msgstr "二倍サイズ(_D)" -#: src/interface.c:2807 +#: src/interface.c:2728 #, fuzzy msgid "ping pong loops\n" msgstr "ピンポンループ(_G)" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "マルチトラックキー" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 #, fuzzy msgid "move current track up\n" msgstr "現在のトラックを選択(_S)" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 #, fuzzy msgid "move current track down\n" msgstr "現在のトラックを選択(_S)" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "" -#: src/interface.c:2849 +#: src/interface.c:2768 #, fuzzy msgid "select next clip\n" msgstr "LiVES: 選択したクリップ" -#: src/interface.c:2852 +#: src/interface.c:2771 #, fuzzy msgid "select/deselect current track\n" msgstr "現在のトラックを選択(_S)" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 #, fuzzy msgid "zoom in\n" msgstr "拡大表示(_Z)" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 #, fuzzy msgid "zoom out\n" msgstr "縮小表示(_Z)" -#: src/interface.c:2861 +#: src/interface.c:2780 #, fuzzy msgid "make a mark on the timeline (during playback)\n" msgstr "タイムラインにマークできます" -#: src/interface.c:2864 +#: src/interface.c:2783 #, fuzzy msgid "rewind to play start.\n" msgstr "開始まで巻き戻す (w)" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "セット %s として保存しています..." -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "クリップを保存するファイル名を入力してください。\n" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "ダウンロードするには有効な URL を入力してください。\n" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "%s を %s にダウンロード中..." -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "クリップをダウンロード中" -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -2269,17 +2274,17 @@ "クリップの URL を確認した上で、最新の youtube-dl が\n" "インストールされているか確認してください。\n" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, fuzzy, c-format msgid "Layouts were removed for set %s.\n" msgstr "" "セット (%3$s) から %1$d 個のクリップと %2$d 個のレイアウトを回復しました。\n" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "このファイル" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " @@ -2287,7 +2292,7 @@ ",\n" " - 現在のレイアウトを含む - " -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2302,7 +2307,7 @@ "\n" "本当に閉じますか?" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2317,7 +2322,7 @@ "\n" "本当に閉じますか?" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" @@ -2327,7 +2332,7 @@ "\n" "本当に閉じますか?" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" @@ -2335,7 +2340,7 @@ "\n" "無効なプロジェクトファイルです。\n" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2358,54 +2363,54 @@ "いったんこの作業を行えば、新しいプロジェクトをインポートできるようになりま" "す。\n" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "プロジェクト %s をセット %s としてインポート..." -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "プロジェクトのインポート" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "プロジェクト %s をエクスポート..." -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "プロジェクトのエクスポート" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 #, fuzzy msgid "Theme" msgstr "新しい名前 " -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, fuzzy, c-format msgid "Exporting theme as %s..." msgstr "音声を%sとしてエクスポート..." -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, fuzzy, c-format msgid "Importing theme \"%s\" from %s..." msgstr "音声を%sとしてエクスポート..." -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, fuzzy, c-format msgid "Backup as %s File" msgstr ".lv1ファイルとしてバックアップ" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, fuzzy, c-format msgid "Restore %s File" msgstr ".lv1ファイルからリストア" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2417,95 +2422,95 @@ "セットはディスクから消去されます。\n" "よろしいでしょうか?\n" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "セット %s を削除しています..." -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "セットの削除..." -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "セットの削除" -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "セット %s はディスクから完全に削除されました。\n" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "無音部分の挿入" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "アンドゥします" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "音声のリストア..." -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "フレームイメージの消去" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "オーバーしたフレームを削除" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "ビデオの長さは現在%dフレームです(%.3fフレーム/秒)。\n" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "クリップボードは%dフレームにリサンプリングされました。\n" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "リドゥします" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, fuzzy, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "%dから%d%sフレームをクリップボードにコピーします..." -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, fuzzy, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "%dから%d%sフレームをクリップボードにコピーします..." -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "クリップボードにコピー" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "カット" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 #, fuzzy msgid "Pulling frames from clipboard" msgstr "クリップからフレームを抽出" -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "%d フレームを 新しいクリップ %s に貼り付けます..." -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "貼り付けます" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "...音声を追加..." -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " @@ -2515,7 +2520,7 @@ "Image-magickパッケージの'convert'コマンドをインストールして、LiVESを再起動し" "てください。\n" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2529,7 +2534,7 @@ "すべてのフレームを選択して、音声メニューから\n" "「音声のトリミング」機能を選択しましょう。" -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." @@ -2537,7 +2542,7 @@ "音声レートが適合しなかったため、LiVESは挿入できませんでした。\n" "'sox'をインストールして再試行してください。" -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" @@ -2548,7 +2553,7 @@ "う。\n" "続けても構いませんか?\n" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" @@ -2559,11 +2564,11 @@ "う。\n" "続けても構いませんか?\n" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "クリップボードの音声をリサンプリング" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2575,7 +2580,7 @@ "LiVESはクリップボードの音声をリサンプリングできませんでした。\n" "クリップボードの音声は消去されました。\n" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2588,32 +2593,32 @@ "LiVESはクリップボードの音声をリサンプリングできませんでした。 \n" "変更前の音声を用いて、挿入を続けますか?\n" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "クリップボードから%d%sフレームを挿入..." -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "挿入します" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "%d時間挿入します (クリップボード%sから)..." -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "%dフレーム挿入します (クリップボード%sから)..." -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "キャンセルします" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" @@ -2623,7 +2628,7 @@ "全フレームを削除すると、このファイルを閉じます。\n" "構いませんか ?" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" @@ -2633,8 +2638,8 @@ "削除によってマルチトラックレイアウトからフレームが失われます。\n" "続けても構いませんか?\n" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" @@ -2644,7 +2649,7 @@ "削除することによって、マルチトラックレイアウトで音声が削除されるでしょう。\n" "続けても構いませんか?\n" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" @@ -2654,7 +2659,7 @@ "消去することによってフレームはマルチトラックレイアウト中で移動します。\n" "続けますか?\n" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" @@ -2664,20 +2669,20 @@ "消去することによって音声はマルチトラックレイアウト中で移動します。\n" "続けますか?\n" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "%dから%d%sフレームを削除..." -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "削除します" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "消去" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" @@ -2687,7 +2692,7 @@ "\n" "選択範囲をロックします。\n" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2699,11 +2704,11 @@ "(キャンセルするには、'r'キーを押すか、再生を始める前に 再生|動作を記録 を再度" "クリックしてください。\n" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "記録はキャンセルされました。\n" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2716,7 +2721,7 @@ "プラグイン'%s'の報告:\n" "%s\n" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2729,7 +2734,7 @@ "プラグイン%sの中に'init'メソッドが見つかりません。\n" "このプラグインは壊れているか、正しくインストールされていないようです。" -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2742,23 +2747,23 @@ "\n" "コピーしたくない場合は、'キャンセル'を押してください。\n" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "セット %s の保存" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "セット %s からクリップを読み込み" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "" "セット (%3$s) から %1$d 個のクリップと %2$d 個のレイアウトを回復しました。\n" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2770,24 +2775,24 @@ "動作させるようにしてください。\n" "OKをクリックすると先に進みます。\n" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "ディスクスペースの消去..." -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "ディスク容量を回復" -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "%s のディスク容量を回復しました。\n" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "フレームレートとフレーム値のリストア..." -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2795,12 +2800,12 @@ "Internal: %s (%d bpp) / %s\n" msgstr "" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "バッファー内" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." @@ -2808,7 +2813,7 @@ "\n" " 開いています..." -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" @@ -2817,7 +2822,7 @@ "\n" "(%d バーチャル)" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" @@ -2826,7 +2831,7 @@ "\n" "(%d デコード済み)" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" @@ -2835,7 +2840,7 @@ "\n" " %.2f 秒." -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" @@ -2843,23 +2848,23 @@ "\n" " 不明" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "符号なし" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "符号付き" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "ビッグエンディアン" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "リトルエンディアン" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" @@ -2868,7 +2873,7 @@ " %d Hz %d ビット\n" "%s %s" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2898,15 +2903,15 @@ "along with this program; if not, write to the Free Software\n" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "映像エディターとVJプログラム" -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" "Launchpad Contributions:\n" @@ -2915,7 +2920,7 @@ " Shushi Kurose https://launchpad.net/~kuromabo\n" " Takashi Sakamoto https://launchpad.net/~mocchi" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, fuzzy, c-format msgid "" "LiVES Version %s\n" @@ -2938,7 +2943,7 @@ "salsaman@gmail.com\n" "ホームページ: http://lives.sourceforge.net" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 #, fuzzy msgid "" "\n" @@ -2949,7 +2954,7 @@ "\n" "このファイルをプレビューするにはmplayerをインストールする必要があります。\n" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 #, fuzzy msgid "" "\n" @@ -2961,95 +2966,95 @@ "\n" "このファイルをプレビューするにはmplayerをインストールする必要があります。\n" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" "%s\n" msgstr "" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 #, fuzzy msgid "Encoder Debug Output" msgstr "LiVES: - エンコーダのデバッグ出力" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "フルスクリーン再生 (f)" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "フルスクリーン再生オフ (f)" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "ダブルサイズ (d)" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "シングルサイズ (d)" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "再生ウィンドウを隠す (s)" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "再生ウィンドウを表示する (s)" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "独立したウィンドウで再生 (s)" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "連続ループをオフ (o)" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "連続ループをオン (o)" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "音声ボリューム (%.2f)" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "音声ミュートをオフ (z)" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "音声ミュートをオン (z)" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "クリップボードを反転します..." -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "クリップボードを反転" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 #, fuzzy msgid "Load Subtitles" msgstr "字幕の表示" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "字幕ファイルを読み込みます: %s\n" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "字幕を削除しました。\n" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 #, fuzzy msgid "Select Audio File" msgstr "音声の削除" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -3061,60 +3066,60 @@ "す。\n" "続けても構いませんか?" -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "音声%s, タイプ%sを開きます..." -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "音声を開きます" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "音声を収容します" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "新しい音声" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "CDトラック%dから%sを開きます..." -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "CDトラック%d" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "CDトラックを開く..." -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "CDトラックの読み込みエラー\n" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 #, fuzzy msgid "Layout Errors" msgstr "レイアウトエラー" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "エラーを消去(_E)" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "レイアウトを消去(_D)" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "再開" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" @@ -3124,23 +3129,23 @@ "一時停止\n" "(クリックすると処理を再開します)" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "一時停止しています..." -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "再開..." -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "維持" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "停止" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, fuzzy, c-format msgid "" "\n" @@ -3153,30 +3158,30 @@ "(現状を保つには「維持」をクリック)\n" "(処理を続ける場合は「再開」をクリック)" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "キャンセル" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "停止" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 #, fuzzy msgid "Selected Frame" msgstr "全フレームを選択(_A)..." -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 #, fuzzy msgid "_Save Frame as..." msgstr "フレームに名前を付けて保存(_S)..." -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "音声が映像を%.4f秒上回っています。%dフレーム、%.4f fps\n" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -3190,7 +3195,7 @@ "他のプラットフォームで動作させるにはパッチを送ってください。\n" "\n" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -3202,7 +3207,7 @@ "この機能を利用するには xwininfo をインストールしなければなりません。\n" "\n" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" @@ -3210,7 +3215,7 @@ "\n" "記録時間は0より大きくなければなりません。\n" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -3224,11 +3229,11 @@ "キャンセルするには'キャンセル'をクリックしてください。\n" "\n" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "外部ウィンドウを解放しました。\n" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" @@ -3236,7 +3241,7 @@ "キャプチャーしたいウィンドウをクリックしてください\n" "記録を終える場合は 'q' を押してください" -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -3252,19 +3257,19 @@ "'q'キーで終了。\n" "(標準設定の%.3fフレーム/秒を使います)\n" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "LiVESはこのウィンドウをキャプチャできませんでした。ごめんなさい。\n" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "選択した音声をエクスポート..." -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "音声をエクスポート..." -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -3278,87 +3283,87 @@ "新しい速度でエクスポートするには'OK'をクリック。元の速度でエクスポートするに" "は'キャンセル'をクリックしてください。\n" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "%dから%dまでの音声フレームを%sとしてエクスポート..." -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "音声を%sとしてエクスポート..." -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "音声をエクスポートします" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 #, fuzzy msgid "Append Audio File" msgstr "音声の追加" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "音声ファイル%sを追加します..." -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "音声を追加します" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "音声の追加" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "" -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "音声を%.2fから%.2f秒までトリミングします..." -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "音声をトリミング/パディングします" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "音声のトリミング" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "音声をフェードイン" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "音声をフェードイン" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "音声をフェードアウト" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "音声をフェードアウト" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "%s が %.1f 秒オーバー..." -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "%s は %.2f秒から%.2f秒まで..." -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "音声のフェード..." -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" @@ -3368,33 +3373,33 @@ "全音声を削除すると、このファイルを閉じます。\n" "構いませんか ?" -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "全音声の削除..." -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "音声を%.2fから%.2f秒まで削除します..." -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "音声を削除します" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "音声の削除" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "新しい音声の記録" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "%.2fから%.2f秒まで無音部分を挿入します..." -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "無音部分を挿入します" @@ -3407,7 +3412,7 @@ msgid "Merge Clipboard [ %d Frames ] With Selection [ %d Frames ]" msgstr "クリップボード [ %d フレーム ] 選択範囲 [ %d フレーム ] を結合" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" @@ -3415,598 +3420,598 @@ "クリップボード [ %d フレーム (リサンプリング後)] 選択範囲 [ %d フレーム ]を" "結合" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "先頭に合わせる(_S)" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "最後に合わせる(_E)" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "クリップボードの余分なフレームについての処理 -" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "フレームの挿入(_I)" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "フレームを落とす(_D)" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "ループクリップボードの回数" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "選択範囲に合わせてクリップボードをループさせる(_L)" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "トランジション方法(_T):" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "クリップボードと選択範囲を結合する..." -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "結合の完了。\n" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "カスタムジェネレーター(_C)" -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "カスタムエフェクト(_C)" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "カスタムユーティリティ(_U)" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "ファイル(_F)" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "ファイル/ディレクトリを開く(_O)" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "ファイルの一部を開く(_P)..." -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "場所/ストリームを開く(_L)..." -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "Youtube クリップを開く(_Y)..." -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "DVDやビデオCDからインポート(_D)..." -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "DVDからインポート(_D)" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "ビデオCDからインポート(_V)" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "Firewireデバイスからインポート(_I)" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "Firewireデバイスからインポート (dv)(_F)" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "Firewireデバイスからインポート (hdv)(_F)" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "ウェブカメラ/TVカードの追加(_A)..." -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "Unicapデバイスの追加(_U)" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "Firewireのライブデバイスを追加する(_F)" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "TVデバイスの追加(_T)" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "最近開いたファイル(_R)..." -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "クリップセットの再読み込み(_R)..." -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "全クリップを保存して閉じる(_V)" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "クリップを別名でエンコード(_E)..." -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "選択範囲を別名でエンコード(_S)..." -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "このクリップを閉じる(_C)" -#: src/gui.c:692 +#: src/gui.c:674 #, fuzzy, c-format msgid "_Backup Clip as .%s..." msgstr "クリップを .lv1 としてバックアップ(_B)..." -#: src/gui.c:701 +#: src/gui.c:683 #, fuzzy, c-format msgid "_Restore Clip from .%s..." msgstr ".lv1からクリップをリストア(_R)..." -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "音声付きでエンコード/読み込み/バックアップする(_W)" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "字幕の自動読み込み" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "ディスク領域のクリーンアップ(_U)" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "編集(_E)" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "マルチトラックモード(_M)" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "選択範囲をコピー(_C)" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "選択範囲をカット(_T)" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "クリップボードから挿入(_I)..." -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "新規として貼り付け(_N)" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "クリップボードと選択範囲をマージ(_M)..." -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "選択範囲を削除(_D)" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "音声と映像を切り離す(_V)" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "選択(_S)..." -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "全フレームを選択(_A)..." -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "開始フレームのみ(_S)" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "終了フレームのみ(_E)" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "先頭フレームから選択(_F)" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "最後尾フレームから選択(_L)" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "最後の挿入/マージを選択(_M)" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "最後のエフェクトを選択(_E)" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "選択範囲を反転(_I)" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "選択範囲の幅を固定(_L)" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "再生(_P)" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "すべて再生(_P)" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "選択範囲を再生(_Y)" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "クリップボードを再生(_C)" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "停止(_S)" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "巻き戻し(_W)" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "全画面表示(_F)" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "二倍サイズ(_D)" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "独立ウィンドウで再生(_S)" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "空白のバックグラウンド(_B)" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "音声トラックに合わせてループ(_L)" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "連続ループ(_O)" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "ピンポンループ(_G)" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "ミュート(_M)" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "独立ウィンドウの'スティッキー'モード(_T)" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "フレームカウンタの表示(_H)" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "字幕の表示" -#: src/gui.c:1069 +#: src/gui.c:1045 #, fuzzy msgid "Letterbox Mode" msgstr "レターボックスモード" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "エフェクト(_S)" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "エフェクトは現在の選択範囲に適用されます。" -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "レンダリングエフェクト/ツール/ジェネレーターをテスト(_R)..." -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "ツール(_T)" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "ツールはクリップ全体に適用されます。" -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "クリップボードの反転(_R)" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "再生/保存スピードの変更(_C)..." -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "映像を新しいフレームレートでリサンプリング(_V)..." -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "ユーティリティ(_U)" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "カスタムツール(_T)" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "生成(_G)" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "字幕をファイルから読み込む(_S)..." -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "字幕の削除" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "外部ウィンドウのキャプチャ(_E)... " -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "設定(_P)..." -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "音声(_A)" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "クリップへ新しい音声を読み込み(_N)..." -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "CDトラックの読み込み(_C)..." -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "CDのイジェクト(_J)" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "外部音声を録音(_X)..." -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "新しいクリップへ(_C)..." -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "選択範囲へ(_S)" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "音声をフェードイン(_I)..." -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "音声をフェードアウト(_O)..." -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "音声のエクスポート(_E)..." -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "選択した音声のエクスポート(_S)..." -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "全音声のエクスポート(_A)..." -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "音声の追加(_A)..." -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "音声のトリミング/パディング(_T)..." -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "選択範囲への音声のトリミング/パディング(_S)" -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "先頭から再生開始までへの音声のトリミング/パディング(_P)" -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "音声の削除(_D)..." -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "選択した音声の削除(_S)" -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "全音声の削除(_A)" -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "選択範囲に無音声を挿入(_S)" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "音声のリサンプリング(_R)..." -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "情報(_I)" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "クリップ情報を表示(_I)" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "ファイルコメントの表示/編集(_E)" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "クリップボード情報の表示(_C)" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "メッセージの表示(_M)" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "レイアウトエラーを表示(_L)" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "クリップ(_C)" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "メニューにある現在のクリップの名称変更(_R)..." -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "詳細(_D)" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "RFXエフェクト/ツール/ユーティリティ(_R)" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "新しいテストRFXスクリプト(_N)..." -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "RFXスクリプトをテストへコピー(_C)..." -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "テストRFXスクリプトの編集(_E)..." -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "テストRFXスクリプトの名称変更(_M)..." -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "テストRFXスクリプトの削除(_D)..." -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "レンダリングエフェクト/ツール/ジェネレーターをテストから昇格(_P)..." -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "カスタムRFXスクリプトのインポート(_I)..." -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "カスタムRFXスクリプトのエクスポート(_X)..." -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "カスタムRFXスクリプトの削除(_L)..." -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "全RFXプラグインの再構築(_B)" -#: src/gui.c:1397 +#: src/gui.c:1371 #, fuzzy msgid "Receive _LiVES Stream from..." msgstr "LiVESストリームを受信する(_L)..." -#: src/gui.c:1401 +#: src/gui.c:1375 #, fuzzy msgid "_Send LiVES Stream to..." msgstr "LiVESストリームを送信する(_S)..." -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "%sstream.yuvのyuv4mpegストリームを開く(_Y)..." -#: src/gui.c:1426 +#: src/gui.c:1399 #, fuzzy, c-format msgid "_Import Project (.%s)..." msgstr "プロジェクトのインポート (.lv2) (_I)..." -#: src/gui.c:1430 +#: src/gui.c:1403 #, fuzzy, c-format msgid "E_xport Project (.%s)..." msgstr "プロジェクトのエクスポート(.lv2)(_X)..." -#: src/gui.c:1437 +#: src/gui.c:1409 #, fuzzy, c-format msgid "_Import Custom Theme (.%s)..." msgstr "プロジェクトのインポート (.lv2) (_I)..." -#: src/gui.c:1442 +#: src/gui.c:1414 #, fuzzy, c-format msgid "E_xport Theme (.%s)..." msgstr "プロジェクトのエクスポート(.lv2)(_X)..." -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "VJ(_V)" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "リアルタイムエフェクトマップ(_E)" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "リアルタイムエフェクトをコントロール-数字キーに設定します" -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "リアルタイムエフェクトのデフォルト値を設定(_D)" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "リアルタイムエフェクトのデフォルト値を設定します" -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "リアルタイムエフェクトをデフォルトとして保存(_D)" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." @@ -4014,156 +4019,156 @@ "リアルタイムエフェクトをデフォルトとして保存します。毎回、LiVESの起動時に復元" "されます。" -#: src/gui.c:1476 +#: src/gui.c:1448 #, fuzzy msgid "_Reset All Playback Speeds and Positions" msgstr "すべての再生スピードと位置をリセット(_R)" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "" "すべての再生位置をフレーム1にリセットし、すべてのフレーム再生レートをリセット" "する" -#: src/gui.c:1480 +#: src/gui.c:1452 #, fuzzy msgid "_MIDI/Joystick Interface" msgstr "MIDI/ジョイスティックインタフェース(_M)" -#: src/gui.c:1489 +#: src/gui.c:1461 #, fuzzy msgid "_MIDI/Joystick Learner..." msgstr "MIDI/ジョイスティックの登録(_M)..." -#: src/gui.c:1493 +#: src/gui.c:1465 #, fuzzy msgid "_Save Device Mapping..." msgstr "デバイスマップの保存(_S)..." -#: src/gui.c:1497 +#: src/gui.c:1469 #, fuzzy msgid "_Load Device Mapping..." msgstr "デバイスマップの読み込み(_L)..." -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "VJキーの表示(_K)" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "トイ(_Y)" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "なし(_N)" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "Autolives(_A)" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "熱狂フレーム(_M)" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "LiVES TV (ブロードバンド)(_L)" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "ヘルプ(_H)" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "マニュアル (ブラウザで開く)(_M)" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 #, fuzzy msgid "_Donate to the Project !" msgstr "プロジェクトに寄付する!(_D)" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 #, fuzzy msgid "_Email the Author" msgstr "作者にメールを送る(_E)" -#: src/gui.c:1547 +#: src/gui.c:1519 #, fuzzy msgid "Report a _Bug" msgstr "バグを報告する(_B)" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 #, fuzzy msgid "Suggest a _Feature" msgstr "機能を提案する(_F)" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 #, fuzzy msgid "Assist with _Translating" msgstr "翻訳を手伝う(_T)" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "トラブルシューティング(_T)" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "LiVESについて(_A)" -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "開始まで巻き戻す (w)" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "すべて再生 (p)" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "再生を停止 (q)" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "選択範囲を再生 (y)" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "ボリューム" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "音声ボリューム (1.00)" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "空白でないバックグラウンド" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "遅く再生 (ctrl-down)" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "早く再生 (ctrl-up)" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "前へスキップ (ctrl+left)" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "前にスキップ (ctrl-right)" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "クリップ情報を表示 (i)" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "ツールバーを隠す" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." @@ -4172,135 +4177,135 @@ "てください。停止するには\"q\"を押してください。" #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr " ビデオ再生スピード (フレーム/秒) " -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "映像の再生スピードの変更" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "先頭フレーム" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "最終フレーム" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "このクリップで選択した最初のフレーム" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "このクリップで選択した最後のフレーム" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "開始しています...\n" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr "" " 記録を停止するには'q'を押してください。「再生ウィンドウを覆ってはいけませ" "ん!」 " -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "プレビューするフレーム数" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "解放(_F)" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "解放するフレーム数" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "開始(_S)" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "開始フレームのフレーム番号" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "終了(_E)" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "終了フレームのフレーム番号" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "ポインター(_P)" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "再生ポインターのフレーム番号" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "巻き戻し" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "すべて再生" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "選択範囲を再生" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "ループ On/Off" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "記録の開始(_R)" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "記録の停止(_R)" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "動作を記録(_R)" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr "" -#: src/gui.c:3613 +#: src/gui.c:3553 #, fuzzy msgid "Streaming" msgstr "夢の適用" -#: src/gui.c:3615 +#: src/gui.c:3555 #, fuzzy, c-format msgid "Play Window%s" msgstr "再生ウィンドウを隠す" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "再生ウィンドウを隠す" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "再生ウィンドウの表示" -#: src/gui.c:4199 +#: src/gui.c:4127 #, fuzzy, c-format msgid "'LiVES opened the file' '%s'" msgstr "LiVESはファイルを開けませんでした" -#: src/gui.c:4220 +#: src/gui.c:4146 #, fuzzy, c-format msgid "'LiVES closed the file' '%s'" msgstr "LiVESにファイル拡張子を指定する(_F)" @@ -4310,11 +4315,11 @@ msgid "Mapped to ctrl-%d" msgstr "" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "エフェクト" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "クリップ" @@ -4328,11 +4333,11 @@ msgid "Select clip for %s\n" msgstr "クリップセットを削除(_D)" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "" @@ -4377,11 +4382,11 @@ msgid "%d bytes" msgstr "%d バイト" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "クリップボードを消去します" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -4392,7 +4397,7 @@ "==============================\n" "クリップ「%s」へ変更しました\n" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" @@ -4402,11 +4407,11 @@ "==============================\n" "空のクリップへ変更しました\n" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "(空白)" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " @@ -4415,7 +4420,7 @@ "セット名は %s から %s に変更されました。それに伴いレイアウトがアップデートさ" "れています。\n" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" @@ -4424,7 +4429,7 @@ "クリップ %s はこのセットにありません。\n" "次のレイアウトに必要です:\n" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" @@ -4433,7 +4438,7 @@ "クリップ %s は既に閉じています。\n" "次のレイアウトに必要です:\n" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" @@ -4442,7 +4447,7 @@ "クリップ %s からフレームが移動しました。\n" "次のレイアウトに影響します:\n" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" @@ -4451,7 +4456,7 @@ "クリップ %s からフレームが消去されました。\n" "次のレイアウトに影響します:\n" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" @@ -4460,7 +4465,7 @@ "クリップ %s から音声が消去されました。\n" "次のレイアウトに影響します:\n" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" @@ -4469,7 +4474,7 @@ "クリップ %s で音声が移動しました。\n" "次のレイアウトに影響します:\n" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" @@ -4478,7 +4483,7 @@ "クリップ %s で音声が変更されました。\n" "次のレイアウトに影響します:\n" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" @@ -4487,7 +4492,7 @@ "クリップ %s でフレームが変更されました。\n" "次のレイアウトに影響します:\n" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -4498,7 +4503,7 @@ "LiVESの他のプロジェクトで使用されており\n" "開くことができません。\n" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -4509,7 +4514,7 @@ "このセット %s はLiVESの他のプロジェクトで使用されています。\n" "他のセット名を選んでください。\n" -#: src/utils.c:2188 +#: src/utils.c:2207 #, fuzzy, c-format msgid "" "\n" @@ -4518,7 +4523,7 @@ "\n" "セット名は空白にできません。\n" -#: src/utils.c:2196 +#: src/utils.c:2215 #, fuzzy, c-format msgid "" "\n" @@ -4527,7 +4532,7 @@ "\n" "セット名は128文字以上にはできません。\n" -#: src/utils.c:2204 +#: src/utils.c:2223 #, fuzzy, c-format msgid "" "\n" @@ -4536,7 +4541,7 @@ "\n" "セット名に空白もしくは %s 文字を含まないようにしてください。\n" -#: src/utils.c:2213 +#: src/utils.c:2232 #, fuzzy, c-format msgid "" "\n" @@ -4545,11 +4550,11 @@ "\n" "セット名は '.' で始まるものや '..' を含むものにはできません。\n" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4560,73 +4565,73 @@ "セット %s は既に存在します。\n" "他のセット名を選択してください。\n" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "レイアウト %s を削除\n" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "映像ファイル [開く...]" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "映像 [%.2f 秒]" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "(未定義)" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "(映像なし)" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "(音声なし)" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "モノラル [開く...]" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "左音声 [開く...]" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "モノラル [%.2f 秒]" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "左音声 [%.2f 秒]" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "右音声 [開く...]" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "右音声 [%.2f 秒]" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "LiVESはクリップが読み込み時にmplayerを起動できませんでした。" -#: src/utils.c:3492 +#: src/utils.c:3548 #, fuzzy msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "LiVESはクリップが読み込み時にmplayerを起動できませんでした。" -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "クリップを消去します" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4641,29 +4646,29 @@ "\n" "上書きしますか ?\n" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "%sを元に戻す(_U)" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "%sをやり直す(_R)" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "------------- 選択範囲 ------------" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr " 秒 ] ---------- 選択範囲 ---------- [ " -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr " フレーム ] ----------" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4688,7 +4693,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "%sを開きます。開始時刻%.2f秒、%dフレーム" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr " 音声なし" @@ -4813,7 +4818,7 @@ "それでも続けますか ?" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "クリップからフレームを抽出" @@ -4872,12 +4877,12 @@ msgid "Recording performance..." msgstr "パフォーマンスを記録します..." -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "平均のFPSは%.4fです\n" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4891,21 +4896,21 @@ "ツール--->すべてリサイズ をクリックして\n" "すべてのフレームを現在のサイズにリサイズしてください。\n" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "不明" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "無題%d" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "%d フレームで十分です !\n" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4913,13 +4918,13 @@ "%s\n" msgstr "" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" msgstr "" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4930,7 +4935,7 @@ "クリップ %s のファイル情報の取得でエラーが発生しました。\n" "このクリップに問題が発生している可能性があります。\n" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4941,12 +4946,12 @@ "無効な再生速度です。 %.3ffpsの標準設定を使います。 \n" "標準値は「ツール | 設定 | その他」で指定できます。\n" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "再生速度は音声に合わせて %.3f フレーム/秒に調整しました。\n" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" @@ -4955,7 +4960,7 @@ "フレーム=%d タイプ=%s サイズ=%dx%d *bpp=グレースケール* fps=%.3f\n" "音声:" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" @@ -4964,54 +4969,54 @@ "フレーム=%d タイプ=%s サイズ=%dx%d bpp=%d fps=%.3f\n" "音声:" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "%s なし\n" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, fuzzy, c-format msgid " - Author: %s\n" msgstr "作者: %s" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, fuzzy, c-format msgid " - Title: %s\n" msgstr " - コメント: %s\n" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr " - コメント: %s\n" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "フレーム%dを%sとして保存..." -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "%sから%sへバックアップします" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "バックアップします" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "パフォーマンスのデータをバックアップしました..." -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "%sをリストアします..." -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "リストアします" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -5069,12 +5074,12 @@ msgid "Recovering files..." msgstr "ファイルを復元しています..." -#: src/dialogs.c:87 +#: src/dialogs.c:83 #, fuzzy msgid "Show affeced _layouts" msgstr "影響を受けるレイアウト(_L)" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" @@ -5082,51 +5087,51 @@ "これ以上の警告を表示しない(_N)\n" "(「設定 | 警告」から変更可能です)" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "ディスク容量を回復(_R)" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr " 詳細設定(_A) >>" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 #, fuzzy msgid "Warning !" msgstr "警告" -#: src/dialogs.c:198 +#: src/dialogs.c:186 #, fuzzy msgid "Error !" msgstr "$error" -#: src/dialogs.c:208 +#: src/dialogs.c:196 #, fuzzy msgid "Information" msgstr "LiVES: %s の情報" -#: src/dialogs.c:234 +#: src/dialogs.c:221 #, fuzzy msgid "Question" msgstr "質問" -#: src/dialogs.c:248 +#: src/dialogs.c:235 msgid "File Error" msgstr "ファイルエラー" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "中止(_A)" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "再試行(_R)" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "詳細を表示(_D)" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -5143,7 +5148,7 @@ "\n" "(ディスク警告のレベルは「設定」で設定することができます。)" -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -5162,11 +5167,11 @@ "(次回の警告は %s になると表示されます。ディスク警告のレベルは「設定」で設定す" "ることができます。)" -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "再生中は音声プレーヤーを変更できません。" -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -5178,18 +5183,18 @@ "LiVESはメモリ不足により、この操作を実行できませんでした。\n" "他のアプリケーションを終了させてから試してください。\n" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "処理を一時停止しています。" -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" "%s%d%% done. Time remaining: %u sec%s\n" msgstr "" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" @@ -5198,7 +5203,7 @@ "\n" "%d/%d フレームを開きました。残り時間は %u 秒です。\n" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" @@ -5207,7 +5212,7 @@ "\n" "%d/%d フレームを開いています。\n" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" @@ -5216,7 +5221,7 @@ "\n" "%d フレームを開きました。\n" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" @@ -5225,7 +5230,7 @@ "\n" "残り時間: %d 秒" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -5236,7 +5241,7 @@ "ごめん、LiVESはいちどに%d個のファイルしか開けません。\n" "ファイルを閉じてから、再び試してください。" -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, fuzzy, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -5255,7 +5260,7 @@ "\n" "このディレクトリが書き込み可能であることを確認してください。" -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 #, fuzzy msgid "" "\n" @@ -5266,7 +5271,7 @@ "LiVESは現在のところ正しく動作するために'mplayer'または'sox'を必要とします。い" "ずれかひとつもしくは両方をインストールして、再び試してください。\n" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 #, fuzzy msgid "" "\n" @@ -5277,7 +5282,7 @@ "LiVESは現在のところ正しく動作するために'mplayer'または'sox'を必要とします。い" "ずれかひとつもしくは両方をインストールして、再び試してください。\n" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 #, fuzzy msgid "" "\n" @@ -5288,19 +5293,19 @@ "LiVESは現在のところ正しく動作するために'mplayer'または'sox'を必要とします。い" "ずれかひとつもしくは両方をインストールして、再び試してください。\n" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" @@ -5311,7 +5316,7 @@ "「ツール | 設定 | エンコーディング」で他のエンコーダフォーマットに変更してく" "ださい。\n" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -5324,7 +5329,7 @@ "ん。\n" "「ツール | 設定 | エンコーディング」で音声コーデックを指定してください。\n" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" @@ -5333,7 +5338,7 @@ "フレームは保存することができません。先にクリップへレンダリング出力してくださ" "い。\n" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" @@ -5341,7 +5346,7 @@ "このレイアウトには、生成または記録された音声が含まれています。\n" "保存することができません。まずクリップにレンダリングする必要があります。\n" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -5352,7 +5357,7 @@ "\n" "%sフォーマットの制限によります\n" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" @@ -5360,43 +5365,43 @@ "LiVESは以下の設定を推奨します:\n" "\n" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr "符号付き" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr "符号なし" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr "リトルエンディアン" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr "ビッグエンディアン" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "音声レート %d Hz%s%s\n" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "映像のレートを %.3f フレーム/秒に設定\n" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "映像のレートを %d:%d フレーム/秒に設定\n" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "映像のサイズを %d x %d ピクセルに設定\n" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" @@ -5404,36 +5409,36 @@ "\n" "お好みの動作:\n" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "映像を %d × %d ピクセルにリサイズします\n" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "" "音声を無効にします。ターゲットエンコーダは音声をエンコードできないためです\n" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "LiVES に必要:\n" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "音声を %d Hz%s%s にリサンプリング\n" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "映像を %.3f フレーム/秒にリサンプリングします...\n" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "映像を %d:%d フレーム/秒にリサンプリングします...\n" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -5447,7 +5452,7 @@ "'OK'で続行、'キャンセル'で中止します。\n" "\n" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" @@ -5457,7 +5462,7 @@ "選択範囲に適用された変更は、永久なものではありません。\n" "\n" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -5471,7 +5476,7 @@ "現在、利用可能なメモリが不足しています。\n" "ファイルの選択範囲だけで記録してみてください。" -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -5489,7 +5494,7 @@ "\n" "続けるにはOKを、挿入を中止するにはキャンセルを押してください。" -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, fuzzy, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -5507,18 +5512,18 @@ "何をしようとしているかを理解している場合のみOKをクリックし、そうでない場合は" "キャンセルをクリックしてください。" -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "メッセージの履歴" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " "in your %s file" msgstr "" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -5529,7 +5534,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 #, fuzzy msgid "" "Sorry, unknown audio type.\n" @@ -5541,11 +5546,11 @@ " (ファイル名は .mp3, .ogg, .wav, .mod, .xm または .it で終わるものでなければ" "なりません)" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "失敗 (不明なタイプ)\n" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" @@ -5555,7 +5560,7 @@ "このセットに関連付けられたレイアウトファイルを削除しますか?\n" "(レイアウトファイルはこのセットで利用できなくなります)\n" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -5568,7 +5573,7 @@ "現在のクリップとレイアウトを既存のセットに付け加えるときはOKを、\n" "新しい名前を付けるならキャンセルをクリックしてください。\n" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -5580,7 +5585,7 @@ "続けても構いませんか?\n" "." -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -5592,7 +5597,7 @@ "続けても構いませんか?\n" "." -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -5611,7 +5616,7 @@ "そうでなければ、キャンセルをクリックしてこのファイルの読み込みをスキップして" "ください。\n" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -5626,7 +5631,7 @@ "%s\n" "を見つけられません。このクリップは読み込みされません。\n" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -5640,7 +5645,7 @@ "てください。\n" "もしくは、設定で他の音声プレイヤーを選択してください。\n" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -5655,7 +5660,7 @@ "い。\n" "JACKサーバーの自動起動は今回、無効となりました。\n" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" @@ -5664,7 +5669,7 @@ "JACKサーバーに接続できません。JACKサーバーを起動してからLiVESを起動してくださ" "い。\n" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -5681,7 +5686,7 @@ "\n" "%s\n" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" @@ -5689,7 +5694,7 @@ "\n" "もしくは、LiVESを再起動して他の音声プレイヤーを選択してください。\n" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -5705,7 +5710,7 @@ "「設定 | マルチトラック」で値を増やしてください。\n" "少なくとも %d MB追加することをお勧めします。" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -5718,7 +5723,7 @@ "これらを削除することをお勧めします。\n" "これらを削除しますか?\n" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -5731,7 +5736,7 @@ "ファー」で\n" "アンドゥメモリーの量を減らしてください。\n" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -5743,7 +5748,7 @@ "「設定 | マルチトラック | アンドゥバッファー」を用いて\n" "アンドゥのためのメモリーを増加してください。\n" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" @@ -5752,21 +5757,21 @@ "LiVESは、マルチトラックアンドゥバッファーに十分なメモリを確保できませんでし" "た。\n" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "もしくは、もう少し小さな値を入力してください。\n" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "" "他のアプリケーションを終了させて、クリップエディターから再試行してくださ" "い。\n" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "他のアプリケーションを終了させてみてください。\n" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" @@ -5775,14 +5780,14 @@ "は音声があります。\n" "ツールメニューから音声設定を調整してください。\n" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "" "現在のレイアウトには音声があります。したがって、音声チャンネルはゼロにできま" "せん。\n" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" @@ -5792,7 +5797,7 @@ "JACKサーバーかPulseAudioサーバーでのみ利用できます。\n" "「ツール | 設定 | 再生」で設定を変更してください。" -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" @@ -5802,7 +5807,7 @@ "行が原因かもしれません)。\n" "レイアウトのディスクコピーを修復してみますか?\n" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" @@ -5810,7 +5815,7 @@ "LiVESはレイアウトを読み込む事ができませんでした。\n" "申し訳ありません。\n" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 #, fuzzy msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" @@ -5820,7 +5825,7 @@ "LiVESは現在のところ正しく動作するために'mplayer'または'sox'を必要とします。い" "ずれかひとつもしくは両方をインストールして、再び試してください。\n" -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 #, fuzzy msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" @@ -5830,7 +5835,7 @@ "LiVESは現在のところ正しく動作するために'mplayer'または'sox'を必要とします。い" "ずれかひとつもしくは両方をインストールして、再び試してください。\n" -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 #, fuzzy msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" @@ -5840,7 +5845,7 @@ "LiVESは現在のところ正しく動作するために'mplayer'または'sox'を必要とします。い" "ずれかひとつもしくは両方をインストールして、再び試してください。\n" -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" @@ -5850,7 +5855,7 @@ "\n" "音声レートは0より大きくなくてはいけません。\n" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5862,7 +5867,7 @@ "表示するにはとても長い時間がかかるでしょう。\n" "それでも表示しますか?\n" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" @@ -5872,7 +5877,7 @@ "\n" "この機能を使うには、'dvgrab'をインストールしなければなりません。\n" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5886,19 +5891,19 @@ "JACKサーバーかPulseAudioサーバーでのみ可能です。\n" "「ツール | 設定 | 再生」で設定を変更してください。\n" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "映像プラグインはパレットの初期化に失敗しました。\n" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "デコーダープラグインはパレットの初期化に失敗しました。\n" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "映像プラグインのフレームレートを設定できません。\n" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" @@ -5906,7 +5911,7 @@ "クラッシュした場合、「ファイル | ディスクスペースのクリーンアップ」で\n" "ディスクをクリーンアップするとよいでしょう\n" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5919,33 +5924,33 @@ "\n" "echo %d > /proc/sys/net/core/rmem_max\n" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "キャンセルされました。\n" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "失敗。\n" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "完了。\n" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "ファイルのエラー。失敗しました。\n" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "追加情報: %s\n" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "エラーの値は %d%s です\n" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -5960,7 +5965,7 @@ "エラーに関してシステムをチェックしてください。\n" "%s%s%s" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -5975,7 +5980,7 @@ "考えられるエラー原因を確認してください。\n" "%s" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -5990,7 +5995,7 @@ "考えられるエラー原因を確認してください。\n" "%s" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -6003,7 +6008,7 @@ "%s\n" "考えられるエラー原因を確認してください。\n" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -6018,7 +6023,7 @@ "エラーは以下の通りです\n" "%s\n" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -6031,7 +6036,7 @@ "%s\n" "考えられるエラー原因を確認してください。\n" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -6046,12 +6051,12 @@ "エラーは以下の通りです\n" "%s\n" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "\"%s\" の値を読み取れませんでした。" -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -6064,7 +6069,7 @@ "%s\n" "エラーに関してシステムを確認してください。\n" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -6077,7 +6082,7 @@ "%s\n" "ファイルパーミッションを確認して、もう一度試してください。" -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -6090,7 +6095,7 @@ "%s\n" "ディレクトリの権限を確認した上で、再度試してください。" -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, c-format msgid "" "\n" @@ -6098,7 +6103,7 @@ "%s\n" msgstr "" -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" @@ -6108,7 +6113,7 @@ "処理を中止しLiVESを終了します\n" "よろしいですか?\n" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -6119,7 +6124,7 @@ "%sは%s形式でフォーマットされたクリップをエンコードすることができません。\n" "リストから他のエンコーダーを選択してください。\n" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" @@ -6127,7 +6132,7 @@ "\n" "このデバイスはすでに使用中で、何度も開くことはできません。\n" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -6142,7 +6147,7 @@ "- 他のプログラムによってこのデバイスが使用中かどうか確認してください。\n" "- このデバイスが本当に存在しているかどうか確認してください。\n" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" @@ -6152,7 +6157,7 @@ "このファイルの字幕はすでに読み込まれています。\n" "以前の字幕を上書きしますか?\n" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 #, fuzzy msgid "" "\n" @@ -6161,7 +6166,7 @@ "\n" "LiVESでは、現在.srtと.sub形式の字幕ファイルのみサポートしています。\n" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" @@ -6171,7 +6176,7 @@ "このクリップからすべての字幕ファイルを削除します。\n" "よろしいですか?\n" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -6184,7 +6189,7 @@ "キャンセルをクリックして他のファイル名を指定するか\n" "OKをクリックした上で\"%s\"形式として保存してください。\n" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" @@ -6194,7 +6199,7 @@ "現在のクリップセットを新しいディレクトリに移動しますか?\n" "(このメッセージの内容がよくわからない場合は、Yesをクリックしてください)\n" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -6210,7 +6215,7 @@ "他のLiVESプロジェクトを閉じてからOKをクリックして続行してください。\n" "." -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" @@ -6218,7 +6223,7 @@ "\n" "映像入力のためのデバイスが見つかりません。\n" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" @@ -6226,7 +6231,7 @@ "\n" "映像入力デバイスがすべて使用中です。\n" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -6238,7 +6243,7 @@ "クリーニングとファイルのコピーを行っています。少し時間がかかります。\n" "LiVESを終了したり閉じたりしないでください!\n" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, fuzzy, c-format msgid "" "\n" @@ -6249,7 +6254,7 @@ "いくつかの %s がレイアウト %s から失われています。\n" "そのため正しく読み込まれないかもしれません。\n" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" @@ -6258,7 +6263,7 @@ "セット(%s)のクリップは復元されませんでした。\n" "セット名の綴りを確認して再度実行してください。\n" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -6267,7 +6272,7 @@ "directory. Would you like me to do this (recommended) ?" msgstr "" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -6285,7 +6290,7 @@ "ファイル -> ディスク領域をクリーン\n" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -6298,7 +6303,7 @@ "LiVES バージョン %s にようこそ!\n" "\n" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" @@ -6309,7 +6314,7 @@ "ります。\n" "パッケージディストリビューターに相談してください。\n" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" @@ -6318,7 +6323,7 @@ "このトイを利用するには、少なくとも1個のクリップが読み込まれている必要がありま" "す。\n" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" @@ -6328,7 +6333,7 @@ "LiVES は JACK との接続が切れてしまい、再接続できませんでした。\n" "LiVES の再起動をお勧めします。\n" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" @@ -6338,11 +6343,11 @@ "LiVES は PulseAudio との接続が切れてしまい、再接続できませんでした。\n" "LiVES の再起動をお勧めします。\n" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "「ツール|設定|その他」で、CD再生デバイスを設定してください。\n" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, fuzzy, c-format msgid "" "\n" @@ -6356,7 +6361,7 @@ "エラーは以下の通りです\n" "%s\n" -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -6365,7 +6370,7 @@ "already exists. Would you like to overwrite it ?\n" msgstr "" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -6510,7 +6515,7 @@ msgid "Video only Transitions" msgstr "映像のみのトランジション" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "音声のみ" @@ -6518,7 +6523,7 @@ msgid "Audio only Transitions" msgstr "音声のみのトランジション" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "音声" @@ -6562,7 +6567,7 @@ msgid "Audio Analysers" msgstr "" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "不明" @@ -6619,90 +6624,90 @@ "\n" "フレームは生成されませんでした。\n" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 #, fuzzy msgid "Invalid element" msgstr "無効なパラメータ" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 #, fuzzy msgid "Invalid property" msgstr "無効なパラメータ" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 #, fuzzy msgid "Invalid plugin" msgstr "無効な行 %d : %s\n" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 #, fuzzy msgid "No error" msgstr "$error" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 msgid "integer" msgstr "" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 msgid "string" msgstr "" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 msgid "pointer" msgstr "" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "エラー: プラグイン %s に weed_setup() がありません。\n" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "プラグイン %s に使うことのできないフィルターが見つかりました\n" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" @@ -6711,271 +6716,271 @@ "情報: プラグイン %s を読み込みできませんでした。\n" "エラー: %s\n" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "プラグインディレクトリ" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr "" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "%d Weedフィルターの読み込みに成功しました\n" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, c-format msgid "Successfully loaded %d compound filters\n" msgstr "" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, fuzzy, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "インスタンス %s を開始できません。エラーコード %d\n" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "ジェネレーター%sを開始できません。\n" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, fuzzy, c-format msgid "Failed to start generator %s (%s)\n" msgstr "ジェネレーター %s を開始できません。\n" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, fuzzy, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "ジェネレーター %s を開始できません。\n" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "%s [不安定] (%s)" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 msgid "Autoscale" msgstr "" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 #, fuzzy msgid "Delete this connection" msgstr "このエフェクトを消去(_D)" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, c-format msgid "%s - Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, c-format msgid "%s - Parameter Data Connections" msgstr "" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 msgid "Parameter and Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 msgid "Auto Connect Channels" msgstr "" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 msgid "Auto Connect Parameters" msgstr "" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "これらの値を変更するにはプレビューをクリックします。" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "値のリセット(_R)" -#: src/framedraw.c:241 +#: src/framedraw.c:242 msgid "_Frame" msgstr "" @@ -7019,40 +7024,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "ターゲットFPS (プラグインに上書きされるでしょう)(_F)" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "%s : サイズ" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "新しいサイズ (ピクセル)" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "幅(_W)" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "高さ(_H)" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "クリップボードに生成(_C)" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "クリップボードへフレームを生成" -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "新しいクリップに生成(_N)" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "新しいクリップへフレームを生成" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -7133,32 +7138,32 @@ "「ツール | 設定 | 再生 | 映像 | プラグイン」\n" "\n" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "再生プラグインのデフォルトを%sに保存..." -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "FPS(_F)" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "プラグインのフレームレートを固定します。\n" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "カラースペース(_C)" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "プラグインに入力されるカラースペース\n" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "設定を別なファイルに保存します。\n" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -7171,7 +7176,7 @@ "再生プラグイン %s を開けません。\n" "エラーは %s\n" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -7186,7 +7191,7 @@ "必要とされる機能を持ちません。\n" "使用することができません。\n" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" @@ -7195,7 +7200,7 @@ "映像プラグインを初期化できません。\n" "エラー: %s\n" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " @@ -7204,17 +7209,17 @@ "*** 再生に %s プラグインを使います。パレットタイプは %d ( %s ) を使います。 " "***\n" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "音声ストリームは選択したフォーマット '%s' を利用できません\n" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "代わりに %s をフォーマットに使ってください。\n" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -7223,7 +7228,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -7239,7 +7244,7 @@ "もしくは、「ツール | 設定 | エンコーディング」で他のプラグインに変更してくだ" "さい。\n" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, fuzzy, c-format msgid "" "\n" @@ -7247,12 +7252,12 @@ "No decoders found in %s !\n" msgstr "プラグイン %s に使うことのできないフィルターが見つかりました\n" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, fuzzy, c-format msgid " using %s" msgstr "%sを開きます" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -7265,7 +7270,7 @@ "デコーダプラグイン %s を開けません。\n" "エラーは %s\n" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -7280,25 +7285,25 @@ "必須の機能がありません。\n" "利用することができません。\n" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "/不明" -#: src/plugins.c:2556 +#: src/plugins.c:2550 #, fuzzy msgid "Decoder Plugins" msgstr "LiVES: - デコーダープラグイン" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "映像デコーダーを有効にする(チェックを外すと無効)" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "%sの読み込みに失敗しました。トランジションはリサイズされません。\n" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "%s 高度な設定" @@ -7513,20 +7518,20 @@ msgid "Move _Down" msgstr "下へ移動(_D)" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 #, fuzzy msgid "RFX Properties" msgstr "LiVES: - RFX属性" -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "遅く (GUIへのヒント)(_S)" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "バッチモードジェネレーター(_B)" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -7540,7 +7545,7 @@ "トリガーを先に削除してください。\n" "\n" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -7552,29 +7557,29 @@ "いくつかのトリガーが調整されました。\n" "トリガーのコードを確認してください。\n" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 #, fuzzy msgid "New RFX Parameter" msgstr "LiVES: - 新しいRFXパラメータ" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 #, fuzzy msgid "Edit RFX Parameter" msgstr "LiVES: - RFXパラメータの編集" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "名前(_N): " -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "パラメータ名はプラグインの中で一意でなければなりません。" -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "ラベル(_L): " -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." @@ -7582,167 +7587,167 @@ "パラメータとして表示されるラベル。アンダースコアはキーボードアクセラレータを" "表します。" -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "タイプ(_T): " -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "パラメータタイプ (リストから選択)" -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "小数点以下の位(_P): " -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "デフォルト値(_D): " -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "デフォルト(_D): " -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "ボタングループ(_G): " -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "ラジオボタングループにはゼロではない値を使います。" -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "最小値(_M): " -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "最大値(_X): " -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr " ステップサイズ(_S): " -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "" "スピンボタンの矢印が押されたときに、どのくらいパラメータが調節されるか。" -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 msgid "_Wrap value" msgstr "" -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "端数が max->min かつ min->max に丸められるかどうか。" -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "値の設定(_V)" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "標準の赤(_R): " -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "標準の緑(_G):" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "標準の青(_B): " -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "デフォルトに設定(_D)" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "デフォルトの値: " -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "最大長(chars): " -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 #, fuzzy msgid "New RFX Parameter Window Hint" msgstr "LiVES: - 新しいRFXパラメータ、ウィンドウヒント" -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 #, fuzzy msgid "Edit RFX Parameter Window Hint" msgstr "LiVES: - RFXパラメータ、ウィンドウヒントの編集" -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "" -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "" -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "" -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "列: " -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "リンクパラメータ (%d): " -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "リンクパラメータ (4): " -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "リンクパラメータ (2): " -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 #, fuzzy msgid "New RFX Trigger" msgstr "LiVES: - 新しいRFXトリガー" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 #, fuzzy msgid "Edit RFX Trigger" msgstr "LiVES: - RFXトリガーの編集" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "いつ: " -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 #, fuzzy msgid "Pre Loop Code" msgstr "LiVES: - プレループコード" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 #, fuzzy msgid "Loop Code" msgstr "ループコード(_L)..." -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 #, fuzzy msgid "Post Loop Code" msgstr "LiVES: - ポストループコード" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, fuzzy, c-format msgid "Default text (max length %d)" msgstr "LiVES: - 標準テキスト (最大長 %d)" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 #, fuzzy msgid "Enter values, one per line" msgstr "LiVES: - 一行ごとに値を入力" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" @@ -7752,7 +7757,7 @@ "\n" "名前が空欄ではいけません。\n" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" @@ -7762,7 +7767,7 @@ "\n" "名前に空白が含まれてはいけません。\n" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" @@ -7772,7 +7777,7 @@ "\n" "メニューテキストが空欄ではいけません。\n" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" @@ -7782,7 +7787,7 @@ "\n" "動作の記述が空欄ではいけません。\n" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" @@ -7792,7 +7797,7 @@ "\n" "作者は空白ではいけません。\n" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -7804,7 +7809,7 @@ "この名前のプラグインが既に存在します。\n" "プラグイン名は一意でなければなりません。\n" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" @@ -7814,7 +7819,7 @@ "\n" "ループコードは空欄ではいけません。\n" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" @@ -7824,7 +7829,7 @@ "\n" "トリガーコードはユーティリティに利用するときは空欄ではいけません。\n" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" @@ -7834,7 +7839,7 @@ "\n" "パラメータ名は空欄ではいけません。\n" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -7848,41 +7853,41 @@ "ればなりません。\n" "\n" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "スクリプトファイル%sを出力します..." -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "スクリプトに <define> セクションがありません。\n" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "不適切なスクリプトのバージョン\n" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "スクリプトに <name> セクションがありません。\n" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "スクリプトに <version> セクションがありません。\n" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "スクリプトに <author> セクションがありません。\n" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "スクリプトに <description> セクションがありません。\n" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "不適切な記述 (%s)\n" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -7897,27 +7902,27 @@ "スクリプトに発見しました。\n" "\n" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "再構築します。全RFXスクリプト...ビルトイン..." -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "スクリプトの再構築" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "カスタム..." -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "テスト..." -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "動的メニューエントリを再構築します..." -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -7930,7 +7935,7 @@ "LiVESはプログラム %s を見つけられませんでした。\n" "このプログラムがパス中にあり、実行可能であることを確認してください。\n" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -7944,12 +7949,12 @@ "本当にRFXスクリプト %s を削除しますか?\n" "\n" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "RFXスクリプト %s を削除します...." -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -7964,7 +7969,7 @@ "\n" "エラーコードは%dです。\n" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -7979,12 +7984,12 @@ "は既に存在します。\n" "消去するか、テストスクリプトの名前を変えてください。\n" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "RFXのテストスクリプト %s をカスタムスクリプトに昇格します..." -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -7995,22 +8000,22 @@ "Return code was %d (%s)\n" msgstr "" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 #, fuzzy msgid "Export Script" msgstr "プロジェクトのエクスポート" -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "%s を %s からコピーしています..." -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 #, fuzzy msgid "Import Script" msgstr "プロジェクトのインポート" -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -8025,46 +8030,46 @@ "は既に存在します。\n" "消去するか、インポートするスクリプトの名前を変えてください。\n" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 #, fuzzy msgid "Copy RFX Script" msgstr "LiVES: - RFXスクリプトのコピー" -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "" -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr " スクリプト: " -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 #, fuzzy msgid "Rename Test RFX Script" msgstr "テストRFXスクリプトの名称変更(_M)..." -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "スクリプトから: " -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 #, fuzzy msgid "RFX Script Name" msgstr "LiVES: - RFXのスクリプト名" -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "スクリプト名: " -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "新しい名前: " -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "新しいスクリプト名: " -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -8076,12 +8081,12 @@ "この名前のテストスクリプトが既に存在します。\n" "スクリプト名は一意でなければなりません。\n" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "RFXのテストスクリプトの名称を%sから%sに変更..." -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -8098,26 +8103,26 @@ "%sへの移動に失敗しました。\n" "戻り値は%dです。\n" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "リアルタイムエフェクトを選択範囲に適用(_A)" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 #, fuzzy msgid "Applying Current Real Time Effects to" msgstr "リアルタイムエフェクトを選択範囲に適用(_A)" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "レンダリングエフェクト %s の読み込み中..." -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "参照: VJ - VJキーを表示。リアルタイムエフェクトを設定し、適用します。" -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -8129,7 +8134,7 @@ "映像プラグインは、フルスクリーンと\n" "分離ウィンドウ (fs) モードでのみ利用可能です。\n" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -8141,7 +8146,7 @@ "\n" "(空き領域 = 不明)" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -8154,14 +8159,14 @@ "\n" "(空き容量 = %s)" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" "It should be in a partition with plenty of free disk space.\n" msgstr "" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -8172,7 +8177,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -8182,7 +8187,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1193 +#: src/preferences.c:1163 #, fuzzy msgid "" "You have chosen to change the working directory.\n" @@ -8203,7 +8208,7 @@ "あるいは、一時ディレクトリの指定をもとの設定に戻すために、キャンセルを押して" "ください。" -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, fuzzy, c-format msgid "" "\n" @@ -8216,7 +8221,7 @@ "いる必要があります。\n" "http://jackaudio.orgを参照してください。\n" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" @@ -8224,7 +8229,7 @@ "\n" "音声プレーヤーの変更は再起動が必要です(jackd が動作していてはいけません)\n" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, fuzzy, c-format msgid "" "\n" @@ -8237,72 +8242,72 @@ "PulseAudioサーバーが前もってインストールされている必要があります。\n" "http://www.pulseaudio.orgを参照してください。\n" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "PCM (再高品質、ファイルサイズ最大)" -#: src/preferences.c:2468 +#: src/preferences.c:2418 #, fuzzy msgid "Preferences" msgstr "設定(_P)..." -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "ファイル選択を最大化して開く" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "最近使ったファイルをファイルメニューに表示" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "再生時にスクリーンセーバーを停止 " -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "起動時にメインウィンドウを最大化" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "バックグラウンドなしの場合にツールバーを表示" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "マウスホイールでクリップを切り替える" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "プレビューを画面に合わせて調整" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "起動時のウィンドウ" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "クリップエディター(_C)" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "マルチトラック(_M)" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "マルチヘッドのサポート" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr " LiVES用のモニター番号" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr " 再生用のモニター番号" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." @@ -8310,247 +8315,247 @@ "0 に設定すると利用可能なすべてのモニタを使用します(一部のプレイバックプラグイ" "ンのみ動作)。" -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "シングルモニターにする" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "GUI" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "マルチトラックモードに入るとき:" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "幅、高さ、fps、音声の設定を求める(_P)" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "常に次の値を使う(_A):" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "新しいクリップのレンダリングにこれらの同じ値を使う(_V)" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr " アンドゥバッファのサイズ(_U) (MB) " -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "レンダリング後にマルチトラックモードを終了(_E)" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "レイアウトを自動でバックアップ" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "すべての(_E)" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "秒" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "すべての変更を行った後(_C)" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "しない(_N)" -#: src/preferences.c:2872 +#: src/preferences.c:2757 #, fuzzy msgid "Maximum number of visible tracks" msgstr "表示するトラック数の最大値" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "マルチトラック/レンダリング" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "可能な場合にインスタントオープンを使用" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "" "いくつかのファイルタイプ対し、デコーダープラグインを使ってインスタントオープ" "ンを有効とする" -#: src/preferences.c:2925 +#: src/preferences.c:2804 msgid "Video open command (fallback)" msgstr "" -#: src/preferences.c:2935 +#: src/preferences.c:2811 msgid "Fallback image format" msgstr "" -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "jpeg(_J)" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "png(_P)" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "" "(どの画像フォーマットが使用可能かどうか、「ヘルプ | トラブルシュート」で確認" "してください)" -#: src/preferences.c:2964 +#: src/preferences.c:2832 msgid "Open/render compression" msgstr "" -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr "" " % (小さな値だと処理時間が長くファイルも大きくなりますがJPEGは画質が上がりま" "す)" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "可能な場合にインターレースの自動解除を有効にする" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "プラグインの提案をするときはフレームのインターレース自動解除を行う" -#: src/preferences.c:2995 +#: src/preferences.c:2856 #, fuzzy msgid "Automatic trimming / padding of audio when possible" msgstr "可能な場合にインターレースの自動解除を有効にする" -#: src/preferences.c:2997 +#: src/preferences.c:2858 #, fuzzy msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "プラグインの提案をするときはフレームのインターレース自動解除を行う" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "可能ならブランクボーダーを無視" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "可能ならフレームからブランクボーダーを取り除く" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "複数ファイルを開くとき、画像を一つのクリップに結合する" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "デコード" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "映像" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "低 - 遅いマシンで性能が向上します" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "通常 - 多くのユーザーに推奨" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "高 - 速いマシンで品質が向上します" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "プレビュー品質(_Q)" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "映像のプレビュー品質 - リサイズに影響" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "FPS統計を表示する(_S)" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "プラグイン(_P)" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "音声ストリーム" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "再生プラグインへの音声ストリーム" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "音声" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "プレーヤー(_P)" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "(JACKサーバー統合タブで、JACKサーバーの起動オプションを変更できます)" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "音声再生コマンド(_C)" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "- 内部 -" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "音声を映像のフレームレート/方向に合わせる(JACKのみ)(_R)" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "音声をクリップスイッチに合わせる(JACKのみ)(_C)" -#: src/preferences.c:3269 +#: src/preferences.c:3110 msgid "Source:" msgstr "" -#: src/preferences.c:3273 +#: src/preferences.c:3114 msgid "_Internal" msgstr "" -#: src/preferences.c:3278 +#: src/preferences.c:3119 msgid "_External (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "再生" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" @@ -8558,73 +8563,73 @@ "外部ウィンドウをキャプチャーするとき、音声も記録する(_X)\n" "(JACKサーバーかPulseAudioサーバーが必要)" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr " ’r’が押されたときに記録するもの " -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "フレーム変更(_F)" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "FPSの変更(_P)" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "リアルタイムエフェクト(_R)" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "クリップスイッチ(_C)" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "ディスクの空き容量が以下を下回ったら記録を停止します" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "GB" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "記録" -#: src/preferences.c:3454 +#: src/preferences.c:3273 #, fuzzy msgid "You can also change these values when encoding a clip" msgstr "これらの値を変更するにはプレビューをクリックします。" -#: src/preferences.c:3466 +#: src/preferences.c:3285 msgid "Encoder" msgstr "" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "出力フォーマット" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "音声コーデック" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "エンコード" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "リサイズ時にアンチエイリアスを使用する(_A)" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "リアルタイムエフェクトキーの数(_R)" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." @@ -8632,96 +8637,96 @@ "\"バーチャル\"リアルタイムエフェクトキーの数。リアルタイムエフェクトウィンド" "ウやネットワーク(OSC)を介してコントロールされます。" -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "エフェクトを適用する際、可能であればマルチスレッドを利用する(_T)" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "スレッドの数(_T)" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr " ビデオを読み込むディレクトリ (デフォルト) " -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr " ビデオ保存ディレクトリ (デフォルト) " -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr " 音声を読み込むディレクトリ (デフォルト) " -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr " 画像ディレクトリ (デフォルト) " -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr " バックアップ/リストアディレクトリ (デフォルト) " -#: src/preferences.c:3649 +#: src/preferences.c:3461 #, fuzzy msgid " Working directory (do not remove) " msgstr " 一時ディレクトリ (削除不可能) " -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "ビデオクリップを読み込むデフォルトのディレクトリ" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "エンコードしたクリップを書き込むデフォルトのディレクトリ" -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "音声を読み込み/保存するデフォルトのディレクトリ" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "フレームショットを保存するデフォルトのディレクトリ" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "シングルクリップをバックアップ/リストアするデフォルトのディレクトリ" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "LiVES作業用ディレクトリ" -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "ディレクトリ" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "ディスク容量がこれ以下になった場合に警告: " -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr " MB [ 0 にすると無効]" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "ディスク容量が致命的なレベル: " -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" @@ -8729,19 +8734,19 @@ "クリップボードのフレームレートが選択範囲のフレームレートと合わない場合に警告" "(_F)" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "ファイルサイズが次を超えるときに警告する(_S) " -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr " MB" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "セットを保存する前に警告を表示する(_T)" -#: src/preferences.c:3872 +#: src/preferences.c:3659 #, fuzzy msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " @@ -8750,70 +8755,70 @@ "起動時にmplayer, sox, composite, convertの各コマンドを検出できないときに警告" "を表示する(_M)" -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "開始時にレンダリングエフェクトが見つからないときに警告を表示する(_R)" -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "開始時にエンコーダプラグインが見つからないときに警告を表示する(_E)" -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "同じセット名が入力されたときに警告を表示する(_D)" -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "" "セットが読み込みされたときに、クリップがレイアウトから失われるときに警告する" "(_L)" -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "レイアウトで使われているクリップが閉じられるときには警告する。" -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "レイアウトで使われているフレームが削除されるときには警告する。" -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "レイアウトで使われているフレームが移動するときには警告する。" -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "レイアウトで使われているフレームが変化するときには警告する。" -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "レイアウトで使われている音声が削除されるときには警告する。" -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "レイアウトで使われている音声が移動するときには警告する。" -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "レイアウトで使われている音声が変化するときには警告する。" -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "クリップが変更された後のレイアウトエラーをポップアップ表示する。" -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "" "マルチトラックモードを抜けるときにレイアウトが保存されていないときは警告す" "る。" -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "" "マルチトラックモードに音声チャネルが無いのに音声付きレイアウトが読み込まれる" "ときには警告する。" -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." @@ -8821,237 +8826,237 @@ "複数のトラックが音声チャンネルを持っている場合はJACKサーバかPulseAudioサーバ" "を使うよう警告する" -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "Firewireデバイスからのインポート後に情報メッセージを表示する" -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "yuv4mpegストリームを開く前に警告を出す(高度)" -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "マルチトラックが空き容量より足りない場合に警告を表示する" -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "" "表示する警告がクラッシュした後、ディスクスペースをクリーニングするよう促しま" "す。" -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "PulseAudioサーバーに接続できなかった場合に警告します。" -#: src/preferences.c:4113 +#: src/preferences.c:3865 #, fuzzy msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "yuv4mpegストリームを開く前に警告を出す(高度)" -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "警告" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "" "MMC(MIDI Machine Control)を送信する(midistartおよびmidistopファイルが必要" "です)" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "フレームの挿入とマージをするときの処理: " -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "スピードアップ/スローダウンして挿入(_S)" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "リサンプリングして挿入(_R)" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "CDデバイス " -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "LiVESはこのCDから音声トラックを読み込むことができます" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "デフォルトのFPS " -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "何も指定しないときのFPS" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "その他" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "新しいテーマ: " -#: src/preferences.c:4242 +#: src/preferences.c:3977 msgid "Main Theme Details" msgstr "" -#: src/preferences.c:4254 +#: src/preferences.c:3988 #, fuzzy msgid " _Foreground Color" msgstr "背景色(_B)" -#: src/preferences.c:4273 +#: src/preferences.c:4007 #, fuzzy msgid " _Background Color" msgstr "背景色(_B)" -#: src/preferences.c:4291 +#: src/preferences.c:4026 #, fuzzy msgid "_Alt Foreground Color" msgstr "背景色(_B)" -#: src/preferences.c:4309 +#: src/preferences.c:4044 #, fuzzy msgid "_Alt Background Color" msgstr "背景色(_B)" -#: src/preferences.c:4327 +#: src/preferences.c:4062 #, fuzzy msgid " Info _Text Color" msgstr " 高さ(_H) " -#: src/preferences.c:4346 +#: src/preferences.c:4081 #, fuzzy msgid " Info _Base Color" msgstr " 高さ(_H) " -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "" -#: src/preferences.c:4365 +#: src/preferences.c:4100 #, fuzzy msgid "Affects some contrast details of the timeline" msgstr "" "エフェクトを適用するには\n" "タイムライン上のブロックまでドラッグしてください。" -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "" -#: src/preferences.c:4398 +#: src/preferences.c:4132 #, fuzzy msgid "Frame blank image" msgstr "フレーム変更(_F)" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "" -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4474 +#: src/preferences.c:4203 #, fuzzy msgid "Track background (multitrack)" msgstr "空白でないバックグラウンド" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "" -#: src/preferences.c:4529 +#: src/preferences.c:4258 #, fuzzy msgid "Timeline selection (multitrack)" msgstr "タイムライン(秒)" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "" -#: src/preferences.c:4553 +#: src/preferences.c:4282 #, fuzzy msgid "Timecode foreground (multitrack)" msgstr "タイムコードから領域の最初へ(_T)" -#: src/preferences.c:4565 +#: src/preferences.c:4293 #, fuzzy msgid "Frame surround" msgstr "フレーム/秒(_F)" -#: src/preferences.c:4582 +#: src/preferences.c:4306 #, fuzzy msgid "Themes/Colors" msgstr "テーマ" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "ダウンロードバンド幅 (Kb/s) " -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "" "OMCを利用するには、\"configure --disable-OSC\"無しでLiVESをコンパイルしなけれ" "ばなりません。" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "OMCリモートコントロールを有効にする" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "UDPポート " -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "起動時にOMCを開始する" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "ストリーミング/ネットワーキング" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "JACKトランスポート機能" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" @@ -9059,47 +9064,47 @@ "JACKサウンドサーバのトランスポート機能を使うには、jack/transport.h と jack/" "jack.h を使ってLiVESをコンパイルする必要があります" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "JACKサーバーの設定ファイル(_T)" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "LiVES起動時にJACKサーバーを起動(_S)" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "JACKサーバーのトランスポート機能のマスターとなる(_M)" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "JACKサーバーのトランスポート機能のクライアントとなる(_C)" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "JACKサーバーのトランスポート機能にスタート位置を合わせる" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "JACKサーバーのトランスポート機能に時間を合わせる" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "" "(「再生 | 音声を映像のフレームレート/方向に合わせる」オプションも確認してくだ" "さい)" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "JACK音声機能" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "" "JACKサーバーの音声機能を使うためには、jack/jack.hを使ってLiVESをコンパイルす" "る必要があります" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" @@ -9107,80 +9112,80 @@ "JACk音声機能を使うには「設定 | 再生」の音声で、プレイヤーを\"jack\"に指定する" "必要があります" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "JACKサーバーの設定ファイル(_A)" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "JACKトランスポート機能が停止しても音声の再生を続けます(_P)" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "JACKサーバー統合" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "反応するイベント:" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "ジョイスティックイベント(_J)" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "ジョイスティックデバイス(_J)" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "ジョイスティックデバイス。例)/dev/input/js0" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "MIDI イベント(_M)" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "ALSAシーケンサ機能を利用(_A) (推奨)" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "" "MIDIデバイスを接続するために、ALSAシーケンサ機能にMIDIポートを作成します" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "raw MIDIを利用(_R)" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "MIDIデバイスに対応するノードから直接信号を取得します" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "MIDI デバイス(_M)" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "MIDIデバイス 例) /dev/input/midi0" -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "詳細" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "MIDIチェックレート(_R)" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." @@ -9188,23 +9193,23 @@ "キーボードによるMIDIチェックの数。この数を増やすとMIDIの反応が向上しますが、" "再生が遅くなるかもしれません。" -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "MIDIリピート" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "連続するリードにおける非リードの数" -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "(警告: 高い値を設定すると、再生が遅くなります)" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "MIDI/ジョイスティック登録" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -9216,7 +9221,7 @@ "す。\n" "OKのクリックで続けます。\n" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." @@ -9224,38 +9229,38 @@ "ディレクトリの変更を適用するため、LiVESは設定ダイアログを閉じると再起動しま" "す。" -#: src/preferences.c:5525 +#: src/preferences.c:5205 #, fuzzy msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "この変更は次にLiVESを起動するときまで影響を与えません。" -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "" "JACKサーバに関するオプションは、次にLiVESを開始するときまで変更が反映されませ" "ん" -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "外部フレームレート(%.8fフレーム/秒)に合わせる\n" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "OSCレシーバーを初期化できません。\n" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "警告: OSCサーバーをUDPポート %d で開始できません。\n" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "OSCサーバーをUDPポート %d で開始しました。\n" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "ポート%d番のOSC/UDPサーバーを起動できません。 \n" @@ -9278,12 +9283,12 @@ msgid "Resample/Resize" msgstr "リサンプル/リサイズ" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "現在、映像の長さは %d フレームです。\n" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" @@ -9293,147 +9298,147 @@ "\n" "新しいレートは0より大きくなければなりません。\n" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "音声のリサンプリング" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "LiVESは要求された音声のリサンプリングを実施できません。\n" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "音声のリサンプリング" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "音声は %d Hz、 %d チャンネル、%d ビットでリサンプリングされました。" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "%.8f フレーム/秒で映像をリサンプリング..." -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "%.3f フレーム/秒で映像をリサンプリング..." -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "リオーダリングエラー !\n" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "リサンプリング" -#: src/resample.c:1208 +#: src/resample.c:1209 #, fuzzy msgid "New Clip Audio" msgstr "新しい音声" -#: src/resample.c:1210 +#: src/resample.c:1211 #, fuzzy msgid "External Clip Settings" msgstr "LiVES: - 外部クリップ設定" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "現在" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "レート (Hz) " -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 msgid "Channels" msgstr "" -#: src/resample.c:1256 +#: src/resample.c:1257 msgid "Sample Size " msgstr "" -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "符号付き" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "符号なし" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "リトルエンディアン" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "ビッグエンディアン" -#: src/resample.c:1322 +#: src/resample.c:1323 #, fuzzy msgid "New Audio Details" msgstr "新しい音声" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "新規" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "音声を有効にする(_E)" -#: src/resample.c:1369 +#: src/resample.c:1370 msgid "_Channels" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "_Sample Size" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "Sample Size" msgstr "" -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "フレーム/秒(_F) " -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "最大レコード: " -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr " 時間 " -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr " 分 " -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr " 秒 " -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "無制限" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "記録の開始にはOKを、やめるにはキャンセルをクリック" -#: src/resample.c:1635 +#: src/resample.c:1636 #, fuzzy msgid "Change Playback Speed" msgstr "再生/保存スピードの変更(_C)..." -#: src/resample.c:1637 +#: src/resample.c:1638 #, fuzzy msgid "Resample Video" msgstr "映像をリサンプリングします" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -9450,7 +9455,7 @@ "要求する再生スピードをフレーム/秒の数値で\n" "入力してください(_f)" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -9467,15 +9472,15 @@ "要求するリサンプリングレートをフレーム/秒の数値で\n" "入力してください(_r)" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "もしくは、クリップの長さを秒単位で入力してください(_S)" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "音声スピードも変更(_A)" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" @@ -9485,7 +9490,7 @@ "速度を上げるとマルチトラックレイアウトでフレームを失う原因になります。\n" "速度を変更しますか?\n" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" @@ -9495,7 +9500,7 @@ "速度を上げるとマルチトラックレイアウトで音声を失う原因になります。\n" "速度を変更しますか?\n" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" @@ -9505,7 +9510,7 @@ "スピードを変更すると一部のマルチトラックモードでフレームが移動されます。\n" "本当に続行しますか?\n" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" @@ -9515,33 +9520,33 @@ "スピードを変更すると一部のマルチトラックモードで音声が移動されます。\n" "本当に続行しますか?\n" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "スピード変更" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "再生スピードを %.3f フレーム/秒および音声 %d Hz に変更しました。\n" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "再生スピードを %.3f フレーム/秒に変更しました。\n" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "映像をリサンプリングします" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "クリップボードの映像をリサンプリングします" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "フレームを並べ換えます" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" @@ -9551,11 +9556,11 @@ "\n" "LiVESはフレームを並べ換えられませんでした。" -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "フレームを再び並べ換えます" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "リサンプリングエラー..." @@ -9824,7 +9829,7 @@ msgid "Mode active" msgstr "モードアクティブ" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "情報" @@ -9951,48 +9956,48 @@ msgid "Opened firewire card %d" msgstr "開かれたFirewireカード %d" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "自動バックアップ" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "バックグラウンド音声" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, fuzzy, c-format msgid "%s : parameters for %s" msgstr "パラメータなし" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "現在のトラック: %s (レイヤー %d)\n" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "現在のトラック: バックグラウンド音声\n" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "現在のトラック: レイヤー %d 音声\n" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "%.2f 秒\n" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "ソース: %s" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "右クリックでコンテキストメニュー\n" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." @@ -10000,7 +10005,7 @@ "ブロックをダブルクリックして\n" "選択します。" -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -10014,7 +10019,7 @@ "ダブルクリックして\n" "ブロックを選択してください。\n" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -10026,7 +10031,7 @@ "エフェクトが選択されていません。\n" "パラメーターを確認するには、まずFXスタックでエフェクトを選択してください。\n" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" @@ -10036,7 +10041,7 @@ "\n" "読み込まれたクリップはありません。\n" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -10052,7 +10057,7 @@ "代わりに、クリップをタイムラインに挿入する前にあらかじめ\n" "メニューのエフェクトから、自動トランジションを有効にしてください。" -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -10065,12 +10070,12 @@ "コンポジットを利用するには\n" "少なくともひとつのトラックと時間帯を選択してください。\n" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "%.2f 秒を %.2f 秒に\n" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" @@ -10078,12 +10083,12 @@ "タイムライン上をクリックすると\n" "フレームを選択します。\n" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "%s [不安定]" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" @@ -10091,155 +10096,155 @@ "タイムライン上で\n" "クリックとドラッグをして" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr "時間帯を選択します。\n" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 #, fuzzy msgid "Selected Clip" msgstr "LiVES: 選択したクリップ" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 #, fuzzy msgid "_Adjust Start and End Points" msgstr "開始/終了地点の調整(_A)" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 #, fuzzy msgid "_Edit/Encode in Clip Editor" msgstr "クリップエディターで編集/エンコード(_E)" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 #, fuzzy msgid "_Show Clip Information" msgstr "クリップ情報の表示(_S)" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 #, fuzzy msgid "_Close this Clip" msgstr "このクリップを閉じる(_C)" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 #, fuzzy msgid "Audio Mixer (ctrl-m)" msgstr "音声ミキサー(ctrl + M)" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "タイムライン上でクリックすると" -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "フレームを選択します。" -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "タイムライン上でダブルクリックまたは右クリックしてください。" -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "ブロックを選択します。" -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "タイムライン上にクリップをドラッグして" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "配置します。" -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "\"移動\" マウスモードでは" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "クリックでクリップを移動します。" -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "\"選択\" マウスモードでは" -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "タイムライン上でマウスをドラックすることで" -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "複数のトラックと時間帯を選択します。" -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "選択したトラックと時間の最後のギャップを詰める(_L)" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "選択したトラックと時間の最初のギャップを詰める(_F)" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "ギャップ詰める" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "ブロックの移動" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "音声ブロックの移動" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "ブロックの消去" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "音声ブロックの消去" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "トラックの分割" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "ブロックの分割" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "%s を適用" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "%s を消去" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "ブロックの挿入" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "ギャップの挿入" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "音声ブロックの挿入" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "エフェクト順序の変更" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "符号なし " -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "符号付き " -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " @@ -10248,15 +10253,15 @@ "マルチトラックの値を %.3f fps、フレームサイズ %d x %d 、音声チャネル %d 、音" "声レート %d, 音声のサンプルサイズ %d, %s に設定\n" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "無効なイベントリスト。失敗しました。\n" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "イベントリストには無効なfpsが含まれています。失敗しました。\n" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -10271,7 +10276,7 @@ "現在のセットを閉じた後で、\n" "ファイルメニューから新しいセットを読み込んでください。\n" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -10282,492 +10287,492 @@ "無効な数の音声チャネル(%d)を含んでいます。\n" "読み込みできません。\n" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "レイアウトは除去されました。\n" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "LiVES-%s: マルチトラック %dx%d : %d bpp %.3f fps" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "イン/アウト" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "適用済エフェクト" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "パラメータ" -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "開く(_O)..." -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "ファイルを選択して開く(_P)..." -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "DVD/VCDから選択範囲をインポート(_D)..." -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "DVDから選択範囲をインポート(_D)" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "VCDから選択範囲をインポート(_V)" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "デバイスからインポート(_I)" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 #, fuzzy msgid "_Close the Selected Clip" msgstr "選択されたクリップを閉じる(_C)" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 #, fuzzy msgid "_Save Layout as..." msgstr "レイアウトを別名で保存(_S)..." -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 #, fuzzy msgid "_Load Layout..." msgstr "レイアウトの読み込み(_L)..." -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 #, fuzzy msgid "_Wipe/Delete Layout..." msgstr "レイアウトの除去(_W)..." -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 #, fuzzy msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "読み込んだレイアウトにおける幅、高さ、音声の値を無視(_I)" -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 #, fuzzy msgid "Auto Load _Subtitles with Clips" msgstr "字幕の自動読み込み" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "クリップエディター(_C)" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 #, fuzzy msgid "_Adjust Selected Clip Start/End Points" msgstr "選択されたクリップの開始/終了点を調整(_A)" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "選択したクリップの挿入(_I)" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 #, fuzzy msgid "_Insert Selected Clip Audio" msgstr "選択したクリップ音声の挿入(_I)" -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 #, fuzzy msgid "_Delete Selected Block" msgstr "選択したブロックの消去(_D)" -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 #, fuzzy msgid "_Jump to Previous Block Boundary" msgstr "前のブロック境界にジャンプ(_J)" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 #, fuzzy msgid "_Jump to Next Block Boundary" msgstr "次のブロック境界にジャンプ(_J)" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 #, fuzzy msgid "Clear _Marks from Timeline" msgstr "タイムラインからマークをクリア(_M)" -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 #, fuzzy msgid "Ignore Selection Limits when Inserting" msgstr "挿入時に選択の制限を無視" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "タイムラインの位置から再生(_P)" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 #, fuzzy msgid "Pla_y Selected Time Only" msgstr "選択した時間帯のみ再生(_Y)" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 #, fuzzy msgid "_Move Effects with Blocks" msgstr "ブロックと共にエフェクトを移動(_M)" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 #, fuzzy msgid "Select _Autotransition Effect..." msgstr "自動トランジションエフェクトを選択(_A)..." -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 #, fuzzy msgid "Crossfade Audio with Autotransition" msgstr "音声のクロスフェード" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 #, fuzzy msgid "View/_Edit Selected Effect" msgstr "選択したエフェクトのビュー/編集(_E)" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 #, fuzzy msgid "_Delete Selected Effect" msgstr "選択したエフェクトを削除(_D)" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 #, fuzzy msgid "Apply Effect to _Block..." msgstr "ブロックにエフェクトを適用(_B)..." -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 #, fuzzy msgid "Apply Effect to _Region..." msgstr "領域にエフェクトを適用(_R)..." -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "トラック(_T)" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 #, fuzzy msgid "Make _Backing Audio Current Track" msgstr "現在のトラックにバックグラウンド音声を作成(_B)" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "下にビデオトラックを追加(_R)" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "上にビデオトラックを追加(_F)" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 #, fuzzy msgid "_Split Current Track at Cursor" msgstr "カーソルの場所で現在のトラックを分割(_S)" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 #, fuzzy msgid "_Split Selected Video Tracks" msgstr "選択したビデオトラックを分割(_S)" -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 #, fuzzy msgid "Insert Gap in Selected Tracks/Time" msgstr "選択したトラックと時間にギャップを挿入" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 #, fuzzy msgid "Insert Gap in Current Track/Selected Time" msgstr "現在のトラックと時間にギャップを挿入" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 #, fuzzy msgid "Close All _Gaps in Selected Tracks/Time" msgstr "選択したトラックと時間のすべてのギャップを詰める(_G)" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "選択(_L)" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "現在のトラックを選択(_S)" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 #, fuzzy msgid "Select _All Video Tracks" msgstr "すべてのビデオトラックを選択(_A)" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 #, fuzzy msgid "Select _No Video Tracks" msgstr "ビデオトラックを非選択(_N)" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 #, fuzzy msgid "Select All _Time" msgstr "すべての時間を選択(_T)" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 #, fuzzy msgid "Select from _Zero Time" msgstr "ゼロ時刻から選択(_Z)" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 #, fuzzy msgid "Select to _End Time" msgstr "最終時刻まで選択(_E)" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "コピー(_C)..." -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 #, fuzzy msgid "_Timecode to Region Start" msgstr "タイムコードから領域の最初へ(_T)" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 #, fuzzy msgid "_Timecode to Region End" msgstr "タイムコードから領域の最後へ(_T)" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 #, fuzzy msgid "_Region Start to Timecode" msgstr "領域の最初からタイムコードへ(_R)" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 #, fuzzy msgid "_Region End to Timecode" msgstr "領域の最後からタイムコードへ(_R)" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 #, fuzzy msgid "Select/Deselect Block at Current Track/Time" msgstr "現在のトラックを選択(_S)" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 #, fuzzy msgid "_Change Width, Height and Audio Values..." msgstr "幅、高さ、音声値の変更(_C)..." -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "レンダリング(_R)" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 #, fuzzy msgid "_Render All to New Clip" msgstr "新しいクリップへすべてレンダリング(_R)" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 #, fuzzy msgid "Render _Video" msgstr "ビデオのレンダリング(_V)" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 #, fuzzy msgid "Render _Audio" msgstr "音声のレンダリング(_A)" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 #, fuzzy msgid "_Normalise Rendered Audio" msgstr "レンダリングした音声のノーマライズ(_N)" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 #, fuzzy msgid "_Pre-render Audio" msgstr "音声のプリレンダリング(_P)" -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "ビュー(_V)" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 #, fuzzy msgid "Block _In/Out Points" msgstr "ブロックの開始/終了点(_I)" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 #, fuzzy msgid "_Effects at Current" msgstr "現在のエフェクト(_E)" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 #, fuzzy msgid "Audio Parameters" msgstr "音声パラメータ" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 #, fuzzy msgid "Show Backing _Audio Track" msgstr "バックグラウンド音声トラックの表示(_A)" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 #, fuzzy msgid "Compact View" msgstr "コンパクトビュー" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 #, fuzzy msgid "Maximum Tracks to Display..." msgstr "表示する最大トラック..." -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 #, fuzzy msgid "Scroll to Follow Playback" msgstr "再生に合わせてスクロール表示" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 #, fuzzy msgid "_Center on Cursor" msgstr "カーソルを中心に再表示(_C)" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 #, fuzzy msgid "_Zoom In" msgstr "拡大表示(_Z)" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 #, fuzzy msgid "_Zoom Out" msgstr "縮小表示(_Z)" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 #, fuzzy msgid "Multitrack _Details" msgstr "マルチトラックの詳細(_D)" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "イベントウィンドウ(_E)" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "選択した時間帯のイベントウィンドウ(_E)" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 #, fuzzy msgid "_Show FRAME Events" msgstr "フレームイベントを表示(_S)" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 #, fuzzy msgid "_Show Multitrack Keys" msgstr "マルチトラックキーを表示(_S)" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "バグを報告する(_B)" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 #, fuzzy msgid "Insert With _Audio" msgstr "音声ごと挿入(_A)" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "挿入する/挿入したビデオクリップを音声とセットで扱うかどうかを選択" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 #, fuzzy msgid "Select _Overlap" msgstr "重複を選択(_O)" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" msgstr "タイムライン上の選択範囲をクリップの重複に合わせるかどうかを選択" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "拡大ビュー (d)" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "コンパクトビュー (d)" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "Gravity: 標準(_N)" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "Gravity: 左詰め(_L)" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "Gravity: 右詰め(_R)" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 #, fuzzy msgid "Mouse Mode: _Move" msgstr "マウスモード: 移動(_M)" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 #, fuzzy msgid "Mouse Mode: _Select" msgstr "マウスモード: 選択(_S)" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 #, fuzzy msgid "Insert Mode: _Normal" msgstr "挿入モード: 標準(_N)" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "適用(_A)" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "時間" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "ノードの消去(_D)" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "次のモード(_N)" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "前のモード(_P)" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "逆再生(_R) " -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "速度(_V) " -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "アンカー始点(_S)" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "タイムラインの始点をアンカー" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "アンカー終端(_E)" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "タイムラインの終点をアンカー" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "スクロール" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" @@ -10777,95 +10782,95 @@ "==============================\n" "クリップ編集モードに変更\n" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "タイムライン(秒)" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr " バックグラウンド音声" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr " レイヤー %d 音声" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "音声の詳細表示の切り替え" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "レイヤー %d 音声" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "%s (レイヤー %d)" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "トラックの選択" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "オーディオ表示の切り替え" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "映像 %d" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr " %s" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 #, fuzzy msgid "Selected Effect" msgstr "最後のエフェクトを選択(_E)" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 #, fuzzy msgid "_View/Edit this Effect" msgstr "パラメータを表示(_V)" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 #, fuzzy msgid "_View this Effect" msgstr "このエフェクトを表示(_V)" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 #, fuzzy msgid "_Delete this Effect" msgstr "このエフェクトを消去(_D)" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "このエフェクトの下に挿入できませんでした。" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "このエフェクトは移動することができません。" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr " %d から %d を選択 " -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "%.2f 秒" -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "%d フレーム" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" @@ -10875,19 +10880,19 @@ "==============================\n" "マルチトラックモードに変更\n" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "パラメータを設定したい箇所に" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "スライダーを移動してください。" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "パラメータ設定を反映するには、\"適用\"をクリックしてください。\n" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" @@ -10897,51 +10902,51 @@ "ノードとなります。\n" "ノードは削除することができます。" -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "エフェクトパラメータがありません。\n" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "%s 出力" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "レイヤー %d" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "音声トラック" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "%s から %s" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "前のフィルターマップ(_P)" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "上に挿入(_B)" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "下に挿入(_A)" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "次のフィルターマップ(_N)" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -10953,7 +10958,7 @@ "現在のトラックには\n" "このタイミングで有効なエフェクトはありません。\n" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" @@ -10963,7 +10968,7 @@ "タイムライン上の選択した領域まで\n" "ドラッグしてください。" -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" @@ -10973,7 +10978,7 @@ "タイムライン上の選択した領域まで\n" "ドラッグしてください。" -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." @@ -10981,67 +10986,67 @@ "エフェクトを適用するには\n" "タイムライン上のブロックまでドラッグしてください。" -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 #, fuzzy msgid "Selected Block/Frame" msgstr "LiVES: 選択したブロック/フレーム" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 #, fuzzy msgid "_Select this Block" msgstr "このブロックを選択(_S)" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 #, fuzzy msgid "_Split Block Here" msgstr "ここでブロックを分割(_S)" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 #, fuzzy msgid "List _Effects Here" msgstr "適用可能なエフェクト(_E)" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "%s の調整(_A)" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 #, fuzzy msgid "_Delete this Block" msgstr "このブロックを削除(_D)" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 #, fuzzy msgid "_Insert Here" msgstr "ここに挿入(_I)" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 #, fuzzy msgid "_Insert Audio Here" msgstr "ここに音声を挿入(_I)" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "選択したトラックにギャップを挿入(時間は %.4f から %.4f まで)\n" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "トラック %s にギャップを挿入(時間は %.4f から %.4f まで)\n" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "%s の取り消し\n" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "%s のやり直し\n" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" @@ -11049,72 +11054,72 @@ "\n" " (変数)" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "トラック %s" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "トラック %s および %s" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "選択したトラック" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "%s %s を %s に追加( %.4f から %.4f まで)\n" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "エフェクト %s をトラック %s に追加( %.4f から %.4f まで)\n" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "新しいクリップに %d フレームをレンダリング\n" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "クリーンアップ..." -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, fuzzy, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "トラック %s にギャップを挿入(時間は %.4f から %.4f まで)\n" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, fuzzy, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "音声を%.2fから%.2f秒まで削除します..." -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "一時停止(_P)" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "一時停止(p)" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "再生中に'm'を押すと" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "タイムラインにマークできます" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " @@ -11123,7 +11128,7 @@ "音声 %.4f から %.4f を挿入(クリップ %s の時間 %.4f から %.4f までを、バックグ" "ラウンド音声に挿入)\n" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" @@ -11131,14 +11136,14 @@ "フレーム %d から %d を挿入(クリップ %s からトラック %s に挿入。時間は %.4f か" "ら %.4f まで)\n" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" "selected.\n" msgstr "%.3f から %.3f までの時間帯が選択されています。\n" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" @@ -11146,12 +11151,12 @@ "時間帯を作成するために\n" "少なくともひとつのトラックを選択してください。\n" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "%d トラックが選択されています。\n" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." @@ -11159,7 +11164,7 @@ "タイムライン上でダブルクリックすると\n" "時間帯の選択を解除します。" -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." @@ -11167,7 +11172,7 @@ "エフェクトをクリックして\n" "選択します。" -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." @@ -11175,7 +11180,7 @@ "エフェクト上でダブルクリックして\n" "編集を行います。" -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" @@ -11183,7 +11188,7 @@ "エフェクト上で右クリックをすると\n" "編集メニューが開きます。\n" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" @@ -11191,7 +11196,7 @@ "このフィルターマップのエフェクトの順番は\n" "変更することができます。" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" @@ -11199,15 +11204,15 @@ "エフェクトを移動するには、選択した後に\n" "上に挿入 ボタンをクリックするか" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "下に挿入 ボタンをクリックします。" -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "選択したエフェクトは" -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" @@ -11215,51 +11220,51 @@ "移動先にあるエフェクトを\n" "クリックすると" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "その下に移動します。\n" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "その上に移動します。\n" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "エフェクト %s からパラメータ値を消去 (時間 %.4f )\n" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "パラメータ値を設定: %s %s, %s (時間 %.4f )\n" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "常に自動読み込み(_A)" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 #, fuzzy msgid "Saving layout" msgstr "レイアウトを保存(_S)" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "%s へレイアウトを保存\n" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "クリップとフレーム" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "クリップ" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "フレーム" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" @@ -11267,7 +11272,7 @@ "\n" "レイアウトの自動読み込み\n" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -11278,11 +11283,11 @@ "いくつかの %s がレイアウト %s から失われています。\n" "そのため正しく読み込まれないかもしれません。\n" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "自動バックアップ" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" @@ -11291,31 +11296,31 @@ "\n" "ファイル %s からレイアウトを読み込みできません。\n" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "レイアウトを %s から読み込み中..." -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "%d イベントを取得...処理中..." -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "イベントリストのチェックとリビルド" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "%d エラーを検出しました。\n" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "マルチトラックfpsを %.3f に設定\n" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 #, fuzzy msgid "" "The current layout has changes which have not been saved.\n" @@ -11324,20 +11329,20 @@ "現在のレイアウトは保存されていません。\n" "どうしますか?\n" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 #, fuzzy msgid "Multitrack Audio Mixer" msgstr "LiVES: マルチトラック音声ミキサー" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "値のリセット(_R)" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "ミキサーを閉じる(_C)" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" @@ -11345,15 +11350,15 @@ "バックグラウンド音声と\n" "レイヤー音量を反転(_I)" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "バックグラウンドとレイヤー音声の値を合計で1.0になるように調整" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "レイヤー音声をまとめる(_G)" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "すべてのレイヤーの音量を同じ値に揃える" @@ -11381,7 +11386,7 @@ "\n" "JACK の音声機能への接続をリセットしました。\n" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -11393,7 +11398,7 @@ "sox オーディオプレーヤーにフォールバックします。\n" "この設定は、設定/プレイバック で変更できます。\n" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -11405,7 +11410,7 @@ "mplayer オーディオプレーヤーにフォールバックします。\n" "この設定は、設定/プレイバック で変更できます。\n" -#: src/pulse.c:104 +#: src/pulse.c:105 #, fuzzy msgid "" "\n" @@ -11418,7 +11423,7 @@ "mplayer オーディオプレーヤーにフォールバックします。\n" "この設定は、設定/プレイバック で変更できます。\n" -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -11426,11 +11431,11 @@ "\n" "PulseAudio サーバーに接続できませんでした。\n" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "LiVES が終了すると、他のオーディオプレーヤーを選択できます。\n" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" @@ -11438,11 +11443,11 @@ "\n" "PulseAudio サーバーへの接続がリセットされました。\n" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "非固定" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr "固定"
View file
LiVES-2.8.4.tar.bz2/po/lives.pot -> LiVES-2.8.6.tar.bz2/po/lives.pot
Changed
@@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: lives 2.8.4\n" +"Project-Id-Version: lives 2.8.6\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -17,7 +17,7 @@ "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: src/main.c:132 +#: src/main.c:125 msgid "" "Attention Translators !\n" "This message is intended for you, so please do not translate it.\n" @@ -26,22 +26,22 @@ "http://lives-video.com/TRANS-README.txt" msgstr "" -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "" -#: src/main.c:203 +#: src/main.c:197 #, c-format msgid "" "\n" @@ -50,7 +50,7 @@ "Thanks. Recovery should be possible if you restart LiVES.\n" msgstr "" -#: src/main.c:205 +#: src/main.c:199 #, c-format msgid "" "\n" @@ -59,107 +59,107 @@ "distribution, and the LiVES version (%s)\n" msgstr "" -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" msgstr "" -#: src/main.c:210 +#: src/main.c:204 msgid "" "Please try running LiVES with the -debug option to collect more " "information.\n" "\n" msgstr "" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" "\n" msgstr "" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "" -#: src/main.c:474 +#: src/main.c:460 msgid "LiVES: - " msgstr "" -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "" -#: src/main.c:731 +#: src/main.c:708 msgid "_Resize All Frames..." msgstr "" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "" -#: src/main.c:1122 +#: src/main.c:1094 msgid "Background" msgstr "" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "" -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "" -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "" -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "" -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -171,34 +171,34 @@ "Alternatively, try to start lives with either \"lives -jackopts 16\", or " msgstr "" -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "" -#: src/main.c:1855 +#: src/main.c:1813 #, c-format msgid "%s...detected... " msgstr "" -#: src/main.c:1856 +#: src/main.c:1814 #, c-format msgid "%s...NOT DETECTED... " msgstr "" -#: src/main.c:1867 +#: src/main.c:1824 msgid "Checking optional dependencies: " msgstr "" -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -206,209 +206,209 @@ "Window manager reports as \"%s\"; " msgstr "" -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "" -#: src/main.c:1901 +#: src/main.c:1863 #, c-format msgid "Number of CPUs detected: %d " msgstr "" -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "" -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1927 +#: src/main.c:1889 #, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr "" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" "Many audio features will be unavailable.\n" msgstr "" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" "\n" msgstr "" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" "Startup syntax is: %s [opts] [filename [start_time] [frames]]\n" msgstr "" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "" -#: src/main.c:2593 +#: src/main.c:2545 msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" msgstr "" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "" -#: src/main.c:2605 +#: src/main.c:2557 msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " "mplayer2" msgstr "" #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr "" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr "" -#: src/main.c:2613 +#: src/main.c:2565 msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " "transport client,2 = jack transport master, 4 = start jack transport server, " "8 = pause audio when video paused,16 = start jack audio server] \n" msgstr "" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr "" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" msgstr "" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "" -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -419,7 +419,7 @@ "(Maybe you need to change the value of <prefix_dir> in your %s file)\n" msgstr "" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -427,7 +427,7 @@ "Please make sure you have write access to %s and try again.\n" msgstr "" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -436,7 +436,7 @@ "before running LiVES.\n" msgstr "" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -446,7 +446,7 @@ "Please check the file permissions for this file and try again.\n" msgstr "" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -457,7 +457,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -465,7 +465,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2737 +#: src/main.c:2689 #, c-format msgid "" "\n" @@ -475,7 +475,7 @@ "%s" msgstr "" -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -486,56 +486,56 @@ "Thankyou.\n" msgstr "" -#: src/main.c:2751 +#: src/main.c:2703 msgid "" "\n" "LiVES currently requires 'mplayer', 'mplayer2' or 'sox' to function. Please " "install one or other of these, and try again.\n" msgstr "" -#: src/main.c:2756 +#: src/main.c:2708 msgid "" "\n" "LiVES currently requires both 'mplayer' or 'mplayer2' and 'sox' to function. " "Please install these, and try again.\n" msgstr "" -#: src/main.c:2769 +#: src/main.c:2721 msgid "" "\n" "LiVES was unable to locate 'mplayer','mplayer2' or 'mpv'. You may wish to " "install one of these to use LiVES more fully.\n" msgstr "" -#: src/main.c:2775 +#: src/main.c:2727 msgid "" "\n" "LiVES was unable to locate 'mplayer' or 'mplayer2'. You may wish to install " "one of these to use LiVES more fully.\n" msgstr "" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" "magick if you want to use rendered effects.\n" msgstr "" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " "image-magick if you want to use the merge function.\n" msgstr "" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " "should install 'sox'.\n" msgstr "" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -546,96 +546,96 @@ "You may need to change the value of <lib_dir> in %s\n" msgstr "" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "" -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "" #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" msgstr "" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "" -#: src/main.c:7078 +#: src/main.c:6973 msgid "" "\n" "\n" @@ -786,7 +786,7 @@ msgid "Use _mplayer2 audio player" msgstr "" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "" @@ -992,51 +992,51 @@ msgid "_Finish" msgstr "" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "" -#: src/interface.c:46 +#: src/interface.c:42 msgid "Apply _Deinterlace" msgstr "" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "" -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "" -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "" -#: src/interface.c:122 +#: src/interface.c:113 msgid "Click here to _Preview the file" msgstr "" -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 msgid "Processing..." msgstr "" -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1045,177 +1045,181 @@ "Remember to switch off effects (ctrl-0) afterwards !" msgstr "" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" msgstr "" -#: src/interface.c:221 +#: src/interface.c:206 msgid "Show Details" msgstr "" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "" -#: src/interface.c:334 +#: src/interface.c:324 msgid "Multitrack Details" msgstr "" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "" -#: src/interface.c:568 +#: src/interface.c:590 msgid "Encoding Options" msgstr "" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." msgstr "" -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "" -#: src/interface.c:833 +#: src/interface.c:846 +msgid "Insert _with silence" +msgstr "" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "" -#: src/interface.c:924 +#: src/interface.c:937 msgid "Open Selection" msgstr "" -#: src/interface.c:943 +#: src/interface.c:954 msgid "Selection start time (sec)" msgstr "" -#: src/interface.c:949 +#: src/interface.c:960 msgid "Number of frames to open" msgstr "" -#: src/interface.c:1023 +#: src/interface.c:1029 msgid "Open Location" msgstr "" -#: src/interface.c:1025 +#: src/interface.c:1031 msgid "Open Youtube Clip" msgstr "" -#: src/interface.c:1045 +#: src/interface.c:1050 msgid "" "\n" "\n" @@ -1225,7 +1229,7 @@ "\n" msgstr "" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1234,66 +1238,66 @@ "\n" msgstr "" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "" -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "" -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "" -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "" -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr "" -#: src/interface.c:1188 +#: src/interface.c:1189 msgid "Rename Clip" msgstr "" -#: src/interface.c:1190 +#: src/interface.c:1191 msgid "Enter Set Name to Save as" msgstr "" -#: src/interface.c:1192 +#: src/interface.c:1193 msgid "Enter a Set Name to Reload" msgstr "" -#: src/interface.c:1194 +#: src/interface.c:1195 msgid "Choose a Working Directory" msgstr "" -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 msgid "Rename Current Track" msgstr "" -#: src/interface.c:1198 +#: src/interface.c:1199 msgid "Enter a Name for Your Theme" msgstr "" -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1301,7 +1305,7 @@ "LiVES will remind you to save the clip set later when you try to exit.\n" msgstr "" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1321,327 +1325,327 @@ "This should be a directory with plenty of disk space available.\n" msgstr "" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "" -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "" -#: src/interface.c:1257 +#: src/interface.c:1255 msgid "Theme name " msgstr "" -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "" -#: src/interface.c:1437 +#: src/interface.c:1425 msgid "Select input device" msgstr "" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "" -#: src/interface.c:1517 +#: src/interface.c:1505 msgid "Load CD Track" msgstr "" -#: src/interface.c:1519 +#: src/interface.c:1507 msgid "Select DVD Title/Chapter" msgstr "" -#: src/interface.c:1521 +#: src/interface.c:1509 msgid "Select VCD Title" msgstr "" -#: src/interface.c:1523 +#: src/interface.c:1511 msgid "Change Maximum Visible Tracks" msgstr "" -#: src/interface.c:1525 +#: src/interface.c:1513 msgid "Device details" msgstr "" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "" -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "" -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "" -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "" -#: src/interface.c:1815 +#: src/interface.c:1778 msgid "Fade Audio In" msgstr "" -#: src/interface.c:1817 +#: src/interface.c:1780 msgid "Fade Audio Out" msgstr "" -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "" -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "" -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "" -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "" -#: src/interface.c:1909 +#: src/interface.c:1865 msgid " (Optional)" msgstr "" -#: src/interface.c:1912 +#: src/interface.c:1868 #, c-format msgid "File Comments%s" msgstr "" -#: src/interface.c:1927 +#: src/interface.c:1882 #, c-format msgid "File Name: %s" msgstr "" -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "" -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "" -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "" -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "" -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "" -#: src/interface.c:2109 +#: src/interface.c:2058 #, c-format msgid "%sChoose a Device" msgstr "" -#: src/interface.c:2112 +#: src/interface.c:2061 #, c-format msgid "%sChoose a Directory" msgstr "" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2410 +#: src/interface.c:2341 msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" "What do you wish to do ?" msgstr "" -#: src/interface.c:2417 +#: src/interface.c:2348 msgid "Cancel/Discard/Save" msgstr "" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" "Would you like to try and recover it ?\n" msgstr "" -#: src/interface.c:2527 +#: src/interface.c:2455 msgid "Disk Recovery Options" msgstr "" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "" -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "" -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1649,329 +1653,329 @@ "-----------------------\n" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "ctrl-left" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "skip forwards\n" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "ctrl-down" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 msgid "ctrl-enter" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 msgid "reset frame rate\n" msgstr "" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "" -#: src/interface.c:2723 +#: src/interface.c:2642 msgid "reverse direction\n" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 msgid "ctrl-1" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 msgid "toggle real-time effect 1\n" msgstr "" -#: src/interface.c:2746 +#: src/interface.c:2665 msgid "ctrl-2" msgstr "" -#: src/interface.c:2746 +#: src/interface.c:2665 msgid "toggle real-time effect 2\n" msgstr "" -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "ctrl-0" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "real-time effects off\n" msgstr "" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "" -#: src/interface.c:2759 +#: src/interface.c:2678 msgid "grab keyboard for last activated effect\n" msgstr "" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2688 msgid "tab" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "" -#: src/interface.c:2785 +#: src/interface.c:2706 msgid "Other playback keys\n" msgstr "" -#: src/interface.c:2789 +#: src/interface.c:2710 msgid "play all\n" msgstr "" -#: src/interface.c:2792 +#: src/interface.c:2713 msgid "play selection\n" msgstr "" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "" -#: src/interface.c:2798 +#: src/interface.c:2719 msgid "fullscreen\n" msgstr "" -#: src/interface.c:2801 +#: src/interface.c:2722 msgid "separate window\n" msgstr "" -#: src/interface.c:2804 +#: src/interface.c:2725 msgid "double size\n" msgstr "" -#: src/interface.c:2807 +#: src/interface.c:2728 msgid "ping pong loops\n" msgstr "" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "move current track up\n" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "move current track down\n" msgstr "" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "" -#: src/interface.c:2849 +#: src/interface.c:2768 msgid "select next clip\n" msgstr "" -#: src/interface.c:2852 +#: src/interface.c:2771 msgid "select/deselect current track\n" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "zoom in\n" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "zoom out\n" msgstr "" -#: src/interface.c:2861 +#: src/interface.c:2780 msgid "make a mark on the timeline (during playback)\n" msgstr "" -#: src/interface.c:2864 +#: src/interface.c:2783 msgid "rewind to play start.\n" msgstr "" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "" -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "" -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "" -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -1979,22 +1983,22 @@ "the latest youtube-dl installed.\n" msgstr "" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, c-format msgid "Layouts were removed for set %s.\n" msgstr "" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " msgstr "" -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2004,7 +2008,7 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2014,20 +2018,20 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" "Really close it ?" msgstr "" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" msgstr "" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2040,53 +2044,53 @@ "Once you have done this, you will be able to import the new project.\n" msgstr "" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "" -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "" -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 msgid "Theme" msgstr "" -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, c-format msgid "Exporting theme as %s..." msgstr "" -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, c-format msgid "Importing theme \"%s\" from %s..." msgstr "" -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, c-format msgid "Backup as %s File" msgstr "" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, c-format msgid "Restore %s File" msgstr "" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2094,101 +2098,101 @@ "Are you sure ?\n" msgstr "" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "" -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "" -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "" -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "" -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "" -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "" -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 msgid "Pulling frames from clipboard" msgstr "" -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "" -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "" -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " "LiVES.\n" msgstr "" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2197,31 +2201,31 @@ "the 'Trim Audio' function from the Audio menu." msgstr "" -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." msgstr "" -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2229,7 +2233,7 @@ "Clipboard audio has been erased.\n" msgstr "" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2238,88 +2242,88 @@ "using unchanged audio ?\n" msgstr "" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "" -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "" -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "" -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" "Are you sure ?" msgstr "" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "" -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" "Selection is locked.\n" msgstr "" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2327,11 +2331,11 @@ "play.)\n" msgstr "" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2340,7 +2344,7 @@ "%s\n" msgstr "" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2349,7 +2353,7 @@ "The plugin may be broken or not installed correctly." msgstr "" -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2358,22 +2362,22 @@ "Please press 'Cancel' if that is not what you want.\n" msgstr "" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2381,24 +2385,24 @@ "Click OK to proceed.\n" msgstr "" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "" -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "" -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "" -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2406,68 +2410,68 @@ "Internal: %s (%d bpp) / %s\n" msgstr "" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." msgstr "" -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" "(%d virtual)" msgstr "" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" "(%d decoded)" msgstr "" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" " %.2f sec." msgstr "" -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" msgstr "" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" "%s %s" msgstr "" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2484,19 +2488,19 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n" msgstr "" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "" -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, c-format msgid "" "LiVES Version %s\n" @@ -2510,14 +2514,14 @@ "Homepage: %s" msgstr "" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 msgid "" "\n" "\n" "You need to install mplayer or mplayer2 to be able to preview this file.\n" msgstr "" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 msgid "" "\n" "\n" @@ -2525,92 +2529,92 @@ "this file.\n" msgstr "" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" "%s\n" msgstr "" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 msgid "Encoder Debug Output" msgstr "" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "" -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 msgid "Load Subtitles" msgstr "" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 msgid "Select Audio File" msgstr "" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -2618,82 +2622,82 @@ "." msgstr "" -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "" -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "" -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "" -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 msgid "Layout Errors" msgstr "" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "" -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "" -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, c-format msgid "" "\n" @@ -2702,28 +2706,28 @@ "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 msgid "Selected Frame" msgstr "" -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 msgid "_Save Frame as..." msgstr "" -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -2732,7 +2736,7 @@ "\n" msgstr "" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -2740,13 +2744,13 @@ "\n" msgstr "" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" msgstr "" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -2755,17 +2759,17 @@ "\n" msgstr "" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" msgstr "" -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -2775,19 +2779,19 @@ "(Default of %.3f frames per second will be used.)\n" msgstr "" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "" -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "" -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -2796,119 +2800,119 @@ "rate.\n" msgstr "" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "" -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "" -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 msgid "Append Audio File" msgstr "" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "" -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "" -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "" -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "" -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "" -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" "Are you sure ?" msgstr "" -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "" -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "" @@ -2921,876 +2925,876 @@ msgid "Merge Clipboard [ %d Frames ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "" -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "" -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "" -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "" -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "" -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "" -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "" -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "" -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "" -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "" -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "" -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "" -#: src/gui.c:692 +#: src/gui.c:674 #, c-format msgid "_Backup Clip as .%s..." msgstr "" -#: src/gui.c:701 +#: src/gui.c:683 #, c-format msgid "_Restore Clip from .%s..." msgstr "" -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "" -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "" -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "" -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "" -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "" -#: src/gui.c:1069 +#: src/gui.c:1045 msgid "Letterbox Mode" msgstr "" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "" -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "" -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "" -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "" -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "" -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "" -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "" -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "" -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "" -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "" -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "" -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "" -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "" -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "" -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "" -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "" -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "" -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "" -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "" -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "" -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "" -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "" -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "" -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "" -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "" -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "" -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "" -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "" -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "" -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "" -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "" -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "" -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "" -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "" -#: src/gui.c:1397 +#: src/gui.c:1371 msgid "Receive _LiVES Stream from..." msgstr "" -#: src/gui.c:1401 +#: src/gui.c:1375 msgid "_Send LiVES Stream to..." msgstr "" -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "" -#: src/gui.c:1426 +#: src/gui.c:1399 #, c-format msgid "_Import Project (.%s)..." msgstr "" -#: src/gui.c:1430 +#: src/gui.c:1403 #, c-format msgid "E_xport Project (.%s)..." msgstr "" -#: src/gui.c:1437 +#: src/gui.c:1409 #, c-format msgid "_Import Custom Theme (.%s)..." msgstr "" -#: src/gui.c:1442 +#: src/gui.c:1414 #, c-format msgid "E_xport Theme (.%s)..." msgstr "" -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "" -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "" -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." msgstr "" -#: src/gui.c:1476 +#: src/gui.c:1448 msgid "_Reset All Playback Speeds and Positions" msgstr "" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "" -#: src/gui.c:1480 +#: src/gui.c:1452 msgid "_MIDI/Joystick Interface" msgstr "" -#: src/gui.c:1489 +#: src/gui.c:1461 msgid "_MIDI/Joystick Learner..." msgstr "" -#: src/gui.c:1493 +#: src/gui.c:1465 msgid "_Save Device Mapping..." msgstr "" -#: src/gui.c:1497 +#: src/gui.c:1469 msgid "_Load Device Mapping..." msgstr "" -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 msgid "_Donate to the Project !" msgstr "" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 msgid "_Email the Author" msgstr "" -#: src/gui.c:1547 +#: src/gui.c:1519 msgid "Report a _Bug" msgstr "" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 msgid "Suggest a _Feature" msgstr "" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 msgid "Assist with _Translating" msgstr "" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "" -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." msgstr "" #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr "" -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr "" -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr "" -#: src/gui.c:3613 +#: src/gui.c:3553 msgid "Streaming" msgstr "" -#: src/gui.c:3615 +#: src/gui.c:3555 #, c-format msgid "Play Window%s" msgstr "" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "" -#: src/gui.c:4199 +#: src/gui.c:4127 #, c-format msgid "'LiVES opened the file' '%s'" msgstr "" -#: src/gui.c:4220 +#: src/gui.c:4146 #, c-format msgid "'LiVES closed the file' '%s'" msgstr "" @@ -3800,11 +3804,11 @@ msgid "Mapped to ctrl-%d" msgstr "" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "" @@ -3818,11 +3822,11 @@ msgid "Select clip for %s\n" msgstr "" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "" @@ -3867,11 +3871,11 @@ msgid "%d bytes" msgstr "" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -3879,81 +3883,81 @@ "Switched to clip %s\n" msgstr "" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" "Switched to empty clip\n" msgstr "" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " "updated accordingly\n" msgstr "" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -3961,7 +3965,7 @@ "by another copy of LiVES.\n" msgstr "" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -3969,39 +3973,39 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2188 +#: src/utils.c:2207 #, c-format msgid "" "\n" "%s names may not be blank.\n" msgstr "" -#: src/utils.c:2196 +#: src/utils.c:2215 #, c-format msgid "" "\n" "%s names may not be longer than %d characters.\n" msgstr "" -#: src/utils.c:2204 +#: src/utils.c:2223 #, c-format msgid "" "\n" "%s names may not contain spaces or the characters%s.\n" msgstr "" -#: src/utils.c:2213 +#: src/utils.c:2232 #, c-format msgid "" "\n" "%s names may not start with a '.' or contain '..'\n" msgstr "" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4009,72 +4013,72 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "" -#: src/utils.c:3492 +#: src/utils.c:3548 msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "" -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4084,29 +4088,29 @@ "Overwrite ?\n" msgstr "" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr "" -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr "" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4131,7 +4135,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr "" @@ -4230,7 +4234,7 @@ msgstr "" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "" @@ -4284,12 +4288,12 @@ msgid "Recording performance..." msgstr "" -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4298,21 +4302,21 @@ "and resize all frames to the current size.\n" msgstr "" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4320,13 +4324,13 @@ "%s\n" msgstr "" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" msgstr "" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4334,7 +4338,7 @@ "Bad things may happen with this clip.\n" msgstr "" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4342,73 +4346,73 @@ "Default can be set in Tools | Preferences | Misc.\n" msgstr "" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, c-format msgid " - Author: %s\n" msgstr "" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, c-format msgid " - Title: %s\n" msgstr "" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr "" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "" -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "" -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "" -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -4456,57 +4460,57 @@ msgid "Recovering files..." msgstr "" -#: src/dialogs.c:87 +#: src/dialogs.c:83 msgid "Show affeced _layouts" msgstr "" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" msgstr "" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr "" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 msgid "Warning !" msgstr "" -#: src/dialogs.c:198 +#: src/dialogs.c:186 msgid "Error !" msgstr "" -#: src/dialogs.c:208 +#: src/dialogs.c:196 msgid "Information" msgstr "" -#: src/dialogs.c:234 +#: src/dialogs.c:221 msgid "Question" msgstr "" -#: src/dialogs.c:248 +#: src/dialogs.c:235 msgid "File Error" msgstr "" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -4517,7 +4521,7 @@ "(Disk warning levels can be configured in Preferences.)" msgstr "" -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -4529,11 +4533,11 @@ "Preferences.)" msgstr "" -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "" -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -4541,46 +4545,46 @@ "Please try closing some other applications first.\n" msgstr "" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "" -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" "%s%d%% done. Time remaining: %u sec%s\n" msgstr "" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" "%d/%d frames opened. Time remaining %u sec.\n" msgstr "" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" "%d/%d frames opened.\n" msgstr "" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" "%d frames opened.\n" msgstr "" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" "Time remaining: %d sec" msgstr "" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -4588,7 +4592,7 @@ "Please close a file and then try again." msgstr "" -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -4600,47 +4604,47 @@ "Please make sure you can write to this directory." msgstr "" -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 msgid "" "\n" "LiVES currently requires either 'mplayer', 'mplayer2', or 'sox' to function. " "Please install one or other of these, and try again.\n" msgstr "" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 msgid "" "\n" "This function requires either mplayer or mplayer2 to operate.\n" "You may wish to install one or other of these and try again.\n" msgstr "" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 msgid "" "\n" "This function requires either mplayer, mplayer2 or mpv to operate.\n" "You may wish to install one or other of these and try again.\n" msgstr "" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" "Or switch to another encoder format in Tools | Preferences | Encoding\n" msgstr "" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -4648,19 +4652,19 @@ "Please set the audio codec in Tools|Preferences|Encoding\n" msgstr "" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -4668,83 +4672,83 @@ "Due to restrictions in the %s format\n" msgstr "" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" msgstr "" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr "" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr "" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr "" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr "" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" msgstr "" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -4753,14 +4757,14 @@ "\n" msgstr "" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" "\n" msgstr "" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -4769,7 +4773,7 @@ "Try recording for just a selection of the file." msgstr "" -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -4780,7 +4784,7 @@ "Please press Cancel to abort the insert, or OK to continue." msgstr "" -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -4793,18 +4797,18 @@ "click Cancel." msgstr "" -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " "in your %s file" msgstr "" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -4815,25 +4819,25 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 msgid "" "Sorry, unknown audio type.\n" "\n" " (Filenames must end in" msgstr "" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" "(They will not be usable without the set).\n" msgstr "" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -4842,7 +4846,7 @@ "Click Cancel to pick a new name.\n" msgstr "" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -4850,7 +4854,7 @@ "." msgstr "" -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -4858,7 +4862,7 @@ "." msgstr "" -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -4869,7 +4873,7 @@ "Otherwise click Cancel to skip loading this file.\n" msgstr "" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -4879,7 +4883,7 @@ "The clip could not be loaded.\n" msgstr "" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -4887,7 +4891,7 @@ "Alternately, select a different audio player in Preferences.\n" msgstr "" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -4896,13 +4900,13 @@ "Automatic jack startup will be disabled now.\n" msgstr "" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" msgstr "" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -4913,13 +4917,13 @@ "%s\n" msgstr "" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" msgstr "" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -4929,7 +4933,7 @@ "It is recommended to increase it to at least %d MB" msgstr "" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -4938,7 +4942,7 @@ "Do you wish to delete them ?\n" msgstr "" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -4946,7 +4950,7 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -4954,81 +4958,81 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" msgstr "" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" msgstr "" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" "You can set this in Tools|Preferences|Playback." msgstr "" -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" "Should I try to repair the disk copy of the layout ?\n" msgstr "" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" msgstr "" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" "Audio rate must be greater than 0.\n" msgstr "" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5036,14 +5040,14 @@ "Are you sure you wish to view it ?\n" msgstr "" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" "You must install 'dvgrab' to use this function.\n" msgstr "" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5052,25 +5056,25 @@ "You may need to select one of these in Tools/Preferences/Playback.\n" msgstr "" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" msgstr "" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5079,33 +5083,33 @@ "echo %d > /proc/sys/net/core/rmem_max\n" msgstr "" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -5115,7 +5119,7 @@ "%s%s%s" msgstr "" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -5125,7 +5129,7 @@ "%s" msgstr "" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -5135,7 +5139,7 @@ "%s" msgstr "" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -5144,7 +5148,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -5154,7 +5158,7 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -5163,7 +5167,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -5173,12 +5177,12 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "" -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -5187,7 +5191,7 @@ "Please check your system for errors.\n" msgstr "" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -5196,7 +5200,7 @@ "Please check the file permissions and try again." msgstr "" -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -5205,7 +5209,7 @@ "Please check the directory permissions and try again." msgstr "" -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, c-format msgid "" "\n" @@ -5213,14 +5217,14 @@ "%s\n" msgstr "" -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -5228,13 +5232,13 @@ "Please select another encoder from the list.\n" msgstr "" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" msgstr "" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -5244,27 +5248,27 @@ "- Check if the device actually exists.\n" msgstr "" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" "Do you wish to overwrite the existing subtitles ?\n" msgstr "" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 msgid "" "\n" "LiVES currently only supports subtitles of type" msgstr "" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -5273,14 +5277,14 @@ "or OK to continue and save as type \"%s\"\n" msgstr "" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" "(If unsure, click Yes)\n" msgstr "" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -5291,19 +5295,19 @@ "." msgstr "" -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" msgstr "" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" msgstr "" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -5311,7 +5315,7 @@ "DO NOT SHUT DOWN OR CLOSE LIVES !\n" msgstr "" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, c-format msgid "" "\n" @@ -5319,14 +5323,14 @@ "The theme could not be loaded correctly.\n" msgstr "" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" "Please check the spelling of the set name and try again.\n" msgstr "" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -5335,7 +5339,7 @@ "directory. Would you like me to do this (recommended) ?" msgstr "" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -5347,7 +5351,7 @@ msgstr "" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -5356,38 +5360,38 @@ "\n" msgstr "" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" "Consult your package distributor.\n" msgstr "" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" msgstr "" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, c-format msgid "" "\n" @@ -5396,7 +5400,7 @@ "(Theme name not found).\n" msgstr "" -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -5405,7 +5409,7 @@ "already exists. Would you like to overwrite it ?\n" msgstr "" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -5546,7 +5550,7 @@ msgid "Video only Transitions" msgstr "" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "" @@ -5554,7 +5558,7 @@ msgid "Audio only Transitions" msgstr "" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "" @@ -5598,7 +5602,7 @@ msgid "Audio Analysers" msgstr "" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "" @@ -5653,356 +5657,356 @@ "No frames were generated.\n" msgstr "" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 msgid "Invalid element" msgstr "" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 msgid "Invalid property" msgstr "" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 msgid "Invalid plugin" msgstr "" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 msgid "No error" msgstr "" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 msgid "integer" msgstr "" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 msgid "string" msgstr "" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 msgid "pointer" msgstr "" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" "Error was: %s\n" msgstr "" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr "" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, c-format msgid "Successfully loaded %d compound filters\n" msgstr "" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, c-format msgid "Failed to start generator %s (%s)\n" msgstr "" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 msgid "Autoscale" msgstr "" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 msgid "Delete this connection" msgstr "" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, c-format msgid "%s - Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, c-format msgid "%s - Parameter Data Connections" msgstr "" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 msgid "Parameter and Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 msgid "Auto Connect Channels" msgstr "" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 msgid "Auto Connect Parameters" msgstr "" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "" -#: src/framedraw.c:241 +#: src/framedraw.c:242 msgid "_Frame" msgstr "" @@ -6046,40 +6050,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "" -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -6145,32 +6149,32 @@ "\n" msgstr "" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "" -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -6179,7 +6183,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -6189,31 +6193,31 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" "Error was: %s\n" msgstr "" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " "***\n" msgstr "" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -6222,7 +6226,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -6231,7 +6235,7 @@ "or switch to another plugin using Tools|Preferences|Encoding\n" msgstr "" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, c-format msgid "" "\n" @@ -6239,12 +6243,12 @@ "No decoders found in %s !\n" msgstr "" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, c-format msgid " using %s" msgstr "" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -6253,7 +6257,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -6263,24 +6267,24 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "" -#: src/plugins.c:2556 +#: src/plugins.c:2550 msgid "Decoder Plugins" msgstr "" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "" @@ -6478,19 +6482,19 @@ msgid "Move _Down" msgstr "" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 msgid "RFX Properties" msgstr "" -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -6499,7 +6503,7 @@ "\n" msgstr "" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -6507,219 +6511,219 @@ "Please check the trigger code.\n" msgstr "" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 msgid "New RFX Parameter" msgstr "" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 msgid "Edit RFX Parameter" msgstr "" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "" -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "" -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "" -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." msgstr "" -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "" -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "" -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "" -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "" -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "" -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "" -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "" -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "" -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "" -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr "" -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "" -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 msgid "_Wrap value" msgstr "" -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "" -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "" -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "" -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "" -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "" -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 msgid "New RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 msgid "Edit RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "" -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "" -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "" -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "" -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "" -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "" -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "" -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 msgid "New RFX Trigger" msgstr "" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 msgid "Edit RFX Trigger" msgstr "" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "" -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 msgid "Pre Loop Code" msgstr "" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 msgid "Loop Code" msgstr "" -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 msgid "Post Loop Code" msgstr "" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, c-format msgid "Default text (max length %d)" msgstr "" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 msgid "Enter values, one per line" msgstr "" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" "Name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" "Name must not contain spaces.\n" msgstr "" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" "Menu text must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" "Action description must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" "Author must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -6727,28 +6731,28 @@ "Name must be unique.\n" msgstr "" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" "Loop code should not be blank.\n" msgstr "" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" "Trigger code should not be blank for a utility.\n" msgstr "" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" "Parameter name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -6757,41 +6761,41 @@ "\n" msgstr "" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "" -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -6801,27 +6805,27 @@ "\n" msgstr "" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "" -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "" -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "" -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "" -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -6830,7 +6834,7 @@ "Please check this program is in your path and executable.\n" msgstr "" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -6840,12 +6844,12 @@ "\n" msgstr "" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "" -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -6855,7 +6859,7 @@ "Error code was %d\n" msgstr "" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -6865,12 +6869,12 @@ "Please delete it first, or rename the test script.\n" msgstr "" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "" -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -6881,20 +6885,20 @@ "Return code was %d (%s)\n" msgstr "" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 msgid "Export Script" msgstr "" -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "" -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 msgid "Import Script" msgstr "" -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -6904,43 +6908,43 @@ "Please delete it first, or rename the import script.\n" msgstr "" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 msgid "Copy RFX Script" msgstr "" -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "" -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr "" -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 msgid "Rename Test RFX Script" msgstr "" -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "" -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 msgid "RFX Script Name" msgstr "" -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "" -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "" -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "" -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -6948,12 +6952,12 @@ "Script name must be unique.\n" msgstr "" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "" -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -6964,25 +6968,25 @@ "Return code was %d\n" msgstr "" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 msgid "Applying Current Real Time Effects to" msgstr "" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "" -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "" -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -6990,7 +6994,7 @@ "full screen, separate window (fs) mode\n" msgstr "" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -6998,7 +7002,7 @@ "(Free space = UNKNOWN)" msgstr "" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -7007,14 +7011,14 @@ "(Free space = %s)" msgstr "" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" "It should be in a partition with plenty of free disk space.\n" msgstr "" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7025,7 +7029,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7035,7 +7039,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1193 +#: src/preferences.c:1163 msgid "" "You have chosen to change the working directory.\n" "Please make sure you have no other copies of LiVES open.\n" @@ -7047,7 +7051,7 @@ "setting." msgstr "" -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, c-format msgid "" "\n" @@ -7056,13 +7060,13 @@ "See %s\n" msgstr "" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" msgstr "" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, c-format msgid "" "\n" @@ -7071,910 +7075,910 @@ "See %s\n" msgstr "" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "" -#: src/preferences.c:2468 +#: src/preferences.c:2418 msgid "Preferences" msgstr "" -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "" -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr "" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr "" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." msgstr "" -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr "" -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "" -#: src/preferences.c:2872 +#: src/preferences.c:2757 msgid "Maximum number of visible tracks" msgstr "" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "" -#: src/preferences.c:2925 +#: src/preferences.c:2804 msgid "Video open command (fallback)" msgstr "" -#: src/preferences.c:2935 +#: src/preferences.c:2811 msgid "Fallback image format" msgstr "" -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "" -#: src/preferences.c:2964 +#: src/preferences.c:2832 msgid "Open/render compression" msgstr "" -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr "" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "" -#: src/preferences.c:2995 +#: src/preferences.c:2856 msgid "Automatic trimming / padding of audio when possible" msgstr "" -#: src/preferences.c:2997 +#: src/preferences.c:2858 msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "" -#: src/preferences.c:3269 +#: src/preferences.c:3110 msgid "Source:" msgstr "" -#: src/preferences.c:3273 +#: src/preferences.c:3114 msgid "_Internal" msgstr "" -#: src/preferences.c:3278 +#: src/preferences.c:3119 msgid "_External (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" msgstr "" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr "" -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "" -#: src/preferences.c:3454 +#: src/preferences.c:3273 msgid "You can also change these values when encoding a clip" msgstr "" -#: src/preferences.c:3466 +#: src/preferences.c:3285 msgid "Encoder" msgstr "" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." msgstr "" -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr "" -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr "" -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr "" -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr "" -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr "" -#: src/preferences.c:3649 +#: src/preferences.c:3461 msgid " Working directory (do not remove) " msgstr "" -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "" -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "" -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "" -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr "" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "" -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" msgstr "" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "" -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr "" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "" -#: src/preferences.c:3872 +#: src/preferences.c:3659 msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " "when LiVES is started." msgstr "" -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "" -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "" -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "" -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "" -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "" -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "" -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "" -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "" -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "" -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "" -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "" -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "" -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "" -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "" -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." msgstr "" -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "" -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "" -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "" -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "" -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "" -#: src/preferences.c:4113 +#: src/preferences.c:3865 msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "" -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "" -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "" -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "" -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "" -#: src/preferences.c:4242 +#: src/preferences.c:3977 msgid "Main Theme Details" msgstr "" -#: src/preferences.c:4254 +#: src/preferences.c:3988 msgid " _Foreground Color" msgstr "" -#: src/preferences.c:4273 +#: src/preferences.c:4007 msgid " _Background Color" msgstr "" -#: src/preferences.c:4291 +#: src/preferences.c:4026 msgid "_Alt Foreground Color" msgstr "" -#: src/preferences.c:4309 +#: src/preferences.c:4044 msgid "_Alt Background Color" msgstr "" -#: src/preferences.c:4327 +#: src/preferences.c:4062 msgid " Info _Text Color" msgstr "" -#: src/preferences.c:4346 +#: src/preferences.c:4081 msgid " Info _Base Color" msgstr "" -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "" -#: src/preferences.c:4365 +#: src/preferences.c:4100 msgid "Affects some contrast details of the timeline" msgstr "" -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "" -#: src/preferences.c:4398 +#: src/preferences.c:4132 msgid "Frame blank image" msgstr "" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "" -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4474 +#: src/preferences.c:4203 msgid "Track background (multitrack)" msgstr "" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "" -#: src/preferences.c:4529 +#: src/preferences.c:4258 msgid "Timeline selection (multitrack)" msgstr "" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "" -#: src/preferences.c:4553 +#: src/preferences.c:4282 msgid "Timecode foreground (multitrack)" msgstr "" -#: src/preferences.c:4565 +#: src/preferences.c:4293 msgid "Frame surround" msgstr "" -#: src/preferences.c:4582 +#: src/preferences.c:4306 msgid "Themes/Colors" msgstr "" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "" -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "" -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" msgstr "" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" msgstr "" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "" -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." msgstr "" -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "" -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -7982,41 +7986,41 @@ "Click OK to continue.\n" msgstr "" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." msgstr "" -#: src/preferences.c:5525 +#: src/preferences.c:5205 msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "" -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "" -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "" @@ -8039,154 +8043,154 @@ msgid "Resample/Resize" msgstr "" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" "New rate must be greater than 0\n" msgstr "" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "" -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "" -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "" -#: src/resample.c:1208 +#: src/resample.c:1209 msgid "New Clip Audio" msgstr "" -#: src/resample.c:1210 +#: src/resample.c:1211 msgid "External Clip Settings" msgstr "" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "" -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 msgid "Channels" msgstr "" -#: src/resample.c:1256 +#: src/resample.c:1257 msgid "Sample Size " msgstr "" -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "" -#: src/resample.c:1322 +#: src/resample.c:1323 msgid "New Audio Details" msgstr "" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "" -#: src/resample.c:1369 +#: src/resample.c:1370 msgid "_Channels" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "_Sample Size" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "Sample Size" msgstr "" -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "" -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "" -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr "" -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr "" -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr "" -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "" -#: src/resample.c:1635 +#: src/resample.c:1636 msgid "Change Playback Speed" msgstr "" -#: src/resample.c:1637 +#: src/resample.c:1638 msgid "Resample Video" msgstr "" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -8197,7 +8201,7 @@ "in _frames per second" msgstr "" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -8208,80 +8212,80 @@ "in frames per second" msgstr "" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" "LiVES was unable to reorder the frames." msgstr "" -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "" @@ -8511,7 +8515,7 @@ msgid "Mode active" msgstr "" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "" @@ -8633,54 +8637,54 @@ msgid "Opened firewire card %d" msgstr "" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, c-format msgid "%s : parameters for %s" msgstr "" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." msgstr "" -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -8689,7 +8693,7 @@ "right or double clicking on it.\n" msgstr "" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -8697,14 +8701,14 @@ "Select an effect in FX stack first to view its parameters.\n" msgstr "" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" "No clips loaded.\n" msgstr "" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -8714,7 +8718,7 @@ "before inserting clips into the timeline." msgstr "" -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -8723,186 +8727,186 @@ "to apply compositors.\n" msgstr "" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" msgstr "" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" msgstr "" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr "" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 msgid "Selected Clip" msgstr "" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 msgid "_Adjust Start and End Points" msgstr "" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 msgid "_Edit/Encode in Clip Editor" msgstr "" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 msgid "_Show Clip Information" msgstr "" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 msgid "_Close this Clip" msgstr "" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 msgid "Audio Mixer (ctrl-m)" msgstr "" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "" -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "" -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "" -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "" -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "" -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "" -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "" -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "" -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "" -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "" -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "" -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " "audio rate %d, audio sample size %d, %s.\n" msgstr "" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -8912,7 +8916,7 @@ "then load in the new set from the File menu.\n" msgstr "" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -8920,592 +8924,592 @@ "It cannot be loaded.\n" msgstr "" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "" -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "" -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "" -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "" -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 msgid "_Close the Selected Clip" msgstr "" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 msgid "_Save Layout as..." msgstr "" -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 msgid "_Load Layout..." msgstr "" -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 msgid "_Wipe/Delete Layout..." msgstr "" -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "" -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 msgid "Auto Load _Subtitles with Clips" msgstr "" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 msgid "_Adjust Selected Clip Start/End Points" msgstr "" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 msgid "_Insert Selected Clip Audio" msgstr "" -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 msgid "_Delete Selected Block" msgstr "" -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 msgid "_Jump to Previous Block Boundary" msgstr "" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 msgid "_Jump to Next Block Boundary" msgstr "" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 msgid "Clear _Marks from Timeline" msgstr "" -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 msgid "Ignore Selection Limits when Inserting" msgstr "" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 msgid "Pla_y Selected Time Only" msgstr "" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 msgid "_Move Effects with Blocks" msgstr "" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 msgid "Select _Autotransition Effect..." msgstr "" -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 msgid "Crossfade Audio with Autotransition" msgstr "" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 msgid "View/_Edit Selected Effect" msgstr "" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 msgid "_Delete Selected Effect" msgstr "" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 msgid "Apply Effect to _Block..." msgstr "" -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 msgid "Apply Effect to _Region..." msgstr "" -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 msgid "Make _Backing Audio Current Track" msgstr "" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 msgid "_Split Current Track at Cursor" msgstr "" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 msgid "_Split Selected Video Tracks" msgstr "" -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 msgid "Insert Gap in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 msgid "Insert Gap in Current Track/Selected Time" msgstr "" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 msgid "Close All _Gaps in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 msgid "Select _All Video Tracks" msgstr "" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 msgid "Select _No Video Tracks" msgstr "" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 msgid "Select All _Time" msgstr "" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 msgid "Select from _Zero Time" msgstr "" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 msgid "Select to _End Time" msgstr "" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "" -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 msgid "_Timecode to Region Start" msgstr "" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 msgid "_Timecode to Region End" msgstr "" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 msgid "_Region Start to Timecode" msgstr "" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 msgid "_Region End to Timecode" msgstr "" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 msgid "Select/Deselect Block at Current Track/Time" msgstr "" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 msgid "_Change Width, Height and Audio Values..." msgstr "" -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 msgid "_Render All to New Clip" msgstr "" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 msgid "Render _Video" msgstr "" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 msgid "Render _Audio" msgstr "" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 msgid "_Normalise Rendered Audio" msgstr "" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 msgid "_Pre-render Audio" msgstr "" -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 msgid "Block _In/Out Points" msgstr "" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 msgid "_Effects at Current" msgstr "" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 msgid "Audio Parameters" msgstr "" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 msgid "Show Backing _Audio Track" msgstr "" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 msgid "Compact View" msgstr "" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 msgid "Maximum Tracks to Display..." msgstr "" -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 msgid "Scroll to Follow Playback" msgstr "" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 msgid "_Center on Cursor" msgstr "" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 msgid "_Zoom In" msgstr "" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 msgid "_Zoom Out" msgstr "" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 msgid "Multitrack _Details" msgstr "" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 msgid "_Show FRAME Events" msgstr "" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 msgid "_Show Multitrack Keys" msgstr "" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 msgid "Insert With _Audio" msgstr "" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 msgid "Select _Overlap" msgstr "" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" msgstr "" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 msgid "Mouse Mode: _Move" msgstr "" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 msgid "Mouse Mode: _Select" msgstr "" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 msgid "Insert Mode: _Normal" msgstr "" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "" -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "" -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" "Switched to Clip Edit mode\n" msgstr "" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr "" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr "" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr "" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 msgid "Selected Effect" msgstr "" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 msgid "_View/Edit this Effect" msgstr "" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 msgid "_View this Effect" msgstr "" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 msgid "_Delete this Effect" msgstr "" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr "" -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "" -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" "Switched to Multitrack mode\n" msgstr "" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" "Nodes can be deleted." msgstr "" -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -9513,281 +9517,281 @@ "current time.\n" msgstr "" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." msgstr "" -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 msgid "Selected Block/Frame" msgstr "" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 msgid "_Select this Block" msgstr "" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 msgid "_Split Block Here" msgstr "" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 msgid "List _Effects Here" msgstr "" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 msgid "_Delete this Block" msgstr "" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 msgid "_Insert Here" msgstr "" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 msgid "_Insert Audio Here" msgstr "" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" msgstr "" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "" -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " "to %.4f\n" msgstr "" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" "selected.\n" msgstr "" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" msgstr "" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." msgstr "" -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." msgstr "" -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." msgstr "" -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" msgstr "" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" msgstr "" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" msgstr "" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "" -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "" -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" msgstr "" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 msgid "Saving layout" msgstr "" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" msgstr "" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -9795,74 +9799,74 @@ "Therefore it could not be loaded properly.\n" msgstr "" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" "Unable to load layout file %s\n" msgstr "" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "" -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "" -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 msgid "" "The current layout has changes which have not been saved.\n" "Are you sure you wish to wipe it ?\n" msgstr "" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 msgid "Multitrack Audio Mixer" msgstr "" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" msgstr "" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "" @@ -9888,7 +9892,7 @@ "Connection to jack audio was reset.\n" msgstr "" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -9896,7 +9900,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -9904,7 +9908,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:104 +#: src/pulse.c:105 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -9912,27 +9916,27 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" msgstr "" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" msgstr "" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr ""
View file
LiVES-2.8.4.tar.bz2/po/nl_NL.po -> LiVES-2.8.6.tar.bz2/po/nl_NL.po
Changed
@@ -2,7 +2,7 @@ msgstr "" "Project-Id-Version: LiVES 0.9.5cvs\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" "PO-Revision-Date: 2013-03-14 12:31+0000\n" "Last-Translator: Launchpad Translations Administrators <Unknown>\n" "Language-Team: \n" @@ -15,7 +15,7 @@ "X-Poedit-Country: NETHERLANDS\n" "X-Poedit-Language: Dutch\n" -#: src/main.c:132 +#: src/main.c:125 msgid "" "Attention Translators !\n" "This message is intended for you, so please do not translate it.\n" @@ -24,22 +24,22 @@ "http://lives-video.com/TRANS-README.txt" msgstr "" -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "" -#: src/main.c:203 +#: src/main.c:197 #, c-format msgid "" "\n" @@ -48,7 +48,7 @@ "Thanks. Recovery should be possible if you restart LiVES.\n" msgstr "" -#: src/main.c:205 +#: src/main.c:199 #, c-format msgid "" "\n" @@ -57,109 +57,109 @@ "distribution, and the LiVES version (%s)\n" msgstr "" -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" msgstr "" -#: src/main.c:210 +#: src/main.c:204 msgid "" "Please try running LiVES with the -debug option to collect more " "information.\n" "\n" msgstr "" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" "\n" msgstr "" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "" -#: src/main.c:474 +#: src/main.c:460 msgid "LiVES: - " msgstr "" -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "Grootte aanpassen" -#: src/main.c:731 +#: src/main.c:708 #, fuzzy msgid "_Resize All Frames..." msgstr "Draaikolk" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "" -#: src/main.c:1122 +#: src/main.c:1094 #, fuzzy msgid "Background" msgstr "Vervagen" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "" -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "" -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "" -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "" -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -171,34 +171,34 @@ "Alternatively, try to start lives with either \"lives -jackopts 16\", or " msgstr "" -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "" -#: src/main.c:1855 +#: src/main.c:1813 #, c-format msgid "%s...detected... " msgstr "" -#: src/main.c:1856 +#: src/main.c:1814 #, c-format msgid "%s...NOT DETECTED... " msgstr "" -#: src/main.c:1867 +#: src/main.c:1824 msgid "Checking optional dependencies: " msgstr "" -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -206,209 +206,209 @@ "Window manager reports as \"%s\"; " msgstr "" -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "" -#: src/main.c:1901 +#: src/main.c:1863 #, c-format msgid "Number of CPUs detected: %d " msgstr "" -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "" -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1927 +#: src/main.c:1889 #, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr "" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" "Many audio features will be unavailable.\n" msgstr "" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" "\n" msgstr "" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" "Startup syntax is: %s [opts] [filename [start_time] [frames]]\n" msgstr "" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "" -#: src/main.c:2593 +#: src/main.c:2545 msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" msgstr "" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "" -#: src/main.c:2605 +#: src/main.c:2557 msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " "mplayer2" msgstr "" #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr "" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr "" -#: src/main.c:2613 +#: src/main.c:2565 msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " "transport client,2 = jack transport master, 4 = start jack transport server, " "8 = pause audio when video paused,16 = start jack audio server] \n" msgstr "" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr "" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" msgstr "" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "" -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -419,7 +419,7 @@ "(Maybe you need to change the value of <prefix_dir> in your %s file)\n" msgstr "" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -427,7 +427,7 @@ "Please make sure you have write access to %s and try again.\n" msgstr "" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -436,7 +436,7 @@ "before running LiVES.\n" msgstr "" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -446,7 +446,7 @@ "Please check the file permissions for this file and try again.\n" msgstr "" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -457,7 +457,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -465,7 +465,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2737 +#: src/main.c:2689 #, c-format msgid "" "\n" @@ -475,7 +475,7 @@ "%s" msgstr "" -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -486,56 +486,56 @@ "Thankyou.\n" msgstr "" -#: src/main.c:2751 +#: src/main.c:2703 msgid "" "\n" "LiVES currently requires 'mplayer', 'mplayer2' or 'sox' to function. Please " "install one or other of these, and try again.\n" msgstr "" -#: src/main.c:2756 +#: src/main.c:2708 msgid "" "\n" "LiVES currently requires both 'mplayer' or 'mplayer2' and 'sox' to function. " "Please install these, and try again.\n" msgstr "" -#: src/main.c:2769 +#: src/main.c:2721 msgid "" "\n" "LiVES was unable to locate 'mplayer','mplayer2' or 'mpv'. You may wish to " "install one of these to use LiVES more fully.\n" msgstr "" -#: src/main.c:2775 +#: src/main.c:2727 msgid "" "\n" "LiVES was unable to locate 'mplayer' or 'mplayer2'. You may wish to install " "one of these to use LiVES more fully.\n" msgstr "" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" "magick if you want to use rendered effects.\n" msgstr "" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " "image-magick if you want to use the merge function.\n" msgstr "" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " "should install 'sox'.\n" msgstr "" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -546,96 +546,96 @@ "You may need to change the value of <lib_dir> in %s\n" msgstr "" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "" -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "" #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" msgstr "" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "" -#: src/main.c:7078 +#: src/main.c:6973 msgid "" "\n" "\n" @@ -786,7 +786,7 @@ msgid "Use _mplayer2 audio player" msgstr "" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "" @@ -992,51 +992,51 @@ msgid "_Finish" msgstr "" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "" -#: src/interface.c:46 +#: src/interface.c:42 msgid "Apply _Deinterlace" msgstr "" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "" -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "" -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "" -#: src/interface.c:122 +#: src/interface.c:113 msgid "Click here to _Preview the file" msgstr "" -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 msgid "Processing..." msgstr "" -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1045,177 +1045,181 @@ "Remember to switch off effects (ctrl-0) afterwards !" msgstr "" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" msgstr "" -#: src/interface.c:221 +#: src/interface.c:206 msgid "Show Details" msgstr "" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "" -#: src/interface.c:334 +#: src/interface.c:324 msgid "Multitrack Details" msgstr "" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "" -#: src/interface.c:568 +#: src/interface.c:590 msgid "Encoding Options" msgstr "" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." msgstr "" -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "" -#: src/interface.c:833 +#: src/interface.c:846 +msgid "Insert _with silence" +msgstr "" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "" -#: src/interface.c:924 +#: src/interface.c:937 msgid "Open Selection" msgstr "" -#: src/interface.c:943 +#: src/interface.c:954 msgid "Selection start time (sec)" msgstr "" -#: src/interface.c:949 +#: src/interface.c:960 msgid "Number of frames to open" msgstr "" -#: src/interface.c:1023 +#: src/interface.c:1029 msgid "Open Location" msgstr "" -#: src/interface.c:1025 +#: src/interface.c:1031 msgid "Open Youtube Clip" msgstr "" -#: src/interface.c:1045 +#: src/interface.c:1050 msgid "" "\n" "\n" @@ -1225,7 +1229,7 @@ "\n" msgstr "" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1234,67 +1238,67 @@ "\n" msgstr "" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "" -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "" -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "" -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "" -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr "" -#: src/interface.c:1188 +#: src/interface.c:1189 #, fuzzy msgid "Rename Clip" msgstr "Draaien" -#: src/interface.c:1190 +#: src/interface.c:1191 msgid "Enter Set Name to Save as" msgstr "" -#: src/interface.c:1192 +#: src/interface.c:1193 msgid "Enter a Set Name to Reload" msgstr "" -#: src/interface.c:1194 +#: src/interface.c:1195 msgid "Choose a Working Directory" msgstr "" -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 msgid "Rename Current Track" msgstr "" -#: src/interface.c:1198 +#: src/interface.c:1199 msgid "Enter a Name for Your Theme" msgstr "" -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1302,7 +1306,7 @@ "LiVES will remind you to save the clip set later when you try to exit.\n" msgstr "" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1322,329 +1326,329 @@ "This should be a directory with plenty of disk space available.\n" msgstr "" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "" -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "" -#: src/interface.c:1257 +#: src/interface.c:1255 msgid "Theme name " msgstr "" -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "" -#: src/interface.c:1437 +#: src/interface.c:1425 msgid "Select input device" msgstr "" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "" -#: src/interface.c:1517 +#: src/interface.c:1505 msgid "Load CD Track" msgstr "" -#: src/interface.c:1519 +#: src/interface.c:1507 msgid "Select DVD Title/Chapter" msgstr "" -#: src/interface.c:1521 +#: src/interface.c:1509 msgid "Select VCD Title" msgstr "" -#: src/interface.c:1523 +#: src/interface.c:1511 msgid "Change Maximum Visible Tracks" msgstr "" -#: src/interface.c:1525 +#: src/interface.c:1513 msgid "Device details" msgstr "" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "" -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "" -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "" -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "" -#: src/interface.c:1815 +#: src/interface.c:1778 #, fuzzy msgid "Fade Audio In" msgstr "Vervagen" -#: src/interface.c:1817 +#: src/interface.c:1780 #, fuzzy msgid "Fade Audio Out" msgstr "Vervagen" -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "" -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "" -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "" -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "" -#: src/interface.c:1909 +#: src/interface.c:1865 msgid " (Optional)" msgstr "" -#: src/interface.c:1912 +#: src/interface.c:1868 #, c-format msgid "File Comments%s" msgstr "" -#: src/interface.c:1927 +#: src/interface.c:1882 #, c-format msgid "File Name: %s" msgstr "" -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "" -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "" -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "" -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "" -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "" -#: src/interface.c:2109 +#: src/interface.c:2058 #, c-format msgid "%sChoose a Device" msgstr "" -#: src/interface.c:2112 +#: src/interface.c:2061 #, c-format msgid "%sChoose a Directory" msgstr "" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2410 +#: src/interface.c:2341 msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" "What do you wish to do ?" msgstr "" -#: src/interface.c:2417 +#: src/interface.c:2348 msgid "Cancel/Discard/Save" msgstr "" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" "Would you like to try and recover it ?\n" msgstr "" -#: src/interface.c:2527 +#: src/interface.c:2455 msgid "Disk Recovery Options" msgstr "" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "" -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "" -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1652,332 +1656,332 @@ "-----------------------\n" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "ctrl-left" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 #, fuzzy msgid "skip forwards\n" msgstr "Vooruitspoelen" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "ctrl-down" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "ctrl-enter" msgstr "_Overig" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "reset frame rate\n" msgstr "Verkleuren" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "" -#: src/interface.c:2723 +#: src/interface.c:2642 msgid "reverse direction\n" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 msgid "ctrl-1" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 msgid "toggle real-time effect 1\n" msgstr "" -#: src/interface.c:2746 +#: src/interface.c:2665 msgid "ctrl-2" msgstr "" -#: src/interface.c:2746 +#: src/interface.c:2665 msgid "toggle real-time effect 2\n" msgstr "" -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "ctrl-0" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "real-time effects off\n" msgstr "" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "" -#: src/interface.c:2759 +#: src/interface.c:2678 msgid "grab keyboard for last activated effect\n" msgstr "" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2688 msgid "tab" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "" -#: src/interface.c:2785 +#: src/interface.c:2706 msgid "Other playback keys\n" msgstr "" -#: src/interface.c:2789 +#: src/interface.c:2710 msgid "play all\n" msgstr "" -#: src/interface.c:2792 +#: src/interface.c:2713 msgid "play selection\n" msgstr "" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "" -#: src/interface.c:2798 +#: src/interface.c:2719 msgid "fullscreen\n" msgstr "" -#: src/interface.c:2801 +#: src/interface.c:2722 msgid "separate window\n" msgstr "" -#: src/interface.c:2804 +#: src/interface.c:2725 msgid "double size\n" msgstr "" -#: src/interface.c:2807 +#: src/interface.c:2728 msgid "ping pong loops\n" msgstr "" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "move current track up\n" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "move current track down\n" msgstr "" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "" -#: src/interface.c:2849 +#: src/interface.c:2768 msgid "select next clip\n" msgstr "" -#: src/interface.c:2852 +#: src/interface.c:2771 msgid "select/deselect current track\n" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "zoom in\n" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "zoom out\n" msgstr "" -#: src/interface.c:2861 +#: src/interface.c:2780 msgid "make a mark on the timeline (during playback)\n" msgstr "" -#: src/interface.c:2864 +#: src/interface.c:2783 msgid "rewind to play start.\n" msgstr "" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "" -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "" -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "" -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -1985,22 +1989,22 @@ "the latest youtube-dl installed.\n" msgstr "" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, c-format msgid "Layouts were removed for set %s.\n" msgstr "" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " msgstr "" -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2010,7 +2014,7 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2020,20 +2024,20 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" "Really close it ?" msgstr "" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" msgstr "" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2046,53 +2050,53 @@ "Once you have done this, you will be able to import the new project.\n" msgstr "" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "" -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "" -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 msgid "Theme" msgstr "" -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, c-format msgid "Exporting theme as %s..." msgstr "" -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, c-format msgid "Importing theme \"%s\" from %s..." msgstr "" -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, c-format msgid "Backup as %s File" msgstr "" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, c-format msgid "Restore %s File" msgstr "" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2100,101 +2104,101 @@ "Are you sure ?\n" msgstr "" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "" -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "" -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "" -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "" -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "" -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "" -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 msgid "Pulling frames from clipboard" msgstr "" -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "" -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "" -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " "LiVES.\n" msgstr "" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2203,31 +2207,31 @@ "the 'Trim Audio' function from the Audio menu." msgstr "" -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." msgstr "" -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2235,7 +2239,7 @@ "Clipboard audio has been erased.\n" msgstr "" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2244,88 +2248,88 @@ "using unchanged audio ?\n" msgstr "" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "" -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "" -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "" -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" "Are you sure ?" msgstr "" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "" -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" "Selection is locked.\n" msgstr "" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2333,11 +2337,11 @@ "play.)\n" msgstr "" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2346,7 +2350,7 @@ "%s\n" msgstr "" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2355,7 +2359,7 @@ "The plugin may be broken or not installed correctly." msgstr "" -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2364,22 +2368,22 @@ "Please press 'Cancel' if that is not what you want.\n" msgstr "" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2387,24 +2391,24 @@ "Click OK to proceed.\n" msgstr "" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "" -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "" -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "" -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2412,68 +2416,68 @@ "Internal: %s (%d bpp) / %s\n" msgstr "" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." msgstr "" -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" "(%d virtual)" msgstr "" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" "(%d decoded)" msgstr "" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" " %.2f sec." msgstr "" -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" msgstr "" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" "%s %s" msgstr "" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2490,22 +2494,22 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n" msgstr "" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "" -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" "Launchpad Contributions:\n" " Guybrush88 https://launchpad.net/~guybrush\n" " Rene Hasekamp https://launchpad.net/~hasekamp" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, c-format msgid "" "LiVES Version %s\n" @@ -2519,14 +2523,14 @@ "Homepage: %s" msgstr "" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 msgid "" "\n" "\n" "You need to install mplayer or mplayer2 to be able to preview this file.\n" msgstr "" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 msgid "" "\n" "\n" @@ -2534,92 +2538,92 @@ "this file.\n" msgstr "" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" "%s\n" msgstr "" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 msgid "Encoder Debug Output" msgstr "" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "" -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 msgid "Load Subtitles" msgstr "" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 msgid "Select Audio File" msgstr "" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -2627,82 +2631,82 @@ "." msgstr "" -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "" -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "" -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "" -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 msgid "Layout Errors" msgstr "" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "" -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "" -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, c-format msgid "" "\n" @@ -2711,30 +2715,30 @@ "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 #, fuzzy msgid "Selected Frame" msgstr "Draaikolk" -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 #, fuzzy msgid "_Save Frame as..." msgstr "Draaikolk" -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -2743,7 +2747,7 @@ "\n" msgstr "" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -2751,13 +2755,13 @@ "\n" msgstr "" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" msgstr "" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -2766,17 +2770,17 @@ "\n" msgstr "" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" msgstr "" -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -2786,19 +2790,19 @@ "(Default of %.3f frames per second will be used.)\n" msgstr "" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "" -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "" -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -2807,119 +2811,119 @@ "rate.\n" msgstr "" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "" -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "" -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 msgid "Append Audio File" msgstr "" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "" -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "" -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "" -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "" -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "" -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" "Are you sure ?" msgstr "" -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "" -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "" @@ -2932,877 +2936,877 @@ msgid "Merge Clipboard [ %d Frames ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "" -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "" -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "" -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "" -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "" -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "" -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "" -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "" -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "" -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "" -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "" -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "" -#: src/gui.c:692 +#: src/gui.c:674 #, c-format msgid "_Backup Clip as .%s..." msgstr "" -#: src/gui.c:701 +#: src/gui.c:683 #, c-format msgid "_Restore Clip from .%s..." msgstr "" -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "" -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "" -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "" -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "" -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "" -#: src/gui.c:1069 +#: src/gui.c:1045 msgid "Letterbox Mode" msgstr "" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "" -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "" -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "" -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "" -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "" -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "" -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "" -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "" -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "" -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "" -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "" -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "" -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "" -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "" -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "" -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "" -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "" -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "" -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "" -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "" -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "" -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "" -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "" -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "" -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "" -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "" -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "" -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "" -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "" -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "" -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "" -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "" -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "" -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "" -#: src/gui.c:1397 +#: src/gui.c:1371 msgid "Receive _LiVES Stream from..." msgstr "" -#: src/gui.c:1401 +#: src/gui.c:1375 msgid "_Send LiVES Stream to..." msgstr "" -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "" -#: src/gui.c:1426 +#: src/gui.c:1399 #, c-format msgid "_Import Project (.%s)..." msgstr "" -#: src/gui.c:1430 +#: src/gui.c:1403 #, c-format msgid "E_xport Project (.%s)..." msgstr "" -#: src/gui.c:1437 +#: src/gui.c:1409 #, c-format msgid "_Import Custom Theme (.%s)..." msgstr "" -#: src/gui.c:1442 +#: src/gui.c:1414 #, c-format msgid "E_xport Theme (.%s)..." msgstr "" -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "" -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "" -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." msgstr "" -#: src/gui.c:1476 +#: src/gui.c:1448 msgid "_Reset All Playback Speeds and Positions" msgstr "" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "" -#: src/gui.c:1480 +#: src/gui.c:1452 msgid "_MIDI/Joystick Interface" msgstr "" -#: src/gui.c:1489 +#: src/gui.c:1461 msgid "_MIDI/Joystick Learner..." msgstr "" -#: src/gui.c:1493 +#: src/gui.c:1465 msgid "_Save Device Mapping..." msgstr "" -#: src/gui.c:1497 +#: src/gui.c:1469 msgid "_Load Device Mapping..." msgstr "" -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 msgid "_Donate to the Project !" msgstr "" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 msgid "_Email the Author" msgstr "" -#: src/gui.c:1547 +#: src/gui.c:1519 msgid "Report a _Bug" msgstr "" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 msgid "Suggest a _Feature" msgstr "" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 msgid "Assist with _Translating" msgstr "" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "" -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." msgstr "" #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr "" -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr "" -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr "" -#: src/gui.c:3613 +#: src/gui.c:3553 #, fuzzy msgid "Streaming" msgstr "Droom" -#: src/gui.c:3615 +#: src/gui.c:3555 #, c-format msgid "Play Window%s" msgstr "" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "" -#: src/gui.c:4199 +#: src/gui.c:4127 #, c-format msgid "'LiVES opened the file' '%s'" msgstr "" -#: src/gui.c:4220 +#: src/gui.c:4146 #, c-format msgid "'LiVES closed the file' '%s'" msgstr "" @@ -3812,11 +3816,11 @@ msgid "Mapped to ctrl-%d" msgstr "" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "" @@ -3830,11 +3834,11 @@ msgid "Select clip for %s\n" msgstr "" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "" @@ -3879,11 +3883,11 @@ msgid "%d bytes" msgstr "" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -3891,81 +3895,81 @@ "Switched to clip %s\n" msgstr "" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" "Switched to empty clip\n" msgstr "" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " "updated accordingly\n" msgstr "" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -3973,7 +3977,7 @@ "by another copy of LiVES.\n" msgstr "" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -3981,39 +3985,39 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2188 +#: src/utils.c:2207 #, c-format msgid "" "\n" "%s names may not be blank.\n" msgstr "" -#: src/utils.c:2196 +#: src/utils.c:2215 #, c-format msgid "" "\n" "%s names may not be longer than %d characters.\n" msgstr "" -#: src/utils.c:2204 +#: src/utils.c:2223 #, c-format msgid "" "\n" "%s names may not contain spaces or the characters%s.\n" msgstr "" -#: src/utils.c:2213 +#: src/utils.c:2232 #, c-format msgid "" "\n" "%s names may not start with a '.' or contain '..'\n" msgstr "" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4021,72 +4025,72 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "" -#: src/utils.c:3492 +#: src/utils.c:3548 msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "" -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4096,29 +4100,29 @@ "Overwrite ?\n" msgstr "" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr "" -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr "" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4143,7 +4147,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr "" @@ -4244,7 +4248,7 @@ msgstr "" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "" @@ -4298,12 +4302,12 @@ msgid "Recording performance..." msgstr "" -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4312,21 +4316,21 @@ "and resize all frames to the current size.\n" msgstr "" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4334,13 +4338,13 @@ "%s\n" msgstr "" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" msgstr "" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4348,7 +4352,7 @@ "Bad things may happen with this clip.\n" msgstr "" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4356,73 +4360,73 @@ "Default can be set in Tools | Preferences | Misc.\n" msgstr "" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, c-format msgid " - Author: %s\n" msgstr "" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, c-format msgid " - Title: %s\n" msgstr "" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr "" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "" -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "" -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "" -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -4470,58 +4474,58 @@ msgid "Recovering files..." msgstr "" -#: src/dialogs.c:87 +#: src/dialogs.c:83 msgid "Show affeced _layouts" msgstr "" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" msgstr "" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr "" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 msgid "Warning !" msgstr "" -#: src/dialogs.c:198 +#: src/dialogs.c:186 msgid "Error !" msgstr "" -#: src/dialogs.c:208 +#: src/dialogs.c:196 #, fuzzy msgid "Information" msgstr "Normaliseren" -#: src/dialogs.c:234 +#: src/dialogs.c:221 msgid "Question" msgstr "" -#: src/dialogs.c:248 +#: src/dialogs.c:235 msgid "File Error" msgstr "" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -4532,7 +4536,7 @@ "(Disk warning levels can be configured in Preferences.)" msgstr "" -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -4544,11 +4548,11 @@ "Preferences.)" msgstr "" -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "" -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -4556,46 +4560,46 @@ "Please try closing some other applications first.\n" msgstr "" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "" -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" "%s%d%% done. Time remaining: %u sec%s\n" msgstr "" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" "%d/%d frames opened. Time remaining %u sec.\n" msgstr "" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" "%d/%d frames opened.\n" msgstr "" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" "%d frames opened.\n" msgstr "" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" "Time remaining: %d sec" msgstr "" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -4603,7 +4607,7 @@ "Please close a file and then try again." msgstr "" -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -4615,47 +4619,47 @@ "Please make sure you can write to this directory." msgstr "" -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 msgid "" "\n" "LiVES currently requires either 'mplayer', 'mplayer2', or 'sox' to function. " "Please install one or other of these, and try again.\n" msgstr "" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 msgid "" "\n" "This function requires either mplayer or mplayer2 to operate.\n" "You may wish to install one or other of these and try again.\n" msgstr "" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 msgid "" "\n" "This function requires either mplayer, mplayer2 or mpv to operate.\n" "You may wish to install one or other of these and try again.\n" msgstr "" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" "Or switch to another encoder format in Tools | Preferences | Encoding\n" msgstr "" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -4663,19 +4667,19 @@ "Please set the audio codec in Tools|Preferences|Encoding\n" msgstr "" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -4683,83 +4687,83 @@ "Due to restrictions in the %s format\n" msgstr "" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" msgstr "" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr "" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr "" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr "" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr "" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" msgstr "" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -4768,14 +4772,14 @@ "\n" msgstr "" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" "\n" msgstr "" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -4784,7 +4788,7 @@ "Try recording for just a selection of the file." msgstr "" -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -4795,7 +4799,7 @@ "Please press Cancel to abort the insert, or OK to continue." msgstr "" -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -4808,18 +4812,18 @@ "click Cancel." msgstr "" -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " "in your %s file" msgstr "" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -4830,25 +4834,25 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 msgid "" "Sorry, unknown audio type.\n" "\n" " (Filenames must end in" msgstr "" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" "(They will not be usable without the set).\n" msgstr "" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -4857,7 +4861,7 @@ "Click Cancel to pick a new name.\n" msgstr "" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -4865,7 +4869,7 @@ "." msgstr "" -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -4873,7 +4877,7 @@ "." msgstr "" -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -4884,7 +4888,7 @@ "Otherwise click Cancel to skip loading this file.\n" msgstr "" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -4894,7 +4898,7 @@ "The clip could not be loaded.\n" msgstr "" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -4902,7 +4906,7 @@ "Alternately, select a different audio player in Preferences.\n" msgstr "" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -4911,13 +4915,13 @@ "Automatic jack startup will be disabled now.\n" msgstr "" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" msgstr "" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -4928,13 +4932,13 @@ "%s\n" msgstr "" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" msgstr "" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -4944,7 +4948,7 @@ "It is recommended to increase it to at least %d MB" msgstr "" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -4953,7 +4957,7 @@ "Do you wish to delete them ?\n" msgstr "" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -4961,7 +4965,7 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -4969,81 +4973,81 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" msgstr "" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" msgstr "" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" "You can set this in Tools|Preferences|Playback." msgstr "" -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" "Should I try to repair the disk copy of the layout ?\n" msgstr "" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" msgstr "" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" "Audio rate must be greater than 0.\n" msgstr "" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5051,14 +5055,14 @@ "Are you sure you wish to view it ?\n" msgstr "" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" "You must install 'dvgrab' to use this function.\n" msgstr "" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5067,25 +5071,25 @@ "You may need to select one of these in Tools/Preferences/Playback.\n" msgstr "" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" msgstr "" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5094,33 +5098,33 @@ "echo %d > /proc/sys/net/core/rmem_max\n" msgstr "" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -5130,7 +5134,7 @@ "%s%s%s" msgstr "" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -5140,7 +5144,7 @@ "%s" msgstr "" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -5150,7 +5154,7 @@ "%s" msgstr "" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -5159,7 +5163,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -5169,7 +5173,7 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -5178,7 +5182,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -5188,12 +5192,12 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "" -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -5202,7 +5206,7 @@ "Please check your system for errors.\n" msgstr "" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -5211,7 +5215,7 @@ "Please check the file permissions and try again." msgstr "" -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -5220,7 +5224,7 @@ "Please check the directory permissions and try again." msgstr "" -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, c-format msgid "" "\n" @@ -5228,14 +5232,14 @@ "%s\n" msgstr "" -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -5243,13 +5247,13 @@ "Please select another encoder from the list.\n" msgstr "" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" msgstr "" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -5259,27 +5263,27 @@ "- Check if the device actually exists.\n" msgstr "" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" "Do you wish to overwrite the existing subtitles ?\n" msgstr "" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 msgid "" "\n" "LiVES currently only supports subtitles of type" msgstr "" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -5288,14 +5292,14 @@ "or OK to continue and save as type \"%s\"\n" msgstr "" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" "(If unsure, click Yes)\n" msgstr "" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -5306,19 +5310,19 @@ "." msgstr "" -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" msgstr "" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" msgstr "" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -5326,7 +5330,7 @@ "DO NOT SHUT DOWN OR CLOSE LIVES !\n" msgstr "" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, c-format msgid "" "\n" @@ -5334,14 +5338,14 @@ "The theme could not be loaded correctly.\n" msgstr "" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" "Please check the spelling of the set name and try again.\n" msgstr "" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -5350,7 +5354,7 @@ "directory. Would you like me to do this (recommended) ?" msgstr "" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -5362,7 +5366,7 @@ msgstr "" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -5371,38 +5375,38 @@ "\n" msgstr "" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" "Consult your package distributor.\n" msgstr "" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" msgstr "" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, c-format msgid "" "\n" @@ -5411,7 +5415,7 @@ "(Theme name not found).\n" msgstr "" -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -5420,7 +5424,7 @@ "already exists. Would you like to overwrite it ?\n" msgstr "" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -5561,7 +5565,7 @@ msgid "Video only Transitions" msgstr "" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "" @@ -5569,7 +5573,7 @@ msgid "Audio only Transitions" msgstr "" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "" @@ -5613,7 +5617,7 @@ msgid "Audio Analysers" msgstr "" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "" @@ -5668,356 +5672,356 @@ "No frames were generated.\n" msgstr "" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 msgid "Invalid element" msgstr "" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 msgid "Invalid property" msgstr "" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 msgid "Invalid plugin" msgstr "" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 msgid "No error" msgstr "" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 msgid "integer" msgstr "" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 msgid "string" msgstr "" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 msgid "pointer" msgstr "" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" "Error was: %s\n" msgstr "" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr "" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, c-format msgid "Successfully loaded %d compound filters\n" msgstr "" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, c-format msgid "Failed to start generator %s (%s)\n" msgstr "" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 msgid "Autoscale" msgstr "" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 msgid "Delete this connection" msgstr "" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, c-format msgid "%s - Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, c-format msgid "%s - Parameter Data Connections" msgstr "" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 msgid "Parameter and Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 msgid "Auto Connect Channels" msgstr "" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 msgid "Auto Connect Parameters" msgstr "" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "" -#: src/framedraw.c:241 +#: src/framedraw.c:242 msgid "_Frame" msgstr "" @@ -6061,40 +6065,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "_Breedte" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "_Hoogte" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "" -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -6160,32 +6164,32 @@ "\n" msgstr "" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "" -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -6194,7 +6198,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -6204,31 +6208,31 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" "Error was: %s\n" msgstr "" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " "***\n" msgstr "" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -6237,7 +6241,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -6246,7 +6250,7 @@ "or switch to another plugin using Tools|Preferences|Encoding\n" msgstr "" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, c-format msgid "" "\n" @@ -6254,12 +6258,12 @@ "No decoders found in %s !\n" msgstr "" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, c-format msgid " using %s" msgstr "" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -6268,7 +6272,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -6278,24 +6282,24 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "" -#: src/plugins.c:2556 +#: src/plugins.c:2550 msgid "Decoder Plugins" msgstr "" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "" @@ -6493,19 +6497,19 @@ msgid "Move _Down" msgstr "" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 msgid "RFX Properties" msgstr "" -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -6514,7 +6518,7 @@ "\n" msgstr "" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -6522,219 +6526,219 @@ "Please check the trigger code.\n" msgstr "" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 msgid "New RFX Parameter" msgstr "" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 msgid "Edit RFX Parameter" msgstr "" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "" -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "" -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "" -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." msgstr "" -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "" -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "" -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "" -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "" -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "" -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "" -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "" -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "" -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "" -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr "" -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "" -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 msgid "_Wrap value" msgstr "" -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "" -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "" -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "" -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "" -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "" -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 msgid "New RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 msgid "Edit RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "" -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "" -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "" -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "" -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "" -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "" -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "" -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 msgid "New RFX Trigger" msgstr "" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 msgid "Edit RFX Trigger" msgstr "" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "" -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 msgid "Pre Loop Code" msgstr "" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 msgid "Loop Code" msgstr "" -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 msgid "Post Loop Code" msgstr "" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, c-format msgid "Default text (max length %d)" msgstr "" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 msgid "Enter values, one per line" msgstr "" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" "Name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" "Name must not contain spaces.\n" msgstr "" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" "Menu text must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" "Action description must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" "Author must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -6742,28 +6746,28 @@ "Name must be unique.\n" msgstr "" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" "Loop code should not be blank.\n" msgstr "" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" "Trigger code should not be blank for a utility.\n" msgstr "" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" "Parameter name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -6772,41 +6776,41 @@ "\n" msgstr "" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "" -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -6816,27 +6820,27 @@ "\n" msgstr "" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "" -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "" -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "" -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "" -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -6845,7 +6849,7 @@ "Please check this program is in your path and executable.\n" msgstr "" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -6855,12 +6859,12 @@ "\n" msgstr "" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "" -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -6870,7 +6874,7 @@ "Error code was %d\n" msgstr "" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -6880,12 +6884,12 @@ "Please delete it first, or rename the test script.\n" msgstr "" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "" -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -6896,20 +6900,20 @@ "Return code was %d (%s)\n" msgstr "" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 msgid "Export Script" msgstr "" -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "" -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 msgid "Import Script" msgstr "" -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -6919,43 +6923,43 @@ "Please delete it first, or rename the import script.\n" msgstr "" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 msgid "Copy RFX Script" msgstr "" -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "" -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr "" -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 msgid "Rename Test RFX Script" msgstr "" -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "" -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 msgid "RFX Script Name" msgstr "" -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "" -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "" -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "" -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -6963,12 +6967,12 @@ "Script name must be unique.\n" msgstr "" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "" -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -6979,25 +6983,25 @@ "Return code was %d\n" msgstr "" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 msgid "Applying Current Real Time Effects to" msgstr "" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "" -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "" -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -7005,7 +7009,7 @@ "full screen, separate window (fs) mode\n" msgstr "" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -7013,7 +7017,7 @@ "(Free space = UNKNOWN)" msgstr "" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -7022,14 +7026,14 @@ "(Free space = %s)" msgstr "" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" "It should be in a partition with plenty of free disk space.\n" msgstr "" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7040,7 +7044,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7050,7 +7054,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1193 +#: src/preferences.c:1163 msgid "" "You have chosen to change the working directory.\n" "Please make sure you have no other copies of LiVES open.\n" @@ -7062,7 +7066,7 @@ "setting." msgstr "" -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, c-format msgid "" "\n" @@ -7071,13 +7075,13 @@ "See %s\n" msgstr "" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" msgstr "" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, c-format msgid "" "\n" @@ -7086,916 +7090,916 @@ "See %s\n" msgstr "" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "" -#: src/preferences.c:2468 +#: src/preferences.c:2418 msgid "Preferences" msgstr "" -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "" -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr "" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr "" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." msgstr "" -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr "" -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "" -#: src/preferences.c:2872 +#: src/preferences.c:2757 msgid "Maximum number of visible tracks" msgstr "" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "" -#: src/preferences.c:2925 +#: src/preferences.c:2804 msgid "Video open command (fallback)" msgstr "" -#: src/preferences.c:2935 +#: src/preferences.c:2811 msgid "Fallback image format" msgstr "" -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "" -#: src/preferences.c:2964 +#: src/preferences.c:2832 msgid "Open/render compression" msgstr "" -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr "" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "" -#: src/preferences.c:2995 +#: src/preferences.c:2856 msgid "Automatic trimming / padding of audio when possible" msgstr "" -#: src/preferences.c:2997 +#: src/preferences.c:2858 msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "" -#: src/preferences.c:3269 +#: src/preferences.c:3110 msgid "Source:" msgstr "" -#: src/preferences.c:3273 +#: src/preferences.c:3114 msgid "_Internal" msgstr "" -#: src/preferences.c:3278 +#: src/preferences.c:3119 msgid "_External (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" msgstr "" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr "" -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "" -#: src/preferences.c:3454 +#: src/preferences.c:3273 msgid "You can also change these values when encoding a clip" msgstr "" -#: src/preferences.c:3466 +#: src/preferences.c:3285 msgid "Encoder" msgstr "" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." msgstr "" -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr "" -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr "" -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr "" -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr "" -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr "" -#: src/preferences.c:3649 +#: src/preferences.c:3461 msgid " Working directory (do not remove) " msgstr "" -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "" -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "" -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "" -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr "" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "" -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" msgstr "" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "" -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr "" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "" -#: src/preferences.c:3872 +#: src/preferences.c:3659 msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " "when LiVES is started." msgstr "" -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "" -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "" -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "" -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "" -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "" -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "" -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "" -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "" -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "" -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "" -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "" -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "" -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "" -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "" -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." msgstr "" -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "" -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "" -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "" -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "" -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "" -#: src/preferences.c:4113 +#: src/preferences.c:3865 msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "" -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "" -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "" -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "" -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "" -#: src/preferences.c:4242 +#: src/preferences.c:3977 msgid "Main Theme Details" msgstr "" -#: src/preferences.c:4254 +#: src/preferences.c:3988 #, fuzzy msgid " _Foreground Color" msgstr "Vervagen" -#: src/preferences.c:4273 +#: src/preferences.c:4007 #, fuzzy msgid " _Background Color" msgstr "Vervagen" -#: src/preferences.c:4291 +#: src/preferences.c:4026 #, fuzzy msgid "_Alt Foreground Color" msgstr "Vervagen" -#: src/preferences.c:4309 +#: src/preferences.c:4044 #, fuzzy msgid "_Alt Background Color" msgstr "Vervagen" -#: src/preferences.c:4327 +#: src/preferences.c:4062 msgid " Info _Text Color" msgstr "" -#: src/preferences.c:4346 +#: src/preferences.c:4081 msgid " Info _Base Color" msgstr "" -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "" -#: src/preferences.c:4365 +#: src/preferences.c:4100 msgid "Affects some contrast details of the timeline" msgstr "" -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "" -#: src/preferences.c:4398 +#: src/preferences.c:4132 #, fuzzy msgid "Frame blank image" msgstr "Verkleuren" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "" -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4474 +#: src/preferences.c:4203 msgid "Track background (multitrack)" msgstr "" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "" -#: src/preferences.c:4529 +#: src/preferences.c:4258 msgid "Timeline selection (multitrack)" msgstr "" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "" -#: src/preferences.c:4553 +#: src/preferences.c:4282 msgid "Timecode foreground (multitrack)" msgstr "" -#: src/preferences.c:4565 +#: src/preferences.c:4293 #, fuzzy msgid "Frame surround" msgstr "Doo_rgaan na documenteinde" -#: src/preferences.c:4582 +#: src/preferences.c:4306 msgid "Themes/Colors" msgstr "" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "" -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "" -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" msgstr "" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" msgstr "" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "" -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." msgstr "" -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "" -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -8003,41 +8007,41 @@ "Click OK to continue.\n" msgstr "" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." msgstr "" -#: src/preferences.c:5525 +#: src/preferences.c:5205 msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "" -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "" -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "" @@ -8060,154 +8064,154 @@ msgid "Resample/Resize" msgstr "" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" "New rate must be greater than 0\n" msgstr "" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "" -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "" -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "" -#: src/resample.c:1208 +#: src/resample.c:1209 msgid "New Clip Audio" msgstr "" -#: src/resample.c:1210 +#: src/resample.c:1211 msgid "External Clip Settings" msgstr "" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "" -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 msgid "Channels" msgstr "" -#: src/resample.c:1256 +#: src/resample.c:1257 msgid "Sample Size " msgstr "" -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "" -#: src/resample.c:1322 +#: src/resample.c:1323 msgid "New Audio Details" msgstr "" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "" -#: src/resample.c:1369 +#: src/resample.c:1370 msgid "_Channels" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "_Sample Size" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "Sample Size" msgstr "" -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "" -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "" -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr "" -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr "" -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr "" -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "" -#: src/resample.c:1635 +#: src/resample.c:1636 msgid "Change Playback Speed" msgstr "" -#: src/resample.c:1637 +#: src/resample.c:1638 msgid "Resample Video" msgstr "" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -8218,7 +8222,7 @@ "in _frames per second" msgstr "" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -8229,80 +8233,80 @@ "in frames per second" msgstr "" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" "LiVES was unable to reorder the frames." msgstr "" -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "" @@ -8532,7 +8536,7 @@ msgid "Mode active" msgstr "" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "" @@ -8654,54 +8658,54 @@ msgid "Opened firewire card %d" msgstr "" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, c-format msgid "%s : parameters for %s" msgstr "" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." msgstr "" -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -8710,7 +8714,7 @@ "right or double clicking on it.\n" msgstr "" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -8718,14 +8722,14 @@ "Select an effect in FX stack first to view its parameters.\n" msgstr "" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" "No clips loaded.\n" msgstr "" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -8735,7 +8739,7 @@ "before inserting clips into the timeline." msgstr "" -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -8744,187 +8748,187 @@ "to apply compositors.\n" msgstr "" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" msgstr "" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" msgstr "" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr "" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 msgid "Selected Clip" msgstr "" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 msgid "_Adjust Start and End Points" msgstr "" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 msgid "_Edit/Encode in Clip Editor" msgstr "" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 #, fuzzy msgid "_Show Clip Information" msgstr "Normaliseren" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 msgid "_Close this Clip" msgstr "" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 msgid "Audio Mixer (ctrl-m)" msgstr "" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "" -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "" -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "" -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "" -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "" -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "" -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "" -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "" -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "" -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "" -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "" -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " "audio rate %d, audio sample size %d, %s.\n" msgstr "" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -8934,7 +8938,7 @@ "then load in the new set from the File menu.\n" msgstr "" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -8942,596 +8946,596 @@ "It cannot be loaded.\n" msgstr "" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "" -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "" -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "" -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "" -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 msgid "_Close the Selected Clip" msgstr "" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 msgid "_Save Layout as..." msgstr "" -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 msgid "_Load Layout..." msgstr "" -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 msgid "_Wipe/Delete Layout..." msgstr "" -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "" -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 msgid "Auto Load _Subtitles with Clips" msgstr "" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 msgid "_Adjust Selected Clip Start/End Points" msgstr "" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 msgid "_Insert Selected Clip Audio" msgstr "" -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 msgid "_Delete Selected Block" msgstr "" -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 msgid "_Jump to Previous Block Boundary" msgstr "" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 msgid "_Jump to Next Block Boundary" msgstr "" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 msgid "Clear _Marks from Timeline" msgstr "" -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 msgid "Ignore Selection Limits when Inserting" msgstr "" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 msgid "Pla_y Selected Time Only" msgstr "" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 msgid "_Move Effects with Blocks" msgstr "" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 msgid "Select _Autotransition Effect..." msgstr "" -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 msgid "Crossfade Audio with Autotransition" msgstr "" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 msgid "View/_Edit Selected Effect" msgstr "" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 msgid "_Delete Selected Effect" msgstr "" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 msgid "Apply Effect to _Block..." msgstr "" -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 msgid "Apply Effect to _Region..." msgstr "" -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 msgid "Make _Backing Audio Current Track" msgstr "" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 msgid "_Split Current Track at Cursor" msgstr "" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 msgid "_Split Selected Video Tracks" msgstr "" -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 msgid "Insert Gap in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 msgid "Insert Gap in Current Track/Selected Time" msgstr "" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 msgid "Close All _Gaps in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 msgid "Select _All Video Tracks" msgstr "" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 msgid "Select _No Video Tracks" msgstr "" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 #, fuzzy msgid "Select All _Time" msgstr "Draaikolk" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 msgid "Select from _Zero Time" msgstr "" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 #, fuzzy msgid "Select to _End Time" msgstr "Draaikolk" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "" -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 msgid "_Timecode to Region Start" msgstr "" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 msgid "_Timecode to Region End" msgstr "" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 msgid "_Region Start to Timecode" msgstr "" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 msgid "_Region End to Timecode" msgstr "" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 msgid "Select/Deselect Block at Current Track/Time" msgstr "" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 msgid "_Change Width, Height and Audio Values..." msgstr "" -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 msgid "_Render All to New Clip" msgstr "" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 msgid "Render _Video" msgstr "" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 #, fuzzy msgid "Render _Audio" msgstr "Vervagen" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 msgid "_Normalise Rendered Audio" msgstr "" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 msgid "_Pre-render Audio" msgstr "" -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 msgid "Block _In/Out Points" msgstr "" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 msgid "_Effects at Current" msgstr "" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 msgid "Audio Parameters" msgstr "" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 msgid "Show Backing _Audio Track" msgstr "" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 msgid "Compact View" msgstr "" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 msgid "Maximum Tracks to Display..." msgstr "" -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 msgid "Scroll to Follow Playback" msgstr "" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 msgid "_Center on Cursor" msgstr "" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 msgid "_Zoom In" msgstr "" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 msgid "_Zoom Out" msgstr "" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 msgid "Multitrack _Details" msgstr "" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 msgid "_Show FRAME Events" msgstr "" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 msgid "_Show Multitrack Keys" msgstr "" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 msgid "Insert With _Audio" msgstr "" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 #, fuzzy msgid "Select _Overlap" msgstr "Draaikolk" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" msgstr "" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 msgid "Mouse Mode: _Move" msgstr "" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 msgid "Mouse Mode: _Select" msgstr "" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 msgid "Insert Mode: _Normal" msgstr "" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "" -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "" -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" "Switched to Clip Edit mode\n" msgstr "" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr "" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr "" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr "" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 msgid "Selected Effect" msgstr "" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 msgid "_View/Edit this Effect" msgstr "" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 msgid "_View this Effect" msgstr "" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 msgid "_Delete this Effect" msgstr "" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr "" -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "" -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" "Switched to Multitrack mode\n" msgstr "" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" "Nodes can be deleted." msgstr "" -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -9539,281 +9543,281 @@ "current time.\n" msgstr "" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." msgstr "" -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 msgid "Selected Block/Frame" msgstr "" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 msgid "_Select this Block" msgstr "" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 msgid "_Split Block Here" msgstr "" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 msgid "List _Effects Here" msgstr "" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 msgid "_Delete this Block" msgstr "" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 msgid "_Insert Here" msgstr "" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 msgid "_Insert Audio Here" msgstr "" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" msgstr "" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "" -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " "to %.4f\n" msgstr "" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" "selected.\n" msgstr "" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" msgstr "" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." msgstr "" -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." msgstr "" -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." msgstr "" -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" msgstr "" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" msgstr "" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" msgstr "" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "" -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "" -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" msgstr "" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 msgid "Saving layout" msgstr "" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" msgstr "" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -9821,74 +9825,74 @@ "Therefore it could not be loaded properly.\n" msgstr "" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" "Unable to load layout file %s\n" msgstr "" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "" -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "" -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 msgid "" "The current layout has changes which have not been saved.\n" "Are you sure you wish to wipe it ?\n" msgstr "" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 msgid "Multitrack Audio Mixer" msgstr "" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" msgstr "" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "" @@ -9914,7 +9918,7 @@ "Connection to jack audio was reset.\n" msgstr "" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -9922,7 +9926,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -9930,7 +9934,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:104 +#: src/pulse.c:105 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -9938,27 +9942,27 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" msgstr "" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" msgstr "" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr ""
View file
LiVES-2.8.4.tar.bz2/po/oc.po -> LiVES-2.8.6.tar.bz2/po/oc.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: lives\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" "PO-Revision-Date: 2013-03-14 12:31+0000\n" "Last-Translator: Launchpad Translations Administrators <Unknown>\n" "Language-Team: Occitan (post 1500) <oc@li.org>\n" @@ -18,7 +18,7 @@ "X-Launchpad-Export-Date: 2013-03-29 15:04+0000\n" "X-Generator: Launchpad (build 16546)\n" -#: src/main.c:132 +#: src/main.c:125 msgid "" "Attention Translators !\n" "This message is intended for you, so please do not translate it.\n" @@ -27,22 +27,22 @@ "http://lives-video.com/TRANS-README.txt" msgstr "" -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "" -#: src/main.c:203 +#: src/main.c:197 #, c-format msgid "" "\n" @@ -51,7 +51,7 @@ "Thanks. Recovery should be possible if you restart LiVES.\n" msgstr "" -#: src/main.c:205 +#: src/main.c:199 #, c-format msgid "" "\n" @@ -60,7 +60,7 @@ "distribution, and the LiVES version (%s)\n" msgstr "" -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" @@ -68,104 +68,104 @@ "e tota autra informacion indicada çaijós :\n" "\n" -#: src/main.c:210 +#: src/main.c:204 msgid "" "Please try running LiVES with the -debug option to collect more " "information.\n" "\n" msgstr "" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" "\n" msgstr "" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "Marca posicionada.\n" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "Quin que siá" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "Pas cap" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "recomandat" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "desactivat !" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "**La configuracion actuala**" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "Integrat" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "Personalizat" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "Testar" -#: src/main.c:474 +#: src/main.c:460 #, fuzzy msgid "LiVES: - " msgstr "LiVES: - Union" -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "Requadratge" -#: src/main.c:731 +#: src/main.c:708 #, fuzzy msgid "_Resize All Frames..." msgstr "_Requadra Totes Los Imatges" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "" -#: src/main.c:1122 +#: src/main.c:1094 #, fuzzy msgid "Background" msgstr "_Aviar" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "Cargament dels plugins d'efièches en temps real" -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "Aviada del servidor àudio jack..." -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "" -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "" -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -177,35 +177,35 @@ "Alternatively, try to start lives with either \"lives -jackopts 16\", or " msgstr "" -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "Inicializacion del servidor àudio pulse..." -#: src/main.c:1855 +#: src/main.c:1813 #, fuzzy, c-format msgid "%s...detected... " msgstr "mplayer....detectat..." -#: src/main.c:1856 +#: src/main.c:1814 #, fuzzy, c-format msgid "%s...NOT DETECTED... " msgstr "mplayer...PAS DETECTAT..." -#: src/main.c:1867 +#: src/main.c:1824 #, fuzzy msgid "Checking optional dependencies: " msgstr "Verificacion de las dependéncias opcionalas :" -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -216,68 +216,68 @@ "\n" "Lo gestionari de fenèstras apareis coma essent \"%s\"; " -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "nombre d'ecrans trobats : %d\n" -#: src/main.c:1901 +#: src/main.c:1863 #, c-format msgid "Number of CPUs detected: %d " msgstr "" -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "" -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1927 +#: src/main.c:1889 #, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr "" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "Lo dorsièr temporari es %s\n" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" "Many audio features will be unavailable.\n" msgstr "" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "Compilat amb lo supòrt de jack, plan !\n" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" @@ -286,7 +286,7 @@ "Benvenguda sus LiVES version %s.\n" "\n" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" @@ -295,134 +295,134 @@ "\n" "La sintaxi d'aviada es : %s [opcions] [nomfichièr [start_time] [frames]]\n" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "imatges : nombre maximal d'imatges de dobrir\n" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "opts pòt èsser :\n" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "" -#: src/main.c:2593 +#: src/main.c:2545 msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "-nogui : avia lo programa sens l'interfàcia grafica.\n" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "-startup-mt : aviar en mòde multipista\n" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" msgstr "" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "-nooscstart : aviar pas l'escotador OSC\n" -#: src/main.c:2605 +#: src/main.c:2557 msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " "mplayer2" msgstr "" #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr ", pulse" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr ", sox o jack\n" -#: src/main.c:2613 +#: src/main.c:2565 msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " "transport client,2 = jack transport master, 4 = start jack transport server, " "8 = pause audio when video paused,16 = start jack audio server] \n" msgstr "" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr " o sox\n" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" msgstr "" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "Aviada de l'interfàcia grafica..." -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -433,7 +433,7 @@ "(Maybe you need to change the value of <prefix_dir> in your %s file)\n" msgstr "" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -441,7 +441,7 @@ "Please make sure you have write access to %s and try again.\n" msgstr "" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -450,7 +450,7 @@ "before running LiVES.\n" msgstr "" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -460,7 +460,7 @@ "Please check the file permissions for this file and try again.\n" msgstr "" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -471,7 +471,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -479,7 +479,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2737 +#: src/main.c:2689 #, c-format msgid "" "\n" @@ -489,7 +489,7 @@ "%s" msgstr "" -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -500,56 +500,56 @@ "Thankyou.\n" msgstr "" -#: src/main.c:2751 +#: src/main.c:2703 msgid "" "\n" "LiVES currently requires 'mplayer', 'mplayer2' or 'sox' to function. Please " "install one or other of these, and try again.\n" msgstr "" -#: src/main.c:2756 +#: src/main.c:2708 msgid "" "\n" "LiVES currently requires both 'mplayer' or 'mplayer2' and 'sox' to function. " "Please install these, and try again.\n" msgstr "" -#: src/main.c:2769 +#: src/main.c:2721 msgid "" "\n" "LiVES was unable to locate 'mplayer','mplayer2' or 'mpv'. You may wish to " "install one of these to use LiVES more fully.\n" msgstr "" -#: src/main.c:2775 +#: src/main.c:2727 msgid "" "\n" "LiVES was unable to locate 'mplayer' or 'mplayer2'. You may wish to install " "one of these to use LiVES more fully.\n" msgstr "" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" "magick if you want to use rendered effects.\n" msgstr "" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " "image-magick if you want to use the merge function.\n" msgstr "" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " "should install 'sox'.\n" msgstr "" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -560,96 +560,96 @@ "You may need to change the value of <lib_dir> in %s\n" msgstr "" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "" -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "En cargant automaticament lo set %s..." #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "Lector àudio invalid %s\n" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <Sens títol%d> %dx%d : %d quadres %d bpp %.3f fps" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : ??? quadres ??? bpp %.3f fps" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : %d quadres %d bpp %.3f fps" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "LiVES-%s: <Pas de Fichièr>" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "Legir" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" msgstr "" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "Fichièr Tampat %s\n" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "_Anullar" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "_Restablir" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "Vidèo" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "Àudio Esquèrra" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "Àudio Drecha" -#: src/main.c:7078 +#: src/main.c:6973 msgid "" "\n" "\n" @@ -802,7 +802,7 @@ msgid "Use _mplayer2 audio player" msgstr "Utiliza lo lector audui _mplayer" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "_Seguent" @@ -1011,52 +1011,52 @@ msgid "_Finish" msgstr "Aca_bar" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "" -#: src/interface.c:46 +#: src/interface.c:42 msgid "Apply _Deinterlace" msgstr "" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "" -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "Previsualizacion" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "" -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "" -#: src/interface.c:122 +#: src/interface.c:113 msgid "Click here to _Preview the file" msgstr "" -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 #, fuzzy msgid "Processing..." msgstr "LiVES: - Tractament..." -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1065,8 +1065,8 @@ "Remember to switch off effects (ctrl-0) afterwards !" msgstr "" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" @@ -1074,173 +1074,178 @@ "\n" "Pacientatz SVP" -#: src/interface.c:221 +#: src/interface.c:206 msgid "Show Details" msgstr "" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "_Pro" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "_Previsualizacion" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "Paus_a" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "Pausa/_Pro" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "_Anullar" -#: src/interface.c:334 +#: src/interface.c:324 msgid "Multitrack Details" msgstr "" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "Formatar" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "Talha de l'enquadrament" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "Talha del fichièr" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "FPS" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "Tramas" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "Eveniments" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "Durada totala" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "Àudio" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "Velocitat/talha" -#: src/interface.c:568 +#: src/interface.c:590 #, fuzzy msgid "Encoding Options" msgstr "LiVES: - Opcions d'encodatge" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." msgstr "" -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "Conservar mos reglatges" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "Utilizar los paramètres recomandats" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "_Tampar la fenèstra" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "Enregi_strar dins un fichièr" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "Insercion" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "_Inserís per correspondre al son" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "Inserís _abans la seleccion" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "Inserís aprèp la seleccion" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "" -#: src/interface.c:833 +#: src/interface.c:846 +#, fuzzy +msgid "Insert _with silence" +msgstr "Inserís amb lo _son" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "Inserís amb lo _son" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "Inserís sens lo son" -#: src/interface.c:924 +#: src/interface.c:937 #, fuzzy msgid "Open Selection" msgstr "_Copiar Seleccion" -#: src/interface.c:943 +#: src/interface.c:954 msgid "Selection start time (sec)" msgstr "" -#: src/interface.c:949 +#: src/interface.c:960 msgid "Number of frames to open" msgstr "" -#: src/interface.c:1023 +#: src/interface.c:1029 #, fuzzy msgid "Open Location" msgstr "LiVES: - Dobrir l'emplaçament" -#: src/interface.c:1025 +#: src/interface.c:1031 msgid "Open Youtube Clip" msgstr "" -#: src/interface.c:1045 +#: src/interface.c:1050 msgid "" "\n" "\n" @@ -1250,7 +1255,7 @@ "\n" msgstr "" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1259,70 +1264,70 @@ "\n" msgstr "" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "URL : " -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "" -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "" -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "" -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "" -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr "" -#: src/interface.c:1188 +#: src/interface.c:1189 #, fuzzy msgid "Rename Clip" msgstr "Rotacion" -#: src/interface.c:1190 +#: src/interface.c:1191 #, fuzzy msgid "Enter Set Name to Save as" msgstr "LiVES: - Entrar lo nom dels paramètres" -#: src/interface.c:1192 +#: src/interface.c:1193 #, fuzzy msgid "Enter a Set Name to Reload" msgstr "LiVES: - Entrar lo nom dels paramètres" -#: src/interface.c:1194 +#: src/interface.c:1195 msgid "Choose a Working Directory" msgstr "" -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 msgid "Rename Current Track" msgstr "" -#: src/interface.c:1198 +#: src/interface.c:1199 #, fuzzy msgid "Enter a Name for Your Theme" msgstr "LiVES: - Entrar lo nom dels paramètres" -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1330,7 +1335,7 @@ "LiVES will remind you to save the clip set later when you try to exit.\n" msgstr "" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1350,336 +1355,336 @@ "This should be a directory with plenty of disk space available.\n" msgstr "" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "Nom novèl " -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "Indicar nom " -#: src/interface.c:1257 +#: src/interface.c:1255 #, fuzzy msgid "Theme name " msgstr "Nom novèl " -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "_Avançat" -#: src/interface.c:1437 +#: src/interface.c:1425 msgid "Select input device" msgstr "" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "" -#: src/interface.c:1517 +#: src/interface.c:1505 #, fuzzy msgid "Load CD Track" msgstr "_Cargar una pista CD...." -#: src/interface.c:1519 +#: src/interface.c:1507 #, fuzzy msgid "Select DVD Title/Chapter" msgstr "LiVES:- Selecciona lo títol VCD" -#: src/interface.c:1521 +#: src/interface.c:1509 #, fuzzy msgid "Select VCD Title" msgstr "LiVES:- Selecciona lo títol VCD" -#: src/interface.c:1523 +#: src/interface.c:1511 #, fuzzy msgid "Change Maximum Visible Tracks" msgstr "Nombre maximal de pistas d'afichar" -#: src/interface.c:1525 +#: src/interface.c:1513 msgid "Device details" msgstr "" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "Pista de cargar (de %s)" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "Títol DVD" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "Títol VCD" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "Nombre maximal de pistas d'afichar" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "Capítol " -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "Canal " -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "Àudio ID " -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "Largor" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "Nautor" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "" -#: src/interface.c:1815 +#: src/interface.c:1778 #, fuzzy msgid "Fade Audio In" msgstr "Fondut" -#: src/interface.c:1817 +#: src/interface.c:1780 #, fuzzy msgid "Fade Audio Out" msgstr "Fondut" -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "" -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "primièra" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "" -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "darrièra" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "segondas." -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "seleccion" -#: src/interface.c:1909 +#: src/interface.c:1865 #, fuzzy msgid " (Optional)" msgstr "_Opcions" -#: src/interface.c:1912 +#: src/interface.c:1868 #, fuzzy, c-format msgid "File Comments%s" msgstr "LiVES: - Commentaires Fichier (optionnel)" -#: src/interface.c:1927 +#: src/interface.c:1882 #, fuzzy, c-format msgid "File Name: %s" msgstr "Títol/Nom : " -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "Títol/Nom : " -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "Autor/Artista : " -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "Comentaris : " -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "Percórrer..." -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "_Opcions" -#: src/interface.c:2109 +#: src/interface.c:2058 #, c-format msgid "%sChoose a Device" msgstr "" -#: src/interface.c:2112 +#: src/interface.c:2061 #, c-format msgid "%sChoose a Directory" msgstr "" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2410 +#: src/interface.c:2341 msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" "What do you wish to do ?" msgstr "" -#: src/interface.c:2417 +#: src/interface.c:2348 #, fuzzy msgid "Cancel/Discard/Save" msgstr "LiVES: - Anullar/Contunhar/Salvar" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "_Nom de l'ensemble de clips" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "_Ignòra los cambiaments" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "_Suprimís la disposicion" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "_Salva la disposicion" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "_Salva l'ensemble de clips" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" "Would you like to try and recover it ?\n" msgstr "" -#: src/interface.c:2527 +#: src/interface.c:2455 msgid "Disk Recovery Options" msgstr "" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "" -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "" -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "_Reïnicializar a las valors per defaut" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1687,343 +1692,343 @@ "-----------------------\n" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "ctrl-left" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 #, fuzzy msgid "skip forwards\n" msgstr "Passar cap a la seguenta" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 #, fuzzy msgid "ctrl-down" msgstr "Ctrl-%d" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "ctrl-enter" msgstr "_Autre" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "reset frame rate\n" msgstr "_Quadres" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "" -#: src/interface.c:2723 +#: src/interface.c:2642 msgid "reverse direction\n" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "ctrl-1" msgstr "Ctrl-%d" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "toggle real-time effect 1\n" msgstr "Cargament dels plugins d'efièches en temps real" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "ctrl-2" msgstr "Ctrl-%d" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "toggle real-time effect 2\n" msgstr "Cargament dels plugins d'efièches en temps real" -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 #, fuzzy msgid "ctrl-0" msgstr "Ctrl-%d" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "real-time effects off\n" msgstr "" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "" -#: src/interface.c:2759 +#: src/interface.c:2678 msgid "grab keyboard for last activated effect\n" msgstr "" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2688 msgid "tab" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "" -#: src/interface.c:2785 +#: src/interface.c:2706 msgid "Other playback keys\n" msgstr "" -#: src/interface.c:2789 +#: src/interface.c:2710 msgid "play all\n" msgstr "" -#: src/interface.c:2792 +#: src/interface.c:2713 #, fuzzy msgid "play selection\n" msgstr "seleccion" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "" -#: src/interface.c:2798 +#: src/interface.c:2719 #, fuzzy msgid "fullscreen\n" msgstr "Ecran _complet" -#: src/interface.c:2801 +#: src/interface.c:2722 msgid "separate window\n" msgstr "" -#: src/interface.c:2804 +#: src/interface.c:2725 #, fuzzy msgid "double size\n" msgstr "Talha _Dobla" -#: src/interface.c:2807 +#: src/interface.c:2728 #, fuzzy msgid "ping pong loops\n" msgstr "Pin_g Pong (Lectura Continua)" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "move current track up\n" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "move current track down\n" msgstr "" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "" -#: src/interface.c:2849 +#: src/interface.c:2768 #, fuzzy msgid "select next clip\n" msgstr "Se_leccion" -#: src/interface.c:2852 +#: src/interface.c:2771 msgid "select/deselect current track\n" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "zoom in\n" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "zoom out\n" msgstr "" -#: src/interface.c:2861 +#: src/interface.c:2780 msgid "make a mark on the timeline (during playback)\n" msgstr "" -#: src/interface.c:2864 +#: src/interface.c:2783 msgid "rewind to play start.\n" msgstr "" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "" -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "" -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "" -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -2031,22 +2036,22 @@ "the latest youtube-dl installed.\n" msgstr "" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, c-format msgid "Layouts were removed for set %s.\n" msgstr "" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "Aqueste fichièr" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " msgstr "" -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2056,7 +2061,7 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2066,14 +2071,14 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" "Really close it ?" msgstr "" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" @@ -2081,7 +2086,7 @@ "\n" "Fichièr de projècte invalid.\n" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2094,54 +2099,54 @@ "Once you have done this, you will be able to import the new project.\n" msgstr "" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "Importar lo projècte %s en tant que %s..." -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "importacion del projècte" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "Exportacion del projècte %s..." -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "Exportacion del projècte" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 #, fuzzy msgid "Theme" msgstr "Nom novèl " -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, fuzzy, c-format msgid "Exporting theme as %s..." msgstr "Exportacion del projècte %s..." -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, fuzzy, c-format msgid "Importing theme \"%s\" from %s..." msgstr "Exportacion del projècte %s..." -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, fuzzy, c-format msgid "Backup as %s File" msgstr "Salvar coma fichièr .lv1" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, fuzzy, c-format msgid "Restore %s File" msgstr "Restablir lo fichièr .lv1" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2149,101 +2154,101 @@ "Are you sure ?\n" msgstr "" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "" -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "Supression del set..." -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "Supression del set" -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "Anullacion" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "" -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "Refar" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "" -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, fuzzy, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "Escafament dels imatges %d a %d%s...." -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "Copar" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 msgid "Pulling frames from clipboard" msgstr "" -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "" -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "Empegament" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "" -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " "LiVES.\n" msgstr "" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2252,31 +2257,31 @@ "the 'Trim Audio' function from the Audio menu." msgstr "" -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." msgstr "" -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2284,7 +2289,7 @@ "Clipboard audio has been erased.\n" msgstr "" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2293,81 +2298,81 @@ "using unchanged audio ?\n" msgstr "" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "" -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "Insercion de" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "" -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "" -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "Anullacion" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" "Are you sure ?" msgstr "" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "Escafament dels imatges %d a %d%s...." -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "Supression" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "Levar" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" @@ -2377,7 +2382,7 @@ "\n" "La seleccion es varrolhada.\n" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2385,11 +2390,11 @@ "play.)\n" msgstr "" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2398,7 +2403,7 @@ "%s\n" msgstr "" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2407,7 +2412,7 @@ "The plugin may be broken or not installed correctly." msgstr "" -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2416,22 +2421,22 @@ "Please press 'Cancel' if that is not what you want.\n" msgstr "" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "Salva %s" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "Cargament dels clips dempuèi %s" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2439,24 +2444,24 @@ "Click OK to proceed.\n" msgstr "" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "Netejatge de l'espaci de disc..." -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "" -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "" -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2464,12 +2469,12 @@ "Internal: %s (%d bpp) / %s\n" msgstr "" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." @@ -2477,7 +2482,7 @@ "\n" " Dobertura..." -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" @@ -2486,7 +2491,7 @@ "\n" "(%d virtuals)" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" @@ -2495,7 +2500,7 @@ "\n" "(%d desencodats)" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" @@ -2504,7 +2509,7 @@ "\n" " %.2f seg." -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" @@ -2512,23 +2517,23 @@ "\n" " Desconegut" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "signat" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" @@ -2537,7 +2542,7 @@ " %d Hz %d bit\n" "%s %s" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2554,21 +2559,21 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n" msgstr "" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "" -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" "Launchpad Contributions:\n" " Cédric VALMARY (Tot en òc) https://launchpad.net/~cvalmary" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, c-format msgid "" "LiVES Version %s\n" @@ -2582,14 +2587,14 @@ "Homepage: %s" msgstr "" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 msgid "" "\n" "\n" "You need to install mplayer or mplayer2 to be able to preview this file.\n" msgstr "" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 msgid "" "\n" "\n" @@ -2597,93 +2602,93 @@ "this file.\n" msgstr "" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" "%s\n" msgstr "" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 msgid "Encoder Debug Output" msgstr "" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "Talha simpla (d)" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "Volum àudio (%.2f)" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "Activar l'àudio (z)" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "Desactivar l'àudio (z)" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "" -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 msgid "Load Subtitles" msgstr "" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 #, fuzzy msgid "Select Audio File" msgstr "Escafament del son" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -2691,83 +2696,83 @@ "." msgstr "" -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "" -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "Validacion del son" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "Àudio novèl" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "" -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "Pista CD %d" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "Dobertura de la pista CD...." -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 #, fuzzy msgid "Layout Errors" msgstr "Errors de sortida" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "Contunhar" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "en espèra..." -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "represa..." -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "Conservar" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, c-format msgid "" "\n" @@ -2776,30 +2781,30 @@ "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "Anullar" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "Arrestar" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 #, fuzzy msgid "Selected Frame" msgstr "_Aviar" -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 #, fuzzy msgid "_Save Frame as..." msgstr "_Aviar" -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -2808,7 +2813,7 @@ "\n" msgstr "" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -2816,13 +2821,13 @@ "\n" msgstr "" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" msgstr "" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -2831,17 +2836,17 @@ "\n" msgstr "" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" msgstr "" -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -2851,19 +2856,19 @@ "(Default of %.3f frames per second will be used.)\n" msgstr "" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "" -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "" -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -2872,119 +2877,119 @@ "rate.\n" msgstr "" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "" -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "" -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "Exportacion del son" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 msgid "Append Audio File" msgstr "" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "" -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "" -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "" -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "" -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "Fondut àudio..." -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" "Are you sure ?" msgstr "" -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "" -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "Escafament del son" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "" @@ -2997,877 +3002,877 @@ msgid "Merge Clipboard [ %d Frames ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "Alinhar Fin" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "_Inserir d'Imatges" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "_Ignorar los imatges" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "" -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "Fusion acabada.\n" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "" -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "Efièches Personalizats" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "_Utilitaris Personalizats" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "_Fichièr" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "" -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "Dobrir URL/Stream..." -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "" -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "" -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "" -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "Fichièrs _Recents...." -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "" -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "" -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "" -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "" -#: src/gui.c:692 +#: src/gui.c:674 #, fuzzy, c-format msgid "_Backup Clip as .%s..." msgstr "Salvar coma fichièr .lv1" -#: src/gui.c:701 +#: src/gui.c:683 #, c-format msgid "_Restore Clip from .%s..." msgstr "" -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "_Edicion" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "Mòde multipistas" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "_Copiar Seleccion" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "_Copar Seleccion" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "" -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "" -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "_Seleccionar..." -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "" -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "Primièr Imatge solament" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "_Darrièr Imatge solament" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "_Inversar la seleccion" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "_Lectura" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "_Arrestar" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "Ecran _complet" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "Talha _Dobla" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "Lectura Continua" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "Pin_g Pong (Lectura Continua)" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "_Mut" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "" -#: src/gui.c:1069 +#: src/gui.c:1045 msgid "Letterbox Mode" msgstr "" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "Efièche_s" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "" -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "_Espleches" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "" -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "" -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "" -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "_Utilitaris" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "_Genèra" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "" -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "" -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "_Preferéncias..." -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "_Àudio" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "" -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "_Cargar una pista CD...." -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "Ejectar CD" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "Enregistrament àudio" -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "" -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "" -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "" -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "" -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "" -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "" -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "" -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "" -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "" -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "" -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "" -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "" -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "" -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "" -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "" -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "A_vançat" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "" -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "" -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "" -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "" -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "" -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "" -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "" -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "" -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "" -#: src/gui.c:1397 +#: src/gui.c:1371 msgid "Receive _LiVES Stream from..." msgstr "" -#: src/gui.c:1401 +#: src/gui.c:1375 msgid "_Send LiVES Stream to..." msgstr "" -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "" -#: src/gui.c:1426 +#: src/gui.c:1399 #, fuzzy, c-format msgid "_Import Project (.%s)..." msgstr "importacion del projècte" -#: src/gui.c:1430 +#: src/gui.c:1403 #, fuzzy, c-format msgid "E_xport Project (.%s)..." msgstr "Exportacion del projècte" -#: src/gui.c:1437 +#: src/gui.c:1409 #, fuzzy, c-format msgid "_Import Custom Theme (.%s)..." msgstr "Exportacion del projècte %s..." -#: src/gui.c:1442 +#: src/gui.c:1414 #, fuzzy, c-format msgid "E_xport Theme (.%s)..." msgstr "Exportacion del projècte %s..." -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "" -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "" -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." msgstr "" -#: src/gui.c:1476 +#: src/gui.c:1448 msgid "_Reset All Playback Speeds and Positions" msgstr "" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "" -#: src/gui.c:1480 +#: src/gui.c:1452 msgid "_MIDI/Joystick Interface" msgstr "" -#: src/gui.c:1489 +#: src/gui.c:1461 msgid "_MIDI/Joystick Learner..." msgstr "" -#: src/gui.c:1493 +#: src/gui.c:1465 msgid "_Save Device Mapping..." msgstr "" -#: src/gui.c:1497 +#: src/gui.c:1469 msgid "_Load Device Mapping..." msgstr "" -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "_Pas cap" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "_Ajuda" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 msgid "_Donate to the Project !" msgstr "" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 msgid "_Email the Author" msgstr "" -#: src/gui.c:1547 +#: src/gui.c:1519 msgid "Report a _Bug" msgstr "" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 msgid "Suggest a _Feature" msgstr "" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 msgid "Assist with _Translating" msgstr "" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "_Depanatge" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "_A prepaus" -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "Volum" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." msgstr "" #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr "" -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr "" -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "_Liure" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "_Aviar" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "Retorn rapid" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr "" -#: src/gui.c:3613 +#: src/gui.c:3553 #, fuzzy msgid "Streaming" msgstr "Sòmi" -#: src/gui.c:3615 +#: src/gui.c:3555 #, fuzzy, c-format msgid "Play Window%s" msgstr "LiVES: - Fenèstra de Lectura" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "" -#: src/gui.c:4199 +#: src/gui.c:4127 #, c-format msgid "'LiVES opened the file' '%s'" msgstr "" -#: src/gui.c:4220 +#: src/gui.c:4146 #, fuzzy, c-format msgid "'LiVES closed the file' '%s'" msgstr "Fichièr Tampat %s\n" @@ -3877,11 +3882,11 @@ msgid "Mapped to ctrl-%d" msgstr "" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "Efièches" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "" @@ -3895,11 +3900,11 @@ msgid "Select clip for %s\n" msgstr "" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "" @@ -3944,11 +3949,11 @@ msgid "%d bytes" msgstr "" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -3956,81 +3961,81 @@ "Switched to clip %s\n" msgstr "" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" "Switched to empty clip\n" msgstr "" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " "updated accordingly\n" msgstr "" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -4038,7 +4043,7 @@ "by another copy of LiVES.\n" msgstr "" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -4046,39 +4051,39 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2188 +#: src/utils.c:2207 #, c-format msgid "" "\n" "%s names may not be blank.\n" msgstr "" -#: src/utils.c:2196 +#: src/utils.c:2215 #, c-format msgid "" "\n" "%s names may not be longer than %d characters.\n" msgstr "" -#: src/utils.c:2204 +#: src/utils.c:2223 #, c-format msgid "" "\n" "%s names may not contain spaces or the characters%s.\n" msgstr "" -#: src/utils.c:2213 +#: src/utils.c:2232 #, c-format msgid "" "\n" "%s names may not start with a '.' or contain '..'\n" msgstr "" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4086,72 +4091,72 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "" -#: src/utils.c:3492 +#: src/utils.c:3548 msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "" -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4161,29 +4166,29 @@ "Overwrite ?\n" msgstr "" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "_Anullar %s" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "_Restablir %s" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr "" -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr "" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4208,7 +4213,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr "" @@ -4309,7 +4314,7 @@ msgstr "" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "" @@ -4363,12 +4368,12 @@ msgid "Recording performance..." msgstr "" -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4377,21 +4382,21 @@ "and resize all frames to the current size.\n" msgstr "" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "Desconegut" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4399,13 +4404,13 @@ "%s\n" msgstr "" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" msgstr "" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4413,7 +4418,7 @@ "Bad things may happen with this clip.\n" msgstr "" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4421,73 +4426,73 @@ "Default can be set in Tools | Preferences | Misc.\n" msgstr "" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, fuzzy, c-format msgid " - Author: %s\n" msgstr "Autor : %s" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, c-format msgid " - Title: %s\n" msgstr "" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr "" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "" -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "" -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "" -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -4535,62 +4540,62 @@ msgid "Recovering files..." msgstr "" -#: src/dialogs.c:87 +#: src/dialogs.c:83 #, fuzzy msgid "Show affeced _layouts" msgstr "_Salva la disposicion" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" msgstr "" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr "" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 #, fuzzy msgid "Warning !" msgstr "Avertiments" -#: src/dialogs.c:198 +#: src/dialogs.c:186 #, fuzzy msgid "Error !" msgstr "$error" -#: src/dialogs.c:208 +#: src/dialogs.c:196 #, fuzzy msgid "Information" msgstr "LiVES: - Dobrir l'emplaçament" -#: src/dialogs.c:234 +#: src/dialogs.c:221 msgid "Question" msgstr "" -#: src/dialogs.c:248 +#: src/dialogs.c:235 #, fuzzy msgid "File Error" msgstr "$error" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "Veire Los _Detalhs" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -4601,7 +4606,7 @@ "(Disk warning levels can be configured in Preferences.)" msgstr "" -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -4613,11 +4618,11 @@ "Preferences.)" msgstr "" -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "" -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -4625,46 +4630,46 @@ "Please try closing some other applications first.\n" msgstr "" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "" -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" "%s%d%% done. Time remaining: %u sec%s\n" msgstr "" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" "%d/%d frames opened. Time remaining %u sec.\n" msgstr "" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" "%d/%d frames opened.\n" msgstr "" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" "%d frames opened.\n" msgstr "" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" "Time remaining: %d sec" msgstr "" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -4672,7 +4677,7 @@ "Please close a file and then try again." msgstr "" -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -4684,47 +4689,47 @@ "Please make sure you can write to this directory." msgstr "" -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 msgid "" "\n" "LiVES currently requires either 'mplayer', 'mplayer2', or 'sox' to function. " "Please install one or other of these, and try again.\n" msgstr "" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 msgid "" "\n" "This function requires either mplayer or mplayer2 to operate.\n" "You may wish to install one or other of these and try again.\n" msgstr "" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 msgid "" "\n" "This function requires either mplayer, mplayer2 or mpv to operate.\n" "You may wish to install one or other of these and try again.\n" msgstr "" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" "Or switch to another encoder format in Tools | Preferences | Encoding\n" msgstr "" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -4732,19 +4737,19 @@ "Please set the audio codec in Tools|Preferences|Encoding\n" msgstr "" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -4752,83 +4757,83 @@ "Due to restrictions in the %s format\n" msgstr "" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" msgstr "" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr "" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr "" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr "" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr "" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" msgstr "" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -4837,14 +4842,14 @@ "\n" msgstr "" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" "\n" msgstr "" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -4853,7 +4858,7 @@ "Try recording for just a selection of the file." msgstr "" -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -4864,7 +4869,7 @@ "Please press Cancel to abort the insert, or OK to continue." msgstr "" -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -4877,18 +4882,18 @@ "click Cancel." msgstr "" -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " "in your %s file" msgstr "" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -4899,25 +4904,25 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 msgid "" "Sorry, unknown audio type.\n" "\n" " (Filenames must end in" msgstr "" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" "(They will not be usable without the set).\n" msgstr "" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -4926,7 +4931,7 @@ "Click Cancel to pick a new name.\n" msgstr "" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -4934,7 +4939,7 @@ "." msgstr "" -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -4942,7 +4947,7 @@ "." msgstr "" -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -4953,7 +4958,7 @@ "Otherwise click Cancel to skip loading this file.\n" msgstr "" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -4963,7 +4968,7 @@ "The clip could not be loaded.\n" msgstr "" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -4971,7 +4976,7 @@ "Alternately, select a different audio player in Preferences.\n" msgstr "" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -4980,13 +4985,13 @@ "Automatic jack startup will be disabled now.\n" msgstr "" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" msgstr "" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -4997,13 +5002,13 @@ "%s\n" msgstr "" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" msgstr "" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -5013,7 +5018,7 @@ "It is recommended to increase it to at least %d MB" msgstr "" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -5022,7 +5027,7 @@ "Do you wish to delete them ?\n" msgstr "" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -5030,7 +5035,7 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -5038,81 +5043,81 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" msgstr "" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" msgstr "" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" "You can set this in Tools|Preferences|Playback." msgstr "" -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" "Should I try to repair the disk copy of the layout ?\n" msgstr "" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" msgstr "" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" "Audio rate must be greater than 0.\n" msgstr "" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5120,14 +5125,14 @@ "Are you sure you wish to view it ?\n" msgstr "" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" "You must install 'dvgrab' to use this function.\n" msgstr "" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5136,25 +5141,25 @@ "You may need to select one of these in Tools/Preferences/Playback.\n" msgstr "" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" msgstr "" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5163,33 +5168,33 @@ "echo %d > /proc/sys/net/core/rmem_max\n" msgstr "" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "acabat.\n" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -5199,7 +5204,7 @@ "%s%s%s" msgstr "" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -5209,7 +5214,7 @@ "%s" msgstr "" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -5219,7 +5224,7 @@ "%s" msgstr "" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -5228,7 +5233,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -5238,7 +5243,7 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -5247,7 +5252,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -5257,12 +5262,12 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "" -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -5271,7 +5276,7 @@ "Please check your system for errors.\n" msgstr "" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -5280,7 +5285,7 @@ "Please check the file permissions and try again." msgstr "" -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -5289,7 +5294,7 @@ "Please check the directory permissions and try again." msgstr "" -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, c-format msgid "" "\n" @@ -5297,14 +5302,14 @@ "%s\n" msgstr "" -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -5312,13 +5317,13 @@ "Please select another encoder from the list.\n" msgstr "" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" msgstr "" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -5328,27 +5333,27 @@ "- Check if the device actually exists.\n" msgstr "" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" "Do you wish to overwrite the existing subtitles ?\n" msgstr "" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 msgid "" "\n" "LiVES currently only supports subtitles of type" msgstr "" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -5357,14 +5362,14 @@ "or OK to continue and save as type \"%s\"\n" msgstr "" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" "(If unsure, click Yes)\n" msgstr "" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -5375,19 +5380,19 @@ "." msgstr "" -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" msgstr "" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" msgstr "" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -5395,7 +5400,7 @@ "DO NOT SHUT DOWN OR CLOSE LIVES !\n" msgstr "" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, c-format msgid "" "\n" @@ -5403,14 +5408,14 @@ "The theme could not be loaded correctly.\n" msgstr "" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" "Please check the spelling of the set name and try again.\n" msgstr "" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -5419,7 +5424,7 @@ "directory. Would you like me to do this (recommended) ?" msgstr "" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -5431,7 +5436,7 @@ msgstr "" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -5440,38 +5445,38 @@ "\n" msgstr "" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" "Consult your package distributor.\n" msgstr "" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" msgstr "" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, c-format msgid "" "\n" @@ -5480,7 +5485,7 @@ "(Theme name not found).\n" msgstr "" -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -5489,7 +5494,7 @@ "already exists. Would you like to overwrite it ?\n" msgstr "" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -5630,7 +5635,7 @@ msgid "Video only Transitions" msgstr "" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "" @@ -5638,7 +5643,7 @@ msgid "Audio only Transitions" msgstr "" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "àudio" @@ -5682,7 +5687,7 @@ msgid "Audio Analysers" msgstr "" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "desconegut" @@ -5737,360 +5742,360 @@ "No frames were generated.\n" msgstr "" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 msgid "Invalid element" msgstr "" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 #, fuzzy msgid "Invalid property" msgstr "" "\n" "Fichièr de projècte invalid.\n" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 msgid "Invalid plugin" msgstr "" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 #, fuzzy msgid "No error" msgstr "$error" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 msgid "integer" msgstr "" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 msgid "string" msgstr "" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 msgid "pointer" msgstr "" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" "Error was: %s\n" msgstr "" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr "" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, c-format msgid "Successfully loaded %d compound filters\n" msgstr "" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, c-format msgid "Failed to start generator %s (%s)\n" msgstr "" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 msgid "Autoscale" msgstr "" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 msgid "Delete this connection" msgstr "" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, c-format msgid "%s - Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, c-format msgid "%s - Parameter Data Connections" msgstr "" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 msgid "Parameter and Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 msgid "Auto Connect Channels" msgstr "" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 msgid "Auto Connect Parameters" msgstr "" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "" -#: src/framedraw.c:241 +#: src/framedraw.c:242 msgid "_Frame" msgstr "" @@ -6134,40 +6139,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "_Nautor" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "" -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -6233,32 +6238,32 @@ "\n" msgstr "" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "" -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -6267,7 +6272,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -6277,31 +6282,31 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" "Error was: %s\n" msgstr "" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " "***\n" msgstr "" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -6310,7 +6315,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -6319,7 +6324,7 @@ "or switch to another plugin using Tools|Preferences|Encoding\n" msgstr "" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, c-format msgid "" "\n" @@ -6327,12 +6332,12 @@ "No decoders found in %s !\n" msgstr "" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, fuzzy, c-format msgid " using %s" msgstr "Dobertura de %s" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -6341,7 +6346,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -6351,24 +6356,24 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "" -#: src/plugins.c:2556 +#: src/plugins.c:2550 msgid "Decoder Plugins" msgstr "" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "" @@ -6567,20 +6572,20 @@ msgid "Move _Down" msgstr "Desplaçar cap a_val" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 #, fuzzy msgid "RFX Properties" msgstr "_Proprietats..." -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -6589,7 +6594,7 @@ "\n" msgstr "" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -6597,219 +6602,219 @@ "Please check the trigger code.\n" msgstr "" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 msgid "New RFX Parameter" msgstr "" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 msgid "Edit RFX Parameter" msgstr "" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "" -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "" -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "" -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." msgstr "" -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "" -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "" -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "" -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "" -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "" -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "" -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "" -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "" -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "" -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr "" -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "" -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 msgid "_Wrap value" msgstr "" -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "" -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "" -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "" -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "" -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "" -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 msgid "New RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 msgid "Edit RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "" -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "" -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "" -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "" -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "" -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "" -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "" -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 msgid "New RFX Trigger" msgstr "" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 msgid "Edit RFX Trigger" msgstr "" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "" -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 msgid "Pre Loop Code" msgstr "" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 msgid "Loop Code" msgstr "" -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 msgid "Post Loop Code" msgstr "" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, c-format msgid "Default text (max length %d)" msgstr "" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 msgid "Enter values, one per line" msgstr "" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" "Name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" "Name must not contain spaces.\n" msgstr "" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" "Menu text must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" "Action description must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" "Author must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -6817,28 +6822,28 @@ "Name must be unique.\n" msgstr "" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" "Loop code should not be blank.\n" msgstr "" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" "Trigger code should not be blank for a utility.\n" msgstr "" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" "Parameter name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -6847,41 +6852,41 @@ "\n" msgstr "" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "" -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -6891,27 +6896,27 @@ "\n" msgstr "" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "" -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "" -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "" -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "" -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -6920,7 +6925,7 @@ "Please check this program is in your path and executable.\n" msgstr "" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -6930,12 +6935,12 @@ "\n" msgstr "" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "" -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -6945,7 +6950,7 @@ "Error code was %d\n" msgstr "" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -6955,12 +6960,12 @@ "Please delete it first, or rename the test script.\n" msgstr "" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "" -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -6971,22 +6976,22 @@ "Return code was %d (%s)\n" msgstr "" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 #, fuzzy msgid "Export Script" msgstr "Exportacion del projècte" -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "" -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 #, fuzzy msgid "Import Script" msgstr "importacion del projècte" -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -6996,43 +7001,43 @@ "Please delete it first, or rename the import script.\n" msgstr "" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 msgid "Copy RFX Script" msgstr "" -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "" -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr "" -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 msgid "Rename Test RFX Script" msgstr "" -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "" -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 msgid "RFX Script Name" msgstr "" -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "" -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "" -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "" -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -7040,12 +7045,12 @@ "Script name must be unique.\n" msgstr "" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "" -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -7056,25 +7061,25 @@ "Return code was %d\n" msgstr "" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 msgid "Applying Current Real Time Effects to" msgstr "" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "" -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "" -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -7082,7 +7087,7 @@ "full screen, separate window (fs) mode\n" msgstr "" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -7090,7 +7095,7 @@ "(Free space = UNKNOWN)" msgstr "" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -7099,14 +7104,14 @@ "(Free space = %s)" msgstr "" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" "It should be in a partition with plenty of free disk space.\n" msgstr "" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7117,7 +7122,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7127,7 +7132,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1193 +#: src/preferences.c:1163 msgid "" "You have chosen to change the working directory.\n" "Please make sure you have no other copies of LiVES open.\n" @@ -7139,7 +7144,7 @@ "setting." msgstr "" -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, c-format msgid "" "\n" @@ -7148,13 +7153,13 @@ "See %s\n" msgstr "" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" msgstr "" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, c-format msgid "" "\n" @@ -7163,919 +7168,919 @@ "See %s\n" msgstr "" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "" -#: src/preferences.c:2468 +#: src/preferences.c:2418 #, fuzzy msgid "Preferences" msgstr "_Preferéncias..." -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "" -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr "" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr "" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." msgstr "" -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "Interfàcia grafica" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr "" -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "segondas" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "Pas _jamai" -#: src/preferences.c:2872 +#: src/preferences.c:2757 #, fuzzy msgid "Maximum number of visible tracks" msgstr "Nombre maximal de pistas d'afichar" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "" -#: src/preferences.c:2925 +#: src/preferences.c:2804 msgid "Video open command (fallback)" msgstr "" -#: src/preferences.c:2935 +#: src/preferences.c:2811 msgid "Fallback image format" msgstr "" -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "_jpeg" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "_png" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "" -#: src/preferences.c:2964 +#: src/preferences.c:2832 msgid "Open/render compression" msgstr "" -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr "" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "" -#: src/preferences.c:2995 +#: src/preferences.c:2856 msgid "Automatic trimming / padding of audio when possible" msgstr "" -#: src/preferences.c:2997 +#: src/preferences.c:2858 msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "VIDÈO" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "ÀUDIO" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "" -#: src/preferences.c:3269 +#: src/preferences.c:3110 msgid "Source:" msgstr "" -#: src/preferences.c:3273 +#: src/preferences.c:3114 msgid "_Internal" msgstr "" -#: src/preferences.c:3278 +#: src/preferences.c:3119 msgid "_External (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "Lectura" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" msgstr "" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr "" -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "Gio" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "Enregistrament" -#: src/preferences.c:3454 +#: src/preferences.c:3273 msgid "You can also change these values when encoding a clip" msgstr "" -#: src/preferences.c:3466 +#: src/preferences.c:3285 msgid "Encoder" msgstr "" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "Format de sortida" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "Encodatge" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." msgstr "" -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr "" -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr "" -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr "" -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr "" -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr "" -#: src/preferences.c:3649 +#: src/preferences.c:3461 msgid " Working directory (do not remove) " msgstr "" -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "" -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "" -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "Repertòris" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "" -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr "" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "" -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" msgstr "" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "" -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr " Mo" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "" -#: src/preferences.c:3872 +#: src/preferences.c:3659 msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " "when LiVES is started." msgstr "" -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "" -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "" -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "" -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "" -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "" -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "" -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "" -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "" -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "" -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "" -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "" -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "" -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "" -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "" -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." msgstr "" -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "" -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "" -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "" -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "" -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "" -#: src/preferences.c:4113 +#: src/preferences.c:3865 msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "" -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "Avertiments" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "" -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "" -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "" -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "Divèrs" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "" -#: src/preferences.c:4242 +#: src/preferences.c:3977 msgid "Main Theme Details" msgstr "" -#: src/preferences.c:4254 +#: src/preferences.c:3988 #, fuzzy msgid " _Foreground Color" msgstr "_Aviar" -#: src/preferences.c:4273 +#: src/preferences.c:4007 #, fuzzy msgid " _Background Color" msgstr "_Aviar" -#: src/preferences.c:4291 +#: src/preferences.c:4026 #, fuzzy msgid "_Alt Foreground Color" msgstr "_Aviar" -#: src/preferences.c:4309 +#: src/preferences.c:4044 #, fuzzy msgid "_Alt Background Color" msgstr "_Aviar" -#: src/preferences.c:4327 +#: src/preferences.c:4062 msgid " Info _Text Color" msgstr "" -#: src/preferences.c:4346 +#: src/preferences.c:4081 msgid " Info _Base Color" msgstr "" -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "" -#: src/preferences.c:4365 +#: src/preferences.c:4100 msgid "Affects some contrast details of the timeline" msgstr "" -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "" -#: src/preferences.c:4398 +#: src/preferences.c:4132 #, fuzzy msgid "Frame blank image" msgstr "imatges" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "" -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4474 +#: src/preferences.c:4203 msgid "Track background (multitrack)" msgstr "" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "" -#: src/preferences.c:4529 +#: src/preferences.c:4258 msgid "Timeline selection (multitrack)" msgstr "" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "" -#: src/preferences.c:4553 +#: src/preferences.c:4282 msgid "Timecode foreground (multitrack)" msgstr "" -#: src/preferences.c:4565 +#: src/preferences.c:4293 #, fuzzy msgid "Frame surround" msgstr "segondas" -#: src/preferences.c:4582 +#: src/preferences.c:4306 #, fuzzy msgid "Themes/Colors" msgstr "Tèmas" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "" -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "" -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" msgstr "" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" msgstr "" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "" -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "Avançat" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." msgstr "" -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "" -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -8083,41 +8088,41 @@ "Click OK to continue.\n" msgstr "" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." msgstr "" -#: src/preferences.c:5525 +#: src/preferences.c:5205 msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "" -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "" -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "" @@ -8140,156 +8145,156 @@ msgid "Resample/Resize" msgstr "" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" "New rate must be greater than 0\n" msgstr "" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "" -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "" -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "" -#: src/resample.c:1208 +#: src/resample.c:1209 #, fuzzy msgid "New Clip Audio" msgstr "Àudio novèl" -#: src/resample.c:1210 +#: src/resample.c:1211 msgid "External Clip Settings" msgstr "" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "Actual" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "" -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 msgid "Channels" msgstr "" -#: src/resample.c:1256 +#: src/resample.c:1257 msgid "Sample Size " msgstr "" -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "Pas signat" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "" -#: src/resample.c:1322 +#: src/resample.c:1323 #, fuzzy msgid "New Audio Details" msgstr "Àudio novèl" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "Novèl" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "" -#: src/resample.c:1369 +#: src/resample.c:1370 msgid "_Channels" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "_Sample Size" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "Sample Size" msgstr "" -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "" -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "" -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr "" -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr "" -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr "" -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "Illimitat" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "" -#: src/resample.c:1635 +#: src/resample.c:1636 msgid "Change Playback Speed" msgstr "" -#: src/resample.c:1637 +#: src/resample.c:1638 msgid "Resample Video" msgstr "" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -8300,7 +8305,7 @@ "in _frames per second" msgstr "" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -8311,80 +8316,80 @@ "in frames per second" msgstr "" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" "LiVES was unable to reorder the frames." msgstr "" -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "" @@ -8614,7 +8619,7 @@ msgid "Mode active" msgstr "" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "Info" @@ -8736,54 +8741,54 @@ msgid "Opened firewire card %d" msgstr "" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, c-format msgid "%s : parameters for %s" msgstr "" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "%.2f seg.\n" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "Font : %s" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." msgstr "" -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -8792,7 +8797,7 @@ "right or double clicking on it.\n" msgstr "" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -8800,14 +8805,14 @@ "Select an effect in FX stack first to view its parameters.\n" msgstr "" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" "No clips loaded.\n" msgstr "" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -8817,7 +8822,7 @@ "before inserting clips into the timeline." msgstr "" -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -8826,188 +8831,188 @@ "to apply compositors.\n" msgstr "" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" msgstr "" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" msgstr "" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr "" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 #, fuzzy msgid "Selected Clip" msgstr "Se_leccion" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 msgid "_Adjust Start and End Points" msgstr "" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 msgid "_Edit/Encode in Clip Editor" msgstr "" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 #, fuzzy msgid "_Show Clip Information" msgstr "LiVES: - Dobrir l'emplaçament" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 msgid "_Close this Clip" msgstr "" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 msgid "Audio Mixer (ctrl-m)" msgstr "" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "" -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "" -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "" -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "" -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "" -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "" -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "" -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "" -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "" -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "Suprimir %s" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "" -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "" -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " "audio rate %d, audio sample size %d, %s.\n" msgstr "" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -9017,7 +9022,7 @@ "then load in the new set from the File menu.\n" msgstr "" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -9025,604 +9030,604 @@ "It cannot be loaded.\n" msgstr "" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "" -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "_Dobrir..." -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "" -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "" -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 #, fuzzy msgid "_Close the Selected Clip" msgstr "Se_leccion" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 #, fuzzy msgid "_Save Layout as..." msgstr "_Salva la disposicion" -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 msgid "_Load Layout..." msgstr "" -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 #, fuzzy msgid "_Wipe/Delete Layout..." msgstr "_Suprimís la disposicion" -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "" -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 msgid "Auto Load _Subtitles with Clips" msgstr "" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 msgid "_Adjust Selected Clip Start/End Points" msgstr "" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 #, fuzzy msgid "_Insert Selected Clip Audio" msgstr "_Inversar la seleccion" -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 #, fuzzy msgid "_Delete Selected Block" msgstr "Tot _suprimir" -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 msgid "_Jump to Previous Block Boundary" msgstr "" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 msgid "_Jump to Next Block Boundary" msgstr "" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 msgid "Clear _Marks from Timeline" msgstr "" -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 msgid "Ignore Selection Limits when Inserting" msgstr "" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 msgid "Pla_y Selected Time Only" msgstr "" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 msgid "_Move Effects with Blocks" msgstr "" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 msgid "Select _Autotransition Effect..." msgstr "" -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 msgid "Crossfade Audio with Autotransition" msgstr "" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 msgid "View/_Edit Selected Effect" msgstr "" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 msgid "_Delete Selected Effect" msgstr "" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 msgid "Apply Effect to _Block..." msgstr "" -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 msgid "Apply Effect to _Region..." msgstr "" -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 msgid "Make _Backing Audio Current Track" msgstr "" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 msgid "_Split Current Track at Cursor" msgstr "" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 msgid "_Split Selected Video Tracks" msgstr "" -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 msgid "Insert Gap in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 msgid "Insert Gap in Current Track/Selected Time" msgstr "" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 msgid "Close All _Gaps in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "Se_leccion" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 msgid "Select _All Video Tracks" msgstr "" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 msgid "Select _No Video Tracks" msgstr "" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 #, fuzzy msgid "Select All _Time" msgstr "LiVES:- Selecciona lo títol VCD" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 msgid "Select from _Zero Time" msgstr "" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 #, fuzzy msgid "Select to _End Time" msgstr "LiVES:- Selecciona lo títol VCD" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "_Copiar..." -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 msgid "_Timecode to Region Start" msgstr "" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 msgid "_Timecode to Region End" msgstr "" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 msgid "_Region Start to Timecode" msgstr "" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 msgid "_Region End to Timecode" msgstr "" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 msgid "Select/Deselect Block at Current Track/Time" msgstr "" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 msgid "_Change Width, Height and Audio Values..." msgstr "" -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 msgid "_Render All to New Clip" msgstr "" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 msgid "Render _Video" msgstr "" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 #, fuzzy msgid "Render _Audio" msgstr "Àudio novèl" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 msgid "_Normalise Rendered Audio" msgstr "" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 msgid "_Pre-render Audio" msgstr "" -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "_Afichatge" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 msgid "Block _In/Out Points" msgstr "" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 msgid "_Effects at Current" msgstr "" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 #, fuzzy msgid "Audio Parameters" msgstr "Tramas" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 msgid "Show Backing _Audio Track" msgstr "" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 msgid "Compact View" msgstr "" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 #, fuzzy msgid "Maximum Tracks to Display..." msgstr "Nombre maximal de pistas d'afichar" -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 msgid "Scroll to Follow Playback" msgstr "" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 msgid "_Center on Cursor" msgstr "" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 msgid "_Zoom In" msgstr "" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 msgid "_Zoom Out" msgstr "" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 msgid "Multitrack _Details" msgstr "" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 msgid "_Show FRAME Events" msgstr "" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 msgid "_Show Multitrack Keys" msgstr "" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 #, fuzzy msgid "Insert With _Audio" msgstr "_Inserís per correspondre al son" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 #, fuzzy msgid "Select _Overlap" msgstr "Se_leccion" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" msgstr "" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 msgid "Mouse Mode: _Move" msgstr "" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 msgid "Mouse Mode: _Select" msgstr "" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 msgid "Insert Mode: _Normal" msgstr "" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "_Aplicar" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "Ora" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "" -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "" -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "Desfilament" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" "Switched to Clip Edit mode\n" msgstr "" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr "" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr "" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "Vidèo %d" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr " %s" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 msgid "Selected Effect" msgstr "" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 msgid "_View/Edit this Effect" msgstr "" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 msgid "_View this Effect" msgstr "" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 msgid "_Delete this Effect" msgstr "" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr "" -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "%.2f seg." -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" "Switched to Multitrack mode\n" msgstr "" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" "Nodes can be deleted." msgstr "" -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -9630,31 +9635,31 @@ "current time.\n" msgstr "" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." msgstr "" -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 msgid "Selected Block/Frame" msgstr "" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 #, fuzzy msgid "_Select this Block" msgstr "" @@ -9662,258 +9667,258 @@ "\n" "La seleccion es varrolhada.\n" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 msgid "_Split Block Here" msgstr "" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 #, fuzzy msgid "List _Effects Here" msgstr "Efièches Personalizats" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 #, fuzzy msgid "_Delete this Block" msgstr "_Suprimís la disposicion" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 #, fuzzy msgid "_Insert Here" msgstr "_Inserir d'Imatges" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 #, fuzzy msgid "_Insert Audio Here" msgstr "_Inserís per correspondre al son" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" msgstr "" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "Netejatge..." -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "_Pausa" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "Pausa (p)" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " "to %.4f\n" msgstr "" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" "selected.\n" msgstr "" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" msgstr "" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." msgstr "" -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." msgstr "" -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." msgstr "" -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" msgstr "" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" msgstr "" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" msgstr "" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "" -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "" -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" msgstr "" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 #, fuzzy msgid "Saving layout" msgstr "_Salva la disposicion" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "imatges" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" msgstr "" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -9921,74 +9926,74 @@ "Therefore it could not be loaded properly.\n" msgstr "" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" "Unable to load layout file %s\n" msgstr "" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "" -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "" -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 msgid "" "The current layout has changes which have not been saved.\n" "Are you sure you wish to wipe it ?\n" msgstr "" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 msgid "Multitrack Audio Mixer" msgstr "" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" msgstr "" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "" @@ -10014,7 +10019,7 @@ "Connection to jack audio was reset.\n" msgstr "" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10022,7 +10027,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10030,7 +10035,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:104 +#: src/pulse.c:105 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10038,27 +10043,27 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" msgstr "" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" msgstr "" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr ""
View file
LiVES-2.8.4.tar.bz2/po/pl.po -> LiVES-2.8.6.tar.bz2/po/pl.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: lives\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" "PO-Revision-Date: 2013-03-14 12:31+0000\n" "Last-Translator: Launchpad Translations Administrators <Unknown>\n" "Language-Team: Polish <pl@li.org>\n" @@ -18,7 +18,7 @@ "X-Launchpad-Export-Date: 2013-03-28 10:56+0000\n" "X-Generator: Launchpad (build 16546)\n" -#: src/main.c:132 +#: src/main.c:125 msgid "" "Attention Translators !\n" "This message is intended for you, so please do not translate it.\n" @@ -27,22 +27,22 @@ "http://lives-video.com/TRANS-README.txt" msgstr "" -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "%s Ostrzeżenie: %s\n" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "%s Błąd krytyczny: %s\n" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "" -#: src/main.c:203 +#: src/main.c:197 #, fuzzy, c-format msgid "" "\n" @@ -56,7 +56,7 @@ "group_id=64341&atid=507139\n" "Dzięki. Odzyskiwanie powinno być możliwe po uruchomieniu życia.\n" -#: src/main.c:205 +#: src/main.c:199 #, fuzzy, c-format msgid "" "\n" @@ -69,7 +69,7 @@ "Przy zgłaszaniu awarii, należy podać szczegółowe informacje na temat systemu " "operacyjnego, dystrybucję i wersję LiVES (" -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" @@ -77,7 +77,7 @@ "oraz wszelkie informacje poniżej:\n" "\n" -#: src/main.c:210 +#: src/main.c:204 #, fuzzy msgid "" "Please try running LiVES with the -debug option to collect more " @@ -88,7 +88,7 @@ "więcej informacji.\n" "\n" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" @@ -98,90 +98,90 @@ "więcej informacji.\n" "\n" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "Dowolny" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "Brak" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "zalecane" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "niepełnosprawnych !" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "**Obecny układ**" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "Wbudowane" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "Własne" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "Przetestuj" -#: src/main.c:474 +#: src/main.c:460 #, fuzzy msgid "LiVES: - " msgstr "LiVES: - Wstaw" -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "Skalowanie" -#: src/main.c:731 +#: src/main.c:708 #, fuzzy msgid "_Resize All Frames..." msgstr "_Skaluj Wszystkie Klatki" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "" -#: src/main.c:1122 +#: src/main.c:1094 #, fuzzy msgid "Background" msgstr "_Uruchom" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "" -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "" -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "" -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "" -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -193,35 +193,35 @@ "Alternatively, try to start lives with either \"lives -jackopts 16\", or " msgstr "" -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "Uruchamianie serwera pulse audio" -#: src/main.c:1855 +#: src/main.c:1813 #, fuzzy, c-format msgid "%s...detected... " msgstr "mplayer... wykryto..." -#: src/main.c:1856 +#: src/main.c:1814 #, fuzzy, c-format msgid "%s...NOT DETECTED... " msgstr "mplayer...NIE WYKRYTO..." -#: src/main.c:1867 +#: src/main.c:1824 #, fuzzy msgid "Checking optional dependencies: " msgstr "Sprawdzanie zależności opcjonalne:" -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -232,68 +232,68 @@ "\n" "Sprawozdania Menedżer okien jako \"%s\"; " -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "liczba wykrytych monitorów: %d\n" -#: src/main.c:1901 +#: src/main.c:1863 #, c-format msgid "Number of CPUs detected: %d " msgstr "" -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "" -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1927 +#: src/main.c:1889 #, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr "" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "Katalog tymczasowy jest %s\n" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" "Many audio features will be unavailable.\n" msgstr "" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "Skompilowane z obsługą jack, dobre !\n" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" @@ -302,141 +302,141 @@ "Zapraszamy do LiVES wersja %s.\n" "\n" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" "Startup syntax is: %s [opts] [filename [start_time] [frames]]\n" msgstr "" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "frames : maksymalna liczba klatek, aby otworzyć\n" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "opts może to być:\n" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "-help : pokaż ten tekst pomocy i wyjścia\n" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "-noset : nie ładuje żadnych ustawić na starcie\n" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "" -#: src/main.c:2593 +#: src/main.c:2545 msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "-nogui : nie wykazują gui\n" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "-startup-ce : uruchamia się w trybie edytor wideo\n" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" msgstr "" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "" -#: src/main.c:2605 +#: src/main.c:2557 msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " "mplayer2" msgstr "" #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr ", pulse" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr "" -#: src/main.c:2613 +#: src/main.c:2565 msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " "transport client,2 = jack transport master, 4 = start jack transport server, " "8 = pause audio when video paused,16 = start jack audio server] \n" msgstr "" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr "" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" msgstr "" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "" -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -447,7 +447,7 @@ "(Maybe you need to change the value of <prefix_dir> in your %s file)\n" msgstr "" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -455,7 +455,7 @@ "Please make sure you have write access to %s and try again.\n" msgstr "" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -464,7 +464,7 @@ "before running LiVES.\n" msgstr "" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -474,7 +474,7 @@ "Please check the file permissions for this file and try again.\n" msgstr "" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -485,7 +485,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -493,7 +493,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2737 +#: src/main.c:2689 #, fuzzy, c-format msgid "" "\n" @@ -503,7 +503,7 @@ "%s" msgstr "LiVES nie był w stanie go otworzyć." -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -514,56 +514,56 @@ "Thankyou.\n" msgstr "" -#: src/main.c:2751 +#: src/main.c:2703 msgid "" "\n" "LiVES currently requires 'mplayer', 'mplayer2' or 'sox' to function. Please " "install one or other of these, and try again.\n" msgstr "" -#: src/main.c:2756 +#: src/main.c:2708 msgid "" "\n" "LiVES currently requires both 'mplayer' or 'mplayer2' and 'sox' to function. " "Please install these, and try again.\n" msgstr "" -#: src/main.c:2769 +#: src/main.c:2721 msgid "" "\n" "LiVES was unable to locate 'mplayer','mplayer2' or 'mpv'. You may wish to " "install one of these to use LiVES more fully.\n" msgstr "" -#: src/main.c:2775 +#: src/main.c:2727 msgid "" "\n" "LiVES was unable to locate 'mplayer' or 'mplayer2'. You may wish to install " "one of these to use LiVES more fully.\n" msgstr "" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" "magick if you want to use rendered effects.\n" msgstr "" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " "image-magick if you want to use the merge function.\n" msgstr "" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " "should install 'sox'.\n" msgstr "" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -574,96 +574,96 @@ "You may need to change the value of <lib_dir> in %s\n" msgstr "" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "" -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "" #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "Odtwarzaj" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" msgstr "" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "_Cofnij" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "_Powtórz" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "Wideo" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "" -#: src/main.c:7078 +#: src/main.c:6973 msgid "" "\n" "\n" @@ -818,7 +818,7 @@ msgid "Use _mplayer2 audio player" msgstr "Użyj _mplayer odtwarzacz audio" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "" @@ -1037,51 +1037,51 @@ msgid "_Finish" msgstr "" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "" -#: src/interface.c:46 +#: src/interface.c:42 msgid "Apply _Deinterlace" msgstr "" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "" -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "Podgląd" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "" -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "" -#: src/interface.c:122 +#: src/interface.c:113 msgid "Click here to _Preview the file" msgstr "" -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 msgid "Processing..." msgstr "" -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1090,8 +1090,8 @@ "Remember to switch off effects (ctrl-0) afterwards !" msgstr "" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" @@ -1099,172 +1099,176 @@ "\n" "Proszę czekać" -#: src/interface.c:221 +#: src/interface.c:206 msgid "Show Details" msgstr "" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "_Dość" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "_Podgląd" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "_Anuluj" -#: src/interface.c:334 +#: src/interface.c:324 msgid "Multitrack Details" msgstr "" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "Format" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "Wielkość filmu" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "Wielkość pliku" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "Wielkość pliku w bajtach" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "Klatki na sekundę" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "Klatki" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "Zdarzenia" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "Całkowity czas" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "Dźwięk" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "" -#: src/interface.c:568 +#: src/interface.c:590 #, fuzzy msgid "Encoding Options" msgstr "Kodowanie" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." msgstr "" -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "Zachowaj _ustawienia" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "Użyj ustawień _zalecanych" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "_Zamknij okno" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "_Zapisz do pliku" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "Wstaw" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "" -#: src/interface.c:833 +#: src/interface.c:846 +msgid "Insert _with silence" +msgstr "" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "" -#: src/interface.c:924 +#: src/interface.c:937 #, fuzzy msgid "Open Selection" msgstr "_Wybór" -#: src/interface.c:943 +#: src/interface.c:954 msgid "Selection start time (sec)" msgstr "" -#: src/interface.c:949 +#: src/interface.c:960 msgid "Number of frames to open" msgstr "" -#: src/interface.c:1023 +#: src/interface.c:1029 msgid "Open Location" msgstr "" -#: src/interface.c:1025 +#: src/interface.c:1031 msgid "Open Youtube Clip" msgstr "" -#: src/interface.c:1045 +#: src/interface.c:1050 msgid "" "\n" "\n" @@ -1274,7 +1278,7 @@ "\n" msgstr "" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1283,67 +1287,67 @@ "\n" msgstr "" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "Adres : " -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "" -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "Nie wysyłaj przepustowości informacji" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "Wypróbuj tę funkcję, jeśli mają problemy ze znalezieniem strumień" -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "" -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "" -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr "" -#: src/interface.c:1188 +#: src/interface.c:1189 #, fuzzy msgid "Rename Clip" msgstr "Obrót" -#: src/interface.c:1190 +#: src/interface.c:1191 msgid "Enter Set Name to Save as" msgstr "" -#: src/interface.c:1192 +#: src/interface.c:1193 msgid "Enter a Set Name to Reload" msgstr "" -#: src/interface.c:1194 +#: src/interface.c:1195 msgid "Choose a Working Directory" msgstr "" -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 msgid "Rename Current Track" msgstr "" -#: src/interface.c:1198 +#: src/interface.c:1199 msgid "Enter a Name for Your Theme" msgstr "" -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1351,7 +1355,7 @@ "LiVES will remind you to save the clip set later when you try to exit.\n" msgstr "" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1371,332 +1375,332 @@ "This should be a directory with plenty of disk space available.\n" msgstr "" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "Nowa nazwa " -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "Ustaw nazwę " -#: src/interface.c:1257 +#: src/interface.c:1255 #, fuzzy msgid "Theme name " msgstr "Nowa nazwa " -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "_Zaawansowane" -#: src/interface.c:1437 +#: src/interface.c:1425 msgid "Select input device" msgstr "" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "" -#: src/interface.c:1517 +#: src/interface.c:1505 msgid "Load CD Track" msgstr "" -#: src/interface.c:1519 +#: src/interface.c:1507 msgid "Select DVD Title/Chapter" msgstr "" -#: src/interface.c:1521 +#: src/interface.c:1509 #, fuzzy msgid "Select VCD Title" msgstr "Tytuł VCD" -#: src/interface.c:1523 +#: src/interface.c:1511 #, fuzzy msgid "Change Maximum Visible Tracks" msgstr "Maksymalna liczba utworów do wyświetlenia" -#: src/interface.c:1525 +#: src/interface.c:1513 msgid "Device details" msgstr "" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "Tytuł DVD" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "Tytuł VCD" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "Maksymalna liczba utworów do wyświetlenia" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "Rozdział " -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "" -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "ID Dźwięku " -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "" -#: src/interface.c:1815 +#: src/interface.c:1778 #, fuzzy msgid "Fade Audio In" msgstr "Przejdź" -#: src/interface.c:1817 +#: src/interface.c:1780 #, fuzzy msgid "Fade Audio Out" msgstr "Przejdź" -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "" -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "pierwszy" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "" -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "ostatnią" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "sekund." -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "zaznaczenie" -#: src/interface.c:1909 +#: src/interface.c:1865 msgid " (Optional)" msgstr "" -#: src/interface.c:1912 +#: src/interface.c:1868 #, fuzzy, c-format msgid "File Comments%s" msgstr "Komentarze : " -#: src/interface.c:1927 +#: src/interface.c:1882 #, fuzzy, c-format msgid "File Name: %s" msgstr "Nazwa / Imię i nazwisko : " -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "Nazwa / Imię i nazwisko : " -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "Autor / wykonawcy : " -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "Komentarze : " -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "" -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "" -#: src/interface.c:2109 +#: src/interface.c:2058 #, c-format msgid "%sChoose a Device" msgstr "" -#: src/interface.c:2112 +#: src/interface.c:2061 #, c-format msgid "%sChoose a Directory" msgstr "" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2410 +#: src/interface.c:2341 msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" "What do you wish to do ?" msgstr "" -#: src/interface.c:2417 +#: src/interface.c:2348 msgid "Cancel/Discard/Save" msgstr "" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "_Ignorowanie zmian" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "_Zapisz układ" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" "Would you like to try and recover it ?\n" msgstr "" -#: src/interface.c:2527 +#: src/interface.c:2455 msgid "Disk Recovery Options" msgstr "" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "" -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "" -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1704,342 +1708,342 @@ "-----------------------\n" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "ctrl-left" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 #, fuzzy msgid "skip forwards\n" msgstr "Przeskakuje naprzód" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 #, fuzzy msgid "ctrl-down" msgstr "Ctrl-%d" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "ctrl-enter" msgstr "_Inny" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "reset frame rate\n" msgstr "Pierwsza klatka" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "" -#: src/interface.c:2723 +#: src/interface.c:2642 msgid "reverse direction\n" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "ctrl-1" msgstr "Ctrl-%d" -#: src/interface.c:2743 +#: src/interface.c:2662 msgid "toggle real-time effect 1\n" msgstr "" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "ctrl-2" msgstr "Ctrl-%d" -#: src/interface.c:2746 +#: src/interface.c:2665 msgid "toggle real-time effect 2\n" msgstr "" -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 #, fuzzy msgid "ctrl-0" msgstr "Ctrl-%d" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "real-time effects off\n" msgstr "" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "" -#: src/interface.c:2759 +#: src/interface.c:2678 msgid "grab keyboard for last activated effect\n" msgstr "" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2688 msgid "tab" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "" -#: src/interface.c:2785 +#: src/interface.c:2706 msgid "Other playback keys\n" msgstr "" -#: src/interface.c:2789 +#: src/interface.c:2710 #, fuzzy msgid "play all\n" msgstr "Odtwórz wszystko" -#: src/interface.c:2792 +#: src/interface.c:2713 #, fuzzy msgid "play selection\n" msgstr "zaznaczenie" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "" -#: src/interface.c:2798 +#: src/interface.c:2719 #, fuzzy msgid "fullscreen\n" msgstr "_Pełny ekran" -#: src/interface.c:2801 +#: src/interface.c:2722 #, fuzzy msgid "separate window\n" msgstr "Zamknij okno" -#: src/interface.c:2804 +#: src/interface.c:2725 #, fuzzy msgid "double size\n" msgstr "Wielkość pliku" -#: src/interface.c:2807 +#: src/interface.c:2728 msgid "ping pong loops\n" msgstr "" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "move current track up\n" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "move current track down\n" msgstr "" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "" -#: src/interface.c:2849 +#: src/interface.c:2768 #, fuzzy msgid "select next clip\n" msgstr "_Wybór" -#: src/interface.c:2852 +#: src/interface.c:2771 msgid "select/deselect current track\n" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "zoom in\n" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "zoom out\n" msgstr "" -#: src/interface.c:2861 +#: src/interface.c:2780 msgid "make a mark on the timeline (during playback)\n" msgstr "" -#: src/interface.c:2864 +#: src/interface.c:2783 msgid "rewind to play start.\n" msgstr "" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "" -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "" -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "" -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -2047,22 +2051,22 @@ "the latest youtube-dl installed.\n" msgstr "" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, c-format msgid "Layouts were removed for set %s.\n" msgstr "" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "Plik ten" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " msgstr "" -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2072,7 +2076,7 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2082,14 +2086,14 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" "Really close it ?" msgstr "" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" @@ -2097,7 +2101,7 @@ "\n" "Nieprawidłowy plik projektu.\n" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2110,54 +2114,54 @@ "Once you have done this, you will be able to import the new project.\n" msgstr "" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "" -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "Importowanie projektu" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "" -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "Projekt eksportowanie" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 #, fuzzy msgid "Theme" msgstr "Nowa nazwa " -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, c-format msgid "Exporting theme as %s..." msgstr "" -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, c-format msgid "Importing theme \"%s\" from %s..." msgstr "" -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, c-format msgid "Backup as %s File" msgstr "" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, fuzzy, c-format msgid "Restore %s File" msgstr "Przywróć .lv1 plik" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2169,101 +2173,101 @@ "Ustaw zostaną usunięte z dysku.\n" "Czy na pewno ?\n" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "" -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "Usuwanie zestawu..." -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "Usuwanie zestawu" -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "Cofanie" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "" -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "Czyszczenie ramy obrazów" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "Usuwanie nadmiaru ramek" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "" -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "" -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "Wytnij" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 msgid "Pulling frames from clipboard" msgstr "" -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "" -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "" -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " "LiVES.\n" msgstr "" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2272,31 +2276,31 @@ "the 'Trim Audio' function from the Audio menu." msgstr "" -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." msgstr "" -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2304,7 +2308,7 @@ "Clipboard audio has been erased.\n" msgstr "" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2313,32 +2317,32 @@ "using unchanged audio ?\n" msgstr "" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "" -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "Wstawianie" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "" -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "" -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "Anulowanie" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" @@ -2348,7 +2352,7 @@ "Usuwanie wszystkich klatek zamknie ten plik.\n" "Czy na pewno ?" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" @@ -2358,8 +2362,8 @@ "Skreślenie spowoduje brak ramek w niektóre układy wielościeżkowym.\n" "Czy na pewno chcesz kontynuować ?\n" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" @@ -2369,7 +2373,7 @@ "Usunięcie może spowodować brak audio w niektórych układów wielościeżkowym.\n" "Czy na pewno chcesz kontynuować ?\n" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" @@ -2379,7 +2383,7 @@ "Usunięcie powoduje przesunięcie ramki w niektórych układów wielościeżkowym.\n" "Czy na pewno chcesz kontynuować ?\n" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" @@ -2390,20 +2394,20 @@ "wielościeżkowym.\n" "Czy na pewno chcesz kontynuować ?\n" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "" -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "Kasowanie" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "Usuń" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" @@ -2413,7 +2417,7 @@ "\n" "Wybór jest zablokowana.\n" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2421,11 +2425,11 @@ "play.)\n" msgstr "" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "Nagrywanie anulowane.\n" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2434,7 +2438,7 @@ "%s\n" msgstr "" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2443,7 +2447,7 @@ "The plugin may be broken or not installed correctly." msgstr "" -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2452,22 +2456,22 @@ "Please press 'Cancel' if that is not what you want.\n" msgstr "" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2475,24 +2479,24 @@ "Click OK to proceed.\n" msgstr "" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "" -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "" -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "" -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2500,68 +2504,68 @@ "Internal: %s (%d bpp) / %s\n" msgstr "" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." msgstr "" -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" "(%d virtual)" msgstr "" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" "(%d decoded)" msgstr "" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" " %.2f sec." msgstr "" -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" msgstr "" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" "%s %s" msgstr "" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2578,15 +2582,15 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n" msgstr "" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "" -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" "Launchpad Contributions:\n" @@ -2595,7 +2599,7 @@ " risto https://launchpad.net/~kml\n" " salsaman https://launchpad.net/~salsaman" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, c-format msgid "" "LiVES Version %s\n" @@ -2609,14 +2613,14 @@ "Homepage: %s" msgstr "" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 msgid "" "\n" "\n" "You need to install mplayer or mplayer2 to be able to preview this file.\n" msgstr "" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 msgid "" "\n" "\n" @@ -2624,88 +2628,88 @@ "this file.\n" msgstr "" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" "%s\n" msgstr "" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 msgid "Encoder Debug Output" msgstr "" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "" -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 msgid "Load Subtitles" msgstr "" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 #, fuzzy msgid "Select Audio File" msgstr "" @@ -2713,7 +2717,7 @@ "\n" "Wybór jest zablokowana.\n" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -2721,82 +2725,82 @@ "." msgstr "" -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "" -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "" -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "" -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 msgid "Layout Errors" msgstr "" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "Przywróć" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "" -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "" -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "Zatrzymaj" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, c-format msgid "" "\n" @@ -2805,30 +2809,30 @@ "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "Przerwij" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 #, fuzzy msgid "Selected Frame" msgstr "Początek ramki" -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 #, fuzzy msgid "_Save Frame as..." msgstr "Ostatnia klatka" -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -2837,7 +2841,7 @@ "\n" msgstr "" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -2845,13 +2849,13 @@ "\n" msgstr "" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" msgstr "" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -2860,17 +2864,17 @@ "\n" msgstr "" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" msgstr "" -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -2880,19 +2884,19 @@ "(Default of %.3f frames per second will be used.)\n" msgstr "" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "" -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "" -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -2901,119 +2905,119 @@ "rate.\n" msgstr "" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "" -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "" -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 msgid "Append Audio File" msgstr "" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "" -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "" -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "" -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "" -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "" -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" "Are you sure ?" msgstr "" -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "" -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "" @@ -3026,877 +3030,877 @@ msgid "Merge Clipboard [ %d Frames ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "" -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "" -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "_Plik" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "" -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "" -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "" -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "" -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "" -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "" -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "" -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "" -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "" -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "" -#: src/gui.c:692 +#: src/gui.c:674 #, c-format msgid "_Backup Clip as .%s..." msgstr "" -#: src/gui.c:701 +#: src/gui.c:683 #, c-format msgid "_Restore Clip from .%s..." msgstr "" -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "_Edycja" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "" -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "Wklej jako _nowy" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "" -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "_Usuń zaznaczenie" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "_Wybierz..." -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "" -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "_Odwróć zaznaczenie" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "_Odtwarzanie" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "_Zatrzymaj" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "_Pełny ekran" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "_Wyciszenie" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "" -#: src/gui.c:1069 +#: src/gui.c:1045 msgid "Letterbox Mode" msgstr "" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "" -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "_Narzędzia" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "" -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "" -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "" -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "_Narzędzia" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "_Generuj" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "" -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "" -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "_Preferencje..." -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "_Dźwięk" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "" -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "" -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "" -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "" -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "" -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "" -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "" -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "" -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "" -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "" -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "" -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "" -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "" -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "" -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "" -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "" -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "" -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "_Informacje" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "" -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "_Zaawansowane" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "" -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "" -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "" -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "" -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "" -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "" -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "" -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "" -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "" -#: src/gui.c:1397 +#: src/gui.c:1371 msgid "Receive _LiVES Stream from..." msgstr "" -#: src/gui.c:1401 +#: src/gui.c:1375 msgid "_Send LiVES Stream to..." msgstr "" -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "" -#: src/gui.c:1426 +#: src/gui.c:1399 #, fuzzy, c-format msgid "_Import Project (.%s)..." msgstr "Importowanie projektu" -#: src/gui.c:1430 +#: src/gui.c:1403 #, fuzzy, c-format msgid "E_xport Project (.%s)..." msgstr "Projekt eksportowanie" -#: src/gui.c:1437 +#: src/gui.c:1409 #, fuzzy, c-format msgid "_Import Custom Theme (.%s)..." msgstr "Importowanie projektu" -#: src/gui.c:1442 +#: src/gui.c:1414 #, fuzzy, c-format msgid "E_xport Theme (.%s)..." msgstr "Importowanie projektu" -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "_VJ" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "" -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "" -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." msgstr "" -#: src/gui.c:1476 +#: src/gui.c:1448 msgid "_Reset All Playback Speeds and Positions" msgstr "" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "" -#: src/gui.c:1480 +#: src/gui.c:1452 msgid "_MIDI/Joystick Interface" msgstr "" -#: src/gui.c:1489 +#: src/gui.c:1461 msgid "_MIDI/Joystick Learner..." msgstr "" -#: src/gui.c:1493 +#: src/gui.c:1465 msgid "_Save Device Mapping..." msgstr "" -#: src/gui.c:1497 +#: src/gui.c:1469 msgid "_Load Device Mapping..." msgstr "" -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "Za_bawki" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "_Brak" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "_Pomoc" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 msgid "_Donate to the Project !" msgstr "" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 msgid "_Email the Author" msgstr "" -#: src/gui.c:1547 +#: src/gui.c:1519 msgid "Report a _Bug" msgstr "" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 msgid "Suggest a _Feature" msgstr "" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 msgid "Assist with _Translating" msgstr "" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "_Adnotacje o programie" -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "Głośność" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." msgstr "" #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr "" -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "Pierwsza klatka" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "Ostatnia klatka" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr "" -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "_Darmowe" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "_Uruchom" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "Przewiń" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "Odtwórz wszystko" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr "" -#: src/gui.c:3613 +#: src/gui.c:3553 #, fuzzy msgid "Streaming" msgstr "Sen" -#: src/gui.c:3615 +#: src/gui.c:3555 #, fuzzy, c-format msgid "Play Window%s" msgstr "_Zamknij okno" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "" -#: src/gui.c:4199 +#: src/gui.c:4127 #, fuzzy, c-format msgid "'LiVES opened the file' '%s'" msgstr "LiVES nie był w stanie otworzyć pliku" -#: src/gui.c:4220 +#: src/gui.c:4146 #, c-format msgid "'LiVES closed the file' '%s'" msgstr "" @@ -3906,11 +3910,11 @@ msgid "Mapped to ctrl-%d" msgstr "" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "Efekty" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "" @@ -3924,11 +3928,11 @@ msgid "Select clip for %s\n" msgstr "" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "" @@ -3973,11 +3977,11 @@ msgid "%d bytes" msgstr "" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -3985,81 +3989,81 @@ "Switched to clip %s\n" msgstr "" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" "Switched to empty clip\n" msgstr "" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " "updated accordingly\n" msgstr "" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -4067,7 +4071,7 @@ "by another copy of LiVES.\n" msgstr "" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -4075,39 +4079,39 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2188 +#: src/utils.c:2207 #, c-format msgid "" "\n" "%s names may not be blank.\n" msgstr "" -#: src/utils.c:2196 +#: src/utils.c:2215 #, c-format msgid "" "\n" "%s names may not be longer than %d characters.\n" msgstr "" -#: src/utils.c:2204 +#: src/utils.c:2223 #, c-format msgid "" "\n" "%s names may not contain spaces or the characters%s.\n" msgstr "" -#: src/utils.c:2213 +#: src/utils.c:2232 #, c-format msgid "" "\n" "%s names may not start with a '.' or contain '..'\n" msgstr "" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4115,72 +4119,72 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "" -#: src/utils.c:3492 +#: src/utils.c:3548 msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "" -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4190,29 +4194,29 @@ "Overwrite ?\n" msgstr "" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "_Cofnij %s" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "_Ponów %s" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr "" -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr "" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4237,7 +4241,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr "" @@ -4338,7 +4342,7 @@ msgstr "" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "" @@ -4392,12 +4396,12 @@ msgid "Recording performance..." msgstr "" -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4406,21 +4410,21 @@ "and resize all frames to the current size.\n" msgstr "" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "Nieznane" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "Dokument_%d" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4428,13 +4432,13 @@ "%s\n" msgstr "" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" msgstr "" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4442,7 +4446,7 @@ "Bad things may happen with this clip.\n" msgstr "" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4450,73 +4454,73 @@ "Default can be set in Tools | Preferences | Misc.\n" msgstr "" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, fuzzy, c-format msgid " - Author: %s\n" msgstr "Autor: %s" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, c-format msgid " - Title: %s\n" msgstr "" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr "" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "" -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "" -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "" -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "Przywracanie" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -4564,62 +4568,62 @@ msgid "Recovering files..." msgstr "" -#: src/dialogs.c:87 +#: src/dialogs.c:83 #, fuzzy msgid "Show affeced _layouts" msgstr "_Zapisz układ" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" msgstr "" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr "" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 #, fuzzy msgid "Warning !" msgstr "Ostrzeżenia" -#: src/dialogs.c:198 +#: src/dialogs.c:186 #, fuzzy msgid "Error !" msgstr "$error" -#: src/dialogs.c:208 +#: src/dialogs.c:196 #, fuzzy msgid "Information" msgstr "LiVES: - Wstaw" -#: src/dialogs.c:234 +#: src/dialogs.c:221 msgid "Question" msgstr "" -#: src/dialogs.c:248 +#: src/dialogs.c:235 #, fuzzy msgid "File Error" msgstr "$error" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "Pokaż _szczegóły" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -4630,7 +4634,7 @@ "(Disk warning levels can be configured in Preferences.)" msgstr "" -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -4642,11 +4646,11 @@ "Preferences.)" msgstr "" -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "" -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -4654,46 +4658,46 @@ "Please try closing some other applications first.\n" msgstr "" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "" -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" "%s%d%% done. Time remaining: %u sec%s\n" msgstr "" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" "%d/%d frames opened. Time remaining %u sec.\n" msgstr "" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" "%d/%d frames opened.\n" msgstr "" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" "%d frames opened.\n" msgstr "" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" "Time remaining: %d sec" msgstr "" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -4701,7 +4705,7 @@ "Please close a file and then try again." msgstr "" -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -4713,47 +4717,47 @@ "Please make sure you can write to this directory." msgstr "" -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 msgid "" "\n" "LiVES currently requires either 'mplayer', 'mplayer2', or 'sox' to function. " "Please install one or other of these, and try again.\n" msgstr "" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 msgid "" "\n" "This function requires either mplayer or mplayer2 to operate.\n" "You may wish to install one or other of these and try again.\n" msgstr "" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 msgid "" "\n" "This function requires either mplayer, mplayer2 or mpv to operate.\n" "You may wish to install one or other of these and try again.\n" msgstr "" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" "Or switch to another encoder format in Tools | Preferences | Encoding\n" msgstr "" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -4761,19 +4765,19 @@ "Please set the audio codec in Tools|Preferences|Encoding\n" msgstr "" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -4781,83 +4785,83 @@ "Due to restrictions in the %s format\n" msgstr "" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" msgstr "" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr "" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr "" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr "" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr "" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" msgstr "" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -4866,14 +4870,14 @@ "\n" msgstr "" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" "\n" msgstr "" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -4882,7 +4886,7 @@ "Try recording for just a selection of the file." msgstr "" -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -4893,7 +4897,7 @@ "Please press Cancel to abort the insert, or OK to continue." msgstr "" -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -4906,18 +4910,18 @@ "click Cancel." msgstr "" -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " "in your %s file" msgstr "" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -4928,25 +4932,25 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 msgid "" "Sorry, unknown audio type.\n" "\n" " (Filenames must end in" msgstr "" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" "(They will not be usable without the set).\n" msgstr "" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -4955,7 +4959,7 @@ "Click Cancel to pick a new name.\n" msgstr "" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -4963,7 +4967,7 @@ "." msgstr "" -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -4971,7 +4975,7 @@ "." msgstr "" -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -4982,7 +4986,7 @@ "Otherwise click Cancel to skip loading this file.\n" msgstr "" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -4992,7 +4996,7 @@ "The clip could not be loaded.\n" msgstr "" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -5000,7 +5004,7 @@ "Alternately, select a different audio player in Preferences.\n" msgstr "" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -5009,13 +5013,13 @@ "Automatic jack startup will be disabled now.\n" msgstr "" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" msgstr "" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -5026,13 +5030,13 @@ "%s\n" msgstr "" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" msgstr "" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -5042,7 +5046,7 @@ "It is recommended to increase it to at least %d MB" msgstr "" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -5051,7 +5055,7 @@ "Do you wish to delete them ?\n" msgstr "" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -5059,7 +5063,7 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -5067,81 +5071,81 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" msgstr "" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" msgstr "" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" "You can set this in Tools|Preferences|Playback." msgstr "" -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" "Should I try to repair the disk copy of the layout ?\n" msgstr "" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" msgstr "" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" "Audio rate must be greater than 0.\n" msgstr "" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5149,14 +5153,14 @@ "Are you sure you wish to view it ?\n" msgstr "" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" "You must install 'dvgrab' to use this function.\n" msgstr "" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5165,25 +5169,25 @@ "You may need to select one of these in Tools/Preferences/Playback.\n" msgstr "" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" msgstr "" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5192,33 +5196,33 @@ "echo %d > /proc/sys/net/core/rmem_max\n" msgstr "" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "nieudane.\n" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "zrobione.\n" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -5228,7 +5232,7 @@ "%s%s%s" msgstr "" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -5238,7 +5242,7 @@ "%s" msgstr "" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -5248,7 +5252,7 @@ "%s" msgstr "" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -5257,7 +5261,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -5267,7 +5271,7 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -5276,7 +5280,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -5286,12 +5290,12 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "" -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -5300,7 +5304,7 @@ "Please check your system for errors.\n" msgstr "" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -5309,7 +5313,7 @@ "Please check the file permissions and try again." msgstr "" -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -5318,7 +5322,7 @@ "Please check the directory permissions and try again." msgstr "" -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, c-format msgid "" "\n" @@ -5326,14 +5330,14 @@ "%s\n" msgstr "" -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -5341,13 +5345,13 @@ "Please select another encoder from the list.\n" msgstr "" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" msgstr "" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -5357,27 +5361,27 @@ "- Check if the device actually exists.\n" msgstr "" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" "Do you wish to overwrite the existing subtitles ?\n" msgstr "" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 msgid "" "\n" "LiVES currently only supports subtitles of type" msgstr "" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -5386,14 +5390,14 @@ "or OK to continue and save as type \"%s\"\n" msgstr "" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" "(If unsure, click Yes)\n" msgstr "" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -5404,19 +5408,19 @@ "." msgstr "" -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" msgstr "" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" msgstr "" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -5424,7 +5428,7 @@ "DO NOT SHUT DOWN OR CLOSE LIVES !\n" msgstr "" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, c-format msgid "" "\n" @@ -5432,14 +5436,14 @@ "The theme could not be loaded correctly.\n" msgstr "" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" "Please check the spelling of the set name and try again.\n" msgstr "" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -5448,7 +5452,7 @@ "directory. Would you like me to do this (recommended) ?" msgstr "" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -5460,7 +5464,7 @@ msgstr "" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -5469,38 +5473,38 @@ "\n" msgstr "" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" "Consult your package distributor.\n" msgstr "" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" msgstr "" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, c-format msgid "" "\n" @@ -5509,7 +5513,7 @@ "(Theme name not found).\n" msgstr "" -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -5518,7 +5522,7 @@ "already exists. Would you like to overwrite it ?\n" msgstr "" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -5659,7 +5663,7 @@ msgid "Video only Transitions" msgstr "" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "" @@ -5667,7 +5671,7 @@ msgid "Audio only Transitions" msgstr "" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "" @@ -5711,7 +5715,7 @@ msgid "Audio Analysers" msgstr "" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "nieznane" @@ -5766,360 +5770,360 @@ "No frames were generated.\n" msgstr "" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 #, fuzzy msgid "Invalid element" msgstr "Niepoprawny parametr" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 #, fuzzy msgid "Invalid property" msgstr "Niepoprawny parametr" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 msgid "Invalid plugin" msgstr "" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 #, fuzzy msgid "No error" msgstr "$error" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 msgid "integer" msgstr "" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 msgid "string" msgstr "" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 msgid "pointer" msgstr "" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" "Error was: %s\n" msgstr "" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr "" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, c-format msgid "Successfully loaded %d compound filters\n" msgstr "" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, c-format msgid "Failed to start generator %s (%s)\n" msgstr "" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 msgid "Autoscale" msgstr "" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 #, fuzzy msgid "Delete this connection" msgstr "_Usuń zaznaczenie" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, c-format msgid "%s - Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, c-format msgid "%s - Parameter Data Connections" msgstr "" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 msgid "Parameter and Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 msgid "Auto Connect Channels" msgstr "" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 msgid "Auto Connect Parameters" msgstr "" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "" -#: src/framedraw.c:241 +#: src/framedraw.c:242 msgid "_Frame" msgstr "" @@ -6163,40 +6167,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "_Szerokość" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "_Wysokość" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "" -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -6262,32 +6266,32 @@ "\n" msgstr "" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "" -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "_FPS" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -6296,7 +6300,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -6306,31 +6310,31 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" "Error was: %s\n" msgstr "" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " "***\n" msgstr "" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -6339,7 +6343,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -6348,7 +6352,7 @@ "or switch to another plugin using Tools|Preferences|Encoding\n" msgstr "" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, c-format msgid "" "\n" @@ -6356,12 +6360,12 @@ "No decoders found in %s !\n" msgstr "" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, fuzzy, c-format msgid " using %s" msgstr "Otwieranie %s" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -6370,7 +6374,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -6380,25 +6384,25 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "" -#: src/plugins.c:2556 +#: src/plugins.c:2550 #, fuzzy msgid "Decoder Plugins" msgstr "Dekodowanie" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "" @@ -6597,20 +6601,20 @@ msgid "Move _Down" msgstr "Przesuń w _dół" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 #, fuzzy msgid "RFX Properties" msgstr "_Właściwości..." -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -6619,7 +6623,7 @@ "\n" msgstr "" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -6627,219 +6631,219 @@ "Please check the trigger code.\n" msgstr "" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 msgid "New RFX Parameter" msgstr "" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 msgid "Edit RFX Parameter" msgstr "" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "" -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "" -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "" -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." msgstr "" -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "" -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "" -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "" -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "" -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "" -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "" -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "" -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "" -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "" -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr "" -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "" -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 msgid "_Wrap value" msgstr "" -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "" -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "" -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "" -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "" -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "" -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 msgid "New RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 msgid "Edit RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "" -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "" -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "" -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "" -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "" -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "" -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "" -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 msgid "New RFX Trigger" msgstr "" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 msgid "Edit RFX Trigger" msgstr "" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "" -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 msgid "Pre Loop Code" msgstr "" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 msgid "Loop Code" msgstr "" -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 msgid "Post Loop Code" msgstr "" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, c-format msgid "Default text (max length %d)" msgstr "" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 msgid "Enter values, one per line" msgstr "" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" "Name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" "Name must not contain spaces.\n" msgstr "" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" "Menu text must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" "Action description must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" "Author must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -6847,28 +6851,28 @@ "Name must be unique.\n" msgstr "" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" "Loop code should not be blank.\n" msgstr "" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" "Trigger code should not be blank for a utility.\n" msgstr "" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" "Parameter name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -6877,41 +6881,41 @@ "\n" msgstr "" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "" -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -6921,27 +6925,27 @@ "\n" msgstr "" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "" -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "" -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "" -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "" -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -6950,7 +6954,7 @@ "Please check this program is in your path and executable.\n" msgstr "" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -6960,12 +6964,12 @@ "\n" msgstr "" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "" -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -6975,7 +6979,7 @@ "Error code was %d\n" msgstr "" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -6985,12 +6989,12 @@ "Please delete it first, or rename the test script.\n" msgstr "" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "" -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -7001,22 +7005,22 @@ "Return code was %d (%s)\n" msgstr "" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 #, fuzzy msgid "Export Script" msgstr "Projekt eksportowanie" -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "" -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 #, fuzzy msgid "Import Script" msgstr "Importowanie projektu" -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -7026,43 +7030,43 @@ "Please delete it first, or rename the import script.\n" msgstr "" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 msgid "Copy RFX Script" msgstr "" -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "" -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr "" -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 msgid "Rename Test RFX Script" msgstr "" -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "" -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 msgid "RFX Script Name" msgstr "" -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "" -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "" -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "" -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -7070,12 +7074,12 @@ "Script name must be unique.\n" msgstr "" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "" -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -7086,25 +7090,25 @@ "Return code was %d\n" msgstr "" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 msgid "Applying Current Real Time Effects to" msgstr "" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "" -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "" -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -7112,7 +7116,7 @@ "full screen, separate window (fs) mode\n" msgstr "" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -7120,7 +7124,7 @@ "(Free space = UNKNOWN)" msgstr "" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -7129,14 +7133,14 @@ "(Free space = %s)" msgstr "" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" "It should be in a partition with plenty of free disk space.\n" msgstr "" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7147,7 +7151,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7157,7 +7161,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1193 +#: src/preferences.c:1163 msgid "" "You have chosen to change the working directory.\n" "Please make sure you have no other copies of LiVES open.\n" @@ -7169,7 +7173,7 @@ "setting." msgstr "" -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, c-format msgid "" "\n" @@ -7178,13 +7182,13 @@ "See %s\n" msgstr "" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" msgstr "" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, c-format msgid "" "\n" @@ -7193,919 +7197,919 @@ "See %s\n" msgstr "" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "" -#: src/preferences.c:2468 +#: src/preferences.c:2418 #, fuzzy msgid "Preferences" msgstr "_Preferencje..." -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "" -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr "" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr "" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." msgstr "" -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "GUI" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr "" -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "sekundy" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "_Nigdy" -#: src/preferences.c:2872 +#: src/preferences.c:2757 #, fuzzy msgid "Maximum number of visible tracks" msgstr "Maksymalna liczba utworów do wyświetlenia" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "" -#: src/preferences.c:2925 +#: src/preferences.c:2804 msgid "Video open command (fallback)" msgstr "" -#: src/preferences.c:2935 +#: src/preferences.c:2811 msgid "Fallback image format" msgstr "" -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "_jpeg" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "_png" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "" -#: src/preferences.c:2964 +#: src/preferences.c:2832 msgid "Open/render compression" msgstr "" -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr "" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "" -#: src/preferences.c:2995 +#: src/preferences.c:2856 msgid "Automatic trimming / padding of audio when possible" msgstr "" -#: src/preferences.c:2997 +#: src/preferences.c:2858 msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "Dekodowanie" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "VIDEO" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "_Wtyczka" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "" -#: src/preferences.c:3269 +#: src/preferences.c:3110 msgid "Source:" msgstr "" -#: src/preferences.c:3273 +#: src/preferences.c:3114 msgid "_Internal" msgstr "" -#: src/preferences.c:3278 +#: src/preferences.c:3119 msgid "_External (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "Odtwarzanie" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" msgstr "" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr "" -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "Nagrywanie" -#: src/preferences.c:3454 +#: src/preferences.c:3273 msgid "You can also change these values when encoding a clip" msgstr "" -#: src/preferences.c:3466 +#: src/preferences.c:3285 msgid "Encoder" msgstr "" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "Format wyjściowy" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "Kedek dźwięku" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "Kodowanie" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." msgstr "" -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr "" -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr "" -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr "" -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr "" -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr "" -#: src/preferences.c:3649 +#: src/preferences.c:3461 msgid " Working directory (do not remove) " msgstr "" -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "" -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "" -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "Katalogi" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "" -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr "" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "" -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" msgstr "" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "" -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr " MB" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "" -#: src/preferences.c:3872 +#: src/preferences.c:3659 msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " "when LiVES is started." msgstr "" -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "" -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "" -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "" -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "" -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "" -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "" -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "" -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "" -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "" -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "" -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "" -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "" -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "" -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "" -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." msgstr "" -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "" -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "" -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "" -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "" -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "" -#: src/preferences.c:4113 +#: src/preferences.c:3865 msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "" -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "Ostrzeżenia" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "" -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "" -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "" -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "Różne" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "" -#: src/preferences.c:4242 +#: src/preferences.c:3977 msgid "Main Theme Details" msgstr "" -#: src/preferences.c:4254 +#: src/preferences.c:3988 #, fuzzy msgid " _Foreground Color" msgstr "_Uruchom" -#: src/preferences.c:4273 +#: src/preferences.c:4007 #, fuzzy msgid " _Background Color" msgstr "_Uruchom" -#: src/preferences.c:4291 +#: src/preferences.c:4026 #, fuzzy msgid "_Alt Foreground Color" msgstr "_Uruchom" -#: src/preferences.c:4309 +#: src/preferences.c:4044 #, fuzzy msgid "_Alt Background Color" msgstr "_Uruchom" -#: src/preferences.c:4327 +#: src/preferences.c:4062 msgid " Info _Text Color" msgstr "" -#: src/preferences.c:4346 +#: src/preferences.c:4081 msgid " Info _Base Color" msgstr "" -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "" -#: src/preferences.c:4365 +#: src/preferences.c:4100 msgid "Affects some contrast details of the timeline" msgstr "" -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "" -#: src/preferences.c:4398 +#: src/preferences.c:4132 #, fuzzy msgid "Frame blank image" msgstr "Usuwanie nadmiaru ramek" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "" -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4474 +#: src/preferences.c:4203 msgid "Track background (multitrack)" msgstr "" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "" -#: src/preferences.c:4529 +#: src/preferences.c:4258 msgid "Timeline selection (multitrack)" msgstr "" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "" -#: src/preferences.c:4553 +#: src/preferences.c:4282 msgid "Timecode foreground (multitrack)" msgstr "" -#: src/preferences.c:4565 +#: src/preferences.c:4293 #, fuzzy msgid "Frame surround" msgstr "sekundy" -#: src/preferences.c:4582 +#: src/preferences.c:4306 #, fuzzy msgid "Themes/Colors" msgstr "Motywy" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "" -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "" -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" msgstr "" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" msgstr "" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "" -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "Zaawansowane" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." msgstr "" -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "" -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -8113,41 +8117,41 @@ "Click OK to continue.\n" msgstr "" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." msgstr "" -#: src/preferences.c:5525 +#: src/preferences.c:5205 msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "" -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "" -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "" @@ -8170,156 +8174,156 @@ msgid "Resample/Resize" msgstr "" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" "New rate must be greater than 0\n" msgstr "" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "" -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "" -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "Zmiana rozdzielczości" -#: src/resample.c:1208 +#: src/resample.c:1209 msgid "New Clip Audio" msgstr "" -#: src/resample.c:1210 +#: src/resample.c:1211 msgid "External Clip Settings" msgstr "" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "Bieżące" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "" -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 msgid "Channels" msgstr "" -#: src/resample.c:1256 +#: src/resample.c:1257 msgid "Sample Size " msgstr "" -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "Niepodpisany" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "" -#: src/resample.c:1322 +#: src/resample.c:1323 #, fuzzy msgid "New Audio Details" msgstr "Pokaż _szczegóły" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "Nowa" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "" -#: src/resample.c:1369 +#: src/resample.c:1370 msgid "_Channels" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "_Sample Size" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "Sample Size" msgstr "" -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "" -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "" -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr "" -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr "" -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr "" -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "Nieograniczony" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "" -#: src/resample.c:1635 +#: src/resample.c:1636 msgid "Change Playback Speed" msgstr "" -#: src/resample.c:1637 +#: src/resample.c:1638 #, fuzzy msgid "Resample Video" msgstr "Zmiana rozdzielczości" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -8330,7 +8334,7 @@ "in _frames per second" msgstr "" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -8341,80 +8345,80 @@ "in frames per second" msgstr "" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" "LiVES was unable to reorder the frames." msgstr "" -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "" @@ -8644,7 +8648,7 @@ msgid "Mode active" msgstr "" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "Informacje" @@ -8766,54 +8770,54 @@ msgid "Opened firewire card %d" msgstr "" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, c-format msgid "%s : parameters for %s" msgstr "" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "Źródło: %s" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." msgstr "" -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -8822,7 +8826,7 @@ "right or double clicking on it.\n" msgstr "" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -8830,14 +8834,14 @@ "Select an effect in FX stack first to view its parameters.\n" msgstr "" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" "No clips loaded.\n" msgstr "" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -8847,7 +8851,7 @@ "before inserting clips into the timeline." msgstr "" -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -8856,188 +8860,188 @@ "to apply compositors.\n" msgstr "" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" msgstr "" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" msgstr "" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr "" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 #, fuzzy msgid "Selected Clip" msgstr "_Wybór" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 msgid "_Adjust Start and End Points" msgstr "" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 msgid "_Edit/Encode in Clip Editor" msgstr "" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 #, fuzzy msgid "_Show Clip Information" msgstr "LiVES: - Wstaw" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 msgid "_Close this Clip" msgstr "" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 msgid "Audio Mixer (ctrl-m)" msgstr "" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "" -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "" -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "" -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "" -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "" -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "" -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "" -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "" -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "" -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "Zamykanie przerw" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "Usuń blok" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "Usuń %s" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "" -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "" -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " "audio rate %d, audio sample size %d, %s.\n" msgstr "" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -9047,7 +9051,7 @@ "then load in the new set from the File menu.\n" msgstr "" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -9055,606 +9059,606 @@ "It cannot be loaded.\n" msgstr "" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "" -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "" -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "" -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "" -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 #, fuzzy msgid "_Close the Selected Clip" msgstr "_Wybór" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 #, fuzzy msgid "_Save Layout as..." msgstr "_Zapisz układ" -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 msgid "_Load Layout..." msgstr "" -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 msgid "_Wipe/Delete Layout..." msgstr "" -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "" -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 msgid "Auto Load _Subtitles with Clips" msgstr "" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 msgid "_Adjust Selected Clip Start/End Points" msgstr "" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 #, fuzzy msgid "_Insert Selected Clip Audio" msgstr "_Odwróć zaznaczenie" -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 #, fuzzy msgid "_Delete Selected Block" msgstr "_Usuń zaznaczenie" -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 msgid "_Jump to Previous Block Boundary" msgstr "" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 msgid "_Jump to Next Block Boundary" msgstr "" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 msgid "Clear _Marks from Timeline" msgstr "" -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 msgid "Ignore Selection Limits when Inserting" msgstr "" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 msgid "Pla_y Selected Time Only" msgstr "" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 msgid "_Move Effects with Blocks" msgstr "" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 msgid "Select _Autotransition Effect..." msgstr "" -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 msgid "Crossfade Audio with Autotransition" msgstr "" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 msgid "View/_Edit Selected Effect" msgstr "" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 #, fuzzy msgid "_Delete Selected Effect" msgstr "_Usuń zaznaczenie" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 msgid "Apply Effect to _Block..." msgstr "" -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 msgid "Apply Effect to _Region..." msgstr "" -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 msgid "Make _Backing Audio Current Track" msgstr "" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 msgid "_Split Current Track at Cursor" msgstr "" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 msgid "_Split Selected Video Tracks" msgstr "" -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 msgid "Insert Gap in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 msgid "Insert Gap in Current Track/Selected Time" msgstr "" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 msgid "Close All _Gaps in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "_Wybór" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 msgid "Select _All Video Tracks" msgstr "" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 msgid "Select _No Video Tracks" msgstr "" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 #, fuzzy msgid "Select All _Time" msgstr "Tytuł VCD" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 msgid "Select from _Zero Time" msgstr "" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 #, fuzzy msgid "Select to _End Time" msgstr "Tytuł VCD" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "_Kopiuj..." -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 msgid "_Timecode to Region Start" msgstr "" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 msgid "_Timecode to Region End" msgstr "" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 msgid "_Region Start to Timecode" msgstr "" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 msgid "_Region End to Timecode" msgstr "" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 msgid "Select/Deselect Block at Current Track/Time" msgstr "" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 msgid "_Change Width, Height and Audio Values..." msgstr "" -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "_Renderuj" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 msgid "_Render All to New Clip" msgstr "" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 #, fuzzy msgid "Render _Video" msgstr "Zmiana rozdzielczości" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 #, fuzzy msgid "Render _Audio" msgstr "_Dźwięk" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 msgid "_Normalise Rendered Audio" msgstr "" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 msgid "_Pre-render Audio" msgstr "" -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "_Widok" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 msgid "Block _In/Out Points" msgstr "" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 msgid "_Effects at Current" msgstr "" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 #, fuzzy msgid "Audio Parameters" msgstr "Klatki" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 msgid "Show Backing _Audio Track" msgstr "" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 #, fuzzy msgid "Compact View" msgstr "Widok oszczędny" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 #, fuzzy msgid "Maximum Tracks to Display..." msgstr "Maksymalna liczba utworów do wyświetlenia" -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 msgid "Scroll to Follow Playback" msgstr "" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 msgid "_Center on Cursor" msgstr "" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 msgid "_Zoom In" msgstr "" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 msgid "_Zoom Out" msgstr "" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 msgid "Multitrack _Details" msgstr "" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 msgid "_Show FRAME Events" msgstr "" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 msgid "_Show Multitrack Keys" msgstr "" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 msgid "Insert With _Audio" msgstr "" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 #, fuzzy msgid "Select _Overlap" msgstr "_Wybór" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" msgstr "" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 msgid "Mouse Mode: _Move" msgstr "" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 msgid "Mouse Mode: _Select" msgstr "" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 msgid "Insert Mode: _Normal" msgstr "" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "_Zastosuj" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "" -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "" -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "Przewijanie" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" "Switched to Clip Edit mode\n" msgstr "" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr "" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr "" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr " %s" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 msgid "Selected Effect" msgstr "" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 msgid "_View/Edit this Effect" msgstr "" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 msgid "_View this Effect" msgstr "" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 #, fuzzy msgid "_Delete this Effect" msgstr "_Usuń zaznaczenie" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr "" -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "" -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" "Switched to Multitrack mode\n" msgstr "" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" "Nodes can be deleted." msgstr "" -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -9662,32 +9666,32 @@ "current time.\n" msgstr "" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." msgstr "" -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 #, fuzzy msgid "Selected Block/Frame" msgstr "Usuń blok" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 #, fuzzy msgid "_Select this Block" msgstr "" @@ -9695,256 +9699,256 @@ "\n" "Wybór jest zablokowana.\n" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 msgid "_Split Block Here" msgstr "" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 msgid "List _Effects Here" msgstr "" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 #, fuzzy msgid "_Delete this Block" msgstr "Usuń blok" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 #, fuzzy msgid "_Insert Here" msgstr "Wstaw" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 msgid "_Insert Audio Here" msgstr "" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" msgstr "" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "Sprzątanie..." -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "_Wstrzymaj" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " "to %.4f\n" msgstr "" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" "selected.\n" msgstr "" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" msgstr "" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." msgstr "" -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." msgstr "" -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." msgstr "" -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" msgstr "" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" msgstr "" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" msgstr "" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "" -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "" -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" msgstr "" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 #, fuzzy msgid "Saving layout" msgstr "_Zapisz układ" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "klatek" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" msgstr "" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -9952,74 +9956,74 @@ "Therefore it could not be loaded properly.\n" msgstr "" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" "Unable to load layout file %s\n" msgstr "" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "" -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "" -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 msgid "" "The current layout has changes which have not been saved.\n" "Are you sure you wish to wipe it ?\n" msgstr "" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 msgid "Multitrack Audio Mixer" msgstr "" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" msgstr "" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "" @@ -10045,7 +10049,7 @@ "Connection to jack audio was reset.\n" msgstr "" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10053,7 +10057,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10061,7 +10065,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:104 +#: src/pulse.c:105 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10069,27 +10073,27 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" msgstr "" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" msgstr "" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr ""
View file
LiVES-2.8.4.tar.bz2/po/pms.po -> LiVES-2.8.6.tar.bz2/po/pms.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: lives\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" "PO-Revision-Date: 2013-11-09 23:22+0000\n" "Last-Translator: Simon Uslengh <simoneislanda@libero.it>\n" "Language-Team: Piemontese <pms@li.org>\n" @@ -18,7 +18,7 @@ "X-Launchpad-Export-Date: 2014-04-13 13:01+0000\n" "X-Generator: Launchpad (build 16976)\n" -#: src/main.c:132 +#: src/main.c:125 msgid "" "Attention Translators !\n" "This message is intended for you, so please do not translate it.\n" @@ -27,22 +27,22 @@ "http://lives-video.com/TRANS-README.txt" msgstr "" -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "%s Avis: %s\n" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "%s Eror grav: %s\n" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "%s Eror vastant: %s\n" -#: src/main.c:203 +#: src/main.c:197 #, fuzzy, c-format msgid "" "\n" @@ -56,7 +56,7 @@ "group_id=64341&atid=507139\n" "Mersì. A dovrìa podej arpijè sò travaj andiand torna LiVES.\n" -#: src/main.c:205 +#: src/main.c:199 #, fuzzy, c-format msgid "" "\n" @@ -69,7 +69,7 @@ "Cand a arpòrta d'vast, ch'a includa fabilman ij detaj ëd sò sistem operativ, " "la distribussion e la version ëd LiVES." -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" @@ -77,7 +77,7 @@ "e tute j'informassion smonùe sì dapress\n" "\n" -#: src/main.c:210 +#: src/main.c:204 #, fuzzy msgid "" "Please try running LiVES with the -debug option to collect more " @@ -88,7 +88,7 @@ "fale (debug) për cheuje pì d'informassion.\n" "\n" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" @@ -98,88 +98,88 @@ "fale (debug) për cheuje pì d'informassion.\n" "\n" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "Preservassion j'anpostassion\n" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "qualsëssìa" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "Gnun" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "consejà" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "dësativà" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "**L'atual formà**" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "Antregà" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "Personaj" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "Test" -#: src/main.c:474 +#: src/main.c:460 msgid "LiVES: - " msgstr "" -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "Ardimensionament" -#: src/main.c:731 +#: src/main.c:708 #, fuzzy msgid "_Resize All Frames..." msgstr "_Ardimension-a tute le curnis" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "Prim pian" -#: src/main.c:1122 +#: src/main.c:1094 msgid "Background" msgstr "Drefond" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "Caria dle gionte për j'efet an temp-real..." -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "Andi dël jack audio server..." -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "Andi dël jack transport server..." -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "Conession al jack transport server..." -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -198,35 +198,35 @@ "\n" "Dësnò, ch'a preuva a nandiè lives con tute le doe \"lives - jackopts 16\", o " -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "Andi dël pulse audio server..." -#: src/main.c:1855 +#: src/main.c:1813 #, fuzzy, c-format msgid "%s...detected... " msgstr "mplayer...trovà..." -#: src/main.c:1856 +#: src/main.c:1814 #, fuzzy, c-format msgid "%s...NOT DETECTED... " msgstr "mplayer...NEN TROVÀ" -#: src/main.c:1867 +#: src/main.c:1824 #, fuzzy msgid "Checking optional dependencies: " msgstr "Contròl dependense opsionaj:" -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "version ëd Windows %04X" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "ANCONOSSÙ - ch'am tacon-a, për piasì!" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -237,53 +237,53 @@ "\n" "La fnëstra 'd contòl a arpòrta \"%s\"; " -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "numer d'ecran trovà: %d\n" -#: src/main.c:1901 +#: src/main.c:1863 #, c-format msgid "Number of CPUs detected: %d " msgstr "Numer ëd CPU trovà: %d " -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "partisan cit" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "partisan gròss" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "(%d bit, %s)\n" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "ël fònt GUI a l'è: " -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "GTK+ version %d.%d.%d (compilà con %d.%d.%d)" -#: src/main.c:1927 +#: src/main.c:1889 #, fuzzy, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "GTK+ version %d.%d.%d (compilà con %d.%d.%d)" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr ", con supòrt cairo" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "Ël plior temporari a l'è %s\n" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" @@ -293,15 +293,15 @@ "ai jack e al pulse audio.\n" "Many audio features will be unavailable.\n" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "Compilà con supòrt ai jack, a va bin!\n" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "Compilà con supòrt al pulse audio, marvijos!\n" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" @@ -310,7 +310,7 @@ "Bin vnù a LiVES - version %s.\n" "\n" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" @@ -319,79 +319,79 @@ "\n" "La sintassis dlë startup a l'è: %s [opts] [filename [start_time] [frames]]\n" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "Antè: \"pito\" l'è 'l nòm dël dait multimedial o dël dait ëd backup.\n" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "temp_andi : l'istant d'andi ëd pito mzurà an scond\n" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "curnis: numer massim ëd curnis da duertè\n" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "j'opsion a peulo esse:\n" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "-agiut : a mostra es test d'agiut e la surtìa\n" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "" "-tmpdir <tempdir>: a dòvra 'n plior auternativ fonsionant (e.g /var/" "ramdisk)\n" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "-set <setname> : autocaria nòm predefinì\n" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "-noset : caria gnun-a impostassion slë startup\n" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "-norecover : dëscaria forsà dl'arcuper ëd vast\n" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "-recover : caria forsà dl'arcuper ëd vast\n" -#: src/main.c:2593 +#: src/main.c:2545 #, fuzzy msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "-nothreaddialog : fa nient - mantenlo për la drècompatibijtà\n" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "-nogui : smon nen l'interfassa grafica pr'ël dovrant (GUI)\n" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "-nosplash : smon nen la fnëstra 'd caria\n" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "-noplaywin : smon nen la fnëstra 'd dësròl\n" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "-startup-ce : nandia an meud edita-ciape\n" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "-startup-mt : nandia an meud multisbòss\n" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" @@ -399,15 +399,15 @@ "-fxmodesmax <n> : përmet <n> meud për minch na ciav d'efet (minim l'è 1, " "default l'è 8)\n" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "-oscstart <port> : nandia lë scotator OSC sla pòrta UDP <port>\n" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "-nooscstart : nandia nen lë scotator OSC\n" -#: src/main.c:2605 +#: src/main.c:2557 #, fuzzy msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " @@ -416,15 +416,15 @@ "-aplayer <ap> : nandia con ën slessionà audiòfon. <ap> a peul esse mplayer" #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr ", pulse" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr ", sox o jack\n" -#: src/main.c:2613 +#: src/main.c:2565 #, fuzzy msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " @@ -435,29 +435,29 @@ "transport client, 2 = jack transport master, 4 = start jack transport " "server, 8 = pause audio when video paused, 16 = start jack audio server] \n" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr " o sox\n" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "-devicemap <mapname> : autocaria devicemap\n" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" msgstr "" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "" -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -468,7 +468,7 @@ "(Maybe you need to change the value of <prefix_dir> in your %s file)\n" msgstr "" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -476,7 +476,7 @@ "Please make sure you have write access to %s and try again.\n" msgstr "" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -485,7 +485,7 @@ "before running LiVES.\n" msgstr "" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -495,7 +495,7 @@ "Please check the file permissions for this file and try again.\n" msgstr "" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -506,7 +506,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -514,7 +514,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2737 +#: src/main.c:2689 #, c-format msgid "" "\n" @@ -524,7 +524,7 @@ "%s" msgstr "" -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -535,56 +535,56 @@ "Thankyou.\n" msgstr "" -#: src/main.c:2751 +#: src/main.c:2703 msgid "" "\n" "LiVES currently requires 'mplayer', 'mplayer2' or 'sox' to function. Please " "install one or other of these, and try again.\n" msgstr "" -#: src/main.c:2756 +#: src/main.c:2708 msgid "" "\n" "LiVES currently requires both 'mplayer' or 'mplayer2' and 'sox' to function. " "Please install these, and try again.\n" msgstr "" -#: src/main.c:2769 +#: src/main.c:2721 msgid "" "\n" "LiVES was unable to locate 'mplayer','mplayer2' or 'mpv'. You may wish to " "install one of these to use LiVES more fully.\n" msgstr "" -#: src/main.c:2775 +#: src/main.c:2727 msgid "" "\n" "LiVES was unable to locate 'mplayer' or 'mplayer2'. You may wish to install " "one of these to use LiVES more fully.\n" msgstr "" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" "magick if you want to use rendered effects.\n" msgstr "" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " "image-magick if you want to use the merge function.\n" msgstr "" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " "should install 'sox'.\n" msgstr "" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -595,96 +595,96 @@ "You may need to change the value of <lib_dir> in %s\n" msgstr "" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "" -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "" #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" msgstr "" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "" -#: src/main.c:7078 +#: src/main.c:6973 msgid "" "\n" "\n" @@ -835,7 +835,7 @@ msgid "Use _mplayer2 audio player" msgstr "" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "" @@ -1041,51 +1041,51 @@ msgid "_Finish" msgstr "" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "" -#: src/interface.c:46 +#: src/interface.c:42 msgid "Apply _Deinterlace" msgstr "" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "" -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "" -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "" -#: src/interface.c:122 +#: src/interface.c:113 msgid "Click here to _Preview the file" msgstr "" -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 msgid "Processing..." msgstr "" -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1094,177 +1094,181 @@ "Remember to switch off effects (ctrl-0) afterwards !" msgstr "" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" msgstr "" -#: src/interface.c:221 +#: src/interface.c:206 msgid "Show Details" msgstr "" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "" -#: src/interface.c:334 +#: src/interface.c:324 msgid "Multitrack Details" msgstr "" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "" -#: src/interface.c:568 +#: src/interface.c:590 msgid "Encoding Options" msgstr "" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." msgstr "" -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "" -#: src/interface.c:833 +#: src/interface.c:846 +msgid "Insert _with silence" +msgstr "" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "" -#: src/interface.c:924 +#: src/interface.c:937 msgid "Open Selection" msgstr "" -#: src/interface.c:943 +#: src/interface.c:954 msgid "Selection start time (sec)" msgstr "" -#: src/interface.c:949 +#: src/interface.c:960 msgid "Number of frames to open" msgstr "" -#: src/interface.c:1023 +#: src/interface.c:1029 msgid "Open Location" msgstr "" -#: src/interface.c:1025 +#: src/interface.c:1031 msgid "Open Youtube Clip" msgstr "" -#: src/interface.c:1045 +#: src/interface.c:1050 msgid "" "\n" "\n" @@ -1274,7 +1278,7 @@ "\n" msgstr "" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1283,66 +1287,66 @@ "\n" msgstr "" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "" -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "" -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "" -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "" -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr "" -#: src/interface.c:1188 +#: src/interface.c:1189 msgid "Rename Clip" msgstr "" -#: src/interface.c:1190 +#: src/interface.c:1191 msgid "Enter Set Name to Save as" msgstr "" -#: src/interface.c:1192 +#: src/interface.c:1193 msgid "Enter a Set Name to Reload" msgstr "" -#: src/interface.c:1194 +#: src/interface.c:1195 msgid "Choose a Working Directory" msgstr "" -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 msgid "Rename Current Track" msgstr "" -#: src/interface.c:1198 +#: src/interface.c:1199 msgid "Enter a Name for Your Theme" msgstr "" -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1350,7 +1354,7 @@ "LiVES will remind you to save the clip set later when you try to exit.\n" msgstr "" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1370,329 +1374,329 @@ "This should be a directory with plenty of disk space available.\n" msgstr "" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "" -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "" -#: src/interface.c:1257 +#: src/interface.c:1255 msgid "Theme name " msgstr "" -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "" -#: src/interface.c:1437 +#: src/interface.c:1425 msgid "Select input device" msgstr "" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "" -#: src/interface.c:1517 +#: src/interface.c:1505 msgid "Load CD Track" msgstr "" -#: src/interface.c:1519 +#: src/interface.c:1507 msgid "Select DVD Title/Chapter" msgstr "" -#: src/interface.c:1521 +#: src/interface.c:1509 msgid "Select VCD Title" msgstr "" -#: src/interface.c:1523 +#: src/interface.c:1511 msgid "Change Maximum Visible Tracks" msgstr "" -#: src/interface.c:1525 +#: src/interface.c:1513 msgid "Device details" msgstr "" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "" -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "" -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "" -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "" -#: src/interface.c:1815 +#: src/interface.c:1778 #, fuzzy msgid "Fade Audio In" msgstr "Drefond" -#: src/interface.c:1817 +#: src/interface.c:1780 #, fuzzy msgid "Fade Audio Out" msgstr "Drefond" -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "" -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "" -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "" -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "" -#: src/interface.c:1909 +#: src/interface.c:1865 msgid " (Optional)" msgstr "" -#: src/interface.c:1912 +#: src/interface.c:1868 #, c-format msgid "File Comments%s" msgstr "" -#: src/interface.c:1927 +#: src/interface.c:1882 #, c-format msgid "File Name: %s" msgstr "" -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "" -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "" -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "" -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "" -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "" -#: src/interface.c:2109 +#: src/interface.c:2058 #, c-format msgid "%sChoose a Device" msgstr "" -#: src/interface.c:2112 +#: src/interface.c:2061 #, c-format msgid "%sChoose a Directory" msgstr "" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2410 +#: src/interface.c:2341 msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" "What do you wish to do ?" msgstr "" -#: src/interface.c:2417 +#: src/interface.c:2348 msgid "Cancel/Discard/Save" msgstr "" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" "Would you like to try and recover it ?\n" msgstr "" -#: src/interface.c:2527 +#: src/interface.c:2455 msgid "Disk Recovery Options" msgstr "" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "" -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "" -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1700,332 +1704,332 @@ "-----------------------\n" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "ctrl-left" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "skip forwards\n" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "ctrl-down" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 msgid "ctrl-enter" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "reset frame rate\n" msgstr "Ardimensionament" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "" -#: src/interface.c:2723 +#: src/interface.c:2642 msgid "reverse direction\n" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 msgid "ctrl-1" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "toggle real-time effect 1\n" msgstr "Caria dle gionte për j'efet an temp-real..." -#: src/interface.c:2746 +#: src/interface.c:2665 msgid "ctrl-2" msgstr "" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "toggle real-time effect 2\n" msgstr "Caria dle gionte për j'efet an temp-real..." -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "ctrl-0" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "real-time effects off\n" msgstr "" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "" -#: src/interface.c:2759 +#: src/interface.c:2678 msgid "grab keyboard for last activated effect\n" msgstr "" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2688 msgid "tab" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "" -#: src/interface.c:2785 +#: src/interface.c:2706 msgid "Other playback keys\n" msgstr "" -#: src/interface.c:2789 +#: src/interface.c:2710 msgid "play all\n" msgstr "" -#: src/interface.c:2792 +#: src/interface.c:2713 msgid "play selection\n" msgstr "" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "" -#: src/interface.c:2798 +#: src/interface.c:2719 msgid "fullscreen\n" msgstr "" -#: src/interface.c:2801 +#: src/interface.c:2722 msgid "separate window\n" msgstr "" -#: src/interface.c:2804 +#: src/interface.c:2725 msgid "double size\n" msgstr "" -#: src/interface.c:2807 +#: src/interface.c:2728 msgid "ping pong loops\n" msgstr "" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "move current track up\n" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "move current track down\n" msgstr "" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "" -#: src/interface.c:2849 +#: src/interface.c:2768 msgid "select next clip\n" msgstr "" -#: src/interface.c:2852 +#: src/interface.c:2771 msgid "select/deselect current track\n" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "zoom in\n" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "zoom out\n" msgstr "" -#: src/interface.c:2861 +#: src/interface.c:2780 msgid "make a mark on the timeline (during playback)\n" msgstr "" -#: src/interface.c:2864 +#: src/interface.c:2783 msgid "rewind to play start.\n" msgstr "" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "" -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "" -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "" -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -2033,22 +2037,22 @@ "the latest youtube-dl installed.\n" msgstr "" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, c-format msgid "Layouts were removed for set %s.\n" msgstr "" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " msgstr "" -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2058,7 +2062,7 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2068,20 +2072,20 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" "Really close it ?" msgstr "" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" msgstr "" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2094,53 +2098,53 @@ "Once you have done this, you will be able to import the new project.\n" msgstr "" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "" -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "" -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 msgid "Theme" msgstr "" -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, c-format msgid "Exporting theme as %s..." msgstr "" -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, c-format msgid "Importing theme \"%s\" from %s..." msgstr "" -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, c-format msgid "Backup as %s File" msgstr "" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, c-format msgid "Restore %s File" msgstr "" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2148,101 +2152,101 @@ "Are you sure ?\n" msgstr "" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "" -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "" -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "" -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "" -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "" -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "" -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 msgid "Pulling frames from clipboard" msgstr "" -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "" -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "" -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " "LiVES.\n" msgstr "" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2251,31 +2255,31 @@ "the 'Trim Audio' function from the Audio menu." msgstr "" -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." msgstr "" -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2283,7 +2287,7 @@ "Clipboard audio has been erased.\n" msgstr "" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2292,88 +2296,88 @@ "using unchanged audio ?\n" msgstr "" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "" -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "" -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "" -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" "Are you sure ?" msgstr "" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "" -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" "Selection is locked.\n" msgstr "" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2381,11 +2385,11 @@ "play.)\n" msgstr "" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2394,7 +2398,7 @@ "%s\n" msgstr "" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2403,7 +2407,7 @@ "The plugin may be broken or not installed correctly." msgstr "" -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2412,22 +2416,22 @@ "Please press 'Cancel' if that is not what you want.\n" msgstr "" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2435,24 +2439,24 @@ "Click OK to proceed.\n" msgstr "" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "" -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "" -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "" -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2460,68 +2464,68 @@ "Internal: %s (%d bpp) / %s\n" msgstr "" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." msgstr "" -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" "(%d virtual)" msgstr "" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" "(%d decoded)" msgstr "" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" " %.2f sec." msgstr "" -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" msgstr "" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" "%s %s" msgstr "" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2538,21 +2542,21 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n" msgstr "" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "" -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" "Launchpad Contributions:\n" " Simon Uslengh https://launchpad.net/~simon.uslengh" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, c-format msgid "" "LiVES Version %s\n" @@ -2566,14 +2570,14 @@ "Homepage: %s" msgstr "" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 msgid "" "\n" "\n" "You need to install mplayer or mplayer2 to be able to preview this file.\n" msgstr "" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 msgid "" "\n" "\n" @@ -2581,92 +2585,92 @@ "this file.\n" msgstr "" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" "%s\n" msgstr "" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 msgid "Encoder Debug Output" msgstr "" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "" -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 msgid "Load Subtitles" msgstr "" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 msgid "Select Audio File" msgstr "" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -2674,82 +2678,82 @@ "." msgstr "" -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "" -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "" -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "" -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 msgid "Layout Errors" msgstr "" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "" -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "" -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, c-format msgid "" "\n" @@ -2758,30 +2762,30 @@ "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 #, fuzzy msgid "Selected Frame" msgstr "Drefond" -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 #, fuzzy msgid "_Save Frame as..." msgstr "Drefond" -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -2790,7 +2794,7 @@ "\n" msgstr "" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -2798,13 +2802,13 @@ "\n" msgstr "" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" msgstr "" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -2813,17 +2817,17 @@ "\n" msgstr "" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" msgstr "" -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -2833,19 +2837,19 @@ "(Default of %.3f frames per second will be used.)\n" msgstr "" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "" -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "" -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -2854,119 +2858,119 @@ "rate.\n" msgstr "" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "" -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "" -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 msgid "Append Audio File" msgstr "" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "" -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "" -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "" -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "" -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "" -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" "Are you sure ?" msgstr "" -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "" -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "" @@ -2979,876 +2983,876 @@ msgid "Merge Clipboard [ %d Frames ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "" -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "" -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "" -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "" -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "" -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "" -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "" -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "" -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "" -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "" -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "" -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "" -#: src/gui.c:692 +#: src/gui.c:674 #, c-format msgid "_Backup Clip as .%s..." msgstr "" -#: src/gui.c:701 +#: src/gui.c:683 #, c-format msgid "_Restore Clip from .%s..." msgstr "" -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "" -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "" -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "" -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "" -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "" -#: src/gui.c:1069 +#: src/gui.c:1045 msgid "Letterbox Mode" msgstr "" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "" -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "" -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "" -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "" -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "" -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "" -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "" -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "" -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "" -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "" -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "" -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "" -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "" -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "" -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "" -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "" -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "" -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "" -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "" -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "" -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "" -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "" -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "" -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "" -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "" -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "" -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "" -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "" -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "" -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "" -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "" -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "" -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "" -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "" -#: src/gui.c:1397 +#: src/gui.c:1371 msgid "Receive _LiVES Stream from..." msgstr "" -#: src/gui.c:1401 +#: src/gui.c:1375 msgid "_Send LiVES Stream to..." msgstr "" -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "" -#: src/gui.c:1426 +#: src/gui.c:1399 #, c-format msgid "_Import Project (.%s)..." msgstr "" -#: src/gui.c:1430 +#: src/gui.c:1403 #, c-format msgid "E_xport Project (.%s)..." msgstr "" -#: src/gui.c:1437 +#: src/gui.c:1409 #, c-format msgid "_Import Custom Theme (.%s)..." msgstr "" -#: src/gui.c:1442 +#: src/gui.c:1414 #, c-format msgid "E_xport Theme (.%s)..." msgstr "" -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "" -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "" -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." msgstr "" -#: src/gui.c:1476 +#: src/gui.c:1448 msgid "_Reset All Playback Speeds and Positions" msgstr "" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "" -#: src/gui.c:1480 +#: src/gui.c:1452 msgid "_MIDI/Joystick Interface" msgstr "" -#: src/gui.c:1489 +#: src/gui.c:1461 msgid "_MIDI/Joystick Learner..." msgstr "" -#: src/gui.c:1493 +#: src/gui.c:1465 msgid "_Save Device Mapping..." msgstr "" -#: src/gui.c:1497 +#: src/gui.c:1469 msgid "_Load Device Mapping..." msgstr "" -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 msgid "_Donate to the Project !" msgstr "" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 msgid "_Email the Author" msgstr "" -#: src/gui.c:1547 +#: src/gui.c:1519 msgid "Report a _Bug" msgstr "" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 msgid "Suggest a _Feature" msgstr "" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 msgid "Assist with _Translating" msgstr "" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "" -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." msgstr "" #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr "" -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr "" -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr "" -#: src/gui.c:3613 +#: src/gui.c:3553 msgid "Streaming" msgstr "" -#: src/gui.c:3615 +#: src/gui.c:3555 #, c-format msgid "Play Window%s" msgstr "" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "" -#: src/gui.c:4199 +#: src/gui.c:4127 #, c-format msgid "'LiVES opened the file' '%s'" msgstr "" -#: src/gui.c:4220 +#: src/gui.c:4146 #, c-format msgid "'LiVES closed the file' '%s'" msgstr "" @@ -3858,11 +3862,11 @@ msgid "Mapped to ctrl-%d" msgstr "" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "" @@ -3876,11 +3880,11 @@ msgid "Select clip for %s\n" msgstr "" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "" @@ -3925,11 +3929,11 @@ msgid "%d bytes" msgstr "" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -3937,81 +3941,81 @@ "Switched to clip %s\n" msgstr "" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" "Switched to empty clip\n" msgstr "" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " "updated accordingly\n" msgstr "" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -4019,7 +4023,7 @@ "by another copy of LiVES.\n" msgstr "" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -4027,39 +4031,39 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2188 +#: src/utils.c:2207 #, c-format msgid "" "\n" "%s names may not be blank.\n" msgstr "" -#: src/utils.c:2196 +#: src/utils.c:2215 #, c-format msgid "" "\n" "%s names may not be longer than %d characters.\n" msgstr "" -#: src/utils.c:2204 +#: src/utils.c:2223 #, c-format msgid "" "\n" "%s names may not contain spaces or the characters%s.\n" msgstr "" -#: src/utils.c:2213 +#: src/utils.c:2232 #, c-format msgid "" "\n" "%s names may not start with a '.' or contain '..'\n" msgstr "" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4067,72 +4071,72 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "" -#: src/utils.c:3492 +#: src/utils.c:3548 msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "" -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4142,29 +4146,29 @@ "Overwrite ?\n" msgstr "" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr "" -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr "" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4189,7 +4193,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr "" @@ -4289,7 +4293,7 @@ msgstr "" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "" @@ -4343,12 +4347,12 @@ msgid "Recording performance..." msgstr "" -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4357,21 +4361,21 @@ "and resize all frames to the current size.\n" msgstr "" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4379,13 +4383,13 @@ "%s\n" msgstr "" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" msgstr "" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4393,7 +4397,7 @@ "Bad things may happen with this clip.\n" msgstr "" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4401,73 +4405,73 @@ "Default can be set in Tools | Preferences | Misc.\n" msgstr "" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, c-format msgid " - Author: %s\n" msgstr "" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, c-format msgid " - Title: %s\n" msgstr "" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr "" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "" -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "" -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "" -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -4515,59 +4519,59 @@ msgid "Recovering files..." msgstr "" -#: src/dialogs.c:87 +#: src/dialogs.c:83 msgid "Show affeced _layouts" msgstr "" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" msgstr "" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr "" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 #, fuzzy msgid "Warning !" msgstr "%s Avis: %s\n" -#: src/dialogs.c:198 +#: src/dialogs.c:186 msgid "Error !" msgstr "" -#: src/dialogs.c:208 +#: src/dialogs.c:196 #, fuzzy msgid "Information" msgstr "Ardimensionament" -#: src/dialogs.c:234 +#: src/dialogs.c:221 msgid "Question" msgstr "" -#: src/dialogs.c:248 +#: src/dialogs.c:235 msgid "File Error" msgstr "" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -4578,7 +4582,7 @@ "(Disk warning levels can be configured in Preferences.)" msgstr "" -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -4590,11 +4594,11 @@ "Preferences.)" msgstr "" -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "" -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -4602,46 +4606,46 @@ "Please try closing some other applications first.\n" msgstr "" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "" -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" "%s%d%% done. Time remaining: %u sec%s\n" msgstr "" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" "%d/%d frames opened. Time remaining %u sec.\n" msgstr "" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" "%d/%d frames opened.\n" msgstr "" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" "%d frames opened.\n" msgstr "" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" "Time remaining: %d sec" msgstr "" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -4649,7 +4653,7 @@ "Please close a file and then try again." msgstr "" -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -4661,47 +4665,47 @@ "Please make sure you can write to this directory." msgstr "" -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 msgid "" "\n" "LiVES currently requires either 'mplayer', 'mplayer2', or 'sox' to function. " "Please install one or other of these, and try again.\n" msgstr "" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 msgid "" "\n" "This function requires either mplayer or mplayer2 to operate.\n" "You may wish to install one or other of these and try again.\n" msgstr "" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 msgid "" "\n" "This function requires either mplayer, mplayer2 or mpv to operate.\n" "You may wish to install one or other of these and try again.\n" msgstr "" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" "Or switch to another encoder format in Tools | Preferences | Encoding\n" msgstr "" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -4709,19 +4713,19 @@ "Please set the audio codec in Tools|Preferences|Encoding\n" msgstr "" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -4729,83 +4733,83 @@ "Due to restrictions in the %s format\n" msgstr "" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" msgstr "" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr "" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr "" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr "" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr "" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" msgstr "" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -4814,14 +4818,14 @@ "\n" msgstr "" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" "\n" msgstr "" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -4830,7 +4834,7 @@ "Try recording for just a selection of the file." msgstr "" -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -4841,7 +4845,7 @@ "Please press Cancel to abort the insert, or OK to continue." msgstr "" -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -4854,18 +4858,18 @@ "click Cancel." msgstr "" -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " "in your %s file" msgstr "" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -4876,25 +4880,25 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 msgid "" "Sorry, unknown audio type.\n" "\n" " (Filenames must end in" msgstr "" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" "(They will not be usable without the set).\n" msgstr "" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -4903,7 +4907,7 @@ "Click Cancel to pick a new name.\n" msgstr "" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -4911,7 +4915,7 @@ "." msgstr "" -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -4919,7 +4923,7 @@ "." msgstr "" -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -4930,7 +4934,7 @@ "Otherwise click Cancel to skip loading this file.\n" msgstr "" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -4940,7 +4944,7 @@ "The clip could not be loaded.\n" msgstr "" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -4948,7 +4952,7 @@ "Alternately, select a different audio player in Preferences.\n" msgstr "" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -4957,13 +4961,13 @@ "Automatic jack startup will be disabled now.\n" msgstr "" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" msgstr "" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -4974,13 +4978,13 @@ "%s\n" msgstr "" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" msgstr "" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -4990,7 +4994,7 @@ "It is recommended to increase it to at least %d MB" msgstr "" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -4999,7 +5003,7 @@ "Do you wish to delete them ?\n" msgstr "" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -5007,7 +5011,7 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -5015,81 +5019,81 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" msgstr "" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" msgstr "" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" "You can set this in Tools|Preferences|Playback." msgstr "" -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" "Should I try to repair the disk copy of the layout ?\n" msgstr "" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" msgstr "" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" "Audio rate must be greater than 0.\n" msgstr "" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5097,14 +5101,14 @@ "Are you sure you wish to view it ?\n" msgstr "" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" "You must install 'dvgrab' to use this function.\n" msgstr "" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5113,25 +5117,25 @@ "You may need to select one of these in Tools/Preferences/Playback.\n" msgstr "" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" msgstr "" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5140,33 +5144,33 @@ "echo %d > /proc/sys/net/core/rmem_max\n" msgstr "" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -5176,7 +5180,7 @@ "%s%s%s" msgstr "" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -5186,7 +5190,7 @@ "%s" msgstr "" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -5196,7 +5200,7 @@ "%s" msgstr "" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -5205,7 +5209,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -5215,7 +5219,7 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -5224,7 +5228,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -5234,12 +5238,12 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "" -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -5248,7 +5252,7 @@ "Please check your system for errors.\n" msgstr "" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -5257,7 +5261,7 @@ "Please check the file permissions and try again." msgstr "" -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -5266,7 +5270,7 @@ "Please check the directory permissions and try again." msgstr "" -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, c-format msgid "" "\n" @@ -5274,14 +5278,14 @@ "%s\n" msgstr "" -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -5289,13 +5293,13 @@ "Please select another encoder from the list.\n" msgstr "" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" msgstr "" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -5305,27 +5309,27 @@ "- Check if the device actually exists.\n" msgstr "" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" "Do you wish to overwrite the existing subtitles ?\n" msgstr "" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 msgid "" "\n" "LiVES currently only supports subtitles of type" msgstr "" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -5334,14 +5338,14 @@ "or OK to continue and save as type \"%s\"\n" msgstr "" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" "(If unsure, click Yes)\n" msgstr "" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -5352,19 +5356,19 @@ "." msgstr "" -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" msgstr "" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" msgstr "" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -5372,7 +5376,7 @@ "DO NOT SHUT DOWN OR CLOSE LIVES !\n" msgstr "" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, c-format msgid "" "\n" @@ -5380,14 +5384,14 @@ "The theme could not be loaded correctly.\n" msgstr "" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" "Please check the spelling of the set name and try again.\n" msgstr "" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -5396,7 +5400,7 @@ "directory. Would you like me to do this (recommended) ?" msgstr "" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -5408,7 +5412,7 @@ msgstr "" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -5417,38 +5421,38 @@ "\n" msgstr "" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" "Consult your package distributor.\n" msgstr "" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" msgstr "" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, c-format msgid "" "\n" @@ -5457,7 +5461,7 @@ "(Theme name not found).\n" msgstr "" -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -5466,7 +5470,7 @@ "already exists. Would you like to overwrite it ?\n" msgstr "" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -5607,7 +5611,7 @@ msgid "Video only Transitions" msgstr "" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "" @@ -5615,7 +5619,7 @@ msgid "Audio only Transitions" msgstr "" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "" @@ -5659,7 +5663,7 @@ msgid "Audio Analysers" msgstr "" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "" @@ -5714,356 +5718,356 @@ "No frames were generated.\n" msgstr "" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 msgid "Invalid element" msgstr "" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 msgid "Invalid property" msgstr "" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 msgid "Invalid plugin" msgstr "" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 msgid "No error" msgstr "" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 msgid "integer" msgstr "" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 msgid "string" msgstr "" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 msgid "pointer" msgstr "" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" "Error was: %s\n" msgstr "" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr "" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, c-format msgid "Successfully loaded %d compound filters\n" msgstr "" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, c-format msgid "Failed to start generator %s (%s)\n" msgstr "" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 msgid "Autoscale" msgstr "" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 msgid "Delete this connection" msgstr "" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, c-format msgid "%s - Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, c-format msgid "%s - Parameter Data Connections" msgstr "" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 msgid "Parameter and Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 msgid "Auto Connect Channels" msgstr "" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 msgid "Auto Connect Parameters" msgstr "" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "" -#: src/framedraw.c:241 +#: src/framedraw.c:242 msgid "_Frame" msgstr "" @@ -6107,40 +6111,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "" -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -6206,32 +6210,32 @@ "\n" msgstr "" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "" -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -6240,7 +6244,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -6250,31 +6254,31 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" "Error was: %s\n" msgstr "" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " "***\n" msgstr "" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -6283,7 +6287,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -6292,7 +6296,7 @@ "or switch to another plugin using Tools|Preferences|Encoding\n" msgstr "" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, c-format msgid "" "\n" @@ -6300,12 +6304,12 @@ "No decoders found in %s !\n" msgstr "" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, c-format msgid " using %s" msgstr "" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -6314,7 +6318,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -6324,24 +6328,24 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "" -#: src/plugins.c:2556 +#: src/plugins.c:2550 msgid "Decoder Plugins" msgstr "" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "" @@ -6539,19 +6543,19 @@ msgid "Move _Down" msgstr "" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 msgid "RFX Properties" msgstr "" -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -6560,7 +6564,7 @@ "\n" msgstr "" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -6568,219 +6572,219 @@ "Please check the trigger code.\n" msgstr "" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 msgid "New RFX Parameter" msgstr "" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 msgid "Edit RFX Parameter" msgstr "" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "" -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "" -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "" -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." msgstr "" -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "" -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "" -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "" -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "" -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "" -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "" -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "" -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "" -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "" -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr "" -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "" -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 msgid "_Wrap value" msgstr "" -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "" -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "" -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "" -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "" -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "" -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 msgid "New RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 msgid "Edit RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "" -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "" -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "" -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "" -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "" -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "" -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "" -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 msgid "New RFX Trigger" msgstr "" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 msgid "Edit RFX Trigger" msgstr "" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "" -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 msgid "Pre Loop Code" msgstr "" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 msgid "Loop Code" msgstr "" -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 msgid "Post Loop Code" msgstr "" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, c-format msgid "Default text (max length %d)" msgstr "" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 msgid "Enter values, one per line" msgstr "" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" "Name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" "Name must not contain spaces.\n" msgstr "" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" "Menu text must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" "Action description must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" "Author must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -6788,28 +6792,28 @@ "Name must be unique.\n" msgstr "" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" "Loop code should not be blank.\n" msgstr "" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" "Trigger code should not be blank for a utility.\n" msgstr "" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" "Parameter name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -6818,41 +6822,41 @@ "\n" msgstr "" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "" -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -6862,27 +6866,27 @@ "\n" msgstr "" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "" -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "" -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "" -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "" -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -6891,7 +6895,7 @@ "Please check this program is in your path and executable.\n" msgstr "" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -6901,12 +6905,12 @@ "\n" msgstr "" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "" -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -6916,7 +6920,7 @@ "Error code was %d\n" msgstr "" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -6926,12 +6930,12 @@ "Please delete it first, or rename the test script.\n" msgstr "" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "" -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -6942,20 +6946,20 @@ "Return code was %d (%s)\n" msgstr "" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 msgid "Export Script" msgstr "" -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "" -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 msgid "Import Script" msgstr "" -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -6965,43 +6969,43 @@ "Please delete it first, or rename the import script.\n" msgstr "" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 msgid "Copy RFX Script" msgstr "" -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "" -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr "" -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 msgid "Rename Test RFX Script" msgstr "" -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "" -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 msgid "RFX Script Name" msgstr "" -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "" -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "" -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "" -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -7009,12 +7013,12 @@ "Script name must be unique.\n" msgstr "" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "" -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -7025,25 +7029,25 @@ "Return code was %d\n" msgstr "" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 msgid "Applying Current Real Time Effects to" msgstr "" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "" -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "" -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -7051,7 +7055,7 @@ "full screen, separate window (fs) mode\n" msgstr "" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -7059,7 +7063,7 @@ "(Free space = UNKNOWN)" msgstr "" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -7068,14 +7072,14 @@ "(Free space = %s)" msgstr "" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" "It should be in a partition with plenty of free disk space.\n" msgstr "" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7086,7 +7090,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7096,7 +7100,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1193 +#: src/preferences.c:1163 msgid "" "You have chosen to change the working directory.\n" "Please make sure you have no other copies of LiVES open.\n" @@ -7108,7 +7112,7 @@ "setting." msgstr "" -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, c-format msgid "" "\n" @@ -7117,13 +7121,13 @@ "See %s\n" msgstr "" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" msgstr "" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, c-format msgid "" "\n" @@ -7132,916 +7136,916 @@ "See %s\n" msgstr "" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "" -#: src/preferences.c:2468 +#: src/preferences.c:2418 msgid "Preferences" msgstr "" -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "" -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr "" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr "" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." msgstr "" -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr "" -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "" -#: src/preferences.c:2872 +#: src/preferences.c:2757 msgid "Maximum number of visible tracks" msgstr "" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "" -#: src/preferences.c:2925 +#: src/preferences.c:2804 msgid "Video open command (fallback)" msgstr "" -#: src/preferences.c:2935 +#: src/preferences.c:2811 msgid "Fallback image format" msgstr "" -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "" -#: src/preferences.c:2964 +#: src/preferences.c:2832 msgid "Open/render compression" msgstr "" -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr "" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "" -#: src/preferences.c:2995 +#: src/preferences.c:2856 msgid "Automatic trimming / padding of audio when possible" msgstr "" -#: src/preferences.c:2997 +#: src/preferences.c:2858 msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "" -#: src/preferences.c:3269 +#: src/preferences.c:3110 msgid "Source:" msgstr "" -#: src/preferences.c:3273 +#: src/preferences.c:3114 msgid "_Internal" msgstr "" -#: src/preferences.c:3278 +#: src/preferences.c:3119 msgid "_External (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" msgstr "" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr "" -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "" -#: src/preferences.c:3454 +#: src/preferences.c:3273 msgid "You can also change these values when encoding a clip" msgstr "" -#: src/preferences.c:3466 +#: src/preferences.c:3285 msgid "Encoder" msgstr "" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." msgstr "" -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr "" -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr "" -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr "" -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr "" -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr "" -#: src/preferences.c:3649 +#: src/preferences.c:3461 msgid " Working directory (do not remove) " msgstr "" -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "" -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "" -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "" -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr "" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "" -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" msgstr "" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "" -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr "" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "" -#: src/preferences.c:3872 +#: src/preferences.c:3659 msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " "when LiVES is started." msgstr "" -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "" -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "" -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "" -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "" -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "" -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "" -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "" -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "" -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "" -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "" -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "" -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "" -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "" -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "" -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." msgstr "" -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "" -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "" -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "" -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "" -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "" -#: src/preferences.c:4113 +#: src/preferences.c:3865 msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "" -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "" -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "" -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "" -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "" -#: src/preferences.c:4242 +#: src/preferences.c:3977 msgid "Main Theme Details" msgstr "" -#: src/preferences.c:4254 +#: src/preferences.c:3988 #, fuzzy msgid " _Foreground Color" msgstr "Drefond" -#: src/preferences.c:4273 +#: src/preferences.c:4007 #, fuzzy msgid " _Background Color" msgstr "Drefond" -#: src/preferences.c:4291 +#: src/preferences.c:4026 #, fuzzy msgid "_Alt Foreground Color" msgstr "Drefond" -#: src/preferences.c:4309 +#: src/preferences.c:4044 #, fuzzy msgid "_Alt Background Color" msgstr "Drefond" -#: src/preferences.c:4327 +#: src/preferences.c:4062 msgid " Info _Text Color" msgstr "" -#: src/preferences.c:4346 +#: src/preferences.c:4081 msgid " Info _Base Color" msgstr "" -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "" -#: src/preferences.c:4365 +#: src/preferences.c:4100 msgid "Affects some contrast details of the timeline" msgstr "" -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "" -#: src/preferences.c:4398 +#: src/preferences.c:4132 #, fuzzy msgid "Frame blank image" msgstr "Ardimensionament" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "" -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4474 +#: src/preferences.c:4203 msgid "Track background (multitrack)" msgstr "" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "" -#: src/preferences.c:4529 +#: src/preferences.c:4258 msgid "Timeline selection (multitrack)" msgstr "" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "" -#: src/preferences.c:4553 +#: src/preferences.c:4282 msgid "Timecode foreground (multitrack)" msgstr "" -#: src/preferences.c:4565 +#: src/preferences.c:4293 #, fuzzy msgid "Frame surround" msgstr "Prim pian" -#: src/preferences.c:4582 +#: src/preferences.c:4306 msgid "Themes/Colors" msgstr "" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "" -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "" -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" msgstr "" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" msgstr "" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "" -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." msgstr "" -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "" -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -8049,41 +8053,41 @@ "Click OK to continue.\n" msgstr "" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." msgstr "" -#: src/preferences.c:5525 +#: src/preferences.c:5205 msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "" -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "" -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "" @@ -8106,154 +8110,154 @@ msgid "Resample/Resize" msgstr "" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" "New rate must be greater than 0\n" msgstr "" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "" -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "" -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "" -#: src/resample.c:1208 +#: src/resample.c:1209 msgid "New Clip Audio" msgstr "" -#: src/resample.c:1210 +#: src/resample.c:1211 msgid "External Clip Settings" msgstr "" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "" -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 msgid "Channels" msgstr "" -#: src/resample.c:1256 +#: src/resample.c:1257 msgid "Sample Size " msgstr "" -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "" -#: src/resample.c:1322 +#: src/resample.c:1323 msgid "New Audio Details" msgstr "" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "" -#: src/resample.c:1369 +#: src/resample.c:1370 msgid "_Channels" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "_Sample Size" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "Sample Size" msgstr "" -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "" -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "" -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr "" -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr "" -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr "" -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "" -#: src/resample.c:1635 +#: src/resample.c:1636 msgid "Change Playback Speed" msgstr "" -#: src/resample.c:1637 +#: src/resample.c:1638 msgid "Resample Video" msgstr "" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -8264,7 +8268,7 @@ "in _frames per second" msgstr "" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -8275,80 +8279,80 @@ "in frames per second" msgstr "" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" "LiVES was unable to reorder the frames." msgstr "" -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "" @@ -8578,7 +8582,7 @@ msgid "Mode active" msgstr "" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "" @@ -8700,54 +8704,54 @@ msgid "Opened firewire card %d" msgstr "" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, c-format msgid "%s : parameters for %s" msgstr "" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." msgstr "" -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -8756,7 +8760,7 @@ "right or double clicking on it.\n" msgstr "" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -8764,14 +8768,14 @@ "Select an effect in FX stack first to view its parameters.\n" msgstr "" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" "No clips loaded.\n" msgstr "" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -8781,7 +8785,7 @@ "before inserting clips into the timeline." msgstr "" -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -8790,187 +8794,187 @@ "to apply compositors.\n" msgstr "" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" msgstr "" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" msgstr "" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr "" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 msgid "Selected Clip" msgstr "" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 msgid "_Adjust Start and End Points" msgstr "" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 msgid "_Edit/Encode in Clip Editor" msgstr "" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 #, fuzzy msgid "_Show Clip Information" msgstr "Ardimensionament" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 msgid "_Close this Clip" msgstr "" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 msgid "Audio Mixer (ctrl-m)" msgstr "" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "" -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "" -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "" -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "" -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "" -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "" -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "" -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "" -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "" -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "" -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "" -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " "audio rate %d, audio sample size %d, %s.\n" msgstr "" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -8980,7 +8984,7 @@ "then load in the new set from the File menu.\n" msgstr "" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -8988,596 +8992,596 @@ "It cannot be loaded.\n" msgstr "" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "" -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "" -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "" -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "" -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 msgid "_Close the Selected Clip" msgstr "" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 msgid "_Save Layout as..." msgstr "" -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 msgid "_Load Layout..." msgstr "" -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 msgid "_Wipe/Delete Layout..." msgstr "" -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "" -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 msgid "Auto Load _Subtitles with Clips" msgstr "" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 msgid "_Adjust Selected Clip Start/End Points" msgstr "" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 msgid "_Insert Selected Clip Audio" msgstr "" -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 msgid "_Delete Selected Block" msgstr "" -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 msgid "_Jump to Previous Block Boundary" msgstr "" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 msgid "_Jump to Next Block Boundary" msgstr "" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 msgid "Clear _Marks from Timeline" msgstr "" -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 msgid "Ignore Selection Limits when Inserting" msgstr "" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 msgid "Pla_y Selected Time Only" msgstr "" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 msgid "_Move Effects with Blocks" msgstr "" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 msgid "Select _Autotransition Effect..." msgstr "" -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 msgid "Crossfade Audio with Autotransition" msgstr "" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 msgid "View/_Edit Selected Effect" msgstr "" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 msgid "_Delete Selected Effect" msgstr "" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 msgid "Apply Effect to _Block..." msgstr "" -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 msgid "Apply Effect to _Region..." msgstr "" -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 msgid "Make _Backing Audio Current Track" msgstr "" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 msgid "_Split Current Track at Cursor" msgstr "" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 msgid "_Split Selected Video Tracks" msgstr "" -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 msgid "Insert Gap in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 msgid "Insert Gap in Current Track/Selected Time" msgstr "" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 msgid "Close All _Gaps in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 msgid "Select _All Video Tracks" msgstr "" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 msgid "Select _No Video Tracks" msgstr "" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 #, fuzzy msgid "Select All _Time" msgstr "Drefond" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 msgid "Select from _Zero Time" msgstr "" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 #, fuzzy msgid "Select to _End Time" msgstr "Drefond" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "" -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 msgid "_Timecode to Region Start" msgstr "" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 msgid "_Timecode to Region End" msgstr "" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 msgid "_Region Start to Timecode" msgstr "" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 msgid "_Region End to Timecode" msgstr "" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 msgid "Select/Deselect Block at Current Track/Time" msgstr "" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 msgid "_Change Width, Height and Audio Values..." msgstr "" -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 msgid "_Render All to New Clip" msgstr "" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 msgid "Render _Video" msgstr "" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 #, fuzzy msgid "Render _Audio" msgstr "Drefond" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 msgid "_Normalise Rendered Audio" msgstr "" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 msgid "_Pre-render Audio" msgstr "" -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 msgid "Block _In/Out Points" msgstr "" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 msgid "_Effects at Current" msgstr "" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 msgid "Audio Parameters" msgstr "" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 msgid "Show Backing _Audio Track" msgstr "" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 msgid "Compact View" msgstr "" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 msgid "Maximum Tracks to Display..." msgstr "" -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 msgid "Scroll to Follow Playback" msgstr "" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 msgid "_Center on Cursor" msgstr "" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 msgid "_Zoom In" msgstr "" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 msgid "_Zoom Out" msgstr "" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 msgid "Multitrack _Details" msgstr "" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 msgid "_Show FRAME Events" msgstr "" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 msgid "_Show Multitrack Keys" msgstr "" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 msgid "Insert With _Audio" msgstr "" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 #, fuzzy msgid "Select _Overlap" msgstr "Drefond" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" msgstr "" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 msgid "Mouse Mode: _Move" msgstr "" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 msgid "Mouse Mode: _Select" msgstr "" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 msgid "Insert Mode: _Normal" msgstr "" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "" -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "" -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" "Switched to Clip Edit mode\n" msgstr "" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr "" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr "" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr "" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 msgid "Selected Effect" msgstr "" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 msgid "_View/Edit this Effect" msgstr "" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 msgid "_View this Effect" msgstr "" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 msgid "_Delete this Effect" msgstr "" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr "" -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "" -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" "Switched to Multitrack mode\n" msgstr "" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" "Nodes can be deleted." msgstr "" -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -9585,281 +9589,281 @@ "current time.\n" msgstr "" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." msgstr "" -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 msgid "Selected Block/Frame" msgstr "" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 msgid "_Select this Block" msgstr "" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 msgid "_Split Block Here" msgstr "" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 msgid "List _Effects Here" msgstr "" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 msgid "_Delete this Block" msgstr "" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 msgid "_Insert Here" msgstr "" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 msgid "_Insert Audio Here" msgstr "" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" msgstr "" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "" -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " "to %.4f\n" msgstr "" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" "selected.\n" msgstr "" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" msgstr "" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." msgstr "" -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." msgstr "" -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." msgstr "" -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" msgstr "" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" msgstr "" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" msgstr "" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "" -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "" -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" msgstr "" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 msgid "Saving layout" msgstr "" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" msgstr "" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -9867,74 +9871,74 @@ "Therefore it could not be loaded properly.\n" msgstr "" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" "Unable to load layout file %s\n" msgstr "" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "" -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "" -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 msgid "" "The current layout has changes which have not been saved.\n" "Are you sure you wish to wipe it ?\n" msgstr "" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 msgid "Multitrack Audio Mixer" msgstr "" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" msgstr "" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "" @@ -9960,7 +9964,7 @@ "Connection to jack audio was reset.\n" msgstr "" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -9968,7 +9972,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -9976,7 +9980,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:104 +#: src/pulse.c:105 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -9984,27 +9988,27 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" msgstr "" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" msgstr "" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr ""
View file
LiVES-2.8.4.tar.bz2/po/pt.po -> LiVES-2.8.6.tar.bz2/po/pt.po
Changed
@@ -2,7 +2,7 @@ msgstr "" "Project-Id-Version: LiVES\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" "PO-Revision-Date: 2013-03-14 12:31+0000\n" "Last-Translator: Launchpad Translations Administrators <Unknown>\n" "Language-Team: pixel <vjpixel@gmail.com>\n" @@ -15,7 +15,7 @@ "X-Poedit-Language: Portuguese\n" "X-Poedit-SourceCharset: utf-8\n" -#: src/main.c:132 +#: src/main.c:125 msgid "" "Attention Translators !\n" "This message is intended for you, so please do not translate it.\n" @@ -24,22 +24,22 @@ "http://lives-video.com/TRANS-README.txt" msgstr "" -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "" -#: src/main.c:203 +#: src/main.c:197 #, fuzzy, c-format msgid "" "\n" @@ -53,7 +53,7 @@ "group_id=64341&atid=5071 39\n" "Obrigado. A recuperação deve ser possível se você reiniciar LiVES.\n" -#: src/main.c:205 +#: src/main.c:199 #, fuzzy, c-format msgid "" "\n" @@ -66,7 +66,7 @@ "Quando falha de informação, por favor inclua detalhes de seu sistema " "operacional, a distribuição ea versão do LiVES (" -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" @@ -74,104 +74,104 @@ "e todas as informações mostradas abaixo:\n" "\n" -#: src/main.c:210 +#: src/main.c:204 msgid "" "Please try running LiVES with the -debug option to collect more " "information.\n" "\n" msgstr "" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" "\n" msgstr "" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "Preservando set.\n" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "Qualquer" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "Nenhum" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "recomendado" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "desactivado!" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "**O layout atual**" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "Builtin" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "Customizado" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "Teste" -#: src/main.c:474 +#: src/main.c:460 #, fuzzy msgid "LiVES: - " msgstr "LiVES: - Mesclar" -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "A redimensionar" -#: src/main.c:731 +#: src/main.c:708 #, fuzzy msgid "_Resize All Frames..." msgstr "_Redimensionar Todos Frames" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "" -#: src/main.c:1122 +#: src/main.c:1094 #, fuzzy msgid "Background" msgstr "Fundo _Branco" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "A carregar plugins de efeito em tempo real..." -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "A iniciar servidor de jack audio..." -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "" -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "" -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -183,35 +183,35 @@ "Alternatively, try to start lives with either \"lives -jackopts 16\", or " msgstr "" -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "" -#: src/main.c:1855 +#: src/main.c:1813 #, fuzzy, c-format msgid "%s...detected... " msgstr "mplayer...detectado..." -#: src/main.c:1856 +#: src/main.c:1814 #, fuzzy, c-format msgid "%s...NOT DETECTED... " msgstr "mplayer...NÃO DETECTADO..." -#: src/main.c:1867 +#: src/main.c:1824 #, fuzzy msgid "Checking optional dependencies: " msgstr "A verificar as dependências opcionais:" -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -222,68 +222,68 @@ "\n" "Gerenciador de janelas: \"%s\"; " -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "número de monitores detectados: %d\n" -#: src/main.c:1901 +#: src/main.c:1863 #, c-format msgid "Number of CPUs detected: %d " msgstr "" -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "" -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1927 +#: src/main.c:1889 #, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr "" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "o diretório temp utilizado é %s\n" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" "Many audio features will be unavailable.\n" msgstr "" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "Compilado com suporte a JACK, bom!\n" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" @@ -292,7 +292,7 @@ "Bem vindo ao LiVES versão %s.\n" "\n" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" @@ -302,90 +302,90 @@ "A sintaxe de inicialização é: %s [opçoes] [nome_do_arquivo [tempo_inicial] " "[frames]]\n" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "Onde: nome_do_arquivo é o nome do arquivo de mídia ou backup.\n" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "tempo_inicial : tempo inicial do arquivo em segundos\n" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "frames : número máximo de frames a abrir\n" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "as opções podem ser:\n" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "-help : mostra este texto de ajuda e sai\n" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "-set <nome_do_set> : autocarregar set de clips nome_do_set\n" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "-noset : não carregar set no início\n" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "-norecover : forçar não carregamento da recuperação de crash\n" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "-recover : forçar carregamento da recuperação de crash\n" -#: src/main.c:2593 +#: src/main.c:2545 msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "-nogui : não mostrar a interface gráfica\n" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "-startup-ce : iniciar no modo de editor clip\n" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" msgstr "" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "-oscstart <port> : iniciar monitoramento de OSC na porta UDP <port>\n" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "-nooscstart : não iniciar monitoramento de OSC\n" -#: src/main.c:2605 +#: src/main.c:2557 #, fuzzy msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " @@ -395,44 +395,44 @@ "ser mplayer" #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr ", pulse" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr ", sox ou jack\n" -#: src/main.c:2613 +#: src/main.c:2565 msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " "transport client,2 = jack transport master, 4 = start jack transport server, " "8 = pause audio when video paused,16 = start jack audio server] \n" msgstr "" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr " ou sox\n" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" msgstr "" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "A iniciar GUI..." -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -443,7 +443,7 @@ "(Maybe you need to change the value of <prefix_dir> in your %s file)\n" msgstr "" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -451,7 +451,7 @@ "Please make sure you have write access to %s and try again.\n" msgstr "" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -465,7 +465,7 @@ "Por favor, leia o arquivo README que vem com este pacote\n" "antes de rodar o LiVES.\n" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -475,7 +475,7 @@ "Please check the file permissions for this file and try again.\n" msgstr "" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -486,7 +486,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -494,7 +494,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2737 +#: src/main.c:2689 #, fuzzy, c-format msgid "" "\n" @@ -504,7 +504,7 @@ "%s" msgstr "LiVES não conseguiu capturar esta janela. Desculpe.\n" -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -522,7 +522,7 @@ "\n" "Obrigado.\n" -#: src/main.c:2751 +#: src/main.c:2703 #, fuzzy msgid "" "\n" @@ -533,7 +533,7 @@ "LiVES atualmente precisa do 'mplayer' ou 'sox' para funcionar. Por favor " "instale um deles e tente novamente.\n" -#: src/main.c:2756 +#: src/main.c:2708 #, fuzzy msgid "" "\n" @@ -544,7 +544,7 @@ "LiVES atualmente precisa do 'mplayer' ou 'sox' para funcionar. Por favor " "instale um deles e tente novamente.\n" -#: src/main.c:2769 +#: src/main.c:2721 #, fuzzy msgid "" "\n" @@ -555,7 +555,7 @@ "LiVES não conseguiu encontrar 'mplayer'. Você deverá instalar o mplayer para " "utilizar o LiVES com todos os seus recursos.\n" -#: src/main.c:2775 +#: src/main.c:2727 #, fuzzy msgid "" "\n" @@ -566,7 +566,7 @@ "LiVES não conseguiu encontrar 'mplayer'. Você deverá instalar o mplayer para " "utilizar o LiVES com todos os seus recursos.\n" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" @@ -576,7 +576,7 @@ "LiVES não conseguiu localizar 'convert'. Você deverá instalar o Convert e o " "Image Magick, caso deseje utilizar os efeitos rederizados.\n" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " @@ -586,7 +586,7 @@ "LiVES não conseguiu localizar 'composite'. Você deverá instalar o Composite " "e o Image Magick, caso deseje utilizar a função mesclar..\n" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " @@ -596,7 +596,7 @@ "LiVES não foi capaz de localizar 'sox'. Alguns recursos de áudio podem não " "funcionar. Instale o 'sox'.\n" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -607,63 +607,63 @@ "You may need to change the value of <lib_dir> in %s\n" msgstr "" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "Carregando efeitos renderizados..." -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "Inicio automático definido %s..." #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "O reprodutor de áudio %s é inválido\n" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <Sem título %d> %dx%d : %d frames %d bpp %.3f fps" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "LiVES-%s: <Nenhum Arquivo>" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "grv %9d/%d" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "!grv %9d/%d" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "Tocar" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" @@ -671,34 +671,34 @@ "LiVES não conseguiu capturar esta imagem\n" "\n" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "Arquivo %s fechado\n" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "Desfazer [_U]" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "_Refazer" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "Vídeo" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "Áudio Esquerdo" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "Áudio Direito" -#: src/main.c:7078 +#: src/main.c:6973 #, fuzzy msgid "" "\n" @@ -858,7 +858,7 @@ msgid "Use _mplayer2 audio player" msgstr "Usar o reprodutor de áudio _jack" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "_Próximo" @@ -1068,56 +1068,56 @@ msgid "_Finish" msgstr "" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "Deixar LiVES definir a extensão do _file" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "" -#: src/interface.c:46 +#: src/interface.c:42 msgid "Apply _Deinterlace" msgstr "" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "" "Se isso for selecionado, frames vão ser desinterlaçados enquanto forem " "importados." -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "Visualizar" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "" "Clique aqui para _Previsualizar qualquer vídeo, áudio ou imagem selecionada" -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "Clique aqui para _Previsualizar qualquer arquivo de áudio" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "Clique aqui para _Previsualizar o vídeo" -#: src/interface.c:122 +#: src/interface.c:113 #, fuzzy msgid "Click here to _Preview the file" msgstr "Clique aqui para _Previsualizar o vídeo" -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 #, fuzzy msgid "Processing..." msgstr "LiVES: - Processando..." -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1131,8 +1131,8 @@ "\n" "Lembre de desligar os efeitos (ctrl-0) depois!" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" @@ -1140,174 +1140,179 @@ "\n" "Por favor aguarde" -#: src/interface.c:221 +#: src/interface.c:206 msgid "Show Details" msgstr "" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "Sufici_ente" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "_Pré-visualizar" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "_Cancelar" -#: src/interface.c:334 +#: src/interface.c:324 #, fuzzy msgid "Multitrack Details" msgstr "_Detalhes multipista" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "Formato" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "Tamanho do frame" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "Tamanho do arquivo" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "Tamanho do byte" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "FPS" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "Frames" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "Eventos" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "Tempo total" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "Áudio" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "Taxa/tamanho" -#: src/interface.c:568 +#: src/interface.c:590 #, fuzzy msgid "Encoding Options" msgstr "LiVES: - Opções de codificação" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." msgstr "" -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "Mantenha _minhas configurações" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "Usar configurações _recomendadas" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "Fechar janela [_C]" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "Inserir" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "_Número de vezes a inserir" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "_Inserir até o fim do áudio" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "Inserir antes da seleção [_B]" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "Inserir área de transferência antes da seleção" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "Inserir _após a seleção" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "Inserir área de transferência depois da seleção" -#: src/interface.c:833 +#: src/interface.c:846 +#, fuzzy +msgid "Insert _with silence" +msgstr "Inserir com som [_W]" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "Inserir com som [_W]" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "Inserir sem s_om" -#: src/interface.c:924 +#: src/interface.c:937 #, fuzzy msgid "Open Selection" msgstr "_Copiar Seleção" -#: src/interface.c:943 +#: src/interface.c:954 msgid "Selection start time (sec)" msgstr "" -#: src/interface.c:949 +#: src/interface.c:960 msgid "Number of frames to open" msgstr "" -#: src/interface.c:1023 +#: src/interface.c:1029 #, fuzzy msgid "Open Location" msgstr "LiVES: - Abrir Stream" -#: src/interface.c:1025 +#: src/interface.c:1031 msgid "Open Youtube Clip" msgstr "" -#: src/interface.c:1045 +#: src/interface.c:1050 #, fuzzy msgid "" "\n" @@ -1324,7 +1329,7 @@ "Também certifique-se de ter marcado sua banda em Preferências|Streaming\n" "\n" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1333,72 +1338,72 @@ "\n" msgstr "" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "URL : " -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "" -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "Não enviar informação de banda" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "Tente esta configuração se está tendo problemas ao pegar um stream" -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "" -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "" -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr "" -#: src/interface.c:1188 +#: src/interface.c:1189 #, fuzzy msgid "Rename Clip" msgstr "Rodar Clip" -#: src/interface.c:1190 +#: src/interface.c:1191 #, fuzzy msgid "Enter Set Name to Save as" msgstr "LiVES: - Entre com o Nome do Set" -#: src/interface.c:1192 +#: src/interface.c:1193 #, fuzzy msgid "Enter a Set Name to Reload" msgstr "LiVES: - Entre com o Nome do Set" -#: src/interface.c:1194 +#: src/interface.c:1195 #, fuzzy msgid "Choose a Working Directory" msgstr "diretório de trabalho do LiVES." -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 #, fuzzy msgid "Rename Current Track" msgstr "_Selecionar faixa atual" -#: src/interface.c:1198 +#: src/interface.c:1199 #, fuzzy msgid "Enter a Name for Your Theme" msgstr "LiVES: - Entre com o Nome do Set" -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1409,7 +1414,7 @@ "Isso vai permitir recarregar o layout com os mesmos clipes depois.\n" "O LiVES lembrará você de salvar o set quando você for sair.\n" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1431,220 +1436,220 @@ "This should be a directory with plenty of disk space available.\n" msgstr "" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "Novo nome " -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "Nome do set " -#: src/interface.c:1257 +#: src/interface.c:1255 #, fuzzy msgid "Theme name " msgstr "Novo nome " -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "_Avançado" -#: src/interface.c:1437 +#: src/interface.c:1425 #, fuzzy msgid "Select input device" msgstr "Selecionar fim do t_empo" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "" -#: src/interface.c:1517 +#: src/interface.c:1505 #, fuzzy msgid "Load CD Track" msgstr "Carregar Faixa do _CD" -#: src/interface.c:1519 +#: src/interface.c:1507 #, fuzzy msgid "Select DVD Title/Chapter" msgstr "LiVES:- Selecionar Título/Capítulo do DVD" -#: src/interface.c:1521 +#: src/interface.c:1509 #, fuzzy msgid "Select VCD Title" msgstr "LiVES:- Selecionar o Título do VCD" -#: src/interface.c:1523 +#: src/interface.c:1511 #, fuzzy msgid "Change Maximum Visible Tracks" msgstr "LiVES:- Modificar o máximo de trilhas visíveis" -#: src/interface.c:1525 +#: src/interface.c:1513 #, fuzzy msgid "Device details" msgstr "_Detalhes multipista" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "Trilha a carregar (de %s)" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "Título do DVD" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "Título do VCD" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "Número máximo de trilhas a visualizar" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "Capítulo " -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "Canal " -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "Áudio ID " -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "" -#: src/interface.c:1815 +#: src/interface.c:1778 #, fuzzy msgid "Fade Audio In" msgstr "Fade _In Áudio..." -#: src/interface.c:1817 +#: src/interface.c:1780 #, fuzzy msgid "Fade Audio Out" msgstr "Fade _Out Áudio..." -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "Fade in sobre " -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "primeiro" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "Fade out sobre " -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "último" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "segundos." -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "seleção" -#: src/interface.c:1909 +#: src/interface.c:1865 #, fuzzy msgid " (Optional)" msgstr "LiVES: - Comentários do arquivo (opcional)" -#: src/interface.c:1912 +#: src/interface.c:1868 #, fuzzy, c-format msgid "File Comments%s" msgstr "LiVES: - Comentários do arquivo (opcional)" -#: src/interface.c:1927 +#: src/interface.c:1882 #, fuzzy, c-format msgid "File Name: %s" msgstr "Título/Nome: " -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "Título/Nome: " -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "Autor/Artista: " -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "Comentários: " -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "" -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "" -#: src/interface.c:2109 +#: src/interface.c:2058 #, c-format msgid "%sChoose a Device" msgstr "" -#: src/interface.c:2112 +#: src/interface.c:2061 #, c-format msgid "%sChoose a Directory" msgstr "" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" @@ -1654,7 +1659,7 @@ "O layout atual não foi salvo.\n" "O que você quer fazer?\n" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" @@ -1664,7 +1669,7 @@ "O layout atual foi modificado desde que foi salvo.\n" "O que você quer fazer?\n" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" @@ -1674,7 +1679,7 @@ "O set de clipes atual pode ser salvo.\n" "O que você quer fazer?\n" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" @@ -1682,7 +1687,7 @@ "O set de clipes atual não foi salvo.\n" "O que quer fazer?\n" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" @@ -1690,7 +1695,7 @@ "O layout atual não foi salvo.\n" "O que quer fazer?\n" -#: src/interface.c:2410 +#: src/interface.c:2341 #, fuzzy msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" @@ -1699,86 +1704,86 @@ "O layout atual não foi salvo.\n" "O que quer fazer?\n" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" "What do you wish to do ?" msgstr "" -#: src/interface.c:2417 +#: src/interface.c:2348 #, fuzzy msgid "Cancel/Discard/Save" msgstr "LiVES: - Cancelar/Discartar/Salvar" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "_Nome do set" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "Auto recarregar da próxima vez" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "Apagar layout [_W]" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "_Ignorar mudanças" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "_Deletar set" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "_Deletar layout" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "_Salvar layout" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "_Salvar set" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" "Would you like to try and recover it ?\n" msgstr "" -#: src/interface.c:2527 +#: src/interface.c:2455 msgid "Disk Recovery Options" msgstr "" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "" -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "" -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "Mostrar atalhos" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1786,357 +1791,357 @@ "-----------------------\n" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 #, fuzzy msgid "ctrl-left" msgstr "Voltar (ctrl-left)" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 #, fuzzy msgid "skip forwards\n" msgstr "skip_forwards" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 #, fuzzy msgid "ctrl-down" msgstr "Ctrl-%d" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "ctrl-enter" msgstr "_Outro centro" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "reset frame rate\n" msgstr "Primeiro _frame" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "" -#: src/interface.c:2723 +#: src/interface.c:2642 msgid "reverse direction\n" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "ctrl-1" msgstr "Ctrl-%d" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "toggle real-time effect 1\n" msgstr "_Efeitos em tempo real" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "ctrl-2" msgstr "Ctrl-%d" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "toggle real-time effect 2\n" msgstr "_Efeitos em tempo real" -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 #, fuzzy msgid "ctrl-0" msgstr "Ctrl-%d" -#: src/interface.c:2751 +#: src/interface.c:2670 #, fuzzy msgid "real-time effects off\n" msgstr "_Efeitos em tempo real" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "" -#: src/interface.c:2759 +#: src/interface.c:2678 #, fuzzy msgid "grab keyboard for last activated effect\n" msgstr "Trave o teclado para essa tecla de efeito" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2688 #, fuzzy msgid "tab" msgstr "tap" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "" -#: src/interface.c:2785 +#: src/interface.c:2706 #, fuzzy msgid "Other playback keys\n" msgstr "Execução _reversa " -#: src/interface.c:2789 +#: src/interface.c:2710 #, fuzzy msgid "play all\n" msgstr "Tocar Tudo" -#: src/interface.c:2792 +#: src/interface.c:2713 #, fuzzy msgid "play selection\n" msgstr "Tocar Seleção" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "" -#: src/interface.c:2798 +#: src/interface.c:2719 #, fuzzy msgid "fullscreen\n" msgstr "Tela Cheia [_F]" -#: src/interface.c:2801 +#: src/interface.c:2722 #, fuzzy msgid "separate window\n" msgstr "Tocar em janela separada (s)" -#: src/interface.c:2804 +#: src/interface.c:2725 #, fuzzy msgid "double size\n" msgstr "Tamanho _Dobrado" -#: src/interface.c:2807 +#: src/interface.c:2728 #, fuzzy msgid "ping pong loops\n" msgstr "Loops Pin_g Pong" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "Atalhos do Multipista" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 #, fuzzy msgid "move current track up\n" msgstr "_Selecionar faixa atual" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 #, fuzzy msgid "move current track down\n" msgstr "_Selecionar faixa atual" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "" -#: src/interface.c:2849 +#: src/interface.c:2768 #, fuzzy msgid "select next clip\n" msgstr "LiVES: Clipe seleccionado" -#: src/interface.c:2852 +#: src/interface.c:2771 #, fuzzy msgid "select/deselect current track\n" msgstr "_Selecionar faixa atual" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 #, fuzzy msgid "zoom in\n" msgstr "_Zoom in" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 #, fuzzy msgid "zoom out\n" msgstr "_Zoom out" -#: src/interface.c:2861 +#: src/interface.c:2780 #, fuzzy msgid "make a mark on the timeline (during playback)\n" msgstr "fazer uma marca na linha de tempo" -#: src/interface.c:2864 +#: src/interface.c:2783 #, fuzzy msgid "rewind to play start.\n" msgstr "Rebobinar para iniciar (w)" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "A Salvar set como %s..." -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "" -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "" -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -2144,22 +2149,22 @@ "the latest youtube-dl installed.\n" msgstr "" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, c-format msgid "Layouts were removed for set %s.\n" msgstr "" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "Este ficheiro" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " msgstr "" -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2169,7 +2174,7 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2179,14 +2184,14 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" "Really close it ?" msgstr "" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" @@ -2194,7 +2199,7 @@ "\n" "Arquivo de projeto inválido.\n" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2215,54 +2220,54 @@ "delete-o.\n" "Uma vez que tenha feito isso, vai poder importar o novo projeto.\n" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "Importando o projeto %s como set %s..." -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "Importando projeto" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "Exportando projeto %s..." -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "Exportando projeto" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 #, fuzzy msgid "Theme" msgstr "Novo nome " -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, fuzzy, c-format msgid "Exporting theme as %s..." msgstr "Exportando áudio como %s..." -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, fuzzy, c-format msgid "Importing theme \"%s\" from %s..." msgstr "Exportando áudio como %s..." -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, fuzzy, c-format msgid "Backup as %s File" msgstr "Backup como arquivo .lv1" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, fuzzy, c-format msgid "Restore %s File" msgstr "Restaurar arquivo .lv1" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2274,102 +2279,102 @@ "O set será deletado do disco.\n" "Tem certeza?\n" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "" -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "A apagar set..." -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "A apagar set..." -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "O set %s foi permanentemente apagado do disco.\n" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "Inserir Silêncio" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "Desfazendo" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "A restaurar audio..." -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "Limpando imagens de frames" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "O comprimento do vídeo é agora %d frames a %.3f FPS.\n" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "Área de transferência resampleada para %d frames.\n" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "Refazendo" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, fuzzy, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "Copiando frames %d até %d%s para a área de transferência..." -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, fuzzy, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "Copiando frames %d até %d%s para a área de transferência..." -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "Copiando para a área de trasferência" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "Cortar" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 #, fuzzy msgid "Pulling frames from clipboard" msgstr "Pegando frames do clipe" -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "" -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "Colando" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "" -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " "LiVES.\n" msgstr "" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2383,7 +2388,7 @@ "Tente selecionar todos frames e usar\n" "a função 'Ajustar Áudio' do menu 'Áudio'." -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." @@ -2391,7 +2396,7 @@ "LiVES não pôde inserir porque as taxas de áudio não conferem.\n" "Por favor instale 'sox' e tente novamente." -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" @@ -2402,7 +2407,7 @@ "multipista.\n" "Tem certeza que quer continuar?\n" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" @@ -2413,11 +2418,11 @@ "multipista.\n" "Tem certeza que quer continuar?\n" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "Resampleando áudio da área de transferência" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2429,7 +2434,7 @@ "LiVES não pode resamplear o áudio da área de transferência.\n" "O áudio da área de transferência foi deletado.\n" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2442,32 +2447,32 @@ "LiVES não pôde processar o áudio da área de transferência.\n" "Deseja continuar a inserção usando áudio não modificado?\n" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "Inserindo %d%s frames da área de transferência..." -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "Inserindo" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "Inserindo %d vezes da área de transferência%s..." -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "Inserindo %d frames da área de transferência%s..." -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "Cancelando" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" @@ -2477,7 +2482,7 @@ "Deletar todos frames vai fechar este arquivo.\n" "Tem certeza?" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" @@ -2487,8 +2492,8 @@ "Deleção vai causar frames perdidos em alguns layouts multipista.\n" "Tem certeza que quer continuar?\n" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" @@ -2498,7 +2503,7 @@ "Deleção vai causar que o áudio se perca em alguns layouts multipista.\n" "Tem certeza que quer continuar?\n" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" @@ -2508,7 +2513,7 @@ "Deleção vai causar que frames sejam movidos em alguns layouts multipista.\n" "Tem certeza que quer continuar?\n" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" @@ -2518,20 +2523,20 @@ "Deleção vai causar que áudio seja movido em alguns layouts multipista.\n" "Tem certeza que quer continuar?\n" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "Deletando frames %d até %d%s..." -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "Deletando" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "Deletar" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" @@ -2541,7 +2546,7 @@ "\n" "Seleção está travada.\n" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2549,11 +2554,11 @@ "play.)\n" msgstr "" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "Gravação cancelada.\n" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2566,7 +2571,7 @@ "O plugin '%s' diz:\n" "%s\n" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2579,7 +2584,7 @@ "Impossível achar o método 'init' no plugin %s.\n" "O plugin pode não funcionar ou estar instalado incorretamente." -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2591,22 +2596,22 @@ "\n" "Por favor aperte 'Cancelar' se não é o que quer.\n" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "Salvando set %s" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "Carregando clipes do set %s" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2618,24 +2623,24 @@ "nesta máquina.\n" "Aperte 'OK' para continuar.\n" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "Limpando espaço em disco..." -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "" -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "" -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2643,12 +2648,12 @@ "Internal: %s (%d bpp) / %s\n" msgstr "" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." @@ -2656,7 +2661,7 @@ "\n" " Abrindo..." -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" @@ -2665,7 +2670,7 @@ "\n" "(%d virtual)" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" @@ -2674,7 +2679,7 @@ "\n" "(%d decodificado)" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" @@ -2683,7 +2688,7 @@ "\n" " %.2f seg." -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" @@ -2691,23 +2696,23 @@ "\n" " Desconhecido" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" @@ -2716,7 +2721,7 @@ " %d Hz %d bit\n" "%s %s" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2733,15 +2738,15 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n" msgstr "" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "" -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" "Launchpad Contributions:\n" @@ -2749,7 +2754,7 @@ " nitrofurano https://launchpad.net/~nitrofurano-3t\n" " salsaman https://launchpad.net/~salsaman" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, c-format msgid "" "LiVES Version %s\n" @@ -2763,7 +2768,7 @@ "Homepage: %s" msgstr "" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 #, fuzzy msgid "" "\n" @@ -2774,7 +2779,7 @@ "\n" "Instale o mplayer para poder vêr este arquivo.\n" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 #, fuzzy msgid "" "\n" @@ -2786,93 +2791,93 @@ "\n" "Instale o mplayer para poder vêr este arquivo.\n" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" "%s\n" msgstr "" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 msgid "Encoder Debug Output" msgstr "" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "Tela Cheia (f)" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "Desativar tela Cheia (f)" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "Tamanho dobrado(d)" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "Tamanho normal (d)" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "Esconder janela do tocador (s)" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "Mostrar janela do tocador (s)" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "Tocar em janela separada (s)" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "Desligar loop contínuo (o)" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "Ligar loop contínuo (o)" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "Volume do áudio (%.2f)" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "Ligar o áudio (z)" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "Desligar o áudio (z)" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "Invertendo área de trabalho..." -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "Invertendo área de trabalho" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 msgid "Load Subtitles" msgstr "" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 #, fuzzy msgid "Select Audio File" msgstr "Deletar Áudio" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -2885,83 +2890,83 @@ "Tem certeza que quer continuar?\n" "." -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "Abrindo áudio %s, tipo %s..." -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "Abrindo áudio" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "Transformando áudio" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "Novo Áudio" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "Abrindo faixa do CD %d de %s..." -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "Faixa do CD %d" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "Abrindo faixa de CD..." -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "Erro carregado faixa do CD\n" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 #, fuzzy msgid "Layout Errors" msgstr "erros de layout" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "Limpar _Erros" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "_Deletar layouts afetados" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "Continuar" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "pausado..." -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "continuando..." -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "Manter" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, fuzzy, c-format msgid "" "\n" @@ -2974,30 +2979,30 @@ "(clique 'Manter' para manter o que você tem e parar)\n" "(clique em 'Continuar' para continuar o processamento)" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "Cancelar" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 #, fuzzy msgid "Selected Frame" msgstr "Selecionar Todos Fr_ames" -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 #, fuzzy msgid "_Save Frame as..." msgstr "_Salvar layout como..." -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -3006,7 +3011,7 @@ "\n" msgstr "" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -3018,7 +3023,7 @@ "Você deve instalar o \"xwininfo\" para usar este recurso\n" "\n" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" @@ -3026,7 +3031,7 @@ "\n" "Tempo de gravação deve ser maior que 0.\n" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -3040,17 +3045,17 @@ "Clique em 'Cancelar' para cancelar\n" "\n" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "A janela externa foi solta.\n" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" msgstr "" -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -3066,19 +3071,19 @@ "'Parar' ou 'q' para terminar.\n" "(O padrão de %.3f frames por segundo vai ser usado.)\n" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "LiVES não conseguiu capturar esta janela. Desculpe.\n" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "Exportar Áudio Selecionado como..." -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "Exportar Áudio como..." -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -3092,87 +3097,87 @@ "Clique em 'OK' para exportar na nova velocidade, ou 'Cancelar' para exportar " "na velocidade original.\n" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "Exportando frames de áudio %d até %d como %s..." -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "Exportando áudio como %s..." -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "Exportando áudio" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 #, fuzzy msgid "Append Audio File" msgstr "Anexar Áudio" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "Inserindo arquivo de áudio %s..." -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "Inserindo áudio" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "Anexar Áudio" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "" -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "Diminuindo áudio de %.2f para %.2f segundos..." -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "Diminuindo/Aumentando áudio" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "Ajustar Áudio" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "Fading in áudio" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "Fade in áudio" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "Fading out áudio" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "Fade out do áudio" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "%s sobre %.1f segundos..." -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "" -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "Fading áudio..." -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" @@ -3182,33 +3187,33 @@ "Deletar todo áudio vai fechar este arquivo.\n" "Tem certeza?" -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "Deletando todo áudio..." -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "Deletando áudio de %.2f até %.2f segundos..." -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "Deletando Áudio" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "Deletar Áudio" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "Gravar áudio novo" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "Inserindo silêncio de %.2f até %.2f segundos..." -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "Inserindo Silêncio" @@ -3222,7 +3227,7 @@ msgstr "" "Mesclar área de trabalho [ %d Frames ] Com a seleção [ %d Frames ]" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" @@ -3230,597 +3235,597 @@ "Mesclar área de trabalho [ %d Frames (resampleada)] Com a seleção [ %d " "Frames ]" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "Alinhar Início_s" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "Alinhar Finais [_E]" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "O que fazer com os frames que sobraram na área de trabalho -" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "_Inserir Frames" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "_Deletar Frames" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "Número de vezes a repetir área de transferência" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "Repetir área de transferência para se encaixar à se_leção" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "Método de _Transição:" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "Mesclando área de transferência com seleção..." -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "Mesclagem feita.\n" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "" -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "Efeitos _Customizados" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "_Utilitários Customizados" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "_Ficheiro" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "Abrir Arquivo/Diretóri_o" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "" -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "Abrir Stream... [_L]" -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "" -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "" -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "Importar de Dispositivo _Firewire (DV)" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "Importar de Dispositivo _Firewire (HDV)" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "" -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "Arquivos _Recentes" -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "_Recarregar Set" -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "Fechar/Sal_var Todos Clipes" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "Salvar Clip_e Como..." -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "Salvar _Seleção Como..." -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "Fechar Este _Clipe" -#: src/gui.c:692 +#: src/gui.c:674 #, fuzzy, c-format msgid "_Backup Clip as .%s..." msgstr "_Backup do Clip como .lv1" -#: src/gui.c:701 +#: src/gui.c:683 #, fuzzy, c-format msgid "_Restore Clip from .%s..." msgstr "_Restaurar Clip de .lv1" -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "Salvar/Carregar/Backup com Som [_W]" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "Limpar espaço em disco [_U]" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "_Editar" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "Modo _MULTIPISTA" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "_Copiar Seleção" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "Cor_tar Seleção" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "_Inserir da Área de Transferência" -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "Colar como _Novo" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "_Mesclar Área de Transferência com Seleção" -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "_Deletar Seleção" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "Separar Áudio e _Vídeo" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "_Selecionar" -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "Selecionar Todos Fr_ames" -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "Apena_s Frame Inicial" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "Apenas Fram_e Final" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "Selecionar a partir do primeiro _frame" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "Selecionar a partir do ú_ltimo frame" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "Selecionar Última Inserção/_Mesclagem" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "Selecionar Último _Efeito" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "_Inverter Seleção" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "Travar _Largura da Seleção" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "_Tocar" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "Tocar Tudo [_P]" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "Tocar Seleção [_Y]" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "To_car Área de Transferência" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "Parar [_S]" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "Voltar [_W]" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "Tela Cheia [_F]" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "Tamanho _Dobrado" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "Tocar em Janela _Separada" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "Fundo _Branco" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "Repetir vídeo (para caber na faixa de áudio)" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "Repetir C_ontinuamente" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "Loops Pin_g Pong" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "_Mudo" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "Modo 'S_ticky' de Janela" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "Mostrar Contador de Frames [_H]" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "" -#: src/gui.c:1069 +#: src/gui.c:1045 msgid "Letterbox Mode" msgstr "" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "Efeito_s" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "Efeitos são aplicados na seleção atual." -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "_Rodar Efeito/Ferramenta/erador de Teste..." -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "Ferramen_tas" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "Ferramentas são aplicadas nos clipes inteiros." -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "Inverte_r área de transferência" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "Mudar velo_cidade de Execução/Salvar" -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "Resamplear _Vídeo para Nova Frame Rate" -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "_Utilitários" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "Ferramentas _Customizadas" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "_Gerar" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "" -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "Capturar Janela _Externa " -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "_Preferências" -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "_Áudio" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "Carregar _Novo Áudio para o Clipe" -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "Carregar Faixa do _CD" -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "E_jetar CD" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "Gravar Áudio E_xterno..." -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "para _Clip Novo..." -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "para _Seleção" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "Fade _In Áudio..." -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "Fade _Out Áudio..." -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "_Exportar Áudio" -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "Exportar Áudio _Selecionado" -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "Export_ar Todo Áudio" -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "_Anexar Áudio" -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "_Ajustar Áudio" -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "Diminuir/Aumentar Áudio para _Selecão" -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "Ajustar Áudio do Início ao Começo da Execução [_P]" -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "_Deletar Áudio" -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "Deletar Áudio _Selecionado" -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "Deletar _Todo Áudio" -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "Inserir _Silêncio na Seleção" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "_Resamplear Áudio..." -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "_Info" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "Mostrar _Informação de Clipe" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "Mostrar/_Editar Comentários do Arquivo" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "Mostrar Info da Área de Transferên_cia" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "Mostrar _Mensagens" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "Mostrar Erros de _Layout" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "_Clipes" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "_Renomear Clipe Atual no Menu" -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "A_vançado" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "Efeitos/Ferramentas/Utilitários _RFX" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "_Novo Script RFX de Teste..." -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "_Copiar Script RFX para Teste" -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "_Editar Script RFX de teste..." -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "Reno_mear Script RFX de Teste" -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "_Deletar Script RFX de Teste" -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "_Promover Teste de Efeito/Ferramenta/Gerador Renderizado..." -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "_Importar Script RFX Customizado" -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "E_xportar Script RFX Customizado" -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "De_letar Script RFX Customizado" -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "Reconstruir todos plugins RFX [_B]" -#: src/gui.c:1397 +#: src/gui.c:1371 #, fuzzy msgid "Receive _LiVES Stream from..." msgstr "Receber _LiVES stream de..." -#: src/gui.c:1401 +#: src/gui.c:1375 #, fuzzy msgid "_Send LiVES Stream to..." msgstr "Enviar LiVES _stream para..." -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "Abrir _yuv4mpeg stream em %sstream.yuv" -#: src/gui.c:1426 +#: src/gui.c:1399 #, fuzzy, c-format msgid "_Import Project (.%s)..." msgstr "_Importar Projeto (.lv2)" -#: src/gui.c:1430 +#: src/gui.c:1403 #, fuzzy, c-format msgid "E_xport Project (.%s)..." msgstr "E_xportar Projeto (.lv2)" -#: src/gui.c:1437 +#: src/gui.c:1409 #, fuzzy, c-format msgid "_Import Custom Theme (.%s)..." msgstr "_Importar Projeto (.lv2)" -#: src/gui.c:1442 +#: src/gui.c:1414 #, fuzzy, c-format msgid "E_xport Theme (.%s)..." msgstr "E_xportar Projeto (.lv2)" -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "_VJ" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "Mapeamento de _Efeitos de Tempo-Real" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "Vincular efeitos em tempo real para ctrl mais teclas de número." -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "_Definir Padrão de Efeitos em Tempo Real" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "Definir padrão de valores de parâmetros para efeitos em tempo real." -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "Salvar Padrão _de Efeitos em Tempo Real" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." @@ -3828,283 +3833,283 @@ "Salvar padrão de efeitos de tempo real de modo que seja restaurado toda vez " "que o LiVES abrir." -#: src/gui.c:1476 +#: src/gui.c:1448 #, fuzzy msgid "_Reset All Playback Speeds and Positions" msgstr "_Reiniciar todas as velocidades e posições de reprodução" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "" "Reiniciar todas posições de reprodução para o frame 1 e todas as framerates." -#: src/gui.c:1480 +#: src/gui.c:1452 #, fuzzy msgid "_MIDI/Joystick Interface" msgstr "_Dispositivo de Joystick" -#: src/gui.c:1489 +#: src/gui.c:1461 msgid "_MIDI/Joystick Learner..." msgstr "" -#: src/gui.c:1493 +#: src/gui.c:1465 msgid "_Save Device Mapping..." msgstr "" -#: src/gui.c:1497 +#: src/gui.c:1469 msgid "_Load Device Mapping..." msgstr "" -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "Mostrar Teclas de VJ [_K]" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "_Brinquedos" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "_Nenhum" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "Fra_mes doidos" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "TV _LiVES (banda larga)" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "_Ajuda" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 #, fuzzy msgid "_Donate to the Project !" msgstr "_Doar ao projecto !" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 msgid "_Email the Author" msgstr "" -#: src/gui.c:1547 +#: src/gui.c:1519 msgid "Report a _Bug" msgstr "" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 msgid "Suggest a _Feature" msgstr "" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 #, fuzzy msgid "Assist with _Translating" msgstr "Ajudar com a _tradução" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "_Acerca" -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "Rebobinar para iniciar (w)" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "Tocar tudo (p)" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "Parar execução (q)" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "Tocar seleção (y)" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "Volume" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "Volume do áudio (1.00)" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "Remover fundo branco (b)" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "Tocar mais devagar (ctrl-down)" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "Tocar mais rápido (ctrl-up)" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "Voltar (ctrl-left)" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "Avançar (ctrl-right)" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "Mostrar informação de clipe (i)" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "Esconder esta barra de ferramentas" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." msgstr "" #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr " Velocidade de execução do vídeo (frames por segundo) " -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "Variar a velocidade do vídeo" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "Primeiro Frame" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "Último Frame" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "O primeiro frame selecionado nesse clipe" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "O último frame selecionado nesse clipe" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "Iniciando...\n" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr "" " Aperte 'Q' para parar a gravação. NÃO CUBRA A JANELA DO TOCADOR! " -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "Número do frame a visualizar" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "Livre [_f]" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "Escolha livre do número do frame" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "Início [_s]" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "O número do frame está ligado ao quadro inicial" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "Fim [_e]" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "O número do frame está ligado ao quadro final" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "_Ponteiro" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "O número do frame está ligado ao ponteiro de execução" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "Voltar" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "Tocar Tudo" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "Tocar Seleção" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "Loop On/Off" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "Iniciar g_ravação" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "Parar de grava_r" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr "" -#: src/gui.c:3613 +#: src/gui.c:3553 #, fuzzy msgid "Streaming" msgstr "Sonhando" -#: src/gui.c:3615 +#: src/gui.c:3555 #, fuzzy, c-format msgid "Play Window%s" msgstr "Esconder Janela do Tocador" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "Esconder Janela do Tocador" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "Mostrar Janela do Tocador" -#: src/gui.c:4199 +#: src/gui.c:4127 #, fuzzy, c-format msgid "'LiVES opened the file' '%s'" msgstr "LiVES não pôde abrir o arquivo" -#: src/gui.c:4220 +#: src/gui.c:4146 #, fuzzy, c-format msgid "'LiVES closed the file' '%s'" msgstr "Deixar LiVES definir a extensão do _file" @@ -4114,11 +4119,11 @@ msgid "Mapped to ctrl-%d" msgstr "" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "Efeitos" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "Clipes" @@ -4132,11 +4137,11 @@ msgid "Select clip for %s\n" msgstr "_Deletar set" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "" @@ -4181,11 +4186,11 @@ msgid "%d bytes" msgstr "" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "Limpando a área de trasferência" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -4196,7 +4201,7 @@ "==============================\n" "Alternado para clipe %s\n" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" @@ -4206,11 +4211,11 @@ "==============================\n" "Alternado para clipe vazio\n" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "(em branco)" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " @@ -4219,7 +4224,7 @@ "O nome do set foi modificado de %s para %s. Layouts afetados foram " "atualizados\n" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" @@ -4228,7 +4233,7 @@ "O clipe %s está faltando no set.\n" "Ele é necessário para os seguintes layouts:\n" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" @@ -4237,7 +4242,7 @@ "O clipe %s foi fechado.\n" "Ele é utilizado nos seguintes layouts:\n" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" @@ -4246,7 +4251,7 @@ "Frames foram movidos no clipe %s.\n" "Os seguintes layouts foram afetados:\n" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" @@ -4255,7 +4260,7 @@ "Frames foram deletados no clipe %s.\n" "Os seguintes layouts foram afetados:\n" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" @@ -4264,7 +4269,7 @@ "Frames foram deletados do clipe %s.\n" "Os seguintes layouts foram afetados:\n" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" @@ -4273,7 +4278,7 @@ "Áudio foi movido no clipe %s.\n" "Os seguintes layouts foram afetados:\n" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" @@ -4282,7 +4287,7 @@ "Áduio foi alterado no clipe %s.\n" "Os seguintes layouts foram afetados:\n" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" @@ -4291,7 +4296,7 @@ "Frames foram alterados no clipe %s.\n" "Os seguintes layouts foram afetados:\n" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -4302,7 +4307,7 @@ "não pode ser aberto porque está em uso\n" "por outra instância de LiVES.\n" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -4313,7 +4318,7 @@ "O set %s está atualmente em uso por outra instância do LiVES.\n" "Escolha outro nome.\n" -#: src/utils.c:2188 +#: src/utils.c:2207 #, fuzzy, c-format msgid "" "\n" @@ -4322,7 +4327,7 @@ "\n" "O nome de sets não pode ser vazio.\n" -#: src/utils.c:2196 +#: src/utils.c:2215 #, fuzzy, c-format msgid "" "\n" @@ -4331,7 +4336,7 @@ "\n" "Nomes de set não podem conter espaços ou o caracter%s.\n" -#: src/utils.c:2204 +#: src/utils.c:2223 #, fuzzy, c-format msgid "" "\n" @@ -4340,18 +4345,18 @@ "\n" "Nomes de set não podem conter espaços ou o caracter%s.\n" -#: src/utils.c:2213 +#: src/utils.c:2232 #, c-format msgid "" "\n" "%s names may not start with a '.' or contain '..'\n" msgstr "" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4362,75 +4367,75 @@ "O set %s já existe.\n" "Escolha outro nome.\n" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "Removendo layout %s\n" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "Vídeo [abrindo...]" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "Vídeo [%.2f seg]" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "(Indefinida)" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "(Sem vídeo)" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "(Sem áudio)" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "Mono [abrindo...]" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "Áudio Esquerdo [abrindo...]" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "Mono [%.2f seg]" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "Áudio Esquerdo [%.2f seg]" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "Áudio Direito [abrindo...]" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "Áudio Direito [%.2f seg]" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "" "LiVES não pode mudar para o mplayer enquanto clipes estão sendo carregados." -#: src/utils.c:3492 +#: src/utils.c:3548 #, fuzzy msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "" "LiVES não pode mudar para o mplayer enquanto clipes estão sendo carregados." -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "Limpando clipe" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4445,29 +4450,29 @@ "\n" "Sobrescrever?\n" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "Desfazer %s [_U]" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "_Refazer %s" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "-------------Seleção------------" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr " seg ] ---------- Seleção ---------- [ " -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr " frames ] ----------" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4492,7 +4497,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "Abrindo %s tempo inicial %.2f seg. frames %d" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr " sem som" @@ -4610,7 +4615,7 @@ "Tem certeza que quer continuar?" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "Pegando frames do clipe" @@ -4669,12 +4674,12 @@ msgid "Recording performance..." msgstr "Gravando performance..." -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "FPS médio era %.4f\n" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4688,21 +4693,21 @@ "Vá em 'Ferramentas | Redimensionar Todos'\n" "e redimensione todos frames para o tamanho atual.\n" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "Desconhecido" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "Untitled%d" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "%d frames são suficientes!\n" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4710,13 +4715,13 @@ "%s\n" msgstr "" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" msgstr "" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4724,7 +4729,7 @@ "Bad things may happen with this clip.\n" msgstr "" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4736,13 +4741,13 @@ "FPS.\n" "O padrão pode ser ajustado em 'Ferramentas | Preferências | Misc'.\n" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "" "Velocidade de execução ajustada para %.3f fps para se encaixar no áudio.\n" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" @@ -4751,7 +4756,7 @@ "Frames=%d tipo=%s tamanho=%dx%d *bpp=Greyscale* fps=%.3f\n" "Áudio:" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" @@ -4760,54 +4765,54 @@ "Frames=%d tipo=%s tamanho=%dx%d bpp=%d fps=%.3f\n" "Áudio:" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "%s nenhum\n" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, fuzzy, c-format msgid " - Author: %s\n" msgstr "Autor: %s" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, fuzzy, c-format msgid " - Title: %s\n" msgstr " - Comentário: %s\n" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr " - Comentário: %s\n" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "Salvando frame %d de %s..." -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "Fazendo backup de %s até %s" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "Fazendo backup" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "backup concluído dos dados da performance..." -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "Restaurando %s..." -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "Restaurando" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -4862,12 +4867,12 @@ msgid "Recovering files..." msgstr "Recuperando arquivos..." -#: src/dialogs.c:87 +#: src/dialogs.c:83 #, fuzzy msgid "Show affeced _layouts" msgstr "_Deletar layouts afetados" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" @@ -4875,51 +4880,51 @@ "Não mostrar mais este aviso\n" "(pode ser ligado novamente em Preferências/Avisos)" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr "" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 #, fuzzy msgid "Warning !" msgstr "Avisos" -#: src/dialogs.c:198 +#: src/dialogs.c:186 #, fuzzy msgid "Error !" msgstr "$error" -#: src/dialogs.c:208 +#: src/dialogs.c:196 #, fuzzy msgid "Information" msgstr "LiVES: Informação para %s" -#: src/dialogs.c:234 +#: src/dialogs.c:221 msgid "Question" msgstr "" -#: src/dialogs.c:248 +#: src/dialogs.c:235 #, fuzzy msgid "File Error" msgstr "Limpar _Erros" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -4930,7 +4935,7 @@ "(Disk warning levels can be configured in Preferences.)" msgstr "" -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -4942,11 +4947,11 @@ "Preferences.)" msgstr "" -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "Tocadores de áudio não podem ser trocados durante a execução." -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -4959,18 +4964,18 @@ "insuficiente.\n" "Por favor tente fechar outros aplicativos primeiro.\n" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "" -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" "%s%d%% done. Time remaining: %u sec%s\n" msgstr "" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" @@ -4979,14 +4984,14 @@ "\n" "%d/%d frames abertos. Tempo restante %u seg.\n" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" "%d/%d frames opened.\n" msgstr "" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" @@ -4995,7 +5000,7 @@ "\n" "%d frames abertos.\n" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" @@ -5004,7 +5009,7 @@ "\n" "Tempo restante: %d seg" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -5015,7 +5020,7 @@ "Desculpe, LiVES só pode abrir %d arquivos por vez.\n" "Por favor feche um arquivo e tente novamente." -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, fuzzy, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -5032,7 +5037,7 @@ "\n" "Por favor tenha certeza de ter permissão de escrita neste diretório." -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 #, fuzzy msgid "" "\n" @@ -5043,7 +5048,7 @@ "LiVES atualmente precisa do 'mplayer' ou 'sox' para funcionar. Por favor " "instale um deles e tente novamente.\n" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 #, fuzzy msgid "" "\n" @@ -5054,7 +5059,7 @@ "LiVES atualmente precisa do 'mplayer' ou 'sox' para funcionar. Por favor " "instale um deles e tente novamente.\n" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 #, fuzzy msgid "" "\n" @@ -5065,19 +5070,19 @@ "LiVES atualmente precisa do 'mplayer' ou 'sox' para funcionar. Por favor " "instale um deles e tente novamente.\n" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" @@ -5088,7 +5093,7 @@ "ou troque por outro formato de codificador em 'Ferramentas | Preferências | " "Codificação'\n" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -5102,7 +5107,7 @@ "Por favor mude o codec de áudio em 'Ferramentas | Preferências | " "Codificação'\n" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" @@ -5110,13 +5115,13 @@ "Este layout inclui frames gerados.\n" "Ele nãopode ser salvo, renderize como clipe primeiro.\n" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -5127,7 +5132,7 @@ "\n" "Devido a restrições no formato %s\n" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" @@ -5135,43 +5140,43 @@ "LiVES recomenda as configurações a seguir:\n" "\n" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr "" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr "" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr "" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr "" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "Definir vídeo para %.3f FPS\n" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "Definir vídeo para %d:%d FPS\n" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "Redimensionar vídeo para %d x %d pixels\n" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" @@ -5179,36 +5184,36 @@ "\n" "Você pode querer:\n" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "redimensionar vídeo para %d x %d pixels\n" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "" "desabilite o áudio, uma vez que o codificador não pode codificar áudio\n" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "LiVES deve:\n" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "resamplear vídeo para %.3f FPS\n" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "resamplear vídeo para %d:%d FPS\n" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -5222,7 +5227,7 @@ "Aperte 'OK' para continuar e 'Cancelar' para abortar.\n" "\n" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" @@ -5232,7 +5237,7 @@ "Mudanças aplicadas a seleção não serão permanentes.\n" "\n" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -5245,7 +5250,7 @@ "LiVES não pôde gravar a performance. Não há memória suficiente disponível.\n" "Tente gravar apenas uma parte do arquivo." -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -5264,7 +5269,7 @@ "\n" "Aperte 'Cancelar' para abortar a inserção, ou 'OK' para continuar." -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, fuzzy, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -5282,18 +5287,18 @@ "Você deve apenas clicar em OK se você sabe o que está fazendo, em outro caso " "clique Cancelar." -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "Histórico de Mensagens" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " "in your %s file" msgstr "" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -5304,7 +5309,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 #, fuzzy msgid "" "Sorry, unknown audio type.\n" @@ -5315,18 +5320,18 @@ "\n" " (Nomes de arquivo devem terminar em .mp3, .ogg, .wav, .mod, .xm ou .it)" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "falhou (tipo desconhecido)\n" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" "(They will not be usable without the set).\n" msgstr "" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -5340,7 +5345,7 @@ "existente.\n" "Clique em Cancelar para escolher um novo nome.\n" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -5352,7 +5357,7 @@ "Tem certeza que quer continuar?\n" "." -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -5364,7 +5369,7 @@ "Tem certeza que quer continuar?\n" "." -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -5375,7 +5380,7 @@ "Otherwise click Cancel to skip loading this file.\n" msgstr "" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -5390,7 +5395,7 @@ "%s\n" "O clipe não pode ser carregado.\n" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -5398,7 +5403,7 @@ "Alternately, select a different audio player in Preferences.\n" msgstr "" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -5407,13 +5412,13 @@ "Automatic jack startup will be disabled now.\n" msgstr "" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" msgstr "" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -5424,13 +5429,13 @@ "%s\n" msgstr "" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" msgstr "" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -5445,7 +5450,7 @@ "Você pode aumentar este valor em Preferências/Multipista.\n" "É recomendado aumentá-lo em ao menos %d MB" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -5454,7 +5459,7 @@ "Do you wish to delete them ?\n" msgstr "" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -5466,7 +5471,7 @@ "Feche alguns aplicativos ou reduza o tamanho da memória de desfazer\n" "Em 'Preferências > Multipista 'Memória de Desfazer'\n" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -5478,7 +5483,7 @@ "Você precisa aumentar o buffer de desfazer\n" "em 'Preferências > Multipista > Tamanho do buffer de desfazer'\n" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" @@ -5486,19 +5491,19 @@ "\n" "LiVES não conseguiu reservar memória sufiiciente para o buffer de desfazer.\n" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "ou insira um valor menos.\n" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "Tente novamente do editor de clipes, tente fechar outros aplicativos\n" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "Tente fechar outros aplicativos\n" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" @@ -5507,21 +5512,21 @@ "áudio.\n" "Ajuste as configurações de áudio no menu Ferramentas.\n" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "" "O layout atual tem áudio, de modo que canais de áudio não podem ser " "definidos como zero.\n" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" "You can set this in Tools|Preferences|Playback." msgstr "" -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" @@ -5531,13 +5536,13 @@ "outro sistema, ou de uma versão mais antiga do LiVES).\n" "Tentar reparar a cópia em disco do layout?\n" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" msgstr "" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 #, fuzzy msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" @@ -5547,7 +5552,7 @@ "LiVES atualmente precisa do 'mplayer' ou 'sox' para funcionar. Por favor " "instale um deles e tente novamente.\n" -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 #, fuzzy msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" @@ -5557,7 +5562,7 @@ "LiVES atualmente precisa do 'mplayer' ou 'sox' para funcionar. Por favor " "instale um deles e tente novamente.\n" -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 #, fuzzy msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" @@ -5567,7 +5572,7 @@ "LiVES atualmente precisa do 'mplayer' ou 'sox' para funcionar. Por favor " "instale um deles e tente novamente.\n" -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" @@ -5577,7 +5582,7 @@ "\n" "A taxa de áudio deve ser maior que 0.\n" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5589,7 +5594,7 @@ "e pode demorar muito tempo para ser apresentada.\n" "Tem certeza que deseja visualizar?\n" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" @@ -5599,7 +5604,7 @@ "\n" "Você deve instalar o 'dvgrab' para usar esta função.\n" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5608,25 +5613,25 @@ "You may need to select one of these in Tools/Preferences/Playback.\n" msgstr "" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "O plugin de execução de vídeo falhou em iniciar a palheta!\n" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "O plugin de decodificação de áudio falhou em inicializar a palheta!\n" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "Impossível definir framerate do plugin de vídeo\n" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" msgstr "" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5639,33 +5644,33 @@ "\n" "echo %d > /proc/sys/net/core/rmem_max\n" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "cancelado.\n" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "falhou.\n" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "feito.\n" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "erro no arquivo. Falhou.\n" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -5675,7 +5680,7 @@ "%s%s%s" msgstr "" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -5685,7 +5690,7 @@ "%s" msgstr "" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -5695,7 +5700,7 @@ "%s" msgstr "" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -5704,7 +5709,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -5714,7 +5719,7 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -5723,7 +5728,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -5733,12 +5738,12 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "" -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -5747,7 +5752,7 @@ "Please check your system for errors.\n" msgstr "" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -5760,7 +5765,7 @@ "%s\n" "Por favor veja as permissões e tente novamente." -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -5769,7 +5774,7 @@ "Please check the directory permissions and try again." msgstr "" -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, c-format msgid "" "\n" @@ -5777,14 +5782,14 @@ "%s\n" msgstr "" -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -5792,13 +5797,13 @@ "Please select another encoder from the list.\n" msgstr "" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" msgstr "" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -5808,27 +5813,27 @@ "- Check if the device actually exists.\n" msgstr "" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" "Do you wish to overwrite the existing subtitles ?\n" msgstr "" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 msgid "" "\n" "LiVES currently only supports subtitles of type" msgstr "" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -5837,14 +5842,14 @@ "or OK to continue and save as type \"%s\"\n" msgstr "" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" "(If unsure, click Yes)\n" msgstr "" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -5855,19 +5860,19 @@ "." msgstr "" -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" msgstr "" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" msgstr "" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -5875,7 +5880,7 @@ "DO NOT SHUT DOWN OR CLOSE LIVES !\n" msgstr "" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, fuzzy, c-format msgid "" "\n" @@ -5886,14 +5891,14 @@ "Alguns %s estão faltando no layout%s\n" "Por isso não pode ser carregado corretamente.\n" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" "Please check the spelling of the set name and try again.\n" msgstr "" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -5902,7 +5907,7 @@ "directory. Would you like me to do this (recommended) ?" msgstr "" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -5914,7 +5919,7 @@ msgstr "" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -5923,40 +5928,40 @@ "\n" msgstr "" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" "Consult your package distributor.\n" msgstr "" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" msgstr "" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "" "Por favor configure seu tocador de CD em 'Ferramentas | Preferências | " "Misc'\n" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, fuzzy, c-format msgid "" "\n" @@ -5969,7 +5974,7 @@ "%s\n" "Por favor veja as permissões e tente novamente." -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -5978,7 +5983,7 @@ "already exists. Would you like to overwrite it ?\n" msgstr "" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -6119,7 +6124,7 @@ msgid "Video only Transitions" msgstr "Ver apenas Transições" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "áudio apenas" @@ -6127,7 +6132,7 @@ msgid "Audio only Transitions" msgstr "Transições apenas de Áudio" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "áudio" @@ -6171,7 +6176,7 @@ msgid "Audio Analysers" msgstr "" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "desconhecido" @@ -6228,90 +6233,90 @@ "\n" "Nenhum frame foi gerado.\n" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 #, fuzzy msgid "Invalid element" msgstr "Parametro inválido" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 #, fuzzy msgid "Invalid property" msgstr "Parametro inválido" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 #, fuzzy msgid "Invalid plugin" msgstr "Linha inválida %d em %s\n" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 #, fuzzy msgid "No error" msgstr "$error" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 msgid "integer" msgstr "" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 msgid "string" msgstr "" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 msgid "pointer" msgstr "" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "Erro: plugin %s não tem a função weed_setup().\n" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" @@ -6320,271 +6325,271 @@ "Info: Impossível carregar plugin %s\n" "Erro: %s\n" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr "" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "Carregado %d filtros de Weed com sucesso\n" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, c-format msgid "Successfully loaded %d compound filters\n" msgstr "" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, fuzzy, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "Falha ao iniciar instância %s, erro %d\n" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "Impossível iniciar gerador %s\n" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, fuzzy, c-format msgid "Failed to start generator %s (%s)\n" msgstr "Falha ao iniciar gerador %s\n" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, fuzzy, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "Falha ao iniciar gerador %s\n" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 msgid "Autoscale" msgstr "" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 #, fuzzy msgid "Delete this connection" msgstr "_Deletar este efeito" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, c-format msgid "%s - Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, c-format msgid "%s - Parameter Data Connections" msgstr "" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 msgid "Parameter and Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 msgid "Auto Connect Channels" msgstr "" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 msgid "Auto Connect Parameters" msgstr "" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "Clique em 'Preview' para mudar estes valores" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "_Reiniciar Valores" -#: src/framedraw.c:241 +#: src/framedraw.c:242 msgid "_Frame" msgstr "" @@ -6628,40 +6633,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "%s : tamanho" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "Novo tamanho (pixels)" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "Largura [_W]" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "Altura [_H]" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "Gerar na Área de Transferên_cia" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "Gerar frames na área de transferência" -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "Gerar em _Novo Clipe" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "Gerar frames em um novo clipe" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -6742,32 +6747,32 @@ " Ferramentas|Preferências|Execução|Plugins de Execução Avançados\n" "\n" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "" -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "_FPS" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "Framerate fixa para plugin.\n" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "Entrada de colorspace para o plugin.\n" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -6780,7 +6785,7 @@ "Falhou em abrir o plugin de execução %s\n" "Erro: %s\n" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -6795,7 +6800,7 @@ "está sem uma função essencial.\n" "Impossível usá-lo.\n" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" @@ -6804,7 +6809,7 @@ "O plugin de execução de vídeo falhou ao iniciar.\n" "O error: %s\n" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " @@ -6813,17 +6818,17 @@ "*** Usando o plugin %s pra execução em tela cheia, com a palheta tipo %d " "(%s). ***\n" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -6832,7 +6837,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -6845,7 +6850,7 @@ "%s%s%s\n" "ou troque de plugin em 'Ferramentas | Preferências | Codificação'\n" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, c-format msgid "" "\n" @@ -6853,12 +6858,12 @@ "No decoders found in %s !\n" msgstr "" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, fuzzy, c-format msgid " using %s" msgstr "Abrindo %s" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -6871,7 +6876,7 @@ "Falhou em abrir o plugin de decodificação %s\n" "Erro: %s\n" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -6886,25 +6891,25 @@ "está sem uma função essencial.\n" "Impossível usá-lo.\n" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "/desconhecido" -#: src/plugins.c:2556 +#: src/plugins.c:2550 #, fuzzy msgid "Decoder Plugins" msgstr "Decodificação" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "Falhou em carregar %s, as transições podem não redimensionar.\n" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "%s configurações avançadas" @@ -7118,20 +7123,20 @@ msgid "Move _Down" msgstr "Move Abaixo [_U]" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 #, fuzzy msgid "RFX Properties" msgstr "LiVES: - Propriedades RFX" -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "Lento (nota para GUI) [_S]" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "Gerador de modo _batch" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -7145,7 +7150,7 @@ "Favor remover o gatilho primeiro.\n" "\n" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -7157,195 +7162,195 @@ "Alguns gatilhos foram ajustados.\n" "Por favor confirme o código gatilho.\n" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 #, fuzzy msgid "New RFX Parameter" msgstr "LiVES: - Novo Parâmetro RFX" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 #, fuzzy msgid "Edit RFX Parameter" msgstr "LiVES: - Editar Parâmetro RFX" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "_Nome: " -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "Nome do parâmetro, deve ser único no plugin." -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "_Rótulo: " -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." msgstr "" "Rótulo a ser mostrado pelo parâmetro. Um sublinhado representa um atalho." -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "_Tipo: " -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "Tipo de parâmetro (selecione de uma lista)." -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "Casas decimais [_P]: " -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "Valor pa_drão: " -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "Padrão [_D]: " -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "_Grupo de botões: " -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "Um valor diferente de zero pode ser usado para agrupar botões rádio." -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "Valor _mínimo: " -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "Valor má_ximo: " -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr " Tamanho do pa_sso: " -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "Quanto do parâmetro é ajustado quando as setas são pressionadas." -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 msgid "_Wrap value" msgstr "" -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "Se o valor empacota max->min e min->max." -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "Definir _valores" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "Padrão ve_rmelho: " -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "Padrão verde [_G]:" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "Padrão azul [_B]: " -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "_Definir padrão" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "Valor padrão: " -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "Comprimento máximo (caracteres): " -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 #, fuzzy msgid "New RFX Parameter Window Hint" msgstr "LiVES: - Notas da Janela de Parâmetros RFX" -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 #, fuzzy msgid "Edit RFX Parameter Window Hint" msgstr "LiVES: - Notas da Janela de Edição de Parâmetros RFX" -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "" -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "" -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "" -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "Linha: " -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "Parâmetros atrelados (%d): " -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "Parametros atrelados (4): " -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "Parâmetros atrelados (2): " -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 #, fuzzy msgid "New RFX Trigger" msgstr "LiVES: - Novo Gatilho RFX" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 #, fuzzy msgid "Edit RFX Trigger" msgstr "LiVES: - Editar Gatilho RFX" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "Quando: " -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 #, fuzzy msgid "Pre Loop Code" msgstr "LiVES: - Código Pré-loop" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 #, fuzzy msgid "Loop Code" msgstr "Código de _loop..." -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 #, fuzzy msgid "Post Loop Code" msgstr "LiVES: - Codigo Pós-Loop" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, fuzzy, c-format msgid "Default text (max length %d)" msgstr "LiVES: - Texto padrão (tam. máx. %d)" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 #, fuzzy msgid "Enter values, one per line" msgstr "LiVES: - Entre com valores, um por linha" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" @@ -7355,7 +7360,7 @@ "\n" "O nome não deve ficar em branco.\n" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" @@ -7365,7 +7370,7 @@ "\n" "Nome não pode conter espaços.\n" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" @@ -7375,7 +7380,7 @@ "\n" "Texto do menu não pode estar em branco.\n" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" @@ -7385,7 +7390,7 @@ "\n" "Descrição da ação não pode estar em branco.\n" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" @@ -7395,7 +7400,7 @@ "\n" "O nome do autor não deve ficar em branco.\n" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -7407,7 +7412,7 @@ "Já existe um plugin com este nome.\n" "O nome deve ser único.\n" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" @@ -7417,7 +7422,7 @@ "\n" "Codigo do loop não deve estar em branco.\n" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" @@ -7427,7 +7432,7 @@ "\n" "O código do gatilho não deve ser deixado em branco para um utilitário.\n" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" @@ -7437,7 +7442,7 @@ "\n" "O nome do parâmetro não deve ser deixado em branco.\n" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -7451,41 +7456,41 @@ "plugin.\n" "\n" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "Escrevendo arquivo de script %s..." -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "A seção <define> não foi encontrada no script.\n" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "Versão do script ruim.\n" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "A seção <name> não foi encontrada no script.\n" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "A seção <version> não foi enonctrada no script.\n" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "A seção <author> não foi encontrada no script.\n" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "A seção <description> não foi encontrada no script.\n" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "Descrição ruim. (%s)\n" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -7500,27 +7505,27 @@ "encontrado no script.\n" "\n" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "Reconstruindo todos scripts RFX..." -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "Reconstruindo scripts" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "customizado..." -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "teste..." -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "reconstruindo entradas dinâmicas de menu..." -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -7533,7 +7538,7 @@ "LiVES não conseguiu encontrar o programa %s.\n" "Por favor confirme se este programa está no PATH e é executável.\n" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -7548,12 +7553,12 @@ "%s ?\n" "\n" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "Deletando script RFX %s..." -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -7568,7 +7573,7 @@ "%s\n" "Código do erro %d\n" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -7583,12 +7588,12 @@ "já existe.\n" "Por favor delete-o primeiro, ou renomeie o script de teste.\n" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "Promovendo plugin rfx %s de teste para customizado..." -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -7599,22 +7604,22 @@ "Return code was %d (%s)\n" msgstr "" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 #, fuzzy msgid "Export Script" msgstr "Exportando projeto" -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "Copiando %s para %s..." -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 #, fuzzy msgid "Import Script" msgstr "Importando projeto" -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -7629,46 +7634,46 @@ "já existe.\n" "Por favor delete-o primeiro, ou renomeie o script a ser importado.\n" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 #, fuzzy msgid "Copy RFX Script" msgstr "LiVES: - Copy RFX Script" -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "" -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr " Script: " -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 #, fuzzy msgid "Rename Test RFX Script" msgstr "Reno_mear Script RFX de Teste" -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "Do script: " -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 #, fuzzy msgid "RFX Script Name" msgstr "LiVES: - Nome do Script RFX" -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "Nome do script: " -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "Novo nome: " -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "Novo nome de script: " -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -7680,12 +7685,12 @@ "Já existe um script de teste com este nome.\n" "O nome do script deve ser único.\n" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "Renomeando script RFX de teste %s para %s..." -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -7702,28 +7707,28 @@ "%s\n" "Código %d\n" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "_Aplicar Efeitos em Tempo-Real para Seleção" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 #, fuzzy msgid "Applying Current Real Time Effects to" msgstr "_Aplicar Efeitos em Tempo-Real para Seleção" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "Carregando efeito renderizado %s..." -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "" "Veja: VJ - mostrar atalhos'. Configure os efeitos em tempo-real, e depois " "aplique-os aqui." -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -7735,7 +7740,7 @@ "Plugins de execução de vídeo só são ativados em\n" "tela cheia, modo de janela separada\n" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -7743,7 +7748,7 @@ "(Free space = UNKNOWN)" msgstr "" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -7752,14 +7757,14 @@ "(Free space = %s)" msgstr "" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" "It should be in a partition with plenty of free disk space.\n" msgstr "" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7770,7 +7775,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7780,7 +7785,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1193 +#: src/preferences.c:1163 #, fuzzy msgid "" "You have chosen to change the working directory.\n" @@ -7801,7 +7806,7 @@ "Ou aperte 'Cancelar' para restaurar o diretório temp para sua configuração " "original." -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, fuzzy, c-format msgid "" "\n" @@ -7814,7 +7819,7 @@ "primeiro.\n" "Veja http://jackaudio.org\n" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" @@ -7822,7 +7827,7 @@ "\n" "Trocar tocador de áudio requer reiniciar (jackd não deve estar rodando)\n" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, fuzzy, c-format msgid "" "\n" @@ -7835,390 +7840,390 @@ "primeiro.\n" "Veja http://jackaudio.org\n" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "PCM (qualidade melhor; arquivos maiores)" -#: src/preferences.c:2468 +#: src/preferences.c:2418 #, fuzzy msgid "Preferences" msgstr "_Preferências" -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "Abrir janela de seleção de arquivos maximizada" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "Mostrar arquivos recentes no menu 'Arquivo'" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "Parar screensaver quando tocando " -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "Abrir janela principal maximizada" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "Mostrar barra de ferramentas quando o fundo estiver limpo" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "Suporte multi-head" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr " número do monitor para a interface do LiVES" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr " número do monitor para execução" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." msgstr "" -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "Forçar monitor único" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "GUI" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "Quando entrando no modo multipista" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "_Pergunte-me por configurações de largura, altura, FPS e de áudio" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "Sempre use os seguintes v_alores:" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "Use os mesmos _valores para renderizar um novo clip" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr " Tamanho do b_uffer de desfazer (MB) " -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "Sair do modo multipista depois d_e renderizar" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "_Cada" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "segundos" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "Depois de _cada mudança" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "_Nunca" -#: src/preferences.c:2872 +#: src/preferences.c:2757 #, fuzzy msgid "Maximum number of visible tracks" msgstr "Número máximo de trilhas a visualizar" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "Multipista/Renderizar" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "Use abertura imediata quando possível" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "" "Ativar abertura imediata de alguns tipos de arquivo usando plugins de " "decodificação" -#: src/preferences.c:2925 +#: src/preferences.c:2804 msgid "Video open command (fallback)" msgstr "" -#: src/preferences.c:2935 +#: src/preferences.c:2811 msgid "Fallback image format" msgstr "" -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "_jpeg" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "_png" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "" -#: src/preferences.c:2964 +#: src/preferences.c:2832 msgid "Open/render compression" msgstr "" -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr "" " % ( mais baixo = arquivos maiores e mais lentos; para jpeg, melhor " "qualidade )" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "Ativar desinterlaçamento automático quando possível" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "Desinterlaça automaticamente frames quando um plugin o sugerir" -#: src/preferences.c:2995 +#: src/preferences.c:2856 #, fuzzy msgid "Automatic trimming / padding of audio when possible" msgstr "Ativar desinterlaçamento automático quando possível" -#: src/preferences.c:2997 +#: src/preferences.c:2858 #, fuzzy msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "Desinterlaça automaticamente frames quando um plugin o sugerir" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "Quando abrir múltiplos arquivos, concatene as imagens em um clip" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "Decodificação" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "VÍDEO" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "Baixo - pode melhorar a performance em computadores mais lentos" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "Normal - recomendado para a maioria dos usuários" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "Alto - pode melhorar a qualidade em computadores muito rápidos" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "_Qualidade de Visualização" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "" "A qualidade da pré-visualização da execução de vídeo - afeta o " "redimensionamento" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "_Mostrar estatísticas de FPS" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "_Plugin" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "ÁUDIO" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "Tocador [_P]" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "_Comando para tocar áudio" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "- interno -" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "Áudio segue a velocidade/di_reção de vídeo" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "Áudio segue as mudanças de _clipe" -#: src/preferences.c:3269 +#: src/preferences.c:3110 msgid "Source:" msgstr "" -#: src/preferences.c:3273 +#: src/preferences.c:3114 msgid "_Internal" msgstr "" -#: src/preferences.c:3278 +#: src/preferences.c:3119 msgid "_External (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "Execução" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" msgstr "" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr " O que gravar quando 'r' for pressionado " -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "Mudanças de _frame" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "Mudanças de F_PS" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "_Efeitos em tempo real" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "GB" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "Gravando" -#: src/preferences.c:3454 +#: src/preferences.c:3273 #, fuzzy msgid "You can also change these values when encoding a clip" msgstr "Clique em 'Preview' para mudar estes valores" -#: src/preferences.c:3466 +#: src/preferences.c:3285 msgid "Encoder" msgstr "" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "Formato de saída" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "Codec de áudio" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "Codificação" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "Usar _antialiasing quando redimensionando" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "Numero de teclas para efeitos tempo real" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." @@ -8226,97 +8231,97 @@ "O número de teclas de efeito em tempo real \"virtuais\". Podem ser " "controladas através da janela de efeitos em tempo real, ou via rede (OSC)." -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr " Diretório de vídeo a ser carregado (padrão) " -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr " Diretório de salvar vídeo (padrão) " -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr " Diretório de áudio a ser carregado (padrão) " -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr " Diretório de imagens (padrão) " -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr " Diretório de Backup/Restauração (padrão) " -#: src/preferences.c:3649 +#: src/preferences.c:3461 #, fuzzy msgid " Working directory (do not remove) " msgstr " Diretório temp (não remova) " -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "O diretório padrão de onde carregar vídeos" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "O diretório padrão onde salvar vídeos codificados" -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "O diretório padrão para carregar e salvar áudio" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "O diretório padrão para salvar amostras de frames" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "" "O diretório padrão para fazer backup e restauração de clipes individuais" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "diretório de trabalho do LiVES." -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "Diretórios" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "" -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr "" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "" -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" @@ -8324,317 +8329,317 @@ "Avisar ao Inserir/Mesclar se o _framerate da área de transferência não for " "igual ao da seleção" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "Avisar ao abrir arquivos de tamanho _superior a " -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr " MB" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "Mostrar um aviso antes de salvar um se_t" -#: src/preferences.c:3872 +#: src/preferences.c:3659 msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " "when LiVES is started." msgstr "" -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "" "Mostrar um aviso se nenhum efeito _renderizado for encontrado na " "inicialização." -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "Avisar se o _mplayer não for encontrado quando o LiVES abrir." -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "Avisar se um nome de set _duplicado for digitado." -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "" "Quando um set é carregado, avise se clipes estiverem faltando dos _layouts." -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "Avise se um clipe usado em um layout está para ser fechado." -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "Avise se frames usados em um layout estão perto de serem deletados." -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "Avise se frames usados em um layout estão perto de serem movidos." -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "Avise se fames usados em um layout estão perto de serem alterados." -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "Avise se áudio usado em um layout está perto de ser deletado." -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "Avise se áudio usado em um layout está perto de ser movido." -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "Avise se áudio usado em um layout está perto de ser alterado." -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "" -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "Avise se um layout não estiver salvo ao sair do modo multipista." -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "" "Avisar se multipista não tem canais de áudio e o layout com áudio está " "carregado." -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." msgstr "" -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "" "Mostrar mensagem de informação depois de importar de dispositivo firewire." -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "Mostrar um aviso antes de abrir um stream yuv4mpeg (avançado)." -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "" "Mostrar um aviso quando houver pouco espaço em disco no modo multipista." -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "" -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "" -#: src/preferences.c:4113 +#: src/preferences.c:3865 #, fuzzy msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "Mostrar um aviso antes de abrir um stream yuv4mpeg (avançado)." -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "Avisos" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "Sincronia MIDI (requer os arquivos midistart e midistop)" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "Quando inserindo/mesclando frames: " -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "Aumentar/Diminuir Velocidade da In_serção" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "_Resamplear Inserção" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "Dispositivo de CD " -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "LiVES pode carregar faixas de áudio deste CD" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "FPS padrão " -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "Frames por segundo para usar se nenhum for especificado" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "Misc" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "Novo tema: " -#: src/preferences.c:4242 +#: src/preferences.c:3977 msgid "Main Theme Details" msgstr "" -#: src/preferences.c:4254 +#: src/preferences.c:3988 #, fuzzy msgid " _Foreground Color" msgstr "Cor de fundo [_B]" -#: src/preferences.c:4273 +#: src/preferences.c:4007 #, fuzzy msgid " _Background Color" msgstr "Cor de fundo [_B]" -#: src/preferences.c:4291 +#: src/preferences.c:4026 #, fuzzy msgid "_Alt Foreground Color" msgstr "Cor de fundo [_B]" -#: src/preferences.c:4309 +#: src/preferences.c:4044 #, fuzzy msgid "_Alt Background Color" msgstr "Cor de fundo [_B]" -#: src/preferences.c:4327 +#: src/preferences.c:4062 #, fuzzy msgid " Info _Text Color" msgstr " Altura [_H] " -#: src/preferences.c:4346 +#: src/preferences.c:4081 #, fuzzy msgid " Info _Base Color" msgstr " Altura [_H] " -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "" -#: src/preferences.c:4365 +#: src/preferences.c:4100 #, fuzzy msgid "Affects some contrast details of the timeline" msgstr "Ancorar o ponto final à linha de tempo" -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "" -#: src/preferences.c:4398 +#: src/preferences.c:4132 #, fuzzy msgid "Frame blank image" msgstr "Mudanças de _frame" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "" -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4474 +#: src/preferences.c:4203 #, fuzzy msgid "Track background (multitrack)" msgstr "Remover fundo branco (b)" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "" -#: src/preferences.c:4529 +#: src/preferences.c:4258 #, fuzzy msgid "Timeline selection (multitrack)" msgstr "Linha de tempo (segs.)" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "" -#: src/preferences.c:4553 +#: src/preferences.c:4282 #, fuzzy msgid "Timecode foreground (multitrack)" msgstr "_Timecode para o início da região" -#: src/preferences.c:4565 +#: src/preferences.c:4293 #, fuzzy msgid "Frame surround" msgstr "_Frames por segundo (FPS)" -#: src/preferences.c:4582 +#: src/preferences.c:4306 #, fuzzy msgid "Themes/Colors" msgstr "Temas" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "Velocidade de download (Kb/s) " -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "LiVES deve ser compilado sem \"configure --disable-OSC\" para usar OMC" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "Controle remoto OMC ativado" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "Porta UDP " -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "Iniciar OMC ao abrir" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "Streaming/Networking" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "Transporte" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" @@ -8642,44 +8647,44 @@ "LiVES deve ser compilado com jack/transport.h e jack/jack.h presentes para " "usar transporte jack" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "Arquivo de configuração do _transporte jack" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "Iniciar _servidor junto com o LiVES" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "Áudio" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "" "LiVES deve ser compilado com jack/jack.h presente para usar áudio do jack" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" @@ -8687,103 +8692,103 @@ "Você DEVE escolher o tocador de áudio \"jack\" na aba Execução para usar " "áudio do jack" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "_Arquivo de configuração do servidor de áudio jack" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "Integração com jack" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "Responder aos eventos:" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "_Eventos de Joystick" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "_Dispositivo de Joystick" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "O dispositivo de joystick, ex: /dev/input/js0" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "_Eventos MIDI" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "Usar _ALSA MIDI (recomendado)" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "" "Criar uma porta ALSA MIDI na qual outros dispositivos MIDI possam ser " "conectados" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "Ler directamente do dispositivo de MIDI" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "_Dispositivo de MIDI" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "O dispositivo de MIDI, ex: /dev/input/midi0" -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "Avançado" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." msgstr "" -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "Repetição MIDI" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "" -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -8795,44 +8800,44 @@ "diretório tenha efeito.\n" "Clique OK para continuar.\n" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." msgstr "" -#: src/preferences.c:5525 +#: src/preferences.c:5205 #, fuzzy msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "" "Mudanças de tema só surtirão efeito na próxima vez que o LiVES foi iniciado." -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "" "As opções do jack só surtirão efeito da próxima vez que o LiVES for iniciado." -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "Sincronizando ao framerate externo de %.8f FPS.\n" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "Impossível inicializar receptor OSC\n" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "AVISO: Não foi possível iniciar o servidor OSC na porta UDP %d\n" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "Servidor OSC iniciado na porta UDP %d\n" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "Não foi possivel iniciar servidor OSC/UDP na porta %d \n" @@ -8855,12 +8860,12 @@ msgid "Resample/Resize" msgstr "Resamplear/Redimensionar" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "Comprimento do vídeo é agora de %d frames.\n" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" @@ -8870,147 +8875,147 @@ "\n" "A nova taxa deve ser maior que 0\n" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "Resampleando áudio" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "LiVES não conseguiu resamplear o áudio como requisitado.\n" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "Resamplear Áudio" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "Áudio resampleado a %d Hz, %d canais, %d bit" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "Resampleando vídeo a %.8f frames por segundo..." -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "Resampleando vídeo a %.3f frames por segundo..." -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "Erro de reordenação!\n" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "Resamplear" -#: src/resample.c:1208 +#: src/resample.c:1209 #, fuzzy msgid "New Clip Audio" msgstr "Novo Áudio" -#: src/resample.c:1210 +#: src/resample.c:1211 #, fuzzy msgid "External Clip Settings" msgstr "LiVES: - Configurações Externas de Clipe" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "Atual" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "Taxa (Hz) " -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 msgid "Channels" msgstr "" -#: src/resample.c:1256 +#: src/resample.c:1257 msgid "Sample Size " msgstr "" -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "Não assinado" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "" -#: src/resample.c:1322 +#: src/resample.c:1323 #, fuzzy msgid "New Audio Details" msgstr "Novo Áudio" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "Novo" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "Habilitar áudio [_e]" -#: src/resample.c:1369 +#: src/resample.c:1370 msgid "_Channels" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "_Sample Size" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "Sample Size" msgstr "" -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "_Frames por segundo (FPS) " -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "Gravar para máximo: " -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr " horass " -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr " minutos " -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr " segundos " -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "Ilimitado" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "Clique OK para começar a gravar ou Cancelar para sair." -#: src/resample.c:1635 +#: src/resample.c:1636 #, fuzzy msgid "Change Playback Speed" msgstr "Mudar velo_cidade de Execução/Salvar" -#: src/resample.c:1637 +#: src/resample.c:1638 #, fuzzy msgid "Resample Video" msgstr "Resampleando vídeo" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -9027,7 +9032,7 @@ "Por favor digite o framerate desejado\n" "em _frames por segundo" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -9044,15 +9049,15 @@ "Por favor digite o framerate desejado para _resamplear\n" "em frames por segundo" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "OU entre a duração do arquivo em _segundos" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "Mudar _a velocidade do áudio também" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" @@ -9063,7 +9068,7 @@ "layouts multipista.\n" "Tem certeza que quer mudar a velocidade?\n" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" @@ -9074,47 +9079,47 @@ "layouts multipista.\n" "Tem certeza que quer mudar a velocidade?\n" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "Mudança de Velocidade" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "Velocidade de execução modificada para %.3f fps e áudio para %d Hz.\n" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "Velocidade de execução modificada para %.3f fps.\n" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "Resampleando vídeo" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "Resampleando vídeo da area de transferência" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "Reordenando frames" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" @@ -9124,11 +9129,11 @@ "\n" "LiVES foi incapaz de reordenar os frames." -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "Desordenando frames" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "erro de sampling..." @@ -9392,7 +9397,7 @@ msgid "Mode active" msgstr "Modo ativo" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "Info" @@ -9519,54 +9524,54 @@ msgid "Opened firewire card %d" msgstr "" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "Áudio de fundo" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, fuzzy, c-format msgid "%s : parameters for %s" msgstr "Sem parâmetros" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "Faixa selecionada: %s (camada %d)\n" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "Faixa atual: Áudio de fundo\n" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "Faixa selecionada: camada %d\n" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "%.2f seg.\n" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "Fonte: %s" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "Clique com o botão direito para menu.\n" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." msgstr "" -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -9575,7 +9580,7 @@ "right or double clicking on it.\n" msgstr "" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -9583,7 +9588,7 @@ "Select an effect in FX stack first to view its parameters.\n" msgstr "" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" @@ -9593,7 +9598,7 @@ "\n" "Sem clipes.\n" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -9603,7 +9608,7 @@ "before inserting clips into the timeline." msgstr "" -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -9612,12 +9617,12 @@ "to apply compositors.\n" msgstr "" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "%.2f seg. até %.2f seg.\n" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" @@ -9625,164 +9630,164 @@ "Clique simples na linha de tempo\n" "para selecionar um frame.\n" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" msgstr "" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr "para selecionar uma região.\n" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 #, fuzzy msgid "Selected Clip" msgstr "LiVES: Clipe seleccionado" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 msgid "_Adjust Start and End Points" msgstr "" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 msgid "_Edit/Encode in Clip Editor" msgstr "" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 #, fuzzy msgid "_Show Clip Information" msgstr "Mo_strar informacão de clipe" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 #, fuzzy msgid "_Close this Clip" msgstr "Fechar Este _Clipe" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 #, fuzzy msgid "Audio Mixer (ctrl-m)" msgstr "Mixer de Áudio (ctrl-m)" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "" -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "" -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "" -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "" -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "" -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "" -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "" -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "" -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "" -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "Fechar primeiro vão(s) nas trilhas/tempo selecionados" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "Fechar vãos" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "Mover bloco" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "Mover bloco de áudio" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "Deletar bloco" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "Deletar bloco de áudio" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "Dividir faixas" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "Dividir bloco" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "Aplicar %s" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "Deletar %s" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "Inserir bloco" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "Inserir vão" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "Inserir bloco de áudio" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "Mudança da ordem de efeitos" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "" -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "" -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " @@ -9791,15 +9796,15 @@ "Valores multipista definidos em %.3f fps, tamanho de frame %d x %d, canais " "de áudio %d, taxa de áudio %d, tamanho da amostra de áudio %d, %s.\n" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "lista de eventos inválida. Falha.\n" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "a lista de eventos tem um FPS inválida. Falha.\n" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -9814,7 +9819,7 @@ "fechar o set atual,\n" "e então carregue no novo set a partir do menu 'Arquivo'.\n" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -9825,489 +9830,489 @@ "Há um número inválido de canais de áudio (%d) no LiVES.\n" "Não pode ser carregado.\n" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "Params." -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "_Abrir..." -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "Abrir Trecho de Arquivo [_P]" -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "Importar trecho de _DVD/VCD" -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "Importar Trecho de _DVD" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "Importar Trecho de _VCD" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "_Importar de Dispositivo" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 #, fuzzy msgid "_Close the Selected Clip" msgstr "_Inserir clipe selecionado" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 #, fuzzy msgid "_Save Layout as..." msgstr "_Salvar layout como..." -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 #, fuzzy msgid "_Load Layout..." msgstr "_Carregar layout..." -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 #, fuzzy msgid "_Wipe/Delete Layout..." msgstr "_Descartar/Deletar layout..." -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 #, fuzzy msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "_Ignorar largura, altura e valores de áudio dos layouts carregados" -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 msgid "Auto Load _Subtitles with Clips" msgstr "" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "EDITOR DE _CLIPES" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 msgid "_Adjust Selected Clip Start/End Points" msgstr "" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "_Inserir clipe selecionado" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 #, fuzzy msgid "_Insert Selected Clip Audio" msgstr "_Inserir áudio do clipe selecionado" -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 #, fuzzy msgid "_Delete Selected Block" msgstr "_Deletar bloco Selecionado" -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 #, fuzzy msgid "_Jump to Previous Block Boundary" msgstr "Pular para limite de bloco anterior [_J]" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 #, fuzzy msgid "_Jump to Next Block Boundary" msgstr "Pular para o próximo limite de bloco [_J]" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 #, fuzzy msgid "Clear _Marks from Timeline" msgstr "Limpar _marcas da linha de tempo" -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 msgid "Ignore Selection Limits when Inserting" msgstr "" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "Tocar a partir da _posição na linha de tempo" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 #, fuzzy msgid "Pla_y Selected Time Only" msgstr "Tocar Seleção [_Y]" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 #, fuzzy msgid "_Move Effects with Blocks" msgstr "_Mover efeitos com blocos" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 #, fuzzy msgid "Select _Autotransition Effect..." msgstr "Selecionar Último _Efeito" -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 #, fuzzy msgid "Crossfade Audio with Autotransition" msgstr "Crossfade áudio" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 #, fuzzy msgid "View/_Edit Selected Effect" msgstr "Ver/_Editar o efeito seleccionado" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 #, fuzzy msgid "_Delete Selected Effect" msgstr "_Deletar efeito selecionado" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 #, fuzzy msgid "Apply Effect to _Block..." msgstr "Aplicar efeito ao _bloco..." -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 #, fuzzy msgid "Apply Effect to _Region..." msgstr "Aplicar efeito à _região..." -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "_Faixas" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 #, fuzzy msgid "Make _Backing Audio Current Track" msgstr "Fazer áudio de fundo a faixa atual (_b)" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "Adicionar faixa de vídeo at_rás" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "Adicionar Faixa de Vídeo à _Frente" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 #, fuzzy msgid "_Split Current Track at Cursor" msgstr "Dividir a trilha atual no cursor [_s]" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 #, fuzzy msgid "_Split Selected Video Tracks" msgstr "Dividir faixas _selecionadas de vídeo" -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 #, fuzzy msgid "Insert Gap in Selected Tracks/Time" msgstr "Inserir vão nas trilhas/tempo selecionados" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 #, fuzzy msgid "Insert Gap in Current Track/Selected Time" msgstr "Inserir vão na trilha atual e tempo selecionado" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 #, fuzzy msgid "Close All _Gaps in Selected Tracks/Time" msgstr "Fechar todos vãos nas trilhas/tempo selecionados (_g)" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "Se_leção" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "_Selecionar faixa atual" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 #, fuzzy msgid "Select _All Video Tracks" msgstr "Selecionar tod_as faixas de vídeo" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 #, fuzzy msgid "Select _No Video Tracks" msgstr "_Não selecionar faixas de vídeo" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 #, fuzzy msgid "Select All _Time" msgstr "Selecionar todo _tempo" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 #, fuzzy msgid "Select from _Zero Time" msgstr "Selecionar do tempo _zero" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 #, fuzzy msgid "Select to _End Time" msgstr "Selecionar fim do t_empo" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "_Copiar..." -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 #, fuzzy msgid "_Timecode to Region Start" msgstr "_Timecode para o início da região" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 #, fuzzy msgid "_Timecode to Region End" msgstr "_Timecode para o fim da região" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 #, fuzzy msgid "_Region Start to Timecode" msgstr "Início da _região para timecode" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 #, fuzzy msgid "_Region End to Timecode" msgstr "Fim da _região para timecode" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 #, fuzzy msgid "Select/Deselect Block at Current Track/Time" msgstr "_Selecionar faixa atual" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 #, fuzzy msgid "_Change Width, Height and Audio Values..." msgstr "Mudar valores de largura, alltura e áudio..." -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "_Renderizar" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 #, fuzzy msgid "_Render All to New Clip" msgstr "_Renderizar tudo para um novo clipe" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 #, fuzzy msgid "Render _Video" msgstr "Renderizar _vídeo" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 #, fuzzy msgid "Render _Audio" msgstr "Renderizar _áudio" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 #, fuzzy msgid "_Normalise Rendered Audio" msgstr "_Pre-renderizar áudio" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 #, fuzzy msgid "_Pre-render Audio" msgstr "_Pre-renderizar áudio" -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "_Ver" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 #, fuzzy msgid "Block _In/Out Points" msgstr "Bloquear pontos de entrada/sa_ida" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 #, fuzzy msgid "_Effects at Current" msgstr "_Efeitos no atual" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 #, fuzzy msgid "Audio Parameters" msgstr "Parâmetros de áudio" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 #, fuzzy msgid "Show Backing _Audio Track" msgstr "Mostrar faix_a do áudio de fundo" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 #, fuzzy msgid "Compact View" msgstr "Visão compacta" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 #, fuzzy msgid "Maximum Tracks to Display..." msgstr "Máximo de trilhas a inserir..." -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 #, fuzzy msgid "Scroll to Follow Playback" msgstr "Rolar para seguir a execução" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 #, fuzzy msgid "_Center on Cursor" msgstr "_Centralizar no cursor" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 #, fuzzy msgid "_Zoom In" msgstr "_Zoom in" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 #, fuzzy msgid "_Zoom Out" msgstr "_Zoom out" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 #, fuzzy msgid "Multitrack _Details" msgstr "_Detalhes multipista" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "Janela de _Eventos" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 #, fuzzy msgid "_Show FRAME Events" msgstr "Mostrar evento_s de frame" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 #, fuzzy msgid "_Show Multitrack Keys" msgstr "Mostrar tecla_s multipista" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 #, fuzzy msgid "Insert With _Audio" msgstr "Inserir com _áudio" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 #, fuzzy msgid "Select _Overlap" msgstr "Seleccionar faixa" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" msgstr "" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "Visão Expandida (d)" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "Visão Compacta (d)" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "Gravidade:_Normal" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "Gravidade:_Esquerda" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "Gravidade:_Direito" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 #, fuzzy msgid "Mouse Mode: _Move" msgstr "Modo do mouse: _Mover" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 #, fuzzy msgid "Mouse Mode: _Select" msgstr "Modo do mouse: _Selecionar" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 #, fuzzy msgid "Insert Mode: _Normal" msgstr "Modo Ins:_Normal" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "_Applicar" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "Tempo" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "_Deletar nodo" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "Próximo _nodo" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "Nodo anterior [_P]" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "Execução _reversa " -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "_Velocidade " -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "Ancorar início [_S]" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "Ancorar o ponto de início à linha de tempo" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "Ancorar final [_E]" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "Ancorar o ponto final à linha de tempo" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "Rolar" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" @@ -10317,95 +10322,95 @@ "==============================\n" "Alternado para modo de edição de clipes\n" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "Linha de tempo (segs.)" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr " Áudio de fundo" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr " Áudio camada %d" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "Áudio camada %d" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "%s (cam. %d)" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "Seleccionar faixa" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "Vídeo %d" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr " %s" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 #, fuzzy msgid "Selected Effect" msgstr "Selecionar Último _Efeito" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 #, fuzzy msgid "_View/Edit this Effect" msgstr "_Ver/Editar este efeito" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 #, fuzzy msgid "_View this Effect" msgstr "_Ver este efeito" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 #, fuzzy msgid "_Delete this Effect" msgstr "_Deletar este efeito" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr " %d até %d selecionados " -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "%.2f seg." -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "%d frames" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" @@ -10415,70 +10420,70 @@ "==============================\n" "Alternado para modo multipista\n" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" "Nodes can be deleted." msgstr "" -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "Efeito não tem parâmetros.\n" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "%s saída" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "camada %d" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "faixa de áudio" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "%s até %s" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "Mapa de filtro _ant" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "Ins an_tes" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "Ins apó_s" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "_Prox mapa de filtro" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -10486,88 +10491,88 @@ "current time.\n" msgstr "" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." msgstr "" -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 #, fuzzy msgid "Selected Block/Frame" msgstr "LiVES: Bloco/frame selecionado" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 #, fuzzy msgid "_Select this Block" msgstr "_Selecionar este blog" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 #, fuzzy msgid "_Split Block Here" msgstr "Dividir bloco aqui [_S]" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 #, fuzzy msgid "List _Effects Here" msgstr "Listar _efeitos aqui" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "_Ajustar %s" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 #, fuzzy msgid "_Delete this Block" msgstr "_Deletar bloco selecionado" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 #, fuzzy msgid "_Insert Here" msgstr "_Inserir aqui" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 #, fuzzy msgid "_Insert Audio Here" msgstr "_Inserir áudio aqui" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "" "Gap inserido nas trilhas selecionadas a partir do tempo %.4f até %.4f\n" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "Inserido vão na trilha %s do tempo %.4f até %.4f\n" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "Desfeito %s\n" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "Refeito %s\n" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" @@ -10575,72 +10580,72 @@ "\n" " (variable)" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "pista %s" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "faixas %s e %s" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "faixas selecionadas" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "Adiconados %s %s até %s de %.4f até %.4f\n" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "Adicionado efeito %s na faixa %s de %.4f até %.4f\n" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "renderizados %d frames para um novo clipe.\n" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "A limpar..." -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, fuzzy, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "Inserido vão na trilha %s do tempo %.4f até %.4f\n" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, fuzzy, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "Deletando áudio de %.2f até %.2f segundos..." -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "_Pausa" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "Pausa (p)" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "Aperte 'm' durante a execução" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "fazer uma marca na linha de tempo" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " @@ -10649,21 +10654,21 @@ "Inserido áudio %.4f até %.4f do clip %s no áudio de fundo, do tempo %.4f até " "%.4f\n" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" msgstr "" "Inseridos frames %d até %d no clipe %s na faixa %s do tempo %.4f até %.4f\n" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" "selected.\n" msgstr "" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" @@ -10671,106 +10676,106 @@ "selecione uma ou mais faixas\n" "para criar a região.\n" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "%d trilhas de vídeo selecionadas.\n" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." msgstr "" -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." msgstr "" -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." msgstr "" -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" msgstr "" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" msgstr "" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" msgstr "" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "ou o botão INSERIR DEPOIS para movê-lo." -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "" -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" msgstr "" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "depois deste.\n" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "antes deste.\n" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "Removidos parâmetros de efeitos para o efeito %s no tempo %.4f\n" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "Definir os valores de parâmetro para %s %s em %s no tempo %.4f\n" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "_Autorecarregar cada vez" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 #, fuzzy msgid "Saving layout" msgstr "_Salvar layout" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "Mapa de teclado salvo em %s\n" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "clipes e frames" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "clipes" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "frames" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" @@ -10778,7 +10783,7 @@ "\n" "Auto recarregar layout.\n" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -10789,11 +10794,11 @@ "Alguns %s estão faltando no layout%s\n" "Por isso não pode ser carregado corretamente.\n" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" @@ -10802,31 +10807,31 @@ "\n" "Impossível carregar arquivo de layout %s\n" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "Carregando mapa de teclado padrão de %s..." -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "Pegou %d eventos...processando..." -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "Checando e reconstruindo lista de eventos" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "%d erros detectados.\n" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "FPS multipista definido em %.3f\n" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 #, fuzzy msgid "" "The current layout has changes which have not been saved.\n" @@ -10835,20 +10840,20 @@ "O layout atual não foi salvo.\n" "O que quer fazer?\n" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 #, fuzzy msgid "Multitrack Audio Mixer" msgstr "LiVES: Mixer de áudio multipista" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "_Reiniciar valores" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "_Fechar mixer" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" @@ -10856,16 +10861,16 @@ "_Invertendo volumes do\n" "áudio de fundo e da camada" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "" "Ajustando valores de áudio de fundo e da camada para que possam somar 1.0" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "Ajustar todos valores de áudio das camadas para o mesmo valor" @@ -10891,7 +10896,7 @@ "Connection to jack audio was reset.\n" msgstr "" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10899,7 +10904,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10907,7 +10912,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:104 +#: src/pulse.c:105 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10915,27 +10920,27 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" msgstr "" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" msgstr "" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr ""
View file
LiVES-2.8.4.tar.bz2/po/pt_BR.po -> LiVES-2.8.6.tar.bz2/po/pt_BR.po
Changed
@@ -2,7 +2,7 @@ msgstr "" "Project-Id-Version: LiVES\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" "PO-Revision-Date: 2016-03-22 00:48+0000\n" "Last-Translator: salsaman <salsaman@gmail.com>\n" "Language-Team: pixel <vjpixel@gmail.com>\n" @@ -15,7 +15,7 @@ "X-Poedit-Language: Portuguese\n" "X-Poedit-SourceCharset: utf-8\n" -#: src/main.c:132 +#: src/main.c:125 msgid "" "Attention Translators !\n" "This message is intended for you, so please do not translate it.\n" @@ -24,22 +24,22 @@ "http://lives-video.com/TRANS-README.txt" msgstr "" -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "%s Aviso: %s\n" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "%s Erro crítico: %s\n" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "%s Erro fatal: %s\n" -#: src/main.c:203 +#: src/main.c:197 #, fuzzy, c-format msgid "" "\n" @@ -53,7 +53,7 @@ "group_id=64341&atid=507139\n" "Obrigado. Os dados podem ser recuperados se você reiniciar o LiVes.\n" -#: src/main.c:205 +#: src/main.c:199 #, fuzzy, c-format msgid "" "\n" @@ -66,7 +66,7 @@ "Ao reportar travamentos, por favor informe qual o seu sistema operacional, " "distribuição e a versão do LiVES (" -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" @@ -74,7 +74,7 @@ "e toda informação mostrada abaixo:\n" "\n" -#: src/main.c:210 +#: src/main.c:204 #, fuzzy msgid "" "Please try running LiVES with the -debug option to collect more " @@ -85,7 +85,7 @@ "seja coletada mais informações.\n" "\n" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" @@ -95,88 +95,88 @@ "seja coletada mais informações.\n" "\n" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "Preservando set.\n" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "Qualquer" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "Nenhum" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "recomendado" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "desativado!" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "**Layout atual**" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "Builtin" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "Customizado" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "Teste" -#: src/main.c:474 +#: src/main.c:460 msgid "LiVES: - " msgstr "LiVES: - " -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "Redimensionando" -#: src/main.c:731 +#: src/main.c:708 #, fuzzy msgid "_Resize All Frames..." msgstr "_Redimensionar Todos Frames" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "Frente" -#: src/main.c:1122 +#: src/main.c:1094 msgid "Background" msgstr "Fundo" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "Carregando plugins de efeitos em tempo real..." -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "Iniciando servidor de áudio jack..." -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "Iniciando o servidor jack de transporte..." -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "Conectando ao servidor jack de transporte..." -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -195,35 +195,35 @@ "\n" "Como alternativa, tente iniciar o LiVES com \"lives -jackopts 16\", ou " -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "Iniciando o servidor pulse audio..." -#: src/main.c:1855 +#: src/main.c:1813 #, fuzzy, c-format msgid "%s...detected... " msgstr "mpv...detectado..." -#: src/main.c:1856 +#: src/main.c:1814 #, fuzzy, c-format msgid "%s...NOT DETECTED... " msgstr "mpv...NÃO DETECTADO..." -#: src/main.c:1867 +#: src/main.c:1824 #, fuzzy msgid "Checking optional dependencies: " msgstr "Checando dependências opcionais:" -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "Windows versão %04X" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "DESCONHECIDO - por favor patch-me" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -234,53 +234,53 @@ "\n" "Gerenciador de janelas: \"%s\"; " -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "número de monitores detectados: %d\n" -#: src/main.c:1901 +#: src/main.c:1863 #, c-format msgid "Number of CPUs detected: %d " msgstr "Número de CPUs detectadas: %d " -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "little endian" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "big endian" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "(%d bits, %s)\n" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "O tipo de interface gráfica é: " -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "Versão do GTK+ %d.%d.%d (compilado com %d.%d.%d)" -#: src/main.c:1927 +#: src/main.c:1889 #, fuzzy, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "Versão do GTK+ %d.%d.%d (compilado com %d.%d.%d)" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr ", com suporte a cairo" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "o diretório temp utilizado é %s\n" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" @@ -290,15 +290,15 @@ "jack ou suporte ao pulse audio.\n" "Muitos recursos de áudio não estarão disponíveis.\n" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "Compilado com suporte a JACK, bom!\n" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "Compilado com o suporte ao pulse audio, maravilha !\n" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" @@ -312,7 +312,7 @@ "estudiolivre.org\n" "\n" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" @@ -322,76 +322,76 @@ "A sintaxe de inicialização é: %s [opçoes] [nome_do_arquivo [tempo_inicial] " "[frames]]\n" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "Onde: nome_do_arquivo é o nome do arquivo de mídia ou backup.\n" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "tempo_inicial : tempo inicial do arquivo em segundos\n" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "frames : número máximo de frames a abrir\n" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "as opções podem ser:\n" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "-help : mostra este texto de ajuda e sai\n" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "-tmpdir <tempdir>: use o diretório alternativo (ex.: /var/ramdisk)\n" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "-set <nome_do_set> : autocarregar set de clips nome_do_set\n" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "-noset : não carregar set no início\n" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "-norecover : forçar não carregamento da recuperação de crash\n" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "-recover : forçar carregamento da recuperação de crash\n" -#: src/main.c:2593 +#: src/main.c:2545 msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "-nothreaddiaog: não faz nada - retida para compatibilidade\n" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "-nogui : não mostrar a interface gráfica\n" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "-nosplash: não mostra a janela de splash\n" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "-noplaywin : não mostra a janela de vídeo\n" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "-noninteractive: desabilita interatividade com menus\n" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "-startup-ce : iniciar no modo de edição de clipe\n" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "-startup-mt : iniciar no modo de multi-trilhas\n" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" @@ -399,30 +399,30 @@ "-fxmodesmax <n> : permite <n> modos por tecla de efeito (mínimo 1, padrão " "8)\n" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "-oscstart <port> : iniciar monitoramento de OSC na porta UDP <port>\n" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "-nooscstart : não iniciar monitoramento de OSC\n" -#: src/main.c:2605 +#: src/main.c:2557 msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " "mplayer2" msgstr "-aplayer <ap>: começa com o leitor de áudio seleçionado" #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr ", pulse" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr ", sox ou jack\n" -#: src/main.c:2613 +#: src/main.c:2565 msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " "transport client,2 = jack transport master, 4 = start jack transport server, " @@ -433,15 +433,15 @@ "transporte, 8 pausar áudio quando vídeo está pausado, 16 iniciar servidor de " "audio jack] \n" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr " ou sox\n" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "-devicemap <mapname> : autocarregar devicemap\n" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" @@ -449,17 +449,17 @@ "-vppdefaults <arquivo> : carregar os padrões de plugin para tocar vídeos de " "<arquivo> (Nota: apenas define as configurações, não o tipo de plugin)\n" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "" "-debug : tentativa de debug falhou (necessita do 'gdb' " "instalado)\n" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "Iniciando interface gráfica..." -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -476,7 +476,7 @@ "%s/%s.\n" "(Talvez você precise mudar o valor de <prefix_dir> em seu arquivo %s)\n" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -488,7 +488,7 @@ "Por favor certificar-se que tem permissões para escrever ao %s e tente de " "novo.\n" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -502,7 +502,7 @@ "Por favor, leia o arquivo README que vem com este pacote\n" "antes de rodar o LiVES.\n" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -517,7 +517,7 @@ "\n" "Por favor verifique as permissões para este arquivo e tente de novo.\n" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -534,7 +534,7 @@ "Por favor verifique as permissões para este arquivo e diretório\n" "e tente de novo.\n" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -545,7 +545,7 @@ "%s\n" "e tente de novo.\n" -#: src/main.c:2737 +#: src/main.c:2689 #, fuzzy, c-format msgid "" "\n" @@ -560,7 +560,7 @@ "\n" "%s" -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -578,7 +578,7 @@ "\n" "Obrigado.\n" -#: src/main.c:2751 +#: src/main.c:2703 msgid "" "\n" "LiVES currently requires 'mplayer', 'mplayer2' or 'sox' to function. Please " @@ -588,7 +588,7 @@ "O LiVES atualmente precisa de 'mplayer', 'mplayer2' or 'sox' para funcionar. " "Por favor instale algum delas, e tente de novo.\n" -#: src/main.c:2756 +#: src/main.c:2708 msgid "" "\n" "LiVES currently requires both 'mplayer' or 'mplayer2' and 'sox' to function. " @@ -598,7 +598,7 @@ "O LiVES atualmente precisa de 'mplayer' ou 'mplayer2', é 'sox' para " "funcionar. Por favor instale essas programas, e tente de novo.\n" -#: src/main.c:2769 +#: src/main.c:2721 #, fuzzy msgid "" "\n" @@ -609,7 +609,7 @@ "O LiVES não conseguiu achar ou 'mplayer' ou 'mplayer2'. Você pode instalar " "algum delas par utilizar o LiVES de uma forma mais completa.\n" -#: src/main.c:2775 +#: src/main.c:2727 #, fuzzy msgid "" "\n" @@ -620,7 +620,7 @@ "O LiVES não conseguiu achar ou 'mplayer' ou 'mplayer2'. Você pode instalar " "algum delas par utilizar o LiVES de uma forma mais completa.\n" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" @@ -630,7 +630,7 @@ "LiVES não conseguiu localizar 'convert'. Você deverá instalar o Convert e o " "Image Magick, caso deseje utilizar os efeitos rederizados.\n" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " @@ -640,7 +640,7 @@ "LiVES não conseguiu localizar 'composite'. Você deverá instalar o Composite " "e o Image Magick, caso deseje utilizar a função mesclar..\n" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " @@ -650,7 +650,7 @@ "LiVES não foi capaz de localizar 'sox'. Alguns recursos de áudio podem não " "funcionar. Instale o 'sox'.\n" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -667,63 +667,63 @@ "Não conseguira 'Salvar' sem eles.\n" "Talvez você precisa de alterar o valor de <lib_dir> em %s\n" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "Carregando plugins de efeitos renderizados..." -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "Carregando automaticamente set %s..." #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "LiVES" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "O reprodutor de áudio %s é inválido\n" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <Sem título %d> %dx%d : %d frames %d bpp %.3f fps" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "LiVES-%s: <Nenhum Arquivo>" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "grv %9d/%d" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "!grv %9d/%d" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "Tocar" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" @@ -731,34 +731,34 @@ "LiVES não conseguiu capturar esta imagem\n" "\n" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "Arquivo %s fechado\n" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "Desfazer [_U]" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "_Refazer" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "Vídeo" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "Áudio Esquerdo" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "Áudio Direito" -#: src/main.c:7078 +#: src/main.c:6973 msgid "" "\n" "\n" @@ -959,7 +959,7 @@ msgid "Use _mplayer2 audio player" msgstr "Usa leitor de áudio _mplayer2" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "_Próximo" @@ -1197,54 +1197,54 @@ msgid "_Finish" msgstr "_Finalizar" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "Deixar LiVES definir a extensão do _file" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "Deixa o LiVES setar a extensão do arquivo (.%s) (_f)" -#: src/interface.c:46 +#: src/interface.c:42 msgid "Apply _Deinterlace" msgstr "Aplicar _Desentralacimento" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "" "Se isso for selecionado, frames vão ser desinterlaçados enquanto forem " "importados." -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "Visualizar" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "" "Clique aqui para _Previsualizar qualquer vídeo, áudio ou imagem selecionada" -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "Clique aqui para _Previsualizar qualquer arquivo de áudio" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "Clique aqui para _Previsualizar o vídeo" -#: src/interface.c:122 +#: src/interface.c:113 msgid "Click here to _Preview the file" msgstr "Clique aqui para _Previsar o arquivo" -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 msgid "Processing..." msgstr "Processando..." -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1258,8 +1258,8 @@ "\n" "Lembre de desligar os efeitos (ctrl-0) depois!" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" @@ -1267,91 +1267,91 @@ "\n" "Por favor aguarde" -#: src/interface.c:221 +#: src/interface.c:206 msgid "Show Details" msgstr "Mostrar Detalhes" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "Sufici_ente" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "_Visualizar" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "Pausar" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "Pausa/Sufici_ente" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "_Cancelar" -#: src/interface.c:334 +#: src/interface.c:324 msgid "Multitrack Details" msgstr "Detalhes do Multitrack" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "Formato" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "Tamanho do frame" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "Tamanho do arquivo" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "Tamanho do byte" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "FPS" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "Frames" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "Eventos" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "Tempo total" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "Áudio" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "Taxa/tamanho" -#: src/interface.c:568 +#: src/interface.c:590 msgid "Encoding Options" msgstr "Opções de Codificação" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "<------------ (Marque a caixa para redimensionar como _sugerido)" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "<------------ (Marque a caixa para u_sar o tamanho recomendado)" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "Usa _letterboxing para manter a proporção da tela (opcional)" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." @@ -1359,80 +1359,85 @@ "Adicionar retângulos ou acima e baixo, ou aos lados da imagem, para prevenir " "que ela se estique." -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "Mantenha _minhas configurações" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "Usar configurações _recomendadas" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "Fechar janela [_C]" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "_Salvar para arquivo" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "Inserir" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "_Número de vezes a inserir" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "_Inserir até o fim do áudio" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "Inserir antes da seleção [_B]" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "Inserir área de transferência antes da seleção" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "Inserir _após a seleção" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "Inserir área de transferência depois da seleção" -#: src/interface.c:833 +#: src/interface.c:846 +#, fuzzy +msgid "Insert _with silence" +msgstr "Inserir com som [_W]" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "Inserir com som [_W]" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "Inserir sem s_om" -#: src/interface.c:924 +#: src/interface.c:937 msgid "Open Selection" msgstr "Abrir Seleção" -#: src/interface.c:943 +#: src/interface.c:954 msgid "Selection start time (sec)" msgstr "Tempo inicial da seleção (seg)" -#: src/interface.c:949 +#: src/interface.c:960 msgid "Number of frames to open" msgstr "Numero de frames para abrir" -#: src/interface.c:1023 +#: src/interface.c:1029 msgid "Open Location" msgstr "Abrir Local" -#: src/interface.c:1025 +#: src/interface.c:1031 msgid "Open Youtube Clip" msgstr "Abri Clipe do Youtube" -#: src/interface.c:1045 +#: src/interface.c:1050 #, fuzzy msgid "" "\n" @@ -1449,7 +1454,7 @@ "Também certifique-se de ter marcado sua banda em Preferências|Streaming\n" "\n" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1465,7 +1470,7 @@ "instalada.\n" "\n" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" @@ -1475,59 +1480,59 @@ "Ex.: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "URL : " -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "URL Youtube: " -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "Não enviar informação de banda" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "Tente esta configuração se está tendo problemas ao pegar um stream" -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "Baixar ao _Diretório: " -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "Nome do Arquivo para Baixar (_f) " -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr ".webm" -#: src/interface.c:1188 +#: src/interface.c:1189 msgid "Rename Clip" msgstr "Renomear clipe" -#: src/interface.c:1190 +#: src/interface.c:1191 msgid "Enter Set Name to Save as" msgstr "Entre o Nome do Set Para Salvar" -#: src/interface.c:1192 +#: src/interface.c:1193 msgid "Enter a Set Name to Reload" msgstr "Entre o Nome do Set para Recarregar" -#: src/interface.c:1194 +#: src/interface.c:1195 msgid "Choose a Working Directory" msgstr "Escolhe o direitorio do trabalho" -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 msgid "Rename Current Track" msgstr "Renomear a Faixa Atual" -#: src/interface.c:1198 +#: src/interface.c:1199 msgid "Enter a Name for Your Theme" msgstr "Entre um Nome para seu Tema" -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1538,7 +1543,7 @@ "Isso vai permitir recarregar o layout com os mesmos clipes depois.\n" "O LiVES lembrará você de salvar o set quando você for sair.\n" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1566,210 +1571,210 @@ "Primeiro de tudo você deve escolher um diretório de trabalho para o LiVES\n" "Esse seria um diretório com muito espaço disponível.\n" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "Novo nome " -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "Nome do set " -#: src/interface.c:1257 +#: src/interface.c:1255 msgid "Theme name " msgstr "Nome do tema " -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "Salvar cores extendidas" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "Usar p_adrões" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "_Avançado" -#: src/interface.c:1437 +#: src/interface.c:1425 msgid "Select input device" msgstr "Escolhe dispositiva de entrada" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "Escolhe dispositiva de entrada:" -#: src/interface.c:1517 +#: src/interface.c:1505 msgid "Load CD Track" msgstr "Carregar Faixa de DVD" -#: src/interface.c:1519 +#: src/interface.c:1507 msgid "Select DVD Title/Chapter" msgstr "Seleciona Titulo/Capitulo do DVD" -#: src/interface.c:1521 +#: src/interface.c:1509 msgid "Select VCD Title" msgstr "Seleciona Titulo do VCD" -#: src/interface.c:1523 +#: src/interface.c:1511 msgid "Change Maximum Visible Tracks" msgstr "Mudar Numero Máximo de Faixas Visíveis" -#: src/interface.c:1525 +#: src/interface.c:1513 msgid "Device details" msgstr "Detalhes do dispositivo" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "Trilha a carregar (de %s)" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "Título do DVD" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "Título do VCD" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "Número máximo de trilhas a visualizar" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "Dispositivo: /dev/video" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "Dispositivo: fw:" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "Capítulo " -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "Canal " -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "Áudio ID " -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "Número de Entrada" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "Usar largura padrão, altura e FPS" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "Largura" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "Altura" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "_Driver" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "F_ormata da saida" -#: src/interface.c:1815 +#: src/interface.c:1778 msgid "Fade Audio In" msgstr "Desvanecer Áudio Chegando" -#: src/interface.c:1817 +#: src/interface.c:1780 msgid "Fade Audio Out" msgstr "Desvanecer Áudio Saindo" -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "Fade in sobre " -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "primeiro" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "Fade out sobre " -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "último" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "segundos." -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "seleção" -#: src/interface.c:1909 +#: src/interface.c:1865 msgid " (Optional)" msgstr " (Opcional)" -#: src/interface.c:1912 +#: src/interface.c:1868 #, c-format msgid "File Comments%s" msgstr "Commentarios do arquivo%s" -#: src/interface.c:1927 +#: src/interface.c:1882 #, c-format msgid "File Name: %s" msgstr "Nome do Arquivo: %s" -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "Título/Nome: " -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "Autor/Artista: " -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "Comentários: " -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "Salvar legenda_s em arquivo" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "Arquivo de legenda" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "Navegar..." -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "_Opções" -#: src/interface.c:2109 +#: src/interface.c:2058 #, c-format msgid "%sChoose a Device" msgstr "%sEscolhe Dispositivo" -#: src/interface.c:2112 +#: src/interface.c:2061 #, c-format msgid "%sChoose a Directory" msgstr "%sEscolhe Diretório" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "%sEscolhe Arquivo" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" @@ -1779,7 +1784,7 @@ "O layout atual não foi salvo.\n" "O que você quer fazer?\n" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" @@ -1789,7 +1794,7 @@ "O layout atual foi modificado desde que foi salvo.\n" "O que você quer fazer?\n" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" @@ -1799,7 +1804,7 @@ "O set de clipes atual pode ser salvo.\n" "O que você quer fazer?\n" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" @@ -1807,7 +1812,7 @@ "O set de clipes atual não foi salvo.\n" "O que quer fazer?\n" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" @@ -1815,7 +1820,7 @@ "O layout atual não foi salvo.\n" "O que quer fazer?\n" -#: src/interface.c:2410 +#: src/interface.c:2341 msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" "What would you like to do ?\n" @@ -1823,7 +1828,7 @@ "O leiaute atual *NAO SE MUDOU* desde que foi ultimamente salvado.\n" "O que você gostaria de fazer?\n" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" @@ -1833,43 +1838,43 @@ "O layout atual contém frames gerados e não foram salvos.\n" "O que você gostaria de fazer?" -#: src/interface.c:2417 +#: src/interface.c:2348 msgid "Cancel/Discard/Save" msgstr "Cancelar/Descartar/Salvar" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "_Nome do set" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "Auto recarregar da próxima vez" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "Apagar layout [_W]" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "_Ignorar mudanças" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "_Deletar set" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "_Deletar layout" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "_Salvar layout" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "_Salvar set" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" @@ -1879,35 +1884,35 @@ "O LiVES detetou um leiaute do multitrack de uma sessão antiga.\n" "Você gostaria tentar recuperar ela ?\n" -#: src/interface.c:2527 +#: src/interface.c:2455 msgid "Disk Recovery Options" msgstr "Opções de Recuperação de Disco" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "Excluir Clipes _Õrfãos" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "Excliur clipes que nem estão carregados, nem parte de um set." -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "Remover Ariquivos de _Backup em Clipes Fechados" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "Remover Sets que possuem Leiautes mas não Clipes." -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "_Restaurar para o Padrão" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "Mostrar atalhos" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1915,329 +1920,329 @@ "-----------------------\n" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "ctrl-left" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "skip forwards\n" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "ctrl-down" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 msgid "ctrl-enter" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 msgid "reset frame rate\n" msgstr "" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "" -#: src/interface.c:2723 +#: src/interface.c:2642 msgid "reverse direction\n" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "nervoso\n" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 msgid "ctrl-1" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 msgid "toggle real-time effect 1\n" msgstr "" -#: src/interface.c:2746 +#: src/interface.c:2665 msgid "ctrl-2" msgstr "" -#: src/interface.c:2746 +#: src/interface.c:2665 msgid "toggle real-time effect 2\n" msgstr "" -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "ctrl-0" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "real-time effects off\n" msgstr "" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "" -#: src/interface.c:2759 +#: src/interface.c:2678 msgid "grab keyboard for last activated effect\n" msgstr "" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2688 msgid "tab" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "f1" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "f2" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "f12" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "" -#: src/interface.c:2785 +#: src/interface.c:2706 msgid "Other playback keys\n" msgstr "" -#: src/interface.c:2789 +#: src/interface.c:2710 msgid "play all\n" msgstr "" -#: src/interface.c:2792 +#: src/interface.c:2713 msgid "play selection\n" msgstr "" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "" -#: src/interface.c:2798 +#: src/interface.c:2719 msgid "fullscreen\n" msgstr "" -#: src/interface.c:2801 +#: src/interface.c:2722 msgid "separate window\n" msgstr "" -#: src/interface.c:2804 +#: src/interface.c:2725 msgid "double size\n" msgstr "" -#: src/interface.c:2807 +#: src/interface.c:2728 msgid "ping pong loops\n" msgstr "" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "Atalhos do Multipista" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "move current track up\n" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "move current track down\n" msgstr "" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "" -#: src/interface.c:2849 +#: src/interface.c:2768 msgid "select next clip\n" msgstr "" -#: src/interface.c:2852 +#: src/interface.c:2771 msgid "select/deselect current track\n" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "zoom in\n" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "zoom out\n" msgstr "" -#: src/interface.c:2861 +#: src/interface.c:2780 msgid "make a mark on the timeline (during playback)\n" msgstr "" -#: src/interface.c:2864 +#: src/interface.c:2783 msgid "rewind to play start.\n" msgstr "" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "Salvando como set %s..." -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "" -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "Baixando clipe" -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -2245,16 +2250,16 @@ "the latest youtube-dl installed.\n" msgstr "" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, fuzzy, c-format msgid "Layouts were removed for set %s.\n" msgstr "Legendas foram salvas em %s\n" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "Este arquivo" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " @@ -2262,7 +2267,7 @@ ",\n" " - Incluindo o layout atual - " -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2272,7 +2277,7 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2282,14 +2287,14 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" "Really close it ?" msgstr "" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" @@ -2297,7 +2302,7 @@ "\n" "Arquivo de projeto inválido.\n" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2318,53 +2323,53 @@ "delete-o.\n" "Uma vez que tenha feito isso, vai poder importar o novo projeto.\n" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "Importando o projeto %s como set %s..." -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "Importando projeto" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "Exportando projeto %s..." -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "Exportando projeto" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 msgid "Theme" msgstr "Tema" -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, c-format msgid "Exporting theme as %s..." msgstr "" -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, c-format msgid "Importing theme \"%s\" from %s..." msgstr "" -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, c-format msgid "Backup as %s File" msgstr "" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, c-format msgid "Restore %s File" msgstr "" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2376,94 +2381,94 @@ "O set será deletado do disco.\n" "Tem certeza?\n" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "Deletando o set %s...." -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "Deletando set..." -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "Deletando set" -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "O set %s foi permanentemente apagado do disco.\n" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "Inserir Silêncio" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "Desfazendo" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "Restaurando áudio..." -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "Limpando imagens de frames" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "Apagar quadros em excesso" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "O comprimento do vídeo é agora %d frames a %.3f FPS.\n" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "Área de transferência resampleada para %d frames.\n" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "Refazendo" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "" -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "" -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "Copiando para a área de trasferência" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "Cortar" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 msgid "Pulling frames from clipboard" msgstr "" -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "" -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "Colando" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "...audio addicionado..." -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " @@ -2473,7 +2478,7 @@ "Por favor instale o software 'convert', o qual está presente no pacote Image-" "magick, e então reinicie o LiVES.\n" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2487,7 +2492,7 @@ "Tente selecionar todos frames e usar\n" "a função 'Ajustar Áudio' do menu 'Áudio'." -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." @@ -2495,7 +2500,7 @@ "LiVES não pôde inserir porque as taxas de áudio não conferem.\n" "Por favor instale 'sox' e tente novamente." -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" @@ -2506,7 +2511,7 @@ "multipista.\n" "Tem certeza que quer continuar?\n" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" @@ -2517,11 +2522,11 @@ "multipista.\n" "Tem certeza que quer continuar?\n" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "Resampleando áudio da área de transferência" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2533,7 +2538,7 @@ "LiVES não pode resamplear o áudio da área de transferência.\n" "O áudio da área de transferência foi deletado.\n" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2546,32 +2551,32 @@ "LiVES não pôde processar o áudio da área de transferência.\n" "Deseja continuar a inserção usando áudio não modificado?\n" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "Inserindo %d%s frames da área de transferência..." -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "Inserindo" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "Inserindo %d vezes da área de transferência%s..." -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "Inserindo %d frames da área de transferência%s..." -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "Cancelando" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" @@ -2581,7 +2586,7 @@ "Deletar todos frames vai fechar este arquivo.\n" "Tem certeza?" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" @@ -2591,8 +2596,8 @@ "Deleção vai causar frames perdidos em alguns layouts multipista.\n" "Tem certeza que quer continuar?\n" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" @@ -2602,7 +2607,7 @@ "Deleção vai causar que o áudio se perca em alguns layouts multipista.\n" "Tem certeza que quer continuar?\n" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" @@ -2612,7 +2617,7 @@ "Deleção vai causar que frames sejam movidos em alguns layouts multipista.\n" "Tem certeza que quer continuar?\n" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" @@ -2622,20 +2627,20 @@ "Deleção vai causar que áudio seja movido em alguns layouts multipista.\n" "Tem certeza que quer continuar?\n" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "Deletando frames %d até %d%s..." -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "Deletando" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "Deletar" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" @@ -2645,7 +2650,7 @@ "\n" "Seleção está travada.\n" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2657,11 +2662,11 @@ "(Para cancelar, aperte 'r' ou clique em Tocar|Gravar Performance novamente " "quando você tocar.)\n" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "Gravação cancelada.\n" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2674,7 +2679,7 @@ "O plugin '%s' diz:\n" "%s\n" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2687,7 +2692,7 @@ "Impossível achar o método 'init' no plugin %s.\n" "O plugin pode não funcionar ou estar instalado incorretamente." -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2699,22 +2704,22 @@ "\n" "Por favor aperte 'Cancelar' se não é o que quer.\n" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "Salvando set %s" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "Carregando clipes do set %s" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2726,24 +2731,24 @@ "nesta máquina.\n" "Aperte 'OK' para continuar.\n" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "Limpando espaço em disco..." -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "" -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "Reiniciando framerates..." -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2751,12 +2756,12 @@ "Internal: %s (%d bpp) / %s\n" msgstr "" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." @@ -2764,7 +2769,7 @@ "\n" " Abrindo..." -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" @@ -2773,7 +2778,7 @@ "\n" "(%d virtual)" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" @@ -2782,7 +2787,7 @@ "\n" "(%d decodificado)" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" @@ -2791,7 +2796,7 @@ "\n" " %.2f seg." -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" @@ -2799,23 +2804,23 @@ "\n" " Desconhecido" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "não assinado" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "assinado" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" @@ -2824,7 +2829,7 @@ " %d Hz %d bit\n" "%s %s" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2841,22 +2846,22 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n" msgstr "" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "Um editor de video e programa de VJ." -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" "Launchpad Contributions:\n" " VJ Pixel https://launchpad.net/~vjpixel\n" " salsaman https://launchpad.net/~salsaman" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, c-format msgid "" "LiVES Version %s\n" @@ -2870,14 +2875,14 @@ "Homepage: %s" msgstr "" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 msgid "" "\n" "\n" "You need to install mplayer or mplayer2 to be able to preview this file.\n" msgstr "" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 msgid "" "\n" "\n" @@ -2885,92 +2890,92 @@ "this file.\n" msgstr "" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" "%s\n" msgstr "" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 msgid "Encoder Debug Output" msgstr "" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "Tela Cheia (f)" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "Desativar tela Cheia (f)" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "Tamanho dobrado(d)" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "Tamanho normal (d)" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "Esconder janela do tocador (s)" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "Mostrar janela do tocador (s)" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "Tocar em janela separada (s)" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "Desligar loop contínuo (o)" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "Ligar loop contínuo (o)" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "Volume do áudio (%.2f)" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "Ligar o áudio (z)" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "Desligar o áudio (z)" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "Invertendo área de trabalho..." -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "Invertendo área de trabalho" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 msgid "Load Subtitles" msgstr "" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "Carregado arquivo de legenda: %s\n" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 msgid "Select Audio File" msgstr "" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -2983,82 +2988,82 @@ "Tem certeza que quer continuar?\n" "." -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "Abrindo áudio %s, tipo %s..." -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "Abrindo áudio" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "Transformando áudio" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "Novo Áudio" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "Abrindo faixa do CD %d de %s..." -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "Faixa do CD %d" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "Abrindo faixa de CD..." -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "Erro carregado faixa do CD\n" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 msgid "Layout Errors" msgstr "" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "Limpar _Erros" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "_Deletar layouts afetados" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "Continuar" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "pausado..." -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "continuando..." -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "Manter" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "Suficiente" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, c-format msgid "" "\n" @@ -3067,28 +3072,28 @@ "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "Cancelar" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "Pare" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 msgid "Selected Frame" msgstr "" -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 msgid "_Save Frame as..." msgstr "" -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -3097,7 +3102,7 @@ "\n" msgstr "" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -3109,7 +3114,7 @@ "Você deve instalar o \"xwininfo\" para usar este recurso\n" "\n" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" @@ -3117,7 +3122,7 @@ "\n" "Tempo de gravação deve ser maior que 0.\n" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -3131,11 +3136,11 @@ "Clique em 'Cancelar' para cancelar\n" "\n" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "A janela externa foi solta.\n" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" @@ -3143,7 +3148,7 @@ "Clique em uma janela para capturar\n" "Pressione 'q' para parar a gravação" -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -3159,19 +3164,19 @@ "'Parar' ou 'q' para terminar.\n" "(O padrão de %.3f frames por segundo vai ser usado.)\n" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "LiVES não conseguiu capturar esta janela. Desculpe.\n" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "Exportar Áudio Selecionado como..." -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "Exportar Áudio como..." -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -3185,86 +3190,86 @@ "Clique em 'OK' para exportar na nova velocidade, ou 'Cancelar' para exportar " "na velocidade original.\n" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "Exportando frames de áudio %d até %d como %s..." -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "Exportando áudio como %s..." -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "Exportando áudio" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 msgid "Append Audio File" msgstr "" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "Inserindo arquivo de áudio %s..." -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "Inserindo áudio" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "Anexar Áudio" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "" -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "Diminuindo áudio de %.2f para %.2f segundos..." -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "Diminuindo/Aumentando áudio" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "Ajustar Áudio" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "Fading in áudio" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "Fade in áudio" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "Fading out áudio" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "Fade out do áudio" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "%s sobre %.1f segundos..." -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "%s do tempo %.2f segundos até %.2f segundos..." -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "Fading áudio..." -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" @@ -3274,33 +3279,33 @@ "Deletar todo áudio vai fechar este arquivo.\n" "Tem certeza?" -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "Deletando todo áudio..." -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "Deletando áudio de %.2f até %.2f segundos..." -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "Deletando Áudio" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "Deletar Áudio" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "Gravar áudio novo" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "Inserindo silêncio de %.2f até %.2f segundos..." -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "Inserindo Silêncio" @@ -3314,7 +3319,7 @@ msgstr "" "Mesclar área de trabalho [ %d Frames ] Com a seleção [ %d Frames ]" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" @@ -3322,595 +3327,595 @@ "Mesclar área de trabalho [ %d Frames (resampleada)] Com a seleção [ %d " "Frames ]" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "Alinhar Início_s" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "Alinhar Finais [_E]" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "O que fazer com os frames que sobraram na área de trabalho -" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "_Inserir Frames" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "_Deletar Frames" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "Número de vezes a repetir área de transferência" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "Repetir área de transferência para se encaixar à se_leção" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "Método de _Transição:" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "Mesclando área de transferência com seleção..." -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "Mesclagem feita.\n" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "" -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "Efeitos _Customizados" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "_Utilitários Customizados" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "_Arquivo" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "Abrir Arquivo/Diretóri_o" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "" -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "Abrir Stream... [_L]" -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "" -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "" -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "Importar de Dispositivo _Firewire (DV)" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "Importar de Dispositivo _Firewire (HDV)" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "" -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "Arquivos _Recentes" -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "_Recarregar Set" -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "Fechar/Sal_var Todos Clipes" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "Salvar Clip_e Como..." -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "Salvar _Seleção Como..." -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "Fechar Este _Clipe" -#: src/gui.c:692 +#: src/gui.c:674 #, fuzzy, c-format msgid "_Backup Clip as .%s..." msgstr "Salvar Clip_e Como..." -#: src/gui.c:701 +#: src/gui.c:683 #, fuzzy, c-format msgid "_Restore Clip from .%s..." msgstr "Restaurando %s..." -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "Salvar/Carregar/Backup com Som [_W]" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "Carregar legendas automaticamente" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "Limpar espaço em disco [_U]" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "_Editar" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "Modo _MULTIPISTA" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "_Copiar Seleção" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "Cor_tar Seleção" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "_Inserir da Área de Transferência" -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "Colar como _Novo" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "_Mesclar Área de Transferência com Seleção" -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "_Deletar Seleção" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "Separar Áudio e _Vídeo" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "_Selecionar" -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "Selecionar Todos Fr_ames" -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "Apena_s Frame Inicial" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "Apenas Fram_e Final" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "Selecionar a partir do primeiro _frame" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "Selecionar a partir do ú_ltimo frame" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "Selecionar Última Inserção/_Mesclagem" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "Selecionar Último _Efeito" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "_Inverter Seleção" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "Travar _Largura da Seleção" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "_Tocar" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "Tocar Tudo [_P]" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "Tocar Seleção [_Y]" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "To_car Área de Transferência" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "Parar [_S]" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "Voltar [_W]" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "Tela Cheia [_F]" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "Tamanho _Dobrado" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "Tocar em Janela _Separada" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "Fundo _Branco" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "Repetir vídeo (para caber na faixa de áudio)" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "Repetir C_ontinuamente" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "Loops Pin_g Pong" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "_Mudo" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "Modo 'S_ticky' de Janela" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "Mostrar Contador de Frames [_H]" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "Mostrar legendas" -#: src/gui.c:1069 +#: src/gui.c:1045 msgid "Letterbox Mode" msgstr "Modo Letterbox" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "Efeito_s" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "Efeitos são aplicados na seleção atual." -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "_Rodar Efeito/Ferramenta/erador de Teste..." -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "Ferramen_tas" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "Ferramentas são aplicadas nos clipes inteiros." -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "Inverte_r área de transferência" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "Mudar velo_cidade de Execução/Salvar" -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "Resamplear _Vídeo para Nova Frame Rate" -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "_Utilitários" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "Ferramentas _Customizadas" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "_Gerar" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "Carregar _Legenda do Arquivo..." -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "Apagar legendas" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "Capturar Janela _Externa " -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "_Preferências" -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "_Áudio" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "Carregar _Novo Áudio para o Clipe" -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "Carregar Faixa do _CD" -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "E_jetar CD" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "Gravar Áudio E_xterno..." -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "para _Clip Novo..." -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "para _Seleção" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "Fade _In Áudio..." -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "Fade _Out Áudio..." -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "_Exportar Áudio" -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "Exportar Áudio _Selecionado" -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "Export_ar Todo Áudio" -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "_Anexar Áudio" -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "_Ajustar Áudio" -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "Diminuir/Aumentar Áudio para _Selecão" -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "Ajustar Áudio do Início ao Começo da Execução [_P]" -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "_Deletar Áudio" -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "Deletar Áudio _Selecionado" -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "Deletar _Todo Áudio" -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "Inserir _Silêncio na Seleção" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "_Resamplear Áudio..." -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "_Info" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "Mostrar _Informação de Clipe" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "Mostrar/_Editar Comentários do Arquivo" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "Mostrar Info da Área de Transferên_cia" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "Mostrar _Mensagens" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "Mostrar Erros de _Layout" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "_Clipes" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "_Renomear Clipe Atual no Menu" -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "A_vançado" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "Efeitos/Ferramentas/Utilitários _RFX" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "_Novo Script RFX de Teste..." -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "_Copiar Script RFX para Teste" -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "_Editar Script RFX de teste..." -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "Reno_mear Script RFX de Teste" -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "_Deletar Script RFX de Teste" -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "_Promover Teste de Efeito/Ferramenta/Gerador Renderizado..." -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "_Importar Script RFX Customizado" -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "E_xportar Script RFX Customizado" -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "De_letar Script RFX Customizado" -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "Reconstruir todos plugins RFX [_B]" -#: src/gui.c:1397 +#: src/gui.c:1371 msgid "Receive _LiVES Stream from..." msgstr "" -#: src/gui.c:1401 +#: src/gui.c:1375 msgid "_Send LiVES Stream to..." msgstr "" -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "Abrir _yuv4mpeg stream em %sstream.yuv" -#: src/gui.c:1426 +#: src/gui.c:1399 #, fuzzy, c-format msgid "_Import Project (.%s)..." msgstr "Exportando projeto %s..." -#: src/gui.c:1430 +#: src/gui.c:1403 #, fuzzy, c-format msgid "E_xport Project (.%s)..." msgstr "Exportando projeto %s..." -#: src/gui.c:1437 +#: src/gui.c:1409 #, fuzzy, c-format msgid "_Import Custom Theme (.%s)..." msgstr "_Importar Script RFX Customizado" -#: src/gui.c:1442 +#: src/gui.c:1414 #, fuzzy, c-format msgid "E_xport Theme (.%s)..." msgstr "Exportando projeto %s..." -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "_VJ" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "Mapeamento de _Efeitos de Tempo-Real" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "Vincular efeitos em tempo real para ctrl mais teclas de número." -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "_Definir Padrão de Efeitos em Tempo Real" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "Definir padrão de valores de parâmetros para efeitos em tempo real." -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "Salvar Padrão _de Efeitos em Tempo Real" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." @@ -3918,273 +3923,273 @@ "Salvar padrão de efeitos de tempo real de modo que seja restaurado toda vez " "que o LiVES abrir." -#: src/gui.c:1476 +#: src/gui.c:1448 msgid "_Reset All Playback Speeds and Positions" msgstr "" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "" "Reiniciar todas posições de reprodução para o frame 1 e todas as framerates." -#: src/gui.c:1480 +#: src/gui.c:1452 msgid "_MIDI/Joystick Interface" msgstr "" -#: src/gui.c:1489 +#: src/gui.c:1461 msgid "_MIDI/Joystick Learner..." msgstr "" -#: src/gui.c:1493 +#: src/gui.c:1465 msgid "_Save Device Mapping..." msgstr "" -#: src/gui.c:1497 +#: src/gui.c:1469 msgid "_Load Device Mapping..." msgstr "" -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "Mostrar Teclas de VJ [_K]" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "_Brinquedos" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "_Nenhum" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "Fra_mes doidos" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "TV _LiVES (banda larga)" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "A_juda" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "_Manual (abre no browser)" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 msgid "_Donate to the Project !" msgstr "" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 msgid "_Email the Author" msgstr "" -#: src/gui.c:1547 +#: src/gui.c:1519 msgid "Report a _Bug" msgstr "" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 msgid "Suggest a _Feature" msgstr "" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 msgid "Assist with _Translating" msgstr "" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "Resolução de Problemas" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "Sobre [_A]" -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "Rebobinar para iniciar (w)" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "Tocar tudo (p)" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "Parar execução (q)" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "Tocar seleção (y)" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "Volume" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "Volume do áudio (1.00)" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "Remover fundo branco (b)" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "Tocar mais devagar (ctrl-down)" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "Tocar mais rápido (ctrl-up)" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "Voltar (ctrl-left)" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "Avançar (ctrl-right)" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "Mostrar informação de clipe (i)" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "Esconder esta barra de ferramentas" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." msgstr "" #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr " Velocidade de execução do vídeo (frames por segundo) " -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "Variar a velocidade do vídeo" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "Primeiro Frame" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "Último Frame" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "O primeiro frame selecionado nesse clipe" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "O último frame selecionado nesse clipe" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "Iniciando...\n" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr "" " Aperte 'Q' para parar a gravação. NÃO CUBRA A JANELA DO TOCADOR! " -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "Número do frame a visualizar" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "Livre [_f]" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "Escolha livre do número do frame" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "Início [_s]" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "O número do frame está ligado ao quadro inicial" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "Fim [_e]" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "O número do frame está ligado ao quadro final" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "_Ponteiro" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "O número do frame está ligado ao ponteiro de execução" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "Voltar" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "Tocar Tudo" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "Tocar Seleção" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "Loop On/Off" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "Iniciar g_ravação" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "Parar de grava_r" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "G_ravar Performance" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr "" -#: src/gui.c:3613 +#: src/gui.c:3553 msgid "Streaming" msgstr "" -#: src/gui.c:3615 +#: src/gui.c:3555 #, c-format msgid "Play Window%s" msgstr "" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "Esconder Janela do Tocador" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "Mostrar Janela do Tocador" -#: src/gui.c:4199 +#: src/gui.c:4127 #, fuzzy, c-format msgid "'LiVES opened the file' '%s'" msgstr "" @@ -4192,7 +4197,7 @@ "\n" "LiVES foi incapaz de reordenar os frames." -#: src/gui.c:4220 +#: src/gui.c:4146 #, fuzzy, c-format msgid "'LiVES closed the file' '%s'" msgstr "Deixar LiVES definir a extensão do _file" @@ -4202,11 +4207,11 @@ msgid "Mapped to ctrl-%d" msgstr "" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "Efeitos" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "Clipes" @@ -4220,11 +4225,11 @@ msgid "Select clip for %s\n" msgstr "" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "" @@ -4269,11 +4274,11 @@ msgid "%d bytes" msgstr "" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "Limpando a área de trasferência" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -4284,7 +4289,7 @@ "==============================\n" "Alternado para clipe %s\n" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" @@ -4294,11 +4299,11 @@ "==============================\n" "Alternado para clipe vazio\n" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "(vazio)" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " @@ -4307,7 +4312,7 @@ "O nome do set foi modificado de %s para %s. Layouts afetados foram " "atualizados\n" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" @@ -4316,7 +4321,7 @@ "O clipe %s está faltando no set.\n" "Ele é necessário para os seguintes layouts:\n" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" @@ -4325,7 +4330,7 @@ "O clipe %s foi fechado.\n" "Ele é utilizado nos seguintes layouts:\n" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" @@ -4334,7 +4339,7 @@ "Frames foram movidos no clipe %s.\n" "Os seguintes layouts foram afetados:\n" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" @@ -4343,7 +4348,7 @@ "Frames foram deletados no clipe %s.\n" "Os seguintes layouts foram afetados:\n" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" @@ -4352,7 +4357,7 @@ "Frames foram deletados do clipe %s.\n" "Os seguintes layouts foram afetados:\n" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" @@ -4361,7 +4366,7 @@ "Áudio foi movido no clipe %s.\n" "Os seguintes layouts foram afetados:\n" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" @@ -4370,7 +4375,7 @@ "Áduio foi alterado no clipe %s.\n" "Os seguintes layouts foram afetados:\n" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" @@ -4379,7 +4384,7 @@ "Frames foram alterados no clipe %s.\n" "Os seguintes layouts foram afetados:\n" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -4390,7 +4395,7 @@ "não pode ser aberto porque está em uso\n" "por outra instância de LiVES.\n" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -4401,39 +4406,39 @@ "O set %s está atualmente em uso por outra instância do LiVES.\n" "Escolha outro nome.\n" -#: src/utils.c:2188 +#: src/utils.c:2207 #, c-format msgid "" "\n" "%s names may not be blank.\n" msgstr "" -#: src/utils.c:2196 +#: src/utils.c:2215 #, c-format msgid "" "\n" "%s names may not be longer than %d characters.\n" msgstr "" -#: src/utils.c:2204 +#: src/utils.c:2223 #, c-format msgid "" "\n" "%s names may not contain spaces or the characters%s.\n" msgstr "" -#: src/utils.c:2213 +#: src/utils.c:2232 #, c-format msgid "" "\n" "%s names may not start with a '.' or contain '..'\n" msgstr "" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4444,73 +4449,73 @@ "O set %s já existe.\n" "Escolha outro nome.\n" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "Removendo layout %s\n" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "Vídeo [abrindo...]" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "Vídeo [%.2f seg]" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "(Indefinida)" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "(Sem vídeo)" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "(Sem áudio)" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "Mono [abrindo...]" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "Áudio Esquerdo [abrindo...]" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "Mono [%.2f seg]" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "Áudio Esquerdo [%.2f seg]" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "Áudio Direito [abrindo...]" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "Áudio Direito [%.2f seg]" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "" "LiVES não pode mudar para o mplayer enquanto clipes estão sendo carregados." -#: src/utils.c:3492 +#: src/utils.c:3548 msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "" -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "Limpando clipe" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4525,29 +4530,29 @@ "\n" "Sobrescrever?\n" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "Desfazer %s [_U]" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "_Refazer %s" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "-------------Seleção------------" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr " seg ] ---------- Seleção ---------- [ " -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr " frames ] ----------" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4572,7 +4577,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "Abrindo %s tempo inicial %.2f seg. frames %d" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr " sem som" @@ -4688,7 +4693,7 @@ "Tem certeza que quer continuar?" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "Pegando frames do clipe" @@ -4747,12 +4752,12 @@ msgid "Recording performance..." msgstr "Gravando performance..." -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "FPS médio era %.4f\n" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4766,21 +4771,21 @@ "Vá em 'Ferramentas | Redimensionar Todos'\n" "e redimensione todos frames para o tamanho atual.\n" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "Desconhecido" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "Untitled%d" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "%d frames são suficientes!\n" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4788,13 +4793,13 @@ "%s\n" msgstr "" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" msgstr "" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4802,7 +4807,7 @@ "Bad things may happen with this clip.\n" msgstr "" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4814,13 +4819,13 @@ "FPS.\n" "O padrão pode ser ajustado em 'Ferramentas | Preferências | Misc'.\n" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "" "Velocidade de execução ajustada para %.3f fps para se encaixar no áudio.\n" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" @@ -4829,7 +4834,7 @@ "Frames=%d tipo=%s tamanho=%dx%d *bpp=Greyscale* fps=%.3f\n" "Áudio:" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" @@ -4838,54 +4843,54 @@ "Frames=%d tipo=%s tamanho=%dx%d bpp=%d fps=%.3f\n" "Áudio:" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "%s nenhum\n" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, c-format msgid " - Author: %s\n" msgstr "" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, c-format msgid " - Title: %s\n" msgstr "" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr " - Comentário: %s\n" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "Salvando frame %d de %s..." -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "Fazendo backup de %s até %s" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "Fazendo backup" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "backup concluído dos dados da performance..." -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "Restaurando %s..." -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "Restaurando" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -4940,11 +4945,11 @@ msgid "Recovering files..." msgstr "Recuperando arquivos..." -#: src/dialogs.c:87 +#: src/dialogs.c:83 msgid "Show affeced _layouts" msgstr "" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" @@ -4952,47 +4957,47 @@ "Não mostrar mais este aviso\n" "(pode ser ligado novamente em Preferências/Avisos)" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr "" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 msgid "Warning !" msgstr "" -#: src/dialogs.c:198 +#: src/dialogs.c:186 msgid "Error !" msgstr "" -#: src/dialogs.c:208 +#: src/dialogs.c:196 msgid "Information" msgstr "" -#: src/dialogs.c:234 +#: src/dialogs.c:221 msgid "Question" msgstr "" -#: src/dialogs.c:248 +#: src/dialogs.c:235 msgid "File Error" msgstr "" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "Exibir _Detalhes" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -5003,7 +5008,7 @@ "(Disk warning levels can be configured in Preferences.)" msgstr "" -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -5015,11 +5020,11 @@ "Preferences.)" msgstr "" -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "Tocadores de áudio não podem ser trocados durante a execução." -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -5032,18 +5037,18 @@ "insuficiente.\n" "Por favor tente fechar outros aplicativos primeiro.\n" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "" -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" "%s%d%% done. Time remaining: %u sec%s\n" msgstr "" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" @@ -5052,7 +5057,7 @@ "\n" "%d/%d frames abertos. Tempo restante %u seg.\n" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" @@ -5061,7 +5066,7 @@ "\n" "%d/%d frames abridos.\n" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" @@ -5070,7 +5075,7 @@ "\n" "%d frames abertos.\n" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" @@ -5079,7 +5084,7 @@ "\n" "Tempo restante: %d seg" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -5090,7 +5095,7 @@ "Desculpe, LiVES só pode abrir %d arquivos por vez.\n" "Por favor feche um arquivo e tente novamente." -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, fuzzy, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -5107,14 +5112,14 @@ "\n" "Por favor tenha certeza de ter permissão de escrita neste diretório." -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 msgid "" "\n" "LiVES currently requires either 'mplayer', 'mplayer2', or 'sox' to function. " "Please install one or other of these, and try again.\n" msgstr "" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 #, fuzzy msgid "" "\n" @@ -5125,7 +5130,7 @@ "O LiVES atualmente precisa de 'mplayer', 'mplayer2' or 'sox' para funcionar. " "Por favor instale algum delas, e tente de novo.\n" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 #, fuzzy msgid "" "\n" @@ -5136,19 +5141,19 @@ "O LiVES atualmente precisa de 'mplayer', 'mplayer2' or 'sox' para funcionar. " "Por favor instale algum delas, e tente de novo.\n" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" @@ -5159,7 +5164,7 @@ "ou troque por outro formato de codificador em 'Ferramentas | Preferências | " "Codificação'\n" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -5173,7 +5178,7 @@ "Por favor mude o codec de áudio em 'Ferramentas | Preferências | " "Codificação'\n" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" @@ -5181,13 +5186,13 @@ "Este layout inclui frames gerados.\n" "Ele nãopode ser salvo, renderize como clipe primeiro.\n" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -5198,7 +5203,7 @@ "\n" "Devido a restrições no formato %s\n" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" @@ -5206,43 +5211,43 @@ "LiVES recomenda as configurações a seguir:\n" "\n" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr ", assinado" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr ", não-assinalado" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr ", little-endian" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr ", big-endian" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "Definir vídeo para %.3f FPS\n" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "Definir vídeo para %d:%d FPS\n" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "Redimensionar vídeo para %d x %d pixels\n" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" @@ -5250,36 +5255,36 @@ "\n" "Você pode querer:\n" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "redimensionar vídeo para %d x %d pixels\n" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "" "desabilite o áudio, uma vez que o codificador não pode codificar áudio\n" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "LiVES deve:\n" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "resamplear vídeo para %.3f FPS\n" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "resamplear vídeo para %d:%d FPS\n" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -5293,7 +5298,7 @@ "Aperte 'OK' para continuar e 'Cancelar' para abortar.\n" "\n" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" @@ -5303,7 +5308,7 @@ "Mudanças aplicadas a seleção não serão permanentes.\n" "\n" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -5316,7 +5321,7 @@ "LiVES não pôde gravar a performance. Não há memória suficiente disponível.\n" "Tente gravar apenas uma parte do arquivo." -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -5335,7 +5340,7 @@ "\n" "Aperte 'Cancelar' para abortar a inserção, ou 'OK' para continuar." -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -5348,18 +5353,18 @@ "click Cancel." msgstr "" -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "Histórico de Mensagens" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " "in your %s file" msgstr "" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -5370,25 +5375,25 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 msgid "" "Sorry, unknown audio type.\n" "\n" " (Filenames must end in" msgstr "" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "falhou (tipo desconhecido)\n" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" "(They will not be usable without the set).\n" msgstr "" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -5402,7 +5407,7 @@ "existente.\n" "Clique em Cancelar para escolher um novo nome.\n" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -5414,7 +5419,7 @@ "Tem certeza que quer continuar?\n" "." -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -5426,7 +5431,7 @@ "Tem certeza que quer continuar?\n" "." -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -5437,7 +5442,7 @@ "Otherwise click Cancel to skip loading this file.\n" msgstr "" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -5452,7 +5457,7 @@ "%s\n" "O clipe não pode ser carregado.\n" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -5460,7 +5465,7 @@ "Alternately, select a different audio player in Preferences.\n" msgstr "" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -5469,13 +5474,13 @@ "Automatic jack startup will be disabled now.\n" msgstr "" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" msgstr "" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -5486,13 +5491,13 @@ "%s\n" msgstr "" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" msgstr "" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -5507,7 +5512,7 @@ "Você pode aumentar este valor em Preferências/Multipista.\n" "É recomendado aumentá-lo em ao menos %d MB" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -5516,7 +5521,7 @@ "Do you wish to delete them ?\n" msgstr "" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -5528,7 +5533,7 @@ "Feche alguns aplicativos ou reduza o tamanho da memória de desfazer\n" "Em 'Preferências > Multipista 'Memória de Desfazer'\n" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -5540,7 +5545,7 @@ "Você precisa aumentar o buffer de desfazer\n" "em 'Preferências > Multipista > Tamanho do buffer de desfazer'\n" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" @@ -5548,19 +5553,19 @@ "\n" "LiVES não conseguiu reservar memória sufiiciente para o buffer de desfazer.\n" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "ou insira um valor menos.\n" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "Tente novamente do editor de clipes, tente fechar outros aplicativos\n" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "Tente fechar outros aplicativos\n" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" @@ -5569,21 +5574,21 @@ "áudio.\n" "Ajuste as configurações de áudio no menu Ferramentas.\n" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "" "O layout atual tem áudio, de modo que canais de áudio não podem ser " "definidos como zero.\n" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" "You can set this in Tools|Preferences|Playback." msgstr "" -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" @@ -5593,31 +5598,31 @@ "outro sistema, ou de uma versão mais antiga do LiVES).\n" "Tentar reparar a cópia em disco do layout?\n" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" msgstr "" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" @@ -5627,7 +5632,7 @@ "\n" "A taxa de áudio deve ser maior que 0.\n" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5639,7 +5644,7 @@ "e pode demorar muito tempo para ser apresentada.\n" "Tem certeza que deseja visualizar?\n" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" @@ -5649,7 +5654,7 @@ "\n" "Você deve instalar o 'dvgrab' para usar esta função.\n" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5664,25 +5669,25 @@ "Você pode precisar selecionar um desses em Ferramentas/Preferências/" "Reprodução.\n" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "O plugin de execução de vídeo falhou em iniciar a palheta!\n" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "O plugin de decodificação de áudio falhou em inicializar a palheta!\n" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "Impossível definir framerate do plugin de vídeo\n" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" msgstr "" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5695,33 +5700,33 @@ "\n" "echo %d > /proc/sys/net/core/rmem_max\n" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "cancelado.\n" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "falhou.\n" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "feito.\n" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "erro no arquivo. Falhou.\n" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -5731,7 +5736,7 @@ "%s%s%s" msgstr "" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -5741,7 +5746,7 @@ "%s" msgstr "" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -5751,7 +5756,7 @@ "%s" msgstr "" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -5760,7 +5765,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -5770,7 +5775,7 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -5779,7 +5784,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -5789,12 +5794,12 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "" -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -5803,7 +5808,7 @@ "Please check your system for errors.\n" msgstr "" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -5816,7 +5821,7 @@ "%s\n" "Por favor veja as permissões e tente novamente." -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -5825,7 +5830,7 @@ "Please check the directory permissions and try again." msgstr "" -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, c-format msgid "" "\n" @@ -5833,14 +5838,14 @@ "%s\n" msgstr "" -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -5848,13 +5853,13 @@ "Please select another encoder from the list.\n" msgstr "" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" msgstr "" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -5864,27 +5869,27 @@ "- Check if the device actually exists.\n" msgstr "" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" "Do you wish to overwrite the existing subtitles ?\n" msgstr "" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 msgid "" "\n" "LiVES currently only supports subtitles of type" msgstr "" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -5893,14 +5898,14 @@ "or OK to continue and save as type \"%s\"\n" msgstr "" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" "(If unsure, click Yes)\n" msgstr "" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -5911,19 +5916,19 @@ "." msgstr "" -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" msgstr "" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" msgstr "" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -5931,7 +5936,7 @@ "DO NOT SHUT DOWN OR CLOSE LIVES !\n" msgstr "" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, c-format msgid "" "\n" @@ -5939,14 +5944,14 @@ "The theme could not be loaded correctly.\n" msgstr "" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" "Please check the spelling of the set name and try again.\n" msgstr "" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -5955,7 +5960,7 @@ "directory. Would you like me to do this (recommended) ?" msgstr "" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -5967,7 +5972,7 @@ msgstr "" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -5976,40 +5981,40 @@ "\n" msgstr "" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" "Consult your package distributor.\n" msgstr "" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" msgstr "" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "" "Por favor configure seu tocador de CD em 'Ferramentas | Preferências | " "Misc'\n" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, c-format msgid "" "\n" @@ -6018,7 +6023,7 @@ "(Theme name not found).\n" msgstr "" -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -6027,7 +6032,7 @@ "already exists. Would you like to overwrite it ?\n" msgstr "" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -6168,7 +6173,7 @@ msgid "Video only Transitions" msgstr "Ver apenas Transições" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "áudio apenas" @@ -6176,7 +6181,7 @@ msgid "Audio only Transitions" msgstr "Transições apenas de Áudio" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "áudio" @@ -6220,7 +6225,7 @@ msgid "Audio Analysers" msgstr "" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "desconhecido" @@ -6277,89 +6282,89 @@ "\n" "Nenhum frame foi gerado.\n" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 #, fuzzy msgid "Invalid element" msgstr "Parametro inválido" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 #, fuzzy msgid "Invalid property" msgstr "Parametro inválido" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 #, fuzzy msgid "Invalid plugin" msgstr "Linha inválida %d em %s\n" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 msgid "No error" msgstr "" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 msgid "integer" msgstr "" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 msgid "string" msgstr "" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 msgid "pointer" msgstr "" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "Erro: plugin %s não tem a função weed_setup().\n" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" @@ -6368,270 +6373,270 @@ "Info: Impossível carregar plugin %s\n" "Erro: %s\n" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr "" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, c-format msgid "Successfully loaded %d compound filters\n" msgstr "" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, fuzzy, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "Falha ao iniciar instância %s, erro %d\n" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "Impossível iniciar gerador %s\n" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, fuzzy, c-format msgid "Failed to start generator %s (%s)\n" msgstr "Falha ao iniciar gerador %s\n" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, fuzzy, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "Falha ao iniciar gerador %s\n" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 msgid "Autoscale" msgstr "" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 msgid "Delete this connection" msgstr "" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, c-format msgid "%s - Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, c-format msgid "%s - Parameter Data Connections" msgstr "" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 msgid "Parameter and Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 msgid "Auto Connect Channels" msgstr "" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 msgid "Auto Connect Parameters" msgstr "" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "Clique em 'Preview' para mudar estes valores" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "_Reiniciar Valores" -#: src/framedraw.c:241 +#: src/framedraw.c:242 msgid "_Frame" msgstr "" @@ -6675,40 +6680,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "_Framerate alvo (um plugin pode sobreescrever)" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "%s : tamanho" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "Novo tamanho (pixels)" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "Largura [_W]" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "Altura [_H]" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "Gerar na Área de Transferên_cia" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "Gerar frames na área de transferência" -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "Gerar em _Novo Clipe" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "Gerar frames em um novo clipe" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -6789,32 +6794,32 @@ " Ferramentas|Preferências|Execução|Plugins de Execução Avançados\n" "\n" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "" -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "_FPS" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "Framerate fixa para plugin.\n" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "Entrada de colorspace para o plugin.\n" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -6827,7 +6832,7 @@ "Falhou em abrir o plugin de execução %s\n" "Erro: %s\n" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -6842,7 +6847,7 @@ "está sem uma função essencial.\n" "Impossível usá-lo.\n" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" @@ -6851,7 +6856,7 @@ "O plugin de execução de vídeo falhou ao iniciar.\n" "O error: %s\n" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " @@ -6860,17 +6865,17 @@ "*** Usando o plugin %s pra execução em tela cheia, com a palheta tipo %d " "(%s). ***\n" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -6879,7 +6884,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -6892,7 +6897,7 @@ "%s%s%s\n" "ou troque de plugin em 'Ferramentas | Preferências | Codificação'\n" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, c-format msgid "" "\n" @@ -6900,12 +6905,12 @@ "No decoders found in %s !\n" msgstr "" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, c-format msgid " using %s" msgstr "" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -6918,7 +6923,7 @@ "Falhou em abrir o plugin de decodificação %s\n" "Erro: %s\n" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -6933,24 +6938,24 @@ "está sem uma função essencial.\n" "Impossível usá-lo.\n" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "/desconhecido" -#: src/plugins.c:2556 +#: src/plugins.c:2550 msgid "Decoder Plugins" msgstr "" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "Falhou em carregar %s, as transições podem não redimensionar.\n" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "%s configurações avançadas" @@ -7158,19 +7163,19 @@ msgid "Move _Down" msgstr "Move Abaixo [_U]" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 msgid "RFX Properties" msgstr "" -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "Lento (nota para GUI) [_S]" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "Gerador de modo _batch" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -7184,7 +7189,7 @@ "Favor remover o gatilho primeiro.\n" "\n" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -7196,185 +7201,185 @@ "Alguns gatilhos foram ajustados.\n" "Por favor confirme o código gatilho.\n" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 msgid "New RFX Parameter" msgstr "" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 msgid "Edit RFX Parameter" msgstr "" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "_Nome: " -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "Nome do parâmetro, deve ser único no plugin." -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "_Rótulo: " -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." msgstr "" "Rótulo a ser mostrado pelo parâmetro. Um sublinhado representa um atalho." -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "_Tipo: " -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "Tipo de parâmetro (selecione de uma lista)." -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "Casas decimais [_P]: " -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "Valor pa_drão: " -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "Padrão [_D]: " -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "_Grupo de botões: " -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "Um valor diferente de zero pode ser usado para agrupar botões rádio." -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "Valor _mínimo: " -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "Valor má_ximo: " -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr " Tamanho do pa_sso: " -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "Quanto do parâmetro é ajustado quando as setas são pressionadas." -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 msgid "_Wrap value" msgstr "" -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "Se o valor empacota max->min e min->max." -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "Definir _valores" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "Padrão ve_rmelho: " -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "Padrão verde [_G]:" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "Padrão azul [_B]: " -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "_Definir padrão" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "Valor padrão: " -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "Comprimento máximo (caracteres): " -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 msgid "New RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 msgid "Edit RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "" -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "" -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "" -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "Linha: " -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "Parâmetros atrelados (%d): " -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "Parametros atrelados (4): " -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "Parâmetros atrelados (2): " -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 msgid "New RFX Trigger" msgstr "" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 msgid "Edit RFX Trigger" msgstr "" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "Quando: " -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 msgid "Pre Loop Code" msgstr "" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 msgid "Loop Code" msgstr "" -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 msgid "Post Loop Code" msgstr "" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, c-format msgid "Default text (max length %d)" msgstr "" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 msgid "Enter values, one per line" msgstr "" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" @@ -7384,7 +7389,7 @@ "\n" "O nome não deve ficar em branco.\n" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" @@ -7394,7 +7399,7 @@ "\n" "Nome não pode conter espaços.\n" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" @@ -7404,7 +7409,7 @@ "\n" "Texto do menu não pode estar em branco.\n" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" @@ -7414,7 +7419,7 @@ "\n" "Descrição da ação não pode estar em branco.\n" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" @@ -7424,7 +7429,7 @@ "\n" "O nome do autor não deve ficar em branco.\n" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -7436,7 +7441,7 @@ "Já existe um plugin com este nome.\n" "O nome deve ser único.\n" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" @@ -7446,7 +7451,7 @@ "\n" "Codigo do loop não deve estar em branco.\n" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" @@ -7456,7 +7461,7 @@ "\n" "O código do gatilho não deve ser deixado em branco para um utilitário.\n" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" @@ -7466,7 +7471,7 @@ "\n" "O nome do parâmetro não deve ser deixado em branco.\n" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -7480,41 +7485,41 @@ "plugin.\n" "\n" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "Escrevendo arquivo de script %s..." -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "A seção <define> não foi encontrada no script.\n" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "Versão do script ruim.\n" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "A seção <name> não foi encontrada no script.\n" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "A seção <version> não foi enonctrada no script.\n" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "A seção <author> não foi encontrada no script.\n" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "A seção <description> não foi encontrada no script.\n" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "Descrição ruim. (%s)\n" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -7529,27 +7534,27 @@ "encontrado no script.\n" "\n" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "Reconstruindo todos scripts RFX..." -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "Reconstruindo scripts" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "customizado..." -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "teste..." -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "reconstruindo entradas dinâmicas de menu..." -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -7562,7 +7567,7 @@ "LiVES não conseguiu encontrar o programa %s.\n" "Por favor confirme se este programa está no PATH e é executável.\n" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -7577,12 +7582,12 @@ "%s ?\n" "\n" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "Deletando script RFX %s..." -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -7597,7 +7602,7 @@ "%s\n" "Código do erro %d\n" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -7612,12 +7617,12 @@ "já existe.\n" "Por favor delete-o primeiro, ou renomeie o script de teste.\n" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "Promovendo plugin rfx %s de teste para customizado..." -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -7628,20 +7633,20 @@ "Return code was %d (%s)\n" msgstr "" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 msgid "Export Script" msgstr "" -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "Copiando %s para %s..." -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 msgid "Import Script" msgstr "" -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -7656,43 +7661,43 @@ "já existe.\n" "Por favor delete-o primeiro, ou renomeie o script a ser importado.\n" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 msgid "Copy RFX Script" msgstr "" -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "" -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr " Script: " -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 msgid "Rename Test RFX Script" msgstr "" -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "Do script: " -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 msgid "RFX Script Name" msgstr "" -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "Nome do script: " -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "Novo nome: " -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "Novo nome de script: " -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -7704,12 +7709,12 @@ "Já existe um script de teste com este nome.\n" "O nome do script deve ser único.\n" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "Renomeando script RFX de teste %s para %s..." -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -7726,27 +7731,27 @@ "%s\n" "Código %d\n" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "_Aplicar Efeitos em Tempo-Real para Seleção" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 msgid "Applying Current Real Time Effects to" msgstr "" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "Carregando efeito renderizado %s..." -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "" "Veja: VJ - mostrar atalhos'. Configure os efeitos em tempo-real, e depois " "aplique-os aqui." -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -7758,7 +7763,7 @@ "Plugins de execução de vídeo só são ativados em\n" "tela cheia, modo de janela separada\n" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -7766,7 +7771,7 @@ "(Free space = UNKNOWN)" msgstr "" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -7775,14 +7780,14 @@ "(Free space = %s)" msgstr "" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" "It should be in a partition with plenty of free disk space.\n" msgstr "" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7793,7 +7798,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7803,7 +7808,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1193 +#: src/preferences.c:1163 #, fuzzy msgid "" "You have chosen to change the working directory.\n" @@ -7824,7 +7829,7 @@ "Ou aperte 'Cancelar' para restaurar o diretório temp para sua configuração " "original." -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, fuzzy, c-format msgid "" "\n" @@ -7837,7 +7842,7 @@ "primeiro.\n" "Veja http://jackaudio.org\n" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" @@ -7845,7 +7850,7 @@ "\n" "Trocar tocador de áudio requer reiniciar (jackd não deve estar rodando)\n" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, fuzzy, c-format msgid "" "\n" @@ -7858,386 +7863,386 @@ "primeiro.\n" "Veja http://jackaudio.org\n" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "PCM (qualidade melhor; arquivos maiores)" -#: src/preferences.c:2468 +#: src/preferences.c:2418 msgid "Preferences" msgstr "" -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "Abrir janela de seleção de arquivos maximizada" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "Mostrar arquivos recentes no menu 'Arquivo'" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "Parar screensaver quando tocando " -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "Abrir janela principal maximizada" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "Mostrar barra de ferramentas quando o fundo estiver limpo" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "Modo inicial" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "Editor de _clipes" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "Modo _multipista" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "Suporte multi-head" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr " número do monitor para a interface do LiVES" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr " número do monitor para execução" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." msgstr "" -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "Forçar único monitor" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "GUI" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "Quando entrando no modo multipista" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "_Pergunte-me por configurações de largura, altura, FPS e de áudio" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "Sempre use os seguintes v_alores:" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "Use os mesmos _valores para renderizar um novo clip" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr " Tamanho do b_uffer de desfazer (MB) " -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "Sair do modo multipista depois d_e renderizar" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "_Cada" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "segundos" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "Depois de cada mudança" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "_Nunca" -#: src/preferences.c:2872 +#: src/preferences.c:2757 msgid "Maximum number of visible tracks" msgstr "" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "Multipista/Renderizar" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "Use abertura imediata quando possível" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "" "Ativar abertura imediata de alguns tipos de arquivo usando plugins de " "decodificação" -#: src/preferences.c:2925 +#: src/preferences.c:2804 msgid "Video open command (fallback)" msgstr "" -#: src/preferences.c:2935 +#: src/preferences.c:2811 msgid "Fallback image format" msgstr "" -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "_jpeg" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "_png" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "" -#: src/preferences.c:2964 +#: src/preferences.c:2832 msgid "Open/render compression" msgstr "" -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr "" " % ( mais baixo = arquivos maiores e mais lentos; para jpeg, melhor " "qualidade )" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "Ativar desinterlaçamento automático quando possível" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "Desinterlaça automaticamente frames quando um plugin o sugerir" -#: src/preferences.c:2995 +#: src/preferences.c:2856 msgid "Automatic trimming / padding of audio when possible" msgstr "" -#: src/preferences.c:2997 +#: src/preferences.c:2858 msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "Quando abrir múltiplos arquivos, concatene as imagens em um clip" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "Decodificação" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "VÍDEO" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "Baixo - pode melhorar a performance em computadores mais lentos" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "Normal - recomendado para a maioria dos usuários" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "Alto - pode melhorar a qualidade em computadores muito rápidos" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "_Qualidade de Visualização" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "" "A qualidade da pré-visualização da execução de vídeo - afeta o " "redimensionamento" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "_Mostrar estatísticas de FPS" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "_Plugin" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "ÁUDIO" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "Tocador [_P]" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "_Comando para tocar áudio" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "- interno -" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "Áudio segue a velocidade/di_reção de vídeo" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "Áudio segue as mudanças de _clipe" -#: src/preferences.c:3269 +#: src/preferences.c:3110 msgid "Source:" msgstr "" -#: src/preferences.c:3273 +#: src/preferences.c:3114 msgid "_Internal" msgstr "" -#: src/preferences.c:3278 +#: src/preferences.c:3119 msgid "_External (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "Execução" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" msgstr "" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr " O que gravar quando 'r' for pressionado " -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "Mudanças de _frame" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "Mudanças de F_PS" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "Efeitos em tempo _real" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "Trocas de _clip" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "GB" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "Gravando" -#: src/preferences.c:3454 +#: src/preferences.c:3273 #, fuzzy msgid "You can also change these values when encoding a clip" msgstr "Clique em 'Preview' para mudar estes valores" -#: src/preferences.c:3466 +#: src/preferences.c:3285 msgid "Encoder" msgstr "" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "Formato de saída" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "Codec de áudio" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "Codificação" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "Usar _antialiasing quando redimensionando" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "Número de efeitos em tempo _real" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." @@ -8245,97 +8250,97 @@ "O número de teclas de efeito em tempo real \"virtuais\". Podem ser " "controladas através da janela de efeitos em tempo real, ou via rede (OSC)." -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr " Diretório de vídeo a ser carregado (padrão) " -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr " Diretório de salvar vídeo (padrão) " -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr " Diretório de áudio a ser carregado (padrão) " -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr " Diretório de imagens (padrão) " -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr " Diretório de Backup/Restauração (padrão) " -#: src/preferences.c:3649 +#: src/preferences.c:3461 #, fuzzy msgid " Working directory (do not remove) " msgstr " Diretório temp (não remova) " -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "O diretório padrão de onde carregar vídeos" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "O diretório padrão onde salvar vídeos codificados" -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "O diretório padrão para carregar e salvar áudio" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "O diretório padrão para salvar amostras de frames" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "" "O diretório padrão para fazer backup e restauração de clipes individuais" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "diretório de trabalho do LiVES." -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "Diretórios" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "" -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr "" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "" -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" @@ -8343,303 +8348,303 @@ "Avisar ao Inserir/Mesclar se o _framerate da área de transferência não for " "igual ao da seleção" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "Avisar ao abrir arquivos de tamanho _superior a " -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr " MB" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "Mostrar um aviso antes de salvar um se_t" -#: src/preferences.c:3872 +#: src/preferences.c:3659 msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " "when LiVES is started." msgstr "" -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "" "Mostrar um aviso se nenhum efeito _renderizado for encontrado na " "inicialização." -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "Avisar se o _mplayer não for encontrado quando o LiVES abrir." -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "Avisar se um nome de set _duplicado for digitado." -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "" "Quando um set é carregado, avise se clipes estiverem faltando dos _layouts." -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "Avise se um clipe usado em um layout está para ser fechado." -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "Avise se frames usados em um layout estão perto de serem deletados." -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "Avise se frames usados em um layout estão perto de serem movidos." -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "Avise se fames usados em um layout estão perto de serem alterados." -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "Avise se áudio usado em um layout está perto de ser deletado." -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "Avise se áudio usado em um layout está perto de ser movido." -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "Avise se áudio usado em um layout está perto de ser alterado." -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "" -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "Avise se um layout não estiver salvo ao sair do modo multipista." -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "" "Avisar se multipista não tem canais de áudio e o layout com áudio está " "carregado." -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." msgstr "" -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "" "Mostrar mensagem de informação depois de importar de dispositivo firewire." -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "Mostrar um aviso antes de abrir um stream yuv4mpeg (avançado)." -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "" "Mostrar um aviso quando houver pouco espaço em disco no modo multipista." -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "" -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "" -#: src/preferences.c:4113 +#: src/preferences.c:3865 msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "" -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "Avisos" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "Sincronia MIDI (requer os arquivos midistart e midistop)" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "Quando inserindo/mesclando frames: " -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "Aumentar/Diminuir Velocidade da In_serção" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "_Resamplear Inserção" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "Dispositivo de CD " -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "LiVES pode carregar faixas de áudio deste CD" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "FPS padrão " -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "Frames por segundo para usar se nenhum for especificado" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "Misc" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "Novo tema: " -#: src/preferences.c:4242 +#: src/preferences.c:3977 msgid "Main Theme Details" msgstr "" -#: src/preferences.c:4254 +#: src/preferences.c:3988 msgid " _Foreground Color" msgstr "" -#: src/preferences.c:4273 +#: src/preferences.c:4007 msgid " _Background Color" msgstr "" -#: src/preferences.c:4291 +#: src/preferences.c:4026 msgid "_Alt Foreground Color" msgstr "" -#: src/preferences.c:4309 +#: src/preferences.c:4044 msgid "_Alt Background Color" msgstr "" -#: src/preferences.c:4327 +#: src/preferences.c:4062 msgid " Info _Text Color" msgstr "" -#: src/preferences.c:4346 +#: src/preferences.c:4081 msgid " Info _Base Color" msgstr "" -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "" -#: src/preferences.c:4365 +#: src/preferences.c:4100 msgid "Affects some contrast details of the timeline" msgstr "" -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "" -#: src/preferences.c:4398 +#: src/preferences.c:4132 msgid "Frame blank image" msgstr "" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "" -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4474 +#: src/preferences.c:4203 msgid "Track background (multitrack)" msgstr "" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "" -#: src/preferences.c:4529 +#: src/preferences.c:4258 msgid "Timeline selection (multitrack)" msgstr "" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "" -#: src/preferences.c:4553 +#: src/preferences.c:4282 msgid "Timecode foreground (multitrack)" msgstr "" -#: src/preferences.c:4565 +#: src/preferences.c:4293 msgid "Frame surround" msgstr "" -#: src/preferences.c:4582 +#: src/preferences.c:4306 msgid "Themes/Colors" msgstr "" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "Velocidade de download (Kb/s) " -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "LiVES deve ser compilado sem \"configure --disable-OSC\" para usar OMC" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "Controle remoto OMC ativado" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "Porta UDP " -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "Iniciar OMC ao abrir" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "Streaming/Networking" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "Transporte" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" @@ -8647,44 +8652,44 @@ "LiVES deve ser compilado com jack/transport.h e jack/jack.h presentes para " "usar transporte jack" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "Arquivo de configuração do _transporte jack" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "Iniciar _servidor junto com o LiVES" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "Áudio" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "" "LiVES deve ser compilado com jack/jack.h presente para usar áudio do jack" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" @@ -8692,79 +8697,79 @@ "Você DEVE escolher o tocador de áudio \"jack\" na aba Execução para usar " "áudio do jack" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "_Arquivo de configuração do servidor de áudio jack" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "Integração com jack" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "Eventos a responder para:" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "Eventos do _Joystick" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "Dispositivos _Joystick" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "O dispositivo de Joystick, ex. /dev/input/js0" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "Eventos _MIDI" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "Use _ALSA MIDI (recomendado)" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "Usar _raw MIDI" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "Ler diretamente de um dispositivo MIDI" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "Dispositivo _MIDI" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "/dev/input/midi0O dispositivo MIDI, ex." -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "Avançado" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "Checar _Taxa do MIDI" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." @@ -8772,25 +8777,25 @@ "Número de checagens por mensagem do teclado. Aumentar vai melhorar a " "resposta da MIDI, mas pode diminuir o tempo de resposta." -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "Repetição do MIDI" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "Número de não-leituras permitidas entre sucessivas leituras." -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "" "(Aviso: definir este valor alto demais poder diminuir a velocidade de " "reprodução.)" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "Aprendizado do MIDI/Joystick" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -8802,42 +8807,42 @@ "diretório tenha efeito.\n" "Clique OK para continuar.\n" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." msgstr "" -#: src/preferences.c:5525 +#: src/preferences.c:5205 msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "" -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "" "As opções do jack só surtirão efeito da próxima vez que o LiVES for iniciado." -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "Sincronizando ao framerate externo de %.8f FPS.\n" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "Impossível inicializar receptor OSC\n" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "AVISO: Não foi possível iniciar o servidor OSC na porta UDP %d\n" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "Servidor OSC iniciado na porta UDP %d\n" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "Não foi possivel iniciar servidor OSC/UDP na porta %d \n" @@ -8860,12 +8865,12 @@ msgid "Resample/Resize" msgstr "Resamplear/Redimensionar" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "Comprimento do vídeo é agora de %d frames.\n" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" @@ -8875,143 +8880,143 @@ "\n" "A nova taxa deve ser maior que 0\n" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "Resampleando áudio" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "LiVES não conseguiu resamplear o áudio como requisitado.\n" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "Resamplear Áudio" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "Áudio resampleado a %d Hz, %d canais, %d bit" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "Resampleando vídeo a %.8f frames por segundo..." -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "Resampleando vídeo a %.3f frames por segundo..." -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "Erro de reordenação!\n" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "Resamplear" -#: src/resample.c:1208 +#: src/resample.c:1209 msgid "New Clip Audio" msgstr "" -#: src/resample.c:1210 +#: src/resample.c:1211 msgid "External Clip Settings" msgstr "" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "Atual" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "Taxa (Hz) " -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 msgid "Channels" msgstr "" -#: src/resample.c:1256 +#: src/resample.c:1257 msgid "Sample Size " msgstr "" -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "Assinalado" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "Não-assinalado" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "Little Endian" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "Big Endian" -#: src/resample.c:1322 +#: src/resample.c:1323 #, fuzzy msgid "New Audio Details" msgstr "Novo Áudio" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "Novo" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "Habilitar áudio [_e]" -#: src/resample.c:1369 +#: src/resample.c:1370 msgid "_Channels" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "_Sample Size" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "Sample Size" msgstr "" -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "_Frames por segundo (FPS) " -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "Gravar para máximo: " -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr " horass " -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr " minutos " -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr " segundos " -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "Ilimitado" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "Clique OK para começar a gravar ou Cancelar para sair." -#: src/resample.c:1635 +#: src/resample.c:1636 msgid "Change Playback Speed" msgstr "" -#: src/resample.c:1637 +#: src/resample.c:1638 msgid "Resample Video" msgstr "" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -9028,7 +9033,7 @@ "Por favor digite o framerate desejado\n" "em _frames por segundo" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -9045,15 +9050,15 @@ "Por favor digite o framerate desejado para _resamplear\n" "em frames por segundo" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "OU entre a duração do arquivo em _segundos" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "Mudar _a velocidade do áudio também" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" @@ -9064,7 +9069,7 @@ "layouts multipista.\n" "Tem certeza que quer mudar a velocidade?\n" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" @@ -9075,47 +9080,47 @@ "layouts multipista.\n" "Tem certeza que quer mudar a velocidade?\n" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "Mudança de Velocidade" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "Velocidade de execução modificada para %.3f fps e áudio para %d Hz.\n" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "Velocidade de execução modificada para %.3f fps.\n" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "Resampleando vídeo" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "Resampleando vídeo da area de transferência" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "Reordenando frames" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" @@ -9125,11 +9130,11 @@ "\n" "LiVES foi incapaz de reordenar os frames." -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "Desordenando frames" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "erro de sampling..." @@ -9392,7 +9397,7 @@ msgid "Mode active" msgstr "Modo ativo" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "Info" @@ -9518,54 +9523,54 @@ msgid "Opened firewire card %d" msgstr "" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "Áudio de fundo" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, c-format msgid "%s : parameters for %s" msgstr "" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "Faixa selecionada: %s (camada %d)\n" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "Faixa atual: Áudio de fundo\n" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "Faixa selecionada: camada %d\n" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "%.2f seg.\n" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "Fonte: %s" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "Clique com o botão direito para menu.\n" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." msgstr "" -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -9574,7 +9579,7 @@ "right or double clicking on it.\n" msgstr "" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -9582,7 +9587,7 @@ "Select an effect in FX stack first to view its parameters.\n" msgstr "" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" @@ -9592,7 +9597,7 @@ "\n" "Sem clipes.\n" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -9602,7 +9607,7 @@ "before inserting clips into the timeline." msgstr "" -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -9611,12 +9616,12 @@ "to apply compositors.\n" msgstr "" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "%.2f seg. até %.2f seg.\n" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" @@ -9624,160 +9629,160 @@ "Clique simples na linha de tempo\n" "para selecionar um frame.\n" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" msgstr "" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr "para selecionar uma região.\n" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 msgid "Selected Clip" msgstr "" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 msgid "_Adjust Start and End Points" msgstr "" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 msgid "_Edit/Encode in Clip Editor" msgstr "" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 msgid "_Show Clip Information" msgstr "" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 msgid "_Close this Clip" msgstr "" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 msgid "Audio Mixer (ctrl-m)" msgstr "" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "" -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "" -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "" -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "" -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "" -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "" -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "" -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "" -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "" -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "Fechar primeiro vão(s) nas trilhas/tempo selecionados" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "Fechar vãos" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "Mover bloco" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "Mover bloco de áudio" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "Deletar bloco" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "Deletar bloco de áudio" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "Dividir faixas" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "Dividir bloco" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "Aplicar %s" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "Deletar %s" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "Inserir bloco" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "Inserir vão" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "Inserir bloco de áudio" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "Mudança da ordem de efeitos" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "não-assinalado " -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "assinalado " -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " @@ -9786,15 +9791,15 @@ "Valores multipista definidos em %.3f fps, tamanho de frame %d x %d, canais " "de áudio %d, taxa de áudio %d, tamanho da amostra de áudio %d, %s.\n" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "lista de eventos inválida. Falha.\n" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "a lista de eventos tem um FPS inválida. Falha.\n" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -9809,7 +9814,7 @@ "fechar o set atual,\n" "e então carregue no novo set a partir do menu 'Arquivo'.\n" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -9820,431 +9825,431 @@ "Há um número inválido de canais de áudio (%d) no LiVES.\n" "Não pode ser carregado.\n" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "Parâmetros" -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "_Abrir..." -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "Abrir Trecho de Arquivo [_P]" -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "Importar trecho de _DVD/VCD" -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "Importar Trecho de _DVD" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "Importar Trecho de _VCD" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "_Importar de Dispositivo" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 msgid "_Close the Selected Clip" msgstr "" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 msgid "_Save Layout as..." msgstr "" -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 msgid "_Load Layout..." msgstr "" -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 msgid "_Wipe/Delete Layout..." msgstr "" -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "" -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 msgid "Auto Load _Subtitles with Clips" msgstr "" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "EDITOR DE _CLIPES" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 msgid "_Adjust Selected Clip Start/End Points" msgstr "" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "_Inserir clipe selecionado" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 msgid "_Insert Selected Clip Audio" msgstr "" -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 msgid "_Delete Selected Block" msgstr "" -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 msgid "_Jump to Previous Block Boundary" msgstr "" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 msgid "_Jump to Next Block Boundary" msgstr "" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 msgid "Clear _Marks from Timeline" msgstr "" -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 msgid "Ignore Selection Limits when Inserting" msgstr "" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "Tocar a partir da _posição na linha de tempo" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 msgid "Pla_y Selected Time Only" msgstr "" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 msgid "_Move Effects with Blocks" msgstr "" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 msgid "Select _Autotransition Effect..." msgstr "" -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 msgid "Crossfade Audio with Autotransition" msgstr "" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 msgid "View/_Edit Selected Effect" msgstr "" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 msgid "_Delete Selected Effect" msgstr "" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 msgid "Apply Effect to _Block..." msgstr "" -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 msgid "Apply Effect to _Region..." msgstr "" -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "_Faixas" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 msgid "Make _Backing Audio Current Track" msgstr "" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "Adicionar faixa de vídeo at_rás" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "Adicionar Faixa de Vídeo à _Frente" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 msgid "_Split Current Track at Cursor" msgstr "" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 msgid "_Split Selected Video Tracks" msgstr "" -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 msgid "Insert Gap in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 msgid "Insert Gap in Current Track/Selected Time" msgstr "" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 msgid "Close All _Gaps in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "Se_leção" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "_Selecionar faixa atual" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 msgid "Select _All Video Tracks" msgstr "" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 msgid "Select _No Video Tracks" msgstr "" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 msgid "Select All _Time" msgstr "" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 msgid "Select from _Zero Time" msgstr "" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 msgid "Select to _End Time" msgstr "" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "_Copiar..." -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 msgid "_Timecode to Region Start" msgstr "" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 msgid "_Timecode to Region End" msgstr "" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 msgid "_Region Start to Timecode" msgstr "" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 msgid "_Region End to Timecode" msgstr "" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 msgid "Select/Deselect Block at Current Track/Time" msgstr "" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 msgid "_Change Width, Height and Audio Values..." msgstr "" -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "_Renderizar" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 msgid "_Render All to New Clip" msgstr "" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 msgid "Render _Video" msgstr "" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 msgid "Render _Audio" msgstr "" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 msgid "_Normalise Rendered Audio" msgstr "" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 msgid "_Pre-render Audio" msgstr "" -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "_Ver" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 msgid "Block _In/Out Points" msgstr "" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 msgid "_Effects at Current" msgstr "" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 msgid "Audio Parameters" msgstr "" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 msgid "Show Backing _Audio Track" msgstr "" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 msgid "Compact View" msgstr "" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 msgid "Maximum Tracks to Display..." msgstr "" -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 msgid "Scroll to Follow Playback" msgstr "" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 msgid "_Center on Cursor" msgstr "" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 msgid "_Zoom In" msgstr "" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 msgid "_Zoom Out" msgstr "" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 msgid "Multitrack _Details" msgstr "" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "Janela de _Eventos" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 msgid "_Show FRAME Events" msgstr "" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 msgid "_Show Multitrack Keys" msgstr "" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "Reportar um _bug" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 msgid "Insert With _Audio" msgstr "" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 msgid "Select _Overlap" msgstr "" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" msgstr "" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "Visão Expandida (d)" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "Visão Compacta (d)" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "Gravidade:_Normal" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "Gravidade:_Esquerda" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "Gravidade:_Direito" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 msgid "Mouse Mode: _Move" msgstr "" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 msgid "Mouse Mode: _Select" msgstr "" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 msgid "Insert Mode: _Normal" msgstr "" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "_Applicar" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "Tempo" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "_Deletar nodo" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "Próximo _nodo" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "Nodo anterior [_P]" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "Execução _reversa " -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "_Velocidade " -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "Ancorar início [_S]" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "Ancorar o ponto de início à linha de tempo" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "Ancorar final [_E]" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "Ancorar o ponto final à linha de tempo" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "Rolar" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" @@ -10254,91 +10259,91 @@ "==============================\n" "Alternado para modo de edição de clipes\n" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "Linha de tempo (segs.)" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr " Áudio de fundo" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr " Áudio camada %d" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "Áudio camada %d" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "%s (cam. %d)" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "Selecionar faixa" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "Vídeo %d" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr " %s" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 msgid "Selected Effect" msgstr "" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 msgid "_View/Edit this Effect" msgstr "" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 msgid "_View this Effect" msgstr "" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 msgid "_Delete this Effect" msgstr "" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr " %d até %d selecionados " -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "%.2f seg." -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "%d frames" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" @@ -10348,70 +10353,70 @@ "==============================\n" "Alternado para modo multipista\n" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" "Nodes can be deleted." msgstr "" -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "%s saída" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "camada %d" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "faixa de áudio" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "%s até %s" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "Mapa de filtro _ant" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "Ins an_tes" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "Ins apó_s" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "_Próx mapa de filtro" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -10419,81 +10424,81 @@ "current time.\n" msgstr "" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." msgstr "" -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 msgid "Selected Block/Frame" msgstr "" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 msgid "_Select this Block" msgstr "" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 msgid "_Split Block Here" msgstr "" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 msgid "List _Effects Here" msgstr "" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "_Ajustar %s" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 msgid "_Delete this Block" msgstr "" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 msgid "_Insert Here" msgstr "" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 msgid "_Insert Audio Here" msgstr "" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "" "Gap inserido nas trilhas selecionadas a partir do tempo %.4f até %.4f\n" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "Inserido vão na trilha %s do tempo %.4f até %.4f\n" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "Desfeito %s\n" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "Refeito %s\n" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" @@ -10501,72 +10506,72 @@ "\n" " (variable)" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "pista %s" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "faixas %s e %s" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "faixas selecionadas" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "Adiconados %s %s até %s de %.4f até %.4f\n" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "Adicionado efeito %s na faixa %s de %.4f até %.4f\n" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "renderizados %d frames para um novo clipe.\n" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "Limpando..." -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "_Pausa" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "Pausa (p)" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "Aperte 'm' durante a execução" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "fazer uma marca na linha de tempo" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " @@ -10575,21 +10580,21 @@ "Inserido áudio %.4f até %.4f do clip %s no áudio de fundo, do tempo %.4f até " "%.4f\n" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" msgstr "" "Inseridos frames %d até %d no clipe %s na faixa %s do tempo %.4f até %.4f\n" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" "selected.\n" msgstr "" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" @@ -10597,105 +10602,105 @@ "selecione uma ou mais faixas\n" "para criar a região.\n" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "%d trilhas de vídeo selecionadas.\n" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." msgstr "" -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." msgstr "" -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." msgstr "" -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" msgstr "" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" msgstr "" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" msgstr "" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "ou o botão INSERIR DEPOIS para movê-lo." -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "" -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" msgstr "" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "depois deste.\n" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "antes deste.\n" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "Removidos parâmetros de efeitos para o efeito %s no tempo %.4f\n" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "Definir os valores de parâmetro para %s %s em %s no tempo %.4f\n" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "_Autorecarregar cada vez" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 msgid "Saving layout" msgstr "" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "Mapa de teclado salvo em %s\n" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "clipes e frames" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "clipes" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "frames" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" @@ -10703,7 +10708,7 @@ "\n" "Auto recarregar layout.\n" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -10714,11 +10719,11 @@ "Alguns %s estão faltando no layout%s\n" "Por isso não pode ser carregado corretamente.\n" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" @@ -10727,49 +10732,49 @@ "\n" "Impossível carregar arquivo de layout %s\n" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "Carregando mapa de teclado padrão de %s..." -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "Pegou %d eventos...processando..." -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "Checando e reconstruindo lista de eventos" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "%d erros detectados.\n" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "FPS multipista definido em %.3f\n" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 msgid "" "The current layout has changes which have not been saved.\n" "Are you sure you wish to wipe it ?\n" msgstr "" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 msgid "Multitrack Audio Mixer" msgstr "" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "_Reiniciar valores" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "Fechar mixer [_C]" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" @@ -10777,16 +10782,16 @@ "_Invertendo volumes do\n" "áudio de fundo e da camada" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "" "Ajustando valores de áudio de fundo e da camada para que possam somar 1.0" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "camada de audio _Gang" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "Ajustar todos valores de áudio das camadas para o mesmo valor" @@ -10812,7 +10817,7 @@ "Connection to jack audio was reset.\n" msgstr "" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10820,7 +10825,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10828,7 +10833,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:104 +#: src/pulse.c:105 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10836,27 +10841,27 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" msgstr "" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" msgstr "" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "não-fixado" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr "fixado"
View file
LiVES-2.8.4.tar.bz2/po/ro.po -> LiVES-2.8.6.tar.bz2/po/ro.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: lives\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" "PO-Revision-Date: 2013-03-14 12:31+0000\n" "Last-Translator: Launchpad Translations Administrators <Unknown>\n" "Language-Team: Romanian <ro@li.org>\n" @@ -18,7 +18,7 @@ "X-Launchpad-Export-Date: 2013-03-28 10:56+0000\n" "X-Generator: Launchpad (build 16546)\n" -#: src/main.c:132 +#: src/main.c:125 msgid "" "Attention Translators !\n" "This message is intended for you, so please do not translate it.\n" @@ -27,22 +27,22 @@ "http://lives-video.com/TRANS-README.txt" msgstr "" -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "" -#: src/main.c:203 +#: src/main.c:197 #, fuzzy, c-format msgid "" "\n" @@ -57,7 +57,7 @@ "Mulţumesc. De recuperare ar trebui să fie posibilă în cazul în care " "reporniţi LiVES.\n" -#: src/main.c:205 +#: src/main.c:199 #, fuzzy, c-format msgid "" "\n" @@ -70,7 +70,7 @@ "Atunci când se blochează de raportare, vă rugăm să includă detalii cu " "privire la sistemul de operare, de distribuţie, precum şi LiVES versiunea (" -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" @@ -78,7 +78,7 @@ "şi orice alte informaţii prezentate mai jos:\n" "\n" -#: src/main.c:210 +#: src/main.c:204 #, fuzzy msgid "" "Please try running LiVES with the -debug option to collect more " @@ -89,7 +89,7 @@ "multe informații.\n" "\n" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" @@ -99,90 +99,90 @@ "multe informații.\n" "\n" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "Păstrarea set.\n" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "Orice" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "Nimic" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "recomandat" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "dezactivat !" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "** Structura actuală **" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "" -#: src/main.c:474 +#: src/main.c:460 #, fuzzy msgid "LiVES: - " msgstr "LiVES: - Insera" -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "Redimensionare" -#: src/main.c:731 +#: src/main.c:708 #, fuzzy msgid "_Resize All Frames..." msgstr "_Redimensionarea tuturor cadrelor" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "" -#: src/main.c:1122 +#: src/main.c:1094 #, fuzzy msgid "Background" msgstr "_Ignoră schimbările" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "Se incarcă modulele de efecte in timp real..." -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "Pornirea serverului audio jack..." -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "" -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "" -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -194,35 +194,35 @@ "Alternatively, try to start lives with either \"lives -jackopts 16\", or " msgstr "" -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "Pornirea serverului audio pulse..." -#: src/main.c:1855 +#: src/main.c:1813 #, fuzzy, c-format msgid "%s...detected... " msgstr "mplayer...a fost detectat..." -#: src/main.c:1856 +#: src/main.c:1814 #, fuzzy, c-format msgid "%s...NOT DETECTED... " msgstr "mplayer... nu a fost detectat..." -#: src/main.c:1867 +#: src/main.c:1824 #, fuzzy msgid "Checking optional dependencies: " msgstr "Verificarea dependenţelor opţionale:" -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -233,53 +233,53 @@ "\n" "Rapoarte de manager de ferestre ca \"%s\"; " -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "numărul de monitoare detectate: %d\n" -#: src/main.c:1901 +#: src/main.c:1863 #, c-format msgid "Number of CPUs detected: %d " msgstr "" -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "" -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1927 +#: src/main.c:1889 #, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr "" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "Directorul temporar este de %s\n" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" @@ -289,15 +289,15 @@ "suport pentru jack sau pulse audio.\n" "Multe din funcțiile audio vor fi indisponibile.\n" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "Compilate cu suport jack, de bine !\n" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "Compilate cu suport de pulse audio, minunat\n" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" @@ -306,7 +306,7 @@ "Bine ati venit la LiVES versiunea %s.\n" "\n" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" @@ -315,92 +315,92 @@ "\n" "Sintaxa de start este: %s [opts] [filename [start_time] [frames]]\n" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "" "În cazul în care: de nume de fişier este numele de mass-media un fişier sau " "un fişier copie de rezervă.\n" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "start_time : timpul de start al fișierului in secunde\n" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "frames : numărul maxim de cadre pentru a deschide\n" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "opts pot fi:\n" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "-help : arată acest text de ajutor şi de ieşire\n" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "-noset : Nu încărcaţi orice set la pornire\n" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "-norecover : vigoare nu-de încărcare de crash de recuperare\n" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "-recover : forţa de încărcare de accident de recuperare\n" -#: src/main.c:2593 +#: src/main.c:2545 msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "-nogui : Nu afişa GUI\n" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "-startup-ce : pornește in modul editare clip\n" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "-startup-mt : porni în modul multicale\n" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" msgstr "" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "-oscstart <port> : pornește ascultătorul OSCpe portul UDP <port>\n" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "-nooscstart : nu începeţi ascultător OSC\n" -#: src/main.c:2605 +#: src/main.c:2557 #, fuzzy msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " @@ -409,45 +409,45 @@ "-aplayer <ap> : pornește cu playerul audio selectat. <ap> poate fi mplayer" #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr ", pulse" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr ", sox sau jack\n" -#: src/main.c:2613 +#: src/main.c:2565 msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " "transport client,2 = jack transport master, 4 = start jack transport server, " "8 = pause audio when video paused,16 = start jack audio server] \n" msgstr "" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr " sau sox\n" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" msgstr "" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "" "-debug : încerca să se blochează de depanare (necesită 'gdb' instalat)\n" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "Incepand GUI ..." -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -458,7 +458,7 @@ "(Maybe you need to change the value of <prefix_dir> in your %s file)\n" msgstr "" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -466,7 +466,7 @@ "Please make sure you have write access to %s and try again.\n" msgstr "" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -475,7 +475,7 @@ "before running LiVES.\n" msgstr "" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -485,7 +485,7 @@ "Please check the file permissions for this file and try again.\n" msgstr "" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -496,7 +496,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -504,7 +504,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2737 +#: src/main.c:2689 #, fuzzy, c-format msgid "" "\n" @@ -516,7 +516,7 @@ "LiVES nu a putut pentru a capta această imagine\n" "\n" -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -527,56 +527,56 @@ "Thankyou.\n" msgstr "" -#: src/main.c:2751 +#: src/main.c:2703 msgid "" "\n" "LiVES currently requires 'mplayer', 'mplayer2' or 'sox' to function. Please " "install one or other of these, and try again.\n" msgstr "" -#: src/main.c:2756 +#: src/main.c:2708 msgid "" "\n" "LiVES currently requires both 'mplayer' or 'mplayer2' and 'sox' to function. " "Please install these, and try again.\n" msgstr "" -#: src/main.c:2769 +#: src/main.c:2721 msgid "" "\n" "LiVES was unable to locate 'mplayer','mplayer2' or 'mpv'. You may wish to " "install one of these to use LiVES more fully.\n" msgstr "" -#: src/main.c:2775 +#: src/main.c:2727 msgid "" "\n" "LiVES was unable to locate 'mplayer' or 'mplayer2'. You may wish to install " "one of these to use LiVES more fully.\n" msgstr "" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" "magick if you want to use rendered effects.\n" msgstr "" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " "image-magick if you want to use the merge function.\n" msgstr "" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " "should install 'sox'.\n" msgstr "" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -587,63 +587,63 @@ "You may need to change the value of <lib_dir> in %s\n" msgstr "" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "" -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "" #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <Fără titlu%d> %dx%d : %d cadre %d bpp %.3f fps" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : ??? cadre ??? bpp %.3f fps" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : %d cadre %d bpp %.3f fps" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "LiVES-%s: <Nici un fişier>" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "Rulează" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" @@ -651,34 +651,34 @@ "LiVES nu a putut pentru a capta această imagine\n" "\n" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "Închis de fişiere% s\n" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "An_ulează ultima acțiune" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "_Refă ultima acțiune" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "Video" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "" -#: src/main.c:7078 +#: src/main.c:6973 msgid "" "\n" "\n" @@ -829,7 +829,7 @@ msgid "Use _mplayer2 audio player" msgstr "" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "Î_nainte" @@ -1035,51 +1035,51 @@ msgid "_Finish" msgstr "" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "" -#: src/interface.c:46 +#: src/interface.c:42 msgid "Apply _Deinterlace" msgstr "" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "" -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "Previzionează" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "" -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "" -#: src/interface.c:122 +#: src/interface.c:113 msgid "Click here to _Preview the file" msgstr "" -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 msgid "Processing..." msgstr "" -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1093,8 +1093,8 @@ "\n" "Amintiţi-vă pentru a opri efectele (Ctrl-0) dupa aceea !" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" @@ -1102,171 +1102,176 @@ "\n" "Vă rugăm să aşteptaţi" -#: src/interface.c:221 +#: src/interface.c:206 msgid "Show Details" msgstr "" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "_Destul" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "_Previzualizează" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "_Renunță" -#: src/interface.c:334 +#: src/interface.c:324 msgid "Multitrack Details" msgstr "" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "Format" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "Dimensiune cadru" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "Dimensiune fișier" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "Octet dimensiuni" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "FPS" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "Cadre" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "Evenimente" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "Timp total" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "Sunet" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "Tarif/dimensiune" -#: src/interface.c:568 +#: src/interface.c:590 msgid "Encoding Options" msgstr "" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." msgstr "" -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "Păstraţi setările _mele" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "În_chide fereastră" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "_Salvaţi în fişier" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "Inserează" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "_Numărul de ori pentru a insera" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "" -#: src/interface.c:833 +#: src/interface.c:846 +#, fuzzy +msgid "Insert _with silence" +msgstr "Introduceţi _cu sunet" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "Introduceţi _cu sunet" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "Introduceţi _fără sunet" -#: src/interface.c:924 +#: src/interface.c:937 #, fuzzy msgid "Open Selection" msgstr "LiVES: - Deschidere de selecţie" -#: src/interface.c:943 +#: src/interface.c:954 msgid "Selection start time (sec)" msgstr "" -#: src/interface.c:949 +#: src/interface.c:960 msgid "Number of frames to open" msgstr "" -#: src/interface.c:1023 +#: src/interface.c:1029 msgid "Open Location" msgstr "" -#: src/interface.c:1025 +#: src/interface.c:1031 msgid "Open Youtube Clip" msgstr "" -#: src/interface.c:1045 +#: src/interface.c:1050 msgid "" "\n" "\n" @@ -1276,7 +1281,7 @@ "\n" msgstr "" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1285,68 +1290,68 @@ "\n" msgstr "" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "URL : " -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "" -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "Nu trimiteţi informaţiile latime de banda" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "Încercaţi această setare dacă aveţi probleme cu obţinerea unui flux de" -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "" -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "" -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr "" -#: src/interface.c:1188 +#: src/interface.c:1189 #, fuzzy msgid "Rename Clip" msgstr "LiVES: - Redenumiţi Clip" -#: src/interface.c:1190 +#: src/interface.c:1191 msgid "Enter Set Name to Save as" msgstr "" -#: src/interface.c:1192 +#: src/interface.c:1193 msgid "Enter a Set Name to Reload" msgstr "" -#: src/interface.c:1194 +#: src/interface.c:1195 #, fuzzy msgid "Choose a Working Directory" msgstr "LiVES: - Alegeţi un director de lucru" -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 msgid "Rename Current Track" msgstr "" -#: src/interface.c:1198 +#: src/interface.c:1199 msgid "Enter a Name for Your Theme" msgstr "" -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1354,7 +1359,7 @@ "LiVES will remind you to save the clip set later when you try to exit.\n" msgstr "" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1378,332 +1383,332 @@ "This should be a directory with plenty of disk space available.\n" msgstr "" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "Nume nou " -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "" -#: src/interface.c:1257 +#: src/interface.c:1255 #, fuzzy msgid "Theme name " msgstr "Nume nou " -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "" -#: src/interface.c:1437 +#: src/interface.c:1425 msgid "Select input device" msgstr "" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "" -#: src/interface.c:1517 +#: src/interface.c:1505 msgid "Load CD Track" msgstr "" -#: src/interface.c:1519 +#: src/interface.c:1507 msgid "Select DVD Title/Chapter" msgstr "" -#: src/interface.c:1521 +#: src/interface.c:1509 msgid "Select VCD Title" msgstr "" -#: src/interface.c:1523 +#: src/interface.c:1511 msgid "Change Maximum Visible Tracks" msgstr "" -#: src/interface.c:1525 +#: src/interface.c:1513 msgid "Device details" msgstr "" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "Capitol " -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "" -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "" -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "" -#: src/interface.c:1815 +#: src/interface.c:1778 #, fuzzy msgid "Fade Audio In" msgstr "_Ignoră schimbările" -#: src/interface.c:1817 +#: src/interface.c:1780 #, fuzzy msgid "Fade Audio Out" msgstr "_Ignoră schimbările" -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "" -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "intai" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "" -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "ultimul" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "secunde." -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "" -#: src/interface.c:1909 +#: src/interface.c:1865 #, fuzzy msgid " (Optional)" msgstr "LiVES: - File Comentarii (opţional)" -#: src/interface.c:1912 +#: src/interface.c:1868 #, fuzzy, c-format msgid "File Comments%s" msgstr "LiVES: - File Comentarii (opţional)" -#: src/interface.c:1927 +#: src/interface.c:1882 #, fuzzy, c-format msgid "File Name: %s" msgstr "Titlu/Nume : " -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "Titlu/Nume : " -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "Autor/Artist : " -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "Comentarii : " -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "" -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "" -#: src/interface.c:2109 +#: src/interface.c:2058 #, c-format msgid "%sChoose a Device" msgstr "" -#: src/interface.c:2112 +#: src/interface.c:2061 #, fuzzy, c-format msgid "%sChoose a Directory" msgstr "LiVES: - Alegeţi un director de lucru" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2410 +#: src/interface.c:2341 msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" "What do you wish to do ?" msgstr "" -#: src/interface.c:2417 +#: src/interface.c:2348 #, fuzzy msgid "Cancel/Discard/Save" msgstr "LiVES: - Revocare/Aruncaţi/Salvare" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "_Aspect Stergeti" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "_Ignoră schimbările" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "Aspect _Sterge" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "_Salvaţi aspectul" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" "Would you like to try and recover it ?\n" msgstr "" -#: src/interface.c:2527 +#: src/interface.c:2455 msgid "Disk Recovery Options" msgstr "" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "" -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "" -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1711,334 +1716,334 @@ "-----------------------\n" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "ctrl-left" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "skip forwards\n" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "ctrl-down" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 msgid "ctrl-enter" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "reset frame rate\n" msgstr "Cadre" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "" -#: src/interface.c:2723 +#: src/interface.c:2642 msgid "reverse direction\n" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 msgid "ctrl-1" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "toggle real-time effect 1\n" msgstr "Se incarcă modulele de efecte in timp real..." -#: src/interface.c:2746 +#: src/interface.c:2665 msgid "ctrl-2" msgstr "" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "toggle real-time effect 2\n" msgstr "Se incarcă modulele de efecte in timp real..." -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "ctrl-0" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "real-time effects off\n" msgstr "" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "" -#: src/interface.c:2759 +#: src/interface.c:2678 msgid "grab keyboard for last activated effect\n" msgstr "" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2688 msgid "tab" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "" -#: src/interface.c:2785 +#: src/interface.c:2706 msgid "Other playback keys\n" msgstr "" -#: src/interface.c:2789 +#: src/interface.c:2710 msgid "play all\n" msgstr "" -#: src/interface.c:2792 +#: src/interface.c:2713 #, fuzzy msgid "play selection\n" msgstr "LiVES: - Deschidere de selecţie" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "" -#: src/interface.c:2798 +#: src/interface.c:2719 msgid "fullscreen\n" msgstr "" -#: src/interface.c:2801 +#: src/interface.c:2722 msgid "separate window\n" msgstr "" -#: src/interface.c:2804 +#: src/interface.c:2725 #, fuzzy msgid "double size\n" msgstr "Dimensiune fișier" -#: src/interface.c:2807 +#: src/interface.c:2728 msgid "ping pong loops\n" msgstr "" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "move current track up\n" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "move current track down\n" msgstr "" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "" -#: src/interface.c:2849 +#: src/interface.c:2768 msgid "select next clip\n" msgstr "" -#: src/interface.c:2852 +#: src/interface.c:2771 msgid "select/deselect current track\n" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "zoom in\n" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "zoom out\n" msgstr "" -#: src/interface.c:2861 +#: src/interface.c:2780 msgid "make a mark on the timeline (during playback)\n" msgstr "" -#: src/interface.c:2864 +#: src/interface.c:2783 msgid "rewind to play start.\n" msgstr "" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "" -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "" -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "" -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -2046,16 +2051,16 @@ "the latest youtube-dl installed.\n" msgstr "" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, c-format msgid "Layouts were removed for set %s.\n" msgstr "" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "Acest fişier" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " @@ -2063,7 +2068,7 @@ ",\n" " - inclusiv aspectul actual - " -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2073,7 +2078,7 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2083,20 +2088,20 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" "Really close it ?" msgstr "" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" msgstr "" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2109,54 +2114,54 @@ "Once you have done this, you will be able to import the new project.\n" msgstr "" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "" -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "" -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 #, fuzzy msgid "Theme" msgstr "Nume nou " -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, c-format msgid "Exporting theme as %s..." msgstr "" -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, c-format msgid "Importing theme \"%s\" from %s..." msgstr "" -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, c-format msgid "Backup as %s File" msgstr "" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, c-format msgid "Restore %s File" msgstr "" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2164,101 +2169,101 @@ "Are you sure ?\n" msgstr "" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "" -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "" -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "" -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "Desfac" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "Audio restaurarea..." -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "Reface" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "" -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "" -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "Taie" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 msgid "Pulling frames from clipboard" msgstr "" -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "" -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "" -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " "LiVES.\n" msgstr "" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2267,31 +2272,31 @@ "the 'Trim Audio' function from the Audio menu." msgstr "" -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." msgstr "" -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2299,7 +2304,7 @@ "Clipboard audio has been erased.\n" msgstr "" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2308,88 +2313,88 @@ "using unchanged audio ?\n" msgstr "" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "" -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "Inserez" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "" -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "" -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" "Are you sure ?" msgstr "" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "" -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" "Selection is locked.\n" msgstr "" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2397,11 +2402,11 @@ "play.)\n" msgstr "" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2410,7 +2415,7 @@ "%s\n" msgstr "" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2419,7 +2424,7 @@ "The plugin may be broken or not installed correctly." msgstr "" -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2428,22 +2433,22 @@ "Please press 'Cancel' if that is not what you want.\n" msgstr "" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2451,24 +2456,24 @@ "Click OK to proceed.\n" msgstr "" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "" -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "" -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "" -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2476,68 +2481,68 @@ "Internal: %s (%d bpp) / %s\n" msgstr "" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." msgstr "" -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" "(%d virtual)" msgstr "" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" "(%d decoded)" msgstr "" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" " %.2f sec." msgstr "" -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" msgstr "" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" "%s %s" msgstr "" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2554,22 +2559,22 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n" msgstr "" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "" -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" "Launchpad Contributions:\n" " Dan Telecan https://launchpad.net/~telecan-dan\n" " salsaman https://launchpad.net/~salsaman" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, c-format msgid "" "LiVES Version %s\n" @@ -2583,14 +2588,14 @@ "Homepage: %s" msgstr "" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 msgid "" "\n" "\n" "You need to install mplayer or mplayer2 to be able to preview this file.\n" msgstr "" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 msgid "" "\n" "\n" @@ -2598,92 +2603,92 @@ "this file.\n" msgstr "" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" "%s\n" msgstr "" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 msgid "Encoder Debug Output" msgstr "" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "" -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 msgid "Load Subtitles" msgstr "" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 msgid "Select Audio File" msgstr "" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -2691,83 +2696,83 @@ "." msgstr "" -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "" -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "" -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "" -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 #, fuzzy msgid "Layout Errors" msgstr "Curăţă _erori" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "Curăţă _erori" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "Şterge _afişajele afectate" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "Reia" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "întrerut..." -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "reluat..." -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "Păstrează" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, c-format msgid "" "\n" @@ -2776,30 +2781,30 @@ "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "Renunță" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 #, fuzzy msgid "Selected Frame" msgstr "_Ignoră schimbările" -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 #, fuzzy msgid "_Save Frame as..." msgstr "_Ignoră schimbările" -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -2808,7 +2813,7 @@ "\n" msgstr "" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -2816,7 +2821,7 @@ "\n" msgstr "" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" @@ -2824,7 +2829,7 @@ "\n" "Timpul de înregistrare trebuie să fie mai mare decât 0.\n" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -2839,17 +2844,17 @@ "Apăsaţi 'Anulare' pentru a anula acţiunea\n" "\n" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" msgstr "" -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -2859,19 +2864,19 @@ "(Default of %.3f frames per second will be used.)\n" msgstr "" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "" -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "" -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -2880,119 +2885,119 @@ "rate.\n" msgstr "" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "" -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "" -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 msgid "Append Audio File" msgstr "" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "" -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "" -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "" -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "" -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "" -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" "Are you sure ?" msgstr "" -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "" -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "" @@ -3005,878 +3010,878 @@ msgid "Merge Clipboard [ %d Frames ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "" -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "" -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "" -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "" -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "" -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "" -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "" -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "" -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "" -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "" -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "" -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "" -#: src/gui.c:692 +#: src/gui.c:674 #, c-format msgid "_Backup Clip as .%s..." msgstr "" -#: src/gui.c:701 +#: src/gui.c:683 #, c-format msgid "_Restore Clip from .%s..." msgstr "" -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "" -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "" -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "" -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "" -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "" -#: src/gui.c:1069 +#: src/gui.c:1045 msgid "Letterbox Mode" msgstr "" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "" -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "" -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "" -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "" -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "" -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "" -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "" -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "" -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "" -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "" -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "" -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "" -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "" -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "" -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "" -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "" -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "" -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "" -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "" -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "" -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "" -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "" -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "" -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "" -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "" -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "" -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "" -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "" -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "" -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "" -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "" -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "" -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "" -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "" -#: src/gui.c:1397 +#: src/gui.c:1371 msgid "Receive _LiVES Stream from..." msgstr "" -#: src/gui.c:1401 +#: src/gui.c:1375 msgid "_Send LiVES Stream to..." msgstr "" -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "" -#: src/gui.c:1426 +#: src/gui.c:1399 #, c-format msgid "_Import Project (.%s)..." msgstr "" -#: src/gui.c:1430 +#: src/gui.c:1403 #, c-format msgid "E_xport Project (.%s)..." msgstr "" -#: src/gui.c:1437 +#: src/gui.c:1409 #, c-format msgid "_Import Custom Theme (.%s)..." msgstr "" -#: src/gui.c:1442 +#: src/gui.c:1414 #, c-format msgid "E_xport Theme (.%s)..." msgstr "" -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "" -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "" -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." msgstr "" -#: src/gui.c:1476 +#: src/gui.c:1448 msgid "_Reset All Playback Speeds and Positions" msgstr "" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "" -#: src/gui.c:1480 +#: src/gui.c:1452 msgid "_MIDI/Joystick Interface" msgstr "" -#: src/gui.c:1489 +#: src/gui.c:1461 msgid "_MIDI/Joystick Learner..." msgstr "" -#: src/gui.c:1493 +#: src/gui.c:1465 msgid "_Save Device Mapping..." msgstr "" -#: src/gui.c:1497 +#: src/gui.c:1469 msgid "_Load Device Mapping..." msgstr "" -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 msgid "_Donate to the Project !" msgstr "" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 msgid "_Email the Author" msgstr "" -#: src/gui.c:1547 +#: src/gui.c:1519 msgid "Report a _Bug" msgstr "" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 msgid "Suggest a _Feature" msgstr "" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 msgid "Assist with _Translating" msgstr "" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "" -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." msgstr "" #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr "" -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr "" -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr "" -#: src/gui.c:3613 +#: src/gui.c:3553 msgid "Streaming" msgstr "" -#: src/gui.c:3615 +#: src/gui.c:3555 #, fuzzy, c-format msgid "Play Window%s" msgstr "În_chide fereastră" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "" -#: src/gui.c:4199 +#: src/gui.c:4127 #, fuzzy, c-format msgid "'LiVES opened the file' '%s'" msgstr "" "LiVES nu a putut pentru a capta această imagine\n" "\n" -#: src/gui.c:4220 +#: src/gui.c:4146 #, fuzzy, c-format msgid "'LiVES closed the file' '%s'" msgstr "Închis de fişiere% s\n" @@ -3886,11 +3891,11 @@ msgid "Mapped to ctrl-%d" msgstr "" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "" @@ -3904,11 +3909,11 @@ msgid "Select clip for %s\n" msgstr "" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "" @@ -3953,11 +3958,11 @@ msgid "%d bytes" msgstr "" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -3965,81 +3970,81 @@ "Switched to clip %s\n" msgstr "" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" "Switched to empty clip\n" msgstr "" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " "updated accordingly\n" msgstr "" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -4047,7 +4052,7 @@ "by another copy of LiVES.\n" msgstr "" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -4055,39 +4060,39 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2188 +#: src/utils.c:2207 #, c-format msgid "" "\n" "%s names may not be blank.\n" msgstr "" -#: src/utils.c:2196 +#: src/utils.c:2215 #, c-format msgid "" "\n" "%s names may not be longer than %d characters.\n" msgstr "" -#: src/utils.c:2204 +#: src/utils.c:2223 #, c-format msgid "" "\n" "%s names may not contain spaces or the characters%s.\n" msgstr "" -#: src/utils.c:2213 +#: src/utils.c:2232 #, c-format msgid "" "\n" "%s names may not start with a '.' or contain '..'\n" msgstr "" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4095,72 +4100,72 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "" -#: src/utils.c:3492 +#: src/utils.c:3548 msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "" -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4170,29 +4175,29 @@ "Overwrite ?\n" msgstr "" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr "" -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr "" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4217,7 +4222,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr "" @@ -4317,7 +4322,7 @@ msgstr "" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "" @@ -4371,12 +4376,12 @@ msgid "Recording performance..." msgstr "" -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4385,21 +4390,21 @@ "and resize all frames to the current size.\n" msgstr "" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4407,13 +4412,13 @@ "%s\n" msgstr "" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" msgstr "" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4421,7 +4426,7 @@ "Bad things may happen with this clip.\n" msgstr "" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4429,73 +4434,73 @@ "Default can be set in Tools | Preferences | Misc.\n" msgstr "" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, c-format msgid " - Author: %s\n" msgstr "" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, c-format msgid " - Title: %s\n" msgstr "" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr "" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "" -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "" -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "" -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -4543,61 +4548,61 @@ msgid "Recovering files..." msgstr "" -#: src/dialogs.c:87 +#: src/dialogs.c:83 #, fuzzy msgid "Show affeced _layouts" msgstr "Şterge _afişajele afectate" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" msgstr "" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr "" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 msgid "Warning !" msgstr "" -#: src/dialogs.c:198 +#: src/dialogs.c:186 #, fuzzy msgid "Error !" msgstr "LiVES: - Insera" -#: src/dialogs.c:208 +#: src/dialogs.c:196 #, fuzzy msgid "Information" msgstr "LiVES: - Insera" -#: src/dialogs.c:234 +#: src/dialogs.c:221 msgid "Question" msgstr "" -#: src/dialogs.c:248 +#: src/dialogs.c:235 #, fuzzy msgid "File Error" msgstr "Curăţă _erori" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -4608,7 +4613,7 @@ "(Disk warning levels can be configured in Preferences.)" msgstr "" -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -4620,11 +4625,11 @@ "Preferences.)" msgstr "" -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "" -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -4632,46 +4637,46 @@ "Please try closing some other applications first.\n" msgstr "" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "" -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" "%s%d%% done. Time remaining: %u sec%s\n" msgstr "" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" "%d/%d frames opened. Time remaining %u sec.\n" msgstr "" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" "%d/%d frames opened.\n" msgstr "" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" "%d frames opened.\n" msgstr "" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" "Time remaining: %d sec" msgstr "" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -4679,7 +4684,7 @@ "Please close a file and then try again." msgstr "" -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -4691,47 +4696,47 @@ "Please make sure you can write to this directory." msgstr "" -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 msgid "" "\n" "LiVES currently requires either 'mplayer', 'mplayer2', or 'sox' to function. " "Please install one or other of these, and try again.\n" msgstr "" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 msgid "" "\n" "This function requires either mplayer or mplayer2 to operate.\n" "You may wish to install one or other of these and try again.\n" msgstr "" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 msgid "" "\n" "This function requires either mplayer, mplayer2 or mpv to operate.\n" "You may wish to install one or other of these and try again.\n" msgstr "" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" "Or switch to another encoder format in Tools | Preferences | Encoding\n" msgstr "" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -4739,19 +4744,19 @@ "Please set the audio codec in Tools|Preferences|Encoding\n" msgstr "" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -4759,83 +4764,83 @@ "Due to restrictions in the %s format\n" msgstr "" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" msgstr "" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr "" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr "" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr "" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr "" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" msgstr "" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -4844,14 +4849,14 @@ "\n" msgstr "" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" "\n" msgstr "" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -4860,7 +4865,7 @@ "Try recording for just a selection of the file." msgstr "" -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -4871,7 +4876,7 @@ "Please press Cancel to abort the insert, or OK to continue." msgstr "" -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -4884,18 +4889,18 @@ "click Cancel." msgstr "" -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " "in your %s file" msgstr "" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -4906,25 +4911,25 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 msgid "" "Sorry, unknown audio type.\n" "\n" " (Filenames must end in" msgstr "" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" "(They will not be usable without the set).\n" msgstr "" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -4933,7 +4938,7 @@ "Click Cancel to pick a new name.\n" msgstr "" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -4941,7 +4946,7 @@ "." msgstr "" -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -4949,7 +4954,7 @@ "." msgstr "" -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -4960,7 +4965,7 @@ "Otherwise click Cancel to skip loading this file.\n" msgstr "" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -4970,7 +4975,7 @@ "The clip could not be loaded.\n" msgstr "" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -4978,7 +4983,7 @@ "Alternately, select a different audio player in Preferences.\n" msgstr "" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -4987,13 +4992,13 @@ "Automatic jack startup will be disabled now.\n" msgstr "" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" msgstr "" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -5004,13 +5009,13 @@ "%s\n" msgstr "" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" msgstr "" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -5020,7 +5025,7 @@ "It is recommended to increase it to at least %d MB" msgstr "" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -5029,7 +5034,7 @@ "Do you wish to delete them ?\n" msgstr "" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -5037,7 +5042,7 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -5045,81 +5050,81 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" msgstr "" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" msgstr "" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" "You can set this in Tools|Preferences|Playback." msgstr "" -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" "Should I try to repair the disk copy of the layout ?\n" msgstr "" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" msgstr "" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" "Audio rate must be greater than 0.\n" msgstr "" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5127,14 +5132,14 @@ "Are you sure you wish to view it ?\n" msgstr "" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" "You must install 'dvgrab' to use this function.\n" msgstr "" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5143,25 +5148,25 @@ "You may need to select one of these in Tools/Preferences/Playback.\n" msgstr "" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" msgstr "" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5170,33 +5175,33 @@ "echo %d > /proc/sys/net/core/rmem_max\n" msgstr "" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -5206,7 +5211,7 @@ "%s%s%s" msgstr "" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -5216,7 +5221,7 @@ "%s" msgstr "" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -5226,7 +5231,7 @@ "%s" msgstr "" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -5235,7 +5240,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -5245,7 +5250,7 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -5254,7 +5259,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -5264,12 +5269,12 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "" -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -5278,7 +5283,7 @@ "Please check your system for errors.\n" msgstr "" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -5287,7 +5292,7 @@ "Please check the file permissions and try again." msgstr "" -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -5296,7 +5301,7 @@ "Please check the directory permissions and try again." msgstr "" -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, c-format msgid "" "\n" @@ -5304,14 +5309,14 @@ "%s\n" msgstr "" -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -5319,13 +5324,13 @@ "Please select another encoder from the list.\n" msgstr "" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" msgstr "" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -5335,27 +5340,27 @@ "- Check if the device actually exists.\n" msgstr "" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" "Do you wish to overwrite the existing subtitles ?\n" msgstr "" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 msgid "" "\n" "LiVES currently only supports subtitles of type" msgstr "" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -5364,14 +5369,14 @@ "or OK to continue and save as type \"%s\"\n" msgstr "" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" "(If unsure, click Yes)\n" msgstr "" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -5382,19 +5387,19 @@ "." msgstr "" -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" msgstr "" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" msgstr "" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -5402,7 +5407,7 @@ "DO NOT SHUT DOWN OR CLOSE LIVES !\n" msgstr "" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, c-format msgid "" "\n" @@ -5410,14 +5415,14 @@ "The theme could not be loaded correctly.\n" msgstr "" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" "Please check the spelling of the set name and try again.\n" msgstr "" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -5426,7 +5431,7 @@ "directory. Would you like me to do this (recommended) ?" msgstr "" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -5438,7 +5443,7 @@ msgstr "" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -5447,38 +5452,38 @@ "\n" msgstr "" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" "Consult your package distributor.\n" msgstr "" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" msgstr "" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, c-format msgid "" "\n" @@ -5487,7 +5492,7 @@ "(Theme name not found).\n" msgstr "" -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -5496,7 +5501,7 @@ "already exists. Would you like to overwrite it ?\n" msgstr "" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -5637,7 +5642,7 @@ msgid "Video only Transitions" msgstr "" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "" @@ -5645,7 +5650,7 @@ msgid "Audio only Transitions" msgstr "" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "" @@ -5689,7 +5694,7 @@ msgid "Audio Analysers" msgstr "" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "" @@ -5744,357 +5749,357 @@ "No frames were generated.\n" msgstr "" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 msgid "Invalid element" msgstr "" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 msgid "Invalid property" msgstr "" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 msgid "Invalid plugin" msgstr "" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 #, fuzzy msgid "No error" msgstr "Curăţă _erori" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 msgid "integer" msgstr "" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 msgid "string" msgstr "" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 msgid "pointer" msgstr "" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" "Error was: %s\n" msgstr "" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr "" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, c-format msgid "Successfully loaded %d compound filters\n" msgstr "" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, c-format msgid "Failed to start generator %s (%s)\n" msgstr "" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 msgid "Autoscale" msgstr "" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 msgid "Delete this connection" msgstr "" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, c-format msgid "%s - Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, c-format msgid "%s - Parameter Data Connections" msgstr "" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 msgid "Parameter and Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 msgid "Auto Connect Channels" msgstr "" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 msgid "Auto Connect Parameters" msgstr "" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "" -#: src/framedraw.c:241 +#: src/framedraw.c:242 msgid "_Frame" msgstr "" @@ -6138,40 +6143,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "" -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -6237,32 +6242,32 @@ "\n" msgstr "" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "" -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -6271,7 +6276,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -6281,31 +6286,31 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" "Error was: %s\n" msgstr "" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " "***\n" msgstr "" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -6314,7 +6319,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -6323,7 +6328,7 @@ "or switch to another plugin using Tools|Preferences|Encoding\n" msgstr "" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, c-format msgid "" "\n" @@ -6331,12 +6336,12 @@ "No decoders found in %s !\n" msgstr "" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, c-format msgid " using %s" msgstr "" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -6345,7 +6350,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -6355,24 +6360,24 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "" -#: src/plugins.c:2556 +#: src/plugins.c:2550 msgid "Decoder Plugins" msgstr "" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "" @@ -6571,19 +6576,19 @@ msgid "Move _Down" msgstr "" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 msgid "RFX Properties" msgstr "" -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -6592,7 +6597,7 @@ "\n" msgstr "" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -6600,219 +6605,219 @@ "Please check the trigger code.\n" msgstr "" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 msgid "New RFX Parameter" msgstr "" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 msgid "Edit RFX Parameter" msgstr "" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "" -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "" -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "" -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." msgstr "" -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "" -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "" -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "" -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "" -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "" -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "" -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "" -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "" -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "" -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr "" -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "" -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 msgid "_Wrap value" msgstr "" -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "" -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "" -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "" -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "" -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "" -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 msgid "New RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 msgid "Edit RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "" -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "" -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "" -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "" -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "" -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "" -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "" -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 msgid "New RFX Trigger" msgstr "" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 msgid "Edit RFX Trigger" msgstr "" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "" -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 msgid "Pre Loop Code" msgstr "" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 msgid "Loop Code" msgstr "" -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 msgid "Post Loop Code" msgstr "" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, c-format msgid "Default text (max length %d)" msgstr "" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 msgid "Enter values, one per line" msgstr "" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" "Name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" "Name must not contain spaces.\n" msgstr "" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" "Menu text must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" "Action description must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" "Author must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -6820,28 +6825,28 @@ "Name must be unique.\n" msgstr "" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" "Loop code should not be blank.\n" msgstr "" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" "Trigger code should not be blank for a utility.\n" msgstr "" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" "Parameter name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -6850,41 +6855,41 @@ "\n" msgstr "" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "" -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -6894,27 +6899,27 @@ "\n" msgstr "" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "" -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "" -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "" -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "" -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -6923,7 +6928,7 @@ "Please check this program is in your path and executable.\n" msgstr "" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -6933,12 +6938,12 @@ "\n" msgstr "" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "" -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -6948,7 +6953,7 @@ "Error code was %d\n" msgstr "" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -6958,12 +6963,12 @@ "Please delete it first, or rename the test script.\n" msgstr "" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "" -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -6974,20 +6979,20 @@ "Return code was %d (%s)\n" msgstr "" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 msgid "Export Script" msgstr "" -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "" -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 msgid "Import Script" msgstr "" -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -6997,43 +7002,43 @@ "Please delete it first, or rename the import script.\n" msgstr "" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 msgid "Copy RFX Script" msgstr "" -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "" -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr "" -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 msgid "Rename Test RFX Script" msgstr "" -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "" -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 msgid "RFX Script Name" msgstr "" -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "" -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "" -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "" -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -7041,12 +7046,12 @@ "Script name must be unique.\n" msgstr "" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "" -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -7057,25 +7062,25 @@ "Return code was %d\n" msgstr "" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 msgid "Applying Current Real Time Effects to" msgstr "" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "" -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "" -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -7083,7 +7088,7 @@ "full screen, separate window (fs) mode\n" msgstr "" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -7091,7 +7096,7 @@ "(Free space = UNKNOWN)" msgstr "" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -7100,14 +7105,14 @@ "(Free space = %s)" msgstr "" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" "It should be in a partition with plenty of free disk space.\n" msgstr "" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7118,7 +7123,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7128,7 +7133,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1193 +#: src/preferences.c:1163 msgid "" "You have chosen to change the working directory.\n" "Please make sure you have no other copies of LiVES open.\n" @@ -7140,7 +7145,7 @@ "setting." msgstr "" -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, c-format msgid "" "\n" @@ -7149,13 +7154,13 @@ "See %s\n" msgstr "" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" msgstr "" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, c-format msgid "" "\n" @@ -7164,916 +7169,916 @@ "See %s\n" msgstr "" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "" -#: src/preferences.c:2468 +#: src/preferences.c:2418 msgid "Preferences" msgstr "" -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "" -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr "" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr "" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." msgstr "" -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr "" -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "" -#: src/preferences.c:2872 +#: src/preferences.c:2757 msgid "Maximum number of visible tracks" msgstr "" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "" -#: src/preferences.c:2925 +#: src/preferences.c:2804 msgid "Video open command (fallback)" msgstr "" -#: src/preferences.c:2935 +#: src/preferences.c:2811 msgid "Fallback image format" msgstr "" -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "" -#: src/preferences.c:2964 +#: src/preferences.c:2832 msgid "Open/render compression" msgstr "" -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr "" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "" -#: src/preferences.c:2995 +#: src/preferences.c:2856 msgid "Automatic trimming / padding of audio when possible" msgstr "" -#: src/preferences.c:2997 +#: src/preferences.c:2858 msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "" -#: src/preferences.c:3269 +#: src/preferences.c:3110 msgid "Source:" msgstr "" -#: src/preferences.c:3273 +#: src/preferences.c:3114 msgid "_Internal" msgstr "" -#: src/preferences.c:3278 +#: src/preferences.c:3119 msgid "_External (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" msgstr "" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr "" -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "" -#: src/preferences.c:3454 +#: src/preferences.c:3273 msgid "You can also change these values when encoding a clip" msgstr "" -#: src/preferences.c:3466 +#: src/preferences.c:3285 msgid "Encoder" msgstr "" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." msgstr "" -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr "" -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr "" -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr "" -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr "" -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr "" -#: src/preferences.c:3649 +#: src/preferences.c:3461 msgid " Working directory (do not remove) " msgstr "" -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "" -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "" -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "" -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr "" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "" -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" msgstr "" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "" -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr "" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "" -#: src/preferences.c:3872 +#: src/preferences.c:3659 msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " "when LiVES is started." msgstr "" -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "" -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "" -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "" -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "" -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "" -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "" -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "" -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "" -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "" -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "" -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "" -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "" -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "" -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "" -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." msgstr "" -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "" -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "" -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "" -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "" -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "" -#: src/preferences.c:4113 +#: src/preferences.c:3865 msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "" -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "" -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "" -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "" -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "" -#: src/preferences.c:4242 +#: src/preferences.c:3977 msgid "Main Theme Details" msgstr "" -#: src/preferences.c:4254 +#: src/preferences.c:3988 #, fuzzy msgid " _Foreground Color" msgstr "_Ignoră schimbările" -#: src/preferences.c:4273 +#: src/preferences.c:4007 #, fuzzy msgid " _Background Color" msgstr "_Ignoră schimbările" -#: src/preferences.c:4291 +#: src/preferences.c:4026 #, fuzzy msgid "_Alt Foreground Color" msgstr "_Ignoră schimbările" -#: src/preferences.c:4309 +#: src/preferences.c:4044 #, fuzzy msgid "_Alt Background Color" msgstr "_Ignoră schimbările" -#: src/preferences.c:4327 +#: src/preferences.c:4062 msgid " Info _Text Color" msgstr "" -#: src/preferences.c:4346 +#: src/preferences.c:4081 msgid " Info _Base Color" msgstr "" -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "" -#: src/preferences.c:4365 +#: src/preferences.c:4100 msgid "Affects some contrast details of the timeline" msgstr "" -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "" -#: src/preferences.c:4398 +#: src/preferences.c:4132 #, fuzzy msgid "Frame blank image" msgstr "Cadre" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "" -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4474 +#: src/preferences.c:4203 msgid "Track background (multitrack)" msgstr "" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "" -#: src/preferences.c:4529 +#: src/preferences.c:4258 msgid "Timeline selection (multitrack)" msgstr "" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "" -#: src/preferences.c:4553 +#: src/preferences.c:4282 msgid "Timecode foreground (multitrack)" msgstr "" -#: src/preferences.c:4565 +#: src/preferences.c:4293 #, fuzzy msgid "Frame surround" msgstr "secunde." -#: src/preferences.c:4582 +#: src/preferences.c:4306 msgid "Themes/Colors" msgstr "" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "" -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "" -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" msgstr "" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" msgstr "" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "" -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." msgstr "" -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "" -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -8081,41 +8086,41 @@ "Click OK to continue.\n" msgstr "" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." msgstr "" -#: src/preferences.c:5525 +#: src/preferences.c:5205 msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "" -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "" -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "" @@ -8138,154 +8143,154 @@ msgid "Resample/Resize" msgstr "" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" "New rate must be greater than 0\n" msgstr "" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "" -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "" -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "" -#: src/resample.c:1208 +#: src/resample.c:1209 msgid "New Clip Audio" msgstr "" -#: src/resample.c:1210 +#: src/resample.c:1211 msgid "External Clip Settings" msgstr "" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "" -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 msgid "Channels" msgstr "" -#: src/resample.c:1256 +#: src/resample.c:1257 msgid "Sample Size " msgstr "" -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "" -#: src/resample.c:1322 +#: src/resample.c:1323 msgid "New Audio Details" msgstr "" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "" -#: src/resample.c:1369 +#: src/resample.c:1370 msgid "_Channels" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "_Sample Size" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "Sample Size" msgstr "" -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "" -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "" -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr "" -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr "" -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr "" -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "" -#: src/resample.c:1635 +#: src/resample.c:1636 msgid "Change Playback Speed" msgstr "" -#: src/resample.c:1637 +#: src/resample.c:1638 msgid "Resample Video" msgstr "" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -8296,7 +8301,7 @@ "in _frames per second" msgstr "" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -8307,80 +8312,80 @@ "in frames per second" msgstr "" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" "LiVES was unable to reorder the frames." msgstr "" -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "" @@ -8610,7 +8615,7 @@ msgid "Mode active" msgstr "" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "" @@ -8732,54 +8737,54 @@ msgid "Opened firewire card %d" msgstr "" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, c-format msgid "%s : parameters for %s" msgstr "" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." msgstr "" -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -8788,7 +8793,7 @@ "right or double clicking on it.\n" msgstr "" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -8796,14 +8801,14 @@ "Select an effect in FX stack first to view its parameters.\n" msgstr "" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" "No clips loaded.\n" msgstr "" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -8813,7 +8818,7 @@ "before inserting clips into the timeline." msgstr "" -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -8822,187 +8827,187 @@ "to apply compositors.\n" msgstr "" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" msgstr "" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" msgstr "" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr "" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 msgid "Selected Clip" msgstr "" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 msgid "_Adjust Start and End Points" msgstr "" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 msgid "_Edit/Encode in Clip Editor" msgstr "" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 #, fuzzy msgid "_Show Clip Information" msgstr "LiVES: - Insera" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 msgid "_Close this Clip" msgstr "" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 msgid "Audio Mixer (ctrl-m)" msgstr "" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "" -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "" -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "" -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "" -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "" -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "" -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "" -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "" -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "" -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "" -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "" -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " "audio rate %d, audio sample size %d, %s.\n" msgstr "" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -9012,7 +9017,7 @@ "then load in the new set from the File menu.\n" msgstr "" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -9020,603 +9025,603 @@ "It cannot be loaded.\n" msgstr "" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "" -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "" -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "" -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "" -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 msgid "_Close the Selected Clip" msgstr "" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 #, fuzzy msgid "_Save Layout as..." msgstr "_Salvaţi aspectul" -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 msgid "_Load Layout..." msgstr "" -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 #, fuzzy msgid "_Wipe/Delete Layout..." msgstr "Aspect _Sterge" -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "" -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 msgid "Auto Load _Subtitles with Clips" msgstr "" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 msgid "_Adjust Selected Clip Start/End Points" msgstr "" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 msgid "_Insert Selected Clip Audio" msgstr "" -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 #, fuzzy msgid "_Delete Selected Block" msgstr "Şterge _afişajele afectate" -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 msgid "_Jump to Previous Block Boundary" msgstr "" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 msgid "_Jump to Next Block Boundary" msgstr "" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 msgid "Clear _Marks from Timeline" msgstr "" -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 msgid "Ignore Selection Limits when Inserting" msgstr "" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 msgid "Pla_y Selected Time Only" msgstr "" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 msgid "_Move Effects with Blocks" msgstr "" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 msgid "Select _Autotransition Effect..." msgstr "" -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 msgid "Crossfade Audio with Autotransition" msgstr "" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 msgid "View/_Edit Selected Effect" msgstr "" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 #, fuzzy msgid "_Delete Selected Effect" msgstr "Şterge _afişajele afectate" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 msgid "Apply Effect to _Block..." msgstr "" -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 msgid "Apply Effect to _Region..." msgstr "" -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 msgid "Make _Backing Audio Current Track" msgstr "" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 msgid "_Split Current Track at Cursor" msgstr "" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 msgid "_Split Selected Video Tracks" msgstr "" -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 msgid "Insert Gap in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 msgid "Insert Gap in Current Track/Selected Time" msgstr "" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 msgid "Close All _Gaps in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 msgid "Select _All Video Tracks" msgstr "" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 msgid "Select _No Video Tracks" msgstr "" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 #, fuzzy msgid "Select All _Time" msgstr "_Ignoră schimbările" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 msgid "Select from _Zero Time" msgstr "" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 #, fuzzy msgid "Select to _End Time" msgstr "_Ignoră schimbările" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "" -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 msgid "_Timecode to Region Start" msgstr "" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 msgid "_Timecode to Region End" msgstr "" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 msgid "_Region Start to Timecode" msgstr "" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 msgid "_Region End to Timecode" msgstr "" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 msgid "Select/Deselect Block at Current Track/Time" msgstr "" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 msgid "_Change Width, Height and Audio Values..." msgstr "" -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 msgid "_Render All to New Clip" msgstr "" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 msgid "Render _Video" msgstr "" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 #, fuzzy msgid "Render _Audio" msgstr "_Ignoră schimbările" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 msgid "_Normalise Rendered Audio" msgstr "" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 msgid "_Pre-render Audio" msgstr "" -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 msgid "Block _In/Out Points" msgstr "" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 msgid "_Effects at Current" msgstr "" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 #, fuzzy msgid "Audio Parameters" msgstr "Cadre" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 msgid "Show Backing _Audio Track" msgstr "" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 msgid "Compact View" msgstr "" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 msgid "Maximum Tracks to Display..." msgstr "" -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 msgid "Scroll to Follow Playback" msgstr "" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 msgid "_Center on Cursor" msgstr "" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 msgid "_Zoom In" msgstr "" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 msgid "_Zoom Out" msgstr "" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 msgid "Multitrack _Details" msgstr "" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 msgid "_Show FRAME Events" msgstr "" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 msgid "_Show Multitrack Keys" msgstr "" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 #, fuzzy msgid "Insert With _Audio" msgstr "Introduceţi _cu sunet" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 #, fuzzy msgid "Select _Overlap" msgstr "_Ignoră schimbările" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" msgstr "" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 msgid "Mouse Mode: _Move" msgstr "" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 msgid "Mouse Mode: _Select" msgstr "" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 msgid "Insert Mode: _Normal" msgstr "" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "" -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "" -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" "Switched to Clip Edit mode\n" msgstr "" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr "" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr "" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr "" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 msgid "Selected Effect" msgstr "" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 msgid "_View/Edit this Effect" msgstr "" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 msgid "_View this Effect" msgstr "" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 #, fuzzy msgid "_Delete this Effect" msgstr "Şterge _afişajele afectate" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr "" -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "" -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" "Switched to Multitrack mode\n" msgstr "" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" "Nodes can be deleted." msgstr "" -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -9624,284 +9629,284 @@ "current time.\n" msgstr "" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." msgstr "" -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 msgid "Selected Block/Frame" msgstr "" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 msgid "_Select this Block" msgstr "" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 msgid "_Split Block Here" msgstr "" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 msgid "List _Effects Here" msgstr "" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 #, fuzzy msgid "_Delete this Block" msgstr "Aspect _Sterge" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 #, fuzzy msgid "_Insert Here" msgstr "Inserează" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 msgid "_Insert Audio Here" msgstr "" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" msgstr "" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "" -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " "to %.4f\n" msgstr "" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" "selected.\n" msgstr "" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" msgstr "" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." msgstr "" -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." msgstr "" -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." msgstr "" -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" msgstr "" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" msgstr "" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" msgstr "" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "" -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "" -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" msgstr "" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 #, fuzzy msgid "Saving layout" msgstr "_Salvaţi aspectul" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" msgstr "" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -9909,74 +9914,74 @@ "Therefore it could not be loaded properly.\n" msgstr "" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" "Unable to load layout file %s\n" msgstr "" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "" -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "" -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 msgid "" "The current layout has changes which have not been saved.\n" "Are you sure you wish to wipe it ?\n" msgstr "" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 msgid "Multitrack Audio Mixer" msgstr "" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" msgstr "" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "" @@ -10002,7 +10007,7 @@ "Connection to jack audio was reset.\n" msgstr "" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10010,7 +10015,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10018,7 +10023,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:104 +#: src/pulse.c:105 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10026,27 +10031,27 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" msgstr "" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" msgstr "" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr ""
View file
LiVES-2.8.4.tar.bz2/po/ru.po -> LiVES-2.8.6.tar.bz2/po/ru.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: lives\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" "PO-Revision-Date: 2015-04-06 05:53+0000\n" "Last-Translator: ☠Jay ZDLin☠ <Unknown>\n" "Language-Team: Russian <ru@li.org>\n" @@ -18,7 +18,7 @@ "X-Launchpad-Export-Date: 2015-05-03 15:41+0000\n" "X-Generator: Launchpad (build 17474)\n" -#: src/main.c:132 +#: src/main.c:125 #, fuzzy msgid "" "Attention Translators !\n" @@ -33,22 +33,22 @@ "Все переводчики должны прочитать заметки по переводу LiVES на\n" "http://lives.sourceforge.net/TRANS-README.txt" -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "%s Внимание: %s\n" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "%s Критическая ошибка: %s\n" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "%s Неисправимая ошибка: %s\n" -#: src/main.c:203 +#: src/main.c:197 #, fuzzy, c-format msgid "" "\n" @@ -62,7 +62,7 @@ "tracker/?group_id=64341&atid=507139\n" "Спасибо. Для восстановления перезапустите LiVES.\n" -#: src/main.c:205 +#: src/main.c:199 #, fuzzy, c-format msgid "" "\n" @@ -75,7 +75,7 @@ "В отчете об ошибке, пожалуйста, сообщите о вашей операционной системе, " "дистрибутиве, а также версию LiVES (" -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" @@ -83,7 +83,7 @@ "и другую информацию, как указано ниже:\n" "\n" -#: src/main.c:210 +#: src/main.c:204 #, fuzzy msgid "" "Please try running LiVES with the -debug option to collect more " @@ -94,7 +94,7 @@ "чтобы собрать больше информации.\n" "\n" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" @@ -104,89 +104,89 @@ "чтобы собрать больше информации.\n" "\n" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "Сохранение сборки.\n" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "Любой" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "Нет" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "рекомендуемые" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "отключено!" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "Текущее размещение" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "Встроенный" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "Настраиваемый" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "Тест" -#: src/main.c:474 +#: src/main.c:460 #, fuzzy msgid "LiVES: - " msgstr "LiVES: - %s" -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "Масштабирование" -#: src/main.c:731 +#: src/main.c:708 #, fuzzy msgid "_Resize All Frames..." msgstr "_Масштабировать все кадры" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "Передний план" -#: src/main.c:1122 +#: src/main.c:1094 msgid "Background" msgstr "Фон" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "Загрузка плагина эффектов реального времени..." -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "Запуск звукового сервера jack..." -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "Запуск передающего сервера jack..." -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "Подключение к передающему jack-серверу..." -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -207,35 +207,35 @@ "Также, вы можете попробовать запустить программу таким образом \"lives -" "jackopts 16\" или " -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "Запуск сервера pulse audio..." -#: src/main.c:1855 +#: src/main.c:1813 #, fuzzy, c-format msgid "%s...detected... " msgstr "mplayer...обнаружен..." -#: src/main.c:1856 +#: src/main.c:1814 #, fuzzy, c-format msgid "%s...NOT DETECTED... " msgstr "mplayer...НЕ ОБНАРУЖЕН..." -#: src/main.c:1867 +#: src/main.c:1824 #, fuzzy msgid "Checking optional dependencies: " msgstr "Проверка опциональных зависимостей:" -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "Версия Windows %04X" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -246,53 +246,53 @@ "\n" "Менеджер интерфейса определен как \"%s\"; " -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "обнаружено мониторов: %d\n" -#: src/main.c:1901 +#: src/main.c:1863 #, c-format msgid "Number of CPUs detected: %d " msgstr "Количество обнаруженных ЦПУ: %d " -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "(%d бит, %s)\n" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "Тип графической оболочки: " -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "GTK+ версии %d.%d.%d (сборка %d.%d.%d)" -#: src/main.c:1927 +#: src/main.c:1889 #, fuzzy, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "GTK+ версии %d.%d.%d (сборка %d.%d.%d)" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr ", с поддержкой cairo" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "Временный каталог: %s\n" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" @@ -302,15 +302,15 @@ "без поддержки jack или pulse audio.\n" "Многие аудиофункции будут недоступны.\n" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "Скомпилировано с поддержкой jack, отлично!\n" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "Скомпоновано с поддержкой pulse audio, замечательно !\n" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" @@ -319,7 +319,7 @@ "Добро пожаловать в LiVES версии %s.\n" "\n" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" @@ -328,94 +328,94 @@ "\n" "Синтаксис запуска: %s [opts] [filename [start_time] [frames]]\n" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "Где: filename - это имя медиафайла или резервной копии файла.\n" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "start_time - время начала filename (в сек.)\n" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "frames : максимальное количество кадров, которые будут открыты\n" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "opts могут быть следующие:\n" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "-help : показать этот текст помощи и выйти\n" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "" "-tmpdir <tempdir>: использовать другой рабочий каталог (например /var/" "ramdisk)\n" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "-set <setname> : автоматическая загрузка сборки <setname>\n" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "-noset : не загружать какую-либо сборку при запуске\n" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "-norecover : загрузка без режима восстановления после сбоя\n" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "-recover : загрузка в режиме восстановления после сбоя\n" -#: src/main.c:2593 +#: src/main.c:2545 #, fuzzy msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "" "-nothreaddialog : ничего не делать, сохранено для обратной совместимости\n" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "-nogui: не показывать графический интерфейс\n" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "-nosplash : не показывать заставку программы\n" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "-noplaywin : не показывать окно воспроизведения\n" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "-startup-ce : запуск в режиме редактора\n" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "-startup-mt : запуск в режиме multitrack\n" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" msgstr "" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "-oscstart <port> : запуск демона OSC на UDP порту <port>\n" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "-nooscstart : не запускать OSC демон\n" -#: src/main.c:2605 +#: src/main.c:2557 #, fuzzy msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " @@ -425,15 +425,15 @@ "указать mplayer" #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr ", pulse" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr ", sox или jack\n" -#: src/main.c:2613 +#: src/main.c:2565 #, fuzzy msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " @@ -445,31 +445,31 @@ "транспорт сервер, 8 = остановить звук когда остановлено видео, 16 = " "запустить звуковой jack сервер] \n" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr " или sox\n" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "" "-devicemap <mapname> : автоматическая загрузка карты устройств\n" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" msgstr "" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "" "-debug : использовать для отладки ошибок (требуется установленный 'gdb')\n" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "Запуск графической оболочки..." -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -486,7 +486,7 @@ "%s/%s.\n" "(Возможно вам необходимо изменить значение <prefix_dir> в файле %s)\n" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -498,7 +498,7 @@ "Пожалуйста, убедитесь, что у вас есть разрешение на запись в %s и повторите " "снова.\n" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -512,7 +512,7 @@ "Пожалуйста, изучите файл README, входящий в этот пакет\n" "перед запуском LiVES.\n" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -527,7 +527,7 @@ "\n" "Пожалуйста, проверьте разрешения файла и повторите снова.\n" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -544,7 +544,7 @@ "Пожалуйста, проверьте разрешения файла и каталога,\n" "затем повторите снова.\n" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -555,7 +555,7 @@ "%s\n" "и повторите снова.\n" -#: src/main.c:2737 +#: src/main.c:2689 #, fuzzy, c-format msgid "" "\n" @@ -570,7 +570,7 @@ "\n" "%s" -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -588,7 +588,7 @@ "\n" "Спасибо.\n" -#: src/main.c:2751 +#: src/main.c:2703 #, fuzzy msgid "" "\n" @@ -599,7 +599,7 @@ "Для работы LiVES требуется 'mplayer' или 'sox'. Установите любой из этих " "пакетов и повторите ещё раз.\n" -#: src/main.c:2756 +#: src/main.c:2708 #, fuzzy msgid "" "\n" @@ -610,7 +610,7 @@ "Для обеспечение работоспособности, LiVES необходимы 'mplayer' и 'sox'. " "Пожалуйста, установите их и повторите снова.\n" -#: src/main.c:2769 +#: src/main.c:2721 #, fuzzy msgid "" "\n" @@ -621,7 +621,7 @@ "LiVES не обнаружила 'mplayer'. Для полноценного использования LiVES " "желательно установить mplayer.\n" -#: src/main.c:2775 +#: src/main.c:2727 #, fuzzy msgid "" "\n" @@ -632,7 +632,7 @@ "LiVES не обнаружила 'mplayer'. Для полноценного использования LiVES " "желательно установить mplayer.\n" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" @@ -642,7 +642,7 @@ "LiVES не обнаружила 'convert'. Для наложения эффектов необходимо установить " "convert и image-magick.\n" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " @@ -652,7 +652,7 @@ "LiVES не обнаружила 'composite'. Если вы планируете использовать " "композиционные функции, необходимо установить composite и image-magick.\n" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " @@ -662,7 +662,7 @@ "LiVES не обнаружила 'sox'. Некоторые звуковые функции не будут доступны. " "Необходимо установить 'sox'.\n" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -679,63 +679,63 @@ "При их отсутствии, вы не сможете выполнять 'Сохранение'.\n" "Возможно вам понадобится изменить значение <lib_dir> в %s\n" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "Загрузка надстроек готовых эффектов" -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "Загрузка сборки %s..." #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "LiVES" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "Непригодный аудиоплеер %s\n" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <Неизвестный%d> %dx%d : %d кадров %d bpp %.3f fps" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : ??? кадров ??? bpp %.3f fps" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : %d кадров %d bpp %.3f fps" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "LiVES-%s: <Нет файла>" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "Воспроизвести" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" @@ -743,34 +743,34 @@ "LiVES не может загрузить это изображение\n" "\n" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "Закрыть файл %s\n" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "_Отменить" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "_Вернуть" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "Видео" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "Левый звуковой канал" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "Правый звуковой канал" -#: src/main.c:7078 +#: src/main.c:6973 #, fuzzy msgid "" "\n" @@ -980,7 +980,7 @@ msgid "Use _mplayer2 audio player" msgstr "Использовать аудиоплеер _mplayer" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "_Далее" @@ -1221,55 +1221,55 @@ msgid "_Finish" msgstr "_Завершить" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "Разрешить LiVES добавлять расширение _файла" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "Назначение _расширения файла LiVES (.%s)" -#: src/interface.c:46 +#: src/interface.c:42 msgid "Apply _Deinterlace" msgstr "" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "Если включить, чересстрочная развёртка будет устранена при импорте." -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "Предпросмотр" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "" "Кликните сюда для _Предпросмотра выбранного видео, графического или " "звукового файла" -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "Кликните сюда для _Предпросмотра выбранного звукового файла" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "Кликните сюда для _Предпросмотра видео" -#: src/interface.c:122 +#: src/interface.c:113 #, fuzzy msgid "Click here to _Preview the file" msgstr "Кликните сюда для _Предпросмотра видео" -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 #, fuzzy msgid "Processing..." msgstr "LiVES: - Обработка..." -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1283,8 +1283,8 @@ "\n" "Не забудьте отключить эффекты (ctrl-0) позже!" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" @@ -1292,175 +1292,180 @@ "\n" "Подождите" -#: src/interface.c:221 +#: src/interface.c:206 msgid "Show Details" msgstr "Показать сведения" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "_Достаточно" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "_Предпросмотр" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "Прио_становить" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "_Отмена" -#: src/interface.c:334 +#: src/interface.c:324 #, fuzzy msgid "Multitrack Details" msgstr "LiVES: - Сведения о нескольких дорожках" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "Формат" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "Размер кадра" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "Размер файла" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "Размер в байтах" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "FPS" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "Кадры" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "События" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "Общая продолжительность" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "Звук" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "Поток/размер" -#: src/interface.c:568 +#: src/interface.c:590 #, fuzzy msgid "Encoding Options" msgstr "LiVES: - Настройки кодирования" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." msgstr "" -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "Сохранить _мои настройки" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "Использовать _рекомендованные настройки" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "_Закрыть окно" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "_Сохранить в файл" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "Вставить" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "_Количество раз для вставки" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "_Вставить по совпадению звука" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "Вставить _до выделенного" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "Вставить содержимое буфера обмена до выделенного кадра" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "Вставить _за выделеннием" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "Вставить содержимое буфера обмена после выделенных кадров" -#: src/interface.c:833 +#: src/interface.c:846 +#, fuzzy +msgid "Insert _with silence" +msgstr "Вставить _со звуком" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "Вставить _со звуком" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "Вставить бе_з звука" -#: src/interface.c:924 +#: src/interface.c:937 #, fuzzy msgid "Open Selection" msgstr "_Копировать выделенное" -#: src/interface.c:943 +#: src/interface.c:954 msgid "Selection start time (sec)" msgstr "Выбор времени начала (сек)" -#: src/interface.c:949 +#: src/interface.c:960 msgid "Number of frames to open" msgstr "Количество кадров для открытия" -#: src/interface.c:1023 +#: src/interface.c:1029 #, fuzzy msgid "Open Location" msgstr "LiVES: - Открыть путь" -#: src/interface.c:1025 +#: src/interface.c:1031 #, fuzzy msgid "Open Youtube Clip" msgstr "Oткрыть фрагмент из _Youtube..." -#: src/interface.c:1045 +#: src/interface.c:1050 #, fuzzy msgid "" "\n" @@ -1478,7 +1483,7 @@ "Потоки\n" "\n" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1494,7 +1499,7 @@ "программы.\n" "\n" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" @@ -1504,65 +1509,65 @@ "Например: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "URL: " -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "Веб-ссылка Youtube : " -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "Не посылать сведения о пропускной способности" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "Попробуйте эту настройку, если возникли проблемы с получением потока" -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "Сохранить в _каталог : " -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "Имя загружаемого _файла : " -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr ".webm" -#: src/interface.c:1188 +#: src/interface.c:1189 #, fuzzy msgid "Rename Clip" msgstr "Вставить" -#: src/interface.c:1190 +#: src/interface.c:1191 #, fuzzy msgid "Enter Set Name to Save as" msgstr "LiVES: - Введите имя набора" -#: src/interface.c:1192 +#: src/interface.c:1193 #, fuzzy msgid "Enter a Set Name to Reload" msgstr "LiVES: - Введите имя набора" -#: src/interface.c:1194 +#: src/interface.c:1195 #, fuzzy msgid "Choose a Working Directory" msgstr "LiVES: - Выберите рабочий каталог" -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 #, fuzzy msgid "Rename Current Track" msgstr "LiVES: - Переименовать текущую дорожку" -#: src/interface.c:1198 +#: src/interface.c:1199 #, fuzzy msgid "Enter a Name for Your Theme" msgstr "LiVES: - Введите имя набора" -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1575,7 +1580,7 @@ "LiVES напомнит вам о необходимости сохранить набор отрезков, когда вы " "попытаетесь выйти.\n" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1604,220 +1609,220 @@ "Первоначально, вам необходимо выбрать рабочий каталог для LiVES.\n" "Это должен быть каталог с достаточным свободным местом.\n" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "Новое имя " -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "Имя набора " -#: src/interface.c:1257 +#: src/interface.c:1255 #, fuzzy msgid "Theme name " msgstr "Новое имя " -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "По умолчанию" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "_Дополнительно" -#: src/interface.c:1437 +#: src/interface.c:1425 #, fuzzy msgid "Select input device" msgstr "Выберите устройство ввода" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "Выберите устройство ввода" -#: src/interface.c:1517 +#: src/interface.c:1505 #, fuzzy msgid "Load CD Track" msgstr "Загрузить дорожку _компакт-диска" -#: src/interface.c:1519 +#: src/interface.c:1507 #, fuzzy msgid "Select DVD Title/Chapter" msgstr "LiVES:- Выбрать на DVD название или главу" -#: src/interface.c:1521 +#: src/interface.c:1509 #, fuzzy msgid "Select VCD Title" msgstr "LiVES:- Выбрать на VCD название" -#: src/interface.c:1523 +#: src/interface.c:1511 #, fuzzy msgid "Change Maximum Visible Tracks" msgstr "LiVES:- Изменить максимальное количество видимых треков" -#: src/interface.c:1525 +#: src/interface.c:1513 #, fuzzy msgid "Device details" msgstr "LiVES:- Сведения об устройстве" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "Трек для загрузки (из %s)" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "Название DVD" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "Название VCD" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "Максимальное количество показываемых треков" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "Устройство: /dev/video" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "Глава " -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "Канал " -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "ID аудио " -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "Использовать ширину, высоту и кадров/с. по умолчанию" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "Ширина" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "Высота" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "_Драйвер" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "Формат _вывода" -#: src/interface.c:1815 +#: src/interface.c:1778 #, fuzzy msgid "Fade Audio In" msgstr "Изменить входящий звук" -#: src/interface.c:1817 +#: src/interface.c:1780 #, fuzzy msgid "Fade Audio Out" msgstr "Изменить исходящий звук" -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "Усилить звук на протяжении " -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "первых" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "Приглушить на протяжении " -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "последних" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "секунд." -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "выделения" -#: src/interface.c:1909 +#: src/interface.c:1865 #, fuzzy msgid " (Optional)" msgstr "_Параметры" -#: src/interface.c:1912 +#: src/interface.c:1868 #, fuzzy, c-format msgid "File Comments%s" msgstr "LiVES: - Комментарии к файлу (не обязательно)" -#: src/interface.c:1927 +#: src/interface.c:1882 #, fuzzy, c-format msgid "File Name: %s" msgstr "Название/Имя : " -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "Название/Имя : " -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "Автор/Создатель : " -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "Комментарии : " -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "Сохранить _субтитры в файл" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "Файл субтитров" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "Обзор…" -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "_Параметры" -#: src/interface.c:2109 +#: src/interface.c:2058 #, fuzzy, c-format msgid "%sChoose a Device" msgstr "LiVES: - выберите устройство" -#: src/interface.c:2112 +#: src/interface.c:2061 #, fuzzy, c-format msgid "%sChoose a Directory" msgstr "LiVES: - выберите папку" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" @@ -1827,7 +1832,7 @@ "Текущая схема размещения не была сохранена.\n" "Что вы хотите сделать?\n" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" @@ -1837,7 +1842,7 @@ "Текущая схема размещения была изменена при предыдущем сохранении.\n" "Что вы хотите сделать?\n" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" @@ -1847,7 +1852,7 @@ "Текущий набор отрезков может быть сохранён.\n" "Что вы хотите сделать?\n" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" @@ -1855,7 +1860,7 @@ "Текущий набор отрезков не был сохранён.\n" "Что вы хотите сделать?\n" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" @@ -1863,7 +1868,7 @@ "Макет не был сохранён.\n" "Что вы хотите сделать?\n" -#: src/interface.c:2410 +#: src/interface.c:2341 #, fuzzy msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" @@ -1872,51 +1877,51 @@ "Макет не был сохранён.\n" "Что вы хотите сделать?\n" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" "What do you wish to do ?" msgstr "" -#: src/interface.c:2417 +#: src/interface.c:2348 #, fuzzy msgid "Cancel/Discard/Save" msgstr "LiVES: - Отменить/Сбросить изменения/Сохранить" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "Название набора клипов" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "_Автоматически загрузить в следующий раз" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "_Очистить макет" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "_Игнорировать изменения" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "_Удалить набор клипов" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "_Удалить макет" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "_Сохранить макет" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "_Сохранить набор клипов" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" @@ -1926,36 +1931,36 @@ "LiVES обнаружил многодорожечное размещение в прошлом сеансе работы.\n" "Хотите восстановить и использовать его ?\n" -#: src/interface.c:2527 +#: src/interface.c:2455 #, fuzzy msgid "Disk Recovery Options" msgstr "LiVES: - Параметры восстановления диска" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "Удалить все незагруженные в данный момент фрагменты" -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "Очистить _резервные файлы из закрытых фрагментов" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "" -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "По _умолчанию" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1963,346 +1968,346 @@ "-----------------------\n" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "ctrl-left" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 #, fuzzy msgid "skip forwards\n" msgstr "Слушать Вперед" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "ctrl-down" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 msgid "ctrl-enter" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "reset frame rate\n" msgstr "Первый кадр" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "" -#: src/interface.c:2723 +#: src/interface.c:2642 #, fuzzy msgid "reverse direction\n" msgstr "Обратное направление воспроизведения" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 msgid "ctrl-1" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "toggle real-time effect 1\n" msgstr "Загрузка плагина эффектов реального времени..." -#: src/interface.c:2746 +#: src/interface.c:2665 msgid "ctrl-2" msgstr "" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "toggle real-time effect 2\n" msgstr "Загрузка плагина эффектов реального времени..." -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "ctrl-0" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "real-time effects off\n" msgstr "" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "" -#: src/interface.c:2759 +#: src/interface.c:2678 msgid "grab keyboard for last activated effect\n" msgstr "" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2688 msgid "tab" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "" -#: src/interface.c:2785 +#: src/interface.c:2706 msgid "Other playback keys\n" msgstr "" -#: src/interface.c:2789 +#: src/interface.c:2710 #, fuzzy msgid "play all\n" msgstr "Слушать все" -#: src/interface.c:2792 +#: src/interface.c:2713 #, fuzzy msgid "play selection\n" msgstr "Воспроизвести выделенное" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "" -#: src/interface.c:2798 +#: src/interface.c:2719 #, fuzzy msgid "fullscreen\n" msgstr "_Полный экран" -#: src/interface.c:2801 +#: src/interface.c:2722 #, fuzzy msgid "separate window\n" msgstr "Проигрывать в отдельном окне (s)" -#: src/interface.c:2804 +#: src/interface.c:2725 #, fuzzy msgid "double size\n" msgstr "_Удвоенный размер" -#: src/interface.c:2807 +#: src/interface.c:2728 msgid "ping pong loops\n" msgstr "" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 #, fuzzy msgid "move current track up\n" msgstr "LiVES: - Переименовать текущую дорожку" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 #, fuzzy msgid "move current track down\n" msgstr "LiVES: - Переименовать текущую дорожку" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "" -#: src/interface.c:2849 +#: src/interface.c:2768 #, fuzzy msgid "select next clip\n" msgstr "В_ыбор" -#: src/interface.c:2852 +#: src/interface.c:2771 #, fuzzy msgid "select/deselect current track\n" msgstr "_Выберите Текущий трек" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 #, fuzzy msgid "zoom in\n" msgstr "_Увеличить" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 #, fuzzy msgid "zoom out\n" msgstr "_Уменьшить" -#: src/interface.c:2861 +#: src/interface.c:2780 msgid "make a mark on the timeline (during playback)\n" msgstr "" -#: src/interface.c:2864 +#: src/interface.c:2783 #, fuzzy msgid "rewind to play start.\n" msgstr "Перейти к началу (w)" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "Сохранить сборку как %s..." -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "Введите имя файла, под которым сохранить фрагмент.\n" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "Пожалуйста, введите правильную ссылку для загрузки.\n" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "Загрузка %s в %s..." -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "Загрузка фрагмента" -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -2314,16 +2319,16 @@ "Пожалуйста, проверьте правильность ссылки, а также, \n" " установлена ли последняя версия youtube-dl.\n" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, fuzzy, c-format msgid "Layouts were removed for set %s.\n" msgstr "Субтитры сохранены как %s\n" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "Этот файл" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " @@ -2331,7 +2336,7 @@ ",\n" " - включая текущую раскладку - " -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2341,7 +2346,7 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2356,7 +2361,7 @@ "\n" "Всё равно закрыть?" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" @@ -2367,7 +2372,7 @@ "\n" "Вы действительно хотите закрыть его ?" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" @@ -2375,7 +2380,7 @@ "\n" "Неправильный файл проекта.\n" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2397,54 +2402,54 @@ "название или отказаться от этого.\n" "После чего вы можете импортировать новый проект.\n" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "Импортировать проект %s как сборку %s..." -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "Импорт проекта" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "Экспорт проекта %s..." -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "Экспорт проекта" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 #, fuzzy msgid "Theme" msgstr "Новое имя " -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, fuzzy, c-format msgid "Exporting theme as %s..." msgstr "Экспорт звука как %s..." -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, fuzzy, c-format msgid "Importing theme \"%s\" from %s..." msgstr "Экспорт звука как %s..." -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, fuzzy, c-format msgid "Backup as %s File" msgstr "Сохранить резервную копию в файл .lv1" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, fuzzy, c-format msgid "Restore %s File" msgstr "Восстановить файл .lv1" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2456,94 +2461,94 @@ "Сборка будет удалена с диска.\n" "Вы уверены ?\n" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "Удаление группы %s..." -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "Удаление сборки..." -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "Удалить сборку" -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "Сборка %s была полностью удалена с диска.\n" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "Вставить тишину" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "Отмена операции" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "Восстановление аудио..." -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "Очищение изображений кадра" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "Удаление избыточных кадров" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "Сейчас длина видео составляет %d кадров при %.3f кадрах в секунду.\n" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "Буфер обмена был повторно выбран к кадрам %d.\n" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "Возврат операции" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, fuzzy, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "Копирование кадров в буфер обмена: с %d по %d%s..." -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, fuzzy, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "Копирование кадров в буфер обмена: с %d по %d%s..." -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "Копировать в буфер обмена" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "Вырезать" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 msgid "Pulling frames from clipboard" msgstr "Вставка кадров из буфера" -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "Вставка %d кадров в новый фрагмент %s..." -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "Вставить" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "...добавлен звук..." -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " @@ -2553,7 +2558,7 @@ "Пожалуйста установите 'convert' из пакета Image-magick, и затем " "перезапустите LiVES.\n" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2567,7 +2572,7 @@ "Выберите все кадры и обратитесь к функции \n" "'Trim Audio' в меню Аудио." -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." @@ -2576,7 +2581,7 @@ "соответствуют.\n" "Пожалуйста установите 'sox', и попробуйте снова." -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" @@ -2586,7 +2591,7 @@ "Вставка кадров приведет к сдвигу в размещении мультитрековых дорожек.\n" "Вы уверены, что хотите продолжить ?\n" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" @@ -2596,11 +2601,11 @@ "Вставка звука приведет к сдвигу в размещении мультитрековых дорожек.\n" "Вы уверены, что хотите продолжить ?\n" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "Повторный выбор буфера обмена звука" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2612,7 +2617,7 @@ "LiVES не может повторно выбрать буфер обмена звука. \n" "Буфер обмена звука был очищен.\n" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2621,32 +2626,32 @@ "using unchanged audio ?\n" msgstr "" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "Будут вставлены %d%s кадров из буфера обмена..." -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "Вставка" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "Вставка %d отрезка из буфера обмена%s..." -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "Вставка %d кадров из буфера обмена%s..." -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "Отмена" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" @@ -2656,7 +2661,7 @@ "Удаление всех файлов приведет к закрытию файла.\n" "Вы уверены ?" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" @@ -2667,8 +2672,8 @@ "дорожек.\n" "Вы уверены, что хотите продолжить ?\n" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" @@ -2679,7 +2684,7 @@ "дорожек.\n" "Вы уверены, что хотите продолжить ?\n" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" @@ -2690,7 +2695,7 @@ "дорожек.\n" "Вы уверены, что хотите продолжить ?\n" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" @@ -2701,20 +2706,20 @@ "дорожек.\n" "Вы уверены, что хотите продолжить ?\n" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "Удаление кадров с %d по %d%s..." -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "Удаление" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "Удалить" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" @@ -2724,7 +2729,7 @@ "\n" "Выбранное заблокировано.\n" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2732,11 +2737,11 @@ "play.)\n" msgstr "" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "Запись отменена.\n" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2749,7 +2754,7 @@ "Отчеты плагина '%s':\n" "%s\n" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2762,7 +2767,7 @@ "Невозможно найти метод 'init' в плагине %s.\n" "Плагин, возможно, поврежден или неправильно установлен." -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2775,22 +2780,22 @@ "\n" "Пожалуйста нажмите \"Отмена\", если вам это не нужно.\n" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "Сохранение сборки %s" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "Загрузка клипов из сборки %s" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2802,24 +2807,24 @@ "этой машине.\n" "Нажмите OK для запуска.\n" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "Очистка места на диске..." -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "Восстановление свободного места на диске" -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "%s свободного места на диске было восстановлено.\n" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "Восстановление частоты кадров и значений кадров..." -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2827,12 +2832,12 @@ "Internal: %s (%d bpp) / %s\n" msgstr "" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." @@ -2840,7 +2845,7 @@ "\n" " Открывание..." -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" @@ -2849,7 +2854,7 @@ "\n" "(%d виртуальный)" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" @@ -2858,7 +2863,7 @@ "\n" "(%d декодированный)" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" @@ -2867,7 +2872,7 @@ "\n" " %.2f сек." -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" @@ -2875,23 +2880,23 @@ "\n" " Неизвестно" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "неподписан" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "подписан" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "big-endian" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "little-endian" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" @@ -2900,7 +2905,7 @@ " %d Гц %d бит\n" "%s %s" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2917,15 +2922,15 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n" msgstr "" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "Видеоредактор и VJ-студия." -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "Сведения о LiVES" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" "Launchpad Contributions:\n" @@ -2937,7 +2942,7 @@ " Sergey Sedov https://launchpad.net/~serg-sedov\n" " ☠Jay ZDLin☠ https://launchpad.net/~black-buddha666" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, c-format msgid "" "LiVES Version %s\n" @@ -2951,7 +2956,7 @@ "Homepage: %s" msgstr "" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 #, fuzzy msgid "" "\n" @@ -2963,7 +2968,7 @@ "Чтобы выполнить предварительный просмотр этого файла, установите mplayer или " "imageMagick.\n" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 #, fuzzy msgid "" "\n" @@ -2976,7 +2981,7 @@ "Чтобы выполнить предварительный просмотр этого файла, установите mplayer или " "imageMagick.\n" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" @@ -2985,88 +2990,88 @@ "Текст сохранен как\n" "%s\n" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 #, fuzzy msgid "Encoder Debug Output" msgstr "LiVES: - Вывод отладки кодировщика" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "Полноэкранное воспроизведение" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "Выключить полноэкранное воспроизведение" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "Двойной размер (d)" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "Стандартный размер (d)" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "Скрыть окно проигрывателя (s)" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "Показать окно проигрывателя (s)" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "Проигрывать в отдельном окне (s)" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "Режим непрывного выполнения цикла выключен (o)" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "Режим непрывного выполнения цикла включен (o)" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "Громкость звука (%.2f)" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "Включить звук (z)" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "Выключить звук (z)" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "Изменение буфера обмена..." -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "Изменение буфера обмена" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 #, fuzzy msgid "Load Subtitles" msgstr "Показать субтитры" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "Загружен файл субтитров: %s\n" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "Субтитры были стёрты.\n" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 #, fuzzy msgid "Select Audio File" msgstr "LiVES: - Выберите звуковой файл" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -3079,60 +3084,60 @@ "Вы уверены, что хотите продолжить ?\n" "." -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "Открывание звука %s, тип %s..." -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "Открывание звука" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "Наложение звука" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "Новый звук" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "Открыть CD трэк %d из %s..." -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "CD трэк %d" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "Открытие CD трэка..." -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "Ошибка загрузки CD трэка\n" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 #, fuzzy msgid "Layout Errors" msgstr "ошибка размещения" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "Убрать ошибки (_E)" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "Удалить затронутые слои размещения (_D)" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "Продолжить" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" @@ -3142,23 +3147,23 @@ "Приостановлено\n" "(Щёлкните Возобновить, чтобы продолжить процесс)" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "приостановлено..." -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "возобновление..." -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "Оставить" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, c-format msgid "" "\n" @@ -3167,30 +3172,30 @@ "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "Отмена" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "Остановить" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 #, fuzzy msgid "Selected Frame" msgstr "Выделить _все кадры" -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 #, fuzzy msgid "_Save Frame as..." msgstr "_Сохранить кадр как..." -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "Звук опережает видео на %.4f c. с кадра %d с частотой кадров/с. %.4f\n" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -3199,7 +3204,7 @@ "\n" msgstr "" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -3211,7 +3216,7 @@ "Вы должны установить \"xwininfo\" перед использованием этой опции\n" "\n" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" @@ -3219,7 +3224,7 @@ "\n" "Время записи должно быть не нулевым.\n" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -3233,11 +3238,11 @@ "Кликните 'Отмена' чтобы отказаться\n" "\n" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "Было выпущено внешнее окно.\n" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" @@ -3245,7 +3250,7 @@ "Кликните на окне для его захвата\n" "Нажмите 'q' для остановки записи" -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -3260,19 +3265,19 @@ "Остановить или 'q' для выхода.\n" "(По-умолчанию используется %.3f кадров в секунду.)\n" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "LiVES не может захватить это окно. Извините.\n" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "Экспортировать выбранный звук как..." -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "Экспортировать звук как..." -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -3286,87 +3291,87 @@ "Кликните 'OK' для экспорта с новой скоростью, или 'Отмена' для экспорта " "оригинала.\n" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "Экспорт звука кадров с %d по %d как %s..." -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "Экспорт звука как %s..." -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "Экспортирование звука" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 #, fuzzy msgid "Append Audio File" msgstr "Добавить звук" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "Добавление звукового файла %s..." -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "Добавление звука" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "Добавить звук" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "" -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "Удаление звука с %.2f по %.2f секунды..." -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "Удаление/Добавление звука" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "Изменение входящего звука" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "Изменить входящий звук" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "Изменение исходящего звука" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "Изменить исходящий звук" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "" -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "" -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "Изменение звука..." -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" @@ -3376,33 +3381,33 @@ "Удаление всего звука приведет к закрытию файла.\n" "Вы уверены ?" -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "Удаление всего звука..." -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "Удаление звука с %.2f по %.2f секунды..." -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "Удаление звука" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "Удалить звук" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "Записать новый звук" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "Вставка тишины с %.2f по %.2f секунды..." -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "Вставка тишины" @@ -3415,892 +3420,892 @@ msgid "Merge Clipboard [ %d Frames ] With Selection [ %d Frames ]" msgstr "Заменить буфер обмена [ %d кадров ] выделенным [ %d кадров ]" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "Выровнить начало (_S)" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "Выровнить конец (_E)" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "Вставить кадры (_I)" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "Удалить кадры (_D)" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "_Переходный метод:" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "" -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "Слияние сделано.\n" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "" -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "_Пользовательские" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "_Файл" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "Открыть файл/директорию (_O)" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "O_ткрыть часть файла..." -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "Открыть размещение/поток (_L)..." -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "Oткрыть фрагмент из _Youtube..." -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "Импортировать из _DVD/VCD..." -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "Импортировать из _DVD" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "Импортировать из _VCD" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "_Импортировать через интерфейс Firewire" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "Импортировать с устройства _Firewire (dv)" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "Импортировать с устройства _Firewire (hdv)" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "_Добавить веб-камеру или тв-карту..." -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "Добавить _телевизионное устройство" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "_Последние файлы..." -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "" -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "Закрыть/Сохрани_ть все фрагменты" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "_Кодировать фрагмент как..." -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "Кодировать выбранное как (_S)..." -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "Закрыть текущий клип (_C)" -#: src/gui.c:692 +#: src/gui.c:674 #, fuzzy, c-format msgid "_Backup Clip as .%s..." msgstr "Сохранить клип как *.lv1 (_B) ..." -#: src/gui.c:701 +#: src/gui.c:683 #, fuzzy, c-format msgid "_Restore Clip from .%s..." msgstr "Восстановить клип из *.lv1 (_R) ..." -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "Кодировать/Загружать/Сохранять со звуком (_w)" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "Автоматическая загрузка субтитров" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "Очистить место на диске (_u)" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "_Правка" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "_MULTITRACK режим" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "_Копировать выделенное" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "Вырез_ать выбора" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "_Вставить из буфера обмена..." -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "Вставить как _новое" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "_ Объединить содержимое буфера обмена с выделенным..." -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "Удалить _выделение" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "Отделить _видео от звука" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "_Выбрать..." -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "Выделить _все кадры" -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "_Обратить выделение" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "_Играть" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "_Воспроизвести все" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "Во_спроизвести выделенное" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "Воспроизвести содержимое _буфера обмена" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "_Стоп" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "_Полный экран" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "_Удвоенный размер" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "Воспроизвести в _отдельном окне" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "_Приглушить" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "Показать субтитры" -#: src/gui.c:1069 +#: src/gui.c:1045 msgid "Letterbox Mode" msgstr "" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "Воздейст_вие" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "Эффекты применены к текущему выделению." -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "_Инструменты" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "" -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "_Изменить скорость воспроизведения/сохранения" -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "" -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "_Утилиты" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "_Создать" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "Загрузить _субтитры из файла..." -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "Стереть субтитры" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "" -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "_Параметры..." -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "_Аудио" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "Загрузить _новый звуковой фрагмент..." -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "Загрузить дорожку _компакт-диска" -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "И_звлечь компакт-диск" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "Записать звук с _внешнего источника..." -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "в новый _фрагмент..." -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "" -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "" -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "_Экспортировать звук..." -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "Экспортировать _выделенный звук..." -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "Экспортировать _все звуковые данные..." -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "_Добавить звук..." -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "" -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "" -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "" -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "_Удалить звук..." -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "Удалить _выделенные звуковые данные..." -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "Удалить _все звуковые данные" -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "Вставить в выделенное фрагмент _без звука" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "" -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "_Информация" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "Показать сведения _о файле" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "Показать/_изменить описание файла" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "Показать сведения _буфера обмена" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "Показать _сообщения" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "_Фрагменты" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "_Переименовать текущий фрагмент в меню..." -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "_Дополнительные" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "" -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "" -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "" -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "" -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "" -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "Импортировать _настроенный сценарий RFX..." -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "Экспортировать _настроенный сценарий RFX..." -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "_Удалить настроенный сценарий RFX..." -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "" -#: src/gui.c:1397 +#: src/gui.c:1371 #, fuzzy msgid "Receive _LiVES Stream from..." msgstr "Загрузить поток _LiVES из..." -#: src/gui.c:1401 +#: src/gui.c:1375 #, fuzzy msgid "_Send LiVES Stream to..." msgstr "_Отправить LiVES поток..." -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "" -#: src/gui.c:1426 +#: src/gui.c:1399 #, fuzzy, c-format msgid "_Import Project (.%s)..." msgstr "Импортировать проект *.lv2 (_I) ..." -#: src/gui.c:1430 +#: src/gui.c:1403 #, fuzzy, c-format msgid "E_xport Project (.%s)..." msgstr "Экспортировать проект *.lv2 (_x)..." -#: src/gui.c:1437 +#: src/gui.c:1409 #, fuzzy, c-format msgid "_Import Custom Theme (.%s)..." msgstr "Импортировать проект *.lv2 (_I) ..." -#: src/gui.c:1442 +#: src/gui.c:1414 #, fuzzy, c-format msgid "E_xport Theme (.%s)..." msgstr "Экспортировать проект *.lv2 (_x)..." -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "_VJ" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "" -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "" -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." msgstr "" -#: src/gui.c:1476 +#: src/gui.c:1448 #, fuzzy msgid "_Reset All Playback Speeds and Positions" msgstr "_Сбросить все скорости воспроизведения и позиции" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "" -#: src/gui.c:1480 +#: src/gui.c:1452 #, fuzzy msgid "_MIDI/Joystick Interface" msgstr "_MIDI/джойстик Интерфейс" -#: src/gui.c:1489 +#: src/gui.c:1461 #, fuzzy msgid "_MIDI/Joystick Learner..." msgstr "_MIDI/джойстик учащегося..." -#: src/gui.c:1493 +#: src/gui.c:1465 #, fuzzy msgid "_Save Device Mapping..." msgstr "_Сохранить раскладку устройства..." -#: src/gui.c:1497 +#: src/gui.c:1469 #, fuzzy msgid "_Load Device Mapping..." msgstr "_Загрузить раскладку устройства..." -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "_Развлечение" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "_Никакого" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "_LiVES ТВ (ШПД)" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "_Справка" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "_Руководства (открывается в браузере)" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 #, fuzzy msgid "_Donate to the Project !" msgstr "_жертвовать к проекту !" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 #, fuzzy msgid "_Email the Author" msgstr "_Электронная почта автора" -#: src/gui.c:1547 +#: src/gui.c:1519 #, fuzzy msgid "Report a _Bug" msgstr "_Сообщить об ошибке" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 #, fuzzy msgid "Suggest a _Feature" msgstr "Предложить новую _возможность" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 #, fuzzy msgid "Assist with _Translating" msgstr "Предложить перевод программы" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "Устранение _неполадок" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "_О Программе" -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "Перейти к началу (w)" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "Воспроизвести все (P)" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "Остановка воспроизведения (Q)" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "Воспроизвести выделенное (y)" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "Объём" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "Громкость звука (1.00)" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "Воспроизвести с замедлением (ctrl-стрелка вниз)" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "Воспроизвести с ускорением (ctrl-стрелка вверх)" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "Показать сведения о фрагменте (i)" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "Скрыть эту панель инструментов" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." msgstr "" #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr " Скорость воспроизведения видео (кадры в секунду) " -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "Первый кадр" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "Последний кадр" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr "" " Нажмите 'q', чтобы остановить запись. НЕ ПЕРЕКРЫВАЙТЕ ОКНО " "ВОСПРОИЗВЕДЕНИЯ ! " -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "_Свободная" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "_Начать" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "_Конец" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "_Указатель" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "Перемотать назад" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "Слушать все" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "Воспроизвести выделенное" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "Включить или выключить цикл" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "Начать _запись" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "Остановить _запись" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr "" -#: src/gui.c:3613 +#: src/gui.c:3553 msgid "Streaming" msgstr "" -#: src/gui.c:3615 +#: src/gui.c:3555 #, fuzzy, c-format msgid "Play Window%s" msgstr "Скрыть окно воспроизведения" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "Скрыть окно воспроизведения" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "Показать окно воспроизведения" -#: src/gui.c:4199 +#: src/gui.c:4127 #, fuzzy, c-format msgid "'LiVES opened the file' '%s'" msgstr "" "LiVES не может загрузить это изображение\n" "\n" -#: src/gui.c:4220 +#: src/gui.c:4146 #, fuzzy, c-format msgid "'LiVES closed the file' '%s'" msgstr "LiVES: - выберите файл" @@ -4310,11 +4315,11 @@ msgid "Mapped to ctrl-%d" msgstr "" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "Эффекты" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "" @@ -4328,11 +4333,11 @@ msgid "Select clip for %s\n" msgstr "" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "" @@ -4377,11 +4382,11 @@ msgid "%d bytes" msgstr "%d байт" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "Очистка буфера обмена" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -4389,81 +4394,81 @@ "Switched to clip %s\n" msgstr "" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" "Switched to empty clip\n" msgstr "" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " "updated accordingly\n" msgstr "" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -4471,7 +4476,7 @@ "by another copy of LiVES.\n" msgstr "" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -4479,7 +4484,7 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2188 +#: src/utils.c:2207 #, fuzzy, c-format msgid "" "\n" @@ -4489,14 +4494,14 @@ "\n" "Параметр не должен быть пустым.\n" -#: src/utils.c:2196 +#: src/utils.c:2215 #, c-format msgid "" "\n" "%s names may not be longer than %d characters.\n" msgstr "" -#: src/utils.c:2204 +#: src/utils.c:2223 #, fuzzy, c-format msgid "" "\n" @@ -4506,18 +4511,18 @@ "\n" "Название не должно содержать пробелов.\n" -#: src/utils.c:2213 +#: src/utils.c:2232 #, c-format msgid "" "\n" "%s names may not start with a '.' or contain '..'\n" msgstr "" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4525,72 +4530,72 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "Видео [открытие...]" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "Видео [%.2f с.]" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "(Не определена)" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "(Без видео)" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "(Нет звука)" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "моно [открытие...]" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "моно [%.2f с.]" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "" -#: src/utils.c:3492 +#: src/utils.c:3548 msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "" -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4605,29 +4610,29 @@ "\n" "Заменить ?\n" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "_Отменить %s" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "По_вторить %s" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "-------------Выбор------------" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr "" -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr "" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4652,7 +4657,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr " без звука" @@ -4770,7 +4775,7 @@ msgstr "" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "Извлечение кадров из клипа" @@ -4827,12 +4832,12 @@ msgid "Recording performance..." msgstr "" -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4841,21 +4846,21 @@ "and resize all frames to the current size.\n" msgstr "" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "Неизвестно" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "Безымянный_%d" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "%d кадров достаточно !\n" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4863,13 +4868,13 @@ "%s\n" msgstr "" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" msgstr "" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4877,7 +4882,7 @@ "Bad things may happen with this clip.\n" msgstr "" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4885,75 +4890,75 @@ "Default can be set in Tools | Preferences | Misc.\n" msgstr "" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "" "Скорость воспроизведения была выставлена со значением %.3f кадров/с. для " "соответствия звуку.\n" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, c-format msgid " - Author: %s\n" msgstr "" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, c-format msgid " - Title: %s\n" msgstr "" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr " - Описание: %s\n" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "" -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "Резервное копирование %s в %s" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "Резервное сохранение" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "" -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "Восстановление %s..." -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "Восстановление файлов" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -5005,12 +5010,12 @@ msgid "Recovering files..." msgstr "" -#: src/dialogs.c:87 +#: src/dialogs.c:83 #, fuzzy msgid "Show affeced _layouts" msgstr "Удалить затронутые слои размещения (_D)" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" @@ -5018,52 +5023,52 @@ "Больше _не показывать это предупреждение\n" "(можно вернуть обратно в меню Настройки/Предупреждения)" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr " _Дополнительные настройки >>" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 #, fuzzy msgid "Warning !" msgstr "Предупреждения" -#: src/dialogs.c:198 +#: src/dialogs.c:186 #, fuzzy msgid "Error !" msgstr "LiVES: - Ошибка файла" -#: src/dialogs.c:208 +#: src/dialogs.c:196 #, fuzzy msgid "Information" msgstr "LiVES: - Открыть путь" -#: src/dialogs.c:234 +#: src/dialogs.c:221 #, fuzzy msgid "Question" msgstr "LiVES: - Вопрос" -#: src/dialogs.c:248 +#: src/dialogs.c:235 #, fuzzy msgid "File Error" msgstr "Убрать ошибки (_E)" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "Пре_рвать" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "_Повторить" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "Показать _подробности" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -5074,7 +5079,7 @@ "(Disk warning levels can be configured in Preferences.)" msgstr "" -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -5086,11 +5091,11 @@ "Preferences.)" msgstr "" -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "" -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -5102,11 +5107,11 @@ "LiVES не может выполнить эту операцию, так как недостаточно памяти.\n" "Пожалуйста, попробуйте закрыть другие открытые приложения.\n" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "Выполнение было приостановлено." -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" @@ -5115,35 +5120,35 @@ "\n" "%s%d%% готово. Оставшееся время: %u с.%s\n" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" "%d/%d frames opened. Time remaining %u sec.\n" msgstr "" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" "%d/%d frames opened.\n" msgstr "" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" "%d frames opened.\n" msgstr "" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" "Time remaining: %d sec" msgstr "" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -5154,7 +5159,7 @@ "Извините, но LiVES позволяет открывать только %d файлов за раз.\n" "Пожалуйста, закройте файл и затем попробуйте снова." -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, fuzzy, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -5173,7 +5178,7 @@ "\n" "Пожалуйста, проверьте разрешения на запись в этот каталог." -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 #, fuzzy msgid "" "\n" @@ -5184,7 +5189,7 @@ "Для работы LiVES требуется 'mplayer' или 'sox'. Установите любой из этих " "пакетов и повторите ещё раз.\n" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 #, fuzzy msgid "" "\n" @@ -5195,7 +5200,7 @@ "Для работы LiVES требуется 'mplayer' или 'sox'. Установите любой из этих " "пакетов и повторите ещё раз.\n" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 #, fuzzy msgid "" "\n" @@ -5206,26 +5211,26 @@ "Для работы LiVES требуется 'mplayer' или 'sox'. Установите любой из этих " "пакетов и повторите ещё раз.\n" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" "Or switch to another encoder format in Tools | Preferences | Encoding\n" msgstr "" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -5233,19 +5238,19 @@ "Please set the audio codec in Tools|Preferences|Encoding\n" msgstr "" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -5256,7 +5261,7 @@ "\n" "В связи с ограничениями в формате %s\n" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" @@ -5264,43 +5269,43 @@ "LiVES рекомендует следующие настройки:\n" "\n" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr "" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr "" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr "" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr "" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "Использовать частоту звука %d Гц%s%s\n" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" @@ -5308,35 +5313,35 @@ "\n" "Возможно вы захотите:\n" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "изменить размер видео на %d x %d пикселей\n" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -5345,14 +5350,14 @@ "\n" msgstr "" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" "\n" msgstr "" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -5361,7 +5366,7 @@ "Try recording for just a selection of the file." msgstr "" -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -5372,7 +5377,7 @@ "Please press Cancel to abort the insert, or OK to continue." msgstr "" -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -5385,18 +5390,18 @@ "click Cancel." msgstr "" -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "Журнал сообщений" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " "in your %s file" msgstr "" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -5407,25 +5412,25 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 msgid "" "Sorry, unknown audio type.\n" "\n" " (Filenames must end in" msgstr "" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" "(They will not be usable without the set).\n" msgstr "" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -5434,7 +5439,7 @@ "Click Cancel to pick a new name.\n" msgstr "" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -5442,7 +5447,7 @@ "." msgstr "" -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -5450,7 +5455,7 @@ "." msgstr "" -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -5468,7 +5473,7 @@ "расположение.\n" "В противном случае, нажмите Отмена, чтобы пропустить загрузку этого файла.\n" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -5483,7 +5488,7 @@ "%s\n" "Фрагмент не может быть загружен.\n" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -5491,7 +5496,7 @@ "Alternately, select a different audio player in Preferences.\n" msgstr "" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -5500,7 +5505,7 @@ "Automatic jack startup will be disabled now.\n" msgstr "" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" @@ -5509,7 +5514,7 @@ "Невозможно подключиться к серверу jack. Пожалуйста, запустите jack перед " "запуском LiVES\n" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -5526,7 +5531,7 @@ "\n" "%s\n" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" @@ -5535,7 +5540,7 @@ "Также вы можете перезапустить LiVES и выбрать другой музыкальный " "проигрыватель.\n" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -5545,7 +5550,7 @@ "It is recommended to increase it to at least %d MB" msgstr "" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -5554,7 +5559,7 @@ "Do you wish to delete them ?\n" msgstr "" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -5568,7 +5573,7 @@ "функции отмены,\n" "используя Параметры/Несколько дорожек/Память функции отмены\n" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -5580,7 +5585,7 @@ "Вам необходимо увеличить количество памяти для функции отмены,\n" "используя Параметры/Несколько дорожек/Память функции отмены\n" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" @@ -5589,52 +5594,52 @@ "LiVES не может зарезервировать достаточное количество памяти для буфера " "функции отмены в режиме нескольких дорожек.\n" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "или введите меньшее значение.\n" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "" "Попробуйте в редакторе фрагментов, а также попробуйте закрыть некоторые " "открытые приложения\n" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "Попробуйте закрыть некоторые открытые приложения\n" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" msgstr "" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" "You can set this in Tools|Preferences|Playback." msgstr "" -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" "Should I try to repair the disk copy of the layout ?\n" msgstr "" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" msgstr "" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 #, fuzzy msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" @@ -5644,7 +5649,7 @@ "Для обеспечение работоспособности, LiVES необходимы 'mplayer' и 'sox'. " "Пожалуйста, установите их и повторите снова.\n" -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 #, fuzzy msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" @@ -5654,7 +5659,7 @@ "Для обеспечение работоспособности, LiVES необходимы 'mplayer' и 'sox'. " "Пожалуйста, установите их и повторите снова.\n" -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 #, fuzzy msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" @@ -5664,7 +5669,7 @@ "Для обеспечение работоспособности, LiVES необходимы 'mplayer' и 'sox'. " "Пожалуйста, установите их и повторите снова.\n" -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" @@ -5674,7 +5679,7 @@ "\n" "Частота звука должна превышать 0.\n" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5686,7 +5691,7 @@ "и может занять длительное время для отображения.\n" "Вы действительно хотите просмотреть его ?\n" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" @@ -5696,7 +5701,7 @@ "\n" "Чтобы использовать эту возможность, необходимо установить 'dvgrab'.\n" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5710,25 +5715,25 @@ "звукового проигрывателя \"jack\" или \"pulse audio\".\n" "Вам необходимо назначить это в Сервис/Параметры/Воспроизведение.\n" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" msgstr "" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5737,33 +5742,33 @@ "echo %d > /proc/sys/net/core/rmem_max\n" msgstr "" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "отменена.\n" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "сбой.\n" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "готово.\n" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "Ошибка в файле. Ошибка.\n" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "Дополнительные сведения: %s\n" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -5778,7 +5783,7 @@ "Пожалуйста, проверьте систему на ошибки.\n" "%s%s%s" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -5788,7 +5793,7 @@ "%s" msgstr "" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -5798,7 +5803,7 @@ "%s" msgstr "" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -5807,7 +5812,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -5817,7 +5822,7 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -5826,7 +5831,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -5836,12 +5841,12 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "" -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -5850,7 +5855,7 @@ "Please check your system for errors.\n" msgstr "" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -5859,7 +5864,7 @@ "Please check the file permissions and try again." msgstr "" -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -5868,7 +5873,7 @@ "Please check the directory permissions and try again." msgstr "" -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, c-format msgid "" "\n" @@ -5876,7 +5881,7 @@ "%s\n" msgstr "" -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" @@ -5886,7 +5891,7 @@ "Прервать и выйти немедленно из LiVES\n" "Вы действительно хотите выйти ?\n" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -5894,13 +5899,13 @@ "Please select another encoder from the list.\n" msgstr "" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" msgstr "" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -5915,7 +5920,7 @@ "- Проверьте, не используется ли устройство другой программой.\n" "- Проверьте, имеется ли само устройство.\n" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" @@ -5925,7 +5930,7 @@ "Этот файл уже имеет загруженные субтитры.\n" "Вы действительно хотите заменить существующие субтитры ?\n" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 #, fuzzy msgid "" "\n" @@ -5934,7 +5939,7 @@ "\n" "В настоящее время LiVES поддерживает только субтитры формата .srt и .sub.\n" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" @@ -5944,7 +5949,7 @@ "Стереть все субтитры из этого фргамента.\n" "Вы действительно хотите стереть ?\n" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -5957,7 +5962,7 @@ "Щёлкните Отмена, чтобы назначить другое имя файла\n" "или OK, чтобы продолжить и сохранить как тип \"%s\"\n" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" @@ -5968,7 +5973,7 @@ "каталог ?\n" "(Если не уверены, щёлкните Да)\n" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -5985,7 +5990,7 @@ "продолжения - OK\n" "." -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" @@ -5993,7 +5998,7 @@ "\n" "Устройства ввода видео не найдены.\n" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" @@ -6001,7 +6006,7 @@ "\n" "Все устройства ввода видео уже используются.\n" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -6009,7 +6014,7 @@ "DO NOT SHUT DOWN OR CLOSE LIVES !\n" msgstr "" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, c-format msgid "" "\n" @@ -6017,14 +6022,14 @@ "The theme could not be loaded correctly.\n" msgstr "" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" "Please check the spelling of the set name and try again.\n" msgstr "" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -6033,7 +6038,7 @@ "directory. Would you like me to do this (recommended) ?" msgstr "" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -6051,7 +6056,7 @@ "Файл -> Очистить диск\n" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -6064,20 +6069,20 @@ "Добро пожаловать в LiVES версии %s !\n" "\n" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" "Consult your package distributor.\n" msgstr "" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" msgstr "" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" @@ -6087,7 +6092,7 @@ "LiVES прервал соединение с jack и не смог выполнить повторное подключение.\n" "Рекомендуется выполнить перезапуск LiVES.\n" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" @@ -6098,13 +6103,13 @@ "подключение.\n" "Рекомендуется выполнить перезапуск LiVES.\n" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "" "Пожалуйста, выберите ваше устройство для проигрывания CD в Инструменты | " "Предпочтения | Прочее\n" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, c-format msgid "" "\n" @@ -6113,7 +6118,7 @@ "(Theme name not found).\n" msgstr "" -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -6122,7 +6127,7 @@ "already exists. Would you like to overwrite it ?\n" msgstr "" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -6263,7 +6268,7 @@ msgid "Video only Transitions" msgstr "" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "только звук" @@ -6271,7 +6276,7 @@ msgid "Audio only Transitions" msgstr "" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "аудио" @@ -6315,7 +6320,7 @@ msgid "Audio Analysers" msgstr "" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "неизвестный" @@ -6370,89 +6375,89 @@ "No frames were generated.\n" msgstr "" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 #, fuzzy msgid "Invalid element" msgstr "Неверный параметр" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 #, fuzzy msgid "Invalid property" msgstr "Неверный параметр" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 msgid "Invalid plugin" msgstr "" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 #, fuzzy msgid "No error" msgstr "Убрать ошибки (_E)" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 msgid "integer" msgstr "" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 msgid "string" msgstr "" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 msgid "pointer" msgstr "" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" @@ -6461,270 +6466,270 @@ "сведения: Невозможно загрузить надстройку %s\n" "Ошибка: %s\n" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr " - надстройки %s -" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, c-format msgid "Successfully loaded %d compound filters\n" msgstr "" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, c-format msgid "Failed to start generator %s (%s)\n" msgstr "" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 msgid "Autoscale" msgstr "" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 msgid "Delete this connection" msgstr "" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, c-format msgid "%s - Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, c-format msgid "%s - Parameter Data Connections" msgstr "" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 msgid "Parameter and Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 msgid "Auto Connect Channels" msgstr "" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 msgid "Auto Connect Parameters" msgstr "" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "_Сбросить значения" -#: src/framedraw.c:241 +#: src/framedraw.c:242 msgid "_Frame" msgstr "" @@ -6768,40 +6773,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "_Ширина" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "_Высота" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "" -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -6867,32 +6872,32 @@ "\n" msgstr "" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "" -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "_FPS" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -6901,7 +6906,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -6911,31 +6916,31 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" "Error was: %s\n" msgstr "" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " "***\n" msgstr "" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -6944,7 +6949,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -6953,7 +6958,7 @@ "or switch to another plugin using Tools|Preferences|Encoding\n" msgstr "" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, c-format msgid "" "\n" @@ -6961,12 +6966,12 @@ "No decoders found in %s !\n" msgstr "" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, c-format msgid " using %s" msgstr "" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -6975,7 +6980,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -6985,25 +6990,25 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "" -#: src/plugins.c:2556 +#: src/plugins.c:2550 #, fuzzy msgid "Decoder Plugins" msgstr "Декодирование" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "" @@ -7203,20 +7208,20 @@ msgid "Move _Down" msgstr "В_низ" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 #, fuzzy msgid "RFX Properties" msgstr "_Параметры..." -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -7225,7 +7230,7 @@ "\n" msgstr "" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -7233,193 +7238,193 @@ "Please check the trigger code.\n" msgstr "" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 #, fuzzy msgid "New RFX Parameter" msgstr "Параметры моделирования" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 #, fuzzy msgid "Edit RFX Parameter" msgstr "Параметры моделирования" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "_Имя: " -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "Название параметра, должен быть уникальным в плагине." -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "_Лейбл: " -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." msgstr "" -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "_Тип: " -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "Параметр типа (выберите из списка)." -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "" -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "" -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "" -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "" -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "" -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "" -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "" -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr "" -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "" -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 msgid "_Wrap value" msgstr "" -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "" -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "" -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "" -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "" -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "" -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 msgid "New RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 msgid "Edit RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "" -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "" -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "" -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "Ряд: " -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "" -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "" -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "" -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 msgid "New RFX Trigger" msgstr "" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 msgid "Edit RFX Trigger" msgstr "" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "Когда: " -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 msgid "Pre Loop Code" msgstr "" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 msgid "Loop Code" msgstr "" -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 msgid "Post Loop Code" msgstr "" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, c-format msgid "Default text (max length %d)" msgstr "" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 msgid "Enter values, one per line" msgstr "" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" "Name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" @@ -7429,21 +7434,21 @@ "\n" "Название не должно содержать пробелов.\n" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" "Menu text must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" "Action description must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" @@ -7453,7 +7458,7 @@ "\n" "Автор не должен быть пустым.\n" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -7461,21 +7466,21 @@ "Name must be unique.\n" msgstr "" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" "Loop code should not be blank.\n" msgstr "" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" "Trigger code should not be blank for a utility.\n" msgstr "" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" @@ -7485,7 +7490,7 @@ "\n" "Параметр не должен быть пустым.\n" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -7494,41 +7499,41 @@ "\n" msgstr "" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "" -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -7538,27 +7543,27 @@ "\n" msgstr "" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "" -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "" -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "" -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "" -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -7567,7 +7572,7 @@ "Please check this program is in your path and executable.\n" msgstr "" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -7577,12 +7582,12 @@ "\n" msgstr "" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "" -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -7592,7 +7597,7 @@ "Error code was %d\n" msgstr "" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -7602,12 +7607,12 @@ "Please delete it first, or rename the test script.\n" msgstr "" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "" -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -7618,22 +7623,22 @@ "Return code was %d (%s)\n" msgstr "" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 #, fuzzy msgid "Export Script" msgstr "Экспорт проекта" -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "" -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 #, fuzzy msgid "Import Script" msgstr "Импорт проекта" -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -7643,46 +7648,46 @@ "Please delete it first, or rename the import script.\n" msgstr "" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 #, fuzzy msgid "Copy RFX Script" msgstr "_Удалить настроенный сценарий RFX..." -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "" -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr " Сценарист: " -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 #, fuzzy msgid "Rename Test RFX Script" msgstr "_Удалить настроенный сценарий RFX..." -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "" -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 #, fuzzy msgid "RFX Script Name" msgstr "Имя сценария: " -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "Имя сценария: " -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "Новое имя: " -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "" -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -7690,12 +7695,12 @@ "Script name must be unique.\n" msgstr "" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "" -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -7706,25 +7711,25 @@ "Return code was %d\n" msgstr "" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 msgid "Applying Current Real Time Effects to" msgstr "" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "" -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "" -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -7732,7 +7737,7 @@ "full screen, separate window (fs) mode\n" msgstr "" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -7740,7 +7745,7 @@ "(Free space = UNKNOWN)" msgstr "" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -7749,14 +7754,14 @@ "(Free space = %s)" msgstr "" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" "It should be in a partition with plenty of free disk space.\n" msgstr "" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7767,7 +7772,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7777,7 +7782,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1193 +#: src/preferences.c:1163 msgid "" "You have chosen to change the working directory.\n" "Please make sure you have no other copies of LiVES open.\n" @@ -7789,7 +7794,7 @@ "setting." msgstr "" -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, c-format msgid "" "\n" @@ -7798,13 +7803,13 @@ "See %s\n" msgstr "" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" msgstr "" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, c-format msgid "" "\n" @@ -7813,925 +7818,925 @@ "See %s\n" msgstr "" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "" -#: src/preferences.c:2468 +#: src/preferences.c:2418 #, fuzzy msgid "Preferences" msgstr "_Параметры..." -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "" -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr "" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr "" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." msgstr "" -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "GUI" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr "" -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "_Каждый" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "секунды" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "_Никогда" -#: src/preferences.c:2872 +#: src/preferences.c:2757 #, fuzzy msgid "Maximum number of visible tracks" msgstr "Максимальное количество показываемых треков" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "" -#: src/preferences.c:2925 +#: src/preferences.c:2804 msgid "Video open command (fallback)" msgstr "" -#: src/preferences.c:2935 +#: src/preferences.c:2811 msgid "Fallback image format" msgstr "" -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "_jpeg" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "_png" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "" -#: src/preferences.c:2964 +#: src/preferences.c:2832 msgid "Open/render compression" msgstr "" -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr "" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "" -#: src/preferences.c:2995 +#: src/preferences.c:2856 msgid "Automatic trimming / padding of audio when possible" msgstr "" -#: src/preferences.c:2997 +#: src/preferences.c:2858 msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "Декодирование" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "ВИДЕО" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "Минимум - может повысить производительность на медленных машинах" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "Нормальная - рекомендуется для большинства пользователей" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "Максимум - можно улучшить качество на очень быстрых машинах" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "Предварительный _качество" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "_Модуль" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "АУДИО" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "_Игроки" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "" -#: src/preferences.c:3269 +#: src/preferences.c:3110 msgid "Source:" msgstr "" -#: src/preferences.c:3273 +#: src/preferences.c:3114 msgid "_Internal" msgstr "" -#: src/preferences.c:3278 +#: src/preferences.c:3119 msgid "_External (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "Воспроизведение" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" msgstr "" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr "" -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "Записывается" -#: src/preferences.c:3454 +#: src/preferences.c:3273 msgid "You can also change these values when encoding a clip" msgstr "" -#: src/preferences.c:3466 +#: src/preferences.c:3285 msgid "Encoder" msgstr "" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "Выходной формат" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "Аудио кодек" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "Кодирование" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." msgstr "" -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr "" -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr "" -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr "" -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr "" -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr "" -#: src/preferences.c:3649 +#: src/preferences.c:3461 msgid " Working directory (do not remove) " msgstr "" -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "" -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "" -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "Каталоги" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "" -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr "" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "" -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" msgstr "" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "" -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr " МБ" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "" -#: src/preferences.c:3872 +#: src/preferences.c:3659 msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " "when LiVES is started." msgstr "" -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "" -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "" -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "" -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "" -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "" -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "" -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "" -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "" -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "" -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "" -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "" -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "" -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "" -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "" -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." msgstr "" -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "" -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "" -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "" "Показать предупреждение при многодорожечной заканчивается резервного " "пространства." -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "" -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "" -#: src/preferences.c:4113 +#: src/preferences.c:3865 msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "" -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "Предупреждения" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "" -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "Устройство чтения " -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "" -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "Прочее" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "Новые темы: " -#: src/preferences.c:4242 +#: src/preferences.c:3977 #, fuzzy msgid "Main Theme Details" msgstr "Показать сведения" -#: src/preferences.c:4254 +#: src/preferences.c:3988 #, fuzzy msgid " _Foreground Color" msgstr "Фон" -#: src/preferences.c:4273 +#: src/preferences.c:4007 #, fuzzy msgid " _Background Color" msgstr "Фон" -#: src/preferences.c:4291 +#: src/preferences.c:4026 #, fuzzy msgid "_Alt Foreground Color" msgstr "Фон" -#: src/preferences.c:4309 +#: src/preferences.c:4044 #, fuzzy msgid "_Alt Background Color" msgstr "Фон" -#: src/preferences.c:4327 +#: src/preferences.c:4062 #, fuzzy msgid " Info _Text Color" msgstr " _Высота " -#: src/preferences.c:4346 +#: src/preferences.c:4081 #, fuzzy msgid " Info _Base Color" msgstr " _Высота " -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "" -#: src/preferences.c:4365 +#: src/preferences.c:4100 msgid "Affects some contrast details of the timeline" msgstr "" -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "" -#: src/preferences.c:4398 +#: src/preferences.c:4132 #, fuzzy msgid "Frame blank image" msgstr "Удаление избыточных кадров" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "" -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4474 +#: src/preferences.c:4203 msgid "Track background (multitrack)" msgstr "" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "" -#: src/preferences.c:4529 +#: src/preferences.c:4258 #, fuzzy msgid "Timeline selection (multitrack)" msgstr "Сроки (в секундах)" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "" -#: src/preferences.c:4553 +#: src/preferences.c:4282 msgid "Timecode foreground (multitrack)" msgstr "" -#: src/preferences.c:4565 +#: src/preferences.c:4293 #, fuzzy msgid "Frame surround" msgstr "Передний план" -#: src/preferences.c:4582 +#: src/preferences.c:4306 #, fuzzy msgid "Themes/Colors" msgstr "Темы" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "" -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "" -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" msgstr "" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" msgstr "" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "_Джойстик события" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "_Джойстик устройство" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "Джойстиком устройства, например /dev/input/js0" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "" -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "Дополнительно" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." msgstr "" -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "" -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -8739,41 +8744,41 @@ "Click OK to continue.\n" msgstr "" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." msgstr "" -#: src/preferences.c:5525 +#: src/preferences.c:5205 msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "" -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "" -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "" @@ -8796,158 +8801,158 @@ msgid "Resample/Resize" msgstr "" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "Сейчас длина видео составляет %d кадров.\n" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" "New rate must be greater than 0\n" msgstr "" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "" -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "" -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "Размер" -#: src/resample.c:1208 +#: src/resample.c:1209 #, fuzzy msgid "New Clip Audio" msgstr "Новый звук" -#: src/resample.c:1210 +#: src/resample.c:1211 msgid "External Clip Settings" msgstr "" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "Текущий" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "" -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 msgid "Channels" msgstr "" -#: src/resample.c:1256 +#: src/resample.c:1257 msgid "Sample Size " msgstr "" -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "Беззнаковый" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "" -#: src/resample.c:1322 +#: src/resample.c:1323 #, fuzzy msgid "New Audio Details" msgstr "Новый звук" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "Создать" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "" -#: src/resample.c:1369 +#: src/resample.c:1370 msgid "_Channels" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "_Sample Size" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "Sample Size" msgstr "" -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "" -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "" -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr "" -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr "" -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr "" -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "Неограниченно" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "" -#: src/resample.c:1635 +#: src/resample.c:1636 #, fuzzy msgid "Change Playback Speed" msgstr "_Изменить скорость воспроизведения/сохранения" -#: src/resample.c:1637 +#: src/resample.c:1638 #, fuzzy msgid "Resample Video" msgstr "Размер" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -8958,7 +8963,7 @@ "in _frames per second" msgstr "" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -8969,80 +8974,80 @@ "in frames per second" msgstr "" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "Изменение скорости" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" "LiVES was unable to reorder the frames." msgstr "" -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "" @@ -9272,7 +9277,7 @@ msgid "Mode active" msgstr "" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "Сведения" @@ -9394,54 +9399,54 @@ msgid "Opened firewire card %d" msgstr "" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, c-format msgid "%s : parameters for %s" msgstr "" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "Источник: %s" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." msgstr "" -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -9450,7 +9455,7 @@ "right or double clicking on it.\n" msgstr "" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -9458,14 +9463,14 @@ "Select an effect in FX stack first to view its parameters.\n" msgstr "" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" "No clips loaded.\n" msgstr "" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -9475,7 +9480,7 @@ "before inserting clips into the timeline." msgstr "" -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -9484,190 +9489,190 @@ "to apply compositors.\n" msgstr "" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" msgstr "" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" msgstr "" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr "" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 #, fuzzy msgid "Selected Clip" msgstr "В_ыбор" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 msgid "_Adjust Start and End Points" msgstr "" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 msgid "_Edit/Encode in Clip Editor" msgstr "" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 #, fuzzy msgid "_Show Clip Information" msgstr "Показать сведения _о файле" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 #, fuzzy msgid "_Close this Clip" msgstr "Закрыть текущий клип (_C)" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 #, fuzzy msgid "Audio Mixer (ctrl-m)" msgstr "Аудио микшеры" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "" -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "" -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "" -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "" -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "" -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "" -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "" -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "" -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "" -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "Закрыть интервалы" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "Удалить блок" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "Удалить %s" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "Вставить блок" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "" -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "" -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " "audio rate %d, audio sample size %d, %s.\n" msgstr "" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -9677,7 +9682,7 @@ "then load in the new set from the File menu.\n" msgstr "" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -9685,466 +9690,466 @@ "It cannot be loaded.\n" msgstr "" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "" -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "" -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "Открыть файл выборочно (_p)..." -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "Импортировать выборочно с dvd/vcd (_d)..." -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "Импортировать выборочно с dvd (_d)" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "Импортировать выборочно с vcd (_v)" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "Импортривать с устройства (_I)" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 #, fuzzy msgid "_Close the Selected Clip" msgstr "В_ыбор" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 #, fuzzy msgid "_Save Layout as..." msgstr "_Сохранить раскладку, как ..." -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 #, fuzzy msgid "_Load Layout..." msgstr "_Нагрузка макет ..." -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 #, fuzzy msgid "_Wipe/Delete Layout..." msgstr "_Удалить макет" -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "" -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 #, fuzzy msgid "Auto Load _Subtitles with Clips" msgstr "Автоматическая загрузка субтитров" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 msgid "_Adjust Selected Clip Start/End Points" msgstr "" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 #, fuzzy msgid "_Insert Selected Clip Audio" msgstr "Удалить _выделенные звуковые данные..." -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 #, fuzzy msgid "_Delete Selected Block" msgstr "Удалить _выделенные звуковые данные..." -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 msgid "_Jump to Previous Block Boundary" msgstr "" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 msgid "_Jump to Next Block Boundary" msgstr "" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 #, fuzzy msgid "Clear _Marks from Timeline" msgstr "Очистить _резервные файлы из закрытых фрагментов" -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 msgid "Ignore Selection Limits when Inserting" msgstr "" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 #, fuzzy msgid "Pla_y Selected Time Only" msgstr "Во_спроизвести выделенное" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 #, fuzzy msgid "_Move Effects with Blocks" msgstr "_Выберите этот блок" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 msgid "Select _Autotransition Effect..." msgstr "" -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 msgid "Crossfade Audio with Autotransition" msgstr "" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 #, fuzzy msgid "View/_Edit Selected Effect" msgstr "LiVES: Выбранный эффекта" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 #, fuzzy msgid "_Delete Selected Effect" msgstr "LiVES: Выбранный эффекта" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 msgid "Apply Effect to _Block..." msgstr "" -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 msgid "Apply Effect to _Region..." msgstr "" -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "_Композиции" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 #, fuzzy msgid "Make _Backing Audio Current Track" msgstr "LiVES: - Переименовать текущую дорожку" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 #, fuzzy msgid "_Split Current Track at Cursor" msgstr "_Выберите Текущий трек" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 #, fuzzy msgid "_Split Selected Video Tracks" msgstr "Экспортировать выбранный звук как..." -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 #, fuzzy msgid "Insert Gap in Selected Tracks/Time" msgstr "Вставить содержимое буфера обмена после выделенных кадров" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 msgid "Insert Gap in Current Track/Selected Time" msgstr "" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 msgid "Close All _Gaps in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "В_ыбор" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "_Выберите Текущий трек" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 #, fuzzy msgid "Select _All Video Tracks" msgstr "Выделить _все кадры" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 #, fuzzy msgid "Select _No Video Tracks" msgstr "_Выберите Текущий трек" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 #, fuzzy msgid "Select All _Time" msgstr "Выделить _все кадры" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 msgid "Select from _Zero Time" msgstr "" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 #, fuzzy msgid "Select to _End Time" msgstr "Выберите устройство ввода" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "_Копировать..." -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 msgid "_Timecode to Region Start" msgstr "" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 msgid "_Timecode to Region End" msgstr "" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 msgid "_Region Start to Timecode" msgstr "" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 msgid "_Region End to Timecode" msgstr "" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 #, fuzzy msgid "Select/Deselect Block at Current Track/Time" msgstr "_Выберите Текущий трек" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 msgid "_Change Width, Height and Audio Values..." msgstr "" -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "_Применить" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 msgid "_Render All to New Clip" msgstr "" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 #, fuzzy msgid "Render _Video" msgstr "Размер" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 #, fuzzy msgid "Render _Audio" msgstr "Добавить звук" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 msgid "_Normalise Rendered Audio" msgstr "" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 #, fuzzy msgid "_Pre-render Audio" msgstr "Добавить звук" -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "_Вид" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 msgid "Block _In/Out Points" msgstr "" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 #, fuzzy msgid "_Effects at Current" msgstr "_Воздействие на текущий" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 #, fuzzy msgid "Audio Parameters" msgstr "Параметры звука" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 msgid "Show Backing _Audio Track" msgstr "" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 #, fuzzy msgid "Compact View" msgstr "Компактный список" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 #, fuzzy msgid "Maximum Tracks to Display..." msgstr "Максимальное количество показываемых треков" -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 msgid "Scroll to Follow Playback" msgstr "" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 #, fuzzy msgid "_Center on Cursor" msgstr "_Центр по курсором" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 #, fuzzy msgid "_Zoom In" msgstr "_Увеличить" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 #, fuzzy msgid "_Zoom Out" msgstr "_Уменьшить" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 #, fuzzy msgid "Multitrack _Details" msgstr "LiVES: - Сведения о нескольких дорожках" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "_События окна" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 msgid "_Show FRAME Events" msgstr "" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 #, fuzzy msgid "_Show Multitrack Keys" msgstr "LiVES: - Сведения о нескольких дорожках" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "_Сообщить об ошибке" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 #, fuzzy msgid "Insert With _Audio" msgstr "_Вставить по совпадению звука" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 #, fuzzy msgid "Select _Overlap" msgstr "Выберите трек" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" msgstr "" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 msgid "Mouse Mode: _Move" msgstr "" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 msgid "Mouse Mode: _Select" msgstr "" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 msgid "Insert Mode: _Normal" msgstr "" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "_Применить" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "Время" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "" -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "_Скорость " -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "Прокрутка" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" @@ -10154,165 +10159,165 @@ "==============================\n" "Перешли на Clip режиме редактирования\n" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "Сроки (в секундах)" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr "" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr "" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "Выберите трек" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr " %s" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 #, fuzzy msgid "Selected Effect" msgstr "LiVES: Выбранный эффекта" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 #, fuzzy msgid "_View/Edit this Effect" msgstr "_Открыть этот эффект" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 #, fuzzy msgid "_View this Effect" msgstr "_Открыть этот эффект" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 #, fuzzy msgid "_Delete this Effect" msgstr "_Удалить этот эффект" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr "" -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "" -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "%d кадров" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" "Switched to Multitrack mode\n" msgstr "" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" "Nodes can be deleted." msgstr "" -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "слой %d" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "звуковая дорожка" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "%s по %s" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -10324,177 +10329,177 @@ "Не влияет на текущий трек,\n" "текущее время.\n" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." msgstr "" -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 #, fuzzy msgid "Selected Block/Frame" msgstr "LiVES: Выбранный блок / кадр" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 #, fuzzy msgid "_Select this Block" msgstr "_Выберите этот блок" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 msgid "_Split Block Here" msgstr "" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 #, fuzzy msgid "List _Effects Here" msgstr "_Пользовательские" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 #, fuzzy msgid "_Delete this Block" msgstr "_Удалить этот блок" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 #, fuzzy msgid "_Insert Here" msgstr "_Вставьте здесь" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 #, fuzzy msgid "_Insert Audio Here" msgstr "_Вставьте аудио здесь" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" msgstr "" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "путь %s" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "выбранных композиций" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "Очистка..." -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, fuzzy, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "Удаление звука с %.2f по %.2f секунды..." -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "_Приостановить" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "Пауза (p)" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " "to %.4f\n" msgstr "" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" "selected.\n" msgstr "" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" @@ -10502,111 +10507,111 @@ "Выберите одну или несколько композиций\n" "создать регионе.\n" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "%d видеодорожек выбран.\n" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." msgstr "" -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." msgstr "" -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." msgstr "" -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" msgstr "" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" msgstr "" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" msgstr "" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "" -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "" -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" msgstr "" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "после него.\n" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "pered nim.\n" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 msgid "Saving layout" msgstr "" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "клипы и кадры" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "Клипы" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "кадров" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" msgstr "" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -10614,75 +10619,75 @@ "Therefore it could not be loaded properly.\n" msgstr "" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" "Unable to load layout file %s\n" msgstr "" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "" -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "" -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 msgid "" "The current layout has changes which have not been saved.\n" "Are you sure you wish to wipe it ?\n" msgstr "" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 #, fuzzy msgid "Multitrack Audio Mixer" msgstr "Аудио микшеры" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "_Сброс значений" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "_Закрыть смеситель" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" msgstr "" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "" @@ -10708,7 +10713,7 @@ "Connection to jack audio was reset.\n" msgstr "" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10716,7 +10721,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10724,7 +10729,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:104 +#: src/pulse.c:105 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10732,27 +10737,27 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" msgstr "" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" msgstr "" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr ""
View file
LiVES-2.8.4.tar.bz2/po/sk.po -> LiVES-2.8.6.tar.bz2/po/sk.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: lives\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" "PO-Revision-Date: 2013-03-14 12:31+0000\n" "Last-Translator: Launchpad Translations Administrators <Unknown>\n" "Language-Team: Slovak <sk@li.org>\n" @@ -18,7 +18,7 @@ "X-Launchpad-Export-Date: 2013-03-28 10:57+0000\n" "X-Generator: Launchpad (build 16546)\n" -#: src/main.c:132 +#: src/main.c:125 #, fuzzy msgid "" "Attention Translators !\n" @@ -33,22 +33,22 @@ "All translators should read the LiVES translation notes at\n" "http://lives.sourceforge.net/TRANS-README.txt" -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "" -#: src/main.c:203 +#: src/main.c:197 #, fuzzy, c-format msgid "" "\n" @@ -62,7 +62,7 @@ "group_id=64341&atid=507139\n" "Ďakujeme. Obnovenie by malo byť možné po reštartovaní LiVES.\n" -#: src/main.c:205 +#: src/main.c:199 #, fuzzy, c-format msgid "" "\n" @@ -75,7 +75,7 @@ "Pri nahlasovaní neočakávaných skončení, prosím uveďte podrobnosti o " "operačnom systéme, distribúcii a verzii LiVES (" -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" @@ -83,7 +83,7 @@ "a všetky informácie uvedené nižšie:\n" "\n" -#: src/main.c:210 +#: src/main.c:204 #, fuzzy msgid "" "Please try running LiVES with the -debug option to collect more " @@ -94,7 +94,7 @@ "zhromaždenie viac informácií.\n" "\n" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" @@ -104,90 +104,90 @@ "zhromaždenie viac informácií.\n" "\n" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "Nastavenie zachovania.\n" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "Ktorýkoľvek" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "Žiaden" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "doporučené" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "zakázané !" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "**Súčasné rozloženie**" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "Vstavané" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "Vlastné" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "Otestovať" -#: src/main.c:474 +#: src/main.c:460 #, fuzzy msgid "LiVES: - " msgstr "LiVES: - Spojiť" -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "Zmena veľkosti" -#: src/main.c:731 +#: src/main.c:708 #, fuzzy msgid "_Resize All Frames..." msgstr "_Zmeniť veľkosť všetkých snímkov" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "" -#: src/main.c:1122 +#: src/main.c:1094 #, fuzzy msgid "Background" msgstr "_Prázdne pozadie" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "Načítavam efekt rozšírenia v réálnom čase..." -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "Spúšťam zvukový server jack..." -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "" -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "" -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -199,35 +199,35 @@ "Alternatively, try to start lives with either \"lives -jackopts 16\", or " msgstr "" -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "Spúšťam pulse audio server..." -#: src/main.c:1855 +#: src/main.c:1813 #, fuzzy, c-format msgid "%s...detected... " msgstr "mplayer...nájdený..." -#: src/main.c:1856 +#: src/main.c:1814 #, fuzzy, c-format msgid "%s...NOT DETECTED... " msgstr "mplayer...NENÁJDENÝ..." -#: src/main.c:1867 +#: src/main.c:1824 #, fuzzy msgid "Checking optional dependencies: " msgstr "Kontrola dodatočných záavislostí:" -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -238,53 +238,53 @@ "\n" "Správa manažéra okien ako \"%s\"; " -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "počet nájdených monitorov: %d\n" -#: src/main.c:1901 +#: src/main.c:1863 #, c-format msgid "Number of CPUs detected: %d " msgstr "" -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "malý endian" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "veľký endian" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "" -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1927 +#: src/main.c:1889 #, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr "" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "Dočasný adresár je %s\n" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" @@ -294,15 +294,15 @@ "podpory jack alebo pulse audio.\n" "Mnohé audio funkcie nebudú k dispozícii.\n" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "Kompilované s podporou jack, dobrá práca!\n" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "Kompilované s podporou pulse audio, nádhera !\n" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" @@ -311,7 +311,7 @@ "Vítajte vo verzii LiVES %s.\n" "\n" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" @@ -320,91 +320,91 @@ "\n" "Štartovací syntax je: %s [opts] [filename [start_time] [frames]]\n" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "" "Kde: názov súboru je názvom mediálneho súboru alebo záložného súboru.\n" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "čas_spustenia : čas do spustenia súboru v sekundách\n" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "snímky : maximálny počet snímkov, ktoré je možné otvoriť\n" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "opts môže byť:\n" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "-help : zobraziť túto nápovedu a ukončiť\n" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "-set <setname> : automaticky nastaviť zostavu klipu\n" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "-noset : pri spustení nenahrať zostavu\n" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "-nerocover : nenahrávať havarijnú zálohu\n" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "-recover : nahrať havarijnú zálohu\n" -#: src/main.c:2593 +#: src/main.c:2545 msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "-nogui : nezobrazovať gui\n" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "-startup-ce : spustiť v režime editora klipu\n" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "-startup-mt : spustiť v režime viacstopého editora\n" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" msgstr "" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "-oscstart <port> : spustiť počúvanie na UDP porte <port>\n" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "-nooscstart : nespúšťať OSC počúvanie\n" -#: src/main.c:2605 +#: src/main.c:2557 #, fuzzy msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " @@ -413,44 +413,44 @@ "-aplayer <ap> : spustenie s vybraným audio prehrávačom. <ap> môže byť mplayer" #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr ", pulse" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr ", sox alebo jack\n" -#: src/main.c:2613 +#: src/main.c:2565 msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " "transport client,2 = jack transport master, 4 = start jack transport server, " "8 = pause audio when video paused,16 = start jack audio server] \n" msgstr "" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr " alebo sox\n" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "-devicemap <mapname> : automatické spustenie mapovania jednotky\n" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" msgstr "" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "-debug : skúsiť ladenie zlyhania (vyžaduje nainštalovaný 'gdb' )\n" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "Spúšťam GUI..." -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -461,7 +461,7 @@ "(Maybe you need to change the value of <prefix_dir> in your %s file)\n" msgstr "" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -469,7 +469,7 @@ "Please make sure you have write access to %s and try again.\n" msgstr "" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -483,7 +483,7 @@ "Prosim, prečítajte si ešte raz súbor README dodaný s týmto balíčkom\n" "pred spustením LiVES.\n" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -493,7 +493,7 @@ "Please check the file permissions for this file and try again.\n" msgstr "" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -504,7 +504,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -512,7 +512,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2737 +#: src/main.c:2689 #, fuzzy, c-format msgid "" "\n" @@ -522,7 +522,7 @@ "%s" msgstr "LiVES nemôže zaznamenať toto okno. Prepáčte.\n" -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -540,7 +540,7 @@ "\n" "Ďakujem.\n" -#: src/main.c:2751 +#: src/main.c:2703 #, fuzzy msgid "" "\n" @@ -551,7 +551,7 @@ "LiVES momentálne vyžaduje k spusteniu 'mplayer' alebo 'sox'. Prosím " "nainštalujte jeden z uvedených a skúste opäť.\n" -#: src/main.c:2756 +#: src/main.c:2708 #, fuzzy msgid "" "\n" @@ -562,7 +562,7 @@ "LiVES momentálne vyžaduje k spusteniu 'mplayer' alebo 'sox'. Prosím " "nainštalujte jeden z uvedených a skúste opäť.\n" -#: src/main.c:2769 +#: src/main.c:2721 #, fuzzy msgid "" "\n" @@ -573,7 +573,7 @@ "LiVES nemôže nájsť 'mplayer'. Inštaláciou mplayer-a bude LiVES plne " "funkčný.\n" -#: src/main.c:2775 +#: src/main.c:2727 #, fuzzy msgid "" "\n" @@ -584,7 +584,7 @@ "LiVES nemôže nájsť 'mplayer'. Inštaláciou mplayer-a bude LiVES plne " "funkčný.\n" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" @@ -594,7 +594,7 @@ "LiVES nemôže nájsť 'convert'. Mali by ste nainštalovať convert a image magic " "ak chcete využiť efekty vykresľovania.\n" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " @@ -604,7 +604,7 @@ "LiVES nemôže nájsť 'composite'. Mali by ste nainštalovať composite a image " "magic ak chcete využiť funkciu spájania.\n" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " @@ -614,7 +614,7 @@ "LiVES nemôže nájsť 'sox'. Niektoré zvukové funkcie nebudú fungovať. Mali by " "ste nainštalovať 'sox'.\n" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -625,63 +625,63 @@ "You may need to change the value of <lib_dir> in %s\n" msgstr "" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "Spúšťam rozšírenie vykresľovanie efektov" -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "Automaticky načítavam %s..." #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "Neplatný prehrávač zvuku %s\n" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : ??? snímky ??? bpp %.3f fps" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : %d snímky %d bpp %.3f fps" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "LiVES-%s: <No File>" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "rec %9d/%d" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "!rec %9d/%d" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "Prehrať" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" @@ -689,34 +689,34 @@ "LiVES nebol schopný zachytiť tento obrázok\n" "\n" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "Zatvorený súbor %s\n" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "_Späť" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "_Znova" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "Video" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "Ľavý audio kanál" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "Pravý audio kanál" -#: src/main.c:7078 +#: src/main.c:6973 #, fuzzy msgid "" "\n" @@ -905,7 +905,7 @@ msgid "Use _mplayer2 audio player" msgstr "Použi _mplayer audio prehrávač" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "_Nasledujúci" @@ -1139,56 +1139,56 @@ msgid "_Finish" msgstr "_Dokončiť" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "Nechať LiVES nastaviť _príponu súboru" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "" -#: src/interface.c:46 +#: src/interface.c:42 msgid "Apply _Deinterlace" msgstr "" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "" "Ak je zapnuté, zo snímkov bude odstránené prekladanie tak, ako sú " "importované." -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "Náhľad" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "" "Kliknutím získate _náhľad vybraného videa, obrázku alebo zvukového súboru" -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "Kliknutím zobrazíte _ukážku vybraných zvukových súborov" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "Kliknutím zobrazíte _ukážku vybraných video súborov" -#: src/interface.c:122 +#: src/interface.c:113 #, fuzzy msgid "Click here to _Preview the file" msgstr "Kliknutím zobrazíte _ukážku vybraných video súborov" -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 #, fuzzy msgid "Processing..." msgstr "LiVES: -Spracovávanie..." -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1202,8 +1202,8 @@ "\n" "Nezabudnite potom vypnúť efekty (ctrl-0) !" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" @@ -1211,174 +1211,179 @@ "\n" "Prosím čakajte" -#: src/interface.c:221 +#: src/interface.c:206 msgid "Show Details" msgstr "" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "_Dostatočne" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "_Náhľad" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "_Zrušiť" -#: src/interface.c:334 +#: src/interface.c:324 #, fuzzy msgid "Multitrack Details" msgstr "_Detaily o multitracku" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "Formátovanie" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "Veľkosť snímku" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "Veľkosť súboru" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "Veľkosť v bitoch" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "FPS" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "Snímky" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "Udalosti" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "Celkový čas" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "Zvuk" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "Pomer/veľkosť" -#: src/interface.c:568 +#: src/interface.c:590 #, fuzzy msgid "Encoding Options" msgstr "LiVES: - nastavenie kódovania" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." msgstr "" -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "Ponechať _moje nastavenia" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "Použiť _doporučené nastavenia" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "_Zatvoriť okno" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "_Uložiť do súboru" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "Vložiť" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "_Koľkokrát vložiť" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "_Vložiť do dľžky zvuku" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "Vložiť _pred výberom" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "Vložiť obsah stránky pred vybrané snímky" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "Vložiť _za výber" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "Vložiť obsah stránky za vybrané snímky" -#: src/interface.c:833 +#: src/interface.c:846 +#, fuzzy +msgid "Insert _with silence" +msgstr "Vložiť _so zvukom" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "Vložiť _so zvukom" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "Vložiť _bez zvuku" -#: src/interface.c:924 +#: src/interface.c:937 #, fuzzy msgid "Open Selection" msgstr "_Kopírovať vybrané" -#: src/interface.c:943 +#: src/interface.c:954 msgid "Selection start time (sec)" msgstr "" -#: src/interface.c:949 +#: src/interface.c:960 msgid "Number of frames to open" msgstr "" -#: src/interface.c:1023 +#: src/interface.c:1029 #, fuzzy msgid "Open Location" msgstr "LiVES: - Otvoriť umiestnenie" -#: src/interface.c:1025 +#: src/interface.c:1031 msgid "Open Youtube Clip" msgstr "" -#: src/interface.c:1045 +#: src/interface.c:1050 #, fuzzy msgid "" "\n" @@ -1395,7 +1400,7 @@ "Tiež sa presvedčte, či máte nastavenú šírku pásma v Nastavenia|Streaming\n" "\n" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1404,72 +1409,72 @@ "\n" msgstr "" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "URL: " -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "" -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "Neposielať informácie o šírke pásma" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "Ak máte problém s príjmom, skúste tieto nastavenia" -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "" -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "" -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr "" -#: src/interface.c:1188 +#: src/interface.c:1189 #, fuzzy msgid "Rename Clip" msgstr "Otočiť klip" -#: src/interface.c:1190 +#: src/interface.c:1191 #, fuzzy msgid "Enter Set Name to Save as" msgstr "LiVES: - Zadajte názov zostavy" -#: src/interface.c:1192 +#: src/interface.c:1193 #, fuzzy msgid "Enter a Set Name to Reload" msgstr "LiVES: - Zadajte názov zostavy" -#: src/interface.c:1194 +#: src/interface.c:1195 #, fuzzy msgid "Choose a Working Directory" msgstr "LiVES: - Vybrať Pracovný adresár" -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 #, fuzzy msgid "Rename Current Track" msgstr "_Vybrať aktuálnu stopu" -#: src/interface.c:1198 +#: src/interface.c:1199 #, fuzzy msgid "Enter a Name for Your Theme" msgstr "LiVES: - Zadajte názov zostavy" -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1481,7 +1486,7 @@ "Prosím napíšte názov zostavy, ktorý chcete použiť.\n" "LiVES Vám pripomenie uloženie zostavy pri ukončovaní.\n" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1507,220 +1512,220 @@ "This should be a directory with plenty of disk space available.\n" msgstr "" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "Nový názov " -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "Zadať názov " -#: src/interface.c:1257 +#: src/interface.c:1255 #, fuzzy msgid "Theme name " msgstr "Nový názov " -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "_Pokročilé" -#: src/interface.c:1437 +#: src/interface.c:1425 #, fuzzy msgid "Select input device" msgstr "Vybrať do konca" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "" -#: src/interface.c:1517 +#: src/interface.c:1505 #, fuzzy msgid "Load CD Track" msgstr "Nahrať _CD stopu..." -#: src/interface.c:1519 +#: src/interface.c:1507 #, fuzzy msgid "Select DVD Title/Chapter" msgstr "LiVES:- Zvoliť DVD titul/kapitolu" -#: src/interface.c:1521 +#: src/interface.c:1509 #, fuzzy msgid "Select VCD Title" msgstr "LiVES:- Zvoliť VCD titul" -#: src/interface.c:1523 +#: src/interface.c:1511 #, fuzzy msgid "Change Maximum Visible Tracks" msgstr "LiVES:- Zmeniť maximum viditeľných stôp" -#: src/interface.c:1525 +#: src/interface.c:1513 #, fuzzy msgid "Device details" msgstr "LiVES:- Podrobnosti zariadenia" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "Nahrať stopu (z %s)" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "DVD titul" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "VCD titul" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "Maximálny počet zobrazených stôp" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "Jednotka: /dev/video" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "Jednotka: fw:" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "Kapitola " -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "Kanál " -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "Audio ID " -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "" -#: src/interface.c:1815 +#: src/interface.c:1778 #, fuzzy msgid "Fade Audio In" msgstr "_Zosilniť zvuk..." -#: src/interface.c:1817 +#: src/interface.c:1780 #, fuzzy msgid "Fade Audio Out" msgstr "_Zoslabiť zvuk..." -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "Zosilniť cez " -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "prvý" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "Zoslabiť cez " -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "posledný" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "sekundy." -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "výber" -#: src/interface.c:1909 +#: src/interface.c:1865 #, fuzzy msgid " (Optional)" msgstr "LiVES: - Komentár k súboru (nepovinné)" -#: src/interface.c:1912 +#: src/interface.c:1868 #, fuzzy, c-format msgid "File Comments%s" msgstr "LiVES: - Komentár k súboru (nepovinné)" -#: src/interface.c:1927 +#: src/interface.c:1882 #, fuzzy, c-format msgid "File Name: %s" msgstr "Titul/Názov : " -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "Titul/Názov : " -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "Autor/Umelec : " -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "Komentáre : " -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "" -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "" -#: src/interface.c:2109 +#: src/interface.c:2058 #, c-format msgid "%sChoose a Device" msgstr "" -#: src/interface.c:2112 +#: src/interface.c:2061 #, fuzzy, c-format msgid "%sChoose a Directory" msgstr "LiVES: - Vybrať Pracovný adresár" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" @@ -1730,7 +1735,7 @@ "Súčasné zmeny neboli uložené.\n" "Čo chcete urobiť ?\n" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" @@ -1740,7 +1745,7 @@ "Súčasné zmeny boli zmenené od posledného uloženia.\n" "Čo chcete urobiť ?\n" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" @@ -1750,7 +1755,7 @@ "Súčasná zostava klipov nebola uložená.\n" "Čo chcete urobiť ?\n" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" @@ -1758,7 +1763,7 @@ "Súčasná zostava klipov nebola uložená.\n" "Čo chcete urobiť ?\n" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" @@ -1766,7 +1771,7 @@ "Súčasné rozloženie nebolo uložené.\n" "Čo chcete urobiť ?\n" -#: src/interface.c:2410 +#: src/interface.c:2341 #, fuzzy msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" @@ -1775,7 +1780,7 @@ "Aktuálna usporiadanie sa nezmenilo, pretože bolo naposledy uložené.\n" "Čo chcete robiť?\n" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" @@ -1785,44 +1790,44 @@ "Súčasné rozloženie obsahuje vytvorené snímky a nemôže byť zachované.\n" "Čo chcete urobiť ?" -#: src/interface.c:2417 +#: src/interface.c:2348 #, fuzzy msgid "Cancel/Discard/Save" msgstr "LiVES: - Zrušiť/odstrániť/uložiť" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "Zadať názov _klipu" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "_Automatické otvorenie pri ďaľšom spusteni" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "_Vymazať rozloženie" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "_Ignorovať zmeny" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "_Odstrániť zostavu klipov" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "_Odstrániť rozloženie" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "_Uložiť rozloženie" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "_Uložiť zostavu klipov" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" @@ -1832,35 +1837,35 @@ "LiVES zistil viacstopé rozloženie z predchádzajúceho sedenia.\n" "Chcete sa pokúsiť o jej obnovenie ?\n" -#: src/interface.c:2527 +#: src/interface.c:2455 msgid "Disk Recovery Options" msgstr "" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "" -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "" -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "Zobraziť klávesy" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1868,356 +1873,356 @@ "-----------------------\n" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 #, fuzzy msgid "ctrl-left" msgstr "Preskočiť späť (ctrl-vľavo)" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 #, fuzzy msgid "skip forwards\n" msgstr "preskočiť_vpred" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 #, fuzzy msgid "ctrl-down" msgstr "Ctrl-%d" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "ctrl-enter" msgstr "_Iný stred" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "reset frame rate\n" msgstr "_Prvý snímok" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "" -#: src/interface.c:2723 +#: src/interface.c:2642 #, fuzzy msgid "reverse direction\n" msgstr "Reverzné prehrávanie" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "ctrl-1" msgstr "Ctrl-%d" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "toggle real-time effect 1\n" msgstr "_Real time efekty" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "ctrl-2" msgstr "Ctrl-%d" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "toggle real-time effect 2\n" msgstr "_Real time efekty" -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 #, fuzzy msgid "ctrl-0" msgstr "Ctrl-%d" -#: src/interface.c:2751 +#: src/interface.c:2670 #, fuzzy msgid "real-time effects off\n" msgstr "_Real time efekty" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "" -#: src/interface.c:2759 +#: src/interface.c:2678 msgid "grab keyboard for last activated effect\n" msgstr "" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2688 msgid "tab" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "" -#: src/interface.c:2785 +#: src/interface.c:2706 #, fuzzy msgid "Other playback keys\n" msgstr "_Opačné prehrávanie " -#: src/interface.c:2789 +#: src/interface.c:2710 #, fuzzy msgid "play all\n" msgstr "Prehrať všetko" -#: src/interface.c:2792 +#: src/interface.c:2713 #, fuzzy msgid "play selection\n" msgstr "Prehrať vybrané" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "" -#: src/interface.c:2798 +#: src/interface.c:2719 #, fuzzy msgid "fullscreen\n" msgstr "Na _celú obrazovku" -#: src/interface.c:2801 +#: src/interface.c:2722 #, fuzzy msgid "separate window\n" msgstr "Prehrať v oddelenom okne (s)" -#: src/interface.c:2804 +#: src/interface.c:2725 #, fuzzy msgid "double size\n" msgstr "_Dvojitá veľkosť" -#: src/interface.c:2807 +#: src/interface.c:2728 #, fuzzy msgid "ping pong loops\n" msgstr "Pin_g Pong sľučky" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "Klávesy pre výber stopy" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 #, fuzzy msgid "move current track up\n" msgstr "_Vybrať aktuálnu stopu" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 #, fuzzy msgid "move current track down\n" msgstr "_Vybrať aktuálnu stopu" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "" -#: src/interface.c:2849 +#: src/interface.c:2768 #, fuzzy msgid "select next clip\n" msgstr "LiVES: Vybraný klip" -#: src/interface.c:2852 +#: src/interface.c:2771 #, fuzzy msgid "select/deselect current track\n" msgstr "_Vybrať aktuálnu stopu" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 #, fuzzy msgid "zoom in\n" msgstr "_Priblížiť" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 #, fuzzy msgid "zoom out\n" msgstr "_Oddialiť" -#: src/interface.c:2861 +#: src/interface.c:2780 #, fuzzy msgid "make a mark on the timeline (during playback)\n" msgstr "urobiť značku na časovej osi" -#: src/interface.c:2864 +#: src/interface.c:2783 #, fuzzy msgid "rewind to play start.\n" msgstr "Previnúť na štart (w)" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "Uložiť ako zostavu %s..." -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "" -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "" -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -2225,16 +2230,16 @@ "the latest youtube-dl installed.\n" msgstr "" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, c-format msgid "Layouts were removed for set %s.\n" msgstr "" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "Tento súbor" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " @@ -2242,7 +2247,7 @@ ",\n" " - vrátane aktuálneho rozloženia - " -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2257,7 +2262,7 @@ "\n" "Skutočne ukončiť ?" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2272,14 +2277,14 @@ "\n" "Skutočne chcete ukončiť ?" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" "Really close it ?" msgstr "" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" @@ -2287,7 +2292,7 @@ "\n" "Neplatný súbor projektu.\n" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2309,54 +2314,54 @@ "vymažte.\n" "Ak to urobíte, potom môžete importovať nový projekt.\n" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "Importujem projekt %s ako zostavu %s..." -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "Importujem projekt" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "Exportujem projekt %s..." -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "Exportujem projekt" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 #, fuzzy msgid "Theme" msgstr "Nový názov " -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, fuzzy, c-format msgid "Exporting theme as %s..." msgstr "Export zvuku ako %s..." -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, fuzzy, c-format msgid "Importing theme \"%s\" from %s..." msgstr "Export zvuku ako %s..." -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, fuzzy, c-format msgid "Backup as %s File" msgstr "Zálohovať ako .lv1 súbor" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, fuzzy, c-format msgid "Restore %s File" msgstr "Obnoviť .lv1 súbor" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2368,95 +2373,95 @@ "Zostava bude odstránená z disku.\n" "Ste si istý ?\n" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "" -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "Odstraňujem zostavu..." -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "Odstraňujem zostavu" -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "Zostava %s bola navždy odstránená z disku.\n" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "Vložiť ticho" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "Vraciam späť" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "Obnovenie zvuku..." -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "Čistenie rámu obrázkov" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "Mazanie nadbytočných snímkov" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "Dĺžka videa je teraz %d obrázkov pri %.3f snímkov za sekundu.\n" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "Schránka bola prevzorkovaná na %d snímkov.\n" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "Prestavba" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, fuzzy, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "Kopírovanie snímkov %dLiVES do %d%s do schránky..." -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, fuzzy, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "Kopírovanie snímkov %dLiVES do %d%s do schránky..." -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "Kopírovanie do schránky" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "Vystrihnúť" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 #, fuzzy msgid "Pulling frames from clipboard" msgstr "Ťahanie snímkov z klipu" -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "" -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "Vložiť" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "" -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " @@ -2465,7 +2470,7 @@ "Táto operácia si vyžaduje zmenu veľkosti alebo konverziu snímok.\n" "Prosím, nainštalujte 'convert' z balíčka Image-magick a reštartujte LiVES.\n" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2479,7 +2484,7 @@ "Skúste označiť všetky snímky a potom použite \n" "Funkciu 'Trim Audio' z ponuky zvuku." -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." @@ -2487,7 +2492,7 @@ "LiVES nemohol vložiť pretože nesúhlasí pomer zvuku.\n" "Prosím nainštalujte 'sox' a skúste znova." -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" @@ -2497,7 +2502,7 @@ "Vložením dôjde k posunu snímkov v niektorých viacstopových rozmiestneniach.\n" "Skutočne chcete pokračovať ?\n" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" @@ -2507,11 +2512,11 @@ "Vložením dôjde k posunu zvuku v niektorých viacstopových rozmiestneniach.\n" "Skutočne chcete pokračovať ?\n" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "Prevzorkovať zvuk v schránke" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2523,7 +2528,7 @@ "LiVES nemohol prevzokovať zvuk v schránke. \n" "Zvuk bol zo schránky vymazaný.\n" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2537,32 +2542,32 @@ "Chcete pokračovať s vložením \n" "nezmeneného zvuku ?\n" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "Vkladám %d%s snímkov zo schránky..." -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "Vkladám" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "Vložiť %d krát zo schránky%s..." -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "Vloženie %d snímkov zo schránky%s..." -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "Rušenie" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" @@ -2572,7 +2577,7 @@ "Odstránenie všetkých snímkov zatvorí súbor.\n" "Ste si istý ?" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" @@ -2583,8 +2588,8 @@ "rozdeleniach.\n" "Ste si istý, že chcete pokračovať ?\n" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" @@ -2595,7 +2600,7 @@ "rozdeleniach.\n" "Ste si istý, že chcete pokračovať ?\n" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" @@ -2605,7 +2610,7 @@ "Odstránenie spôsobí posun snímkov v niektorých viacstopových rozdeleniach.\n" "Ste si istý, že chcete pokračovať ?\n" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" @@ -2615,20 +2620,20 @@ "Odstránenie spôsobí posun zvuku v niektorých viacstopových rozdeleniach.\n" "Ste si istý, že chcete pokračovať ?\n" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "Odstraňujem snímky %d do %d%s..." -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "Odstraňuje sa" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "Odstrániť" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" @@ -2638,7 +2643,7 @@ "\n" "Výber je zamknutý.\n" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2650,11 +2655,11 @@ "(Pre zrušenie, stlačte 'r' alebo kliknite na Prehrať|Nahrávať opäť pred " "prehraním.)\n" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "Nahrávanie zrušené.\n" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2667,7 +2672,7 @@ "Správy '%s' o rozšírení:\n" "%s\n" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2680,7 +2685,7 @@ "Nedá sa nájsť 'init' metóda v %s rozšírení.\n" "Rozšírenie môže byť poškodené alebo nie je správne nainštalované." -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2693,22 +2698,22 @@ "\n" "Prosím stlačte 'Zrušit' ak nesúhlasíte.\n" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "Uloženie zostavy %s" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "Načítavam klipy zo zostavy %s" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2719,24 +2724,24 @@ "Pokračujte IBA ak nemáte spustenú dalšiu kópiu LiVES.\n" "Pokračujete kliknutím na OK.\n" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "Čistenie disku..." -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "" -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "Resetovanie hodnotenia snímkov a hodnoty snímkov..." -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2744,12 +2749,12 @@ "Internal: %s (%d bpp) / %s\n" msgstr "" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." @@ -2757,7 +2762,7 @@ "\n" " Otváram..." -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" @@ -2766,7 +2771,7 @@ "\n" "(%d virtuálnej)" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" @@ -2775,7 +2780,7 @@ "\n" "(%d dekódované)" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" @@ -2784,7 +2789,7 @@ "\n" " %.2f sek." -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" @@ -2792,23 +2797,23 @@ "\n" " Neznáme" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "nepodpísané" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "podpísané" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "veľký-endian" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "malý-endian" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" @@ -2817,7 +2822,7 @@ " %d Hz %d bit\n" "%s %s" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2834,22 +2839,22 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n" msgstr "" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "Úprava videa a VJ program" -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" "Launchpad Contributions:\n" " Milan Slovák https://launchpad.net/~milboys\n" " salsaman https://launchpad.net/~salsaman" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, c-format msgid "" "LiVES Version %s\n" @@ -2863,7 +2868,7 @@ "Homepage: %s" msgstr "" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 #, fuzzy msgid "" "\n" @@ -2874,7 +2879,7 @@ "\n" "Je nutné nainštalovať mplayer, aby bol možný náhľad tohoto súboru.\n" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 #, fuzzy msgid "" "\n" @@ -2886,94 +2891,94 @@ "\n" "Je nutné nainštalovať mplayer, aby bol možný náhľad tohoto súboru.\n" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" "%s\n" msgstr "" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 #, fuzzy msgid "Encoder Debug Output" msgstr "LiVES: - Kódovač výstupu ladenia" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "Prehranie na celej obrazovke (f)" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "Prehranie na celej obrazovke vypnuté (f)" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "Dvojitá veľkosť (d)" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "Vlastná veľkosť (d)" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "Skryť okno s prehrávaním (s)" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "Zobraziť okno s prehrávaním (s)" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "Prehrať v oddelenom okne (s)" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "Vypnúť nekonečnú sľučku (o)" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "Zapnúť nekonečnú sľučku (o)" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "Hlasitosť zvuku (%.2f)" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "Zapnúť zvuk (z)" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "Vypnúť zvuk (z)" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "Vratná schránka..." -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "Vratná schránka" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 msgid "Load Subtitles" msgstr "" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 #, fuzzy msgid "Select Audio File" msgstr "Odstrániť zvuk" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -2985,83 +2990,83 @@ "viacstopých rozloženiach. \n" "Naozaj chcete pokračovať?" -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "Otváram zvuk %s, typ %s..." -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "Otváram zvuk" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "Vytvoriť zvuk" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "Nový zvuk" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "Otváranie stopy na CD %d od %s..." -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "Stopa na CD %d" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "Otváram stopu na CD..." -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "Chyba pri načítaní CD stopy\n" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 #, fuzzy msgid "Layout Errors" msgstr "rozloženie chýb" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "Vymazanie _chýb" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "_Odstrániť postihnuté rozloženia" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "Obnoviť" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "pozastavené..." -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "pokračovanie..." -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "Ponechať" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, fuzzy, c-format msgid "" "\n" @@ -3072,30 +3077,30 @@ "\n" "Pauza" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "Zrušiť" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 #, fuzzy msgid "Selected Frame" msgstr "Vybrať všetky snímky" -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 #, fuzzy msgid "_Save Frame as..." msgstr "_Uložiť rozloženie ako..." -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -3104,7 +3109,7 @@ "\n" msgstr "" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -3117,7 +3122,7 @@ "funkciu\n" "\n" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" @@ -3125,7 +3130,7 @@ "\n" "Nahrávací čas musí byť väčší ako 0.\n" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -3139,11 +3144,11 @@ "Kliknite na 'Zrušiť' pre zrušenie\n" "\n" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "Vonkajšie okno bola uvoľnené.\n" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" @@ -3151,7 +3156,7 @@ "Kliknite na Okno pre nahrávanie\n" "Stlačte tlačidlo 'q' pre ukončenie nahrávania" -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -3166,19 +3171,19 @@ "Stop nebo 'q' pre ukončenie.\n" "(Bude použité predvolené nastavenie %.3f snímkov za sekundu.)\n" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "LiVES nemôže zaznamenať toto okno. Prepáčte.\n" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "Exportovanie vybraného zvuku ako..." -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "Exportovať zvuk ako..." -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -3192,87 +3197,87 @@ "Kliknite na 'OK' pre export s novou rýchlosťou alebo 'Zrušiť' a exportovat " "originálnym pomerom.\n" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "Exportovanie zvukových snímkov %d do %d ako %s..." -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "Export zvuku ako %s..." -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "Exportujem zvuk" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 #, fuzzy msgid "Append Audio File" msgstr "Pridať zvuk" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "Pridávam zvukový súbor %s..." -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "Pridávam zvuk" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "Pridať zvuk" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "" -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "Orezanie zvuku z %.2f to %.2f sekundy..." -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "Orezanie/vyplnenie zvuku" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "Orezať/Doplniť zvuk" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "Zoslabovanie zvuku v" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "Zoslabujúci zvuk v" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "Stíšenie zvuku" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "Stíšiť zvuk" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "%s nad %.1f sekundy..." -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "%s od času %.2f sekúnd do %.2f sekúnd..." -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "Stišovanie zvuku" -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" @@ -3281,33 +3286,33 @@ "\n" "Odstránenie všetkých zvukov zatvorí tento súbor." -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "Odstránenie všetkých zvukov..." -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "Odstránenie zvuku od %.2f do %.2f sekundy..." -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "Odstraňujem zvuk" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "Odstrániť zvuk" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "Nahrať nový zvuk" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "Vložiť ticho od %.2f do %.2f sekundy..." -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "Vložiť ticho" @@ -3320,604 +3325,604 @@ msgid "Merge Clipboard [ %d Frames ] With Selection [ %d Frames ]" msgstr "Zlúčiť schránku [ %d snímkov ] s výberom [ %d snímkov ]" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" msgstr "" "Zlúčiť schránku [ %d snímkov (prevzorkované) ] s výberom [ %d snímkov ]" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "Zosúladiť _Štart" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "Zosúladiť _Koniec" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "Čo robiť s extra snímkami v schránke -" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "_Vložiť snímky" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "_Vyhodiť snímky" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "Počet opakovaní schránky" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "_Metóda prechodu:" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "Zlúčiť schránku s výberom..." -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "Zlúčenie skončené.\n" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "" -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "_Vlastné efekty" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "Vlastné _pomôcky" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "_Súbor" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "_Otvoriť súbor/Adresár" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "" -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "Otvoriť _umiestnenie/stream..." -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "" -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "" -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "Importovať z _Firewire jednotky (dv)" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "Importovať z _Firewire jednotky (hdv)" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "" -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "Pridať live _Firewire zariadenie" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "_Nedávne súbory..." -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "Znovu otvoriť sadu klipov..." -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "Zavrieť/Ul_ožiť všetky klipy" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "_Dekódovať klip ako..." -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "Kódovať _výber ako..." -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "_Zavrieť tento klip" -#: src/gui.c:692 +#: src/gui.c:674 #, fuzzy, c-format msgid "_Backup Clip as .%s..." msgstr "_Zálohovať klip ako .lv1..." -#: src/gui.c:701 +#: src/gui.c:683 #, fuzzy, c-format msgid "_Restore Clip from .%s..." msgstr "_Obnoviť klip z .lv1..." -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "Kódovať/Otvoriť/Zálohovať _zo zvukom" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "_Vyčistiť disk" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "_Upraviť" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "_VIACSTOPOVÝ režim" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "_Kopírovať vybrané" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "Vy_strihnúť vybrané" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "_Vloťiť zo schránky" -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "Vložiť ako _nový" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "_Zlúčiť schránku s výberom..." -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "_Zmazať výber" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "Oddeliť _Video od zvuku" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "_Vybrať..." -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "Vybrať všetky snímky" -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "_Iba počiatočný snímok" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "_Iba posledný snímok" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "Vybrať od _prvého snímku" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "Vybrať do _posledného snímku" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "Vybrať posledný vložený/_Zlúčiť" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "Vybrať posledný efekt" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "_Obrátiť výber" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "_Zamknúť šírku výberu" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "_Prehrať" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "_Prehrať všetko" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "Pre_hrať výber" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "Prehrať _schránku" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "_Zastaviť" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "Pre_vinúť" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "Na _celú obrazovku" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "_Dvojitá veľkosť" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "Prehrať v _oddelenom okne" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "_Prázdne pozadie" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "(Automaticky)_opakovať video (vyplniť podľa zvuku)" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "Ne_pretržitá sľučka" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "Pin_g Pong sľučky" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "_Ztlmiť zvuk" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "Oddelené okno 'L_epivý' mód" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "U_káž počítadlo snímkov" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "" -#: src/gui.c:1069 +#: src/gui.c:1045 msgid "Letterbox Mode" msgstr "" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "Efekt_y" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "Efekty sú pužité na súčasný výber." -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "_Spustiť test Vykresľovanie efektov/Nástroje/Generátor..." -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "_Nástroje" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "Nástroje sú použité na dokončenie klipov." -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "_Otočiť schránku" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "_Zmeniť prehrávanie/Uložiť rýchlosť" -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "Prevzorkovať _video na nový pomer..." -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "_Nástroje" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "Vlastné _nástroje" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "Vy_generovať" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "" -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "Zachytiť _externé okno " -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "_Predvoľby..." -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "_Zvuk" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "Nahrať _nový zvuk pre klip ..." -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "Nahrať _CD stopu..." -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "V_ysunúť CD" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "Nahrávanie e_xterného zvuku..." -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "do nového _klipu..." -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "do _výberu" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "_Zosilniť zvuk..." -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "_Zoslabiť zvuk..." -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "_Exportovať zvuk..." -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "_Exportovať _vybraný zvuk..." -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "_Exportovať _všetky zvuky..." -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "_Pripojiť zvuk..." -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "" -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "" -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "" -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "_Odstrániť zvuk..." -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "Odstrániť _vybraný zvuk..." -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "Odstrániť _všetky zvuky..." -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "Vložiť _ticho vo vybranom" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "_Prevzorkovať zvuk..." -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "_Informácie" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "Zobraziť informáciu o _klipe" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "Zobraziť/ _Upraviť komentáre k súboru" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "Zobraziť informáciu o _schránke" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "Zobraziť _správy" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "Zobraziť chyby _rozloženia" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "_Klipy" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "_Premenovať aktuálny klip v menu..." -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "Po_kročilé" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "_RFX Efekty/Nástroje/Pomôcky" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "_Nový test RFX skriptu..." -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "_Koirovať RFX skript do testu..." -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "_Upraviť test RFX skriptu..." -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "Premeno_vať test RFT skriptu..." -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "_Odstrániť test RFX skriptu..." -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "_Importovať vlastný RFX skript..." -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "E_xportovať vlastný RFX skript..." -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "Od_strániť vlastný RFX skript..." -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "Re_konštruovať všetky RFX rozšírenia" -#: src/gui.c:1397 +#: src/gui.c:1371 #, fuzzy msgid "Receive _LiVES Stream from..." msgstr "Získať _LiVES stream od..." -#: src/gui.c:1401 +#: src/gui.c:1375 #, fuzzy msgid "_Send LiVES Stream to..." msgstr "_Poslať LiVES stream do..." -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "Otvoriť _yuv4mpeg stream na %sstream.yuv" -#: src/gui.c:1426 +#: src/gui.c:1399 #, fuzzy, c-format msgid "_Import Project (.%s)..." msgstr "_Importovať projekt (.lv2)..." -#: src/gui.c:1430 +#: src/gui.c:1403 #, fuzzy, c-format msgid "E_xport Project (.%s)..." msgstr "E_xportovať projekt (.lv2)..." -#: src/gui.c:1437 +#: src/gui.c:1409 #, fuzzy, c-format msgid "_Import Custom Theme (.%s)..." msgstr "_Importovať projekt (.lv2)..." -#: src/gui.c:1442 +#: src/gui.c:1414 #, fuzzy, c-format msgid "E_xport Theme (.%s)..." msgstr "E_xportovať projekt (.lv2)..." -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "_VJ" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "Mapovanie real time _efektu" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "Priradiť real time efekty k ctrl-numerickým klávesam." -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "Nastaviť _predvolený real time efekt" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "Nastaviť _predvolenú hodnotu pre real time efekty." -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "Uložiť _predvolený real time efekt" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." @@ -3925,156 +3930,156 @@ "Uložiť predvolené hodnoty real time efektov, budú použité pri každom " "spustení LiVES." -#: src/gui.c:1476 +#: src/gui.c:1448 #, fuzzy msgid "_Reset All Playback Speeds and Positions" msgstr "_Resetovať všetky rýchlosti prehrávania a pozícií" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "" "Resetovanie všetkých prehraných pozícií na snímok 1 a resetovanie všetkých " "prehraných snímkov." -#: src/gui.c:1480 +#: src/gui.c:1452 #, fuzzy msgid "_MIDI/Joystick Interface" msgstr "Rozhranie _MIDI/Joystick" -#: src/gui.c:1489 +#: src/gui.c:1461 #, fuzzy msgid "_MIDI/Joystick Learner..." msgstr "Rozhranie _MIDI/Joystick" -#: src/gui.c:1493 +#: src/gui.c:1465 #, fuzzy msgid "_Save Device Mapping..." msgstr "_Uložiť mapu zariadenia..." -#: src/gui.c:1497 +#: src/gui.c:1469 #, fuzzy msgid "_Load Device Mapping..." msgstr "_Načítať mapu zariadenia..." -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "Zobraziť VJ _\tKlávesy" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "_Hračky" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "Žia_dny" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "_Bláznivé snḿky" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "_LiVES TV (širokopásmová)" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "_Pomocník" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "_Manuál (otvoriť v prehliadači)" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 #, fuzzy msgid "_Donate to the Project !" msgstr "_Prispieť na projekt !" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 #, fuzzy msgid "_Email the Author" msgstr "_Mailová adresa autora" -#: src/gui.c:1547 +#: src/gui.c:1519 #, fuzzy msgid "Report a _Bug" msgstr "Nahlásiť _chybu" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 #, fuzzy msgid "Suggest a _Feature" msgstr "Navrhnite _funkciu" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 #, fuzzy msgid "Assist with _Translating" msgstr "Pomôcť s _prekladom" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "Riešenie _problémov" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "_O programe" -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "Previnúť na štart (w)" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "Prehrať všetko (p)" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "Zastaviť prehrávanie (q)" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "Prehrať vybrané (y)" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "Hlasitosť" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "Hlasitosť zvuku (1.00)" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "Vyplnené pozadie (b)" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "Prehrať pomalšie (ctrl-down)" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "Prehrať rýchlejšie (ctrl-hore)" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "Preskočiť späť (ctrl-vľavo)" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "Preskočiť vpred (ctrl-vpravo)" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "Zobraziť info o klipe (i)" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "Skryť túto lištu s nástrojmi" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." @@ -4083,133 +4088,133 @@ "zastavte s \"q\"." #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr " Rýchlosť prehrávania videa (snímky za sekundu) " -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "Odlíšiť rýchlosť videa" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "Prvý snímok" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "Posledný snímok" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "Prvý vybraný snímok v tomto klipe" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "Posledný vybraný snímok v tomto klipe" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "Začínam...\n" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr " Stlač 'q' k zastaveniu nahrávania. NEPREKRÝVAJTE HRACIE OKNO ! " -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "Čísla snímkov k náhľadu" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "_Voľná" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "Voľný výber čísla snímku" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "_Štart" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "Číslo snímku ukazuje na prvý snímok" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "_Koniec" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "Číslo snímku ukazuje na posledný snímok" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "_Kurzor" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "Číslo snímku ukazuje na ukazovateľ prehrávania" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "Previnúť" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "Prehrať všetko" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "Prehrať vybrané" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "Slučka Zap/Vyp" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "Spustiť _nahrávanie" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "Zastaviť _nahrávanie" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr "" -#: src/gui.c:3613 +#: src/gui.c:3553 #, fuzzy msgid "Streaming" msgstr "Zasnenie" -#: src/gui.c:3615 +#: src/gui.c:3555 #, fuzzy, c-format msgid "Play Window%s" msgstr "Skryť okno s prehrávaním" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "Skryť okno s prehrávaním" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "Zobraziť okno s prehrávaním" -#: src/gui.c:4199 +#: src/gui.c:4127 #, fuzzy, c-format msgid "'LiVES opened the file' '%s'" msgstr "LiVES nebol schopný otvoriť súbor" -#: src/gui.c:4220 +#: src/gui.c:4146 #, fuzzy, c-format msgid "'LiVES closed the file' '%s'" msgstr "Nechať LiVES nastaviť _príponu súboru" @@ -4219,11 +4224,11 @@ msgid "Mapped to ctrl-%d" msgstr "" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "Efekty" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "Klipy" @@ -4237,11 +4242,11 @@ msgid "Select clip for %s\n" msgstr "_Odstrániť zostavu klipov" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "" @@ -4286,11 +4291,11 @@ msgid "%d bytes" msgstr "" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "Vyprázdnenie schránky" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -4301,7 +4306,7 @@ "==============================\n" "Prepnuté na klip %s\n" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" @@ -4311,11 +4316,11 @@ "==============================\n" "Prepnuté na prázdny klip\n" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "(čisté)" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " @@ -4324,7 +4329,7 @@ "Názov zostavy bol zmenený z %s na %s. Súvisiace rozmiestnenie bude primerane " "aktualizované\n" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" @@ -4333,7 +4338,7 @@ "Klip %s nebol nájdený v tejto zostave.\n" "Je vyžadované nasledujúce rozloženie:\n" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" @@ -4342,7 +4347,7 @@ "Klip %s bol zatvorený.\n" "Je požadované nasledujúce rozloženie:\n" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" @@ -4351,7 +4356,7 @@ "Snímky v klipe %s boli posunuté.\n" "Nasledujúce rozloženie bude ovplyvnené:\n" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" @@ -4360,7 +4365,7 @@ "Snímky z klipu %s boli zmazané.\n" "Nasledujúce rozdelenie bude ovplyvnené:\n" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" @@ -4369,7 +4374,7 @@ "Z klipu %s bol odstránený zvuk.\n" "Nasledujúce rozdelenie bude ovplyvnené:\n" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" @@ -4378,7 +4383,7 @@ "V klipe %s bol posunutý zvuk.\n" "Nasledujúce rozdelenie bude ovplyvnené:\n" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" @@ -4387,7 +4392,7 @@ "V klipe %s bol zmenený zvuk.\n" "Nasledujúce rozdelenie bude ovplyvnené:\n" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" @@ -4396,7 +4401,7 @@ "V klipe %s boli zmenené snímky.\n" "Nasledujúce rozdelenie bude ovplyvnené:\n" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -4407,7 +4412,7 @@ "sa nedá otvoriť, pretože je používaná\n" "inou kópiou LiVES.\n" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -4418,7 +4423,7 @@ "Zostava %s je používaná inou kópiou LiVES.\n" "Prosím vyberte iný názov zostavy.\n" -#: src/utils.c:2188 +#: src/utils.c:2207 #, fuzzy, c-format msgid "" "\n" @@ -4427,7 +4432,7 @@ "\n" "Názov zostavy nemôže byť prázdny.\n" -#: src/utils.c:2196 +#: src/utils.c:2215 #, fuzzy, c-format msgid "" "\n" @@ -4436,7 +4441,7 @@ "\n" "Názov nesmie obsahovať medzery alebo znaky%s.\n" -#: src/utils.c:2204 +#: src/utils.c:2223 #, fuzzy, c-format msgid "" "\n" @@ -4445,18 +4450,18 @@ "\n" "Názov nesmie obsahovať medzery alebo znaky%s.\n" -#: src/utils.c:2213 +#: src/utils.c:2232 #, c-format msgid "" "\n" "%s names may not start with a '.' or contain '..'\n" msgstr "" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4467,73 +4472,73 @@ "Zostava %s už existuje.\n" "Prosím zvolte iný názov zostavy.\n" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "Odstraňujem rozloženia %s\n" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "Video [otváram...]" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "Video [%.2f sek]" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "(Nedefinované)" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "(Žiadne video)" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "(Žiadny zvuk)" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "Mono [otváram...]" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "Ľavý zvukový kanál [otváram...]" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "Mono [%.2f sek]" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "Ľavý zvukový kanál [%.2f sek]" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "Pravý zvukový kanál [otváram...]" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "Pravý zvukový kanál [%.2f sek]" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "LiVES nemôže při načítání klipov prepnúť na mplayer." -#: src/utils.c:3492 +#: src/utils.c:3548 #, fuzzy msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "LiVES nemôže při načítání klipov prepnúť na mplayer." -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "Vyčistenie klipu" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4548,29 +4553,29 @@ "\n" "Prepísať ?\n" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "_Vrátiť %s" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "_Znovu %s" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "-------------Výber------------" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr " sek ] ----------výber---------- [ " -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr " snímky ] ----------" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4595,7 +4600,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "Otváranie %s začiatok %.2f sek. snímkov %d" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr " bez zvuku" @@ -4713,7 +4718,7 @@ "Prajete si napriek tomu pokračovať ?" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "Ťahanie snímkov z klipu" @@ -4770,12 +4775,12 @@ msgid "Recording performance..." msgstr "" -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "Priemerná hodnota FPS bola %.4f\n" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4789,21 +4794,21 @@ "Kliknite na Nástroje--->Zmeniť veľkosť všetkých\n" "a zmeňte veľkosť všetkých snímkov na \taktuálnu veľkosť.\n" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "Neznáme" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "Bez názvu %d" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "%d snímkov je postačujúcich !\n" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4811,13 +4816,13 @@ "%s\n" msgstr "" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" msgstr "" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4825,7 +4830,7 @@ "Bad things may happen with this clip.\n" msgstr "" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4837,14 +4842,14 @@ "fps . \n" "Predvolené hodnoty možno nastaviť v Nástroje | Predvoľby | Rôzne.\n" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "" "Rýchlosť prehrávania bola nastavená na %.3f snímky za sekundu, aby " "zodpovedal zvuku.\n" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" @@ -4854,7 +4859,7 @@ "%.3f\n" "Zvuk:" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" @@ -4863,54 +4868,54 @@ "Snímky=%d typ=%s veľkosť=%dx%d bpp=%d snímkov za sekundu =%.3f\n" "Zvuk:" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "%s žiadny\n" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, fuzzy, c-format msgid " - Author: %s\n" msgstr "Autor: %s" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, fuzzy, c-format msgid " - Title: %s\n" msgstr " - Komentár: %s\n" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr " - Komentár: %s\n" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "Ukladám snímky %d ako %s..." -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "Zálohovanie %s do %s" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "Zálohujem" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "dáta boli zálohované..." -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "Obnovovanie %s..." -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "Obnovovanie" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -4965,12 +4970,12 @@ msgid "Recovering files..." msgstr "Obnovenie súborov ..." -#: src/dialogs.c:87 +#: src/dialogs.c:83 #, fuzzy msgid "Show affeced _layouts" msgstr "Zobraziť postihnuté _rozloženia" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" @@ -4978,51 +4983,51 @@ "_Nezobrazovať už toto upozornenie\n" "(zmenu nastavenia urobíte v Predvoľby/Upozornenia)" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr "" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 #, fuzzy msgid "Warning !" msgstr "Varovania" -#: src/dialogs.c:198 +#: src/dialogs.c:186 #, fuzzy msgid "Error !" msgstr "$chyba" -#: src/dialogs.c:208 +#: src/dialogs.c:196 #, fuzzy msgid "Information" msgstr "LiVES: Informácie pre %s" -#: src/dialogs.c:234 +#: src/dialogs.c:221 msgid "Question" msgstr "" -#: src/dialogs.c:248 +#: src/dialogs.c:235 #, fuzzy msgid "File Error" msgstr "Vymazanie _chýb" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "Zobraziť_podrobnosti" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -5033,7 +5038,7 @@ "(Disk warning levels can be configured in Preferences.)" msgstr "" -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -5045,11 +5050,11 @@ "Preferences.)" msgstr "" -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "Prehrávače zvuku nemôžu byť prepnuté počas prehrávania." -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -5061,18 +5066,18 @@ "LiVES nemohol vykonať túto operáciu kvôli nedostatku pamäte.\n" "Prosím skúste najskôr zatvoriť daľšie aplikácie.\n" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "" -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" "%s%d%% done. Time remaining: %u sec%s\n" msgstr "" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" @@ -5081,14 +5086,14 @@ "\n" "%d/%d otvorených snímkov. Zostávajúci čas %u sek.\n" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" "%d/%d frames opened.\n" msgstr "" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" @@ -5097,7 +5102,7 @@ "\n" "%d otvorených snímkov.\n" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" @@ -5106,7 +5111,7 @@ "\n" "Zostávajúci čas: %d sek" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -5117,7 +5122,7 @@ "Prepáčte, LiVES môže súčasne otvoriť %d súborov.\n" "Prosím zatvorte súbor a skúste to znova." -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, fuzzy, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -5136,7 +5141,7 @@ "\n" "Uistite sa prosím, že do tohoto adresára môžete zapisovať." -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 #, fuzzy msgid "" "\n" @@ -5147,7 +5152,7 @@ "LiVES momentálne vyžaduje k spusteniu 'mplayer' alebo 'sox'. Prosím " "nainštalujte jeden z uvedených a skúste opäť.\n" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 #, fuzzy msgid "" "\n" @@ -5158,7 +5163,7 @@ "LiVES momentálne vyžaduje k spusteniu 'mplayer' alebo 'sox'. Prosím " "nainštalujte jeden z uvedených a skúste opäť.\n" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 #, fuzzy msgid "" "\n" @@ -5169,19 +5174,19 @@ "LiVES momentálne vyžaduje k spusteniu 'mplayer' alebo 'sox'. Prosím " "nainštalujte jeden z uvedených a skúste opäť.\n" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" @@ -5191,7 +5196,7 @@ "Prosím nainštalujte 'sox'\n" "Alebo vyberte iný formát kódovania v Nástroje | Nastavenia | Encoding\n" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -5203,7 +5208,7 @@ "Tento formát sa nedá použiť s vybraným zvukovým kodekom.\n" "Nastavte zvukový kodek v Nástroje|Nastavenia|Encoding\n" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" @@ -5211,13 +5216,13 @@ "Toto rozloženie obsahuje vygenerované snímky.\n" "Nedá sa uložiť, musíte ich najskôr vykresliť do klipu.\n" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -5228,7 +5233,7 @@ "\n" "Vzhľadom na obmedzenia vo %s formáte\n" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" @@ -5236,43 +5241,43 @@ "LiVES doporučuje nasledujúce nastavenia:\n" "\n" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr ", podpísané" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr ". nepodpísané" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr ", malý-endian" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr ", veľký-endian" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "Nastaviť video na %.3f snímkov za sekundu\n" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "Nastaviť video na %d:%d snímkov za sekundu\n" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "Nastaviť veľkosť videa na %d x %d pixelov\n" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" @@ -5280,35 +5285,35 @@ "\n" "Možno si budete priať:\n" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "zmeniť veľkosť videa na %d x %d pixelov\n" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "vypnúť zvuk, pretože cieľový enkodér nemohol zakódovať zvuk\n" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "LiVES musí:\n" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "prevzorkovať video na %.3f snímkov za sekundu\n" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "prevzorkovať video na %d:%d snímkov za sekundu\n" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -5322,7 +5327,7 @@ "Kliknite na `OK` pre pokračovanie, `Zrušiť` pre stornovanie.\n" "\n" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" @@ -5332,7 +5337,7 @@ "Zmeny použité do výberu nebudú trvalé.\n" "\n" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -5346,7 +5351,7 @@ "pamäte.\n" "Skúste nahrať len vybranú časť súboru." -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -5365,7 +5370,7 @@ "\n" "Vyberte Zrušiť pre ukončenie vkladania alebo OK pre pokračovanie." -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -5378,18 +5383,18 @@ "click Cancel." msgstr "" -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "História správy" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " "in your %s file" msgstr "" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -5400,7 +5405,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 #, fuzzy msgid "" "Sorry, unknown audio type.\n" @@ -5411,18 +5416,18 @@ "\n" " (Názov súboru musí mať koncovku .mp3, .ogg, .wav, .mod, .xm alebo .it)" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "zlyhalo (neznámy typ)\n" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" "(They will not be usable without the set).\n" msgstr "" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -5435,7 +5440,7 @@ "Kliknitím na OK pridáte aktuálne klipy a rozloženia da existujúcej zostavy.\n" "Kliknutím na Zrušiť vyberiete nový názov.\n" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -5446,7 +5451,7 @@ "Snímky z tohoto klipu sú použité v niektorých viacstopých rozloženiach.\n" "Ste si istý že chcete pokračovať ?" -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -5457,7 +5462,7 @@ "Zvuky z tohoto klipu sú použité v niektorých viacstopých rozloženiach.\n" "Ste si istý že chcete pokračovať ?" -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -5468,7 +5473,7 @@ "Otherwise click Cancel to skip loading this file.\n" msgstr "" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -5483,7 +5488,7 @@ "%s\n" "Klip sa nedá načítať.\n" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -5491,7 +5496,7 @@ "Alternately, select a different audio player in Preferences.\n" msgstr "" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -5500,13 +5505,13 @@ "Automatic jack startup will be disabled now.\n" msgstr "" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" msgstr "" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -5517,7 +5522,7 @@ "%s\n" msgstr "" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" @@ -5525,7 +5530,7 @@ "\n" "Môžete tiež reštartovať LiVES a vybrať iný audio prehrávač.\n" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -5540,7 +5545,7 @@ "Môžete zvýšiť hodnoty v Preferences/Multitrack.\n" "Odporúča sa zvýšiť aspoň o %d MB" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -5549,7 +5554,7 @@ "Do you wish to delete them ?\n" msgstr "" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -5557,7 +5562,7 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -5569,7 +5574,7 @@ "Zvýšte veľkosť pamäte pre krok späť\n" "v Nastavenia/Multitrack/Pamäť späť\n" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" @@ -5578,20 +5583,20 @@ "LiVES nemohol rezervovať dostatok pamäte pre zásobník viacstopého kroku " "späť.\n" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "alebo vložte nižšiu hodnotu.\n" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "" "Skúste opäť z editora klipov, skúste zavrieť niektoré ďaľšie aplikácie\n" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "Skúste zavrieť niektoré ďaľšie aplikácie\n" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" @@ -5600,14 +5605,14 @@ "zvuk.\n" "Upravte nastavenie zvuku v menu Nástroje.\n" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "" "Súčasné nastavenie obsahuje zvuk, ale zvukové kanály nemôžu byť nastavené na " "nulu.\n" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" @@ -5617,7 +5622,7 @@ "\"jack\" alebo \"pulse audio\" prehrávačom.\n" "Môžete to nastaviť v Nástroje|Predvoľby|Prehrávanie." -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" @@ -5627,7 +5632,7 @@ "systému, alebo zo staršej verzie LiVES).\n" "Mám skúsiť opravu disku kópiou rozloženia?\n" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" @@ -5635,7 +5640,7 @@ "LiVES nebol schopný načítať rozloženie.\n" "Ospravedlňujeme sa.\n" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 #, fuzzy msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" @@ -5645,7 +5650,7 @@ "LiVES momentálne vyžaduje k spusteniu 'mplayer' alebo 'sox'. Prosím " "nainštalujte jeden z uvedených a skúste opäť.\n" -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 #, fuzzy msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" @@ -5655,7 +5660,7 @@ "LiVES momentálne vyžaduje k spusteniu 'mplayer' alebo 'sox'. Prosím " "nainštalujte jeden z uvedených a skúste opäť.\n" -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 #, fuzzy msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" @@ -5665,7 +5670,7 @@ "LiVES momentálne vyžaduje k spusteniu 'mplayer' alebo 'sox'. Prosím " "nainštalujte jeden z uvedených a skúste opäť.\n" -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" @@ -5675,7 +5680,7 @@ "\n" "Zvukový pomer musí byť väčší ako 0.\n" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5687,7 +5692,7 @@ "a jeho zobrazenie môže trvať veľmi dlho.\n" "Ste si istí, že chcete zobraziť?\n" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" @@ -5697,7 +5702,7 @@ "\n" "Musíte nainštalovať 'dvgrab' aby ste mohli používať túto funkciu.\n" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5706,19 +5711,19 @@ "You may need to select one of these in Tools/Preferences/Playback.\n" msgstr "" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "Zlyhalo rozšírenie video prehrávania k inicializovaniu palety !\n" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "Zlyhalo rozšírenie dekodéra k inicializovaniu palety !\n" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "Nedá sa nastaviť pomer snímkov video rozšírenia\n" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" @@ -5726,7 +5731,7 @@ "Po havárii, je vhodné použiť vyčistenie disku s\n" "Súbor|Čistenie disku\n" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5735,33 +5740,33 @@ "echo %d > /proc/sys/net/core/rmem_max\n" msgstr "" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "zrušené.\n" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "zlyhalo.\n" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "dokončené.\n" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "chyba v súbore. Zlyhanie.\n" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -5771,7 +5776,7 @@ "%s%s%s" msgstr "" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -5781,7 +5786,7 @@ "%s" msgstr "" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -5791,7 +5796,7 @@ "%s" msgstr "" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -5800,7 +5805,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -5810,7 +5815,7 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -5819,7 +5824,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -5829,12 +5834,12 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "" -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -5843,7 +5848,7 @@ "Please check your system for errors.\n" msgstr "" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -5856,7 +5861,7 @@ "%s\n" "Prosím skontrolujte práva k súboru a skúste znova." -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -5869,7 +5874,7 @@ "%s\n" "Skontrolujte, či máte oprávnenia pre adresár a skúste znova." -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, c-format msgid "" "\n" @@ -5877,14 +5882,14 @@ "%s\n" msgstr "" -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -5895,7 +5900,7 @@ "%s nemôže dekódovať klipy s obrázkami typu %s.\n" "Prosím vyberte iný dekodér zo zoznamu.\n" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" @@ -5903,7 +5908,7 @@ "\n" "Táto karta je už používaná a nedá sa otvoriť viackrát.\n" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -5918,27 +5923,27 @@ "- Skontrolujte, či zariadenie nie je používané iným programom.\n" "- Skontrolujte, či zariadenie skutočne existuje.\n" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" "Do you wish to overwrite the existing subtitles ?\n" msgstr "" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 msgid "" "\n" "LiVES currently only supports subtitles of type" msgstr "" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -5947,14 +5952,14 @@ "or OK to continue and save as type \"%s\"\n" msgstr "" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" "(If unsure, click Yes)\n" msgstr "" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -5965,19 +5970,19 @@ "." msgstr "" -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" msgstr "" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" msgstr "" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -5985,7 +5990,7 @@ "DO NOT SHUT DOWN OR CLOSE LIVES !\n" msgstr "" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, fuzzy, c-format msgid "" "\n" @@ -5996,14 +6001,14 @@ "Niektoré %s sa nenachádzajú v rozložení%s\n" "Preto nemohli byť správne otvorené.\n" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" "Please check the spelling of the set name and try again.\n" msgstr "" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -6012,7 +6017,7 @@ "directory. Would you like me to do this (recommended) ?" msgstr "" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -6024,7 +6029,7 @@ msgstr "" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -6033,40 +6038,40 @@ "\n" msgstr "" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" "Consult your package distributor.\n" msgstr "" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" msgstr "" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "" "Prosím nastavte si CD prehrávaciu jednotku v menu Nástroje | Nastavenie | " "Misc\n" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, fuzzy, c-format msgid "" "\n" @@ -6079,7 +6084,7 @@ "%s\n" "Prosím skontrolujte práva k súboru a skúste znova." -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -6088,7 +6093,7 @@ "already exists. Would you like to overwrite it ?\n" msgstr "" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -6229,7 +6234,7 @@ msgid "Video only Transitions" msgstr "Iba prevody videa" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "iba zvuk" @@ -6237,7 +6242,7 @@ msgid "Audio only Transitions" msgstr "Iba prevody zvuku" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "zvuk" @@ -6281,7 +6286,7 @@ msgid "Audio Analysers" msgstr "" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "neznáme" @@ -6338,90 +6343,90 @@ "\n" "Neboli generované snímky.\n" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 #, fuzzy msgid "Invalid element" msgstr "Neplatný parameter" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 #, fuzzy msgid "Invalid property" msgstr "Neplatný parameter" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 #, fuzzy msgid "Invalid plugin" msgstr "Neplatná linka %d v %s\n" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 #, fuzzy msgid "No error" msgstr "$chyba" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 msgid "integer" msgstr "" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 msgid "string" msgstr "" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 msgid "pointer" msgstr "" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "Chyba: rozšírenie %s nemá weed_setup () funkciu.\n" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" @@ -6430,271 +6435,271 @@ "Info: Nemožno nahrať rozšírenie %s\n" "Chyba bola: %s\n" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr "" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "Úspešne načítané %d Weed filtre\n" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, c-format msgid "Successfully loaded %d compound filters\n" msgstr "" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, fuzzy, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "Nepodarilo sa spustiť inštanciu %s, kód chyby %d\n" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "Nedá sa spustiť generátor %s\n" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, fuzzy, c-format msgid "Failed to start generator %s (%s)\n" msgstr "Nepodarilo sa spustiť generátor %s\n" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, fuzzy, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "Nepodarilo sa spustiť generátor %s\n" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 msgid "Autoscale" msgstr "" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 #, fuzzy msgid "Delete this connection" msgstr "_Odstrániť tento efekt" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, c-format msgid "%s - Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, c-format msgid "%s - Parameter Data Connections" msgstr "" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 msgid "Parameter and Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 msgid "Auto Connect Channels" msgstr "" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 msgid "Auto Connect Parameters" msgstr "" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "Môžete kliknutím na náhľad zmeniť tieto hodnoty" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "_Vymazanie hodnôt" -#: src/framedraw.c:241 +#: src/framedraw.c:242 msgid "_Frame" msgstr "" @@ -6738,40 +6743,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "Cieľová _FPS (nemá vplyv na rozšírenie)" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "%s : veľkosť" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "Nová veľkosť (pixely)" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "_Šírka" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "_Výška" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "Generovať do _schránky" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "Generovať snímky do schránky" -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "Generovať do _nového klipu" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "Generovať snímky do nového klipu" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -6852,32 +6857,32 @@ " Nástroje|Preferences|Prehrávanie|Pokročilé rozšírenie prehrávania\n" "\n" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "" -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "_FPS" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "Fixný počet snímkov pre rozšírenie.\n" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "_Farebný priestor" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -6890,7 +6895,7 @@ "Zlyhalo otvorenie rozšírenia prehrávanie %s\n" "Chyba bola: %s\n" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -6905,7 +6910,7 @@ "chýbajú povinné funkcie.\n" "Nedá sa použiť.\n" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" @@ -6914,7 +6919,7 @@ "Nepodarilo sa inicializovať rozšírenie videa.\n" "Chyba bola: %s\n" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " @@ -6923,17 +6928,17 @@ "*** Použitím %s rozšírenia pre fs prehrávanie, súhlasíte s použitím palety " "typu %d ( %s ).***\n" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -6942,7 +6947,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -6951,7 +6956,7 @@ "or switch to another plugin using Tools|Preferences|Encoding\n" msgstr "" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, c-format msgid "" "\n" @@ -6959,12 +6964,12 @@ "No decoders found in %s !\n" msgstr "" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, fuzzy, c-format msgid " using %s" msgstr "Otváram %s" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -6977,7 +6982,7 @@ "Nepodarilo sa otvoriť rozšírenie dekodéra %s\n" "Chyba bola %s\n" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -6992,25 +6997,25 @@ "chýbajú povinné funkcie.\n" "Nedá sa použiť.\n" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "/neznámy" -#: src/plugins.c:2556 +#: src/plugins.c:2550 #, fuzzy msgid "Decoder Plugins" msgstr "Dekódovanie" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "Zlyhalo spustenie %s, nie je možné zmenit veľkosť prechodu.\n" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "%s pokročilé nastavenia" @@ -7223,20 +7228,20 @@ msgid "Move _Down" msgstr "Posunúť _dolu" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 #, fuzzy msgid "RFX Properties" msgstr "LiVES: - RFX Vlastnosti" -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "_Pomaly (nápověda GUI)" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "_Generátor dávkového režimu" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -7250,7 +7255,7 @@ "Prosím najskôr odstránte spúšťač.\n" "\n" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -7262,29 +7267,29 @@ "Niektoré spúšťače boli nastavené.\n" "Prosím skontrolujte kód spúšťača.\n" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 #, fuzzy msgid "New RFX Parameter" msgstr "LiVES: - Nový RFX Parameter" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 #, fuzzy msgid "Edit RFX Parameter" msgstr "LiVES: - Upraviť RFX Parameter" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "_Názov: " -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "Názov parametru musí byť v rozšírení jedinečný." -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "_Štítok " -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." @@ -7292,166 +7297,166 @@ "Štítok zobrazený parametrom. Podtrhnutie predstavuje mnemotechnický " "akcelerátor." -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "_Typ " -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "Typ prametra (vybrať zo zoznamu)." -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "Desatinné _miesta: " -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "_Predvolená hodnota: " -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "Predvolené: " -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "Tlačítko _Skupina: " -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "Nie-nulová hodnota môže byť použitá pre skupinu prepínačov." -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "_Minimálna hodnota: " -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "Ma_ximálna hodnota: " -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr " _Veľkosť kroku: " -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "O koľko je upravený parametr po stlačení otáčacích šípiek." -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 msgid "_Wrap value" msgstr "" -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "" -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "Nastaviť _hodnoty" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "Predvolená _Červená: " -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "Predvolená _Zelená:" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "Predvolená _Modrá: " -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "Nastaviť predvolené" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "Predvolená hodnota: " -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "Maximálna dĺžka (znakov): " -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 #, fuzzy msgid "New RFX Parameter Window Hint" msgstr "LiVES: - Nový RFX Parameter okna nápovedy" -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 #, fuzzy msgid "Edit RFX Parameter Window Hint" msgstr "LiVES: - Upraviť RFX Parameter okna nápovedy" -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "" -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "" -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "" -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "Rada: " -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "Súvisiace parametre (%d): " -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "Súvisiace parametre (4): " -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "Súvisiace parametre (2): " -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 #, fuzzy msgid "New RFX Trigger" msgstr "LiVES: - Nový RFX spúšťač" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 #, fuzzy msgid "Edit RFX Trigger" msgstr "LiVES: - Upraviť RFX spúšťač" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "Kedy: " -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 #, fuzzy msgid "Pre Loop Code" msgstr "LiVES: - Pred sľučkový kód" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 #, fuzzy msgid "Loop Code" msgstr "_Kód sľučky..." -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 #, fuzzy msgid "Post Loop Code" msgstr "LiVES: - Po sľučkový kód" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, fuzzy, c-format msgid "Default text (max length %d)" msgstr "LiVES: - Predvolený text (max dĺžka %d)" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 #, fuzzy msgid "Enter values, one per line" msgstr "LiVES: - Vložte hodnoty, jedna na riadok" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" @@ -7461,7 +7466,7 @@ "\n" "Názov nesmie byť prázdny.\n" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" @@ -7471,7 +7476,7 @@ "\n" "Názov nesmie obsahovať medzery.\n" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" @@ -7481,7 +7486,7 @@ "\n" "Menu textu nesmie byť prázdne.\n" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" @@ -7491,7 +7496,7 @@ "\n" "Popis akcie nesmie byť prázdny.\n" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" @@ -7501,7 +7506,7 @@ "\n" "Autor nesmie byť prázdny.\n" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -7513,7 +7518,7 @@ "Rozšírenie s týmto názvom už existuje.\n" "Názov musí byť jedinečný.\n" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" @@ -7523,7 +7528,7 @@ "\n" "Kód sľučky by nemal byt prázdny.\n" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" @@ -7533,7 +7538,7 @@ "\n" "Spúšťací kód pre pomôcku by nemal byť prázdny.\n" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" @@ -7543,7 +7548,7 @@ "\n" "Parameter názvu nesmie byť prázdny.\n" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -7557,41 +7562,41 @@ "jedinečný.\n" "\n" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "Zápis skriptu súboru %s..." -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "Žiadna <define> sekcia nebola nájdená v skripte.\n" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "Chybná verzia skriptu.\n" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "Žiadna <name> sekcia nebola nájdená v skripte.\n" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "Žiadna <version> sekcia nebola nájdená v skripte.\n" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "Žiadna <author> sekcia nebola nájdená v skripte.\n" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "Žiadna <description> sekcia nebola nájdená v skripte.\n" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "Zlý popis.(%s)\n" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -7606,27 +7611,27 @@ "Nájdený v skripte.\n" "\n" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "Prerobenie všetkých RFX skriptov...vstavané..." -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "Prerobenie skriptov" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "vlastný..." -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "test..." -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "prerobenie vstupov dynamického menu..." -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -7639,7 +7644,7 @@ "LiVES nemôže nájsť program %s.\n" "Prosím skontrolujte cestu k programu a či je spustiteľný.\n" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -7654,12 +7659,12 @@ "%s ?\n" "\n" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "Odstránenie rfx skriptu %s..." -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -7674,7 +7679,7 @@ "%s\n" "Kód chyby bol %d\n" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -7689,12 +7694,12 @@ "už existuje.\n" "Prosím, najskôr ho vymažte, alebo premenujtee testovací skript.\n" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "Podpora rfx test rozšírenia %s do vlastného..." -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -7705,22 +7710,22 @@ "Return code was %d (%s)\n" msgstr "" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 #, fuzzy msgid "Export Script" msgstr "Exportujem projekt" -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "Kopírovanie %s do %s..." -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 #, fuzzy msgid "Import Script" msgstr "Importujem projekt" -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -7735,46 +7740,46 @@ "už existuje.\n" "Prosím, najskôr ho vymažte, alebo premenujte importovaný skript.\n" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 #, fuzzy msgid "Copy RFX Script" msgstr "LiVES: - Kopírovať RFX skript" -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "" -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr " Skript: " -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 #, fuzzy msgid "Rename Test RFX Script" msgstr "Premeno_vať test RFT skriptu..." -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "Zo skriptu: " -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 #, fuzzy msgid "RFX Script Name" msgstr "LiVES: - Názov RFX skriptu" -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "Názov skriptu: " -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "Nový názov: " -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "Nový názov skriptu: " -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -7786,12 +7791,12 @@ "Testovací skript s týmto názvom už existuje.\n" "Názov skriptu musí byť jedinečný.\n" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "Premenovanie RFX testovacieho skriptu %s na %s..." -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -7808,28 +7813,28 @@ "%s\n" "Návratový kód je %d\n" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "_Použiť Real Time efekty do výberu" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 #, fuzzy msgid "Applying Current Real Time Effects to" msgstr "_Použiť Real Time efekty do výberu" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "Spúšťam vykresľovanie efektu %s..." -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "" "Pozri: VJ - zobraziť VJ klávesy. Nastaviť real time efekty a potom ich " "použiť." -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -7841,7 +7846,7 @@ "Video rozšírenia sú aktivované iba v\n" "režim celej obrazovky, mód (fs) oddeleného okna\n" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -7849,7 +7854,7 @@ "(Free space = UNKNOWN)" msgstr "" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -7858,14 +7863,14 @@ "(Free space = %s)" msgstr "" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" "It should be in a partition with plenty of free disk space.\n" msgstr "" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7876,7 +7881,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7886,7 +7891,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1193 +#: src/preferences.c:1163 #, fuzzy msgid "" "You have chosen to change the working directory.\n" @@ -7905,7 +7910,7 @@ "\n" "Stlačením 'Zrušit' obnovíte predvolená nastavenie dočasného adresára." -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, fuzzy, c-format msgid "" "\n" @@ -7917,7 +7922,7 @@ "Nedá sa prepnúť prehrávač zvuku na jack - najprv musíte nainštalovať jack.\n" "Pozri http://jackaudio.org\n" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" @@ -7925,7 +7930,7 @@ "\n" "Prepnutie prehrávača zvuku vyžaduje reštart (jackd nesnie byť spustený)\n" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, fuzzy, c-format msgid "" "\n" @@ -7938,387 +7943,387 @@ "najskôr musíte nainštalovať pulse audio.\n" "Pozrite http://www.pulseaudio.org\n" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "PCM (vysoká kvalita; veľké súbory)" -#: src/preferences.c:2468 +#: src/preferences.c:2418 #, fuzzy msgid "Preferences" msgstr "_Predvoľby..." -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "Otvoriť výber súboru maximalizovaný" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "Ukáž posledné súbory v ponuke Súbor" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "Zastaviť šetrič obrazovky pri prehrávaní " -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "Otvoriť hlavné okno maximalizované" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "Zobraziť panel s nástrojmi ak je pozadie čisté" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "Umožniť prepínanie klipov kolieskom myši" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "Zmenšenie náhľadov, aby sa vošli do rozhrania" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "Mód pri spustení:" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "Editor _klipov" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "_Viacstopý mód" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "Podpora Multi-head" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr " sledovať počet rozhraní pre LiVES" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr " sledovať počet pre prehrávanie" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." msgstr "" -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "Vynútiť jeden monitor" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "Grafické" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "Pri spustení viacstopého módu:" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "_Vyzvi ma k nastaveniu šírky, výšky, fps a zvuku" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "_Vždy použiť nasledujúce hodnoty:" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "Použi rovnaké _hodnoty pre vykresľovanie nového klipu" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr " _Vrátiť veľkosť vyrovnávacej pamäte (MB) " -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "_Ukončiť viacstopý mód po vykreslení" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "Automatické zálohovanie rozložení" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "_Každý" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "sekundy" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "Po kažej _zmene" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "_Nikdy" -#: src/preferences.c:2872 +#: src/preferences.c:2757 #, fuzzy msgid "Maximum number of visible tracks" msgstr "Maximálny počet zobrazených stôp" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "Viacstopé/Vykresliť" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "Použite okamžité otvorenie pokiaľ je to možné" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "" "Povoliť okamžité otvorenie niektorých typov súborov použitím rozšírení " "dekodéru" -#: src/preferences.c:2925 +#: src/preferences.c:2804 msgid "Video open command (fallback)" msgstr "" -#: src/preferences.c:2935 +#: src/preferences.c:2811 msgid "Fallback image format" msgstr "" -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "_jpeg" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "_png" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "" "(Skontrolujte Pomocníka/Riešenie problémov pre zistenie, ktoré formáty " "obrázkov sú podporované)" -#: src/preferences.c:2964 +#: src/preferences.c:2832 msgid "Open/render compression" msgstr "" -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr " % ( nižšie = pomalšie, väčšie súbory; pre jpeg, vysoká kvalita )" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "Povoliť automatické deinterlacing pokiaľ je to možné" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "" -#: src/preferences.c:2995 +#: src/preferences.c:2856 #, fuzzy msgid "Automatic trimming / padding of audio when possible" msgstr "Povoliť automatické deinterlacing pokiaľ je to možné" -#: src/preferences.c:2997 +#: src/preferences.c:2858 msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "Pri otvorení viac súborov, spájať obrazy do jedného klipu" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "Dekódovanie" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "VIDEO" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "Nízka - môže zvýšiť výkon na pomalších strojoch" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "Normálne - doporučené pre väčšinu používateľov" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "Vysoká - môže zlepšiť kvalitu na veľmi rýchlych strojoch" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "Kvalita _náhľadu" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "Úroveň náhľadu pre prehrávanie videa - po zmene veľkosti" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "_Zobraziť FPS štatistiku" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "_Rozšírenie" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "ZVUK" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "_Prehrávač" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "Príkaz na _prehranie zvuku" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "- vnútorné -" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "Zvuk kopíruje video _tempo/adresa" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "Zvuk nasleduje prepínanie _klipov" -#: src/preferences.c:3269 +#: src/preferences.c:3110 msgid "Source:" msgstr "" -#: src/preferences.c:3273 +#: src/preferences.c:3114 msgid "_Internal" msgstr "" -#: src/preferences.c:3278 +#: src/preferences.c:3119 msgid "_External (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "Prehrať" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" msgstr "" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr " Čo sa nahráva keď je stlačené 'r' " -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "Zmena _snímku" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "F_PS zmeny" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "_Real time efekty" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "_Klip Prepínače" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "Nahrávanie" -#: src/preferences.c:3454 +#: src/preferences.c:3273 #, fuzzy msgid "You can also change these values when encoding a clip" msgstr "Môžete kliknutím na náhľad zmeniť tieto hodnoty" -#: src/preferences.c:3466 +#: src/preferences.c:3285 msgid "Encoder" msgstr "" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "Výstupný formát" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "Zvukový kodek" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "Kódovanie" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "Použite _antialiasing pri zmene veľkosti" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." @@ -8326,96 +8331,96 @@ "Počet \"virtuálnych\" kláves realtime efektov. Je možné ich ovládať v okne " "realtime efektov, alebo cez sieť (OSC)." -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr " Načítanie adresára video (predvolené) " -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr " Adresár pre ukladanie videa (predvolene) " -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr " Načítanie adresára zvuku (predvolené) " -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr " Adresár s obrázkami (predvolene) " -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr " Záloha/obnovenie adresára (predvolene) " -#: src/preferences.c:3649 +#: src/preferences.c:3461 #, fuzzy msgid " Working directory (do not remove) " msgstr " Dočasný adresár (neodstraňovať) " -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "Predvolený adresár pre spustenie video klipov z" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "Predvolený adresár pre uloženie kódovaných klipov do" -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "Predvolený adresár pre nahrávanie a ukladanie zvuku" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "Predvolený adresár pre uloženie snímkov do" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "Predvolený adresár pre zálohovanie/obnovu jednotlivých klipov" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "LiVES pracovný adresár." -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "Adresáre" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "" -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr "" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "" -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" @@ -8423,87 +8428,87 @@ "Upozorniť pri Vložení / Zlúčiť ak tempo snímkov v schránke nesúhlasí s " "tempom výberu" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "Upozorniť pri otvorení ak _veľkosť súboru presiahne " -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr " MB" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "Zobraziť varovanie pred uložením zo_stavy" -#: src/preferences.c:3872 +#: src/preferences.c:3659 msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " "when LiVES is started." msgstr "" -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "Zobraziť varovanie ak nebol nájdený efekt vykresľovania pri spustení." -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "" "Zobraziť varovanie ak nebolo nájdené rozšírenie kódovania pri spustení." -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "Zobraziť varovanie ak bol vložený už existujúci názov zostavy." -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "" "Ak je zostava nahraná, zobraziť varovanie ak chýbajú klipy v _rozložení" -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "Upozorniť ak klip použitý v rozložení má byť ukončený." -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "Upozorniť ak snímky použité v rozložení majú byť odstránené." -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "Upozorniť ak snímky použité v rozložení majú byť presunuté." -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "Upozorniť ak snímky použité v rozložení majú byť zmenené." -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "Upozorniť ak zvuk použitý v rozložení má byť odstránený." -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "Upozorniť, ak použitý zvuk v rozložení má byť posunutý." -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "Upozorniť, ak použitý zvuk v rozložení má byť zmenený." -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "" -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "" "Upozorniť pri opustení viacstopového módu, ak rozloženie nie je uložené." -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "" "Zobraziť varovanie ak v multitracku nie sú zvukové stopy a rozloženie zo " "zvukom je nahrané." -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." @@ -8511,231 +8516,231 @@ "Zobraziť varovanie ak v multitracku nie sú zvukové stopy a vašim prehrávačom " "zvuku nie je \"jack\" alebo \"pulse audio\"." -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "Zobraziť info správu po importovaní z firewire jednotky." -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "Zobraziť upozornenie pred otvorením yuv4mpeg streamu (pokročilé)." -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "" "Zobraziť upozornenie ak nie je dostatok miesta pre zálohovanie multitracku." -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "" -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "" -#: src/preferences.c:4113 +#: src/preferences.c:3865 #, fuzzy msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "Zobraziť upozornenie pred otvorením yuv4mpeg streamu (pokročilé)." -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "Varovania" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "Midi synchronizácia (vyžaduje súbory midistart a midistop)" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "Pri vkladaní/zlučovaní snímkov: " -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "_Zrýchliť/Spomaliť vkladanie" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "_Prevzorkovanie vkladania" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "CD jednotka " -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "LiVES nemôže spustiť zvukovú stopu z tohto CD" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "Predvolené FPS " -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "Použiť snímkov za sekundu, ak nie je uvedené inak" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "Rôzne" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "Nová téma: " -#: src/preferences.c:4242 +#: src/preferences.c:3977 msgid "Main Theme Details" msgstr "" -#: src/preferences.c:4254 +#: src/preferences.c:3988 #, fuzzy msgid " _Foreground Color" msgstr "Farba _Pozadia" -#: src/preferences.c:4273 +#: src/preferences.c:4007 #, fuzzy msgid " _Background Color" msgstr "Farba _Pozadia" -#: src/preferences.c:4291 +#: src/preferences.c:4026 #, fuzzy msgid "_Alt Foreground Color" msgstr "Farba _Pozadia" -#: src/preferences.c:4309 +#: src/preferences.c:4044 #, fuzzy msgid "_Alt Background Color" msgstr "Farba _Pozadia" -#: src/preferences.c:4327 +#: src/preferences.c:4062 #, fuzzy msgid " Info _Text Color" msgstr " _Výška " -#: src/preferences.c:4346 +#: src/preferences.c:4081 #, fuzzy msgid " Info _Base Color" msgstr " _Výška " -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "" -#: src/preferences.c:4365 +#: src/preferences.c:4100 #, fuzzy msgid "Affects some contrast details of the timeline" msgstr "Ukotviť bod konca na časovej osi" -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "" -#: src/preferences.c:4398 +#: src/preferences.c:4132 #, fuzzy msgid "Frame blank image" msgstr "Zmena _snímku" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "" -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4474 +#: src/preferences.c:4203 #, fuzzy msgid "Track background (multitrack)" msgstr "Vyplnené pozadie (b)" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "" -#: src/preferences.c:4529 +#: src/preferences.c:4258 #, fuzzy msgid "Timeline selection (multitrack)" msgstr "Časová os (sekundy)" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "" -#: src/preferences.c:4553 +#: src/preferences.c:4282 #, fuzzy msgid "Timecode foreground (multitrack)" msgstr "_Časový kód pre začiatok oblasti" -#: src/preferences.c:4565 +#: src/preferences.c:4293 #, fuzzy msgid "Frame surround" msgstr "_Snímkov za sekundu" -#: src/preferences.c:4582 +#: src/preferences.c:4306 #, fuzzy msgid "Themes/Colors" msgstr "Témy vzhľadu" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "Rýchlosť sťahovania (Kb/s) " -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "" "LiVES musí byť skompilovaný bez \"configure --disable-OCS\" pre použitie OMC" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "OMC diaľkové ovládanie povolené" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "UDP port " -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "Spustiť OMC pri štarte" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "Streaming/Siete" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "Prenos jack" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" @@ -8743,43 +8748,43 @@ "LiVES musí byť skompilovaný s jack/transport.h a jack/jack.h pre použitie " "prenosu cez jack" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "Jack _transport konfiguračný súbor" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "Spustiť LiVES _server pri spustení" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "Jack zvuk" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "LiVES musí byť skompilovaný s jack/jack.h pre použitie zvuku jack" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" @@ -8787,103 +8792,103 @@ "MUSÍTE nastaviť prehrávač zvuku na \"jack\" v záložke Prehrávanie k použitiu " "zvuku jack" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "Jack _audio server konfiguračný súbor" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "Prehrávať zvuk aj keď je transport _pozastavený" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "Integrácia jack" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "Udalosti v reakcii na:" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "_Joystick jednotka" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "Joystick jednotka, napr. /dev/input/js0" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "_MIDI udalosti" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "Použiť _ALSA MIDI (doporučené)" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "Čítať priamo z MIDI jednotky" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "_MIDI jednotka" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "MIDI jednotka, napr. /dev/input/midi0" -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "Pokročilé" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." msgstr "" -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "MIDI opakovať" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "" -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "" "(Upozornenie: nastavenie tejto hodnoty je príliš vysoké, môže spomaliť " "prehrávanie.)" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -8894,42 +8899,42 @@ "LiVES bude ukončený. Je potrebné reštartovať, aby bola uplatnená zmena " "adresára.\n" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." msgstr "" -#: src/preferences.c:5525 +#: src/preferences.c:5205 #, fuzzy msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "Zmena témy nebude mať vplyv až do ďalšieho spustenia LiVES." -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "Zmeny nastavenia jack se prejavia po reštarte LiVES." -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "Synchronizácia s externou frekvenciou %.8f snímkov za sekundu.\n" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "Nemožno inicializovať OSC prijímač\n" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "UPOZORNENIE: Nedá sa spustiť OSC server na UDP porte %d\n" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "Spustený OSC server na UDP porte %d\n" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "Nedá sa spustiť OSC/UDP server na porte %d \n" @@ -8952,12 +8957,12 @@ msgid "Resample/Resize" msgstr "Prevzorkovanie/Zmena veľkosti" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "Dĺžka videa je teraz %d obrázkov.\n" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" @@ -8967,147 +8972,147 @@ "\n" "Nový pomer musí byť väčší ako 0\n" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "Prevzorkovanie zvuku" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "LiVES nebol schopný prevzorkovať zvuk tak, ako bolo požadované.\n" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "Prevzorkovať zvuk" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "Zvuk bol prevzorkovaný do %d Hz, %d chanels, %d bit" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "Prevzorkovať video na %.8f snímkov za sekundu..." -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "Prevzorkovať video na %.3f snímkov za sekundu..." -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "Chyba preradenia !\n" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "Prevzorkovať" -#: src/resample.c:1208 +#: src/resample.c:1209 #, fuzzy msgid "New Clip Audio" msgstr "Nový zvuk" -#: src/resample.c:1210 +#: src/resample.c:1211 #, fuzzy msgid "External Clip Settings" msgstr "LiVES: - Nastavenia externého klipu" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "Aktuálne" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "Frekvencia (Hz) " -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 msgid "Channels" msgstr "" -#: src/resample.c:1256 +#: src/resample.c:1257 msgid "Sample Size " msgstr "" -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "Podpísané" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "Nepodpísané" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "Malý endian" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "Veľký endian" -#: src/resample.c:1322 +#: src/resample.c:1323 #, fuzzy msgid "New Audio Details" msgstr "Nový zvuk" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "Nový" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "_Povovliť zvuk" -#: src/resample.c:1369 +#: src/resample.c:1370 msgid "_Channels" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "_Sample Size" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "Sample Size" msgstr "" -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "_Snímok za sekundu " -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "Nahrať maximálne: " -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr " hodiny " -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr " minúty " -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr " sekundy " -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "Bez obmedzenia" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "Kliknite na OK pre začatie nahrávania, alebo Zrušiť pre ukončenie." -#: src/resample.c:1635 +#: src/resample.c:1636 #, fuzzy msgid "Change Playback Speed" msgstr "_Zmeniť prehrávanie/Uložiť rýchlosť" -#: src/resample.c:1637 +#: src/resample.c:1638 #, fuzzy msgid "Resample Video" msgstr "Prevzorkovanie videa" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -9124,7 +9129,7 @@ "Prosím, zadajte požadovanú rýchlosť prehrávania\n" "v _snímkoch za sekundu" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -9141,15 +9146,15 @@ "Prosím vložte _prevzorkovanú hodnotu\n" "v snímkoch za sekundu" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "ALEBO zadajte požadovanú dĺžku klipu v _sekundách" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "Zmeniť rovnako rýchlosť _zvuku" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" @@ -9160,7 +9165,7 @@ "rozloženiach.\n" "Skutočne chcete zmeniť rýchlosť ?\n" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" @@ -9171,48 +9176,48 @@ "rozloženiach.\n" "Skutočne chcete zmeniť rýchlosť ?\n" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "Zmena rýchlosti" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "" "Zmeniť rýchlosť prehrávania na %.3f snḿkov za sekundu a zvuku na %d Hz.\n" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "Zmena rýchlosti prehrávania na %.3f snímky za sekundu.\n" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "Prevzorkovanie videa" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "Prevzorkovanie videa zo schránky" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "Preradenie snímkov" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" @@ -9222,11 +9227,11 @@ "\n" "LiVES nemôže preradiť snímky." -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "chyba prevzorkovania..." @@ -9490,7 +9495,7 @@ msgid "Mode active" msgstr "Aktívny mód" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "Informácia" @@ -9617,48 +9622,48 @@ msgid "Opened firewire card %d" msgstr "" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "Automatické zálohovanie" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "Podpora zvuku" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, fuzzy, c-format msgid "%s : parameters for %s" msgstr "Žiadne parametre" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "Aktuálna stopa: %s (vrstva %d)\n" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "Aktuálna stopa: Podpora zvuku\n" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "Aktuálna stopa: Vrstva %d zvuku\n" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "%.2f sek.\n" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "Zdroj: %s" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "Kliknite pravým tlačidlom na kontextové menu.\n" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." @@ -9666,7 +9671,7 @@ "dvojitým kliknutím na blok\n" "ho vyberiete." -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -9675,7 +9680,7 @@ "right or double clicking on it.\n" msgstr "" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -9683,7 +9688,7 @@ "Select an effect in FX stack first to view its parameters.\n" msgstr "" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" @@ -9693,7 +9698,7 @@ "\n" "Nie je načítaný žiaden klip.\n" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -9703,7 +9708,7 @@ "before inserting clips into the timeline." msgstr "" -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -9717,12 +9722,12 @@ "a časovú zónu\n" "pre uplatnenie kompozítorov.\n" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "%.2f sek.do %.2f sek.\n" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" @@ -9730,165 +9735,165 @@ "Jedným kliknutím na časovú stopu\n" "vyberte snímok.\n" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" msgstr "" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr "vybrať časové pásmo.\n" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 #, fuzzy msgid "Selected Clip" msgstr "LiVES: Vybraný klip" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 #, fuzzy msgid "_Adjust Start and End Points" msgstr "_Nastavenie počiatočných a koncových bodov" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 msgid "_Edit/Encode in Clip Editor" msgstr "" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 #, fuzzy msgid "_Show Clip Information" msgstr "_Zobraziť informácie o klipe" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 #, fuzzy msgid "_Close this Clip" msgstr "_Zavrieť tento klip" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 #, fuzzy msgid "Audio Mixer (ctrl-m)" msgstr "Zvukový mixér (ctrl-m)" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "Jednoduché kliknutie na časovej ose" -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "pre vybranie snímku." -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "" -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "pre vybranie bloku." -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "Klipy možno preťahovať" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "na časovej osi." -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "Mód myši je: Pohyb" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "s klipmi môžete pohybovať." -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "Mód myši je: Vybrať." -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "Ťahaním myšou na časovej osi" -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "vybrať skladby a čas." -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "Zatvoriť _prvú medzeru(y) v aktuálnej skladbe/čase" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "Zatvoriť medzery" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "Posunúť blok" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "Posunúť zvukový blok" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "Odstrániť blok" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "Odstrániť zvukový blok" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "Rozdeliť stopy" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "Rozdeliť bloky" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "Použiť %s" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "Odstrániť %s" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "Vložiť blok" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "Vložiť medzeru" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "Vložiť blok zvuku" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "Zmeniť poradie efektov" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "neoznačený " -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "označený " -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " @@ -9897,15 +9902,15 @@ "Multitrack hodnoty nastavené na %.3f fps, veľkosť snímku %d x %d, zvukové " "kanály %d, pomer zvuku %d, veľkosť vzorky zvuku %d, %s.\n" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "Neplatný zoznam udalostí. Zlyhanie.\n" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "zoznam udalostí má neplatné fps. Zlyhanie.\n" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -9920,7 +9925,7 @@ "zatvorte aktuálnu zostavu,\n" "potom spustite novú zostavu z menu súbora.\n" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -9931,488 +9936,488 @@ "LiVES našiel neplatný počet zvukových kanálov (%d).\n" "Nemohlo byť spustené.\n" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "FX zásobník" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "" -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "_Otvoriť..." -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "O_tvoriť súbor výberu..." -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "Importovať výber z _dvd/vcd..." -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "Importovať výber z _dvd" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "Importovať výber z _vcd" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "_Importovať výber z jednotky" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 #, fuzzy msgid "_Close the Selected Clip" msgstr "_Vložiť vybraný klip" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 #, fuzzy msgid "_Save Layout as..." msgstr "_Uložiť rozloženie ako..." -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 #, fuzzy msgid "_Load Layout..." msgstr "_Nahrať rozloženie..." -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 #, fuzzy msgid "_Wipe/Delete Layout..." msgstr "_Vyčistiť/Zmazať rozloženie..." -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 #, fuzzy msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "_Ignorovať šírku, výšku a hodnoty zvuku z nahraného rozloženia" -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 msgid "Auto Load _Subtitles with Clips" msgstr "" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "_KLIP EDITOR" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 #, fuzzy msgid "_Adjust Selected Clip Start/End Points" msgstr "_Nastavenie počiatočných a koncových bodov" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "_Vložiť vybraný klip" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 #, fuzzy msgid "_Insert Selected Clip Audio" msgstr "_Vložiť vybraný zvuk klipu" -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 #, fuzzy msgid "_Delete Selected Block" msgstr "_Odstrániť vybraný blok" -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 #, fuzzy msgid "_Jump to Previous Block Boundary" msgstr "_Skočiť na predchádzajúcu hranicu bloku" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 #, fuzzy msgid "_Jump to Next Block Boundary" msgstr "_Skočiť na hranicu ďaľšieho bloku" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 #, fuzzy msgid "Clear _Marks from Timeline" msgstr "Vymazať _značky z časovej osi" -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 #, fuzzy msgid "Ignore Selection Limits when Inserting" msgstr "Ignorovať obmedzenia výberu pri vkladaní" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "_Prehrať z určitého miesta na časovej osi" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 #, fuzzy msgid "Pla_y Selected Time Only" msgstr "Pre_hrať výber" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 #, fuzzy msgid "_Move Effects with Blocks" msgstr "_Presunúť efekty s blokmi" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 #, fuzzy msgid "Select _Autotransition Effect..." msgstr "Vybrať posledný efekt" -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 msgid "Crossfade Audio with Autotransition" msgstr "" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 #, fuzzy msgid "View/_Edit Selected Effect" msgstr "Zobraziť/_Upraviť vybraný efekt" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 #, fuzzy msgid "_Delete Selected Effect" msgstr "_Odstrániť vybraný efekt" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 #, fuzzy msgid "Apply Effect to _Block..." msgstr "Použiť efekt na _blok..." -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 #, fuzzy msgid "Apply Effect to _Region..." msgstr "Použiť efekt na _región..." -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "_Stopy" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 #, fuzzy msgid "Make _Backing Audio Current Track" msgstr "Presun aktuálnej zvukovej stopy na _pozadie" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "Pridať video stopu na _koniec" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "Pridať video stopu na _začiatok" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 #, fuzzy msgid "_Split Current Track at Cursor" msgstr "_Rozdeliť súčasnú stopu na kurzor" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 #, fuzzy msgid "_Split Selected Video Tracks" msgstr "_Rozdeliť vybrané video stopy" -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 #, fuzzy msgid "Insert Gap in Selected Tracks/Time" msgstr "Vložiť medzeru vo zvolenej skladbe/čase" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 #, fuzzy msgid "Insert Gap in Current Track/Selected Time" msgstr "Vložiť medzeru v aktuálnej skladbe/vybranom čase" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 #, fuzzy msgid "Close All _Gaps in Selected Tracks/Time" msgstr "Zatvoriť všetky _medzery v aktuálnej skladbe/čase" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "Vý_ber" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "_Vybrať aktuálnu stopu" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 #, fuzzy msgid "Select _All Video Tracks" msgstr "Vybrať _všetky video stopy" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 #, fuzzy msgid "Select _No Video Tracks" msgstr "Nevybrať _žiadne video stopy" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 #, fuzzy msgid "Select All _Time" msgstr "Vybrať všetko" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 #, fuzzy msgid "Select from _Zero Time" msgstr "Vybrať od začiatku" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 #, fuzzy msgid "Select to _End Time" msgstr "Vybrať do konca" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "_Kopírovať..." -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 #, fuzzy msgid "_Timecode to Region Start" msgstr "_Časový kód pre začiatok oblasti" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 #, fuzzy msgid "_Timecode to Region End" msgstr "_Časový kód pre koniec oblasti" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 #, fuzzy msgid "_Region Start to Timecode" msgstr "_Spustiť v čase" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 #, fuzzy msgid "_Region End to Timecode" msgstr "_Ukončiť v čase" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 #, fuzzy msgid "Select/Deselect Block at Current Track/Time" msgstr "_Vybrať aktuálnu stopu" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 #, fuzzy msgid "_Change Width, Height and Audio Values..." msgstr "_Zmeniť šírku, výšku a hodnoty zvuku..." -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "_Vykresliť" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 #, fuzzy msgid "_Render All to New Clip" msgstr "_Vykresliť všetko do nového klipu" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 #, fuzzy msgid "Render _Video" msgstr "Vykresliť _video" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 #, fuzzy msgid "Render _Audio" msgstr "Vykresliť _zvuk" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 msgid "_Normalise Rendered Audio" msgstr "" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 #, fuzzy msgid "_Pre-render Audio" msgstr "Vykresliť _zvuk" -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "_Zobrazenie" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 #, fuzzy msgid "Block _In/Out Points" msgstr "Blokovať body _vstupu/výstupu" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 #, fuzzy msgid "_Effects at Current" msgstr "Aktuálne _efekty" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 #, fuzzy msgid "Audio Parameters" msgstr "Parametre zvuku" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 #, fuzzy msgid "Show Backing _Audio Track" msgstr "Zobraziť _zvukovú stopu na pozadí" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 #, fuzzy msgid "Compact View" msgstr "Kompaktný pohľad" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 #, fuzzy msgid "Maximum Tracks to Display..." msgstr "Maximum stôp k zobrazeniu..." -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 #, fuzzy msgid "Scroll to Follow Playback" msgstr "Prejdite na nasledujúce prehrávanie" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 #, fuzzy msgid "_Center on Cursor" msgstr "_Vystrediť na kurzor" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 #, fuzzy msgid "_Zoom In" msgstr "_Priblížiť" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 #, fuzzy msgid "_Zoom Out" msgstr "_Oddialiť" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 #, fuzzy msgid "Multitrack _Details" msgstr "_Detaily o multitracku" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "_Okno udalosti" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "_Okno udalosti (iba vybraný čas)" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 #, fuzzy msgid "_Show FRAME Events" msgstr "_Zobraziť udalosti SNÍMKY" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 #, fuzzy msgid "_Show Multitrack Keys" msgstr "_Zobraziť multitrack klávesy" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "Nahlásiť _chybu" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 #, fuzzy msgid "Insert With _Audio" msgstr "Vložiť so _zvukom" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 #, fuzzy msgid "Select _Overlap" msgstr "Vybrať _prekrytie" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" msgstr "" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "Rozšírený pohľad (d)" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "Kompaktný pohľad (d)" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 #, fuzzy msgid "Mouse Mode: _Move" msgstr "Mód myši: _Pohyb" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 #, fuzzy msgid "Mouse Mode: _Select" msgstr "Mód myši: _Výber" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 msgid "Insert Mode: _Normal" msgstr "" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "_Použiť" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "Čas" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "_Odstrániť uzol" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "_Ďaľší uzol" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "_Predchádzajúci uzol" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "_Opačné prehrávanie " -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "_Rýchlosť " -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "Ukotviť _štart" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "Ukotviť bod štartu na časovej osi" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "Ukotviť _koniec" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "Ukotviť bod konca na časovej osi" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "Prejdite" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" @@ -10422,95 +10427,95 @@ "==============================\n" "Prepnuté do režimu úpravy klipu\n" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "Časová os (sekundy)" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr " Zvuk v pozadí" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr " Vrstva %d zvuku" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "Zobraziť/skryť detaily zvuku" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "Vrstva %d zvuku" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "%s (vrstva %d)" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "Vybrať stopu" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "Zobraziť/skryť zvuk" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "Video %d" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr " %s" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 #, fuzzy msgid "Selected Effect" msgstr "Vybrať posledný efekt" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 #, fuzzy msgid "_View/Edit this Effect" msgstr "_Zobraziť/upraviť tento efekt" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 #, fuzzy msgid "_View this Effect" msgstr "_Zobraziť tento efekt" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 #, fuzzy msgid "_Delete this Effect" msgstr "_Odstrániť tento efekt" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "Nedá sa vložiť po tomto efekte" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "Tento efekt nemôže byť premiestnený" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr " %d do %d vybraného " -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "%.2f sek." -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "%d snímkov" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" @@ -10520,19 +10525,19 @@ "==============================\n" "Prepnúť do Multitrack módu\n" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "chcete nastaviť parametre efektu" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "Nastavte parametre a potom kliknite na tlačidlo \"Použiť\"\n" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" @@ -10542,51 +10547,51 @@ "boli nastavené.\n" "Nodes môžu byť odstránené." -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "Efekt nemá žiadne parametre.\n" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "%s výstup" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "vrstva %d" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "zvuková stopa" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "%s na %s" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "Mapa _predchádzajúceho filtra" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "Vložiť _pred" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "Vložiť _po" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "Mapa _nasledujúceho filtra" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -10598,87 +10603,87 @@ "Žiaden efekt na aktuálnej stope,\n" "aktuálny čas.\n" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." msgstr "" -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 #, fuzzy msgid "Selected Block/Frame" msgstr "LiVES: Vybraný blok/snímok" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 #, fuzzy msgid "_Select this Block" msgstr "_Vybrať tento blok" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 #, fuzzy msgid "_Split Block Here" msgstr "Tu _rozdeliť bloky" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 #, fuzzy msgid "List _Effects Here" msgstr "Zoznam _efektov" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "_Nastaviť %s" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 #, fuzzy msgid "_Delete this Block" msgstr "_Odstrániť tento blok" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 #, fuzzy msgid "_Insert Here" msgstr "_Vložiť sem" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 #, fuzzy msgid "_Insert Audio Here" msgstr "_Vložiť zvuk sem" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "Vložená medzera vo vybranej stope od %.4f do %.4f\n" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "Vložená medzera v stope %s od %.4f do %.4f\n" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "Zrušený %s\n" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "Prerobiť %s\n" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" @@ -10686,72 +10691,72 @@ "\n" " (variabilný)" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "stopa %s" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "stopy %s a %s" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "vybrané stopy" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "Pridané %s %s do %s z %.4f do %.4f\n" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "Pridaný efekt %s do stopy %s z %.4f do %.4f\n" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "vykreslené %d snímky do nového klipu.\n" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "Prebieha čistenie..." -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, fuzzy, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "Vložená medzera v stope %s od %.4f do %.4f\n" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, fuzzy, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "Odstránenie zvuku od %.2f do %.2f sekundy..." -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "_Pozastaviť" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "Pozastavené (p)" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "Stlač 'm' počas prehrávania" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "urobiť značku na časovej osi" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " @@ -10759,13 +10764,13 @@ msgstr "" "Vložený zvuk %.4f do %.4f z klipu %s do zvuku v pozadí od %.4f do %.4f\n" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" msgstr "Vložené snímky %d do %d z klipu %s do do stopy %s od %.4f do %.4f\n" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" @@ -10774,7 +10779,7 @@ "Časová zóna%.3f do %.3f\n" "vybraná.\n" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" @@ -10782,12 +10787,12 @@ "vyberte jednu alebo viac stôp\n" "k vytvoreniu regionu.\n" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "%d video stopa vybraná.\n" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." @@ -10795,7 +10800,7 @@ "dvojité kliknutie na časovú zónu\n" "pre odznačenie časovej oblasti." -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." @@ -10803,7 +10808,7 @@ "Jednoduché kliknutie na efekt\n" "pre jeho vybratie." -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." @@ -10811,7 +10816,7 @@ "Dvojité kliknutie na efekt\n" "pre jeho úpravu" -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" @@ -10819,27 +10824,27 @@ "Kliknite pravým tlačidlom myši na efekt\n" "pre kontextové menu.\n" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" msgstr "" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" msgstr "" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "alebo VLOŽIŤ PO tlačítkom pre pohyb." -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "Kliknite na daľší efekt," -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" @@ -10847,51 +10852,51 @@ "a jeho vybraním\n" "bude vložený" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "po.\n" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "pred.\n" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "Odstránené hodnoty pre efekt %s v čase %.4f\n" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "Nastaviť hodnoty pre %s %s na %s v čase %.4f\n" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "_Automatické znovu načítanie" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 #, fuzzy msgid "Saving layout" msgstr "_Uložiť rozloženie" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "Rozloženie uložené do %s\n" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "klipy a snímky" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "klipy" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "snímky" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" @@ -10899,7 +10904,7 @@ "\n" "Automatické načítanie rozloženia.\n" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -10910,11 +10915,11 @@ "Niektoré %s sa nenachádzajú v rozložení%s\n" "Preto nemohli byť správne otvorené.\n" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "automatické zálohovanie" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" @@ -10923,31 +10928,31 @@ "\n" "Nedá sa načítať súbor s rozložením %s\n" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "Načítavam rozloženie z %s..." -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "%d udalostí...spracovávam..." -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "Kontrolujem a opäť vytváram zoznam udalostí" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "%d nájdených chýb.\n" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "Multitrack fps nastavené na %.3f\n" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 #, fuzzy msgid "" "The current layout has changes which have not been saved.\n" @@ -10956,34 +10961,34 @@ "Súčasné rozloženie nebolo uložené.\n" "Čo chcete urobiť ?\n" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 #, fuzzy msgid "Multitrack Audio Mixer" msgstr "LiVES: Multitrack mixovanie zvuku" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "_Vynulovať hodnoty" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "_Zatvoriť mixér" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" msgstr "" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "_Usporiadanie vrstvy zvuku" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "Nastavte všetky hladiny hodnôt zvuku na rovnakú hodnotu" @@ -11009,7 +11014,7 @@ "Connection to jack audio was reset.\n" msgstr "" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -11017,7 +11022,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -11025,7 +11030,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:104 +#: src/pulse.c:105 #, fuzzy msgid "" "\n" @@ -11037,27 +11042,27 @@ "\"jack\" alebo \"pulse audio\" prehrávačom.\n" "Môžete to nastaviť v Nástroje|Predvoľby|Prehrávanie." -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" msgstr "" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" msgstr "" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "nevnorený" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr "vnorený"
View file
LiVES-2.8.4.tar.bz2/po/te.po -> LiVES-2.8.6.tar.bz2/po/te.po
Changed
@@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: lives\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" "PO-Revision-Date: 2013-03-14 12:31+0000\n" "Last-Translator: Launchpad Translations Administrators <Unknown>\n" "Language-Team: Telugu <indlinux-telugu@lists.sourceforge.net>\n" @@ -19,7 +19,7 @@ "X-Launchpad-Export-Date: 2013-03-28 10:57+0000\n" "X-Generator: Launchpad (build 16546)\n" -#: src/main.c:132 +#: src/main.c:125 msgid "" "Attention Translators !\n" "This message is intended for you, so please do not translate it.\n" @@ -28,22 +28,22 @@ "http://lives-video.com/TRANS-README.txt" msgstr "" -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "" -#: src/main.c:203 +#: src/main.c:197 #, c-format msgid "" "\n" @@ -52,7 +52,7 @@ "Thanks. Recovery should be possible if you restart LiVES.\n" msgstr "" -#: src/main.c:205 +#: src/main.c:199 #, c-format msgid "" "\n" @@ -61,110 +61,110 @@ "distribution, and the LiVES version (%s)\n" msgstr "" -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" msgstr "" -#: src/main.c:210 +#: src/main.c:204 msgid "" "Please try running LiVES with the -debug option to collect more " "information.\n" "\n" msgstr "" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" "\n" msgstr "" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "ఏదైనా" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "ఏదీ వద్దు" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "సిఫారసుచేయబడింది" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "నిర్మితమైన" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "మలచిన" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "పరిశీలన" -#: src/main.c:474 +#: src/main.c:460 #, fuzzy msgid "LiVES: - " msgstr "లైవ్స్" -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "పరిమాణం మార్చుట" -#: src/main.c:731 +#: src/main.c:708 #, fuzzy msgid "_Resize All Frames..." msgstr "అన్ని చట్రాల పరిమాణం మార్చు (_R)" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "" -#: src/main.c:1122 +#: src/main.c:1094 #, fuzzy msgid "Background" msgstr "_ప్రారంభం" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "" -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "" -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "" -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "" -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -176,34 +176,34 @@ "Alternatively, try to start lives with either \"lives -jackopts 16\", or " msgstr "" -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "" -#: src/main.c:1855 +#: src/main.c:1813 #, c-format msgid "%s...detected... " msgstr "" -#: src/main.c:1856 +#: src/main.c:1814 #, c-format msgid "%s...NOT DETECTED... " msgstr "" -#: src/main.c:1867 +#: src/main.c:1824 msgid "Checking optional dependencies: " msgstr "" -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -211,209 +211,209 @@ "Window manager reports as \"%s\"; " msgstr "" -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "" -#: src/main.c:1901 +#: src/main.c:1863 #, c-format msgid "Number of CPUs detected: %d " msgstr "" -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "" -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1927 +#: src/main.c:1889 #, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr "" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" "Many audio features will be unavailable.\n" msgstr "" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" "\n" msgstr "" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" "Startup syntax is: %s [opts] [filename [start_time] [frames]]\n" msgstr "" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "" -#: src/main.c:2593 +#: src/main.c:2545 msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" msgstr "" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "" -#: src/main.c:2605 +#: src/main.c:2557 msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " "mplayer2" msgstr "" #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr "" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr "" -#: src/main.c:2613 +#: src/main.c:2565 msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " "transport client,2 = jack transport master, 4 = start jack transport server, " "8 = pause audio when video paused,16 = start jack audio server] \n" msgstr "" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr "" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" msgstr "" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "" -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -424,7 +424,7 @@ "(Maybe you need to change the value of <prefix_dir> in your %s file)\n" msgstr "" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -432,7 +432,7 @@ "Please make sure you have write access to %s and try again.\n" msgstr "" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -441,7 +441,7 @@ "before running LiVES.\n" msgstr "" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -451,7 +451,7 @@ "Please check the file permissions for this file and try again.\n" msgstr "" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -462,7 +462,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -470,7 +470,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2737 +#: src/main.c:2689 #, c-format msgid "" "\n" @@ -480,7 +480,7 @@ "%s" msgstr "" -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -491,56 +491,56 @@ "Thankyou.\n" msgstr "" -#: src/main.c:2751 +#: src/main.c:2703 msgid "" "\n" "LiVES currently requires 'mplayer', 'mplayer2' or 'sox' to function. Please " "install one or other of these, and try again.\n" msgstr "" -#: src/main.c:2756 +#: src/main.c:2708 msgid "" "\n" "LiVES currently requires both 'mplayer' or 'mplayer2' and 'sox' to function. " "Please install these, and try again.\n" msgstr "" -#: src/main.c:2769 +#: src/main.c:2721 msgid "" "\n" "LiVES was unable to locate 'mplayer','mplayer2' or 'mpv'. You may wish to " "install one of these to use LiVES more fully.\n" msgstr "" -#: src/main.c:2775 +#: src/main.c:2727 msgid "" "\n" "LiVES was unable to locate 'mplayer' or 'mplayer2'. You may wish to install " "one of these to use LiVES more fully.\n" msgstr "" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" "magick if you want to use rendered effects.\n" msgstr "" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " "image-magick if you want to use the merge function.\n" msgstr "" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " "should install 'sox'.\n" msgstr "" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -551,96 +551,96 @@ "You may need to change the value of <lib_dir> in %s\n" msgstr "" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "" -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "" #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "లైవ్స్" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "ఆడించు" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" msgstr "" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "చేసింది రద్దు (_U)" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "మళ్ళీచేయి (_R)" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "వీడియో" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "" -#: src/main.c:7078 +#: src/main.c:6973 msgid "" "\n" "\n" @@ -791,7 +791,7 @@ msgid "Use _mplayer2 audio player" msgstr "" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "" @@ -997,51 +997,51 @@ msgid "_Finish" msgstr "" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "" -#: src/interface.c:46 +#: src/interface.c:42 msgid "Apply _Deinterlace" msgstr "" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "" -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "మునుజూపు" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "" -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "" -#: src/interface.c:122 +#: src/interface.c:113 msgid "Click here to _Preview the file" msgstr "" -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 msgid "Processing..." msgstr "" -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1050,8 +1050,8 @@ "Remember to switch off effects (ctrl-0) afterwards !" msgstr "" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" @@ -1059,172 +1059,176 @@ "\n" "దయచేసి వేచివుండండి" -#: src/interface.c:221 +#: src/interface.c:206 msgid "Show Details" msgstr "" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "మునుజూపు (_P)" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "రద్దుచేయి (_C)" -#: src/interface.c:334 +#: src/interface.c:324 msgid "Multitrack Details" msgstr "" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "ఫార్మేట్" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "ఫైల్ పరిమాణం" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "చట్రాలు" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "ఘటనలు" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "ఆడియో" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "" -#: src/interface.c:568 +#: src/interface.c:590 #, fuzzy msgid "Encoding Options" msgstr "ఎన్కోడింగ్" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." msgstr "" -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "కిటికీని మూసివేయి (_C)" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "చేర్చు" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "" -#: src/interface.c:833 +#: src/interface.c:846 +msgid "Insert _with silence" +msgstr "" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "" -#: src/interface.c:924 +#: src/interface.c:937 #, fuzzy msgid "Open Selection" msgstr "ఎంపిక (_l)" -#: src/interface.c:943 +#: src/interface.c:954 msgid "Selection start time (sec)" msgstr "" -#: src/interface.c:949 +#: src/interface.c:960 msgid "Number of frames to open" msgstr "" -#: src/interface.c:1023 +#: src/interface.c:1029 msgid "Open Location" msgstr "" -#: src/interface.c:1025 +#: src/interface.c:1031 msgid "Open Youtube Clip" msgstr "" -#: src/interface.c:1045 +#: src/interface.c:1050 msgid "" "\n" "\n" @@ -1234,7 +1238,7 @@ "\n" msgstr "" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1243,67 +1247,67 @@ "\n" msgstr "" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "" -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "" -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "" -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "" -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr "" -#: src/interface.c:1188 +#: src/interface.c:1189 #, fuzzy msgid "Rename Clip" msgstr "తొలగిస్తున్నది" -#: src/interface.c:1190 +#: src/interface.c:1191 msgid "Enter Set Name to Save as" msgstr "" -#: src/interface.c:1192 +#: src/interface.c:1193 msgid "Enter a Set Name to Reload" msgstr "" -#: src/interface.c:1194 +#: src/interface.c:1195 msgid "Choose a Working Directory" msgstr "" -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 msgid "Rename Current Track" msgstr "" -#: src/interface.c:1198 +#: src/interface.c:1199 msgid "Enter a Name for Your Theme" msgstr "" -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1311,7 +1315,7 @@ "LiVES will remind you to save the clip set later when you try to exit.\n" msgstr "" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1331,329 +1335,329 @@ "This should be a directory with plenty of disk space available.\n" msgstr "" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "" -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "" -#: src/interface.c:1257 +#: src/interface.c:1255 msgid "Theme name " msgstr "" -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "అధునాతనం (_A)" -#: src/interface.c:1437 +#: src/interface.c:1425 msgid "Select input device" msgstr "" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "" -#: src/interface.c:1517 +#: src/interface.c:1505 msgid "Load CD Track" msgstr "" -#: src/interface.c:1519 +#: src/interface.c:1507 msgid "Select DVD Title/Chapter" msgstr "" -#: src/interface.c:1521 +#: src/interface.c:1509 msgid "Select VCD Title" msgstr "" -#: src/interface.c:1523 +#: src/interface.c:1511 msgid "Change Maximum Visible Tracks" msgstr "" -#: src/interface.c:1525 +#: src/interface.c:1513 msgid "Device details" msgstr "" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "" -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "" -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "" -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "" -#: src/interface.c:1815 +#: src/interface.c:1778 #, fuzzy msgid "Fade Audio In" msgstr "వ్యాసార్ధం (_R)" -#: src/interface.c:1817 +#: src/interface.c:1780 #, fuzzy msgid "Fade Audio Out" msgstr "వ్యాసార్ధం (_R)" -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "" -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "మొదటి" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "" -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "చివరి" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "సెకనులు." -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "" -#: src/interface.c:1909 +#: src/interface.c:1865 msgid " (Optional)" msgstr "" -#: src/interface.c:1912 +#: src/interface.c:1868 #, c-format msgid "File Comments%s" msgstr "" -#: src/interface.c:1927 +#: src/interface.c:1882 #, c-format msgid "File Name: %s" msgstr "" -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "" -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "" -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "" -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "" -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "" -#: src/interface.c:2109 +#: src/interface.c:2058 #, c-format msgid "%sChoose a Device" msgstr "" -#: src/interface.c:2112 +#: src/interface.c:2061 #, c-format msgid "%sChoose a Directory" msgstr "" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2410 +#: src/interface.c:2341 msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" "What do you wish to do ?" msgstr "" -#: src/interface.c:2417 +#: src/interface.c:2348 msgid "Cancel/Discard/Save" msgstr "" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" "Would you like to try and recover it ?\n" msgstr "" -#: src/interface.c:2527 +#: src/interface.c:2455 msgid "Disk Recovery Options" msgstr "" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "" -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "" -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1661,338 +1665,338 @@ "-----------------------\n" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "ctrl-left" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 #, fuzzy msgid "skip forwards\n" msgstr "దాటవేయి (_S)" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "ctrl-down" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "ctrl-enter" msgstr "ఇతర (_O)" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "reset frame rate\n" msgstr "ప్రారంభ చట్రం" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "" -#: src/interface.c:2723 +#: src/interface.c:2642 msgid "reverse direction\n" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 msgid "ctrl-1" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 msgid "toggle real-time effect 1\n" msgstr "" -#: src/interface.c:2746 +#: src/interface.c:2665 msgid "ctrl-2" msgstr "" -#: src/interface.c:2746 +#: src/interface.c:2665 msgid "toggle real-time effect 2\n" msgstr "" -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "ctrl-0" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "real-time effects off\n" msgstr "" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "" -#: src/interface.c:2759 +#: src/interface.c:2678 msgid "grab keyboard for last activated effect\n" msgstr "" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2688 msgid "tab" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "" -#: src/interface.c:2785 +#: src/interface.c:2706 msgid "Other playback keys\n" msgstr "" -#: src/interface.c:2789 +#: src/interface.c:2710 msgid "play all\n" msgstr "" -#: src/interface.c:2792 +#: src/interface.c:2713 #, fuzzy msgid "play selection\n" msgstr "ఎంపిక (_l)" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "" -#: src/interface.c:2798 +#: src/interface.c:2719 #, fuzzy msgid "fullscreen\n" msgstr "పూర్తితెర(_F)" -#: src/interface.c:2801 +#: src/interface.c:2722 msgid "separate window\n" msgstr "" -#: src/interface.c:2804 +#: src/interface.c:2725 #, fuzzy msgid "double size\n" msgstr "ఫైల్ పరిమాణం" -#: src/interface.c:2807 +#: src/interface.c:2728 msgid "ping pong loops\n" msgstr "" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "move current track up\n" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "move current track down\n" msgstr "" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "" -#: src/interface.c:2849 +#: src/interface.c:2768 #, fuzzy msgid "select next clip\n" msgstr "ఎంపిక (_l)" -#: src/interface.c:2852 +#: src/interface.c:2771 msgid "select/deselect current track\n" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 #, fuzzy msgid "zoom in\n" msgstr "అతిరూపించు (_Z)" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 #, fuzzy msgid "zoom out\n" msgstr "అవరూపించు (_Z)" -#: src/interface.c:2861 +#: src/interface.c:2780 msgid "make a mark on the timeline (during playback)\n" msgstr "" -#: src/interface.c:2864 +#: src/interface.c:2783 msgid "rewind to play start.\n" msgstr "" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "" -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "" -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "" -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -2000,22 +2004,22 @@ "the latest youtube-dl installed.\n" msgstr "" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, c-format msgid "Layouts were removed for set %s.\n" msgstr "" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " msgstr "" -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2025,7 +2029,7 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2035,20 +2039,20 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" "Really close it ?" msgstr "" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" msgstr "" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2061,53 +2065,53 @@ "Once you have done this, you will be able to import the new project.\n" msgstr "" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "" -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "" -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 msgid "Theme" msgstr "" -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, c-format msgid "Exporting theme as %s..." msgstr "" -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, c-format msgid "Importing theme \"%s\" from %s..." msgstr "" -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, c-format msgid "Backup as %s File" msgstr "" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, c-format msgid "Restore %s File" msgstr "" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2115,101 +2119,101 @@ "Are you sure ?\n" msgstr "" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "" -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "" -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "" -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "" -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "" -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "" -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "కత్తిరించు" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 msgid "Pulling frames from clipboard" msgstr "" -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "" -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "" -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " "LiVES.\n" msgstr "" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2218,31 +2222,31 @@ "the 'Trim Audio' function from the Audio menu." msgstr "" -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." msgstr "" -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2250,7 +2254,7 @@ "Clipboard audio has been erased.\n" msgstr "" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2259,88 +2263,88 @@ "using unchanged audio ?\n" msgstr "" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "" -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "" -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "" -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" "Are you sure ?" msgstr "" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "" -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "తొలగిస్తున్నది" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "తొలగించు" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" "Selection is locked.\n" msgstr "" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2348,11 +2352,11 @@ "play.)\n" msgstr "" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2361,7 +2365,7 @@ "%s\n" msgstr "" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2370,7 +2374,7 @@ "The plugin may be broken or not installed correctly." msgstr "" -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2379,22 +2383,22 @@ "Please press 'Cancel' if that is not what you want.\n" msgstr "" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2402,24 +2406,24 @@ "Click OK to proceed.\n" msgstr "" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "" -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "" -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "" -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2427,68 +2431,68 @@ "Internal: %s (%d bpp) / %s\n" msgstr "" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." msgstr "" -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" "(%d virtual)" msgstr "" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" "(%d decoded)" msgstr "" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" " %.2f sec." msgstr "" -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" msgstr "" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" "%s %s" msgstr "" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2505,21 +2509,21 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n" msgstr "" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "" -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" "Launchpad Contributions:\n" " Praveen Illa https://launchpad.net/~telugulinux" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, c-format msgid "" "LiVES Version %s\n" @@ -2533,14 +2537,14 @@ "Homepage: %s" msgstr "" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 msgid "" "\n" "\n" "You need to install mplayer or mplayer2 to be able to preview this file.\n" msgstr "" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 msgid "" "\n" "\n" @@ -2548,92 +2552,92 @@ "this file.\n" msgstr "" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" "%s\n" msgstr "" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 msgid "Encoder Debug Output" msgstr "" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "" -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 msgid "Load Subtitles" msgstr "" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 msgid "Select Audio File" msgstr "" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -2641,82 +2645,82 @@ "." msgstr "" -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "" -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "" -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "" -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 msgid "Layout Errors" msgstr "" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "తిరిగిప్రారంభించు" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "" -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "" -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "ఉంచు" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, c-format msgid "" "\n" @@ -2725,30 +2729,30 @@ "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "రద్దుచేయి" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 #, fuzzy msgid "Selected Frame" msgstr "ట్రాకును ఎంపికచేయి" -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 #, fuzzy msgid "_Save Frame as..." msgstr "ప్రారంభ చట్రం" -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -2757,7 +2761,7 @@ "\n" msgstr "" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -2765,13 +2769,13 @@ "\n" msgstr "" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" msgstr "" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -2780,17 +2784,17 @@ "\n" msgstr "" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" msgstr "" -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -2800,19 +2804,19 @@ "(Default of %.3f frames per second will be used.)\n" msgstr "" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "" -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "" -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -2821,119 +2825,119 @@ "rate.\n" msgstr "" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "" -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "" -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 msgid "Append Audio File" msgstr "" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "" -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "" -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "" -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "" -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "" -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" "Are you sure ?" msgstr "" -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "" -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "" @@ -2946,876 +2950,876 @@ msgid "Merge Clipboard [ %d Frames ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "" -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "" -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "ఫైల్ (_F)" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "" -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "" -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "" -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "" -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "" -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "" -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "" -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "" -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "" -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "" -#: src/gui.c:692 +#: src/gui.c:674 #, c-format msgid "_Backup Clip as .%s..." msgstr "" -#: src/gui.c:701 +#: src/gui.c:683 #, c-format msgid "_Restore Clip from .%s..." msgstr "" -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "సవరణ (_E)" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "" -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "" -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "ఎంపికచేయి (_S)..." -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "" -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "_తిరగబడ్డ ఎంపిక" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "ప్లేచేయి (_P)" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "ఆపివేయి (_S)" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "పూర్తితెర(_F)" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "నిశబ్దం (_M)" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "" -#: src/gui.c:1069 +#: src/gui.c:1045 msgid "Letterbox Mode" msgstr "" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "" -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "పనిముట్లు (_T)" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "" -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "" -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "" -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "జనియింపచేయుము (_G)" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "" -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "" -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "ప్రాధాన్యతలు...(_P)" -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "" -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "" -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "" -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "" -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "" -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "" -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "" -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "" -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "" -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "" -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "" -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "" -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "" -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "" -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "" -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "" -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "" -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "" -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "" -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "" -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "" -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "" -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "" -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "" -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "" -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "" -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "" -#: src/gui.c:1397 +#: src/gui.c:1371 msgid "Receive _LiVES Stream from..." msgstr "" -#: src/gui.c:1401 +#: src/gui.c:1375 msgid "_Send LiVES Stream to..." msgstr "" -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "" -#: src/gui.c:1426 +#: src/gui.c:1399 #, c-format msgid "_Import Project (.%s)..." msgstr "" -#: src/gui.c:1430 +#: src/gui.c:1403 #, c-format msgid "E_xport Project (.%s)..." msgstr "" -#: src/gui.c:1437 +#: src/gui.c:1409 #, c-format msgid "_Import Custom Theme (.%s)..." msgstr "" -#: src/gui.c:1442 +#: src/gui.c:1414 #, c-format msgid "E_xport Theme (.%s)..." msgstr "" -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "" -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "" -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." msgstr "" -#: src/gui.c:1476 +#: src/gui.c:1448 msgid "_Reset All Playback Speeds and Positions" msgstr "" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "" -#: src/gui.c:1480 +#: src/gui.c:1452 msgid "_MIDI/Joystick Interface" msgstr "" -#: src/gui.c:1489 +#: src/gui.c:1461 msgid "_MIDI/Joystick Learner..." msgstr "" -#: src/gui.c:1493 +#: src/gui.c:1465 msgid "_Save Device Mapping..." msgstr "" -#: src/gui.c:1497 +#: src/gui.c:1469 msgid "_Load Device Mapping..." msgstr "" -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "ఏదీకాదు (_N)" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "సహాయం (_H)" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 msgid "_Donate to the Project !" msgstr "" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 msgid "_Email the Author" msgstr "" -#: src/gui.c:1547 +#: src/gui.c:1519 msgid "Report a _Bug" msgstr "" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 msgid "Suggest a _Feature" msgstr "" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 msgid "Assist with _Translating" msgstr "" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "గురించి (_A)" -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "ధ్వనిస్థాయి" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." msgstr "" #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr "" -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr "" -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "_ఖాళీ" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "_ప్రారంభం" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "వెనుకకుతిప్పు" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr "" -#: src/gui.c:3613 +#: src/gui.c:3553 msgid "Streaming" msgstr "" -#: src/gui.c:3615 +#: src/gui.c:3555 #, fuzzy, c-format msgid "Play Window%s" msgstr "కిటికీని మూసివేయి (_C)" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "" -#: src/gui.c:4199 +#: src/gui.c:4127 #, c-format msgid "'LiVES opened the file' '%s'" msgstr "" -#: src/gui.c:4220 +#: src/gui.c:4146 #, c-format msgid "'LiVES closed the file' '%s'" msgstr "" @@ -3825,11 +3829,11 @@ msgid "Mapped to ctrl-%d" msgstr "" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "ప్రభావాలు" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "ముక్కలు" @@ -3843,11 +3847,11 @@ msgid "Select clip for %s\n" msgstr "" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "" @@ -3892,11 +3896,11 @@ msgid "%d bytes" msgstr "" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -3904,81 +3908,81 @@ "Switched to clip %s\n" msgstr "" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" "Switched to empty clip\n" msgstr "" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " "updated accordingly\n" msgstr "" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -3986,7 +3990,7 @@ "by another copy of LiVES.\n" msgstr "" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -3994,39 +3998,39 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2188 +#: src/utils.c:2207 #, c-format msgid "" "\n" "%s names may not be blank.\n" msgstr "" -#: src/utils.c:2196 +#: src/utils.c:2215 #, c-format msgid "" "\n" "%s names may not be longer than %d characters.\n" msgstr "" -#: src/utils.c:2204 +#: src/utils.c:2223 #, c-format msgid "" "\n" "%s names may not contain spaces or the characters%s.\n" msgstr "" -#: src/utils.c:2213 +#: src/utils.c:2232 #, c-format msgid "" "\n" "%s names may not start with a '.' or contain '..'\n" msgstr "" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4034,72 +4038,72 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "" -#: src/utils.c:3492 +#: src/utils.c:3548 msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "" -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4109,29 +4113,29 @@ "Overwrite ?\n" msgstr "" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr "" -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr "" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4156,7 +4160,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr "" @@ -4257,7 +4261,7 @@ msgstr "" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "" @@ -4311,12 +4315,12 @@ msgid "Recording performance..." msgstr "" -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4325,21 +4329,21 @@ "and resize all frames to the current size.\n" msgstr "" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "అపరిచితం" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4347,13 +4351,13 @@ "%s\n" msgstr "" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" msgstr "" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4361,7 +4365,7 @@ "Bad things may happen with this clip.\n" msgstr "" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4369,73 +4373,73 @@ "Default can be set in Tools | Preferences | Misc.\n" msgstr "" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, c-format msgid " - Author: %s\n" msgstr "" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, c-format msgid " - Title: %s\n" msgstr "" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr "" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "" -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "" -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "" -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -4483,59 +4487,59 @@ msgid "Recovering files..." msgstr "" -#: src/dialogs.c:87 +#: src/dialogs.c:83 msgid "Show affeced _layouts" msgstr "" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" msgstr "" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr "" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 #, fuzzy msgid "Warning !" msgstr "హెచ్చరికలు" -#: src/dialogs.c:198 +#: src/dialogs.c:186 msgid "Error !" msgstr "" -#: src/dialogs.c:208 +#: src/dialogs.c:196 #, fuzzy msgid "Information" msgstr "పరిమాణం మార్చుట" -#: src/dialogs.c:234 +#: src/dialogs.c:221 msgid "Question" msgstr "" -#: src/dialogs.c:248 +#: src/dialogs.c:235 msgid "File Error" msgstr "" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -4546,7 +4550,7 @@ "(Disk warning levels can be configured in Preferences.)" msgstr "" -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -4558,11 +4562,11 @@ "Preferences.)" msgstr "" -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "" -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -4570,46 +4574,46 @@ "Please try closing some other applications first.\n" msgstr "" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "" -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" "%s%d%% done. Time remaining: %u sec%s\n" msgstr "" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" "%d/%d frames opened. Time remaining %u sec.\n" msgstr "" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" "%d/%d frames opened.\n" msgstr "" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" "%d frames opened.\n" msgstr "" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" "Time remaining: %d sec" msgstr "" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -4617,7 +4621,7 @@ "Please close a file and then try again." msgstr "" -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -4629,47 +4633,47 @@ "Please make sure you can write to this directory." msgstr "" -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 msgid "" "\n" "LiVES currently requires either 'mplayer', 'mplayer2', or 'sox' to function. " "Please install one or other of these, and try again.\n" msgstr "" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 msgid "" "\n" "This function requires either mplayer or mplayer2 to operate.\n" "You may wish to install one or other of these and try again.\n" msgstr "" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 msgid "" "\n" "This function requires either mplayer, mplayer2 or mpv to operate.\n" "You may wish to install one or other of these and try again.\n" msgstr "" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" "Or switch to another encoder format in Tools | Preferences | Encoding\n" msgstr "" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -4677,19 +4681,19 @@ "Please set the audio codec in Tools|Preferences|Encoding\n" msgstr "" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -4697,83 +4701,83 @@ "Due to restrictions in the %s format\n" msgstr "" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" msgstr "" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr "" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr "" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr "" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr "" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" msgstr "" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -4782,14 +4786,14 @@ "\n" msgstr "" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" "\n" msgstr "" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -4798,7 +4802,7 @@ "Try recording for just a selection of the file." msgstr "" -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -4809,7 +4813,7 @@ "Please press Cancel to abort the insert, or OK to continue." msgstr "" -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -4822,18 +4826,18 @@ "click Cancel." msgstr "" -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " "in your %s file" msgstr "" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -4844,25 +4848,25 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 msgid "" "Sorry, unknown audio type.\n" "\n" " (Filenames must end in" msgstr "" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" "(They will not be usable without the set).\n" msgstr "" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -4871,7 +4875,7 @@ "Click Cancel to pick a new name.\n" msgstr "" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -4879,7 +4883,7 @@ "." msgstr "" -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -4887,7 +4891,7 @@ "." msgstr "" -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -4898,7 +4902,7 @@ "Otherwise click Cancel to skip loading this file.\n" msgstr "" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -4908,7 +4912,7 @@ "The clip could not be loaded.\n" msgstr "" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -4916,7 +4920,7 @@ "Alternately, select a different audio player in Preferences.\n" msgstr "" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -4925,13 +4929,13 @@ "Automatic jack startup will be disabled now.\n" msgstr "" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" msgstr "" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -4942,13 +4946,13 @@ "%s\n" msgstr "" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" msgstr "" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -4958,7 +4962,7 @@ "It is recommended to increase it to at least %d MB" msgstr "" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -4967,7 +4971,7 @@ "Do you wish to delete them ?\n" msgstr "" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -4975,7 +4979,7 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -4983,81 +4987,81 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" msgstr "" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" msgstr "" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" "You can set this in Tools|Preferences|Playback." msgstr "" -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" "Should I try to repair the disk copy of the layout ?\n" msgstr "" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" msgstr "" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" "Audio rate must be greater than 0.\n" msgstr "" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5065,14 +5069,14 @@ "Are you sure you wish to view it ?\n" msgstr "" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" "You must install 'dvgrab' to use this function.\n" msgstr "" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5081,25 +5085,25 @@ "You may need to select one of these in Tools/Preferences/Playback.\n" msgstr "" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" msgstr "" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5108,33 +5112,33 @@ "echo %d > /proc/sys/net/core/rmem_max\n" msgstr "" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -5144,7 +5148,7 @@ "%s%s%s" msgstr "" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -5154,7 +5158,7 @@ "%s" msgstr "" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -5164,7 +5168,7 @@ "%s" msgstr "" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -5173,7 +5177,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -5183,7 +5187,7 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -5192,7 +5196,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -5202,12 +5206,12 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "" -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -5216,7 +5220,7 @@ "Please check your system for errors.\n" msgstr "" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -5225,7 +5229,7 @@ "Please check the file permissions and try again." msgstr "" -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -5234,7 +5238,7 @@ "Please check the directory permissions and try again." msgstr "" -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, c-format msgid "" "\n" @@ -5242,14 +5246,14 @@ "%s\n" msgstr "" -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -5257,13 +5261,13 @@ "Please select another encoder from the list.\n" msgstr "" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" msgstr "" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -5273,27 +5277,27 @@ "- Check if the device actually exists.\n" msgstr "" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" "Do you wish to overwrite the existing subtitles ?\n" msgstr "" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 msgid "" "\n" "LiVES currently only supports subtitles of type" msgstr "" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -5302,14 +5306,14 @@ "or OK to continue and save as type \"%s\"\n" msgstr "" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" "(If unsure, click Yes)\n" msgstr "" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -5320,19 +5324,19 @@ "." msgstr "" -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" msgstr "" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" msgstr "" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -5340,7 +5344,7 @@ "DO NOT SHUT DOWN OR CLOSE LIVES !\n" msgstr "" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, c-format msgid "" "\n" @@ -5348,14 +5352,14 @@ "The theme could not be loaded correctly.\n" msgstr "" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" "Please check the spelling of the set name and try again.\n" msgstr "" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -5364,7 +5368,7 @@ "directory. Would you like me to do this (recommended) ?" msgstr "" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -5376,7 +5380,7 @@ msgstr "" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -5385,38 +5389,38 @@ "\n" msgstr "" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" "Consult your package distributor.\n" msgstr "" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" msgstr "" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, c-format msgid "" "\n" @@ -5425,7 +5429,7 @@ "(Theme name not found).\n" msgstr "" -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -5434,7 +5438,7 @@ "already exists. Would you like to overwrite it ?\n" msgstr "" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -5575,7 +5579,7 @@ msgid "Video only Transitions" msgstr "" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "" @@ -5583,7 +5587,7 @@ msgid "Audio only Transitions" msgstr "" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "" @@ -5627,7 +5631,7 @@ msgid "Audio Analysers" msgstr "" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "తెలియని" @@ -5682,356 +5686,356 @@ "No frames were generated.\n" msgstr "" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 msgid "Invalid element" msgstr "" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 msgid "Invalid property" msgstr "" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 msgid "Invalid plugin" msgstr "" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 msgid "No error" msgstr "" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 msgid "integer" msgstr "" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 msgid "string" msgstr "" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 msgid "pointer" msgstr "" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" "Error was: %s\n" msgstr "" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr "" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, c-format msgid "Successfully loaded %d compound filters\n" msgstr "" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, c-format msgid "Failed to start generator %s (%s)\n" msgstr "" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 msgid "Autoscale" msgstr "" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 msgid "Delete this connection" msgstr "" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, c-format msgid "%s - Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, c-format msgid "%s - Parameter Data Connections" msgstr "" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 msgid "Parameter and Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 msgid "Auto Connect Channels" msgstr "" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 msgid "Auto Connect Parameters" msgstr "" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "" -#: src/framedraw.c:241 +#: src/framedraw.c:242 msgid "_Frame" msgstr "" @@ -6075,40 +6079,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "%s : పరిమాణం" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "వెడల్పు (_W)" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "ఎత్తు (_H)" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "" -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -6174,32 +6178,32 @@ "\n" msgstr "" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "" -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -6208,7 +6212,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -6218,31 +6222,31 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" "Error was: %s\n" msgstr "" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " "***\n" msgstr "" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -6251,7 +6255,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -6260,7 +6264,7 @@ "or switch to another plugin using Tools|Preferences|Encoding\n" msgstr "" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, c-format msgid "" "\n" @@ -6268,12 +6272,12 @@ "No decoders found in %s !\n" msgstr "" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, fuzzy, c-format msgid " using %s" msgstr "%s తెరుస్తోంది" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -6282,7 +6286,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -6292,24 +6296,24 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "" -#: src/plugins.c:2556 +#: src/plugins.c:2550 msgid "Decoder Plugins" msgstr "" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "" @@ -6508,20 +6512,20 @@ msgid "Move _Down" msgstr "క్రిందకి జరుపు" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 #, fuzzy msgid "RFX Properties" msgstr "లక్షణాలు(_P)..." -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -6530,7 +6534,7 @@ "\n" msgstr "" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -6538,219 +6542,219 @@ "Please check the trigger code.\n" msgstr "" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 msgid "New RFX Parameter" msgstr "" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 msgid "Edit RFX Parameter" msgstr "" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "పేరు (_N): " -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "" -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "" -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." msgstr "" -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "రకం (_T): " -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "" -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "" -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "" -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "అప్రమేయం (_D): " -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "" -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "" -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "" -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "" -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr "" -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "" -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 msgid "_Wrap value" msgstr "" -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "" -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "" -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "" -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "" -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "" -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 msgid "New RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 msgid "Edit RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "" -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "" -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "" -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "" -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "" -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "" -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "" -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 msgid "New RFX Trigger" msgstr "" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 msgid "Edit RFX Trigger" msgstr "" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "" -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 msgid "Pre Loop Code" msgstr "" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 msgid "Loop Code" msgstr "" -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 msgid "Post Loop Code" msgstr "" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, c-format msgid "Default text (max length %d)" msgstr "" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 msgid "Enter values, one per line" msgstr "" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" "Name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" "Name must not contain spaces.\n" msgstr "" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" "Menu text must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" "Action description must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" "Author must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -6758,28 +6762,28 @@ "Name must be unique.\n" msgstr "" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" "Loop code should not be blank.\n" msgstr "" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" "Trigger code should not be blank for a utility.\n" msgstr "" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" "Parameter name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -6788,41 +6792,41 @@ "\n" msgstr "" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "" -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -6832,27 +6836,27 @@ "\n" msgstr "" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "" -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "" -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "" -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "" -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -6861,7 +6865,7 @@ "Please check this program is in your path and executable.\n" msgstr "" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -6871,12 +6875,12 @@ "\n" msgstr "" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "" -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -6886,7 +6890,7 @@ "Error code was %d\n" msgstr "" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -6896,12 +6900,12 @@ "Please delete it first, or rename the test script.\n" msgstr "" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "" -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -6912,20 +6916,20 @@ "Return code was %d (%s)\n" msgstr "" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 msgid "Export Script" msgstr "" -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "" -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 msgid "Import Script" msgstr "" -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -6935,43 +6939,43 @@ "Please delete it first, or rename the import script.\n" msgstr "" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 msgid "Copy RFX Script" msgstr "" -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "" -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr "" -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 msgid "Rename Test RFX Script" msgstr "" -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "" -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 msgid "RFX Script Name" msgstr "" -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "" -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "" -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "" -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -6979,12 +6983,12 @@ "Script name must be unique.\n" msgstr "" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "" -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -6995,25 +6999,25 @@ "Return code was %d\n" msgstr "" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 msgid "Applying Current Real Time Effects to" msgstr "" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "" -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "" -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -7021,7 +7025,7 @@ "full screen, separate window (fs) mode\n" msgstr "" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -7029,7 +7033,7 @@ "(Free space = UNKNOWN)" msgstr "" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -7038,14 +7042,14 @@ "(Free space = %s)" msgstr "" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" "It should be in a partition with plenty of free disk space.\n" msgstr "" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7056,7 +7060,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7066,7 +7070,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1193 +#: src/preferences.c:1163 msgid "" "You have chosen to change the working directory.\n" "Please make sure you have no other copies of LiVES open.\n" @@ -7078,7 +7082,7 @@ "setting." msgstr "" -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, c-format msgid "" "\n" @@ -7087,13 +7091,13 @@ "See %s\n" msgstr "" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" msgstr "" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, c-format msgid "" "\n" @@ -7102,918 +7106,918 @@ "See %s\n" msgstr "" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "" -#: src/preferences.c:2468 +#: src/preferences.c:2418 #, fuzzy msgid "Preferences" msgstr "ప్రాధాన్యతలు...(_P)" -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "" -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr "" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr "" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." msgstr "" -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr "" -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "సెకనులు" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "_ఎప్పుడు కాదు" -#: src/preferences.c:2872 +#: src/preferences.c:2757 msgid "Maximum number of visible tracks" msgstr "" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "" -#: src/preferences.c:2925 +#: src/preferences.c:2804 msgid "Video open command (fallback)" msgstr "" -#: src/preferences.c:2935 +#: src/preferences.c:2811 msgid "Fallback image format" msgstr "" -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "" -#: src/preferences.c:2964 +#: src/preferences.c:2832 msgid "Open/render compression" msgstr "" -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr "" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "" -#: src/preferences.c:2995 +#: src/preferences.c:2856 msgid "Automatic trimming / padding of audio when possible" msgstr "" -#: src/preferences.c:2997 +#: src/preferences.c:2858 msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "" -#: src/preferences.c:3269 +#: src/preferences.c:3110 msgid "Source:" msgstr "" -#: src/preferences.c:3273 +#: src/preferences.c:3114 msgid "_Internal" msgstr "" -#: src/preferences.c:3278 +#: src/preferences.c:3119 msgid "_External (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "ప్లేబాక్" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" msgstr "" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr "" -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "రికార్డింగ్" -#: src/preferences.c:3454 +#: src/preferences.c:3273 msgid "You can also change these values when encoding a clip" msgstr "" -#: src/preferences.c:3466 +#: src/preferences.c:3285 msgid "Encoder" msgstr "" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "ఎన్కోడింగ్" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." msgstr "" -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr "" -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr "" -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr "" -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr "" -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr "" -#: src/preferences.c:3649 +#: src/preferences.c:3461 msgid " Working directory (do not remove) " msgstr "" -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "" -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "" -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "సంచయాలు" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "" -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr "" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "" -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" msgstr "" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "" -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr "" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "" -#: src/preferences.c:3872 +#: src/preferences.c:3659 msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " "when LiVES is started." msgstr "" -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "" -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "" -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "" -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "" -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "" -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "" -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "" -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "" -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "" -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "" -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "" -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "" -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "" -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "" -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." msgstr "" -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "" -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "" -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "" -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "" -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "" -#: src/preferences.c:4113 +#: src/preferences.c:3865 msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "" -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "హెచ్చరికలు" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "" -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "" -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "" -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "ఇతరేతర" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "" -#: src/preferences.c:4242 +#: src/preferences.c:3977 msgid "Main Theme Details" msgstr "" -#: src/preferences.c:4254 +#: src/preferences.c:3988 #, fuzzy msgid " _Foreground Color" msgstr "_ప్రారంభం" -#: src/preferences.c:4273 +#: src/preferences.c:4007 #, fuzzy msgid " _Background Color" msgstr "_ప్రారంభం" -#: src/preferences.c:4291 +#: src/preferences.c:4026 #, fuzzy msgid "_Alt Foreground Color" msgstr "_ప్రారంభం" -#: src/preferences.c:4309 +#: src/preferences.c:4044 #, fuzzy msgid "_Alt Background Color" msgstr "_ప్రారంభం" -#: src/preferences.c:4327 +#: src/preferences.c:4062 msgid " Info _Text Color" msgstr "" -#: src/preferences.c:4346 +#: src/preferences.c:4081 msgid " Info _Base Color" msgstr "" -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "" -#: src/preferences.c:4365 +#: src/preferences.c:4100 msgid "Affects some contrast details of the timeline" msgstr "" -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "" -#: src/preferences.c:4398 +#: src/preferences.c:4132 #, fuzzy msgid "Frame blank image" msgstr "ఖాళీ చట్రాలు" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "" -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4474 +#: src/preferences.c:4203 msgid "Track background (multitrack)" msgstr "" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "" -#: src/preferences.c:4529 +#: src/preferences.c:4258 msgid "Timeline selection (multitrack)" msgstr "" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "" -#: src/preferences.c:4553 +#: src/preferences.c:4282 msgid "Timecode foreground (multitrack)" msgstr "" -#: src/preferences.c:4565 +#: src/preferences.c:4293 #, fuzzy msgid "Frame surround" msgstr "సెకనులు" -#: src/preferences.c:4582 +#: src/preferences.c:4306 #, fuzzy msgid "Themes/Colors" msgstr "అలంకారాలు" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "" -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "" -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" msgstr "" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" msgstr "" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "" -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "అధునాతన" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." msgstr "" -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "" -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -8021,41 +8025,41 @@ "Click OK to continue.\n" msgstr "" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." msgstr "" -#: src/preferences.c:5525 +#: src/preferences.c:5205 msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "" -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "" -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "" @@ -8078,154 +8082,154 @@ msgid "Resample/Resize" msgstr "" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" "New rate must be greater than 0\n" msgstr "" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "" -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "" -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "" -#: src/resample.c:1208 +#: src/resample.c:1209 msgid "New Clip Audio" msgstr "" -#: src/resample.c:1210 +#: src/resample.c:1211 msgid "External Clip Settings" msgstr "" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "ప్రస్తుత" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "" -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 msgid "Channels" msgstr "" -#: src/resample.c:1256 +#: src/resample.c:1257 msgid "Sample Size " msgstr "" -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "అన్ సైన్డు" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "" -#: src/resample.c:1322 +#: src/resample.c:1323 msgid "New Audio Details" msgstr "" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "కొత్త" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "" -#: src/resample.c:1369 +#: src/resample.c:1370 msgid "_Channels" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "_Sample Size" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "Sample Size" msgstr "" -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "" -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "" -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr "" -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr "" -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr "" -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "అపరమితమైన" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "" -#: src/resample.c:1635 +#: src/resample.c:1636 msgid "Change Playback Speed" msgstr "" -#: src/resample.c:1637 +#: src/resample.c:1638 msgid "Resample Video" msgstr "" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -8236,7 +8240,7 @@ "in _frames per second" msgstr "" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -8247,80 +8251,80 @@ "in frames per second" msgstr "" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" "LiVES was unable to reorder the frames." msgstr "" -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "" @@ -8550,7 +8554,7 @@ msgid "Mode active" msgstr "" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "సమాచారం" @@ -8672,54 +8676,54 @@ msgid "Opened firewire card %d" msgstr "" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, c-format msgid "%s : parameters for %s" msgstr "" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." msgstr "" -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -8728,7 +8732,7 @@ "right or double clicking on it.\n" msgstr "" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -8736,14 +8740,14 @@ "Select an effect in FX stack first to view its parameters.\n" msgstr "" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" "No clips loaded.\n" msgstr "" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -8753,7 +8757,7 @@ "before inserting clips into the timeline." msgstr "" -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -8762,188 +8766,188 @@ "to apply compositors.\n" msgstr "" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" msgstr "" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" msgstr "" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr "" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 #, fuzzy msgid "Selected Clip" msgstr "ఎంపిక (_l)" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 msgid "_Adjust Start and End Points" msgstr "" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 msgid "_Edit/Encode in Clip Editor" msgstr "" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 #, fuzzy msgid "_Show Clip Information" msgstr "పరిమాణం మార్చుట" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 msgid "_Close this Clip" msgstr "" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 msgid "Audio Mixer (ctrl-m)" msgstr "" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "" -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "" -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "" -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "" -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "" -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "" -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "" -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "" -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "" -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "%s తొలగించు" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "" -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "" -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " "audio rate %d, audio sample size %d, %s.\n" msgstr "" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -8953,7 +8957,7 @@ "then load in the new set from the File menu.\n" msgstr "" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -8961,610 +8965,610 @@ "It cannot be loaded.\n" msgstr "" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "" -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "తెరవు...(_O)" -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "" -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "" -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 #, fuzzy msgid "_Close the Selected Clip" msgstr "ఎంపిక (_l)" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 msgid "_Save Layout as..." msgstr "" -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 msgid "_Load Layout..." msgstr "" -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 msgid "_Wipe/Delete Layout..." msgstr "" -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "" -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 msgid "Auto Load _Subtitles with Clips" msgstr "" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 msgid "_Adjust Selected Clip Start/End Points" msgstr "" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 #, fuzzy msgid "_Insert Selected Clip Audio" msgstr "_తిరగబడ్డ ఎంపిక" -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 #, fuzzy msgid "_Delete Selected Block" msgstr "అన్నీ తొలగించు (_D)" -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 msgid "_Jump to Previous Block Boundary" msgstr "" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 msgid "_Jump to Next Block Boundary" msgstr "" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 msgid "Clear _Marks from Timeline" msgstr "" -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 msgid "Ignore Selection Limits when Inserting" msgstr "" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 msgid "Pla_y Selected Time Only" msgstr "" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 msgid "_Move Effects with Blocks" msgstr "" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 msgid "Select _Autotransition Effect..." msgstr "" -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 msgid "Crossfade Audio with Autotransition" msgstr "" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 #, fuzzy msgid "View/_Edit Selected Effect" msgstr "ఎంచుకున్న ట్రాకులు" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 #, fuzzy msgid "_Delete Selected Effect" msgstr "ఎంచుకున్న ట్రాకులు" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 msgid "Apply Effect to _Block..." msgstr "" -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 msgid "Apply Effect to _Region..." msgstr "" -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "ట్రాక్లు (_T)" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 msgid "Make _Backing Audio Current Track" msgstr "" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 msgid "_Split Current Track at Cursor" msgstr "" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 #, fuzzy msgid "_Split Selected Video Tracks" msgstr "ఎంచుకున్న ట్రాకులు" -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 msgid "Insert Gap in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 msgid "Insert Gap in Current Track/Selected Time" msgstr "" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 msgid "Close All _Gaps in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "ఎంపిక (_l)" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 #, fuzzy msgid "Select _All Video Tracks" msgstr "ఎంచుకున్న ట్రాకులు" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 #, fuzzy msgid "Select _No Video Tracks" msgstr "ఎంచుకున్న ట్రాకులు" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 #, fuzzy msgid "Select All _Time" msgstr "ఎంపిక (_l)" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 msgid "Select from _Zero Time" msgstr "" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 #, fuzzy msgid "Select to _End Time" msgstr "ట్రాకును ఎంపికచేయి" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "నకలుతీయు...(_C)" -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 msgid "_Timecode to Region Start" msgstr "" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 msgid "_Timecode to Region End" msgstr "" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 msgid "_Region Start to Timecode" msgstr "" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 msgid "_Region End to Timecode" msgstr "" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 msgid "Select/Deselect Block at Current Track/Time" msgstr "" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 msgid "_Change Width, Height and Audio Values..." msgstr "" -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 msgid "_Render All to New Clip" msgstr "" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 msgid "Render _Video" msgstr "" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 #, fuzzy msgid "Render _Audio" msgstr "వ్యాసార్ధం (_R)" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 msgid "_Normalise Rendered Audio" msgstr "" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 msgid "_Pre-render Audio" msgstr "" -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "వీక్షణం (_V)" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 msgid "Block _In/Out Points" msgstr "" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 msgid "_Effects at Current" msgstr "" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 #, fuzzy msgid "Audio Parameters" msgstr "చట్రాలు" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 msgid "Show Backing _Audio Track" msgstr "" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 #, fuzzy msgid "Compact View" msgstr "కాంపాక్టు వీక్షణం" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 msgid "Maximum Tracks to Display..." msgstr "" -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 msgid "Scroll to Follow Playback" msgstr "" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 msgid "_Center on Cursor" msgstr "" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 #, fuzzy msgid "_Zoom In" msgstr "అతిరూపించు (_Z)" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 #, fuzzy msgid "_Zoom Out" msgstr "అవరూపించు (_Z)" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 msgid "Multitrack _Details" msgstr "" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 msgid "_Show FRAME Events" msgstr "" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 msgid "_Show Multitrack Keys" msgstr "" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 msgid "Insert With _Audio" msgstr "" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 #, fuzzy msgid "Select _Overlap" msgstr "ట్రాకును ఎంపికచేయి" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" msgstr "" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 msgid "Mouse Mode: _Move" msgstr "" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 msgid "Mouse Mode: _Select" msgstr "" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 msgid "Insert Mode: _Normal" msgstr "" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "అనువర్తించు (_A)" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "" -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "వేగం (_V) " -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "జరుపు" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" "Switched to Clip Edit mode\n" msgstr "" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr "" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr "" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "ట్రాకును ఎంపికచేయి" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "ఆడియోని చూపించు/దాయి" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "వీడియో %d" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr " %s" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 #, fuzzy msgid "Selected Effect" msgstr "ఎంచుకున్న ట్రాకులు" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 msgid "_View/Edit this Effect" msgstr "" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 msgid "_View this Effect" msgstr "" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 #, fuzzy msgid "_Delete this Effect" msgstr "ఎంచుకున్న ట్రాకులు" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr "" -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "" -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "%d చట్రాలు" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" "Switched to Multitrack mode\n" msgstr "" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" "Nodes can be deleted." msgstr "" -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "పొర %d" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "ఆడియో ట్రాక్" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -9572,284 +9576,284 @@ "current time.\n" msgstr "" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." msgstr "" -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 msgid "Selected Block/Frame" msgstr "" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 #, fuzzy msgid "_Select this Block" msgstr "ట్రాకును ఎంపికచేయి" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 msgid "_Split Block Here" msgstr "" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 msgid "List _Effects Here" msgstr "" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "%sను సవరించు (_A)" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 #, fuzzy msgid "_Delete this Block" msgstr "అన్నీ తొలగించు (_D)" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 #, fuzzy msgid "_Insert Here" msgstr "చేర్చు" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 msgid "_Insert Audio Here" msgstr "" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" msgstr "" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "ఎంచుకున్న ట్రాకులు" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "శుభ్రపరుస్తోంది..." -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "నిలిపివేయి(_P)" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " "to %.4f\n" msgstr "" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" "selected.\n" msgstr "" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" msgstr "" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." msgstr "" -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." msgstr "" -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." msgstr "" -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" msgstr "" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" msgstr "" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" msgstr "" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "" -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "" -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" msgstr "" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 msgid "Saving layout" msgstr "" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "ముక్కలు మరియు చట్రాలు" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "ముక్కలు" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "చట్రాలు" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" msgstr "" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -9857,74 +9861,74 @@ "Therefore it could not be loaded properly.\n" msgstr "" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" "Unable to load layout file %s\n" msgstr "" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "" -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "" -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 msgid "" "The current layout has changes which have not been saved.\n" "Are you sure you wish to wipe it ?\n" msgstr "" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 msgid "Multitrack Audio Mixer" msgstr "" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" msgstr "" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "" @@ -9950,7 +9954,7 @@ "Connection to jack audio was reset.\n" msgstr "" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -9958,7 +9962,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -9966,7 +9970,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:104 +#: src/pulse.c:105 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -9974,27 +9978,27 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" msgstr "" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" msgstr "" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr ""
View file
LiVES-2.8.4.tar.bz2/po/tr.po -> LiVES-2.8.6.tar.bz2/po/tr.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: lives\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" "PO-Revision-Date: 2013-03-14 12:31+0000\n" "Last-Translator: Launchpad Translations Administrators <Unknown>\n" "Language-Team: Turkish <tr@li.org>\n" @@ -18,7 +18,7 @@ "X-Launchpad-Export-Date: 2013-03-28 10:57+0000\n" "X-Generator: Launchpad (build 16546)\n" -#: src/main.c:132 +#: src/main.c:125 msgid "" "Attention Translators !\n" "This message is intended for you, so please do not translate it.\n" @@ -27,22 +27,22 @@ "http://lives-video.com/TRANS-README.txt" msgstr "" -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "" -#: src/main.c:203 +#: src/main.c:197 #, fuzzy, c-format msgid "" "\n" @@ -57,7 +57,7 @@ "Teşekkür ederiz. Eğer LiVES yeniden başlatırsanız çalışmanızı kurtarmanız " "mümkündür.\n" -#: src/main.c:205 +#: src/main.c:199 #, fuzzy, c-format msgid "" "\n" @@ -70,7 +70,7 @@ "Lütfen hata raporuna İşletim sistemi, dağıtım ve LiVES sürüm bilgilerini " "ekleyiniz (" -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" @@ -78,7 +78,7 @@ "ve daha fazla bilgi aşağıda gösterilmiştir:\n" "\n" -#: src/main.c:210 +#: src/main.c:204 #, fuzzy msgid "" "Please try running LiVES with the -debug option to collect more " @@ -89,7 +89,7 @@ "birlikte çalıştırın.\n" "\n" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" @@ -99,90 +99,90 @@ "birlikte çalıştırın.\n" "\n" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "Koruma ayarları.\n" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "Herhangi" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "Boş" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "tavsiye" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "Engelli!" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "**Mevcut yerleşim düzeni**" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "Yapısal" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "Özel" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "Sınama" -#: src/main.c:474 +#: src/main.c:460 #, fuzzy msgid "LiVES: - " msgstr "LiVES: - Birleştir" -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "Yeniden boyutlandırma" -#: src/main.c:731 +#: src/main.c:708 #, fuzzy msgid "_Resize All Frames..." msgstr "Tüm çerçeveleri yeniden boyutlandır" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "" -#: src/main.c:1122 +#: src/main.c:1094 #, fuzzy msgid "Background" msgstr "_Boş arkaplan" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "Gerçek zaman efekt eklentileri yükleniyor" -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "Jack audio sunucusu başlıyor..." -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "Jack taşıma sunucusu başlıyor" -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "Jack taşıma sunucusuna bağlanılıyor" -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -194,35 +194,35 @@ "Alternatively, try to start lives with either \"lives -jackopts 16\", or " msgstr "" -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "Pulse audio sunucusu başlıyor" -#: src/main.c:1855 +#: src/main.c:1813 #, fuzzy, c-format msgid "%s...detected... " msgstr "mplayer ... bulundu ..." -#: src/main.c:1856 +#: src/main.c:1814 #, fuzzy, c-format msgid "%s...NOT DETECTED... " msgstr "mplayer ... BULUNAMADI ..." -#: src/main.c:1867 +#: src/main.c:1824 #, fuzzy msgid "Checking optional dependencies: " msgstr "Isteğe bağlı bağımlılıkları denetleme:" -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -233,53 +233,53 @@ "\n" "Pencere yöneticisi raporları olarak \"%s\"; " -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "bulunan monitor sayısı : %d\n" -#: src/main.c:1901 +#: src/main.c:1863 #, c-format msgid "Number of CPUs detected: %d " msgstr "" -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "" -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1927 +#: src/main.c:1889 #, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr "" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "Geçici dizin:% s\n" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" @@ -289,15 +289,15 @@ "ses desteği olmadan derlenmiştir.\n" "Bir çok ses özelliği kullanılamaz.\n" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "Jack desteği ile derlendi, iyi!\n" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "Pulse audio desteğiyle derlendi, mükemmel!\n" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" @@ -306,7 +306,7 @@ "LiVES'a Hoşgeldiniz version %s.\n" "\n" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" @@ -315,90 +315,90 @@ "\n" "Başlangıç yazım şekli: % s [opts] [dosyaadı [başlangıç zamanı] [kare]]\n" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "başlama_zamanı : Saniye cinsinden dosya ismi başlama zamanı\n" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "Çerçeveler: en çok sayıda çerçeve açmak için\n" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "opts olabilir:\n" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "-help: Bu yardım metnini ve çıkışı gösterir\n" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "-noset : Başlangıçta herhangi bir ayar yükleme\n" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "-norecover : çökmesi durumunda zorla yükleme\n" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "-recover : çökmesi durumunda zorla yükle\n" -#: src/main.c:2593 +#: src/main.c:2545 msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "-nogui :arayüzü gösterme\n" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "-startup-ce : Klip düzenleyici kipinde başlat\n" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "-startup-mt : çok parçalı kipte başlatmak\n" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" msgstr "" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "-nooscstart : OSC dinleyicisini başlatma\n" -#: src/main.c:2605 +#: src/main.c:2557 #, fuzzy msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " @@ -407,46 +407,46 @@ "-aplayer <ap> : Seçili audio oynatıcı ile başlat. <ap> mplayer olabilir." #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr "" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr "sox veya jack\n" -#: src/main.c:2613 +#: src/main.c:2565 msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " "transport client,2 = jack transport master, 4 = start jack transport server, " "8 = pause audio when video paused,16 = start jack audio server] \n" msgstr "" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr " veya sox\n" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" msgstr "" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "" "-debug : Çöküş nedeni bulmak için ('gdb' kurulu olması " "gereklidir)\n" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "Grafiksel kullanıcı arayüzü başlıyor..." -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -457,7 +457,7 @@ "(Maybe you need to change the value of <prefix_dir> in your %s file)\n" msgstr "" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -465,7 +465,7 @@ "Please make sure you have write access to %s and try again.\n" msgstr "" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -479,7 +479,7 @@ "Lütfen LiVES ı çalıştımadan önce paket ile birlikte\n" "gelen README dosyasını inceleyin.\n" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -489,7 +489,7 @@ "Please check the file permissions for this file and try again.\n" msgstr "" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -500,7 +500,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -508,7 +508,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2737 +#: src/main.c:2689 #, fuzzy, c-format msgid "" "\n" @@ -520,7 +520,7 @@ "LiVES görüntü yakalanamadı\n" "\n" -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -538,7 +538,7 @@ "\n" "Teşekkür ederim.\n" -#: src/main.c:2751 +#: src/main.c:2703 #, fuzzy msgid "" "\n" @@ -549,7 +549,7 @@ "LiVES çalışması için 'mplayer' veya 'sox' gereklidir. Lütfen birini yada " "her ikisini yükleyin ve yeniden deneyin.\n" -#: src/main.c:2756 +#: src/main.c:2708 #, fuzzy msgid "" "\n" @@ -560,7 +560,7 @@ "LiVES çalışması için 'mplayer' veya 'sox' gereklidir. Lütfen birini yada " "her ikisini yükleyin ve yeniden deneyin.\n" -#: src/main.c:2769 +#: src/main.c:2721 #, fuzzy msgid "" "\n" @@ -571,7 +571,7 @@ "LiVES 'mplayer' ı bulamadı. Tüm işlevleri kullanabilmek için mplayer " "yükleyebilirsiniz.\n" -#: src/main.c:2775 +#: src/main.c:2727 #, fuzzy msgid "" "\n" @@ -582,7 +582,7 @@ "LiVES 'mplayer' ı bulamadı. Tüm işlevleri kullanabilmek için mplayer " "yükleyebilirsiniz.\n" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" @@ -592,7 +592,7 @@ "LiVES convert' bulunamadı. Render efektlerini kullanabilmeniz için convert " "ve image-magick yüklemeniz gereklidir.\n" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " @@ -602,7 +602,7 @@ "LiVES 'composite' bulunamadı. Birleştirme işlevlerini kullanabilmeniz için " "composite ve image-magick yüklemeniz gereklidir.\n" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " @@ -612,7 +612,7 @@ "LiVES 'sox' 'bulamadı. Bazı ses özellikleri çalışmayabilir. 'sox' yüklemeniz " "gereklidir.\n" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -623,63 +623,63 @@ "You may need to change the value of <lib_dir> in %s\n" msgstr "" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "redener efekt eklentisi yükleniyor" -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "%s ayarı otomatik yükleniyor..." #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "Geçersiz ses çalar % s\n" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : %d çerçeveler %d bpp %.3f fps" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "LiVES-%s: <Dosya Yok>" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "kayıt %9d/%d" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "!kayıt %9d/%d" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "Oynat" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" @@ -687,34 +687,34 @@ "LiVES görüntü yakalanamadı\n" "\n" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "Dosya kapandı %s\n" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "_Geri Al" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "_Yinele" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "Video" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "Sol Ses" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "Sağ ses" -#: src/main.c:7078 +#: src/main.c:6973 #, fuzzy msgid "" "\n" @@ -900,7 +900,7 @@ msgid "Use _mplayer2 audio player" msgstr "_mplayer ses çalıcısı kullan" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "_Sonraki" @@ -1131,53 +1131,53 @@ msgid "_Finish" msgstr "_Son" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "" -#: src/interface.c:46 +#: src/interface.c:42 msgid "Apply _Deinterlace" msgstr "" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "" -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "Önizleme" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "" -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "video _önizleme için buraya tıklayın" -#: src/interface.c:122 +#: src/interface.c:113 #, fuzzy msgid "Click here to _Preview the file" msgstr "video _önizleme için buraya tıklayın" -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 #, fuzzy msgid "Processing..." msgstr "LiVES: - İşleniyor..." -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1189,8 +1189,8 @@ "\n" "Lütfen Bekleyin" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" @@ -1198,174 +1198,179 @@ "\n" "Lütfen Bekleyin" -#: src/interface.c:221 +#: src/interface.c:206 msgid "Show Details" msgstr "" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "_Yeterli" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "_Önizleme" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "Durakla_t" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "Duraklat/_Yeterli" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "_İptal" -#: src/interface.c:334 +#: src/interface.c:324 #, fuzzy msgid "Multitrack Details" msgstr "Çoklu parça kip tuşları" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "Biçim" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "Çerçeve boyutu" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "Dosya boyutu" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "Bayt boyutu" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "FPS" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "Çerçeveler" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "Eylemler" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "Toplam süre" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "Ses" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "Oran / boyut" -#: src/interface.c:568 +#: src/interface.c:590 #, fuzzy msgid "Encoding Options" msgstr "LIVES - Kodlama seçenekleri" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." msgstr "" -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "Ayarlarımı tut" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "Tavsiye edilen ayarları kullan" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "_Pencereyi Kapat" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "Dosyaya _kaydet" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "Ekle" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "Ses uyacak şekilde ekle" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "Seçim _öncesi ekle" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "Seçim _sonrası ekle" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "Seçildikten sonra çerçeveyi panoya ekle" -#: src/interface.c:833 +#: src/interface.c:846 +#, fuzzy +msgid "Insert _with silence" +msgstr "Ses ile ekle" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "Ses ile ekle" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "Ses olmadan ekle" -#: src/interface.c:924 +#: src/interface.c:937 #, fuzzy msgid "Open Selection" msgstr "Seçimi _kopyala" -#: src/interface.c:943 +#: src/interface.c:954 msgid "Selection start time (sec)" msgstr "" -#: src/interface.c:949 +#: src/interface.c:960 msgid "Number of frames to open" msgstr "" -#: src/interface.c:1023 +#: src/interface.c:1029 #, fuzzy msgid "Open Location" msgstr "LIVES - Açma Konumu" -#: src/interface.c:1025 +#: src/interface.c:1031 msgid "Open Youtube Clip" msgstr "" -#: src/interface.c:1045 +#: src/interface.c:1050 #, fuzzy msgid "" "\n" @@ -1383,7 +1388,7 @@ "olun\n" "\n" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1392,71 +1397,71 @@ "\n" msgstr "" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "URL : " -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "" -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "bant genişliği bilgisi gönderme" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "Eğer akışta problem yaşıyorsanız bu ayarı deneyin" -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "" -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "" -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr "" -#: src/interface.c:1188 +#: src/interface.c:1189 #, fuzzy msgid "Rename Clip" msgstr "Klibi döndür" -#: src/interface.c:1190 +#: src/interface.c:1191 #, fuzzy msgid "Enter Set Name to Save as" msgstr "LiVES: - Ayarlama Adını Girin" -#: src/interface.c:1192 +#: src/interface.c:1193 #, fuzzy msgid "Enter a Set Name to Reload" msgstr "LiVES: - Ayarlama Adını Girin" -#: src/interface.c:1194 +#: src/interface.c:1195 #, fuzzy msgid "Choose a Working Directory" msgstr "LiVES: - Çalışma Dizini Seçin" -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 msgid "Rename Current Track" msgstr "" -#: src/interface.c:1198 +#: src/interface.c:1199 #, fuzzy msgid "Enter a Name for Your Theme" msgstr "LiVES: - Ayarlama Adını Girin" -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1468,7 +1473,7 @@ "Lütfen kullanmak istediğiniz adını girin.\n" "LiVES çıkmak istediğinizde klibi kaydetmek için hatırlatacaktır\n" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1493,219 +1498,219 @@ "This should be a directory with plenty of disk space available.\n" msgstr "" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "Yeni isim " -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "Ayar ismi " -#: src/interface.c:1257 +#: src/interface.c:1255 #, fuzzy msgid "Theme name " msgstr "Yeni isim " -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "Varsayılanı kullan" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "_Gelişmiş" -#: src/interface.c:1437 +#: src/interface.c:1425 msgid "Select input device" msgstr "" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "" -#: src/interface.c:1517 +#: src/interface.c:1505 #, fuzzy msgid "Load CD Track" msgstr "_CD Parçası Yükle..." -#: src/interface.c:1519 +#: src/interface.c:1507 #, fuzzy msgid "Select DVD Title/Chapter" msgstr "LIVES: - DVD Başlık / Bölüm seçimi" -#: src/interface.c:1521 +#: src/interface.c:1509 #, fuzzy msgid "Select VCD Title" msgstr "LIVES: - VCD Başlığı Seçiniz" -#: src/interface.c:1523 +#: src/interface.c:1511 #, fuzzy msgid "Change Maximum Visible Tracks" msgstr "LIVES - Maksimum Görünür Parça Sayısını Değiştir" -#: src/interface.c:1525 +#: src/interface.c:1513 #, fuzzy msgid "Device details" msgstr "LiVES:- Aygıt detayları" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "Parça yükleme ( %s den)" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "DVD Başlığı" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "VCD Başlığı" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "parça azami sayısını görüntülemek için" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "Aygıt: /dev/video" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "Aygıt: fw:" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "Bölüm " -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "Kanal " -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "Ses nosu " -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "Giriş numarası" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "Ön tanımlı genişlik, yükseklik ve FPS kullanımı" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "Genişlik" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "Yükseklik" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "" -#: src/interface.c:1815 +#: src/interface.c:1778 #, fuzzy msgid "Fade Audio In" msgstr "LiVES:- Ses girişini zayıflatmak" -#: src/interface.c:1817 +#: src/interface.c:1780 #, fuzzy msgid "Fade Audio Out" msgstr "LiVES:- Ses çıkışını zayıflatmak" -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "" -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "birinci" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "" -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "sonuncu" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "saniye." -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "seleksiyon" -#: src/interface.c:1909 +#: src/interface.c:1865 #, fuzzy msgid " (Optional)" msgstr "_Seçenekler" -#: src/interface.c:1912 +#: src/interface.c:1868 #, fuzzy, c-format msgid "File Comments%s" msgstr "LiVES - Dosya Yorumları (isteğe bağlı)" -#: src/interface.c:1927 +#: src/interface.c:1882 #, fuzzy, c-format msgid "File Name: %s" msgstr "Başlık / İsim: " -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "Başlık / İsim: " -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "Yazar / Sanatçı: " -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "Açıklama: " -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "Gözat..." -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "_Seçenekler" -#: src/interface.c:2109 +#: src/interface.c:2058 #, c-format msgid "%sChoose a Device" msgstr "" -#: src/interface.c:2112 +#: src/interface.c:2061 #, fuzzy, c-format msgid "%sChoose a Directory" msgstr "LiVES: - Çalışma Dizini Seçin" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" @@ -1715,7 +1720,7 @@ "Geçerli yerleşim düzeni kaydedilemedi\n" "Ne yapmak istiyorsunuz?\n" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" @@ -1725,14 +1730,14 @@ "Geçerli yerleşim düzeni son kayıttan bu yana değiştirilmiştir.\n" "Ne yapmak istiyorsunuz?\n" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" @@ -1740,7 +1745,7 @@ "Geçerli klip set kaydedilmedi.\n" "Ne yapmak istiyorsunuz?\n" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" @@ -1748,7 +1753,7 @@ "Mevcut düzen kaydedilmedi.\n" "Ne yapmak istiyorsunuz?\n" -#: src/interface.c:2410 +#: src/interface.c:2341 #, fuzzy msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" @@ -1757,86 +1762,86 @@ "Mevcut yerleşim düzeninde o son kaydedilen bu yana değişlik olmamıştır.\n" "Ne yapmak istiyorsunuz?\n" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" "What do you wish to do ?" msgstr "" -#: src/interface.c:2417 +#: src/interface.c:2348 #, fuzzy msgid "Cancel/Discard/Save" msgstr "LiVES - İptal / Sil / Kaydet" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "Klip ayar ismi" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "Değişiklikleri Yoksay" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "Klip ayarlarını sil" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "Düzeni sil" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "Yerleşim Düzenini _Kaydet" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "Klip ayarlarını kaydet" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" "Would you like to try and recover it ?\n" msgstr "" -#: src/interface.c:2527 +#: src/interface.c:2455 msgid "Disk Recovery Options" msgstr "" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "" -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "" -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "Kısayol Tuşları Göster" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1844,344 +1849,344 @@ "-----------------------\n" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "ctrl-left" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 #, fuzzy msgid "skip forwards\n" msgstr "İleri doğru atla" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 #, fuzzy msgid "ctrl-down" msgstr "Ctrl-%d" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "ctrl-enter" msgstr "Diğer merkez" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "reset frame rate\n" msgstr "_İlk çerçeve" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "" -#: src/interface.c:2723 +#: src/interface.c:2642 msgid "reverse direction\n" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "ctrl-1" msgstr "Ctrl-%d" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "toggle real-time effect 1\n" msgstr "Gerçek zaman efekt eklentileri yükleniyor" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "ctrl-2" msgstr "Ctrl-%d" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "toggle real-time effect 2\n" msgstr "Gerçek zaman efekt eklentileri yükleniyor" -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 #, fuzzy msgid "ctrl-0" msgstr "Ctrl-%d" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "real-time effects off\n" msgstr "" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "" -#: src/interface.c:2759 +#: src/interface.c:2678 msgid "grab keyboard for last activated effect\n" msgstr "" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2688 msgid "tab" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "" -#: src/interface.c:2785 +#: src/interface.c:2706 msgid "Other playback keys\n" msgstr "" -#: src/interface.c:2789 +#: src/interface.c:2710 #, fuzzy msgid "play all\n" msgstr "Tümünü oynat" -#: src/interface.c:2792 +#: src/interface.c:2713 #, fuzzy msgid "play selection\n" msgstr "Seçimi oynat" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "" -#: src/interface.c:2798 +#: src/interface.c:2719 #, fuzzy msgid "fullscreen\n" msgstr "_Tam Ekran" -#: src/interface.c:2801 +#: src/interface.c:2722 #, fuzzy msgid "separate window\n" msgstr "Pencereyi kapat" -#: src/interface.c:2804 +#: src/interface.c:2725 #, fuzzy msgid "double size\n" msgstr "_Çift boyut" -#: src/interface.c:2807 +#: src/interface.c:2728 msgid "ping pong loops\n" msgstr "" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "Çoklu parça kip tuşları" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "move current track up\n" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "move current track down\n" msgstr "" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "" -#: src/interface.c:2849 +#: src/interface.c:2768 #, fuzzy msgid "select next clip\n" msgstr "Klip ayarlarını sil" -#: src/interface.c:2852 +#: src/interface.c:2771 msgid "select/deselect current track\n" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "zoom in\n" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "zoom out\n" msgstr "" -#: src/interface.c:2861 +#: src/interface.c:2780 msgid "make a mark on the timeline (during playback)\n" msgstr "" -#: src/interface.c:2864 +#: src/interface.c:2783 msgid "rewind to play start.\n" msgstr "" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "Ayarlar kaydediliyor %s..." -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "" -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "" -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -2189,22 +2194,22 @@ "the latest youtube-dl installed.\n" msgstr "" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, c-format msgid "Layouts were removed for set %s.\n" msgstr "" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "Bu dosya" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " msgstr "" -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2214,7 +2219,7 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2224,14 +2229,14 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" "Really close it ?" msgstr "" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" @@ -2239,7 +2244,7 @@ "\n" "Geçersiz proje dosyası.\n" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2252,54 +2257,54 @@ "Once you have done this, you will be able to import the new project.\n" msgstr "" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "" -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "Proje içeriye alınıyor" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "%s... Proje dışarıya aktarılıyor" -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "Proje dışarıya çıkartılıyor" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 #, fuzzy msgid "Theme" msgstr "Yeni isim " -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, fuzzy, c-format msgid "Exporting theme as %s..." msgstr "%s... Proje dışarıya aktarılıyor" -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, fuzzy, c-format msgid "Importing theme \"%s\" from %s..." msgstr "%s... Proje dışarıya aktarılıyor" -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, fuzzy, c-format msgid "Backup as %s File" msgstr ".lv1 dosyası olarak yedekle" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, fuzzy, c-format msgid "Restore %s File" msgstr ".lv1 dosyası geri yükleniyor" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2307,102 +2312,102 @@ "Are you sure ?\n" msgstr "" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "" -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "Ayar siliniyor..." -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "Ayarları sil" -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "Sessiz ekle" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "Geri alınıyor" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "" -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "Çerçeve resimleri siliniyor" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "Fazla çerçeveler siliniyor" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "Yineleniyor" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, fuzzy, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "Çerçeveler%d panodan%s ekleniyor..." -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, fuzzy, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "Panoya kopyalanıyor" -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "Panoya kopyalanıyor" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "Kes" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 #, fuzzy msgid "Pulling frames from clipboard" msgstr "Klipten çerçeveler alınıyor" -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "" -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "Yapıştırılıyor" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "" -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " "LiVES.\n" msgstr "" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2416,31 +2421,31 @@ "Try selecting all frames, and then using \n" "the 'Trim Audio' function from the Audio menu." -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." msgstr "" -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2448,7 +2453,7 @@ "Clipboard audio has been erased.\n" msgstr "" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2457,32 +2462,32 @@ "using unchanged audio ?\n" msgstr "" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "" -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "Ekleniyor" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "Zamanlar%d panodan%s ekleniyor..." -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "Çerçeveler%d panodan%s ekleniyor..." -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "İptal ediliyor" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" @@ -2492,49 +2497,49 @@ "Bu dosyayı kapatınca tüm çerçeveler silinecek.\n" "Emin misiniz ?" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "Çerçeveler siliniyor %d to %d%s..." -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "Siliniyor" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "Sil" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" @@ -2544,7 +2549,7 @@ "\n" "Seçim kilitlendi.\n" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2552,11 +2557,11 @@ "play.)\n" msgstr "" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "Kayıt iptal edildi.\n" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2569,7 +2574,7 @@ "'%s' eklenti raporu:\n" "%s\n" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2578,7 +2583,7 @@ "The plugin may be broken or not installed correctly." msgstr "" -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2587,22 +2592,22 @@ "Please press 'Cancel' if that is not what you want.\n" msgstr "" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "Ayarlar kaydediliyor %s" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "Klip ayarlardan yükleniyor %s" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2610,24 +2615,24 @@ "Click OK to proceed.\n" msgstr "" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "Disk alanı temizleniyor..." -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "" -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "Çerçeve hızları ve çerçeve değerleri sıfırlanıyor..." -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2635,12 +2640,12 @@ "Internal: %s (%d bpp) / %s\n" msgstr "" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "ara belleğe alınmış" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." @@ -2648,7 +2653,7 @@ "\n" " Açılıyor..." -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" @@ -2657,7 +2662,7 @@ "\n" "(%d sanal)" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" @@ -2666,7 +2671,7 @@ "\n" "(%d çözümlenmiş)" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" @@ -2675,7 +2680,7 @@ "\n" " %.2f sn." -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" @@ -2683,23 +2688,23 @@ "\n" " Bilinmiyor" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "imzasız" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "imzalandı" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" @@ -2708,7 +2713,7 @@ " %d Hz %d bit\n" "%s %s" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2725,15 +2730,15 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n" msgstr "" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "Bir video düzenleyicisi ve VJ programı." -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" "Launchpad Contributions:\n" @@ -2745,7 +2750,7 @@ " salsaman https://launchpad.net/~salsaman\n" " zeugma https://launchpad.net/~sunder67" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, c-format msgid "" "LiVES Version %s\n" @@ -2759,7 +2764,7 @@ "Homepage: %s" msgstr "" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 #, fuzzy msgid "" "\n" @@ -2770,7 +2775,7 @@ "\n" "Dosyayı açmak için mplayer yüklemeniz gerekebilir.\n" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 #, fuzzy msgid "" "\n" @@ -2782,94 +2787,94 @@ "\n" "Dosyayı açmak için mplayer yüklemeniz gerekebilir.\n" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" "%s\n" msgstr "" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 msgid "Encoder Debug Output" msgstr "" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "Tam ekran oynatma (f)" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "Tam ekran oynatma (f)" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "Çift boyut (d)" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "Tek boyut (d)" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "Oynatma penceresini gizle (s)" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "Oynatma penceresini göster (s)" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "Ses hacmi (%.2f)" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "Sesi kesme (z)" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "Sesi kes (z)" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "" -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 #, fuzzy msgid "Load Subtitles" msgstr "Altyazıları Göster" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "Yüklenen altyazı dosyası: %s\n" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "Altyazılar silindi.\n" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 #, fuzzy msgid "Select Audio File" msgstr "Sesi sil" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -2877,60 +2882,60 @@ "." msgstr "" -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "" -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "Ses açılıyor" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "Yeni ses" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "" -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "CD parçası %d" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "CD parçası açılıyor..." -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "CD parçası yüklenirken hata veriyor\n" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 #, fuzzy msgid "Layout Errors" msgstr "Düzen hataları" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "Hataları sil" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "Etkilenen düzenleri sil" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "Devam Et" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" @@ -2940,23 +2945,23 @@ "Duraklatıldı\n" "(İşleme devam etmek için tıklayınız )" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "duraklatıldı..." -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "" -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "Koru" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "Yeter" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, fuzzy, c-format msgid "" "\n" @@ -2968,30 +2973,30 @@ "Duraklatıldı\n" "(İşleme devam etmek için tıklayınız )" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "İptal" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 #, fuzzy msgid "Selected Frame" msgstr "_Tüm çerçeveleri seç" -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 #, fuzzy msgid "_Save Frame as..." msgstr "Son Çerçeve" -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -3000,7 +3005,7 @@ "\n" msgstr "" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -3008,7 +3013,7 @@ "\n" msgstr "" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" @@ -3016,7 +3021,7 @@ "\n" "Kayıt süresi 0'dan büyük olmalıdır.\n" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -3025,17 +3030,17 @@ "\n" msgstr "" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" msgstr "" -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -3045,19 +3050,19 @@ "(Default of %.3f frames per second will be used.)\n" msgstr "" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "" -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "" -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -3066,120 +3071,120 @@ "rate.\n" msgstr "" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "" -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "" -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "Ses dışa aktarılıyor" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 #, fuzzy msgid "Append Audio File" msgstr "Ses ekle" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "%s Ses dosyası ekleniyor" -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "ses ekleniyor" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "Ses ekle" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "" -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "Ses Kırpılıyor/Dolgulanıyor" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "Ses Kırp/Dolgu" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "" -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "" -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "" -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" "Are you sure ?" msgstr "" -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "Tüm sesler siliniyor..." -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "Ses siliniyor" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "Sesi sil" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "Yeni ses kaydet" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "" @@ -3192,886 +3197,886 @@ msgid "Merge Clipboard [ %d Frames ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "_Çerçeve _ekle" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "Çerçeve _Çıkar" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "_Geçiş Yöntemi:" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "" -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "Birleştirme yapıldı.\n" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "" -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "_Özel Efektler" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "Özel _Yardımcılar" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "_Dosya" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "_Dosya/Klasör Aç" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "" -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "_Konum/Akış Aç..." -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "" -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "" -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "_Firewire aygıtından (dv) içeri al" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "_Firewire aygıtından (hdv) içeri al" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "" -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "_Firewire aygıtı canlı yayın ekle" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "_Son Dosyalar ..." -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "Klip ayarını _tekrar yükle" -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "_Tüm klipleri kaydet/kapat" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "Klibi farklı adla _kodla..." -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "Seçimii farklı adla _kodla..." -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "Bu klibi _kapat" -#: src/gui.c:692 +#: src/gui.c:674 #, fuzzy, c-format msgid "_Backup Clip as .%s..." msgstr "Klip _Yedeği .lv1 i Farklı Kaydet..." -#: src/gui.c:701 +#: src/gui.c:683 #, fuzzy, c-format msgid "_Restore Clip from .%s..." msgstr ".lv1 den klibi _geri yükle..." -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "Sesli Kodla/Yükle/Yedek" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "Altyazıları otomatik yükle" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "Disk alanını temizle" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "_Düzenle" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "Çok parçalı kip" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "Seçimi _kopyala" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "Seçimi ke_s" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "Panodan _ekle..." -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "_Yeni Olarak Yapıştır" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "Seçimi pano ile _birleştir..." -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "_Seçimi sil" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "_Seç..." -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "_Tüm çerçeveleri seç" -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "Son _efektii seç" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "_Seçimi Tersine Çevir" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "Genişlik Seçimini _Kilitle" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "_Oynat" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "Tümünü _Oynat" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "Seçim O_ynat" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "_Panoyu oynat" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "_Durdur" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "_Geriye sar" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "_Tam Ekran" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "_Çift boyut" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "_Boş arkaplan" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "(Otomatik) Video _döngüsü (ses e uyacak şekilde)" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "Sürekli dö_ngü" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "_Sessiz" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "Çerçeve saymayı _göster" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "Altyazıları Göster" -#: src/gui.c:1069 +#: src/gui.c:1045 msgid "Letterbox Mode" msgstr "" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "Efekt_ler" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "Geçerli seçime efektleri uygula" -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "_Araçlar" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "" -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "" -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "" -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "_Yardımcılar" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "Özel _Araçlar" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "_Üret" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "" -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "Altyazıları silme" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "_Dış Pencere Yakala... " -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "_Tercihler" -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "_Ses" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "Klip için _Yeni Ses Yükle..." -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "_CD Parçası Yükle..." -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "_CD'yi Çıkart" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "_Dış Kaynaklı Ses kaydı" -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "Yeni _Klip e..." -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "_Seçime" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "" -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "" -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "Ses _Çıkart..." -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "_Seçili Sesi Çıkart..." -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "_Tüm sesleri çıkart" -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "" -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "" -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "" -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "" -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "Sesi _sil" -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "Seçilmiş Sesi sil" -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "Tüm sesi sil" -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "" -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "_Bilgi" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "Klip Bilgisini _Göster" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "Dosya Açıklamalarını Düzenle_/Göster" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "_Pano Bilgisini Göster" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "_Mesajları Göster" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "_Yerleşim düzeni hatalarını göster" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "_Klipler" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "" -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "_Gelişmiş" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "" -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "" -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "" -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "" -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "" -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "" -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "" -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "" -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "" -#: src/gui.c:1397 +#: src/gui.c:1371 msgid "Receive _LiVES Stream from..." msgstr "" -#: src/gui.c:1401 +#: src/gui.c:1375 msgid "_Send LiVES Stream to..." msgstr "" -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "" -#: src/gui.c:1426 +#: src/gui.c:1399 #, fuzzy, c-format msgid "_Import Project (.%s)..." msgstr "Proje (.lv2) _dışarı çıkartılıyor..." -#: src/gui.c:1430 +#: src/gui.c:1403 #, fuzzy, c-format msgid "E_xport Project (.%s)..." msgstr "Proje (.lv2) _dışarı çıkartılıyor..." -#: src/gui.c:1437 +#: src/gui.c:1409 #, fuzzy, c-format msgid "_Import Custom Theme (.%s)..." msgstr "Proje (.lv2) _dışarı çıkartılıyor..." -#: src/gui.c:1442 +#: src/gui.c:1414 #, fuzzy, c-format msgid "E_xport Theme (.%s)..." msgstr "Proje (.lv2) _dışarı çıkartılıyor..." -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "_VJ" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "Gerçek Zamanlı _Efekt Haritası" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "Gerçek zamanlı efektler için ctrl-sayı tuşları atama." -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "Gerçek zamanlı efekt ön tanımları ayarla" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "" -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." msgstr "" -#: src/gui.c:1476 +#: src/gui.c:1448 msgid "_Reset All Playback Speeds and Positions" msgstr "" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "" -#: src/gui.c:1480 +#: src/gui.c:1452 #, fuzzy msgid "_MIDI/Joystick Interface" msgstr "_MIDI/denetim kolu arayüz" -#: src/gui.c:1489 +#: src/gui.c:1461 #, fuzzy msgid "_MIDI/Joystick Learner..." msgstr "_MIDI/denetim kolu arayüz" -#: src/gui.c:1493 +#: src/gui.c:1465 msgid "_Save Device Mapping..." msgstr "" -#: src/gui.c:1497 +#: src/gui.c:1469 msgid "_Load Device Mapping..." msgstr "" -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "VJ _Tuşlarını Göster" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "_Araçlar" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "_Hiçbiri" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "_LiVES TV (Geniş band)" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "_Yardım" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "Kılavuz (tarayıcıda açılır)" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 #, fuzzy msgid "_Donate to the Project !" msgstr "Projeye _Bağış !" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 #, fuzzy msgid "_Email the Author" msgstr "Yazara _E-posta" -#: src/gui.c:1547 +#: src/gui.c:1519 #, fuzzy msgid "Report a _Bug" msgstr "_Hata Raporu" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 #, fuzzy msgid "Suggest a _Feature" msgstr "Bir özellik _önerin" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 msgid "Assist with _Translating" msgstr "" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "_Sorun Giderici" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "_Hakkında" -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "Tümünü oynat (p)" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "Oynatmayı durdur (q)" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "Seçimi oynat (y)" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "Ses Düzeyi" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "Ses düzeyi (1.00)" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "Dolu arkaplan (b)" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "Yavaş oynat (ctrl-down)" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "Hızlı oynat (ctrl-up)" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "İleri gitme (ctrl-right)" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "Klip bilgisini göster (i)" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "Araç çubuğunu gizle" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." msgstr "" #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr "" -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "İlk Kare" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "Son Çerçeve" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "Başlatılıyor ...\n" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr "" " Kayıt durdurmak için 'q' tuşuna bas. OYNATMA PENCERESİNİ KAPATMAYIN ! " -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "Önizleme için çerçeve sayısı" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "_Serbest" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "Çerçeve sayısı özgür seçim" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "_Başlat" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "_Son" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "_İşaretçi" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "Geriye Sar" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "Tümünü oynat" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "Seçimi oynat" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "Döngüyü Aç/Kapat" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "_Kaydı başlat" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "_Kaydı durdur" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "_Kayıt Performansı" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr "" -#: src/gui.c:3613 +#: src/gui.c:3553 #, fuzzy msgid "Streaming" msgstr "Hayal" -#: src/gui.c:3615 +#: src/gui.c:3555 #, fuzzy, c-format msgid "Play Window%s" msgstr "Oynatma Penceresini Gizle" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "Oynatma Penceresini Gizle" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "Oynatma Penceresini Göster" -#: src/gui.c:4199 +#: src/gui.c:4127 #, fuzzy, c-format msgid "'LiVES opened the file' '%s'" msgstr "" "LiVES görüntü yakalanamadı\n" "\n" -#: src/gui.c:4220 +#: src/gui.c:4146 #, fuzzy, c-format msgid "'LiVES closed the file' '%s'" msgstr "Dosya kapandı %s\n" @@ -4081,11 +4086,11 @@ msgid "Mapped to ctrl-%d" msgstr "" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "Efektler" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "Klipler" @@ -4099,11 +4104,11 @@ msgid "Select clip for %s\n" msgstr "Klip ayarlarını sil" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "" @@ -4148,11 +4153,11 @@ msgid "%d bytes" msgstr "" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "Panoyu temizle" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -4160,81 +4165,81 @@ "Switched to clip %s\n" msgstr "" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" "Switched to empty clip\n" msgstr "" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " "updated accordingly\n" msgstr "" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -4242,7 +4247,7 @@ "by another copy of LiVES.\n" msgstr "" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -4250,39 +4255,39 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2188 +#: src/utils.c:2207 #, c-format msgid "" "\n" "%s names may not be blank.\n" msgstr "" -#: src/utils.c:2196 +#: src/utils.c:2215 #, c-format msgid "" "\n" "%s names may not be longer than %d characters.\n" msgstr "" -#: src/utils.c:2204 +#: src/utils.c:2223 #, c-format msgid "" "\n" "%s names may not contain spaces or the characters%s.\n" msgstr "" -#: src/utils.c:2213 +#: src/utils.c:2232 #, c-format msgid "" "\n" "%s names may not start with a '.' or contain '..'\n" msgstr "" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4290,72 +4295,72 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "%s Yerleşim düzeni kaldırıldı\n" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "Video [açılıyor ...]" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "Video [%.2f sn]" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "(Tanımsız)" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "(Video yok)" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "(Ses yok)" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "Mono [açılıyor...]" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "Sol Ses [açılıyor...]" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "Mono [%.2f sn]" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "Sol Ses [%.2f sn]" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "Sağ Ses [açılıyor...]" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "Sağ Ses [%.2f sn]" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "" -#: src/utils.c:3492 +#: src/utils.c:3548 msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "" -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4370,29 +4375,29 @@ "\n" "Üzerine yazayım mı ?\n" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "_Geri al %s" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "_Yinele %s" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "------------- Seçim ------------" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr " sn ] ----------Seçim---------- [ " -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr " çerçeve ] ----------" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4417,7 +4422,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr " sessiz" @@ -4527,7 +4532,7 @@ msgstr "" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "Klipten çerçeveler alınıyor" @@ -4584,12 +4589,12 @@ msgid "Recording performance..." msgstr "Kayıt performansı ..." -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "Ortalama FPS %.4f\n" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4598,21 +4603,21 @@ "and resize all frames to the current size.\n" msgstr "" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "Bilinmeyen" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "Adsız Belge%d" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "%d çerçeve yeterli !\n" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4620,13 +4625,13 @@ "%s\n" msgstr "" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" msgstr "" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4634,7 +4639,7 @@ "Bad things may happen with this clip.\n" msgstr "" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4646,12 +4651,12 @@ "fps \n" "Ön tanımlılar Araçlar | Tercihler | Çeşitli menüsünden ayarlanabilir.\n" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" @@ -4660,7 +4665,7 @@ "Çerçeveler=%d tipi=%s boyut=%dx%d *bpp=Gri tonlama* fps=%.3f\n" "Ses:" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" @@ -4669,54 +4674,54 @@ "Çerçeveler=%d tipi=%s boyut=%dx%d bpp=%d fps=%.3f\n" "Ses:" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, fuzzy, c-format msgid " - Author: %s\n" msgstr "Yayıncı: %s" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, fuzzy, c-format msgid " - Title: %s\n" msgstr " - Yorum: %s\n" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr " - Yorum: %s\n" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "" -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "Yedekleniyor" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "" -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "Yeniden Yükleniyor %s..." -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "Yeniden Yükleniyor" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -4767,12 +4772,12 @@ msgid "Recovering files..." msgstr "Dosyalar kurtarılıyor..." -#: src/dialogs.c:87 +#: src/dialogs.c:83 #, fuzzy msgid "Show affeced _layouts" msgstr "Etkilenen _yerleşim düzenini göster" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" @@ -4780,51 +4785,51 @@ "bu ve diğer uyarıları gösterme.\n" "(Tercihler / Uyarılar dan tekrar geri dönülebilir)" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr "" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 #, fuzzy msgid "Warning !" msgstr "Uyarılar" -#: src/dialogs.c:198 +#: src/dialogs.c:186 #, fuzzy msgid "Error !" msgstr "$hata" -#: src/dialogs.c:208 +#: src/dialogs.c:196 #, fuzzy msgid "Information" msgstr "LIVES - Açma Konumu" -#: src/dialogs.c:234 +#: src/dialogs.c:221 msgid "Question" msgstr "" -#: src/dialogs.c:248 +#: src/dialogs.c:235 #, fuzzy msgid "File Error" msgstr "Hataları sil" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "_Detayları Göster" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -4835,7 +4840,7 @@ "(Disk warning levels can be configured in Preferences.)" msgstr "" -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -4847,11 +4852,11 @@ "Preferences.)" msgstr "" -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "" -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -4863,25 +4868,25 @@ "LiVES Bu işlemi yetersiz hafıza nedeniyle gerçekleştiremedi.\n" "Lütfen önce diğer bazı uygulamaları kapatarak deneyin.\n" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "" -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" "%s%d%% done. Time remaining: %u sec%s\n" msgstr "" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" "%d/%d frames opened. Time remaining %u sec.\n" msgstr "" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" @@ -4890,7 +4895,7 @@ "\n" "%d/%d çerçeve açıldı.\n" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" @@ -4899,7 +4904,7 @@ "\n" "%d çerçeve açıldı.\n" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" @@ -4908,7 +4913,7 @@ "\n" "Kalan süre:% d saniye" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -4919,7 +4924,7 @@ "Üzgünüz, LiVES bir seferde sadece d% dosya açabilirsiniz \n" "Lütfen bir dosyayı kapatın ve yeniden deneyin." -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, fuzzy, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -4938,7 +4943,7 @@ "\n" "Lütfen bu dizine yazabilir olduğuna emin olun." -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 #, fuzzy msgid "" "\n" @@ -4949,7 +4954,7 @@ "LiVES çalışması için 'mplayer' veya 'sox' gereklidir. Lütfen birini yada " "her ikisini yükleyin ve yeniden deneyin.\n" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 #, fuzzy msgid "" "\n" @@ -4960,7 +4965,7 @@ "LiVES çalışması için 'mplayer' veya 'sox' gereklidir. Lütfen birini yada " "her ikisini yükleyin ve yeniden deneyin.\n" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 #, fuzzy msgid "" "\n" @@ -4971,19 +4976,19 @@ "LiVES çalışması için 'mplayer' veya 'sox' gereklidir. Lütfen birini yada " "her ikisini yükleyin ve yeniden deneyin.\n" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" @@ -4994,7 +4999,7 @@ "veya Araçlar | Tercihler | Kodlayıcı menüsünden başka kodlama biçimini " "ayarlayın.\n" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -5002,19 +5007,19 @@ "Please set the audio codec in Tools|Preferences|Encoding\n" msgstr "" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -5022,83 +5027,83 @@ "Due to restrictions in the %s format\n" msgstr "" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" msgstr "" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr ", Imzalandı" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr ", imzasız" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr "" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr "" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "%d x %d piksel için dosya boyutu ayarla\n" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" msgstr "" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "%d x %d piksel için dosya boyutu\n" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "LiVES gerekli:\n" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -5107,14 +5112,14 @@ "\n" msgstr "" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" "\n" msgstr "" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -5123,7 +5128,7 @@ "Try recording for just a selection of the file." msgstr "" -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -5134,7 +5139,7 @@ "Please press Cancel to abort the insert, or OK to continue." msgstr "" -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -5147,18 +5152,18 @@ "click Cancel." msgstr "" -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "Mesaj geçmişi" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " "in your %s file" msgstr "" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -5169,7 +5174,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 #, fuzzy msgid "" "Sorry, unknown audio type.\n" @@ -5180,18 +5185,18 @@ "\n" " (Dosya adları ile sona ermelidir .mp3,. .ogg, .wav,. .mod, .xm veya .it)" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "başarısız (Bilinmeyen tip)\n" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" "(They will not be usable without the set).\n" msgstr "" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -5200,7 +5205,7 @@ "Click Cancel to pick a new name.\n" msgstr "" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -5208,7 +5213,7 @@ "." msgstr "" -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -5216,7 +5221,7 @@ "." msgstr "" -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -5227,7 +5232,7 @@ "Otherwise click Cancel to skip loading this file.\n" msgstr "" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -5237,7 +5242,7 @@ "The clip could not be loaded.\n" msgstr "" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -5245,7 +5250,7 @@ "Alternately, select a different audio player in Preferences.\n" msgstr "" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -5254,13 +5259,13 @@ "Automatic jack startup will be disabled now.\n" msgstr "" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" msgstr "" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -5271,13 +5276,13 @@ "%s\n" msgstr "" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" msgstr "" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -5287,7 +5292,7 @@ "It is recommended to increase it to at least %d MB" msgstr "" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -5296,7 +5301,7 @@ "Do you wish to delete them ?\n" msgstr "" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -5304,7 +5309,7 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -5312,56 +5317,56 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" msgstr "" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" msgstr "" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" "You can set this in Tools|Preferences|Playback." msgstr "" -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" "Should I try to repair the disk copy of the layout ?\n" msgstr "" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" msgstr "" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 #, fuzzy msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" @@ -5371,7 +5376,7 @@ "LiVES çalışması için 'mplayer' veya 'sox' gereklidir. Lütfen birini yada " "her ikisini yükleyin ve yeniden deneyin.\n" -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 #, fuzzy msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" @@ -5381,7 +5386,7 @@ "LiVES çalışması için 'mplayer' veya 'sox' gereklidir. Lütfen birini yada " "her ikisini yükleyin ve yeniden deneyin.\n" -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 #, fuzzy msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" @@ -5391,14 +5396,14 @@ "LiVES çalışması için 'mplayer' veya 'sox' gereklidir. Lütfen birini yada " "her ikisini yükleyin ve yeniden deneyin.\n" -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" "Audio rate must be greater than 0.\n" msgstr "" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5406,14 +5411,14 @@ "Are you sure you wish to view it ?\n" msgstr "" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" "You must install 'dvgrab' to use this function.\n" msgstr "" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5422,25 +5427,25 @@ "You may need to select one of these in Tools/Preferences/Playback.\n" msgstr "" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" msgstr "" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5449,33 +5454,33 @@ "echo %d > /proc/sys/net/core/rmem_max\n" msgstr "" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "iptal edildi.\n" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "başarısız.\n" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "tamam.\n" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "Başarısız . dosyada hata\n" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -5485,7 +5490,7 @@ "%s%s%s" msgstr "" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -5495,7 +5500,7 @@ "%s" msgstr "" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -5505,7 +5510,7 @@ "%s" msgstr "" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -5514,7 +5519,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -5524,7 +5529,7 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -5533,7 +5538,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -5543,12 +5548,12 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "" -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -5557,7 +5562,7 @@ "Please check your system for errors.\n" msgstr "" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -5566,7 +5571,7 @@ "Please check the file permissions and try again." msgstr "" -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -5575,7 +5580,7 @@ "Please check the directory permissions and try again." msgstr "" -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, c-format msgid "" "\n" @@ -5583,14 +5588,14 @@ "%s\n" msgstr "" -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -5598,13 +5603,13 @@ "Please select another encoder from the list.\n" msgstr "" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" msgstr "" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -5614,27 +5619,27 @@ "- Check if the device actually exists.\n" msgstr "" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" "Do you wish to overwrite the existing subtitles ?\n" msgstr "" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 msgid "" "\n" "LiVES currently only supports subtitles of type" msgstr "" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -5643,14 +5648,14 @@ "or OK to continue and save as type \"%s\"\n" msgstr "" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" "(If unsure, click Yes)\n" msgstr "" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -5661,19 +5666,19 @@ "." msgstr "" -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" msgstr "" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" msgstr "" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -5681,7 +5686,7 @@ "DO NOT SHUT DOWN OR CLOSE LIVES !\n" msgstr "" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, c-format msgid "" "\n" @@ -5689,14 +5694,14 @@ "The theme could not be loaded correctly.\n" msgstr "" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" "Please check the spelling of the set name and try again.\n" msgstr "" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -5705,7 +5710,7 @@ "directory. Would you like me to do this (recommended) ?" msgstr "" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -5717,7 +5722,7 @@ msgstr "" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -5726,40 +5731,40 @@ "\n" msgstr "" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" "Consult your package distributor.\n" msgstr "" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" msgstr "" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "" "Lütfen Araçlar | Tercihler | Çeşitli menüsünden CD oynatma aygıtını " "ayarlayınız.\n" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, c-format msgid "" "\n" @@ -5768,7 +5773,7 @@ "(Theme name not found).\n" msgstr "" -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -5777,7 +5782,7 @@ "already exists. Would you like to overwrite it ?\n" msgstr "" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -5918,7 +5923,7 @@ msgid "Video only Transitions" msgstr "Sadece Video Geçişleri" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "sadece ses" @@ -5926,7 +5931,7 @@ msgid "Audio only Transitions" msgstr "Sadece Ses Geçişleri" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "ses" @@ -5970,7 +5975,7 @@ msgid "Audio Analysers" msgstr "" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "bilinmeyen" @@ -6025,89 +6030,89 @@ "No frames were generated.\n" msgstr "" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 #, fuzzy msgid "Invalid element" msgstr "Geçersiz parametre" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 #, fuzzy msgid "Invalid property" msgstr "Geçersiz parametre" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 msgid "Invalid plugin" msgstr "" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 #, fuzzy msgid "No error" msgstr "$hata" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 msgid "integer" msgstr "" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 msgid "string" msgstr "" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 msgid "pointer" msgstr "" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" @@ -6116,271 +6121,271 @@ "Bilgi: %s eklentisi yüklenemiyor\n" "Hata:% s\n" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr "" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "%d Weed filtresi başarıyla yüklendi\n" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, c-format msgid "Successfully loaded %d compound filters\n" msgstr "" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, fuzzy, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "%s üretici başlatılamadı\n" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "%s üretci başlayamıyor\n" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, fuzzy, c-format msgid "Failed to start generator %s (%s)\n" msgstr "%s üretici başlatılamadı\n" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, fuzzy, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "%s üretici başlatılamadı\n" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 msgid "Autoscale" msgstr "" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 #, fuzzy msgid "Delete this connection" msgstr "_Seçimi sil" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, c-format msgid "%s - Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, c-format msgid "%s - Parameter Data Connections" msgstr "" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 msgid "Parameter and Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 msgid "Auto Connect Channels" msgstr "" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 msgid "Auto Connect Parameters" msgstr "" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "_Değerleri Sıfırla" -#: src/framedraw.c:241 +#: src/framedraw.c:242 msgid "_Frame" msgstr "" @@ -6424,40 +6429,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "%s : boyut" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "Yeni boyut (pixels)" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "_Genişlik" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "_Yükseklik" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "" -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -6523,32 +6528,32 @@ "\n" msgstr "" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "" -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "_FPS" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "eklenti için çerçeve hızı düzeltildi.\n" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -6557,7 +6562,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -6567,31 +6572,31 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" "Error was: %s\n" msgstr "" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " "***\n" msgstr "" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -6600,7 +6605,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -6609,7 +6614,7 @@ "or switch to another plugin using Tools|Preferences|Encoding\n" msgstr "" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, c-format msgid "" "\n" @@ -6617,12 +6622,12 @@ "No decoders found in %s !\n" msgstr "" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, fuzzy, c-format msgid " using %s" msgstr "%s açılıyor" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -6631,7 +6636,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -6641,24 +6646,24 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "/bilinmeyen" -#: src/plugins.c:2556 +#: src/plugins.c:2550 msgid "Decoder Plugins" msgstr "" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "%s gelişmiş ayarlar" @@ -6865,20 +6870,20 @@ msgid "Move _Down" msgstr "_Aşağı Taşı" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 #, fuzzy msgid "RFX Properties" msgstr "LiVES: - RFX Özellikleri" -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -6887,7 +6892,7 @@ "\n" msgstr "" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -6895,226 +6900,226 @@ "Please check the trigger code.\n" msgstr "" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 #, fuzzy msgid "New RFX Parameter" msgstr "LiVES: - Yeni RFX Parametresi" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 #, fuzzy msgid "Edit RFX Parameter" msgstr "LiVES: - RFX Parametresini düzenle" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "_İsim: " -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "" -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "_Etiket: " -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." msgstr "" -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "_Tip: " -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "Parametre tipi (listeden seçin)." -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "" -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "_Ön tanımlı değer: " -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "_Ön tanımlı " -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "Buton _Grubu: " -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "" -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "_En küçük değer: " -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "En _büyük değer: " -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr " _Adım büyüklüğü: " -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "" -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 msgid "_Wrap value" msgstr "" -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "" -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "Ön tanımlı _Kırmızı: " -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "Ön tanımlı _Yeşil:" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "Ön tanımlı _Mavi: " -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "ön tanımlı değer: " -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "En büyük uzunluk (karakter): " -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 #, fuzzy msgid "New RFX Parameter Window Hint" msgstr "Parametre _Pencere İpuçları..." -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 #, fuzzy msgid "Edit RFX Parameter Window Hint" msgstr "Parametre _Pencere İpuçları..." -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "" -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "" -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "" -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "Satır: " -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "Bağlantılı parametreler (%d): " -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "Bağlantılı parametreler (4): " -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "Bağlantılı parametreler (2): " -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 msgid "New RFX Trigger" msgstr "" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 msgid "Edit RFX Trigger" msgstr "" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "" -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 #, fuzzy msgid "Pre Loop Code" msgstr "LiVES: - Döngü Kodu" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 #, fuzzy msgid "Loop Code" msgstr "_Döngü kodu..." -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 #, fuzzy msgid "Post Loop Code" msgstr "LiVES: - Döngü Kodu" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, fuzzy, c-format msgid "Default text (max length %d)" msgstr "LiVES: - Varsayılan metin (mak. uzunluk %d)" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 msgid "Enter values, one per line" msgstr "" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" "Name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" "Name must not contain spaces.\n" msgstr "" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" "Menu text must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" "Action description must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" "Author must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -7122,28 +7127,28 @@ "Name must be unique.\n" msgstr "" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" "Loop code should not be blank.\n" msgstr "" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" "Trigger code should not be blank for a utility.\n" msgstr "" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" "Parameter name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -7152,41 +7157,41 @@ "\n" msgstr "" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "" -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -7196,27 +7201,27 @@ "\n" msgstr "" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "" -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "özel..." -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "test..." -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "" -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -7225,7 +7230,7 @@ "Please check this program is in your path and executable.\n" msgstr "" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -7235,12 +7240,12 @@ "\n" msgstr "" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "" -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -7250,7 +7255,7 @@ "Error code was %d\n" msgstr "" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -7260,12 +7265,12 @@ "Please delete it first, or rename the test script.\n" msgstr "" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "" -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -7276,22 +7281,22 @@ "Return code was %d (%s)\n" msgstr "" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 #, fuzzy msgid "Export Script" msgstr "Proje dışarıya çıkartılıyor" -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "" -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 #, fuzzy msgid "Import Script" msgstr "Proje içeriye alınıyor" -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -7301,43 +7306,43 @@ "Please delete it first, or rename the import script.\n" msgstr "" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 msgid "Copy RFX Script" msgstr "" -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "" -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr "" -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 msgid "Rename Test RFX Script" msgstr "" -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "" -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 msgid "RFX Script Name" msgstr "" -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "" -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "Yeni isim: " -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "" -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -7345,12 +7350,12 @@ "Script name must be unique.\n" msgstr "" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "" -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -7361,26 +7366,26 @@ "Return code was %d\n" msgstr "" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 #, fuzzy msgid "Applying Current Real Time Effects to" msgstr "Gerçek zamanlı efekt ön tanımları ayarla" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "" -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "" -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -7388,7 +7393,7 @@ "full screen, separate window (fs) mode\n" msgstr "" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -7396,7 +7401,7 @@ "(Free space = UNKNOWN)" msgstr "" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -7405,14 +7410,14 @@ "(Free space = %s)" msgstr "" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" "It should be in a partition with plenty of free disk space.\n" msgstr "" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7423,7 +7428,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7433,7 +7438,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1193 +#: src/preferences.c:1163 msgid "" "You have chosen to change the working directory.\n" "Please make sure you have no other copies of LiVES open.\n" @@ -7445,7 +7450,7 @@ "setting." msgstr "" -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, c-format msgid "" "\n" @@ -7454,13 +7459,13 @@ "See %s\n" msgstr "" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" msgstr "" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, c-format msgid "" "\n" @@ -7469,922 +7474,922 @@ "See %s\n" msgstr "" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "" -#: src/preferences.c:2468 +#: src/preferences.c:2418 #, fuzzy msgid "Preferences" msgstr "_Tercihler" -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "" -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr "" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr "" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." msgstr "" -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "GUI" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr "" -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "saniye" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "_Hiçbir Zaman" -#: src/preferences.c:2872 +#: src/preferences.c:2757 #, fuzzy msgid "Maximum number of visible tracks" msgstr "parça azami sayısını görüntülemek için" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "" -#: src/preferences.c:2925 +#: src/preferences.c:2804 msgid "Video open command (fallback)" msgstr "" -#: src/preferences.c:2935 +#: src/preferences.c:2811 msgid "Fallback image format" msgstr "" -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "_jpeg" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "_png" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "" -#: src/preferences.c:2964 +#: src/preferences.c:2832 msgid "Open/render compression" msgstr "" -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr "" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "" -#: src/preferences.c:2995 +#: src/preferences.c:2856 msgid "Automatic trimming / padding of audio when possible" msgstr "" -#: src/preferences.c:2997 +#: src/preferences.c:2858 msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "VİDEO" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "_Eklenti" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "SES" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "" -#: src/preferences.c:3269 +#: src/preferences.c:3110 msgid "Source:" msgstr "" -#: src/preferences.c:3273 +#: src/preferences.c:3114 msgid "_Internal" msgstr "" -#: src/preferences.c:3278 +#: src/preferences.c:3119 msgid "_External (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "Oynat" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" msgstr "" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr "" -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "_Çerçeve değişiklikleri" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "_FPS değişiklikleri" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "GB" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "Kaydediliyor" -#: src/preferences.c:3454 +#: src/preferences.c:3273 msgid "You can also change these values when encoding a clip" msgstr "" -#: src/preferences.c:3466 +#: src/preferences.c:3285 msgid "Encoder" msgstr "" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "Çıktı biçimi" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "Ses çözücüsü" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "Kodlama" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." msgstr "" -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr " Video yükleme dizini (varsayılan) " -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr " Video kaydetme dizini (varsayılan) " -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr " Ses yükleme dizini (varsayılan) " -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr " Resim dizini (varsayılan) " -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr "" -#: src/preferences.c:3649 +#: src/preferences.c:3461 msgid " Working directory (do not remove) " msgstr "" -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "" -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "LiVES çalışma dizini." -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "Dizinler" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "" -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr "" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "" -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" msgstr "" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "" -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr " MB" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "" -#: src/preferences.c:3872 +#: src/preferences.c:3659 msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " "when LiVES is started." msgstr "" -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "" -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "" -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "" -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "" -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "" -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "" -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "" -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "" -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "" -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "" -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "" -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "" -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "" -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "" -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." msgstr "" -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "" -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "" -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "" -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "" -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "" -#: src/preferences.c:4113 +#: src/preferences.c:3865 msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "" -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "Uyarılar" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "" -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "CD aygıtı " -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "" -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "Çeşitli" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "Yeni tema: " -#: src/preferences.c:4242 +#: src/preferences.c:3977 msgid "Main Theme Details" msgstr "" -#: src/preferences.c:4254 +#: src/preferences.c:3988 #, fuzzy msgid " _Foreground Color" msgstr "_Arkaplan Rengi" -#: src/preferences.c:4273 +#: src/preferences.c:4007 #, fuzzy msgid " _Background Color" msgstr "_Arkaplan Rengi" -#: src/preferences.c:4291 +#: src/preferences.c:4026 #, fuzzy msgid "_Alt Foreground Color" msgstr "_Arkaplan Rengi" -#: src/preferences.c:4309 +#: src/preferences.c:4044 #, fuzzy msgid "_Alt Background Color" msgstr "_Arkaplan Rengi" -#: src/preferences.c:4327 +#: src/preferences.c:4062 #, fuzzy msgid " Info _Text Color" msgstr " _Yükseklik " -#: src/preferences.c:4346 +#: src/preferences.c:4081 #, fuzzy msgid " Info _Base Color" msgstr " _Yükseklik " -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "" -#: src/preferences.c:4365 +#: src/preferences.c:4100 msgid "Affects some contrast details of the timeline" msgstr "" -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "" -#: src/preferences.c:4398 +#: src/preferences.c:4132 #, fuzzy msgid "Frame blank image" msgstr "_Çerçeve değişiklikleri" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "" -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4474 +#: src/preferences.c:4203 #, fuzzy msgid "Track background (multitrack)" msgstr "Dolu arkaplan (b)" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "" -#: src/preferences.c:4529 +#: src/preferences.c:4258 msgid "Timeline selection (multitrack)" msgstr "" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "" -#: src/preferences.c:4553 +#: src/preferences.c:4282 msgid "Timecode foreground (multitrack)" msgstr "" -#: src/preferences.c:4565 +#: src/preferences.c:4293 #, fuzzy msgid "Frame surround" msgstr "_Süre (saniye)" -#: src/preferences.c:4582 +#: src/preferences.c:4306 #, fuzzy msgid "Themes/Colors" msgstr "Temalar" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "" -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "" -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" msgstr "" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" msgstr "" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "" -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "Gelişmiş" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." msgstr "" -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "" -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -8392,41 +8397,41 @@ "Click OK to continue.\n" msgstr "" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." msgstr "" -#: src/preferences.c:5525 +#: src/preferences.c:5205 msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "" -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "" -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "" @@ -8449,157 +8454,157 @@ msgid "Resample/Resize" msgstr "" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" "New rate must be greater than 0\n" msgstr "" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "" -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "" -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "Örnek tekrar" -#: src/resample.c:1208 +#: src/resample.c:1209 #, fuzzy msgid "New Clip Audio" msgstr "Yeni ses" -#: src/resample.c:1210 +#: src/resample.c:1211 msgid "External Clip Settings" msgstr "" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "Güncel" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "" -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 msgid "Channels" msgstr "" -#: src/resample.c:1256 +#: src/resample.c:1257 msgid "Sample Size " msgstr "" -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "İşaretsiz" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "" -#: src/resample.c:1322 +#: src/resample.c:1323 #, fuzzy msgid "New Audio Details" msgstr "Yeni ses" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "Yeni" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "" -#: src/resample.c:1369 +#: src/resample.c:1370 msgid "_Channels" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "_Sample Size" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "Sample Size" msgstr "" -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "" -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "" -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr " saat " -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr " dakika " -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr " saniye " -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "Sınırsız" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "" -#: src/resample.c:1635 +#: src/resample.c:1636 msgid "Change Playback Speed" msgstr "" -#: src/resample.c:1637 +#: src/resample.c:1638 #, fuzzy msgid "Resample Video" msgstr "Örnek tekrar" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -8610,7 +8615,7 @@ "in _frames per second" msgstr "" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -8621,80 +8626,80 @@ "in frames per second" msgstr "" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" "LiVES was unable to reorder the frames." msgstr "" -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "" @@ -8925,7 +8930,7 @@ msgid "Mode active" msgstr "" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "Bilgiler" @@ -9047,54 +9052,54 @@ msgid "Opened firewire card %d" msgstr "" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, fuzzy, c-format msgid "%s : parameters for %s" msgstr "Parametre yok" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "%.2f saniye.\n" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "Kaynak: %s" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." msgstr "" -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -9103,7 +9108,7 @@ "right or double clicking on it.\n" msgstr "" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -9111,14 +9116,14 @@ "Select an effect in FX stack first to view its parameters.\n" msgstr "" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" "No clips loaded.\n" msgstr "" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -9128,7 +9133,7 @@ "before inserting clips into the timeline." msgstr "" -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -9137,190 +9142,190 @@ "to apply compositors.\n" msgstr "" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" msgstr "" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" msgstr "" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr "" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 #, fuzzy msgid "Selected Clip" msgstr "Klip ayarlarını sil" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 msgid "_Adjust Start and End Points" msgstr "" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 msgid "_Edit/Encode in Clip Editor" msgstr "" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 #, fuzzy msgid "_Show Clip Information" msgstr "Klip Bilgisini _Göster" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 #, fuzzy msgid "_Close this Clip" msgstr "Bu klibi _kapat" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 #, fuzzy msgid "Audio Mixer (ctrl-m)" msgstr "Ses Mikserleri" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "" -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "" -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "" -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "" -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "" -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "" -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "" -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "" -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "" -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "%s Uygula" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "%s Sil" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "" -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "" -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " "audio rate %d, audio sample size %d, %s.\n" msgstr "" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -9330,7 +9335,7 @@ "then load in the new set from the File menu.\n" msgstr "" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -9338,618 +9343,618 @@ "It cannot be loaded.\n" msgstr "" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "" -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "_Aç..." -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "_Seçili dosyayı aç" -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "_dvd/vcd den seçimi içeri al" -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "_dvd den seçimi içeri al" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "_vcd den seçimi içeri al" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "_Aygıttan içeri al" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 #, fuzzy msgid "_Close the Selected Clip" msgstr "Klip ayarlarını sil" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 #, fuzzy msgid "_Save Layout as..." msgstr "Yerleşim Düzenini _Kaydet" -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 msgid "_Load Layout..." msgstr "" -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 #, fuzzy msgid "_Wipe/Delete Layout..." msgstr "Düzeni sil" -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "" -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 #, fuzzy msgid "Auto Load _Subtitles with Clips" msgstr "Altyazıları otomatik yükle" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 msgid "_Adjust Selected Clip Start/End Points" msgstr "" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 #, fuzzy msgid "_Insert Selected Clip Audio" msgstr "Seçilmiş Sesi sil" -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 #, fuzzy msgid "_Delete Selected Block" msgstr "Seçilmiş Sesi sil" -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 msgid "_Jump to Previous Block Boundary" msgstr "" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 msgid "_Jump to Next Block Boundary" msgstr "" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 msgid "Clear _Marks from Timeline" msgstr "" -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 msgid "Ignore Selection Limits when Inserting" msgstr "" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 #, fuzzy msgid "Pla_y Selected Time Only" msgstr "Seçim O_ynat" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 msgid "_Move Effects with Blocks" msgstr "" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 #, fuzzy msgid "Select _Autotransition Effect..." msgstr "Son _efektii seç" -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 msgid "Crossfade Audio with Autotransition" msgstr "" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 #, fuzzy msgid "View/_Edit Selected Effect" msgstr "Son _efektii seç" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 #, fuzzy msgid "_Delete Selected Effect" msgstr "Son _efektii seç" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 msgid "Apply Effect to _Block..." msgstr "" -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 msgid "Apply Effect to _Region..." msgstr "" -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 msgid "Make _Backing Audio Current Track" msgstr "" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 msgid "_Split Current Track at Cursor" msgstr "" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 msgid "_Split Selected Video Tracks" msgstr "" -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 #, fuzzy msgid "Insert Gap in Selected Tracks/Time" msgstr "Seçildikten sonra çerçeveyi panoya ekle" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 msgid "Insert Gap in Current Track/Selected Time" msgstr "" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 msgid "Close All _Gaps in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "Seçi_m" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 #, fuzzy msgid "Select _All Video Tracks" msgstr "_Tüm çerçeveleri seç" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 msgid "Select _No Video Tracks" msgstr "" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 #, fuzzy msgid "Select All _Time" msgstr "_Tüm çerçeveleri seç" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 msgid "Select from _Zero Time" msgstr "" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 #, fuzzy msgid "Select to _End Time" msgstr "Son _efektii seç" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "_Kopyala..." -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 msgid "_Timecode to Region Start" msgstr "" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 msgid "_Timecode to Region End" msgstr "" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 msgid "_Region Start to Timecode" msgstr "" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 msgid "_Region End to Timecode" msgstr "" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 msgid "Select/Deselect Block at Current Track/Time" msgstr "" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 msgid "_Change Width, Height and Audio Values..." msgstr "" -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "_Tarama" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 msgid "_Render All to New Clip" msgstr "" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 #, fuzzy msgid "Render _Video" msgstr "Örnek tekrar" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 #, fuzzy msgid "Render _Audio" msgstr "Ses ekle" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 msgid "_Normalise Rendered Audio" msgstr "" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 #, fuzzy msgid "_Pre-render Audio" msgstr "Ses ekle" -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "_Göster" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 msgid "Block _In/Out Points" msgstr "" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 msgid "_Effects at Current" msgstr "" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 #, fuzzy msgid "Audio Parameters" msgstr "Ses parametreleri" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 msgid "Show Backing _Audio Track" msgstr "" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 #, fuzzy msgid "Compact View" msgstr "Yoğun görünüm" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 #, fuzzy msgid "Maximum Tracks to Display..." msgstr "parça azami sayısını görüntülemek için" -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 msgid "Scroll to Follow Playback" msgstr "" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 msgid "_Center on Cursor" msgstr "" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 msgid "_Zoom In" msgstr "" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 msgid "_Zoom Out" msgstr "" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 #, fuzzy msgid "Multitrack _Details" msgstr "Çoklu parça kip tuşları" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 msgid "_Show FRAME Events" msgstr "" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 #, fuzzy msgid "_Show Multitrack Keys" msgstr "Çoklu parça kip tuşları" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "_Hata Raporu" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 #, fuzzy msgid "Insert With _Audio" msgstr "Ses uyacak şekilde ekle" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 #, fuzzy msgid "Select _Overlap" msgstr "Görüntü kaplaması" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" msgstr "" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 msgid "Mouse Mode: _Move" msgstr "" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 msgid "Mouse Mode: _Select" msgstr "" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 msgid "Insert Mode: _Normal" msgstr "" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "_Uygula" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "Süre" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "" -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "" -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "Kaydırma" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" "Switched to Clip Edit mode\n" msgstr "" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr "" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr "" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "%s ( %d katman)" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "Ses göster/gizle" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "%d video" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr " %s" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 #, fuzzy msgid "Selected Effect" msgstr "Son _efektii seç" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 msgid "_View/Edit this Effect" msgstr "" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 msgid "_View this Effect" msgstr "" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 #, fuzzy msgid "_Delete this Effect" msgstr "_Seçimi sil" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr "" -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "%.2f sn." -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" "Switched to Multitrack mode\n" msgstr "" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" "Nodes can be deleted." msgstr "" -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "%d katman" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "%s'den %s'e" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -9957,32 +9962,32 @@ "current time.\n" msgstr "" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." msgstr "" -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 #, fuzzy msgid "Selected Block/Frame" msgstr "_Tüm çerçeveleri seç" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 #, fuzzy msgid "_Select this Block" msgstr "" @@ -9990,258 +9995,258 @@ "\n" "Seçim kilitlendi.\n" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 msgid "_Split Block Here" msgstr "" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 #, fuzzy msgid "List _Effects Here" msgstr "_Özel Efektler" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 #, fuzzy msgid "_Delete this Block" msgstr "_Seçimi sil" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 #, fuzzy msgid "_Insert Here" msgstr "_Çerçeve _ekle" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 #, fuzzy msgid "_Insert Audio Here" msgstr "Ses uyacak şekilde ekle" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" msgstr "" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "Temizleniyor..." -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "_Duraklat" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "Duraklat (p)" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " "to %.4f\n" msgstr "" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" "selected.\n" msgstr "" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" msgstr "" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." msgstr "" -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." msgstr "" -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." msgstr "" -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" msgstr "" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" msgstr "" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" msgstr "" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "" -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "" -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" msgstr "" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 #, fuzzy msgid "Saving layout" msgstr "Yerleşim Düzenini _Kaydet" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "klipler" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "çerçeve" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" msgstr "" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -10249,42 +10254,42 @@ "Therefore it could not be loaded properly.\n" msgstr "" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" "Unable to load layout file %s\n" msgstr "" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "" -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "" -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 #, fuzzy msgid "" "The current layout has changes which have not been saved.\n" @@ -10293,34 +10298,34 @@ "Mevcut düzen kaydedilmedi.\n" "Ne yapmak istiyorsunuz?\n" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 #, fuzzy msgid "Multitrack Audio Mixer" msgstr "Çoklu parça kip tuşları" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "_Değerleri sıfırla" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" msgstr "" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "" @@ -10346,7 +10351,7 @@ "Connection to jack audio was reset.\n" msgstr "" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10354,7 +10359,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10362,7 +10367,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:104 +#: src/pulse.c:105 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10370,27 +10375,27 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" msgstr "" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" msgstr "" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr ""
View file
LiVES-2.8.4.tar.bz2/po/ug.po -> LiVES-2.8.6.tar.bz2/po/ug.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: lives\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" "PO-Revision-Date: 2013-03-14 12:31+0000\n" "Last-Translator: Launchpad Translations Administrators <Unknown>\n" "Language-Team: Uyghur <ug@li.org>\n" @@ -18,7 +18,7 @@ "X-Launchpad-Export-Date: 2013-03-28 10:57+0000\n" "X-Generator: Launchpad (build 16546)\n" -#: src/main.c:132 +#: src/main.c:125 msgid "" "Attention Translators !\n" "This message is intended for you, so please do not translate it.\n" @@ -27,22 +27,22 @@ "http://lives-video.com/TRANS-README.txt" msgstr "" -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "" -#: src/main.c:203 +#: src/main.c:197 #, c-format msgid "" "\n" @@ -51,7 +51,7 @@ "Thanks. Recovery should be possible if you restart LiVES.\n" msgstr "" -#: src/main.c:205 +#: src/main.c:199 #, c-format msgid "" "\n" @@ -60,109 +60,109 @@ "distribution, and the LiVES version (%s)\n" msgstr "" -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" msgstr "" -#: src/main.c:210 +#: src/main.c:204 msgid "" "Please try running LiVES with the -debug option to collect more " "information.\n" "\n" msgstr "" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" "\n" msgstr "" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "خالىغان" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "يوق" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "تەۋسىيە قىلغان" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "چەكلەنگەن!" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "ئىچكى" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "ئىختىيارى" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "سىناق" -#: src/main.c:474 +#: src/main.c:460 msgid "LiVES: - " msgstr "" -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "" -#: src/main.c:731 +#: src/main.c:708 #, fuzzy msgid "_Resize All Frames..." msgstr "ئاخىرقى كاندۇك" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "" -#: src/main.c:1122 +#: src/main.c:1094 #, fuzzy msgid "Background" msgstr "باشلا(_S)" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "" -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "" -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "" -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "" -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -174,34 +174,34 @@ "Alternatively, try to start lives with either \"lives -jackopts 16\", or " msgstr "" -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "" -#: src/main.c:1855 +#: src/main.c:1813 #, c-format msgid "%s...detected... " msgstr "" -#: src/main.c:1856 +#: src/main.c:1814 #, c-format msgid "%s...NOT DETECTED... " msgstr "" -#: src/main.c:1867 +#: src/main.c:1824 msgid "Checking optional dependencies: " msgstr "" -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -209,209 +209,209 @@ "Window manager reports as \"%s\"; " msgstr "" -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "" -#: src/main.c:1901 +#: src/main.c:1863 #, c-format msgid "Number of CPUs detected: %d " msgstr "" -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "" -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1927 +#: src/main.c:1889 #, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr "" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" "Many audio features will be unavailable.\n" msgstr "" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" "\n" msgstr "" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" "Startup syntax is: %s [opts] [filename [start_time] [frames]]\n" msgstr "" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "" -#: src/main.c:2593 +#: src/main.c:2545 msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" msgstr "" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "" -#: src/main.c:2605 +#: src/main.c:2557 msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " "mplayer2" msgstr "" #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr "" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr "" -#: src/main.c:2613 +#: src/main.c:2565 msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " "transport client,2 = jack transport master, 4 = start jack transport server, " "8 = pause audio when video paused,16 = start jack audio server] \n" msgstr "" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr "" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" msgstr "" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "" -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -422,7 +422,7 @@ "(Maybe you need to change the value of <prefix_dir> in your %s file)\n" msgstr "" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -430,7 +430,7 @@ "Please make sure you have write access to %s and try again.\n" msgstr "" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -439,7 +439,7 @@ "before running LiVES.\n" msgstr "" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -449,7 +449,7 @@ "Please check the file permissions for this file and try again.\n" msgstr "" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -460,7 +460,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -468,7 +468,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2737 +#: src/main.c:2689 #, c-format msgid "" "\n" @@ -478,7 +478,7 @@ "%s" msgstr "" -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -489,56 +489,56 @@ "Thankyou.\n" msgstr "" -#: src/main.c:2751 +#: src/main.c:2703 msgid "" "\n" "LiVES currently requires 'mplayer', 'mplayer2' or 'sox' to function. Please " "install one or other of these, and try again.\n" msgstr "" -#: src/main.c:2756 +#: src/main.c:2708 msgid "" "\n" "LiVES currently requires both 'mplayer' or 'mplayer2' and 'sox' to function. " "Please install these, and try again.\n" msgstr "" -#: src/main.c:2769 +#: src/main.c:2721 msgid "" "\n" "LiVES was unable to locate 'mplayer','mplayer2' or 'mpv'. You may wish to " "install one of these to use LiVES more fully.\n" msgstr "" -#: src/main.c:2775 +#: src/main.c:2727 msgid "" "\n" "LiVES was unable to locate 'mplayer' or 'mplayer2'. You may wish to install " "one of these to use LiVES more fully.\n" msgstr "" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" "magick if you want to use rendered effects.\n" msgstr "" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " "image-magick if you want to use the merge function.\n" msgstr "" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " "should install 'sox'.\n" msgstr "" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -549,96 +549,96 @@ "You may need to change the value of <lib_dir> in %s\n" msgstr "" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "" -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "" #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "قوي" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" msgstr "" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "يېنىۋال(_U)" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "قايتىلا(_R)" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "سىن" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "سول ئۈن" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "ئوڭ ئۈن" -#: src/main.c:7078 +#: src/main.c:6973 msgid "" "\n" "\n" @@ -789,7 +789,7 @@ msgid "Use _mplayer2 audio player" msgstr "" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "كېيىنكى(_N)" @@ -996,51 +996,51 @@ msgid "_Finish" msgstr "تاماملا(_F)" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "" -#: src/interface.c:46 +#: src/interface.c:42 msgid "Apply _Deinterlace" msgstr "" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "" -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "ئالدىن كۆزەت" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "" -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "" -#: src/interface.c:122 +#: src/interface.c:113 msgid "Click here to _Preview the file" msgstr "" -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 msgid "Processing..." msgstr "" -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1049,8 +1049,8 @@ "Remember to switch off effects (ctrl-0) afterwards !" msgstr "" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" @@ -1058,172 +1058,176 @@ "\n" "سەل ساقلاڭ" -#: src/interface.c:221 +#: src/interface.c:206 msgid "Show Details" msgstr "" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "ئالدىن كۆزەت(_P)" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "ئەمەلدىن قالدۇر(_C)" -#: src/interface.c:334 +#: src/interface.c:324 msgid "Multitrack Details" msgstr "" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "پىچىمى" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "كاندۇك چوڭلۇقى" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "ھۆججەت چوڭلۇقى" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "بايت چوڭلۇقى" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "FPS" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "كاندۇكلار" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "ھادىسە" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "ئومۇمىي ۋاقىت" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "ئۈن" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "" -#: src/interface.c:568 +#: src/interface.c:590 #, fuzzy msgid "Encoding Options" msgstr "كودلاش" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." msgstr "" -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "كۆزنەك ياپ(_C)" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "ھۆججەتكە ساقلا(_S)" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "قىستۇر" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "" -#: src/interface.c:833 +#: src/interface.c:846 +msgid "Insert _with silence" +msgstr "" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "" -#: src/interface.c:924 +#: src/interface.c:937 #, fuzzy msgid "Open Selection" msgstr "تاللا(_L)" -#: src/interface.c:943 +#: src/interface.c:954 msgid "Selection start time (sec)" msgstr "" -#: src/interface.c:949 +#: src/interface.c:960 msgid "Number of frames to open" msgstr "" -#: src/interface.c:1023 +#: src/interface.c:1029 msgid "Open Location" msgstr "" -#: src/interface.c:1025 +#: src/interface.c:1031 msgid "Open Youtube Clip" msgstr "" -#: src/interface.c:1045 +#: src/interface.c:1050 msgid "" "\n" "\n" @@ -1233,7 +1237,7 @@ "\n" msgstr "" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1242,67 +1246,67 @@ "\n" msgstr "" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "URL : " -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "" -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "" -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "" -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "" -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr "" -#: src/interface.c:1188 +#: src/interface.c:1189 #, fuzzy msgid "Rename Clip" msgstr "چۆرگىلىتىش" -#: src/interface.c:1190 +#: src/interface.c:1191 msgid "Enter Set Name to Save as" msgstr "" -#: src/interface.c:1192 +#: src/interface.c:1193 msgid "Enter a Set Name to Reload" msgstr "" -#: src/interface.c:1194 +#: src/interface.c:1195 msgid "Choose a Working Directory" msgstr "" -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 msgid "Rename Current Track" msgstr "" -#: src/interface.c:1198 +#: src/interface.c:1199 msgid "Enter a Name for Your Theme" msgstr "" -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1310,7 +1314,7 @@ "LiVES will remind you to save the clip set later when you try to exit.\n" msgstr "" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1330,331 +1334,331 @@ "This should be a directory with plenty of disk space available.\n" msgstr "" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "يېڭى ئات " -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "ئاتىنى بەلگىلەش " -#: src/interface.c:1257 +#: src/interface.c:1255 #, fuzzy msgid "Theme name " msgstr "يېڭى ئات " -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "كۆڭۈلدىكىلەرنى ئىشلەت" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "ئالىي(_A)" -#: src/interface.c:1437 +#: src/interface.c:1425 msgid "Select input device" msgstr "" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "" -#: src/interface.c:1517 +#: src/interface.c:1505 msgid "Load CD Track" msgstr "" -#: src/interface.c:1519 +#: src/interface.c:1507 msgid "Select DVD Title/Chapter" msgstr "" -#: src/interface.c:1521 +#: src/interface.c:1509 msgid "Select VCD Title" msgstr "" -#: src/interface.c:1523 +#: src/interface.c:1511 msgid "Change Maximum Visible Tracks" msgstr "" -#: src/interface.c:1525 +#: src/interface.c:1513 msgid "Device details" msgstr "" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "باب " -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "قانال " -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "" -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "كەڭلىك" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "ئېگىزلىك" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "" -#: src/interface.c:1815 +#: src/interface.c:1778 #, fuzzy msgid "Fade Audio In" msgstr "سۇسلاشتۇر" -#: src/interface.c:1817 +#: src/interface.c:1780 #, fuzzy msgid "Fade Audio Out" msgstr "سۇسلاشتۇر" -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "" -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "بىرىنچى" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "" -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "ئاخىرقى" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "" -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "" -#: src/interface.c:1909 +#: src/interface.c:1865 #, fuzzy msgid " (Optional)" msgstr "تاللانما(_O)" -#: src/interface.c:1912 +#: src/interface.c:1868 #, c-format msgid "File Comments%s" msgstr "" -#: src/interface.c:1927 +#: src/interface.c:1882 #, fuzzy, c-format msgid "File Name: %s" msgstr "يېڭى ئات: " -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "" -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "" -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "" -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "كۆز يۈگۈرت…" -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "تاللانما(_O)" -#: src/interface.c:2109 +#: src/interface.c:2058 #, c-format msgid "%sChoose a Device" msgstr "" -#: src/interface.c:2112 +#: src/interface.c:2061 #, c-format msgid "%sChoose a Directory" msgstr "" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2410 +#: src/interface.c:2341 msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" "What do you wish to do ?" msgstr "" -#: src/interface.c:2417 +#: src/interface.c:2348 msgid "Cancel/Discard/Save" msgstr "" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" "Would you like to try and recover it ?\n" msgstr "" -#: src/interface.c:2527 +#: src/interface.c:2455 msgid "Disk Recovery Options" msgstr "" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "" -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "" -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1662,336 +1666,336 @@ "-----------------------\n" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "ctrl-left" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 #, fuzzy msgid "skip forwards\n" msgstr "تېز ئالدىغا ماڭدۇرۇش" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "ctrl-down" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "ctrl-enter" msgstr "باشقا(_O)" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "reset frame rate\n" msgstr "بىرىنچى كاندۇك" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "" -#: src/interface.c:2723 +#: src/interface.c:2642 msgid "reverse direction\n" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 msgid "ctrl-1" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 msgid "toggle real-time effect 1\n" msgstr "" -#: src/interface.c:2746 +#: src/interface.c:2665 msgid "ctrl-2" msgstr "" -#: src/interface.c:2746 +#: src/interface.c:2665 msgid "toggle real-time effect 2\n" msgstr "" -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "ctrl-0" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "real-time effects off\n" msgstr "" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "" -#: src/interface.c:2759 +#: src/interface.c:2678 msgid "grab keyboard for last activated effect\n" msgstr "" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2688 msgid "tab" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "" -#: src/interface.c:2785 +#: src/interface.c:2706 msgid "Other playback keys\n" msgstr "" -#: src/interface.c:2789 +#: src/interface.c:2710 msgid "play all\n" msgstr "" -#: src/interface.c:2792 +#: src/interface.c:2713 #, fuzzy msgid "play selection\n" msgstr "تاللا(_L)" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "" -#: src/interface.c:2798 +#: src/interface.c:2719 #, fuzzy msgid "fullscreen\n" msgstr "پۈتۈن ئېكران(_F)" -#: src/interface.c:2801 +#: src/interface.c:2722 msgid "separate window\n" msgstr "" -#: src/interface.c:2804 +#: src/interface.c:2725 #, fuzzy msgid "double size\n" msgstr "ھۆججەت چوڭلۇقى" -#: src/interface.c:2807 +#: src/interface.c:2728 msgid "ping pong loops\n" msgstr "" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "move current track up\n" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "move current track down\n" msgstr "" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "" -#: src/interface.c:2849 +#: src/interface.c:2768 #, fuzzy msgid "select next clip\n" msgstr "تاللا(_L)" -#: src/interface.c:2852 +#: src/interface.c:2771 msgid "select/deselect current track\n" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "zoom in\n" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "zoom out\n" msgstr "" -#: src/interface.c:2861 +#: src/interface.c:2780 msgid "make a mark on the timeline (during playback)\n" msgstr "" -#: src/interface.c:2864 +#: src/interface.c:2783 msgid "rewind to play start.\n" msgstr "" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "" -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "" -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "" -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -1999,22 +2003,22 @@ "the latest youtube-dl installed.\n" msgstr "" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, c-format msgid "Layouts were removed for set %s.\n" msgstr "" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " msgstr "" -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2024,7 +2028,7 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2034,20 +2038,20 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" "Really close it ?" msgstr "" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" msgstr "" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2060,54 +2064,54 @@ "Once you have done this, you will be able to import the new project.\n" msgstr "" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "" -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "" -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 #, fuzzy msgid "Theme" msgstr "يېڭى ئات " -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, c-format msgid "Exporting theme as %s..." msgstr "" -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, c-format msgid "Importing theme \"%s\" from %s..." msgstr "" -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, c-format msgid "Backup as %s File" msgstr "" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, c-format msgid "Restore %s File" msgstr "" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2115,101 +2119,101 @@ "Are you sure ?\n" msgstr "" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "" -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "" -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "" -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "" -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "" -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "" -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "كەس" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 msgid "Pulling frames from clipboard" msgstr "" -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "" -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "" -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " "LiVES.\n" msgstr "" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2218,31 +2222,31 @@ "the 'Trim Audio' function from the Audio menu." msgstr "" -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." msgstr "" -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2250,7 +2254,7 @@ "Clipboard audio has been erased.\n" msgstr "" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2259,81 +2263,81 @@ "using unchanged audio ?\n" msgstr "" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "" -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "" -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "" -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "ئەمەلدىن قالدۇرۇۋاتىدۇ" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" "Are you sure ?" msgstr "" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "" -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "ئۆچۈرۈۋاتىدۇ" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "ئۆچۈر" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" @@ -2343,7 +2347,7 @@ "\n" "تاللاش قۇلۇپلانغان\n" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2351,11 +2355,11 @@ "play.)\n" msgstr "" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2364,7 +2368,7 @@ "%s\n" msgstr "" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2373,7 +2377,7 @@ "The plugin may be broken or not installed correctly." msgstr "" -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2382,22 +2386,22 @@ "Please press 'Cancel' if that is not what you want.\n" msgstr "" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2405,24 +2409,24 @@ "Click OK to proceed.\n" msgstr "" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "" -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "" -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "" -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2430,39 +2434,39 @@ "Internal: %s (%d bpp) / %s\n" msgstr "" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." msgstr "" -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" "(%d virtual)" msgstr "" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" "(%d decoded)" msgstr "" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" " %.2f sec." msgstr "" -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" @@ -2470,30 +2474,30 @@ "\n" " نامەلۇم" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" "%s %s" msgstr "" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2510,22 +2514,22 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n" msgstr "" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "" -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" "Launchpad Contributions:\n" " Gheyret T.Kenji https://launchpad.net/~gheyretkenji\n" " salsaman https://launchpad.net/~salsaman" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, c-format msgid "" "LiVES Version %s\n" @@ -2539,14 +2543,14 @@ "Homepage: %s" msgstr "" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 msgid "" "\n" "\n" "You need to install mplayer or mplayer2 to be able to preview this file.\n" msgstr "" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 msgid "" "\n" "\n" @@ -2554,88 +2558,88 @@ "this file.\n" msgstr "" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" "%s\n" msgstr "" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 msgid "Encoder Debug Output" msgstr "" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "" -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 msgid "Load Subtitles" msgstr "" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 #, fuzzy msgid "Select Audio File" msgstr "" @@ -2643,7 +2647,7 @@ "\n" "تاللاش قۇلۇپلانغان\n" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -2651,82 +2655,82 @@ "." msgstr "" -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "" -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "" -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "" -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 msgid "Layout Errors" msgstr "" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "داۋاملاشتۇر" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "" -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "" -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "تەگمە" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, c-format msgid "" "\n" @@ -2735,30 +2739,30 @@ "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "ئەمەلدىن قالدۇرۇش" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 #, fuzzy msgid "Selected Frame" msgstr "باشلا(_S)" -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 #, fuzzy msgid "_Save Frame as..." msgstr "ئاخىرقى كاندۇك" -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -2767,7 +2771,7 @@ "\n" msgstr "" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -2775,13 +2779,13 @@ "\n" msgstr "" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" msgstr "" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -2790,17 +2794,17 @@ "\n" msgstr "" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" msgstr "" -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -2810,19 +2814,19 @@ "(Default of %.3f frames per second will be used.)\n" msgstr "" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "" -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "" -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -2831,119 +2835,119 @@ "rate.\n" msgstr "" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "" -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "" -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 msgid "Append Audio File" msgstr "" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "" -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "" -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "" -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "" -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "" -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" "Are you sure ?" msgstr "" -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "" -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "" @@ -2956,877 +2960,877 @@ msgid "Merge Clipboard [ %d Frames ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "" -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "" -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "ھۆججەت(_F)" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "" -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "" -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "" -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "" -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "" -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "" -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "" -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "" -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "" -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "" -#: src/gui.c:692 +#: src/gui.c:674 #, c-format msgid "_Backup Clip as .%s..." msgstr "" -#: src/gui.c:701 +#: src/gui.c:683 #, c-format msgid "_Restore Clip from .%s..." msgstr "" -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "تەھرىر(_E)" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "" -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "" -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "تاللا(_S)…" -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "" -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "ئەكسىچە تاللا(_I)" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "قوي(_P)" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "توختا (&S)" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "پۈتۈن ئېكران(_F)" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "ئۈنسىز(_M)" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "" -#: src/gui.c:1069 +#: src/gui.c:1045 msgid "Letterbox Mode" msgstr "" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "" -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "قوراللار(_T)" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "" -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "" -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "" -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "قوراللار(_U)" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "قۇر(_G)" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "" -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "" -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "پارامېتىرلار(_P)..." -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "ئۈن(_A)" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "" -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "" -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "" -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "" -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "" -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "" -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "" -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "" -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "" -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "" -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "" -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "" -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "" -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "" -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "" -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "" -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "" -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "ئۇچۇر(_I)" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "" -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "" -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "" -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "" -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "" -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "" -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "" -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "" -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "" -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "" -#: src/gui.c:1397 +#: src/gui.c:1371 msgid "Receive _LiVES Stream from..." msgstr "" -#: src/gui.c:1401 +#: src/gui.c:1375 msgid "_Send LiVES Stream to..." msgstr "" -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "" -#: src/gui.c:1426 +#: src/gui.c:1399 #, c-format msgid "_Import Project (.%s)..." msgstr "" -#: src/gui.c:1430 +#: src/gui.c:1403 #, c-format msgid "E_xport Project (.%s)..." msgstr "" -#: src/gui.c:1437 +#: src/gui.c:1409 #, c-format msgid "_Import Custom Theme (.%s)..." msgstr "" -#: src/gui.c:1442 +#: src/gui.c:1414 #, c-format msgid "E_xport Theme (.%s)..." msgstr "" -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "" -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "" -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." msgstr "" -#: src/gui.c:1476 +#: src/gui.c:1448 msgid "_Reset All Playback Speeds and Positions" msgstr "" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "" -#: src/gui.c:1480 +#: src/gui.c:1452 msgid "_MIDI/Joystick Interface" msgstr "" -#: src/gui.c:1489 +#: src/gui.c:1461 msgid "_MIDI/Joystick Learner..." msgstr "" -#: src/gui.c:1493 +#: src/gui.c:1465 msgid "_Save Device Mapping..." msgstr "" -#: src/gui.c:1497 +#: src/gui.c:1469 msgid "_Load Device Mapping..." msgstr "" -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "يوق(_N)" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "ياردەم(_H)" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 msgid "_Donate to the Project !" msgstr "" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 msgid "_Email the Author" msgstr "" -#: src/gui.c:1547 +#: src/gui.c:1519 msgid "Report a _Bug" msgstr "" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 msgid "Suggest a _Feature" msgstr "" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 msgid "Assist with _Translating" msgstr "" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "مەسىلە ھەل قىل(_T)" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "ھەققىدە(_A)" -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "ئاۋاز مىقدارى" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." msgstr "" #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr "" -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "بىرىنچى كاندۇك" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "ئاخىرقى كاندۇك" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "باشلاۋاتىدۇ…\n" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr "" -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "ئەركىن(_F)" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "باشلا(_S)" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "كەينىگە" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr "" -#: src/gui.c:3613 +#: src/gui.c:3553 #, fuzzy msgid "Streaming" msgstr "Dream مۇزىكىسى" -#: src/gui.c:3615 +#: src/gui.c:3555 #, fuzzy, c-format msgid "Play Window%s" msgstr "كۆزنەك ياپ(_C)" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "" -#: src/gui.c:4199 +#: src/gui.c:4127 #, c-format msgid "'LiVES opened the file' '%s'" msgstr "" -#: src/gui.c:4220 +#: src/gui.c:4146 #, c-format msgid "'LiVES closed the file' '%s'" msgstr "" @@ -3836,11 +3840,11 @@ msgid "Mapped to ctrl-%d" msgstr "" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "ئۈنۈملەر" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "" @@ -3854,11 +3858,11 @@ msgid "Select clip for %s\n" msgstr "" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "" @@ -3903,11 +3907,11 @@ msgid "%d bytes" msgstr "" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -3915,81 +3919,81 @@ "Switched to clip %s\n" msgstr "" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" "Switched to empty clip\n" msgstr "" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " "updated accordingly\n" msgstr "" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -3997,7 +4001,7 @@ "by another copy of LiVES.\n" msgstr "" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -4005,39 +4009,39 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2188 +#: src/utils.c:2207 #, c-format msgid "" "\n" "%s names may not be blank.\n" msgstr "" -#: src/utils.c:2196 +#: src/utils.c:2215 #, c-format msgid "" "\n" "%s names may not be longer than %d characters.\n" msgstr "" -#: src/utils.c:2204 +#: src/utils.c:2223 #, c-format msgid "" "\n" "%s names may not contain spaces or the characters%s.\n" msgstr "" -#: src/utils.c:2213 +#: src/utils.c:2232 #, c-format msgid "" "\n" "%s names may not start with a '.' or contain '..'\n" msgstr "" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4045,72 +4049,72 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "" -#: src/utils.c:3492 +#: src/utils.c:3548 msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "" -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4120,29 +4124,29 @@ "Overwrite ?\n" msgstr "" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr "" -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr "" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4167,7 +4171,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr "" @@ -4268,7 +4272,7 @@ msgstr "" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "" @@ -4322,12 +4326,12 @@ msgid "Recording performance..." msgstr "" -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4336,21 +4340,21 @@ "and resize all frames to the current size.\n" msgstr "" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "نامەلۇم" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4358,13 +4362,13 @@ "%s\n" msgstr "" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" msgstr "" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4372,7 +4376,7 @@ "Bad things may happen with this clip.\n" msgstr "" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4380,73 +4384,73 @@ "Default can be set in Tools | Preferences | Misc.\n" msgstr "" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, fuzzy, c-format msgid " - Author: %s\n" msgstr "ئاپتور: %s" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, c-format msgid " - Title: %s\n" msgstr "" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr "" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "" -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "" -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "" -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -4494,62 +4498,62 @@ msgid "Recovering files..." msgstr "" -#: src/dialogs.c:87 +#: src/dialogs.c:83 msgid "Show affeced _layouts" msgstr "" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" msgstr "" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr "" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 #, fuzzy msgid "Warning !" msgstr "ئاگاھلاندۇرۇش" -#: src/dialogs.c:198 +#: src/dialogs.c:186 #, fuzzy msgid "Error !" msgstr "$error" -#: src/dialogs.c:208 +#: src/dialogs.c:196 #, fuzzy msgid "Information" msgstr "نورماللاشتۇرۇش" -#: src/dialogs.c:234 +#: src/dialogs.c:221 #, fuzzy msgid "Question" msgstr "سوئال" -#: src/dialogs.c:248 +#: src/dialogs.c:235 #, fuzzy msgid "File Error" msgstr "$error" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -4560,7 +4564,7 @@ "(Disk warning levels can be configured in Preferences.)" msgstr "" -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -4572,11 +4576,11 @@ "Preferences.)" msgstr "" -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "" -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -4584,46 +4588,46 @@ "Please try closing some other applications first.\n" msgstr "" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "" -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" "%s%d%% done. Time remaining: %u sec%s\n" msgstr "" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" "%d/%d frames opened. Time remaining %u sec.\n" msgstr "" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" "%d/%d frames opened.\n" msgstr "" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" "%d frames opened.\n" msgstr "" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" "Time remaining: %d sec" msgstr "" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -4631,7 +4635,7 @@ "Please close a file and then try again." msgstr "" -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -4643,47 +4647,47 @@ "Please make sure you can write to this directory." msgstr "" -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 msgid "" "\n" "LiVES currently requires either 'mplayer', 'mplayer2', or 'sox' to function. " "Please install one or other of these, and try again.\n" msgstr "" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 msgid "" "\n" "This function requires either mplayer or mplayer2 to operate.\n" "You may wish to install one or other of these and try again.\n" msgstr "" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 msgid "" "\n" "This function requires either mplayer, mplayer2 or mpv to operate.\n" "You may wish to install one or other of these and try again.\n" msgstr "" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" "Or switch to another encoder format in Tools | Preferences | Encoding\n" msgstr "" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -4691,19 +4695,19 @@ "Please set the audio codec in Tools|Preferences|Encoding\n" msgstr "" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -4711,83 +4715,83 @@ "Due to restrictions in the %s format\n" msgstr "" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" msgstr "" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr "" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr "" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr "" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr "" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" msgstr "" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -4796,14 +4800,14 @@ "\n" msgstr "" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" "\n" msgstr "" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -4812,7 +4816,7 @@ "Try recording for just a selection of the file." msgstr "" -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -4823,7 +4827,7 @@ "Please press Cancel to abort the insert, or OK to continue." msgstr "" -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -4836,18 +4840,18 @@ "click Cancel." msgstr "" -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " "in your %s file" msgstr "" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -4858,25 +4862,25 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 msgid "" "Sorry, unknown audio type.\n" "\n" " (Filenames must end in" msgstr "" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" "(They will not be usable without the set).\n" msgstr "" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -4885,7 +4889,7 @@ "Click Cancel to pick a new name.\n" msgstr "" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -4893,7 +4897,7 @@ "." msgstr "" -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -4901,7 +4905,7 @@ "." msgstr "" -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -4912,7 +4916,7 @@ "Otherwise click Cancel to skip loading this file.\n" msgstr "" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -4922,7 +4926,7 @@ "The clip could not be loaded.\n" msgstr "" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -4930,7 +4934,7 @@ "Alternately, select a different audio player in Preferences.\n" msgstr "" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -4939,13 +4943,13 @@ "Automatic jack startup will be disabled now.\n" msgstr "" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" msgstr "" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -4956,13 +4960,13 @@ "%s\n" msgstr "" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" msgstr "" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -4972,7 +4976,7 @@ "It is recommended to increase it to at least %d MB" msgstr "" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -4981,7 +4985,7 @@ "Do you wish to delete them ?\n" msgstr "" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -4989,7 +4993,7 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -4997,81 +5001,81 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" msgstr "" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" msgstr "" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" "You can set this in Tools|Preferences|Playback." msgstr "" -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" "Should I try to repair the disk copy of the layout ?\n" msgstr "" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" msgstr "" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" "Audio rate must be greater than 0.\n" msgstr "" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5079,14 +5083,14 @@ "Are you sure you wish to view it ?\n" msgstr "" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" "You must install 'dvgrab' to use this function.\n" msgstr "" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5095,25 +5099,25 @@ "You may need to select one of these in Tools/Preferences/Playback.\n" msgstr "" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" msgstr "" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5122,33 +5126,33 @@ "echo %d > /proc/sys/net/core/rmem_max\n" msgstr "" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -5158,7 +5162,7 @@ "%s%s%s" msgstr "" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -5168,7 +5172,7 @@ "%s" msgstr "" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -5178,7 +5182,7 @@ "%s" msgstr "" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -5187,7 +5191,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -5197,7 +5201,7 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -5206,7 +5210,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -5216,12 +5220,12 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "" -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -5230,7 +5234,7 @@ "Please check your system for errors.\n" msgstr "" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -5239,7 +5243,7 @@ "Please check the file permissions and try again." msgstr "" -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -5248,7 +5252,7 @@ "Please check the directory permissions and try again." msgstr "" -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, c-format msgid "" "\n" @@ -5256,14 +5260,14 @@ "%s\n" msgstr "" -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -5271,13 +5275,13 @@ "Please select another encoder from the list.\n" msgstr "" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" msgstr "" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -5287,27 +5291,27 @@ "- Check if the device actually exists.\n" msgstr "" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" "Do you wish to overwrite the existing subtitles ?\n" msgstr "" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 msgid "" "\n" "LiVES currently only supports subtitles of type" msgstr "" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -5316,14 +5320,14 @@ "or OK to continue and save as type \"%s\"\n" msgstr "" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" "(If unsure, click Yes)\n" msgstr "" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -5334,19 +5338,19 @@ "." msgstr "" -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" msgstr "" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" msgstr "" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -5354,7 +5358,7 @@ "DO NOT SHUT DOWN OR CLOSE LIVES !\n" msgstr "" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, c-format msgid "" "\n" @@ -5362,14 +5366,14 @@ "The theme could not be loaded correctly.\n" msgstr "" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" "Please check the spelling of the set name and try again.\n" msgstr "" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -5378,7 +5382,7 @@ "directory. Would you like me to do this (recommended) ?" msgstr "" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -5390,7 +5394,7 @@ msgstr "" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -5399,38 +5403,38 @@ "\n" msgstr "" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" "Consult your package distributor.\n" msgstr "" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" msgstr "" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, c-format msgid "" "\n" @@ -5439,7 +5443,7 @@ "(Theme name not found).\n" msgstr "" -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -5448,7 +5452,7 @@ "already exists. Would you like to overwrite it ?\n" msgstr "" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -5589,7 +5593,7 @@ msgid "Video only Transitions" msgstr "" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "" @@ -5597,7 +5601,7 @@ msgid "Audio only Transitions" msgstr "" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "ئۈن" @@ -5641,7 +5645,7 @@ msgid "Audio Analysers" msgstr "" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "نامەلۇم" @@ -5696,357 +5700,357 @@ "No frames were generated.\n" msgstr "" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 msgid "Invalid element" msgstr "" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 msgid "Invalid property" msgstr "" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 msgid "Invalid plugin" msgstr "" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 #, fuzzy msgid "No error" msgstr "$error" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 msgid "integer" msgstr "" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 msgid "string" msgstr "" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 msgid "pointer" msgstr "" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" "Error was: %s\n" msgstr "" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr "" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, c-format msgid "Successfully loaded %d compound filters\n" msgstr "" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, c-format msgid "Failed to start generator %s (%s)\n" msgstr "" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 msgid "Autoscale" msgstr "" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 msgid "Delete this connection" msgstr "" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, c-format msgid "%s - Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, c-format msgid "%s - Parameter Data Connections" msgstr "" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 msgid "Parameter and Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 msgid "Auto Connect Channels" msgstr "" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 msgid "Auto Connect Parameters" msgstr "" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "" -#: src/framedraw.c:241 +#: src/framedraw.c:242 msgid "_Frame" msgstr "" @@ -6090,40 +6094,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "" -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -6189,32 +6193,32 @@ "\n" msgstr "" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "" -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -6223,7 +6227,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -6233,31 +6237,31 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" "Error was: %s\n" msgstr "" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " "***\n" msgstr "" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -6266,7 +6270,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -6275,7 +6279,7 @@ "or switch to another plugin using Tools|Preferences|Encoding\n" msgstr "" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, c-format msgid "" "\n" @@ -6283,12 +6287,12 @@ "No decoders found in %s !\n" msgstr "" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, fuzzy, c-format msgid " using %s" msgstr "%s نى ئېچىۋاتىدۇ" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -6297,7 +6301,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -6307,24 +6311,24 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "" -#: src/plugins.c:2556 +#: src/plugins.c:2550 msgid "Decoder Plugins" msgstr "" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "" @@ -6523,19 +6527,19 @@ msgid "Move _Down" msgstr "تۆۋەنگە(_D)" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 msgid "RFX Properties" msgstr "" -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -6544,7 +6548,7 @@ "\n" msgstr "" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -6552,219 +6556,219 @@ "Please check the trigger code.\n" msgstr "" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 msgid "New RFX Parameter" msgstr "" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 msgid "Edit RFX Parameter" msgstr "" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "ئاتى(_N): " -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "" -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "ئەن(_L): " -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." msgstr "" -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "تىپى(_T): " -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "" -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "" -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "" -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "كۆڭۈلدىكى(_D) " -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "" -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "" -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "" -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "" -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr "" -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "" -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 msgid "_Wrap value" msgstr "" -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "" -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "" -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "" -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "" -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "" -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 msgid "New RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 msgid "Edit RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "" -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "" -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "" -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "" -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "" -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "" -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "" -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 msgid "New RFX Trigger" msgstr "" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 msgid "Edit RFX Trigger" msgstr "" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "" -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 msgid "Pre Loop Code" msgstr "" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 msgid "Loop Code" msgstr "" -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 msgid "Post Loop Code" msgstr "" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, c-format msgid "Default text (max length %d)" msgstr "" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 msgid "Enter values, one per line" msgstr "" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" "Name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" "Name must not contain spaces.\n" msgstr "" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" "Menu text must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" "Action description must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" "Author must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -6772,28 +6776,28 @@ "Name must be unique.\n" msgstr "" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" "Loop code should not be blank.\n" msgstr "" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" "Trigger code should not be blank for a utility.\n" msgstr "" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" "Parameter name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -6802,41 +6806,41 @@ "\n" msgstr "" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "" -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -6846,27 +6850,27 @@ "\n" msgstr "" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "" -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "" -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "" -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "" -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -6875,7 +6879,7 @@ "Please check this program is in your path and executable.\n" msgstr "" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -6885,12 +6889,12 @@ "\n" msgstr "" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "" -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -6900,7 +6904,7 @@ "Error code was %d\n" msgstr "" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -6910,12 +6914,12 @@ "Please delete it first, or rename the test script.\n" msgstr "" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "" -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -6926,20 +6930,20 @@ "Return code was %d (%s)\n" msgstr "" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 msgid "Export Script" msgstr "" -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "" -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 msgid "Import Script" msgstr "" -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -6949,44 +6953,44 @@ "Please delete it first, or rename the import script.\n" msgstr "" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 msgid "Copy RFX Script" msgstr "" -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "" -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr "" -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 msgid "Rename Test RFX Script" msgstr "" -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "" -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 #, fuzzy msgid "RFX Script Name" msgstr "قوليازما نامى: " -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "قوليازما نامى: " -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "يېڭى ئات: " -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "" -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -6994,12 +6998,12 @@ "Script name must be unique.\n" msgstr "" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "" -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -7010,25 +7014,25 @@ "Return code was %d\n" msgstr "" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 msgid "Applying Current Real Time Effects to" msgstr "" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "" -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "" -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -7036,7 +7040,7 @@ "full screen, separate window (fs) mode\n" msgstr "" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -7044,7 +7048,7 @@ "(Free space = UNKNOWN)" msgstr "" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -7053,14 +7057,14 @@ "(Free space = %s)" msgstr "" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" "It should be in a partition with plenty of free disk space.\n" msgstr "" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7071,7 +7075,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7081,7 +7085,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1193 +#: src/preferences.c:1163 msgid "" "You have chosen to change the working directory.\n" "Please make sure you have no other copies of LiVES open.\n" @@ -7093,7 +7097,7 @@ "setting." msgstr "" -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, c-format msgid "" "\n" @@ -7102,13 +7106,13 @@ "See %s\n" msgstr "" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" msgstr "" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, c-format msgid "" "\n" @@ -7117,918 +7121,918 @@ "See %s\n" msgstr "" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "" -#: src/preferences.c:2468 +#: src/preferences.c:2418 #, fuzzy msgid "Preferences" msgstr "پارامېتىرلار(_P)..." -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "" -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr "" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr "" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." msgstr "" -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr "" -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "سېكۇنت" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "ھەرگىز(_N)" -#: src/preferences.c:2872 +#: src/preferences.c:2757 msgid "Maximum number of visible tracks" msgstr "" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "" -#: src/preferences.c:2925 +#: src/preferences.c:2804 msgid "Video open command (fallback)" msgstr "" -#: src/preferences.c:2935 +#: src/preferences.c:2811 msgid "Fallback image format" msgstr "" -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "" -#: src/preferences.c:2964 +#: src/preferences.c:2832 msgid "Open/render compression" msgstr "" -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr "" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "" -#: src/preferences.c:2995 +#: src/preferences.c:2856 msgid "Automatic trimming / padding of audio when possible" msgstr "" -#: src/preferences.c:2997 +#: src/preferences.c:2858 msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "" -#: src/preferences.c:3269 +#: src/preferences.c:3110 msgid "Source:" msgstr "" -#: src/preferences.c:3273 +#: src/preferences.c:3114 msgid "_Internal" msgstr "" -#: src/preferences.c:3278 +#: src/preferences.c:3119 msgid "_External (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "قويۇش" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" msgstr "" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr "" -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "گىگابايت" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "خاتىرىلەۋاتىدۇ" -#: src/preferences.c:3454 +#: src/preferences.c:3273 msgid "You can also change these values when encoding a clip" msgstr "" -#: src/preferences.c:3466 +#: src/preferences.c:3285 msgid "Encoder" msgstr "" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "ئاۋاز كودېك" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "كودلاش" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." msgstr "" -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr "" -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr "" -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr "" -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr "" -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr "" -#: src/preferences.c:3649 +#: src/preferences.c:3461 msgid " Working directory (do not remove) " msgstr "" -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "" -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "" -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "مۇندەرىجىلەر" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "" -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr "" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "" -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" msgstr "" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "" -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr " مېگابايت" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "" -#: src/preferences.c:3872 +#: src/preferences.c:3659 msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " "when LiVES is started." msgstr "" -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "" -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "" -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "" -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "" -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "" -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "" -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "" -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "" -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "" -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "" -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "" -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "" -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "" -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "" -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." msgstr "" -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "" -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "" -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "" -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "" -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "" -#: src/preferences.c:4113 +#: src/preferences.c:3865 msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "" -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "ئاگاھلاندۇرۇش" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "" -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "" -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "" -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "ئارىلاش" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "" -#: src/preferences.c:4242 +#: src/preferences.c:3977 msgid "Main Theme Details" msgstr "" -#: src/preferences.c:4254 +#: src/preferences.c:3988 #, fuzzy msgid " _Foreground Color" msgstr "باشلا(_S)" -#: src/preferences.c:4273 +#: src/preferences.c:4007 #, fuzzy msgid " _Background Color" msgstr "باشلا(_S)" -#: src/preferences.c:4291 +#: src/preferences.c:4026 #, fuzzy msgid "_Alt Foreground Color" msgstr "باشلا(_S)" -#: src/preferences.c:4309 +#: src/preferences.c:4044 #, fuzzy msgid "_Alt Background Color" msgstr "باشلا(_S)" -#: src/preferences.c:4327 +#: src/preferences.c:4062 msgid " Info _Text Color" msgstr "" -#: src/preferences.c:4346 +#: src/preferences.c:4081 msgid " Info _Base Color" msgstr "" -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "" -#: src/preferences.c:4365 +#: src/preferences.c:4100 msgid "Affects some contrast details of the timeline" msgstr "" -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "" -#: src/preferences.c:4398 +#: src/preferences.c:4132 #, fuzzy msgid "Frame blank image" msgstr "كاندۇك" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "" -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4474 +#: src/preferences.c:4203 msgid "Track background (multitrack)" msgstr "" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "" -#: src/preferences.c:4529 +#: src/preferences.c:4258 msgid "Timeline selection (multitrack)" msgstr "" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "" -#: src/preferences.c:4553 +#: src/preferences.c:4282 msgid "Timecode foreground (multitrack)" msgstr "" -#: src/preferences.c:4565 +#: src/preferences.c:4293 #, fuzzy msgid "Frame surround" msgstr " سېكۇنت " -#: src/preferences.c:4582 +#: src/preferences.c:4306 #, fuzzy msgid "Themes/Colors" msgstr "ئۆرنەكلەر" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "" -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "" -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" msgstr "" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" msgstr "" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "" -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "ئالىي" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." msgstr "" -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "" -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -8036,41 +8040,41 @@ "Click OK to continue.\n" msgstr "" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." msgstr "" -#: src/preferences.c:5525 +#: src/preferences.c:5205 msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "" -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "" -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "" @@ -8093,154 +8097,154 @@ msgid "Resample/Resize" msgstr "" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" "New rate must be greater than 0\n" msgstr "" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "" -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "" -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "" -#: src/resample.c:1208 +#: src/resample.c:1209 msgid "New Clip Audio" msgstr "" -#: src/resample.c:1210 +#: src/resample.c:1211 msgid "External Clip Settings" msgstr "" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "نۆۋەتتىكى" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "" -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 msgid "Channels" msgstr "" -#: src/resample.c:1256 +#: src/resample.c:1257 msgid "Sample Size " msgstr "" -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "ئىمزاسىز" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "" -#: src/resample.c:1322 +#: src/resample.c:1323 msgid "New Audio Details" msgstr "" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "يېڭى" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "" -#: src/resample.c:1369 +#: src/resample.c:1370 msgid "_Channels" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "_Sample Size" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "Sample Size" msgstr "" -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "" -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "" -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr " سائەت " -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr " مىنۇت " -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr " سېكۇنت " -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "چەكسىز" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "" -#: src/resample.c:1635 +#: src/resample.c:1636 msgid "Change Playback Speed" msgstr "" -#: src/resample.c:1637 +#: src/resample.c:1638 msgid "Resample Video" msgstr "" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -8251,7 +8255,7 @@ "in _frames per second" msgstr "" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -8262,80 +8266,80 @@ "in frames per second" msgstr "" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" "LiVES was unable to reorder the frames." msgstr "" -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "" @@ -8565,7 +8569,7 @@ msgid "Mode active" msgstr "" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "ئۇچۇرى" @@ -8687,54 +8691,54 @@ msgid "Opened firewire card %d" msgstr "" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, c-format msgid "%s : parameters for %s" msgstr "" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "مەنبە: %s" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." msgstr "" -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -8743,7 +8747,7 @@ "right or double clicking on it.\n" msgstr "" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -8751,14 +8755,14 @@ "Select an effect in FX stack first to view its parameters.\n" msgstr "" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" "No clips loaded.\n" msgstr "" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -8768,7 +8772,7 @@ "before inserting clips into the timeline." msgstr "" -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -8777,188 +8781,188 @@ "to apply compositors.\n" msgstr "" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" msgstr "" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" msgstr "" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr "" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 #, fuzzy msgid "Selected Clip" msgstr "تاللا(_L)" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 msgid "_Adjust Start and End Points" msgstr "" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 msgid "_Edit/Encode in Clip Editor" msgstr "" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 #, fuzzy msgid "_Show Clip Information" msgstr "نورماللاشتۇرۇش" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 msgid "_Close this Clip" msgstr "" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 msgid "Audio Mixer (ctrl-m)" msgstr "" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "" -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "" -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "" -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "" -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "" -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "" -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "" -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "" -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "" -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "%s نى ئۆچۈر" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "" -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "" -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " "audio rate %d, audio sample size %d, %s.\n" msgstr "" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -8968,7 +8972,7 @@ "then load in the new set from the File menu.\n" msgstr "" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -8976,202 +8980,202 @@ "It cannot be loaded.\n" msgstr "" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "" -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "ئاچ(_O)…" -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "" -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "" -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 #, fuzzy msgid "_Close the Selected Clip" msgstr "تاللا(_L)" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 msgid "_Save Layout as..." msgstr "" -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 msgid "_Load Layout..." msgstr "" -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 msgid "_Wipe/Delete Layout..." msgstr "" -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "" -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 msgid "Auto Load _Subtitles with Clips" msgstr "" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 msgid "_Adjust Selected Clip Start/End Points" msgstr "" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 #, fuzzy msgid "_Insert Selected Clip Audio" msgstr "ئەكسىچە تاللا(_I)" -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 msgid "_Delete Selected Block" msgstr "" -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 msgid "_Jump to Previous Block Boundary" msgstr "" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 msgid "_Jump to Next Block Boundary" msgstr "" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 msgid "Clear _Marks from Timeline" msgstr "" -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 msgid "Ignore Selection Limits when Inserting" msgstr "" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 msgid "Pla_y Selected Time Only" msgstr "" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 msgid "_Move Effects with Blocks" msgstr "" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 msgid "Select _Autotransition Effect..." msgstr "" -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 msgid "Crossfade Audio with Autotransition" msgstr "" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 msgid "View/_Edit Selected Effect" msgstr "" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 msgid "_Delete Selected Effect" msgstr "" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 msgid "Apply Effect to _Block..." msgstr "" -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 msgid "Apply Effect to _Region..." msgstr "" -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 msgid "Make _Backing Audio Current Track" msgstr "" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 msgid "_Split Current Track at Cursor" msgstr "" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 msgid "_Split Selected Video Tracks" msgstr "" -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 msgid "Insert Gap in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 msgid "Insert Gap in Current Track/Selected Time" msgstr "" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 msgid "Close All _Gaps in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "تاللا(_L)" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 msgid "Select _All Video Tracks" msgstr "" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 msgid "Select _No Video Tracks" msgstr "" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 #, fuzzy msgid "Select All _Time" msgstr "" @@ -9179,11 +9183,11 @@ "\n" "تاللاش قۇلۇپلانغان\n" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 msgid "Select from _Zero Time" msgstr "" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 #, fuzzy msgid "Select to _End Time" msgstr "" @@ -9191,390 +9195,390 @@ "\n" "تاللاش قۇلۇپلانغان\n" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "كۆچۈر(_C)…" -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 msgid "_Timecode to Region Start" msgstr "" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 msgid "_Timecode to Region End" msgstr "" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 msgid "_Region Start to Timecode" msgstr "" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 msgid "_Region End to Timecode" msgstr "" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 msgid "Select/Deselect Block at Current Track/Time" msgstr "" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 msgid "_Change Width, Height and Audio Values..." msgstr "" -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 msgid "_Render All to New Clip" msgstr "" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 msgid "Render _Video" msgstr "" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 #, fuzzy msgid "Render _Audio" msgstr "ئۈن(_A)" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 msgid "_Normalise Rendered Audio" msgstr "" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 msgid "_Pre-render Audio" msgstr "" -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "كۆرۈنۈش(_V)" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 msgid "Block _In/Out Points" msgstr "" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 msgid "_Effects at Current" msgstr "" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 #, fuzzy msgid "Audio Parameters" msgstr "كاندۇكلار" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 msgid "Show Backing _Audio Track" msgstr "" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 msgid "Compact View" msgstr "" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 msgid "Maximum Tracks to Display..." msgstr "" -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 msgid "Scroll to Follow Playback" msgstr "" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 msgid "_Center on Cursor" msgstr "" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 msgid "_Zoom In" msgstr "" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 msgid "_Zoom Out" msgstr "" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 msgid "Multitrack _Details" msgstr "" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 msgid "_Show FRAME Events" msgstr "" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 msgid "_Show Multitrack Keys" msgstr "" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 msgid "Insert With _Audio" msgstr "" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 #, fuzzy msgid "Select _Overlap" msgstr "تاللا(_L)" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" msgstr "" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 msgid "Mouse Mode: _Move" msgstr "" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 msgid "Mouse Mode: _Select" msgstr "" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 msgid "Insert Mode: _Normal" msgstr "" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "قوللان(_A)" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "ۋاقىت" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "" -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "" -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "سىيرىش" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" "Switched to Clip Edit mode\n" msgstr "" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr "" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr "" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr " %s" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 msgid "Selected Effect" msgstr "" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 msgid "_View/Edit this Effect" msgstr "" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 msgid "_View this Effect" msgstr "" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 msgid "_Delete this Effect" msgstr "" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr "" -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "" -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" "Switched to Multitrack mode\n" msgstr "" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" "Nodes can be deleted." msgstr "" -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -9582,31 +9586,31 @@ "current time.\n" msgstr "" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." msgstr "" -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 msgid "Selected Block/Frame" msgstr "" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 #, fuzzy msgid "_Select this Block" msgstr "" @@ -9614,254 +9618,254 @@ "\n" "تاللاش قۇلۇپلانغان\n" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 msgid "_Split Block Here" msgstr "" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 msgid "List _Effects Here" msgstr "" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 msgid "_Delete this Block" msgstr "" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 #, fuzzy msgid "_Insert Here" msgstr "قىستۇر" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 msgid "_Insert Audio Here" msgstr "" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" msgstr "" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "تازىلاۋاتىدۇ…" -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "ۋاقىتلىق توختا(_P)" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " "to %.4f\n" msgstr "" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" "selected.\n" msgstr "" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" msgstr "" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." msgstr "" -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." msgstr "" -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." msgstr "" -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" msgstr "" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" msgstr "" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" msgstr "" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "" -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "" -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" msgstr "" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 msgid "Saving layout" msgstr "" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "كاندۇك" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" msgstr "" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -9869,74 +9873,74 @@ "Therefore it could not be loaded properly.\n" msgstr "" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" "Unable to load layout file %s\n" msgstr "" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "" -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "" -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 msgid "" "The current layout has changes which have not been saved.\n" "Are you sure you wish to wipe it ?\n" msgstr "" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 msgid "Multitrack Audio Mixer" msgstr "" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" msgstr "" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "" @@ -9962,7 +9966,7 @@ "Connection to jack audio was reset.\n" msgstr "" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -9970,7 +9974,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -9978,7 +9982,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:104 +#: src/pulse.c:105 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -9986,27 +9990,27 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" msgstr "" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" msgstr "" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr ""
View file
LiVES-2.8.4.tar.bz2/po/uk.po -> LiVES-2.8.6.tar.bz2/po/uk.po
Changed
@@ -8,18 +8,18 @@ msgstr "" "Project-Id-Version: lives\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" -"PO-Revision-Date: 2016-10-29 06:52+0000\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" +"PO-Revision-Date: 2017-01-16 07:04+0000\n" "Last-Translator: Yuri Chornoivan <yurchor@gmail.com>\n" "Language-Team: Ukrainian <translation@linux.org.ua>\n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2016-11-27 15:08+0000\n" -"X-Generator: Launchpad (build 18282)\n" +"X-Launchpad-Export-Date: 2017-04-26 23:56+0000\n" +"X-Generator: Launchpad (build 18364)\n" -#: src/main.c:132 +#: src/main.c:125 msgid "" "Attention Translators !\n" "This message is intended for you, so please do not translate it.\n" @@ -33,22 +33,22 @@ "All translators should read the LiVES translation notes at\n" "http://lives-video.com/TRANS-README.txt" -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "%s, попередження: %s\n" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "%s, критична помилка: %s\n" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "%s, аварія: %s\n" -#: src/main.c:203 +#: src/main.c:197 #, c-format msgid "" "\n" @@ -61,7 +61,7 @@ "Будь ласка, повідомте про це на адресу %s\n" "Дякуємо. Відновити дані можна буде після перезапуску LiVES.\n" -#: src/main.c:205 +#: src/main.c:199 #, c-format msgid "" "\n" @@ -74,7 +74,7 @@ "Будь ласка, у повідомленнях про помилки у програмі вказуйте назву вашої " "операційної системи, дистрибутива та номер версії LiVES (%s)\n" -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" @@ -82,7 +82,7 @@ "а також дані, наведені нижче:\n" "\n" -#: src/main.c:210 +#: src/main.c:204 msgid "" "Please try running LiVES with the -debug option to collect more " "information.\n" @@ -92,7 +92,7 @@ "більше даних.\n" "\n" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" @@ -102,87 +102,87 @@ "зібрати більше даних.\n" "\n" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "Збереження набору.\n" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "Будь-який" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "Жодного" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "найліпший" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "вимкнено!" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "**Поточне компонування**" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "Вбудований" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "Нетиповий" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "Перевірити" -#: src/main.c:474 +#: src/main.c:460 msgid "LiVES: - " msgstr "LiVES: - " -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "Зміна розміру" -#: src/main.c:731 +#: src/main.c:708 msgid "_Resize All Frames..." msgstr "З_мінити розмір усіх кадрів…" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "Передній план" -#: src/main.c:1122 +#: src/main.c:1094 msgid "Background" msgstr "Тло" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "Завантаження додатків ефектів реального часу…" -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "Запуск звукового сервера jack…" -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "Запуск сервера передавання даних jack…" -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "Встановлення з’єднання з сервером передавання даних jack…" -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -201,34 +201,34 @@ "\n" "Alternatively, try to start lives with either \"lives -jackopts 16\", or " -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "Запуск звукового сервера PulseAudio…" -#: src/main.c:1855 +#: src/main.c:1813 #, c-format msgid "%s...detected... " msgstr "%s...виявлено… " -#: src/main.c:1856 +#: src/main.c:1814 #, c-format msgid "%s...NOT DETECTED... " msgstr "%s...НЕ ВИЯВЛЕНО… " -#: src/main.c:1867 +#: src/main.c:1824 msgid "Checking optional dependencies: " msgstr "Шукаємо додаткові залежності: " -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "Версія Windows %04X" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "НЕВІДОМИЙ — будь ласка, накладіть латку!" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -239,53 +239,53 @@ "\n" "Інструмент керування вікнами — «%s»; " -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "виявлена кількість моніторів: %d\n" -#: src/main.c:1901 +#: src/main.c:1863 #, c-format msgid "Number of CPUs detected: %d " msgstr "Кількість виявлених процесорів: %d " -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "little endian" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "big endian" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "(%d-бітова, %s)\n" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "Тип графічного інтерфейсу: " -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "Версія GTK+ %d.%d.%d (зібрано з %d.%d.%d)" -#: src/main.c:1927 +#: src/main.c:1889 #, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "GTK+ (зібрано з версією %d.%d.%d)" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr ", з підтримкою cairo" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "Каталог тимчасових файлів — %s\n" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" @@ -295,15 +295,15 @@ "jack або PulseAudio.\n" "Ви не зможете скористатися багатьма можливостями з обробки звуку.\n" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "Зібрано з підтримкою jack, добре!\n" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "Зібрано з підтримкою PulseAudio, чудово!\n" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" @@ -312,7 +312,7 @@ "Вітаємо у LiVES версії %s.\n" "\n" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" @@ -322,87 +322,87 @@ "Синтаксис команди запуску: %s [параметри] [назва файла [початок_за_часом] " "[кількість кадрів]]\n" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "" "де «назва файла» — назва файла мультимедійних даних або резервної копії.\n" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "" "початок_за_часом: початок за часом у файлі з вказаною назвою у секундах\n" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "кількість кадрів: максимальна кількість кадрів, які слід відкрити\n" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "параметри можуть бути такими:\n" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "-help : показати текст цієї довідки і завершити роботу\n" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "" "-tmpdir <тимч. каталог>: використовувати інший робочий каталог (наприклад /" "var/ramdisk)\n" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "" "-set <назва_набору> : автоматично завантажити набір кліпів з вказаною " "назвою\n" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "-noset : не завантажувати жодного набору після запуску\n" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "" "-norecover : не завантажувати відновлені дані під час перезапуску " "після аварії\n" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "" "-recover : завантажити відновлені дані під час перезапуску після " "аварії\n" -#: src/main.c:2593 +#: src/main.c:2545 msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "" "-nothreaddialog : не вносить ніяких змін, збережено лише для сумісності\n" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "-nogui : не показувати графічного інтерфейсу\n" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "-nosplash : не показувати вікна вітання\n" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "-noplaywin : не показувати вікна відтворення\n" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "-noninteractive : вимкнути інтерактивність меню\n" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "-startup-ce : запустити у режимі редактора кліпів\n" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "-startup-mt : запустити у режимі роботи з декількома доріжками\n" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" @@ -410,17 +410,17 @@ "-fxmodesmax <n> : надати змогу використовувати <n> режимів на клавішу " "ефекту (мінімальне значення — 1, типове — 8)\n" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "" "-oscstart <порт> : запустити програму очікування на дані OSC на вказаному " "порті UDP\n" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "-nooscstart : не запускати програми очікування на дані OSC\n" -#: src/main.c:2605 +#: src/main.c:2557 msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " "mplayer2" @@ -429,15 +429,15 @@ "варіанти <ap>: mplayer, mplayer2" #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr ", pulse" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr ", sox або jack\n" -#: src/main.c:2613 +#: src/main.c:2565 msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " "transport client,2 = jack transport master, 4 = start jack transport server, " @@ -448,16 +448,16 @@ "запуск сервера передавання даних jack, 8 = призупинка відтворення звуку, " "якщо призупинено відтворення відео, 16 = запуск звукового сервера jack] \n" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr " або sox\n" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "" "-devicemap <назва карти> : автоматично завантажити карту пристроїв\n" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" @@ -466,17 +466,17 @@ "відтворення відео з <файл>-а (Зауваження: встановлюються лише параметри, а " "не тип додатка)\n" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "" "-debug : спробувати виконати діагностику аварії (доведеться " "встановити «gdb»)\n" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "Запуск графічного інтерфейсу..." -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -494,7 +494,7 @@ "(Можливо, вам доведеться змінити значення параметра <prefix_dir> у вашому " "файлі %s)\n" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -506,7 +506,7 @@ "Будь ласка, переконайтеся, що маєте права доступу на запис до %s і повторіть " "спробу.\n" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -521,7 +521,7 @@ "Будь ласка, ознайомтеся з файлом README, який постачається\n" "разом з цим пакунком, перед запуском LiVES.\n" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -536,7 +536,7 @@ "\n" "Будь ласка, змініть права доступу до цього файла і повторіть спробу.\n" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -553,7 +553,7 @@ "Будь ласка, перевірте права доступу на цей файл і каталог,\n" "а потім повторіть спробу.\n" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -564,7 +564,7 @@ "%s\n" "і повторіть спробу.\n" -#: src/main.c:2737 +#: src/main.c:2689 #, c-format msgid "" "\n" @@ -579,7 +579,7 @@ "\n" "%s" -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -597,7 +597,7 @@ "\n" "Дякуємо.\n" -#: src/main.c:2751 +#: src/main.c:2703 msgid "" "\n" "LiVES currently requires 'mplayer', 'mplayer2' or 'sox' to function. Please " @@ -608,7 +608,7 @@ "«mplayer2» або «sox». Будь ласка, встановіть одну з цих програм, потім " "повторіть спробу.\n" -#: src/main.c:2756 +#: src/main.c:2708 msgid "" "\n" "LiVES currently requires both 'mplayer' or 'mplayer2' and 'sox' to function. " @@ -619,7 +619,7 @@ "«mplayer2» і «sox». Будь ласка, встановіть ці програми, потім повторіть " "спробу.\n" -#: src/main.c:2769 +#: src/main.c:2721 msgid "" "\n" "LiVES was unable to locate 'mplayer','mplayer2' or 'mpv'. You may wish to " @@ -630,7 +630,7 @@ "встановити одну з цих трьох програм, щоб скористатися усіма можливостями " "LiVES.\n" -#: src/main.c:2775 +#: src/main.c:2727 msgid "" "\n" "LiVES was unable to locate 'mplayer' or 'mplayer2'. You may wish to install " @@ -640,7 +640,7 @@ "LiVES не вдалося виявити програму «mplayer» або «mplayer2». Вам варто " "встановити одну з цих програм, щоб скористатися усіма можливостями LiVES.\n" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" @@ -650,7 +650,7 @@ "LiVES не вдалося виявити програми «convert». Якщо ви маєте намір " "користуватися ефектами показу, вам слід встановити convert і image-magick.\n" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " @@ -661,7 +661,7 @@ "користуватися функціональними можливостями об’єднання, вам слід встановити " "composite і image-magick.\n" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " @@ -672,7 +672,7 @@ "програму, програма не зможе виконувати деякі з функцій обробки звуку. Вам " "слід встановити «sox».\n" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -689,63 +689,63 @@ "Без цих додатків ви не зможете скористатися пунктом «Зберегти».\n" "Можливо, вам слід змінити значення параметра <lib_dir> у %s\n" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "Завантаження додатків ефектів показу…" -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "Автоматичне завантаження набору %s..." #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "LiVES" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "Помилковий аудіопрогравач %s\n" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <Untitled%d> %dx%d : %d кадрів %d бітів/пк %.3f кд/с" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : ??? кадрів ??? бітів/пк %.3f кд/с" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : %d кадрів %d бітів/пк %.3f кд/с" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "LiVES-%s: <файла не вказано>" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "зап %9d/%d" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "!зап %9d/%d" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "Пуск" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" @@ -753,34 +753,34 @@ "LiVES не вдалося захопити це зображення.\n" "\n" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "Закритий файл %s\n" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "В_ернути" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "Повт_орити" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "Відео" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "Лівий канал звуку" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "Правий канал звуку" -#: src/main.c:7078 +#: src/main.c:6973 msgid "" "\n" "\n" @@ -987,7 +987,7 @@ msgid "Use _mplayer2 audio player" msgstr "Використовувати програвач _mplayer2" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "_Далі" @@ -1232,55 +1232,55 @@ msgid "_Finish" msgstr "_Завершити" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "Дозволити LiVES встановлювати су_фікс назв файлів" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "Дозволити LiVES встановлювати су_фікс назв файлів (.%s)" -#: src/interface.c:46 +#: src/interface.c:42 msgid "Apply _Deinterlace" msgstr "_Усунути черезрядковість" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "" "Якщо позначити цей пункт, програма усуватиме черезрядковість з кадрів під " "час імпортування." -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "Перегляд" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "" "Натисніть, щоб _переглянути будь-який позначений файл відео, зображення або " "звукових даних" -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "Натисніть, щоб _переглянути будь-який позначений файл звукових даних" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "Натисніть, щоб _переглянути відео" -#: src/interface.c:122 +#: src/interface.c:113 msgid "Click here to _Preview the file" msgstr "Натисніть, щоб _переглянути файл" -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 msgid "Processing..." msgstr "Виконуємо обробку…" -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1294,8 +1294,8 @@ "\n" "Не забудьте потім вимкнути ефекти (ctrl-0)!" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" @@ -1303,92 +1303,92 @@ "\n" "Будь ласка, зачекайте" -#: src/interface.c:221 +#: src/interface.c:206 msgid "Show Details" msgstr "Показати подробиці" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "_Досить" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "П_ереглянути" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "Приз_упинити" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "Призупинити/_Досить" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "_Скасувати" -#: src/interface.c:334 +#: src/interface.c:324 msgid "Multitrack Details" msgstr "Подробиці щодо набору доріжок" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "Формат" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "Розміри кадру" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "Розмір файла" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "Розмір у байтах" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "кадрів/с" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "Кадри" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "Події" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "Загальний час" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "Звук" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "Швидкість/Розмір" -#: src/interface.c:568 +#: src/interface.c:590 msgid "Encoding Options" msgstr "Параметри кодування" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "" "<------------- (Позначте, щоб змінити _розміри відповідно до пропозиції)" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "<------------- (Позначте, щоб було використано _рекомендований розмір)" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "_Чорні смуги для збереження співвідношення розмірів (необов’язкове)" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." @@ -1396,80 +1396,84 @@ "Додавати чорні смуги над і під зображенням, або з боків зображення, щоб " "запобігти розтягуванню." -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "Зберегти _мої параметри" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "Використати _рекомендовані параметри" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "За_крити вікно" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "_Зберегти до файла" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "Вставити" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "_Кількість повторних вставок" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "В_ставити відповідно до звукових даних" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "Вставити п_еред позначеним" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "Вставити вміст буфера обміну даними перед позначеними кадрами" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "Вставити п_ісля позначеного" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "Вставити вміст буфера обміну даними після позначених кадрів" -#: src/interface.c:833 +#: src/interface.c:846 +msgid "Insert _with silence" +msgstr "" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "Вставити _зі звуком" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "Вставити _без звуку" -#: src/interface.c:924 +#: src/interface.c:937 msgid "Open Selection" msgstr "Відкриття позначеного" -#: src/interface.c:943 +#: src/interface.c:954 msgid "Selection start time (sec)" msgstr "Початок позначення (сек.)" -#: src/interface.c:949 +#: src/interface.c:960 msgid "Number of frames to open" msgstr "Кількість кадрів, які слід відкрити" -#: src/interface.c:1023 +#: src/interface.c:1029 msgid "Open Location" msgstr "Відкрити адресу" -#: src/interface.c:1025 +#: src/interface.c:1031 msgid "Open Youtube Clip" msgstr "відкриття кліпу з Youtube" -#: src/interface.c:1045 +#: src/interface.c:1050 msgid "" "\n" "\n" @@ -1486,7 +1490,7 @@ "Налаштування|Потокове відтворення\n" "\n" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1501,7 +1505,7 @@ "Будь ласка, переконайтеся, що встановлено найсвіжішу версію цієї програми.\n" "\n" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" @@ -1511,61 +1515,61 @@ "Приклад: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "URL: " -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "Адреса на Youtube: " -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "Не надсилати даних щодо потужності каналу" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "" "Спробуйте скористатися цим пунктом, якщо у вас виникають проблеми з " "отриманням потоку даних" -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "Звантаження до _каталогу: " -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "Назва звантаженого _файла: " -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr ".webm" -#: src/interface.c:1188 +#: src/interface.c:1189 msgid "Rename Clip" msgstr "Перейменування кліпу" -#: src/interface.c:1190 +#: src/interface.c:1191 msgid "Enter Set Name to Save as" msgstr "Вкажіть назву набору для збереження" -#: src/interface.c:1192 +#: src/interface.c:1193 msgid "Enter a Set Name to Reload" msgstr "вкажіть назву набору для перезавантаження" -#: src/interface.c:1194 +#: src/interface.c:1195 msgid "Choose a Working Directory" msgstr "Виберіть робочий каталог" -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 msgid "Rename Current Track" msgstr "Перейменування поточної доріжки" -#: src/interface.c:1198 +#: src/interface.c:1199 msgid "Enter a Name for Your Theme" msgstr "Вкажіть назву вашої теми" -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1578,7 +1582,7 @@ "LiVES нагадає вам про те, що слід зберегти набір кліпів пізніше, якщо ви " "спробуєте вийти.\n" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1607,210 +1611,210 @@ "Спочатку вам слід вибрати робочий каталог для LiVES\n" "Цей каталог має зберігатися на диску, де дуже багато вільного місця.\n" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "Нова назва " -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "Встановити назву " -#: src/interface.c:1257 +#: src/interface.c:1255 msgid "Theme name " msgstr "Назва теми " -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "Зберегти розширені кольори" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "Використовувати т_ипові" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "Д_одатково" -#: src/interface.c:1437 +#: src/interface.c:1425 msgid "Select input device" msgstr "Виберіть пристрій вхідних даних" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "Виберіть пристрій вхідних даних:" -#: src/interface.c:1517 +#: src/interface.c:1505 msgid "Load CD Track" msgstr "Завантаження композиції з КД" -#: src/interface.c:1519 +#: src/interface.c:1507 msgid "Select DVD Title/Chapter" msgstr "Вибір частини або глави DVD" -#: src/interface.c:1521 +#: src/interface.c:1509 msgid "Select VCD Title" msgstr "Вибір заголовка VCD" -#: src/interface.c:1523 +#: src/interface.c:1511 msgid "Change Maximum Visible Tracks" msgstr "Зміна максимальної кількості видимих доріжок" -#: src/interface.c:1525 +#: src/interface.c:1513 msgid "Device details" msgstr "Параметри пристроїв" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "Доріжка, яку слід завантажити (з %s)" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "Частина DVD" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "Частина VCD" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "Максимальна кількість доріжок для показу" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "Пристрій: /dev/video" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "Пристрій: fw:" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "Частина " -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "Канал " -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "Ідент. звуку " -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "Кількість входів" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "Використовувати типову ширину, висоту і частоту кадрів" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "Ширина" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "Висота" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "Д_райвер" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "Формат _виведення" -#: src/interface.c:1815 +#: src/interface.c:1778 msgid "Fade Audio In" msgstr "Поступове наростання гучності" -#: src/interface.c:1817 +#: src/interface.c:1780 msgid "Fade Audio Out" msgstr "Поступове зменшення гучності" -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "Наростання завершується після " -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "перших" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "Зменшення завершується після " -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "останній" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "секунд." -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "позначене" -#: src/interface.c:1909 +#: src/interface.c:1865 msgid " (Optional)" msgstr " (Необов'язково)" -#: src/interface.c:1912 +#: src/interface.c:1868 #, c-format msgid "File Comments%s" msgstr "Коментарі до файла %s" -#: src/interface.c:1927 +#: src/interface.c:1882 #, c-format msgid "File Name: %s" msgstr "Назва файла: %s" -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "Заголовок/Назва: " -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "Автор/Виконавець: " -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "Коментарі: " -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "Зберегти с_убтитри до файла" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "Файл субтитрів" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "Вибрати..." -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "П_араметри" -#: src/interface.c:2109 +#: src/interface.c:2058 #, c-format msgid "%sChoose a Device" msgstr "%sВиберіть пристрій" -#: src/interface.c:2112 +#: src/interface.c:2061 #, c-format msgid "%sChoose a Directory" msgstr "%sВиберіть каталог" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "%sВиберіть файл" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" @@ -1820,7 +1824,7 @@ "Поточне компонування не було збережено.\n" "Що слід робити програмі?\n" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" @@ -1830,7 +1834,7 @@ "Поточне компонування було змінено з часу останнього збереження.\n" "Що слід робити програмі?\n" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" @@ -1840,7 +1844,7 @@ "Можна зберегти поточний набір кліпів.\n" "Що слід робити програмі?\n" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" @@ -1848,7 +1852,7 @@ "Поточний набір кліпів не було збережено.\n" "Що слід робити програмі?\n" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" @@ -1856,7 +1860,7 @@ "Поточне компонування не було збережено.\n" "Що слід робити програмі?\n" -#: src/interface.c:2410 +#: src/interface.c:2341 msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" "What would you like to do ?\n" @@ -1864,7 +1868,7 @@ "Поточне компонування не було збережено з часу попереднього зберігання.\n" "Що слід робити програмі?\n" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" @@ -1874,43 +1878,43 @@ "Поточне компонування містить створені кадри, отже його неможливо зберегти.\n" "Що слід робити програмі?" -#: src/interface.c:2417 +#: src/interface.c:2348 msgid "Cancel/Discard/Save" msgstr "Скасування/Відкидання/Збереження" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "_Назва набору кліпів" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "_Автоматично перезавантажити наступного разу" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "Ви_терти компонування" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "_Ігнорувати зміни" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "Ви_лучити набір кліпів" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "Ви_лучити компонування" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "_Зберегти компонування" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "_Зберегти набір кліпів" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" @@ -1920,36 +1924,36 @@ "LiVES було виявлено багатодоріжкове компонування з попереднього сеансу.\n" "Бажаєте, щоб програма спробувала його відновити?\n" -#: src/interface.c:2527 +#: src/interface.c:2455 msgid "Disk Recovery Options" msgstr "Параметри спорожнення диска" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "Вилучити _невикористані кліпи" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "" "Вилучити всі кліпи, які зараз не завантажено або які не є частиною набору" -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "Вилучити файли _резервних копій закритих кліпів" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "Вилучити набори, які мають записи _компонування, але не мають кліпів" -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "_Типові значення" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "Клавіатурні скорочення показу" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1962,203 +1966,203 @@ "Клавіші для запису (натисніть «r» до відтворення, щоб зробити запис)\n" "-----------------------\n" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "ctrl-left" msgstr "Ctrl-←" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "гортати назад\n" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "Ctrl-→" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "skip forwards\n" msgstr "гортати вперед\n" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "Ctrl-↑" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "швидше/збільшити потужність ефекту\n" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "ctrl-down" msgstr "Ctrl-↓" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "повільніше/зменшити потужність ефекту\n" -#: src/interface.c:2720 +#: src/interface.c:2639 msgid "ctrl-enter" msgstr "Ctrl-Enter" -#: src/interface.c:2720 +#: src/interface.c:2639 msgid "reset frame rate\n" msgstr "скинути частоту кадрів\n" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "Ctrl-Пробіл" -#: src/interface.c:2723 +#: src/interface.c:2642 msgid "reverse direction\n" msgstr "зворотний напрямок\n" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "Ctrl-Alt-Пробіл" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "зворотний напрямок (фоновий кліп)\n" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "Ctrl-Backspace" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "заморозити кадр\n" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "нервовість\n" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "Ctrl-Page Up" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "попередній кліп\n" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "Ctrl-Page Down" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "наступний кліп\n" -#: src/interface.c:2743 +#: src/interface.c:2662 msgid "ctrl-1" msgstr "Ctrl-1" -#: src/interface.c:2743 +#: src/interface.c:2662 msgid "toggle real-time effect 1\n" msgstr "увімкнути або вимкнути ефект реального часу 1\n" -#: src/interface.c:2746 +#: src/interface.c:2665 msgid "ctrl-2" msgstr "Ctrl-2" -#: src/interface.c:2746 +#: src/interface.c:2665 msgid "toggle real-time effect 2\n" msgstr "увімкнути або вимкнути ефект реального часу 2\n" -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "…тощо…\n" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "ctrl-0" msgstr "Ctrl-0" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "real-time effects off\n" msgstr "вимкнути інтерактивні ефекти\n" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "поміняти місцями тло і передній план\n" -#: src/interface.c:2759 +#: src/interface.c:2678 msgid "grab keyboard for last activated effect\n" msgstr "захопити клавіатуру для останнього активованого ефекту\n" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "перемкнути режим ефекту (якщо ефектом захоплено клавіатуру)\n" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "ввести текстовий параметр (якщо ефектом захоплено клавіатуру)\n" -#: src/interface.c:2768 +#: src/interface.c:2688 msgid "tab" msgstr "Tab" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "вилучити текстовий параметр (якщо ефектом захоплено клавіатуру)\n" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "F1" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "зберегти/перемкнутися на мнемоніку кліпу 1\n" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "F2" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "зберегти/перемкнутися на мнемоніку кліпу 2\n" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "F12" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "зняти функціональні клавіші\n" -#: src/interface.c:2785 +#: src/interface.c:2706 msgid "Other playback keys\n" msgstr "Інші клавіші, пов’язані із відтворенням\n" -#: src/interface.c:2789 +#: src/interface.c:2710 msgid "play all\n" msgstr "відтворити усе\n" -#: src/interface.c:2792 +#: src/interface.c:2713 msgid "play selection\n" msgstr "відтворити позначене\n" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "зупинка\n" -#: src/interface.c:2798 +#: src/interface.c:2719 msgid "fullscreen\n" msgstr "на весь екран\n" -#: src/interface.c:2801 +#: src/interface.c:2722 msgid "separate window\n" msgstr "окреме вікно\n" -#: src/interface.c:2804 +#: src/interface.c:2725 msgid "double size\n" msgstr "подвійний розмір\n" -#: src/interface.c:2807 +#: src/interface.c:2728 msgid "ping pong loops\n" msgstr "цикли туди-сюди\n" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "Клавіатурні скорочення режиму декількох доріжок" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" @@ -2167,127 +2171,127 @@ "у вікні з багатьма доріжками:-\n" "-----------------------\n" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "Ctrl-←" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "пересунути курсор на монтажному столі ліворуч на 1 секунду\n" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "Ctrl-→" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "пересунути курсор на монтажному столі праворуч на 1 секунду\n" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "Shift-←" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "пересунути курсор на монтажному столі на 1 кадр ліворуч\n" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "Shift-→" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "пересунути курсор на монтажному столі на 1 кадр праворуч\n" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "Ctrl-↑" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "move current track up\n" msgstr "пересунути поточну доріжку вище\n" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "Ctrl-↓" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "move current track down\n" msgstr "пересунути поточну доріжку нижче\n" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "позначити попередній кліп\n" -#: src/interface.c:2849 +#: src/interface.c:2768 msgid "select next clip\n" msgstr "позначити наступний кліп\n" -#: src/interface.c:2852 +#: src/interface.c:2771 msgid "select/deselect current track\n" msgstr "позначити або зняти позначення з поточної доріжки\n" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "Ctrl-+" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "zoom in\n" msgstr "збільшити\n" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "Ctrl--" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "zoom out\n" msgstr "зменшити\n" -#: src/interface.c:2861 +#: src/interface.c:2780 msgid "make a mark on the timeline (during playback)\n" msgstr "зробити позначку на монтажному столі (під час відтворення)\n" -#: src/interface.c:2864 +#: src/interface.c:2783 msgid "rewind to play start.\n" msgstr "повернутися до початку відтворення.\n" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "Інші клавіатурні скорочення можна знайти у меню.\n" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "'LiVES відкрито набір кліпів' '%s'" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "'LiVES збережено набір кліпів' '%s'" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "Зберігання набору %s…" -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "Будь ласка, вкажіть назву файла, до якого слід зберегти кліп.\n" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "Будь ласка, вкажіть коректну адресу для отримання даних.\n" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "Звантаження %s до %s…" -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "Звантаження кліпу" -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -2299,16 +2303,16 @@ "Будь ласка, перевірте, чи правильно вказано адресу кліпу\n" "і чи встановлено найсвіжішу версію youtube-dl.\n" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, c-format msgid "Layouts were removed for set %s.\n" msgstr "Вилучено компонування для набору %s.\n" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "Поточний файл" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " @@ -2316,7 +2320,7 @@ ",\n" " - разом з поточним компонуванням - " -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2331,7 +2335,7 @@ "\n" "Ви справді бажаєте його закрити?" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2346,7 +2350,7 @@ "\n" "Ви справді бажаєте його закрити?" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" @@ -2357,7 +2361,7 @@ "\n" "Закрити кліп попри це?" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" @@ -2365,7 +2369,7 @@ "\n" "Некоректний файл проекту.\n" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2388,53 +2392,53 @@ "нову назву або відкинути набір.\n" "Після завершення цих дій ви зможете імпортувати новий проект.\n" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "Імпортування проекту %s як набору %s…" -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "Імпортування проекту" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "Експортування проекту %s…" -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "Експортування проекту" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 msgid "Theme" msgstr "Тема" -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "Виберіть каталог для експортування" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, c-format msgid "Exporting theme as %s..." msgstr "Експортуємо тему як %s…" -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, c-format msgid "Importing theme \"%s\" from %s..." msgstr "Імпортуємо тему «%s» з %s…" -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, c-format msgid "Backup as %s File" msgstr "Створити резервну копію у файлі %s" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, c-format msgid "Restore %s File" msgstr "Відновити файл %s" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2446,95 +2450,95 @@ "Набір буде вилучено з диска.\n" "Ви справді цього бажаєте?\n" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "Вилучення набору %s…" -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "Вилучення набору…" -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "Вилучення набору" -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "Набір %s було остаточно вилучено з диска.\n" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "Вставити тишу" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "Скасування" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "Відновлення звуку…" -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "Спорожнення зображень кадрів" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "Вилучення зайвих кадрів" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "" "Поточна тривалість відео — %d кадрів на швидкості %.3f кадрів на секунду.\n" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "Вміст буфера обміну даних було розбито на %d кадрів.\n" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "Повторення" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "Копіювання кадрів від %d до %d (зі звуком) до буфера обміну даними..." -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "Копіювання кадрів від %d до %d до буфера обміну даними..." -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "Копіювання до буфера" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "Вирізати" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 msgid "Pulling frames from clipboard" msgstr "Отримуємо кадри з буфера обміну даними" -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "Вставлення %d кадрів до нового кліпу %s…" -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "Вставка" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "…додано звукові дані…" -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " @@ -2544,7 +2548,7 @@ "Будь ласка, встановіть програму «convert» з пакунка Imagemagick, а потім " "перезапустіть LiVES.\n" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2558,7 +2562,7 @@ "Спробуйте позначити всі кадри, а потім скористайтеся пунктом \n" "«Обрізати/Доповнити звукову доріжку» з меню «Звук»." -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." @@ -2567,7 +2571,7 @@ "дискретизації.\n" "Будь ласка, встановіть «sox», а потім повторіть спробу." -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" @@ -2578,7 +2582,7 @@ "компонувань.\n" "Ви саме цього і хотіли?\n" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" @@ -2589,11 +2593,11 @@ "компонувань.\n" "Ви саме цього і хотіли?\n" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "Повторна дискретизація звукових даних буфера" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2605,7 +2609,7 @@ "LiVES не вдалося змінити частоту дискретизації звукових даних у буфері. \n" "Звукові дані у буфері вилучено.\n" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2619,32 +2623,32 @@ "Бажаєте продовжувати процедуру вставлення \n" "на основі незмінених звукових даних?\n" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "Вставка %d%s кадрів з буфера обміну даними…" -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "Вставлення" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "Вставка %d копій даних з буфера%s…" -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "Вставка %d кадрів з буфера обміну даними%s…" -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "Скасування" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" @@ -2654,7 +2658,7 @@ "Вилучення всіх кадрів призведе до закриття цього файла.\n" "Чи впевнені ви у своїх діях?" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" @@ -2665,8 +2669,8 @@ "компонувань.\n" "Ви справді бажаєте продовжувати?\n" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" @@ -2677,7 +2681,7 @@ "компонувань.\n" "Ви справді бажаєте продовжувати?\n" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" @@ -2687,7 +2691,7 @@ "Вилучення призведе до зсуву кадрів у деяких з багатодоріжкових компонувань.\n" "Ви справді бажаєте продовжувати?\n" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" @@ -2698,20 +2702,20 @@ "компонувань.\n" "Ви справді бажаєте продовжувати?\n" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "Вилучення кадрів від %d до %d%s…" -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "Вилучення" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "Вилучити" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" @@ -2721,7 +2725,7 @@ "\n" "Позначення заблоковано.\n" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2733,11 +2737,11 @@ "(Щоб скасувати запис, натисніть клавішу «r» або скористайтеся пунктом меню " "«Відтворення->Виконати запис» ще раз перед початком запису.)\n" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "Запис скасовано.\n" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2750,7 +2754,7 @@ "Повідомлення додатка «%s»:\n" "%s\n" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2763,7 +2767,7 @@ "У додатку %s не вдалося виявити методу «init».\n" "Ймовірно, файли додатка пошкоджено або встановлено неналежним чином." -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2776,22 +2780,22 @@ "\n" "Будь ласка, натисніть «Скасувати», якщо це суперечить вашим планам.\n" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "Зберігання набору %s" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "Завантаження кліпів з набору %s" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "%d кліпів і %d компонувань було відновлено з набору (%s).\n" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2803,24 +2807,24 @@ "запущено жодної іншої копії LiVES.\n" "Натисніть кнопку «Гаразд», щоб продовжити виконання дії.\n" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "Спорожнення простору на диску…" -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "Звільнення місця на диску" -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "Звільнено %s місця на диску.\n" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "Відновлення частоти кадрів та параметрів кадрів…" -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2831,12 +2835,12 @@ "Зовнішня: %s\n" "Внутрішня: %s (%d біт/тчк) / %s\n" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "буферизовано" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." @@ -2844,7 +2848,7 @@ "\n" " Відкриття…" -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" @@ -2853,7 +2857,7 @@ "\n" "(%d віртуальних)" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" @@ -2862,7 +2866,7 @@ "\n" "(%d декодовано)" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" @@ -2871,7 +2875,7 @@ "\n" " %.2f с" -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" @@ -2879,23 +2883,23 @@ "\n" " Невідомо" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "unsigned" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "signed" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "big-endian" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "little-endian" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" @@ -2904,7 +2908,7 @@ " %d Гц %d бітів\n" "%s %s" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2935,22 +2939,22 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, " "USA\n" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "Відеоредактор та програма для ві-джеїв." -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "Про LiVES" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" "Launchpad Contributions:\n" " Yuri Chornoivan https://launchpad.net/~yurchor-gmail\n" " yurchor https://launchpad.net/~yurchor-deactivatedaccount" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, c-format msgid "" "LiVES Version %s\n" @@ -2974,7 +2978,7 @@ "%s\n" "Домашня сторінка: %s" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 msgid "" "\n" "\n" @@ -2985,7 +2989,7 @@ "Для попереднього перегляду цього файла вам слід встановити mplayer або " "mplayer2.\n" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 msgid "" "\n" "\n" @@ -2997,7 +3001,7 @@ "Для попереднього перегляду вмісту цього файла вам слід встановити mplayer, " "mplayer2 або imageMagick.\n" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" @@ -3006,85 +3010,85 @@ "Текст збережено як\n" "%s\n" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 msgid "Encoder Debug Output" msgstr "Дані зневаджування інструменту кодування" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "Повноекранне відтворення (f)" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "Вимкнути повноекранне відтворення (f)" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "Подвійний розмір (d)" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "Одинарний розмір (d)" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "Сховати вікно відтворення (s)" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "Показати вікно відтворення (s)" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "Відтворити у окремому вікні (s)" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "Вимикання неперервного циклічного відтворення (o)" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "Вмикання неперервного циклічного відтворення (o)" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "Гучність (%.2f)" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "Увімкнути звук (z)" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "Вимкнути звук (z)" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "Обернення за часом даних з буфера…" -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "Обернення за часом даних з буфера" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 msgid "Load Subtitles" msgstr "Завантажити субтитри" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "Завантажений файл субтитрів: %s\n" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "Субтитри було вилучено.\n" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 msgid "Select Audio File" msgstr "Вибір звукового файла" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -3097,59 +3101,59 @@ "Бажаєте продовжити завантаження?\n" "." -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "Відкриття звукових даних %s, тип %s…" -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "Відкриття звукових даних" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "Додавання звукових даних" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "Новий звук" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "Відкриття доріжки КД №%d з %s…" -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "Доріжка КД %d" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "Відкриття доріжки КД…" -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "Помилка під час завантаження доріжки КД\n" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 msgid "Layout Errors" msgstr "Помилки компонування" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "Вилучити записи про п_омилки" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "Ви_лучити відповідні компонування" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "Поновити" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" @@ -3159,23 +3163,23 @@ "Призупинено\n" "(натисніть «Поновити», щоб продовжити обробку)" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "призупинено…" -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "поновлено…" -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "Залишити" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "Досить" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, c-format msgid "" "\n" @@ -3188,29 +3192,29 @@ "(натисніть «%s», щоб зберегти поточне і зупинити обробку)\n" "(натисніть «Поновити», щоб продовжити обробку)" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "Скасувати" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "Зупинити" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 msgid "Selected Frame" msgstr "Позначений кадр" -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 msgid "_Save Frame as..." msgstr "_Зберегти кадр як…" -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "" "Звук випереджає відео на %.4f секунд у кадрі %d, частота кадрів — %.4f\n" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -3224,7 +3228,7 @@ "Щоб змусити її працювати на інших платформах, надсилайте латки до коду.\n" "\n" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -3237,7 +3241,7 @@ "програму «xwininfo».\n" "\n" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" @@ -3245,7 +3249,7 @@ "\n" "Час запису має бути більшим за 0.\n" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -3260,11 +3264,11 @@ "Натисніть «Скасувати», щоб скасувати дію.\n" "\n" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "Зовнішнє вікно було закрито.\n" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" @@ -3272,7 +3276,7 @@ "Клацніть кнопкою миші у вікні, щоб почати захоплення зображення.\n" "Натисніть клавішу «q», щоб припинити запис." -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -3288,19 +3292,19 @@ "Натисніть «Зупинити» або клавішу «q», щоб завершити захоплення.\n" "(Типово, буде використано швидкість захоплення у %.3f кадрів на секунду.)\n" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "LiVES не вдалося захопити дані з цього вікна. Вибачте.\n" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "Експортувати позначені звукові дані як…" -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "Експортувати звукові дані як…" -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -3314,86 +3318,86 @@ "Натисніть кнопку «Гаразд», щоб експорт було виконано на новій швидкості, або " "кнопку «Скасувати», щоб експортувати його з початковою швидкістю.\n" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "Експортування звуку кадрів від %d до %d як %s…" -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "Експортування звуку як %s…" -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "Експортування звукових даних" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 msgid "Append Audio File" msgstr "долучення файла звукових даних" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "Долучення звукового файла %s…" -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "Долучення звукових даних" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "Долучення звуку" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "Доповнення звукових даних до %.2f секунд…" -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "Обрізання звукових даних від позиції %.2f с до позиції %.2f с…" -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "Обрізання/Доповнення звукових даних" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "Обрізати/Доповнити звукові дані" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "Наростання звуку" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "Наростання звуку" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "Поступове зменшення гучності" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "Поступове зменшення гучності" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "%s після %.1f секунд…" -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "%s від часу %.2f секунд до часу %.2f секунд…" -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "Зміна гучності…" -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" @@ -3403,33 +3407,33 @@ "Вилучення всіх звукових даних призведе до закриття цього файла.\n" "Ви бажаєте саме цього?" -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "Вилучення всіх звукових даних…" -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "Вилучення звукових даних від позиції %.2f с до позиції %.2f с…" -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "Вилучення звуку" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "Вилучити звук" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "Запис нових звукових даних" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "Вставка тиші від позиції %.2f с до позиції %.2f с…" -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "Вставка тиші" @@ -3442,7 +3446,7 @@ msgid "Merge Clipboard [ %d Frames ] With Selection [ %d Frames ]" msgstr "Об’єднання буфера [ %d кадрів ] з позначеним [ %d кадрів ]" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" @@ -3450,595 +3454,595 @@ "Об’єднання буфера [ %d кадрів (змінена дискретизація) ] з позначеним " "[ %d кадрів ]" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "Вирівняти по_чатки" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "Вирівняти _кінці" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "Спосіб обробки додаткових кадрів з буфера даних —" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "_Вставити кадри" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "Ви_кинути кадри" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "Кількість повторень даних з буфера даних" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "_Циклічно додати для заповнення позначеної ділянки" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "Спосіб п_ереходу:" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "Об’єднання даних з буфера з позначеною ділянкою…" -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "Об’єднання завершено.\n" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "_Нетипові породжувачі" -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "_Нетипові ефекти" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "Нетипові _допоміжні програми" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "_Файл" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "_Відкрити файл або каталог" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "В_ідкрити частину файла…" -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "Відкрити _адресу/потік…" -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "Відкрити к_ліп Youtube…" -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "Ім_портувати з DVD/VCD…" -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "Імпорт_увати з DVD" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "Імпорту_вати з VCD" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "І_мпортувати з Firewire" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "Імпортувати з п_ристрою Firewire (dv)" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "Імпортувати з п_ристрою Firewire (hdv)" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "_Додати вебкамеру/ТБ-картку…" -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "Додати прис_трій unicap" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "Додати потік даних з п_ристрою firewire" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "Додати п_ристрій ТБ" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "_Нещодавні файли…" -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "П_ерезавантажити набір кліпів…" -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "Закрити/З_берегти всі кліпи" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "За_кодувати кліп як…" -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "Закодувати _позначене як…" -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "_Закрити цей кліп" -#: src/gui.c:692 +#: src/gui.c:674 #, c-format msgid "_Backup Clip as .%s..." msgstr "Створити _резервну копію кліпу у форматі .%s…" -#: src/gui.c:701 +#: src/gui.c:683 #, c-format msgid "_Restore Clip from .%s..." msgstr "Ві_дновити кліп з .%s…" -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "Кодування/Завантаження/Резервне копіювання з_і звуком" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "Автоматично завантажувати субтитри" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "Споро_жнити місце на диску" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "З_міни" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "Режим _декількох доріжок" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "_Копіювати позначене" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "Ви_різати позначене" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "В_ставити з буфера обміну…" -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "Вставити як _новий" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "_Об’єднати вміст буфера з позначеним…" -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "Ви_лучити позначене" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "Розділити _відео і звук" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "По_значити…" -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "Позна_чити всі кадри" -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "_Лише перший кадр" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "Лише _останній кадр" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "Позначити від п_ершого кадру" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "Позначити від _останнього кадру" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "Позначити останню вставку/о_б’єднання" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "Позначити ділянку останнього _ефекту" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "І_нвертувати позначення" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "За_блокувати тривалість позначеного" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "_Відтворення" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "_Відтворити все" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "Ві_дтворити позначене" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "Відтворити да_ні з буфера обміну" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "З_упинити" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "На по_чаток" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "_Повноекранний режим" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "Подв_ійний розмір" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "Відтворити у _окремому вікні" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "Спо_рожнити тло" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "(Авто)з_ациклити відео (відповідно до звукової доріжки)" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "Неперервний _цикл" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "Ци_кл з відбиттям" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "В_имкнути звук" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "Ре_жим «прилипання» окремих вікон" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "По_казати лічильник кадрів" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "Показати субтитри" -#: src/gui.c:1069 +#: src/gui.c:1045 msgid "Letterbox Mode" msgstr "Режим додавання чорних смуг" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "Е_фекти" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "Ефекти застосовують до поточного позначеного фрагмента." -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "_Запустити тестовий ефект обробки/інструмент/породжувач…" -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "_Інструменти" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "Інструменти застосовують до цілих кліпів." -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "_Обернути порядок у буфері обміну даних" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "З_мінити швидкість відтворення або збереження…" -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "_Змінити частоту кадрів відео…" -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "_Допоміжні програми" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "Нетипові _інструменти" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "С_творити" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "Завантажити с_убтитри з файла…" -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "Вилучити субтитри" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "Захоплення відео з зовні_шнього вікна… " -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "_Параметри…" -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "_Звук" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "Завантажити _новий звук для кліпу…" -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "Завантажити _композицію з КД…" -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "Ви_штовхнути лоток КД" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "Записати з_овнішній звук…" -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "до нового _кліпу…" -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "до _позначеного" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "Поступове на_ростання гучності…" -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "Поступове змен_шення гучності…" -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "_Експортувати звук…" -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "Експортувати поз_начений звук…" -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "Експорт_увати весь звук…" -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "Д_олучити звук…" -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "_Обрізати/Доповнити звукову доріжку…" -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "Обрізати/Доповнити звукову доріжку до _позначеного" -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "Обрізати/Доповнити звукову доріжку від початку до позиції _відтворення" -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "В_илучити звук…" -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "Вилучити _позначений звук" -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "Вилучити в_есь звук" -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "Вставити _тишу у позначене" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "Змінити _частоту звуку…" -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "І_нформація" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "Показати _відомості щодо кліпу" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "Переглянути або _змінити коментарі у файлі" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "Показати відомості щодо _буфера даних" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "Показати _повідомлення" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "Показати помилки _компонування" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "_Кліпи" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "П_ерейменувати поточний кліп у меню…" -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "Д_одаткові" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "_Ефекти/Інструменти/Допоміжні програми RFX" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "_Створити тестовий скрипт RFX…" -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "К_опіювати скрипт RFX до тестових…" -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "_Змінити тестовий скрипт RFX…" -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "Пере_йментувати тестовий скрипт RFX…" -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "_Вилучити тестовий скрипт RFX…" -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "Підн_яти тестовий ефект обробки/інструмент/породжувач у списку…" -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "_Імпортувати нетиповий скрипт RFX…" -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "Е_кспортувати нетиповий скрипт RFX…" -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "Ви_лучити нетиповий скрипт RFX…" -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "Перез_ібрати всі додатки RFX" -#: src/gui.c:1397 +#: src/gui.c:1371 msgid "Receive _LiVES Stream from..." msgstr "_Отримати потік даних LiVES з…" -#: src/gui.c:1401 +#: src/gui.c:1375 msgid "_Send LiVES Stream to..." msgstr "_Надіслати потік даних LiVES до…" -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "Відкрити по_тік yuv4mpeg на %sstream.yuv..." -#: src/gui.c:1426 +#: src/gui.c:1399 #, c-format msgid "_Import Project (.%s)..." msgstr "_Імпортувати проект (.%s)…" -#: src/gui.c:1430 +#: src/gui.c:1403 #, c-format msgid "E_xport Project (.%s)..." msgstr "Е_кспортувати проект (.%s)…" -#: src/gui.c:1437 +#: src/gui.c:1409 #, c-format msgid "_Import Custom Theme (.%s)..." msgstr "_Імпортувати нетипову тему (.%s)…" -#: src/gui.c:1442 +#: src/gui.c:1414 #, c-format msgid "E_xport Theme (.%s)..." msgstr "Е_кспортувати тему (.%s)…" -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "Ві-д_жей" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "Відображення _ефектів реального часу" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "Пов’язати ефекти реального часу з комбінаціями клавіш ctrl-цифра." -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "Встановити _типові параметри ефектів реального часу" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "Встановити типові значення параметрів ефектів реального часу." -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "Зберегти _типові параметри ефектів реального часу" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." @@ -4046,146 +4050,146 @@ "Зберегти типові параметри ефектів реального часу, щоб програма завантажувала " "їх кожного разу, коли ви користуєтеся LiVES." -#: src/gui.c:1476 +#: src/gui.c:1448 msgid "_Reset All Playback Speeds and Positions" msgstr "С_кинути всі швидкості та позиції відтворення" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "" "Перевести всі позиції відтворення на перший кадр та відновити початкові " "значення частоти кадрів відтворення." -#: src/gui.c:1480 +#: src/gui.c:1452 msgid "_MIDI/Joystick Interface" msgstr "_Інтерфейс MIDI/джойстика" -#: src/gui.c:1489 +#: src/gui.c:1461 msgid "_MIDI/Joystick Learner..." msgstr "_Навчання MIDI/джойстика…" -#: src/gui.c:1493 +#: src/gui.c:1465 msgid "_Save Device Mapping..." msgstr "З_берегти карту відображення пристроїв…" -#: src/gui.c:1497 +#: src/gui.c:1469 msgid "_Load Device Mapping..." msgstr "_Завантажити карту відображення пристроїв…" -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "Показати _клавіші ві-джея" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "За_бавки" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "_Жодних" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "_Автоматика" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "_Шалені кадри" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "_ТБ LiVES (широкосмугове)" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "_Довідка" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "_Підручник (буде відкрито у переглядачі)" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 msgid "_Donate to the Project !" msgstr "Підтримати проект _фінансово!" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 msgid "_Email the Author" msgstr "_Надіслати електронного листа авторові" -#: src/gui.c:1547 +#: src/gui.c:1519 msgid "Report a _Bug" msgstr "Повідомити про _ваду" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 msgid "Suggest a _Feature" msgstr "Запропонувати _можливість" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 msgid "Assist with _Translating" msgstr "Допомогти з п_ерекладом" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "_Усування вад" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "_Про програму" -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "Повернутися на початок (w)" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "Відтворити все (p)" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "Зупинити відтворення (q)" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "Відтворити позначене (y)" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "Гучність" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "Гучність звуку (1.00)" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "Показати тло (b)" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "Уповільнити відтворення (ctrl-вниз)" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "Пришвидшити відтворення (ctrl-вгору)" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "Повернутися назад (ctrl-ліворуч)" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "Перейти вперед (ctrl-праворуч)" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "Показати відомості щодо кліпу (i)" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "Приховати цю панель інструментів" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." @@ -4194,133 +4198,133 @@ "швидкодії, натискання «q» призведе до закриття вікна." #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr " Швидкість відтворення відео (у кадрах на секунду) " -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "Змінювати швидкість відео" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "Перший кадр" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "Останній кадр" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "Перший позначений кадр цього кліпу" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "Останній позначений кадр цього кліпу" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "Запуск...\n" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr "" " Натисніть «q», щоб зупинити запис. НЕ ЗАКРИВАЙТЕ ВІКНО ВІДТВОРЕННЯ! " -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "Кількість кадрів для перегляду" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "Виві_льнити" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "Довільний вибір номера кадру" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "П_очаток" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "Кількість кадрів пов’язано з початковим кадром" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "_Кінець" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "Кількість кадрів пов’язано з кінцевим кадром" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "В_казівник" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "Кількість кадрів пов’язано з позначкою позиції відтворення" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "Повний назад" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "Відтворити все" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "Відтворити позначене" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "Вмикання/Вимикання циклу" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "Почати _запис" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "Зупинити _запис" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "_Виконати запис" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr " (масштаб: %d %%)" -#: src/gui.c:3613 +#: src/gui.c:3553 msgid "Streaming" msgstr "Потокове мовлення" -#: src/gui.c:3615 +#: src/gui.c:3555 #, c-format msgid "Play Window%s" msgstr "вікно відтворення%s" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "Приховати вікно відтворення" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "Показати вікно відтворення" -#: src/gui.c:4199 +#: src/gui.c:4127 #, c-format msgid "'LiVES opened the file' '%s'" msgstr "'LiVES відкрито файл' '%s'" -#: src/gui.c:4220 +#: src/gui.c:4146 #, c-format msgid "'LiVES closed the file' '%s'" msgstr "'LiVES закрито файл' '%s'" @@ -4330,11 +4334,11 @@ msgid "Mapped to ctrl-%d" msgstr "Пов’язано з Ctrl-%d" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "Ефекти" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "Кліпи" @@ -4348,11 +4352,11 @@ msgid "Select clip for %s\n" msgstr "Виберіть кліп для %s\n" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "При_шпилити" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "Пришпилити панель параметра до вікна" @@ -4397,11 +4401,11 @@ msgid "%d bytes" msgstr "%d байтів" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "Спорожнення буфера обміну даними" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -4412,7 +4416,7 @@ "==============================\n" "Перемкнуто на кліп %s\n" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" @@ -4422,11 +4426,11 @@ "==============================\n" "Перемкнуто на порожній кліп\n" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "(порожній)" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " @@ -4435,7 +4439,7 @@ "Назву набору було змінено з %s на %s. Виконано відповідне оновлення " "пов’язаних з ним компонувань.\n" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" @@ -4444,7 +4448,7 @@ "У цьому наборі немає кліпу %s.\n" "Цей кліп потрібен для таких компонувань:\n" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" @@ -4453,7 +4457,7 @@ "Кліп %s було закрито.\n" "Цей кліп потрібен для таких компонувань:\n" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" @@ -4462,7 +4466,7 @@ "У кліпі %s було зсунуто кадри.\n" "Це вплинуло на такі компонування:\n" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" @@ -4471,7 +4475,7 @@ "З кліпу %s було вилучено кадри.\n" "Це вплинуло на такі компонування:\n" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" @@ -4480,7 +4484,7 @@ "З кліпу %s було вилучено звукові дані.\n" "Це вплинуло на такі компонування:\n" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" @@ -4489,7 +4493,7 @@ "У кліпі %s було зсунуто звукові дані.\n" "Це вплинуло на такі компонування:\n" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" @@ -4498,7 +4502,7 @@ "У кліпі %s було замінено звукові дані.\n" "Це вплинуло на такі компонування:\n" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" @@ -4507,7 +4511,7 @@ "У кліпі %s було замінено кадри.\n" "Це вплинуло на такі компонування:\n" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -4518,7 +4522,7 @@ "оскільки його вже використано\n" "іншою копією програми LiVES.\n" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -4529,7 +4533,7 @@ "З набором %s зараз працює інша копія програми LiVES.\n" "Будь ласка, оберіть іншу назву набору.\n" -#: src/utils.c:2188 +#: src/utils.c:2207 #, c-format msgid "" "\n" @@ -4538,7 +4542,7 @@ "\n" "Назви %s не можуть бути порожніми.\n" -#: src/utils.c:2196 +#: src/utils.c:2215 #, c-format msgid "" "\n" @@ -4547,7 +4551,7 @@ "\n" "Довжина назви %s не повинна перевищувати %d символів.\n" -#: src/utils.c:2204 +#: src/utils.c:2223 #, c-format msgid "" "\n" @@ -4556,7 +4560,7 @@ "\n" "У назвах %s не повинно містити пробілів або символів%s.\n" -#: src/utils.c:2213 +#: src/utils.c:2232 #, c-format msgid "" "\n" @@ -4565,11 +4569,11 @@ "\n" "Назви %s не повинні починатися з символу «.» і містити послідовності «..»\n" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "Набір" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4580,73 +4584,73 @@ "Набір з назвою %s вже існує.\n" "Будь ласка, оберіть іншу назву набору.\n" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "Вилучення компонування %s\n" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "Відео [відкриття…]" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "Відео [%.2f с]" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "(Не визначено)" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "(Немає відео)" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "(Немає звуку)" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "Моно [відкриття…]" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "Лівий канал звуку [відкриття…]" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "Моно [%.2f с]" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "Лівий канал звуку [%.2f с]" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "Правий канал звуку [відкриття…]" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "Правий канал звуку [%.2f с]" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "LiVES не може перемикатися на mplayer під час завантаження кліпів." -#: src/utils.c:3492 +#: src/utils.c:3548 msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "" "LiVES не може перемкнутися на mplayer2, доки триває завантаження кліпів." -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "Спорожнення кліпу" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4661,29 +4665,29 @@ "\n" "Перезаписати?\n" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "В_ернути %s" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "П_овторити %s" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "-------------Позначене------------" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr " с ] ----------Позначене---------- [ " -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr " кадрів ] ----------" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4715,7 +4719,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "Відкриття %s час початку — %.2f с, %d кадрів" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr " без звуку" @@ -4839,7 +4843,7 @@ "Бажаєте зберегти дані до поточного файла?" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "Отримання кадрів з кліпу" @@ -4899,12 +4903,12 @@ msgid "Recording performance..." msgstr "Виконання запису…" -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "Середня частота кадрів — %.4f\n" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4919,21 +4923,21 @@ "кадрів»\n" "і змінити розміри всіх кадрів до поточного значення.\n" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "Невідомо" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "Без_назви%d" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "Достатньо %d кадрів!\n" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4944,7 +4948,7 @@ "Сталася помилка під час виконання\n" "%s\n" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" @@ -4952,7 +4956,7 @@ "\n" "Під час спроби відкрити файл сталася помилка\n" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4963,7 +4967,7 @@ "Помилка під час спроби отримання даних щодо кліпу %s.\n" "Можливо, дані цього кліпу пошкоджено.\n" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4976,14 +4980,14 @@ "Типову частоту кадрів можна встановити за допомогою пункту меню «Інструменти " "| Параметри | Інше».\n" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "" "Швидкість відтворення було скориговано до значення %.3f кадрів на секунду, " "щоб зберегти відповідність з звуковими даними.\n" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" @@ -4993,7 +4997,7 @@ "%.3f\n" "Звукові дані:" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" @@ -5002,54 +5006,54 @@ "Кадрів=%d тип=%s розмір=%dx%d глибина кольорів=%d частота кадрів=%.3f\n" "Звукові дані:" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "%s немає\n" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, c-format msgid " - Author: %s\n" msgstr " - Автор: %s\n" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, c-format msgid " - Title: %s\n" msgstr " - Назва: %s\n" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr " - Коментар: %s\n" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "Збереження кадру %d як %s..." -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "Створення резервної копії %s на %s" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "Створення резервної копії" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "було створено резервну копію записаних даних…" -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "Відновлення %s…" -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "Відновлення" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -5109,11 +5113,11 @@ msgid "Recovering files..." msgstr "Відновлення файлів…" -#: src/dialogs.c:87 +#: src/dialogs.c:83 msgid "Show affeced _layouts" msgstr "Показати _компонування, які буде змінено" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" @@ -5121,47 +5125,47 @@ "Н_е показувати більше цього попередження\n" "(увімкнути показ можна у вікні «Параметри/Попередження»)" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "_Відновити місце на диску" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr " _Додаткові параметри >>" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 msgid "Warning !" msgstr "Попередження!" -#: src/dialogs.c:198 +#: src/dialogs.c:186 msgid "Error !" msgstr "Помилка!" -#: src/dialogs.c:208 +#: src/dialogs.c:196 msgid "Information" msgstr "Інформація" -#: src/dialogs.c:234 +#: src/dialogs.c:221 msgid "Question" msgstr "Питання" -#: src/dialogs.c:248 +#: src/dialogs.c:235 msgid "File Error" msgstr "Помилка під час роботи з файлами" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "_Перервати" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "П_овторити" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "Показати по_дробиці" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -5178,7 +5182,7 @@ "\n" "Критичний рівень можна змінити у налаштуваннях програми." -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -5197,11 +5201,11 @@ "Наступне попередження буде показано, якщо залишиться менше за %s.\n" "Критичний рівень можна змінити у налаштуваннях програми." -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "Перемикання програвачів під час відтворення неможливе." -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -5213,11 +5217,11 @@ "LiVES не вдалося виконати цю дію через недостатній об’єм пам’яті.\n" "Будь ласка, спробуйте завершити роботу сторонніх програм.\n" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "Обробку було призупинено." -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" @@ -5226,7 +5230,7 @@ "\n" "%sВиконано %d%%. Залишилося часу: %u с%s\n" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" @@ -5235,7 +5239,7 @@ "\n" "Відкрито %d з %d кадрів. Зачекайте ще %u с.\n" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" @@ -5244,7 +5248,7 @@ "\n" "Відкрито %d з %d кадрів.\n" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" @@ -5253,7 +5257,7 @@ "\n" "відкрито %d кадрів.\n" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" @@ -5262,7 +5266,7 @@ "\n" "Залишилося часу: %d с" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -5273,7 +5277,7 @@ "Вибачте, LiVES не може одночасно відкривати більше %d файлів.\n" "Будь ласка, закрийте один з файлів і повторіть вашу спробу." -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -5292,7 +5296,7 @@ "\n" "Please make sure you can write to this directory." -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 msgid "" "\n" "LiVES currently requires either 'mplayer', 'mplayer2', or 'sox' to function. " @@ -5303,7 +5307,7 @@ "«mplayer2» або «sox». Будь ласка, встановіть одну з цих програм, потім " "повторіть спробу.\n" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 msgid "" "\n" "This function requires either mplayer or mplayer2 to operate.\n" @@ -5314,7 +5318,7 @@ "mplayer2.\n" "Вам варто встановити одну з цих програм, а потім повторити спробу.\n" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 msgid "" "\n" "This function requires either mplayer, mplayer2 or mpv to operate.\n" @@ -5325,7 +5329,7 @@ "або mpv.\n" "Вам варто встановити одну з цих програм, а потім повторити спробу.\n" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " "audio for this clip.\n" @@ -5333,7 +5337,7 @@ "Звукові дані не завантажено. Будь ласка, встановіть mplayer або mplayer2, " "якщо вам потрібні звукові дані з цього кліпу.\n" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " "audio for this clip.\n" @@ -5341,7 +5345,7 @@ "Звукові дані не завантажено. Будь ласка, встановіть mplayer, mplayer2 або " "mpv, якщо у цьому кліпі мають бути звукові дані.\n" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" @@ -5352,7 +5356,7 @@ "або перемкніть формат кодування за допомогою пункту «Інструменти | Параметри " "| Кодування»\n" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -5366,7 +5370,7 @@ "Будь ласка, змініть кодек для звукових даних за допомогою меню «Інструменти|" "Параметри|Кодування»\n" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" @@ -5375,7 +5379,7 @@ "Зберегти таке компонування неможливо, спочатку вам слід виконати обробку " "кліпу.\n" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" @@ -5384,7 +5388,7 @@ "Зберегти таке компонування неможливо, спочатку вам слід виконати обробку " "кліпу.\n" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -5395,7 +5399,7 @@ "\n" "Через обмеження формату %s\n" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" @@ -5403,43 +5407,43 @@ "LiVES рекомендує вам такі параметри:\n" "\n" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr ", signed" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr ", unsigned" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr ", little-endian" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr ", big-endian" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "Використовувати частоту дискретизації звуку %d Гц%s%s\n" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "Встановлення частоти кадрів відео у значення %.3f кадрів на секунду\n" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "Встановлення частоти кадрів відео у значення %d:%d кадрів на секунду\n" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "Встановлення розмірів відео %d x %d пікселів\n" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" @@ -5447,37 +5451,37 @@ "\n" "Ймовірні варіанти дій:\n" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "зміна розмірів відео до %d x %d пікселів\n" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "" "вимкнення звуку через те, що інструмент кодування не може закодувати звукові " "дані\n" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "LiVES має:\n" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "зміна дискретизації звуку до %d Гц%s%s\n" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "зміна дискретизації відео до %.3f кадрів на секунду\n" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "зміна дискретизації відео до %d:%d кадрів на секунду\n" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -5492,7 +5496,7 @@ "дії.\n" "\n" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" @@ -5502,7 +5506,7 @@ "Зміни внесені до позначеної ділянки не будуть остаточними.\n" "\n" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -5516,7 +5520,7 @@ "пам’яті.\n" "Спробуйте зберегти запис лише частини файла." -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -5536,7 +5540,7 @@ "Натисніть кнопку «Скасувати», щоб скасувати вставлення або кнопку «Гаразд», " "щоб виконати коригування." -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -5558,11 +5562,11 @@ "Натисніть кнопку «Гаразд», якщо ви цілком розумієте наслідки цих дій. Якщо ж " "у вас є сумніви, натисніть кнопку «Скасувати»." -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "Журнал повідомлень" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " @@ -5571,7 +5575,7 @@ "Після оновлення або встановлення, ймовірно, вам слід виправити значення " "параметра <prefix_dir> у вашому файлі %s" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -5588,7 +5592,7 @@ "%s%s%s\n" "або змініть значення змінної <lib_dir> у файлі %s\n" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 msgid "" "Sorry, unknown audio type.\n" "\n" @@ -5598,11 +5602,11 @@ "\n" " (Програма може працювати з даними у файлах" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "невдало (невідомий тип)\n" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" @@ -5612,7 +5616,7 @@ "Бажаєте вилучити файли компонування, пов’язані з цим набором кліпів?\n" "(Цими файлами не можна буде скористатися без самого набору).\n" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -5626,7 +5630,7 @@ "існуючого набору.\n" "Натисніть кнопку «Скасувати», щоб ввести нову назву.\n" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -5638,7 +5642,7 @@ "Ви справді бажаєте продовжити виконання дії?\n" "." -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -5651,7 +5655,7 @@ "Ви справді бажаєте продовжити виконання дії?\n" "." -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -5669,7 +5673,7 @@ "Якщо файл втрачено, натисніть кнопку «Скасувати», щоб пропустити його " "завантаження.\n" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -5684,7 +5688,7 @@ "%s\n" "Отже, кліп не вдалося завантажити.\n" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -5698,7 +5702,7 @@ "Крім того, у вікні «Налаштування» ви можете вибрати інший звуковий\n" "програвач.\n" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -5712,7 +5716,7 @@ "сторонньою програмою.\n" "Автоматичний запуск jack буде вимкнено.\n" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" @@ -5721,7 +5725,7 @@ "Не вдалося встановити з’єднання з сервером jack. jack слід запустити до " "запуску LiVES\n" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -5738,7 +5742,7 @@ "\n" "%s\n" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" @@ -5747,7 +5751,7 @@ "Крім того, ви можете перезапустити LiVES і вказати інший програвач звукових " "даних.\n" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -5762,7 +5766,7 @@ "Збільшити відповідне значення можна у вікні Параметри->Доріжки/Обробка.\n" "Рекомендуємо збільшити значення принаймні до %d МБ" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -5775,7 +5779,7 @@ "Рекомендуємо вам вилучити ці компонування.\n" "Вилучити старі компонування?\n" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -5789,7 +5793,7 @@ "буфера скасування дій\n" "за допомогою пункту Параметри/Доріжки/Обробка/Розмір буфера скасування\n" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -5801,7 +5805,7 @@ "Ймовірно, вам слід збільшити об’єм буфера дій\n" "за допомогою пункту Параметри/Доріжки/Обробка/Розмір буфера скасування\n" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" @@ -5810,21 +5814,21 @@ "LiVES не вдалося зарезервувати достатньо пам’яті для буфера скасування " "багатодоріжкового режиму.\n" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "або введіть менше значення.\n" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "" "Спробуйте повторити дію з редактора кліпів, спробуйте завершити роботу " "сторонніх програм,\n" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "Спробуйте завершити роботу сторонніх програм\n" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" @@ -5834,14 +5838,14 @@ "Вам слід скоригувати параметри звукових даних за допомогою меню " "«Інструменти».\n" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "" "У поточному компонуванні є звукові дані, отже не можна встановлювати нульову " "кількість каналів звуку.\n" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" @@ -5852,7 +5856,7 @@ "Змінити програвач можна за допомогою вкладки Інструменти|Параметри|" "Відтворення." -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" @@ -5862,7 +5866,7 @@ "іншої системи або зі старішої версії LiVES).\n" "Спробувати виправити копію компонування на диску?\n" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" @@ -5870,7 +5874,7 @@ "LiVES не вдалося завантажити компонування.\n" "Вибачте.\n" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." @@ -5878,7 +5882,7 @@ "Поточна версія LiVES потребує composite з ImageMagick для обрізання кадрів.\n" "Будь ласка, встановіть пакунок imagemagick і повторіть спробу." -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." @@ -5886,7 +5890,7 @@ "Поточна версія LiVES потребує convert з ImageMagick для обрізання кадрів.\n" "Будь ласка, встановіть пакунок imagemagick і повторіть спробу." -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" "Please install 'imagemagick' and try again." @@ -5895,7 +5899,7 @@ "кадрів.\n" "Будь ласка, встановіть пакунок imagemagick і повторіть спробу." -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" @@ -5905,7 +5909,7 @@ "\n" "Значення частоти звукових даних має бути більшим за 0.\n" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5917,7 +5921,7 @@ "його показ може тривати досить довго.\n" "Ви справді бажаєте його переглянути?\n" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" @@ -5927,7 +5931,7 @@ "\n" "Щоб скористатися цією можливістю, вам слід встановити програму «dvgrab».\n" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5942,19 +5946,19 @@ "Вам варто вибрати один з цих серверів на вкладці «Інструменти/Параметри/" "Відтворення».\n" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "Додатку відтворення відео не вдалося ініціалізувати палітру!\n" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "Додатку декодування не вдалося ініціалізувати палітру!\n" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "Не вдалося встановити частоту кадрів додатка роботи з відео\n" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" @@ -5963,7 +5967,7 @@ "допомогою пункту меню\n" "«Файл|Спорожнити місце на диску»\n" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5976,33 +5980,33 @@ "\n" "echo %d > /proc/sys/net/core/rmem_max\n" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "скасовано.\n" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "невдало.\n" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "виконано.\n" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "помилка у файлі. Виконання перервано.\n" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "Додаткова інформація: %s\n" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "Значення помилки: %d%s\n" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -6017,7 +6021,7 @@ "Будь ласка, перевірте, чи не пошкоджено основні файли вашої системи.\n" "%s%s%s" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -6032,7 +6036,7 @@ "Будь ласка, перевірте, чи не спричинено цю помилку однією з типових причин.\n" "%s" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -6047,7 +6051,7 @@ "Будь ласка, перевірте, чи не спричинено цю помилку однією з типових причин.\n" "%s" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -6060,7 +6064,7 @@ "%s\n" "Будь ласка, перевірте, чи не спричинено цю помилку однією з типових причин.\n" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -6075,7 +6079,7 @@ "Повідомлення про помилку:\n" "%s\n" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -6088,7 +6092,7 @@ "%s\n" "Будь ласка, перевірте, чи не спричинено цю помилку однією з типових причин.\n" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -6103,12 +6107,12 @@ "Повідомлення про помилку:\n" "%s\n" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "Не вдалося прочитати значення «%s»." -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -6121,7 +6125,7 @@ "%s\n" "Будь ласка, перевірте, чи не є причиною пошкодження у вашій системі.\n" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -6134,7 +6138,7 @@ "%s\n" "Будь ласка, змініть права доступу до теки і повторіть спробу." -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -6147,7 +6151,7 @@ "%s\n" "Будь ласка, змініть права доступу до каталогу і повторіть спробу." -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, c-format msgid "" "\n" @@ -6158,7 +6162,7 @@ "LiVES не може прочитати дані з каталогу:\n" "%s\n" -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" @@ -6168,7 +6172,7 @@ "Перервати виконання всіх завдань і негайно завершити роботу LiVES.\n" "Ви справді цього хочете?\n" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -6179,7 +6183,7 @@ "%s не придатний для кодування кліпів з зображеннями типу %s.\n" "Будь ласка, вкажіть інший інструмент кодування зі списку.\n" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" @@ -6188,7 +6192,7 @@ "Дані цієї картки вже використовуються, потік даних не можна відкривати " "декілька разів.\n" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -6203,7 +6207,7 @@ "- Перевірте, чи не користується цим пристроєм стороння програма.\n" "- Перевірте, чи створено системою файл пристрою.\n" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" @@ -6213,7 +6217,7 @@ "Для цього файла вже завантажено субтитри.\n" "Бажаєте перезаписати поточні субтитри?\n" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 msgid "" "\n" "LiVES currently only supports subtitles of type" @@ -6221,7 +6225,7 @@ "\n" "У поточній версії LiVES передбачено підтримку субтитрів лише у форматах" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" @@ -6231,7 +6235,7 @@ "Вилучення всіх субтитрів з цього кліпу.\n" "Ви впевнені у своїх діях?\n" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -6244,7 +6248,7 @@ "Натисніть кнопку «Скасуват», щоб вказати файл з іншою назвою,\n" "або кнопку «Гаразд», щоб наказати програмі зберегти файл типу «%s»\n" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" @@ -6254,7 +6258,7 @@ "Бажаєте пересунути поточні набори кліпів до нового каталогу?\n" "(Якщо непевні, натисніть кнопку «Так».)\n" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -6270,7 +6274,7 @@ "Наполегливо рекомендуємо вам завершити роботу цього екземпляра до натискання " "кнопки «Гаразд»." -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" @@ -6278,7 +6282,7 @@ "\n" "Не вдалося виявити жодного пристрою вхідних даних.\n" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" @@ -6286,7 +6290,7 @@ "\n" "Всі пристрої вхідних відеоданих вже використовуються.\n" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -6298,7 +6302,7 @@ "ВИЛУЧЕННЯ І КОПІЮВАННЯ ФАЙЛІВ. МОЖЕ ТРИВАТИ ДОСИТЬ ДОВГО.\n" "НЕ ЗАВЕРШУЙТЕ РОБОТУ І НЕ ЗАКРИВАЙТЕ ВІКНО LIVES !\n" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, c-format msgid "" "\n" @@ -6309,7 +6313,7 @@ "У файлі теми %s пропущено певні елементи.\n" "Тему не вдасться завантажити належним чином.\n" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" @@ -6319,7 +6323,7 @@ "Будь ласка, перевірте, чи правильно вказано назву набору і повторіть " "спробу.\n" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -6333,7 +6337,7 @@ "%s\n" "Хочете, щоб програма зробила це (рекомендована дія)?" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -6351,7 +6355,7 @@ "Файл -> Спорожнити місце на диску\n" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -6364,7 +6368,7 @@ "Вітаємо у LiVES версії %s!\n" "\n" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" @@ -6376,7 +6380,7 @@ "Докладні настанови щодо встановлення цієї змінної можна знайти у " "документації до вашого дистрибутива.\n" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" @@ -6384,7 +6388,7 @@ "\n" "Для використання цієї забавки вам слід завантажити принаймні один кліп.\n" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" @@ -6395,7 +6399,7 @@ "завершилися невдало.\n" "Рекомендуємо вам перезапустити LiVES.\n" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" @@ -6406,13 +6410,13 @@ "з’єднання завершилися невдало.\n" "Рекомендуємо вам перезапустити LiVES.\n" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "" "Будь ласка, вкажіть ваш пристрій відтворення КД у меню «Інструменти | " "Параметри | Інше»\n" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, c-format msgid "" "\n" @@ -6425,7 +6429,7 @@ "%s\n" "(не знайдено назви теми).\n" -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -6438,7 +6442,7 @@ "%s\n" "вже існує. Хочете перезаписати її?\n" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -6583,7 +6587,7 @@ msgid "Video only Transitions" msgstr "Переходи лише зображення" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "лише звук" @@ -6591,7 +6595,7 @@ msgid "Audio only Transitions" msgstr "Лише звук з переходами" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "звук" @@ -6635,7 +6639,7 @@ msgid "Audio Analysers" msgstr "Засоби аналізу звукових даних" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "невідомий" @@ -6692,86 +6696,86 @@ "\n" "Не було створено жодного кадру.\n" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "Помилка розподілу пам’яті" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "Властивість лише читання" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 msgid "Invalid element" msgstr "Некоректний елемент" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 msgid "Invalid property" msgstr "Некоректна властивість" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "Некоректний тип властивості" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "Забагато екземплярів" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "Критична помилка у роботі додатка" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "Помилка ініціалізації" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 msgid "Invalid plugin" msgstr "Некоректний додаток" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 msgid "No error" msgstr "Немає помилок" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 msgid "integer" msgstr "ціле число" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "int64" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "булеве" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "double" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 msgid "string" msgstr "рядок" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 msgid "pointer" msgstr "вказівник" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "Помилка: у додатку %s не визначено функції weed_setup().\n" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "У додатку %s не знайдено придатних до використання фільтрів\n" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "Виявлено дублювання додатка %s" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" @@ -6780,69 +6784,69 @@ "Інформація: не вдалося завантажити додаток %s\n" "Повідомлення про помилку: %s\n" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "Каталоги додатків" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr " - додатки %s -" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "Успішно завантажено %d фільтрів Weed\n" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "Некоректний комплексний ефект %s — суперечливі значення target_fps\n" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "Некоректний комплексний ефект %s — декілька параметрів переходу\n" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "" "Некоректний комплексний ефект %s — вказано декілька параметрів гучності " "основного каналу\n" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "Некоректний комплексний ефект %s — має бути більше одного підфільтра\n" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "Виявлено некоректний ефект %s у комплексному ефекті %s, рядок %d\n" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "" "Виявлено некоректне типове значення у комплексному ефекті %s, рядок %d\n" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "" "Виявлено некоректний фільтр %d для типових значень у комплексному ефекті %s, " "рядок %d\n" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "" "Виявлено некоректний параметр %d для типових значень у комплексному ефекті " "%s, рядок %d\n" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" @@ -6850,7 +6854,7 @@ "Виявлено некоректну кількість типових значень у комплексному ефекті %s, " "рядок %d\n" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" @@ -6858,13 +6862,13 @@ "Виявлено небулеве значення для типового параметра у комплексному ефекті %s, " "рядок %d\n" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "" "Виявлено некоректний параметр посилання у комплексному ефекті %s, рядок %d\n" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" @@ -6872,7 +6876,7 @@ "Виявлено некоректний фільтр виведення даних %d для параметрів посилань у " "комплексному ефекті %s, рядок %d\n" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" @@ -6880,7 +6884,7 @@ "Виявлено некоректний параметр виведення даних %d для параметрів посилань у " "комплексному ефекті %s, рядок %d\n" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " @@ -6889,7 +6893,7 @@ "Виявлено небулеве значення для автоматичного масштабування у комплексному " "ефекті %s, рядок %d\n" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" @@ -6897,7 +6901,7 @@ "Виявлено некоректний фільтр вхідних даних %d для параметрів посилань у " "комплексному ефекті %s, рядок %d\n" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" @@ -6905,13 +6909,13 @@ "Виявлено некоректний параметр вхідних даних %d для параметрів посилань у " "комплексному ефекті %s, рядок %d\n" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "" "Виявлено некоректне посилання на канал у комплексному ефекті %s, рядок %d\n" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " @@ -6920,7 +6924,7 @@ "Виявлено некоректний фільтр виведення даних %d для каналів прив’язки у " "комплексному ефекті %s, рядок %d\n" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" @@ -6928,7 +6932,7 @@ "Виявлено некоректний канал виведення даних %d для параметрів посилань у " "комплексному ефекті %s, рядок %d\n" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" @@ -6936,7 +6940,7 @@ "Виявлено некоректний фільтр вхідних даних %d для каналів прив’язки у " "комплексному ефекті %s, рядок %d\n" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" @@ -6944,139 +6948,139 @@ "Виявлено некоректний канал вхідних даних %d для параметрів посилань у " "комплексному ефекті %s, рядок %d\n" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "Комплексний: %s" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, c-format msgid "Successfully loaded %d compound filters\n" msgstr "Успішно завантажено %d комплексних фільтрів\n" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "Не можна використовувати ефект %s з цим програвачем звукових даних.\n" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "Не вдалося запустити екземпляр %s, (%s)\n" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "Не вдалося запустити породжувач %s\n" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, c-format msgid "Failed to start generator %s (%s)\n" msgstr "Не вдалося запустити породжувач %s (%s)\n" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "Не вдалося запустити породжувач %s, (%s)\n" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "%s [нестабільний] (%s)" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "ЗАДІЯТИ (%s)" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "ЗАДІЯТИ" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "Слот ключа %d" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 msgid "Autoscale" msgstr "Автомасштаб" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "Додати інше з’єднання для цього параметра виведення" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 msgid "Delete this connection" msgstr "Вилучити це з’єднання" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "Додати інше з’єднання для цього каналу виведення" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "З’єднано з →" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, c-format msgid "%s - Alpha Channel Connections" msgstr "%s — з’єднання каналу прозорості" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, c-format msgid "%s - Parameter Data Connections" msgstr "%s — з’єднання параметрів даних" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "Автомасштаб для всього" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "ЗАДІЯНО" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 msgid "Parameter and Alpha Channel Connections" msgstr "З’єднання параметрів та каналів прозорості" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 msgid "Auto Connect Channels" msgstr "Автоз’єднання каналів" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 msgid "Auto Connect Parameters" msgstr "Автоз’єднання параметрів" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "Від’єднати все" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "Канал вхідних даних вже з’єднано з (%d,%d) %s" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "Вхідний параметр вже з’єднано з (%d,%d) %s" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "Вхідні і вихідні параметри є несумісними" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "" "Ви можете клацнути лівою кнопкою миші у області перегляду, щоб змінити ці " "значення" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "Від_новити значення" -#: src/framedraw.c:241 +#: src/framedraw.c:242 msgid "_Frame" msgstr "_Кадр" @@ -7126,40 +7130,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "Остаточна _частота кадрів (додаток може перевизначити її)" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "%s: розмір" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "Новий розмір (у пікселях):" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "_Ширина" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "_Висота" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "Створити до _буфера" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "Створити кадри у буфері обміну даними" -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "Створити до _нового кліпу" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "Створити кадри у новому кліпі" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -7241,32 +7245,32 @@ " Інструменти|Параметри|Відтворення|Додаткові параметри відтворення\n" "\n" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "Збереження типових параметрів додатка відтворення до %s…" -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "_Частота кадрів" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "Фіксована частота кадрів для додатка.\n" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "_Простір кольорів" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "Вхідний простір кольорів для додатка.\n" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "Зберегти параметри до іншого файла.\n" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -7279,7 +7283,7 @@ "Не вдалося відкрити додаток відтворення %s\n" "Помилка: %s\n" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -7294,7 +7298,7 @@ "не передбачено обов’язкової функції.\n" "Його використання неможливе.\n" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" @@ -7303,7 +7307,7 @@ "Не вдалося ініціалізувати додаток відтворення.\n" "Помилка: %s\n" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " @@ -7312,17 +7316,17 @@ "*** Використання додатка %s для повноекранного відтворення призведе до " "використання типу палітри %d ( %s ). ***\n" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "Поток звукових даних не може використовувати бажаний формат «%s»\n" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "Використовуємо формат «%s».\n" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -7335,7 +7339,7 @@ "%s%s%s\n" "або змініть значення параметра <lib_dir> у %s\n" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -7349,7 +7353,7 @@ "або перемкніть програму на використання іншого додатка за допомогою вкладки " "«Інструменти|Параметри|Кодування»\n" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, c-format msgid "" "\n" @@ -7360,12 +7364,12 @@ "\n" "У %s не знайдено декодувальників!\n" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, c-format msgid " using %s" msgstr " за використання %s" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -7378,7 +7382,7 @@ "Не вдалося відкрити додаток декодування %s\n" "Помилка: %s\n" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -7393,24 +7397,24 @@ "немає обов’язкової функції.\n" "Його використання неможливе.\n" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "/невідомо" -#: src/plugins.c:2556 +#: src/plugins.c:2550 msgid "Decoder Plugins" msgstr "Додатки декодування" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "Увімкнені декодери відео (зніміть позначку, щоб вимкнути)" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "Не вдалося завантажити %s, при переходах зміна розмірів неможлива.\n" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "Додаткові параметри %s" @@ -7621,19 +7625,19 @@ msgid "Move _Down" msgstr "Пересунути в_низ" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 msgid "RFX Properties" msgstr "Властивості RFX" -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "Пов_ільно (підказка до інтерфейсу)" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "_Породжувач пакетного режиму" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -7647,7 +7651,7 @@ "Будь ласка, спочатку вилучіть перемикач.\n" "\n" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -7659,27 +7663,27 @@ "Було скориговано деякі з перемикачів.\n" "Будь ласка, перевірте код перемикачів.\n" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 msgid "New RFX Parameter" msgstr "Новий параметр RFX" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 msgid "Edit RFX Parameter" msgstr "Зміна параметра RFX" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "_Назва: " -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "Назва параметра, не повинна повторюватися в межах додатка." -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "_Мітка: " -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." @@ -7687,162 +7691,162 @@ "Мітка, яку буде показано поряд з параметром. Символ підкреслювання " "відповідатиме клавіатурному акселератору." -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "_Тип: " -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "Тип параметра (виберіть зі списку)." -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "Десяткових п_озицій: " -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "_Типове значення: " -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "_Типовий: " -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "_Група кнопок: " -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "Для групування пунктів варіантів можна ввести ненульове число." -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "_Мінімальне значення: " -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "Ма_ксимальне значення: " -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr " Розмір _кроку: " -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "" "Крок зміни параметра у відповідь на натискання кнопок зі стрілками поряд з " "полем лічильника." -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 msgid "_Wrap value" msgstr "_Циклічна зміна" -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "" "Визначає, чи буде значення зациклено переходами максимальне->мінімальне та " "мінімальне->максимальне." -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "Вказати _значення" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "Типовий _червоний: " -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "Типовий _зелений:" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "Типовий _синій: " -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "Зробити _типовим" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "Типове значення: " -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "Максимальна довжина (у літерах): " -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 msgid "New RFX Parameter Window Hint" msgstr "Створення підказки вікна параметрів RFX" -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 msgid "Edit RFX Parameter Window Hint" msgstr "Зміна підказки вікна параметрів перемикача RFX" -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "_Ключове слово: " -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "Особливий _тип: " -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "Особливий _підтип: " -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "Рядок: " -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "Пов’язані параметри (%d): " -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "Пов’язані параметри (4): " -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "Пов’язані параметри (2): " -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 msgid "New RFX Trigger" msgstr "Створення перемикача RFX" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 msgid "Edit RFX Trigger" msgstr "Зміна перемикача RFX" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "Якщо: " -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 msgid "Pre Loop Code" msgstr "Код перед циклом" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 msgid "Loop Code" msgstr "Код циклу" -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 msgid "Post Loop Code" msgstr "Код після циклу" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, c-format msgid "Default text (max length %d)" msgstr "Типовий текст (максимальна довжина — %d)" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 msgid "Enter values, one per line" msgstr "Введіть значення, по одному на рядок" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" @@ -7852,7 +7856,7 @@ "\n" "Назва не повинна бути порожньою.\n" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" @@ -7862,7 +7866,7 @@ "\n" "У назві не повинно міститися пробілів.\n" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" @@ -7872,7 +7876,7 @@ "\n" "Текст меню не повинен бути порожнім.\n" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" @@ -7882,7 +7886,7 @@ "\n" "Опис дії не повинен бути порожнім.\n" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" @@ -7892,7 +7896,7 @@ "\n" "Поле автора не повинно бути порожнім.\n" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -7904,7 +7908,7 @@ "Додаток з вказаною назвою вже існує.\n" "Назва не повинна повторюватися.\n" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" @@ -7914,7 +7918,7 @@ "\n" "Область коду циклу не повинна бути порожньою.\n" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" @@ -7924,7 +7928,7 @@ "\n" "Код перемикача допоміжного інструменту не повинен бути порожнім.\n" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" @@ -7934,7 +7938,7 @@ "\n" "Поле назви параметра не повинно бути порожнім.\n" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -7948,41 +7952,41 @@ "повторюватися у межах додатка.\n" "\n" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "Запис файла скрипту %s…" -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "У скрипті не знайдено розділу <define>.\n" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "Помилкова версія скрипту.\n" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "У скрипті не знайдено розділу <name>.\n" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "У скрипті не знайдено розділу <version>.\n" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "У скрипті не знайдено розділу <author>.\n" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "У скрипті не знайдено розділу <description>.\n" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "Помилковий опис. (%s)\n" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -7997,27 +8001,27 @@ "некоректний перемикач (%s).\n" "\n" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "Перезбирання всіх скриптів RFX… вбудовані…" -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "Перезбирання скриптів" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "нетиповий…" -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "перевірка…" -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "перезбирання динамічних пунктів меню…" -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -8031,7 +8035,7 @@ "Будь ласка, перевірте, чи зберігається ця програма за шляхом зі змінної PATH " "та чи є її файл виконуваним.\n" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -8046,12 +8050,12 @@ "%s ?\n" "\n" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "Вилучення скрипту rfx %s..." -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -8066,7 +8070,7 @@ "%s\n" "Код помилки: %d\n" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -8081,12 +8085,12 @@ "вже існує.\n" "Будь ласка, спочатку вилучіть цей файл або перейменуйте тестовий скрипт.\n" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "Переведення тестового додатка rfx %s до списку нетипових…" -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -8103,20 +8107,20 @@ "%s\n" "Повернуто код помилки %d (%s)\n" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 msgid "Export Script" msgstr "Експортування скрипту" -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "Копіювання %s до %s…" -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 msgid "Import Script" msgstr "Імпортування скрипту" -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -8132,43 +8136,43 @@ "Будь ласка, спочатку вилучіть цей файл або перейменуйте скрипт, який " "імпортується.\n" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 msgid "Copy RFX Script" msgstr "Копіювання скрипту RFX" -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "_З типу: " -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr " Скрипт: " -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 msgid "Rename Test RFX Script" msgstr "Перейменування тестового скрипту RFX" -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "Зі скрипту: " -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 msgid "RFX Script Name" msgstr "Назва текстового скрипту RFX" -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "Назва скрипту: " -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "Нова назва: " -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "Нова назва скрипту: " -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -8180,12 +8184,12 @@ "Тестовий скрипт з вказаною назвою вже існує.\n" "Назва скрипту не повинна повторюватися.\n" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "Перейменування тестового скрипту RFX %s на %s…" -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -8202,27 +8206,27 @@ "%s\n" "Повернуто код помилки %d\n" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "_Застосувати ефекти реального часу до позначеного" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 msgid "Applying Current Real Time Effects to" msgstr "Застосовуємо поточні інтерактивні ефекти до" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "Завантаження ефекту обробки %s…" -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "" "Див.: Ві-джей - Показати клавіші ві-джея. Встановіть ефекти реального часу, " "а потім застосуйте їх тут." -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -8234,7 +8238,7 @@ "Додатки відтворення відео буде задіяно лише у\n" "повноекранному режимі або режимі окремого вікна\n" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -8246,7 +8250,7 @@ "\n" "(Вільного місця = НЕВІДОМО)" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -8259,7 +8263,7 @@ "\n" "(Вільно %s)" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" @@ -8270,7 +8274,7 @@ "Цей каталог має зберігатися на розділі диска, де доволі багато вільного " "місця.\n" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -8288,7 +8292,7 @@ "\n" "Зараз каталог змінено не буде.\n" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -8304,7 +8308,7 @@ "\n" "Зараз каталог змінено не буде.\n" -#: src/preferences.c:1193 +#: src/preferences.c:1163 msgid "" "You have chosen to change the working directory.\n" "Please make sure you have no other copies of LiVES open.\n" @@ -8324,7 +8328,7 @@ "Крім того, ви можете натиснути кнопку «Скасувати», щоб відновити попереднє " "розташування робочого каталогу." -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, c-format msgid "" "\n" @@ -8337,7 +8341,7 @@ "слід спочатку встановити jackd\n" "Див. %s\n" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" @@ -8346,7 +8350,7 @@ "Перемикання інструментів відтворення звуку вимагає перезапуску програми " "(доведеться запустити jackd)\n" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, c-format msgid "" "\n" @@ -8359,71 +8363,71 @@ "Слід спочатку встановити PulseAudio\n" "Див. %s\n" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "PCM (найвища якість, найбільші файли)" -#: src/preferences.c:2468 +#: src/preferences.c:2418 msgid "Preferences" msgstr "Параметри" -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "Відкривати частини файлів максимізованими" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "Показувати нещодавні файли у меню «Файл»" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "Зупиняти зберігач екрана на час відтворення " -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "Відкривати вікно максимізованим" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "Показувати панель, якщо тло спорожнено" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "Дозволити перемикання між кліпами коліщатком миші" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "Стискати перегляд відповідно до розмірів інтерфейсу" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "Показувати піктограми на кнопках" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "Початковий режим:" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "_Редактор кліпів" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "Режим _декількох доріжок" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "Підтримка роботи з декількома моніторами" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr " кількість моніторів для інтерфейсу LiVES" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr " кількість моніторів для відтворення" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." @@ -8431,247 +8435,247 @@ "У разі встановлення значення 0 буде використано всі доступні монітори " "(працює не з усіма додатками відтворення)." -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "Примусово на одному моніторі" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "Ігнорувати всі монітори, окрім першого" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "Показувати мініатюри кліпу під час відтворення" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "Інтерфейс" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "Після входу до режиму декількох доріжок:" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "_Запитати про ширину, висоту, частоту кадрів та параметри звуку" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "_Завжди використовувати такі значення:" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "Використовувати ці з_начення для обробки нових кліпів" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr " Розмір _буфера скасування (у МБ) " -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "Ви_йти з багато доріжкового режиму після обробки" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "Автоматичне створення копій компонування" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "_Кожні" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "секунд" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "Після к_ожної зміни" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "_Ніколи" -#: src/preferences.c:2872 +#: src/preferences.c:2757 msgid "Maximum number of visible tracks" msgstr "Максимальна кількість видимих доріжок" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "Доріжки/Обробка" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "За можливості, користуватися негайним відкриттям" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "" "Увімкнути негайне відкриття файлів деяких типів за допомогою додатків " "декодування" -#: src/preferences.c:2925 +#: src/preferences.c:2804 msgid "Video open command (fallback)" msgstr "Команда відкриття відео (резервна)" -#: src/preferences.c:2935 +#: src/preferences.c:2811 msgid "Fallback image format" msgstr "Резервний формат зображень" -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "_jpeg" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "_png" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "" "(Скористайтеся пунктом меню «Довідка/Усування вад», щоб переглянути список " "підтримуваних форматів зображень)" -#: src/preferences.c:2964 +#: src/preferences.c:2832 msgid "Open/render compression" msgstr "Стискання відкриття/обробки" -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr "" " % ( менше значення = повільніше, більші файли; для jpeg — вища якість )" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "За можливості, увімкнути автоматичне усування черезрядковості" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "Автоматично усувати черезрядковість, якщо це пропонує додаток" -#: src/preferences.c:2995 +#: src/preferences.c:2856 msgid "Automatic trimming / padding of audio when possible" msgstr "Автоматичне обрізання або додавання звукових даних, якщо можна" -#: src/preferences.c:2997 +#: src/preferences.c:2858 msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "" "Автоматично обрізати або додавати звукові дані, якщо це пропонується додатком" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "Якщо можна, ігнорувати порожні поля" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "Якщо можна, вирізати всі порожні поля з кадрів" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "Якщо буде відкрито декілька зображень, об’єднати їх у один кліп" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "Декодування" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "ВІДЕО" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "Низька — може покращити швидкодію на повільних комп’ютерах" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "Звичайна — рекомендована для більшості користувачів" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "Висока — може покращити якість на дуже швидких комп’ютерах" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "_Якість перегляду" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "" "Якість попереднього перегляду відтворення відео (впливає на зміну розмірів)" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "П_оказувати дані щодо частоти кадрів" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "_Додаток" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "Потоковий звук" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "Додаток відтворення потокового звуку" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "Записувати дані, що відтворюються" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "Записувати дані щодо відтворюються, а не виводити дані для відтворення" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "ЗВУК" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "П_рогравач" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "" "(Додаткові параметри запуску Jack можна знайти на вкладці «Інтеграція з " "Jack»)" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "_Команда відтворення звуку" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "- вбудована -" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "Параметри звуку змінюються за _частотою/напрямком відтворення відео" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "Параметри звуку змінюються за перемиканням _кліпів" -#: src/preferences.c:3269 +#: src/preferences.c:3110 msgid "Source:" msgstr "Джерело:" -#: src/preferences.c:3273 +#: src/preferences.c:3114 msgid "_Internal" msgstr "В_нутрішні" -#: src/preferences.c:3278 +#: src/preferences.c:3119 msgid "_External (requires jack or pulse audio player)" msgstr "З_овнішні (потрібен звуковий програвач з підтримкою jack або pulse)" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "Відтворення" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" @@ -8679,72 +8683,72 @@ "Записувати звук під час захоплення відео з з_овнішнього вікна\n" " (потрібен сервер Jack або PulseAudio)" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr " Джерело даних для запису після натискання клавіші «r» " -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "З_мінюється номер кадру" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "Змі_нюється частота кадрів" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "Ефекти _реального часу" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "П_еремикання кліпів" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "_Звук (потрібен звуковий програвач з підтримкою jack або pulse)" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "Призупинити запис, якщо на диску залишилося менше" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "ГБ" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "Запис" -#: src/preferences.c:3454 +#: src/preferences.c:3273 msgid "You can also change these values when encoding a clip" msgstr "Ви також можете змінити ці значення під час кодування кліпу" -#: src/preferences.c:3466 +#: src/preferences.c:3285 msgid "Encoder" msgstr "Кодувальник" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "Формат виводу" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "Аудіокодек" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "Кодування" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "Використовувати під час зміни розмірів з_гладжування" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "Кількість клавіш ефектів _реального часу" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." @@ -8753,98 +8757,98 @@ "можна або за допомогою вікна ефектів реального часу, або за допомогою мережі " "(OSC)." -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "_Розподілене виконання під час застосування ефектів" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "Кількість _потоків" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" "У разі внесення змін до будь-якого з вказаних нижче шляхів програму " "доведеться перезапустити:" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "Шлях до додатків Weed" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "Шлях до додатків Frei0r" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "Шлях до додатків LADSPA" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr " Каталог завантаження відео (типовий) " -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr " Каталог збереження відео (типовий) " -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr " Каталог завантаження звукових даних (типовий) " -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr " Каталог зображень (типовий) " -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr " Каталог резервних копій/Відновлення (типовий) " -#: src/preferences.c:3649 +#: src/preferences.c:3461 msgid " Working directory (do not remove) " msgstr " Робочий каталог (не вилучати) " -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "Типовий каталог, з якого завантажуватимуться відеокліпи" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "Типовий каталог, до якого зберігатимуться закодовані кліпи" -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "Типовий каталог для збереження та завантаження звукових даних" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "Типовий каталог, до якого зберігатимуться зображення кадрів" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "" "Типовий каталог для створення резервних копій або відновлення окремих кліпів" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "Робочий каталог LiVES." -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "Каталоги" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "Попереджати, якщо місця менше за: " -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr " МБ [0 — вимкнути попередження]" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "Критичний рівень місця на диску: " -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" @@ -8852,19 +8856,19 @@ "Попереджати під час вставки/об’єднання, якщо _частота кадрів у буфері даних " "не збігається з частотою кадрів позначеного" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "Попереджати під час відкриття, якщо _розмір перевищує " -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr " МБ" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "Показувати попередження перед збереженням _набору" -#: src/preferences.c:3872 +#: src/preferences.c:3659 msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " "when LiVES is started." @@ -8872,76 +8876,76 @@ "Показувати попередження, якщо під час запуску LiVES не знайдено _mplayer/" "mplayer2, sox, composite або convert." -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "" "Показувати попередження, якщо при запуску у системі не буде знайдено ефектів " "_обробки." -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "" "Показувати попередження, якщо при запуску у системі не буде знайдено " "_додатків кодування." -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "Показувати попередження, якщо буде введено _дублікат назви набору." -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "" "Під час завантаження набору попереджати про те, що не вдалося знайти кліпів " "_компонувань." -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "Попередження про намір закрити кліп, використаний у компонуванні." -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "Попередження про вилучення кадрів, використаних у компонуванні." -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "Попередження про пересування кадрів, використаних у компонуванні." -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "Попередження про заміну кадрів, використаних у компонуванні." -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "" "Попередження про вилучення звукових даних, використаних у компонуванні." -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "" "Попередження про пересування звукових даних, використаних у компонуванні." -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "Попередження про заміну звукових даних, використаних у компонуванні." -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "Контекстні підказки про помилки компонування після змін у кліпі." -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "" "Попереджати про те, що компонування не було збережено під час завершення " "роботи у багатодоріжковому режимі." -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "" "Попереджати про завантаження компонування зі звуковими доріжками у " "багатодоріжковому режимі без звуку." -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." @@ -8949,227 +8953,227 @@ "Попереджати, якщо у багатодоріжковому режимі є звукові канали, а програвачем " "звуку не є «jack» або «PulseAudio»." -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "Показувати сповіщення після імпортування даних пристрою firewire." -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "Показувати попередження перед відкриттям потоку yuv4mpeg." -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "" "Показувати попередження про вичерпання простору для резервування у " "багатодоріжковому режимі." -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "" "Показувати після аварійного завершення діалогове вікно з пропозицією " "звільнити місце на диску." -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "" "Показувати попередження, якщо не вдасться зв’язатися з відтворювачем " "pulseaudio." -#: src/preferences.c:4113 +#: src/preferences.c:3865 msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "" "Попереджати перед вилученням компонування, зміни у якому не було збережено." -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "Попередження" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "MIDI-синхронізація (потрібні файли midistart і midistop)" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "Вставка/Об’єднання кадрів: " -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "При_швидшити/Сповільнити вставлене" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "_Змінити частоту кадрів у вставленому" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "Пристрій КД " -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "LiVES може завантажувати звукові композиції з цього КД" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "Типово кд/с " -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "" "Кількість кадрів на секунду, яку слід використовувати, якщо кількість не " "визначено" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "Інше" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "Нова тема: " -#: src/preferences.c:4242 +#: src/preferences.c:3977 msgid "Main Theme Details" msgstr "Основні параметри теми" -#: src/preferences.c:4254 +#: src/preferences.c:3988 msgid " _Foreground Color" msgstr " Колір п_ереднього плану" -#: src/preferences.c:4273 +#: src/preferences.c:4007 msgid " _Background Color" msgstr " Колір т_ла" -#: src/preferences.c:4291 +#: src/preferences.c:4026 msgid "_Alt Foreground Color" msgstr "_Альтернативний колір переднього плану" -#: src/preferences.c:4309 +#: src/preferences.c:4044 msgid "_Alt Background Color" msgstr "_Альтернативний колір тла" -#: src/preferences.c:4327 +#: src/preferences.c:4062 msgid " Info _Text Color" msgstr " Колір інформаційного _тексту" -#: src/preferences.c:4346 +#: src/preferences.c:4081 msgid " Info _Base Color" msgstr " _Базовий колір інформації" -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "Тема є с_вітлою" -#: src/preferences.c:4365 +#: src/preferences.c:4100 msgid "Affects some contrast details of the timeline" msgstr "Впливає на деякі контрастні частини монтажного столу" -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" "Колір кнопок гортання початкового і кінцевого кадру (потребує перезапуску)" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "Горизонтальні роздільники підсвічування на багатодоріжковій панелі" -#: src/preferences.c:4398 +#: src/preferences.c:4132 msgid "Frame blank image" msgstr "Зображення порожнього кадру" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" "Зображення кадру, яке буде показано, якщо жодного кліпу не завантажено." -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "Зображення-роздільник" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "Зображення, яке буде показано у центрі інтерфейсу." -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "Розширені параметри теми" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "Позначені кадри/звук (редактор кліпів)" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "Непозначені кадри/звук (редактор кліпів)" -#: src/preferences.c:4474 +#: src/preferences.c:4203 msgid "Track background (multitrack)" msgstr "Тло доріжки (багато доріжок)" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "Відеоблок (багато доріжок)" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "Аудіоблок (багато доріжок)" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "Блок ефектів (багато доріжок)" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "Позначка монтажного столу (багато доріжок)" -#: src/preferences.c:4529 +#: src/preferences.c:4258 msgid "Timeline selection (multitrack)" msgstr "Позначене монтажного столу (багато доріжок)" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "Тло відліку часу (багато доріжок)" -#: src/preferences.c:4553 +#: src/preferences.c:4282 msgid "Timecode foreground (multitrack)" msgstr "Передній план відліку часу (багато доріжок)" -#: src/preferences.c:4565 +#: src/preferences.c:4293 msgid "Frame surround" msgstr "Окіл кадру" -#: src/preferences.c:4582 +#: src/preferences.c:4306 msgid "Themes/Colors" msgstr "Теми/Кольори" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "Ширина каналу звантаження (кб/с) " -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "" "Для використання OMC LiVES має бути зібрано без \"configure --disable-OSC\"" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "Увімкнено віддалене керування OMC" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "Порт UDP " -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "Вмикати OMC під час запуску програми" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "Потокові дані/Мережа" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "Передавання даних Jack" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" @@ -9177,47 +9181,47 @@ "Щоб мати змогу використовувати передавання даних Jack, LiVES має бути " "зібрано з файлами заголовків jack/transport.h та jack/jack.h" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "Файл налаштування _передавання даних Jack" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "Запускати с_ервер при запуску LiVES" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "С_ервер передавання даних Jack (запуск і зупинка)" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "_Клієнт передавання даних Jack (запуск і зупинка)" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "Початкову позицію встановлює передавання Jack" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "Допоміжний засіб відліку часу передавання Jack" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "" "(Див. також «Відтворення -> Параметри звуку змінюються з частотою/напрямком " "відтворення відео»)" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "Звук Jack" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "" "Щоб мати змогу скористатися звуковим сервером Jack, вам слід зібрати LiVES з " "jack/jack.h" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" @@ -9225,82 +9229,82 @@ "Щоб скористатися звуковими можливостями Jack, вам СЛІД вказати звуковий " "програвач «jack» на вкладці «Відтворення»" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "Фа_йл налаштування звукового сервера Jack" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "Відтворювати звук, навіть якщо передавання пр_изупинено" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" "Автоматично встановлювати з’єднання з портами виведення звуку під час " "«відтворення» зовнішнього звуку" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "Інтеграція з Jack" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "Події, на які слід реагувати:" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "Події д_жойстика" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "Не заповнюйте, якщо типове" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "Пристрій _джойстика" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "Пристрій джойстика, наприклад, /dev/input/js0" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "П_одії MIDI" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "Вико_ристати MIDI ALSA (рекомендовано)" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "" "Створити порт MIDI ALSA, з яким можна буде з’єднувати інші MIDI-пристрої" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "Використовувати MIDI б_ез обробки" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "Читання безпосередньо з пристрою MIDI" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "Пр_истрій MIDI" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "Пристрій MIDI, наприклад, /dev/input/midi0" -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "Додатково" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "_Частота перевірки MIDI" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." @@ -9309,25 +9313,25 @@ "значення може покращити інтерактивність MIDI, але може сповільнити " "відтворення." -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "Повторення MIDI" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "Кількість тактів відсутності сигналу між двома послідовними сигналами." -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "" "(Попередження: визначення занадто великих значень може уповільнити " "відтворення.)" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "Навчання MIDI/джойстика" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -9339,7 +9343,7 @@ "щоб зміна каталогів набула чинності.\n" "Натисніть «Гаразд», щоб програма завершила роботу.\n" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." @@ -9347,36 +9351,36 @@ "Щоб зміни у розташуванні каталогів набули чинності, LiVES буде перезапущено " "після закриття діалогового вікна налаштування." -#: src/preferences.c:5525 +#: src/preferences.c:5205 msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "Вимикання теми набуде чинності лише під час наступного запуску LiVES." -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "" "Параметри Jack набудуть чинності лише під час наступного запуску LiVES." -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "Синхронізація зовнішньої частоти кадрів у %.8f кадрів на секунду.\n" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "Не вдалося ініціалізувати отримувач даних OSC\n" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "ПОПЕРЕДЖЕННЯ: Не вдалося запустити сервер OSC на порту UDP %d\n" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "Запущено сервер OSC на порту UDP %d\n" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "Не вдалося запустити сервер OSC/UDP на порту %d \n" @@ -9399,12 +9403,12 @@ msgid "Resample/Resize" msgstr "Зміна дискретизації/розмірів" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "Тепер відео складається з %d кадрів.\n" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" @@ -9414,144 +9418,143 @@ "\n" "Нове значення частоти має бути більшим за 0\n" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "Зміна дискретизації звукових даних" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "LiVES не вдалося змінити дискретизацію звукових даних бажаним чином.\n" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "Зміна дискретизації звуку" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "Частоту звукових даних було змінено на %d Гц, %d каналів, %d бітів" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "Зміна дискретизації відео при %.8f кадрах на секунду…" -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "Зміна дискретизації відео при %.3f кадрах на секунду…" -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "Помилка перевпорядкування!\n" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "Змінити частоту" -#: src/resample.c:1208 +#: src/resample.c:1209 msgid "New Clip Audio" msgstr "Новий звук кліпу" -#: src/resample.c:1210 +#: src/resample.c:1211 msgid "External Clip Settings" msgstr "Параметри зовнішнього кліпу" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "Поточний" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "Частота (Гц) " -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 msgid "Channels" msgstr "Канали" -#: src/resample.c:1256 +#: src/resample.c:1257 msgid "Sample Size " msgstr "Розмір фрагмента " -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "Signed" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "Unsigned" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "Little Endian" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "Big Endian" -#: src/resample.c:1322 -#, fuzzy +#: src/resample.c:1323 msgid "New Audio Details" -msgstr "Новий звук" +msgstr "Параметри нових звукових даних" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "Створити" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "_Увімкнути звук" -#: src/resample.c:1369 +#: src/resample.c:1370 msgid "_Channels" msgstr "_Канали" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "_Sample Size" msgstr "_Розмір фрагмента" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "Sample Size" msgstr "Розмір фрагмента" -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "_Кадрів на секунду " -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "Запис триватиме максимум " -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr " годин " -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr " хвилин " -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr " секунд " -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "Не обмежено" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "" "Натисніть «Гаразд», щоб почати запис, або «Скасувати», щоб скасувати запис." -#: src/resample.c:1635 +#: src/resample.c:1636 msgid "Change Playback Speed" msgstr "Зміна швидкості відтворення" -#: src/resample.c:1637 +#: src/resample.c:1638 msgid "Resample Video" msgstr "Зміна дискретизації відео" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -9568,7 +9571,7 @@ "Будь ласка, введіть бажану швидкість відтворення\n" "у _кадрах на секунду" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -9585,15 +9588,15 @@ "Будь ласка, введіть з_мінену частоту дискретизації\n" "у кадрах на секунду" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "АБО введіть бажану _тривалість кліпу у секундах" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "Змінити також швидкість _звукових даних" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" @@ -9604,7 +9607,7 @@ "компонувань.\n" "Ви справді бажаєте змінити швидкість?\n" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" @@ -9615,7 +9618,7 @@ "багатодоріжкових компонувань.\n" "Ви справді бажаєте змінити швидкість?\n" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" @@ -9626,7 +9629,7 @@ "компонувань.\n" "Ви справді бажаєте продовжувати?\n" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" @@ -9637,35 +9640,35 @@ "компонувань.\n" "Ви справді бажаєте продовжувати?\n" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "Зміна швидкості" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "" "Швидкість відтворення змінено на %3f кадрів на секунду, а частоту звукових " "даних на %d Гц.\n" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "Швидкість відтворення змінено на %.3f кадрів на секунду.\n" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "Зміна дискретизації відео" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "Зміна дискретизації відео у буфері даних" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "Перевпорядкування кадрів" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" @@ -9675,11 +9678,11 @@ "\n" "LiVES не вдалося перевпорядкувати кадри." -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "Скасування впорядкування кадрів" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "помилка зміни дискретизації…" @@ -9948,7 +9951,7 @@ msgid "Mode active" msgstr "Активізація режиму" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "Інформація" @@ -10076,48 +10079,48 @@ msgid "Opened firewire card %d" msgstr "Відкрито firewire-картку %d" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "Авторезервування" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "Звуковий супровід" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, c-format msgid "%s : parameters for %s" msgstr "%s: параметри %s" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "Поточна доріжка: %s (шар %d)\n" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "Current track: Backing audio\n" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "Поточна доріжка: шар %d звуку\n" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "%.2f с\n" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "Джерело: %s" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "Клацніть правою кнопкою миші, щоб відкрити контекстне меню.\n" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." @@ -10125,7 +10128,7 @@ "Двічі клацніть лівою кнопкою\n" "миші на блоці, щоб позначити його." -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -10140,7 +10143,7 @@ "подвійним клацанням лівою або\n" "правою кнопкою миші.\n" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -10152,7 +10155,7 @@ "Не вказано жодного ефекту.\n" "Спочатку позначте ефект у стосі, щоб переглянути його властивості.\n" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" @@ -10162,7 +10165,7 @@ "\n" "Не завантажено жодного кліпу.\n" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -10178,7 +10181,7 @@ "Крім того, ви можете увімкнути автоматичні переходи у\n" "меню «Ефекти» перед додаванням кліпів на монтажний стіл." -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -10192,12 +10195,12 @@ "позначити принаймні одну відеодоріжку\n" "і ділянку за часом.\n" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "від %.2f с до %.2f с\n" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" @@ -10205,12 +10208,12 @@ "Клацніть лівою кнопкою миші\n" "на монтажному столі, щоб позначити кадр.\n" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "%s [нестабільний]" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" @@ -10218,149 +10221,149 @@ "Ви можете натиснути кнопку миші\n" "і перетягнути вказівник монтажним столом" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr "щоб позначити діапазон часу.\n" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 msgid "Selected Clip" msgstr "Позначений кліп" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 msgid "_Adjust Start and End Points" msgstr "_Коригування початкової і кінцевої позицій" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 msgid "_Edit/Encode in Clip Editor" msgstr "З_мінити/Закодувати у редакторі кліпів" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 msgid "_Show Clip Information" msgstr "П_оказати відомості щодо кліпу" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 msgid "_Close this Clip" msgstr "_Закрити цей кліп" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 msgid "Audio Mixer (ctrl-m)" msgstr "Звуковий мікшер (ctrl-m)" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "Клацніть лівою кнопкою миші на монтажному столі," -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "щоб позначити кадр." -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "Двічі клацніть лівою або правою кнопкою миші на монтажному столі," -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "щоб позначити блок." -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "Кліпи можна перетягувати" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "на монтажний стіл." -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "Режим миші: пересування" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "кліпи можна пересувати." -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "Режим миші: позначення." -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "Натисніть кнопку миші і перетягніть вказівник монтажного стола," -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "щоб позначити доріжки і часові ділянки." -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "Закрити за_лишкові прогалини у позначених доріжках/проміжку часу" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "Закрити пер_шу прогалину в позначених доріжках/часовому фрагменті" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "Закрити проміжки" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "Пересунути блок" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "Пересунути блок звуку" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "Вилучити блок" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "Вилучити блок звуку" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "Розділити доріжки" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "Розділити блок" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "Застосувати %s" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "Вилучити %s" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "Вставити блок" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "Вставити проміжок" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "Вставити звуковий блок" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "Зміна порядку ефектів" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "unsigned " -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "signed " -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " @@ -10370,15 +10373,15 @@ "x %d, кількість каналів звуку %d, частота звуку %d, розмір семпла звуку %d, " "%s.\n" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "некоректний список подій. Помилка.\n" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "у списку подій вказано некоректну частоту кадрів. Помилка.\n" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -10393,7 +10396,7 @@ "закрити поточний набір,\n" "а потім завантажити новий набір за допомогою меню «Файл».\n" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -10404,349 +10407,349 @@ "Вказано некоректну для LiVES кількість каналів звукових даних (%d).\n" "Не вдалося завантажити.\n" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "Компонування було вилучено.\n" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "LiVES-%s: багатодоріжковий %dx%d: глибина кольору %d %.3f кд/с" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "Вхід/Вихід" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "Стос ефектів" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "Параметри" -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "_Відкрити…" -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "В_ідкрити частину файла…" -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "Імпортувати позна_чене з DVD/VCD…" -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "Імпортувати познач_ене з DVD" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "Імпортувати позна_чене з VCD" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "_Імпортувати з пристрою" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 msgid "_Close the Selected Clip" msgstr "За_крити вікно позначеного кліпу" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 msgid "_Save Layout as..." msgstr "З_берегти компонування як…" -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 msgid "_Load Layout..." msgstr "_Завантажити компонування…" -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 msgid "_Wipe/Delete Layout..." msgstr "Ви_лучити компонування…" -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "" "_Ігнорувати дані про ширину, висоту та параметри звуку з завантажених " "компонувань" -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 msgid "Auto Load _Subtitles with Clips" msgstr "Авто_матично завантажувати субтитри з кліпами" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "_РЕДАКТОР КЛІПІВ" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 msgid "_Adjust Selected Clip Start/End Points" msgstr "С_коригувати початкову або кінцеву позицію позначеного кліпу" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "_Вставити позначений кліп" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 msgid "_Insert Selected Clip Audio" msgstr "В_ставити позначений звуковий кліп" -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 msgid "_Delete Selected Block" msgstr "Ви_лучити позначений блок" -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 msgid "_Jump to Previous Block Boundary" msgstr "П_ерейти до межі попереднього блоку" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 msgid "_Jump to Next Block Boundary" msgstr "П_ерейти до межі наступного блоку" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 msgid "Clear _Marks from Timeline" msgstr "Вилучити позна_чки з монтажного стола" -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 msgid "Ignore Selection Limits when Inserting" msgstr "Ігнорувати обмеження позначеного під час вставлення" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "Від_творити від позиції на монтажному столі" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 msgid "Pla_y Selected Time Only" msgstr "Від_творити лише позначений фрагмент" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 msgid "_Move Effects with Blocks" msgstr "П_ересунути ефекти з блоками" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 msgid "Select _Autotransition Effect..." msgstr "Вибрати ефект _автопереходу…" -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 msgid "Crossfade Audio with Autotransition" msgstr "Поступовий автоматичний перехід звуку" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 msgid "View/_Edit Selected Effect" msgstr "Переглянути/З_мінити позначений ефект" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 msgid "_Delete Selected Effect" msgstr "Ви_лучити позначений ефект" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 msgid "Apply Effect to _Block..." msgstr "Застосувати ефект до _блоку…" -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 msgid "Apply Effect to _Region..." msgstr "Застосувати ефект до _ділянки…" -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "_Доріжки" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 msgid "Make _Backing Audio Current Track" msgstr "Зробити зв_уковий супровід поточною доріжкою" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "Додати відеодоріжку на _задній план" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "Додати відеодоріжку на п_ередній план" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 msgid "_Split Current Track at Cursor" msgstr "_Розділити поточну доріжку на позиції курсора" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 msgid "_Split Selected Video Tracks" msgstr "_Розділити позначені відеодоріжки" -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 msgid "Insert Gap in Selected Tracks/Time" msgstr "Вставити прогалину у позначені доріжки/позицію часу" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 msgid "Insert Gap in Current Track/Selected Time" msgstr "Вставити прогалину у поточну доріжку/позначений час" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 msgid "Close All _Gaps in Selected Tracks/Time" msgstr "Закрити всі про_галини у позначених доріжках/часових фрагментах" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "По_значене" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "П_означити поточну доріжку" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 msgid "Select _All Video Tracks" msgstr "Позначити в_сі відеодоріжки" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 msgid "Select _No Video Tracks" msgstr "Зн_яти позначення з усіх відеодоріжок" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 msgid "Select All _Time" msgstr "Позначити весь _час" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 msgid "Select from _Zero Time" msgstr "Позначити від _нульового часу" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 msgid "Select to _End Time" msgstr "Позначити до _кінцевого часу" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "_Копіювати…" -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 msgid "_Timecode to Region Start" msgstr "_Часовий відлік до початку області" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 msgid "_Timecode to Region End" msgstr "_Часовий відлік до кінця області" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 msgid "_Region Start to Timecode" msgstr "Від початку _ділянки до часового відліку" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 msgid "_Region End to Timecode" msgstr "Від кінця _ділянки до часового відліку" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 msgid "Select/Deselect Block at Current Track/Time" msgstr "" "Позначити або зняти позначення з блоку на поточній доріжці або у поточній " "позиції часу" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 msgid "_Change Width, Height and Audio Values..." msgstr "_Змінити ширину, висоту та гучність звуку…" -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "_Обробка" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 msgid "_Render All to New Clip" msgstr "_Обробити дані до нового кліпу" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 msgid "Render _Video" msgstr "Обробити _відео" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 msgid "Render _Audio" msgstr "Обробити _звук" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 msgid "_Normalise Rendered Audio" msgstr "_Нормалізувати оброблений звук" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 msgid "_Pre-render Audio" msgstr "Попередн_ьо обробити звук" -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "П_ерегляд" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 msgid "Block _In/Out Points" msgstr "По_часткова/кінцева точки блоку" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 msgid "_Effects at Current" msgstr "Е_фекти у поточній позиції" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 msgid "Audio Parameters" msgstr "Параметри звуку" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 msgid "Show Backing _Audio Track" msgstr "Показати доріжку _звукового супроводу" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 msgid "Compact View" msgstr "Компактний перегляд" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 msgid "Maximum Tracks to Display..." msgstr "Максимальна к-ть доріжок…" -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 msgid "Scroll to Follow Playback" msgstr "Гортати за відтворенням" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 msgid "_Center on Cursor" msgstr "_Центрувати за курсором" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 msgid "_Zoom In" msgstr "З_більшити" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 msgid "_Zoom Out" msgstr "З_меншити" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 msgid "Multitrack _Details" msgstr "П_араметри багатодоріжкової частини" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "Вікно п_одій" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "Вікно по_дій (лише для позначеного часу)" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 msgid "_Show FRAME Events" msgstr "_Показувати події FRAME" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 msgid "_Show Multitrack Keys" msgstr "_Показувати клавіші доріжок" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "Повідомити про _ваду" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 msgid "Insert With _Audio" msgstr "Вставляти зі _звуком" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "Визначає, вставлятиме програма відеокліпи зі звуковими даними чи ні" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 msgid "Select _Overlap" msgstr "Позначене пере_кривається" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" @@ -10754,87 +10757,87 @@ "Визначає, будуть фрагменти записів монтажного стола прилипати до перекриття " "один до одного між позначеними доріжками чи ні" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "Розгорнутий перегляд (d)" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "Компактний перегляд (d)" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "Тяжіння: _звичайне" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "Тяжіння: _ліворуч" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "Тяжіння: _праворуч" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 msgid "Mouse Mode: _Move" msgstr "Режим миші: _пересування" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 msgid "Mouse Mode: _Select" msgstr "Режим миші: _вибір" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 msgid "Insert Mode: _Normal" msgstr "Режим вставлення: _звичайний" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "_Застосувати" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "Час" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "Ви_л. вузол" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "_Наст. вузол" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "П_опер. вузол" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "Зв_оротне відтворення " -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "_Швидкість " -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "Зафіксувати по_чаток" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "Прив’язати початкову точку до монтажного стола" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "Зафіксувати _кінець" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "Прив’язати кінцеву точку до монтажного столу" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "Гортання" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" @@ -10844,91 +10847,91 @@ "==============================\n" "Перемкнено у режим редагування кліпів\n" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "Монтажний стіл (секунди)" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr " Звуковий супровід" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr " Шар %d звуку" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "Показати/Приховати параметри звуку" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "Шар %d звуку" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "%s (шар %d)" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "Вибрати доріжку" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "Показати/Приховати звукові доріжки" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "Відео %d" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr " %s" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 msgid "Selected Effect" msgstr "Позначений ефект" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 msgid "_View/Edit this Effect" msgstr "П_ереглянути/Змінити цей ефект" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 msgid "_View this Effect" msgstr "П_ереглянути цей ефект" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 msgid "_Delete this Effect" msgstr "Ви_лучити цей ефект" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "Не вдалося вставити після цього ефекту" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "Цей ефект не вдалося пересунути" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr " позначено від %d до %d " -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "%.2f с" -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "%d кадрів" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" @@ -10938,19 +10941,19 @@ "==============================\n" "Перемкнено у режим роботи з багатьма доріжками\n" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "Перетягніть повзунок часу у позицію, де ви" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "бажаєте встановити параметри ефектів" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "Вкажіть параметри, а потім натисніть кнопку «Застосувати»\n" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" @@ -10960,51 +10963,51 @@ "встановлено параметри.\n" "Вузли можна вилучати." -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "Для ефекту не передбачено парамтрів.\n" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "вивід %s" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "шар %d" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "звукова доріжка" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "від %s до %s" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "%s з %s" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "_Попередня карта фільтрування" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "Вставити п_еред" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "Вставити п_ісля" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "_Наступна карта фільтрування" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -11016,7 +11019,7 @@ "До поточної доріж�и у поточний момент часу,\n" "не призначено ефектів.\n" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" @@ -11026,7 +11029,7 @@ "позицію монтажного столу,\n" "щоб застосувати його до позначеної області." -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" @@ -11036,7 +11039,7 @@ "позицію монтажного столу,\n" "щоб застосувати його до позначеної області." -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." @@ -11044,63 +11047,63 @@ "Ефекти можна просто перетягувати\n" "на блоки монтажного столу." -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 msgid "Selected Block/Frame" msgstr "Позначений блок або кадр" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 msgid "_Select this Block" msgstr "П_означити цей блок" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 msgid "_Split Block Here" msgstr "_Розділити блок тут" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 msgid "List _Effects Here" msgstr "Показати список _ефектів тут" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "_Коригувати %s" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 msgid "_Delete this Block" msgstr "Ви_лучити цей блок" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 msgid "_Insert Here" msgstr "_Вставити тут" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 msgid "_Insert Audio Here" msgstr "_Вставити звук тут" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "" "Вставлено прогалину у позначені доріжки від позиції часу %.4f до позиції " "часу %.4f\n" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "" "Вставлено прогалину у доріжку %s від позиції часу %.4f до позиції часу %.4f\n" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "Скасування %s\n" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "Повторення %s\n" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" @@ -11108,72 +11111,72 @@ "\n" " (змінна)" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "доріжка %s" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "доріжки %s і %s" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "позначені доріжки" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "Додано %s %s до %s від %.4f до %.4f\n" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "Додано ефект %s до доріжки %s від %.4f до %.4f\n" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "Вилучено %s %s з %s, від %.4f до %.4f\n" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "оброблено %d кадрів зі спрямуванням до нового кліпу.\n" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "Спорожнення…" -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "Вилучено кадри з часової позначки %.4f до %.4f на доріжці %s\n" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "Вилучено звук з часової позначки %.4f до %.4f на доріжці %s\n" -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "П_ризупинити" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "Призупинити (p)" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "Натисніть «m» під час відтворення" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "для створення позначки на монтажному столі" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " @@ -11182,7 +11185,7 @@ "Вставлено звукові дані від %.4f до %.4f з кліпу %s до звукового супроводу з " "часової позначки %.4f до %.4f\n" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" @@ -11190,14 +11193,14 @@ "Вставлено кадри від %d до %d з кліпу %s до доріжки %s з часової позначки " "%.4f до %.4f\n" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" "selected.\n" msgstr "Позначено ділянку часу від %.3f до %.3f.\n" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" @@ -11205,12 +11208,12 @@ "позначте одну або декілька доріжок,\n" "щоб створити область.\n" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "Позначено %d відеодоріжок.\n" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." @@ -11218,7 +11221,7 @@ "Двічі клацніть лівою кнопкою миші на монтажному столі,\n" "щоб зняти позначення з області." -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." @@ -11226,7 +11229,7 @@ "Один раз клацніть на позначці ефекту,\n" "щоб позначити ефект." -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." @@ -11234,7 +11237,7 @@ "Двічі клацніть на позначці ефекту,\n" "щоб змінити його параметри." -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" @@ -11242,7 +11245,7 @@ "Клацанням правою кнопкою миші на позначці\n" "ефекту можна викликати контекстне меню.\n" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" @@ -11250,7 +11253,7 @@ "Порядок застосування ефектів можна\n" "змінити у КАРТАХ ЕФЕКТІВ" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" @@ -11258,15 +11261,15 @@ "Ви можете позначити ефект,\n" "а потім скористатися кнопкою ВСТАВИТИ ПЕРЕД" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "або ВСТАВИТИ ПІСЛЯ, щоб пересунути його." -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "Натисніть на пункті іншого ефекту" -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" @@ -11274,50 +11277,50 @@ "і позначений ефект\n" "буде вставлено" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "після.\n" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "перед.\n" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "Вилучено значення параметрів ефекту %s у позиції часу %.4f\n" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "Встановлено значення параметрів %s %s у %s для позиції часу %.4f\n" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "_Автоматично перезавантажувати кожного разу" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 msgid "Saving layout" msgstr "Зберігаємо компонування" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "Збережено компонування для %s\n" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "кліпи і кадри" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "кліпи" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "кадрів" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" @@ -11325,7 +11328,7 @@ "\n" "Автоматичне перезавантаження компонування.\n" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -11336,11 +11339,11 @@ "Не вистачає деяких %s з компонування %s\n" "Отже належне завантаження неможливе.\n" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "автоматичне створення резервних копій" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" @@ -11349,31 +11352,31 @@ "\n" "Не вдалося завантажити файл компонування %s\n" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "Завантаження компонування з %s…" -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "Отримано %d повідомлень про події… обробка…" -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "Перевірка і перебудова списку подій" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "Виявлено %d помилок.\n" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "Частоту кадрів багатодоріжкової області встановлено у значення %.3f\n" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 msgid "" "The current layout has changes which have not been saved.\n" "Are you sure you wish to wipe it ?\n" @@ -11381,19 +11384,19 @@ "До поточного компонування було внесено зміни, які не було збережено.\n" "Ви справді хочете вилучити це компонування?\n" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 msgid "Multitrack Audio Mixer" msgstr "Мікшер багатодоріжкового звуку" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "Від_новити значення" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "_Закрити вікно мікшера" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" @@ -11401,17 +11404,17 @@ "_Інвертувати гучності\n" "звукового супроводу і шарів" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "" "Скоригувати гучності звукового супроводу і шарів звуку так, щоб їх сума " "складала 1,0" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "Звук з’_єднаного шару" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "Вирівняти гучності всіх шарів звукових даних" @@ -11439,7 +11442,7 @@ "\n" "З’єднання зі звуковим каналом jack було розірвано.\n" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -11452,7 +11455,7 @@ "Змінити параметри звукових серверів можна на сторінці «Налаштування -> " "Відтворення»\n" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -11465,7 +11468,7 @@ "Змінити параметри звукових серверів можна на сторінці «Налаштування -> " "Відтворення»\n" -#: src/pulse.c:104 +#: src/pulse.c:105 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -11478,7 +11481,7 @@ "Змінити спосіб відтворення можна за допомогою сторінки Налаштування/" "Відтворення.\n" -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -11486,11 +11489,11 @@ "\n" "Не вдалося встановити з’єднання з сервером PulseAudio.\n" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "LiVES завершить роботу, ви зможете вибрати інший звуковий програвач.\n" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" @@ -11498,11 +11501,11 @@ "\n" "З’єднання зі звуковим сервером PulseAudio було розірвано.\n" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "незатиснуте" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr "затиснуте"
View file
LiVES-2.8.4.tar.bz2/po/uz.po -> LiVES-2.8.6.tar.bz2/po/uz.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: lives\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" "PO-Revision-Date: 2013-03-14 12:31+0000\n" "Last-Translator: Launchpad Translations Administrators <Unknown>\n" "Language-Team: Uzbek <uz@li.org>\n" @@ -18,7 +18,7 @@ "X-Launchpad-Export-Date: 2013-03-28 10:57+0000\n" "X-Generator: Launchpad (build 16546)\n" -#: src/main.c:132 +#: src/main.c:125 #, fuzzy msgid "" "Attention Translators !\n" @@ -33,22 +33,22 @@ "Барча таржимонлар LiVES таржима эслатмасаларини \n" "http://lives.sourceforge.net/TRANS-README.txt файлидан ўқишлари керак." -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "" -#: src/main.c:203 +#: src/main.c:197 #, fuzzy, c-format msgid "" "\n" @@ -63,7 +63,7 @@ "Раҳмат. Тиклаш жараёни LiVES. дастурини қайтадан ишга туширсангиз мавжуд " "бўлиши керак.\n" -#: src/main.c:205 +#: src/main.c:199 #, fuzzy, c-format msgid "" "\n" @@ -76,7 +76,7 @@ "Носозлик ҳақида хабар берганингизда, илтимос, операцион тизимингиз, " "дистрибутивингиз ва LiVES дастури версияси маълумотларини ҳам қўшинг (" -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" @@ -84,7 +84,7 @@ "ва бошқа маълумот қуйида кўрсатилади:\n" "\n" -#: src/main.c:210 +#: src/main.c:204 #, fuzzy msgid "" "Please try running LiVES with the -debug option to collect more " @@ -95,7 +95,7 @@ "debug мосламаси билан ишга туширинг.\n" "\n" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" @@ -105,89 +105,89 @@ "debug мосламаси билан ишга туширинг.\n" "\n" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "Йиғилганларни сақлаш\n" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "Исталган" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "Йўқ" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "тавсия қилинди" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "ўчирилди !" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "**Жорий қатлам**" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "Бошқа" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "Синаш" -#: src/main.c:474 +#: src/main.c:460 msgid "LiVES: - " msgstr "" -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "Ҳажми ўзгартирилмоқда" -#: src/main.c:731 +#: src/main.c:708 #, fuzzy msgid "_Resize All Frames..." msgstr "Барча кадрларнинг _ҳажмини ўзгартириш" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "" -#: src/main.c:1122 +#: src/main.c:1094 #, fuzzy msgid "Background" msgstr "Сўниш" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "Реал вақт эффект плагинлари юкланмоқда..." -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "Jack аудио сервер ишга туширилмоқда..." -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "Jack транспорт сервери ишга туширилмоқда..." -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "Jack транспорт серверига уланмоқда..." -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -199,34 +199,34 @@ "Alternatively, try to start lives with either \"lives -jackopts 16\", or " msgstr "" -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "Аудио сервер пульси ишга туширилмоқда..." -#: src/main.c:1855 +#: src/main.c:1813 #, fuzzy, c-format msgid "%s...detected... " msgstr "mplayer...аниқланди..." -#: src/main.c:1856 +#: src/main.c:1814 #, fuzzy, c-format msgid "%s...NOT DETECTED... " msgstr "mplayer...АНИҚЛАНМАДИ..." -#: src/main.c:1867 +#: src/main.c:1824 msgid "Checking optional dependencies: " msgstr "" -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -237,209 +237,209 @@ "\n" "Ойна бошқарувчиси \"%s\"сифатида маълумот берди; " -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "мониторлар миқдори аниқланди: %d\n" -#: src/main.c:1901 +#: src/main.c:1863 #, c-format msgid "Number of CPUs detected: %d " msgstr "" -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "" -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1927 +#: src/main.c:1889 #, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr "" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "Temp директорияси: %s\n" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" "Many audio features will be unavailable.\n" msgstr "" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" "\n" msgstr "" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" "Startup syntax is: %s [opts] [filename [start_time] [frames]]\n" msgstr "" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "" -#: src/main.c:2593 +#: src/main.c:2545 msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" msgstr "" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "" -#: src/main.c:2605 +#: src/main.c:2557 msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " "mplayer2" msgstr "" #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr "" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr "" -#: src/main.c:2613 +#: src/main.c:2565 msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " "transport client,2 = jack transport master, 4 = start jack transport server, " "8 = pause audio when video paused,16 = start jack audio server] \n" msgstr "" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr "" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" msgstr "" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "" -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -450,7 +450,7 @@ "(Maybe you need to change the value of <prefix_dir> in your %s file)\n" msgstr "" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -458,7 +458,7 @@ "Please make sure you have write access to %s and try again.\n" msgstr "" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -467,7 +467,7 @@ "before running LiVES.\n" msgstr "" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -477,7 +477,7 @@ "Please check the file permissions for this file and try again.\n" msgstr "" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -488,7 +488,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -496,7 +496,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2737 +#: src/main.c:2689 #, c-format msgid "" "\n" @@ -506,7 +506,7 @@ "%s" msgstr "" -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -517,56 +517,56 @@ "Thankyou.\n" msgstr "" -#: src/main.c:2751 +#: src/main.c:2703 msgid "" "\n" "LiVES currently requires 'mplayer', 'mplayer2' or 'sox' to function. Please " "install one or other of these, and try again.\n" msgstr "" -#: src/main.c:2756 +#: src/main.c:2708 msgid "" "\n" "LiVES currently requires both 'mplayer' or 'mplayer2' and 'sox' to function. " "Please install these, and try again.\n" msgstr "" -#: src/main.c:2769 +#: src/main.c:2721 msgid "" "\n" "LiVES was unable to locate 'mplayer','mplayer2' or 'mpv'. You may wish to " "install one of these to use LiVES more fully.\n" msgstr "" -#: src/main.c:2775 +#: src/main.c:2727 msgid "" "\n" "LiVES was unable to locate 'mplayer' or 'mplayer2'. You may wish to install " "one of these to use LiVES more fully.\n" msgstr "" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" "magick if you want to use rendered effects.\n" msgstr "" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " "image-magick if you want to use the merge function.\n" msgstr "" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " "should install 'sox'.\n" msgstr "" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -577,96 +577,96 @@ "You may need to change the value of <lib_dir> in %s\n" msgstr "" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "" -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "" #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "Ўйнаш" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" msgstr "" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "_Бекор қилиш" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "_Қайтариш" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "Видео" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "" -#: src/main.c:7078 +#: src/main.c:6973 msgid "" "\n" "\n" @@ -817,7 +817,7 @@ msgid "Use _mplayer2 audio player" msgstr "" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "" @@ -1023,51 +1023,51 @@ msgid "_Finish" msgstr "" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "" -#: src/interface.c:46 +#: src/interface.c:42 msgid "Apply _Deinterlace" msgstr "" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "" -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "Олдиндан кўриш" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "" -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "" -#: src/interface.c:122 +#: src/interface.c:113 msgid "Click here to _Preview the file" msgstr "" -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 msgid "Processing..." msgstr "" -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1076,179 +1076,183 @@ "Remember to switch off effects (ctrl-0) afterwards !" msgstr "" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" msgstr "" -#: src/interface.c:221 +#: src/interface.c:206 msgid "Show Details" msgstr "" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "_Олдиндан кўриш" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "_Бекор қилиш" -#: src/interface.c:334 +#: src/interface.c:324 msgid "Multitrack Details" msgstr "" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "Форматлаш" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "FPS" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "Freymlar" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "Ҳодисалар" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "Аудио" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "" -#: src/interface.c:568 +#: src/interface.c:590 #, fuzzy msgid "Encoding Options" msgstr "Кодлаш усули" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." msgstr "" -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "Ойнани _ёпиш" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "тиқ" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "" -#: src/interface.c:833 +#: src/interface.c:846 +msgid "Insert _with silence" +msgstr "" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "" -#: src/interface.c:924 +#: src/interface.c:937 #, fuzzy msgid "Open Selection" msgstr "_Тескарисига танлаш" -#: src/interface.c:943 +#: src/interface.c:954 msgid "Selection start time (sec)" msgstr "" -#: src/interface.c:949 +#: src/interface.c:960 msgid "Number of frames to open" msgstr "" -#: src/interface.c:1023 +#: src/interface.c:1029 msgid "Open Location" msgstr "" -#: src/interface.c:1025 +#: src/interface.c:1031 msgid "Open Youtube Clip" msgstr "" -#: src/interface.c:1045 +#: src/interface.c:1050 msgid "" "\n" "\n" @@ -1258,7 +1262,7 @@ "\n" msgstr "" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1267,67 +1271,67 @@ "\n" msgstr "" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "" -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "" -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "" -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "" -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr "" -#: src/interface.c:1188 +#: src/interface.c:1189 #, fuzzy msgid "Rename Clip" msgstr "Буриш" -#: src/interface.c:1190 +#: src/interface.c:1191 msgid "Enter Set Name to Save as" msgstr "" -#: src/interface.c:1192 +#: src/interface.c:1193 msgid "Enter a Set Name to Reload" msgstr "" -#: src/interface.c:1194 +#: src/interface.c:1195 msgid "Choose a Working Directory" msgstr "" -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 msgid "Rename Current Track" msgstr "" -#: src/interface.c:1198 +#: src/interface.c:1199 msgid "Enter a Name for Your Theme" msgstr "" -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1335,7 +1339,7 @@ "LiVES will remind you to save the clip set later when you try to exit.\n" msgstr "" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1355,329 +1359,329 @@ "This should be a directory with plenty of disk space available.\n" msgstr "" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "" -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "" -#: src/interface.c:1257 +#: src/interface.c:1255 msgid "Theme name " msgstr "" -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "" -#: src/interface.c:1437 +#: src/interface.c:1425 msgid "Select input device" msgstr "" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "" -#: src/interface.c:1517 +#: src/interface.c:1505 msgid "Load CD Track" msgstr "" -#: src/interface.c:1519 +#: src/interface.c:1507 msgid "Select DVD Title/Chapter" msgstr "" -#: src/interface.c:1521 +#: src/interface.c:1509 msgid "Select VCD Title" msgstr "" -#: src/interface.c:1523 +#: src/interface.c:1511 msgid "Change Maximum Visible Tracks" msgstr "" -#: src/interface.c:1525 +#: src/interface.c:1513 msgid "Device details" msgstr "" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "" -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "" -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "" -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "" -#: src/interface.c:1815 +#: src/interface.c:1778 #, fuzzy msgid "Fade Audio In" msgstr "Сўниш" -#: src/interface.c:1817 +#: src/interface.c:1780 #, fuzzy msgid "Fade Audio Out" msgstr "Сўниш" -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "" -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "" -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "" -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "" -#: src/interface.c:1909 +#: src/interface.c:1865 msgid " (Optional)" msgstr "" -#: src/interface.c:1912 +#: src/interface.c:1868 #, c-format msgid "File Comments%s" msgstr "" -#: src/interface.c:1927 +#: src/interface.c:1882 #, c-format msgid "File Name: %s" msgstr "" -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "" -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "" -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "" -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "" -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "" -#: src/interface.c:2109 +#: src/interface.c:2058 #, c-format msgid "%sChoose a Device" msgstr "" -#: src/interface.c:2112 +#: src/interface.c:2061 #, c-format msgid "%sChoose a Directory" msgstr "" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2410 +#: src/interface.c:2341 msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" "What would you like to do ?\n" msgstr "" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" "What do you wish to do ?" msgstr "" -#: src/interface.c:2417 +#: src/interface.c:2348 msgid "Cancel/Discard/Save" msgstr "" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" "Would you like to try and recover it ?\n" msgstr "" -#: src/interface.c:2527 +#: src/interface.c:2455 msgid "Disk Recovery Options" msgstr "" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "" -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "" -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1685,339 +1689,339 @@ "-----------------------\n" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "ctrl-left" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 #, fuzzy msgid "skip forwards\n" msgstr "_Ўтказиб юбориш" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 #, fuzzy msgid "ctrl-down" msgstr "Ctrl-%d" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 msgid "ctrl-enter" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "reset frame rate\n" msgstr "Freymlar" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "" -#: src/interface.c:2723 +#: src/interface.c:2642 msgid "reverse direction\n" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "ctrl-1" msgstr "Ctrl-%d" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "toggle real-time effect 1\n" msgstr "Реал вақт эффект плагинлари юкланмоқда..." -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "ctrl-2" msgstr "Ctrl-%d" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "toggle real-time effect 2\n" msgstr "Реал вақт эффект плагинлари юкланмоқда..." -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 #, fuzzy msgid "ctrl-0" msgstr "Ctrl-%d" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "real-time effects off\n" msgstr "" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "" -#: src/interface.c:2759 +#: src/interface.c:2678 msgid "grab keyboard for last activated effect\n" msgstr "" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2688 msgid "tab" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "" -#: src/interface.c:2785 +#: src/interface.c:2706 msgid "Other playback keys\n" msgstr "" -#: src/interface.c:2789 +#: src/interface.c:2710 msgid "play all\n" msgstr "" -#: src/interface.c:2792 +#: src/interface.c:2713 #, fuzzy msgid "play selection\n" msgstr "_Тескарисига танлаш" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "" -#: src/interface.c:2798 +#: src/interface.c:2719 #, fuzzy msgid "fullscreen\n" msgstr "_Бутун экранга" -#: src/interface.c:2801 +#: src/interface.c:2722 msgid "separate window\n" msgstr "" -#: src/interface.c:2804 +#: src/interface.c:2725 msgid "double size\n" msgstr "" -#: src/interface.c:2807 +#: src/interface.c:2728 msgid "ping pong loops\n" msgstr "" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "move current track up\n" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "move current track down\n" msgstr "" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "" -#: src/interface.c:2849 +#: src/interface.c:2768 msgid "select next clip\n" msgstr "" -#: src/interface.c:2852 +#: src/interface.c:2771 msgid "select/deselect current track\n" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "zoom in\n" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "zoom out\n" msgstr "" -#: src/interface.c:2861 +#: src/interface.c:2780 msgid "make a mark on the timeline (during playback)\n" msgstr "" -#: src/interface.c:2864 +#: src/interface.c:2783 msgid "rewind to play start.\n" msgstr "" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "" -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "" -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "" -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -2025,22 +2029,22 @@ "the latest youtube-dl installed.\n" msgstr "" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, c-format msgid "Layouts were removed for set %s.\n" msgstr "" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " msgstr "" -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2050,7 +2054,7 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2060,20 +2064,20 @@ "Really close it ?" msgstr "" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" "Really close it ?" msgstr "" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" msgstr "" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2086,53 +2090,53 @@ "Once you have done this, you will be able to import the new project.\n" msgstr "" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "" -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "" -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 msgid "Theme" msgstr "" -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, c-format msgid "Exporting theme as %s..." msgstr "" -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, c-format msgid "Importing theme \"%s\" from %s..." msgstr "" -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, c-format msgid "Backup as %s File" msgstr "" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, c-format msgid "Restore %s File" msgstr "" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2140,101 +2144,101 @@ "Are you sure ?\n" msgstr "" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "" -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "" -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "" -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "" -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "" -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "" -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "Кесиш" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 msgid "Pulling frames from clipboard" msgstr "" -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "" -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "" -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " "LiVES.\n" msgstr "" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2243,31 +2247,31 @@ "the 'Trim Audio' function from the Audio menu." msgstr "" -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." msgstr "" -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2275,7 +2279,7 @@ "Clipboard audio has been erased.\n" msgstr "" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2284,88 +2288,88 @@ "using unchanged audio ?\n" msgstr "" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "" -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "" -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "" -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" "Are you sure ?" msgstr "" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "" -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "Ўчирилмоқда" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "Olib tashlash" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" "Selection is locked.\n" msgstr "" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2373,11 +2377,11 @@ "play.)\n" msgstr "" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2386,7 +2390,7 @@ "%s\n" msgstr "" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2395,7 +2399,7 @@ "The plugin may be broken or not installed correctly." msgstr "" -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2404,22 +2408,22 @@ "Please press 'Cancel' if that is not what you want.\n" msgstr "" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2427,24 +2431,24 @@ "Click OK to proceed.\n" msgstr "" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "" -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "" -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "" -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2452,68 +2456,68 @@ "Internal: %s (%d bpp) / %s\n" msgstr "" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." msgstr "" -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" "(%d virtual)" msgstr "" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" "(%d decoded)" msgstr "" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" " %.2f sec." msgstr "" -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" msgstr "" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" "%s %s" msgstr "" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2530,22 +2534,22 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n" msgstr "" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "" -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" "Launchpad Contributions:\n" " Akmal Xushvaqov https://launchpad.net/~uzadmin\n" " Guybrush88 https://launchpad.net/~guybrush" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, c-format msgid "" "LiVES Version %s\n" @@ -2559,14 +2563,14 @@ "Homepage: %s" msgstr "" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 msgid "" "\n" "\n" "You need to install mplayer or mplayer2 to be able to preview this file.\n" msgstr "" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 msgid "" "\n" "\n" @@ -2574,92 +2578,92 @@ "this file.\n" msgstr "" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" "%s\n" msgstr "" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 msgid "Encoder Debug Output" msgstr "" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "" -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 msgid "Load Subtitles" msgstr "" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 msgid "Select Audio File" msgstr "" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -2667,82 +2671,82 @@ "." msgstr "" -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "" -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "" -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "" -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 msgid "Layout Errors" msgstr "" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "Давом этиш" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "" -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "" -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "Шундай қолдириш" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, c-format msgid "" "\n" @@ -2751,30 +2755,30 @@ "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "Бекор қилиш" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 #, fuzzy msgid "Selected Frame" msgstr "Сўниш" -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 #, fuzzy msgid "_Save Frame as..." msgstr "Сўниш" -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -2783,7 +2787,7 @@ "\n" msgstr "" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -2791,13 +2795,13 @@ "\n" msgstr "" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" msgstr "" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -2806,17 +2810,17 @@ "\n" msgstr "" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" msgstr "" -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -2826,19 +2830,19 @@ "(Default of %.3f frames per second will be used.)\n" msgstr "" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "" -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "" -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -2847,119 +2851,119 @@ "rate.\n" msgstr "" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "" -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "" -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 msgid "Append Audio File" msgstr "" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "" -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "" -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "" -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "" -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "" -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" "Are you sure ?" msgstr "" -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "" -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "" @@ -2972,877 +2976,877 @@ msgid "Merge Clipboard [ %d Frames ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "" -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "" -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "_Файл" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "" -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "" -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "" -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "" -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "" -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "" -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "" -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "" -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "" -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "" -#: src/gui.c:692 +#: src/gui.c:674 #, c-format msgid "_Backup Clip as .%s..." msgstr "" -#: src/gui.c:701 +#: src/gui.c:683 #, c-format msgid "_Restore Clip from .%s..." msgstr "" -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "_Таҳрирлаш" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "" -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "" -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "" -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "" -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "_Тескарисига танлаш" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "_Тўхтатиш" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "_Бутун экранга" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "" -#: src/gui.c:1069 +#: src/gui.c:1045 msgid "Letterbox Mode" msgstr "" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "" -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "" -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "" -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "" -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "" -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "" -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "" -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "" -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "" -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "" -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "" -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "" -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "" -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "" -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "" -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "" -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "" -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "" -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "" -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "" -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "" -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "" -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "" -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "" -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "" -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "" -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "" -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "" -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "" -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "" -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "" -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "" -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "" -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "" -#: src/gui.c:1397 +#: src/gui.c:1371 msgid "Receive _LiVES Stream from..." msgstr "" -#: src/gui.c:1401 +#: src/gui.c:1375 msgid "_Send LiVES Stream to..." msgstr "" -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "" -#: src/gui.c:1426 +#: src/gui.c:1399 #, c-format msgid "_Import Project (.%s)..." msgstr "" -#: src/gui.c:1430 +#: src/gui.c:1403 #, c-format msgid "E_xport Project (.%s)..." msgstr "" -#: src/gui.c:1437 +#: src/gui.c:1409 #, c-format msgid "_Import Custom Theme (.%s)..." msgstr "" -#: src/gui.c:1442 +#: src/gui.c:1414 #, c-format msgid "E_xport Theme (.%s)..." msgstr "" -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "" -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "" -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." msgstr "" -#: src/gui.c:1476 +#: src/gui.c:1448 msgid "_Reset All Playback Speeds and Positions" msgstr "" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "" -#: src/gui.c:1480 +#: src/gui.c:1452 msgid "_MIDI/Joystick Interface" msgstr "" -#: src/gui.c:1489 +#: src/gui.c:1461 msgid "_MIDI/Joystick Learner..." msgstr "" -#: src/gui.c:1493 +#: src/gui.c:1465 msgid "_Save Device Mapping..." msgstr "" -#: src/gui.c:1497 +#: src/gui.c:1469 msgid "_Load Device Mapping..." msgstr "" -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "_Йўқ" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "_Ёрдам" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 msgid "_Donate to the Project !" msgstr "" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 msgid "_Email the Author" msgstr "" -#: src/gui.c:1547 +#: src/gui.c:1519 msgid "Report a _Bug" msgstr "" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 msgid "Suggest a _Feature" msgstr "" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 msgid "Assist with _Translating" msgstr "" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "_Ҳақида" -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "Товуш" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." msgstr "" #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr "" -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr "" -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "Орқага" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr "" -#: src/gui.c:3613 +#: src/gui.c:3553 #, fuzzy msgid "Streaming" msgstr "Дрим" -#: src/gui.c:3615 +#: src/gui.c:3555 #, fuzzy, c-format msgid "Play Window%s" msgstr "Ойнани _ёпиш" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "" -#: src/gui.c:4199 +#: src/gui.c:4127 #, c-format msgid "'LiVES opened the file' '%s'" msgstr "" -#: src/gui.c:4220 +#: src/gui.c:4146 #, c-format msgid "'LiVES closed the file' '%s'" msgstr "" @@ -3852,11 +3856,11 @@ msgid "Mapped to ctrl-%d" msgstr "" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "Эффектлар" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "" @@ -3870,11 +3874,11 @@ msgid "Select clip for %s\n" msgstr "" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "" @@ -3919,11 +3923,11 @@ msgid "%d bytes" msgstr "" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -3931,81 +3935,81 @@ "Switched to clip %s\n" msgstr "" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" "Switched to empty clip\n" msgstr "" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " "updated accordingly\n" msgstr "" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -4013,7 +4017,7 @@ "by another copy of LiVES.\n" msgstr "" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -4021,39 +4025,39 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2188 +#: src/utils.c:2207 #, c-format msgid "" "\n" "%s names may not be blank.\n" msgstr "" -#: src/utils.c:2196 +#: src/utils.c:2215 #, c-format msgid "" "\n" "%s names may not be longer than %d characters.\n" msgstr "" -#: src/utils.c:2204 +#: src/utils.c:2223 #, c-format msgid "" "\n" "%s names may not contain spaces or the characters%s.\n" msgstr "" -#: src/utils.c:2213 +#: src/utils.c:2232 #, c-format msgid "" "\n" "%s names may not start with a '.' or contain '..'\n" msgstr "" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4061,72 +4065,72 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "" -#: src/utils.c:3492 +#: src/utils.c:3548 msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "" -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4136,29 +4140,29 @@ "Overwrite ?\n" msgstr "" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr "" -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr "" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4183,7 +4187,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr "" @@ -4284,7 +4288,7 @@ msgstr "" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "" @@ -4338,12 +4342,12 @@ msgid "Recording performance..." msgstr "" -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4352,21 +4356,21 @@ "and resize all frames to the current size.\n" msgstr "" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "Номаълум" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4374,13 +4378,13 @@ "%s\n" msgstr "" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" msgstr "" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4388,7 +4392,7 @@ "Bad things may happen with this clip.\n" msgstr "" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4396,73 +4400,73 @@ "Default can be set in Tools | Preferences | Misc.\n" msgstr "" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, c-format msgid " - Author: %s\n" msgstr "" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, c-format msgid " - Title: %s\n" msgstr "" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr "" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "" -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "" -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "" -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -4510,61 +4514,61 @@ msgid "Recovering files..." msgstr "" -#: src/dialogs.c:87 +#: src/dialogs.c:83 msgid "Show affeced _layouts" msgstr "" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" msgstr "" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr "" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 #, fuzzy msgid "Warning !" msgstr "Огоҳномалар" -#: src/dialogs.c:198 +#: src/dialogs.c:186 #, fuzzy msgid "Error !" msgstr "$error" -#: src/dialogs.c:208 +#: src/dialogs.c:196 #, fuzzy msgid "Information" msgstr "Нормаллаштириш" -#: src/dialogs.c:234 +#: src/dialogs.c:221 msgid "Question" msgstr "" -#: src/dialogs.c:248 +#: src/dialogs.c:235 #, fuzzy msgid "File Error" msgstr "$error" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -4575,7 +4579,7 @@ "(Disk warning levels can be configured in Preferences.)" msgstr "" -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -4587,11 +4591,11 @@ "Preferences.)" msgstr "" -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "" -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -4599,46 +4603,46 @@ "Please try closing some other applications first.\n" msgstr "" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "" -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" "%s%d%% done. Time remaining: %u sec%s\n" msgstr "" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" "%d/%d frames opened. Time remaining %u sec.\n" msgstr "" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" "%d/%d frames opened.\n" msgstr "" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" "%d frames opened.\n" msgstr "" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" "Time remaining: %d sec" msgstr "" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -4646,7 +4650,7 @@ "Please close a file and then try again." msgstr "" -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -4658,47 +4662,47 @@ "Please make sure you can write to this directory." msgstr "" -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 msgid "" "\n" "LiVES currently requires either 'mplayer', 'mplayer2', or 'sox' to function. " "Please install one or other of these, and try again.\n" msgstr "" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 msgid "" "\n" "This function requires either mplayer or mplayer2 to operate.\n" "You may wish to install one or other of these and try again.\n" msgstr "" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 msgid "" "\n" "This function requires either mplayer, mplayer2 or mpv to operate.\n" "You may wish to install one or other of these and try again.\n" msgstr "" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" "Or switch to another encoder format in Tools | Preferences | Encoding\n" msgstr "" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -4706,19 +4710,19 @@ "Please set the audio codec in Tools|Preferences|Encoding\n" msgstr "" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -4726,83 +4730,83 @@ "Due to restrictions in the %s format\n" msgstr "" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" msgstr "" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr "" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr "" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr "" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr "" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" msgstr "" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -4811,14 +4815,14 @@ "\n" msgstr "" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" "\n" msgstr "" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -4827,7 +4831,7 @@ "Try recording for just a selection of the file." msgstr "" -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -4838,7 +4842,7 @@ "Please press Cancel to abort the insert, or OK to continue." msgstr "" -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -4851,18 +4855,18 @@ "click Cancel." msgstr "" -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " "in your %s file" msgstr "" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -4873,25 +4877,25 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 msgid "" "Sorry, unknown audio type.\n" "\n" " (Filenames must end in" msgstr "" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" "(They will not be usable without the set).\n" msgstr "" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -4900,7 +4904,7 @@ "Click Cancel to pick a new name.\n" msgstr "" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -4908,7 +4912,7 @@ "." msgstr "" -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -4916,7 +4920,7 @@ "." msgstr "" -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -4927,7 +4931,7 @@ "Otherwise click Cancel to skip loading this file.\n" msgstr "" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -4937,7 +4941,7 @@ "The clip could not be loaded.\n" msgstr "" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -4945,7 +4949,7 @@ "Alternately, select a different audio player in Preferences.\n" msgstr "" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -4954,13 +4958,13 @@ "Automatic jack startup will be disabled now.\n" msgstr "" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" msgstr "" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -4971,13 +4975,13 @@ "%s\n" msgstr "" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" msgstr "" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -4987,7 +4991,7 @@ "It is recommended to increase it to at least %d MB" msgstr "" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -4996,7 +5000,7 @@ "Do you wish to delete them ?\n" msgstr "" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -5004,7 +5008,7 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -5012,81 +5016,81 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" msgstr "" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" msgstr "" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" "You can set this in Tools|Preferences|Playback." msgstr "" -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" "Should I try to repair the disk copy of the layout ?\n" msgstr "" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" msgstr "" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" "Please install 'imagemagick' and try again." msgstr "" -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" "Audio rate must be greater than 0.\n" msgstr "" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5094,14 +5098,14 @@ "Are you sure you wish to view it ?\n" msgstr "" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" "You must install 'dvgrab' to use this function.\n" msgstr "" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5110,25 +5114,25 @@ "You may need to select one of these in Tools/Preferences/Playback.\n" msgstr "" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" msgstr "" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5137,33 +5141,33 @@ "echo %d > /proc/sys/net/core/rmem_max\n" msgstr "" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -5173,7 +5177,7 @@ "%s%s%s" msgstr "" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -5183,7 +5187,7 @@ "%s" msgstr "" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -5193,7 +5197,7 @@ "%s" msgstr "" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -5202,7 +5206,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -5212,7 +5216,7 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -5221,7 +5225,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -5231,12 +5235,12 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "" -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -5245,7 +5249,7 @@ "Please check your system for errors.\n" msgstr "" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -5254,7 +5258,7 @@ "Please check the file permissions and try again." msgstr "" -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -5263,7 +5267,7 @@ "Please check the directory permissions and try again." msgstr "" -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, c-format msgid "" "\n" @@ -5271,14 +5275,14 @@ "%s\n" msgstr "" -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -5286,13 +5290,13 @@ "Please select another encoder from the list.\n" msgstr "" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" msgstr "" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -5302,27 +5306,27 @@ "- Check if the device actually exists.\n" msgstr "" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" "Do you wish to overwrite the existing subtitles ?\n" msgstr "" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 msgid "" "\n" "LiVES currently only supports subtitles of type" msgstr "" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -5331,14 +5335,14 @@ "or OK to continue and save as type \"%s\"\n" msgstr "" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" "(If unsure, click Yes)\n" msgstr "" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -5349,19 +5353,19 @@ "." msgstr "" -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" msgstr "" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" msgstr "" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -5369,7 +5373,7 @@ "DO NOT SHUT DOWN OR CLOSE LIVES !\n" msgstr "" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, c-format msgid "" "\n" @@ -5377,14 +5381,14 @@ "The theme could not be loaded correctly.\n" msgstr "" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" "Please check the spelling of the set name and try again.\n" msgstr "" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -5393,7 +5397,7 @@ "directory. Would you like me to do this (recommended) ?" msgstr "" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -5405,7 +5409,7 @@ msgstr "" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -5414,38 +5418,38 @@ "\n" msgstr "" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" "Consult your package distributor.\n" msgstr "" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" msgstr "" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, c-format msgid "" "\n" @@ -5454,7 +5458,7 @@ "(Theme name not found).\n" msgstr "" -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -5463,7 +5467,7 @@ "already exists. Would you like to overwrite it ?\n" msgstr "" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -5604,7 +5608,7 @@ msgid "Video only Transitions" msgstr "" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "" @@ -5612,7 +5616,7 @@ msgid "Audio only Transitions" msgstr "" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "" @@ -5656,7 +5660,7 @@ msgid "Audio Analysers" msgstr "" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "номаълум" @@ -5711,357 +5715,357 @@ "No frames were generated.\n" msgstr "" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 msgid "Invalid element" msgstr "" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 msgid "Invalid property" msgstr "" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 msgid "Invalid plugin" msgstr "" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 #, fuzzy msgid "No error" msgstr "$error" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 msgid "integer" msgstr "" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 msgid "string" msgstr "" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 msgid "pointer" msgstr "" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" "Error was: %s\n" msgstr "" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr "" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, c-format msgid "Successfully loaded %d compound filters\n" msgstr "" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, c-format msgid "Failed to start generator %s (%s)\n" msgstr "" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 msgid "Autoscale" msgstr "" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 msgid "Delete this connection" msgstr "" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, c-format msgid "%s - Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, c-format msgid "%s - Parameter Data Connections" msgstr "" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 msgid "Parameter and Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 msgid "Auto Connect Channels" msgstr "" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 msgid "Auto Connect Parameters" msgstr "" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "" -#: src/framedraw.c:241 +#: src/framedraw.c:242 msgid "_Frame" msgstr "" @@ -6105,40 +6109,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "" -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -6204,32 +6208,32 @@ "\n" msgstr "" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "" -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "_FPS" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -6238,7 +6242,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -6248,31 +6252,31 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" "Error was: %s\n" msgstr "" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " "***\n" msgstr "" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -6281,7 +6285,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -6290,7 +6294,7 @@ "or switch to another plugin using Tools|Preferences|Encoding\n" msgstr "" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, c-format msgid "" "\n" @@ -6298,12 +6302,12 @@ "No decoders found in %s !\n" msgstr "" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, fuzzy, c-format msgid " using %s" msgstr "%s очилмоқда" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -6312,7 +6316,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -6322,24 +6326,24 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "" -#: src/plugins.c:2556 +#: src/plugins.c:2550 msgid "Decoder Plugins" msgstr "" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "" @@ -6538,19 +6542,19 @@ msgid "Move _Down" msgstr "" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 msgid "RFX Properties" msgstr "" -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -6559,7 +6563,7 @@ "\n" msgstr "" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -6567,219 +6571,219 @@ "Please check the trigger code.\n" msgstr "" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 msgid "New RFX Parameter" msgstr "" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 msgid "Edit RFX Parameter" msgstr "" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "" -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "" -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "" -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." msgstr "" -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "" -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "" -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "" -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "" -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "" -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "" -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "" -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "" -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "" -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr "" -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "" -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 msgid "_Wrap value" msgstr "" -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "" -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "" -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "" -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "" -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "" -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 msgid "New RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 msgid "Edit RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "" -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "" -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "" -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "" -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "" -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "" -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "" -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 msgid "New RFX Trigger" msgstr "" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 msgid "Edit RFX Trigger" msgstr "" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "" -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 msgid "Pre Loop Code" msgstr "" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 msgid "Loop Code" msgstr "" -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 msgid "Post Loop Code" msgstr "" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, c-format msgid "Default text (max length %d)" msgstr "" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 msgid "Enter values, one per line" msgstr "" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" "Name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" "Name must not contain spaces.\n" msgstr "" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" "Menu text must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" "Action description must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" "Author must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -6787,28 +6791,28 @@ "Name must be unique.\n" msgstr "" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" "Loop code should not be blank.\n" msgstr "" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" "Trigger code should not be blank for a utility.\n" msgstr "" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" "Parameter name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -6817,41 +6821,41 @@ "\n" msgstr "" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "" -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -6861,27 +6865,27 @@ "\n" msgstr "" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "" -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "" -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "" -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "" -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -6890,7 +6894,7 @@ "Please check this program is in your path and executable.\n" msgstr "" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -6900,12 +6904,12 @@ "\n" msgstr "" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "" -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -6915,7 +6919,7 @@ "Error code was %d\n" msgstr "" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -6925,12 +6929,12 @@ "Please delete it first, or rename the test script.\n" msgstr "" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "" -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -6941,20 +6945,20 @@ "Return code was %d (%s)\n" msgstr "" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 msgid "Export Script" msgstr "" -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "" -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 msgid "Import Script" msgstr "" -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -6964,43 +6968,43 @@ "Please delete it first, or rename the import script.\n" msgstr "" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 msgid "Copy RFX Script" msgstr "" -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "" -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr "" -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 msgid "Rename Test RFX Script" msgstr "" -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "" -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 msgid "RFX Script Name" msgstr "" -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "" -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "" -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "" -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -7008,12 +7012,12 @@ "Script name must be unique.\n" msgstr "" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "" -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -7024,25 +7028,25 @@ "Return code was %d\n" msgstr "" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 msgid "Applying Current Real Time Effects to" msgstr "" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "" -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "" -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -7050,7 +7054,7 @@ "full screen, separate window (fs) mode\n" msgstr "" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -7058,7 +7062,7 @@ "(Free space = UNKNOWN)" msgstr "" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -7067,14 +7071,14 @@ "(Free space = %s)" msgstr "" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" "It should be in a partition with plenty of free disk space.\n" msgstr "" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7085,7 +7089,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7095,7 +7099,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1193 +#: src/preferences.c:1163 msgid "" "You have chosen to change the working directory.\n" "Please make sure you have no other copies of LiVES open.\n" @@ -7107,7 +7111,7 @@ "setting." msgstr "" -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, c-format msgid "" "\n" @@ -7116,13 +7120,13 @@ "See %s\n" msgstr "" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" msgstr "" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, c-format msgid "" "\n" @@ -7131,917 +7135,917 @@ "See %s\n" msgstr "" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "" -#: src/preferences.c:2468 +#: src/preferences.c:2418 msgid "Preferences" msgstr "" -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "" -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr "" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr "" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." msgstr "" -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr "" -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "сония" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "_Ҳеч қачон" -#: src/preferences.c:2872 +#: src/preferences.c:2757 msgid "Maximum number of visible tracks" msgstr "" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "" -#: src/preferences.c:2925 +#: src/preferences.c:2804 msgid "Video open command (fallback)" msgstr "" -#: src/preferences.c:2935 +#: src/preferences.c:2811 msgid "Fallback image format" msgstr "" -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "_jpeg" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "_png" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "" -#: src/preferences.c:2964 +#: src/preferences.c:2832 msgid "Open/render compression" msgstr "" -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr "" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "" -#: src/preferences.c:2995 +#: src/preferences.c:2856 msgid "Automatic trimming / padding of audio when possible" msgstr "" -#: src/preferences.c:2997 +#: src/preferences.c:2858 msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "" -#: src/preferences.c:3269 +#: src/preferences.c:3110 msgid "Source:" msgstr "" -#: src/preferences.c:3273 +#: src/preferences.c:3114 msgid "_Internal" msgstr "" -#: src/preferences.c:3278 +#: src/preferences.c:3119 msgid "_External (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "Ўйнаш" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" msgstr "" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr "" -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "" -#: src/preferences.c:3454 +#: src/preferences.c:3273 msgid "You can also change these values when encoding a clip" msgstr "" -#: src/preferences.c:3466 +#: src/preferences.c:3285 msgid "Encoder" msgstr "" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "Кодлаш усули" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." msgstr "" -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr "" -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr "" -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr "" -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr "" -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr "" -#: src/preferences.c:3649 +#: src/preferences.c:3461 msgid " Working directory (do not remove) " msgstr "" -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "" -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "" -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "Директориялар" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "" -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr "" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "" -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" msgstr "" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "" -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr " Мб" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "" -#: src/preferences.c:3872 +#: src/preferences.c:3659 msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " "when LiVES is started." msgstr "" -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "" -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "" -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "" -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "" -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "" -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "" -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "" -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "" -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "" -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "" -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "" -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "" -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "" -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "" -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." msgstr "" -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "" -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "" -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "" -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "" -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "" -#: src/preferences.c:4113 +#: src/preferences.c:3865 msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "" -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "Огоҳномалар" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "" -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "" -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "" -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "Хар ҳил" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "" -#: src/preferences.c:4242 +#: src/preferences.c:3977 msgid "Main Theme Details" msgstr "" -#: src/preferences.c:4254 +#: src/preferences.c:3988 #, fuzzy msgid " _Foreground Color" msgstr "Сўниш" -#: src/preferences.c:4273 +#: src/preferences.c:4007 #, fuzzy msgid " _Background Color" msgstr "Сўниш" -#: src/preferences.c:4291 +#: src/preferences.c:4026 #, fuzzy msgid "_Alt Foreground Color" msgstr "Сўниш" -#: src/preferences.c:4309 +#: src/preferences.c:4044 #, fuzzy msgid "_Alt Background Color" msgstr "Сўниш" -#: src/preferences.c:4327 +#: src/preferences.c:4062 msgid " Info _Text Color" msgstr "" -#: src/preferences.c:4346 +#: src/preferences.c:4081 msgid " Info _Base Color" msgstr "" -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "" -#: src/preferences.c:4365 +#: src/preferences.c:4100 msgid "Affects some contrast details of the timeline" msgstr "" -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "" -#: src/preferences.c:4398 +#: src/preferences.c:4132 #, fuzzy msgid "Frame blank image" msgstr "кадрлар" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "" -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4474 +#: src/preferences.c:4203 msgid "Track background (multitrack)" msgstr "" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "" -#: src/preferences.c:4529 +#: src/preferences.c:4258 msgid "Timeline selection (multitrack)" msgstr "" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "" -#: src/preferences.c:4553 +#: src/preferences.c:4282 msgid "Timecode foreground (multitrack)" msgstr "" -#: src/preferences.c:4565 +#: src/preferences.c:4293 #, fuzzy msgid "Frame surround" msgstr "сония" -#: src/preferences.c:4582 +#: src/preferences.c:4306 #, fuzzy msgid "Themes/Colors" msgstr "Мавзулар" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "" -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "" -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" msgstr "" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" msgstr "" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "" -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "Қўшимча" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." msgstr "" -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "" -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -8049,41 +8053,41 @@ "Click OK to continue.\n" msgstr "" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." msgstr "" -#: src/preferences.c:5525 +#: src/preferences.c:5205 msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "" -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "" -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "" @@ -8106,154 +8110,154 @@ msgid "Resample/Resize" msgstr "" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" "New rate must be greater than 0\n" msgstr "" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "" -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "" -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "" -#: src/resample.c:1208 +#: src/resample.c:1209 msgid "New Clip Audio" msgstr "" -#: src/resample.c:1210 +#: src/resample.c:1211 msgid "External Clip Settings" msgstr "" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "Жорий" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "" -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 msgid "Channels" msgstr "" -#: src/resample.c:1256 +#: src/resample.c:1257 msgid "Sample Size " msgstr "" -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "" -#: src/resample.c:1322 +#: src/resample.c:1323 msgid "New Audio Details" msgstr "" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "Янги" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "" -#: src/resample.c:1369 +#: src/resample.c:1370 msgid "_Channels" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "_Sample Size" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "Sample Size" msgstr "" -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "" -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "" -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr "" -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr "" -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr "" -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "Чексиз" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "" -#: src/resample.c:1635 +#: src/resample.c:1636 msgid "Change Playback Speed" msgstr "" -#: src/resample.c:1637 +#: src/resample.c:1638 msgid "Resample Video" msgstr "" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -8264,7 +8268,7 @@ "in _frames per second" msgstr "" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -8275,80 +8279,80 @@ "in frames per second" msgstr "" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" "LiVES was unable to reorder the frames." msgstr "" -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "" @@ -8578,7 +8582,7 @@ msgid "Mode active" msgstr "" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "Маълумот" @@ -8700,54 +8704,54 @@ msgid "Opened firewire card %d" msgstr "" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, c-format msgid "%s : parameters for %s" msgstr "" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." msgstr "" -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -8756,7 +8760,7 @@ "right or double clicking on it.\n" msgstr "" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -8764,14 +8768,14 @@ "Select an effect in FX stack first to view its parameters.\n" msgstr "" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" "No clips loaded.\n" msgstr "" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -8781,7 +8785,7 @@ "before inserting clips into the timeline." msgstr "" -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -8790,187 +8794,187 @@ "to apply compositors.\n" msgstr "" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" msgstr "" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" msgstr "" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr "" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 msgid "Selected Clip" msgstr "" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 msgid "_Adjust Start and End Points" msgstr "" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 msgid "_Edit/Encode in Clip Editor" msgstr "" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 #, fuzzy msgid "_Show Clip Information" msgstr "Нормаллаштириш" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 msgid "_Close this Clip" msgstr "" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 msgid "Audio Mixer (ctrl-m)" msgstr "" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "" -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "" -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "" -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "" -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "" -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "" -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "" -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "" -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "" -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "" -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "" -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " "audio rate %d, audio sample size %d, %s.\n" msgstr "" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -8980,7 +8984,7 @@ "then load in the new set from the File menu.\n" msgstr "" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -8988,598 +8992,598 @@ "It cannot be loaded.\n" msgstr "" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "" -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "" -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "" -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "" -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 msgid "_Close the Selected Clip" msgstr "" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 msgid "_Save Layout as..." msgstr "" -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 msgid "_Load Layout..." msgstr "" -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 msgid "_Wipe/Delete Layout..." msgstr "" -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "" -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 msgid "Auto Load _Subtitles with Clips" msgstr "" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 msgid "_Adjust Selected Clip Start/End Points" msgstr "" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 #, fuzzy msgid "_Insert Selected Clip Audio" msgstr "_Тескарисига танлаш" -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 msgid "_Delete Selected Block" msgstr "" -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 msgid "_Jump to Previous Block Boundary" msgstr "" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 msgid "_Jump to Next Block Boundary" msgstr "" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 msgid "Clear _Marks from Timeline" msgstr "" -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 msgid "Ignore Selection Limits when Inserting" msgstr "" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 msgid "Pla_y Selected Time Only" msgstr "" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 msgid "_Move Effects with Blocks" msgstr "" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 msgid "Select _Autotransition Effect..." msgstr "" -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 msgid "Crossfade Audio with Autotransition" msgstr "" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 msgid "View/_Edit Selected Effect" msgstr "" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 msgid "_Delete Selected Effect" msgstr "" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 msgid "Apply Effect to _Block..." msgstr "" -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 msgid "Apply Effect to _Region..." msgstr "" -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 msgid "Make _Backing Audio Current Track" msgstr "" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 msgid "_Split Current Track at Cursor" msgstr "" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 msgid "_Split Selected Video Tracks" msgstr "" -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 msgid "Insert Gap in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 msgid "Insert Gap in Current Track/Selected Time" msgstr "" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 msgid "Close All _Gaps in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 msgid "Select _All Video Tracks" msgstr "" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 msgid "Select _No Video Tracks" msgstr "" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 #, fuzzy msgid "Select All _Time" msgstr "Сўниш" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 msgid "Select from _Zero Time" msgstr "" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 #, fuzzy msgid "Select to _End Time" msgstr "Сўниш" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "" -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 msgid "_Timecode to Region Start" msgstr "" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 msgid "_Timecode to Region End" msgstr "" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 msgid "_Region Start to Timecode" msgstr "" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 msgid "_Region End to Timecode" msgstr "" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 msgid "Select/Deselect Block at Current Track/Time" msgstr "" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 msgid "_Change Width, Height and Audio Values..." msgstr "" -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 msgid "_Render All to New Clip" msgstr "" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 msgid "Render _Video" msgstr "" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 #, fuzzy msgid "Render _Audio" msgstr "Сўниш" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 msgid "_Normalise Rendered Audio" msgstr "" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 msgid "_Pre-render Audio" msgstr "" -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "_Кўриниш" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 msgid "Block _In/Out Points" msgstr "" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 msgid "_Effects at Current" msgstr "" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 #, fuzzy msgid "Audio Parameters" msgstr "Freymlar" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 msgid "Show Backing _Audio Track" msgstr "" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 msgid "Compact View" msgstr "" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 msgid "Maximum Tracks to Display..." msgstr "" -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 msgid "Scroll to Follow Playback" msgstr "" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 msgid "_Center on Cursor" msgstr "" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 msgid "_Zoom In" msgstr "" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 msgid "_Zoom Out" msgstr "" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 msgid "Multitrack _Details" msgstr "" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 msgid "_Show FRAME Events" msgstr "" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 msgid "_Show Multitrack Keys" msgstr "" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 msgid "Insert With _Audio" msgstr "" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 #, fuzzy msgid "Select _Overlap" msgstr "Сўниш" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" msgstr "" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 msgid "Mouse Mode: _Move" msgstr "" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 msgid "Mouse Mode: _Select" msgstr "" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 msgid "Insert Mode: _Normal" msgstr "" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "_Қўллаш" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "" -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "" -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" "Switched to Clip Edit mode\n" msgstr "" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr "" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr "" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr " %s" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 msgid "Selected Effect" msgstr "" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 msgid "_View/Edit this Effect" msgstr "" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 msgid "_View this Effect" msgstr "" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 msgid "_Delete this Effect" msgstr "" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr "" -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "" -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" "Switched to Multitrack mode\n" msgstr "" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" "Nodes can be deleted." msgstr "" -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -9587,282 +9591,282 @@ "current time.\n" msgstr "" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." msgstr "" -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 msgid "Selected Block/Frame" msgstr "" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 msgid "_Select this Block" msgstr "" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 msgid "_Split Block Here" msgstr "" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 msgid "List _Effects Here" msgstr "" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 msgid "_Delete this Block" msgstr "" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 #, fuzzy msgid "_Insert Here" msgstr "тиқ" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 msgid "_Insert Audio Here" msgstr "" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" msgstr "" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "" -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " "to %.4f\n" msgstr "" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" "selected.\n" msgstr "" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" msgstr "" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." msgstr "" -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." msgstr "" -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." msgstr "" -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" msgstr "" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" msgstr "" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" msgstr "" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "" -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "" -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" msgstr "" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 msgid "Saving layout" msgstr "" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "кадрлар" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" msgstr "" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -9870,74 +9874,74 @@ "Therefore it could not be loaded properly.\n" msgstr "" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" "Unable to load layout file %s\n" msgstr "" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "" -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "" -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 msgid "" "The current layout has changes which have not been saved.\n" "Are you sure you wish to wipe it ?\n" msgstr "" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 msgid "Multitrack Audio Mixer" msgstr "" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" msgstr "" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "" @@ -9963,7 +9967,7 @@ "Connection to jack audio was reset.\n" msgstr "" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -9971,7 +9975,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -9979,7 +9983,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:104 +#: src/pulse.c:105 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -9987,27 +9991,27 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" msgstr "" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" msgstr "" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr ""
View file
LiVES-2.8.4.tar.bz2/po/zh_CN.po -> LiVES-2.8.6.tar.bz2/po/zh_CN.po
Changed
@@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: lives\n" "Report-Msgid-Bugs-To: https://sourceforge.net/p/lives/bugs/\n" -"POT-Creation-Date: 2017-01-12 23:34-0300\n" +"POT-Creation-Date: 2017-05-23 23:12-0300\n" "PO-Revision-Date: 2015-04-05 16:35+0000\n" "Last-Translator: Timothy Gu <timothy_gu@hotmail.com>\n" "Language-Team: Simplified Chinese <zh_CN@li.org>\n" @@ -18,7 +18,7 @@ "X-Launchpad-Export-Date: 2015-05-03 15:41+0000\n" "X-Generator: Launchpad (build 17474)\n" -#: src/main.c:132 +#: src/main.c:125 msgid "" "Attention Translators !\n" "This message is intended for you, so please do not translate it.\n" @@ -27,22 +27,22 @@ "http://lives-video.com/TRANS-README.txt" msgstr "" -#: src/main.c:159 +#: src/main.c:152 #, c-format msgid "%s Warning: %s\n" msgstr "%s 警告: %s\n" -#: src/main.c:163 +#: src/main.c:156 #, c-format msgid "%s Critical error: %s\n" msgstr "%s 严重错误: %s\n" -#: src/main.c:164 +#: src/main.c:157 #, c-format msgid "%s Fatal error: %s\n" msgstr "%s 致命错误: %s\n" -#: src/main.c:203 +#: src/main.c:197 #, fuzzy, c-format msgid "" "\n" @@ -56,7 +56,7 @@ "谢。\n" "重启 LiVES 之后应该可以恢复。\n" -#: src/main.c:205 +#: src/main.c:199 #, fuzzy, c-format msgid "" "\n" @@ -68,7 +68,7 @@ "\n" "报告崩溃时请包括操作系统、发行版及 LiVES 版本信息 (" -#: src/main.c:209 +#: src/main.c:203 msgid "" "and any information shown below:\n" "\n" @@ -76,7 +76,7 @@ "以及下面的信息:\n" "\n" -#: src/main.c:210 +#: src/main.c:204 #, fuzzy msgid "" "Please try running LiVES with the -debug option to collect more " @@ -86,7 +86,7 @@ "请安装 gdb 然后添加 -debug 选项运行 LiVES 以便收集更多信息。\n" "\n" -#: src/main.c:212 +#: src/main.c:206 msgid "" "Please install gdb and then run LiVES with the -debug option to collect more " "information.\n" @@ -95,89 +95,89 @@ "请安装 gdb 然后添加 -debug 选项运行 LiVES 以便收集更多信息。\n" "\n" -#: src/main.c:222 +#: src/main.c:216 msgid "Preserving set.\n" msgstr "正在保存场景。\n" #. TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") -#: src/main.c:399 +#: src/main.c:385 msgid "Any" msgstr "任意" #. TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") -#: src/main.c:401 +#: src/main.c:387 msgid "None" msgstr "无" #. TRANSLATORS: text saying "recommended", for plugin names, etc. -#: src/main.c:403 +#: src/main.c:389 msgid "recommended" msgstr "推荐" #. TRANSLATORS: text saying "disabled", (as in "not enabled") -#: src/main.c:405 +#: src/main.c:391 msgid "disabled !" msgstr "已禁用 !" #. TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected -#: src/main.c:407 +#: src/main.c:393 msgid "**The current layout**" msgstr "**当前的布局**" #. TRANSLATORS: adjective for "Built in" type effects -#: src/main.c:409 +#: src/main.c:395 msgid "Builtin" msgstr "内置" #. TRANSLATORS: adjective for "Custom" type effects -#: src/main.c:411 +#: src/main.c:397 msgid "Custom" msgstr "自定义" #. TRANSLATORS: adjective for "Test" type effects -#: src/main.c:413 +#: src/main.c:399 msgid "Test" msgstr "测试" -#: src/main.c:474 +#: src/main.c:460 #, fuzzy msgid "LiVES: - " msgstr "LiVES: - 插入" -#: src/main.c:724 +#: src/main.c:701 msgid "Resizing" msgstr "正在调整尺寸" -#: src/main.c:731 +#: src/main.c:708 #, fuzzy msgid "_Resize All Frames..." msgstr "调整所有帧的尺寸(_R)" -#: src/main.c:1121 +#: src/main.c:1093 msgid "Foreground" msgstr "" -#: src/main.c:1122 +#: src/main.c:1094 msgid "Background" msgstr "" -#: src/main.c:1651 +#: src/main.c:1618 msgid "Loading realtime effect plugins..." msgstr "正在加载实时效果插件..." -#: src/main.c:1717 +#: src/main.c:1683 msgid "Starting jack audio server..." msgstr "正在启动 jack 音频服务器..." -#: src/main.c:1719 +#: src/main.c:1685 msgid "Starting jack transport server..." msgstr "正在启动 jack 传输服务器..." -#: src/main.c:1720 +#: src/main.c:1686 msgid "Connecting to jack transport server..." msgstr "正在连接 jack 传输服务器..." -#: src/main.c:1750 +#: src/main.c:1716 #, c-format msgid "" "\n" @@ -196,35 +196,35 @@ "\n" "除此之外,尝试用启动命令行“lives -jackopts 16\"或 " -#: src/main.c:1787 +#: src/main.c:1750 msgid "Starting pulse audio server..." msgstr "正在开启 pulse 音频服务..." -#: src/main.c:1855 +#: src/main.c:1813 #, fuzzy, c-format msgid "%s...detected... " msgstr "mplayer...发现..." -#: src/main.c:1856 +#: src/main.c:1814 #, fuzzy, c-format msgid "%s...NOT DETECTED... " msgstr "mplayer...未发现..." -#: src/main.c:1867 +#: src/main.c:1824 #, fuzzy msgid "Checking optional dependencies: " msgstr "检查可选的依赖:" -#: src/main.c:1889 +#: src/main.c:1852 #, c-format msgid "Windows version %04X" msgstr "Windows 版本为 %04X" -#: src/main.c:1891 +#: src/main.c:1855 msgid "UNKNOWN - please patch me !" msgstr "未知 - 请给我打上补丁!" -#: src/main.c:1895 +#: src/main.c:1857 #, c-format msgid "" "\n" @@ -235,53 +235,53 @@ "\n" "窗口管理器报告为\"%s\"; " -#: src/main.c:1898 +#: src/main.c:1860 #, c-format msgid "number of monitors detected: %d\n" msgstr "检测到的显视器数量:%d\n" -#: src/main.c:1901 +#: src/main.c:1863 #, c-format msgid "Number of CPUs detected: %d " msgstr "检测到CPU个数:%d " -#: src/main.c:1904 src/multitrack.c:5070 +#: src/main.c:1866 src/multitrack.c:4960 msgid "little endian" msgstr "小端" -#: src/main.c:1905 src/multitrack.c:5069 +#: src/main.c:1867 src/multitrack.c:4959 msgid "big endian" msgstr "大端" -#: src/main.c:1906 +#: src/main.c:1868 #, c-format msgid "(%d bits, %s)\n" msgstr "" -#: src/main.c:1910 +#: src/main.c:1872 msgid "GUI type is: " msgstr "" -#: src/main.c:1915 +#: src/main.c:1877 #, c-format msgid "GTK+ version %d.%d.%d (compiled with %d.%d.%d)" msgstr "GTK+ 版本 %d.%d.%d (编译器版本 %d.%d.%d)" -#: src/main.c:1927 +#: src/main.c:1889 #, fuzzy, c-format msgid "GTK+ (compiled with %d.%d.%d)" msgstr "GTK+ 版本 %d.%d.%d (编译器版本 %d.%d.%d)" -#: src/main.c:1939 +#: src/main.c:1901 msgid ", with cairo support" msgstr ",基于cairo绘图库" -#: src/main.c:1946 +#: src/main.c:1908 #, c-format msgid "Temp directory is %s\n" msgstr "临时文件夹为 %s\n" -#: src/main.c:1950 +#: src/main.c:1912 msgid "" "WARNING - this version of LiVES was compiled without either\n" "jack or pulse audio support.\n" @@ -291,15 +291,15 @@ "jack 或 pulse 音频支持。\n" "许多音频功能将不可用。\n" -#: src/main.c:1953 +#: src/main.c:1915 msgid "Compiled with jack support, good !\n" msgstr "编译上 jack 支持了,好!\n" -#: src/main.c:1956 +#: src/main.c:1918 msgid "Compiled with pulse audio support, wonderful !\n" msgstr "编译上 pulse 音频支持了,很好!\n" -#: src/main.c:1960 +#: src/main.c:1922 #, c-format msgid "" "Welcome to LiVES version %s.\n" @@ -308,7 +308,7 @@ "欢迎来到 LiVES 版本 %s。\n" "\n" -#: src/main.c:2581 +#: src/main.c:2533 #, c-format msgid "" "\n" @@ -317,92 +317,92 @@ "\n" "启动语法为: %s [opts] [filename [start_time] [frames]]\n" -#: src/main.c:2582 +#: src/main.c:2534 msgid "Where: filename is the name of a media file or backup file.\n" msgstr "其中:filename 为媒体文件或备份文件名。\n" -#: src/main.c:2583 +#: src/main.c:2535 msgid "start_time : filename start time in seconds\n" msgstr "start_time : 文件名以秒计的开始时间\n" -#: src/main.c:2584 +#: src/main.c:2536 msgid "frames : maximum number of frames to open\n" msgstr "frames : 要打开的最大帧数\n" -#: src/main.c:2586 +#: src/main.c:2538 msgid "opts can be:\n" msgstr "选项可以是:\n" -#: src/main.c:2587 +#: src/main.c:2539 msgid "-help : show this help text and exit\n" msgstr "-help : 显示此帮助文字并退出\n" -#: src/main.c:2588 +#: src/main.c:2540 msgid "-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n" msgstr "-tmpdir <tempdir> :使用其它的工作目录(例如 /var/ramdisk)\n" -#: src/main.c:2589 +#: src/main.c:2541 msgid "-set <setname> : autoload clip set setname\n" msgstr "-set <setname> : 自动加载场景 setname\n" -#: src/main.c:2590 +#: src/main.c:2542 msgid "-noset : do not load any set on startup\n" msgstr "-noset : 启动时不加载任何场景\n" -#: src/main.c:2591 +#: src/main.c:2543 msgid "-norecover : force no-loading of crash recovery\n" msgstr "-norecover : 强制不从崩溃中恢复\n" -#: src/main.c:2592 +#: src/main.c:2544 msgid "-recover : force loading of crash recovery\n" msgstr "-recover : 强制载入崩溃恢复\n" -#: src/main.c:2593 +#: src/main.c:2545 #, fuzzy msgid "" "-nothreaddialog : does nothing - retained for backwards compatibility\n" msgstr "-nothreaddialog : 不做任何事 - 保留向后兼容\n" -#: src/main.c:2594 +#: src/main.c:2546 msgid "-nogui : do not show the gui\n" msgstr "-nogui : 不显示图形用户界面\n" -#: src/main.c:2595 +#: src/main.c:2547 msgid "-nosplash : do not show the splash window\n" msgstr "-nosplash:不显示启动画面\n" -#: src/main.c:2596 +#: src/main.c:2548 msgid "-noplaywin : do not show the play window\n" msgstr "-noplaywin:不显示播放窗口\n" -#: src/main.c:2597 +#: src/main.c:2549 msgid "-noninteractive : disable menu interactivity\n" msgstr "" -#: src/main.c:2598 +#: src/main.c:2550 msgid "-startup-ce : start in clip editor mode\n" msgstr "-startup-ce : 以剪辑编辑模式启动\n" -#: src/main.c:2599 +#: src/main.c:2551 msgid "-startup-mt : start in multitrack mode\n" msgstr "-startup-mt : 以多轨模式启动\n" -#: src/main.c:2600 +#: src/main.c:2552 msgid "" "-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is " "8)\n" msgstr "" "-fxmodesmax <n> : 每个特效帧允许 <n> 个模式 (最小值为 1,缺省值为 8)\n" -#: src/main.c:2602 +#: src/main.c:2554 msgid "-oscstart <port> : start OSC listener on UDP port <port>\n" msgstr "-oscstart <port> : 在 UDP 端口 <port> 启动 OSC 监听\n" -#: src/main.c:2603 +#: src/main.c:2555 msgid "-nooscstart : do not start OSC listener\n" msgstr "-nooscstart : 不启动 OSC 监听\n" -#: src/main.c:2605 +#: src/main.c:2557 #, fuzzy msgid "" "-aplayer <ap> : start with selected audio player. <ap> can be mplayer, " @@ -410,15 +410,15 @@ msgstr "-aplayer <ap> : 和选择的音频播放器一起启动。<ap> 可以是 mplayer" #. TRANSLATORS: pulse (audio) -#: src/main.c:2608 +#: src/main.c:2560 msgid ", pulse" msgstr ", pulse" -#: src/main.c:2611 +#: src/main.c:2563 msgid ", sox or jack\n" msgstr "、 sox 或 jack\n" -#: src/main.c:2613 +#: src/main.c:2565 #, fuzzy msgid "" "-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack " @@ -429,29 +429,29 @@ "client, 2 = jack transport master, 4 = start jack transport server, 8 = " "pause audio when video paused, 16 = start jack audio server] \n" -#: src/main.c:2617 +#: src/main.c:2569 msgid " or sox\n" msgstr " 或 sox\n" -#: src/main.c:2619 +#: src/main.c:2571 msgid "-devicemap <mapname> : autoload devicemap\n" msgstr "-devicemap <mapname> : 自动加载 devicemap\n" -#: src/main.c:2621 +#: src/main.c:2573 msgid "" "-vppdefaults <file> : load video playback plugin defaults from " "<file> (Note: only sets the settings, not the plugin type)\n" msgstr "" -#: src/main.c:2622 +#: src/main.c:2574 msgid "-debug : try to debug crashes (requires 'gdb' installed)\n" msgstr "-debug : 尝试调试崩溃(需要安装 gdb)\n" -#: src/main.c:2652 src/gui.c:1132 +#: src/main.c:2603 src/gui.c:1108 msgid "Starting GUI..." msgstr "正在启动图形用户界面..." -#: src/main.c:2681 +#: src/main.c:2632 #, c-format msgid "" "\n" @@ -462,7 +462,7 @@ "(Maybe you need to change the value of <prefix_dir> in your %s file)\n" msgstr "" -#: src/main.c:2699 +#: src/main.c:2651 #, c-format msgid "" "\n" @@ -470,7 +470,7 @@ "Please make sure you have write access to %s and try again.\n" msgstr "" -#: src/main.c:2705 +#: src/main.c:2657 msgid "" "\n" "`smogrify` must be in your path, and be executable\n" @@ -484,7 +484,7 @@ "请在运行 LiVES 前\n" "参阅 README 文件。\n" -#: src/main.c:2712 +#: src/main.c:2664 #, c-format msgid "" "\n" @@ -494,7 +494,7 @@ "Please check the file permissions for this file and try again.\n" msgstr "" -#: src/main.c:2720 +#: src/main.c:2672 #, c-format msgid "" "\n" @@ -505,7 +505,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2731 +#: src/main.c:2683 #, c-format msgid "" "Please check the <tempdir> setting in \n" @@ -513,7 +513,7 @@ "and try again.\n" msgstr "" -#: src/main.c:2737 +#: src/main.c:2689 #, fuzzy, c-format msgid "" "\n" @@ -523,7 +523,7 @@ "%s" msgstr "LiVES 无法捕获此窗口。对不起。\n" -#: src/main.c:2745 +#: src/main.c:2697 msgid "" "\n" "An incorrect version of smogrify was found in your path.\n" @@ -541,7 +541,7 @@ "\n" "谢谢。\n" -#: src/main.c:2751 +#: src/main.c:2703 #, fuzzy msgid "" "\n" @@ -551,7 +551,7 @@ "\n" "LiVES 目前需要 'mplayer' 或 'sox' 以正常工作。请至少安装其中之一并重试。\n" -#: src/main.c:2756 +#: src/main.c:2708 #, fuzzy msgid "" "\n" @@ -561,7 +561,7 @@ "\n" "LiVES 目前需要 'mplayer' 或 'sox' 以正常工作。请至少安装其中之一并重试。\n" -#: src/main.c:2769 +#: src/main.c:2721 #, fuzzy msgid "" "\n" @@ -571,7 +571,7 @@ "\n" "LiVES 无法定位 'mplayer'。您可以安装 mplayer 来获得更完整的 LiVES 功能。\n" -#: src/main.c:2775 +#: src/main.c:2727 #, fuzzy msgid "" "\n" @@ -581,7 +581,7 @@ "\n" "LiVES 无法定位 'mplayer'。您可以安装 mplayer 来获得更完整的 LiVES 功能。\n" -#: src/main.c:2783 +#: src/main.c:2735 msgid "" "\n" "LiVES was unable to locate 'convert'. You should install convert and image-" @@ -591,7 +591,7 @@ "LiVES 无法定位 'convert'。您可以安装 convert 和 image-magick 来使用渲染效" "果。\n" -#: src/main.c:2788 +#: src/main.c:2740 msgid "" "\n" "LiVES was unable to locate 'composite'. You should install composite and " @@ -601,7 +601,7 @@ "LiVES 无法定位 'composite'。您需要安装 composite 和 image-magick 来使用融合功" "能。\n" -#: src/main.c:2792 +#: src/main.c:2744 msgid "" "\n" "LiVES was unable to locate 'sox'. Some audio features may not work. You " @@ -610,7 +610,7 @@ "\n" "LiVES 无法定位 'sox'。有些音频特性可能无法工作。您应该安装 'sox'。\n" -#: src/main.c:2797 +#: src/main.c:2749 #, c-format msgid "" "\n" @@ -621,63 +621,63 @@ "You may need to change the value of <lib_dir> in %s\n" msgstr "" -#: src/main.c:2833 +#: src/main.c:2785 msgid "Loading rendered effect plugins..." msgstr "" -#: src/main.c:2933 +#: src/main.c:2887 #, c-format msgid "Autoloading set %s..." msgstr "自动装载场景 %s..." #. TRANSLATORS: localised name may be used here -#: src/main.c:3131 +#: src/main.c:3081 msgid "LiVES" msgstr "" -#: src/main.c:3319 +#: src/main.c:3268 #, c-format msgid "Invalid audio player %s\n" msgstr "无效的音频播放器 %s\n" -#: src/main.c:3492 +#: src/main.c:3440 #, c-format msgid "LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <Untitled%d> %dx%d : %d 帧 %d bpp %.3f fps" -#: src/main.c:3497 +#: src/main.c:3445 #, c-format msgid "LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : ??? 帧 ??? bpp %.3f fps" -#: src/main.c:3500 +#: src/main.c:3448 #, c-format msgid "LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps" msgstr "LiVES-%s: <%s> %dx%d : %d 帧 %d bpp %.3f fps" -#: src/main.c:3507 +#: src/main.c:3455 #, c-format msgid "LiVES-%s: <No File>" msgstr "LiVES-%s: <没有文件>" #. TRANSLATORS: rec(ord) -#: src/main.c:5689 +#: src/main.c:5606 #, c-format msgid "rec %9d/%d" msgstr "" #. TRANSLATORS: out of memory (rec(ord)) -#: src/main.c:5694 +#: src/main.c:5611 #, c-format msgid "!rec %9d/%d" msgstr "" -#: src/main.c:5986 src/main.c:5987 src/gui.c:1895 src/gui.c:3120 +#: src/main.c:5900 src/main.c:5901 src/gui.c:1861 src/gui.c:3072 #: src/saveplay.c:2169 msgid "Play" msgstr "播放" -#: src/main.c:6684 +#: src/main.c:6591 msgid "" "LiVES was unable to capture this image\n" "\n" @@ -685,34 +685,34 @@ "LiVES 无法捕获此图片\n" "\n" -#: src/main.c:6805 +#: src/main.c:6709 #, c-format msgid "Closed file %s\n" msgstr "已关闭文件 %s\n" -#: src/main.c:6987 src/gui.c:733 src/utils.c:4469 src/utils.c:4499 -#: src/saveplay.c:3335 src/multitrack.c:4679 src/multitrack.c:6679 +#: src/main.c:6885 src/gui.c:715 src/utils.c:4525 src/utils.c:4555 +#: src/saveplay.c:3334 src/multitrack.c:4577 src/multitrack.c:6544 msgid "_Undo" msgstr "撤消(_U)" -#: src/main.c:6988 src/gui.c:749 src/utils.c:4470 src/utils.c:4500 -#: src/saveplay.c:3336 src/multitrack.c:4699 src/multitrack.c:6702 +#: src/main.c:6886 src/gui.c:730 src/utils.c:4526 src/utils.c:4556 +#: src/saveplay.c:3335 src/multitrack.c:4596 src/multitrack.c:6567 msgid "_Redo" msgstr "重做(_R)" -#: src/main.c:7028 src/interface.c:353 src/gui.c:2038 src/resample.c:1486 +#: src/main.c:6925 src/interface.c:341 src/gui.c:2002 src/resample.c:1487 msgid "Video" msgstr "视频" -#: src/main.c:7029 src/interface.c:435 src/gui.c:2051 +#: src/main.c:6926 src/interface.c:446 src/gui.c:2015 msgid "Left Audio" msgstr "左声道" -#: src/main.c:7030 src/interface.c:475 src/gui.c:2065 +#: src/main.c:6927 src/interface.c:492 src/gui.c:2029 msgid "Right Audio" msgstr "右声道" -#: src/main.c:7078 +#: src/main.c:6973 #, fuzzy msgid "" "\n" @@ -897,7 +897,7 @@ msgid "Use _mplayer2 audio player" msgstr "音频播放器使用_mplayer" -#: src/startup.c:405 src/startup.c:583 src/interface.c:1345 +#: src/startup.c:405 src/startup.c:583 src/interface.c:1337 msgid "_Next" msgstr "下一步(_N)" @@ -1124,53 +1124,53 @@ msgid "_Finish" msgstr "完成(_F)" -#: src/interface.c:30 +#: src/interface.c:28 msgid "Let LiVES set the _file extension" msgstr "让 LiVES 自动选择文件(_f)扩展名" -#: src/interface.c:31 +#: src/interface.c:29 #, c-format msgid "Let LiVES set the _file extension (.%s)" msgstr "" -#: src/interface.c:46 +#: src/interface.c:42 msgid "Apply _Deinterlace" msgstr "" -#: src/interface.c:47 +#: src/interface.c:43 msgid "If this is set, frames will be deinterlaced as they are imported." msgstr "如果设置此项,视频在导入时将被反交错化。" -#: src/interface.c:92 src/callbacks.c:9431 src/callbacks.c:9453 -#: src/callbacks.c:9454 src/gui.c:3122 src/gui.c:3727 src/saveplay.c:2171 -#: src/saveplay.c:2924 src/dialogs.c:1643 src/dialogs.c:1644 src/dialogs.c:1916 -#: src/dialogs.c:1917 src/framedraw.c:201 src/multitrack.c:8264 +#: src/interface.c:85 src/callbacks.c:9185 src/callbacks.c:9207 +#: src/callbacks.c:9208 src/gui.c:3074 src/gui.c:3660 src/saveplay.c:2171 +#: src/saveplay.c:2925 src/dialogs.c:1552 src/dialogs.c:1553 src/dialogs.c:1812 +#: src/dialogs.c:1813 src/framedraw.c:202 src/multitrack.c:8065 msgid "Preview" msgstr "预览" -#: src/interface.c:116 +#: src/interface.c:107 msgid "Click here to _Preview any selected video, image or audio file" msgstr "点击此处预览(_P)选定的视频、图像或音频文件" -#: src/interface.c:118 +#: src/interface.c:109 msgid "Click here to _Preview any selected audio file" msgstr "点击此处预览(_P)任何选定的音频文件" -#: src/interface.c:120 +#: src/interface.c:111 msgid "Click here to _Preview the video" msgstr "点击此处预览(_P)视频" -#: src/interface.c:122 +#: src/interface.c:113 #, fuzzy msgid "Click here to _Preview the file" msgstr "点击此处预览(_P)视频" -#: src/interface.c:165 src/dialogs.c:2823 +#: src/interface.c:151 src/dialogs.c:2711 #, fuzzy msgid "Processing..." msgstr "LiVES: - 正在处理..." -#: src/interface.c:197 +#: src/interface.c:182 msgid "" "\n" "\n" @@ -1184,8 +1184,8 @@ "\n" "请不要忘记之后关闭效果(ctrl-0)!" -#: src/interface.c:202 src/callbacks.c:9163 src/callbacks.c:9215 -#: src/dialogs.c:2848 +#: src/interface.c:187 src/callbacks.c:8919 src/callbacks.c:8971 +#: src/dialogs.c:2736 msgid "" "\n" "Please Wait" @@ -1193,174 +1193,179 @@ "\n" "请稍候" -#: src/interface.c:221 +#: src/interface.c:206 msgid "Show Details" msgstr "" -#: src/interface.c:224 src/dialogs.c:2862 +#: src/interface.c:209 src/dialogs.c:2750 msgid "_Enough" msgstr "可以了(_E)" -#: src/interface.c:225 src/framedraw.c:251 +#: src/interface.c:210 src/framedraw.c:252 msgid "_Preview" msgstr "预览(_P)" -#: src/interface.c:227 src/callbacks.c:9162 src/callbacks.c:9213 +#: src/interface.c:212 src/callbacks.c:8918 src/callbacks.c:8969 msgid "Paus_e" msgstr "暂停(_E)" -#: src/interface.c:228 src/callbacks.c:9212 +#: src/interface.c:213 src/callbacks.c:8968 msgid "Pause/_Enough" msgstr "" -#: src/interface.c:256 +#: src/interface.c:240 msgid "_Cancel" msgstr "取消(_C)" -#: src/interface.c:334 +#: src/interface.c:324 #, fuzzy msgid "Multitrack Details" msgstr "多轨道细节(_D)" -#: src/interface.c:367 +#: src/interface.c:355 msgid "Format" msgstr "格式" -#: src/interface.c:372 +#: src/interface.c:364 msgid "Frame size" msgstr "帧尺寸" -#: src/interface.c:377 +#: src/interface.c:373 msgid "File size" msgstr "文件大小" -#: src/interface.c:378 +#: src/interface.c:374 msgid "Byte size" msgstr "字节大小" -#: src/interface.c:383 src/interface.c:1711 +#: src/interface.c:383 src/interface.c:1679 msgid "FPS" msgstr "帧每秒" -#: src/interface.c:388 +#: src/interface.c:392 msgid "Frames" msgstr "帧" -#: src/interface.c:389 +#: src/interface.c:393 msgid "Events" msgstr "事件" -#: src/interface.c:394 src/interface.c:452 src/interface.c:488 +#: src/interface.c:402 src/interface.c:463 src/interface.c:505 msgid "Total time" msgstr "总时间" -#: src/interface.c:436 src/resample.c:1321 +#: src/interface.c:447 src/resample.c:1322 msgid "Audio" msgstr "音频" -#: src/interface.c:463 src/interface.c:499 +#: src/interface.c:477 src/interface.c:520 msgid "Rate/size" msgstr "速率/尺寸" -#: src/interface.c:568 +#: src/interface.c:590 #, fuzzy msgid "Encoding Options" msgstr "LiVES: - 编码选项" -#: src/interface.c:572 +#: src/interface.c:594 msgid "<------------- (Check the box to re_size as suggested)" msgstr "" -#: src/interface.c:573 +#: src/interface.c:595 msgid "<------------- (Check the box to use the _size recommendation)" msgstr "" -#: src/interface.c:594 +#: src/interface.c:615 msgid "Use _letterboxing to maintain aspect ratio (optional)" msgstr "" -#: src/interface.c:595 +#: src/interface.c:616 msgid "" "Draw black rectangles either above or to the sides of the image, to prevent " "it from stretching." msgstr "" -#: src/interface.c:623 +#: src/interface.c:643 msgid "Keep _my settings" msgstr "记住我的设置(_M)" -#: src/interface.c:624 +#: src/interface.c:644 msgid "Use _recommended settings" msgstr "使用推荐设置(_R)" -#: src/interface.c:712 src/callbacks.c:8459 src/paramwindow.c:888 +#: src/interface.c:727 src/callbacks.c:8273 src/paramwindow.c:888 #: src/omc-learn.c:1386 msgid "_Close Window" msgstr "关闭窗口(_C)" -#: src/interface.c:714 +#: src/interface.c:729 msgid "_Save to file" msgstr "保存到文件(_S)" -#: src/interface.c:758 src/callbacks.c:3529 +#: src/interface.c:772 src/callbacks.c:3473 msgid "Insert" msgstr "插入" -#: src/interface.c:776 +#: src/interface.c:790 msgid "_Number of times to insert" msgstr "插入次数(_N)" -#: src/interface.c:787 +#: src/interface.c:801 msgid "_Insert to fit audio" msgstr "插入以适应音频(_I)" -#: src/interface.c:801 +#: src/interface.c:814 msgid "Insert _before selection" msgstr "插入到选区前(_B)" -#: src/interface.c:803 +#: src/interface.c:816 msgid "Insert clipboard before selected frames" msgstr "插入剪切板内容到选定帧之前" -#: src/interface.c:820 +#: src/interface.c:833 msgid "Insert _after selection" msgstr "插入到选区后(_A)" -#: src/interface.c:822 +#: src/interface.c:835 msgid "Insert clipboard after selected frames" msgstr "插入剪切板内容到选定帧之后" -#: src/interface.c:833 +#: src/interface.c:846 +#, fuzzy +msgid "Insert _with silence" +msgstr "带声音插入(_W)" + +#: src/interface.c:849 msgid "Insert _with sound" msgstr "带声音插入(_W)" -#: src/interface.c:846 +#: src/interface.c:862 msgid "Insert with_out sound" msgstr "不带声音插入(_O)" -#: src/interface.c:924 +#: src/interface.c:937 #, fuzzy msgid "Open Selection" msgstr "_复制选择" -#: src/interface.c:943 +#: src/interface.c:954 msgid "Selection start time (sec)" msgstr "" -#: src/interface.c:949 +#: src/interface.c:960 msgid "Number of frames to open" msgstr "" -#: src/interface.c:1023 +#: src/interface.c:1029 #, fuzzy msgid "Open Location" msgstr "LiVES: - 打开位置" -#: src/interface.c:1025 +#: src/interface.c:1031 msgid "Open Youtube Clip" msgstr "" -#: src/interface.c:1045 +#: src/interface.c:1050 #, fuzzy msgid "" "\n" @@ -1376,7 +1381,7 @@ "并保证在 首选向|流媒体 中设置了带宽\n" "\n" -#: src/interface.c:1049 +#: src/interface.c:1054 msgid "" "\n" "\n" @@ -1385,72 +1390,72 @@ "\n" msgstr "" -#: src/interface.c:1054 +#: src/interface.c:1059 msgid "" "Enter the URL of the clip below.\n" "E.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n" "\n" msgstr "" -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "URL : " msgstr "URL : " -#: src/interface.c:1065 +#: src/interface.c:1070 msgid "Youtube URL : " msgstr "" -#: src/interface.c:1069 +#: src/interface.c:1075 msgid "Do not send bandwidth information" msgstr "不发送带宽信息" -#: src/interface.c:1071 +#: src/interface.c:1077 msgid "Try this setting if you are having problems getting a stream" msgstr "如果获取流媒体有问题是请尝试此选项" -#: src/interface.c:1093 +#: src/interface.c:1098 msgid "Download to _Directory : " msgstr "" -#: src/interface.c:1111 +#: src/interface.c:1115 msgid "Download _File Name : " msgstr "" -#: src/interface.c:1116 +#: src/interface.c:1120 msgid ".webm" msgstr "" -#: src/interface.c:1188 +#: src/interface.c:1189 #, fuzzy msgid "Rename Clip" msgstr "粘贴" -#: src/interface.c:1190 +#: src/interface.c:1191 #, fuzzy msgid "Enter Set Name to Save as" msgstr "LiVES: - 输入场景名" -#: src/interface.c:1192 +#: src/interface.c:1193 #, fuzzy msgid "Enter a Set Name to Reload" msgstr "LiVES: - 输入场景名" -#: src/interface.c:1194 +#: src/interface.c:1195 #, fuzzy msgid "Choose a Working Directory" msgstr "LiVES: - 选择工作目录" -#: src/interface.c:1196 src/multitrack.c:7211 +#: src/interface.c:1197 src/multitrack.c:7056 #, fuzzy msgid "Rename Current Track" msgstr "选择当前轨道(_S)" -#: src/interface.c:1198 +#: src/interface.c:1199 #, fuzzy msgid "Enter a Name for Your Theme" msgstr "LiVES: - 输入场景名" -#: src/interface.c:1218 +#: src/interface.c:1219 msgid "" "You need to enter a name for the current clip set.\n" "This will allow you reload the layout with the same clips later.\n" @@ -1462,7 +1467,7 @@ "请输入您希望使用的场景名字。\n" "LiVES 将会在稍后退出时提示您保存剪辑场景。\n" -#: src/interface.c:1225 +#: src/interface.c:1226 msgid "" "In order to export this project, you must enter a name for this clip set.\n" "This will also be used for the project name.\n" @@ -1487,220 +1492,220 @@ "This should be a directory with plenty of disk space available.\n" msgstr "" -#: src/interface.c:1253 +#: src/interface.c:1251 msgid "New name " msgstr "新名称 " -#: src/interface.c:1255 +#: src/interface.c:1253 msgid "Set name " msgstr "场景名 " -#: src/interface.c:1257 +#: src/interface.c:1255 #, fuzzy msgid "Theme name " msgstr "新名称 " -#: src/interface.c:1321 +#: src/interface.c:1316 msgid "Save extended colors" msgstr "" -#: src/interface.c:1382 +#: src/interface.c:1374 msgid "Use def_aults" msgstr "用默认值(_A)" -#: src/interface.c:1384 src/interface.c:1660 src/preferences.c:2908 -#: src/preferences.c:3098 +#: src/interface.c:1376 src/interface.c:1632 src/preferences.c:2789 +#: src/preferences.c:2948 msgid "_Advanced" msgstr "高级(_A)" -#: src/interface.c:1437 +#: src/interface.c:1425 #, fuzzy msgid "Select input device" msgstr "选择输入设备:" -#: src/interface.c:1454 +#: src/interface.c:1442 msgid "Select input device:" msgstr "选择输入设备:" -#: src/interface.c:1517 +#: src/interface.c:1505 #, fuzzy msgid "Load CD Track" msgstr "LiVES:- 载入 CD 音轨" -#: src/interface.c:1519 +#: src/interface.c:1507 #, fuzzy msgid "Select DVD Title/Chapter" msgstr "LiVES:- 选择 DVD 标题/章节" -#: src/interface.c:1521 +#: src/interface.c:1509 #, fuzzy msgid "Select VCD Title" msgstr "LiVES:- 选择 VCD 标题" -#: src/interface.c:1523 +#: src/interface.c:1511 #, fuzzy msgid "Change Maximum Visible Tracks" msgstr "LiVES:- 更改最大可见Change Maximum Visible Tracks" -#: src/interface.c:1525 +#: src/interface.c:1513 #, fuzzy msgid "Device details" msgstr "LiVES:-设备明细" -#: src/interface.c:1549 +#: src/interface.c:1536 #, c-format msgid "Track to load (from %s)" msgstr "载入音轨 (从 %s)" -#: src/interface.c:1551 +#: src/interface.c:1538 msgid "DVD Title" msgstr "DVD 标题" -#: src/interface.c:1553 +#: src/interface.c:1540 msgid "VCD Title" msgstr "VCD 标题" -#: src/interface.c:1555 +#: src/interface.c:1542 msgid "Maximum number of tracks to display" msgstr "显示的最大音轨数" -#: src/interface.c:1557 +#: src/interface.c:1544 msgid "Device: /dev/video" msgstr "设备:/dev/video" -#: src/interface.c:1559 +#: src/interface.c:1546 msgid "Device: fw:" msgstr "设备: fw:" -#: src/interface.c:1592 +#: src/interface.c:1576 msgid "Chapter " msgstr "章 " -#: src/interface.c:1596 +#: src/interface.c:1580 msgid "Channel " msgstr "通道 " -#: src/interface.c:1611 +#: src/interface.c:1594 msgid "Audio ID " msgstr "音频 ID " -#: src/interface.c:1677 +#: src/interface.c:1646 msgid "Input number" msgstr "输入数字" -#: src/interface.c:1685 +#: src/interface.c:1653 msgid "Use default width, height and FPS" msgstr "使用默认的宽度、高度和帧率" -#: src/interface.c:1699 +#: src/interface.c:1667 msgid "Width" msgstr "宽度" -#: src/interface.c:1705 +#: src/interface.c:1673 msgid "Height" msgstr "高度" -#: src/interface.c:1719 +#: src/interface.c:1687 msgid "_Driver" msgstr "" -#: src/interface.c:1722 +#: src/interface.c:1690 msgid "_Output format" msgstr "" -#: src/interface.c:1815 +#: src/interface.c:1778 #, fuzzy msgid "Fade Audio In" msgstr "淡入音频" -#: src/interface.c:1817 +#: src/interface.c:1780 #, fuzzy msgid "Fade Audio Out" msgstr "淡出音频" -#: src/interface.c:1834 +#: src/interface.c:1797 msgid "Fade in over " msgstr "结束时淡出 " -#: src/interface.c:1835 +#: src/interface.c:1798 msgid "first" msgstr "第一个" -#: src/interface.c:1837 +#: src/interface.c:1800 msgid "Fade out over " msgstr "渐弱结束 " -#: src/interface.c:1838 +#: src/interface.c:1801 msgid "last" msgstr "最后一个" -#: src/interface.c:1860 +#: src/interface.c:1821 msgid "seconds." msgstr "秒。" -#: src/interface.c:1868 src/saveplay.c:1432 +#: src/interface.c:1829 src/saveplay.c:1432 msgid "selection" msgstr "选区" -#: src/interface.c:1909 +#: src/interface.c:1865 #, fuzzy msgid " (Optional)" msgstr "选项(_O)" -#: src/interface.c:1912 +#: src/interface.c:1868 #, fuzzy, c-format msgid "File Comments%s" msgstr "LiVES: - 文件注释(可选)" -#: src/interface.c:1927 +#: src/interface.c:1882 #, fuzzy, c-format msgid "File Name: %s" msgstr "标题/名称: " -#: src/interface.c:1940 +#: src/interface.c:1894 msgid "Title/Name : " msgstr "标题/名称: " -#: src/interface.c:1948 +#: src/interface.c:1901 msgid "Author/Artist : " msgstr "作者/艺术家: " -#: src/interface.c:1955 +#: src/interface.c:1908 msgid "Comments : " msgstr "评论: " -#: src/interface.c:1990 +#: src/interface.c:1943 msgid "Save _subtitles to file" msgstr "将字幕保存到文件(_S)" -#: src/interface.c:2001 +#: src/interface.c:1953 msgid "Subtitle file" msgstr "字幕文件" -#: src/interface.c:2003 +#: src/interface.c:1955 msgid "Browse..." msgstr "浏览…" -#: src/interface.c:2041 +#: src/interface.c:1992 msgid "_Options" msgstr "选项(_O)" -#: src/interface.c:2109 +#: src/interface.c:2058 #, c-format msgid "%sChoose a Device" msgstr "" -#: src/interface.c:2112 +#: src/interface.c:2061 #, fuzzy, c-format msgid "%sChoose a Directory" msgstr "LiVES: - 选择工作目录" -#: src/interface.c:2114 +#: src/interface.c:2063 #, c-format msgid "%sChoose a File" msgstr "" -#: src/interface.c:2397 +#: src/interface.c:2328 msgid "" "You are about to leave multitrack mode.\n" "The current layout has not been saved.\n" @@ -1710,7 +1715,7 @@ "当前布局(layout)还没有保存。\n" "你打算保存吗?\n" -#: src/interface.c:2400 +#: src/interface.c:2331 msgid "" "You are about to leave multitrack mode.\n" "The current layout has been changed since the last save.\n" @@ -1720,7 +1725,7 @@ "当前布局(layout)至上一次保存已经有改动。\n" "你打算保存吗?\n" -#: src/interface.c:2404 +#: src/interface.c:2335 msgid "" "You are about to exit LiVES.\n" "The current clip set can be saved.\n" @@ -1730,7 +1735,7 @@ "当前剪辑设置可以保存。\n" "您打算保存吗?\n" -#: src/interface.c:2405 +#: src/interface.c:2336 msgid "" "The current clip set has not been saved.\n" "What would you like to do ?\n" @@ -1738,7 +1743,7 @@ "目前的剪辑尚未保存。\n" "你打算保存吗?\n" -#: src/interface.c:2408 +#: src/interface.c:2339 msgid "" "The current layout has not been saved.\n" "What would you like to do ?\n" @@ -1746,7 +1751,7 @@ "当前的布局尚未保存。\n" "你打算保存吗?\n" -#: src/interface.c:2410 +#: src/interface.c:2341 #, fuzzy msgid "" "The current layout has *NOT BEEN CHANGED* since it was last saved.\n" @@ -1755,7 +1760,7 @@ "当前的布局尚未保存。\n" "你打算保存吗?\n" -#: src/interface.c:2414 +#: src/interface.c:2345 msgid "" "You are about to leave multitrack mode.\n" "The current layout contains generated frames and cannot be retained.\n" @@ -1765,44 +1770,44 @@ "当前的布局包含生成的帧,并且不能保留。\n" "你打算做什么?" -#: src/interface.c:2417 +#: src/interface.c:2348 #, fuzzy msgid "Cancel/Discard/Save" msgstr "LiVES: - 取消/放弃/保存" -#: src/interface.c:2430 +#: src/interface.c:2360 msgid "Clip set _name" msgstr "" -#: src/interface.c:2436 +#: src/interface.c:2366 msgid "_Auto reload next time" msgstr "_下一次自动加载" -#: src/interface.c:2472 src/interface.c:2481 +#: src/interface.c:2402 src/interface.c:2411 msgid "_Wipe layout" msgstr "_擦除布局" -#: src/interface.c:2473 +#: src/interface.c:2403 msgid "_Ignore changes" msgstr "_忽略的变化" -#: src/interface.c:2474 +#: src/interface.c:2404 msgid "_Delete clip set" msgstr "_夹上删除" -#: src/interface.c:2475 +#: src/interface.c:2405 msgid "_Delete layout" msgstr "_删除布局" -#: src/interface.c:2479 +#: src/interface.c:2409 msgid "_Save layout" msgstr "_保存布局" -#: src/interface.c:2480 +#: src/interface.c:2410 msgid "_Save clip set" msgstr "_夹上保存" -#: src/interface.c:2501 +#: src/interface.c:2429 msgid "" "\n" "LiVES has detected a multitrack layout from a previous session.\n" @@ -1812,35 +1817,35 @@ "LiVES检测到先前的多轨布局\n" "你要恢复到这个布局吗?\n" -#: src/interface.c:2527 +#: src/interface.c:2455 msgid "Disk Recovery Options" msgstr "" -#: src/interface.c:2548 +#: src/interface.c:2475 msgid "Delete _Orphaned Clips" msgstr "" -#: src/interface.c:2549 +#: src/interface.c:2476 msgid "Delete any clips which are not currently loaded or part of a set" msgstr "" -#: src/interface.c:2563 +#: src/interface.c:2490 msgid "Clear _Backup Files from Closed Clips" msgstr "" -#: src/interface.c:2574 +#: src/interface.c:2501 msgid "Remove Sets which have _Layouts but no Clips" msgstr "" -#: src/interface.c:2583 +#: src/interface.c:2510 msgid "_Reset to Defaults" msgstr "" -#: src/interface.c:2696 +#: src/interface.c:2616 msgid "Show Keys" msgstr "显示键" -#: src/interface.c:2703 +#: src/interface.c:2623 msgid "" "You can use the following keys during playback to control LiVES:-\n" "\n" @@ -1848,348 +1853,348 @@ "-----------------------\n" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "ctrl-left" msgstr "" -#: src/interface.c:2708 +#: src/interface.c:2627 msgid "skip back\n" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 msgid "ctrl-right" msgstr "" -#: src/interface.c:2711 +#: src/interface.c:2630 #, fuzzy msgid "skip forwards\n" msgstr "已跳过" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "ctrl-up" msgstr "" -#: src/interface.c:2714 +#: src/interface.c:2633 msgid "faster/increase effect\n" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "ctrl-down" msgstr "" -#: src/interface.c:2717 +#: src/interface.c:2636 msgid "slower/decrease effect\n" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 msgid "ctrl-enter" msgstr "" -#: src/interface.c:2720 +#: src/interface.c:2639 #, fuzzy msgid "reset frame rate\n" msgstr "首帧" -#: src/interface.c:2723 src/interface.c:2852 +#: src/interface.c:2642 src/interface.c:2771 msgid "ctrl-space" msgstr "" -#: src/interface.c:2723 +#: src/interface.c:2642 msgid "reverse direction\n" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "ctrl-alt-space" msgstr "" -#: src/interface.c:2726 +#: src/interface.c:2645 msgid "reverse direction (background clip)\n" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "ctrl-backspace" msgstr "" -#: src/interface.c:2729 +#: src/interface.c:2648 msgid "freeze frame\n" msgstr "" -#: src/interface.c:2732 +#: src/interface.c:2651 msgid "nervous\n" msgstr "" -#: src/interface.c:2735 src/interface.c:2846 +#: src/interface.c:2654 src/interface.c:2765 msgid "ctrl-page-up" msgstr "" -#: src/interface.c:2735 +#: src/interface.c:2654 msgid "previous clip\n" msgstr "" -#: src/interface.c:2738 src/interface.c:2849 +#: src/interface.c:2657 src/interface.c:2768 msgid "ctrl-page-down" msgstr "" -#: src/interface.c:2738 +#: src/interface.c:2657 msgid "next clip\n" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 msgid "ctrl-1" msgstr "" -#: src/interface.c:2743 +#: src/interface.c:2662 #, fuzzy msgid "toggle real-time effect 1\n" msgstr "正在加载实时效果插件..." -#: src/interface.c:2746 +#: src/interface.c:2665 msgid "ctrl-2" msgstr "" -#: src/interface.c:2746 +#: src/interface.c:2665 #, fuzzy msgid "toggle real-time effect 2\n" msgstr "正在加载实时效果插件..." -#: src/interface.c:2749 src/interface.c:2777 +#: src/interface.c:2668 src/interface.c:2698 msgid "...etc...\n" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 msgid "ctrl-0" msgstr "" -#: src/interface.c:2751 +#: src/interface.c:2670 #, fuzzy msgid "real-time effects off\n" msgstr "关闭所有效果。" -#: src/interface.c:2754 +#: src/interface.c:2673 msgid "swap background/foreground\n" msgstr "" -#: src/interface.c:2759 +#: src/interface.c:2678 msgid "grab keyboard for last activated effect\n" msgstr "" -#: src/interface.c:2762 +#: src/interface.c:2681 msgid "switch effect mode (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2765 +#: src/interface.c:2685 msgid "enter text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2688 msgid "tab" msgstr "" -#: src/interface.c:2768 +#: src/interface.c:2689 msgid "leave text parameter (when effect has keyboard grab)\n" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "f1" msgstr "" -#: src/interface.c:2771 +#: src/interface.c:2692 msgid "store/switch to clip mnemonic 1\n" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "f2" msgstr "" -#: src/interface.c:2774 +#: src/interface.c:2695 msgid "store/switch to clip mnemonic 2\n" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "f12" msgstr "" -#: src/interface.c:2779 +#: src/interface.c:2700 msgid "clear function keys\n" msgstr "" -#: src/interface.c:2785 +#: src/interface.c:2706 msgid "Other playback keys\n" msgstr "" -#: src/interface.c:2789 +#: src/interface.c:2710 #, fuzzy msgid "play all\n" msgstr "播放所有" -#: src/interface.c:2792 +#: src/interface.c:2713 #, fuzzy msgid "play selection\n" msgstr "播放选择" -#: src/interface.c:2795 +#: src/interface.c:2716 msgid "stop\n" msgstr "" -#: src/interface.c:2798 +#: src/interface.c:2719 #, fuzzy msgid "fullscreen\n" msgstr "全屏(_F)" -#: src/interface.c:2801 +#: src/interface.c:2722 #, fuzzy msgid "separate window\n" msgstr "在单独的窗口中播放 (s)" -#: src/interface.c:2804 +#: src/interface.c:2725 #, fuzzy msgid "double size\n" msgstr "_双倍大小" -#: src/interface.c:2807 +#: src/interface.c:2728 #, fuzzy msgid "ping pong loops\n" msgstr "乒乓循环(_G)" -#: src/interface.c:2816 +#: src/interface.c:2735 msgid "Multitrack Keys" msgstr "多轨钥匙" -#: src/interface.c:2825 +#: src/interface.c:2744 msgid "" "You can use the following keys to control the multitrack window:-\n" "-----------------------\n" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "ctrl-left-arrow" msgstr "" -#: src/interface.c:2828 +#: src/interface.c:2747 msgid "move timeline cursor left 1 second\n" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "ctrl-right-arrow" msgstr "" -#: src/interface.c:2831 +#: src/interface.c:2750 msgid "move timeline cursor right 1 second\n" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "shift-left-arrow" msgstr "" -#: src/interface.c:2834 +#: src/interface.c:2753 msgid "move timeline cursor left 1 frame\n" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "shift-right-arrow" msgstr "" -#: src/interface.c:2837 +#: src/interface.c:2756 msgid "move timeline cursor right 1 frame\n" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 msgid "ctrl-up-arrow" msgstr "" -#: src/interface.c:2840 +#: src/interface.c:2759 #, fuzzy msgid "move current track up\n" msgstr "选择当前轨道(_S)" -#: src/interface.c:2843 +#: src/interface.c:2762 msgid "ctrl-down-arrow" msgstr "" -#: src/interface.c:2843 +#: src/interface.c:2762 #, fuzzy msgid "move current track down\n" msgstr "选择当前轨道(_S)" -#: src/interface.c:2846 +#: src/interface.c:2765 msgid "select previous clip\n" msgstr "" -#: src/interface.c:2849 +#: src/interface.c:2768 #, fuzzy msgid "select next clip\n" msgstr "LiVES:已选剪辑" -#: src/interface.c:2852 +#: src/interface.c:2771 #, fuzzy msgid "select/deselect current track\n" msgstr "选择当前轨道(_S)" -#: src/interface.c:2855 +#: src/interface.c:2774 msgid "ctrl-plus" msgstr "" -#: src/interface.c:2855 +#: src/interface.c:2774 #, fuzzy msgid "zoom in\n" msgstr "拉近(_Z)" -#: src/interface.c:2858 +#: src/interface.c:2777 msgid "ctrl-minus" msgstr "" -#: src/interface.c:2858 +#: src/interface.c:2777 #, fuzzy msgid "zoom out\n" msgstr "推远(_Z)" -#: src/interface.c:2861 +#: src/interface.c:2780 #, fuzzy msgid "make a mark on the timeline (during playback)\n" msgstr "要在时间线上做标记" -#: src/interface.c:2864 +#: src/interface.c:2783 #, fuzzy msgid "rewind to play start.\n" msgstr "倒带启动 (w)" -#: src/interface.c:2869 +#: src/interface.c:2788 msgid "For other keys, see the menus.\n" msgstr "" -#: src/callbacks.c:58 +#: src/callbacks.c:57 #, c-format msgid "'LiVES opened the clip set' '%s'" msgstr "" -#: src/callbacks.c:66 +#: src/callbacks.c:65 #, c-format msgid "'LiVES saved the clip set' '%s'" msgstr "" -#: src/callbacks.c:211 +#: src/callbacks.c:207 #, c-format msgid "Saving as set %s..." msgstr "将场景保存为 %s..." -#: src/callbacks.c:828 +#: src/callbacks.c:806 msgid "Please enter the name of the file to save the clip as.\n" msgstr "" -#: src/callbacks.c:836 +#: src/callbacks.c:814 msgid "Please enter a valid URL for the download.\n" msgstr "" -#: src/callbacks.c:862 +#: src/callbacks.c:840 #, c-format msgid "Downloading %s to %s..." msgstr "" -#: src/callbacks.c:895 +#: src/callbacks.c:873 msgid "Downloading clip" msgstr "" -#: src/callbacks.c:919 +#: src/callbacks.c:897 msgid "" "\n" "LiVES was unable to download the clip.\n" @@ -2197,16 +2202,16 @@ "the latest youtube-dl installed.\n" msgstr "" -#: src/callbacks.c:1026 +#: src/callbacks.c:997 #, c-format msgid "Layouts were removed for set %s.\n" msgstr "" -#: src/callbacks.c:1059 src/callbacks.c:1086 +#: src/callbacks.c:1030 src/callbacks.c:1057 msgid "This file" msgstr "文件" -#: src/callbacks.c:1060 +#: src/callbacks.c:1031 msgid "" ",\n" " - including the current layout - " @@ -2214,7 +2219,7 @@ ",\n" " - 包括当前的布局 - " -#: src/callbacks.c:1062 +#: src/callbacks.c:1033 #, c-format msgid "" "\n" @@ -2229,7 +2234,7 @@ "\n" "确实要关闭吗?" -#: src/callbacks.c:1064 +#: src/callbacks.c:1035 #, c-format msgid "" "\n" @@ -2244,7 +2249,7 @@ "\n" "确实要关闭吗?" -#: src/callbacks.c:1087 +#: src/callbacks.c:1058 msgid "" "Changes made to this clip have not been saved or backed up.\n" "\n" @@ -2253,7 +2258,7 @@ "对此剪辑所做的更改还未保存或备份。\n" "真的要关闭吗?" -#: src/callbacks.c:1228 +#: src/callbacks.c:1196 msgid "" "\n" "Invalid project file.\n" @@ -2261,7 +2266,7 @@ "\n" "无效的项目文件。\n" -#: src/callbacks.c:1242 +#: src/callbacks.c:1210 #, c-format msgid "" "\n" @@ -2281,54 +2286,54 @@ "然后通过 文件|关闭/保存所有剪辑 并且提供新的场景名称或者忽略。\n" "一旦你完成这些,你就可以导入新工程了。.\n" -#: src/callbacks.c:1255 +#: src/callbacks.c:1223 #, c-format msgid "Importing the project %s as set %s..." msgstr "导入工程 %s 为场景 %s..." -#: src/callbacks.c:1273 +#: src/callbacks.c:1241 msgid "Importing project" msgstr "导入项目" -#: src/callbacks.c:1352 +#: src/callbacks.c:1319 #, c-format msgid "Exporting project %s..." msgstr "导出工程为%s..." -#: src/callbacks.c:1368 +#: src/callbacks.c:1335 msgid "Exporting project" msgstr "导出工程" -#: src/callbacks.c:1403 src/callbacks.c:1597 +#: src/callbacks.c:1369 src/callbacks.c:1558 #, fuzzy msgid "Theme" msgstr "新名称 " -#: src/callbacks.c:1408 +#: src/callbacks.c:1374 msgid "Choose a directory to export to" msgstr "" -#: src/callbacks.c:1486 +#: src/callbacks.c:1450 #, fuzzy, c-format msgid "Exporting theme as %s..." msgstr "导出工程为%s..." -#: src/callbacks.c:1593 +#: src/callbacks.c:1554 #, fuzzy, c-format msgid "Importing theme \"%s\" from %s..." msgstr "导出工程为%s..." -#: src/callbacks.c:1670 +#: src/callbacks.c:1629 #, fuzzy, c-format msgid "Backup as %s File" msgstr "备份为 .lv1文件" -#: src/callbacks.c:1693 +#: src/callbacks.c:1651 #, fuzzy, c-format msgid "Restore %s File" msgstr "恢复 .lv1文件" -#: src/callbacks.c:1838 +#: src/callbacks.c:1793 msgid "" "\n" "\n" @@ -2340,94 +2345,94 @@ "设置将被删除从磁盘。\n" "你确定吗?\n" -#: src/callbacks.c:1880 +#: src/callbacks.c:1835 #, c-format msgid "Deleting set %s..." msgstr "" -#: src/callbacks.c:1882 +#: src/callbacks.c:1837 msgid "Deleting set..." msgstr "删除设置..." -#: src/callbacks.c:1886 +#: src/callbacks.c:1841 msgid "Deleting set" msgstr "删除设置" -#: src/callbacks.c:1894 +#: src/callbacks.c:1849 #, c-format msgid "Set %s was permanently deleted from the disk.\n" msgstr "%s的设置永久删除磁盘。\n" -#: src/callbacks.c:1943 src/callbacks.c:11548 src/resample.c:1206 +#: src/callbacks.c:1896 src/callbacks.c:11251 src/resample.c:1207 msgid "Insert Silence" msgstr "插入沉默" -#: src/callbacks.c:1996 src/callbacks.c:2079 src/callbacks.c:2241 +#: src/callbacks.c:1949 src/callbacks.c:2030 src/callbacks.c:2192 msgid "Undoing" msgstr "撤消" -#: src/callbacks.c:2092 src/callbacks.c:2302 +#: src/callbacks.c:2043 src/callbacks.c:2253 msgid "Restoring audio..." msgstr "还原音频..." -#: src/callbacks.c:2108 +#: src/callbacks.c:2059 msgid "Clearing frame images" msgstr "结算帧图像" -#: src/callbacks.c:2140 +#: src/callbacks.c:2091 msgid "Deleting excess frames" msgstr "删除多余的帧" -#: src/callbacks.c:2384 +#: src/callbacks.c:2334 #, c-format msgid "Length of video is now %d frames at %.3f frames per second.\n" msgstr "视频长度现在为 %d帧,播放速度为 %.3f帧/秒。\n" -#: src/callbacks.c:2387 src/resample.c:718 src/resample.c:2115 +#: src/callbacks.c:2337 src/resample.c:719 src/resample.c:2121 #, c-format msgid "Clipboard was resampled to %d frames.\n" msgstr "剪贴板已经被重新取样为 %d 帧\n" -#: src/callbacks.c:2548 src/callbacks.c:2577 +#: src/callbacks.c:2498 src/callbacks.c:2527 msgid "Redoing" msgstr "重做" -#: src/callbacks.c:2624 +#: src/callbacks.c:2573 #, fuzzy, c-format msgid "Copying frames %d to %d (with sound) to the clipboard..." msgstr "正在将%d 到 %d%s 帧拷贝到剪贴板……" -#: src/callbacks.c:2626 +#: src/callbacks.c:2575 #, fuzzy, c-format msgid "Copying frames %d to %d to the clipboard..." msgstr "正在将%d 到 %d%s 帧拷贝到剪贴板……" -#: src/callbacks.c:2680 +#: src/callbacks.c:2629 msgid "Copying to the clipboard" msgstr "正在拷贝到剪贴板……" -#: src/callbacks.c:2743 +#: src/callbacks.c:2692 msgid "Cut" msgstr "剪切" -#: src/callbacks.c:2784 src/callbacks.c:3185 src/callbacks.c:7534 +#: src/callbacks.c:2733 src/callbacks.c:3131 src/callbacks.c:7369 msgid "Pulling frames from clipboard" msgstr "" -#: src/callbacks.c:2797 +#: src/callbacks.c:2746 #, c-format msgid "Pasting %d frames to new clip %s..." msgstr "正在粘贴 %d 帧至新剪辑 %s ..." -#: src/callbacks.c:2819 +#: src/callbacks.c:2768 msgid "Pasting" msgstr "粘贴" -#: src/callbacks.c:2835 +#: src/callbacks.c:2784 msgid "...added audio..." msgstr "...已添加音频..." -#: src/callbacks.c:2918 +#: src/callbacks.c:2866 msgid "" "This operation requires resizing or converting of frames.\n" "Please install 'convert' from the Image-magick package, and then restart " @@ -2436,7 +2441,7 @@ "此操作需要调整帧尺寸或转换帧。\n" "请安装 Image-magick 软件包中的“convert”程序并重新启动 LiVES。\n" -#: src/callbacks.c:2944 +#: src/callbacks.c:2893 msgid "" "\n" "\n" @@ -2450,7 +2455,7 @@ "请尝试选择所有帧,然后使用 \n" "音频菜单中的“剪切音频”功能。" -#: src/callbacks.c:2964 +#: src/callbacks.c:2912 msgid "" "LiVES cannot insert because the audio rates do not match.\n" "Please install 'sox', and try again." @@ -2458,7 +2463,7 @@ "无法插入因为音频码率不符。\n" "请安装“sox”后重试。" -#: src/callbacks.c:2982 +#: src/callbacks.c:2929 msgid "" "\n" "Insertion will cause frames to shift in some multitrack layouts.\n" @@ -2468,7 +2473,7 @@ "插入帧将导致一些转向多轨布局。\n" "您确定要继续吗?\n" -#: src/callbacks.c:3018 src/callbacks.c:11477 +#: src/callbacks.c:2965 src/callbacks.c:11180 msgid "" "\n" "Insertion will cause audio to shift in some multitrack layouts.\n" @@ -2478,11 +2483,11 @@ "插入音频会导致一些转移多轨布局。\n" "您确定要继续吗?\n" -#: src/callbacks.c:3109 src/callbacks.c:3138 +#: src/callbacks.c:3056 src/callbacks.c:3085 msgid "Resampling clipboard audio" msgstr "音频重采样剪贴板" -#: src/callbacks.c:3154 +#: src/callbacks.c:3101 msgid "" "\n" "\n" @@ -2494,7 +2499,7 @@ "无法重采样剪切板中的音频。 \n" "剪切板中的音频已经被清除。\n" -#: src/callbacks.c:3167 +#: src/callbacks.c:3114 msgid "" "\n" "\n" @@ -2503,32 +2508,32 @@ "using unchanged audio ?\n" msgstr "" -#: src/callbacks.c:3254 src/callbacks.c:3424 +#: src/callbacks.c:3201 src/callbacks.c:3371 #, c-format msgid "Inserting %d%s frames from the clipboard..." msgstr "正在从剪切板中插入 %d%s 帧..." -#: src/callbacks.c:3277 src/callbacks.c:3346 src/callbacks.c:3450 +#: src/callbacks.c:3224 src/callbacks.c:3292 src/callbacks.c:3397 msgid "Inserting" msgstr "正在插入" -#: src/callbacks.c:3309 +#: src/callbacks.c:3255 #, c-format msgid "Inserting %d times from the clipboard%s..." msgstr "" -#: src/callbacks.c:3313 +#: src/callbacks.c:3259 #, c-format msgid "Inserting %d frames from the clipboard%s..." msgstr "" -#: src/callbacks.c:3364 src/callbacks.c:7956 src/callbacks.c:8011 -#: src/callbacks.c:8257 src/callbacks.c:8299 src/callbacks.c:8342 -#: src/callbacks.c:10668 +#: src/callbacks.c:3310 src/callbacks.c:7779 src/callbacks.c:7833 +#: src/callbacks.c:8073 src/callbacks.c:8115 src/callbacks.c:8158 +#: src/callbacks.c:10390 msgid "Cancelling" msgstr "正在取消" -#: src/callbacks.c:3596 +#: src/callbacks.c:3538 msgid "" "\n" "Deleting all frames will close this file.\n" @@ -2538,7 +2543,7 @@ "删除所有的帧将关闭该文件。\n" "你确定吗?" -#: src/callbacks.c:3605 +#: src/callbacks.c:3547 msgid "" "\n" "Deletion will cause missing frames in some multitrack layouts.\n" @@ -2548,8 +2553,8 @@ "删除将导致丢失一些多轨布局框架。\n" "您确定要继续吗?\n" -#: src/callbacks.c:3621 src/callbacks.c:10753 src/callbacks.c:10977 -#: src/callbacks.c:11030 +#: src/callbacks.c:3563 src/callbacks.c:10474 src/callbacks.c:10691 +#: src/callbacks.c:10744 msgid "" "\n" "Deletion will cause missing audio in some multitrack layouts.\n" @@ -2559,7 +2564,7 @@ "删除会导致一些失踪的多轨音频布局。\n" "您确定要继续吗?\n" -#: src/callbacks.c:3636 +#: src/callbacks.c:3578 msgid "" "\n" "Deletion will cause frames to shift in some multitrack layouts.\n" @@ -2569,7 +2574,7 @@ "帧删除会导致一些转移多轨布局。\n" "您确定要继续吗?\n" -#: src/callbacks.c:3651 src/callbacks.c:11016 +#: src/callbacks.c:3593 src/callbacks.c:10730 msgid "" "\n" "Deletion will cause audio to shift in some multitrack layouts.\n" @@ -2579,20 +2584,20 @@ "删除会导致音频转向一些多轨布局。\n" "您确定要继续吗?\n" -#: src/callbacks.c:3699 +#: src/callbacks.c:3641 #, c-format msgid "Deleting frames %d to %d%s..." msgstr "正在删除帧 %d 到 %d%s..." -#: src/callbacks.c:3721 +#: src/callbacks.c:3663 msgid "Deleting" msgstr "删除中" -#: src/callbacks.c:3801 +#: src/callbacks.c:3743 msgid "Delete" msgstr "删除" -#: src/callbacks.c:3819 +#: src/callbacks.c:3760 msgid "" "\n" "\n" @@ -2602,7 +2607,7 @@ "\n" "选择被锁定。\n" -#: src/callbacks.c:4149 +#: src/callbacks.c:4085 msgid "" "Ready to record. Use 'control' and cursor keys during playback to record " "your performance.\n" @@ -2610,11 +2615,11 @@ "play.)\n" msgstr "" -#: src/callbacks.c:4155 +#: src/callbacks.c:4091 msgid "Record cancelled.\n" msgstr "记录取消。\n" -#: src/callbacks.c:4289 +#: src/callbacks.c:4216 #, c-format msgid "" "\n" @@ -2627,7 +2632,7 @@ "插件 '%s' 报告:\n" "%s\n" -#: src/callbacks.c:4292 +#: src/callbacks.c:4219 #, c-format msgid "" "\n" @@ -2636,7 +2641,7 @@ "The plugin may be broken or not installed correctly." msgstr "" -#: src/callbacks.c:4626 +#: src/callbacks.c:4548 #, c-format msgid "" "Saving the set will cause copies of all loaded clips to remain on the disk" @@ -2645,22 +2650,22 @@ "Please press 'Cancel' if that is not what you want.\n" msgstr "" -#: src/callbacks.c:4701 +#: src/callbacks.c:4620 #, c-format msgid "Saving set %s" msgstr "" -#: src/callbacks.c:5020 +#: src/callbacks.c:4938 #, c-format msgid "Loading clips from set %s" msgstr "" -#: src/callbacks.c:5109 +#: src/callbacks.c:5026 #, c-format msgid "%d clips and %d layouts were recovered from set (%s).\n" msgstr "" -#: src/callbacks.c:5311 +#: src/callbacks.c:5227 msgid "" "LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on " @@ -2668,24 +2673,24 @@ "Click OK to proceed.\n" msgstr "" -#: src/callbacks.c:5318 +#: src/callbacks.c:5234 msgid "Cleaning up disk space..." msgstr "清理磁盘空间..." -#: src/callbacks.c:5388 +#: src/callbacks.c:5301 msgid "Recovering disk space" msgstr "" -#: src/callbacks.c:5439 +#: src/callbacks.c:5349 #, c-format msgid "%s of disk space was recovered.\n" msgstr "" -#: src/callbacks.c:5483 +#: src/callbacks.c:5392 msgid "Resetting frame rates and frame values..." msgstr "" -#: src/callbacks.c:5527 +#: src/callbacks.c:5434 #, c-format msgid "" "\n" @@ -2693,12 +2698,12 @@ "Internal: %s (%d bpp) / %s\n" msgstr "" -#: src/callbacks.c:5529 +#: src/callbacks.c:5436 msgid "buffered" msgstr "已缓冲" -#: src/callbacks.c:5543 src/callbacks.c:5561 src/callbacks.c:5577 -#: src/callbacks.c:5610 +#: src/callbacks.c:5450 src/callbacks.c:5468 src/callbacks.c:5484 +#: src/callbacks.c:5517 msgid "" "\n" " Opening..." @@ -2706,7 +2711,7 @@ "\n" " 开幕..." -#: src/callbacks.c:5549 +#: src/callbacks.c:5456 #, c-format msgid "" "\n" @@ -2715,7 +2720,7 @@ "\n" "(%d个虚拟)" -#: src/callbacks.c:5552 +#: src/callbacks.c:5459 #, c-format msgid "" "\n" @@ -2724,7 +2729,7 @@ "\n" "(%d个解码)" -#: src/callbacks.c:5563 src/callbacks.c:5579 src/callbacks.c:5612 +#: src/callbacks.c:5470 src/callbacks.c:5486 src/callbacks.c:5519 #, c-format msgid "" "\n" @@ -2733,7 +2738,7 @@ "\n" " %.2f 秒" -#: src/callbacks.c:5571 +#: src/callbacks.c:5478 msgid "" "\n" " Unknown" @@ -2741,23 +2746,23 @@ "\n" " 未知" -#: src/callbacks.c:5583 src/callbacks.c:5597 +#: src/callbacks.c:5490 src/callbacks.c:5504 msgid "unsigned" msgstr "无符号" -#: src/callbacks.c:5584 src/callbacks.c:5598 +#: src/callbacks.c:5491 src/callbacks.c:5505 msgid "signed" msgstr "有符号" -#: src/callbacks.c:5586 src/callbacks.c:5600 +#: src/callbacks.c:5493 src/callbacks.c:5507 msgid "big-endian" msgstr "大端" -#: src/callbacks.c:5587 src/callbacks.c:5601 +#: src/callbacks.c:5494 src/callbacks.c:5508 msgid "little-endian" msgstr "小端" -#: src/callbacks.c:5589 src/callbacks.c:5603 +#: src/callbacks.c:5496 src/callbacks.c:5510 #, c-format msgid "" " %d Hz %d bit\n" @@ -2766,7 +2771,7 @@ " %d Hz %d bit\n" "%s %s" -#: src/callbacks.c:5706 +#: src/callbacks.c:5610 msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -2783,15 +2788,15 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n" msgstr "" -#: src/callbacks.c:5720 +#: src/callbacks.c:5624 msgid "A video editor and VJ program." msgstr "阿视频编辑和南军的计划。" -#: src/callbacks.c:5721 +#: src/callbacks.c:5625 msgid "About LiVES" msgstr "" -#: src/callbacks.c:5723 +#: src/callbacks.c:5627 msgid "translator_credits" msgstr "" "Launchpad Contributions:\n" @@ -2802,7 +2807,7 @@ " Wylmer Wang https://launchpad.net/~wantinghard\n" " salsaman https://launchpad.net/~salsaman" -#: src/callbacks.c:5758 +#: src/callbacks.c:5662 #, c-format msgid "" "LiVES Version %s\n" @@ -2816,7 +2821,7 @@ "Homepage: %s" msgstr "" -#: src/callbacks.c:6020 +#: src/callbacks.c:5898 #, fuzzy msgid "" "\n" @@ -2827,7 +2832,7 @@ "\n" "您需要安装mplayer的能够预览该文件。\n" -#: src/callbacks.c:6022 +#: src/callbacks.c:5900 #, fuzzy msgid "" "\n" @@ -2839,94 +2844,94 @@ "\n" "您需要安装mplayer的能够预览该文件。\n" -#: src/callbacks.c:6461 +#: src/callbacks.c:6322 #, c-format msgid "" "Text was saved as\n" "%s\n" msgstr "" -#: src/callbacks.c:6649 +#: src/callbacks.c:6498 msgid "Encoder Debug Output" msgstr "" -#: src/callbacks.c:6684 src/gui.c:1762 +#: src/callbacks.c:6533 src/gui.c:1731 msgid "Fullscreen playback (f)" msgstr "全屏播放 (f)" -#: src/callbacks.c:6685 +#: src/callbacks.c:6534 msgid "Fullscreen playback off (f)" msgstr "全屏播放关 (f)" -#: src/callbacks.c:6882 src/gui.c:1747 +#: src/callbacks.c:6730 src/gui.c:1716 msgid "Double size (d)" msgstr "双倍尺寸 (d)" -#: src/callbacks.c:6888 +#: src/callbacks.c:6736 msgid "Single size (d)" msgstr "单倍尺寸 (d)" -#: src/callbacks.c:7012 src/callbacks.c:7013 +#: src/callbacks.c:6858 src/callbacks.c:6859 msgid "Hide the play window (s)" msgstr "隐藏播放窗口 (s)" -#: src/callbacks.c:7021 src/gui.c:1584 +#: src/callbacks.c:6867 src/gui.c:1556 msgid "Show the play window (s)" msgstr "显示播放窗口 (s)" -#: src/callbacks.c:7022 src/gui.c:1736 +#: src/callbacks.c:6868 src/gui.c:1705 msgid "Play in separate window (s)" msgstr "在单独的窗口中播放 (s)" -#: src/callbacks.c:7296 +#: src/callbacks.c:7134 msgid "Switch continuous looping off (o)" msgstr "连续循环开关关闭(海外)" -#: src/callbacks.c:7302 src/gui.c:1633 +#: src/callbacks.c:7140 src/gui.c:1603 msgid "Switch continuous looping on (o)" msgstr "开关连续循环的(海外)" -#: src/callbacks.c:7352 +#: src/callbacks.c:7189 #, c-format msgid "Audio volume (%.2f)" msgstr "音量 (%.2f)" -#: src/callbacks.c:7391 src/callbacks.c:7392 src/gui.c:3530 +#: src/callbacks.c:7227 src/callbacks.c:7228 src/gui.c:3471 msgid "Unmute the audio (z)" msgstr "取消静音 (z)" -#: src/callbacks.c:7402 src/callbacks.c:7403 src/gui.c:1646 src/gui.c:3529 +#: src/callbacks.c:7238 src/callbacks.c:7239 src/gui.c:1616 src/gui.c:3470 msgid "Mute the audio (z)" msgstr "静音 (z)" -#: src/callbacks.c:7546 +#: src/callbacks.c:7381 msgid "Reversing clipboard..." msgstr "" -#: src/callbacks.c:7560 +#: src/callbacks.c:7395 msgid "Reversing clipboard" msgstr "" -#: src/callbacks.c:7592 +#: src/callbacks.c:7423 #, fuzzy msgid "Load Subtitles" msgstr "显示字幕" -#: src/callbacks.c:7650 src/saveplay.c:918 +#: src/callbacks.c:7481 src/saveplay.c:918 #, c-format msgid "Loaded subtitle file: %s\n" msgstr "已加载字幕文件:%s\n" -#: src/callbacks.c:7718 +#: src/callbacks.c:7545 msgid "Subtitles were erased.\n" msgstr "字幕已擦除。\n" -#: src/callbacks.c:7743 +#: src/callbacks.c:7567 #, fuzzy msgid "Select Audio File" msgstr "删除音频" -#: src/callbacks.c:7781 src/callbacks.c:8170 +#: src/callbacks.c:7604 src/callbacks.c:7987 msgid "" "\n" "Loading new audio may cause missing audio in some multitrack layouts.\n" @@ -2937,60 +2942,60 @@ "载入新的音频可能会导致丢失一些多轨音频布局。\n" "您确定要继续吗?" -#: src/callbacks.c:7913 +#: src/callbacks.c:7736 #, c-format msgid "Opening audio %s, type %s..." msgstr "正在打开音频 %s,类型为 %s..." -#: src/callbacks.c:7947 src/saveplay.c:466 +#: src/callbacks.c:7770 src/saveplay.c:466 msgid "Opening audio" msgstr "开幕式音频" -#: src/callbacks.c:8065 src/callbacks.c:8384 src/callbacks.c:10705 -#: src/callbacks.c:11343 +#: src/callbacks.c:7887 src/callbacks.c:8200 src/callbacks.c:10427 +#: src/callbacks.c:11050 msgid "Committing audio" msgstr "提交音频" -#: src/callbacks.c:8081 src/callbacks.c:8414 +#: src/callbacks.c:7902 src/callbacks.c:8230 msgid "New Audio" msgstr "新的音频" -#: src/callbacks.c:8194 +#: src/callbacks.c:8011 #, c-format msgid "Opening CD track %d from %s..." msgstr "" -#: src/callbacks.c:8197 +#: src/callbacks.c:8014 #, c-format msgid "CD track %d" msgstr "光盘音轨 %d" -#: src/callbacks.c:8243 +#: src/callbacks.c:8059 msgid "Opening CD track..." msgstr "正在打开光盘音轨..." -#: src/callbacks.c:8285 src/callbacks.c:8331 +#: src/callbacks.c:8101 src/callbacks.c:8147 msgid "Error loading CD track\n" msgstr "加载光盘音轨出错\n" -#: src/callbacks.c:8449 +#: src/callbacks.c:8263 #, fuzzy msgid "Layout Errors" msgstr "布局错误" -#: src/callbacks.c:8470 +#: src/callbacks.c:8284 msgid "Clear _Errors" msgstr "清除_错误" -#: src/callbacks.c:8481 +#: src/callbacks.c:8295 msgid "_Delete affected layouts" msgstr "_删除受影响的布局" -#: src/callbacks.c:9152 src/callbacks.c:9181 +#: src/callbacks.c:8908 src/callbacks.c:8937 msgid "Resume" msgstr "恢复" -#: src/callbacks.c:9153 +#: src/callbacks.c:8909 msgid "" "\n" "Paused\n" @@ -3000,23 +3005,23 @@ "已暂停\n" "(点击恢复继续处理)" -#: src/callbacks.c:9154 src/callbacks.c:9198 +#: src/callbacks.c:8910 src/callbacks.c:8954 msgid "paused..." msgstr "暂停..." -#: src/callbacks.c:9164 src/callbacks.c:9216 +#: src/callbacks.c:8920 src/callbacks.c:8972 msgid "resumed..." msgstr "恢复..." -#: src/callbacks.c:9186 +#: src/callbacks.c:8942 msgid "Keep" msgstr "不压缩" -#: src/callbacks.c:9188 +#: src/callbacks.c:8944 msgid "Enough" msgstr "" -#: src/callbacks.c:9193 +#: src/callbacks.c:8949 #, c-format msgid "" "\n" @@ -3025,30 +3030,30 @@ "(click Resume to continue processing)" msgstr "" -#: src/callbacks.c:9214 +#: src/callbacks.c:8970 msgid "Cancel" msgstr "取消" -#: src/callbacks.c:9365 +#: src/callbacks.c:9119 msgid "Stop" msgstr "" -#: src/callbacks.c:9862 src/multitrack.c:13419 +#: src/callbacks.c:9608 src/multitrack.c:13113 #, fuzzy msgid "Selected Frame" msgstr "选择_所有帧" -#: src/callbacks.c:9870 +#: src/callbacks.c:9616 #, fuzzy msgid "_Save Frame as..." msgstr "布局保存为(_S)..." -#: src/callbacks.c:10100 +#: src/callbacks.c:9839 #, c-format msgid "Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n" msgstr "" -#: src/callbacks.c:10153 +#: src/callbacks.c:9887 msgid "" "\n" "\n" @@ -3057,7 +3062,7 @@ "\n" msgstr "" -#: src/callbacks.c:10159 +#: src/callbacks.c:9893 msgid "" "\n" "\n" @@ -3069,7 +3074,7 @@ "您必须安装“xwininfo”,然后才能使用此功能\n" "\n" -#: src/callbacks.c:10231 src/callbacks.c:11261 +#: src/callbacks.c:9965 src/callbacks.c:10968 msgid "" "\n" "Record time must be greater than 0.\n" @@ -3077,7 +3082,7 @@ "\n" "记录时间必须大于零。\n" -#: src/callbacks.c:10243 +#: src/callbacks.c:9977 msgid "" "Capture an External Window:\n" "\n" @@ -3086,17 +3091,17 @@ "\n" msgstr "" -#: src/callbacks.c:10248 +#: src/callbacks.c:9981 msgid "External window was released.\n" msgstr "对外窗口被释放。\n" -#: src/callbacks.c:10282 +#: src/callbacks.c:10015 msgid "" "Click on a Window to Capture it\n" "Press 'q' to stop recording" msgstr "" -#: src/callbacks.c:10315 +#: src/callbacks.c:10048 #, c-format msgid "" "\n" @@ -3106,19 +3111,19 @@ "(Default of %.3f frames per second will be used.)\n" msgstr "" -#: src/callbacks.c:10339 +#: src/callbacks.c:10071 msgid "LiVES was unable to capture this window. Sorry.\n" msgstr "LiVES 无法捕获此窗口。对不起。\n" -#: src/callbacks.c:10495 +#: src/callbacks.c:10216 msgid "Export Selected Audio as..." msgstr "音频输出选择的..." -#: src/callbacks.c:10498 +#: src/callbacks.c:10219 msgid "Export Audio as..." msgstr "音频输出为..." -#: src/callbacks.c:10513 +#: src/callbacks.c:10234 msgid "" "\n" "\n" @@ -3131,87 +3136,87 @@ "此剪辑的音频播放速度已被更改。\n" "点击'确定'以新速度输出,或'取消'以原速度输出。\n" -#: src/callbacks.c:10519 +#: src/callbacks.c:10240 #, c-format msgid "Exporting audio frames %d to %d as %s..." msgstr "" -#: src/callbacks.c:10523 +#: src/callbacks.c:10244 #, c-format msgid "Exporting audio as %s..." msgstr "" -#: src/callbacks.c:10549 +#: src/callbacks.c:10270 msgid "Exporting audio" msgstr "音频输出" -#: src/callbacks.c:10591 +#: src/callbacks.c:10312 #, fuzzy msgid "Append Audio File" msgstr "附加音频" -#: src/callbacks.c:10641 +#: src/callbacks.c:10363 #, c-format msgid "Appending audio file %s..." msgstr "" -#: src/callbacks.c:10658 +#: src/callbacks.c:10380 msgid "Appending audio" msgstr "正在附加音频" -#: src/callbacks.c:10720 +#: src/callbacks.c:10442 msgid "Append Audio" msgstr "附加音频" -#: src/callbacks.c:10777 +#: src/callbacks.c:10498 #, c-format msgid "Padding audio to %.2f seconds..." msgstr "" -#: src/callbacks.c:10779 +#: src/callbacks.c:10500 #, c-format msgid "Trimming audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:10798 +#: src/callbacks.c:10519 msgid "Trimming/Padding audio" msgstr "" -#: src/callbacks.c:10806 +#: src/callbacks.c:10527 msgid "Trim/Pad Audio" msgstr "" -#: src/callbacks.c:10876 +#: src/callbacks.c:10594 msgid "Fading audio in" msgstr "正在淡入音频" -#: src/callbacks.c:10877 +#: src/callbacks.c:10595 msgid "Fade audio in" msgstr "淡入音频" -#: src/callbacks.c:10881 +#: src/callbacks.c:10599 msgid "Fading audio out" msgstr "正在淡出音频" -#: src/callbacks.c:10882 +#: src/callbacks.c:10600 msgid "Fade audio out" msgstr "淡出音频" -#: src/callbacks.c:10901 +#: src/callbacks.c:10619 #, c-format msgid "%s over %.1f seconds..." msgstr "" -#: src/callbacks.c:10903 +#: src/callbacks.c:10621 #, c-format msgid "%s from time %.2f seconds to %.2f seconds..." msgstr "" -#: src/callbacks.c:10910 +#: src/callbacks.c:10628 msgid "Fading audio..." msgstr "淡入淡出音频..." -#: src/callbacks.c:11001 +#: src/callbacks.c:10715 msgid "" "\n" "Deleting all audio will close this file.\n" @@ -3221,33 +3226,33 @@ "删除所有音频将关闭该文件。\n" "你确定吗?" -#: src/callbacks.c:11004 +#: src/callbacks.c:10718 msgid "Deleting all audio..." msgstr "删除所有音频..." -#: src/callbacks.c:11009 +#: src/callbacks.c:10723 #, c-format msgid "Deleting audio from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11084 +#: src/callbacks.c:10797 msgid "Deleting Audio" msgstr "正在删除音频" -#: src/callbacks.c:11091 +#: src/callbacks.c:10804 msgid "Delete Audio" msgstr "删除音频" -#: src/callbacks.c:11413 +#: src/callbacks.c:11117 msgid "Record new audio" msgstr "新的音频记录" -#: src/callbacks.c:11503 +#: src/callbacks.c:11206 #, c-format msgid "Inserting silence from %.2f to %.2f seconds..." msgstr "" -#: src/callbacks.c:11533 +#: src/callbacks.c:11236 msgid "Inserting Silence" msgstr "" @@ -3260,888 +3265,888 @@ msgid "Merge Clipboard [ %d Frames ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:119 +#: src/merge.c:120 #, c-format msgid "" "Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]" msgstr "" -#: src/merge.c:131 +#: src/merge.c:132 msgid "Align _Starts" msgstr "" -#: src/merge.c:136 +#: src/merge.c:137 msgid "Align _Ends" msgstr "" -#: src/merge.c:147 +#: src/merge.c:148 msgid "What to do with extra clipboard frames -" msgstr "" -#: src/merge.c:150 +#: src/merge.c:151 msgid "_Insert Frames" msgstr "_插入帧" -#: src/merge.c:156 +#: src/merge.c:157 msgid "_Drop Frames" msgstr "_丢弃帧" -#: src/merge.c:161 +#: src/merge.c:162 msgid "Number of Times to Loop Clipboard" msgstr "" -#: src/merge.c:172 +#: src/merge.c:173 msgid "_Loop Clipboard to Fit Selection" msgstr "" -#: src/merge.c:185 +#: src/merge.c:186 msgid "_Transition Method:" msgstr "_过渡方法:" -#: src/merge.c:390 +#: src/merge.c:391 msgid "Merging clipboard with selection..." msgstr "" -#: src/merge.c:534 +#: src/merge.c:535 msgid "Merge done.\n" msgstr "合并完成。\n" -#: src/gui.c:150 +#: src/gui.c:145 msgid "_Custom Generators" msgstr "" -#: src/gui.c:151 +#: src/gui.c:146 msgid "_Custom Effects" msgstr "自定义效果(_C)" -#: src/gui.c:152 +#: src/gui.c:147 msgid "Custom _Utilities" msgstr "自定义工具(_U)" -#: src/gui.c:518 src/multitrack.c:6419 +#: src/gui.c:506 src/multitrack.c:6295 msgid "_File" msgstr "文件(_F)" -#: src/gui.c:526 src/multitrack.c:6431 +#: src/gui.c:514 src/multitrack.c:6307 msgid "_Open File/Directory" msgstr "" -#: src/gui.c:532 +#: src/gui.c:520 msgid "O_pen Part of File..." msgstr "" -#: src/gui.c:538 src/gui.c:542 src/multitrack.c:6449 src/multitrack.c:6462 -#: src/multitrack.c:6467 +#: src/gui.c:524 src/gui.c:528 src/multitrack.c:6324 src/multitrack.c:6337 +#: src/multitrack.c:6342 msgid "Open _Location/Stream..." msgstr "打开_位置/流..." -#: src/gui.c:548 src/multitrack.c:6455 +#: src/gui.c:534 src/multitrack.c:6330 msgid "Open _Youtube Clip..." msgstr "" -#: src/gui.c:559 +#: src/gui.c:545 msgid "Import from _dvd/vcd..." msgstr "" -#: src/gui.c:570 +#: src/gui.c:556 msgid "Import from _dvd" msgstr "" -#: src/gui.c:571 +#: src/gui.c:557 msgid "Import from _vcd" msgstr "" -#: src/gui.c:577 +#: src/gui.c:562 msgid "_Import from Firewire" msgstr "" -#: src/gui.c:582 src/multitrack.c:6517 +#: src/gui.c:567 src/multitrack.c:6387 msgid "Import from _Firewire Device (dv)" msgstr "" -#: src/gui.c:583 src/multitrack.c:6525 +#: src/gui.c:568 src/multitrack.c:6394 msgid "Import from _Firewire Device (hdv)" msgstr "" -#: src/gui.c:590 +#: src/gui.c:575 msgid "_Add Webcam/TV card..." msgstr "" -#: src/gui.c:591 +#: src/gui.c:576 msgid "Add _Unicap Device" msgstr "" -#: src/gui.c:592 +#: src/gui.c:577 msgid "Add Live _Firewire Device" msgstr "" -#: src/gui.c:593 +#: src/gui.c:578 msgid "Add _TV Device" msgstr "" -#: src/gui.c:631 src/multitrack.c:6550 +#: src/gui.c:613 src/multitrack.c:6417 msgid "_Recent Files..." msgstr "_最近的文件..." -#: src/gui.c:665 src/multitrack.c:6596 +#: src/gui.c:647 src/multitrack.c:6462 msgid "_Reload Clip Set..." msgstr "" -#: src/gui.c:668 src/multitrack.c:6603 +#: src/gui.c:650 src/multitrack.c:6469 msgid "Close/Sa_ve All Clips" msgstr "" -#: src/gui.c:677 +#: src/gui.c:659 msgid "_Encode Clip As..." msgstr "" -#: src/gui.c:679 +#: src/gui.c:661 msgid "Encode _Selection As..." msgstr "" -#: src/gui.c:683 +#: src/gui.c:665 msgid "_Close This Clip" msgstr "_关闭此影片" -#: src/gui.c:692 +#: src/gui.c:674 #, fuzzy, c-format msgid "_Backup Clip as .%s..." msgstr "备份为 .lv1文件" -#: src/gui.c:701 +#: src/gui.c:683 #, c-format msgid "_Restore Clip from .%s..." msgstr "" -#: src/gui.c:711 +#: src/gui.c:693 msgid "Encode/Load/Backup _with Sound" msgstr "" -#: src/gui.c:715 +#: src/gui.c:697 msgid "Auto load subtitles" msgstr "" -#: src/gui.c:721 src/multitrack.c:6641 +#: src/gui.c:703 src/multitrack.c:6506 msgid "Clean _up Diskspace" msgstr "" -#: src/gui.c:727 src/multitrack.c:6673 +#: src/gui.c:709 src/multitrack.c:6538 msgid "_Edit" msgstr "编辑(_E)" -#: src/gui.c:765 +#: src/gui.c:746 msgid "_MULTITRACK mode" msgstr "" -#: src/gui.c:774 +#: src/gui.c:755 msgid "_Copy Selection" msgstr "_复制选择" -#: src/gui.c:782 +#: src/gui.c:763 msgid "Cu_t Selection" msgstr "_切的选择" -#: src/gui.c:790 +#: src/gui.c:771 msgid "_Insert from Clipboard..." msgstr "" -#: src/gui.c:804 +#: src/gui.c:785 msgid "Paste as _New" msgstr "粘贴为新图像(_N)" -#: src/gui.c:812 +#: src/gui.c:793 msgid "_Merge Clipboard with Selection..." msgstr "" -#: src/gui.c:817 +#: src/gui.c:798 msgid "_Delete Selection" msgstr "删除选中区域(_D)" -#: src/gui.c:832 +#: src/gui.c:813 msgid "Decouple _Video from Audio" msgstr "" -#: src/gui.c:838 +#: src/gui.c:819 msgid "_Select..." msgstr "选择(_S)..." -#: src/gui.c:847 +#: src/gui.c:827 msgid "Select _All Frames" msgstr "选择_所有帧" -#: src/gui.c:854 +#: src/gui.c:834 msgid "_Start Frame Only" msgstr "" -#: src/gui.c:861 +#: src/gui.c:841 msgid "_End Frame Only" msgstr "" -#: src/gui.c:870 +#: src/gui.c:849 msgid "Select from _First Frame" msgstr "" -#: src/gui.c:873 +#: src/gui.c:852 msgid "Select to _Last Frame" msgstr "" -#: src/gui.c:876 +#: src/gui.c:855 msgid "Select Last Insertion/_Merge" msgstr "" -#: src/gui.c:879 +#: src/gui.c:858 msgid "Select Last _Effect" msgstr "选择最后的_影响" -#: src/gui.c:882 +#: src/gui.c:861 msgid "_Invert Selection" msgstr "反转选择(_I)" -#: src/gui.c:889 +#: src/gui.c:868 msgid "_Lock Selection Width" msgstr "锁定选区宽度(_L)" -#: src/gui.c:893 src/multitrack.c:6820 +#: src/gui.c:872 src/multitrack.c:6680 msgid "_Play" msgstr "播放(_P)" -#: src/gui.c:899 +#: src/gui.c:878 msgid "_Play All" msgstr "全部播放(_P)" -#: src/gui.c:912 +#: src/gui.c:891 msgid "Pla_y Selection" msgstr "播放选择(_Y)" -#: src/gui.c:919 +#: src/gui.c:898 msgid "Play _Clipboard" msgstr "" -#: src/gui.c:939 src/multitrack.c:6847 +#: src/gui.c:918 src/multitrack.c:6706 msgid "_Stop" msgstr "停止(_S)" -#: src/gui.c:952 src/multitrack.c:6859 +#: src/gui.c:930 src/multitrack.c:6718 msgid "Re_wind" msgstr "" -#: src/gui.c:979 src/multitrack.c:6877 +#: src/gui.c:957 src/multitrack.c:6736 msgid "_Full Screen" msgstr "全屏(_F)" -#: src/gui.c:987 +#: src/gui.c:964 msgid "_Double Size" msgstr "_双倍大小" -#: src/gui.c:994 src/multitrack.c:6885 +#: src/gui.c:971 src/multitrack.c:6744 msgid "Play in _Separate Window" msgstr "" -#: src/gui.c:1002 +#: src/gui.c:978 msgid "_Blank Background" msgstr "空白背景(_B)" -#: src/gui.c:1011 +#: src/gui.c:987 msgid "(Auto)_loop Video (to fit audio track)" msgstr "(自动)循环视频(以适应音轨)(_L)" -#: src/gui.c:1019 src/multitrack.c:6893 +#: src/gui.c:995 src/multitrack.c:6752 msgid "L_oop Continuously" msgstr "持续循环(_O)" -#: src/gui.c:1027 +#: src/gui.c:1003 msgid "Pin_g Pong Loops" msgstr "乒乓循环(_G)" -#: src/gui.c:1034 src/multitrack.c:6901 +#: src/gui.c:1010 src/multitrack.c:6760 msgid "_Mute" msgstr "静音(_M)" -#: src/gui.c:1044 +#: src/gui.c:1020 msgid "Separate Window 'S_ticky' Mode" msgstr "" -#: src/gui.c:1051 +#: src/gui.c:1027 msgid "S_how Frame Counter" msgstr "显示帧计数器(_H)" -#: src/gui.c:1060 +#: src/gui.c:1036 msgid "Show Subtitles" msgstr "显示字幕" -#: src/gui.c:1069 +#: src/gui.c:1045 msgid "Letterbox Mode" msgstr "" -#: src/gui.c:1074 src/multitrack.c:6913 +#: src/gui.c:1050 src/multitrack.c:6770 msgid "Effect_s" msgstr "效果(_S)" -#: src/gui.c:1076 +#: src/gui.c:1052 msgid "Effects are applied to the current selection." msgstr "效果应用到当前的选区。" -#: src/gui.c:1084 +#: src/gui.c:1060 msgid "_Run Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1089 src/multitrack.c:7428 +#: src/gui.c:1065 src/multitrack.c:7266 msgid "_Tools" msgstr "工具(_T)" -#: src/gui.c:1091 +#: src/gui.c:1067 msgid "Tools are applied to complete clips." msgstr "工具应用到剪辑完成。" -#: src/gui.c:1096 +#: src/gui.c:1072 msgid "_Reverse Clipboard" msgstr "" -#: src/gui.c:1104 +#: src/gui.c:1080 msgid "_Change Playback/Save Speed..." msgstr "" -#: src/gui.c:1108 +#: src/gui.c:1084 msgid "Resample _Video to New Frame Rate..." msgstr "" -#: src/gui.c:1113 +#: src/gui.c:1089 msgid "_Utilities" msgstr "工具(_U)" -#: src/gui.c:1117 +#: src/gui.c:1093 msgid "Custom _Tools" msgstr "自定义工具(_T)" -#: src/gui.c:1123 src/multitrack.c:7447 +#: src/gui.c:1099 src/multitrack.c:7283 msgid "_Generate" msgstr "生成(_G)" -#: src/gui.c:1142 +#: src/gui.c:1118 msgid "Load _Subtitles from File..." msgstr "" -#: src/gui.c:1146 +#: src/gui.c:1122 msgid "Erase subtitles" msgstr "" -#: src/gui.c:1152 src/multitrack.c:7456 +#: src/gui.c:1128 src/multitrack.c:7291 msgid "Capture _External Window... " msgstr "" -#: src/gui.c:1157 src/multitrack.c:7470 +#: src/gui.c:1133 src/multitrack.c:7302 msgid "_Preferences..." msgstr "偏好设置(_P)..." -#: src/gui.c:1168 +#: src/gui.c:1144 msgid "_Audio" msgstr "" -#: src/gui.c:1174 +#: src/gui.c:1150 msgid "Load _New Audio for Clip..." msgstr "" -#: src/gui.c:1179 +#: src/gui.c:1155 msgid "Load _CD Track..." msgstr "" -#: src/gui.c:1180 +#: src/gui.c:1156 msgid "E_ject CD" msgstr "弹出 CD(_J)" -#: src/gui.c:1192 +#: src/gui.c:1167 msgid "Record E_xternal Audio..." msgstr "" -#: src/gui.c:1199 +#: src/gui.c:1174 msgid "to New _Clip..." msgstr "到新剪辑(_C)..." -#: src/gui.c:1202 +#: src/gui.c:1177 msgid "to _Selection" msgstr "到选区(_S)" -#: src/gui.c:1208 +#: src/gui.c:1183 msgid "Fade Audio _In..." msgstr "" -#: src/gui.c:1211 +#: src/gui.c:1186 msgid "Fade Audio _Out..." msgstr "" -#: src/gui.c:1219 +#: src/gui.c:1194 msgid "_Export Audio..." msgstr "输出音频(_E)..." -#: src/gui.c:1227 +#: src/gui.c:1202 msgid "Export _Selected Audio..." msgstr "" -#: src/gui.c:1230 +#: src/gui.c:1205 msgid "Export _All Audio..." msgstr "" -#: src/gui.c:1233 +#: src/gui.c:1208 msgid "_Append Audio..." msgstr "附加音频(_A)..." -#: src/gui.c:1237 +#: src/gui.c:1212 msgid "_Trim/Pad Audio..." msgstr "" -#: src/gui.c:1245 +#: src/gui.c:1220 msgid "Trim/Pad Audio to _Selection" msgstr "" -#: src/gui.c:1249 +#: src/gui.c:1224 msgid "Trim/Pad Audio from Beginning to _Play Start" msgstr "" -#: src/gui.c:1253 +#: src/gui.c:1228 msgid "_Delete Audio..." msgstr "删除音频(_D)..." -#: src/gui.c:1261 +#: src/gui.c:1236 msgid "Delete _Selected Audio" msgstr "" -#: src/gui.c:1264 +#: src/gui.c:1239 msgid "Delete _All Audio" msgstr "" -#: src/gui.c:1267 +#: src/gui.c:1242 msgid "Insert _Silence in Selection" msgstr "" -#: src/gui.c:1271 +#: src/gui.c:1246 msgid "_Resample Audio..." msgstr "重采样音频(_R)..." -#: src/gui.c:1275 +#: src/gui.c:1250 msgid "_Info" msgstr "信息(_I)" -#: src/gui.c:1281 +#: src/gui.c:1256 msgid "Show Clip _Info" msgstr "" -#: src/gui.c:1288 +#: src/gui.c:1263 msgid "Show/_Edit File Comments" msgstr "" -#: src/gui.c:1292 +#: src/gui.c:1267 msgid "Show _Clipboard Info" msgstr "" -#: src/gui.c:1301 src/multitrack.c:7573 +#: src/gui.c:1276 src/multitrack.c:7397 msgid "Show _Messages" msgstr "显示消息(_M)" -#: src/gui.c:1304 src/multitrack.c:7647 +#: src/gui.c:1279 src/multitrack.c:7469 msgid "Show _Layout Errors" msgstr "显示布局错误(_L)" -#: src/gui.c:1308 src/multitrack.c:7550 +#: src/gui.c:1283 src/multitrack.c:7374 msgid "_Clips" msgstr "剪辑(_C)" -#: src/gui.c:1314 +#: src/gui.c:1289 msgid "_Rename Current Clip in Menu..." msgstr "" -#: src/gui.c:1324 +#: src/gui.c:1299 msgid "A_dvanced" msgstr "高级(_D)" -#: src/gui.c:1330 +#: src/gui.c:1305 msgid "_RFX Effects/Tools/Utilities" msgstr "" -#: src/gui.c:1336 +#: src/gui.c:1311 msgid "_New Test RFX Script..." msgstr "" -#: src/gui.c:1339 +#: src/gui.c:1314 msgid "_Copy RFX Script to Test..." msgstr "" -#: src/gui.c:1342 +#: src/gui.c:1317 msgid "_Edit Test RFX Script..." msgstr "" -#: src/gui.c:1345 +#: src/gui.c:1320 msgid "Rena_me Test RFX Script..." msgstr "" -#: src/gui.c:1348 +#: src/gui.c:1323 msgid "_Delete Test RFX Script..." msgstr "" -#: src/gui.c:1355 +#: src/gui.c:1330 msgid "_Promote Test Rendered Effect/Tool/Generator..." msgstr "" -#: src/gui.c:1360 +#: src/gui.c:1335 msgid "_Import Custom RFX script..." msgstr "" -#: src/gui.c:1363 +#: src/gui.c:1338 msgid "E_xport Custom RFX script..." msgstr "" -#: src/gui.c:1366 +#: src/gui.c:1341 msgid "De_lete Custom RFX Script..." msgstr "" -#: src/gui.c:1371 +#: src/gui.c:1346 msgid "Re_build all RFX plugins" msgstr "" -#: src/gui.c:1397 +#: src/gui.c:1371 msgid "Receive _LiVES Stream from..." msgstr "" -#: src/gui.c:1401 +#: src/gui.c:1375 msgid "_Send LiVES Stream to..." msgstr "" -#: src/gui.c:1407 +#: src/gui.c:1381 #, c-format msgid "Open _yuv4mpeg stream on %sstream.yuv..." msgstr "" -#: src/gui.c:1426 +#: src/gui.c:1399 #, fuzzy, c-format msgid "_Import Project (.%s)..." msgstr "导入项目" -#: src/gui.c:1430 +#: src/gui.c:1403 #, fuzzy, c-format msgid "E_xport Project (.%s)..." msgstr "导出工程" -#: src/gui.c:1437 +#: src/gui.c:1409 #, fuzzy, c-format msgid "_Import Custom Theme (.%s)..." msgstr "导出工程为%s..." -#: src/gui.c:1442 +#: src/gui.c:1414 #, fuzzy, c-format msgid "E_xport Theme (.%s)..." msgstr "导出工程为%s..." -#: src/gui.c:1449 +#: src/gui.c:1421 msgid "_VJ" msgstr "_VJ" -#: src/gui.c:1455 +#: src/gui.c:1427 msgid "Real Time _Effect Mapping" msgstr "" -#: src/gui.c:1460 +#: src/gui.c:1432 msgid "Bind real time effects to ctrl-number keys." msgstr "" -#: src/gui.c:1462 +#: src/gui.c:1434 msgid "Set Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1464 +#: src/gui.c:1436 msgid "Set default parameter values for real time effects." msgstr "" -#: src/gui.c:1469 +#: src/gui.c:1441 msgid "Save Real Time Effect _Defaults" msgstr "" -#: src/gui.c:1471 +#: src/gui.c:1444 msgid "" "Save real time effect defaults so they will be restored each time you use " "LiVES." msgstr "" -#: src/gui.c:1476 +#: src/gui.c:1448 msgid "_Reset All Playback Speeds and Positions" msgstr "" -#: src/gui.c:1478 +#: src/gui.c:1450 msgid "" "Reset all playback positions to frame 1, and reset all playback frame rates." msgstr "" -#: src/gui.c:1480 +#: src/gui.c:1452 #, fuzzy msgid "_MIDI/Joystick Interface" msgstr "_MIDI/游戏杆接口" -#: src/gui.c:1489 +#: src/gui.c:1461 #, fuzzy msgid "_MIDI/Joystick Learner..." msgstr "_MIDI/游戏杆学习者..." -#: src/gui.c:1493 +#: src/gui.c:1465 #, fuzzy msgid "_Save Device Mapping..." msgstr "保存设备映射(_S)..." -#: src/gui.c:1497 +#: src/gui.c:1469 #, fuzzy msgid "_Load Device Mapping..." msgstr "加载设备映射(_L)..." -#: src/gui.c:1503 +#: src/gui.c:1475 msgid "Show VJ _Keys" msgstr "显示 VJ 键(_K)" -#: src/gui.c:1506 +#: src/gui.c:1478 msgid "To_ys" msgstr "玩具(_Y)" -#: src/gui.c:1512 +#: src/gui.c:1484 msgid "_None" msgstr "无(_N)" -#: src/gui.c:1518 +#: src/gui.c:1490 msgid "_Autolives" msgstr "" -#: src/gui.c:1522 +#: src/gui.c:1494 msgid "_Mad Frames" msgstr "_疯狂框架" -#: src/gui.c:1526 +#: src/gui.c:1498 msgid "_LiVES TV (broadband)" msgstr "_LiVES 电视(宽带)" -#: src/gui.c:1530 src/multitrack.c:7668 +#: src/gui.c:1502 src/multitrack.c:7490 msgid "_Help" msgstr "帮助(_H)" -#: src/gui.c:1536 src/multitrack.c:7681 +#: src/gui.c:1508 src/multitrack.c:7503 msgid "_Manual (opens in browser)" msgstr "手动(打开浏览器)(_M)" -#: src/gui.c:1541 src/multitrack.c:7688 +#: src/gui.c:1513 src/multitrack.c:7510 #, fuzzy msgid "_Donate to the Project !" msgstr "向项目捐款(_D)!" -#: src/gui.c:1544 src/multitrack.c:7691 +#: src/gui.c:1516 src/multitrack.c:7513 #, fuzzy msgid "_Email the Author" msgstr "给作者发邮件(_E)" -#: src/gui.c:1547 +#: src/gui.c:1519 #, fuzzy msgid "Report a _Bug" msgstr "报告错误(_B)" -#: src/gui.c:1550 src/multitrack.c:7697 +#: src/gui.c:1522 src/multitrack.c:7519 #, fuzzy msgid "Suggest a _Feature" msgstr "功能建议(_F)" -#: src/gui.c:1553 src/multitrack.c:7700 +#: src/gui.c:1525 src/multitrack.c:7522 #, fuzzy msgid "Assist with _Translating" msgstr "帮助翻译(_T)" -#: src/gui.c:1558 src/multitrack.c:7705 +#: src/gui.c:1530 src/multitrack.c:7527 msgid "_Troubleshoot" msgstr "故障诊断(_T)" -#: src/gui.c:1561 src/multitrack.c:7708 +#: src/gui.c:1533 src/multitrack.c:7530 msgid "_About" msgstr "关于(_A)" -#: src/gui.c:1590 +#: src/gui.c:1562 msgid "Rewind to start (w)" msgstr "倒带启动 (w)" -#: src/gui.c:1598 src/multitrack.c:17036 +#: src/gui.c:1570 src/multitrack.c:16542 msgid "Play all (p)" msgstr "播放所有 (p)" -#: src/gui.c:1606 src/gui.c:1717 +#: src/gui.c:1577 src/gui.c:1686 msgid "Stop playback (q)" msgstr "停止播放 (q)" -#: src/gui.c:1617 +#: src/gui.c:1588 msgid "Play selection (y)" msgstr "播放选区 (y)" -#: src/gui.c:1667 +#: src/gui.c:1636 msgid "Volume" msgstr "音量" -#: src/gui.c:1695 +#: src/gui.c:1664 msgid "Audio volume (1.00)" msgstr "" -#: src/gui.c:1723 +#: src/gui.c:1692 msgid "Unblank background (b)" msgstr "" -#: src/gui.c:1769 +#: src/gui.c:1737 msgid "Play slower (ctrl-down)" msgstr "" -#: src/gui.c:1775 +#: src/gui.c:1743 msgid "Play faster (ctrl-up)" msgstr "" -#: src/gui.c:1782 +#: src/gui.c:1749 msgid "Skip back (ctrl-left)" msgstr "" -#: src/gui.c:1788 +#: src/gui.c:1755 msgid "Skip forward (ctrl-right)" msgstr "" -#: src/gui.c:1794 +#: src/gui.c:1761 msgid "Show clip info (i)" msgstr "显示剪辑信息 (i)" -#: src/gui.c:1800 +#: src/gui.c:1767 msgid "Hide this toolbar" msgstr "隐藏此工具栏" -#: src/gui.c:1802 +#: src/gui.c:1769 msgid "" "Press \"s\" to toggle separate play window for improved performance, \"q\" " "to stop." msgstr "" #. TRANSLATORS: please keep the translated string the same length -#: src/gui.c:1834 +#: src/gui.c:1800 msgid " Video playback speed (frames per second) " msgstr "" -#: src/gui.c:1843 +#: src/gui.c:1809 msgid "Vary the video speed" msgstr "不同的视频播放速度" -#: src/gui.c:1875 src/gui.c:3118 +#: src/gui.c:1841 src/gui.c:3070 msgid "First Frame" msgstr "首帧" -#: src/gui.c:1916 src/gui.c:3125 +#: src/gui.c:1882 src/gui.c:3077 msgid "Last Frame" msgstr "末帧" -#: src/gui.c:1968 +#: src/gui.c:1934 msgid "The first selected frame in this clip" msgstr "此剪辑中所选择的第一帧" -#: src/gui.c:1990 +#: src/gui.c:1956 msgid "The last selected frame in this clip" msgstr "此剪辑中所选择的最后一帧" -#: src/gui.c:2255 +#: src/gui.c:2218 msgid "Starting...\n" msgstr "正在启动...\n" -#: src/gui.c:2989 +#: src/gui.c:2945 msgid " Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! " msgstr "" -#: src/gui.c:3413 +#: src/gui.c:3356 msgid "Frame number to preview" msgstr "" -#: src/gui.c:3424 +#: src/gui.c:3366 msgid "_Free" msgstr "空闲(_F)" -#: src/gui.c:3425 +#: src/gui.c:3368 msgid "Free choice of frame number" msgstr "自由选择的帧号" -#: src/gui.c:3430 +#: src/gui.c:3373 msgid "_Start" msgstr "起始(_S)" -#: src/gui.c:3431 +#: src/gui.c:3375 msgid "Frame number is linked to start frame" msgstr "" -#: src/gui.c:3439 +#: src/gui.c:3382 msgid "_End" msgstr "_结尾" -#: src/gui.c:3440 +#: src/gui.c:3383 msgid "Frame number is linked to end frame" msgstr "" -#: src/gui.c:3448 +#: src/gui.c:3390 msgid "_Pointer" msgstr "指针(_P)" -#: src/gui.c:3449 +#: src/gui.c:3392 msgid "Frame number is linked to playback pointer" msgstr "" -#: src/gui.c:3471 +#: src/gui.c:3412 msgid "Rewind" msgstr "倒回" -#: src/gui.c:3482 src/dialogs.c:996 src/dialogs.c:998 src/dialogs.c:1998 -#: src/dialogs.c:2000 +#: src/gui.c:3423 src/dialogs.c:922 src/dialogs.c:924 src/dialogs.c:1894 +#: src/dialogs.c:1896 msgid "Play all" msgstr "播放所有" -#: src/gui.c:3495 +#: src/gui.c:3436 msgid "Play Selection" msgstr "播放选择" -#: src/gui.c:3509 +#: src/gui.c:3450 msgid "Loop On/Off" msgstr "循环开/关" -#: src/gui.c:3587 +#: src/gui.c:3527 msgid "Start _recording" msgstr "" -#: src/gui.c:3592 +#: src/gui.c:3533 msgid "Stop _recording" msgstr "" -#: src/gui.c:3597 +#: src/gui.c:3538 msgid "_Record Performance" msgstr "记录性能(_R)" -#: src/gui.c:3608 src/saveplay.c:2901 src/saveplay.c:3006 src/saveplay.c:3025 -#: src/multitrack.c:9422 src/multitrack.c:11169 +#: src/gui.c:3548 src/saveplay.c:2903 src/saveplay.c:3007 src/saveplay.c:3025 +#: src/multitrack.c:9172 src/multitrack.c:10890 #, c-format msgid " (%d %% scale)" msgstr "" -#: src/gui.c:3613 +#: src/gui.c:3553 #, fuzzy msgid "Streaming" msgstr "流媒体/网络" -#: src/gui.c:3615 +#: src/gui.c:3555 #, fuzzy, c-format msgid "Play Window%s" msgstr "隐藏播放窗口" -#: src/gui.c:3755 +#: src/gui.c:3688 msgid "Hide Play Window" msgstr "隐藏播放窗口" -#: src/gui.c:4129 +#: src/gui.c:4059 msgid "Show Play Window" msgstr "显示播放窗口" -#: src/gui.c:4199 +#: src/gui.c:4127 #, fuzzy, c-format msgid "'LiVES opened the file' '%s'" msgstr "" "LiVES 无法捕获此图片\n" "\n" -#: src/gui.c:4220 +#: src/gui.c:4146 #, fuzzy, c-format msgid "'LiVES closed the file' '%s'" msgstr "让 LiVES 自动选择文件(_f)扩展名" @@ -4151,11 +4156,11 @@ msgid "Mapped to ctrl-%d" msgstr "" -#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3605 +#: src/ce_thumbs.c:296 src/effects.c:88 src/preferences.c:3417 msgid "Effects" msgstr "特效" -#: src/ce_thumbs.c:299 src/multitrack.c:5810 +#: src/ce_thumbs.c:299 src/multitrack.c:5689 msgid "Clips" msgstr "剪辑" @@ -4169,11 +4174,11 @@ msgid "Select clip for %s\n" msgstr "" -#: src/ce_thumbs.c:537 +#: src/ce_thumbs.c:538 msgid "_Pin" msgstr "" -#: src/ce_thumbs.c:538 +#: src/ce_thumbs.c:539 msgid "Pin the parameter box to the window" msgstr "" @@ -4218,11 +4223,11 @@ msgid "%d bytes" msgstr "" -#: src/utils.c:1852 +#: src/utils.c:1871 msgid "Clearing the clipboard" msgstr "" -#: src/utils.c:1892 +#: src/utils.c:1911 #, c-format msgid "" "\n" @@ -4230,7 +4235,7 @@ "Switched to clip %s\n" msgstr "" -#: src/utils.c:1895 +#: src/utils.c:1914 msgid "" "\n" "==============================\n" @@ -4240,74 +4245,74 @@ "==============================\n" "切换到空剪辑\n" -#: src/utils.c:1934 +#: src/utils.c:1953 msgid "(blank)" msgstr "" -#: src/utils.c:1937 +#: src/utils.c:1956 #, c-format msgid "" "The set name has been changed from %s to %s. Affected layouts have been " "updated accordingly\n" msgstr "" -#: src/utils.c:1945 +#: src/utils.c:1964 #, c-format msgid "" "The clip %s is missing from this set.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1949 +#: src/utils.c:1968 #, c-format msgid "" "The clip %s has been closed.\n" "It is required by the following layouts:\n" msgstr "" -#: src/utils.c:1954 +#: src/utils.c:1973 #, c-format msgid "" "Frames have been shifted in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1959 +#: src/utils.c:1978 #, c-format msgid "" "Frames have been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1964 +#: src/utils.c:1983 #, c-format msgid "" "Audio has been deleted from the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1969 +#: src/utils.c:1988 #, c-format msgid "" "Audio has been shifted in clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1974 +#: src/utils.c:1993 #, c-format msgid "" "Audio has been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:1979 +#: src/utils.c:1998 #, c-format msgid "" "Frames have been altered in the clip %s.\n" "The following layouts are affected:\n" msgstr "" -#: src/utils.c:2152 +#: src/utils.c:2171 #, c-format msgid "" "Set %s\n" @@ -4315,7 +4320,7 @@ "by another copy of LiVES.\n" msgstr "" -#: src/utils.c:2158 +#: src/utils.c:2177 #, c-format msgid "" "\n" @@ -4323,7 +4328,7 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2188 +#: src/utils.c:2207 #, fuzzy, c-format msgid "" "\n" @@ -4332,7 +4337,7 @@ "\n" "设置名称可能不能为空。\n" -#: src/utils.c:2196 +#: src/utils.c:2215 #, fuzzy, c-format msgid "" "\n" @@ -4341,25 +4346,25 @@ "\n" "设置名称可能不能为空。\n" -#: src/utils.c:2204 +#: src/utils.c:2223 #, c-format msgid "" "\n" "%s names may not contain spaces or the characters%s.\n" msgstr "" -#: src/utils.c:2213 +#: src/utils.c:2232 #, c-format msgid "" "\n" "%s names may not start with a '.' or contain '..'\n" msgstr "" -#: src/utils.c:2245 +#: src/utils.c:2264 msgid "Set" msgstr "" -#: src/utils.c:2255 +#: src/utils.c:2274 #, c-format msgid "" "\n" @@ -4367,72 +4372,72 @@ "Please choose another set name.\n" msgstr "" -#: src/utils.c:2632 +#: src/utils.c:2651 #, c-format msgid "Removing layout %s\n" msgstr "" -#: src/utils.c:2942 +#: src/utils.c:3005 msgid "Video [opening...]" msgstr "" -#: src/utils.c:2945 +#: src/utils.c:3008 #, c-format msgid "Video [%.2f sec]" msgstr "" -#: src/utils.c:2948 +#: src/utils.c:3011 msgid "(Undefined)" msgstr "" -#: src/utils.c:2950 +#: src/utils.c:3013 msgid "(No video)" msgstr "(无视频)" -#: src/utils.c:2957 +#: src/utils.c:3020 msgid "(No audio)" msgstr "(无音频)" -#: src/utils.c:2961 +#: src/utils.c:3024 msgid "Mono [opening...]" msgstr "" -#: src/utils.c:2963 +#: src/utils.c:3026 msgid "Left Audio [opening...]" msgstr "" -#: src/utils.c:2967 +#: src/utils.c:3030 #, c-format msgid "Mono [%.2f sec]" msgstr "" -#: src/utils.c:2969 +#: src/utils.c:3032 #, c-format msgid "Left Audio [%.2f sec]" msgstr "" -#: src/utils.c:2977 +#: src/utils.c:3040 msgid "Right Audio [opening...]" msgstr "" -#: src/utils.c:2979 +#: src/utils.c:3042 #, c-format msgid "Right Audio [%.2f sec]" msgstr "" -#: src/utils.c:3439 +#: src/utils.c:3495 msgid "LiVES cannot switch to mplayer whilst clips are loading." msgstr "" -#: src/utils.c:3492 +#: src/utils.c:3548 msgid "LiVES cannot switch to mplayer2 whilst clips are loading." msgstr "" -#: src/utils.c:3745 +#: src/utils.c:3801 msgid "Cleaning up clip" msgstr "清理剪辑" -#: src/utils.c:3854 +#: src/utils.c:3910 #, c-format msgid "" "\n" @@ -4442,29 +4447,29 @@ "Overwrite ?\n" msgstr "" -#: src/utils.c:4463 src/utils.c:4493 src/multitrack.c:4673 +#: src/utils.c:4519 src/utils.c:4549 src/multitrack.c:4571 #, c-format msgid "_Undo %s" msgstr "撤消 %s(_U)" -#: src/utils.c:4464 src/utils.c:4494 src/multitrack.c:4694 +#: src/utils.c:4520 src/utils.c:4550 src/multitrack.c:4591 #, c-format msgid "_Redo %s" msgstr "重做 %s(_R)" -#: src/utils.c:4517 +#: src/utils.c:4573 msgid "-------------Selection------------" msgstr "-------------选择------------" -#: src/utils.c:4525 +#: src/utils.c:4581 msgid " sec ] ----------Selection---------- [ " msgstr "" -#: src/utils.c:4526 +#: src/utils.c:4582 msgid " frames ] ----------" msgstr " 帧 ] ----------" -#: src/utils.c:5474 +#: src/utils.c:5530 msgid "" "Your version of mplayer/ffmpeg may be broken !\n" "See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071\n" @@ -4489,7 +4494,7 @@ msgid "Opening %s start time %.2f sec. frames %d" msgstr "" -#: src/saveplay.c:315 src/saveplay.c:3780 +#: src/saveplay.c:315 src/saveplay.c:3779 msgid " without sound" msgstr " 无声" @@ -4594,7 +4599,7 @@ msgstr "" #: src/saveplay.c:1441 src/saveplay.c:1563 src/saveplay.c:1639 -#: src/saveplay.c:3793 +#: src/saveplay.c:3792 msgid "Pulling frames from clip" msgstr "从剪辑中抽取帧" @@ -4648,12 +4653,12 @@ msgid "Recording performance..." msgstr "记录性能..." -#: src/saveplay.c:3086 +#: src/saveplay.c:3085 #, c-format msgid "Average FPS was %.4f\n" msgstr "" -#: src/saveplay.c:3091 +#: src/saveplay.c:3090 msgid "" "\n" "\n" @@ -4662,21 +4667,21 @@ "and resize all frames to the current size.\n" msgstr "" -#: src/saveplay.c:3263 +#: src/saveplay.c:3262 msgid "Unknown" msgstr "未知" -#: src/saveplay.c:3369 src/saveplay.c:4351 +#: src/saveplay.c:3368 src/saveplay.c:4350 #, c-format msgid "Untitled%d" msgstr "未命名%d" -#: src/saveplay.c:3411 +#: src/saveplay.c:3410 #, c-format msgid "%d frames are enough !\n" msgstr "%d个帧够了!\n" -#: src/saveplay.c:3421 +#: src/saveplay.c:3420 #, c-format msgid "" "\n" @@ -4684,13 +4689,13 @@ "%s\n" msgstr "" -#: src/saveplay.c:3423 +#: src/saveplay.c:3422 msgid "" "\n" "An error occurred opening the file\n" msgstr "" -#: src/saveplay.c:3435 +#: src/saveplay.c:3434 #, c-format msgid "" "\n" @@ -4698,7 +4703,7 @@ "Bad things may happen with this clip.\n" msgstr "" -#: src/saveplay.c:3523 +#: src/saveplay.c:3522 #, c-format msgid "" "\n" @@ -4706,73 +4711,73 @@ "Default can be set in Tools | Preferences | Misc.\n" msgstr "" -#: src/saveplay.c:3533 +#: src/saveplay.c:3532 #, c-format msgid "Playback speed was adjusted to %.3f frames per second to fit audio.\n" msgstr "" -#: src/saveplay.c:3550 +#: src/saveplay.c:3549 #, c-format msgid "" "Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3554 src/saveplay.c:4515 +#: src/saveplay.c:3553 src/saveplay.c:4514 #, c-format msgid "" "Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\n" "Audio:" msgstr "" -#: src/saveplay.c:3559 src/saveplay.c:4520 +#: src/saveplay.c:3558 src/saveplay.c:4519 #, c-format msgid "%s none\n" msgstr "" -#: src/saveplay.c:3570 +#: src/saveplay.c:3569 #, c-format msgid " - Author: %s\n" msgstr "" -#: src/saveplay.c:3573 +#: src/saveplay.c:3572 #, c-format msgid " - Title: %s\n" msgstr "" -#: src/saveplay.c:3576 +#: src/saveplay.c:3575 #, c-format msgid " - Comment: %s\n" msgstr "" -#: src/saveplay.c:3682 +#: src/saveplay.c:3681 #, c-format msgid "Saving frame %d as %s..." msgstr "" -#: src/saveplay.c:3777 +#: src/saveplay.c:3776 #, c-format msgid "Backing up %s to %s" msgstr "" -#: src/saveplay.c:3828 +#: src/saveplay.c:3827 msgid "Backing up" msgstr "备份" -#: src/saveplay.c:3862 +#: src/saveplay.c:3861 msgid "performance data was backed up..." msgstr "性能数据备份..." -#: src/saveplay.c:4422 +#: src/saveplay.c:4421 #, c-format msgid "Restoring %s..." msgstr "" -#: src/saveplay.c:4451 +#: src/saveplay.c:4450 msgid "Restoring" msgstr "还原中" -#: src/saveplay.c:4469 +#: src/saveplay.c:4468 #, c-format msgid "" "\n" @@ -4820,12 +4825,12 @@ msgid "Recovering files..." msgstr "" -#: src/dialogs.c:87 +#: src/dialogs.c:83 #, fuzzy msgid "Show affeced _layouts" msgstr "显示受影响的布局(_L)" -#: src/dialogs.c:121 +#: src/dialogs.c:114 msgid "" "Do _not show this warning any more\n" "(can be turned back on from Preferences/Warnings)" @@ -4833,51 +4838,51 @@ "不再显示此警告(_N)\n" "(可以从 偏好设置/警告 中重新开启)" -#: src/dialogs.c:131 +#: src/dialogs.c:124 msgid "_Recover disk space" msgstr "" -#: src/dialogs.c:145 +#: src/dialogs.c:137 msgid " _Advanced Settings >>" msgstr "" -#: src/dialogs.c:187 src/dialogs.c:225 +#: src/dialogs.c:175 src/dialogs.c:212 #, fuzzy msgid "Warning !" msgstr "警告" -#: src/dialogs.c:198 +#: src/dialogs.c:186 #, fuzzy msgid "Error !" msgstr "LiVES: - 插入" -#: src/dialogs.c:208 +#: src/dialogs.c:196 #, fuzzy msgid "Information" msgstr "LiVES:%s 信息" -#: src/dialogs.c:234 +#: src/dialogs.c:221 msgid "Question" msgstr "" -#: src/dialogs.c:248 +#: src/dialogs.c:235 #, fuzzy msgid "File Error" msgstr "清除_错误" -#: src/dialogs.c:249 +#: src/dialogs.c:236 msgid "_Abort" msgstr "" -#: src/dialogs.c:253 +#: src/dialogs.c:240 msgid "_Retry" msgstr "" -#: src/dialogs.c:318 +#: src/dialogs.c:304 msgid "Show _Details" msgstr "显示详情(_D)" -#: src/dialogs.c:650 +#: src/dialogs.c:584 #, c-format msgid "" "FREE SPACE IN THE PARTITION CONTAINING\n" @@ -4888,7 +4893,7 @@ "(Disk warning levels can be configured in Preferences.)" msgstr "" -#: src/dialogs.c:670 +#: src/dialogs.c:603 #, c-format msgid "" "Free space in the partition containing\n" @@ -4900,11 +4905,11 @@ "Preferences.)" msgstr "" -#: src/dialogs.c:683 +#: src/dialogs.c:616 msgid "Audio players cannot be switched during playback." msgstr "音频播放器不能播放过程中进行切换。" -#: src/dialogs.c:689 +#: src/dialogs.c:622 msgid "" "\n" "\n" @@ -4912,46 +4917,46 @@ "Please try closing some other applications first.\n" msgstr "" -#: src/dialogs.c:852 +#: src/dialogs.c:780 msgid "Processing has been paused." msgstr "" -#: src/dialogs.c:1037 +#: src/dialogs.c:962 #, c-format msgid "" "\n" "%s%d%% done. Time remaining: %u sec%s\n" msgstr "" -#: src/dialogs.c:1450 +#: src/dialogs.c:1362 #, c-format msgid "" "\n" "%d/%d frames opened. Time remaining %u sec.\n" msgstr "" -#: src/dialogs.c:1452 +#: src/dialogs.c:1364 #, c-format msgid "" "\n" "%d/%d frames opened.\n" msgstr "" -#: src/dialogs.c:1455 +#: src/dialogs.c:1367 #, c-format msgid "" "\n" "%d frames opened.\n" msgstr "" -#: src/dialogs.c:2139 +#: src/dialogs.c:2034 #, c-format msgid "" "\n" "Time remaining: %d sec" msgstr "" -#: src/dialogs.c:2186 +#: src/dialogs.c:2079 #, c-format msgid "" "\n" @@ -4959,7 +4964,7 @@ "Please close a file and then try again." msgstr "" -#: src/dialogs.c:2193 +#: src/dialogs.c:2086 #, c-format msgid "" "LiVES was unable to write to its working directory.\n" @@ -4971,7 +4976,7 @@ "Please make sure you can write to this directory." msgstr "" -#: src/dialogs.c:2205 +#: src/dialogs.c:2098 #, fuzzy msgid "" "\n" @@ -4981,7 +4986,7 @@ "\n" "LiVES 目前需要 'mplayer' 或 'sox' 以正常工作。请至少安装其中之一并重试。\n" -#: src/dialogs.c:2212 +#: src/dialogs.c:2105 #, fuzzy msgid "" "\n" @@ -4991,7 +4996,7 @@ "\n" "LiVES 目前需要 'mplayer' 或 'sox' 以正常工作。请至少安装其中之一并重试。\n" -#: src/dialogs.c:2218 +#: src/dialogs.c:2111 #, fuzzy msgid "" "\n" @@ -5001,26 +5006,26 @@ "\n" "LiVES 目前需要 'mplayer' 或 'sox' 以正常工作。请至少安装其中之一并重试。\n" -#: src/dialogs.c:2225 +#: src/dialogs.c:2117 msgid "" "Audio was not loaded; please install mplayer or mplayer2 if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2227 +#: src/dialogs.c:2119 msgid "" "Audio was not loaded; please install mplayer,mplayer2 or mpv if you expected " "audio for this clip.\n" msgstr "" -#: src/dialogs.c:2233 +#: src/dialogs.c:2125 msgid "" "Audio resampling is required for this format.\n" "Please install 'sox'\n" "Or switch to another encoder format in Tools | Preferences | Encoding\n" msgstr "" -#: src/dialogs.c:2239 +#: src/dialogs.c:2131 msgid "" "\n" "\n" @@ -5028,19 +5033,19 @@ "Please set the audio codec in Tools|Preferences|Encoding\n" msgstr "" -#: src/dialogs.c:2244 +#: src/dialogs.c:2136 msgid "" "This layout includes generated frames.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2249 +#: src/dialogs.c:2141 msgid "" "This layout includes generated or recorded audio.\n" "It cannot be saved, you must render it to a clip first.\n" msgstr "" -#: src/dialogs.c:2259 src/dialogs.c:2353 +#: src/dialogs.c:2150 src/dialogs.c:2243 #, c-format msgid "" "\n" @@ -5048,49 +5053,49 @@ "Due to restrictions in the %s format\n" msgstr "" -#: src/dialogs.c:2279 +#: src/dialogs.c:2170 msgid "" "LiVES recommends the following settings:\n" "\n" msgstr "" -#: src/dialogs.c:2285 src/dialogs.c:2389 src/resample.c:875 +#: src/dialogs.c:2176 src/dialogs.c:2278 src/resample.c:876 msgid ", signed" msgstr "" -#: src/dialogs.c:2286 src/dialogs.c:2390 src/resample.c:877 +#: src/dialogs.c:2177 src/dialogs.c:2279 src/resample.c:878 msgid ", unsigned" msgstr "" -#: src/dialogs.c:2290 src/dialogs.c:2394 src/resample.c:882 +#: src/dialogs.c:2181 src/dialogs.c:2283 src/resample.c:883 msgid ", little-endian" msgstr ",小端" -#: src/dialogs.c:2291 src/dialogs.c:2395 src/resample.c:884 +#: src/dialogs.c:2182 src/dialogs.c:2284 src/resample.c:885 msgid ", big-endian" msgstr ",大端" -#: src/dialogs.c:2296 +#: src/dialogs.c:2187 #, c-format msgid "Use an audio rate of %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2304 +#: src/dialogs.c:2195 #, c-format msgid "Set video rate to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2307 +#: src/dialogs.c:2198 #, c-format msgid "Set video rate to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2312 src/dialogs.c:2422 +#: src/dialogs.c:2203 src/dialogs.c:2311 #, c-format msgid "Set video size to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2320 src/dialogs.c:2421 +#: src/dialogs.c:2211 src/dialogs.c:2310 msgid "" "\n" "You may wish to:\n" @@ -5098,35 +5103,35 @@ "\n" "您可能希望:\n" -#: src/dialogs.c:2323 src/dialogs.c:2413 +#: src/dialogs.c:2214 src/dialogs.c:2302 #, c-format msgid "resize video to %d x %d pixels\n" msgstr "" -#: src/dialogs.c:2327 +#: src/dialogs.c:2218 msgid "disable audio, since the target encoder cannot encode audio\n" msgstr "" -#: src/dialogs.c:2385 +#: src/dialogs.c:2274 msgid "LiVES must:\n" msgstr "" -#: src/dialogs.c:2399 +#: src/dialogs.c:2288 #, c-format msgid "resample audio to %d Hz%s%s\n" msgstr "" -#: src/dialogs.c:2406 +#: src/dialogs.c:2295 #, c-format msgid "resample video to %.3f frames per second\n" msgstr "" -#: src/dialogs.c:2409 +#: src/dialogs.c:2298 #, c-format msgid "resample video to %d:%d frames per second\n" msgstr "" -#: src/dialogs.c:2427 +#: src/dialogs.c:2316 msgid "" "\n" "You will be able to undo these changes afterwards.\n" @@ -5135,7 +5140,7 @@ "\n" msgstr "" -#: src/dialogs.c:2429 +#: src/dialogs.c:2318 msgid "" "\n" "Changes applied to the selection will not be permanent.\n" @@ -5145,7 +5150,7 @@ "更改应用到的选区不会是永久的。\n" "\n" -#: src/dialogs.c:2449 +#: src/dialogs.c:2338 msgid "" "\n" "\n" @@ -5154,7 +5159,7 @@ "Try recording for just a selection of the file." msgstr "" -#: src/dialogs.c:2457 +#: src/dialogs.c:2346 msgid "" "The playback speed (fps), or the audio rate\n" " of the clipboard does not match\n" @@ -5165,7 +5170,7 @@ "Please press Cancel to abort the insert, or OK to continue." msgstr "" -#: src/dialogs.c:2470 +#: src/dialogs.c:2359 #, c-format msgid "" "When opening a yuvmpeg stream, you should first create a fifo file in:\n" @@ -5178,18 +5183,18 @@ "click Cancel." msgstr "" -#: src/dialogs.c:2531 +#: src/dialogs.c:2419 msgid "Message History" msgstr "消息历史" -#: src/dialogs.c:2544 +#: src/dialogs.c:2427 #, c-format msgid "" "After upgrading/installing, you may need to adjust the <prefix_dir> setting " "in your %s file" msgstr "" -#: src/dialogs.c:2555 +#: src/dialogs.c:2438 #, c-format msgid "" "\n" @@ -5200,25 +5205,25 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/dialogs.c:2564 +#: src/dialogs.c:2447 msgid "" "Sorry, unknown audio type.\n" "\n" " (Filenames must end in" msgstr "" -#: src/dialogs.c:2586 +#: src/dialogs.c:2469 msgid "failed (unknown type)\n" msgstr "" -#: src/dialogs.c:2592 +#: src/dialogs.c:2475 msgid "" "\n" "Do you wish to remove the layout files associated with this set ?\n" "(They will not be usable without the set).\n" msgstr "" -#: src/dialogs.c:2598 +#: src/dialogs.c:2481 #, c-format msgid "" "\n" @@ -5227,7 +5232,7 @@ "Click Cancel to pick a new name.\n" msgstr "" -#: src/dialogs.c:2606 +#: src/dialogs.c:2490 msgid "" "\n" "Frames from this clip are used in some multitrack layouts.\n" @@ -5235,7 +5240,7 @@ "." msgstr "" -#: src/dialogs.c:2610 +#: src/dialogs.c:2495 msgid "" "\n" "Audio from this clip is used in some multitrack layouts.\n" @@ -5243,7 +5248,7 @@ "." msgstr "" -#: src/dialogs.c:2615 +#: src/dialogs.c:2501 #, c-format msgid "" "\n" @@ -5254,7 +5259,7 @@ "Otherwise click Cancel to skip loading this file.\n" msgstr "" -#: src/dialogs.c:2624 +#: src/dialogs.c:2511 #, c-format msgid "" "\n" @@ -5264,7 +5269,7 @@ "The clip could not be loaded.\n" msgstr "" -#: src/dialogs.c:2633 +#: src/dialogs.c:2520 msgid "" "\n" "Dear user, the jack developers decided to remove the -Z option from jackd.\n" @@ -5272,7 +5277,7 @@ "Alternately, select a different audio player in Preferences.\n" msgstr "" -#: src/dialogs.c:2639 +#: src/dialogs.c:2526 msgid "" "\n" "Unable to start up jack. Please ensure that alsa is set up correctly on your " @@ -5281,13 +5286,13 @@ "Automatic jack startup will be disabled now.\n" msgstr "" -#: src/dialogs.c:2646 +#: src/dialogs.c:2533 msgid "" "\n" "Unable to connect to jack server. Please start jack before starting LiVES\n" msgstr "" -#: src/dialogs.c:2655 +#: src/dialogs.c:2542 #, c-format msgid "" "\n" @@ -5298,13 +5303,13 @@ "%s\n" msgstr "" -#: src/dialogs.c:2662 +#: src/dialogs.c:2549 msgid "" "\n" "Alternately, you can restart LiVES and select another audio player.\n" msgstr "" -#: src/dialogs.c:2668 +#: src/dialogs.c:2555 #, c-format msgid "" "\n" @@ -5314,7 +5319,7 @@ "It is recommended to increase it to at least %d MB" msgstr "" -#: src/dialogs.c:2677 +#: src/dialogs.c:2564 #, c-format msgid "" "\n" @@ -5323,7 +5328,7 @@ "Do you wish to delete them ?\n" msgstr "" -#: src/dialogs.c:2685 +#: src/dialogs.c:2572 msgid "" "\n" "LiVES was unable to reserve enough memory for multitrack undo.\n" @@ -5331,7 +5336,7 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2690 +#: src/dialogs.c:2577 msgid "" "\n" "Out of memory for undo.\n" @@ -5339,56 +5344,56 @@ "using Preferences/Multitrack/Undo Memory\n" msgstr "" -#: src/dialogs.c:2694 +#: src/dialogs.c:2581 msgid "" "\n" "LiVES was unable to reserve enough memory for the multitrack undo buffer.\n" msgstr "" -#: src/dialogs.c:2696 +#: src/dialogs.c:2583 msgid "or enter a smaller value.\n" msgstr "" -#: src/dialogs.c:2698 +#: src/dialogs.c:2585 msgid "Try again from the clip editor, try closing some other applications\n" msgstr "" -#: src/dialogs.c:2699 +#: src/dialogs.c:2586 msgid "Try closing some other applications\n" msgstr "" -#: src/dialogs.c:2711 +#: src/dialogs.c:2598 msgid "" "Multitrack is set to 0 audio channels, but this layout has audio.\n" "You should adjust the audio settings from the Tools menu.\n" msgstr "" -#: src/dialogs.c:2716 +#: src/dialogs.c:2603 msgid "" "The current layout has audio, so audio channels may not be set to zero.\n" msgstr "" -#: src/dialogs.c:2721 +#: src/dialogs.c:2608 msgid "" "Multitrack audio preview is only available with the\n" "\"jack\" or \"pulse audio\" audio player.\n" "You can set this in Tools|Preferences|Playback." msgstr "" -#: src/dialogs.c:2727 +#: src/dialogs.c:2614 msgid "" "Errors were detected in the layout (which may be due to transferring from " "another system, or from an older version of LiVES).\n" "Should I try to repair the disk copy of the layout ?\n" msgstr "" -#: src/dialogs.c:2732 +#: src/dialogs.c:2619 msgid "" "LiVES was unable to load the layout.\n" "Sorry.\n" msgstr "" -#: src/dialogs.c:2738 +#: src/dialogs.c:2625 #, fuzzy msgid "" "LiVES currently requires composite from ImageMagick to do letterboxing.\n" @@ -5397,7 +5402,7 @@ "\n" "LiVES 目前需要 'mplayer' 或 'sox' 以正常工作。请至少安装其中之一并重试。\n" -#: src/dialogs.c:2744 +#: src/dialogs.c:2631 #, fuzzy msgid "" "LiVES currently requires convert from ImageMagick to do letterboxing.\n" @@ -5406,7 +5411,7 @@ "\n" "LiVES 目前需要 'mplayer' 或 'sox' 以正常工作。请至少安装其中之一并重试。\n" -#: src/dialogs.c:2750 +#: src/dialogs.c:2637 #, fuzzy msgid "" "LiVES currently requires convert from ImageMagick resize frames.\n" @@ -5415,14 +5420,14 @@ "\n" "LiVES 目前需要 'mplayer' 或 'sox' 以正常工作。请至少安装其中之一并重试。\n" -#: src/dialogs.c:2755 +#: src/dialogs.c:2642 msgid "" "\n" "\n" "Audio rate must be greater than 0.\n" msgstr "" -#: src/dialogs.c:2759 +#: src/dialogs.c:2646 msgid "" "\n" "Event list will be very large\n" @@ -5430,14 +5435,14 @@ "Are you sure you wish to view it ?\n" msgstr "" -#: src/dialogs.c:2764 +#: src/dialogs.c:2651 msgid "" "\n" "\n" "You must install 'dvgrab' to use this function.\n" msgstr "" -#: src/dialogs.c:2770 +#: src/dialogs.c:2657 msgid "" "\n" "\n" @@ -5446,25 +5451,25 @@ "You may need to select one of these in Tools/Preferences/Playback.\n" msgstr "" -#: src/dialogs.c:2775 +#: src/dialogs.c:2662 msgid "Video playback plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2780 +#: src/dialogs.c:2667 msgid "Decoder plugin failed to initialise palette !\n" msgstr "" -#: src/dialogs.c:2785 +#: src/dialogs.c:2672 msgid "Unable to set framerate of video plugin\n" msgstr "" -#: src/dialogs.c:2791 +#: src/dialogs.c:2678 msgid "" "After a crash, it is advisable to clean up the disk with\n" "File|Clean up disk space\n" msgstr "" -#: src/dialogs.c:2805 +#: src/dialogs.c:2692 #, c-format msgid "" "Stream frame size is too large for your network buffers.\n" @@ -5473,33 +5478,33 @@ "echo %d > /proc/sys/net/core/rmem_max\n" msgstr "" -#: src/dialogs.c:2993 +#: src/dialogs.c:2878 msgid "cancelled.\n" msgstr "" -#: src/dialogs.c:2998 +#: src/dialogs.c:2883 msgid "failed.\n" msgstr "失败。\n" -#: src/dialogs.c:3003 +#: src/dialogs.c:2888 msgid "done.\n" msgstr "完成。\n" -#: src/dialogs.c:3007 +#: src/dialogs.c:2892 msgid "error in file. Failed.\n" msgstr "" -#: src/dialogs.c:3041 src/dialogs.c:3094 src/dialogs.c:3118 +#: src/dialogs.c:2926 src/dialogs.c:2979 src/dialogs.c:3003 #, c-format msgid "Additional info: %s\n" msgstr "" -#: src/dialogs.c:3044 +#: src/dialogs.c:2929 #, c-format msgid "The error value was %d%s\n" msgstr "" -#: src/dialogs.c:3047 +#: src/dialogs.c:2932 #, c-format msgid "" "\n" @@ -5509,7 +5514,7 @@ "%s%s%s" msgstr "" -#: src/dialogs.c:3097 +#: src/dialogs.c:2982 #, c-format msgid "" "\n" @@ -5519,7 +5524,7 @@ "%s" msgstr "" -#: src/dialogs.c:3121 +#: src/dialogs.c:3006 #, c-format msgid "" "\n" @@ -5529,7 +5534,7 @@ "%s" msgstr "" -#: src/dialogs.c:3169 +#: src/dialogs.c:3053 #, c-format msgid "" "\n" @@ -5538,7 +5543,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3172 +#: src/dialogs.c:3056 #, c-format msgid "" "\n" @@ -5548,7 +5553,7 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3203 +#: src/dialogs.c:3086 #, c-format msgid "" "\n" @@ -5557,7 +5562,7 @@ "Please check for possible error causes.\n" msgstr "" -#: src/dialogs.c:3206 +#: src/dialogs.c:3089 #, c-format msgid "" "\n" @@ -5567,12 +5572,12 @@ "%s.\n" msgstr "" -#: src/dialogs.c:3274 +#: src/dialogs.c:3154 #, c-format msgid "Value for \"%s\" could not be read." msgstr "" -#: src/dialogs.c:3292 +#: src/dialogs.c:3171 #, c-format msgid "" "\n" @@ -5581,7 +5586,7 @@ "Please check your system for errors.\n" msgstr "" -#: src/dialogs.c:3301 +#: src/dialogs.c:3179 #, c-format msgid "" "\n" @@ -5590,7 +5595,7 @@ "Please check the file permissions and try again." msgstr "" -#: src/dialogs.c:3310 +#: src/dialogs.c:3188 #, c-format msgid "" "\n" @@ -5599,7 +5604,7 @@ "Please check the directory permissions and try again." msgstr "" -#: src/dialogs.c:3317 +#: src/dialogs.c:3195 #, c-format msgid "" "\n" @@ -5607,14 +5612,14 @@ "%s\n" msgstr "" -#: src/dialogs.c:3324 +#: src/dialogs.c:3202 msgid "" "\n" "Abort and exit immediately from LiVES\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3330 +#: src/dialogs.c:3207 #, c-format msgid "" "\n" @@ -5622,13 +5627,13 @@ "Please select another encoder from the list.\n" msgstr "" -#: src/dialogs.c:3340 +#: src/dialogs.c:3217 msgid "" "\n" "This card is already in use and cannot be opened multiple times.\n" msgstr "" -#: src/dialogs.c:3346 +#: src/dialogs.c:3223 #, c-format msgid "" "\n" @@ -5638,27 +5643,27 @@ "- Check if the device actually exists.\n" msgstr "" -#: src/dialogs.c:3355 +#: src/dialogs.c:3232 msgid "" "\n" "This file already has subtitles loaded.\n" "Do you wish to overwrite the existing subtitles ?\n" msgstr "" -#: src/dialogs.c:3359 +#: src/dialogs.c:3236 msgid "" "\n" "LiVES currently only supports subtitles of type" msgstr "" -#: src/dialogs.c:3384 +#: src/dialogs.c:3262 msgid "" "\n" "Erase all subtitles from this clip.\n" "Are you sure ?\n" msgstr "" -#: src/dialogs.c:3391 +#: src/dialogs.c:3269 #, c-format msgid "" "\n" @@ -5667,14 +5672,14 @@ "or OK to continue and save as type \"%s\"\n" msgstr "" -#: src/dialogs.c:3399 +#: src/dialogs.c:3278 msgid "" "\n" "Do you wish to move the current clip sets to the new directory ?\n" "(If unsure, click Yes)\n" msgstr "" -#: src/dialogs.c:3404 +#: src/dialogs.c:3284 #, c-format msgid "" "\n" @@ -5685,19 +5690,19 @@ "." msgstr "" -#: src/dialogs.c:3411 +#: src/dialogs.c:3292 msgid "" "\n" "No video input devices could be found.\n" msgstr "" -#: src/dialogs.c:3415 +#: src/dialogs.c:3297 msgid "" "\n" "All video input devices are already in use.\n" msgstr "" -#: src/dialogs.c:3419 +#: src/dialogs.c:3302 msgid "" "\n" "\n" @@ -5705,7 +5710,7 @@ "DO NOT SHUT DOWN OR CLOSE LIVES !\n" msgstr "" -#: src/dialogs.c:3425 +#: src/dialogs.c:3309 #, fuzzy, c-format msgid "" "\n" @@ -5716,14 +5721,14 @@ "有些 %s 在布局 %s 中找不到\n" "因此不能正确加载。\n" -#: src/dialogs.c:3432 +#: src/dialogs.c:3316 #, c-format msgid "" "No clips were recovered for set (%s).\n" "Please check the spelling of the set name and try again.\n" msgstr "" -#: src/dialogs.c:3445 +#: src/dialogs.c:3329 #, c-format msgid "" "Some security issues have been fixed in this version of LiVES.\n" @@ -5732,7 +5737,7 @@ "directory. Would you like me to do this (recommended) ?" msgstr "" -#: src/dialogs.c:3449 +#: src/dialogs.c:3333 #, c-format msgid "" "\n" @@ -5744,7 +5749,7 @@ msgstr "" #. TRANSLATORS: make sure the menu text matches what is in gui.c -#: src/dialogs.c:3458 +#: src/dialogs.c:3342 #, c-format msgid "" "\n" @@ -5753,38 +5758,38 @@ "\n" msgstr "" -#: src/dialogs.c:3464 +#: src/dialogs.c:3348 msgid "" "\n" "You must have autolives.pl installed and in your path to use this toy.\n" "Consult your package distributor.\n" msgstr "" -#: src/dialogs.c:3468 +#: src/dialogs.c:3353 msgid "" "\n" "You must have a minimum of one clip loaded to use this toy.\n" msgstr "" -#: src/dialogs.c:3472 +#: src/dialogs.c:3358 msgid "" "\n" "LiVES lost its connection to jack and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3476 +#: src/dialogs.c:3363 msgid "" "\n" "LiVES lost its connection to pulseaudio and was unable to reconnect.\n" "Restarting LiVES is recommended.\n" msgstr "" -#: src/dialogs.c:3481 +#: src/dialogs.c:3368 msgid "Please set your CD play device in Tools | Preferences | Misc\n" msgstr "请在 工具 | 首选项 | 杂项 中设置您的光盘播放设备\n" -#: src/dialogs.c:3486 +#: src/dialogs.c:3373 #, c-format msgid "" "\n" @@ -5793,7 +5798,7 @@ "(Theme name not found).\n" msgstr "" -#: src/dialogs.c:3494 +#: src/dialogs.c:3381 #, c-format msgid "" "\n" @@ -5802,7 +5807,7 @@ "already exists. Would you like to overwrite it ?\n" msgstr "" -#: src/dialogs.c:3511 +#: src/dialogs.c:3397 #, c-format msgid "" "\n" @@ -5943,7 +5948,7 @@ msgid "Video only Transitions" msgstr "" -#: src/effects.c:117 src/multitrack.c:10846 +#: src/effects.c:117 src/multitrack.c:10571 msgid "audio only" msgstr "" @@ -5951,7 +5956,7 @@ msgid "Audio only Transitions" msgstr "" -#: src/effects.c:120 src/effects.c:123 src/multitrack.c:19145 +#: src/effects.c:120 src/effects.c:123 src/multitrack.c:18563 msgid "audio" msgstr "音频" @@ -5995,7 +6000,7 @@ msgid "Audio Analysers" msgstr "" -#: src/effects.c:140 src/plugins.c:2471 src/plugins.c:2485 +#: src/effects.c:140 src/plugins.c:2465 src/plugins.c:2479 msgid "unknown" msgstr "未知" @@ -6050,359 +6055,359 @@ "No frames were generated.\n" msgstr "" -#: src/effects-weed.c:342 +#: src/effects-weed.c:336 msgid "Memory allocation error" msgstr "" -#: src/effects-weed.c:344 +#: src/effects-weed.c:338 msgid "Read only property" msgstr "" -#: src/effects-weed.c:346 +#: src/effects-weed.c:340 #, fuzzy msgid "Invalid element" msgstr "无效参数" -#: src/effects-weed.c:348 +#: src/effects-weed.c:342 #, fuzzy msgid "Invalid property" msgstr "无效参数" -#: src/effects-weed.c:350 +#: src/effects-weed.c:344 msgid "Incorrect property type" msgstr "" -#: src/effects-weed.c:352 +#: src/effects-weed.c:346 msgid "Too many instances" msgstr "" -#: src/effects-weed.c:354 +#: src/effects-weed.c:348 msgid "Fatal plugin error" msgstr "" -#: src/effects-weed.c:356 +#: src/effects-weed.c:350 msgid "Initialization error" msgstr "" -#: src/effects-weed.c:358 +#: src/effects-weed.c:352 msgid "Invalid plugin" msgstr "" -#: src/effects-weed.c:363 +#: src/effects-weed.c:357 #, fuzzy msgid "No error" msgstr "清除_错误" -#: src/effects-weed.c:507 +#: src/effects-weed.c:500 msgid "integer" msgstr "" -#: src/effects-weed.c:509 +#: src/effects-weed.c:502 msgid "int64" msgstr "" -#: src/effects-weed.c:511 +#: src/effects-weed.c:504 msgid "boolean" msgstr "" -#: src/effects-weed.c:513 +#: src/effects-weed.c:506 msgid "double" msgstr "" -#: src/effects-weed.c:515 +#: src/effects-weed.c:508 msgid "string" msgstr "" -#: src/effects-weed.c:517 +#: src/effects-weed.c:510 msgid "pointer" msgstr "" -#: src/effects-weed.c:4781 +#: src/effects-weed.c:4690 #, c-format msgid "Error: plugin %s has no weed_setup() function.\n" msgstr "" -#: src/effects-weed.c:4795 +#: src/effects-weed.c:4703 #, c-format msgid "No usable filters found in plugin %s\n" msgstr "" -#: src/effects-weed.c:4868 +#: src/effects-weed.c:4776 #, c-format msgid "Found duplicate plugin %s" msgstr "" -#: src/effects-weed.c:4923 +#: src/effects-weed.c:4829 #, c-format msgid "" "Info: Unable to load plugin %s\n" "Error was: %s\n" msgstr "" -#: src/effects-weed.c:4926 src/effects-weed.c:6029 +#: src/effects-weed.c:4832 src/effects-weed.c:5907 msgid "Some plugin directories" msgstr "" #. TRANSLATORS: example " - LADSPA plugins -" -#: src/effects-weed.c:5001 src/rte_window.c:2113 +#: src/effects-weed.c:4904 src/rte_window.c:2113 #, c-format msgid " - %s plugins -" msgstr "" -#: src/effects-weed.c:5185 +#: src/effects-weed.c:5085 #, c-format msgid "Successfully loaded %d Weed filters\n" msgstr "" -#: src/effects-weed.c:5350 +#: src/effects-weed.c:5243 #, c-format msgid "Invalid compound effect %s - has conflicting target_fps\n" msgstr "" -#: src/effects-weed.c:5370 +#: src/effects-weed.c:5261 #, c-format msgid "Invalid compound effect %s - has multiple transition parameters\n" msgstr "" -#: src/effects-weed.c:5384 +#: src/effects-weed.c:5275 #, c-format msgid "Invalid compound effect %s - has multiple master volume parameters\n" msgstr "" -#: src/effects-weed.c:5517 +#: src/effects-weed.c:5404 #, c-format msgid "Invalid compound effect %s - must have >1 sub filters\n" msgstr "" -#: src/effects-weed.c:5537 +#: src/effects-weed.c:5424 #, c-format msgid "Invalid effect %s found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5552 +#: src/effects-weed.c:5439 #, c-format msgid "Invalid default found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5563 +#: src/effects-weed.c:5450 #, c-format msgid "Invalid filter %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5577 +#: src/effects-weed.c:5464 #, c-format msgid "Invalid param %d for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5604 +#: src/effects-weed.c:5491 #, c-format msgid "" "Invalid number of values for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5638 +#: src/effects-weed.c:5525 #, c-format msgid "" "Invalid non-boolean value for defaults found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5671 +#: src/effects-weed.c:5558 #, c-format msgid "Invalid param link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5682 +#: src/effects-weed.c:5569 #, c-format msgid "" "Invalid out filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5701 +#: src/effects-weed.c:5588 #, c-format msgid "" "Invalid out param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5714 +#: src/effects-weed.c:5601 #, c-format msgid "" "Invalid non-boolean value for autoscale found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5725 +#: src/effects-weed.c:5612 #, c-format msgid "" "Invalid in filter %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5740 +#: src/effects-weed.c:5627 #, c-format msgid "" "Invalid in param %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5769 +#: src/effects-weed.c:5656 #, c-format msgid "Invalid channel link found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5780 +#: src/effects-weed.c:5667 #, c-format msgid "" "Invalid out filter %d for link channels found in compound effect %s, line " "%d\n" msgstr "" -#: src/effects-weed.c:5799 +#: src/effects-weed.c:5686 #, c-format msgid "" "Invalid out channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5810 +#: src/effects-weed.c:5697 #, c-format msgid "" "Invalid in filter %d for link channels found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5829 +#: src/effects-weed.c:5716 #, c-format msgid "" "Invalid in channel %d for link params found in compound effect %s, line %d\n" msgstr "" -#: src/effects-weed.c:5866 +#: src/effects-weed.c:5753 #, c-format msgid "Compound:%s" msgstr "" -#: src/effects-weed.c:5931 +#: src/effects-weed.c:5814 #, c-format msgid "Successfully loaded %d compound filters\n" msgstr "" -#: src/effects-weed.c:6768 +#: src/effects-weed.c:6638 #, c-format msgid "Effect %s cannot be used with this audio player.\n" msgstr "" -#: src/effects-weed.c:6919 +#: src/effects-weed.c:6785 #, c-format msgid "Failed to start instance %s, (%s)\n" msgstr "" -#: src/effects-weed.c:6999 +#: src/effects-weed.c:6864 #, c-format msgid "Unable to start generator %s\n" msgstr "" -#: src/effects-weed.c:7866 +#: src/effects-weed.c:7714 #, c-format msgid "Failed to start generator %s (%s)\n" msgstr "" -#: src/effects-weed.c:7968 +#: src/effects-weed.c:7814 #, c-format msgid "Failed to start generator %s, (%s)\n" msgstr "" -#: src/effects-weed.c:9272 +#: src/effects-weed.c:9063 #, c-format msgid "%s [unstable] (%s)" msgstr "" -#: src/effects-data.c:3235 +#: src/effects-data.c:3236 #, c-format msgid "ACTIVATE (%s)" msgstr "" -#: src/effects-data.c:3501 +#: src/effects-data.c:3504 msgid "ACTIVATE" msgstr "" -#: src/effects-data.c:3829 +#: src/effects-data.c:3832 #, c-format msgid "Key slot %d" msgstr "" -#: src/effects-data.c:3951 +#: src/effects-data.c:3955 msgid "Autoscale" msgstr "" -#: src/effects-data.c:4042 +#: src/effects-data.c:4046 msgid "Add another connection for this output parameter" msgstr "" -#: src/effects-data.c:4055 src/effects-data.c:4104 +#: src/effects-data.c:4059 src/effects-data.c:4108 msgid "Delete this connection" msgstr "" -#: src/effects-data.c:4091 +#: src/effects-data.c:4095 msgid "Add another connection for this output channel" msgstr "" -#: src/effects-data.c:4176 +#: src/effects-data.c:4180 msgid "Connected to -->" msgstr "" -#: src/effects-data.c:4196 +#: src/effects-data.c:4200 #, c-format msgid "%s - Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4269 +#: src/effects-data.c:4273 #, c-format msgid "%s - Parameter Data Connections" msgstr "" -#: src/effects-data.c:4289 +#: src/effects-data.c:4293 msgid "Autoscale All" msgstr "" -#: src/effects-data.c:4314 src/effects-data.c:4847 +#: src/effects-data.c:4318 src/effects-data.c:4853 msgid "ACTIVATED" msgstr "" -#: src/effects-data.c:4727 +#: src/effects-data.c:4733 msgid "Parameter and Alpha Channel Connections" msgstr "" -#: src/effects-data.c:4735 +#: src/effects-data.c:4741 msgid "Auto Connect Channels" msgstr "" -#: src/effects-data.c:4750 +#: src/effects-data.c:4756 msgid "Auto Connect Parameters" msgstr "" -#: src/effects-data.c:4762 +#: src/effects-data.c:4768 msgid "Disconnect All" msgstr "" -#: src/effects-data.c:4832 +#: src/effects-data.c:4838 #, c-format msgid "Input channel is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4848 +#: src/effects-data.c:4854 #, c-format msgid "Input parameter is already connected from (%d,%d) %s" msgstr "" -#: src/effects-data.c:4857 +#: src/effects-data.c:4863 msgid "Input and output parameters are not compatible" msgstr "" -#: src/framedraw.c:134 +#: src/framedraw.c:135 msgid "You can click in Preview to change these values" msgstr "" -#: src/framedraw.c:148 +#: src/framedraw.c:149 msgid "_Reset Values" msgstr "" -#: src/framedraw.c:241 +#: src/framedraw.c:242 msgid "_Frame" msgstr "" @@ -6446,40 +6451,40 @@ msgid "Target _FPS (plugin may override this)" msgstr "" -#: src/paramwindow.c:555 +#: src/paramwindow.c:556 #, c-format msgid "%s : size" msgstr "" -#: src/paramwindow.c:558 +#: src/paramwindow.c:559 msgid "New size (pixels)" msgstr "" -#: src/paramwindow.c:577 src/plugins.c:966 +#: src/paramwindow.c:578 src/plugins.c:960 msgid "_Width" msgstr "宽度(_W)" -#: src/paramwindow.c:596 src/plugins.c:972 +#: src/paramwindow.c:597 src/plugins.c:966 msgid "_Height" msgstr "高度(_H)" -#: src/paramwindow.c:644 +#: src/paramwindow.c:645 msgid "Generate to _Clipboard" msgstr "" -#: src/paramwindow.c:646 +#: src/paramwindow.c:647 msgid "Generate frames to the clipboard" msgstr "" -#: src/paramwindow.c:654 +#: src/paramwindow.c:655 msgid "Generate to _New Clip" msgstr "" -#: src/paramwindow.c:656 +#: src/paramwindow.c:657 msgid "Generate frames to a new clip" msgstr "" -#: src/paramwindow.c:772 +#: src/paramwindow.c:773 #, c-format msgid "" "\n" @@ -6545,32 +6550,32 @@ "\n" msgstr "" -#: src/plugins.c:831 +#: src/plugins.c:829 #, c-format msgid "Saving playback plugin defaults to %s..." msgstr "" -#: src/plugins.c:934 +#: src/plugins.c:928 msgid "_FPS" msgstr "" -#: src/plugins.c:935 +#: src/plugins.c:929 msgid "Fixed framerate for plugin.\n" msgstr "" -#: src/plugins.c:1001 +#: src/plugins.c:995 msgid "_Colourspace" msgstr "" -#: src/plugins.c:1002 +#: src/plugins.c:996 msgid "Colourspace input to the plugin.\n" msgstr "" -#: src/plugins.c:1051 +#: src/plugins.c:1045 msgid "Save settings to an alternate file.\n" msgstr "" -#: src/plugins.c:1166 +#: src/plugins.c:1160 #, c-format msgid "" "\n" @@ -6579,7 +6584,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:1212 +#: src/plugins.c:1206 #, c-format msgid "" "\n" @@ -6589,31 +6594,31 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:1225 +#: src/plugins.c:1219 #, c-format msgid "" "Video playback plugin failed to initialise.\n" "Error was: %s\n" msgstr "" -#: src/plugins.c:1411 +#: src/plugins.c:1405 #, c-format msgid "" "*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). " "***\n" msgstr "" -#: src/plugins.c:1517 +#: src/plugins.c:1511 #, c-format msgid "Audio stream unable to use preferred format '%s'\n" msgstr "" -#: src/plugins.c:1523 +#: src/plugins.c:1517 #, c-format msgid "Using format '%s' instead.\n" msgstr "" -#: src/plugins.c:1559 +#: src/plugins.c:1553 #, c-format msgid "" "LiVES was unable to find its encoder plugins. Please make sure you have the " @@ -6622,7 +6627,7 @@ "or change the value of <lib_dir> in %s\n" msgstr "" -#: src/plugins.c:1570 +#: src/plugins.c:1564 #, c-format msgid "" "LiVES did not receive a response from the encoder plugin called '%s'.\n" @@ -6631,7 +6636,7 @@ "or switch to another plugin using Tools|Preferences|Encoding\n" msgstr "" -#: src/plugins.c:2154 +#: src/plugins.c:2148 #, c-format msgid "" "\n" @@ -6639,12 +6644,12 @@ "No decoders found in %s !\n" msgstr "" -#: src/plugins.c:2339 +#: src/plugins.c:2333 #, c-format msgid " using %s" msgstr "" -#: src/plugins.c:2415 +#: src/plugins.c:2409 #, c-format msgid "" "\n" @@ -6653,7 +6658,7 @@ "Error was %s\n" msgstr "" -#: src/plugins.c:2436 +#: src/plugins.c:2430 #, c-format msgid "" "\n" @@ -6663,25 +6668,25 @@ "Unable to use it.\n" msgstr "" -#: src/plugins.c:2476 +#: src/plugins.c:2470 msgid "/unknown" msgstr "" -#: src/plugins.c:2556 +#: src/plugins.c:2550 #, fuzzy msgid "Decoder Plugins" msgstr "解码中" -#: src/plugins.c:2574 +#: src/plugins.c:2564 msgid "Enabled Video Decoders (uncheck to disable)" msgstr "" -#: src/plugins.c:2630 +#: src/plugins.c:2620 #, c-format msgid "Failed to load %s, transitions may not resize.\n" msgstr "" -#: src/plugins.c:3766 +#: src/plugins.c:3757 #, c-format msgid "%s advanced settings" msgstr "" @@ -6880,20 +6885,20 @@ msgid "Move _Down" msgstr "向下移动(_D)" -#: src/rfx-builder.c:984 +#: src/rfx-builder.c:985 #, fuzzy msgid "RFX Properties" msgstr "文档选项(_P)..." -#: src/rfx-builder.c:993 +#: src/rfx-builder.c:994 msgid "_Slow (hint to GUI)" msgstr "" -#: src/rfx-builder.c:1004 +#: src/rfx-builder.c:1005 msgid "_Batch mode generator" msgstr "" -#: src/rfx-builder.c:1790 +#: src/rfx-builder.c:1791 msgid "" "\n" "\n" @@ -6902,7 +6907,7 @@ "\n" msgstr "" -#: src/rfx-builder.c:1834 +#: src/rfx-builder.c:1835 msgid "" "\n" "\n" @@ -6910,221 +6915,221 @@ "Please check the trigger code.\n" msgstr "" -#: src/rfx-builder.c:1950 +#: src/rfx-builder.c:1951 #, fuzzy msgid "New RFX Parameter" msgstr "设置参数" -#: src/rfx-builder.c:1952 +#: src/rfx-builder.c:1953 #, fuzzy msgid "Edit RFX Parameter" msgstr "设置参数" -#: src/rfx-builder.c:1968 +#: src/rfx-builder.c:1969 msgid "_Name: " msgstr "" -#: src/rfx-builder.c:1971 +#: src/rfx-builder.c:1972 msgid "Name of the parameter, must be unique in the plugin." msgstr "" -#: src/rfx-builder.c:1981 +#: src/rfx-builder.c:1982 msgid "_Label: " msgstr "" -#: src/rfx-builder.c:1984 +#: src/rfx-builder.c:1985 msgid "" "Label to be shown by the parameter. An underscore represents mnemonic " "accelerator." msgstr "" -#: src/rfx-builder.c:1996 +#: src/rfx-builder.c:1997 msgid "_Type: " msgstr "" -#: src/rfx-builder.c:1997 +#: src/rfx-builder.c:1998 msgid "Parameter type (select from list)." msgstr "" -#: src/rfx-builder.c:2029 +#: src/rfx-builder.c:2030 msgid "Decimal _places: " msgstr "" -#: src/rfx-builder.c:2038 src/rfx-builder.c:2430 src/rfx-builder.c:2447 +#: src/rfx-builder.c:2040 src/rfx-builder.c:2436 src/rfx-builder.c:2453 msgid "_Default value: " msgstr "" -#: src/rfx-builder.c:2054 +#: src/rfx-builder.c:2057 msgid "_Default: " msgstr "" -#: src/rfx-builder.c:2087 +#: src/rfx-builder.c:2090 msgid "Button _Group: " msgstr "" -#: src/rfx-builder.c:2089 +#: src/rfx-builder.c:2093 msgid "A non-zero value can be used to group radio buttons." msgstr "" -#: src/rfx-builder.c:2097 src/rfx-builder.c:2431 +#: src/rfx-builder.c:2101 src/rfx-builder.c:2437 msgid "_Minimum value: " msgstr "" -#: src/rfx-builder.c:2103 src/rfx-builder.c:2432 +#: src/rfx-builder.c:2107 src/rfx-builder.c:2438 msgid "Ma_ximum value: " msgstr "" -#: src/rfx-builder.c:2113 +#: src/rfx-builder.c:2117 msgid " _Step size: " msgstr "" -#: src/rfx-builder.c:2117 +#: src/rfx-builder.c:2122 msgid "" "How much the parameter is adjusted when the spinbutton arrows are pressed." msgstr "" -#: src/rfx-builder.c:2129 +#: src/rfx-builder.c:2134 msgid "_Wrap value" msgstr "" -#: src/rfx-builder.c:2131 +#: src/rfx-builder.c:2136 msgid "Whether the value wraps max->min and min->max." msgstr "" -#: src/rfx-builder.c:2424 +#: src/rfx-builder.c:2430 msgid "Set _values" msgstr "" -#: src/rfx-builder.c:2463 +#: src/rfx-builder.c:2469 msgid "Default _Red: " msgstr "" -#: src/rfx-builder.c:2464 +#: src/rfx-builder.c:2470 msgid "Default _Green:" msgstr "" -#: src/rfx-builder.c:2465 +#: src/rfx-builder.c:2471 msgid "Default _Blue: " msgstr "" -#: src/rfx-builder.c:2488 +#: src/rfx-builder.c:2494 msgid "Set _default" msgstr "" -#: src/rfx-builder.c:2490 +#: src/rfx-builder.c:2496 msgid "Default value: " msgstr "" -#: src/rfx-builder.c:2491 +#: src/rfx-builder.c:2497 msgid "Maximum length (chars): " msgstr "" -#: src/rfx-builder.c:2526 +#: src/rfx-builder.c:2532 msgid "New RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2528 +#: src/rfx-builder.c:2534 msgid "Edit RFX Parameter Window Hint" msgstr "" -#: src/rfx-builder.c:2569 +#: src/rfx-builder.c:2575 msgid "_Keyword: " msgstr "" -#: src/rfx-builder.c:2586 +#: src/rfx-builder.c:2592 msgid "Special _Type: " msgstr "" -#: src/rfx-builder.c:2602 +#: src/rfx-builder.c:2608 msgid "Special _Subtype: " msgstr "" -#: src/rfx-builder.c:2613 src/rfx-builder.c:2651 +#: src/rfx-builder.c:2619 src/rfx-builder.c:2657 msgid "Row: " msgstr "" -#: src/rfx-builder.c:2676 +#: src/rfx-builder.c:2682 #, c-format msgid "Linked parameters (%d): " msgstr "" -#: src/rfx-builder.c:2693 +#: src/rfx-builder.c:2699 msgid "Linked parameters (4): " msgstr "" -#: src/rfx-builder.c:2695 +#: src/rfx-builder.c:2701 msgid "Linked parameters (2): " msgstr "" -#: src/rfx-builder.c:2720 +#: src/rfx-builder.c:2726 msgid "New RFX Trigger" msgstr "" -#: src/rfx-builder.c:2722 +#: src/rfx-builder.c:2728 msgid "Edit RFX Trigger" msgstr "" -#: src/rfx-builder.c:2750 +#: src/rfx-builder.c:2756 msgid "When: " msgstr "" -#: src/rfx-builder.c:2845 +#: src/rfx-builder.c:2851 msgid "Pre Loop Code" msgstr "" -#: src/rfx-builder.c:2852 +#: src/rfx-builder.c:2858 msgid "Loop Code" msgstr "" -#: src/rfx-builder.c:2859 +#: src/rfx-builder.c:2865 msgid "Post Loop Code" msgstr "" -#: src/rfx-builder.c:2872 +#: src/rfx-builder.c:2878 #, c-format msgid "Default text (max length %d)" msgstr "" -#: src/rfx-builder.c:2884 +#: src/rfx-builder.c:2890 msgid "Enter values, one per line" msgstr "" -#: src/rfx-builder.c:2992 +#: src/rfx-builder.c:2998 msgid "" "\n" "\n" "Name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:2997 +#: src/rfx-builder.c:3003 msgid "" "\n" "\n" "Name must not contain spaces.\n" msgstr "" -#: src/rfx-builder.c:3002 +#: src/rfx-builder.c:3008 msgid "" "\n" "\n" "Menu text must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3008 +#: src/rfx-builder.c:3014 msgid "" "\n" "\n" "Action description must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3013 +#: src/rfx-builder.c:3019 msgid "" "\n" "\n" "Author must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3022 src/rfx-builder.c:4210 +#: src/rfx-builder.c:3028 src/rfx-builder.c:4216 msgid "" "\n" "\n" @@ -7132,28 +7137,28 @@ "Name must be unique.\n" msgstr "" -#: src/rfx-builder.c:3029 +#: src/rfx-builder.c:3035 msgid "" "\n" "\n" "Loop code should not be blank.\n" msgstr "" -#: src/rfx-builder.c:3035 +#: src/rfx-builder.c:3041 msgid "" "\n" "\n" "Trigger code should not be blank for a utility.\n" msgstr "" -#: src/rfx-builder.c:3048 +#: src/rfx-builder.c:3054 msgid "" "\n" "\n" "Parameter name must not be blank.\n" msgstr "" -#: src/rfx-builder.c:3054 +#: src/rfx-builder.c:3060 msgid "" "\n" "\n" @@ -7162,41 +7167,41 @@ "\n" msgstr "" -#: src/rfx-builder.c:3107 +#: src/rfx-builder.c:3113 #, c-format msgid "Writing script file %s..." msgstr "" -#: src/rfx-builder.c:3407 +#: src/rfx-builder.c:3413 msgid "No <define> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3413 src/rfx-builder.c:3421 +#: src/rfx-builder.c:3419 src/rfx-builder.c:3427 msgid "Bad script version.\n" msgstr "" -#: src/rfx-builder.c:3432 +#: src/rfx-builder.c:3438 msgid "No <name> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3439 +#: src/rfx-builder.c:3445 msgid "No <version> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3447 +#: src/rfx-builder.c:3453 msgid "No <author> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3459 +#: src/rfx-builder.c:3465 msgid "No <description> section found in script.\n" msgstr "" -#: src/rfx-builder.c:3463 +#: src/rfx-builder.c:3469 #, c-format msgid "Bad description. (%s)\n" msgstr "" -#: src/rfx-builder.c:3613 +#: src/rfx-builder.c:3619 #, c-format msgid "" "\n" @@ -7206,27 +7211,27 @@ "\n" msgstr "" -#: src/rfx-builder.c:3762 +#: src/rfx-builder.c:3768 msgid "Rebuilding all RFX scripts...builtin..." msgstr "" -#: src/rfx-builder.c:3763 +#: src/rfx-builder.c:3769 msgid "Rebuilding scripts" msgstr "" -#: src/rfx-builder.c:3771 +#: src/rfx-builder.c:3777 msgid "custom..." msgstr "" -#: src/rfx-builder.c:3775 +#: src/rfx-builder.c:3781 msgid "test..." msgstr "" -#: src/rfx-builder.c:3781 +#: src/rfx-builder.c:3787 msgid "rebuilding dynamic menu entries..." msgstr "" -#: src/rfx-builder.c:3808 src/rfx-builder.c:3816 +#: src/rfx-builder.c:3814 src/rfx-builder.c:3822 #, c-format msgid "" "\n" @@ -7235,7 +7240,7 @@ "Please check this program is in your path and executable.\n" msgstr "" -#: src/rfx-builder.c:3856 +#: src/rfx-builder.c:3862 #, c-format msgid "" "\n" @@ -7245,12 +7250,12 @@ "\n" msgstr "" -#: src/rfx-builder.c:3866 +#: src/rfx-builder.c:3872 #, c-format msgid "Deleting rfx script %s..." msgstr "" -#: src/rfx-builder.c:3874 +#: src/rfx-builder.c:3880 #, c-format msgid "" "\n" @@ -7260,7 +7265,7 @@ "Error code was %d\n" msgstr "" -#: src/rfx-builder.c:3910 +#: src/rfx-builder.c:3916 #, c-format msgid "" "\n" @@ -7270,12 +7275,12 @@ "Please delete it first, or rename the test script.\n" msgstr "" -#: src/rfx-builder.c:3922 +#: src/rfx-builder.c:3928 #, c-format msgid "Promoting rfx test plugin %s to custom..." msgstr "" -#: src/rfx-builder.c:3937 +#: src/rfx-builder.c:3943 #, c-format msgid "" "\n" @@ -7286,22 +7291,22 @@ "Return code was %d (%s)\n" msgstr "" -#: src/rfx-builder.c:3962 +#: src/rfx-builder.c:3968 #, fuzzy msgid "Export Script" msgstr "导出工程" -#: src/rfx-builder.c:3969 src/rfx-builder.c:4042 +#: src/rfx-builder.c:3975 src/rfx-builder.c:4048 #, c-format msgid "Copying %s to %s..." msgstr "" -#: src/rfx-builder.c:3992 +#: src/rfx-builder.c:3998 #, fuzzy msgid "Import Script" msgstr "导入项目" -#: src/rfx-builder.c:4035 +#: src/rfx-builder.c:4041 #, c-format msgid "" "\n" @@ -7311,43 +7316,43 @@ "Please delete it first, or rename the import script.\n" msgstr "" -#: src/rfx-builder.c:4129 +#: src/rfx-builder.c:4135 msgid "Copy RFX Script" msgstr "" -#: src/rfx-builder.c:4131 +#: src/rfx-builder.c:4137 msgid "_From type: " msgstr "" -#: src/rfx-builder.c:4137 +#: src/rfx-builder.c:4143 msgid " Script: " msgstr "" -#: src/rfx-builder.c:4145 +#: src/rfx-builder.c:4151 msgid "Rename Test RFX Script" msgstr "" -#: src/rfx-builder.c:4146 +#: src/rfx-builder.c:4152 msgid "From script: " msgstr "" -#: src/rfx-builder.c:4150 +#: src/rfx-builder.c:4156 msgid "RFX Script Name" msgstr "" -#: src/rfx-builder.c:4151 +#: src/rfx-builder.c:4157 msgid "Script name: " msgstr "" -#: src/rfx-builder.c:4171 +#: src/rfx-builder.c:4177 msgid "New name: " msgstr "" -#: src/rfx-builder.c:4174 +#: src/rfx-builder.c:4180 msgid "New script name: " msgstr "" -#: src/rfx-builder.c:4243 +#: src/rfx-builder.c:4249 msgid "" "\n" "\n" @@ -7355,12 +7360,12 @@ "Script name must be unique.\n" msgstr "" -#: src/rfx-builder.c:4254 +#: src/rfx-builder.c:4260 #, c-format msgid "Renaming RFX test script %s to %s..." msgstr "" -#: src/rfx-builder.c:4259 +#: src/rfx-builder.c:4265 #, c-format msgid "" "\n" @@ -7371,25 +7376,25 @@ "Return code was %d\n" msgstr "" -#: src/rfx-builder.c:4475 +#: src/rfx-builder.c:4481 msgid "_Apply Real Time Effects to Selection" msgstr "" -#: src/rfx-builder.c:4476 +#: src/rfx-builder.c:4482 msgid "Applying Current Real Time Effects to" msgstr "" -#: src/rfx-builder.c:4530 +#: src/rfx-builder.c:4536 #, c-format msgid "Loading rendered effect %s..." msgstr "" -#: src/rfx-builder.c:4627 +#: src/rfx-builder.c:4633 msgid "" "See: VJ - show VJ keys. Set the realtime effects, and then apply them here." msgstr "" -#: src/preferences.c:504 +#: src/preferences.c:491 msgid "" "\n" "\n" @@ -7397,7 +7402,7 @@ "full screen, separate window (fs) mode\n" msgstr "" -#: src/preferences.c:553 +#: src/preferences.c:539 msgid "" "\n" "\n" @@ -7405,7 +7410,7 @@ "(Free space = UNKNOWN)" msgstr "" -#: src/preferences.c:556 +#: src/preferences.c:542 #, c-format msgid "" "\n" @@ -7414,14 +7419,14 @@ "(Free space = %s)" msgstr "" -#: src/preferences.c:561 +#: src/preferences.c:547 msgid "" "The work directory is LiVES working directory where opened clips and sets " "are stored.\n" "It should be in a partition with plenty of free disk space.\n" msgstr "" -#: src/preferences.c:1174 +#: src/preferences.c:1144 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7432,7 +7437,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1179 +#: src/preferences.c:1149 #, c-format msgid "" "Unable to create or write to the new working directory.\n" @@ -7442,7 +7447,7 @@ "The directory will not be changed now.\n" msgstr "" -#: src/preferences.c:1193 +#: src/preferences.c:1163 msgid "" "You have chosen to change the working directory.\n" "Please make sure you have no other copies of LiVES open.\n" @@ -7454,7 +7459,7 @@ "setting." msgstr "" -#: src/preferences.c:1575 +#: src/preferences.c:1537 #, c-format msgid "" "\n" @@ -7463,13 +7468,13 @@ "See %s\n" msgstr "" -#: src/preferences.c:1582 +#: src/preferences.c:1544 msgid "" "\n" "Switching audio players requires restart (jackd must not be running)\n" msgstr "" -#: src/preferences.c:1609 +#: src/preferences.c:1571 #, c-format msgid "" "\n" @@ -7478,921 +7483,921 @@ "See %s\n" msgstr "" -#: src/preferences.c:1919 +#: src/preferences.c:1869 msgid "PCM (highest quality; largest files)" msgstr "" -#: src/preferences.c:2468 +#: src/preferences.c:2418 #, fuzzy msgid "Preferences" msgstr "偏好设置(_P)..." -#: src/preferences.c:2551 +#: src/preferences.c:2494 msgid "Open file selection maximised" msgstr "" -#: src/preferences.c:2558 +#: src/preferences.c:2500 msgid "Show recent files in the File menu" msgstr "" -#: src/preferences.c:2567 +#: src/preferences.c:2507 msgid "Stop screensaver on playback " msgstr "" -#: src/preferences.c:2574 +#: src/preferences.c:2512 msgid "Open main window maximised" msgstr "" -#: src/preferences.c:2582 +#: src/preferences.c:2519 msgid "Show toolbar when background is blanked" msgstr "" -#: src/preferences.c:2590 +#: src/preferences.c:2525 msgid "Allow mouse wheel to switch clips" msgstr "" -#: src/preferences.c:2601 +#: src/preferences.c:2532 msgid "Shrink previews to fit in interface" msgstr "" -#: src/preferences.c:2608 +#: src/preferences.c:2538 msgid "Show icons in buttons" msgstr "" -#: src/preferences.c:2617 +#: src/preferences.c:2544 msgid "Startup mode:" msgstr "" -#: src/preferences.c:2621 +#: src/preferences.c:2547 msgid "_Clip editor" msgstr "" -#: src/preferences.c:2625 +#: src/preferences.c:2550 msgid "_Multitrack mode" msgstr "" -#: src/preferences.c:2648 +#: src/preferences.c:2571 msgid "Multi-head support" msgstr "" -#: src/preferences.c:2656 +#: src/preferences.c:2577 msgid " monitor number for LiVES interface" msgstr "" -#: src/preferences.c:2662 +#: src/preferences.c:2583 msgid " monitor number for playback" msgstr "" -#: src/preferences.c:2674 +#: src/preferences.c:2590 msgid "" "A setting of 0 means use all available monitors (only works with some " "playback plugins)." msgstr "" -#: src/preferences.c:2684 +#: src/preferences.c:2597 msgid "Force single monitor" msgstr "" -#: src/preferences.c:2685 +#: src/preferences.c:2599 msgid "Ignore all except the first monitor." msgstr "" -#: src/preferences.c:2707 +#: src/preferences.c:2619 msgid "Show clip thumbnails during playback" msgstr "" -#: src/preferences.c:2722 +#: src/preferences.c:2634 msgid "GUI" msgstr "GUI" -#: src/preferences.c:2737 +#: src/preferences.c:2649 msgid "When entering Multitrack mode:" msgstr "" -#: src/preferences.c:2746 +#: src/preferences.c:2657 msgid "_Prompt me for width, height, fps and audio settings" msgstr "" -#: src/preferences.c:2752 +#: src/preferences.c:2661 msgid "_Always use the following values:" msgstr "" -#: src/preferences.c:2761 +#: src/preferences.c:2669 msgid "Use these same _values for rendering a new clip" msgstr "" -#: src/preferences.c:2806 +#: src/preferences.c:2701 msgid " _Undo buffer size (MB) " msgstr "" -#: src/preferences.c:2815 +#: src/preferences.c:2708 msgid "_Exit multitrack mode after rendering" msgstr "" -#: src/preferences.c:2823 +#: src/preferences.c:2716 msgid "Auto backup layouts" msgstr "" -#: src/preferences.c:2828 +#: src/preferences.c:2720 msgid "_Every" msgstr "" -#: src/preferences.c:2836 +#: src/preferences.c:2726 msgid "seconds" msgstr "秒" -#: src/preferences.c:2844 +#: src/preferences.c:2733 msgid "After every _change" msgstr "" -#: src/preferences.c:2850 +#: src/preferences.c:2738 msgid "_Never" msgstr "从不(_N)" -#: src/preferences.c:2872 +#: src/preferences.c:2757 #, fuzzy msgid "Maximum number of visible tracks" msgstr "显示的最大音轨数" -#: src/preferences.c:2881 +#: src/preferences.c:2765 msgid "Multitrack/Render" msgstr "" -#: src/preferences.c:2899 +#: src/preferences.c:2780 msgid "Use instant opening when possible" msgstr "" -#: src/preferences.c:2901 +#: src/preferences.c:2782 msgid "Enable instant opening of some file types using decoder plugins" msgstr "" -#: src/preferences.c:2925 +#: src/preferences.c:2804 msgid "Video open command (fallback)" msgstr "" -#: src/preferences.c:2935 +#: src/preferences.c:2811 msgid "Fallback image format" msgstr "" -#: src/preferences.c:2939 +#: src/preferences.c:2815 msgid "_jpeg" msgstr "" -#: src/preferences.c:2942 +#: src/preferences.c:2818 msgid "_png" msgstr "" -#: src/preferences.c:2949 +#: src/preferences.c:2824 msgid "(Check Help/Troubleshoot to see which image formats are supported)" msgstr "" -#: src/preferences.c:2964 +#: src/preferences.c:2832 msgid "Open/render compression" msgstr "" -#: src/preferences.c:2967 +#: src/preferences.c:2835 msgid " % ( lower = slower, larger files; for jpeg, higher quality )" msgstr "" -#: src/preferences.c:2979 +#: src/preferences.c:2843 msgid "Enable automatic deinterlacing when possible" msgstr "" -#: src/preferences.c:2982 +#: src/preferences.c:2846 msgid "Automatically deinterlace frames when a plugin suggests it" msgstr "" -#: src/preferences.c:2995 +#: src/preferences.c:2856 msgid "Automatic trimming / padding of audio when possible" msgstr "" -#: src/preferences.c:2997 +#: src/preferences.c:2858 msgid "Automatically trim or pad audio when a plugin suggests it" msgstr "" -#: src/preferences.c:3009 +#: src/preferences.c:2867 msgid "Ignore blank borders when possible" msgstr "" -#: src/preferences.c:3011 +#: src/preferences.c:2869 msgid "Clip any blank borders from frames where possible" msgstr "" -#: src/preferences.c:3023 +#: src/preferences.c:2880 msgid "When opening multiple files, concatenate images into one clip" msgstr "" -#: src/preferences.c:3033 +#: src/preferences.c:2888 msgid "Decoding" msgstr "解码中" -#: src/preferences.c:3046 +#: src/preferences.c:2901 msgid "VIDEO" msgstr "视频" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3056 +#: src/preferences.c:2911 msgid "Low - can improve performance on slower machines" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3058 +#: src/preferences.c:2913 msgid "Normal - recommended for most users" msgstr "" #. TRANSLATORS: video quality, max len 50 -#: src/preferences.c:3060 +#: src/preferences.c:2915 msgid "High - can improve quality on very fast machines" msgstr "" -#: src/preferences.c:3063 +#: src/preferences.c:2918 msgid "Preview _quality" msgstr "" -#: src/preferences.c:3064 +#: src/preferences.c:2919 msgid "The preview quality for video playback - affects resizing" msgstr "" -#: src/preferences.c:3080 +#: src/preferences.c:2933 msgid "_Show FPS statistics" msgstr "" -#: src/preferences.c:3095 +#: src/preferences.c:2945 msgid "_Plugin" msgstr "插件(_P)" -#: src/preferences.c:3118 +#: src/preferences.c:2967 msgid "Stream audio" msgstr "" -#: src/preferences.c:3121 +#: src/preferences.c:2970 msgid "Stream audio to playback plugin" msgstr "" -#: src/preferences.c:3136 +#: src/preferences.c:2982 msgid "Record player output" msgstr "" -#: src/preferences.c:3139 +#: src/preferences.c:2985 msgid "Record output from player instead of input to player" msgstr "" -#: src/preferences.c:3156 +#: src/preferences.c:3000 msgid "AUDIO" msgstr "" -#: src/preferences.c:3191 +#: src/preferences.c:3035 msgid "_Player" msgstr "" -#: src/preferences.c:3196 +#: src/preferences.c:3040 msgid "(See also the Jack Integration tab for jack startup options)" msgstr "" -#: src/preferences.c:3238 +#: src/preferences.c:3081 msgid "Audio play _command" msgstr "" -#: src/preferences.c:3245 +#: src/preferences.c:3087 msgid "- internal -" msgstr "" -#: src/preferences.c:3254 +#: src/preferences.c:3094 msgid "Audio follows video _rate/direction" msgstr "" -#: src/preferences.c:3262 +#: src/preferences.c:3102 msgid "Audio follows _clip switches" msgstr "" -#: src/preferences.c:3269 +#: src/preferences.c:3110 msgid "Source:" msgstr "" -#: src/preferences.c:3273 +#: src/preferences.c:3114 msgid "_Internal" msgstr "" -#: src/preferences.c:3278 +#: src/preferences.c:3119 msgid "_External (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3304 +#: src/preferences.c:3142 msgid "Playback" msgstr "回放" -#: src/preferences.c:3327 +#: src/preferences.c:3163 msgid "" "Record audio when capturing an e_xternal window\n" " (requires jack or pulse audio)" msgstr "" -#: src/preferences.c:3342 +#: src/preferences.c:3175 msgid " What to record when 'r' is pressed " msgstr "" -#: src/preferences.c:3351 +#: src/preferences.c:3182 msgid "_Frame changes" msgstr "" -#: src/preferences.c:3366 +#: src/preferences.c:3195 msgid "F_PS changes" msgstr "" -#: src/preferences.c:3384 +#: src/preferences.c:3210 msgid "_Real time effects" msgstr "" -#: src/preferences.c:3395 +#: src/preferences.c:3220 msgid "_Clip switches" msgstr "" -#: src/preferences.c:3406 +#: src/preferences.c:3228 msgid "_Audio (requires jack or pulse audio player)" msgstr "" -#: src/preferences.c:3426 +#: src/preferences.c:3246 msgid "Pause recording if free disk space falls below" msgstr "" #. TRANSLATORS: gigabytes -#: src/preferences.c:3432 +#: src/preferences.c:3251 msgid "GB" msgstr "" -#: src/preferences.c:3439 +#: src/preferences.c:3258 msgid "Recording" msgstr "正在录音" -#: src/preferences.c:3454 +#: src/preferences.c:3273 msgid "You can also change these values when encoding a clip" msgstr "" -#: src/preferences.c:3466 +#: src/preferences.c:3285 msgid "Encoder" msgstr "" -#: src/preferences.c:3500 +#: src/preferences.c:3317 msgid "Output format" msgstr "输出格式" -#: src/preferences.c:3511 +#: src/preferences.c:3328 msgid "Audio codec" msgstr "音频编解码器" -#: src/preferences.c:3523 +#: src/preferences.c:3340 msgid "Encoding" msgstr "编码中" -#: src/preferences.c:3538 +#: src/preferences.c:3355 msgid "Use _antialiasing when resizing" msgstr "" -#: src/preferences.c:3547 +#: src/preferences.c:3363 msgid "Number of _real time effect keys" msgstr "" -#: src/preferences.c:3550 +#: src/preferences.c:3366 msgid "" "The number of \"virtual\" real time effect keys. They can be controlled " "through the real time effects window, or via network (OSC)." msgstr "" -#: src/preferences.c:3557 +#: src/preferences.c:3373 msgid "Use _threads where possible when applying effects" msgstr "" -#: src/preferences.c:3565 +#: src/preferences.c:3379 msgid "Number of _threads" msgstr "" -#: src/preferences.c:3579 +#: src/preferences.c:3393 msgid "Restart is required if any of the following paths are changed:" msgstr "" -#: src/preferences.c:3589 +#: src/preferences.c:3402 msgid "Weed plugin path" msgstr "" -#: src/preferences.c:3592 +#: src/preferences.c:3405 msgid "Frei0r plugin path" msgstr "" -#: src/preferences.c:3595 +#: src/preferences.c:3408 msgid "LADSPA plugin path" msgstr "" -#: src/preferences.c:3619 +#: src/preferences.c:3431 msgid " Video load directory (default) " msgstr "" -#: src/preferences.c:3625 +#: src/preferences.c:3437 msgid " Video save directory (default) " msgstr "" -#: src/preferences.c:3631 +#: src/preferences.c:3443 msgid " Audio load directory (default) " msgstr "" -#: src/preferences.c:3637 +#: src/preferences.c:3449 msgid " Image directory (default) " msgstr "" -#: src/preferences.c:3643 +#: src/preferences.c:3455 msgid " Backup/Restore directory (default) " msgstr "" -#: src/preferences.c:3649 +#: src/preferences.c:3461 msgid " Working directory (do not remove) " msgstr "" -#: src/preferences.c:3662 +#: src/preferences.c:3473 msgid "The default directory for loading video clips from" msgstr "" -#: src/preferences.c:3687 +#: src/preferences.c:3492 msgid "The default directory for saving encoded clips to" msgstr "" -#: src/preferences.c:3695 +#: src/preferences.c:3500 msgid "The default directory for loading and saving audio" msgstr "" -#: src/preferences.c:3703 +#: src/preferences.c:3508 msgid "The default directory for saving frameshots to" msgstr "" -#: src/preferences.c:3711 +#: src/preferences.c:3516 msgid "The default directory for backing up/restoring single clips" msgstr "" -#: src/preferences.c:3720 +#: src/preferences.c:3526 msgid "LiVES working directory." msgstr "" -#: src/preferences.c:3788 +#: src/preferences.c:3589 msgid "Directories" msgstr "目录列表" -#: src/preferences.c:3803 +#: src/preferences.c:3603 msgid "Warn if diskspace falls below: " msgstr "" -#: src/preferences.c:3809 src/preferences.c:3823 +#: src/preferences.c:3609 src/preferences.c:3620 msgid " MB [set to 0 to disable]" msgstr "" -#: src/preferences.c:3818 +#: src/preferences.c:3615 msgid "Diskspace critical level: " msgstr "" -#: src/preferences.c:3837 +#: src/preferences.c:3629 msgid "" "Warn on Insert / Merge if _frame rate of clipboard does not match frame rate " "of selection" msgstr "" -#: src/preferences.c:3847 +#: src/preferences.c:3637 msgid "Warn on Open if file _size exceeds " msgstr "" -#: src/preferences.c:3855 +#: src/preferences.c:3644 msgid " MB" msgstr " MB" -#: src/preferences.c:3862 +#: src/preferences.c:3650 msgid "Show a warning before saving a se_t" msgstr "" -#: src/preferences.c:3872 +#: src/preferences.c:3659 msgid "" "Show a warning if _mplayer/mplayer2, sox, composite or convert is not found " "when LiVES is started." msgstr "" -#: src/preferences.c:3882 +#: src/preferences.c:3667 msgid "Show a warning if no _rendered effects are found at startup." msgstr "" -#: src/preferences.c:3894 +#: src/preferences.c:3676 msgid "Show a warning if no _encoder plugins are found at startup." msgstr "" -#: src/preferences.c:3904 +#: src/preferences.c:3685 msgid "Show a warning if a _duplicate set name is entered." msgstr "" -#: src/preferences.c:3915 +#: src/preferences.c:3694 msgid "When a set is loaded, warn if clips are missing from _layouts." msgstr "" -#: src/preferences.c:3926 +#: src/preferences.c:3704 msgid "Warn if a clip used in a layout is about to be closed." msgstr "" -#: src/preferences.c:3937 +#: src/preferences.c:3714 msgid "Warn if frames used in a layout are about to be deleted." msgstr "" -#: src/preferences.c:3948 +#: src/preferences.c:3724 msgid "Warn if frames used in a layout are about to be shifted." msgstr "" -#: src/preferences.c:3959 +#: src/preferences.c:3734 msgid "Warn if frames used in a layout are about to be altered." msgstr "" -#: src/preferences.c:3970 +#: src/preferences.c:3744 msgid "Warn if audio used in a layout is about to be deleted." msgstr "" -#: src/preferences.c:3982 +#: src/preferences.c:3754 msgid "Warn if audio used in a layout is about to be shifted." msgstr "" -#: src/preferences.c:3993 +#: src/preferences.c:3764 msgid "Warn if audio used in a layout is about to be altered." msgstr "" -#: src/preferences.c:4004 +#: src/preferences.c:3774 msgid "Popup layout errors after clip changes." msgstr "" -#: src/preferences.c:4015 +#: src/preferences.c:3783 msgid "Warn if the layout has not been saved when leaving multitrack mode." msgstr "" -#: src/preferences.c:4026 +#: src/preferences.c:3792 msgid "" "Warn if multitrack has no audio channels, and a layout with audio is loaded." msgstr "" -#: src/preferences.c:4036 +#: src/preferences.c:3801 msgid "" "Warn if multitrack has audio channels, and your audio player is not \"jack\" " "or \"pulse audio\"." msgstr "" -#: src/preferences.c:4048 +#: src/preferences.c:3811 msgid "Show info message after importing from firewire device." msgstr "" -#: src/preferences.c:4064 +#: src/preferences.c:3825 msgid "Show a warning before opening a yuv4mpeg stream (advanced)." msgstr "" -#: src/preferences.c:4077 +#: src/preferences.c:3836 msgid "Show a warning when multitrack is low on backup space." msgstr "" -#: src/preferences.c:4089 +#: src/preferences.c:3846 msgid "Show a warning advising cleaning of disk space after a crash." msgstr "" -#: src/preferences.c:4101 +#: src/preferences.c:3856 msgid "Show a warning if unable to connect to pulseaudio player." msgstr "" -#: src/preferences.c:4113 +#: src/preferences.c:3865 msgid "Show a warning before wiping a layout which has unsaved changes." msgstr "" -#: src/preferences.c:4125 +#: src/preferences.c:3874 msgid "Warnings" msgstr "警告" -#: src/preferences.c:4143 +#: src/preferences.c:3890 msgid "Midi synch (requires the files midistart and midistop)" msgstr "" -#: src/preferences.c:4155 +#: src/preferences.c:3900 msgid "When inserting/merging frames: " msgstr "" -#: src/preferences.c:4159 +#: src/preferences.c:3904 msgid "_Speed Up/Slow Down Insertion" msgstr "" -#: src/preferences.c:4163 +#: src/preferences.c:3907 msgid "_Resample Insertion" msgstr "" -#: src/preferences.c:4170 +#: src/preferences.c:3912 msgid "CD device " msgstr "" -#: src/preferences.c:4173 +#: src/preferences.c:3915 msgid "LiVES can load audio tracks from this CD" msgstr "" -#: src/preferences.c:4189 +#: src/preferences.c:3929 msgid "Default FPS " msgstr "默认帧率 " -#: src/preferences.c:4192 +#: src/preferences.c:3932 msgid "Frames per second to use when none is specified" msgstr "" -#: src/preferences.c:4201 +#: src/preferences.c:3940 msgid "Misc" msgstr "杂项" -#: src/preferences.c:4229 +#: src/preferences.c:3966 msgid "New theme: " msgstr "新主题: " -#: src/preferences.c:4242 +#: src/preferences.c:3977 msgid "Main Theme Details" msgstr "" -#: src/preferences.c:4254 +#: src/preferences.c:3988 #, fuzzy msgid " _Foreground Color" msgstr "空白背景(_B)" -#: src/preferences.c:4273 +#: src/preferences.c:4007 #, fuzzy msgid " _Background Color" msgstr "空白背景(_B)" -#: src/preferences.c:4291 +#: src/preferences.c:4026 #, fuzzy msgid "_Alt Foreground Color" msgstr "空白背景(_B)" -#: src/preferences.c:4309 +#: src/preferences.c:4044 #, fuzzy msgid "_Alt Background Color" msgstr "空白背景(_B)" -#: src/preferences.c:4327 +#: src/preferences.c:4062 msgid " Info _Text Color" msgstr "" -#: src/preferences.c:4346 +#: src/preferences.c:4081 msgid " Info _Base Color" msgstr "" -#: src/preferences.c:4364 +#: src/preferences.c:4099 msgid "Theme is _light" msgstr "" -#: src/preferences.c:4365 +#: src/preferences.c:4100 #, fuzzy msgid "Affects some contrast details of the timeline" msgstr "要在时间线上做标记" -#: src/preferences.c:4376 +#: src/preferences.c:4111 msgid "Color the start/end frame spinbuttons (requires restart)" msgstr "" -#: src/preferences.c:4388 +#: src/preferences.c:4124 msgid "Highlight horizontal separators in multitrack" msgstr "" -#: src/preferences.c:4398 +#: src/preferences.c:4132 #, fuzzy msgid "Frame blank image" msgstr "删除多余的帧" -#: src/preferences.c:4400 +#: src/preferences.c:4134 msgid "The frame image which is shown when there is no clip loaded." msgstr "" -#: src/preferences.c:4420 +#: src/preferences.c:4153 msgid "Separator image" msgstr "" -#: src/preferences.c:4422 +#: src/preferences.c:4155 msgid "The image shown in the center of the interface." msgstr "" -#: src/preferences.c:4439 +#: src/preferences.c:4171 msgid "Extended Theme Details" msgstr "" -#: src/preferences.c:4450 +#: src/preferences.c:4181 msgid "Selected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4462 +#: src/preferences.c:4192 msgid "Unselected frames/audio (clip editor)" msgstr "" -#: src/preferences.c:4474 +#: src/preferences.c:4203 msgid "Track background (multitrack)" msgstr "" -#: src/preferences.c:4485 +#: src/preferences.c:4214 msgid "Video block (multitrack)" msgstr "" -#: src/preferences.c:4496 +#: src/preferences.c:4225 msgid "Audio block (multitrack)" msgstr "" -#: src/preferences.c:4507 +#: src/preferences.c:4236 msgid "Effects block (multitrack)" msgstr "" -#: src/preferences.c:4518 +#: src/preferences.c:4247 msgid "Timeline mark (multitrack)" msgstr "" -#: src/preferences.c:4529 +#: src/preferences.c:4258 #, fuzzy msgid "Timeline selection (multitrack)" msgstr "时间线(秒)" -#: src/preferences.c:4541 +#: src/preferences.c:4270 msgid "Timecode background (multitrack)" msgstr "" -#: src/preferences.c:4553 +#: src/preferences.c:4282 msgid "Timecode foreground (multitrack)" msgstr "" -#: src/preferences.c:4565 +#: src/preferences.c:4293 #, fuzzy msgid "Frame surround" msgstr "帧每秒(_F) " -#: src/preferences.c:4582 +#: src/preferences.c:4306 #, fuzzy msgid "Themes/Colors" msgstr "主题" -#: src/preferences.c:4598 +#: src/preferences.c:4321 msgid "Download bandwidth (Kb/s) " msgstr "" -#: src/preferences.c:4606 +#: src/preferences.c:4328 msgid "LiVES must be compiled without \"configure --disable-OSC\" to use OMC" msgstr "" -#: src/preferences.c:4616 +#: src/preferences.c:4338 msgid "OMC remote control enabled" msgstr "" -#: src/preferences.c:4624 +#: src/preferences.c:4344 msgid "UDP port " msgstr "UDP 端口 " -#: src/preferences.c:4633 +#: src/preferences.c:4351 msgid "Start OMC on startup" msgstr "启动时运行 OMC" -#: src/preferences.c:4653 +#: src/preferences.c:4371 msgid "Streaming/Networking" msgstr "流媒体/网络" -#: src/preferences.c:4665 +#: src/preferences.c:4383 msgid "Jack transport" msgstr "" -#: src/preferences.c:4669 +#: src/preferences.c:4387 msgid "" "LiVES must be compiled with jack/transport.h and jack/jack.h present to use " "jack transport" msgstr "" -#: src/preferences.c:4675 +#: src/preferences.c:4393 msgid "Jack _transport config file" msgstr "" -#: src/preferences.c:4683 src/preferences.c:4775 +#: src/preferences.c:4399 src/preferences.c:4479 msgid "Start _server on LiVES startup" msgstr "在 LiVES 启动时运行服务器(_S)" -#: src/preferences.c:4695 +#: src/preferences.c:4407 msgid "Jack transport _master (start and stop)" msgstr "" -#: src/preferences.c:4705 +#: src/preferences.c:4416 msgid "Jack transport _client (start and stop)" msgstr "" -#: src/preferences.c:4719 +#: src/preferences.c:4429 msgid "Jack transport sets start position" msgstr "" -#: src/preferences.c:4736 +#: src/preferences.c:4444 msgid "Jack transport timebase slave" msgstr "" -#: src/preferences.c:4747 +#: src/preferences.c:4453 msgid "(See also Playback -> Audio follows video rate/direction)" msgstr "" -#: src/preferences.c:4755 +#: src/preferences.c:4460 msgid "Jack audio" msgstr "Jack 音频" -#: src/preferences.c:4759 +#: src/preferences.c:4464 msgid "LiVES must be compiled with jack/jack.h present to use jack audio" msgstr "" -#: src/preferences.c:4762 +#: src/preferences.c:4467 msgid "" "You MUST set the audio player to \"jack\" in the Playback tab to use jack " "audio" msgstr "" -#: src/preferences.c:4768 +#: src/preferences.c:4473 msgid "Jack _audio server config file" msgstr "Jack 音频服务器配置文件(_A)" -#: src/preferences.c:4782 +#: src/preferences.c:4486 msgid "Play audio even when transport is _paused" msgstr "" -#: src/preferences.c:4794 +#: src/preferences.c:4497 msgid "Automatically connect to System Out ports when 'playing' External Audio" msgstr "" -#: src/preferences.c:4807 +#: src/preferences.c:4510 msgid "Jack Integration" msgstr "" -#: src/preferences.c:4821 +#: src/preferences.c:4523 msgid "Events to respond to:" msgstr "" -#: src/preferences.c:4830 +#: src/preferences.c:4532 msgid "_Joystick events" msgstr "" -#: src/preferences.c:4834 +#: src/preferences.c:4536 msgid "Leave blank to use defaults" msgstr "" -#: src/preferences.c:4840 +#: src/preferences.c:4542 msgid "_Joystick device" msgstr "" -#: src/preferences.c:4842 +#: src/preferences.c:4544 msgid "The joystick device, e.g. /dev/input/js0" msgstr "" -#: src/preferences.c:4862 +#: src/preferences.c:4564 msgid "_MIDI events" msgstr "_MIDI 事件" -#: src/preferences.c:4871 +#: src/preferences.c:4571 msgid "Use _ALSA MIDI (recommended)" msgstr "使用 _ALSA MIDI(推荐)" -#: src/preferences.c:4873 +#: src/preferences.c:4573 msgid "Create an ALSA MIDI port which other MIDI devices can be connected to" msgstr "" -#: src/preferences.c:4882 +#: src/preferences.c:4580 msgid "Use _raw MIDI" msgstr "使用原始 MIDI(_R)" -#: src/preferences.c:4884 +#: src/preferences.c:4582 msgid "Read directly from the MIDI device" msgstr "从 MIDI 设备直接读取" -#: src/preferences.c:4897 +#: src/preferences.c:4594 msgid "_MIDI device" msgstr "_MIDI 设备" -#: src/preferences.c:4899 +#: src/preferences.c:4596 msgid "The MIDI device, e.g. /dev/input/midi0" msgstr "MIDI 设备,如 /dev/input/midi0" -#: src/preferences.c:4913 +#: src/preferences.c:4610 msgid "Advanced" msgstr "高级" -#: src/preferences.c:4919 +#: src/preferences.c:4616 msgid "MIDI check _rate" msgstr "" -#: src/preferences.c:4923 +#: src/preferences.c:4620 msgid "" "Number of MIDI checks per keyboard tick. Increasing this may improve MIDI " "responsiveness, but may slow down playback." msgstr "" -#: src/preferences.c:4931 +#: src/preferences.c:4627 msgid "MIDI repeat" msgstr "MIDI 重复" -#: src/preferences.c:4934 +#: src/preferences.c:4630 msgid "Number of non-reads allowed between succesive reads." msgstr "" -#: src/preferences.c:4938 +#: src/preferences.c:4634 msgid "(Warning: setting this value too high can slow down playback.)" msgstr "(警告:将此值设得过大会拖慢播放。)" -#: src/preferences.c:4957 +#: src/preferences.c:4653 msgid "MIDI/Joystick learner" msgstr "" -#: src/preferences.c:5439 +#: src/preferences.c:5125 msgid "" "\n" "LiVES will now shut down. You need to restart it for the directory change to " @@ -8403,42 +8408,42 @@ "LiVES 即将关闭。您需要重新启动它以使目录更改生效。\n" "点击确定继续。\n" -#: src/preferences.c:5520 +#: src/preferences.c:5200 msgid "" "For the directory change to take effect LiVES will restart when preferences " "dialog closes." msgstr "为使目录更改生效,LiVES 将在关闭首选项对话框后重新启动。" -#: src/preferences.c:5525 +#: src/preferences.c:5205 #, fuzzy msgid "" "Disabling the theme will not take effect until the next time you start LiVES." msgstr "主题的更改只有在您下次启动 LiVES 时才会生效。" -#: src/preferences.c:5531 +#: src/preferences.c:5210 msgid "Jack options will not take effect until the next time you start LiVES." msgstr "Jack 选项在您下次启动 LiVES 时才会生效。" -#: src/osc.c:2867 +#: src/osc.c:2886 #, c-format msgid "Syncing to external framerate of %.8f frames per second.\n" msgstr "" -#: src/osc.c:7263 +#: src/osc.c:7284 msgid "Cannot initialize OSC receiver\n" msgstr "无法初始化 OSC 接收器\n" -#: src/osc.c:7286 +#: src/osc.c:7307 #, c-format msgid "WARNING: Cannot start OSC server at UDP port %d\n" msgstr "警告:无法在 UDP 端口 %d 上启动 OSC 服务器\n" -#: src/osc.c:7288 +#: src/osc.c:7309 #, c-format msgid "Started OSC server at UDP port %d\n" msgstr "已在 UDP 端口 %d 上启动 OSC 服务器\n" -#: src/osc.c:7401 +#: src/osc.c:7422 #, c-format msgid "Cannot start OSC/UDP server at port %d \n" msgstr "无法在端口 %d 上启动 OSC/UDP 服务器 \n" @@ -8461,159 +8466,159 @@ msgid "Resample/Resize" msgstr "" -#: src/resample.c:716 +#: src/resample.c:717 #, c-format msgid "Length of video is now %d frames.\n" msgstr "" -#: src/resample.c:777 +#: src/resample.c:778 msgid "" "\n" "\n" "New rate must be greater than 0\n" msgstr "" -#: src/resample.c:824 src/resample.c:839 +#: src/resample.c:825 src/resample.c:840 msgid "Resampling audio" msgstr "正在重采样音频" -#: src/resample.c:857 +#: src/resample.c:858 msgid "LiVES was unable to resample the audio as requested.\n" msgstr "LiVES 无法按要求对音频进行重采样。\n" -#: src/resample.c:859 src/resample.c:863 src/resample.c:1204 +#: src/resample.c:860 src/resample.c:864 src/resample.c:1205 msgid "Resample Audio" msgstr "重采样音频" -#: src/resample.c:871 +#: src/resample.c:872 #, c-format msgid "Audio was resampled to %d Hz, %d channels, %d bit" msgstr "" -#: src/resample.c:1049 +#: src/resample.c:1050 #, c-format msgid "Resampling video at %.8f frames per second..." msgstr "" -#: src/resample.c:1051 +#: src/resample.c:1052 #, c-format msgid "Resampling video at %.3f frames per second..." msgstr "" -#: src/resample.c:1082 +#: src/resample.c:1083 msgid "Reordering error !\n" msgstr "" -#: src/resample.c:1093 +#: src/resample.c:1094 msgid "Resample" msgstr "重采样" -#: src/resample.c:1208 +#: src/resample.c:1209 #, fuzzy msgid "New Clip Audio" msgstr "新的音频" -#: src/resample.c:1210 +#: src/resample.c:1211 #, fuzzy msgid "External Clip Settings" msgstr "LiVES:- 外部剪辑设置" -#: src/resample.c:1232 +#: src/resample.c:1233 msgid "Current" msgstr "当前" -#: src/resample.c:1242 src/resample.c:1355 +#: src/resample.c:1243 src/resample.c:1356 msgid "Rate (Hz) " msgstr "" -#: src/resample.c:1249 src/resample.c:1369 +#: src/resample.c:1250 src/resample.c:1370 msgid "Channels" msgstr "" -#: src/resample.c:1256 +#: src/resample.c:1257 msgid "Sample Size " msgstr "" -#: src/resample.c:1271 src/resample.c:1421 +#: src/resample.c:1272 src/resample.c:1422 msgid "Signed" msgstr "有符号" -#: src/resample.c:1277 src/resample.c:1431 +#: src/resample.c:1278 src/resample.c:1432 msgid "Unsigned" msgstr "无符号" -#: src/resample.c:1299 src/resample.c:1455 +#: src/resample.c:1300 src/resample.c:1456 msgid "Little Endian" msgstr "小端" -#: src/resample.c:1305 src/resample.c:1463 +#: src/resample.c:1306 src/resample.c:1464 msgid "Big Endian" msgstr "大端" -#: src/resample.c:1322 +#: src/resample.c:1323 #, fuzzy msgid "New Audio Details" msgstr "新的音频" -#: src/resample.c:1323 +#: src/resample.c:1324 msgid "New" msgstr "新建" -#: src/resample.c:1338 +#: src/resample.c:1339 msgid "_Enable audio" msgstr "启用音频(_E)" -#: src/resample.c:1369 +#: src/resample.c:1370 msgid "_Channels" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "_Sample Size" msgstr "" -#: src/resample.c:1391 +#: src/resample.c:1392 msgid "Sample Size" msgstr "" -#: src/resample.c:1494 +#: src/resample.c:1495 msgid "_Frames Per Second " msgstr "帧每秒(_F) " -#: src/resample.c:1507 +#: src/resample.c:1508 msgid "Record for maximum: " msgstr "最多录制: " -#: src/resample.c:1510 +#: src/resample.c:1511 msgid " hours " msgstr " 时 " -#: src/resample.c:1513 +#: src/resample.c:1514 msgid " minutes " msgstr " 分 " -#: src/resample.c:1515 +#: src/resample.c:1516 msgid " seconds " msgstr " 秒 " -#: src/resample.c:1521 +#: src/resample.c:1522 msgid "Unlimited" msgstr "无限制" -#: src/resample.c:1536 +#: src/resample.c:1537 msgid "Click OK to begin recording, or Cancel to quit." msgstr "点击确定进行录制,或点击取消退出。" -#: src/resample.c:1635 +#: src/resample.c:1636 #, fuzzy msgid "Change Playback Speed" msgstr "LiVES:- 更改播放速度" -#: src/resample.c:1637 +#: src/resample.c:1638 #, fuzzy msgid "Resample Video" msgstr "正在重采样视频" -#: src/resample.c:1659 +#: src/resample.c:1660 #, c-format msgid "" "\n" @@ -8624,7 +8629,7 @@ "in _frames per second" msgstr "" -#: src/resample.c:1663 +#: src/resample.c:1664 #, c-format msgid "" "\n" @@ -8635,80 +8640,80 @@ "in frames per second" msgstr "" -#: src/resample.c:1684 +#: src/resample.c:1685 msgid "OR enter the desired clip length in _seconds" msgstr "" -#: src/resample.c:1706 +#: src/resample.c:1707 msgid "Change the _audio speed as well" msgstr "同时更改音频速度(_A)" -#: src/resample.c:1801 +#: src/resample.c:1802 msgid "" "\n" "Speeding up the clip will cause missing frames in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1816 +#: src/resample.c:1817 msgid "" "\n" "Speeding up the clip will cause missing audio in some multitrack layouts.\n" "Are you sure you wish to change the speed ?\n" msgstr "" -#: src/resample.c:1830 +#: src/resample.c:1832 msgid "" "\n" "Changing the speed will cause frames to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1842 +#: src/resample.c:1845 msgid "" "\n" "Changing the speed will cause audio to shift in some multitrack layouts.\n" "Are you sure you wish to continue ?\n" msgstr "" -#: src/resample.c:1880 +#: src/resample.c:1886 msgid "Speed Change" msgstr "更改速度" -#: src/resample.c:1889 +#: src/resample.c:1895 #, c-format msgid "Changed playback speed to %.3f frames per second and audio to %d Hz.\n" msgstr "已将播放速度更改为 %.3f 帧每秒, 音频更改为 %d Hz。\n" -#: src/resample.c:1891 +#: src/resample.c:1897 #, c-format msgid "Changed playback speed to %.3f frames per second.\n" msgstr "已将播放速度更改为 %.3f 帧每秒。\n" -#: src/resample.c:1988 +#: src/resample.c:1994 msgid "Resampling video" msgstr "正在重采样视频" -#: src/resample.c:1994 src/resample.c:2109 src/resample.c:2130 +#: src/resample.c:2000 src/resample.c:2115 src/resample.c:2136 msgid "Resampling clipboard video" msgstr "正在重采样剪贴板视频" -#: src/resample.c:1998 +#: src/resample.c:2004 msgid "Reordering frames" msgstr "" -#: src/resample.c:2007 +#: src/resample.c:2013 msgid "" "\n" "\n" "LiVES was unable to reorder the frames." msgstr "" -#: src/resample.c:2053 +#: src/resample.c:2059 msgid "Deordering frames" msgstr "" -#: src/resample.c:2147 +#: src/resample.c:2153 msgid "resampling error..." msgstr "重采样错误..." @@ -8942,7 +8947,7 @@ msgid "Mode active" msgstr "" -#: src/rte_window.c:2312 src/multitrack.c:8701 +#: src/rte_window.c:2312 src/multitrack.c:8468 msgid "Info" msgstr "信息" @@ -9066,54 +9071,54 @@ msgid "Opened firewire card %d" msgstr "已打开火线卡 %d" -#: src/multitrack.c:770 +#: src/multitrack.c:752 msgid "Auto backup" msgstr "自动备份" -#: src/multitrack.c:964 +#: src/multitrack.c:940 msgid "Backing audio" msgstr "" -#: src/multitrack.c:1542 +#: src/multitrack.c:1520 #, c-format msgid "%s : parameters for %s" msgstr "" -#: src/multitrack.c:1961 src/multitrack.c:3634 +#: src/multitrack.c:1932 src/multitrack.c:3559 #, c-format msgid "Current track: %s (layer %d)\n" msgstr "当前轨道:%s(第 %d 层)\n" -#: src/multitrack.c:1965 src/multitrack.c:3636 +#: src/multitrack.c:1936 src/multitrack.c:3561 msgid "Current track: Backing audio\n" msgstr "" -#: src/multitrack.c:1966 +#: src/multitrack.c:1937 #, c-format msgid "Current track: Layer %d audio\n" msgstr "当前轨道:第 %d 层音频\n" -#: src/multitrack.c:1969 +#: src/multitrack.c:1940 #, c-format msgid "%.2f sec.\n" msgstr "%.2f 秒\n" -#: src/multitrack.c:1974 src/multitrack.c:3642 +#: src/multitrack.c:1945 src/multitrack.c:3567 #, c-format msgid "Source: %s" msgstr "源:%s" -#: src/multitrack.c:1977 src/multitrack.c:3644 +#: src/multitrack.c:1948 src/multitrack.c:3569 msgid "Right click for context menu.\n" msgstr "右击打开环境菜单。\n" -#: src/multitrack.c:1979 +#: src/multitrack.c:1950 msgid "" "Double click on a block\n" "to select it." msgstr "" -#: src/multitrack.c:3443 +#: src/multitrack.c:3370 msgid "" "\n" "\n" @@ -9122,7 +9127,7 @@ "right or double clicking on it.\n" msgstr "" -#: src/multitrack.c:3446 +#: src/multitrack.c:3373 msgid "" "\n" "\n" @@ -9130,7 +9135,7 @@ "Select an effect in FX stack first to view its parameters.\n" msgstr "" -#: src/multitrack.c:3449 +#: src/multitrack.c:3376 msgid "" "\n" "\n" @@ -9140,7 +9145,7 @@ "\n" "未载入剪辑。\n" -#: src/multitrack.c:3453 +#: src/multitrack.c:3380 msgid "" "You must select two video tracks\n" "and a time region\n" @@ -9150,7 +9155,7 @@ "before inserting clips into the timeline." msgstr "" -#: src/multitrack.c:3457 +#: src/multitrack.c:3384 msgid "" "\n" "\n" @@ -9159,12 +9164,12 @@ "to apply compositors.\n" msgstr "" -#: src/multitrack.c:3639 +#: src/multitrack.c:3564 #, c-format msgid "%.2f sec. to %.2f sec.\n" msgstr "%.2f 秒到 %.2f 秒\n" -#: src/multitrack.c:3645 +#: src/multitrack.c:3570 msgid "" "Single click on timeline\n" "to select a frame.\n" @@ -9172,12 +9177,12 @@ "单击时间线\n" "来选择某一帧。\n" -#: src/multitrack.c:3867 src/multitrack.c:7104 +#: src/multitrack.c:3786 src/multitrack.c:6957 #, c-format msgid "%s [unstable]" msgstr "" -#: src/multitrack.c:3978 +#: src/multitrack.c:3899 msgid "" "You can click and drag\n" "below the timeline" @@ -9185,170 +9190,170 @@ "您可以点击拖动\n" "时间线下方" -#: src/multitrack.c:3979 +#: src/multitrack.c:3900 msgid "to select a time region.\n" msgstr "以选择一个时间区段。\n" -#: src/multitrack.c:4152 +#: src/multitrack.c:4066 #, fuzzy msgid "Selected Clip" msgstr "LiVES:已选剪辑" -#: src/multitrack.c:4155 +#: src/multitrack.c:4069 #, fuzzy msgid "_Adjust Start and End Points" msgstr "调整起点和终点(_A)" -#: src/multitrack.c:4164 +#: src/multitrack.c:4077 #, fuzzy msgid "_Edit/Encode in Clip Editor" msgstr "在剪辑编辑器中进行编辑/编码(_E)" -#: src/multitrack.c:4171 +#: src/multitrack.c:4084 #, fuzzy msgid "_Show Clip Information" msgstr "显示剪辑信息(_S)" -#: src/multitrack.c:4178 +#: src/multitrack.c:4091 #, fuzzy msgid "_Close this Clip" msgstr "_关闭此影片" -#: src/multitrack.c:4404 +#: src/multitrack.c:4313 #, fuzzy msgid "Audio Mixer (ctrl-m)" msgstr "混音器(ctrl-m)" -#: src/multitrack.c:4471 +#: src/multitrack.c:4378 msgid "Single click on timeline" msgstr "点击时间线" -#: src/multitrack.c:4472 +#: src/multitrack.c:4379 msgid "to select a frame." msgstr "来选择一帧。" -#: src/multitrack.c:4473 +#: src/multitrack.c:4380 msgid "Double click or right click on timeline" msgstr "" -#: src/multitrack.c:4474 +#: src/multitrack.c:4381 msgid "to select a block." msgstr "来选择块。" -#: src/multitrack.c:4475 +#: src/multitrack.c:4382 msgid "Clips can be dragged" msgstr "剪辑可以被拖放" -#: src/multitrack.c:4476 +#: src/multitrack.c:4383 msgid "onto the timeline." msgstr "到时间线上。" -#: src/multitrack.c:4478 +#: src/multitrack.c:4385 msgid "Mouse mode is: Move" msgstr "鼠标模式为:移动" -#: src/multitrack.c:4479 +#: src/multitrack.c:4386 msgid "clips can be moved around." msgstr "剪辑可以四处移动。" -#: src/multitrack.c:4483 +#: src/multitrack.c:4390 msgid "Mouse mode is: Select." msgstr "鼠标模式为:选择。" -#: src/multitrack.c:4484 +#: src/multitrack.c:4391 msgid "Drag with mouse on timeline" msgstr "用鼠标拖动时间线" -#: src/multitrack.c:4485 +#: src/multitrack.c:4392 msgid "to select tracks and time." msgstr "来选择轨道和时间。" -#: src/multitrack.c:4569 +#: src/multitrack.c:4472 msgid "Close _last gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4571 +#: src/multitrack.c:4474 msgid "Close _first gap(s) in selected tracks/time" msgstr "" -#: src/multitrack.c:4628 +#: src/multitrack.c:4529 msgid "Close gaps" msgstr "关闭缺口" -#: src/multitrack.c:4630 +#: src/multitrack.c:4531 msgid "Move block" msgstr "" -#: src/multitrack.c:4632 +#: src/multitrack.c:4533 msgid "Move audio block" msgstr "" -#: src/multitrack.c:4634 +#: src/multitrack.c:4535 msgid "Delete block" msgstr "删除区块" -#: src/multitrack.c:4636 +#: src/multitrack.c:4537 msgid "Delete audio block" msgstr "" -#: src/multitrack.c:4638 +#: src/multitrack.c:4539 msgid "Split tracks" msgstr "" -#: src/multitrack.c:4640 +#: src/multitrack.c:4541 msgid "Split block" msgstr "" -#: src/multitrack.c:4643 +#: src/multitrack.c:4544 #, c-format msgid "Apply %s" msgstr "应用 %s" -#: src/multitrack.c:4648 +#: src/multitrack.c:4549 #, c-format msgid "Delete %s" msgstr "删除 %s" -#: src/multitrack.c:4652 +#: src/multitrack.c:4553 msgid "Insert block" msgstr "" -#: src/multitrack.c:4654 +#: src/multitrack.c:4555 msgid "Insert gap" msgstr "" -#: src/multitrack.c:4656 +#: src/multitrack.c:4557 msgid "Insert audio block" msgstr "" -#: src/multitrack.c:4658 +#: src/multitrack.c:4559 msgid "Effect order change" msgstr "更改特效顺序" -#: src/multitrack.c:5066 +#: src/multitrack.c:4956 msgid "unsigned " msgstr "无符号 " -#: src/multitrack.c:5067 +#: src/multitrack.c:4957 msgid "signed " msgstr "有符号 " -#: src/multitrack.c:5073 +#: src/multitrack.c:4963 #, c-format msgid "" "Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, " "audio rate %d, audio sample size %d, %s.\n" msgstr "" -#: src/multitrack.c:5106 +#: src/multitrack.c:4997 msgid "invalid event list. Failed.\n" msgstr "无效的事件列表。失败。\n" -#: src/multitrack.c:5112 +#: src/multitrack.c:5004 msgid "event list has invalid fps. Failed.\n" msgstr "事件列表中有无效的帧率。失败。\n" -#: src/multitrack.c:5125 +#: src/multitrack.c:5016 #, c-format msgid "" "\n" @@ -9358,7 +9363,7 @@ "then load in the new set from the File menu.\n" msgstr "" -#: src/multitrack.c:5168 +#: src/multitrack.c:5058 #, c-format msgid "" "\n" @@ -9369,477 +9374,477 @@ "此布局中的声道数 (%d) 对 LiVES 无效。\n" "无法加载。\n" -#: src/multitrack.c:5468 +#: src/multitrack.c:5350 msgid "Layout was wiped.\n" msgstr "布局已擦除。\n" -#: src/multitrack.c:5563 +#: src/multitrack.c:5443 #, c-format msgid "LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps" msgstr "" -#: src/multitrack.c:5812 +#: src/multitrack.c:5691 msgid "In/out" msgstr "输入/输出" -#: src/multitrack.c:5814 +#: src/multitrack.c:5693 msgid "FX stack" msgstr "" -#: src/multitrack.c:5822 src/omc-learn.c:664 +#: src/multitrack.c:5701 src/omc-learn.c:664 msgid "Params." msgstr "参数" -#: src/multitrack.c:6425 +#: src/multitrack.c:6301 msgid "_Open..." msgstr "打开(_O)..." -#: src/multitrack.c:6438 +#: src/multitrack.c:6314 msgid "O_pen File Selection..." msgstr "_打开文件选择..." -#: src/multitrack.c:6479 +#: src/multitrack.c:6352 msgid "Import Selection from _dvd/vcd..." msgstr "" -#: src/multitrack.c:6484 +#: src/multitrack.c:6357 msgid "Import Selection from _dvd" msgstr "" -#: src/multitrack.c:6494 +#: src/multitrack.c:6366 msgid "Import Selection from _vcd" msgstr "" -#: src/multitrack.c:6509 +#: src/multitrack.c:6379 msgid "_Import from Device" msgstr "_从设备进口" -#: src/multitrack.c:6536 +#: src/multitrack.c:6404 #, fuzzy msgid "_Close the Selected Clip" msgstr "关闭选择的剪辑(_C)" -#: src/multitrack.c:6615 +#: src/multitrack.c:6481 #, fuzzy msgid "_Save Layout as..." msgstr "布局保存为(_S)..." -#: src/multitrack.c:6623 +#: src/multitrack.c:6489 #, fuzzy msgid "_Load Layout..." msgstr "加载布局(_L)..." -#: src/multitrack.c:6627 +#: src/multitrack.c:6493 #, fuzzy msgid "_Wipe/Delete Layout..." msgstr "擦除/删除布局(_W)..." -#: src/multitrack.c:6652 +#: src/multitrack.c:6517 #, fuzzy msgid "_Ignore Width, Height and Audio Values from Loaded Layouts" msgstr "忽略已加载布局中的宽度、高度和音频值(_I)" -#: src/multitrack.c:6656 +#: src/multitrack.c:6521 #, fuzzy msgid "Auto Load _Subtitles with Clips" msgstr "显示字幕" -#: src/multitrack.c:6730 +#: src/multitrack.c:6594 msgid "_CLIP EDITOR" msgstr "剪辑编辑器(_C)" -#: src/multitrack.c:6742 +#: src/multitrack.c:6605 #, fuzzy msgid "_Adjust Selected Clip Start/End Points" msgstr "调整所选剪辑的始点/终点(_A)" -#: src/multitrack.c:6751 +#: src/multitrack.c:6614 msgid "_Insert selected clip" msgstr "插入选择的剪辑(_I)" -#: src/multitrack.c:6763 +#: src/multitrack.c:6625 #, fuzzy msgid "_Insert Selected Clip Audio" msgstr "插入选择的剪辑音频(_I)" -#: src/multitrack.c:6772 +#: src/multitrack.c:6633 #, fuzzy msgid "_Delete Selected Block" msgstr "删除选中区域(_D)" -#: src/multitrack.c:6784 +#: src/multitrack.c:6644 msgid "_Jump to Previous Block Boundary" msgstr "" -#: src/multitrack.c:6793 +#: src/multitrack.c:6653 msgid "_Jump to Next Block Boundary" msgstr "" -#: src/multitrack.c:6806 +#: src/multitrack.c:6666 #, fuzzy msgid "Clear _Marks from Timeline" msgstr "清除时间线上的标记(_M)" -#: src/multitrack.c:6814 +#: src/multitrack.c:6674 #, fuzzy msgid "Ignore Selection Limits when Inserting" msgstr "在插入时忽略选区限制" -#: src/multitrack.c:6826 src/multitrack.c:17035 +#: src/multitrack.c:6686 src/multitrack.c:16541 msgid "_Play from Timeline Position" msgstr "从时间线位置开始播放(_P)" -#: src/multitrack.c:6840 +#: src/multitrack.c:6699 #, fuzzy msgid "Pla_y Selected Time Only" msgstr "只播放选择的时间段(_Y)" -#: src/multitrack.c:6919 +#: src/multitrack.c:6776 msgid "_Move Effects with Blocks" msgstr "" -#: src/multitrack.c:6932 +#: src/multitrack.c:6788 #, fuzzy msgid "Select _Autotransition Effect..." msgstr "选择自动过渡特效(_A)..." -#: src/multitrack.c:6938 +#: src/multitrack.c:6794 msgid "Crossfade Audio with Autotransition" msgstr "" -#: src/multitrack.c:6946 +#: src/multitrack.c:6802 #, fuzzy msgid "View/_Edit Selected Effect" msgstr "查看/编辑选择的特效(_E)" -#: src/multitrack.c:6950 +#: src/multitrack.c:6806 #, fuzzy msgid "_Delete Selected Effect" msgstr "删除选择的效果(_D)" -#: src/multitrack.c:6958 +#: src/multitrack.c:6814 msgid "Apply Effect to _Block..." msgstr "" -#: src/multitrack.c:6995 +#: src/multitrack.c:6849 msgid "Apply Effect to _Region..." msgstr "" -#: src/multitrack.c:7205 +#: src/multitrack.c:7050 msgid "_Tracks" msgstr "轨道(_T)" -#: src/multitrack.c:7219 +#: src/multitrack.c:7063 #, fuzzy msgid "Make _Backing Audio Current Track" msgstr "选择当前轨道(_S)" -#: src/multitrack.c:7230 +#: src/multitrack.c:7074 msgid "Add Video Track at _Rear" msgstr "" -#: src/multitrack.c:7238 +#: src/multitrack.c:7082 msgid "Add Video Track at _Front" msgstr "" -#: src/multitrack.c:7251 +#: src/multitrack.c:7093 #, fuzzy msgid "_Split Current Track at Cursor" msgstr "从光标处分割当前轨道(_S)" -#: src/multitrack.c:7263 +#: src/multitrack.c:7104 #, fuzzy msgid "_Split Selected Video Tracks" msgstr "分割所选的视频轨道(_S)" -#: src/multitrack.c:7276 +#: src/multitrack.c:7116 #, fuzzy msgid "Insert Gap in Selected Tracks/Time" msgstr "插入选择的剪辑(_I)" -#: src/multitrack.c:7284 +#: src/multitrack.c:7124 msgid "Insert Gap in Current Track/Selected Time" msgstr "" -#: src/multitrack.c:7296 +#: src/multitrack.c:7136 msgid "Close All _Gaps in Selected Tracks/Time" msgstr "" -#: src/multitrack.c:7322 +#: src/multitrack.c:7160 msgid "Se_lection" msgstr "选区(_L)" -#: src/multitrack.c:7328 +#: src/multitrack.c:7166 msgid "_Select Current Track" msgstr "选择当前轨道(_S)" -#: src/multitrack.c:7335 +#: src/multitrack.c:7173 #, fuzzy msgid "Select _All Video Tracks" msgstr "选择所有视频轨道(_A)" -#: src/multitrack.c:7342 +#: src/multitrack.c:7180 #, fuzzy msgid "Select _No Video Tracks" msgstr "取消选择所有视频轨道(_N)" -#: src/multitrack.c:7349 +#: src/multitrack.c:7187 #, fuzzy msgid "Select All _Time" msgstr "选择所有时间(_T)" -#: src/multitrack.c:7360 +#: src/multitrack.c:7198 #, fuzzy msgid "Select from _Zero Time" msgstr "从时间开头开始选择(_Z)" -#: src/multitrack.c:7367 +#: src/multitrack.c:7205 #, fuzzy msgid "Select to _End Time" msgstr "选择到时间末尾(_E)" -#: src/multitrack.c:7374 +#: src/multitrack.c:7212 msgid "_Copy..." msgstr "复制(_C)..." -#: src/multitrack.c:7380 +#: src/multitrack.c:7218 msgid "_Timecode to Region Start" msgstr "" -#: src/multitrack.c:7387 +#: src/multitrack.c:7225 msgid "_Timecode to Region End" msgstr "" -#: src/multitrack.c:7394 +#: src/multitrack.c:7232 msgid "_Region Start to Timecode" msgstr "" -#: src/multitrack.c:7401 +#: src/multitrack.c:7239 msgid "_Region End to Timecode" msgstr "" -#: src/multitrack.c:7415 +#: src/multitrack.c:7253 #, fuzzy msgid "Select/Deselect Block at Current Track/Time" msgstr "选择当前轨道(_S)" -#: src/multitrack.c:7434 +#: src/multitrack.c:7272 #, fuzzy msgid "_Change Width, Height and Audio Values..." msgstr "更改宽度、高度和音频值(_C)..." -#: src/multitrack.c:7489 +#: src/multitrack.c:7319 msgid "_Render" msgstr "渲染(_R)" -#: src/multitrack.c:7495 +#: src/multitrack.c:7325 #, fuzzy msgid "_Render All to New Clip" msgstr "渲染所有到新剪辑(_R)" -#: src/multitrack.c:7510 +#: src/multitrack.c:7339 #, fuzzy msgid "Render _Video" msgstr "渲染视频(_V)" -#: src/multitrack.c:7517 +#: src/multitrack.c:7345 #, fuzzy msgid "Render _Audio" msgstr "渲染音频(_A)" -#: src/multitrack.c:7527 +#: src/multitrack.c:7355 #, fuzzy msgid "_Normalise Rendered Audio" msgstr "预渲染音频(_P)" -#: src/multitrack.c:7535 +#: src/multitrack.c:7361 #, fuzzy msgid "_Pre-render Audio" msgstr "预渲染音频(_P)" -#: src/multitrack.c:7544 +#: src/multitrack.c:7368 msgid "_View" msgstr "视图(_V)" -#: src/multitrack.c:7557 +#: src/multitrack.c:7381 msgid "Block _In/Out Points" msgstr "" -#: src/multitrack.c:7566 +#: src/multitrack.c:7390 #, fuzzy msgid "_Effects at Current" msgstr "当前特效(_E)" -#: src/multitrack.c:7584 +#: src/multitrack.c:7408 #, fuzzy msgid "Audio Parameters" msgstr "音频参数" -#: src/multitrack.c:7590 +#: src/multitrack.c:7414 msgid "Show Backing _Audio Track" msgstr "" -#: src/multitrack.c:7594 +#: src/multitrack.c:7418 #, fuzzy msgid "Compact View" msgstr "紧凑视图" -#: src/multitrack.c:7602 +#: src/multitrack.c:7426 #, fuzzy msgid "Maximum Tracks to Display..." msgstr "显示的最大轨道数目..." -#: src/multitrack.c:7609 +#: src/multitrack.c:7433 msgid "Scroll to Follow Playback" msgstr "" -#: src/multitrack.c:7613 +#: src/multitrack.c:7437 #, fuzzy msgid "_Center on Cursor" msgstr "沿光标居中(_C)" -#: src/multitrack.c:7620 +#: src/multitrack.c:7444 #, fuzzy msgid "_Zoom In" msgstr "拉近(_Z)" -#: src/multitrack.c:7631 +#: src/multitrack.c:7455 #, fuzzy msgid "_Zoom Out" msgstr "推远(_Z)" -#: src/multitrack.c:7643 +#: src/multitrack.c:7466 #, fuzzy msgid "Multitrack _Details" msgstr "多轨道细节(_D)" -#: src/multitrack.c:7655 +#: src/multitrack.c:7477 msgid "_Event Window" msgstr "事件窗口(_E)" -#: src/multitrack.c:7659 +#: src/multitrack.c:7481 msgid "_Event Window (selected time only)" msgstr "事件窗口(只针对选择的时间)(_E)" -#: src/multitrack.c:7663 +#: src/multitrack.c:7485 #, fuzzy msgid "_Show FRAME Events" msgstr "显示帧事件(_S)" -#: src/multitrack.c:7674 +#: src/multitrack.c:7496 #, fuzzy msgid "_Show Multitrack Keys" msgstr "显示多轨道键(_S)" -#: src/multitrack.c:7694 +#: src/multitrack.c:7516 msgid "Report a _bug" msgstr "报告错误(_B)" -#: src/multitrack.c:7925 +#: src/multitrack.c:7746 #, fuzzy msgid "Insert With _Audio" msgstr "和音频一同插入(_A)" -#: src/multitrack.c:7926 +#: src/multitrack.c:7747 msgid "" "Select whether video clips are inserted and moved with their audio or not" msgstr "选择是否将视频剪辑和所带的音频一起插入或移动" -#: src/multitrack.c:8004 +#: src/multitrack.c:7821 #, fuzzy msgid "Select _Overlap" msgstr "选择重叠(_O)" -#: src/multitrack.c:8005 +#: src/multitrack.c:7822 msgid "" "Select whether timeline selection snaps to overlap between selected tracks " "or not" msgstr "选择时间线选区是否捕获到所选轨道的重叠处" -#: src/multitrack.c:8060 src/multitrack.c:14353 +#: src/multitrack.c:7875 src/multitrack.c:13918 msgid "Expanded View (d)" msgstr "扩展视图(d)" -#: src/multitrack.c:8063 src/multitrack.c:14359 +#: src/multitrack.c:7878 src/multitrack.c:13924 msgid "Compact View (d)" msgstr "紧凑视图(d)" -#: src/multitrack.c:8087 +#: src/multitrack.c:7899 msgid "Gravity: _Normal" msgstr "重力:正常(_N)" -#: src/multitrack.c:8108 +#: src/multitrack.c:7919 msgid "Gravity: _Left" msgstr "重力:左(_L)" -#: src/multitrack.c:8119 +#: src/multitrack.c:7928 msgid "Gravity: _Right" msgstr "重力:右(_R)" -#: src/multitrack.c:8144 +#: src/multitrack.c:7952 #, fuzzy msgid "Mouse Mode: _Move" msgstr "鼠标模式:移动(_M)" -#: src/multitrack.c:8171 +#: src/multitrack.c:7977 #, fuzzy msgid "Mouse Mode: _Select" msgstr "鼠标模式:(_S)" -#: src/multitrack.c:8194 +#: src/multitrack.c:7999 #, fuzzy msgid "Insert Mode: _Normal" msgstr "插入模式:正常(_N)" -#: src/multitrack.c:8459 +#: src/multitrack.c:8249 msgid "_Apply" msgstr "应用(_A)" -#: src/multitrack.c:8480 +#: src/multitrack.c:8268 msgid "Time" msgstr "时间" -#: src/multitrack.c:8491 +#: src/multitrack.c:8279 msgid "_Del. node" msgstr "" -#: src/multitrack.c:8499 +#: src/multitrack.c:8287 msgid "_Next node" msgstr "" -#: src/multitrack.c:8507 +#: src/multitrack.c:8295 msgid "_Prev node" msgstr "" -#: src/multitrack.c:8533 +#: src/multitrack.c:8317 msgid "_Reverse playback " msgstr "" -#: src/multitrack.c:8550 +#: src/multitrack.c:8331 msgid "_Velocity " msgstr "速率(_V) " -#: src/multitrack.c:8610 +#: src/multitrack.c:8388 msgid "Anchor _start" msgstr "" -#: src/multitrack.c:8611 +#: src/multitrack.c:8389 msgid "Anchor the start point to the timeline" msgstr "" -#: src/multitrack.c:8669 +#: src/multitrack.c:8442 msgid "Anchor _end" msgstr "" -#: src/multitrack.c:8670 +#: src/multitrack.c:8443 msgid "Anchor the end point to the timeline" msgstr "" -#: src/multitrack.c:8813 +#: src/multitrack.c:8576 msgid "Scroll" msgstr "滚动" -#: src/multitrack.c:9398 +#: src/multitrack.c:9148 msgid "" "\n" "==============================\n" @@ -9849,95 +9854,95 @@ "==============================\n" "已切换到剪辑编辑方式\n" -#: src/multitrack.c:9606 +#: src/multitrack.c:9352 msgid "Timeline (seconds)" msgstr "时间线(秒)" -#: src/multitrack.c:10101 +#: src/multitrack.c:9841 msgid " Backing audio" msgstr "" -#: src/multitrack.c:10103 +#: src/multitrack.c:9843 #, c-format msgid " Layer %d audio" msgstr " 层 %d 音频" -#: src/multitrack.c:10114 +#: src/multitrack.c:9854 msgid "Show/hide audio details" msgstr "显示/隐藏音频细节" -#: src/multitrack.c:10123 src/multitrack.c:10348 +#: src/multitrack.c:9863 src/multitrack.c:10085 #, c-format msgid "Layer %d audio" msgstr "层 %d 的音频" -#: src/multitrack.c:10249 src/multitrack.c:10377 +#: src/multitrack.c:9987 src/multitrack.c:10114 #, c-format msgid "%s (layer %d)" msgstr "%s (层 %d)" -#: src/multitrack.c:10299 +#: src/multitrack.c:10037 msgid "Select track" msgstr "选择轨道" -#: src/multitrack.c:10303 +#: src/multitrack.c:10041 msgid "Show/hide audio" msgstr "显示/隐藏音频" -#: src/multitrack.c:10309 +#: src/multitrack.c:10047 #, c-format msgid "Video %d" msgstr "视频 %d" -#: src/multitrack.c:10349 +#: src/multitrack.c:10086 #, c-format msgid " %s" msgstr " %s" -#: src/multitrack.c:10463 +#: src/multitrack.c:10205 #, fuzzy msgid "Selected Effect" msgstr "选择最后的_影响" -#: src/multitrack.c:10470 +#: src/multitrack.c:10212 #, fuzzy msgid "_View/Edit this Effect" msgstr "查看/编辑此特效(_V)" -#: src/multitrack.c:10472 +#: src/multitrack.c:10214 #, fuzzy msgid "_View this Effect" msgstr "查看此特效(_V)" -#: src/multitrack.c:10480 +#: src/multitrack.c:10222 #, fuzzy msgid "_Delete this Effect" msgstr "删除此特效(_D)" -#: src/multitrack.c:10538 +#: src/multitrack.c:10277 msgid "Cannot insert after this effect" msgstr "无法在此特效后插入" -#: src/multitrack.c:10568 +#: src/multitrack.c:10307 msgid "This effect cannot be moved" msgstr "此特效无法移除" -#: src/multitrack.c:10622 +#: src/multitrack.c:10359 #, c-format msgid " %d to %d selected " msgstr " 已选择 %d 到 %d " -#: src/multitrack.c:10625 src/multitrack.c:10850 +#: src/multitrack.c:10362 src/multitrack.c:10575 #, c-format msgid "%.2f sec." msgstr "%.2f 秒" -#: src/multitrack.c:10830 +#: src/multitrack.c:10555 #, c-format msgid "%d frames" msgstr "%d 帧" -#: src/multitrack.c:11180 +#: src/multitrack.c:10898 msgid "" "\n" "==============================\n" @@ -9947,70 +9952,70 @@ "==============================\n" "已切换到多轨道模式\n" -#: src/multitrack.c:12872 +#: src/multitrack.c:12576 msgid "Drag the time slider to where you" msgstr "将时间滑块拖到您" -#: src/multitrack.c:12873 +#: src/multitrack.c:12577 msgid "want to set effect parameters" msgstr "想要设置特效参数的地方" -#: src/multitrack.c:12874 +#: src/multitrack.c:12578 msgid "Set parameters, then click \"Apply\"\n" msgstr "设置参数,然后点击“应用”\n" -#: src/multitrack.c:12875 +#: src/multitrack.c:12579 msgid "" "NODES are points where parameters\n" "have been set.\n" "Nodes can be deleted." msgstr "" -#: src/multitrack.c:12877 +#: src/multitrack.c:12581 msgid "Effect has no parameters.\n" msgstr "特效没有参数。\n" -#: src/multitrack.c:12970 +#: src/multitrack.c:12674 #, c-format msgid "%s output" msgstr "%s 输出" -#: src/multitrack.c:12975 src/multitrack.c:12983 +#: src/multitrack.c:12679 src/multitrack.c:12687 #, c-format msgid "layer %d" msgstr "层 %d" -#: src/multitrack.c:12976 src/multitrack.c:12984 +#: src/multitrack.c:12680 src/multitrack.c:12688 msgid "audio track" msgstr "音轨" -#: src/multitrack.c:12977 +#: src/multitrack.c:12681 #, c-format msgid "%s to %s" msgstr "%s 到 %s" -#: src/multitrack.c:12985 +#: src/multitrack.c:12689 #, c-format msgid "%s from %s" msgstr "" -#: src/multitrack.c:13030 +#: src/multitrack.c:12734 msgid "_Prev filter map" msgstr "" -#: src/multitrack.c:13041 +#: src/multitrack.c:12745 msgid "Insert _before" msgstr "插入前面(_B)" -#: src/multitrack.c:13051 +#: src/multitrack.c:12755 msgid "Insert _after" msgstr "插入后面(_A)" -#: src/multitrack.c:13065 +#: src/multitrack.c:12769 msgid "_Next filter map" msgstr "" -#: src/multitrack.c:13079 +#: src/multitrack.c:12783 msgid "" "\n" "\n" @@ -10022,32 +10027,32 @@ "当前轨道、当前时刻\n" "无特效。\n" -#: src/multitrack.c:13097 +#: src/multitrack.c:12801 msgid "" "Drag a compositor anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13104 +#: src/multitrack.c:12808 msgid "" "Drag a transition anywhere\n" "on the timeline\n" "to apply it to the selected region." msgstr "" -#: src/multitrack.c:13112 +#: src/multitrack.c:12816 msgid "" "Effects can be dragged\n" "onto blocks on the timeline." msgstr "" -#: src/multitrack.c:13336 +#: src/multitrack.c:13035 #, fuzzy msgid "Selected Block/Frame" msgstr "选择_所有帧" -#: src/multitrack.c:13338 +#: src/multitrack.c:13037 #, fuzzy msgid "_Select this Block" msgstr "" @@ -10055,140 +10060,140 @@ "\n" "选择被锁定。\n" -#: src/multitrack.c:13348 +#: src/multitrack.c:13045 msgid "_Split Block Here" msgstr "" -#: src/multitrack.c:13356 +#: src/multitrack.c:13053 #, fuzzy msgid "List _Effects Here" msgstr "在此列出效果(_E)" -#: src/multitrack.c:13365 src/multitrack.c:13443 +#: src/multitrack.c:13062 src/multitrack.c:13136 #, c-format msgid "_Adjust %s" msgstr "调整 %s(_A)" -#: src/multitrack.c:13380 +#: src/multitrack.c:13075 #, fuzzy msgid "_Delete this Block" msgstr "删除此特效(_D)" -#: src/multitrack.c:13425 +#: src/multitrack.c:13119 #, fuzzy msgid "_Insert Here" msgstr "在此插入(_I)" -#: src/multitrack.c:13430 +#: src/multitrack.c:13124 #, fuzzy msgid "_Insert Audio Here" msgstr "在此插入音频(_I)" -#: src/multitrack.c:14953 +#: src/multitrack.c:14506 #, c-format msgid "Inserted gap in selected tracks from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:14987 +#: src/multitrack.c:14537 #, c-format msgid "Inserted gap in track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15193 +#: src/multitrack.c:14740 #, c-format msgid "Undid %s\n" msgstr "" -#: src/multitrack.c:15399 +#: src/multitrack.c:14943 #, c-format msgid "Redid %s\n" msgstr "" -#: src/multitrack.c:15432 +#: src/multitrack.c:14975 msgid "" "\n" " (variable)" msgstr "" -#: src/multitrack.c:15669 src/multitrack.c:15783 src/multitrack.c:19125 -#: src/multitrack.c:19137 +#: src/multitrack.c:15208 src/multitrack.c:15326 src/multitrack.c:18542 +#: src/multitrack.c:18555 #, c-format msgid "track %s" msgstr "轨道 %s" -#: src/multitrack.c:15674 src/multitrack.c:15788 src/multitrack.c:19130 +#: src/multitrack.c:15213 src/multitrack.c:15331 src/multitrack.c:18547 #, c-format msgid "tracks %s and %s" msgstr "轨道 %s 和 %s" -#: src/multitrack.c:15680 src/multitrack.c:15794 src/multitrack.c:19139 +#: src/multitrack.c:15220 src/multitrack.c:15338 src/multitrack.c:18557 msgid "selected tracks" msgstr "已选择的轨道" -#: src/multitrack.c:15685 +#: src/multitrack.c:15225 #, c-format msgid "Added %s %s to %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15719 +#: src/multitrack.c:15260 #, c-format msgid "Added effect %s to track %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:15805 +#: src/multitrack.c:15349 #, c-format msgid "Deleted %s %s from %s from %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:16104 +#: src/multitrack.c:15639 #, c-format msgid "rendered %d frames to new clip.\n" msgstr "" -#: src/multitrack.c:16193 +#: src/multitrack.c:15728 msgid "Cleaning up..." msgstr "正在清理..." -#: src/multitrack.c:16624 +#: src/multitrack.c:16144 #, c-format msgid "Deleted frames from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:16627 +#: src/multitrack.c:16147 #, c-format msgid "Deleted audio from time %.4f to %.4f on track %s\n" msgstr "" -#: src/multitrack.c:17029 +#: src/multitrack.c:16535 msgid "_Pause" msgstr "暂停(_P)" -#: src/multitrack.c:17030 +#: src/multitrack.c:16536 msgid "Pause (p)" msgstr "暂停(p)" -#: src/multitrack.c:17178 +#: src/multitrack.c:16670 msgid "Press 'm' during playback" msgstr "在播放过程中按“m”键" -#: src/multitrack.c:17179 +#: src/multitrack.c:16671 msgid "to make a mark on the timeline" msgstr "要在时间线上做标记" -#: src/multitrack.c:17526 +#: src/multitrack.c:17011 #, c-format msgid "" "Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f " "to %.4f\n" msgstr "" -#: src/multitrack.c:17788 +#: src/multitrack.c:17272 #, c-format msgid "" "Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n" msgstr "" -#: src/multitrack.c:18364 +#: src/multitrack.c:17792 #, c-format msgid "" "Time region %.3f to %.3f\n" @@ -10197,7 +10202,7 @@ "时间区段 %.3f 到 %.3f\n" "已选择。\n" -#: src/multitrack.c:18368 +#: src/multitrack.c:17796 msgid "" "select one or more tracks\n" "to create a region.\n" @@ -10205,12 +10210,12 @@ "选择一条或多条轨道\n" "来创建一个区段。\n" -#: src/multitrack.c:18369 +#: src/multitrack.c:17797 #, c-format msgid "%d video tracks selected.\n" msgstr "已选择了 %d 条视频轨道。\n" -#: src/multitrack.c:18371 +#: src/multitrack.c:17799 msgid "" "Double click on timeline\n" "to deselect time region." @@ -10218,7 +10223,7 @@ "双击时间线来\n" "取消时间区段选择。" -#: src/multitrack.c:18378 +#: src/multitrack.c:17806 msgid "" "Single click on an effect\n" "to select it." @@ -10226,7 +10231,7 @@ "单击某个效果来\n" "选中它。" -#: src/multitrack.c:18379 +#: src/multitrack.c:17807 msgid "" "Double click on an effect\n" "to edit it." @@ -10234,7 +10239,7 @@ "双击某个效果\n" "进行编辑。" -#: src/multitrack.c:18380 +#: src/multitrack.c:17808 msgid "" "Right click on an effect\n" "for context menu.\n" @@ -10242,13 +10247,13 @@ "右击某个效果来\n" "打开环境菜单。\n" -#: src/multitrack.c:18382 +#: src/multitrack.c:17810 msgid "" "Effect order can be changed at\n" "FILTER MAPS" msgstr "" -#: src/multitrack.c:18389 +#: src/multitrack.c:17817 msgid "" "You can select an effect,\n" "then use the INSERT BEFORE" @@ -10256,15 +10261,15 @@ "您可以选择一个特效,\n" "然后使用 插入前面" -#: src/multitrack.c:18390 +#: src/multitrack.c:17818 msgid "or INSERT AFTER buttons to move it." msgstr "或 插入后面 按钮来移动它。" -#: src/multitrack.c:18687 src/multitrack.c:18700 +#: src/multitrack.c:18109 src/multitrack.c:18122 msgid "Click on another effect," msgstr "点击另一个效果," -#: src/multitrack.c:18688 src/multitrack.c:18701 +#: src/multitrack.c:18110 src/multitrack.c:18123 msgid "" "and the selected one\n" "will be inserted" @@ -10272,50 +10277,50 @@ "和所选的这个\n" "将被插入" -#: src/multitrack.c:18689 +#: src/multitrack.c:18111 msgid "after it.\n" msgstr "在它之后。\n" -#: src/multitrack.c:18702 +#: src/multitrack.c:18124 msgid "before it.\n" msgstr "在它之前。\n" -#: src/multitrack.c:18937 +#: src/multitrack.c:18356 #, c-format msgid "Removed parameter values for effect %s at time %.4f\n" msgstr "已移除效果 %s 的参数值,于时间 %.4f\n" -#: src/multitrack.c:19148 +#: src/multitrack.c:18566 #, c-format msgid "Set parameter values for %s %s on %s at time %.4f\n" msgstr "" -#: src/multitrack.c:19699 src/multitrack.c:21252 +#: src/multitrack.c:19100 src/multitrack.c:20631 msgid "_Autoreload each time" msgstr "每次都自动重载(_A)" -#: src/multitrack.c:19755 +#: src/multitrack.c:19156 msgid "Saving layout" msgstr "" -#: src/multitrack.c:19777 +#: src/multitrack.c:19178 #, c-format msgid "Saved layout to %s\n" msgstr "将布局保存到 %s\n" -#: src/multitrack.c:21183 +#: src/multitrack.c:20565 msgid "clips and frames" msgstr "剪辑和帧" -#: src/multitrack.c:21186 +#: src/multitrack.c:20568 msgid "clips" msgstr "剪辑" -#: src/multitrack.c:21188 +#: src/multitrack.c:20570 msgid "frames" msgstr "画面" -#: src/multitrack.c:21198 +#: src/multitrack.c:20580 msgid "" "\n" "Auto reload layout.\n" @@ -10323,7 +10328,7 @@ "\n" "自动重载布局。\n" -#: src/multitrack.c:21201 +#: src/multitrack.c:20583 #, c-format msgid "" "%s\n" @@ -10334,11 +10339,11 @@ "有些 %s 在布局 %s 中找不到\n" "因此不能正确加载。\n" -#: src/multitrack.c:21329 +#: src/multitrack.c:20706 msgid "auto backup" msgstr "自动备份" -#: src/multitrack.c:21332 +#: src/multitrack.c:20709 #, c-format msgid "" "\n" @@ -10347,64 +10352,64 @@ "\n" "无法加载布局文件 %s\n" -#: src/multitrack.c:21349 +#: src/multitrack.c:20726 #, c-format msgid "Loading layout from %s..." msgstr "正在从 %s 加载布局..." -#: src/multitrack.c:21379 +#: src/multitrack.c:20756 #, c-format msgid "Got %d events...processing..." msgstr "收到 %d 个事件...处理中..." -#: src/multitrack.c:21390 +#: src/multitrack.c:20767 msgid "Checking and rebuilding event list" msgstr "正在检测和重新构建事件列表" -#: src/multitrack.c:21415 +#: src/multitrack.c:20792 #, c-format msgid "%d errors detected.\n" msgstr "检测到 %d 项错误。\n" -#: src/multitrack.c:21460 +#: src/multitrack.c:20837 #, c-format msgid "Multitrack fps set to %.3f\n" msgstr "" -#: src/multitrack.c:21614 +#: src/multitrack.c:20983 msgid "" "The current layout has changes which have not been saved.\n" "Are you sure you wish to wipe it ?\n" msgstr "" -#: src/multitrack.c:22405 +#: src/multitrack.c:21750 #, fuzzy msgid "Multitrack Audio Mixer" msgstr "LiVES:多轨音频混音器" -#: src/multitrack.c:22436 +#: src/multitrack.c:21781 msgid "_Reset values" msgstr "重设值(_R)" -#: src/multitrack.c:22440 +#: src/multitrack.c:21785 msgid "_Close mixer" msgstr "关闭混音器(_C)" -#: src/multitrack.c:22490 +#: src/multitrack.c:21833 msgid "" "_Invert backing audio\n" "and layer volumes" msgstr "" -#: src/multitrack.c:22492 +#: src/multitrack.c:21835 msgid "Adjust backing and layer audio values so that they sum to 1.0" msgstr "" -#: src/multitrack.c:22534 +#: src/multitrack.c:21875 msgid "_Gang layer audio" msgstr "" -#: src/multitrack.c:22536 +#: src/multitrack.c:21877 msgid "Adjust all layer audio values to the same value" msgstr "将所有层的音频值调整为相同值" @@ -10430,7 +10435,7 @@ "Connection to jack audio was reset.\n" msgstr "" -#: src/pulse.c:93 +#: src/pulse.c:94 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10438,7 +10443,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:99 +#: src/pulse.c:100 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10446,7 +10451,7 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:104 +#: src/pulse.c:105 msgid "" "\n" "Unable to connect to pulse audio server.\n" @@ -10454,27 +10459,27 @@ "You can change this in Preferences/Playback.\n" msgstr "" -#: src/pulse.c:109 +#: src/pulse.c:110 msgid "" "\n" "Unable to connect to pulse audio server.\n" msgstr "" -#: src/pulse.c:114 +#: src/pulse.c:115 msgid "LiVES will exit and you can choose another audio player.\n" msgstr "" -#: src/pulse.c:1352 +#: src/pulse.c:1354 msgid "" "\n" "Connection to pulse audio was reset.\n" msgstr "" -#: src/colourspace.c:1186 +#: src/colourspace.c:1132 msgid "unclamped" msgstr "" -#: src/colourspace.c:1187 +#: src/colourspace.c:1133 msgid "clamped" msgstr ""
View file
LiVES-2.8.4.tar.bz2/resources/Makefile.in -> LiVES-2.8.6.tar.bz2/resources/Makefile.in
Changed
@@ -217,8 +217,6 @@ GENCAT = @GENCAT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GLEE_CFLAGS = @GLEE_CFLAGS@ -GLEE_LIBS = @GLEE_LIBS@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -355,6 +353,8 @@ VERSION = @VERSION@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ +WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ +WAYLAND_LIBS = @WAYLAND_LIBS@ WEED_CFLAGS = @WEED_CFLAGS@ WEED_COMPAT_CFLAGS = @WEED_COMPAT_CFLAGS@ WEED_COMPAT_LIBS = @WEED_COMPAT_LIBS@
View file
LiVES-2.8.4.tar.bz2/smogrify -> LiVES-2.8.6.tar.bz2/smogrify
Changed
@@ -1,19 +1,24 @@ #!/usr/bin/perl -# smogrify - Copyright G. Finch (salsaman+lives@gmail.com) 2003 - 2016 +# smogrify - Copyright G. Finch (salsaman+lives@gmail.com) 2003 - 2017 # Released under the GPL 3 or later - see file COPYING or www.gnu.org for details +# stop astyle indenting +=begin comment + // *INDENT-OFF* + =end comment +=cut + + ################################################################## + + # these MUST match with the definition in the GUI + + $rfx_builder_multi = "build-lives-rfx-plugin-multi"; -################################################################## - -# these MUST match with the definition in the GUI - -$rfx_builder_multi="build-lives-rfx-plugin-multi"; - -$umask=0177; +$umask = 0177; # -> -rw------- -$GUI_NAME="LiVES"; +$GUI_NAME = "LiVES"; ################################################################### @@ -22,107 +27,98 @@ ################################################################### # Do not change these except for testing ! -$background=1; -$version="2.8.4"; +$background = 1; +$version = "2.8.6"; #$dyneversion="LIVES-20091209"; ################################################################### - - -$uid=$>; -$gid=$); -$gid=~ s/\W.*//; +$uid = $ >; +$gid = $); +$gid =~ s/\W.*//; if ($^O eq "MSWin32") { -#TODO - get this from the registry when needed -#only if we installed perl ourselves -$installdir="C:\\Program Files\\LiVES"; + #TODO - get this from the registry when needed + #only if we installed perl ourselves + $installdir = "C:\\Program Files\\LiVES"; -push @INC,"$installdir\\lib"; + push @INC, "$installdir\\lib"; -use File::Path qw(make_path); + use File::Path qw(make_path); -#TODO - get this from the registry when needed + #TODO - get this from the registry when needed $login = getlogin; - $home="C:\\users\\$login\\Application Data\\LiVES"; - - $rc_filename="LiVES.ini"; - $lives_home_dir="$home\\Config"; - - -# default temporary directory (can be overridden from the GUI) - $default_workdir="$home\\livescache\\"; - $is_mingw=1; - $nulfile="NUL"; - - $encoder="ffmpeg_encoder"; - $smog_composite_command="composite.exe -quiet"; - $smog_convert_command="mgkvert.exe -quiet"; - + $home = "C:\\users\\$login\\Application Data\\LiVES"; + $rc_filename = "LiVES.ini"; + $lives_home_dir = "$home\\Config"; + + # default temporary directory (can be overridden from the GUI) + $default_workdir = "$home\\livescache\\"; + $is_mingw = 1; + $nulfile = "NUL"; + + $encoder = "ffmpeg_encoder"; + $smog_composite_command = "composite.exe -quiet"; + $smog_convert_command = "mgkvert.exe -quiet"; } else { - $home=$ENV {"HOME"}; - $rc_filename=".lives"; - $lives_home_dir="$home/.lives-dir"; - -# default temporary directory (can be overridden from the GUI) - $default_workdir="$home"; - $nulfile="/dev/null"; - - $encoder="ffmpeg_encoder"; - $smog_composite_command="composite -quiet"; - $smog_convert_command="convert -quiet"; - + $home = $ENV {"HOME"}; + $rc_filename = ".lives"; + $lives_home_dir = "$home/.lives-dir"; + + # default temporary directory (can be overridden from the GUI) + $default_workdir = "$home"; + $nulfile = "/dev/null"; + + $encoder = "ffmpeg_encoder"; + $smog_composite_command = "composite -quiet"; + $smog_convert_command = "convert -quiet"; } - #$DEBUG_SMOGRIFY=1; - ################################################################### if (defined($ARGV[0])) { - $command=$ARGV[0]; + $command = $ARGV[0]; unless($command eq "version") { - my $rcfile="$home/$rc_filename"; + my $rcfile = "$home/$rc_filename"; if (-f $rcfile) { - $workdir=&rc_get("session_tempdir"); + $workdir = &rc_get("session_tempdir"); - if ($workdir eq ""||$command eq "report") { - $workdir=&rc_get("tempdir"); - $priority=1; - &rc_set("session_tempdir","$workdir"); - $priority=0; + if ($workdir eq "" || $command eq "report") { + $workdir = &rc_get("tempdir"); + $priority = 1; + &rc_set("session_tempdir", "$workdir"); + $priority = 0; } } } - if (!caller||$command eq "save"||$command eq "plugin_clear") { + if (!caller || $command eq "save" || $command eq "plugin_clear") { if (defined $DEBUG_SM_CMDS) { print STDERR "command is $command\n"; } if ($command eq "save" && $ARGV[1] eq "get_rfx") { - $background=0; + $background = 0; } - -## blocking calls + ## blocking calls if ($command eq "get_pid_for_handle") { - $handle=$ARGV[1]; - $curworkdir="$workdir/$handle"; - $target_pid=" "; + $handle = $ARGV[1]; + $curworkdir = "$workdir/$handle"; + $target_pid = " "; if ($^O eq "MSWin32") { - $pidfile="$curworkdir/pid"; + $pidfile = "$curworkdir/pid"; } else { - $pidfile="$curworkdir/.pid"; + $pidfile = "$curworkdir/.pid"; } - if (defined(open IN,"< $pidfile")) { - read IN,$target_pid,8; + if (defined(open IN, "< $pidfile")) { + read IN, $target_pid, 8; close IN; if ($target_pid eq NULL) { @@ -134,65 +130,62 @@ exit 0; } - - if ($command eq "stopsubsub"||$command eq "stopsubsubs"||$command eq "stop_audio") { - $handle=$ARGV[1]; - $curworkdir="$workdir/$handle"; - my $sig="KILL"; + if ($command eq "stopsubsub" || $command eq "stopsubsubs" || $command eq "stop_audio") { + $handle = $ARGV[1]; + $curworkdir = "$workdir/$handle"; + my $sig = "KILL"; if ($command eq "stop_audio") { - $pidfile="$curworkdir/.pidpb"; + $pidfile = "$curworkdir/.pidpb"; } else { - $pidfile="$curworkdir/.pid"; + $pidfile = "$curworkdir/.pid"; if (defined($ARGV[2])) { - $sig=$ARGV[2]; + $sig = $ARGV[2]; } } - $statusfile="$curworkdir/.status"; + $statusfile = "$curworkdir/.status"; unless(-d "$curworkdir") { exit 2; } - if (defined(open IN,"< $pidfile")) { - read IN,$target_pid,8; + if (defined(open IN, "< $pidfile")) { + read IN, $target_pid, 8; close IN; if ($target_pid eq NULL) { exit 1; } -# make sure pidfile has same group and owner, otherwise exit - @stat=stat($pidfile); - if (!($uid==$stat[4]&&$gid==$stat[5])) { + # make sure pidfile has same group and owner, otherwise exit + @stat = stat($pidfile); + if (!($uid == $stat[4] && $gid == $stat[5])) { die "Smogrify: Unable to stop process $target_pid.\n"; } - elsif($command eq "stopsubsub"||$command eq "stop_audio") { -# kill all subprocesses of target_pid, and target_pid - &kill_child_pids($target_pid,$sig); + elsif($command eq "stopsubsub" || $command eq "stop_audio") { + # kill all subprocesses of target_pid, and target_pid + &kill_child_pids($target_pid, $sig); } elsif($command eq "stopsubsubs") { -# kill all subprocesses of target_pid, but not target_pid + # kill all subprocesses of target_pid, but not target_pid smog_system("pgrep -P $target_pid > \"$workdir/.pids.$target_pid\" 2>/dev/null"); - if (-s "$workdir/.pids.$target_pid"&&defined(open IN,"$workdir/.pids.$target_pid")) { + if (-s "$workdir/.pids.$target_pid" && defined(open IN, "$workdir/.pids.$target_pid")) { while (<IN>) { - $pid=$_; + $pid = $_; chomp($pid); - &kill_child_pids($pid,$sig); + &kill_child_pids($pid, $sig); } close IN; } unlink "$workdir/.pids.$target_pid"; } - - else { print "Attempting to stop process ".$target_pid." with $command\n"; if ($sig eq "KILL") { smog_system("kill -$sig $target_pid >/dev/null 2>&1"); } else { smog_system("pkill -$sig -P $target_pid"); -# must not ! >/dev/null 2>&1"); + # must not ! >/dev/null 2>&1"); } } @@ -204,14 +197,12 @@ exit 1; } - - if ($command eq "new") { -# $key can normally be set to getpid() + # $key can normally be set to getpid() $key=$ARGV[1]; -# write mini-info file + # write mini-info file if ($^O eq "MSWin32") { $infofile="$workdir/info.$key"; @@ -226,13 +217,13 @@ umask 0; unless (mkdir $curworkdir) { - sig_system_error("Creating directory \"$curworkdir\"",0); + sig_system_error("Creating directory \"$curworkdir\"", 0); exit 1; } umask $umask; - if (!defined(open OUT,"> $infofile")) { - sig_write_error("$infofile",0); + if (!defined(open OUT, "> $infofile")) { + sig_write_error("$infofile", 0); exit 1; } @@ -241,18 +232,16 @@ exit 0; } - - if ($command eq "get_tempdir") { -## deprecated - DO NOT USE, use get_workdir instead -# TODO - take dirname as second param + ## deprecated - DO NOT USE, use get_workdir instead + # TODO - take dirname as second param if (defined($ARGV[1])) { - $id=$ARGV[1]; + $id = $ARGV[1]; if ($^O ne "MSWin32") { - open OUT,"> /tmp/.smogrify.$id" or exit 1; + open OUT, "> /tmp/.smogrify.$id" or exit 1; } else { - open OUT,"> C:\\smogrify.$id" or exit 1; + open OUT, "> C:\\smogrify.$id" or exit 1; } print OUT "$workdir"; close OUT; @@ -262,36 +251,33 @@ exit 0; } - if ($command eq "get_workdir") { -# safer version - writes to stdout + # safer version - writes to stdout print $workdir; exit 0; } - if ($command eq "get_version_hash") { - $com=$ARGV[1]; - $sep=$ARGV[2]; - $piece=$ARGV[3]; - $res=smog_system_direct("$com"); + $com = $ARGV[1]; + $sep = $ARGV[2]; + $piece = $ARGV[3]; + $res = smog_system_direct("$com"); chomp($res); - $ver=(split(/$sep/,$res))[$piece]; + $ver = (split( /$sep/, $res))[$piece]; print &version_hash($ver); exit 0; } if ($command eq "report") { - - $gui_bootstrap_file=""; + $gui_bootstrap_file = ""; if (defined($ARGV[1])) { - $gui_bootstrap_file=$ARGV[1]; + $gui_bootstrap_file = $ARGV[1]; } if (! -d "$lives_home_dir") { -# this can fail here, but succeed later + # this can fail here, but succeed later if ($^O ne "MSWin32") { smog_system("/bin/mkdir -p \"$lives_home_dir\""); } else { @@ -299,203 +285,198 @@ } } - $startup_phase=0; + $startup_phase = 0; - $video_open_command="\"".&get_mplayer_location."\""; + $video_open_command = "\"". & get_mplayer_location."\""; - $audio_player="sox"; - $audio_play_command=&rc_get_default("sox_command"); + $audio_player = "sox"; + $audio_play_command = &rc_get_default("sox_command"); - $convert_version_hash=&get_convert_version_hash; + $convert_version_hash = &get_convert_version_hash; if ($audio_play_command eq "") { - $audio_player="mplayer"; - $audio_play_command=&rc_get_default("mplayer_audio_command"); + $audio_player = "mplayer"; + $audio_play_command = &rc_get_default("mplayer_audio_command"); } -# get $workdir from .rc file, if no .rc file, create it + # get $workdir from .rc file, if no .rc file, create it if (! -s "$home/$rc_filename") { -# set comment at start of file - &rc_set("",""); - $startup_phase=-1; - &rc_set("startup_phase",-1); + # set comment at start of file + &rc_set("", ""); + $startup_phase = -1; + &rc_set("startup_phase", -1); } else { - $startup_phase=&rc_get("startup_phase"); + $startup_phase = &rc_get("startup_phase"); if ($startup_phase eq "" || $startup_phase eq "100") { - $startup_phase=0; + $startup_phase = 0; &rc_delete("startup_phase"); } } - $default_keymap="default.keymap"; + $default_keymap = "default.keymap"; - &rc_set_if_not_set("version","$version"); - &rc_set_if_not_set("tempdir","$default_workdir"); + &rc_set_if_not_set("version", "$version"); + &rc_set_if_not_set("tempdir", "$default_workdir"); if (defined($dyneversion)) { - &rc_set_if_not_set("lib_dir","/opt/$dyneversion/lib/"); - &rc_set_if_not_set("prefix_dir","/opt/$dyneversion/"); + &rc_set_if_not_set("lib_dir", "/opt/$dyneversion/lib/"); + &rc_set_if_not_set("prefix_dir", "/opt/$dyneversion/"); } - &rc_set_if_not_set("video_open_command","$video_open_command"); - &rc_set_if_not_set("audio_play_command","$audio_play_command"); - &rc_set_if_not_set("audio_player",$audio_player); - &rc_set_if_not_set("midisynch","false"); - &rc_set_if_not_set("pb_quality",2); - &rc_set_if_not_set("insert_resample","true"); - &rc_set_if_not_set("open_compression_percent",15); - &rc_set_if_not_set("conserve_space","false"); - &rc_set_if_not_set("antialias","true"); -# resize action when opening images - can be either: "bound" or "none" - &rc_set_if_not_set("image_resize_action","none"); - &rc_set_if_not_set("encoder",$encoder); - &rc_set_if_not_set("output_type","mjpeg"); - &rc_set_if_not_set("audio_effect","none"); - &rc_set_if_not_set("default_image_format","png"); - &rc_set_if_not_set("default_fps",25); - &rc_set_if_not_set("save_directories","false"); - &rc_set_if_not_set("stop_screensaver","true"); - &rc_set_if_not_set("open_maximised","true"); - &rc_set_if_not_set("filesel_maximised","true"); - &rc_set_if_not_set("show_recent_files","true"); - &rc_set_if_not_set("ce_maxspect","true"); - &rc_set_if_not_set("lives_warning_mask",797696); -# bits 19,18,13,11 and 10 - &rc_set_if_not_set("dl_bandwidth_K",512); - &rc_set_if_not_set("show_player_stats","false"); - &rc_set_if_not_set("show_toolbar","true"); - &rc_set_if_not_set("encoder_acodec",1); -# default of PCM - &rc_set_if_not_set("record_opts",-1); - - &rc_set_if_not_set("gui_theme","crayons"); - &rc_set_if_not_set("jack_opts",0); -# start aserver on startup - &rc_set_if_not_set("audio_opts",3); - &rc_set_if_not_set("rte_keys_virtual",9); - - &rc_set_if_not_set("instant_open","true"); - &rc_set_if_not_set("auto_deinterlace","true"); - &rc_set_if_not_set("auto_trim_pad_audio","true"); - &rc_set_if_not_set("auto_cut_borders","false"); - - &rc_set_if_not_set("mt_undo_buf",32); - &rc_set_if_not_set("mt_enter_prompt","true"); - &rc_set_if_not_set("render_prompt","true"); - &rc_set_if_not_set("mt_exit_render","true"); - &rc_set_if_not_set("mt_def_width",640); - &rc_set_if_not_set("mt_def_height",480); - &rc_set_if_not_set("mt_def_achans",2); - &rc_set_if_not_set("mt_def_signed_endian",2*!&get_endian); - &rc_set_if_not_set("mt_backaudio","1"); - &rc_set_if_not_set("mt_pertrack_audio","true"); - &rc_set_if_not_set("mt_auto_back",120); - - &rc_set_if_not_set("ar_clipset",""); - &rc_set_if_not_set("ar_layout",""); - - &rc_set_if_not_set("rec_desktop_audio","false"); - &rc_set_if_not_set("osc_start","false"); - &rc_set_if_not_set("osc_port",49999); - - &rc_set_if_not_set("concat_images","true"); - &rc_set_if_not_set("mouse_scroll_clips","true"); - - &rc_set_if_not_set("omc_dev_opts",3); - - &rc_set_if_not_set("rec_stop_gb",10); - - &rc_set_if_not_set("def_autotrans","chroma blend"); - &rc_set_if_not_set("audio_src",0); -#internal + &rc_set_if_not_set("video_open_command", "$video_open_command"); + &rc_set_if_not_set("audio_play_command", "$audio_play_command"); + &rc_set_if_not_set("audio_player", $audio_player); + &rc_set_if_not_set("midisynch", "false"); + &rc_set_if_not_set("pb_quality", 2); + &rc_set_if_not_set("insert_resample", "true"); + &rc_set_if_not_set("open_compression_percent", 15); + &rc_set_if_not_set("conserve_space", "false"); + &rc_set_if_not_set("antialias", "true"); + # resize action when opening images - can be either: "bound" or "none" + &rc_set_if_not_set("image_resize_action", "none"); + &rc_set_if_not_set("encoder", $encoder); + &rc_set_if_not_set("output_type", "mjpeg"); + &rc_set_if_not_set("audio_effect", "none"); + &rc_set_if_not_set("default_image_format", "png"); + &rc_set_if_not_set("default_fps", 25); + &rc_set_if_not_set("save_directories", "false"); + &rc_set_if_not_set("stop_screensaver", "true"); + &rc_set_if_not_set("open_maximised", "true"); + &rc_set_if_not_set("filesel_maximised", "true"); + &rc_set_if_not_set("show_recent_files", "true"); + &rc_set_if_not_set("ce_maxspect", "true"); + &rc_set_if_not_set("lives_warning_mask", 797696); + # bits 19,18,13,11 and 10 + &rc_set_if_not_set("dl_bandwidth_K", 512); + &rc_set_if_not_set("show_player_stats", "false"); + &rc_set_if_not_set("show_toolbar", "true"); + &rc_set_if_not_set("encoder_acodec", 1); + # default of PCM + &rc_set_if_not_set("record_opts", -1); + + &rc_set_if_not_set("gui_theme", "crayons"); + &rc_set_if_not_set("jack_opts", 0); + # start aserver on startup + &rc_set_if_not_set("audio_opts", 3); + &rc_set_if_not_set("rte_keys_virtual", 9); + + &rc_set_if_not_set("instant_open", "true"); + &rc_set_if_not_set("auto_deinterlace", "true"); + &rc_set_if_not_set("auto_trim_pad_audio", "true"); + &rc_set_if_not_set("auto_cut_borders", "false"); + + &rc_set_if_not_set("mt_undo_buf", 32); + &rc_set_if_not_set("mt_enter_prompt", "true"); + &rc_set_if_not_set("render_prompt", "true"); + &rc_set_if_not_set("mt_exit_render", "true"); + &rc_set_if_not_set("mt_def_width", 640); + &rc_set_if_not_set("mt_def_height", 480); + &rc_set_if_not_set("mt_def_achans", 2); + &rc_set_if_not_set("mt_def_signed_endian", 2 * !&get_endian); + &rc_set_if_not_set("mt_backaudio", "1"); + &rc_set_if_not_set("mt_pertrack_audio", "true"); + &rc_set_if_not_set("mt_auto_back", 120); + + &rc_set_if_not_set("ar_clipset", ""); + &rc_set_if_not_set("ar_layout", ""); + + &rc_set_if_not_set("rec_desktop_audio", "false"); + &rc_set_if_not_set("osc_start", "false"); + &rc_set_if_not_set("osc_port", 49999); + + &rc_set_if_not_set("concat_images", "true"); + &rc_set_if_not_set("mouse_scroll_clips", "true"); + + &rc_set_if_not_set("omc_dev_opts", 3); + + &rc_set_if_not_set("rec_stop_gb", 10); + + &rc_set_if_not_set("def_autotrans", "chroma blend"); + &rc_set_if_not_set("audio_src", 0); + #internal - &rc_set_if_not_set("ce_thumb_mode","false"); + &rc_set_if_not_set("ce_thumb_mode", "false"); - &rc_set_if_not_set("show_button_icons","false"); + &rc_set_if_not_set("show_button_icons", "false"); - &rc_set_if_not_set("max_disp_vtracks",5); + &rc_set_if_not_set("max_disp_vtracks", 5); - - $workdir=&rc_get("tempdir"); + $workdir = &rc_get("tempdir"); &write_bootstrap_file; - $convert_old_version=&rc_get("convert_version"); + $convert_old_version = &rc_get("convert_version"); unless($convert_old_version eq $convert_version) { - &rc_set("convert_version",$convert_version); + &rc_set("convert_version", $convert_version); } &version_check_and_upgrade; unless($gui_bootstrap_file eq "") { - open OUT,"> $gui_bootstrap_file" or exit 4; + open OUT, "> $gui_bootstrap_file" or exit 4; print OUT "$version|$workdir|$startup_phase|$msg|$msg2"; close OUT; } -#make sure we can write to tempir -#open OUT,"> $workdir/testfile" or exit 5; -#close OUT; -#unlink "$workdir/testfile"; + #make sure we can write to tempir + #open OUT,"> $workdir/testfile" or exit 5; + #close OUT; + #unlink "$workdir/testfile"; exit 0; } if ($command eq "set_clip_value") { - $prefs_file=$ARGV[1]; + $prefs_file = $ARGV[1]; shift(@ARGV); - $command="set_pref"; + $command = "set_pref"; } - if ($command eq "set_pref") { - $key=$ARGV[1]; - $value=$ARGV[2]; + $key = $ARGV[1]; + $value = $ARGV[2]; - &rc_set("$key","$value"); + &rc_set("$key", "$value"); exit 0; } if ($command eq "set_pref_if_not_set") { - $key=$ARGV[1]; - $value=$value=$ARGV[2]; - &rc_set_if_not_set("$key","$value"); + $key = $ARGV[1]; + $value = $value = $ARGV[2]; + &rc_set_if_not_set("$key", "$value"); exit 0; } - - if ($command eq "get_clip_value") { - $command="get_pref"; - $prefs_file=$ARGV[4]; + $command = "get_pref"; + $prefs_file = $ARGV[4]; } - if ($command eq "print_pref") { - $command="get_pref"; - $ARGV[2]="-"; + $command = "get_pref"; + $ARGV[2] = "-"; } if ($command eq "get_pref") { - $key=$ARGV[1]; + $key = $ARGV[1]; if (defined($ARGV[2])) { - $first=$ARGV[2]; + $first = $ARGV[2]; } else { - $first=$uid; + $first = $uid; } if (defined($ARGV[3])) { - $second=$ARGV[3]; + $second = $ARGV[3]; } else { - $second=$gid; + $second = $gid; } - $value=&rc_get($key,$home); + $value = &rc_get($key, $home); - if ($first eq "-"&&!defined($ARGV[3])) { + if ($first eq "-" && !defined($ARGV[3])) { print $value; exit 0; } if ($^O eq "MSWin32") { - open OUT,"> $workdir/smogval.$first.$second" or exit 1; + open OUT, "> $workdir/smogval.$first.$second" or exit 1; } else { - open OUT,"> $workdir/.smogval.$first.$second" or exit 1; + open OUT, "> $workdir/.smogval.$first.$second" or exit 1; } print OUT $value; close OUT; @@ -503,27 +484,27 @@ } if ($command eq "get_pref_default") { - $key=$ARGV[1]; + $key = $ARGV[1]; if (defined($ARGV[2])) { - $first=$ARGV[2]; + $first = $ARGV[2]; } else { - $first=$uid; + $first = $uid; } if (defined($ARGV[3])) { - $second=$ARGV[3]; + $second = $ARGV[3]; } else { - $second=$gid; + $second = $gid; } - $value=&rc_get_default($key); + $value = &rc_get_default($key); if ($value eq "") { - $value="NULL"; + $value = "NULL"; } if ($^O eq "MSWin32") { - open OUT,"> $workdir/smogval.$first.$second" or exit 1; + open OUT, "> $workdir/smogval.$first.$second" or exit 1; } else { - open OUT,"> $workdir/.smogval.$first.$second" or exit 1; + open OUT, "> $workdir/.smogval.$first.$second" or exit 1; } print OUT $value; close OUT; @@ -531,29 +512,29 @@ } if ($command eq "delete_pref") { - $key=$ARGV[1]; + $key = $ARGV[1]; &rc_delete($key); exit 0; } if ($command eq "get_location") { - $exe=$ARGV[1]; + $exe = $ARGV[1]; if (defined($ARGV[2])) { - $first=$ARGV[2]; + $first = $ARGV[2]; } else { - $first=$uid; + $first = $uid; } if (defined($ARGV[3])) { - $second=$ARGV[3]; + $second = $ARGV[3]; } else { - $second=$gid; + $second = $gid; } - $value=&location($exe); + $value = &location($exe); if ($^O eq "MSWin32") { - open OUT,"> $workdir/smogval.$first.$second" or exit 1; + open OUT, "> $workdir/smogval.$first.$second" or exit 1; } else { - open OUT,"> $workdir/.smogval.$first.$second" or exit 1; + open OUT, "> $workdir/.smogval.$first.$second" or exit 1; } print OUT $value; @@ -561,78 +542,74 @@ exit 0; } - if ($command eq "pause") { if ($^O eq "MSWin32") { - $smres=smog_system("touch.exe \"$workdir\\$ARGV[1]\\pause\""); + $smres = smog_system("touch.exe \"$workdir\\$ARGV[1]\\pause\""); if ($smres) { sig_write_error("$workdir\\$ARGV[1]\\pause"); exit 1; } } else { - $smres=smog_system("touch \"$workdir/$ARGV[1]/pause\""); + $smres = smog_system("touch \"$workdir/$ARGV[1]/pause\""); if ($smres) { sig_write_error("$workdir/$ARGV[1]/pause"); exit 1; } } if ($^O eq "MSWin32") { -#smog_system("chmod.exe 600 \"$workdir\\$ARGV[1]\\pause\""); + #smog_system("chmod.exe 600 \"$workdir\\$ARGV[1]\\pause\""); } else { smog_system("/bin/chmod 600 \"$workdir/$ARGV[1]/pause\""); } exit 0; } - if ($command eq "resume") { unlink "$workdir/$ARGV[1]/pause"; exit 0; } - if ($command eq "clear_tmp_files") { - $handle=$ARGV[1]; -#clear old backups (e.g. when saving a set) - $curworkdir="$workdir/$handle"; + $handle = $ARGV[1]; + #clear old backups (e.g. when saving a set) + $curworkdir = "$workdir/$handle"; &clean_old; &sig_complete; exit 0; } if ($command eq "clear_pre_files") { - $handle=$ARGV[1]; -#clear old backups (e.g. when saving a set) - $curworkdir="$workdir/$handle"; + $handle = $ARGV[1]; + #clear old backups (e.g. when saving a set) + $curworkdir = "$workdir/$handle"; smog_chdir("$curworkdir"); unlink glob "*.pre"; &sig_complete; exit 0; } - if ($command eq "undo_audio") { - $handle=$ARGV[1]; - $curworkdir="$workdir/$handle"; + $handle = $ARGV[1]; + $curworkdir = "$workdir/$handle"; if ($^O eq "MSWin32") { - $statusfile="$curworkdir/status"; + $statusfile = "$curworkdir/status"; } else { - $statusfile="$curworkdir/.status"; + $statusfile = "$curworkdir/.status"; } &undo_audio; -# will abort on failure + # will abort on failure &sig_complete; exit 0; } if ($command eq "backup_audio") { - $handle=$ARGV[1]; - $curworkdir="$workdir/$handle"; + $handle = $ARGV[1]; + $curworkdir = "$workdir/$handle"; if ($^O eq "MSWin32") { - $statusfile="$curworkdir/status"; + $statusfile = "$curworkdir/status"; } else { - $statusfile="$curworkdir/.status"; + $statusfile = "$curworkdir/.status"; } smog_chdir("$curworkdir"); &backup_audio; @@ -643,99 +620,96 @@ exit 0; } - if ($command eq "save_frame") { - my $hsize=-1; - my $vsize=-1; + my $hsize = -1; + my $vsize = -1; - $handle=$ARGV[1]; - $curworkdir="$workdir/$handle"; - $frame=$ARGV[2]; - $name=&mkname($frame); - $nfile=$ARGV[3]; + $handle = $ARGV[1]; + $curworkdir = "$workdir/$handle"; + $frame = $ARGV[2]; + $name = &mkname($frame); + $nfile = $ARGV[3]; if (defined $ARGV[4]) { - $hsize=$ARGV[4]; + $hsize = $ARGV[4]; } if (defined $ARGV[5]) { - $vsize=$ARGV[5]; + $vsize = $ARGV[5]; } if ($^O eq "MSWin32") { - $statusfile="$curworkdir/status"; + $statusfile = "$curworkdir/status"; } else { - $statusfile="$curworkdir/.status"; + $statusfile = "$curworkdir/.status"; } -# check the file is writable + # check the file is writable unless(&is_writeable($nfile)) { - &sig_error("Unable to open output file !","$GUI_NAME could not write to $nfile."); + &sig_error("Unable to open output file !", "$GUI_NAME could not write to $nfile."); } - $img_ext=&get_img_ext($curworkdir,$frame); - $img_prefix=&get_img_prefix($img_ext); + $img_ext = &get_img_ext($curworkdir, $frame); + $img_prefix = &get_img_prefix($img_ext); umask 0111; - if ($hsize==-1||$vsize==-1) { - $com="$smog_convert_command $img_prefix\"$curworkdir/$name$img_ext\" \"$nfile\" >$nulfile 2>&1"; + if ($hsize == -1 || $vsize == -1) { + $com = "$smog_convert_command $img_prefix\"$curworkdir/$name$img_ext\" \"$nfile\" >$nulfile 2>&1"; } else { if ($antialias eq "false") { - $com="$smog_convert_command +antialias $img_prefix\"$curworkdir/$name$img_ext\" -scale $hsize"."x"."$vsize\\! \"$nfile\" > $nulfile 2>&1"; + $com = "$smog_convert_command +antialias $img_prefix\"$curworkdir/$name$img_ext\" -scale $hsize"."x"."$vsize\\! \"$nfile\" > $nulfile 2>&1"; } else { - $com="$smog_convert_command -antialias $img_prefix\"$curworkdir/$name$img_ext\" -resize $hsize"."x"."$vsize\\! \"$nfile\" > $nulfile 2>&1"; + $com = "$smog_convert_command -antialias $img_prefix\"$curworkdir/$name$img_ext\" -resize $hsize"."x"."$vsize\\! \"$nfile\" > $nulfile 2>&1"; } } - $smerr=smog_system($com); + $smerr = smog_system($com); if ($smerr) { - sig_system_error("$com",$smerr); + sig_system_error("$com", $smerr); exit 1; }; exit 0; } - if ($command eq "restore_details") { - $handle=$ARGV[1]; - $nfile=$ARGV[2]; - $leave_headers=$ARGV[3]; + $handle = $ARGV[1]; + $nfile = $ARGV[2]; + $leave_headers = $ARGV[3]; - $curworkdir="$workdir/$handle"; + $curworkdir = "$workdir/$handle"; if ($^O eq "MSWin32") { - $statusfile="$curworkdir/status"; + $statusfile = "$curworkdir/status"; } else { - $statusfile="$curworkdir/.status"; + $statusfile = "$curworkdir/.status"; } smog_chdir("$curworkdir"); - $fsize= -s "$nfile"; + $fsize = -s "$nfile"; $afsize = -s "audio"; unlink glob "*.tar"; unlink glob "event.*"; unlink "extended"; - $img_type="jpg"; + $img_type = "jpg"; unless(-f "header.lives") { + if (defined(open IN, "< header2")) { + read IN, $val, 4; - if (defined(open IN,"< header2")) { - read IN,$val,4; + # unfortunately...old clips used whatever endian the machine used + $endian = &get_endian; + $frames = &getint($val); + read IN, $title, 256; + read IN, $author, 256; + read IN, $comment, 256; + } + + $title =~ tr/\x00//d; + $author =~ tr/\x00//d; + $comment =~ tr/\x00//d; -# unfortunately...old clips used whatever endian the machine used - $endian=&get_endian; - $frames=&getint($val); - read IN,$title,256; - read IN,$author,256; - read IN,$comment,256; - } - - $title=~ tr/\x00//d; - $author=~ tr/\x00//d; - $comment=~ tr/\x00//d; - -# very old backups didn't have a header2 + # very old backups didn't have a header2 if (! -f "header2") { unless ($nfile eq "") { unlink glob "event.*"; @@ -745,7 +719,7 @@ } } -# leave headers for restoring VJ sets + # leave headers for restoring VJ sets if ($leave_headers==1) { $fsize=0; } @@ -768,9 +742,8 @@ } if ($command eq "list_plugins") { - -# prefix_dir pref should be set first -# plugins are returned in sort() order + # prefix_dir pref should be set first + # plugins are returned in sort() order my $allow_nonex=$ARGV[1]; my $allow_subdirs=$ARGV[2]; my $plugindir=$ARGV[3]; @@ -783,27 +756,20 @@ $ext=substr($ext,1,length($ext)); } - -#print STDERR ("LOOKa in $plugindir"); - if (-d $plugindir) { smog_chdir("$plugindir"); - -#print STDERR ("LOOK in $plugindir"); - opendir DIR,$plugindir; my @files=readdir(DIR); closedir DIR; @files = sort (@files); foreach my $plugname (@files) { -#print STDERR("Check $plugname\n"); unless ($plugname =~ /^\./) { if ((-f $plugname && (-x $plugname||$allow_nonex))||($allow_subdirs==1&& -d $plugname)) { unless($allow_nonex) { next if ! -x "$plugindir/$plugname"; - } - unless ($plugname eq "") { + } + unless ($plugname eq "") { if ($ext eq ""|| $plugname =~ /$ext$/) { if ($strip_ext==1) { $plugname=(split(/\./,$plugname))[0]; @@ -823,7 +789,6 @@ exit 0; } - if ($command eq "build_rfx_plugins") { if ($^O ne "MSWin32") { if (&location($rfx_builder_multi) eq "") { @@ -844,8 +809,6 @@ exit 0; } - - if ($command eq "make_thumb") { $handle=$ARGV[1]; $curworkdir="$workdir/$handle"; @@ -891,18 +854,16 @@ exit 0; } - if ($command eq "version"&&!caller) { print "smogrify $version\n"; exit 0; } - if ($command eq "plugin_clear") { -# this is a special function which does general cleanup -# and then does the "clear" command in the plugin -# non-perl plugins have to implement this command themselves -# + # this is a special function which does general cleanup + # and then does the "clear" command in the plugin + # non-perl plugins have to implement this command themselves + # $handle=$ARGV[1]; $curworkdir="$workdir/$handle"; if ($^O eq "MSWin32") { @@ -919,7 +880,6 @@ $rest=$ARGV[6]; $plugin=""; - unless ($rest eq "") { $plugin="$plugdir$type/$rest"; } @@ -944,11 +904,11 @@ } } -#need this again - something resets us + #need this again - something resets us smog_chdir("$curworkdir"); if ($^O eq "MSWin32") { -# filter by file ext + # filter by file ext my $ext=&get_ext("$plugin"); if ($ext eq ".py") { $cmd="python"; @@ -971,12 +931,10 @@ exit 0; } - - if ($command eq "check_for_lock") { -#TODO - mingw + #TODO - mingw -# check if there is a lock file for a set, and if so is it in use + # check if there is a lock file for a set, and if so is it in use my $setname=$ARGV[1]; my $exename=$ARGV[2]; my $pid=$ARGV[3]; @@ -985,14 +943,14 @@ while (my $file=readdir(DIR)) { if ($file=~/^lock\.(.*)/) { -#found a lockfile + #found a lockfile my $proc=$1; unless ($proc eq $pid) { my $exe=smog_system_direct("/bin/readlink -n /proc/$proc/exe"); #allowed to fail my $short_exe=&my_basename($exe); if ($short_exe eq $exename) { -# and it's in use + # and it's in use closedir DIR; print $proc."\n"; exit 0; @@ -1005,35 +963,32 @@ exit 0; } - - - -#TODO - mingw + #TODO - mingw if ($command eq "get_recovery_file") { -#find first non-in-use recovery file for given uid, gid and filepart - my $uid=$ARGV[1]; - my $gid=$ARGV[2]; - my $exename=$ARGV[3]; - my $filepart=$ARGV[4]; - opendir DIR,"$workdir"; - my @files=readdir(DIR); + #find first non-in-use recovery file for given uid, gid and filepart + my $uid = $ARGV[1]; + my $gid = $ARGV[2]; + my $exename = $ARGV[3]; + my $filepart = $ARGV[4]; + opendir DIR, "$workdir"; + my @files = readdir(DIR); -# sort most recent first (in case of multiple files) + # sort most recent first (in case of multiple files) @files = sort {(stat "$workdir/$b")[10] <=> (stat "$workdir/$a")[10]}(@files); foreach my $file(@files) { - if ($file=~/^$filepart\.$uid\.$gid\.(.*)/) { + if ($file =~ /^$filepart\.$uid\.$gid\.(.*)/) { if (-z $file) { -# clean up zero length files + # clean up zero length files unlink "$file"; } else { -# check to make sure pid is not a running LiVES - my $exe=smog_system_direct("/bin/readlink -n /proc/$1/exe"); -#allowed to fail - my $short_exe=&my_basename($exe); + # check to make sure pid is not a running LiVES + my $exe = smog_system_direct("/bin/readlink -n /proc/$1/exe"); + #allowed to fail + my $short_exe = &my_basename($exe); unless($short_exe eq $exename) { - $output=(split /\./,$file)[-1]; + $output = (split /\./, $file)[-1]; print $output; closedir DIR; exit 0; @@ -1046,21 +1001,22 @@ exit 0; } -#TODO - mingw + #TODO - mingw if ($command eq "clean_recovery_files") { -#remove non-in-use recovery/layout files for given uid, gid - my $uid=$ARGV[1]; - my $gid=$ARGV[2]; - my $exename=$ARGV[3]; - opendir DIR,"$workdir"; + #remove non-in-use recovery/layout files for given uid, gid + my $uid = $ARGV[1]; + my $gid = $ARGV[2]; + my $exename = $ARGV[3]; + opendir DIR, "$workdir"; smog_chdir("$workdir"); - while (my $file=readdir(DIR)) { - if ($file=~/^recovery\.$uid\.$gid\.(.*)/ || $file=~/^layout\.$uid\.$gid\.(.*)/ || $file=~/^layout_numbering\.$uid\.$gid\.(.*)/) { - my $exe=smog_system_direct("/bin/readlink -n /proc/$1/exe"); -#allowed to fail - my $short_exe=&my_basename($exe); + while (my $file = readdir(DIR)) { + if ($file =~ /^recovery\.$uid\.$gid\.(.*)/ || $file =~ /^layout\.$uid\.$gid\.(.*)/ || + $file =~ /^layout_numbering\.$uid\.$gid\.(.*)/) { + my $exe = smog_system_direct("/bin/readlink -n /proc/$1/exe"); + #allowed to fail + my $short_exe = &my_basename($exe); unless($short_exe eq $exename) { unlink "$file"; } @@ -1070,63 +1026,61 @@ exit 0; } - if ($command eq "get_next_in_set") { -# this is a special function for lives-exe. It will look for -# clips on the disk that have the marker file "set.$name" -# only used now for pre 0.9.6 versions - - $last=$ARGV[1]; - $setname=$ARGV[2]; - $pid=$ARGV[3]; + # this is a special function for lives-exe. It will look for + # clips on the disk that have the marker file "set.$name" + # only used now for pre 0.9.6 versions + + $last = $ARGV[1]; + $setname = $ARGV[2]; + $pid = $ARGV[3]; - opendir DIR,"$workdir"; - @allfiles=readdir(DIR); + opendir DIR, "$workdir"; + @allfiles = readdir(DIR); closedir DIR; foreach my $subdir(@allfiles) { if (-f "$workdir/$subdir/set.$setname") { if ($last eq "none") { - $found=$subdir; + $found = $subdir; last; } if ($last eq $subdir) { - $last="none"; + $last = "none"; } } } if ($found eq "") { - $found="none"; + $found = "none"; } if ($^O eq "MSWin32") { - $infofile="$workdir/info.$pid"; + $infofile = "$workdir/info.$pid"; } else { - $infofile="$workdir/.info.$pid"; + $infofile = "$workdir/.info.$pid"; } smog_system_sync(); if (-d $workdir) { - open OUT,"> $infofile"; + open OUT, "> $infofile"; print OUT $found; close OUT; } exit 0; } - - if ($command eq "cleanup"||$command eq "weed") { + if ($command eq "cleanup" || $command eq "weed") { smog_chdir("$workdir"); print "Cleaning up temporary space for $GUI_NAME.\n"; if ($command eq "cleanup") { unlink glob "* .* *.*"; -# will not remove directories + # will not remove directories } else { - $new_work=$ARGV[1]; + $new_work = $ARGV[1]; unless($new_work eq "") { -# here is where we create a new work directory - unless(-d $new_work||(mkdir $new_work)) { + # here is where we create a new work directory + unless(-d $new_work || (mkdir $new_work)) { print "Smogrify: Unable to create new directory $new_work!\n"; exit 1; } @@ -1140,42 +1094,39 @@ exit 0; } - if (substr($command,0,7) eq "fxinit_") { -# call onchange_init - $command=substr($command,7); - $handle=$ARGV[1]; + if (substr($command, 0, 7) eq "fxinit_") { + # call onchange_init + $command = substr($command, 7); + $handle = $ARGV[1]; - $dir=$ARGV[2]; + $dir = $ARGV[2]; - $width=$ARGV[3]; - $height=$ARGV[4]; + $width = $ARGV[3]; + $height = $ARGV[4]; - $plugin_name="$dir/$command"; + $plugin_name = "$dir/$command"; shift; shift; shift; shift; - $curworkdir="$workdir/$handle"; + $curworkdir = "$workdir/$handle"; - $ARGV[0]="onchange_init"; + $ARGV[0] = "onchange_init"; require("$plugin_name"); exit 0; } - - if ($command eq "count_frames") { - $img_ext=".".$ARGV[2]; + $img_ext = ".".$ARGV[2]; print &count_frames; exit 0; } - if ($command eq "get_proj_set") { - my $proj_file=$ARGV[1]; - my $out=smog_system_direct("tar --exclude=*/* -tzf $proj_file"); - unless($out=~/\/$/) { + my $proj_file = $ARGV[1]; + my $out = smog_system_direct("tar --exclude=*/* -tzf $proj_file"); + unless($out =~/\/$/) { exit 1; } chomp $out; @@ -1186,17 +1137,17 @@ } if ($command eq "mv_pre") { - $handle=$ARGV[1]; - $curworkdir="$workdir/$handle"; + $handle = $ARGV[1]; + $curworkdir = "$workdir/$handle"; if ($^O eq "MSWin32") { - $statusfile="$curworkdir/status"; + $statusfile = "$curworkdir/status"; } else { - $statusfile="$curworkdir/.status"; + $statusfile = "$curworkdir/.status"; } unlink "$curworkdir/pause"; - $start=$ARGV[2]; - $end=$ARGV[3]; - $img_ext=".".$ARGV[4]; + $start = $ARGV[2]; + $end = $ARGV[3]; + $img_ext = ".".$ARGV[4]; &mv_pre; if ($panic) { exit 1; @@ -1205,43 +1156,38 @@ exit 0; } - - if ($command eq "clear_symlinks") { - $handle=$ARGV[1]; + $handle = $ARGV[1]; &clear_symlinks; exit 0; } - - if ($command eq "create_package") { -# args are 1: pkg name, 2 dir to pack contents of + # args are 1: pkg name, 2 dir to pack contents of if ($^O ne "MSWin32") { + my $com = "tar czf \"$ARGV[1]\" -C \"$ARGV[2]\" ."; - my $com="tar czf \"$ARGV[1]\" -C \"$ARGV[2]\" ."; - - my $smerr=smog_system($com); + my $smerr = smog_system($com); if ($smerr) { - sig_system_error("$com",$smerr); + sig_system_error("$com", $smerr); exit 1; }; } else { chdir("$workdir"); unlink "temp.pakage"; - my $com="tar.exe -cf temp.pakage -C \"$ARGV[2]\""; - $smerr=smog_system($com); + my $com = "tar.exe -cf temp.pakage -C \"$ARGV[2]\""; + $smerr = smog_system($com); if ($smerr) { - sig_system_error("$com",$smerr); + sig_system_error("$com", $smerr); unlink "$pidfile"; exit 1; } - my $com="gzip.exe -c temp.pakage > \"$ARGV[1]\" "; - $smerr=smog_system($com); + my $com = "gzip.exe -c temp.pakage > \"$ARGV[1]\" "; + $smerr = smog_system($com); if ($smerr) { - sig_system_error("$com",$smerr); + sig_system_error("$com", $smerr); unlink "$pidfile"; exit 1; } @@ -1250,42 +1196,40 @@ exit 0; } - - if ($command eq "import_package") { -## args are 1: file to unpack, 2 dir to unpack in + ## args are 1: file to unpack, 2 dir to unpack in - $com="/bin/mkdir -p \"$ARGV[2]\""; + $com = "/bin/mkdir -p \"$ARGV[2]\""; smog_system($com); chdir $ARGV[2]; if ($^O ne "MSWin32") { - $com="tar xzf \"$ARGV[1]\" ."; + $com = "tar xzf \"$ARGV[1]\" ."; - my $smerr=smog_system($com); + my $smerr = smog_system($com); if ($smerr) { - sig_system_error("$com",$smerr); + sig_system_error("$com", $smerr); exit 1; }; } else { unlink "temp.gz"; unlink "temp"; - smog_copy("$ARGV[1]","temp.gz"); + smog_copy("$ARGV[1]", "temp.gz"); if ($panic) { unlink "$pidfile"; exit 1; } - $com="gzip.exe -d temp.gz"; - $smerr=smog_system($com); + $com = "gzip.exe -d temp.gz"; + $smerr = smog_system($com); if ($smerr) { - sig_system_error("$com",$smerr); + sig_system_error("$com", $smerr); unlink "$pidfile"; exit 1; } - $com="tar.exe -xf temp"; - $smerr=smog_system($com); + $com = "tar.exe -xf temp"; + $smerr = smog_system($com); if ($smerr) { - sig_system_error("$com",$smerr); + sig_system_error("$com", $smerr); unlink "$pidfile"; exit 1; } @@ -1295,220 +1239,213 @@ exit 0; } - -#################################################################### + #################################################################### if ($^O ne "MSWin32") { -# run the rest in background - if ($background==1) { + # run the rest in background + if ($background == 1) { if (fork()) { exit 0; } } } -#################################################################### + #################################################################### umask $umask; - if (!caller&&(!defined($ARGV[1]) || $ARGV[1] eq "")) { + if (!caller && (!defined($ARGV[1]) || $ARGV[1] eq "")) { &usage; exit 1; } - $handle=$ARGV[1]; + $handle = $ARGV[1]; - $curworkdir="$workdir/$handle"; + $curworkdir = "$workdir/$handle"; if ($^O eq "MSWin32") { - $statusfile=$curworkdir."/status"; + $statusfile = $curworkdir."/status"; } else { - $statusfile=$curworkdir."/.status"; + $statusfile = $curworkdir."/.status"; } - if ($command eq "play"||$command eq "play_opening_preview") { + if ($command eq "play" || $command eq "play_opening_preview") { if ($^O eq "MSWin32") { - $pidfile=$curworkdir."/pidpb"; + $pidfile = $curworkdir."/pidpb"; } else { - $pidfile=$curworkdir."/.pidpb"; + $pidfile = $curworkdir."/.pidpb"; } } else { if ($^O eq "MSWin32") { - $pidfile=$curworkdir."/pid"; + $pidfile = $curworkdir."/pid"; } else { - $pidfile=$curworkdir."/.pid"; + $pidfile = $curworkdir."/.pid"; } } if ($command eq "play_opening_preview") { -# play_opening_preview is exactly like play -# except our audio filename is different - $opening_preview=1; - $command="play"; + # play_opening_preview is exactly like play + # except our audio filename is different + $opening_preview = 1; + $command = "play"; } - - unless($command eq "keep"||$command eq "close") { -# tell the world our pid + unless($command eq "keep" || $command eq "close") { + # tell the world our pid &sig_pid; } - if ($command eq "play") { - $endian=&get_endian; + $endian = &get_endian; - $fps=$ARGV[2]; - if ($fps==0) { - $fps=&rc_get("default_fps"); + $fps = $ARGV[2]; + if ($fps == 0) { + $fps = &rc_get("default_fps"); } - $start=$ARGV[3]; - $end=$ARGV[4]; + $start = $ARGV[3]; + $end = $ARGV[4]; - - $loop=0; - if ($ARGV[5]!=0) { - $loop=$ARGV[5]; + $loop = 0; + if ($ARGV[5] != 0) { + $loop = $ARGV[5]; } - - if (!defined $ARGV[6]||$ARGV[6]==0) { - $arate=44100; + if (!defined $ARGV[6] || $ARGV[6] == 0) { + $arate = 44100; } else { - $arate=$ARGV[6]; + $arate = $ARGV[6]; } - if (!defined $ARGV[7]||$ARGV[7]==0) { - $achans=2; + if (!defined $ARGV[7] || $ARGV[7] == 0) { + $achans = 2; } else { - $achans=$ARGV[7]; + $achans = $ARGV[7]; } - if (!defined $ARGV[8]||$ARGV[8]==0) { - $asamps=2; - $stype="w"; + if (!defined $ARGV[8] || $ARGV[8] == 0) { + $asamps = 2; + $stype = "w"; } else { - $asamps=$ARGV[8]; - if ($asamps>7) { - $asamps/=8; + $asamps = $ARGV[8]; + if ($asamps > 7) { + $asamps /= 8; } } if (!defined $ARGV[9]) { - $signed=1; + $signed = 1; } else { - $signed=$ARGV[9]; + $signed = $ARGV[9]; } if (!defined $ARGV[10]) { - $aendian=$endian; + $aendian = $endian; } else { - $aendian=$ARGV[10]; + $aendian = $ARGV[10]; } if (defined($opening_preview)) { - $aformat=".raw"; - $audiofile="$curworkdir/audiodump.pcm"; + $aformat = ".raw"; + $audiofile = "$curworkdir/audiodump.pcm"; } else { - $aformat=".raw"; - $audiofile="$curworkdir/audio"; + $aformat = ".raw"; + $audiofile = "$curworkdir/audio"; } - - $audio_player=&rc_get("audio_player"); + $audio_player = &rc_get("audio_player"); if (-f $audiofile && $arate) { + $audio_start = ($start - 1) / $fps; + $audio_end = $end / $fps; - $audio_start=($start-1)/$fps; - $audio_end=$end/$fps; - - $mute=""; - if ($arate<0) { - $mute=" -ao null "; - $arate=-$arate; + $mute = ""; + if ($arate < 0) { + $mute = " -ao null "; + $arate = -$arate; if ($audio_player eq "sox") { - $mute=" -v 0 "; + $mute = " -v 0 "; } } - $audio_play_command=&rc_get("audio_play_command"); + $audio_play_command = &rc_get("audio_play_command"); if ($audio_play_command eq "" or $audio_play_command eq '""') { - $time=($audio_end-$audio_start); + $time = ($audio_end - $audio_start); select(undef, undef, undef, $time); } elsif($audio_player eq "sox") { - $audio_effect=&rc_get("audio_effect"); - $trimcom=" trim $audio_start"; + $audio_effect = &rc_get("audio_effect"); + $trimcom = " trim $audio_start"; - if (($audio_end>$audio_start)&&$end>0) { - $trimcom .= " ".($audio_end-$audio_start); + if (($audio_end > $audio_start) && $end > 0) { + $trimcom .= " ".($audio_end - $audio_start); } else { - $trimcom .=" 10000000"; + $trimcom .= " 10000000"; } - if ($signed==1) { - $signed="s"; + if ($signed == 1) { + $signed = "s"; } else { - $signed="u"; + $signed = "u"; } - if ($aendian==$endian) { - $aendian=""; + if ($aendian == $endian) { + $aendian = ""; } else { - $aendian="-x"; + $aendian = "-x"; } if ($audio_effect eq "flanger1") { - $audio_effect="flanger 0.6 0.87 3.0 0.9 0.5 -s"; + $audio_effect = "flanger 0.6 0.87 3.0 0.9 0.5 -s"; } elsif($audio_effect eq "echo1") { - $audio_effect="echo 0.8 0.9 1000.0 0.3"; + $audio_effect = "echo 0.8 0.9 1000.0 0.3"; } elsif($audio_effect eq "chorus1") { - $audio_effect="chorus 0.6 0.9 50.0 0.4 0.25 2.0 -t 60.0 0.32 0.4 1.3 -s"; + $audio_effect = "chorus 0.6 0.9 50.0 0.4 0.25 2.0 -t 60.0 0.32 0.4 1.3 -s"; } elsif($audio_effect eq "reverb1") { - $audio_effect="reverb 1.0 600.0 180.0 200.0"; + $audio_effect = "reverb 1.0 600.0 180.0 200.0"; } elsif($audio_effect eq "phaser1") { - $audio_effect="phaser 0.89 0.85 1.0 0.24 2.0 -t"; + $audio_effect = "phaser 0.89 0.85 1.0 0.24 2.0 -t"; } else { - $audio_effect=""; + $audio_effect = ""; } - $sox_version=&get_sox_version; + $sox_version = &get_sox_version; - if ($sox_version<13000000) { - if ($asamps==1) { - $stype="b"; + if ($sox_version < 13000000) { + if ($asamps == 1) { + $stype = "b"; } - elsif($asamps==2) { - $stype="w"; + elsif($asamps == 2) { + $stype = "w"; } - $aformat=".".$signed.$stype; - $syscom2="$audio_play_command $mute -c $achans -r $arate -$signed $aendian -t $aformat -$stype $audiofile $trimcom $audio_effect"; + $aformat = ".".$signed.$stype; + $syscom2 = "$audio_play_command $mute -c $achans -r $arate -$signed $aendian -t $aformat -$stype $audiofile $trimcom $audio_effect"; } else { - $syscom2="$audio_play_command $mute -c $achans -r $arate -$signed $aendian -t $aformat -$asamps $audiofile $trimcom $audio_effect"; + $syscom2 = "$audio_play_command $mute -c $achans -r $arate -$signed $aendian -t $aformat -$asamps $audiofile $trimcom $audio_effect"; } } else { -## TODO - mpv -# mplayer seemingly has no easy way of playing unsigned or wrong endian - $syscom2="$audio_play_command -demuxer rawaudio -rawaudio rate=$arate :channels=$achans:samplesize=$asamps $mute $audiofile -ss ". - ($audio_start-1); + ## TODO - mpv + # mplayer seemingly has no easy way of playing unsigned or wrong endian + $syscom2 = "$audio_play_command -demuxer rawaudio -rawaudio rate=$arate :channels=$achans:samplesize=$asamps $mute $audiofile -ss ". + ($audio_start - 1); } } - $showed_err=0; + $showed_err = 0; do { if (! -d "$curworkdir" || -f "$curworkdir/.stoploop" || -f "$curworkdir/stoploop" || ! -f $audiofile) { - $loop=0; + $loop = 0; } else { - $syscom3=$syscom2.">$nulfile 2>&1"; - $retval=smog_system("$syscom3"); - if ($retval>255) { + $syscom3 = $syscom2.">$nulfile 2>&1"; + $retval = smog_system("$syscom3"); + if ($retval > 255) { unless($showed_err) { print STDERR "Error playing audio !\n"; print STDERR "Failed command was: $syscom2\n"; smog_system("$syscom2"); - $showed_err=1; + $showed_err = 1; } } } @@ -1521,2823 +1458,2730 @@ exit 0; } - if ($command eq "open_test") { - $mplay_command=$ARGV; + $mplay_command = $ARGV; shift(@ARGV); - $command="open"; - $opentest=1; + $command = "open"; + $opentest = 1; } - if ($command eq "open") { - unlink "$curworkdir/pause"; - $file=$ARGV[2]; - $ss=""; + $file = $ARGV[2]; + $ss = ""; - $withsound=$ARGV[3]; + $withsound = $ARGV[3]; if (defined($ARGV[4])) { - $img_ext=".".(split(":",$ARGV[4]))[0]; - $ximg_ext=".".(split(":",$ARGV[4]))[1]; + $img_ext = ".".(split(":", $ARGV[4]))[0]; + $ximg_ext = ".".(split(":", $ARGV[4]))[1]; if ($ximg_ext eq "") { - $ximg_ext=$img_ext; + $ximg_ext = $img_ext; } } smog_chdir("$curworkdir"); - unless($file =~ /^http/) { if (! -f "$file" && ! -d "$file") { - &sig_error("$file","could not be found","$GUI_NAME was unable to open it.","Please check the file name and try again."); + &sig_error("$file", "could not be found", "$GUI_NAME was unable to open it.", "Please check the file name and try again."); } } - &get_file_info; -## here we set $mplay_command, $is_mpv + ## here we set $mplay_command, $is_mpv if ($panic) { unlink "$pidfile"; exit 1; } - if (defined($ARGV[5]) && $ARGV[5] > 0) { if (!$is_mpv) { - $ss=" -ss $ARGV[5] "; + $ss = " -ss $ARGV[5] "; } else { - $ss=" -start=$ARGV[5] "; + $ss = " -start=$ARGV[5] "; } } - $stframes=""; + $stframes = ""; if (defined($ARGV[6]) && $ARGV[6] > 0) { - $nframes=$ARGV[6]++; -# cf below, we remove 1st frame + $nframes = $ARGV[6]++; + # cf below, we remove 1st frame if (!$is_mpv) { - $stframes=" -frames $ARGV[6] "; + $stframes = " -frames $ARGV[6] "; } else { - $stframes=" -frames=$ARGV[6] "; + $stframes = " -frames=$ARGV[6] "; } } - $extra_params=$ARGV[7]; - $band=""; - if ($is_mpv||$extra_params eq "nobandwidth") { - $extra_params=""; + $extra_params = $ARGV[7]; + $band = ""; + if ($is_mpv || $extra_params eq "nobandwidth") { + $extra_params = ""; } else { if ($extra_params eq "sendbandwidth") { - $bandwidth=&rc_get("dl_bandwidth_K"); + $bandwidth = &rc_get("dl_bandwidth_K"); if ($bandwidth eq "") { - $bandwidth=64; + $bandwidth = 64; } - $band="-bandwidth $bandwidth"."000"; - $extra_params=""; + $band = "-bandwidth $bandwidth"."000"; + $extra_params = ""; } } - $compression=&rc_get("open_compression_percent"); + $compression = &rc_get("open_compression_percent"); if ($compression eq "") { - $compression=15; + $compression = 15; } + # let get_file_info set this + #$mplay_command=&rc_get("video_open_command"); + # process video -# let get_file_info set this -#$mplay_command=&rc_get("video_open_command"); - -# process video - -# 3 other files we will use - $curtmpfile="tempresult"; - $audio_out="audio"; - $audio_in="audiodump.pcm"; + # 3 other files we will use + $curtmpfile = "tempresult"; + $audio_out = "audio"; + $audio_in = "audiodump.pcm"; if ($img_ext eq ".png") { - $compression=int($compression/10.001) + $compression = int($compression / 10.001) } else { - $quality=int(100-$compression); - } + $quality = int(100 - $compression); + } - if ($file=~/:\/\//) { - $is_remote=2; -#$wavhead=""; # need wav header, as user will probably finish by -# quitting, thus we won't send full info - } - - - my $wavhead="nowaveheader"; - - if ($is_mpv) { - $wavhead="no-waveheader"; - } - - $aformnew=""; - if ($asamps==32) { -# cannot handle this yet, need to resample to s16 - if ($endian==1) { - $aformnew="-format s16le"; - } - else { - $aformnew="-format s16be"; - } - $asamps=16; - } - - if ($is_mpv) { - $aformnew="-audio-format=s16"; - } - -#TODO - mingw - $threads=smog_system_direct("/bin/grep processor /proc/cpuinfo | wc -l"); - $threads=int($threads); - if ($threads==0) { - $threads=1; - } - - if ($type eq "jpeg" || $type eq "png") { - $count=$frames; - $img_ext=$ximg_ext; - } - else { - - if ($achans eq "" || $achans eq "0") { - $channs=""; - } - else { - if ($is_mpv) { - $channs="-audio-channels=$achans"; - } - else { - $channs="-channels $achans"; - } - } - if ($is_mpv) { - if ($img_ext eq ".jpg") { - $img_fmt="-vo image:format=jpg:jpeg-quality=$quality"; - } - else { - $img_fmt="-vo image:format=png:png-compression=$compression"; - } - } - else { - if ($img_ext eq ".jpg") { - $img_fmt="-vo jpeg:quality=$quality"; - } - else { - $img_fmt="-vo png:z=$compression"; - } - } - - - if (!$is_mpv) { - $osd="-osdlevel 0"; - $threadopts="-lavdopts o=threads=$threads"; - $noframedrop="-noframedrop"; - $vcnull="-vc null"; - $audcom="-ao pcm:fast:$wavhead"; - } - else { - $osd="-osd-level=0"; - $threadopts="-vd-lavc-threads=$threads"; - $noframedrop="-framedrop=no"; - $vcnull="--no-video"; - $audcom="-ao=pcm:$wavhead"; - } - - if ($withsound eq "0") { -#video only - $syscom="$mplay_command -quiet $band $osd $img_fmt $threadopts -fps 1000000. $ss $stframes $noframedrop -ao null \"$file\" $extra_params <$nulfile"; - } - elsif ($withsound eq "1") { -#video and audio - $syscom=$mplay_command . " -quiet $band $osd -fps 1000000. $img_fmt $ss $threadopts $noframedrop $stframes $audcom $channs $aformnew -mc 0" + if ($file =~ /:\/\//) { + $is_remote = 2; + #$wavhead=""; # need wav header, as user will probably finish by + # quitting, thus we won't send full info + } + + my $wavhead="nowaveheader"; + + if ($is_mpv) { + $wavhead="no-waveheader"; + } + + $aformnew=""; + if ($asamps==32) { + # cannot handle this yet, need to resample to s16 + if ($endian==1) { + $aformnew="-format s16le"; + } + else { + $aformnew="-format s16be"; + } + $asamps=16; + } + + if ($is_mpv) { + $aformnew="-audio-format=s16"; + } + + #TODO - mingw + $threads=smog_system_direct("/bin/grep processor /proc/cpuinfo | wc -l"); + $threads=int($threads); + if ($threads==0) { + $threads=1; + } + + if ($type eq "jpeg" || $type eq "png") { + $count=$frames; + $img_ext=$ximg_ext; + } + else { + if ($achans eq "" || $achans eq "0") { + $channs=""; + } + else { + if ($is_mpv) { + $channs="-audio-channels=$achans"; + } + else { + $channs="-channels $achans"; + } + } + if ($is_mpv) { + if ($img_ext eq ".jpg") { + $img_fmt="-vo image:format=jpg:jpeg-quality=$quality"; + } + else { + $img_fmt="-vo image:format=png:png-compression=$compression"; + } + } + else { + if ($img_ext eq ".jpg") { + $img_fmt="-vo jpeg:quality=$quality"; + } + else { + $img_fmt="-vo png:z=$compression"; + } + } + + if (!$is_mpv) { + $osd="-osdlevel 0"; + $threadopts="-lavdopts o=threads=$threads"; + $noframedrop="-noframedrop"; + $vcnull="-vc null"; + $audcom="-ao pcm:fast:$wavhead"; + } + else { + $osd="-osd-level=0"; + $threadopts="-vd-lavc-threads=$threads"; + $noframedrop="-framedrop=no"; + $vcnull="--no-video"; + $audcom="-ao=pcm:$wavhead"; + } + + if ($withsound eq "0") { + #video only + $syscom="$mplay_command -quiet $band $osd $img_fmt $threadopts -fps 1000000. $ss $stframes $noframedrop -ao null \"$file\" $extra_params <$nulfile"; + } + elsif ($withsound eq "1") { + #video and audio + $syscom=$mplay_command . " -quiet $band $osd -fps 1000000. $img_fmt $ss $threadopts $noframedrop $stframes $audcom $channs $aformnew -mc 0" . " \"$file\" $extra_params <$nulfile"; - } - else { -#audio only - $syscom=$mplay_command . " -quiet $band -vo null $vcnull $ss $stframes $audcom $aformnew $channs \"$file\" $extra_params <$nulfile"; - } - if (defined($DEBUG_OPEN)) { - print STDERR "open command for $handle is: $syscom\n"; - } - - $syscom2=$syscom." >\"$curtmpfile\" 2>$nulfile"; - - unless ($opentest==1) { - &sig_progress(0); - } - - smog_system("$syscom2"); # this may well fail...we just have to use what we get back - - if (!-f $curtmpfile) { - unlink $pidfile; - exit 1; - } - - if (!$is_mpv) { - @info=split / /, smog_system_direct("grep VIDEO: \"$curtmpfile\" 2>$nulfile"); - @info2=split / /, smog_system_direct("grep AUDIO: \"$curtmpfile\" 2>$nulfile"); - } - else { - @info=split / /, smog_system_direct("grep VO: \"$curtmpfile\" 2>$nulfile"); - @info2=split / /, smog_system_direct("grep AO: \"$curtmpfile\" 2>$nulfile"); - } - - unlink "$curtmpfile"; -#$type=$info[1]; - - $size=$info[2]; - $hsize=(split /x/,$size)[0]; - $vsize=(split /x/,$size)[1]; - - if (!$is_mpv) { - $xbpp=int($info[3]); - - $xfps=(split / /,$info[4])[0]; - - $xarate=int($info2[1]); - $xachans=int($info2[3]); - } - else { - $xbpp = 0; - $xfps = 0.; - $xarate=int($info2[2]); - $xachans=int($info2[4]); - } - - if ($xbpp>0) { - $bpp=$xbpp; - } - if ($xfps>0.) { - $fps=$xfps; - } - if ($xarate>0) { - $arate=$xarate; - } - if ($xachans>0) { - $achans=$xachans; - } - - if (! -d $curworkdir) { -#curworkdir can be removed by cancel - exit 1; - } - - if ($withsound eq "-1") { - $count=0; - } - else { -# double check number of frames - $count=&count_frames; - } - } - -# if the last frame has zero size, delete it - if ($count>0) { - - $name=&mkname($count); - while ($count > 0 && -f "$name$img_ext" && -z "$name$img_ext") { - unlink "$name$img_ext"; - $name=&mkname(--$count); - } - if ($count==0) { - if ($img_ext==".png") { - &sig_error("Your version of mplayer/ffmpeg may be broken","See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071"," ", \ - "You can work around this by switching to jpeg output in Preferences/Decoding."); - } - } - -# double check image size - $name=&mkname(1); - $imresact="none"; - &get_image_size("$name$img_ext"); - if ($panic||$hsize==-1) { - unlink $pidfile; - &sig_error; - } - } - - if (-f $audio_in) { - smog_rename( "$audio_in","$audio_out"); - $af_size = -s $audio_out; - } - - if ($img_ext eq ".png" || $type eq "png") { - $bpp=32; - } - - unless (0||$withsound ne "-1" || $achans==0) { -# try as best we can to sync sound and video for a selection - $audio_out=&clip_audio(0.3,1000000.); - if (!$panic) { - smog_rename( "$audio_out","audio"); - } - $audio_out="audio"; - } - - - if ($count==0||$type eq "jpeg"||$type eq "png"||$type eq "Audio") { -# we could have audio or images - if (-f $audio_out) { -# just in case... - $type="Audio"; - } - if (! -d $curworkdir) { -#curworkdir can be removed by cancel - exit 1; - } - - if ($af_size>0||$count>0) { - &sig_complete($handle,$count,$type,$hsize,$vsize,$bpp,$fps,$f_size,$arate,$achans,$asamps,$signed,$endian,$af_size,$title,$author,$comment); - exit 0; - } -# should have audio then - if (!($type eq "Audio")) { - if (!defined($DEBUG_OPEN)&&$withsound>=0) { - print STDERR "\nFailed to open file - I tried:\n\n $syscom\n"; - if (!$is_mpv) { - print STDERR "\nMaybe you are missing a library in mplayer (or it is not a valid media file) ?\n"; - } - else { - print STDERR "\nMaybe you are missing a library in mpv (or it is not a valid media file) ?\n"; - } - } - if ($^O eq "MSWin32") { - &sig_error("This does not appear to be a valid video or image file","$GUI_NAME was unable to open it."," "); - } - else { - &sig_error("This does not appear to be a valid video or image file","$GUI_NAME was unable to open it.", \ - "","Check the terminal window for more details."); - } - } - } - -# mplayer seems to sometimes output one extra frame for jpg - if (defined($MPLAYER_EXTRA_OPEN_FRAME_BUG)&&($count==$xframes+1)&&(($frames eq "")||(!($frames eq "") && ($count<$ARGV[4])||($ARGV[3]==0)))) { - $name=&mkname($count); - unlink "$name$img_ext"; - $count--; - } - - unless ($frames eq "") { - $tfps=$fps; - if ($fps<1) { - $tfps=1; - } - if ($ARGV[3]>=(1/$tfps)) { -# if we opened a selection, mplayer wrongly outputs frame 1, -# so we usually need to delete it - -#TODO ** - check if this is still the case - - for ($i=2;$i<=$count;$i++) { - $from=&mkname($i); - $to=&mkname($i-1); - smog_rename( "$from$img_ext", "$to$img_ext"); - } - $count--; - } - } - -## this is not accurate -#if ($fps==0.&&$length!=0) { -# $fps=$count/$length; -# } - - $af_size= -s $audio_out; - if (-d $curworkdir) { - &sig_complete($handle,$count,$type,$hsize,$vsize,$bpp,$fps,$f_size,$arate,$achans,$asamps,$signed,$endian,$af_size,$title,$author,$comment); - } - exit 0; - } - - - - if ($command eq "get_details") { - -#attempt to get file details - $file=$ARGV[2]; - $only_first=1; - - $img_ext=".".$ARGV[3]; - - if (defined($ARGV[4])) { - $is_remote=$ARGV[4]; - } - if (defined($ARGV[5])) { - $is_audio=$ARGV[5]; - } - &get_file_info; - if ($panic) { - unlink "$pidfile"; - exit 1; - } - - if ($asamps==32) { -# cant handle this yet, so we will resample on open - $asamps=16; - } - - smog_chdir("$curworkdir"); - - &sig_complete($handle,$count,$type,$hsize,$vsize,$bpp,$fps,$f_size,$arate,$achans,$asamps,$signed,$endian,$af_size,$title,$author,$comment); - - exit 0; - } - - - - if ($command eq "open_tv_card") { - $chanstr=$ARGV[2]; - $devstr=$ARGV[3]; - $fifofile=$ARGV[4]; - - $inputstr=$sizestr=$fpsstr=$driverstr=$outfmt=""; - - if (defined($ARGV[5])) { - $inputstr=":input=$ARGV[5]"; - } - if (defined($ARGV[6])&&defined($ARGV[7])) { - if ($ARGV[6]>0&&$ARGV[7]>0) { - $sizestr=":width=$ARGV[6]:height=$ARGV[7]"; - } - } - - if (defined($ARGV[8])) { - if ($ARGV[8]>0.) { - $fpsstr=":fps=$ARGV[8]"; - } - } - - if (defined($ARGV[9])) { - if ($ARGV[9] ne "autodetect") { - $driverstr=":driver=$ARGV[9]"; - } - } - - if (defined($ARGV[10])) { - if ($ARGV[10] ne "autodetect") { - $outfmt=":outfmt=$ARGV[10]"; - } - } - - my $mp=&get_mplayer_location; - -## note does not function with mpv since it cannot convert to yuv4mpeg (complains about missing pixel_fmt) - $com="$mp -really-quiet tv://$chanstr -tv device=$devstr$inputstr$driverstr$sizestr$outfmt$fpsstr -vo yuv4mpeg:file=$fifofile >$nulfile 2>&1 <$nulfile"; - $smerr=smog_system($com); - if ($smerr) { - sig_system_error("$com",$smerr); - unlink "$pidfile"; - exit 1; - } - exit 0; - } - - - - if ($command eq "open_fw_card") { - $cardno=$ARGV[2]; - $cache=$ARGV[3]; - $fifofile=$ARGV[4]; - my $mp=&get_mplayer_location; -## note does not function with mpv since it cannot convert to yuv4mpeg (complains about missing pixel_fmt) - $com="dvgrab -s 0 -noavc -card $cardno -o - 2>$nulfile | $mp - -really-quiet -demuxer lavf -vo yuv4mpeg:file=$fifofile >$nulfile 2>&1"; - $smerr=smog_system("$com"); - if ($smerr) { - sig_system_error("$com",$smerr); - unlink "$pidfile"; - exit 1; - } - exit 0; - } - - - - - - - if ($command eq "close") { - if (defined(open IN,"< $pidfile")) { - close IN; -# cancel any processing - if ($^O ne "MSWin32") { - smog_system("smogrify stopsubsub \"$handle\""); - } - } - if (chdir("$curworkdir")) { - unlink glob "* .* *.*"; - smog_chdir("$workdir"); - rmdir $curworkdir; - } - exit 0; - } - - - if ($command eq "ext_save") { - shift(@ARGV); - $curworkdir="$workdir/$handle"; - $execname=$ARGV[1]; - shift(@ARGV); - - smog_chdir("$curworkdir"); - - $com="\"$execname\" encode @ARGV"; - $smerr=smog_system($com); - if ($smerr) { - sig_system_error("$com",$smerr); - unlink "$pidfile"; - exit 1; - } - &sig_complete; - exit 0; - - } - - - - if ($command eq "save") { - my $cmd=""; - - $get_rfx=0; - - if ($handle eq "get_rfx") { - $get_rfx=1; - shift(@ARGV); - $handle=$ARGV[1]; - - $curworkdir="$workdir/$handle"; - if ($^O eq "MSWin32") { - $statusfile="$curworkdir/status"; - $pidfile=$curworkdir."/pid"; - } - else { - $statusfile="$curworkdir/.status"; - $pidfile=$curworkdir."/.pid"; - } - - } - - unlink "$curworkdir/pause"; - smog_chdir("$curworkdir"); - - $plugin=$ARGV[2]; - - $fps=$ARGV[3]; - $nfile=$ARGV[4]; - -# check the file is writable - unless ($nfile eq ""||&is_writeable($nfile)) { - &sig_error("Unable to open output file !","$GUI_NAME could not write to $nfile."); - } - - $start=$ARGV[5]; - $is_linked=0; - - $linksdir="$curworkdir/lives-symlinks/"; - - if ($start==-1) { -# special value which tells us we are dealing with symlinks - $start=1; - $is_linked=1; - } - - $end=$ARGV[6]; - $arate=$ARGV[7]; - $achans=$ARGV[8]; - $asamps=$ARGV[9]; - if (defined($ARGV[10])) { - $ssigned=$ARGV[10]&1; #CAREFUL - this is reversed in LiVES (there unsigned==1, signed==0) - $aendian=$ARGV[10]&2; # value of 2 means bigendian - $aendian=!$aendian; #endian is revesed here (0 means bigend) - } - - else { - $ssigned=1; - if ($asamps==8) { - $ssigned=0; - } - $aendian=&get_endian; - } - - $sox_version=&get_sox_version; - - if ($sox_version < 14004001) { - if ($ssigned==1) { - $asigned="-s"; - } - else { - $asigned="-u"; - } - } - else { - if ($ssigned==1) { - $asigned="-e signed-integer"; - } - else { - $asigned="-e unsigned-integer"; - } - } - - if (defined($ARGV[11])) { - $aud_start=$ARGV[11]; - } - else { - $aud_start=($start-1.)/($fps*1.); - } - if (defined($ARGV[12])) { - $aud_end=$ARGV[12]; - } - else { - $aud_end=($end*1.)/($fps*1.); - } - - $img_ext=&get_img_ext($curworkdir,$start); - -# get image size ($hsize x $vsize) - $imresact="none"; - my $firstframe=&mkname($start); - - &get_image_size("$firstframe$img_ext"); - - if ($panic||$hsize==-1) { - unlink $pidfile; - exit 1; - } - $otype=&rc_get("output_type"); - - $encoder=&rc_get("encoder"); - - $DEBUG_ENCODERS=1; - - $audiofile=""; - - - if ($get_rfx==0) { - - unlink "audiodump.wav"; - - $areq=&get_form_request($plugin); - -#prepare audio stream if requested - if (-f "$curworkdir/audio" && $arate>0) { - - $origaudio=$audiofile=$audio_in="$curworkdir/audio"; - if ($areq&1||$aud_start!=0.) { - -# encode sound up to the next nearest second -# seems to be the norm... - $aud_length=($aud_end-$aud_start); - $aud_length=int($aud_length+1.0); - $aud_end=$aud_start+$aud_length; - -# clip the (raw) audio - - $audiofile=$audio_in=&clip_audio($aud_start,$aud_end); - if ($panic) { - unlink "$pidfile"; - exit 1; - } - -#pad to end with silence - $desired_length=$aud_length*$arate*$achans*$asamps/8; - &append_silence(0,$desired_length,$asamps,$achans,$ssigned,$aendian,$audiofile); - if ($panic) { - unlink "$pidfile"; - exit 1; - } - - if ($aud_start!=0.&&!($areq&1)) { - if (&rc_get("conserve_space") eq "true") { - unlink "$origaudio"; - } - else { - smog_rename( "$origaudio","$origaudio.origbak"); - } - smog_rename( "$curworkdir/$audiofile","$origaudio"); - $audio_file=$audio_in=$origaudio; - } - } - if ($areq&2) { -# convert raw audio to wav - $audio_out=$curworkdir . "/audiodump.wav"; - &convert_audio_to_wav; - if ($panic) { - unlink "$pidfile"; - exit 1; - } - unlink "$audio_in"; - $audiofile=$audio_out; - } - } - - if ($areq&4) { - - if ($start>1) { -# move the selection down so that frames start at 1 -# note, LiVES never uses this any more, -# instead it first calls link_frames, and possibly sets $start to -1 -# (see above) - - if (-d $linksdir) { - smog_system("/bin/rm -rf \"$linksdir\""); - } - - $com="/bin/mkdir -p \"$linksdir\""; - $smerr=smog_system($com); - if ($smerr) { - sig_system_error("Creating directory \"$linksdir\"",$smerr); - unlink "$pidfile"; - exit 1; - }; - - if ($^O ne "MSWin32") { - $fstype=&get_fs_type($curworkdir); - } - -# need to make hard links, as some encoders complain about symbolic links - - - for ($i=1;$i<=($end-$start+1);$i++) { - $name=&mkname($i); - $from=&mkname($i+$start-1); - if (-f "$curworkdir$from$img_ext") { - if ($^O eq "MSWin32") { - $smerr=smog_system ("cp.exe \"$curworkdir/$from$img_ext\" \"$linksdir$name$img_ext\""); - if ($smerr) { - sig_system_error("Copying \"$curworkdir/$from$img_ext\" to \"$linksdir$name$img_ext\"",$smerr); - unlink "$pidfile"; - exit 1; - } - } - else { - if ($fstype eq "vfat" || $fstype eq "fat32" || $fstype eq "msdos") { - $smerr=smog_system ("/bin/cp -f \"$curworkdir/$from$img_ext\" \"$linksdir$name$img_ext\""); - if ($smerr) { - sig_system_error("Copying \"$curworkdir/$from$img_ext\" from \"$linksdir$name$img_ext\"",$smerr); - unlink "$pidfile"; - exit 1; - } - } - else { - $smerr=smog_system ("/bin/ln \"$curworkdir/$from$img_ext\" \"$linksdir$name$img_ext\""); - if ($smerr) { - sig_system_error("Symlinking \"$curworkdir/$from$img_ext\" from \"$linksdir$name$img_ext\"",$smerr); - unlink "$pidfile"; - exit 1; - } - } - } - } - } - if (-f $audiofile) { - my $xaudiofile=(split(/\//,$audiofile))[-1]; - if (! -f "$linksdir$xaudiofile") { - if ($^O eq "MSWin32") { - $smerr=smog_system ("cp.exe \"$curworkdir/$audiofile\" \"$linksdir$xaudiofile\""); - if ($smerr) { - sig_system_error("Copying \"$curworkdir/$audiofile\" to \"$linksdir$xaudiofile\"",$smerr); - unlink "$pidfile"; - exit 1; - } - } - else { - if ($fstype eq "vfat" || $fstype eq "fat32" || $fstype eq "msdos") { - $smerr=smog_system("/bin/cp -f \"$curworkdir/$audiofile\" \"$linksdir$xaudiofile\""); - if ($smerr) { - sig_system_error("Copying \"$curworkdir/$audiofile\" from \"$linksdir$xaudiofile\"",$smerr); - unlink "$pidfile"; - exit 1; - } - } - else { - $smerr=smog_system("/bin/ln \"$curworkdir/$audiofile\" \"$linksdir$xaudiofile\""); - if ($smerr) { - sig_system_error("Symlinking \"$curworkdir/$audiofile\" from \"$linksdir$xaudiofile\"",$smerr); - unlink "$pidfile"; - exit 1; - } - } - } - } - } - $is_linked=1; - } - } - - if ($is_linked==1) { - smog_chdir("$linksdir"); - } - - } - - - unless ($plugin eq "") { - $atype=&rc_get("encoder_acodec"); - $fields="$fps \"$nfile\" $start $end $img_ext $otype $atype $hsize $vsize"; - $fields.=" $DEBUG_ENCODERS"; - $fields.=" $arate $achans $asamps $ssigned"; - - if ($plugin =~ /multi_encoder$/) { - $extra_opts="-v"; - } - - if ($^O eq "MSWin32") { -# adjust depending on file ext - my $ext=&get_ext("$plugin"); - if ($ext eq ".py") { - $cmd="python"; - } - else { - $cmd="perl"; - } - if ($get_rfx==0) { - $fields.=@ARGV[13..$#ARGV]; - $com="$cmd \"$plugin\" $extra_opts encode $fields"; - - } - else { - $com="$cmd \"$plugin\" get_rfx $fields"; - } - } - else { - if ($get_rfx==0) { - $fields.=@ARGV[13..$#ARGV]; - $com="\"$plugin\" $extra_opts encode $fields"; - } - else { - $com="\"$plugin\" get_rfx $fields"; - } - } - - $smerr=smog_system("$com"); - - &sig_complete; - exit 0; - } - - if (-f ".comment") { - open IN,"< .comment"; - read IN,$string,1040; - close IN; - unlink ".comment"; - } - @tmp=split(/\|\|\%/,$string); - - $title=$tmp[0]; - $author=$tmp[1]; - $comment=$tmp[2]; - chomp($comment); - - if ($get_rfx==0) { - $command="encode"; - } - else { - $command="get_rfx"; - } - - return 1; - exit 0; # just in case - } - - - if ($command eq "link_frames") { - unlink "$curworkdir/pause"; - smog_chdir("$curworkdir"); - - $start=$ARGV[2]; - $end=$ARGV[3]; - - $astart=$ARGV[4]; - $aend=$ARGV[5]; - - $arate=$ARGV[6]; - $achans=$ARGV[7]; - $asamps=$ARGV[8]; - $asigned=$ARGV[9]; - $aendian=$ARGV[10]; - - $from_handle=$ARGV[11]; - - my $i; - my $audiofile="audio"; - - if ($from_handle eq "") { - $linksdir="$curworkdir/lives-symlinks/"; - - if (-d $linksdir) { - if ($^O eq "MSWin32") { - smog_system("DEL /q \"$linksdir\""); - smog_system("RMDIR \"$linksdir\""); - } - else { - smog_system("/bin/rm -rf \"$linksdir\""); - } - } - - if ($^O eq "MSWin32") { - $com="mkdir.exe -p \"$linksdir\""; - } - else { - $com="/bin/mkdir /p \"$linksdir\""; - } - $smerr=smog_system($com); - if ($smerr) { - sig_system_error("Creating directory \"$linksdir\"",$smerr); - unlink "$pidfile"; - exit 1; - } - - } - else { - $linksdir=$curworkdir; - $handle=$from_handle; - $curworkdir="$workdir/$handle/"; - } - - -# copy a slice of the audio file into our links dir -# this allows us to resample it -# and also aligns the start of audio with new frame 1 - - unless ($aend==0.) { - - my $ocurworkdir=$curworkdir; - my $ofrom_handle=$from_handle; - my $ostart=$start; - my $oend=$end; - - $start=$astart; - $end=$aend; - $where=0.; - $from_handle=$handle; - $curworkdir=$linksdir; - - &insert_audio($asamps,$achans,$asigned,$aendian,0); - if ($panic) { - unlink "$pidfile"; - exit 1; - } - - $curworkdir=$ocurworkdir; - $from_handle=$ofrom_handle; - $start=$ostart; - $end=$oend; - - } - - $img_ext=&get_img_ext($curworkdir,$start); - - if ($^O ne "MSWin32") { - $fstype=&get_fs_type($curworkdir); - } - - for ($i=1;$i<=($end-$start+1);$i++) { - $name=&mkname($i); - $from=&mkname($i+$start-1); - if (-f "$curworkdir/$from$img_ext") { - if ($^O eq "MSWin32") { - $smerr=smog_system ("cp.exe \"$curworkdir/$from$img_ext\" \"$linksdir/$name$img_ext\""); - if ($smerr) { - sig_system_error("Copying \"$curworkdir/$from$img_ext\" to \"$linksdir/$name$img_ext\"",$smerr); - unlink "$pidfile"; - exit 1; - } - } - else { - if ($fstype eq "vfat" || $fstype eq "fat32" || $fstype eq "msdos") { - $smerr=smog_system ("/bin/cp -f \"$curworkdir/$from$img_ext\" \"$linksdir/$name$img_ext\""); - if ($smerr) { - sig_system_error("Copying \"$curworkdir/$from$img_ext\" to \"$linksdir/$name$img_ext\"",$smerr); - unlink "$pidfile"; - exit 1; - } - } - else { - $smerr=smog_system ("/bin/ln \"$curworkdir/$from$img_ext\" \"$linksdir/$name$img_ext\""); - if ($smerr) { - sig_system_error("Linking \"$curworkdir/$from$img_ext\" to \"$linksdir/$name$img_ext\"",$smerr); - unlink "$pidfile"; - exit 1; - } - } - } - - } - &sig_progress($i); - } - - unless ($from_handle eq "") { - $curworkdir=$linksdir; - } - - &sig_complete; - exit 0; - } - - - if ($command eq "resize_all") { - unlink "$curworkdir/pause"; - smog_chdir("$curworkdir"); - $end=$ARGV[2]; - - my $iwidth=$ARGV[3]; - my $iheight=$ARGV[4]; - - $img_ext=".".$ARGV[5]; - $img_prefix=&get_img_prefix($img_ext); - - $resize_ext=".mgk"; - - $blankname="blank.jpg"; - - my $letterbox=0; - - if (defined($ARGV[6]) && $ARGV[6]>0) { -# letterboxen - next values are image-in-frame size - $letterbox=1; - $owidth=$iwidth; - $oheight=$iheight; - $iwidth=$ARGV[6]; - $iheight=$ARGV[7]; - $in_ext=$resize_ext; - $out_ext=$img_ext; - } - - &clean_old; - - if ($letterbox) { -# make a background frame - if (!defined($bgcolour)) { - $bgcolour="#000000"; - } - - $com="$smog_convert_command -size $owidth"."x$oheight\\! xc:$bgcolour $blankname >$nulfile 2>&1"; - $smerr=smog_system($com); - if ($smerr) { - sig_system_error("$com",$smerr); - unlink $blankname; - unlink "$pidfile"; - exit 1; - } - } - - - - for ($i=1;$i<=$end;$i++) { - $name=&mkname($i); - - smog_copy("$name$img_ext","$name.bak"); - if ($panic) { - if ($letterbox) { - try_to_recover($start,$i-1); - unlink $blankname; - } - if ($DEBUG_SMOGRIFY) { - print STDERR "smogrify debug - rename failed ($!): \"$curworkdir/$name$img_ext\",\"$curworkdir/$name.bak\"\n"; - } - sig_system_error("Renaming \"$curworkdir/$name$img_ext\" to \"$curworkdir/$name.bak\""); - - unlink "$pidfile"; - exit 1; - } - - - if ($iwidth>0 && $iheight>0) { - &resize_frame($name,$iwidth,$iheight); - } - - if ($panic) { - if ($letterbox) { - try_to_recover($start,$i); - unlink $blankname; - } - unlink "$pidfile"; - exit 1; - } - - if ($letterbox) { - &letterbox_frame($name,abs($iwidth),abs($iheight),$owidth,$oheight); - } - - if ($panic) { - if ($letterbox) { - try_to_recover($start,$i); - unlink $blankname; - } - unlink "$pidfile"; - exit 1; - } - - &sig_progress($i); - } - - - $start=1; - - unless ($letterbox) { - &mv_mgk; - if ($panic) { - unlink "$pidfile"; - exit 1; - } - } - else { - unlink $blankname; - } - - &sig_complete; - exit 0; - } - - if ($command eq "backup") { - $withaudio=$ARGV[2]; - $start=$ARGV[3]; - $end=$ARGV[4]; - - if ($withaudio==0) { - $audio=""; - } - else { - $audio="audio"; - } - - $nfile=$ARGV[5]; - - unlink "$curworkdir/pause"; - smog_chdir("$curworkdir"); - -# check the file is writable - unless (&is_writeable($nfile)) { - &sig_error("Unable to open output file !","$GUI_NAME could not write to $nfile."); - } - - unlink glob "*.tar"; - $com="tar --ignore-failed-read -cf header.tar \"$audio\" header* extended* event.* subs.* file* 2>$nulfile"; - smog_system ($com); - if ($smerr) { - sig_system_error("$com",$smerr); - unlink "$pidfile"; - exit 1; - } - - &sig_progress(0); - - $com="tar -cf temp.tar header.tar 2>.tar_err"; - $smerr=smog_system ($com); - if ($smerr) { - sig_system_error("$com",$smerr); - unlink "$pidfile"; - exit 1; - } - - $com="tar --exclude=*.bak --exclude=*.tar --exclude=./.* --exclude=*.mgk --exclude=*.tmp --exclude=audioclip* -rf temp.tar * 2>>.tar_err"; - $smerr=smog_system ($com); - if ($smerr) { - sig_system_error("$com",$smerr); - unlink "$pidfile"; - exit 1; - } - - if ($^O eq "MSWin32") { - $com="gzip.exe -S .lv1 temp.tar"; - } - else { - $com="gzip -S .lv1 temp.tar"; - } - - $smerr=smog_system ($com); - if ($smerr) { - sig_system_error("$com",$smerr); - unlink "$pidfile"; - exit 1; - } - - unlink "temp.tar"; - - smog_rename("temp.tar.lv1","$nfile"); - - unlink <header.tar 0*.tar>; - if (-f ".tar_err") { - open IN,"< .tar_err"; - read IN,$tarerr,255; - close IN; - unless ($tarerr eq "") { - &sig_error("Error creating new backup.",$tarerr); - unlink glob "*.tar .tar_err"; - unlink "$pidfile"; - exit 1; - } - } - $size=-s "$nfile"; - &sig_complete($size); - exit 0; - } - - - if ($command eq "restore") { - $nfile=$ARGV[2]; - - smog_chdir("$curworkdir"); - - if ($^O ne "MSWin32") { - $com="tar -zxf \"$nfile\" 2>$nulfile"; - smog_system ($com); - - if ($smerr) { - sig_system_error("$com",$smerr); - unlink "$pidfile"; - exit 1; - } - } - else { - smog_copy("$nfile","$curworkdir\\temp.gz"); - if ($panic) { - unlink "$pidfile"; - exit 1; - } - $com="gzip.exe -d temp.gz"; - $smerr=smog_system ($com); - if ($smerr) { - sig_system_error("$com",$smerr); - unlink "$pidfile"; - exit 1; - } - $com="tar.exe -xf temp"; - $smerr=smog_system ($com); - if ($smerr) { - sig_system_error("$com",$smerr); - unlink "$pidfile"; - exit 1; - } - unlink "temp"; - } - - unless (-f "header.tar"||-f "header"||-f "header.lives") { - &sig_error("This does not appear to be a valid backup file","$GUI_NAME was unable to open it."); - } - - opendir DIR,$curworkdir; - while ($file=readdir(DIR)) { - if ($file =~ /.tar$/) { - smog_system("tar -xf $file 2>$nulfile"); - unlink "$file"; - } - } - close DIR; - - &sig_complete; - exit 0; - } - - - - if ($command eq "reorder") { - unlink "$curworkdir/pause"; - - $img_ext=".".$ARGV[2]; - $img_prefix=&get_img_prefix($img_ext); - - if (!defined($ARGV[3])) { - $endian=&get_endian; - } - else { - $endian=$ARGV[3]; - } - if (defined $ARGV[4]) { - $newwidth=$ARGV[4]; - } - if (defined $ARGV[5]) { - $newheight=$ARGV[5]; - } - if (defined $ARGV[6]) { - if ($ARGV[6]==1) { - $leave_bak=1; - } - } - if (defined $ARGV[7]) { - $old_end=$ARGV[7]; - } - - $letterbox=0; - - if (defined $ARGV[8] && $ARGV[8]!=0) { -#letterbox size - $letterbox=1; - $owidth=$newwidth; - $oheight=$newheight; - - $newwidth=$ARGV[8]; - $newheight=$ARGV[9]; - $in_ext=".mgk"; - $out_ext=$img_ext; - } - - $newframe=-1; - $event_file="$curworkdir/event.frames"; - $resize_ext=".tmp"; - smog_chdir("$curworkdir"); - - unless ($leave_bak==1) { - &clean_old; - } - - $blankname="blank.jpg"; - - if (defined(open IN,"< $event_file")) { - $fcount=1; - read IN,$val,4; - $pstart=&getint($val); - $count=$pstart; - - - if ($letterbox&&!$leave_bak) { -# make a background frame - if (!defined($bgcolour)) { - $bgcolour="#000000"; - } - - $com="$smog_convert_command -size $owidth"."x$oheight\\! xc:$bgcolour $blankname>$nulfile 2>&1"; - $smerr=smog_system($com); - if ($smerr) { - sig_system_error("$com",$smerr); - unlink "$pidfile"; - exit 1; - } - } - - while ($newframe!=0) { - read IN,$val,4; - $newframe=&getint($val); - if ($newframe>0) { - $from=&mkname($newframe); - if (-f "$curworkdir/$from$img_ext") { - $to=&mkname($count); - - if ($newwidth > 0 && $newheight > 0) { - &resize_frame($from,$newwidth,$newheight); - if ($panic) { - if ($letterbox) { - try_to_recover($start,$i-1); - unlink $blankname; - } - unlink "$pidfile"; - exit 1; - } - - $smerr=rename "$curworkdir/$from$resize_ext","$curworkdir/$to.mgk"; - if (!$smerr) { - if ($letterbox) { - try_to_recover($start,$i); - unlink $blankname; - } - sig_system_error("Renaming \"$curworkdir/$from$resize_ext\" to \"$curworkdir/$to.mgk\"",$!); - unlink "$pidfile"; - exit 1; - } - } - else { - unless (($from eq $to) || $letterbox) { - smog_copy("$curworkdir/$from$img_ext", "$curworkdir/$to.mgk"); - if ($panic) { - unlink "$pidfile"; - exit 1; - } - } - } - -#now resized are in .mgk - if ($letterbox) { - if ($leave_bak) { -#letterboxing was done with resize - unless ($from eq $to) { - smog_copy("$curworkdir/$from$img_ext", "$curworkdir/$to$img_ext.2"); - if ($panic) { - try_to_recover($start,$i); - unlink "$pidfile"; - exit 1; - } - smog_copy("$curworkdir/$from.mgk", "$curworkdir/$to.mgk.2"); - if ($panic) { - try_to_recover($start,$i); - unlink "$pidfile"; - exit 1; - } - } - } - else { - smog_copy("$curworkdir/$to$img_ext", "$curworkdir/$to.bak"); - if ($panic) { - try_to_recover($start,$i-1); - unlink "$pidfile"; - unlink $blankname; - exit 1; - } -# make $to.mgk $to.img_ext - &letterbox_frame($to,abs($newwidth),abs($newheight),$owidth,$oheight); - - if ($panic) { - try_to_recover($start,$i-1); - unlink "$pidfile"; - unlink $blankname; - exit 1; - } - -#lb are in .img - } - - } - - } - $count++; - } - &sig_progress($fcount++); - } - close IN; - - if ($letterbox&&!$leave_bak) { - unlink $blankname; - } - - } - - else { - &sig_error; - } - - $start=$pstart; - $new_count=--$count; - $end=$count; - - unless ($letterbox) { -# mv mgk -> $img_ext - &mv_mgk; - if ($panic) { - unlink "$pidfile"; - exit 1; - } - } - - if ($letterbox&&$leave_bak) { - -# because of potential ovewrite we made .mgk2 (resized/no letterbox) and $img_ext.2 (resized) -# now copy these - unless (!defined($pidfile)||$pidfile eq "") { -# don't want to get killed in this stage... - unlink "$pidfile"; - } - if ($smerr) { - sig_system_error("$com",$smerr); - unlink "$pidfile"; - exit 1; - } - for ($i=$start; $i<=$end; $i++) { - $name=&mkname($i); - if (-f "$curworkdir/$name.mgk.2") { - if (-f "$curworkdir/$name$img_ext.2") { - unlink "$curworkdir/$name$img_ext"; - $smerr=rename "$curworkdir/$name$img_ext.2","$curworkdir/$name$img_ext"; - if (!$smerr) { - if ($letterbox) { - try_to_recover($start,$end); - } - sig_system_error("Renaming \"$curworkdir/$name$img_ext.2\" to \"$curworkdir/$name$img_ext\"",$!); - unlink "$pidfile"; - exit 1; - } - - } - unlink "$curworkdir/$name.mgk"; - $smerr=rename "$curworkdir/$name.mgk.2","$curworkdir/$name.mgk"; - - if (!$smerr) { - if ($letterbox) { - try_to_recover($start,$end); - } - sig_system_error("Renaming \"$curworkdir/$name.mgk.2\" to \"$curworkdir/$name.mgk\"",$!); - unlink "$pidfile"; - exit 1; - } - } - } - } - - if ($end<$old_end) { -# remove excess frames - for ($i=$end+1; $i<=$old_end; $i++) { - $name=&mkname($i); - if (-f "$curworkdir/$name$img_ext") { - unlink "$curworkdir/$name.bak"; - smog_rename("$curworkdir/$name$img_ext","$curworkdir/$name.bak"); - } - } - &sig_progress($i); - } - - &sig_complete($new_count); - exit 0; - } - - - - if ($command eq "deorder") { - $curworkdir="$workdir/$handle"; - $start=$ARGV[2]; - $end=$ARGV[3]; - $frames=$ARGV[4]; - $img_ext=".".$ARGV[5]; - if (defined $ARGV[6]) { - $leave_bak=$ARGV[6]; - } else { - $leave_bak=0; - } - - smog_chdir("$curworkdir"); - - $oend=$end; - - if ($end>$frames) { - $end=$frames; - } - - &undo(!$leave_bak); -# will abort on failure - - if ($frames<$oend) { -# frames were upsampled - for ($i=$frames+1; $i<=$oend; $i++) { - $name=&mkname($i); - if (!$leave_bak) { - unlink "$curworkdir/$name$img_ext"; - } else { - smog_rename("$curworkdir/$name$img_ext","$curworkdir/$name.mgk"); - } - } - } else { -# frames were downsampled - for ($i=$end+1; $i<=$frames; $i++) { - $name=&mkname($i); - if (!$leave_bak) { - if (-f "$curworkdir/$name.bak") { - smog_rename("$curworkdir/$name.bak","$curworkdir/$name$img_ext"); - } - } else { - smog_rename("$curworkdir/$name$img_ext","$curworkdir/$name.mgk"); - } - } - } - - if (!$leave_bak) { -#remove .mgk files from undo - &clean_old; - } - - &sig_complete; - exit 0; - } - - - if ($command eq "cut") { - unlink "$curworkdir/pause"; - &clean_old; - - $start=$ARGV[2]; - $end=$ARGV[3]; - $cut_audio=$ARGV[4]; - $frames=$ARGV[5]; - $img_ext=".".$ARGV[6]; - &cut($start,$end); - - if ($cut_audio) { - $fps=$ARGV[7]; - $arate=$ARGV[8]; - $achans=$ARGV[9]; - $asamps=$ARGV[10]; - if ($arate*$asamps*$achans) { - $start=($start-1)/$fps; - $end=$end/$fps; - &cut_audio; - if ($panic) { - unlink "$pidfile"; - exit 1; - } - } - } - &sig_complete; - exit 0; - } - - - if ($command eq "delete_all") { - $frames=$ARGV[2]; - if (! -d $curworkdir) { - &sig_complete; - exit 1; - } - smog_chdir("$curworkdir"); - unlink glob "* *.* .*"; - if ($GUI_NAME eq "LiVES") { -# LiVES needs this to stop the progress dialog from flickering - sleep(1); - } - &sig_complete; - exit 0; - } - - - - if ($command eq "reverse") { - unlink "$curworkdir/pause"; - $start=$ARGV[2]; - $end=$ARGV[3]; - $img_ext=".".$ARGV[4]; - &reverse; - &sig_complete; - exit 0; - } - - - if ($command eq "undo") { - unlink "$curworkdir/pause"; - - $start=$ARGV[2]; - $end=$ARGV[3]; - $img_ext=".".$ARGV[4]; - &undo; -# will abort on failure - &sig_complete; - exit 0; - } - - - if ($command eq "redo") { - unlink "$curworkdir/pause"; - - $start=$ARGV[2]; - $end=$ARGV[3]; - $img_ext=".".$ARGV[4]; - - &mv_mgk(1); - if ($panic) { - unlink "$pidfile"; - exit 1; - } - &sig_complete; - exit 0; - } - - - if ($command eq "fs_preview") { - $win=$ARGV[2]; - $hsize=$ARGV[3]; - $vsize=$ARGV[4]; - $start_time=$ARGV[5]; - $preview_frames=$ARGV[6]; - $file=$ARGV[7]; - $extra_params=$ARGV[8]; - $mplayer_command=&get_mplayer_location; - - if ($^O ne "MSWin32") { - $com="\"$mplayer_command\" -quiet -wid $win -vo x11 -ss $start_time -frames $preview_frames \"$file\" $extra_params >$nulfile 2>&1 <$nulfile"; - } else { - $com="\"$mplayer_command\" -quiet -wid $win -vo direct3d -ss $start_time -frames $preview_frames \"$file\" $extra_params >$nulfile 2>&1 <$nulfile"; - } - smog_system($com); - &sig_complete; - exit 0; - } - - if ($command eq "mv_mgk") { - unlink "$curworkdir/pause"; - $start=$ARGV[2]; - $end=$ARGV[3]; - $img_ext=".".$ARGV[4]; - if (defined($ARGV[5])) { - $leave_bak=$ARGV[5]; - } - - &mv_mgk; - if ($panic) { - unlink "$pidfile"; - exit 1; - } - &sig_complete; - exit 0; - } - - - - if ($command eq "export_audio") { - $audio_start=$ARGV[2]; - $audio_end=$ARGV[3]; - $arate=$ARGV[4]; - $achans=$ARGV[5]; - $asamps=$ARGV[6]; - $asigned=$ARGV[7]; - $nrate=$ARGV[8]; - $nfile=$ARGV[9]; - -# check the file is writable - unless(&is_writeable($nfile)) { - &sig_error("Unable to open output file !","$GUI_NAME could not write to $nfile."); - } - - $sox_version=&get_sox_version; - - if ($sox_version < 14004001) { - if ($asigned==1) { - $asigned="-s"; - } else { - $asigned="-u"; - } - } else { - if ($asigned==1) { - $asigned="-e signed-integer"; - } else { - $asigned="-e unsigned-integer"; - } - } - - if ($audio_end>0.) { - $audio_in=&clip_audio($audio_start,$audio_end); - if ($panic) { - unlink "$pidfile"; - exit 1; - } - } else { - $audio_in="$curworkdir/audio"; - } - -# convert raw audio to wav - $audio_out=$curworkdir . "/audiodump.wav"; - - &convert_audio_to_wav; - if ($panic) { - unlink "$pidfile"; - exit 1; - } - if ($audio_end>0.) { - unlink "$audio_in"; - } - - smog_rename("$audio_out","$nfile"); - if ($^O eq "MSWin32") { - smog_system("chmod.exe 644 \"$nfile\" >$nulfile 2>&1"); - } else { - smog_system("/bin/chmod 644 \"$nfile\" >$nulfile 2>&1"); - } - - &sig_complete; - exit 0; - } - - - if ($command eq "recover_audio") { - $audio_in="audiodump.pcm"; - - - $audio_out="audio"; - &convert_audio_to_raw; - if ($panic) { - unlink "$pidfile"; - exit 1; - } - unlink "$audio_in"; - - - } - - - - - if ($command eq "append_audio") { -# here we end up with (raw) 'audiodump', which will be renamed to 'audio' in commit_audio - $endian=&get_endian; - - $type=$ARGV[2]; - $nrate=$ARGV[3]; - $nchans=$ARGV[4]; - $nsamps=$ARGV[5]; - $nsigned=$ARGV[6]; - $nendian=$ARGV[7]; - $file=$ARGV[8]; - $audio_in="audiodump.wav"; - - smog_chdir("$curworkdir"); - - $audiofile="audio"; - - if ($type eq "mp3") { - &mp3_open; - } - elsif($type eq "ogg") { - &ogg_open; - } - elsif($type eq "wav") { - &wav_open; - } - else { - &othera_open; - } - - if ($panic) { - unlink "$pidfile"; - exit 1; - } - - smog_system_sync(); - - unless(-f $audio_in) { - &sig_error("$GUI_NAME was not able to open the file","$file"); - } - - $audio_out="audio.new"; - &convert_audio_to_raw; - if ($panic) { - unlink "$pidfile"; - exit 1; - } - unlink "$audio_in"; - - $audio_bak="audio.bak"; - - -# resample $audio_out (if required) - unless($arate==$nrate&&$achans==$nchans&&$asamps==$nsamps&&$nsigned==$signed&&$nendian==$endian) { - $audio_in=$audio_out; -#audio.new - $audio_out=$audio_bak; -#audio.bak - &resample_audio; -# audio.new -> audio.bak - if ($panic) { - unlink "$pidfile"; - exit 1; - } - - unlink "$audio_in"; -#audio.new - smog_rename("$audio_out","$audio_in"); -#audio.bak -> audio.new - $audio_out=$audio_in; -#audio.new - } - - unless(&rc_get("conserve_space") eq "true") { - smog_rename("$audio_out","keep_$audio_out"); - &backup_audio; - if ($panic) { - unlink "keep_$audio_out"; - unlink "$pidfile"; - exit 1; - } - smog_rename("keep_$audio_out","$audio_out"); - } - -# cat audio audio.new -> audiodump - if ($^O eq "MSWin32") { - $smerr=smog_system("cat.exe \"$curworkdir/audio\" \"$audio_out\" > \"$curworkdir/audiodump\""); - } else { - $smerr=smog_system("/bin/cat \"$curworkdir/audio\" \"$audio_out\" > \"$curworkdir/audiodump\""); - } - - if ($smerr) { - sig_system_error("Creating \"$curworkdir\audiodump\"",$smerr); - unlink "$pidfile"; - exit 1; - } - - unlink "$audio_out"; -#audio.new - $fsize=-s "$curworkdir/audiodump"; - &sig_complete($fsize); - exit 0; - } - - - - if ($command eq "trim_audio") { - $audio_start=$ARGV[2]; - $audio_end=$ARGV[3]; - - $arate=$ARGV[4]; - $achans=$ARGV[5]; - $asamps=$ARGV[6]; - $asigned=$ARGV[7]; - $aendian=$ARGV[8]; - - smog_chdir("$curworkdir"); - - unless(&rc_get("conserve_space") eq "true") { - &backup_audio; -#audio -> audio.bak - if ($panic) { - unlink "$pidfile"; - exit 1; - } - } - -#trim audio to selection - -# $audio_from is the new clip ("audioclip") - $audio_from=&clip_audio($audio_start,$audio_end); - if ($panic) { - unlink "$pidfile"; - exit 1; - } - - $align=$achans*$asamps/8; - $acsize=-s $audio_from; - $acsize/=$align*$arate; - - unlink "$audio_in"; -# audio_in is "audio" - - $where=$audio_start; - $end=$audio_end-$audio_start; - $start=0; - - if ($end>$acsize) { -#the part we cliṕped may have been *shorter* than the selection -# need to check for this now, as we are more careful with reads and writes - $end=$acsize; - } - -# insert_audio will insert silence at start, and should recreate "audio" from "audioclip" ($audio_from) - - &insert_audio($asamps,$achans,$asigned,$aendian,1); - if ($panic) { - unlink "$pidfile"; - exit 1; - $panic=0; - } - -#append silence to pad to end - - &append_silence(0,&align($audio_end*$arate*$align),$asamps,$achans,$asigned,$aendian); - if ($panic) { - unlink "$pidfile"; - exit 1; - $panic=0; - } - - &sig_complete; - exit 0; - } - - - if ($command eq "delete_audio") { - $start=$ARGV[2]; - $end=$ARGV[3]; - $arate=$ARGV[4]; - $achans=$ARGV[5]; - $asamps=$ARGV[6]; - - &cut_audio; - if ($panic) { - unlink "$pidfile"; - exit 1; - } - - &sig_complete; - exit 0; - } - - if ($command eq "resample_audio") { - $arate=$ARGV[2]; - $achans=$ARGV[3]; - $asamps=$ARGV[4]; - $asigned=$ARGV[5]; - $aendian=$ARGV[6]; - - - $nrate=$ARGV[7]; - $nchans=$ARGV[8]; - $nsamps=$ARGV[9]; - $nsigned=$ARGV[10]; - $nendian=$ARGV[11]; - $audio_in="$curworkdir/audio.bak"; - $audio_out="$curworkdir/audio"; - - if (defined($ARGV[12])) { - $stretch=$ARGV[12]; - $audio_in="$curworkdir/audio.orig"; - } - - unlink "$audio_in"; - smog_rename("$audio_out","$audio_in"); -# aborts on failuer - - smog_system_sync(); - - &resample_audio; - if ($panic) { - unlink "$pidfile"; - exit 1; - } - - if (&rc_get("conserve_space") eq "true" && (-s $audio_out)) { - unlink "$audio_in"; - } - - &sig_complete; - exit 0; - } - - - - if ($command eq "get_window_id") { - smog_system("xwininfo > \"$curworkdir/tmpinfo\""); - - smog_system("grep \"Window id:\" \"$curworkdir/tmpinfo\" > \"$curworkdir/tmpinfo2\""); - if (defined(open IN,"< $curworkdir/tmpinfo2")) { - read IN,$win_id,128; - close IN; - } - @wid=split(/ /,$win_id); - $win_id=hex($wid[3]); - chomp($win_id); - - smog_system("grep \"Width:\" \"$curworkdir/tmpinfo\" > \"$curworkdir/tmpinfo2\""); - if (defined(open IN,"< $curworkdir/tmpinfo2")) { - read IN,$width,128; - close IN; - } - @widths=split(/Width: /,$width); - $width=$widths[1]; - chomp($width); - - smog_system("grep \"Height:\" \"$curworkdir/tmpinfo\" > \"$curworkdir/tmpinfo2\""); - if (defined(open IN,"< $curworkdir/tmpinfo2")) { - read IN,$height,128; - close IN; - } - @heights=split(/Height: /,$height); - $height=$heights[1]; - chomp($height); - - smog_system("grep \"Depth:\" \"$curworkdir/tmpinfo\" > \"$curworkdir/tmpinfo2\""); - if (defined(open IN,"< $curworkdir/tmpinfo2")) { - read IN,$bpp,128; - close IN; - } - @bpps=split(/Depth: /,$bpp); - $bpp=$bpps[1]; - chomp($bpp); - - - smog_system("grep \"Visual:\" \"$curworkdir/tmpinfo\" > \"$curworkdir/tmpinfo2\""); - if (defined(open IN,"< $curworkdir/tmpinfo2")) { - read IN,$visual,128; - close IN; - } - @visuals=split(/Visual: /,$visual); - $visual=$visuals[1]; - chomp($visual); - - unlink "$curworkdir/tmpinfo"; - unlink "$curworkdir/tmpinfo2"; - - &sig_complete($win_id,$width,$height,$bpp,$visual); - exit 0; - } - - - if ($command eq "fill_and_redo_frames") { -# remove any gaps in the play images - unlink "$curworkdir/pause"; - $end=$ARGV[2]; - $width=$ARGV[3]; - $height=$ARGV[4]; - $img_ext=".".$ARGV[5]; - $img_prefix=&get_img_prefix($img_ext); - $has_audio=0; - $fps=$ARGV[6]; - $arate=$ARGV[7]; - $achans=$ARGV[8]; - $asamps=$ARGV[9]; - $asigned=$ARGV[10]; - $aendian=$ARGV[11]; - - if ($achans>0) { - $has_audio=1; - } - - &fill_and_redo_frames; - - if ($panic) { - unlink $pidfile; - exit 1; - } - - if ($has_audio) { - $aud_end=($end/$fps)*$achans*$arate*($asamps/8); - $audio_in="$curworkdir/audio"; - $audsize=-s $audio_in; - if ($audsize > $aud_end) { - $audio_out=&clip_audio(0.,$end/$fps); - if ($panic) { - unlink "$pidfile"; - exit 1; - } - unlink "$audio_in"; - smog_rename("$audio_out","$audio_in"); - } - elsif($audsize<$aud_end) { - $audio_out="$curworkdir/audio.bak"; - smog_rename("$audio_in","$audio_out"); - &append_silence(0,$aud_end-$audsize,$asamps,$achans,$asigned,$aendian,$audio_in); - if ($panic) { - unlink "$pidfile"; - exit 1; - } - if ($^O eq "MSWin32") { - smog_system("cat.exe \"$audio_out\">>\"$audio_in\""); - } else { - smog_system("/bin/cat \"$audio_out\">>\"$audio_in\""); - } - unlink "$audio_out"; - } - } - - &sig_complete; - exit 0; - } - - - if ($command eq "commit_audio") { -# commit the audio file in either audiodump or audiodump.wav as new audio file - - $allow_nonex=0; - if (defined $ARGV[2]) { - $allow_nonex=$ARGV[2]; - } - - smog_chdir("$curworkdir"); - $audio_out="audio"; - $audio_bak="audio.bak"; - - my $gotit=0; - - $file=$audio_in="audiodump.wav"; - - my $f_size=-s $audio_in; - if ($f_size>0) { -# wav format - unless(&rc_get("conserve_space") eq "true") { - if (-f $audio_out) { - $smres=smog_rename("$audio_out","$audio_bak"); - } else { - if ($^O eq "MSWin32") { - $smres=smog_system("touch.exe \"$audio_bak\""); - } else { - $smres=smog_system("touch \"$audio_bak\""); - } - if ($smres) { - sig_write_error("$audio_bak"); - unlink "$pidfile"; - exit 1; - } - } - } - $is_audio=TRUE; - &get_file_info; - if ($panic) { - unlink "$pidfile"; - exit 1; - } - &convert_audio_to_raw; - if ($panic) { - unlink "$pidfile"; - exit 1; - } - } else { - $audio_in="audiodump"; - if (! -f $audio_in) { - $audio_in="audiodump.pcm"; - } else { - $gotit=1; - } - if ($gotit || -f $audio_in) { -# raw format - unless(&rc_get("conserve_space") eq "true") { - if (-f $audio_out) { - $smres=smog_rename("$audio_out","$audio_bak"); -#aborts on failure - } else { - if ($^O eq "MSWin32") { - $smres=smog_system("touch.exe \"$audio_bak\""); - } else { - $smres=smog_system("touch \"$audio_bak\""); - } - if ($smres) { - sig_write_error("$audio_bak"); - unlink "$pidfile"; - exit 1; - } - } - } - smog_rename("$audio_in","$audio_out"); -# dummy values, the GUI should know these - $arate=$achans=$asamps=0; - $signed=$endian=1; - } else { - unless($allow_nonex) { - &sig_error("$GUI_NAME audio error."); - } - } - } - unlink glob "audiodump.*"; - - $f_size=-s $audio_out; - &sig_complete($arate,$achans,$asamps,$signed,$endian,$f_size); - exit 0; - } - - if ($command eq "cancel_audio") { -# remove the audio file in audiodump/audiodump.wav -# plus any audio.new files (e.g. from append audio) - - smog_chdir("$curworkdir"); - unlink glob "audiodump* audio.new"; - - &sig_complete; - exit 0; - } - - - if ($command eq "download_clip") { - my $url=$ARGV[2]; - my $dfile=$ARGV[3]; - - if ($url =~ /youtube/ || $url =~ /youtu\.be/) { -# youtube-dl - - if (-f $dfile) { - unlink "$dfile"; - } - - if (-f $dfile) { - &sig_error; - exit 2; - } - - $com="youtube-dl -o \"$dfile\" -f 43 -q --no-part \"$url\""; - - &sig_progress(1); - - $res=smog_system("$com"); - - if ($res || !(-f $dfile) || -z $dfile) { - - if (-f $dfile) { - unlink "$dfile"; - } - - sig_system_error("$com",$res); - unlink "$pidfile"; - exit 1; - } - } - - &sig_complete; - exit 0; - } - - - - if ($command eq "cdopen") { - - $cdda2wav_command=&location("cdda2wav"); - if ($cdda2wav_command eq "") { - $cdda2wav_command=&location("icedax"); - if ($cdda2wav_command eq "") { - &sig_error("cdda2wav or icedax is required for this function.","Please install it first."); - } - } - - $cdplay_device=&rc_get("cdplay_device"); - if ($cdplay_device eq "") { - &sig_error("You must set the CD device first in Preferences."); - } - - $track=$ARGV[2]; - - $audiofile=$curworkdir."/audiodump.wav"; - if (-f $audiofile) { - unlink "$audiofile"; - } - - $com="\"$cdda2wav_command\" -q -x -D \"$cdplay_device\" -t $track \"$audiofile\"| >$nulfile 2>&1"; - $smerr=smog_system($com); - if ($smerr) { - sig_system_error("$com",$smerr); - unlink "$pidfile"; - exit 1; - } - $f_size=-s $audiofile; -# the '-x' option will force these - $arate=44100; - $achans=2; - $asamps=16; - $aendian=&get_endian; - $asigned=1; - if ($asamps==8) { - $asigned=0; - } - &sig_complete($arate,$achans,$asamps,$asigned,$aendian,$f_size); - exit 0; - } - - - if ($command eq "audioopen") { -# TODO - allow front end to specify rate/channels, etc. - - $file=$ARGV[2]; - - smog_chdir("$curworkdir"); - - $audio_in="audiodump.wav"; - - $ext=&get_ext("$file"); - if ($ext eq ".mp3") { - &mp3_open; - } - elsif($ext eq ".ogg") { - &ogg_open; - } - elsif($ext eq ".wav") { - &wav_open; - } - else { - &othera_open; - } - - - if ($panic) { - unlink "$pidfile"; - exit 1; - } - - &sig_complete($arate,$achans,$asamps,$asigned,$aendian,$f_size); - exit 0; - } - - if ($command eq "insert") { -# with_audio: 0, no audio, 1 video and audio, 2 ONLY audio -# for 0 and 1, start, end, where are in frames; for 2, start,end,where are in seconds -# with -ve arate means insert silence [with_audio should be 1 or 2] -# with -ve times means undo cut/delete [source is same clip dir] - -# with -ve end means "allow missing frames" (used for copying to clipboard) - - unlink "$curworkdir/pause"; - $img_ext=".".$ARGV[2]; - $img_prefix=&get_img_prefix($img_ext); - $where=$ARGV[3]; - $start=$ARGV[4]; - $end=$ARGV[5]; - $from_handle=$ARGV[6]; - $with_audio=$ARGV[7]; - $num_frames=$ARGV[8]; - - $width=$ARGV[9]; - $height=$ARGV[10]; - $times=1; - $undo_cut=0; - - $new_frames=$num_frames; - - smog_chdir("$curworkdir"); - - - $allow_missing=0; - if ($end<0) { -# insert (copy) from (virtual) clip into clipboard - $allow_missing=1; - $end=-$end; - } - - if (defined($ARGV[17])) { - $times=$ARGV[17]; - if ($times<0) { -# this indicates undoing a previous cut - $times=-$times; - $undo_cut=1; - $new_frames=$num_frames+$end-$start+1; - } else { - if ($start>=0) { - &clean_old; - if (-f "audio") { -## back this up here for undo - smog_rename("audio","audio.bak"); - } - } else { -# $start < 0 tells us to leave backups alone - $start=-$start; - } - $antialias=&rc_get("antialias"); - } - } - - - - if ($with_audio<2) { - if (!$undo_cut) { - if (!$allow_missing) { - $img_ext2=&get_img_ext("$workdir/$from_handle",$start); - $img_prefix2=&get_img_prefix($img_ext2); - } else { - $img_ext2=$img_ext; - $img_prefix2=$img_prefix; - } - } - - &insert; - - if ($panic) { - unlink "$pidfile"; - exit 1; - } - if ($allow_missing) { - &sig_progress($new_frames); - sleep(1); - } - } - - if ($with_audio) { - $fps=$ARGV[11]; - $arate=$ARGV[12]; - $achans=$ARGV[13]; - $asamps=$ARGV[14]; - $asigned=$ARGV[15]; - $aendian=$ARGV[16]; - - - if ($arate*$achans*$asamps!=0) { - if (!$undo_cut) { - if ($with_audio<2) { - $end/=$fps; - $start=($start-1.)/$fps; - $where/=$fps; - } - if (-f "audio.bak") { - smog_copy("audio.bak","audio"); - } - if ($panic) { - unlink "$pidfile"; - exit 1; - } - smog_system_sync(); - } else { - $end=-s "$curworkdir/audio.bak"; - $end/=$arate*$achans*$asamps/8; - $start=0.; - if ($with_audio<2) { - $where/=$fps; - } - } - - &insert_audio($asamps,$achans,$asigned,$aendian,$undo_cut); - if (&rc_get("conserve_space") eq "true") { - unlink "audio.bak"; - } - if ($panic) { - unlink "$pidfile"; - exit 1; - } - } - } - - if ($undo_cut) { - &clean_old; - } - - &sig_complete; - exit 0; - } - - if ($command eq "undo_insert") { - -#clean up after an interrupted insert - $start=$ARGV[2]; - $end=$ARGV[3]; - $frames=$ARGV[4]; - $img_ext=".".$ARGV[5]; - -# move extra frames back to end - smog_system_sync(); - &undo_insert; - - &undo_audio; -# will abort on failure - - &clean_old; - - &sig_complete; - exit 0; - } - - -# effects - - if (substr($command,0,10) eq "pfxrender_") { -#fx preview - $fx_prev=1; - $command=substr($command,1); - $out_ext=".pre"; - } - - if (substr($command,0,9) eq "fxrender_") { - - smog_chdir("$curworkdir"); - unlink "$curworkdir/pause"; - $command=substr($command,9); - $status=$ARGV[2]; - $start=$ARGV[3]; - $end=$ARGV[4]; - $nwidth=$width=$ARGV[5]; - $nheight=$height=$ARGV[6]; - - $img_ext=".".$ARGV[7]; - $img_prefix=&get_img_prefix($img_ext); - splice(@ARGV,7,1); - - - $convert_command=$smog_convert_command; - $composite_command=$smog_composite_command; - -# call render plugins in plugins/effects/rendered/$command - - unless(defined($fx_prev)) { - $out_ext=".mgk"; - $out_prefix=$img_prefix; - &clean_old; - } - if ($status==0) { - $plugin_name="$command"; - } - elsif($status==1) { - $plugin_dir="$lives_home_dir/plugins/effects/rendered/custom"; - $plugin_name="$plugin_dir/$command"; - } - else { - $plugin_dir="$lives_home_dir/plugins/effects/rendered/test"; - $plugin_name="$plugin_dir/$command"; - } - if ($^O eq "MSWin32") { -# adjust depending on file ext - my $ext=&get_ext("$plugin_name"); - if ($ext eq ".py") { - $cmd="python"; - } else { - $cmd="perl"; - } - $smcom="$cmd \"$plugin_name\" get_description"; - } else { - $smcom="\"$plugin_name\" get_description"; - } - $fx_desc=smog_system_direct($smcom); - if ($?) { - sig_system_error($smcom,$?); - unlink $pidfile; - exit 1; - } - $num_in_channels=(split(/\|/,$fx_desc))[3]; - - if ($num_in_channels==0) { -# generators get the out_extension - $out_ext=$img_ext; - $out_prefix=&get_img_prefix($img_ext); - } - - if ($num_in_channels==2) { -# transitions get some extra params - $img_ext2=".".$ARGV[7]; - $img_prefix2=&get_img_prefix($img_ext2); - splice(@ARGV,7,1); - $start2=$ARGV[7]; - $clipboard=$ARGV[8]; - } - - $fps=0; - - if ($^O eq "MSWin32") { -# adjust depending on file ext - my $ext=&get_ext("$plugin_name"); - if ($ext eq ".py") { - $cmd="python"; - } else { - $cmd="perl"; - } - $fx_caps=smog_system_direct("$cmd \"$plugin_name\" get_capabilities"); - } else { - $fx_caps=smog_system_direct("\"$plugin_name\" get_capabilities"); - } - if ($?) { - sig_system_error($smcom,$?); - unlink $pidfile; - exit 1; - } - if ($fx_caps&0x8000) { -# is autogenerated -# we are so nice :-), we set: -# $handle,$curworkdir,$img_ext,$start,$end,$width,$height -# and for transitions $where, $chandle -# remove fxrender $handle $status start end width height (start2 clipboard) - shift; - shift; - shift; - shift; - shift; - shift; - if ($num_in_channels==2) { - shift; - shift; - } - - if ($^O eq "MSWin32") { - push @INC,"$plugin_dir"; - } - - $ARGV[0]="process"; - if ($status>1) { - $error=""; - if ($^O eq "MSWin32") { - unless(eval "require (\"$command\")") { - $error=$@; - } - } else { - unless(eval "require (\"$plugin_name\")") { - $error=$@; - } - } - unless($error eq "") { - &sig_error("$plugin_name failed:","$error"); - } - } else { - if ($^O eq "MSWin32") { - require("$command"); - } else { - require("$plugin_name"); - } - } - if ($num_in_channels>0) { - unless(defined($fx_prev)) { - &mv_mgk; - if ($panic) { - unlink "$pidfile"; - exit 1; - } - } - } else { - $frames=&count_frames; - } - &sig_complete($nwidth,$nheight,$fps,$frames); - exit 0; - } else { -# other (non-perl) language - shift; - shift; - shift; -#remove "fxrender_.." and $handle $status - my($res_file)="$curworkdir/.rfx_result"; - - my $err; - -#img_ext is also in ARGV, but never mind - - if ($num_in_channels==2) { - if ($^O eq "MSWin32") { -# adjust depending on file ext - my $ext=&get_ext("$plugin_name"); - if ($ext eq ".py") { - $cmd="python"; - } else { - $cmd="perl"; - } - $err=smog_system("$cmd \"$plugin_name\" process \"$curworkdir\" $img_ext $img_ext2 $out_ext @ARGV > \"$res_file\""); - } else { - $err=smog_system("\"$plugin_name\" process \"$curworkdir\" $img_ext $img_ext2 $out_ext @ARGV > \"$res_file\""); - } - } - elsif($num_in_channels==1) { - if ($^O eq "MSWin32") { -# adjust depending on file ext - my $ext=&get_ext("$plugin_name"); - if ($ext eq ".py") { - $cmd="python"; - } else { - $cmd="perl"; - } - $err=smog_system("$cmd \"$plugin_name\" process \"$curworkdir\" $img_ext $out_ext @ARGV > \"$res_file\""); - } else { - $err=smog_system("\"$plugin_name\" process \"$curworkdir\" $img_ext $out_ext @ARGV > \"$res_file\""); - } - } - else { - if ($^O eq "MSWin32") { -# adjust depending on file ext - my $ext=&get_ext("$plugin_name"); - if ($ext eq ".py") { - $cmd="python"; - } else { - $cmd="perl"; - } - $err=smog_system("$cmd \"$plugin_name\" process \"$curworkdir\" $out_ext @ARGV > \"$res_file\""); - } else { - $err=smog_system("\"$plugin_name\" process \"$curworkdir\" $out_ext @ARGV > \"$res_file\""); - } - } - if (!$err) { - if (defined(open IN,"< $res_file")) { - read IN,$size,128; - ($nwidth,$nheight)=split(" ",$size); - close IN; - unlink "$res_file"; - } - } else { - my(@err)=""; - if (defined(open IN,"< $res_file")) { - read IN,$errt,512; - @err=split("\n",$errt); - close IN; - unlink "$res_file"; - } - &sig_error(@err); - exit 1; - } - unless(defined($fx_prev)) { - &mv_mgk; - if ($panic) { - unlink "$pidfile"; - exit 1; - } - } - &sig_complete($nwidth,$nheight); - exit 0; - } + } + else { + #audio only + $syscom=$mplay_command . " -quiet $band -vo null $vcnull $ss $stframes $audcom $aformnew $channs \"$file\" $extra_params <$nulfile"; + } + if (defined($DEBUG_OPEN)) { + print STDERR "open command for $handle is: $syscom\n"; + } + + $syscom2=$syscom." >\"$curtmpfile\" 2>$nulfile"; + + unless ($opentest==1) { + &sig_progress(0); + } + + smog_system("$syscom2"); # this may well fail...we just have to use what we get back + + if (!-f $curtmpfile) { + unlink $pidfile; + exit 1; + } + + if (!$is_mpv) { + @info=split / /, smog_system_direct("grep VIDEO: \"$curtmpfile\" 2>$nulfile"); + @info2=split / /, smog_system_direct("grep AUDIO: \"$curtmpfile\" 2>$nulfile"); + } + else { + @info=split / /, smog_system_direct("grep VO: \"$curtmpfile\" 2>$nulfile"); + @info2=split / /, smog_system_direct("grep AO: \"$curtmpfile\" 2>$nulfile"); + } + + unlink "$curtmpfile"; + #$type=$info[1]; + + $size=$info[2]; + $hsize=(split /x/,$size)[0]; + $vsize=(split /x/,$size)[1]; + + if (!$is_mpv) { + $xbpp=int($info[3]); + + $xfps=(split / /,$info[4])[0]; + + $xarate=int($info2[1]); + $xachans=int($info2[3]); + } + else { + $xbpp = 0; + $xfps = 0.; + $xarate=int($info2[2]); + $xachans=int($info2[4]); + } + + if ($xbpp>0) { + $bpp=$xbpp; + } + if ($xfps>0.) { + $fps=$xfps; + } + if ($xarate>0) { + $arate=$xarate; + } + if ($xachans>0) { + $achans=$xachans; + } + + if (! -d $curworkdir) { + #curworkdir can be removed by cancel + exit 1; + } + + if ($withsound eq "-1") { + $count=0; + } + else { + # double check number of frames + $count=&count_frames; + } + } + + # if the last frame has zero size, delete it + if ($count>0) { + $name=&mkname($count); + while ($count > 0 && -f "$name$img_ext" && -z "$name$img_ext") { + unlink "$name$img_ext"; + $name=&mkname(--$count); + } + if ($count==0) { + if ($img_ext==".png") { + &sig_error("Your version of mplayer/ffmpeg may be broken","See http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2071"," ", \ + "You can work around this by switching to jpeg output in Preferences/Decoding."); + } + } + + # double check image size + $name=&mkname(1); + $imresact="none"; + &get_image_size("$name$img_ext"); + if ($panic||$hsize==-1) { + unlink $pidfile; + &sig_error; + } + } + + if (-f $audio_in) { + smog_rename( "$audio_in","$audio_out"); + $af_size = -s $audio_out; + } + + if ($img_ext eq ".png" || $type eq "png") { + $bpp=32; + } + + unless (0||$withsound ne "-1" || $achans==0) { + # try as best we can to sync sound and video for a selection + $audio_out=&clip_audio(0.3,1000000.); + if (!$panic) { + smog_rename( "$audio_out","audio"); + } + $audio_out="audio"; + } + + if ($count==0||$type eq "jpeg"||$type eq "png"||$type eq "Audio") { + # we could have audio or images + if (-f $audio_out) { + # just in case... + $type="Audio"; + } + if (! -d $curworkdir) { + #curworkdir can be removed by cancel + exit 1; + } + + if ($af_size>0||$count>0) { + &sig_complete($handle,$count,$type,$hsize,$vsize,$bpp,$fps,$f_size,$arate,$achans,$asamps,$signed,$endian,$af_size,$title,$author,$comment); + exit 0; + } + # should have audio then + if (!($type eq "Audio")) { + if (!defined($DEBUG_OPEN)&&$withsound>=0) { + print STDERR "\nFailed to open file - I tried:\n\n $syscom\n"; + if (!$is_mpv) { + print STDERR "\nMaybe you are missing a library in mplayer (or it is not a valid media file) ?\n"; + } + else { + print STDERR "\nMaybe you are missing a library in mpv (or it is not a valid media file) ?\n"; + } + } + if ($^O eq "MSWin32") { + &sig_error("This does not appear to be a valid video or image file","$GUI_NAME was unable to open it."," "); + } + else { + &sig_error("This does not appear to be a valid video or image file","$GUI_NAME was unable to open it.", \ + "","Check the terminal window for more details."); + } + } + } + + # mplayer seems to sometimes output one extra frame for jpg + if (defined($MPLAYER_EXTRA_OPEN_FRAME_BUG)&&($count==$xframes+1)&&(($frames eq "")||(!($frames eq "") && ($count<$ARGV[4])||($ARGV[3]==0)))) { + $name=&mkname($count); + unlink "$name$img_ext"; + $count--; + } + + unless ($frames eq "") { + $tfps=$fps; + if ($fps<1) { + $tfps=1; + } + if ($ARGV[3]>=(1/$tfps)) { + # if we opened a selection, mplayer wrongly outputs frame 1, + # so we usually need to delete it + + #TODO ** - check if this is still the case + + for ($i=2;$i<=$count;$i++) { + $from=&mkname($i); + $to=&mkname($i-1); + smog_rename( "$from$img_ext", "$to$img_ext"); + } + $count--; + } + } + + ## this is not accurate + #if ($fps==0.&&$length!=0) { + # $fps=$count/$length; + # } + + $af_size= -s $audio_out; + if (-d $curworkdir) { + &sig_complete($handle,$count,$type,$hsize,$vsize,$bpp,$fps,$f_size,$arate,$achans,$asamps,$signed,$endian,$af_size,$title,$author,$comment); + } + exit 0; + } + + if ($command eq "get_details") { + #attempt to get file details + $file=$ARGV[2]; + $only_first=1; + + $img_ext=".".$ARGV[3]; + + if (defined($ARGV[4])) { + $is_remote=$ARGV[4]; + } + if (defined($ARGV[5])) { + $is_audio=$ARGV[5]; + } + &get_file_info; + if ($panic) { + unlink "$pidfile"; + exit 1; + } + + if ($asamps==32) { + # cant handle this yet, so we will resample on open + $asamps=16; + } + + smog_chdir("$curworkdir"); + + &sig_complete($handle,$count,$type,$hsize,$vsize,$bpp,$fps,$f_size,$arate,$achans,$asamps,$signed,$endian,$af_size,$title,$author,$comment); + + exit 0; + } + + if ($command eq "open_tv_card") { + $chanstr=$ARGV[2]; + $devstr=$ARGV[3]; + $fifofile=$ARGV[4]; + + $inputstr=$sizestr=$fpsstr=$driverstr=$outfmt=""; + + if (defined($ARGV[5])) { + $inputstr=":input=$ARGV[5]"; + } + if (defined($ARGV[6])&&defined($ARGV[7])) { + if ($ARGV[6]>0&&$ARGV[7]>0) { + $sizestr=":width=$ARGV[6]:height=$ARGV[7]"; + } + } + + if (defined($ARGV[8])) { + if ($ARGV[8]>0.) { + $fpsstr=":fps=$ARGV[8]"; + } + } + + if (defined($ARGV[9])) { + if ($ARGV[9] ne "autodetect") { + $driverstr=":driver=$ARGV[9]"; + } + } + + if (defined($ARGV[10])) { + if ($ARGV[10] ne "autodetect") { + $outfmt=":outfmt=$ARGV[10]"; + } + } + + my $mp=&get_mplayer_location; + + ## note does not function with mpv since it cannot convert to yuv4mpeg (complains about missing pixel_fmt) + $com="$mp -really-quiet tv://$chanstr -tv device=$devstr$inputstr$driverstr$sizestr$outfmt$fpsstr -vo yuv4mpeg:file=$fifofile >$nulfile 2>&1 <$nulfile"; + $smerr=smog_system($com); + if ($smerr) { + sig_system_error("$com",$smerr); + unlink "$pidfile"; + exit 1; + } + exit 0; + } + + if ($command eq "open_fw_card") { + $cardno=$ARGV[2]; + $cache=$ARGV[3]; + $fifofile=$ARGV[4]; + my $mp=&get_mplayer_location; + ## note does not function with mpv since it cannot convert to yuv4mpeg (complains about missing pixel_fmt) + $com="dvgrab -s 0 -noavc -card $cardno -o - 2>$nulfile | $mp - -really-quiet -demuxer lavf -vo yuv4mpeg:file=$fifofile >$nulfile 2>&1"; + $smerr=smog_system("$com"); + if ($smerr) { + sig_system_error("$com",$smerr); + unlink "$pidfile"; + exit 1; + } + exit 0; + } + + if ($command eq "close") { + if (defined(open IN,"< $pidfile")) { + close IN; + # cancel any processing + if ($^O ne "MSWin32") { + smog_system("smogrify stopsubsub \"$handle\""); + } + } + if (chdir("$curworkdir")) { + unlink glob "* .* *.*"; + smog_chdir("$workdir"); + rmdir $curworkdir; + } + exit 0; + } + + if ($command eq "ext_save") { + shift(@ARGV); + $curworkdir="$workdir/$handle"; + $execname=$ARGV[1]; + shift(@ARGV); + + smog_chdir("$curworkdir"); + + $com="\"$execname\" encode @ARGV"; + $smerr=smog_system($com); + if ($smerr) { + sig_system_error("$com",$smerr); + unlink "$pidfile"; + exit 1; + } + &sig_complete; + exit 0; + + } + + if ($command eq "save") { + my $cmd=""; + + $get_rfx=0; + + if ($handle eq "get_rfx") { + $get_rfx=1; + shift(@ARGV); + $handle=$ARGV[1]; + + $curworkdir="$workdir/$handle"; + if ($^O eq "MSWin32") { + $statusfile="$curworkdir/status"; + $pidfile=$curworkdir."/pid"; + } + else { + $statusfile="$curworkdir/.status"; + $pidfile=$curworkdir."/.pid"; + } + + } + + unlink "$curworkdir/pause"; + smog_chdir("$curworkdir"); + + $plugin=$ARGV[2]; + + $fps=$ARGV[3]; + $nfile=$ARGV[4]; + + # check the file is writable + unless ($nfile eq ""||&is_writeable($nfile)) { + &sig_error("Unable to open output file !","$GUI_NAME could not write to $nfile."); + } + + $start=$ARGV[5]; + $is_linked=0; + + $linksdir="$curworkdir/lives-symlinks/"; + + if ($start==-1) { + # special value which tells us we are dealing with symlinks + $start=1; + $is_linked=1; + } + + $end=$ARGV[6]; + $arate=$ARGV[7]; + $achans=$ARGV[8]; + $asamps=$ARGV[9]; + if (defined($ARGV[10])) { + $ssigned=$ARGV[10]&1; #CAREFUL - this is reversed in LiVES (there unsigned==1, signed==0) + $aendian=$ARGV[10]&2; # value of 2 means bigendian + $aendian=!$aendian; #endian is revesed here (0 means bigend) + } + + else { + $ssigned=1; + if ($asamps==8) { + $ssigned=0; + } + $aendian=&get_endian; + } + + $sox_version=&get_sox_version; + + if ($sox_version < 14004001) { + if ($ssigned==1) { + $asigned="-s"; + } + else { + $asigned="-u"; + } + } + else { + if ($ssigned==1) { + $asigned="-e signed-integer"; + } + else { + $asigned="-e unsigned-integer"; + } + } + + if (defined($ARGV[11])) { + $aud_start=$ARGV[11]; + } + else { + $aud_start=($start-1.)/($fps*1.); + } + if (defined($ARGV[12])) { + $aud_end=$ARGV[12]; + } + else { + $aud_end=($end*1.)/($fps*1.); + } + + $img_ext=&get_img_ext($curworkdir,$start); + + # get image size ($hsize x $vsize) + $imresact="none"; + my $firstframe=&mkname($start); + + &get_image_size("$firstframe$img_ext"); + + if ($panic||$hsize==-1) { + unlink $pidfile; + exit 1; + } + $otype=&rc_get("output_type"); + + $encoder=&rc_get("encoder"); + + $DEBUG_ENCODERS=1; + + $audiofile=""; + + if ($get_rfx==0) { + unlink "audiodump.wav"; + + $areq=&get_form_request($plugin); + + #prepare audio stream if requested + if (-f "$curworkdir/audio" && $arate>0) { + $origaudio=$audiofile=$audio_in="$curworkdir/audio"; + if ($areq&1||$aud_start!=0.) { + # encode sound up to the next nearest second + # seems to be the norm... + $aud_length=($aud_end-$aud_start); + $aud_length=int($aud_length+1.0); + $aud_end=$aud_start+$aud_length; + + # clip the (raw) audio + + $audiofile=$audio_in=&clip_audio($aud_start,$aud_end); + if ($panic) { + unlink "$pidfile"; + exit 1; + } + + #pad to end with silence + $desired_length=$aud_length*$arate*$achans*$asamps/8; + &append_silence(0,$desired_length,$asamps,$achans,$ssigned,$aendian,$audiofile); + if ($panic) { + unlink "$pidfile"; + exit 1; + } + + if ($aud_start!=0.&&!($areq&1)) { + if (&rc_get("conserve_space") eq "true") { + unlink "$origaudio"; + } + else { + smog_rename( "$origaudio","$origaudio.origbak"); + } + smog_rename( "$curworkdir/$audiofile","$origaudio"); + $audio_file=$audio_in=$origaudio; + } + } + if ($areq&2) { + # convert raw audio to wav + $audio_out=$curworkdir . "/audiodump.wav"; + &convert_audio_to_wav; + if ($panic) { + unlink "$pidfile"; + exit 1; + } + unlink "$audio_in"; + $audiofile=$audio_out; + } + } + + if ($areq&4) { + if ($start>1) { + # move the selection down so that frames start at 1 + # note, LiVES never uses this any more, + # instead it first calls link_frames, and possibly sets $start to -1 + # (see above) + + if (-d $linksdir) { + smog_system("/bin/rm -rf \"$linksdir\""); + } + + $com="/bin/mkdir -p \"$linksdir\""; + $smerr=smog_system($com); + if ($smerr) { + sig_system_error("Creating directory \"$linksdir\"",$smerr); + unlink "$pidfile"; + exit 1; + }; + + if ($^O ne "MSWin32") { + $fstype=&get_fs_type($curworkdir); + } + + # need to make hard links, as some encoders complain about symbolic links + + for ($i=1;$i<=($end-$start+1);$i++) { + $name=&mkname($i); + $from=&mkname($i+$start-1); + if (-f "$curworkdir$from$img_ext") { + if ($^O eq "MSWin32") { + $smerr=smog_system ("cp.exe \"$curworkdir/$from$img_ext\" \"$linksdir$name$img_ext\""); + if ($smerr) { + sig_system_error("Copying \"$curworkdir/$from$img_ext\" to \"$linksdir$name$img_ext\"",$smerr); + unlink "$pidfile"; + exit 1; + } + } + else { + if ($fstype eq "vfat" || $fstype eq "fat32" || $fstype eq "msdos") { + $smerr=smog_system ("/bin/cp -f \"$curworkdir/$from$img_ext\" \"$linksdir$name$img_ext\""); + if ($smerr) { + sig_system_error("Copying \"$curworkdir/$from$img_ext\" from \"$linksdir$name$img_ext\"",$smerr); + unlink "$pidfile"; + exit 1; + } + } + else { + $smerr=smog_system ("/bin/ln \"$curworkdir/$from$img_ext\" \"$linksdir$name$img_ext\""); + if ($smerr) { + sig_system_error("Symlinking \"$curworkdir/$from$img_ext\" from \"$linksdir$name$img_ext\"",$smerr); + unlink "$pidfile"; + exit 1; + } + } + } + } + } + if (-f $audiofile) { + my $xaudiofile=(split(/\//,$audiofile))[-1]; + if (! -f "$linksdir$xaudiofile") { + if ($^O eq "MSWin32") { + $smerr=smog_system ("cp.exe \"$curworkdir/$audiofile\" \"$linksdir$xaudiofile\""); + if ($smerr) { + sig_system_error("Copying \"$curworkdir/$audiofile\" to \"$linksdir$xaudiofile\"",$smerr); + unlink "$pidfile"; + exit 1; + } + } + else { + if ($fstype eq "vfat" || $fstype eq "fat32" || $fstype eq "msdos") { + $smerr=smog_system("/bin/cp -f \"$curworkdir/$audiofile\" \"$linksdir$xaudiofile\""); + if ($smerr) { + sig_system_error("Copying \"$curworkdir/$audiofile\" from \"$linksdir$xaudiofile\"",$smerr); + unlink "$pidfile"; + exit 1; + } + } + else { + $smerr=smog_system("/bin/ln \"$curworkdir/$audiofile\" \"$linksdir$xaudiofile\""); + if ($smerr) { + sig_system_error("Symlinking \"$curworkdir/$audiofile\" from \"$linksdir$xaudiofile\"",$smerr); + unlink "$pidfile"; + exit 1; + } + } + } + } + } + $is_linked=1; + } + } + + if ($is_linked==1) { + smog_chdir("$linksdir"); + } + + } + + unless ($plugin eq "") { + $atype=&rc_get("encoder_acodec"); + $fields="$fps \"$nfile\" $start $end $img_ext $otype $atype $hsize $vsize"; + $fields.=" $DEBUG_ENCODERS"; + $fields.=" $arate $achans $asamps $ssigned"; + + if ($plugin =~ /multi_encoder$/) { + $extra_opts="-v"; + } + + if ($^O eq "MSWin32") { + # adjust depending on file ext + my $ext=&get_ext("$plugin"); + if ($ext eq ".py") { + $cmd="python"; + } + else { + $cmd="perl"; + } + if ($get_rfx==0) { + $fields.=@ARGV[13..$#ARGV]; + $com="$cmd \"$plugin\" $extra_opts encode $fields"; + + } + else { + $com="$cmd \"$plugin\" get_rfx $fields"; + } + } + else { + if ($get_rfx==0) { + $fields.=@ARGV[13..$#ARGV]; + $com="\"$plugin\" $extra_opts encode $fields"; + } + else { + $com="\"$plugin\" get_rfx $fields"; + } + } + + $smerr=smog_system("$com"); + + &sig_complete; + exit 0; + } + + if (-f ".comment") { + open IN,"< .comment"; + read IN,$string,1040; + close IN; + unlink ".comment"; + } + @tmp=split(/\|\|\%/,$string); + + $title=$tmp[0]; + $author=$tmp[1]; + $comment=$tmp[2]; + chomp($comment); + + if ($get_rfx==0) { + $command="encode"; + } + else { + $command="get_rfx"; + } + + return 1; + exit 0; # just in case + } + + if ($command eq "link_frames") { + unlink "$curworkdir/pause"; + smog_chdir("$curworkdir"); + + $start=$ARGV[2]; + $end=$ARGV[3]; + + $astart=$ARGV[4]; + $aend=$ARGV[5]; + + $arate=$ARGV[6]; + $achans=$ARGV[7]; + $asamps=$ARGV[8]; + $asigned=$ARGV[9]; + $aendian=$ARGV[10]; + + $from_handle=$ARGV[11]; + + my $i; + my $audiofile="audio"; + + if ($from_handle eq "") { + $linksdir="$curworkdir/lives-symlinks/"; + + if (-d $linksdir) { + if ($^O eq "MSWin32") { + smog_system("DEL /q \"$linksdir\""); + smog_system("RMDIR \"$linksdir\""); + } + else { + smog_system("/bin/rm -rf \"$linksdir\""); + } + } + + if ($^O eq "MSWin32") { + $com="mkdir.exe -p \"$linksdir\""; + } + else { + $com="/bin/mkdir /p \"$linksdir\""; + } + $smerr=smog_system($com); + if ($smerr) { + sig_system_error("Creating directory \"$linksdir\"",$smerr); + unlink "$pidfile"; + exit 1; + } + + } + else { + $linksdir=$curworkdir; + $handle=$from_handle; + $curworkdir="$workdir/$handle/"; + } + + # copy a slice of the audio file into our links dir + # this allows us to resample it + # and also aligns the start of audio with new frame 1 + + unless ($aend==0.) { + my $ocurworkdir=$curworkdir; + my $ofrom_handle=$from_handle; + my $ostart=$start; + my $oend=$end; + + $start=$astart; + $end=$aend; + $where=0.; + $from_handle=$handle; + $curworkdir=$linksdir; + + &insert_audio($asamps,$achans,$asigned,$aendian,0); + if ($panic) { + unlink "$pidfile"; + exit 1; + } + + $curworkdir=$ocurworkdir; + $from_handle=$ofrom_handle; + $start=$ostart; + $end=$oend; + + } + + $img_ext=&get_img_ext($curworkdir,$start); + + if ($^O ne "MSWin32") { + $fstype=&get_fs_type($curworkdir); + } + + for ($i=1;$i<=($end-$start+1);$i++) { + $name=&mkname($i); + $from=&mkname($i+$start-1); + if (-f "$curworkdir/$from$img_ext") { + if ($^O eq "MSWin32") { + $smerr=smog_system ("cp.exe \"$curworkdir/$from$img_ext\" \"$linksdir/$name$img_ext\""); + if ($smerr) { + sig_system_error("Copying \"$curworkdir/$from$img_ext\" to \"$linksdir/$name$img_ext\"",$smerr); + unlink "$pidfile"; + exit 1; + } + } + else { + if ($fstype eq "vfat" || $fstype eq "fat32" || $fstype eq "msdos") { + $smerr=smog_system ("/bin/cp -f \"$curworkdir/$from$img_ext\" \"$linksdir/$name$img_ext\""); + if ($smerr) { + sig_system_error("Copying \"$curworkdir/$from$img_ext\" to \"$linksdir/$name$img_ext\"",$smerr); + unlink "$pidfile"; + exit 1; + } + } + else { + $smerr=smog_system ("/bin/ln \"$curworkdir/$from$img_ext\" \"$linksdir/$name$img_ext\""); + if ($smerr) { + sig_system_error("Linking \"$curworkdir/$from$img_ext\" to \"$linksdir/$name$img_ext\"",$smerr); + unlink "$pidfile"; + exit 1; + } + } + } + + } + &sig_progress($i); + } + + unless ($from_handle eq "") { + $curworkdir=$linksdir; + } + + &sig_complete; + exit 0; + } + + if ($command eq "resize_all") { + unlink "$curworkdir/pause"; + smog_chdir("$curworkdir"); + $end=$ARGV[2]; + + my $iwidth=$ARGV[3]; + my $iheight=$ARGV[4]; + + $img_ext=".".$ARGV[5]; + $img_prefix=&get_img_prefix($img_ext); + + $resize_ext=".mgk"; + + $blankname="blank.jpg"; + + my $letterbox=0; + + if (defined($ARGV[6]) && $ARGV[6]>0) { + # letterboxen - next values are image-in-frame size + $letterbox=1; + $owidth=$iwidth; + $oheight=$iheight; + $iwidth=$ARGV[6]; + $iheight=$ARGV[7]; + $in_ext=$resize_ext; + $out_ext=$img_ext; + } + + &clean_old; + + if ($letterbox) { + # make a background frame + if (!defined($bgcolour)) { + $bgcolour="#000000"; + } + + $com="$smog_convert_command -size $owidth"."x$oheight\\! xc:$bgcolour $blankname >$nulfile 2>&1"; + $smerr=smog_system($com); + if ($smerr) { + sig_system_error("$com",$smerr); + unlink $blankname; + unlink "$pidfile"; + exit 1; + } + } + + for ($i=1;$i<=$end;$i++) { + $name=&mkname($i); + + smog_copy("$name$img_ext","$name.bak"); + if ($panic) { + if ($letterbox) { + try_to_recover($start,$i-1); + unlink $blankname; + } + if ($DEBUG_SMOGRIFY) { + print STDERR "smogrify debug - rename failed ($!): \"$curworkdir/$name$img_ext\",\"$curworkdir/$name.bak\"\n"; + } + sig_system_error("Renaming \"$curworkdir/$name$img_ext\" to \"$curworkdir/$name.bak\""); + + unlink "$pidfile"; + exit 1; + } + + if ($iwidth>0 && $iheight>0) { + &resize_frame($name,$iwidth,$iheight); + } + + if ($panic) { + if ($letterbox) { + try_to_recover($start,$i); + unlink $blankname; + } + unlink "$pidfile"; + exit 1; + } + + if ($letterbox) { + &letterbox_frame($name,abs($iwidth),abs($iheight),$owidth,$oheight); + } + + if ($panic) { + if ($letterbox) { + try_to_recover($start,$i); + unlink $blankname; + } + unlink "$pidfile"; + exit 1; + } + + &sig_progress($i); + } + + $start=1; + + unless ($letterbox) { + &mv_mgk; + if ($panic) { + unlink "$pidfile"; + exit 1; + } + } + else { + unlink $blankname; + } + + &sig_complete; + exit 0; + } + + if ($command eq "backup") { + $withaudio=$ARGV[2]; + $start=$ARGV[3]; + $end=$ARGV[4]; + + if ($withaudio==0) { + $audio=""; + } + else { + $audio="audio"; + } + + $nfile=$ARGV[5]; + + unlink "$curworkdir/pause"; + smog_chdir("$curworkdir"); + + # check the file is writable + unless (&is_writeable($nfile)) { + &sig_error("Unable to open output file !","$GUI_NAME could not write to $nfile."); + } + + unlink glob "*.tar"; + $com="tar --ignore-failed-read -cf header.tar \"$audio\" header* extended* event.* subs.* file* 2>$nulfile"; + smog_system ($com); + if ($smerr) { + sig_system_error("$com",$smerr); + unlink "$pidfile"; + exit 1; + } + + &sig_progress(0); + + $com="tar -cf temp.tar header.tar 2>.tar_err"; + $smerr=smog_system ($com); + if ($smerr) { + sig_system_error("$com",$smerr); + unlink "$pidfile"; + exit 1; + } + + $com="tar --exclude=*.bak --exclude=*.tar --exclude=./.* --exclude=*.mgk --exclude=*.tmp --exclude=audioclip* -rf temp.tar * 2>>.tar_err"; + $smerr=smog_system ($com); + if ($smerr) { + sig_system_error("$com",$smerr); + unlink "$pidfile"; + exit 1; + } + + if ($^O eq "MSWin32") { + $com="gzip.exe -S .lv1 temp.tar"; + } + else { + $com="gzip -S .lv1 temp.tar"; + } + + $smerr=smog_system ($com); + if ($smerr) { + sig_system_error("$com",$smerr); + unlink "$pidfile"; + exit 1; + } + + unlink "temp.tar"; + + smog_rename("temp.tar.lv1","$nfile"); + + unlink <header.tar 0*.tar>; + if (-f ".tar_err") { + open IN,"< .tar_err"; + read IN,$tarerr,255; + close IN; + unless ($tarerr eq "") { + &sig_error("Error creating new backup.",$tarerr); + unlink glob "*.tar .tar_err"; + unlink "$pidfile"; + exit 1; + } + } + $size=-s "$nfile"; + &sig_complete($size); + exit 0; + } + + if ($command eq "restore") { + $nfile=$ARGV[2]; + + smog_chdir("$curworkdir"); + + if ($^O ne "MSWin32") { + $com="tar -zxf \"$nfile\" 2>$nulfile"; + smog_system ($com); + + if ($smerr) { + sig_system_error("$com",$smerr); + unlink "$pidfile"; + exit 1; + } + } + else { + smog_copy("$nfile","$curworkdir\\temp.gz"); + if ($panic) { + unlink "$pidfile"; + exit 1; + } + $com="gzip.exe -d temp.gz"; + $smerr=smog_system ($com); + if ($smerr) { + sig_system_error("$com",$smerr); + unlink "$pidfile"; + exit 1; + } + $com="tar.exe -xf temp"; + $smerr=smog_system ($com); + if ($smerr) { + sig_system_error("$com",$smerr); + unlink "$pidfile"; + exit 1; + } + unlink "temp"; + } + + unless (-f "header.tar"||-f "header"||-f "header.lives") { + &sig_error("This does not appear to be a valid backup file","$GUI_NAME was unable to open it."); + } + + opendir DIR,$curworkdir; + while ($file=readdir(DIR)) { + if ($file =~ /.tar$/) { + smog_system("tar -xf $file 2>$nulfile"); + unlink "$file"; + } + } + close DIR; + + &sig_complete; + exit 0; + } + + if ($command eq "reorder") { + unlink "$curworkdir/pause"; + + $img_ext=".".$ARGV[2]; + $img_prefix=&get_img_prefix($img_ext); + + if (!defined($ARGV[3])) { + $endian=&get_endian; + } + else { + $endian=$ARGV[3]; + } + if (defined $ARGV[4]) { + $newwidth=$ARGV[4]; + } + if (defined $ARGV[5]) { + $newheight=$ARGV[5]; + } + if (defined $ARGV[6]) { + if ($ARGV[6]==1) { + $leave_bak=1; + } + } + if (defined $ARGV[7]) { + $old_end=$ARGV[7]; + } + + $letterbox=0; + + if (defined $ARGV[8] && $ARGV[8]!=0) { + #letterbox size + $letterbox=1; + $owidth=$newwidth; + $oheight=$newheight; + + $newwidth=$ARGV[8]; + $newheight=$ARGV[9]; + $in_ext=".mgk"; + $out_ext=$img_ext; + } + + $newframe=-1; + $event_file="$curworkdir/event.frames"; + $resize_ext=".tmp"; + smog_chdir("$curworkdir"); + + unless ($leave_bak==1) { + &clean_old; + } + + $blankname="blank.jpg"; + + if (defined(open IN,"< $event_file")) { + $fcount=1; + read IN,$val,4; + $pstart=&getint($val); + $count=$pstart; + + if ($letterbox&&!$leave_bak) { + # make a background frame + if (!defined($bgcolour)) { + $bgcolour="#000000"; + } + + $com="$smog_convert_command -size $owidth"."x$oheight\\! xc:$bgcolour $blankname>$nulfile 2>&1"; + $smerr=smog_system($com); + if ($smerr) { + sig_system_error("$com",$smerr); + unlink "$pidfile"; + exit 1; + } + } + + while ($newframe!=0) { + read IN,$val,4; + $newframe=&getint($val); + if ($newframe>0) { + $from=&mkname($newframe); + if (-f "$curworkdir/$from$img_ext") { + $to=&mkname($count); + + if ($newwidth > 0 && $newheight > 0) { + &resize_frame($from,$newwidth,$newheight); + if ($panic) { + if ($letterbox) { + try_to_recover($start,$i-1); + unlink $blankname; + } + unlink "$pidfile"; + exit 1; + } + + $smerr=rename "$curworkdir/$from$resize_ext","$curworkdir/$to.mgk"; + if (!$smerr) { + if ($letterbox) { + try_to_recover($start,$i); + unlink $blankname; + } + sig_system_error("Renaming \"$curworkdir/$from$resize_ext\" to \"$curworkdir/$to.mgk\"",$!); + unlink "$pidfile"; + exit 1; + } + } + else { + unless (($from eq $to) || $letterbox) { + smog_copy("$curworkdir/$from$img_ext", "$curworkdir/$to.mgk"); + if ($panic) { + unlink "$pidfile"; + exit 1; + } + } + } + + #now resized are in .mgk + if ($letterbox) { + if ($leave_bak) { + #letterboxing was done with resize + unless ($from eq $to) { + smog_copy("$curworkdir/$from$img_ext", "$curworkdir/$to$img_ext.2"); + if ($panic) { + try_to_recover($start,$i); + unlink "$pidfile"; + exit 1; + } + smog_copy("$curworkdir/$from.mgk", "$curworkdir/$to.mgk.2"); + if ($panic) { + try_to_recover($start,$i); + unlink "$pidfile"; + exit 1; + } + } + } + else { + smog_copy("$curworkdir/$to$img_ext", "$curworkdir/$to.bak"); + if ($panic) { + try_to_recover($start,$i-1); + unlink "$pidfile"; + unlink $blankname; + exit 1; + } + # make $to.mgk $to.img_ext + &letterbox_frame($to,abs($newwidth),abs($newheight),$owidth,$oheight); + + if ($panic) { + try_to_recover($start,$i-1); + unlink "$pidfile"; + unlink $blankname; + exit 1; + } + + #lb are in .img + } + + } + + } + $count++; + } + &sig_progress($fcount++); + } + close IN; + + if ($letterbox&&!$leave_bak) { + unlink $blankname; + } + + } + + else { + &sig_error; + } + + $start=$pstart; + $new_count=--$count; + $end=$count; + + unless ($letterbox) { + # mv mgk -> $img_ext + &mv_mgk; + if ($panic) { + unlink "$pidfile"; + exit 1; + } + } + + if ($letterbox&&$leave_bak) { + # because of potential ovewrite we made .mgk2 (resized/no letterbox) and $img_ext.2 (resized) + # now copy these + unless (!defined($pidfile)||$pidfile eq "") { + # don't want to get killed in this stage... + unlink "$pidfile"; + } + if ($smerr) { + sig_system_error("$com", $smerr); + unlink "$pidfile"; + exit 1; + } + for ($i = $start; $i <= $end; $i++) { + $name = &mkname($i); + if (-f "$curworkdir/$name.mgk.2") { + if (-f "$curworkdir/$name$img_ext.2") { + unlink "$curworkdir/$name$img_ext"; + $smerr = rename "$curworkdir/$name$img_ext.2", "$curworkdir/$name$img_ext"; + if (!$smerr) { + if ($letterbox) { + try_to_recover($start, $end); + } + sig_system_error("Renaming \"$curworkdir/$name$img_ext.2\" to \"$curworkdir/$name$img_ext\"", $!); + unlink "$pidfile"; + exit 1; + } + + } + unlink "$curworkdir/$name.mgk"; + $smerr = rename "$curworkdir/$name.mgk.2", "$curworkdir/$name.mgk"; + + if (!$smerr) { + if ($letterbox) { + try_to_recover($start, $end); + } + sig_system_error("Renaming \"$curworkdir/$name.mgk.2\" to \"$curworkdir/$name.mgk\"", $!); + unlink "$pidfile"; + exit 1; + } + } + } + } + + if ($end < $old_end) { + # remove excess frames + for ($i = $end + 1; $i <= $old_end; $i++) { + $name = &mkname($i); + if (-f "$curworkdir/$name$img_ext") { + unlink "$curworkdir/$name.bak"; + smog_rename("$curworkdir/$name$img_ext", "$curworkdir/$name.bak"); + } + } + &sig_progress($i); + } + + &sig_complete($new_count); + exit 0; + } + + if ($command eq "deorder") { + $curworkdir = "$workdir/$handle"; + $start = $ARGV[2]; + $end = $ARGV[3]; + $frames = $ARGV[4]; + $img_ext = ".".$ARGV[5]; + if (defined $ARGV[6]) { + $leave_bak = $ARGV[6]; + } else { + $leave_bak = 0; + } + + smog_chdir("$curworkdir"); + + $oend = $end; + + if ($end > $frames) { + $end = $frames; + } + + &undo(!$leave_bak); + # will abort on failure + + if ($frames < $oend) { + # frames were upsampled + for ($i = $frames + 1; $i <= $oend; $i++) { + $name = &mkname($i); + if (!$leave_bak) { + unlink "$curworkdir/$name$img_ext"; + } else { + smog_rename("$curworkdir/$name$img_ext", "$curworkdir/$name.mgk"); + } + } + } else { + # frames were downsampled + for ($i = $end + 1; $i <= $frames; $i++) { + $name = &mkname($i); + if (!$leave_bak) { + if (-f "$curworkdir/$name.bak") { + smog_rename("$curworkdir/$name.bak", "$curworkdir/$name$img_ext"); + } + } else { + smog_rename("$curworkdir/$name$img_ext", "$curworkdir/$name.mgk"); + } + } + } + + if (!$leave_bak) { + #remove .mgk files from undo + &clean_old; + } + + &sig_complete; + exit 0; + } + + if ($command eq "cut") { + unlink "$curworkdir/pause"; + &clean_old; + + $start = $ARGV[2]; + $end = $ARGV[3]; + $cut_audio = $ARGV[4]; + $frames = $ARGV[5]; + $img_ext = ".".$ARGV[6]; + &cut($start, $end); + + if ($cut_audio) { + $fps = $ARGV[7]; + $arate = $ARGV[8]; + $achans = $ARGV[9]; + $asamps = $ARGV[10]; + if ($arate*$asamps*$achans) { + $start = ($start - 1) / $fps; + $end = $end / $fps; + &cut_audio; + if ($panic) { + unlink "$pidfile"; + exit 1; + } + } + } + &sig_complete; + exit 0; + } + + if ($command eq "delete_all") { + $frames = $ARGV[2]; + if (! -d $curworkdir) { + &sig_complete; + exit 1; + } + smog_chdir("$curworkdir"); + unlink glob "* *.* .*"; + if ($GUI_NAME eq "LiVES") { + # LiVES needs this to stop the progress dialog from flickering + sleep(1); + } + &sig_complete; + exit 0; + } + + if ($command eq "reverse") { + unlink "$curworkdir/pause"; + $start = $ARGV[2]; + $end = $ARGV[3]; + $img_ext = ".".$ARGV[4]; + &reverse; + &sig_complete; + exit 0; + } + + if ($command eq "undo") { + unlink "$curworkdir/pause"; + + $start = $ARGV[2]; + $end = $ARGV[3]; + $img_ext = ".".$ARGV[4]; + &undo; + # will abort on failure + &sig_complete; + exit 0; + } + + if ($command eq "redo") { + unlink "$curworkdir/pause"; + + $start = $ARGV[2]; + $end = $ARGV[3]; + $img_ext = ".".$ARGV[4]; + + &mv_mgk(1); + if ($panic) { + unlink "$pidfile"; + exit 1; + } + &sig_complete; + exit 0; + } + + if ($command eq "fs_preview") { + $win = $ARGV[2]; + $hsize = $ARGV[3]; + $vsize = $ARGV[4]; + $start_time = $ARGV[5]; + $preview_frames = $ARGV[6]; + $file = $ARGV[7]; + $extra_params = $ARGV[8]; + $mplayer_command = &get_mplayer_location; + + if ($^O ne "MSWin32") { + $com = "\"$mplayer_command\" -quiet -wid $win -vo x11 -ss $start_time -frames $preview_frames \"$file\" $extra_params >$nulfile 2>&1 <$nulfile"; + } else { + $com = "\"$mplayer_command\" -quiet -wid $win -vo direct3d -ss $start_time -frames $preview_frames \"$file\" $extra_params >$nulfile 2>&1 <$nulfile"; + } + smog_system($com); + &sig_complete; + exit 0; + } + + if ($command eq "mv_mgk") { + unlink "$curworkdir/pause"; + $start = $ARGV[2]; + $end = $ARGV[3]; + $img_ext = ".".$ARGV[4]; + if (defined($ARGV[5])) { + $leave_bak = $ARGV[5]; + } + + &mv_mgk; + if ($panic) { + unlink "$pidfile"; + exit 1; + } + &sig_complete; + exit 0; + } + + if ($command eq "export_audio") { + $audio_start = $ARGV[2]; + $audio_end = $ARGV[3]; + $arate = $ARGV[4]; + $achans = $ARGV[5]; + $asamps = $ARGV[6]; + $asigned = $ARGV[7]; + $nrate = $ARGV[8]; + $nfile = $ARGV[9]; + + # check the file is writable + unless(&is_writeable($nfile)) { + &sig_error("Unable to open output file !", "$GUI_NAME could not write to $nfile."); + } + + $sox_version = &get_sox_version; + + if ($sox_version < 14004001) { + if ($asigned == 1) { + $asigned = "-s"; + } else { + $asigned = "-u"; + } + } else { + if ($asigned == 1) { + $asigned = "-e signed-integer"; + } else { + $asigned = "-e unsigned-integer"; + } + } + + if ($audio_end > 0.) { + $audio_in = &clip_audio($audio_start, $audio_end); + if ($panic) { + unlink "$pidfile"; + exit 1; + } + } else { + $audio_in = "$curworkdir/audio"; + } + + # convert raw audio to wav + $audio_out = $curworkdir . "/audiodump.wav"; + + &convert_audio_to_wav; + if ($panic) { + unlink "$pidfile"; + exit 1; + } + if ($audio_end > 0.) { + unlink "$audio_in"; + } + + smog_rename("$audio_out", "$nfile"); + if ($^O eq "MSWin32") { + smog_system("chmod.exe 644 \"$nfile\" >$nulfile 2>&1"); + } else { + smog_system("/bin/chmod 644 \"$nfile\" >$nulfile 2>&1"); + } + + &sig_complete; + exit 0; + } + + if ($command eq "recover_audio") { + $audio_in = "audiodump.pcm"; + + $audio_out = "audio"; + &convert_audio_to_raw; + if ($panic) { + unlink "$pidfile"; + exit 1; + } + unlink "$audio_in"; + + } + + if ($command eq "append_audio") { + # here we end up with (raw) 'audiodump', which will be renamed to 'audio' in commit_audio + $endian = &get_endian; + + $type = $ARGV[2]; + $nrate = $ARGV[3]; + $nchans = $ARGV[4]; + $nsamps = $ARGV[5]; + $nsigned = $ARGV[6]; + $nendian = $ARGV[7]; + $file = $ARGV[8]; + $audio_in = "audiodump.wav"; + + smog_chdir("$curworkdir"); + + $audiofile = "audio"; + + if ($type eq "mp3") { + &mp3_open; + } + elsif($type eq "ogg") { + &ogg_open; + } + elsif($type eq "wav") { + &wav_open; + } + else { + &othera_open; + } + + if ($panic) { + unlink "$pidfile"; + exit 1; + } + + smog_system_sync(); + + unless(-f $audio_in) { + &sig_error("$GUI_NAME was not able to open the file", "$file"); + } + + $audio_out = "audio.new"; + &convert_audio_to_raw; + if ($panic) { + unlink "$pidfile"; + exit 1; + } + unlink "$audio_in"; + + $audio_bak = "audio.bak"; + + # resample $audio_out (if required) + unless($arate == $nrate && $achans == $nchans && $asamps == $nsamps && $nsigned == $signed && $nendian == $endian) { + $audio_in = $audio_out; + #audio.new + $audio_out = $audio_bak; + #audio.bak + &resample_audio; + # audio.new -> audio.bak + if ($panic) { + unlink "$pidfile"; + exit 1; + } + + unlink "$audio_in"; + #audio.new + smog_rename("$audio_out", "$audio_in"); + #audio.bak -> audio.new + $audio_out = $audio_in; + #audio.new + } + + unless(&rc_get("conserve_space") eq "true") { + smog_rename("$audio_out", "keep_$audio_out"); + &backup_audio; + if ($panic) { + unlink "keep_$audio_out"; + unlink "$pidfile"; + exit 1; + } + smog_rename("keep_$audio_out", "$audio_out"); + } + + # cat audio audio.new -> audiodump + if ($^O eq "MSWin32") { + $smerr = smog_system("cat.exe \"$curworkdir/audio\" \"$audio_out\" > \"$curworkdir/audiodump\""); + } else { + $smerr = smog_system("/bin/cat \"$curworkdir/audio\" \"$audio_out\" > \"$curworkdir/audiodump\""); + } + + if ($smerr) { + sig_system_error("Creating \"$curworkdir\audiodump\"", $smerr); + unlink "$pidfile"; + exit 1; + } + + unlink "$audio_out"; + #audio.new + $fsize = -s "$curworkdir/audiodump"; + &sig_complete($fsize); + exit 0; + } + + if ($command eq "trim_audio") { + $audio_start = $ARGV[2]; + $audio_end = $ARGV[3]; + + $arate = $ARGV[4]; + $achans = $ARGV[5]; + $asamps = $ARGV[6]; + $asigned = $ARGV[7]; + $aendian = $ARGV[8]; + + smog_chdir("$curworkdir"); + + unless(&rc_get("conserve_space") eq "true") { + &backup_audio; + #audio -> audio.bak + if ($panic) { + unlink "$pidfile"; + exit 1; + } + } + + #trim audio to selection + + # $audio_from is the new clip ("audioclip") + $audio_from = &clip_audio($audio_start, $audio_end); + if ($panic) { + unlink "$pidfile"; + exit 1; + } + + $align = $achans*$asamps / 8; + $acsize = -s $audio_from; + $acsize /= $align*$arate; + + unlink "$audio_in"; + # audio_in is "audio" + + $where = $audio_start; + $end = $audio_end - $audio_start; + $start = 0; + + if ($end > $acsize) { + #the part we cliṕped may have been *shorter* than the selection + # need to check for this now, as we are more careful with reads and writes + $end = $acsize; + } + + # insert_audio will insert silence at start, and should recreate "audio" from "audioclip" ($audio_from) + + &insert_audio($asamps, $achans, $asigned, $aendian, 1); + if ($panic) { + unlink "$pidfile"; + exit 1; + $panic = 0; + } + + #append silence to pad to end + + &append_silence(0, &align($audio_end*$arate*$align), $asamps, $achans, $asigned, $aendian); + if ($panic) { + unlink "$pidfile"; + exit 1; + $panic = 0; + } + + &sig_complete; + exit 0; + } + + if ($command eq "delete_audio") { + $start = $ARGV[2]; + $end = $ARGV[3]; + $arate = $ARGV[4]; + $achans = $ARGV[5]; + $asamps = $ARGV[6]; + + &cut_audio; + if ($panic) { + unlink "$pidfile"; + exit 1; + } + + &sig_complete; + exit 0; + } + + if ($command eq "resample_audio") { + $arate = $ARGV[2]; + $achans = $ARGV[3]; + $asamps = $ARGV[4]; + $asigned = $ARGV[5]; + $aendian = $ARGV[6]; + + $nrate = $ARGV[7]; + $nchans = $ARGV[8]; + $nsamps = $ARGV[9]; + $nsigned = $ARGV[10]; + $nendian = $ARGV[11]; + $audio_in = "$curworkdir/audio.bak"; + $audio_out = "$curworkdir/audio"; + + if (defined($ARGV[12])) { + $stretch = $ARGV[12]; + $audio_in = "$curworkdir/audio.orig"; + } + + unlink "$audio_in"; + smog_rename("$audio_out", "$audio_in"); + # aborts on failuer + + smog_system_sync(); + + &resample_audio; + if ($panic) { + unlink "$pidfile"; + exit 1; + } + + if (&rc_get("conserve_space") eq "true" && (-s $audio_out)) { + unlink "$audio_in"; + } + + &sig_complete; + exit 0; + } + + if ($command eq "get_window_id") { + smog_system("xwininfo > \"$curworkdir/tmpinfo\""); + + smog_system("grep \"Window id:\" \"$curworkdir/tmpinfo\" > \"$curworkdir/tmpinfo2\""); + if (defined(open IN, "< $curworkdir/tmpinfo2")) { + read IN, $win_id, 128; + close IN; + } + @wid = split( / /, $win_id); + $win_id = hex($wid[3]); + chomp($win_id); + + smog_system("grep \"Width:\" \"$curworkdir/tmpinfo\" > \"$curworkdir/tmpinfo2\""); + if (defined(open IN, "< $curworkdir/tmpinfo2")) { + read IN, $width, 128; + close IN; + } + @widths = split( /Width: /, $width); + $width = $widths[1]; + chomp($width); + + smog_system("grep \"Height:\" \"$curworkdir/tmpinfo\" > \"$curworkdir/tmpinfo2\""); + if (defined(open IN, "< $curworkdir/tmpinfo2")) { + read IN, $height, 128; + close IN; + } + @heights = split( /Height: /, $height); + $height = $heights[1]; + chomp($height); + + smog_system("grep \"Depth:\" \"$curworkdir/tmpinfo\" > \"$curworkdir/tmpinfo2\""); + if (defined(open IN, "< $curworkdir/tmpinfo2")) { + read IN, $bpp, 128; + close IN; + } + @bpps = split( /Depth: /, $bpp); + $bpp = $bpps[1]; + chomp($bpp); + + smog_system("grep \"Visual:\" \"$curworkdir/tmpinfo\" > \"$curworkdir/tmpinfo2\""); + if (defined(open IN, "< $curworkdir/tmpinfo2")) { + read IN, $visual, 128; + close IN; + } + @visuals = split( /Visual: /, $visual); + $visual = $visuals[1]; + chomp($visual); + + unlink "$curworkdir/tmpinfo"; + unlink "$curworkdir/tmpinfo2"; + + &sig_complete($win_id, $width, $height, $bpp, $visual); + exit 0; + } + + if ($command eq "fill_and_redo_frames") { + # remove any gaps in the play images + unlink "$curworkdir/pause"; + $end = $ARGV[2]; + $width = $ARGV[3]; + $height = $ARGV[4]; + $img_ext = ".".$ARGV[5]; + $img_prefix = &get_img_prefix($img_ext); + $has_audio = 0; + $fps = $ARGV[6]; + $arate = $ARGV[7]; + $achans = $ARGV[8]; + $asamps = $ARGV[9]; + $asigned = $ARGV[10]; + $aendian = $ARGV[11]; + + if ($achans > 0) { + $has_audio = 1; + } + + &fill_and_redo_frames; + + if ($panic) { + unlink $pidfile; + exit 1; + } + + if ($has_audio) { + $aud_end = ($end / $fps)*$achans*$arate * ($asamps / 8); + $audio_in = "$curworkdir/audio"; + $audsize = -s $audio_in; + if ($audsize > $aud_end) { + $audio_out = &clip_audio(0., $end / $fps); + if ($panic) { + unlink "$pidfile"; + exit 1; + } + unlink "$audio_in"; + smog_rename("$audio_out", "$audio_in"); + } + elsif($audsize < $aud_end) { + $audio_out = "$curworkdir/audio.bak"; + smog_rename("$audio_in", "$audio_out"); + &append_silence(0, $aud_end - $audsize, $asamps, $achans, $asigned, $aendian, $audio_in); + if ($panic) { + unlink "$pidfile"; + exit 1; + } + if ($^O eq "MSWin32") { + smog_system("cat.exe \"$audio_out\">>\"$audio_in\""); + } else { + smog_system("/bin/cat \"$audio_out\">>\"$audio_in\""); + } + unlink "$audio_out"; + } + } + + &sig_complete; + exit 0; + } + + if ($command eq "commit_audio") { + # commit the audio file in either audiodump or audiodump.wav as new audio file + + $allow_nonex = 0; + if (defined $ARGV[2]) { + $allow_nonex = $ARGV[2]; + } + + smog_chdir("$curworkdir"); + $audio_out = "audio"; + $audio_bak = "audio.bak"; + + my $gotit = 0; + + $file = $audio_in = "audiodump.wav"; + + my $f_size = -s $audio_in; + if ($f_size > 0) { + # wav format + unless(&rc_get("conserve_space") eq "true") { + if (-f $audio_out) { + $smres = smog_rename("$audio_out", "$audio_bak"); + } else { + if ($^O eq "MSWin32") { + $smres = smog_system("touch.exe \"$audio_bak\""); + } else { + $smres = smog_system("touch \"$audio_bak\""); + } + if ($smres) { + sig_write_error("$audio_bak"); + unlink "$pidfile"; + exit 1; + } + } + } + $is_audio = TRUE; + &get_file_info; + if ($panic) { + unlink "$pidfile"; + exit 1; + } + &convert_audio_to_raw; + if ($panic) { + unlink "$pidfile"; + exit 1; + } + } else { + $audio_in = "audiodump"; + if (! -f $audio_in) { + $audio_in = "audiodump.pcm"; + } else { + $gotit = 1; + } + if ($gotit || -f $audio_in) { + # raw format + unless(&rc_get("conserve_space") eq "true") { + if (-f $audio_out) { + $smres = smog_rename("$audio_out", "$audio_bak"); + #aborts on failure + } else { + if ($^O eq "MSWin32") { + $smres = smog_system("touch.exe \"$audio_bak\""); + } else { + $smres = smog_system("touch \"$audio_bak\""); + } + if ($smres) { + sig_write_error("$audio_bak"); + unlink "$pidfile"; + exit 1; + } + } + } + smog_rename("$audio_in", "$audio_out"); + # dummy values, the GUI should know these + $arate = $achans = $asamps = 0; + $signed = $endian = 1; + } else { + unless($allow_nonex) { + &sig_error("$GUI_NAME audio error."); + } + } + } + unlink glob "audiodump.*"; + + $f_size = -s $audio_out; + &sig_complete($arate, $achans, $asamps, $signed, $endian, $f_size); + exit 0; + } + + if ($command eq "cancel_audio") { + # remove the audio file in audiodump/audiodump.wav + # plus any audio.new files (e.g. from append audio) + + smog_chdir("$curworkdir"); + unlink glob "audiodump* audio.new"; + + &sig_complete; + exit 0; + } + + if ($command eq "download_clip") { + my $url = $ARGV[2]; + my $dfile = $ARGV[3]; + + if ($url =~~ /youtube/ || $url =~ /youtu\.be/) { + # youtube-dl + + if (-f $dfile) { + unlink "$dfile"; + } + + if (-f $dfile) { + &sig_error; + exit 2; + } + + $com = "youtube-dl -o \"$dfile\" -f 43 -q --no-part \"$url\""; + + &sig_progress(1); + + $res = smog_system("$com"); + + if ($res || !(-f $dfile) || -z $dfile) { + if (-f $dfile) { + unlink "$dfile"; + } + + sig_system_error("$com", $res); + unlink "$pidfile"; + exit 1; + } + } + + &sig_complete; + exit 0; + } + + if ($command eq "cdopen") { + $cdda2wav_command = &location("cdda2wav"); + if ($cdda2wav_command eq "") { + $cdda2wav_command = &location("icedax"); + if ($cdda2wav_command eq "") { + &sig_error("cdda2wav or icedax is required for this function.", "Please install it first."); + } + } + + $cdplay_device = &rc_get("cdplay_device"); + if ($cdplay_device eq "") { + &sig_error("You must set the CD device first in Preferences."); + } + + $track = $ARGV[2]; + + $audiofile = $curworkdir."/audiodump.wav"; + if (-f $audiofile) { + unlink "$audiofile"; + } + + $com = "\"$cdda2wav_command\" -q -x -D \"$cdplay_device\" -t $track \"$audiofile\"| >$nulfile 2>&1"; + $smerr = smog_system($com); + if ($smerr) { + sig_system_error("$com", $smerr); + unlink "$pidfile"; + exit 1; + } + $f_size = -s $audiofile; + # the '-x' option will force these + $arate = 44100; + $achans = 2; + $asamps = 16; + $aendian = &get_endian; + $asigned = 1; + if ($asamps == 8) { + $asigned = 0; + } + &sig_complete($arate, $achans, $asamps, $asigned, $aendian, $f_size); + exit 0; + } + + if ($command eq "audioopen") { + # TODO - allow front end to specify rate/channels, etc. + + $file = $ARGV[2]; + + smog_chdir("$curworkdir"); + + $audio_in = "audiodump.wav"; + + $ext = &get_ext("$file"); + if ($ext eq ".mp3") { + &mp3_open; + } + elsif($ext eq ".ogg") { + &ogg_open; + } + elsif($ext eq ".wav") { + &wav_open; + } + else { + &othera_open; + } + + if ($panic) { + unlink "$pidfile"; + exit 1; + } + + &sig_complete($arate, $achans, $asamps, $asigned, $aendian, $f_size); + exit 0; + } + + if ($command eq "insert") { + # with_audio: 0, no audio, 1 video and audio, 2 ONLY audio + # for 0 and 1, start, end, where are in frames; for 2, start,end,where are in seconds + # with -ve arate means insert silence [with_audio should be 1 or 2] + # with -ve times means undo cut/delete [source is same clip dir] + + # with -ve end means "allow missing frames" (used for copying to clipboard) + + unlink "$curworkdir/pause"; + $img_ext = ".".$ARGV[2]; + $img_prefix = &get_img_prefix($img_ext); + $where = $ARGV[3]; + $start = $ARGV[4]; + $end = $ARGV[5]; + $from_handle = $ARGV[6]; + $with_audio = $ARGV[7]; + $num_frames = $ARGV[8]; + + $width = $ARGV[9]; + $height = $ARGV[10]; + $times = 1; + $undo_cut = 0; + + $new_frames = $num_frames; + + smog_chdir("$curworkdir"); + + $allow_missing = 0; + if ($end < 0) { + # insert (copy) from (virtual) clip into clipboard + $allow_missing = 1; + $end = -$end; + } + + if (defined($ARGV[17])) { + $times = $ARGV[17]; + if ($times < 0) { + # this indicates undoing a previous cut + $times = -$times; + $undo_cut = 1; + $new_frames = $num_frames + $end - $start + 1; + } else { + if ($start >= 0) { + &clean_old; + if ($with_audio) { + if (-f "audio") { + ## back this up here for undo + smog_rename("audio", "audio.bak"); + } + } + } else { + # $start < 0 tells us to leave backups alone + $start = -$start; + } + $antialias = &rc_get("antialias"); + } + } + + if ($with_audio < 2) { + if (!$undo_cut) { + if (!$allow_missing) { + $img_ext2 = &get_img_ext("$workdir/$from_handle", $start); + $img_prefix2 = &get_img_prefix($img_ext2); + } else { + $img_ext2 = $img_ext; + $img_prefix2 = $img_prefix; + } + } + + &insert; + + if ($panic) { + unlink "$pidfile"; + exit 1; + } + if ($allow_missing) { + &sig_progress($new_frames); + sleep(1); + } + } + + if ($with_audio) { + $fps = $ARGV[11]; + $arate = $ARGV[12]; + $achans = $ARGV[13]; + $asamps = $ARGV[14]; + $asigned = $ARGV[15]; + $aendian = $ARGV[16]; + + if ($arate*$achans*$asamps != 0) { + if (!$undo_cut) { + if ($with_audio < 2) { + $end /= $fps; + $start = ($start - 1.) / $fps; + $where /= $fps; + } + if (-f "audio.bak") { + smog_copy("audio.bak", "audio"); + } + if ($panic) { + unlink "$pidfile"; + exit 1; + } + smog_system_sync(); + } else { + $end = -s "$curworkdir/audio.bak"; + $end /= $arate*$achans*$asamps / 8; + $start = 0.; + if ($with_audio < 2) { + $where /= $fps; + } + } + + &insert_audio($asamps, $achans, $asigned, $aendian, $undo_cut); + if (&rc_get("conserve_space") eq "true") { + unlink "audio.bak"; + } + if ($panic) { + unlink "$pidfile"; + exit 1; + } + } + } + + if ($undo_cut) { + &clean_old; + } + + &sig_complete; + exit 0; + } + + if ($command eq "undo_insert") { + #clean up after an interrupted insert + $start = $ARGV[2]; + $end = $ARGV[3]; + $frames = $ARGV[4]; + $img_ext = ".".$ARGV[5]; + + # move extra frames back to end + smog_system_sync(); + &undo_insert; + + if (-f "$curworkdir/audio.bak") { + &undo_audio; + } + # will abort on failure + + &clean_old; + + &sig_complete; + exit 0; + } + + # effects + + if (substr($command, 0, 10) eq "pfxrender_") { + #fx preview + $fx_prev = 1; + $command = substr($command, 1); + $out_ext = ".pre"; + } + + if (substr($command, 0, 9) eq "fxrender_") { + smog_chdir("$curworkdir"); + unlink "$curworkdir/pause"; + $command = substr($command, 9); + $status = $ARGV[2]; + $start = $ARGV[3]; + $end = $ARGV[4]; + $nwidth = $width = $ARGV[5]; + $nheight = $height = $ARGV[6]; + + $img_ext = ".".$ARGV[7]; + $img_prefix = &get_img_prefix($img_ext); + splice(@ARGV, 7, 1); + + $convert_command = $smog_convert_command; + $composite_command = $smog_composite_command; + + # call render plugins in plugins/effects/rendered/$command + + unless(defined($fx_prev)) { + $out_ext = ".mgk"; + $out_prefix = $img_prefix; + &clean_old; + } + if ($status == 0) { + $plugin_name = "$command"; + } + elsif($status == 1) { + $plugin_dir = "$lives_home_dir/plugins/effects/rendered/custom"; + $plugin_name = "$plugin_dir/$command"; + } + else { + $plugin_dir = "$lives_home_dir/plugins/effects/rendered/test"; + $plugin_name = "$plugin_dir/$command"; + } + if ($^O eq "MSWin32") { + # adjust depending on file ext + my $ext = &get_ext("$plugin_name"); + if ($ext eq ".py") { + $cmd = "python"; + } else { + $cmd = "perl"; + } + $smcom = "$cmd \"$plugin_name\" get_description"; + } else { + $smcom = "\"$plugin_name\" get_description"; + } + $fx_desc = smog_system_direct($smcom); + if ($ ?) { + sig_system_error($smcom, $ ?); + unlink $pidfile; + exit 1; + } + $num_in_channels = (split( /\|/, $fx_desc))[3]; + + if ($num_in_channels == 0) { + # generators get the out_extension + $out_ext = $img_ext; + $out_prefix = &get_img_prefix($img_ext); + } + + if ($num_in_channels == 2) { + # transitions get some extra params + $img_ext2 = ".".$ARGV[7]; + $img_prefix2 = &get_img_prefix($img_ext2); + splice(@ARGV, 7, 1); + $start2 = $ARGV[7]; + $clipboard = $ARGV[8]; + } + + $fps = 0; + + if ($^O eq "MSWin32") { + # adjust depending on file ext + my $ext = &get_ext("$plugin_name"); + if ($ext eq ".py") { + $cmd = "python"; + } else { + $cmd = "perl"; + } + $fx_caps = smog_system_direct("$cmd \"$plugin_name\" get_capabilities"); + } else { + $fx_caps = smog_system_direct("\"$plugin_name\" get_capabilities"); + } + if ($ ?) { + sig_system_error($smcom, $ ?); + unlink $pidfile; + exit 1; + } + if ($fx_caps & 0x8000) { + # is autogenerated + # we are so nice :-), we set: + # $handle,$curworkdir,$img_ext,$start,$end,$width,$height + # and for transitions $where, $chandle + # remove fxrender $handle $status start end width height (start2 clipboard) + shift; + shift; + shift; + shift; + shift; + shift; + if ($num_in_channels == 2) { + shift; + shift; + } + + if ($^O eq "MSWin32") { + push @INC, "$plugin_dir"; + } + + $ARGV[0] = "process"; + if ($status > 1) { + $error = ""; + if ($^O eq "MSWin32") { + unless(eval "require (\"$command\")") { + $error = $@; + } + } else { + unless(eval "require (\"$plugin_name\")") { + $error = $@; + } + } + unless($error eq "") { + &sig_error("$plugin_name failed:", "$error"); + } + } else { + if ($^O eq "MSWin32") { + require("$command"); + } else { + require("$plugin_name"); + } + } + if ($num_in_channels > 0) { + unless(defined($fx_prev)) { + &mv_mgk; + if ($panic) { + unlink "$pidfile"; + exit 1; + } + } + } else { + $frames = &count_frames; + } + &sig_complete($nwidth, $nheight, $fps, $frames); + exit 0; + } else { + # other (non-perl) language + shift; + shift; + shift; + #remove "fxrender_.." and $handle $status + my($res_file) = "$curworkdir/.rfx_result"; + + my $err; + + #img_ext is also in ARGV, but never mind + + if ($num_in_channels == 2) { + if ($^O eq "MSWin32") { + # adjust depending on file ext + my $ext = &get_ext("$plugin_name"); + if ($ext eq ".py") { + $cmd = "python"; + } else { + $cmd = "perl"; + } + $err = smog_system("$cmd \"$plugin_name\" process \"$curworkdir\" $img_ext $img_ext2 $out_ext @ARGV > \"$res_file\""); + } else { + $err = smog_system("\"$plugin_name\" process \"$curworkdir\" $img_ext $img_ext2 $out_ext @ARGV > \"$res_file\""); + } + } + elsif($num_in_channels == 1) { + if ($^O eq "MSWin32") { + # adjust depending on file ext + my $ext = &get_ext("$plugin_name"); + if ($ext eq ".py") { + $cmd = "python"; + } else { + $cmd = "perl"; + } + $err = smog_system("$cmd \"$plugin_name\" process \"$curworkdir\" $img_ext $out_ext @ARGV > \"$res_file\""); + } else { + $err = smog_system("\"$plugin_name\" process \"$curworkdir\" $img_ext $out_ext @ARGV > \"$res_file\""); + } + } + else { + if ($^O eq "MSWin32") { + # adjust depending on file ext + my $ext = &get_ext("$plugin_name"); + if ($ext eq ".py") { + $cmd = "python"; + } else { + $cmd = "perl"; + } + $err = smog_system("$cmd \"$plugin_name\" process \"$curworkdir\" $out_ext @ARGV > \"$res_file\""); + } else { + $err = smog_system("\"$plugin_name\" process \"$curworkdir\" $out_ext @ARGV > \"$res_file\""); + } + } + if (!$err) { + if (defined(open IN, "< $res_file")) { + read IN, $size, 128; + ($nwidth, $nheight) = split(" ", $size); + close IN; + unlink "$res_file"; + } + } else { + my(@err) = ""; + if (defined(open IN, "< $res_file")) { + read IN, $errt, 512; + @err = split("\n", $errt); + close IN; + unlink "$res_file"; + } + &sig_error(@err); + exit 1; + } + unless(defined($fx_prev)) { + &mv_mgk; + if ($panic) { + unlink "$pidfile"; + exit 1; + } + } + &sig_complete($nwidth, $nheight); + exit 0; + } + } + + if ($command eq "import_project") { + $proj_file = $ARGV[2]; + smog_chdir("$workdir"); + umask 0; + $com = "tar --no-same-owner -xzf \"$proj_file\""; + $smerr = smog_system($com); + if ($smerr) { + sig_system_error("$com", $smerr); + unlink "$pidfile"; + exit 1; + } + &sig_complete; + exit 0; + } + + if ($command eq "export_project") { + my $set = $ARGV[2]; + my $proj_file = $ARGV[3]; + smog_chdir("$workdir"); + $com = "tar --exclude=*.bak --exclude=.pid* --exclude .status* --exclude=lock.* --exclude=*.mgk --exclude=*.tmp --exclude=audioclip* -czf \"$proj_file\" $set"; + $smerr = smog_system($com); + if ($smerr) { + sig_system_error("$com", $smerr); + unlink "$pidfile"; + exit 1; + }; + + &sig_complete; + exit 0; + } + + if ($command eq "bg_weed") { + my $opts = $ARGV[2]; + my $bytes_cleaned = &weed($opts); + &sig_complete($bytes_cleaned); + exit 0; + } + + if (!caller) { + print STDERR "smogrify: unrecognised command $command\n"; + unlink "$pidfile"; + exit 1; + } } - - - if ($command eq "import_project") { - $proj_file=$ARGV[2]; - smog_chdir("$workdir"); - umask 0; - $com="tar --no-same-owner -xzf \"$proj_file\""; - $smerr=smog_system($com); - if ($smerr) { - sig_system_error("$com",$smerr); - unlink "$pidfile"; - exit 1; - } - &sig_complete; - exit 0; - } - - if ($command eq "export_project") { - my $set=$ARGV[2]; - my $proj_file=$ARGV[3]; - smog_chdir("$workdir"); - $com="tar --exclude=*.bak --exclude=.pid* --exclude .status* --exclude=lock.* --exclude=*.mgk --exclude=*.tmp --exclude=audioclip* -czf \"$proj_file\" $set"; - $smerr=smog_system($com); - if ($smerr) { - sig_system_error("$com",$smerr); - unlink "$pidfile"; - exit 1; - }; - - - &sig_complete; - exit 0; - } - - if ($command eq "bg_weed") { - my $opts=$ARGV[2]; - my $bytes_cleaned=&weed($opts); - &sig_complete($bytes_cleaned); - exit 0; - } - - if (!caller) { - print STDERR "smogrify: unrecognised command $command\n"; - unlink "$pidfile"; - exit 1; - } -} -return 1; -exit 99; -# just in case + return 1; + exit 99; + # just in case } - - - - - ###################################################### #subroutines @@ -4348,12 +4192,14 @@ print STDERR "show usage...\n"; } + sub mkname { - my($num)=shift; - $ret=sprintf("%08d",$num); + my($num) = shift; + $ret = sprintf("%08d", $num); $ret; } + sub check_for_pause { if (-f "$curworkdir/pause") { smog_system_sync(); @@ -4365,7 +4211,7 @@ sub check_for_stop { - if (defined(open IN,"< $curworkdir/.status.fileop")) { + if (defined(open IN, "< $curworkdir/.status.fileop")) { close IN; return 1; } @@ -4373,9 +4219,8 @@ } - sub kill_child_pids { - my($target_pid,$sig)=@_; + my($target_pid, $sig) = @_; my $pid; smog_system("pgrep -P $target_pid > \"$workdir/.pids.$target_pid\" 2>/dev/null"); @@ -4383,7 +4228,7 @@ smog_system("kill -$sig $target_pid >/dev/null 2>&1"); } else { smog_system("pkill -$sig -P $target_pid"); -# must not ! >/dev/null 2>&1"); + # must not ! >/dev/null 2>&1"); } if (-s "$workdir/.pids.$target_pid"&&defined(open IN,"$workdir/.pids.$target_pid")) { @@ -4398,9 +4243,10 @@ unlink "$workdir/.pids.$target_pid"; } + sub is_writeable { -# see if is writable or creatable -# but do not actually create the file + # see if is writable or creatable + # but do not actually create the file my $file=shift; if (! -s $nfile) { unlink "$nfile"; @@ -4412,7 +4258,7 @@ $ret=smog_system("touch.exe \"$nfile\""); } else { - $ret=smog_system("touch \"$nfile\""); + $ret = smog_system("touch \"$nfile\""); } if ($ret) { return !$ret; @@ -4425,7 +4271,7 @@ umask $umask; } smog_system_sync(); - $ret=(-w "$nfile"); + $ret = (-w "$nfile"); if (!$exists) { unlink "$nfile"; } @@ -4433,16 +4279,15 @@ } - sub get_img_ext { - my $ckdir=shift; - my $imgno=shift; + my $ckdir = shift; + my $imgno = shift; if ($imgno eq "") { - $imgno=1; + $imgno = 1; } - my $tfile=&mkname($imgno); + my $tfile = &mkname($imgno); if (-f "$ckdir/$tfile.png") { return ".png"; @@ -4458,29 +4303,27 @@ sub get_img_prefix { - my $imgext=shift; + my $imgext = shift; if ($imgext eq ".png") { return "PNG32:"; } return ""; - } - sub try_to_recover { -#something failed badly during processing -# attempt to recover clip from backup images + #something failed badly during processing + # attempt to recover clip from backup images - my($smstart,$smend)=@_; + my($smstart, $smend) = @_; if ($DEBUG_SMOGRIFY) { print STDERR "Beginning clip recovery process for $curworkdir\n"; } - for ($i=$smstart; $i<=$smend; $i++) { + for ($i = $smstart; $i <= $smend; $i++) { $name &mkname($i); - smog_rename("$name.bak","$name$img_ext"); + smog_rename("$name.bak", "$name$img_ext"); } if ($DEBUG_SMOGRIFY) { print STDERR "Clip recovery process succeeded for $curworkdir\n"; @@ -4488,24 +4331,18 @@ } - - - - - sub mv_mgk { -# pass in first param as 1 to show progress of frames -# new files are .mgk files, back up old files to .bak + # pass in first param as 1 to show progress of frames + # new files are .mgk files, back up old files to .bak - my($option)=shift; - my($i,$name); + my($option) = shift; + my($i, $name); - unless(!defined($pidfile)||$pidfile eq "") { -# don't want to get killed in this stage... + unless(!defined($pidfile) || $pidfile eq "") { + # don't want to get killed in this stage... unlink "$pidfile"; } - for ($i=$start;$i<=$end;$i++) { $name=&mkname($i); if (-f "$curworkdir/$name.mgk") { @@ -4547,27 +4384,26 @@ } - sub mv_pre { -# new files are .pre files, back up old files to .bak + # new files are .pre files, back up old files to .bak my ($i,$name); unless (!defined($pidfile)||$pidfile eq "") { -# don't want to get killed in this stage... + # don't want to get killed in this stage... unlink "$pidfile"; } smog_chdir("$curworkdir"); unlink glob "*.mgk"; - for ($i=$start; $i<=$end; $i++) { - $name=&mkname($i); + for ($i = $start; $i <= $end; $i++) { + $name = &mkname($i); if (-f "$curworkdir/$name.pre") { if (-f "$curworkdir/$name$img_ext") { unlink "$curworkdir/$name.bak"; - $smerr=rename("$curworkdir/$name$img_ext","$curworkdir/$name.bak"); + $smerr = rename("$curworkdir/$name$img_ext", "$curworkdir/$name.bak"); if (!$smerr) { - try_to_recover($start,$i-1); + try_to_recover($start, $i - 1); if ($DEBUG_SMOGRIFY) { print STDERR "smogrify debug - rename failed ($!): \"$curworkdir/$name$img_ext\",\"$curworkdir/$name.bak\"\n"; } @@ -4576,9 +4412,9 @@ exit 1; } } - $smerr=rename "$curworkdir/$name.pre","$curworkdir/$name$img_ext"; + $smerr = rename "$curworkdir/$name.pre", "$curworkdir/$name$img_ext"; if (!$smerr) { - try_to_recover($start,$i); + try_to_recover($start, $i); if ($DEBUG_SMOGRIFY) { print STDERR "smogrify debug - rename failed ($!): \"$curworkdir/$name.pre\",\"$curworkdir/$name$img_ext\"\n"; } @@ -4594,21 +4430,21 @@ sub undo { -# recover .bak files; if param==0 or undefined, move current files to .mgk files - my($param)=shift; + # recover .bak files; if param==0 or undefined, move current files to .mgk files + my($param) = shift; if ($param eq "") { - $param=0; + $param = 0; } - my($i,$name); - for ($i=$start; $i<=$end; $i++) { - $name=&mkname($i); + my($i, $name); + for ($i = $start; $i <= $end; $i++) { + $name = &mkname($i); if (-f "$curworkdir/$name.bak") { - if ($param==0 && -f "$curworkdir/$name$img_ext") { -# file may not exist if we are undoing resample for example - smog_rename("$curworkdir/$name$img_ext","$curworkdir/$name.mgk"); + if ($param == 0 && -f "$curworkdir/$name$img_ext") { + # file may not exist if we are undoing resample for example + smog_rename("$curworkdir/$name$img_ext", "$curworkdir/$name.mgk"); } - smog_rename("$curworkdir/$name.bak","$curworkdir/$name$img_ext"); + smog_rename("$curworkdir/$name.bak", "$curworkdir/$name$img_ext"); } &sig_progress($i); } @@ -4618,20 +4454,20 @@ sub undo_audio { if (-f "$curworkdir/audio.orig") { unlink "$curworkdir/audio"; - smog_rename("$curworkdir/audio.orig","$curworkdir/audio"); + smog_rename("$curworkdir/audio.orig", "$curworkdir/audio"); unlink "$curworkdir/audio.bak"; } else { unlink "$curworkdir/audio.new"; if (-f "$curworkdir/audio") { - smog_rename("$curworkdir/audio","$curworkdir/audio.new"); + smog_rename("$curworkdir/audio", "$curworkdir/audio.new"); } if (-f "$curworkdir/audio.bak") { unlink "$curworkdir/audio"; - smog_rename("$curworkdir/audio.bak","$curworkdir/audio"); + smog_rename("$curworkdir/audio.bak", "$curworkdir/audio"); } if (-f "$curworkdir/audio.new") { unlink "$curworkdir/audio.bak"; - smog_rename("$curworkdir/audio.new","$curworkdir/audio.bak"); + smog_rename("$curworkdir/audio.new", "$curworkdir/audio.bak"); } } } @@ -4640,102 +4476,97 @@ sub backup_audio { &clean_old; smog_copy("$curworkdir/audio", "$curworkdir/audio.bak"); -# may set $panic + # may set $panic } + sub cut { - my($start,$end)=@_; - my($i,$name); + my($start, $end) = @_; + my($i, $name); smog_chdir("$curworkdir"); - $frames_cut=$end-$start+1; + $frames_cut = $end - $start + 1; - for ($i=$start; $i<=$end; $i++) { - $name=&mkname($i); + for ($i = $start; $i <= $end; $i++) { + $name = &mkname($i); if (-f "$name$img_ext") { - smog_rename("$name$img_ext","$name.bak"); + smog_rename("$name$img_ext", "$name.bak"); } &sig_progress($i); } - for ($i=$end+1; $i<=$frames; $i++) { - $from=&mkname($i); - $to=&mkname($i-$frames_cut); + for ($i = $end + 1; $i <= $frames; $i++) { + $from = &mkname($i); + $to = &mkname($i - $frames_cut); if (-f "$curworkdir/$from$img_ext") { - smog_rename("$curworkdir/$from$img_ext","$curworkdir/$to$img_ext"); + smog_rename("$curworkdir/$from$img_ext", "$curworkdir/$to$img_ext"); } &sig_progress($i); } } - - sub reverse { - for ($i=$start; $i<int(($start+$end)/2+.5); $i++) { - $from=&mkname($i); - $to=&mkname($end-$i+1); - $hasfrom=-f "$curworkdir/$from$img_ext"; - $hasto=-f "$curworkdir/$to$img_ext"; + for ($i = $start; $i < int(($start + $end) / 2 + .5); $i++) { + $from = &mkname($i); + $to = &mkname($end - $i + 1); + $hasfrom = -f "$curworkdir/$from$img_ext"; + $hasto = -f "$curworkdir/$to$img_ext"; if ($hasfrom) { if ($hasto) { - smog_rename("$curworkdir/$from$img_ext","$curworkdir/$from.revtemp"); - smog_rename("$curworkdir/$to$img_ext","$curworkdir/$from$img_ext"); + smog_rename("$curworkdir/$from$img_ext", "$curworkdir/$from.revtemp"); + smog_rename("$curworkdir/$to$img_ext", "$curworkdir/$from$img_ext"); } - &sig_progress($start+($i-$start)*2); + &sig_progress($start + ($i - $start) * 2); if ($hasto) { - smog_rename("$curworkdir/$from.revtemp","$curworkdir/$to$img_ext"); + smog_rename("$curworkdir/$from.revtemp", "$curworkdir/$to$img_ext"); } else { - smog_rename("$curworkdir/$from$img_ext","$curworkdir/$to$img_ext"); + smog_rename("$curworkdir/$from$img_ext", "$curworkdir/$to$img_ext"); } } else { - &sig_progress($start+($i-$start)*2); + &sig_progress($start + ($i - $start) * 2); if ($hasto) { - smog_rename("$curworkdir/$to$img_ext","$curworkdir/$from$img_ext"); + smog_rename("$curworkdir/$to$img_ext", "$curworkdir/$from$img_ext"); } } - &sig_progress($start+($i-$start)*2+1); + &sig_progress($start + ($i - $start) * 2 + 1); } } - sub undo_insert { - $frames_inserted=$end-$start+1; + $frames_inserted = $end - $start + 1; - if ($start<=$frames) { -## insert was BEFORE + if ($start <= $frames) { + ## insert was BEFORE -## $frames is orig frames -## we inserted $frames_inserted from start to end + ## $frames is orig frames + ## we inserted $frames_inserted from start to end - for ($i=$end+1; $i<=$frames+$frames_inserted; $i++) { -# move any shifted frames back - $name=&mkname($i); - $to=&mkname($i-$frames_inserted); + for ($i = $end + 1; $i <= $frames + $frames_inserted; $i++) { + # move any shifted frames back + $name = &mkname($i); + $to = &mkname($i - $frames_inserted); if (-f "$curworkdir/$name$img_ext") { unlink "$curworkdir/$to$img_ext"; - smog_rename("$curworkdir/$name$img_ext","$curworkdir/$to$img_ext"); + smog_rename("$curworkdir/$name$img_ext", "$curworkdir/$to$img_ext"); } } - for ($i=$frames+1; $i<=$end; $i++) { - $name=&mkname($i); + for ($i = $frames + 1; $i <= $end; $i++) { + $name = &mkname($i); unlink "$curworkdir/$name$img_ext"; } - } else { -## insert was AFTER, remove excess frames - for ($i=$frames+1; $i<=$frames+$frames_inserted; $i++) { - $name=&mkname($i); + ## insert was AFTER, remove excess frames + for ($i = $frames + 1; $i <= $frames + $frames_inserted; $i++) { + $name = &mkname($i); unlink "$curworkdir/$name$img_ext"; } } - } - sub smog_system_sync { smog_system("sync"); smog_system("sync"); @@ -4743,13 +4574,11 @@ } - - sub smog_system { - my($smcommand)=@_; + my($smcommand) = @_; my $smcomret; - $smcomret=system($smcommand); + $smcomret = system($smcommand); if ($smcomret && $DEBUG_SMOGRIFY) { print STDERR "smogrify debug: $smcommand\n"; @@ -4757,17 +4586,16 @@ } $smcomret; - } sub smog_system_direct { - my($smcommand)=@_; + my($smcommand) = @_; my $smcomret; - $smcomret=`$smcommand`; + $smcomret = `$smcommand`; - if ($DEBUG_SMOGRIFY && $? != 0) { + if ($DEBUG_SMOGRIFY && $ ? != 0) { print STDERR "smogrify debug: command was $smcommand\n"; print STDERR "smogrify debug: result was $smcomret\n"; print STDERR "smogrify debug: error was $?\n"; @@ -4777,128 +4605,125 @@ } - sub smog_rename { -# CAUTION: return value of 0 is error here + # CAUTION: return value of 0 is error here - my($smfrom,$smto)=@_; - my $smcomret=rename "$smfrom","$smto"; + my($smfrom, $smto) = @_; + my $smcomret = rename "$smfrom", "$smto"; - if ($smcomret==0) { + if ($smcomret == 0) { if ($DEBUG_SMOGRIFY) { print STDERR "smogrify debug - rename failed ($!): $smfrom $smto\n"; } - sig_system_error("Renaming \"$smfrom\" to \"$smto\"",$!); + sig_system_error("Renaming \"$smfrom\" to \"$smto\"", $!); unlink "$pidfile"; exit 1; } $smcomret; - } - sub smog_copy { - my($smfrom,$smto)=@_; + my($smfrom, $smto) = @_; my $smcomret; if ($^O eq "MSWin32") { - $smcomret=system("cp.exe -f \"$smfrom\" \"$smto\""); + $smcomret = system("cp.exe -f \"$smfrom\" \"$smto\""); } else { - $smcomret=system("/bin/cp -f \"$smfrom\" \"$smto\""); + $smcomret = system("/bin/cp -f \"$smfrom\" \"$smto\""); } - if ($smcomret!=0 && -f $smfrom) { + if ($smcomret != 0 && -f $smfrom) { if ($DEBUG_SMOGRIFY) { print STDERR "smogrify debug - copy failed ($!): $smfrom $smto\n"; } - $panic=sig_system_error("Copying $smcomret \"$smfrom\" to \"$smto\"",$!); + $panic = sig_system_error("Copying $smcomret \"$smfrom\" to \"$smto\"", $!); } $smcomret; - } sub smog_chdir { -# CAUTION: return value of 0 is error here + # CAUTION: return value of 0 is error here - my($smdir)=shift; + my($smdir) = shift; - $smcomret=chdir "$smdir"; + $smcomret = chdir "$smdir"; if (!$smcomret) { if ($DEBUG_SMOGRIFY) { print STDERR "smogrify debug - chdir failed ($!): $smdir\n"; } - sig_system_error("Changing to directory \"$smdir\"",$!); + sig_system_error("Changing to directory \"$smdir\"", $!); unlink "$pidfile"; exit 1; } } -sub insert { - my($from,$to,$frames_to_move); - $times_inserted=0; - $factor=1; - my($nend)=$end; - my($nstart)=$start; - my($nwhere)=$where; - my($nfromdir)=$fromdir; +sub insert { + my($from, $to, $frames_to_move); + $times_inserted = 0; + $factor = 1; + + my($nend) = $end; + my($nstart) = $start; + my($nwhere) = $where; + my($nfromdir) = $fromdir; - my $quick_copy=-1; + my $quick_copy = -1; if (!defined($times)) { - $times=1; + $times = 1; } if (!defined($undo_cut)) { - $undo_cut=0; + $undo_cut = 0; } if (!defined($img_prefix2)) { - $img_prefix2=&get_img_prefix($img_ext2); + $img_prefix2 = &get_img_prefix($img_ext2); } if (!defined($img_prefix)) { - $img_prefix=&get_img_prefix($img_ext); + $img_prefix = &get_img_prefix($img_ext); } - $fromdir="$workdir/$from_handle"; - $frames_to_move=($nend-$nstart+1) *$times; + $fromdir = "$workdir/$from_handle"; + $frames_to_move = ($nend - $nstart + 1) *$times; -# make space for new frames - for ($i=$num_frames; $i>$nwhere; $i--) { - $from=&mkname($i); - $to=&mkname($i+$frames_to_move); + # make space for new frames + for ($i = $num_frames; $i > $nwhere; $i--) { + $from = &mkname($i); + $to = &mkname($i + $frames_to_move); if (-f "$curworkdir/$from$img_ext") { - smog_rename("$curworkdir/$from$img_ext","$curworkdir/$to$img_ext"); + smog_rename("$curworkdir/$from$img_ext", "$curworkdir/$to$img_ext"); } - &sig_progress($new_frames-$i); + &sig_progress($new_frames - $i); } - $resize_ext=$img_ext; + $resize_ext = $img_ext; if (!defined($antialias)) { - $antialias="false"; + $antialias = "false"; } -#move from $from_handle - $j=$start; - while ($times_inserted<$times) { - for ($i=$nstart; $i<=$nend; $i++) { - $from=&mkname($i); - $to=&mkname($nwhere+$i-$nstart+1); + #move from $from_handle + $j = $start; + while ($times_inserted < $times) { + for ($i = $nstart; $i <= $nend; $i++) { + $from = &mkname($i); + $to = &mkname($nwhere + $i - $nstart + 1); - if ($undo_cut==1) { + if ($undo_cut == 1) { if (-f "$fromdir/$from.bak") { - smog_rename("$fromdir/$from.bak","$curworkdir/$to$img_ext"); + smog_rename("$fromdir/$from.bak", "$curworkdir/$to$img_ext"); return if $panic; - } - } else { - if (! -f "$fromdir/$from$img_ext2") { + } + } else { + if (! -f "$fromdir/$from$img_ext2") { next if ($allow_missing); while (! -f "$fromdir/$from$img_ext2") { print STDERR "waiting on image $fromdir/$from$img_ext2\n"; @@ -4906,43 +4731,43 @@ smog_system_sync(); } } - if ($quick_copy==-1) { - $quick_copy=0; + if ($quick_copy == -1) { + $quick_copy = 0; if ($img_ext eq $img_ext2) { - if ($height*$width==0) { - $quick_copy=1; + if ($height*$width == 0) { + $quick_copy = 1; } else { - $imresact="none"; + $imresact = "none"; &get_image_size("$fromdir/$from$img_ext2"); return if $panic; - if ($hsize==$width&&$vsize==$height) { - $quick_copy=1; + if ($hsize == $width && $vsize == $height) { + $quick_copy = 1; } } } } - if ($quick_copy==1) { - smog_copy("$fromdir/$from$img_ext2","$curworkdir/$to$img_ext"); + if ($quick_copy == 1) { + smog_copy("$fromdir/$from$img_ext2", "$curworkdir/$to$img_ext"); return if $panic; - } else { - if ($antialias eq "false") { - $com="$smog_convert_command +antialias -size $width"."x$height $img_prefix2\"$fromdir/$from$img_ext2\" -scale $width" - ."x$height\\! $img_prefix\"$curworkdir/$to$img_ext\" >$nulfile 2>&1"; - $smerr=smog_system($com); + } else { + if ($antialias eq "false") { + $com = "$smog_convert_command +antialias -size $width"."x$height $img_prefix2\"$fromdir/$from$img_ext2\" -scale $width" + ."x$height\\! $img_prefix\"$curworkdir/$to$img_ext\" >$nulfile 2>&1"; + $smerr = smog_system($com); if ($smerr) { - sig_system_error("$com",$smerr); - $panic=1; + sig_system_error("$com", $smerr); + $panic = 1; return; } } else { - $com="$smog_convert_command -antialias -size $width"."x$height $img_prefix2\"$fromdir/$from$img_ext2\" -scale $width" - ."x$height\\! $img_prefix\"$curworkdir/$to$img_ext\" >$nulfile 2>&1"; - $smerr=smog_system($com); + $com = "$smog_convert_command -antialias -size $width"."x$height $img_prefix2\"$fromdir/$from$img_ext2\" -scale $width" + ."x$height\\! $img_prefix\"$curworkdir/$to$img_ext\" >$nulfile 2>&1"; + $smerr = smog_system($com); if ($smerr) { - sig_system_error("$com",$smerr); - $panic=1; + sig_system_error("$com", $smerr); + $panic = 1; return; } } @@ -4950,326 +4775,312 @@ } - &sig_progress(int($new_frames-$where+$j++-$start+1)); + &sig_progress(int($new_frames - $where + $j++ -$start + 1)); } - $times_inserted+=$factor; - $inserted=$nend-$nstart+1; + $times_inserted += $factor; + $inserted = $nend - $nstart + 1; - if ($times_inserted==2) { - $nend=$nwhere; - $nstart=$nwhere-$inserted+1; - $fromdir=$curworkdir; + if ($times_inserted == 2) { + $nend = $nwhere; + $nstart = $nwhere - $inserted + 1; + $fromdir = $curworkdir; } - $nwhere+=$inserted; + $nwhere += $inserted; - if ($times_inserted>1) { - $nend+=$inserted; - $factor*=2; + if ($times_inserted > 1) { + $nend += $inserted; + $factor *= 2; } - while ($times>$times_inserted&&$factor>$times-$times_inserted) { - $nstart+=($nend-$nstart+1)/2; - $factor/=2; + while ($times > $times_inserted && $factor > $times - $times_inserted) { + $nstart += ($nend - $nstart + 1) / 2; + $factor /= 2; } } } - sub resize_frame { - my($name,$width,$height)=@_; + my($name, $width, $height) = @_; if (!defined($input_ext)) { - $input_ext=$img_ext; + $input_ext = $img_ext; } if (!defined($antialias)) { - $antialias="false"; + $antialias = "false"; } if (!defined($input_prefix)) { - $input_prefix=&get_img_prefix($input_ext); + $input_prefix = &get_img_prefix($input_ext); } if (!defined($resize_prefix)) { - $resize_prefix=&get_img_prefix($resize_ext); + $resize_prefix = &get_img_prefix($resize_ext); } -# TODO **** !!! provide alternate if imagemagick is not available + # TODO **** !!! provide alternate if imagemagick is not available if ($antialias eq "false") { - $com="$smog_convert_command +antialias -size $width"."x$height $input_prefix\"$name$input_ext\" -scale $width" - ."x$height\\! $resize_prefix\"$name$resize_ext\" >$nulfile 2>&1"; + $com = "$smog_convert_command +antialias -size $width"."x$height $input_prefix\"$name$input_ext\" -scale $width" + ."x$height\\! $resize_prefix\"$name$resize_ext\" >$nulfile 2>&1"; } else { - $com="$smog_convert_command -size $width"."x$height $input_prefix\"$name$input_ext\" -resize $width" - ."x$height\\! $resize_prefix\"$name$resize_ext\" >$nulfile 2>&1"; + $com = "$smog_convert_command -size $width"."x$height $input_prefix\"$name$input_ext\" -resize $width" + ."x$height\\! $resize_prefix\"$name$resize_ext\" >$nulfile 2>&1"; } - $smerr=smog_system($com); + $smerr = smog_system($com); if ($smerr) { - sig_system_error("$com",$smerr); - $panic=1; + sig_system_error("$com", $smerr); + $panic = 1; } } - sub letterbox_frame { - my($name,$iwidth,$iheight,$owidth,$oheight)=@_; + my($name, $iwidth, $iheight, $owidth, $oheight) = @_; -# frame is at size $iwidth x $iheight (if known, or 0) -# from name is $name$input_ext, to name is $name$output_ext -# center overlay frame in black rect size $owidth x $oheight + # frame is at size $iwidth x $iheight (if known, or 0) + # from name is $name$input_ext, to name is $name$output_ext + # center overlay frame in black rect size $owidth x $oheight -# TODO **** !!! provide alternate if imagemagick is not available + # TODO **** !!! provide alternate if imagemagick is not available - my $from="$name$in_ext"; - my $to="$name$out_ext"; + my $from = "$name$in_ext"; + my $to = "$name$out_ext"; -# overlay frame - $xstart=int(($owidth-$iwidth)/2); - $ystart=int(($oheight-$iheight)/2); + # overlay frame + $xstart = int(($owidth - $iwidth) / 2); + $ystart = int(($oheight - $iheight) / 2); -#must unlink first in case $to is a symlink (when saving selection) + #must unlink first in case $to is a symlink (when saving selection) unlink "$to"; - $com="$smog_composite_command -compose plus -dissolve 100 -geometry $iwidth" - ."x$iheight\\!+$xstart\\!+$ystart\\! \"$from\" $blankname \"$to\" >$nulfile 2>&1"; - $smerr=smog_system($com); + $com = "$smog_composite_command -compose plus -dissolve 100 -geometry $iwidth" + ."x$iheight\\!+$xstart\\!+$ystart\\! \"$from\" $blankname \"$to\" >$nulfile 2>&1"; + $smerr = smog_system($com); if ($smerr) { - sig_system_error("$com",$smerr); - $panic=1; + sig_system_error("$com", $smerr); + $panic = 1; return; } - } - sub zoom_frame { - my($name,$centre_x,$centre_y,$width,$height,$rscale)=@_; -# zoom into a frame + my($name, $centre_x, $centre_y, $width, $height, $rscale) = @_; + # zoom into a frame -# first we will crop the frame to just slightly larger than -# our target, then we will resize, then do an exact crop + # first we will crop the frame to just slightly larger than + # our target, then we will resize, then do an exact crop -# TODO - if we expand an edge a lot, our final crop needs -# adjusting + # TODO - if we expand an edge a lot, our final crop needs + # adjusting if (!defined($antialias)) { - $antialias="false"; + $antialias = "false"; } if (!defined($input_ext)) { - $input_ext=$img_ext; + $input_ext = $img_ext; } if (!defined($input_prefix)) { - $input_prefix=&get_img_prefix($input_ext); + $input_prefix = &get_img_prefix($input_ext); } if (!defined($resize_prefix)) { - $resize_prefix=&get_img_prefix($resize_ext); + $resize_prefix = &get_img_prefix($resize_ext); } - my($left)=int($centre_x-($width/(2.*$rscale)))-1; - my($top)=int($centre_y-($height/(2.*$rscale)))-1; - my($right)=int($centre_x+($width/(2.*$rscale)))+1; - my($bottom)=int($centre_y+($height/(2.*$rscale)))+1; + my($left) = int($centre_x - ($width / (2.*$rscale))) - 1; + my($top) = int($centre_y - ($height / (2.*$rscale))) - 1; + my($right) = int($centre_x + ($width / (2.*$rscale))) + 1; + my($bottom) = int($centre_y + ($height / (2.*$rscale))) + 1; - if ($left<0) { - $right-=$left; - $left=0; + if ($left < 0) { + $right -= $left; + $left = 0; } - if ($top<0) { - $bottom-=$top; - $top=0; + if ($top < 0) { + $bottom -= $top; + $top = 0; } - if ($right>=$width) { - $left-=$right-$width+1; - if ($left<0) { - $left=0; + if ($right >= $width) { + $left -= $right - $width + 1; + if ($left < 0) { + $left = 0; } - $right=$width-1; + $right = $width - 1; } - if ($bottom>=$height) { - $top-=$bottom-$height+1; - if ($top<0) { - $top=0; + if ($bottom >= $height) { + $top -= $bottom - $height + 1; + if ($top < 0) { + $top = 0; } - $bottom=$height-1; + $bottom = $height - 1; } - my($nwidth)=$right-$left+1; - my($nheight)=$bottom-$top+1; + my($nwidth) = $right - $left + 1; + my($nheight) = $bottom - $top + 1; if ($antialias eq "false") { - $com="$smog_convert_command -antialias -size $width"."x$height $input_prefix\"$name$input_ext\" -crop $nwidth" - ."x$nheight\\!+$left\\!+$top\\! -resize $width"."x$height\\! $resize_prefix\"$name$resize_ext\" >$nulfile 2>&1"; + $com = "$smog_convert_command -antialias -size $width"."x$height $input_prefix\"$name$input_ext\" -crop $nwidth" + ."x$nheight\\!+$left\\!+$top\\! -resize $width"."x$height\\! $resize_prefix\"$name$resize_ext\" >$nulfile 2>&1"; } else { - $com="$smog_convert_command +antialias -size $width"."x$height $input_prefix\"$name$input_ext\" -crop $nwidth" - ."x$nheight\\!+$left\\!+$top\\! -resize $width"."x$height\\! $resize_prefix\"$name$resize_ext\" >$nulfile 2>&1"; + $com = "$smog_convert_command +antialias -size $width"."x$height $input_prefix\"$name$input_ext\" -crop $nwidth" + ."x$nheight\\!+$left\\!+$top\\! -resize $width"."x$height\\! $resize_prefix\"$name$resize_ext\" >$nulfile 2>&1"; } - $smerror=smog_system($com); + $smerror = smog_system($com); if ($smerror) { - sig_system_error("$com",$smerror); - $panic=1; + sig_system_error("$com", $smerror); + $panic = 1; } - } - sub trim_frame { - my($name,$width,$height,$x,$y,$nwidth,$nheight)=@_; + my($name, $width, $height, $x, $y, $nwidth, $nheight) = @_; if (!defined($input_ext)) { - $input_ext=$img_ext; + $input_ext = $img_ext; } if (!defined($input_prefix)) { - $input_prefix=&get_img_prefix($input_ext); + $input_prefix = &get_img_prefix($input_ext); } if (!defined($resize_prefix)) { - $resize_prefix=&get_img_prefix($resize_ext); + $resize_prefix = &get_img_prefix($resize_ext); } if (!defined($antialias)) { - $antialias="false"; + $antialias = "false"; } if ($antialias eq "false") { - $com="$smog_convert_command +antialias -size $width"."x$height $input_prefix\"$name$input_ext\" -crop $nwidth" - ."x$nheight\\!+$x\\!+$y\\! $resize_prefix\"$name$resize_ext\" >$nulfile 2>&1"; + $com = "$smog_convert_command +antialias -size $width"."x$height $input_prefix\"$name$input_ext\" -crop $nwidth" + ."x$nheight\\!+$x\\!+$y\\! $resize_prefix\"$name$resize_ext\" >$nulfile 2>&1"; } else { - $com="$smog_convert_command -antialias -size $width"."x$height $input_prefix\"$name$input_ext\" -crop $nwidth" - ."x$nheight\\!+$x\\!+$y\\! $resize_prefix\"$name$resize_ext\" >$nulfile 2>&1"; + $com = "$smog_convert_command -antialias -size $width"."x$height $input_prefix\"$name$input_ext\" -crop $nwidth" + ."x$nheight\\!+$x\\!+$y\\! $resize_prefix\"$name$resize_ext\" >$nulfile 2>&1"; } - $smerror=smog_system($com); + $smerror = smog_system($com); if ($smerror) { - sig_system_error("$com",$smerror); - $panic=1; + sig_system_error("$com", $smerror); + $panic = 1; } - - } sub trim_center { - my($name,$width,$height)=@_; + my($name, $width, $height) = @_; if (!defined($input_ext)) { - $input_ext=$img_ext; + $input_ext = $img_ext; } - $imresact="none"; + $imresact = "none"; &get_image_size("$name$input_ext"); - return if ($panic||$hsize==-1); + return if ($panic || $hsize == -1); if (!defined($input_prefix)) { - $input_prefix=&get_img_prefix($input_ext); + $input_prefix = &get_img_prefix($input_ext); } if (!defined($resize_prefix)) { - $resize_prefix=&get_img_prefix($resize_ext); + $resize_prefix = &get_img_prefix($resize_ext); } - unless($hsize>=$width &&$vsize>=$height) { -#composite over a large enough frame - $size=$hsize; - if ($vsize>$size) { - $size=$vsize; + unless($hsize >= $width &&$vsize >= $height) { + #composite over a large enough frame + $size = $hsize; + if ($vsize > $size) { + $size = $vsize; } - $xstart=int(($size-$hsize)/2); - $ystart=int(($size-$vsize)/2); + $xstart = int(($size - $hsize) / 2); + $ystart = int(($size - $vsize) / 2); -# make a background frame + # make a background frame if (!defined($bgcolour)) { - $bgcolour="#000000"; + $bgcolour = "#000000"; } - $com="$smog_convert_command -size $sizex$size\\! xc:$bgcolour $input_prefix"."blank$input_ext >$nulfile 2>&1"; + $com = "$smog_convert_command -size $sizex$size\\! xc:$bgcolour $input_prefix"."blank$input_ext >$nulfile 2>&1"; - $smerror=smog_system($com); + $smerror = smog_system($com); if ($smerror) { - sig_system_error("$com",$smerror); - $panic=1; + sig_system_error("$com", $smerror); + $panic = 1; return; } - $com="$smog_composite_command -compose plus -dissolve 100 -geometry $hsizex$vsize\\!+$xstart\\!+$ystart\\! " - ."$input_prefix\"$name$input_ext\" $input_prefix"."blank$input_ext $input_prefix\"$name$input_ext\" >$nulfile 2>&1"; + $com = "$smog_composite_command -compose plus -dissolve 100 -geometry $hsizex$vsize\\!+$xstart\\!+$ystart\\! " + ."$input_prefix\"$name$input_ext\" $input_prefix"."blank$input_ext $input_prefix\"$name$input_ext\" >$nulfile 2>&1"; - $smerror=smog_system($com); + $smerror = smog_system($com); if ($smerror) { - sig_system_error("$com",$smerror); - $panic=1; + sig_system_error("$com", $smerror); + $panic = 1; return; } - $hsize=$vsize=$size; + $hsize = $vsize = $size; } - $x=int(($hsize-$width)/2); - $y=int(($vsize-$height)/2); + $x = int(($hsize - $width) / 2); + $y = int(($vsize - $height) / 2); - $com="$smog_convert_command $input_prefix\"$name$input_ext\" -crop $width" . "x" . $height . "\\!+" . $x . "\\! + " . $y . "\\! " - ."$resize_prefix\"$name$resize_ext\" >$nulfile 2>&1"; + $com = "$smog_convert_command $input_prefix\"$name$input_ext\" -crop $width" . "x" . $height . "\\!+" . $x . "\\! + " . $y . "\\! " + ."$resize_prefix\"$name$resize_ext\" >$nulfile 2>&1"; - $smerror=smog_system($com); + $smerror = smog_system($com); if ($smerror) { - sig_system_error("$com",$smerror); - $panic=1; + sig_system_error("$com", $smerror); + $panic = 1; return; } - } - sub get_formats { - if (!defined($sox_version)) { - $sox_version=&get_sox_version; + $sox_version = &get_sox_version; } - if ($asamps==8) { - $format=16; - $signed=0; + if ($asamps == 8) { + $format = 16; + $signed = 0; if ($sox_version < 14004001) { - $xsigned="-u"; + $xsigned = "-u"; } else { - $xsigned="-e unsigned-integer"; + $xsigned = "-e unsigned-integer"; } } else { - $signed=1; + $signed = 1; if ($sox_version < 14004001) { - $xsigned="-s"; + $xsigned = "-s"; } else { - $xsigned="-e signed-integer"; + $xsigned = "-e signed-integer"; } - if ($endian==1) { -# little - $format=128; + if ($endian == 1) { + # little + $format = 128; } else { -# big - $format=256; + # big + $format = 256; } } } - - - sub get_mpv_info { -## we will set the following if possible: -# $count, $bpp, $type, $hsize, $vsize, $signed, $f_size, $arate, $achans, $asamps, $endian, $abitrate -# $length, $id_vid_form, $id_aud_form -# $comment, $title, $author + ## we will set the following if possible: + # $count, $bpp, $type, $hsize, $vsize, $signed, $f_size, $arate, $achans, $asamps, $endian, $abitrate + # $length, $id_vid_form, $id_aud_form + # $comment, $title, $author - my @allprops=split("\n", - "filename + my @allprops = split("\n", + "filename path stream-start stream-end @@ -5303,186 +5114,182 @@ sub"); - - my $propstr=""; + my $propstr = ""; foreach my $line(@allprops) { $line =~ s/^\s+//; - $propstr.="XDATA:$line=\\\${=$line}\n"; + $propstr.= "XDATA:$line=\\\${=$line}\n"; } - if (defined($is_remote)&&($is_remote>0)) { - $com=$mplay_command.' --term-playing-msg="'.$propstr.'" --vo=null --ao=null --frames=1 --quiet --cache=32 --no-config "' - .$file.'">'.$file_ident.' 2>'.$nulfile; + if (defined($is_remote) && ($is_remote > 0)) { + $com = $mplay_command.' --term-playing-msg="'.$propstr.'" --vo=null --ao=null --frames=1 --quiet --cache=32 --no-config "' + .$file.'">'.$file_ident.' 2>'.$nulfile; } else { - $com=$mplay_command.' --term-playing-msg="'.$propstr.'" --vo=null --ao=null --frames=1 --quiet --no-cache --no-config "' - .$file.'">'.$file_ident.' 2>'.$nulfile; + $com = $mplay_command.' --term-playing-msg="'.$propstr.'" --vo=null --ao=null --frames=1 --quiet --no-cache --no-config "' + .$file.'">'.$file_ident.' 2>'.$nulfile; } - $smerr=smog_system($com); + $smerr = smog_system($com); if ($smerr) { - sig_system_error("$com",$smerr); - $panic=1; + sig_system_error("$com", $smerr); + $panic = 1; return; } if (-f $file_ident) { - $length=smog_system_direct("grep XDATA:length \"$file_ident\" 2>$nulfile"); - $length=(split("=",(split("\n",$length))[0]))[1]; + $length = smog_system_direct("grep XDATA:length \"$file_ident\" 2>$nulfile"); + $length = (split("=", (split("\n", $length))[0]))[1]; chomp($length); } if (-f $file_ident) { - $id_vid_form=smog_system_direct("grep XDATA:video-format \"$file_ident\" 2>$nulfile"); - $id_vid_form=(split("=",(split("\n",$id_vid_form))[0]))[1]; + $id_vid_form = smog_system_direct("grep XDATA:video-format \"$file_ident\" 2>$nulfile"); + $id_vid_form = (split("=", (split("\n", $id_vid_form))[0]))[1]; chomp($id_vid_form); } if (-f $file_ident) { - $id_vid_form=smog_system_direct("grep XDATA:video-format \"$file_ident\" 2>$nulfile"); - $id_vid_form=(split("=",(split("\n",$id_vid_form))[0]))[1]; + $id_vid_form = smog_system_direct("grep XDATA:video-format \"$file_ident\" 2>$nulfile"); + $id_vid_form = (split("=", (split("\n", $id_vid_form))[0]))[1]; chomp($id_vid_form); } - if (!-f $file_ident) { + if (! -f $file_ident) { return; } if ($id_vid_form eq "") { if (!($id_aud_form eq "")) { - $id_vid_form="Audio"; + $id_vid_form = "Audio"; } } - $type=$id_vid_form; + $type = $id_vid_form; if (! -f $file_ident) { return; }; - $hsize=smog_system_direct("grep XDATA:width \"$file_ident\" 2>$nulfile"); - $hsize=(split("=",(split("\n",$hsize))[0]))[1]; + $hsize = smog_system_direct("grep XDATA:width \"$file_ident\" 2>$nulfile"); + $hsize = (split("=", (split("\n", $hsize))[0]))[1]; chomp($hsize); if (! -f $file_ident) { return; }; - $vsize=smog_system_direct("grep XDATA:height \"$file_ident\" 2>$nulfile"); - $vsize=(split("=",(split("\n",$vsize))[0]))[1]; + $vsize = smog_system_direct("grep XDATA:height \"$file_ident\" 2>$nulfile"); + $vsize = (split("=", (split("\n", $vsize))[0]))[1]; chomp($vsize); if (! -f $file_ident) { return; }; - $fps=smog_system_direct("grep XDATA:fps \"$file_ident\" 2>$nulfile"); - $fps=(split("=",(split("\n",$fps))[0]))[1]; + $fps = smog_system_direct("grep XDATA:fps \"$file_ident\" 2>$nulfile"); + $fps = (split("=", (split("\n", $fps))[0]))[1]; chomp($fps); if (! -f $file_ident) { return; }; - $arate=smog_system_direct("grep XDATA:audio-samplerate \"$file_ident\" 2>$nulfile"); - $arate=(split("=",(split("\n",$arate))[0]))[1]; + $arate = smog_system_direct("grep XDATA:audio-samplerate \"$file_ident\" 2>$nulfile"); + $arate = (split("=", (split("\n", $arate))[0]))[1]; chomp($arate); if (! -f $file_ident) { return; }; - $achans=smog_system_direct("grep XDATA:audio-channels \"$file_ident\" 2>$nulfile"); - $achans=(split("=",(split("\n",$achans))[0]))[1]; + $achans = smog_system_direct("grep XDATA:audio-channels \"$file_ident\" 2>$nulfile"); + $achans = (split("=", (split("\n", $achans))[0]))[1]; chomp($achans); if (! -f $file_ident) { return; }; - $abitrate=smog_system_direct("grep XDATA:audio-bitrate \"$file_ident\" 2>$nulfile"); - $abitrate=(split("=",(split("\n",$abitrate))[0]))[1]; + $abitrate = smog_system_direct("grep XDATA:audio-bitrate \"$file_ident\" 2>$nulfile"); + $abitrate = (split("=", (split("\n", $abitrate))[0]))[1]; chomp($abitrate); -## as of 0.9.2 cannot get asamps, endian, frames, author, title, comment - $count=int($fps*$length); + ## as of 0.9.2 cannot get asamps, endian, frames, author, title, comment + $count = int($fps*$length); - $asamps=16; -## cannot get this from mpv (guess) - $endian=&get_endian; -## (guess) + $asamps = 16; + ## cannot get this from mpv (guess) + $endian = &get_endian; + ## (guess) $author = $title = $comment = ""; - } sub get_mplayer_info { -## we will set the following if possible: -# $count, $bpp, $type, $hsize, $vsize, $signed, $f_size, $arate, $achans, $asamps, $endian, $abitrate -# $length, $id_vid_form, $id_aud_form -# $comment, $title, $author - - if (defined($is_remote)&&($is_remote>0)) { -# remote files might be streams, so we need to cache a bit before we can identify them - $com="$mplay_command -identify -vo null -ao null -frames 0 -cache 32 \"$file\" > $file_ident 2>$nulfile <$nulfile"; + ## we will set the following if possible: + # $count, $bpp, $type, $hsize, $vsize, $signed, $f_size, $arate, $achans, $asamps, $endian, $abitrate + # $length, $id_vid_form, $id_aud_form + # $comment, $title, $author + + if (defined($is_remote) && ($is_remote > 0)) { + # remote files might be streams, so we need to cache a bit before we can identify them + $com = "$mplay_command -identify -vo null -ao null -frames 0 -cache 32 \"$file\" > $file_ident 2>$nulfile <$nulfile"; } else { - $com="$mplay_command -identify -vo null -ao null -frames 0 \"$file\" > $file_ident 2>$nulfile <$nulfile"; + $com = "$mplay_command -identify -vo null -ao null -frames 0 \"$file\" > $file_ident 2>$nulfile <$nulfile"; } - $smerr=smog_system($com); + $smerr = smog_system($com); if ($smerr) { - sig_system_error("$com",$smerr); - $panic=1; + sig_system_error("$com", $smerr); + $panic = 1; return; } if (-f $file_ident) { - - $length=smog_system_direct("grep ID_LENGTH \"$file_ident\" 2>$nulfile"); - $length=(split("=",(split("\n",$length))[0]))[1]; + $length = smog_system_direct("grep ID_LENGTH \"$file_ident\" 2>$nulfile"); + $length = (split("=", (split("\n", $length))[0]))[1]; chomp($length); - if ($length eq "0" &&!(defined($is_remote)&&($is_remote>0))) { - $com="$mplay_command -demuxer lavf -identify -vo null -ao null -frames 0 \"$file\" > $file_ident 2>$nulfile <$nulfile"; + if ($length eq "0" && !(defined($is_remote) && ($is_remote > 0))) { + $com = "$mplay_command -demuxer lavf -identify -vo null -ao null -frames 0 \"$file\" > $file_ident 2>$nulfile <$nulfile"; - $smerr=smog_system($com); + $smerr = smog_system($com); if ($smerr) { - sig_system_error("$com",$smerr); - $panic=1; + sig_system_error("$com", $smerr); + $panic = 1; return; } } } if (-f $file_ident) { - $id_vid_form=smog_system_direct("grep ID_VIDEO_CODEC \"$file_ident\" 2>$nulfile"); - $id_vid_form=(split("=",(split("\n",$id_vid_form))[0]))[1]; + $id_vid_form = smog_system_direct("grep ID_VIDEO_CODEC \"$file_ident\" 2>$nulfile"); + $id_vid_form = (split("=", (split("\n", $id_vid_form))[0]))[1]; chomp($id_vid_form); if ($id_vid_form eq "") { - $id_vid_form=smog_system_direct("grep ID_VIDEO_FORMAT \"$file_ident\" 2>$nulfile"); - $id_vid_form=(split("=",(split("\n",$id_vid_form))[0]))[1]; + $id_vid_form = smog_system_direct("grep ID_VIDEO_FORMAT \"$file_ident\" 2>$nulfile"); + $id_vid_form = (split("=", (split("\n", $id_vid_form))[0]))[1]; chomp($id_vid_form); } if ($id_vid_form eq "") { - $id_vid_form=smog_system_direct("grep VIDEO: \"$file_ident\" 2>$nulfile"); - $id_vid_form=(split(" ",(split("\n",$id_vid_form))[0]))[1]; + $id_vid_form = smog_system_direct("grep VIDEO: \"$file_ident\" 2>$nulfile"); + $id_vid_form = (split(" ", (split("\n", $id_vid_form))[0]))[1]; chomp($id_vid_form); } - if (! -f $file_ident) { return; } - $id_aud_form=smog_system_direct("grep ID_AUDIO_FORMAT \"$file_ident\" 2>$nulfile"); - $id_aud_form=(split("=",(split("\n",$id_aud_form))[0]))[1]; + $id_aud_form = smog_system_direct("grep ID_AUDIO_FORMAT \"$file_ident\" 2>$nulfile"); + $id_aud_form = (split("=", (split("\n", $id_aud_form))[0]))[1]; chomp($id_aud_form); if ($id_aud_form eq "") { - $id_aud_form=smog_system_direct("grep AUDIO: \"$file_ident\" 2>$nulfile"); - $id_aud_form=(split(" ",(split("\n",$id_aud_form))[0]))[1]; + $id_aud_form = smog_system_direct("grep AUDIO: \"$file_ident\" 2>$nulfile"); + $id_aud_form = (split(" ", (split("\n", $id_aud_form))[0]))[1]; chomp($id_aud_form); } @@ -5492,213 +5299,214 @@ if ($id_vid_form eq "") { if (!($id_aud_form eq "")) { - $id_vid_form="Audio"; + $id_vid_form = "Audio"; } } unless($id_vid_form eq "") { -# this could probably be done better using regexp... - $type=$id_vid_form; + # this could probably be done better using regexp... + $type = $id_vid_form; if (! -f $file_ident) { return; } - $asamps=smog_system_direct("grep AUDIO: \"$file_ident\" 2>$nulfile"); - $asamps=(split(" ",$asamps))[5]; + $asamps = smog_system_direct("grep AUDIO: \"$file_ident\" 2>$nulfile"); + $asamps = (split(" ", $asamps))[5]; chomp($asamps); if ($asamps =~ /^f/) { - $asamps=32; - $signed=1; + $asamps = 32; + $signed = 1; } elsif($asamps =~ /^s/) { - $asamps=substr($asamps,1,-1); - $signed=1; + $asamps = substr($asamps, 1, -1); + $signed = 1; } elsif($asamps =~ /^u/) { - $asamps=substr($asamps,1,-1); - $signed=0; + $asamps = substr($asamps, 1, -1); + $signed = 0; } - $audend=substr($asamps,-2,2); + $audend = substr($asamps, -2, 2); if ($audend eq "le") { -# le - $endian=1; + # le + $endian = 1; } elsif($audend eq "be") { - $endian=0; + $endian = 0; } if (! -f $file_ident) { return; }; - $bpp=smog_system_direct("grep VIDEO: \"$file_ident\" 2>$nulfile"); - $bpp=(split("bpp",(split(" ",$bpp))[3]))[0]; + $bpp = smog_system_direct("grep VIDEO: \"$file_ident\" 2>$nulfile"); + $bpp = (split("bpp", (split(" ", $bpp))[3]))[0]; chomp($bpp); if (! -f $file_ident) { return; }; if ($bpp eq "") { - $bpp=smog_system_direct("grep \"Image size:\" \"$file_ident\" 2>$nulfile"); - @tmp=split(" ",$bpp); - $bpp=substr($tmp[5],1,2); + $bpp = smog_system_direct("grep \"Image size:\" \"$file_ident\" 2>$nulfile"); + @tmp = split(" ", $bpp); + $bpp = substr($tmp[5], 1, 2); } if (! -f $file_ident) { return; }; - $hsize=smog_system_direct("grep ID_VIDEO_WIDTH \"$file_ident\" 2>$nulfile"); - $hsize=(split("=",(split("\n",$hsize))[0]))[1]; + $hsize = smog_system_direct("grep ID_VIDEO_WIDTH \"$file_ident\" 2>$nulfile"); + $hsize = (split("=", (split("\n", $hsize))[0]))[1]; chomp($hsize); if (! -f $file_ident) { return; }; - $vsize=smog_system_direct("grep ID_VIDEO_HEIGHT \"$file_ident\" 2>$nulfile"); - $vsize=(split("=",(split("\n",$vsize))[0]))[1]; + $vsize = smog_system_direct("grep ID_VIDEO_HEIGHT \"$file_ident\" 2>$nulfile"); + $vsize = (split("=", (split("\n", $vsize))[0]))[1]; chomp($vsize); if (! -f $file_ident) { return; }; - $fps=smog_system_direct("grep ID_VIDEO_FPS \"$file_ident\" 2>$nulfile"); - $fps=(split("=",(split("\n",$fps))[0]))[1]; - $fps=trim($fps); + $fps = smog_system_direct("grep ID_VIDEO_FPS \"$file_ident\" 2>$nulfile"); + $fps = (split("=", (split("\n", $fps))[0]))[1]; + $fps = trim($fps); if ($fps eq "nan" or $fps eq "-nan") { - $fps=0.; + $fps = 0.; } if (! -f $file_ident) { return; }; - $arate=smog_system_direct("grep ID_AUDIO_RATE \"$file_ident\" 2>$nulfile"); - my @results=split("\n",$arate); + $arate = smog_system_direct("grep ID_AUDIO_RATE \"$file_ident\" 2>$nulfile"); + my @results = split("\n", $arate); foreach my $val(@results) { - $arate=(split("=",$val))[1]; + $arate = (split("=", $val))[1]; chomp($arate); - last if $arate>0; - } - if (! -f $file_ident) { + last if $arate > 0; + } + if (! -f $file_ident) { return; }; - if ($arate==0) { - $arate=smog_system_direct("grep Samplerate \"$file_ident\" 2>$nulfile"); - $arate=(split(": ",(split("\n",$arate))[0]))[1]; + if ($arate == 0) { + $arate = smog_system_direct("grep Samplerate \"$file_ident\" 2>$nulfile"); + $arate = (split(": ", (split("\n", $arate))[0]))[1]; chomp($arate); } if (! -f $file_ident) { return; }; - $achans=smog_system_direct("grep ID_AUDIO_NCH \"$file_ident\" 2>$nulfile"); + $achans = smog_system_direct("grep ID_AUDIO_NCH \"$file_ident\" 2>$nulfile"); chomp($achans); - $achans=(split("\n",$achans))[-1]; - $achans=(split("=",(split("\n",$achans))[0]))[1]; + $achans = (split("\n", $achans))[-1]; + $achans = (split("=", (split("\n", $achans))[0]))[1]; if (! -f $file_ident) { return; }; - $abitrate=smog_system_direct("grep ID_AUDIO_BITRATE \"$file_ident\" 2>$nulfile"); + $abitrate = smog_system_direct("grep ID_AUDIO_BITRATE \"$file_ident\" 2>$nulfile"); chomp($abitrate); - $abitrate=(split("\n",$abitrate))[-1]; - $abitrate=(split("=",(split("\n",$abitrate))[0]))[1]; + $abitrate = (split("\n", $abitrate))[-1]; + $abitrate = (split("=", (split("\n", $abitrate))[0]))[1]; - unless($id_aud_form eq "" || $achans>0) { -# need to look deeper for $achans - $adets=smog_system_direct("grep AO: \"$file_ident\" 2>$nulfile"); + unless($id_aud_form eq "" || $achans > 0) { + # need to look deeper for $achans + $adets = smog_system_direct("grep AO: \"$file_ident\" 2>$nulfile"); - $adets=(split("AO: ",$adets))[1]; + $adets = (split("AO: ", $adets))[1]; chomp($adets); - $arate=(split(" ",$adets))[1]; + $arate = (split(" ", $adets))[1]; if ($arate eq "[oss]") { - $arate=(split(" ",$adets))[2]; - $achans=(split(" ",$adets))[3]; + $arate = (split(" ", $adets))[2]; + $achans = (split(" ", $adets))[3]; } else { - $achans=(split(" ",$adets))[2]; + $achans = (split(" ", $adets))[2]; } chomp($arate); chomp($achans); - $arate=$arate*1; - $achans=$achans*1; + $arate = $arate * 1; + $achans = $achans * 1; } -# grep may fail with error 256 + # grep may fail with error 256 if (! -f $file_ident) { return; }; - $comment=smog_system_direct("grep Comments: \"$file_ident\" 2>$nulfile"); - @tmp=split(" ",$comment); + $comment = smog_system_direct("grep Comments: \"$file_ident\" 2>$nulfile"); + @tmp = split(" ", $comment); shift(@tmp); - $comment=join(" ",@tmp); + $comment = join(" ", @tmp); chomp($comment); if (! -f $file_ident) { return; }; - $title=smog_system_direct("grep Title: \"$file_ident\" 2>$nulfile"); - @tmp=split(" ",$title); + $title = smog_system_direct("grep Title: \"$file_ident\" 2>$nulfile"); + @tmp = split(" ", $title); shift(@tmp); - $title=join(" ",@tmp); + $title = join(" ", @tmp); chomp($title); if (! -f $file_ident) { return; }; - $title=smog_system_direct("grep Author: \"$file_ident\" 2>$nulfile"); - @tmp=split(" ",$author); + $title = smog_system_direct("grep Author: \"$file_ident\" 2>$nulfile"); + @tmp = split(" ", $author); shift(@tmp); - $author=join(" ",@tmp); + $author = join(" ", @tmp); chomp($author); if (! -f $file_ident) { return; }; - $count=smog_system_direct("grep \"frames total\" \"$file_ident\" 2>$nulfile"); - @tmp=split(" ",$count); - $count=$tmp[2]; + $count = smog_system_direct("grep \"frames total\" \"$file_ident\" 2>$nulfile"); + @tmp = split(" ", $count); + $count = $tmp[2]; chomp($count); if ($count eq "") { - $count=int($fps*$length+.5); + $count = int($fps*$length + .5); } if ($count eq "") { - $count=1000000; -#take a guess... + $count = 1000000; + #take a guess... } } - if ($asamps==0&&$arate*$achans>0) { - $asamps=$abitrate/$arate/$achans; + if ($asamps == 0 && $arate*$achans > 0) { + $asamps = $abitrate / $arate / $achans; } } } sub trim { -## trim whitespace from beginning and end - my $str=shift; - $str =~ s/ ^\s+ //; + ## trim whitespace from beginning and end + my $str = shift; + $str =~ s/^\s+//; $str =~ s/\s+$//; $str; } + sub get_file_info { -## we will set the following if possible: -# $count, $bpp, $type, $hsize, $vsize, $signed, $f_size, $arate, $achans, $asamps, $endian, $abitrate -# $length, $id_vid_form, $id_aud_form -# $comment, $title, $author - -# $type may be a video format ($id_vid_form) or "Audio" or an image format ("jpeg", "png", etc). - - $count=0; - $bpp=24; -# default if none is found - $fps=0; -# let the front-end handle this if we can't get it ;-) + ## we will set the following if possible: + # $count, $bpp, $type, $hsize, $vsize, $signed, $f_size, $arate, $achans, $asamps, $endian, $abitrate + # $length, $id_vid_form, $id_aud_form + # $comment, $title, $author + + # $type may be a video format ($id_vid_form) or "Audio" or an image format ("jpeg", "png", etc). + + $count = 0; + $bpp = 24; + # default if none is found + $fps = 0; + # let the front-end handle this if we can't get it ;-) $type="Unknown"; $hsize=0; $vsize=0; @@ -5723,22 +5531,22 @@ my $mpc1=(split(" ",$mp_command))[0]; if ($mpc1 =~ /mpv$/ || $mpc1 =~ /mpv\"$/) { - $is_mpv=1; - } + $is_mpv=1; + } } - else { -# sets $is_mpv + else { + # sets $is_mpv $mp_command="\"".&get_mplayer_location."\""; } -if ($mp_command eq "") { + if ($mp_command eq "") { $panic=1; return; } if (!defined $mplay_command || $mplay_command eq "") { if ($^O ne "MSWin32") { -# try to force language to English + # try to force language to English $mplay_command="LANGUAGE=en LANG=en $mp_command"; } else { @@ -5746,7 +5554,6 @@ } } - $id_vid_form=""; if ($is_audio) { @@ -5755,11 +5562,10 @@ smog_chdir("$curworkdir"); -# if mplayer supports the -identify command, use that -# the format changed for 1.0pre1 so now we use -vo null -ao null -frames 0 + # if mplayer supports the -identify command, use that + # the format changed for 1.0pre1 so now we use -vo null -ao null -frames 0 unless ($mplay_command eq "") { - if ($is_mpv) { &get_mpv_info; } @@ -5778,23 +5584,23 @@ $fwtype=(split(" ",$type))[0]; -#print ("IMG FILT .$count. .$type. .$length. .$fps.\n"); + #print ("IMG FILT .$count. .$type. .$length. .$fps.\n"); if (($hsize*$vsize==0||$count eq "") -## test for various image types... - ||(($type eq "ffpng" || $fwtype eq "PNG" || (($type eq "mjpeg" || $type=="png") && $length eq "" && int($fps)==1) || $type eq "gif") - && $count eq "0") - ||(($type eq "ffmjpeg" || $fwtype eq "MJPEG") - && $count eq "1") - ||($fps==1. && $count eq "1" && $id_aud_form eq "" && (int($length)==1 || $length eq "")) + ## test for various image types... + ||(($type eq "ffpng" || $fwtype eq "PNG" || (($type eq "mjpeg" || $type=="png") && $length eq "" && int($fps)==1) || $type eq "gif") + && $count eq "0") + ||(($type eq "ffmjpeg" || $fwtype eq "MJPEG") + && $count eq "1") + ||($fps==1. && $count eq "1" && $id_aud_form eq "" && (int($length)==1 || $length eq "")) - &&!$is_audio) { + &&!$is_audio) { $origcount=$count; $name=&mkname(1); unless (-f "$curworkdir/$name") { -# see if it is image(s) + # see if it is image(s) &open_images(1); if ($hsize==-1) { $hsize=$vsize=0; @@ -5823,9 +5629,9 @@ closedir DIR; if ($count) { -# got image(s) + # got image(s) $frames=$count; -# got image(s) + # got image(s) if ($ximg_ext eq ".jpg") { $type="jpeg"; } @@ -5852,7 +5658,7 @@ $endian=&get_endian; # assume audio endian matches machine endian } -# get file size + # get file size if ($f_size==0) { $f_size= -s $file; } @@ -5862,16 +5668,13 @@ } if ($type=~ m/^\[/) { - $type=substr($type,1,-1); + $type=substr($type,1,-1); } } - - - sub convert_audio_to_raw { -#convert .wav to raw pcm using sox or mplayer + #convert .wav to raw pcm using sox or mplayer my $smcom; @@ -5885,7 +5688,6 @@ else { $mp_com=&get_mplayer_location; - $format=&get_mplayer_format; if ($is_mpv && $format eq "") { @@ -5909,15 +5711,13 @@ } - sub convert_audio_to_wav { -#convert raw to .wav + #convert raw to .wav -#WARNING - $asamps and $nasamps are in bits + #WARNING - $asamps and $nasamps are in bits my ($aasamps)=$asamps/8; my $smcom; - smog_chdir("$curworkdir"); if (&location("sox") eq "") { $mp_com=&get_mplayer_location; @@ -5930,7 +5730,7 @@ } $smcom="$mp_com -quiet -ao pcm -demuxer rawaudio -rawaudio rate=$arate:channels=$achans:samplesize=$aasamps -ao pcm:waveheader" - . " $format -vo null \"$audio_in\" >$nulfile 2>&1 <$nulfile"; + . " $format -vo null \"$audio_in\" >$nulfile 2>&1 <$nulfile"; } else { if (!defined($sox_version)) { @@ -5983,7 +5783,6 @@ $nasamps=$asamps; } - if (!defined($asigned)) { if ($sox_version < 14004001) { if ($asamps==8) { @@ -6003,7 +5802,6 @@ } } - if (!defined($nsigned)) { if ($nasamps==8) { if ($sox_version < 14004001) { @@ -6040,7 +5838,7 @@ } $smcom="sox $nodither -t .raw -r $arate $asigned -$sasamps -c $achans \"$audio_in\" -t .wav -r $nrate -c $nchans $nsigned -$nnasamps " - . "\"$curworkdir/audiodump.wav\" >$nulfile 2>&1"; + . "\"$curworkdir/audiodump.wav\" >$nulfile 2>&1"; } @@ -6054,10 +5852,8 @@ smog_system_sync(); } - - - #clip (actually, trim) the audio from $start seconds to $end seconds + sub clip_audio { my ($start,$end)=@_; my $smres; @@ -6082,7 +5878,7 @@ } if ($^O eq "MSWin32") { -#smog_system("chmod.exe 600 \"$audio_out\""); + #smog_system("chmod.exe 600 \"$audio_out\""); } else { smog_system("/bin/chmod 600 \"$audio_out\""); @@ -6123,7 +5919,7 @@ sub resample_audio { -#WARNING - $asamps and $nasamps are in bits + #WARNING - $asamps and $nasamps are in bits $endian=&get_endian; @@ -6139,7 +5935,6 @@ $osamps="w"; } - if ($nsamps==8) { $nsamps="b"; } @@ -6237,11 +6032,11 @@ if (defined($stretch)) { $com="sox $nodither -t .raw -r $arate -c $achans $osigned -$osamps $oendian \"$audio_in\" -t .raw -r $nrate " - ."-c $nchans $nsigned $nendian -$nsamps \"$audio_out\" stretch $stretch>$nulfile 2>&1"; + ."-c $nchans $nsigned $nendian -$nsamps \"$audio_out\" stretch $stretch>$nulfile 2>&1"; } else { $com="sox $nodither -t .raw -r $arate -c $achans $osigned -$osamps $oendian \"$audio_in\" -t .raw -r $nrate " - ."-c $nchans $nsigned $nendian -$nsamps \"$audio_out\">$nulfile 2>&1"; + ."-c $nchans $nsigned $nendian -$nsamps \"$audio_out\">$nulfile 2>&1"; } $smerr=smog_system($com); if ($smerr) { @@ -6250,139 +6045,136 @@ } } + sub get_ext { my $fname=shift; my $ext=(split(/\./,$fname))[-1]; if ($ext=~/(.*)\"$/) { - $ext=$1; -} + $ext=$1; + } return ".".$ext; } +sub insert_audio { + #what we are going to do: + # 1) copy the end of the audio (after insertion) to a new file [$where to $to_end] + # 2) insert silence up to $where (if necessary) + # 3) insert the new section [$start to $end at $where] + # 4) insert silence up to $where+$end (if necessary) + # 5) then put the end back + + #input params: + # $where - insertion pt -in seconds + # $start, $end - new section - in seconds + # $from_handle - handle of from file + # $to_end - size of to file - - sub insert_audio { -#what we are going to do: -# 1) copy the end of the audio (after insertion) to a new file [$where to $to_end] -# 2) insert silence up to $where (if necessary) -# 3) insert the new section [$start to $end at $where] -# 4) insert silence up to $where+$end (if necessary) -# 5) then put the end back - -#input params: -# $where - insertion pt -in seconds -# $start, $end - new section - in seconds -# $from_handle - handle of from file -# $to_end - size of to file - -#if $arate<0, we will insert silence from $where to $where+$start-$end + #if $arate<0, we will insert silence from $where to $where+$start-$end my ($xxsamps,$xxchans,$xxsigned,$xxendian,$needstemp)=@_; if ($achans==0) { - return; -} + return; + } if (!defined($times)) { - $times=1; -} + $times=1; + } my ($audio_from)=$audio_from; my ($audio_to)="$curworkdir/audio"; if (defined($from_handle)) { - if ($undo_cut) { - $audio_from="$workdir/$from_handle/audio.bak"; -} - else { - $audio_from="$workdir/$from_handle/audio"; -} -} + if ($undo_cut) { + $audio_from="$workdir/$from_handle/audio.bak"; + } + else { + $audio_from="$workdir/$from_handle/audio"; + } + } my ($audio_temp)="$curworkdir/audio.temp"; unlink "$audio_temp"; if ($^O eq "MSWin32") { - $smres=smog_system("touch.exe \"$audio_temp\""); -} -else { - $smres=smog_system("touch \"$audio_temp\""); -} - -if ($smres) { -$panic=sig_write_error("$audio_temp"); - return; -} - -if ($^O eq "MSWin32") { -#smog_system("chmod.exe 600 \"$audio_temp\""); -} -else { -smog_system("/bin/chmod 600 \"$audio_temp\""); -} - -$silence=0; -if ($arate<0) { -$silence=1; -$arate=-$arate; -} + $smres=smog_system("touch.exe \"$audio_temp\""); + } + else { + $smres=smog_system("touch \"$audio_temp\""); + } -$align=$achans*$asamps/8; + if ($smres) { + $panic=sig_write_error("$audio_temp"); + return; + } -my $ospos=$spos=&align($arate*$align*$start); -my $oepos=$epos=&align($arate*$align*$end); -my $owpos=$wpos=&align($arate*$align*$where); + if ($^O eq "MSWin32") { + #smog_system("chmod.exe 600 \"$audio_temp\""); + } + else { + smog_system("/bin/chmod 600 \"$audio_temp\""); + } + $silence=0; + if ($arate<0) { + $silence=1; + $arate=-$arate; + } -# step 1 - copy end to temp -if ($needstemp) { -my $to_end=-s $audio_to; -my $size=$to_end-$wpos; -if ($size>0) { - $fdd_in=$audio_to; - $fdd_out=$audio_temp; + $align=$achans*$asamps/8; - &fast_dd($size,$wpos,0); - return if ($panic); + my $ospos=$spos=&align($arate*$align*$start); + my $oepos=$epos=&align($arate*$align*$end); + my $owpos=$wpos=&align($arate*$align*$where); + + # step 1 - copy end to temp + if ($needstemp) { + my $to_end=-s $audio_to; + my $size=$to_end-$wpos; + if ($size>0) { + $fdd_in=$audio_to; + $fdd_out=$audio_temp; + + &fast_dd($size,$wpos,0); + return if ($panic); + } } -} -$audio_file=$audio_to; + $audio_file=$audio_to; + # step 2 - pad with silence to insertion point (if necessary) + &append_silence(0,$wpos,$xxsamps,$xxchans,$xxsigned,$xxendian); + return if $panic; -# step 2 - pad with silence to insertion point (if necessary) -&append_silence(0,$wpos,$xxsamps,$xxchans,$xxsigned,$xxendian); -return if $panic; - -#################################################### -# step 3 - insert new section (possibly multiple times) + #################################################### + # step 3 - insert new section (possibly multiple times) -my ($nepos)=$epos; -my ($nspos)=$spos; -my ($nwpos)=$wpos; + my ($nepos)=$epos; + my ($nspos)=$spos; + my ($nwpos)=$wpos; -$times_inserted=0; -$factor=1; -$silence_remembered=0; + $times_inserted=0; + $factor=1; + $silence_remembered=0; -my ($xaudio_from)=$audio_from; + my ($xaudio_from)=$audio_from; -while ($times_inserted<$times) { - $size=$nepos-$nspos; - if ($size>0) { + while ($times_inserted<$times) { + $size=$nepos-$nspos; + if ($size>0) { if ($silence) { $fsize=-s $audio_to; $fsize=&align($fsize-$nwpos); #becomes offset &append_silence($fsize,$nwpos+$size,$xxsamps,$xxchans,$xxsigned,$xxendian); return if $panic; - } - else { - $fdd_in=$xaudio_from; - $fdd_out=$audio_to; - $afsize=-s $fdd_in; - if ($size+$nspos>$afsize) { + } + else { + $fdd_in=$xaudio_from; + $fdd_out=$audio_to; + $afsize=-s $fdd_in; + if ($size+$nspos>$afsize) { $size=$afsize-$nspos; } &fast_dd($size,$nspos,$nwpos); @@ -6391,7 +6183,7 @@ } $times_inserted+=$factor; -# step 4, pad with silence if necessary + # step 4, pad with silence if necessary if (! $silence && (-s $audio_temp||$times_inserted<$times)) { $inserted=$oepos-$nspos; &append_silence(0,$nwpos+$inserted,$xxsamps,$xxchans,$xxsigned,$xxendian); @@ -6423,7 +6215,7 @@ } if ($factor+$times_inserted==$times) { -# this will be our last insertion... + # this will be our last insertion... if (-s $audio_temp==0) { $nepos-=$silence_remembered; } @@ -6431,49 +6223,46 @@ } + #################################################### -#################################################### - -#step 5 - copy end back after insertion -if ($needstemp) { -$size=&align(-s $audio_temp); - if ($size>0) { - $fdd_in=$audio_temp; - $fdd_out=$audio_to; + #step 5 - copy end back after insertion + if ($needstemp) { + $size=&align(-s $audio_temp); + if ($size>0) { + $fdd_in=$audio_temp; + $fdd_out=$audio_to; + + &fast_dd($size,0,$nwpos); + return if ($panic); + } - &fast_dd($size,0,$nwpos); - return if ($panic); } - -} -else { -# copy from audio.bak to output - my ($audio_bak)="$curworkdir/audio.bak"; - $size=-s $audio_bak; - $size=&align($size-$owpos); - if ($size>0) { - $fdd_in=$audio_bak; - $fdd_out=$audio_to; - - &fast_dd($size,$owpos,$nwpos); - return if ($panic); + else { + # copy from audio.bak to output + my ($audio_bak)="$curworkdir/audio.bak"; + $size=-s $audio_bak; + $size=&align($size-$owpos); + if ($size>0) { + $fdd_in=$audio_bak; + $fdd_out=$audio_to; + + &fast_dd($size,$owpos,$nwpos); + return if ($panic); + } } -} - -unlink "$audio_temp"; -smog_system_sync(); + unlink "$audio_temp"; + smog_system_sync(); } - sub cut_audio { -#what we are going to do: -#1) copy up to $start to a new file -#2) back up the section to be deleted -#3) append the section after $end to the new file -#4) copy the new file to the original -#$start, $end are in seconds + #what we are going to do: + #1) copy up to $start to a new file + #2) back up the section to be deleted + #3) append the section after $end to the new file + #4) copy the new file to the original + #$start, $end are in seconds if ($achans==0) { return; @@ -6487,7 +6276,7 @@ unlink "$audio_bak"; if ($end==0.) { -#delete all audio + #delete all audio smog_rename("$audio_in","$audio_bak"); } else { @@ -6502,7 +6291,7 @@ return; } if ($^O eq "MSWin32") { -#smog_system("chmod.exe 600 \"$audio_temp\""); + #smog_system("chmod.exe 600 \"$audio_temp\""); } else { smog_system("/bin/chmod 600 \"$audio_temp\""); @@ -6510,7 +6299,7 @@ $align=$achans*$asamps/8; -# step 1 + # step 1 $spos=&align($arate*$align*$start); $epos=&align($arate*$align*$end); @@ -6532,10 +6321,10 @@ &fast_dd($size,0,0); return if $panic; - } + } -#step 2 - $size=($epos-$spos); + #step 2 + $size=($epos-$spos); if ($size>0) { $fdd_in=$audio_in; @@ -6543,13 +6332,12 @@ &fast_dd($size,$spos,0); return if $panic; - } - + } -#step 3 - $spos=$epos; - $epos=$fsize; - $size=($epos-$spos); + #step 3 + $spos=$epos; + $epos=$fsize; + $size=($epos-$spos); if ($size>0) { $fdd_in=$audio_in; @@ -6557,11 +6345,11 @@ &fast_dd($size,$spos,$seekstart); return if $panic; - } + } -# step 4 - unlink "$audio_in"; - smog_rename( "$audio_temp", "$audio_in"); + # step 4 + unlink "$audio_in"; + smog_rename( "$audio_temp", "$audio_in"); } if (-z $audio_in) { @@ -6574,151 +6362,149 @@ sub align { my ($guess)=shift; -# align our audio cuts so we don't end halfway through a sample/channel + # align our audio cuts so we don't end halfway through a sample / channel if (!defined($align)) { - $align=$achans*$asamps/8; + $align = $achans*$asamps / 8; } - $guess=int($guess/$align+.5) *$align; + $guess = int($guess / $align + .5) *$align; return $guess; } sub append_silence { -#pad from end - $offset of $audio_file to byte $end-1 with zeros - my($offset,$end,$asamps,$achans,$asigned,$aendian,$audio_file)=@_; + #pad from end - $offset of $audio_file to byte $end-1 with zeros + my($offset, $end, $asamps, $achans, $asigned, $aendian, $audio_file) = @_; if ($audio_file eq "") { - $audio_file="$curworkdir/audio"; + $audio_file = "$curworkdir/audio"; } unless(-f $audio_file) { if ($^O eq "MSWin32") { - $smres=smog_system("touch.exe \"$audio_file\""); + $smres = smog_system("touch.exe \"$audio_file\""); } else { - $smres=smog_system("touch \"$audio_file\""); + $smres = smog_system("touch \"$audio_file\""); } if ($smres) { - $panic=sig_write_error("$audio_file"); + $panic = sig_write_error("$audio_file"); return; } if ($^O eq "MSWin32") { -#smog_system("chmod.exe 600 \"$audio_file\""); + #smog_system("chmod.exe 600 \"$audio_file\""); } else { smog_system("/bin/chmod 600 \"$audio_file\""); } } - my $gsize= -s $audio_file; - my $fsize=&align($gsize-$offset); -#insert at $fsize-$offset - my $size=&align($end-$fsize); -#insert to $end - - if ($size>0) { - if ($asigned==1) { - $fdd_out=$audio_file; + my $gsize = -s $audio_file; + my $fsize = &align($gsize - $offset); + #insert at $fsize-$offset + my $size = &align($end - $fsize); + #insert to $end + + if ($size > 0) { + if ($asigned == 1) { + $fdd_out = $audio_file; if ($^O eq "MSWin32") { - $smres=smog_system("touch.exe \"$audio_file\""); + $smres = smog_system("touch.exe \"$audio_file\""); if ($smres) { - $panic=sig_write_error("$audio_file"); + $panic = sig_write_error("$audio_file"); return; } - open AUD,"+<","$audio_file" or $panic=sig_write_error("$audio_file"); + open AUD, "+<", "$audio_file" or $panic = sig_write_error("$audio_file"); return if $panic; - seek AUD,$gsize-$offset,SEEK_SET or $panic=sig_write_error("$audio_file"); + seek AUD, $gsize - $offset, SEEK_SET or $panic = sig_write_error("$audio_file"); return if $panic; - for ($i=0; $i<$size; $i++) { - print AUD chr(0) or $panic=sig_write_error("$audio_file"); + for ($i = 0; $i < $size; $i++) { + print AUD chr(0) or $panic = sig_write_error("$audio_file"); return if $panic; - } - } else { - $fdd_in="/dev/zero"; - &fast_dd($size,0,$fsize); + } + } else { + $fdd_in = "/dev/zero"; + &fast_dd($size, 0, $fsize); } return if $panic; - } else { - if ($^O eq "MSWin32") { - $smres=smog_system("touch.exe \"$audio_file\""); + } else { + if ($^O eq "MSWin32") { + $smres = smog_system("touch.exe \"$audio_file\""); } else { - $smres=smog_system("touch \"$audio_file\""); + $smres = smog_system("touch \"$audio_file\""); } if ($smres) { - $panic=sig_write_error("$audio_file"); + $panic = sig_write_error("$audio_file"); return; } - open AUD,"+<","$audio_file" or $panic=sig_write_error("$audio_file"); + open AUD, "+<", "$audio_file" or $panic = sig_write_error("$audio_file"); return if $panic; - seek AUD,$gsize-$offset,SEEK_SET or $panic=sig_write_error("$audio_file"); + seek AUD, $gsize - $offset, SEEK_SET or $panic = sig_write_error("$audio_file"); return if $panic; - if ($asamps==8) { - for ($i=0; $i<$size; $i++) { - print AUD chr(128) or $panic=sig_write_error("$audio_file"); + if ($asamps == 8) { + for ($i = 0; $i < $size; $i++) { + print AUD chr(128) or $panic = sig_write_error("$audio_file"); return if $panic; - } - } else { - if ($aendian) { - for ($i=0; $i<$size; $i+=2*$achans) { - for ($j=0; $j<$achans; $j++) { - print AUD chr(0) or $panic=sig_write_error("$audio_file"); + } + } else { + if ($aendian) { + for ($i = 0; $i < $size; $i += 2 * $achans) { + for ($j = 0; $j < $achans; $j++) { + print AUD chr(0) or $panic = sig_write_error("$audio_file"); return if $panic; - print AUD chr(128) or $panic=sig_write_error("$audio_file"); + print AUD chr(128) or $panic = sig_write_error("$audio_file"); return if $panic; - } - } - } else { - for ($i=0; $i<$size; $i+=2*$achans) { - for ($j=0; $j<$achans; $j++) { - print AUD chr(128) or $panic=sig_write_error("$audio_file"); + } + } + } else { + for ($i = 0; $i < $size; $i += 2 * $achans) { + for ($j = 0; $j < $achans; $j++) { + print AUD chr(128) or $panic = sig_write_error("$audio_file"); return if $panic; - print AUD chr(0) or $panic=sig_write_error("$audio_file"); + print AUD chr(0) or $panic = sig_write_error("$audio_file"); return if $panic; - } - } - } - } - close AUD; + } + } + } + } + close AUD; + } } } -} - - sub open_images { -# set $file before calling this function -# set $only_first to 1 to just open the first image in a directory -# set $height $width to force a particular size, otherwise $height=$width=0 to open all to the first image size -# if first image size cannot be obtained $dwidth and $dheight are used + # set $file before calling this function + # set $only_first to 1 to just open the first image in a directory + # set $height $width to force a particular size, otherwise $height=$width=0 to open all to the first image size + # if first image size cannot be obtained $dwidth and $dheight are used -my($i)=shift; - my $orig=$i; + my($i) = shift; + my $orig = $i; if (-d $file) { -# is a directory + # is a directory - $dir=$file; - opendir DIR,$dir; - my @files=readdir(DIR); + $dir = $file; + opendir DIR, $dir; + my @files = readdir(DIR); closedir DIR; unless($only_first) { -# open in numeric order - @files = sort {byfile($a,$b)}(@files); + # open in numeric order + @files = sort {byfile($a, $b)}(@files); if (!defined($antialias)) { - $antialias=&rc_get("antialias"); + $antialias = &rc_get("antialias"); } } foreach (@files) { - $file="$dir/$_"; - unless($_ =~ /^\./||(! -f $file)||(-z $file)) { - $nframes=&open_single_image($i); + $file = "$dir/$_"; + unless($_ =~ /^\./ || (! -f $file) || (-z $file)) { + $nframes = &open_single_image($i); return if $panic; - if (-s "$curworkdir/$name$img_ext") { + if (-s "$curworkdir/$name$img_ext") { if ($only_first) { $i++; last; } else { - $i+=$nframes; + $i += $nframes; } } else { unlink "$curworkdir/$name$img_ext"; @@ -6728,275 +6514,263 @@ } else { &open_single_image($i); return if $panic; - unless(-s "$curworkdir/$name$img_ext") { + unless(-s "$curworkdir/$name$img_ext") { unlink "$curworkdir/$name$img_ext"; } } - return $i-$orig; + return $i - $orig; } - sub byfile { -# sort files in numerical-alpha order + # sort files in numerical-alpha order -#thanks to dominus ! + #thanks to dominus ! my @a = split /(\d+)/, $a; - my @b = split /(\d+)/, $b; + my @b = split /(\d+) /, $b; my $M = @a > @b ? @a : @b; my $res = 0; for (my $i = 0; $i < $M; $i++) { - return -1 if ! defined $a[$i]; - return 1 if ! defined $b[$i]; + return -1 if !defined $a[$i]; + return 1 if !defined $b[$i]; if ($a[$i] =~ /\d/) { $res = $a[$i] <=> $b[$i]; } else { $res = $a[$i] cmp $b[$i]; } last if $res; -} -$res; + } + $res; } - - - sub open_single_image { -# set $hsize and $vsize to force the image size, set to 0 to autoresize -#identify hangs if the file extension is ".avi" or ".mp4" or ".mpg" + # set $hsize and $vsize to force the image size, set to 0 to autoresize + #identify hangs if the file extension is ".avi" or ".mp4" or ".mpg" -my $i=shift; -my $j; + my $i = shift; + my $j; -$name=&mkname($i); - my $nframes=0; + $name = &mkname($i); + my $nframes = 0; if ($file =~ /:\/\//) { - return 0; -} - -if (!defined($file_ext)) { - $file_ext=&get_ext("$file"); -} - -if ($file_ext eq ".avi"||$file_ext eq ".mp4"||$file_ext eq ".mpg"||$file_ext eq ".ogg"||$file_ext eq ".mov"||$file_ext eq ".ogv"|| - $file_ext eq ".webm"||$file_ext eq ".mkv"||$file_ext eq ".asf"||$file_ext eq ".wmv"||$file_ext eq ".flv"||$file_ext eq ".mng"|| - $file_ext eq ".dv"||$file_ext eq ".mp3" || $file_ext eq ".mpeg") { -# need to set $name before we return -return 0; -} + return 0; + } -if ($hsize*$vsize==0) { -&get_image_size($file); - return 0 if ($panic||$hsize==-1); -} + if (!defined($file_ext)) { + $file_ext = &get_ext("$file"); + } -if ($hsize*$vsize==0) { -return 0; -} + if ($file_ext eq ".avi" || $file_ext eq ".mp4" || $file_ext eq ".mpg" || $file_ext eq ".ogg" || $file_ext eq ".mov" || + $file_ext eq ".ogv" || + $file_ext eq ".webm" || $file_ext eq ".mkv" || $file_ext eq ".asf" || $file_ext eq ".wmv" || $file_ext eq ".flv" || $file_ext eq ".mng" || + $file_ext eq ".dv" || $file_ext eq ".mp3" || $file_ext eq ".mpeg") { + # need to set $name before we return + return 0; + } -smog_system_sync(); + if ($hsize*$vsize == 0) { + &get_image_size($file); + return 0 if ($panic || $hsize == -1); + } -if (!defined($ximg_ext)) { - $ximg_ext=$img_ext; - $ximg_prefix=$img_prefix; -} -elsif(!defined($ximg_prefix)) { - $ximg_prefix=&get_img_prefix($img_ext); -} + if ($hsize*$vsize == 0) { + return 0; + } -if ($antialias eq "false") { -$com="$smog_convert_command +antialias \"$file\" -scale $hsize"."x"."$vsize\\! $ximg_prefix\"$curworkdir/$name$ximg_ext\" > $nulfile 2>&1"; -} else { -$com="$smog_convert_command \"$file\" -resize $hsize"."x"."$vsize\\! $ximg_prefix\"$curworkdir/$name$ximg_ext\" >$nulfile 2>&1"; -} + smog_system_sync(); + if (!defined($ximg_ext)) { + $ximg_ext = $img_ext; + $ximg_prefix = $img_prefix; + } + elsif(!defined($ximg_prefix)) { + $ximg_prefix = &get_img_prefix($img_ext); + } -$smerr=smog_system($com); + if ($antialias eq "false") { + $com = "$smog_convert_command +antialias \"$file\" -scale $hsize"."x"."$vsize\\! $ximg_prefix\"$curworkdir/$name$ximg_ext\" > $nulfile 2>&1"; + } else { + $com = "$smog_convert_command \"$file\" -resize $hsize"."x"."$vsize\\! $ximg_prefix\"$curworkdir/$name$ximg_ext\" >$nulfile 2>&1"; + } -if ($smerr) { -sig_system_error("$com",$smerr); - $panic=1; - return 0; -} + $smerr = smog_system($com); + if ($smerr) { + sig_system_error("$com", $smerr); + $panic = 1; + return 0; + } -#convert gives multiple frames for e.g. animated gif -$found=1; -for ($j=0; $found==1; $j++) { -if (-f "$curworkdir/$name-$j$ximg_ext") { - $newname=&mkname($i+$j); - smog_rename("$curworkdir/$name-$j$ximg_ext","$curworkdir/$newname$ximg_ext"); - $nframes++; + #convert gives multiple frames for e.g. animated gif + $found = 1; + for ($j = 0; $found == 1; $j++) { + if (-f "$curworkdir/$name-$j$ximg_ext") { + $newname = &mkname($i + $j); + smog_rename("$curworkdir/$name-$j$ximg_ext", "$curworkdir/$newname$ximg_ext"); + $nframes++; - } else { - $found=0; + } else { + $found = 0; + } } -} - -if ($hsize*$vsize==0) { -&get_image_size("$curworkdir/$name$ximg_ext"); -} -if ($hsize*$vsize>0&&$nframes==0) { -$nframes=1; -} + if ($hsize*$vsize == 0) { + &get_image_size("$curworkdir/$name$ximg_ext"); + } -return $nframes; + if ($hsize*$vsize > 0 && $nframes == 0) { + $nframes = 1; + } + return $nframes; } - sub get_image_size { -# returns $hsize,$vsize and $bpp for $1 -my($file)=shift; + # returns $hsize,$vsize and $bpp for $1 + my($file) = shift; my($i); -#identify hangs if the file extension is ".avi" or ".mp4"...maybe more... - my($file_ext)=&get_ext("$file"); + #identify hangs if the file extension is ".avi" or ".mp4"...maybe more... + my($file_ext) = &get_ext("$file"); - if ($file_ext eq ".avi"||$file_ext eq ".mp4"||$file_ext eq ".mpg"||$file_ext eq ".mpeg") { - $height=$width=$bpp=0; + if ($file_ext eq ".avi" || $file_ext eq ".mp4" || $file_ext eq ".mpg" || $file_ext eq ".mpeg") { + $height = $width = $bpp = 0; return; } -$bpp=8; # default for images - if (!defined($imresact)) { - $imresact=&rc_get("image_resize_action"); - } + $bpp = 8; # default for images + if (!defined($imresact)) { + $imresact = &rc_get("image_resize_action"); + } -# imresact can be: default - resize all images to default; bound - use as max size but keep aspect (e.g. for thumbnails); or none: return actual size + # imresact can be: default - resize all images to default; bound - use as max size but keep aspect (e.g. for thumbnails); or none: return actual size - my($id_cmd)=&location("identify"); + my($id_cmd) = &location("identify"); unless($id_cmd eq "") { - $com="\"$id_cmd\" \"$file\" 2>$nulfile"; - @info=split / /, smog_system_direct($com); + $com = "\"$id_cmd\" \"$file\" 2>$nulfile"; + @info = split / /, smog_system_direct($com); - if ($?) { -# probably not an image then - $hsize=$vsize=$bpp=-1; + if ($ ?) { + # probably not an image then + $hsize = $vsize = $bpp = -1; return; } - my($file2)=$file; - $space_count=($file2 =~ tr/ //); - for ($i=0; $i<$space_count; $i++) { - shift(@info); - } - $bppstr=$info[4]; - @bpp=split /-/,$bppstr; - $bpp=$bpp[0]; - @sizestr=split /\+/,$info[2]; - @size=split /x/,$sizestr[0]; + my($file2) = $file; + $space_count = ($file2 =~ tr/ //); + for ($i = 0; $i < $space_count; $i++) { + shift(@info); + } + $bppstr = $info[4]; + @bpp = split /-/, $bppstr; + $bpp = $bpp[0]; + @sizestr = split /\+/, $info[2]; + @size = split /x/, $sizestr[0]; - $hsize=$size[0]; - $vsize=$size[1]; + $hsize = $size[0]; + $vsize = $size[1]; if ($imresact eq "bound") { - if ($hsize>$dwidth) { - $shrink=$hsize/$dwidth; - $hsize/=$shrink; - $vsize/=$shrink; - } - if ($vsize>$dheight) { - $shrink=$vsize/$dheight; - $hsize/=$shrink; - $vsize/=$shrink; + if ($hsize > $dwidth) { + $shrink = $hsize / $dwidth; + $hsize /= $shrink; + $vsize /= $shrink; + } + if ($vsize > $dheight) { + $shrink = $vsize / $dheight; + $hsize /= $shrink; + $vsize /= $shrink; } - $hsize=int($hsize); - $vsize=int($vsize); + $hsize = int($hsize); + $vsize = int($vsize); } elsif($imresact eq "default") { - $hsize=$vsize=""; + $hsize = $vsize = ""; } } - if (!defined($hsize)||$hsize eq "") { - $hsize=$dwidth; + if (!defined($hsize) || $hsize eq "") { + $hsize = $dwidth; } - if (!defined($vsize)||$vsize eq "") { - $vsize=$dheight; + if (!defined($vsize) || $vsize eq "") { + $vsize = $dheight; } } - sub fill_and_redo_frames { -# resample and fill gaps in frames + # resample and fill gaps in frames - my $next=0; + my $next = 0; smog_chdir("$curworkdir"); + for ($i = 1; $i <= $end; $i++) { + $name = &mkname($i); - for ($i=1; $i<=$end; $i++) { - $name=&mkname($i); - - if ($next<$i&&$next>-1) { - $last=$next; - $next=&get_next_frame; + if ($next < $i && $next > -1) { + $last = $next; + $next = &get_next_frame; return if $panic; - } - if ($last>0&&($i-$last)<($next-$i)) { - $fromname=&mkname($last); + } + if ($last > 0 && ($i - $last) < ($next - $i)) { + $fromname = &mkname($last); } else { - $fromname=&mkname($next); + $fromname = &mkname($next); } unless($fromname eq $name) { - smog_copy("$curworkdir/$fromname$img_ext","$curworkdir/$name$img_ext"); + smog_copy("$curworkdir/$fromname$img_ext", "$curworkdir/$name$img_ext"); return if $panic; + } + &sig_progress($i); } - &sig_progress($i); - } - } sub get_next_frame { my $j; my $xname; - $imresact="none"; + $imresact = "none"; - for ($j=$i; $j<=$end; $j++) { - $xname=&mkname($j); + for ($j = $i; $j <= $end; $j++) { + $xname = &mkname($j); if (-f "$xname$img_ext") { -# found next frame, resize it + # found next frame, resize it &get_image_size("$xname$img_ext"); - return if ($panic||$hsize==-1); + return if ($panic || $hsize == -1); - if ($hsize<$width||$vsize<$height) { - $com="$smog_convert_command -resize $width" . "x" . $height . - "\\!+0\\!+0\\! $img_prefix_prefix\"$xname$img_ext\" $img_prefix\"$xname.mgk\" >$nulfile 2>&1"; + if ($hsize < $width || $vsize < $height) { + $com = "$smog_convert_command -resize $width" . "x" . $height . + "\\!+0\\!+0\\! $img_prefix_prefix\"$xname$img_ext\" $img_prefix\"$xname.mgk\" >$nulfile 2>&1"; } else { - $com="$smog_convert_command -crop $width" . "x" . $height . "\\! $img_prefix\"$xname$img_ext\" $img_prefix\"$xname.mgk\" >$nulfile 2>&1"; + $com = "$smog_convert_command -crop $width" . "x" . $height . "\\! $img_prefix\"$xname$img_ext\" $img_prefix\"$xname.mgk\" >$nulfile 2>&1"; } - $smerr=smog_system($com); + $smerr = smog_system($com); if ($smerr) { - sig_system_error("$com",$smerr); - $panic=1; + sig_system_error("$com", $smerr); + $panic = 1; return; } - smog_rename("$xname.mgk","$xname$img_ext"); + smog_rename("$xname.mgk", "$xname$img_ext"); return $j; } } -# no next frame found + # no next frame found return -1; } - - sub mp3_open { if (-f $audio_in) { unlink "$audio_in"; } - $f_size=0; + $f_size = 0; -# prefer mpg321 if it's available + # prefer mpg321 if it's available unless (&location("mpg321") eq "") { smog_system("mpg321 -w \"$audio_in\" --rate 44100 --stereo \"$file\" >$nulfile 2>&1"); $f_size=-s $audio_in; @@ -7018,12 +6792,12 @@ &get_file_info; return if $panic; -$asigned=$signed; -$aendian=$endian; + $asigned=$signed; + $aendian=$endian; -if ($arate==0&&$achans==0&&$asamps==0) { -# TODO - find way to read these -# have to assume these for now + if ($arate==0&&$achans==0&&$asamps==0) { + # TODO - find way to read these + # have to assume these for now $arate=44100; $achans=2; $asamps=16; @@ -7038,7 +6812,6 @@ if ($f_size==0) { $f_size= -s $audio_in; } - } @@ -7059,19 +6832,18 @@ return; } - $file=$audio_in; $is_audio=1; &get_file_info; return if $panic; -$asigned=$signed; -$aendian=$endian; + $asigned=$signed; + $aendian=$endian; -if ($arate==0&&$achans==0&&$asamps==0) { -# TODO - find way to read these -# have to assume these for now + if ($arate==0&&$achans==0&&$asamps==0) { + # TODO - find way to read these + # have to assume these for now $arate=44100; $achans=2; $asamps=16; @@ -7086,7 +6858,6 @@ if ($f_size==0) { $f_size= -s $audio_in; } - } @@ -7100,18 +6871,18 @@ smog_copy("$file","$audio_in"); return if $panic; -$file=$audio_in; -$is_audio=1; + $file=$audio_in; + $is_audio=1; -&get_file_info; -return if $panic; + &get_file_info; + return if $panic; -$asigned=$signed; -$aendian=$endian; + $asigned=$signed; + $aendian=$endian; -if ($arate==0&&$achans==0&&$asamps==0) { -# TODO - find way to read these -# have to assume these for now + if ($arate==0&&$achans==0&&$asamps==0) { + # TODO - find way to read these + # have to assume these for now $arate=44100; $achans=2; $asamps=16; @@ -7129,7 +6900,6 @@ } - sub othera_open { $arate=44100; $achans=2; @@ -7156,19 +6926,18 @@ return; } - $file=$audio_in; $is_audio=1; &get_file_info; return if $panic; -$asigned=$signed; -$aendian=$endian; + $asigned=$signed; + $aendian=$endian; -if ($arate==0&&$achans==0&&$asamps==0) { -# TODO - find way to read these -# have to assume these for now + if ($arate==0&&$achans==0&&$asamps==0) { + # TODO - find way to read these + # have to assume these for now $arate=44100; $achans=2; $asamps=16; @@ -7183,14 +6952,12 @@ if ($f_size==0) { $f_size= -s $audio_in; } - } - - ################################################ # utility subroutines + sub get_current_date { ($Second, $Minute, $Hour, $Day, $Month, $Year, $WeekDay, $DayOfYear, $IsDST) = localtime(time); my $RealMonth = $Month + 1; # Months of the year are not zero-based @@ -7210,17 +6977,15 @@ } - - sub getint { -# get an int from a file in $endian format + # get an int from a file in $endian format my ($string)=shift; my (@val)=unpack("CCCC",$string); #unpack $string to 4 chars in @val array -# TODO - this needs checking ! + # TODO - this needs checking ! if (!defined($endian)||$endian==1) { -#little endian + #little endian return ((($val[3]*256+$val[2])*256+$val[1])*256)+$val[0]; } else { @@ -7230,13 +6995,12 @@ sub get_endian { -# 0 == big-endian -# 1 == little-endian + # 0 == big-endian + # 1 == little-endian return unpack("h*", pack("s", 1)) =~ /^1/; } - sub get_mplayer_format { if (!defined($nrate)) { $nrate=$arate; @@ -7260,7 +7024,6 @@ $nendian=$aendian; } - if ($is_mpv) { if ($nsamps==8) { if ($nsigned==0) { @@ -7275,7 +7038,6 @@ return ""; } - if ($nasamps==8) { if ($nsigned==0) { return "-format u8"; @@ -7295,10 +7057,8 @@ } - - sub clean_old { -# clear away any old backup files, etc. + # clear away any old backup files, etc. return if (! -d "$workdir/$handle"); smog_chdir("$workdir/$handle"); unlink glob "*.mgk *.bak *.pre *.tmp pause audio.* audiodump* audioclip"; @@ -7306,9 +7066,7 @@ } - sub sig_complete { - return if (! -d "$curworkdir"); my($status)="completed"; foreach (@_) { @@ -7338,7 +7096,6 @@ } - sub sig_complete_audio { return if (! -d "$curworkdir"); my($status)="audio_ended|"; @@ -7347,7 +7104,7 @@ } open OUT,"> $statusfile.play"; -# autoflush output + # autoflush output select((select(OUT), $| = 1)[0]); print OUT $status; close OUT; @@ -7359,9 +7116,9 @@ sub sig_error { -# WARNING: error strings MUST NOT contain newlines, instead you can pass up to 4 lines of text as params + # WARNING: error strings MUST NOT contain newlines, instead you can pass up to 4 lines of text as params -# write to backend -> frontend $statusfile + # write to backend -> frontend $statusfile return if (! -d $curworkdir); @@ -7385,13 +7142,12 @@ } - sub sig_write_error { -# got an error writing to a file. pass in filename as 1st param + # got an error writing to a file. pass in filename as 1st param -# write to backend -> frontend $statusfile + # write to backend -> frontend $statusfile -# in params: 1 - filename, 2 - optional additional info (1 line) + # in params: 1 - filename, 2 - optional additional info (1 line) return 1 if (! -d $curworkdir); @@ -7410,11 +7166,11 @@ sub sig_read_error { -# got an error reading from a file. pass in filename as 1st param + # got an error reading from a file. pass in filename as 1st param -# write to backend -> frontend $statusfile + # write to backend -> frontend $statusfile -# in params: 1 - filename, 2 - optional additional info (1 line) + # in params: 1 - filename, 2 - optional additional info (1 line) return 1 if (! -d $curworkdir); my ($smfile,$smaddinfo)=@_; @@ -7432,17 +7188,17 @@ sub sig_system_error { -# got an error running a system command. pass in command as 1st param -# error code is second param -# use only for commands that really really must never fail + # got an error running a system command. pass in command as 1st param + # error code is second param + # use only for commands that really really must never fail -# preference is to use read/write errors as this is clearer to the user what failed + # preference is to use read/write errors as this is clearer to the user what failed -# write to backend -> frontend $statusfile + # write to backend -> frontend $statusfile -# -# in params: 1 - command which failed or description of command, 2 - error value returned, -# 3 - optional additional info (1 line) + # + # in params: 1 - command which failed or description of command, 2 - error value returned, + # 3 - optional additional info (1 line) return 1 if (! -d $curworkdir); @@ -7460,22 +7216,19 @@ } - - sub sig_pid { -# write our pid in case we need to be cancelled + # write our pid in case we need to be cancelled open OUT,"> $pidfile"; print OUT $$; # process ID close OUT; } - sub sig_progress { -# report progress of frame processing -### -### -# write to backend -> frontend $statusfile + # report progress of frame processing + ### + ### + # write to backend -> frontend $statusfile my $status=""; foreach (@_) { if ($status eq "") { @@ -7498,9 +7251,8 @@ } - sub location { -# return the location of an executable + # return the location of an executable my ($command)=shift; if ($^O eq "MSWin32") { @@ -7521,7 +7273,7 @@ $mpc=&location("mplayer2"); } if ($mpc eq "") { -## experimental + ## experimental $is_mpv=1; $mpc=&location("mpv"); } @@ -7529,12 +7281,14 @@ return $mpc; } + sub rc_set_if_not_set { my ($key,$value)=@_; $skip_if_exist=1; &rc_set("$key","$value"); } + sub rc_delete { my ($key)=$_[0]; @@ -7543,9 +7297,8 @@ } - sub rc_set { -# set/modify/delete a value in the .rc file + # set/modify/delete a value in the .rc file my ($key,$value)=@_; my ($rcfile)=$home."/".$rc_filename; @@ -7562,7 +7315,7 @@ $value=substr($value,0,length($value)-1); } -# autoflush output + # autoflush output select((select(OUT), $| = 1)[0]); if (! defined ($delpref)) { @@ -7575,7 +7328,7 @@ print OUT "# You are strongly advised to change the values only through the GUI.\n"; } -#replace <$key> to </$key> with our new value + #replace <$key> to </$key> with our new value else { if (!defined(open IN,"$rcfile") && -e $rcfile) { exit 2; @@ -7591,7 +7344,7 @@ $string=$current; if ($string=~/^#.*/) { -#ignore comments + #ignore comments print OUT $string; next; } @@ -7618,13 +7371,13 @@ if ($part==0) { $part=1; if ($delpref==0) { -#update existing value + #update existing value print OUT "<$key>\n$value\n</$key>\n"; } else { -#delete -#$date=&get_current_date; -#print OUT "# $key deleted by $GUI_NAME $date\n"; + #delete + #$date=&get_current_date; + #print OUT "# $key deleted by $GUI_NAME $date\n"; if ($string ne "\n") { print OUT $string; } @@ -7665,7 +7418,7 @@ sub rc_get { -# return a value from our .rc file + # return a value from our .rc file my ($key)=shift; my $rcfile="$home/$rc_filename"; my $string=""; @@ -7705,10 +7458,9 @@ } - sub fast_dd { -# copy size bytes from $fdd_in to $fdd_out - skip $skip bytes in input and $seek bytes in output -# no truncation is done + # copy size bytes from $fdd_in to $fdd_out - skip $skip bytes in input and $seek bytes in output + # no truncation is done my ($size,$skip,$seek)=@_; my ($smres); @@ -7743,7 +7495,7 @@ seek FFIN,$skip,SEEK_START or $panic=sig_read_error("$fdd_in"); return if $panic; -if ($^O eq "MSWin32") { + if ($^O eq "MSWin32") { $smres=smog_system("touch.exe $fdd_out"); } else { @@ -7756,37 +7508,37 @@ open FFOUT,"+<","$fdd_out" or $panic=sig_write_error("$fdd_out"); return if $panic; -seek FFOUT,$seek,SEEK_START or $panic=sig_write_error("$fdd_out"); + seek FFOUT,$seek,SEEK_START or $panic=sig_write_error("$fdd_out"); return if $panic; -for ($i=0;$i<$fblocks;$i++) { + for ($i=0;$i<$fblocks;$i++) { read FFIN,$data,$bs or $panic=sig_read_error("$fdd_in"); return if $panic; - print FFOUT $data or $panic=sig_write_error("$fdd_out"); + print FFOUT $data or $panic=sig_write_error("$fdd_out"); return if $panic; -} + } -while ($rbytes>0) { + while ($rbytes>0) { $bs/=2; if ($rbytes>=$bs) { read FFIN,$data,$bs or $panic=sig_read_error("$fdd_in"); return if $panic; - print FFOUT $data or $panic=sig_write_error("$fdd_out"); + print FFOUT $data or $panic=sig_write_error("$fdd_out"); return if $panic; - $rbytes-=$bs; + $rbytes-=$bs; + } } -} -close FFOUT; -close FFIN; + close FFOUT; + close FFIN; } sub count_frames { -#count number of frames using a binary search + #count number of frames using a binary search -my $count=0,$gap=1; -if (!defined $handle) { + my $count=0,$gap=1; + if (!defined $handle) { $handle=$ARGV[1]; $curworkdir="$workdir/$handle"; } @@ -7814,7 +7566,6 @@ } - sub my_basename { my ($exe)=shift; my @parts=split(/\//,$exe); @@ -7822,9 +7573,8 @@ } - sub write_bootstrap_file { -#write our bootstrap file and make our workdir + #write our bootstrap file and make our workdir unlink "$gui_bootstrap_file"; unless (defined(open OUT,"> $gui_bootstrap_file")) { exit 4; @@ -7834,8 +7584,8 @@ sub fndset { -# check if a directory is in a set (old style) -# but useful for frontend marking the currently opened clips, so we do not prune them by accident + # check if a directory is in a set (old style) + # but useful for frontend marking the currently opened clips, so we do not prune them by accident if ($^O eq "MSWin32") { /^set/ or return; @@ -7848,16 +7598,14 @@ } - sub get_home_dir { return $ENV{"HOME"}; } - - # get default values + sub rc_get_default { -# return a value from our .rc file + # return a value from our .rc file my ($key)=shift; my ($ret)=""; @@ -7903,12 +7651,10 @@ } - sub version_check_and_upgrade { -# various things that should happen on update - -# mainly for very very old versions + # various things that should happen on update + # mainly for very very old versions my $old_version=&rc_get("version"); my $version_hash=&version_hash($old_version); @@ -7916,13 +7662,12 @@ $msg=""; -# throw a warning if using png and convert_version < 6.0.0 + # throw a warning if using png and convert_version < 6.0.0 if (&rc_get("default_image_format") eq "png" && $convert_version_hash<6000 && $convert_version_hash>0) { $msg="You are advised to upgrade to at least version 6.0 of Image Magick if using png files"; } if ($version_hash>0) { - if ($new_version_hash>$version_hash) { $msg="!updmsg"; } @@ -7934,35 +7679,35 @@ } if ($version_hash<8005) { -# not used now + # not used now &rc_delete("frontend"); &rc_delete("mog_auto_bak"); &rc_delete("plugin_dir"); } if ($version_hash<9001) { -# convert_version is used instead now + # convert_version is used instead now &rc_delete("mogrify_version"); &rc_delete("effects_command"); -# hey, now we use our own keyboard poller -# things are getting groovy ! + # hey, now we use our own keyboard poller + # things are getting groovy ! &rc_delete("no_fast_keys"); -# changed to "open_compression_percent" + # changed to "open_compression_percent" &rc_delete("open_quality"); &rc_delete("kbd_rpt_state"); &rc_delete("kbd_rpt_delay"); &rc_delete("kbd_rpt_rate"); -#encoder_command not used any more + #encoder_command not used any more &rc_delete("encoder_command"); -#encoder_acodec used instead + #encoder_acodec used instead &rc_delete("audio_encode_quality"); -#encoder plugin names changed + #encoder plugin names changed $msg="Make sure you delete all the old encoder plugins and install the new ones."; $msg2="Then change your encoder from Preferences / Encoders"; } @@ -8002,17 +7747,16 @@ } } - -# bless this version + # bless this version &rc_set("version","$version"); } sub version_hash { -# turn a version like -# a.b.c into an integer -# a * 1,000,000 plus b * 1,000 plus c -# eg. 1.4.6 becomes 10004006 + # turn a version like + # a.b.c into an integer + # a * 1,000,000 plus b * 1,000 plus c + # eg. 1.4.6 becomes 10004006 my ($string)=shift; if ($string eq "") { @@ -8025,7 +7769,7 @@ sub RGB24_to_string { -# convert input like 255,255,255 to #FFFFFF + # convert input like 255,255,255 to #FFFFFF my ($red,$green,$blue)=@_; sprintf("\"#%02X%02X%02XFF\"",int($red),int($green),int($blue)); @@ -8033,16 +7777,15 @@ sub get_form_request { -# get format request from a (encoder) plugin -# part of the encoding process + # get format request from a (encoder) plugin + # part of the encoding process my ($plugin)=shift; if ($plugin eq "") { return &get_format_request; } else { - if ($^O eq "MSWin32") { -# filter by file ext + # filter by file ext my $ext=&get_ext("$plugin"); if ($ext eq ".py") { $cmd="python"; @@ -8058,10 +7801,10 @@ sub get_convert_version_hash { -# turn a version like -# a.b.c into an integer -# a * 1,000,000 plus b * 1,000 plus c -# eg. 1.4.6 becomes 10004006 + # turn a version like + # a.b.c into an integer + # a * 1,000,000 plus b * 1,000 plus c + # eg. 1.4.6 becomes 10004006 my $real_convert_command=(split(" ",$smog_convert_command))[0]; my $convert_version=smog_system_direct("$real_convert_command 2>$nulfile | grep -i version"); @@ -8071,36 +7814,35 @@ sub weed { -# here is where we clear up diskspace + # here is where we clear up diskspace my $opts=shift; -# opts: - if unset bit 0 (1) delete clips not in any set and not marked as "in-use" (protected with set.* file) -# if unset bit 1 (2) prune (clean up) any non "in-use" clips (remove backup files etc.) (prot. w. noprune) -# if set bit 2 (4) remove any sets (directories) with layouts but no clips (subdirectories) -# if unset bit 3 (8) remove marker files -# if unset bit 4 (16) remove misc. files -# + # opts: - if unset bit 0 (1) delete clips not in any set and not marked as "in-use" (protected with set.* file) + # if unset bit 1 (2) prune (clean up) any non "in-use" clips (remove backup files etc.) (prot. w. noprune) + # if set bit 2 (4) remove any sets (directories) with layouts but no clips (subdirectories) + # if unset bit 3 (8) remove marker files + # if unset bit 4 (16) remove misc. files + # -# + # my $file; smog_chdir("$workdir"); -# get starting disk space + # get starting disk space my $start_total=(split / /, (smog_system_direct("du -sb 2>$nulfile")))[0]; use File::Find; opendir DIR,$workdir; while ($file=readdir(DIR)) { unless ($file =~ /^\./) { - if (-d "$workdir/$file") { -# remove a set unlesss it has clips OR (layouts AND NOT (opts & 0x04)) + # remove a set unlesss it has clips OR (layouts AND NOT (opts & 0x04)) if (&is_non_empty_dir("$workdir/$file/clips") || (&is_non_empty_dir("$workdir/$file/layouts") && !($opts & 0x04))) { -# new style sets, check clips and optionally layouts + # new style sets, check clips and optionally layouts unless (!defined($new_work)||$new_work eq "") { -# we are to move this set + # we are to move this set if (-d "$new_work/$file") { smog_rename( "$new_work/$file","$new_work/$file.bak"); } @@ -8115,9 +7857,7 @@ } } else { - - -# dir is of no interest + # dir is of no interest $in_set=0; find (\&fndset,"$workdir/$file/"); if (!$in_set && !($opts & 0x01)) { @@ -8142,8 +7882,8 @@ } } unless (!defined($new_work)||$new_work eq "") { -# workdir was changed, so we move all sets (subdirs) from old workdir to new -# [TODO - check for set name collision !] + # workdir was changed, so we move all sets (subdirs) from old workdir to new + # [TODO - check for set name collision !] if (-d "$workdir/$file") { if (-d "$new_work/$file") { smog_rename( "$new_work/$file","$new_work/$file.bak"); @@ -8159,7 +7899,7 @@ } } else { -# move crash recovery files + # move crash recovery files unless (!defined($new_work)||$new_work eq "") { if ($file =~ /^recovery/ || $file =~ /^layout/) { smog_rename( "$workdir/$file","$new_work/$file"); @@ -8172,7 +7912,7 @@ closedir DIR; unless ($opts & 0x10) { -# clean up a few extra remnants + # clean up a few extra remnants smog_chdir("$workdir"); unlink glob ".* rfx.* smogplugin.*"; unless (!defined($new_work)||$new_work eq "") { @@ -8180,22 +7920,22 @@ } } -# total disk space at end + # total disk space at end my $end_total=(split / /, (smog_system_direct("du -sb")))[0]; -# return disk space gained (in bytes) + # return disk space gained (in bytes) return $start_total-$end_total; } sub get_sox_version { -#try to get version of sox + #try to get version of sox -# parse a line like "sox: SoX v14.3.2" -# which would return 14.3.2 -# (take third word and strip leading v) + # parse a line like "sox: SoX v14.3.2" + # which would return 14.3.2 + # (take third word and strip leading v) -# final value would be 140003002 + # final value would be 140003002 my $soxv=smog_system_direct("sox -h 2>&1 | grep -i sox:"); @@ -8206,7 +7946,7 @@ $soxvv=substr($soxvv,1,length($soxvv)); } if ($soxvv eq "") { -# version 12.x.x or lower + # version 12.x.x or lower $soxvv=0; } else { @@ -8218,8 +7958,8 @@ sub prune { -# clean up old backup images etc in $workdir/$file -# part of the diskspace recovery process + # clean up old backup images etc in $workdir/$file + # part of the diskspace recovery process $old_handle=$handle; $handle=$file; @@ -8228,16 +7968,13 @@ } - - sub clear_symlinks { -# clear symlinks directory - called after encoding a selection (part of a clip which gets symlinked) - -# this is for "safe" symlinks -# we say that symlinks may be created only within <workdir>/handle/lives-symlinks on whatever system + # clear symlinks directory - called after encoding a selection (part of a clip which gets symlinked) -# this allows e.g dynebolic to use non-Linux disk as working directory + # this is for "safe" symlinks + # we say that symlinks may be created only within <workdir>/handle/lives-symlinks on whatever system + # this allows e.g dynebolic to use non-Linux disk as working directory my $curworkdir="$workdir/$handle"; my $linksdir="$curworkdir/lives-symlinks/"; @@ -8245,7 +7982,7 @@ smog_chdir($curworkdir); if (-d $linksdir) { -# remove directory + contents + # remove directory + contents if ($^O eq "MSWin32") { smog_system("DEL /q \"$linksdir\""); smog_system("RMDIR \"$linksdir\""); @@ -8255,7 +7992,7 @@ } } -#create dir so next step works + #create dir so next step works if ($^O eq "MSWin32") { smog_system("mkdir.exe /p \"$linksdir\""); } @@ -8263,7 +8000,7 @@ make_path("$linksdir"); } -# remove dir + any empty parents + # remove dir + any empty parents if ($^O eq "MSWin32") { smog_system("rmdir.exe /p \"$linksdir\" 2>$nulfile"); } @@ -8274,10 +8011,9 @@ sub is_non_empty_dir { -#return 1 if "the parameter" is the name of a directory containing at least one non-dotted file - -#uses opendir and readdir + #return 1 if "the parameter" is the name of a directory containing at least one non-dotted file + #uses opendir and readdir my $dirname=shift; my $xfile;
View file
LiVES-2.8.4.tar.bz2/src/Makefile.am -> LiVES-2.8.6.tar.bz2/src/Makefile.am
Changed
@@ -116,6 +116,12 @@ endif +if HAVE_WAYLAND +wayland_LDADD=@WAYLAND_LIBS@ +wayland_CFLAGS=@WAYLAND_CFLAGS@ -DHAVE_WAYLAND=1 +endif + + if DISABLE_GLSLICE if HAVE_SYSTEM_WEED libweed_LDADD = @WEED_LIBS@ @WEED_UTILS_LIBS@ @@ -214,14 +220,14 @@ lives_exe_LDFLAGS = $(gtk_LIBFLAGS) -shared $(oil_LIBFLAGS) -lives_exe_LDADD = @X11_LIBS@ @MJPEGTOOLS_LIBS@ $(osc_LDADD) $(jack_LDADD) $(ldvgrab_LDADD) \ +lives_exe_LDADD = @X11_LIBS@ $(wayland_LDADD) @MJPEGTOOLS_LIBS@ $(osc_LDADD) $(jack_LDADD) $(ldvgrab_LDADD) \ $(alsa_LDADD) $(pulse_LDADD) $(png_LDADD) $(swscale_LDADD) $(pthread_LDADD) $(libweed_LDADD) \ $(giw_LDADD) $(v4l1_LDADD) \ @UNICAP_LIBS@ AM_CFLAGS = -Wstrict-aliasing=0 -Wall $(yuv4mpeg_CFLAGS) $(ldvgrab_CFLAGS) $(dvgrab_CFLAGS) \ - $(oil_CFLAGS) \ + $(oil_CFLAGS) $(wayland_CFLAGS) \ $(darwin_CFLAGS) $(irix_CFLAGS) $(linux_CFLAGS) $(solaris_CFLAGS) $(osc_CFLAGS) $(mingw_CFLAGS) $(alsa_CFLAGS) $(png_CFLAGS) $(swscale_CFLAGS) \ $(jack_CFLAGS) $(pulse_CFLAGS) $(giw_CFLAGS) $(unicap_CFLAGS) $(libweed_CFLAGS) $(libweed_compat_CFLAGS) \ -DLIVES_LIBDIR=\""$(libdir)"\" $(gtk_def) @@ -262,7 +268,7 @@ liblivesdir = $(libdir) -extra_LDFLAGS = @X11_LIBS@ @MJPEGTOOLS_LIBS@ \ +extra_LDFLAGS = @X11_LIBS@ $(wayland_LDADD) @MJPEGTOOLS_LIBS@ \ $(jack_LDADD) $(ldvgrab_LDADD) \ $(alsa_LDADD) $(pulse_LDADD) $(png_LDADD) $(swscale_LDADD) $(pthread_LDADD) \ $(giw_LDADD) $(v4l1_LDADD) @UNICAP_LIBS@ $(gtk_LIBFLAGS) $(oil_LIBFLAGS)
View file
LiVES-2.8.4.tar.bz2/src/Makefile.in -> LiVES-2.8.6.tar.bz2/src/Makefile.in
Changed
@@ -263,19 +263,19 @@ $(am__objects_11) $(am__objects_12) $(am__objects_13) \ $(am__objects_14) $(am__objects_15) lives_exe_OBJECTS = $(am_lives_exe_OBJECTS) -@ENABLE_OSC_TRUE@am__DEPENDENCIES_1 = \ +am__DEPENDENCIES_1 = +@ENABLE_OSC_TRUE@am__DEPENDENCIES_2 = \ @ENABLE_OSC_TRUE@ $(top_builddir)/libOSC/.libs/libOSC.a \ @ENABLE_OSC_TRUE@ $(top_builddir)/libOSC/client/.libs/libOSC_client.a -am__DEPENDENCIES_2 = @DISABLE_GLSLICE_FALSE@@HAVE_SYSTEM_WEED_FALSE@am__DEPENDENCIES_3 = $(abs_top_srcdir)/libweed/libweed_slice.la \ @DISABLE_GLSLICE_FALSE@@HAVE_SYSTEM_WEED_FALSE@ $(abs_top_srcdir)/libweed/libweed-utils.la @DISABLE_GLSLICE_TRUE@@HAVE_SYSTEM_WEED_FALSE@am__DEPENDENCIES_3 = $(abs_top_srcdir)/libweed/libweed.la \ @DISABLE_GLSLICE_TRUE@@HAVE_SYSTEM_WEED_FALSE@ $(abs_top_srcdir)/libweed/libweed-utils.la lives_exe_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \ - $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_2) \ - $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_2) \ - $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \ - $(am__DEPENDENCIES_2) + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_1) lives_exe_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(lives_exe_LDFLAGS) $(LDFLAGS) -o $@ @@ -408,8 +408,6 @@ GENCAT = @GENCAT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GLEE_CFLAGS = @GLEE_CFLAGS@ -GLEE_LIBS = @GLEE_LIBS@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -546,6 +544,8 @@ VERSION = @VERSION@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ +WAYLAND_CFLAGS = @WAYLAND_CFLAGS@ +WAYLAND_LIBS = @WAYLAND_LIBS@ WEED_CFLAGS = @WEED_CFLAGS@ WEED_COMPAT_CFLAGS = @WEED_COMPAT_CFLAGS@ WEED_COMPAT_LIBS = @WEED_COMPAT_LIBS@ @@ -672,6 +672,8 @@ @ENABLE_LIBOIL_TRUE@oil_CFLAGS = @OIL_CFLAGS@ -DENABLE_OIL=1 @HAVE_ALSA_TRUE@alsa_LDADD = @ALSA_LIBS@ @HAVE_ALSA_TRUE@alsa_CFLAGS = @ALSA_CFLAGS@ -DALSA_MIDI=1 +@HAVE_WAYLAND_TRUE@wayland_LDADD = @WAYLAND_LIBS@ +@HAVE_WAYLAND_TRUE@wayland_CFLAGS = @WAYLAND_CFLAGS@ -DHAVE_WAYLAND=1 @DISABLE_GLSLICE_FALSE@@HAVE_SYSTEM_WEED_FALSE@libweed_LDADD = $(abs_top_srcdir)/libweed/libweed_slice.la $(abs_top_srcdir)/libweed/libweed-utils.la @DISABLE_GLSLICE_FALSE@@HAVE_SYSTEM_WEED_TRUE@libweed_LDADD = @WEED_SLICE_LIBS@ @WEED_UTILS_LIBS@ @DISABLE_GLSLICE_TRUE@@HAVE_SYSTEM_WEED_FALSE@libweed_LDADD = $(abs_top_srcdir)/libweed/libweed.la $(abs_top_srcdir)/libweed/libweed-utils.la @@ -734,19 +736,20 @@ $(giw_SOURCES) lives_exe_LDFLAGS = $(gtk_LIBFLAGS) -shared $(oil_LIBFLAGS) -lives_exe_LDADD = @X11_LIBS@ @MJPEGTOOLS_LIBS@ $(osc_LDADD) $(jack_LDADD) $(ldvgrab_LDADD) \ +lives_exe_LDADD = @X11_LIBS@ $(wayland_LDADD) @MJPEGTOOLS_LIBS@ $(osc_LDADD) $(jack_LDADD) $(ldvgrab_LDADD) \ $(alsa_LDADD) $(pulse_LDADD) $(png_LDADD) $(swscale_LDADD) $(pthread_LDADD) $(libweed_LDADD) \ $(giw_LDADD) $(v4l1_LDADD) \ @UNICAP_LIBS@ AM_CFLAGS = -Wstrict-aliasing=0 -Wall $(yuv4mpeg_CFLAGS) \ $(ldvgrab_CFLAGS) $(dvgrab_CFLAGS) $(oil_CFLAGS) \ - $(darwin_CFLAGS) $(irix_CFLAGS) $(linux_CFLAGS) \ - $(solaris_CFLAGS) $(osc_CFLAGS) $(mingw_CFLAGS) $(alsa_CFLAGS) \ - $(png_CFLAGS) $(swscale_CFLAGS) $(jack_CFLAGS) $(pulse_CFLAGS) \ - $(giw_CFLAGS) $(unicap_CFLAGS) $(libweed_CFLAGS) \ - $(libweed_compat_CFLAGS) -DLIVES_LIBDIR=\""$(libdir)"\" \ - $(gtk_def) $(am__append_2) $(am__append_3) + $(wayland_CFLAGS) $(darwin_CFLAGS) $(irix_CFLAGS) \ + $(linux_CFLAGS) $(solaris_CFLAGS) $(osc_CFLAGS) \ + $(mingw_CFLAGS) $(alsa_CFLAGS) $(png_CFLAGS) $(swscale_CFLAGS) \ + $(jack_CFLAGS) $(pulse_CFLAGS) $(giw_CFLAGS) $(unicap_CFLAGS) \ + $(libweed_CFLAGS) $(libweed_compat_CFLAGS) \ + -DLIVES_LIBDIR=\""$(libdir)"\" $(gtk_def) $(am__append_2) \ + $(am__append_3) AM_CXXFLAGS = $(AM_CFLAGS) @BUILD_LIBLIVES_TRUE@liblives_libs = liblives.la @BUILD_LIBLIVES_TRUE@lib_LTLIBRARIES = $(liblives_libs) @@ -758,7 +761,7 @@ @BUILD_LIBLIVES_TRUE@@IS_DARWIN_FALSE@liblives_la_LIBFLAGS = -fPIC -DPIC -module @BUILD_LIBLIVES_TRUE@@IS_DARWIN_TRUE@liblives_la_LIBFLAGS = -dynamiclib -module @BUILD_LIBLIVES_TRUE@liblivesdir = $(libdir) -@BUILD_LIBLIVES_TRUE@extra_LDFLAGS = @X11_LIBS@ @MJPEGTOOLS_LIBS@ \ +@BUILD_LIBLIVES_TRUE@extra_LDFLAGS = @X11_LIBS@ $(wayland_LDADD) @MJPEGTOOLS_LIBS@ \ @BUILD_LIBLIVES_TRUE@ $(jack_LDADD) $(ldvgrab_LDADD) \ @BUILD_LIBLIVES_TRUE@ $(alsa_LDADD) $(pulse_LDADD) $(png_LDADD) $(swscale_LDADD) $(pthread_LDADD) \ @BUILD_LIBLIVES_TRUE@ $(giw_LDADD) $(v4l1_LDADD) @UNICAP_LIBS@ $(gtk_LIBFLAGS) $(oil_LIBFLAGS)
View file
LiVES-2.8.4.tar.bz2/src/audio.c -> LiVES-2.8.6.tar.bz2/src/audio.c
Changed
@@ -28,15 +28,15 @@ static char *storedfnames[NSTOREDFDS]; static int storedfds[NSTOREDFDS]; -static boolean storedfdsset=FALSE; +static boolean storedfdsset = FALSE; static void audio_reset_stored_fnames(void) { int i; - for (i=0; i<NSTOREDFDS; i++) { - storedfnames[i]=NULL; - storedfds[i]=-1; + for (i = 0; i < NSTOREDFDS; i++) { + storedfnames[i] = NULL; + storedfds[i] = -1; } - storedfdsset=TRUE; + storedfdsset = TRUE; } @@ -48,11 +48,11 @@ if (!storedfdsset) return; - for (i=0; i<NSTOREDFDS; i++) { - if (storedfnames!=NULL) { + for (i = 0; i < NSTOREDFDS; i++) { + if (storedfnames != NULL) { lives_freep((void **)&storedfnames[i]); - if (storedfds[i]>-1) close(storedfds[i]); - storedfds[i]=-1; + if (storedfds[i] > -1) close(storedfds[i]); + storedfds[i] = -1; } } } @@ -64,22 +64,22 @@ if (!prefs->push_audio_to_gens) return; - if (abuf->bufferf==NULL) free_audio_frame_buffer(abuf); + if (abuf->bufferf == NULL) free_audio_frame_buffer(abuf); - nsampsize=(abuf->samples_filled+nsamples)*sizeof(float); + nsampsize = (abuf->samples_filled + nsamples) * sizeof(float); channum++; - if (channum>abuf->out_achans) { + if (channum > abuf->out_achans) { register int i; - abuf->bufferf=(float **)lives_realloc(abuf->bufferf,channum*sizeof(float *)); - for (i=abuf->out_achans; i<channum; i++) { - abuf->bufferf[i]=NULL; + abuf->bufferf = (float **)lives_realloc(abuf->bufferf, channum * sizeof(float *)); + for (i = abuf->out_achans; i < channum; i++) { + abuf->bufferf[i] = NULL; } - abuf->out_achans=channum; + abuf->out_achans = channum; } channum--; - abuf->bufferf[channum]=(float *)lives_realloc(abuf->bufferf[channum],nsampsize*sizeof(float)); - lives_memcpy(&abuf->bufferf[channum][abuf->samples_filled],src,nsamples*sizeof(float)); + abuf->bufferf[channum] = (float *)lives_realloc(abuf->bufferf[channum], nsampsize * sizeof(float)); + lives_memcpy(&abuf->bufferf[channum][abuf->samples_filled], src, nsamples * sizeof(float)); } @@ -88,25 +88,25 @@ // append 16 bit audio to the audio frame buffer size_t nsampsize; - if (abuf==NULL) return; + if (abuf == NULL) return; if (!prefs->push_audio_to_gens) return; - if (abuf->buffer16==NULL) free_audio_frame_buffer(abuf); + if (abuf->buffer16 == NULL) free_audio_frame_buffer(abuf); - nsampsize=(abuf->samples_filled+nsamples)*2; + nsampsize = (abuf->samples_filled + nsamples) * 2; channum++; - if (abuf->buffer16==NULL||channum>abuf->out_achans) { + if (abuf->buffer16 == NULL || channum > abuf->out_achans) { register int i; - abuf->buffer16=(int16_t **)lives_realloc(abuf->buffer16,channum*sizeof(int16_t *)); - for (i=abuf->out_achans; i<channum; i++) { - abuf->buffer16[i]=NULL; + abuf->buffer16 = (int16_t **)lives_realloc(abuf->buffer16, channum * sizeof(int16_t *)); + for (i = abuf->out_achans; i < channum; i++) { + abuf->buffer16[i] = NULL; } - abuf->out_achans=channum; + abuf->out_achans = channum; } channum--; - abuf->buffer16[channum]=(int16_t *)lives_realloc(abuf->buffer16[channum],nsampsize*2); - lives_memcpy(&abuf->buffer16[channum][abuf->samples_filled],src,nsamples*2); + abuf->buffer16[channum] = (int16_t *)lives_realloc(abuf->buffer16[channum], nsampsize * 2); + lives_memcpy(&abuf->buffer16[channum][abuf->samples_filled], src, nsamples * 2); #ifdef DEBUG_AFB g_print("append16 to afb\n"); #endif @@ -118,25 +118,25 @@ // function should be called when the first video generator with audio input is enabled lives_audio_buf_t *abuf; - abuf=mainw->audio_frame_buffer=(lives_audio_buf_t *)lives_malloc0(sizeof(lives_audio_buf_t)); + abuf = mainw->audio_frame_buffer = (lives_audio_buf_t *)lives_malloc0(sizeof(lives_audio_buf_t)); - abuf->samples_filled=0; - abuf->swap_endian=FALSE; - abuf->out_achans=0; + abuf->samples_filled = 0; + abuf->swap_endian = FALSE; + abuf->out_achans = 0; switch (aplayer) { #ifdef HAVE_PULSE_AUDIO case AUD_PLAYER_PULSE: - abuf->in_interleaf=TRUE; - abuf->s16_signed=TRUE; - abuf->arate=mainw->pulsed->out_arate; + abuf->in_interleaf = TRUE; + abuf->s16_signed = TRUE; + abuf->arate = mainw->pulsed->out_arate; break; #endif #ifdef ENABLE_JACK case AUD_PLAYER_JACK: - abuf->in_interleaf=FALSE; - abuf->out_interleaf=FALSE; - abuf->arate=mainw->jackd->sample_out_rate; + abuf->in_interleaf = FALSE; + abuf->out_interleaf = FALSE; + abuf->arate = mainw->jackd->sample_out_rate; break; #endif default: @@ -153,35 +153,35 @@ // function should be called to clear samples // cannot use lives_freep register int i; - if (abuf!=NULL) { - if (abuf->bufferf!=NULL) { - for (i=0; i<abuf->out_achans; i++) lives_free(abuf->bufferf[i]); + if (abuf != NULL) { + if (abuf->bufferf != NULL) { + for (i = 0; i < abuf->out_achans; i++) lives_free(abuf->bufferf[i]); lives_free(abuf->bufferf); - abuf->bufferf=NULL; + abuf->bufferf = NULL; } - if (abuf->buffer32!=NULL) { - for (i=0; i<abuf->out_achans; i++) lives_free(abuf->buffer32[i]); + if (abuf->buffer32 != NULL) { + for (i = 0; i < abuf->out_achans; i++) lives_free(abuf->buffer32[i]); lives_free(abuf->buffer32); - abuf->buffer32=NULL; + abuf->buffer32 = NULL; } - if (abuf->buffer24!=NULL) { - for (i=0; i<abuf->out_achans; i++) lives_free(abuf->buffer24[i]); + if (abuf->buffer24 != NULL) { + for (i = 0; i < abuf->out_achans; i++) lives_free(abuf->buffer24[i]); lives_free(abuf->buffer24); - abuf->buffer24=NULL; + abuf->buffer24 = NULL; } - if (abuf->buffer16!=NULL) { - for (i=0; i<abuf->out_achans; i++) lives_free(abuf->buffer16[i]); + if (abuf->buffer16 != NULL) { + for (i = 0; i < abuf->out_achans; i++) lives_free(abuf->buffer16[i]); lives_free(abuf->buffer16); - abuf->buffer16=NULL; + abuf->buffer16 = NULL; } - if (abuf->buffer8!=NULL) { - for (i=0; i<abuf->out_achans; i++) lives_free(abuf->buffer8[i]); + if (abuf->buffer8 != NULL) { + for (i = 0; i < abuf->out_achans; i++) lives_free(abuf->buffer8[i]); lives_free(abuf->buffer8); - abuf->buffer8=NULL; + abuf->buffer8 = NULL; } - abuf->samples_filled=0; - abuf->out_achans=0; + abuf->samples_filled = 0; + abuf->out_achans = 0; } #ifdef DEBUG_AFB g_print("clear afb\n"); @@ -189,10 +189,61 @@ } +float get_float_audio_val_at_time(int fnum, int afd, double secs, int chnum, int chans) { + // return audio level between -1.0 and +1.0 + + lives_clip_t *afile = mainw->files[fnum]; + int64_t bytes; + off_t apos; + + uint8_t val8; + uint8_t val8b; + + uint16_t val16; + + float val; + + bytes = secs * afile->arate * afile->achans * afile->asampsize / 8; + if (bytes == 0) return 0.; + + apos = ((int64_t)(bytes / afile->achans / (afile->asampsize / 8))) * afile->achans * (afile->asampsize / 8); // quantise + + if (afd == -1) { + // deal with read errors after drawing a whole block + mainw->read_failed = TRUE; + return 0.; + } + + apos += afile->asampsize / 8 * chnum; + + lseek(afd, apos, SEEK_SET); + + if (afile->asampsize == 8) { + // 8 bit sample size + lives_read(afd, &val8, 1, FALSE); + if (!(afile->signed_endian & AFORM_UNSIGNED)) val = val8 >= 128 ? val8 - 256 : val8; + else val = val8 - 127; + val /= 127.; + } else { + // 16 bit sample size + lives_read(afd, &val8, 1, TRUE); + lives_read(afd, &val8b, 1, TRUE); + if (afile->signed_endian & AFORM_BIG_ENDIAN) val16 = (uint16_t)(val8 << 8) + val8b; + else val16 = (uint16_t)(val8b << 8) + val8; + if (!(afile->signed_endian & AFORM_UNSIGNED)) val = val16 >= 32768 ? val16 - 65536 : val16; + else val = val16 - 32767; + val /= 32767.; + } + + //printf("val is %f\n",val); + return val; +} + + LIVES_INLINE void sample_silence_dS(float *dst, uint64_t nsamples) { // send silence to the jack player - memset(dst,0,nsamples*sizeof(float)); + memset(dst, 0, nsamples * sizeof(float)); } @@ -201,50 +252,50 @@ // convert 8 bit audio to 16 bit audio register int nSrcCount, nDstCount; - register float src_offset_f=0.f; - register int src_offset_i=0; + register float src_offset_f = 0.f; + register int src_offset_i = 0; register int ccount; unsigned char *ptr; unsigned char *src_end; // take care of rounding errors - src_end=src+tbytes-nSrcChannels; + src_end = src + tbytes - nSrcChannels; if (!nSrcChannels) return; - if (scale<0.f) { - src_offset_f=((float)(nsamples)*(-scale)-1.f); - src_offset_i=(int)src_offset_f*nSrcChannels; + if (scale < 0.f) { + src_offset_f = ((float)(nsamples) * (-scale) - 1.f); + src_offset_i = (int)src_offset_f * nSrcChannels; } while (nsamples--) { nSrcCount = nSrcChannels; nDstCount = nDstChannels; - ccount=0; + ccount = 0; /* loop until all of our destination channels are filled */ while (nDstCount) { nSrcCount--; nDstCount--; - ptr=src+ccount+src_offset_i; - ptr=ptr>src?(ptr<(src_end+ccount)?ptr:(src_end+ccount)):src; + ptr = src + ccount + src_offset_i; + ptr = ptr > src ? (ptr < (src_end + ccount) ? ptr : (src_end + ccount)) : src; - if (!swap_sign) *(dst++) = *(ptr)<<8; - else if (swap_sign==SWAP_U_TO_S) *(dst++)=((short)(*(ptr))-128)<<8; - else *((unsigned short *)(dst++))=((short)(*(ptr))+128)<<8; + if (!swap_sign) *(dst++) = *(ptr) << 8; + else if (swap_sign == SWAP_U_TO_S) *(dst++) = ((short)(*(ptr)) - 128) << 8; + else *((unsigned short *)(dst++)) = ((short)(*(ptr)) + 128) << 8; ccount++; /* if we ran out of source channels but not destination channels */ /* then start the src channels back where we were */ if (!nSrcCount && nDstCount) { - ccount=0; + ccount = 0; nSrcCount = nSrcChannels; } } /* advance the the position */ - src_offset_i=(int)(src_offset_f+=scale)*nSrcChannels; + src_offset_i = (int)(src_offset_f += scale) * nSrcChannels; } } @@ -254,57 +305,57 @@ void sample_move_d16_d16(int16_t *dst, int16_t *src, uint64_t nsamples, size_t tbytes, float scale, int nDstChannels, int nSrcChannels, int swap_endian, int swap_sign) { register int nSrcCount, nDstCount; - register float src_offset_f=0.f; - register int src_offset_i=0; - register int ccount=0; + register float src_offset_f = 0.f; + register int src_offset_i = 0; + register int ccount = 0; int16_t *ptr; int16_t *src_end; if (!nSrcChannels) return; - if (scale<0.f) { - src_offset_f=((float)(nsamples)*(-scale)-1.f); - src_offset_i=(int)src_offset_f*nSrcChannels; + if (scale < 0.f) { + src_offset_f = ((float)(nsamples) * (-scale) - 1.f); + src_offset_i = (int)src_offset_f * nSrcChannels; } // take care of rounding errors - src_end=src+tbytes/sizeof(short)-nSrcChannels; + src_end = src + tbytes / sizeof(short) - nSrcChannels; while (nsamples--) { - if ((nSrcCount = nSrcChannels)==(nDstCount = nDstChannels)&&!swap_endian&&!swap_sign) { + if ((nSrcCount = nSrcChannels) == (nDstCount = nDstChannels) && !swap_endian && !swap_sign) { // same number of channels - ptr=src+src_offset_i; - ptr=ptr>src?(ptr<src_end?ptr:src_end):src; + ptr = src + src_offset_i; + ptr = ptr > src ? (ptr < src_end ? ptr : src_end) : src; - lives_memcpy(dst,ptr,nSrcChannels*2); - dst+=nDstCount; + lives_memcpy(dst, ptr, nSrcChannels * 2); + dst += nDstCount; } else { - ccount=0; + ccount = 0; /* loop until all of our destination channels are filled */ while (nDstCount) { nSrcCount--; nDstCount--; - ptr=src+ccount+src_offset_i; - ptr=ptr>src?(ptr<(src_end+ccount)?ptr:(src_end+ccount)):src; + ptr = src + ccount + src_offset_i; + ptr = ptr > src ? (ptr < (src_end + ccount) ? ptr : (src_end + ccount)) : src; /* copy the data over */ if (!swap_endian) { if (!swap_sign) *(dst++) = *ptr; - else if (swap_sign==SWAP_S_TO_U) *((uint16_t *)dst++) = (uint16_t)(*ptr+SAMPLE_MAX_16BITI); - else *(dst++)=*ptr-SAMPLE_MAX_16BITI; - } else if (swap_endian==SWAP_X_TO_L) { - if (!swap_sign) *(dst++)=(((*ptr)&0x00FF)<<8)+((*ptr)>>8); - else if (swap_sign==SWAP_S_TO_U) *((uint16_t *)dst++)=(uint16_t)(((*ptr&0x00FF)<<8)+(*ptr>>8)+SAMPLE_MAX_16BITI); - else *(dst++)=((*ptr&0x00FF)<<8)+(*ptr>>8)-SAMPLE_MAX_16BITI; + else if (swap_sign == SWAP_S_TO_U) *((uint16_t *)dst++) = (uint16_t)(*ptr + SAMPLE_MAX_16BITI); + else *(dst++) = *ptr - SAMPLE_MAX_16BITI; + } else if (swap_endian == SWAP_X_TO_L) { + if (!swap_sign) *(dst++) = (((*ptr) & 0x00FF) << 8) + ((*ptr) >> 8); + else if (swap_sign == SWAP_S_TO_U) *((uint16_t *)dst++) = (uint16_t)(((*ptr & 0x00FF) << 8) + (*ptr >> 8) + SAMPLE_MAX_16BITI); + else *(dst++) = ((*ptr & 0x00FF) << 8) + (*ptr >> 8) - SAMPLE_MAX_16BITI; } else { - if (!swap_sign) *(dst++)=(((*ptr)&0x00FF)<<8)+((*ptr)>>8); - else if (swap_sign==SWAP_S_TO_U) *((uint16_t *)dst++)=(uint16_t)(((((uint16_t)(*ptr+SAMPLE_MAX_16BITI))&0x00FF)<<8)+ - (((uint16_t)(*ptr+SAMPLE_MAX_16BITI))>>8)); - else *(dst++)=((((int16_t)(*ptr-SAMPLE_MAX_16BITI))&0x00FF)<<8)+(((int16_t)(*ptr-SAMPLE_MAX_16BITI))>>8); + if (!swap_sign) *(dst++) = (((*ptr) & 0x00FF) << 8) + ((*ptr) >> 8); + else if (swap_sign == SWAP_S_TO_U) *((uint16_t *)dst++) = (uint16_t)(((((uint16_t)(*ptr + SAMPLE_MAX_16BITI)) & 0x00FF) << 8) + + (((uint16_t)(*ptr + SAMPLE_MAX_16BITI)) >> 8)); + else *(dst++) = ((((int16_t)(*ptr - SAMPLE_MAX_16BITI)) & 0x00FF) << 8) + (((int16_t)(*ptr - SAMPLE_MAX_16BITI)) >> 8); } ccount++; @@ -312,13 +363,13 @@ /* if we ran out of source channels but not destination channels */ /* then start the src channels back where we were */ if (!nSrcCount && nDstCount) { - ccount=0; + ccount = 0; nSrcCount = nSrcChannels; } } } /* advance the the position */ - src_offset_i=(int)(src_offset_f+=scale)*nSrcChannels; + src_offset_i = (int)(src_offset_f += scale) * nSrcChannels; } } @@ -327,51 +378,51 @@ void sample_move_d16_d8(uint8_t *dst, short *src, uint64_t nsamples, size_t tbytes, float scale, int nDstChannels, int nSrcChannels, int swap_sign) { register int nSrcCount, nDstCount; - register float src_offset_f=0.f; - register int src_offset_i=0; - register int ccount=0; + register float src_offset_f = 0.f; + register int src_offset_i = 0; + register int ccount = 0; short *ptr; short *src_end; if (!nSrcChannels) return; - if (scale<0.f) { - src_offset_f=((float)(nsamples)*(-scale)-1.f); - src_offset_i=(int)src_offset_f*nSrcChannels; + if (scale < 0.f) { + src_offset_f = ((float)(nsamples) * (-scale) - 1.f); + src_offset_i = (int)src_offset_f * nSrcChannels; } - src_end=src+tbytes/sizeof(short)-nSrcChannels; + src_end = src + tbytes / sizeof(short) - nSrcChannels; while (nsamples--) { nSrcCount = nSrcChannels; nDstCount = nDstChannels; - ccount=0; + ccount = 0; /* loop until all of our destination channels are filled */ while (nDstCount) { nSrcCount--; nDstCount--; - ptr=src+ccount+src_offset_i; - ptr=ptr>src?(ptr<(src_end+ccount)?ptr:src_end+ccount):src; + ptr = src + ccount + src_offset_i; + ptr = ptr > src ? (ptr < (src_end + ccount) ? ptr : src_end + ccount) : src; /* copy the data over */ - if (!swap_sign) *(dst++) = (*ptr>>8); - else if (swap_sign==SWAP_S_TO_U) *(dst++) = (uint8_t)((int8_t)(*ptr>>8)+128); - else *((int8_t *)dst++) = (int8_t)((uint8_t)(*ptr>>8)-128); + if (!swap_sign) *(dst++) = (*ptr >> 8); + else if (swap_sign == SWAP_S_TO_U) *(dst++) = (uint8_t)((int8_t)(*ptr >> 8) + 128); + else *((int8_t *)dst++) = (int8_t)((uint8_t)(*ptr >> 8) - 128); ccount++; /* if we ran out of source channels but not destination channels */ /* then start the src channels back where we were */ if (!nSrcCount && nDstCount) { - ccount=0; + ccount = 0; nSrcCount = nSrcChannels; } } /* advance the the position */ - src_offset_i=(int)(src_offset_f+=scale)*nSrcChannels; + src_offset_i = (int)(src_offset_f += scale) * nSrcChannels; } } @@ -380,12 +431,12 @@ void sample_move_d16_float(float *dst, short *src, uint64_t nsamples, uint64_t src_skip, int is_unsigned, boolean rev_endian, float vol) { // convert 16 bit audio to float audio - register float svolp,svoln; + register float svolp, svoln; #ifdef ENABLE_OIL - float val=0.; // set a value to stop valgrind complaining - double xn,xp,xa; - double y=0.f; + float val = 0.; // set a value to stop valgrind complaining + double xn, xp, xa; + double y = 0.f; #else register float val; register short valss; @@ -395,43 +446,43 @@ short srcxs; short *srcp; - if (vol==0.) vol=0.0000001f; - svolp=SAMPLE_MAX_16BIT_P/vol; - svoln=SAMPLE_MAX_16BIT_N/vol; + if (vol == 0.) vol = 0.0000001f; + svolp = SAMPLE_MAX_16BIT_P / vol; + svoln = SAMPLE_MAX_16BIT_N / vol; #ifdef ENABLE_OIL - xp=1./svolp; - xn=1./svoln; - xa=2.*vol/(SAMPLE_MAX_16BIT_P+SAMPLE_MAX_16BIT_N); + xp = 1. / svolp; + xn = 1. / svoln; + xa = 2.*vol / (SAMPLE_MAX_16BIT_P + SAMPLE_MAX_16BIT_N); #endif while (nsamples--) { if (rev_endian) { - memcpy(&srcx,src+1,2); - srcxs=(srcx[0]<<8) + srcx[1]; - srcp=&srcxs; - } else srcp=src; + memcpy(&srcx, src + 1, 2); + srcxs = (srcx[0] << 8) + srcx[1]; + srcp = &srcxs; + } else srcp = src; if (!is_unsigned) { #ifdef ENABLE_OIL - oil_scaleconv_f32_s16(&val,srcp,1,&y,val>0?&xp:&xn); + oil_scaleconv_f32_s16(&val, srcp, 1, &y, val > 0 ? &xp : &xn); #else - if ((val = (float)((float)(*srcp) / (*srcp>0?svolp:svoln)))>1.0f) val=1.0f; - else if (val<-1.0f) val=-1.0f; + if ((val = (float)((float)(*srcp) / (*srcp > 0 ? svolp : svoln))) > 1.0f) val = 1.0f; + else if (val < -1.0f) val = -1.0f; #endif } else { #ifdef ENABLE_OIL - oil_scaleconv_f32_u16(&val,(unsigned short *)srcp,1,&y,&xa); - val-=vol; + oil_scaleconv_f32_u16(&val, (unsigned short *)srcp, 1, &y, &xa); + val -= vol; #else - valss=(unsigned short)*srcp-SAMPLE_MAX_16BITI; - if ((val = (float)((float)(valss) / (valss>0?svolp:svoln)))>1.0f) val=1.0f; - else if (val<-1.0f) val=-1.0f; + valss = (unsigned short) * srcp - SAMPLE_MAX_16BITI; + if ((val = (float)((float)(valss) / (valss > 0 ? svolp : svoln))) > 1.0f) val = 1.0f; + else if (val < -1.0f) val = -1.0f; #endif } - *(dst++)=val; + *(dst++) = val; src += src_skip; } @@ -441,14 +492,14 @@ void sample_move_float_float(float *dst, float *src, uint64_t nsamples, float scale, int dst_skip) { // copy one channel of float to a buffer, applying the scale (scale 2.0 to double the rate, etc) - volatile size_t offs=0; - float offs_f=0.; + volatile size_t offs = 0; + float offs_f = 0.; register int i; - for (i=0; i<nsamples; i++) { - *dst=src[offs]; - dst+=dst_skip; - offs=(size_t)(offs_f+=scale); + for (i = 0; i < nsamples; i++) { + *dst = src[offs]; + dst += dst_skip; + offs = (size_t)(offs_f += scale); } } @@ -458,47 +509,47 @@ int usigned, boolean little_endian, boolean interleaved, float vol) { // convert float samples back to int // interleaved is for the float buffer; output int is always interleaved - int64_t frames_out=0l; + int64_t frames_out = 0l; register int i; - register int offs=0,coffs=0; - register float coffs_f=0.f; - short *hbuffs=(short *)holding_buff; - unsigned short *hbuffu=(unsigned short *)holding_buff; - unsigned char *hbuffc=(unsigned char *)holding_buff; + register int offs = 0, coffs = 0; + register float coffs_f = 0.f; + short *hbuffs = (short *)holding_buff; + unsigned short *hbuffu = (unsigned short *)holding_buff; + unsigned char *hbuffc = (unsigned char *)holding_buff; register short val; - register unsigned short valu=0; + register unsigned short valu = 0; register float valf; - while ((nsamps-coffs)>0) { + while ((nsamps - coffs) > 0) { frames_out++; - for (i=0; i<chans; i++) { - valf=*(float_buffer[i]+(interleaved?(coffs*chans):coffs)); - valf*=vol; - val=(short)(valf*(valf>0.?SAMPLE_MAX_16BIT_P:SAMPLE_MAX_16BIT_N)); + for (i = 0; i < chans; i++) { + valf = *(float_buffer[i] + (interleaved ? (coffs * chans) : coffs)); + valf *= vol; + val = (short)(valf * (valf > 0. ? SAMPLE_MAX_16BIT_P : SAMPLE_MAX_16BIT_N)); - if (usigned) valu=(val+SAMPLE_MAX_16BITI); + if (usigned) valu = (val + SAMPLE_MAX_16BITI); - if (asamps==16) { + if (asamps == 16) { if (!little_endian) { - if (usigned) *(hbuffu+offs)=valu; - else *(hbuffs+offs)=val; + if (usigned) *(hbuffu + offs) = valu; + else *(hbuffs + offs) = val; } else { if (usigned) { - *(hbuffc+offs)=valu&0x00FF; - *(hbuffc+(++offs))=(valu&0xFF00)>>8; + *(hbuffc + offs) = valu & 0x00FF; + *(hbuffc + (++offs)) = (valu & 0xFF00) >> 8; } else { - *(hbuffc+offs)=val&0x00FF; - *(hbuffc+(++offs))=(val&0xFF00)>>8; + *(hbuffc + offs) = val & 0x00FF; + *(hbuffc + (++offs)) = (val & 0xFF00) >> 8; } } } else { - *(hbuffc+offs)=(unsigned char)((float)val/256.); + *(hbuffc + offs) = (unsigned char)((float)val / 256.); } offs++; } - coffs=(int)(coffs_f+=scale); + coffs = (int)(coffs_f += scale); } return frames_out; } @@ -510,86 +561,86 @@ int64_t sample_move_abuf_float(float **obuf, int nchans, int nsamps, int out_arate, float vol) { - int samples_out=0; + int samples_out = 0; #ifdef ENABLE_JACK - int samps=0; + int samps = 0; lives_audio_buf_t *abuf; int in_arate; - register size_t offs=0,ioffs,xchan; + register size_t offs = 0, ioffs, xchan; - register float src_offset_f=0.f; - register int src_offset_i=0; + register float src_offset_f = 0.f; + register int src_offset_i = 0; - register int i,j; + register int i, j; register double scale; size_t curval; pthread_mutex_lock(&mainw->abuf_mutex); - if (mainw->jackd->read_abuf==-1) { + if (mainw->jackd->read_abuf == -1) { pthread_mutex_unlock(&mainw->abuf_mutex); return 0; } - abuf=mainw->jackd->abufs[mainw->jackd->read_abuf]; - in_arate=abuf->arate; + abuf = mainw->jackd->abufs[mainw->jackd->read_abuf]; + in_arate = abuf->arate; pthread_mutex_unlock(&mainw->abuf_mutex); - scale=(double)in_arate/(double)out_arate; + scale = (double)in_arate / (double)out_arate; - while (nsamps>0) { + while (nsamps > 0) { pthread_mutex_lock(&mainw->abuf_mutex); - if (mainw->jackd->read_abuf==-1) { + if (mainw->jackd->read_abuf == -1) { pthread_mutex_unlock(&mainw->abuf_mutex); return 0; } - ioffs=abuf->start_sample; + ioffs = abuf->start_sample; pthread_mutex_unlock(&mainw->abuf_mutex); - samps=0; + samps = 0; - src_offset_i=0; - src_offset_f=0.; + src_offset_i = 0; + src_offset_f = 0.; - for (i=0; i<nsamps; i++) { + for (i = 0; i < nsamps; i++) { // process each sample - if ((curval=ioffs+src_offset_i)>=abuf->samples_filled) { + if ((curval = ioffs + src_offset_i) >= abuf->samples_filled) { // current buffer is consumed break; } - xchan=0; - for (j=0; j<nchans; j++) { + xchan = 0; + for (j = 0; j < nchans; j++) { // copy channel by channel (de-interleave) pthread_mutex_lock(&mainw->abuf_mutex); - if (mainw->jackd->read_abuf<0) { + if (mainw->jackd->read_abuf < 0) { pthread_mutex_unlock(&mainw->abuf_mutex); return samples_out; } - if (xchan>=abuf->out_achans) xchan=0; - obuf[j][offs+i]=abuf->bufferf[xchan][curval]*vol; + if (xchan >= abuf->out_achans) xchan = 0; + obuf[j][offs + i] = abuf->bufferf[xchan][curval] * vol; pthread_mutex_unlock(&mainw->abuf_mutex); xchan++; } // resample on the fly - src_offset_i=(int)(src_offset_f+=scale); + src_offset_i = (int)(src_offset_f += scale); samps++; samples_out++; } - abuf->start_sample=ioffs+src_offset_i; - nsamps-=samps; - offs+=samps; + abuf->start_sample = ioffs + src_offset_i; + nsamps -= samps; + offs += samps; - if (nsamps>0) { + if (nsamps > 0) { // buffer was consumed, move on to next buffer pthread_mutex_lock(&mainw->abuf_mutex); // request main thread to fill another buffer mainw->abufs_to_fill++; - if (mainw->jackd->read_abuf<0) { + if (mainw->jackd->read_abuf < 0) { // playback ended while we were processing pthread_mutex_unlock(&mainw->abuf_mutex); return samples_out; @@ -597,9 +648,9 @@ mainw->jackd->read_abuf++; - if (mainw->jackd->read_abuf>=prefs->num_rtaudiobufs) mainw->jackd->read_abuf=0; + if (mainw->jackd->read_abuf >= prefs->num_rtaudiobufs) mainw->jackd->read_abuf = 0; - abuf=mainw->jackd->abufs[mainw->jackd->read_abuf]; + abuf = mainw->jackd->abufs[mainw->jackd->read_abuf]; pthread_mutex_unlock(&mainw->abuf_mutex); } @@ -615,86 +666,86 @@ int64_t sample_move_abuf_int16(short *obuf, int nchans, int nsamps, int out_arate) { - int samples_out=0; + int samples_out = 0; #ifdef HAVE_PULSE_AUDIO - int samps=0; + int samps = 0; lives_audio_buf_t *abuf; - int in_arate,nsampsx; - register size_t offs=0,ioffs,xchan; + int in_arate, nsampsx; + register size_t offs = 0, ioffs, xchan; - register float src_offset_f=0.f; - register int src_offset_i=0; + register float src_offset_f = 0.f; + register int src_offset_i = 0; - register int i,j; + register int i, j; register double scale; size_t curval; pthread_mutex_lock(&mainw->abuf_mutex); - if (mainw->pulsed->read_abuf==-1) { + if (mainw->pulsed->read_abuf == -1) { pthread_mutex_unlock(&mainw->abuf_mutex); return 0; } - abuf=mainw->pulsed->abufs[mainw->pulsed->read_abuf]; - in_arate=abuf->arate; + abuf = mainw->pulsed->abufs[mainw->pulsed->read_abuf]; + in_arate = abuf->arate; pthread_mutex_unlock(&mainw->abuf_mutex); - scale=(double)in_arate/(double)out_arate; + scale = (double)in_arate / (double)out_arate; - while (nsamps>0) { + while (nsamps > 0) { pthread_mutex_lock(&mainw->abuf_mutex); - if (mainw->pulsed->read_abuf==-1) { + if (mainw->pulsed->read_abuf == -1) { pthread_mutex_unlock(&mainw->abuf_mutex); return 0; } - ioffs=abuf->start_sample; + ioffs = abuf->start_sample; pthread_mutex_unlock(&mainw->abuf_mutex); - samps=0; + samps = 0; - src_offset_i=0; - src_offset_f=0.; - nsampsx=nsamps*nchans; + src_offset_i = 0; + src_offset_f = 0.; + nsampsx = nsamps * nchans; - for (i=0; i<nsampsx; i+=nchans) { + for (i = 0; i < nsampsx; i += nchans) { // process each sample - if ((curval=ioffs+src_offset_i)>=abuf->samples_filled) { + if ((curval = ioffs + src_offset_i) >= abuf->samples_filled) { // current buffer is drained break; } - xchan=0; - curval*=abuf->out_achans; - for (j=0; j<nchans; j++) { + xchan = 0; + curval *= abuf->out_achans; + for (j = 0; j < nchans; j++) { pthread_mutex_lock(&mainw->abuf_mutex); - if (mainw->pulsed->read_abuf<0) { + if (mainw->pulsed->read_abuf < 0) { pthread_mutex_unlock(&mainw->abuf_mutex); return samps; } - if (xchan>=abuf->out_achans) xchan=0; - obuf[(offs++)]=abuf->buffer16[0][curval+xchan]; + if (xchan >= abuf->out_achans) xchan = 0; + obuf[(offs++)] = abuf->buffer16[0][curval + xchan]; pthread_mutex_unlock(&mainw->abuf_mutex); xchan++; } - src_offset_i=(int)(src_offset_f+=scale); + src_offset_i = (int)(src_offset_f += scale); samps++; } - abuf->start_sample=ioffs+src_offset_i; - nsamps-=samps; - samples_out+=samps; + abuf->start_sample = ioffs + src_offset_i; + nsamps -= samps; + samples_out += samps; - if (nsamps>0) { + if (nsamps > 0) { // buffer was drained, move on to next buffer pthread_mutex_lock(&mainw->abuf_mutex); // request main thread to fill another buffer mainw->abufs_to_fill++; - if (mainw->pulsed->read_abuf<0) { + if (mainw->pulsed->read_abuf < 0) { // playback ended while we were processing pthread_mutex_unlock(&mainw->abuf_mutex); return samples_out; @@ -702,9 +753,9 @@ mainw->pulsed->read_abuf++; - if (mainw->pulsed->read_abuf>=prefs->num_rtaudiobufs) mainw->pulsed->read_abuf=0; + if (mainw->pulsed->read_abuf >= prefs->num_rtaudiobufs) mainw->pulsed->read_abuf = 0; - abuf=mainw->pulsed->abufs[mainw->pulsed->read_abuf]; + abuf = mainw->pulsed->abufs[mainw->pulsed->read_abuf]; pthread_mutex_unlock(&mainw->abuf_mutex); } @@ -724,12 +775,12 @@ static size_t chunk_to_float_abuf(lives_audio_buf_t *abuf, float **float_buffer, int nsamps) { - int chans=abuf->out_achans; - register size_t offs=abuf->samples_filled; + int chans = abuf->out_achans; + register size_t offs = abuf->samples_filled; register int i; - for (i=0; i<chans; i++) { - lives_memcpy(&(abuf->bufferf[i][offs]),float_buffer[i],nsamps*sizeof(float)); + for (i = 0; i < chans; i++) { + lives_memcpy(&(abuf->bufferf[i][offs]), float_buffer[i], nsamps * sizeof(float)); } return (size_t)nsamps; } @@ -737,17 +788,17 @@ boolean float_deinterleave(float *fbuffer, int nsamps, int nchans) { // deinterleave a float buffer - register int i,j; + register int i, j; - float *tmpfbuffer=(float *)lives_try_malloc(nsamps*nchans*sizeof(float)); - if (tmpfbuffer==NULL) return FALSE; + float *tmpfbuffer = (float *)lives_try_malloc(nsamps * nchans * sizeof(float)); + if (tmpfbuffer == NULL) return FALSE; - for (i=0; i<nsamps; i++) { - for (j=0; j<nchans; j++) { - tmpfbuffer[nsamps*j+i]=fbuffer[i*nchans+j]; + for (i = 0; i < nsamps; i++) { + for (j = 0; j < nchans; j++) { + tmpfbuffer[nsamps * j + i] = fbuffer[i * nchans + j]; } } - lives_memcpy(fbuffer,tmpfbuffer,nsamps*nchans*sizeof(float)); + lives_memcpy(fbuffer, tmpfbuffer, nsamps * nchans * sizeof(float)); lives_free(tmpfbuffer); return TRUE; } @@ -755,17 +806,17 @@ boolean float_interleave(float *fbuffer, int nsamps, int nchans) { // deinterleave a float buffer - register int i,j; + register int i, j; - float *tmpfbuffer=(float *)lives_try_malloc(nsamps*nchans*sizeof(float)); - if (tmpfbuffer==NULL) return FALSE; + float *tmpfbuffer = (float *)lives_try_malloc(nsamps * nchans * sizeof(float)); + if (tmpfbuffer == NULL) return FALSE; - for (i=0; i<nsamps; i++) { - for (j=0; j<nchans; j++) { - tmpfbuffer[i*nchans+j]=fbuffer[j*nsamps+i]; + for (i = 0; i < nsamps; i++) { + for (j = 0; j < nchans; j++) { + tmpfbuffer[i * nchans + j] = fbuffer[j * nsamps + i]; } } - lives_memcpy(fbuffer,tmpfbuffer,nsamps*nchans*sizeof(float)); + lives_memcpy(fbuffer, tmpfbuffer, nsamps * nchans * sizeof(float)); lives_free(tmpfbuffer); return TRUE; } @@ -775,19 +826,19 @@ // for pulse audio we use int16, and let it apply the volume static size_t chunk_to_int16_abuf(lives_audio_buf_t *abuf, float **float_buffer, int nsamps) { - int frames_out=0; - int chans=abuf->out_achans; - register size_t offs=abuf->samples_filled*chans; + int frames_out = 0; + int chans = abuf->out_achans; + register size_t offs = abuf->samples_filled * chans; register int i; register float valf; - while (frames_out<nsamps) { - for (i=0; i<chans; i++) { - valf=float_buffer[i][frames_out]; - abuf->buffer16[0][offs+i]=(short)(valf*(valf>0.?SAMPLE_MAX_16BIT_P:SAMPLE_MAX_16BIT_N)); + while (frames_out < nsamps) { + for (i = 0; i < chans; i++) { + valf = float_buffer[i][frames_out]; + abuf->buffer16[0][offs + i] = (short)(valf * (valf > 0. ? SAMPLE_MAX_16BIT_P : SAMPLE_MAX_16BIT_N)); } frames_out++; - offs+=chans; + offs += chans; } return (size_t)frames_out; } @@ -801,43 +852,43 @@ static boolean pad_with_silence(int out_fd, off64_t oins_size, int64_t ins_size, int asamps, int aunsigned, boolean big_endian) { // fill to ins_pt with zeros (or 0x80.. for unsigned) uint8_t *zero_buff; - size_t sblocksize=SILENCE_BLOCK_SIZE; - int sbytes=ins_size-oins_size; + size_t sblocksize = SILENCE_BLOCK_SIZE; + int sbytes = ins_size - oins_size; register int i; - boolean retval=TRUE; + boolean retval = TRUE; #ifdef DEBUG_ARENDER - g_print("sbytes is %d\n",sbytes); + g_print("sbytes is %d\n", sbytes); #endif - if (sbytes>0) { - lseek64(out_fd,oins_size,SEEK_SET); - if (!aunsigned) zero_buff=(uint8_t *)lives_malloc0(SILENCE_BLOCK_SIZE); + if (sbytes > 0) { + lseek64(out_fd, oins_size, SEEK_SET); + if (!aunsigned) zero_buff = (uint8_t *)lives_malloc0(SILENCE_BLOCK_SIZE); else { - zero_buff=(uint8_t *)lives_malloc(SILENCE_BLOCK_SIZE); - if (asamps==1) memset(zero_buff,0x80,SILENCE_BLOCK_SIZE); + zero_buff = (uint8_t *)lives_malloc(SILENCE_BLOCK_SIZE); + if (asamps == 1) memset(zero_buff, 0x80, SILENCE_BLOCK_SIZE); else { - for (i=0; i<SILENCE_BLOCK_SIZE; i+=2) { + for (i = 0; i < SILENCE_BLOCK_SIZE; i += 2) { if (big_endian) { - memset(zero_buff+i,0x80,1); - memset(zero_buff+i+1,0x00,1); + memset(zero_buff + i, 0x80, 1); + memset(zero_buff + i + 1, 0x00, 1); } else { - memset(zero_buff+i,0x00,1); - memset(zero_buff+i+1,0x80,1); + memset(zero_buff + i, 0x00, 1); + memset(zero_buff + i + 1, 0x80, 1); } } } } - for (i=0; i<sbytes; i+=SILENCE_BLOCK_SIZE) { - if (sbytes-i<SILENCE_BLOCK_SIZE) sblocksize=sbytes-i; - mainw->write_failed=FALSE; - lives_write(out_fd,zero_buff,sblocksize,TRUE); - if (mainw->write_failed) retval=FALSE; + for (i = 0; i < sbytes; i += SILENCE_BLOCK_SIZE) { + if (sbytes - i < SILENCE_BLOCK_SIZE) sblocksize = sbytes - i; + mainw->write_failed = FALSE; + lives_write(out_fd, zero_buff, sblocksize, TRUE); + if (mainw->write_failed) retval = FALSE; } lives_free(zero_buff); - } else if (sbytes<=0) { - lseek64(out_fd,oins_size+sbytes,SEEK_SET); + } else if (sbytes <= 0) { + lseek64(out_fd, oins_size + sbytes, SEEK_SET); } return retval; } @@ -849,29 +900,29 @@ // process events from mainw->audio_event up to tc // at playback start we should have set mainw->audio_event and mainw->afilter_map - int hint,error; + int hint, error; - weed_plant_t *event=mainw->audio_event; + weed_plant_t *event = mainw->audio_event; weed_timecode_t ctc; - while (event!=NULL && get_event_timecode(event)<=tc) { - hint=get_event_hint(event); - ctc=get_event_timecode(event); + while (event != NULL && get_event_timecode(event) <= tc) { + hint = get_event_hint(event); + ctc = get_event_timecode(event); switch (hint) { case WEED_EVENT_HINT_FILTER_INIT: { - weed_plant_t *deinit_event=(weed_plant_t *)weed_get_voidptr_value(event,WEED_LEAF_DEINIT_EVENT,&error); - if (get_event_timecode(deinit_event)<tc) break; - process_events(event,TRUE,ctc); + weed_plant_t *deinit_event = (weed_plant_t *)weed_get_voidptr_value(event, WEED_LEAF_DEINIT_EVENT, &error); + if (get_event_timecode(deinit_event) < tc) break; + process_events(event, TRUE, ctc); } break; case WEED_EVENT_HINT_FILTER_DEINIT: { - weed_plant_t *init_event=(weed_plant_t *)weed_get_voidptr_value(event,WEED_LEAF_INIT_EVENT,&error); - if (weed_plant_has_leaf(init_event,WEED_LEAF_HOST_TAG)) { - process_events(event,TRUE,ctc); + weed_plant_t *init_event = (weed_plant_t *)weed_get_voidptr_value(event, WEED_LEAF_INIT_EVENT, &error); + if (weed_plant_has_leaf(init_event, WEED_LEAF_HOST_TAG)) { + process_events(event, TRUE, ctc); } } break; @@ -879,15 +930,15 @@ #ifdef DEBUG_EVENTS g_print("got new audio effect map\n"); #endif - mainw->afilter_map=event; + mainw->afilter_map = event; break; default: break; } - event=get_next_event(event); + event = get_next_event(event); } - mainw->audio_event=event; + mainw->audio_event = event; } @@ -925,221 +976,219 @@ // return (audio) frames rendered - lives_clip_t *outfile=to_file>-1?mainw->files[to_file]:NULL; - - - size_t tbytes; + weed_plant_t *shortcut = NULL; + lives_clip_t *outfile = to_file > -1 ? mainw->files[to_file] : NULL; uint8_t *in_buff; - - int out_asamps=to_file>-1?outfile->asampsize/8:0; - int out_achans=to_file>-1?outfile->achans:obuf->out_achans; - int out_arate=to_file>-1?outfile->arate:obuf->arate; - int out_unsigned=to_file>-1?outfile->signed_endian&AFORM_UNSIGNED:0; - int out_bendian=to_file>-1?outfile->signed_endian&AFORM_BIG_ENDIAN:0; - + void *finish_buff; + double *vis = NULL; short *holding_buff; - float *float_buffer[out_achans*nfiles]; - - float *chunk_float_buffer[out_achans*nfiles]; - - int c,x; - register int i,j; - ssize_t bytes_read; - int in_fd[nfiles],out_fd=-1; - - uint64_t nframes; - - boolean in_reverse_endian[nfiles],out_reverse_endian=FALSE; + char *infilename, *outfilename; off64_t seekstart[nfiles]; - char *infilename,*outfilename; - - weed_timecode_t tc=tc_start; - - double ins_pt=tc/U_SEC; - double time=0.; - double opvol=opvol_start; - double *vis=NULL; - - int64_t frames_out=0; - int64_t ins_size=0l,cur_size; - - int track; + int in_fd[nfiles]; int in_asamps[nfiles]; int in_achans[nfiles]; int in_arate[nfiles]; int in_unsigned[nfiles]; - int in_bendian; + boolean in_reverse_endian[nfiles]; boolean is_silent[nfiles]; - int first_nonsilent=-1; - int64_t tsamples=((double)(tc_end-tc_start)/U_SEC*out_arate+.5); + size_t max_aud_mem, bytes_to_read, aud_buffer; + size_t tbytes; - int64_t blocksize,zsamples,xsamples; + ssize_t bytes_read; - void *finish_buff; + uint64_t nframes; - weed_plant_t *shortcut=NULL; + weed_timecode_t tc = tc_start; - size_t max_aud_mem,bytes_to_read,aud_buffer; + double ins_pt = tc / U_SEC; + double time = 0.; + double opvol = opvol_start; + double zavel, zavel_max = 0.; + + boolean out_reverse_endian = FALSE; + boolean is_fade = FALSE; + + int out_asamps = to_file > -1 ? outfile->asampsize / 8 : 0; + int out_achans = to_file > -1 ? outfile->achans : obuf->out_achans; + int out_arate = to_file > -1 ? outfile->arate : obuf->arate; + int out_unsigned = to_file > -1 ? outfile->signed_endian & AFORM_UNSIGNED : 0; + int out_bendian = to_file > -1 ? outfile->signed_endian & AFORM_BIG_ENDIAN : 0; + + int track; + int in_bendian; + int first_nonsilent = -1; int max_segments; - double zavel,zavel_max=0.; + int render_block_size = RENDER_BLOCK_SIZE; + int c, x; + int out_fd = -1; + + register int i, j; - int64_t tot_frames=0l; + int64_t frames_out = 0; + int64_t ins_size = 0l, cur_size; + int64_t tsamples = ((double)(tc_end - tc_start) / U_SEC * out_arate + .5); + int64_t blocksize, zsamples, xsamples; + int64_t tot_frames = 0l; - int render_block_size=RENDER_BLOCK_SIZE; + float *float_buffer[out_achans * nfiles]; + float *chunk_float_buffer[out_achans * nfiles]; - if (out_achans*nfiles*tsamples==0) return 0l; + if (out_achans * nfiles * tsamples == 0) return 0l; + + if (to_file > -1 && mainw->multitrack == NULL && opvol_start != opvol_end) is_fade = TRUE; if (!storedfdsset) audio_reset_stored_fnames(); - if (mainw->event_list==NULL||(mainw->multitrack==NULL&&nfiles==1&&from_files[0]==mainw->ascrap_file)) render_block_size*=100; + if (mainw->event_list == NULL || (mainw->multitrack == NULL && nfiles == 1 && + from_files[0] == mainw->ascrap_file)) render_block_size *= 100; - if (to_file>-1) { + if (to_file > -1) { // prepare outfile stuff - outfilename=lives_build_filename(prefs->workdir,outfile->handle,"audio",NULL); + outfilename = lives_build_filename(prefs->workdir, outfile->handle, "audio", NULL); #ifdef DEBUG_ARENDER - g_print("writing to %s\n",outfilename); + g_print("writing to %s\n", outfilename); #endif - out_fd=lives_open3(outfilename,O_WRONLY|O_CREAT|O_SYNC,S_IRUSR|S_IWUSR); + out_fd = lives_open3(outfilename, O_WRONLY | O_CREAT | O_SYNC, S_IRUSR | S_IWUSR); lives_free(outfilename); - if (out_fd<0) { + if (out_fd < 0) { lives_freep((void **)&mainw->write_failed_file); - mainw->write_failed_file=lives_strdup(outfilename); - mainw->write_failed=TRUE; + mainw->write_failed_file = lives_strdup(outfilename); + mainw->write_failed = TRUE; return 0l; } - cur_size=get_file_size(out_fd); + cur_size = get_file_size(out_fd); - ins_pt*=out_achans*out_arate*out_asamps; - ins_size=((int64_t)(ins_pt/out_achans/out_asamps+.5))*out_achans*out_asamps; + ins_pt *= out_achans * out_arate * out_asamps; + ins_size = ((int64_t)(ins_pt / out_achans / out_asamps + .5)) * out_achans * out_asamps; - if ((!out_bendian&&(capable->byte_order==LIVES_BIG_ENDIAN))|| - (out_bendian&&(capable->byte_order==LIVES_LITTLE_ENDIAN))) - out_reverse_endian=TRUE; - else out_reverse_endian=FALSE; + if ((!out_bendian && (capable->byte_order == LIVES_BIG_ENDIAN)) || + (out_bendian && (capable->byte_order == LIVES_LITTLE_ENDIAN))) + out_reverse_endian = TRUE; + else out_reverse_endian = FALSE; // fill to ins_pt with zeros - pad_with_silence(out_fd,cur_size,ins_size,out_asamps,out_unsigned,out_bendian); + pad_with_silence(out_fd, cur_size, ins_size, out_asamps, out_unsigned, out_bendian); } else { - if (mainw->event_list!=NULL) cfile->aseek_pos=fromtime[0]; + if (mainw->event_list != NULL) cfile->aseek_pos = fromtime[0]; - tc_end-=tc_start; - tc_start=0; + tc_end -= tc_start; + tc_start = 0; - if (tsamples>obuf->samp_space-obuf->samples_filled) tsamples=obuf->samp_space-obuf->samples_filled; + if (tsamples > obuf->samp_space - obuf->samples_filled) tsamples = obuf->samp_space - obuf->samples_filled; } #ifdef DEBUG_ARENDER - g_print("here %d %lld %lld %d\n",nfiles,tc_start,tc_end,to_file); + g_print("here %d %lld %lld %d\n", nfiles, tc_start, tc_end, to_file); #endif - for (track=0; track<nfiles; track++) { + for (track = 0; track < nfiles; track++) { // prepare infile stuff lives_clip_t *infile; #ifdef DEBUG_ARENDER - g_print(" track %d %d %.4f %.4f\n",track,from_files[track],fromtime[track],avels[track]); + g_print(" track %d %d %.4f %.4f\n", track, from_files[track], fromtime[track], avels[track]); #endif - if (avels[track]==0.) { - is_silent[track]=TRUE; + if (avels[track] == 0.) { + is_silent[track] = TRUE; continue; } - is_silent[track]=FALSE; + is_silent[track] = FALSE; - infile=mainw->files[from_files[track]]; + infile = mainw->files[from_files[track]]; - in_asamps[track]=infile->asampsize/8; - in_achans[track]=infile->achans; - in_arate[track]=infile->arate; - in_unsigned[track]=infile->signed_endian&AFORM_UNSIGNED; - in_bendian=infile->signed_endian&AFORM_BIG_ENDIAN; + in_asamps[track] = infile->asampsize / 8; + in_achans[track] = infile->achans; + in_arate[track] = infile->arate; + in_unsigned[track] = infile->signed_endian & AFORM_UNSIGNED; + in_bendian = infile->signed_endian & AFORM_BIG_ENDIAN; - if (LIVES_UNLIKELY(in_achans[track]==0)) is_silent[track]=TRUE; + if (LIVES_UNLIKELY(in_achans[track] == 0)) is_silent[track] = TRUE; else { - if ((!in_bendian&&(capable->byte_order==LIVES_BIG_ENDIAN))|| - (in_bendian&&(capable->byte_order==LIVES_LITTLE_ENDIAN))) - in_reverse_endian[track]=TRUE; - else in_reverse_endian[track]=FALSE; + if ((!in_bendian && (capable->byte_order == LIVES_BIG_ENDIAN)) || + (in_bendian && (capable->byte_order == LIVES_LITTLE_ENDIAN))) + in_reverse_endian[track] = TRUE; + else in_reverse_endian[track] = FALSE; - seekstart[track]=(off64_t)(fromtime[track]*in_arate[track])*in_achans[track]*in_asamps[track]; - seekstart[track]=((off64_t)(seekstart[track]/in_achans[track]/(in_asamps[track])))*in_achans[track]*in_asamps[track]; + seekstart[track] = (off64_t)(fromtime[track] * in_arate[track]) * in_achans[track] * in_asamps[track]; + seekstart[track] = ((off64_t)(seekstart[track] / in_achans[track] / (in_asamps[track]))) * in_achans[track] * in_asamps[track]; - zavel=avels[track]*(double)in_arate[track]/(double)out_arate*in_asamps[track]*in_achans[track]/sizeof(float); - if (ABS(zavel)>zavel_max) zavel_max=ABS(zavel); + zavel = avels[track] * (double)in_arate[track] / (double)out_arate * in_asamps[track] * in_achans[track] / sizeof(float); + if (ABS(zavel) > zavel_max) zavel_max = ABS(zavel); - infilename=lives_build_filename(prefs->workdir,infile->handle,"audio",NULL); + infilename = lives_build_filename(prefs->workdir, infile->handle, "audio", NULL); // try to speed up access by keeping some files open - if (track<NSTOREDFDS&&storedfnames[track]!=NULL&&!strcmp(infilename,storedfnames[track])) { - in_fd[track]=storedfds[track]; + if (track < NSTOREDFDS && storedfnames[track] != NULL && !strcmp(infilename, storedfnames[track])) { + in_fd[track] = storedfds[track]; } else { - if (track<NSTOREDFDS&&storedfds[track]>-1) close(storedfds[track]); - in_fd[track]=lives_open2(infilename,O_RDONLY); - if (in_fd[track]<0) { + if (track < NSTOREDFDS && storedfds[track] > -1) close(storedfds[track]); + in_fd[track] = lives_open2(infilename, O_RDONLY); + if (in_fd[track] < 0) { lives_freep((void **)&mainw->read_failed_file); - mainw->read_failed_file=lives_strdup(infilename); - mainw->read_failed=TRUE; + mainw->read_failed_file = lives_strdup(infilename); + mainw->read_failed = TRUE; } - if (track<NSTOREDFDS) { - storedfds[track]=in_fd[track]; - storedfnames[track]=lives_strdup(infilename); + if (track < NSTOREDFDS) { + storedfds[track] = in_fd[track]; + storedfnames[track] = lives_strdup(infilename); } } - if (in_fd[track]>-1) lseek64(in_fd[track],seekstart[track],SEEK_SET); + if (in_fd[track] > -1) lseek64(in_fd[track], seekstart[track], SEEK_SET); lives_free(infilename); } } - for (track=0; track<nfiles; track++) { + for (track = 0; track < nfiles; track++) { if (!is_silent[track]) { - first_nonsilent=track; + first_nonsilent = track; break; } } - if (first_nonsilent==-1) { + if (first_nonsilent == -1) { // all in tracks are empty // output silence - if (to_file>-1) { - int64_t oins_size=ins_size; - ins_pt=tc_end/U_SEC; - ins_pt*=out_achans*out_arate*out_asamps; - ins_size=((int64_t)(ins_pt/out_achans/out_asamps)+.5)*out_achans*out_asamps; - pad_with_silence(out_fd,oins_size,ins_size,out_asamps,out_unsigned,out_bendian); + if (to_file > -1) { + int64_t oins_size = ins_size; + ins_pt = tc_end / U_SEC; + ins_pt *= out_achans * out_arate * out_asamps; + ins_size = ((int64_t)(ins_pt / out_achans / out_asamps) + .5) * out_achans * out_asamps; + pad_with_silence(out_fd, oins_size, ins_size, out_asamps, out_unsigned, out_bendian); //sync(); close(out_fd); } else { - for (i=0; i<out_achans; i++) { - for (j=obuf->samples_filled; j<obuf->samples_filled+tsamples; j++) { - if (prefs->audio_player==AUD_PLAYER_JACK) { - obuf->bufferf[i][j]=0.; + for (i = 0; i < out_achans; i++) { + for (j = obuf->samples_filled; j < obuf->samples_filled + tsamples; j++) { + if (prefs->audio_player == AUD_PLAYER_JACK) { + obuf->bufferf[i][j] = 0.; } else { - if (!out_unsigned) obuf->buffer16[0][j*out_achans+i]=0x00; + if (!out_unsigned) obuf->buffer16[0][j * out_achans + i] = 0x00; else { if (out_bendian) { - memset(&obuf->buffer16_8[0][(j*out_achans+i)*2],0x80,1); - memset(&obuf->buffer16_8[0][(j*out_achans+i)*2+1],0x00,1); - } else obuf->buffer16[0][j*out_achans+i]=0x0080; + memset(&obuf->buffer16_8[0][(j * out_achans + i) * 2], 0x80, 1); + memset(&obuf->buffer16_8[0][(j * out_achans + i) * 2 + 1], 0x00, 1); + } else obuf->buffer16[0][j * out_achans + i] = 0x0080; } } } } - obuf->samples_filled+=tsamples; + obuf->samples_filled += tsamples; } return tsamples; @@ -1149,47 +1198,47 @@ // we don't want to use more than MAX_AUDIO_MEM bytes // (numbers will be much larger than examples given) - max_aud_mem=MAX_AUDIO_MEM/(1.5+zavel_max); // allow for size of holding_buff and in_buff + max_aud_mem = MAX_AUDIO_MEM / (1.5 + zavel_max); // allow for size of holding_buff and in_buff - max_aud_mem=(max_aud_mem>>7)<<7; // round to a multiple of 128 + max_aud_mem = (max_aud_mem >> 7) << 7; // round to a multiple of 128 - max_aud_mem=max_aud_mem/out_achans/nfiles; // max mem per channel/track + max_aud_mem = max_aud_mem / out_achans / nfiles; // max mem per channel/track // we use float here because our audio effects use float // tsamples is total samples (30 in this example) - bytes_to_read=tsamples*(sizeof(float)); // eg. 120 (30 samples) + bytes_to_read = tsamples * (sizeof(float)); // eg. 120 (30 samples) // how many segments do we need to read all bytes ? - max_segments=(int)((double)bytes_to_read/(double)max_aud_mem+1.); // max segments (rounded up) [e.g ceil(120/45)==3] + max_segments = (int)((double)bytes_to_read / (double)max_aud_mem + 1.); // max segments (rounded up) [e.g ceil(120/45)==3] // then, how many bytes per segment - aud_buffer=bytes_to_read/max_segments; // estimate of buffer size (e.g. 120/3 = 40) + aud_buffer = bytes_to_read / max_segments; // estimate of buffer size (e.g. 120/3 = 40) - zsamples=(int)(aud_buffer/sizeof(float)+.5); // ensure whole number of samples (e.g 40 == 10 samples), round up + zsamples = (int)(aud_buffer / sizeof(float) + .5); // ensure whole number of samples (e.g 40 == 10 samples), round up - xsamples=zsamples+(tsamples-(max_segments*zsamples)); // e.g 10 + 30 - 3 * 10 == 10 + xsamples = zsamples + (tsamples - (max_segments * zsamples)); // e.g 10 + 30 - 3 * 10 == 10 - holding_buff=(short *)lives_malloc(xsamples*sizeof(short)*out_achans+128); + holding_buff = (short *)lives_malloc(xsamples * sizeof(short) * out_achans + 128); - for (i=0; i<out_achans*nfiles; i++) { - float_buffer[i]=(float *)lives_malloc(xsamples*sizeof(float)+128); + for (i = 0; i < out_achans * nfiles; i++) { + float_buffer[i] = (float *)lives_malloc(xsamples * sizeof(float) + 128); } - finish_buff=lives_malloc(tsamples*out_achans*out_asamps); + finish_buff = lives_malloc(tsamples * out_achans * out_asamps); #ifdef DEBUG_ARENDER - g_print(" rendering %ld samples\n",tsamples); + g_print(" rendering %ld samples\n", tsamples); #endif - while (tsamples>0) { - tsamples-=xsamples; + while (tsamples > 0) { + tsamples -= xsamples; - for (track=0; track<nfiles; track++) { + for (track = 0; track < nfiles; track++) { if (is_silent[track]) { // zero float_buff - for (c=0; c<out_achans; c++) { - for (x=0; x<xsamples; x++) { - float_buffer[track*out_achans+c][x]=0.; + for (c = 0; c < out_achans; c++) { + for (x = 0; x < xsamples; x++) { + float_buffer[track * out_achans + c][x] = 0.; } } continue; @@ -1197,87 +1246,88 @@ // calculate tbytes for xsamples - zavel=avels[track]*(double)in_arate[track]/(double)out_arate; + zavel = avels[track] * (double)in_arate[track] / (double)out_arate; + + tbytes = (int)((double)xsamples * ABS(zavel) + ((double)fastrand() / (double)LIVES_MAXUINT32)) * + in_asamps[track] * in_achans[track]; - tbytes=(int)((double)xsamples*ABS(zavel)+((double)fastrand()/(double)LIVES_MAXUINT32))* - in_asamps[track]*in_achans[track]; + in_buff = (uint8_t *)lives_malloc(tbytes); - in_buff=(uint8_t *)lives_malloc(tbytes); + if (zavel < 0. && in_fd[track] > -1) lseek64(in_fd[track], seekstart[track] - tbytes, SEEK_SET); - if (zavel<0. && in_fd[track]>-1) lseek64(in_fd[track],seekstart[track]-tbytes,SEEK_SET); + bytes_read = 0; + mainw->read_failed = FALSE; - bytes_read=0; - mainw->read_failed=FALSE; - if (in_fd[track]>-1) bytes_read=lives_read(in_fd[track],in_buff,tbytes,TRUE); + if (in_fd[track] > -1) bytes_read = lives_read(in_fd[track], in_buff, tbytes, TRUE); - if (bytes_read<0) bytes_read=0; + if (bytes_read < 0) bytes_read = 0; - if (from_files[track]==mainw->ascrap_file) { + if (from_files[track] == mainw->ascrap_file) { // be forgiving with the ascrap file - if (mainw->read_failed) mainw->read_failed=FALSE; + if (mainw->read_failed) mainw->read_failed = FALSE; } - if (zavel<0.) seekstart[track]-=bytes_read; + if (zavel < 0.) seekstart[track] -= bytes_read; - if (bytes_read<tbytes&&bytes_read>=0) { - if (zavel>0) memset(in_buff+bytes_read,0,tbytes-bytes_read); + if (bytes_read < tbytes && bytes_read >= 0) { + if (zavel > 0) memset(in_buff + bytes_read, 0, tbytes - bytes_read); else { - memmove(in_buff+tbytes-bytes_read,in_buff,bytes_read); - memset(in_buff,0,tbytes-bytes_read); + memmove(in_buff + tbytes - bytes_read, in_buff, bytes_read); + memset(in_buff, 0, tbytes - bytes_read); } } - nframes=(tbytes/(in_asamps[track])/in_achans[track]/ABS(zavel)+.001); + nframes = (tbytes / (in_asamps[track]) / in_achans[track] / ABS(zavel) + .001); // convert to float - if (in_asamps[track]==1) { - sample_move_d8_d16(holding_buff,(uint8_t *)in_buff,nframes,tbytes,zavel,out_achans,in_achans[track],0); + if (in_asamps[track] == 1) { + sample_move_d8_d16(holding_buff, (uint8_t *)in_buff, nframes, tbytes, zavel, out_achans, in_achans[track], 0); } else { - sample_move_d16_d16(holding_buff,(short *)in_buff,nframes,tbytes,zavel,out_achans, - in_achans[track],in_reverse_endian[track]?SWAP_X_TO_L:0,0); + sample_move_d16_d16(holding_buff, (short *)in_buff, nframes, tbytes, zavel, out_achans, + in_achans[track], in_reverse_endian[track] ? SWAP_X_TO_L : 0, 0); } lives_free(in_buff); - for (c=0; c<out_achans; c++) { - sample_move_d16_float(float_buffer[c+track*out_achans],holding_buff+c,nframes, - out_achans,in_unsigned[track],FALSE,chvol[track]); + for (c = 0; c < out_achans; c++) { + sample_move_d16_float(float_buffer[c + track * out_achans], holding_buff + c, nframes, + out_achans, in_unsigned[track], FALSE, chvol[track]); } } // now we send small chunks at a time to the audio vol/pan effect - shortcut=NULL; - blocksize=render_block_size; + shortcut = NULL; + blocksize = render_block_size; - for (i=0; i<xsamples; i+=render_block_size) { - if (i+render_block_size>xsamples) blocksize=xsamples-i; + for (i = 0; i < xsamples; i += render_block_size) { + if (i + render_block_size > xsamples) blocksize = xsamples - i; - for (track=0; track<nfiles; track++) { - for (c=0; c<out_achans; c++) { + for (track = 0; track < nfiles; track++) { + for (c = 0; c < out_achans; c++) { //g_print("xvals %.4f\n",*(float_buffer[track*out_achans+c]+i)); - chunk_float_buffer[track*out_achans+c]=float_buffer[track*out_achans+c]+i; + chunk_float_buffer[track * out_achans + c] = float_buffer[track * out_achans + c] + i; } } - if (mainw->event_list!=NULL&&mainw->filter_map!=NULL&&!(mainw->multitrack==NULL&&from_files[0]==mainw->ascrap_file)) { + if (mainw->event_list != NULL && mainw->filter_map != NULL && !(mainw->multitrack == NULL && from_files[0] == mainw->ascrap_file)) { // we need to apply all audio effects with output here. // even in clipedit mode (for preview/rendering with an event list) // also, we will need to keep updating the mainw->filter_map from mainw->event_list, as filters may switched on and off during the block - int nbtracks=0; + int nbtracks = 0; // apply audio filter(s) - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { // we work out the "visibility" of each track at tc - vis=get_track_visibility_at_tc(mainw->multitrack->event_list,nfiles, - mainw->multitrack->opts.back_audio_tracks,tc,&shortcut, - mainw->multitrack->opts.audio_bleedthru); + vis = get_track_visibility_at_tc(mainw->multitrack->event_list, nfiles, + mainw->multitrack->opts.back_audio_tracks, tc, &shortcut, + mainw->multitrack->opts.audio_bleedthru); // first track is ascrap_file - flag that no effects should be applied to it, except for the audio mixer - if (mainw->ascrap_file>-1&&from_files[0]==mainw->ascrap_file) vis[0]=-vis[0]; + if (mainw->ascrap_file > -1 && from_files[0] == mainw->ascrap_file) vis[0] = -vis[0]; - nbtracks=mainw->multitrack->opts.back_audio_tracks; + nbtracks = mainw->multitrack->opts.back_audio_tracks; } // process events up to current tc: @@ -1286,77 +1336,79 @@ audio_process_events_to(tc); // locate the master volume parameter, and multiply all values by vis[track] - weed_apply_audio_effects(mainw->afilter_map,chunk_float_buffer,nbtracks, - out_achans,blocksize,out_arate,tc,vis); + weed_apply_audio_effects(mainw->afilter_map, chunk_float_buffer, nbtracks, + out_achans, blocksize, out_arate, tc, vis); lives_freep((void **)&vis); } - if (mainw->multitrack==NULL&&opvol_end!=opvol_start) { - time+=(double)frames_out/(double)out_arate; - opvol=opvol_start+(opvol_end-opvol_start)*(time/(double)((tc_end-tc_start)/U_SEC)); + if (mainw->multitrack == NULL && opvol_end != opvol_start) { + time += (double)frames_out / (double)out_arate; + opvol = opvol_start + (opvol_end - opvol_start) * (time / (double)((tc_end - tc_start) / U_SEC)); } - if (to_file>-1&&mainw->multitrack==NULL&&opvol_start!=opvol_end) { + if (is_fade) { // output to file // convert back to int; use out_scale of 1., since we did our resampling in sample_move_*_d16 - frames_out=sample_move_float_int((void *)finish_buff,chunk_float_buffer,blocksize,1.,out_achans, - out_asamps*8,out_unsigned,out_reverse_endian,FALSE,opvol); - lives_write(out_fd,finish_buff,frames_out*out_asamps*out_achans,TRUE); - tot_frames+=frames_out; - + frames_out = sample_move_float_int((void *)finish_buff, chunk_float_buffer, blocksize, 1., out_achans, + out_asamps * 8, out_unsigned, out_reverse_endian, FALSE, opvol); + lives_write(out_fd, finish_buff, frames_out * out_asamps * out_achans, TRUE); + threaded_dialog_spin(0.); + tot_frames += frames_out; #ifdef DEBUG_ARENDER g_print("."); #endif } - tc+=(double)blocksize/(double)out_arate*U_SEC; + tc += (double)blocksize / (double)out_arate * U_SEC; } - if (to_file>-1) { - // output to file - // convert back to int; use out_scale of 1., since we did our resampling in sample_move_*_d16 - frames_out=sample_move_float_int((void *)finish_buff,float_buffer,xsamples,1.,out_achans, - out_asamps*8,out_unsigned,out_reverse_endian,FALSE,opvol); - lives_write(out_fd,finish_buff,frames_out*out_asamps*out_achans,TRUE); + if (!is_fade) { + if (to_file > -1) { + // output to file + // convert back to int; use out_scale of 1., since we did our resampling in sample_move_*_d16 + frames_out = sample_move_float_int((void *)finish_buff, float_buffer, xsamples, 1., out_achans, + out_asamps * 8, out_unsigned, out_reverse_endian, FALSE, opvol); + lives_write(out_fd, finish_buff, frames_out * out_asamps * out_achans, TRUE); #ifdef DEBUG_ARENDER - g_print("."); + g_print("."); #endif - tot_frames+=frames_out; - } else { - // output to memory buffer - if (prefs->audio_player==AUD_PLAYER_JACK) { - frames_out=chunk_to_float_abuf(obuf,float_buffer,xsamples); + tot_frames += frames_out; } else { - frames_out=chunk_to_int16_abuf(obuf,float_buffer,xsamples); + // output to memory buffer + if (prefs->audio_player == AUD_PLAYER_JACK) { + frames_out = chunk_to_float_abuf(obuf, float_buffer, xsamples); + } else { + frames_out = chunk_to_int16_abuf(obuf, float_buffer, xsamples); + } + obuf->samples_filled += frames_out; + tot_frames += frames_out; } - obuf->samples_filled+=frames_out; - tot_frames+=frames_out; } - xsamples=zsamples; + xsamples = zsamples; } - if (xsamples>0) { - for (i=0; i<out_achans*nfiles; i++) { - if (float_buffer[i]!=NULL) lives_free(float_buffer[i]); + if (xsamples > 0) { + for (i = 0; i < out_achans * nfiles; i++) { + if (float_buffer[i] != NULL) lives_free(float_buffer[i]); } } - if (finish_buff!=NULL) lives_free(finish_buff); - if (holding_buff!=NULL) lives_free(holding_buff); + if (finish_buff != NULL) lives_free(finish_buff); + if (holding_buff != NULL) lives_free(holding_buff); // close files - for (track=0; track<nfiles; track++) { + for (track = 0; track < nfiles; track++) { if (!is_silent[track]) { - if (track>=NSTOREDFDS && in_fd[track]>-1) close(in_fd[track]); + if (track >= NSTOREDFDS && in_fd[track] > -1) close(in_fd[track]); } } - if (to_file>-1) { + if (to_file > -1) { #ifdef DEBUG_ARENDER - g_print("fs is %ld\n",get_file_size(out_fd)); + g_print("fs is %ld\n", get_file_size(out_fd)); #endif close(out_fd); } @@ -1366,19 +1418,19 @@ LIVES_INLINE void aud_fade(int fileno, double startt, double endt, double startv, double endv) { - double vel=1.,vol=1.; + double vel = 1., vol = 1.; - mainw->read_failed=mainw->write_failed=FALSE; - render_audio_segment(1,&fileno,fileno,&vel,&startt,startt*U_SECL,endt*U_SECL,&vol,startv,endv,NULL); + mainw->read_failed = mainw->write_failed = FALSE; + render_audio_segment(1, &fileno, fileno, &vel, &startt, startt * U_SECL, endt * U_SECL, &vol, startv, endv, NULL); if (mainw->write_failed) { - char *outfilename=lives_build_filename(prefs->workdir,mainw->files[fileno]->handle,"audio",NULL); - do_write_failed_error_s(outfilename,NULL); + char *outfilename = lives_build_filename(prefs->workdir, mainw->files[fileno]->handle, "audio", NULL); + do_write_failed_error_s(outfilename, NULL); } if (mainw->read_failed) { - char *infilename=lives_build_filename(prefs->workdir,mainw->files[fileno]->handle,"audio",NULL); - do_read_failed_error_s(infilename,NULL); + char *infilename = lives_build_filename(prefs->workdir, mainw->files[fileno]->handle, "audio", NULL); + do_read_failed_error_s(infilename, NULL); } } @@ -1390,129 +1442,129 @@ // open audio file for writing lives_clip_t *outfile; - boolean jackd_read_started=(mainw->jackd_read!=NULL); + boolean jackd_read_started = (mainw->jackd_read != NULL); int retval; - if (fileno==-1) { + if (fileno == -1) { // respond to external audio, but do not record it (yet) - mainw->jackd_read=jack_get_driver(0,FALSE); - mainw->jackd_read->playing_file=fileno; - mainw->jackd_read->frames_written=0; + mainw->jackd_read = jack_get_driver(0, FALSE); + mainw->jackd_read->playing_file = fileno; + mainw->jackd_read->frames_written = 0; - mainw->jackd_read->reverse_endian=FALSE; + mainw->jackd_read->reverse_endian = FALSE; // start jack "recording" jack_open_device_read(mainw->jackd_read); - jack_read_driver_activate(mainw->jackd_read,FALSE); + jack_read_driver_activate(mainw->jackd_read, FALSE); return; } - outfile=mainw->files[fileno]; + outfile = mainw->files[fileno]; - if (mainw->aud_rec_fd==-1) { - char *outfilename=lives_build_filename(prefs->workdir,outfile->handle,"audio",NULL); + if (mainw->aud_rec_fd == -1) { + char *outfilename = lives_build_filename(prefs->workdir, outfile->handle, "audio", NULL); do { - retval=0; - mainw->aud_rec_fd=lives_open3(outfilename,O_WRONLY|O_CREAT|O_APPEND,S_IRUSR|S_IWUSR); - if (mainw->aud_rec_fd<0) { - retval=do_write_failed_error_s_with_retry(outfilename,lives_strerror(errno),NULL); - if (retval==LIVES_RESPONSE_CANCEL) { + retval = 0; + mainw->aud_rec_fd = lives_open3(outfilename, O_WRONLY | O_CREAT | O_APPEND, S_IRUSR | S_IWUSR); + if (mainw->aud_rec_fd < 0) { + retval = do_write_failed_error_s_with_retry(outfilename, lives_strerror(errno), NULL); + if (retval == LIVES_RESPONSE_CANCEL) { lives_free(outfilename); return; } } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); lives_free(outfilename); - if (fileno==mainw->ascrap_file) mainw->files[mainw->ascrap_file]->cb_src=mainw->aud_rec_fd; + if (fileno == mainw->ascrap_file) mainw->files[mainw->ascrap_file]->cb_src = mainw->aud_rec_fd; } - if (rec_type==RECA_GENERATED) { - mainw->jackd->playing_file=fileno; + if (rec_type == RECA_GENERATED) { + mainw->jackd->playing_file = fileno; } else { - if (!jackd_read_started) mainw->jackd_read=jack_get_driver(0,FALSE); - mainw->jackd_read->playing_file=fileno; - mainw->jackd_read->frames_written=0; + if (!jackd_read_started) mainw->jackd_read = jack_get_driver(0, FALSE); + mainw->jackd_read->playing_file = fileno; + mainw->jackd_read->frames_written = 0; } - if (rec_type==RECA_EXTERNAL||rec_type==RECA_GENERATED) { + if (rec_type == RECA_EXTERNAL || rec_type == RECA_GENERATED) { int asigned; int aendian; - uint64_t fsize=get_file_size(mainw->aud_rec_fd); + uint64_t fsize = get_file_size(mainw->aud_rec_fd); - if (rec_type==RECA_EXTERNAL) { - mainw->jackd_read->reverse_endian=FALSE; + if (rec_type == RECA_EXTERNAL) { + mainw->jackd_read->reverse_endian = FALSE; // start jack recording if (!jackd_read_started) { jack_open_device_read(mainw->jackd_read); - jack_read_driver_activate(mainw->jackd_read,FALSE); + jack_read_driver_activate(mainw->jackd_read, FALSE); } - outfile->arate=outfile->arps=mainw->jackd_read->sample_in_rate; - outfile->achans=mainw->jackd_read->num_input_channels; + outfile->arate = outfile->arps = mainw->jackd_read->sample_in_rate; + outfile->achans = mainw->jackd_read->num_input_channels; - outfile->asampsize=16; - outfile->signed_endian=get_signed_endian(TRUE,TRUE); + outfile->asampsize = 16; + outfile->signed_endian = get_signed_endian(TRUE, TRUE); - asigned=!(outfile->signed_endian&AFORM_UNSIGNED); - aendian=!(outfile->signed_endian&AFORM_BIG_ENDIAN); + asigned = !(outfile->signed_endian & AFORM_UNSIGNED); + aendian = !(outfile->signed_endian & AFORM_BIG_ENDIAN); - mainw->jackd_read->frames_written=fsize/(outfile->achans*(outfile->asampsize>>3)); + mainw->jackd_read->frames_written = fsize / (outfile->achans * (outfile->asampsize >> 3)); } else { - mainw->jackd->reverse_endian=FALSE; - outfile->arate=outfile->arps=mainw->jackd->sample_out_rate; - outfile->achans=mainw->jackd->num_output_channels; - - outfile->asampsize=16; - outfile->signed_endian=get_signed_endian(TRUE,TRUE); - - asigned=!(outfile->signed_endian&AFORM_UNSIGNED); - aendian=!(outfile->signed_endian&AFORM_BIG_ENDIAN); - } - - save_clip_value(fileno,CLIP_DETAILS_ACHANS,&outfile->achans); - save_clip_value(fileno,CLIP_DETAILS_ARATE,&outfile->arps); - save_clip_value(fileno,CLIP_DETAILS_PB_ARATE,&outfile->arate); - save_clip_value(fileno,CLIP_DETAILS_ASAMPS,&outfile->asampsize); - save_clip_value(fileno,CLIP_DETAILS_AENDIAN,&aendian); - save_clip_value(fileno,CLIP_DETAILS_ASIGNED,&asigned); + mainw->jackd->reverse_endian = FALSE; + outfile->arate = outfile->arps = mainw->jackd->sample_out_rate; + outfile->achans = mainw->jackd->num_output_channels; + + outfile->asampsize = 16; + outfile->signed_endian = get_signed_endian(TRUE, TRUE); + + asigned = !(outfile->signed_endian & AFORM_UNSIGNED); + aendian = !(outfile->signed_endian & AFORM_BIG_ENDIAN); + } + + save_clip_value(fileno, CLIP_DETAILS_ACHANS, &outfile->achans); + save_clip_value(fileno, CLIP_DETAILS_ARATE, &outfile->arps); + save_clip_value(fileno, CLIP_DETAILS_PB_ARATE, &outfile->arate); + save_clip_value(fileno, CLIP_DETAILS_ASAMPS, &outfile->asampsize); + save_clip_value(fileno, CLIP_DETAILS_AENDIAN, &aendian); + save_clip_value(fileno, CLIP_DETAILS_ASIGNED, &asigned); } else { - int out_bendian=outfile->signed_endian&AFORM_BIG_ENDIAN; + int out_bendian = outfile->signed_endian & AFORM_BIG_ENDIAN; - if ((!out_bendian&&(capable->byte_order==LIVES_BIG_ENDIAN))|| - (out_bendian&&(capable->byte_order==LIVES_LITTLE_ENDIAN))) - mainw->jackd_read->reverse_endian=TRUE; - else mainw->jackd_read->reverse_endian=FALSE; + if ((!out_bendian && (capable->byte_order == LIVES_BIG_ENDIAN)) || + (out_bendian && (capable->byte_order == LIVES_LITTLE_ENDIAN))) + mainw->jackd_read->reverse_endian = TRUE; + else mainw->jackd_read->reverse_endian = FALSE; // start jack recording jack_open_device_read(mainw->jackd_read); - jack_read_driver_activate(mainw->jackd_read,TRUE); + jack_read_driver_activate(mainw->jackd_read, TRUE); } // in grab window mode, just return, we will call rec_audio_end on playback end - if (rec_type==RECA_WINDOW_GRAB||rec_type==RECA_EXTERNAL||rec_type==RECA_GENERATED) return; + if (rec_type == RECA_WINDOW_GRAB || rec_type == RECA_EXTERNAL || rec_type == RECA_GENERATED) return; - mainw->cancelled=CANCEL_NONE; - mainw->cancel_type=CANCEL_SOFT; + mainw->cancelled = CANCEL_NONE; + mainw->cancel_type = CANCEL_SOFT; // show countdown/stop dialog - mainw->suppress_dprint=FALSE; + mainw->suppress_dprint = FALSE; d_print(_("Recording audio...")); - mainw->suppress_dprint=TRUE; - if (rec_type==RECA_NEW_CLIP) { - do_auto_dialog(_("Recording audio"),1); + mainw->suppress_dprint = TRUE; + if (rec_type == RECA_NEW_CLIP) { + do_auto_dialog(_("Recording audio"), 1); } else { - int current_file=mainw->current_file; - mainw->current_file=old_file; - on_playsel_activate(NULL,NULL); - mainw->current_file=current_file; + int current_file = mainw->current_file; + mainw->current_file = old_file; + on_playsel_activate(NULL, NULL); + mainw->current_file = current_file; } - jack_rec_audio_end(!(prefs->perm_audio_reader&&prefs->audio_src==AUDIO_SRC_EXT),TRUE); + jack_rec_audio_end(!(prefs->perm_audio_reader && prefs->audio_src == AUDIO_SRC_EXT), TRUE); } @@ -1522,16 +1574,16 @@ if (close_device) { // stop recording - if (mainw->jackd_read!=NULL) jack_close_device(mainw->jackd_read); - mainw->jackd_read=NULL; - } else mainw->jackd_read->in_use=FALSE; + if (mainw->jackd_read != NULL) jack_close_device(mainw->jackd_read); + mainw->jackd_read = NULL; + } else mainw->jackd_read->in_use = FALSE; - if (close_fd&&mainw->aud_rec_fd!=-1) { + if (close_fd && mainw->aud_rec_fd != -1) { // close file close(mainw->aud_rec_fd); - mainw->aud_rec_fd=-1; - mainw->cancel_type=CANCEL_KILL; + mainw->aud_rec_fd = -1; + mainw->cancel_type = CANCEL_KILL; } } #endif @@ -1546,13 +1598,13 @@ lives_clip_t *outfile; int retval; - if (fileno==-1) { - mainw->pulsed_read=pulse_get_driver(FALSE); - mainw->pulsed_read->playing_file=-1; - mainw->pulsed_read->frames_written=0; + if (fileno == -1) { + mainw->pulsed_read = pulse_get_driver(FALSE); + mainw->pulsed_read->playing_file = -1; + mainw->pulsed_read->frames_written = 0; - mainw->pulsed_read->reverse_endian=FALSE; - mainw->aud_rec_fd=-1; + mainw->pulsed_read->reverse_endian = FALSE; + mainw->aud_rec_fd = -1; pulse_driver_activate(mainw->pulsed_read); @@ -1560,114 +1612,114 @@ } - outfile=mainw->files[fileno]; + outfile = mainw->files[fileno]; - if (mainw->aud_rec_fd==-1) { - char *outfilename=lives_build_filename(prefs->workdir,outfile->handle,"audio",NULL); + if (mainw->aud_rec_fd == -1) { + char *outfilename = lives_build_filename(prefs->workdir, outfile->handle, "audio", NULL); do { - retval=0; - mainw->aud_rec_fd=lives_open3(outfilename,O_WRONLY|O_CREAT|O_APPEND,S_IRUSR|S_IWUSR); - if (mainw->aud_rec_fd<0) { - retval=do_write_failed_error_s_with_retry(outfilename,lives_strerror(errno),NULL); - if (retval==LIVES_RESPONSE_CANCEL) { + retval = 0; + mainw->aud_rec_fd = lives_open3(outfilename, O_WRONLY | O_CREAT | O_APPEND, S_IRUSR | S_IWUSR); + if (mainw->aud_rec_fd < 0) { + retval = do_write_failed_error_s_with_retry(outfilename, lives_strerror(errno), NULL); + if (retval == LIVES_RESPONSE_CANCEL) { lives_free(outfilename); return; } } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); lives_free(outfilename); - if (fileno==mainw->ascrap_file) { - mainw->files[mainw->ascrap_file]->cb_src=mainw->aud_rec_fd; - if (mainw->pulsed_read!=NULL) { + if (fileno == mainw->ascrap_file) { + mainw->files[mainw->ascrap_file]->cb_src = mainw->aud_rec_fd; + if (mainw->pulsed_read != NULL) { // flush all data from buffer; this seems like the only way void *data; size_t rbytes; pa_mloop_lock(); do { - pa_stream_peek(mainw->pulsed_read->pstream,(const void **)&data,&rbytes); - if (rbytes>0) pa_stream_drop(mainw->pulsed_read->pstream); - } while (rbytes>0); + pa_stream_peek(mainw->pulsed_read->pstream, (const void **)&data, &rbytes); + if (rbytes > 0) pa_stream_drop(mainw->pulsed_read->pstream); + } while (rbytes > 0); pa_mloop_unlock(); } } } - if (rec_type==RECA_GENERATED) { - mainw->pulsed->playing_file=fileno; + if (rec_type == RECA_GENERATED) { + mainw->pulsed->playing_file = fileno; } else { - mainw->pulsed_read=pulse_get_driver(FALSE); - mainw->pulsed_read->playing_file=fileno; - mainw->pulsed_read->frames_written=0; + mainw->pulsed_read = pulse_get_driver(FALSE); + mainw->pulsed_read->playing_file = fileno; + mainw->pulsed_read->frames_written = 0; } - if (rec_type==RECA_EXTERNAL||rec_type==RECA_GENERATED) { + if (rec_type == RECA_EXTERNAL || rec_type == RECA_GENERATED) { int asigned; int aendian; - uint64_t fsize=get_file_size(mainw->aud_rec_fd); + uint64_t fsize = get_file_size(mainw->aud_rec_fd); - if (rec_type==RECA_EXTERNAL) { - mainw->pulsed_read->reverse_endian=FALSE; + if (rec_type == RECA_EXTERNAL) { + mainw->pulsed_read->reverse_endian = FALSE; pulse_driver_activate(mainw->pulsed_read); - outfile->arate=outfile->arps=mainw->pulsed_read->out_arate; - outfile->achans=mainw->pulsed_read->out_achans; - outfile->asampsize=mainw->pulsed_read->out_asamps; - outfile->signed_endian=get_signed_endian(mainw->pulsed_read->out_signed!=AFORM_UNSIGNED, - mainw->pulsed_read->out_endian!=AFORM_BIG_ENDIAN); + outfile->arate = outfile->arps = mainw->pulsed_read->out_arate; + outfile->achans = mainw->pulsed_read->out_achans; + outfile->asampsize = mainw->pulsed_read->out_asamps; + outfile->signed_endian = get_signed_endian(mainw->pulsed_read->out_signed != AFORM_UNSIGNED, + mainw->pulsed_read->out_endian != AFORM_BIG_ENDIAN); - asigned=!(outfile->signed_endian&AFORM_UNSIGNED); - aendian=!(outfile->signed_endian&AFORM_BIG_ENDIAN); + asigned = !(outfile->signed_endian & AFORM_UNSIGNED); + aendian = !(outfile->signed_endian & AFORM_BIG_ENDIAN); - mainw->pulsed_read->frames_written=fsize/(outfile->achans*(outfile->asampsize>>3)); + mainw->pulsed_read->frames_written = fsize / (outfile->achans * (outfile->asampsize >> 3)); } else { - mainw->pulsed->reverse_endian=FALSE; - outfile->arate=outfile->arps=mainw->pulsed->out_arate; - outfile->achans=mainw->pulsed->out_achans; - outfile->asampsize=mainw->pulsed->out_asamps; - outfile->signed_endian=get_signed_endian(mainw->pulsed->out_signed!=AFORM_UNSIGNED, - mainw->pulsed->out_endian!=AFORM_BIG_ENDIAN); - - asigned=!(outfile->signed_endian&AFORM_UNSIGNED); - aendian=!(outfile->signed_endian&AFORM_BIG_ENDIAN); - } - - save_clip_value(fileno,CLIP_DETAILS_ACHANS,&outfile->achans); - save_clip_value(fileno,CLIP_DETAILS_ARATE,&outfile->arps); - save_clip_value(fileno,CLIP_DETAILS_PB_ARATE,&outfile->arate); - save_clip_value(fileno,CLIP_DETAILS_ASAMPS,&outfile->asampsize); - save_clip_value(fileno,CLIP_DETAILS_AENDIAN,&aendian); - save_clip_value(fileno,CLIP_DETAILS_ASIGNED,&asigned); + mainw->pulsed->reverse_endian = FALSE; + outfile->arate = outfile->arps = mainw->pulsed->out_arate; + outfile->achans = mainw->pulsed->out_achans; + outfile->asampsize = mainw->pulsed->out_asamps; + outfile->signed_endian = get_signed_endian(mainw->pulsed->out_signed != AFORM_UNSIGNED, + mainw->pulsed->out_endian != AFORM_BIG_ENDIAN); + + asigned = !(outfile->signed_endian & AFORM_UNSIGNED); + aendian = !(outfile->signed_endian & AFORM_BIG_ENDIAN); + } + + save_clip_value(fileno, CLIP_DETAILS_ACHANS, &outfile->achans); + save_clip_value(fileno, CLIP_DETAILS_ARATE, &outfile->arps); + save_clip_value(fileno, CLIP_DETAILS_PB_ARATE, &outfile->arate); + save_clip_value(fileno, CLIP_DETAILS_ASAMPS, &outfile->asampsize); + save_clip_value(fileno, CLIP_DETAILS_AENDIAN, &aendian); + save_clip_value(fileno, CLIP_DETAILS_ASIGNED, &asigned); } else { - int out_bendian=outfile->signed_endian&AFORM_BIG_ENDIAN; + int out_bendian = outfile->signed_endian & AFORM_BIG_ENDIAN; - if ((!out_bendian&&(capable->byte_order==LIVES_BIG_ENDIAN))|| - (out_bendian&&(capable->byte_order==LIVES_LITTLE_ENDIAN))) - mainw->pulsed_read->reverse_endian=TRUE; - else mainw->pulsed_read->reverse_endian=FALSE; + if ((!out_bendian && (capable->byte_order == LIVES_BIG_ENDIAN)) || + (out_bendian && (capable->byte_order == LIVES_LITTLE_ENDIAN))) + mainw->pulsed_read->reverse_endian = TRUE; + else mainw->pulsed_read->reverse_endian = FALSE; // start pulse recording pulse_driver_activate(mainw->pulsed_read); } // in grab window mode, just return, we will call rec_audio_end on playback end - if (rec_type==RECA_WINDOW_GRAB||rec_type==RECA_EXTERNAL||rec_type==RECA_GENERATED) return; + if (rec_type == RECA_WINDOW_GRAB || rec_type == RECA_EXTERNAL || rec_type == RECA_GENERATED) return; - mainw->cancelled=CANCEL_NONE; - mainw->cancel_type=CANCEL_SOFT; + mainw->cancelled = CANCEL_NONE; + mainw->cancel_type = CANCEL_SOFT; // show countdown/stop dialog - mainw->suppress_dprint=FALSE; + mainw->suppress_dprint = FALSE; d_print(_("Recording audio...")); - mainw->suppress_dprint=TRUE; - if (rec_type==RECA_NEW_CLIP) do_auto_dialog(_("Recording audio"),1); + mainw->suppress_dprint = TRUE; + if (rec_type == RECA_NEW_CLIP) do_auto_dialog(_("Recording audio"), 1); else { - int current_file=mainw->current_file; - mainw->current_file=old_file; - on_playsel_activate(NULL,NULL); - mainw->current_file=current_file; + int current_file = mainw->current_file; + mainw->current_file = old_file; + on_playsel_activate(NULL, NULL); + mainw->current_file = current_file; } - pulse_rec_audio_end(!(prefs->perm_audio_reader&&prefs->audio_src==AUDIO_SRC_EXT),TRUE); + pulse_rec_audio_end(!(prefs->perm_audio_reader && prefs->audio_src == AUDIO_SRC_EXT), TRUE); } @@ -1677,24 +1729,24 @@ // stop recording - if (mainw->pulsed_read!=NULL) { - if (mainw->pulsed_read->playing_file>-1) - pulse_flush_read_data(mainw->pulsed_read,mainw->pulsed_read->playing_file,0,mainw->pulsed_read->reverse_endian,NULL); + if (mainw->pulsed_read != NULL) { + if (mainw->pulsed_read->playing_file > -1) + pulse_flush_read_data(mainw->pulsed_read, mainw->pulsed_read->playing_file, 0, mainw->pulsed_read->reverse_endian, NULL); if (close_device) pulse_close_client(mainw->pulsed_read); - if (close_device) mainw->pulsed_read=NULL; + if (close_device) mainw->pulsed_read = NULL; else { - mainw->pulsed_read->in_use=FALSE; - mainw->pulsed_read->playing_file=-1; + mainw->pulsed_read->in_use = FALSE; + mainw->pulsed_read->playing_file = -1; } } - if (mainw->aud_rec_fd!=-1&&close_fd) { + if (mainw->aud_rec_fd != -1 && close_fd) { // close file close(mainw->aud_rec_fd); - mainw->aud_rec_fd=-1; - mainw->cancel_type=CANCEL_KILL; + mainw->aud_rec_fd = -1; + mainw->cancel_type = CANCEL_KILL; } } @@ -1717,17 +1769,17 @@ // increase the element size of the audstate array (ostate) // from nostate elements to nstate elements - lives_audio_track_state_t *audstate=(lives_audio_track_state_t *)lives_malloc(nstate*sizeof(lives_audio_track_state_t)); + lives_audio_track_state_t *audstate = (lives_audio_track_state_t *)lives_malloc(nstate * sizeof(lives_audio_track_state_t)); int i; - for (i=0; i<nstate; i++) { - if (i<nostate) { - audstate[i].afile=ostate[i].afile; - audstate[i].seek=ostate[i].seek; - audstate[i].vel=ostate[i].vel; + for (i = 0; i < nstate; i++) { + if (i < nostate) { + audstate[i].afile = ostate[i].afile; + audstate[i].seek = ostate[i].seek; + audstate[i].vel = ostate[i].vel; } else { - audstate[i].afile=0; - audstate[i].seek=audstate[i].vel=0.; + audstate[i].afile = 0; + audstate[i].seek = audstate[i].vel = 0.; } } @@ -1745,29 +1797,29 @@ // parse an audio frame, and set the track file, seek and velocity values - int error,atrack; - int num_aclips=weed_leaf_num_elements(event,WEED_LEAF_AUDIO_CLIPS); - int *aclips=weed_get_int_array(event,WEED_LEAF_AUDIO_CLIPS,&error); - double *aseeks=weed_get_double_array(event,WEED_LEAF_AUDIO_SEEKS,&error); - int naudstate=0; - lives_audio_track_state_t *atstate=NULL; + int error, atrack; + int num_aclips = weed_leaf_num_elements(event, WEED_LEAF_AUDIO_CLIPS); + int *aclips = weed_get_int_array(event, WEED_LEAF_AUDIO_CLIPS, &error); + double *aseeks = weed_get_double_array(event, WEED_LEAF_AUDIO_SEEKS, &error); + int naudstate = 0; + lives_audio_track_state_t *atstate = NULL; register int i; - int btoffs=mainw->multitrack!=NULL?mainw->multitrack->opts.back_audio_tracks:1; + int btoffs = mainw->multitrack != NULL ? mainw->multitrack->opts.back_audio_tracks : 1; - for (i=0; i<num_aclips; i+=2) { - if (aclips[i+1]>0) { // else ignore - atrack=aclips[i]; - if (atrack+btoffs>=naudstate-1) { - atstate=resize_audstate(atstate,naudstate,atrack+btoffs+2); - naudstate=atrack+btoffs+1; - atstate[naudstate].afile=-1; - } - atstate[atrack+btoffs].afile=aclips[i+1]; - atstate[atrack+btoffs].seek=aseeks[i]; - atstate[atrack+btoffs].vel=aseeks[i+1]; + for (i = 0; i < num_aclips; i += 2) { + if (aclips[i + 1] > 0) { // else ignore + atrack = aclips[i]; + if (atrack + btoffs >= naudstate - 1) { + atstate = resize_audstate(atstate, naudstate, atrack + btoffs + 2); + naudstate = atrack + btoffs + 1; + atstate[naudstate].afile = -1; + } + atstate[atrack + btoffs].afile = aclips[i + 1]; + atstate[atrack + btoffs].seek = aseeks[i]; + atstate[atrack + btoffs].vel = aseeks[i + 1]; } } @@ -1786,11 +1838,11 @@ // if exact is set, we must rewind back to first active stateful effect, // and play forwards from there (not yet implemented - TODO) - weed_plant_t *nevent=get_first_event(event_list),*event; - lives_audio_track_state_t *atstate=NULL,*audstate=NULL; + weed_plant_t *nevent = get_first_event(event_list), *event; + lives_audio_track_state_t *atstate = NULL, *audstate = NULL; weed_plant_t *deinit_event; - int error,nfiles,nnfiles; - weed_timecode_t last_tc=0,fill_tc; + int error, nfiles, nnfiles; + weed_timecode_t last_tc = 0, fill_tc; int i; // gets effects state (initing any effects which should be active) @@ -1798,66 +1850,66 @@ // optionally: gets audio state at audio frame prior to st_event, sets atstate[0].tc // and initialises audio buffers - mainw->filter_map=NULL; - mainw->afilter_map=NULL; + mainw->filter_map = NULL; + mainw->afilter_map = NULL; - mainw->audio_event=st_event; + mainw->audio_event = st_event; - fill_tc=get_event_timecode(st_event); + fill_tc = get_event_timecode(st_event); do { - event=nevent; + event = nevent; if (WEED_EVENT_IS_FILTER_MAP(event)) { - mainw->afilter_map=mainw->filter_map=event; + mainw->afilter_map = mainw->filter_map = event; } else if (WEED_EVENT_IS_FILTER_INIT(event)) { - deinit_event=(weed_plant_t *)weed_get_voidptr_value(event,WEED_LEAF_DEINIT_EVENT,&error); - if (get_event_timecode(deinit_event)>=fill_tc) { + deinit_event = (weed_plant_t *)weed_get_voidptr_value(event, WEED_LEAF_DEINIT_EVENT, &error); + if (get_event_timecode(deinit_event) >= fill_tc) { // this effect should be activated - process_events(event,FALSE,get_event_timecode(event)); - process_events(event,TRUE,get_event_timecode(event)); + process_events(event, FALSE, get_event_timecode(event)); + process_events(event, TRUE, get_event_timecode(event)); } - } else if (get_audstate&&WEED_EVENT_IS_AUDIO_FRAME(event)) { + } else if (get_audstate && WEED_EVENT_IS_AUDIO_FRAME(event)) { - atstate=aframe_to_atstate(event); + atstate = aframe_to_atstate(event); - if (audstate==NULL) audstate=atstate; + if (audstate == NULL) audstate = atstate; else { // have an existing audio state, update with current - for (nfiles=0; audstate[nfiles].afile!=-1; nfiles++); + for (nfiles = 0; audstate[nfiles].afile != -1; nfiles++); - for (i=0; i<nfiles; i++) { + for (i = 0; i < nfiles; i++) { // increase seek values up to current frame - audstate[i].seek+=audstate[i].vel*(get_event_timecode(event)-last_tc)/U_SEC; + audstate[i].seek += audstate[i].vel * (get_event_timecode(event) - last_tc) / U_SEC; } - for (nnfiles=0; atstate[nnfiles].afile!=-1; nnfiles++); + for (nnfiles = 0; atstate[nnfiles].afile != -1; nnfiles++); - if (nnfiles>nfiles) { - audstate=resize_audstate(audstate,nfiles,nnfiles+1); - audstate[nnfiles].afile=-1; + if (nnfiles > nfiles) { + audstate = resize_audstate(audstate, nfiles, nnfiles + 1); + audstate[nnfiles].afile = -1; } - for (i=0; i<nnfiles; i++) { - if (atstate[i].afile>0) { - audstate[i].afile=atstate[i].afile; - audstate[i].seek=atstate[i].seek; - audstate[i].vel=atstate[i].vel; + for (i = 0; i < nnfiles; i++) { + if (atstate[i].afile > 0) { + audstate[i].afile = atstate[i].afile; + audstate[i].seek = atstate[i].seek; + audstate[i].vel = atstate[i].vel; } } lives_free(atstate); } - last_tc=get_event_timecode(event); + last_tc = get_event_timecode(event); } - nevent=get_next_event(event); - } while (event!=st_event); + nevent = get_next_event(event); + } while (event != st_event); - if (audstate!=NULL) { - for (nfiles=0; audstate[nfiles].afile!=-1; nfiles++); + if (audstate != NULL) { + for (nfiles = 0; audstate[nfiles].afile != -1; nfiles++); - for (i=0; i<nfiles; i++) { + for (i = 0; i < nfiles; i++) { // increase seek values - audstate[i].seek+=audstate[i].vel*(fill_tc-last_tc)/U_SEC; + audstate[i].seek += audstate[i].vel * (fill_tc - last_tc) / U_SEC; } } @@ -1879,8 +1931,8 @@ // all we really do here is set from_files,aseeks and avels arrays and call render_audio_segment - lives_audio_track_state_t *atstate=NULL; - int nnfiles,i; + lives_audio_track_state_t *atstate = NULL; + int nnfiles, i; double chvols[MAX_AUDIO_TRACKS]; // TODO - use list static weed_timecode_t last_tc; @@ -1888,35 +1940,35 @@ static weed_plant_t *event; static int nfiles; - static int *from_files=NULL; - static double *aseeks=NULL,*avels=NULL; + static int *from_files = NULL; + static double *aseeks = NULL, *avels = NULL; - boolean is_cont=FALSE; - if (abuf==NULL) return; + boolean is_cont = FALSE; + if (abuf == NULL) return; - abuf->samples_filled=0; // write fill level of buffer - abuf->start_sample=0; // read level + abuf->samples_filled = 0; // write fill level of buffer + abuf->start_sample = 0; // read level - if (st_event!=NULL) { + if (st_event != NULL) { // this is only called for the first buffered read - event=st_event; - last_tc=get_event_timecode(event); + event = st_event; + last_tc = get_event_timecode(event); lives_freep((void **)&from_files); lives_freep((void **)&avels); lives_freep((void **)&aseeks); - if (mainw->multitrack!=NULL) nfiles=weed_leaf_num_elements(mainw->multitrack->avol_init_event,WEED_LEAF_IN_TRACKS); + if (mainw->multitrack != NULL) nfiles = weed_leaf_num_elements(mainw->multitrack->avol_init_event, WEED_LEAF_IN_TRACKS); - else nfiles=1; + else nfiles = 1; - from_files=(int *)lives_malloc(nfiles*sizint); - avels=(double *)lives_malloc(nfiles*sizdbl); - aseeks=(double *)lives_malloc(nfiles*sizdbl); + from_files = (int *)lives_malloc(nfiles * sizint); + avels = (double *)lives_malloc(nfiles * sizdbl); + aseeks = (double *)lives_malloc(nfiles * sizdbl); - for (i=0; i<nfiles; i++) { - from_files[i]=0; - avels[i]=aseeks[i]=0.; + for (i = 0; i < nfiles; i++) { + from_files[i] = 0; + avels[i] = aseeks[i] = 0.; } // TODO - actually what we should do here is get the audio state for @@ -1929,111 +1981,111 @@ // start of the track buffer - if (event!=get_first_event(event_list)) - atstate=get_audio_and_effects_state_at(event_list,event,TRUE,exact); + if (event != get_first_event(event_list)) + atstate = get_audio_and_effects_state_at(event_list, event, TRUE, exact); // process audio updates at this frame - else atstate=aframe_to_atstate(event); + else atstate = aframe_to_atstate(event); - mainw->audio_event=event; + mainw->audio_event = event; - if (atstate!=NULL) { + if (atstate != NULL) { - for (nnfiles=0; atstate[nnfiles].afile!=-1; nnfiles++); + for (nnfiles = 0; atstate[nnfiles].afile != -1; nnfiles++); - for (i=0; i<nnfiles; i++) { - if (atstate[i].afile>0) { - from_files[i]=atstate[i].afile; - avels[i]=atstate[i].vel; - aseeks[i]=atstate[i].seek; + for (i = 0; i < nnfiles; i++) { + if (atstate[i].afile > 0) { + from_files[i] = atstate[i].afile; + avels[i] = atstate[i].vel; + aseeks[i] = atstate[i].seek; } } lives_free(atstate); } } else { - is_cont=TRUE; + is_cont = TRUE; } - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { // get channel volumes from the mixer - for (i=0; i<nfiles; i++) { - if (mainw->multitrack!=NULL&&mainw->multitrack->audio_vols!=NULL) { - chvols[i]=(double)LIVES_POINTER_TO_INT(lives_list_nth_data(mainw->multitrack->audio_vols,i))/1000000.; + for (i = 0; i < nfiles; i++) { + if (mainw->multitrack != NULL && mainw->multitrack->audio_vols != NULL) { + chvols[i] = (double)LIVES_POINTER_TO_INT(lives_list_nth_data(mainw->multitrack->audio_vols, i)) / 1000000.; } } - } else chvols[0]=1.; + } else chvols[0] = 1.; - fill_tc=last_tc+(double)(abuf->samp_space)/(double)abuf->arate*U_SEC; + fill_tc = last_tc + (double)(abuf->samp_space) / (double)abuf->arate * U_SEC; // continue until either we have a full buffer, or we reach next audio frame - while (event!=NULL&&get_event_timecode(event)<=fill_tc) { - if (!is_cont) event=get_next_frame_event(event); + while (event != NULL && get_event_timecode(event) <= fill_tc) { + if (!is_cont) event = get_next_frame_event(event); if (WEED_EVENT_IS_AUDIO_FRAME(event)) { // got next audio frame - weed_timecode_t tc=get_event_timecode(event); - if (tc>=fill_tc) break; + weed_timecode_t tc = get_event_timecode(event); + if (tc >= fill_tc) break; - tc+=(U_SEC/cfile->fps*!is_blank_frame(event,FALSE)); + tc += (U_SEC / cfile->fps * !is_blank_frame(event, FALSE)); - mainw->read_failed=FALSE; + mainw->read_failed = FALSE; lives_freep((void **)&mainw->read_failed_file); render_audio_segment(nfiles, from_files, -1, avels, aseeks, last_tc, tc, chvols, 1., 1., abuf); if (mainw->read_failed) { - do_read_failed_error_s(mainw->read_failed_file,NULL); + do_read_failed_error_s(mainw->read_failed_file, NULL); } - for (i=0; i<nfiles; i++) { + for (i = 0; i < nfiles; i++) { // increase seek values - aseeks[i]+=avels[i]*(tc-last_tc)/U_SEC; + aseeks[i] += avels[i] * (tc - last_tc) / U_SEC; } - last_tc=tc; + last_tc = tc; // process audio updates at this frame - atstate=aframe_to_atstate(event); + atstate = aframe_to_atstate(event); - if (atstate!=NULL) { - for (nnfiles=0; atstate[nnfiles].afile!=-1; nnfiles++); + if (atstate != NULL) { + for (nnfiles = 0; atstate[nnfiles].afile != -1; nnfiles++); - for (i=0; i<nnfiles; i++) { - if (atstate[i].afile>0) { - from_files[i]=atstate[i].afile; - avels[i]=atstate[i].vel; - aseeks[i]=atstate[i].seek; + for (i = 0; i < nnfiles; i++) { + if (atstate[i].afile > 0) { + from_files[i] = atstate[i].afile; + avels[i] = atstate[i].vel; + aseeks[i] = atstate[i].seek; } } lives_free(atstate); } } - is_cont=FALSE; + is_cont = FALSE; } - if (last_tc<fill_tc) { + if (last_tc < fill_tc) { // flush the rest of the audio - mainw->read_failed=FALSE; + mainw->read_failed = FALSE; lives_freep((void **)&mainw->read_failed_file); render_audio_segment(nfiles, from_files, -1, avels, aseeks, last_tc, fill_tc, chvols, 1., 1., abuf); - for (i=0; i<nfiles; i++) { + for (i = 0; i < nfiles; i++) { // increase seek values - aseeks[i]+=avels[i]*(fill_tc-last_tc)/U_SEC; + aseeks[i] += avels[i] * (fill_tc - last_tc) / U_SEC; } } if (mainw->read_failed) { - do_read_failed_error_s(mainw->read_failed_file,NULL); + do_read_failed_error_s(mainw->read_failed_file, NULL); } mainw->write_abuf++; - if (mainw->write_abuf>=prefs->num_rtaudiobufs) mainw->write_abuf=0; + if (mainw->write_abuf >= prefs->num_rtaudiobufs) mainw->write_abuf = 0; - last_tc=fill_tc; + last_tc = fill_tc; - if (mainw->abufs_to_fill>0) { + if (mainw->abufs_to_fill > 0) { pthread_mutex_lock(&mainw->abuf_mutex); mainw->abufs_to_fill--; pthread_mutex_unlock(&mainw->abuf_mutex); @@ -2047,19 +2099,19 @@ void init_jack_audio_buffers(int achans, int arate, boolean exact) { #ifdef ENABLE_JACK - int i,chan; + int i, chan; - mainw->jackd->abufs=(lives_audio_buf_t **)lives_malloc(prefs->num_rtaudiobufs*sizeof(lives_audio_buf_t *)); + mainw->jackd->abufs = (lives_audio_buf_t **)lives_malloc(prefs->num_rtaudiobufs * sizeof(lives_audio_buf_t *)); - for (i=0; i<prefs->num_rtaudiobufs; i++) { - mainw->jackd->abufs[i]=(lives_audio_buf_t *)lives_malloc(sizeof(lives_audio_buf_t)); + for (i = 0; i < prefs->num_rtaudiobufs; i++) { + mainw->jackd->abufs[i] = (lives_audio_buf_t *)lives_malloc(sizeof(lives_audio_buf_t)); - mainw->jackd->abufs[i]->out_achans=achans; - mainw->jackd->abufs[i]->arate=arate; - mainw->jackd->abufs[i]->samp_space=XSAMPLES/prefs->num_rtaudiobufs; - mainw->jackd->abufs[i]->bufferf=(float **)lives_malloc(achans*sizeof(float *)); - for (chan=0; chan<achans; chan++) { - mainw->jackd->abufs[i]->bufferf[chan]=(float *)lives_malloc(XSAMPLES/prefs->num_rtaudiobufs*sizeof(float)); + mainw->jackd->abufs[i]->out_achans = achans; + mainw->jackd->abufs[i]->arate = arate; + mainw->jackd->abufs[i]->samp_space = XSAMPLES / prefs->num_rtaudiobufs; + mainw->jackd->abufs[i]->bufferf = (float **)lives_malloc(achans * sizeof(float *)); + for (chan = 0; chan < achans; chan++) { + mainw->jackd->abufs[i]->bufferf[chan] = (float *)lives_malloc(XSAMPLES / prefs->num_rtaudiobufs * sizeof(float)); } } #endif @@ -2071,16 +2123,16 @@ int i; - mainw->pulsed->abufs=(lives_audio_buf_t **)lives_malloc(prefs->num_rtaudiobufs*sizeof(lives_audio_buf_t *)); + mainw->pulsed->abufs = (lives_audio_buf_t **)lives_malloc(prefs->num_rtaudiobufs * sizeof(lives_audio_buf_t *)); - for (i=0; i<prefs->num_rtaudiobufs; i++) { - mainw->pulsed->abufs[i]=(lives_audio_buf_t *)lives_malloc(sizeof(lives_audio_buf_t)); + for (i = 0; i < prefs->num_rtaudiobufs; i++) { + mainw->pulsed->abufs[i] = (lives_audio_buf_t *)lives_malloc(sizeof(lives_audio_buf_t)); - mainw->pulsed->abufs[i]->out_achans=achans; - mainw->pulsed->abufs[i]->arate=arate; - mainw->pulsed->abufs[i]->samp_space=XSAMPLES/prefs->num_rtaudiobufs; // samp_space here is in stereo samples - mainw->pulsed->abufs[i]->buffer16=(short **)lives_malloc(sizeof(short *)); - mainw->pulsed->abufs[i]->buffer16[0]=(short *)lives_malloc(XSAMPLES/prefs->num_rtaudiobufs*achans*sizeof(short)); + mainw->pulsed->abufs[i]->out_achans = achans; + mainw->pulsed->abufs[i]->arate = arate; + mainw->pulsed->abufs[i]->samp_space = XSAMPLES / prefs->num_rtaudiobufs; // samp_space here is in stereo samples + mainw->pulsed->abufs[i]->buffer16 = (short **)lives_malloc(sizeof(short *)); + mainw->pulsed->abufs[i]->buffer16[0] = (short *)lives_malloc(XSAMPLES / prefs->num_rtaudiobufs * achans * sizeof(short)); } #endif } @@ -2090,15 +2142,15 @@ void free_jack_audio_buffers(void) { #ifdef ENABLE_JACK - int i,chan; + int i, chan; - if (mainw->jackd==NULL) return; + if (mainw->jackd == NULL) return; - if (mainw->jackd->abufs==NULL) return; + if (mainw->jackd->abufs == NULL) return; - for (i=0; i<prefs->num_rtaudiobufs; i++) { - if (mainw->jackd->abufs[i]!=NULL) { - for (chan=0; chan<mainw->jackd->abufs[i]->out_achans; chan++) { + for (i = 0; i < prefs->num_rtaudiobufs; i++) { + if (mainw->jackd->abufs[i] != NULL) { + for (chan = 0; chan < mainw->jackd->abufs[i]->out_achans; chan++) { lives_free(mainw->jackd->abufs[i]->bufferf[chan]); } lives_free(mainw->jackd->abufs[i]->bufferf); @@ -2115,12 +2167,12 @@ int i; - if (mainw->pulsed==NULL) return; + if (mainw->pulsed == NULL) return; - if (mainw->pulsed->abufs==NULL) return; + if (mainw->pulsed->abufs == NULL) return; - for (i=0; i<prefs->num_rtaudiobufs; i++) { - if (mainw->pulsed->abufs[i]!=NULL) { + for (i = 0; i < prefs->num_rtaudiobufs; i++) { + if (mainw->pulsed->abufs[i] != NULL) { lives_free(mainw->pulsed->abufs[i]->buffer16[0]); lives_free(mainw->pulsed->abufs[i]->buffer16); lives_free(mainw->pulsed->abufs[i]); @@ -2146,24 +2198,24 @@ // this is only active if "audio follows video rate/fps changes" is set - if (!(prefs->audio_opts&AUDIO_OPTS_FOLLOW_FPS)) return FALSE; + if (!(prefs->audio_opts & AUDIO_OPTS_FOLLOW_FPS)) return FALSE; // if recording external audio, we are intrinsically in sync - if (mainw->record&&prefs->audio_src==AUDIO_SRC_EXT) return TRUE; + if (mainw->record && prefs->audio_src == AUDIO_SRC_EXT) return TRUE; #ifdef ENABLE_JACK - if (prefs->audio_player==AUD_PLAYER_JACK&&mainw->jackd!=NULL) { + if (prefs->audio_player == AUD_PLAYER_JACK && mainw->jackd != NULL) { if (!mainw->is_rendering) { - if (mainw->jackd->playing_file!=-1&&!jack_audio_seek_frame(mainw->jackd,frameno)) { - if (jack_try_reconnect()) jack_audio_seek_frame(mainw->jackd,frameno); + if (mainw->jackd->playing_file != -1 && !jack_audio_seek_frame(mainw->jackd, frameno)) { + if (jack_try_reconnect()) jack_audio_seek_frame(mainw->jackd, frameno); } - if (mainw->agen_key==0&&!mainw->agen_needs_reinit&&!has_audio_filters(AF_TYPE_NONA)) { - mainw->rec_aclip=mainw->current_file; - mainw->rec_avel=cfile->pb_fps/cfile->fps; - mainw->rec_aseek=(double)mainw->jackd->seek_pos/(double)(cfile->arate*cfile->achans*cfile->asampsize/8); + if (mainw->agen_key == 0 && !mainw->agen_needs_reinit && !has_audio_filters(AF_TYPE_NONA)) { + mainw->rec_aclip = mainw->current_file; + mainw->rec_avel = cfile->pb_fps / cfile->fps; + mainw->rec_aseek = (double)mainw->jackd->seek_pos / (double)(cfile->arate * cfile->achans * cfile->asampsize / 8); } } @@ -2172,15 +2224,15 @@ #endif #ifdef HAVE_PULSE_AUDIO - if (prefs->audio_player==AUD_PLAYER_PULSE&&mainw->pulsed!=NULL) { + if (prefs->audio_player == AUD_PLAYER_PULSE && mainw->pulsed != NULL) { if (!mainw->is_rendering) { - if (mainw->pulsed->playing_file!=-1&&!pulse_audio_seek_frame(mainw->pulsed,frameno)) { - if (pulse_try_reconnect()) pulse_audio_seek_frame(mainw->pulsed,frameno); + if (mainw->pulsed->playing_file != -1 && !pulse_audio_seek_frame(mainw->pulsed, frameno)) { + if (pulse_try_reconnect()) pulse_audio_seek_frame(mainw->pulsed, frameno); } - if (mainw->agen_key==0&&!mainw->agen_needs_reinit&&!has_audio_filters(AF_TYPE_NONA)) { - mainw->rec_aclip=mainw->current_file; - mainw->rec_avel=cfile->pb_fps/cfile->fps; - mainw->rec_aseek=(double)mainw->pulsed->seek_pos/(double)(cfile->arate*cfile->achans*cfile->asampsize/8); + if (mainw->agen_key == 0 && !mainw->agen_needs_reinit && !has_audio_filters(AF_TYPE_NONA)) { + mainw->rec_aclip = mainw->current_file; + mainw->rec_avel = cfile->pb_fps / cfile->fps; + mainw->rec_aseek = (double)mainw->pulsed->seek_pos / (double)(cfile->arate * cfile->achans * cfile->asampsize / 8); } } return TRUE; @@ -2194,7 +2246,7 @@ ////////////////////////////////////////////////////////////////////////// -static lives_audio_buf_t *cache_buffer=NULL; +static lives_audio_buf_t *cache_buffer = NULL; static pthread_t athread; @@ -2203,54 +2255,54 @@ char *filename; register int i; - cbuffer->is_ready=TRUE; + cbuffer->is_ready = TRUE; while (!cbuffer->die) { // wait for request from client - while (cbuffer->is_ready&&!cbuffer->die) { + while (cbuffer->is_ready && !cbuffer->die) { sched_yield(); lives_usleep(prefs->sleep_time); } if (cbuffer->die) { - if (cbuffer->_fd!=-1) close(cbuffer->_fd); + if (cbuffer->_fd != -1) close(cbuffer->_fd); return cbuffer; } // read from file and process data //lives_printerr("got buffer request !\n"); - if (cbuffer->operation!=LIVES_READ_OPERATION) { - cbuffer->is_ready=TRUE; + if (cbuffer->operation != LIVES_READ_OPERATION) { + cbuffer->is_ready = TRUE; continue; } - cbuffer->eof=FALSE; + cbuffer->eof = FALSE; // TODO - if out_asamps changed, we need to free all buffers and set _cachans==0 - if (cbuffer->out_asamps!=cbuffer->_casamps) { - if (cbuffer->bufferf!=NULL) { + if (cbuffer->out_asamps != cbuffer->_casamps) { + if (cbuffer->bufferf != NULL) { // free float channels - for (i=0; i<(cbuffer->_cout_interleaf?1:cbuffer->_cachans); i++) { + for (i = 0; i < (cbuffer->_cout_interleaf ? 1 : cbuffer->_cachans); i++) { lives_free(cbuffer->bufferf[i]); } lives_free(cbuffer->bufferf); - cbuffer->bufferf=NULL; + cbuffer->bufferf = NULL; } - if (cbuffer->buffer16!=NULL) { + if (cbuffer->buffer16 != NULL) { // free 16bit channels - for (i=0; i<(cbuffer->_cout_interleaf?1:cbuffer->_cachans); i++) { + for (i = 0; i < (cbuffer->_cout_interleaf ? 1 : cbuffer->_cachans); i++) { lives_free(cbuffer->buffer16[i]); } lives_free(cbuffer->buffer16); - cbuffer->buffer16=NULL; + cbuffer->buffer16 = NULL; } - cbuffer->_cachans=0; - cbuffer->_cout_interleaf=FALSE; - cbuffer->_csamp_space=0; + cbuffer->_cachans = 0; + cbuffer->_cout_interleaf = FALSE; + cbuffer->_csamp_space = 0; } @@ -2263,45 +2315,45 @@ break; case 16: // we need 16 bit buffer(s) only - if (cbuffer->bufferf!=NULL) { + if (cbuffer->bufferf != NULL) { // free float channels - for (i=0; i<(cbuffer->_cout_interleaf?1:cbuffer->_cachans); i++) { + for (i = 0; i < (cbuffer->_cout_interleaf ? 1 : cbuffer->_cachans); i++) { lives_free(cbuffer->bufferf[i]); } lives_free(cbuffer->bufferf); - cbuffer->bufferf=NULL; + cbuffer->bufferf = NULL; } - if ((cbuffer->out_interleaf?1:cbuffer->out_achans) != (cbuffer->_cout_interleaf?1:cbuffer->_cachans) - || (cbuffer->samp_space/(cbuffer->out_interleaf?1:cbuffer->out_achans) != - (cbuffer->_csamp_space/(cbuffer->_cout_interleaf?1:cbuffer->_cachans)))) { + if ((cbuffer->out_interleaf ? 1 : cbuffer->out_achans) != (cbuffer->_cout_interleaf ? 1 : cbuffer->_cachans) + || (cbuffer->samp_space / (cbuffer->out_interleaf ? 1 : cbuffer->out_achans) != + (cbuffer->_csamp_space / (cbuffer->_cout_interleaf ? 1 : cbuffer->_cachans)))) { // channels or samp_space changed - if ((cbuffer->out_interleaf?1:cbuffer->out_achans) > (cbuffer->_cout_interleaf?1:cbuffer->_cachans)) { + if ((cbuffer->out_interleaf ? 1 : cbuffer->out_achans) > (cbuffer->_cout_interleaf ? 1 : cbuffer->_cachans)) { // ouput channels increased cbuffer->buffer16 = (short **) - lives_realloc(cbuffer->buffer16,(cbuffer->out_interleaf?1:cbuffer->out_achans)*sizeof(short *)); - for (i=(cbuffer->_cout_interleaf?1:cbuffer->_cachans); i<(cbuffer->out_interleaf?1:cbuffer->out_achans); i++) { - cbuffer->buffer16[i]=NULL; + lives_realloc(cbuffer->buffer16, (cbuffer->out_interleaf ? 1 : cbuffer->out_achans) * sizeof(short *)); + for (i = (cbuffer->_cout_interleaf ? 1 : cbuffer->_cachans); i < (cbuffer->out_interleaf ? 1 : cbuffer->out_achans); i++) { + cbuffer->buffer16[i] = NULL; } } - for (i=0; i<(cbuffer->out_interleaf?1:cbuffer->out_achans); i++) { + for (i = 0; i < (cbuffer->out_interleaf ? 1 : cbuffer->out_achans); i++) { // realloc existing channels and add new ones - cbuffer->buffer16[i]=(short *)lives_realloc(cbuffer->buffer16[i], cbuffer->samp_space*sizeof(short)* - (cbuffer->out_interleaf?cbuffer->out_achans:1)); + cbuffer->buffer16[i] = (short *)lives_realloc(cbuffer->buffer16[i], cbuffer->samp_space * sizeof(short) * + (cbuffer->out_interleaf ? cbuffer->out_achans : 1)); } // free any excess channels - for (i=(cbuffer->out_interleaf?1:cbuffer->out_achans); i<(cbuffer->_cout_interleaf?1:cbuffer->_cachans); i++) { + for (i = (cbuffer->out_interleaf ? 1 : cbuffer->out_achans); i < (cbuffer->_cout_interleaf ? 1 : cbuffer->_cachans); i++) { lives_free(cbuffer->buffer16[i]); } - if ((cbuffer->out_interleaf?1:cbuffer->out_achans) < (cbuffer->_cout_interleaf?1:cbuffer->_cachans)) { + if ((cbuffer->out_interleaf ? 1 : cbuffer->out_achans) < (cbuffer->_cout_interleaf ? 1 : cbuffer->_cachans)) { // output channels decreased cbuffer->buffer16 = (short **) - lives_realloc(cbuffer->buffer16,(cbuffer->out_interleaf?1:cbuffer->out_achans)*sizeof(short *)); + lives_realloc(cbuffer->buffer16, (cbuffer->out_interleaf ? 1 : cbuffer->out_achans) * sizeof(short *)); } } @@ -2311,73 +2363,73 @@ // 16 bit buffers follow in out_achans but in_interleaf... - if ((cbuffer->in_interleaf?1:cbuffer->out_achans) != (cbuffer->_cin_interleaf?1:cbuffer->_cachans) - || (cbuffer->samp_space/(cbuffer->in_interleaf?1:cbuffer->out_achans) != - (cbuffer->_csamp_space/(cbuffer->_cin_interleaf?1:cbuffer->_cachans)))) { + if ((cbuffer->in_interleaf ? 1 : cbuffer->out_achans) != (cbuffer->_cin_interleaf ? 1 : cbuffer->_cachans) + || (cbuffer->samp_space / (cbuffer->in_interleaf ? 1 : cbuffer->out_achans) != + (cbuffer->_csamp_space / (cbuffer->_cin_interleaf ? 1 : cbuffer->_cachans)))) { // channels or samp_space changed - if ((cbuffer->in_interleaf?1:cbuffer->out_achans) > (cbuffer->_cin_interleaf?1:cbuffer->_cachans)) { + if ((cbuffer->in_interleaf ? 1 : cbuffer->out_achans) > (cbuffer->_cin_interleaf ? 1 : cbuffer->_cachans)) { // ouput channels increased cbuffer->buffer16 = (short **) - lives_realloc(cbuffer->buffer16,(cbuffer->in_interleaf?1:cbuffer->out_achans)*sizeof(short *)); - for (i=(cbuffer->_cin_interleaf?1:cbuffer->_cachans); i<(cbuffer->in_interleaf?1:cbuffer->out_achans); i++) { - cbuffer->buffer16[i]=NULL; + lives_realloc(cbuffer->buffer16, (cbuffer->in_interleaf ? 1 : cbuffer->out_achans) * sizeof(short *)); + for (i = (cbuffer->_cin_interleaf ? 1 : cbuffer->_cachans); i < (cbuffer->in_interleaf ? 1 : cbuffer->out_achans); i++) { + cbuffer->buffer16[i] = NULL; } } - for (i=0; i<(cbuffer->in_interleaf?1:cbuffer->out_achans); i++) { + for (i = 0; i < (cbuffer->in_interleaf ? 1 : cbuffer->out_achans); i++) { // realloc existing channels and add new ones - cbuffer->buffer16[i]=(short *)lives_realloc(cbuffer->buffer16[i], cbuffer->samp_space*sizeof(short)* - (cbuffer->in_interleaf?cbuffer->out_achans:1)); + cbuffer->buffer16[i] = (short *)lives_realloc(cbuffer->buffer16[i], cbuffer->samp_space * sizeof(short) * + (cbuffer->in_interleaf ? cbuffer->out_achans : 1)); } // free any excess channels - for (i=(cbuffer->in_interleaf?1:cbuffer->out_achans); i<(cbuffer->_cin_interleaf?1:cbuffer->_cachans); i++) { + for (i = (cbuffer->in_interleaf ? 1 : cbuffer->out_achans); i < (cbuffer->_cin_interleaf ? 1 : cbuffer->_cachans); i++) { lives_free(cbuffer->buffer16[i]); } - if ((cbuffer->in_interleaf?1:cbuffer->out_achans)<(cbuffer->_cin_interleaf?1:cbuffer->_cachans)) { + if ((cbuffer->in_interleaf ? 1 : cbuffer->out_achans) < (cbuffer->_cin_interleaf ? 1 : cbuffer->_cachans)) { // output channels decreased cbuffer->buffer16 = (short **) - lives_realloc(cbuffer->buffer16,(cbuffer->in_interleaf?1:cbuffer->out_achans)*sizeof(short *)); + lives_realloc(cbuffer->buffer16, (cbuffer->in_interleaf ? 1 : cbuffer->out_achans) * sizeof(short *)); } } - if ((cbuffer->out_interleaf?1:cbuffer->out_achans) != (cbuffer->_cout_interleaf?1:cbuffer->_cachans) - || (cbuffer->samp_space/(cbuffer->out_interleaf?1:cbuffer->out_achans) != - (cbuffer->_csamp_space/(cbuffer->_cout_interleaf?1:cbuffer->_cachans)))) { + if ((cbuffer->out_interleaf ? 1 : cbuffer->out_achans) != (cbuffer->_cout_interleaf ? 1 : cbuffer->_cachans) + || (cbuffer->samp_space / (cbuffer->out_interleaf ? 1 : cbuffer->out_achans) != + (cbuffer->_csamp_space / (cbuffer->_cout_interleaf ? 1 : cbuffer->_cachans)))) { // channels or samp_space changed - if ((cbuffer->out_interleaf?1:cbuffer->out_achans) > (cbuffer->_cout_interleaf?1:cbuffer->_cachans)) { + if ((cbuffer->out_interleaf ? 1 : cbuffer->out_achans) > (cbuffer->_cout_interleaf ? 1 : cbuffer->_cachans)) { // ouput channels increased cbuffer->bufferf = (float **) - lives_realloc(cbuffer->bufferf,(cbuffer->out_interleaf?1:cbuffer->out_achans)*sizeof(float *)); - for (i=(cbuffer->_cout_interleaf?1:cbuffer->_cachans); i<(cbuffer->out_interleaf?1:cbuffer->out_achans); i++) { - cbuffer->bufferf[i]=NULL; + lives_realloc(cbuffer->bufferf, (cbuffer->out_interleaf ? 1 : cbuffer->out_achans) * sizeof(float *)); + for (i = (cbuffer->_cout_interleaf ? 1 : cbuffer->_cachans); i < (cbuffer->out_interleaf ? 1 : cbuffer->out_achans); i++) { + cbuffer->bufferf[i] = NULL; } } - for (i=0; i<(cbuffer->out_interleaf?1:cbuffer->out_achans); i++) { + for (i = 0; i < (cbuffer->out_interleaf ? 1 : cbuffer->out_achans); i++) { // realloc existing channels and add new ones - cbuffer->bufferf[i]=(float *)lives_realloc(cbuffer->bufferf[i], cbuffer->samp_space*sizeof(float)* - (cbuffer->out_interleaf?cbuffer->out_achans:1)); + cbuffer->bufferf[i] = (float *)lives_realloc(cbuffer->bufferf[i], cbuffer->samp_space * sizeof(float) * + (cbuffer->out_interleaf ? cbuffer->out_achans : 1)); } // free any excess channels - for (i=(cbuffer->out_interleaf?1:cbuffer->out_achans); i<(cbuffer->_cout_interleaf?1:cbuffer->_cachans); i++) { + for (i = (cbuffer->out_interleaf ? 1 : cbuffer->out_achans); i < (cbuffer->_cout_interleaf ? 1 : cbuffer->_cachans); i++) { lives_free(cbuffer->bufferf[i]); } - if ((cbuffer->out_interleaf?1:cbuffer->out_achans) > (cbuffer->_cout_interleaf?1:cbuffer->_cachans)) { + if ((cbuffer->out_interleaf ? 1 : cbuffer->out_achans) > (cbuffer->_cout_interleaf ? 1 : cbuffer->_cachans)) { // output channels decreased cbuffer->bufferf = (float **) - lives_realloc(cbuffer->bufferf,(cbuffer->out_interleaf?1:cbuffer->out_achans)*sizeof(float *)); + lives_realloc(cbuffer->bufferf, (cbuffer->out_interleaf ? 1 : cbuffer->out_achans) * sizeof(float *)); } } @@ -2388,85 +2440,85 @@ // update _cinterleaf, etc. - cbuffer->_cin_interleaf=cbuffer->in_interleaf; - cbuffer->_cout_interleaf=cbuffer->out_interleaf; - cbuffer->_csamp_space=cbuffer->samp_space; - cbuffer->_cachans=cbuffer->out_achans; - cbuffer->_casamps=cbuffer->out_asamps; + cbuffer->_cin_interleaf = cbuffer->in_interleaf; + cbuffer->_cout_interleaf = cbuffer->out_interleaf; + cbuffer->_csamp_space = cbuffer->samp_space; + cbuffer->_cachans = cbuffer->out_achans; + cbuffer->_casamps = cbuffer->out_asamps; // open new file if necessary - if (cbuffer->fileno!=cbuffer->_cfileno) { - lives_clip_t *afile=mainw->files[cbuffer->fileno]; + if (cbuffer->fileno != cbuffer->_cfileno) { + lives_clip_t *afile = mainw->files[cbuffer->fileno]; - if (cbuffer->_fd!=-1) close(cbuffer->_fd); + if (cbuffer->_fd != -1) close(cbuffer->_fd); if (afile->opening) - filename=lives_strdup_printf("%s/%s/audiodump.pcm",prefs->workdir,mainw->files[cbuffer->fileno]->handle); - else filename=lives_strdup_printf("%s/%s/audio",prefs->workdir,mainw->files[cbuffer->fileno]->handle); + filename = lives_strdup_printf("%s/%s/audiodump.pcm", prefs->workdir, mainw->files[cbuffer->fileno]->handle); + else filename = lives_strdup_printf("%s/%s/audio", prefs->workdir, mainw->files[cbuffer->fileno]->handle); - cbuffer->_fd=lives_open2(filename,O_RDONLY); - if (cbuffer->_fd==-1) { - lives_printerr("audio cache thread: error opening %s\n",filename); - cbuffer->in_achans=0; - cbuffer->fileno=-1; ///< let client handle this - cbuffer->is_ready=TRUE; + cbuffer->_fd = lives_open2(filename, O_RDONLY); + if (cbuffer->_fd == -1) { + lives_printerr("audio cache thread: error opening %s\n", filename); + cbuffer->in_achans = 0; + cbuffer->fileno = -1; ///< let client handle this + cbuffer->is_ready = TRUE; continue; } lives_free(filename); } - if (cbuffer->fileno!=cbuffer->_cfileno||cbuffer->seek!=cbuffer->_cseek) { + if (cbuffer->fileno != cbuffer->_cfileno || cbuffer->seek != cbuffer->_cseek) { lseek64(cbuffer->_fd, cbuffer->seek, SEEK_SET); } - cbuffer->_cfileno=cbuffer->fileno; + cbuffer->_cfileno = cbuffer->fileno; // prepare file read buffer - if (cbuffer->bytesize!=cbuffer->_cbytesize) { - cbuffer->_filebuffer=(uint8_t *)lives_realloc(cbuffer->_filebuffer,cbuffer->bytesize); + if (cbuffer->bytesize != cbuffer->_cbytesize) { + cbuffer->_filebuffer = (uint8_t *)lives_realloc(cbuffer->_filebuffer, cbuffer->bytesize); - if (cbuffer->_filebuffer==NULL) { - cbuffer->_cbytesize=cbuffer->bytesize=0; - cbuffer->in_achans=0; - cbuffer->is_ready=TRUE; + if (cbuffer->_filebuffer == NULL) { + cbuffer->_cbytesize = cbuffer->bytesize = 0; + cbuffer->in_achans = 0; + cbuffer->is_ready = TRUE; continue; } } // read from file - cbuffer->_cbytesize=read(cbuffer->_fd, cbuffer->_filebuffer, cbuffer->bytesize); + cbuffer->_cbytesize = read(cbuffer->_fd, cbuffer->_filebuffer, cbuffer->bytesize); - if (cbuffer->_cbytesize<0) { + if (cbuffer->_cbytesize < 0) { // there is not much we can do if we get a read error, since we are running in a realtime thread here // just mark it as 0 channels, 0 bytes - cbuffer->bytesize=cbuffer->_cbytesize=0; - cbuffer->in_achans=0; - cbuffer->is_ready=TRUE; + cbuffer->bytesize = cbuffer->_cbytesize = 0; + cbuffer->in_achans = 0; + cbuffer->is_ready = TRUE; continue; } - if (cbuffer->_cbytesize<cbuffer->bytesize) { - cbuffer->eof=TRUE; - cbuffer->_csamp_space=(int64_t)((double)cbuffer->samp_space/(double)cbuffer->bytesize*(double)cbuffer->_cbytesize); - cbuffer->samp_space=cbuffer->_csamp_space; + if (cbuffer->_cbytesize < cbuffer->bytesize) { + cbuffer->eof = TRUE; + cbuffer->_csamp_space = (int64_t)((double)cbuffer->samp_space / (double)cbuffer->bytesize * (double)cbuffer->_cbytesize); + cbuffer->samp_space = cbuffer->_csamp_space; } - cbuffer->bytesize=cbuffer->_cbytesize; - cbuffer->_cseek=(cbuffer->seek+=cbuffer->bytesize); + cbuffer->bytesize = cbuffer->_cbytesize; + cbuffer->_cseek = (cbuffer->seek += cbuffer->bytesize); // do conversion // convert from 8 bit to 16 bit and mono to stereo if necessary // resample as we go - if (cbuffer->in_asamps==8) { + if (cbuffer->in_asamps == 8) { // TODO - error on non-interleaved - sample_move_d8_d16(cbuffer->buffer16[0],(uint8_t *)cbuffer->_filebuffer, cbuffer->samp_space, cbuffer->bytesize, + sample_move_d8_d16(cbuffer->buffer16[0], (uint8_t *)cbuffer->_filebuffer, cbuffer->samp_space, cbuffer->bytesize, cbuffer->shrink_factor, cbuffer->out_achans, cbuffer->in_achans, 0); } // 16 bit input samples @@ -2474,14 +2526,14 @@ else { sample_move_d16_d16(cbuffer->buffer16[0], (short *)cbuffer->_filebuffer, cbuffer->samp_space, cbuffer->bytesize, cbuffer->shrink_factor, cbuffer->out_achans, cbuffer->in_achans, - cbuffer->swap_endian?SWAP_X_TO_L:0, 0); + cbuffer->swap_endian ? SWAP_X_TO_L : 0, 0); } // if our out_asamps is 16, we are done - cbuffer->is_ready=TRUE; + cbuffer->is_ready = TRUE; } return cbuffer; } @@ -2490,34 +2542,34 @@ lives_audio_buf_t *audio_cache_init(void) { - cache_buffer=(lives_audio_buf_t *)lives_malloc0(sizeof(lives_audio_buf_t)); - cache_buffer->is_ready=FALSE; - cache_buffer->in_achans=0; + cache_buffer = (lives_audio_buf_t *)lives_malloc0(sizeof(lives_audio_buf_t)); + cache_buffer->is_ready = FALSE; + cache_buffer->in_achans = 0; // NULL all pointers of cache_buffer - cache_buffer->buffer8=NULL; - cache_buffer->buffer16=NULL; - cache_buffer->buffer24=NULL; - cache_buffer->buffer32=NULL; - cache_buffer->bufferf=NULL; - cache_buffer->_filebuffer=NULL; - cache_buffer->_cbytesize=0; - cache_buffer->_csamp_space=0; - cache_buffer->_cachans=0; - cache_buffer->_casamps=0; - cache_buffer->_cout_interleaf=FALSE; - cache_buffer->_cin_interleaf=FALSE; - cache_buffer->eof=FALSE; - cache_buffer->die=FALSE; - - cache_buffer->_cfileno=-1; - cache_buffer->_cseek=-1; - cache_buffer->_fd=-1; + cache_buffer->buffer8 = NULL; + cache_buffer->buffer16 = NULL; + cache_buffer->buffer24 = NULL; + cache_buffer->buffer32 = NULL; + cache_buffer->bufferf = NULL; + cache_buffer->_filebuffer = NULL; + cache_buffer->_cbytesize = 0; + cache_buffer->_csamp_space = 0; + cache_buffer->_cachans = 0; + cache_buffer->_casamps = 0; + cache_buffer->_cout_interleaf = FALSE; + cache_buffer->_cin_interleaf = FALSE; + cache_buffer->eof = FALSE; + cache_buffer->die = FALSE; + + cache_buffer->_cfileno = -1; + cache_buffer->_cseek = -1; + cache_buffer->_fd = -1; // init the audio caching thread for rt playback - pthread_create(&athread,NULL,cache_my_audio,cache_buffer); + pthread_create(&athread, NULL, cache_my_audio, cache_buffer); return cache_buffer; } @@ -2529,30 +2581,30 @@ int i; lives_audio_buf_t *xcache_buffer; - cache_buffer->die=TRUE; ///< tell cache thread to exit when possible - pthread_join(athread,NULL); + cache_buffer->die = TRUE; ///< tell cache thread to exit when possible + pthread_join(athread, NULL); // free all buffers - for (i=0; i<(cache_buffer->_cin_interleaf?1:cache_buffer->_cachans); i++) { - if (cache_buffer->buffer8!=NULL&&cache_buffer->buffer8[i]!=NULL) lives_free(cache_buffer->buffer8[i]); - if (cache_buffer->buffer16!=NULL&&cache_buffer->buffer16[i]!=NULL) lives_free(cache_buffer->buffer16[i]); - if (cache_buffer->buffer24!=NULL&&cache_buffer->buffer24[i]!=NULL) lives_free(cache_buffer->buffer24[i]); - if (cache_buffer->buffer32!=NULL&&cache_buffer->buffer32[i]!=NULL) lives_free(cache_buffer->buffer32[i]); - if (cache_buffer->bufferf!=NULL&&cache_buffer->bufferf[i]!=NULL) lives_free(cache_buffer->bufferf[i]); + for (i = 0; i < (cache_buffer->_cin_interleaf ? 1 : cache_buffer->_cachans); i++) { + if (cache_buffer->buffer8 != NULL && cache_buffer->buffer8[i] != NULL) lives_free(cache_buffer->buffer8[i]); + if (cache_buffer->buffer16 != NULL && cache_buffer->buffer16[i] != NULL) lives_free(cache_buffer->buffer16[i]); + if (cache_buffer->buffer24 != NULL && cache_buffer->buffer24[i] != NULL) lives_free(cache_buffer->buffer24[i]); + if (cache_buffer->buffer32 != NULL && cache_buffer->buffer32[i] != NULL) lives_free(cache_buffer->buffer32[i]); + if (cache_buffer->bufferf != NULL && cache_buffer->bufferf[i] != NULL) lives_free(cache_buffer->bufferf[i]); } - if (cache_buffer->buffer8!=NULL) lives_free(cache_buffer->buffer8); - if (cache_buffer->buffer16!=NULL) lives_free(cache_buffer->buffer16); - if (cache_buffer->buffer24!=NULL) lives_free(cache_buffer->buffer24); - if (cache_buffer->buffer32!=NULL) lives_free(cache_buffer->buffer32); - if (cache_buffer->bufferf!=NULL) lives_free(cache_buffer->bufferf); + if (cache_buffer->buffer8 != NULL) lives_free(cache_buffer->buffer8); + if (cache_buffer->buffer16 != NULL) lives_free(cache_buffer->buffer16); + if (cache_buffer->buffer24 != NULL) lives_free(cache_buffer->buffer24); + if (cache_buffer->buffer32 != NULL) lives_free(cache_buffer->buffer32); + if (cache_buffer->bufferf != NULL) lives_free(cache_buffer->bufferf); - if (cache_buffer->_filebuffer!=NULL) lives_free(cache_buffer->_filebuffer); + if (cache_buffer->_filebuffer != NULL) lives_free(cache_buffer->_filebuffer); // make this threadsafe - xcache_buffer=cache_buffer; - cache_buffer=NULL; + xcache_buffer = cache_buffer; + cache_buffer = NULL; lives_free(xcache_buffer); } @@ -2576,7 +2628,7 @@ int xnchans; int aint; - weed_plant_t *inst=rte_keymode_get_instance(mainw->agen_key,rte_key_getmode(mainw->agen_key)); + weed_plant_t *inst = rte_keymode_get_instance(mainw->agen_key, rte_key_getmode(mainw->agen_key)); weed_plant_t *filter; weed_plant_t *channel; weed_plant_t *ctmpl; @@ -2585,66 +2637,66 @@ weed_process_f process_func; if (mainw->agen_needs_reinit) return FALSE; // wait for other thread to reinit us - tc=(double)mainw->agen_samps_count/(double)arate*U_SEC; // we take our timing from the number of samples read + tc = (double)mainw->agen_samps_count / (double)arate * U_SEC; // we take our timing from the number of samples read getaud1: - aint=WEED_FALSE; - xnchans=nchans; - filter=weed_instance_get_filter(inst,FALSE); - channel=get_enabled_channel(inst,0,FALSE); + aint = WEED_FALSE; + xnchans = nchans; + filter = weed_instance_get_filter(inst, FALSE); + channel = get_enabled_channel(inst, 0, FALSE); - if (channel!=NULL) { - ctmpl=weed_get_plantptr_value(channel,WEED_LEAF_TEMPLATE,&error); + if (channel != NULL) { + ctmpl = weed_get_plantptr_value(channel, WEED_LEAF_TEMPLATE, &error); - if (weed_plant_has_leaf(ctmpl,WEED_LEAF_AUDIO_RATE)&&weed_get_int_value(ctmpl,WEED_LEAF_AUDIO_RATE,&error)!=arate) { + if (weed_plant_has_leaf(ctmpl, WEED_LEAF_AUDIO_RATE) && weed_get_int_value(ctmpl, WEED_LEAF_AUDIO_RATE, &error) != arate) { // TODO - resample if audio rate is wrong return FALSE; } - if (weed_plant_has_leaf(ctmpl,WEED_LEAF_AUDIO_INTERLEAF)) aint=weed_get_boolean_value(ctmpl,WEED_LEAF_AUDIO_INTERLEAF,&error); - if (weed_plant_has_leaf(ctmpl,WEED_LEAF_AUDIO_CHANNELS)) xnchans=weed_get_int_value(ctmpl,WEED_LEAF_AUDIO_CHANNELS,&error); + if (weed_plant_has_leaf(ctmpl, WEED_LEAF_AUDIO_INTERLEAF)) aint = weed_get_boolean_value(ctmpl, WEED_LEAF_AUDIO_INTERLEAF, &error); + if (weed_plant_has_leaf(ctmpl, WEED_LEAF_AUDIO_CHANNELS)) xnchans = weed_get_int_value(ctmpl, WEED_LEAF_AUDIO_CHANNELS, &error); // stop video thread from possibly interpolating/deiniting if (pthread_mutex_trylock(&mainw->interp_mutex)) return FALSE; // make sure values match, else we need to reinit the plugin - if (xnchans!=weed_get_int_value(channel,WEED_LEAF_AUDIO_CHANNELS,&error)|| - arate!=weed_get_int_value(channel,WEED_LEAF_AUDIO_RATE,&error)|| - weed_get_boolean_value(channel,WEED_LEAF_AUDIO_INTERLEAF,&error)!=aint) { + if (xnchans != weed_get_int_value(channel, WEED_LEAF_AUDIO_CHANNELS, &error) || + arate != weed_get_int_value(channel, WEED_LEAF_AUDIO_RATE, &error) || + weed_get_boolean_value(channel, WEED_LEAF_AUDIO_INTERLEAF, &error) != aint) { // reinit plugin - mainw->agen_needs_reinit=TRUE; + mainw->agen_needs_reinit = TRUE; } - weed_set_int_value(channel,WEED_LEAF_AUDIO_CHANNELS,xnchans); - weed_set_int_value(channel,WEED_LEAF_AUDIO_RATE,arate); - weed_set_boolean_value(channel,WEED_LEAF_AUDIO_INTERLEAF,aint); - weed_set_int_value(channel,WEED_LEAF_AUDIO_DATA_LENGTH,nsamps); - weed_set_voidptr_value(channel,WEED_LEAF_AUDIO_DATA,fbuffer); + weed_set_int_value(channel, WEED_LEAF_AUDIO_CHANNELS, xnchans); + weed_set_int_value(channel, WEED_LEAF_AUDIO_RATE, arate); + weed_set_boolean_value(channel, WEED_LEAF_AUDIO_INTERLEAF, aint); + weed_set_int_value(channel, WEED_LEAF_AUDIO_DATA_LENGTH, nsamps); + weed_set_voidptr_value(channel, WEED_LEAF_AUDIO_DATA, fbuffer); - weed_set_double_value(inst,WEED_LEAF_FPS,cfile->pb_fps); + weed_set_double_value(inst, WEED_LEAF_FPS, cfile->pb_fps); if (mainw->agen_needs_reinit) { // allow main thread to complete the reinit so we do not delay; just return silence - memset(fbuffer,0,nsamps*nchans*sizeof(float)); + memset(fbuffer, 0, nsamps * nchans * sizeof(float)); pthread_mutex_unlock(&mainw->interp_mutex); return FALSE; } - weed_set_int64_value(channel,WEED_LEAF_TIMECODE,tc); + weed_set_int64_value(channel, WEED_LEAF_TIMECODE, tc); } - if (mainw->pconx!=NULL&&!(mainw->preview||mainw->is_rendering)) { + if (mainw->pconx != NULL && !(mainw->preview || mainw->is_rendering)) { // chain any data pipelines - if (!pthread_mutex_trylock(&mainw->data_mutex[mainw->agen_key-1])) { - mainw->agen_needs_reinit=pconx_chain_data(mainw->agen_key-1,rte_key_getmode(mainw->agen_key)); - filter_mutex_unlock(mainw->agen_key-1); + if (!pthread_mutex_trylock(&mainw->data_mutex[mainw->agen_key - 1])) { + mainw->agen_needs_reinit = pconx_chain_data(mainw->agen_key - 1, rte_key_getmode(mainw->agen_key)); + filter_mutex_unlock(mainw->agen_key - 1); if (mainw->agen_needs_reinit) { // allow main thread to complete the reinit so we do not delay; just return silence - memset(fbuffer,0,nsamps*nchans*sizeof(float)); + memset(fbuffer, 0, nsamps * nchans * sizeof(float)); pthread_mutex_unlock(&mainw->interp_mutex); return FALSE; } @@ -2653,46 +2705,46 @@ - weed_leaf_get(filter,WEED_LEAF_PROCESS_FUNC,0,(void *)&process_func_ptr_ptr); - process_func=process_func_ptr_ptr[0]; + weed_leaf_get(filter, WEED_LEAF_PROCESS_FUNC, 0, (void *)&process_func_ptr_ptr); + process_func = process_func_ptr_ptr[0]; - if ((*process_func)(inst,tc)==WEED_ERROR_PLUGIN_INVALID) { + if ((*process_func)(inst, tc) == WEED_ERROR_PLUGIN_INVALID) { pthread_mutex_unlock(&mainw->interp_mutex); return FALSE; } pthread_mutex_unlock(&mainw->interp_mutex); - if (channel!=NULL&&aint==WEED_TRUE) { - if (!float_deinterleave(fbuffer,nsamps,nchans)) return FALSE; + if (channel != NULL && aint == WEED_TRUE) { + if (!float_deinterleave(fbuffer, nsamps, nchans)) return FALSE; } - if (xnchans==1&&nchans==2) { + if (xnchans == 1 && nchans == 2) { // if we got mono but we wanted stereo, copy to right channel - lives_memcpy(&fbuffer[nsamps],fbuffer,nsamps*sizeof(float)); + lives_memcpy(&fbuffer[nsamps], fbuffer, nsamps * sizeof(float)); } - if (weed_plant_has_leaf(inst,WEED_LEAF_HOST_NEXT_INSTANCE)) { + if (weed_plant_has_leaf(inst, WEED_LEAF_HOST_NEXT_INSTANCE)) { // handle compound fx - inst=weed_get_plantptr_value(inst,WEED_LEAF_HOST_NEXT_INSTANCE,&error); + inst = weed_get_plantptr_value(inst, WEED_LEAF_HOST_NEXT_INSTANCE, &error); goto getaud1; } - mainw->agen_samps_count+=nsamps; + mainw->agen_samps_count += nsamps; return TRUE; } void reinit_audio_gen(void) { - int agen_key=mainw->agen_key; + int agen_key = mainw->agen_key; int ret; - weed_plant_t *inst=rte_keymode_get_instance(agen_key,rte_key_getmode(mainw->agen_key)); + weed_plant_t *inst = rte_keymode_get_instance(agen_key, rte_key_getmode(mainw->agen_key)); - ret=weed_reinit_effect(inst,TRUE); - if (ret==FILTER_NO_ERROR||ret==FILTER_INFO_REINITED) { - mainw->agen_needs_reinit=FALSE; - mainw->agen_key=agen_key; + ret = weed_reinit_effect(inst, TRUE); + if (ret == FILTER_NO_ERROR || ret == FILTER_INFO_REINITED) { + mainw->agen_needs_reinit = FALSE; + mainw->agen_key = agen_key; } } @@ -2711,9 +2763,9 @@ char *com; if (!prefs->conserve_space) { - mainw->error=FALSE; - com=lives_strdup_printf("%s backup_audio %s",prefs->backend_sync,cfile->handle); - lives_system(com,FALSE); + mainw->error = FALSE; + com = lives_strdup_printf("%s backup_audio %s", prefs->backend_sync, cfile->handle); + lives_system(com, FALSE); lives_free(com); if (mainw->error) { @@ -2722,20 +2774,20 @@ } } - audio_pos=(double)((cfile->start-1)*cfile->arate*cfile->achans*cfile->asampsize/8)/cfile->fps; - audio_file=lives_build_filename(prefs->workdir,cfile->handle,"audio",NULL); + audio_pos = (double)((cfile->start - 1) * cfile->arate * cfile->achans * cfile->asampsize / 8) / cfile->fps; + audio_file = lives_build_filename(prefs->workdir, cfile->handle, "audio", NULL); - audio_fd=lives_open3(audio_file,O_RDWR|O_CREAT,DEF_FILE_PERMS); + audio_fd = lives_open3(audio_file, O_RDWR | O_CREAT, DEF_FILE_PERMS); - if (audio_fd==-1) return FALSE; + if (audio_fd == -1) return FALSE; - if (audio_pos>cfile->afilesize) { - off64_t audio_end_pos=(double)((cfile->start-1)*cfile->arate*cfile->achans*cfile->asampsize/8)/cfile->fps; - pad_with_silence(audio_fd, audio_pos, audio_end_pos, cfile->asampsize, cfile->signed_endian&AFORM_UNSIGNED, - cfile->signed_endian&AFORM_BIG_ENDIAN); - } else lseek64(audio_fd,audio_pos,SEEK_SET); + if (audio_pos > cfile->afilesize) { + off64_t audio_end_pos = (double)((cfile->start - 1) * cfile->arate * cfile->achans * cfile->asampsize / 8) / cfile->fps; + pad_with_silence(audio_fd, audio_pos, audio_end_pos, cfile->asampsize, cfile->signed_endian & AFORM_UNSIGNED, + cfile->signed_endian & AFORM_BIG_ENDIAN); + } else lseek64(audio_fd, audio_pos, SEEK_SET); - aud_tc=0; + aud_tc = 0; return TRUE; } @@ -2751,51 +2803,52 @@ boolean apply_rte_audio(int nframes) { size_t tbytes; uint8_t *in_buff; - float **fltbuf,*fltbufni=NULL; - short *shortbuf=NULL; + float **fltbuf, *fltbufni = NULL; + short *shortbuf = NULL; - boolean rev_endian=FALSE; + boolean rev_endian = FALSE; register int i; - int abigendian=cfile->signed_endian&AFORM_BIG_ENDIAN; + int abigendian = cfile->signed_endian & AFORM_BIG_ENDIAN; int onframes; // read nframes of audio from clip or generator - if ((abigendian&&capable->byte_order==LIVES_LITTLE_ENDIAN)||(!abigendian&&capable->byte_order==LIVES_BIG_ENDIAN)) rev_endian=TRUE; + if ((abigendian && capable->byte_order == LIVES_LITTLE_ENDIAN) || (!abigendian && + capable->byte_order == LIVES_BIG_ENDIAN)) rev_endian = TRUE; - tbytes=nframes*cfile->achans*cfile->asampsize/8; + tbytes = nframes * cfile->achans * cfile->asampsize / 8; - if (mainw->agen_key==0) { - if (tbytes+audio_pos>cfile->afilesize) tbytes=cfile->afilesize-audio_pos; - if (tbytes<=0) return TRUE; - nframes=tbytes/cfile->achans/(cfile->asampsize/8); + if (mainw->agen_key == 0) { + if (tbytes + audio_pos > cfile->afilesize) tbytes = cfile->afilesize - audio_pos; + if (tbytes <= 0) return TRUE; + nframes = tbytes / cfile->achans / (cfile->asampsize / 8); } - onframes=nframes; + onframes = nframes; - in_buff=(uint8_t *)lives_try_malloc(tbytes); - if (in_buff==NULL) return FALSE; + in_buff = (uint8_t *)lives_try_malloc(tbytes); + if (in_buff == NULL) return FALSE; - if (cfile->asampsize==8) { - shortbuf=(short *)lives_try_malloc(tbytes); - if (shortbuf==NULL) { + if (cfile->asampsize == 8) { + shortbuf = (short *)lives_try_malloc(tbytes); + if (shortbuf == NULL) { lives_free(in_buff); return FALSE; } } - fltbuf=(float **)lives_malloc(cfile->achans*sizeof(float *)); + fltbuf = (float **)lives_malloc(cfile->achans * sizeof(float *)); - if (mainw->agen_key==0) { - mainw->read_failed=FALSE; + if (mainw->agen_key == 0) { + mainw->read_failed = FALSE; - tbytes=lives_read(audio_fd,in_buff,tbytes,FALSE); + tbytes = lives_read(audio_fd, in_buff, tbytes, FALSE); if (mainw->read_failed) { - do_read_failed_error_s(audio_file,NULL); + do_read_failed_error_s(audio_file, NULL); lives_freep((void **)&mainw->read_failed_file); lives_free(fltbuf); lives_free(in_buff); @@ -2804,77 +2857,78 @@ } - if (cfile->asampsize==8) { + if (cfile->asampsize == 8) { sample_move_d8_d16(shortbuf, in_buff, nframes, tbytes, 1.0, cfile->achans, cfile->achans, 0); - } else shortbuf=(short *)in_buff; + } else shortbuf = (short *)in_buff; - nframes=tbytes/cfile->achans/(cfile->asampsize/8); + nframes = tbytes / cfile->achans / (cfile->asampsize / 8); // convert to float - for (i=0; i<cfile->achans; i++) { + for (i = 0; i < cfile->achans; i++) { // convert s16 to non-interleaved float - fltbuf[i]=(float *)lives_try_malloc(nframes*sizeof(float)); - if (fltbuf[i]==NULL) { - for (--i; i>=0; i--) { + fltbuf[i] = (float *)lives_try_malloc(nframes * sizeof(float)); + if (fltbuf[i] == NULL) { + for (--i; i >= 0; i--) { lives_free(fltbuf[i]); } lives_free(fltbuf); - if (shortbuf!=(short *)in_buff) lives_free(shortbuf); + if (shortbuf != (short *)in_buff) lives_free(shortbuf); lives_free(in_buff); return FALSE; } - memset(fltbuf[i],0,nframes*sizeof(float)); - if (nframes>0) sample_move_d16_float(fltbuf[i],shortbuf+i,nframes,cfile->achans,(cfile->signed_endian&AFORM_UNSIGNED),rev_endian,1.0); + memset(fltbuf[i], 0, nframes * sizeof(float)); + if (nframes > 0) sample_move_d16_float(fltbuf[i], shortbuf + i, nframes, cfile->achans, (cfile->signed_endian & AFORM_UNSIGNED), rev_endian, + 1.0); } } else { - fltbufni=(float *)lives_try_malloc(nframes*cfile->achans*sizeof(float)); - if (fltbufni==NULL) { + fltbufni = (float *)lives_try_malloc(nframes * cfile->achans * sizeof(float)); + if (fltbufni == NULL) { lives_free(fltbuf); - if (shortbuf!=(short *)in_buff) lives_free(shortbuf); + if (shortbuf != (short *)in_buff) lives_free(shortbuf); lives_free(in_buff); return FALSE; } get_audio_from_plugin(fltbufni, cfile->achans, cfile->arate, nframes); - for (i=0; i<cfile->achans; i++) { - fltbuf[i]=fltbufni+i*nframes; + for (i = 0; i < cfile->achans; i++) { + fltbuf[i] = fltbufni + i * nframes; } } // apply any audio effects - aud_tc+=(double)onframes/(double)cfile->arate*U_SEC; + aud_tc += (double)onframes / (double)cfile->arate * U_SEC; // apply any audio effects with in_channels - weed_apply_audio_effects_rt(fltbuf,cfile->achans,onframes,cfile->arate,aud_tc,FALSE); + weed_apply_audio_effects_rt(fltbuf, cfile->achans, onframes, cfile->arate, aud_tc, FALSE); - if (!(has_audio_filters(AF_TYPE_NONA)||mainw->agen_key!=0)) { + if (!(has_audio_filters(AF_TYPE_NONA) || mainw->agen_key != 0)) { // analysers only - no need to save - audio_pos+=tbytes; + audio_pos += tbytes; - if (fltbufni==NULL) { - for (i=0; i<cfile->achans; i++) { + if (fltbufni == NULL) { + for (i = 0; i < cfile->achans; i++) { lives_free(fltbuf[i]); } } else lives_free(fltbufni); lives_free(fltbuf); - if (shortbuf!=(short *)in_buff) lives_free(shortbuf); + if (shortbuf != (short *)in_buff) lives_free(shortbuf); lives_free(in_buff); return TRUE; } // convert float audio back to int - sample_move_float_int(in_buff,fltbuf,onframes,1.0,cfile->achans,cfile->asampsize,(cfile->signed_endian&AFORM_UNSIGNED), - !(cfile->signed_endian&AFORM_BIG_ENDIAN),FALSE,1.0); + sample_move_float_int(in_buff, fltbuf, onframes, 1.0, cfile->achans, cfile->asampsize, (cfile->signed_endian & AFORM_UNSIGNED), + !(cfile->signed_endian & AFORM_BIG_ENDIAN), FALSE, 1.0); - if (fltbufni==NULL) { - for (i=0; i<cfile->achans; i++) { + if (fltbufni == NULL) { + for (i = 0; i < cfile->achans; i++) { lives_free(fltbuf[i]); } } else lives_free(fltbufni); @@ -2883,17 +2937,17 @@ // save to file - mainw->write_failed=FALSE; - lseek64(audio_fd,audio_pos,SEEK_SET); - tbytes=onframes*cfile->achans*cfile->asampsize/8; - lives_write(audio_fd,in_buff,tbytes,FALSE); - audio_pos+=tbytes; + mainw->write_failed = FALSE; + lseek64(audio_fd, audio_pos, SEEK_SET); + tbytes = onframes * cfile->achans * cfile->asampsize / 8; + lives_write(audio_fd, in_buff, tbytes, FALSE); + audio_pos += tbytes; - if (shortbuf!=(short *)in_buff) lives_free(shortbuf); + if (shortbuf != (short *)in_buff) lives_free(shortbuf); lives_free(in_buff); if (mainw->write_failed) { - do_write_failed_error_s(audio_file,NULL); + do_write_failed_error_s(audio_file, NULL); return FALSE; } @@ -2908,59 +2962,59 @@ // NB: if player is jack, we will have non-interleaved float // if player is pulse, we will have interleaved S16 - float *dst,*src; + float *dst, *src; weed_plant_t *ctmpl; float scale; - size_t samps,offs; + size_t samps, offs; boolean tinter; - int trate,tlen,tchans; + int trate, tlen, tchans; int alen; int error; register int i; - if (abuf->samples_filled==0) { - weed_set_int_value(achan,WEED_LEAF_AUDIO_DATA_LENGTH,0); - weed_set_voidptr_value(achan,WEED_LEAF_AUDIO_DATA,NULL); + if (abuf->samples_filled == 0) { + weed_set_int_value(achan, WEED_LEAF_AUDIO_DATA_LENGTH, 0); + weed_set_voidptr_value(achan, WEED_LEAF_AUDIO_DATA, NULL); return FALSE; } - ctmpl=weed_get_plantptr_value(achan,WEED_LEAF_TEMPLATE,&error); + ctmpl = weed_get_plantptr_value(achan, WEED_LEAF_TEMPLATE, &error); - if (weed_plant_has_leaf(achan,WEED_LEAF_AUDIO_RATE)) trate=weed_get_int_value(achan,WEED_LEAF_AUDIO_RATE,&error); - else if (weed_plant_has_leaf(ctmpl,WEED_LEAF_AUDIO_RATE)) trate=weed_get_int_value(ctmpl,WEED_LEAF_AUDIO_RATE,&error); - else trate=DEFAULT_AUDIO_RATE; - - if (weed_plant_has_leaf(achan,WEED_LEAF_AUDIO_CHANNELS)) tchans=weed_get_int_value(achan,WEED_LEAF_AUDIO_CHANNELS,&error); - else if (weed_plant_has_leaf(ctmpl,WEED_LEAF_AUDIO_CHANNELS)) tchans=weed_get_int_value(ctmpl,WEED_LEAF_AUDIO_CHANNELS,&error); - else tchans=DEFAULT_AUDIO_CHANS; - - if (weed_plant_has_leaf(achan,WEED_LEAF_AUDIO_INTERLEAF)) tinter=weed_get_boolean_value(achan,WEED_LEAF_AUDIO_INTERLEAF,&error); - else if (weed_plant_has_leaf(ctmpl,WEED_LEAF_AUDIO_INTERLEAF)) tinter=weed_get_boolean_value(ctmpl,WEED_LEAF_AUDIO_INTERLEAF,&error); - else tinter=FALSE; + if (weed_plant_has_leaf(achan, WEED_LEAF_AUDIO_RATE)) trate = weed_get_int_value(achan, WEED_LEAF_AUDIO_RATE, &error); + else if (weed_plant_has_leaf(ctmpl, WEED_LEAF_AUDIO_RATE)) trate = weed_get_int_value(ctmpl, WEED_LEAF_AUDIO_RATE, &error); + else trate = DEFAULT_AUDIO_RATE; + + if (weed_plant_has_leaf(achan, WEED_LEAF_AUDIO_CHANNELS)) tchans = weed_get_int_value(achan, WEED_LEAF_AUDIO_CHANNELS, &error); + else if (weed_plant_has_leaf(ctmpl, WEED_LEAF_AUDIO_CHANNELS)) tchans = weed_get_int_value(ctmpl, WEED_LEAF_AUDIO_CHANNELS, &error); + else tchans = DEFAULT_AUDIO_CHANS; + + if (weed_plant_has_leaf(achan, WEED_LEAF_AUDIO_INTERLEAF)) tinter = weed_get_boolean_value(achan, WEED_LEAF_AUDIO_INTERLEAF, &error); + else if (weed_plant_has_leaf(ctmpl, WEED_LEAF_AUDIO_INTERLEAF)) tinter = weed_get_boolean_value(ctmpl, WEED_LEAF_AUDIO_INTERLEAF, &error); + else tinter = FALSE; - if (weed_plant_has_leaf(ctmpl,WEED_LEAF_AUDIO_DATA_LENGTH)) tlen=weed_get_int_value(ctmpl,WEED_LEAF_AUDIO_DATA_LENGTH,&error); - else tlen=0; + if (weed_plant_has_leaf(ctmpl, WEED_LEAF_AUDIO_DATA_LENGTH)) tlen = weed_get_int_value(ctmpl, WEED_LEAF_AUDIO_DATA_LENGTH, &error); + else tlen = 0; #ifdef DEBUG_AFB - g_print("push from afb %d\n",abuf->samples_filled); + g_print("push from afb %d\n", abuf->samples_filled); #endif // plugin will get float, so we first convert to that - if (abuf->bufferf==NULL) { + if (abuf->bufferf == NULL) { // try 8 bit -> 16 -> float - if (abuf->buffer8!=NULL&&abuf->buffer16==NULL) { - int swap=0; - if (!abuf->s8_signed) swap=SWAP_U_TO_S; - abuf->s16_signed=TRUE; - abuf->buffer16=(int16_t **)lives_malloc(abuf->out_achans*sizeof(int16_t *)); - for (i=0; i<abuf->out_achans; i++) { - abuf->bufferf[i]=(float *)lives_malloc(abuf->samples_filled*2); - sample_move_d8_d16(abuf->buffer16[i],abuf->buffer8[i], abuf->samples_filled, abuf->samples_filled*2, + if (abuf->buffer8 != NULL && abuf->buffer16 == NULL) { + int swap = 0; + if (!abuf->s8_signed) swap = SWAP_U_TO_S; + abuf->s16_signed = TRUE; + abuf->buffer16 = (int16_t **)lives_malloc(abuf->out_achans * sizeof(int16_t *)); + for (i = 0; i < abuf->out_achans; i++) { + abuf->bufferf[i] = (float *)lives_malloc(abuf->samples_filled * 2); + sample_move_d8_d16(abuf->buffer16[i], abuf->buffer8[i], abuf->samples_filled, abuf->samples_filled * 2, 1.0, abuf->out_achans, abuf->out_achans, swap); } @@ -2968,59 +3022,59 @@ // try convert S16 -> float - if (abuf->buffer16!=NULL) { - abuf->bufferf=(float **)lives_malloc(abuf->out_achans*sizeof(float *)); - for (i=0; i<abuf->out_achans; i++) { - abuf->bufferf[i]=(float *)lives_malloc(abuf->samples_filled*sizeof(float)); + if (abuf->buffer16 != NULL) { + abuf->bufferf = (float **)lives_malloc(abuf->out_achans * sizeof(float *)); + for (i = 0; i < abuf->out_achans; i++) { + abuf->bufferf[i] = (float *)lives_malloc(abuf->samples_filled * sizeof(float)); if (!abuf->in_interleaf) { - sample_move_d16_float(abuf->bufferf[i],abuf->buffer16[i],abuf->samples_filled,1, - (abuf->s16_signed?AFORM_SIGNED:AFORM_UNSIGNED),abuf->swap_endian,1.0); + sample_move_d16_float(abuf->bufferf[i], abuf->buffer16[i], abuf->samples_filled, 1, + (abuf->s16_signed ? AFORM_SIGNED : AFORM_UNSIGNED), abuf->swap_endian, 1.0); } else { - sample_move_d16_float(abuf->bufferf[i],&abuf->buffer16[0][i],abuf->samples_filled,abuf->out_achans, - (abuf->s16_signed?AFORM_SIGNED:AFORM_UNSIGNED),abuf->swap_endian,1.0); + sample_move_d16_float(abuf->bufferf[i], &abuf->buffer16[0][i], abuf->samples_filled, abuf->out_achans, + (abuf->s16_signed ? AFORM_SIGNED : AFORM_UNSIGNED), abuf->swap_endian, 1.0); } } - abuf->out_interleaf=FALSE; + abuf->out_interleaf = FALSE; } } - if (abuf->bufferf==NULL) return FALSE; + if (abuf->bufferf == NULL) return FALSE; // now we should have float - samps=abuf->samples_filled; + samps = abuf->samples_filled; // push to achan WEED_LEAF_AUDIO_DATA, taking into account WEED_LEAF_AUDIO_DATA_LENGTH, WEED_LEAF_AUDIO_INTERLEAF, WEED_LEAF_AUDIO_CHANNELS - alen=samps; - if (alen>tlen&&tlen>0) alen=tlen; + alen = samps; + if (alen > tlen && tlen > 0) alen = tlen; - offs=samps-alen; + offs = samps - alen; - scale=(float)trate/(float)abuf->arate; + scale = (float)trate / (float)abuf->arate; // malloc audio_data - dst=(float *)lives_malloc(alen*tchans*sizeof(float)); + dst = (float *)lives_malloc(alen * tchans * sizeof(float)); // set channel values - weed_set_voidptr_value(achan,WEED_LEAF_AUDIO_DATA,(void *)dst); - weed_set_boolean_value(achan,WEED_LEAF_AUDIO_INTERLEAF,tinter); - weed_set_int_value(achan,WEED_LEAF_AUDIO_DATA_LENGTH,alen); - weed_set_int_value(achan,WEED_LEAF_AUDIO_CHANNELS,tchans); - weed_set_int_value(achan,WEED_LEAF_AUDIO_RATE,trate); + weed_set_voidptr_value(achan, WEED_LEAF_AUDIO_DATA, (void *)dst); + weed_set_boolean_value(achan, WEED_LEAF_AUDIO_INTERLEAF, tinter); + weed_set_int_value(achan, WEED_LEAF_AUDIO_DATA_LENGTH, alen); + weed_set_int_value(achan, WEED_LEAF_AUDIO_CHANNELS, tchans); + weed_set_int_value(achan, WEED_LEAF_AUDIO_RATE, trate); // copy data from abuf->bufferf[] to WEED_LEAF_AUDIO_DATA - for (i=0; i<tchans; i++) { - src=abuf->bufferf[i%abuf->out_achans]+offs; + for (i = 0; i < tchans; i++) { + src = abuf->bufferf[i % abuf->out_achans] + offs; if (!tinter) { - if ((int)abuf->arate==trate) { - lives_memcpy(dst,src,alen*sizeof(float)); + if ((int)abuf->arate == trate) { + lives_memcpy(dst, src, alen * sizeof(float)); } else { // needs resample - sample_move_float_float(dst,src,alen,scale,1); + sample_move_float_float(dst, src, alen, scale, 1); } - dst+=alen; + dst += alen; } else { - sample_move_float_float(dst,src,alen,scale,tchans); + sample_move_float_float(dst, src, alen, scale, tchans); dst++; } } @@ -3033,75 +3087,75 @@ //////////////////////////////////////// // audio streaming -lives_pgid_t astream_pgid=0; +lives_pgid_t astream_pgid = 0; boolean start_audio_stream(void) { - const char *playername="audiostreamer.pl"; - char *astream_name=NULL; - char *astream_name_out=NULL; + const char *playername = "audiostreamer.pl"; + char *astream_name = NULL; + char *astream_name_out = NULL; // playback plugin wants an audio stream - so fork and run the stream // player - char *astname=lives_strdup_printf("livesaudio-%d.pcm",capable->mainpid); - char *astname_out=lives_strdup_printf("livesaudio-%d.stream",capable->mainpid); - char *astreamer,*com; + char *astname = lives_strdup_printf("livesaudio-%d.pcm", capable->mainpid); + char *astname_out = lives_strdup_printf("livesaudio-%d.stream", capable->mainpid); + char *astreamer, *com; - int arate=0; + int arate = 0; int afd; int alarm_handle; - boolean timeout=FALSE; + boolean timeout = FALSE; - astream_name=lives_build_filename(prefs->workdir,astname,NULL); + astream_name = lives_build_filename(prefs->workdir, astname, NULL); - mkfifo(astream_name,S_IRUSR|S_IWUSR); + mkfifo(astream_name, S_IRUSR | S_IWUSR); - astream_name_out=lives_build_filename(prefs->workdir,astname_out,NULL); + astream_name_out = lives_build_filename(prefs->workdir, astname_out, NULL); lives_free(astname); lives_free(astname_out); - if (prefs->audio_player==AUD_PLAYER_PULSE) { + if (prefs->audio_player == AUD_PLAYER_PULSE) { #ifdef HAVE_PULSE_AUDIO - arate=(int)mainw->pulsed->out_arate; + arate = (int)mainw->pulsed->out_arate; // TODO - chans, samps, signed, endian #endif } - if (prefs->audio_player==AUD_PLAYER_JACK) { + if (prefs->audio_player == AUD_PLAYER_JACK) { #ifdef ENABLE_JACK - arate=(int)mainw->jackd->sample_out_rate; + arate = (int)mainw->jackd->sample_out_rate; // TODO - chans, samps, signed, endian #endif } - astreamer=lives_build_filename(prefs->lib_dir,PLUGIN_EXEC_DIR,PLUGIN_AUDIO_STREAM,playername,NULL); - com=lives_strdup_printf("%s play %d \"%s\" \"%s\" %d",astreamer,mainw->vpp->audio_codec,astream_name,astream_name_out,arate); + astreamer = lives_build_filename(prefs->lib_dir, PLUGIN_EXEC_DIR, PLUGIN_AUDIO_STREAM, playername, NULL); + com = lives_strdup_printf("%s play %d \"%s\" \"%s\" %d", astreamer, mainw->vpp->audio_codec, astream_name, astream_name_out, arate); lives_free(astreamer); - astream_pgid=lives_fork(com); + astream_pgid = lives_fork(com); - alarm_handle=lives_alarm_set(LIVES_DEFAULT_TIMEOUT); + alarm_handle = lives_alarm_set(LIVES_DEFAULT_TIMEOUT); do { // wait for other thread to create stream (or timeout) - afd=lives_open2(astream_name,O_WRONLY|O_SYNC); - if (afd!=-1) break; + afd = lives_open2(astream_name, O_WRONLY | O_SYNC); + if (afd != -1) break; lives_usleep(prefs->sleep_time); - } while (!(timeout=lives_alarm_get(alarm_handle))); + } while (!(timeout = lives_alarm_get(alarm_handle))); lives_alarm_clear(alarm_handle); - if (prefs->audio_player==AUD_PLAYER_PULSE) { + if (prefs->audio_player == AUD_PLAYER_PULSE) { #ifdef HAVE_PULSE_AUDIO - mainw->pulsed->astream_fd=afd; + mainw->pulsed->astream_fd = afd; #endif } - if (prefs->audio_player==AUD_PLAYER_JACK) { + if (prefs->audio_player == AUD_PLAYER_JACK) { #ifdef ENABLE_JACK - mainw->jackd->astream_fd=afd; + mainw->jackd->astream_fd = afd; #endif } @@ -3114,41 +3168,41 @@ void stop_audio_stream(void) { - if (astream_pgid>0) { + if (astream_pgid > 0) { // if we were streaming audio, kill it - const char *playername="audiostreamer.pl"; - char *astname=lives_strdup_printf("livesaudio-%d.pcm",capable->mainpid); - char *astname_out=lives_strdup_printf("livesaudio-%d.stream",capable->mainpid); - char *astreamer=lives_build_filename(prefs->lib_dir,PLUGIN_EXEC_DIR,PLUGIN_AUDIO_STREAM,playername,NULL); + const char *playername = "audiostreamer.pl"; + char *astname = lives_strdup_printf("livesaudio-%d.pcm", capable->mainpid); + char *astname_out = lives_strdup_printf("livesaudio-%d.stream", capable->mainpid); + char *astreamer = lives_build_filename(prefs->lib_dir, PLUGIN_EXEC_DIR, PLUGIN_AUDIO_STREAM, playername, NULL); - char *astream_name=lives_build_filename(prefs->workdir,astname,NULL); - char *astream_name_out=lives_build_filename(prefs->workdir,astname_out,NULL); + char *astream_name = lives_build_filename(prefs->workdir, astname, NULL); + char *astream_name_out = lives_build_filename(prefs->workdir, astname_out, NULL); char *com; lives_free(astname); lives_free(astname_out); - if (prefs->audio_player==AUD_PLAYER_PULSE) { + if (prefs->audio_player == AUD_PLAYER_PULSE) { #ifdef HAVE_PULSE_AUDIO - if (mainw->pulsed->astream_fd>-1) close(mainw->pulsed->astream_fd); - mainw->pulsed->astream_fd=-1; + if (mainw->pulsed->astream_fd > -1) close(mainw->pulsed->astream_fd); + mainw->pulsed->astream_fd = -1; #endif } - if (prefs->audio_player==AUD_PLAYER_JACK) { + if (prefs->audio_player == AUD_PLAYER_JACK) { #ifdef ENABLE_JACK - if (mainw->jackd->astream_fd>-1) close(mainw->jackd->astream_fd); - mainw->jackd->astream_fd=-1; + if (mainw->jackd->astream_fd > -1) close(mainw->jackd->astream_fd); + mainw->jackd->astream_fd = -1; #endif } - lives_killpg(astream_pgid,LIVES_SIGKILL); + lives_killpg(astream_pgid, LIVES_SIGKILL); lives_rm(astream_name); lives_free(astream_name); // astreamer should remove cooked stream - com=lives_strdup_printf("\"%s\" cleanup %d \"%s\"",astreamer,mainw->vpp->audio_codec,astream_name_out); - lives_system(com,FALSE); + com = lives_strdup_printf("\"%s\" cleanup %d \"%s\"", astreamer, mainw->vpp->audio_codec, astream_name_out); + lives_system(com, FALSE); lives_free(astreamer); lives_free(com); lives_free(astream_name_out); @@ -3160,10 +3214,10 @@ void clear_audio_stream(void) { // remove raw and cooked streams - char *astname=lives_strdup_printf("livesaudio-%d.pcm",capable->mainpid); - char *astream_name=lives_build_filename(prefs->workdir,astname,NULL); - char *astname_out=lives_strdup_printf("livesaudio-%d.stream",capable->mainpid); - char *astream_name_out=lives_build_filename(prefs->workdir,astname_out,NULL); + char *astname = lives_strdup_printf("livesaudio-%d.pcm", capable->mainpid); + char *astream_name = lives_build_filename(prefs->workdir, astname, NULL); + char *astname_out = lives_strdup_printf("livesaudio-%d.stream", capable->mainpid); + char *astream_name_out = lives_build_filename(prefs->workdir, astname_out, NULL); lives_rm(astream_name); lives_rm(astream_name_out); lives_free(astname); @@ -3175,8 +3229,8 @@ LIVES_INLINE void audio_stream(void *buff, size_t nbytes, int fd) { - if (fd!=-1) { - lives_write(fd,buff,nbytes,TRUE); + if (fd != -1) { + lives_write(fd, buff, nbytes, TRUE); } }
View file
LiVES-2.8.4.tar.bz2/src/audio.h -> LiVES-2.8.6.tar.bz2/src/audio.h
Changed
@@ -66,7 +66,7 @@ typedef enum { - LIVES_NOP_OPERATION=0, + LIVES_NOP_OPERATION = 0, LIVES_READ_OPERATION, LIVES_WRITE_OPERATION, LIVES_CONVERT_OPERATION @@ -138,7 +138,6 @@ int _casamps; ///< current out_asamps volatile boolean die; ///< set to TRUE to shut down thread - } lives_audio_buf_t; @@ -151,6 +150,7 @@ } lives_audio_loop_t; +float get_float_audio_val_at_time(int fnum, int afd, double secs, int chnum, int chans); void sample_silence_dS(float *dst, uint64_t nsamples);
View file
LiVES-2.8.4.tar.bz2/src/callbacks.c -> LiVES-2.8.6.tar.bz2/src/callbacks.c
Changed
@@ -49,132 +49,129 @@ binding_cb(msgnumber, msgstring, mainw->id); #endif #ifdef ENABLE_OSC - lives_osc_notify(msgnumber,msgstring); + lives_osc_notify(msgnumber, msgstring); #endif - #ifdef TEST_NOTIFY - if (msgnumber==LIVES_OSC_NOTIFY_CLIPSET_OPENED) { - char *details=lives_strdup_printf(_("'LiVES opened the clip set' '%s'"), msgstring); - char *tmp=lives_strdup_printf("notify-send %s",details); - lives_system(tmp,TRUE); + if (msgnumber == LIVES_OSC_NOTIFY_CLIPSET_OPENED) { + char *details = lives_strdup_printf(_("'LiVES opened the clip set' '%s'"), msgstring); + char *tmp = lives_strdup_printf("notify-send %s", details); + lives_system(tmp, TRUE); lives_free(tmp); lives_free(details); } - if (msgnumber==LIVES_OSC_NOTIFY_CLIPSET_SAVED) { - char *details=lives_strdup_printf(_("'LiVES saved the clip set' '%s'"), msgstring); - char *tmp=lives_strdup_printf("notify-send %s",details); - lives_system(tmp,TRUE); + if (msgnumber == LIVES_OSC_NOTIFY_CLIPSET_SAVED) { + char *details = lives_strdup_printf(_("'LiVES saved the clip set' '%s'"), msgstring); + char *tmp = lives_strdup_printf("notify-send %s", details); + lives_system(tmp, TRUE); lives_free(tmp); lives_free(details); } #endif - - } boolean on_LiVES_delete_event(LiVESWidget *widget, LiVESXEventDelete *event, livespointer user_data) { if (!mainw->interactive) return TRUE; - on_quit_activate(NULL,NULL); + on_quit_activate(NULL, NULL); return TRUE; } void lives_exit(int signum) { - char *cwd,*tmp; + char *cwd, *tmp; register int i; - if (!mainw->only_close) mainw->is_exiting=TRUE; + if (!mainw->only_close) mainw->is_exiting = TRUE; if (mainw->is_ready) { char *com; lives_close_all_file_buffers(); - if (mainw->multitrack!=NULL&&mainw->multitrack->idlefunc>0) { + if (mainw->multitrack != NULL && mainw->multitrack->idlefunc > 0) { //lives_source_remove(mainw->multitrack->idlefunc); - mainw->multitrack->idlefunc=0; + mainw->multitrack->idlefunc = 0; } threaded_dialog_spin(0.); - if (mainw->toy_type!=LIVES_TOY_NONE) { + if (mainw->toy_type != LIVES_TOY_NONE) { on_toy_activate(NULL, LIVES_INT_TO_POINTER(LIVES_TOY_NONE)); } - if (mainw->stored_event_list!=NULL||mainw->sl_undo_mem!=NULL) { + if (mainw->stored_event_list != NULL || mainw->sl_undo_mem != NULL) { stored_event_list_free_all(FALSE); } - if (mainw->multitrack!=NULL&&!mainw->only_close) { + if (mainw->multitrack != NULL && !mainw->only_close) { lives_freep((void **)&mainw->multitrack->undo_mem); } - if (mainw->multi_opts.set&&!mainw->only_close&&mainw->multi_opts.aparam_view_list!=NULL) { + if (mainw->multi_opts.set && !mainw->only_close && mainw->multi_opts.aparam_view_list != NULL) { lives_list_free(mainw->multi_opts.aparam_view_list); } - if (mainw->playing_file>-1) { + if (mainw->playing_file > -1) { lives_grab_remove(mainw->LiVES); - mainw->ext_keyboard=FALSE; + mainw->ext_keyboard = FALSE; if (mainw->ext_playback) { - if (mainw->vpp->exit_screen!=NULL)(*mainw->vpp->exit_screen)(mainw->ptr_x,mainw->ptr_y); + if (mainw->vpp->exit_screen != NULL)(*mainw->vpp->exit_screen)(mainw->ptr_x, mainw->ptr_y); stop_audio_stream(); - mainw->stream_ticks=-1; + mainw->stream_ticks = -1; } // tell non-realtime audio players (sox or mplayer) to stop - if (!is_realtime_aplayer(prefs->audio_player)&&mainw->aud_file_to_kill>-1&&mainw->files[mainw->aud_file_to_kill]!=NULL) { - char *lsname=lives_build_filename(prefs->workdir,mainw->files[mainw->aud_file_to_kill]->handle,NULL); + if (!is_realtime_aplayer(prefs->audio_player) && mainw->aud_file_to_kill > -1 && mainw->files[mainw->aud_file_to_kill] != NULL) { + char *lsname = lives_build_filename(prefs->workdir, mainw->files[mainw->aud_file_to_kill]->handle, NULL); lives_touch(lsname); lives_free(lsname); - com=lives_strdup_printf("%s stop_audio \"%s\"",prefs->backend,mainw->files[mainw->aud_file_to_kill]->handle); - lives_system(com,TRUE); + com = lives_strdup_printf("%s stop_audio \"%s\"", prefs->backend, mainw->files[mainw->aud_file_to_kill]->handle); + lives_system(com, TRUE); lives_free(com); } } // stop any background processing for the current clip - if (mainw->current_file>-1) { - if (cfile->handle!=NULL&&(cfile->clip_type==CLIP_TYPE_DISK||cfile->clip_type==CLIP_TYPE_FILE)) { - lives_kill_subprocesses(cfile->handle,TRUE); + if (mainw->current_file > -1) { + if (cfile->handle != NULL && (cfile->clip_type == CLIP_TYPE_DISK || cfile->clip_type == CLIP_TYPE_FILE)) { + lives_kill_subprocesses(cfile->handle, TRUE); } } // prevent crash in "threaded" dialog - mainw->current_file=-1; + mainw->current_file = -1; if (!mainw->only_close) { // shut down audio players #ifdef HAVE_PULSE_AUDIO pthread_mutex_lock(&mainw->abuf_mutex); - if (mainw->pulsed!=NULL) pulse_close_client(mainw->pulsed); - if (mainw->pulsed_read!=NULL) pulse_close_client(mainw->pulsed_read); + if (mainw->pulsed != NULL) pulse_close_client(mainw->pulsed); + if (mainw->pulsed_read != NULL) pulse_close_client(mainw->pulsed_read); pulse_shutdown(); pthread_mutex_unlock(&mainw->abuf_mutex); #endif #ifdef ENABLE_JACK pthread_mutex_lock(&mainw->abuf_mutex); lives_jack_end(); - if (mainw->jackd!=NULL) { + if (mainw->jackd != NULL) { jack_close_device(mainw->jackd); } - if (mainw->jackd_read!=NULL) { + if (mainw->jackd_read != NULL) { jack_close_device(mainw->jackd_read); } pthread_mutex_unlock(&mainw->abuf_mutex); #endif } - if (mainw->vpp!=NULL&&!mainw->only_close) { + if (mainw->vpp != NULL && !mainw->only_close) { if (!mainw->leave_recovery) { if (mainw->write_vpp_file) { // save video playback plugin parameters - char *vpp_file=lives_build_filename(capable->home_dir,LIVES_CONFIG_DIR,"vpp_defaults",NULL); - save_vpp_defaults(mainw->vpp,vpp_file); + char *vpp_file = lives_build_filename(capable->home_dir, LIVES_CONFIG_DIR, "vpp_defaults", NULL); + save_vpp_defaults(mainw->vpp, vpp_file); } } close_vid_playback_plugin(mainw->vpp); @@ -188,7 +185,7 @@ threaded_dialog_spin(0.); } - if (strcmp(future_prefs->workdir,prefs->workdir)) { + if (strcmp(future_prefs->workdir, prefs->workdir)) { // if we changed the workdir, remove everything but sets from the old dir // create the new directory, and then move any sets over end_threaded_dialog(); @@ -198,77 +195,74 @@ // TODO *** - check for namespace collisions between sets in old dir and sets in new dir - // use backend to move the sets - com=lives_strdup_printf("%s weed \"%s\" &",prefs->backend_sync,future_prefs->workdir); - lives_system(com,FALSE); + com = lives_strdup_printf("%s weed \"%s\" &", prefs->backend_sync, future_prefs->workdir); + lives_system(com, FALSE); lives_free(com); } - lives_snprintf(prefs->workdir,PATH_MAX,"%s",future_prefs->workdir); - } else if (!mainw->only_close) lives_snprintf(future_prefs->workdir,256,"NULL"); + lives_snprintf(prefs->workdir, PATH_MAX, "%s", future_prefs->workdir); + } else if (!mainw->only_close) lives_snprintf(future_prefs->workdir, 256, "NULL"); - if (mainw->leave_files&&!mainw->fatal) { - d_print(_("Saving as set %s..."),mainw->set_name); + if (mainw->leave_files && !mainw->fatal) { + d_print(_("Saving as set %s..."), mainw->set_name); } - cwd=lives_get_current_dir(); + cwd = lives_get_current_dir(); - for (i=1; i<=MAX_FILES; i++) { - if (mainw->files[i]!=NULL) { - mainw->current_file=i; + for (i = 1; i <= MAX_FILES; i++) { + if (mainw->files[i] != NULL) { + mainw->current_file = i; threaded_dialog_spin(0.); - if (cfile->event_list_back!=NULL) event_list_free(cfile->event_list_back); - if (cfile->event_list!=NULL) event_list_free(cfile->event_list); + if (cfile->event_list_back != NULL) event_list_free(cfile->event_list_back); + if (cfile->event_list != NULL) event_list_free(cfile->event_list); - cfile->event_list=cfile->event_list_back=NULL; + cfile->event_list = cfile->event_list_back = NULL; lives_list_free_all(&cfile->layout_map); - if (cfile->laudio_drawable!=NULL) { + if (cfile->laudio_drawable != NULL) { lives_painter_surface_destroy(cfile->laudio_drawable); } - if (cfile->raudio_drawable!=NULL) { + if (cfile->raudio_drawable != NULL) { lives_painter_surface_destroy(cfile->raudio_drawable); } - if ((mainw->files[i]->clip_type==CLIP_TYPE_FILE||mainw->files[i]->clip_type==CLIP_TYPE_DISK)&&mainw->files[i]->ext_src!=NULL) { + if ((mainw->files[i]->clip_type == CLIP_TYPE_FILE || mainw->files[i]->clip_type == CLIP_TYPE_DISK) && mainw->files[i]->ext_src != NULL) { // must do this before we move it - char *ppath=lives_build_filename(prefs->workdir,cfile->handle,NULL); - lives_chdir(ppath,FALSE); + char *ppath = lives_build_filename(prefs->workdir, cfile->handle, NULL); + lives_chdir(ppath, FALSE); lives_free(ppath); threaded_dialog_spin(0.); close_decoder_plugin((lives_decoder_t *)mainw->files[i]->ext_src); - mainw->files[i]->ext_src=NULL; + mainw->files[i]->ext_src = NULL; threaded_dialog_spin(0.); } lives_freep((void **)&mainw->files[i]->frame_index); - cfile->layout_map=NULL; - + cfile->layout_map = NULL; } - - lives_chdir(cwd,FALSE); + lives_chdir(cwd, FALSE); lives_free(cwd); - for (i=0; i<=MAX_FILES; i++) { - if (mainw->files[i]!=NULL) { - if ((!mainw->leave_files&&!prefs->crash_recovery&&strlen(mainw->set_name)==0)|| - (!mainw->only_close&&(i==0||(mainw->files[i]->clip_type!=CLIP_TYPE_DISK&& - mainw->files[i]->clip_type!=CLIP_TYPE_FILE)))|| - (i==mainw->scrap_file&&!mainw->leave_recovery)|| - (i==mainw->ascrap_file&&!mainw->leave_recovery)|| - (mainw->multitrack!=NULL&&i==mainw->multitrack->render_file)) { + for (i = 0; i <= MAX_FILES; i++) { + if (mainw->files[i] != NULL) { + if ((!mainw->leave_files && !prefs->crash_recovery && strlen(mainw->set_name) == 0) || + (!mainw->only_close && (i == 0 || (mainw->files[i]->clip_type != CLIP_TYPE_DISK && + mainw->files[i]->clip_type != CLIP_TYPE_FILE))) || + (i == mainw->scrap_file && !mainw->leave_recovery) || + (i == mainw->ascrap_file && !mainw->leave_recovery) || + (mainw->multitrack != NULL && i == mainw->multitrack->render_file)) { // close all open clips, except for ones we want to retain #ifdef HAVE_YUV4MPEG - if (mainw->files[i]->clip_type==CLIP_TYPE_YUV4MPEG) { + if (mainw->files[i]->clip_type == CLIP_TYPE_YUV4MPEG) { lives_yuv_stream_stop_read((lives_yuv4m_t *)mainw->files[i]->ext_src); lives_free(mainw->files[i]->ext_src); } #endif #ifdef HAVE_UNICAP - if (mainw->files[i]->clip_type==CLIP_TYPE_VIDEODEV) { + if (mainw->files[i]->clip_type == CLIP_TYPE_VIDEODEV) { lives_vdev_free((lives_vdev_t *)mainw->files[i]->ext_src); lives_free(mainw->files[i]->ext_src); } @@ -276,20 +270,20 @@ threaded_dialog_spin(0.); #ifdef IS_MINGW // for other OS the backend does this - lives_kill_subprocesses(mainw->files[i]->handle,TRUE); + lives_kill_subprocesses(mainw->files[i]->handle, TRUE); #endif - com=lives_strdup_printf("%s close \"%s\"",prefs->backend,mainw->files[i]->handle); - lives_system(com,FALSE); + com = lives_strdup_printf("%s close \"%s\"", prefs->backend, mainw->files[i]->handle); + lives_system(com, FALSE); lives_free(com); threaded_dialog_spin(0.); } else { threaded_dialog_spin(0.); // or just clean them up - com=lives_strdup_printf("%s clear_tmp_files \"%s\"",prefs->backend_sync,mainw->files[i]->handle); - lives_system(com,FALSE); + com = lives_strdup_printf("%s clear_tmp_files \"%s\"", prefs->backend_sync, mainw->files[i]->handle); + lives_system(com, FALSE); threaded_dialog_spin(0.); lives_free(com); - if (mainw->files[i]->frame_index!=NULL) { + if (mainw->files[i]->frame_index != NULL) { save_frame_index(i); } lives_freep((void **)&mainw->files[i]->op_dir); @@ -298,24 +292,24 @@ } } - if (!mainw->leave_files&&strlen(mainw->set_name)&&!mainw->leave_recovery) { - char *set_layout_dir=lives_build_filename(prefs->workdir,mainw->set_name,"layouts",NULL); - if (!lives_file_test(set_layout_dir,LIVES_FILE_TEST_IS_DIR)) { - char *sdname=lives_build_filename(prefs->workdir,mainw->set_name,NULL); + if (!mainw->leave_files && strlen(mainw->set_name) && !mainw->leave_recovery) { + char *set_layout_dir = lives_build_filename(prefs->workdir, mainw->set_name, "layouts", NULL); + if (!lives_file_test(set_layout_dir, LIVES_FILE_TEST_IS_DIR)) { + char *sdname = lives_build_filename(prefs->workdir, mainw->set_name, NULL); // note, FORCE is FALSE - lives_rmdir(sdname,FALSE); + lives_rmdir(sdname, FALSE); lives_free(sdname); threaded_dialog_spin(0.); } else { - char *dname=lives_build_filename(prefs->workdir,mainw->set_name,"clips",NULL); + char *dname = lives_build_filename(prefs->workdir, mainw->set_name, "clips", NULL); // note, FORCE is FALSE - lives_rmdir(dname,FALSE); + lives_rmdir(dname, FALSE); lives_free(dname); threaded_dialog_spin(0.); - dname=lives_build_filename(prefs->workdir,mainw->set_name,"order",NULL); + dname = lives_build_filename(prefs->workdir, mainw->set_name, "order", NULL); lives_rm(dname); lives_free(dname); threaded_dialog_spin(0.); @@ -324,42 +318,43 @@ } if (strlen(mainw->set_name)) { - char *set_lock_file=lives_strdup_printf("%s/%s/lock.%d",prefs->workdir,mainw->set_name,capable->mainpid); + char *set_lock_file = lives_strdup_printf("%s/%s/lock.%d", prefs->workdir, mainw->set_name, capable->mainpid); lives_rm(set_lock_file); lives_free(set_lock_file); threaded_dialog_spin(0.); } if (mainw->only_close) { - mainw->suppress_dprint=TRUE; - for (i=1; i<=MAX_FILES; i++) { - if (mainw->files[i]!=NULL&&(mainw->files[i]->clip_type==CLIP_TYPE_DISK|| - mainw->files[i]->clip_type==CLIP_TYPE_FILE)&&(mainw->multitrack==NULL|| - i!=mainw->multitrack->render_file)) { - mainw->current_file=i; + mainw->suppress_dprint = TRUE; + for (i = 1; i <= MAX_FILES; i++) { + if (mainw->files[i] != NULL && (mainw->files[i]->clip_type == CLIP_TYPE_DISK || + mainw->files[i]->clip_type == CLIP_TYPE_FILE) && (mainw->multitrack == NULL || + i != mainw->multitrack->render_file)) { + mainw->current_file = i; close_current_file(0); threaded_dialog_spin(0.); } } - mainw->suppress_dprint=FALSE; - if (mainw->multitrack==NULL) resize(1); - mainw->was_set=FALSE; - mainw->leave_files=FALSE; - memset(mainw->set_name,0,1); - mainw->only_close=FALSE; - prefs->crash_recovery=TRUE; + + mainw->suppress_dprint = FALSE; + if (mainw->multitrack == NULL) resize(1); + mainw->was_set = FALSE; + mainw->leave_files = FALSE; + memset(mainw->set_name, 0, 1); + mainw->only_close = FALSE; + prefs->crash_recovery = TRUE; threaded_dialog_spin(0.); - if (mainw->current_file>-1) sensitize(); + if (mainw->current_file > -1) sensitize(); lives_widget_queue_draw(mainw->LiVES); d_print_done(); end_threaded_dialog(); - if (mainw->multitrack!=NULL) { - mainw->current_file=mainw->multitrack->render_file; - mainw->multitrack->file_selected=-1; - polymorph(mainw->multitrack,POLY_NONE); - polymorph(mainw->multitrack,POLY_CLIPS); + if (mainw->multitrack != NULL) { + mainw->current_file = mainw->multitrack->render_file; + mainw->multitrack->file_selected = -1; + polymorph(mainw->multitrack, POLY_NONE); + polymorph(mainw->multitrack, POLY_CLIPS); mt_sensitise(mainw->multitrack); } @@ -370,19 +365,19 @@ // stop valgrind from complaining #ifdef VALG_COMPLAIN - if (mainw->preview_image!=NULL && LIVES_IS_IMAGE(mainw->preview_image)) + if (mainw->preview_image != NULL && LIVES_IS_IMAGE(mainw->preview_image)) lives_image_set_from_pixbuf(LIVES_IMAGE(mainw->preview_image), NULL); - if (mainw->start_image!=NULL) lives_image_set_from_pixbuf(LIVES_IMAGE(mainw->start_image), NULL); - if (mainw->end_image!=NULL) lives_image_set_from_pixbuf(LIVES_IMAGE(mainw->end_image), NULL); + if (mainw->start_image != NULL) lives_image_set_from_pixbuf(LIVES_IMAGE(mainw->start_image), NULL); + if (mainw->end_image != NULL) lives_image_set_from_pixbuf(LIVES_IMAGE(mainw->end_image), NULL); #endif - if (mainw->frame_layer!=NULL) { + if (mainw->frame_layer != NULL) { check_layer_ready(mainw->frame_layer); weed_layer_free(mainw->frame_layer); } - if (mainw->sep_win&&(mainw->playing_file>-1||prefs->sepwin_type==SEPWIN_TYPE_STICKY)) { + if (mainw->sep_win && (mainw->playing_file > -1 || prefs->sepwin_type == SEPWIN_TYPE_STICKY)) { threaded_dialog_spin(0.); kill_play_window(); threaded_dialog_spin(0.); @@ -391,9 +386,9 @@ lives_list_free_all(&mainw->current_layouts_map); - if (capable->smog_version_correct&&!mainw->startup_error) { + if (capable->smog_version_correct && !mainw->startup_error) { if (capable->has_encoder_plugins) { - LiVESList *dummy_list=plugin_request("encoders",prefs->encoder.name,"finalise"); + LiVESList *dummy_list = plugin_request("encoders", prefs->encoder.name, "finalise"); lives_list_free_all(&dummy_list); } @@ -417,12 +412,12 @@ pconx_delete_all(); cconx_delete_all(); - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { event_list_free_undos(mainw->multitrack); - if (mainw->multitrack->event_list!=NULL) { + if (mainw->multitrack->event_list != NULL) { event_list_free(mainw->multitrack->event_list); - mainw->multitrack->event_list=NULL; + mainw->multitrack->event_list = NULL; } } @@ -433,19 +428,19 @@ lives_freep((void **)&mainw->recovery_file); - for (i=0; i<NUM_LIVES_STRING_CONSTANTS; i++) lives_freep((void **)&mainw->string_constants[i]); + for (i = 0; i < NUM_LIVES_STRING_CONSTANTS; i++) lives_freep((void **)&mainw->string_constants[i]); - for (i=0; i<mainw->n_screen_areas; i++) lives_freep((void **)&mainw->screen_areas[i].name); + for (i = 0; i < mainw->n_screen_areas; i++) lives_freep((void **)&mainw->screen_areas[i].name); - if (mainw->video_drawable!=NULL) { + if (mainw->video_drawable != NULL) { lives_painter_surface_destroy(mainw->video_drawable); } - if (mainw->laudio_drawable!=NULL) { + if (mainw->laudio_drawable != NULL) { lives_painter_surface_destroy(mainw->laudio_drawable); } - if (mainw->raudio_drawable!=NULL) { + if (mainw->raudio_drawable != NULL) { lives_painter_surface_destroy(mainw->raudio_drawable); } @@ -457,13 +452,13 @@ unload_decoder_plugins(); lives_freep((void **)&mainw->multitrack); - mainw->is_ready=FALSE; + mainw->is_ready = FALSE; lives_freep((void **)&mainw->mgeom); lives_list_free_all(&prefs->disabled_decoders); - if (mainw->fonts_array!=NULL) lives_strfreev(mainw->fonts_array); + if (mainw->fonts_array != NULL) lives_strfreev(mainw->fonts_array); #ifdef USE_SWSCALE sws_free_context(); #endif @@ -472,357 +467,340 @@ lives_freep((void **)&trString); #endif - tmp=lives_strdup_printf("%d",signum); - lives_notify(LIVES_OSC_NOTIFY_QUIT,tmp); + tmp = lives_strdup_printf("%d", signum); + lives_notify(LIVES_OSC_NOTIFY_QUIT, tmp); lives_free(tmp); exit(0); } - - void on_filesel_button_clicked(LiVESButton *button, livespointer user_data) { - LiVESWidget *tentry=LIVES_WIDGET(user_data); + LiVESWidget *tentry = LIVES_WIDGET(user_data); - char **filt=NULL; + char **filt = NULL; - char *dirname=NULL; + char *dirname = NULL; char *fname; char *tmp; - char *def_dir=NULL; + char *def_dir = NULL; - boolean is_dir=TRUE; + boolean is_dir = TRUE; - int filesel_type=LIVES_FILE_SELECTION_UNDEFINED; + int filesel_type = LIVES_FILE_SELECTION_UNDEFINED; - if (button!=NULL) { - def_dir=(char *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(button),"def_dir"); - is_dir=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(button),"is_dir")); - filt=(char **)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(button), "filter"); - if (lives_widget_object_get_data(LIVES_WIDGET_OBJECT(button), "filesel_type")!=NULL) { - filesel_type=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(button),"filesel_type")); + if (button != NULL) { + def_dir = (char *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(button), "def_dir"); + is_dir = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(button), "is_dir")); + filt = (char **)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(button), "filter"); + if (lives_widget_object_get_data(LIVES_WIDGET_OBJECT(button), "filesel_type") != NULL) { + filesel_type = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(button), "filesel_type")); } } - if (LIVES_IS_TEXT_VIEW(tentry)) fname=lives_text_view_get_text(LIVES_TEXT_VIEW(tentry)); - else fname=lives_strdup(lives_entry_get_text(LIVES_ENTRY(tentry))); + if (LIVES_IS_TEXT_VIEW(tentry)) fname = lives_text_view_get_text(LIVES_TEXT_VIEW(tentry)); + else fname = lives_strdup(lives_entry_get_text(LIVES_ENTRY(tentry))); if (!strlen(fname)) { lives_free(fname); - fname=def_dir; + fname = def_dir; } lives_widget_context_update(); - if (filesel_type==LIVES_FILE_SELECTION_UNDEFINED) { - dirname=choose_file(is_dir?fname:def_dir,is_dir?NULL:fname,filt, - is_dir?LIVES_FILE_CHOOSER_ACTION_SELECT_FOLDER: - (fname==def_dir&&def_dir!=NULL&&!strcmp(def_dir,LIVES_DEVICE_DIR))?LIVES_FILE_CHOOSER_ACTION_SELECT_DEVICE: - LIVES_FILE_CHOOSER_ACTION_OPEN, - NULL,NULL); + if (filesel_type == LIVES_FILE_SELECTION_UNDEFINED) { + dirname = choose_file(is_dir ? fname : def_dir, is_dir ? NULL : fname, filt, + is_dir ? LIVES_FILE_CHOOSER_ACTION_SELECT_FOLDER : + (fname == def_dir && def_dir != NULL && !strcmp(def_dir, LIVES_DEVICE_DIR)) ? LIVES_FILE_CHOOSER_ACTION_SELECT_DEVICE : + LIVES_FILE_CHOOSER_ACTION_OPEN, + NULL, NULL); } else { - LiVESWidget *chooser=choose_file_with_preview(def_dir,fname,filt,filesel_type); - int resp=lives_dialog_run(LIVES_DIALOG(chooser)); + LiVESWidget *chooser = choose_file_with_preview(def_dir, fname, filt, filesel_type); + int resp = lives_dialog_run(LIVES_DIALOG(chooser)); end_fs_preview(); - if (resp==LIVES_RESPONSE_ACCEPT) { - dirname=lives_file_chooser_get_filename(LIVES_FILE_CHOOSER(chooser)); + if (resp == LIVES_RESPONSE_ACCEPT) { + dirname = lives_file_chooser_get_filename(LIVES_FILE_CHOOSER(chooser)); } lives_widget_destroy(LIVES_WIDGET(chooser)); } - if (fname!=NULL&&fname!=def_dir) lives_free(fname); + if (fname != NULL && fname != def_dir) lives_free(fname); - if (dirname==NULL) return; + if (dirname == NULL) return; - lives_snprintf(file_name,PATH_MAX,"%s",dirname); + lives_snprintf(file_name, PATH_MAX, "%s", dirname); lives_free(dirname); - if (button!=NULL) { - if (LIVES_IS_ENTRY(tentry)) lives_entry_set_text(LIVES_ENTRY(tentry),(tmp=lives_filename_to_utf8(file_name,-1,NULL,NULL,NULL))); - else lives_text_view_set_text(LIVES_TEXT_VIEW(tentry), (tmp=lives_filename_to_utf8(file_name,-1,NULL,NULL,NULL)), -1); + if (button != NULL) { + if (LIVES_IS_ENTRY(tentry)) lives_entry_set_text(LIVES_ENTRY(tentry), (tmp = lives_filename_to_utf8(file_name, -1, NULL, NULL, NULL))); + else lives_text_view_set_text(LIVES_TEXT_VIEW(tentry), (tmp = lives_filename_to_utf8(file_name, -1, NULL, NULL, NULL)), -1); lives_free(tmp); } // force update to be recognized - if (lives_widget_object_get_data(LIVES_WIDGET_OBJECT(tentry),"rfx")!=NULL) - after_param_text_changed(tentry,(lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(tentry),"rfx")); + if (lives_widget_object_get_data(LIVES_WIDGET_OBJECT(tentry), "rfx") != NULL) + after_param_text_changed(tentry, (lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(tentry), "rfx")); } - void on_filesel_complex_clicked(LiVESButton *button, LiVESEntry *entry) { // append LIVES_WORK_NAME - size_t chklen=strlen(LIVES_WORK_NAME)+strlen(LIVES_DIR_SEP)*2; + size_t chklen = strlen(LIVES_WORK_NAME) + strlen(LIVES_DIR_SEP) * 2; - on_filesel_button_clicked(NULL,entry); + on_filesel_button_clicked(NULL, entry); - if (strcmp(file_name+strlen(file_name)-1,LIVES_DIR_SEP)) { - lives_strappend(file_name,PATH_MAX,LIVES_DIR_SEP); + if (strcmp(file_name + strlen(file_name) - 1, LIVES_DIR_SEP)) { + lives_strappend(file_name, PATH_MAX, LIVES_DIR_SEP); } - if (strlen(file_name)<chklen||strncmp(file_name+strlen(file_name)-chklen,LIVES_DIR_SEP LIVES_WORK_NAME LIVES_DIR_SEP,chklen)) - lives_strappend(file_name,PATH_MAX,LIVES_WORK_NAME LIVES_DIR_SEP); - - lives_entry_set_text(entry,file_name); + if (strlen(file_name) < chklen || strncmp(file_name + strlen(file_name) - chklen, LIVES_DIR_SEP LIVES_WORK_NAME LIVES_DIR_SEP, chklen)) + lives_strappend(file_name, PATH_MAX, LIVES_WORK_NAME LIVES_DIR_SEP); + lives_entry_set_text(entry, file_name); } - void on_open_sel_activate(LiVESMenuItem *menuitem, livespointer user_data) { // OPEN A FILE LiVESWidget *chooser; char *fname, *tmp; int resp; - if (mainw->multitrack!=NULL) { - if (mainw->multitrack->idlefunc>0) { + if (mainw->multitrack != NULL) { + if (mainw->multitrack->idlefunc > 0) { lives_source_remove(mainw->multitrack->idlefunc); - mainw->multitrack->idlefunc=0; + mainw->multitrack->idlefunc = 0; } mt_desensitise(mainw->multitrack); - lives_widget_set_sensitive(mainw->multitrack->playall,TRUE); + lives_widget_set_sensitive(mainw->multitrack->playall, TRUE); lives_widget_set_sensitive(mainw->m_playbutton, TRUE); } - chooser=choose_file_with_preview(strlen(mainw->vid_load_dir)?mainw->vid_load_dir:NULL,NULL,NULL,LIVES_FILE_SELECTION_VIDEO_AUDIO); - resp=lives_dialog_run(LIVES_DIALOG(chooser)); + chooser = choose_file_with_preview(strlen(mainw->vid_load_dir) ? mainw->vid_load_dir : NULL, NULL, NULL, LIVES_FILE_SELECTION_VIDEO_AUDIO); + resp = lives_dialog_run(LIVES_DIALOG(chooser)); end_fs_preview(); - mainw->fs_playarea=NULL; + mainw->fs_playarea = NULL; - if (resp!=LIVES_RESPONSE_ACCEPT) { + if (resp != LIVES_RESPONSE_ACCEPT) { on_filechooser_cancel_clicked(chooser); return; } - fname=lives_file_chooser_get_filename(LIVES_FILE_CHOOSER(chooser)); + fname = lives_file_chooser_get_filename(LIVES_FILE_CHOOSER(chooser)); - if (fname==NULL) { - if (mainw->multitrack!=NULL) { + if (fname == NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } return; } - lives_snprintf(file_name,PATH_MAX,"%s",(tmp=lives_filename_to_utf8(fname,-1,NULL,NULL,NULL))); + lives_snprintf(file_name, PATH_MAX, "%s", (tmp = lives_filename_to_utf8(fname, -1, NULL, NULL, NULL))); lives_free(tmp); lives_free(fname); lives_widget_destroy(LIVES_WIDGET(chooser)); - lives_snprintf(mainw->vid_load_dir,PATH_MAX,"%s",file_name); + lives_snprintf(mainw->vid_load_dir, PATH_MAX, "%s", file_name); get_dirname(mainw->vid_load_dir); - if (mainw->multitrack==NULL) lives_widget_queue_draw(mainw->LiVES); - else lives_widget_queue_draw(mainw->multitrack->window); + lives_widget_queue_draw(LIVES_MAIN_WINDOW_WIDGET); lives_widget_context_update(); if (prefs->save_directories) { - set_pref_utf8(PREF_VID_LOAD_DIR,mainw->vid_load_dir); + set_pref_utf8(PREF_VID_LOAD_DIR, mainw->vid_load_dir); } - mainw->cancelled=CANCEL_NONE; + mainw->cancelled = CANCEL_NONE; open_sel_range_activate(); } - void on_open_vcd_activate(LiVESMenuItem *menuitem, livespointer device_type) { LiVESWidget *vcdtrack_dialog; - int type=LIVES_POINTER_TO_INT(device_type); + int type = LIVES_POINTER_TO_INT(device_type); - if (type==LIVES_DEVICE_VCD&&!capable->has_mplayer&&!capable->has_mplayer2) { + if (type == LIVES_DEVICE_VCD && !capable->has_mplayer && !capable->has_mplayer2) { // needs testing, mpv MAY work with VCD do_need_mplayer_dialog(); return; } - if (mainw->multitrack!=NULL) { - if (mainw->multitrack->idlefunc>0) { + if (mainw->multitrack != NULL) { + if (mainw->multitrack->idlefunc > 0) { lives_source_remove(mainw->multitrack->idlefunc); - mainw->multitrack->idlefunc=0; + mainw->multitrack->idlefunc = 0; } mt_desensitise(mainw->multitrack); - lives_widget_set_sensitive(mainw->multitrack->playall,TRUE); + lives_widget_set_sensitive(mainw->multitrack->playall, TRUE); lives_widget_set_sensitive(mainw->m_playbutton, TRUE); } - mainw->fx1_val=1; - mainw->fx2_val=1; - mainw->fx3_val=DVD_AUDIO_CHAN_DEFAULT; + mainw->fx1_val = 1; + mainw->fx2_val = 1; + mainw->fx3_val = DVD_AUDIO_CHAN_DEFAULT; - vcdtrack_dialog = create_cdtrack_dialog(type,NULL); + vcdtrack_dialog = create_cdtrack_dialog(type, NULL); lives_widget_show_all(vcdtrack_dialog); } void on_open_loc_activate(LiVESMenuItem *menuitem, livespointer user_data) { - // need non-instant opening (for now) #ifndef ALLOW_MPV - if (!capable->has_mplayer&&!capable->has_mplayer2) { + if (!capable->has_mplayer && !capable->has_mplayer2) { do_need_mplayer_dialog(); return; } #else - if (!capable->has_mplayer&&!capable->has_mplayer2&&!capable->has_mpv) { + if (!capable->has_mplayer && !capable->has_mplayer2 && !capable->has_mpv) { do_need_mplayer_mpv_dialog(); return; } #endif - if (mainw->multitrack!=NULL) { - if (mainw->multitrack->idlefunc>0) { + if (mainw->multitrack != NULL) { + if (mainw->multitrack->idlefunc > 0) { lives_source_remove(mainw->multitrack->idlefunc); - mainw->multitrack->idlefunc=0; + mainw->multitrack->idlefunc = 0; } mt_desensitise(mainw->multitrack); - lives_widget_set_sensitive(mainw->multitrack->playall,TRUE); + lives_widget_set_sensitive(mainw->multitrack->playall, TRUE); lives_widget_set_sensitive(mainw->m_playbutton, TRUE); } - locw=create_location_dialog(1); + locw = create_location_dialog(1); lives_widget_show_all(locw->dialog); - } void on_open_utube_activate(LiVESMenuItem *menuitem, livespointer user_data) { - if (mainw->multitrack!=NULL) { - if (mainw->multitrack->idlefunc>0) { + if (mainw->multitrack != NULL) { + if (mainw->multitrack->idlefunc > 0) { lives_source_remove(mainw->multitrack->idlefunc); - mainw->multitrack->idlefunc=0; + mainw->multitrack->idlefunc = 0; } mt_desensitise(mainw->multitrack); - lives_widget_set_sensitive(mainw->multitrack->playall,TRUE); + lives_widget_set_sensitive(mainw->multitrack->playall, TRUE); lives_widget_set_sensitive(mainw->m_playbutton, TRUE); } - locw=create_location_dialog(2); + locw = create_location_dialog(2); lives_widget_show_all(locw->dialog); } - - void on_autoreload_toggled(LiVESToggleButton *togglebutton, livespointer user_data) { // type==0, autoreload layout // type==1, autoreload clipset // type==2, autoreload layout (from choose layout name and ...) - int type=LIVES_POINTER_TO_INT(user_data); - if (type==0) { - _entryw *cdsw=(_entryw *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(togglebutton),"cdsw"); - prefs->ar_layout=!prefs->ar_layout; - if (cdsw->warn_checkbutton!=NULL) { + int type = LIVES_POINTER_TO_INT(user_data); + if (type == 0) { + _entryw *cdsw = (_entryw *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(togglebutton), "cdsw"); + prefs->ar_layout = !prefs->ar_layout; + if (cdsw->warn_checkbutton != NULL) { if (prefs->ar_layout) { - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(cdsw->warn_checkbutton),FALSE); - lives_widget_set_sensitive(cdsw->warn_checkbutton,FALSE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(cdsw->warn_checkbutton), FALSE); + lives_widget_set_sensitive(cdsw->warn_checkbutton, FALSE); } else { - lives_widget_set_sensitive(cdsw->warn_checkbutton,TRUE); + lives_widget_set_sensitive(cdsw->warn_checkbutton, TRUE); } } } - if (type==1) prefs->ar_clipset=!prefs->ar_clipset; - if (type==2) prefs->ar_layout=!prefs->ar_layout; + if (type == 1) prefs->ar_clipset = !prefs->ar_clipset; + if (type == 2) prefs->ar_layout = !prefs->ar_layout; } void on_recent_activate(LiVESMenuItem *menuitem, livespointer user_data) { char file[PATH_MAX]; - double start=0.; - int end=0,pno; + double start = 0.; + int end = 0, pno; char *pref; - pno=LIVES_POINTER_TO_INT(user_data); + pno = LIVES_POINTER_TO_INT(user_data); - if (mainw->multitrack!=NULL) { - if (mainw->multitrack->idlefunc>0) { + if (mainw->multitrack != NULL) { + if (mainw->multitrack->idlefunc > 0) { lives_source_remove(mainw->multitrack->idlefunc); - mainw->multitrack->idlefunc=0; + mainw->multitrack->idlefunc = 0; } mt_desensitise(mainw->multitrack); } - lives_widget_context_update(); // hide menu popdown - pref=lives_strdup_printf("recent%d",pno); + pref = lives_strdup_printf("recent%d", pno); - get_pref(pref,file,PATH_MAX); + get_pref(pref, file, PATH_MAX); lives_free(pref); - if (get_token_count(file,'\n')>1) { - char **array=lives_strsplit(file,"\n",2); - lives_snprintf(file,PATH_MAX,"%s",array[0]); + if (get_token_count(file, '\n') > 1) { + char **array = lives_strsplit(file, "\n", 2); + lives_snprintf(file, PATH_MAX, "%s", array[0]); lives_freep((void **)&mainw->file_open_params); - mainw->file_open_params=lives_strdup(array[1]); + mainw->file_open_params = lives_strdup(array[1]); lives_strfreev(array); } - if (get_token_count(file,'|')>2) { - char **array=lives_strsplit(file,"|",3); - lives_snprintf(file,PATH_MAX,"%s",array[0]); - start=lives_strtod(array[1],NULL); - end=atoi(array[2]); + if (get_token_count(file, '|') > 2) { + char **array = lives_strsplit(file, "|", 3); + lives_snprintf(file, PATH_MAX, "%s", array[0]); + start = lives_strtod(array[1], NULL); + end = atoi(array[2]); lives_strfreev(array); } - deduce_file(file,start,end); + deduce_file(file, start, end); - if (mainw->multitrack!=NULL) { - polymorph(mainw->multitrack,POLY_NONE); - polymorph(mainw->multitrack,POLY_CLIPS); + if (mainw->multitrack != NULL) { + polymorph(mainw->multitrack, POLY_NONE); + polymorph(mainw->multitrack, POLY_CLIPS); mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } - } - void on_location_select(LiVESButton *button, livespointer user_data) { - lives_snprintf(file_name,PATH_MAX,"%s",lives_entry_get_text(LIVES_ENTRY(locw->entry))); + lives_snprintf(file_name, PATH_MAX, "%s", lives_entry_get_text(LIVES_ENTRY(locw->entry))); lives_widget_destroy(locw->dialog); lives_widget_context_update(); lives_free(locw); - mainw->opening_loc=TRUE; + mainw->opening_loc = TRUE; lives_freep((void **)&mainw->file_open_params); if (prefs->no_bandwidth) { - mainw->file_open_params=lives_strdup("nobandwidth"); - } else mainw->file_open_params=lives_strdup("sendbandwidth"); - mainw->img_concat_clip=-1; + mainw->file_open_params = lives_strdup("nobandwidth"); + } else mainw->file_open_params = lives_strdup("sendbandwidth"); + mainw->img_concat_clip = -1; open_file(file_name); - if (mainw->multitrack!=NULL) { - polymorph(mainw->multitrack,POLY_NONE); - polymorph(mainw->multitrack,POLY_CLIPS); + if (mainw->multitrack != NULL) { + polymorph(mainw->multitrack, POLY_NONE); + polymorph(mainw->multitrack, POLY_CLIPS); mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } - } - - void on_utube_select(LiVESButton *button, livespointer user_data) { - char *fname=ensure_extension(lives_entry_get_text(LIVES_ENTRY(locw->name_entry)),".webm"); + char *fname = ensure_extension(lives_entry_get_text(LIVES_ENTRY(locw->name_entry)), ".webm"); char *url; char *dirname; char *dfile; char *com; - int current_file=mainw->current_file; + int current_file = mainw->current_file; if (!strlen(fname)) { do_blocking_error_dialog(_("Please enter the name of the file to save the clip as.\n")); @@ -830,7 +808,7 @@ return; } - url=lives_strdup(lives_entry_get_text(LIVES_ENTRY(locw->entry))); + url = lives_strdup(lives_entry_get_text(LIVES_ENTRY(locw->entry))); if (!strlen(url)) { do_blocking_error_dialog(_("Please enter a valid URL for the download.\n")); @@ -839,17 +817,17 @@ return; } - dirname=lives_strdup(lives_entry_get_text(LIVES_ENTRY(locw->dir_entry))); + dirname = lives_strdup(lives_entry_get_text(LIVES_ENTRY(locw->dir_entry))); ensure_isdir(dirname); - lives_snprintf(mainw->vid_dl_dir,PATH_MAX,"%s",dirname); + lives_snprintf(mainw->vid_dl_dir, PATH_MAX, "%s", dirname); lives_widget_destroy(locw->dialog); lives_widget_context_update(); lives_free(locw); - dfile=lives_build_filename(dirname,fname,NULL); + dfile = lives_build_filename(dirname, fname, NULL); - if (!check_file(dfile,TRUE)) { + if (!check_file(dfile, TRUE)) { lives_free(dirname); lives_free(fname); lives_free(url); @@ -857,67 +835,67 @@ return; } - mainw->error=FALSE; + mainw->error = FALSE; - d_print(_("Downloading %s to %s..."),url,dfile); + d_print(_("Downloading %s to %s..."), url, dfile); - if (current_file==-1) { - if (!get_temp_handle(mainw->first_free_file,TRUE)) { + if (current_file == -1) { + if (!get_temp_handle(mainw->first_free_file, TRUE)) { d_print_failed(); return; } } - mainw->no_switch_dprint=TRUE; + mainw->no_switch_dprint = TRUE; lives_rm(cfile->info_file); - com=lives_strdup_printf("%s download_clip \"%s\" \"%s\" \"%s\"",prefs->backend,cfile->handle,url,dfile); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + com = lives_strdup_printf("%s download_clip \"%s\" \"%s\" \"%s\"", prefs->backend, cfile->handle, url, dfile); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { - if (current_file==-1) { - com=lives_strdup_printf("%s close \"%s\"",prefs->backend,cfile->handle); - lives_system(com,TRUE); + if (current_file == -1) { + com = lives_strdup_printf("%s close \"%s\"", prefs->backend, cfile->handle); + lives_system(com, TRUE); lives_free(com); lives_freep((void **)&cfile); - mainw->current_file=-1; + mainw->current_file = -1; } d_print_failed(); return; } - cfile->nopreview=TRUE; - cfile->keep_without_preview=TRUE; - cfile->no_proc_sys_errors=TRUE; ///< do not show processing error dialogs, we will show our own msg - if (!do_progress_dialog(TRUE,TRUE,_("Downloading clip"))||mainw->error) { + cfile->nopreview = TRUE; + cfile->keep_without_preview = TRUE; + cfile->no_proc_sys_errors = TRUE; ///< do not show processing error dialogs, we will show our own msg + if (!do_progress_dialog(TRUE, TRUE, _("Downloading clip")) || mainw->error) { // user cancelled or error - cfile->nopreview=FALSE; - cfile->no_proc_sys_errors=FALSE; - cfile->keep_without_preview=FALSE; + cfile->nopreview = FALSE; + cfile->no_proc_sys_errors = FALSE; + cfile->keep_without_preview = FALSE; - if (mainw->cancelled==CANCEL_KEEP&&!mainw->error) { - mainw->cancelled=CANCEL_NONE; + if (mainw->cancelled == CANCEL_KEEP && !mainw->error) { + mainw->cancelled = CANCEL_NONE; } else { - if (current_file==-1) { + if (current_file == -1) { #ifdef IS_MINGW - lives_kill_subprocesses(cfile->handle,TRUE); + lives_kill_subprocesses(cfile->handle, TRUE); #endif // we made a temp file so close it - com=lives_strdup_printf("%s close \"%s\"",prefs->backend,cfile->handle); - lives_system(com,TRUE); + com = lives_strdup_printf("%s close \"%s\"", prefs->backend, cfile->handle); + lives_system(com, TRUE); lives_free(com); lives_freep((void **)&cfile); - mainw->current_file=-1; + mainw->current_file = -1; } if (mainw->error) { d_print_failed(); do_blocking_error_dialog( _("\nLiVES was unable to download the clip.\nPlease check the clip URL and make sure you have \nthe latest youtube-dl installed.\n")); - mainw->error=FALSE; + mainw->error = FALSE; } lives_rm(dfile); @@ -928,102 +906,95 @@ lives_free(dfile); sensitize(); - mainw->no_switch_dprint=FALSE; + mainw->no_switch_dprint = FALSE; return; } } - cfile->nopreview=FALSE; - cfile->no_proc_sys_errors=FALSE; - cfile->keep_without_preview=FALSE; + cfile->nopreview = FALSE; + cfile->no_proc_sys_errors = FALSE; + cfile->keep_without_preview = FALSE; - if (current_file==-1) { - com=lives_strdup_printf("%s close \"%s\"",prefs->backend,cfile->handle); - lives_system(com,TRUE); + if (current_file == -1) { + com = lives_strdup_printf("%s close \"%s\"", prefs->backend, cfile->handle); + lives_system(com, TRUE); lives_free(com); lives_freep((void **)&cfile); - mainw->current_file=-1; + mainw->current_file = -1; } lives_free(dirname); lives_free(fname); lives_free(url); - mainw->img_concat_clip=-1; - mainw->no_switch_dprint=FALSE; + mainw->img_concat_clip = -1; + mainw->no_switch_dprint = FALSE; open_file(dfile); lives_free(dfile); - if (mainw->multitrack!=NULL) { - polymorph(mainw->multitrack,POLY_NONE); - polymorph(mainw->multitrack,POLY_CLIPS); + if (mainw->multitrack != NULL) { + polymorph(mainw->multitrack, POLY_NONE); + polymorph(mainw->multitrack, POLY_CLIPS); mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } - } - - void on_stop_clicked(LiVESMenuItem *menuitem, livespointer user_data) { // 'enough' button for open, open location, and record audio #ifdef ENABLE_JACK - if (mainw->jackd!=NULL&&mainw->jackd_read!=NULL&&mainw->jackd_read->in_use) { - mainw->cancelled=CANCEL_KEEP; + if (mainw->jackd != NULL && mainw->jackd_read != NULL && mainw->jackd_read->in_use) { + mainw->cancelled = CANCEL_KEEP; return; } #endif #ifdef HAVE_PULSE_AUDIO - if (mainw->pulsed!=NULL&&mainw->pulsed_read!=NULL&&mainw->pulsed->in_use) { - mainw->cancelled=CANCEL_KEEP; + if (mainw->pulsed != NULL && mainw->pulsed_read != NULL && mainw->pulsed->in_use) { + mainw->cancelled = CANCEL_KEEP; return; } #endif - lives_kill_subprocesses(cfile->handle,FALSE); + lives_kill_subprocesses(cfile->handle, FALSE); - if (mainw->current_file>-1&&cfile!=NULL&&cfile->proc_ptr!=NULL) { + if (mainw->current_file > -1 && cfile != NULL && cfile->proc_ptr != NULL) { lives_widget_set_sensitive(cfile->proc_ptr->stop_button, FALSE); - lives_widget_set_sensitive(cfile->proc_ptr->pause_button,FALSE); + lives_widget_set_sensitive(cfile->proc_ptr->pause_button, FALSE); lives_widget_set_sensitive(cfile->proc_ptr->preview_button, FALSE); lives_widget_set_sensitive(cfile->proc_ptr->cancel_button, FALSE); } // resume to allow return if (mainw->effects_paused) { - lives_suspend_resume_process(cfile->handle,FALSE); + lives_suspend_resume_process(cfile->handle, FALSE); } - } - - void on_save_as_activate(LiVESMenuItem *menuitem, livespointer user_data) { - - if (cfile->frames==0) { - on_export_audio_activate(NULL,NULL); + if (cfile->frames == 0) { + on_export_audio_activate(NULL, NULL); return; } - save_file(mainw->current_file,1,cfile->frames,NULL); + save_file(mainw->current_file, 1, cfile->frames, NULL); } void on_save_selection_activate(LiVESMenuItem *menuitem, livespointer user_data) { - save_file(mainw->current_file,cfile->start,cfile->end,NULL); + save_file(mainw->current_file, cfile->start, cfile->end, NULL); } static void check_remove_layout_files(void) { if (prompt_remove_layout_files()) { // delete layout directory - char *msg,*laydir=lives_build_filename(prefs->workdir,mainw->set_name,"layouts",NULL); - lives_rmdir(laydir,TRUE); + char *msg, *laydir = lives_build_filename(prefs->workdir, mainw->set_name, "layouts", NULL); + lives_rmdir(laydir, TRUE); lives_free(laydir); - msg=lives_strdup_printf(_("Layouts were removed for set %s.\n"),mainw->set_name); + msg = lives_strdup_printf(_("Layouts were removed for set %s.\n"), mainw->set_name); d_print(msg); lives_free(msg); } @@ -1031,67 +1002,67 @@ void on_close_activate(LiVESMenuItem *menuitem, livespointer user_data) { - char *warn,*extra; + char *warn, *extra; char title[256]; - boolean lmap_errors=FALSE,acurrent=FALSE,only_current=FALSE; + boolean lmap_errors = FALSE, acurrent = FALSE, only_current = FALSE; - if (mainw->multitrack!=NULL) { - if (mainw->multitrack->idlefunc>0) { + if (mainw->multitrack != NULL) { + if (mainw->multitrack->idlefunc > 0) { lives_source_remove(mainw->multitrack->idlefunc); - mainw->multitrack->idlefunc=0; + mainw->multitrack->idlefunc = 0; } mt_desensitise(mainw->multitrack); - mainw->current_file=mainw->multitrack->file_selected; + mainw->current_file = mainw->multitrack->file_selected; } - if (!(prefs->warning_mask&WARN_MASK_LAYOUT_CLOSE_FILE)) { - mainw->xlays=layout_frame_is_affected(mainw->current_file,1); - mainw->xlays=layout_audio_is_affected(mainw->current_file,0.); + if (!(prefs->warning_mask & WARN_MASK_LAYOUT_CLOSE_FILE)) { + mainw->xlays = layout_frame_is_affected(mainw->current_file, 1); + mainw->xlays = layout_audio_is_affected(mainw->current_file, 0.); - acurrent=used_in_current_layout(mainw->multitrack,mainw->current_file); + acurrent = used_in_current_layout(mainw->multitrack, mainw->current_file); if (acurrent) { - if (mainw->xlays==NULL) only_current=TRUE; - mainw->xlays=lives_list_append_unique(mainw->xlays,mainw->string_constants[LIVES_STRING_CONSTANT_CL]); + if (mainw->xlays == NULL) only_current = TRUE; + mainw->xlays = lives_list_append_unique(mainw->xlays, mainw->string_constants[LIVES_STRING_CONSTANT_CL]); } - if (mainw->xlays!=NULL) { - get_menu_text(cfile->menuentry,title); - if (strlen(title)>128) lives_snprintf(title,32,"%s",(_("This file"))); - if (acurrent) extra=lives_strdup(_(",\n - including the current layout - ")); - else extra=lives_strdup(""); - if (!only_current) warn=lives_strdup_printf(_("\n%s\nis used in some multitrack layouts%s.\n\nReally close it ?"), - title,extra); - else warn=lives_strdup_printf(_("\n%s\nis used in the current layout.\n\nReally close it ?"),title); + if (mainw->xlays != NULL) { + get_menu_text(cfile->menuentry, title); + if (strlen(title) > 128) lives_snprintf(title, 32, "%s", (_("This file"))); + if (acurrent) extra = lives_strdup(_(",\n - including the current layout - ")); + else extra = lives_strdup(""); + if (!only_current) warn = lives_strdup_printf(_("\n%s\nis used in some multitrack layouts%s.\n\nReally close it ?"), + title, extra); + else warn = lives_strdup_printf(_("\n%s\nis used in the current layout.\n\nReally close it ?"), title); lives_free(extra); if (!do_warning_dialog(warn)) { lives_free(warn); lives_list_free_all(&mainw->xlays); - if (mainw->multitrack!=NULL) { - mainw->current_file=mainw->multitrack->render_file; + if (mainw->multitrack != NULL) { + mainw->current_file = mainw->multitrack->render_file; mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } return; } lives_free(warn); - add_lmap_error(LMAP_ERROR_CLOSE_FILE,cfile->name,cfile->layout_map,0,1,0.,acurrent); - lmap_errors=TRUE; + add_lmap_error(LMAP_ERROR_CLOSE_FILE, cfile->name, cfile->layout_map, 0, 1, 0., acurrent); + lmap_errors = TRUE; lives_list_free_all(&mainw->xlays); } } if (!lmap_errors) { if (cfile->changed) { - get_menu_text(cfile->menuentry,title); - if (strlen(title)>128) lives_snprintf(title,32,"%s",(_("This file"))); - warn=lives_strdup(_("Changes made to this clip have not been saved or backed up.\n\nReally close it ?")); + get_menu_text(cfile->menuentry, title); + if (strlen(title) > 128) lives_snprintf(title, 32, "%s", (_("This file"))); + warn = lives_strdup(_("Changes made to this clip have not been saved or backed up.\n\nReally close it ?")); if (!do_warning_dialog(warn)) { lives_free(warn); - if (mainw->multitrack!=NULL) { - mainw->current_file=mainw->multitrack->render_file; + if (mainw->multitrack != NULL) { + mainw->current_file = mainw->multitrack->render_file; mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } return; @@ -1100,39 +1071,39 @@ } } - if (mainw->sl_undo_mem!=NULL&&(cfile->stored_layout_frame!=0||cfile->stored_layout_audio!=0.)) { + if (mainw->sl_undo_mem != NULL && (cfile->stored_layout_frame != 0 || cfile->stored_layout_audio != 0.)) { // need to invalidate undo/redo stack, in case file was used in some layout undo stored_event_list_free_undos(); } - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { event_list_free_undos(mainw->multitrack); } close_current_file(0); - if (mainw->multitrack!=NULL) { - mainw->current_file=mainw->multitrack->render_file; - polymorph(mainw->multitrack,POLY_NONE); - polymorph(mainw->multitrack,POLY_CLIPS); - if (mainw->multitrack->event_list!=NULL) only_current=FALSE; + if (mainw->multitrack != NULL) { + mainw->current_file = mainw->multitrack->render_file; + polymorph(mainw->multitrack, POLY_NONE); + polymorph(mainw->multitrack, POLY_CLIPS); + if (mainw->multitrack->event_list != NULL) only_current = FALSE; } - if (lmap_errors&&!only_current&&mainw->cliplist!=NULL) popup_lmap_errors(NULL,NULL); + if (lmap_errors && !only_current && mainw->cliplist != NULL) popup_lmap_errors(NULL, NULL); - if (mainw->cliplist==NULL&&strlen(mainw->set_name)>0) { + if (mainw->cliplist == NULL && strlen(mainw->set_name) > 0) { char *lfiles; char *ofile; char *sdir; char *cdir; - boolean has_layout_map=FALSE; + boolean has_layout_map = FALSE; // TODO - combine this with lives_exit and make into a function // check for layout maps - if (mainw->current_layouts_map!=NULL) { - has_layout_map=TRUE; + if (mainw->current_layouts_map != NULL) { + has_layout_map = TRUE; } if (has_layout_map) { @@ -1140,60 +1111,57 @@ recover_layout_cancelled(FALSE); } - cdir=lives_build_filename(prefs->workdir,mainw->set_name,"clips",NULL); + cdir = lives_build_filename(prefs->workdir, mainw->set_name, "clips", NULL); do { // keep trying until backend has deleted the clip - mainw->com_failed=FALSE; - lives_rmdir(cdir,FALSE); - if (lives_file_test(cdir,LIVES_FILE_TEST_IS_DIR)) { + mainw->com_failed = FALSE; + lives_rmdir(cdir, FALSE); + if (lives_file_test(cdir, LIVES_FILE_TEST_IS_DIR)) { lives_widget_context_update(); lives_usleep(prefs->sleep_time); } - } while (lives_file_test(cdir,LIVES_FILE_TEST_IS_DIR)); + } while (lives_file_test(cdir, LIVES_FILE_TEST_IS_DIR)); - mainw->com_failed=FALSE; + mainw->com_failed = FALSE; lives_free(cdir); - lfiles=lives_build_filename(prefs->workdir,mainw->set_name,"lock",NULL); + lfiles = lives_build_filename(prefs->workdir, mainw->set_name, "lock", NULL); lives_rmglob(lfiles); lives_free(lfiles); - ofile=lives_build_filename(prefs->workdir,mainw->set_name,"order",NULL); + ofile = lives_build_filename(prefs->workdir, mainw->set_name, "order", NULL); lives_rm(ofile); lives_free(ofile); - lives_sync(); - - sdir=lives_build_filename(prefs->workdir,mainw->set_name,NULL); - lives_rmdir(sdir,FALSE); + sdir = lives_build_filename(prefs->workdir, mainw->set_name, NULL); + lives_rmdir(sdir, FALSE); lives_free(sdir); - if (prefs->ar_clipset&&!strcmp(prefs->ar_clipset_name,mainw->set_name)) { - prefs->ar_clipset=FALSE; - memset(prefs->ar_clipset_name,0,1); - set_pref(PREF_AR_CLIPSET,""); + if (prefs->ar_clipset && !strcmp(prefs->ar_clipset_name, mainw->set_name)) { + prefs->ar_clipset = FALSE; + memset(prefs->ar_clipset_name, 0, 1); + set_pref(PREF_AR_CLIPSET, ""); } - memset(mainw->set_name,0,1); - mainw->was_set=FALSE; + memset(mainw->set_name, 0, 1); + mainw->was_set = FALSE; } - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } - } void on_import_proj_activate(LiVESMenuItem *menuitem, livespointer user_data) { char *com; - char *filt[]= {"*."LIVES_FILE_EXT_PROJECT,NULL}; - char *proj_file=choose_file(NULL,NULL,filt,LIVES_FILE_CHOOSER_ACTION_OPEN,NULL,NULL); + char *filt[] = {"*."LIVES_FILE_EXT_PROJECT, NULL}; + char *proj_file = choose_file(NULL, NULL, filt, LIVES_FILE_CHOOSER_ACTION_OPEN, NULL, NULL); char *info_file; char *new_set; int info_fd; @@ -1201,12 +1169,12 @@ char *set_dir; char *msg; - if (proj_file==NULL) return; - info_file=lives_strdup_printf("%s/.impname.%d",prefs->workdir,capable->mainpid); + if (proj_file == NULL) return; + info_file = lives_strdup_printf("%s/.impname.%d", prefs->workdir, capable->mainpid); lives_rm(info_file); - mainw->com_failed=FALSE; - com=lives_strdup_printf("%s get_proj_set \"%s\">\"%s\"",prefs->backend_sync,proj_file,info_file); - lives_system(com,FALSE); + mainw->com_failed = FALSE; + com = lives_strdup_printf("%s get_proj_set \"%s\">\"%s\"", prefs->backend_sync, proj_file, info_file); + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { @@ -1215,13 +1183,13 @@ return; } - info_fd=lives_open2(info_file,O_RDONLY); + info_fd = lives_open2(info_file, O_RDONLY); - if (info_fd>=0&&((bytes=read(info_fd,mainw->msg,256))>0)) { + if (info_fd >= 0 && ((bytes = read(info_fd, mainw->msg, 256)) > 0)) { close(info_fd); - memset(mainw->msg+bytes,0,1); + memset(mainw->msg + bytes, 0, 1); } else { - if (info_fd>=0) close(info_fd); + if (info_fd >= 0) close(info_fd); lives_rm(info_file); lives_free(info_file); lives_free(proj_file); @@ -1232,17 +1200,17 @@ lives_rm(info_file); lives_free(info_file); - if (!is_legal_set_name(mainw->msg,TRUE)) return; + if (!is_legal_set_name(mainw->msg, TRUE)) return; - new_set=lives_strdup(mainw->msg); - set_dir=lives_build_filename(prefs->workdir,new_set,NULL); + new_set = lives_strdup(mainw->msg); + set_dir = lives_build_filename(prefs->workdir, new_set, NULL); - if (lives_file_test(set_dir,LIVES_FILE_TEST_IS_DIR)) { - msg=lives_strdup_printf( - _("\nA set called %s already exists.\nIn order to import this project, you must rename or delete the existing set.\n" - "You can do this by File|Reload Set, and giving the set name\n%s\nthen File|Close/Save all Clips and provide a new set name or discard it.\n" - "Once you have done this, you will be able to import the new project.\n"), - new_set,new_set); + if (lives_file_test(set_dir, LIVES_FILE_TEST_IS_DIR)) { + msg = lives_strdup_printf( + _("\nA set called %s already exists.\nIn order to import this project, you must rename or delete the existing set.\n" + "You can do this by File|Reload Set, and giving the set name\n%s\nthen File|Close/Save all Clips and provide a new set name or discard it.\n" + "Once you have done this, you will be able to import the new project.\n"), + new_set, new_set); do_blocking_error_dialog(msg); lives_free(msg); lives_free(proj_file); @@ -1252,16 +1220,16 @@ lives_free(set_dir); - d_print(_("Importing the project %s as set %s..."),proj_file,new_set); + d_print(_("Importing the project %s as set %s..."), proj_file, new_set); - if (!get_temp_handle(mainw->first_free_file,TRUE)) { + if (!get_temp_handle(mainw->first_free_file, TRUE)) { d_print_failed(); return; } - com=lives_strdup_printf("%s import_project \"%s\" \"%s\"",prefs->backend,cfile->handle,proj_file); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + com = lives_strdup_printf("%s import_project \"%s\" \"%s\"", prefs->backend, cfile->handle, proj_file); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); lives_free(proj_file); @@ -1270,14 +1238,14 @@ return; } - do_progress_dialog(TRUE,FALSE,_("Importing project")); + do_progress_dialog(TRUE, FALSE, _("Importing project")); - com=lives_strdup_printf("%s close \"%s\"",prefs->backend,cfile->handle); - lives_system(com,TRUE); + com = lives_strdup_printf("%s close \"%s\"", prefs->backend, cfile->handle); + lives_system(com, TRUE); lives_free(com); lives_freep((void **)&cfile); - if (mainw->first_free_file==-1||mainw->first_free_file>mainw->current_file) mainw->first_free_file=mainw->current_file; - mainw->current_file=-1; + if (mainw->first_free_file == -1 || mainw->first_free_file > mainw->current_file) mainw->first_free_file = mainw->current_file; + mainw->current_file = -1; sensitize(); if (mainw->error) { @@ -1293,67 +1261,66 @@ } - void on_export_proj_activate(LiVESMenuItem *menuitem, livespointer user_data) { - char *filt[]= {"*."LIVES_FILE_EXT_PROJECT,NULL}; + char *filt[] = {"*."LIVES_FILE_EXT_PROJECT, NULL}; char *def_file; char *proj_file; - char *com,*tmp; + char *com, *tmp; - if (strlen(mainw->set_name)==0) { + if (strlen(mainw->set_name) == 0) { int response; char new_set_name[MAX_SET_NAME_LEN]; do { // prompt for a set name, advise user to save set - renamew=create_rename_dialog(5); + renamew = create_rename_dialog(5); lives_widget_show_all(renamew->dialog); - response=lives_dialog_run(LIVES_DIALOG(renamew->dialog)); - if (response==LIVES_RESPONSE_CANCEL) { - mainw->cancelled=CANCEL_USER; + response = lives_dialog_run(LIVES_DIALOG(renamew->dialog)); + if (response == LIVES_RESPONSE_CANCEL) { + mainw->cancelled = CANCEL_USER; return; } - lives_snprintf(new_set_name,MAX_SET_NAME_LEN,"%s",(tmp=U82F(lives_entry_get_text(LIVES_ENTRY(renamew->entry))))); + lives_snprintf(new_set_name, MAX_SET_NAME_LEN, "%s", (tmp = U82F(lives_entry_get_text(LIVES_ENTRY(renamew->entry))))); lives_widget_destroy(renamew->dialog); lives_freep((void **)&renamew); lives_free(tmp); lives_widget_context_update(); - } while (!is_legal_set_name(new_set_name,FALSE)); - lives_snprintf(mainw->set_name,MAX_SET_NAME_LEN,"%s",new_set_name); + } while (!is_legal_set_name(new_set_name, FALSE)); + lives_snprintf(mainw->set_name, MAX_SET_NAME_LEN, "%s", new_set_name); } - if (mainw->stored_event_list!=NULL&&mainw->stored_event_list_changed) { - if (!check_for_layout_del(NULL,FALSE)) return; + if (mainw->stored_event_list != NULL && mainw->stored_event_list_changed) { + if (!check_for_layout_del(NULL, FALSE)) return; } - if (mainw->sl_undo_mem!=NULL) stored_event_list_free_undos(); + if (mainw->sl_undo_mem != NULL) stored_event_list_free_undos(); if (!mainw->was_set) { - mainw->no_exit=TRUE; - on_save_set_activate(NULL,mainw->set_name); - mainw->no_exit=FALSE; - mainw->was_set=TRUE; - if (mainw->multitrack!=NULL&&!mainw->multitrack->changed) recover_layout_cancelled(FALSE); + mainw->no_exit = TRUE; + on_save_set_activate(NULL, mainw->set_name); + mainw->no_exit = FALSE; + mainw->was_set = TRUE; + if (mainw->multitrack != NULL && !mainw->multitrack->changed) recover_layout_cancelled(FALSE); } - def_file=lives_strdup_printf("%s.%s",mainw->set_name,LIVES_FILE_EXT_PROJECT); - proj_file=choose_file(NULL,def_file,filt,LIVES_FILE_CHOOSER_ACTION_SAVE,NULL,NULL); + def_file = lives_strdup_printf("%s.%s", mainw->set_name, LIVES_FILE_EXT_PROJECT); + proj_file = choose_file(NULL, def_file, filt, LIVES_FILE_CHOOSER_ACTION_SAVE, NULL, NULL); lives_free(def_file); - if (proj_file==NULL) return; + if (proj_file == NULL) return; - lives_rm((tmp=lives_filename_from_utf8(proj_file,-1,NULL,NULL,NULL))); + lives_rm((tmp = lives_filename_from_utf8(proj_file, -1, NULL, NULL, NULL))); lives_free(tmp); - if (!check_file(proj_file,FALSE)) { + if (!check_file(proj_file, FALSE)) { lives_free(proj_file); return; } - d_print(_("Exporting project %s..."),proj_file); + d_print(_("Exporting project %s..."), proj_file); - com=lives_strdup_printf("%s export_project \"%s\" \"%s\" \"%s\"",prefs->backend,cfile->handle,mainw->set_name,proj_file); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + com = lives_strdup_printf("%s export_project \"%s\" \"%s\" \"%s\"", prefs->backend, cfile->handle, mainw->set_name, proj_file); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { @@ -1362,10 +1329,10 @@ return; } - cfile->op_dir=lives_filename_from_utf8((tmp=get_dir(proj_file)),-1,NULL,NULL,NULL); + cfile->op_dir = lives_filename_from_utf8((tmp = get_dir(proj_file)), -1, NULL, NULL, NULL); lives_free(tmp); - do_progress_dialog(TRUE,FALSE,_("Exporting project")); + do_progress_dialog(TRUE, FALSE, _("Exporting project")); if (mainw->error) d_print_failed(); else d_print_done(); @@ -1374,126 +1341,123 @@ } - void on_export_theme_activate(LiVESMenuItem *menuitem, livespointer user_data) { lives_colRGBA64_t lcol; - char *filt[]= {"*."LIVES_FILE_EXT_TAR_GZ,NULL}; + char *filt[] = {"*."LIVES_FILE_EXT_TAR_GZ, NULL}; char theme_name[128]; - char *file_name,*tmp,*tmp2,*com,*fname; - char *sepimg_ext,*frameimg_ext,*sepimg,*frameimg; - char *dfile,*themefile; + char *file_name, *tmp, *tmp2, *com, *fname; + char *sepimg_ext, *frameimg_ext, *sepimg, *frameimg; + char *dfile, *themefile; char *pstyle; int response; do { // prompt for a set name, advise user to save set - renamew=create_rename_dialog(8); + renamew = create_rename_dialog(8); lives_widget_show_all(renamew->dialog); - response=lives_dialog_run(LIVES_DIALOG(renamew->dialog)); - if (response==LIVES_RESPONSE_CANCEL) return; - lives_snprintf(theme_name,128,"%s",(tmp=U82F(lives_entry_get_text(LIVES_ENTRY(renamew->entry))))); + response = lives_dialog_run(LIVES_DIALOG(renamew->dialog)); + if (response == LIVES_RESPONSE_CANCEL) return; + lives_snprintf(theme_name, 128, "%s", (tmp = U82F(lives_entry_get_text(LIVES_ENTRY(renamew->entry))))); lives_widget_destroy(renamew->dialog); lives_freep((void **)&renamew); lives_free(tmp); lives_widget_context_update(); - } while (!do_std_checks(U82F(theme_name),_("Theme"),64,NULL)); + } while (!do_std_checks(U82F(theme_name), _("Theme"), 64, NULL)); - fname=lives_strdup_printf("%s.%s",theme_name,LIVES_FILE_EXT_TAR_GZ); + fname = lives_strdup_printf("%s.%s", theme_name, LIVES_FILE_EXT_TAR_GZ); - file_name=choose_file(capable->home_dir,fname,filt, - LIVES_FILE_CHOOSER_ACTION_SAVE,_("Choose a directory to export to"),NULL); + file_name = choose_file(capable->home_dir, fname, filt, + LIVES_FILE_CHOOSER_ACTION_SAVE, _("Choose a directory to export to"), NULL); lives_free(fname); - if (file_name==NULL) { + if (file_name == NULL) { return; } - // create a header.theme file in tmp, then zip it up with the images - sepimg_ext=get_extension(mainw->sepimg_path); - frameimg_ext=get_extension(mainw->frameblank_path); + sepimg_ext = get_extension(mainw->sepimg_path); + frameimg_ext = get_extension(mainw->frameblank_path); - dfile=lives_strdup_printf("%s"LIVES_DIR_SEP"theme%d"LIVES_DIR_SEP,prefs->workdir,capable->mainpid); - themefile=lives_build_filename(dfile,"header.theme",NULL); + dfile = lives_strdup_printf("%s"LIVES_DIR_SEP"theme%d"LIVES_DIR_SEP, prefs->workdir, capable->mainpid); + themefile = lives_build_filename(dfile, "header.theme", NULL); #ifdef GUI_GTK -#if !GTK_CHECK_VERSION(3,0,0) +#if !GTK_CHECK_VERSION(3, 0, 0) lives_free(themefile); - themefile=lives_build_filename(dfile,"header.theme_gtk2",NULL); + themefile = lives_build_filename(dfile, "header.theme_gtk2", NULL); #endif #endif - sepimg=lives_strdup_printf("%s"LIVES_DIR_SEP"main.%s",dfile,sepimg_ext); - frameimg=lives_strdup_printf("%s"LIVES_DIR_SEP"frame.%s",dfile,frameimg_ext); + sepimg = lives_strdup_printf("%s"LIVES_DIR_SEP"main.%s", dfile, sepimg_ext); + frameimg = lives_strdup_printf("%s"LIVES_DIR_SEP"frame.%s", dfile, frameimg_ext); lives_free(sepimg_ext); lives_free(frameimg_ext); - lives_mkdir_with_parents(dfile,capable->umask); + lives_mkdir_with_parents(dfile, capable->umask); - set_theme_pref(themefile,THEME_DETAIL_NAME,theme_name); + set_theme_pref(themefile, THEME_DETAIL_NAME, theme_name); - pstyle=lives_strdup_printf("%d",palette->style); - set_theme_pref(themefile,THEME_DETAIL_STYLE,pstyle); + pstyle = lives_strdup_printf("%d", palette->style); + set_theme_pref(themefile, THEME_DETAIL_STYLE, pstyle); lives_free(pstyle); - widget_color_to_lives_rgba(&lcol,&palette->normal_fore); - set_theme_colour_pref(themefile,THEME_DETAIL_NORMAL_FORE,&lcol); - - widget_color_to_lives_rgba(&lcol,&palette->normal_back); - set_theme_colour_pref(themefile,THEME_DETAIL_NORMAL_BACK,&lcol); + widget_color_to_lives_rgba(&lcol, &palette->normal_fore); + set_theme_colour_pref(themefile, THEME_DETAIL_NORMAL_FORE, &lcol); - widget_color_to_lives_rgba(&lcol,&palette->menu_and_bars_fore); - set_theme_colour_pref(themefile,THEME_DETAIL_ALT_FORE,&lcol); + widget_color_to_lives_rgba(&lcol, &palette->normal_back); + set_theme_colour_pref(themefile, THEME_DETAIL_NORMAL_BACK, &lcol); - widget_color_to_lives_rgba(&lcol,&palette->menu_and_bars); - set_theme_colour_pref(themefile,THEME_DETAIL_ALT_BACK,&lcol); + widget_color_to_lives_rgba(&lcol, &palette->menu_and_bars_fore); + set_theme_colour_pref(themefile, THEME_DETAIL_ALT_FORE, &lcol); - widget_color_to_lives_rgba(&lcol,&palette->info_text); - set_theme_colour_pref(themefile,THEME_DETAIL_INFO_TEXT,&lcol); + widget_color_to_lives_rgba(&lcol, &palette->menu_and_bars); + set_theme_colour_pref(themefile, THEME_DETAIL_ALT_BACK, &lcol); - widget_color_to_lives_rgba(&lcol,&palette->info_base); - set_theme_colour_pref(themefile,THEME_DETAIL_INFO_BASE,&lcol); + widget_color_to_lives_rgba(&lcol, &palette->info_text); + set_theme_colour_pref(themefile, THEME_DETAIL_INFO_TEXT, &lcol); + widget_color_to_lives_rgba(&lcol, &palette->info_base); + set_theme_colour_pref(themefile, THEME_DETAIL_INFO_BASE, &lcol); if (mainw->fx1_bool) { - widget_color_to_lives_rgba(&lcol,&palette->mt_timecode_fg); - set_theme_colour_pref(themefile,THEME_DETAIL_MT_TCFG,&lcol); + widget_color_to_lives_rgba(&lcol, &palette->mt_timecode_fg); + set_theme_colour_pref(themefile, THEME_DETAIL_MT_TCFG, &lcol); - widget_color_to_lives_rgba(&lcol,&palette->mt_timecode_bg); - set_theme_colour_pref(themefile,THEME_DETAIL_MT_TCBG,&lcol); + widget_color_to_lives_rgba(&lcol, &palette->mt_timecode_bg); + set_theme_colour_pref(themefile, THEME_DETAIL_MT_TCBG, &lcol); - set_theme_colour_pref(themefile,THEME_DETAIL_AUDCOL,&palette->audcol); - set_theme_colour_pref(themefile,THEME_DETAIL_VIDCOL,&palette->vidcol); - set_theme_colour_pref(themefile,THEME_DETAIL_FXCOL,&palette->fxcol); + set_theme_colour_pref(themefile, THEME_DETAIL_AUDCOL, &palette->audcol); + set_theme_colour_pref(themefile, THEME_DETAIL_VIDCOL, &palette->vidcol); + set_theme_colour_pref(themefile, THEME_DETAIL_FXCOL, &palette->fxcol); - set_theme_colour_pref(themefile,THEME_DETAIL_MT_TLREG,&palette->mt_timeline_reg); - set_theme_colour_pref(themefile,THEME_DETAIL_MT_MARK,&palette->mt_mark); - set_theme_colour_pref(themefile,THEME_DETAIL_MT_EVBOX,&palette->mt_evbox); + set_theme_colour_pref(themefile, THEME_DETAIL_MT_TLREG, &palette->mt_timeline_reg); + set_theme_colour_pref(themefile, THEME_DETAIL_MT_MARK, &palette->mt_mark); + set_theme_colour_pref(themefile, THEME_DETAIL_MT_EVBOX, &palette->mt_evbox); - set_theme_colour_pref(themefile,THEME_DETAIL_FRAME_SURROUND,&palette->frame_surround); + set_theme_colour_pref(themefile, THEME_DETAIL_FRAME_SURROUND, &palette->frame_surround); - set_theme_colour_pref(themefile,THEME_DETAIL_CE_SEL,&palette->ce_sel); - set_theme_colour_pref(themefile,THEME_DETAIL_CE_UNSEL,&palette->ce_unsel); + set_theme_colour_pref(themefile, THEME_DETAIL_CE_SEL, &palette->ce_sel); + set_theme_colour_pref(themefile, THEME_DETAIL_CE_UNSEL, &palette->ce_unsel); } lives_free(themefile); - tmp=lives_strdup_printf(_("Exporting theme as %s..."),file_name); + tmp = lives_strdup_printf(_("Exporting theme as %s..."), file_name); d_print(tmp); lives_free(tmp); // copy images for packaging - mainw->com_failed=FALSE; - lives_cp(mainw->sepimg_path,sepimg); + mainw->com_failed = FALSE; + lives_cp(mainw->sepimg_path, sepimg); lives_free(sepimg); if (mainw->com_failed) { - lives_rmdir(dfile,TRUE); + lives_rmdir(dfile, TRUE); lives_free(frameimg); lives_free(file_name); lives_free(dfile); @@ -1501,32 +1465,31 @@ return; } - lives_cp(mainw->frameblank_path,frameimg); + lives_cp(mainw->frameblank_path, frameimg); lives_free(frameimg); if (mainw->com_failed) { - lives_rmdir(dfile,TRUE); + lives_rmdir(dfile, TRUE); lives_free(file_name); lives_free(dfile); d_print_failed(); return; } - - com=lives_strdup_printf("%s create_package \"%s\" \"%s\"",prefs->backend_sync, - (tmp=lives_filename_from_utf8(file_name,-1,NULL,NULL,NULL)), - (tmp2=lives_filename_from_utf8(dfile,-1,NULL,NULL,NULL))); + com = lives_strdup_printf("%s create_package \"%s\" \"%s\"", prefs->backend_sync, + (tmp = lives_filename_from_utf8(file_name, -1, NULL, NULL, NULL)), + (tmp2 = lives_filename_from_utf8(dfile, -1, NULL, NULL, NULL))); lives_free(tmp); lives_free(tmp2); lives_free(file_name); - mainw->com_failed=FALSE; + mainw->com_failed = FALSE; - lives_system(com,TRUE); + lives_system(com, TRUE); lives_free(com); - lives_rmdir(dfile,TRUE); + lives_rmdir(dfile, TRUE); lives_free(dfile); if (mainw->com_failed) { @@ -1535,119 +1498,116 @@ } d_print_done(); - } - void on_import_theme_activate(LiVESMenuItem *menuitem, livespointer user_data) { - char *filt[]= {"*."LIVES_FILE_EXT_TAR_GZ,NULL}; + char *filt[] = {"*."LIVES_FILE_EXT_TAR_GZ, NULL}; char tname[128]; - char *importcheckdir,*themeheader,*themedir; - char *com,*msg; + char *importcheckdir, *themeheader, *themedir; + char *com, *msg; char *theme_file; - theme_file=choose_file(NULL,NULL,filt,LIVES_FILE_CHOOSER_ACTION_OPEN,NULL,NULL); + theme_file = choose_file(NULL, NULL, filt, LIVES_FILE_CHOOSER_ACTION_OPEN, NULL, NULL); - if (theme_file==NULL) return; + if (theme_file == NULL) return; - lives_set_cursor_style(LIVES_CURSOR_BUSY,NULL); + lives_set_cursor_style(LIVES_CURSOR_BUSY, NULL); lives_widget_context_update(); - importcheckdir=lives_build_filename(prefs->workdir,"imports",NULL); - lives_rmdir(importcheckdir,TRUE); + importcheckdir = lives_build_filename(prefs->workdir, "imports", NULL); + lives_rmdir(importcheckdir, TRUE); // unpackage file to get the theme name - mainw->com_failed=FALSE; - com=lives_strdup_printf("%s import_package \"%s\" \"%s\"",prefs->backend_sync,U82F(theme_file),importcheckdir); - lives_system(com,FALSE); + mainw->com_failed = FALSE; + com = lives_strdup_printf("%s import_package \"%s\" \"%s\"", prefs->backend_sync, U82F(theme_file), importcheckdir); + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { - lives_rmdir(importcheckdir,TRUE); + lives_rmdir(importcheckdir, TRUE); lives_free(importcheckdir); lives_free(theme_file); - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); return; } - themeheader=lives_build_filename(prefs->workdir,"imports","header.theme",NULL); + themeheader = lives_build_filename(prefs->workdir, "imports", "header.theme", NULL); - if (get_pref_from_file(themeheader,THEME_DETAIL_NAME,tname,128)!=LIVES_RESPONSE_NONE) { + if (get_pref_from_file(themeheader, THEME_DETAIL_NAME, tname, 128) != LIVES_RESPONSE_NONE) { // failed to get name - lives_rmdir(importcheckdir,TRUE); + lives_rmdir(importcheckdir, TRUE); lives_free(importcheckdir); lives_free(themeheader); - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); do_bad_theme_import_error(theme_file); lives_free(theme_file); return; } - lives_rmdir(importcheckdir,TRUE); + lives_rmdir(importcheckdir, TRUE); lives_free(importcheckdir); lives_free(themeheader); - msg=lives_strdup_printf(_("Importing theme \"%s\" from %s..."),tname,theme_file); + msg = lives_strdup_printf(_("Importing theme \"%s\" from %s..."), tname, theme_file); d_print(msg); lives_free(msg); - if (!do_std_checks(U82F(tname),_("Theme"),64,NULL)) { + if (!do_std_checks(U82F(tname), _("Theme"), 64, NULL)) { lives_free(theme_file); d_print_failed(); - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); return; } // check for existing dupes - themedir=lives_build_filename(capable->home_dir,LIVES_CONFIG_DIR,PLUGIN_THEMES,tname,NULL); + themedir = lives_build_filename(capable->home_dir, LIVES_CONFIG_DIR, PLUGIN_THEMES, tname, NULL); - if (lives_file_test(themedir,LIVES_FILE_TEST_IS_DIR)) { + if (lives_file_test(themedir, LIVES_FILE_TEST_IS_DIR)) { if (!do_theme_exists_warn(tname)) { - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); lives_free(themedir); lives_free(theme_file); d_print_failed(); return; } - lives_rmdir(themedir,TRUE); + lives_rmdir(themedir, TRUE); } - // name was OK, unpack into custom dir - mainw->com_failed=FALSE; - com=lives_strdup_printf("%s import_package \"%s\" \"%s\"",prefs->backend_sync,U82F(theme_file),themedir); - lives_system(com,FALSE); + mainw->com_failed = FALSE; + com = lives_strdup_printf("%s import_package \"%s\" \"%s\"", prefs->backend_sync, U82F(theme_file), themedir); + lives_system(com, FALSE); lives_free(com); lives_free(theme_file); if (mainw->com_failed) { - lives_rmdir(themedir,TRUE); + lives_rmdir(themedir, TRUE); lives_free(themedir); d_print_failed(); - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); return; } lives_free(themedir); - lives_snprintf(prefs->theme,64,"%s",tname); + lives_snprintf(prefs->theme, 64, "%s", tname); // try to set theme colours if (!set_palette_colours(TRUE)) { - lives_snprintf(prefs->theme,64,"%s",future_prefs->theme); + lives_snprintf(prefs->theme, 64, "%s", future_prefs->theme); d_print_failed(); - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); return; } - lives_snprintf(future_prefs->theme,64,"%s",prefs->theme); - set_pref(PREF_GUI_THEME,prefs->theme); + lives_snprintf(future_prefs->theme, 64, "%s", prefs->theme); + set_pref(PREF_GUI_THEME, prefs->theme); load_theme_images(); pref_change_images(); @@ -1655,74 +1615,71 @@ pref_change_xcolours(); d_print_done(); - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); - + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); } void on_backup_activate(LiVESMenuItem *menuitem, livespointer user_data) { - char *filt[]= {"*."LIVES_FILE_EXT_BACKUP,NULL}; + char *filt[] = {"*."LIVES_FILE_EXT_BACKUP, NULL}; char *file_name; - char *defname,*text; + char *defname, *text; - defname=lives_strdup_printf("%s.%s",cfile->name,LIVES_FILE_EXT_BACKUP); + defname = lives_strdup_printf("%s.%s", cfile->name, LIVES_FILE_EXT_BACKUP); - text=lives_strdup_printf(_("Backup as %s File"),LIVES_FILE_EXT_BACKUP); + text = lives_strdup_printf(_("Backup as %s File"), LIVES_FILE_EXT_BACKUP); - file_name=choose_file(strlen(mainw->proj_save_dir)?mainw->proj_save_dir:NULL,defname,filt, - LIVES_FILE_CHOOSER_ACTION_SAVE,text,NULL); + file_name = choose_file(strlen(mainw->proj_save_dir) ? mainw->proj_save_dir : NULL, defname, filt, + LIVES_FILE_CHOOSER_ACTION_SAVE, text, NULL); lives_free(text); lives_free(defname); - if (file_name==NULL) return; + if (file_name == NULL) return; - backup_file(mainw->current_file,1,cfile->frames,file_name); + backup_file(mainw->current_file, 1, cfile->frames, file_name); - lives_snprintf(mainw->proj_save_dir,PATH_MAX,"%s",file_name); + lives_snprintf(mainw->proj_save_dir, PATH_MAX, "%s", file_name); get_dirname(mainw->proj_save_dir); lives_free(file_name); } - void on_restore_activate(LiVESMenuItem *menuitem, livespointer user_data) { - char *filt[]= {"*."LIVES_FILE_EXT_BACKUP,NULL}; - char *file_name,*text; + char *filt[] = {"*."LIVES_FILE_EXT_BACKUP, NULL}; + char *file_name, *text; - text=lives_strdup_printf(_("Restore %s File"),LIVES_FILE_EXT_BACKUP); + text = lives_strdup_printf(_("Restore %s File"), LIVES_FILE_EXT_BACKUP); - file_name=choose_file(strlen(mainw->proj_load_dir)?mainw->proj_load_dir:NULL,text,filt, - LIVES_FILE_CHOOSER_ACTION_OPEN,text,NULL); + file_name = choose_file(strlen(mainw->proj_load_dir) ? mainw->proj_load_dir : NULL, text, filt, + LIVES_FILE_CHOOSER_ACTION_OPEN, text, NULL); lives_free(text); - if (file_name==NULL) return; + if (file_name == NULL) return; restore_file(file_name); - lives_snprintf(mainw->proj_load_dir,PATH_MAX,"%s",file_name); + lives_snprintf(mainw->proj_load_dir, PATH_MAX, "%s", file_name); get_dirname(mainw->proj_load_dir); lives_free(file_name); } - void mt_memory_free(void) { int i; threaded_dialog_spin(0.); - mainw->multitrack->no_expose=TRUE; + mainw->multitrack->no_expose = TRUE; - if (mainw->current_file>-1&&cfile->achans>0) { - delete_audio_tracks(mainw->multitrack,mainw->multitrack->audio_draws,FALSE); - if (mainw->multitrack->audio_vols!=NULL) lives_list_free(mainw->multitrack->audio_vols); + if (mainw->current_file > -1 && cfile->achans > 0) { + delete_audio_tracks(mainw->multitrack, mainw->multitrack->audio_draws, FALSE); + if (mainw->multitrack->audio_vols != NULL) lives_list_free(mainw->multitrack->audio_vols); } - if (mainw->multitrack->video_draws!=NULL) { - for (i=0; i<mainw->multitrack->num_video_tracks; i++) { - delete_video_track(mainw->multitrack,i,FALSE); + if (mainw->multitrack->video_draws != NULL) { + for (i = 0; i < mainw->multitrack->num_video_tracks; i++) { + delete_video_track(mainw->multitrack, i, FALSE); } lives_list_free(mainw->multitrack->video_draws); } @@ -1732,10 +1689,10 @@ lives_list_free(mainw->multitrack->tl_marks); - if (mainw->multitrack->event_list!=NULL) event_list_free(mainw->multitrack->event_list); - mainw->multitrack->event_list=NULL; + if (mainw->multitrack->event_list != NULL) event_list_free(mainw->multitrack->event_list); + mainw->multitrack->event_list = NULL; - if (mainw->multitrack->undo_mem!=NULL) event_list_free_undos(mainw->multitrack); + if (mainw->multitrack->undo_mem != NULL) event_list_free_undos(mainw->multitrack); recover_layout_cancelled(FALSE); @@ -1743,124 +1700,122 @@ } - - void on_quit_activate(LiVESMenuItem *menuitem, livespointer user_data) { - char *msg,*tmp; + char *msg, *tmp; - boolean has_layout_map=FALSE; - boolean had_clips=FALSE,legal_set_name; + boolean has_layout_map = FALSE; + boolean had_clips = FALSE, legal_set_name; - if (user_data!=NULL&&LIVES_POINTER_TO_INT(user_data)==1) mainw->only_close=TRUE; - else mainw->only_close=FALSE; + if (user_data != NULL && LIVES_POINTER_TO_INT(user_data) == 1) mainw->only_close = TRUE; + else mainw->only_close = FALSE; // stop if playing - if (mainw->playing_file>-1) { - mainw->cancelled=CANCEL_APP_QUIT; + if (mainw->playing_file > -1) { + mainw->cancelled = CANCEL_APP_QUIT; return; } - if (mainw->multitrack!=NULL) { - if (mainw->multitrack->idlefunc>0) { + if (mainw->multitrack != NULL) { + if (mainw->multitrack->idlefunc > 0) { lives_source_remove(mainw->multitrack->idlefunc); - mainw->multitrack->idlefunc=0; + mainw->multitrack->idlefunc = 0; } mt_desensitise(mainw->multitrack); } - if (mainw->multitrack!=NULL&&mainw->multitrack->event_list!=NULL) { + if (mainw->multitrack != NULL && mainw->multitrack->event_list != NULL) { if (mainw->only_close) { - if (!check_for_layout_del(mainw->multitrack,FALSE)) { - if (mainw->multitrack!=NULL) { + if (!check_for_layout_del(mainw->multitrack, FALSE)) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } return; } } } - if (mainw->stored_event_list!=NULL&&mainw->stored_event_list_changed) { - if (!check_for_layout_del(NULL,FALSE)) return; - } else if (mainw->stored_layout_undos!=NULL) { + if (mainw->stored_event_list != NULL && mainw->stored_event_list_changed) { + if (!check_for_layout_del(NULL, FALSE)) return; + } else if (mainw->stored_layout_undos != NULL) { stored_event_list_free_undos(); } // do not popup layout errors if the set name changes - if (!mainw->only_close) mainw->is_exiting=TRUE; + if (!mainw->only_close) mainw->is_exiting = TRUE; - if (mainw->scrap_file>-1) close_scrap_file(); - if (mainw->ascrap_file>-1) close_ascrap_file(); + if (mainw->scrap_file > -1) close_scrap_file(); + if (mainw->ascrap_file > -1) close_ascrap_file(); - if (mainw->clips_available>0) { + if (mainw->clips_available > 0) { char *set_name; - _entryw *cdsw=create_cds_dialog(1); + _entryw *cdsw = create_cds_dialog(1); int resp; - had_clips=TRUE; + had_clips = TRUE; do { - legal_set_name=TRUE; + legal_set_name = TRUE; lives_widget_show_all(cdsw->dialog); - resp=lives_dialog_run(LIVES_DIALOG(cdsw->dialog)); - if (resp==LIVES_RESPONSE_CANCEL) { + resp = lives_dialog_run(LIVES_DIALOG(cdsw->dialog)); + if (resp == LIVES_RESPONSE_CANCEL) { lives_widget_destroy(cdsw->dialog); lives_free(cdsw); - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } return; } - if (resp==2) { + if (resp == 2) { // save set - if ((legal_set_name=is_legal_set_name((set_name=U82F(lives_entry_get_text(LIVES_ENTRY(cdsw->entry)))),TRUE))) { + if ((legal_set_name = is_legal_set_name((set_name = U82F(lives_entry_get_text(LIVES_ENTRY(cdsw->entry)))), TRUE))) { lives_widget_destroy(cdsw->dialog); lives_free(cdsw); - if (prefs->ar_clipset) set_pref(PREF_AR_CLIPSET,set_name); - else set_pref(PREF_AR_CLIPSET,""); - mainw->no_exit=FALSE; - mainw->leave_recovery=FALSE; - on_save_set_activate(NULL,(tmp=U82F(set_name))); + if (prefs->ar_clipset) set_pref(PREF_AR_CLIPSET, set_name); + else set_pref(PREF_AR_CLIPSET, ""); + mainw->no_exit = FALSE; + mainw->leave_recovery = FALSE; + on_save_set_activate(NULL, (tmp = U82F(set_name))); lives_free(tmp); - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } lives_free(set_name); return; } - legal_set_name=FALSE; + legal_set_name = FALSE; lives_widget_hide(cdsw->dialog); lives_free(set_name); } - if (mainw->was_set&&legal_set_name) { + if (mainw->was_set && legal_set_name) { if (!do_warning_dialog(_("\n\nSet will be deleted from the disk.\nAre you sure ?\n"))) { - resp=2; + resp = 2; } } - } while (resp==2); + } while (resp == 2); // discard clipset lives_widget_destroy(cdsw->dialog); lives_free(cdsw); - set_pref(PREF_AR_CLIPSET,""); - prefs->ar_clipset=FALSE; + set_pref(PREF_AR_CLIPSET, ""); + prefs->ar_clipset = FALSE; - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { event_list_free_undos(mainw->multitrack); - if (mainw->multitrack->event_list!=NULL) { + if (mainw->multitrack->event_list != NULL) { event_list_free(mainw->multitrack->event_list); - mainw->multitrack->event_list=NULL; + mainw->multitrack->event_list = NULL; } } // check for layout maps - if (mainw->current_layouts_map!=NULL) { - has_layout_map=TRUE; + if (mainw->current_layouts_map != NULL) { + has_layout_map = TRUE; } if (has_layout_map) { @@ -1868,133 +1823,130 @@ } } - if (mainw->multitrack!=NULL&&!mainw->only_close) mt_memory_free(); - else if (mainw->multitrack!=NULL) wipe_layout(mainw->multitrack); + if (mainw->multitrack != NULL && !mainw->only_close) mt_memory_free(); + else if (mainw->multitrack != NULL) wipe_layout(mainw->multitrack); - mainw->was_set=mainw->leave_files=mainw->leave_recovery=FALSE; + mainw->was_set = mainw->leave_files = mainw->leave_recovery = FALSE; recover_layout_cancelled(FALSE); if (had_clips) { if (strlen(mainw->set_name)) - msg=lives_strdup_printf(_("Deleting set %s..."),mainw->set_name); + msg = lives_strdup_printf(_("Deleting set %s..."), mainw->set_name); else - msg=lives_strdup_printf(_("Deleting set..."),mainw->set_name); + msg = lives_strdup_printf(_("Deleting set..."), mainw->set_name); d_print(msg); lives_free(msg); - do_threaded_dialog(_("Deleting set"),FALSE); + do_threaded_dialog(_("Deleting set"), FALSE); } - prefs->crash_recovery=FALSE; + prefs->crash_recovery = FALSE; lives_exit(0); - prefs->crash_recovery=TRUE; + prefs->crash_recovery = TRUE; - if (strlen(mainw->set_name)>0) { - d_print(_("Set %s was permanently deleted from the disk.\n"),mainw->set_name); - memset(mainw->set_name,0,1); + if (strlen(mainw->set_name) > 0) { + d_print(_("Set %s was permanently deleted from the disk.\n"), mainw->set_name); + memset(mainw->set_name, 0, 1); } - mainw->leave_files=mainw->leave_recovery=TRUE; + mainw->leave_files = mainw->leave_recovery = TRUE; } - // TODO - split into undo.c void on_undo_activate(LiVESMenuItem *menuitem, livespointer user_data) { char *com; char msg[256]; - boolean bad_header=FALSE; + boolean bad_header = FALSE; boolean retvalb; - int ostart=cfile->start; - int oend=cfile->end; - int current_file=mainw->current_file; - int switch_file=current_file; - int asigned,aendian; + int ostart = cfile->start; + int oend = cfile->end; + int current_file = mainw->current_file; + int switch_file = current_file; + int asigned, aendian; lives_widget_set_sensitive(mainw->undo, FALSE); lives_widget_set_sensitive(mainw->redo, TRUE); - cfile->undoable=FALSE; - cfile->redoable=TRUE; + cfile->undoable = FALSE; + cfile->redoable = TRUE; lives_widget_hide(mainw->undo); lives_widget_show(mainw->redo); - mainw->osc_block=TRUE; + mainw->osc_block = TRUE; d_print(""); - if (menuitem!=NULL) { - get_menu_text(mainw->undo,msg); - mainw->no_switch_dprint=TRUE; + if (menuitem != NULL) { + get_menu_text(mainw->undo, msg); + mainw->no_switch_dprint = TRUE; d_print(msg); d_print("..."); - mainw->no_switch_dprint=FALSE; + mainw->no_switch_dprint = FALSE; } - - if (cfile->undo_action==UNDO_INSERT_SILENCE) { - double start=cfile->undo1_dbl; + if (cfile->undo_action == UNDO_INSERT_SILENCE) { + double start = cfile->undo1_dbl; // if old audio end < start then we want to delete from oae to end - if (cfile->old_laudio_time<start) cfile->undo1_dbl=cfile->old_laudio_time; - on_del_audio_activate(NULL,NULL); - cfile->undo_action=UNDO_INSERT_SILENCE; - set_redoable(_("Insert Silence"),TRUE); - cfile->undo1_dbl=start; + if (cfile->old_laudio_time < start) cfile->undo1_dbl = cfile->old_laudio_time; + on_del_audio_activate(NULL, NULL); + cfile->undo_action = UNDO_INSERT_SILENCE; + set_redoable(_("Insert Silence"), TRUE); + cfile->undo1_dbl = start; } - if (cfile->undo_action==UNDO_CUT||cfile->undo_action==UNDO_DELETE||cfile->undo_action==UNDO_DELETE_AUDIO) { - int reset_achans=0; + if (cfile->undo_action == UNDO_CUT || cfile->undo_action == UNDO_DELETE || cfile->undo_action == UNDO_DELETE_AUDIO) { + int reset_achans = 0; lives_rm(cfile->info_file); - cfile->arate=cfile->undo_arate; - cfile->signed_endian=cfile->undo_signed_endian; - cfile->achans=cfile->undo_achans; - cfile->asampsize=cfile->undo_asampsize; - cfile->arps=cfile->undo_arps; - - if (cfile->frames==0) { - cfile->hsize=cfile->ohsize; - cfile->vsize=cfile->ovsize; + cfile->arate = cfile->undo_arate; + cfile->signed_endian = cfile->undo_signed_endian; + cfile->achans = cfile->undo_achans; + cfile->asampsize = cfile->undo_asampsize; + cfile->arps = cfile->undo_arps; + + if (cfile->frames == 0) { + cfile->hsize = cfile->ohsize; + cfile->vsize = cfile->ovsize; } - if (cfile->undo_action==UNDO_DELETE_AUDIO) { - if (cfile->undo1_dbl==cfile->undo2_dbl&&cfile->undo1_dbl==0.) { + if (cfile->undo_action == UNDO_DELETE_AUDIO) { + if (cfile->undo1_dbl == cfile->undo2_dbl && cfile->undo1_dbl == 0.) { // undo delete_all_audio - reset_achans=cfile->undo_achans; - com=lives_strdup_printf("%s undo_audio \"%s\"",prefs->backend_sync,cfile->handle); + reset_achans = cfile->undo_achans; + com = lives_strdup_printf("%s undo_audio \"%s\"", prefs->backend_sync, cfile->handle); } // undo delete selected audio // (set with with_audio==2 [audio only],therfore start,end,where are in secs.; times==-1) - else com=lives_strdup_printf("%s insert \"%s\" \"%s\" %.8f 0. %.8f \"%s\" 2 0 0 0 0 %d %d %d %d %d -1", - prefs->backend, - cfile->handle,get_image_ext_for_type(cfile->img_type),cfile->undo1_dbl, - cfile->undo2_dbl-cfile->undo1_dbl, cfile->handle, cfile->arps, cfile->achans, - cfile->asampsize,!(cfile->signed_endian&AFORM_UNSIGNED), - !(cfile->signed_endian&AFORM_BIG_ENDIAN)); + else com = lives_strdup_printf("%s insert \"%s\" \"%s\" %.8f 0. %.8f \"%s\" 2 0 0 0 0 %d %d %d %d %d -1", + prefs->backend, + cfile->handle, get_image_ext_for_type(cfile->img_type), cfile->undo1_dbl, + cfile->undo2_dbl - cfile->undo1_dbl, cfile->handle, cfile->arps, cfile->achans, + cfile->asampsize, !(cfile->signed_endian & AFORM_UNSIGNED), + !(cfile->signed_endian & AFORM_BIG_ENDIAN)); } else { // undo cut or delete (times to insert is -1) // start,end, where are in frames - cfile->undo1_boolean&=mainw->ccpd_with_sound; - com=lives_strdup_printf("%s insert \"%s\" \"%s\" %d %d %d \"%s\" %d %d 0 0 %.3f %d %d %d %d %d -1", - prefs->backend,cfile->handle, - get_image_ext_for_type(cfile->img_type),cfile->undo_start-1,cfile->undo_start, - cfile->undo_end,cfile->handle, cfile->undo1_boolean, cfile->frames, cfile->fps, - cfile->arps, cfile->achans, cfile->asampsize, !(cfile->signed_endian&AFORM_UNSIGNED), - !(cfile->signed_endian&AFORM_BIG_ENDIAN)); + cfile->undo1_boolean &= mainw->ccpd_with_sound; + com = lives_strdup_printf("%s insert \"%s\" \"%s\" %d %d %d \"%s\" %d %d 0 0 %.3f %d %d %d %d %d -1", + prefs->backend, cfile->handle, + get_image_ext_for_type(cfile->img_type), cfile->undo_start - 1, cfile->undo_start, + cfile->undo_end, cfile->handle, cfile->undo1_boolean, cfile->frames, cfile->fps, + cfile->arps, cfile->achans, cfile->asampsize, !(cfile->signed_endian & AFORM_UNSIGNED), + !(cfile->signed_endian & AFORM_BIG_ENDIAN)); } - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) return; // show a progress dialog, not cancellable - do_progress_dialog(TRUE,FALSE,_("Undoing")); - + do_progress_dialog(TRUE, FALSE, _("Undoing")); if (mainw->error) { d_print_failed(); @@ -2002,48 +1954,48 @@ return; } - if (cfile->undo_action!=UNDO_DELETE_AUDIO) { - cfile->insert_start=cfile->undo_start; - cfile->insert_end=cfile->undo_end; + if (cfile->undo_action != UNDO_DELETE_AUDIO) { + cfile->insert_start = cfile->undo_start; + cfile->insert_end = cfile->undo_end; - if (cfile->start>=cfile->undo_start) { - cfile->start+=cfile->undo_end-cfile->undo_start+1; + if (cfile->start >= cfile->undo_start) { + cfile->start += cfile->undo_end - cfile->undo_start + 1; } - if (cfile->end>=cfile->undo_start) { - cfile->end+=cfile->undo_end-cfile->undo_start+1; + if (cfile->end >= cfile->undo_start) { + cfile->end += cfile->undo_end - cfile->undo_start + 1; } - cfile->frames+=cfile->undo_end-cfile->undo_start+1; - if (cfile->frames>0) { - if (cfile->start==0) { - cfile->start=1; + cfile->frames += cfile->undo_end - cfile->undo_start + 1; + if (cfile->frames > 0) { + if (cfile->start == 0) { + cfile->start = 1; } - if (cfile->end==0) { - cfile->end=cfile->frames; + if (cfile->end == 0) { + cfile->end = cfile->frames; } } - if (cfile->frame_index_back!=NULL) { + if (cfile->frame_index_back != NULL) { restore_frame_index_back(mainw->current_file); } - save_clip_value(mainw->current_file,CLIP_DETAILS_FRAMES,&cfile->frames); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_FRAMES, &cfile->frames); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; } - if (reset_achans>0) { - asigned=!(cfile->signed_endian&AFORM_UNSIGNED); - aendian=cfile->signed_endian&AFORM_BIG_ENDIAN; - cfile->achans=reset_achans; - save_clip_value(mainw->current_file,CLIP_DETAILS_ACHANS,&cfile->achans); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_ARATE,&cfile->arps); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_PB_ARATE,&cfile->arate); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_ASAMPS,&cfile->asampsize); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_AENDIAN,&aendian); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_ASIGNED,&asigned); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; + if (reset_achans > 0) { + asigned = !(cfile->signed_endian & AFORM_UNSIGNED); + aendian = cfile->signed_endian & AFORM_BIG_ENDIAN; + cfile->achans = reset_achans; + save_clip_value(mainw->current_file, CLIP_DETAILS_ACHANS, &cfile->achans); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_ARATE, &cfile->arps); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_PB_ARATE, &cfile->arate); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_ASAMPS, &cfile->asampsize); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_AENDIAN, &aendian); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_ASIGNED, &asigned); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; } reget_afilesize(mainw->current_file); @@ -2053,43 +2005,42 @@ } - - if (cfile->undo_action==UNDO_RESIZABLE||cfile->undo_action==UNDO_RENDER||cfile->undo_action==UNDO_EFFECT|| - cfile->undo_action==UNDO_MERGE||(cfile->undo_action==UNDO_ATOMIC_RESAMPLE_RESIZE&& - (cfile->frames!=cfile->old_frames||cfile->hsize!=cfile->ohsize|| - cfile->vsize!=cfile->ovsize||cfile->fps!=cfile->undo1_dbl))) { + if (cfile->undo_action == UNDO_RESIZABLE || cfile->undo_action == UNDO_RENDER || cfile->undo_action == UNDO_EFFECT || + cfile->undo_action == UNDO_MERGE || (cfile->undo_action == UNDO_ATOMIC_RESAMPLE_RESIZE && + (cfile->frames != cfile->old_frames || cfile->hsize != cfile->ohsize || + cfile->vsize != cfile->ovsize || cfile->fps != cfile->undo1_dbl))) { char *audfile; - com=lives_strdup_printf("%s undo \"%s\" %d %d \"%s\"",prefs->backend,cfile->handle,cfile->undo_start,cfile->undo_end, - get_image_ext_for_type(cfile->img_type)); + com = lives_strdup_printf("%s undo \"%s\" %d %d \"%s\"", prefs->backend, cfile->handle, cfile->undo_start, cfile->undo_end, + get_image_ext_for_type(cfile->img_type)); lives_rm(cfile->info_file); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) return; - mainw->com_failed=FALSE; - mainw->cancelled=CANCEL_NONE; - mainw->error=FALSE; + mainw->com_failed = FALSE; + mainw->cancelled = CANCEL_NONE; + mainw->error = FALSE; // show a progress dialog, not cancellable - cfile->progress_start=cfile->undo_start; - cfile->progress_end=cfile->undo_end; - do_progress_dialog(TRUE,FALSE,_("Undoing")); + cfile->progress_start = cfile->undo_start; + cfile->progress_end = cfile->undo_end; + do_progress_dialog(TRUE, FALSE, _("Undoing")); - if (cfile->undo_action!=UNDO_ATOMIC_RESAMPLE_RESIZE) { - audfile=lives_strdup_printf("%s/%s/audio.%s",prefs->workdir,cfile->handle,LIVES_FILE_EXT_BAK); + if (cfile->undo_action != UNDO_ATOMIC_RESAMPLE_RESIZE) { + audfile = lives_strdup_printf("%s/%s/audio.%s", prefs->workdir, cfile->handle, LIVES_FILE_EXT_BAK); if (lives_file_test(audfile, LIVES_FILE_TEST_EXISTS)) { // restore overwritten audio - com=lives_strdup_printf("%s undo_audio \"%s\"",prefs->backend_sync,cfile->handle); - mainw->com_failed=FALSE; + com = lives_strdup_printf("%s undo_audio \"%s\"", prefs->backend_sync, cfile->handle); + mainw->com_failed = FALSE; lives_rm(cfile->info_file); - lives_system(com,FALSE); + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) return; - retvalb=do_auto_dialog(_("Restoring audio..."),0); + retvalb = do_auto_dialog(_("Restoring audio..."), 0); if (!retvalb) { d_print_failed(); //cfile->may_be_damaged=TRUE; @@ -2100,331 +2051,330 @@ lives_free(audfile); } - if (cfile->frame_index_back!=NULL) { - int *tmpindex=cfile->frame_index; - cfile->clip_type=CLIP_TYPE_FILE; - cfile->frame_index=cfile->frame_index_back; - if (cfile->undo_action==UNDO_RENDER) { - do_threaded_dialog(_("Clearing frame images"),FALSE); - clean_images_from_virtual(cfile,cfile->undo_end); + if (cfile->frame_index_back != NULL) { + int *tmpindex = cfile->frame_index; + cfile->clip_type = CLIP_TYPE_FILE; + cfile->frame_index = cfile->frame_index_back; + if (cfile->undo_action == UNDO_RENDER) { + do_threaded_dialog(_("Clearing frame images"), FALSE); + clean_images_from_virtual(cfile, cfile->undo_end); save_frame_index(mainw->current_file); - cfile->frame_index_back=NULL; + cfile->frame_index_back = NULL; end_threaded_dialog(); } else { save_frame_index(mainw->current_file); - cfile->frame_index_back=tmpindex; + cfile->frame_index_back = tmpindex; } } } - if (cfile->undo_action==UNDO_ATOMIC_RESAMPLE_RESIZE&&(cfile->frames!=cfile->old_frames|| - cfile->hsize!=cfile->ohsize||cfile->vsize!=cfile->ovsize)) { + if (cfile->undo_action == UNDO_ATOMIC_RESAMPLE_RESIZE && (cfile->frames != cfile->old_frames || + cfile->hsize != cfile->ohsize || cfile->vsize != cfile->ovsize)) { - if (cfile->frames>cfile->old_frames) { - com=lives_strdup_printf("%s cut \"%s\" %d %d %d %d \"%s\" %.3f %d %d %d", - prefs->backend,cfile->handle,cfile->old_frames+1, - cfile->frames, FALSE, cfile->frames, get_image_ext_for_type(cfile->img_type), - cfile->fps, cfile->arate, cfile->achans, cfile->asampsize); + if (cfile->frames > cfile->old_frames) { + com = lives_strdup_printf("%s cut \"%s\" %d %d %d %d \"%s\" %.3f %d %d %d", + prefs->backend, cfile->handle, cfile->old_frames + 1, + cfile->frames, FALSE, cfile->frames, get_image_ext_for_type(cfile->img_type), + cfile->fps, cfile->arate, cfile->achans, cfile->asampsize); - cfile->progress_start=cfile->old_frames+1; - cfile->progress_end=cfile->frames; + cfile->progress_start = cfile->old_frames + 1; + cfile->progress_end = cfile->frames; lives_rm(cfile->info_file); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) return; // show a progress dialog, not cancellable - do_progress_dialog(TRUE,FALSE,_("Deleting excess frames")); + do_progress_dialog(TRUE, FALSE, _("Deleting excess frames")); - if (cfile->clip_type==CLIP_TYPE_FILE) { - delete_frames_from_virtual(mainw->current_file, cfile->old_frames+1, cfile->frames); + if (cfile->clip_type == CLIP_TYPE_FILE) { + delete_frames_from_virtual(mainw->current_file, cfile->old_frames + 1, cfile->frames); } } - cfile->frames=cfile->old_frames; - cfile->hsize=cfile->ohsize; - cfile->vsize=cfile->ovsize; - save_clip_value(mainw->current_file,CLIP_DETAILS_WIDTH,&cfile->hsize); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_HEIGHT,&cfile->vsize); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - cfile->fps=cfile->undo1_dbl; - - save_clip_value(mainw->current_file,CLIP_DETAILS_FPS,&cfile->fps); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_PB_FPS,&cfile->fps); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - cfile->redoable=FALSE; + cfile->frames = cfile->old_frames; + cfile->hsize = cfile->ohsize; + cfile->vsize = cfile->ovsize; + save_clip_value(mainw->current_file, CLIP_DETAILS_WIDTH, &cfile->hsize); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_HEIGHT, &cfile->vsize); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + cfile->fps = cfile->undo1_dbl; + + save_clip_value(mainw->current_file, CLIP_DETAILS_FPS, &cfile->fps); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_PB_FPS, &cfile->fps); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + cfile->redoable = FALSE; // force a resize in switch_to_file - switch_file=0; + switch_file = 0; if (bad_header) do_header_write_error(mainw->current_file); } - if (cfile->undo_action==UNDO_RENDER) { - cfile->frames=cfile->old_frames; - save_clip_value(mainw->current_file,CLIP_DETAILS_FRAMES,&cfile->frames); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; + if (cfile->undo_action == UNDO_RENDER) { + cfile->frames = cfile->old_frames; + save_clip_value(mainw->current_file, CLIP_DETAILS_FRAMES, &cfile->frames); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; if (bad_header) do_header_write_error(mainw->current_file); } - if (cfile->undo_action==UNDO_INSERT||cfile->undo_action==UNDO_MERGE||cfile->undo_action==UNDO_INSERT_WITH_AUDIO) { - boolean ccpd_with_sound=mainw->ccpd_with_sound; - if (!(cfile->undo_action==UNDO_MERGE&&cfile->insert_start==cfile->undo_start&&cfile->insert_end==cfile->undo_end)) { - if (cfile->undo_action==UNDO_MERGE) { - if (cfile->insert_start==cfile->undo_start) { - cfile->insert_start=cfile->undo_end+1; - } - if (cfile->insert_end==cfile->undo_end) { - cfile->insert_end=cfile->undo_start-1; - } - } - cfile->start=cfile->insert_start; - cfile->end=cfile->insert_end; - - if (cfile->undo_action==UNDO_INSERT_WITH_AUDIO) mainw->ccpd_with_sound=TRUE; - else mainw->ccpd_with_sound=FALSE; - on_delete_activate(NULL,NULL); - - cfile->start=ostart; - if (ostart>=cfile->insert_start) { - cfile->start-=cfile->insert_end-cfile->insert_start+1; - if (cfile->start<cfile->insert_start-1) { - cfile->start=cfile->insert_start-1; - } - } - cfile->end=oend; - if (oend>=cfile->insert_start) { - cfile->end-=cfile->insert_end-cfile->insert_start+1; - if (cfile->end<cfile->insert_start-1) { - cfile->end=cfile->insert_start-1; + if (cfile->undo_action == UNDO_INSERT || cfile->undo_action == UNDO_MERGE || cfile->undo_action == UNDO_INSERT_WITH_AUDIO) { + boolean ccpd_with_sound = mainw->ccpd_with_sound; + if (!(cfile->undo_action == UNDO_MERGE && cfile->insert_start == cfile->undo_start && cfile->insert_end == cfile->undo_end)) { + if (cfile->undo_action == UNDO_MERGE) { + if (cfile->insert_start == cfile->undo_start) { + cfile->insert_start = cfile->undo_end + 1; + } + if (cfile->insert_end == cfile->undo_end) { + cfile->insert_end = cfile->undo_start - 1; + } + } + cfile->start = cfile->insert_start; + cfile->end = cfile->insert_end; + + if (cfile->undo_action == UNDO_INSERT_WITH_AUDIO) mainw->ccpd_with_sound = TRUE; + else mainw->ccpd_with_sound = FALSE; + on_delete_activate(NULL, NULL); + + cfile->start = ostart; + if (ostart >= cfile->insert_start) { + cfile->start -= cfile->insert_end - cfile->insert_start + 1; + if (cfile->start < cfile->insert_start - 1) { + cfile->start = cfile->insert_start - 1; + } + } + cfile->end = oend; + if (oend >= cfile->insert_start) { + cfile->end -= cfile->insert_end - cfile->insert_start + 1; + if (cfile->end < cfile->insert_start - 1) { + cfile->end = cfile->insert_start - 1; } } // TODO - use lives_clip_start macro - if (cfile->start<1) cfile->start=cfile->frames>0?1:0; - if (cfile->end<1) cfile->end=cfile->frames>0?1:0; + if (cfile->start < 1) cfile->start = cfile->frames > 0 ? 1 : 0; + if (cfile->end < 1) cfile->end = cfile->frames > 0 ? 1 : 0; - cfile->insert_start=cfile->insert_end=0; + cfile->insert_start = cfile->insert_end = 0; } - mainw->ccpd_with_sound=ccpd_with_sound; - save_clip_value(mainw->current_file,CLIP_DETAILS_FRAMES,&cfile->frames); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; + mainw->ccpd_with_sound = ccpd_with_sound; + save_clip_value(mainw->current_file, CLIP_DETAILS_FRAMES, &cfile->frames); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; if (bad_header) do_header_write_error(mainw->current_file); } - if (cfile->undo_action==UNDO_REC_AUDIO) { - mainw->fx1_val=cfile->arate; - mainw->fx2_val=cfile->achans; - mainw->fx3_val=cfile->asampsize; - mainw->fx4_val=cfile->signed_endian; - mainw->fx5_val=cfile->arps; + if (cfile->undo_action == UNDO_REC_AUDIO) { + mainw->fx1_val = cfile->arate; + mainw->fx2_val = cfile->achans; + mainw->fx3_val = cfile->asampsize; + mainw->fx4_val = cfile->signed_endian; + mainw->fx5_val = cfile->arps; } - if (cfile->undo_action==UNDO_AUDIO_RESAMPLE||cfile->undo_action==UNDO_REC_AUDIO||cfile->undo_action==UNDO_FADE_AUDIO|| - cfile->undo_action==UNDO_TRIM_AUDIO||cfile->undo_action==UNDO_APPEND_AUDIO|| - (cfile->undo_action==UNDO_ATOMIC_RESAMPLE_RESIZE&&cfile->arate!=cfile->undo1_int)) { + if (cfile->undo_action == UNDO_AUDIO_RESAMPLE || cfile->undo_action == UNDO_REC_AUDIO || cfile->undo_action == UNDO_FADE_AUDIO || + cfile->undo_action == UNDO_TRIM_AUDIO || cfile->undo_action == UNDO_APPEND_AUDIO || + (cfile->undo_action == UNDO_ATOMIC_RESAMPLE_RESIZE && cfile->arate != cfile->undo1_int)) { lives_rm(cfile->info_file); - com=lives_strdup_printf("%s undo_audio \"%s\"",prefs->backend_sync,cfile->handle); - mainw->com_failed=FALSE; - mainw->cancelled=CANCEL_NONE; - mainw->error=FALSE; - lives_system(com,FALSE); + com = lives_strdup_printf("%s undo_audio \"%s\"", prefs->backend_sync, cfile->handle); + mainw->com_failed = FALSE; + mainw->cancelled = CANCEL_NONE; + mainw->error = FALSE; + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { d_print_failed(); return; } - if (!do_auto_dialog(_("Undoing"),0)) { + if (!do_auto_dialog(_("Undoing"), 0)) { d_print_failed(); return; } } - if ((cfile->undo_action==UNDO_AUDIO_RESAMPLE)||(cfile->undo_action==UNDO_ATOMIC_RESAMPLE_RESIZE&& - cfile->arate!=cfile->undo1_int)) { + if ((cfile->undo_action == UNDO_AUDIO_RESAMPLE) || (cfile->undo_action == UNDO_ATOMIC_RESAMPLE_RESIZE && + cfile->arate != cfile->undo1_int)) { - cfile->arate+=cfile->undo1_int; - cfile->undo1_int=cfile->arate-cfile->undo1_int; - cfile->arate-=cfile->undo1_int; - - cfile->achans+=cfile->undo2_int; - cfile->undo2_int=cfile->achans-cfile->undo2_int; - cfile->achans-=cfile->undo2_int; - - cfile->asampsize+=cfile->undo3_int; - cfile->undo3_int=cfile->asampsize-cfile->undo3_int; - cfile->asampsize-=cfile->undo3_int; - - cfile->arps+=cfile->undo4_int; - cfile->undo4_int=cfile->arps-cfile->undo4_int; - cfile->arps-=cfile->undo4_int; - - cfile->signed_endian+=cfile->undo1_uint; - cfile->undo1_uint=cfile->signed_endian-cfile->undo1_uint; - cfile->signed_endian-=cfile->undo1_uint; - - asigned=!(cfile->signed_endian&AFORM_UNSIGNED); - aendian=cfile->signed_endian&AFORM_BIG_ENDIAN; - - save_clip_value(mainw->current_file,CLIP_DETAILS_ARATE,&cfile->arps); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_PB_ARATE,&cfile->arate); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_ACHANS,&cfile->achans); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_ASAMPS,&cfile->asampsize); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_AENDIAN,&aendian); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_ASIGNED,&asigned); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; + cfile->arate += cfile->undo1_int; + cfile->undo1_int = cfile->arate - cfile->undo1_int; + cfile->arate -= cfile->undo1_int; + + cfile->achans += cfile->undo2_int; + cfile->undo2_int = cfile->achans - cfile->undo2_int; + cfile->achans -= cfile->undo2_int; + + cfile->asampsize += cfile->undo3_int; + cfile->undo3_int = cfile->asampsize - cfile->undo3_int; + cfile->asampsize -= cfile->undo3_int; + + cfile->arps += cfile->undo4_int; + cfile->undo4_int = cfile->arps - cfile->undo4_int; + cfile->arps -= cfile->undo4_int; + + cfile->signed_endian += cfile->undo1_uint; + cfile->undo1_uint = cfile->signed_endian - cfile->undo1_uint; + cfile->signed_endian -= cfile->undo1_uint; + + asigned = !(cfile->signed_endian & AFORM_UNSIGNED); + aendian = cfile->signed_endian & AFORM_BIG_ENDIAN; + + save_clip_value(mainw->current_file, CLIP_DETAILS_ARATE, &cfile->arps); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_PB_ARATE, &cfile->arate); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_ACHANS, &cfile->achans); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_ASAMPS, &cfile->asampsize); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_AENDIAN, &aendian); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_ASIGNED, &asigned); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; if (bad_header) do_header_write_error(mainw->current_file); } - if (cfile->undo_action==UNDO_NEW_AUDIO) { + if (cfile->undo_action == UNDO_NEW_AUDIO) { lives_rm(cfile->info_file); - com=lives_strdup_printf("%s undo_audio \"%s\"",prefs->backend_sync,cfile->handle); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + com = lives_strdup_printf("%s undo_audio \"%s\"", prefs->backend_sync, cfile->handle); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) return; - mainw->cancelled=CANCEL_NONE; - mainw->error=FALSE; + mainw->cancelled = CANCEL_NONE; + mainw->error = FALSE; - if (!do_auto_dialog(_("Restoring audio..."),0)) { + if (!do_auto_dialog(_("Restoring audio..."), 0)) { d_print_failed(); return; } - cfile->achans=cfile->undo_achans; - cfile->arate=cfile->undo_arate; - cfile->arps=cfile->undo_arps; - cfile->asampsize=cfile->undo_asampsize; - cfile->signed_endian=cfile->undo_signed_endian; + cfile->achans = cfile->undo_achans; + cfile->arate = cfile->undo_arate; + cfile->arps = cfile->undo_arps; + cfile->asampsize = cfile->undo_asampsize; + cfile->signed_endian = cfile->undo_signed_endian; reget_afilesize(mainw->current_file); - asigned=!(cfile->signed_endian&AFORM_UNSIGNED); - aendian=cfile->signed_endian&AFORM_BIG_ENDIAN; + asigned = !(cfile->signed_endian & AFORM_UNSIGNED); + aendian = cfile->signed_endian & AFORM_BIG_ENDIAN; - save_clip_value(mainw->current_file,CLIP_DETAILS_ARATE,&cfile->arps); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_PB_ARATE,&cfile->arate); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_ACHANS,&cfile->achans); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_ASAMPS,&cfile->asampsize); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_AENDIAN,&aendian); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_ASIGNED,&asigned); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_ARATE, &cfile->arps); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_PB_ARATE, &cfile->arate); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_ACHANS, &cfile->achans); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_ASAMPS, &cfile->asampsize); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_AENDIAN, &aendian); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_ASIGNED, &asigned); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; if (bad_header) do_header_write_error(mainw->current_file); } - - if (cfile->undo_action==UNDO_CHANGE_SPEED) { - cfile->fps+=cfile->undo1_dbl; - cfile->undo1_dbl=cfile->fps-cfile->undo1_dbl; - cfile->fps-=cfile->undo1_dbl; - - cfile->arate+=cfile->undo1_int; - cfile->undo1_int=cfile->arate-cfile->undo1_int; - cfile->arate-=cfile->undo1_int; - save_clip_value(mainw->current_file,CLIP_DETAILS_FPS,&cfile->fps); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_PB_FPS,&cfile->fps); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_PB_ARATE,&cfile->arate); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; + if (cfile->undo_action == UNDO_CHANGE_SPEED) { + cfile->fps += cfile->undo1_dbl; + cfile->undo1_dbl = cfile->fps - cfile->undo1_dbl; + cfile->fps -= cfile->undo1_dbl; + + cfile->arate += cfile->undo1_int; + cfile->undo1_int = cfile->arate - cfile->undo1_int; + cfile->arate -= cfile->undo1_int; + save_clip_value(mainw->current_file, CLIP_DETAILS_FPS, &cfile->fps); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_PB_FPS, &cfile->fps); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_PB_ARATE, &cfile->arate); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; if (bad_header) do_header_write_error(mainw->current_file); } - if (cfile->undo_action==UNDO_INSERT||cfile->undo_action==UNDO_INSERT_WITH_AUDIO||cfile->undo_action==UNDO_MERGE|| - cfile->undo_action==UNDO_NEW_AUDIO) { - cfile->redoable=FALSE; + if (cfile->undo_action == UNDO_INSERT || cfile->undo_action == UNDO_INSERT_WITH_AUDIO || cfile->undo_action == UNDO_MERGE || + cfile->undo_action == UNDO_NEW_AUDIO) { + cfile->redoable = FALSE; } - if (menuitem!=NULL) { - mainw->no_switch_dprint=TRUE; + if (menuitem != NULL) { + mainw->no_switch_dprint = TRUE; d_print_done(); - mainw->no_switch_dprint=FALSE; + mainw->no_switch_dprint = FALSE; } - if (cfile->undo_action==UNDO_RESAMPLE) { - cfile->start=(int)((cfile->start-1)/cfile->fps*cfile->undo1_dbl+1.); - if ((cfile->end=(int)(cfile->end/cfile->fps*cfile->undo1_dbl+.49999))<1) cfile->end=1; - cfile->fps+=cfile->undo1_dbl; - cfile->undo1_dbl=cfile->fps-cfile->undo1_dbl; - cfile->fps-=cfile->undo1_dbl; + if (cfile->undo_action == UNDO_RESAMPLE) { + cfile->start = (int)((cfile->start - 1) / cfile->fps * cfile->undo1_dbl + 1.); + if ((cfile->end = (int)(cfile->end / cfile->fps * cfile->undo1_dbl + .49999)) < 1) cfile->end = 1; + cfile->fps += cfile->undo1_dbl; + cfile->undo1_dbl = cfile->fps - cfile->undo1_dbl; + cfile->fps -= cfile->undo1_dbl; // deorder the frames - cfile->frames=deorder_frames(cfile->old_frames,mainw->current_file==0&&!prefs->conserve_space); + cfile->frames = deorder_frames(cfile->old_frames, mainw->current_file == 0 && !prefs->conserve_space); - save_clip_value(mainw->current_file,CLIP_DETAILS_FRAMES,&cfile->frames); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_FPS,&cfile->fps); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_PB_FPS,&cfile->fps); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_FRAMES, &cfile->frames); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_FPS, &cfile->fps); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_PB_FPS, &cfile->fps); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; if (bad_header) do_header_write_error(mainw->current_file); - if (mainw->current_file>0) { - com=lives_strdup_printf(_("Length of video is now %d frames at %.3f frames per second.\n"),cfile->frames,cfile->fps); + if (mainw->current_file > 0) { + com = lives_strdup_printf(_("Length of video is now %d frames at %.3f frames per second.\n"), cfile->frames, cfile->fps); } else { - mainw->no_switch_dprint=TRUE; - com=lives_strdup_printf(_("Clipboard was resampled to %d frames.\n"),cfile->frames); + mainw->no_switch_dprint = TRUE; + com = lives_strdup_printf(_("Clipboard was resampled to %d frames.\n"), cfile->frames); } d_print(com); lives_free(com); - mainw->no_switch_dprint=FALSE; + mainw->no_switch_dprint = FALSE; } - if (cfile->end>cfile->frames) { - cfile->end=cfile->frames; + if (cfile->end > cfile->frames) { + cfile->end = cfile->frames; } - if (cfile->undo_action==UNDO_RESIZABLE) { - cfile->vsize+=cfile->ovsize; - cfile->ovsize=cfile->vsize-cfile->ovsize; - cfile->vsize-=cfile->ovsize; - cfile->hsize+=cfile->ohsize; - cfile->ohsize=cfile->hsize-cfile->ohsize; - cfile->hsize-=cfile->ohsize; - save_clip_value(mainw->current_file,CLIP_DETAILS_WIDTH,&cfile->hsize); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_HEIGHT,&cfile->vsize); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; + if (cfile->undo_action == UNDO_RESIZABLE) { + cfile->vsize += cfile->ovsize; + cfile->ovsize = cfile->vsize - cfile->ovsize; + cfile->vsize -= cfile->ovsize; + cfile->hsize += cfile->ohsize; + cfile->ohsize = cfile->hsize - cfile->ohsize; + cfile->hsize -= cfile->ohsize; + save_clip_value(mainw->current_file, CLIP_DETAILS_WIDTH, &cfile->hsize); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_HEIGHT, &cfile->vsize); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; // force a resize in switch_to_file - switch_file=0; + switch_file = 0; if (bad_header) do_header_write_error(mainw->current_file); } - if (current_file>0) { - switch_to_file((mainw->current_file=switch_file),current_file); + if (current_file > 0) { + switch_to_file((mainw->current_file = switch_file), current_file); } - if (cfile->undo_action==UNDO_RENDER) { - if (mainw->event_list!=NULL) event_list_free(mainw->event_list); - mainw->event_list=cfile->event_list_back; - cfile->event_list_back=NULL; + if (cfile->undo_action == UNDO_RENDER) { + if (mainw->event_list != NULL) event_list_free(mainw->event_list); + mainw->event_list = cfile->event_list_back; + cfile->event_list_back = NULL; deal_with_render_choice(FALSE); } - mainw->osc_block=FALSE; + mainw->osc_block = FALSE; } @@ -2432,111 +2382,111 @@ char msg[256]; char *com; - int ostart=cfile->start; - int oend=cfile->end; - int current_file=mainw->current_file; + int ostart = cfile->start; + int oend = cfile->end; + int current_file = mainw->current_file; - mainw->osc_block=TRUE; + mainw->osc_block = TRUE; - cfile->undoable=TRUE; - cfile->redoable=FALSE; + cfile->undoable = TRUE; + cfile->redoable = FALSE; lives_widget_hide(mainw->redo); lives_widget_show(mainw->undo); - lives_widget_set_sensitive(mainw->undo,TRUE); - lives_widget_set_sensitive(mainw->redo,FALSE); + lives_widget_set_sensitive(mainw->undo, TRUE); + lives_widget_set_sensitive(mainw->redo, FALSE); d_print(""); - if (menuitem!=NULL) { - get_menu_text(mainw->redo,msg); - mainw->no_switch_dprint=TRUE; + if (menuitem != NULL) { + get_menu_text(mainw->redo, msg); + mainw->no_switch_dprint = TRUE; d_print(msg); d_print("..."); - mainw->no_switch_dprint=FALSE; + mainw->no_switch_dprint = FALSE; } - if (cfile->undo_action==UNDO_INSERT_SILENCE) { - on_ins_silence_activate(NULL,NULL); - mainw->osc_block=FALSE; - mainw->no_switch_dprint=TRUE; + if (cfile->undo_action == UNDO_INSERT_SILENCE) { + on_ins_silence_activate(NULL, NULL); + mainw->osc_block = FALSE; + mainw->no_switch_dprint = TRUE; d_print_done(); - mainw->no_switch_dprint=FALSE; + mainw->no_switch_dprint = FALSE; sensitize(); return; } - if (cfile->undo_action==UNDO_CHANGE_SPEED) { - on_change_speed_ok_clicked(NULL,NULL); - mainw->osc_block=FALSE; + if (cfile->undo_action == UNDO_CHANGE_SPEED) { + on_change_speed_ok_clicked(NULL, NULL); + mainw->osc_block = FALSE; d_print_done(); return; } - if (cfile->undo_action==UNDO_RESAMPLE) { - on_resample_vid_ok(NULL,NULL); - mainw->osc_block=FALSE; + if (cfile->undo_action == UNDO_RESAMPLE) { + on_resample_vid_ok(NULL, NULL); + mainw->osc_block = FALSE; return; } - if (cfile->undo_action==UNDO_AUDIO_RESAMPLE) { - on_resaudio_ok_clicked(NULL,NULL); - mainw->osc_block=FALSE; + if (cfile->undo_action == UNDO_AUDIO_RESAMPLE) { + on_resaudio_ok_clicked(NULL, NULL); + mainw->osc_block = FALSE; d_print_done(); return; } - if (cfile->undo_action==UNDO_CUT||cfile->undo_action==UNDO_DELETE) { - cfile->start=cfile->undo_start; - cfile->end=cfile->undo_end; - mainw->osc_block=FALSE; - } - if (cfile->undo_action==UNDO_CUT) { - on_cut_activate(NULL,NULL); - mainw->osc_block=FALSE; - } - if (cfile->undo_action==UNDO_DELETE) { - on_delete_activate(NULL,NULL); - mainw->osc_block=FALSE; - } - if (cfile->undo_action==UNDO_DELETE_AUDIO) { - on_del_audio_activate(NULL,NULL); - mainw->osc_block=FALSE; + if (cfile->undo_action == UNDO_CUT || cfile->undo_action == UNDO_DELETE) { + cfile->start = cfile->undo_start; + cfile->end = cfile->undo_end; + mainw->osc_block = FALSE; + } + if (cfile->undo_action == UNDO_CUT) { + on_cut_activate(NULL, NULL); + mainw->osc_block = FALSE; + } + if (cfile->undo_action == UNDO_DELETE) { + on_delete_activate(NULL, NULL); + mainw->osc_block = FALSE; + } + if (cfile->undo_action == UNDO_DELETE_AUDIO) { + on_del_audio_activate(NULL, NULL); + mainw->osc_block = FALSE; d_print_done(); return; } - if (cfile->undo_action==UNDO_CUT||cfile->undo_action==UNDO_DELETE) { - cfile->start=ostart; - cfile->end=oend; - if (mainw->current_file==current_file) { - if (cfile->start>=cfile->undo_start) { - cfile->start-=cfile->undo_end-cfile->undo_start+1; - if (cfile->start<cfile->undo_start-1) { - cfile->start=cfile->undo_start-1; + if (cfile->undo_action == UNDO_CUT || cfile->undo_action == UNDO_DELETE) { + cfile->start = ostart; + cfile->end = oend; + if (mainw->current_file == current_file) { + if (cfile->start >= cfile->undo_start) { + cfile->start -= cfile->undo_end - cfile->undo_start + 1; + if (cfile->start < cfile->undo_start - 1) { + cfile->start = cfile->undo_start - 1; } } - if (cfile->end>=cfile->undo_start) { - cfile->end-=cfile->undo_end-cfile->undo_start+1; - if (cfile->end<cfile->undo_start-1) { - cfile->end=cfile->undo_start-1; + if (cfile->end >= cfile->undo_start) { + cfile->end -= cfile->undo_end - cfile->undo_start + 1; + if (cfile->end < cfile->undo_start - 1) { + cfile->end = cfile->undo_start - 1; } } - switch_to_file(mainw->current_file,mainw->current_file); + switch_to_file(mainw->current_file, mainw->current_file); } - mainw->osc_block=FALSE; + mainw->osc_block = FALSE; return; } - if (cfile->undo_action==UNDO_REC_AUDIO) { - cfile->arate=mainw->fx1_val; - cfile->achans=mainw->fx2_val; - cfile->asampsize=mainw->fx3_val; - cfile->signed_endian=mainw->fx4_val; - cfile->arps=mainw->fx5_val; + if (cfile->undo_action == UNDO_REC_AUDIO) { + cfile->arate = mainw->fx1_val; + cfile->achans = mainw->fx2_val; + cfile->asampsize = mainw->fx3_val; + cfile->signed_endian = mainw->fx4_val; + cfile->arps = mainw->fx5_val; save_clip_values(mainw->current_file); } - if (cfile->undo_action==UNDO_REC_AUDIO||cfile->undo_action==UNDO_FADE_AUDIO||cfile->undo_action==UNDO_TRIM_AUDIO|| - cfile->undo_action==UNDO_APPEND_AUDIO) { - com=lives_strdup_printf("%s undo_audio \"%s\"",prefs->backend_sync,cfile->handle); + if (cfile->undo_action == UNDO_REC_AUDIO || cfile->undo_action == UNDO_FADE_AUDIO || cfile->undo_action == UNDO_TRIM_AUDIO || + cfile->undo_action == UNDO_APPEND_AUDIO) { + com = lives_strdup_printf("%s undo_audio \"%s\"", prefs->backend_sync, cfile->handle); lives_rm(cfile->info_file); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { @@ -2545,7 +2495,7 @@ } // show a progress dialog, not cancellable - do_progress_dialog(TRUE,FALSE,_("Redoing")); + do_progress_dialog(TRUE, FALSE, _("Redoing")); if (mainw->error) { d_print_failed(); @@ -2553,16 +2503,16 @@ } d_print_done(); - switch_to_file(mainw->current_file,mainw->current_file); - mainw->osc_block=FALSE; + switch_to_file(mainw->current_file, mainw->current_file); + mainw->osc_block = FALSE; return; } - com=lives_strdup_printf("%s redo \"%s\" %d %d \"%s\"",prefs->backend,cfile->handle,cfile->undo_start,cfile->undo_end, - get_image_ext_for_type(cfile->img_type)); + com = lives_strdup_printf("%s redo \"%s\" %d %d \"%s\"", prefs->backend, cfile->handle, cfile->undo_start, cfile->undo_end, + get_image_ext_for_type(cfile->img_type)); lives_rm(cfile->info_file); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { @@ -2570,99 +2520,98 @@ return; } - cfile->progress_start=cfile->undo_start; - cfile->progress_end=cfile->undo_end; + cfile->progress_start = cfile->undo_start; + cfile->progress_end = cfile->undo_end; // show a progress dialog, not cancellable - do_progress_dialog(TRUE,FALSE,_("Redoing")); + do_progress_dialog(TRUE, FALSE, _("Redoing")); if (mainw->error) { d_print_failed(); return; } - if (cfile->clip_type==CLIP_TYPE_FILE&&(cfile->undo_action==UNDO_EFFECT||cfile->undo_action==UNDO_RESIZABLE)) { - int *tmpindex=cfile->frame_index; - cfile->frame_index=cfile->frame_index_back; - cfile->frame_index_back=tmpindex; - cfile->clip_type=CLIP_TYPE_FILE; - if (!check_if_non_virtual(mainw->current_file,1,cfile->frames)) save_frame_index(mainw->current_file); - } - - if (cfile->undo_action==UNDO_RESIZABLE) { - cfile->vsize+=cfile->ovsize; - cfile->ovsize=cfile->vsize-cfile->ovsize; - cfile->vsize-=cfile->ovsize; - cfile->hsize+=cfile->ohsize; - cfile->ohsize=cfile->hsize-cfile->ohsize; - cfile->hsize-=cfile->ohsize; - switch_to_file((mainw->current_file=0),current_file); + if (cfile->clip_type == CLIP_TYPE_FILE && (cfile->undo_action == UNDO_EFFECT || cfile->undo_action == UNDO_RESIZABLE)) { + int *tmpindex = cfile->frame_index; + cfile->frame_index = cfile->frame_index_back; + cfile->frame_index_back = tmpindex; + cfile->clip_type = CLIP_TYPE_FILE; + if (!check_if_non_virtual(mainw->current_file, 1, cfile->frames)) save_frame_index(mainw->current_file); + } + + if (cfile->undo_action == UNDO_RESIZABLE) { + cfile->vsize += cfile->ovsize; + cfile->ovsize = cfile->vsize - cfile->ovsize; + cfile->vsize -= cfile->ovsize; + cfile->hsize += cfile->ohsize; + cfile->ohsize = cfile->hsize - cfile->ohsize; + cfile->hsize -= cfile->ohsize; + switch_to_file((mainw->current_file = 0), current_file); } else { - if (cfile->start>=cfile->undo_start) load_start_image(cfile->start); - if (cfile->end<=cfile->undo_end) load_end_image(cfile->end); + if (cfile->start >= cfile->undo_start) load_start_image(cfile->start); + if (cfile->end <= cfile->undo_end) load_end_image(cfile->end); } d_print_done(); - mainw->osc_block=FALSE; + mainw->osc_block = FALSE; } - ////////////////////////////////////////////////// void on_copy_activate(LiVESMenuItem *menuitem, livespointer user_data) { gchar *com; - int current_file=mainw->current_file; - int start,end; + int current_file = mainw->current_file; + int start, end; desensitize(); d_print(""); // force switchtext - if (mainw->ccpd_with_sound&&cfile->achans>0) - d_print(_("Copying frames %d to %d (with sound) to the clipboard..."),cfile->start,cfile->end); + if (mainw->ccpd_with_sound && cfile->achans > 0) + d_print(_("Copying frames %d to %d (with sound) to the clipboard..."), cfile->start, cfile->end); else - d_print(lives_strdup_printf(_("Copying frames %d to %d to the clipboard..."),cfile->start,cfile->end)); + d_print(lives_strdup_printf(_("Copying frames %d to %d to the clipboard..."), cfile->start, cfile->end)); init_clipboard(); lives_rm(cfile->info_file); - mainw->last_transition_loops=1; + mainw->last_transition_loops = 1; - start=cfile->start; - end=cfile->end; + start = cfile->start; + end = cfile->end; - if (cfile->clip_type==CLIP_TYPE_FILE) { + if (cfile->clip_type == CLIP_TYPE_FILE) { // for virtual frames, we copy only the frame_index - clipboard->clip_type=CLIP_TYPE_FILE; - clipboard->interlace=cfile->interlace; - clipboard->deinterlace=cfile->deinterlace; - clipboard->frame_index=frame_index_copy(cfile->frame_index,end-start+1,start-1); - clipboard->frames=end-start+1; - check_if_non_virtual(0,1,clipboard->frames); - if (clipboard->clip_type==CLIP_TYPE_FILE) { - clipboard->ext_src=clone_decoder(mainw->current_file); - end=-end; // allow missing frames + clipboard->clip_type = CLIP_TYPE_FILE; + clipboard->interlace = cfile->interlace; + clipboard->deinterlace = cfile->deinterlace; + clipboard->frame_index = frame_index_copy(cfile->frame_index, end - start + 1, start - 1); + clipboard->frames = end - start + 1; + check_if_non_virtual(0, 1, clipboard->frames); + if (clipboard->clip_type == CLIP_TYPE_FILE) { + clipboard->ext_src = clone_decoder(mainw->current_file); + end = -end; // allow missing frames } } - mainw->fx1_val=1; - mainw->fx1_bool=FALSE; + mainw->fx1_val = 1; + mainw->fx1_bool = FALSE; - clipboard->img_type=cfile->img_type; + clipboard->img_type = cfile->img_type; // copy audio and frames - com=lives_strdup_printf("%s insert \"%s\" \"%s\" 0 %d %d \"%s\" %d 0 0 0 %.3f %d %d %d %d %d",prefs->backend, - clipboard->handle, get_image_ext_for_type(clipboard->img_type), - start, end, cfile->handle, mainw->ccpd_with_sound, cfile->fps, cfile->arate, - cfile->achans, cfile->asampsize, !(cfile->signed_endian&AFORM_UNSIGNED), - !(cfile->signed_endian&AFORM_BIG_ENDIAN)); + com = lives_strdup_printf("%s insert \"%s\" \"%s\" 0 %d %d \"%s\" %d 0 0 0 %.3f %d %d %d %d %d", prefs->backend, + clipboard->handle, get_image_ext_for_type(clipboard->img_type), + start, end, cfile->handle, mainw->ccpd_with_sound, cfile->fps, cfile->arate, + cfile->achans, cfile->asampsize, !(cfile->signed_endian & AFORM_UNSIGNED), + !(cfile->signed_endian & AFORM_BIG_ENDIAN)); - if (clipboard->clip_type==CLIP_TYPE_FILE) end=-end; + if (clipboard->clip_type == CLIP_TYPE_FILE) end = -end; - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { @@ -2671,58 +2620,58 @@ } // we need to set this to look at the right info_file - mainw->current_file=0; - cfile->progress_start=clipboard->start=1; - cfile->progress_end=clipboard->end=end-start+1; + mainw->current_file = 0; + cfile->progress_start = clipboard->start = 1; + cfile->progress_end = clipboard->end = end - start + 1; // stop the 'preview' and 'pause' buttons from appearing - cfile->nopreview=TRUE; - if (!do_progress_dialog(TRUE,TRUE,_("Copying to the clipboard"))) { + cfile->nopreview = TRUE; + if (!do_progress_dialog(TRUE, TRUE, _("Copying to the clipboard"))) { #ifdef IS_MINGW // kill any active processes: for other OSes the backend does this - lives_kill_subprocesses(cfile->handle,TRUE); + lives_kill_subprocesses(cfile->handle, TRUE); #endif // close clipboard, it is invalid - com=lives_strdup_printf("%s close \"%s\"",prefs->backend,clipboard->handle); - lives_system(com,FALSE); + com = lives_strdup_printf("%s close \"%s\"", prefs->backend, clipboard->handle); + lives_system(com, FALSE); lives_free(com); - clipboard=NULL; - mainw->current_file=current_file; + clipboard = NULL; + mainw->current_file = current_file; sensitize(); - mainw->cancelled=CANCEL_USER; + mainw->cancelled = CANCEL_USER; return; } - cfile->nopreview=FALSE; - mainw->current_file=current_file; + cfile->nopreview = FALSE; + mainw->current_file = current_file; //set all clipboard details - clipboard->frames=clipboard->old_frames=clipboard->end; - clipboard->hsize=cfile->hsize; - clipboard->vsize=cfile->vsize; - clipboard->bpp=cfile->bpp; - clipboard->undo1_dbl=clipboard->fps=cfile->fps; - clipboard->ratio_fps=cfile->ratio_fps; - clipboard->is_loaded=TRUE; - lives_snprintf(clipboard->type,40,"Frames"); + clipboard->frames = clipboard->old_frames = clipboard->end; + clipboard->hsize = cfile->hsize; + clipboard->vsize = cfile->vsize; + clipboard->bpp = cfile->bpp; + clipboard->undo1_dbl = clipboard->fps = cfile->fps; + clipboard->ratio_fps = cfile->ratio_fps; + clipboard->is_loaded = TRUE; + lives_snprintf(clipboard->type, 40, "Frames"); - clipboard->asampsize=clipboard->arate=clipboard->achans=0; - clipboard->afilesize=0l; + clipboard->asampsize = clipboard->arate = clipboard->achans = 0; + clipboard->afilesize = 0l; if (mainw->ccpd_with_sound) { - clipboard->achans=cfile->achans; - clipboard->asampsize=cfile->asampsize; + clipboard->achans = cfile->achans; + clipboard->asampsize = cfile->asampsize; - clipboard->arate=cfile->arate; - clipboard->arps=cfile->arps; - clipboard->signed_endian=cfile->signed_endian; + clipboard->arate = cfile->arate; + clipboard->arps = cfile->arps; + clipboard->signed_endian = cfile->signed_endian; reget_afilesize(0); } - clipboard->start=1; - clipboard->end=clipboard->frames; + clipboard->start = 1; + clipboard->end = clipboard->frames; get_total_time(clipboard); @@ -2733,79 +2682,79 @@ void on_cut_activate(LiVESMenuItem *menuitem, livespointer user_data) { - int current_file=mainw->current_file; + int current_file = mainw->current_file; on_copy_activate(menuitem, user_data); if (mainw->cancelled) { return; } on_delete_activate(menuitem, user_data); - if (mainw->current_file==current_file) { - set_undoable(_("Cut"),TRUE); - cfile->undo_action=UNDO_CUT; + if (mainw->current_file == current_file) { + set_undoable(_("Cut"), TRUE); + cfile->undo_action = UNDO_CUT; } } void on_paste_as_new_activate(LiVESMenuItem *menuitem, livespointer user_data) { char *com; - int old_file=mainw->current_file,current_file; + int old_file = mainw->current_file, current_file; - if (clipboard==NULL) return; + if (clipboard == NULL) return; - mainw->current_file=mainw->first_free_file; + mainw->current_file = mainw->first_free_file; - if (!get_new_handle(mainw->current_file,NULL)) { - mainw->current_file=old_file; + if (!get_new_handle(mainw->current_file, NULL)) { + mainw->current_file = old_file; return; } //set file details - cfile->frames=clipboard->frames; - cfile->hsize=clipboard->hsize; - cfile->vsize=clipboard->vsize; - cfile->pb_fps=cfile->fps=clipboard->fps; - cfile->ratio_fps=clipboard->ratio_fps; - cfile->progress_start=cfile->start=cfile->frames>0?1:0; - cfile->progress_end=cfile->end=cfile->frames; - cfile->changed=TRUE; - cfile->is_loaded=TRUE; - cfile->img_type=clipboard->img_type; + cfile->frames = clipboard->frames; + cfile->hsize = clipboard->hsize; + cfile->vsize = clipboard->vsize; + cfile->pb_fps = cfile->fps = clipboard->fps; + cfile->ratio_fps = clipboard->ratio_fps; + cfile->progress_start = cfile->start = cfile->frames > 0 ? 1 : 0; + cfile->progress_end = cfile->end = cfile->frames; + cfile->changed = TRUE; + cfile->is_loaded = TRUE; + cfile->img_type = clipboard->img_type; - mainw->fx1_val=1; - mainw->fx1_bool=FALSE; + mainw->fx1_val = 1; + mainw->fx1_bool = FALSE; - if (!check_if_non_virtual(0,1,clipboard->frames)) { - int current_file=mainw->current_file; + if (!check_if_non_virtual(0, 1, clipboard->frames)) { + int current_file = mainw->current_file; boolean retb; - mainw->cancelled=CANCEL_NONE; - mainw->current_file=0; - cfile->progress_start=1; - cfile->progress_end=count_virtual_frames(cfile->frame_index,1,cfile->frames); - do_threaded_dialog(_("Pulling frames from clipboard"),TRUE); - retb=virtual_to_images(mainw->current_file,1,cfile->frames,TRUE,NULL); + mainw->cancelled = CANCEL_NONE; + mainw->current_file = 0; + cfile->progress_start = 1; + cfile->progress_end = count_virtual_frames(cfile->frame_index, 1, cfile->frames); + do_threaded_dialog(_("Pulling frames from clipboard"), TRUE); + retb = virtual_to_images(mainw->current_file, 1, cfile->frames, TRUE, NULL); end_threaded_dialog(); - mainw->current_file=current_file; + mainw->current_file = current_file; - if (mainw->cancelled!=CANCEL_NONE||!retb) { + if (mainw->cancelled != CANCEL_NONE || !retb) { sensitize(); - mainw->cancelled=CANCEL_USER; + mainw->cancelled = CANCEL_USER; return; } } - mainw->no_switch_dprint=TRUE; - d_print(_("Pasting %d frames to new clip %s..."),cfile->frames,cfile->name); - mainw->no_switch_dprint=FALSE; + mainw->no_switch_dprint = TRUE; + d_print(_("Pasting %d frames to new clip %s..."), cfile->frames, cfile->name); + mainw->no_switch_dprint = FALSE; - com=lives_strdup_printf("%s insert \"%s\" \"%s\" 0 1 %d \"%s\" %d 0 0 0 %.3f %d %d %d %d %d", - prefs->backend,cfile->handle, - get_image_ext_for_type(cfile->img_type),clipboard->frames, clipboard->handle, - mainw->ccpd_with_sound, clipboard->fps, clipboard->arate, clipboard->achans, - clipboard->asampsize, !(cfile->signed_endian&AFORM_UNSIGNED), - !(cfile->signed_endian&AFORM_BIG_ENDIAN)); + com = lives_strdup_printf("%s insert \"%s\" \"%s\" 0 1 %d \"%s\" %d 0 0 0 %.3f %d %d %d %d %d", + prefs->backend, cfile->handle, + get_image_ext_for_type(cfile->img_type), clipboard->frames, clipboard->handle, + mainw->ccpd_with_sound, clipboard->fps, clipboard->arate, clipboard->achans, + clipboard->asampsize, !(cfile->signed_endian & AFORM_UNSIGNED), + !(cfile->signed_endian & AFORM_BIG_ENDIAN)); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { @@ -2813,44 +2762,44 @@ return; } - cfile->nopreview=TRUE; + cfile->nopreview = TRUE; // show a progress dialog, not cancellable - if (!do_progress_dialog(TRUE,TRUE,_("Pasting"))) { + if (!do_progress_dialog(TRUE, TRUE, _("Pasting"))) { if (mainw->error) d_print_failed(); close_current_file(old_file); return; } - cfile->nopreview=FALSE; + cfile->nopreview = FALSE; if (mainw->ccpd_with_sound) { - cfile->arate=clipboard->arate; - cfile->arps=clipboard->arps; - cfile->achans=clipboard->achans; - cfile->asampsize=clipboard->asampsize; - cfile->afilesize=clipboard->afilesize; - cfile->signed_endian=clipboard->signed_endian; - if (cfile->afilesize>0) d_print(_("...added audio...")); + cfile->arate = clipboard->arate; + cfile->arps = clipboard->arps; + cfile->achans = clipboard->achans; + cfile->asampsize = clipboard->asampsize; + cfile->afilesize = clipboard->afilesize; + cfile->signed_endian = clipboard->signed_endian; + if (cfile->afilesize > 0) d_print(_("...added audio...")); } // add entry to window menu add_to_clipmenu(); - current_file=mainw->current_file; + current_file = mainw->current_file; if (!save_clip_values(current_file)) { close_current_file(old_file); return; } if (prefs->crash_recovery) add_to_recovery_file(cfile->handle); - switch_to_file((mainw->current_file=old_file),current_file); + switch_to_file((mainw->current_file = old_file), current_file); d_print_done(); - mainw->last_dprint_file=old_file; + mainw->last_dprint_file = old_file; d_print(""); // force switchtext - lives_notify(LIVES_OSC_NOTIFY_CLIP_OPENED,""); + lives_notify(LIVES_OSC_NOTIFY_CLIP_OPENED, ""); } @@ -2858,66 +2807,65 @@ insertw = create_insert_dialog(); lives_widget_show_all(insertw->insert_dialog); - mainw->fx1_bool=FALSE; - mainw->fx1_val=1; + mainw->fx1_bool = FALSE; + mainw->fx1_val = 1; - mainw->fx2_bool=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(insertw->with_sound)); + mainw->fx2_bool = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(insertw->with_sound)); } - void on_insert_activate(LiVESButton *button, livespointer user_data) { double times_to_insert; double audio_stretch; char *com; - boolean with_sound=mainw->fx2_bool; - boolean has_lmap_error=FALSE; - boolean bad_header=FALSE; - boolean insert_silence=FALSE; + boolean with_sound = mainw->fx2_bool; + boolean has_lmap_error = FALSE; + boolean bad_header = FALSE; + boolean insert_silence = FALSE; // have we resampled ? - boolean cb_audio_change=FALSE; - boolean cb_video_change=FALSE; + boolean cb_audio_change = FALSE; + boolean cb_video_change = FALSE; - boolean virtual_ins=FALSE; - boolean all_virtual=FALSE; + boolean virtual_ins = FALSE; + boolean all_virtual = FALSE; - int where=cfile->start-1; - int start=cfile->start,ostart=start; - int end=cfile->end,oend=end; + int where = cfile->start - 1; + int start = cfile->start, ostart = start; + int end = cfile->end, oend = end; - int hsize=cfile->hsize; - int vsize=cfile->vsize; + int hsize = cfile->hsize; + int vsize = cfile->vsize; - int cfile_signed=0,cfile_endian=0,clipboard_signed=0,clipboard_endian=0; - int current_file=mainw->current_file; + int cfile_signed = 0, cfile_endian = 0, clipboard_signed = 0, clipboard_endian = 0; + int current_file = mainw->current_file; - int orig_frames=cfile->frames; - int ocarps=clipboard->arps; - int leave_backup=1; + int orig_frames = cfile->frames; + int ocarps = clipboard->arps; + int leave_backup = 1; int remainder_frames; - int cb_start=1,cb_end=clipboard->frames; + int cb_start = 1, cb_end = clipboard->frames; // if it is an insert into the original file, and we can do fast seek, we can insert virtual frames - if (button!=NULL&&mainw->current_file==clipboard->cb_src&&!check_if_non_virtual(0,1,clipboard->frames)) { - lives_clip_data_t *cdata=((lives_decoder_t *)cfile->ext_src)->cdata; - if (cdata->seek_flag&LIVES_SEEK_FAST) { - virtual_ins=TRUE; - if (count_virtual_frames(clipboard->frame_index,1,clipboard->frames)==clipboard->frames) all_virtual=TRUE; + if (button != NULL && mainw->current_file == clipboard->cb_src && !check_if_non_virtual(0, 1, clipboard->frames)) { + lives_clip_data_t *cdata = ((lives_decoder_t *)cfile->ext_src)->cdata; + if (cdata->seek_flag & LIVES_SEEK_FAST) { + virtual_ins = TRUE; + if (count_virtual_frames(clipboard->frame_index, 1, clipboard->frames) == clipboard->frames) all_virtual = TRUE; } } // don't ask smogrify to resize if frames are the same size and type - if (all_virtual||(((cfile->hsize==clipboard->hsize && cfile->vsize==clipboard->vsize)||orig_frames==0)&& - (cfile->img_type==clipboard->img_type))) hsize=vsize=0; + if (all_virtual || (((cfile->hsize == clipboard->hsize && cfile->vsize == clipboard->vsize) || orig_frames == 0) && + (cfile->img_type == clipboard->img_type))) hsize = vsize = 0; else { if (!capable->has_convert) { do_error_dialog( _("This operation requires resizing or converting of frames.\nPlease install 'convert' from the Image-magick package, and then restart LiVES.\n")); - mainw->error=TRUE; - if (button!=NULL) { + mainw->error = TRUE; + if (button != NULL) { lives_widget_destroy(insertw->insert_dialog); lives_free(insertw); } @@ -2925,218 +2873,217 @@ } } - if (button!=NULL) { + if (button != NULL) { lives_widget_destroy(insertw->insert_dialog); lives_widget_context_update(); // call to update fx1_val, in case activates_default was called from spin entry lives_free(insertw); } - times_to_insert=mainw->fx1_val; + times_to_insert = mainw->fx1_val; // fit video to audio if requested - if (mainw->fx1_bool&&(cfile->asampsize*cfile->arate*cfile->achans)) { + if (mainw->fx1_bool && (cfile->asampsize * cfile->arate * cfile->achans)) { // "insert to fit audio" : number of inserts is (audio_time - video_time) / clipboard_time - times_to_insert=(cfile->laudio_time-cfile->frames>0?(double)cfile->frames/cfile->fps:0.)/((double)clipboard->frames/clipboard->fps); + times_to_insert = (cfile->laudio_time - cfile->frames > 0 ? (double)cfile->frames / cfile->fps : 0.) / (( + double)clipboard->frames / clipboard->fps); } - if (times_to_insert<0.&&(mainw->fx1_bool)) { + if (times_to_insert < 0. && (mainw->fx1_bool)) { do_error_dialog( _("\n\nVideo is longer than audio.\nTry selecting all frames, and then using \nthe 'Trim Audio' function from the Audio menu.")); - mainw->error=TRUE; + mainw->error = TRUE; return; } - if (with_sound) { - cfile_signed=!(cfile->signed_endian&AFORM_UNSIGNED); - cfile_endian=!(cfile->signed_endian&AFORM_BIG_ENDIAN); + cfile_signed = !(cfile->signed_endian & AFORM_UNSIGNED); + cfile_endian = !(cfile->signed_endian & AFORM_BIG_ENDIAN); - clipboard_signed=!(clipboard->signed_endian&AFORM_UNSIGNED); - clipboard_endian=!(clipboard->signed_endian&AFORM_BIG_ENDIAN); + clipboard_signed = !(clipboard->signed_endian & AFORM_UNSIGNED); + clipboard_endian = !(clipboard->signed_endian & AFORM_BIG_ENDIAN); - if ((cfile->achans*cfile->arps*cfile->asampsize>0)&&(cfile->achans!=clipboard->achans|| - (cfile->arps!=clipboard->arps&&clipboard->achans>0)|| - cfile->asampsize!=clipboard->asampsize|| - cfile_signed!=clipboard_signed||cfile_endian!=clipboard_endian|| - cfile->arate!=clipboard->arate)) { + if ((cfile->achans * cfile->arps * cfile->asampsize > 0) && (cfile->achans != clipboard->achans || + (cfile->arps != clipboard->arps && clipboard->achans > 0) || + cfile->asampsize != clipboard->asampsize || + cfile_signed != clipboard_signed || cfile_endian != clipboard_endian || + cfile->arate != clipboard->arate)) { if (!(capable->has_sox_sox)) { - if (cfile->arps!=clipboard->arps) { + if (cfile->arps != clipboard->arps) { do_error_dialog(_("LiVES cannot insert because the audio rates do not match.\nPlease install 'sox', and try again.")); - mainw->error=TRUE; + mainw->error = TRUE; return; } } } } - - if ((!(prefs->warning_mask&WARN_MASK_LAYOUT_SHIFT_FRAMES)||(!prefs->warning_mask&&WARN_MASK_LAYOUT_ALTER_FRAMES))) { + if ((!(prefs->warning_mask & WARN_MASK_LAYOUT_SHIFT_FRAMES) || (!prefs->warning_mask && WARN_MASK_LAYOUT_ALTER_FRAMES))) { int insert_start; if (mainw->insert_after) { - insert_start=cfile->end+1; + insert_start = cfile->end + 1; } else { - insert_start=cfile->start; + insert_start = cfile->start; } - if ((mainw->xlays=layout_frame_is_affected(mainw->current_file,insert_start))!=NULL) { + if ((mainw->xlays = layout_frame_is_affected(mainw->current_file, insert_start)) != NULL) { if (!do_warning_dialog (_("\nInsertion will cause frames to shift in some multitrack layouts.\nAre you sure you wish to continue ?\n"))) { - mainw->error=TRUE; + mainw->error = TRUE; lives_list_free_all(&mainw->xlays); return; } - add_lmap_error(LMAP_ERROR_SHIFT_FRAMES,cfile->name,(livespointer)cfile->layout_map,mainw->current_file, - insert_start,0.,count_resampled_frames(cfile->stored_layout_frame,cfile->stored_layout_fps, - cfile->fps)>=insert_start); - has_lmap_error=TRUE; - mainw->error=TRUE; + add_lmap_error(LMAP_ERROR_SHIFT_FRAMES, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, + insert_start, 0., count_resampled_frames(cfile->stored_layout_frame, cfile->stored_layout_fps, + cfile->fps) >= insert_start); + has_lmap_error = TRUE; + mainw->error = TRUE; lives_list_free_all(&mainw->xlays); } else { - if (!(prefs->warning_mask&WARN_MASK_LAYOUT_ALTER_FRAMES)&&(mainw->xlays= - layout_frame_is_affected(mainw->current_file,1))!=NULL) { + if (!(prefs->warning_mask & WARN_MASK_LAYOUT_ALTER_FRAMES) && (mainw->xlays = + layout_frame_is_affected(mainw->current_file, 1)) != NULL) { if (!do_layout_alter_frames_warning()) { lives_list_free_all(&mainw->xlays); return; } - add_lmap_error(LMAP_ERROR_ALTER_FRAMES,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0,0., - cfile->stored_layout_frame>0); + add_lmap_error(LMAP_ERROR_ALTER_FRAMES, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, 0., + cfile->stored_layout_frame > 0); lives_list_free_all(&mainw->xlays); - has_lmap_error=TRUE; + has_lmap_error = TRUE; } } } - if (with_sound&&(!(prefs->warning_mask&WARN_MASK_LAYOUT_SHIFT_AUDIO)|| - (!prefs->warning_mask&&WARN_MASK_LAYOUT_ALTER_AUDIO))) { + if (with_sound && (!(prefs->warning_mask & WARN_MASK_LAYOUT_SHIFT_AUDIO) || + (!prefs->warning_mask && WARN_MASK_LAYOUT_ALTER_AUDIO))) { int insert_start; if (mainw->insert_after) { - insert_start=cfile->end+1; + insert_start = cfile->end + 1; } else { - insert_start=cfile->start; + insert_start = cfile->start; } - if ((mainw->xlays=layout_audio_is_affected(mainw->current_file,(insert_start-1.)/cfile->fps))!=NULL) { + if ((mainw->xlays = layout_audio_is_affected(mainw->current_file, (insert_start - 1.) / cfile->fps)) != NULL) { if (!do_warning_dialog (_("\nInsertion will cause audio to shift in some multitrack layouts.\nAre you sure you wish to continue ?\n"))) { - mainw->error=TRUE; + mainw->error = TRUE; lives_list_free_all(&mainw->xlays); return; } - add_lmap_error(LMAP_ERROR_SHIFT_AUDIO,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0, - (insert_start-1.)/cfile->fps,(insert_start-1.)/cfile->fps<cfile->stored_layout_audio); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_SHIFT_AUDIO, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, + (insert_start - 1.) / cfile->fps, (insert_start - 1.) / cfile->fps < cfile->stored_layout_audio); + has_lmap_error = TRUE; } else { - if (!(prefs->warning_mask&WARN_MASK_LAYOUT_ALTER_AUDIO)&& - (mainw->xlays=layout_audio_is_affected(mainw->current_file,0.))!=NULL) { + if (!(prefs->warning_mask & WARN_MASK_LAYOUT_ALTER_AUDIO) && + (mainw->xlays = layout_audio_is_affected(mainw->current_file, 0.)) != NULL) { if (!do_layout_alter_audio_warning()) { lives_list_free_all(&mainw->xlays); return; } - add_lmap_error(LMAP_ERROR_ALTER_AUDIO,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0,0., - cfile->stored_layout_audio>0.); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_ALTER_AUDIO, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, 0., + cfile->stored_layout_audio > 0.); + has_lmap_error = TRUE; lives_list_free_all(&mainw->xlays); } } } - if (button!=NULL) { - if ((cfile->fps!=clipboard->fps&&orig_frames>0)||(cfile->arps!=clipboard->arps&&clipboard->achans>0&&with_sound)) { + if (button != NULL) { + if ((cfile->fps != clipboard->fps && orig_frames > 0) || (cfile->arps != clipboard->arps && clipboard->achans > 0 && with_sound)) { if (!do_clipboard_fps_warning()) { - mainw->error=TRUE; + mainw->error = TRUE; return; } } - if (prefs->ins_resample&&clipboard->fps!=cfile->fps&&orig_frames!=0) { - cb_end=count_resampled_frames(clipboard->frames,clipboard->fps,cfile->fps); + if (prefs->ins_resample && clipboard->fps != cfile->fps && orig_frames != 0) { + cb_end = count_resampled_frames(clipboard->frames, clipboard->fps, cfile->fps); } } else { // called from on_merge_activate() - cb_start=mainw->fx1_start; - cb_end=mainw->fx2_start; + cb_start = mainw->fx1_start; + cb_end = mainw->fx2_start; // we will use leave_backup as this will leave our // merge backup in place - leave_backup=-1; + leave_backup = -1; } if (mainw->insert_after) { - cfile->insert_start=cfile->end+1; + cfile->insert_start = cfile->end + 1; } else { - cfile->insert_start=cfile->start; + cfile->insert_start = cfile->start; } - cfile->insert_end=cfile->insert_start-1; + cfile->insert_end = cfile->insert_start - 1; - if (mainw->insert_after) where=cfile->end; + if (mainw->insert_after) where = cfile->end; // at least we should try to convert the audio to match... // if with_sound is TRUE, and clipboard has no audio, we will insert silence (unless target // also has no audio if (with_sound) { - if (clipboard->achans==0) { - if (cfile->achans>0) insert_silence=TRUE; - with_sound=FALSE; + if (clipboard->achans == 0) { + if (cfile->achans > 0) insert_silence = TRUE; + with_sound = FALSE; } else { - if ((cfile->achans*cfile->arps*cfile->asampsize>0) - &&clipboard->achans>0&&(cfile->achans!=clipboard->achans|| - cfile->arps!=clipboard->arps|| - cfile->asampsize!=clipboard->asampsize|| - cfile_signed!=clipboard_signed|| - cfile_endian!=clipboard_endian||cfile->arate!=clipboard->arate)) { + if ((cfile->achans * cfile->arps * cfile->asampsize > 0) + && clipboard->achans > 0 && (cfile->achans != clipboard->achans || + cfile->arps != clipboard->arps || + cfile->asampsize != clipboard->asampsize || + cfile_signed != clipboard_signed || + cfile_endian != clipboard_endian || cfile->arate != clipboard->arate)) { - cb_audio_change=TRUE; + cb_audio_change = TRUE; - if (clipboard->arps!=clipboard->arps||cfile->arate!=clipboard->arate) { + if (clipboard->arps != clipboard->arps || cfile->arate != clipboard->arate) { // pb rate != real rate - stretch to pb rate and resample - if ((audio_stretch=(double)clipboard->arps/(double)clipboard->arate* - (double)cfile->arate/(double)cfile->arps)!=1.) { + if ((audio_stretch = (double)clipboard->arps / (double)clipboard->arate * + (double)cfile->arate / (double)cfile->arps) != 1.) { lives_rm(clipboard->info_file); - com=lives_strdup_printf("%s resample_audio \"%s\" %d %d %d %d %d %d %d %d %d %d %.4f", - prefs->backend, - clipboard->handle,clipboard->arps,clipboard->achans,clipboard->asampsize, - clipboard_signed,clipboard_endian,cfile->arps,clipboard->achans, - clipboard->asampsize,clipboard_signed,clipboard_endian,audio_stretch); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + com = lives_strdup_printf("%s resample_audio \"%s\" %d %d %d %d %d %d %d %d %d %d %.4f", + prefs->backend, + clipboard->handle, clipboard->arps, clipboard->achans, clipboard->asampsize, + clipboard_signed, clipboard_endian, cfile->arps, clipboard->achans, + clipboard->asampsize, clipboard_signed, clipboard_endian, audio_stretch); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { return; } - mainw->current_file=0; - mainw->error=FALSE; - do_progress_dialog(TRUE,FALSE,_("Resampling clipboard audio")); - mainw->current_file=current_file; + mainw->current_file = 0; + mainw->error = FALSE; + do_progress_dialog(TRUE, FALSE, _("Resampling clipboard audio")); + mainw->current_file = current_file; if (mainw->error) { d_print_failed(); return; } // not really, but we pretend... - clipboard->arps=cfile->arps; + clipboard->arps = cfile->arps; } } - if (clipboard->achans>0&&(cfile->achans!=clipboard->achans||cfile->arps!=clipboard->arps|| - cfile->asampsize!=clipboard->asampsize||cfile_signed!=clipboard_signed|| - cfile_endian!=clipboard_endian)) { + if (clipboard->achans > 0 && (cfile->achans != clipboard->achans || cfile->arps != clipboard->arps || + cfile->asampsize != clipboard->asampsize || cfile_signed != clipboard_signed || + cfile_endian != clipboard_endian)) { lives_rm(clipboard->info_file); - com=lives_strdup_printf("%s resample_audio \"%s\" %d %d %d %d %d %d %d %d %d %d", - prefs->backend,clipboard->handle, - clipboard->arps,clipboard->achans,clipboard->asampsize,clipboard_signed, - clipboard_endian,cfile->arps,cfile->achans,cfile->asampsize,cfile_signed,cfile_endian); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + com = lives_strdup_printf("%s resample_audio \"%s\" %d %d %d %d %d %d %d %d %d %d", + prefs->backend, clipboard->handle, + clipboard->arps, clipboard->achans, clipboard->asampsize, clipboard_signed, + clipboard_endian, cfile->arps, cfile->achans, cfile->asampsize, cfile_signed, cfile_endian); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { return; } - mainw->current_file=0; - do_progress_dialog(TRUE,FALSE,_("Resampling clipboard audio")); - mainw->current_file=current_file; + mainw->current_file = 0; + do_progress_dialog(TRUE, FALSE, _("Resampling clipboard audio")); + mainw->current_file = current_file; if (mainw->error) { d_print_failed(); @@ -3145,27 +3092,27 @@ } - if (clipboard->achans>0&&clipboard->afilesize==0l) { + if (clipboard->achans > 0 && clipboard->afilesize == 0l) { if (prefs->conserve_space) { // oops... - clipboard->achans=clipboard->arate=clipboard->asampsize=0; - with_sound=FALSE; + clipboard->achans = clipboard->arate = clipboard->asampsize = 0; + with_sound = FALSE; do_error_dialog (_("\n\nLiVES was unable to resample the clipboard audio. \nClipboard audio has been erased.\n")); } else { lives_rm(clipboard->info_file); - mainw->current_file=0; - com=lives_strdup_printf("%s undo_audio \"%s\"",prefs->backend_sync,clipboard->handle); - lives_system(com,FALSE); + mainw->current_file = 0; + com = lives_strdup_printf("%s undo_audio \"%s\"", prefs->backend_sync, clipboard->handle); + lives_system(com, FALSE); lives_free(com); - mainw->current_file=current_file; + mainw->current_file = current_file; - clipboard->arps=ocarps; + clipboard->arps = ocarps; reget_afilesize(0); if (!do_yesno_dialog (_("\n\nLiVES was unable to resample the clipboard audio.\nDo you wish to continue with the insert \nusing unchanged audio ?\n"))) { - mainw->error=TRUE; + mainw->error = TRUE; return; } } @@ -3174,96 +3121,96 @@ } } - - if (!virtual_ins && clipboard->frame_index!=NULL) { - int current_file=mainw->current_file; + if (!virtual_ins && clipboard->frame_index != NULL) { + int current_file = mainw->current_file; boolean retb; - mainw->cancelled=CANCEL_NONE; - mainw->current_file=0; - cfile->progress_start=1; - cfile->progress_end=count_virtual_frames(cfile->frame_index,1,cb_end); - do_threaded_dialog(_("Pulling frames from clipboard"),TRUE); - retb=virtual_to_images(mainw->current_file,1,cb_end,TRUE,NULL); + mainw->cancelled = CANCEL_NONE; + mainw->current_file = 0; + cfile->progress_start = 1; + cfile->progress_end = count_virtual_frames(cfile->frame_index, 1, cb_end); + do_threaded_dialog(_("Pulling frames from clipboard"), TRUE); + retb = virtual_to_images(mainw->current_file, 1, cb_end, TRUE, NULL); end_threaded_dialog(); - mainw->current_file=current_file; + mainw->current_file = current_file; - if (mainw->cancelled!=CANCEL_NONE||!retb) { + if (mainw->cancelled != CANCEL_NONE || !retb) { sensitize(); - mainw->cancelled=CANCEL_USER; + mainw->cancelled = CANCEL_USER; return; } } // if pref is set, resample clipboard video - if (prefs->ins_resample&&cfile->fps!=clipboard->fps&&orig_frames>0) { - cb_video_change=TRUE; + if (prefs->ins_resample && cfile->fps != clipboard->fps && orig_frames > 0) { + cb_video_change = TRUE; } d_print(""); // force switchtext // if pref is set, resample clipboard video - if (prefs->ins_resample&&cfile->fps!=clipboard->fps&&orig_frames>0) { + if (prefs->ins_resample && cfile->fps != clipboard->fps && orig_frames > 0) { if (!resample_clipboard(cfile->fps)) return; } - if (mainw->fx1_bool&&(cfile->asampsize*cfile->arate*cfile->achans)) { + if (mainw->fx1_bool && (cfile->asampsize * cfile->arate * cfile->achans)) { // in theory this should not change after resampling, but we will recalculate anyway // "insert to fit audio" : number of inserts is (audio_time - video_time) / clipboard_time - times_to_insert=(cfile->laudio_time-cfile->frames>0?(double)cfile->frames/cfile->fps:0.)/((double)clipboard->frames/clipboard->fps); + times_to_insert = (cfile->laudio_time - cfile->frames > 0 ? (double)cfile->frames / cfile->fps : 0.) / (( + double)clipboard->frames / clipboard->fps); } - switch_to_file(0,current_file); + switch_to_file(0, current_file); - if (cb_end>clipboard->frames) { - cb_end=clipboard->frames; + if (cb_end > clipboard->frames) { + cb_end = clipboard->frames; } - if (with_sound&&cfile->achans==0) { - int asigned=!(clipboard->signed_endian&AFORM_UNSIGNED); - int endian=clipboard->signed_endian&AFORM_BIG_ENDIAN; - - cfile->achans=clipboard->achans; - cfile->asampsize=clipboard->asampsize; - cfile->arps=cfile->arate=clipboard->arate; - cfile->signed_endian=clipboard->signed_endian; - - save_clip_value(mainw->current_file,CLIP_DETAILS_ARATE,&cfile->arps); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_PB_ARATE,&cfile->arate); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_ACHANS,&cfile->achans); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_ASIGNED,&asigned); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_AENDIAN,&endian); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_ASAMPS,&cfile->asampsize); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; + if (with_sound && cfile->achans == 0) { + int asigned = !(clipboard->signed_endian & AFORM_UNSIGNED); + int endian = clipboard->signed_endian & AFORM_BIG_ENDIAN; + + cfile->achans = clipboard->achans; + cfile->asampsize = clipboard->asampsize; + cfile->arps = cfile->arate = clipboard->arate; + cfile->signed_endian = clipboard->signed_endian; + + save_clip_value(mainw->current_file, CLIP_DETAILS_ARATE, &cfile->arps); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_PB_ARATE, &cfile->arate); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_ACHANS, &cfile->achans); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_ASIGNED, &asigned); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_AENDIAN, &endian); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_ASAMPS, &cfile->asampsize); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; if (bad_header) do_header_write_error(mainw->current_file); } // first remainder frames - remainder_frames=(int)(times_to_insert-(double)(int)times_to_insert)*clipboard->frames; + remainder_frames = (int)(times_to_insert - (double)(int)times_to_insert) * clipboard->frames; - end=clipboard->frames; - if (virtual_ins) end=-end; + end = clipboard->frames; + if (virtual_ins) end = -end; - if (!mainw->insert_after&&remainder_frames>0) { - d_print(_("Inserting %d%s frames from the clipboard..."),remainder_frames, - times_to_insert>1.?" remainder":""); - - com=lives_strdup_printf("%s insert \"%s\" \"%s\" %d %d %d \"%s\" %d %d %d %d %.3f %d %d %d %d %d", - prefs->backend,cfile->handle, - get_image_ext_for_type(cfile->img_type), where, clipboard->frames-remainder_frames+1, - end, clipboard->handle, with_sound, cfile->frames, hsize, vsize, cfile->fps, - cfile->arate, cfile->achans, cfile->asampsize, !(cfile->signed_endian&AFORM_UNSIGNED), - !(cfile->signed_endian&AFORM_BIG_ENDIAN)); + if (!mainw->insert_after && remainder_frames > 0) { + d_print(_("Inserting %d%s frames from the clipboard..."), remainder_frames, + times_to_insert > 1. ? " remainder" : ""); + + com = lives_strdup_printf("%s insert \"%s\" \"%s\" %d %d %d \"%s\" %d %d %d %d %.3f %d %d %d %d %d", + prefs->backend, cfile->handle, + get_image_ext_for_type(cfile->img_type), where, clipboard->frames - remainder_frames + 1, + end, clipboard->handle, with_sound, cfile->frames, hsize, vsize, cfile->fps, + cfile->arate, cfile->achans, cfile->asampsize, !(cfile->signed_endian & AFORM_UNSIGNED), + !(cfile->signed_endian & AFORM_BIG_ENDIAN)); lives_rm(cfile->info_file); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { @@ -3271,28 +3218,28 @@ return; } - cfile->progress_start=1; - cfile->progress_end=remainder_frames; + cfile->progress_start = 1; + cfile->progress_end = remainder_frames; - do_progress_dialog(TRUE,FALSE,_("Inserting")); + do_progress_dialog(TRUE, FALSE, _("Inserting")); if (mainw->error) { d_print_failed(); return; } - if (cfile->clip_type==CLIP_TYPE_FILE||virtual_ins) { - insert_images_in_virtual(mainw->current_file,where,remainder_frames,clipboard->frame_index,clipboard->frames-remainder_frames+1); + if (cfile->clip_type == CLIP_TYPE_FILE || virtual_ins) { + insert_images_in_virtual(mainw->current_file, where, remainder_frames, clipboard->frame_index, clipboard->frames - remainder_frames + 1); } - cfile->frames+=remainder_frames; - where+=remainder_frames; + cfile->frames += remainder_frames; + where += remainder_frames; - cfile->insert_end+=remainder_frames; + cfile->insert_end += remainder_frames; if (!mainw->insert_after) { - cfile->start+=remainder_frames; - cfile->end+=remainder_frames; + cfile->start += remainder_frames; + cfile->end += remainder_frames; } if (with_sound) { @@ -3302,38 +3249,37 @@ d_print_done(); } - // inserts of whole clipboard - if ((int)times_to_insert>1) { + if ((int)times_to_insert > 1) { d_print(""); - d_print(_("Inserting %d times from the clipboard%s..."),(int)times_to_insert,with_sound? - " (with sound)":""); - } else if ((int)times_to_insert>0) { + d_print(_("Inserting %d times from the clipboard%s..."), (int)times_to_insert, with_sound ? + " (with sound)" : ""); + } else if ((int)times_to_insert > 0) { d_print(""); - d_print(_("Inserting %d frames from the clipboard%s..."),cb_end-cb_start+1,with_sound? - " (with sound)":""); + d_print(_("Inserting %d frames from the clipboard%s..."), cb_end - cb_start + 1, with_sound ? + " (with sound)" : ""); } - if (virtual_ins) cb_end=-cb_end; + if (virtual_ins) cb_end = -cb_end; // for an insert after a merge we set our start posn. -ve // this should indicate to the back end to leave our // backup frames alone - com=lives_strdup_printf("%s insert \"%s\" \"%s\" %d %d %d \"%s\" %d %d %d %d %.3f %d %d %d %d %d %d", - prefs->backend,cfile->handle, - get_image_ext_for_type(cfile->img_type), where, cb_start*leave_backup, cb_end, - clipboard->handle, with_sound, cfile->frames, hsize, vsize, cfile->fps, cfile->arate, - cfile->achans, cfile->asampsize, !(cfile->signed_endian&AFORM_UNSIGNED), - !(cfile->signed_endian&AFORM_BIG_ENDIAN), (int)times_to_insert); - - if (virtual_ins) cb_end=-cb_end; - - cfile->progress_start=1; - cfile->progress_end=(cb_end-cb_start+1)*(int)times_to_insert+cfile->frames-where; - mainw->com_failed=FALSE; + com = lives_strdup_printf("%s insert \"%s\" \"%s\" %d %d %d \"%s\" %d %d %d %d %.3f %d %d %d %d %d %d", + prefs->backend, cfile->handle, + get_image_ext_for_type(cfile->img_type), where, cb_start * leave_backup, cb_end, + clipboard->handle, with_sound, cfile->frames, hsize, vsize, cfile->fps, cfile->arate, + cfile->achans, cfile->asampsize, !(cfile->signed_endian & AFORM_UNSIGNED), + !(cfile->signed_endian & AFORM_BIG_ENDIAN), (int)times_to_insert); + + if (virtual_ins) cb_end = -cb_end; + + cfile->progress_start = 1; + cfile->progress_end = (cb_end - cb_start + 1) * (int)times_to_insert + cfile->frames - where; + mainw->com_failed = FALSE; lives_rm(cfile->info_file); - lives_system(com,FALSE); + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { @@ -3342,11 +3288,11 @@ } // show a progress dialog - cfile->nopreview=TRUE; - if (!do_progress_dialog(TRUE,TRUE,_("Inserting"))) { + cfile->nopreview = TRUE; + if (!do_progress_dialog(TRUE, TRUE, _("Inserting"))) { // cancelled - cfile->nopreview=FALSE; + cfile->nopreview = FALSE; if (mainw->error) { d_print_failed(); @@ -3354,28 +3300,28 @@ } // clean up moved/inserted frames - com=lives_strdup_printf("%s undo_insert \"%s\" %d %d %d \"%s\"", - prefs->backend,cfile->handle,where+1, - where+(cb_end-cb_start+1)*(int)times_to_insert,cfile->frames, - get_image_ext_for_type(cfile->img_type)); - lives_system(com,FALSE); + com = lives_strdup_printf("%s undo_insert \"%s\" %d %d %d \"%s\"", + prefs->backend, cfile->handle, where + 1, + where + (cb_end - cb_start + 1) * (int)times_to_insert, cfile->frames, + get_image_ext_for_type(cfile->img_type)); + lives_system(com, FALSE); lives_free(com); - do_progress_dialog(TRUE,FALSE,_("Cancelling")); + do_progress_dialog(TRUE, FALSE, _("Cancelling")); - cfile->start=ostart; - cfile->end=oend; + cfile->start = ostart; + cfile->end = oend; if (with_sound) { // desample clipboard audio - if (cb_audio_change&&!prefs->conserve_space) { + if (cb_audio_change && !prefs->conserve_space) { lives_rm(clipboard->info_file); - com=lives_strdup_printf("%s undo_audio \"%s\"",prefs->backend_sync,clipboard->handle); - mainw->current_file=0; - lives_system(com,FALSE); + com = lives_strdup_printf("%s undo_audio \"%s\"", prefs->backend_sync, clipboard->handle); + mainw->current_file = 0; + lives_system(com, FALSE); lives_free(com); - mainw->current_file=current_file; - clipboard->arps=ocarps; + mainw->current_file = current_file; + clipboard->arps = ocarps; reget_afilesize(0); } @@ -3383,36 +3329,37 @@ if (cb_video_change) { // desample clipboard video - mainw->current_file=0; - mainw->no_switch_dprint=TRUE; - on_undo_activate(NULL,NULL); - mainw->no_switch_dprint=FALSE; - mainw->current_file=current_file; + mainw->current_file = 0; + mainw->no_switch_dprint = TRUE; + on_undo_activate(NULL, NULL); + mainw->no_switch_dprint = FALSE; + mainw->current_file = current_file; } - switch_to_file(0,current_file); - set_undoable(NULL,FALSE); - mainw->cancelled=CANCEL_USER; + switch_to_file(0, current_file); + set_undoable(NULL, FALSE); + mainw->cancelled = CANCEL_USER; return; } - mainw->cancelled=CANCEL_NONE; - cfile->nopreview=FALSE; + mainw->cancelled = CANCEL_NONE; + cfile->nopreview = FALSE; - if (cfile->clip_type==CLIP_TYPE_FILE||virtual_ins) { - insert_images_in_virtual(mainw->current_file,where,(cb_end-cb_start+1)*(int)times_to_insert,clipboard->frame_index,cb_start*leave_backup); + if (cfile->clip_type == CLIP_TYPE_FILE || virtual_ins) { + insert_images_in_virtual(mainw->current_file, where, (cb_end - cb_start + 1) * (int)times_to_insert, clipboard->frame_index, + cb_start * leave_backup); } - cfile->frames+=(cb_end-cb_start+1)*(int)times_to_insert; - where+=(cb_end-cb_start+1)*(int)times_to_insert; - cfile->insert_end+=(cb_end-cb_start+1)*(int)times_to_insert; + cfile->frames += (cb_end - cb_start + 1) * (int)times_to_insert; + where += (cb_end - cb_start + 1) * (int)times_to_insert; + cfile->insert_end += (cb_end - cb_start + 1) * (int)times_to_insert; if (!mainw->insert_after) { - cfile->start+=(cb_end-cb_start+1)*(int)times_to_insert; - cfile->end+=(cb_end-cb_start+1)*(int)times_to_insert; + cfile->start += (cb_end - cb_start + 1) * (int)times_to_insert; + cfile->end += (cb_end - cb_start + 1) * (int)times_to_insert; } - if (with_sound==1) { + if (with_sound == 1) { reget_afilesize(mainw->current_file); } get_play_times(); @@ -3420,177 +3367,172 @@ // last remainder frames - if (mainw->insert_after&&remainder_frames>0) { - d_print(_("Inserting %d%s frames from the clipboard..."),remainder_frames, - times_to_insert>1.?" remainder":""); - - if (virtual_ins) remainder_frames=-remainder_frames; - - com=lives_strdup_printf("%s insert \"%s\" \"%s\" %d %d %d \"%s\" %d %d %d %d %3f %d %d %d %d %d", - prefs->backend,cfile->handle, - get_image_ext_for_type(cfile->img_type), where, 1, remainder_frames, clipboard->handle, - with_sound, cfile->frames, hsize, vsize, cfile->fps, cfile->arate, cfile->achans, - cfile->asampsize, !(cfile->signed_endian&AFORM_UNSIGNED), - !(cfile->signed_endian&AFORM_BIG_ENDIAN)); + if (mainw->insert_after && remainder_frames > 0) { + d_print(_("Inserting %d%s frames from the clipboard..."), remainder_frames, + times_to_insert > 1. ? " remainder" : ""); + + if (virtual_ins) remainder_frames = -remainder_frames; + + com = lives_strdup_printf("%s insert \"%s\" \"%s\" %d %d %d \"%s\" %d %d %d %d %3f %d %d %d %d %d", + prefs->backend, cfile->handle, + get_image_ext_for_type(cfile->img_type), where, 1, remainder_frames, clipboard->handle, + with_sound, cfile->frames, hsize, vsize, cfile->fps, cfile->arate, cfile->achans, + cfile->asampsize, !(cfile->signed_endian & AFORM_UNSIGNED), + !(cfile->signed_endian & AFORM_BIG_ENDIAN)); lives_rm(cfile->info_file); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); if (mainw->com_failed) { d_print_failed(); return; } - if (virtual_ins) remainder_frames=-remainder_frames; + if (virtual_ins) remainder_frames = -remainder_frames; - cfile->progress_start=1; - cfile->progress_end=remainder_frames; + cfile->progress_start = 1; + cfile->progress_end = remainder_frames; - do_progress_dialog(TRUE,FALSE,_("Inserting")); + do_progress_dialog(TRUE, FALSE, _("Inserting")); if (mainw->error) { d_print_failed(); return; } - if (cfile->clip_type==CLIP_TYPE_FILE||virtual_ins) { - insert_images_in_virtual(mainw->current_file,where,remainder_frames,clipboard->frame_index,1); + if (cfile->clip_type == CLIP_TYPE_FILE || virtual_ins) { + insert_images_in_virtual(mainw->current_file, where, remainder_frames, clipboard->frame_index, 1); } - cfile->frames+=remainder_frames; - cfile->insert_end+=remainder_frames; + cfile->frames += remainder_frames; + cfile->insert_end += remainder_frames; lives_free(com); if (!mainw->insert_after) { - cfile->start+=remainder_frames; - cfile->end+=remainder_frames; + cfile->start += remainder_frames; + cfile->end += remainder_frames; } get_play_times(); d_print_done(); } - // if we had deferred audio, we insert silence in selection if (insert_silence) { - cfile->undo1_dbl=calc_time_from_frame(mainw->current_file,cfile->insert_start); - cfile->undo2_dbl=calc_time_from_frame(mainw->current_file,cfile->insert_end+1); - cfile->undo_arate=cfile->arate; - cfile->undo_signed_endian=cfile->signed_endian; - cfile->undo_achans=cfile->achans; - cfile->undo_asampsize=cfile->asampsize; - cfile->undo_arps=cfile->arps; + cfile->undo1_dbl = calc_time_from_frame(mainw->current_file, cfile->insert_start); + cfile->undo2_dbl = calc_time_from_frame(mainw->current_file, cfile->insert_end + 1); + cfile->undo_arate = cfile->arate; + cfile->undo_signed_endian = cfile->signed_endian; + cfile->undo_achans = cfile->achans; + cfile->undo_asampsize = cfile->asampsize; + cfile->undo_arps = cfile->arps; - on_ins_silence_activate(NULL,NULL); + on_ins_silence_activate(NULL, NULL); - with_sound=TRUE; + with_sound = TRUE; } - // insert done // start or end can be zero if we inserted into pure audio - if (cfile->start==0&&cfile->frames>0) cfile->start=1; - if (cfile->end==0) cfile->end=cfile->frames; + if (cfile->start == 0 && cfile->frames > 0) cfile->start = 1; + if (cfile->end == 0) cfile->end = cfile->frames; - if (cfile->frames>0&&orig_frames==0) { - lives_snprintf(cfile->type,40,"Frames"); - cfile->orig_file_name=FALSE; - cfile->hsize=clipboard->hsize; - cfile->vsize=clipboard->vsize; - cfile->bpp=clipboard->bpp; - cfile->fps=cfile->pb_fps=clipboard->fps; - save_clip_value(mainw->current_file,CLIP_DETAILS_WIDTH,&cfile->hsize); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_HEIGHT,&cfile->vsize); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_BPP,&cfile->bpp); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_FPS,&cfile->fps); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_PB_FPS,&cfile->fps); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; + if (cfile->frames > 0 && orig_frames == 0) { + lives_snprintf(cfile->type, 40, "Frames"); + cfile->orig_file_name = FALSE; + cfile->hsize = clipboard->hsize; + cfile->vsize = clipboard->vsize; + cfile->bpp = clipboard->bpp; + cfile->fps = cfile->pb_fps = clipboard->fps; + save_clip_value(mainw->current_file, CLIP_DETAILS_WIDTH, &cfile->hsize); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_HEIGHT, &cfile->vsize); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_BPP, &cfile->bpp); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_FPS, &cfile->fps); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_PB_FPS, &cfile->fps); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; if (bad_header) do_header_write_error(mainw->current_file); } - lives_signal_handler_block(mainw->spinbutton_end,mainw->spin_end_func); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->spinbutton_end),cfile->frames==0?0:1,cfile->frames); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end),cfile->end); - lives_signal_handler_unblock(mainw->spinbutton_end,mainw->spin_end_func); - + lives_signal_handler_block(mainw->spinbutton_end, mainw->spin_end_func); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->spinbutton_end), cfile->frames == 0 ? 0 : 1, cfile->frames); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end), cfile->end); + lives_signal_handler_unblock(mainw->spinbutton_end, mainw->spin_end_func); + + lives_signal_handler_block(mainw->spinbutton_start, mainw->spin_start_func); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->spinbutton_start), cfile->frames == 0 ? 0 : 1, cfile->frames); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start), cfile->start); + lives_signal_handler_unblock(mainw->spinbutton_start, mainw->spin_start_func); - lives_signal_handler_block(mainw->spinbutton_start,mainw->spin_start_func); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->spinbutton_start),cfile->frames==0?0:1,cfile->frames); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start),cfile->start); - lives_signal_handler_unblock(mainw->spinbutton_start,mainw->spin_start_func); - - set_undoable(_("Insert"),TRUE); - cfile->undo1_boolean=with_sound; + set_undoable(_("Insert"), TRUE); + cfile->undo1_boolean = with_sound; lives_widget_set_sensitive(mainw->select_new, TRUE); // mark new file size as 'Unknown' - cfile->f_size=0l; - cfile->changed=TRUE; + cfile->f_size = 0l; + cfile->changed = TRUE; if (with_sound) { - cfile->undo_action=UNDO_INSERT_WITH_AUDIO; - if (cb_audio_change&&!prefs->conserve_space&&clipboard->achans>0) { + cfile->undo_action = UNDO_INSERT_WITH_AUDIO; + if (cb_audio_change && !prefs->conserve_space && clipboard->achans > 0) { lives_rm(clipboard->info_file); - mainw->current_file=0; - com=lives_strdup_printf("%s undo_audio \"%s\"",prefs->backend_sync,clipboard->handle); - lives_system(com,FALSE); + mainw->current_file = 0; + com = lives_strdup_printf("%s undo_audio \"%s\"", prefs->backend_sync, clipboard->handle); + lives_system(com, FALSE); lives_free(com); - mainw->current_file=current_file; - clipboard->arps=ocarps; + mainw->current_file = current_file; + clipboard->arps = ocarps; reget_afilesize(0); } - } else cfile->undo_action=UNDO_INSERT; + } else cfile->undo_action = UNDO_INSERT; if (cb_video_change) { - mainw->current_file=0; - mainw->no_switch_dprint=TRUE; - on_undo_activate(NULL,NULL); - mainw->no_switch_dprint=FALSE; - mainw->current_file=current_file; + mainw->current_file = 0; + mainw->no_switch_dprint = TRUE; + on_undo_activate(NULL, NULL); + mainw->no_switch_dprint = FALSE; + mainw->current_file = current_file; } - save_clip_value(mainw->current_file,CLIP_DETAILS_FRAMES,&cfile->frames); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_FRAMES, &cfile->frames); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; if (bad_header) do_header_write_error(mainw->current_file); - switch_to_file(0,current_file); - mainw->error=FALSE; + switch_to_file(0, current_file); + mainw->error = FALSE; - if (has_lmap_error) popup_lmap_errors(NULL,NULL); + if (has_lmap_error) popup_lmap_errors(NULL, NULL); - if (mainw->sl_undo_mem!=NULL&&(cfile->stored_layout_frame!=0||(with_sound&&cfile->stored_layout_audio!=0.))) { + if (mainw->sl_undo_mem != NULL && (cfile->stored_layout_frame != 0 || (with_sound && cfile->stored_layout_audio != 0.))) { // need to invalidate undo/redo stack, in case file was used in some layout undo stored_event_list_free_undos(); } - } - void on_delete_activate(LiVESMenuItem *menuitem, livespointer user_data) { char *com; - boolean has_lmap_error=FALSE; - boolean bad_header=FALSE; + boolean has_lmap_error = FALSE; + boolean bad_header = FALSE; - int frames_cut=cfile->end-cfile->start+1; - int start=cfile->start; - int end=cfile->end; + int frames_cut = cfile->end - cfile->start + 1; + int start = cfile->start; + int end = cfile->end; // occasionally we get a keyboard misread, so this should prevent that - if (mainw->playing_file>-1) return; + if (mainw->playing_file > -1) return; - if (cfile->start<=1 && cfile->end==cfile->frames) { - if (!mainw->osc_auto&&menuitem!=LIVES_MENU_ITEM(mainw->cut) && (cfile->achans==0|| - ((double)frames_cut/cfile->fps>=cfile->laudio_time && + if (cfile->start <= 1 && cfile->end == cfile->frames) { + if (!mainw->osc_auto && menuitem != LIVES_MENU_ITEM(mainw->cut) && (cfile->achans == 0 || + ((double)frames_cut / cfile->fps >= cfile->laudio_time && mainw->ccpd_with_sound))) { if (do_warning_dialog (_("\nDeleting all frames will close this file.\nAre you sure ?"))) close_current_file(0); @@ -3598,115 +3540,115 @@ } } - if (menuitem!=NULL) { - if (!(prefs->warning_mask&WARN_MASK_LAYOUT_DELETE_FRAMES)) { - if ((mainw->xlays=layout_frame_is_affected(mainw->current_file,cfile->end-frames_cut))!=NULL) { + if (menuitem != NULL) { + if (!(prefs->warning_mask & WARN_MASK_LAYOUT_DELETE_FRAMES)) { + if ((mainw->xlays = layout_frame_is_affected(mainw->current_file, cfile->end - frames_cut)) != NULL) { if (!do_warning_dialog (_("\nDeletion will cause missing frames in some multitrack layouts.\nAre you sure you wish to continue ?\n"))) { lives_list_free_all(&mainw->xlays); return; } - add_lmap_error(LMAP_ERROR_DELETE_FRAMES,cfile->name,(livespointer)cfile->layout_map,mainw->current_file, - cfile->end-frames_cut,0.,count_resampled_frames(cfile->stored_layout_frame, - cfile->stored_layout_fps,cfile->fps)>= - (cfile->end-frames_cut)); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_DELETE_FRAMES, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, + cfile->end - frames_cut, 0., count_resampled_frames(cfile->stored_layout_frame, + cfile->stored_layout_fps, cfile->fps) >= + (cfile->end - frames_cut)); + has_lmap_error = TRUE; lives_list_free_all(&mainw->xlays); } } - if (mainw->ccpd_with_sound&&!(prefs->warning_mask&WARN_MASK_LAYOUT_DELETE_AUDIO)) { - if ((mainw->xlays=layout_audio_is_affected(mainw->current_file,(cfile->end-frames_cut)/cfile->fps))!=NULL) { + if (mainw->ccpd_with_sound && !(prefs->warning_mask & WARN_MASK_LAYOUT_DELETE_AUDIO)) { + if ((mainw->xlays = layout_audio_is_affected(mainw->current_file, (cfile->end - frames_cut) / cfile->fps)) != NULL) { if (!do_warning_dialog (_("\nDeletion will cause missing audio in some multitrack layouts.\nAre you sure you wish to continue ?\n"))) { lives_list_free_all(&mainw->xlays); return; } - add_lmap_error(LMAP_ERROR_DELETE_AUDIO,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0, - (cfile->end-frames_cut-1.)/cfile->fps,(cfile->end-frames_cut-1.)/ - cfile->fps<cfile->stored_layout_audio); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_DELETE_AUDIO, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, + (cfile->end - frames_cut - 1.) / cfile->fps, (cfile->end - frames_cut - 1.) / + cfile->fps < cfile->stored_layout_audio); + has_lmap_error = TRUE; lives_list_free_all(&mainw->xlays); } } - if (!has_lmap_error&&!(prefs->warning_mask&WARN_MASK_LAYOUT_SHIFT_FRAMES)) { - if ((mainw->xlays=layout_frame_is_affected(mainw->current_file,cfile->start))!=NULL) { + if (!has_lmap_error && !(prefs->warning_mask & WARN_MASK_LAYOUT_SHIFT_FRAMES)) { + if ((mainw->xlays = layout_frame_is_affected(mainw->current_file, cfile->start)) != NULL) { if (!do_warning_dialog (_("\nDeletion will cause frames to shift in some multitrack layouts.\nAre you sure you wish to continue ?\n"))) { lives_list_free_all(&mainw->xlays); return; } - add_lmap_error(LMAP_ERROR_SHIFT_FRAMES,cfile->name,(livespointer)cfile->layout_map,mainw->current_file, - cfile->start,0.,cfile->start<=count_resampled_frames(cfile->stored_layout_frame, - cfile->stored_layout_fps,cfile->fps)); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_SHIFT_FRAMES, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, + cfile->start, 0., cfile->start <= count_resampled_frames(cfile->stored_layout_frame, + cfile->stored_layout_fps, cfile->fps)); + has_lmap_error = TRUE; lives_list_free_all(&mainw->xlays); } } - if (mainw->ccpd_with_sound&&!has_lmap_error&&!(prefs->warning_mask&WARN_MASK_LAYOUT_SHIFT_AUDIO)) { - if ((mainw->xlays=layout_audio_is_affected(mainw->current_file,(cfile->start-1.)/cfile->fps))!=NULL) { + if (mainw->ccpd_with_sound && !has_lmap_error && !(prefs->warning_mask & WARN_MASK_LAYOUT_SHIFT_AUDIO)) { + if ((mainw->xlays = layout_audio_is_affected(mainw->current_file, (cfile->start - 1.) / cfile->fps)) != NULL) { if (!do_warning_dialog (_("\nDeletion will cause audio to shift in some multitrack layouts.\nAre you sure you wish to continue ?\n"))) { lives_list_free_all(&mainw->xlays); return; } - add_lmap_error(LMAP_ERROR_SHIFT_AUDIO,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0, - (cfile->start-1.)/cfile->fps,(cfile->start-1.)/cfile->fps<=cfile->stored_layout_audio); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_SHIFT_AUDIO, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, + (cfile->start - 1.) / cfile->fps, (cfile->start - 1.) / cfile->fps <= cfile->stored_layout_audio); + has_lmap_error = TRUE; lives_list_free_all(&mainw->xlays); } } - if (!has_lmap_error&&!(prefs->warning_mask&WARN_MASK_LAYOUT_ALTER_FRAMES)&& - (mainw->xlays=layout_frame_is_affected(mainw->current_file,1))!=NULL) { + if (!has_lmap_error && !(prefs->warning_mask & WARN_MASK_LAYOUT_ALTER_FRAMES) && + (mainw->xlays = layout_frame_is_affected(mainw->current_file, 1)) != NULL) { if (!do_layout_alter_frames_warning()) { lives_list_free_all(&mainw->xlays); return; } - add_lmap_error(LMAP_ERROR_ALTER_FRAMES,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0,0., - cfile->stored_layout_frame>0); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_ALTER_FRAMES, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, 0., + cfile->stored_layout_frame > 0); + has_lmap_error = TRUE; lives_list_free_all(&mainw->xlays); } - if (mainw->ccpd_with_sound&&!has_lmap_error&&!(prefs->warning_mask&WARN_MASK_LAYOUT_ALTER_AUDIO)&& - (mainw->xlays=layout_audio_is_affected(mainw->current_file,0.))!=NULL) { + if (mainw->ccpd_with_sound && !has_lmap_error && !(prefs->warning_mask & WARN_MASK_LAYOUT_ALTER_AUDIO) && + (mainw->xlays = layout_audio_is_affected(mainw->current_file, 0.)) != NULL) { if (!do_layout_alter_audio_warning()) { lives_list_free_all(&mainw->xlays); return; } - add_lmap_error(LMAP_ERROR_ALTER_AUDIO,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0,0., - cfile->stored_layout_audio>0.); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_ALTER_AUDIO, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, 0., + cfile->stored_layout_audio > 0.); + has_lmap_error = TRUE; lives_list_free_all(&mainw->xlays); } } - if (cfile->start<=1&&cfile->end==cfile->frames) { - cfile->ohsize=cfile->hsize; - cfile->ovsize=cfile->vsize; + if (cfile->start <= 1 && cfile->end == cfile->frames) { + cfile->ohsize = cfile->hsize; + cfile->ovsize = cfile->vsize; } - cfile->undo_start=cfile->start; - cfile->undo_end=cfile->end; - cfile->undo1_boolean=mainw->ccpd_with_sound; + cfile->undo_start = cfile->start; + cfile->undo_end = cfile->end; + cfile->undo1_boolean = mainw->ccpd_with_sound; - if (menuitem!=NULL||mainw->osc_auto) { + if (menuitem != NULL || mainw->osc_auto) { d_print(""); // force switchtext - d_print(_("Deleting frames %d to %d%s..."),cfile->start,cfile->end, - mainw->ccpd_with_sound&&cfile->achans>0?" (with sound)":""); + d_print(_("Deleting frames %d to %d%s..."), cfile->start, cfile->end, + mainw->ccpd_with_sound && cfile->achans > 0 ? " (with sound)" : ""); } - com=lives_strdup_printf("%s cut \"%s\" %d %d %d %d \"%s\" %.3f %d %d %d", - prefs->backend,cfile->handle,cfile->start,cfile->end, - mainw->ccpd_with_sound, cfile->frames, get_image_ext_for_type(cfile->img_type), - cfile->fps, cfile->arate, cfile->achans, cfile->asampsize); + com = lives_strdup_printf("%s cut \"%s\" %d %d %d %d \"%s\" %.3f %d %d %d", + prefs->backend, cfile->handle, cfile->start, cfile->end, + mainw->ccpd_with_sound, cfile->frames, get_image_ext_for_type(cfile->img_type), + cfile->fps, cfile->arate, cfile->achans, cfile->asampsize); lives_rm(cfile->info_file); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { @@ -3714,78 +3656,78 @@ return; } - cfile->progress_start=cfile->start; - cfile->progress_end=cfile->frames; + cfile->progress_start = cfile->start; + cfile->progress_end = cfile->frames; // show a progress dialog, not cancellable - do_progress_dialog(TRUE,FALSE,_("Deleting")); + do_progress_dialog(TRUE, FALSE, _("Deleting")); - if (cfile->clip_type==CLIP_TYPE_FILE) { + if (cfile->clip_type == CLIP_TYPE_FILE) { delete_frames_from_virtual(mainw->current_file, cfile->start, cfile->end); } - cfile->frames-=frames_cut; + cfile->frames -= frames_cut; - cfile->undo_arate=cfile->arate; - cfile->undo_signed_endian=cfile->signed_endian; - cfile->undo_achans=cfile->achans; - cfile->undo_asampsize=cfile->asampsize; - cfile->undo_arps=cfile->arps; + cfile->undo_arate = cfile->arate; + cfile->undo_signed_endian = cfile->signed_endian; + cfile->undo_achans = cfile->achans; + cfile->undo_asampsize = cfile->asampsize; + cfile->undo_arps = cfile->arps; if (mainw->ccpd_with_sound) { reget_afilesize(mainw->current_file); } - if (cfile->frames==0) { - if (cfile->afilesize==0l) { + if (cfile->frames == 0) { + if (cfile->afilesize == 0l) { close_current_file(0); return; } - lives_snprintf(cfile->type,40,"Audio"); - cfile->hsize=cfile->vsize=0; - save_clip_value(mainw->current_file,CLIP_DETAILS_WIDTH,&cfile->hsize); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_HEIGHT,&cfile->vsize); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; + lives_snprintf(cfile->type, 40, "Audio"); + cfile->hsize = cfile->vsize = 0; + save_clip_value(mainw->current_file, CLIP_DETAILS_WIDTH, &cfile->hsize); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_HEIGHT, &cfile->vsize); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; if (bad_header) do_header_write_error(mainw->current_file); - cfile->orig_file_name=FALSE; + cfile->orig_file_name = FALSE; desensitize(); sensitize(); } - if (!mainw->selwidth_locked||cfile->start>cfile->frames) { - if (--start==0&&cfile->frames>0) { - start=1; + if (!mainw->selwidth_locked || cfile->start > cfile->frames) { + if (--start == 0 && cfile->frames > 0) { + start = 1; } } - cfile->start=start; + cfile->start = start; if (!mainw->selwidth_locked) { - cfile->end=start; + cfile->end = start; } else { - cfile->end=end; - if (cfile->end>cfile->frames) { - cfile->end=cfile->frames; + cfile->end = end; + if (cfile->end > cfile->frames) { + cfile->end = cfile->frames; } } - lives_signal_handler_block(mainw->spinbutton_end,mainw->spin_end_func); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->spinbutton_end),cfile->frames==0?0:1,cfile->frames); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end),cfile->end); - lives_signal_handler_unblock(mainw->spinbutton_end,mainw->spin_end_func); + lives_signal_handler_block(mainw->spinbutton_end, mainw->spin_end_func); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->spinbutton_end), cfile->frames == 0 ? 0 : 1, cfile->frames); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end), cfile->end); + lives_signal_handler_unblock(mainw->spinbutton_end, mainw->spin_end_func); - lives_signal_handler_block(mainw->spinbutton_start,mainw->spin_start_func); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->spinbutton_start),cfile->frames==0?0:1,cfile->frames); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start),cfile->start); - lives_signal_handler_unblock(mainw->spinbutton_start,mainw->spin_start_func); + lives_signal_handler_block(mainw->spinbutton_start, mainw->spin_start_func); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->spinbutton_start), cfile->frames == 0 ? 0 : 1, cfile->frames); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start), cfile->start); + lives_signal_handler_unblock(mainw->spinbutton_start, mainw->spin_start_func); // menuitem is NULL if we came here from undo_insert - if (menuitem==NULL&&!mainw->osc_auto) return; + if (menuitem == NULL && !mainw->osc_auto) return; - save_clip_value(mainw->current_file,CLIP_DETAILS_FRAMES,&cfile->frames); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_FRAMES, &cfile->frames); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; load_start_image(cfile->start); load_end_image(cfile->end); @@ -3795,36 +3737,35 @@ if (bad_header) do_header_write_error(mainw->current_file); // mark new file size as 'Unknown' - cfile->f_size=0l; - cfile->changed=TRUE; + cfile->f_size = 0l; + cfile->changed = TRUE; - set_undoable(_("Delete"),TRUE); - cfile->undo_action=UNDO_DELETE; + set_undoable(_("Delete"), TRUE); + cfile->undo_action = UNDO_DELETE; d_print_done(); - if (has_lmap_error) popup_lmap_errors(NULL,NULL); + if (has_lmap_error) popup_lmap_errors(NULL, NULL); - if (mainw->sl_undo_mem!=NULL&&(cfile->stored_layout_frame!=0||(mainw->ccpd_with_sound&&cfile->stored_layout_audio!=0.))) { + if (mainw->sl_undo_mem != NULL && (cfile->stored_layout_frame != 0 || (mainw->ccpd_with_sound && cfile->stored_layout_audio != 0.))) { // need to invalidate undo/redo stack, in case file was used in some layout undo stored_event_list_free_undos(); } } - void on_select_all_activate(LiVESMenuItem *menuitem, livespointer user_data) { - if (mainw->current_file==-1) return; + if (mainw->current_file == -1) return; if (mainw->selwidth_locked) { - if (menuitem!=NULL) do_error_dialog(_("\n\nSelection is locked.\n")); + if (menuitem != NULL) do_error_dialog(_("\n\nSelection is locked.\n")); return; } - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start),1); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end),cfile->frames); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start), 1); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end), cfile->frames); - cfile->start=cfile->frames>0?1:0; - cfile->end=cfile->frames; + cfile->start = cfile->frames > 0 ? 1 : 0; + cfile->end = cfile->frames; get_play_times(); @@ -3834,24 +3775,24 @@ void on_select_start_only_activate(LiVESMenuItem *menuitem, livespointer user_data) { - if (mainw->current_file==-1) return; - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end),cfile->start); + if (mainw->current_file == -1) return; + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end), cfile->start); } + void on_select_end_only_activate(LiVESMenuItem *menuitem, livespointer user_data) { - if (mainw->current_file==-1) return; - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start),cfile->end); + if (mainw->current_file == -1) return; + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start), cfile->end); } - void on_select_invert_activate(LiVESMenuItem *menuitem, livespointer user_data) { - if (cfile->start==1) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start),cfile->end+1); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end),cfile->frames); + if (cfile->start == 1) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start), cfile->end + 1); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end), cfile->frames); } else { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end),cfile->start-1); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start),1); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end), cfile->start - 1); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start), 1); } get_play_times(); @@ -3862,14 +3803,14 @@ void on_select_last_activate(LiVESMenuItem *menuitem, livespointer user_data) { - if (cfile->undo_start > cfile->frames) cfile->undo_start=cfile->frames; - if (cfile->undo_end > cfile->frames) cfile->undo_end=cfile->frames; + if (cfile->undo_start > cfile->frames) cfile->undo_start = cfile->frames; + if (cfile->undo_end > cfile->frames) cfile->undo_end = cfile->frames; - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start),cfile->undo_start); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end),cfile->undo_end); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start), cfile->undo_start); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end), cfile->undo_end); - cfile->start=cfile->undo_start; - cfile->end=cfile->undo_end; + cfile->start = cfile->undo_start; + cfile->end = cfile->undo_end; get_play_times(); @@ -3879,14 +3820,14 @@ void on_select_new_activate(LiVESMenuItem *menuitem, livespointer user_data) { - if (cfile->insert_start > cfile->frames) cfile->insert_start=cfile->frames; - if (cfile->insert_end > cfile->frames) cfile->insert_end=cfile->frames; + if (cfile->insert_start > cfile->frames) cfile->insert_start = cfile->frames; + if (cfile->insert_end > cfile->frames) cfile->insert_end = cfile->frames; - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start),cfile->insert_start); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end),cfile->insert_end); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start), cfile->insert_start); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end), cfile->insert_end); - cfile->start=cfile->insert_start; - cfile->end=cfile->insert_end; + cfile->start = cfile->insert_start; + cfile->end = cfile->insert_end; get_play_times(); @@ -3896,24 +3837,24 @@ void on_select_to_end_activate(LiVESMenuItem *menuitem, livespointer user_data) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end),cfile->frames); - cfile->end=cfile->frames; + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end), cfile->frames); + cfile->end = cfile->frames; get_play_times(); load_end_image(cfile->end); } void on_select_from_start_activate(LiVESMenuItem *menuitem, livespointer user_data) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start),1); - cfile->start=cfile->frames>0?1:0; + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start), 1); + cfile->start = cfile->frames > 0 ? 1 : 0; get_play_times(); load_start_image(cfile->start); } void on_lock_selwidth_activate(LiVESMenuItem *menuitem, livespointer user_data) { - mainw->selwidth_locked=!mainw->selwidth_locked; - lives_widget_set_sensitive(mainw->select_submenu,!mainw->selwidth_locked); + mainw->selwidth_locked = !mainw->selwidth_locked; + lives_widget_set_sensitive(mainw->select_submenu, !mainw->selwidth_locked); } @@ -3924,163 +3865,160 @@ void on_playall_activate(LiVESMenuItem *menuitem, livespointer user_data) { - if (mainw->current_file<=0) return; + if (mainw->current_file <= 0) return; - if (mainw->multitrack!=NULL) { - if (mainw->playing_file==-1) { + if (mainw->multitrack != NULL) { + if (mainw->playing_file == -1) { if (!mainw->multitrack->playing_sel) multitrack_playall(mainw->multitrack); - else multitrack_play_sel(NULL,mainw->multitrack); + else multitrack_play_sel(NULL, mainw->multitrack); } else on_pause_clicked(); return; } - if (mainw->playing_file==-1) { - if (cfile->proc_ptr!=NULL&&menuitem!=NULL) { - on_preview_clicked(LIVES_BUTTON(cfile->proc_ptr->preview_button),NULL); + if (mainw->playing_file == -1) { + if (cfile->proc_ptr != NULL && menuitem != NULL) { + on_preview_clicked(LIVES_BUTTON(cfile->proc_ptr->preview_button), NULL); return; } if (!mainw->osc_auto) { - mainw->play_start=calc_frame_from_time(mainw->current_file, - cfile->pointer_time); - mainw->play_end=cfile->frames; + mainw->play_start = calc_frame_from_time(mainw->current_file, + cfile->pointer_time); + mainw->play_end = cfile->frames; } - mainw->playing_sel=FALSE; + mainw->playing_sel = FALSE; lives_rm(cfile->info_file); play_file(); - lives_ruler_set_value(LIVES_RULER(mainw->hruler),cfile->pointer_time); + lives_ruler_set_value(LIVES_RULER(mainw->hruler), cfile->pointer_time); get_play_times(); - mainw->noswitch=FALSE; + mainw->noswitch = FALSE; } - } void on_playsel_activate(LiVESMenuItem *menuitem, livespointer user_data) { // play part of a clip (in clip editor) - if (mainw->current_file<=0) return; + if (mainw->current_file <= 0) return; - if (cfile->proc_ptr!=NULL&&menuitem!=NULL) { - on_preview_clicked(LIVES_BUTTON(cfile->proc_ptr->preview_button),NULL); + if (cfile->proc_ptr != NULL && menuitem != NULL) { + on_preview_clicked(LIVES_BUTTON(cfile->proc_ptr->preview_button), NULL); return; } if (!mainw->is_rendering) { - mainw->play_start=cfile->start; - mainw->play_end=cfile->end; - mainw->clip_switched=FALSE; + mainw->play_start = cfile->start; + mainw->play_end = cfile->end; + mainw->clip_switched = FALSE; } if (!mainw->preview) { - int orig_play_frame=calc_frame_from_time(mainw->current_file,cfile->pointer_time); - if (orig_play_frame>mainw->play_start&&orig_play_frame<mainw->play_end) { - mainw->play_start=orig_play_frame; + int orig_play_frame = calc_frame_from_time(mainw->current_file, cfile->pointer_time); + if (orig_play_frame > mainw->play_start && orig_play_frame < mainw->play_end) { + mainw->play_start = orig_play_frame; } } - mainw->playing_sel=TRUE; + mainw->playing_sel = TRUE; lives_rm(cfile->info_file); play_file(); - mainw->playing_sel=FALSE; - lives_ruler_set_value(LIVES_RULER(mainw->hruler),cfile->pointer_time); + mainw->playing_sel = FALSE; + lives_ruler_set_value(LIVES_RULER(mainw->hruler), cfile->pointer_time); lives_widget_queue_draw(mainw->hruler); // in case we are rendering and previewing, in case we now have audio - if (mainw->preview&&mainw->is_rendering&&mainw->is_processing) reget_afilesize(mainw->current_file); + if (mainw->preview && mainw->is_rendering && mainw->is_processing) reget_afilesize(mainw->current_file); get_play_times(); - mainw->noswitch=FALSE; + mainw->noswitch = FALSE; } void on_playclip_activate(LiVESMenuItem *menuitem, livespointer user_data) { // play the clipboard - int current_file=mainw->current_file; - boolean oloop=mainw->loop; - boolean oloop_cont=mainw->loop_cont; + int current_file = mainw->current_file; + boolean oloop = mainw->loop; + boolean oloop_cont = mainw->loop_cont; // switch to the clipboard - switch_to_file(current_file,0); + switch_to_file(current_file, 0); lives_widget_set_sensitive(mainw->loop_video, FALSE); lives_widget_set_sensitive(mainw->loop_continue, FALSE); - mainw->loop=mainw->loop_cont=FALSE; + mainw->loop = mainw->loop_cont = FALSE; - mainw->play_start=1; - mainw->play_end=clipboard->frames; - mainw->playing_sel=FALSE; - mainw->loop=FALSE; + mainw->play_start = 1; + mainw->play_end = clipboard->frames; + mainw->playing_sel = FALSE; + mainw->loop = FALSE; lives_rm(cfile->info_file); play_file(); - mainw->loop=oloop; - mainw->loop_cont=oloop_cont; + mainw->loop = oloop; + mainw->loop_cont = oloop_cont; - if (current_file>-1) { - switch_to_file(0,current_file); + if (current_file > -1) { + switch_to_file(0, current_file); } else { - mainw->current_file=current_file; + mainw->current_file = current_file; close_current_file(0); } - mainw->noswitch=FALSE; + mainw->noswitch = FALSE; } - - void on_record_perf_activate(LiVESMenuItem *menuitem, livespointer user_data) { // real time recording - if (mainw->multitrack!=NULL) return; + if (mainw->multitrack != NULL) return; - if (mainw->playing_file>-1) { + if (mainw->playing_file > -1) { // we are playing a clip weed_timecode_t tc; - if (!mainw->record||mainw->record_paused) { + if (!mainw->record || mainw->record_paused) { // recording is starting - mainw->record_starting=TRUE; + mainw->record_starting = TRUE; toggle_record(); - if ((prefs->rec_opts&REC_AUDIO)&&(mainw->agen_key!=0||mainw->agen_needs_reinit||prefs->audio_src==AUDIO_SRC_EXT)&& - ((prefs->audio_player==AUD_PLAYER_JACK) || - (prefs->audio_player==AUD_PLAYER_PULSE))) { - - if (mainw->ascrap_file==-1) open_ascrap_file(); - if (mainw->ascrap_file!=-1) { - mainw->rec_samples=-1; // record unlimited + if ((prefs->rec_opts & REC_AUDIO) && (mainw->agen_key != 0 || mainw->agen_needs_reinit || prefs->audio_src == AUDIO_SRC_EXT) && + ((prefs->audio_player == AUD_PLAYER_JACK) || + (prefs->audio_player == AUD_PLAYER_PULSE))) { + + if (mainw->ascrap_file == -1) open_ascrap_file(); + if (mainw->ascrap_file != -1) { + mainw->rec_samples = -1; // record unlimited - mainw->rec_aclip=mainw->ascrap_file; - mainw->rec_avel=1.; + mainw->rec_aclip = mainw->ascrap_file; + mainw->rec_avel = 1.; #ifdef ENABLE_JACK - if (prefs->audio_player==AUD_PLAYER_JACK) { - if (mainw->agen_key==0&&!mainw->agen_needs_reinit) { + if (prefs->audio_player == AUD_PLAYER_JACK) { + if (mainw->agen_key == 0 && !mainw->agen_needs_reinit) { jack_rec_audio_to_clip(mainw->ascrap_file, -1, RECA_EXTERNAL); - mainw->jackd_read->in_use=TRUE; + mainw->jackd_read->in_use = TRUE; } else { - if (mainw->jackd!=NULL) { + if (mainw->jackd != NULL) { jack_rec_audio_to_clip(mainw->ascrap_file, -1, RECA_GENERATED); - mainw->jackd_read->in_use=TRUE; + mainw->jackd_read->in_use = TRUE; } } } #endif #ifdef HAVE_PULSE_AUDIO - if (prefs->audio_player==AUD_PLAYER_PULSE) { - if (mainw->agen_key==0&&!mainw->agen_needs_reinit) { + if (prefs->audio_player == AUD_PLAYER_PULSE) { + if (mainw->agen_key == 0 && !mainw->agen_needs_reinit) { pulse_rec_audio_to_clip(mainw->ascrap_file, -1, RECA_EXTERNAL); - mainw->pulsed_read->in_use=TRUE; + mainw->pulsed_read->in_use = TRUE; } else { - if (mainw->pulsed!=NULL) { + if (mainw->pulsed != NULL) { pulse_rec_audio_to_clip(mainw->ascrap_file, -1, RECA_GENERATED); - mainw->pulsed_read->in_use=TRUE; + mainw->pulsed_read->in_use = TRUE; } } } @@ -4089,16 +4027,15 @@ return; } - - if (prefs->rec_opts&REC_AUDIO) { + if (prefs->rec_opts & REC_AUDIO) { // recording INTERNAL audio #ifdef ENABLE_JACK - if (prefs->audio_player==AUD_PLAYER_JACK&&mainw->jackd!=NULL) { + if (prefs->audio_player == AUD_PLAYER_JACK && mainw->jackd != NULL) { jack_get_rec_avals(mainw->jackd); } #endif #ifdef HAVE_PULSE_AUDIO - if (prefs->audio_player==AUD_PLAYER_PULSE&&mainw->pulsed!=NULL) { + if (prefs->audio_player == AUD_PLAYER_PULSE && mainw->pulsed != NULL) { pulse_get_rec_avals(mainw->pulsed); } #endif @@ -4108,18 +4045,18 @@ // end record during playback - if (mainw->event_list!=NULL) { + if (mainw->event_list != NULL) { // switch audio off at previous frame event pthread_mutex_lock(&mainw->event_list_mutex); #ifdef RT_AUDIO - if (is_realtime_aplayer(prefs->audio_player)&&(prefs->rec_opts&REC_AUDIO)) { - weed_plant_t *last_frame=get_last_frame_event(mainw->event_list); + if (is_realtime_aplayer(prefs->audio_player) && (prefs->rec_opts & REC_AUDIO)) { + weed_plant_t *last_frame = get_last_frame_event(mainw->event_list); insert_audio_event_at(mainw->event_list, last_frame, -1, mainw->rec_aclip, 0., 0.); } #endif - if (prefs->rec_opts&REC_EFFECTS) { + if (prefs->rec_opts & REC_EFFECTS) { // add deinit events for all active effects pthread_mutex_unlock(&mainw->event_list_mutex); add_filter_deinit_events(mainw->event_list); @@ -4127,19 +4064,18 @@ } // write a RECORD_END marker - tc=get_event_timecode(get_last_event(mainw->event_list)); - mainw->event_list=append_marker_event(mainw->event_list, tc, EVENT_MARKER_RECORD_END); // mark record end + tc = get_event_timecode(get_last_event(mainw->event_list)); + mainw->event_list = append_marker_event(mainw->event_list, tc, EVENT_MARKER_RECORD_END); // mark record end pthread_mutex_unlock(&mainw->event_list_mutex); } - mainw->record_paused=TRUE; // pause recording of further events + mainw->record_paused = TRUE; // pause recording of further events enable_record(); return; } - // out of playback // record performance @@ -4148,41 +4084,36 @@ // TODO - change message depending on rec_opts d_print(_("Ready to record. Use 'control' and cursor keys during playback to record your performance.\n" "(To cancel, press 'r' or click on Play|Record Performance again before you play.)\n")); - mainw->record=TRUE; + mainw->record = TRUE; toggle_record(); get_play_times(); } else { d_print(_("Record cancelled.\n")); enable_record(); - mainw->record=FALSE; + mainw->record = FALSE; } } - boolean record_toggle_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { // from osc - boolean start=(boolean)LIVES_POINTER_TO_INT(user_data); + boolean start = (boolean)LIVES_POINTER_TO_INT(user_data); - if ((start&&(!mainw->record||mainw->record_paused))||(!start&&(mainw->record&&!mainw->record_paused))) - on_record_perf_activate(NULL,NULL); + if ((start && (!mainw->record || mainw->record_paused)) || (!start && (mainw->record && !mainw->record_paused))) + on_record_perf_activate(NULL, NULL); return TRUE; } - - - - void on_rewind_activate(LiVESMenuItem *menuitem, livespointer user_data) { - if (mainw->multitrack!=NULL) { - mt_tl_move(mainw->multitrack,0.); + if (mainw->multitrack != NULL) { + mt_tl_move(mainw->multitrack, 0.); return; } - cfile->pointer_time=lives_ruler_set_value(LIVES_RULER(mainw->hruler),0.); + cfile->pointer_time = lives_ruler_set_value(LIVES_RULER(mainw->hruler), 0.); lives_widget_queue_draw(mainw->hruler); lives_widget_set_sensitive(mainw->rewind, FALSE); lives_widget_set_sensitive(mainw->m_rewindbutton, FALSE); @@ -4192,54 +4123,50 @@ void on_stop_activate(LiVESMenuItem *menuitem, livespointer user_data) { - if (mainw->multitrack!=NULL&&mainw->multitrack->is_paused&&mainw->playing_file==-1) { - mainw->multitrack->is_paused=FALSE; - mainw->multitrack->playing_sel=FALSE; - mt_tl_move(mainw->multitrack,mainw->multitrack->ptr_time); + if (mainw->multitrack != NULL && mainw->multitrack->is_paused && mainw->playing_file == -1) { + mainw->multitrack->is_paused = FALSE; + mainw->multitrack->playing_sel = FALSE; + mt_tl_move(mainw->multitrack, mainw->multitrack->ptr_time); lives_widget_set_sensitive(mainw->stop, FALSE); lives_widget_set_sensitive(mainw->m_stopbutton, FALSE); return; } - mainw->cancelled=CANCEL_USER; - if (mainw->jack_can_stop) mainw->jack_can_start=FALSE; - mainw->jack_can_stop=FALSE; - + mainw->cancelled = CANCEL_USER; + if (mainw->jack_can_stop) mainw->jack_can_start = FALSE; + mainw->jack_can_stop = FALSE; } - boolean on_stop_activate_by_del(LiVESWidget *widget, LiVESXEventDelete *event, livespointer user_data) { // called if the user closes the separate play window - if (mainw->playing_file>-1) { - mainw->cancelled=CANCEL_USER; - if (mainw->jack_can_stop) mainw->jack_can_start=FALSE; - mainw->jack_can_stop=FALSE; + if (mainw->playing_file > -1) { + mainw->cancelled = CANCEL_USER; + if (mainw->jack_can_stop) mainw->jack_can_start = FALSE; + mainw->jack_can_stop = FALSE; } - if (prefs->sepwin_type==SEPWIN_TYPE_STICKY) { - on_sepwin_pressed(NULL,NULL); + if (prefs->sepwin_type == SEPWIN_TYPE_STICKY) { + on_sepwin_pressed(NULL, NULL); } return TRUE; } - void on_pause_clicked(void) { - - mainw->jack_can_stop=FALSE; - mainw->cancelled=CANCEL_USER_PAUSED; + mainw->jack_can_stop = FALSE; + mainw->cancelled = CANCEL_USER_PAUSED; } void on_encoder_entry_changed(LiVESCombo *combo, livespointer ptr) { - LiVESList *encoder_capabilities=NULL; - LiVESList *ofmt_all=NULL; - LiVESList *ofmt=NULL; + LiVESList *encoder_capabilities = NULL; + LiVESList *ofmt_all = NULL; + LiVESList *ofmt = NULL; char *new_encoder_name = lives_combo_get_active_text(combo); char *msg; char **array; int i; - render_details *rdet=(render_details *)ptr; + render_details *rdet = (render_details *)ptr; LiVESList *dummy_list; if (!strlen(new_encoder_name)) { @@ -4247,9 +4174,9 @@ return; } - if (!strcmp(new_encoder_name,mainw->string_constants[LIVES_STRING_CONSTANT_ANY])) { + if (!strcmp(new_encoder_name, mainw->string_constants[LIVES_STRING_CONSTANT_ANY])) { LiVESList *ofmt = NULL; - ofmt = lives_list_append(ofmt,lives_strdup(mainw->string_constants[LIVES_STRING_CONSTANT_ANY])); + ofmt = lives_list_append(ofmt, lives_strdup(mainw->string_constants[LIVES_STRING_CONSTANT_ANY])); lives_signal_handler_block(rdet->encoder_combo, rdet->encoder_name_fn); // --- @@ -4259,28 +4186,28 @@ lives_combo_populate(LIVES_COMBO(rdet->ofmt_combo), ofmt); lives_signal_handler_block(rdet->ofmt_combo, rdet->encoder_ofmt_fn); - lives_combo_set_active_string(LIVES_COMBO(rdet->ofmt_combo),mainw->string_constants[LIVES_STRING_CONSTANT_ANY]); + lives_combo_set_active_string(LIVES_COMBO(rdet->ofmt_combo), mainw->string_constants[LIVES_STRING_CONSTANT_ANY]); lives_signal_handler_unblock(rdet->ofmt_combo, rdet->encoder_ofmt_fn); lives_list_free(ofmt); - if (prefs->acodec_list!=NULL) { + if (prefs->acodec_list != NULL) { lives_list_free_all(&prefs->acodec_list); } prefs->acodec_list = lives_list_append(prefs->acodec_list, lives_strdup(mainw->string_constants[LIVES_STRING_CONSTANT_ANY])); lives_combo_populate(LIVES_COMBO(rdet->acodec_combo), prefs->acodec_list); - lives_combo_set_active_string(LIVES_COMBO(rdet->acodec_combo),mainw->string_constants[LIVES_STRING_CONSTANT_ANY]); + lives_combo_set_active_string(LIVES_COMBO(rdet->acodec_combo), mainw->string_constants[LIVES_STRING_CONSTANT_ANY]); lives_free(new_encoder_name); - rdet->enc_changed=FALSE; + rdet->enc_changed = FALSE; return; } // finalise old plugin - plugin_request(PLUGIN_ENCODERS,prefs->encoder.name,"finalise"); + plugin_request(PLUGIN_ENCODERS, prefs->encoder.name, "finalise"); clear_mainw_msg(); // initialise new plugin @@ -4295,11 +4222,8 @@ lives_free(new_encoder_name); if (mainw->is_ready) { - LiVESWindow *twindow=LIVES_WINDOW(mainw->LiVES); - if (prefsw!=NULL) twindow=LIVES_WINDOW(prefsw->prefs_dialog); - else if (mainw->multitrack!=NULL) twindow=LIVES_WINDOW(mainw->multitrack->window); - if (!prefs->show_gui) twindow=(LiVESWindow *)NULL; - do_error_dialog_with_check_transient(msg,TRUE,0,twindow); + LiVESWindow *twindow = get_transient_full(); + do_error_dialog_with_check_transient(msg, TRUE, 0, twindow); } lives_free(msg); @@ -4326,14 +4250,14 @@ } lives_list_free_all(&dummy_list); - lives_snprintf(future_prefs->encoder.name,64,"%s",new_encoder_name); + lives_snprintf(future_prefs->encoder.name, 64, "%s", new_encoder_name); lives_free(new_encoder_name); - if ((encoder_capabilities=plugin_request(PLUGIN_ENCODERS,future_prefs->encoder.name,"get_capabilities"))==NULL) { + if ((encoder_capabilities = plugin_request(PLUGIN_ENCODERS, future_prefs->encoder.name, "get_capabilities")) == NULL) { do_plugin_encoder_error(future_prefs->encoder.name); - if (prefsw!=NULL) { + if (prefsw != NULL) { lives_signal_handler_block(prefsw->encoder_combo, prefsw->encoder_name_fn); // --- lives_combo_set_active_string(LIVES_COMBO(prefsw->encoder_combo), prefs->encoder.name); @@ -4341,7 +4265,7 @@ lives_signal_handler_unblock(prefsw->encoder_combo, prefsw->encoder_name_fn); } - if (rdet!=NULL) { + if (rdet != NULL) { lives_signal_handler_block(rdet->encoder_combo, rdet->encoder_name_fn); // --- lives_combo_set_active_string(LIVES_COMBO(rdet->encoder_combo), rdet->encoder_name); @@ -4350,23 +4274,23 @@ } plugin_request(PLUGIN_ENCODERS, prefs->encoder.name, "init"); - lives_snprintf(future_prefs->encoder.name,64,"%s",prefs->encoder.name); + lives_snprintf(future_prefs->encoder.name, 64, "%s", prefs->encoder.name); return; } - prefs->encoder.capabilities = atoi((char *)lives_list_nth_data(encoder_capabilities,0)); + prefs->encoder.capabilities = atoi((char *)lives_list_nth_data(encoder_capabilities, 0)); lives_list_free_all(&encoder_capabilities); // fill list with new formats - if ((ofmt_all = plugin_request_by_line(PLUGIN_ENCODERS,future_prefs->encoder.name,"get_formats"))!=NULL) { - for (i=0; i<lives_list_length(ofmt_all); i++) { - if (get_token_count((char *)lives_list_nth_data(ofmt_all,i),'|')>2) { - array=lives_strsplit((char *)lives_list_nth_data(ofmt_all,i),"|",-1); - ofmt=lives_list_append(ofmt,lives_strdup(array[1])); + if ((ofmt_all = plugin_request_by_line(PLUGIN_ENCODERS, future_prefs->encoder.name, "get_formats")) != NULL) { + for (i = 0; i < lives_list_length(ofmt_all); i++) { + if (get_token_count((char *)lives_list_nth_data(ofmt_all, i), '|') > 2) { + array = lives_strsplit((char *)lives_list_nth_data(ofmt_all, i), "|", -1); + ofmt = lives_list_append(ofmt, lives_strdup(array[1])); lives_strfreev(array); } } - if (prefsw!=NULL) { + if (prefsw != NULL) { // we have to block here, otherwise on_ofmt_changed gets called for every added entry ! lives_signal_handler_block(prefsw->ofmt_combo, prefsw->encoder_ofmt_fn); @@ -4375,7 +4299,7 @@ lives_signal_handler_unblock(prefsw->ofmt_combo, prefsw->encoder_ofmt_fn); } - if (rdet!=NULL) { + if (rdet != NULL) { // we have to block here, otherwise on_ofmt_changed gets called for every added entry ! lives_signal_handler_block(rdet->ofmt_combo, rdet->encoder_ofmt_fn); @@ -4387,28 +4311,28 @@ lives_list_free(ofmt); // set default (first) output type - array=lives_strsplit((char *)lives_list_nth_data(ofmt_all,0),"|",-1); + array = lives_strsplit((char *)lives_list_nth_data(ofmt_all, 0), "|", -1); - if (rdet!=NULL) { + if (rdet != NULL) { lives_combo_set_active_string(LIVES_COMBO(rdet->ofmt_combo), array[1]); - if (prefsw==NULL&&strcmp(prefs->encoder.name,future_prefs->encoder.name)) { - lives_snprintf(prefs->encoder.name,64,"%s",future_prefs->encoder.name); - set_pref(PREF_ENCODER,prefs->encoder.name); - lives_snprintf(prefs->encoder.of_restrict,1024,"%s",future_prefs->encoder.of_restrict); - prefs->encoder.of_allowed_acodecs=future_prefs->encoder.of_allowed_acodecs; - } - rdet->enc_changed=TRUE; - rdet->encoder_name=lives_strdup(prefs->encoder.name); - lives_widget_set_sensitive(rdet->okbutton,TRUE); + if (prefsw == NULL && strcmp(prefs->encoder.name, future_prefs->encoder.name)) { + lives_snprintf(prefs->encoder.name, 64, "%s", future_prefs->encoder.name); + set_pref(PREF_ENCODER, prefs->encoder.name); + lives_snprintf(prefs->encoder.of_restrict, 1024, "%s", future_prefs->encoder.of_restrict); + prefs->encoder.of_allowed_acodecs = future_prefs->encoder.of_allowed_acodecs; + } + rdet->enc_changed = TRUE; + rdet->encoder_name = lives_strdup(prefs->encoder.name); + lives_widget_set_sensitive(rdet->okbutton, TRUE); } - if (prefsw!=NULL) { + if (prefsw != NULL) { lives_combo_set_active_string(LIVES_COMBO(prefsw->ofmt_combo), array[1]); } on_encoder_ofmt_changed(NULL, rdet); lives_strfreev(array); - if (ofmt_all!=NULL) { + if (ofmt_all != NULL) { lives_list_free_all(&ofmt_all); } } @@ -4417,58 +4341,56 @@ void on_insertwsound_toggled(LiVESToggleButton *togglebutton, livespointer user_data) { if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(togglebutton))) { - lives_widget_set_sensitive(insertw->fit_checkbutton,FALSE); + lives_widget_set_sensitive(insertw->fit_checkbutton, FALSE); } else { - lives_widget_set_sensitive(insertw->fit_checkbutton,cfile->achans>0); + lives_widget_set_sensitive(insertw->fit_checkbutton, cfile->achans > 0); } - mainw->fx2_bool=!mainw->fx2_bool; + mainw->fx2_bool = !mainw->fx2_bool; } void on_insfitaudio_toggled(LiVESToggleButton *togglebutton, livespointer user_data) { - mainw->fx1_bool=!mainw->fx1_bool; + mainw->fx1_bool = !mainw->fx1_bool; if (lives_toggle_button_get_active(togglebutton)) { - lives_widget_set_sensitive(insertw->with_sound,FALSE); - lives_widget_set_sensitive(insertw->without_sound,FALSE); - lives_widget_set_sensitive(insertw->spinbutton_times,FALSE); - } else { - lives_widget_set_sensitive(insertw->with_sound,clipboard->achans>0); - lives_widget_set_sensitive(insertw->without_sound,clipboard->achans>0); - lives_widget_set_sensitive(insertw->spinbutton_times,TRUE); + lives_widget_set_sensitive(insertw->with_sound, FALSE); + lives_widget_set_sensitive(insertw->without_sound, FALSE); + lives_widget_set_sensitive(insertw->spinbutton_times, FALSE); + } else { + lives_widget_set_sensitive(insertw->with_sound, clipboard->achans > 0); + lives_widget_set_sensitive(insertw->without_sound, clipboard->achans > 0); + lives_widget_set_sensitive(insertw->spinbutton_times, TRUE); } } - - boolean dirchange_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer area_enum) { int area; - if (mainw->playing_file==-1||mainw->internal_messaging||(mainw->is_processing&&cfile->is_loaded)) return TRUE; - if (cfile->next_event!=NULL) return TRUE; + if (mainw->playing_file == -1 || mainw->internal_messaging || (mainw->is_processing && cfile->is_loaded)) return TRUE; + if (cfile->next_event != NULL) return TRUE; - area=LIVES_POINTER_TO_INT(area_enum); + area = LIVES_POINTER_TO_INT(area_enum); - if (area==SCREEN_AREA_FOREGROUND||(area==SCREEN_AREA_BACKGROUND&&mainw->blend_file==mainw->current_file)) { - if (mainw->current_file<0||((cfile->clip_type!=CLIP_TYPE_DISK&&cfile->clip_type!=CLIP_TYPE_FILE))) return TRUE; + if (area == SCREEN_AREA_FOREGROUND || (area == SCREEN_AREA_BACKGROUND && mainw->blend_file == mainw->current_file)) { + if (mainw->current_file < 0 || ((cfile->clip_type != CLIP_TYPE_DISK && cfile->clip_type != CLIP_TYPE_FILE))) return TRUE; // change play direction if (cfile->play_paused) { - cfile->freeze_fps=-cfile->freeze_fps; + cfile->freeze_fps = -cfile->freeze_fps; return TRUE; } - lives_signal_handler_block(mainw->spinbutton_pb_fps,mainw->pb_fps_func); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps),-cfile->pb_fps); - lives_signal_handler_unblock(mainw->spinbutton_pb_fps,mainw->pb_fps_func); + lives_signal_handler_block(mainw->spinbutton_pb_fps, mainw->pb_fps_func); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps), -cfile->pb_fps); + lives_signal_handler_unblock(mainw->spinbutton_pb_fps, mainw->pb_fps_func); // make sure this is called, sometimes we switch clips too soon... changed_fps_during_pb(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps), NULL); - } else if (area==SCREEN_AREA_BACKGROUND) { - if (mainw->blend_file<=0||((mainw->files[mainw->blend_file]->clip_type!=CLIP_TYPE_DISK&& - mainw->files[mainw->blend_file]->clip_type!=CLIP_TYPE_FILE))) return TRUE; - mainw->files[mainw->blend_file]->pb_fps=-mainw->files[mainw->blend_file]->pb_fps; + } else if (area == SCREEN_AREA_BACKGROUND) { + if (mainw->blend_file <= 0 || ((mainw->files[mainw->blend_file]->clip_type != CLIP_TYPE_DISK && + mainw->files[mainw->blend_file]->clip_type != CLIP_TYPE_FILE))) return TRUE; + mainw->files[mainw->blend_file]->pb_fps = -mainw->files[mainw->blend_file]->pb_fps; } return TRUE; } @@ -4478,23 +4400,23 @@ // reset playback fps (cfile->pb_fps) to normal fps (cfile->fps) // also resync the audio - if (mainw->playing_file==-1) return TRUE; + if (mainw->playing_file == -1) return TRUE; - if (prefs->audio_opts&AUDIO_OPTS_FOLLOW_FPS) { + if (prefs->audio_opts & AUDIO_OPTS_FOLLOW_FPS) { resync_audio(cfile->frameno); } // change play direction if (cfile->play_paused) { - if (cfile->freeze_fps<0.) cfile->freeze_fps=-cfile->fps; - else cfile->freeze_fps=cfile->fps; + if (cfile->freeze_fps < 0.) cfile->freeze_fps = -cfile->fps; + else cfile->freeze_fps = cfile->fps; return TRUE; } - lives_signal_handler_block(mainw->spinbutton_pb_fps,mainw->pb_fps_func); - if (cfile->pb_fps>0.) lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps),cfile->fps); - else lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps),-cfile->fps); - lives_signal_handler_unblock(mainw->spinbutton_pb_fps,mainw->pb_fps_func); + lives_signal_handler_block(mainw->spinbutton_pb_fps, mainw->pb_fps_func); + if (cfile->pb_fps > 0.) lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps), cfile->fps); + else lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps), -cfile->fps); + lives_signal_handler_unblock(mainw->spinbutton_pb_fps, mainw->pb_fps_func); // make sure this is called, sometimes we switch clips too soon... changed_fps_during_pb(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps), NULL); @@ -4504,9 +4426,9 @@ boolean prevclip_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { LiVESList *list_index; - int i=0; - int num_tried=0,num_clips; - int type=0; + int i = 0; + int num_tried = 0, num_clips; + int type = 0; // prev clip // type = 0 : if the effect is a transition, this will change the background clip @@ -4515,27 +4437,27 @@ if (!mainw->interactive) return TRUE; - if (mainw->current_file<1||mainw->preview||(mainw->is_processing&&cfile->is_loaded)||mainw->cliplist==NULL) return TRUE; + if (mainw->current_file < 1 || mainw->preview || (mainw->is_processing && cfile->is_loaded) || mainw->cliplist == NULL) return TRUE; - if (user_data!=NULL) type=LIVES_POINTER_TO_INT(user_data); + if (user_data != NULL) type = LIVES_POINTER_TO_INT(user_data); - num_clips=lives_list_length(mainw->cliplist); + num_clips = lives_list_length(mainw->cliplist); - if (type==2||(mainw->active_sa_clips==SCREEN_AREA_BACKGROUND&&mainw->playing_file>0&&type!=1)) { - list_index=lives_list_find(mainw->cliplist, LIVES_INT_TO_POINTER(mainw->blend_file)); + if (type == 2 || (mainw->active_sa_clips == SCREEN_AREA_BACKGROUND && mainw->playing_file > 0 && type != 1)) { + list_index = lives_list_find(mainw->cliplist, LIVES_INT_TO_POINTER(mainw->blend_file)); } else { - list_index=lives_list_find(mainw->cliplist, LIVES_INT_TO_POINTER(mainw->current_file)); + list_index = lives_list_find(mainw->cliplist, LIVES_INT_TO_POINTER(mainw->current_file)); } do { - if (num_tried++==num_clips) return TRUE; // we might have only audio clips, and then we will block here - if (list_index==NULL||((list_index=list_index->prev)==NULL)) list_index=lives_list_last(mainw->cliplist); - i=LIVES_POINTER_TO_INT(list_index->data); - } while ((mainw->files[i]==NULL||mainw->files[i]->opening||mainw->files[i]->restoring||i==mainw->scrap_file|| - i==mainw->ascrap_file||(!mainw->files[i]->frames&&mainw->playing_file>-1))&& - i!=((type==2||(mainw->playing_file>0&&mainw->active_sa_clips==SCREEN_AREA_BACKGROUND&&type!=1))? - mainw->blend_file:mainw->current_file)); + if (num_tried++ == num_clips) return TRUE; // we might have only audio clips, and then we will block here + if (list_index == NULL || ((list_index = list_index->prev) == NULL)) list_index = lives_list_last(mainw->cliplist); + i = LIVES_POINTER_TO_INT(list_index->data); + } while ((mainw->files[i] == NULL || mainw->files[i]->opening || mainw->files[i]->restoring || i == mainw->scrap_file || + i == mainw->ascrap_file || (!mainw->files[i]->frames && mainw->playing_file > -1)) && + i != ((type == 2 || (mainw->playing_file > 0 && mainw->active_sa_clips == SCREEN_AREA_BACKGROUND && type != 1)) ? + mainw->blend_file : mainw->current_file)); - switch_clip(type,i,FALSE); + switch_clip(type, i, FALSE); return TRUE; } @@ -4544,36 +4466,36 @@ boolean nextclip_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { LiVESList *list_index; int i; - int num_tried=0,num_clips; + int num_tried = 0, num_clips; - int type=0; + int type = 0; if (!mainw->interactive) return TRUE; // next clip // if the effect is a transition, this will change the background clip - if (mainw->current_file<1||mainw->preview||(mainw->is_processing&&cfile->is_loaded)||mainw->cliplist==NULL) return TRUE; + if (mainw->current_file < 1 || mainw->preview || (mainw->is_processing && cfile->is_loaded) || mainw->cliplist == NULL) return TRUE; - if (user_data!=NULL) type=LIVES_POINTER_TO_INT(user_data); + if (user_data != NULL) type = LIVES_POINTER_TO_INT(user_data); - if (type==2||(mainw->active_sa_clips==SCREEN_AREA_BACKGROUND&&mainw->playing_file>0&&type!=1)) { - list_index=lives_list_find(mainw->cliplist, LIVES_INT_TO_POINTER(mainw->blend_file)); + if (type == 2 || (mainw->active_sa_clips == SCREEN_AREA_BACKGROUND && mainw->playing_file > 0 && type != 1)) { + list_index = lives_list_find(mainw->cliplist, LIVES_INT_TO_POINTER(mainw->blend_file)); } else { - list_index=lives_list_find(mainw->cliplist, LIVES_INT_TO_POINTER(mainw->current_file)); + list_index = lives_list_find(mainw->cliplist, LIVES_INT_TO_POINTER(mainw->current_file)); } - num_clips=lives_list_length(mainw->cliplist); + num_clips = lives_list_length(mainw->cliplist); do { - if (num_tried++==num_clips) return TRUE; // we might have only audio clips, and then we will block here - if (list_index==NULL||((list_index=list_index->next)==NULL)) list_index=mainw->cliplist; - i=LIVES_POINTER_TO_INT(list_index->data); - } while ((mainw->files[i]==NULL||mainw->files[i]->opening||mainw->files[i]->restoring||i==mainw->scrap_file|| - i==mainw->ascrap_file||(!mainw->files[i]->frames&&mainw->playing_file>-1))&& - i!=((type==2||(mainw->playing_file>0&&mainw->active_sa_clips==SCREEN_AREA_BACKGROUND&&type!=1))? - mainw->blend_file:mainw->current_file)); + if (num_tried++ == num_clips) return TRUE; // we might have only audio clips, and then we will block here + if (list_index == NULL || ((list_index = list_index->next) == NULL)) list_index = mainw->cliplist; + i = LIVES_POINTER_TO_INT(list_index->data); + } while ((mainw->files[i] == NULL || mainw->files[i]->opening || mainw->files[i]->restoring || i == mainw->scrap_file || + i == mainw->ascrap_file || (!mainw->files[i]->frames && mainw->playing_file > -1)) && + i != ((type == 2 || (mainw->playing_file > 0 && mainw->active_sa_clips == SCREEN_AREA_BACKGROUND && type != 1)) ? + mainw->blend_file : mainw->current_file)); - switch_clip(type,i,FALSE); + switch_clip(type, i, FALSE); return TRUE; } @@ -4596,20 +4518,20 @@ char new_handle[256]; char new_set_name[MAX_SET_NAME_LEN]; - char *old_set=lives_strdup(mainw->set_name); - char *layout_map_file,*layout_map_dir,*new_clips_dir,*current_clips_dir; + char *old_set = lives_strdup(mainw->set_name); + char *layout_map_file, *layout_map_dir, *new_clips_dir, *current_clips_dir; char *tmp; char *text; char *new_dir; char *cwd; char *ordfile; char *ord_entry; - char *msg,*extra; - char *dfile,*osetn,*nsetn; + char *msg, *extra; + char *dfile, *osetn, *nsetn; - boolean is_append=FALSE; // we will overwrite the target layout.map file + boolean is_append = FALSE; // we will overwrite the target layout.map file boolean response; - boolean got_new_handle=FALSE; + boolean got_new_handle = FALSE; int ord_fd; int retval; @@ -4619,77 +4541,74 @@ if (mainw->cliplist == NULL) return FALSE; // warn the user what will happen - if (!mainw->no_exit&&!mainw->only_close) extra=lives_strdup(", and LiVES will exit"); - else extra=lives_strdup(""); + if (!mainw->no_exit && !mainw->only_close) extra = lives_strdup(", and LiVES will exit"); + else extra = lives_strdup(""); - msg=lives_strdup_printf( - _("Saving the set will cause copies of all loaded clips to remain on the disk%s.\n\nPlease press 'Cancel' if that is not what you want.\n"), - extra); + msg = lives_strdup_printf( + _("Saving the set will cause copies of all loaded clips to remain on the disk%s.\n\nPlease press 'Cancel' if that is not what you want.\n"), + extra); lives_free(extra); - if (menuitem!=NULL&&!do_warning_dialog_with_check(msg,WARN_MASK_SAVE_SET)) { + if (menuitem != NULL && !do_warning_dialog_with_check(msg, WARN_MASK_SAVE_SET)) { lives_free(msg); return FALSE; } lives_free(msg); - - if (mainw->stored_event_list!=NULL&&mainw->stored_event_list_changed) { + if (mainw->stored_event_list != NULL && mainw->stored_event_list_changed) { // if we have a current layout, give the user the chance to change their mind - if (!check_for_layout_del(NULL,FALSE)) return FALSE; + if (!check_for_layout_del(NULL, FALSE)) return FALSE; } - - if (menuitem!=NULL) { + if (menuitem != NULL) { // this was called from the GUI do { // prompt for a set name, advise user to save set - renamew=create_rename_dialog(2); + renamew = create_rename_dialog(2); lives_widget_show_all(renamew->dialog); - response=lives_dialog_run(LIVES_DIALOG(renamew->dialog)); - if (response==LIVES_RESPONSE_CANCEL) return FALSE; - lives_snprintf(new_set_name,MAX_SET_NAME_LEN,"%s",(tmp=U82F(lives_entry_get_text(LIVES_ENTRY(renamew->entry))))); + response = lives_dialog_run(LIVES_DIALOG(renamew->dialog)); + if (response == LIVES_RESPONSE_CANCEL) return FALSE; + lives_snprintf(new_set_name, MAX_SET_NAME_LEN, "%s", (tmp = U82F(lives_entry_get_text(LIVES_ENTRY(renamew->entry))))); lives_widget_destroy(renamew->dialog); lives_free(renamew); lives_widget_context_update(); - } while (!is_legal_set_name(new_set_name,TRUE)); - } else lives_snprintf(new_set_name,MAX_SET_NAME_LEN,"%s",(char *)user_data); + } while (!is_legal_set_name(new_set_name, TRUE)); + } else lives_snprintf(new_set_name, MAX_SET_NAME_LEN, "%s", (char *)user_data); lives_widget_queue_draw(mainw->LiVES); lives_widget_context_update(); - lives_snprintf(mainw->set_name,MAX_SET_NAME_LEN,"%s",new_set_name); + lives_snprintf(mainw->set_name, MAX_SET_NAME_LEN, "%s", new_set_name); - if (strcmp(mainw->set_name,old_set)) { + if (strcmp(mainw->set_name, old_set)) { // THE USER CHANGED the set name // we must migrate all physical files for the set - // and possibly merge with another set - new_clips_dir=lives_build_filename(prefs->workdir,mainw->set_name,"clips",NULL); + new_clips_dir = lives_build_filename(prefs->workdir, mainw->set_name, "clips", NULL); // check if target clips dir exists, ask if user wants to append files - if (lives_file_test(new_clips_dir,LIVES_FILE_TEST_IS_DIR)) { + if (lives_file_test(new_clips_dir, LIVES_FILE_TEST_IS_DIR)) { lives_free(new_clips_dir); - if (mainw->osc_auto==0) { + if (mainw->osc_auto == 0) { if (!do_set_duplicate_warning(mainw->set_name)) { - lives_snprintf(mainw->set_name,MAX_SET_NAME_LEN,"%s",old_set); + lives_snprintf(mainw->set_name, MAX_SET_NAME_LEN, "%s", old_set); return FALSE; } - } else if (mainw->osc_auto==1) return FALSE; + } else if (mainw->osc_auto == 1) return FALSE; - is_append=TRUE; + is_append = TRUE; } else { lives_free(new_clips_dir); - layout_map_file=lives_build_filename(prefs->workdir,mainw->set_name,"layouts","layout.map",NULL); + layout_map_file = lives_build_filename(prefs->workdir, mainw->set_name, "layouts", "layout.map", NULL); // if target has layouts dir but no clips, it means we have old layouts ! - if (lives_file_test(layout_map_file,LIVES_FILE_TEST_EXISTS)) { + if (lives_file_test(layout_map_file, LIVES_FILE_TEST_EXISTS)) { if (do_set_rename_old_layouts_warning(mainw->set_name)) { // user answered "yes" - delete // clear _old_layout maps - char *dfile=lives_build_filename(prefs->workdir,mainw->set_name,"layouts",NULL); + char *dfile = lives_build_filename(prefs->workdir, mainw->set_name, "layouts", NULL); lives_rm(dfile); lives_free(dfile); } @@ -4698,28 +4617,28 @@ } } - text=lives_strdup_printf(_("Saving set %s"),mainw->set_name); - do_threaded_dialog(text,FALSE); + text = lives_strdup_printf(_("Saving set %s"), mainw->set_name); + do_threaded_dialog(text, FALSE); lives_free(text); ///////////////////////////////////////////////////////////// - mainw->com_failed=FALSE; + mainw->com_failed = FALSE; - current_clips_dir=lives_build_filename(prefs->workdir,old_set,"clips/",NULL); - if (strlen(old_set)&&strcmp(mainw->set_name,old_set)&&lives_file_test(current_clips_dir,LIVES_FILE_TEST_IS_DIR)) { + current_clips_dir = lives_build_filename(prefs->workdir, old_set, "clips/", NULL); + if (strlen(old_set) && strcmp(mainw->set_name, old_set) && lives_file_test(current_clips_dir, LIVES_FILE_TEST_IS_DIR)) { // set name was changed for an existing set if (!is_append) { // create new dir, in case it doesn't already exist - dfile=lives_build_filename(prefs->workdir,mainw->set_name,"clips",NULL); - if (lives_mkdir_with_parents(dfile,capable->umask)==-1) { + dfile = lives_build_filename(prefs->workdir, mainw->set_name, "clips", NULL); + if (lives_mkdir_with_parents(dfile, capable->umask) == -1) { if (!check_dir_access(dfile)) { // abort if we cannot create the new subdir LIVES_ERROR("Could not create directory"); LIVES_ERROR(dfile); d_print_file_error_failed(); - lives_snprintf(mainw->set_name,MAX_SET_NAME_LEN,"%s",old_set); + lives_snprintf(mainw->set_name, MAX_SET_NAME_LEN, "%s", old_set); lives_free(dfile); end_threaded_dialog(); return FALSE; @@ -4730,14 +4649,14 @@ } else { // saving as same name (or as new set) - dfile=lives_build_filename(prefs->workdir,mainw->set_name,"clips",NULL); - if (lives_mkdir_with_parents(dfile,capable->umask)==-1) { + dfile = lives_build_filename(prefs->workdir, mainw->set_name, "clips", NULL); + if (lives_mkdir_with_parents(dfile, capable->umask) == -1) { if (!check_dir_access(dfile)) { // abort if we cannot create the new subdir LIVES_ERROR("Could not create directory"); LIVES_ERROR(dfile); d_print_file_error_failed(); - lives_snprintf(mainw->set_name,MAX_SET_NAME_LEN,"%s",old_set); + lives_snprintf(mainw->set_name, MAX_SET_NAME_LEN, "%s", old_set); lives_free(dfile); end_threaded_dialog(); return FALSE; @@ -4747,19 +4666,19 @@ } lives_free(current_clips_dir); - ordfile=lives_build_filename(prefs->workdir,mainw->set_name,"order",NULL); + ordfile = lives_build_filename(prefs->workdir, mainw->set_name, "order", NULL); - cwd=lives_get_current_dir(); + cwd = lives_get_current_dir(); do { // create the orderfile which lists all the clips in order - retval=0; - if (!is_append) ord_fd=creat(ordfile,DEF_FILE_PERMS); - else ord_fd=open(ordfile,O_CREAT|O_WRONLY|O_APPEND,DEF_FILE_PERMS); - - if (ord_fd<0) { - retval=do_write_failed_error_s_with_retry(ordfile,lives_strerror(errno),NULL); - if (retval==LIVES_RESPONSE_CANCEL) { + retval = 0; + if (!is_append) ord_fd = creat(ordfile, DEF_FILE_PERMS); + else ord_fd = open(ordfile, O_CREAT | O_WRONLY | O_APPEND, DEF_FILE_PERMS); + + if (ord_fd < 0) { + retval = do_write_failed_error_s_with_retry(ordfile, lives_strerror(errno), NULL); + if (retval == LIVES_RESPONSE_CANCEL) { end_threaded_dialog(); lives_free(ordfile); return FALSE; @@ -4767,42 +4686,42 @@ } else { - char *oldval,*newval; + char *oldval, *newval; - mainw->write_failed=FALSE; - cliplist=mainw->cliplist; + mainw->write_failed = FALSE; + cliplist = mainw->cliplist; - while (cliplist!=NULL) { + while (cliplist != NULL) { if (mainw->write_failed) break; threaded_dialog_spin(0.); lives_widget_context_update(); // TODO - dirsep - i=LIVES_POINTER_TO_INT(cliplist->data); - if (mainw->files[i]!=NULL&&(mainw->files[i]->clip_type==CLIP_TYPE_FILE|| - mainw->files[i]->clip_type==CLIP_TYPE_DISK)) { - if ((tmp=strrchr(mainw->files[i]->handle,'/'))!=NULL) { - lives_snprintf(new_handle,256,"%s/clips%s",mainw->set_name,tmp); + i = LIVES_POINTER_TO_INT(cliplist->data); + if (mainw->files[i] != NULL && (mainw->files[i]->clip_type == CLIP_TYPE_FILE || + mainw->files[i]->clip_type == CLIP_TYPE_DISK)) { + if ((tmp = strrchr(mainw->files[i]->handle, '/')) != NULL) { + lives_snprintf(new_handle, 256, "%s/clips%s", mainw->set_name, tmp); } else { - lives_snprintf(new_handle,256,"%s/clips/%s",mainw->set_name,mainw->files[i]->handle); + lives_snprintf(new_handle, 256, "%s/clips/%s", mainw->set_name, mainw->files[i]->handle); } - if (strcmp(new_handle,mainw->files[i]->handle)) { - new_dir=lives_build_filename(prefs->workdir,new_handle,NULL); - if (lives_file_test(new_dir,LIVES_FILE_TEST_IS_DIR)) { + if (strcmp(new_handle, mainw->files[i]->handle)) { + new_dir = lives_build_filename(prefs->workdir, new_handle, NULL); + if (lives_file_test(new_dir, LIVES_FILE_TEST_IS_DIR)) { // get a new unique handle - get_temp_handle(i,FALSE); - lives_snprintf(new_handle,256,"%s/clips/%s",mainw->set_name,mainw->files[i]->handle); + get_temp_handle(i, FALSE); + lives_snprintf(new_handle, 256, "%s/clips/%s", mainw->set_name, mainw->files[i]->handle); } lives_free(new_dir); // move the files - mainw->com_failed=FALSE; + mainw->com_failed = FALSE; - oldval=lives_strdup_printf("%s"LIVES_DIR_SEP"%s",prefs->workdir,mainw->files[i]->handle); - newval=lives_strdup_printf("%s"LIVES_DIR_SEP"%s",prefs->workdir,new_handle); + oldval = lives_strdup_printf("%s"LIVES_DIR_SEP"%s", prefs->workdir, mainw->files[i]->handle); + newval = lives_strdup_printf("%s"LIVES_DIR_SEP"%s", prefs->workdir, new_handle); - lives_mv(oldval,newval); + lives_mv(oldval, newval); lives_free(oldval); lives_free(newval); @@ -4812,65 +4731,65 @@ return FALSE; } - got_new_handle=TRUE; + got_new_handle = TRUE; - lives_snprintf(mainw->files[i]->handle,256,"%s",new_handle); - dfile=lives_build_filename(prefs->workdir,mainw->files[i]->handle,LIVES_STATUS_FILE_NAME,NULL); - lives_snprintf(mainw->files[i]->info_file,PATH_MAX,"%s",dfile); + lives_snprintf(mainw->files[i]->handle, 256, "%s", new_handle); + dfile = lives_build_filename(prefs->workdir, mainw->files[i]->handle, LIVES_STATUS_FILE_NAME, NULL); + lives_snprintf(mainw->files[i]->info_file, PATH_MAX, "%s", dfile); lives_free(dfile); } - ord_entry=lives_strdup_printf("%s\n",mainw->files[i]->handle); - lives_write(ord_fd,ord_entry,strlen(ord_entry),FALSE); + ord_entry = lives_strdup_printf("%s\n", mainw->files[i]->handle); + lives_write(ord_fd, ord_entry, strlen(ord_entry), FALSE); lives_free(ord_entry); } - cliplist=cliplist->next; + cliplist = cliplist->next; } if (mainw->write_failed) { - retval=do_write_failed_error_s_with_retry(ordfile,NULL,NULL); + retval = do_write_failed_error_s_with_retry(ordfile, NULL, NULL); } } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); close(ord_fd); lives_free(ordfile); - lives_chdir(cwd,FALSE); + lives_chdir(cwd, FALSE); lives_free(cwd); - if (retval==LIVES_RESPONSE_CANCEL) { + if (retval == LIVES_RESPONSE_CANCEL) { end_threaded_dialog(); return FALSE; } - if (got_new_handle&&!strlen(old_set)) migrate_layouts(NULL,mainw->set_name); + if (got_new_handle && !strlen(old_set)) migrate_layouts(NULL, mainw->set_name); - if (strlen(old_set)&&strcmp(old_set,mainw->set_name)) { - layout_map_dir=lives_build_filename(prefs->workdir,old_set,"layouts",LIVES_DIR_SEP,NULL); - layout_map_file=lives_build_filename(layout_map_dir,"layout.map",NULL); + if (strlen(old_set) && strcmp(old_set, mainw->set_name)) { + layout_map_dir = lives_build_filename(prefs->workdir, old_set, "layouts", LIVES_DIR_SEP, NULL); + layout_map_file = lives_build_filename(layout_map_dir, "layout.map", NULL); // update details for layouts - needs_set, current_layout_map and affected_layout_map - if (lives_file_test(layout_map_file,LIVES_FILE_TEST_EXISTS)) { - migrate_layouts(old_set,mainw->set_name); + if (lives_file_test(layout_map_file, LIVES_FILE_TEST_EXISTS)) { + migrate_layouts(old_set, mainw->set_name); // save updated layout.map (with new handles), we will move it below - save_layout_map(NULL,NULL,NULL,layout_map_dir); + save_layout_map(NULL, NULL, NULL, layout_map_dir); - got_new_handle=FALSE; + got_new_handle = FALSE; } lives_free(layout_map_file); lives_free(layout_map_dir); if (is_append) { - osetn=lives_build_filename(prefs->workdir,old_set,"layouts","layout.map",NULL); - nsetn=lives_build_filename(prefs->workdir,mainw->set_name,"layouts","layout.map",NULL); + osetn = lives_build_filename(prefs->workdir, old_set, "layouts", "layout.map", NULL); + nsetn = lives_build_filename(prefs->workdir, mainw->set_name, "layouts", "layout.map", NULL); //append current layout.map to target one - lives_cat(osetn,nsetn,TRUE); + lives_cat(osetn, nsetn, TRUE); lives_rm(osetn); @@ -4878,51 +4797,50 @@ lives_free(nsetn); } - osetn=lives_build_filename(prefs->workdir,old_set,"layouts",NULL); + osetn = lives_build_filename(prefs->workdir, old_set, "layouts", NULL); - if (lives_file_test(osetn,LIVES_FILE_TEST_IS_DIR)) { - nsetn=lives_build_filename(prefs->workdir,mainw->set_name,NULL); + if (lives_file_test(osetn, LIVES_FILE_TEST_IS_DIR)) { + nsetn = lives_build_filename(prefs->workdir, mainw->set_name, NULL); // move any layouts from old set to new (including layout.map) - lives_cp_keep_perms(osetn,nsetn); + lives_cp_keep_perms(osetn, nsetn); lives_free(nsetn); } lives_free(osetn); - osetn=lives_build_filename(prefs->workdir,old_set,NULL); - lives_rmdir(osetn,FALSE); + osetn = lives_build_filename(prefs->workdir, old_set, NULL); + lives_rmdir(osetn, FALSE); lives_free(osetn); } - - if (!mainw->was_set&&!strcmp(old_set,mainw->set_name)) { + if (!mainw->was_set && !strcmp(old_set, mainw->set_name)) { // set name was set by export or save layout, now we need to update our layout map - layout_map_dir=lives_build_filename(prefs->workdir,old_set,"layouts",LIVES_DIR_SEP,NULL); - layout_map_file=lives_build_filename(layout_map_dir,"layout.map",NULL); - if (lives_file_test(layout_map_file,LIVES_FILE_TEST_EXISTS)) save_layout_map(NULL,NULL,NULL,layout_map_dir); - mainw->was_set=TRUE; - got_new_handle=FALSE; + layout_map_dir = lives_build_filename(prefs->workdir, old_set, "layouts", LIVES_DIR_SEP, NULL); + layout_map_file = lives_build_filename(layout_map_dir, "layout.map", NULL); + if (lives_file_test(layout_map_file, LIVES_FILE_TEST_EXISTS)) save_layout_map(NULL, NULL, NULL, layout_map_dir); + mainw->was_set = TRUE; + got_new_handle = FALSE; lives_free(layout_map_dir); lives_free(layout_map_file); - if (mainw->multitrack!=NULL&&!mainw->multitrack->changed) recover_layout_cancelled(FALSE); + if (mainw->multitrack != NULL && !mainw->multitrack->changed) recover_layout_cancelled(FALSE); } - if (mainw->current_layouts_map!=NULL&&strcmp(old_set,mainw->set_name)&&!mainw->is_exiting) { + if (mainw->current_layouts_map != NULL && strcmp(old_set, mainw->set_name) && !mainw->is_exiting) { // warn the user about layouts if the set name changed // but, don't bother the user with errors if we are exiting - add_lmap_error(LMAP_INFO_SETNAME_CHANGED,old_set,mainw->set_name,0,0,0.,FALSE); - popup_lmap_errors(NULL,NULL); + add_lmap_error(LMAP_INFO_SETNAME_CHANGED, old_set, mainw->set_name, 0, 0, 0., FALSE); + popup_lmap_errors(NULL, NULL); } - lives_notify(LIVES_OSC_NOTIFY_CLIPSET_SAVED,old_set); + lives_notify(LIVES_OSC_NOTIFY_CLIPSET_SAVED, old_set); lives_free(old_set); if (!mainw->no_exit) { - mainw->leave_files=TRUE; - if (mainw->multitrack!=NULL&&!mainw->only_close) mt_memory_free(); - else if (mainw->multitrack!=NULL) wipe_layout(mainw->multitrack); + mainw->leave_files = TRUE; + if (mainw->multitrack != NULL && !mainw->only_close) mt_memory_free(); + else if (mainw->multitrack != NULL) wipe_layout(mainw->multitrack); lives_exit(0); } else end_threaded_dialog(); @@ -4933,23 +4851,23 @@ char *on_load_set_activate(LiVESMenuItem *menuitem, livespointer user_data) { // get set name (use a modified rename window) - char *set_name=NULL; + char *set_name = NULL; int resp; - if (mainw->multitrack!=NULL) { - if (mainw->multitrack->idlefunc>0) { + if (mainw->multitrack != NULL) { + if (mainw->multitrack->idlefunc > 0) { lives_source_remove(mainw->multitrack->idlefunc); - mainw->multitrack->idlefunc=0; + mainw->multitrack->idlefunc = 0; } mt_desensitise(mainw->multitrack); } - renamew=create_rename_dialog(3); + renamew = create_rename_dialog(3); - resp=lives_dialog_run(LIVES_DIALOG(renamew->dialog)); + resp = lives_dialog_run(LIVES_DIALOG(renamew->dialog)); - if (resp==LIVES_RESPONSE_OK) { - set_name=U82F(lives_entry_get_text(LIVES_ENTRY(renamew->entry))); + if (resp == LIVES_RESPONSE_OK) { + set_name = U82F(lives_entry_get_text(LIVES_ENTRY(renamew->entry))); } // need to clean up renamew @@ -4957,11 +4875,11 @@ lives_widget_context_update(); lives_freep((void **)&renamew); - if (resp==LIVES_RESPONSE_OK) { - if (!is_legal_set_name(set_name,TRUE)) { + if (resp == LIVES_RESPONSE_OK) { + if (!is_legal_set_name(set_name, TRUE)) { lives_freep((void **)&set_name); } else { - if (user_data==NULL) { + if (user_data == NULL) { reload_set(set_name); lives_free(set_name); return NULL; @@ -4989,201 +4907,200 @@ char vid_open_dir[PATH_MAX]; char *cwd; - boolean added_recovery=FALSE; - boolean keep_threaded_dialog=FALSE; + boolean added_recovery = FALSE; + boolean keep_threaded_dialog = FALSE; - int last_file=-1,new_file=-1; - int current_file=mainw->current_file; - int clipnum=0; + int last_file = -1, new_file = -1; + int current_file = mainw->current_file; + int clipnum = 0; int maxframe; - memset(mainw->set_name,0,1); + memset(mainw->set_name, 0, 1); // check if set is locked - if (!check_for_lock_file(set_name,0)) { + if (!check_for_lock_file(set_name, 0)) { d_print_failed(); - if (mainw->multitrack!=NULL) { - mainw->current_file=mainw->multitrack->render_file; + if (mainw->multitrack != NULL) { + mainw->current_file = mainw->multitrack->render_file; mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } return FALSE; } - lives_snprintf(mainw->msg,256,"none"); + lives_snprintf(mainw->msg, 256, "none"); // check if we already have a threaded dialog running (i.e. we are called from startup) - if (mainw->threaded_dialog) keep_threaded_dialog=TRUE; + if (mainw->threaded_dialog) keep_threaded_dialog = TRUE; if (prefs->show_gui && !keep_threaded_dialog) { char *tmp; - msg=lives_strdup_printf(_("Loading clips from set %s"),(tmp=F2U8(set_name))); - do_threaded_dialog(msg,FALSE); + msg = lives_strdup_printf(_("Loading clips from set %s"), (tmp = F2U8(set_name))); + do_threaded_dialog(msg, FALSE); lives_free(msg); lives_free(tmp); } - ordfile=lives_build_filename(prefs->workdir,set_name,"order",NULL); - orderfile=fopen(ordfile,"r"); // no we can't assert this, because older sets did not have this file + ordfile = lives_build_filename(prefs->workdir, set_name, "order", NULL); + orderfile = fopen(ordfile, "r"); // no we can't assert this, because older sets did not have this file lives_free(ordfile); - mainw->suppress_dprint=TRUE; - mainw->read_failed=FALSE; + mainw->suppress_dprint = TRUE; + mainw->read_failed = FALSE; - lives_snprintf(vid_open_dir,PATH_MAX,"%s",mainw->vid_load_dir); + lives_snprintf(vid_open_dir, PATH_MAX, "%s", mainw->vid_load_dir); - cwd=lives_get_current_dir(); + cwd = lives_get_current_dir(); while (1) { if (prefs->show_gui) { threaded_dialog_spin(0.); } - if (mainw->cached_list!=NULL) { + if (mainw->cached_list != NULL) { lives_list_free_all(&mainw->cached_list); } - if (orderfile==NULL) { + if (orderfile == NULL) { // old style (pre 0.9.6) - com=lives_strdup_printf("%s get_next_in_set \"%s\" \"%s\" %d",prefs->backend_sync,mainw->msg, - set_name,capable->mainpid); - lives_system(com,FALSE); + com = lives_strdup_printf("%s get_next_in_set \"%s\" \"%s\" %d", prefs->backend_sync, mainw->msg, + set_name, capable->mainpid); + lives_system(com, FALSE); lives_free(com); - if (strlen(mainw->msg)>0&&(strncmp(mainw->msg,"none",4))) { + if (strlen(mainw->msg) > 0 && (strncmp(mainw->msg, "none", 4))) { - if ((new_file=mainw->first_free_file)==-1) { + if ((new_file = mainw->first_free_file) == -1) { recover_layout_map(MAX_FILES); if (!keep_threaded_dialog) end_threaded_dialog(); - mainw->suppress_dprint=FALSE; + mainw->suppress_dprint = FALSE; too_many_files(); - if (mainw->multitrack!=NULL) { - mainw->current_file=mainw->multitrack->render_file; - polymorph(mainw->multitrack,POLY_NONE); - polymorph(mainw->multitrack,POLY_CLIPS); + if (mainw->multitrack != NULL) { + mainw->current_file = mainw->multitrack->render_file; + polymorph(mainw->multitrack, POLY_NONE); + polymorph(mainw->multitrack, POLY_CLIPS); mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } - lives_chdir(cwd,FALSE); + lives_chdir(cwd, FALSE); lives_free(cwd); return FALSE; } - mainw->current_file=new_file; + mainw->current_file = new_file; get_handle_from_info_file(new_file); } } else { - if (lives_fgets(mainw->msg,512,orderfile)==NULL) clear_mainw_msg(); - else memset(mainw->msg+strlen(mainw->msg)-strlen("\n"),0,1); + if (lives_fgets(mainw->msg, 512, orderfile) == NULL) clear_mainw_msg(); + else memset(mainw->msg + strlen(mainw->msg) - strlen("\n"), 0, 1); } - - if (strlen(mainw->msg)==0||(!strncmp(mainw->msg,"none",4))) { - mainw->suppress_dprint=FALSE; + if (strlen(mainw->msg) == 0 || (!strncmp(mainw->msg, "none", 4))) { + mainw->suppress_dprint = FALSE; if (!keep_threaded_dialog) end_threaded_dialog(); - if (orderfile!=NULL) fclose(orderfile); + if (orderfile != NULL) fclose(orderfile); - mainw->current_file=current_file; + mainw->current_file = current_file; - if (last_file>0) { + if (last_file > 0) { threaded_dialog_spin(0.); - switch_to_file(current_file,last_file); + switch_to_file(current_file, last_file); threaded_dialog_spin(0.); } - if (clipnum==0) { + if (clipnum == 0) { do_set_noclips_error(set_name); } else { char *tmp; reset_clipmenu(); lives_widget_set_sensitive(mainw->vj_load_set, FALSE); - lives_snprintf(mainw->set_name,MAX_SET_NAME_LEN,"%s",set_name); + lives_snprintf(mainw->set_name, MAX_SET_NAME_LEN, "%s", set_name); // MUST set set_name before calling this recover_layout_map(MAX_FILES); d_print(_("%d clips and %d layouts were recovered from set (%s).\n"), - clipnum,lives_list_length(mainw->current_layouts_map),(tmp=F2U8(set_name))); + clipnum, lives_list_length(mainw->current_layouts_map), (tmp = F2U8(set_name))); lives_free(tmp); - lives_notify(LIVES_OSC_NOTIFY_CLIPSET_OPENED,mainw->set_name); + lives_notify(LIVES_OSC_NOTIFY_CLIPSET_OPENED, mainw->set_name); } threaded_dialog_spin(0.); - if (mainw->multitrack==NULL) { + if (mainw->multitrack == NULL) { if (mainw->is_ready) { - if (clipnum>0&&mainw->current_file>0) { + if (clipnum > 0 && mainw->current_file > 0) { load_start_image(cfile->start); load_end_image(cfile->end); } lives_widget_context_update(); } } else { - mainw->current_file=mainw->multitrack->render_file; - polymorph(mainw->multitrack,POLY_NONE); - polymorph(mainw->multitrack,POLY_CLIPS); + mainw->current_file = mainw->multitrack->render_file; + polymorph(mainw->multitrack, POLY_NONE); + polymorph(mainw->multitrack, POLY_CLIPS); mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } if (!keep_threaded_dialog) end_threaded_dialog(); - lives_chdir(cwd,FALSE); + lives_chdir(cwd, FALSE); lives_free(cwd); return TRUE; } - mainw->was_set=TRUE; + mainw->was_set = TRUE; - if (prefs->crash_recovery&&!added_recovery) { - char *recovery_entry=lives_build_filename(set_name,"*",NULL); + if (prefs->crash_recovery && !added_recovery) { + char *recovery_entry = lives_build_filename(set_name, "*", NULL); add_to_recovery_file(recovery_entry); lives_free(recovery_entry); - added_recovery=TRUE; + added_recovery = TRUE; } - if (orderfile!=NULL) { + if (orderfile != NULL) { // newer style (0.9.6+) char *tfile; - char *clipdir=lives_build_filename(prefs->workdir,mainw->msg,NULL); - if (!lives_file_test(clipdir,LIVES_FILE_TEST_IS_DIR)) { + char *clipdir = lives_build_filename(prefs->workdir, mainw->msg, NULL); + if (!lives_file_test(clipdir, LIVES_FILE_TEST_IS_DIR)) { lives_free(clipdir); continue; } lives_free(clipdir); threaded_dialog_spin(0.); - if ((new_file=mainw->first_free_file)==-1) { - mainw->suppress_dprint=FALSE; + if ((new_file = mainw->first_free_file) == -1) { + mainw->suppress_dprint = FALSE; if (!keep_threaded_dialog) end_threaded_dialog(); too_many_files(); - if (mainw->multitrack!=NULL) { - mainw->current_file=mainw->multitrack->render_file; - polymorph(mainw->multitrack,POLY_NONE); - polymorph(mainw->multitrack,POLY_CLIPS); + if (mainw->multitrack != NULL) { + mainw->current_file = mainw->multitrack->render_file; + polymorph(mainw->multitrack, POLY_NONE); + polymorph(mainw->multitrack, POLY_CLIPS); mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } recover_layout_map(MAX_FILES); - lives_chdir(cwd,FALSE); + lives_chdir(cwd, FALSE); lives_free(cwd); return FALSE; } - mainw->current_file=new_file; - cfile=(lives_clip_t *)(lives_malloc(sizeof(lives_clip_t))); - cfile->cb_src=-1; - lives_snprintf(cfile->handle,256,"%s",mainw->msg); - cfile->clip_type=CLIP_TYPE_DISK; // the default + mainw->current_file = new_file; + cfile = (lives_clip_t *)(lives_malloc(sizeof(lives_clip_t))); + cfile->cb_src = -1; + lives_snprintf(cfile->handle, 256, "%s", mainw->msg); + cfile->clip_type = CLIP_TYPE_DISK; // the default // lock the set - tfile=lives_strdup_printf("%s"LIVES_DIR_SEP"%s"LIVES_DIR_SEP"lock.%d",prefs->workdir,set_name,capable->mainpid); + tfile = lives_strdup_printf("%s"LIVES_DIR_SEP"%s"LIVES_DIR_SEP"lock.%d", prefs->workdir, set_name, capable->mainpid); lives_touch(tfile); lives_free(tfile); } @@ -5199,45 +5116,45 @@ // if the clip has a frame_index file, then it is CLIP_TYPE_FILE // and we must load the frame_index and locate a suitable decoder plugin - if ((maxframe=load_frame_index(mainw->current_file))) { + if ((maxframe = load_frame_index(mainw->current_file))) { // CLIP_TYPE_FILE - if (!reload_clip(mainw->current_file,maxframe)) continue; + if (!reload_clip(mainw->current_file, maxframe)) continue; } else { // CLIP_TYPE_DISK if (!check_frame_count(mainw->current_file)) { get_frame_count(mainw->current_file); - cfile->needs_update=TRUE; + cfile->needs_update = TRUE; } - if (cfile->frames>0&&(cfile->hsize*cfile->vsize==0)) { - get_frames_sizes(mainw->current_file,1); - if (cfile->hsize*cfile->vsize>0) cfile->needs_update=TRUE; + if (cfile->frames > 0 && (cfile->hsize * cfile->vsize == 0)) { + get_frames_sizes(mainw->current_file, 1); + if (cfile->hsize * cfile->vsize > 0) cfile->needs_update = TRUE; } } - last_file=new_file; + last_file = new_file; // read the playback fps, play frame, and name - open_set_file(set_name,++clipnum); // must do before calling save_clip_values() + open_set_file(set_name, ++clipnum); // must do before calling save_clip_values() threaded_dialog_spin(0.); if (cfile->needs_update) { save_clip_values(mainw->current_file); - cfile->needs_update=FALSE; + cfile->needs_update = FALSE; } - if (mainw->cached_list!=NULL) { + if (mainw->cached_list != NULL) { lives_list_free_all(&mainw->cached_list); } if (prefs->autoload_subs) { - subfname=lives_build_filename(prefs->workdir,cfile->handle,"subs.",LIVES_FILE_EXT_SRT,NULL); - if (lives_file_test(subfname,LIVES_FILE_TEST_EXISTS)) { - subtitles_init(cfile,subfname,SUBTITLE_TYPE_SRT); + subfname = lives_build_filename(prefs->workdir, cfile->handle, "subs.", LIVES_FILE_EXT_SRT, NULL); + if (lives_file_test(subfname, LIVES_FILE_TEST_EXISTS)) { + subtitles_init(cfile, subfname, SUBTITLE_TYPE_SRT); } else { lives_free(subfname); - subfname=lives_build_filename(prefs->workdir,cfile->handle,"subs.",LIVES_FILE_EXT_SUB,NULL); - if (lives_file_test(subfname,LIVES_FILE_TEST_EXISTS)) { - subtitles_init(cfile,subfname,SUBTITLE_TYPE_SUB); + subfname = lives_build_filename(prefs->workdir, cfile->handle, "subs.", LIVES_FILE_EXT_SUB, NULL); + if (lives_file_test(subfname, LIVES_FILE_TEST_EXISTS)) { + subtitles_init(cfile, subfname, SUBTITLE_TYPE_SUB); } } lives_free(subfname); @@ -5245,22 +5162,22 @@ } get_total_time(cfile); - if (cfile->achans) cfile->aseek_pos=(int64_t)((double)(cfile->frameno-1.)/ - cfile->fps*cfile->arate*cfile->achans*cfile->asampsize/8); + if (cfile->achans) cfile->aseek_pos = (int64_t)((double)(cfile->frameno - 1.) / + cfile->fps * cfile->arate * cfile->achans * cfile->asampsize / 8); // add to clip menu threaded_dialog_spin(0.); add_to_clipmenu(); get_next_free_file(); - cfile->start=cfile->frames>0?1:0; - cfile->end=cfile->frames; - cfile->is_loaded=TRUE; - cfile->changed=TRUE; + cfile->start = cfile->frames > 0 ? 1 : 0; + cfile->end = cfile->frames; + cfile->is_loaded = TRUE; + cfile->changed = TRUE; lives_rm(cfile->info_file); - set_main_title(cfile->name,0); + set_main_title(cfile->name, 0); - if (mainw->multitrack==NULL) { - if (mainw->current_file>0) { + if (mainw->multitrack == NULL) { + if (mainw->current_file > 0) { resize(1); load_start_image(cfile->start); load_end_image(cfile->end); @@ -5268,14 +5185,14 @@ } } - if (mainw->multitrack!=NULL&&mainw->multitrack->is_ready) { - mainw->current_file=mainw->multitrack->render_file; - mt_init_clips(mainw->multitrack,new_file,TRUE); + if (mainw->multitrack != NULL && mainw->multitrack->is_ready) { + mainw->current_file = mainw->multitrack->render_file; + mt_init_clips(mainw->multitrack, new_file, TRUE); lives_widget_context_update(); - mt_clip_select(mainw->multitrack,TRUE); + mt_clip_select(mainw->multitrack, TRUE); } - lives_notify(LIVES_OSC_NOTIFY_CLIP_OPENED,""); + lives_notify(LIVES_OSC_NOTIFY_CLIP_OPENED, ""); } // should never reach here @@ -5283,166 +5200,158 @@ } - void on_cleardisk_activate(LiVESWidget *widget, livespointer user_data) { // recover disk space - int64_t bytes=0,fspace; - int64_t ds_warn_level=mainw->next_ds_warn_level; + int64_t bytes = 0, fspace; + int64_t ds_warn_level = mainw->next_ds_warn_level; char *markerfile; char **array; char *com; - int current_file=mainw->current_file; + int current_file = mainw->current_file; int marker_fd; - int retval=0; + int retval = 0; register int i; - mainw->next_ds_warn_level=0; /// < avoid nested warnings + mainw->next_ds_warn_level = 0; /// < avoid nested warnings - if (user_data!=NULL) lives_widget_hide(lives_widget_get_toplevel(LIVES_WIDGET(user_data))); + if (user_data != NULL) lives_widget_hide(lives_widget_get_toplevel(LIVES_WIDGET(user_data))); - mainw->tried_ds_recover=TRUE; ///< indicates we tried ds recovery already + mainw->tried_ds_recover = TRUE; ///< indicates we tried ds recovery already - mainw->add_clear_ds_adv=TRUE; ///< auto reset by do_warning_dialog() + mainw->add_clear_ds_adv = TRUE; ///< auto reset by do_warning_dialog() if (!do_warning_dialog( _("LiVES will attempt to recover some disk space.\n" "You should ONLY run this if you have no other copies of LiVES running on this machine.\n" "Click OK to proceed.\n"))) { - mainw->next_ds_warn_level=ds_warn_level; + mainw->next_ds_warn_level = ds_warn_level; return; } d_print(_("Cleaning up disk space...")); // get a temporary clip for receiving data from backend - if (!get_temp_handle(mainw->first_free_file,TRUE)) { + if (!get_temp_handle(mainw->first_free_file, TRUE)) { d_print_failed(); - mainw->next_ds_warn_level=ds_warn_level; + mainw->next_ds_warn_level = ds_warn_level; return; } - cfile->cb_src=current_file; + cfile->cb_src = current_file; - if (mainw->multitrack!=NULL) { - if (mainw->multitrack->idlefunc>0) { + if (mainw->multitrack != NULL) { + if (mainw->multitrack->idlefunc > 0) { lives_source_remove(mainw->multitrack->idlefunc); - mainw->multitrack->idlefunc=0; + mainw->multitrack->idlefunc = 0; } mt_desensitise(mainw->multitrack); } - - for (i=0; i<MAX_FILES; i++) { + for (i = 0; i < MAX_FILES; i++) { // mark all free-floating files (directories) which we do not want to remove // we do error checking here - if ((i==mainw->current_file)||(mainw->files[i]!=NULL&&(mainw->files[i]->clip_type==CLIP_TYPE_DISK|| - mainw->files[i]->clip_type==CLIP_TYPE_FILE))) { - markerfile=lives_build_filename(prefs->workdir,mainw->files[i]->handle,"set.",NULL); + if ((i == mainw->current_file) || (mainw->files[i] != NULL && (mainw->files[i]->clip_type == CLIP_TYPE_DISK || + mainw->files[i]->clip_type == CLIP_TYPE_FILE))) { + markerfile = lives_build_filename(prefs->workdir, mainw->files[i]->handle, "set.", NULL); do { - retval=0; - marker_fd=creat(markerfile,S_IRUSR|S_IWUSR); - if (marker_fd<0) { - retval=do_write_failed_error_s_with_retry(markerfile,lives_strerror(errno),NULL); + retval = 0; + marker_fd = creat(markerfile, S_IRUSR | S_IWUSR); + if (marker_fd < 0) { + retval = do_write_failed_error_s_with_retry(markerfile, lives_strerror(errno), NULL); } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); close(marker_fd); lives_free(markerfile); - if (mainw->files[i]->undo_action!=UNDO_NONE) { - markerfile=lives_build_filename(prefs->workdir,mainw->files[i]->handle,"noprune",NULL); + if (mainw->files[i]->undo_action != UNDO_NONE) { + markerfile = lives_build_filename(prefs->workdir, mainw->files[i]->handle, "noprune", NULL); do { - retval=0; - marker_fd=creat(markerfile,S_IRUSR|S_IWUSR); - if (marker_fd<0) { - retval=do_write_failed_error_s_with_retry(markerfile,lives_strerror(errno),NULL); + retval = 0; + marker_fd = creat(markerfile, S_IRUSR | S_IWUSR); + if (marker_fd < 0) { + retval = do_write_failed_error_s_with_retry(markerfile, lives_strerror(errno), NULL); } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); close(marker_fd); lives_free(markerfile); } } } - // get space before - fspace=get_fs_free(prefs->workdir); + fspace = get_fs_free(prefs->workdir); // call "smogrify bg_weed" to do the actual cleanup // its parameters are the handle of a temp file, and opts mask - if (retval!=LIVES_RESPONSE_CANCEL) { - mainw->com_failed=FALSE; + if (retval != LIVES_RESPONSE_CANCEL) { + mainw->com_failed = FALSE; lives_rm(cfile->info_file); - com=lives_strdup_printf("%s bg_weed \"%s\" %d",prefs->backend,cfile->handle,prefs->clear_disk_opts); - lives_system(com,FALSE); + com = lives_strdup_printf("%s bg_weed \"%s\" %d", prefs->backend, cfile->handle, prefs->clear_disk_opts); + lives_system(com, FALSE); lives_free(com); if (!mainw->com_failed) { - // show a progress dialog, not cancellable - do_progress_dialog(TRUE,FALSE,_("Recovering disk space")); + do_progress_dialog(TRUE, FALSE, _("Recovering disk space")); - array=lives_strsplit(mainw->msg,"|",2); - bytes=strtol(array[1],NULL,10); - if (bytes<0) bytes=0; + array = lives_strsplit(mainw->msg, "|", 2); + bytes = strtol(array[1], NULL, 10); + if (bytes < 0) bytes = 0; lives_strfreev(array); - } } - // close the temporary clip - com=lives_strdup_printf("%s close \"%s\"",prefs->backend,cfile->handle); - lives_system(com,FALSE); + com = lives_strdup_printf("%s close \"%s\"", prefs->backend, cfile->handle); + lives_system(com, FALSE); lives_free(com); lives_freep((void **)&cfile); - if (mainw->first_free_file==-1||mainw->first_free_file>mainw->current_file) - mainw->first_free_file=mainw->current_file; + if (mainw->first_free_file == -1 || mainw->first_free_file > mainw->current_file) + mainw->first_free_file = mainw->current_file; // remove the protective markers - for (i=0; i<MAX_FILES; i++) { - if (mainw->files[i]!=NULL&&mainw->files[i]->clip_type==CLIP_TYPE_DISK) { - markerfile=lives_build_filename(prefs->workdir,mainw->files[i]->handle,"set.",NULL); + for (i = 0; i < MAX_FILES; i++) { + if (mainw->files[i] != NULL && mainw->files[i]->clip_type == CLIP_TYPE_DISK) { + markerfile = lives_build_filename(prefs->workdir, mainw->files[i]->handle, "set.", NULL); lives_rm(markerfile); lives_free(markerfile); - if (mainw->files[i]->undo_action!=UNDO_NONE) { - markerfile=lives_build_filename(prefs->workdir,mainw->files[i]->handle,"noprune",NULL); + if (mainw->files[i]->undo_action != UNDO_NONE) { + markerfile = lives_build_filename(prefs->workdir, mainw->files[i]->handle, "noprune", NULL); lives_rm(markerfile); lives_free(markerfile); } } } - mainw->current_file=current_file; + mainw->current_file = current_file; sensitize(); - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } - - if (bytes==0) { + if (bytes == 0) { // get after - bytes=get_fs_free(prefs->workdir)-fspace; + bytes = get_fs_free(prefs->workdir) - fspace; } - if (bytes<0) bytes=0; + if (bytes < 0) bytes = 0; - if (retval!=LIVES_RESPONSE_CANCEL&&!mainw->com_failed) { + if (retval != LIVES_RESPONSE_CANCEL && !mainw->com_failed) { d_print_done(); do_info_dialog(lives_strdup_printf(_("%s of disk space was recovered.\n"), lives_format_storage_space_string((uint64_t)bytes))); - if (user_data!=NULL) lives_widget_set_sensitive(lives_widget_get_toplevel(LIVES_WIDGET(user_data)),FALSE); + if (user_data != NULL) lives_widget_set_sensitive(lives_widget_get_toplevel(LIVES_WIDGET(user_data)), FALSE); } else d_print_failed(); - mainw->next_ds_warn_level=ds_warn_level; - + mainw->next_ds_warn_level = ds_warn_level; } @@ -5455,14 +5364,14 @@ int response; LiVESWidget *dialog; do { - dialog=create_cleardisk_advanced_dialog(); + dialog = create_cleardisk_advanced_dialog(); lives_widget_show_all(dialog); - response=lives_dialog_run(LIVES_DIALOG(dialog)); + response = lives_dialog_run(LIVES_DIALOG(dialog)); lives_widget_destroy(dialog); - if (response==LIVES_RESPONSE_RETRY) prefs->clear_disk_opts=0; - } while (response==LIVES_RESPONSE_RETRY); + if (response == LIVES_RESPONSE_RETRY) prefs->clear_disk_opts = 0; + } while (response == LIVES_RESPONSE_RETRY); - set_int_pref(PREF_CLEAR_DISK_OPTS,prefs->clear_disk_opts); + set_int_pref(PREF_CLEAR_DISK_OPTS, prefs->clear_disk_opts); } @@ -5472,38 +5381,36 @@ void on_vj_reset_activate(LiVESMenuItem *menuitem, livespointer user_data) { - LiVESList *clip_list=mainw->cliplist; + LiVESList *clip_list = mainw->cliplist; - boolean bad_header=FALSE; + boolean bad_header = FALSE; int i; //mainw->soft_debug=TRUE; - do_threaded_dialog(_("Resetting frame rates and frame values..."),FALSE); + do_threaded_dialog(_("Resetting frame rates and frame values..."), FALSE); - while (clip_list!=NULL) { - i=LIVES_POINTER_TO_INT(clip_list->data); - mainw->files[i]->pb_fps=mainw->files[i]->fps; - mainw->files[i]->frameno=1; - mainw->files[i]->aseek_pos=0; - - save_clip_value(i,CLIP_DETAILS_PB_FPS,&mainw->files[i]->pb_fps); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(i,CLIP_DETAILS_PB_FRAMENO,&mainw->files[i]->frameno); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - threaded_dialog_spin((double)i/(double)mainw->clips_available); + while (clip_list != NULL) { + i = LIVES_POINTER_TO_INT(clip_list->data); + mainw->files[i]->pb_fps = mainw->files[i]->fps; + mainw->files[i]->frameno = 1; + mainw->files[i]->aseek_pos = 0; + + save_clip_value(i, CLIP_DETAILS_PB_FPS, &mainw->files[i]->pb_fps); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(i, CLIP_DETAILS_PB_FRAMENO, &mainw->files[i]->frameno); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + threaded_dialog_spin((double)i / (double)mainw->clips_available); if (bad_header) { if (!do_header_write_error(i)) break; - } else clip_list=clip_list->next; + } else clip_list = clip_list->next; } - - mainw->noswitch=FALSE; // just in case... + mainw->noswitch = FALSE; // just in case... end_threaded_dialog(); - } @@ -5516,118 +5423,116 @@ char buff[512]; lives_clipinfo_t *filew; - char *sigs,*ends,*tmp; + char *sigs, *ends, *tmp; - if (mainw->current_file==-1) return; + if (mainw->current_file == -1) return; - filew = create_clip_info_window(cfile->achans,FALSE); + filew = create_clip_info_window(cfile->achans, FALSE); - if (cfile->frames>0) { + if (cfile->frames > 0) { // type - lives_snprintf(buff,512,_("\nExternal: %s\nInternal: %s (%d bpp) / %s\n"),cfile->type, - (tmp=lives_strdup((cfile->clip_type==CLIP_TYPE_YUV4MPEG|| - cfile->clip_type==CLIP_TYPE_VIDEODEV)?(_("buffered")): - (cfile->img_type==IMG_TYPE_JPEG?LIVES_IMAGE_TYPE_JPEG:LIVES_IMAGE_TYPE_PNG))), - cfile->bpp,LIVES_AUDIO_TYPE_PCM); + lives_snprintf(buff, 512, _("\nExternal: %s\nInternal: %s (%d bpp) / %s\n"), cfile->type, + (tmp = lives_strdup((cfile->clip_type == CLIP_TYPE_YUV4MPEG || + cfile->clip_type == CLIP_TYPE_VIDEODEV) ? (_("buffered")) : + (cfile->img_type == IMG_TYPE_JPEG ? LIVES_IMAGE_TYPE_JPEG : LIVES_IMAGE_TYPE_PNG))), + cfile->bpp, LIVES_AUDIO_TYPE_PCM); lives_free(tmp); - lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_type),buff, -1); + lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_type), buff, -1); // fps - lives_snprintf(buff,512,"\n %.3f%s",cfile->fps,cfile->ratio_fps?"...":""); + lives_snprintf(buff, 512, "\n %.3f%s", cfile->fps, cfile->ratio_fps ? "..." : ""); - lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_fps),buff, -1); + lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_fps), buff, -1); // image size - lives_snprintf(buff,512,"\n %dx%d",cfile->hsize,cfile->vsize); - lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_size),buff, -1); + lives_snprintf(buff, 512, "\n %dx%d", cfile->hsize, cfile->vsize); + lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_size), buff, -1); // frames - if ((cfile->opening&&!cfile->opening_audio&&cfile->frames==0)||cfile->frames==123456789) { - lives_snprintf(buff,512,"%s",_("\n Opening...")); + if ((cfile->opening && !cfile->opening_audio && cfile->frames == 0) || cfile->frames == 123456789) { + lives_snprintf(buff, 512, "%s", _("\n Opening...")); } else { - lives_snprintf(buff,512,"\n %d",cfile->frames); + lives_snprintf(buff, 512, "\n %d", cfile->frames); - if (cfile->frame_index!=NULL) { - int fvirt=count_virtual_frames(cfile->frame_index,1,cfile->frames); - char *tmp=lives_strdup_printf(_("\n(%d virtual)"),fvirt); - lives_strappend(buff,512,tmp); + if (cfile->frame_index != NULL) { + int fvirt = count_virtual_frames(cfile->frame_index, 1, cfile->frames); + char *tmp = lives_strdup_printf(_("\n(%d virtual)"), fvirt); + lives_strappend(buff, 512, tmp); lives_free(tmp); - tmp=lives_strdup_printf(_("\n(%d decoded)"),cfile->frames-fvirt); - lives_strappend(buff,512,tmp); + tmp = lives_strdup_printf(_("\n(%d decoded)"), cfile->frames - fvirt); + lives_strappend(buff, 512, tmp); lives_free(tmp); } } - lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_frames),buff, -1); + lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_frames), buff, -1); // video time - if ((cfile->opening&&!cfile->opening_audio&&cfile->frames==0)||cfile->frames==123456789) { - lives_snprintf(buff,512,"%s",_("\n Opening...")); + if ((cfile->opening && !cfile->opening_audio && cfile->frames == 0) || cfile->frames == 123456789) { + lives_snprintf(buff, 512, "%s", _("\n Opening...")); } else { - lives_snprintf(buff,512,_("\n %.2f sec."),cfile->video_time); + lives_snprintf(buff, 512, _("\n %.2f sec."), cfile->video_time); } - lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_vtime),buff, -1); + lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_vtime), buff, -1); // file size - if (cfile->f_size>=0l) { - char *file_ds=lives_format_storage_space_string((uint64_t)cfile->f_size); - lives_snprintf(buff,512,"\n %s",file_ds); + if (cfile->f_size >= 0l) { + char *file_ds = lives_format_storage_space_string((uint64_t)cfile->f_size); + lives_snprintf(buff, 512, "\n %s", file_ds); lives_free(file_ds); - } else lives_snprintf(buff,512,"%s",_("\n Unknown")); - lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_fsize),buff, -1); + } else lives_snprintf(buff, 512, "%s", _("\n Unknown")); + lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_fsize), buff, -1); } - if (cfile->achans>0) { + if (cfile->achans > 0) { if (cfile->opening) { - lives_snprintf(buff,512,"%s",_("\n Opening...")); + lives_snprintf(buff, 512, "%s", _("\n Opening...")); } else { - lives_snprintf(buff,512,_("\n %.2f sec."),cfile->laudio_time); + lives_snprintf(buff, 512, _("\n %.2f sec."), cfile->laudio_time); } - lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_ltime),buff, -1); + lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_ltime), buff, -1); - if (cfile->signed_endian&AFORM_UNSIGNED) sigs=lives_strdup(_("unsigned")); - else sigs=lives_strdup(_("signed")); + if (cfile->signed_endian & AFORM_UNSIGNED) sigs = lives_strdup(_("unsigned")); + else sigs = lives_strdup(_("signed")); - if (cfile->signed_endian&AFORM_BIG_ENDIAN) ends=lives_strdup(_("big-endian")); - else ends=lives_strdup(_("little-endian")); + if (cfile->signed_endian & AFORM_BIG_ENDIAN) ends = lives_strdup(_("big-endian")); + else ends = lives_strdup(_("little-endian")); - lives_snprintf(buff,512,_(" %d Hz %d bit\n%s %s"),cfile->arate,cfile->asampsize,sigs,ends); - lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_lrate),buff, -1); + lives_snprintf(buff, 512, _(" %d Hz %d bit\n%s %s"), cfile->arate, cfile->asampsize, sigs, ends); + lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_lrate), buff, -1); lives_free(sigs); lives_free(ends); } - if (cfile->achans>1) { - if (cfile->signed_endian&AFORM_UNSIGNED) sigs=lives_strdup(_("unsigned")); - else sigs=lives_strdup(_("signed")); + if (cfile->achans > 1) { + if (cfile->signed_endian & AFORM_UNSIGNED) sigs = lives_strdup(_("unsigned")); + else sigs = lives_strdup(_("signed")); - if (cfile->signed_endian&AFORM_BIG_ENDIAN) ends=lives_strdup(_("big-endian")); - else ends=lives_strdup(_("little-endian")); + if (cfile->signed_endian & AFORM_BIG_ENDIAN) ends = lives_strdup(_("big-endian")); + else ends = lives_strdup(_("little-endian")); - lives_snprintf(buff,512,_(" %d Hz %d bit\n%s %s"),cfile->arate,cfile->asampsize,sigs,ends); - lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_rrate),buff, -1); + lives_snprintf(buff, 512, _(" %d Hz %d bit\n%s %s"), cfile->arate, cfile->asampsize, sigs, ends); + lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_rrate), buff, -1); lives_free(sigs); lives_free(ends); if (cfile->opening) { - lives_snprintf(buff,512,"%s",_("\n Opening...")); + lives_snprintf(buff, 512, "%s", _("\n Opening...")); } else { - lives_snprintf(buff,512,_("\n %.2f sec."),cfile->raudio_time); + lives_snprintf(buff, 512, _("\n %.2f sec."), cfile->raudio_time); } - lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_rtime),buff, -1); + lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_rtime), buff, -1); } - } void on_show_file_comments_activate(LiVESMenuItem *menuitem, livespointer user_data) { - do_comments_dialog(mainw->current_file,NULL); + do_comments_dialog(mainw->current_file, NULL); } - void on_show_clipboard_info_activate(LiVESMenuItem *menuitem, livespointer user_data) { - int current_file=mainw->current_file; - mainw->current_file=0; - on_show_file_info_activate(menuitem,user_data); - mainw->current_file=current_file; + int current_file = mainw->current_file; + mainw->current_file = 0; + on_show_file_info_activate(menuitem, user_data); + mainw->current_file = current_file; } @@ -5642,39 +5547,39 @@ // type = 1 fg only // type = 2 bg only - if (mainw->current_file<1||mainw->multitrack!=NULL||mainw->preview||mainw->internal_messaging|| - (mainw->is_processing&&cfile->is_loaded)||mainw->cliplist==NULL) return; + if (mainw->current_file < 1 || mainw->multitrack != NULL || mainw->preview || mainw->internal_messaging || + (mainw->is_processing && cfile->is_loaded) || mainw->cliplist == NULL) return; - if (type==2||(mainw->active_sa_clips==SCREEN_AREA_BACKGROUND&&mainw->playing_file>0&&type!=1)) { + if (type == 2 || (mainw->active_sa_clips == SCREEN_AREA_BACKGROUND && mainw->playing_file > 0 && type != 1)) { // switch bg clip - if (newclip!=mainw->blend_file) { - if (mainw->blend_file!=-1&&mainw->files[mainw->blend_file]->clip_type==CLIP_TYPE_GENERATOR&& - mainw->blend_file!=mainw->current_file) { - mainw->osc_block=TRUE; - if (rte_window!=NULL) rtew_set_keych(rte_bg_gen_key(),FALSE); - if (mainw->ce_thumbs) ce_thumbs_set_keych(rte_bg_gen_key(),FALSE); - mainw->new_blend_file=newclip; + if (newclip != mainw->blend_file) { + if (mainw->blend_file != -1 && mainw->files[mainw->blend_file]->clip_type == CLIP_TYPE_GENERATOR && + mainw->blend_file != mainw->current_file) { + mainw->osc_block = TRUE; + if (rte_window != NULL) rtew_set_keych(rte_bg_gen_key(), FALSE); + if (mainw->ce_thumbs) ce_thumbs_set_keych(rte_bg_gen_key(), FALSE); + mainw->new_blend_file = newclip; weed_generator_end((weed_plant_t *)mainw->files[mainw->blend_file]->ext_src); - mainw->osc_block=FALSE; + mainw->osc_block = FALSE; } - mainw->blend_file=newclip; - mainw->whentostop=NEVER_STOP; - if (mainw->ce_thumbs&&mainw->active_sa_clips==SCREEN_AREA_BACKGROUND) ce_thumbs_highlight_current_clip(); + mainw->blend_file = newclip; + mainw->whentostop = NEVER_STOP; + if (mainw->ce_thumbs && mainw->active_sa_clips == SCREEN_AREA_BACKGROUND) ce_thumbs_highlight_current_clip(); } return; } // switch fg clip - if (!force&&(newclip==mainw->current_file&&(mainw->playing_file==-1||mainw->playing_file==newclip))) return; - if (!cfile->is_loaded) mainw->cancelled=CANCEL_NO_PROPOGATE; + if (!force && (newclip == mainw->current_file && (mainw->playing_file == -1 || mainw->playing_file == newclip))) return; + if (!cfile->is_loaded) mainw->cancelled = CANCEL_NO_PROPOGATE; - if (mainw->playing_file>-1) { - mainw->pre_src_file=newclip; - mainw->new_clip=newclip; + if (mainw->playing_file > -1) { + mainw->pre_src_file = newclip; + mainw->new_clip = newclip; } else { - if (force&&newclip==mainw->current_file) mainw->current_file=0; - switch_to_file(mainw->current_file,newclip); + if (force && newclip == mainw->current_file) mainw->current_file = 0; + switch_to_file(mainw->current_file, newclip); } } @@ -5683,13 +5588,13 @@ // switch clips from the clips menu register int i; - if (mainw->current_file<1||mainw->preview||(mainw->is_processing&&cfile->is_loaded)||mainw->cliplist==NULL) return; + if (mainw->current_file < 1 || mainw->preview || (mainw->is_processing && cfile->is_loaded) || mainw->cliplist == NULL) return; - for (i=1; i<MAX_FILES; i++) { - if (mainw->files[i]!=NULL) { - if (LIVES_MENU_ITEM(menuitem)==LIVES_MENU_ITEM(mainw->files[i]->menuentry)&& + for (i = 1; i < MAX_FILES; i++) { + if (mainw->files[i] != NULL) { + if (LIVES_MENU_ITEM(menuitem) == LIVES_MENU_ITEM(mainw->files[i]->menuentry) && lives_check_menu_item_get_active(LIVES_CHECK_MENU_ITEM(mainw->files[i]->menuentry))) { - switch_clip(0,i,FALSE); + switch_clip(0, i, FALSE); return; } } @@ -5697,11 +5602,10 @@ } - void on_about_activate(LiVESMenuItem *menuitem, livespointer user_data) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,14,0) +#if GTK_CHECK_VERSION(2, 14, 0) char *license = lives_strdup(_( "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -5717,13 +5621,13 @@ "along with this program; if not, write to the Free Software\n" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA.\n")); - char *comments= lives_strdup(_("A video editor and VJ program.")); - char *title= lives_strdup(_("About LiVES")); + char *comments = lives_strdup(_("A video editor and VJ program.")); + char *title = lives_strdup(_("About LiVES")); char *translator_credits = lives_strdup(_("translator_credits")); -#if GTK_CHECK_VERSION(3,0,0) - char *authors[2]= {LIVES_AUTHOR_EMAIL,NULL}; +#if GTK_CHECK_VERSION(3, 0, 0) + char *authors[2] = {LIVES_AUTHOR_EMAIL, NULL}; #else gtk_about_dialog_set_url_hook(activate_url, NULL, NULL); gtk_about_dialog_set_email_hook(activate_url, NULL, NULL); @@ -5733,13 +5637,13 @@ "logo", NULL, "name", PACKAGE_NAME, "version", LiVES_VERSION, - "comments",comments, + "comments", comments, "copyright", "(C) "LIVES_COPYRIGHT_YEARS" salsaman <"LIVES_AUTHOR_EMAIL"> and others", "website", LIVES_WEBSITE, "license", license, "title", title, "translator_credits", translator_credits, -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) "authors", authors, "license-type", GTK_LICENSE_GPL_3_0, #endif @@ -5754,28 +5658,25 @@ #endif char *mesg; - mesg=lives_strdup_printf( - _("LiVES Version %s\n" - "(c) G. Finch (salsaman) %s\n\n" - "Released under the GPL 3 or later (http://www.gnu.org/licenses/gpl.txt)\n" - "LiVES is distributed WITHOUT WARRANTY\n\n" - "Contact the author at:\n%s\n" - "Homepage: %s"), - LiVES_VERSION,LIVES_COPYRIGHT_YEARS,LIVES_AUTHOR_EMAIL,LIVES_WEBSITE - ); + mesg = lives_strdup_printf( + _("LiVES Version %s\n" + "(c) G. Finch (salsaman) %s\n\n" + "Released under the GPL 3 or later (http://www.gnu.org/licenses/gpl.txt)\n" + "LiVES is distributed WITHOUT WARRANTY\n\n" + "Contact the author at:\n%s\n" + "Homepage: %s"), + LiVES_VERSION, LIVES_COPYRIGHT_YEARS, LIVES_AUTHOR_EMAIL, LIVES_WEBSITE + ); do_error_dialog(mesg); lives_free(mesg); - } - void show_manual_activate(LiVESMenuItem *menuitem, livespointer user_data) { - show_manual_section(NULL,NULL); + show_manual_section(NULL, NULL); } - void email_author_activate(LiVESMenuItem *menuitem, livespointer user_data) { activate_url_inner("mailto:"LIVES_AUTHOR_EMAIL); } @@ -5796,152 +5697,135 @@ } - void donate_activate(LiVESMenuItem *menuitem, livespointer user_data) { - const char *link=lives_strdup_printf("%s%s",LIVES_DONATE_URL,user_data==NULL?"":(char *)user_data); + const char *link = lives_strdup_printf("%s%s", LIVES_DONATE_URL, user_data == NULL ? "" : (char *)user_data); activate_url_inner(link); } +EXPOSE_FN_DECL(expose_fsplayarea_event, widget) { + LiVESPixbuf *pixbuf = (LiVESPixbuf *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(widget), "pixbuf"); - - -#if GTK_CHECK_VERSION(3,0,0) -boolean expose_fsplayarea_event(LiVESWidget *widget, lives_painter_t *cr, livespointer user_data) { - //LiVESXEventExpose *event=NULL; -#else -boolean expose_fsplayarea_event(LiVESWidget *widget, LiVESXEventExpose *event) { - lives_painter_t *cr=NULL; -#endif - - boolean dest_cr=FALSE; - - LiVESPixbuf *pixbuf=(LiVESPixbuf *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(widget), "pixbuf"); + lives_painter_t *cr; int fwidth, fheight, owidth, oheight, width, height; - int offs_x,offs_y; + int offs_x, offs_y; - if (cr==NULL) { - cr=lives_painter_create_from_widget(widget); - dest_cr=TRUE; - } + if (cairo == NULL) cr = lives_painter_create_from_widget(widget); + else cr = cairo; - fwidth=lives_widget_get_allocation_width(widget); - fheight=lives_widget_get_allocation_height(widget); + fwidth = lives_widget_get_allocation_width(widget); + fheight = lives_widget_get_allocation_height(widget); - owidth=width=lives_pixbuf_get_width(pixbuf); - oheight=height=lives_pixbuf_get_height(pixbuf); + owidth = width = lives_pixbuf_get_width(pixbuf); + oheight = height = lives_pixbuf_get_height(pixbuf); - calc_maxspect(fwidth,fheight,&width,&height); + calc_maxspect(fwidth, fheight, &width, &height); - width=(width>>1)<<1; - height=(height>>1)<<1; + width = (width >> 1) << 1; + height = (height >> 1) << 1; - if (width>owidth && height>oheight) { - width=owidth; - height=oheight; + if (width > owidth && height > oheight) { + width = owidth; + height = oheight; } - lives_painter_set_source_rgb(cr,0.,0.,0.); - lives_painter_rectangle(cr,0.,0.,fwidth,fheight); + lives_painter_set_source_rgb(cr, 0., 0., 0.); + lives_painter_rectangle(cr, 0., 0., fwidth, fheight); lives_painter_fill(cr); lives_painter_paint(cr); - offs_x=(fwidth-width)/2; - offs_y=(fheight-height)/2; + offs_x = (fwidth - width) / 2; + offs_y = (fheight - height) / 2; lives_painter_set_source_pixbuf(cr, pixbuf, offs_x, offs_y); lives_painter_fill(cr); lives_painter_paint(cr); - if (dest_cr) lives_painter_destroy(cr); + if (cr != cairo) lives_painter_destroy(cr); return TRUE; } - - - - +} void on_fs_preview_clicked(LiVESWidget *widget, livespointer user_data) { // file selector preview - double start_time=0.; + double start_time = 0.; - uint64_t xwin=0; + uint64_t xwin = 0; - FILE *ifile=NULL; + FILE *ifile = NULL; lives_painter_t *cr; char **array; - int preview_frames=1000000000; - int preview_type=LIVES_POINTER_TO_INT(user_data); + int preview_frames = 1000000000; + int preview_type = LIVES_POINTER_TO_INT(user_data); - int height=0,width=0; - int fwidth,fheight,owidth,oheight; + int height = 0, width = 0; + int fwidth, fheight, owidth, oheight; - pid_t pid=capable->mainpid; + pid_t pid = capable->mainpid; int alarm_handle; int retval; boolean timeout; - char *info_file,*thm_dir; - char *file_open_params=NULL; - char *tmp,*tmp2; + char *info_file, *thm_dir; + char *file_open_params = NULL; + char *tmp, *tmp2; char *com; char *dfile; end_fs_preview(); if (mainw->in_fs_preview) { - dfile=lives_strdup_printf("thm%d",pid); - lives_kill_subprocesses(dfile,TRUE); + dfile = lives_strdup_printf("thm%d", pid); + lives_kill_subprocesses(dfile, TRUE); lives_free(dfile); lives_widget_context_update(); } - if (preview_type==LIVES_PREVIEW_TYPE_RANGE) { + if (preview_type == LIVES_PREVIEW_TYPE_RANGE) { // open selection - start_time=mainw->fx1_val; - preview_frames=(int)mainw->fx2_val; + start_time = mainw->fx1_val; + preview_frames = (int)mainw->fx2_val; } else { // open file - lives_snprintf(file_name,PATH_MAX,"%s", - (tmp=lives_filename_to_utf8((tmp2=lives_file_chooser_get_filename(LIVES_FILE_CHOOSER(lives_widget_get_toplevel(widget)))), - -1,NULL,NULL,NULL))); + lives_snprintf(file_name, PATH_MAX, "%s", + (tmp = lives_filename_to_utf8((tmp2 = lives_file_chooser_get_filename(LIVES_FILE_CHOOSER(lives_widget_get_toplevel(widget)))), + -1, NULL, NULL, NULL))); lives_free(tmp); lives_free(tmp2); } - info_file=lives_strdup_printf("%s/thm%d/%s",prefs->workdir,capable->mainpid,LIVES_STATUS_FILE_NAME); + info_file = lives_strdup_printf("%s/thm%d/%s", prefs->workdir, capable->mainpid, LIVES_STATUS_FILE_NAME); lives_rm(info_file); - if (preview_type==LIVES_PREVIEW_TYPE_VIDEO_AUDIO||preview_type==LIVES_PREVIEW_TYPE_IMAGE_ONLY) { - - preview_frames=1000000000; + if (preview_type == LIVES_PREVIEW_TYPE_VIDEO_AUDIO || preview_type == LIVES_PREVIEW_TYPE_IMAGE_ONLY) { + preview_frames = 1000000000; clear_mainw_msg(); if (capable->has_identify) { - mainw->error=FALSE; + mainw->error = FALSE; // make thumb from any image file - com=lives_strdup_printf("%s make_thumb thm%d %d %d \"%s\" \"%s\"",prefs->backend_sync,pid,DEFAULT_FRAME_HSIZE, - DEFAULT_FRAME_VSIZE,prefs->image_ext,(tmp=lives_filename_from_utf8(file_name,-1,NULL,NULL,NULL))); + com = lives_strdup_printf("%s make_thumb thm%d %d %d \"%s\" \"%s\"", prefs->backend_sync, pid, DEFAULT_FRAME_HSIZE, + DEFAULT_FRAME_VSIZE, prefs->image_ext, (tmp = lives_filename_from_utf8(file_name, -1, NULL, NULL, NULL))); lives_free(tmp); - lives_system(com,FALSE); + lives_system(com, FALSE); lives_free(com); do { - retval=0; - timeout=FALSE; - alarm_handle=lives_alarm_set(LIVES_DEFAULT_TIMEOUT); + retval = 0; + timeout = FALSE; + alarm_handle = lives_alarm_set(LIVES_DEFAULT_TIMEOUT); - while (!((ifile=fopen(info_file,"r")) && !(timeout=lives_alarm_get(alarm_handle)))) { + while (!((ifile = fopen(info_file, "r")) && !(timeout = lives_alarm_get(alarm_handle)))) { lives_widget_context_update(); lives_usleep(prefs->sleep_time); } @@ -5949,48 +5833,43 @@ lives_alarm_clear(alarm_handle); if (!timeout) { - mainw->read_failed=FALSE; - lives_fgets(mainw->msg,512,ifile); + mainw->read_failed = FALSE; + lives_fgets(mainw->msg, 512, ifile); fclose(ifile); } if (timeout || mainw->read_failed) { - retval=do_read_failed_error_s_with_retry(info_file,NULL,NULL); + retval = do_read_failed_error_s_with_retry(info_file, NULL, NULL); } + } while (retval == LIVES_RESPONSE_RETRY); - } while (retval==LIVES_RESPONSE_RETRY); - - if (retval==LIVES_RESPONSE_CANCEL) { - mainw->read_failed=FALSE; + if (retval == LIVES_RESPONSE_CANCEL) { + mainw->read_failed = FALSE; return; } if (!mainw->error) { - array=lives_strsplit(mainw->msg,"|",3); - width=atoi(array[1]); - height=atoi(array[2]); + array = lives_strsplit(mainw->msg, "|", 3); + width = atoi(array[1]); + height = atoi(array[2]); lives_strfreev(array); - } else height=width=0; - mainw->error=FALSE; + } else height = width = 0; + mainw->error = FALSE; } else { - height=width=0; + height = width = 0; } - if (height*width) { + if (height > 0 && width > 0) { // draw image - LiVESError *error=NULL; - char *thumb=lives_strdup_printf("%s/thm%d/%08d.%s",prefs->workdir,pid,1,prefs->image_ext); - LiVESPixbuf *pixbuf=lives_pixbuf_new_from_file((tmp=lives_filename_from_utf8(thumb,-1,NULL,NULL,NULL)),&error); + LiVESError *error = NULL; + char *thumb = lives_strdup_printf("%s/thm%d/%08d.%s", prefs->workdir, pid, 1, prefs->image_ext); + LiVESPixbuf *pixbuf = lives_pixbuf_new_from_file((tmp = lives_filename_from_utf8(thumb, -1, NULL, NULL, NULL)), &error); lives_free(thumb); lives_free(tmp); - if (error==NULL) { - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(mainw->fs_playarea),"pixbuf",pixbuf); -#if GTK_CHECK_VERSION(3,0,0) - expose_fsplayarea_event(mainw->fs_playarea,NULL,NULL); -#else - expose_fsplayarea_event(mainw->fs_playarea,NULL); -#endif + if (error == NULL) { + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(mainw->fs_playarea), "pixbuf", pixbuf); + expose_fsplayarea_event(mainw->fs_playarea, NULL, NULL); lives_signal_connect(LIVES_GUI_OBJECT(mainw->fs_playarea), LIVES_WIDGET_EXPOSE_EVENT, LIVES_GUI_CALLBACK(expose_fsplayarea_event), NULL); @@ -6001,54 +5880,52 @@ } lives_free(info_file); - thm_dir=lives_strdup_printf("%s/thm%d",prefs->workdir,capable->mainpid); - lives_rmdir(thm_dir,TRUE); + thm_dir = lives_strdup_printf("%s/thm%d", prefs->workdir, capable->mainpid); + lives_rmdir(thm_dir, TRUE); lives_free(thm_dir); } - - if (!(height*width)&&preview_type!=LIVES_PREVIEW_TYPE_IMAGE_ONLY) { + if ((height == 0 || width == 0) && preview_type != LIVES_PREVIEW_TYPE_IMAGE_ONLY) { // media preview - if (!capable->has_mplayer&&!(capable->has_mplayer2 + if (!capable->has_mplayer && !(capable->has_mplayer2 #ifdef ALLOW_MPV - ||capable->has_mpv + || capable->has_mpv #endif - )) { + )) { char *msg; if (capable->has_identify) { - msg=lives_strdup(_("\n\nYou need to install mplayer or mplayer2 to be able to preview this file.\n")); + msg = lives_strdup(_("\n\nYou need to install mplayer or mplayer2 to be able to preview this file.\n")); } else { - msg=lives_strdup(_("\n\nYou need to install mplayer, mplayer2 or imageMagick to be able to preview this file.\n")); + msg = lives_strdup(_("\n\nYou need to install mplayer, mplayer2 or imageMagick to be able to preview this file.\n")); } do_blocking_error_dialog(msg); lives_free(msg); return; } - dfile=lives_strdup_printf("%s"LIVES_DIR_SEP"fsp%d"LIVES_DIR_SEP,prefs->workdir,capable->mainpid); - lives_mkdir_with_parents(dfile,capable->umask); + dfile = lives_strdup_printf("%s"LIVES_DIR_SEP"fsp%d"LIVES_DIR_SEP, prefs->workdir, capable->mainpid); + lives_mkdir_with_parents(dfile, capable->umask); - info_file=lives_strdup_printf("%s%s",dfile,LIVES_STATUS_FILE_NAME); + info_file = lives_strdup_printf("%s%s", dfile, LIVES_STATUS_FILE_NAME); lives_free(dfile); - if (preview_type!=LIVES_PREVIEW_TYPE_AUDIO_ONLY) { + if (preview_type != LIVES_PREVIEW_TYPE_AUDIO_ONLY) { lives_widget_set_bg_color(mainw->fs_playarea, LIVES_WIDGET_STATE_NORMAL, &palette->black); lives_widget_set_bg_color(mainw->fs_playframe, LIVES_WIDGET_STATE_NORMAL, &palette->black); lives_widget_set_bg_color(mainw->fs_playalign, LIVES_WIDGET_STATE_NORMAL, &palette->black); } - mainw->in_fs_preview=TRUE; + mainw->in_fs_preview = TRUE; // get width and height of clip - com=lives_strdup_printf("%s get_details fsp%d \"%s\" \"%s\" %d %d",prefs->backend,capable->mainpid, - (tmp=lives_filename_from_utf8(file_name,-1,NULL,NULL,NULL)), - prefs->image_ext,FALSE,FALSE); - + com = lives_strdup_printf("%s get_details fsp%d \"%s\" \"%s\" %d %d", prefs->backend, capable->mainpid, + (tmp = lives_filename_from_utf8(file_name, -1, NULL, NULL, NULL)), + prefs->image_ext, FALSE, FALSE); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { @@ -6057,16 +5934,15 @@ return; } - do { - retval=0; - timeout=FALSE; + retval = 0; + timeout = FALSE; clear_mainw_msg(); - alarm_handle=lives_alarm_set(LIVES_DEFAULT_TIMEOUT); + alarm_handle = lives_alarm_set(LIVES_DEFAULT_TIMEOUT); - while (!((ifile=fopen(info_file,"r")) && !(timeout=lives_alarm_get(alarm_handle))) - &&mainw->in_fs_preview) { + while (!((ifile = fopen(info_file, "r")) && !(timeout = lives_alarm_get(alarm_handle))) + && mainw->in_fs_preview) { lives_widget_context_update(); threaded_dialog_spin(0.); lives_usleep(prefs->sleep_time); @@ -6082,59 +5958,57 @@ } if (!timeout) { - mainw->read_failed=FALSE; - lives_fgets(mainw->msg,512,ifile); + mainw->read_failed = FALSE; + lives_fgets(mainw->msg, 512, ifile); fclose(ifile); } - if (timeout||mainw->read_failed) { - retval=do_read_failed_error_s_with_retry(info_file,NULL,NULL); + if (timeout || mainw->read_failed) { + retval = do_read_failed_error_s_with_retry(info_file, NULL, NULL); } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); - if (mainw->msg!=NULL&&get_token_count(mainw->msg,'|')>6) { - array=lives_strsplit(mainw->msg,"|",-1); - width=atoi(array[4]); - height=atoi(array[5]); + if (mainw->msg != NULL && get_token_count(mainw->msg, '|') > 6) { + array = lives_strsplit(mainw->msg, "|", -1); + width = atoi(array[4]); + height = atoi(array[5]); lives_strfreev(array); } else { - width=DEFAULT_FRAME_HSIZE; - height=DEFAULT_FRAME_VSIZE; + width = DEFAULT_FRAME_HSIZE; + height = DEFAULT_FRAME_VSIZE; } lives_rm(info_file); - if (preview_type!=LIVES_PREVIEW_TYPE_AUDIO_ONLY) { - - owidth=width; - oheight=height; + if (preview_type != LIVES_PREVIEW_TYPE_AUDIO_ONLY) { + owidth = width; + oheight = height; // -20 since border width was set to 10 pixels - fwidth=lives_widget_get_allocation_width(mainw->fs_playalign)-20; - fheight=lives_widget_get_allocation_height(mainw->fs_playalign)-20; + fwidth = lives_widget_get_allocation_width(mainw->fs_playalign) - 20; + fheight = lives_widget_get_allocation_height(mainw->fs_playalign) - 20; - calc_maxspect(fwidth,fheight, - &width,&height); + calc_maxspect(fwidth, fheight, + &width, &height); - width=(width>>1)<<1; - height=(height>>1)<<1; + width = (width >> 1) << 1; + height = (height >> 1) << 1; - if (width>owidth && height>oheight) { - width=owidth; - height=oheight; + if (width > owidth && height > oheight) { + width = owidth; + height = oheight; } - lives_alignment_set(LIVES_ALIGNMENT(mainw->fs_playalign),0.5, - 0.5,0., - (float)height/(float)fheight); - + lives_alignment_set(LIVES_ALIGNMENT(mainw->fs_playalign), 0.5, + 0.5, 0., + (float)height / (float)fheight); lives_widget_context_update(); cr = lives_painter_create_from_widget(mainw->fs_playarea); - lives_painter_set_source_rgb(cr,0.,0.,0.); - lives_painter_rectangle(cr,0,0,fwidth+20,fheight+20); + lives_painter_set_source_rgb(cr, 0., 0., 0.); + lives_painter_rectangle(cr, 0, 0, fwidth + 20, fheight + 20); lives_painter_fill(cr); lives_painter_paint(cr); @@ -6143,48 +6017,46 @@ lives_widget_context_update(); } - if (prefs->audio_player==AUD_PLAYER_JACK) { - file_open_params=lives_strdup_printf("%s %s -ao jack",mainw->file_open_params!=NULL? - mainw->file_open_params:"",get_deinterlace_string()); - } else if (prefs->audio_player==AUD_PLAYER_PULSE) { - file_open_params=lives_strdup_printf("%s %s -ao pulse",mainw->file_open_params!=NULL? - mainw->file_open_params:"",get_deinterlace_string()); + if (prefs->audio_player == AUD_PLAYER_JACK) { + file_open_params = lives_strdup_printf("%s %s -ao jack", mainw->file_open_params != NULL ? + mainw->file_open_params : "", get_deinterlace_string()); + } else if (prefs->audio_player == AUD_PLAYER_PULSE) { + file_open_params = lives_strdup_printf("%s %s -ao pulse", mainw->file_open_params != NULL ? + mainw->file_open_params : "", get_deinterlace_string()); } else { - file_open_params=lives_strdup_printf("%s %s -ao null",mainw->file_open_params!=NULL? - mainw->file_open_params:"",get_deinterlace_string()); + file_open_params = lives_strdup_printf("%s %s -ao null", mainw->file_open_params != NULL ? + mainw->file_open_params : "", get_deinterlace_string()); } - - if (preview_type==LIVES_PREVIEW_TYPE_VIDEO_AUDIO||preview_type==LIVES_PREVIEW_TYPE_RANGE) { - xwin=lives_widget_get_xwinid(mainw->fs_playarea,"Unsupported display type for preview."); - if (xwin==-1) { + if (preview_type == LIVES_PREVIEW_TYPE_VIDEO_AUDIO || preview_type == LIVES_PREVIEW_TYPE_RANGE) { + xwin = lives_widget_get_xwinid(mainw->fs_playarea, "Unsupported display type for preview."); + if (xwin == -1) { end_fs_preview(); lives_free(info_file); return; } } - - if (file_open_params!=NULL) { - com=lives_strdup_printf("%s fs_preview fsp%d %"PRIu64" %d %d %.2f %d \"%s\" \"%s\"",prefs->backend,capable->mainpid, - xwin, width, height, start_time, preview_frames, - (tmp=lives_filename_from_utf8(file_name,-1,NULL,NULL,NULL)),file_open_params); + if (file_open_params != NULL) { + com = lives_strdup_printf("%s fs_preview fsp%d %"PRIu64" %d %d %.2f %d \"%s\" \"%s\"", prefs->backend, capable->mainpid, + xwin, width, height, start_time, preview_frames, + (tmp = lives_filename_from_utf8(file_name, -1, NULL, NULL, NULL)), file_open_params); } else { - com=lives_strdup_printf("%s fs_preview fsp%d %"PRIu64" %d %d %.2f %d \"%s\"",prefs->backend,capable->mainpid, - xwin, width, height, start_time, preview_frames, - (tmp=lives_filename_from_utf8(file_name,-1,NULL,NULL,NULL))); + com = lives_strdup_printf("%s fs_preview fsp%d %"PRIu64" %d %d %.2f %d \"%s\"", prefs->backend, capable->mainpid, + xwin, width, height, start_time, preview_frames, + (tmp = lives_filename_from_utf8(file_name, -1, NULL, NULL, NULL))); } lives_free(tmp); - if (preview_type!=LIVES_PREVIEW_TYPE_AUDIO_ONLY) lives_widget_set_app_paintable(mainw->fs_playarea,TRUE); + if (preview_type != LIVES_PREVIEW_TYPE_AUDIO_ONLY) lives_widget_set_app_paintable(mainw->fs_playarea, TRUE); - mainw->com_failed=FALSE; + mainw->com_failed = FALSE; - mainw->in_fs_preview=TRUE; + mainw->in_fs_preview = TRUE; lives_rm(info_file); - lives_system(com,FALSE); + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { @@ -6195,12 +6067,12 @@ // loop here until preview has finished, or the user presses OK or Cancel - while ((!(ifile=fopen(info_file,"r")))&&mainw->in_fs_preview&&mainw->fc_buttonresponse==LIVES_RESPONSE_NONE) { + while ((!(ifile = fopen(info_file, "r"))) && mainw->in_fs_preview && mainw->fc_buttonresponse == LIVES_RESPONSE_NONE) { lives_widget_context_update(); lives_usleep(prefs->sleep_time); } - if (ifile!=NULL) { + if (ifile != NULL) { fclose(ifile); } @@ -6212,163 +6084,155 @@ } - - void on_open_activate(LiVESMenuItem *menuitem, livespointer user_data) { // OPEN A FILE (single or multiple) LiVESWidget *chooser; int resp; - if (mainw->multitrack!=NULL) { - if (mainw->multitrack->idlefunc>0) { + if (mainw->multitrack != NULL) { + if (mainw->multitrack->idlefunc > 0) { lives_source_remove(mainw->multitrack->idlefunc); - mainw->multitrack->idlefunc=0; + mainw->multitrack->idlefunc = 0; } mt_desensitise(mainw->multitrack); - lives_widget_set_sensitive(mainw->multitrack->playall,TRUE); + lives_widget_set_sensitive(mainw->multitrack->playall, TRUE); lives_widget_set_sensitive(mainw->m_playbutton, TRUE); } - chooser=choose_file_with_preview(strlen(mainw->vid_load_dir)?mainw->vid_load_dir:NULL,NULL,NULL,LIVES_FILE_SELECTION_VIDEO_AUDIO_MULTI); + chooser = choose_file_with_preview(strlen(mainw->vid_load_dir) ? mainw->vid_load_dir : NULL, NULL, NULL, + LIVES_FILE_SELECTION_VIDEO_AUDIO_MULTI); - resp=lives_dialog_run(LIVES_DIALOG(chooser)); + resp = lives_dialog_run(LIVES_DIALOG(chooser)); end_fs_preview(); - mainw->fs_playarea=NULL; - + mainw->fs_playarea = NULL; - if (resp==LIVES_RESPONSE_ACCEPT) on_ok_file_open_clicked(LIVES_FILE_CHOOSER(chooser),NULL); + if (resp == LIVES_RESPONSE_ACCEPT) on_ok_file_open_clicked(LIVES_FILE_CHOOSER(chooser), NULL); else on_filechooser_cancel_clicked(chooser); } - - void on_ok_file_open_clicked(LiVESFileChooser *chooser, LiVESSList *fnames) { // this is also called from drag target LiVESSList *ofnames; - if (chooser!=NULL) { - fnames=lives_file_chooser_get_filenames(chooser); + if (chooser != NULL) { + fnames = lives_file_chooser_get_filenames(chooser); lives_widget_destroy(LIVES_WIDGET(chooser)); - if (fnames==NULL) return; + if (fnames == NULL) return; - if (fnames->data==NULL) { + if (fnames->data == NULL) { lives_list_free_all((LiVESList **)&fnames); return; } - lives_snprintf(mainw->vid_load_dir,PATH_MAX,"%s",(char *)fnames->data); + lives_snprintf(mainw->vid_load_dir, PATH_MAX, "%s", (char *)fnames->data); get_dirname(mainw->vid_load_dir); - if (mainw->multitrack==NULL) lives_widget_queue_draw(mainw->LiVES); - else lives_widget_queue_draw(mainw->multitrack->window); + lives_widget_queue_draw(LIVES_MAIN_WINDOW_WIDGET); lives_widget_context_update(); if (prefs->save_directories) { - set_pref_utf8(PREF_VID_LOAD_DIR,mainw->vid_load_dir); + set_pref_utf8(PREF_VID_LOAD_DIR, mainw->vid_load_dir); } - mainw->cancelled=CANCEL_NONE; + mainw->cancelled = CANCEL_NONE; } - ofnames=fnames; - mainw->img_concat_clip=-1; + ofnames = fnames; + mainw->img_concat_clip = -1; - while (fnames!=NULL&&mainw->cancelled==CANCEL_NONE) { - lives_snprintf(file_name,PATH_MAX,"%s",(char *)fnames->data); + while (fnames != NULL && mainw->cancelled == CANCEL_NONE) { + lives_snprintf(file_name, PATH_MAX, "%s", (char *)fnames->data); lives_free((livespointer)fnames->data); open_file(file_name); - fnames=fnames->next; + fnames = fnames->next; } lives_slist_free(ofnames); - mainw->opening_multi=FALSE; - mainw->img_concat_clip=-1; + mainw->opening_multi = FALSE; + mainw->img_concat_clip = -1; - if (mainw->multitrack!=NULL) { - polymorph(mainw->multitrack,POLY_NONE); - polymorph(mainw->multitrack,POLY_CLIPS); + if (mainw->multitrack != NULL) { + polymorph(mainw->multitrack, POLY_NONE); + polymorph(mainw->multitrack, POLY_CLIPS); mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } - } - #ifdef GUI_GTK // TODO // files dragged onto target from outside - try to open them void drag_from_outside(LiVESWidget *widget, GdkDragContext *dcon, int x, int y, GtkSelectionData *data, uint32_t info, uint32_t time, livespointer user_data) { - GSList *fnames=NULL; -#if GTK_CHECK_VERSION(3,0,0) - char *filelist=(char *)gtk_selection_data_get_data(data); + GSList *fnames = NULL; +#if GTK_CHECK_VERSION(3, 0, 0) + char *filelist = (char *)gtk_selection_data_get_data(data); #else - char *filelist=(char *)data->data; + char *filelist = (char *)data->data; #endif - char *nfilelist,**array; - int nfiles,i; + char *nfilelist, **array; + int nfiles, i; - if (filelist==NULL) { - gtk_drag_finish(dcon,FALSE,FALSE,time); + if (filelist == NULL) { + gtk_drag_finish(dcon, FALSE, FALSE, time); return; } - if (mainw->multitrack!=NULL&&widget==mainw->multitrack->window) { + if (mainw->multitrack != NULL && widget == mainw->multitrack->window) { if (!lives_widget_is_sensitive(mainw->multitrack->open_menu)) { - gtk_drag_finish(dcon,FALSE,FALSE,time); + gtk_drag_finish(dcon, FALSE, FALSE, time); return; } } else { if (!lives_widget_is_sensitive(mainw->open)) { - gtk_drag_finish(dcon,FALSE,FALSE,time); + gtk_drag_finish(dcon, FALSE, FALSE, time); return; } } - nfilelist=subst(filelist,"file://",""); + nfilelist = subst(filelist, "file://", ""); - nfiles=get_token_count(nfilelist,'\n'); - array=lives_strsplit(nfilelist,"\n",nfiles); + nfiles = get_token_count(nfilelist, '\n'); + array = lives_strsplit(nfilelist, "\n", nfiles); lives_free(nfilelist); - for (i=0; i<nfiles; i++) { - fnames=lives_slist_append(fnames,array[i]); + for (i = 0; i < nfiles; i++) { + fnames = lives_slist_append(fnames, array[i]); } - on_ok_file_open_clicked(NULL,fnames); + on_ok_file_open_clicked(NULL, fnames); // fn will free array elements and fnames lives_free(array); - gtk_drag_finish(dcon,TRUE,FALSE,time); + gtk_drag_finish(dcon, TRUE, FALSE, time); } #endif - void on_opensel_range_ok_clicked(LiVESButton *button, livespointer user_data) { // open file selection end_fs_preview(); - lives_general_button_clicked(button,NULL); + lives_general_button_clicked(button, NULL); - mainw->fs_playarea=NULL; + mainw->fs_playarea = NULL; - mainw->img_concat_clip=-1; - open_file_sel(file_name,mainw->fx1_val,(int)mainw->fx2_val); + mainw->img_concat_clip = -1; + open_file_sel(file_name, mainw->fx1_val, (int)mainw->fx2_val); - if (mainw->multitrack!=NULL) { - polymorph(mainw->multitrack,POLY_NONE); - polymorph(mainw->multitrack,POLY_CLIPS); + if (mainw->multitrack != NULL) { + polymorph(mainw->multitrack, POLY_NONE); + polymorph(mainw->multitrack, POLY_CLIPS); mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } } @@ -6376,50 +6240,47 @@ void open_sel_range_activate(void) { // open selection range dialog LiVESWidget *opensel_dialog; - mainw->fc_buttonresponse=LIVES_RESPONSE_NONE; // reset button state + mainw->fc_buttonresponse = LIVES_RESPONSE_NONE; // reset button state opensel_dialog = create_opensel_dialog(); lives_widget_show_all(opensel_dialog); - mainw->fx1_val=0.; - mainw->fx2_val=1000; + mainw->fx1_val = 0.; + mainw->fx2_val = 1000; } - - void end_fs_preview(void) { // clean up if we were playing a preview - should be called from all callbacks // where there is a possibility of fs preview still playing char *com; - LiVESPixbuf *pixbuf=NULL; + LiVESPixbuf *pixbuf = NULL; - if (mainw->fs_playarea!=NULL) { - pixbuf=(LiVESPixbuf *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mainw->fs_playarea), "pixbuf"); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(mainw->fs_playarea),"pixbuf",NULL); - lives_widget_set_app_paintable(mainw->fs_playarea,FALSE); + if (mainw->fs_playarea != NULL) { + pixbuf = (LiVESPixbuf *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mainw->fs_playarea), "pixbuf"); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(mainw->fs_playarea), "pixbuf", NULL); + lives_widget_set_app_paintable(mainw->fs_playarea, FALSE); } - if (pixbuf!=NULL) lives_object_unref(pixbuf); + if (pixbuf != NULL) lives_object_unref(pixbuf); if (mainw->in_fs_preview) { - char *tmp=lives_strdup_printf("fsp%d",capable->mainpid); - lives_kill_subprocesses(tmp,TRUE); + char *tmp = lives_strdup_printf("fsp%d", capable->mainpid); + lives_kill_subprocesses(tmp, TRUE); lives_free(tmp); - com=lives_strdup_printf("%s close fsp%d",prefs->backend,capable->mainpid); - lives_system(com,TRUE); + com = lives_strdup_printf("%s close fsp%d", prefs->backend, capable->mainpid); + lives_system(com, TRUE); lives_free(com); - mainw->in_fs_preview=FALSE; - + mainw->in_fs_preview = FALSE; } } void on_save_textview_clicked(LiVESButton *button, livespointer user_data) { - LiVESTextView *textview=(LiVESTextView *)user_data; - char *filt[]= {"*."LIVES_FILE_EXT_TEXT,NULL}; + LiVESTextView *textview = (LiVESTextView *)user_data; + char *filt[] = {"*."LIVES_FILE_EXT_TEXT, NULL}; int fd; char *btext; char *save_file; @@ -6427,214 +6288,204 @@ lives_widget_hide(lives_widget_get_toplevel(LIVES_WIDGET(button))); lives_widget_context_update(); - save_file=choose_file(NULL,NULL,filt,LIVES_FILE_CHOOSER_ACTION_SAVE,NULL,NULL); + save_file = choose_file(NULL, NULL, filt, LIVES_FILE_CHOOSER_ACTION_SAVE, NULL, NULL); - if (save_file==NULL) { + if (save_file == NULL) { lives_widget_show(lives_widget_get_toplevel(LIVES_WIDGET(button))); return; } #ifndef IS_MINGW - if ((fd=creat(save_file,S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH))==-1) { + if ((fd = creat(save_file, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH)) == -1) { #else - if ((fd=creat(save_file,S_IRUSR|S_IWUSR))==-1) { + if ((fd = creat(save_file, S_IRUSR | S_IWUSR)) == -1) { #endif lives_widget_show(lives_widget_get_toplevel(LIVES_WIDGET(button))); - do_write_failed_error_s(save_file,lives_strerror(errno)); + do_write_failed_error_s(save_file, lives_strerror(errno)); lives_free(save_file); return; } - btext=lives_text_view_get_text(textview); + btext = lives_text_view_get_text(textview); - lives_general_button_clicked(button,NULL); + lives_general_button_clicked(button, NULL); - mainw->write_failed=FALSE; - lives_write(fd,btext,strlen(btext),FALSE); + mainw->write_failed = FALSE; + lives_write(fd, btext, strlen(btext), FALSE); lives_free(btext); close(fd); if (mainw->write_failed) { - do_write_failed_error_s(save_file,lives_strerror(errno)); + do_write_failed_error_s(save_file, lives_strerror(errno)); } else { - char *msg=lives_strdup_printf(_("Text was saved as\n%s\n"),save_file); + char *msg = lives_strdup_printf(_("Text was saved as\n%s\n"), save_file); do_blocking_error_dialog(msg); lives_free(msg); } lives_free(save_file); - } - - void on_filechooser_cancel_clicked(LiVESWidget *widget) { - lives_widget_destroy(widget); - mainw->fs_playarea=NULL; + mainw->fs_playarea = NULL; - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); - } else if (mainw->current_file>0 && !cfile->opening) { + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); + } else if (mainw->current_file > 0 && !cfile->opening) { get_play_times(); } } - - void on_cancel_opensel_clicked(LiVESButton *button, livespointer user_data) { end_fs_preview(); - lives_general_button_clicked(button,NULL); - mainw->fs_playarea=NULL; + lives_general_button_clicked(button, NULL); + mainw->fs_playarea = NULL; - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } - } - void on_cancel_keep_button_clicked(LiVESButton *button, livespointer user_data) { // Cancel/Keep from progress dialog FILE *infofile; - char *com=NULL; + char *com = NULL; - uint32_t keep_frames=0; + uint32_t keep_frames = 0; - boolean killprocs=FALSE; + boolean killprocs = FALSE; - if (cfile->opening&&mainw->effects_paused) { - on_stop_clicked(NULL,NULL); + if (cfile->opening && mainw->effects_paused) { + on_stop_clicked(NULL, NULL); return; } clear_mainw_msg(); - if (mainw->current_file>-1&&cfile!=NULL&&cfile->proc_ptr!=NULL) { - lives_widget_set_sensitive(cfile->proc_ptr->cancel_button,FALSE); - lives_widget_set_sensitive(cfile->proc_ptr->pause_button,FALSE); - lives_widget_set_sensitive(cfile->proc_ptr->stop_button,FALSE); - lives_widget_set_sensitive(cfile->proc_ptr->preview_button,FALSE); + if (mainw->current_file > -1 && cfile != NULL && cfile->proc_ptr != NULL) { + lives_widget_set_sensitive(cfile->proc_ptr->cancel_button, FALSE); + lives_widget_set_sensitive(cfile->proc_ptr->pause_button, FALSE); + lives_widget_set_sensitive(cfile->proc_ptr->stop_button, FALSE); + lives_widget_set_sensitive(cfile->proc_ptr->preview_button, FALSE); } lives_widget_context_update(); - if ((!mainw->effects_paused||cfile->nokeep)&&(mainw->multitrack==NULL|| - (mainw->multitrack!=NULL&&(!mainw->multitrack->is_rendering|| - !mainw->preview)))) { + if ((!mainw->effects_paused || cfile->nokeep) && (mainw->multitrack == NULL || + (mainw->multitrack != NULL && (!mainw->multitrack->is_rendering || + !mainw->preview)))) { // Cancel - if (mainw->cancel_type==CANCEL_SOFT) { + if (mainw->cancel_type == CANCEL_SOFT) { // cancel in record audio - mainw->cancelled=CANCEL_USER; + mainw->cancelled = CANCEL_USER; d_print_cancelled(); return; - } else if (mainw->cancel_type==CANCEL_KILL) { + } else if (mainw->cancel_type == CANCEL_KILL) { // kill processes and subprocesses working on cfile - killprocs=TRUE; + killprocs = TRUE; } - if (!cfile->opening&&!mainw->internal_messaging) { + if (!cfile->opening && !mainw->internal_messaging) { // if we are opening, this is 'stop' in the preview, so don't cancel // otherwise, come here // kill off the background process if (killprocs) { - lives_kill_subprocesses(cfile->handle,TRUE); + lives_kill_subprocesses(cfile->handle, TRUE); } // resume for next time if (mainw->effects_paused) { lives_freep((void **)&com); - com=lives_strdup_printf("%s resume \"%s\"",prefs->backend_sync,cfile->handle); - lives_system(com,FALSE); + com = lives_strdup_printf("%s resume \"%s\"", prefs->backend_sync, cfile->handle); + lives_system(com, FALSE); } - } - mainw->cancelled=CANCEL_USER; + mainw->cancelled = CANCEL_USER; if (mainw->is_rendering) { - cfile->frames=0; + cfile->frames = 0; d_print_cancelled(); } else { // see if there was a message from backend - if (mainw->cancel_type!=CANCEL_SOFT) { - if ((infofile=fopen(cfile->info_file,"r"))!=NULL) { - mainw->read_failed=FALSE; - lives_fgets(mainw->msg,512,infofile); + if (mainw->cancel_type != CANCEL_SOFT) { + if ((infofile = fopen(cfile->info_file, "r")) != NULL) { + mainw->read_failed = FALSE; + lives_fgets(mainw->msg, 512, infofile); fclose(infofile); } - if (strncmp(mainw->msg,"completed",9)) { + if (strncmp(mainw->msg, "completed", 9)) { d_print_cancelled(); } else { // processing finished before we could cancel - mainw->cancelled=CANCEL_NONE; + mainw->cancelled = CANCEL_NONE; } } else d_print_cancelled(); } } else { // Keep - if (mainw->cancel_type==CANCEL_SOFT) { - mainw->cancelled=CANCEL_KEEP; + if (mainw->cancel_type == CANCEL_SOFT) { + mainw->cancelled = CANCEL_KEEP; return; } if (!mainw->is_rendering) { - keep_frames=cfile->proc_ptr->frames_done-cfile->progress_start+cfile->start-1+mainw->internal_messaging*2; - if (mainw->internal_messaging && atoi(mainw->msg)>cfile->proc_ptr->frames_done) - keep_frames=atoi(mainw->msg)-cfile->progress_start+cfile->start-1+2; - } else keep_frames=cfile->frames+1; - if (keep_frames>mainw->internal_messaging) { - d_print(P_("%d frame is enough !\n","%d frames are enough !\n",keep_frames-cfile->start), - keep_frames-cfile->start); + keep_frames = cfile->proc_ptr->frames_done - cfile->progress_start + cfile->start - 1 + mainw->internal_messaging * 2; + if (mainw->internal_messaging && atoi(mainw->msg) > cfile->proc_ptr->frames_done) + keep_frames = atoi(mainw->msg) - cfile->progress_start + cfile->start - 1 + 2; + } else keep_frames = cfile->frames + 1; + if (keep_frames > mainw->internal_messaging) { + d_print(P_("%d frame is enough !\n", "%d frames are enough !\n", keep_frames - cfile->start), + keep_frames - cfile->start); - lives_set_cursor_style(LIVES_CURSOR_BUSY,NULL); + lives_set_cursor_style(LIVES_CURSOR_BUSY, NULL); if (!mainw->internal_messaging) { - lives_kill_subprocesses(cfile->handle,TRUE); - com=lives_strdup_printf("%s resume \"%s\"",prefs->backend_sync,cfile->handle); - lives_system(com,FALSE); + lives_kill_subprocesses(cfile->handle, TRUE); + com = lives_strdup_printf("%s resume \"%s\"", prefs->backend_sync, cfile->handle); + lives_system(com, FALSE); lives_free(com); - if (!mainw->keep_pre) com=lives_strdup_printf("%s mv_mgk \"%s\" %d %d \"%s\"",prefs->backend,cfile->handle, - cfile->start,keep_frames-1,get_image_ext_for_type(cfile->img_type)); + if (!mainw->keep_pre) com = lives_strdup_printf("%s mv_mgk \"%s\" %d %d \"%s\"", prefs->backend, cfile->handle, + cfile->start, keep_frames - 1, get_image_ext_for_type(cfile->img_type)); else { - com=lives_strdup_printf("%s mv_pre \"%s\" %d %d \"%s\" &",prefs->backend_sync,cfile->handle, - cfile->start,keep_frames-1,get_image_ext_for_type(cfile->img_type)); - mainw->keep_pre=FALSE; + com = lives_strdup_printf("%s mv_pre \"%s\" %d %d \"%s\" &", prefs->backend_sync, cfile->handle, + cfile->start, keep_frames - 1, get_image_ext_for_type(cfile->img_type)); + mainw->keep_pre = FALSE; } } else { - mainw->internal_messaging=FALSE; - if (!mainw->keep_pre) com=lives_strdup_printf("%s mv_mgk \"%s\" %d %d \"%s\"",prefs->backend,cfile->handle, - cfile->start,keep_frames-1,get_image_ext_for_type(cfile->img_type)); + mainw->internal_messaging = FALSE; + if (!mainw->keep_pre) com = lives_strdup_printf("%s mv_mgk \"%s\" %d %d \"%s\"", prefs->backend, cfile->handle, + cfile->start, keep_frames - 1, get_image_ext_for_type(cfile->img_type)); else { - com=lives_strdup_printf("%s mv_pre \"%s\" %d %d \"%s\" &",prefs->backend_sync,cfile->handle, - cfile->start,keep_frames-1,get_image_ext_for_type(cfile->img_type)); - mainw->keep_pre=FALSE; + com = lives_strdup_printf("%s mv_pre \"%s\" %d %d \"%s\" &", prefs->backend_sync, cfile->handle, + cfile->start, keep_frames - 1, get_image_ext_for_type(cfile->img_type)); + mainw->keep_pre = FALSE; } } - if (!mainw->is_rendering||mainw->multitrack!=NULL) { + if (!mainw->is_rendering || mainw->multitrack != NULL) { lives_rm(cfile->info_file); - lives_system(com,FALSE); - cfile->undo_end=keep_frames-1; - } else mainw->cancelled=CANCEL_KEEP; - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); + lives_system(com, FALSE); + cfile->undo_end = keep_frames - 1; + } else mainw->cancelled = CANCEL_KEEP; + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); } else { // no frames there, nothing to keep d_print_cancelled(); - - if (!mainw->internal_messaging&&!mainw->is_rendering) { - lives_kill_subprocesses(cfile->handle,TRUE); - com=lives_strdup_printf("%s resume \"%s\"",prefs->backend_sync,cfile->handle); - lives_system(com,FALSE); + if (!mainw->internal_messaging && !mainw->is_rendering) { + lives_kill_subprocesses(cfile->handle, TRUE); + com = lives_strdup_printf("%s resume \"%s\"", prefs->backend_sync, cfile->handle); + lives_system(com, FALSE); } - mainw->cancelled=CANCEL_USER; + mainw->cancelled = CANCEL_USER; } } @@ -6642,18 +6493,16 @@ } - - void on_details_button_clicked(void) { text_window *textwindow; - textwindow=create_text_window(_("Encoder Debug Output"),lives_text_view_get_text(mainw->optextview),NULL); + textwindow = create_text_window(_("Encoder Debug Output"), lives_text_view_get_text(mainw->optextview), NULL); lives_widget_show_all(textwindow->dialog); } void on_full_screen_pressed(LiVESButton *button, livespointer user_data) { // toolbar button (full screen) - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->full_screen),!mainw->fs); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->full_screen), !mainw->fs); } @@ -6662,35 +6511,35 @@ LiVESWidget *fs_img; char *fnamex; - if (mainw->current_file>-1&&!cfile->frames&&mainw->multitrack==NULL) return; + if (mainw->current_file > -1 && !cfile->frames && mainw->multitrack == NULL) return; - if (user_data==NULL) { - mainw->fs=!mainw->fs; + if (user_data == NULL) { + mainw->fs = !mainw->fs; } - if (mainw->current_file==-1) return; + if (mainw->current_file == -1) return; - fnamex=lives_build_filename(prefs->prefix_dir,ICON_DIR,"fullscreen.png",NULL); - lives_snprintf(buff,PATH_MAX,"%s",fnamex); + fnamex = lives_build_filename(prefs->prefix_dir, ICON_DIR, "fullscreen.png", NULL); + lives_snprintf(buff, PATH_MAX, "%s", fnamex); lives_free(fnamex); - fs_img=lives_image_new_from_file(buff); + fs_img = lives_image_new_from_file(buff); lives_widget_show(fs_img); if (!mainw->fs) { - if (lives_file_test(buff,LIVES_FILE_TEST_EXISTS)) { - LiVESPixbuf *pixbuf=lives_image_get_pixbuf(LIVES_IMAGE(fs_img)); - lives_pixbuf_saturate_and_pixelate(pixbuf,pixbuf,0.2,FALSE); + if (lives_file_test(buff, LIVES_FILE_TEST_EXISTS)) { + LiVESPixbuf *pixbuf = lives_image_get_pixbuf(LIVES_IMAGE(fs_img)); + lives_pixbuf_saturate_and_pixelate(pixbuf, pixbuf, 0.2, FALSE); } - lives_widget_set_tooltip_text(mainw->t_fullscreen,_("Fullscreen playback (f)")); - } else lives_widget_set_tooltip_text(mainw->t_fullscreen,_("Fullscreen playback off (f)")); + lives_widget_set_tooltip_text(mainw->t_fullscreen, _("Fullscreen playback (f)")); + } else lives_widget_set_tooltip_text(mainw->t_fullscreen, _("Fullscreen playback off (f)")); - lives_tool_button_set_icon_widget(LIVES_TOOL_BUTTON(mainw->t_fullscreen),fs_img); + lives_tool_button_set_icon_widget(LIVES_TOOL_BUTTON(mainw->t_fullscreen), fs_img); - if (mainw->playing_file>-1) { + if (mainw->playing_file > -1) { if (mainw->fs) { // switch TO full screen during pb - if (mainw->multitrack==NULL&&(!mainw->sep_win||prefs->play_monitor==prefs->gui_monitor)&& - !(mainw->vpp!=NULL&&!(mainw->vpp->capabilities&VPP_LOCAL_DISPLAY)&&mainw->sep_win)) { + if (mainw->multitrack == NULL && (!mainw->sep_win || prefs->play_monitor == prefs->gui_monitor) && + !(mainw->vpp != NULL && !(mainw->vpp->capabilities & VPP_LOCAL_DISPLAY) && mainw->sep_win)) { if (!mainw->faded) { fade_background(); } @@ -6700,39 +6549,39 @@ } if (mainw->sep_win) { - if (prefs->sepwin_type==SEPWIN_TYPE_STICKY) { + if (prefs->sepwin_type == SEPWIN_TYPE_STICKY) { resize_play_window(); } else { kill_play_window(); make_play_window(); - if (mainw->play_window!=NULL) { + if (mainw->play_window != NULL) { hide_cursor(lives_widget_get_xwindow(mainw->play_window)); - lives_widget_set_app_paintable(mainw->play_window,TRUE); + lives_widget_set_app_paintable(mainw->play_window, TRUE); } } - if (cfile->frames==1||cfile->play_paused) { + if (cfile->frames == 1 || cfile->play_paused) { lives_widget_context_update(); } } - if (mainw->ext_playback&&mainw->vpp->fheight>-1&&mainw->vpp->fwidth>-1) { + if (mainw->ext_playback && mainw->vpp->fheight > -1 && mainw->vpp->fwidth > -1) { // fixed o/p size for stream - if (!(mainw->vpp->fwidth*mainw->vpp->fheight)) { - mainw->vpp->fwidth=cfile->hsize; - mainw->vpp->fheight=cfile->vsize; - } - mainw->pwidth=mainw->vpp->fwidth; - mainw->pheight=mainw->vpp->fheight; - } - if ((cfile->frames==1||cfile->play_paused)&&!mainw->noswitch&&(cfile->clip_type==CLIP_TYPE_DISK|| - cfile->clip_type==CLIP_TYPE_FILE)) { - weed_plant_t *frame_layer=mainw->frame_layer; - mainw->frame_layer=NULL; + if (mainw->vpp->fwidth == 0 || mainw->vpp->fheight == 0) { + mainw->vpp->fwidth = cfile->hsize; + mainw->vpp->fheight = cfile->vsize; + } + mainw->pwidth = mainw->vpp->fwidth; + mainw->pheight = mainw->vpp->fheight; + } + if ((cfile->frames == 1 || cfile->play_paused) && !mainw->noswitch && (cfile->clip_type == CLIP_TYPE_DISK || + cfile->clip_type == CLIP_TYPE_FILE)) { + weed_plant_t *frame_layer = mainw->frame_layer; + mainw->frame_layer = NULL; load_frame_image(cfile->frameno); - mainw->frame_layer=frame_layer; + mainw->frame_layer = frame_layer; } } else { - if (mainw->multitrack==NULL) { + if (mainw->multitrack == NULL) { // switch FROM fullscreen during pb lives_widget_show(mainw->frame1); lives_widget_show(mainw->frame2); @@ -6745,14 +6594,14 @@ lives_container_set_border_width(LIVES_CONTAINER(mainw->playframe), widget_opts.border_width); - lives_widget_set_sensitive(mainw->fade,TRUE); - lives_widget_set_sensitive(mainw->dsize,TRUE); + lives_widget_set_sensitive(mainw->fade, TRUE); + lives_widget_set_sensitive(mainw->dsize, TRUE); lives_widget_show(mainw->t_bckground); lives_widget_show(mainw->t_double); resize(1); - if (mainw->multitrack==NULL) { + if (mainw->multitrack == NULL) { if (cfile->is_loaded) { load_start_image(cfile->start); load_end_image(cfile->end); @@ -6781,45 +6630,45 @@ play_window_set_title(); - if (mainw->opwx>-1) { + if (mainw->opwx > -1) { //opwx and opwy were stored when we first switched to full screen lives_window_move(LIVES_WINDOW(mainw->play_window), mainw->opwx, mainw->opwy); - mainw->opwx=-1; - mainw->opwy=-1; + mainw->opwx = -1; + mainw->opwy = -1; } else { // non-sticky kill_play_window(); make_play_window(); - if (mainw->play_window!=NULL) { + if (mainw->play_window != NULL) { hide_cursor(lives_widget_get_xwindow(mainw->play_window)); - lives_widget_set_app_paintable(mainw->play_window,TRUE); + lives_widget_set_app_paintable(mainw->play_window, TRUE); } } - if (mainw->multitrack==NULL&&(cfile->frames==1||cfile->play_paused)) { + if (mainw->multitrack == NULL && (cfile->frames == 1 || cfile->play_paused)) { lives_widget_context_update(); - if (mainw->play_window!=NULL&&!mainw->noswitch&&(cfile->clip_type==CLIP_TYPE_DISK|| - cfile->clip_type==CLIP_TYPE_FILE)) { - weed_plant_t *frame_layer=mainw->frame_layer; - mainw->frame_layer=NULL; + if (mainw->play_window != NULL && !mainw->noswitch && (cfile->clip_type == CLIP_TYPE_DISK || + cfile->clip_type == CLIP_TYPE_FILE)) { + weed_plant_t *frame_layer = mainw->frame_layer; + mainw->frame_layer = NULL; load_frame_image(cfile->frameno); - mainw->frame_layer=frame_layer; + mainw->frame_layer = frame_layer; } } } else { - if (mainw->multitrack==NULL) { + if (mainw->multitrack == NULL) { // in-frame window lives_widget_context_update(); - mainw->pwidth=lives_widget_get_allocation_width(mainw->playframe)-H_RESIZE_ADJUST; - mainw->pheight=lives_widget_get_allocation_height(mainw->playframe)-V_RESIZE_ADJUST; + mainw->pwidth = lives_widget_get_allocation_width(mainw->playframe) - H_RESIZE_ADJUST; + mainw->pheight = lives_widget_get_allocation_height(mainw->playframe) - V_RESIZE_ADJUST; // double size if (mainw->double_size) { resize(2); - mainw->pheight*=2; + mainw->pheight *= 2; mainw->pheight++; - mainw->pwidth*=2; - mainw->pwidth+=2; + mainw->pwidth *= 2; + mainw->pwidth += 2; } } if (!mainw->faded) { @@ -6828,23 +6677,23 @@ lives_frame_set_label(LIVES_FRAME(mainw->playframe), ""); } } - if ((cfile->frames==1||cfile->play_paused)&&!mainw->noswitch&&mainw->multitrack==NULL&& - (cfile->clip_type==CLIP_TYPE_DISK||cfile->clip_type==CLIP_TYPE_FILE)) { - weed_plant_t *frame_layer=mainw->frame_layer; - mainw->frame_layer=NULL; + if ((cfile->frames == 1 || cfile->play_paused) && !mainw->noswitch && mainw->multitrack == NULL && + (cfile->clip_type == CLIP_TYPE_DISK || cfile->clip_type == CLIP_TYPE_FILE)) { + weed_plant_t *frame_layer = mainw->frame_layer; + mainw->frame_layer = NULL; load_frame_image(cfile->frameno); - mainw->frame_layer=frame_layer; + mainw->frame_layer = frame_layer; } } } else { - if (mainw->multitrack==NULL) { - if (mainw->playing_file==-1) { + if (mainw->multitrack == NULL) { + if (mainw->playing_file == -1) { if (mainw->fs) { - lives_widget_set_sensitive(mainw->fade,FALSE); - lives_widget_set_sensitive(mainw->dsize,FALSE); + lives_widget_set_sensitive(mainw->fade, FALSE); + lives_widget_set_sensitive(mainw->dsize, FALSE); } else { - lives_widget_set_sensitive(mainw->fade,TRUE); - lives_widget_set_sensitive(mainw->dsize,TRUE); + lives_widget_set_sensitive(mainw->fade, TRUE); + lives_widget_set_sensitive(mainw->dsize, TRUE); } } } @@ -6854,81 +6703,80 @@ void on_double_size_pressed(LiVESButton *button, livespointer user_data) { // toolbar button (separate window) - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->dsize),!mainw->double_size); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->dsize), !mainw->double_size); } - void on_double_size_activate(LiVESMenuItem *menuitem, livespointer user_data) { char buff[PATH_MAX]; LiVESWidget *sngl_img; char *fnamex; - if (mainw->multitrack!=NULL||(mainw->current_file>-1&&cfile->frames==0&&user_data==NULL)) return; + if (mainw->multitrack != NULL || (mainw->current_file > -1 && cfile->frames == 0 && user_data == NULL)) return; - if (user_data==NULL) { - mainw->double_size=!mainw->double_size; + if (user_data == NULL) { + mainw->double_size = !mainw->double_size; } - if (mainw->current_file==-1) return; + if (mainw->current_file == -1) return; - if (user_data!=NULL) { + if (user_data != NULL) { // change the blank window icons if (!mainw->double_size) { - fnamex=lives_build_filename(prefs->prefix_dir,ICON_DIR,"zoom-in.png",NULL); - lives_snprintf(buff,PATH_MAX,"%s",fnamex); + fnamex = lives_build_filename(prefs->prefix_dir, ICON_DIR, "zoom-in.png", NULL); + lives_snprintf(buff, PATH_MAX, "%s", fnamex); lives_free(fnamex); - sngl_img=lives_image_new_from_file(buff); - lives_widget_set_tooltip_text(mainw->t_double,_("Double size (d)")); + sngl_img = lives_image_new_from_file(buff); + lives_widget_set_tooltip_text(mainw->t_double, _("Double size (d)")); } else { - fnamex=lives_build_filename(prefs->prefix_dir,ICON_DIR,"zoom-out.png",NULL); - lives_snprintf(buff,PATH_MAX,"%s",fnamex); + fnamex = lives_build_filename(prefs->prefix_dir, ICON_DIR, "zoom-out.png", NULL); + lives_snprintf(buff, PATH_MAX, "%s", fnamex); lives_free(fnamex); - sngl_img=lives_image_new_from_file(buff); - lives_widget_set_tooltip_text(mainw->t_double,_("Single size (d)")); + sngl_img = lives_image_new_from_file(buff); + lives_widget_set_tooltip_text(mainw->t_double, _("Single size (d)")); } - if (lives_file_test(buff,LIVES_FILE_TEST_EXISTS)) { - LiVESPixbuf *pixbuf=lives_image_get_pixbuf(LIVES_IMAGE(sngl_img)); - if (pixbuf!=NULL) lives_pixbuf_saturate_and_pixelate(pixbuf,pixbuf,0.2,FALSE); + if (lives_file_test(buff, LIVES_FILE_TEST_EXISTS)) { + LiVESPixbuf *pixbuf = lives_image_get_pixbuf(LIVES_IMAGE(sngl_img)); + if (pixbuf != NULL) lives_pixbuf_saturate_and_pixelate(pixbuf, pixbuf, 0.2, FALSE); } lives_widget_show(sngl_img); - lives_tool_button_set_icon_widget(LIVES_TOOL_BUTTON(mainw->t_double),sngl_img); + lives_tool_button_set_icon_widget(LIVES_TOOL_BUTTON(mainw->t_double), sngl_img); } - if (mainw->playing_file>-1&&!mainw->fs) { + if (mainw->playing_file > -1 && !mainw->fs) { // needed block_expose(); do { lives_widget_context_update(); - mainw->pwidth=lives_widget_get_allocation_width(mainw->playframe)-H_RESIZE_ADJUST; - mainw->pheight=lives_widget_get_allocation_height(mainw->playframe)-V_RESIZE_ADJUST; - } while (!(mainw->pwidth*mainw->pheight)); + mainw->pwidth = lives_widget_get_allocation_width(mainw->playframe) - H_RESIZE_ADJUST; + mainw->pheight = lives_widget_get_allocation_height(mainw->playframe) - V_RESIZE_ADJUST; + } while (mainw->pwidth == 0 || mainw->pheight == 0); unblock_expose(); if (mainw->sep_win) { - if (prefs->sepwin_type==SEPWIN_TYPE_STICKY) { + if (prefs->sepwin_type == SEPWIN_TYPE_STICKY) { resize_play_window(); play_window_set_title(); } else { - if (mainw->play_window!=NULL) { + if (mainw->play_window != NULL) { kill_play_window(); } make_play_window(); - if (mainw->play_window!=NULL) { + if (mainw->play_window != NULL) { hide_cursor(lives_widget_get_xwindow(mainw->play_window)); - lives_widget_set_app_paintable(mainw->play_window,TRUE); + lives_widget_set_app_paintable(mainw->play_window, TRUE); } } - if (cfile->frames==1||cfile->play_paused) { + if (cfile->frames == 1 || cfile->play_paused) { lives_widget_context_update(); - if (!(mainw->play_window==NULL)&&!mainw->noswitch&&(cfile->clip_type==CLIP_TYPE_DISK|| - cfile->clip_type==CLIP_TYPE_FILE)) { - weed_plant_t *frame_layer=mainw->frame_layer; - mainw->frame_layer=NULL; + if (!(mainw->play_window == NULL) && !mainw->noswitch && (cfile->clip_type == CLIP_TYPE_DISK || + cfile->clip_type == CLIP_TYPE_FILE)) { + weed_plant_t *frame_layer = mainw->frame_layer; + mainw->frame_layer = NULL; load_frame_image(cfile->frameno); - mainw->frame_layer=frame_layer; + mainw->frame_layer = frame_layer; } } } else { @@ -6936,7 +6784,7 @@ if (mainw->double_size) { if (!mainw->sep_win) { if (!mainw->faded) { - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_hide(mainw->sep_image); } lives_widget_hide(mainw->scrolledwindow); @@ -6944,21 +6792,21 @@ resize(2); } if (!prefs->ce_maxspect) { - mainw->pheight*=2; + mainw->pheight *= 2; mainw->pheight++; - mainw->pwidth*=2; - mainw->pwidth+=2; + mainw->pwidth *= 2; + mainw->pwidth += 2; } } else { resize(1); if (!prefs->ce_maxspect) { mainw->pheight--; - mainw->pheight/=2; - mainw->pwidth-=2; - mainw->pwidth/=2; + mainw->pheight /= 2; + mainw->pwidth -= 2; + mainw->pwidth /= 2; } if (!mainw->faded) { - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_show(mainw->sep_image); } lives_widget_show(mainw->scrolledwindow); @@ -6969,19 +6817,17 @@ } - void on_sepwin_pressed(LiVESButton *button, livespointer user_data) { if (mainw->go_away) return; // toolbar button (separate window) - if (mainw->multitrack!=NULL) { - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->multitrack->sepwin),!mainw->sep_win); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->sepwin),mainw->sep_win); - } else lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->sepwin),!mainw->sep_win); + if (mainw->multitrack != NULL) { + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->multitrack->sepwin), !mainw->sep_win); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->sepwin), mainw->sep_win); + } else lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->sepwin), !mainw->sep_win); } - void on_sepwin_activate(LiVESMenuItem *menuitem, livespointer user_data) { LiVESWidget *sep_img; LiVESWidget *sep_img2; @@ -6991,63 +6837,63 @@ if (mainw->go_away) return; - mainw->sep_win=!mainw->sep_win; + mainw->sep_win = !mainw->sep_win; - if (mainw->multitrack!=NULL) { - if (mainw->playing_file==-1) return; + if (mainw->multitrack != NULL) { + if (mainw->playing_file == -1) return; unpaint_lines(mainw->multitrack); - mainw->multitrack->redraw_block=TRUE; // stop pb cursor from updating + mainw->multitrack->redraw_block = TRUE; // stop pb cursor from updating mt_show_current_frame(mainw->multitrack, FALSE); - mainw->multitrack->redraw_block=FALSE; + mainw->multitrack->redraw_block = FALSE; } - fnamex=lives_build_filename(prefs->prefix_dir,ICON_DIR,"sepwin.png",NULL); - lives_snprintf(buff,PATH_MAX,"%s",fnamex); + fnamex = lives_build_filename(prefs->prefix_dir, ICON_DIR, "sepwin.png", NULL); + lives_snprintf(buff, PATH_MAX, "%s", fnamex); lives_free(fnamex); - sep_img=lives_image_new_from_file(buff); - sep_img2=lives_image_new_from_file(buff); + sep_img = lives_image_new_from_file(buff); + sep_img2 = lives_image_new_from_file(buff); if (mainw->sep_win) { - lives_widget_set_tooltip_text(mainw->m_sepwinbutton,_("Hide the play window (s)")); - lives_widget_set_tooltip_text(mainw->t_sepwin,_("Hide the play window (s)")); + lives_widget_set_tooltip_text(mainw->m_sepwinbutton, _("Hide the play window (s)")); + lives_widget_set_tooltip_text(mainw->t_sepwin, _("Hide the play window (s)")); } else { - if (lives_file_test(buff,LIVES_FILE_TEST_EXISTS)) { - LiVESPixbuf *pixbuf=lives_image_get_pixbuf(LIVES_IMAGE(sep_img)); - if (pixbuf!=NULL) lives_pixbuf_saturate_and_pixelate(pixbuf,pixbuf,0.2,FALSE); - pixbuf=lives_image_get_pixbuf(LIVES_IMAGE(sep_img2)); - if (pixbuf!=NULL) lives_pixbuf_saturate_and_pixelate(pixbuf,pixbuf,0.2,FALSE); + if (lives_file_test(buff, LIVES_FILE_TEST_EXISTS)) { + LiVESPixbuf *pixbuf = lives_image_get_pixbuf(LIVES_IMAGE(sep_img)); + if (pixbuf != NULL) lives_pixbuf_saturate_and_pixelate(pixbuf, pixbuf, 0.2, FALSE); + pixbuf = lives_image_get_pixbuf(LIVES_IMAGE(sep_img2)); + if (pixbuf != NULL) lives_pixbuf_saturate_and_pixelate(pixbuf, pixbuf, 0.2, FALSE); } - lives_widget_set_tooltip_text(mainw->m_sepwinbutton,_("Show the play window (s)")); - lives_widget_set_tooltip_text(mainw->t_sepwin,_("Play in separate window (s)")); + lives_widget_set_tooltip_text(mainw->m_sepwinbutton, _("Show the play window (s)")); + lives_widget_set_tooltip_text(mainw->t_sepwin, _("Play in separate window (s)")); } lives_widget_show(sep_img); lives_widget_show(sep_img2); - lives_tool_button_set_icon_widget(LIVES_TOOL_BUTTON(mainw->m_sepwinbutton),sep_img); - lives_tool_button_set_icon_widget(LIVES_TOOL_BUTTON(mainw->t_sepwin),sep_img2); + lives_tool_button_set_icon_widget(LIVES_TOOL_BUTTON(mainw->m_sepwinbutton), sep_img); + lives_tool_button_set_icon_widget(LIVES_TOOL_BUTTON(mainw->t_sepwin), sep_img2); - if (prefs->sepwin_type==SEPWIN_TYPE_STICKY&&mainw->playing_file==-1) { + if (prefs->sepwin_type == SEPWIN_TYPE_STICKY && mainw->playing_file == -1) { if (mainw->sep_win) { make_play_window(); } else { kill_play_window(); } - if (mainw->multitrack!=NULL&&mainw->playing_file==-1) { + if (mainw->multitrack != NULL && mainw->playing_file == -1) { activate_mt_preview(mainw->multitrack); // show frame preview } } else { - if (mainw->playing_file>-1) { + if (mainw->playing_file > -1) { if (mainw->sep_win) { // switch to separate window during pb - if (mainw->multitrack==NULL) { + if (mainw->multitrack == NULL) { - if (prefs->show_framecount&&((!mainw->preview&&(cfile->frames>0||mainw->foreign))||cfile->opening)) { + if (prefs->show_framecount && ((!mainw->preview && (cfile->frames > 0 || mainw->foreign)) || cfile->opening)) { lives_widget_show(mainw->framebar); } - if ((!mainw->faded&&mainw->fs&&((prefs->play_monitor!=prefs->gui_monitor&&prefs->play_monitor>0)))|| - (mainw->fs&&mainw->vpp!=NULL&& - !(mainw->vpp->capabilities&VPP_LOCAL_DISPLAY))) { + if ((!mainw->faded && mainw->fs && ((prefs->play_monitor != prefs->gui_monitor && prefs->play_monitor > 0))) || + (mainw->fs && mainw->vpp != NULL && + !(mainw->vpp->capabilities & VPP_LOCAL_DISPLAY))) { lives_container_set_border_width(LIVES_CONTAINER(mainw->playframe), widget_opts.border_width); unfade_background(); lives_widget_show(mainw->frame1); @@ -7062,16 +6908,16 @@ load_end_image(0); } } - if (mainw->fs&&!mainw->faded) { + if (mainw->fs && !mainw->faded) { resize(1); } else { if (mainw->faded) { lives_widget_hide(mainw->playframe); } - if (mainw->double_size&&mainw->multitrack==NULL) { + if (mainw->double_size && mainw->multitrack == NULL) { resize(1); if (!mainw->faded) { - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_show(mainw->sep_image); } lives_widget_show(mainw->scrolledwindow); @@ -7082,21 +6928,20 @@ make_play_window(); - mainw->pw_scroll_func=lives_signal_connect(LIVES_GUI_OBJECT(mainw->play_window), LIVES_WIDGET_SCROLL_EVENT, - LIVES_GUI_CALLBACK(on_mouse_scroll), - NULL); + mainw->pw_scroll_func = lives_signal_connect(LIVES_GUI_OBJECT(mainw->play_window), LIVES_WIDGET_SCROLL_EVENT, + LIVES_GUI_CALLBACK(on_mouse_scroll), + NULL); - - if (mainw->ext_playback&&mainw->vpp->fheight>-1&&mainw->vpp->fwidth>-1) { + if (mainw->ext_playback && mainw->vpp->fheight > -1 && mainw->vpp->fwidth > -1) { // fixed o/p size for stream - if (!(mainw->vpp->fwidth*mainw->vpp->fheight)) { - mainw->vpp->fwidth=cfile->hsize; - mainw->vpp->fheight=cfile->vsize; + if (mainw->vpp->fwidth == 0 || mainw->vpp->fheight == 0) { + mainw->vpp->fwidth = cfile->hsize; + mainw->vpp->fheight = cfile->vsize; } - mainw->pwidth=mainw->vpp->fwidth; - mainw->pheight=mainw->vpp->fheight; + mainw->pwidth = mainw->vpp->fwidth; + mainw->pheight = mainw->vpp->fheight; - if (!(mainw->vpp->capabilities&VPP_LOCAL_DISPLAY)) { + if (!(mainw->vpp->capabilities & VPP_LOCAL_DISPLAY)) { play_window_set_title(); unfade_background(); } @@ -7105,32 +6950,31 @@ resize_play_window(); } - if (mainw->play_window!=NULL&&LIVES_IS_XWINDOW(lives_widget_get_xwindow(mainw->play_window))) { + if (mainw->play_window != NULL && LIVES_IS_XWINDOW(lives_widget_get_xwindow(mainw->play_window))) { hide_cursor(lives_widget_get_xwindow(mainw->play_window)); - lives_widget_set_app_paintable(mainw->play_window,TRUE); + lives_widget_set_app_paintable(mainw->play_window, TRUE); } - if (cfile->frames==1||cfile->play_paused) { + if (cfile->frames == 1 || cfile->play_paused) { lives_widget_context_update(); - if (mainw->play_window!=NULL&&LIVES_IS_XWINDOW(lives_widget_get_xwindow(mainw->play_window))&& - !mainw->noswitch&&mainw->multitrack==NULL&&(cfile->clip_type==CLIP_TYPE_DISK|| - cfile->clip_type==CLIP_TYPE_FILE)) { - weed_plant_t *frame_layer=mainw->frame_layer; - mainw->frame_layer=NULL; + if (mainw->play_window != NULL && LIVES_IS_XWINDOW(lives_widget_get_xwindow(mainw->play_window)) && + !mainw->noswitch && mainw->multitrack == NULL && (cfile->clip_type == CLIP_TYPE_DISK || + cfile->clip_type == CLIP_TYPE_FILE)) { + weed_plant_t *frame_layer = mainw->frame_layer; + mainw->frame_layer = NULL; load_frame_image(cfile->frameno); - mainw->frame_layer=frame_layer; + mainw->frame_layer = frame_layer; } } - } else { // switch from separate window during playback - if (cfile->frames>0&&mainw->multitrack==NULL) { + if (cfile->frames > 0 && mainw->multitrack == NULL) { lives_widget_show(mainw->playframe); } - if (!mainw->fs&&mainw->multitrack==NULL) { + if (!mainw->fs && mainw->multitrack == NULL) { if (!mainw->double_size) { resize(1); } else { - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_hide(mainw->sep_image); } lives_widget_hide(mainw->scrolledwindow); @@ -7139,13 +6983,13 @@ lives_widget_queue_draw(mainw->playframe); lives_widget_context_update(); - mainw->pwidth=lives_widget_get_allocation_width(mainw->playframe)-H_RESIZE_ADJUST; - mainw->pheight=lives_widget_get_allocation_height(mainw->playframe)-V_RESIZE_ADJUST; + mainw->pwidth = lives_widget_get_allocation_width(mainw->playframe) - H_RESIZE_ADJUST; + mainw->pheight = lives_widget_get_allocation_height(mainw->playframe) - V_RESIZE_ADJUST; } else { if (mainw->ext_playback) { vid_playback_plugin_exit(); } - if (mainw->multitrack==NULL) { + if (mainw->multitrack == NULL) { lives_widget_show(mainw->playframe); lives_widget_hide(mainw->framebar); if (!mainw->faded) fade_background(); @@ -7153,22 +6997,22 @@ lives_widget_context_update(); } } - if (mainw->multitrack!=NULL) { - mainw->must_resize=TRUE; - mainw->pwidth=mainw->multitrack->play_width; - mainw->pheight=mainw->multitrack->play_height; + if (mainw->multitrack != NULL) { + mainw->must_resize = TRUE; + mainw->pwidth = mainw->multitrack->play_width; + mainw->pheight = mainw->multitrack->play_height; } kill_play_window(); - if (mainw->multitrack==NULL) add_to_playframe(); + if (mainw->multitrack == NULL) add_to_playframe(); hide_cursor(lives_widget_get_xwindow(mainw->playarea)); - if (mainw->multitrack==NULL&&(cfile->frames==1||cfile->play_paused)&& - !mainw->noswitch&&(cfile->clip_type==CLIP_TYPE_DISK|| - cfile->clip_type==CLIP_TYPE_FILE)) { - weed_plant_t *frame_layer=mainw->frame_layer; - mainw->frame_layer=NULL; + if (mainw->multitrack == NULL && (cfile->frames == 1 || cfile->play_paused) && + !mainw->noswitch && (cfile->clip_type == CLIP_TYPE_DISK || + cfile->clip_type == CLIP_TYPE_FILE)) { + weed_plant_t *frame_layer = mainw->frame_layer; + mainw->frame_layer = NULL; load_frame_image(cfile->frameno); - mainw->frame_layer=frame_layer; + mainw->frame_layer = frame_layer; } } } @@ -7177,9 +7021,9 @@ void on_showfct_activate(LiVESMenuItem *menuitem, livespointer user_data) { - prefs->show_framecount=!prefs->show_framecount; - if (mainw->playing_file>-1) { - if (!mainw->fs||(prefs->play_monitor!=prefs->gui_monitor&&mainw->play_window!=NULL)) { + prefs->show_framecount = !prefs->show_framecount; + if (mainw->playing_file > -1) { + if (!mainw->fs || (prefs->play_monitor != prefs->gui_monitor && mainw->play_window != NULL)) { if (prefs->show_framecount) { lives_widget_show(mainw->framebar); } else { @@ -7195,23 +7039,22 @@ // type is SEPWIN_TYPE_STICKY (shown even when not playing) // or SEPWIN_TYPE_NON_STICKY (shown only when playing) - - if (prefs->sepwin_type==SEPWIN_TYPE_NON_STICKY) { - prefs->sepwin_type=SEPWIN_TYPE_STICKY; + if (prefs->sepwin_type == SEPWIN_TYPE_NON_STICKY) { + prefs->sepwin_type = SEPWIN_TYPE_STICKY; if (mainw->sep_win) { - if (mainw->playing_file==-1) { + if (mainw->playing_file == -1) { make_play_window(); } } else { - if (!(mainw->play_window==NULL)) { + if (!(mainw->play_window == NULL)) { play_window_set_title(); } } } else { - if (prefs->sepwin_type==SEPWIN_TYPE_STICKY) { - prefs->sepwin_type=SEPWIN_TYPE_NON_STICKY; + if (prefs->sepwin_type == SEPWIN_TYPE_STICKY) { + prefs->sepwin_type = SEPWIN_TYPE_NON_STICKY; if (mainw->sep_win) { - if (mainw->playing_file==-1) { + if (mainw->playing_file == -1) { kill_play_window(); } else { play_window_set_title(); @@ -7222,30 +7065,26 @@ } - void on_fade_pressed(LiVESButton *button, livespointer user_data) { // toolbar button (unblank background) - if (mainw->fs&&(mainw->play_window==NULL||prefs->play_monitor==prefs->gui_monitor)) return; - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->fade),!mainw->faded); + if (mainw->fs && (mainw->play_window == NULL || prefs->play_monitor == prefs->gui_monitor)) return; + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->fade), !mainw->faded); } - void on_fade_activate(LiVESMenuItem *menuitem, livespointer user_data) { - mainw->faded=!mainw->faded; - if (mainw->playing_file>-1&&(!mainw->fs||(prefs->play_monitor!=prefs->gui_monitor&&mainw->play_window!=NULL))) { + mainw->faded = !mainw->faded; + if (mainw->playing_file > -1 && (!mainw->fs || (prefs->play_monitor != prefs->gui_monitor && mainw->play_window != NULL))) { if (mainw->faded) fade_background(); else unfade_background(); } } - - void on_showsubs_toggled(LiVESObject *obj, livespointer user_data) { - prefs->show_subtitles=!prefs->show_subtitles; - if (mainw->current_file>0&&mainw->multitrack==NULL) { - if (mainw->play_window!=NULL) { + prefs->show_subtitles = !prefs->show_subtitles; + if (mainw->current_file > 0 && mainw->multitrack == NULL) { + if (mainw->play_window != NULL) { load_preview_image(FALSE); } load_start_image(cfile->start); @@ -7254,25 +7093,24 @@ } - void on_boolean_toggled(LiVESObject *obj, livespointer user_data) { - boolean *ppref=(boolean *)user_data; - *ppref=!*ppref; + boolean *ppref = (boolean *)user_data; + *ppref = !*ppref; } void on_loop_video_activate(LiVESMenuItem *menuitem, livespointer user_data) { - if (mainw->current_file==0) return; - mainw->loop=!mainw->loop; - lives_widget_set_sensitive(mainw->playclip, mainw->playing_file==-1&&clipboard!=NULL); - if (mainw->current_file>-1) find_when_to_stop(); + if (mainw->current_file == 0) return; + mainw->loop = !mainw->loop; + lives_widget_set_sensitive(mainw->playclip, mainw->playing_file == -1 && clipboard != NULL); + if (mainw->current_file > -1) find_when_to_stop(); } void on_loop_button_activate(LiVESMenuItem *menuitem, livespointer user_data) { - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { lives_signal_handler_block(mainw->multitrack->loop_continue, mainw->multitrack->loop_cont_func); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->multitrack->loop_continue),!mainw->loop_cont); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->multitrack->loop_continue), !mainw->loop_cont); lives_signal_handler_unblock(mainw->multitrack->loop_continue, mainw->multitrack->loop_cont_func); } lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->loop_continue), !mainw->loop_cont); @@ -7284,63 +7122,62 @@ LiVESWidget *loop_img; char *fnamex; - mainw->loop_cont=!mainw->loop_cont; + mainw->loop_cont = !mainw->loop_cont; - fnamex=lives_build_filename(prefs->prefix_dir,ICON_DIR,"loop.png",NULL); - lives_snprintf(buff,PATH_MAX,"%s",fnamex); + fnamex = lives_build_filename(prefs->prefix_dir, ICON_DIR, "loop.png", NULL); + lives_snprintf(buff, PATH_MAX, "%s", fnamex); lives_free(fnamex); - loop_img=lives_image_new_from_file(buff); + loop_img = lives_image_new_from_file(buff); if (mainw->loop_cont) { - lives_widget_set_tooltip_text(mainw->m_loopbutton,_("Switch continuous looping off (o)")); + lives_widget_set_tooltip_text(mainw->m_loopbutton, _("Switch continuous looping off (o)")); } else { - if (lives_file_test(buff,LIVES_FILE_TEST_EXISTS)) { - LiVESPixbuf *pixbuf=lives_image_get_pixbuf(LIVES_IMAGE(loop_img)); - if (pixbuf!=NULL) lives_pixbuf_saturate_and_pixelate(pixbuf,pixbuf,0.2,FALSE); + if (lives_file_test(buff, LIVES_FILE_TEST_EXISTS)) { + LiVESPixbuf *pixbuf = lives_image_get_pixbuf(LIVES_IMAGE(loop_img)); + if (pixbuf != NULL) lives_pixbuf_saturate_and_pixelate(pixbuf, pixbuf, 0.2, FALSE); } - lives_widget_set_tooltip_text(mainw->m_loopbutton,_("Switch continuous looping on (o)")); + lives_widget_set_tooltip_text(mainw->m_loopbutton, _("Switch continuous looping on (o)")); } lives_widget_show(loop_img); - lives_tool_button_set_icon_widget(LIVES_TOOL_BUTTON(mainw->m_loopbutton),loop_img); + lives_tool_button_set_icon_widget(LIVES_TOOL_BUTTON(mainw->m_loopbutton), loop_img); - lives_widget_set_sensitive(mainw->playclip, !(clipboard==NULL)); - if (mainw->current_file>-1) find_when_to_stop(); - else mainw->whentostop=NEVER_STOP; + lives_widget_set_sensitive(mainw->playclip, !(clipboard == NULL)); + if (mainw->current_file > -1) find_when_to_stop(); + else mainw->whentostop = NEVER_STOP; #ifdef ENABLE_JACK - if (prefs->audio_player==AUD_PLAYER_JACK) { - if (mainw->jackd!=NULL&&(mainw->loop_cont||mainw->whentostop==NEVER_STOP)) { - if (mainw->ping_pong&&prefs->audio_opts&AUDIO_OPTS_FOLLOW_FPS) mainw->jackd->loop=AUDIO_LOOP_PINGPONG; - else mainw->jackd->loop=AUDIO_LOOP_FORWARD; - } else if (mainw->jackd!=NULL) mainw->jackd->loop=AUDIO_LOOP_NONE; + if (prefs->audio_player == AUD_PLAYER_JACK) { + if (mainw->jackd != NULL && (mainw->loop_cont || mainw->whentostop == NEVER_STOP)) { + if (mainw->ping_pong && prefs->audio_opts & AUDIO_OPTS_FOLLOW_FPS) mainw->jackd->loop = AUDIO_LOOP_PINGPONG; + else mainw->jackd->loop = AUDIO_LOOP_FORWARD; + } else if (mainw->jackd != NULL) mainw->jackd->loop = AUDIO_LOOP_NONE; } #endif #ifdef HAVE_PULSE_AUDIO - if (prefs->audio_player==AUD_PLAYER_PULSE) { - if (mainw->pulsed!=NULL&&(mainw->loop_cont||mainw->whentostop==NEVER_STOP)) { - if (mainw->ping_pong&&prefs->audio_opts&AUDIO_OPTS_FOLLOW_FPS) mainw->pulsed->loop=AUDIO_LOOP_PINGPONG; - else mainw->pulsed->loop=AUDIO_LOOP_FORWARD; - } else if (mainw->pulsed!=NULL) mainw->pulsed->loop=AUDIO_LOOP_NONE; + if (prefs->audio_player == AUD_PLAYER_PULSE) { + if (mainw->pulsed != NULL && (mainw->loop_cont || mainw->whentostop == NEVER_STOP)) { + if (mainw->ping_pong && prefs->audio_opts & AUDIO_OPTS_FOLLOW_FPS) mainw->pulsed->loop = AUDIO_LOOP_PINGPONG; + else mainw->pulsed->loop = AUDIO_LOOP_FORWARD; + } else if (mainw->pulsed != NULL) mainw->pulsed->loop = AUDIO_LOOP_NONE; } #endif - } void on_ping_pong_activate(LiVESMenuItem *menuitem, livespointer user_data) { - mainw->ping_pong=!mainw->ping_pong; + mainw->ping_pong = !mainw->ping_pong; #ifdef ENABLE_JACK - if (prefs->audio_player==AUD_PLAYER_JACK&&mainw->jackd!=NULL&&mainw->jackd->loop!=AUDIO_LOOP_NONE) { - if (mainw->ping_pong&&prefs->audio_opts&AUDIO_OPTS_FOLLOW_FPS) mainw->jackd->loop=AUDIO_LOOP_PINGPONG; - else mainw->jackd->loop=AUDIO_LOOP_FORWARD; + if (prefs->audio_player == AUD_PLAYER_JACK && mainw->jackd != NULL && mainw->jackd->loop != AUDIO_LOOP_NONE) { + if (mainw->ping_pong && prefs->audio_opts & AUDIO_OPTS_FOLLOW_FPS) mainw->jackd->loop = AUDIO_LOOP_PINGPONG; + else mainw->jackd->loop = AUDIO_LOOP_FORWARD; } #endif #ifdef HAVE_PULSE_AUDIO - if (prefs->audio_player==AUD_PLAYER_PULSE&&mainw->pulsed!=NULL&&mainw->pulsed->loop!=AUDIO_LOOP_NONE) { - if (mainw->ping_pong&&prefs->audio_opts&AUDIO_OPTS_FOLLOW_FPS) mainw->pulsed->loop=AUDIO_LOOP_PINGPONG; - else mainw->pulsed->loop=AUDIO_LOOP_FORWARD; + if (prefs->audio_player == AUD_PLAYER_PULSE && mainw->pulsed != NULL && mainw->pulsed->loop != AUDIO_LOOP_NONE) { + if (mainw->ping_pong && prefs->audio_opts & AUDIO_OPTS_FOLLOW_FPS) mainw->pulsed->loop = AUDIO_LOOP_PINGPONG; + else mainw->pulsed->loop = AUDIO_LOOP_FORWARD; } #endif } @@ -7348,18 +7185,17 @@ void on_volume_slider_value_changed(LiVESScaleButton *sbutton, livespointer user_data) { char *ttip; - mainw->volume=lives_scale_button_get_value(sbutton); - ttip=lives_strdup_printf(_("Audio volume (%.2f)"),mainw->volume); - lives_widget_set_tooltip_text(mainw->vol_toolitem,_(ttip)); + mainw->volume = lives_scale_button_get_value(sbutton); + ttip = lives_strdup_printf(_("Audio volume (%.2f)"), mainw->volume); + lives_widget_set_tooltip_text(mainw->vol_toolitem, _(ttip)); lives_free(ttip); } - void on_mute_button_activate(LiVESMenuItem *menuitem, livespointer user_data) { - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { lives_signal_handler_block(mainw->multitrack->mute_audio, mainw->multitrack->mute_audio_func); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->multitrack->mute_audio),!mainw->mute); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->multitrack->mute_audio), !mainw->mute); lives_signal_handler_unblock(mainw->multitrack->mute_audio, mainw->multitrack->mute_audio_func); } lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->mute_audio), !mainw->mute); @@ -7375,63 +7211,63 @@ void on_mute_activate(LiVESMenuItem *menuitem, livespointer user_data) { char buff[PATH_MAX]; LiVESWidget *mute_img; - LiVESWidget *mute_img2=NULL; + LiVESWidget *mute_img2 = NULL; char *fnamex; - mainw->mute=!mainw->mute; + mainw->mute = !mainw->mute; // change the mute icon - fnamex=lives_build_filename(prefs->prefix_dir,ICON_DIR,"volume_mute.png",NULL); - lives_snprintf(buff,PATH_MAX,"%s",fnamex); + fnamex = lives_build_filename(prefs->prefix_dir, ICON_DIR, "volume_mute.png", NULL); + lives_snprintf(buff, PATH_MAX, "%s", fnamex); lives_free(fnamex); - mute_img=lives_image_new_from_file(buff); - if (mainw->preview_box!=NULL) mute_img2=lives_image_new_from_file(buff); + mute_img = lives_image_new_from_file(buff); + if (mainw->preview_box != NULL) mute_img2 = lives_image_new_from_file(buff); if (mainw->mute) { - lives_widget_set_tooltip_text(mainw->m_mutebutton,_("Unmute the audio (z)")); - if (mainw->preview_box!=NULL) lives_widget_set_tooltip_text(mainw->p_mutebutton,_("Unmute the audio (z)")); + lives_widget_set_tooltip_text(mainw->m_mutebutton, _("Unmute the audio (z)")); + if (mainw->preview_box != NULL) lives_widget_set_tooltip_text(mainw->p_mutebutton, _("Unmute the audio (z)")); } else { - if (lives_file_test(buff,LIVES_FILE_TEST_EXISTS)) { - LiVESPixbuf *pixbuf=lives_image_get_pixbuf(LIVES_IMAGE(mute_img)); - if (pixbuf!=NULL) lives_pixbuf_saturate_and_pixelate(pixbuf,pixbuf,0.2,FALSE); - if (mainw->preview_box!=NULL) { - pixbuf=lives_image_get_pixbuf(LIVES_IMAGE(mute_img2)); - if (pixbuf!=NULL) lives_pixbuf_saturate_and_pixelate(pixbuf,pixbuf,0.2,FALSE); + if (lives_file_test(buff, LIVES_FILE_TEST_EXISTS)) { + LiVESPixbuf *pixbuf = lives_image_get_pixbuf(LIVES_IMAGE(mute_img)); + if (pixbuf != NULL) lives_pixbuf_saturate_and_pixelate(pixbuf, pixbuf, 0.2, FALSE); + if (mainw->preview_box != NULL) { + pixbuf = lives_image_get_pixbuf(LIVES_IMAGE(mute_img2)); + if (pixbuf != NULL) lives_pixbuf_saturate_and_pixelate(pixbuf, pixbuf, 0.2, FALSE); } } - lives_widget_set_tooltip_text(mainw->m_mutebutton,_("Mute the audio (z)")); - if (mainw->preview_box!=NULL) lives_widget_set_tooltip_text(mainw->p_mutebutton,_("Mute the audio (z)")); + lives_widget_set_tooltip_text(mainw->m_mutebutton, _("Mute the audio (z)")); + if (mainw->preview_box != NULL) lives_widget_set_tooltip_text(mainw->p_mutebutton, _("Mute the audio (z)")); } lives_widget_show(mute_img); - lives_tool_button_set_icon_widget(LIVES_TOOL_BUTTON(mainw->m_mutebutton),mute_img); + lives_tool_button_set_icon_widget(LIVES_TOOL_BUTTON(mainw->m_mutebutton), mute_img); - if (mainw->preview_box!=NULL) { + if (mainw->preview_box != NULL) { lives_widget_show(mute_img2); //lives_button_set_image(LIVES_BUTTON(mainw->p_mutebutton),mute_img2); // doesn't work (gtk+ bug ?) lives_widget_queue_draw(mainw->p_mutebutton); lives_widget_queue_draw(mute_img2); } #ifdef ENABLE_JACK - if (prefs->audio_player==AUD_PLAYER_JACK&&mainw->playing_file>-1&&mainw->jackd!=NULL) { - mainw->jackd->mute=mainw->mute; - if (mainw->jackd->playing_file==mainw->current_file&&cfile->achans>0&&!mainw->is_rendering) { - if (!jack_audio_seek_bytes(mainw->jackd,mainw->jackd->seek_pos)) { - if (jack_try_reconnect()) jack_audio_seek_bytes(mainw->jackd,mainw->jackd->seek_pos); + if (prefs->audio_player == AUD_PLAYER_JACK && mainw->playing_file > -1 && mainw->jackd != NULL) { + mainw->jackd->mute = mainw->mute; + if (mainw->jackd->playing_file == mainw->current_file && cfile->achans > 0 && !mainw->is_rendering) { + if (!jack_audio_seek_bytes(mainw->jackd, mainw->jackd->seek_pos)) { + if (jack_try_reconnect()) jack_audio_seek_bytes(mainw->jackd, mainw->jackd->seek_pos); } - mainw->jackd->in_use=TRUE; + mainw->jackd->in_use = TRUE; } } #endif #ifdef HAVE_PULSE_AUDIO - if (prefs->audio_player==AUD_PLAYER_PULSE&&mainw->playing_file>-1&&mainw->pulsed!=NULL) { - mainw->pulsed->mute=mainw->mute; - if (mainw->pulsed->playing_file==mainw->current_file&&cfile->achans>0&&!mainw->is_rendering) { + if (prefs->audio_player == AUD_PLAYER_PULSE && mainw->playing_file > -1 && mainw->pulsed != NULL) { + mainw->pulsed->mute = mainw->mute; + if (mainw->pulsed->playing_file == mainw->current_file && cfile->achans > 0 && !mainw->is_rendering) { if (!pulse_audio_seek_bytes(mainw->pulsed, mainw->pulsed->seek_pos)) { - if (pulse_try_reconnect()) pulse_audio_seek_bytes(mainw->pulsed,mainw->pulsed->seek_pos); + if (pulse_try_reconnect()) pulse_audio_seek_bytes(mainw->pulsed, mainw->pulsed->seek_pos); } - mainw->pulsed->in_use=TRUE; + mainw->pulsed->in_use = TRUE; } } #endif @@ -7441,17 +7277,17 @@ void on_spin_value_changed(LiVESSpinButton *spinbutton, livespointer user_data) { // TODO - use array switch (LIVES_POINTER_TO_INT(user_data)) { - case 1 : - mainw->fx1_val=lives_spin_button_get_value(LIVES_SPIN_BUTTON(spinbutton)); + case 1: + mainw->fx1_val = lives_spin_button_get_value(LIVES_SPIN_BUTTON(spinbutton)); break; - case 2 : - mainw->fx2_val=lives_spin_button_get_value(LIVES_SPIN_BUTTON(spinbutton)); + case 2: + mainw->fx2_val = lives_spin_button_get_value(LIVES_SPIN_BUTTON(spinbutton)); break; - case 3 : - mainw->fx3_val=lives_spin_button_get_value(LIVES_SPIN_BUTTON(spinbutton)); + case 3: + mainw->fx3_val = lives_spin_button_get_value(LIVES_SPIN_BUTTON(spinbutton)); break; - case 4 : - mainw->fx4_val=lives_spin_button_get_value(LIVES_SPIN_BUTTON(spinbutton)); + case 4: + mainw->fx4_val = lives_spin_button_get_value(LIVES_SPIN_BUTTON(spinbutton)); break; } } @@ -7461,17 +7297,17 @@ // generic // TODO - use array switch (LIVES_POINTER_TO_INT(user_data)) { - case 1 : - mainw->fx1_start=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); + case 1: + mainw->fx1_start = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); break; - case 2 : - mainw->fx2_start=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); + case 2: + mainw->fx2_start = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); break; - case 3 : - mainw->fx3_start=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); + case 3: + mainw->fx3_start = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); break; - case 4 : - mainw->fx4_start=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); + case 4: + mainw->fx4_start = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); break; } } @@ -7481,17 +7317,17 @@ // generic // TODO - use array switch (LIVES_POINTER_TO_INT(user_data)) { - case 1 : - mainw->fx1_step=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); + case 1: + mainw->fx1_step = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); break; - case 2 : - mainw->fx2_step=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); + case 2: + mainw->fx2_step = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); break; - case 3 : - mainw->fx3_step=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); + case 3: + mainw->fx3_step = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); break; - case 4 : - mainw->fx4_step=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); + case 4: + mainw->fx4_step = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); break; } } @@ -7501,122 +7337,117 @@ // generic // TODO - use array switch (LIVES_POINTER_TO_INT(user_data)) { - case 1 : - mainw->fx1_end=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); + case 1: + mainw->fx1_end = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); break; - case 2 : - mainw->fx2_end=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); + case 2: + mainw->fx2_end = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); break; - case 3 : - mainw->fx3_end=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); + case 3: + mainw->fx3_end = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); break; - case 4 : - mainw->fx4_end=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); + case 4: + mainw->fx4_end = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); break; } } - void on_rev_clipboard_activate(LiVESMenuItem *menuitem, livespointer user_data) { // reverse the clipboard char *com; - int current_file=mainw->current_file; - mainw->current_file=0; + int current_file = mainw->current_file; + mainw->current_file = 0; - if (!check_if_non_virtual(0,1,cfile->frames)) { - lives_clip_data_t *cdata=((lives_decoder_t *)cfile->ext_src)->cdata; - if (!(cdata->seek_flag&LIVES_SEEK_FAST)) { + if (!check_if_non_virtual(0, 1, cfile->frames)) { + lives_clip_data_t *cdata = ((lives_decoder_t *)cfile->ext_src)->cdata; + if (!(cdata->seek_flag & LIVES_SEEK_FAST)) { boolean retb; - mainw->cancelled=CANCEL_NONE; - cfile->progress_start=1; - cfile->progress_end=cfile->frames; - do_threaded_dialog(_("Pulling frames from clipboard"),TRUE); - retb=virtual_to_images(mainw->current_file,1,cfile->frames,TRUE,NULL); + mainw->cancelled = CANCEL_NONE; + cfile->progress_start = 1; + cfile->progress_end = cfile->frames; + do_threaded_dialog(_("Pulling frames from clipboard"), TRUE); + retb = virtual_to_images(mainw->current_file, 1, cfile->frames, TRUE, NULL); end_threaded_dialog(); - if (mainw->cancelled!=CANCEL_NONE||!retb) { + if (mainw->cancelled != CANCEL_NONE || !retb) { sensitize(); - mainw->cancelled=CANCEL_USER; + mainw->cancelled = CANCEL_USER; return; } } } d_print(_("Reversing clipboard...")); - com=lives_strdup_printf("%s reverse \"%s\" %d %d \"%s\"",prefs->backend,clipboard->handle,1,clipboard->frames, - get_image_ext_for_type(cfile->img_type)); + com = lives_strdup_printf("%s reverse \"%s\" %d %d \"%s\"", prefs->backend, clipboard->handle, 1, clipboard->frames, + get_image_ext_for_type(cfile->img_type)); lives_rm(cfile->info_file); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); if (!mainw->com_failed) { - cfile->progress_start=1; - cfile->progress_end=cfile->frames; + cfile->progress_start = 1; + cfile->progress_end = cfile->frames; // show a progress dialog, not cancellable - do_progress_dialog(TRUE,FALSE,_("Reversing clipboard")); + do_progress_dialog(TRUE, FALSE, _("Reversing clipboard")); } - if (mainw->com_failed||mainw->error) d_print_failed(); + if (mainw->com_failed || mainw->error) d_print_failed(); else { - if (clipboard->frame_index!=NULL) reverse_frame_index(0); + if (clipboard->frame_index != NULL) reverse_frame_index(0); d_print_done(); } - mainw->current_file=current_file; + mainw->current_file = current_file; sensitize(); - - } - - void on_load_subs_activate(LiVESMenuItem *menuitem, livespointer user_data) { char *subfile; - char *filt[]=LIVES_SUBS_FILTER; + char *filt[] = LIVES_SUBS_FILTER; char filename[512]; - char *subfname,*isubfname; - lives_subtitle_type_t subtype=SUBTITLE_TYPE_NONE; + char *subfname, *isubfname; + lives_subtitle_type_t subtype = SUBTITLE_TYPE_NONE; char *lfile_name; char *ttl; - if (cfile->subt!=NULL) if (!do_existing_subs_warning()) return; + if (cfile->subt != NULL) if (!do_existing_subs_warning()) return; // try to repaint the screen, as it may take a few seconds to get a directory listing lives_widget_context_update(); - ttl=lives_strdup(_("Load Subtitles")); + ttl = lives_strdup(_("Load Subtitles")); if (strlen(mainw->vid_load_dir)) { - subfile=choose_file(mainw->vid_load_dir,NULL,filt,LIVES_FILE_CHOOSER_ACTION_OPEN,ttl,NULL); - } else subfile=choose_file(NULL,NULL,filt,LIVES_FILE_CHOOSER_ACTION_OPEN,ttl,NULL); + subfile = choose_file(mainw->vid_load_dir, NULL, filt, LIVES_FILE_CHOOSER_ACTION_OPEN, ttl, NULL); + } else subfile = choose_file(NULL, NULL, filt, LIVES_FILE_CHOOSER_ACTION_OPEN, ttl, NULL); lives_free(ttl); - if (subfile==NULL) return; // cancelled + if (subfile == NULL) return; // cancelled - lives_snprintf(filename,512,"%s",subfile); + lives_snprintf(filename, 512, "%s", subfile); lives_free(subfile); - get_filename(filename,FALSE); // strip extension - isubfname=lives_strdup_printf("%s.%s",filename,LIVES_FILE_EXT_SRT); - lfile_name=lives_filename_from_utf8(isubfname,-1,NULL,NULL,NULL); - - if (lives_file_test(lfile_name,LIVES_FILE_TEST_EXISTS)) { - subfname=lives_build_filename(prefs->workdir,cfile->handle,"subs.",LIVES_FILE_EXT_SRT,NULL); - subtype=SUBTITLE_TYPE_SRT; + get_filename(filename, FALSE); // strip extension + isubfname = lives_strdup_printf("%s.%s", filename, LIVES_FILE_EXT_SRT); + lfile_name = lives_filename_from_utf8(isubfname, -1, NULL, NULL, NULL); + + if (lives_file_test(lfile_name, LIVES_FILE_TEST_EXISTS)) { + subfname = lives_build_filename(prefs->workdir, cfile->handle, "subs.", LIVES_FILE_EXT_SRT, NULL); + subtype = SUBTITLE_TYPE_SRT; } else { lives_free(isubfname); lives_free(lfile_name); - isubfname=lives_strdup_printf("%s.%s",filename,LIVES_FILE_EXT_SUB); - lfile_name=lives_filename_from_utf8(isubfname,-1,NULL,NULL,NULL); + isubfname = lives_strdup_printf("%s.%s", filename, LIVES_FILE_EXT_SUB); + lfile_name = lives_filename_from_utf8(isubfname, -1, NULL, NULL, NULL); - if (lives_file_test(isubfname,LIVES_FILE_TEST_EXISTS)) { - subfname=lives_build_filename(prefs->workdir,cfile->handle,"subs.",LIVES_FILE_EXT_SUB,NULL); - subtype=SUBTITLE_TYPE_SUB; + if (lives_file_test(isubfname, LIVES_FILE_TEST_EXISTS)) { + subfname = lives_build_filename(prefs->workdir, cfile->handle, "subs.", LIVES_FILE_EXT_SUB, NULL); + subtype = SUBTITLE_TYPE_SUB; } else { lives_free(isubfname); do_invalid_subs_error(); @@ -7625,14 +7456,14 @@ } } - if (cfile->subt!=NULL) { + if (cfile->subt != NULL) { // erase any existing subs - on_erase_subs_activate(NULL,NULL); + on_erase_subs_activate(NULL, NULL); subtitles_free(cfile); } - mainw->com_failed=FALSE; - lives_cp(lfile_name,subfname); + mainw->com_failed = FALSE; + lives_cp(lfile_name, subfname); if (mainw->com_failed) { lives_free(subfname); @@ -7641,65 +7472,61 @@ return; } - subtitles_init(cfile,subfname,subtype); + subtitles_init(cfile, subfname, subtype); lives_free(subfname); // force update - switch_to_file(0,mainw->current_file); + switch_to_file(0, mainw->current_file); - d_print(_("Loaded subtitle file: %s\n"),isubfname); + d_print(_("Loaded subtitle file: %s\n"), isubfname); lives_free(isubfname); lives_free(lfile_name); } - - - void on_save_subs_activate(LiVESMenuItem *menuitem, livespointer user_data) { char *subfile; char xfname[512]; char xfname2[512]; - LiVESEntry *entry=(LiVESEntry *)user_data; + LiVESEntry *entry = (LiVESEntry *)user_data; // try to repaint the screen, as it may take a few seconds to get a directory listing lives_widget_context_update(); - lives_snprintf(xfname,512,"%s",mainw->subt_save_file); + lives_snprintf(xfname, 512, "%s", mainw->subt_save_file); get_dirname(xfname); - lives_snprintf(xfname2,512,"%s",mainw->subt_save_file); + lives_snprintf(xfname2, 512, "%s", mainw->subt_save_file); get_basename(xfname2); - subfile=choose_file(xfname,xfname2,NULL,LIVES_FILE_CHOOSER_ACTION_SAVE,NULL,NULL); + subfile = choose_file(xfname, xfname2, NULL, LIVES_FILE_CHOOSER_ACTION_SAVE, NULL, NULL); - if (subfile==NULL) return; // cancelled + if (subfile == NULL) return; // cancelled - if (check_file(subfile,FALSE)) - lives_entry_set_text(entry,subfile); + if (check_file(subfile, FALSE)) + lives_entry_set_text(entry, subfile); lives_free(subfile); } - void on_erase_subs_activate(LiVESMenuItem *menuitem, livespointer user_data) { char *sfname; - if (cfile->subt==NULL) return; + if (cfile->subt == NULL) return; - if (menuitem!=NULL) + if (menuitem != NULL) if (!do_erase_subs_warning()) return; switch (cfile->subt->type) { case SUBTITLE_TYPE_SRT: - sfname=lives_build_filename(prefs->workdir,cfile->handle,"subs.",LIVES_FILE_EXT_SRT,NULL); + sfname = lives_build_filename(prefs->workdir, cfile->handle, "subs.", LIVES_FILE_EXT_SRT, NULL); break; case SUBTITLE_TYPE_SUB: - sfname=lives_build_filename(prefs->workdir,cfile->handle,"subs.",LIVES_FILE_EXT_SUB,NULL); + sfname = lives_build_filename(prefs->workdir, cfile->handle, "subs.", LIVES_FILE_EXT_SUB, NULL); break; default: @@ -7711,408 +7538,399 @@ lives_rm(sfname); lives_free(sfname); - if (menuitem!=NULL) { + if (menuitem != NULL) { // force update - switch_to_file(0,mainw->current_file); + switch_to_file(0, mainw->current_file); d_print(_("Subtitles were erased.\n")); } } - - - void on_load_audio_activate(LiVESMenuItem *menuitem, livespointer user_data) { LiVESWidget *chooser; - char *filt[]=LIVES_AUDIO_LOAD_FILTER; + char *filt[] = LIVES_AUDIO_LOAD_FILTER; int resp; - if (mainw->multitrack!=NULL) { - if (mainw->multitrack->idlefunc>0) { + if (mainw->multitrack != NULL) { + if (mainw->multitrack->idlefunc > 0) { lives_source_remove(mainw->multitrack->idlefunc); - mainw->multitrack->idlefunc=0; + mainw->multitrack->idlefunc = 0; } mt_desensitise(mainw->multitrack); - lives_widget_set_sensitive(mainw->multitrack->playall,TRUE); + lives_widget_set_sensitive(mainw->multitrack->playall, TRUE); lives_widget_set_sensitive(mainw->m_playbutton, TRUE); } - chooser=choose_file_with_preview(strlen(mainw->audio_dir)?mainw->audio_dir:NULL,_("Select Audio File"),filt, - LIVES_FILE_SELECTION_AUDIO_ONLY); + chooser = choose_file_with_preview(strlen(mainw->audio_dir) ? mainw->audio_dir : NULL, _("Select Audio File"), filt, + LIVES_FILE_SELECTION_AUDIO_ONLY); - resp=lives_dialog_run(LIVES_DIALOG(chooser)); + resp = lives_dialog_run(LIVES_DIALOG(chooser)); end_fs_preview(); - mainw->fs_playarea=NULL; + mainw->fs_playarea = NULL; - if (resp!=LIVES_RESPONSE_ACCEPT) on_filechooser_cancel_clicked(chooser); - else on_open_new_audio_clicked(LIVES_FILE_CHOOSER(chooser),NULL); + if (resp != LIVES_RESPONSE_ACCEPT) on_filechooser_cancel_clicked(chooser); + else on_open_new_audio_clicked(LIVES_FILE_CHOOSER(chooser), NULL); } - void on_open_new_audio_clicked(LiVESFileChooser *chooser, livespointer user_data) { // open audio file // also called from osc.c char *a_type; - char *com,*tmp; + char *com, *tmp; char **array; int oundo_start; int oundo_end; - int israw=1; - int asigned,aendian; + int israw = 1; + int asigned, aendian; - boolean has_lmap_error=FALSE; - boolean bad_header=FALSE; - boolean preparse=FALSE; - boolean gotit=FALSE; + boolean has_lmap_error = FALSE; + boolean bad_header = FALSE; + boolean preparse = FALSE; + boolean gotit = FALSE; register int i; - if (!(prefs->warning_mask&WARN_MASK_LAYOUT_DELETE_AUDIO)) { - if ((mainw->xlays=layout_audio_is_affected(mainw->current_file,0.))!=NULL) { + if (!(prefs->warning_mask & WARN_MASK_LAYOUT_DELETE_AUDIO)) { + if ((mainw->xlays = layout_audio_is_affected(mainw->current_file, 0.)) != NULL) { if (!do_warning_dialog( _("\nLoading new audio may cause missing audio in some multitrack layouts.\nAre you sure you wish to continue ?\n."))) { lives_list_free_all(&mainw->xlays); - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } return; } - add_lmap_error(LMAP_ERROR_DELETE_AUDIO,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0,0., - cfile->stored_layout_frame>0.); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_DELETE_AUDIO, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, 0., + cfile->stored_layout_frame > 0.); + has_lmap_error = TRUE; lives_list_free_all(&mainw->xlays); } } - if (!has_lmap_error&&!(prefs->warning_mask&WARN_MASK_LAYOUT_ALTER_AUDIO)&& - (mainw->xlays=layout_audio_is_affected(mainw->current_file,0.))) { + if (!has_lmap_error && !(prefs->warning_mask & WARN_MASK_LAYOUT_ALTER_AUDIO) && + (mainw->xlays = layout_audio_is_affected(mainw->current_file, 0.))) { if (!do_layout_alter_audio_warning()) { lives_list_free_all(&mainw->xlays); - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } return; } - add_lmap_error(LMAP_ERROR_ALTER_AUDIO,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0,0., - cfile->stored_layout_audio>0.); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_ALTER_AUDIO, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, 0., + cfile->stored_layout_audio > 0.); + has_lmap_error = TRUE; lives_list_free_all(&mainw->xlays); } - mainw->noswitch=TRUE; + mainw->noswitch = TRUE; - cfile->undo_arate=cfile->arate; - cfile->undo_achans=cfile->achans; - cfile->undo_asampsize=cfile->asampsize; - cfile->undo_signed_endian=cfile->signed_endian; - cfile->undo_arps=cfile->arps; - - oundo_start=cfile->undo_start; - oundo_end=cfile->undo_end; - - if (user_data==NULL) { - char *filename=lives_file_chooser_get_filename(chooser); - lives_snprintf(file_name,PATH_MAX,"%s",(tmp=lives_filename_to_utf8(filename,-1,NULL,NULL,NULL))); + cfile->undo_arate = cfile->arate; + cfile->undo_achans = cfile->achans; + cfile->undo_asampsize = cfile->asampsize; + cfile->undo_signed_endian = cfile->signed_endian; + cfile->undo_arps = cfile->arps; + + oundo_start = cfile->undo_start; + oundo_end = cfile->undo_end; + + if (user_data == NULL) { + char *filename = lives_file_chooser_get_filename(chooser); + lives_snprintf(file_name, PATH_MAX, "%s", (tmp = lives_filename_to_utf8(filename, -1, NULL, NULL, NULL))); lives_free(filename); lives_free(tmp); - } else lives_snprintf(file_name,PATH_MAX,"%s",(char *)user_data); + } else lives_snprintf(file_name, PATH_MAX, "%s", (char *)user_data); - lives_snprintf(mainw->audio_dir,PATH_MAX,"%s",file_name); + lives_snprintf(mainw->audio_dir, PATH_MAX, "%s", file_name); get_dirname(mainw->audio_dir); end_fs_preview(); lives_widget_destroy(LIVES_WIDGET(chooser)); lives_widget_context_update(); - mainw->fs_playarea=NULL; + mainw->fs_playarea = NULL; - a_type=get_extension(file_name); + a_type = get_extension(file_name); if (strlen(a_type)) { - char *filt[]=LIVES_AUDIO_LOAD_FILTER; - for (i=0; filt[i]!=NULL; i++) { - if (!lives_ascii_strcasecmp(a_type,filt[i]+2)) gotit=TRUE; // skip past "*." in filt + char *filt[] = LIVES_AUDIO_LOAD_FILTER; + for (i = 0; filt[i] != NULL; i++) { + if (!lives_ascii_strcasecmp(a_type, filt[i] + 2)) gotit = TRUE; // skip past "*." in filt } } if (gotit) { - com=lives_strdup_printf("%s audioopen \"%s\" \"%s\"",prefs->backend,cfile->handle, - (tmp=lives_filename_from_utf8(file_name,-1,NULL,NULL,NULL))); + com = lives_strdup_printf("%s audioopen \"%s\" \"%s\"", prefs->backend, cfile->handle, + (tmp = lives_filename_from_utf8(file_name, -1, NULL, NULL, NULL))); lives_free(tmp); } else { do_audio_import_error(); - mainw->noswitch=FALSE; - if (mainw->multitrack!=NULL) { + mainw->noswitch = FALSE; + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } return; } - if (!lives_ascii_strncasecmp(a_type,LIVES_FILE_EXT_WAV,3)) israw=0; + if (!lives_ascii_strncasecmp(a_type, LIVES_FILE_EXT_WAV, 3)) israw = 0; - if (capable->has_mplayer||capable->has_mplayer2 + if (capable->has_mplayer || capable->has_mplayer2 #ifdef ALLOW_MPV - ||capable->has_mpv + || capable->has_mpv #endif ) { char *com2; - int current_file=mainw->current_file; + int current_file = mainw->current_file; // create temp handle to read file details into (otherwise it can mess up our current clip) - if (!get_temp_handle(mainw->first_free_file,TRUE)) { + if (!get_temp_handle(mainw->first_free_file, TRUE)) { d_print_failed(); - mainw->noswitch=FALSE; - if (mainw->multitrack!=NULL) { + mainw->noswitch = FALSE; + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } return; } - if (read_file_details(file_name,TRUE)) { - if (get_token_count(mainw->msg,'|')>=14) { - array=lives_strsplit(mainw->msg,"|",-1); - cfile->arate=atoi(array[9]); - cfile->achans=atoi(array[10]); - cfile->asampsize=atoi(array[11]); - cfile->signed_endian=get_signed_endian(atoi(array[12]), atoi(array[13])); + if (read_file_details(file_name, TRUE)) { + if (get_token_count(mainw->msg, '|') >= 14) { + array = lives_strsplit(mainw->msg, "|", -1); + cfile->arate = atoi(array[9]); + cfile->achans = atoi(array[10]); + cfile->asampsize = atoi(array[11]); + cfile->signed_endian = get_signed_endian(atoi(array[12]), atoi(array[13])); lives_strfreev(array); - preparse=TRUE; + preparse = TRUE; } } - com2=lives_strdup_printf("%s close \"%s\"",prefs->backend,cfile->handle); - lives_system(com2,TRUE); + com2 = lives_strdup_printf("%s close \"%s\"", prefs->backend, cfile->handle); + lives_system(com2, TRUE); lives_free(com2); lives_freep((void **)&cfile); - mainw->current_file=current_file; + mainw->current_file = current_file; } if (!preparse) { // TODO !!! - need some way to identify audio without invoking mplayer - cfile->arate=cfile->arps=DEFAULT_AUDIO_RATE; - cfile->achans=DEFAULT_AUDIO_CHANS; - cfile->asampsize=DEFAULT_AUDIO_SAMPS; - cfile->signed_endian=mainw->endian; + cfile->arate = cfile->arps = DEFAULT_AUDIO_RATE; + cfile->achans = DEFAULT_AUDIO_CHANS; + cfile->asampsize = DEFAULT_AUDIO_SAMPS; + cfile->signed_endian = mainw->endian; } - if (cfile->undo_arate>0) cfile->arps=cfile->undo_arps/cfile->undo_arate*cfile->arate; - else cfile->arps=cfile->arate; + if (cfile->undo_arate > 0) cfile->arps = cfile->undo_arps / cfile->undo_arate * cfile->arate; + else cfile->arps = cfile->arate; d_print(""); // force switchtext - d_print(_("Opening audio %s, type %s..."),file_name,a_type); + d_print(_("Opening audio %s, type %s..."), file_name, a_type); lives_rm(cfile->info_file); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { - cfile->arate=cfile->undo_arate; - cfile->achans=cfile->undo_achans; - cfile->asampsize=cfile->undo_asampsize; - cfile->signed_endian=cfile->undo_signed_endian; - cfile->arps=cfile->undo_arps; - cfile->undo_start=oundo_start; - cfile->undo_end=oundo_end; + cfile->arate = cfile->undo_arate; + cfile->achans = cfile->undo_achans; + cfile->asampsize = cfile->undo_asampsize; + cfile->signed_endian = cfile->undo_signed_endian; + cfile->arps = cfile->undo_arps; + cfile->undo_start = oundo_start; + cfile->undo_end = oundo_end; sensitize(); - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } reget_afilesize(mainw->current_file); get_play_times(); - mainw->noswitch=FALSE; + mainw->noswitch = FALSE; return; } - cfile->opening=cfile->opening_audio=cfile->opening_only_audio=TRUE; + cfile->opening = cfile->opening_audio = cfile->opening_only_audio = TRUE; - cfile->undo_start=1; - cfile->undo_end=cfile->frames; + cfile->undo_start = 1; + cfile->undo_end = cfile->frames; // show audio [opening...] in main window get_play_times(); - if (!(do_progress_dialog(TRUE,TRUE,_("Opening audio")))) { + if (!(do_progress_dialog(TRUE, TRUE, _("Opening audio")))) { lives_widget_queue_draw(mainw->LiVES); lives_widget_context_update(); - mainw->cancelled=CANCEL_NONE; - mainw->error=FALSE; - mainw->com_failed=FALSE; + mainw->cancelled = CANCEL_NONE; + mainw->error = FALSE; + mainw->com_failed = FALSE; lives_rm(cfile->info_file); - com=lives_strdup_printf("%s cancel_audio \"%s\"",prefs->backend,cfile->handle); - lives_system(com,FALSE); - do_auto_dialog(_("Cancelling"),0); + com = lives_strdup_printf("%s cancel_audio \"%s\"", prefs->backend, cfile->handle); + lives_system(com, FALSE); + do_auto_dialog(_("Cancelling"), 0); lives_free(com); - cfile->opening_audio=cfile->opening=cfile->opening_only_audio=FALSE; - cfile->arate=cfile->undo_arate; - cfile->achans=cfile->undo_achans; - cfile->asampsize=cfile->undo_asampsize; - cfile->signed_endian=cfile->undo_signed_endian; - cfile->arps=cfile->undo_arps; - cfile->undo_start=oundo_start; - cfile->undo_end=oundo_end; + cfile->opening_audio = cfile->opening = cfile->opening_only_audio = FALSE; + cfile->arate = cfile->undo_arate; + cfile->achans = cfile->undo_achans; + cfile->asampsize = cfile->undo_asampsize; + cfile->signed_endian = cfile->undo_signed_endian; + cfile->arps = cfile->undo_arps; + cfile->undo_start = oundo_start; + cfile->undo_end = oundo_end; sensitize(); - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } reget_afilesize(mainw->current_file); get_play_times(); - mainw->noswitch=FALSE; + mainw->noswitch = FALSE; if (mainw->error) d_print_failed(); return; } - cfile->opening_audio=cfile->opening=cfile->opening_only_audio=FALSE; + cfile->opening_audio = cfile->opening = cfile->opening_only_audio = FALSE; lives_widget_queue_draw(mainw->LiVES); lives_widget_context_update(); - cfile->afilesize=0; - if (get_token_count(mainw->msg,'|')>6) { - array=lives_strsplit(mainw->msg,"|",7); - cfile->arate=atoi(array[1]); - cfile->achans=atoi(array[2]); - cfile->asampsize=atoi(array[3]); - cfile->signed_endian=get_signed_endian(atoi(array[4]), atoi(array[5])); - cfile->afilesize=strtol(array[6],NULL,10); + cfile->afilesize = 0; + if (get_token_count(mainw->msg, '|') > 6) { + array = lives_strsplit(mainw->msg, "|", 7); + cfile->arate = atoi(array[1]); + cfile->achans = atoi(array[2]); + cfile->asampsize = atoi(array[3]); + cfile->signed_endian = get_signed_endian(atoi(array[4]), atoi(array[5])); + cfile->afilesize = strtol(array[6], NULL, 10); lives_strfreev(array); - if (cfile->undo_arate>0) cfile->arps=cfile->undo_arps/cfile->undo_arate*cfile->arate; - else cfile->arps=cfile->arate; + if (cfile->undo_arate > 0) cfile->arps = cfile->undo_arps / cfile->undo_arate * cfile->arate; + else cfile->arps = cfile->arate; } - - if (cfile->afilesize==0) { + if (cfile->afilesize == 0) { d_print_failed(); - mainw->cancelled=CANCEL_NONE; - mainw->error=FALSE; + mainw->cancelled = CANCEL_NONE; + mainw->error = FALSE; lives_rm(cfile->info_file); - com=lives_strdup_printf("%s cancel_audio \"%s\"",prefs->backend,cfile->handle); + com = lives_strdup_printf("%s cancel_audio \"%s\"", prefs->backend, cfile->handle); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); - if (!mainw->com_failed) do_auto_dialog(_("Cancelling"),0); + if (!mainw->com_failed) do_auto_dialog(_("Cancelling"), 0); - cfile->arate=cfile->undo_arate; - cfile->achans=cfile->undo_achans; - cfile->asampsize=cfile->undo_asampsize; - cfile->signed_endian=cfile->undo_signed_endian; - cfile->arps=cfile->undo_arps; - cfile->undo_start=oundo_start; - cfile->undo_end=oundo_end; + cfile->arate = cfile->undo_arate; + cfile->achans = cfile->undo_achans; + cfile->asampsize = cfile->undo_asampsize; + cfile->signed_endian = cfile->undo_signed_endian; + cfile->arps = cfile->undo_arps; + cfile->undo_start = oundo_start; + cfile->undo_end = oundo_end; sensitize(); - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } reget_afilesize(mainw->current_file); get_play_times(); - mainw->noswitch=FALSE; + mainw->noswitch = FALSE; return; } - cfile->changed=TRUE; + cfile->changed = TRUE; d_print_done(); - d_print(P_("New audio: %d Hz %d channel %d bps\n","New audio: %d Hz %d channels %d bps\n",cfile->achans), - cfile->arate,cfile->achans,cfile->asampsize); + d_print(P_("New audio: %d Hz %d channel %d bps\n", "New audio: %d Hz %d channels %d bps\n", cfile->achans), + cfile->arate, cfile->achans, cfile->asampsize); - mainw->com_failed=FALSE; - mainw->cancelled=CANCEL_NONE; - mainw->error=FALSE; + mainw->com_failed = FALSE; + mainw->cancelled = CANCEL_NONE; + mainw->error = FALSE; lives_rm(cfile->info_file); - com=lives_strdup_printf("%s commit_audio \"%s\" %d",prefs->backend,cfile->handle,israw); - lives_system(com,FALSE); + com = lives_strdup_printf("%s commit_audio \"%s\" %d", prefs->backend, cfile->handle, israw); + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { - cfile->arate=cfile->undo_arate; - cfile->achans=cfile->undo_achans; - cfile->asampsize=cfile->undo_asampsize; - cfile->signed_endian=cfile->undo_signed_endian; - cfile->arps=cfile->undo_arps; - cfile->undo_start=oundo_start; - cfile->undo_end=oundo_end; + cfile->arate = cfile->undo_arate; + cfile->achans = cfile->undo_achans; + cfile->asampsize = cfile->undo_asampsize; + cfile->signed_endian = cfile->undo_signed_endian; + cfile->arps = cfile->undo_arps; + cfile->undo_start = oundo_start; + cfile->undo_end = oundo_end; sensitize(); - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } reget_afilesize(mainw->current_file); get_play_times(); - mainw->noswitch=FALSE; + mainw->noswitch = FALSE; return; } - if (!do_auto_dialog(_("Committing audio"),0)) { + if (!do_auto_dialog(_("Committing audio"), 0)) { //cfile->may_be_damaged=TRUE; d_print_failed(); - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } return; } - if (prefs->save_directories) { - set_pref_utf8(PREF_AUDIO_DIR,mainw->audio_dir); + set_pref_utf8(PREF_AUDIO_DIR, mainw->audio_dir); } if (!prefs->conserve_space) { - cfile->undo_action=UNDO_NEW_AUDIO; - set_undoable(_("New Audio"),TRUE); + cfile->undo_action = UNDO_NEW_AUDIO; + set_undoable(_("New Audio"), TRUE); } - asigned=!(cfile->signed_endian&AFORM_UNSIGNED); - aendian=cfile->signed_endian&AFORM_BIG_ENDIAN; + asigned = !(cfile->signed_endian & AFORM_UNSIGNED); + aendian = cfile->signed_endian & AFORM_BIG_ENDIAN; - save_clip_value(mainw->current_file,CLIP_DETAILS_ARATE,&cfile->arps); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_PB_ARATE,&cfile->arate); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_ACHANS,&cfile->achans); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_ASAMPS,&cfile->asampsize); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_AENDIAN,&aendian); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_ASIGNED,&asigned); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_ARATE, &cfile->arps); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_PB_ARATE, &cfile->arate); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_ACHANS, &cfile->achans); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_ASAMPS, &cfile->asampsize); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_AENDIAN, &aendian); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_ASIGNED, &asigned); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; if (bad_header) do_header_write_error(mainw->current_file); - switch_to_file(mainw->current_file,mainw->current_file); + switch_to_file(mainw->current_file, mainw->current_file); - mainw->noswitch=FALSE; + mainw->noswitch = FALSE; - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } - } - - void on_load_cdtrack_activate(LiVESMenuItem *menuitem, livespointer user_data) { LiVESWidget *cdtrack_dialog; @@ -8123,10 +7941,9 @@ return; } - mainw->fx1_val=1; - cdtrack_dialog = create_cdtrack_dialog(LIVES_DEVICE_CD,NULL); + mainw->fx1_val = 1; + cdtrack_dialog = create_cdtrack_dialog(LIVES_DEVICE_CD, NULL); lives_widget_show_all(cdtrack_dialog); - } @@ -8141,9 +7958,9 @@ } if (strlen(capable->eject_cmd)) { - com=lives_strdup_printf("%s \"%s\"",capable->eject_cmd,prefs->cdplay_device); + com = lives_strdup_printf("%s \"%s\"", capable->eject_cmd, prefs->cdplay_device); - lives_system(com,TRUE); + lives_system(com, TRUE); lives_free(com); } } @@ -8153,114 +7970,113 @@ char *com; char **array; - boolean was_new=FALSE; + boolean was_new = FALSE; - int new_file=mainw->first_free_file; - int asigned,endian; + int new_file = mainw->first_free_file; + int asigned, endian; - boolean has_lmap_error=FALSE; - boolean bad_header=FALSE; + boolean has_lmap_error = FALSE; + boolean bad_header = FALSE; - lives_general_button_clicked(button,NULL); + lives_general_button_clicked(button, NULL); - if (mainw->current_file>-1) { - if (!(prefs->warning_mask&WARN_MASK_LAYOUT_DELETE_AUDIO)) { - if ((mainw->xlays=layout_audio_is_affected(mainw->current_file,0.))!=NULL) { + if (mainw->current_file > -1) { + if (!(prefs->warning_mask & WARN_MASK_LAYOUT_DELETE_AUDIO)) { + if ((mainw->xlays = layout_audio_is_affected(mainw->current_file, 0.)) != NULL) { if (!do_warning_dialog( _("\nLoading new audio may cause missing audio in some multitrack layouts.\nAre you sure you wish to continue ?\n."))) { lives_list_free_all(&mainw->xlays); return; } - add_lmap_error(LMAP_ERROR_DELETE_AUDIO,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0,0., - cfile->stored_layout_audio>0.); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_DELETE_AUDIO, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, 0., + cfile->stored_layout_audio > 0.); + has_lmap_error = TRUE; lives_list_free_all(&mainw->xlays); } } - if (!has_lmap_error&&!(prefs->warning_mask&WARN_MASK_LAYOUT_ALTER_AUDIO)&& - (mainw->xlays=layout_audio_is_affected(mainw->current_file,0.))!=NULL) { + if (!has_lmap_error && !(prefs->warning_mask & WARN_MASK_LAYOUT_ALTER_AUDIO) && + (mainw->xlays = layout_audio_is_affected(mainw->current_file, 0.)) != NULL) { if (!do_layout_alter_audio_warning()) { lives_list_free_all(&mainw->xlays); return; } - add_lmap_error(LMAP_ERROR_ALTER_AUDIO,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0,0., - cfile->stored_layout_audio>0.); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_ALTER_AUDIO, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, 0., + cfile->stored_layout_audio > 0.); + has_lmap_error = TRUE; lives_list_free_all(&mainw->xlays); } } - d_print(_("Opening CD track %d from %s..."),(int)mainw->fx1_val,prefs->cdplay_device); + d_print(_("Opening CD track %d from %s..."), (int)mainw->fx1_val, prefs->cdplay_device); - if (mainw->current_file==-1) { - if (!get_new_handle(new_file,lives_strdup_printf(_("CD track %d"),(int)mainw->fx1_val))) { + if (mainw->current_file == -1) { + if (!get_new_handle(new_file, lives_strdup_printf(_("CD track %d"), (int)mainw->fx1_val))) { return; } - mainw->current_file=new_file; - lives_snprintf(cfile->type,40,"CD track %d on %s",(int)mainw->fx1_val,prefs->cdplay_device); + mainw->current_file = new_file; + lives_snprintf(cfile->type, 40, "CD track %d on %s", (int)mainw->fx1_val, prefs->cdplay_device); get_play_times(); add_to_clipmenu(); - was_new=TRUE; - cfile->opening=cfile->opening_audio=cfile->opening_only_audio=TRUE; - cfile->hsize=DEFAULT_FRAME_HSIZE; - cfile->vsize=DEFAULT_FRAME_VSIZE; + was_new = TRUE; + cfile->opening = cfile->opening_audio = cfile->opening_only_audio = TRUE; + cfile->hsize = DEFAULT_FRAME_HSIZE; + cfile->vsize = DEFAULT_FRAME_VSIZE; } else { - mainw->noswitch=TRUE; + mainw->noswitch = TRUE; - cfile->undo_arate=cfile->arate; - cfile->undo_achans=cfile->achans; - cfile->undo_asampsize=cfile->asampsize; - cfile->undo_signed_endian=cfile->signed_endian; - cfile->undo_arps=cfile->arps; + cfile->undo_arate = cfile->arate; + cfile->undo_achans = cfile->achans; + cfile->undo_asampsize = cfile->asampsize; + cfile->undo_signed_endian = cfile->signed_endian; + cfile->undo_arps = cfile->arps; } - com=lives_strdup_printf("%s cdopen \"%s\" %d",prefs->backend,cfile->handle,(int)mainw->fx1_val); + com = lives_strdup_printf("%s cdopen \"%s\" %d", prefs->backend, cfile->handle, (int)mainw->fx1_val); lives_rm(cfile->info_file); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { - cfile->arate=cfile->undo_arate; - cfile->achans=cfile->undo_achans; - cfile->asampsize=cfile->undo_asampsize; - cfile->signed_endian=cfile->undo_signed_endian; - cfile->arps=cfile->undo_arps; + cfile->arate = cfile->undo_arate; + cfile->achans = cfile->undo_achans; + cfile->asampsize = cfile->undo_asampsize; + cfile->signed_endian = cfile->undo_signed_endian; + cfile->arps = cfile->undo_arps; sensitize(); reget_afilesize(mainw->current_file); get_play_times(); - mainw->noswitch=FALSE; + mainw->noswitch = FALSE; if (was_new) close_current_file(0); return; } - - if (!(do_progress_dialog(TRUE,TRUE,_("Opening CD track...")))) { + if (!(do_progress_dialog(TRUE, TRUE, _("Opening CD track...")))) { lives_widget_queue_draw(mainw->LiVES); lives_widget_context_update(); if (!was_new) { - mainw->com_failed=FALSE; - mainw->cancelled=CANCEL_NONE; - mainw->error=FALSE; + mainw->com_failed = FALSE; + mainw->cancelled = CANCEL_NONE; + mainw->error = FALSE; lives_rm(cfile->info_file); - com=lives_strdup_printf("%s cancel_audio \"%s\"",prefs->backend,cfile->handle); - lives_system(com,FALSE); + com = lives_strdup_printf("%s cancel_audio \"%s\"", prefs->backend, cfile->handle); + lives_system(com, FALSE); lives_free(com); - if (!mainw->com_failed) do_auto_dialog(_("Cancelling"),0); + if (!mainw->com_failed) do_auto_dialog(_("Cancelling"), 0); - cfile->arate=cfile->undo_arate; - cfile->achans=cfile->undo_achans; - cfile->asampsize=cfile->undo_asampsize; - cfile->signed_endian=cfile->undo_signed_endian; - cfile->arps=cfile->undo_arps; + cfile->arate = cfile->undo_arate; + cfile->achans = cfile->undo_achans; + cfile->asampsize = cfile->undo_asampsize; + cfile->signed_endian = cfile->undo_signed_endian; + cfile->arps = cfile->undo_arps; sensitize(); reget_afilesize(mainw->current_file); @@ -8268,7 +8084,7 @@ } - mainw->noswitch=FALSE; + mainw->noswitch = FALSE; if (was_new) close_current_file(0); if (mainw->error) { @@ -8288,175 +8104,173 @@ lives_widget_context_update(); if (!was_new) { - com=lives_strdup_printf("%s cancel_audio \"%s\"",prefs->backend,cfile->handle); - mainw->cancelled=CANCEL_NONE; - mainw->error=FALSE; + com = lives_strdup_printf("%s cancel_audio \"%s\"", prefs->backend, cfile->handle); + mainw->cancelled = CANCEL_NONE; + mainw->error = FALSE; lives_rm(cfile->info_file); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); - if (!mainw->com_failed) do_auto_dialog(_("Cancelling"),0); + if (!mainw->com_failed) do_auto_dialog(_("Cancelling"), 0); - cfile->arate=cfile->undo_arate; - cfile->achans=cfile->undo_achans; - cfile->asampsize=cfile->undo_asampsize; - cfile->signed_endian=cfile->undo_signed_endian; - cfile->arps=cfile->undo_arps; + cfile->arate = cfile->undo_arate; + cfile->achans = cfile->undo_achans; + cfile->asampsize = cfile->undo_asampsize; + cfile->signed_endian = cfile->undo_signed_endian; + cfile->arps = cfile->undo_arps; sensitize(); reget_afilesize(mainw->current_file); get_play_times(); } - mainw->noswitch=FALSE; + mainw->noswitch = FALSE; if (was_new) close_current_file(0); return; } - array=lives_strsplit(mainw->msg,"|",5); - cfile->arate=atoi(array[1]); - cfile->achans=atoi(array[2]); - cfile->asampsize=atoi(array[3]); - cfile->afilesize=strtol(array[4],NULL,10); + array = lives_strsplit(mainw->msg, "|", 5); + cfile->arate = atoi(array[1]); + cfile->achans = atoi(array[2]); + cfile->asampsize = atoi(array[3]); + cfile->afilesize = strtol(array[4], NULL, 10); lives_strfreev(array); - if (!was_new&&cfile->undo_arate>0) cfile->arps=cfile->undo_arps/cfile->undo_arate*cfile->arate; - else cfile->arps=cfile->arate; + if (!was_new && cfile->undo_arate > 0) cfile->arps = cfile->undo_arps / cfile->undo_arate * cfile->arate; + else cfile->arps = cfile->arate; - asigned=!(cfile->signed_endian&AFORM_UNSIGNED); - endian=cfile->signed_endian&AFORM_BIG_ENDIAN; + asigned = !(cfile->signed_endian & AFORM_UNSIGNED); + endian = cfile->signed_endian & AFORM_BIG_ENDIAN; - if (cfile->afilesize==0l) { + if (cfile->afilesize == 0l) { d_print(_("Error loading CD track\n")); if (!was_new) { - com=lives_strdup_printf("%s cancel_audio \"%s\"",prefs->backend,cfile->handle); - mainw->com_failed=FALSE; - mainw->cancelled=CANCEL_NONE; - mainw->error=FALSE; + com = lives_strdup_printf("%s cancel_audio \"%s\"", prefs->backend, cfile->handle); + mainw->com_failed = FALSE; + mainw->cancelled = CANCEL_NONE; + mainw->error = FALSE; lives_rm(cfile->info_file); - lives_system(com,FALSE); + lives_system(com, FALSE); lives_free(com); - if (!mainw->com_failed) do_auto_dialog(_("Cancelling"),0); + if (!mainw->com_failed) do_auto_dialog(_("Cancelling"), 0); - cfile->achans=cfile->undo_achans; - cfile->arate=cfile->undo_arate; - cfile->arps=cfile->undo_arps; - cfile->asampsize=cfile->undo_asampsize; - cfile->signed_endian=cfile->undo_signed_endian; + cfile->achans = cfile->undo_achans; + cfile->arate = cfile->undo_arate; + cfile->arps = cfile->undo_arps; + cfile->asampsize = cfile->undo_asampsize; + cfile->signed_endian = cfile->undo_signed_endian; reget_afilesize(mainw->current_file); } - mainw->noswitch=FALSE; + mainw->noswitch = FALSE; if (was_new) close_current_file(0); return; } - cfile->opening=cfile->opening_audio=cfile->opening_only_audio=FALSE; + cfile->opening = cfile->opening_audio = cfile->opening_only_audio = FALSE; - mainw->cancelled=CANCEL_NONE; - mainw->error=FALSE; - mainw->com_failed=FALSE; + mainw->cancelled = CANCEL_NONE; + mainw->error = FALSE; + mainw->com_failed = FALSE; lives_rm(cfile->info_file); - com=lives_strdup_printf("%s commit_audio \"%s\"",prefs->backend,cfile->handle); + com = lives_strdup_printf("%s commit_audio \"%s\"", prefs->backend, cfile->handle); lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { d_print_failed(); - cfile->achans=cfile->undo_achans; - cfile->arate=cfile->undo_arate; - cfile->arps=cfile->undo_arps; - cfile->asampsize=cfile->undo_asampsize; - cfile->signed_endian=cfile->undo_signed_endian; + cfile->achans = cfile->undo_achans; + cfile->arate = cfile->undo_arate; + cfile->arps = cfile->undo_arps; + cfile->asampsize = cfile->undo_asampsize; + cfile->signed_endian = cfile->undo_signed_endian; reget_afilesize(mainw->current_file); - mainw->noswitch=FALSE; + mainw->noswitch = FALSE; if (was_new) close_current_file(0); return; } - if (!do_auto_dialog(_("Committing audio"),0)) { + if (!do_auto_dialog(_("Committing audio"), 0)) { d_print_failed(); return; } - save_clip_value(mainw->current_file,CLIP_DETAILS_ARATE,&cfile->arps); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_PB_ARATE,&cfile->arate); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_ACHANS,&cfile->achans); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_ASIGNED,&asigned); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_AENDIAN,&endian); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_ASAMPS,&cfile->asampsize); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_ARATE, &cfile->arps); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_PB_ARATE, &cfile->arate); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_ACHANS, &cfile->achans); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_ASIGNED, &asigned); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_AENDIAN, &endian); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_ASAMPS, &cfile->asampsize); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; if (bad_header) do_header_write_error(mainw->current_file); reget_afilesize(mainw->current_file); get_play_times(); - cfile->changed=TRUE; + cfile->changed = TRUE; d_print_done(); - d_print(P_("New audio: %d Hz %d channel %d bps\n","New audio: %d Hz %d channels %d bps\n",cfile->achans), - cfile->arate,cfile->achans,cfile->asampsize); + d_print(P_("New audio: %d Hz %d channel %d bps\n", "New audio: %d Hz %d channels %d bps\n", cfile->achans), + cfile->arate, cfile->achans, cfile->asampsize); if (!was_new) { if (!prefs->conserve_space) { - cfile->undo_action=UNDO_NEW_AUDIO; - set_undoable(_("New Audio"),TRUE); + cfile->undo_action = UNDO_NEW_AUDIO; + set_undoable(_("New Audio"), TRUE); } } - lives_widget_set_sensitive(mainw->loop_video,TRUE); - mainw->noswitch=FALSE; - - lives_notify(LIVES_OSC_NOTIFY_CLIP_OPENED,""); + lives_widget_set_sensitive(mainw->loop_video, TRUE); + mainw->noswitch = FALSE; + lives_notify(LIVES_OSC_NOTIFY_CLIP_OPENED, ""); } void on_load_vcd_ok_clicked(LiVESButton *button, livespointer user_data) { - lives_general_button_clicked(button,NULL); - if (LIVES_POINTER_TO_INT(user_data)==LIVES_DEVICE_DVD) { - lives_snprintf(file_name,PATH_MAX,"dvd://%d",(int)mainw->fx1_val); + lives_general_button_clicked(button, NULL); + if (LIVES_POINTER_TO_INT(user_data) == LIVES_DEVICE_DVD) { + lives_snprintf(file_name, PATH_MAX, "dvd://%d", (int)mainw->fx1_val); lives_freep((void **)&mainw->file_open_params); - mainw->file_open_params=lives_strdup_printf("-chapter %d -aid %d",(int)mainw->fx2_val,(int)mainw->fx3_val); + mainw->file_open_params = lives_strdup_printf("-chapter %d -aid %d", (int)mainw->fx2_val, (int)mainw->fx3_val); } else { - lives_snprintf(file_name,PATH_MAX,"vcd://%d",(int)mainw->fx1_val); + lives_snprintf(file_name, PATH_MAX, "vcd://%d", (int)mainw->fx1_val); } open_sel_range_activate(); } - void popup_lmap_errors(LiVESMenuItem *menuitem, livespointer user_data) { // popup layout map errors dialog - LiVESWidget *dialog_action_area,*vbox; + LiVESWidget *dialog_action_area, *vbox; LiVESWidget *button; text_window *textwindow; - if (prefs->warning_mask&WARN_MASK_LAYOUT_POPUP) return; + if (prefs->warning_mask & WARN_MASK_LAYOUT_POPUP) return; - widget_opts.expand=LIVES_EXPAND_NONE; - textwindow=create_text_window(_("Layout Errors"),NULL,mainw->layout_textbuffer); - widget_opts.expand=LIVES_EXPAND_DEFAULT; + widget_opts.expand = LIVES_EXPAND_EXTRA; + textwindow = create_text_window(_("Layout Errors"), NULL, mainw->layout_textbuffer); + widget_opts.expand = LIVES_EXPAND_DEFAULT; dialog_action_area = lives_dialog_get_action_area(LIVES_DIALOG(textwindow->dialog)); if (LIVES_IS_BUTTON_BOX(dialog_action_area)) lives_button_box_set_layout(LIVES_BUTTON_BOX(dialog_action_area), LIVES_BUTTONBOX_SPREAD); vbox = lives_dialog_get_content_area(LIVES_DIALOG(textwindow->dialog)); - add_warn_check(LIVES_BOX(vbox),WARN_MASK_LAYOUT_POPUP); + add_warn_check(LIVES_BOX(vbox), WARN_MASK_LAYOUT_POPUP); - button = lives_button_new_from_stock(LIVES_STOCK_CLOSE,_("_Close Window")); + button = lives_button_new_from_stock(LIVES_STOCK_CLOSE, _("_Close Window")); lives_dialog_add_action_widget(LIVES_DIALOG(textwindow->dialog), button, LIVES_RESPONSE_OK); @@ -8467,7 +8281,7 @@ lives_container_set_border_width(LIVES_CONTAINER(button), widget_opts.border_width); lives_widget_set_can_focus_and_default(button); - textwindow->clear_button = lives_button_new_from_stock(LIVES_STOCK_CLEAR,_("Clear _Errors")); + textwindow->clear_button = lives_button_new_from_stock(LIVES_STOCK_CLEAR, _("Clear _Errors")); lives_dialog_add_action_widget(LIVES_DIALOG(textwindow->dialog), textwindow->clear_button, LIVES_RESPONSE_CANCEL); @@ -8478,7 +8292,7 @@ lives_container_set_border_width(LIVES_CONTAINER(textwindow->clear_button), widget_opts.border_width); lives_widget_set_can_focus_and_default(textwindow->clear_button); - textwindow->delete_button = lives_button_new_from_stock(LIVES_STOCK_DELETE,_("_Delete affected layouts")); + textwindow->delete_button = lives_button_new_from_stock(LIVES_STOCK_DELETE, _("_Delete affected layouts")); lives_dialog_add_action_widget(LIVES_DIALOG(textwindow->dialog), textwindow->delete_button, LIVES_RESPONSE_CANCEL); @@ -8490,41 +8304,39 @@ NULL); lives_widget_show_all(textwindow->dialog); - } - void on_rename_activate(LiVESMenuItem *menuitem, livespointer user_data) { - renamew=create_rename_dialog(1); + renamew = create_rename_dialog(1); lives_widget_show_all(renamew->dialog); } void on_rename_set_name(LiVESButton *button, livespointer user_data) { char title[256]; - boolean bad_header=FALSE; + boolean bad_header = FALSE; - if (user_data==NULL) { - lives_snprintf(title,256,"%s",lives_entry_get_text(LIVES_ENTRY(renamew->entry))); + if (user_data == NULL) { + lives_snprintf(title, 256, "%s", lives_entry_get_text(LIVES_ENTRY(renamew->entry))); lives_widget_destroy(renamew->dialog); lives_free(renamew); - } else lives_snprintf(title,256,"%s",(char *)user_data); + } else lives_snprintf(title, 256, "%s", (char *)user_data); if (!(strlen(title))) return; - set_menu_text(cfile->menuentry,title,FALSE); - lives_snprintf(cfile->name,256,"%s",title); + set_menu_text(cfile->menuentry, title, FALSE); + lives_snprintf(cfile->name, 256, "%s", title); - if (user_data==NULL) { - set_main_title(title,0); + if (user_data == NULL) { + set_main_title(title, 0); } - save_clip_value(mainw->current_file,CLIP_DETAILS_CLIPNAME,cfile->name); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_CLIPNAME, cfile->name); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; if (bad_header) do_header_write_error(mainw->current_file); - cfile->was_renamed=TRUE; + cfile->was_renamed = TRUE; } @@ -8536,33 +8348,32 @@ char *com; #endif - if (menuitem!=NULL&&mainw->toy_type==LIVES_POINTER_TO_INT(user_data)) { + if (menuitem != NULL && mainw->toy_type == LIVES_POINTER_TO_INT(user_data)) { // switch is off - user_data=LIVES_INT_TO_POINTER(LIVES_TOY_NONE); + user_data = LIVES_INT_TO_POINTER(LIVES_TOY_NONE); } switch (mainw->toy_type) { // old status case LIVES_TOY_AUTOLIVES: lives_signal_handler_block(mainw->toy_autolives, mainw->toy_func_autolives); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->toy_autolives),FALSE); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->toy_autolives), FALSE); lives_signal_handler_unblock(mainw->toy_autolives, mainw->toy_func_autolives); - if (mainw->toy_alives_pgid>1) { - lives_killpg(mainw->toy_alives_pgid,LIVES_SIGHUP); + if (mainw->toy_alives_pgid > 1) { + lives_killpg(mainw->toy_alives_pgid, LIVES_SIGHUP); } // switch off rte so as not to cause alarm if (mainw->autolives_reset_fx) - rte_on_off_callback(NULL,NULL,0,(LiVESXModifierType)0,LIVES_INT_TO_POINTER(0)); - mainw->autolives_reset_fx=FALSE; + rte_on_off_callback(NULL, NULL, 0, (LiVESXModifierType)0, LIVES_INT_TO_POINTER(0)); + mainw->autolives_reset_fx = FALSE; break; - case LIVES_TOY_MAD_FRAMES: lives_signal_handler_block(mainw->toy_random_frames, mainw->toy_func_random_frames); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->toy_random_frames),FALSE); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->toy_random_frames), FALSE); lives_signal_handler_unblock(mainw->toy_random_frames, mainw->toy_func_random_frames); - if (mainw->playing_file>-1) { + if (mainw->playing_file > -1) { if (mainw->faded) { lives_widget_hide(mainw->start_image); lives_widget_hide(mainw->end_image); @@ -8573,37 +8384,37 @@ break; case LIVES_TOY_TV: lives_signal_handler_block(mainw->toy_tv, mainw->toy_func_lives_tv); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->toy_tv),FALSE); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->toy_tv), FALSE); lives_signal_handler_unblock(mainw->toy_tv, mainw->toy_func_lives_tv); break; default: lives_signal_handler_block(mainw->toy_none, mainw->toy_func_none); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->toy_none),FALSE); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->toy_none), FALSE); lives_signal_handler_unblock(mainw->toy_none, mainw->toy_func_none); break; } - mainw->toy_type=(lives_toy_t)LIVES_POINTER_TO_INT(user_data); + mainw->toy_type = (lives_toy_t)LIVES_POINTER_TO_INT(user_data); switch (mainw->toy_type) { case LIVES_TOY_NONE: lives_signal_handler_block(mainw->toy_none, mainw->toy_func_none); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->toy_none),TRUE); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->toy_none), TRUE); lives_signal_handler_unblock(mainw->toy_none, mainw->toy_func_none); return; #ifdef ENABLE_OSC case LIVES_TOY_AUTOLIVES: - if (mainw->current_file<1) { + if (mainw->current_file < 1) { do_autolives_needs_clips_error(); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->toy_none),TRUE); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->toy_none), TRUE); return; } - if ((mainw->current_file>-1&&cfile!=NULL&&( - cfile->event_list!=NULL || + if ((mainw->current_file > -1 && cfile != NULL && ( + cfile->event_list != NULL || cfile->opening )) || - mainw->multitrack!=NULL || + mainw->multitrack != NULL || mainw->is_processing || mainw->preview ) { @@ -8616,8 +8427,8 @@ #ifndef IS_MINGW // search for autolives.pl if (!capable->has_autolives) { - get_location("autolives.pl",string,PATH_MAX); - if (strlen(string)) capable->has_autolives=TRUE; + get_location("autolives.pl", string, PATH_MAX); + if (strlen(string)) capable->has_autolives = TRUE; else { do_no_autolives_error(); on_toy_activate(NULL, LIVES_INT_TO_POINTER(LIVES_TOY_NONE)); @@ -8635,7 +8446,7 @@ } // try: start up osc - prefs->osc_udp_started=lives_osc_init(prefs->osc_udp_port); + prefs->osc_udp_started = lives_osc_init(prefs->osc_udp_port); if (!prefs->osc_udp_started) { on_toy_activate(NULL, LIVES_INT_TO_POINTER(LIVES_TOY_NONE)); return; @@ -8643,18 +8454,18 @@ } // TODO *** store full fx state and restore it - if (mainw->rte==EFFECT_NONE) { - mainw->autolives_reset_fx=TRUE; + if (mainw->rte == EFFECT_NONE) { + mainw->autolives_reset_fx = TRUE; } #ifndef IS_MINGW - com=lives_strdup_printf("autolives.pl localhost %d %d >/dev/null 2>&1",prefs->osc_udp_port,prefs->osc_udp_port-1); + com = lives_strdup_printf("autolives.pl localhost %d %d >/dev/null 2>&1", prefs->osc_udp_port, prefs->osc_udp_port - 1); #else - com=lives_strdup_printf("START /MIN /B perl \"%s\\bin\\autolives.pl\" localhost %d %d >NUL 2>&1", - prefs->prefix_dir,prefs->osc_udp_port,prefs->osc_udp_port-1); + com = lives_strdup_printf("START /MIN /B perl \"%s\\bin\\autolives.pl\" localhost %d %d >NUL 2>&1", + prefs->prefix_dir, prefs->osc_udp_port, prefs->osc_udp_port - 1); #endif - mainw->toy_alives_pgid=lives_fork(com); + mainw->toy_alives_pgid = lives_fork(com); lives_free(com); @@ -8664,30 +8475,30 @@ break; case LIVES_TOY_TV: // load in the lives TV clip - deduce_file(LIVES_TV_CHANNEL1,0.,0); + deduce_file(LIVES_TV_CHANNEL1, 0., 0); // if we choose to discard it, discard it....otherwise keep it if (prefs->discard_tv) { close_current_file(0); } else { // keep it - int current_file=mainw->current_file; - char *com=lives_strdup_printf("%s commit_audio \"%s\"",prefs->backend,cfile->handle); - cfile->start=1; + int current_file = mainw->current_file; + char *com = lives_strdup_printf("%s commit_audio \"%s\"", prefs->backend, cfile->handle); + cfile->start = 1; get_frame_count(mainw->current_file); - cfile->end=cfile->frames; - cfile->opening=cfile->opening_loc=cfile->opening_audio=cfile->opening_only_audio=FALSE; - cfile->is_loaded=TRUE; - mainw->com_failed=FALSE; - lives_system(com,FALSE); + cfile->end = cfile->frames; + cfile->opening = cfile->opening_loc = cfile->opening_audio = cfile->opening_only_audio = FALSE; + cfile->is_loaded = TRUE; + mainw->com_failed = FALSE; + lives_system(com, FALSE); save_clip_values(current_file); if (prefs->crash_recovery) add_to_recovery_file(cfile->handle); - switch_to_file((mainw->current_file=0),current_file); + switch_to_file((mainw->current_file = 0), current_file); sensitize(); } break; default: - if (mainw->faded&&!mainw->foreign) { + if (mainw->faded && !mainw->foreign) { lives_widget_show(mainw->start_image); lives_widget_show(mainw->end_image); } @@ -8695,24 +8506,23 @@ } - void on_preview_spinbutton_changed(LiVESSpinButton *spinbutton, livespointer user_data) { // update the play window preview - int preview_frame=lives_spin_button_get_value_as_int(spinbutton); - if ((preview_frame)==mainw->preview_frame) return; - mainw->preview_frame=preview_frame; + int preview_frame = lives_spin_button_get_value_as_int(spinbutton); + if ((preview_frame) == mainw->preview_frame) return; + mainw->preview_frame = preview_frame; load_preview_image(TRUE); } void on_prv_link_toggled(LiVESToggleButton *togglebutton, livespointer user_data) { if (!lives_toggle_button_get_active(togglebutton)) return; - mainw->prv_link=LIVES_POINTER_TO_INT(user_data); - if (mainw->is_processing&&(mainw->prv_link==PRV_START||mainw->prv_link==PRV_END)) { + mainw->prv_link = LIVES_POINTER_TO_INT(user_data); + if (mainw->is_processing && (mainw->prv_link == PRV_START || mainw->prv_link == PRV_END)) { // block spinbutton in play window - lives_widget_set_sensitive(mainw->preview_spinbutton,FALSE); + lives_widget_set_sensitive(mainw->preview_spinbutton, FALSE); } else { - lives_widget_set_sensitive(mainw->preview_spinbutton,TRUE); + lives_widget_set_sensitive(mainw->preview_spinbutton, TRUE); } load_preview_image(FALSE); lives_widget_grab_focus(mainw->preview_spinbutton); @@ -8720,149 +8530,134 @@ void on_spinbutton_start_value_changed(LiVESSpinButton *spinbutton, livespointer user_data) { - int start,ostart=cfile->start; + int start, ostart = cfile->start; - if (mainw->playing_file==-1&&mainw->current_file==0) return; + if (mainw->playing_file == -1 && mainw->current_file == 0) return; - if ((start=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)))==cfile->start) return; - cfile->start=start; + if ((start = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton))) == cfile->start) return; + cfile->start = start; if (mainw->selwidth_locked) { - cfile->end+=cfile->start-ostart; - if (cfile->end>cfile->frames) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start),cfile->start-cfile->end+cfile->frames); + cfile->end += cfile->start - ostart; + if (cfile->end > cfile->frames) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start), cfile->start - cfile->end + cfile->frames); } else { - mainw->selwidth_locked=FALSE; - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end),cfile->end); + mainw->selwidth_locked = FALSE; + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end), cfile->end); load_end_image(cfile->end); - mainw->selwidth_locked=TRUE; + mainw->selwidth_locked = TRUE; } } else { - if ((cfile->start==1||cfile->end==cfile->frames)&&!(cfile->start==1&&cfile->end==cfile->frames)) { - lives_widget_set_sensitive(mainw->select_invert,TRUE); + if ((cfile->start == 1 || cfile->end == cfile->frames) && !(cfile->start == 1 && cfile->end == cfile->frames)) { + lives_widget_set_sensitive(mainw->select_invert, TRUE); } else { - lives_widget_set_sensitive(mainw->select_invert,FALSE); + lives_widget_set_sensitive(mainw->select_invert, FALSE); } } load_start_image(cfile->start); - if (cfile->start>cfile->end) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end),cfile->start); + if (cfile->start > cfile->end) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end), cfile->start); } set_sel_label(mainw->sel_label); get_play_times(); - if (mainw->playing_file==-1&&mainw->play_window!=NULL&&cfile->is_loaded) { - if (mainw->prv_link==PRV_START&&mainw->preview_frame!=cfile->start) + if (mainw->playing_file == -1 && mainw->play_window != NULL && cfile->is_loaded) { + if (mainw->prv_link == PRV_START && mainw->preview_frame != cfile->start) load_preview_image(FALSE); } } - void on_spinbutton_end_value_changed(LiVESSpinButton *spinbutton, livespointer user_data) { - int end,oend=cfile->end; + int end, oend = cfile->end; - if (mainw->playing_file==-1&&mainw->current_file==0) return; + if (mainw->playing_file == -1 && mainw->current_file == 0) return; - - if ((end=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)))==cfile->end) return; - cfile->end=end; + if ((end = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton))) == cfile->end) return; + cfile->end = end; if (mainw->selwidth_locked) { - cfile->start+=cfile->end-oend; - if (cfile->start<1) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end),cfile->end-cfile->start+1); + cfile->start += cfile->end - oend; + if (cfile->start < 1) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end), cfile->end - cfile->start + 1); } else { - mainw->selwidth_locked=FALSE; - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start),cfile->start); + mainw->selwidth_locked = FALSE; + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start), cfile->start); load_start_image(cfile->start); - mainw->selwidth_locked=TRUE; + mainw->selwidth_locked = TRUE; } } else { - if ((cfile->start==1||cfile->end==cfile->frames)&&!(cfile->start==1&&cfile->end==cfile->frames)) { - lives_widget_set_sensitive(mainw->select_invert,TRUE); + if ((cfile->start == 1 || cfile->end == cfile->frames) && !(cfile->start == 1 && cfile->end == cfile->frames)) { + lives_widget_set_sensitive(mainw->select_invert, TRUE); } else { - lives_widget_set_sensitive(mainw->select_invert,FALSE); + lives_widget_set_sensitive(mainw->select_invert, FALSE); } } - load_end_image(cfile->end); - if (cfile->end<cfile->start) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start),cfile->end); + if (cfile->end < cfile->start) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start), cfile->end); } set_sel_label(mainw->sel_label); get_play_times(); - if (mainw->playing_file==-1&&mainw->play_window!=NULL&&cfile->is_loaded) { - if (mainw->prv_link==PRV_END&&mainw->preview_frame!=cfile->end) + if (mainw->playing_file == -1 && mainw->play_window != NULL && cfile->is_loaded) { + if (mainw->prv_link == PRV_END && mainw->preview_frame != cfile->end) load_preview_image(FALSE); } - } // for the timer bars - -#if GTK_CHECK_VERSION(3,0,0) -boolean expose_vid_event(LiVESWidget *widget, lives_painter_t *cr, livespointer user_data) { - LiVESXEventExpose *event=NULL; - boolean dest_cr=FALSE; -#else -boolean expose_vid_event(LiVESWidget *widget, LiVESXEventExpose *event) { - lives_painter_t *cr=lives_painter_create_from_widget(mainw->video_draw); - boolean dest_cr=TRUE; -#endif - - int ex,ey,ew,eh; +EXPOSE_FN_DECL(expose_vid_event, widget) { + int ex, ey, ew, eh; int width; if (mainw->recoverable_layout) return FALSE; if (mainw->draw_blocked) return TRUE; - if (!prefs->show_gui||mainw->multitrack!=NULL|| - (mainw->fs&&(prefs->play_monitor==prefs->gui_monitor|| - prefs->play_monitor==0)&&mainw->playing_file>-1&& - !(mainw->ext_playback&&!(mainw->vpp->capabilities&VPP_LOCAL_DISPLAY)))|| + if (!prefs->show_gui || mainw->multitrack != NULL || + (mainw->fs && (prefs->play_monitor == prefs->gui_monitor || + prefs->play_monitor == 0) && mainw->playing_file > -1 && + !(mainw->ext_playback && !(mainw->vpp->capabilities & VPP_LOCAL_DISPLAY))) || mainw->foreign) { return FALSE; } - - if (event!=NULL) { - if (event->count>0) return TRUE; - ex=event->area.x; - ey=event->area.y; - ew=event->area.width; - eh=event->area.height; - } else { - ex=ey=0; - ew=lives_widget_get_allocation_width(mainw->video_draw); - eh=lives_widget_get_allocation_height(mainw->video_draw); + if (event != NULL) { + if (event->count > 0) return TRUE; + ex = event->area.x; + ey = event->area.y; + ew = event->area.width; + eh = event->area.height; + cairo = lives_painter_create_from_widget(mainw->video_draw); + } else { + ex = ey = 0; + ew = lives_widget_get_allocation_width(mainw->video_draw); + eh = lives_widget_get_allocation_height(mainw->video_draw); } - - if (mainw->video_drawable!=NULL) { + if (mainw->video_drawable != NULL) { // check if a resize happened width = lives_painter_image_surface_get_width(mainw->video_drawable); - if (width!=lives_widget_get_allocation_width(mainw->LiVES)) { + if (width != lives_widget_get_allocation_width(mainw->LiVES)) { lives_painter_surface_destroy(mainw->video_drawable); - mainw->video_drawable=NULL; + mainw->video_drawable = NULL; } } - if (mainw->video_drawable==NULL) { + if (mainw->video_drawable == NULL) { mainw->video_drawable = lives_painter_surface_create_from_widget(mainw->video_draw, LIVES_PAINTER_CONTENT_COLOR, lives_widget_get_allocation_width(mainw->video_draw), @@ -8871,45 +8666,45 @@ block_expose(); get_play_times(); unblock_expose(); - - } - if (mainw->current_file==-1) { - lives_painter_t *cr2=lives_painter_create(mainw->video_drawable); + if (mainw->current_file == -1) { + lives_painter_t *cr2 = lives_painter_create(mainw->video_drawable); - lives_painter_render_background(mainw->video_draw,cr2,0,0, + lives_painter_render_background(mainw->video_draw, cr2, 0, 0, lives_widget_get_allocation_width(mainw->video_draw), lives_widget_get_allocation_height(mainw->video_draw)); lives_painter_destroy(cr2); } - lives_painter_set_source_surface(cr, mainw->video_drawable,0.,0.); - lives_painter_rectangle(cr,ex,ey,ew,eh); - lives_painter_fill(cr); + lives_painter_set_source_surface(cairo, mainw->video_drawable, 0., 0.); + lives_painter_rectangle(cairo, ex, ey, ew, eh); + lives_painter_fill(cairo); - if (dest_cr) lives_painter_destroy(cr); + if (event != NULL) { + lives_painter_destroy(cairo); + } return TRUE; - +} } static void redraw_laudio(lives_painter_t *cr, int ex, int ey, int ew, int eh) { int width; - if (mainw->laudio_drawable!=NULL) { + if (mainw->laudio_drawable != NULL) { // check if a resize happened width = lives_painter_image_surface_get_width(mainw->laudio_drawable); - if (width!=lives_widget_get_allocation_width(mainw->LiVES)) { + if (width != lives_widget_get_allocation_width(mainw->LiVES)) { lives_painter_surface_destroy(mainw->laudio_drawable); - mainw->laudio_drawable=NULL; + mainw->laudio_drawable = NULL; } } - if (mainw->laudio_drawable==NULL) { + if (mainw->laudio_drawable == NULL) { mainw->laudio_drawable = lives_painter_surface_create_from_widget(mainw->laudio_draw, LIVES_PAINTER_CONTENT_COLOR, lives_widget_get_allocation_width(mainw->laudio_draw), @@ -8919,388 +8714,347 @@ get_play_times(); unblock_expose(); - if (1||mainw->current_file==-1) mainw->blank_laudio_drawable=mainw->laudio_drawable; - else cfile->laudio_drawable=mainw->laudio_drawable; - + if (1 || mainw->current_file == -1) mainw->blank_laudio_drawable = mainw->laudio_drawable; + else cfile->laudio_drawable = mainw->laudio_drawable; } + if (mainw->current_file == -1) { + lives_painter_t *cr = lives_painter_create(mainw->laudio_drawable); - if (mainw->current_file==-1) { - lives_painter_t *cr=lives_painter_create(mainw->laudio_drawable); - - lives_painter_render_background(mainw->laudio_draw,cr,0,0, + lives_painter_render_background(mainw->laudio_draw, cr, 0, 0, lives_widget_get_allocation_width(mainw->video_draw), lives_widget_get_allocation_height(mainw->video_draw)); lives_painter_destroy(cr); } - lives_painter_set_source_surface(cr, mainw->laudio_drawable,0.,0.); - lives_painter_rectangle(cr,ex,ey,ew,eh); + lives_painter_set_source_surface(cr, mainw->laudio_drawable, 0., 0.); + lives_painter_rectangle(cr, ex, ey, ew, eh); lives_painter_fill(cr); - - } - - static void redraw_raudio(lives_painter_t *cr, int ex, int ey, int ew, int eh) { - int width; - if (mainw->raudio_drawable!=NULL) { + if (mainw->raudio_drawable != NULL) { // check if a resize happened width = lives_painter_image_surface_get_width(mainw->raudio_drawable); - if (width!=lives_widget_get_allocation_width(mainw->LiVES)) { + if (width != lives_widget_get_allocation_width(mainw->LiVES)) { lives_painter_surface_destroy(mainw->raudio_drawable); - mainw->raudio_drawable=NULL; + mainw->raudio_drawable = NULL; } } - if (mainw->raudio_drawable==NULL) { + if (mainw->raudio_drawable == NULL) { mainw->raudio_drawable = lives_painter_surface_create_from_widget(mainw->raudio_draw, LIVES_PAINTER_CONTENT_COLOR, lives_widget_get_allocation_width(mainw->raudio_draw), lives_widget_get_allocation_height(mainw->raudio_draw)); - block_expose(); get_play_times(); unblock_expose(); } - if (mainw->current_file==-1) { - lives_painter_t *cr=lives_painter_create(mainw->raudio_drawable); - lives_painter_render_background(mainw->raudio_draw,cr,0,0, + if (mainw->current_file == -1) { + lives_painter_t *cr = lives_painter_create(mainw->raudio_drawable); + lives_painter_render_background(mainw->raudio_draw, cr, 0, 0, lives_widget_get_allocation_width(mainw->video_draw), lives_widget_get_allocation_height(mainw->video_draw)); lives_painter_destroy(cr); - } + if (1 || mainw->current_file == -1) mainw->blank_raudio_drawable = mainw->raudio_drawable; + else cfile->raudio_drawable = mainw->raudio_drawable; - - if (1||mainw->current_file==-1) mainw->blank_raudio_drawable=mainw->raudio_drawable; - else cfile->raudio_drawable=mainw->raudio_drawable; - - lives_painter_set_source_surface(cr, mainw->raudio_drawable,0.,0.); - lives_painter_rectangle(cr,ex,ey,ew,eh); + lives_painter_set_source_surface(cr, mainw->raudio_drawable, 0., 0.); + lives_painter_rectangle(cr, ex, ey, ew, eh); lives_painter_fill(cr); - } - - - -#if GTK_CHECK_VERSION(3,0,0) -boolean expose_laud_event(LiVESWidget *widget, lives_painter_t *cr, livespointer user_data) { - LiVESXEventExpose *event=NULL; - boolean need_cr=TRUE; -#else -boolean expose_laud_event(LiVESWidget *widget, LiVESXEventExpose *event) { - lives_painter_t *cr; - boolean need_cr=TRUE; -#endif - int ex,ey,ew,eh; +EXPOSE_FN_DECL(expose_laud_event, widget) { + int ex, ey, ew, eh; if (mainw->recoverable_layout) return FALSE; if (mainw->draw_blocked) return TRUE; - if (!prefs->show_gui||mainw->multitrack!=NULL|| - (mainw->fs&&(prefs->play_monitor==prefs->gui_monitor|| - prefs->play_monitor==0)&&mainw->playing_file>-1&& - !(mainw->ext_playback&&!(mainw->vpp->capabilities&VPP_LOCAL_DISPLAY)))|| + if (!prefs->show_gui || mainw->multitrack != NULL || + (mainw->fs && (prefs->play_monitor == prefs->gui_monitor || + prefs->play_monitor == 0) && mainw->playing_file > -1 && + !(mainw->ext_playback && !(mainw->vpp->capabilities & VPP_LOCAL_DISPLAY))) || mainw->foreign) { return FALSE; } - if ((event!=NULL&&event->count>0)) return TRUE; + if ((event != NULL && event->count > 0)) return TRUE; - if (event!=NULL) { - ex=event->area.x; - ey=event->area.y; - ew=event->area.width; - eh=event->area.height; + if (event != NULL) { + ex = event->area.x; + ey = event->area.y; + ew = event->area.width; + eh = event->area.height; + cairo = lives_painter_create_from_widget(mainw->laudio_draw); } else { - ex=ey=0; - ew=lives_widget_get_allocation_width(mainw->laudio_draw); - eh=lives_widget_get_allocation_height(mainw->laudio_draw); + ex = ey = 0; + ew = lives_widget_get_allocation_width(mainw->laudio_draw); + eh = lives_widget_get_allocation_height(mainw->laudio_draw); } - if (need_cr) cr=lives_painter_create_from_widget(mainw->laudio_draw); + redraw_laudio(cairo, ex, ey, ew, eh); - redraw_laudio(cr,ex,ey,ew,eh); - - if (need_cr) lives_painter_destroy(cr); + if (event != NULL) lives_painter_destroy(cairo); return TRUE; - +} } - -#if GTK_CHECK_VERSION(3,0,0) -boolean expose_raud_event(LiVESWidget *widget, lives_painter_t *cr, livespointer user_data) { - LiVESXEventExpose *event=NULL; - boolean need_cr=FALSE; -#else -boolean expose_raud_event(LiVESWidget *widget, LiVESXEventExpose *event) { - lives_painter_t *cr; - boolean need_cr=TRUE; -#endif - int ex,ey,ew,eh; +EXPOSE_FN_DECL(expose_raud_event, widget) { + int ex, ey, ew, eh; if (mainw->recoverable_layout) return FALSE; if (mainw->draw_blocked) return TRUE; - if (!prefs->show_gui||mainw->multitrack!=NULL|| - (mainw->fs&&(prefs->play_monitor==prefs->gui_monitor|| - prefs->play_monitor==0)&&mainw->playing_file>-1&& - !(mainw->ext_playback&&!(mainw->vpp->capabilities&VPP_LOCAL_DISPLAY)))|| + if (!prefs->show_gui || mainw->multitrack != NULL || + (mainw->fs && (prefs->play_monitor == prefs->gui_monitor || + prefs->play_monitor == 0) && mainw->playing_file > -1 && + !(mainw->ext_playback && !(mainw->vpp->capabilities & VPP_LOCAL_DISPLAY))) || mainw->foreign) { return FALSE; } - if ((event!=NULL&&event->count>0)) return TRUE; - - if (event!=NULL) { - ex=event->area.x; - ey=event->area.y; - ew=event->area.width; - eh=event->area.height; - } else { - ex=ey=0; - ew=lives_widget_get_allocation_width(mainw->raudio_draw); - eh=lives_widget_get_allocation_height(mainw->raudio_draw); + if (event != NULL) { + if (event->count > 0) return TRUE; + ex = event->area.x; + ey = event->area.y; + ew = event->area.width; + eh = event->area.height; + cairo = lives_painter_create_from_widget(mainw->raudio_draw); + } else { + ex = ey = 0; + ew = lives_widget_get_allocation_width(mainw->raudio_draw); + eh = lives_widget_get_allocation_height(mainw->raudio_draw); } - if (need_cr) cr=lives_painter_create_from_widget(mainw->raudio_draw); - - redraw_raudio(cr,ex,ey,ew,eh); + redraw_raudio(cairo, ex, ey, ew, eh); - if (need_cr) lives_painter_destroy(cr); + if (event != NULL) lives_painter_destroy(cairo); return TRUE; - } - +} boolean config_event(LiVESWidget *widget, LiVESXEventConfigure *event, livespointer user_data) { - int scr_width=mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].width; - int scr_height=mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].height; + int scr_width = mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].width; + int scr_height = mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].height; if (mainw->is_ready) { - if (scr_width!=mainw->scr_width||scr_height!=mainw->scr_height) { - mainw->scr_width=scr_width; - mainw->scr_height=scr_height; + if (scr_width != mainw->scr_width || scr_height != mainw->scr_height) { + mainw->scr_width = scr_width; + mainw->scr_height = scr_height; resize_widgets_for_monitor(FALSE); } - if (mainw->current_file>-1&&!mainw->recoverable_layout) { + if (mainw->current_file > -1 && !mainw->recoverable_layout) { get_play_times(); } } if (!mainw->is_ready) { - mainw->scr_width=scr_width; - mainw->scr_height=scr_height; + mainw->scr_width = scr_width; + mainw->scr_height = scr_height; - if (prefs->startup_interface==STARTUP_CE) { + if (prefs->startup_interface == STARTUP_CE) { #ifdef ENABLE_JACK - if (mainw->jackd!=NULL) { + if (mainw->jackd != NULL) { jack_driver_activate(mainw->jackd); } #endif #ifdef HAVE_PULSE_AUDIO - if (mainw->pulsed!=NULL) { + if (mainw->pulsed != NULL) { pulse_driver_activate(mainw->pulsed); } #endif } - mainw->is_ready=TRUE; - if (palette->style&STYLE_1) widget_opts.apply_theme=TRUE; - resize(1); + mainw->is_ready = TRUE; + if (palette->style & STYLE_1) widget_opts.apply_theme = TRUE; + if (!mainw->foreign) resize(1); } return FALSE; } - // these two really belong with the processing widget - - void on_effects_paused(LiVESButton *button, livespointer user_data) { - char *com=NULL; + char *com = NULL; int64_t xticks; - if (mainw->iochan!=NULL||cfile->opening) { + if (mainw->iochan != NULL || cfile->opening) { // pause during encoding (if we start using mainw->iochan for other things, this will // need changing...) if (!mainw->effects_paused) { - lives_suspend_resume_process(cfile->handle,TRUE); + lives_suspend_resume_process(cfile->handle, TRUE); if (!cfile->opening) { - lives_button_set_label(LIVES_BUTTON(button),_("Resume")); - lives_label_set_text(LIVES_LABEL(cfile->proc_ptr->label2),_("\nPaused\n(click Resume to continue processing)")); + lives_button_set_label(LIVES_BUTTON(button), _("Resume")); + lives_label_set_text(LIVES_LABEL(cfile->proc_ptr->label2), _("\nPaused\n(click Resume to continue processing)")); d_print(_("paused...")); } } else { - lives_suspend_resume_process(cfile->handle,FALSE); + lives_suspend_resume_process(cfile->handle, FALSE); if (!cfile->opening) { - lives_button_set_label(LIVES_BUTTON(button),_("Paus_e")); - lives_label_set_text(LIVES_LABEL(cfile->proc_ptr->label2),_("\nPlease Wait")); + lives_button_set_label(LIVES_BUTTON(button), _("Paus_e")); + lives_label_set_text(LIVES_LABEL(cfile->proc_ptr->label2), _("\nPlease Wait")); d_print(_("resumed...")); } } } - if (mainw->iochan==NULL) { + if (mainw->iochan == NULL) { // pause during effects processing or opening #ifdef USE_MONOTONIC_TIME - xticks=(lives_get_monotonic_time()-mainw->origusecs)*U_SEC_RATIO; + xticks = (lives_get_monotonic_time() - mainw->origusecs) * U_SEC_RATIO; #else gettimeofday(&tv, NULL); - xticks=U_SECL*(tv.tv_sec-mainw->origsecs)+tv.tv_usec*U_SEC_RATIO-mainw->origusecs*U_SEC_RATIO; + xticks = U_SECL * (tv.tv_sec - mainw->origsecs) + tv.tv_usec * U_SEC_RATIO - mainw->origusecs * U_SEC_RATIO; #endif if (!mainw->effects_paused) { - mainw->timeout_ticks-=xticks; - com=lives_strdup_printf("%s pause \"%s\"",prefs->backend_sync,cfile->handle); + mainw->timeout_ticks -= xticks; + com = lives_strdup_printf("%s pause \"%s\"", prefs->backend_sync, cfile->handle); if (!mainw->preview) { - lives_button_set_label(LIVES_BUTTON(button),_("Resume")); + lives_button_set_label(LIVES_BUTTON(button), _("Resume")); if (!cfile->nokeep) { - char *tmp,*ltext; + char *tmp, *ltext; if (!cfile->opening) { - ltext=lives_strdup(_("Keep")); + ltext = lives_strdup(_("Keep")); } else { - ltext=lives_strdup(_("Enough")); + ltext = lives_strdup(_("Enough")); } - lives_button_set_label(LIVES_BUTTON(cfile->proc_ptr->cancel_button),ltext); + lives_button_set_label(LIVES_BUTTON(cfile->proc_ptr->cancel_button), ltext); lives_label_set_text(LIVES_LABEL(cfile->proc_ptr->label2), - (tmp=lives_strdup_printf - (_("\nPaused\n(click %s to keep what you have and stop)\n(click Resume to continue processing)"), - ltext))); + (tmp = lives_strdup_printf + (_("\nPaused\n(click %s to keep what you have and stop)\n(click Resume to continue processing)"), + ltext))); lives_free(tmp); lives_free(ltext); } d_print(_("paused...")); } #ifdef ENABLE_JACK - if (mainw->jackd!=NULL&&mainw->jackd_read!=NULL&&mainw->jackd_read->in_use) + if (mainw->jackd != NULL && mainw->jackd_read != NULL && mainw->jackd_read->in_use) lives_widget_hide(cfile->proc_ptr->stop_button); #endif #ifdef HAVE_PULSE_AUDIO - if (mainw->pulsed!=NULL&&mainw->pulsed_read!=NULL&&mainw->pulsed_read->in_use) + if (mainw->pulsed != NULL && mainw->pulsed_read != NULL && mainw->pulsed_read->in_use) lives_widget_hide(cfile->proc_ptr->stop_button); #endif } else { - mainw->timeout_ticks+=xticks; - com=lives_strdup_printf("%s resume \"%s\"",prefs->backend_sync,cfile->handle); + mainw->timeout_ticks += xticks; + com = lives_strdup_printf("%s resume \"%s\"", prefs->backend_sync, cfile->handle); if (!mainw->preview) { - if (cfile->opening||!cfile->nokeep) lives_button_set_label(LIVES_BUTTON(button),_("Pause/_Enough")); - else lives_button_set_label(LIVES_BUTTON(button),_("Paus_e")); + if (cfile->opening || !cfile->nokeep) lives_button_set_label(LIVES_BUTTON(button), _("Pause/_Enough")); + else lives_button_set_label(LIVES_BUTTON(button), _("Paus_e")); lives_button_set_label(LIVES_BUTTON(cfile->proc_ptr->cancel_button), _("Cancel")); - lives_label_set_text(LIVES_LABEL(cfile->proc_ptr->label2),_("\nPlease Wait")); + lives_label_set_text(LIVES_LABEL(cfile->proc_ptr->label2), _("\nPlease Wait")); d_print(_("resumed...")); } #ifdef ENABLE_JACK - if (mainw->jackd!=NULL&&mainw->jackd_read!=NULL&&mainw->jackd_read->in_use) + if (mainw->jackd != NULL && mainw->jackd_read != NULL && mainw->jackd_read->in_use) lives_widget_show(cfile->proc_ptr->stop_button); #endif #ifdef HAVE_PULSE_AUDIO - if (mainw->pulsed!=NULL&&mainw->pulsed_read!=NULL&&mainw->pulsed_read->in_use) + if (mainw->pulsed != NULL && mainw->pulsed_read != NULL && mainw->pulsed_read->in_use) lives_widget_show(cfile->proc_ptr->stop_button); #endif } - if (!cfile->opening&&!mainw->internal_messaging + if (!cfile->opening && !mainw->internal_messaging && !( #ifdef ENABLE_JACK - (mainw->jackd!=NULL&&mainw->jackd_read!=NULL&&mainw->jackd_read->in_use) + (mainw->jackd != NULL && mainw->jackd_read != NULL && mainw->jackd_read->in_use) #else 0 #endif || #ifdef HAVE_PULSE_AUDIO - (mainw->pulsed!=NULL&&mainw->pulsed_read!=NULL&&mainw->pulsed->in_use) + (mainw->pulsed != NULL && mainw->pulsed_read != NULL && mainw->pulsed->in_use) #else 0 #endif )) { - lives_system(com,FALSE); + lives_system(com, FALSE); } } lives_freep((void **)&com); - mainw->effects_paused=!mainw->effects_paused; - + mainw->effects_paused = !mainw->effects_paused; } - void on_preview_clicked(LiVESButton *button, livespointer user_data) { // play an effect/tool preview // IMPORTANT: cfile->undo_start and cfile->undo_end determine which frames // should be played - weed_plant_t *filter_map=mainw->filter_map; // back this up in case we are rendering - weed_plant_t *afilter_map=mainw->afilter_map; // back this up in case we are rendering - weed_plant_t *audio_event=mainw->audio_event; + weed_plant_t *filter_map = mainw->filter_map; // back this up in case we are rendering + weed_plant_t *afilter_map = mainw->afilter_map; // back this up in case we are rendering + weed_plant_t *audio_event = mainw->audio_event; - short oaudp=prefs->audio_player; + short oaudp = prefs->audio_player; uint64_t old_rte; //TODO - block better int64_t xticks; - static boolean in_preview_func=FALSE; + static boolean in_preview_func = FALSE; boolean resume_after; - boolean ointernal_messaging=mainw->internal_messaging; + boolean ointernal_messaging = mainw->internal_messaging; - int ostart=cfile->start; - int oend=cfile->end; + int ostart = cfile->start; + int oend = cfile->end; - int toy_type=mainw->toy_type; + int toy_type = mainw->toy_type; - int current_file=mainw->current_file; + int current_file = mainw->current_file; if (in_preview_func) { // this is a special value of cancel - don't propogate it to "open" - mainw->cancelled=CANCEL_NO_PROPOGATE; + mainw->cancelled = CANCEL_NO_PROPOGATE; return; } - in_preview_func=TRUE; + in_preview_func = TRUE; - mainw->preview=TRUE; - old_rte=mainw->rte; + mainw->preview = TRUE; + old_rte = mainw->rte; #ifdef USE_MONOTONIC_TIME - xticks=(lives_get_monotonic_time()-mainw->origusecs)*U_SEC_RATIO; + xticks = (lives_get_monotonic_time() - mainw->origusecs) * U_SEC_RATIO; #else gettimeofday(&tv, NULL); - xticks=U_SECL*(tv.tv_sec-mainw->origsecs)+tv.tv_usec*U_SEC_RATIO-mainw->origusecs*U_SEC_RATIO; + xticks = U_SECL * (tv.tv_sec - mainw->origsecs) + tv.tv_usec * U_SEC_RATIO - mainw->origusecs * U_SEC_RATIO; #endif - mainw->timeout_ticks-=xticks; + mainw->timeout_ticks -= xticks; if (mainw->internal_messaging) { - mainw->internal_messaging=FALSE; + mainw->internal_messaging = FALSE; // for realtime fx previews, we will switch all effects off and restore old // value after - mainw->rte=EFFECT_NONE; + mainw->rte = EFFECT_NONE; } - if (mainw->playing_file==-1) { + if (mainw->playing_file == -1) { if (cfile->opening) { // set vid player to int, and audio player to sox @@ -9308,74 +9062,74 @@ switch_aud_to_sox(FALSE); }*/ if (!cfile->opening_only_audio) { - mainw->toy_type=LIVES_TOY_NONE; - lives_widget_set_sensitive(mainw->toys,FALSE); + mainw->toy_type = LIVES_TOY_NONE; + lives_widget_set_sensitive(mainw->toys, FALSE); } - if (mainw->multitrack==NULL&&prefs->show_gui) lives_widget_show(mainw->LiVES); + if (mainw->multitrack == NULL && prefs->show_gui) lives_widget_show(mainw->LiVES); - if (mainw->multitrack==NULL&&!cfile->is_loaded) { - if (mainw->play_window!=NULL) { - cfile->is_loaded=TRUE; + if (mainw->multitrack == NULL && !cfile->is_loaded) { + if (mainw->play_window != NULL) { + cfile->is_loaded = TRUE; resize_play_window(); - cfile->is_loaded=FALSE; + cfile->is_loaded = FALSE; } } } - resume_after=FALSE; + resume_after = FALSE; - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_prepare_for_playback(mainw->multitrack); if (cfile->opening) { - lives_widget_set_sensitive(mainw->multitrack->playall,FALSE); + lives_widget_set_sensitive(mainw->multitrack->playall, FALSE); lives_widget_set_sensitive(mainw->m_playbutton, FALSE); } } - if (user_data!=NULL) { + if (user_data != NULL) { // called from multitrack - if (mainw->play_window!=NULL) { + if (mainw->play_window != NULL) { resize_play_window(); } - if (mainw->multitrack!=NULL&&mainw->multitrack->is_rendering) { - mainw->play_start=1; - mainw->play_end=cfile->frames; + if (mainw->multitrack != NULL && mainw->multitrack->is_rendering) { + mainw->play_start = 1; + mainw->play_end = cfile->frames; } else { - mainw->play_start=1; - mainw->play_end=INT_MAX; + mainw->play_start = 1; + mainw->play_end = INT_MAX; } } else { - if (!mainw->is_processing&&!mainw->is_rendering) { - mainw->play_start=cfile->start=cfile->undo_start; - mainw->play_end=cfile->end=cfile->undo_end; + if (!mainw->is_processing && !mainw->is_rendering) { + mainw->play_start = cfile->start = cfile->undo_start; + mainw->play_end = cfile->end = cfile->undo_end; } else { - mainw->play_start=calc_frame_from_time(mainw->current_file,event_list_get_start_secs(cfile->event_list)); - mainw->play_end=INT_MAX; + mainw->play_start = calc_frame_from_time(mainw->current_file, event_list_get_start_secs(cfile->event_list)); + mainw->play_end = INT_MAX; } } // stop effects processing (if preferred) if (prefs->pause_effect_during_preview) { if (!(mainw->effects_paused)) { - on_effects_paused(LIVES_BUTTON(cfile->proc_ptr->pause_button),NULL); - resume_after=TRUE; + on_effects_paused(LIVES_BUTTON(cfile->proc_ptr->pause_button), NULL); + resume_after = TRUE; } } - if (button!=NULL) lives_button_set_label(LIVES_BUTTON(button),_("Stop")); - if (cfile->proc_ptr!=NULL) { - lives_widget_set_sensitive(cfile->proc_ptr->pause_button,FALSE); - lives_widget_set_sensitive(cfile->proc_ptr->cancel_button,FALSE); + if (button != NULL) lives_button_set_label(LIVES_BUTTON(button), _("Stop")); + if (cfile->proc_ptr != NULL) { + lives_widget_set_sensitive(cfile->proc_ptr->pause_button, FALSE); + lives_widget_set_sensitive(cfile->proc_ptr->cancel_button, FALSE); } if (!cfile->opening) { - lives_widget_set_sensitive(mainw->showfct,FALSE); + lives_widget_set_sensitive(mainw->showfct, FALSE); } desensitize(); - if (cfile->opening||cfile->opening_only_audio) { + if (cfile->opening || cfile->opening_only_audio) { lives_widget_hide(cfile->proc_ptr->processing); - if (mainw->multitrack==NULL&&!cfile->opening_audio) { + if (mainw->multitrack == NULL && !cfile->opening_audio) { load_start_image(0); load_end_image(0); } @@ -9387,84 +9141,84 @@ lives_sync(); lives_sync(); } - current_file=mainw->current_file; + current_file = mainw->current_file; resize(1); // play the clip - on_playsel_activate(NULL,NULL); + on_playsel_activate(NULL, NULL); - if (current_file!=mainw->current_file) { - if (cfile->proc_ptr!=NULL) { - mainw->files[current_file]->proc_ptr=cfile->proc_ptr; - cfile->proc_ptr=NULL; + if (current_file != mainw->current_file) { + if (cfile->proc_ptr != NULL) { + mainw->files[current_file]->proc_ptr = cfile->proc_ptr; + cfile->proc_ptr = NULL; } if (mainw->is_rendering) { - mainw->files[current_file]->next_event=cfile->next_event; - cfile->next_event=NULL; - mainw->current_file=current_file; - } else switch_to_file((mainw->current_file=0),current_file); + mainw->files[current_file]->next_event = cfile->next_event; + cfile->next_event = NULL; + mainw->current_file = current_file; + } else switch_to_file((mainw->current_file = 0), current_file); } // restart effects processing (if necessary) - if (resume_after) on_effects_paused(LIVES_BUTTON(cfile->proc_ptr->pause_button),NULL); + if (resume_after) on_effects_paused(LIVES_BUTTON(cfile->proc_ptr->pause_button), NULL); // user_data is non-NULL if called from multitrack. We want to preserve the value of cancelled. - if (user_data==NULL) mainw->cancelled=CANCEL_NONE; + if (user_data == NULL) mainw->cancelled = CANCEL_NONE; - if (oaudp==AUD_PLAYER_MPLAYER&&prefs->audio_player!=oaudp) { + if (oaudp == AUD_PLAYER_MPLAYER && prefs->audio_player != oaudp) { switch_aud_to_mplayer(FALSE); } - if (oaudp==AUD_PLAYER_MPLAYER2&&prefs->audio_player!=oaudp) { + if (oaudp == AUD_PLAYER_MPLAYER2 && prefs->audio_player != oaudp) { switch_aud_to_mplayer2(FALSE); } - cfile->start=ostart; - cfile->end=oend; + cfile->start = ostart; + cfile->end = oend; - mainw->toy_type=(lives_toy_t)toy_type; - lives_widget_set_sensitive(mainw->toys,TRUE); + mainw->toy_type = (lives_toy_t)toy_type; + lives_widget_set_sensitive(mainw->toys, TRUE); - if (cfile->proc_ptr!=NULL) { + if (cfile->proc_ptr != NULL) { // proc_ptr can be NULL if we finished loading with a bg generator running lives_widget_show(cfile->proc_ptr->processing); - lives_button_set_label(LIVES_BUTTON(button),_("Preview")); - lives_widget_set_sensitive(cfile->proc_ptr->pause_button,TRUE); - lives_widget_set_sensitive(cfile->proc_ptr->cancel_button,TRUE); + lives_button_set_label(LIVES_BUTTON(button), _("Preview")); + lives_widget_set_sensitive(cfile->proc_ptr->pause_button, TRUE); + lives_widget_set_sensitive(cfile->proc_ptr->cancel_button, TRUE); } - mainw->preview=FALSE; + mainw->preview = FALSE; desensitize(); procw_desensitize(); if (!cfile->opening) { - lives_widget_set_sensitive(mainw->showfct,TRUE); + lives_widget_set_sensitive(mainw->showfct, TRUE); } else { /* for (i=1;i<MAX_FILES;i++) { if (mainw->files[i]!=NULL) { if (mainw->files[i]->menuentry!=NULL) { lives_widget_set_sensitive (mainw->files[i]->menuentry, TRUE); }}}*/ - if (mainw->play_window!=NULL) { + if (mainw->play_window != NULL) { resize_play_window(); } } } - if (mainw->preview_box!=NULL) lives_widget_set_tooltip_text(mainw->p_playbutton, _("Preview")); - lives_widget_set_tooltip_text(mainw->m_playbutton,_("Preview")); + if (mainw->preview_box != NULL) lives_widget_set_tooltip_text(mainw->p_playbutton, _("Preview")); + lives_widget_set_tooltip_text(mainw->m_playbutton, _("Preview")); // redraw our bars for the clip if (!mainw->merge) { get_play_times(); } if (ointernal_messaging) { - mainw->internal_messaging=TRUE; + mainw->internal_messaging = TRUE; // switch realtime fx back on - mainw->rte=old_rte; + mainw->rte = old_rte; } - if (mainw->play_window!=NULL&&mainw->fs) { + if (mainw->play_window != NULL && mainw->fs) { // this prevents a hang when the separate window is visible // it may be the first time we have shown it block_expose(); @@ -9473,142 +9227,137 @@ lives_widget_queue_draw(mainw->LiVES); } #ifdef USE_MONOTONIC_TIME - xticks=(lives_get_monotonic_time()-mainw->origusecs)*U_SEC_RATIO; + xticks = (lives_get_monotonic_time() - mainw->origusecs) * U_SEC_RATIO; #else gettimeofday(&tv, NULL); - xticks=U_SECL*(tv.tv_sec-mainw->origsecs)+tv.tv_usec*U_SEC_RATIO-mainw->origusecs*U_SEC_RATIO; + xticks = U_SECL * (tv.tv_sec - mainw->origsecs) + tv.tv_usec * U_SEC_RATIO - mainw->origusecs * U_SEC_RATIO; #endif - mainw->timeout_ticks+=xticks; - mainw->filter_map=filter_map; - mainw->afilter_map=afilter_map; - mainw->audio_event=audio_event; - - if (mainw->multitrack!=NULL) { - current_file=mainw->current_file; - mainw->current_file=mainw->multitrack->render_file; + mainw->timeout_ticks += xticks; + mainw->filter_map = filter_map; + mainw->afilter_map = afilter_map; + mainw->audio_event = audio_event; + + if (mainw->multitrack != NULL) { + current_file = mainw->current_file; + mainw->current_file = mainw->multitrack->render_file; mt_post_playback(mainw->multitrack); - mainw->current_file=current_file; + mainw->current_file = current_file; } - in_preview_func=FALSE; - + in_preview_func = FALSE; } void changed_fps_during_pb(LiVESSpinButton *spinbutton, livespointer user_data) { - double new_fps=(double)((int)(lives_spin_button_get_value(LIVES_SPIN_BUTTON(spinbutton))*1000)/1000.); + double new_fps = (double)((int)(lives_spin_button_get_value(LIVES_SPIN_BUTTON(spinbutton)) * 1000) / 1000.); - if ((!cfile->play_paused&&cfile->pb_fps==new_fps)||(cfile->play_paused&&new_fps==0.)) { - mainw->period=U_SEC/cfile->pb_fps; + if ((!cfile->play_paused && cfile->pb_fps == new_fps) || (cfile->play_paused && new_fps == 0.)) { + mainw->period = U_SEC / cfile->pb_fps; return; } - cfile->pb_fps=new_fps; + cfile->pb_fps = new_fps; - mainw->period=U_SEC/cfile->pb_fps; + mainw->period = U_SEC / cfile->pb_fps; - if (prefs->audio_opts&AUDIO_OPTS_FOLLOW_FPS) { + if (prefs->audio_opts & AUDIO_OPTS_FOLLOW_FPS) { #ifdef ENABLE_JACK - if (prefs->audio_player==AUD_PLAYER_JACK&&mainw->jackd!=NULL&&mainw->jackd->playing_file==mainw->current_file&& - !(mainw->record&&!mainw->record_paused&&prefs->audio_src==AUDIO_SRC_EXT)) { + if (prefs->audio_player == AUD_PLAYER_JACK && mainw->jackd != NULL && mainw->jackd->playing_file == mainw->current_file && + !(mainw->record && !mainw->record_paused && prefs->audio_src == AUDIO_SRC_EXT)) { - mainw->jackd->sample_in_rate=cfile->arate*cfile->pb_fps/cfile->fps; - if (mainw->agen_key==0&&!mainw->agen_needs_reinit&&!has_audio_filters(AF_TYPE_NONA)) { - mainw->rec_aclip=mainw->current_file; - mainw->rec_avel=cfile->pb_fps/cfile->fps; - mainw->rec_aseek=(double)mainw->jackd->seek_pos/(double)(cfile->arate*cfile->achans*cfile->asampsize/8); + mainw->jackd->sample_in_rate = cfile->arate * cfile->pb_fps / cfile->fps; + if (mainw->agen_key == 0 && !mainw->agen_needs_reinit && !has_audio_filters(AF_TYPE_NONA)) { + mainw->rec_aclip = mainw->current_file; + mainw->rec_avel = cfile->pb_fps / cfile->fps; + mainw->rec_aseek = (double)mainw->jackd->seek_pos / (double)(cfile->arate * cfile->achans * cfile->asampsize / 8); } } #endif #ifdef HAVE_PULSE_AUDIO - if (prefs->audio_player==AUD_PLAYER_PULSE&&mainw->pulsed!=NULL&&mainw->pulsed->playing_file==mainw->current_file&& - !(mainw->record&&!mainw->record_paused&&prefs->audio_src==AUDIO_SRC_EXT)) { + if (prefs->audio_player == AUD_PLAYER_PULSE && mainw->pulsed != NULL && mainw->pulsed->playing_file == mainw->current_file && + !(mainw->record && !mainw->record_paused && prefs->audio_src == AUDIO_SRC_EXT)) { - mainw->pulsed->in_arate=cfile->arate*cfile->pb_fps/cfile->fps; - if (mainw->agen_key==0&&!mainw->agen_needs_reinit&&!has_audio_filters(AF_TYPE_NONA)) { - mainw->rec_aclip=mainw->current_file; - mainw->rec_avel=cfile->pb_fps/cfile->fps; - mainw->rec_aseek=(double)mainw->pulsed->seek_pos/(double)(cfile->arate*cfile->achans*cfile->asampsize/8); + mainw->pulsed->in_arate = cfile->arate * cfile->pb_fps / cfile->fps; + if (mainw->agen_key == 0 && !mainw->agen_needs_reinit && !has_audio_filters(AF_TYPE_NONA)) { + mainw->rec_aclip = mainw->current_file; + mainw->rec_avel = cfile->pb_fps / cfile->fps; + mainw->rec_aseek = (double)mainw->pulsed->seek_pos / (double)(cfile->arate * cfile->achans * cfile->asampsize / 8); } } #endif } if (cfile->play_paused) { - cfile->freeze_fps=new_fps; - freeze_callback(NULL,NULL,0,(LiVESXModifierType)0,NULL); + cfile->freeze_fps = new_fps; + freeze_callback(NULL, NULL, 0, (LiVESXModifierType)0, NULL); return; } - if (cfile->pb_fps==0.) { - freeze_callback(NULL,NULL,0,(LiVESXModifierType)0,NULL); + if (cfile->pb_fps == 0.) { + freeze_callback(NULL, NULL, 0, (LiVESXModifierType)0, NULL); return; } - } boolean on_mouse_scroll(LiVESWidget *widget, LiVESXEventScroll *event, livespointer user_data) { LiVESXModifierType kstate; - uint32_t type=1; + uint32_t type = 1; if (!mainw->interactive) return FALSE; - if (!prefs->mouse_scroll_clips||mainw->noswitch) return FALSE; + if (!prefs->mouse_scroll_clips || mainw->noswitch) return FALSE; - if (mainw->multitrack!=NULL) { - if (event->direction==LIVES_SCROLL_UP) mt_prevclip(NULL,NULL,0,(LiVESXModifierType)0,user_data); - else if (event->direction==LIVES_SCROLL_DOWN) mt_nextclip(NULL,NULL,0,(LiVESXModifierType)0,user_data); + if (mainw->multitrack != NULL) { + if (event->direction == LIVES_SCROLL_UP) mt_prevclip(NULL, NULL, 0, (LiVESXModifierType)0, user_data); + else if (event->direction == LIVES_SCROLL_DOWN) mt_nextclip(NULL, NULL, 0, (LiVESXModifierType)0, user_data); return FALSE; } - kstate=(LiVESXModifierType)event->state; + kstate = (LiVESXModifierType)event->state; - if (kstate==LIVES_SHIFT_MASK) type=2; // bg - else if (kstate==LIVES_CONTROL_MASK) type=0; // fg or bg + if (kstate == LIVES_SHIFT_MASK) type = 2; // bg + else if (kstate == LIVES_CONTROL_MASK) type = 0; // fg or bg - if (event->direction==LIVES_SCROLL_UP) prevclip_callback(NULL,NULL,0,(LiVESXModifierType)0,LIVES_INT_TO_POINTER(type)); - else if (event->direction==LIVES_SCROLL_DOWN) nextclip_callback(NULL,NULL,0,(LiVESXModifierType)0,LIVES_INT_TO_POINTER(type)); + if (event->direction == LIVES_SCROLL_UP) prevclip_callback(NULL, NULL, 0, (LiVESXModifierType)0, LIVES_INT_TO_POINTER(type)); + else if (event->direction == LIVES_SCROLL_DOWN) nextclip_callback(NULL, NULL, 0, (LiVESXModifierType)0, LIVES_INT_TO_POINTER(type)); return FALSE; } - // next few functions are for the timer bars boolean on_mouse_sel_update(LiVESWidget *widget, LiVESXEventMotion *event, livespointer user_data) { - if (!mainw->interactive) return FALSE; - if (mainw->current_file>-1&&mainw->sel_start>0) { - int x,sel_current; + if (mainw->current_file > -1 && mainw->sel_start > 0) { + int x, sel_current; - lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].mouse_device, + lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].mouse_device, mainw->LiVES, &x, NULL); - if (mainw->sel_move==SEL_MOVE_AUTO) - sel_current=calc_frame_from_time3(mainw->current_file, - (double)x/(double)lives_widget_get_allocation_width(mainw->vidbar)*cfile->total_time); + if (mainw->sel_move == SEL_MOVE_AUTO) + sel_current = calc_frame_from_time3(mainw->current_file, + (double)x / (double)lives_widget_get_allocation_width(mainw->vidbar) * cfile->total_time); else - sel_current=calc_frame_from_time(mainw->current_file, - (double)x/(double)lives_widget_get_allocation_width(mainw->vidbar)*cfile->total_time); - + sel_current = calc_frame_from_time(mainw->current_file, + (double)x / (double)lives_widget_get_allocation_width(mainw->vidbar) * cfile->total_time); - if (mainw->sel_move==SEL_MOVE_SINGLE) { - sel_current=calc_frame_from_time3(mainw->current_file, - (double)x/(double)lives_widget_get_allocation_width(mainw->vidbar)*cfile->total_time); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start),sel_current); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end),sel_current); - } - - if (mainw->sel_move==SEL_MOVE_START||(mainw->sel_move==SEL_MOVE_AUTO&&sel_current<mainw->sel_start)) { - sel_current=calc_frame_from_time(mainw->current_file, - (double)x/(double)lives_widget_get_allocation_width(mainw->vidbar)*cfile->total_time); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start),sel_current); - } else if (mainw->sel_move==SEL_MOVE_END||(mainw->sel_move==SEL_MOVE_AUTO&&sel_current>mainw->sel_start)) { - sel_current=calc_frame_from_time2(mainw->current_file, - (double)x/(double)lives_widget_get_allocation_width(mainw->vidbar)*cfile->total_time); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end),sel_current-1); + if (mainw->sel_move == SEL_MOVE_SINGLE) { + sel_current = calc_frame_from_time3(mainw->current_file, + (double)x / (double)lives_widget_get_allocation_width(mainw->vidbar) * cfile->total_time); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start), sel_current); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end), sel_current); + } + + if (mainw->sel_move == SEL_MOVE_START || (mainw->sel_move == SEL_MOVE_AUTO && sel_current < mainw->sel_start)) { + sel_current = calc_frame_from_time(mainw->current_file, + (double)x / (double)lives_widget_get_allocation_width(mainw->vidbar) * cfile->total_time); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start), sel_current); + } else if (mainw->sel_move == SEL_MOVE_END || (mainw->sel_move == SEL_MOVE_AUTO && sel_current > mainw->sel_start)) { + sel_current = calc_frame_from_time2(mainw->current_file, + (double)x / (double)lives_widget_get_allocation_width(mainw->vidbar) * cfile->total_time); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end), sel_current - 1); } } return FALSE; @@ -9616,14 +9365,13 @@ boolean on_mouse_sel_reset(LiVESWidget *widget, LiVESXEventButton *event, livespointer user_data) { - if (!mainw->interactive) return FALSE; - if (mainw->current_file<=0) return FALSE; - mainw->sel_start=0; + if (mainw->current_file <= 0) return FALSE; + mainw->sel_start = 0; if (!mainw->mouse_blocked) { - lives_signal_handler_block(mainw->eventbox2,mainw->mouse_fn1); - mainw->mouse_blocked=TRUE; + lives_signal_handler_block(mainw->eventbox2, mainw->mouse_fn1); + mainw->mouse_blocked = TRUE; } return FALSE; } @@ -9634,68 +9382,67 @@ if (!mainw->interactive) return FALSE; - if (mainw->current_file<=0) return FALSE; + if (mainw->current_file <= 0) return FALSE; - lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].mouse_device, + lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].mouse_device, mainw->LiVES, &x, NULL); - mainw->sel_start=calc_frame_from_time(mainw->current_file, - (double)x/(double)lives_widget_get_allocation_width(mainw->vidbar)*cfile->total_time); - + mainw->sel_start = calc_frame_from_time(mainw->current_file, + (double)x / (double)lives_widget_get_allocation_width(mainw->vidbar) * cfile->total_time); - if (event->button==3&&!mainw->selwidth_locked) { - mainw->sel_start=calc_frame_from_time3(mainw->current_file, - (double)x/(double)lives_widget_get_allocation_width(mainw->vidbar)*cfile->total_time); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start),mainw->sel_start); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end),mainw->sel_start); - mainw->sel_move=SEL_MOVE_AUTO; + if (event->button == 3 && !mainw->selwidth_locked) { + mainw->sel_start = calc_frame_from_time3(mainw->current_file, + (double)x / (double)lives_widget_get_allocation_width(mainw->vidbar) * cfile->total_time); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start), mainw->sel_start); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end), mainw->sel_start); + mainw->sel_move = SEL_MOVE_AUTO; } else { - if (event->button==2&&!mainw->selwidth_locked) { - mainw->sel_start=calc_frame_from_time3(mainw->current_file, - (double)x/(double)lives_widget_get_allocation_width(mainw->vidbar)*cfile->total_time); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start),mainw->sel_start); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end),(int)mainw->sel_start); - mainw->sel_move=SEL_MOVE_SINGLE; + if (event->button == 2 && !mainw->selwidth_locked) { + mainw->sel_start = calc_frame_from_time3(mainw->current_file, + (double)x / (double)lives_widget_get_allocation_width(mainw->vidbar) * cfile->total_time); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start), mainw->sel_start); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end), (int)mainw->sel_start); + mainw->sel_move = SEL_MOVE_SINGLE; } else { if (!mainw->selwidth_locked) { - if ((mainw->sel_start<cfile->end&&((mainw->sel_start-cfile->start)<=(cfile->end-mainw->sel_start)))|| - mainw->sel_start<cfile->start) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start),mainw->sel_start); - mainw->sel_move=SEL_MOVE_START; + if ((mainw->sel_start < cfile->end && ((mainw->sel_start - cfile->start) <= (cfile->end - mainw->sel_start))) || + mainw->sel_start < cfile->start) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start), mainw->sel_start); + mainw->sel_move = SEL_MOVE_START; } else { - mainw->sel_start=calc_frame_from_time2(mainw->current_file, - (double)x/(double)lives_widget_get_allocation_width(mainw->vidbar)*cfile->total_time); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end),mainw->sel_start-1); - mainw->sel_move=SEL_MOVE_END; + mainw->sel_start = calc_frame_from_time2(mainw->current_file, + (double)x / (double)lives_widget_get_allocation_width(mainw->vidbar) * cfile->total_time); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end), mainw->sel_start - 1); + mainw->sel_move = SEL_MOVE_END; } } else { // locked selection - if (mainw->sel_start>cfile->end) { + if (mainw->sel_start > cfile->end) { // past end - if (cfile->end+cfile->end-cfile->start+1<=cfile->frames) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end),cfile->end+cfile->end-cfile->start+1); - mainw->sel_move=SEL_MOVE_START; + if (cfile->end + cfile->end - cfile->start + 1 <= cfile->frames) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end), cfile->end + cfile->end - cfile->start + 1); + mainw->sel_move = SEL_MOVE_START; } } else { - if (mainw->sel_start>=cfile->start) { - if (mainw->sel_start>cfile->start+(cfile->end-cfile->start+1)/2) { + if (mainw->sel_start >= cfile->start) { + if (mainw->sel_start > cfile->start + (cfile->end - cfile->start + 1) / 2) { // nearer to end - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end),mainw->sel_start); - mainw->sel_move=SEL_MOVE_END; + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end), mainw->sel_start); + mainw->sel_move = SEL_MOVE_END; } else { // nearer to start - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start),mainw->sel_start); - mainw->sel_move=SEL_MOVE_START; + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start), mainw->sel_start); + mainw->sel_move = SEL_MOVE_START; } } else { // before start - if (cfile->start-cfile->end+cfile->start-1>=1) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end),cfile->start-1); - mainw->sel_move=SEL_MOVE_END; + if (cfile->start - cfile->end + cfile->start - 1 >= 1) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end), cfile->start - 1); + mainw->sel_move = SEL_MOVE_END; } } } @@ -9703,8 +9450,8 @@ } } if (mainw->mouse_blocked) {// stops a warning if the user clicks around a lot... - lives_signal_handler_unblock(mainw->eventbox2,mainw->mouse_fn1); - mainw->mouse_blocked=FALSE; + lives_signal_handler_unblock(mainw->eventbox2, mainw->mouse_fn1); + mainw->mouse_blocked = FALSE; } return FALSE; } @@ -9713,8 +9460,8 @@ boolean on_hrule_enter(LiVESWidget *widget, LiVESXEventCrossing *event, livespointer user_data) { if (!mainw->interactive) return FALSE; - if (mainw->cursor_style!=LIVES_CURSOR_NORMAL) return FALSE; - lives_set_cursor_style(LIVES_CURSOR_CENTER_PTR,widget); + if (mainw->cursor_style != LIVES_CURSOR_NORMAL) return FALSE; + lives_set_cursor_style(LIVES_CURSOR_CENTER_PTR, widget); return FALSE; } @@ -9724,19 +9471,19 @@ if (!mainw->interactive) return FALSE; - if (mainw->current_file<=0) return FALSE; + if (mainw->current_file <= 0) return FALSE; - lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].mouse_device, + lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].mouse_device, mainw->LiVES, &x, NULL); - if (x<0) x=0; + if (x < 0) x = 0; // figure out where ptr should be even when > cfile->frames - if ((lives_ruler_set_value(LIVES_RULER(mainw->hruler),(cfile->pointer_time= - calc_time_from_frame(mainw->current_file,calc_frame_from_time - (mainw->current_file,(double)x/lives_widget_get_allocation_width(mainw->vidbar)*cfile->total_time)))))<=0.) - lives_ruler_set_value(LIVES_RULER(mainw->hruler),(cfile->pointer_time=(double)x/ - lives_widget_get_allocation_width(mainw->vidbar)*cfile->total_time)); + if ((lives_ruler_set_value(LIVES_RULER(mainw->hruler), (cfile->pointer_time = + calc_time_from_frame(mainw->current_file, calc_frame_from_time + (mainw->current_file, (double)x / lives_widget_get_allocation_width(mainw->vidbar) * cfile->total_time))))) <= 0.) + lives_ruler_set_value(LIVES_RULER(mainw->hruler), (cfile->pointer_time = (double)x / + lives_widget_get_allocation_width(mainw->vidbar) * cfile->total_time)); lives_widget_queue_draw(mainw->hruler); get_play_times(); return FALSE; @@ -9749,34 +9496,34 @@ if (!mainw->interactive) return FALSE; - if (mainw->current_file<=0) return FALSE; + if (mainw->current_file <= 0) return FALSE; - lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].mouse_device, + lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].mouse_device, mainw->LiVES, &x, NULL); - if (x<0) x=0; - if ((lives_ruler_set_value(LIVES_RULER(mainw->hruler),(cfile->pointer_time= + if (x < 0) x = 0; + if ((lives_ruler_set_value(LIVES_RULER(mainw->hruler), (cfile->pointer_time = calc_time_from_frame(mainw->current_file, - calc_frame_from_time(mainw->current_file,(double)x/ - lives_widget_get_allocation_width(mainw->vidbar)*cfile->total_time)))))<=0.) - lives_ruler_set_value(LIVES_RULER(mainw->hruler),(cfile->pointer_time=(double)x/ - lives_widget_get_allocation_width(mainw->vidbar)*cfile->total_time)); + calc_frame_from_time(mainw->current_file, (double)x / + lives_widget_get_allocation_width(mainw->vidbar) * cfile->total_time))))) <= 0.) + lives_ruler_set_value(LIVES_RULER(mainw->hruler), (cfile->pointer_time = (double)x / + lives_widget_get_allocation_width(mainw->vidbar) * cfile->total_time)); if (!mainw->hrule_blocked) { - lives_signal_handler_block(mainw->eventbox5,mainw->hrule_func); - mainw->hrule_blocked=TRUE; + lives_signal_handler_block(mainw->eventbox5, mainw->hrule_func); + mainw->hrule_blocked = TRUE; } - if (cfile->pointer_time>0.) { + if (cfile->pointer_time > 0.) { lives_widget_set_sensitive(mainw->rewind, TRUE); - lives_widget_set_sensitive(mainw->trim_to_pstart, (cfile->achans*cfile->frames>0)); + lives_widget_set_sensitive(mainw->trim_to_pstart, (cfile->achans * cfile->frames > 0)); lives_widget_set_sensitive(mainw->m_rewindbutton, TRUE); - if (mainw->preview_box!=NULL) { + if (mainw->preview_box != NULL) { lives_widget_set_sensitive(mainw->p_rewindbutton, TRUE); } } else { lives_widget_set_sensitive(mainw->rewind, FALSE); lives_widget_set_sensitive(mainw->trim_to_pstart, FALSE); lives_widget_set_sensitive(mainw->m_rewindbutton, FALSE); - if (mainw->preview_box!=NULL) { + if (mainw->preview_box != NULL) { lives_widget_set_sensitive(mainw->p_rewindbutton, FALSE); } } @@ -9793,27 +9540,27 @@ if (!mainw->interactive) return FALSE; - if (mainw->current_file<=0) return FALSE; + if (mainw->current_file <= 0) return FALSE; - lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].mouse_device, + lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].mouse_device, mainw->LiVES, &x, NULL); - if (x<0) x=0; + if (x < 0) x = 0; - frame=calc_frame_from_time(mainw->current_file,(double)x/lives_widget_get_allocation_width(mainw->vidbar)*cfile->total_time); + frame = calc_frame_from_time(mainw->current_file, (double)x / lives_widget_get_allocation_width(mainw->vidbar) * cfile->total_time); - if ((lives_ruler_set_value(LIVES_RULER(mainw->hruler),(cfile->pointer_time= - calc_time_from_frame(mainw->current_file,frame))))<=0.) - lives_ruler_set_value(LIVES_RULER(mainw->hruler),(cfile->pointer_time=(double)x/ - lives_widget_get_allocation_width(mainw->vidbar)*cfile->total_time)); + if ((lives_ruler_set_value(LIVES_RULER(mainw->hruler), (cfile->pointer_time = + calc_time_from_frame(mainw->current_file, frame)))) <= 0.) + lives_ruler_set_value(LIVES_RULER(mainw->hruler), (cfile->pointer_time = (double)x / + lives_widget_get_allocation_width(mainw->vidbar) * cfile->total_time)); lives_widget_queue_draw(mainw->hruler); get_play_times(); if (mainw->hrule_blocked) { - lives_signal_handler_unblock(mainw->eventbox5,mainw->hrule_func); - mainw->hrule_blocked=FALSE; + lives_signal_handler_unblock(mainw->eventbox5, mainw->hrule_func); + mainw->hrule_blocked = FALSE; } - if (mainw->playing_file==-1&&mainw->play_window!=NULL&&cfile->is_loaded) { - if (mainw->prv_link==PRV_PTR&&mainw->preview_frame!=frame) + if (mainw->playing_file == -1 && mainw->play_window != NULL && cfile->is_loaded) { + if (mainw->prv_link == PRV_PTR && mainw->preview_frame != frame) load_preview_image(FALSE); } @@ -9821,59 +9568,57 @@ } - boolean frame_context(LiVESWidget *widget, LiVESXEventButton *event, livespointer which) { //popup a context menu when we right click on a frame LiVESWidget *save_frame_as; LiVESWidget *menu; - int frame=0; + int frame = 0; if (!mainw->interactive) return FALSE; // check if a file is loaded - if (mainw->current_file<=0) return FALSE; + if (mainw->current_file <= 0) return FALSE; - if (mainw->multitrack!=NULL && mainw->multitrack->event_list==NULL) return FALSE; + if (mainw->multitrack != NULL && mainw->multitrack->event_list == NULL) return FALSE; // only accept right mouse clicks - if (event->button!=3) return FALSE; + if (event->button != 3) return FALSE; - if (mainw->multitrack==NULL) { + if (mainw->multitrack == NULL) { switch (LIVES_POINTER_TO_INT(which)) { case 1: // start frame - frame=cfile->start; + frame = cfile->start; break; case 2: // end frame - frame=cfile->end; + frame = cfile->end; break; default: // preview frame - frame=mainw->preview_frame; + frame = mainw->preview_frame; break; } } - menu=lives_menu_new(); - lives_menu_set_title(LIVES_MENU(menu),_("Selected Frame")); + menu = lives_menu_new(); + lives_menu_set_title(LIVES_MENU(menu), _("Selected Frame")); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(menu, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_fg_color(menu, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); } - if (cfile->frames>0||mainw->multitrack!=NULL) { + if (cfile->frames > 0 || mainw->multitrack != NULL) { save_frame_as = lives_menu_item_new_with_mnemonic(_("_Save Frame as...")); lives_signal_connect(LIVES_GUI_OBJECT(save_frame_as), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(save_frame), LIVES_INT_TO_POINTER(frame)); - - if (capable->has_convert&&capable->has_composite) + if (capable->has_convert && capable->has_composite) lives_container_add(LIVES_CONTAINER(menu), save_frame_as); } @@ -9885,171 +9630,165 @@ } - void on_slower_pressed(LiVESButton *button, livespointer user_data) { - double change=1.,new_fps; + double change = 1., new_fps; - int type=0; + int type = 0; - lives_clip_t *sfile=cfile; + lives_clip_t *sfile = cfile; - if (mainw->playing_file==-1||mainw->internal_messaging||(mainw->is_processing&&cfile->is_loaded)) return; - if (mainw->record&&!(prefs->rec_opts&REC_FRAMES)) return; - if (cfile->next_event!=NULL) return; + if (mainw->playing_file == -1 || mainw->internal_messaging || (mainw->is_processing && cfile->is_loaded)) return; + if (mainw->record && !(prefs->rec_opts & REC_FRAMES)) return; + if (cfile->next_event != NULL) return; - if (user_data!=NULL) { - type=LIVES_POINTER_TO_INT(user_data); - if (type==SCREEN_AREA_BACKGROUND) sfile=mainw->files[mainw->blend_file]; - change=0.1; + if (user_data != NULL) { + type = LIVES_POINTER_TO_INT(user_data); + if (type == SCREEN_AREA_BACKGROUND) sfile = mainw->files[mainw->blend_file]; + change = 0.1; } - if (mainw->rte_keys!=-1&&user_data==NULL) { - mainw->blend_factor-=BLEND_AMOUNT; + if (mainw->rte_keys != -1 && user_data == NULL) { + mainw->blend_factor -= BLEND_AMOUNT; weed_set_blend_factor(mainw->rte_keys); return; } - if (mainw->record&&!mainw->record_paused&&!(prefs->rec_opts&REC_FPS)) return; - if (sfile->next_event!=NULL) return; + if (mainw->record && !mainw->record_paused && !(prefs->rec_opts & REC_FPS)) return; + if (sfile->next_event != NULL) return; - change*=PB_CHANGE_RATE*sfile->pb_fps; + change *= PB_CHANGE_RATE * sfile->pb_fps; - if (sfile->pb_fps==0.) return; - if (sfile->pb_fps>0.) { - if (sfile->pb_fps<0.1||sfile->pb_fps<change) sfile->pb_fps=change; - new_fps=sfile->pb_fps-change; - if (sfile==cfile) lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps),new_fps); - else sfile->pb_fps=new_fps; - } else { - if (sfile->pb_fps>change) sfile->pb_fps=change; - if (sfile==cfile) lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps),(sfile->pb_fps-change)); - else sfile->pb_fps-=change; + if (sfile->pb_fps == 0.) return; + if (sfile->pb_fps > 0.) { + if (sfile->pb_fps < 0.1 || sfile->pb_fps < change) sfile->pb_fps = change; + new_fps = sfile->pb_fps - change; + if (sfile == cfile) lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps), new_fps); + else sfile->pb_fps = new_fps; + } else { + if (sfile->pb_fps > change) sfile->pb_fps = change; + if (sfile == cfile) lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps), (sfile->pb_fps - change)); + else sfile->pb_fps -= change; } - - - } void on_faster_pressed(LiVESButton *button, livespointer user_data) { - double change=1.; - int type=0; + double change = 1.; + int type = 0; - lives_clip_t *sfile=cfile; + lives_clip_t *sfile = cfile; - if (mainw->playing_file==-1||mainw->internal_messaging||(mainw->is_processing&&cfile->is_loaded)) return; - if (mainw->record&&!(prefs->rec_opts&REC_FRAMES)) return; - if (cfile->next_event!=NULL) return; + if (mainw->playing_file == -1 || mainw->internal_messaging || (mainw->is_processing && cfile->is_loaded)) return; + if (mainw->record && !(prefs->rec_opts & REC_FRAMES)) return; + if (cfile->next_event != NULL) return; - if (user_data!=NULL) { - type=LIVES_POINTER_TO_INT(user_data); - if (type==SCREEN_AREA_BACKGROUND) sfile=mainw->files[mainw->blend_file]; - change=0.1; + if (user_data != NULL) { + type = LIVES_POINTER_TO_INT(user_data); + if (type == SCREEN_AREA_BACKGROUND) sfile = mainw->files[mainw->blend_file]; + change = 0.1; } - if (mainw->rte_keys!=-1&&user_data==NULL) { - mainw->blend_factor+=BLEND_AMOUNT; + if (mainw->rte_keys != -1 && user_data == NULL) { + mainw->blend_factor += BLEND_AMOUNT; weed_set_blend_factor(mainw->rte_keys); return; } - if (sfile->play_paused&&sfile->freeze_fps<0.) { - sfile->pb_fps=-.00000001; + if (sfile->play_paused && sfile->freeze_fps < 0.) { + sfile->pb_fps = -.00000001; } - if (mainw->record&&!mainw->record_paused&&!(prefs->rec_opts&REC_FPS)) return; - if (sfile->next_event!=NULL) return; + if (mainw->record && !mainw->record_paused && !(prefs->rec_opts & REC_FPS)) return; + if (sfile->next_event != NULL) return; - change=PB_CHANGE_RATE*(sfile->pb_fps==0.?1.:sfile->pb_fps); + change = PB_CHANGE_RATE * (sfile->pb_fps == 0. ? 1. : sfile->pb_fps); - if (sfile->pb_fps>=0.) { - if (sfile->pb_fps==FPS_MAX) return; - if (sfile->pb_fps<0.5) sfile->pb_fps=.5; - if (sfile->pb_fps>FPS_MAX-change) sfile->pb_fps=FPS_MAX-change; - if (sfile==cfile) lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps),(sfile->pb_fps+change)); - else sfile->pb_fps=sfile->pb_fps+change; - } else { - if (sfile->pb_fps==-FPS_MAX) return; - if (sfile->pb_fps<-FPS_MAX-change) sfile->pb_fps=-FPS_MAX-change; - if (sfile==cfile) lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps),(sfile->pb_fps+change)); - else sfile->pb_fps=sfile->pb_fps+change; + if (sfile->pb_fps >= 0.) { + if (sfile->pb_fps == FPS_MAX) return; + if (sfile->pb_fps < 0.5) sfile->pb_fps = .5; + if (sfile->pb_fps > FPS_MAX - change) sfile->pb_fps = FPS_MAX - change; + if (sfile == cfile) lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps), (sfile->pb_fps + change)); + else sfile->pb_fps = sfile->pb_fps + change; + } else { + if (sfile->pb_fps == -FPS_MAX) return; + if (sfile->pb_fps < -FPS_MAX - change) sfile->pb_fps = -FPS_MAX - change; + if (sfile == cfile) lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps), (sfile->pb_fps + change)); + else sfile->pb_fps = sfile->pb_fps + change; } - } - void on_back_pressed(LiVESButton *button, livespointer user_data) { - double change_speed=cfile->pb_fps*(double)KEY_RPT_INTERVAL*PB_SCRATCH_VALUE; + double change_speed = cfile->pb_fps * (double)KEY_RPT_INTERVAL * PB_SCRATCH_VALUE; - if (mainw->playing_file==-1||mainw->internal_messaging||(mainw->is_processing&&cfile->is_loaded)) return; - if (mainw->record&&!(prefs->rec_opts&REC_FRAMES)) return; - if (cfile->next_event!=NULL) return; + if (mainw->playing_file == -1 || mainw->internal_messaging || (mainw->is_processing && cfile->is_loaded)) return; + if (mainw->record && !(prefs->rec_opts & REC_FRAMES)) return; + if (cfile->next_event != NULL) return; - mainw->deltaticks-=(int64_t)(change_speed*3.*mainw->period); - mainw->scratch=SCRATCH_BACK; + mainw->deltaticks -= (int64_t)(change_speed * 3.*mainw->period); + mainw->scratch = SCRATCH_BACK; } -void on_forward_pressed(LiVESButton *button, livespointer user_data) { - double change_speed=cfile->pb_fps*(double)KEY_RPT_INTERVAL*PB_SCRATCH_VALUE; - if (mainw->playing_file==-1||mainw->internal_messaging||(mainw->is_processing&&cfile->is_loaded)) return; - if (mainw->record&&!(prefs->rec_opts&REC_FRAMES)) return; - if (cfile->next_event!=NULL) return; +void on_forward_pressed(LiVESButton *button, livespointer user_data) { + double change_speed = cfile->pb_fps * (double)KEY_RPT_INTERVAL * PB_SCRATCH_VALUE; - mainw->deltaticks+=(int64_t)(change_speed*mainw->period); - mainw->scratch=SCRATCH_FWD; + if (mainw->playing_file == -1 || mainw->internal_messaging || (mainw->is_processing && cfile->is_loaded)) return; + if (mainw->record && !(prefs->rec_opts & REC_FRAMES)) return; + if (cfile->next_event != NULL) return; + mainw->deltaticks += (int64_t)(change_speed * mainw->period); + mainw->scratch = SCRATCH_FWD; } boolean freeze_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { - if (mainw->playing_file==-1||(mainw->is_processing&&cfile->is_loaded)) return TRUE; - if (mainw->record&&!(prefs->rec_opts&REC_FRAMES)) return TRUE; + if (mainw->playing_file == -1 || (mainw->is_processing && cfile->is_loaded)) return TRUE; + if (mainw->record && !(prefs->rec_opts & REC_FRAMES)) return TRUE; - if (group!=NULL) mainw->rte_keys=-1; + if (group != NULL) mainw->rte_keys = -1; if (cfile->play_paused) { - cfile->pb_fps=cfile->freeze_fps; - if (cfile->pb_fps!=0.) mainw->period=U_SEC/cfile->pb_fps; - else mainw->period=INT_MAX; - cfile->play_paused=FALSE; - } else { - cfile->freeze_fps=cfile->pb_fps; - cfile->play_paused=TRUE; - cfile->pb_fps=0.; - mainw->deltaticks=0; - if (!mainw->noswitch&&(cfile->clip_type==CLIP_TYPE_DISK||cfile->clip_type==CLIP_TYPE_FILE)) { - weed_plant_t *frame_layer=mainw->frame_layer; - mainw->frame_layer=NULL; + cfile->pb_fps = cfile->freeze_fps; + if (cfile->pb_fps != 0.) mainw->period = U_SEC / cfile->pb_fps; + else mainw->period = INT_MAX; + cfile->play_paused = FALSE; + } else { + cfile->freeze_fps = cfile->pb_fps; + cfile->play_paused = TRUE; + cfile->pb_fps = 0.; + mainw->deltaticks = 0; + if (!mainw->noswitch && (cfile->clip_type == CLIP_TYPE_DISK || cfile->clip_type == CLIP_TYPE_FILE)) { + weed_plant_t *frame_layer = mainw->frame_layer; + mainw->frame_layer = NULL; load_frame_image(cfile->frameno); - mainw->frame_layer=frame_layer; + mainw->frame_layer = frame_layer; } } - if (group!=NULL) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps),cfile->pb_fps); + if (group != NULL) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps), cfile->pb_fps); } #ifdef ENABLE_JACK - if (mainw->jackd!=NULL&&prefs->audio_player==AUD_PLAYER_JACK&&(prefs->jack_opts&JACK_OPTS_NOPLAY_WHEN_PAUSED|| - prefs->audio_opts&AUDIO_OPTS_FOLLOW_FPS)) { - if (!cfile->play_paused&&prefs->audio_player==AUD_PLAYER_JACK&&(prefs->audio_opts&AUDIO_OPTS_FOLLOW_FPS)&& - mainw->jackd!=NULL&&mainw->jackd->playing_file==mainw->current_file) { - mainw->jackd->sample_in_rate=cfile->arate*cfile->pb_fps/cfile->fps; + if (mainw->jackd != NULL && prefs->audio_player == AUD_PLAYER_JACK && (prefs->jack_opts & JACK_OPTS_NOPLAY_WHEN_PAUSED || + prefs->audio_opts & AUDIO_OPTS_FOLLOW_FPS)) { + if (!cfile->play_paused && prefs->audio_player == AUD_PLAYER_JACK && (prefs->audio_opts & AUDIO_OPTS_FOLLOW_FPS) && + mainw->jackd != NULL && mainw->jackd->playing_file == mainw->current_file) { + mainw->jackd->sample_in_rate = cfile->arate * cfile->pb_fps / cfile->fps; } - mainw->jackd->is_paused=cfile->play_paused; + mainw->jackd->is_paused = cfile->play_paused; } if (cfile->play_paused) jack_pb_stop(); else jack_pb_start(); #endif #ifdef HAVE_PULSE_AUDIO - if (mainw->pulsed!=NULL&&prefs->audio_player==AUD_PLAYER_PULSE&&prefs->audio_opts&AUDIO_OPTS_FOLLOW_FPS) { - if (!cfile->play_paused&&mainw->pulsed!=NULL&&mainw->pulsed->playing_file==mainw->current_file) { - mainw->pulsed->in_arate=cfile->arate*cfile->pb_fps/cfile->fps; + if (mainw->pulsed != NULL && prefs->audio_player == AUD_PLAYER_PULSE && prefs->audio_opts & AUDIO_OPTS_FOLLOW_FPS) { + if (!cfile->play_paused && mainw->pulsed != NULL && mainw->pulsed->playing_file == mainw->current_file) { + mainw->pulsed->in_arate = cfile->arate * cfile->pb_fps / cfile->fps; } - mainw->pulsed->is_paused=cfile->play_paused; + mainw->pulsed->is_paused = cfile->play_paused; } #endif @@ -10058,8 +9797,8 @@ boolean nervous_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer clip_number) { - if (mainw->multitrack!=NULL) return FALSE; - mainw->nervous=!mainw->nervous; + if (mainw->multitrack != NULL) return FALSE; + mainw->nervous = !mainw->nervous; return TRUE; } @@ -10069,86 +9808,81 @@ int last_dprint_file; - if (mainw->playing_file<0) return FALSE; + if (mainw->playing_file < 0) return FALSE; - if (cfile->frames==0||cfile->achans==0) return FALSE; + if (cfile->frames == 0 || cfile->achans == 0) return FALSE; - if (prefs->audio_player==AUD_PLAYER_JACK) { + if (prefs->audio_player == AUD_PLAYER_JACK) { #ifdef ENABLE_JACK - if (mainw->jackd!=NULL&&mainw->jackd->in_use) avsync=(double)mainw->jackd->seek_pos/ - cfile->arate/cfile->achans/cfile->asampsize*8; + if (mainw->jackd != NULL && mainw->jackd->in_use) avsync = (double)mainw->jackd->seek_pos / + cfile->arate / cfile->achans / cfile->asampsize * 8; else return FALSE; #else return FALSE; #endif } - if (prefs->audio_player==AUD_PLAYER_PULSE) { + if (prefs->audio_player == AUD_PLAYER_PULSE) { #ifdef HAVE_PULSE_AUDIO - if (mainw->pulsed!=NULL&&mainw->pulsed->in_use) avsync=(double)mainw->pulsed->seek_pos/ - cfile->arate/cfile->achans/cfile->asampsize*8; + if (mainw->pulsed != NULL && mainw->pulsed->in_use) avsync = (double)mainw->pulsed->seek_pos / + cfile->arate / cfile->achans / cfile->asampsize * 8; else return FALSE; #else return FALSE; #endif } else return FALSE; - avsync-=(mainw->actual_frame-1.)/cfile->fps; + avsync -= (mainw->actual_frame - 1.) / cfile->fps; - last_dprint_file=mainw->last_dprint_file; - mainw->no_switch_dprint=TRUE; + last_dprint_file = mainw->last_dprint_file; + mainw->no_switch_dprint = TRUE; d_print(_("Audio is ahead of video by %.4f secs. at frame %d, with fps %.4f\n"), - avsync,mainw->actual_frame,cfile->pb_fps); - mainw->no_switch_dprint=FALSE; - mainw->last_dprint_file=last_dprint_file; + avsync, mainw->actual_frame, cfile->pb_fps); + mainw->no_switch_dprint = FALSE; + mainw->last_dprint_file = last_dprint_file; return TRUE; } - boolean storeclip_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer clip_number) { // ctrl-fn key will store a clip for higher switching - int clip=LIVES_POINTER_TO_INT(clip_number)-1; + int clip = LIVES_POINTER_TO_INT(clip_number) - 1; register int i; if (!mainw->interactive) return TRUE; - if (clip>=FN_KEYS-1) { + if (clip >= FN_KEYS - 1) { // last fn key will clear all - for (i=0; i<FN_KEYS-1; i++) { - mainw->clipstore[i]=0; + for (i = 0; i < FN_KEYS - 1; i++) { + mainw->clipstore[i] = 0; } return TRUE; } - if (mainw->clipstore[clip]<1||mainw->files[mainw->clipstore[clip]]==NULL) { - mainw->clipstore[clip]=mainw->current_file; + if (mainw->clipstore[clip] < 1 || mainw->files[mainw->clipstore[clip]] == NULL) { + mainw->clipstore[clip] = mainw->current_file; } else { - switch_clip(0,mainw->clipstore[clip],FALSE); + switch_clip(0, mainw->clipstore[clip], FALSE); } return TRUE; } - void on_toolbar_hide(LiVESButton *button, livespointer user_data) { lives_widget_hide(mainw->tb_hbox); fullscreen_internal(); - future_prefs->show_tool=FALSE; + future_prefs->show_tool = FALSE; } - - - void on_capture_activate(LiVESMenuItem *menuitem, livespointer user_data) { - int curr_file=mainw->current_file; + int curr_file = mainw->current_file; char *com; char **array; int response; - double rec_end_time=-1.; + double rec_end_time = -1.; -#if !GTK_CHECK_VERSION(3,0,0) +#if !GTK_CHECK_VERSION(3, 0, 0) #ifndef GDK_WINDOWING_X11 do_blocking_error_dialog(_("\n\nThis function will only work with X11.\nPlease send a patch to get it working on other platforms.\n\n")); return; @@ -10160,200 +9894,197 @@ return; } - if (mainw->first_free_file==-1) { + if (mainw->first_free_file == -1) { too_many_files(); return; } - if (mainw->multitrack!=NULL) { - if (mainw->multitrack->idlefunc>0) { + if (mainw->multitrack != NULL) { + if (mainw->multitrack->idlefunc > 0) { lives_source_remove(mainw->multitrack->idlefunc); - mainw->multitrack->idlefunc=0; + mainw->multitrack->idlefunc = 0; } mt_desensitise(mainw->multitrack); } - if (prefs->rec_desktop_audio&&((prefs->audio_player==AUD_PLAYER_JACK&&capable->has_jackd)|| - (prefs->audio_player==AUD_PLAYER_PULSE&&capable->has_pulse_audio))) { - resaudw=create_resaudw(8,NULL,NULL); + if (prefs->rec_desktop_audio && ((prefs->audio_player == AUD_PLAYER_JACK && capable->has_jackd) || + (prefs->audio_player == AUD_PLAYER_PULSE && capable->has_pulse_audio))) { + resaudw = create_resaudw(8, NULL, NULL); } else { - resaudw=create_resaudw(9,NULL,NULL); + resaudw = create_resaudw(9, NULL, NULL); } - response=lives_dialog_run(LIVES_DIALOG(resaudw->dialog)); + response = lives_dialog_run(LIVES_DIALOG(resaudw->dialog)); - if (response!=LIVES_RESPONSE_OK) { + if (response != LIVES_RESPONSE_OK) { lives_widget_destroy(resaudw->dialog); - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } return; } - if (prefs->rec_desktop_audio&&((prefs->audio_player==AUD_PLAYER_JACK&&capable->has_jackd)|| - (prefs->audio_player==AUD_PLAYER_PULSE&&capable->has_pulse_audio))) { - mainw->rec_arate=(int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_arate))); - mainw->rec_achans=(int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_achans))); - mainw->rec_asamps=(int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_asamps))); + if (prefs->rec_desktop_audio && ((prefs->audio_player == AUD_PLAYER_JACK && capable->has_jackd) || + (prefs->audio_player == AUD_PLAYER_PULSE && capable->has_pulse_audio))) { + mainw->rec_arate = (int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_arate))); + mainw->rec_achans = (int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_achans))); + mainw->rec_asamps = (int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_asamps))); if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->rb_unsigned))) { - mainw->rec_signed_endian=AFORM_UNSIGNED; + mainw->rec_signed_endian = AFORM_UNSIGNED; } if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->rb_bigend))) { - mainw->rec_signed_endian|=AFORM_BIG_ENDIAN; + mainw->rec_signed_endian |= AFORM_BIG_ENDIAN; } } else { - mainw->rec_arate=mainw->rec_achans=mainw->rec_asamps=mainw->rec_signed_endian=0; + mainw->rec_arate = mainw->rec_achans = mainw->rec_asamps = mainw->rec_signed_endian = 0; } - mainw->rec_fps=lives_spin_button_get_value(LIVES_SPIN_BUTTON(resaudw->fps_spinbutton)); + mainw->rec_fps = lives_spin_button_get_value(LIVES_SPIN_BUTTON(resaudw->fps_spinbutton)); if (!lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->unlim_radiobutton))) { - rec_end_time=(lives_spin_button_get_value(LIVES_SPIN_BUTTON(resaudw->hour_spinbutton))*60. - +lives_spin_button_get_value(LIVES_SPIN_BUTTON(resaudw->minute_spinbutton)))*60. - +lives_spin_button_get_value(LIVES_SPIN_BUTTON(resaudw->second_spinbutton)); - mainw->rec_vid_frames=(rec_end_time*mainw->rec_fps+.5); - } else mainw->rec_vid_frames=-1; + rec_end_time = (lives_spin_button_get_value(LIVES_SPIN_BUTTON(resaudw->hour_spinbutton)) * 60. + + lives_spin_button_get_value(LIVES_SPIN_BUTTON(resaudw->minute_spinbutton))) * 60. + + lives_spin_button_get_value(LIVES_SPIN_BUTTON(resaudw->second_spinbutton)); + mainw->rec_vid_frames = (rec_end_time * mainw->rec_fps + .5); + } else mainw->rec_vid_frames = -1; lives_widget_destroy(resaudw->dialog); lives_widget_context_update(); lives_freep((void **)&resaudw); - if (prefs->rec_desktop_audio&&mainw->rec_arate<=0&&((prefs->audio_player==AUD_PLAYER_JACK&&capable->has_jackd)|| - (prefs->audio_player==AUD_PLAYER_PULSE&&capable->has_pulse_audio))) { + if (prefs->rec_desktop_audio && mainw->rec_arate <= 0 && ((prefs->audio_player == AUD_PLAYER_JACK && capable->has_jackd) || + (prefs->audio_player == AUD_PLAYER_PULSE && capable->has_pulse_audio))) { do_audrate_error_dialog(); return; } - if (rec_end_time==0.) { + if (rec_end_time == 0.) { do_error_dialog(_("\nRecord time must be greater than 0.\n")); - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } return; } - if (mainw->multitrack==NULL) lives_widget_hide(mainw->LiVES); - else lives_widget_hide(mainw->multitrack->window); + lives_widget_hide(LIVES_MAIN_WINDOW_WIDGET); + lives_widget_context_update(); if (!(do_warning_dialog( _("Capture an External Window:\n\nClick on 'OK', then click on any window to capture it\nClick 'Cancel' to cancel\n\n")))) { if (prefs->show_gui) { - if (mainw->multitrack==NULL) lives_widget_show(mainw->LiVES); - else lives_widget_show(mainw->multitrack->window); + lives_widget_show(LIVES_MAIN_WINDOW_WIDGET); } d_print(_("External window was released.\n")); - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } return; } // an example of using 'get_temp_handle()' //////// - if (!get_temp_handle(mainw->first_free_file,TRUE)) { + if (!get_temp_handle(mainw->first_free_file, TRUE)) { if (prefs->show_gui) lives_widget_show(mainw->LiVES); lives_widget_context_update(); - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } return; } - com=lives_strdup_printf("%s get_window_id \"%s\"",prefs->backend,cfile->handle); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + com = lives_strdup_printf("%s get_window_id \"%s\"", prefs->backend, cfile->handle); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { if (prefs->show_gui) lives_widget_show(mainw->LiVES); lives_widget_context_update(); - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } return; } - do_progress_dialog(TRUE,FALSE,_("Click on a Window to Capture it\nPress 'q' to stop recording")); + do_progress_dialog(TRUE, FALSE, _("Click on a Window to Capture it\nPress 'q' to stop recording")); - if (get_token_count(mainw->msg,'|')<6) { + if (get_token_count(mainw->msg, '|') < 6) { if (prefs->show_gui) lives_widget_show(mainw->LiVES); lives_widget_context_update(); - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } return; } - array=lives_strsplit(mainw->msg,"|",-1); -#if GTK_CHECK_VERSION(3,0,0) || defined GUI_QT - mainw->foreign_id=(Window)atoi(array[1]); + array = lives_strsplit(mainw->msg, "|", -1); +#if GTK_CHECK_VERSION(3, 0, 0) || defined GUI_QT + mainw->foreign_id = (Window)atoi(array[1]); #else - mainw->foreign_id=(GdkNativeWindow)atoi(array[1]); + mainw->foreign_id = (GdkNativeWindow)atoi(array[1]); #endif - mainw->foreign_width=atoi(array[2]); - mainw->foreign_height=atoi(array[3]); - mainw->foreign_bpp=atoi(array[4]); - mainw->foreign_visual=lives_strdup(array[5]); + mainw->foreign_width = atoi(array[2]); + mainw->foreign_height = atoi(array[3]); + mainw->foreign_bpp = atoi(array[4]); + mainw->foreign_visual = lives_strdup(array[5]); lives_strfreev(array); - com=lives_strdup_printf("%s close \"%s\"",prefs->backend,cfile->handle); - lives_system(com,TRUE); + com = lives_strdup_printf("%s close \"%s\"", prefs->backend, cfile->handle); + lives_system(com, TRUE); lives_free(com); lives_freep((void **)&cfile); - if (mainw->first_free_file==-1||mainw->first_free_file>mainw->current_file) mainw->first_free_file=mainw->current_file; + if (mainw->first_free_file == -1 || mainw->first_free_file > mainw->current_file) mainw->first_free_file = mainw->current_file; - mainw->current_file=curr_file; + mainw->current_file = curr_file; //////////////////////////////////////// d_print(_("\nExternal window captured. Width=%d, height=%d, bpp=%d. *Do not resize*\n\nStop or 'q' to finish.\n(Default of %.3f frames per second will be used.)\n"), - mainw->foreign_width,mainw->foreign_height,mainw->foreign_bpp,mainw->rec_fps); + mainw->foreign_width, mainw->foreign_height, mainw->foreign_bpp, mainw->rec_fps); // start another copy of LiVES and wait for it to return values - com=lives_strdup_printf("%s -capture %d %u %d %d %s %d %d %.4f %d %d %d %d \"%s\"",capable->myname_full,capable->mainpid, - (unsigned int)mainw->foreign_id,mainw->foreign_width,mainw->foreign_height,get_image_ext_for_type(IMG_TYPE_BEST), - mainw->foreign_bpp,mainw->rec_vid_frames,mainw->rec_fps,mainw->rec_arate, - mainw->rec_asamps,mainw->rec_achans,mainw->rec_signed_endian,mainw->foreign_visual); + com = lives_strdup_printf("%s -capture %d %u %d %d %s %d %d %.4f %d %d %d %d \"%s\"", capable->myname_full, capable->mainpid, + (unsigned int)mainw->foreign_id, mainw->foreign_width, mainw->foreign_height, get_image_ext_for_type(IMG_TYPE_BEST), + mainw->foreign_bpp, mainw->rec_vid_frames, mainw->rec_fps, mainw->rec_arate, + mainw->rec_asamps, mainw->rec_achans, mainw->rec_signed_endian, mainw->foreign_visual); // force the dialog to disappear lives_widget_context_update(); - lives_system(com,FALSE); + lives_system(com, FALSE); if (prefs->show_gui) { - if (mainw->multitrack==NULL) lives_widget_show(mainw->LiVES); - else lives_widget_show(mainw->multitrack->window); + lives_widget_show(LIVES_MAIN_WINDOW_WIDGET); } - mainw->noswitch=TRUE; + mainw->noswitch = TRUE; lives_widget_context_update(); - mainw->noswitch=FALSE; + mainw->noswitch = FALSE; - if (!after_foreign_play()&&mainw->cancelled==CANCEL_NONE) { + if (!after_foreign_play() && mainw->cancelled == CANCEL_NONE) { do_error_dialog(_("LiVES was unable to capture this window. Sorry.\n")); sensitize(); } - if (mainw->multitrack!=NULL) { - polymorph(mainw->multitrack,POLY_NONE); - polymorph(mainw->multitrack,POLY_CLIPS); + if (mainw->multitrack != NULL) { + polymorph(mainw->multitrack, POLY_NONE); + polymorph(mainw->multitrack, POLY_CLIPS); mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } - } void on_capture2_activate(void) { // this is in the second copy of lives, we are now going to grab frames from the X window - char *capfilename=lives_strdup_printf(".capture.%d",mainw->foreign_key); - char *capfile=lives_build_filename(prefs->workdir,capfilename,NULL); + char *capfilename = lives_strdup_printf(".capture.%d", mainw->foreign_key); + char *capfile = lives_build_filename(prefs->workdir, capfilename, NULL); char buf[32]; @@ -10361,49 +10092,45 @@ int capture_fd; register int i; - - retval=prepare_to_play_foreign(); + retval = prepare_to_play_foreign(); lives_freep((void **)&mainw->foreign_visual); if (!retval) exit(2); - mainw->record_foreign=TRUE; // for now... + mainw->record_foreign = TRUE; // for now... play_file(); // pass the handle and frames back to the caller - capture_fd=creat(capfile,S_IRUSR|S_IWUSR); - if (capture_fd<0) { + capture_fd = creat(capfile, S_IRUSR | S_IWUSR); + if (capture_fd < 0) { lives_free(capfile); exit(1); } - for (i=1; i<MAX_FILES; i++) { - if (mainw->files[i]==NULL) break; - lives_write(capture_fd,mainw->files[i]->handle,strlen(mainw->files[i]->handle),TRUE); - lives_write(capture_fd,"|",1,TRUE); - lives_snprintf(buf,32,"%d",cfile->frames); - lives_write(capture_fd,buf,strlen(buf),TRUE); - lives_write(capture_fd,"|",1,TRUE); + for (i = 1; i < MAX_FILES; i++) { + if (mainw->files[i] == NULL) break; + lives_write(capture_fd, mainw->files[i]->handle, strlen(mainw->files[i]->handle), TRUE); + lives_write(capture_fd, "|", 1, TRUE); + lives_snprintf(buf, 32, "%d", cfile->frames); + lives_write(capture_fd, buf, strlen(buf), TRUE); + lives_write(capture_fd, "|", 1, TRUE); } close(capture_fd); lives_free(capfilename); lives_free(capfile); exit(0); - } - - // TODO - move all encoder related stuff from here and plugins.c into encoders.c void on_encoder_ofmt_changed(LiVESCombo *combo, livespointer user_data) { // change encoder format in the encoder plugin render_details *rdet = (render_details *)user_data; - LiVESList *ofmt_all=NULL; + LiVESList *ofmt_all = NULL; char **array; char *new_fmt; @@ -10422,29 +10149,29 @@ return; } - if ((ofmt_all=plugin_request_by_line(PLUGIN_ENCODERS,future_prefs->encoder.name,"get_formats"))!=NULL) { + if ((ofmt_all = plugin_request_by_line(PLUGIN_ENCODERS, future_prefs->encoder.name, "get_formats")) != NULL) { // get details for the current format counter = 0; - for (i=0; i<lives_list_length(ofmt_all); i++) { - if (get_token_count((char *)lives_list_nth_data(ofmt_all,i),'|')>2) { - array=lives_strsplit((char *)lives_list_nth_data(ofmt_all,i),"|",-1); + for (i = 0; i < lives_list_length(ofmt_all); i++) { + if (get_token_count((char *)lives_list_nth_data(ofmt_all, i), '|') > 2) { + array = lives_strsplit((char *)lives_list_nth_data(ofmt_all, i), "|", -1); - if (!strcmp(array[1],new_fmt)) { - if (prefsw!=NULL) { + if (!strcmp(array[1], new_fmt)) { + if (prefsw != NULL) { lives_signal_handler_block(prefsw->ofmt_combo, prefsw->encoder_ofmt_fn); lives_combo_set_active_index(LIVES_COMBO(prefsw->ofmt_combo), counter); lives_signal_handler_unblock(prefsw->ofmt_combo, prefsw->encoder_ofmt_fn); } - if (rdet!=NULL) { + if (rdet != NULL) { lives_signal_handler_block(rdet->ofmt_combo, rdet->encoder_ofmt_fn); lives_combo_set_active_index(LIVES_COMBO(rdet->ofmt_combo), counter); lives_signal_handler_unblock(rdet->ofmt_combo, rdet->encoder_ofmt_fn); } - lives_snprintf(future_prefs->encoder.of_name,64,"%s",array[0]); - lives_snprintf(future_prefs->encoder.of_desc,128,"%s",array[1]); + lives_snprintf(future_prefs->encoder.of_name, 64, "%s", array[0]); + lives_snprintf(future_prefs->encoder.of_desc, 128, "%s", array[1]); - future_prefs->encoder.of_allowed_acodecs=atoi(array[2]); - lives_snprintf(future_prefs->encoder.of_restrict,1024,"%s",array[3]); + future_prefs->encoder.of_allowed_acodecs = atoi(array[2]); + lives_snprintf(future_prefs->encoder.of_restrict, 1024, "%s", array[3]); lives_strfreev(array); break; } @@ -10455,86 +10182,80 @@ lives_list_free_all(&ofmt_all); lives_free(new_fmt); - if (rdet!=NULL&&prefsw==NULL) { - if (strcmp(prefs->encoder.of_name,future_prefs->encoder.of_name)) { - rdet->enc_changed=TRUE; - lives_snprintf(prefs->encoder.of_name,64,"%s",future_prefs->encoder.of_name); - lives_snprintf(prefs->encoder.of_desc,128,"%s",future_prefs->encoder.of_desc); - lives_snprintf(prefs->encoder.of_restrict,1024,"%s",future_prefs->encoder.of_restrict); - prefs->encoder.of_allowed_acodecs=future_prefs->encoder.of_allowed_acodecs; - set_pref(PREF_OUTPUT_TYPE,prefs->encoder.of_name); + if (rdet != NULL && prefsw == NULL) { + if (strcmp(prefs->encoder.of_name, future_prefs->encoder.of_name)) { + rdet->enc_changed = TRUE; + lives_snprintf(prefs->encoder.of_name, 64, "%s", future_prefs->encoder.of_name); + lives_snprintf(prefs->encoder.of_desc, 128, "%s", future_prefs->encoder.of_desc); + lives_snprintf(prefs->encoder.of_restrict, 1024, "%s", future_prefs->encoder.of_restrict); + prefs->encoder.of_allowed_acodecs = future_prefs->encoder.of_allowed_acodecs; + set_pref(PREF_OUTPUT_TYPE, prefs->encoder.of_name); } } - set_acodec_list_from_allowed(prefsw,rdet); + set_acodec_list_from_allowed(prefsw, rdet); } else { do_plugin_encoder_error(future_prefs->encoder.name); } } - - - - - - // TODO - move all this to audio.c void on_export_audio_activate(LiVESMenuItem *menuitem, livespointer user_data) { - char *filt[]= {"*."LIVES_FILE_EXT_WAV,NULL}; - char *filename,*file_name; - char *com,*tmp; + char *filt[] = {"*."LIVES_FILE_EXT_WAV, NULL}; + char *filename, *file_name; + char *com, *tmp; - double start,end; + double start, end; - int nrate=cfile->arps; - int asigned=!(cfile->signed_endian&AFORM_UNSIGNED); + int nrate = cfile->arps; + int asigned = !(cfile->signed_endian & AFORM_UNSIGNED); - if (cfile->end>0&&!LIVES_POINTER_TO_INT(user_data)) { - filename = choose_file(strlen(mainw->audio_dir)?mainw->audio_dir:NULL,NULL, - filt,LIVES_FILE_CHOOSER_ACTION_SAVE,_("Export Selected Audio as..."),NULL); + if (cfile->end > 0 && !LIVES_POINTER_TO_INT(user_data)) { + filename = choose_file(strlen(mainw->audio_dir) ? mainw->audio_dir : NULL, NULL, + filt, LIVES_FILE_CHOOSER_ACTION_SAVE, _("Export Selected Audio as..."), NULL); } else { - filename = choose_file(strlen(mainw->audio_dir)?mainw->audio_dir:NULL,NULL, - filt,LIVES_FILE_CHOOSER_ACTION_SAVE,_("Export Audio as..."),NULL); + filename = choose_file(strlen(mainw->audio_dir) ? mainw->audio_dir : NULL, NULL, + filt, LIVES_FILE_CHOOSER_ACTION_SAVE, _("Export Audio as..."), NULL); } - if (filename==NULL) return; - file_name=ensure_extension(filename,"."LIVES_FILE_EXT_WAV); + if (filename == NULL) return; + file_name = ensure_extension(filename, "."LIVES_FILE_EXT_WAV); lives_free(filename); - if (!check_file(file_name,FALSE)) { + if (!check_file(file_name, FALSE)) { lives_free(file_name); return; } // warn if arps!=arate - if ((prefs->audio_player==AUD_PLAYER_SOX||is_realtime_aplayer(prefs->audio_player))&&cfile->arate!=cfile->arps) { + if ((prefs->audio_player == AUD_PLAYER_SOX || is_realtime_aplayer(prefs->audio_player)) && cfile->arate != cfile->arps) { if (do_warning_dialog( _("\n\nThe audio playback speed has been altered for this clip.\nClick 'OK' to export at the new speed, or 'Cancel' to export at the original rate.\n"))) { - nrate=cfile->arate; + nrate = cfile->arate; } } - if (cfile->start*cfile->end>0&&!LIVES_POINTER_TO_INT(user_data)) { - lives_snprintf(mainw->msg,256,_("Exporting audio frames %d to %d as %s..."),cfile->start,cfile->end,file_name); - start=calc_time_from_frame(mainw->current_file,cfile->start); - end=calc_time_from_frame(mainw->current_file,cfile->end); + if (cfile->start * cfile->end > 0 && !LIVES_POINTER_TO_INT(user_data)) { + lives_snprintf(mainw->msg, 256, _("Exporting audio frames %d to %d as %s..."), cfile->start, cfile->end, file_name); + start = calc_time_from_frame(mainw->current_file, cfile->start); + end = calc_time_from_frame(mainw->current_file, cfile->end); } else { - lives_snprintf(mainw->msg,256,_("Exporting audio as %s..."),file_name); - start=0.; - end=0.; + lives_snprintf(mainw->msg, 256, _("Exporting audio as %s..."), file_name); + start = 0.; + end = 0.; } d_print(mainw->msg); - com=lives_strdup_printf("%s export_audio \"%s\" %.8f %.8f %d %d %d %d %d \"%s\"",prefs->backend,cfile->handle, - start,end,cfile->arps,cfile->achans,cfile->asampsize,asigned,nrate, - (tmp=lives_filename_from_utf8(file_name,-1,NULL,NULL,NULL))); + com = lives_strdup_printf("%s export_audio \"%s\" %.8f %.8f %d %d %d %d %d \"%s\"", prefs->backend, cfile->handle, + start, end, cfile->arps, cfile->achans, cfile->asampsize, asigned, nrate, + (tmp = lives_filename_from_utf8(file_name, -1, NULL, NULL, NULL))); lives_free(tmp); lives_rm(cfile->info_file); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { @@ -10543,7 +10264,7 @@ return; } - cfile->op_dir=lives_filename_from_utf8((tmp=get_dir(file_name)),-1,NULL,NULL,NULL); + cfile->op_dir = lives_filename_from_utf8((tmp = get_dir(file_name)), -1, NULL, NULL, NULL); lives_free(tmp); do_progress_dialog(TRUE, FALSE, _("Exporting audio")); @@ -10553,7 +10274,7 @@ do_error_dialog(mainw->msg); } else { d_print_done(); - lives_snprintf(mainw->audio_dir,PATH_MAX,"%s",file_name); + lives_snprintf(mainw->audio_dir, PATH_MAX, "%s", file_name); get_dirname(mainw->audio_dir); } lives_free(file_name); @@ -10563,46 +10284,47 @@ void on_append_audio_activate(LiVESMenuItem *menuitem, livespointer user_data) { LiVESWidget *chooser; - char *filt[]=LIVES_AUDIO_LOAD_FILTER; + char *filt[] = LIVES_AUDIO_LOAD_FILTER; - char *com,*tmp,*tmp2; + char *com, *tmp, *tmp2; char *a_type; - boolean gotit=FALSE; + boolean gotit = FALSE; - int asigned=!(cfile->signed_endian&AFORM_UNSIGNED); - int aendian=!(cfile->signed_endian&AFORM_BIG_ENDIAN); + int asigned = !(cfile->signed_endian & AFORM_UNSIGNED); + int aendian = !(cfile->signed_endian & AFORM_BIG_ENDIAN); int resp; register int i; - if (!(prefs->warning_mask&WARN_MASK_LAYOUT_ALTER_AUDIO)&& - (mainw->xlays=layout_audio_is_affected(mainw->current_file,0.))!=NULL) { + if (!(prefs->warning_mask & WARN_MASK_LAYOUT_ALTER_AUDIO) && + (mainw->xlays = layout_audio_is_affected(mainw->current_file, 0.)) != NULL) { if (!do_layout_alter_audio_warning()) { lives_list_free_all(&mainw->xlays); return; } - add_lmap_error(LMAP_ERROR_ALTER_AUDIO,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0,0., - cfile->stored_layout_audio>0.); + add_lmap_error(LMAP_ERROR_ALTER_AUDIO, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, 0., + cfile->stored_layout_audio > 0.); lives_list_free_all(&mainw->xlays); } - chooser=choose_file_with_preview(strlen(mainw->audio_dir)?mainw->audio_dir:NULL,_("Append Audio File"),filt, - LIVES_FILE_SELECTION_AUDIO_ONLY); + chooser = choose_file_with_preview(strlen(mainw->audio_dir) ? mainw->audio_dir : NULL, _("Append Audio File"), filt, + LIVES_FILE_SELECTION_AUDIO_ONLY); - resp=lives_dialog_run(LIVES_DIALOG(chooser)); + resp = lives_dialog_run(LIVES_DIALOG(chooser)); end_fs_preview(); - mainw->fs_playarea=NULL; + mainw->fs_playarea = NULL; - if (resp!=LIVES_RESPONSE_ACCEPT) { + if (resp != LIVES_RESPONSE_ACCEPT) { on_filechooser_cancel_clicked(chooser); return; } - lives_snprintf(file_name,PATH_MAX,"%s",(tmp=lives_filename_to_utf8((tmp2=lives_file_chooser_get_filename(LIVES_FILE_CHOOSER(chooser))), - -1,NULL,NULL,NULL))); + lives_snprintf(file_name, PATH_MAX, "%s", (tmp = lives_filename_to_utf8((tmp2 = lives_file_chooser_get_filename(LIVES_FILE_CHOOSER( + chooser))), + -1, NULL, NULL, NULL))); lives_free(tmp); lives_free(tmp2); @@ -10611,70 +10333,70 @@ lives_widget_queue_draw(mainw->LiVES); lives_widget_context_update(); - lives_snprintf(mainw->audio_dir,PATH_MAX,"%s",file_name); + lives_snprintf(mainw->audio_dir, PATH_MAX, "%s", file_name); get_dirname(mainw->audio_dir); - a_type=get_extension(file_name); + a_type = get_extension(file_name); if (strlen(a_type)) { - char *filt[]=LIVES_AUDIO_LOAD_FILTER; - for (i=0; filt[i]!=NULL; i++) { - if (!lives_ascii_strcasecmp(a_type,filt[i]+2)) gotit=TRUE; // skip past "*." in filt + char *filt[] = LIVES_AUDIO_LOAD_FILTER; + for (i = 0; filt[i] != NULL; i++) { + if (!lives_ascii_strcasecmp(a_type, filt[i] + 2)) gotit = TRUE; // skip past "*." in filt } } if (gotit) { - com=lives_strdup_printf("%s append_audio \"%s\" \"%s\" %d %d %d %d %d \"%s\"",prefs->backend,cfile->handle, - a_type,cfile->arate, - cfile->achans,cfile->asampsize,asigned,aendian, - (tmp=lives_filename_from_utf8(file_name,-1,NULL,NULL,NULL))); + com = lives_strdup_printf("%s append_audio \"%s\" \"%s\" %d %d %d %d %d \"%s\"", prefs->backend, cfile->handle, + a_type, cfile->arate, + cfile->achans, cfile->asampsize, asigned, aendian, + (tmp = lives_filename_from_utf8(file_name, -1, NULL, NULL, NULL))); lives_free(tmp); } else { do_audio_import_error(); - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } return; } - lives_snprintf(mainw->msg,256,_("Appending audio file %s..."),file_name); + lives_snprintf(mainw->msg, 256, _("Appending audio file %s..."), file_name); d_print(""); // force switchtext d_print(mainw->msg); lives_rm(cfile->info_file); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } return; } - if (!do_progress_dialog(TRUE, TRUE,_("Appending audio"))) { + if (!do_progress_dialog(TRUE, TRUE, _("Appending audio"))) { lives_widget_queue_draw(mainw->LiVES); lives_widget_context_update(); - mainw->cancelled=CANCEL_NONE; - mainw->error=FALSE; - mainw->com_failed=FALSE; + mainw->cancelled = CANCEL_NONE; + mainw->error = FALSE; + mainw->com_failed = FALSE; lives_rm(cfile->info_file); - com=lives_strdup_printf("%s cancel_audio \"%s\"",prefs->backend,cfile->handle); - lives_system(com,FALSE); + com = lives_strdup_printf("%s cancel_audio \"%s\"", prefs->backend, cfile->handle); + lives_system(com, FALSE); if (!mainw->com_failed) { - do_auto_dialog(_("Cancelling"),0); + do_auto_dialog(_("Cancelling"), 0); check_backend_return(cfile); } lives_free(com); reget_afilesize(mainw->current_file); get_play_times(); if (mainw->error) d_print_failed(); - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } return; } @@ -10685,109 +10407,108 @@ } else { lives_widget_queue_draw(mainw->LiVES); lives_widget_context_update(); - com=lives_strdup_printf("%s commit_audio \"%s\"",prefs->backend,cfile->handle); - mainw->com_failed=FALSE; - mainw->cancelled=CANCEL_NONE; - mainw->error=FALSE; + com = lives_strdup_printf("%s commit_audio \"%s\"", prefs->backend, cfile->handle); + mainw->com_failed = FALSE; + mainw->cancelled = CANCEL_NONE; + mainw->error = FALSE; lives_rm(cfile->info_file); - lives_system(com,FALSE); + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { d_print_failed(); - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } return; } - do_auto_dialog(_("Committing audio"),0); + do_auto_dialog(_("Committing audio"), 0); check_backend_return(cfile); if (mainw->error) { d_print_failed(); - if (mainw->cancelled!=CANCEL_ERROR) do_error_dialog(mainw->msg); + if (mainw->cancelled != CANCEL_ERROR) do_error_dialog(mainw->msg); } else { get_dirname(file_name); - lives_snprintf(mainw->audio_dir,PATH_MAX,"%s",file_name); + lives_snprintf(mainw->audio_dir, PATH_MAX, "%s", file_name); reget_afilesize(mainw->current_file); - cfile->changed=TRUE; + cfile->changed = TRUE; get_play_times(); d_print_done(); } } - cfile->undo_action=UNDO_APPEND_AUDIO; - set_undoable(_("Append Audio"),!prefs->conserve_space); + cfile->undo_action = UNDO_APPEND_AUDIO; + set_undoable(_("Append Audio"), !prefs->conserve_space); - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } } - void on_trim_audio_activate(LiVESMenuItem *menuitem, livespointer user_data) { // type 0 == trim selected // type 1 == trim to play pointer - char *com,*msg; + char *com, *msg; - double start,end; + double start, end; - boolean has_lmap_error=FALSE; + boolean has_lmap_error = FALSE; - int type=LIVES_POINTER_TO_INT(user_data); + int type = LIVES_POINTER_TO_INT(user_data); - if (type==0) { - start=calc_time_from_frame(mainw->current_file,cfile->start); - end=calc_time_from_frame(mainw->current_file,cfile->end+1); + if (type == 0) { + start = calc_time_from_frame(mainw->current_file, cfile->start); + end = calc_time_from_frame(mainw->current_file, cfile->end + 1); } else { - start=0.; - end=cfile->pointer_time; + start = 0.; + end = cfile->pointer_time; } - if (!(prefs->warning_mask&WARN_MASK_LAYOUT_DELETE_AUDIO)) { - if (end<cfile->laudio_time&&(mainw->xlays=layout_audio_is_affected(mainw->current_file,end))!=NULL) { + if (!(prefs->warning_mask & WARN_MASK_LAYOUT_DELETE_AUDIO)) { + if (end < cfile->laudio_time && (mainw->xlays = layout_audio_is_affected(mainw->current_file, end)) != NULL) { if (!do_warning_dialog (_("\nDeletion will cause missing audio in some multitrack layouts.\nAre you sure you wish to continue ?\n"))) { lives_list_free_all(&mainw->xlays); return; } - add_lmap_error(LMAP_ERROR_DELETE_AUDIO,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0,end, - cfile->stored_layout_audio>end); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_DELETE_AUDIO, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, end, + cfile->stored_layout_audio > end); + has_lmap_error = TRUE; lives_list_free_all(&mainw->xlays); } } - if (!has_lmap_error&&!(prefs->warning_mask&WARN_MASK_LAYOUT_ALTER_AUDIO)&& - (mainw->xlays=layout_audio_is_affected(mainw->current_file,0.))!=NULL) { + if (!has_lmap_error && !(prefs->warning_mask & WARN_MASK_LAYOUT_ALTER_AUDIO) && + (mainw->xlays = layout_audio_is_affected(mainw->current_file, 0.)) != NULL) { if (!do_layout_alter_audio_warning()) { lives_list_free_all(&mainw->xlays); return; } - add_lmap_error(LMAP_ERROR_ALTER_AUDIO,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0,0., - cfile->stored_layout_audio>0.); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_ALTER_AUDIO, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, 0., + cfile->stored_layout_audio > 0.); + has_lmap_error = TRUE; lives_list_free_all(&mainw->xlays); } - if (end>cfile->laudio_time&&end>cfile->raudio_time) - msg=lives_strdup_printf(_("Padding audio to %.2f seconds..."),end); + if (end > cfile->laudio_time && end > cfile->raudio_time) + msg = lives_strdup_printf(_("Padding audio to %.2f seconds..."), end); else - msg=lives_strdup_printf(_("Trimming audio from %.2f to %.2f seconds..."),start,end); + msg = lives_strdup_printf(_("Trimming audio from %.2f to %.2f seconds..."), start, end); d_print(msg); lives_free(msg); - com=lives_strdup_printf("%s trim_audio \"%s\" %.8f %.8f %d %d %d %d %d",prefs->backend, cfile->handle, - start, end, cfile->arate, - cfile->achans, cfile->asampsize, !(cfile->signed_endian&AFORM_UNSIGNED), - !(cfile->signed_endian&AFORM_BIG_ENDIAN)); + com = lives_strdup_printf("%s trim_audio \"%s\" %.8f %.8f %d %d %d %d %d", prefs->backend, cfile->handle, + start, end, cfile->arate, + cfile->achans, cfile->asampsize, !(cfile->signed_endian & AFORM_UNSIGNED), + !(cfile->signed_endian & AFORM_BIG_ENDIAN)); lives_rm(cfile->info_file); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { @@ -10803,121 +10524,118 @@ } if (!prefs->conserve_space) { - set_undoable(_("Trim/Pad Audio"),!prefs->conserve_space); - cfile->undo_action=UNDO_TRIM_AUDIO; + set_undoable(_("Trim/Pad Audio"), !prefs->conserve_space); + cfile->undo_action = UNDO_TRIM_AUDIO; } reget_afilesize(mainw->current_file); get_play_times(); - cfile->changed=TRUE; + cfile->changed = TRUE; d_print_done(); - if (has_lmap_error) popup_lmap_errors(NULL,NULL); + if (has_lmap_error) popup_lmap_errors(NULL, NULL); - if (mainw->sl_undo_mem!=NULL&&cfile->stored_layout_audio!=0.) { + if (mainw->sl_undo_mem != NULL && cfile->stored_layout_audio != 0.) { // need to invalidate undo/redo stack, in case file was used in some layout undo stored_event_list_free_undos(); } - } - void on_fade_audio_activate(LiVESMenuItem *menuitem, livespointer user_data) { // type == 0 fade in // type == 1 fade out - double startt,endt,startv,endv,time=0.; - char *msg,*msg2,*utxt,*com; + double startt, endt, startv, endv, time = 0.; + char *msg, *msg2, *utxt, *com; - boolean has_lmap_error=FALSE; + boolean has_lmap_error = FALSE; int alarm_handle; int type; - aud_dialog_t *aud_d=NULL; + aud_dialog_t *aud_d = NULL; - if (menuitem!=NULL) { - cfile->undo1_int=type=LIVES_POINTER_TO_INT(user_data); - aud_d=create_audfade_dialog(type); - if (lives_dialog_run(LIVES_DIALOG(aud_d->dialog))==LIVES_RESPONSE_CANCEL) { + if (menuitem != NULL) { + cfile->undo1_int = type = LIVES_POINTER_TO_INT(user_data); + aud_d = create_audfade_dialog(type); + if (lives_dialog_run(LIVES_DIALOG(aud_d->dialog)) == LIVES_RESPONSE_CANCEL) { lives_widget_destroy(aud_d->dialog); lives_free(aud_d); return; } - time=lives_spin_button_get_value(LIVES_SPIN_BUTTON(aud_d->time_spin)); + time = lives_spin_button_get_value(LIVES_SPIN_BUTTON(aud_d->time_spin)); lives_widget_destroy(aud_d->dialog); } else { - type=cfile->undo1_int; + type = cfile->undo1_int; } - if (menuitem==NULL||!aud_d->is_sel) { - if (menuitem==NULL) { - endt=cfile->undo1_dbl; - startt=cfile->undo2_dbl; + if (menuitem == NULL || !aud_d->is_sel) { + if (menuitem == NULL) { + endt = cfile->undo1_dbl; + startt = cfile->undo2_dbl; } else { - if (type==0) { - cfile->undo2_dbl=startt=0.; - cfile->undo1_dbl=endt=time; + if (type == 0) { + cfile->undo2_dbl = startt = 0.; + cfile->undo1_dbl = endt = time; } else { - cfile->undo1_dbl=endt=cfile->laudio_time; - cfile->undo2_dbl=startt=cfile->laudio_time-time; + cfile->undo1_dbl = endt = cfile->laudio_time; + cfile->undo2_dbl = startt = cfile->laudio_time - time; } } } else { - cfile->undo2_dbl=startt=((double)cfile->start-1.)/cfile->fps; - cfile->undo1_dbl=endt=(double)cfile->end/cfile->fps; + cfile->undo2_dbl = startt = ((double)cfile->start - 1.) / cfile->fps; + cfile->undo1_dbl = endt = (double)cfile->end / cfile->fps; } - - if (type==0) { - startv=0.; - endv=1.; - msg2=lives_strdup(_("Fading audio in")); - utxt=lives_strdup(_("Fade audio in")); + if (type == 0) { + startv = 0.; + endv = 1.; + msg2 = lives_strdup(_("Fading audio in")); + utxt = lives_strdup(_("Fade audio in")); } else { - startv=1.; - endv=0.; - msg2=lives_strdup(_("Fading audio out")); - utxt=lives_strdup(_("Fade audio out")); + startv = 1.; + endv = 0.; + msg2 = lives_strdup(_("Fading audio out")); + utxt = lives_strdup(_("Fade audio out")); } - if (menuitem!=NULL) { - if (!(prefs->warning_mask&WARN_MASK_LAYOUT_ALTER_AUDIO)&& - (mainw->xlays=layout_audio_is_affected(mainw->current_file,0.))!=NULL) { + if (menuitem != NULL) { + if (!(prefs->warning_mask & WARN_MASK_LAYOUT_ALTER_AUDIO) && + (mainw->xlays = layout_audio_is_affected(mainw->current_file, 0.)) != NULL) { if (!do_layout_alter_audio_warning()) { lives_free(msg2); lives_free(utxt); lives_list_free_all(&mainw->xlays); return; } - add_lmap_error(LMAP_ERROR_ALTER_AUDIO,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0,0., - cfile->stored_layout_audio>0.); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_ALTER_AUDIO, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, 0., + cfile->stored_layout_audio > 0.); + has_lmap_error = TRUE; lives_list_free_all(&mainw->xlays); } if (!aud_d->is_sel) - msg=lives_strdup_printf(_("%s over %.1f seconds..."),msg2,time); + msg = lives_strdup_printf(_("%s over %.1f seconds..."), msg2, time); else - msg=lives_strdup_printf(_("%s from time %.2f seconds to %.2f seconds..."),msg2,startt,endt); + msg = lives_strdup_printf(_("%s from time %.2f seconds to %.2f seconds..."), msg2, startt, endt); d_print(msg); lives_free(msg); lives_free(msg2); } desensitize(); - do_threaded_dialog(_("Fading audio..."),FALSE); - alarm_handle=lives_alarm_set(LIVES_SHORTEST_TIMEOUT); + do_threaded_dialog(_("Fading audio..."), FALSE); + alarm_handle = lives_alarm_set(LIVES_SHORTEST_TIMEOUT); threaded_dialog_spin(0.); lives_widget_context_update(); threaded_dialog_spin(0.); if (!prefs->conserve_space) { - mainw->error=FALSE; - com=lives_strdup_printf("%s backup_audio \"%s\"",prefs->backend_sync,cfile->handle); - lives_system(com,FALSE); + mainw->error = FALSE; + com = lives_strdup_printf("%s backup_audio \"%s\"", prefs->backend_sync, cfile->handle); + lives_system(com, FALSE); lives_free(com); if (mainw->error) { @@ -10928,7 +10646,7 @@ } } - aud_fade(mainw->current_file,startt,endt,startv,endv); + aud_fade(mainw->current_file, startt, endt, startv, endv); audio_free_fnames(); while (!lives_alarm_get(alarm_handle)) { @@ -10940,60 +10658,56 @@ end_threaded_dialog(); d_print_done(); - cfile->changed=TRUE; + cfile->changed = TRUE; if (!prefs->conserve_space) { - set_undoable(utxt,TRUE); - cfile->undo_action=UNDO_FADE_AUDIO; + set_undoable(utxt, TRUE); + cfile->undo_action = UNDO_FADE_AUDIO; } lives_free(utxt); sensitize(); - if (has_lmap_error) popup_lmap_errors(NULL,NULL); + if (has_lmap_error) popup_lmap_errors(NULL, NULL); lives_freep((void **)&aud_d); - } - - - boolean on_del_audio_activate(LiVESMenuItem *menuitem, livespointer user_data) { - double start,end; - char *com,*msg=NULL; - boolean has_lmap_error=FALSE; - boolean bad_header=FALSE; + double start, end; + char *com, *msg = NULL; + boolean has_lmap_error = FALSE; + boolean bad_header = FALSE; - if (menuitem==NULL) { + if (menuitem == NULL) { // undo/redo - start=cfile->undo1_dbl; - end=cfile->undo2_dbl; + start = cfile->undo1_dbl; + end = cfile->undo2_dbl; } else { if (LIVES_POINTER_TO_INT(user_data)) { - if (!(prefs->warning_mask&WARN_MASK_LAYOUT_DELETE_AUDIO)) { - if ((mainw->xlays=layout_audio_is_affected(mainw->current_file,0.))!=NULL) { + if (!(prefs->warning_mask & WARN_MASK_LAYOUT_DELETE_AUDIO)) { + if ((mainw->xlays = layout_audio_is_affected(mainw->current_file, 0.)) != NULL) { if (!do_warning_dialog (_("\nDeletion will cause missing audio in some multitrack layouts.\nAre you sure you wish to continue ?\n"))) { lives_list_free_all(&mainw->xlays); return FALSE; } - add_lmap_error(LMAP_ERROR_DELETE_AUDIO,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0,0., - cfile->stored_layout_audio>0.); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_DELETE_AUDIO, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, 0., + cfile->stored_layout_audio > 0.); + has_lmap_error = TRUE; lives_list_free_all(&mainw->xlays); } } - if (!has_lmap_error&&!(prefs->warning_mask&WARN_MASK_LAYOUT_ALTER_AUDIO)&& - (mainw->xlays=layout_audio_is_affected(mainw->current_file,0.))!=NULL) { + if (!has_lmap_error && !(prefs->warning_mask & WARN_MASK_LAYOUT_ALTER_AUDIO) && + (mainw->xlays = layout_audio_is_affected(mainw->current_file, 0.)) != NULL) { if (!do_layout_alter_audio_warning()) { lives_list_free_all(&mainw->xlays); return FALSE; } - add_lmap_error(LMAP_ERROR_ALTER_AUDIO,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0,0., - cfile->stored_layout_audio>0.); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_ALTER_AUDIO, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, 0., + cfile->stored_layout_audio > 0.); + has_lmap_error = TRUE; lives_list_free_all(&mainw->xlays); } @@ -11001,116 +10715,115 @@ if (do_warning_dialog(_("\nDeleting all audio will close this file.\nAre you sure ?"))) close_current_file(0); return FALSE; } - msg=lives_strdup(_("Deleting all audio...")); - start=end=0.; + msg = lives_strdup(_("Deleting all audio...")); + start = end = 0.; } else { - start=calc_time_from_frame(mainw->current_file,cfile->start); - end=calc_time_from_frame(mainw->current_file,cfile->end+1); - msg=lives_strdup_printf(_("Deleting audio from %.2f to %.2f seconds..."),start,end); - start*=(double)cfile->arate/(double)cfile->arps; - end*=(double)cfile->arate/(double)cfile->arps; + start = calc_time_from_frame(mainw->current_file, cfile->start); + end = calc_time_from_frame(mainw->current_file, cfile->end + 1); + msg = lives_strdup_printf(_("Deleting audio from %.2f to %.2f seconds..."), start, end); + start *= (double)cfile->arate / (double)cfile->arps; + end *= (double)cfile->arate / (double)cfile->arps; - if (!(prefs->warning_mask&WARN_MASK_LAYOUT_SHIFT_AUDIO)) { - if ((mainw->xlays=layout_audio_is_affected(mainw->current_file,end))!=NULL) { + if (!(prefs->warning_mask & WARN_MASK_LAYOUT_SHIFT_AUDIO)) { + if ((mainw->xlays = layout_audio_is_affected(mainw->current_file, end)) != NULL) { if (!do_warning_dialog (_("\nDeletion will cause audio to shift in some multitrack layouts.\nAre you sure you wish to continue ?\n"))) { lives_list_free_all(&mainw->xlays); return FALSE; } - add_lmap_error(LMAP_ERROR_SHIFT_AUDIO,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0,start, - cfile->stored_layout_audio>end); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_SHIFT_AUDIO, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, start, + cfile->stored_layout_audio > end); + has_lmap_error = TRUE; lives_list_free_all(&mainw->xlays); } } - if (!has_lmap_error&&!(prefs->warning_mask&WARN_MASK_LAYOUT_DELETE_AUDIO)) { - if ((mainw->xlays=layout_audio_is_affected(mainw->current_file,start))!=NULL) { + if (!has_lmap_error && !(prefs->warning_mask & WARN_MASK_LAYOUT_DELETE_AUDIO)) { + if ((mainw->xlays = layout_audio_is_affected(mainw->current_file, start)) != NULL) { if (!do_warning_dialog (_("\nDeletion will cause missing audio in some multitrack layouts.\nAre you sure you wish to continue ?\n"))) { lives_list_free_all(&mainw->xlays); return FALSE; } - add_lmap_error(LMAP_ERROR_DELETE_AUDIO,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0,start, - cfile->stored_layout_audio>start); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_DELETE_AUDIO, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, start, + cfile->stored_layout_audio > start); + has_lmap_error = TRUE; lives_list_free_all(&mainw->xlays); } } - if (!has_lmap_error&&!(prefs->warning_mask&WARN_MASK_LAYOUT_ALTER_AUDIO)&& - (mainw->xlays=layout_audio_is_affected(mainw->current_file,0.))!=NULL) { + if (!has_lmap_error && !(prefs->warning_mask & WARN_MASK_LAYOUT_ALTER_AUDIO) && + (mainw->xlays = layout_audio_is_affected(mainw->current_file, 0.)) != NULL) { if (!do_layout_alter_audio_warning()) { lives_list_free_all(&mainw->xlays); return FALSE; } - add_lmap_error(LMAP_ERROR_ALTER_AUDIO,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0,0., - cfile->stored_layout_audio>0.); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_ALTER_AUDIO, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, 0., + cfile->stored_layout_audio > 0.); + has_lmap_error = TRUE; lives_list_free_all(&mainw->xlays); } - } - cfile->undo1_dbl=start; - cfile->undo2_dbl=end; + cfile->undo1_dbl = start; + cfile->undo2_dbl = end; } - cfile->undo_arate=cfile->arate; - cfile->undo_signed_endian=cfile->signed_endian; - cfile->undo_achans=cfile->achans; - cfile->undo_asampsize=cfile->asampsize; - cfile->undo_arps=cfile->arps; + cfile->undo_arate = cfile->arate; + cfile->undo_signed_endian = cfile->signed_endian; + cfile->undo_achans = cfile->achans; + cfile->undo_asampsize = cfile->asampsize; + cfile->undo_arps = cfile->arps; - if (msg!=NULL) { + if (msg != NULL) { d_print(""); d_print(msg); lives_free(msg); } - com=lives_strdup_printf("%s delete_audio \"%s\" %.8f %.8f %d %d %d", prefs->backend, - cfile->handle, start, end, cfile->arps, - cfile->achans, cfile->asampsize); + com = lives_strdup_printf("%s delete_audio \"%s\" %.8f %.8f %d %d %d", prefs->backend, + cfile->handle, start, end, cfile->arps, + cfile->achans, cfile->asampsize); lives_rm(cfile->info_file); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { - if (menuitem!=NULL) d_print_failed(); + if (menuitem != NULL) d_print_failed(); return FALSE; } do_progress_dialog(TRUE, FALSE, _("Deleting Audio")); if (mainw->error) { - if (menuitem!=NULL) d_print_failed(); + if (menuitem != NULL) d_print_failed(); return FALSE; } - set_undoable(_("Delete Audio"),TRUE); - cfile->undo_action=UNDO_DELETE_AUDIO; + set_undoable(_("Delete Audio"), TRUE); + cfile->undo_action = UNDO_DELETE_AUDIO; reget_afilesize(mainw->current_file); get_play_times(); - cfile->changed=TRUE; + cfile->changed = TRUE; sensitize(); - if (cfile->laudio_time==0.||cfile->raudio_time==0.) { - if (cfile->laudio_time==cfile->raudio_time) cfile->achans=0; - else cfile->achans=1; - save_clip_value(mainw->current_file,CLIP_DETAILS_ACHANS,&cfile->achans); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; + if (cfile->laudio_time == 0. || cfile->raudio_time == 0.) { + if (cfile->laudio_time == cfile->raudio_time) cfile->achans = 0; + else cfile->achans = 1; + save_clip_value(mainw->current_file, CLIP_DETAILS_ACHANS, &cfile->achans); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; if (bad_header) do_header_write_error(mainw->current_file); } - if (menuitem!=NULL) { + if (menuitem != NULL) { d_print_done(); } - if (has_lmap_error) popup_lmap_errors(NULL,NULL); + if (has_lmap_error) popup_lmap_errors(NULL, NULL); - if (mainw->sl_undo_mem!=NULL&&cfile->stored_layout_audio!=0.) { + if (mainw->sl_undo_mem != NULL && cfile->stored_layout_audio != 0.) { // need to invalidate undo/redo stack, in case file was used in some layout undo stored_event_list_free_undos(); } @@ -11120,237 +10833,231 @@ void on_rb_audrec_time_toggled(LiVESToggleButton *togglebutton, livespointer user_data) { - _resaudw *resaudw=(_resaudw *)user_data; + _resaudw *resaudw = (_resaudw *)user_data; if (lives_toggle_button_get_active(togglebutton)) { - lives_widget_set_sensitive(resaudw->hour_spinbutton,TRUE); - lives_widget_set_sensitive(resaudw->minute_spinbutton,TRUE); - lives_widget_set_sensitive(resaudw->second_spinbutton,TRUE); - } else { - lives_widget_set_sensitive(resaudw->hour_spinbutton,FALSE); - lives_widget_set_sensitive(resaudw->minute_spinbutton,FALSE); - lives_widget_set_sensitive(resaudw->second_spinbutton,FALSE); + lives_widget_set_sensitive(resaudw->hour_spinbutton, TRUE); + lives_widget_set_sensitive(resaudw->minute_spinbutton, TRUE); + lives_widget_set_sensitive(resaudw->second_spinbutton, TRUE); + } else { + lives_widget_set_sensitive(resaudw->hour_spinbutton, FALSE); + lives_widget_set_sensitive(resaudw->minute_spinbutton, FALSE); + lives_widget_set_sensitive(resaudw->second_spinbutton, FALSE); } } void on_recaudclip_activate(LiVESMenuItem *menuitem, livespointer user_data) { - if (!is_realtime_aplayer(prefs->audio_player)) { do_nojack_rec_error(); return; } - mainw->fx1_val=DEFAULT_AUDIO_RATE; - mainw->fx2_val=DEFAULT_AUDIO_CHANS; - mainw->fx3_val=DEFAULT_AUDIO_SAMPS; - mainw->fx4_val=mainw->endian; - mainw->rec_end_time=-1.; - resaudw=create_resaudw(5,NULL,NULL); + mainw->fx1_val = DEFAULT_AUDIO_RATE; + mainw->fx2_val = DEFAULT_AUDIO_CHANS; + mainw->fx3_val = DEFAULT_AUDIO_SAMPS; + mainw->fx4_val = mainw->endian; + mainw->rec_end_time = -1.; + resaudw = create_resaudw(5, NULL, NULL); lives_widget_show(resaudw->dialog); } - static boolean has_lmap_error_recsel; - void on_recaudsel_activate(LiVESMenuItem *menuitem, livespointer user_data) { - if (!is_realtime_aplayer(prefs->audio_player)) { do_nojack_rec_error(); return; } - has_lmap_error_recsel=FALSE; - if ((prefs->warning_mask&WARN_MASK_LAYOUT_ALTER_AUDIO)&& - (mainw->xlays=layout_audio_is_affected(mainw->current_file,0.))!=NULL) { + has_lmap_error_recsel = FALSE; + if ((prefs->warning_mask & WARN_MASK_LAYOUT_ALTER_AUDIO) && + (mainw->xlays = layout_audio_is_affected(mainw->current_file, 0.)) != NULL) { if (!do_layout_alter_audio_warning()) { - has_lmap_error_recsel=FALSE; + has_lmap_error_recsel = FALSE; lives_list_free_all(&mainw->xlays); return; } - add_lmap_error(LMAP_ERROR_ALTER_AUDIO,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0,0., - cfile->stored_layout_audio>0.); - has_lmap_error_recsel=TRUE; + add_lmap_error(LMAP_ERROR_ALTER_AUDIO, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, 0., + cfile->stored_layout_audio > 0.); + has_lmap_error_recsel = TRUE; lives_list_free_all(&mainw->xlays); } - mainw->rec_end_time=(cfile->end-cfile->start+1.)/cfile->fps; + mainw->rec_end_time = (cfile->end - cfile->start + 1.) / cfile->fps; - if (cfile->achans>0) { - mainw->fx1_val=cfile->arate; - mainw->fx2_val=cfile->achans; - mainw->fx3_val=cfile->asampsize; - mainw->fx4_val=cfile->signed_endian; - resaudw=create_resaudw(7,NULL,NULL); - } else { - mainw->fx1_val=DEFAULT_AUDIO_RATE; - mainw->fx2_val=DEFAULT_AUDIO_CHANS; - mainw->fx3_val=DEFAULT_AUDIO_SAMPS; - mainw->fx4_val=mainw->endian; - resaudw=create_resaudw(6,NULL,NULL); + if (cfile->achans > 0) { + mainw->fx1_val = cfile->arate; + mainw->fx2_val = cfile->achans; + mainw->fx3_val = cfile->asampsize; + mainw->fx4_val = cfile->signed_endian; + resaudw = create_resaudw(7, NULL, NULL); + } else { + mainw->fx1_val = DEFAULT_AUDIO_RATE; + mainw->fx2_val = DEFAULT_AUDIO_CHANS; + mainw->fx3_val = DEFAULT_AUDIO_SAMPS; + mainw->fx4_val = mainw->endian; + resaudw = create_resaudw(6, NULL, NULL); } lives_widget_show_all(resaudw->dialog); } - void on_recaudclip_ok_clicked(LiVESButton *button, livespointer user_data) { #ifdef RT_AUDIO weed_timecode_t ins_pt; - double aud_start,aud_end,vel=1.,vol=1.; + double aud_start, aud_end, vel = 1., vol = 1.; - int asigned=1,aendian=1; - int old_file=mainw->current_file,new_file; - int type=LIVES_POINTER_TO_INT(user_data); - int oachans=0,oarate=0,oarps=0,ose=0,oasamps=0; - boolean backr=FALSE; + int asigned = 1, aendian = 1; + int old_file = mainw->current_file, new_file; + int type = LIVES_POINTER_TO_INT(user_data); + int oachans = 0, oarate = 0, oarps = 0, ose = 0, oasamps = 0; + boolean backr = FALSE; char *com; - // type == 0 - new clip // type == 1 - existing clip - if (type==1) d_print(""); // show switch message, if appropriate + if (type == 1) d_print(""); // show switch message, if appropriate - mainw->current_file=mainw->first_free_file; - if (!get_new_handle(mainw->current_file,NULL)) { - mainw->current_file=old_file; + mainw->current_file = mainw->first_free_file; + if (!get_new_handle(mainw->current_file, NULL)) { + mainw->current_file = old_file; return; } - cfile->is_loaded=TRUE; - cfile->img_type=IMG_TYPE_BEST; // override the pref + cfile->is_loaded = TRUE; + cfile->img_type = IMG_TYPE_BEST; // override the pref - cfile->arps=cfile->arate=(int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_arate))); - cfile->achans=(int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_achans))); - cfile->asampsize=(int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_asamps))); + cfile->arps = cfile->arate = (int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_arate))); + cfile->achans = (int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_achans))); + cfile->asampsize = (int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_asamps))); if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->unlim_radiobutton))) { - mainw->rec_end_time=-1.; - mainw->rec_samples=-1; + mainw->rec_end_time = -1.; + mainw->rec_samples = -1; } else { - mainw->rec_end_time=(lives_spin_button_get_value(LIVES_SPIN_BUTTON(resaudw->hour_spinbutton))*60. - +lives_spin_button_get_value(LIVES_SPIN_BUTTON(resaudw->minute_spinbutton)))*60. - +lives_spin_button_get_value(LIVES_SPIN_BUTTON(resaudw->second_spinbutton)); - mainw->rec_samples=mainw->rec_end_time*cfile->arate; + mainw->rec_end_time = (lives_spin_button_get_value(LIVES_SPIN_BUTTON(resaudw->hour_spinbutton)) * 60. + + lives_spin_button_get_value(LIVES_SPIN_BUTTON(resaudw->minute_spinbutton))) * 60. + + lives_spin_button_get_value(LIVES_SPIN_BUTTON(resaudw->second_spinbutton)); + mainw->rec_samples = mainw->rec_end_time * cfile->arate; } if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->rb_unsigned))) { - asigned=0; + asigned = 0; } if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->rb_bigend))) { - aendian=0; + aendian = 0; } - mainw->is_processing=TRUE; + mainw->is_processing = TRUE; - cfile->signed_endian=get_signed_endian(asigned,aendian); + cfile->signed_endian = get_signed_endian(asigned, aendian); lives_widget_destroy(resaudw->dialog); lives_widget_context_update(); lives_freep((void **)&resaudw); - if (cfile->arate<=0) { + if (cfile->arate <= 0) { do_audrate_error_dialog(); - mainw->is_processing=FALSE; + mainw->is_processing = FALSE; close_current_file(old_file); return; } - if (mainw->rec_end_time==0.) { + if (mainw->rec_end_time == 0.) { do_error_dialog(_("\nRecord time must be greater than 0.\n")); - mainw->is_processing=FALSE; + mainw->is_processing = FALSE; close_current_file(old_file); return; } - asigned=!asigned; + asigned = !asigned; - if (type==0) { - lives_snprintf(cfile->type,40,"Audio"); + if (type == 0) { + lives_snprintf(cfile->type, 40, "Audio"); add_to_clipmenu(); - lives_notify(LIVES_OSC_NOTIFY_CLIP_OPENED,""); + lives_notify(LIVES_OSC_NOTIFY_CLIP_OPENED, ""); } - mainw->effects_paused=FALSE; + mainw->effects_paused = FALSE; - if (type==1) { - oachans=mainw->files[old_file]->achans; - oarate=mainw->files[old_file]->arate; - oarps=mainw->files[old_file]->arps; - oasamps=mainw->files[old_file]->asampsize; - ose=mainw->files[old_file]->signed_endian; + if (type == 1) { + oachans = mainw->files[old_file]->achans; + oarate = mainw->files[old_file]->arate; + oarps = mainw->files[old_file]->arps; + oasamps = mainw->files[old_file]->asampsize; + ose = mainw->files[old_file]->signed_endian; - mainw->files[old_file]->arate=mainw->files[old_file]->arps=cfile->arate; - mainw->files[old_file]->asampsize=cfile->asampsize; - mainw->files[old_file]->achans=cfile->achans; - mainw->files[old_file]->signed_endian=cfile->signed_endian; + mainw->files[old_file]->arate = mainw->files[old_file]->arps = cfile->arate; + mainw->files[old_file]->asampsize = cfile->asampsize; + mainw->files[old_file]->achans = cfile->achans; + mainw->files[old_file]->signed_endian = cfile->signed_endian; } - mainw->suppress_dprint=TRUE; - mainw->no_switch_dprint=TRUE; + mainw->suppress_dprint = TRUE; + mainw->no_switch_dprint = TRUE; #ifdef ENABLE_JACK - if (prefs->audio_player==AUD_PLAYER_JACK) { - jack_rec_audio_to_clip(mainw->current_file,old_file,type==0?RECA_NEW_CLIP:RECA_EXISTING); - mainw->jackd_read->in_use=TRUE; + if (prefs->audio_player == AUD_PLAYER_JACK) { + jack_rec_audio_to_clip(mainw->current_file, old_file, type == 0 ? RECA_NEW_CLIP : RECA_EXISTING); + mainw->jackd_read->in_use = TRUE; } #endif #ifdef HAVE_PULSE_AUDIO - if (prefs->audio_player==AUD_PLAYER_PULSE) { - pulse_rec_audio_to_clip(mainw->current_file,old_file,type==0?RECA_NEW_CLIP:RECA_EXISTING); - mainw->pulsed_read->in_use=TRUE; + if (prefs->audio_player == AUD_PLAYER_PULSE) { + pulse_rec_audio_to_clip(mainw->current_file, old_file, type == 0 ? RECA_NEW_CLIP : RECA_EXISTING); + mainw->pulsed_read->in_use = TRUE; } #endif - if (type==1) { + if (type == 1) { // set these again, as playsel may have reset them - mainw->files[old_file]->arate=mainw->files[old_file]->arps=cfile->arate; - mainw->files[old_file]->asampsize=cfile->asampsize; - mainw->files[old_file]->achans=cfile->achans; - mainw->files[old_file]->signed_endian=cfile->signed_endian; - } - - if (type!=1&&mainw->cancelled==CANCEL_USER) { - mainw->cancelled=CANCEL_NONE; - if (type==1) { - mainw->files[old_file]->arps=oarps; - mainw->files[old_file]->arate=oarate; - mainw->files[old_file]->achans=oachans; - mainw->files[old_file]->asampsize=oasamps; - mainw->files[old_file]->signed_endian=ose; + mainw->files[old_file]->arate = mainw->files[old_file]->arps = cfile->arate; + mainw->files[old_file]->asampsize = cfile->asampsize; + mainw->files[old_file]->achans = cfile->achans; + mainw->files[old_file]->signed_endian = cfile->signed_endian; + } + + if (type != 1 && mainw->cancelled == CANCEL_USER) { + mainw->cancelled = CANCEL_NONE; + if (type == 1) { + mainw->files[old_file]->arps = oarps; + mainw->files[old_file]->arate = oarate; + mainw->files[old_file]->achans = oachans; + mainw->files[old_file]->asampsize = oasamps; + mainw->files[old_file]->signed_endian = ose; } - mainw->is_processing=FALSE; + mainw->is_processing = FALSE; close_current_file(old_file); - mainw->suppress_dprint=FALSE; + mainw->suppress_dprint = FALSE; d_print_cancelled(); - mainw->no_switch_dprint=FALSE; + mainw->no_switch_dprint = FALSE; return; } - mainw->cancelled=CANCEL_NONE; + mainw->cancelled = CANCEL_NONE; lives_widget_context_update(); - if (type==1) { + if (type == 1) { // set these again in case reget_afilesize() reset them - cfile->arate=cfile->arps=mainw->files[old_file]->arate; - cfile->asampsize=mainw->files[old_file]->asampsize; - cfile->achans=mainw->files[old_file]->achans; - cfile->signed_endian=mainw->files[old_file]->signed_endian; + cfile->arate = cfile->arps = mainw->files[old_file]->arate; + cfile->asampsize = mainw->files[old_file]->asampsize; + cfile->achans = mainw->files[old_file]->achans; + cfile->signed_endian = mainw->files[old_file]->signed_endian; - do_threaded_dialog(_("Committing audio"),FALSE); - aud_start=0.; + do_threaded_dialog(_("Committing audio"), FALSE); + aud_start = 0.; reget_afilesize(mainw->current_file); get_total_time(cfile); - aud_end=cfile->laudio_time; - ins_pt=(mainw->files[old_file]->start-1.)/mainw->files[old_file]->fps*U_SEC; + aud_end = cfile->laudio_time; + ins_pt = (mainw->files[old_file]->start - 1.) / mainw->files[old_file]->fps * U_SEC; if (!prefs->conserve_space) { - mainw->error=FALSE; - com=lives_strdup_printf("%s backup_audio \"%s\"",prefs->backend_sync,mainw->files[old_file]->handle); - lives_system(com,FALSE); + mainw->error = FALSE; + com = lives_strdup_printf("%s backup_audio \"%s\"", prefs->backend_sync, mainw->files[old_file]->handle); + lives_system(com, FALSE); lives_free(com); if (mainw->error) { @@ -11358,175 +11065,171 @@ d_print_failed(); return; } - } - - mainw->read_failed=mainw->write_failed=FALSE; + mainw->read_failed = mainw->write_failed = FALSE; lives_freep((void **)&mainw->read_failed_file); // copy audio from old clip to current - render_audio_segment(1,&(mainw->current_file),old_file,&vel,&aud_start,ins_pt, - ins_pt+(weed_timecode_t)((aud_end-aud_start)*U_SEC),&vol,vol,vol,NULL); + render_audio_segment(1, &(mainw->current_file), old_file, &vel, &aud_start, ins_pt, + ins_pt + (weed_timecode_t)((aud_end - aud_start)*U_SEC), &vol, vol, vol, NULL); end_threaded_dialog(); close_current_file(old_file); if (mainw->write_failed) { // on failure - int outfile=(mainw->multitrack!=NULL?mainw->multitrack->render_file:mainw->current_file); - char *outfilename=lives_build_filename(prefs->workdir,mainw->files[outfile]->handle,"audio",NULL); - do_write_failed_error_s(outfilename,NULL); + int outfile = (mainw->multitrack != NULL ? mainw->multitrack->render_file : mainw->current_file); + char *outfilename = lives_build_filename(prefs->workdir, mainw->files[outfile]->handle, "audio", NULL); + do_write_failed_error_s(outfilename, NULL); - if (!prefs->conserve_space&&type==1) { + if (!prefs->conserve_space && type == 1) { // try to recover backup - com=lives_strdup_printf("%s undo_audio \"%s\"",prefs->backend_sync,mainw->files[old_file]->handle); - lives_system(com,FALSE); + com = lives_strdup_printf("%s undo_audio \"%s\"", prefs->backend_sync, mainw->files[old_file]->handle); + lives_system(com, FALSE); lives_free(com); - backr=TRUE; + backr = TRUE; } } if (mainw->read_failed) { - do_read_failed_error_s(mainw->read_failed_file,NULL); + do_read_failed_error_s(mainw->read_failed_file, NULL); lives_freep((void **)&mainw->read_failed_file); - if (!prefs->conserve_space&&type==1&&!backr) { + if (!prefs->conserve_space && type == 1 && !backr) { // try to recover backup - com=lives_strdup_printf("%s undo_audio \"%s\"",prefs->backend_sync,mainw->files[old_file]->handle); - lives_system(com,FALSE); + com = lives_strdup_printf("%s undo_audio \"%s\"", prefs->backend_sync, mainw->files[old_file]->handle); + lives_system(com, FALSE); lives_free(com); } } - } - mainw->suppress_dprint=FALSE; - cfile->changed=TRUE; + mainw->suppress_dprint = FALSE; + cfile->changed = TRUE; save_clip_values(mainw->current_file); - mainw->cancelled=CANCEL_NONE; + mainw->cancelled = CANCEL_NONE; - new_file=mainw->current_file; - if (type==0) switch_to_file((mainw->current_file=0),new_file); + new_file = mainw->current_file; + if (type == 0) switch_to_file((mainw->current_file = 0), new_file); else { if (!prefs->conserve_space) { - set_undoable(_("Record new audio"),TRUE); - cfile->undo_action=UNDO_REC_AUDIO; + set_undoable(_("Record new audio"), TRUE); + cfile->undo_action = UNDO_REC_AUDIO; } } d_print_done(); - mainw->no_switch_dprint=FALSE; + mainw->no_switch_dprint = FALSE; if (has_lmap_error_recsel) { - has_lmap_error_recsel=FALSE; - popup_lmap_errors(NULL,NULL); + has_lmap_error_recsel = FALSE; + popup_lmap_errors(NULL, NULL); } - mainw->is_processing=FALSE; + mainw->is_processing = FALSE; #endif } boolean on_ins_silence_activate(LiVESMenuItem *menuitem, livespointer user_data) { - double start=0,end=0; + double start = 0, end = 0; char *com; - boolean has_lmap_error=FALSE; - boolean has_new_audio=FALSE; + boolean has_lmap_error = FALSE; + boolean has_new_audio = FALSE; if (!cfile->achans) { - has_new_audio=TRUE; + has_new_audio = TRUE; } - if (menuitem==NULL) { + if (menuitem == NULL) { // redo - start=cfile->undo1_dbl; - end=cfile->undo2_dbl; - cfile->arate=cfile->undo_arate; - cfile->signed_endian=cfile->undo_signed_endian; - cfile->achans=cfile->undo_achans; - cfile->asampsize=cfile->undo_asampsize; - cfile->arps=cfile->undo_arps; + start = cfile->undo1_dbl; + end = cfile->undo2_dbl; + cfile->arate = cfile->undo_arate; + cfile->signed_endian = cfile->undo_signed_endian; + cfile->achans = cfile->undo_achans; + cfile->asampsize = cfile->undo_asampsize; + cfile->arps = cfile->undo_arps; } if (!cfile->achans) { - mainw->fx1_val=DEFAULT_AUDIO_RATE; - mainw->fx2_val=DEFAULT_AUDIO_CHANS; - mainw->fx3_val=DEFAULT_AUDIO_SAMPS; - mainw->fx4_val=mainw->endian; - resaudw=create_resaudw(2,NULL,NULL); - if (lives_dialog_run(LIVES_DIALOG(resaudw->dialog))!=LIVES_RESPONSE_OK) return FALSE; + mainw->fx1_val = DEFAULT_AUDIO_RATE; + mainw->fx2_val = DEFAULT_AUDIO_CHANS; + mainw->fx3_val = DEFAULT_AUDIO_SAMPS; + mainw->fx4_val = mainw->endian; + resaudw = create_resaudw(2, NULL, NULL); + if (lives_dialog_run(LIVES_DIALOG(resaudw->dialog)) != LIVES_RESPONSE_OK) return FALSE; if (mainw->error) { - mainw->error=FALSE; + mainw->error = FALSE; return FALSE; } - cfile->undo_arate=cfile->arate; - cfile->undo_signed_endian=cfile->signed_endian; - cfile->undo_achans=cfile->achans; - cfile->undo_asampsize=cfile->asampsize; + cfile->undo_arate = cfile->arate; + cfile->undo_signed_endian = cfile->signed_endian; + cfile->undo_achans = cfile->achans; + cfile->undo_asampsize = cfile->asampsize; } + if (menuitem != NULL) { + start = calc_time_from_frame(mainw->current_file, cfile->start); + end = calc_time_from_frame(mainw->current_file, cfile->end + 1); - if (menuitem!=NULL) { - start=calc_time_from_frame(mainw->current_file,cfile->start); - end=calc_time_from_frame(mainw->current_file,cfile->end+1); - - if (!(prefs->warning_mask&WARN_MASK_LAYOUT_SHIFT_AUDIO)) { - if ((mainw->xlays=layout_audio_is_affected(mainw->current_file,start))!=NULL) { + if (!(prefs->warning_mask & WARN_MASK_LAYOUT_SHIFT_AUDIO)) { + if ((mainw->xlays = layout_audio_is_affected(mainw->current_file, start)) != NULL) { if (!do_warning_dialog(_("\nInsertion will cause audio to shift in some multitrack layouts.\nAre you sure you wish to continue ?\n"))) { lives_list_free_all(&mainw->xlays); - if (has_new_audio) cfile->achans=cfile->arate=cfile->asampsize=cfile->arps=0; + if (has_new_audio) cfile->achans = cfile->arate = cfile->asampsize = cfile->arps = 0; return FALSE; } - add_lmap_error(LMAP_ERROR_SHIFT_AUDIO,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0,start, - cfile->stored_layout_audio>start); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_SHIFT_AUDIO, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, start, + cfile->stored_layout_audio > start); + has_lmap_error = TRUE; lives_list_free_all(&mainw->xlays); } } - if (!has_lmap_error&&!(prefs->warning_mask&WARN_MASK_LAYOUT_ALTER_AUDIO) - &&(mainw->xlays=layout_audio_is_affected(mainw->current_file,0.))!=NULL) { + if (!has_lmap_error && !(prefs->warning_mask & WARN_MASK_LAYOUT_ALTER_AUDIO) + && (mainw->xlays = layout_audio_is_affected(mainw->current_file, 0.)) != NULL) { if (!do_layout_alter_audio_warning()) { lives_list_free_all(&mainw->xlays); - if (has_new_audio) cfile->achans=cfile->arate=cfile->asampsize=cfile->arps=0; + if (has_new_audio) cfile->achans = cfile->arate = cfile->asampsize = cfile->arps = 0; return FALSE; } - add_lmap_error(LMAP_ERROR_ALTER_AUDIO,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0,start, - cfile->stored_layout_audio>0.); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_ALTER_AUDIO, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, start, + cfile->stored_layout_audio > 0.); + has_lmap_error = TRUE; lives_list_free_all(&mainw->xlays); } d_print(""); // force switchtext - d_print(_("Inserting silence from %.2f to %.2f seconds..."),start,end); + d_print(_("Inserting silence from %.2f to %.2f seconds..."), start, end); } - cfile->undo1_dbl=start; - start*=(double)cfile->arate/(double)cfile->arps; - cfile->undo2_dbl=end; - end*=(double)cfile->arate/(double)cfile->arps; + cfile->undo1_dbl = start; + start *= (double)cfile->arate / (double)cfile->arps; + cfile->undo2_dbl = end; + end *= (double)cfile->arate / (double)cfile->arps; // store values for undo - cfile->old_laudio_time=cfile->laudio_time; - cfile->old_raudio_time=cfile->raudio_time; + cfile->old_laudio_time = cfile->laudio_time; + cfile->old_raudio_time = cfile->raudio_time; // with_sound is 2 (audio only), therfore start, end, where, are in seconds. rate is -ve to indicate silence - com=lives_strdup_printf("%s insert \"%s\" \"%s\" %.8f 0. %.8f \"%s\" 2 0 0 0 0 %d %d %d %d %d 1", - prefs->backend, cfile->handle, - get_image_ext_for_type(cfile->img_type), start, end-start, cfile->handle, -cfile->arps, - cfile->achans, cfile->asampsize, !(cfile->signed_endian&AFORM_UNSIGNED), - !(cfile->signed_endian&AFORM_BIG_ENDIAN)); + com = lives_strdup_printf("%s insert \"%s\" \"%s\" %.8f 0. %.8f \"%s\" 2 0 0 0 0 %d %d %d %d %d 1", + prefs->backend, cfile->handle, + get_image_ext_for_type(cfile->img_type), start, end - start, cfile->handle, -cfile->arps, + cfile->achans, cfile->asampsize, !(cfile->signed_endian & AFORM_UNSIGNED), + !(cfile->signed_endian & AFORM_BIG_ENDIAN)); lives_rm(cfile->info_file); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { d_print_failed(); - if (has_new_audio) cfile->achans=cfile->arate=cfile->asampsize=cfile->arps=0; + if (has_new_audio) cfile->achans = cfile->arate = cfile->asampsize = cfile->arps = 0; return FALSE; } @@ -11534,33 +11237,33 @@ if (mainw->error) { d_print_failed(); - if (has_new_audio) cfile->achans=cfile->arate=cfile->asampsize=cfile->arps=0; + if (has_new_audio) cfile->achans = cfile->arate = cfile->asampsize = cfile->arps = 0; return FALSE; } if (has_new_audio) { - cfile->arate=cfile->arps=cfile->undo_arate; - cfile->signed_endian=cfile->undo_signed_endian; - cfile->achans=cfile->undo_achans; - cfile->asampsize=cfile->undo_asampsize; + cfile->arate = cfile->arps = cfile->undo_arate; + cfile->signed_endian = cfile->undo_signed_endian; + cfile->achans = cfile->undo_achans; + cfile->asampsize = cfile->undo_asampsize; } - set_undoable(_("Insert Silence"),TRUE); - cfile->undo_action=UNDO_INSERT_SILENCE; + set_undoable(_("Insert Silence"), TRUE); + cfile->undo_action = UNDO_INSERT_SILENCE; reget_afilesize(mainw->current_file); get_play_times(); - cfile->changed=TRUE; + cfile->changed = TRUE; save_clip_values(mainw->current_file); - if (menuitem!=NULL) { + if (menuitem != NULL) { sensitize(); d_print_done(); } - if (has_lmap_error) popup_lmap_errors(NULL,NULL); + if (has_lmap_error) popup_lmap_errors(NULL, NULL); - if (mainw->sl_undo_mem!=NULL&&cfile->stored_layout_audio!=0.) { + if (mainw->sl_undo_mem != NULL && cfile->stored_layout_audio != 0.) { // need to invalidate undo/redo stack, in case file was used in some layout undo stored_event_list_free_undos(); } @@ -11569,95 +11272,93 @@ } - void on_ins_silence_details_clicked(LiVESButton *button, livespointer user_data) { - int asigned=1,aendian=1; - boolean bad_header=FALSE; + int asigned = 1, aendian = 1; + boolean bad_header = FALSE; - cfile->arps=cfile->arate=(int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_arate))); - cfile->achans=(int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_achans))); - cfile->asampsize=(int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_asamps))); + cfile->arps = cfile->arate = (int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_arate))); + cfile->achans = (int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_achans))); + cfile->asampsize = (int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_asamps))); if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->rb_unsigned))) { - asigned=0; + asigned = 0; } if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->rb_bigend))) { - aendian=0; + aendian = 0; } - cfile->signed_endian=get_signed_endian(asigned,aendian); + cfile->signed_endian = get_signed_endian(asigned, aendian); lives_widget_destroy(resaudw->dialog); lives_widget_context_update(); lives_freep((void **)&resaudw); - if (cfile->arate<=0) { + if (cfile->arate <= 0) { do_audrate_error_dialog(); - cfile->achans=cfile->arate=cfile->arps=cfile->asampsize=0; - save_clip_value(mainw->current_file,CLIP_DETAILS_ARATE,&cfile->arps); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_PB_ARATE,&cfile->arate); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_ACHANS,&cfile->achans); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_ASAMPS,&cfile->asampsize); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; + cfile->achans = cfile->arate = cfile->arps = cfile->asampsize = 0; + save_clip_value(mainw->current_file, CLIP_DETAILS_ARATE, &cfile->arps); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_PB_ARATE, &cfile->arate); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_ACHANS, &cfile->achans); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_ASAMPS, &cfile->asampsize); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; if (bad_header) do_header_write_error(mainw->current_file); - mainw->error=TRUE; + mainw->error = TRUE; return; } - mainw->error=FALSE; + mainw->error = FALSE; } void on_lerrors_clear_clicked(LiVESButton *button, livespointer user_data) { - boolean close=LIVES_POINTER_TO_INT(user_data); + boolean close = LIVES_POINTER_TO_INT(user_data); - if (mainw->multitrack!=NULL) { - if (mainw->multitrack->idlefunc>0) { + if (mainw->multitrack != NULL) { + if (mainw->multitrack->idlefunc > 0) { lives_source_remove(mainw->multitrack->idlefunc); - mainw->multitrack->idlefunc=0; + mainw->multitrack->idlefunc = 0; } mt_desensitise(mainw->multitrack); } clear_lmap_errors(); - save_layout_map(NULL,NULL,NULL,NULL); - if (close) lives_general_button_clicked(button,textwindow); + save_layout_map(NULL, NULL, NULL, NULL); + if (close) lives_general_button_clicked(button, textwindow); else { lives_widget_queue_draw(lives_widget_get_toplevel(LIVES_WIDGET(button))); - lives_widget_set_sensitive(textwindow->clear_button,FALSE); - lives_widget_set_sensitive(textwindow->delete_button,FALSE); + lives_widget_set_sensitive(textwindow->clear_button, FALSE); + lives_widget_set_sensitive(textwindow->delete_button, FALSE); - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } } } void on_lerrors_delete_clicked(LiVESButton *button, livespointer user_data) { - int num_maps=lives_list_length(mainw->affected_layouts_map); - char *msg=lives_strdup_printf(P_("\nDelete %d layout...are you sure ?\n","\nDelete %d layouts...are you sure ?\n",num_maps),num_maps); + int num_maps = lives_list_length(mainw->affected_layouts_map); + char *msg = lives_strdup_printf(P_("\nDelete %d layout...are you sure ?\n", "\nDelete %d layouts...are you sure ?\n", num_maps), num_maps); - if (mainw->multitrack!=NULL) { - if (mainw->multitrack->idlefunc>0) { + if (mainw->multitrack != NULL) { + if (mainw->multitrack->idlefunc > 0) { lives_source_remove(mainw->multitrack->idlefunc); - mainw->multitrack->idlefunc=0; + mainw->multitrack->idlefunc = 0; } mt_desensitise(mainw->multitrack); } if (!do_warning_dialog(msg)) { lives_free(msg); - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } return; } lives_free(msg); remove_layout_files(mainw->affected_layouts_map); - on_lerrors_clear_clicked(button,LIVES_INT_TO_POINTER(TRUE)); + on_lerrors_clear_clicked(button, LIVES_INT_TO_POINTER(TRUE)); } -
View file
LiVES-2.8.4.tar.bz2/src/callbacks.h -> LiVES-2.8.6.tar.bz2/src/callbacks.h
Changed
@@ -193,24 +193,11 @@ void on_spin_end_value_changed(LiVESSpinButton *, livespointer); +EXPOSE_FN_PROTOTYPE(expose_vid_event) -#if GTK_CHECK_VERSION(3,0,0) -boolean expose_vid_event(LiVESWidget *, lives_painter_t *cr, livespointer); -#else -boolean expose_vid_event(LiVESWidget *, LiVESXEventExpose *event); -#endif +EXPOSE_FN_PROTOTYPE(expose_laud_event) -#if GTK_CHECK_VERSION(3,0,0) -boolean expose_laud_event(LiVESWidget *, lives_painter_t *cr, livespointer); -#else -boolean expose_laud_event(LiVESWidget *, LiVESXEventExpose *event); -#endif - -#if GTK_CHECK_VERSION(3,0,0) -boolean expose_raud_event(LiVESWidget *, lives_painter_t *cr, livespointer); -#else -boolean expose_raud_event(LiVESWidget *, LiVESXEventExpose *event); -#endif +EXPOSE_FN_PROTOTYPE(expose_raud_event) void on_preview_clicked(LiVESButton *, livespointer); @@ -298,7 +285,7 @@ void on_recaudclip_ok_clicked(LiVESButton *, livespointer); -#if GTK_CHECK_VERSION(2,14,0) +#if GTK_CHECK_VERSION(2, 14, 0) void on_volume_slider_value_changed(LiVESScaleButton *, livespointer); #else void on_volume_slider_value_changed(LiVESRange *, livespointer);
View file
LiVES-2.8.4.tar.bz2/src/ce_thumbs.c -> LiVES-2.8.6.tar.bz2/src/ce_thumbs.c
Changed
@@ -48,15 +48,15 @@ register int i; if (!interactive) { - for (i=0; i<rte_keys_virtual; i++) { - lives_widget_set_sensitive(fxcombos[i],FALSE); - lives_widget_set_sensitive(key_checks[i],FALSE); + for (i = 0; i < rte_keys_virtual; i++) { + lives_widget_set_sensitive(fxcombos[i], FALSE); + lives_widget_set_sensitive(key_checks[i], FALSE); } } else { - for (i=0; i<rte_keys_virtual; i++) { - lives_widget_set_sensitive(fxcombos[i],TRUE); - if (rte_key_getmaxmode(i+1)>0) { - lives_widget_set_sensitive(key_checks[i],TRUE); + for (i = 0; i < rte_keys_virtual; i++) { + lives_widget_set_sensitive(fxcombos[i], TRUE); + if (rte_key_getmaxmode(i + 1) > 0) { + lives_widget_set_sensitive(key_checks[i], TRUE); } } } @@ -65,26 +65,26 @@ #if LIVES_HAS_GRID_WIDGET static boolean switch_clip_cb(LiVESWidget *eventbox, LiVESXEventButton *event, livespointer user_data) { - int i=LIVES_POINTER_TO_INT(user_data); - if (mainw->playing_file==-1) return FALSE; + int i = LIVES_POINTER_TO_INT(user_data); + if (mainw->playing_file == -1) return FALSE; if (!mainw->interactive) return FALSE; - switch_clip(0,i,FALSE); + switch_clip(0, i, FALSE); return FALSE; } static void ce_thumbs_fx_changed(LiVESCombo *combo, livespointer user_data) { // callback after user switches fx via combo - int key=LIVES_POINTER_TO_INT(user_data); - int mode,cmode; + int key = LIVES_POINTER_TO_INT(user_data); + int mode, cmode; - if ((mode=lives_combo_get_active(combo))==-1) return; // -1 is returned after we set our own text (without the type) - cmode=rte_key_getmode(key+1); + if ((mode = lives_combo_get_active(combo)) == -1) return; // -1 is returned after we set our own text (without the type) + cmode = rte_key_getmode(key + 1); - if (cmode==mode) return; + if (cmode == mode) return; lives_widget_grab_focus(combo_entries[key]); - rte_key_setmode(key+1,mode); + rte_key_setmode(key + 1, mode); } #endif @@ -92,53 +92,53 @@ void ce_thumbs_set_key_check_state(void) { // set (delayed) keycheck state register int i; - for (i=0; i<prefs->rte_keys_virtual; i++) { - lives_signal_handler_block(key_checks[i],ch_fns[i]); + for (i = 0; i < prefs->rte_keys_virtual; i++) { + lives_signal_handler_block(key_checks[i], ch_fns[i]); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(key_checks[i]), - LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(key_checks[i]),"active"))); - if (!lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(key_checks[i]))&&pscrolls[i]!=NULL) ce_thumbs_remove_param_box(i); - lives_signal_handler_unblock(key_checks[i],ch_fns[i]); + LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(key_checks[i]), "active"))); + if (!lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(key_checks[i])) && pscrolls[i] != NULL) ce_thumbs_remove_param_box(i); + lives_signal_handler_unblock(key_checks[i], ch_fns[i]); } } void ce_thumbs_set_keych(int key, boolean on) { // set key check from other source - if (key>=rte_keys_virtual) return; - lives_signal_handler_block(key_checks[key],ch_fns[key]); + if (key >= rte_keys_virtual) return; + lives_signal_handler_block(key_checks[key], ch_fns[key]); if (!pthread_mutex_trylock(&mainw->gtk_mutex)) { - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(key_checks[key]),on); - if (!on&&pscrolls[key]!=NULL) ce_thumbs_remove_param_box(key); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(key_checks[key]), on); + if (!on && pscrolls[key] != NULL) ce_thumbs_remove_param_box(key); pthread_mutex_unlock(&mainw->gtk_mutex); } - lives_signal_handler_unblock(key_checks[key],ch_fns[key]); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(key_checks[key]),"active",LIVES_INT_TO_POINTER(on)); + lives_signal_handler_unblock(key_checks[key], ch_fns[key]); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(key_checks[key]), "active", LIVES_INT_TO_POINTER(on)); } void ce_thumbs_set_mode_combo(int key, int mode) { // set combo from other source : need to add params after - if (key>=rte_keys_virtual) return; - if (mode<0) return; - lives_signal_handler_block(fxcombos[key],combo_fns[key]); - lives_combo_set_active_index(LIVES_COMBO(fxcombos[key]),mode); + if (key >= rte_keys_virtual) return; + if (mode < 0) return; + lives_signal_handler_block(fxcombos[key], combo_fns[key]); + lives_combo_set_active_index(LIVES_COMBO(fxcombos[key]), mode); ce_thumbs_remove_param_box(key); - lives_signal_handler_unblock(fxcombos[key],combo_fns[key]); + lives_signal_handler_unblock(fxcombos[key], combo_fns[key]); } static void pin_toggled(LiVESToggleButton *t, livespointer pkey) { - int key=LIVES_POINTER_TO_INT(pkey); - boolean state=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(pscrolls[key]),"pinned")); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(pscrolls[key]),"pinned",LIVES_INT_TO_POINTER(!state)); + int key = LIVES_POINTER_TO_INT(pkey); + boolean state = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(pscrolls[key]), "pinned")); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(pscrolls[key]), "pinned", LIVES_INT_TO_POINTER(!state)); } #if LIVES_HAS_GRID_WIDGET static void clip_area_toggled(LiVESToggleButton *t, livespointer parea) { - int area=LIVES_POINTER_TO_INT(parea); + int area = LIVES_POINTER_TO_INT(parea); if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(rb_clip_areas[area]))) { - mainw->active_sa_clips=area; + mainw->active_sa_clips = area; ce_thumbs_highlight_current_clip(); } } @@ -150,201 +150,202 @@ void start_ce_thumb_mode(void) { #if LIVES_HAS_GRID_WIDGET - LiVESWidget *thumb_image=NULL; - LiVESWidget *vbox,*vbox2,*vbox3; - LiVESWidget *usibl=NULL,*sibl=NULL; - LiVESWidget *hbox,*hbox2; - LiVESWidget *tscroll,*cscroll; + LiVESWidget *thumb_image = NULL; + LiVESWidget *vbox, *vbox2, *vbox3; + LiVESWidget *usibl = NULL, *sibl = NULL; + LiVESWidget *hbox, *hbox2; + LiVESWidget *tscroll, *cscroll; LiVESWidget *label; LiVESWidget *arrow; - LiVESWidget *tgrid=lives_grid_new(); + LiVESWidget *tgrid = lives_grid_new(); LiVESWidget *align; LiVESPixbuf *thumbnail; - LiVESList *cliplist=mainw->cliplist; - LiVESList *fxlist=NULL; + LiVESList *cliplist = mainw->cliplist; + LiVESList *fxlist = NULL; - GSList *rb_fx_areas_group=NULL; - GSList *rb_clip_areas_group=NULL; + GSList *rb_fx_areas_group = NULL; + GSList *rb_clip_areas_group = NULL; char filename[PATH_MAX]; char *tmp; - int width=CLIP_THUMB_WIDTH,height=CLIP_THUMB_HEIGHT; - int modes=rte_getmodespk(); + int width = CLIP_THUMB_WIDTH, height = CLIP_THUMB_HEIGHT; + int modes = rte_getmodespk(); int cpw; - int count=-1,rcount=0; + int count = -1, rcount = 0; - register int i,j; + register int i, j; - rte_keys_virtual=prefs->rte_keys_virtual; - n_screen_areas=mainw->n_screen_areas; - n_clip_boxes=lives_list_length(mainw->cliplist)+SPARE_CLIP_BOXES; + rte_keys_virtual = prefs->rte_keys_virtual; + n_screen_areas = mainw->n_screen_areas; + n_clip_boxes = lives_list_length(mainw->cliplist) + SPARE_CLIP_BOXES; - next_screen_area=SCREEN_AREA_NONE; + next_screen_area = SCREEN_AREA_NONE; - lives_grid_set_row_spacing(LIVES_GRID(tgrid),0); - lives_grid_set_column_spacing(LIVES_GRID(tgrid),0); + lives_grid_set_row_spacing(LIVES_GRID(tgrid), 0); + lives_grid_set_column_spacing(LIVES_GRID(tgrid), 0); //lives_container_set_border_width (LIVES_CONTAINER (tgrid), width); // dual monitor mode, the gui monitor can show clip thumbnails - top_hbox=lives_hbox_new(FALSE, 0); + top_hbox = lives_hbox_new(FALSE, 0); lives_widget_show(top_hbox); lives_box_pack_start(LIVES_BOX(mainw->vbox1), top_hbox, TRUE, TRUE, 0); - if (palette->style&STYLE_1) lives_widget_set_bg_color(top_hbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); + if (palette->style & STYLE_1) lives_widget_set_bg_color(top_hbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); // fx area - vbox=lives_vbox_new(FALSE, widget_opts.packing_height); + vbox = lives_vbox_new(FALSE, widget_opts.packing_height); - tscroll=lives_standard_scrolled_window_new(width,height,vbox); + tscroll = lives_standard_scrolled_window_new(width, height, vbox); lives_box_pack_start(LIVES_BOX(top_hbox), tscroll, FALSE, TRUE, 0); lives_scrolled_window_set_policy(LIVES_SCROLLED_WINDOW(tscroll), LIVES_POLICY_NEVER, LIVES_POLICY_AUTOMATIC); - lives_widget_set_hexpand(tscroll,FALSE); + lives_widget_set_hexpand(tscroll, FALSE); - fxcombos=(LiVESWidget **)lives_malloc((rte_keys_virtual)*modes*sizeof(LiVESWidget *)); - pscrolls=(LiVESWidget **)lives_malloc((rte_keys_virtual)*modes*sizeof(LiVESWidget *)); - combo_entries=(LiVESWidget **)lives_malloc((rte_keys_virtual)*modes*sizeof(LiVESWidget *)); - key_checks=(LiVESWidget **)lives_malloc((rte_keys_virtual)*modes*sizeof(LiVESWidget *)); + fxcombos = (LiVESWidget **)lives_malloc((rte_keys_virtual) * modes * sizeof(LiVESWidget *)); + pscrolls = (LiVESWidget **)lives_malloc((rte_keys_virtual) * modes * sizeof(LiVESWidget *)); + combo_entries = (LiVESWidget **)lives_malloc((rte_keys_virtual) * modes * sizeof(LiVESWidget *)); + key_checks = (LiVESWidget **)lives_malloc((rte_keys_virtual) * modes * sizeof(LiVESWidget *)); - rb_fx_areas=(LiVESWidget **)lives_malloc((n_screen_areas)*modes*sizeof(LiVESWidget *)); - rb_clip_areas=(LiVESWidget **)lives_malloc((n_screen_areas)*modes*sizeof(LiVESWidget *)); + rb_fx_areas = (LiVESWidget **)lives_malloc((n_screen_areas) * modes * sizeof(LiVESWidget *)); + rb_clip_areas = (LiVESWidget **)lives_malloc((n_screen_areas) * modes * sizeof(LiVESWidget *)); - clip_boxes=(LiVESWidget **)lives_malloc((n_clip_boxes)*modes*sizeof(LiVESWidget *)); + clip_boxes = (LiVESWidget **)lives_malloc((n_clip_boxes) * modes * sizeof(LiVESWidget *)); - ch_fns=(ulong *)lives_malloc((rte_keys_virtual)*sizeof(ulong)); - combo_fns=(ulong *)lives_malloc((rte_keys_virtual)*sizeof(ulong)); - rb_clip_fns=(ulong *)lives_malloc((n_screen_areas)*sizeof(ulong)); - rb_fx_fns=(ulong *)lives_malloc((n_screen_areas)*sizeof(ulong)); + ch_fns = (ulong *)lives_malloc((rte_keys_virtual) * sizeof(ulong)); + combo_fns = (ulong *)lives_malloc((rte_keys_virtual) * sizeof(ulong)); + rb_clip_fns = (ulong *)lives_malloc((n_screen_areas) * sizeof(ulong)); + rb_fx_fns = (ulong *)lives_malloc((n_screen_areas) * sizeof(ulong)); - for (i=0; i<n_clip_boxes; i++) { - clip_boxes[i]=NULL; + for (i = 0; i < n_clip_boxes; i++) { + clip_boxes[i] = NULL; } - for (i=0; i<rte_keys_virtual; i++) { + for (i = 0; i < rte_keys_virtual; i++) { - pscrolls[i]=NULL; + pscrolls[i] = NULL; - fxlist=NULL; + fxlist = NULL; - for (j=0; j<=rte_key_getmaxmode(i+1); j++) { - fxlist=lives_list_append(fxlist,rte_keymode_get_filter_name(i+1,j)); + for (j = 0; j <= rte_key_getmaxmode(i + 1); j++) { + fxlist = lives_list_append(fxlist, rte_keymode_get_filter_name(i + 1, j)); } hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - tmp=lives_strdup_printf(_("Mapped to ctrl-%d"),i+1); - key_checks[i]=lives_standard_check_button_new(NULL,FALSE,LIVES_BOX(hbox),tmp); + tmp = lives_strdup_printf(_("Mapped to ctrl-%d"), i + 1); + key_checks[i] = lives_standard_check_button_new(NULL, FALSE, LIVES_BOX(hbox), tmp); lives_free(tmp); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(key_checks[i]),mainw->rte&(GU641<<i)); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(key_checks[i]),"active", + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(key_checks[i]), mainw->rte & (GU641 << i)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(key_checks[i]), "active", LIVES_INT_TO_POINTER(lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(key_checks[i])))); - ch_fns[i]=lives_signal_connect_after(LIVES_GUI_OBJECT(key_checks[i]), LIVES_WIDGET_TOGGLED_SIGNAL, - LIVES_GUI_CALLBACK(rte_on_off_callback_hook),LIVES_INT_TO_POINTER(i+1)); + ch_fns[i] = lives_signal_connect_after(LIVES_GUI_OBJECT(key_checks[i]), LIVES_WIDGET_TOGGLED_SIGNAL, + LIVES_GUI_CALLBACK(rte_on_off_callback_hook), LIVES_INT_TO_POINTER(i + 1)); - fxcombos[i]=lives_standard_combo_new(NULL,FALSE,fxlist,LIVES_BOX(hbox),NULL); + fxcombos[i] = lives_standard_combo_new(NULL, FALSE, fxlist, LIVES_BOX(hbox), NULL); - if (fxlist!=NULL) { + if (fxlist != NULL) { lives_list_free_all(&fxlist); - lives_combo_set_active_index(LIVES_COMBO(fxcombos[i]),rte_key_getmode(i+1)); + lives_combo_set_active_index(LIVES_COMBO(fxcombos[i]), rte_key_getmode(i + 1)); } else { - lives_widget_set_sensitive(key_checks[i],FALSE); + lives_widget_set_sensitive(key_checks[i], FALSE); } combo_entries[i] = lives_combo_get_entry(LIVES_COMBO(fxcombos[i])); lives_entry_set_editable(LIVES_ENTRY(combo_entries[i]), FALSE); - combo_fns[i]=lives_signal_connect(LIVES_GUI_OBJECT(fxcombos[i]), LIVES_WIDGET_CHANGED_SIGNAL, - LIVES_GUI_CALLBACK(ce_thumbs_fx_changed),LIVES_INT_TO_POINTER(i)); + combo_fns[i] = lives_signal_connect(LIVES_GUI_OBJECT(fxcombos[i]), LIVES_WIDGET_CHANGED_SIGNAL, + LIVES_GUI_CALLBACK(ce_thumbs_fx_changed), LIVES_INT_TO_POINTER(i)); } add_vsep_to_box(LIVES_BOX(top_hbox)); // rhs vbox - vbox2=lives_vbox_new(FALSE, 0); + vbox2 = lives_vbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(top_hbox), vbox2, TRUE, TRUE, 0); // rhs top hbox - hbox2=lives_hbox_new(FALSE, widget_opts.packing_width); + hbox2 = lives_hbox_new(FALSE, widget_opts.packing_width); lives_box_pack_start(LIVES_BOX(vbox2), hbox2, TRUE, TRUE, 0); // vbox for arrows and areas - vbox3=lives_vbox_new(FALSE, 0); + vbox3 = lives_vbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(hbox2), vbox3, FALSE, TRUE, 0); // add arrows hbox = lives_hbox_new(FALSE, 0); - lives_widget_set_hexpand(hbox,FALSE); + lives_widget_set_hexpand(hbox, FALSE); lives_box_pack_start(LIVES_BOX(vbox3), hbox, FALSE, TRUE, 0); - arrow=lives_arrow_new(LIVES_ARROW_LEFT, LIVES_SHADOW_NONE); + arrow = lives_arrow_new(LIVES_ARROW_LEFT, LIVES_SHADOW_NONE); lives_box_pack_start(LIVES_BOX(hbox), arrow, FALSE, TRUE, 0); - label=lives_standard_label_new(_("Effects")); + label = lives_standard_label_new(_("Effects")); lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, TRUE, 0); add_fill_to_box(LIVES_BOX(hbox)); - label=lives_standard_label_new(_("Clips")); + label = lives_standard_label_new(_("Clips")); lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, TRUE, 0); - arrow=lives_arrow_new(LIVES_ARROW_RIGHT, LIVES_SHADOW_NONE); + arrow = lives_arrow_new(LIVES_ARROW_RIGHT, LIVES_SHADOW_NONE); lives_box_pack_start(LIVES_BOX(hbox), arrow, FALSE, TRUE, 0); // screen areas - vbox=lives_vbox_new(FALSE, widget_opts.packing_height); - tscroll=lives_standard_scrolled_window_new(width,height,vbox); + vbox = lives_vbox_new(FALSE, widget_opts.packing_height); + tscroll = lives_standard_scrolled_window_new(width, height, vbox); lives_box_pack_start(LIVES_BOX(vbox3), tscroll, FALSE, TRUE, 0); lives_scrolled_window_set_policy(LIVES_SCROLLED_WINDOW(tscroll), LIVES_POLICY_NEVER, LIVES_POLICY_AUTOMATIC); - lives_widget_set_hexpand(tscroll,FALSE); + lives_widget_set_hexpand(tscroll, FALSE); - for (i=0; i<n_screen_areas; i++) { + for (i = 0; i < n_screen_areas; i++) { hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); // radiobuttons for fx - rb_fx_areas[i]=lives_standard_radio_button_new("",FALSE,rb_fx_areas_group,LIVES_BOX(hbox), - (tmp=lives_strdup_printf(_("Show / apply effects to %s\n"), - mainw->screen_areas[i].name))); + rb_fx_areas[i] = lives_standard_radio_button_new("", FALSE, rb_fx_areas_group, LIVES_BOX(hbox), + (tmp = lives_strdup_printf(_("Show / apply effects to %s\n"), + mainw->screen_areas[i].name))); rb_fx_areas_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(rb_fx_areas[i])); lives_free(tmp); - if (i!=SCREEN_AREA_FOREGROUND) lives_widget_set_sensitive(rb_fx_areas[i],FALSE); + if (i != SCREEN_AREA_FOREGROUND) lives_widget_set_sensitive(rb_fx_areas[i], FALSE); - label=lives_standard_label_new(mainw->screen_areas[i].name); + label = lives_standard_label_new(mainw->screen_areas[i].name); lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, TRUE, 0); // radiobuttons for fx - rb_clip_areas[i]=lives_standard_radio_button_new("",FALSE,rb_clip_areas_group,LIVES_BOX(hbox), - (tmp=lives_strdup_printf(_("Select clip for %s\n"), - mainw->screen_areas[i].name))); + rb_clip_areas[i] = lives_standard_radio_button_new("", FALSE, rb_clip_areas_group, LIVES_BOX(hbox), + (tmp = lives_strdup_printf(_("Select clip for %s\n"), + mainw->screen_areas[i].name))); rb_clip_areas_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(rb_clip_areas[i])); lives_free(tmp); - rb_clip_fns[i]=lives_signal_connect(LIVES_GUI_OBJECT(rb_clip_areas[i]), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(clip_area_toggled), - LIVES_INT_TO_POINTER(i)); + rb_clip_fns[i] = lives_signal_connect(LIVES_GUI_OBJECT(rb_clip_areas[i]), LIVES_WIDGET_TOGGLED_SIGNAL, + LIVES_GUI_CALLBACK(clip_area_toggled), + LIVES_INT_TO_POINTER(i)); } add_vsep_to_box(LIVES_BOX(hbox2)); - cscroll=lives_standard_scrolled_window_new(width,height,tgrid); + cscroll = lives_standard_scrolled_window_new(width, height, tgrid); lives_scrolled_window_set_policy(LIVES_SCROLLED_WINDOW(cscroll), LIVES_POLICY_NEVER, LIVES_POLICY_AUTOMATIC); lives_box_pack_start(LIVES_BOX(hbox2), cscroll, TRUE, TRUE, 0); @@ -354,7 +355,7 @@ // insert a scrolled window for param boxes param_hbox = lives_hbox_new(FALSE, 0); - tscroll=lives_standard_scrolled_window_new(width,height,param_hbox); + tscroll = lives_standard_scrolled_window_new(width, height, param_hbox); lives_scrolled_window_set_policy(LIVES_SCROLLED_WINDOW(tscroll), LIVES_POLICY_AUTOMATIC, LIVES_POLICY_NEVER); lives_box_pack_start(LIVES_BOX(vbox2), tscroll, TRUE, TRUE, 0); @@ -366,57 +367,57 @@ lives_widget_context_update(); // need size of cscroll to fit thumbs - cpw=(lives_widget_get_allocation_width(tscroll)-widget_opts.border_width*2)/(width*1.5)-2; + cpw = (lives_widget_get_allocation_width(tscroll) - widget_opts.border_width * 2) / (width * 1.5) - 2; // add thumbs to grid - while (cliplist!=NULL) { + while (cliplist != NULL) { count++; - i=LIVES_POINTER_TO_INT(cliplist->data); - if (i==mainw->scrap_file||i==mainw->ascrap_file|| - (mainw->files[i]->clip_type!=CLIP_TYPE_DISK&&mainw->files[i]->clip_type!=CLIP_TYPE_FILE&& - mainw->files[i]->clip_type!=CLIP_TYPE_YUV4MPEG&&mainw->files[i]->clip_type!=CLIP_TYPE_VIDEODEV)|| - mainw->files[i]->frames==0) { - cliplist=cliplist->next; + i = LIVES_POINTER_TO_INT(cliplist->data); + if (i == mainw->scrap_file || i == mainw->ascrap_file || + (mainw->files[i]->clip_type != CLIP_TYPE_DISK && mainw->files[i]->clip_type != CLIP_TYPE_FILE && + mainw->files[i]->clip_type != CLIP_TYPE_YUV4MPEG && mainw->files[i]->clip_type != CLIP_TYPE_VIDEODEV) || + mainw->files[i]->frames == 0) { + cliplist = cliplist->next; continue; } // make a small thumbnail, add it to the clips box - thumbnail=make_thumb(NULL,i,width,height,mainw->files[i]->start,TRUE); + thumbnail = make_thumb(NULL, i, width, height, mainw->files[i]->start, TRUE); - clip_boxes[count]=lives_event_box_new(); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(clip_boxes[count]),"clipno",LIVES_INT_TO_POINTER(i)); - lives_widget_set_size_request(clip_boxes[count], width*1.5, height*1.5); + clip_boxes[count] = lives_event_box_new(); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(clip_boxes[count]), "clipno", LIVES_INT_TO_POINTER(i)); + lives_widget_set_size_request(clip_boxes[count], width * 1.5, height * 1.5); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(clip_boxes[count], LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); lives_widget_set_bg_color(clip_boxes[count], LIVES_WIDGET_STATE_PRELIGHT, &palette->menu_and_bars); } lives_widget_add_events(clip_boxes[count], LIVES_BUTTON_PRESS_MASK); - align=lives_alignment_new(.5,.5,0.,0.); + align = lives_alignment_new(.5, .5, 0., 0.); - thumb_image=lives_image_new(); - lives_image_set_from_pixbuf(LIVES_IMAGE(thumb_image),thumbnail); - if (thumbnail!=NULL) lives_object_unref(thumbnail); + thumb_image = lives_image_new(); + lives_image_set_from_pixbuf(LIVES_IMAGE(thumb_image), thumbnail); + if (thumbnail != NULL) lives_object_unref(thumbnail); lives_container_add(LIVES_CONTAINER(clip_boxes[count]), align); - if (rcount>0) { - if (rcount==cpw-1) rcount=0; + if (rcount > 0) { + if (rcount == cpw - 1) rcount = 0; else { - lives_grid_attach_next_to(LIVES_GRID(tgrid),clip_boxes[count],sibl,LIVES_POS_RIGHT,1,1); - sibl=clip_boxes[count]; + lives_grid_attach_next_to(LIVES_GRID(tgrid), clip_boxes[count], sibl, LIVES_POS_RIGHT, 1, 1); + sibl = clip_boxes[count]; } } - if (rcount==0) { - lives_grid_attach_next_to(LIVES_GRID(tgrid),clip_boxes[count],usibl,LIVES_POS_BOTTOM,1,1); - sibl=usibl=clip_boxes[count]; + if (rcount == 0) { + lives_grid_attach_next_to(LIVES_GRID(tgrid), clip_boxes[count], usibl, LIVES_POS_BOTTOM, 1, 1); + sibl = usibl = clip_boxes[count]; } - lives_snprintf(filename,PATH_MAX,"%s",(tmp=lives_path_get_basename(mainw->files[i]->name))); + lives_snprintf(filename, PATH_MAX, "%s", (tmp = lives_path_get_basename(mainw->files[i]->name))); lives_free(tmp); get_basename(filename); lives_widget_set_tooltip_text(clip_boxes[count], filename); @@ -432,7 +433,7 @@ LIVES_GUI_CALLBACK(switch_clip_cb), LIVES_INT_TO_POINTER(i)); - cliplist=cliplist->next; + cliplist = cliplist->next; } if (prefs->open_maximised) { @@ -441,17 +442,17 @@ lives_widget_show_all(top_hbox); - ce_thumbs_liberate_clip_area(mainw->num_tr_applied>0?SCREEN_AREA_BACKGROUND:SCREEN_AREA_FOREGROUND); + ce_thumbs_liberate_clip_area(mainw->num_tr_applied > 0 ? SCREEN_AREA_BACKGROUND : SCREEN_AREA_FOREGROUND); ce_thumbs_set_clip_area(); - mainw->ce_thumbs=TRUE; + mainw->ce_thumbs = TRUE; #endif } void end_ce_thumb_mode(void) { - mainw->ce_thumbs=FALSE; + mainw->ce_thumbs = FALSE; ce_thumbs_remove_param_boxes(TRUE); lives_widget_destroy(top_hbox); lives_widget_show(mainw->eventbox); @@ -473,7 +474,7 @@ void ce_thumbs_add_param_box(int key, boolean remove) { // when an effect with params is applied, show the parms in a box - weed_plant_t *inst,*ninst; + weed_plant_t *inst, *ninst; lives_rfx_t *rfx; LiVESWidget *vbox; @@ -481,12 +482,12 @@ LiVESWidget *label; LiVESWidget *pin_check; - char *fname,*tmp,*tmp2; + char *fname, *tmp, *tmp2; - int mode=rte_key_getmode(key+1); + int mode = rte_key_getmode(key + 1); int error; - if (key>=rte_keys_virtual) return; + if (key >= rte_keys_virtual) return; pthread_mutex_lock(&mainw->gtk_mutex); @@ -495,19 +496,19 @@ ce_thumbs_remove_param_boxes(FALSE); } - ninst=inst=rte_keymode_get_instance(key+1,mode); + ninst = inst = rte_keymode_get_instance(key + 1, mode); - rfx=weed_to_rfx(inst,FALSE); - rfx->min_frames=-1; + rfx = weed_to_rfx(inst, FALSE); + rfx->min_frames = -1; do { weed_instance_ref(ninst); - } while (weed_plant_has_leaf(ninst,WEED_LEAF_HOST_NEXT_INSTANCE)&& - (ninst=weed_get_plantptr_value(ninst,WEED_LEAF_HOST_NEXT_INSTANCE,&error))!=NULL); + } while (weed_plant_has_leaf(ninst, WEED_LEAF_HOST_NEXT_INSTANCE) && + (ninst = weed_get_plantptr_value(ninst, WEED_LEAF_HOST_NEXT_INSTANCE, &error)) != NULL); // here we just check if we have any params to display - if (!make_param_box(NULL,rfx)) { + if (!make_param_box(NULL, rfx)) { rfx_free(rfx); lives_free(rfx); return; @@ -516,41 +517,41 @@ vbox = lives_vbox_new(FALSE, 0); - pscrolls[key]=lives_standard_scrolled_window_new(-1,-1,vbox); + pscrolls[key] = lives_standard_scrolled_window_new(-1, -1, vbox); lives_scrolled_window_set_policy(LIVES_SCROLLED_WINDOW(pscrolls[key]), LIVES_POLICY_NEVER, LIVES_POLICY_AUTOMATIC); - lives_widget_set_hexpand(pscrolls[key],FALSE); + lives_widget_set_hexpand(pscrolls[key], FALSE); lives_box_pack_start(LIVES_BOX(param_hbox), pscrolls[key], TRUE, TRUE, 0); - fname=weed_instance_get_filter_name(inst,TRUE); - label=lives_standard_label_new(fname); + fname = weed_instance_get_filter_name(inst, TRUE); + label = lives_standard_label_new(fname); lives_free(fname); hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(vbox),hbox,FALSE,FALSE,widget_opts.packing_height); + lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); add_fill_to_box(LIVES_BOX(hbox)); - lives_box_pack_start(LIVES_BOX(hbox),label,FALSE,FALSE,widget_opts.packing_height); + lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, FALSE, widget_opts.packing_height); add_fill_to_box(LIVES_BOX(hbox)); /* TRANSLATORS - "pin" as in "pinned to window" */ - pin_check=lives_standard_check_button_new((tmp=lives_strdup(_("_Pin"))),TRUE,LIVES_BOX(hbox), - (tmp2=lives_strdup(_("Pin the parameter box to the window")))); + pin_check = lives_standard_check_button_new((tmp = lives_strdup(_("_Pin"))), TRUE, LIVES_BOX(hbox), + (tmp2 = lives_strdup(_("Pin the parameter box to the window")))); lives_free(tmp); lives_free(tmp2); lives_signal_connect_after(LIVES_GUI_OBJECT(pin_check), LIVES_WIDGET_TOGGLED_SIGNAL, - LIVES_GUI_CALLBACK(pin_toggled),LIVES_INT_TO_POINTER(key)); + LIVES_GUI_CALLBACK(pin_toggled), LIVES_INT_TO_POINTER(key)); - on_fx_pre_activate(rfx,1,vbox); + on_fx_pre_activate(rfx, 1, vbox); // record the key so we know whose parameters to record later - weed_set_int_value((weed_plant_t *)rfx->source,WEED_LEAF_HOST_KEY,key); + weed_set_int_value((weed_plant_t *)rfx->source, WEED_LEAF_HOST_KEY, key); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(pscrolls[key]),"pinned",LIVES_INT_TO_POINTER(FALSE)); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(pscrolls[key]),"update",LIVES_INT_TO_POINTER(FALSE)); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(pscrolls[key]),"rfx",rfx); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(pscrolls[key]), "pinned", LIVES_INT_TO_POINTER(FALSE)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(pscrolls[key]), "update", LIVES_INT_TO_POINTER(FALSE)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(pscrolls[key]), "rfx", rfx); lives_widget_show_all(param_hbox); pthread_mutex_unlock(&mainw->gtk_mutex); } @@ -559,12 +560,12 @@ static void ce_thumbs_remove_param_box(int key) { // remove a single param box from the param_hbox lives_rfx_t *rfx; - if (key>=rte_keys_virtual) return; - if (pscrolls[key]==NULL) return; - rfx=(lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(pscrolls[key]),"rfx"); - on_paramwindow_cancel_clicked(NULL,rfx); // free rfx and unref the inst (must be done before destroying the pscrolls[key] + if (key >= rte_keys_virtual) return; + if (pscrolls[key] == NULL) return; + rfx = (lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(pscrolls[key]), "rfx"); + on_paramwindow_cancel_clicked(NULL, rfx); // free rfx and unref the inst (must be done before destroying the pscrolls[key] lives_widget_destroy(pscrolls[key]); - pscrolls[key]=NULL; + pscrolls[key] = NULL; lives_widget_queue_draw(param_hbox); } @@ -572,9 +573,9 @@ static void ce_thumbs_remove_param_boxes(boolean remove_pinned) { // remove all param boxes, (except any which are "pinned") register int i; - for (i=0; i<rte_keys_virtual; i++) { - if (pscrolls[i]!=NULL) { - if (remove_pinned||!LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(pscrolls[i]),"pinned"))) + for (i = 0; i < rte_keys_virtual; i++) { + if (pscrolls[i] != NULL) { + if (remove_pinned || !LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(pscrolls[i]), "pinned"))) ce_thumbs_remove_param_box(i); } } @@ -584,8 +585,8 @@ void ce_thumbs_register_rfx_change(int key, int mode) { // register a param box to be updated visually, from an asynchronous source - either from a A->V data connection or from osc - if (key>=rte_keys_virtual||pscrolls[key]==NULL) return; - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(pscrolls[key]),"update",LIVES_INT_TO_POINTER(TRUE)); + if (key >= rte_keys_virtual || pscrolls[key] == NULL) return; + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(pscrolls[key]), "update", LIVES_INT_TO_POINTER(TRUE)); } @@ -594,12 +595,12 @@ lives_rfx_t *rfx; register int i; - for (i=0; i<rte_keys_virtual; i++) { - if (pscrolls[i]!=NULL) { - if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(pscrolls[i]),"update"))) { - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(pscrolls[i]),"update",LIVES_INT_TO_POINTER(FALSE)); - rfx=(lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(pscrolls[i]),"rfx"); - update_visual_params(rfx,FALSE); + for (i = 0; i < rte_keys_virtual; i++) { + if (pscrolls[i] != NULL) { + if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(pscrolls[i]), "update"))) { + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(pscrolls[i]), "update", LIVES_INT_TO_POINTER(FALSE)); + rfx = (lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(pscrolls[i]), "rfx"); + update_visual_params(rfx, FALSE); } } } @@ -609,13 +610,13 @@ void ce_thumbs_update_params(int key, int i, LiVESList *list) { // called only from weed_set_blend_factor() and from setting param in rte_window lives_rfx_t *rfx; - if (key>=rte_keys_virtual) return; + if (key >= rte_keys_virtual) return; - if (pscrolls[key]!=NULL) { - rfx=(lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(pscrolls[key]),"rfx"); - mainw->block_param_updates=TRUE; - set_param_from_list(list,&rfx->params[key],0,TRUE,TRUE); - mainw->block_param_updates=FALSE; + if (pscrolls[key] != NULL) { + rfx = (lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(pscrolls[key]), "rfx"); + mainw->block_param_updates = TRUE; + set_param_from_list(list, &rfx->params[key], 0, TRUE, TRUE); + mainw->block_param_updates = FALSE; } } @@ -623,11 +624,11 @@ void ce_thumbs_update_visual_params(int key) { // param change in rte_window - set params box here lives_rfx_t *rfx; - if (key>=rte_keys_virtual) return; + if (key >= rte_keys_virtual) return; - if (pscrolls[key]!=NULL) { - rfx=(lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(pscrolls[key]),"rfx"); - update_visual_params(rfx,FALSE); + if (pscrolls[key] != NULL) { + rfx = (lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(pscrolls[key]), "rfx"); + update_visual_params(rfx, FALSE); } } @@ -635,9 +636,9 @@ void ce_thumbs_check_for_rte(lives_rfx_t *rfx, lives_rfx_t *rte_rfx, int key) { // param change in ce_thumbs, update rte_window register int i; - for (i=0; i<rte_keys_virtual; i++) { - if (pscrolls[i]!=NULL&&i==key&&rfx==(lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(pscrolls[key]),"rfx")) { - update_visual_params(rte_rfx,FALSE); + for (i = 0; i < rte_keys_virtual; i++) { + if (pscrolls[i] != NULL && i == key && rfx == (lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(pscrolls[key]), "rfx")) { + update_visual_params(rte_rfx, FALSE); break; } } @@ -647,24 +648,24 @@ void ce_thumbs_reset_combo(int key) { // called from rte_window when the mapping is changed - LiVESList *fxlist=NULL; + LiVESList *fxlist = NULL; int mode; register int j; - if (key>=rte_keys_virtual) return; - for (j=0; j<=rte_key_getmaxmode(key+1); j++) { - fxlist=lives_list_append(fxlist,rte_keymode_get_filter_name(key+1,j)); + if (key >= rte_keys_virtual) return; + for (j = 0; j <= rte_key_getmaxmode(key + 1); j++) { + fxlist = lives_list_append(fxlist, rte_keymode_get_filter_name(key + 1, j)); } - lives_combo_populate(LIVES_COMBO(fxcombos[key]),fxlist); - if (fxlist!=NULL) { - lives_widget_set_sensitive(key_checks[key],TRUE); + lives_combo_populate(LIVES_COMBO(fxcombos[key]), fxlist); + if (fxlist != NULL) { + lives_widget_set_sensitive(key_checks[key], TRUE); lives_list_free_all(&fxlist); - mode=rte_key_getmode(key+1); - ce_thumbs_set_mode_combo(key,mode); - if (rte_keymode_get_instance(key+1,mode)!=NULL) ce_thumbs_add_param_box(key,TRUE); + mode = rte_key_getmode(key + 1); + ce_thumbs_set_mode_combo(key, mode); + if (rte_keymode_get_instance(key + 1, mode) != NULL) ce_thumbs_add_param_box(key, TRUE); } else { - lives_widget_set_sensitive(key_checks[key],FALSE); - lives_combo_set_active_string(LIVES_COMBO(fxcombos[key]),""); + lives_widget_set_sensitive(key_checks[key], FALSE); + lives_combo_set_active_string(LIVES_COMBO(fxcombos[key]), ""); } } @@ -673,7 +674,7 @@ void ce_thumbs_reset_combos(void) { // called from rte_window when the mapping is cleared register int i; - for (i=0; i<rte_keys_virtual; i++) { + for (i = 0; i < rte_keys_virtual; i++) { ce_thumbs_reset_combo(i); } } @@ -681,9 +682,9 @@ void ce_thumbs_set_clip_area(void) { register int i; - for (i=0; i<n_screen_areas; i++) lives_signal_handler_block(rb_clip_areas[i],rb_clip_fns[i]); + for (i = 0; i < n_screen_areas; i++) lives_signal_handler_block(rb_clip_areas[i], rb_clip_fns[i]); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(rb_clip_areas[mainw->active_sa_clips]), TRUE); - for (i=0; i<n_screen_areas; i++) lives_signal_handler_unblock(rb_clip_areas[i],rb_clip_fns[i]); + for (i = 0; i < n_screen_areas; i++) lives_signal_handler_unblock(rb_clip_areas[i], rb_clip_fns[i]); ce_thumbs_highlight_current_clip(); } @@ -693,61 +694,61 @@ //for (i=0;i<n_screen_areas;i++) lives_signal_handler_block(rb_fx_areas[i],rb_fx_fns[i]); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(rb_fx_areas[area]), TRUE); //for (i=0;i<n_screen_areas;i++) lives_signal_handler_unblock(rb_fx_areas[i],rb_fx_fns[i]); - mainw->active_sa_fx=area; + mainw->active_sa_fx = area; } void ce_thumbs_update_current_clip(void) { - mainw->ce_upd_clip=TRUE; + mainw->ce_upd_clip = TRUE; } void ce_thumbs_highlight_current_clip(void) { // unprelight all clip boxes, prelight current clip (fg or bg) - boolean match=FALSE; + boolean match = FALSE; int clipno; register int i; - for (i=0; i<n_clip_boxes; i++) { - if (clip_boxes[i]==NULL) break; + for (i = 0; i < n_clip_boxes; i++) { + if (clip_boxes[i] == NULL) break; if (!match) { - clipno=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(clip_boxes[i]),"clipno")); + clipno = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(clip_boxes[i]), "clipno")); switch (mainw->active_sa_clips) { case SCREEN_AREA_FOREGROUND: - if (clipno==mainw->current_file) match=TRUE; + if (clipno == mainw->current_file) match = TRUE; break; case SCREEN_AREA_BACKGROUND: - if (clipno==mainw->blend_file) match=TRUE; - if (mainw->blend_file==-1&&clipno==mainw->current_file) match=TRUE; + if (clipno == mainw->blend_file) match = TRUE; + if (mainw->blend_file == -1 && clipno == mainw->current_file) match = TRUE; break; default: break; } if (match) { - lives_widget_set_state(clip_boxes[i],LIVES_WIDGET_STATE_PRELIGHT); + lives_widget_set_state(clip_boxes[i], LIVES_WIDGET_STATE_PRELIGHT); continue; } } - lives_widget_set_state(clip_boxes[i],LIVES_WIDGET_STATE_NORMAL); + lives_widget_set_state(clip_boxes[i], LIVES_WIDGET_STATE_NORMAL); } } void ce_thumbs_liberate_clip_area(int area) { - lives_widget_set_sensitive(rb_clip_areas[area],TRUE); + lives_widget_set_sensitive(rb_clip_areas[area], TRUE); ce_thumbs_set_clip_area(); } void ce_thumbs_liberate_clip_area_register(int area) { - next_screen_area=area; + next_screen_area = area; } void ce_thumbs_apply_liberation(void) { - if (next_screen_area!=SCREEN_AREA_NONE) + if (next_screen_area != SCREEN_AREA_NONE) ce_thumbs_liberate_clip_area(next_screen_area); - next_screen_area=SCREEN_AREA_NONE; + next_screen_area = SCREEN_AREA_NONE; }
View file
LiVES-2.8.4.tar.bz2/src/colourspace.c -> LiVES-2.8.6.tar.bz2/src/colourspace.c
Changed
@@ -1,6 +1,6 @@ // colourspace.c // LiVES -// (c) G. Finch 2004 - 2016 <salsaman@gmail.com> +// (c) G. Finch 2004 - 2017 <salsaman@gmail.com> // Released under the GPL 3 or later // see file ../COPYING for licensing details @@ -73,7 +73,7 @@ #ifdef USE_SWSCALE #define N_SWS_CTX 16 -boolean swscale_ctx_list_inited=FALSE; +boolean swscale_ctx_list_inited = FALSE; struct _swscale_ctx { int iwidth; @@ -97,10 +97,9 @@ #define USE_THREADS 1 - static pthread_t cthreads[MAX_FX_THREADS]; -static boolean unal_inited=FALSE; +static boolean unal_inited = FALSE; LIVES_INLINE int get_rowstride_value(int rowstride) { #ifdef GUI_GTK @@ -116,7 +115,7 @@ LIVES_INLINE int get_last_rowstride_value(int width, int nchans) { #ifdef GUI_GTK // from gdk pixbuf docs - return width*(((nchans<<3)+7)>>3); + return width * (((nchans << 3) + 7) >> 3); #else return width * nchans; #endif @@ -134,7 +133,6 @@ | (255 - a) >> 31); // -1 if the number was greater than 255 } - /* precomputed tables */ // generic @@ -148,7 +146,6 @@ static int *Cr_G; static int *Cr_B; - // clamped Y'CbCr static int Y_Rc[256]; static int Y_Gc[256]; @@ -160,7 +157,6 @@ static int Cr_Gc[256]; static int Cr_Bc[256]; - // unclamped Y'CbCr static int Y_Ru[256]; static int Y_Gu[256]; @@ -183,7 +179,6 @@ static int HCr_Gc[256]; static int HCr_Bc[256]; - // unclamped BT.701 static int HY_Ru[256]; static int HY_Gu[256]; @@ -197,9 +192,6 @@ static boolean conv_RY_inited = FALSE; - - - // generic static int *RGB_Y; static int *R_Cr; @@ -207,7 +199,6 @@ static int *G_Cr; static int *B_Cb; - // clamped Y'CbCr static int RGB_Yc[256]; static int R_Crc[256]; @@ -238,9 +229,7 @@ static boolean conv_YR_inited = FALSE; - -static short min_Y,max_Y,min_UV,max_UV; - +static short min_Y, max_Y, min_UV, max_UV; // averaging static uint8_t *cavg; @@ -249,7 +238,6 @@ static uint8_t cavgrgb[256][256]; static boolean avg_inited = FALSE; - // pre-post multiply alpha static int unal[256][256]; @@ -259,8 +247,6 @@ static int unalcuv[256][256]; static int alcuv[256][256]; - - // clamping and subspace converters // generic @@ -272,13 +258,11 @@ static uint8_t Yclamped_to_Yunclamped[256]; static uint8_t UVclamped_to_UVunclamped[256]; - // same subspace, unclamped to clamped static uint8_t Yunclamped_to_Yclamped[256]; static uint8_t UVunclamped_to_UVclamped[256]; -static boolean conv_YY_inited=FALSE; - +static boolean conv_YY_inited = FALSE; // gamma correction @@ -286,7 +270,7 @@ #ifdef TEST_GAMMA uint8_t gamma_lut[256]; -double current_gamma=-1.; +double current_gamma = -1.; /* Updates the gamma look-up-table. */ @@ -294,32 +278,32 @@ static inline void update_gamma_lut(float gamma) { register int i; - float inv_gamma = (1./gamma); + float inv_gamma = (1. / gamma); gamma_lut[0] = 0; - for (i=1; i<256; ++i) gamma_lut[i] = { - a=(float)i/255.; + for (i = 1; i < 256; ++i) gamma_lut[i] = { + a = (float)i / 255.; // naive x = powf(a, inv_gamma); // rec 709 fwd gamma (linear to gamma) - x = (a<=0.018) ? 4.5*a : 1.099*powf(a,0.45)-0.099; + x = (a <= 0.018) ? 4.5 * a : 1.099 * powf(a, 0.45) - 0.099; // rec 709 back gamma (gamma to linear) - x = (a<=0.0031308) ? 12.92*a : 1.055*powf(a,1.0/2.4)-0.055; + x = (a <= 0.0031308) ? 12.92 * a : 1.055 * powf(a, 1.0 / 2.4) - 0.055; // sRGB fwd (linear to gamma) - x = (a<=0.0031308) ? 12.92*a : 1.055*powf(a,1.0/2.4)-0.055; + x = (a <= 0.0031308) ? 12.92 * a : 1.055 * powf(a, 1.0 / 2.4) - 0.055; // sRGB back (gamma to linear) - x = (a<=0.04045) ? a/12.92 : powf((a+0.055)/1.055,2.4); + x = (a <= 0.04045) ? a / 12.92 : powf((a + 0.055) / 1.055, 2.4); - gamma_lut[i]=CLAMP0255(255.*x); + gamma_lut[i] = CLAMP0255(255.*x); } - current_gamma=gamma; + current_gamma = gamma; } #endif @@ -341,173 +325,127 @@ for (i = 0; i < 256; i++) { Y_Rc[i] = myround(KR_YCBCR * (double)i * CLAMP_FACTOR_Y * SCALE_FACTOR); // Kr - Y_Gc[i] = myround((1.-KR_YCBCR-KB_YCBCR) * (double)i + Y_Gc[i] = myround((1. - KR_YCBCR - KB_YCBCR) * (double)i * CLAMP_FACTOR_Y * SCALE_FACTOR); // Kb Y_Bc[i] = myround((KB_YCBCR * (double)i // here we add the 16 which goes into all components * CLAMP_FACTOR_Y + YUV_CLAMP_MIN) * SCALE_FACTOR); - - - fac = .5 / (1. - KB_YCBCR); // .564 - Cb_Rc[i] = myround(-fac * KR_YCBCR * (double)i * CLAMP_FACTOR_UV * SCALE_FACTOR); // -.16736 - Cb_Gc[i] = myround(-fac * (1.-KB_YCBCR-KR_YCBCR) * (double)i + Cb_Gc[i] = myround(-fac * (1. - KB_YCBCR - KR_YCBCR) * (double)i * CLAMP_FACTOR_UV * SCALE_FACTOR); // -.331264 Cb_Bc[i] = myround((0.5 * (double)i * CLAMP_FACTOR_UV + UV_BIAS) * SCALE_FACTOR); - - fac = .5 / (1. - KR_YCBCR); // .7133 Cr_Rc[i] = myround((0.5 * (double)i * CLAMP_FACTOR_UV + UV_BIAS) * SCALE_FACTOR); - Cr_Gc[i] = myround(-fac * (1.-KB_YCBCR-KR_YCBCR) * (double)i + Cr_Gc[i] = myround(-fac * (1. - KB_YCBCR - KR_YCBCR) * (double)i * CLAMP_FACTOR_UV * SCALE_FACTOR); Cr_Bc[i] = myround(-fac * KB_YCBCR * (double)i * CLAMP_FACTOR_UV * SCALE_FACTOR); - - } - - for (i = 0; i < 256; i++) { Y_Ru[i] = myround(KR_YCBCR * (double)i * SCALE_FACTOR); // Kr - Y_Gu[i] = myround((1.-KR_YCBCR-KB_YCBCR) * (double)i + Y_Gu[i] = myround((1. - KR_YCBCR - KB_YCBCR) * (double)i * SCALE_FACTOR); // Kb Y_Bu[i] = myround(KB_YCBCR * (double)i // here we add the 16 which goes into all components + YUV_CLAMP_MIN * SCALE_FACTOR); - - - fac = .5 / (1. - KB_YCBCR); // .564 - Cb_Ru[i] = myround(-fac * KR_YCBCR * (double)i * SCALE_FACTOR); // -.16736 - Cb_Gu[i] = myround(-fac * (1.-KB_YCBCR-KR_YCBCR) * (double)i + Cb_Gu[i] = myround(-fac * (1. - KB_YCBCR - KR_YCBCR) * (double)i * SCALE_FACTOR); // -.331264 Cb_Bu[i] = myround((0.5 * (double)i + UV_BIAS) * SCALE_FACTOR); - - fac = .5 / (1. - KR_YCBCR); // .7133 Cr_Ru[i] = myround((0.5 * (double)i + UV_BIAS) * SCALE_FACTOR); - Cr_Gu[i] = myround(-fac * (1.-KB_YCBCR-KR_YCBCR) * (double)i + Cr_Gu[i] = myround(-fac * (1. - KB_YCBCR - KR_YCBCR) * (double)i * SCALE_FACTOR); Cr_Bu[i] = myround(-fac * KB_YCBCR * (double)i * SCALE_FACTOR); - - } - // Different values are used for hdtv, I call this subspace YUV_SUBSPACE_BT709 // Kr = 0.2126 // Kb = 0.0722 - - - // converting from one subspace to another is not recommended. - for (i = 0; i < 256; i++) { HY_Rc[i] = myround(KR_BT701 * (double)i * CLAMP_FACTOR_Y * SCALE_FACTOR); // Kr - HY_Gc[i] = myround((1.-KR_BT701-KB_BT701) * (double)i + HY_Gc[i] = myround((1. - KR_BT701 - KB_BT701) * (double)i * CLAMP_FACTOR_Y * SCALE_FACTOR); // Kb HY_Bc[i] = myround((KB_BT701 * (double)i // here we add the 16 which goes into all components * CLAMP_FACTOR_Y + YUV_CLAMP_MIN) * SCALE_FACTOR); - - - - fac = .5 / (1. - KB_BT701); // .5389 - HCb_Rc[i] = myround(-fac * KR_BT701 * (double)i * CLAMP_FACTOR_UV * SCALE_FACTOR); // -.16736 - HCb_Gc[i] = myround(-fac * (1.-KB_BT701-KR_BT701) * (double)i + HCb_Gc[i] = myround(-fac * (1. - KB_BT701 - KR_BT701) * (double)i * CLAMP_FACTOR_UV * SCALE_FACTOR); // -.331264 HCb_Bc[i] = myround((0.5 * (double)i * CLAMP_FACTOR_UV + UV_BIAS) * SCALE_FACTOR); - - fac = .5 / (1. - KR_BT701); // .635 HCr_Rc[i] = myround((0.5 * (double)i * CLAMP_FACTOR_UV + UV_BIAS) * SCALE_FACTOR); - HCr_Gc[i] = myround(-fac * (1.-KB_BT701-KR_BT701) * (double)i + HCr_Gc[i] = myround(-fac * (1. - KB_BT701 - KR_BT701) * (double)i * CLAMP_FACTOR_UV * SCALE_FACTOR); HCr_Bc[i] = myround(-fac * KB_BT701 * (double)i * CLAMP_FACTOR_UV * SCALE_FACTOR); - } - - for (i = 0; i < 256; i++) { HY_Ru[i] = myround(KR_BT701 * (double)i * SCALE_FACTOR); // Kr - HY_Gu[i] = myround((1.-KR_BT701-KB_BT701) * (double)i + HY_Gu[i] = myround((1. - KR_BT701 - KB_BT701) * (double)i * SCALE_FACTOR); // Kb HY_Bu[i] = myround((KB_BT701 * (double)i // here we add the 16 which goes into all components + YUV_CLAMP_MIN) * SCALE_FACTOR); - - - - - fac = .5 / (1. - KB_BT701); // .5389 - HCb_Ru[i] = myround(-fac * KR_BT701 * (double)i * SCALE_FACTOR); // -.16736 - HCb_Gu[i] = myround(-fac * (1.-KB_BT701-KR_BT701) * (double)i + HCb_Gu[i] = myround(-fac * (1. - KB_BT701 - KR_BT701) * (double)i * SCALE_FACTOR); // -.331264 HCb_Bu[i] = myround((0.5 * (double)i + UV_BIAS) * SCALE_FACTOR); - - fac = .5 / (1. - KR_BT701); // .635 HCr_Ru[i] = myround((0.5 * (double)i + UV_BIAS) * SCALE_FACTOR); - HCr_Gu[i] = myround(-fac * (1.-KB_BT701-KR_BT701) * (double)i + HCr_Gu[i] = myround(-fac * (1. - KB_BT701 - KR_BT701) * (double)i * SCALE_FACTOR); HCr_Bu[i] = myround(-fac * KB_BT701 * (double)i * SCALE_FACTOR); - - } - conv_RY_inited = TRUE; } - - static void init_YUV_to_RGB_tables(void) { register int i; @@ -518,7 +456,7 @@ RGB_Yc[i] = 0; } for (; i < Y_CLAMP_MAX; i++) { - RGB_Yc[i] = myround(((double)i-YUV_CLAMP_MIN)/(Y_CLAMP_MAX-YUV_CLAMP_MIN)*255. * SCALE_FACTOR); + RGB_Yc[i] = myround(((double)i - YUV_CLAMP_MIN) / (Y_CLAMP_MAX - YUV_CLAMP_MIN) * 255. * SCALE_FACTOR); } /* clip Y values above 235 */ for (; i < 256; i++) { @@ -533,45 +471,47 @@ B_Cbc[i] = 0; } for (; i < UV_CLAMP_MAX; i++) { - R_Crc[i] = myround(2. * (1.-KR_YCBCR) * ((((double)i-YUV_CLAMP_MIN)/(UV_CLAMP_MAX-YUV_CLAMP_MIN)*255.)-UV_BIAS) * SCALE_FACTOR); // 2*(1-Kr) - G_Crc[i] = myround(-.5 / (1. - KR_YCBCR) * ((((double)i-YUV_CLAMP_MIN)/(UV_CLAMP_MAX-YUV_CLAMP_MIN)*255.)-UV_BIAS) * SCALE_FACTOR); - G_Cbc[i] = myround(-.5 / (1. - KB_YCBCR) * ((((double)i-YUV_CLAMP_MIN)/(UV_CLAMP_MAX-YUV_CLAMP_MIN)*255.)-UV_BIAS) * SCALE_FACTOR); - B_Cbc[i] = myround(2. * (1.-KB_YCBCR) * ((((double)i-YUV_CLAMP_MIN)/(UV_CLAMP_MAX-YUV_CLAMP_MIN)*255.)-UV_BIAS) * SCALE_FACTOR); // 2*(1-Kb) + R_Crc[i] = myround(2. * (1. - KR_YCBCR) * ((((double)i - YUV_CLAMP_MIN) / (UV_CLAMP_MAX - YUV_CLAMP_MIN) * 255.) - UV_BIAS) * + SCALE_FACTOR); // 2*(1-Kr) + G_Crc[i] = myround(-.5 / (1. - KR_YCBCR) * ((((double)i - YUV_CLAMP_MIN) / (UV_CLAMP_MAX - YUV_CLAMP_MIN) * 255.) - UV_BIAS) * + SCALE_FACTOR); + G_Cbc[i] = myround(-.5 / (1. - KB_YCBCR) * ((((double)i - YUV_CLAMP_MIN) / (UV_CLAMP_MAX - YUV_CLAMP_MIN) * 255.) - UV_BIAS) * + SCALE_FACTOR); + B_Cbc[i] = myround(2. * (1. - KB_YCBCR) * ((((double)i - YUV_CLAMP_MIN) / (UV_CLAMP_MAX - YUV_CLAMP_MIN) * 255.) - UV_BIAS) * + SCALE_FACTOR); // 2*(1-Kb) } /* clip Cb/Cr values above 240 */ for (; i < 256; i++) { - R_Crc[i] = myround(2. * (1.-KR_YCBCR) * (((UV_CLAMP_MAX-YUV_CLAMP_MIN)/(UV_CLAMP_MAX-YUV_CLAMP_MIN)*255.)-UV_BIAS) * + R_Crc[i] = myround(2. * (1. - KR_YCBCR) * (((UV_CLAMP_MAX - YUV_CLAMP_MIN) / (UV_CLAMP_MAX - YUV_CLAMP_MIN) * 255.) - UV_BIAS) * SCALE_FACTOR); // 2*(1-Kr) - G_Crc[i] = myround(-.5 / (1. - KR_YCBCR) * (((UV_CLAMP_MAX-YUV_CLAMP_MIN)/(UV_CLAMP_MAX-YUV_CLAMP_MIN)*255.)-UV_BIAS) * SCALE_FACTOR); - G_Cbc[i] = myround(-.5 / (1. - KB_YCBCR) * (((UV_CLAMP_MAX-YUV_CLAMP_MIN)/(UV_CLAMP_MAX-YUV_CLAMP_MIN)*255.)-UV_BIAS) * SCALE_FACTOR); - B_Cbc[i] = myround(2. * (1.-KB_YCBCR) * (((UV_CLAMP_MAX-YUV_CLAMP_MIN)/(UV_CLAMP_MAX-YUV_CLAMP_MIN)*255.)-UV_BIAS) * + G_Crc[i] = myround(-.5 / (1. - KR_YCBCR) * (((UV_CLAMP_MAX - YUV_CLAMP_MIN) / (UV_CLAMP_MAX - YUV_CLAMP_MIN) * 255.) - UV_BIAS) * + SCALE_FACTOR); + G_Cbc[i] = myround(-.5 / (1. - KB_YCBCR) * (((UV_CLAMP_MAX - YUV_CLAMP_MIN) / (UV_CLAMP_MAX - YUV_CLAMP_MIN) * 255.) - UV_BIAS) * + SCALE_FACTOR); + B_Cbc[i] = myround(2. * (1. - KB_YCBCR) * (((UV_CLAMP_MAX - YUV_CLAMP_MIN) / (UV_CLAMP_MAX - YUV_CLAMP_MIN) * 255.) - UV_BIAS) * SCALE_FACTOR); // 2*(1-Kb) } - // unclamped Y'CbCr for (i = 0; i <= 255; i++) { RGB_Yu[i] = i * SCALE_FACTOR; } for (i = 0; i <= 255; i++) { - R_Cru[i] = myround(2. * (1.-KR_YCBCR) * ((double)i-UV_BIAS) * SCALE_FACTOR); // 2*(1-Kr) - G_Cru[i] = myround(-.5 / (1. - KR_YCBCR) * ((double)i-UV_BIAS) * SCALE_FACTOR); - G_Cbu[i] = myround(-.5 / (1. - KB_YCBCR) * ((double)i-UV_BIAS) * SCALE_FACTOR); - B_Cbu[i] = myround(2. * (1.-KB_YCBCR) * ((double)i-UV_BIAS) * SCALE_FACTOR); // 2*(1-Kb) + R_Cru[i] = myround(2. * (1. - KR_YCBCR) * ((double)i - UV_BIAS) * SCALE_FACTOR); // 2*(1-Kr) + G_Cru[i] = myround(-.5 / (1. - KR_YCBCR) * ((double)i - UV_BIAS) * SCALE_FACTOR); + G_Cbu[i] = myround(-.5 / (1. - KB_YCBCR) * ((double)i - UV_BIAS) * SCALE_FACTOR); + B_Cbu[i] = myround(2. * (1. - KB_YCBCR) * ((double)i - UV_BIAS) * SCALE_FACTOR); // 2*(1-Kb) } - - // These values are for what I call YUV_SUBSPACE_BT709 - /* clip Y values under 16 */ for (i = 0; i < YUV_CLAMP_MIN; i++) { HRGB_Yc[i] = 0; } for (; i < Y_CLAMP_MAX; i++) { - HRGB_Yc[i] = myround(((double)i-YUV_CLAMP_MIN)/(Y_CLAMP_MAX-YUV_CLAMP_MIN)*255. * SCALE_FACTOR); + HRGB_Yc[i] = myround(((double)i - YUV_CLAMP_MIN) / (Y_CLAMP_MAX - YUV_CLAMP_MIN) * 255. * SCALE_FACTOR); } /* clip Y values above 235 */ for (; i < 256; i++) { @@ -586,66 +526,64 @@ HB_Cbc[i] = 0; } for (; i < UV_CLAMP_MAX; i++) { - HR_Crc[i] = myround(2. * (1.-KR_BT701) * ((((double)i-YUV_CLAMP_MIN)/(UV_CLAMP_MAX-YUV_CLAMP_MIN)*255.)-UV_BIAS) * + HR_Crc[i] = myround(2. * (1. - KR_BT701) * ((((double)i - YUV_CLAMP_MIN) / (UV_CLAMP_MAX - YUV_CLAMP_MIN) * 255.) - UV_BIAS) * SCALE_FACTOR); // 2*(1-Kr) - HG_Crc[i] = myround(-.5 / (1. - KR_BT701) * ((((double)i-YUV_CLAMP_MIN)/(UV_CLAMP_MAX-YUV_CLAMP_MIN)*255.)-UV_BIAS) * SCALE_FACTOR); - HG_Cbc[i] = myround(-.5 / (1. - KB_BT701) * ((((double)i-YUV_CLAMP_MIN)/(UV_CLAMP_MAX-YUV_CLAMP_MIN)*255.)-UV_BIAS) * SCALE_FACTOR); - HB_Cbc[i] = myround(2. * (1.-KB_BT701) * ((((double)i-YUV_CLAMP_MIN)/(UV_CLAMP_MAX-YUV_CLAMP_MIN)*255.)-UV_BIAS) * + HG_Crc[i] = myround(-.5 / (1. - KR_BT701) * ((((double)i - YUV_CLAMP_MIN) / (UV_CLAMP_MAX - YUV_CLAMP_MIN) * 255.) - UV_BIAS) * + SCALE_FACTOR); + HG_Cbc[i] = myround(-.5 / (1. - KB_BT701) * ((((double)i - YUV_CLAMP_MIN) / (UV_CLAMP_MAX - YUV_CLAMP_MIN) * 255.) - UV_BIAS) * + SCALE_FACTOR); + HB_Cbc[i] = myround(2. * (1. - KB_BT701) * ((((double)i - YUV_CLAMP_MIN) / (UV_CLAMP_MAX - YUV_CLAMP_MIN) * 255.) - UV_BIAS) * SCALE_FACTOR); // 2*(1-Kb) } /* clip Cb/Cr values above 240 */ for (; i < 256; i++) { - HR_Crc[i] = myround(2. * (1.-KR_BT701) * (255.-UV_BIAS) * SCALE_FACTOR); // 2*(1-Kr) - HG_Crc[i] = myround(-.5 / (1. - KR_BT701) * (255.-UV_BIAS) * SCALE_FACTOR); - HG_Cbc[i] = myround(-.5 / (1. - KB_BT701) * (255.-UV_BIAS) * SCALE_FACTOR); - HB_Cbc[i] = myround(2. * (1.-KB_BT701) * (255.-UV_BIAS) * SCALE_FACTOR); // 2*(1-Kb) + HR_Crc[i] = myround(2. * (1. - KR_BT701) * (255. - UV_BIAS) * SCALE_FACTOR); // 2*(1-Kr) + HG_Crc[i] = myround(-.5 / (1. - KR_BT701) * (255. - UV_BIAS) * SCALE_FACTOR); + HG_Cbc[i] = myround(-.5 / (1. - KB_BT701) * (255. - UV_BIAS) * SCALE_FACTOR); + HB_Cbc[i] = myround(2. * (1. - KB_BT701) * (255. - UV_BIAS) * SCALE_FACTOR); // 2*(1-Kb) } - // unclamped Y'CbCr for (i = 0; i <= 255; i++) { HRGB_Yu[i] = i * SCALE_FACTOR; } for (i = 0; i <= 255; i++) { - HR_Crc[i] = myround(2. * (1.-KR_BT701) * ((double)i-UV_BIAS) * SCALE_FACTOR); // 2*(1-Kr) - HG_Crc[i] = myround(-.5 / (1. - KR_BT701) * ((double)i-UV_BIAS) * SCALE_FACTOR); - HG_Cbc[i] = myround(-.5 / (1. - KB_BT701) * ((double)i-UV_BIAS) * SCALE_FACTOR); - HB_Cbc[i] = myround(2. * (1.-KB_BT701) * ((double)i-UV_BIAS) * SCALE_FACTOR); // 2*(1-Kb) + HR_Crc[i] = myround(2. * (1. - KR_BT701) * ((double)i - UV_BIAS) * SCALE_FACTOR); // 2*(1-Kr) + HG_Crc[i] = myround(-.5 / (1. - KR_BT701) * ((double)i - UV_BIAS) * SCALE_FACTOR); + HG_Cbc[i] = myround(-.5 / (1. - KB_BT701) * ((double)i - UV_BIAS) * SCALE_FACTOR); + HB_Cbc[i] = myround(2. * (1. - KB_BT701) * ((double)i - UV_BIAS) * SCALE_FACTOR); // 2*(1-Kb) } - } - static void init_YUV_to_YUV_tables(void) { register int i; // init clamped -> unclamped, same subspace - for (i=0; i<YUV_CLAMP_MIN; i++) { - Yclamped_to_Yunclamped[i]=0; + for (i = 0; i < YUV_CLAMP_MIN; i++) { + Yclamped_to_Yunclamped[i] = 0; } - for (; i<Y_CLAMP_MAX; i++) { - Yclamped_to_Yunclamped[i]=myround((i-YUV_CLAMP_MIN)*255./(Y_CLAMP_MAX-YUV_CLAMP_MIN)); + for (; i < Y_CLAMP_MAX; i++) { + Yclamped_to_Yunclamped[i] = myround((i - YUV_CLAMP_MIN) * 255. / (Y_CLAMP_MAX - YUV_CLAMP_MIN)); } - for (; i<256; i++) { - Yclamped_to_Yunclamped[i]=255; + for (; i < 256; i++) { + Yclamped_to_Yunclamped[i] = 255; } - for (i=0; i<YUV_CLAMP_MIN; i++) { - UVclamped_to_UVunclamped[i]=0; + for (i = 0; i < YUV_CLAMP_MIN; i++) { + UVclamped_to_UVunclamped[i] = 0; } - for (; i<UV_CLAMP_MAX; i++) { - UVclamped_to_UVunclamped[i]=myround((i-YUV_CLAMP_MIN)*255./(UV_CLAMP_MAX-YUV_CLAMP_MIN)); + for (; i < UV_CLAMP_MAX; i++) { + UVclamped_to_UVunclamped[i] = myround((i - YUV_CLAMP_MIN) * 255. / (UV_CLAMP_MAX - YUV_CLAMP_MIN)); } - for (; i<256; i++) { - UVclamped_to_UVunclamped[i]=255; + for (; i < 256; i++) { + UVclamped_to_UVunclamped[i] = 255; } - - for (i=0; i<256; i++) { - Yunclamped_to_Yclamped[i]=myround((i/255.)*(Y_CLAMP_MAX-YUV_CLAMP_MIN)+YUV_CLAMP_MIN); - UVunclamped_to_UVclamped[i]=myround((i/255.)*(UV_CLAMP_MAX-YUV_CLAMP_MIN)+YUV_CLAMP_MIN); + for (i = 0; i < 256; i++) { + Yunclamped_to_Yclamped[i] = myround((i / 255.) * (Y_CLAMP_MAX - YUV_CLAMP_MIN) + YUV_CLAMP_MIN); + UVunclamped_to_UVclamped[i] = myround((i / 255.) * (UV_CLAMP_MAX - YUV_CLAMP_MIN) + YUV_CLAMP_MIN); } conv_YY_inited = TRUE; @@ -653,50 +591,45 @@ static void init_average(void) { - short a,b,c; - int x,y; - for (x=0; x<256; x++) { - for (y=0; y<256; y++) { - a=(short)(x-128); - b=(short)(y-128); - if ((c=(a+b-((a*b)>>8)+128))>UV_CLAMP_MAXI) c=UV_CLAMP_MAXI; - cavgc[x][y]=(uint8_t)(c>YUV_CLAMP_MINI?c:YUV_CLAMP_MINI); // this is fine because headroom==footroom==16 - if ((c=(a+b-((a*b)>>8)+128))>255) c=255; - cavgu[x][y]=(uint8_t)(c>0?c:0); - cavgrgb[x][y]=(x+y)/2; + short a, b, c; + int x, y; + for (x = 0; x < 256; x++) { + for (y = 0; y < 256; y++) { + a = (short)(x - 128); + b = (short)(y - 128); + if ((c = (a + b - ((a * b) >> 8) + 128)) > UV_CLAMP_MAXI) c = UV_CLAMP_MAXI; + cavgc[x][y] = (uint8_t)(c > YUV_CLAMP_MINI ? c : YUV_CLAMP_MINI); // this is fine because headroom==footroom==16 + if ((c = (a + b - ((a * b) >> 8) + 128)) > 255) c = 255; + cavgu[x][y] = (uint8_t)(c > 0 ? c : 0); + cavgrgb[x][y] = (x + y) / 2; } } - avg_inited=TRUE; + avg_inited = TRUE; } - static void init_unal(void) { // premult to postmult and vice-versa - register int i,j; + register int i, j; - for (i=0; i<256; i++) { //alpha val - for (j=0; j<256; j++) { // val to be converted - unal[i][j]=(float)j*255./(float)i; - al[i][j]=(float)j*(float)i/255.; + for (i = 0; i < 256; i++) { //alpha val + for (j = 0; j < 256; j++) { // val to be converted + unal[i][j] = (float)j * 255. / (float)i; + al[i][j] = (float)j * (float)i / 255.; // clamped versions - unalcy[i][j]=((j-YUV_CLAMP_MIN)/(Y_CLAMP_MAX-YUV_CLAMP_MIN))/(float)i; - alcy[i][j]=((j-YUV_CLAMP_MIN)/(Y_CLAMP_MAX-YUV_CLAMP_MIN))*(float)i; - unalcuv[i][j]=((j-YUV_CLAMP_MIN)/(UV_CLAMP_MAX-YUV_CLAMP_MIN))/(float)i; - alcuv[i][j]=((j-YUV_CLAMP_MIN)/(UV_CLAMP_MAX-YUV_CLAMP_MIN))*(float)i; + unalcy[i][j] = ((j - YUV_CLAMP_MIN) / (Y_CLAMP_MAX - YUV_CLAMP_MIN)) / (float)i; + alcy[i][j] = ((j - YUV_CLAMP_MIN) / (Y_CLAMP_MAX - YUV_CLAMP_MIN)) * (float)i; + unalcuv[i][j] = ((j - YUV_CLAMP_MIN) / (UV_CLAMP_MAX - YUV_CLAMP_MIN)) / (float)i; + alcuv[i][j] = ((j - YUV_CLAMP_MIN) / (UV_CLAMP_MAX - YUV_CLAMP_MIN)) * (float)i; } } - unal_inited=TRUE; + unal_inited = TRUE; } - - - - static void set_conversion_arrays(int clamping, int subspace) { // set conversion arrays for RGB <-> YUV, also min/max YUV values // depending on clamping and subspace @@ -704,86 +637,86 @@ switch (subspace) { case WEED_YUV_SUBSPACE_YUV: case WEED_YUV_SUBSPACE_YCBCR: - if (clamping==WEED_YUV_CLAMPING_CLAMPED) { - Y_R=Y_Rc; - Y_G=Y_Gc; - Y_B=Y_Bc; - - Cr_R=Cr_Rc; - Cr_G=Cr_Gc; - Cr_B=Cr_Bc; - - Cb_R=Cb_Rc; - Cb_G=Cb_Gc; - Cb_B=Cb_Bc; + if (clamping == WEED_YUV_CLAMPING_CLAMPED) { + Y_R = Y_Rc; + Y_G = Y_Gc; + Y_B = Y_Bc; + + Cr_R = Cr_Rc; + Cr_G = Cr_Gc; + Cr_B = Cr_Bc; + + Cb_R = Cb_Rc; + Cb_G = Cb_Gc; + Cb_B = Cb_Bc; - RGB_Y=RGB_Yc; + RGB_Y = RGB_Yc; - R_Cr=R_Crc; - G_Cr=G_Crc; + R_Cr = R_Crc; + G_Cr = G_Crc; - G_Cb=G_Cbc; - B_Cb=B_Cbc; + G_Cb = G_Cbc; + B_Cb = B_Cbc; } else { - Y_R=Y_Ru; - Y_G=Y_Gu; - Y_B=Y_Bu; - - Cr_R=Cr_Ru; - Cr_G=Cr_Gu; - Cr_B=Cr_Bu; - - Cb_R=Cb_Ru; - Cb_G=Cb_Gu; - Cb_B=Cb_Bu; - - RGB_Y=RGB_Yu; - - R_Cr=R_Cru; - G_Cr=G_Cru; - G_Cb=G_Cbu; - B_Cb=B_Cbu; + Y_R = Y_Ru; + Y_G = Y_Gu; + Y_B = Y_Bu; + + Cr_R = Cr_Ru; + Cr_G = Cr_Gu; + Cr_B = Cr_Bu; + + Cb_R = Cb_Ru; + Cb_G = Cb_Gu; + Cb_B = Cb_Bu; + + RGB_Y = RGB_Yu; + + R_Cr = R_Cru; + G_Cr = G_Cru; + G_Cb = G_Cbu; + B_Cb = B_Cbu; } break; case WEED_YUV_SUBSPACE_BT709: - if (clamping==WEED_YUV_CLAMPING_CLAMPED) { - Y_R=HY_Rc; - Y_G=HY_Gc; - Y_B=HY_Bc; - - Cr_R=HCr_Rc; - Cr_G=HCr_Gc; - Cr_B=HCr_Bc; - - Cb_R=HCb_Rc; - Cb_G=HCb_Gc; - Cb_B=HCb_Bc; - - RGB_Y=HRGB_Yc; - - R_Cr=HR_Crc; - G_Cr=HG_Crc; - G_Cb=HG_Cbc; - B_Cb=HB_Cbc; + if (clamping == WEED_YUV_CLAMPING_CLAMPED) { + Y_R = HY_Rc; + Y_G = HY_Gc; + Y_B = HY_Bc; + + Cr_R = HCr_Rc; + Cr_G = HCr_Gc; + Cr_B = HCr_Bc; + + Cb_R = HCb_Rc; + Cb_G = HCb_Gc; + Cb_B = HCb_Bc; + + RGB_Y = HRGB_Yc; + + R_Cr = HR_Crc; + G_Cr = HG_Crc; + G_Cb = HG_Cbc; + B_Cb = HB_Cbc; } else { - Y_R=HY_Ru; - Y_G=HY_Gu; - Y_B=HY_Bu; - - Cr_R=HCr_Ru; - Cr_G=HCr_Gu; - Cr_B=HCr_Bu; - - Cb_R=HCb_Ru; - Cb_G=HCb_Gu; - Cb_B=HCb_Bu; - - RGB_Y=HRGB_Yu; - - R_Cr=HR_Cru; - G_Cr=HG_Cru; - G_Cb=HG_Cbu; - B_Cb=HB_Cbu; + Y_R = HY_Ru; + Y_G = HY_Gu; + Y_B = HY_Bu; + + Cr_R = HCr_Ru; + Cr_G = HCr_Gu; + Cr_B = HCr_Bu; + + Cb_R = HCb_Ru; + Cb_G = HCb_Gu; + Cb_B = HCb_Bu; + + RGB_Y = HRGB_Yu; + + R_Cr = HR_Cru; + G_Cr = HG_Cru; + G_Cb = HG_Cbu; + B_Cb = HB_Cbu; } break; @@ -791,15 +724,15 @@ if (!avg_inited) init_average(); - if (clamping==WEED_YUV_CLAMPING_CLAMPED) { - min_Y=min_UV=YUV_CLAMP_MIN; - max_Y=Y_CLAMP_MAX; - max_UV=UV_CLAMP_MAX; - cavg=(uint8_t *)cavgc; + if (clamping == WEED_YUV_CLAMPING_CLAMPED) { + min_Y = min_UV = YUV_CLAMP_MIN; + max_Y = Y_CLAMP_MAX; + max_UV = UV_CLAMP_MAX; + cavg = (uint8_t *)cavgc; } else { - min_Y=min_UV=0; - max_Y=max_UV=255; - cavg=(uint8_t *)cavgu; + min_Y = min_UV = 0; + max_Y = max_UV = 255; + cavg = (uint8_t *)cavgu; } } @@ -817,14 +750,14 @@ switch (osubspace) { case WEED_YUV_SUBSPACE_YCBCR: case WEED_YUV_SUBSPACE_YUV: - if (iclamping==WEED_YUV_CLAMPING_CLAMPED) { + if (iclamping == WEED_YUV_CLAMPING_CLAMPED) { //Y'CbCr clamped -> Y'CbCr unclamped - Y_to_Y=Yclamped_to_Yunclamped; - U_to_U=V_to_V=UVclamped_to_UVunclamped; + Y_to_Y = Yclamped_to_Yunclamped; + U_to_U = V_to_V = UVclamped_to_UVunclamped; } else { //Y'CbCr unclamped -> Y'CbCr clamped - Y_to_Y=Yunclamped_to_Yclamped; - U_to_U=V_to_V=UVunclamped_to_UVclamped; + Y_to_Y = Yunclamped_to_Yclamped; + U_to_U = V_to_V = UVunclamped_to_UVclamped; } break; // TODO - other subspaces @@ -836,14 +769,14 @@ switch (osubspace) { case WEED_YUV_SUBSPACE_BT709: case WEED_YUV_SUBSPACE_YUV: - if (iclamping==WEED_YUV_CLAMPING_CLAMPED) { + if (iclamping == WEED_YUV_CLAMPING_CLAMPED) { //BT.709 clamped -> BT.709 unclamped - Y_to_Y=Yclamped_to_Yunclamped; - U_to_U=V_to_V=UVclamped_to_UVunclamped; + Y_to_Y = Yclamped_to_Yunclamped; + U_to_U = V_to_V = UVclamped_to_UVunclamped; } else { //BT.709 unclamped -> BT.709 clamped - Y_to_Y=Yunclamped_to_Yclamped; - U_to_U=V_to_V=UVunclamped_to_UVclamped; + Y_to_Y = Yunclamped_to_Yclamped; + U_to_U = V_to_V = UVunclamped_to_UVclamped; } break; // TODO - other subspaces @@ -856,277 +789,290 @@ } } - - ////////////////////////// // pixel conversions + static LIVES_INLINE uint8_t avg_chroma(size_t x, size_t y) { // cavg == cavgc for clamped, cavgu for unclamped - return *(cavg+(x<<8)+y); + return *(cavg + (x << 8) + y); } static LIVES_INLINE void rgb2yuv(uint8_t r0, uint8_t g0, uint8_t b0, uint8_t *y, uint8_t *u, uint8_t *v) { register short a; - if ((a=((Y_R[r0]+Y_G[g0]+Y_B[b0])>>FP_BITS))>max_Y) a=max_Y; - *y=a<min_Y?min_Y:a; - if ((a=((Cb_R[r0]+Cb_G[g0]+Cb_B[b0])>>FP_BITS))>max_UV) a=max_UV; - *u=a<min_UV?min_UV:a; - if ((a=((Cr_R[r0]+Cr_G[g0]+Cr_B[b0])>>FP_BITS))>max_UV) a=max_UV; - *v=a<min_UV?min_UV:a; + if ((a = ((Y_R[r0] + Y_G[g0] + Y_B[b0]) >> FP_BITS)) > max_Y) a = max_Y; + *y = a < min_Y ? min_Y : a; + if ((a = ((Cb_R[r0] + Cb_G[g0] + Cb_B[b0]) >> FP_BITS)) > max_UV) a = max_UV; + *u = a < min_UV ? min_UV : a; + if ((a = ((Cr_R[r0] + Cr_G[g0] + Cr_B[b0]) >> FP_BITS)) > max_UV) a = max_UV; + *v = a < min_UV ? min_UV : a; } + static LIVES_INLINE void rgb2uyvy(uint8_t r0, uint8_t g0, uint8_t b0, uint8_t r1, uint8_t g1, uint8_t b1, uyvy_macropixel *uyvy) { register short a; - if ((a=((Y_R[r0]+Y_G[g0]+Y_B[b0])>>FP_BITS))>max_Y) uyvy->y0=max_Y; - else uyvy->y0=a<min_Y?min_Y:a; - if ((a=((Y_R[r1]+Y_G[g1]+Y_B[b1])>>FP_BITS))>max_Y) uyvy->y1=max_Y; - else uyvy->y1=a<min_Y?min_Y:a; + if ((a = ((Y_R[r0] + Y_G[g0] + Y_B[b0]) >> FP_BITS)) > max_Y) uyvy->y0 = max_Y; + else uyvy->y0 = a < min_Y ? min_Y : a; + if ((a = ((Y_R[r1] + Y_G[g1] + Y_B[b1]) >> FP_BITS)) > max_Y) uyvy->y1 = max_Y; + else uyvy->y1 = a < min_Y ? min_Y : a; - uyvy->u0=avg_chroma((Cb_R[r0]+Cb_G[g0]+Cb_B[b0])>>FP_BITS, - (Cb_R[r1]+Cb_G[g1]+Cb_B[b1])>>FP_BITS); - - uyvy->v0=avg_chroma((Cr_R[r0]+Cr_G[g0]+Cr_B[b0])>>FP_BITS, - (Cr_R[r1]+Cr_G[g1]+Cr_B[b1])>>FP_BITS); + uyvy->u0 = avg_chroma((Cb_R[r0] + Cb_G[g0] + Cb_B[b0]) >> FP_BITS, + (Cb_R[r1] + Cb_G[g1] + Cb_B[b1]) >> FP_BITS); + uyvy->v0 = avg_chroma((Cr_R[r0] + Cr_G[g0] + Cr_B[b0]) >> FP_BITS, + (Cr_R[r1] + Cr_G[g1] + Cr_B[b1]) >> FP_BITS); } + static LIVES_INLINE void rgb2yuyv(uint8_t r0, uint8_t g0, uint8_t b0, uint8_t r1, uint8_t g1, uint8_t b1, yuyv_macropixel *yuyv) { register short a; - if ((a=((Y_R[r0]+Y_G[g0]+Y_B[b0])>>FP_BITS))>max_Y) yuyv->y0=max_Y; - else yuyv->y0=a<min_Y?min_Y:a; - if ((a=((Y_R[r1]+Y_G[g1]+Y_B[b1])>>FP_BITS))>max_Y) yuyv->y1=max_Y; - else yuyv->y1=a<min_Y?min_Y:a; - - yuyv->u0=avg_chroma((Cb_R[r0]+Cb_G[g0]+Cb_B[b0])>>FP_BITS, - (Cb_R[r1]+Cb_G[g1]+Cb_B[b1])>>FP_BITS); - - yuyv->v0=avg_chroma((Cr_R[r0]+Cr_G[g0]+Cr_B[b0])>>FP_BITS, - (Cr_R[r1]+Cr_G[g1]+Cr_B[b1])>>FP_BITS); + if ((a = ((Y_R[r0] + Y_G[g0] + Y_B[b0]) >> FP_BITS)) > max_Y) yuyv->y0 = max_Y; + else yuyv->y0 = a < min_Y ? min_Y : a; + if ((a = ((Y_R[r1] + Y_G[g1] + Y_B[b1]) >> FP_BITS)) > max_Y) yuyv->y1 = max_Y; + else yuyv->y1 = a < min_Y ? min_Y : a; + yuyv->u0 = avg_chroma((Cb_R[r0] + Cb_G[g0] + Cb_B[b0]) >> FP_BITS, + (Cb_R[r1] + Cb_G[g1] + Cb_B[b1]) >> FP_BITS); + yuyv->v0 = avg_chroma((Cr_R[r0] + Cr_G[g0] + Cr_B[b0]) >> FP_BITS, + (Cr_R[r1] + Cr_G[g1] + Cr_B[b1]) >> FP_BITS); } + static LIVES_INLINE void rgb2_411(uint8_t r0, uint8_t g0, uint8_t b0, uint8_t r1, uint8_t g1, uint8_t b1, uint8_t r2, uint8_t g2, uint8_t b2, uint8_t r3, uint8_t g3, uint8_t b3, yuv411_macropixel *yuv) { register int a; - if ((a=((Y_R[r0]+Y_G[g0]+Y_B[b0])>>FP_BITS))>max_Y) yuv->y0=max_Y; - else yuv->y0=a<min_Y?min_Y:a; - if ((a=((Y_R[r1]+Y_G[g1]+Y_B[b1])>>FP_BITS))>max_Y) yuv->y1=max_Y; - else yuv->y1=a<min_Y?min_Y:a; - if ((a=((Y_R[r2]+Y_G[g2]+Y_B[b2])>>FP_BITS))>max_Y) yuv->y2=max_Y; - else yuv->y2=a<min_Y?min_Y:a; - if ((a=((Y_R[r3]+Y_G[g3]+Y_B[b3])>>FP_BITS))>max_Y) yuv->y3=max_Y; - else yuv->y3=a<min_Y?min_Y:a; - - if ((a=((((Cr_R[r0]+Cr_G[g0]+Cr_B[b0])>>FP_BITS)+((Cr_R[r1]+Cr_G[g1]+Cr_B[b1])>>FP_BITS)+ - ((Cr_R[r2]+Cr_G[g2]+Cr_B[b2])>>FP_BITS)+((Cr_R[r3]+Cr_G[g3]+Cr_B[b3])>>FP_BITS))>>2))>max_UV) yuv->v2=max_UV; - else yuv->v2=a<min_UV?min_UV:a; - if ((a=((((Cb_R[r0]+Cb_G[g0]+Cb_B[b0])>>FP_BITS)+((Cb_R[r1]+Cb_G[g1]+Cb_B[b1])>>FP_BITS)+ - ((Cb_R[r2]+Cb_G[g2]+Cb_B[b2])>>FP_BITS)+((Cb_R[r3]+Cb_G[g3]+Cb_B[b3])>>FP_BITS))>>2))>max_UV) yuv->u2=max_UV; - else yuv->u2=a<min_UV?min_UV:a; + if ((a = ((Y_R[r0] + Y_G[g0] + Y_B[b0]) >> FP_BITS)) > max_Y) yuv->y0 = max_Y; + else yuv->y0 = a < min_Y ? min_Y : a; + if ((a = ((Y_R[r1] + Y_G[g1] + Y_B[b1]) >> FP_BITS)) > max_Y) yuv->y1 = max_Y; + else yuv->y1 = a < min_Y ? min_Y : a; + if ((a = ((Y_R[r2] + Y_G[g2] + Y_B[b2]) >> FP_BITS)) > max_Y) yuv->y2 = max_Y; + else yuv->y2 = a < min_Y ? min_Y : a; + if ((a = ((Y_R[r3] + Y_G[g3] + Y_B[b3]) >> FP_BITS)) > max_Y) yuv->y3 = max_Y; + else yuv->y3 = a < min_Y ? min_Y : a; + + if ((a = ((((Cr_R[r0] + Cr_G[g0] + Cr_B[b0]) >> FP_BITS) + ((Cr_R[r1] + Cr_G[g1] + Cr_B[b1]) >> FP_BITS) + + ((Cr_R[r2] + Cr_G[g2] + Cr_B[b2]) >> FP_BITS) + ((Cr_R[r3] + Cr_G[g3] + Cr_B[b3]) >> FP_BITS)) >> 2)) > max_UV) yuv->v2 = max_UV; + else yuv->v2 = a < min_UV ? min_UV : a; + if ((a = ((((Cb_R[r0] + Cb_G[g0] + Cb_B[b0]) >> FP_BITS) + ((Cb_R[r1] + Cb_G[g1] + Cb_B[b1]) >> FP_BITS) + + ((Cb_R[r2] + Cb_G[g2] + Cb_B[b2]) >> FP_BITS) + ((Cb_R[r3] + Cb_G[g3] + Cb_B[b3]) >> FP_BITS)) >> 2)) > max_UV) yuv->u2 = max_UV; + else yuv->u2 = a < min_UV ? min_UV : a; } + static LIVES_INLINE void yuv2rgb(uint8_t y, uint8_t u, uint8_t v, uint8_t *r, uint8_t *g, uint8_t *b) { *r = CLAMP0255((RGB_Y[y] + R_Cr[v]) >> FP_BITS); - *g = CLAMP0255((RGB_Y[y] + G_Cb[u]+ G_Cr[v]) >> FP_BITS); + *g = CLAMP0255((RGB_Y[y] + G_Cb[u] + G_Cr[v]) >> FP_BITS); *b = CLAMP0255((RGB_Y[y] + B_Cb[u]) >> FP_BITS); } + static LIVES_INLINE void uyvy2rgb(uyvy_macropixel *uyvy, uint8_t *r0, uint8_t *g0, uint8_t *b0, uint8_t *r1, uint8_t *g1, uint8_t *b1) { - yuv2rgb(uyvy->y0,uyvy->u0,uyvy->v0,r0,g0,b0); - yuv2rgb(uyvy->y1,uyvy->u0,uyvy->v0,r1,g1,b1); + yuv2rgb(uyvy->y0, uyvy->u0, uyvy->v0, r0, g0, b0); + yuv2rgb(uyvy->y1, uyvy->u0, uyvy->v0, r1, g1, b1); //if (uyvy->y0>240||uyvy->u0>240||uyvy->v0>240||uyvy->y1>240) lives_printerr("got unclamped !\n"); } static LIVES_INLINE void yuyv2rgb(yuyv_macropixel *yuyv, uint8_t *r0, uint8_t *g0, uint8_t *b0, uint8_t *r1, uint8_t *g1, uint8_t *b1) { - yuv2rgb(yuyv->y0,yuyv->u0,yuyv->v0,r0,g0,b0); - yuv2rgb(yuyv->y1,yuyv->u0,yuyv->v0,r1,g1,b1); + yuv2rgb(yuyv->y0, yuyv->u0, yuyv->v0, r0, g0, b0); + yuv2rgb(yuyv->y1, yuyv->u0, yuyv->v0, r1, g1, b1); } static LIVES_INLINE void yuv888_2_rgb(uint8_t *yuv, uint8_t *rgb, boolean add_alpha) { - yuv2rgb(yuv[0],yuv[1],yuv[2],&(rgb[0]),&(rgb[1]),&(rgb[2])); - if (add_alpha) rgb[3]=255; + yuv2rgb(yuv[0], yuv[1], yuv[2], &(rgb[0]), &(rgb[1]), &(rgb[2])); + if (add_alpha) rgb[3] = 255; } static LIVES_INLINE void yuva8888_2_rgba(uint8_t *yuva, uint8_t *rgba, boolean del_alpha) { - yuv2rgb(yuva[0],yuva[1],yuva[2],&(rgba[0]),&(rgba[1]),&(rgba[2])); - if (!del_alpha) rgba[3]=yuva[3]; + yuv2rgb(yuva[0], yuva[1], yuva[2], &(rgba[0]), &(rgba[1]), &(rgba[2])); + if (!del_alpha) rgba[3] = yuva[3]; } + static LIVES_INLINE void yuv888_2_bgr(uint8_t *yuv, uint8_t *bgr, boolean add_alpha) { - yuv2rgb(yuv[0],yuv[1],yuv[2],&(bgr[2]),&(bgr[1]),&(bgr[0])); - if (add_alpha) bgr[3]=255; + yuv2rgb(yuv[0], yuv[1], yuv[2], &(bgr[2]), &(bgr[1]), &(bgr[0])); + if (add_alpha) bgr[3] = 255; } static LIVES_INLINE void yuva8888_2_bgra(uint8_t *yuva, uint8_t *bgra, boolean del_alpha) { - yuv2rgb(yuva[0],yuva[1],yuva[2],&(bgra[2]),&(bgra[1]),&(bgra[0])); - if (!del_alpha) bgra[3]=yuva[3]; + yuv2rgb(yuva[0], yuva[1], yuva[2], &(bgra[2]), &(bgra[1]), &(bgra[0])); + if (!del_alpha) bgra[3] = yuva[3]; } + static LIVES_INLINE void yuv888_2_argb(uint8_t *yuv, uint8_t *argb) { - argb[0]=255; - yuv2rgb(yuv[0],yuv[1],yuv[2],&(argb[1]),&(argb[2]),&(argb[3])); + argb[0] = 255; + yuv2rgb(yuv[0], yuv[1], yuv[2], &(argb[1]), &(argb[2]), &(argb[3])); } static LIVES_INLINE void yuva8888_2_argb(uint8_t *yuva, uint8_t *argb) { - argb[0]=yuva[3]; - yuv2rgb(yuva[0],yuva[1],yuva[2],&(argb[1]),&(argb[2]),&(argb[3])); + argb[0] = yuva[3]; + yuv2rgb(yuva[0], yuva[1], yuva[2], &(argb[1]), &(argb[2]), &(argb[3])); } + static LIVES_INLINE void uyvy_2_yuv422(uyvy_macropixel *uyvy, uint8_t *y0, uint8_t *u0, uint8_t *v0, uint8_t *y1) { - *u0=uyvy->u0; - *y0=uyvy->y0; - *v0=uyvy->v0; - *y1=uyvy->y1; + *u0 = uyvy->u0; + *y0 = uyvy->y0; + *v0 = uyvy->v0; + *y1 = uyvy->y1; } + static LIVES_INLINE void yuyv_2_yuv422(yuyv_macropixel *yuyv, uint8_t *y0, uint8_t *u0, uint8_t *v0, uint8_t *y1) { - *y0=yuyv->y0; - *u0=yuyv->u0; - *y1=yuyv->y1; - *v0=yuyv->v0; + *y0 = yuyv->y0; + *u0 = yuyv->u0; + *y1 = yuyv->y1; + *v0 = yuyv->v0; } - - ///////////////////////////////////////////////// //utilities LIVES_INLINE boolean weed_palette_is_alpha_palette(int pal) { - return (pal>=1024&&pal<2048)?TRUE:FALSE; + return (pal >= 1024 && pal < 2048) ? TRUE : FALSE; } + LIVES_INLINE boolean weed_palette_is_rgb_palette(int pal) { - return (pal<512)?TRUE:FALSE; + return (pal < 512) ? TRUE : FALSE; } + LIVES_INLINE boolean weed_palette_is_yuv_palette(int pal) { - return (pal>=512&&pal<1024)?TRUE:FALSE; + return (pal >= 512 && pal < 1024) ? TRUE : FALSE; } + LIVES_INLINE int weed_palette_get_numplanes(int pal) { - if (pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24||pal==WEED_PALETTE_RGBA32||pal==WEED_PALETTE_BGRA32|| - pal==WEED_PALETTE_ARGB32||pal==WEED_PALETTE_UYVY8888||pal==WEED_PALETTE_YUYV8888||pal==WEED_PALETTE_YUV411|| - pal==WEED_PALETTE_YUV888||pal==WEED_PALETTE_YUVA8888||pal==WEED_PALETTE_AFLOAT||pal==WEED_PALETTE_A8|| - pal==WEED_PALETTE_A1||pal==WEED_PALETTE_RGBFLOAT||pal==WEED_PALETTE_RGBAFLOAT) return 1; - if (pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P||pal==WEED_PALETTE_YUV422P||pal==WEED_PALETTE_YUV444P) return 3; - if (pal==WEED_PALETTE_YUVA4444P) return 4; + if (pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24 || pal == WEED_PALETTE_RGBA32 || pal == WEED_PALETTE_BGRA32 || + pal == WEED_PALETTE_ARGB32 || pal == WEED_PALETTE_UYVY8888 || pal == WEED_PALETTE_YUYV8888 || pal == WEED_PALETTE_YUV411 || + pal == WEED_PALETTE_YUV888 || pal == WEED_PALETTE_YUVA8888 || pal == WEED_PALETTE_AFLOAT || pal == WEED_PALETTE_A8 || + pal == WEED_PALETTE_A1 || pal == WEED_PALETTE_RGBFLOAT || pal == WEED_PALETTE_RGBAFLOAT) return 1; + if (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || pal == WEED_PALETTE_YUV422P || pal == WEED_PALETTE_YUV444P) return 3; + if (pal == WEED_PALETTE_YUVA4444P) return 4; return 0; // unknown palette } + LIVES_INLINE boolean weed_palette_is_valid_palette(int pal) { - if (weed_palette_get_numplanes(pal)==0) return FALSE; + if (weed_palette_get_numplanes(pal) == 0) return FALSE; return TRUE; } + LIVES_INLINE int weed_palette_get_bits_per_macropixel(int pal) { - if (pal==WEED_PALETTE_A8||pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P|| - pal==WEED_PALETTE_YUV422P||pal==WEED_PALETTE_YUV444P||pal==WEED_PALETTE_YUVA4444P) return 8; - if (pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_BGR24) return 24; - if (pal==WEED_PALETTE_RGBA32||pal==WEED_PALETTE_BGRA32||pal==WEED_PALETTE_ARGB32|| - pal==WEED_PALETTE_UYVY8888||pal==WEED_PALETTE_YUYV8888||pal==WEED_PALETTE_YUV888||pal==WEED_PALETTE_YUVA8888) + if (pal == WEED_PALETTE_A8 || pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P || + pal == WEED_PALETTE_YUV422P || pal == WEED_PALETTE_YUV444P || pal == WEED_PALETTE_YUVA4444P) return 8; + if (pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_BGR24) return 24; + if (pal == WEED_PALETTE_RGBA32 || pal == WEED_PALETTE_BGRA32 || pal == WEED_PALETTE_ARGB32 || + pal == WEED_PALETTE_UYVY8888 || pal == WEED_PALETTE_YUYV8888 || pal == WEED_PALETTE_YUV888 || pal == WEED_PALETTE_YUVA8888) return 32; - if (pal==WEED_PALETTE_YUV411) return 48; - if (pal==WEED_PALETTE_AFLOAT) return sizeof(float); - if (pal==WEED_PALETTE_A1) return 1; - if (pal==WEED_PALETTE_RGBFLOAT) return (3*sizeof(float)); - if (pal==WEED_PALETTE_RGBAFLOAT) return (4*sizeof(float)); + if (pal == WEED_PALETTE_YUV411) return 48; + if (pal == WEED_PALETTE_AFLOAT) return sizeof(float); + if (pal == WEED_PALETTE_A1) return 1; + if (pal == WEED_PALETTE_RGBFLOAT) return (3 * sizeof(float)); + if (pal == WEED_PALETTE_RGBAFLOAT) return (4 * sizeof(float)); return 0; // unknown palette } LIVES_INLINE int weed_palette_get_pixels_per_macropixel(int pal) { - if (pal==WEED_PALETTE_UYVY8888||pal==WEED_PALETTE_YUYV8888) return 2; - if (pal==WEED_PALETTE_YUV411) return 4; + if (pal == WEED_PALETTE_UYVY8888 || pal == WEED_PALETTE_YUYV8888) return 2; + if (pal == WEED_PALETTE_YUV411) return 4; return 1; } + LIVES_INLINE boolean weed_palette_is_float_palette(int pal) { - return (pal==WEED_PALETTE_RGBAFLOAT||pal==WEED_PALETTE_AFLOAT||pal==WEED_PALETTE_RGBFLOAT)?TRUE:FALSE; + return (pal == WEED_PALETTE_RGBAFLOAT || pal == WEED_PALETTE_AFLOAT || pal == WEED_PALETTE_RGBFLOAT) ? TRUE : FALSE; } + LIVES_INLINE boolean weed_palette_has_alpha_channel(int pal) { - return (pal==WEED_PALETTE_RGBA32||pal==WEED_PALETTE_BGRA32||pal==WEED_PALETTE_ARGB32|| - pal==WEED_PALETTE_YUVA4444P||pal==WEED_PALETTE_YUVA8888||pal==WEED_PALETTE_RGBAFLOAT|| - weed_palette_is_alpha_palette(pal))?TRUE:FALSE; + return (pal == WEED_PALETTE_RGBA32 || pal == WEED_PALETTE_BGRA32 || pal == WEED_PALETTE_ARGB32 || + pal == WEED_PALETTE_YUVA4444P || pal == WEED_PALETTE_YUVA8888 || pal == WEED_PALETTE_RGBAFLOAT || + weed_palette_is_alpha_palette(pal)) ? TRUE : FALSE; } + LIVES_INLINE double weed_palette_get_plane_ratio_horizontal(int pal, int plane) { // return ratio of plane[n] width/plane[0] width; - if (plane==0) return 1.0; - if (plane==1||plane==2) { - if (pal==WEED_PALETTE_YUV444P||pal==WEED_PALETTE_YUVA4444P) return 1.0; - if (pal==WEED_PALETTE_YUV422P||pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P) return 0.5; + if (plane == 0) return 1.0; + if (plane == 1 || plane == 2) { + if (pal == WEED_PALETTE_YUV444P || pal == WEED_PALETTE_YUVA4444P) return 1.0; + if (pal == WEED_PALETTE_YUV422P || pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P) return 0.5; } - if (plane==3) { - if (pal==WEED_PALETTE_YUVA4444P) return 1.0; + if (plane == 3) { + if (pal == WEED_PALETTE_YUVA4444P) return 1.0; } return 0.0; } + LIVES_INLINE double weed_palette_get_plane_ratio_vertical(int pal, int plane) { // return ratio of plane[n] height/plane[n] height - if (plane==0) return 1.0; - if (plane==1||plane==2) { - if (pal==WEED_PALETTE_YUV444P||pal==WEED_PALETTE_YUVA4444P||pal==WEED_PALETTE_YUV422P) return 1.0; - if (pal==WEED_PALETTE_YUV420P||pal==WEED_PALETTE_YVU420P) return 0.5; + if (plane == 0) return 1.0; + if (plane == 1 || plane == 2) { + if (pal == WEED_PALETTE_YUV444P || pal == WEED_PALETTE_YUVA4444P || pal == WEED_PALETTE_YUV422P) return 1.0; + if (pal == WEED_PALETTE_YUV420P || pal == WEED_PALETTE_YVU420P) return 0.5; } - if (plane==3) { - if (pal==WEED_PALETTE_YUVA4444P) return 1.0; + if (plane == 3) { + if (pal == WEED_PALETTE_YUVA4444P) return 1.0; } return 0.0; } + boolean weed_palette_is_lower_quality(int p1, int p2) { // return TRUE if p1 is lower quality than p2 // we don't yet handle float palettes, or RGB or alpha properly // currently only works well for YUV palettes - if ((weed_palette_is_alpha_palette(p1)&&!weed_palette_is_alpha_palette(p2))|| - (weed_palette_is_alpha_palette(p2)&&!weed_palette_is_alpha_palette(p1))) return TRUE; // invalid conversion + if ((weed_palette_is_alpha_palette(p1) && !weed_palette_is_alpha_palette(p2)) || + (weed_palette_is_alpha_palette(p2) && !weed_palette_is_alpha_palette(p1))) return TRUE; // invalid conversion - if (weed_palette_is_rgb_palette(p1)&&weed_palette_is_rgb_palette(p2)) return FALSE; + if (weed_palette_is_rgb_palette(p1) && weed_palette_is_rgb_palette(p2)) return FALSE; switch (p2) { case WEED_PALETTE_YUVA8888: - if (p1!=WEED_PALETTE_YUVA8888&&p1!=WEED_PALETTE_YUVA4444P) return TRUE; + if (p1 != WEED_PALETTE_YUVA8888 && p1 != WEED_PALETTE_YUVA4444P) return TRUE; break; case WEED_PALETTE_YUVA4444P: - if (p1!=WEED_PALETTE_YUVA8888&&p1!=WEED_PALETTE_YUVA4444P) return TRUE; + if (p1 != WEED_PALETTE_YUVA8888 && p1 != WEED_PALETTE_YUVA4444P) return TRUE; break; case WEED_PALETTE_YUV888: - if (p1!=WEED_PALETTE_YUVA8888&&p1!=WEED_PALETTE_YUVA4444P&&p1!=WEED_PALETTE_YUV444P&&p1!=WEED_PALETTE_YUVA4444P) + if (p1 != WEED_PALETTE_YUVA8888 && p1 != WEED_PALETTE_YUVA4444P && p1 != WEED_PALETTE_YUV444P && p1 != WEED_PALETTE_YUVA4444P) return TRUE; break; case WEED_PALETTE_YUV444P: - if (p1!=WEED_PALETTE_YUVA8888&&p1!=WEED_PALETTE_YUVA4444P&&p1!=WEED_PALETTE_YUV444P&&p1!=WEED_PALETTE_YUVA4444P) + if (p1 != WEED_PALETTE_YUVA8888 && p1 != WEED_PALETTE_YUVA4444P && p1 != WEED_PALETTE_YUV444P && p1 != WEED_PALETTE_YUVA4444P) return TRUE; break; case WEED_PALETTE_YUV422P: case WEED_PALETTE_UYVY8888: case WEED_PALETTE_YUYV8888: - if (p1!=WEED_PALETTE_YUVA8888&&p1!=WEED_PALETTE_YUVA4444P&&p1!=WEED_PALETTE_YUV444P&& - p1!=WEED_PALETTE_YUVA4444P&&p1!=WEED_PALETTE_YUV422P&&p1!=WEED_PALETTE_UYVY8888&&p1!=WEED_PALETTE_YUYV8888) + if (p1 != WEED_PALETTE_YUVA8888 && p1 != WEED_PALETTE_YUVA4444P && p1 != WEED_PALETTE_YUV444P && + p1 != WEED_PALETTE_YUVA4444P && p1 != WEED_PALETTE_YUV422P && p1 != WEED_PALETTE_UYVY8888 && p1 != WEED_PALETTE_YUYV8888) return TRUE; break; case WEED_PALETTE_YUV420P: case WEED_PALETTE_YVU420P: - if (p1==WEED_PALETTE_YUV411) return TRUE; + if (p1 == WEED_PALETTE_YUV411) return TRUE; break; case WEED_PALETTE_A8: - if (p1==WEED_PALETTE_A1) return TRUE; + if (p1 == WEED_PALETTE_A1) return TRUE; } return FALSE; // TODO } @@ -1175,7 +1121,7 @@ case WEED_PALETTE_AFLOAT: return "FLOAT ALPHA"; default: - if (pal>=2048) return "custom"; + if (pal >= 2048) return "custom"; return "unknown"; } } @@ -1183,79 +1129,76 @@ const char *weed_yuv_clamping_get_name(int clamping) { // 1 (TRUE) == unclamped - if (clamping==WEED_YUV_CLAMPING_UNCLAMPED) return (_("unclamped")); - if (clamping==WEED_YUV_CLAMPING_CLAMPED) return (_("clamped")); + if (clamping == WEED_YUV_CLAMPING_UNCLAMPED) return (_("unclamped")); + if (clamping == WEED_YUV_CLAMPING_CLAMPED) return (_("clamped")); return NULL; } const char *weed_yuv_subspace_get_name(int subspace) { - if (subspace==WEED_YUV_SUBSPACE_YUV) return "Y'UV"; - if (subspace==WEED_YUV_SUBSPACE_YCBCR) return "Y'CbCr"; - if (subspace==WEED_YUV_SUBSPACE_BT709) return "BT.709"; + if (subspace == WEED_YUV_SUBSPACE_YUV) return "Y'UV"; + if (subspace == WEED_YUV_SUBSPACE_YCBCR) return "Y'CbCr"; + if (subspace == WEED_YUV_SUBSPACE_BT709) return "BT.709"; return NULL; } char *weed_palette_get_name_full(int pal, int clamped, int subspace) { - const char *pname=weed_palette_get_name(pal); + const char *pname = weed_palette_get_name(pal); if (!weed_palette_is_yuv_palette(pal)) return lives_strdup(pname); else { - const char *clamp=weed_yuv_clamping_get_name(clamped); - const char *sspace=weed_yuv_subspace_get_name(subspace); - return lives_strdup_printf("%s:%s (%s)",pname,sspace,clamp); + const char *clamp = weed_yuv_clamping_get_name(clamped); + const char *sspace = weed_yuv_subspace_get_name(subspace); + return lives_strdup_printf("%s:%s (%s)", pname, sspace, clamp); } } - - ///////////////////////////////////////////////////////// // just as an example: 1.0 == RGB(A), 0.5 == compressed to 50%, etc double weed_palette_get_compression_ratio(int pal) { - double tbits=0.; + double tbits = 0.; - int nplanes=weed_palette_get_numplanes(pal); + int nplanes = weed_palette_get_numplanes(pal); int pbits; register int i; if (!weed_palette_is_valid_palette(pal)) return 0.; if (weed_palette_is_alpha_palette(pal)) return 0.; // invalid for alpha palettes - for (i=0; i<nplanes; i++) { - pbits=weed_palette_get_bits_per_macropixel(pal)/weed_palette_get_pixels_per_macropixel(pal); - tbits+=pbits*weed_palette_get_plane_ratio_vertical(pal,i)*weed_palette_get_plane_ratio_horizontal(pal,i); + for (i = 0; i < nplanes; i++) { + pbits = weed_palette_get_bits_per_macropixel(pal) / weed_palette_get_pixels_per_macropixel(pal); + tbits += pbits * weed_palette_get_plane_ratio_vertical(pal, i) * weed_palette_get_plane_ratio_horizontal(pal, i); } - if (weed_palette_has_alpha_channel(pal)) return tbits/32.; - return tbits/24.; + if (weed_palette_has_alpha_channel(pal)) return tbits / 32.; + return tbits / 24.; } ////////////////////////////////////////////////////////////// - boolean lives_pixbuf_is_all_black(LiVESPixbuf *pixbuf) { - int width=lives_pixbuf_get_width(pixbuf); - int height=lives_pixbuf_get_height(pixbuf); - int rstride=lives_pixbuf_get_rowstride(pixbuf); - boolean has_alpha=lives_pixbuf_get_has_alpha(pixbuf); - const uint8_t *pdata=lives_pixbuf_get_pixels_readonly(pixbuf); - - int offs=0; // TODO *** - if it is a QImage, offs may be 1 - int psize=has_alpha?4:3; - register int i,j; - - width*=psize; - - for (j=0; j<height; j++) { - for (i=offs; i<width; i+=psize) { - if (pdata[i]>BLACK_THRESH||pdata[i+1]>BLACK_THRESH||pdata[i+2]>BLACK_THRESH) { + int width = lives_pixbuf_get_width(pixbuf); + int height = lives_pixbuf_get_height(pixbuf); + int rstride = lives_pixbuf_get_rowstride(pixbuf); + boolean has_alpha = lives_pixbuf_get_has_alpha(pixbuf); + const uint8_t *pdata = lives_pixbuf_get_pixels_readonly(pixbuf); + + int offs = 0; // TODO *** - if it is a QImage, offs may be 1 + int psize = has_alpha ? 4 : 3; + register int i, j; + + width *= psize; + + for (j = 0; j < height; j++) { + for (i = offs; i < width; i += psize) { + if (pdata[i] > BLACK_THRESH || pdata[i + 1] > BLACK_THRESH || pdata[i + 2] > BLACK_THRESH) { return FALSE; } } - pdata+=rstride; + pdata += rstride; } return TRUE; @@ -1268,615 +1211,587 @@ switch (palette) { case WEED_PALETTE_YUV444P: - lives_memcpy(pixel_data[0],data,size); - lives_memcpy(pixel_data[1],(uint8_t *)data+size,size); - lives_memcpy(pixel_data[2],(uint8_t *)data+size*2,size); + lives_memcpy(pixel_data[0], data, size); + lives_memcpy(pixel_data[1], (uint8_t *)data + size, size); + lives_memcpy(pixel_data[2], (uint8_t *)data + size * 2, size); break; case WEED_PALETTE_YUVA4444P: - lives_memcpy(pixel_data[0],data,size); - lives_memcpy(pixel_data[1],(uint8_t *)data+size,size); - lives_memcpy(pixel_data[2],(uint8_t *)data+size*2,size); - lives_memcpy(pixel_data[3],(uint8_t *)data+size*2,size); + lives_memcpy(pixel_data[0], data, size); + lives_memcpy(pixel_data[1], (uint8_t *)data + size, size); + lives_memcpy(pixel_data[2], (uint8_t *)data + size * 2, size); + lives_memcpy(pixel_data[3], (uint8_t *)data + size * 2, size); break; case WEED_PALETTE_YUV422P: - lives_memcpy(pixel_data[0],data,size); - lives_memcpy(pixel_data[1],(uint8_t *)data+size,size/2); - lives_memcpy(pixel_data[2],(uint8_t *)data+size*3/2,size/2); + lives_memcpy(pixel_data[0], data, size); + lives_memcpy(pixel_data[1], (uint8_t *)data + size, size / 2); + lives_memcpy(pixel_data[2], (uint8_t *)data + size * 3 / 2, size / 2); break; case WEED_PALETTE_YUV420P: case WEED_PALETTE_YVU420P: - lives_memcpy(pixel_data[0],data,size); - lives_memcpy(pixel_data[1],(uint8_t *)data+size,size/4); - lives_memcpy(pixel_data[2],(uint8_t *)data+size*5/4,size/4); + lives_memcpy(pixel_data[0], data, size); + lives_memcpy(pixel_data[1], (uint8_t *)data + size, size / 4); + lives_memcpy(pixel_data[2], (uint8_t *)data + size * 5 / 4, size / 4); break; } } - /////////////////////////////////////////////////////////// // frame conversions static void convert_yuv888_to_rgb_frame(uint8_t *src, int hsize, int vsize, int irowstride, int orowstride, uint8_t *dest, boolean add_alpha, boolean clamped, int thread_id) { - register int x,y,i; - size_t offs=3; + register int x, y, i; + size_t offs = 3; if (LIVES_UNLIKELY(!conv_YR_inited)) init_YUV_to_RGB_tables(); - if (thread_id==-1&&prefs->nfx_threads>1) { - uint8_t *end=src+vsize*irowstride; - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + uint8_t *end = src + vsize * irowstride; + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); - - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - dheight=CEIL((double)vsize/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((src+dheight*i*irowstride)<end) { + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - ccparams[i].src=src+dheight*i*irowstride; - ccparams[i].hsize=hsize; - ccparams[i].dest=dest+dheight*i*orowstride; + dheight = CEIL((double)vsize / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((src + dheight * i * irowstride) < end) { + ccparams[i].src = src + dheight * i * irowstride; + ccparams[i].hsize = hsize; + ccparams[i].dest = dest + dheight * i * orowstride; - if (dheight*(i+1)>(vsize-4)) { - dheight=vsize-(dheight*i); + if (dheight * (i + 1) > (vsize - 4)) { + dheight = vsize - (dheight * i); } - ccparams[i].vsize=dheight; + ccparams[i].vsize = dheight; - ccparams[i].irowstrides[0]=irowstride; - ccparams[i].orowstrides[0]=orowstride; - ccparams[i].out_alpha=add_alpha; - ccparams[i].in_clamped=clamped; - ccparams[i].thread_id=i; + ccparams[i].irowstrides[0] = irowstride; + ccparams[i].orowstrides[0] = orowstride; + ccparams[i].out_alpha = add_alpha; + ccparams[i].in_clamped = clamped; + ccparams[i].thread_id = i; - if (i==0) convert_yuv888_to_rgb_frame_thread(&ccparams[i]); + if (i == 0) convert_yuv888_to_rgb_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_yuv888_to_rgb_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_yuv888_to_rgb_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } #if !USE_THREADS - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); #endif - if (add_alpha) offs=4; - orowstride-=offs*hsize; - irowstride-=hsize*3; + if (add_alpha) offs = 4; + orowstride -= offs * hsize; + irowstride -= hsize * 3; - for (y=0; y<vsize; y++) { - for (x=0; x<hsize; x++) { - yuv888_2_rgb(src,dest,add_alpha); - src+=3; - dest+=offs; + for (y = 0; y < vsize; y++) { + for (x = 0; x < hsize; x++) { + yuv888_2_rgb(src, dest, add_alpha); + src += 3; + dest += offs; } - dest+=orowstride; - src+=irowstride; + dest += orowstride; + src += irowstride; } } void *convert_yuv888_to_rgb_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_yuv888_to_rgb_frame((uint8_t *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->irowstrides[0], - ccparams->orowstrides[0],(uint8_t *)ccparams->dest,ccparams->out_alpha, - ccparams->in_clamped,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_yuv888_to_rgb_frame((uint8_t *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->irowstrides[0], + ccparams->orowstrides[0], (uint8_t *)ccparams->dest, ccparams->out_alpha, + ccparams->in_clamped, ccparams->thread_id); return NULL; } - - - static void convert_yuva8888_to_rgba_frame(uint8_t *src, int hsize, int vsize, int irowstride, int orowstride, uint8_t *dest, boolean del_alpha, boolean clamped, int thread_id) { - register int x,y,i; + register int x, y, i; - size_t offs=4; + size_t offs = 4; if (LIVES_UNLIKELY(!conv_YR_inited)) init_YUV_to_RGB_tables(); - if (thread_id==-1&&prefs->nfx_threads>1) { - uint8_t *end=src+vsize*irowstride; - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + uint8_t *end = src + vsize * irowstride; + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - dheight=CEIL((double)vsize/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((src+dheight*i*irowstride)<end) { + dheight = CEIL((double)vsize / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((src + dheight * i * irowstride) < end) { + ccparams[i].src = src + dheight * i * irowstride; + ccparams[i].hsize = hsize; + ccparams[i].dest = dest + dheight * i * orowstride; - ccparams[i].src=src+dheight*i*irowstride; - ccparams[i].hsize=hsize; - ccparams[i].dest=dest+dheight*i*orowstride; - - if (dheight*(i+1)>(vsize-4)) { - dheight=vsize-(dheight*i); + if (dheight * (i + 1) > (vsize - 4)) { + dheight = vsize - (dheight * i); } - ccparams[i].vsize=dheight; + ccparams[i].vsize = dheight; - ccparams[i].irowstrides[0]=irowstride; - ccparams[i].orowstrides[0]=orowstride; - ccparams[i].out_alpha=!del_alpha; - ccparams[i].in_clamped=clamped; - ccparams[i].thread_id=i; + ccparams[i].irowstrides[0] = irowstride; + ccparams[i].orowstrides[0] = orowstride; + ccparams[i].out_alpha = !del_alpha; + ccparams[i].in_clamped = clamped; + ccparams[i].thread_id = i; - if (i==0) convert_yuva8888_to_rgba_frame_thread(&ccparams[i]); + if (i == 0) convert_yuva8888_to_rgba_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_yuva8888_to_rgba_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_yuva8888_to_rgba_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } #if !USE_THREADS - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); #endif - if (del_alpha) offs=3; - orowstride-=offs*hsize; - irowstride-=hsize*4; + if (del_alpha) offs = 3; + orowstride -= offs * hsize; + irowstride -= hsize * 4; - for (y=0; y<vsize; y++) { - for (x=0; x<hsize; x++) { - yuva8888_2_rgba(src,dest,del_alpha); - src+=4; - dest+=offs; + for (y = 0; y < vsize; y++) { + for (x = 0; x < hsize; x++) { + yuva8888_2_rgba(src, dest, del_alpha); + src += 4; + dest += offs; } - dest+=orowstride; - src+=irowstride; + dest += orowstride; + src += irowstride; } } void *convert_yuva8888_to_rgba_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_yuva8888_to_rgba_frame((uint8_t *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->irowstrides[0], - ccparams->orowstrides[0],(uint8_t *)ccparams->dest,!ccparams->out_alpha, - ccparams->in_clamped,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_yuva8888_to_rgba_frame((uint8_t *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->irowstrides[0], + ccparams->orowstrides[0], (uint8_t *)ccparams->dest, !ccparams->out_alpha, + ccparams->in_clamped, ccparams->thread_id); return NULL; } - - - static void convert_yuv888_to_bgr_frame(uint8_t *src, int hsize, int vsize, int irowstride, int orowstride, uint8_t *dest, boolean add_alpha, boolean clamped, int thread_id) { - register int x,y,i; - size_t offs=3; + register int x, y, i; + size_t offs = 3; if (LIVES_UNLIKELY(!conv_YR_inited)) init_YUV_to_RGB_tables(); - if (thread_id==-1&&prefs->nfx_threads>1) { - uint8_t *end=src+vsize*irowstride; - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + uint8_t *end = src + vsize * irowstride; + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); - - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - dheight=CEIL((double)vsize/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((src+dheight*i*irowstride)<end) { + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - ccparams[i].src=src+dheight*i*irowstride; - ccparams[i].hsize=hsize; - ccparams[i].dest=dest+dheight*i*orowstride; + dheight = CEIL((double)vsize / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((src + dheight * i * irowstride) < end) { + ccparams[i].src = src + dheight * i * irowstride; + ccparams[i].hsize = hsize; + ccparams[i].dest = dest + dheight * i * orowstride; - if (dheight*(i+1)>(vsize-4)) { - dheight=vsize-(dheight*i); + if (dheight * (i + 1) > (vsize - 4)) { + dheight = vsize - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; + ccparams[i].irowstrides[0] = irowstride; + ccparams[i].orowstrides[0] = orowstride; + ccparams[i].out_alpha = add_alpha; + ccparams[i].in_clamped = clamped; + ccparams[i].thread_id = i; - ccparams[i].irowstrides[0]=irowstride; - ccparams[i].orowstrides[0]=orowstride; - ccparams[i].out_alpha=add_alpha; - ccparams[i].in_clamped=clamped; - ccparams[i].thread_id=i; - - if (i==0) convert_yuv888_to_bgr_frame_thread(&ccparams[i]); + if (i == 0) convert_yuv888_to_bgr_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_yuv888_to_bgr_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_yuv888_to_bgr_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } #if !USE_THREADS - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); #endif - if (add_alpha) offs=4; - orowstride-=offs*hsize; - irowstride-=hsize*3; + if (add_alpha) offs = 4; + orowstride -= offs * hsize; + irowstride -= hsize * 3; - for (y=0; y<vsize; y++) { - for (x=0; x<hsize; x++) { - yuv888_2_bgr(src,dest,add_alpha); - src+=3; - dest+=offs; + for (y = 0; y < vsize; y++) { + for (x = 0; x < hsize; x++) { + yuv888_2_bgr(src, dest, add_alpha); + src += 3; + dest += offs; } - dest+=orowstride; - src+=irowstride; + dest += orowstride; + src += irowstride; } - } - void *convert_yuv888_to_bgr_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_yuv888_to_bgr_frame((uint8_t *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->irowstrides[0], - ccparams->orowstrides[0],(uint8_t *)ccparams->dest,ccparams->out_alpha, - ccparams->in_clamped,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_yuv888_to_bgr_frame((uint8_t *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->irowstrides[0], + ccparams->orowstrides[0], (uint8_t *)ccparams->dest, ccparams->out_alpha, + ccparams->in_clamped, ccparams->thread_id); return NULL; } - - static void convert_yuva8888_to_bgra_frame(uint8_t *src, int hsize, int vsize, int irowstride, int orowstride, uint8_t *dest, boolean del_alpha, boolean clamped, int thread_id) { - register int x,y,i; + register int x, y, i; - size_t offs=4; + size_t offs = 4; if (LIVES_UNLIKELY(!conv_YR_inited)) init_YUV_to_RGB_tables(); - if (thread_id==-1&&prefs->nfx_threads>1) { - uint8_t *end=src+vsize*irowstride; - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + uint8_t *end = src + vsize * irowstride; + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); - - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - dheight=CEIL((double)vsize/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((src+dheight*i*irowstride)<end) { + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - ccparams[i].src=src+dheight*i*irowstride; - ccparams[i].hsize=hsize; - ccparams[i].dest=dest+dheight*i*orowstride; + dheight = CEIL((double)vsize / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((src + dheight * i * irowstride) < end) { + ccparams[i].src = src + dheight * i * irowstride; + ccparams[i].hsize = hsize; + ccparams[i].dest = dest + dheight * i * orowstride; - if (dheight*(i+1)>(vsize-4)) { - dheight=vsize-(dheight*i); + if (dheight * (i + 1) > (vsize - 4)) { + dheight = vsize - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; + ccparams[i].irowstrides[0] = irowstride; + ccparams[i].orowstrides[0] = orowstride; + ccparams[i].out_alpha = !del_alpha; + ccparams[i].in_clamped = clamped; + ccparams[i].thread_id = i; - ccparams[i].irowstrides[0]=irowstride; - ccparams[i].orowstrides[0]=orowstride; - ccparams[i].out_alpha=!del_alpha; - ccparams[i].in_clamped=clamped; - ccparams[i].thread_id=i; - - if (i==0) convert_yuva8888_to_bgra_frame_thread(&ccparams[i]); + if (i == 0) convert_yuva8888_to_bgra_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_yuva8888_to_bgra_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_yuva8888_to_bgra_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } #if !USE_THREADS - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); #endif - if (del_alpha) offs=3; - orowstride-=offs*hsize; - irowstride-=4*hsize; + if (del_alpha) offs = 3; + orowstride -= offs * hsize; + irowstride -= 4 * hsize; - for (y=0; y<vsize; y++) { - for (x=0; x<hsize; x++) { - yuva8888_2_bgra(src,dest,del_alpha); - src+=4; - dest+=offs; + for (y = 0; y < vsize; y++) { + for (x = 0; x < hsize; x++) { + yuva8888_2_bgra(src, dest, del_alpha); + src += 4; + dest += offs; } - dest+=orowstride; - src+=irowstride; + dest += orowstride; + src += irowstride; } } - void *convert_yuva8888_to_bgra_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_yuva8888_to_bgra_frame((uint8_t *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->irowstrides[0], - ccparams->orowstrides[0],(uint8_t *)ccparams->dest,!ccparams->out_alpha, - ccparams->in_clamped,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_yuva8888_to_bgra_frame((uint8_t *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->irowstrides[0], + ccparams->orowstrides[0], (uint8_t *)ccparams->dest, !ccparams->out_alpha, + ccparams->in_clamped, ccparams->thread_id); return NULL; } - static void convert_yuv888_to_argb_frame(uint8_t *src, int hsize, int vsize, int irowstride, int orowstride, uint8_t *dest, boolean clamped, int thread_id) { - register int x,y,i; - size_t offs=4; + register int x, y, i; + size_t offs = 4; if (LIVES_UNLIKELY(!conv_YR_inited)) init_YUV_to_RGB_tables(); - if (thread_id==-1&&prefs->nfx_threads>1) { - uint8_t *end=src+vsize*irowstride; - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + uint8_t *end = src + vsize * irowstride; + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); - - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - dheight=CEIL((double)vsize/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((src+dheight*i*irowstride)<end) { + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - ccparams[i].src=src+dheight*i*irowstride; - ccparams[i].hsize=hsize; - ccparams[i].dest=dest+dheight*i*orowstride; + dheight = CEIL((double)vsize / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((src + dheight * i * irowstride) < end) { + ccparams[i].src = src + dheight * i * irowstride; + ccparams[i].hsize = hsize; + ccparams[i].dest = dest + dheight * i * orowstride; - if (dheight*(i+1)>(vsize-4)) { - dheight=vsize-(dheight*i); + if (dheight * (i + 1) > (vsize - 4)) { + dheight = vsize - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; - - ccparams[i].irowstrides[0]=irowstride; - ccparams[i].orowstrides[0]=orowstride; - ccparams[i].in_clamped=clamped; - ccparams[i].thread_id=i; + ccparams[i].irowstrides[0] = irowstride; + ccparams[i].orowstrides[0] = orowstride; + ccparams[i].in_clamped = clamped; + ccparams[i].thread_id = i; - if (i==0) convert_yuv888_to_argb_frame_thread(&ccparams[i]); + if (i == 0) convert_yuv888_to_argb_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_yuv888_to_argb_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_yuv888_to_argb_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } #if !USE_THREADS - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); #endif - orowstride-=offs*hsize; - irowstride-=hsize*3; + orowstride -= offs * hsize; + irowstride -= hsize * 3; - for (y=0; y<vsize; y++) { - for (x=0; x<hsize; x++) { - yuv888_2_argb(src,dest); - src+=3; - dest+=4; + for (y = 0; y < vsize; y++) { + for (x = 0; x < hsize; x++) { + yuv888_2_argb(src, dest); + src += 3; + dest += 4; } - dest+=orowstride; - src+=irowstride; + dest += orowstride; + src += irowstride; } } void *convert_yuv888_to_argb_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_yuv888_to_argb_frame((uint8_t *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->irowstrides[0], - ccparams->orowstrides[0],(uint8_t *)ccparams->dest, - ccparams->in_clamped,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_yuv888_to_argb_frame((uint8_t *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->irowstrides[0], + ccparams->orowstrides[0], (uint8_t *)ccparams->dest, + ccparams->in_clamped, ccparams->thread_id); return NULL; } - - - static void convert_yuva8888_to_argb_frame(uint8_t *src, int hsize, int vsize, int irowstride, int orowstride, uint8_t *dest, boolean clamped, int thread_id) { - register int x,y,i; + register int x, y, i; - size_t offs=4; + size_t offs = 4; if (LIVES_UNLIKELY(!conv_YR_inited)) init_YUV_to_RGB_tables(); - if (thread_id==-1&&prefs->nfx_threads>1) { - uint8_t *end=src+vsize*irowstride; - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + uint8_t *end = src + vsize * irowstride; + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - dheight=CEIL((double)vsize/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((src+dheight*i*irowstride)<end) { + dheight = CEIL((double)vsize / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((src + dheight * i * irowstride) < end) { + ccparams[i].src = src + dheight * i * irowstride; + ccparams[i].hsize = hsize; + ccparams[i].dest = dest + dheight * i * orowstride; - ccparams[i].src=src+dheight*i*irowstride; - ccparams[i].hsize=hsize; - ccparams[i].dest=dest+dheight*i*orowstride; - - if (dheight*(i+1)>(vsize-4)) { - dheight=vsize-(dheight*i); + if (dheight * (i + 1) > (vsize - 4)) { + dheight = vsize - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; - - ccparams[i].irowstrides[0]=irowstride; - ccparams[i].orowstrides[0]=orowstride; - ccparams[i].in_clamped=clamped; - ccparams[i].thread_id=i; + ccparams[i].irowstrides[0] = irowstride; + ccparams[i].orowstrides[0] = orowstride; + ccparams[i].in_clamped = clamped; + ccparams[i].thread_id = i; - if (i==0) convert_yuva8888_to_rgba_frame_thread(&ccparams[i]); + if (i == 0) convert_yuva8888_to_rgba_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_yuva8888_to_rgba_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_yuva8888_to_rgba_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } #if !USE_THREADS - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); #endif - orowstride-=offs*hsize; - irowstride-=hsize*4; + orowstride -= offs * hsize; + irowstride -= hsize * 4; - for (y=0; y<vsize; y++) { - for (x=0; x<hsize; x++) { - yuva8888_2_argb(src,dest); - src+=4; - dest+=4; + for (y = 0; y < vsize; y++) { + for (x = 0; x < hsize; x++) { + yuva8888_2_argb(src, dest); + src += 4; + dest += 4; } - dest+=orowstride; - src+=irowstride; + dest += orowstride; + src += irowstride; } } void *convert_yuva8888_to_argb_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_yuva8888_to_argb_frame((uint8_t *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->irowstrides[0], - ccparams->orowstrides[0],(uint8_t *)ccparams->dest, - ccparams->in_clamped,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_yuva8888_to_argb_frame((uint8_t *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->irowstrides[0], + ccparams->orowstrides[0], (uint8_t *)ccparams->dest, + ccparams->in_clamped, ccparams->thread_id); return NULL; } - static void convert_yuv420p_to_rgb_frame(uint8_t **src, int width, int height, int orowstride, uint8_t *dest, boolean add_alpha, boolean is_422, int sample_type, boolean clamped) { - register int i,j; - uint8_t *s_y=src[0],*s_u=src[1],*s_v=src[2]; - boolean chroma=FALSE; - int widthx,hwidth=width>>1; - int opsize=3,opsize2; - uint8_t y,u,v; + register int i, j; + uint8_t *s_y = src[0], *s_u = src[1], *s_v = src[2]; + boolean chroma = FALSE; + int widthx, hwidth = width >> 1; + int opsize = 3, opsize2; + uint8_t y, u, v; - if (add_alpha) opsize=4; + if (add_alpha) opsize = 4; - widthx=width*opsize; - opsize2=opsize*2; + widthx = width * opsize; + opsize2 = opsize * 2; if (LIVES_UNLIKELY(!conv_YR_inited)) init_YUV_to_RGB_tables(); - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - for (i=0; i<height; i++) { - y=*(s_y++); - u=s_u[0]; - v=s_v[0]; + for (i = 0; i < height; i++) { + y = *(s_y++); + u = s_u[0]; + v = s_v[0]; - yuv2rgb(y,u,v,&dest[0],&dest[1],&dest[2]); + yuv2rgb(y, u, v, &dest[0], &dest[1], &dest[2]); - if (add_alpha) dest[3]=dest[opsize+3]=255; + if (add_alpha) dest[3] = dest[opsize + 3] = 255; - y=*(s_y++); - dest+=opsize; + y = *(s_y++); + dest += opsize; - yuv2rgb(y,u,v,&dest[0],&dest[1],&dest[2]); - dest-=opsize; + yuv2rgb(y, u, v, &dest[0], &dest[1], &dest[2]); + dest -= opsize; - for (j=opsize2; j<widthx; j+=opsize2) { + for (j = opsize2; j < widthx; j += opsize2) { // process two pixels at a time, and we average the first colour pixel with the last from the previous 2 // we know we can do this because Y must be even width // implements jpeg style subsampling : TODO - mpeg and dvpal style - y=*(s_y++); - u=s_u[(j/opsize)/2]; - v=s_v[(j/opsize)/2]; + y = *(s_y++); + u = s_u[(j / opsize) / 2]; + v = s_v[(j / opsize) / 2]; - yuv2rgb(y,u,v,&dest[j],&dest[j+1],&dest[j+2]); + yuv2rgb(y, u, v, &dest[j], &dest[j + 1], &dest[j + 2]); - dest[j-opsize]=cavgrgb[dest[j-opsize]][dest[j]]; - dest[j-opsize+1]=cavgrgb[dest[j-opsize+1]][dest[j+1]]; - dest[j-opsize+2]=cavgrgb[dest[j-opsize+2]][dest[j+2]]; + dest[j - opsize] = cavgrgb[dest[j - opsize]][dest[j]]; + dest[j - opsize + 1] = cavgrgb[dest[j - opsize + 1]][dest[j + 1]]; + dest[j - opsize + 2] = cavgrgb[dest[j - opsize + 2]][dest[j + 2]]; - y=*(s_y++); - yuv2rgb(y,u,v,&dest[j+opsize],&dest[j+opsize+1],&dest[j+opsize+2]); + y = *(s_y++); + yuv2rgb(y, u, v, &dest[j + opsize], &dest[j + opsize + 1], &dest[j + opsize + 2]); - if (add_alpha) dest[j+3]=dest[j+7]=255; + if (add_alpha) dest[j + 3] = dest[j + 7] = 255; - if (!is_422&&!chroma&&i>0) { + if (!is_422 && !chroma && i > 0) { // pass 2 // average two src rows - dest[j-widthx]=cavgrgb[dest[j-widthx]][dest[j]]; - dest[j+1-widthx]=cavgrgb[dest[j+1-widthx]][dest[j+1]]; - dest[j+2-widthx]=cavgrgb[dest[j+2-widthx]][dest[j+2]]; - dest[j-opsize-widthx]=cavgrgb[dest[j-opsize-widthx]][dest[j-opsize]]; - dest[j-opsize+1-widthx]=cavgrgb[dest[j-opsize+1-widthx]][dest[j-opsize+1]]; - dest[j-opsize+2-widthx]=cavgrgb[dest[j-opsize+2-widthx]][dest[j-opsize+2]]; - } - } - if (!is_422&&chroma) { - if (i>0) { - dest[j-opsize-widthx]=cavgrgb[dest[j-opsize-widthx]][dest[j-opsize]]; - dest[j-opsize+1-widthx]=cavgrgb[dest[j-opsize+1-widthx]][dest[j-opsize+1]]; - dest[j-opsize+2-widthx]=cavgrgb[dest[j-opsize+2-widthx]][dest[j-opsize+2]]; + dest[j - widthx] = cavgrgb[dest[j - widthx]][dest[j]]; + dest[j + 1 - widthx] = cavgrgb[dest[j + 1 - widthx]][dest[j + 1]]; + dest[j + 2 - widthx] = cavgrgb[dest[j + 2 - widthx]][dest[j + 2]]; + dest[j - opsize - widthx] = cavgrgb[dest[j - opsize - widthx]][dest[j - opsize]]; + dest[j - opsize + 1 - widthx] = cavgrgb[dest[j - opsize + 1 - widthx]][dest[j - opsize + 1]]; + dest[j - opsize + 2 - widthx] = cavgrgb[dest[j - opsize + 2 - widthx]][dest[j - opsize + 2]]; + } + } + if (!is_422 && chroma) { + if (i > 0) { + dest[j - opsize - widthx] = cavgrgb[dest[j - opsize - widthx]][dest[j - opsize]]; + dest[j - opsize + 1 - widthx] = cavgrgb[dest[j - opsize + 1 - widthx]][dest[j - opsize + 1]]; + dest[j - opsize + 2 - widthx] = cavgrgb[dest[j - opsize + 2 - widthx]][dest[j - opsize + 2]]; } - s_u+=hwidth; - s_v+=hwidth; + s_u += hwidth; + s_v += hwidth; } - chroma=!chroma; - dest+=orowstride; + chroma = !chroma; + dest += orowstride; } - } @@ -1884,81 +1799,81 @@ uint8_t *dest, boolean add_alpha, boolean is_422, int sample_type, boolean clamped) { // TODO - handle dvpal in sampling type - register int i,j; - uint8_t *s_y=src[0],*s_u=src[1],*s_v=src[2]; - boolean chroma=FALSE; - int widthx,hwidth=width>>1; - int opsize=3,opsize2; - uint8_t y,u,v; + register int i, j; + uint8_t *s_y = src[0], *s_u = src[1], *s_v = src[2]; + boolean chroma = FALSE; + int widthx, hwidth = width >> 1; + int opsize = 3, opsize2; + uint8_t y, u, v; - if (add_alpha) opsize=4; + if (add_alpha) opsize = 4; - widthx=width*opsize; - opsize2=opsize*2; + widthx = width * opsize; + opsize2 = opsize * 2; if (LIVES_UNLIKELY(!conv_YR_inited)) init_YUV_to_RGB_tables(); - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - for (i=0; i<height; i++) { - y=*(s_y++); - u=s_u[0]; - v=s_v[0]; + for (i = 0; i < height; i++) { + y = *(s_y++); + u = s_u[0]; + v = s_v[0]; - yuv2rgb(y,u,v,&dest[2],&dest[1],&dest[0]); + yuv2rgb(y, u, v, &dest[2], &dest[1], &dest[0]); - if (add_alpha) dest[3]=dest[opsize+3]=255; + if (add_alpha) dest[3] = dest[opsize + 3] = 255; - y=*(s_y++); - dest+=opsize; + y = *(s_y++); + dest += opsize; - yuv2rgb(y,u,v,&dest[2],&dest[1],&dest[0]); - dest-=opsize; + yuv2rgb(y, u, v, &dest[2], &dest[1], &dest[0]); + dest -= opsize; - for (j=opsize2; j<widthx; j+=opsize2) { + for (j = opsize2; j < widthx; j += opsize2) { // process two pixels at a time, and we average the first colour pixel with the last from the previous 2 // we know we can do this because Y must be even width // implements jpeg style subsampling : TODO - mpeg and dvpal style - y=*(s_y++); - u=s_u[(j/opsize)/2]; - v=s_v[(j/opsize)/2]; + y = *(s_y++); + u = s_u[(j / opsize) / 2]; + v = s_v[(j / opsize) / 2]; - yuv2rgb(y,u,v,&dest[j+2],&dest[j+1],&dest[j]); + yuv2rgb(y, u, v, &dest[j + 2], &dest[j + 1], &dest[j]); - dest[j-opsize]=cavgrgb[dest[j-opsize]][dest[j]]; - dest[j-opsize+1]=cavgrgb[dest[j-opsize+1]][dest[j+1]]; - dest[j-opsize+2]=cavgrgb[dest[j-opsize+2]][dest[j+2]]; + dest[j - opsize] = cavgrgb[dest[j - opsize]][dest[j]]; + dest[j - opsize + 1] = cavgrgb[dest[j - opsize + 1]][dest[j + 1]]; + dest[j - opsize + 2] = cavgrgb[dest[j - opsize + 2]][dest[j + 2]]; - y=*(s_y++); - yuv2rgb(y,u,v,&dest[j+opsize+2],&dest[j+opsize+1],&dest[j+opsize]); + y = *(s_y++); + yuv2rgb(y, u, v, &dest[j + opsize + 2], &dest[j + opsize + 1], &dest[j + opsize]); - if (add_alpha) dest[j+3]=dest[j+7]=255; + if (add_alpha) dest[j + 3] = dest[j + 7] = 255; - if (!is_422&&!chroma&&i>0) { + if (!is_422 && !chroma && i > 0) { // pass 2 // average two src rows - dest[j-widthx]=cavgrgb[dest[j-widthx]][dest[j]]; - dest[j+1-widthx]=cavgrgb[dest[j+1-widthx]][dest[j+1]]; - dest[j+2-widthx]=cavgrgb[dest[j+2-widthx]][dest[j+2]]; - dest[j-opsize-widthx]=cavgrgb[dest[j-opsize-widthx]][dest[j-opsize]]; - dest[j-opsize+1-widthx]=cavgrgb[dest[j-opsize+1-widthx]][dest[j-opsize+1]]; - dest[j-opsize+2-widthx]=cavgrgb[dest[j-opsize+2-widthx]][dest[j-opsize+2]]; + dest[j - widthx] = cavgrgb[dest[j - widthx]][dest[j]]; + dest[j + 1 - widthx] = cavgrgb[dest[j + 1 - widthx]][dest[j + 1]]; + dest[j + 2 - widthx] = cavgrgb[dest[j + 2 - widthx]][dest[j + 2]]; + dest[j - opsize - widthx] = cavgrgb[dest[j - opsize - widthx]][dest[j - opsize]]; + dest[j - opsize + 1 - widthx] = cavgrgb[dest[j - opsize + 1 - widthx]][dest[j - opsize + 1]]; + dest[j - opsize + 2 - widthx] = cavgrgb[dest[j - opsize + 2 - widthx]][dest[j - opsize + 2]]; } } - if (!is_422&&chroma) { - if (i>0) { + if (!is_422 && chroma) { + if (i > 0) { // TODO - dest[j-opsize-widthx]=cavgrgb[dest[j-opsize-widthx]][dest[j-opsize]]; - dest[j-opsize+1-widthx]=cavgrgb[dest[j-opsize+1-widthx]][dest[j-opsize+1]]; - dest[j-opsize+2-widthx]=cavgrgb[dest[j-opsize+2-widthx]][dest[j-opsize+2]]; + dest[j - opsize - widthx] = cavgrgb[dest[j - opsize - widthx]][dest[j - opsize]]; + dest[j - opsize + 1 - widthx] = cavgrgb[dest[j - opsize + 1 - widthx]][dest[j - opsize + 1]]; + dest[j - opsize + 2 - widthx] = cavgrgb[dest[j - opsize + 2 - widthx]][dest[j - opsize + 2]]; } - s_u+=hwidth; - s_v+=hwidth; + s_u += hwidth; + s_v += hwidth; } - chroma=!chroma; - dest+=orowstride; + chroma = !chroma; + dest += orowstride; } } @@ -1967,79 +1882,79 @@ uint8_t *dest, boolean is_422, int sample_type, boolean clamped) { // TODO - handle dvpal in sampling type - register int i,j; - uint8_t *s_y=src[0],*s_u=src[1],*s_v=src[2]; - boolean chroma=FALSE; - int widthx,hwidth=width>>1; - int opsize=4,opsize2; - uint8_t y,u,v; + register int i, j; + uint8_t *s_y = src[0], *s_u = src[1], *s_v = src[2]; + boolean chroma = FALSE; + int widthx, hwidth = width >> 1; + int opsize = 4, opsize2; + uint8_t y, u, v; - widthx=width*opsize; - opsize2=opsize*2; + widthx = width * opsize; + opsize2 = opsize * 2; if (LIVES_UNLIKELY(!conv_YR_inited)) init_YUV_to_RGB_tables(); - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - for (i=0; i<height; i++) { - y=*(s_y++); - u=s_u[0]; - v=s_v[0]; + for (i = 0; i < height; i++) { + y = *(s_y++); + u = s_u[0]; + v = s_v[0]; - yuv2rgb(y,u,v,&dest[1],&dest[2],&dest[3]); + yuv2rgb(y, u, v, &dest[1], &dest[2], &dest[3]); - dest[0]=dest[4]=255; + dest[0] = dest[4] = 255; - y=*(s_y++); - dest+=opsize; + y = *(s_y++); + dest += opsize; - yuv2rgb(y,u,v,&dest[0],&dest[1],&dest[2]); - dest-=opsize; + yuv2rgb(y, u, v, &dest[0], &dest[1], &dest[2]); + dest -= opsize; - for (j=opsize2; j<widthx; j+=opsize2) { + for (j = opsize2; j < widthx; j += opsize2) { // process two pixels at a time, and we average the first colour pixel with the last from the previous 2 // we know we can do this because Y must be even width // implements jpeg style subsampling : TODO - mpeg and dvpal style - y=*(s_y++); - u=s_u[(j/opsize)/2]; - v=s_v[(j/opsize)/2]; + y = *(s_y++); + u = s_u[(j / opsize) / 2]; + v = s_v[(j / opsize) / 2]; - yuv2rgb(y,u,v,&dest[j+1],&dest[j+2],&dest[j+3]); + yuv2rgb(y, u, v, &dest[j + 1], &dest[j + 2], &dest[j + 3]); - dest[j-opsize+1]=cavgrgb[dest[j-opsize+1]][dest[j+1]]; - dest[j-opsize+2]=cavgrgb[dest[j-opsize+2]][dest[j+2]]; - dest[j-opsize+3]=cavgrgb[dest[j-opsize+3]][dest[j+3]]; + dest[j - opsize + 1] = cavgrgb[dest[j - opsize + 1]][dest[j + 1]]; + dest[j - opsize + 2] = cavgrgb[dest[j - opsize + 2]][dest[j + 2]]; + dest[j - opsize + 3] = cavgrgb[dest[j - opsize + 3]][dest[j + 3]]; - y=*(s_y++); - yuv2rgb(y,u,v,&dest[j+opsize+1],&dest[j+opsize+2],&dest[j+opsize+3]); + y = *(s_y++); + yuv2rgb(y, u, v, &dest[j + opsize + 1], &dest[j + opsize + 2], &dest[j + opsize + 3]); - dest[j]=dest[j+4]=255; + dest[j] = dest[j + 4] = 255; - if (!is_422&&!chroma&&i>0) { + if (!is_422 && !chroma && i > 0) { // pass 2 // average two src rows - dest[j+1-widthx]=cavgrgb[dest[j+1-widthx]][dest[j+1]]; - dest[j+2-widthx]=cavgrgb[dest[j+2-widthx]][dest[j+2]]; - dest[j+3-widthx]=cavgrgb[dest[j+3-widthx]][dest[j+3]]; - dest[j-opsize+1-widthx]=cavgrgb[dest[j-opsize+1-widthx]][dest[j-opsize+1]]; - dest[j-opsize+2-widthx]=cavgrgb[dest[j-opsize+2-widthx]][dest[j-opsize+2]]; - dest[j-opsize+3-widthx]=cavgrgb[dest[j-opsize+3-widthx]][dest[j-opsize+3]]; + dest[j + 1 - widthx] = cavgrgb[dest[j + 1 - widthx]][dest[j + 1]]; + dest[j + 2 - widthx] = cavgrgb[dest[j + 2 - widthx]][dest[j + 2]]; + dest[j + 3 - widthx] = cavgrgb[dest[j + 3 - widthx]][dest[j + 3]]; + dest[j - opsize + 1 - widthx] = cavgrgb[dest[j - opsize + 1 - widthx]][dest[j - opsize + 1]]; + dest[j - opsize + 2 - widthx] = cavgrgb[dest[j - opsize + 2 - widthx]][dest[j - opsize + 2]]; + dest[j - opsize + 3 - widthx] = cavgrgb[dest[j - opsize + 3 - widthx]][dest[j - opsize + 3]]; } } - if (!is_422&&chroma) { - if (i>0) { + if (!is_422 && chroma) { + if (i > 0) { // TODO - dest[j-opsize+1-widthx]=cavgrgb[dest[j-opsize+1-widthx]][dest[j-opsize+1]]; - dest[j-opsize+2-widthx]=cavgrgb[dest[j-opsize+2-widthx]][dest[j-opsize+2]]; - dest[j-opsize+3-widthx]=cavgrgb[dest[j-opsize+3-widthx]][dest[j-opsize+3]]; + dest[j - opsize + 1 - widthx] = cavgrgb[dest[j - opsize + 1 - widthx]][dest[j - opsize + 1]]; + dest[j - opsize + 2 - widthx] = cavgrgb[dest[j - opsize + 2 - widthx]][dest[j - opsize + 2]]; + dest[j - opsize + 3 - widthx] = cavgrgb[dest[j - opsize + 3 - widthx]][dest[j - opsize + 3]]; } - s_u+=hwidth; - s_v+=hwidth; + s_u += hwidth; + s_v += hwidth; } - chroma=!chroma; - dest+=orowstride; + chroma = !chroma; + dest += orowstride; } } @@ -2047,87 +1962,84 @@ static void convert_rgb_to_uyvy_frame(uint8_t *rgbdata, int hsize, int vsize, int rowstride, uyvy_macropixel *u, boolean has_alpha, boolean clamped, int thread_id) { // for odd sized widths, cut the rightmost pixel - int hs3,ipsize=3,ipsize2; + int hs3, ipsize = 3, ipsize2; uint8_t *end; register int i; - int x=3,y=4,z=5; + int x = 3, y = 4, z = 5; if (LIVES_UNLIKELY(!conv_RY_inited)) init_RGB_to_YUV_tables(); - end=rgbdata+(rowstride*vsize)-5; + end = rgbdata + (rowstride * vsize) - 5; - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); - - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - dheight=CEIL((double)vsize/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((rgbdata+dheight*i*rowstride)<end) { + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - ccparams[i].src=rgbdata+dheight*i*rowstride; - ccparams[i].hsize=hsize; - ccparams[i].dest=u+dheight*i*(hsize>>1); + dheight = CEIL((double)vsize / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((rgbdata + dheight * i * rowstride) < end) { + ccparams[i].src = rgbdata + dheight * i * rowstride; + ccparams[i].hsize = hsize; + ccparams[i].dest = u + dheight * i * (hsize >> 1); - if (dheight*(i+1)>(vsize-4)) { - dheight=vsize-(dheight*i); + if (dheight * (i + 1) > (vsize - 4)) { + dheight = vsize - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; + ccparams[i].irowstrides[0] = rowstride; + ccparams[i].in_alpha = has_alpha; + ccparams[i].out_clamped = clamped; + ccparams[i].thread_id = i; - ccparams[i].irowstrides[0]=rowstride; - ccparams[i].in_alpha=has_alpha; - ccparams[i].out_clamped=clamped; - ccparams[i].thread_id=i; - - if (i==0) convert_rgb_to_uyvy_frame_thread(&ccparams[i]); + if (i == 0) convert_rgb_to_uyvy_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_rgb_to_uyvy_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_rgb_to_uyvy_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } - #if !USE_THREADS - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); #endif if (has_alpha) { z++; y++; x++; - ipsize=4; + ipsize = 4; } - ipsize2=ipsize*2; - hs3=((hsize>>1)*ipsize2)-(ipsize2-1); + ipsize2 = ipsize * 2; + hs3 = ((hsize >> 1) * ipsize2) - (ipsize2 - 1); - for (; rgbdata<end; rgbdata+=rowstride) { - for (i=0; i<hs3; i+=ipsize2) { + for (; rgbdata < end; rgbdata += rowstride) { + for (i = 0; i < hs3; i += ipsize2) { // convert 6 RGBRGB bytes to 4 UYVY bytes - rgb2uyvy(rgbdata[i],rgbdata[i+1],rgbdata[i+2],rgbdata[i+x],rgbdata[i+y],rgbdata[i+z],u++); + rgb2uyvy(rgbdata[i], rgbdata[i + 1], rgbdata[i + 2], rgbdata[i + x], rgbdata[i + y], rgbdata[i + z], u++); } } } void *convert_rgb_to_uyvy_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_rgb_to_uyvy_frame((uint8_t *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->irowstrides[0], - (uyvy_macropixel *)ccparams->dest,ccparams->in_alpha,ccparams->out_clamped,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_rgb_to_uyvy_frame((uint8_t *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->irowstrides[0], + (uyvy_macropixel *)ccparams->dest, ccparams->in_alpha, ccparams->out_clamped, ccparams->thread_id); return NULL; } @@ -2135,82 +2047,81 @@ static void convert_rgb_to_yuyv_frame(uint8_t *rgbdata, int hsize, int vsize, int rowstride, yuyv_macropixel *u, boolean has_alpha, boolean clamped, int thread_id) { // for odd sized widths, cut the rightmost pixel - int hs3,ipsize=3,ipsize2; - uint8_t *end=rgbdata+(rowstride*vsize)-5; + int hs3, ipsize = 3, ipsize2; + uint8_t *end = rgbdata + (rowstride * vsize) - 5; register int i; - int x=3,y=4,z=5; + int x = 3, y = 4, z = 5; if (LIVES_UNLIKELY(!conv_RY_inited)) init_RGB_to_YUV_tables(); - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); - - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - dheight=CEIL((double)vsize/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((rgbdata+dheight*i*rowstride)<end) { + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - ccparams[i].src=rgbdata+dheight*i*rowstride; - ccparams[i].hsize=hsize; - ccparams[i].dest=u+dheight*i*(hsize>>1); + dheight = CEIL((double)vsize / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((rgbdata + dheight * i * rowstride) < end) { + ccparams[i].src = rgbdata + dheight * i * rowstride; + ccparams[i].hsize = hsize; + ccparams[i].dest = u + dheight * i * (hsize >> 1); - if (dheight*(i+1)>(vsize-4)) { - dheight=vsize-(dheight*i); + if (dheight * (i + 1) > (vsize - 4)) { + dheight = vsize - (dheight * i); } - ccparams[i].vsize=dheight; + ccparams[i].vsize = dheight; - ccparams[i].irowstrides[0]=rowstride; - ccparams[i].in_alpha=has_alpha; - ccparams[i].out_clamped=clamped; - ccparams[i].thread_id=i; + ccparams[i].irowstrides[0] = rowstride; + ccparams[i].in_alpha = has_alpha; + ccparams[i].out_clamped = clamped; + ccparams[i].thread_id = i; - if (i==0) convert_rgb_to_yuyv_frame_thread(&ccparams[i]); + if (i == 0) convert_rgb_to_yuyv_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_rgb_to_yuyv_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_rgb_to_yuyv_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } #if !USE_THREADS - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); #endif if (has_alpha) { z++; y++; x++; - ipsize=4; + ipsize = 4; } - ipsize2=ipsize*2; - hs3=((hsize>>1)*ipsize2)-(ipsize2-1); + ipsize2 = ipsize * 2; + hs3 = ((hsize >> 1) * ipsize2) - (ipsize2 - 1); - for (; rgbdata<end; rgbdata+=rowstride) { - for (i=0; i<hs3; i+=ipsize2) { + for (; rgbdata < end; rgbdata += rowstride) { + for (i = 0; i < hs3; i += ipsize2) { // convert 6 RGBRGB bytes to 4 YUYV bytes - rgb2yuyv(rgbdata[i],rgbdata[i+1],rgbdata[i+2],rgbdata[i+x],rgbdata[i+y],rgbdata[i+z],u++); + rgb2yuyv(rgbdata[i], rgbdata[i + 1], rgbdata[i + 2], rgbdata[i + x], rgbdata[i + y], rgbdata[i + z], u++); } } } void *convert_rgb_to_yuyv_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_rgb_to_yuyv_frame((uint8_t *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->irowstrides[0], - (yuyv_macropixel *)ccparams->dest,ccparams->in_alpha,ccparams->out_clamped,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_rgb_to_yuyv_frame((uint8_t *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->irowstrides[0], + (yuyv_macropixel *)ccparams->dest, ccparams->in_alpha, ccparams->out_clamped, ccparams->thread_id); return NULL; } @@ -2218,417 +2129,396 @@ static void convert_bgr_to_uyvy_frame(uint8_t *rgbdata, int hsize, int vsize, int rowstride, uyvy_macropixel *u, boolean has_alpha, boolean clamped, int thread_id) { // for odd sized widths, cut the rightmost pixel - int hs3,ipsize=3,ipsize2; - uint8_t *end=rgbdata+(rowstride*vsize)-5; + int hs3, ipsize = 3, ipsize2; + uint8_t *end = rgbdata + (rowstride * vsize) - 5; register int i; - int x=3,y=4,z=5; + int x = 3, y = 4, z = 5; if (LIVES_UNLIKELY(!conv_RY_inited)) init_RGB_to_YUV_tables(); - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - dheight=CEIL((double)vsize/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((rgbdata+dheight*i*rowstride)<end) { + dheight = CEIL((double)vsize / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((rgbdata + dheight * i * rowstride) < end) { + ccparams[i].src = rgbdata + dheight * i * rowstride; + ccparams[i].hsize = hsize; + ccparams[i].dest = u + dheight * i * (hsize >> 1); - ccparams[i].src=rgbdata+dheight*i*rowstride; - ccparams[i].hsize=hsize; - ccparams[i].dest=u+dheight*i*(hsize>>1); - - if (dheight*(i+1)>(vsize-4)) { - dheight=vsize-(dheight*i); + if (dheight * (i + 1) > (vsize - 4)) { + dheight = vsize - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; - - ccparams[i].irowstrides[0]=rowstride; - ccparams[i].in_alpha=has_alpha; - ccparams[i].out_clamped=clamped; - ccparams[i].thread_id=i; + ccparams[i].irowstrides[0] = rowstride; + ccparams[i].in_alpha = has_alpha; + ccparams[i].out_clamped = clamped; + ccparams[i].thread_id = i; - if (i==0) convert_bgr_to_uyvy_frame_thread(&ccparams[i]); + if (i == 0) convert_bgr_to_uyvy_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_bgr_to_uyvy_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_bgr_to_uyvy_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } #if !USE_THREADS - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); #endif if (has_alpha) { z++; y++; x++; - ipsize=4; + ipsize = 4; } - ipsize2=ipsize*2; - hs3=((hsize>>1)*ipsize2)-(ipsize2-1); + ipsize2 = ipsize * 2; + hs3 = ((hsize >> 1) * ipsize2) - (ipsize2 - 1); - for (; rgbdata<end; rgbdata+=rowstride) { - for (i=0; i<hs3; i+=ipsize2) { + for (; rgbdata < end; rgbdata += rowstride) { + for (i = 0; i < hs3; i += ipsize2) { // convert 6 RGBRGB bytes to 4 UYVY bytes - rgb2uyvy(rgbdata[i+2],rgbdata[i+1],rgbdata[i],rgbdata[i+z],rgbdata[i+y],rgbdata[i+x],u++); + rgb2uyvy(rgbdata[i + 2], rgbdata[i + 1], rgbdata[i], rgbdata[i + z], rgbdata[i + y], rgbdata[i + x], u++); } } } void *convert_bgr_to_uyvy_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_bgr_to_uyvy_frame((uint8_t *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->irowstrides[0], - (uyvy_macropixel *)ccparams->dest,ccparams->in_alpha,ccparams->out_clamped,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_bgr_to_uyvy_frame((uint8_t *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->irowstrides[0], + (uyvy_macropixel *)ccparams->dest, ccparams->in_alpha, ccparams->out_clamped, ccparams->thread_id); return NULL; } - - - static void convert_bgr_to_yuyv_frame(uint8_t *rgbdata, int hsize, int vsize, int rowstride, yuyv_macropixel *u, boolean has_alpha, boolean clamped, int thread_id) { // for odd sized widths, cut the rightmost pixel - int hs3,ipsize=3,ipsize2; + int hs3, ipsize = 3, ipsize2; - uint8_t *end=rgbdata+(rowstride*vsize)-5; + uint8_t *end = rgbdata + (rowstride * vsize) - 5; register int i; - int x=3,y=4,z=5; + int x = 3, y = 4, z = 5; if (LIVES_UNLIKELY(!conv_RY_inited)) init_RGB_to_YUV_tables(); - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); - - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - dheight=CEIL((double)vsize/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((rgbdata+dheight*i*rowstride)<end) { + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - ccparams[i].src=rgbdata+dheight*i*rowstride; - ccparams[i].hsize=hsize; - ccparams[i].dest=u+dheight*i*(hsize>>1); + dheight = CEIL((double)vsize / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((rgbdata + dheight * i * rowstride) < end) { + ccparams[i].src = rgbdata + dheight * i * rowstride; + ccparams[i].hsize = hsize; + ccparams[i].dest = u + dheight * i * (hsize >> 1); - if (dheight*(i+1)>(vsize-4)) { - dheight=vsize-(dheight*i); + if (dheight * (i + 1) > (vsize - 4)) { + dheight = vsize - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; + ccparams[i].irowstrides[0] = rowstride; + ccparams[i].in_alpha = has_alpha; + ccparams[i].out_clamped = clamped; + ccparams[i].thread_id = i; - ccparams[i].irowstrides[0]=rowstride; - ccparams[i].in_alpha=has_alpha; - ccparams[i].out_clamped=clamped; - ccparams[i].thread_id=i; - - if (i==0) convert_bgr_to_yuyv_frame_thread(&ccparams[i]); + if (i == 0) convert_bgr_to_yuyv_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_bgr_to_yuyv_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_bgr_to_yuyv_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } #if !USE_THREADS - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); #endif if (has_alpha) { z++; y++; x++; - ipsize=4; + ipsize = 4; } - ipsize2=ipsize*2; - hs3=((hsize>>1)*ipsize2)-(ipsize2-1); + ipsize2 = ipsize * 2; + hs3 = ((hsize >> 1) * ipsize2) - (ipsize2 - 1); - for (; rgbdata<end; rgbdata+=rowstride) { - for (i=0; i<hs3; i+=ipsize2) { + for (; rgbdata < end; rgbdata += rowstride) { + for (i = 0; i < hs3; i += ipsize2) { // convert 6 RGBRGB bytes to 4 UYVY bytes - rgb2yuyv(rgbdata[i+2],rgbdata[i+1],rgbdata[i],rgbdata[i+z],rgbdata[i+y],rgbdata[i+x],u++); + rgb2yuyv(rgbdata[i + 2], rgbdata[i + 1], rgbdata[i], rgbdata[i + z], rgbdata[i + y], rgbdata[i + x], u++); } } } void *convert_bgr_to_yuyv_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_bgr_to_yuyv_frame((uint8_t *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->irowstrides[0], - (yuyv_macropixel *)ccparams->dest,ccparams->in_alpha,ccparams->out_clamped,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_bgr_to_yuyv_frame((uint8_t *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->irowstrides[0], + (yuyv_macropixel *)ccparams->dest, ccparams->in_alpha, ccparams->out_clamped, ccparams->thread_id); return NULL; } - - static void convert_argb_to_uyvy_frame(uint8_t *rgbdata, int hsize, int vsize, int rowstride, uyvy_macropixel *u, boolean clamped, int thread_id) { // for odd sized widths, cut the rightmost pixel - int hs3,ipsize=4,ipsize2; + int hs3, ipsize = 4, ipsize2; uint8_t *end; register int i; if (LIVES_UNLIKELY(!conv_RY_inited)) init_RGB_to_YUV_tables(); - end=rgbdata+(rowstride*vsize)-5; + end = rgbdata + (rowstride * vsize) - 5; - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); - - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - dheight=CEIL((double)vsize/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((rgbdata+dheight*i*rowstride)<end) { + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - ccparams[i].src=rgbdata+dheight*i*rowstride; - ccparams[i].hsize=hsize; - ccparams[i].dest=u+dheight*i*(hsize>>1); + dheight = CEIL((double)vsize / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((rgbdata + dheight * i * rowstride) < end) { + ccparams[i].src = rgbdata + dheight * i * rowstride; + ccparams[i].hsize = hsize; + ccparams[i].dest = u + dheight * i * (hsize >> 1); - if (dheight*(i+1)>(vsize-4)) { - dheight=vsize-(dheight*i); + if (dheight * (i + 1) > (vsize - 4)) { + dheight = vsize - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; - - ccparams[i].irowstrides[0]=rowstride; - ccparams[i].out_clamped=clamped; - ccparams[i].thread_id=i; + ccparams[i].irowstrides[0] = rowstride; + ccparams[i].out_clamped = clamped; + ccparams[i].thread_id = i; - if (i==0) convert_argb_to_uyvy_frame_thread(&ccparams[i]); + if (i == 0) convert_argb_to_uyvy_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_argb_to_uyvy_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_argb_to_uyvy_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } - #if !USE_THREADS - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); #endif - ipsize2=ipsize*2; - hs3=((hsize>>1)*ipsize2)-(ipsize2-1); + ipsize2 = ipsize * 2; + hs3 = ((hsize >> 1) * ipsize2) - (ipsize2 - 1); - for (; rgbdata<end; rgbdata+=rowstride) { - for (i=0; i<hs3; i+=ipsize2) { + for (; rgbdata < end; rgbdata += rowstride) { + for (i = 0; i < hs3; i += ipsize2) { // convert 6 RGBRGB bytes to 4 UYVY bytes - rgb2uyvy(rgbdata[i+1],rgbdata[i+2],rgbdata[i+3],rgbdata[i+5],rgbdata[i+6],rgbdata[i+7],u++); + rgb2uyvy(rgbdata[i + 1], rgbdata[i + 2], rgbdata[i + 3], rgbdata[i + 5], rgbdata[i + 6], rgbdata[i + 7], u++); } } } void *convert_argb_to_uyvy_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_argb_to_uyvy_frame((uint8_t *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->irowstrides[0], - (uyvy_macropixel *)ccparams->dest,ccparams->out_clamped,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_argb_to_uyvy_frame((uint8_t *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->irowstrides[0], + (uyvy_macropixel *)ccparams->dest, ccparams->out_clamped, ccparams->thread_id); return NULL; } - - static void convert_argb_to_yuyv_frame(uint8_t *rgbdata, int hsize, int vsize, int rowstride, yuyv_macropixel *u, boolean clamped, int thread_id) { // for odd sized widths, cut the rightmost pixel - int hs3,ipsize=4,ipsize2; + int hs3, ipsize = 4, ipsize2; uint8_t *end; register int i; if (LIVES_UNLIKELY(!conv_RY_inited)) init_RGB_to_YUV_tables(); - end=rgbdata+(rowstride*vsize)-5; + end = rgbdata + (rowstride * vsize) - 5; - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - dheight=CEIL((double)vsize/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((rgbdata+dheight*i*rowstride)<end) { + dheight = CEIL((double)vsize / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((rgbdata + dheight * i * rowstride) < end) { + ccparams[i].src = rgbdata + dheight * i * rowstride; + ccparams[i].hsize = hsize; + ccparams[i].dest = u + dheight * i * (hsize >> 1); - ccparams[i].src=rgbdata+dheight*i*rowstride; - ccparams[i].hsize=hsize; - ccparams[i].dest=u+dheight*i*(hsize>>1); - - if (dheight*(i+1)>(vsize-4)) { - dheight=vsize-(dheight*i); + if (dheight * (i + 1) > (vsize - 4)) { + dheight = vsize - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; - - ccparams[i].irowstrides[0]=rowstride; - ccparams[i].out_clamped=clamped; - ccparams[i].thread_id=i; + ccparams[i].irowstrides[0] = rowstride; + ccparams[i].out_clamped = clamped; + ccparams[i].thread_id = i; - if (i==0) convert_argb_to_yuyv_frame_thread(&ccparams[i]); + if (i == 0) convert_argb_to_yuyv_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_argb_to_yuyv_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_argb_to_yuyv_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } - #if !USE_THREADS - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); #endif - ipsize2=ipsize*2; - hs3=((hsize>>1)*ipsize2)-(ipsize2-1); + ipsize2 = ipsize * 2; + hs3 = ((hsize >> 1) * ipsize2) - (ipsize2 - 1); - for (; rgbdata<end; rgbdata+=rowstride) { - for (i=0; i<hs3; i+=ipsize2) { + for (; rgbdata < end; rgbdata += rowstride) { + for (i = 0; i < hs3; i += ipsize2) { // convert 6 RGBRGB bytes to 4 UYVY bytes - rgb2yuyv(rgbdata[i+1],rgbdata[i+2],rgbdata[i+3],rgbdata[i+5],rgbdata[i+6],rgbdata[i+7],u++); + rgb2yuyv(rgbdata[i + 1], rgbdata[i + 2], rgbdata[i + 3], rgbdata[i + 5], rgbdata[i + 6], rgbdata[i + 7], u++); } } } void *convert_argb_to_yuyv_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_argb_to_yuyv_frame((uint8_t *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->irowstrides[0], - (yuyv_macropixel *)ccparams->dest,ccparams->out_clamped,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_argb_to_yuyv_frame((uint8_t *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->irowstrides[0], + (yuyv_macropixel *)ccparams->dest, ccparams->out_clamped, ccparams->thread_id); return NULL; } - - - static void convert_rgb_to_yuv_frame(uint8_t *rgbdata, int hsize, int vsize, int rowstride, uint8_t *u, boolean in_has_alpha, boolean out_has_alpha, boolean clamped, int thread_id) { - int ipsize=3,opsize=3; + int ipsize = 3, opsize = 3; int iwidth; - uint8_t *end=rgbdata+(rowstride*vsize); + uint8_t *end = rgbdata + (rowstride * vsize); register int i; - uint8_t in_alpha=255; + uint8_t in_alpha = 255; if (LIVES_UNLIKELY(!conv_RY_inited)) init_RGB_to_YUV_tables(); - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); - - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - dheight=CEIL((double)vsize/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((rgbdata+dheight*i*rowstride)<end) { + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - ccparams[i].src=rgbdata+dheight*i*rowstride; - ccparams[i].hsize=hsize; - ccparams[i].dest=u+dheight*i*hsize*opsize; + dheight = CEIL((double)vsize / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((rgbdata + dheight * i * rowstride) < end) { + ccparams[i].src = rgbdata + dheight * i * rowstride; + ccparams[i].hsize = hsize; + ccparams[i].dest = u + dheight * i * hsize * opsize; - if (dheight*(i+1)>(vsize-4)) { - dheight=vsize-(dheight*i); + if (dheight * (i + 1) > (vsize - 4)) { + dheight = vsize - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; - - ccparams[i].irowstrides[0]=rowstride; - ccparams[i].in_alpha=in_has_alpha; - ccparams[i].out_alpha=out_has_alpha; - ccparams[i].out_clamped=clamped; - ccparams[i].thread_id=i; + ccparams[i].irowstrides[0] = rowstride; + ccparams[i].in_alpha = in_has_alpha; + ccparams[i].out_alpha = out_has_alpha; + ccparams[i].out_clamped = clamped; + ccparams[i].thread_id = i; - if (i==0) convert_rgb_to_yuv_frame_thread(&ccparams[i]); + if (i == 0) convert_rgb_to_yuv_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_rgb_to_yuv_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_rgb_to_yuv_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } #if !USE_THREADS - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); #endif - if (in_has_alpha) ipsize=4; + if (in_has_alpha) ipsize = 4; - if (out_has_alpha) opsize=4; + if (out_has_alpha) opsize = 4; - hsize=(hsize>>1)<<1; - iwidth=hsize*ipsize; + hsize = (hsize >> 1) << 1; + iwidth = hsize * ipsize; - for (; rgbdata<end; rgbdata+=rowstride) { - for (i=0; i<iwidth; i+=ipsize) { - if (in_has_alpha) in_alpha=rgbdata[i+3]; - if (out_has_alpha) u[3]=in_alpha; - rgb2yuv(rgbdata[i],rgbdata[i+1],rgbdata[i+2],&(u[0]),&(u[1]),&(u[2])); - u+=opsize; + for (; rgbdata < end; rgbdata += rowstride) { + for (i = 0; i < iwidth; i += ipsize) { + if (in_has_alpha) in_alpha = rgbdata[i + 3]; + if (out_has_alpha) u[3] = in_alpha; + rgb2yuv(rgbdata[i], rgbdata[i + 1], rgbdata[i + 2], &(u[0]), &(u[1]), &(u[2])); + u += opsize; } } } + void *convert_rgb_to_yuv_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_rgb_to_yuv_frame((uint8_t *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->irowstrides[0], - (uint8_t *)ccparams->dest,ccparams->in_alpha,ccparams->out_alpha,ccparams->out_clamped,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_rgb_to_yuv_frame((uint8_t *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->irowstrides[0], + (uint8_t *)ccparams->dest, ccparams->in_alpha, ccparams->out_alpha, ccparams->out_clamped, ccparams->thread_id); return NULL; } @@ -2636,82 +2526,80 @@ static void convert_rgb_to_yuvp_frame(uint8_t *rgbdata, int hsize, int vsize, int rowstride, uint8_t **yuvp, boolean in_has_alpha, boolean out_has_alpha, boolean clamped, int thread_id) { - int ipsize=3; + int ipsize = 3; int iwidth; - uint8_t *end=rgbdata+(rowstride*vsize); + uint8_t *end = rgbdata + (rowstride * vsize); register int i; - uint8_t in_alpha=255,*a=NULL; + uint8_t in_alpha = 255, *a = NULL; - uint8_t *y,*u,*v; + uint8_t *y, *u, *v; if (LIVES_UNLIKELY(!conv_RY_inited)) init_RGB_to_YUV_tables(); - y=yuvp[0]; - u=yuvp[1]; - v=yuvp[2]; - if (out_has_alpha) a=yuvp[3]; + y = yuvp[0]; + u = yuvp[1]; + v = yuvp[2]; + if (out_has_alpha) a = yuvp[3]; - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); - - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - dheight=CEIL((double)vsize/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((rgbdata+dheight*i*rowstride)<end) { + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - ccparams[i].src=rgbdata+dheight*i*rowstride; - ccparams[i].hsize=hsize; + dheight = CEIL((double)vsize / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((rgbdata + dheight * i * rowstride) < end) { + ccparams[i].src = rgbdata + dheight * i * rowstride; + ccparams[i].hsize = hsize; - ccparams[i].destp[0]=y+dheight*i*hsize; - ccparams[i].destp[1]=u+dheight*i*hsize; - ccparams[i].destp[2]=v+dheight*i*hsize; - if (out_has_alpha) ccparams[i].destp[3]=a+dheight*i*hsize; + ccparams[i].destp[0] = y + dheight * i * hsize; + ccparams[i].destp[1] = u + dheight * i * hsize; + ccparams[i].destp[2] = v + dheight * i * hsize; + if (out_has_alpha) ccparams[i].destp[3] = a + dheight * i * hsize; - if (dheight*(i+1)>(vsize-4)) { - dheight=vsize-(dheight*i); + if (dheight * (i + 1) > (vsize - 4)) { + dheight = vsize - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; - - ccparams[i].irowstrides[0]=rowstride; - ccparams[i].in_alpha=in_has_alpha; - ccparams[i].out_alpha=out_has_alpha; - ccparams[i].out_clamped=clamped; - ccparams[i].thread_id=i; + ccparams[i].irowstrides[0] = rowstride; + ccparams[i].in_alpha = in_has_alpha; + ccparams[i].out_alpha = out_has_alpha; + ccparams[i].out_clamped = clamped; + ccparams[i].thread_id = i; - if (i==0) convert_rgb_to_yuvp_frame_thread(&ccparams[i]); + if (i == 0) convert_rgb_to_yuvp_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_rgb_to_yuvp_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_rgb_to_yuvp_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } #if !USE_THREADS - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); #endif - if (in_has_alpha) ipsize=4; + if (in_has_alpha) ipsize = 4; - hsize=(hsize>>1)<<1; - iwidth=hsize*ipsize; + hsize = (hsize >> 1) << 1; + iwidth = hsize * ipsize; - for (; rgbdata<end; rgbdata+=rowstride) { - for (i=0; i<iwidth; i+=ipsize) { - if (in_has_alpha) in_alpha=rgbdata[i+3]; - if (out_has_alpha) *(a++)=in_alpha; - rgb2yuv(rgbdata[i],rgbdata[i+1],rgbdata[i+2],y,u,v); + for (; rgbdata < end; rgbdata += rowstride) { + for (i = 0; i < iwidth; i += ipsize) { + if (in_has_alpha) in_alpha = rgbdata[i + 3]; + if (out_has_alpha) *(a++) = in_alpha; + rgb2yuv(rgbdata[i], rgbdata[i + 1], rgbdata[i + 2], y, u, v); y++; u++; v++; @@ -2721,181 +2609,175 @@ void *convert_rgb_to_yuvp_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_rgb_to_yuvp_frame((uint8_t *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->irowstrides[0], - (uint8_t **)ccparams->destp,ccparams->in_alpha,ccparams->out_alpha,ccparams->out_clamped, + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_rgb_to_yuvp_frame((uint8_t *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->irowstrides[0], + (uint8_t **)ccparams->destp, ccparams->in_alpha, ccparams->out_alpha, ccparams->out_clamped, ccparams->thread_id); return NULL; } - static void convert_bgr_to_yuv_frame(uint8_t *rgbdata, int hsize, int vsize, int rowstride, uint8_t *u, boolean in_has_alpha, boolean out_has_alpha, boolean clamped, int thread_id) { - int ipsize=3,opsize=3; + int ipsize = 3, opsize = 3; int iwidth; - uint8_t *end=rgbdata+(rowstride*vsize); + uint8_t *end = rgbdata + (rowstride * vsize); register int i; - uint8_t in_alpha=255; + uint8_t in_alpha = 255; if (LIVES_UNLIKELY(!conv_RY_inited)) init_RGB_to_YUV_tables(); - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); - - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - dheight=CEIL((double)vsize/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((rgbdata+dheight*i*rowstride)<end) { + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - ccparams[i].src=rgbdata+dheight*i*rowstride; - ccparams[i].hsize=hsize; - ccparams[i].dest=u+dheight*i*hsize*opsize; + dheight = CEIL((double)vsize / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((rgbdata + dheight * i * rowstride) < end) { + ccparams[i].src = rgbdata + dheight * i * rowstride; + ccparams[i].hsize = hsize; + ccparams[i].dest = u + dheight * i * hsize * opsize; - if (dheight*(i+1)>(vsize-4)) { - dheight=vsize-(dheight*i); + if (dheight * (i + 1) > (vsize - 4)) { + dheight = vsize - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; - - ccparams[i].irowstrides[0]=rowstride; - ccparams[i].in_alpha=in_has_alpha; - ccparams[i].out_alpha=out_has_alpha; - ccparams[i].out_clamped=clamped; - ccparams[i].thread_id=i; + ccparams[i].irowstrides[0] = rowstride; + ccparams[i].in_alpha = in_has_alpha; + ccparams[i].out_alpha = out_has_alpha; + ccparams[i].out_clamped = clamped; + ccparams[i].thread_id = i; - if (i==0) convert_bgr_to_yuv_frame_thread(&ccparams[i]); + if (i == 0) convert_bgr_to_yuv_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_bgr_to_yuv_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_bgr_to_yuv_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } #if !USE_THREADS - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); #endif - if (in_has_alpha) ipsize=4; + if (in_has_alpha) ipsize = 4; - if (out_has_alpha) opsize=4; + if (out_has_alpha) opsize = 4; - hsize=(hsize>>1)<<1; - iwidth=hsize*ipsize; + hsize = (hsize >> 1) << 1; + iwidth = hsize * ipsize; - for (; rgbdata<end; rgbdata+=rowstride) { - for (i=0; i<iwidth; i+=ipsize) { - if (in_has_alpha) in_alpha=rgbdata[i+3]; - if (out_has_alpha) u[3]=in_alpha; - rgb2yuv(rgbdata[i+2],rgbdata[i+1],rgbdata[i],&(u[0]),&(u[1]),&(u[2])); - u+=opsize; + for (; rgbdata < end; rgbdata += rowstride) { + for (i = 0; i < iwidth; i += ipsize) { + if (in_has_alpha) in_alpha = rgbdata[i + 3]; + if (out_has_alpha) u[3] = in_alpha; + rgb2yuv(rgbdata[i + 2], rgbdata[i + 1], rgbdata[i], &(u[0]), &(u[1]), &(u[2])); + u += opsize; } } } + void *convert_bgr_to_yuv_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_bgr_to_yuv_frame((uint8_t *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->irowstrides[0], - (uint8_t *)ccparams->dest,ccparams->in_alpha,ccparams->out_alpha,ccparams->out_clamped,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_bgr_to_yuv_frame((uint8_t *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->irowstrides[0], + (uint8_t *)ccparams->dest, ccparams->in_alpha, ccparams->out_alpha, ccparams->out_clamped, ccparams->thread_id); return NULL; } - static void convert_bgr_to_yuvp_frame(uint8_t *rgbdata, int hsize, int vsize, int rowstride, uint8_t **yuvp, boolean in_has_alpha, boolean out_has_alpha, boolean clamped, int thread_id) { - // TESTED ! - int ipsize=3; + int ipsize = 3; int iwidth; - uint8_t *end=rgbdata+(rowstride*vsize); + uint8_t *end = rgbdata + (rowstride * vsize); register int i; - uint8_t in_alpha=255,*a=NULL; + uint8_t in_alpha = 255, *a = NULL; - uint8_t *y,*u,*v; + uint8_t *y, *u, *v; if (LIVES_UNLIKELY(!conv_RY_inited)) init_RGB_to_YUV_tables(); - y=yuvp[0]; - u=yuvp[1]; - v=yuvp[2]; - if (out_has_alpha) a=yuvp[3]; + y = yuvp[0]; + u = yuvp[1]; + v = yuvp[2]; + if (out_has_alpha) a = yuvp[3]; - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); - - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - dheight=CEIL((double)vsize/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((rgbdata+dheight*i*rowstride)<end) { + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - ccparams[i].src=rgbdata+dheight*i*rowstride; - ccparams[i].hsize=hsize; + dheight = CEIL((double)vsize / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((rgbdata + dheight * i * rowstride) < end) { + ccparams[i].src = rgbdata + dheight * i * rowstride; + ccparams[i].hsize = hsize; - ccparams[i].destp[0]=y+dheight*i*hsize; - ccparams[i].destp[1]=u+dheight*i*hsize; - ccparams[i].destp[2]=v+dheight*i*hsize; - if (out_has_alpha) ccparams[i].destp[3]=a+dheight*i*hsize; + ccparams[i].destp[0] = y + dheight * i * hsize; + ccparams[i].destp[1] = u + dheight * i * hsize; + ccparams[i].destp[2] = v + dheight * i * hsize; + if (out_has_alpha) ccparams[i].destp[3] = a + dheight * i * hsize; - if (dheight*(i+1)>(vsize-4)) { - dheight=vsize-(dheight*i); + if (dheight * (i + 1) > (vsize - 4)) { + dheight = vsize - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; - - ccparams[i].irowstrides[0]=rowstride; - ccparams[i].in_alpha=in_has_alpha; - ccparams[i].out_alpha=out_has_alpha; - ccparams[i].out_clamped=clamped; - ccparams[i].thread_id=i; + ccparams[i].irowstrides[0] = rowstride; + ccparams[i].in_alpha = in_has_alpha; + ccparams[i].out_alpha = out_has_alpha; + ccparams[i].out_clamped = clamped; + ccparams[i].thread_id = i; - if (i==0) convert_bgr_to_yuvp_frame_thread(&ccparams[i]); + if (i == 0) convert_bgr_to_yuvp_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_bgr_to_yuvp_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_bgr_to_yuvp_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } #if !USE_THREADS - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); #endif - if (in_has_alpha) ipsize=4; + if (in_has_alpha) ipsize = 4; - hsize=(hsize>>1)<<1; - iwidth=hsize*ipsize; + hsize = (hsize >> 1) << 1; + iwidth = hsize * ipsize; - for (; rgbdata<end; rgbdata+=rowstride) { - for (i=0; i<iwidth; i+=ipsize) { - if (in_has_alpha) in_alpha=rgbdata[i+3]; - if (out_has_alpha) *(a++)=in_alpha; - rgb2yuv(rgbdata[i+2],rgbdata[i+1],rgbdata[i],&(y[0]),&(u[0]),&(v[0])); + for (; rgbdata < end; rgbdata += rowstride) { + for (i = 0; i < iwidth; i += ipsize) { + if (in_has_alpha) in_alpha = rgbdata[i + 3]; + if (out_has_alpha) *(a++) = in_alpha; + rgb2yuv(rgbdata[i + 2], rgbdata[i + 1], rgbdata[i], &(y[0]), &(u[0]), &(v[0])); y++; u++; v++; @@ -2905,91 +2787,88 @@ void *convert_bgr_to_yuvp_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_bgr_to_yuvp_frame((uint8_t *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->irowstrides[0], - (uint8_t **)ccparams->destp,ccparams->in_alpha,ccparams->out_alpha,ccparams->out_clamped, + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_bgr_to_yuvp_frame((uint8_t *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->irowstrides[0], + (uint8_t **)ccparams->destp, ccparams->in_alpha, ccparams->out_alpha, ccparams->out_clamped, ccparams->thread_id); return NULL; } - - static void convert_argb_to_yuv_frame(uint8_t *rgbdata, int hsize, int vsize, int rowstride, uint8_t *u, boolean out_has_alpha, boolean clamped, int thread_id) { - int ipsize=4,opsize=3; + int ipsize = 4, opsize = 3; int iwidth; - uint8_t *end=rgbdata+(rowstride*vsize); + uint8_t *end = rgbdata + (rowstride * vsize); register int i; if (LIVES_UNLIKELY(!conv_RY_inited)) init_RGB_to_YUV_tables(); - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); - - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - dheight=CEIL((double)vsize/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((rgbdata+dheight*i*rowstride)<end) { + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - ccparams[i].src=rgbdata+dheight*i*rowstride; - ccparams[i].hsize=hsize; + dheight = CEIL((double)vsize / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((rgbdata + dheight * i * rowstride) < end) { + ccparams[i].src = rgbdata + dheight * i * rowstride; + ccparams[i].hsize = hsize; - ccparams[i].dest=u+dheight*i*hsize*opsize; + ccparams[i].dest = u + dheight * i * hsize * opsize; - if (dheight*(i+1)>(vsize-4)) { - dheight=vsize-(dheight*i); + if (dheight * (i + 1) > (vsize - 4)) { + dheight = vsize - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; + ccparams[i].irowstrides[0] = rowstride; + ccparams[i].out_alpha = out_has_alpha; + ccparams[i].out_clamped = clamped; + ccparams[i].thread_id = i; - ccparams[i].irowstrides[0]=rowstride; - ccparams[i].out_alpha=out_has_alpha; - ccparams[i].out_clamped=clamped; - ccparams[i].thread_id=i; - - if (i==0) convert_rgb_to_yuv_frame_thread(&ccparams[i]); + if (i == 0) convert_rgb_to_yuv_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_rgb_to_yuv_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_rgb_to_yuv_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } #if !USE_THREADS - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); #endif - if (out_has_alpha) opsize=4; + if (out_has_alpha) opsize = 4; - hsize=(hsize>>1)<<1; - iwidth=hsize*ipsize; + hsize = (hsize >> 1) << 1; + iwidth = hsize * ipsize; - for (; rgbdata<end; rgbdata+=rowstride) { - for (i=0; i<iwidth; i+=ipsize) { - if (out_has_alpha) u[3]=rgbdata[i]; - rgb2yuv(rgbdata[i+1],rgbdata[i+2],rgbdata[i+3],&(u[0]),&(u[1]),&(u[2])); - u+=opsize; + for (; rgbdata < end; rgbdata += rowstride) { + for (i = 0; i < iwidth; i += ipsize) { + if (out_has_alpha) u[3] = rgbdata[i]; + rgb2yuv(rgbdata[i + 1], rgbdata[i + 2], rgbdata[i + 3], &(u[0]), &(u[1]), &(u[2])); + u += opsize; } } } + void *convert_argb_to_yuv_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_argb_to_yuv_frame((uint8_t *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->irowstrides[0], - (uint8_t *)ccparams->dest,ccparams->out_alpha,ccparams->out_clamped,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_argb_to_yuv_frame((uint8_t *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->irowstrides[0], + (uint8_t *)ccparams->dest, ccparams->out_alpha, ccparams->out_clamped, ccparams->thread_id); return NULL; } @@ -2997,77 +2876,75 @@ static void convert_argb_to_yuvp_frame(uint8_t *rgbdata, int hsize, int vsize, int rowstride, uint8_t **yuvp, boolean out_has_alpha, boolean clamped, int thread_id) { - int ipsize=4; + int ipsize = 4; int iwidth; - uint8_t *end=rgbdata+(rowstride*vsize); + uint8_t *end = rgbdata + (rowstride * vsize); register int i; - uint8_t *a=NULL; - uint8_t *y,*u,*v; + uint8_t *a = NULL; + uint8_t *y, *u, *v; if (LIVES_UNLIKELY(!conv_RY_inited)) init_RGB_to_YUV_tables(); - y=yuvp[0]; - u=yuvp[1]; - v=yuvp[2]; - if (out_has_alpha) a=yuvp[3]; + y = yuvp[0]; + u = yuvp[1]; + v = yuvp[2]; + if (out_has_alpha) a = yuvp[3]; - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); - - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - dheight=CEIL((double)vsize/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((rgbdata+dheight*i*rowstride)<end) { + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - ccparams[i].src=rgbdata+dheight*i*rowstride; - ccparams[i].hsize=hsize; + dheight = CEIL((double)vsize / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((rgbdata + dheight * i * rowstride) < end) { + ccparams[i].src = rgbdata + dheight * i * rowstride; + ccparams[i].hsize = hsize; - ccparams[i].destp[0]=y+dheight*i*hsize; - ccparams[i].destp[1]=u+dheight*i*hsize; - ccparams[i].destp[2]=v+dheight*i*hsize; - if (out_has_alpha) ccparams[i].destp[3]=a+dheight*i*hsize; + ccparams[i].destp[0] = y + dheight * i * hsize; + ccparams[i].destp[1] = u + dheight * i * hsize; + ccparams[i].destp[2] = v + dheight * i * hsize; + if (out_has_alpha) ccparams[i].destp[3] = a + dheight * i * hsize; - if (dheight*(i+1)>(vsize-4)) { - dheight=vsize-(dheight*i); + if (dheight * (i + 1) > (vsize - 4)) { + dheight = vsize - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; + ccparams[i].irowstrides[0] = rowstride; + ccparams[i].out_alpha = out_has_alpha; + ccparams[i].out_clamped = clamped; + ccparams[i].thread_id = i; - ccparams[i].irowstrides[0]=rowstride; - ccparams[i].out_alpha=out_has_alpha; - ccparams[i].out_clamped=clamped; - ccparams[i].thread_id=i; - - if (i==0) convert_argb_to_yuvp_frame_thread(&ccparams[i]); + if (i == 0) convert_argb_to_yuvp_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_argb_to_yuvp_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_argb_to_yuvp_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } #if !USE_THREADS - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); #endif - hsize=(hsize>>1)<<1; - iwidth=hsize*ipsize; + hsize = (hsize >> 1) << 1; + iwidth = hsize * ipsize; - for (; rgbdata<end; rgbdata+=rowstride) { - for (i=0; i<iwidth; i+=ipsize) { - if (out_has_alpha) *(a++)=rgbdata[i]; - rgb2yuv(rgbdata[i+1],rgbdata[i+2],rgbdata[i+3],y,u,v); + for (; rgbdata < end; rgbdata += rowstride) { + for (i = 0; i < iwidth; i += ipsize) { + if (out_has_alpha) *(a++) = rgbdata[i]; + rgb2yuv(rgbdata[i + 1], rgbdata[i + 2], rgbdata[i + 3], y, u, v); y++; u++; v++; @@ -3077,218 +2954,213 @@ void *convert_argb_to_yuvp_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_argb_to_yuvp_frame((uint8_t *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->irowstrides[0], - (uint8_t **)ccparams->destp,ccparams->out_alpha,ccparams->out_clamped, + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_argb_to_yuvp_frame((uint8_t *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->irowstrides[0], + (uint8_t **)ccparams->destp, ccparams->out_alpha, ccparams->out_clamped, ccparams->thread_id); return NULL; } - - - - static void convert_rgb_to_yuv420_frame(uint8_t *rgbdata, int hsize, int vsize, int rowstride, uint8_t **dest, boolean is_422, boolean has_alpha, int samtype, boolean clamped) { // for odd sized widths, cut the rightmost pixel // TODO - handle different out sampling types int hs3; - uint8_t *y,*Cb,*Cr; + uint8_t *y, *Cb, *Cr; uyvy_macropixel u; - register int i,j; - boolean chroma_row=TRUE; + register int i, j; + boolean chroma_row = TRUE; - int ipsize=3,ipsize2; + int ipsize = 3, ipsize2; size_t hhsize; if (LIVES_UNLIKELY(!conv_RY_inited)) init_RGB_to_YUV_tables(); - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - if (has_alpha) ipsize=4; + if (has_alpha) ipsize = 4; // ensure width and height are both divisible by two - hsize=(hsize>>1)<<1; - vsize=(vsize>>1)<<1; + hsize = (hsize >> 1) << 1; + vsize = (vsize >> 1) << 1; - y=dest[0]; - Cb=dest[1]; - Cr=dest[2]; - - hhsize=hsize>>1; - ipsize2=ipsize*2; - hs3=(hsize*ipsize)-(ipsize2-1); + y = dest[0]; + Cb = dest[1]; + Cr = dest[2]; + + hhsize = hsize >> 1; + ipsize2 = ipsize * 2; + hs3 = (hsize * ipsize) - (ipsize2 - 1); - for (i=0; i<vsize; i++) { - for (j=0; j<hs3; j+=ipsize2) { + for (i = 0; i < vsize; i++) { + for (j = 0; j < hs3; j += ipsize2) { // mpeg style, Cb and Cr are co-located // convert 6 RGBRGB bytes to 4 UYVY bytes // TODO: for mpeg use rgb2yuv and write alternate u and v - rgb2uyvy(rgbdata[j],rgbdata[j+1],rgbdata[j+2],rgbdata[j+ipsize],rgbdata[j+ipsize+1],rgbdata[j+ipsize+2],&u); + rgb2uyvy(rgbdata[j], rgbdata[j + 1], rgbdata[j + 2], rgbdata[j + ipsize], rgbdata[j + ipsize + 1], rgbdata[j + ipsize + 2], &u); - *(y++)=u.y0; - *(y++)=u.y1; - *(Cb++)=u.u0; - *(Cr++)=u.v0; + *(y++) = u.y0; + *(y++) = u.y1; + *(Cb++) = u.u0; + *(Cr++) = u.v0; - if (!is_422&&chroma_row&&i>0) { + if (!is_422 && chroma_row && i > 0) { // average two rows - Cb[-1-hhsize]=avg_chroma(Cb[-1],Cb[-1-hhsize]); - Cr[-1-hhsize]=avg_chroma(Cr[-1],Cr[-1-hhsize]); + Cb[-1 - hhsize] = avg_chroma(Cb[-1], Cb[-1 - hhsize]); + Cr[-1 - hhsize] = avg_chroma(Cr[-1], Cr[-1 - hhsize]); } } if (!is_422) { if (chroma_row) { - Cb-=hhsize; - Cr-=hhsize; + Cb -= hhsize; + Cr -= hhsize; } - chroma_row=!chroma_row; + chroma_row = !chroma_row; } - rgbdata+=rowstride; + rgbdata += rowstride; } } - static void convert_argb_to_yuv420_frame(uint8_t *rgbdata, int hsize, int vsize, int rowstride, uint8_t **dest, boolean is_422, int samtype, boolean clamped) { // for odd sized widths, cut the rightmost pixel // TODO - handle different out sampling types int hs3; - uint8_t *y,*Cb,*Cr; + uint8_t *y, *Cb, *Cr; uyvy_macropixel u; - register int i,j; - boolean chroma_row=TRUE; + register int i, j; + boolean chroma_row = TRUE; - int ipsize=4,ipsize2; + int ipsize = 4, ipsize2; size_t hhsize; if (LIVES_UNLIKELY(!conv_RY_inited)) init_RGB_to_YUV_tables(); - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); // ensure width and height are both divisible by two - hsize=(hsize>>1)<<1; - vsize=(vsize>>1)<<1; + hsize = (hsize >> 1) << 1; + vsize = (vsize >> 1) << 1; - y=dest[0]; - Cb=dest[1]; - Cr=dest[2]; - - hhsize=hsize>>1; - ipsize2=ipsize*2; - hs3=(hsize*ipsize)-(ipsize2-1); + y = dest[0]; + Cb = dest[1]; + Cr = dest[2]; + + hhsize = hsize >> 1; + ipsize2 = ipsize * 2; + hs3 = (hsize * ipsize) - (ipsize2 - 1); - for (i=0; i<vsize; i++) { - for (j=0; j<hs3; j+=ipsize2) { + for (i = 0; i < vsize; i++) { + for (j = 0; j < hs3; j += ipsize2) { // mpeg style, Cb and Cr are co-located // convert 6 RGBRGB bytes to 4 UYVY bytes // TODO: for mpeg use rgb2yuv and write alternate u and v - rgb2uyvy(rgbdata[j+1],rgbdata[j+2],rgbdata[j+3],rgbdata[j+1+ipsize],rgbdata[j+2+ipsize+1],rgbdata[j+3+ipsize+2],&u); + rgb2uyvy(rgbdata[j + 1], rgbdata[j + 2], rgbdata[j + 3], rgbdata[j + 1 + ipsize], rgbdata[j + 2 + ipsize + 1], rgbdata[j + 3 + ipsize + 2], + &u); - *(y++)=u.y0; - *(y++)=u.y1; - *(Cb++)=u.u0; - *(Cr++)=u.v0; + *(y++) = u.y0; + *(y++) = u.y1; + *(Cb++) = u.u0; + *(Cr++) = u.v0; - if (!is_422&&chroma_row&&i>0) { + if (!is_422 && chroma_row && i > 0) { // average two rows - Cb[-1-hhsize]=avg_chroma(Cb[-1],Cb[-1-hhsize]); - Cr[-1-hhsize]=avg_chroma(Cr[-1],Cr[-1-hhsize]); + Cb[-1 - hhsize] = avg_chroma(Cb[-1], Cb[-1 - hhsize]); + Cr[-1 - hhsize] = avg_chroma(Cr[-1], Cr[-1 - hhsize]); } } if (!is_422) { if (chroma_row) { - Cb-=hhsize; - Cr-=hhsize; + Cb -= hhsize; + Cr -= hhsize; } - chroma_row=!chroma_row; + chroma_row = !chroma_row; } - rgbdata+=rowstride; + rgbdata += rowstride; } } - static void convert_bgr_to_yuv420_frame(uint8_t *rgbdata, int hsize, int vsize, int rowstride, uint8_t **dest, boolean is_422, boolean has_alpha, int samtype, boolean clamped) { // for odd sized widths, cut the rightmost pixel // TODO - handle different out sampling types int hs3; - uint8_t *y,*Cb,*Cr; + uint8_t *y, *Cb, *Cr; uyvy_macropixel u; - register int i,j; - int chroma_row=TRUE; - int ipsize=3,ipsize2; + register int i, j; + int chroma_row = TRUE; + int ipsize = 3, ipsize2; size_t hhsize; if (LIVES_UNLIKELY(!conv_RY_inited)) init_RGB_to_YUV_tables(); - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - if (has_alpha) ipsize=4; + if (has_alpha) ipsize = 4; // ensure width and height are both divisible by two - hsize=(hsize>>1)<<1; - vsize=(vsize>>1)<<1; + hsize = (hsize >> 1) << 1; + vsize = (vsize >> 1) << 1; - y=dest[0]; - Cb=dest[1]; - Cr=dest[2]; - - ipsize2=ipsize*2; - hhsize=hsize>>1; - hs3=(hsize*ipsize)-(ipsize2-1); - for (i=0; i<vsize; i++) { - for (j=0; j<hs3; j+=ipsize2) { + y = dest[0]; + Cb = dest[1]; + Cr = dest[2]; + + ipsize2 = ipsize * 2; + hhsize = hsize >> 1; + hs3 = (hsize * ipsize) - (ipsize2 - 1); + for (i = 0; i < vsize; i++) { + for (j = 0; j < hs3; j += ipsize2) { // convert 6 RGBRGB bytes to 4 UYVY bytes - rgb2uyvy(rgbdata[j+2],rgbdata[j+1],rgbdata[j],rgbdata[j+ipsize+2],rgbdata[j+ipsize+1],rgbdata[j+ipsize],&u); + rgb2uyvy(rgbdata[j + 2], rgbdata[j + 1], rgbdata[j], rgbdata[j + ipsize + 2], rgbdata[j + ipsize + 1], rgbdata[j + ipsize], &u); - *(y++)=u.y0; - *(y++)=u.y1; - *(Cb++)=u.u0; - *(Cr++)=u.v0; + *(y++) = u.y0; + *(y++) = u.y1; + *(Cb++) = u.u0; + *(Cr++) = u.v0; - if (!is_422&&chroma_row&&i>0) { + if (!is_422 && chroma_row && i > 0) { // average two rows - Cb[-1-hhsize]=avg_chroma(Cb[-1],Cb[-1-hhsize]); - Cr[-1-hhsize]=avg_chroma(Cr[-1],Cr[-1-hhsize]); + Cb[-1 - hhsize] = avg_chroma(Cb[-1], Cb[-1 - hhsize]); + Cr[-1 - hhsize] = avg_chroma(Cr[-1], Cr[-1 - hhsize]); } } if (!is_422) { if (chroma_row) { - Cb-=hhsize; - Cr-=hhsize; + Cb -= hhsize; + Cr -= hhsize; } - chroma_row=!chroma_row; + chroma_row = !chroma_row; } - rgbdata+=rowstride; + rgbdata += rowstride; } } static void convert_yuv422p_to_uyvy_frame(uint8_t **src, int width, int height, uint8_t *dest) { // TODO - handle different in sampling types - uint8_t *src_y=src[0]; - uint8_t *src_u=src[1]; - uint8_t *src_v=src[2]; - uint8_t *end=src_y+width*height; - - while (src_y<end) { - *(dest++)=*(src_u++); - *(dest++)=*(src_y++); - *(dest++)=*(src_v++); - *(dest++)=*(src_y++); + uint8_t *src_y = src[0]; + uint8_t *src_u = src[1]; + uint8_t *src_v = src[2]; + uint8_t *end = src_y + width * height; + + while (src_y < end) { + *(dest++) = *(src_u++); + *(dest++) = *(src_y++); + *(dest++) = *(src_v++); + *(dest++) = *(src_y++); } } @@ -3296,16 +3168,16 @@ static void convert_yuv422p_to_yuyv_frame(uint8_t **src, int width, int height, uint8_t *dest) { // TODO - handle different in sampling types - uint8_t *src_y=src[0]; - uint8_t *src_u=src[1]; - uint8_t *src_v=src[2]; - uint8_t *end=src_y+width*height; - - while (src_y<end) { - *(dest++)=*(src_u++); - *(dest++)=*(src_y++); - *(dest++)=*(src_v++); - *(dest++)=*(src_y++); + uint8_t *src_y = src[0]; + uint8_t *src_u = src[1]; + uint8_t *src_v = src[2]; + uint8_t *end = src_y + width * height; + + while (src_y < end) { + *(dest++) = *(src_u++); + *(dest++) = *(src_y++); + *(dest++) = *(src_v++); + *(dest++) = *(src_y++); } } @@ -3314,38 +3186,39 @@ yuv411_macropixel *u, boolean has_alpha, boolean clamped) { // for odd sized widths, cut the rightmost one, two or three pixels. Widths should be divisible by 4. // TODO - handle different out sampling types - int hs3=(int)(hsize>>2)*12,ipstep=12; + int hs3 = (int)(hsize >> 2) * 12, ipstep = 12; uint8_t *end; register int i; - int x=3,y=4,z=5,a=6,b=7,c=8,d=9,e=10,f=11; + int x = 3, y = 4, z = 5, a = 6, b = 7, c = 8, d = 9, e = 10, f = 11; if (LIVES_UNLIKELY(!conv_RY_inited)) init_RGB_to_YUV_tables(); - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); if (has_alpha) { z++; y++; x++; - a+=2; - b+=2; - c+=2; - d+=3; - e+=3; - f+=3; - hs3=(int)(hsize>>2)*16; - ipstep=16; + a += 2; + b += 2; + c += 2; + d += 3; + e += 3; + f += 3; + hs3 = (int)(hsize >> 2) * 16; + ipstep = 16; } - end=rgbdata+(rowstride*vsize)+1-ipstep; - hs3-=(ipstep-1); + end = rgbdata + (rowstride * vsize) + 1 - ipstep; + hs3 -= (ipstep - 1); - for (; rgbdata<end; rgbdata+=rowstride) { - for (i=0; i<hs3; i+=ipstep) { + for (; rgbdata < end; rgbdata += rowstride) { + for (i = 0; i < hs3; i += ipstep) { // convert 12 RGBRGBRGBRGB bytes to 6 UYYVYY bytes - rgb2_411(rgbdata[i],rgbdata[i+1],rgbdata[i+2],rgbdata[i+x],rgbdata[i+y],rgbdata[i+z],rgbdata[i+a],rgbdata[i+b],rgbdata[i+c],rgbdata[i+d], - rgbdata[i+e],rgbdata[i+f],u++); + rgb2_411(rgbdata[i], rgbdata[i + 1], rgbdata[i + 2], rgbdata[i + x], rgbdata[i + y], rgbdata[i + z], rgbdata[i + a], rgbdata[i + b], + rgbdata[i + c], rgbdata[i + d], + rgbdata[i + e], rgbdata[i + f], u++); } } } @@ -3355,38 +3228,39 @@ yuv411_macropixel *u, boolean has_alpha, boolean clamped) { // for odd sized widths, cut the rightmost one, two or three pixels // TODO - handle different out sampling types - int hs3=(int)(hsize>>2)*12,ipstep=12; + int hs3 = (int)(hsize >> 2) * 12, ipstep = 12; uint8_t *end; register int i; - int x=3,y=4,z=5,a=6,b=7,c=8,d=9,e=10,f=11; + int x = 3, y = 4, z = 5, a = 6, b = 7, c = 8, d = 9, e = 10, f = 11; if (LIVES_UNLIKELY(!conv_RY_inited)) init_RGB_to_YUV_tables(); - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); if (has_alpha) { z++; y++; x++; - a+=2; - b+=2; - c+=2; - d+=3; - e+=3; - f+=3; - hs3=(int)(hsize>>2)*16; - ipstep=16; + a += 2; + b += 2; + c += 2; + d += 3; + e += 3; + f += 3; + hs3 = (int)(hsize >> 2) * 16; + ipstep = 16; } - end=rgbdata+(rowstride*vsize)+1-ipstep; - hs3-=(ipstep-1); + end = rgbdata + (rowstride * vsize) + 1 - ipstep; + hs3 -= (ipstep - 1); - for (; rgbdata<end; rgbdata+=rowstride) { - for (i=0; i<hs3; i+=ipstep) { + for (; rgbdata < end; rgbdata += rowstride) { + for (i = 0; i < hs3; i += ipstep) { // convert 12 RGBRGBRGBRGB bytes to 6 UYYVYY bytes - rgb2_411(rgbdata[i+2],rgbdata[i+1],rgbdata[i],rgbdata[i+z],rgbdata[i+y],rgbdata[i+x],rgbdata[i+c],rgbdata[i+b],rgbdata[i+a],rgbdata[i+f], - rgbdata[i+e],rgbdata[i+d],u++); + rgb2_411(rgbdata[i + 2], rgbdata[i + 1], rgbdata[i], rgbdata[i + z], rgbdata[i + y], rgbdata[i + x], rgbdata[i + c], rgbdata[i + b], + rgbdata[i + a], rgbdata[i + f], + rgbdata[i + e], rgbdata[i + d], u++); } } } @@ -3396,26 +3270,27 @@ yuv411_macropixel *u, boolean clamped) { // for odd sized widths, cut the rightmost one, two or three pixels. Widths should be divisible by 4. // TODO - handle different out sampling types - int hs3=(int)(hsize>>2)*12,ipstep=12; + int hs3 = (int)(hsize >> 2) * 12, ipstep = 12; uint8_t *end; register int i; if (LIVES_UNLIKELY(!conv_RY_inited)) init_RGB_to_YUV_tables(); - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - hs3=(int)(hsize>>2)*16; - ipstep=16; + hs3 = (int)(hsize >> 2) * 16; + ipstep = 16; - end=rgbdata+(rowstride*vsize)+1-ipstep; - hs3-=(ipstep-1); + end = rgbdata + (rowstride * vsize) + 1 - ipstep; + hs3 -= (ipstep - 1); - for (; rgbdata<end; rgbdata+=rowstride) { - for (i=0; i<hs3; i+=ipstep) { + for (; rgbdata < end; rgbdata += rowstride) { + for (i = 0; i < hs3; i += ipstep) { // convert 12 RGBRGBRGBRGB bytes to 6 UYYVYY bytes - rgb2_411(rgbdata[i+1],rgbdata[i+2],rgbdata[i+3],rgbdata[i+5],rgbdata[i+6],rgbdata[i+7],rgbdata[i+9],rgbdata[i+10],rgbdata[i+11], - rgbdata[i+13],rgbdata[i+14],rgbdata[i+15],u++); + rgb2_411(rgbdata[i + 1], rgbdata[i + 2], rgbdata[i + 3], rgbdata[i + 5], rgbdata[i + 6], rgbdata[i + 7], rgbdata[i + 9], rgbdata[i + 10], + rgbdata[i + 11], + rgbdata[i + 13], rgbdata[i + 14], rgbdata[i + 15], u++); } } } @@ -3423,566 +3298,549 @@ static void convert_uyvy_to_rgb_frame(uyvy_macropixel *src, int width, int height, int orowstride, uint8_t *dest, boolean add_alpha, boolean clamped, int thread_id) { - register int i,j; - int psize=6; - int a=3,b=4,c=5; + register int i, j; + int psize = 6; + int a = 3, b = 4, c = 5; if (LIVES_UNLIKELY(!conv_YR_inited)) init_YUV_to_RGB_tables(); - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); - - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - dheight=CEIL((double)height/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((dheight*i)<height) { + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - ccparams[i].src=src+dheight*i*width; - ccparams[i].hsize=width; - ccparams[i].dest=dest+dheight*i*orowstride; + dheight = CEIL((double)height / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((dheight * i) < height) { + ccparams[i].src = src + dheight * i * width; + ccparams[i].hsize = width; + ccparams[i].dest = dest + dheight * i * orowstride; - if (dheight*(i+1)>(height-4)) { - dheight=height-(dheight*i); + if (dheight * (i + 1) > (height - 4)) { + dheight = height - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; + ccparams[i].orowstrides[0] = orowstride; + ccparams[i].out_alpha = add_alpha; + ccparams[i].in_clamped = clamped; + ccparams[i].thread_id = i; - ccparams[i].orowstrides[0]=orowstride; - ccparams[i].out_alpha=add_alpha; - ccparams[i].in_clamped=clamped; - ccparams[i].thread_id=i; - - if (i==0) convert_uyvy_to_rgb_frame_thread(&ccparams[i]); + if (i == 0) convert_uyvy_to_rgb_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_uyvy_to_rgb_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_uyvy_to_rgb_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } #if !USE_THREADS - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); #endif if (add_alpha) { - psize=8; - a=4; - b=5; - c=6; + psize = 8; + a = 4; + b = 5; + c = 6; } - orowstride-=width*psize; - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - uyvy2rgb(src,&dest[0],&dest[1],&dest[2],&dest[a],&dest[b],&dest[c]); - if (add_alpha) dest[3]=dest[7]=255; - dest+=psize; + orowstride -= width * psize; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + uyvy2rgb(src, &dest[0], &dest[1], &dest[2], &dest[a], &dest[b], &dest[c]); + if (add_alpha) dest[3] = dest[7] = 255; + dest += psize; src++; } - dest+=orowstride; + dest += orowstride; } } void *convert_uyvy_to_rgb_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_uyvy_to_rgb_frame((uyvy_macropixel *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->orowstrides[0], - (uint8_t *)ccparams->dest,ccparams->out_alpha,ccparams->in_clamped,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_uyvy_to_rgb_frame((uyvy_macropixel *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->orowstrides[0], + (uint8_t *)ccparams->dest, ccparams->out_alpha, ccparams->in_clamped, ccparams->thread_id); return NULL; } static void convert_uyvy_to_bgr_frame(uyvy_macropixel *src, int width, int height, int orowstride, uint8_t *dest, boolean add_alpha, boolean clamped, int thread_id) { - register int i,j; - int psize=6; + register int i, j; + int psize = 6; - int a=3,b=4,c=5; + int a = 3, b = 4, c = 5; if (LIVES_UNLIKELY(!conv_YR_inited)) init_YUV_to_RGB_tables(); - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); - - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - dheight=CEIL((double)height/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((dheight*i)<height) { + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - ccparams[i].src=src+dheight*i*width; - ccparams[i].hsize=width; - ccparams[i].dest=dest+dheight*i*orowstride; + dheight = CEIL((double)height / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((dheight * i) < height) { + ccparams[i].src = src + dheight * i * width; + ccparams[i].hsize = width; + ccparams[i].dest = dest + dheight * i * orowstride; - if (dheight*(i+1)>(height-4)) { - dheight=height-(dheight*i); + if (dheight * (i + 1) > (height - 4)) { + dheight = height - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; - - ccparams[i].orowstrides[0]=orowstride; - ccparams[i].out_alpha=add_alpha; - ccparams[i].in_clamped=clamped; - ccparams[i].thread_id=i; + ccparams[i].orowstrides[0] = orowstride; + ccparams[i].out_alpha = add_alpha; + ccparams[i].in_clamped = clamped; + ccparams[i].thread_id = i; - if (i==0) convert_uyvy_to_bgr_frame_thread(&ccparams[i]); + if (i == 0) convert_uyvy_to_bgr_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_uyvy_to_bgr_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_uyvy_to_bgr_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } - #if !USE_THREADS - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); #endif if (add_alpha) { - psize=8; - a=4; - b=5; - c=6; + psize = 8; + a = 4; + b = 5; + c = 6; } - orowstride-=width*psize; - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - uyvy2rgb(src,&dest[2],&dest[1],&dest[0],&dest[c],&dest[b],&dest[a]); - if (add_alpha) dest[3]=dest[7]=255; - dest+=psize; + orowstride -= width * psize; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + uyvy2rgb(src, &dest[2], &dest[1], &dest[0], &dest[c], &dest[b], &dest[a]); + if (add_alpha) dest[3] = dest[7] = 255; + dest += psize; src++; } - dest+=orowstride; + dest += orowstride; } } void *convert_uyvy_to_bgr_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_uyvy_to_bgr_frame((uyvy_macropixel *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->orowstrides[0], - (uint8_t *)ccparams->dest,ccparams->out_alpha,ccparams->in_clamped,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_uyvy_to_bgr_frame((uyvy_macropixel *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->orowstrides[0], + (uint8_t *)ccparams->dest, ccparams->out_alpha, ccparams->in_clamped, ccparams->thread_id); return NULL; } static void convert_uyvy_to_argb_frame(uyvy_macropixel *src, int width, int height, int orowstride, uint8_t *dest, boolean clamped, int thread_id) { - register int i,j; - int psize=8; + register int i, j; + int psize = 8; if (LIVES_UNLIKELY(!conv_YR_inited)) init_YUV_to_RGB_tables(); - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); - - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - dheight=CEIL((double)height/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((dheight*i)<height) { + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - ccparams[i].src=src+dheight*i*width; - ccparams[i].hsize=width; - ccparams[i].dest=dest+dheight*i*orowstride; + dheight = CEIL((double)height / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((dheight * i) < height) { + ccparams[i].src = src + dheight * i * width; + ccparams[i].hsize = width; + ccparams[i].dest = dest + dheight * i * orowstride; - if (dheight*(i+1)>(height-4)) { - dheight=height-(dheight*i); + if (dheight * (i + 1) > (height - 4)) { + dheight = height - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; + ccparams[i].orowstrides[0] = orowstride; + ccparams[i].in_clamped = clamped; + ccparams[i].thread_id = i; - ccparams[i].orowstrides[0]=orowstride; - ccparams[i].in_clamped=clamped; - ccparams[i].thread_id=i; - - if (i==0) convert_uyvy_to_argb_frame_thread(&ccparams[i]); + if (i == 0) convert_uyvy_to_argb_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_uyvy_to_argb_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_uyvy_to_argb_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } #if !USE_THREADS - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); #endif - - orowstride-=width*psize; - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - uyvy2rgb(src,&dest[1],&dest[2],&dest[3],&dest[5],&dest[6],&dest[7]); - dest[0]=dest[4]=255; - dest+=psize; + orowstride -= width * psize; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + uyvy2rgb(src, &dest[1], &dest[2], &dest[3], &dest[5], &dest[6], &dest[7]); + dest[0] = dest[4] = 255; + dest += psize; src++; } - dest+=orowstride; + dest += orowstride; } } void *convert_uyvy_to_argb_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_uyvy_to_argb_frame((uyvy_macropixel *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->orowstrides[0], - (uint8_t *)ccparams->dest,ccparams->in_clamped,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_uyvy_to_argb_frame((uyvy_macropixel *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->orowstrides[0], + (uint8_t *)ccparams->dest, ccparams->in_clamped, ccparams->thread_id); return NULL; } static void convert_yuyv_to_rgb_frame(yuyv_macropixel *src, int width, int height, int orowstride, uint8_t *dest, boolean add_alpha, boolean clamped, int thread_id) { - register int i,j; - int psize=6; - int a=3,b=4,c=5; + register int i, j; + int psize = 6; + int a = 3, b = 4, c = 5; if (LIVES_UNLIKELY(!conv_YR_inited)) init_YUV_to_RGB_tables(); - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); - - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - dheight=CEIL((double)height/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((dheight*i)<height) { + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - ccparams[i].src=src+dheight*i*width; - ccparams[i].hsize=width; - ccparams[i].dest=dest+dheight*i*orowstride; + dheight = CEIL((double)height / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((dheight * i) < height) { + ccparams[i].src = src + dheight * i * width; + ccparams[i].hsize = width; + ccparams[i].dest = dest + dheight * i * orowstride; - if (dheight*(i+1)>(height-4)) { - dheight=height-(dheight*i); + if (dheight * (i + 1) > (height - 4)) { + dheight = height - (dheight * i); } + ccparams[i].vsize = dheight; + ccparams[i].orowstrides[0] = orowstride; + ccparams[i].out_alpha = add_alpha; + ccparams[i].in_clamped = clamped; + ccparams[i].thread_id = i; - ccparams[i].vsize=dheight; - ccparams[i].orowstrides[0]=orowstride; - ccparams[i].out_alpha=add_alpha; - ccparams[i].in_clamped=clamped; - ccparams[i].thread_id=i; - - if (i==0) convert_yuyv_to_rgb_frame_thread(&ccparams[i]); + if (i == 0) convert_yuyv_to_rgb_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_yuyv_to_rgb_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_yuyv_to_rgb_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } #if !USE_THREADS - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); #endif if (add_alpha) { - psize=8; - a=4; - b=5; - c=6; + psize = 8; + a = 4; + b = 5; + c = 6; } - orowstride-=width*psize; - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - yuyv2rgb(src,&dest[0],&dest[1],&dest[2],&dest[a],&dest[b],&dest[c]); - if (add_alpha) dest[3]=dest[7]=255; - dest+=psize; + orowstride -= width * psize; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + yuyv2rgb(src, &dest[0], &dest[1], &dest[2], &dest[a], &dest[b], &dest[c]); + if (add_alpha) dest[3] = dest[7] = 255; + dest += psize; src++; } - dest+=orowstride; + dest += orowstride; } } void *convert_yuyv_to_rgb_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_yuyv_to_rgb_frame((yuyv_macropixel *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->orowstrides[0], - (uint8_t *)ccparams->dest,ccparams->out_alpha,ccparams->in_clamped,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_yuyv_to_rgb_frame((yuyv_macropixel *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->orowstrides[0], + (uint8_t *)ccparams->dest, ccparams->out_alpha, ccparams->in_clamped, ccparams->thread_id); return NULL; } static void convert_yuyv_to_bgr_frame(yuyv_macropixel *src, int width, int height, int orowstride, uint8_t *dest, boolean add_alpha, boolean clamped, int thread_id) { - - register int i,j; - int psize=6; - int a=3,b=4,c=5; + register int i, j; + int psize = 6; + int a = 3, b = 4, c = 5; if (LIVES_UNLIKELY(!conv_YR_inited)) init_YUV_to_RGB_tables(); - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); - - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - dheight=CEIL((double)height/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((dheight*i)<height) { + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - ccparams[i].src=src+dheight*i*width; - ccparams[i].hsize=width; - ccparams[i].dest=dest+dheight*i*orowstride; + dheight = CEIL((double)height / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((dheight * i) < height) { + ccparams[i].src = src + dheight * i * width; + ccparams[i].hsize = width; + ccparams[i].dest = dest + dheight * i * orowstride; - if (dheight*(i+1)>(height-4)) { - dheight=height-(dheight*i); + if (dheight * (i + 1) > (height - 4)) { + dheight = height - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; + ccparams[i].orowstrides[0] = orowstride; + ccparams[i].out_alpha = add_alpha; + ccparams[i].in_clamped = clamped; + ccparams[i].thread_id = i; - ccparams[i].orowstrides[0]=orowstride; - ccparams[i].out_alpha=add_alpha; - ccparams[i].in_clamped=clamped; - ccparams[i].thread_id=i; - - if (i==0) convert_yuyv_to_bgr_frame_thread(&ccparams[i]); + if (i == 0) convert_yuyv_to_bgr_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_yuyv_to_bgr_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_yuyv_to_bgr_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } #if !USE_THREADS - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); #endif if (add_alpha) { - psize=8; - a=4; - b=5; - c=6; + psize = 8; + a = 4; + b = 5; + c = 6; } - orowstride-=width*psize; - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - yuyv2rgb(src,&dest[2],&dest[1],&dest[0],&dest[c],&dest[b],&dest[a]); - if (add_alpha) dest[3]=dest[7]=255; - dest+=psize; + orowstride -= width * psize; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + yuyv2rgb(src, &dest[2], &dest[1], &dest[0], &dest[c], &dest[b], &dest[a]); + if (add_alpha) dest[3] = dest[7] = 255; + dest += psize; src++; } - dest+=orowstride; + dest += orowstride; } - } void *convert_yuyv_to_bgr_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_yuyv_to_bgr_frame((yuyv_macropixel *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->orowstrides[0], - (uint8_t *)ccparams->dest,ccparams->out_alpha,ccparams->in_clamped,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_yuyv_to_bgr_frame((yuyv_macropixel *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->orowstrides[0], + (uint8_t *)ccparams->dest, ccparams->out_alpha, ccparams->in_clamped, ccparams->thread_id); return NULL; } static void convert_yuyv_to_argb_frame(yuyv_macropixel *src, int width, int height, int orowstride, uint8_t *dest, boolean clamped, int thread_id) { - register int i,j; - int psize=8; + register int i, j; + int psize = 8; if (LIVES_UNLIKELY(!conv_YR_inited)) init_YUV_to_RGB_tables(); - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); - - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - dheight=CEIL((double)height/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((dheight*i)<height) { + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - ccparams[i].src=src+dheight*i*width; - ccparams[i].hsize=width; - ccparams[i].dest=dest+dheight*i*orowstride; + dheight = CEIL((double)height / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((dheight * i) < height) { + ccparams[i].src = src + dheight * i * width; + ccparams[i].hsize = width; + ccparams[i].dest = dest + dheight * i * orowstride; - if (dheight*(i+1)>(height-4)) { - dheight=height-(dheight*i); + if (dheight * (i + 1) > (height - 4)) { + dheight = height - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; + ccparams[i].orowstrides[0] = orowstride; + ccparams[i].in_clamped = clamped; + ccparams[i].thread_id = i; - ccparams[i].orowstrides[0]=orowstride; - ccparams[i].in_clamped=clamped; - ccparams[i].thread_id=i; - - if (i==0) convert_yuyv_to_argb_frame_thread(&ccparams[i]); + if (i == 0) convert_yuyv_to_argb_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_yuyv_to_argb_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_yuyv_to_argb_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } #if !USE_THREADS - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); #endif - - orowstride-=width*psize; - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - yuyv2rgb(src,&dest[1],&dest[2],&dest[3],&dest[5],&dest[6],&dest[7]); - dest[0]=dest[4]=255; - dest+=psize; + orowstride -= width * psize; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + yuyv2rgb(src, &dest[1], &dest[2], &dest[3], &dest[5], &dest[6], &dest[7]); + dest[0] = dest[4] = 255; + dest += psize; src++; } - dest+=orowstride; + dest += orowstride; } } void *convert_yuyv_to_argb_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_yuyv_to_argb_frame((yuyv_macropixel *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->orowstrides[0], - (uint8_t *)ccparams->dest,ccparams->in_clamped,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_yuyv_to_argb_frame((yuyv_macropixel *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->orowstrides[0], + (uint8_t *)ccparams->dest, ccparams->in_clamped, ccparams->thread_id); return NULL; } static void convert_yuv420_to_uyvy_frame(uint8_t **src, int width, int height, uyvy_macropixel *dest, boolean clamped) { - register int i=0,j; - uint8_t *y,*u,*v,*end; - int hwidth=width>>1; - boolean chroma=TRUE; + register int i = 0, j; + uint8_t *y, *u, *v, *end; + int hwidth = width >> 1; + boolean chroma = TRUE; // TODO - handle different in sampling types if (!avg_inited) init_average(); - y=src[0]; - u=src[1]; - v=src[2]; - - end=y+width*height; - - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); - - while (y<end) { - for (j=0; j<hwidth; j++) { - dest->u0=u[0]; - dest->y0=y[0]; - dest->v0=v[0]; - dest->y1=y[1]; - - if (chroma&&i>0) { - dest[-hwidth].u0=avg_chroma(dest[-hwidth].u0,u[0]); - dest[-hwidth].v0=avg_chroma(dest[-hwidth].v0,v[0]); + y = src[0]; + u = src[1]; + v = src[2]; + + end = y + width * height; + + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); + + while (y < end) { + for (j = 0; j < hwidth; j++) { + dest->u0 = u[0]; + dest->y0 = y[0]; + dest->v0 = v[0]; + dest->y1 = y[1]; + + if (chroma && i > 0) { + dest[-hwidth].u0 = avg_chroma(dest[-hwidth].u0, u[0]); + dest[-hwidth].v0 = avg_chroma(dest[-hwidth].v0, v[0]); } dest++; - y+=2; + y += 2; u++; v++; } if (chroma) { - u-=hwidth; - v-=hwidth; + u -= hwidth; + v -= hwidth; } - chroma=!chroma; + chroma = !chroma; i++; } } static void convert_yuv420_to_yuyv_frame(uint8_t **src, int width, int height, yuyv_macropixel *dest, boolean clamped) { - register int i=0,j; - uint8_t *y,*u,*v,*end; - int hwidth=width>>1; - boolean chroma=TRUE; + register int i = 0, j; + uint8_t *y, *u, *v, *end; + int hwidth = width >> 1; + boolean chroma = TRUE; // TODO - handle different in sampling types if (!avg_inited) init_average(); - y=src[0]; - u=src[1]; - v=src[2]; - - end=y+width*height; - - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); - - while (y<end) { - for (j=0; j<hwidth; j++) { - dest->y0=y[0]; - dest->u0=u[0]; - dest->y1=y[1]; - dest->v0=v[0]; - - if (chroma&&i>0) { - dest[-hwidth].u0=avg_chroma(dest[-hwidth].u0,u[0]); - dest[-hwidth].v0=avg_chroma(dest[-hwidth].v0,v[0]); + y = src[0]; + u = src[1]; + v = src[2]; + + end = y + width * height; + + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); + + while (y < end) { + for (j = 0; j < hwidth; j++) { + dest->y0 = y[0]; + dest->u0 = u[0]; + dest->y1 = y[1]; + dest->v0 = v[0]; + + if (chroma && i > 0) { + dest[-hwidth].u0 = avg_chroma(dest[-hwidth].u0, u[0]); + dest[-hwidth].v0 = avg_chroma(dest[-hwidth].v0, v[0]); } dest++; - y+=2; + y += 2; u++; v++; } if (chroma) { - u-=hwidth; - v-=hwidth; + u -= hwidth; + v -= hwidth; } - chroma=!chroma; + chroma = !chroma; i++; } } @@ -3990,299 +3848,291 @@ static void convert_yuv_planar_to_rgb_frame(uint8_t **src, int width, int height, int orowstride, uint8_t *dest, boolean in_alpha, boolean out_alpha, boolean clamped, int thread_id) { - uint8_t *y=src[0]; - uint8_t *u=src[1]; - uint8_t *v=src[2]; - uint8_t *a=NULL; + uint8_t *y = src[0]; + uint8_t *u = src[1]; + uint8_t *v = src[2]; + uint8_t *a = NULL; - uint8_t *end=y+width*height; + uint8_t *end = y + width * height; - size_t opstep=3,rowstride; - register int i,j; + size_t opstep = 3, rowstride; + register int i, j; if (LIVES_UNLIKELY(!conv_YR_inited)) init_YUV_to_RGB_tables(); - if (in_alpha) a=src[3]; + if (in_alpha) a = src[3]; - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - dheight=CEIL((double)height/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((y+dheight*i*width)<end) { + dheight = CEIL((double)height / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((y + dheight * i * width) < end) { + ccparams[i].hsize = width; - ccparams[i].hsize=width; + ccparams[i].srcp[0] = y + dheight * i * width; + ccparams[i].srcp[1] = u + dheight * i * width; + ccparams[i].srcp[2] = v + dheight * i * width; + if (in_alpha) ccparams[i].srcp[3] = a + dheight * i * width; - ccparams[i].srcp[0]=y+dheight*i*width; - ccparams[i].srcp[1]=u+dheight*i*width; - ccparams[i].srcp[2]=v+dheight*i*width; - if (in_alpha) ccparams[i].srcp[3]=a+dheight*i*width; + ccparams[i].dest = dest + dheight * i * orowstride; - ccparams[i].dest=dest+dheight*i*orowstride; - - if (dheight*(i+1)>(height-4)) { - dheight=height-(dheight*i); + if (dheight * (i + 1) > (height - 4)) { + dheight = height - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; - - ccparams[i].orowstrides[0]=orowstride; - ccparams[i].in_alpha=in_alpha; - ccparams[i].out_alpha=out_alpha; - ccparams[i].out_clamped=clamped; - ccparams[i].thread_id=i; + ccparams[i].orowstrides[0] = orowstride; + ccparams[i].in_alpha = in_alpha; + ccparams[i].out_alpha = out_alpha; + ccparams[i].out_clamped = clamped; + ccparams[i].thread_id = i; - if (i==0) convert_yuv_planar_to_rgb_frame_thread(&ccparams[i]); + if (i == 0) convert_yuv_planar_to_rgb_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_yuv_planar_to_rgb_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_yuv_planar_to_rgb_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } #if !USE_THREADS - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); #endif - if (out_alpha) opstep=4; + if (out_alpha) opstep = 4; - rowstride=orowstride-width*opstep; + rowstride = orowstride - width * opstep; - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - yuv2rgb(*(y++),*(u++),*(v++),&dest[0],&dest[1],&dest[2]); + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + yuv2rgb(*(y++), *(u++), *(v++), &dest[0], &dest[1], &dest[2]); if (out_alpha) { if (in_alpha) { - dest[3]=*(a++); - } else dest[3]=255; + dest[3] = *(a++); + } else dest[3] = 255; } - dest+=opstep; + dest += opstep; } - dest+=rowstride; + dest += rowstride; } } + void *convert_yuv_planar_to_rgb_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_yuv_planar_to_rgb_frame((uint8_t **)ccparams->srcp,ccparams->hsize,ccparams->vsize,ccparams->orowstrides[0], - (uint8_t *)ccparams->dest,ccparams->in_alpha,ccparams->out_alpha, - ccparams->in_clamped,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_yuv_planar_to_rgb_frame((uint8_t **)ccparams->srcp, ccparams->hsize, ccparams->vsize, ccparams->orowstrides[0], + (uint8_t *)ccparams->dest, ccparams->in_alpha, ccparams->out_alpha, + ccparams->in_clamped, ccparams->thread_id); return NULL; } static void convert_yuv_planar_to_bgr_frame(uint8_t **src, int width, int height, int orowstride, uint8_t *dest, boolean in_alpha, boolean out_alpha, boolean clamped, int thread_id) { - uint8_t *y=src[0]; - uint8_t *u=src[1]; - uint8_t *v=src[2]; - uint8_t *a=NULL; + uint8_t *y = src[0]; + uint8_t *u = src[1]; + uint8_t *v = src[2]; + uint8_t *a = NULL; - uint8_t *end=y+width*height; + uint8_t *end = y + width * height; - size_t opstep=4,rowstride; - register int i,j; + size_t opstep = 4, rowstride; + register int i, j; if (LIVES_UNLIKELY(!conv_YR_inited)) init_YUV_to_RGB_tables(); - if (in_alpha) a=src[3]; + if (in_alpha) a = src[3]; - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - dheight=CEIL((double)height/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((y+dheight*i*width)<end) { + dheight = CEIL((double)height / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((y + dheight * i * width) < end) { + ccparams[i].hsize = width; - ccparams[i].hsize=width; + ccparams[i].srcp[0] = y + dheight * i * width; + ccparams[i].srcp[1] = u + dheight * i * width; + ccparams[i].srcp[2] = v + dheight * i * width; + if (in_alpha) ccparams[i].srcp[3] = a + dheight * i * width; - ccparams[i].srcp[0]=y+dheight*i*width; - ccparams[i].srcp[1]=u+dheight*i*width; - ccparams[i].srcp[2]=v+dheight*i*width; - if (in_alpha) ccparams[i].srcp[3]=a+dheight*i*width; + ccparams[i].dest = dest + dheight * i * orowstride; - ccparams[i].dest=dest+dheight*i*orowstride; - - if (dheight*(i+1)>(height-4)) { - dheight=height-(dheight*i); + if (dheight * (i + 1) > (height - 4)) { + dheight = height - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; - - ccparams[i].orowstrides[0]=orowstride; - ccparams[i].in_alpha=in_alpha; - ccparams[i].out_alpha=out_alpha; - ccparams[i].out_clamped=clamped; - ccparams[i].thread_id=i; + ccparams[i].orowstrides[0] = orowstride; + ccparams[i].in_alpha = in_alpha; + ccparams[i].out_alpha = out_alpha; + ccparams[i].out_clamped = clamped; + ccparams[i].thread_id = i; - if (i==0) convert_yuv_planar_to_bgr_frame_thread(&ccparams[i]); + if (i == 0) convert_yuv_planar_to_bgr_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_yuv_planar_to_bgr_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_yuv_planar_to_bgr_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } #if !USE_THREADS - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); #endif - rowstride=orowstride-width*opstep; + rowstride = orowstride - width * opstep; - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - yuv2rgb(*(y++),*(u++),*(v++),&dest[2],&dest[1],&dest[0]); + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + yuv2rgb(*(y++), *(u++), *(v++), &dest[2], &dest[1], &dest[0]); if (out_alpha) { if (in_alpha) { - dest[3]=*(a++); - } else dest[3]=255; + dest[3] = *(a++); + } else dest[3] = 255; } - dest+=opstep; + dest += opstep; } - dest+=rowstride; + dest += rowstride; } } void *convert_yuv_planar_to_bgr_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_yuv_planar_to_bgr_frame((uint8_t **)ccparams->srcp,ccparams->hsize,ccparams->vsize,ccparams->orowstrides[0], - (uint8_t *)ccparams->dest,ccparams->in_alpha,ccparams->out_alpha, - ccparams->in_clamped,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_yuv_planar_to_bgr_frame((uint8_t **)ccparams->srcp, ccparams->hsize, ccparams->vsize, ccparams->orowstrides[0], + (uint8_t *)ccparams->dest, ccparams->in_alpha, ccparams->out_alpha, + ccparams->in_clamped, ccparams->thread_id); return NULL; } - static void convert_yuv_planar_to_argb_frame(uint8_t **src, int width, int height, int orowstride, uint8_t *dest, boolean in_alpha, boolean clamped, int thread_id) { - uint8_t *y=src[0]; - uint8_t *u=src[1]; - uint8_t *v=src[2]; - uint8_t *a=NULL; + uint8_t *y = src[0]; + uint8_t *u = src[1]; + uint8_t *v = src[2]; + uint8_t *a = NULL; - uint8_t *end=y+width*height; + uint8_t *end = y + width * height; - size_t opstep=4,rowstride; - register int i,j; + size_t opstep = 4, rowstride; + register int i, j; if (LIVES_UNLIKELY(!conv_YR_inited)) init_YUV_to_RGB_tables(); - if (in_alpha) a=src[3]; + if (in_alpha) a = src[3]; - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - dheight=CEIL((double)height/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((y+dheight*i*width)<end) { + dheight = CEIL((double)height / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((y + dheight * i * width) < end) { + ccparams[i].hsize = width; - ccparams[i].hsize=width; + ccparams[i].srcp[0] = y + dheight * i * width; + ccparams[i].srcp[1] = u + dheight * i * width; + ccparams[i].srcp[2] = v + dheight * i * width; + if (in_alpha) ccparams[i].srcp[3] = a + dheight * i * width; - ccparams[i].srcp[0]=y+dheight*i*width; - ccparams[i].srcp[1]=u+dheight*i*width; - ccparams[i].srcp[2]=v+dheight*i*width; - if (in_alpha) ccparams[i].srcp[3]=a+dheight*i*width; + ccparams[i].dest = dest + dheight * i * orowstride; - ccparams[i].dest=dest+dheight*i*orowstride; - - if (dheight*(i+1)>(height-4)) { - dheight=height-(dheight*i); + if (dheight * (i + 1) > (height - 4)) { + dheight = height - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; - - ccparams[i].orowstrides[0]=orowstride; - ccparams[i].in_alpha=in_alpha; - ccparams[i].out_clamped=clamped; - ccparams[i].thread_id=i; + ccparams[i].orowstrides[0] = orowstride; + ccparams[i].in_alpha = in_alpha; + ccparams[i].out_clamped = clamped; + ccparams[i].thread_id = i; - if (i==0) convert_yuv_planar_to_argb_frame_thread(&ccparams[i]); + if (i == 0) convert_yuv_planar_to_argb_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_yuv_planar_to_argb_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_yuv_planar_to_argb_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } - rowstride=orowstride-width*opstep; + rowstride = orowstride - width * opstep; - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - yuv2rgb(*(y++),*(u++),*(v++),&dest[1],&dest[2],&dest[3]); + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + yuv2rgb(*(y++), *(u++), *(v++), &dest[1], &dest[2], &dest[3]); if (in_alpha) { - dest[0]=*(a++); - } else dest[0]=255; - dest+=opstep; + dest[0] = *(a++); + } else dest[0] = 255; + dest += opstep; } - dest+=rowstride; + dest += rowstride; } } void *convert_yuv_planar_to_argb_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_yuv_planar_to_argb_frame((uint8_t **)ccparams->srcp,ccparams->hsize,ccparams->vsize,ccparams->orowstrides[0], - (uint8_t *)ccparams->dest,ccparams->in_alpha,ccparams->in_clamped,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_yuv_planar_to_argb_frame((uint8_t **)ccparams->srcp, ccparams->hsize, ccparams->vsize, ccparams->orowstrides[0], + (uint8_t *)ccparams->dest, ccparams->in_alpha, ccparams->in_clamped, ccparams->thread_id); return NULL; } - - static void convert_yuv_planar_to_uyvy_frame(uint8_t **src, int width, int height, uyvy_macropixel *uyvy, boolean clamped) { register int x; - int size=(width*height)>>1; + int size = (width * height) >> 1; - uint8_t *y=src[0]; - uint8_t *u=src[1]; - uint8_t *v=src[2]; + uint8_t *y = src[0]; + uint8_t *u = src[1]; + uint8_t *v = src[2]; - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - for (x=0; x<size; x++) { + for (x = 0; x < size; x++) { // subsample two u pixels - uyvy->u0=avg_chroma(u[0],u[1]); - u+=2; - uyvy->y0=*(y++); + uyvy->u0 = avg_chroma(u[0], u[1]); + u += 2; + uyvy->y0 = *(y++); // subsample 2 v pixels - uyvy->v0=avg_chroma(v[0],v[1]); - v+=2; - uyvy->y1=*(y++); + uyvy->v0 = avg_chroma(v[0], v[1]); + v += 2; + uyvy->y1 = *(y++); uyvy++; } } @@ -4290,21 +4140,21 @@ static void convert_yuv_planar_to_yuyv_frame(uint8_t **src, int width, int height, yuyv_macropixel *yuyv, boolean clamped) { register int x; - int hsize=(width*height)>>1; + int hsize = (width * height) >> 1; - uint8_t *y=src[0]; - uint8_t *u=src[1]; - uint8_t *v=src[2]; - - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); - - for (x=0; x<hsize; x++) { - yuyv->y0=*(y++); - yuyv->u0=avg_chroma(u[0],u[1]); - u+=2; - yuyv->y1=*(y++); - yuyv->v0=avg_chroma(v[0],v[1]); - v+=2; + uint8_t *y = src[0]; + uint8_t *u = src[1]; + uint8_t *v = src[2]; + + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); + + for (x = 0; x < hsize; x++) { + yuyv->y0 = *(y++); + yuyv->u0 = avg_chroma(u[0], u[1]); + u += 2; + yuyv->y1 = *(y++); + yuyv->v0 = avg_chroma(v[0], v[1]); + v += 2; yuyv++; } } @@ -4316,50 +4166,49 @@ // e.g yuv444(4)p to yuv888(8) - int size=width*height; + int size = width * height; - uint8_t *y=src[0]; - uint8_t *u=src[1]; - uint8_t *v=src[2]; - uint8_t *a=NULL; + uint8_t *y = src[0]; + uint8_t *u = src[1]; + uint8_t *v = src[2]; + uint8_t *a = NULL; register int x; - if (in_alpha) a=src[3]; + if (in_alpha) a = src[3]; - for (x=0; x<size; x++) { - *(dest++)=*(y++); - *(dest++)=*(u++); - *(dest++)=*(v++); + for (x = 0; x < size; x++) { + *(dest++) = *(y++); + *(dest++) = *(u++); + *(dest++) = *(v++); if (out_alpha) { - if (in_alpha) *(dest++)=*(a++); - else *(dest++)=255; + if (in_alpha) *(dest++) = *(a++); + else *(dest++) = 255; } } } static void convert_yuvap_to_yuvp_frame(uint8_t **src, int width, int height, uint8_t **dest) { - size_t size=width*height; - - uint8_t *ys=src[0]; - uint8_t *us=src[1]; - uint8_t *vs=src[2]; - - uint8_t *yd=dest[0]; - uint8_t *ud=dest[1]; - uint8_t *vd=dest[2]; - - if (yd!=ys) lives_memcpy(yd,ys,size); - if (ud!=us) lives_memcpy(ud,us,size); - if (vd!=vs) lives_memcpy(vd,vs,size); + size_t size = width * height; + uint8_t *ys = src[0]; + uint8_t *us = src[1]; + uint8_t *vs = src[2]; + + uint8_t *yd = dest[0]; + uint8_t *ud = dest[1]; + uint8_t *vd = dest[2]; + + if (yd != ys) lives_memcpy(yd, ys, size); + if (ud != us) lives_memcpy(ud, us, size); + if (vd != vs) lives_memcpy(vd, vs, size); } static void convert_yuvp_to_yuvap_frame(uint8_t **src, int width, int height, uint8_t **dest) { - convert_yuvap_to_yuvp_frame(src,width,height,dest); - memset(dest[3],255,width*height); + convert_yuvap_to_yuvp_frame(src, width, height, dest); + memset(dest[3], 255, width * height); } @@ -4372,45 +4221,44 @@ // y-plane should be copied before entering here - register int i,j; - uint8_t *d_u,*d_v,*s_u=src[1],*s_v=src[2]; - register short x_u,x_v; - boolean chroma=FALSE; + register int i, j; + uint8_t *d_u, *d_v, *s_u = src[1], *s_v = src[2]; + register short x_u, x_v; + boolean chroma = FALSE; - int hwidth=width>>1; + int hwidth = width >> 1; - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - if (dest[0]!=src[0]) lives_memcpy(dest[0],src[0],width*height); + if (dest[0] != src[0]) lives_memcpy(dest[0], src[0], width * height); - d_u=dest[1]; - d_v=dest[2]; - - for (i=0; i<height; i++) { - for (j=0; j<hwidth; j++) { + d_u = dest[1]; + d_v = dest[2]; + for (i = 0; i < height; i++) { + for (j = 0; j < hwidth; j++) { if (!chroma) { // pass 1, copy row // average two dest pixels - d_u[j]=avg_chroma(s_u[j*2],s_u[j*2+1]); - d_v[j]=avg_chroma(s_v[j*2],s_v[j*2+1]); + d_u[j] = avg_chroma(s_u[j * 2], s_u[j * 2 + 1]); + d_v[j] = avg_chroma(s_v[j * 2], s_v[j * 2 + 1]); } else { // pass 2 // average two dest pixels - x_u=avg_chroma(s_u[j*2],s_u[j*2+1]); - x_v=avg_chroma(s_v[j*2],s_v[j*2+1]); + x_u = avg_chroma(s_u[j * 2], s_u[j * 2 + 1]); + x_v = avg_chroma(s_v[j * 2], s_v[j * 2 + 1]); // average two dest rows - d_u[j]=avg_chroma(d_u[j],x_u); - d_v[j]=avg_chroma(d_v[j],x_v); + d_u[j] = avg_chroma(d_u[j], x_u); + d_v[j] = avg_chroma(d_v[j], x_v); } } if (chroma) { - d_u+=hwidth; - d_v+=hwidth; + d_u += hwidth; + d_v += hwidth; } - chroma=!chroma; - s_u+=width; - s_v+=width; + chroma = !chroma; + s_u += width; + s_v += width; } } @@ -4421,38 +4269,38 @@ // convert 444p to 411 packed // TODO - handle different output sampling types - register int i,j; - uint8_t *s_y=src[0],*s_u=src[1],*s_v=src[2]; - register short x_u,x_v; + register int i, j; + uint8_t *s_y = src[0], *s_u = src[1], *s_v = src[2]; + register short x_u, x_v; - int widtha=(width>>1)<<1; // cut rightmost odd bytes - int cbytes=width-widtha; + int widtha = (width >> 1) << 1; // cut rightmost odd bytes + int cbytes = width - widtha; - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - for (i=0; i<height; i++) { - for (j=0; j<widtha; j+=4) { + for (i = 0; i < height; i++) { + for (j = 0; j < widtha; j += 4) { // average four dest pixels - yuv->u2=avg_chroma(s_u[0],s_u[1]); - x_u=avg_chroma(s_u[2],s_u[3]); - yuv->u2=avg_chroma(yuv->u2,x_u); + yuv->u2 = avg_chroma(s_u[0], s_u[1]); + x_u = avg_chroma(s_u[2], s_u[3]); + yuv->u2 = avg_chroma(yuv->u2, x_u); - s_u+=4; + s_u += 4; - yuv->y0=*(s_y++); - yuv->y1=*(s_y++); + yuv->y0 = *(s_y++); + yuv->y1 = *(s_y++); - yuv->v2=avg_chroma(s_v[0],s_v[1]); - x_v=avg_chroma(s_v[2],s_v[3]); - yuv->v2=avg_chroma(yuv->v2,x_v); + yuv->v2 = avg_chroma(s_v[0], s_v[1]); + x_v = avg_chroma(s_v[2], s_v[3]); + yuv->v2 = avg_chroma(yuv->v2, x_v); - s_v+=4; + s_v += 4; - yuv->y2=*(s_y++); - yuv->y3=*(s_y++); + yuv->y2 = *(s_y++); + yuv->y3 = *(s_y++); } - s_u+=cbytes; - s_v+=cbytes; + s_u += cbytes; + s_v += cbytes; } } @@ -4460,87 +4308,87 @@ static void convert_uyvy_to_yuvp_frame(uyvy_macropixel *uyvy, int width, int height, uint8_t **dest, boolean add_alpha) { // TODO - avg_chroma - int size=width*height; + int size = width * height; register int x; - uint8_t *y=dest[0]; - uint8_t *u=dest[1]; - uint8_t *v=dest[2]; - - for (x=0; x<size; x++) { - *(u++)=uyvy->u0; - *(u++)=uyvy->u0; - *(y++)=uyvy->y0; - *(v++)=uyvy->v0; - *(v++)=uyvy->v0; - *(y++)=uyvy->y1; + uint8_t *y = dest[0]; + uint8_t *u = dest[1]; + uint8_t *v = dest[2]; + + for (x = 0; x < size; x++) { + *(u++) = uyvy->u0; + *(u++) = uyvy->u0; + *(y++) = uyvy->y0; + *(v++) = uyvy->v0; + *(v++) = uyvy->v0; + *(y++) = uyvy->y1; uyvy++; } - if (add_alpha) memset(dest[3],255,size*2); + if (add_alpha) memset(dest[3], 255, size * 2); } static void convert_yuyv_to_yuvp_frame(yuyv_macropixel *yuyv, int width, int height, uint8_t **dest, boolean add_alpha) { // TODO - subsampling - int size=width*height; + int size = width * height; register int x; - uint8_t *y=dest[0]; - uint8_t *u=dest[1]; - uint8_t *v=dest[2]; - - for (x=0; x<size; x++) { - *(y++)=yuyv->y0; - *(u++)=yuyv->u0; - *(u++)=yuyv->u0; - *(y++)=yuyv->y1; - *(v++)=yuyv->v0; - *(v++)=yuyv->v0; + uint8_t *y = dest[0]; + uint8_t *u = dest[1]; + uint8_t *v = dest[2]; + + for (x = 0; x < size; x++) { + *(y++) = yuyv->y0; + *(u++) = yuyv->u0; + *(u++) = yuyv->u0; + *(y++) = yuyv->y1; + *(v++) = yuyv->v0; + *(v++) = yuyv->v0; yuyv++; } - if (add_alpha) memset(dest[3],255,size*2); + if (add_alpha) memset(dest[3], 255, size * 2); } static void convert_uyvy_to_yuv888_frame(uyvy_macropixel *uyvy, int width, int height, uint8_t *yuv, boolean add_alpha) { - int size=width*height; + int size = width * height; register int x; // double chroma horizontally, no subsampling // no subsampling : TODO - for (x=0; x<size; x++) { - *(yuv++)=uyvy->y0; - *(yuv++)=uyvy->u0; - *(yuv++)=uyvy->v0; - if (add_alpha) *(yuv++)=255; - *(yuv++)=uyvy->y1; - *(yuv++)=uyvy->u0; - *(yuv++)=uyvy->v0; - if (add_alpha) *(yuv++)=255; + for (x = 0; x < size; x++) { + *(yuv++) = uyvy->y0; + *(yuv++) = uyvy->u0; + *(yuv++) = uyvy->v0; + if (add_alpha) *(yuv++) = 255; + *(yuv++) = uyvy->y1; + *(yuv++) = uyvy->u0; + *(yuv++) = uyvy->v0; + if (add_alpha) *(yuv++) = 255; uyvy++; } } static void convert_yuyv_to_yuv888_frame(yuyv_macropixel *yuyv, int width, int height, uint8_t *yuv, boolean add_alpha) { - int size=width*height; + int size = width * height; register int x; // no subsampling : TODO - for (x=0; x<size; x++) { - *(yuv++)=yuyv->y0; - *(yuv++)=yuyv->u0; - *(yuv++)=yuyv->v0; - if (add_alpha) *(yuv++)=255; - *(yuv++)=yuyv->y1; - *(yuv++)=yuyv->u0; - *(yuv++)=yuyv->v0; - if (add_alpha) *(yuv++)=255; + for (x = 0; x < size; x++) { + *(yuv++) = yuyv->y0; + *(yuv++) = yuyv->u0; + *(yuv++) = yuyv->v0; + if (add_alpha) *(yuv++) = 255; + *(yuv++) = yuyv->y1; + *(yuv++) = yuyv->u0; + *(yuv++) = yuyv->v0; + if (add_alpha) *(yuv++) = 255; yuyv++; } } @@ -4553,37 +4401,37 @@ register int j; - uint8_t *y=yuv[0]; - uint8_t *u=yuv[1]; - uint8_t *v=yuv[2]; + uint8_t *y = yuv[0]; + uint8_t *u = yuv[1]; + uint8_t *v = yuv[2]; - boolean chroma=TRUE; + boolean chroma = TRUE; - uint8_t *end=y+width*height*2; + uint8_t *end = y + width * height * 2; - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - while (y<end) { - for (j=0; j<width; j++) { - if (chroma) *(u++)=uyvy->u0; + while (y < end) { + for (j = 0; j < width; j++) { + if (chroma) *(u++) = uyvy->u0; else { - *u=avg_chroma(*u,uyvy->u0); + *u = avg_chroma(*u, uyvy->u0); u++; } - *(y++)=uyvy->y0; - if (chroma) *(v++)=uyvy->v0; + *(y++) = uyvy->y0; + if (chroma) *(v++) = uyvy->v0; else { - *v=avg_chroma(*v,uyvy->v0); + *v = avg_chroma(*v, uyvy->v0); v++; } - *(y++)=uyvy->y1; + *(y++) = uyvy->y1; uyvy++; } if (chroma) { - u-=width; - v-=width; + u -= width; + v -= width; } - chroma=!chroma; + chroma = !chroma; } } @@ -4595,37 +4443,37 @@ register int j; - uint8_t *y=yuv[0]; - uint8_t *u=yuv[1]; - uint8_t *v=yuv[2]; + uint8_t *y = yuv[0]; + uint8_t *u = yuv[1]; + uint8_t *v = yuv[2]; - boolean chroma=TRUE; + boolean chroma = TRUE; - uint8_t *end=y+width*height*2; + uint8_t *end = y + width * height * 2; - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - while (y<end) { - for (j=0; j<width; j++) { - *(y++)=yuyv->y0; - if (chroma) *(u++)=yuyv->u0; + while (y < end) { + for (j = 0; j < width; j++) { + *(y++) = yuyv->y0; + if (chroma) *(u++) = yuyv->u0; else { - *u=avg_chroma(*u,yuyv->u0); + *u = avg_chroma(*u, yuyv->u0); u++; } - *(y++)=yuyv->y1; - if (chroma) *(v++)=yuyv->v0; + *(y++) = yuyv->y1; + if (chroma) *(v++) = yuyv->v0; else { - *v=avg_chroma(*v,yuyv->v0); + *v = avg_chroma(*v, yuyv->v0); v++; } yuyv++; } if (chroma) { - u-=width; - v-=width; + u -= width; + v -= width; } - chroma=!chroma; + chroma = !chroma; } } @@ -4634,27 +4482,27 @@ boolean clamped) { // subsample chroma horizontally - uyvy_macropixel *end=uyvy+width*height; + uyvy_macropixel *end = uyvy + width * height; register int x; - int widtha=(width<<1)>>1; - size_t cbytes=width-widtha; + int widtha = (width << 1) >> 1; + size_t cbytes = width - widtha; - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - for (; uyvy<end; uyvy+=cbytes) { - for (x=0; x<widtha; x+=2) { - yuv->u2=avg_chroma(uyvy[0].u0,uyvy[1].u0); + for (; uyvy < end; uyvy += cbytes) { + for (x = 0; x < widtha; x += 2) { + yuv->u2 = avg_chroma(uyvy[0].u0, uyvy[1].u0); - yuv->y0=uyvy[0].y0; - yuv->y1=uyvy[0].y1; + yuv->y0 = uyvy[0].y0; + yuv->y1 = uyvy[0].y1; - yuv->v2=avg_chroma(uyvy[0].v0,uyvy[1].v0); + yuv->v2 = avg_chroma(uyvy[0].v0, uyvy[1].v0); - yuv->y2=uyvy[1].y0; - yuv->y3=uyvy[1].y1; + yuv->y2 = uyvy[1].y0; + yuv->y3 = uyvy[1].y1; - uyvy+=2; + uyvy += 2; yuv++; } } @@ -4667,32 +4515,33 @@ // TODO - handle different sampling types - yuyv_macropixel *end=yuyv+width*height; + yuyv_macropixel *end = yuyv + width * height; register int x; - int widtha=(width<<1)>>1; - size_t cybtes=width-widtha; + int widtha = (width << 1) >> 1; + size_t cybtes = width - widtha; - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - for (; yuyv<end; yuyv+=cybtes) { - for (x=0; x<widtha; x+=2) { - yuv->u2=avg_chroma(yuyv[0].u0,yuyv[1].u0); + for (; yuyv < end; yuyv += cybtes) { + for (x = 0; x < widtha; x += 2) { + yuv->u2 = avg_chroma(yuyv[0].u0, yuyv[1].u0); - yuv->y0=yuyv[0].y0; - yuv->y1=yuyv[0].y1; + yuv->y0 = yuyv[0].y0; + yuv->y1 = yuyv[0].y1; - yuv->v2=avg_chroma(yuyv[0].v0,yuyv[1].v0); + yuv->v2 = avg_chroma(yuyv[0].v0, yuyv[1].v0); - yuv->y2=yuyv[1].y0; - yuv->y3=yuyv[1].y1; + yuv->y2 = yuyv[1].y0; + yuv->y3 = yuyv[1].y1; - yuyv+=2; + yuyv += 2; yuv++; } } } + static void convert_yuv888_to_yuv420_frame(uint8_t *yuv8, int width, int height, int irowstride, uint8_t **yuv4, boolean src_alpha, boolean clamped) { // subsample vertically and horizontally @@ -4706,82 +4555,83 @@ // TESTED ! register int j; - register short x_u,x_v; + register short x_u, x_v; - uint8_t *d_y,*d_u,*d_v,*end; + uint8_t *d_y, *d_u, *d_v, *end; - boolean chroma=TRUE; + boolean chroma = TRUE; - size_t hwidth=width>>1,ipsize=3,ipsize2; + size_t hwidth = width >> 1, ipsize = 3, ipsize2; int widthx; - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - if (src_alpha) ipsize=4; + if (src_alpha) ipsize = 4; - d_y=yuv4[0]; - d_u=yuv4[1]; - d_v=yuv4[2]; - - end=d_y+width*height; - ipsize2=ipsize*2; - widthx=width*ipsize; - - while (d_y<end) { - for (j=0; j<widthx; j+=ipsize2) { - *(d_y++)=yuv8[j]; - *(d_y++)=yuv8[j+ipsize]; + d_y = yuv4[0]; + d_u = yuv4[1]; + d_v = yuv4[2]; + + end = d_y + width * height; + ipsize2 = ipsize * 2; + widthx = width * ipsize; + + while (d_y < end) { + for (j = 0; j < widthx; j += ipsize2) { + *(d_y++) = yuv8[j]; + *(d_y++) = yuv8[j + ipsize]; if (chroma) { - *(d_u++)=avg_chroma(yuv8[j+1],yuv8[j+1+ipsize]); - *(d_v++)=avg_chroma(yuv8[j+2],yuv8[j+2+ipsize]); + *(d_u++) = avg_chroma(yuv8[j + 1], yuv8[j + 1 + ipsize]); + *(d_v++) = avg_chroma(yuv8[j + 2], yuv8[j + 2 + ipsize]); } else { - x_u=avg_chroma(yuv8[j+1],yuv8[j+1+ipsize]); - *d_u=avg_chroma(*d_u,x_u); + x_u = avg_chroma(yuv8[j + 1], yuv8[j + 1 + ipsize]); + *d_u = avg_chroma(*d_u, x_u); d_u++; - x_v=avg_chroma(yuv8[j+2],yuv8[j+2+ipsize]); - *d_v=avg_chroma(*d_v,x_v); + x_v = avg_chroma(yuv8[j + 2], yuv8[j + 2 + ipsize]); + *d_v = avg_chroma(*d_v, x_v); d_v++; } } if (chroma) { - d_u-=hwidth; - d_v-=hwidth; + d_u -= hwidth; + d_v -= hwidth; } - chroma=!chroma; - yuv8+=irowstride; + chroma = !chroma; + yuv8 += irowstride; } } static void convert_uyvy_to_yuv422_frame(uyvy_macropixel *uyvy, int width, int height, uint8_t **yuv) { - int size=width*height; // y is twice this, u and v are equal + int size = width * height; // y is twice this, u and v are equal - uint8_t *y=yuv[0]; - uint8_t *u=yuv[1]; - uint8_t *v=yuv[2]; + uint8_t *y = yuv[0]; + uint8_t *u = yuv[1]; + uint8_t *v = yuv[2]; register int x; - for (x=0; x<size; x++) { - uyvy_2_yuv422(uyvy,y,u,v,y+1); - y+=2; + for (x = 0; x < size; x++) { + uyvy_2_yuv422(uyvy, y, u, v, y + 1); + y += 2; u++; v++; } } + static void convert_yuyv_to_yuv422_frame(yuyv_macropixel *yuyv, int width, int height, uint8_t **yuv) { - int size=width*height; // y is twice this, u and v are equal + int size = width * height; // y is twice this, u and v are equal - uint8_t *y=yuv[0]; - uint8_t *u=yuv[1]; - uint8_t *v=yuv[2]; + uint8_t *y = yuv[0]; + uint8_t *u = yuv[1]; + uint8_t *v = yuv[2]; register int x; - for (x=0; x<size; x++) { - yuyv_2_yuv422(yuyv,y,u,v,y+1); - y+=2; + for (x = 0; x < size; x++) { + yuyv_2_yuv422(yuyv, y, u, v, y + 1); + y += 2; u++; v++; } @@ -4790,168 +4640,165 @@ static void convert_yuv888_to_yuv422_frame(uint8_t *yuv8, int width, int height, int irowstride, uint8_t **yuv4, boolean has_alpha, boolean clamped) { - // 888(8) packed to 422p // TODO - handle different sampling types - int size=width*height; // y is equal this, u and v are half, chroma subsampled horizontally + int size = width * height; // y is equal this, u and v are half, chroma subsampled horizontally - uint8_t *y=yuv4[0]; - uint8_t *u=yuv4[1]; - uint8_t *v=yuv4[2]; + uint8_t *y = yuv4[0]; + uint8_t *u = yuv4[1]; + uint8_t *v = yuv4[2]; - register int x,i,j; + register int x, i, j; - int offs=0; + int offs = 0; size_t ipsize; - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - if (has_alpha) offs=1; + if (has_alpha) offs = 1; - ipsize=(3+offs)<<1; + ipsize = (3 + offs) << 1; - if ((irowstride<<1)==width*ipsize) { - for (x=0; x<size; x+=2) { - *(y++)=yuv8[0]; - *(y++)=yuv8[3+offs]; - *(u++)=avg_chroma(yuv8[1],yuv8[4+offs]); - *(v++)=avg_chroma(yuv8[2],yuv8[5+offs]); - yuv8+=ipsize; + if ((irowstride << 1) == width * ipsize) { + for (x = 0; x < size; x += 2) { + *(y++) = yuv8[0]; + *(y++) = yuv8[3 + offs]; + *(u++) = avg_chroma(yuv8[1], yuv8[4 + offs]); + *(v++) = avg_chroma(yuv8[2], yuv8[5 + offs]); + yuv8 += ipsize; } } else { - width>>=1; - irowstride-=width*ipsize; - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - *(y++)=yuv8[0]; - *(y++)=yuv8[3+offs]; - *(u++)=avg_chroma(yuv8[1],yuv8[4+offs]); - *(v++)=avg_chroma(yuv8[2],yuv8[5+offs]); - yuv8+=ipsize; + width >>= 1; + irowstride -= width * ipsize; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + *(y++) = yuv8[0]; + *(y++) = yuv8[3 + offs]; + *(u++) = avg_chroma(yuv8[1], yuv8[4 + offs]); + *(v++) = avg_chroma(yuv8[2], yuv8[5 + offs]); + yuv8 += ipsize; } - yuv8+=irowstride; + yuv8 += irowstride; } } - } static void convert_yuv888_to_uyvy_frame(uint8_t *yuv, int width, int height, int irowstride, uyvy_macropixel *uyvy, boolean has_alpha, boolean clamped) { - int size=width*height; + int size = width * height; - register int x,i,j; + register int x, i, j; - int offs=0; + int offs = 0; size_t ipsize; - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - if (has_alpha) offs=1; + if (has_alpha) offs = 1; - ipsize=(3+offs)<<1; + ipsize = (3 + offs) << 1; - if ((irowstride<<1) == width*ipsize) { - for (x=0; x<size; x+=2) { - uyvy->u0=avg_chroma(yuv[1],yuv[4+offs]); - uyvy->y0=yuv[0]; - uyvy->v0=avg_chroma(yuv[2],yuv[5+offs]); - uyvy->y1=yuv[3+offs]; - yuv+=ipsize; + if ((irowstride << 1) == width * ipsize) { + for (x = 0; x < size; x += 2) { + uyvy->u0 = avg_chroma(yuv[1], yuv[4 + offs]); + uyvy->y0 = yuv[0]; + uyvy->v0 = avg_chroma(yuv[2], yuv[5 + offs]); + uyvy->y1 = yuv[3 + offs]; + yuv += ipsize; uyvy++; } } else { - width>>=1; - irowstride-=width*ipsize; - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - uyvy->u0=avg_chroma(yuv[1],yuv[4+offs]); - uyvy->y0=yuv[0]; - uyvy->v0=avg_chroma(yuv[2],yuv[5+offs]); - uyvy->y1=yuv[3+offs]; - yuv+=ipsize; + width >>= 1; + irowstride -= width * ipsize; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + uyvy->u0 = avg_chroma(yuv[1], yuv[4 + offs]); + uyvy->y0 = yuv[0]; + uyvy->v0 = avg_chroma(yuv[2], yuv[5 + offs]); + uyvy->y1 = yuv[3 + offs]; + yuv += ipsize; uyvy++; } - yuv+=irowstride; + yuv += irowstride; } } - - } static void convert_yuv888_to_yuyv_frame(uint8_t *yuv, int width, int height, int irowstride, yuyv_macropixel *yuyv, boolean has_alpha, boolean clamped) { - int size=width*height; + int size = width * height; - register int x,i,j; + register int x, i, j; - int offs=0; + int offs = 0; size_t ipsize; - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - if (has_alpha) offs=1; + if (has_alpha) offs = 1; - ipsize=(3+offs)<<1; + ipsize = (3 + offs) << 1; - if (irowstride<<1 == width*ipsize) { - for (x=0; x<size; x+=2) { - yuyv->y0=yuv[0]; - yuyv->u0=avg_chroma(yuv[1],yuv[4+offs]); - yuyv->y1=yuv[3+offs]; - yuyv->v0=avg_chroma(yuv[2],yuv[5+offs]); - yuv+=ipsize; + if (irowstride << 1 == width * ipsize) { + for (x = 0; x < size; x += 2) { + yuyv->y0 = yuv[0]; + yuyv->u0 = avg_chroma(yuv[1], yuv[4 + offs]); + yuyv->y1 = yuv[3 + offs]; + yuyv->v0 = avg_chroma(yuv[2], yuv[5 + offs]); + yuv += ipsize; yuyv++; } } else { - width>>=1; - irowstride-=width*ipsize; - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - yuyv->y0=yuv[0]; - yuyv->u0=avg_chroma(yuv[1],yuv[4+offs]); - yuyv->y1=yuv[3+offs]; - yuyv->v0=avg_chroma(yuv[2],yuv[5+offs]); - yuv+=ipsize; + width >>= 1; + irowstride -= width * ipsize; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + yuyv->y0 = yuv[0]; + yuyv->u0 = avg_chroma(yuv[1], yuv[4 + offs]); + yuyv->y1 = yuv[3 + offs]; + yuyv->v0 = avg_chroma(yuv[2], yuv[5 + offs]); + yuv += ipsize; yuyv++; } - yuv+=irowstride; + yuv += irowstride; } } } + static void convert_yuv888_to_yuv411_frame(uint8_t *yuv8, int width, int height, int irowstride, yuv411_macropixel *yuv411, boolean has_alpha) { // yuv 888(8) packed to yuv411. Chroma pixels are averaged. // TODO - handle different sampling types - uint8_t *end=yuv8+width*height; + uint8_t *end = yuv8 + width * height; register int x; - size_t ipsize=3; - int widtha=(width>>1)<<1; // cut rightmost odd bytes - int cbytes=width-widtha; - - if (has_alpha) ipsize=4; - - irowstride-=widtha*ipsize; - - for (; yuv8<end; yuv8+=cbytes) { - for (x=0; x<widtha; x+=4) { // process 4 input pixels for one output macropixel - yuv411->u2=(yuv8[1]+yuv8[ipsize+1]+yuv8[2*ipsize+1]+yuv8[3*ipsize+1])>>2; - yuv411->y0=yuv8[0]; - yuv411->y1=yuv8[ipsize]; - yuv411->v2=(yuv8[2]+yuv8[ipsize+2]+yuv8[2*ipsize+2]+yuv8[3*ipsize+2])>>2; - yuv411->y2=yuv8[ipsize*2]; - yuv411->y3=yuv8[ipsize*3]; + size_t ipsize = 3; + int widtha = (width >> 1) << 1; // cut rightmost odd bytes + int cbytes = width - widtha; + + if (has_alpha) ipsize = 4; + + irowstride -= widtha * ipsize; + + for (; yuv8 < end; yuv8 += cbytes) { + for (x = 0; x < widtha; x += 4) { // process 4 input pixels for one output macropixel + yuv411->u2 = (yuv8[1] + yuv8[ipsize + 1] + yuv8[2 * ipsize + 1] + yuv8[3 * ipsize + 1]) >> 2; + yuv411->y0 = yuv8[0]; + yuv411->y1 = yuv8[ipsize]; + yuv411->v2 = (yuv8[2] + yuv8[ipsize + 2] + yuv8[2 * ipsize + 2] + yuv8[3 * ipsize + 2]) >> 2; + yuv411->y2 = yuv8[ipsize * 2]; + yuv411->y3 = yuv8[ipsize * 3]; yuv411++; - yuv8+=ipsize*4; + yuv8 += ipsize * 4; } - yuv8+=irowstride; + yuv8 += irowstride; } } @@ -4959,107 +4806,107 @@ static void convert_yuv411_to_rgb_frame(yuv411_macropixel *yuv411, int width, int height, int orowstride, uint8_t *dest, boolean add_alpha, boolean clamped) { uyvy_macropixel uyvy; - int m=3,n=4,o=5; - uint8_t u,v,h_u,h_v,q_u,q_v,y0,y1; + int m = 3, n = 4, o = 5; + uint8_t u, v, h_u, h_v, q_u, q_v, y0, y1; register int j; - yuv411_macropixel *end=yuv411+width*height; - size_t psize=3,psize2; + yuv411_macropixel *end = yuv411 + width * height; + size_t psize = 3, psize2; if (LIVES_UNLIKELY(!conv_YR_inited)) init_YUV_to_RGB_tables(); - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); if (add_alpha) { - m=4; - n=5; - o=6; - psize=4; + m = 4; + n = 5; + o = 6; + psize = 4; } - orowstride-=width*4*psize; - psize2=psize<<1; + orowstride -= width * 4 * psize; + psize2 = psize << 1; - while (yuv411<end) { + while (yuv411 < end) { // write 2 RGB pixels - if (add_alpha) dest[3]=dest[7]=255; + if (add_alpha) dest[3] = dest[7] = 255; - uyvy.y0=yuv411[0].y0; - uyvy.y1=yuv411[0].y1; - uyvy.u0=yuv411[0].u2; - uyvy.v0=yuv411[0].v2; - uyvy2rgb(&uyvy,&dest[0],&(dest[1]),&dest[2],&dest[m],&dest[n],&dest[o]); - dest+=psize2; + uyvy.y0 = yuv411[0].y0; + uyvy.y1 = yuv411[0].y1; + uyvy.u0 = yuv411[0].u2; + uyvy.v0 = yuv411[0].v2; + uyvy2rgb(&uyvy, &dest[0], &(dest[1]), &dest[2], &dest[m], &dest[n], &dest[o]); + dest += psize2; - for (j=1; j<width; j++) { + for (j = 1; j < width; j++) { // convert 6 yuv411 bytes to 4 rgb(a) pixels // average first 2 RGB pixels of this block and last 2 RGB pixels of previous block - y0=yuv411[j-1].y2; - y1=yuv411[j-1].y3; + y0 = yuv411[j - 1].y2; + y1 = yuv411[j - 1].y3; - h_u=avg_chroma(yuv411[j-1].u2,yuv411[j].u2); - h_v=avg_chroma(yuv411[j-1].v2,yuv411[j].v2); + h_u = avg_chroma(yuv411[j - 1].u2, yuv411[j].u2); + h_v = avg_chroma(yuv411[j - 1].v2, yuv411[j].v2); // now we have 1/2, 1/2 // average last pixel again to get 1/4, 1/2 - q_u=avg_chroma(h_u,yuv411[j-1].u2); - q_v=avg_chroma(h_v,yuv411[j-1].v2); + q_u = avg_chroma(h_u, yuv411[j - 1].u2); + q_v = avg_chroma(h_v, yuv411[j - 1].v2); // average again to get 1/8, 3/8 - u=avg_chroma(q_u,yuv411[j-1].u2); - v=avg_chroma(q_v,yuv411[j-1].v2); + u = avg_chroma(q_u, yuv411[j - 1].u2); + v = avg_chroma(q_v, yuv411[j - 1].v2); - yuv2rgb(y0,u,v,&dest[0],&dest[1],&dest[2]); + yuv2rgb(y0, u, v, &dest[0], &dest[1], &dest[2]); - u=avg_chroma(q_u,yuv411[j].u2); - v=avg_chroma(q_v,yuv411[j].v2); + u = avg_chroma(q_u, yuv411[j].u2); + v = avg_chroma(q_v, yuv411[j].v2); - yuv2rgb(y1,u,v,&dest[m],&dest[n],&dest[o]); + yuv2rgb(y1, u, v, &dest[m], &dest[n], &dest[o]); - dest+=psize2; + dest += psize2; // set first 2 RGB pixels of this block - y0=yuv411[j].y0; - y1=yuv411[j].y1; + y0 = yuv411[j].y0; + y1 = yuv411[j].y1; // avg to get 3/4, 1/2 - q_u=avg_chroma(h_u,yuv411[j].u2); - q_v=avg_chroma(h_v,yuv411[j].v2); + q_u = avg_chroma(h_u, yuv411[j].u2); + q_v = avg_chroma(h_v, yuv411[j].v2); // average again to get 5/8, 7/8 - u=avg_chroma(q_u,yuv411[j-1].u2); - v=avg_chroma(q_v,yuv411[j-1].v2); + u = avg_chroma(q_u, yuv411[j - 1].u2); + v = avg_chroma(q_v, yuv411[j - 1].v2); - yuv2rgb(y0,u,v,&dest[0],&dest[1],&dest[2]); + yuv2rgb(y0, u, v, &dest[0], &dest[1], &dest[2]); - u=avg_chroma(q_u,yuv411[j].u2); - v=avg_chroma(q_v,yuv411[j].v2); + u = avg_chroma(q_u, yuv411[j].u2); + v = avg_chroma(q_v, yuv411[j].v2); - yuv2rgb(y1,u,v,&dest[m],&dest[n],&dest[o]); + yuv2rgb(y1, u, v, &dest[m], &dest[n], &dest[o]); - if (add_alpha) dest[3]=dest[7]=255; - dest+=psize2; + if (add_alpha) dest[3] = dest[7] = 255; + dest += psize2; } // write last 2 pixels - if (add_alpha) dest[3]=dest[7]=255; + if (add_alpha) dest[3] = dest[7] = 255; - uyvy.y0=yuv411[j-1].y2; - uyvy.y1=yuv411[j-1].y3; - uyvy.u0=yuv411[j-1].u2; - uyvy.v0=yuv411[j-1].v2; - uyvy2rgb(&uyvy,&dest[0],&(dest[1]),&dest[2],&dest[m],&dest[n],&dest[o]); + uyvy.y0 = yuv411[j - 1].y2; + uyvy.y1 = yuv411[j - 1].y3; + uyvy.u0 = yuv411[j - 1].u2; + uyvy.v0 = yuv411[j - 1].v2; + uyvy2rgb(&uyvy, &dest[0], &(dest[1]), &dest[2], &dest[m], &dest[n], &dest[o]); - dest+=psize2+orowstride; - yuv411+=width; + dest += psize2 + orowstride; + yuv411 += width; } } @@ -5067,108 +4914,108 @@ static void convert_yuv411_to_bgr_frame(yuv411_macropixel *yuv411, int width, int height, int orowstride, uint8_t *dest, boolean add_alpha, boolean clamped) { uyvy_macropixel uyvy; - int m=3,n=4,o=5; - uint8_t u,v,h_u,h_v,q_u,q_v,y0,y1; + int m = 3, n = 4, o = 5; + uint8_t u, v, h_u, h_v, q_u, q_v, y0, y1; register int j; - yuv411_macropixel *end=yuv411+width*height; - size_t psize=3,psize2; + yuv411_macropixel *end = yuv411 + width * height; + size_t psize = 3, psize2; if (LIVES_UNLIKELY(!conv_YR_inited)) init_YUV_to_RGB_tables(); - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); if (add_alpha) { - m=4; - n=5; - o=6; - psize=4; + m = 4; + n = 5; + o = 6; + psize = 4; } - orowstride-=width*4*psize; + orowstride -= width * 4 * psize; - psize2=psize<<1; + psize2 = psize << 1; - while (yuv411<end) { + while (yuv411 < end) { // write 2 RGB pixels - if (add_alpha) dest[3]=dest[7]=255; + if (add_alpha) dest[3] = dest[7] = 255; - uyvy.y0=yuv411[0].y0; - uyvy.y1=yuv411[0].y1; - uyvy.u0=yuv411[0].u2; - uyvy.v0=yuv411[0].v2; - uyvy2rgb(&uyvy,&dest[0],&(dest[1]),&dest[2],&dest[o],&dest[n],&dest[m]); - dest+=psize2; + uyvy.y0 = yuv411[0].y0; + uyvy.y1 = yuv411[0].y1; + uyvy.u0 = yuv411[0].u2; + uyvy.v0 = yuv411[0].v2; + uyvy2rgb(&uyvy, &dest[0], &(dest[1]), &dest[2], &dest[o], &dest[n], &dest[m]); + dest += psize2; - for (j=1; j<width; j++) { + for (j = 1; j < width; j++) { // convert 6 yuv411 bytes to 4 rgb(a) pixels // average first 2 RGB pixels of this block and last 2 RGB pixels of previous block - y0=yuv411[j-1].y2; - y1=yuv411[j-1].y3; + y0 = yuv411[j - 1].y2; + y1 = yuv411[j - 1].y3; - h_u=avg_chroma(yuv411[j-1].u2,yuv411[j].u2); - h_v=avg_chroma(yuv411[j-1].v2,yuv411[j].v2); + h_u = avg_chroma(yuv411[j - 1].u2, yuv411[j].u2); + h_v = avg_chroma(yuv411[j - 1].v2, yuv411[j].v2); // now we have 1/2, 1/2 // average last pixel again to get 1/4, 1/2 - q_u=avg_chroma(h_u,yuv411[j-1].u2); - q_v=avg_chroma(h_v,yuv411[j-1].v2); + q_u = avg_chroma(h_u, yuv411[j - 1].u2); + q_v = avg_chroma(h_v, yuv411[j - 1].v2); // average again to get 1/8, 3/8 - u=avg_chroma(q_u,yuv411[j-1].u2); - v=avg_chroma(q_v,yuv411[j-1].v2); + u = avg_chroma(q_u, yuv411[j - 1].u2); + v = avg_chroma(q_v, yuv411[j - 1].v2); - yuv2rgb(y0,u,v,&dest[0],&dest[1],&dest[2]); + yuv2rgb(y0, u, v, &dest[0], &dest[1], &dest[2]); - u=avg_chroma(q_u,yuv411[j].u2); - v=avg_chroma(q_v,yuv411[j].v2); + u = avg_chroma(q_u, yuv411[j].u2); + v = avg_chroma(q_v, yuv411[j].v2); - yuv2rgb(y1,u,v,&dest[o],&dest[n],&dest[m]); + yuv2rgb(y1, u, v, &dest[o], &dest[n], &dest[m]); - dest+=psize2; + dest += psize2; // set first 2 RGB pixels of this block - y0=yuv411[j].y0; - y1=yuv411[j].y1; + y0 = yuv411[j].y0; + y1 = yuv411[j].y1; // avg to get 3/4, 1/2 - q_u=avg_chroma(h_u,yuv411[j].u2); - q_v=avg_chroma(h_v,yuv411[j].v2); + q_u = avg_chroma(h_u, yuv411[j].u2); + q_v = avg_chroma(h_v, yuv411[j].v2); // average again to get 5/8, 7/8 - u=avg_chroma(q_u,yuv411[j-1].u2); - v=avg_chroma(q_v,yuv411[j-1].v2); + u = avg_chroma(q_u, yuv411[j - 1].u2); + v = avg_chroma(q_v, yuv411[j - 1].v2); - yuv2rgb(y0,u,v,&dest[0],&dest[1],&dest[2]); + yuv2rgb(y0, u, v, &dest[0], &dest[1], &dest[2]); - u=avg_chroma(q_u,yuv411[j].u2); - v=avg_chroma(q_v,yuv411[j].v2); + u = avg_chroma(q_u, yuv411[j].u2); + v = avg_chroma(q_v, yuv411[j].v2); - yuv2rgb(y1,u,v,&dest[o],&dest[n],&dest[m]); + yuv2rgb(y1, u, v, &dest[o], &dest[n], &dest[m]); - if (add_alpha) dest[3]=dest[7]=255; - dest+=psize2; + if (add_alpha) dest[3] = dest[7] = 255; + dest += psize2; } // write last 2 pixels - if (add_alpha) dest[3]=dest[7]=255; + if (add_alpha) dest[3] = dest[7] = 255; - uyvy.y0=yuv411[j-1].y2; - uyvy.y1=yuv411[j-1].y3; - uyvy.u0=yuv411[j-1].u2; - uyvy.v0=yuv411[j-1].v2; - uyvy2rgb(&uyvy,&dest[0],&(dest[1]),&dest[2],&dest[m],&dest[n],&dest[o]); + uyvy.y0 = yuv411[j - 1].y2; + uyvy.y1 = yuv411[j - 1].y3; + uyvy.u0 = yuv411[j - 1].u2; + uyvy.v0 = yuv411[j - 1].v2; + uyvy2rgb(&uyvy, &dest[0], &(dest[1]), &dest[2], &dest[m], &dest[n], &dest[o]); - dest+=psize2+orowstride; - yuv411+=width; + dest += psize2 + orowstride; + yuv411 += width; } } @@ -5176,634 +5023,626 @@ static void convert_yuv411_to_argb_frame(yuv411_macropixel *yuv411, int width, int height, int orowstride, uint8_t *dest, boolean clamped) { uyvy_macropixel uyvy; - uint8_t u,v,h_u,h_v,q_u,q_v,y0,y1; + uint8_t u, v, h_u, h_v, q_u, q_v, y0, y1; register int j; - yuv411_macropixel *end=yuv411+width*height; - size_t psize=4,psize2; + yuv411_macropixel *end = yuv411 + width * height; + size_t psize = 4, psize2; if (LIVES_UNLIKELY(!conv_YR_inited)) init_YUV_to_RGB_tables(); - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - orowstride-=width*4*psize; - psize2=psize<<1; + orowstride -= width * 4 * psize; + psize2 = psize << 1; - while (yuv411<end) { + while (yuv411 < end) { // write 2 ARGB pixels - dest[0]=dest[4]=255; + dest[0] = dest[4] = 255; - uyvy.y0=yuv411[0].y0; - uyvy.y1=yuv411[0].y1; - uyvy.u0=yuv411[0].u2; - uyvy.v0=yuv411[0].v2; - uyvy2rgb(&uyvy,&dest[1],&(dest[2]),&dest[3],&dest[5],&dest[6],&dest[7]); - dest+=psize2; + uyvy.y0 = yuv411[0].y0; + uyvy.y1 = yuv411[0].y1; + uyvy.u0 = yuv411[0].u2; + uyvy.v0 = yuv411[0].v2; + uyvy2rgb(&uyvy, &dest[1], &(dest[2]), &dest[3], &dest[5], &dest[6], &dest[7]); + dest += psize2; - for (j=1; j<width; j++) { + for (j = 1; j < width; j++) { // convert 6 yuv411 bytes to 4 argb pixels // average first 2 ARGB pixels of this block and last 2 ARGB pixels of previous block - y0=yuv411[j-1].y2; - y1=yuv411[j-1].y3; + y0 = yuv411[j - 1].y2; + y1 = yuv411[j - 1].y3; - h_u=avg_chroma(yuv411[j-1].u2,yuv411[j].u2); - h_v=avg_chroma(yuv411[j-1].v2,yuv411[j].v2); + h_u = avg_chroma(yuv411[j - 1].u2, yuv411[j].u2); + h_v = avg_chroma(yuv411[j - 1].v2, yuv411[j].v2); // now we have 1/2, 1/2 // average last pixel again to get 1/4, 1/2 - q_u=avg_chroma(h_u,yuv411[j-1].u2); - q_v=avg_chroma(h_v,yuv411[j-1].v2); + q_u = avg_chroma(h_u, yuv411[j - 1].u2); + q_v = avg_chroma(h_v, yuv411[j - 1].v2); // average again to get 1/8, 3/8 - u=avg_chroma(q_u,yuv411[j-1].u2); - v=avg_chroma(q_v,yuv411[j-1].v2); + u = avg_chroma(q_u, yuv411[j - 1].u2); + v = avg_chroma(q_v, yuv411[j - 1].v2); - yuv2rgb(y0,u,v,&dest[1],&dest[2],&dest[3]); + yuv2rgb(y0, u, v, &dest[1], &dest[2], &dest[3]); - u=avg_chroma(q_u,yuv411[j].u2); - v=avg_chroma(q_v,yuv411[j].v2); + u = avg_chroma(q_u, yuv411[j].u2); + v = avg_chroma(q_v, yuv411[j].v2); - yuv2rgb(y1,u,v,&dest[5],&dest[6],&dest[7]); + yuv2rgb(y1, u, v, &dest[5], &dest[6], &dest[7]); - dest+=psize2; + dest += psize2; // set first 2 ARGB pixels of this block - y0=yuv411[j].y0; - y1=yuv411[j].y1; + y0 = yuv411[j].y0; + y1 = yuv411[j].y1; // avg to get 3/4, 1/2 - q_u=avg_chroma(h_u,yuv411[j].u2); - q_v=avg_chroma(h_v,yuv411[j].v2); + q_u = avg_chroma(h_u, yuv411[j].u2); + q_v = avg_chroma(h_v, yuv411[j].v2); // average again to get 5/8, 7/8 - u=avg_chroma(q_u,yuv411[j-1].u2); - v=avg_chroma(q_v,yuv411[j-1].v2); + u = avg_chroma(q_u, yuv411[j - 1].u2); + v = avg_chroma(q_v, yuv411[j - 1].v2); - yuv2rgb(y0,u,v,&dest[1],&dest[2],&dest[3]); + yuv2rgb(y0, u, v, &dest[1], &dest[2], &dest[3]); - u=avg_chroma(q_u,yuv411[j].u2); - v=avg_chroma(q_v,yuv411[j].v2); + u = avg_chroma(q_u, yuv411[j].u2); + v = avg_chroma(q_v, yuv411[j].v2); - yuv2rgb(y1,u,v,&dest[5],&dest[6],&dest[7]); + yuv2rgb(y1, u, v, &dest[5], &dest[6], &dest[7]); - dest[0]=dest[4]=255; - dest+=psize2; + dest[0] = dest[4] = 255; + dest += psize2; } // write last 2 pixels - dest[0]=dest[4]=255; + dest[0] = dest[4] = 255; - uyvy.y0=yuv411[j-1].y2; - uyvy.y1=yuv411[j-1].y3; - uyvy.u0=yuv411[j-1].u2; - uyvy.v0=yuv411[j-1].v2; - uyvy2rgb(&uyvy,&dest[1],&(dest[2]),&dest[3],&dest[5],&dest[6],&dest[7]); + uyvy.y0 = yuv411[j - 1].y2; + uyvy.y1 = yuv411[j - 1].y3; + uyvy.u0 = yuv411[j - 1].u2; + uyvy.v0 = yuv411[j - 1].v2; + uyvy2rgb(&uyvy, &dest[1], &(dest[2]), &dest[3], &dest[5], &dest[6], &dest[7]); - dest+=psize2+orowstride; - yuv411+=width; + dest += psize2 + orowstride; + yuv411 += width; } } static void convert_yuv411_to_yuv888_frame(yuv411_macropixel *yuv411, int width, int height, uint8_t *dest, boolean add_alpha, boolean clamped) { - size_t psize=3; + size_t psize = 3; register int j; - yuv411_macropixel *end=yuv411+width*height; - uint8_t u,v,h_u,h_v,q_u,q_v,y0,y1; + yuv411_macropixel *end = yuv411 + width * height; + uint8_t u, v, h_u, h_v, q_u, q_v, y0, y1; - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - if (add_alpha) psize=4; + if (add_alpha) psize = 4; - while (yuv411<end) { + while (yuv411 < end) { // write 2 RGB pixels - if (add_alpha) dest[3]=dest[7]=255; + if (add_alpha) dest[3] = dest[7] = 255; // write first 2 pixels - dest[0]=yuv411[0].y0; - dest[1]=yuv411[0].u2; - dest[2]=yuv411[0].v2; - dest+=psize; - - dest[0]=yuv411[0].y1; - dest[1]=yuv411[0].u2; - dest[2]=yuv411[0].v2; - dest+=psize; + dest[0] = yuv411[0].y0; + dest[1] = yuv411[0].u2; + dest[2] = yuv411[0].v2; + dest += psize; + + dest[0] = yuv411[0].y1; + dest[1] = yuv411[0].u2; + dest[2] = yuv411[0].v2; + dest += psize; - for (j=1; j<width; j++) { + for (j = 1; j < width; j++) { // convert 6 yuv411 bytes to 4 rgb(a) pixels // average first 2 RGB pixels of this block and last 2 RGB pixels of previous block - y0=yuv411[j-1].y2; - y1=yuv411[j-1].y3; + y0 = yuv411[j - 1].y2; + y1 = yuv411[j - 1].y3; - h_u=avg_chroma(yuv411[j-1].u2,yuv411[j].u2); - h_v=avg_chroma(yuv411[j-1].v2,yuv411[j].v2); + h_u = avg_chroma(yuv411[j - 1].u2, yuv411[j].u2); + h_v = avg_chroma(yuv411[j - 1].v2, yuv411[j].v2); // now we have 1/2, 1/2 // average last pixel again to get 1/4, 1/2 - q_u=avg_chroma(h_u,yuv411[j-1].u2); - q_v=avg_chroma(h_v,yuv411[j-1].v2); + q_u = avg_chroma(h_u, yuv411[j - 1].u2); + q_v = avg_chroma(h_v, yuv411[j - 1].v2); // average again to get 1/8, 3/8 - u=avg_chroma(q_u,yuv411[j-1].u2); - v=avg_chroma(q_v,yuv411[j-1].v2); + u = avg_chroma(q_u, yuv411[j - 1].u2); + v = avg_chroma(q_v, yuv411[j - 1].v2); - dest[0]=y0; - dest[1]=u; - dest[2]=v; - if (add_alpha) dest[3]=255; + dest[0] = y0; + dest[1] = u; + dest[2] = v; + if (add_alpha) dest[3] = 255; - dest+=psize; + dest += psize; - u=avg_chroma(q_u,yuv411[j].u2); - v=avg_chroma(q_v,yuv411[j].v2); + u = avg_chroma(q_u, yuv411[j].u2); + v = avg_chroma(q_v, yuv411[j].v2); - dest[0]=y1; - dest[1]=u; - dest[2]=v; - if (add_alpha) dest[3]=255; + dest[0] = y1; + dest[1] = u; + dest[2] = v; + if (add_alpha) dest[3] = 255; - dest+=psize; + dest += psize; // set first 2 RGB pixels of this block - y0=yuv411[j].y0; - y1=yuv411[j].y1; + y0 = yuv411[j].y0; + y1 = yuv411[j].y1; // avg to get 3/4, 1/2 - q_u=avg_chroma(h_u,yuv411[j].u2); - q_v=avg_chroma(h_v,yuv411[j].v2); + q_u = avg_chroma(h_u, yuv411[j].u2); + q_v = avg_chroma(h_v, yuv411[j].v2); // average again to get 5/8, 7/8 - u=avg_chroma(q_u,yuv411[j-1].u2); - v=avg_chroma(q_v,yuv411[j-1].v2); - - dest[0]=y0; - dest[1]=u; - dest[2]=v; + u = avg_chroma(q_u, yuv411[j - 1].u2); + v = avg_chroma(q_v, yuv411[j - 1].v2); - if (add_alpha) dest[3]=255; - dest+=psize; + dest[0] = y0; + dest[1] = u; + dest[2] = v; - u=avg_chroma(q_u,yuv411[j].u2); - v=avg_chroma(q_v,yuv411[j].v2); + if (add_alpha) dest[3] = 255; + dest += psize; - dest[0]=y1; - dest[1]=u; - dest[2]=v; + u = avg_chroma(q_u, yuv411[j].u2); + v = avg_chroma(q_v, yuv411[j].v2); - if (add_alpha) dest[3]=255; - dest+=psize; + dest[0] = y1; + dest[1] = u; + dest[2] = v; + if (add_alpha) dest[3] = 255; + dest += psize; } // write last 2 pixels - if (add_alpha) dest[3]=dest[7]=255; + if (add_alpha) dest[3] = dest[7] = 255; - dest[0]=yuv411[j-1].y2; - dest[1]=yuv411[j-1].u2; - dest[2]=yuv411[j-1].v2; - dest+=psize; - - dest[0]=yuv411[j-1].y3; - dest[1]=yuv411[j-1].u2; - dest[2]=yuv411[j-1].v2; + dest[0] = yuv411[j - 1].y2; + dest[1] = yuv411[j - 1].u2; + dest[2] = yuv411[j - 1].v2; + dest += psize; + + dest[0] = yuv411[j - 1].y3; + dest[1] = yuv411[j - 1].u2; + dest[2] = yuv411[j - 1].v2; - dest+=psize; - yuv411+=width; + dest += psize; + yuv411 += width; } - } static void convert_yuv411_to_yuvp_frame(yuv411_macropixel *yuv411, int width, int height, uint8_t **dest, boolean add_alpha, boolean clamped) { register int j; - yuv411_macropixel *end=yuv411+width*height; - uint8_t u,v,h_u,h_v,q_u,q_v,y0; + yuv411_macropixel *end = yuv411 + width * height; + uint8_t u, v, h_u, h_v, q_u, q_v, y0; - uint8_t *d_y=dest[0]; - uint8_t *d_u=dest[1]; - uint8_t *d_v=dest[2]; - uint8_t *d_a=dest[3]; + uint8_t *d_y = dest[0]; + uint8_t *d_u = dest[1]; + uint8_t *d_v = dest[2]; + uint8_t *d_a = dest[3]; - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - while (yuv411<end) { + while (yuv411 < end) { // write first 2 pixels - *(d_y++)=yuv411[0].y0; - *(d_u++)=yuv411[0].u2; - *(d_v++)=yuv411[0].v2; - if (add_alpha) *(d_a++)=255; - - *(d_y++)=yuv411[0].y0; - *(d_u++)=yuv411[0].u2; - *(d_v++)=yuv411[0].v2; - if (add_alpha) *(d_a++)=255; + *(d_y++) = yuv411[0].y0; + *(d_u++) = yuv411[0].u2; + *(d_v++) = yuv411[0].v2; + if (add_alpha) *(d_a++) = 255; + + *(d_y++) = yuv411[0].y0; + *(d_u++) = yuv411[0].u2; + *(d_v++) = yuv411[0].v2; + if (add_alpha) *(d_a++) = 255; - for (j=1; j<width; j++) { + for (j = 1; j < width; j++) { // convert 6 yuv411 bytes to 4 rgb(a) pixels // average first 2 RGB pixels of this block and last 2 RGB pixels of previous block - y0=yuv411[j-1].y2; + y0 = yuv411[j - 1].y2; - h_u=avg_chroma(yuv411[j-1].u2,yuv411[j].u2); - h_v=avg_chroma(yuv411[j-1].v2,yuv411[j].v2); + h_u = avg_chroma(yuv411[j - 1].u2, yuv411[j].u2); + h_v = avg_chroma(yuv411[j - 1].v2, yuv411[j].v2); // now we have 1/2, 1/2 // average last pixel again to get 1/4, 1/2 - q_u=avg_chroma(h_u,yuv411[j-1].u2); - q_v=avg_chroma(h_v,yuv411[j-1].v2); + q_u = avg_chroma(h_u, yuv411[j - 1].u2); + q_v = avg_chroma(h_v, yuv411[j - 1].v2); // average again to get 1/8, 3/8 - u=avg_chroma(q_u,yuv411[j-1].u2); - v=avg_chroma(q_v,yuv411[j-1].v2); + u = avg_chroma(q_u, yuv411[j - 1].u2); + v = avg_chroma(q_v, yuv411[j - 1].v2); - *(d_y++)=y0; - *(d_u++)=u; - *(d_v++)=v; - if (add_alpha) *(d_a++)=255; - - u=avg_chroma(q_u,yuv411[j].u2); - v=avg_chroma(q_v,yuv411[j].v2); - - *(d_y++)=y0; - *(d_u++)=u; - *(d_v++)=v; - if (add_alpha) *(d_a++)=255; + *(d_y++) = y0; + *(d_u++) = u; + *(d_v++) = v; + if (add_alpha) *(d_a++) = 255; + + u = avg_chroma(q_u, yuv411[j].u2); + v = avg_chroma(q_v, yuv411[j].v2); + + *(d_y++) = y0; + *(d_u++) = u; + *(d_v++) = v; + if (add_alpha) *(d_a++) = 255; // set first 2 RGB pixels of this block - y0=yuv411[j].y0; + y0 = yuv411[j].y0; // avg to get 3/4, 1/2 - q_u=avg_chroma(h_u,yuv411[j].u2); - q_v=avg_chroma(h_v,yuv411[j].v2); + q_u = avg_chroma(h_u, yuv411[j].u2); + q_v = avg_chroma(h_v, yuv411[j].v2); // average again to get 5/8, 7/8 - u=avg_chroma(q_u,yuv411[j-1].u2); - v=avg_chroma(q_v,yuv411[j-1].v2); - - *(d_y++)=y0; - *(d_u++)=u; - *(d_v++)=v; - if (add_alpha) *(d_a++)=255; - - u=avg_chroma(q_u,yuv411[j].u2); - v=avg_chroma(q_v,yuv411[j].v2); - - *(d_y++)=y0; - *(d_u++)=u; - *(d_v++)=v; - if (add_alpha) *(d_a++)=255; + u = avg_chroma(q_u, yuv411[j - 1].u2); + v = avg_chroma(q_v, yuv411[j - 1].v2); + *(d_y++) = y0; + *(d_u++) = u; + *(d_v++) = v; + if (add_alpha) *(d_a++) = 255; + + u = avg_chroma(q_u, yuv411[j].u2); + v = avg_chroma(q_v, yuv411[j].v2); + + *(d_y++) = y0; + *(d_u++) = u; + *(d_v++) = v; + if (add_alpha) *(d_a++) = 255; } // write last 2 pixels - *(d_y++)=yuv411[j-1].y2; - *(d_u++)=yuv411[j-1].u2; - *(d_v++)=yuv411[j-1].v2; - if (add_alpha) *(d_a++)=255; - - *(d_y++)=yuv411[j-1].y3; - *(d_u++)=yuv411[j-1].u2; - *(d_v++)=yuv411[j-1].v2; - if (add_alpha) *(d_a++)=255; + *(d_y++) = yuv411[j - 1].y2; + *(d_u++) = yuv411[j - 1].u2; + *(d_v++) = yuv411[j - 1].v2; + if (add_alpha) *(d_a++) = 255; + + *(d_y++) = yuv411[j - 1].y3; + *(d_u++) = yuv411[j - 1].u2; + *(d_v++) = yuv411[j - 1].v2; + if (add_alpha) *(d_a++) = 255; - yuv411+=width; + yuv411 += width; } - } static void convert_yuv411_to_uyvy_frame(yuv411_macropixel *yuv411, int width, int height, uyvy_macropixel *uyvy, boolean clamped) { register int j; - yuv411_macropixel *end=yuv411+width*height; - uint8_t u,v,h_u,h_v,y0; + yuv411_macropixel *end = yuv411 + width * height; + uint8_t u, v, h_u, h_v, y0; - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - while (yuv411<end) { + while (yuv411 < end) { // write first uyvy pixel - uyvy->u0=yuv411->u2; - uyvy->y0=yuv411->y0; - uyvy->v0=yuv411->v2; - uyvy->y1=yuv411->y1; + uyvy->u0 = yuv411->u2; + uyvy->y0 = yuv411->y0; + uyvy->v0 = yuv411->v2; + uyvy->y1 = yuv411->y1; uyvy++; - for (j=1; j<width; j++) { + for (j = 1; j < width; j++) { // convert 6 yuv411 bytes to 2 uyvy macro pixels // average first 2 RGB pixels of this block and last 2 RGB pixels of previous block - y0=yuv411[j-1].y2; + y0 = yuv411[j - 1].y2; - h_u=avg_chroma(yuv411[j-1].u2,yuv411[j].u2); - h_v=avg_chroma(yuv411[j-1].v2,yuv411[j].v2); + h_u = avg_chroma(yuv411[j - 1].u2, yuv411[j].u2); + h_v = avg_chroma(yuv411[j - 1].v2, yuv411[j].v2); // now we have 1/2, 1/2 // average last pixel again to get 1/4 - u=avg_chroma(h_u,yuv411[j-1].u2); - v=avg_chroma(h_v,yuv411[j-1].v2); + u = avg_chroma(h_u, yuv411[j - 1].u2); + v = avg_chroma(h_v, yuv411[j - 1].v2); - uyvy->u0=u; - uyvy->y0=y0; - uyvy->v0=v; - uyvy->y1=y0; + uyvy->u0 = u; + uyvy->y0 = y0; + uyvy->v0 = v; + uyvy->y1 = y0; uyvy++; // average last pixel again to get 3/4 - u=avg_chroma(h_u,yuv411[j].u2); - v=avg_chroma(h_v,yuv411[j].v2); + u = avg_chroma(h_u, yuv411[j].u2); + v = avg_chroma(h_v, yuv411[j].v2); // set first uyvy macropixel of this block - y0=yuv411[j].y0; + y0 = yuv411[j].y0; - uyvy->u0=u; - uyvy->y0=y0; - uyvy->v0=v; - uyvy->y1=y0; + uyvy->u0 = u; + uyvy->y0 = y0; + uyvy->v0 = v; + uyvy->y1 = y0; uyvy++; } // write last uyvy macro pixel - uyvy->u0=yuv411[j-1].u2; - uyvy->y0=yuv411[j-1].y2; - uyvy->v0=yuv411[j-1].v2; - uyvy->y1=yuv411[j-1].y3; + uyvy->u0 = yuv411[j - 1].u2; + uyvy->y0 = yuv411[j - 1].y2; + uyvy->v0 = yuv411[j - 1].v2; + uyvy->y1 = yuv411[j - 1].y3; uyvy++; - yuv411+=width; + yuv411 += width; } - } static void convert_yuv411_to_yuyv_frame(yuv411_macropixel *yuv411, int width, int height, yuyv_macropixel *yuyv, boolean clamped) { register int j; - yuv411_macropixel *end=yuv411+width*height; - uint8_t u,v,h_u,h_v,y0; + yuv411_macropixel *end = yuv411 + width * height; + uint8_t u, v, h_u, h_v, y0; - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - while (yuv411<end) { + while (yuv411 < end) { // write first yuyv pixel - yuyv->y0=yuv411->y0; - yuyv->u0=yuv411->u2; - yuyv->y1=yuv411->y1; - yuyv->v0=yuv411->v2; + yuyv->y0 = yuv411->y0; + yuyv->u0 = yuv411->u2; + yuyv->y1 = yuv411->y1; + yuyv->v0 = yuv411->v2; yuyv++; - for (j=1; j<width; j++) { + for (j = 1; j < width; j++) { // convert 6 yuv411 bytes to 2 yuyv macro pixels // average first 2 RGB pixels of this block and last 2 RGB pixels of previous block - y0=yuv411[j-1].y2; + y0 = yuv411[j - 1].y2; - h_u=avg_chroma(yuv411[j-1].u2,yuv411[j].u2); - h_v=avg_chroma(yuv411[j-1].v2,yuv411[j].v2); + h_u = avg_chroma(yuv411[j - 1].u2, yuv411[j].u2); + h_v = avg_chroma(yuv411[j - 1].v2, yuv411[j].v2); // now we have 1/2, 1/2 // average last pixel again to get 1/4 - u=avg_chroma(h_u,yuv411[j-1].u2); - v=avg_chroma(h_v,yuv411[j-1].v2); + u = avg_chroma(h_u, yuv411[j - 1].u2); + v = avg_chroma(h_v, yuv411[j - 1].v2); - yuyv->y0=y0; - yuyv->u0=u; - yuyv->y1=y0; - yuyv->v0=v; + yuyv->y0 = y0; + yuyv->u0 = u; + yuyv->y1 = y0; + yuyv->v0 = v; yuyv++; // average last pixel again to get 3/4 - u=avg_chroma(h_u,yuv411[j].u2); - v=avg_chroma(h_v,yuv411[j].v2); + u = avg_chroma(h_u, yuv411[j].u2); + v = avg_chroma(h_v, yuv411[j].v2); // set first yuyv macropixel of this block - y0=yuv411[j].y0; + y0 = yuv411[j].y0; - yuyv->y0=y0; - yuyv->u0=u; - yuyv->y1=y0; - yuyv->v0=v; + yuyv->y0 = y0; + yuyv->u0 = u; + yuyv->y1 = y0; + yuyv->v0 = v; yuyv++; } // write last yuyv macro pixel - yuyv->y0=yuv411[j-1].y2; - yuyv->u0=yuv411[j-1].u2; - yuyv->y1=yuv411[j-1].y3; - yuyv->v0=yuv411[j-1].v2; + yuyv->y0 = yuv411[j - 1].y2; + yuyv->u0 = yuv411[j - 1].u2; + yuyv->y1 = yuv411[j - 1].y3; + yuyv->v0 = yuv411[j - 1].v2; yuyv++; - yuv411+=width; + yuv411 += width; } - } static void convert_yuv411_to_yuv422_frame(yuv411_macropixel *yuv411, int width, int height, uint8_t **dest, boolean clamped) { register int j; - yuv411_macropixel *end=yuv411+width*height; - uint8_t h_u,h_v; + yuv411_macropixel *end = yuv411 + width * height; + uint8_t h_u, h_v; - uint8_t *d_y=dest[0]; - uint8_t *d_u=dest[1]; - uint8_t *d_v=dest[2]; + uint8_t *d_y = dest[0]; + uint8_t *d_u = dest[1]; + uint8_t *d_v = dest[2]; - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - while (yuv411<end) { + while (yuv411 < end) { // write first 2 y and 1 uv pixel - *(d_y++)=yuv411->y0; - *(d_y++)=yuv411->y1; - *(d_u++)=yuv411->u2; - *(d_v++)=yuv411->v2; + *(d_y++) = yuv411->y0; + *(d_y++) = yuv411->y1; + *(d_u++) = yuv411->u2; + *(d_v++) = yuv411->v2; - for (j=1; j<width; j++) { + for (j = 1; j < width; j++) { // convert 6 yuv411 bytes to 2 yuyv macro pixels // average first 2 RGB pixels of this block and last 2 RGB pixels of previous block - *(d_y++)=yuv411[j-1].y2; - *(d_y++)=yuv411[j-1].y3; + *(d_y++) = yuv411[j - 1].y2; + *(d_y++) = yuv411[j - 1].y3; - h_u=avg_chroma(yuv411[j-1].u2,yuv411[j].u2); - h_v=avg_chroma(yuv411[j-1].v2,yuv411[j].v2); + h_u = avg_chroma(yuv411[j - 1].u2, yuv411[j].u2); + h_v = avg_chroma(yuv411[j - 1].v2, yuv411[j].v2); // now we have 1/2, 1/2 // average last pixel again to get 1/4 - *(d_u++)=avg_chroma(h_u,yuv411[j-1].u2); - *(d_v++)=avg_chroma(h_v,yuv411[j-1].v2); + *(d_u++) = avg_chroma(h_u, yuv411[j - 1].u2); + *(d_v++) = avg_chroma(h_v, yuv411[j - 1].v2); // average first pixel to get 3/4 - *(d_y++)=yuv411[j].y0; - *(d_y++)=yuv411[j].y1; + *(d_y++) = yuv411[j].y0; + *(d_y++) = yuv411[j].y1; - *(d_u++)=avg_chroma(h_u,yuv411[j].u2); - *(d_v++)=avg_chroma(h_v,yuv411[j].v2); + *(d_u++) = avg_chroma(h_u, yuv411[j].u2); + *(d_v++) = avg_chroma(h_v, yuv411[j].v2); } // write last pixels - *(d_y++)=yuv411[j-1].y2; - *(d_y++)=yuv411[j-1].y3; - *(d_u++)=yuv411[j-1].u2; - *(d_v++)=yuv411[j-1].v2; + *(d_y++) = yuv411[j - 1].y2; + *(d_y++) = yuv411[j - 1].y3; + *(d_u++) = yuv411[j - 1].u2; + *(d_v++) = yuv411[j - 1].v2; - yuv411+=width; + yuv411 += width; } - } static void convert_yuv411_to_yuv420_frame(yuv411_macropixel *yuv411, int width, int height, uint8_t **dest, boolean is_yvu, boolean clamped) { register int j; - yuv411_macropixel *end=yuv411+width*height; - uint8_t h_u,h_v,u,v; + yuv411_macropixel *end = yuv411 + width * height; + uint8_t h_u, h_v, u, v; - uint8_t *d_y=dest[0]; + uint8_t *d_y = dest[0]; uint8_t *d_u; uint8_t *d_v; - boolean chroma=FALSE; + boolean chroma = FALSE; - size_t width2=width<<1; + size_t width2 = width << 1; if (!is_yvu) { - d_u=dest[1]; - d_v=dest[2]; + d_u = dest[1]; + d_v = dest[2]; } else { - d_u=dest[2]; - d_v=dest[1]; + d_u = dest[2]; + d_v = dest[1]; } - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - while (yuv411<end) { + while (yuv411 < end) { // write first 2 y and 1 uv pixel - *(d_y++)=yuv411->y0; - *(d_y++)=yuv411->y1; + *(d_y++) = yuv411->y0; + *(d_y++) = yuv411->y1; - u=yuv411->u2; - v=yuv411->v2; + u = yuv411->u2; + v = yuv411->v2; if (!chroma) { - *(d_u++)=u; - *(d_v++)=v; + *(d_u++) = u; + *(d_v++) = v; } else { - *d_u=avg_chroma(*d_u,u); - *d_v=avg_chroma(*d_v,v); + *d_u = avg_chroma(*d_u, u); + *d_v = avg_chroma(*d_v, v); } - for (j=1; j<width; j++) { + for (j = 1; j < width; j++) { // convert 6 yuv411 bytes to 2 yuyv macro pixels // average first 2 RGB pixels of this block and last 2 RGB pixels of previous block - *(d_y++)=yuv411[j-1].y2; - *(d_y++)=yuv411[j-1].y3; + *(d_y++) = yuv411[j - 1].y2; + *(d_y++) = yuv411[j - 1].y3; - h_u=avg_chroma(yuv411[j-1].u2,yuv411[j].u2); - h_v=avg_chroma(yuv411[j-1].v2,yuv411[j].v2); + h_u = avg_chroma(yuv411[j - 1].u2, yuv411[j].u2); + h_v = avg_chroma(yuv411[j - 1].v2, yuv411[j].v2); // now we have 1/2, 1/2 // average last pixel again to get 1/4 - u=avg_chroma(h_u,yuv411[j-1].u2); - v=avg_chroma(h_v,yuv411[j-1].v2); + u = avg_chroma(h_u, yuv411[j - 1].u2); + v = avg_chroma(h_v, yuv411[j - 1].v2); if (!chroma) { - *(d_u++)=u; - *(d_v++)=v; + *(d_u++) = u; + *(d_v++) = v; } else { - *d_u=avg_chroma(*d_u,u); - *d_v=avg_chroma(*d_v,v); + *d_u = avg_chroma(*d_u, u); + *d_v = avg_chroma(*d_v, v); } // average first pixel to get 3/4 - *(d_y++)=yuv411[j].y0; - *(d_y++)=yuv411[j].y1; + *(d_y++) = yuv411[j].y0; + *(d_y++) = yuv411[j].y1; - u=avg_chroma(h_u,yuv411[j].u2); - v=avg_chroma(h_v,yuv411[j].v2); + u = avg_chroma(h_u, yuv411[j].u2); + v = avg_chroma(h_v, yuv411[j].v2); if (!chroma) { - *(d_u++)=u; - *(d_v++)=v; + *(d_u++) = u; + *(d_v++) = v; } else { - *d_u=avg_chroma(*d_u,u); - *d_v=avg_chroma(*d_v,v); + *d_u = avg_chroma(*d_u, u); + *d_v = avg_chroma(*d_v, v); } } // write last pixels - *(d_y++)=yuv411[j-1].y2; - *(d_y++)=yuv411[j-1].y3; + *(d_y++) = yuv411[j - 1].y2; + *(d_y++) = yuv411[j - 1].y3; - u=yuv411[j-1].u2; - v=yuv411[j-1].v2; + u = yuv411[j - 1].u2; + v = yuv411[j - 1].v2; if (!chroma) { - *(d_u++)=u; - *(d_v++)=v; + *(d_u++) = u; + *(d_v++) = v; - d_u-=width2; - d_v-=width2; + d_u -= width2; + d_v -= width2; } else { - *d_u=avg_chroma(*d_u,u); - *d_v=avg_chroma(*d_v,v); + *d_u = avg_chroma(*d_u, u); + *d_v = avg_chroma(*d_v, v); } - chroma=!chroma; - yuv411+=width; + chroma = !chroma; + yuv411 += width; } - } @@ -5811,258 +5650,247 @@ boolean is_422, boolean clamped) { // TODO -handle various sampling types - register int i=0,j; - uint8_t *y,*u,*v,*end; - boolean chroma=TRUE; + register int i = 0, j; + uint8_t *y, *u, *v, *end; + boolean chroma = TRUE; - size_t qwidth,hwidth; + size_t qwidth, hwidth; // TODO - handle different in sampling types - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - y=src[0]; - u=src[1]; - v=src[2]; - - end=y+hsize*vsize; - - hwidth=hsize>>1; - qwidth=hwidth>>1; - - while (y<end) { - for (j=0; j<qwidth; j++) { - dest->u2=avg_chroma(u[0],u[1]); - dest->y0=y[0]; - dest->y1=y[1]; - dest->v2=avg_chroma(v[0],v[1]); - dest->y2=y[2]; - dest->y3=y[3]; - - if (!is_422&&chroma&&i>0) { - dest[-qwidth].u2=avg_chroma(dest[-qwidth].u2,dest->u2); - dest[-qwidth].v2=avg_chroma(dest[-qwidth].v2,dest->v2); + y = src[0]; + u = src[1]; + v = src[2]; + + end = y + hsize * vsize; + + hwidth = hsize >> 1; + qwidth = hwidth >> 1; + + while (y < end) { + for (j = 0; j < qwidth; j++) { + dest->u2 = avg_chroma(u[0], u[1]); + dest->y0 = y[0]; + dest->y1 = y[1]; + dest->v2 = avg_chroma(v[0], v[1]); + dest->y2 = y[2]; + dest->y3 = y[3]; + + if (!is_422 && chroma && i > 0) { + dest[-qwidth].u2 = avg_chroma(dest[-qwidth].u2, dest->u2); + dest[-qwidth].v2 = avg_chroma(dest[-qwidth].v2, dest->v2); } dest++; - y+=4; - u+=2; - v+=2; - } - chroma=!chroma; - if (!chroma&&!is_422) { - u-=hwidth; - v-=hwidth; + y += 4; + u += 2; + v += 2; + } + chroma = !chroma; + if (!chroma && !is_422) { + u -= hwidth; + v -= hwidth; } i++; } } - static void convert_splitplanes_frame(uint8_t *src, int width, int height, int irowstride, uint8_t **dest, boolean src_alpha, boolean dest_alpha) { - // convert 888(8) packed to 444(4)P planar - size_t size=width*height; - int ipsize=3; + size_t size = width * height; + int ipsize = 3; - uint8_t *y=dest[0]; - uint8_t *u=dest[1]; - uint8_t *v=dest[2]; - uint8_t *a=dest[3]; + uint8_t *y = dest[0]; + uint8_t *u = dest[1]; + uint8_t *v = dest[2]; + uint8_t *a = dest[3]; uint8_t *end; - register int i,j; - - if (src_alpha) ipsize=4; - if (irowstride==ipsize*width) { + register int i, j; - for (end=src+size*ipsize; src<end;) { - *(y++)=*(src++); - *(u++)=*(src++); - *(v++)=*(src++); + if (src_alpha) ipsize = 4; + if (irowstride == ipsize * width) { + for (end = src + size * ipsize; src < end;) { + *(y++) = *(src++); + *(u++) = *(src++); + *(v++) = *(src++); if (dest_alpha) { - if (src_alpha) *(a++)=*(src++); - else *(a++)=255; + if (src_alpha) *(a++) = *(src++); + else *(a++) = 255; } } } else { - width*=ipsize; - irowstride-=width; - for (i=0; i<height; i++) { - for (j=0; j<width; j+=ipsize) { - *(y++)=*(src++); - *(u++)=*(src++); - *(v++)=*(src++); + width *= ipsize; + irowstride -= width; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j += ipsize) { + *(y++) = *(src++); + *(u++) = *(src++); + *(v++) = *(src++); if (dest_alpha) { - if (src_alpha) *(a++)=*(src++); - else *(a++)=255; + if (src_alpha) *(a++) = *(src++); + else *(a++) = 255; } } - src+=irowstride; + src += irowstride; } } - } - ///////////////////////////////////////////////////////////////// // RGB palette conversions static void convert_swap3_frame(uint8_t *src, int width, int height, int irowstride, int orowstride, uint8_t *dest, int thread_id) { // swap 3 byte palette - uint8_t *end=src+height*irowstride; + uint8_t *end = src + height * irowstride; register int i; - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); - - dheight=CEIL((double)height/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((src+dheight*i*irowstride)<end) { + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - ccparams[i].src=src+dheight*i*irowstride; - ccparams[i].hsize=width; - ccparams[i].dest=dest+dheight*i*orowstride; + dheight = CEIL((double)height / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((src + dheight * i * irowstride) < end) { + ccparams[i].src = src + dheight * i * irowstride; + ccparams[i].hsize = width; + ccparams[i].dest = dest + dheight * i * orowstride; - if (dheight*(i+1)>(height-4)) { - dheight=height-(dheight*i); + if (dheight * (i + 1) > (height - 4)) { + dheight = height - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; + ccparams[i].irowstrides[0] = irowstride; + ccparams[i].orowstrides[0] = orowstride; + ccparams[i].thread_id = i; - ccparams[i].irowstrides[0]=irowstride; - ccparams[i].orowstrides[0]=orowstride; - ccparams[i].thread_id=i; - - if (i==0) convert_swap3_frame_thread(&ccparams[i]); + if (i == 0) convert_swap3_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_swap3_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_swap3_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } - if ((irowstride==width*3)&&(orowstride==irowstride)) { + if ((irowstride == width * 3) && (orowstride == irowstride)) { // quick version #ifdef ENABLE_OIL - oil_rgb2bgr(dest,src,width*height); + oil_rgb2bgr(dest, src, width * height); #else - for (; src<end; src+=3) { - *(dest++)=src[2]; // red - *(dest++)=src[1]; // green - *(dest++)=src[0]; // blue + for (; src < end; src += 3) { + *(dest++) = src[2]; // red + *(dest++) = src[1]; // green + *(dest++) = src[0]; // blue } #endif } else { - int width3=width*3; - orowstride-=width3; - for (; src<end; src+=irowstride) { - for (i=0; i<width3; i+=3) { - *(dest++)=src[i+2]; // red - *(dest++)=src[i+1]; // green - *(dest++)=src[i]; // blue + int width3 = width * 3; + orowstride -= width3; + for (; src < end; src += irowstride) { + for (i = 0; i < width3; i += 3) { + *(dest++) = src[i + 2]; // red + *(dest++) = src[i + 1]; // green + *(dest++) = src[i]; // blue } - dest+=orowstride; + dest += orowstride; } } } void *convert_swap3_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_swap3_frame((uint8_t *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->irowstrides[0], - ccparams->orowstrides[0],(uint8_t *)ccparams->dest,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_swap3_frame((uint8_t *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->irowstrides[0], + ccparams->orowstrides[0], (uint8_t *)ccparams->dest, ccparams->thread_id); return NULL; } - static void convert_swap4_frame(uint8_t *src, int width, int height, int irowstride, int orowstride, uint8_t *dest, int thread_id) { // swap 4 byte palette - uint8_t *end=src+height*irowstride; + uint8_t *end = src + height * irowstride; register int i; - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); - - dheight=CEIL((double)height/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((src+dheight*i*irowstride)<end) { + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - ccparams[i].src=src+dheight*i*irowstride; - ccparams[i].hsize=width; - ccparams[i].dest=dest+dheight*i*orowstride; + dheight = CEIL((double)height / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((src + dheight * i * irowstride) < end) { + ccparams[i].src = src + dheight * i * irowstride; + ccparams[i].hsize = width; + ccparams[i].dest = dest + dheight * i * orowstride; - if ((height-dheight*i)<dheight) dheight=height-(dheight*i); + if ((height - dheight * i) < dheight) dheight = height - (dheight * i); + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; + ccparams[i].irowstrides[0] = irowstride; + ccparams[i].orowstrides[0] = orowstride; + ccparams[i].thread_id = i; - ccparams[i].irowstrides[0]=irowstride; - ccparams[i].orowstrides[0]=orowstride; - ccparams[i].thread_id=i; - - if (i==0) convert_swap4_frame_thread(&ccparams[i]); + if (i == 0) convert_swap4_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_swap4_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_swap4_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } - - if ((irowstride==width*4)&&(orowstride==irowstride)) { + if ((irowstride == width * 4) && (orowstride == irowstride)) { // quick version - for (; src<end; src+=4) { - *(dest++)=src[3]; // alpha - *(dest++)=src[2]; // red - *(dest++)=src[1]; // green - *(dest++)=src[0]; // blue + for (; src < end; src += 4) { + *(dest++) = src[3]; // alpha + *(dest++) = src[2]; // red + *(dest++) = src[1]; // green + *(dest++) = src[0]; // blue } } else { - int width4=width*4; - orowstride-=width4; - for (; src<end; src+=irowstride) { - for (i=0; i<width4; i+=4) { - *(dest++)=src[i+3]; // alpha - *(dest++)=src[i+2]; // red - *(dest++)=src[i+1]; // green - *(dest++)=src[i]; // blue + int width4 = width * 4; + orowstride -= width4; + for (; src < end; src += irowstride) { + for (i = 0; i < width4; i += 4) { + *(dest++) = src[i + 3]; // alpha + *(dest++) = src[i + 2]; // red + *(dest++) = src[i + 1]; // green + *(dest++) = src[i]; // blue } - dest+=orowstride; + dest += orowstride; } } } void *convert_swap4_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_swap4_frame((uint8_t *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->irowstrides[0], - ccparams->orowstrides[0],(uint8_t *)ccparams->dest,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_swap4_frame((uint8_t *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->irowstrides[0], + ccparams->orowstrides[0], (uint8_t *)ccparams->dest, ccparams->thread_id); return NULL; } @@ -6070,155 +5898,149 @@ static void convert_swap3addpost_frame(uint8_t *src, int width, int height, int irowstride, int orowstride, uint8_t *dest, int thread_id) { // swap 3 bytes, add post alpha - uint8_t *end=src+height*irowstride; + uint8_t *end = src + height * irowstride; register int i; - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); - - dheight=CEIL((double)height/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((src+dheight*i*irowstride)<end) { + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - ccparams[i].src=src+dheight*i*irowstride; - ccparams[i].hsize=width; - ccparams[i].dest=dest+dheight*i*orowstride; + dheight = CEIL((double)height / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((src + dheight * i * irowstride) < end) { + ccparams[i].src = src + dheight * i * irowstride; + ccparams[i].hsize = width; + ccparams[i].dest = dest + dheight * i * orowstride; - if (dheight*(i+1)>(height-4)) { - dheight=height-(dheight*i); + if (dheight * (i + 1) > (height - 4)) { + dheight = height - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; + ccparams[i].irowstrides[0] = irowstride; + ccparams[i].orowstrides[0] = orowstride; + ccparams[i].thread_id = i; - ccparams[i].irowstrides[0]=irowstride; - ccparams[i].orowstrides[0]=orowstride; - ccparams[i].thread_id=i; - - if (i==0) convert_swap3addpost_frame_thread(&ccparams[i]); + if (i == 0) convert_swap3addpost_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_swap3addpost_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_swap3addpost_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } - if ((irowstride==width*3)&&(orowstride==width*4)) { + if ((irowstride == width * 3) && (orowstride == width * 4)) { // quick version - for (; src<end; src+=3) { - *(dest++)=src[2]; // red - *(dest++)=src[1]; // green - *(dest++)=src[0]; // blue - *(dest++)=255; // alpha + for (; src < end; src += 3) { + *(dest++) = src[2]; // red + *(dest++) = src[1]; // green + *(dest++) = src[0]; // blue + *(dest++) = 255; // alpha } } else { - int width3=width*3; - orowstride-=width*4; - for (; src<end; src+=irowstride) { - for (i=0; i<width3; i+=3) { - *(dest++)=src[i+2]; // red - *(dest++)=src[i+1]; // green - *(dest++)=src[i]; // blue - *(dest++)=255; // alpha + int width3 = width * 3; + orowstride -= width * 4; + for (; src < end; src += irowstride) { + for (i = 0; i < width3; i += 3) { + *(dest++) = src[i + 2]; // red + *(dest++) = src[i + 1]; // green + *(dest++) = src[i]; // blue + *(dest++) = 255; // alpha } - dest+=orowstride; + dest += orowstride; } } } - void *convert_swap3addpost_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_swap3addpost_frame((uint8_t *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->irowstrides[0], - ccparams->orowstrides[0],(uint8_t *)ccparams->dest,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_swap3addpost_frame((uint8_t *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->irowstrides[0], + ccparams->orowstrides[0], (uint8_t *)ccparams->dest, ccparams->thread_id); return NULL; } - static void convert_swap3addpre_frame(uint8_t *src, int width, int height, int irowstride, int orowstride, uint8_t *dest, int thread_id) { // swap 3 bytes, add pre alpha - uint8_t *end=src+height*irowstride; + uint8_t *end = src + height * irowstride; register int i; - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - dheight=CEIL((double)height/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((src+dheight*i*irowstride)<end) { + dheight = CEIL((double)height / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((src + dheight * i * irowstride) < end) { + ccparams[i].src = src + dheight * i * irowstride; + ccparams[i].hsize = width; + ccparams[i].dest = dest + dheight * i * orowstride; - ccparams[i].src=src+dheight*i*irowstride; - ccparams[i].hsize=width; - ccparams[i].dest=dest+dheight*i*orowstride; - - if (dheight*(i+1)>(height-4)) { - dheight=height-(dheight*i); + if (dheight * (i + 1) > (height - 4)) { + dheight = height - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; - - ccparams[i].irowstrides[0]=irowstride; - ccparams[i].orowstrides[0]=orowstride; - ccparams[i].thread_id=i; + ccparams[i].irowstrides[0] = irowstride; + ccparams[i].orowstrides[0] = orowstride; + ccparams[i].thread_id = i; - if (i==0) convert_swap3addpre_frame_thread(&ccparams[i]); + if (i == 0) convert_swap3addpre_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_swap3addpre_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_swap3addpre_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } - if ((irowstride==width*3)&&(orowstride==width*4)) { + if ((irowstride == width * 3) && (orowstride == width * 4)) { // quick version - for (; src<end; src+=3) { - *(dest++)=255; // alpha - *(dest++)=src[2]; // red - *(dest++)=src[1]; // green - *(dest++)=src[0]; // blue + for (; src < end; src += 3) { + *(dest++) = 255; // alpha + *(dest++) = src[2]; // red + *(dest++) = src[1]; // green + *(dest++) = src[0]; // blue } } else { - int width3=width*3; - orowstride-=width*4; - for (; src<end; src+=irowstride) { - for (i=0; i<width3; i+=3) { - *(dest++)=255; // alpha - *(dest++)=src[i+2]; // red - *(dest++)=src[i+1]; // green - *(dest++)=src[i]; // blue + int width3 = width * 3; + orowstride -= width * 4; + for (; src < end; src += irowstride) { + for (i = 0; i < width3; i += 3) { + *(dest++) = 255; // alpha + *(dest++) = src[i + 2]; // red + *(dest++) = src[i + 1]; // green + *(dest++) = src[i]; // blue } - dest+=orowstride; + dest += orowstride; } } } void *convert_swap3addpre_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_swap3addpre_frame((uint8_t *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->irowstrides[0], - ccparams->orowstrides[0],(uint8_t *)ccparams->dest,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_swap3addpre_frame((uint8_t *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->irowstrides[0], + ccparams->orowstrides[0], (uint8_t *)ccparams->dest, ccparams->thread_id); return NULL; } @@ -6226,77 +6048,74 @@ static void convert_swap3postalpha_frame(uint8_t *src, int width, int height, int irowstride, int orowstride, uint8_t *dest, int thread_id) { // swap 3 bytes, leave alpha - uint8_t *end=src+height*irowstride; + uint8_t *end = src + height * irowstride; register int i; - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - dheight=CEIL((double)height/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((src+dheight*i*irowstride)<end) { + dheight = CEIL((double)height / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((src + dheight * i * irowstride) < end) { + ccparams[i].src = src + dheight * i * irowstride; + ccparams[i].hsize = width; + ccparams[i].dest = dest + dheight * i * orowstride; - ccparams[i].src=src+dheight*i*irowstride; - ccparams[i].hsize=width; - ccparams[i].dest=dest+dheight*i*orowstride; - - if (dheight*(i+1)>(height-4)) { - dheight=height-(dheight*i); + if (dheight * (i + 1) > (height - 4)) { + dheight = height - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; - - ccparams[i].irowstrides[0]=irowstride; - ccparams[i].orowstrides[0]=orowstride; - ccparams[i].thread_id=i; + ccparams[i].irowstrides[0] = irowstride; + ccparams[i].orowstrides[0] = orowstride; + ccparams[i].thread_id = i; - if (i==0) convert_swap3postalpha_frame_thread(&ccparams[i]); + if (i == 0) convert_swap3postalpha_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_swap3postalpha_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_swap3postalpha_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } - - if ((irowstride==width*4)&&(orowstride==irowstride)) { + if ((irowstride == width * 4) && (orowstride == irowstride)) { // quick version - for (; src<end; src+=4) { - *(dest++)=src[2]; // red - *(dest++)=src[1]; // green - *(dest++)=src[0]; // blue - *(dest++)=src[3]; // alpha + for (; src < end; src += 4) { + *(dest++) = src[2]; // red + *(dest++) = src[1]; // green + *(dest++) = src[0]; // blue + *(dest++) = src[3]; // alpha } } else { - int width4=width*4; - orowstride-=width4; - for (; src<end; src+=irowstride) { - for (i=0; i<width4; i+=4) { - *(dest++)=src[i+2]; // red - *(dest++)=src[i+1]; // green - *(dest++)=src[i]; // blue - *(dest++)=src[i+3]; // alpha + int width4 = width * 4; + orowstride -= width4; + for (; src < end; src += irowstride) { + for (i = 0; i < width4; i += 4) { + *(dest++) = src[i + 2]; // red + *(dest++) = src[i + 1]; // green + *(dest++) = src[i]; // blue + *(dest++) = src[i + 3]; // alpha } - dest+=orowstride; + dest += orowstride; } } } void *convert_swap3postalpha_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_swap3postalpha_frame((uint8_t *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->irowstrides[0], - ccparams->orowstrides[0],(uint8_t *)ccparams->dest,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_swap3postalpha_frame((uint8_t *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->irowstrides[0], + ccparams->orowstrides[0], (uint8_t *)ccparams->dest, ccparams->thread_id); return NULL; } @@ -6304,81 +6123,78 @@ static void convert_addpost_frame(uint8_t *src, int width, int height, int irowstride, int orowstride, uint8_t *dest, int thread_id) { // add post alpha - uint8_t *end=src+height*irowstride; + uint8_t *end = src + height * irowstride; register int i; - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - dheight=CEIL((double)height/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((src+dheight*i*irowstride)<end) { + dheight = CEIL((double)height / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((src + dheight * i * irowstride) < end) { + ccparams[i].src = src + dheight * i * irowstride; + ccparams[i].hsize = width; + ccparams[i].dest = dest + dheight * i * orowstride; - ccparams[i].src=src+dheight*i*irowstride; - ccparams[i].hsize=width; - ccparams[i].dest=dest+dheight*i*orowstride; - - if (dheight*(i+1)>(height-4)) { - dheight=height-(dheight*i); + if (dheight * (i + 1) > (height - 4)) { + dheight = height - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; - - ccparams[i].irowstrides[0]=irowstride; - ccparams[i].orowstrides[0]=orowstride; - ccparams[i].thread_id=i; + ccparams[i].irowstrides[0] = irowstride; + ccparams[i].orowstrides[0] = orowstride; + ccparams[i].thread_id = i; - if (i==0) convert_addpost_frame_thread(&ccparams[i]); + if (i == 0) convert_addpost_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_addpost_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_addpost_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } - if ((irowstride==width*3)&&(orowstride==width*4)) { + if ((irowstride == width * 3) && (orowstride == width * 4)) { // quick version #ifdef ENABLE_OIL - oil_rgb2rgba(dest,src,width*height); + oil_rgb2rgba(dest, src, width * height); #else - for (; src<end; src+=3) { - *(dest++)=src[0]; // r - *(dest++)=src[1]; // g - *(dest++)=src[2]; // b - *(dest++)=255; // alpha + for (; src < end; src += 3) { + *(dest++) = src[0]; // r + *(dest++) = src[1]; // g + *(dest++) = src[2]; // b + *(dest++) = 255; // alpha } #endif } else { - int width3=width*3; - orowstride-=width*4; - for (; src<end; src+=irowstride) { - for (i=0; i<width3; i+=3) { - *(dest++)=src[i]; // r - *(dest++)=src[i+1]; // g - *(dest++)=src[i+2]; // b - *(dest++)=255; // alpha + int width3 = width * 3; + orowstride -= width * 4; + for (; src < end; src += irowstride) { + for (i = 0; i < width3; i += 3) { + *(dest++) = src[i]; // r + *(dest++) = src[i + 1]; // g + *(dest++) = src[i + 2]; // b + *(dest++) = 255; // alpha } - dest+=orowstride; + dest += orowstride; } } } - void *convert_addpost_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_addpost_frame((uint8_t *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->irowstrides[0], - ccparams->orowstrides[0],(uint8_t *)ccparams->dest,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_addpost_frame((uint8_t *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->irowstrides[0], + ccparams->orowstrides[0], (uint8_t *)ccparams->dest, ccparams->thread_id); return NULL; } @@ -6386,270 +6202,260 @@ static void convert_addpre_frame(uint8_t *src, int width, int height, int irowstride, int orowstride, uint8_t *dest, int thread_id) { // add pre alpha - uint8_t *end=src+height*irowstride; + uint8_t *end = src + height * irowstride; register int i; - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - dheight=CEIL((double)height/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((src+dheight*i*irowstride)<end) { + dheight = CEIL((double)height / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((src + dheight * i * irowstride) < end) { + ccparams[i].src = src + dheight * i * irowstride; + ccparams[i].hsize = width; + ccparams[i].dest = dest + dheight * i * orowstride; - ccparams[i].src=src+dheight*i*irowstride; - ccparams[i].hsize=width; - ccparams[i].dest=dest+dheight*i*orowstride; - - if (dheight*(i+1)>(height-4)) { - dheight=height-(dheight*i); + if (dheight * (i + 1) > (height - 4)) { + dheight = height - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; - - ccparams[i].irowstrides[0]=irowstride; - ccparams[i].orowstrides[0]=orowstride; - ccparams[i].thread_id=i; + ccparams[i].irowstrides[0] = irowstride; + ccparams[i].orowstrides[0] = orowstride; + ccparams[i].thread_id = i; - if (i==0) convert_addpre_frame_thread(&ccparams[i]); + if (i == 0) convert_addpre_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_addpre_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_addpre_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } - - if ((irowstride==width*3)&&(orowstride==width*4)) { + if ((irowstride == width * 3) && (orowstride == width * 4)) { // quick version - for (; src<end; src+=3) { - *(dest++)=255; // alpha - *(dest++)=src[0]; // r - *(dest++)=src[1]; // g - *(dest++)=src[2]; // b + for (; src < end; src += 3) { + *(dest++) = 255; // alpha + *(dest++) = src[0]; // r + *(dest++) = src[1]; // g + *(dest++) = src[2]; // b } } else { - int width3=width*3; - orowstride-=width*4; - for (; src<end; src+=irowstride) { - for (i=0; i<width3; i+=3) { - *(dest++)=255; // alpha - *(dest++)=src[i]; // r - *(dest++)=src[i+1]; // g - *(dest++)=src[i+2]; // b + int width3 = width * 3; + orowstride -= width * 4; + for (; src < end; src += irowstride) { + for (i = 0; i < width3; i += 3) { + *(dest++) = 255; // alpha + *(dest++) = src[i]; // r + *(dest++) = src[i + 1]; // g + *(dest++) = src[i + 2]; // b } - dest+=orowstride; + dest += orowstride; } } } void *convert_addpre_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_addpre_frame((uint8_t *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->irowstrides[0], - ccparams->orowstrides[0],(uint8_t *)ccparams->dest,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_addpre_frame((uint8_t *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->irowstrides[0], + ccparams->orowstrides[0], (uint8_t *)ccparams->dest, ccparams->thread_id); return NULL; } -static void convert_swap3delpost_frame(uint8_t *src,int width,int height, int irowstride, int orowstride, + +static void convert_swap3delpost_frame(uint8_t *src, int width, int height, int irowstride, int orowstride, uint8_t *dest, int thread_id) { // swap 3 bytes, delete post alpha - uint8_t *end=src+height*irowstride; + uint8_t *end = src + height * irowstride; register int i; - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); - - dheight=CEIL((double)height/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((src+dheight*i*irowstride)<end) { + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - ccparams[i].src=src+dheight*i*irowstride; - ccparams[i].hsize=width; - ccparams[i].dest=dest+dheight*i*orowstride; + dheight = CEIL((double)height / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((src + dheight * i * irowstride) < end) { + ccparams[i].src = src + dheight * i * irowstride; + ccparams[i].hsize = width; + ccparams[i].dest = dest + dheight * i * orowstride; - if (dheight*(i+1)>(height-4)) { - dheight=height-(dheight*i); + if (dheight * (i + 1) > (height - 4)) { + dheight = height - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; + ccparams[i].irowstrides[0] = irowstride; + ccparams[i].orowstrides[0] = orowstride; + ccparams[i].thread_id = i; - ccparams[i].irowstrides[0]=irowstride; - ccparams[i].orowstrides[0]=orowstride; - ccparams[i].thread_id=i; - - if (i==0) convert_swap3delpost_frame_thread(&ccparams[i]); + if (i == 0) convert_swap3delpost_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_swap3delpost_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_swap3delpost_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } - if ((irowstride==width*4)&&(orowstride==width*3)) { + if ((irowstride == width * 4) && (orowstride == width * 3)) { // quick version - for (; src<end; src+=4) { - *(dest++)=src[2]; // red - *(dest++)=src[1]; // green - *(dest++)=src[0]; // blue + for (; src < end; src += 4) { + *(dest++) = src[2]; // red + *(dest++) = src[1]; // green + *(dest++) = src[0]; // blue } } else { - int width4=width*4; - orowstride-=width*3; - for (; src<end; src+=irowstride) { - for (i=0; i<width4; i+=4) { - *(dest++)=src[i+2]; // red - *(dest++)=src[i+1]; // green - *(dest++)=src[i]; // blue + int width4 = width * 4; + orowstride -= width * 3; + for (; src < end; src += irowstride) { + for (i = 0; i < width4; i += 4) { + *(dest++) = src[i + 2]; // red + *(dest++) = src[i + 1]; // green + *(dest++) = src[i]; // blue } - dest+=orowstride; + dest += orowstride; } } } void *convert_swap3delpost_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_swap3delpost_frame((uint8_t *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->irowstrides[0], - ccparams->orowstrides[0],(uint8_t *)ccparams->dest,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_swap3delpost_frame((uint8_t *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->irowstrides[0], + ccparams->orowstrides[0], (uint8_t *)ccparams->dest, ccparams->thread_id); return NULL; } -static void convert_delpost_frame(uint8_t *src,int width,int height, int irowstride, int orowstride, +static void convert_delpost_frame(uint8_t *src, int width, int height, int irowstride, int orowstride, uint8_t *dest, int thread_id) { // delete post alpha - uint8_t *end=src+height*irowstride; + uint8_t *end = src + height * irowstride; register int i; - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); - - dheight=CEIL((double)height/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((src+dheight*i*irowstride)<end) { + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - ccparams[i].src=src+dheight*i*irowstride; - ccparams[i].hsize=width; - ccparams[i].dest=dest+dheight*i*orowstride; + dheight = CEIL((double)height / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((src + dheight * i * irowstride) < end) { + ccparams[i].src = src + dheight * i * irowstride; + ccparams[i].hsize = width; + ccparams[i].dest = dest + dheight * i * orowstride; - if (dheight*(i+1)>(height-4)) { - dheight=height-(dheight*i); + if (dheight * (i + 1) > (height - 4)) { + dheight = height - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; - - ccparams[i].irowstrides[0]=irowstride; - ccparams[i].orowstrides[0]=orowstride; - ccparams[i].thread_id=i; + ccparams[i].irowstrides[0] = irowstride; + ccparams[i].orowstrides[0] = orowstride; + ccparams[i].thread_id = i; - if (i==0) convert_delpost_frame_thread(&ccparams[i]); + if (i == 0) convert_delpost_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_delpost_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_delpost_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } - - if ((irowstride==width*4)&&(orowstride==width*3)) { + if ((irowstride == width * 4) && (orowstride == width * 3)) { // quick version - for (; src<end; src+=4) { - lives_memcpy(dest,src,3); - dest+=3; + for (; src < end; src += 4) { + lives_memcpy(dest, src, 3); + dest += 3; } } else { - int width4=width*4; - orowstride-=width*3; - for (; src<end; src+=irowstride) { - for (i=0; i<width4; i+=4) { - lives_memcpy(dest,&src[i],3); - dest+=3; + int width4 = width * 4; + orowstride -= width * 3; + for (; src < end; src += irowstride) { + for (i = 0; i < width4; i += 4) { + lives_memcpy(dest, &src[i], 3); + dest += 3; } - dest+=orowstride; + dest += orowstride; } } } void *convert_delpost_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_delpost_frame((uint8_t *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->irowstrides[0], - ccparams->orowstrides[0],(uint8_t *)ccparams->dest,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_delpost_frame((uint8_t *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->irowstrides[0], + ccparams->orowstrides[0], (uint8_t *)ccparams->dest, ccparams->thread_id); return NULL; } - -static void convert_delpre_frame(uint8_t *src,int width,int height, int irowstride, int orowstride, +static void convert_delpre_frame(uint8_t *src, int width, int height, int irowstride, int orowstride, uint8_t *dest, int thread_id) { // delete pre alpha - uint8_t *end=src+height*irowstride; + uint8_t *end = src + height * irowstride; register int i; - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); - - dheight=CEIL((double)height/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((src+dheight*i*irowstride)<end) { + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - ccparams[i].src=src+dheight*i*irowstride; - ccparams[i].hsize=width; - ccparams[i].dest=dest+dheight*i*orowstride; + dheight = CEIL((double)height / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((src + dheight * i * irowstride) < end) { + ccparams[i].src = src + dheight * i * irowstride; + ccparams[i].hsize = width; + ccparams[i].dest = dest + dheight * i * orowstride; - if (dheight*(i+1)>(height-4)) { - dheight=height-(dheight*i); + if (dheight * (i + 1) > (height - 4)) { + dheight = height - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; + ccparams[i].irowstrides[0] = irowstride; + ccparams[i].orowstrides[0] = orowstride; + ccparams[i].thread_id = i; - ccparams[i].irowstrides[0]=irowstride; - ccparams[i].orowstrides[0]=orowstride; - ccparams[i].thread_id=i; - - if (i==0) convert_delpre_frame_thread(&ccparams[i]); + if (i == 0) convert_delpre_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_delpre_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_delpre_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; @@ -6657,31 +6463,30 @@ src++; - if ((irowstride==width*4)&&(orowstride==width*3)) { + if ((irowstride == width * 4) && (orowstride == width * 3)) { // quick version - for (; src<end; src+=4) { - lives_memcpy(dest,src,3); - dest+=3; + for (; src < end; src += 4) { + lives_memcpy(dest, src, 3); + dest += 3; } } else { - int width4=width*4; - orowstride-=width*3; - for (; src<end; src+=irowstride) { - for (i=0; i<width4; i+=4) { - lives_memcpy(dest,&src[i],3); - dest+=3; + int width4 = width * 4; + orowstride -= width * 3; + for (; src < end; src += irowstride) { + for (i = 0; i < width4; i += 4) { + lives_memcpy(dest, &src[i], 3); + dest += 3; } - dest+=orowstride; + dest += orowstride; } } } - void *convert_delpre_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_delpre_frame((uint8_t *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->irowstrides[0], - ccparams->orowstrides[0],(uint8_t *)ccparams->dest,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_delpre_frame((uint8_t *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->irowstrides[0], + ccparams->orowstrides[0], (uint8_t *)ccparams->dest, ccparams->thread_id); return NULL; } @@ -6689,235 +6494,228 @@ static void convert_swap3delpre_frame(uint8_t *src, int width, int height, int irowstride, int orowstride, uint8_t *dest, int thread_id) { // delete pre alpha, swap last 3 - uint8_t *end=src+height*irowstride; + uint8_t *end = src + height * irowstride; register int i; - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); - - dheight=CEIL((double)height/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((src+dheight*i*irowstride)<end) { + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - ccparams[i].src=src+dheight*i*irowstride; - ccparams[i].hsize=width; - ccparams[i].dest=dest+dheight*i*orowstride; + dheight = CEIL((double)height / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((src + dheight * i * irowstride) < end) { + ccparams[i].src = src + dheight * i * irowstride; + ccparams[i].hsize = width; + ccparams[i].dest = dest + dheight * i * orowstride; - if (dheight*(i+1)>(height-4)) { - dheight=height-(dheight*i); + if (dheight * (i + 1) > (height - 4)) { + dheight = height - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; + ccparams[i].irowstrides[0] = irowstride; + ccparams[i].orowstrides[0] = orowstride; + ccparams[i].thread_id = i; - ccparams[i].irowstrides[0]=irowstride; - ccparams[i].orowstrides[0]=orowstride; - ccparams[i].thread_id=i; - - if (i==0) convert_swap3delpre_frame_thread(&ccparams[i]); + if (i == 0) convert_swap3delpre_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_swap3delpre_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_swap3delpre_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } - if ((irowstride==width*4)&&(orowstride==width*3)) { + if ((irowstride == width * 4) && (orowstride == width * 3)) { // quick version - for (; src<end; src+=4) { - *(dest++)=src[3]; // red - *(dest++)=src[2]; // green - *(dest++)=src[1]; // blue + for (; src < end; src += 4) { + *(dest++) = src[3]; // red + *(dest++) = src[2]; // green + *(dest++) = src[1]; // blue } } else { - int width4=width*4; - orowstride-=width*3; - for (; src<end; src+=irowstride) { - for (i=0; i<width4; i+=4) { - *(dest++)=src[i+3]; // red - *(dest++)=src[i+2]; // green - *(dest++)=src[i+1]; // blue + int width4 = width * 4; + orowstride -= width * 3; + for (; src < end; src += irowstride) { + for (i = 0; i < width4; i += 4) { + *(dest++) = src[i + 3]; // red + *(dest++) = src[i + 2]; // green + *(dest++) = src[i + 1]; // blue } - dest+=orowstride; + dest += orowstride; } } } void *convert_swap3delpre_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_swap3delpre_frame((uint8_t *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->irowstrides[0], - ccparams->orowstrides[0],(uint8_t *)ccparams->dest,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_swap3delpre_frame((uint8_t *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->irowstrides[0], + ccparams->orowstrides[0], (uint8_t *)ccparams->dest, ccparams->thread_id); return NULL; } - static void convert_swapprepost_frame(uint8_t *src, int width, int height, int irowstride, int orowstride, uint8_t *dest, boolean alpha_first, int thread_id) { // swap first and last bytes in a 4 byte palette - uint8_t *end=src+height*irowstride; + uint8_t *end = src + height * irowstride; register int i; - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - dheight=CEIL((double)height/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((src+dheight*i*irowstride)<end) { + dheight = CEIL((double)height / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((src + dheight * i * irowstride) < end) { + ccparams[i].src = src + dheight * i * irowstride; + ccparams[i].hsize = width; + ccparams[i].dest = dest + dheight * i * orowstride; - ccparams[i].src=src+dheight*i*irowstride; - ccparams[i].hsize=width; - ccparams[i].dest=dest+dheight*i*orowstride; - - if (dheight*(i+1)>(height-4)) { - dheight=height-(dheight*i); + if (dheight * (i + 1) > (height - 4)) { + dheight = height - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; - - ccparams[i].irowstrides[0]=irowstride; - ccparams[i].orowstrides[0]=orowstride; + ccparams[i].irowstrides[0] = irowstride; + ccparams[i].orowstrides[0] = orowstride; - ccparams[i].alpha_first=alpha_first; + ccparams[i].alpha_first = alpha_first; - ccparams[i].thread_id=i; + ccparams[i].thread_id = i; - if (i==0) convert_swapprepost_frame_thread(&ccparams[i]); + if (i == 0) convert_swapprepost_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_swapprepost_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_swapprepost_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } - if ((irowstride==width*4)&&(orowstride==irowstride)) { + if ((irowstride == width * 4) && (orowstride == irowstride)) { // quick version if (alpha_first) { - for (; src<end; src+=4) { - *(dest++)=src[1]; - *(dest++)=src[2]; - *(dest++)=src[3]; - *(dest++)=src[0]; + for (; src < end; src += 4) { + *(dest++) = src[1]; + *(dest++) = src[2]; + *(dest++) = src[3]; + *(dest++) = src[0]; } } else { - for (; src<end; src+=4) { - *(dest++)=src[3]; - *(dest++)=src[0]; - *(dest++)=src[1]; - *(dest++)=src[2]; + for (; src < end; src += 4) { + *(dest++) = src[3]; + *(dest++) = src[0]; + *(dest++) = src[1]; + *(dest++) = src[2]; } } } else { - int width4=width*4; - orowstride-=width4; - for (; src<end; src+=irowstride) { + int width4 = width * 4; + orowstride -= width4; + for (; src < end; src += irowstride) { if (alpha_first) { - for (i=0; i<width4; i+=4) { - *(dest++)=src[i+1]; - *(dest++)=src[i+2]; - *(dest++)=src[i+3]; - *(dest++)=src[i]; + for (i = 0; i < width4; i += 4) { + *(dest++) = src[i + 1]; + *(dest++) = src[i + 2]; + *(dest++) = src[i + 3]; + *(dest++) = src[i]; } } else { - for (i=0; i<width4; i+=4) { - *(dest++)=src[i+3]; - *(dest++)=src[i]; - *(dest++)=src[i+1]; - *(dest++)=src[i+2]; + for (i = 0; i < width4; i += 4) { + *(dest++) = src[i + 3]; + *(dest++) = src[i]; + *(dest++) = src[i + 1]; + *(dest++) = src[i + 2]; } } - dest+=orowstride; + dest += orowstride; } } } void *convert_swapprepost_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_swapprepost_frame((uint8_t *)ccparams->src,ccparams->hsize,ccparams->vsize,ccparams->irowstrides[0], - ccparams->orowstrides[0],(uint8_t *)ccparams->dest,ccparams->alpha_first,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_swapprepost_frame((uint8_t *)ccparams->src, ccparams->hsize, ccparams->vsize, ccparams->irowstrides[0], + ccparams->orowstrides[0], (uint8_t *)ccparams->dest, ccparams->alpha_first, ccparams->thread_id); return NULL; } + ////////////////////////// // genric YUV static void convert_swab_frame(uint8_t *src, int width, int height, uint8_t *dest, int thread_id) { register int i; - int width4=width*4; - uint8_t *end=src+height*width4; + int width4 = width * 4; + uint8_t *end = src + height * width4; - if (thread_id==-1&&prefs->nfx_threads>1) { - int nthreads=0; + if (thread_id == -1 && prefs->nfx_threads > 1) { + int nthreads = 0; int dheight; - lives_cc_params *ccparams=(lives_cc_params *)lives_malloc(prefs->nfx_threads*sizeof(lives_cc_params)); + lives_cc_params *ccparams = (lives_cc_params *)lives_malloc(prefs->nfx_threads * sizeof(lives_cc_params)); - dheight=CEIL((double)height/(double)prefs->nfx_threads,4); - for (i=0; i<prefs->nfx_threads; i++) { - if ((src+dheight*i*width4)<end) { + dheight = CEIL((double)height / (double)prefs->nfx_threads, 4); + for (i = 0; i < prefs->nfx_threads; i++) { + if ((src + dheight * i * width4) < end) { + ccparams[i].src = src + dheight * i * width4; + ccparams[i].hsize = width; + ccparams[i].dest = dest + dheight * i * width4; - ccparams[i].src=src+dheight*i*width4; - ccparams[i].hsize=width; - ccparams[i].dest=dest+dheight*i*width4; - - if (dheight*(i+1)>(height-4)) { - dheight=height-(dheight*i); + if (dheight * (i + 1) > (height - 4)) { + dheight = height - (dheight * i); } + ccparams[i].vsize = dheight; - ccparams[i].vsize=dheight; - - ccparams[i].thread_id=i; + ccparams[i].thread_id = i; - if (i==0) convert_swab_frame_thread(&ccparams[i]); + if (i == 0) convert_swab_frame_thread(&ccparams[i]); else { - pthread_create(&cthreads[i],NULL,convert_swab_frame_thread,&ccparams[i]); - nthreads=i+1; + pthread_create(&cthreads[i], NULL, convert_swab_frame_thread, &ccparams[i]); + nthreads = i + 1; } } } - for (i=0; i<nthreads; i++) { - pthread_join(cthreads[i],NULL); + for (i = 1; i < nthreads; i++) { + pthread_join(cthreads[i], NULL); } lives_free(ccparams); return; } - - for (; src<end; src+=width4) { - for (i=0; i<width4; i+=4) { - swab(&src[i],&dest[i],4); + for (; src < end; src += width4) { + for (i = 0; i < width4; i += 4) { + swab(&src[i], &dest[i], 4); } - dest+=width4; + dest += width4; } } void *convert_swab_frame_thread(void *data) { - lives_cc_params *ccparams=(lives_cc_params *)data; - convert_swab_frame((uint8_t *)ccparams->src,ccparams->hsize,ccparams->vsize, - (uint8_t *)ccparams->dest,ccparams->thread_id); + lives_cc_params *ccparams = (lives_cc_params *)data; + convert_swab_frame((uint8_t *)ccparams->src, ccparams->hsize, ccparams->vsize, + (uint8_t *)ccparams->dest, ccparams->thread_id); return NULL; } @@ -6929,33 +6727,32 @@ // TODO : handle different sampling methods in and out - register int i,j; - uint8_t *d_u=dest[1],*d_v=dest[2],*s_u=src[1],*s_v=src[2]; - boolean chroma=FALSE; + register int i, j; + uint8_t *d_u = dest[1], *d_v = dest[2], *s_u = src[1], *s_v = src[2]; + boolean chroma = FALSE; - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); - - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { if (!chroma) { // pass 1, copy row - lives_memcpy(d_u,s_u,width); - lives_memcpy(d_v,s_v,width); + lives_memcpy(d_u, s_u, width); + lives_memcpy(d_v, s_v, width); } else { // pass 2 // average two dest rows - d_u[j]=avg_chroma(d_u[j],s_u[j]); - d_v[j]=avg_chroma(d_v[j],s_v[j]); + d_u[j] = avg_chroma(d_u[j], s_u[j]); + d_v[j] = avg_chroma(d_v[j], s_v[j]); } } if (chroma) { - d_u+=width; - d_v+=width; + d_u += width; + d_v += width; } - chroma=!chroma; - s_u+=width; - s_v+=width; + chroma = !chroma; + s_u += width; + s_v += width; } } @@ -6967,33 +6764,32 @@ // TODO - handle different sampling methods in and out - register int i,j; - uint8_t *d_u=dest[1],*d_v=dest[2],*s_u=src[1],*s_v=src[2]; - boolean chroma=FALSE; - int height2=height<<1; - - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); - - for (i=0; i<height2; i++) { - for (j=0; j<width; j++) { + register int i, j; + uint8_t *d_u = dest[1], *d_v = dest[2], *s_u = src[1], *s_v = src[2]; + boolean chroma = FALSE; + int height2 = height << 1; + + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); + + for (i = 0; i < height2; i++) { + for (j = 0; j < width; j++) { + lives_memcpy(d_u, s_u, width); + lives_memcpy(d_v, s_v, width); - lives_memcpy(d_u,s_u,width); - lives_memcpy(d_v,s_v,width); - - if (!chroma&&i>0) { + if (!chroma && i > 0) { // pass 2 // average two src rows - d_u[j-width]=avg_chroma(d_u[j-width],s_u[j]); - d_v[j-width]=avg_chroma(d_v[j-width],s_v[j]); + d_u[j - width] = avg_chroma(d_u[j - width], s_u[j]); + d_v[j - width] = avg_chroma(d_v[j - width], s_v[j]); } } if (chroma) { - s_u+=width; - s_v+=width; + s_u += width; + s_v += width; } - chroma=!chroma; - d_u+=width; - d_v+=width; + chroma = !chroma; + d_u += width; + d_v += width; } } @@ -7009,58 +6805,57 @@ // TESTED ! - register int i,j; - uint8_t *d_u=dest[1],*d_v=dest[2],*s_u=src[1],*s_v=src[2]; - boolean chroma=FALSE; + register int i, j; + uint8_t *d_u = dest[1], *d_v = dest[2], *s_u = src[1], *s_v = src[2]; + boolean chroma = FALSE; int height2; int width2; - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - height>>=1; - width>>=1; + height >>= 1; + width >>= 1; - height2=height<<1; - width2=width<<1; + height2 = height << 1; + width2 = width << 1; // for this algorithm, we assume chroma samples are aligned like mpeg - for (i=0; i<height2; i++) { - d_u[0]=d_u[1]=s_u[0]; - d_v[0]=d_v[1]=s_v[0]; - for (j=2; j<width2; j+=2) { - d_u[j+1]=d_u[j]=s_u[(j>>1)]; - d_v[j+1]=d_v[j]=s_v[(j>>1)]; + for (i = 0; i < height2; i++) { + d_u[0] = d_u[1] = s_u[0]; + d_v[0] = d_v[1] = s_v[0]; + for (j = 2; j < width2; j += 2) { + d_u[j + 1] = d_u[j] = s_u[(j >> 1)]; + d_v[j + 1] = d_v[j] = s_v[(j >> 1)]; - d_u[j-1]=avg_chroma(d_u[j-1],d_u[j]); - d_v[j-1]=avg_chroma(d_v[j-1],d_v[j]); + d_u[j - 1] = avg_chroma(d_u[j - 1], d_u[j]); + d_v[j - 1] = avg_chroma(d_v[j - 1], d_v[j]); - if (!chroma&&i>0) { + if (!chroma && i > 0) { // pass 2 // average two src rows (e.g 2 with 1, 4 with 3, ... etc) for odd dst rows // thus dst row 1 becomes average of src chroma rows 0 and 1, etc.) - d_u[j-width2]=avg_chroma(d_u[j-width2],d_u[j]); - d_v[j-width2]=avg_chroma(d_v[j-width2],d_v[j]); - d_u[j-1-width2]=avg_chroma(d_u[j-1-width2],d_u[j-1]); - d_v[j-1-width2]=avg_chroma(d_v[j-1-width2],d_v[j-1]); + d_u[j - width2] = avg_chroma(d_u[j - width2], d_u[j]); + d_v[j - width2] = avg_chroma(d_v[j - width2], d_v[j]); + d_u[j - 1 - width2] = avg_chroma(d_u[j - 1 - width2], d_u[j - 1]); + d_v[j - 1 - width2] = avg_chroma(d_v[j - 1 - width2], d_v[j - 1]); } } - if (!chroma&&i>0) { - d_u[j-1-width2]=avg_chroma(d_u[j-1-width2],d_u[j-1]); - d_v[j-1-width2]=avg_chroma(d_v[j-1-width2],d_v[j-1]); + if (!chroma && i > 0) { + d_u[j - 1 - width2] = avg_chroma(d_u[j - 1 - width2], d_u[j - 1]); + d_v[j - 1 - width2] = avg_chroma(d_v[j - 1 - width2], d_v[j - 1]); } if (chroma) { - s_u+=width; - s_v+=width; + s_u += width; + s_v += width; } - chroma=!chroma; - d_u+=width2; - d_v+=width2; + chroma = !chroma; + d_u += width2; + d_v += width2; } - if (add_alpha) memset(dest+((width*height)<<3),255,((width*height)<<3)); - + if (add_alpha) memset(dest + ((width * height) << 3), 255, ((width * height) << 3)); } @@ -7077,66 +6872,67 @@ // TESTED ! - register int i,j; - uint8_t *s_y=src[0],*s_u=src[1],*s_v=src[2]; - boolean chroma=FALSE; - int widthx,hwidth=width>>1; - int opsize=3,opsize2; + register int i, j; + uint8_t *s_y = src[0], *s_u = src[1], *s_v = src[2]; + boolean chroma = FALSE; + int widthx, hwidth = width >> 1; + int opsize = 3, opsize2; //int count; - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - if (add_alpha) opsize=4; + if (add_alpha) opsize = 4; - widthx=width*opsize; - opsize2=opsize*2; + widthx = width * opsize; + opsize2 = opsize * 2; - for (i=0; i<height; i++) { - dest[0]=*(s_y++); - dest[1]=dest[opsize+1]=s_u[0]; - dest[2]=dest[opsize+2]=s_v[0]; - if (add_alpha) dest[3]=dest[opsize+3]=255; - dest[opsize]=*(s_y++); + for (i = 0; i < height; i++) { + dest[0] = *(s_y++); + dest[1] = dest[opsize + 1] = s_u[0]; + dest[2] = dest[opsize + 2] = s_v[0]; + if (add_alpha) dest[3] = dest[opsize + 3] = 255; + dest[opsize] = *(s_y++); //count=10; - for (j=opsize2; j<widthx; j+=opsize2) { + for (j = opsize2; j < widthx; j += opsize2) { // process two pixels at a time, and we average the first colour pixel with the last from the previous 2 // we know we can do this because Y must be even width // implements jpeg style subsampling : TODO - mpeg and dvpal style - dest[j]=*(s_y++); - dest[j+opsize]=*(s_y++); - if (add_alpha) dest[j+3]=dest[j+7]=255; - dest[j+1]=dest[j+opsize+1]=s_u[(j/opsize)/2]; - dest[j+2]=dest[j+opsize+2]=s_v[(j/opsize)/2]; - - dest[j-opsize+1]=avg_chroma(dest[j-opsize+1],dest[j+1]); - dest[j-opsize+2]=avg_chroma(dest[j-opsize+2],dest[j+2]); - if (!chroma&&i>0) { + dest[j] = *(s_y++); + dest[j + opsize] = *(s_y++); + if (add_alpha) dest[j + 3] = dest[j + 7] = 255; + dest[j + 1] = dest[j + opsize + 1] = s_u[(j / opsize) / 2]; + dest[j + 2] = dest[j + opsize + 2] = s_v[(j / opsize) / 2]; + + dest[j - opsize + 1] = avg_chroma(dest[j - opsize + 1], dest[j + 1]); + dest[j - opsize + 2] = avg_chroma(dest[j - opsize + 2], dest[j + 2]); + if (!chroma && i > 0) { // pass 2 // average two src rows - dest[j+1-widthx]=avg_chroma(dest[j+1-widthx],dest[j+1]); - dest[j+2-widthx]=avg_chroma(dest[j+2-widthx],dest[j+2]); - dest[j-opsize+1-widthx]=avg_chroma(dest[j-opsize+1-widthx],dest[j-opsize+1]); - dest[j-opsize+2-widthx]=avg_chroma(dest[j-opsize+2-widthx],dest[j-opsize+2]); + dest[j + 1 - widthx] = avg_chroma(dest[j + 1 - widthx], dest[j + 1]); + dest[j + 2 - widthx] = avg_chroma(dest[j + 2 - widthx], dest[j + 2]); + dest[j - opsize + 1 - widthx] = avg_chroma(dest[j - opsize + 1 - widthx], dest[j - opsize + 1]); + dest[j - opsize + 2 - widthx] = avg_chroma(dest[j - opsize + 2 - widthx], dest[j - opsize + 2]); } } - if (!chroma&&i>0) { - dest[j-opsize+1-widthx]=avg_chroma(dest[j-opsize+1-widthx],dest[j-opsize+1]); - dest[j-opsize+2-widthx]=avg_chroma(dest[j-opsize+2-widthx],dest[j-opsize+2]); + if (!chroma && i > 0) { + dest[j - opsize + 1 - widthx] = avg_chroma(dest[j - opsize + 1 - widthx], dest[j - opsize + 1]); + dest[j - opsize + 2 - widthx] = avg_chroma(dest[j - opsize + 2 - widthx], dest[j - opsize + 2]); } if (chroma) { - s_u+=hwidth; - s_v+=hwidth; + s_u += hwidth; + s_v += hwidth; } - chroma=!chroma; - dest+=widthx; + chroma = !chroma; + dest += widthx; } } + static void convert_double_chroma_packed(uint8_t **src, int width, int height, uint8_t *dest, boolean add_alpha, boolean clamped) { // width and height here are width and height of dest chroma planes, in bytes @@ -7148,266 +6944,261 @@ //TODO: handle non-dvntsc in - register int i,j; - uint8_t *s_y=src[0],*s_u=src[1],*s_v=src[2]; + register int i, j; + uint8_t *s_y = src[0], *s_u = src[1], *s_v = src[2]; int widthx; - int opsize=3,opsize2; + int opsize = 3, opsize2; - set_conversion_arrays(clamped?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,WEED_YUV_SUBSPACE_YCBCR); + set_conversion_arrays(clamped ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, WEED_YUV_SUBSPACE_YCBCR); - if (add_alpha) opsize=4; + if (add_alpha) opsize = 4; - widthx=width*opsize; - opsize2=opsize*2; + widthx = width * opsize; + opsize2 = opsize * 2; - for (i=0; i<height; i++) { - dest[0]=*(s_y++); - dest[1]=dest[opsize+1]=s_u[0]; - dest[2]=dest[opsize+2]=s_v[0]; - if (add_alpha) dest[3]=dest[opsize+3]=255; - dest[opsize]=*(s_y++); - for (j=opsize2; j<widthx; j+=opsize2) { + for (i = 0; i < height; i++) { + dest[0] = *(s_y++); + dest[1] = dest[opsize + 1] = s_u[0]; + dest[2] = dest[opsize + 2] = s_v[0]; + if (add_alpha) dest[3] = dest[opsize + 3] = 255; + dest[opsize] = *(s_y++); + for (j = opsize2; j < widthx; j += opsize2) { // dvntsc style - chroma is aligned with luma // process two pixels at a time, and we average the first colour pixel with the last from the previous 2 // we know we can do this because Y must be even width - dest[j]=*(s_y++); - dest[j+opsize]=*(s_y++); - if (add_alpha) dest[j+opsize-1]=dest[j+opsize2-1]=255; - - dest[j+1]=dest[j+opsize+1]=s_u[(j/opsize)>>1]; - dest[j+2]=dest[j+opsize+2]=s_v[(j/opsize)>>1]; - - dest[j-opsize+1]=avg_chroma(dest[j-opsize+1],dest[j+1]); - dest[j-opsize+2]=avg_chroma(dest[j-opsize+2],dest[j+2]); - } - s_u+=width; - s_v+=width; - dest+=widthx; + dest[j] = *(s_y++); + dest[j + opsize] = *(s_y++); + if (add_alpha) dest[j + opsize - 1] = dest[j + opsize2 - 1] = 255; + + dest[j + 1] = dest[j + opsize + 1] = s_u[(j / opsize) >> 1]; + dest[j + 2] = dest[j + opsize + 2] = s_v[(j / opsize) >> 1]; + + dest[j - opsize + 1] = avg_chroma(dest[j - opsize + 1], dest[j + 1]); + dest[j - opsize + 2] = avg_chroma(dest[j - opsize + 2], dest[j + 2]); + } + s_u += width; + s_v += width; + dest += widthx; } } - static void switch_yuv_sampling(weed_plant_t *layer) { int error; - int sampling=weed_get_int_value(layer,WEED_LEAF_YUV_SAMPLING,&error); - int clamping=weed_get_int_value(layer,WEED_LEAF_YUV_CLAMPING,&error); - int subspace=weed_get_int_value(layer,WEED_LEAF_YUV_SUBSPACE,&error); - int palette=weed_get_int_value(layer,WEED_LEAF_CURRENT_PALETTE,&error); - int width=(weed_get_int_value(layer,WEED_LEAF_WIDTH,&error)>>1); - int height=(weed_get_int_value(layer,WEED_LEAF_HEIGHT,&error)>>1); - unsigned char **pixel_data,*dst; + int sampling = weed_get_int_value(layer, WEED_LEAF_YUV_SAMPLING, &error); + int clamping = weed_get_int_value(layer, WEED_LEAF_YUV_CLAMPING, &error); + int subspace = weed_get_int_value(layer, WEED_LEAF_YUV_SUBSPACE, &error); + int palette = weed_get_int_value(layer, WEED_LEAF_CURRENT_PALETTE, &error); + int width = (weed_get_int_value(layer, WEED_LEAF_WIDTH, &error) >> 1); + int height = (weed_get_int_value(layer, WEED_LEAF_HEIGHT, &error) >> 1); + unsigned char **pixel_data, *dst; - register int i,j,k; + register int i, j, k; - if (palette!=WEED_PALETTE_YUV420P) return; + if (palette != WEED_PALETTE_YUV420P) return; - pixel_data=(unsigned char **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); + pixel_data = (unsigned char **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); - set_conversion_arrays(clamping,subspace); + set_conversion_arrays(clamping, subspace); - if (sampling==WEED_YUV_SAMPLING_MPEG) { + if (sampling == WEED_YUV_SAMPLING_MPEG) { // jpeg is located centrally between Y, mpeg(2) and some flv are located on the left Y // so here we just set dst[0]=avg(src[0],src[1]), dst[1]=avg(src[1],src[2]), etc. // the last value is repeated once width--; - for (k=1; k<3; k++) { - dst=pixel_data[k]; - for (j=0; j<height; j++) { - for (i=0; i<width; i++) dst[i]=avg_chroma(dst[i],dst[i+1]); - dst[i]=dst[i-1]; - dst+=width+1; - } - } - weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,WEED_YUV_SAMPLING_JPEG); - } else if (sampling==WEED_YUV_SAMPLING_JPEG) { - for (k=1; k<3; k++) { - dst=pixel_data[k]; - for (j=0; j<height; j++) { - for (i=width-1; i>0; i--) dst[i]=avg_chroma(dst[i],dst[i-1]); - dst[0]=dst[1]; - dst+=width; + for (k = 1; k < 3; k++) { + dst = pixel_data[k]; + for (j = 0; j < height; j++) { + for (i = 0; i < width; i++) dst[i] = avg_chroma(dst[i], dst[i + 1]); + dst[i] = dst[i - 1]; + dst += width + 1; + } + } + weed_set_int_value(layer, WEED_LEAF_YUV_SAMPLING, WEED_YUV_SAMPLING_JPEG); + } else if (sampling == WEED_YUV_SAMPLING_JPEG) { + for (k = 1; k < 3; k++) { + dst = pixel_data[k]; + for (j = 0; j < height; j++) { + for (i = width - 1; i > 0; i--) dst[i] = avg_chroma(dst[i], dst[i - 1]); + dst[0] = dst[1]; + dst += width; } } - weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,WEED_YUV_SAMPLING_MPEG); + weed_set_int_value(layer, WEED_LEAF_YUV_SAMPLING, WEED_YUV_SAMPLING_MPEG); } lives_free(pixel_data); } - static void switch_yuv_clamping_and_subspace(weed_plant_t *layer, int oclamping, int osubspace) { // currently subspace conversions are not performed - TODO // we assume subspace Y'CbCr int error; - int iclamping=weed_get_int_value(layer,WEED_LEAF_YUV_CLAMPING,&error); - int isubspace=weed_get_int_value(layer,WEED_LEAF_YUV_SUBSPACE,&error); + int iclamping = weed_get_int_value(layer, WEED_LEAF_YUV_CLAMPING, &error); + int isubspace = weed_get_int_value(layer, WEED_LEAF_YUV_SUBSPACE, &error); - int palette=weed_get_int_value(layer,WEED_LEAF_CURRENT_PALETTE,&error); - int width=weed_get_int_value(layer,WEED_LEAF_WIDTH,&error); - int height=weed_get_int_value(layer,WEED_LEAF_HEIGHT,&error); + int palette = weed_get_int_value(layer, WEED_LEAF_CURRENT_PALETTE, &error); + int width = weed_get_int_value(layer, WEED_LEAF_WIDTH, &error); + int height = weed_get_int_value(layer, WEED_LEAF_HEIGHT, &error); - void **pixel_data=weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); + void **pixel_data = weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); - uint8_t *src,*src1,*src2,*end; + uint8_t *src, *src1, *src2, *end; - get_YUV_to_YUV_conversion_arrays(iclamping,isubspace,oclamping,osubspace); + get_YUV_to_YUV_conversion_arrays(iclamping, isubspace, oclamping, osubspace); switch (palette) { case WEED_PALETTE_YUVA8888: - src=(uint8_t *)pixel_data[0]; - end=src+width*height*4; - while (src<end) { - *src=Y_to_Y[*src]; + src = (uint8_t *)pixel_data[0]; + end = src + width * height * 4; + while (src < end) { + *src = Y_to_Y[*src]; src++; - *src=U_to_U[*src]; + *src = U_to_U[*src]; src++; - *src=V_to_V[*src]; - src+=2; + *src = V_to_V[*src]; + src += 2; } break; case WEED_PALETTE_YUV888: - src=(uint8_t *)pixel_data[0]; - end=src+width*height*3; - while (src<end) { - *src=Y_to_Y[*src]; + src = (uint8_t *)pixel_data[0]; + end = src + width * height * 3; + while (src < end) { + *src = Y_to_Y[*src]; src++; - *src=U_to_U[*src]; + *src = U_to_U[*src]; src++; - *src=V_to_V[*src]; + *src = V_to_V[*src]; src++; } break; case WEED_PALETTE_YUVA4444P: case WEED_PALETTE_YUV444P: - src=(uint8_t *)pixel_data[0]; - src1=(uint8_t *)pixel_data[1]; - src2=(uint8_t *)pixel_data[2]; - end=src+width*height; - while (src<end) { - *src=Y_to_Y[*src]; + src = (uint8_t *)pixel_data[0]; + src1 = (uint8_t *)pixel_data[1]; + src2 = (uint8_t *)pixel_data[2]; + end = src + width * height; + while (src < end) { + *src = Y_to_Y[*src]; src++; - *src1=U_to_U[*src1]; + *src1 = U_to_U[*src1]; src1++; - *src2=V_to_V[*src2]; + *src2 = V_to_V[*src2]; src2++; } break; case WEED_PALETTE_UYVY: - src=(uint8_t *)pixel_data[0]; - end=src+width*height*4; - while (src<end) { - *src=U_to_U[*src]; + src = (uint8_t *)pixel_data[0]; + end = src + width * height * 4; + while (src < end) { + *src = U_to_U[*src]; src++; - *src=Y_to_Y[*src]; + *src = Y_to_Y[*src]; src++; - *src=V_to_V[*src]; + *src = V_to_V[*src]; src++; - *src=Y_to_Y[*src]; + *src = Y_to_Y[*src]; src++; } break; case WEED_PALETTE_YUYV: - src=(uint8_t *)pixel_data[0]; - end=src+width*height*4; - while (src<end) { - *src=Y_to_Y[*src]; + src = (uint8_t *)pixel_data[0]; + end = src + width * height * 4; + while (src < end) { + *src = Y_to_Y[*src]; src++; - *src=U_to_U[*src]; + *src = U_to_U[*src]; src++; - *src=Y_to_Y[*src]; + *src = Y_to_Y[*src]; src++; - *src=V_to_V[*src]; + *src = V_to_V[*src]; src++; } break; case WEED_PALETTE_YUV422P: - src=(uint8_t *)pixel_data[0]; - src1=(uint8_t *)pixel_data[1]; - src2=(uint8_t *)pixel_data[2]; - end=src+width*height; - while (src<end) { - *src=Y_to_Y[*src]; + src = (uint8_t *)pixel_data[0]; + src1 = (uint8_t *)pixel_data[1]; + src2 = (uint8_t *)pixel_data[2]; + end = src + width * height; + while (src < end) { + *src = Y_to_Y[*src]; src++; - *src=Y_to_Y[*src]; + *src = Y_to_Y[*src]; src++; - *src1=U_to_U[*src1]; + *src1 = U_to_U[*src1]; src1++; - *src2=V_to_V[*src2]; + *src2 = V_to_V[*src2]; src2++; } break; case WEED_PALETTE_YVU420P: - src=(uint8_t *)pixel_data[0]; - src1=(uint8_t *)pixel_data[2]; - src2=(uint8_t *)pixel_data[1]; - end=src+width*height; - while (src<end) { - *src=Y_to_Y[*src]; + src = (uint8_t *)pixel_data[0]; + src1 = (uint8_t *)pixel_data[2]; + src2 = (uint8_t *)pixel_data[1]; + end = src + width * height; + while (src < end) { + *src = Y_to_Y[*src]; src++; - *src=Y_to_Y[*src]; + *src = Y_to_Y[*src]; src++; - *src=Y_to_Y[*src]; + *src = Y_to_Y[*src]; src++; - *src=Y_to_Y[*src]; + *src = Y_to_Y[*src]; src++; - *src1=U_to_U[*src1]; + *src1 = U_to_U[*src1]; src1++; - *src2=V_to_V[*src2]; + *src2 = V_to_V[*src2]; src2++; } break; case WEED_PALETTE_YUV420P: - src=(uint8_t *)pixel_data[0]; - src1=(uint8_t *)pixel_data[1]; - src2=(uint8_t *)pixel_data[2]; - end=src+width*height; - while (src<end) { - *src=Y_to_Y[*src]; + src = (uint8_t *)pixel_data[0]; + src1 = (uint8_t *)pixel_data[1]; + src2 = (uint8_t *)pixel_data[2]; + end = src + width * height; + while (src < end) { + *src = Y_to_Y[*src]; src++; - *src=Y_to_Y[*src]; + *src = Y_to_Y[*src]; src++; - *src=Y_to_Y[*src]; + *src = Y_to_Y[*src]; src++; - *src=Y_to_Y[*src]; + *src = Y_to_Y[*src]; src++; - *src1=U_to_U[*src1]; + *src1 = U_to_U[*src1]; src1++; - *src2=V_to_V[*src2]; + *src2 = V_to_V[*src2]; src2++; } break; case WEED_PALETTE_YUV411: - src=(uint8_t *)pixel_data[0]; - end=src+width*height*6; - while (src<end) { - *src=U_to_U[*src]; + src = (uint8_t *)pixel_data[0]; + end = src + width * height * 6; + while (src < end) { + *src = U_to_U[*src]; src++; - *src=Y_to_Y[*src]; + *src = Y_to_Y[*src]; src++; - *src=Y_to_Y[*src]; + *src = Y_to_Y[*src]; src++; - *src=V_to_V[*src]; + *src = V_to_V[*src]; src++; - *src=Y_to_Y[*src]; + *src = Y_to_Y[*src]; src++; - *src=Y_to_Y[*src]; + *src = Y_to_Y[*src]; src++; } break; } - weed_set_int_value(layer,WEED_LEAF_YUV_CLAMPING,oclamping); + weed_set_int_value(layer, WEED_LEAF_YUV_CLAMPING, oclamping); lives_free(pixel_data); - } - //////////////////////////////////////////////////////////////////////////////////////// - void create_empty_pixel_data(weed_plant_t *layer, boolean black_fill, boolean may_contig) { // width, height are src size in (macro) pixels // warning, width and height may be adjusted @@ -7417,511 +7208,498 @@ // may_contig should normally be set to TRUE, except for special uses during palette conversion int error; - int palette=weed_get_int_value(layer,WEED_LEAF_CURRENT_PALETTE,&error); - int width=weed_get_int_value(layer,WEED_LEAF_WIDTH,&error); - int height=weed_get_int_value(layer,WEED_LEAF_HEIGHT,&error); - int rowstride,*rowstrides; + int palette = weed_get_int_value(layer, WEED_LEAF_CURRENT_PALETTE, &error); + int width = weed_get_int_value(layer, WEED_LEAF_WIDTH, &error); + int height = weed_get_int_value(layer, WEED_LEAF_HEIGHT, &error); + int rowstride, *rowstrides; - int y_black=16; - int clamping=WEED_YUV_CLAMPING_CLAMPED; + int y_black = 16; + int clamping = WEED_YUV_CLAMPING_CLAMPED; uint8_t *pixel_data; uint8_t *memblock; uint8_t **pd_array; - unsigned char black[6]= {0,0,0,255,255,255}; - float blackf[4]= {0.,0.,0.,1.}; + unsigned char black[6] = {0, 0, 0, 255, 255, 255}; + float blackf[4] = {0., 0., 0., 1.}; unsigned char *ptr; size_t framesize; - register int i,j; + register int i, j; - weed_set_voidptr_value(layer,WEED_LEAF_PIXEL_DATA, NULL); - if (weed_plant_has_leaf(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS)) - weed_leaf_delete(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS); - if (weed_plant_has_leaf(layer,WEED_LEAF_HOST_PIXBUF_SRC)) - weed_leaf_delete(layer,WEED_LEAF_HOST_PIXBUF_SRC); + weed_set_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, NULL); + if (weed_plant_has_leaf(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS)) + weed_leaf_delete(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS); + if (weed_plant_has_leaf(layer, WEED_LEAF_HOST_PIXBUF_SRC)) + weed_leaf_delete(layer, WEED_LEAF_HOST_PIXBUF_SRC); if (black_fill) { - if (weed_plant_has_leaf(layer,WEED_LEAF_YUV_CLAMPING)) clamping=weed_get_int_value(layer,WEED_LEAF_YUV_CLAMPING,&error); - if (clamping!=WEED_YUV_CLAMPING_CLAMPED) y_black=0; + if (weed_plant_has_leaf(layer, WEED_LEAF_YUV_CLAMPING)) clamping = weed_get_int_value(layer, WEED_LEAF_YUV_CLAMPING, &error); + if (clamping != WEED_YUV_CLAMPING_CLAMPED) y_black = 0; } switch (palette) { case WEED_PALETTE_RGB24: case WEED_PALETTE_BGR24: #ifdef USE_SWSCALE - rowstride=CEIL(width*3,mainw->rowstride_alignment); + rowstride = CEIL(width * 3, mainw->rowstride_alignment); #else - rowstride=width*3; + rowstride = width * 3; #endif - framesize=CEIL(rowstride*height,32)+64; + framesize = CEIL(rowstride * height, 32) + 64; - pixel_data=(uint8_t *)lives_calloc(framesize>>4,16); - if (pixel_data==NULL) return; - weed_set_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,pixel_data); - weed_set_int_value(layer,WEED_LEAF_ROWSTRIDES,rowstride); + pixel_data = (uint8_t *)lives_calloc(framesize >> 4, 16); + if (pixel_data == NULL) return; + weed_set_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, pixel_data); + weed_set_int_value(layer, WEED_LEAF_ROWSTRIDES, rowstride); break; case WEED_PALETTE_YUV888: #ifdef USE_SWSCALE - rowstride=CEIL(width*3,mainw->rowstride_alignment); + rowstride = CEIL(width * 3, mainw->rowstride_alignment); #else - rowstride=width*3; + rowstride = width * 3; #endif - framesize=CEIL(rowstride*height,32)+64; + framesize = CEIL(rowstride * height, 32) + 64; if (!black_fill) { - pixel_data=(uint8_t *)lives_calloc(framesize>>4,16); - if (pixel_data==NULL) return; + pixel_data = (uint8_t *)lives_calloc(framesize >> 4, 16); + if (pixel_data == NULL) return; } else { - black[0]=y_black; - black[1]=black[2]=128; - pixel_data=(uint8_t *)lives_try_malloc(framesize); - if (pixel_data==NULL) return; - ptr=pixel_data; - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - lives_memcpy(ptr,black,3); - ptr+=3; + black[0] = y_black; + black[1] = black[2] = 128; + pixel_data = (uint8_t *)lives_try_malloc(framesize); + if (pixel_data == NULL) return; + ptr = pixel_data; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + lives_memcpy(ptr, black, 3); + ptr += 3; } } } - weed_set_int_value(layer,WEED_LEAF_ROWSTRIDES,rowstride); - weed_set_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,pixel_data); + weed_set_int_value(layer, WEED_LEAF_ROWSTRIDES, rowstride); + weed_set_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, pixel_data); break; case WEED_PALETTE_UYVY8888: - framesize=CEIL(width*height*4,32)+64; + framesize = CEIL(width * height * 4, 32) + 64; if (!black_fill) { - pixel_data=(uint8_t *)lives_calloc(framesize>>4,16); - if (pixel_data==NULL) return; + pixel_data = (uint8_t *)lives_calloc(framesize >> 4, 16); + if (pixel_data == NULL) return; } else { - black[1]=black[3]=y_black; - black[0]=black[2]=128; - pixel_data=(uint8_t *)lives_try_malloc(framesize); - if (pixel_data==NULL) return; - ptr=pixel_data; - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - lives_memcpy(ptr,black,4); - ptr+=4; + black[1] = black[3] = y_black; + black[0] = black[2] = 128; + pixel_data = (uint8_t *)lives_try_malloc(framesize); + if (pixel_data == NULL) return; + ptr = pixel_data; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + lives_memcpy(ptr, black, 4); + ptr += 4; } } } - rowstride=width*4; - weed_set_int_value(layer,WEED_LEAF_ROWSTRIDES,rowstride); - weed_set_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,pixel_data); + rowstride = width * 4; + weed_set_int_value(layer, WEED_LEAF_ROWSTRIDES, rowstride); + weed_set_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, pixel_data); break; case WEED_PALETTE_YUYV8888: - framesize=CEIL(width*height*4,32)+64; + framesize = CEIL(width * height * 4, 32) + 64; if (!black_fill) { - pixel_data=(uint8_t *)lives_calloc(framesize>>4,16); - if (pixel_data==NULL) return; + pixel_data = (uint8_t *)lives_calloc(framesize >> 4, 16); + if (pixel_data == NULL) return; } else { - black[0]=black[2]=y_black; - black[1]=black[3]=128; - pixel_data=(uint8_t *)lives_try_malloc(framesize); - if (pixel_data==NULL) return; - ptr=pixel_data; - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - lives_memcpy(ptr,black,4); - ptr+=4; + black[0] = black[2] = y_black; + black[1] = black[3] = 128; + pixel_data = (uint8_t *)lives_try_malloc(framesize); + if (pixel_data == NULL) return; + ptr = pixel_data; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + lives_memcpy(ptr, black, 4); + ptr += 4; } } } - rowstride=width*4; - weed_set_int_value(layer,WEED_LEAF_ROWSTRIDES,rowstride); - weed_set_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,pixel_data); + rowstride = width * 4; + weed_set_int_value(layer, WEED_LEAF_ROWSTRIDES, rowstride); + weed_set_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, pixel_data); break; case WEED_PALETTE_RGBA32: #ifdef USE_SWSCALE - rowstride=CEIL(width*4,mainw->rowstride_alignment); + rowstride = CEIL(width * 4, mainw->rowstride_alignment); #else - rowstride=width*4; + rowstride = width * 4; #endif - framesize=CEIL(rowstride*height,32)+64; + framesize = CEIL(rowstride * height, 32) + 64; if (!black_fill) { - pixel_data=(uint8_t *)lives_calloc(framesize>>4,16); - if (pixel_data==NULL) return; + pixel_data = (uint8_t *)lives_calloc(framesize >> 4, 16); + if (pixel_data == NULL) return; } else { - pixel_data=(uint8_t *)lives_try_malloc(framesize); - if (pixel_data==NULL) return; - ptr=pixel_data; - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - lives_memcpy(ptr,black,4); - ptr+=4; + pixel_data = (uint8_t *)lives_try_malloc(framesize); + if (pixel_data == NULL) return; + ptr = pixel_data; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + lives_memcpy(ptr, black, 4); + ptr += 4; } } } - weed_set_int_value(layer,WEED_LEAF_ROWSTRIDES,rowstride); - weed_set_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,pixel_data); + weed_set_int_value(layer, WEED_LEAF_ROWSTRIDES, rowstride); + weed_set_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, pixel_data); break; case WEED_PALETTE_BGRA32: #ifdef USE_SWSCALE - rowstride=CEIL(width*4,mainw->rowstride_alignment); + rowstride = CEIL(width * 4, mainw->rowstride_alignment); #else - rowstride=width*4; + rowstride = width * 4; #endif - framesize=CEIL(rowstride*height,32)+64; + framesize = CEIL(rowstride * height, 32) + 64; if (!black_fill) { - pixel_data=(uint8_t *)lives_calloc(framesize>>4,16); - if (pixel_data==NULL) return; + pixel_data = (uint8_t *)lives_calloc(framesize >> 4, 16); + if (pixel_data == NULL) return; } else { - pixel_data=(uint8_t *)lives_try_malloc(framesize); - if (pixel_data==NULL) return; - ptr=pixel_data; - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - lives_memcpy(ptr,black,4); - ptr+=4; + pixel_data = (uint8_t *)lives_try_malloc(framesize); + if (pixel_data == NULL) return; + ptr = pixel_data; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + lives_memcpy(ptr, black, 4); + ptr += 4; } } } - weed_set_int_value(layer,WEED_LEAF_ROWSTRIDES,rowstride); - weed_set_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,pixel_data); + weed_set_int_value(layer, WEED_LEAF_ROWSTRIDES, rowstride); + weed_set_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, pixel_data); break; case WEED_PALETTE_ARGB32: #ifdef USE_SWSCALE - rowstride=CEIL(width*4,mainw->rowstride_alignment); + rowstride = CEIL(width * 4, mainw->rowstride_alignment); #else - rowstride=width*4; + rowstride = width * 4; #endif - framesize=CEIL(rowstride*height,32)+64; + framesize = CEIL(rowstride * height, 32) + 64; if (!black_fill) { - pixel_data=(uint8_t *)lives_calloc(framesize>>4,16); - if (pixel_data==NULL) return; + pixel_data = (uint8_t *)lives_calloc(framesize >> 4, 16); + if (pixel_data == NULL) return; } else { - black[0]=255; - black[3]=0; - pixel_data=(uint8_t *)lives_try_malloc(framesize); - if (pixel_data==NULL) return; - ptr=pixel_data; - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - lives_memcpy(ptr,black,4); - ptr+=4; + black[0] = 255; + black[3] = 0; + pixel_data = (uint8_t *)lives_try_malloc(framesize); + if (pixel_data == NULL) return; + ptr = pixel_data; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + lives_memcpy(ptr, black, 4); + ptr += 4; } } } - weed_set_int_value(layer,WEED_LEAF_ROWSTRIDES,rowstride); - weed_set_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,pixel_data); + weed_set_int_value(layer, WEED_LEAF_ROWSTRIDES, rowstride); + weed_set_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, pixel_data); break; case WEED_PALETTE_YUVA8888: #ifdef USE_SWSCALE - rowstride=CEIL(width*4,mainw->rowstride_alignment); + rowstride = CEIL(width * 4, mainw->rowstride_alignment); #else - rowstride=width*4; + rowstride = width * 4; #endif - framesize=CEIL(rowstride*height,32)+64; + framesize = CEIL(rowstride * height, 32) + 64; if (!black_fill) { - pixel_data=(uint8_t *)lives_calloc(framesize>>4,16); - if (pixel_data==NULL) return; + pixel_data = (uint8_t *)lives_calloc(framesize >> 4, 16); + if (pixel_data == NULL) return; } else { - black[0]=y_black; - black[1]=black[2]=128; - pixel_data=(uint8_t *)lives_try_malloc(framesize); - if (pixel_data==NULL) return; - ptr=pixel_data; - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - lives_memcpy(ptr,black,4); - ptr+=4; + black[0] = y_black; + black[1] = black[2] = 128; + pixel_data = (uint8_t *)lives_try_malloc(framesize); + if (pixel_data == NULL) return; + ptr = pixel_data; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + lives_memcpy(ptr, black, 4); + ptr += 4; } } } - weed_set_int_value(layer,WEED_LEAF_ROWSTRIDES,rowstride); - weed_set_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,pixel_data); + weed_set_int_value(layer, WEED_LEAF_ROWSTRIDES, rowstride); + weed_set_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, pixel_data); break; case WEED_PALETTE_YUV420P: case WEED_PALETTE_YVU420P: - width=(width>>1)<<1; - weed_set_int_value(layer,WEED_LEAF_WIDTH,width); - height=(height>>1)<<1; - weed_set_int_value(layer,WEED_LEAF_HEIGHT,height); - rowstrides=(int *)lives_malloc(sizint*3); - rowstrides[0]=width; - rowstrides[1]=rowstrides[2]=(width>>1); - weed_set_int_array(layer,WEED_LEAF_ROWSTRIDES,3,rowstrides); + width = (width >> 1) << 1; + weed_set_int_value(layer, WEED_LEAF_WIDTH, width); + height = (height >> 1) << 1; + weed_set_int_value(layer, WEED_LEAF_HEIGHT, height); + rowstrides = (int *)lives_malloc(sizint * 3); + rowstrides[0] = width; + rowstrides[1] = rowstrides[2] = (width >> 1); + weed_set_int_array(layer, WEED_LEAF_ROWSTRIDES, 3, rowstrides); lives_free(rowstrides); - pd_array=(uint8_t **)lives_malloc(3*sizeof(uint8_t *)); - - framesize=CEIL(width*height,32); + pd_array = (uint8_t **)lives_malloc(3 * sizeof(uint8_t *)); + framesize = CEIL(width * height, 32); if (!may_contig) { - weed_leaf_delete(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS); + weed_leaf_delete(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS); if (!black_fill) { - pd_array[0]=(uint8_t *)lives_calloc(framesize>>4,16); - if (pd_array[0]==NULL) { + pd_array[0] = (uint8_t *)lives_calloc(framesize >> 4, 16); + if (pd_array[0] == NULL) { lives_free(pd_array); return; } - pd_array[1]=(uint8_t *)lives_calloc(framesize>>4,4); - if (pd_array[1]==NULL) { + pd_array[1] = (uint8_t *)lives_calloc(framesize >> 4, 4); + if (pd_array[1] == NULL) { lives_free(pd_array[0]); lives_free(pd_array); return; } - pd_array[2]=(uint8_t *)lives_calloc((framesize>>4)+8,4); - if (pd_array[2]==NULL) { + pd_array[2] = (uint8_t *)lives_calloc((framesize >> 4) + 8, 4); + if (pd_array[2] == NULL) { lives_free(pd_array[1]); lives_free(pd_array[0]); lives_free(pd_array); return; } } else { - pd_array[0]=(uint8_t *)lives_try_malloc(framesize); - if (pd_array[0]==NULL) { + pd_array[0] = (uint8_t *)lives_try_malloc(framesize); + if (pd_array[0] == NULL) { lives_free(pd_array); return; } - memset(pd_array[0],y_black,width*height); - pd_array[1]=(uint8_t *)lives_try_malloc(framesize>>2); - if (pd_array[1]==NULL) { + memset(pd_array[0], y_black, width * height); + pd_array[1] = (uint8_t *)lives_try_malloc(framesize >> 2); + if (pd_array[1] == NULL) { lives_free(pd_array[0]); lives_free(pd_array); return; } - memset(pd_array[1],128,width*height/4); - pd_array[2]=(uint8_t *)lives_try_malloc((framesize>>2)+64); - if (pd_array[2]==NULL) { + memset(pd_array[1], 128, width * height / 4); + pd_array[2] = (uint8_t *)lives_try_malloc((framesize >> 2) + 64); + if (pd_array[2] == NULL) { lives_free(pd_array[1]); lives_free(pd_array[0]); lives_free(pd_array); return; } - memset(pd_array[2],128,width*height/4); + memset(pd_array[2], 128, width * height / 4); } - } else { - weed_set_boolean_value(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS,WEED_TRUE); - + weed_set_boolean_value(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS, WEED_TRUE); if (!black_fill) { - memblock=(uint8_t *)lives_calloc(((framesize*3)>>3)+8,4); - if (memblock==NULL) return; - pd_array[0]=(uint8_t *)memblock; - pd_array[1]=(uint8_t *)(memblock+framesize); - pd_array[2]=(uint8_t *)(memblock+((framesize*5)>>2)); + memblock = (uint8_t *)lives_calloc(((framesize * 3) >> 3) + 8, 4); + if (memblock == NULL) return; + pd_array[0] = (uint8_t *)memblock; + pd_array[1] = (uint8_t *)(memblock + framesize); + pd_array[2] = (uint8_t *)(memblock + ((framesize * 5) >> 2)); } else { - memblock=(uint8_t *)lives_try_malloc(framesize*3/2); - if (memblock==NULL) return; - pd_array[0]=(uint8_t *)memblock; - memset(pd_array[0],y_black,width*height); - pd_array[1]=(uint8_t *)(memblock+framesize); - memset(pd_array[1],128,width*height/2); - pd_array[2]=(uint8_t *)(memblock+((framesize*5)>>2)); + memblock = (uint8_t *)lives_try_malloc(framesize * 3 / 2); + if (memblock == NULL) return; + pd_array[0] = (uint8_t *)memblock; + memset(pd_array[0], y_black, width * height); + pd_array[1] = (uint8_t *)(memblock + framesize); + memset(pd_array[1], 128, width * height / 2); + pd_array[2] = (uint8_t *)(memblock + ((framesize * 5) >> 2)); } - } - weed_set_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,3,(void **)pd_array); + weed_set_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, 3, (void **)pd_array); lives_free(pd_array); break; case WEED_PALETTE_YUV422P: - width=(width>>1)<<1; - weed_set_int_value(layer,WEED_LEAF_WIDTH,width); - rowstrides=(int *)lives_malloc(sizint*3); - rowstrides[0]=width; - rowstrides[1]=rowstrides[2]=width>>1; - weed_set_int_array(layer,WEED_LEAF_ROWSTRIDES,3,rowstrides); + width = (width >> 1) << 1; + weed_set_int_value(layer, WEED_LEAF_WIDTH, width); + rowstrides = (int *)lives_malloc(sizint * 3); + rowstrides[0] = width; + rowstrides[1] = rowstrides[2] = width >> 1; + weed_set_int_array(layer, WEED_LEAF_ROWSTRIDES, 3, rowstrides); lives_free(rowstrides); - pd_array=(uint8_t **)lives_malloc(3*sizeof(uint8_t *)); - framesize=CEIL(width*height,32); + pd_array = (uint8_t **)lives_malloc(3 * sizeof(uint8_t *)); + framesize = CEIL(width * height, 32); if (!may_contig) { - weed_leaf_delete(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS); + weed_leaf_delete(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS); if (!black_fill) { - pd_array[0]=(uint8_t *)lives_calloc(framesize>>4,16); - if (pd_array[0]==NULL) { + pd_array[0] = (uint8_t *)lives_calloc(framesize >> 4, 16); + if (pd_array[0] == NULL) { lives_free(pd_array); return; } - pd_array[1]=(uint8_t *)lives_calloc(framesize>>3,4); - if (pd_array[1]==NULL) { + pd_array[1] = (uint8_t *)lives_calloc(framesize >> 3, 4); + if (pd_array[1] == NULL) { lives_free(pd_array[0]); lives_free(pd_array); return; } - pd_array[2]=(uint8_t *)lives_calloc((framesize>>3)+8,4); - if (pd_array[2]==NULL) { + pd_array[2] = (uint8_t *)lives_calloc((framesize >> 3) + 8, 4); + if (pd_array[2] == NULL) { lives_free(pd_array[1]); lives_free(pd_array[0]); lives_free(pd_array); return; } } else { - pd_array[0]=(uint8_t *)lives_try_malloc(framesize); - if (pd_array[0]==NULL) { + pd_array[0] = (uint8_t *)lives_try_malloc(framesize); + if (pd_array[0] == NULL) { lives_free(pd_array); return; } - memset(pd_array[0],y_black,width*height); - pd_array[1]=(uint8_t *)lives_try_malloc(framesize>>1); - if (pd_array[1]==NULL) { + memset(pd_array[0], y_black, width * height); + pd_array[1] = (uint8_t *)lives_try_malloc(framesize >> 1); + if (pd_array[1] == NULL) { lives_free(pd_array[0]); lives_free(pd_array); return; } - memset(pd_array[1],128,width*height/2); - pd_array[2]=(uint8_t *)lives_try_malloc((framesize>>1)+64); - if (pd_array[2]==NULL) { + memset(pd_array[1], 128, width * height / 2); + pd_array[2] = (uint8_t *)lives_try_malloc((framesize >> 1) + 64); + if (pd_array[2] == NULL) { lives_free(pd_array[1]); lives_free(pd_array[0]); lives_free(pd_array); return; } - memset(pd_array[2],128,width*height/2); + memset(pd_array[2], 128, width * height / 2); } - - } else { - weed_set_boolean_value(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS,WEED_TRUE); - + weed_set_boolean_value(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS, WEED_TRUE); if (!black_fill) { - memblock=(uint8_t *)lives_calloc((framesize>>1)+8,4); - if (memblock==NULL) return; - pd_array[0]=(uint8_t *)memblock; - pd_array[1]=(uint8_t *)(memblock+framesize); - pd_array[2]=(uint8_t *)(memblock+((3*framesize)>>1)); + memblock = (uint8_t *)lives_calloc((framesize >> 1) + 8, 4); + if (memblock == NULL) return; + pd_array[0] = (uint8_t *)memblock; + pd_array[1] = (uint8_t *)(memblock + framesize); + pd_array[2] = (uint8_t *)(memblock + ((3 * framesize) >> 1)); } else { - memblock=(uint8_t *)lives_try_malloc((framesize*2)+64); - if (memblock==NULL) return; - pd_array[0]=(uint8_t *)memblock; - pd_array[1]=(uint8_t *)(memblock+framesize); - pd_array[2]=(uint8_t *)(memblock+((3*framesize)>>1)); - memset(pd_array[0],y_black,width*height); - memset(pd_array[1],128,width*height); + memblock = (uint8_t *)lives_try_malloc((framesize * 2) + 64); + if (memblock == NULL) return; + pd_array[0] = (uint8_t *)memblock; + pd_array[1] = (uint8_t *)(memblock + framesize); + pd_array[2] = (uint8_t *)(memblock + ((3 * framesize) >> 1)); + memset(pd_array[0], y_black, width * height); + memset(pd_array[1], 128, width * height); } - } - weed_set_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,3,(void **)pd_array); + weed_set_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, 3, (void **)pd_array); lives_free(pd_array); break; - case WEED_PALETTE_YUV444P: - rowstrides=(int *)lives_malloc(sizint*3); - rowstrides[0]=rowstrides[1]=rowstrides[2]=width; - weed_set_int_array(layer,WEED_LEAF_ROWSTRIDES,3,rowstrides); + rowstrides = (int *)lives_malloc(sizint * 3); + rowstrides[0] = rowstrides[1] = rowstrides[2] = width; + weed_set_int_array(layer, WEED_LEAF_ROWSTRIDES, 3, rowstrides); lives_free(rowstrides); - pd_array=(uint8_t **)lives_malloc(3*sizeof(uint8_t *)); - framesize=CEIL(width*height,32); + pd_array = (uint8_t **)lives_malloc(3 * sizeof(uint8_t *)); + framesize = CEIL(width * height, 32); if (!may_contig) { - weed_leaf_delete(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS); + weed_leaf_delete(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS); if (!black_fill) { - pd_array[0]=(uint8_t *)lives_calloc(framesize>>4,16); - if (pd_array[0]==NULL) { + pd_array[0] = (uint8_t *)lives_calloc(framesize >> 4, 16); + if (pd_array[0] == NULL) { lives_free(pd_array); return; } - pd_array[1]=(uint8_t *)lives_calloc(framesize>>4,16); - if (pd_array[1]==NULL) { + pd_array[1] = (uint8_t *)lives_calloc(framesize >> 4, 16); + if (pd_array[1] == NULL) { lives_free(pd_array[0]); lives_free(pd_array); return; } - pd_array[2]=(uint8_t *)lives_calloc((framesize>>4)+4,16); - if (pd_array[2]==NULL) { + pd_array[2] = (uint8_t *)lives_calloc((framesize >> 4) + 4, 16); + if (pd_array[2] == NULL) { lives_free(pd_array[1]); lives_free(pd_array[0]); lives_free(pd_array); return; } } else { - pd_array[0]=(uint8_t *)lives_try_malloc(framesize); - if (pd_array[0]==NULL) { + pd_array[0] = (uint8_t *)lives_try_malloc(framesize); + if (pd_array[0] == NULL) { lives_free(pd_array); return; } - memset(pd_array[0],y_black,width*height); - pd_array[1]=(uint8_t *)lives_try_malloc(framesize); - if (pd_array[1]==NULL) { + memset(pd_array[0], y_black, width * height); + pd_array[1] = (uint8_t *)lives_try_malloc(framesize); + if (pd_array[1] == NULL) { lives_free(pd_array[0]); lives_free(pd_array); return; } - memset(pd_array[1],128,width*height); - pd_array[2]=(uint8_t *)lives_try_malloc(framesize+64); - if (pd_array[2]==NULL) { + memset(pd_array[1], 128, width * height); + pd_array[2] = (uint8_t *)lives_try_malloc(framesize + 64); + if (pd_array[2] == NULL) { lives_free(pd_array[1]); lives_free(pd_array[0]); lives_free(pd_array); return; } - memset(pd_array[2],128,width*height); + memset(pd_array[2], 128, width * height); } - - } else { - weed_set_boolean_value(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS,WEED_TRUE); + weed_set_boolean_value(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS, WEED_TRUE); if (!black_fill) { - memblock=(uint8_t *)lives_calloc(((framesize*3)>>4)+4,16); - if (memblock==NULL) return; - pd_array[0]=memblock; - pd_array[1]=memblock+framesize; - pd_array[2]=memblock+framesize*2; - + memblock = (uint8_t *)lives_calloc(((framesize * 3) >> 4) + 4, 16); + if (memblock == NULL) return; + pd_array[0] = memblock; + pd_array[1] = memblock + framesize; + pd_array[2] = memblock + framesize * 2; } else { - memblock=(uint8_t *)lives_try_malloc(framesize*3+64); - if (memblock==NULL) return; - pd_array[0]=memblock; - memset(pd_array[0],y_black,width*height); - pd_array[1]=memblock+framesize; - pd_array[2]=memblock+framesize*2; - memset(pd_array[1],128,width*height*2); + memblock = (uint8_t *)lives_try_malloc(framesize * 3 + 64); + if (memblock == NULL) return; + pd_array[0] = memblock; + memset(pd_array[0], y_black, width * height); + pd_array[1] = memblock + framesize; + pd_array[2] = memblock + framesize * 2; + memset(pd_array[1], 128, width * height * 2); } } - weed_set_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,3,(void **)pd_array); + weed_set_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, 3, (void **)pd_array); lives_free(pd_array); break; - case WEED_PALETTE_YUVA4444P: - rowstrides=(int *)lives_malloc(sizint*4); - rowstrides[0]=rowstrides[1]=rowstrides[2]=rowstrides[3]=width; - weed_set_int_array(layer,WEED_LEAF_ROWSTRIDES,4,rowstrides); + rowstrides = (int *)lives_malloc(sizint * 4); + rowstrides[0] = rowstrides[1] = rowstrides[2] = rowstrides[3] = width; + weed_set_int_array(layer, WEED_LEAF_ROWSTRIDES, 4, rowstrides); lives_free(rowstrides); - pd_array=(uint8_t **)lives_malloc(4*sizeof(uint8_t *)); - framesize=CEIL(width*height,32); + pd_array = (uint8_t **)lives_malloc(4 * sizeof(uint8_t *)); + framesize = CEIL(width * height, 32); if (!may_contig) { - weed_leaf_delete(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS); + weed_leaf_delete(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS); if (!black_fill) { - pd_array[0]=(uint8_t *)lives_calloc(framesize>>4,16); - if (pd_array[0]==NULL) { + pd_array[0] = (uint8_t *)lives_calloc(framesize >> 4, 16); + if (pd_array[0] == NULL) { lives_free(pd_array); return; } - pd_array[1]=(uint8_t *)lives_calloc(framesize>>4,16); - if (pd_array[1]==NULL) { + pd_array[1] = (uint8_t *)lives_calloc(framesize >> 4, 16); + if (pd_array[1] == NULL) { lives_free(pd_array[0]); lives_free(pd_array); return; } - pd_array[2]=(uint8_t *)lives_calloc(framesize>>4,16); - if (pd_array[2]==NULL) { + pd_array[2] = (uint8_t *)lives_calloc(framesize >> 4, 16); + if (pd_array[2] == NULL) { lives_free(pd_array[1]); lives_free(pd_array[0]); lives_free(pd_array); return; } - pd_array[3]=(uint8_t *)lives_calloc((framesize>>4)+4,16); - if (pd_array[3]==NULL) { + pd_array[3] = (uint8_t *)lives_calloc((framesize >> 4) + 4, 16); + if (pd_array[3] == NULL) { lives_free(pd_array[2]); lives_free(pd_array[1]); lives_free(pd_array[0]); @@ -7929,188 +7707,182 @@ return; } } else { - pd_array[0]=(uint8_t *)lives_try_malloc(framesize); - if (pd_array[0]==NULL) { + pd_array[0] = (uint8_t *)lives_try_malloc(framesize); + if (pd_array[0] == NULL) { lives_free(pd_array); return; } - memset(pd_array[0],y_black,width*height); - pd_array[1]=(uint8_t *)lives_try_malloc(framesize); - if (pd_array[1]==NULL) { + memset(pd_array[0], y_black, width * height); + pd_array[1] = (uint8_t *)lives_try_malloc(framesize); + if (pd_array[1] == NULL) { lives_free(pd_array[0]); lives_free(pd_array); return; } - memset(pd_array[1],128,width*height); - pd_array[2]=(uint8_t *)lives_try_malloc(framesize); - if (pd_array[2]==NULL) { + memset(pd_array[1], 128, width * height); + pd_array[2] = (uint8_t *)lives_try_malloc(framesize); + if (pd_array[2] == NULL) { lives_free(pd_array[1]); lives_free(pd_array[0]); lives_free(pd_array); return; } - memset(pd_array[2],128,width*height); - pd_array[3]=(uint8_t *)lives_try_malloc(framesize+64); - if (pd_array[3]==NULL) { + memset(pd_array[2], 128, width * height); + pd_array[3] = (uint8_t *)lives_try_malloc(framesize + 64); + if (pd_array[3] == NULL) { lives_free(pd_array[2]); lives_free(pd_array[1]); lives_free(pd_array[0]); lives_free(pd_array); return; } - memset(pd_array[3],255,width*height); + memset(pd_array[3], 255, width * height); } - - } else { - weed_set_boolean_value(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS,WEED_TRUE); + weed_set_boolean_value(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS, WEED_TRUE); if (!black_fill) { - memblock=(uint8_t *)lives_calloc(framesize+16,4); - if (memblock==NULL) return; - pd_array[0]=memblock; - pd_array[1]=memblock+framesize; - pd_array[2]=memblock+framesize*2; - pd_array[3]=memblock+framesize*3; + memblock = (uint8_t *)lives_calloc(framesize + 16, 4); + if (memblock == NULL) return; + pd_array[0] = memblock; + pd_array[1] = memblock + framesize; + pd_array[2] = memblock + framesize * 2; + pd_array[3] = memblock + framesize * 3; } else { - memblock=(uint8_t *)lives_try_malloc(framesize*4+64); - if (memblock==NULL) return; - pd_array[0]=memblock; - memset(pd_array[0],y_black,width*height); - pd_array[1]=memblock+framesize; - pd_array[2]=memblock+framesize*2; + memblock = (uint8_t *)lives_try_malloc(framesize * 4 + 64); + if (memblock == NULL) return; + pd_array[0] = memblock; + memset(pd_array[0], y_black, width * height); + pd_array[1] = memblock + framesize; + pd_array[2] = memblock + framesize * 2; - memset(pd_array[1],128,width*height*2); + memset(pd_array[1], 128, width * height * 2); - pd_array[3]=memblock+framesize*3; + pd_array[3] = memblock + framesize * 3; - memset(pd_array[3],255,width*height); + memset(pd_array[3], 255, width * height); } } - weed_set_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,4,(void **)pd_array); + weed_set_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, 4, (void **)pd_array); lives_free(pd_array); break; - case WEED_PALETTE_YUV411: - weed_set_int_value(layer,WEED_LEAF_WIDTH,width); - rowstride=width*6; // a macro-pixel is 6 bytes, and contains 4 real pixels - if (!black_fill) pixel_data=(uint8_t *)lives_calloc(width*height*3+32,2); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width); + rowstride = width * 6; // a macro-pixel is 6 bytes, and contains 4 real pixels + if (!black_fill) pixel_data = (uint8_t *)lives_calloc(width * height * 3 + 32, 2); else { - black[0]=black[3]=128; - black[1]=black[2]=black[4]=black[5]=y_black; - pixel_data=(uint8_t *)lives_calloc(width*height*3+32,2); - if (pixel_data==NULL) return; - ptr=pixel_data; - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - lives_memcpy(ptr,black,6); - ptr+=6; + black[0] = black[3] = 128; + black[1] = black[2] = black[4] = black[5] = y_black; + pixel_data = (uint8_t *)lives_calloc(width * height * 3 + 32, 2); + if (pixel_data == NULL) return; + ptr = pixel_data; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + lives_memcpy(ptr, black, 6); + ptr += 6; } } } - if (pixel_data==NULL) return; - weed_set_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,pixel_data); - weed_set_int_value(layer,WEED_LEAF_ROWSTRIDES,rowstride); + if (pixel_data == NULL) return; + weed_set_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, pixel_data); + weed_set_int_value(layer, WEED_LEAF_ROWSTRIDES, rowstride); break; case WEED_PALETTE_RGBFLOAT: - rowstride=width*3*sizeof(float); - pixel_data=(uint8_t *)lives_calloc(width*height*3+(64/sizeof(float)),sizeof(float)); - if (pixel_data==NULL) return; - weed_set_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,pixel_data); - weed_set_int_value(layer,WEED_LEAF_ROWSTRIDES,rowstride); + rowstride = width * 3 * sizeof(float); + pixel_data = (uint8_t *)lives_calloc(width * height * 3 + (64 / sizeof(float)), sizeof(float)); + if (pixel_data == NULL) return; + weed_set_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, pixel_data); + weed_set_int_value(layer, WEED_LEAF_ROWSTRIDES, rowstride); break; case WEED_PALETTE_RGBAFLOAT: - rowstride=width*4*sizeof(float); - if (!black_fill) pixel_data=(uint8_t *)lives_calloc(width*height*4+(64/sizeof(float)),sizeof(float)); + rowstride = width * 4 * sizeof(float); + if (!black_fill) pixel_data = (uint8_t *)lives_calloc(width * height * 4 + (64 / sizeof(float)), sizeof(float)); else { - size_t sizf=4*sizeof(float); - pixel_data=(uint8_t *)lives_try_malloc(width*height*sizf+64); - if (pixel_data==NULL) return; - ptr=pixel_data; - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - lives_memcpy(ptr,blackf,sizf); - ptr+=sizf; + size_t sizf = 4 * sizeof(float); + pixel_data = (uint8_t *)lives_try_malloc(width * height * sizf + 64); + if (pixel_data == NULL) return; + ptr = pixel_data; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + lives_memcpy(ptr, blackf, sizf); + ptr += sizf; } } } - if (pixel_data==NULL) return; - weed_set_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,pixel_data); - weed_set_int_value(layer,WEED_LEAF_ROWSTRIDES,rowstride); + if (pixel_data == NULL) return; + weed_set_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, pixel_data); + weed_set_int_value(layer, WEED_LEAF_ROWSTRIDES, rowstride); break; case WEED_PALETTE_AFLOAT: - rowstride=width*sizeof(float); - if (!black_fill) pixel_data=(uint8_t *)lives_calloc(width*height+(64/sizeof(float)),sizeof(float)); + rowstride = width * sizeof(float); + if (!black_fill) pixel_data = (uint8_t *)lives_calloc(width * height + (64 / sizeof(float)), sizeof(float)); else { - size_t sizf=sizeof(float); - pixel_data=(uint8_t *)lives_try_malloc(width*height*sizf+64); - if (pixel_data==NULL) return; - ptr=pixel_data; - blackf[0]=1.; - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - lives_memcpy(ptr,blackf,sizf); - ptr+=sizf; + size_t sizf = sizeof(float); + pixel_data = (uint8_t *)lives_try_malloc(width * height * sizf + 64); + if (pixel_data == NULL) return; + ptr = pixel_data; + blackf[0] = 1.; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + lives_memcpy(ptr, blackf, sizf); + ptr += sizf; } } } - if (pixel_data==NULL) return; - weed_set_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,pixel_data); - weed_set_int_value(layer,WEED_LEAF_ROWSTRIDES,rowstride); + if (pixel_data == NULL) return; + weed_set_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, pixel_data); + weed_set_int_value(layer, WEED_LEAF_ROWSTRIDES, rowstride); break; case WEED_PALETTE_A8: - rowstride=width; - framesize=CEIL(width*height,32)+64; - if (!black_fill) pixel_data=(uint8_t *)lives_calloc(framesize,1); + rowstride = width; + framesize = CEIL(width * height, 32) + 64; + if (!black_fill) pixel_data = (uint8_t *)lives_calloc(framesize, 1); else { - pixel_data=(uint8_t *)lives_try_malloc(framesize); - if (pixel_data==NULL) return; - memset(pixel_data,255,width*height); - } - if (pixel_data==NULL) return; - weed_set_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,pixel_data); - weed_set_int_value(layer,WEED_LEAF_ROWSTRIDES,rowstride); + pixel_data = (uint8_t *)lives_try_malloc(framesize); + if (pixel_data == NULL) return; + memset(pixel_data, 255, width * height); + } + if (pixel_data == NULL) return; + weed_set_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, pixel_data); + weed_set_int_value(layer, WEED_LEAF_ROWSTRIDES, rowstride); break; case WEED_PALETTE_A1: - rowstride=(width+7)>>3; - framesize=CEIL(rowstride*height,32)+64; - if (!black_fill) pixel_data=(uint8_t *)lives_calloc(framesize,1); + rowstride = (width + 7) >> 3; + framesize = CEIL(rowstride * height, 32) + 64; + if (!black_fill) pixel_data = (uint8_t *)lives_calloc(framesize, 1); else { - pixel_data=(uint8_t *)lives_try_malloc(framesize); - if (pixel_data==NULL) return; - memset(pixel_data,255,rowstride*height); - } - if (pixel_data==NULL) return; - weed_set_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,pixel_data); - weed_set_int_value(layer,WEED_LEAF_ROWSTRIDES,rowstride); + pixel_data = (uint8_t *)lives_try_malloc(framesize); + if (pixel_data == NULL) return; + memset(pixel_data, 255, rowstride * height); + } + if (pixel_data == NULL) return; + weed_set_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, pixel_data); + weed_set_int_value(layer, WEED_LEAF_ROWSTRIDES, rowstride); break; default: - lives_printerr("Warning: asked to create empty pixel_data for palette %d !\n",palette); + lives_printerr("Warning: asked to create empty pixel_data for palette %d !\n", palette); } } - - - void alpha_unpremult(weed_plant_t *layer, boolean un) { // un-premultply alpha - this only occurs when going from palette with alpha to one without // if un is FALSE we go the other way, and do a premultiplication int error; - int aoffs,coffs,psize,psizel,widthx; + int aoffs, coffs, psize, psizel, widthx; int alpha; - int flags=0; - int width=weed_get_int_value(layer,WEED_LEAF_WIDTH,&error); - int height=weed_get_int_value(layer,WEED_LEAF_HEIGHT,&error); - int rowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - int pal=weed_get_int_value(layer,WEED_LEAF_CURRENT_PALETTE,&error); + int flags = 0; + int width = weed_get_int_value(layer, WEED_LEAF_WIDTH, &error); + int height = weed_get_int_value(layer, WEED_LEAF_HEIGHT, &error); + int rowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + int pal = weed_get_int_value(layer, WEED_LEAF_CURRENT_PALETTE, &error); int *rows; @@ -8119,87 +7891,87 @@ boolean clamped; - register int i,j,p; + register int i, j, p; if (!unal_inited) init_unal(); - if (weed_plant_has_leaf(layer,WEED_LEAF_YUV_CLAMPING)) - clamped=(weed_get_int_value(layer,WEED_LEAF_YUV_CLAMPING,&error)==WEED_YUV_CLAMPING_CLAMPED); - else clamped=TRUE; + if (weed_plant_has_leaf(layer, WEED_LEAF_YUV_CLAMPING)) + clamped = (weed_get_int_value(layer, WEED_LEAF_YUV_CLAMPING, &error) == WEED_YUV_CLAMPING_CLAMPED); + else clamped = TRUE; switch (pal) { case WEED_PALETTE_RGBA32: case WEED_PALETTE_BGRA32: - clamped=FALSE; + clamped = FALSE; case WEED_PALETTE_YUVA8888: - widthx=width*4; - psize=4; - psizel=3; - coffs=0; - aoffs=3; + widthx = width * 4; + psize = 4; + psizel = 3; + coffs = 0; + aoffs = 3; break; case WEED_PALETTE_ARGB32: - widthx=width*4; - psize=4; - psizel=4; - coffs=1; - aoffs=0; - clamped=FALSE; + widthx = width * 4; + psize = 4; + psizel = 4; + coffs = 1; + aoffs = 0; + clamped = FALSE; break; case WEED_PALETTE_YUVA4444P: // special case - planar with alpha - ptrp=(unsigned char **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - rows=weed_get_int_array(layer,WEED_LEAF_ROWSTRIDES,&error); + ptrp = (unsigned char **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + rows = weed_get_int_array(layer, WEED_LEAF_ROWSTRIDES, &error); if (!clamped) { if (un) { - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - alpha=ptrp[3][j]; - for (p=0; p<3; p++) { - ptrp[p][j]=unal[alpha][ptrp[p][j]]; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + alpha = ptrp[3][j]; + for (p = 0; p < 3; p++) { + ptrp[p][j] = unal[alpha][ptrp[p][j]]; } } - for (p=0; p<4; p++) { - ptrp[p]+=rows[p]; + for (p = 0; p < 4; p++) { + ptrp[p] += rows[p]; } } } else { - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - alpha=ptrp[3][j]; - for (p=0; p<3; p++) { - ptrp[p][j]=al[alpha][ptrp[p][j]]; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + alpha = ptrp[3][j]; + for (p = 0; p < 3; p++) { + ptrp[p][j] = al[alpha][ptrp[p][j]]; } } - for (p=0; p<4; p++) { - ptrp[p]+=rows[p]; + for (p = 0; p < 4; p++) { + ptrp[p] += rows[p]; } } } } else { if (un) { - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - alpha=ptrp[3][j]; - ptrp[0][j]=unalcy[alpha][ptrp[0][j]]; - ptrp[1][j]=unalcuv[alpha][ptrp[0][j]]; - ptrp[2][j]=unalcuv[alpha][ptrp[0][j]]; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + alpha = ptrp[3][j]; + ptrp[0][j] = unalcy[alpha][ptrp[0][j]]; + ptrp[1][j] = unalcuv[alpha][ptrp[0][j]]; + ptrp[2][j] = unalcuv[alpha][ptrp[0][j]]; } - for (p=0; p<4; p++) { - ptrp[p]+=rows[p]; + for (p = 0; p < 4; p++) { + ptrp[p] += rows[p]; } } } else { - for (i=0; i<height; i++) { - for (j=0; j<width; j++) { - alpha=ptrp[3][j]; - ptrp[0][j]=alcy[alpha][ptrp[0][j]]; - ptrp[1][j]=alcuv[alpha][ptrp[0][j]]; - ptrp[2][j]=alcuv[alpha][ptrp[0][j]]; + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + alpha = ptrp[3][j]; + ptrp[0][j] = alcy[alpha][ptrp[0][j]]; + ptrp[1][j] = alcuv[alpha][ptrp[0][j]]; + ptrp[2][j] = alcuv[alpha][ptrp[0][j]]; } - for (p=0; p<4; p++) { - ptrp[p]+=rows[p]; + for (p = 0; p < 4; p++) { + ptrp[p] += rows[p]; } } } @@ -8209,69 +7981,66 @@ return; } - ptr=(unsigned char *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); + ptr = (unsigned char *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); if (!clamped) { if (un) { - for (i=0; i<height; i++) { - for (j=0; j<widthx; j+=psize) { - alpha=ptr[j+aoffs]; - for (p=coffs; p<psizel; p++) { - ptr[j+p]=unal[alpha][ptr[j+p]]; + for (i = 0; i < height; i++) { + for (j = 0; j < widthx; j += psize) { + alpha = ptr[j + aoffs]; + for (p = coffs; p < psizel; p++) { + ptr[j + p] = unal[alpha][ptr[j + p]]; } } - ptr+=rowstride; + ptr += rowstride; } } else { - for (i=0; i<height; i++) { - for (j=0; j<widthx; j+=psize) { - alpha=ptr[j+aoffs]; - for (p=coffs; p<psizel; p++) { - ptr[j+p]=al[alpha][ptr[j+p]]; + for (i = 0; i < height; i++) { + for (j = 0; j < widthx; j += psize) { + alpha = ptr[j + aoffs]; + for (p = coffs; p < psizel; p++) { + ptr[j + p] = al[alpha][ptr[j + p]]; } } - ptr+=rowstride; + ptr += rowstride; } } } else { // unclamped YUVA8888 (packed) if (un) { - for (i=0; i<height; i++) { - for (j=0; j<widthx; j+=psize) { - alpha=ptr[j+3]; - ptr[j]=unalcy[alpha][ptr[j]]; - ptr[j+1]=unalcuv[alpha][ptr[j]]; - ptr[j+2]=unalcuv[alpha][ptr[j]]; + for (i = 0; i < height; i++) { + for (j = 0; j < widthx; j += psize) { + alpha = ptr[j + 3]; + ptr[j] = unalcy[alpha][ptr[j]]; + ptr[j + 1] = unalcuv[alpha][ptr[j]]; + ptr[j + 2] = unalcuv[alpha][ptr[j]]; } - ptr+=rowstride; + ptr += rowstride; } } else { - for (i=0; i<height; i++) { - for (j=0; j<widthx; j+=psize) { - alpha=ptr[j+3]; - ptr[j]=alcy[alpha][ptr[j]]; - ptr[j+1]=alcuv[alpha][ptr[j]]; - ptr[j+2]=alcuv[alpha][ptr[j]]; + for (i = 0; i < height; i++) { + for (j = 0; j < widthx; j += psize) { + alpha = ptr[j + 3]; + ptr[j] = alcy[alpha][ptr[j]]; + ptr[j + 1] = alcuv[alpha][ptr[j]]; + ptr[j + 2] = alcuv[alpha][ptr[j]]; } - ptr+=rowstride; + ptr += rowstride; } } } - if (weed_plant_has_leaf(layer,WEED_LEAF_FLAGS)) - flags=weed_get_int_value(layer,WEED_LEAF_FLAGS,&error); + if (weed_plant_has_leaf(layer, WEED_LEAF_FLAGS)) + flags = weed_get_int_value(layer, WEED_LEAF_FLAGS, &error); - if (!un) flags|=WEED_CHANNEL_ALPHA_PREMULT; - else if (flags&WEED_CHANNEL_ALPHA_PREMULT) flags^=WEED_CHANNEL_ALPHA_PREMULT; + if (!un) flags |= WEED_CHANNEL_ALPHA_PREMULT; + else if (flags & WEED_CHANNEL_ALPHA_PREMULT) flags ^= WEED_CHANNEL_ALPHA_PREMULT; - if (flags==0) weed_leaf_delete(layer,WEED_LEAF_FLAGS); - else weed_set_int_value(layer,WEED_LEAF_FLAGS,flags); + if (flags == 0) weed_leaf_delete(layer, WEED_LEAF_FLAGS); + else weed_set_int_value(layer, WEED_LEAF_FLAGS, flags); } - - - boolean convert_layer_palette_full(weed_plant_t *layer, int outpl, int osamtype, boolean oclamping, int osubspace) { // here we will not handle RGB float palettes (wait for libabl for that...) // but we will convert to/from the 5 other RGB palettes and 10 YUV palettes @@ -8285,7 +8054,6 @@ // currently chroma is assumed centred between luma // osamtype, subspace and clamping currently only work for default values - // TODO: allow plugin candidates/delegates // - original palette WEED_LEAF_PIXEL_DATA is free()d @@ -8294,49 +8062,46 @@ // layer must not be NULL - // rowstrides value MUST be checked for input palettes RGB24, BGR24 and YUV888 + uint8_t *gusrc = NULL, **gusrc_array = NULL, *gudest, **gudest_array, *tmp; + int width, height, orowstride, irowstride; + int error, inpl, flags = 0; + int isamtype, isubspace; + boolean iclamped, contig = FALSE; + if (layer == NULL) return FALSE; - uint8_t *gusrc=NULL,**gusrc_array=NULL,*gudest,**gudest_array,*tmp; - int width,height,orowstride,irowstride; - int error,inpl,flags=0; - int isamtype,isubspace; - boolean iclamped,contig=FALSE; - - if (layer==NULL) return FALSE; + inpl = weed_get_int_value(layer, WEED_LEAF_CURRENT_PALETTE, &error); - inpl=weed_get_int_value(layer,WEED_LEAF_CURRENT_PALETTE,&error); + if (weed_plant_has_leaf(layer, WEED_LEAF_YUV_SAMPLING)) isamtype = weed_get_int_value(layer, WEED_LEAF_YUV_SAMPLING, &error); + else isamtype = WEED_YUV_SAMPLING_DEFAULT; - if (weed_plant_has_leaf(layer,WEED_LEAF_YUV_SAMPLING)) isamtype=weed_get_int_value(layer,WEED_LEAF_YUV_SAMPLING,&error); - else isamtype=WEED_YUV_SAMPLING_DEFAULT; + if (weed_plant_has_leaf(layer, WEED_LEAF_YUV_CLAMPING)) + iclamped = (weed_get_int_value(layer, WEED_LEAF_YUV_CLAMPING, &error) == WEED_YUV_CLAMPING_CLAMPED); + else iclamped = TRUE; - if (weed_plant_has_leaf(layer,WEED_LEAF_YUV_CLAMPING)) - iclamped=(weed_get_int_value(layer,WEED_LEAF_YUV_CLAMPING,&error)==WEED_YUV_CLAMPING_CLAMPED); - else iclamped=TRUE; - - if (weed_plant_has_leaf(layer,WEED_LEAF_YUV_SUBSPACE)) isubspace=weed_get_int_value(layer,WEED_LEAF_YUV_SUBSPACE,&error); - else isubspace=WEED_YUV_SUBSPACE_YUV; + if (weed_plant_has_leaf(layer, WEED_LEAF_YUV_SUBSPACE)) isubspace = weed_get_int_value(layer, WEED_LEAF_YUV_SUBSPACE, &error); + else isubspace = WEED_YUV_SUBSPACE_YUV; // #define DEBUG_PCONV #ifdef DEBUG_PCONV - char *tmp2,*tmp3; - g_print("converting palette %s(%s) to %s(%s)\n",weed_palette_get_name(inpl), - (tmp2=lives_strdup(weed_yuv_clamping_get_name(iclamped))), + char *tmp2, *tmp3; + g_print("converting palette %s(%s) to %s(%s)\n", weed_palette_get_name(inpl), + (tmp2 = lives_strdup(weed_yuv_clamping_get_name(iclamped))), weed_palette_get_name(outpl), - (tmp3=lives_strdup(weed_yuv_clamping_get_name(oclamping)))); + (tmp3 = lives_strdup(weed_yuv_clamping_get_name(oclamping)))); lives_free(tmp2); lives_free(tmp3); #endif - if (weed_palette_is_yuv_palette(inpl)&&weed_palette_is_yuv_palette(outpl)&&(iclamped!=oclamping||isubspace!=osubspace)) { - if (isubspace==osubspace) { + if (weed_palette_is_yuv_palette(inpl) && weed_palette_is_yuv_palette(outpl) && (iclamped != oclamping || isubspace != osubspace)) { + if (isubspace == osubspace) { #ifdef DEBUG_PCONV - lives_printerr("converting clamping %d to %d\n",!iclamped,!oclamping); + lives_printerr("converting clamping %d to %d\n", !iclamped, !oclamping); #endif - switch_yuv_clamping_and_subspace(layer,oclamping?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED,osubspace); - iclamped=oclamping; + switch_yuv_clamping_and_subspace(layer, oclamping ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED, osubspace); + iclamped = oclamping; } else { // convert first to RGB(A) if (weed_palette_has_alpha_channel(inpl)) { @@ -8344,694 +8109,693 @@ } else { convert_layer_palette_full(layer, WEED_PALETTE_RGB24, WEED_YUV_SAMPLING_DEFAULT, FALSE, WEED_YUV_SUBSPACE_YUV); } - inpl=weed_get_int_value(layer,WEED_LEAF_CURRENT_PALETTE,&error); - isubspace=osubspace; - isamtype=osamtype; - iclamped=oclamping; + inpl = weed_get_int_value(layer, WEED_LEAF_CURRENT_PALETTE, &error); + isubspace = osubspace; + isamtype = osamtype; + iclamped = oclamping; #ifdef DEBUG_PCONV - g_print("subspace conversion via palette %s\n",weed_palette_get_name(inpl)); + g_print("subspace conversion via palette %s\n", weed_palette_get_name(inpl)); #endif } } - - if (inpl==outpl) { + if (inpl == outpl) { #ifdef DEBUG_PCONV lives_printerr("not converting palette\n"); #endif - if (!weed_palette_is_yuv_palette(inpl)||(isamtype==osamtype&& - (isubspace==osubspace||(osubspace!=WEED_YUV_SUBSPACE_BT709)))) return TRUE; - if (inpl==WEED_PALETTE_YUV420P&&((isamtype==WEED_YUV_SAMPLING_JPEG&&osamtype==WEED_YUV_SAMPLING_MPEG)|| - (isamtype==WEED_YUV_SAMPLING_MPEG&&osamtype==WEED_YUV_SAMPLING_JPEG))) { + if (!weed_palette_is_yuv_palette(inpl) || (isamtype == osamtype && + (isubspace == osubspace || (osubspace != WEED_YUV_SUBSPACE_BT709)))) return TRUE; + if (inpl == WEED_PALETTE_YUV420P && ((isamtype == WEED_YUV_SAMPLING_JPEG && osamtype == WEED_YUV_SAMPLING_MPEG) || + (isamtype == WEED_YUV_SAMPLING_MPEG && osamtype == WEED_YUV_SAMPLING_JPEG))) { switch_yuv_sampling(layer); } else { - char *tmp2=lives_strdup_printf("Switch sampling types (%d %d) or subspace(%d %d): (%d) conversion not yet written !\n", - isamtype,osamtype,isubspace,osubspace,inpl); + char *tmp2 = lives_strdup_printf("Switch sampling types (%d %d) or subspace(%d %d): (%d) conversion not yet written !\n", + isamtype, osamtype, isubspace, osubspace, inpl); LIVES_DEBUG(tmp2); lives_free(tmp2); return TRUE; } } - if (weed_plant_has_leaf(layer,WEED_LEAF_FLAGS)) - flags=weed_get_int_value(layer,WEED_LEAF_FLAGS,&error); + if (weed_plant_has_leaf(layer, WEED_LEAF_FLAGS)) + flags = weed_get_int_value(layer, WEED_LEAF_FLAGS, &error); if (prefs->alpha_post) { - if ((flags&WEED_CHANNEL_ALPHA_PREMULT) && - (weed_palette_has_alpha_channel(inpl)&&!(weed_palette_has_alpha_channel(outpl)))) { + if ((flags & WEED_CHANNEL_ALPHA_PREMULT) && + (weed_palette_has_alpha_channel(inpl) && !(weed_palette_has_alpha_channel(outpl)))) { // if we have pre-multiplied alpha, remove it when removing alpha channel - alpha_unpremult(layer,TRUE); + alpha_unpremult(layer, TRUE); } } else { - if (!weed_palette_has_alpha_channel(inpl)&&weed_palette_has_alpha_channel(outpl)) { - flags|=WEED_CHANNEL_ALPHA_PREMULT; - weed_set_int_value(layer,WEED_LEAF_FLAGS,flags); + if (!weed_palette_has_alpha_channel(inpl) && weed_palette_has_alpha_channel(outpl)) { + flags |= WEED_CHANNEL_ALPHA_PREMULT; + weed_set_int_value(layer, WEED_LEAF_FLAGS, flags); } } - if (weed_palette_has_alpha_channel(inpl)&&!(weed_palette_has_alpha_channel(outpl))&&(flags&WEED_CHANNEL_ALPHA_PREMULT)) { - flags^=WEED_CHANNEL_ALPHA_PREMULT; - if (flags==0) weed_leaf_delete(layer,WEED_LEAF_FLAGS); - else weed_set_int_value(layer,WEED_LEAF_FLAGS,flags); + if (weed_palette_has_alpha_channel(inpl) && !(weed_palette_has_alpha_channel(outpl)) && (flags & WEED_CHANNEL_ALPHA_PREMULT)) { + flags ^= WEED_CHANNEL_ALPHA_PREMULT; + if (flags == 0) weed_leaf_delete(layer, WEED_LEAF_FLAGS); + else weed_set_int_value(layer, WEED_LEAF_FLAGS, flags); } - if (weed_plant_has_leaf(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS) && - weed_get_boolean_value(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS,&error)==WEED_TRUE) - contig=TRUE; + if (weed_plant_has_leaf(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS) && + weed_get_boolean_value(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS, &error) == WEED_TRUE) + contig = TRUE; - width=weed_get_int_value(layer,WEED_LEAF_WIDTH,&error); - height=weed_get_int_value(layer,WEED_LEAF_HEIGHT,&error); + width = weed_get_int_value(layer, WEED_LEAF_WIDTH, &error); + height = weed_get_int_value(layer, WEED_LEAF_HEIGHT, &error); switch (inpl) { case WEED_PALETTE_BGR24: - gusrc=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - irowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); + gusrc = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + irowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); switch (outpl) { case WEED_PALETTE_RGBA32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_swap3addpost_frame(gusrc,width,height,irowstride,orowstride,gudest,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_swap3addpost_frame(gusrc, width, height, irowstride, orowstride, gudest, -USE_THREADS); break; case WEED_PALETTE_RGB24: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_swap3_frame(gusrc,width,height,irowstride,orowstride,gudest,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_swap3_frame(gusrc, width, height, irowstride, orowstride, gudest, -USE_THREADS); break; case WEED_PALETTE_BGRA32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_addpost_frame(gusrc,width,height,irowstride,orowstride,gudest,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_addpost_frame(gusrc, width, height, irowstride, orowstride, gudest, -USE_THREADS); break; case WEED_PALETTE_ARGB32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_swap3addpre_frame(gusrc,width,height,irowstride,orowstride,gudest,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_swap3addpre_frame(gusrc, width, height, irowstride, orowstride, gudest, -USE_THREADS); break; case WEED_PALETTE_UYVY8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_bgr_to_uyvy_frame(gusrc,width,height,irowstride,(uyvy_macropixel *)gudest,FALSE,oclamping,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_bgr_to_uyvy_frame(gusrc, width, height, irowstride, (uyvy_macropixel *)gudest, FALSE, oclamping, -USE_THREADS); break; case WEED_PALETTE_YUYV8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_bgr_to_yuyv_frame(gusrc,width,height,irowstride,(yuyv_macropixel *)gudest,FALSE,oclamping,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_bgr_to_yuyv_frame(gusrc, width, height, irowstride, (yuyv_macropixel *)gudest, FALSE, oclamping, -USE_THREADS); break; case WEED_PALETTE_YUV888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_bgr_to_yuv_frame(gusrc,width,height,irowstride,gudest,FALSE,FALSE,oclamping,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_bgr_to_yuv_frame(gusrc, width, height, irowstride, gudest, FALSE, FALSE, oclamping, -USE_THREADS); break; case WEED_PALETTE_YUVA8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_bgr_to_yuv_frame(gusrc,width,height,irowstride,gudest,FALSE,TRUE,oclamping,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_bgr_to_yuv_frame(gusrc, width, height, irowstride, gudest, FALSE, TRUE, oclamping, -USE_THREADS); break; case WEED_PALETTE_YUV422P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_bgr_to_yuv420_frame(gusrc,width,height,irowstride,gudest_array,TRUE, - FALSE,WEED_YUV_SAMPLING_DEFAULT,oclamping); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_bgr_to_yuv420_frame(gusrc, width, height, irowstride, gudest_array, TRUE, + FALSE, WEED_YUV_SAMPLING_DEFAULT, oclamping); lives_free(gudest_array); - weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,WEED_YUV_SAMPLING_DEFAULT); + weed_set_int_value(layer, WEED_LEAF_YUV_SAMPLING, WEED_YUV_SAMPLING_DEFAULT); break; case WEED_PALETTE_YVU420P: case WEED_PALETTE_YUV420P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_bgr_to_yuv420_frame(gusrc,width,height,irowstride,gudest_array,FALSE,FALSE,osamtype,oclamping); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_bgr_to_yuv420_frame(gusrc, width, height, irowstride, gudest_array, FALSE, FALSE, osamtype, oclamping); lives_free(gudest_array); - weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,WEED_YUV_SAMPLING_DEFAULT); + weed_set_int_value(layer, WEED_LEAF_YUV_SAMPLING, WEED_YUV_SAMPLING_DEFAULT); //weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,osamtype); break; case WEED_PALETTE_YUV444P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_bgr_to_yuvp_frame(gusrc,width,height,irowstride,gudest_array,FALSE,FALSE,oclamping,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_bgr_to_yuvp_frame(gusrc, width, height, irowstride, gudest_array, FALSE, FALSE, oclamping, -USE_THREADS); lives_free(gudest_array); break; case WEED_PALETTE_YUVA4444P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_bgr_to_yuvp_frame(gusrc,width,height,irowstride,gudest_array,FALSE,TRUE,oclamping,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_bgr_to_yuvp_frame(gusrc, width, height, irowstride, gudest_array, FALSE, TRUE, oclamping, -USE_THREADS); lives_free(gudest_array); break; case WEED_PALETTE_YUV411: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>2); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_bgr_to_yuv411_frame(gusrc,width,height,irowstride,(yuv411_macropixel *)gudest,FALSE,oclamping); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 2); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_bgr_to_yuv411_frame(gusrc, width, height, irowstride, (yuv411_macropixel *)gudest, FALSE, oclamping); break; default: - lives_printerr("Invalid palette conversion: %s to %s not written yet !!\n",weed_palette_get_name(inpl), + lives_printerr("Invalid palette conversion: %s to %s not written yet !!\n", weed_palette_get_name(inpl), weed_palette_get_name(outpl)); return FALSE; } break; case WEED_PALETTE_RGBA32: - gusrc=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - irowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); + gusrc = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + irowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); switch (outpl) { case WEED_PALETTE_BGR24: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_swap3delpost_frame(gusrc,width,height,irowstride,orowstride,gudest,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_swap3delpost_frame(gusrc, width, height, irowstride, orowstride, gudest, -USE_THREADS); break; case WEED_PALETTE_RGB24: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_delpost_frame(gusrc,width,height,irowstride,orowstride,gudest,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_delpost_frame(gusrc, width, height, irowstride, orowstride, gudest, -USE_THREADS); break; case WEED_PALETTE_BGRA32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_swap3postalpha_frame(gusrc,width,height,irowstride,orowstride,gudest,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_swap3postalpha_frame(gusrc, width, height, irowstride, orowstride, gudest, -USE_THREADS); break; case WEED_PALETTE_ARGB32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_swapprepost_frame(gusrc,width,height,irowstride,orowstride,gudest,FALSE,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_swapprepost_frame(gusrc, width, height, irowstride, orowstride, gudest, FALSE, -USE_THREADS); break; case WEED_PALETTE_UYVY8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_rgb_to_uyvy_frame(gusrc,width,height,irowstride,(uyvy_macropixel *)gudest,TRUE,oclamping,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_rgb_to_uyvy_frame(gusrc, width, height, irowstride, (uyvy_macropixel *)gudest, TRUE, oclamping, -USE_THREADS); break; case WEED_PALETTE_YUYV8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_rgb_to_yuyv_frame(gusrc,width,height,irowstride,(yuyv_macropixel *)gudest,TRUE,oclamping,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_rgb_to_yuyv_frame(gusrc, width, height, irowstride, (yuyv_macropixel *)gudest, TRUE, oclamping, -USE_THREADS); break; case WEED_PALETTE_YUV888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_rgb_to_yuv_frame(gusrc,width,height,irowstride,gudest,TRUE,FALSE,oclamping,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_rgb_to_yuv_frame(gusrc, width, height, irowstride, gudest, TRUE, FALSE, oclamping, -USE_THREADS); break; case WEED_PALETTE_YUVA8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_rgb_to_yuv_frame(gusrc,width,height,irowstride,gudest,TRUE,TRUE,oclamping,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_rgb_to_yuv_frame(gusrc, width, height, irowstride, gudest, TRUE, TRUE, oclamping, -USE_THREADS); break; case WEED_PALETTE_YUV422P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_rgb_to_yuv420_frame(gusrc,width,height,irowstride,gudest_array,TRUE,TRUE,WEED_YUV_SAMPLING_DEFAULT,oclamping); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_rgb_to_yuv420_frame(gusrc, width, height, irowstride, gudest_array, TRUE, TRUE, WEED_YUV_SAMPLING_DEFAULT, oclamping); lives_free(gudest_array); - weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,WEED_YUV_SAMPLING_DEFAULT); + weed_set_int_value(layer, WEED_LEAF_YUV_SAMPLING, WEED_YUV_SAMPLING_DEFAULT); break; case WEED_PALETTE_YUV420P: case WEED_PALETTE_YVU420P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_rgb_to_yuv420_frame(gusrc,width,height,irowstride,gudest_array,FALSE,TRUE,osamtype,oclamping); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_rgb_to_yuv420_frame(gusrc, width, height, irowstride, gudest_array, FALSE, TRUE, osamtype, oclamping); lives_free(gudest_array); - weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,WEED_YUV_SAMPLING_DEFAULT); + weed_set_int_value(layer, WEED_LEAF_YUV_SAMPLING, WEED_YUV_SAMPLING_DEFAULT); //weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,osamtype); break; case WEED_PALETTE_YUV444P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_rgb_to_yuvp_frame(gusrc,width,height,irowstride,gudest_array,TRUE,FALSE,oclamping,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_rgb_to_yuvp_frame(gusrc, width, height, irowstride, gudest_array, TRUE, FALSE, oclamping, -USE_THREADS); lives_free(gudest_array); break; case WEED_PALETTE_YUVA4444P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_rgb_to_yuvp_frame(gusrc,width,height,irowstride,gudest_array,TRUE,TRUE,oclamping,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_rgb_to_yuvp_frame(gusrc, width, height, irowstride, gudest_array, TRUE, TRUE, oclamping, -USE_THREADS); lives_free(gudest_array); break; case WEED_PALETTE_YUV411: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>2); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_rgb_to_yuv411_frame(gusrc,width,height,irowstride,(yuv411_macropixel *)gudest,TRUE,oclamping); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 2); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_rgb_to_yuv411_frame(gusrc, width, height, irowstride, (yuv411_macropixel *)gudest, TRUE, oclamping); break; default: - lives_printerr("Invalid palette conversion: %s to %s not written yet !!\n",weed_palette_get_name(inpl), + lives_printerr("Invalid palette conversion: %s to %s not written yet !!\n", weed_palette_get_name(inpl), weed_palette_get_name(outpl)); return FALSE; } break; case WEED_PALETTE_RGB24: - gusrc=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - irowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); + gusrc = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + irowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); switch (outpl) { case WEED_PALETTE_BGR24: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_swap3_frame(gusrc,width,height,irowstride,orowstride,gudest,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_swap3_frame(gusrc, width, height, irowstride, orowstride, gudest, -USE_THREADS); break; case WEED_PALETTE_RGBA32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_addpost_frame(gusrc,width,height,irowstride,orowstride,gudest,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_addpost_frame(gusrc, width, height, irowstride, orowstride, gudest, -USE_THREADS); break; case WEED_PALETTE_BGRA32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_swap3addpost_frame(gusrc,width,height,irowstride,orowstride,gudest,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_swap3addpost_frame(gusrc, width, height, irowstride, orowstride, gudest, -USE_THREADS); break; case WEED_PALETTE_ARGB32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_addpre_frame(gusrc,width,height,irowstride,orowstride,gudest,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_addpre_frame(gusrc, width, height, irowstride, orowstride, gudest, -USE_THREADS); break; case WEED_PALETTE_UYVY8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_rgb_to_uyvy_frame(gusrc,width,height,irowstride,(uyvy_macropixel *)gudest,FALSE,oclamping,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_rgb_to_uyvy_frame(gusrc, width, height, irowstride, (uyvy_macropixel *)gudest, FALSE, oclamping, -USE_THREADS); break; case WEED_PALETTE_YUYV8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_rgb_to_yuyv_frame(gusrc,width,height,irowstride,(yuyv_macropixel *)gudest,FALSE,oclamping,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_rgb_to_yuyv_frame(gusrc, width, height, irowstride, (yuyv_macropixel *)gudest, FALSE, oclamping, -USE_THREADS); break; case WEED_PALETTE_YUV888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_rgb_to_yuv_frame(gusrc,width,height,irowstride,gudest,FALSE,FALSE,oclamping,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_rgb_to_yuv_frame(gusrc, width, height, irowstride, gudest, FALSE, FALSE, oclamping, -USE_THREADS); break; case WEED_PALETTE_YUVA8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_rgb_to_yuv_frame(gusrc,width,height,irowstride,gudest,FALSE,TRUE,oclamping,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_rgb_to_yuv_frame(gusrc, width, height, irowstride, gudest, FALSE, TRUE, oclamping, -USE_THREADS); break; case WEED_PALETTE_YUV422P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_rgb_to_yuv420_frame(gusrc,width,height,irowstride,gudest_array,TRUE,FALSE,osamtype,oclamping); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_rgb_to_yuv420_frame(gusrc, width, height, irowstride, gudest_array, TRUE, FALSE, osamtype, oclamping); lives_free(gudest_array); break; case WEED_PALETTE_YUV420P: case WEED_PALETTE_YVU420P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_rgb_to_yuv420_frame(gusrc,width,height,irowstride,gudest_array,FALSE, - FALSE,WEED_YUV_SAMPLING_DEFAULT,oclamping); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_rgb_to_yuv420_frame(gusrc, width, height, irowstride, gudest_array, FALSE, + FALSE, WEED_YUV_SAMPLING_DEFAULT, oclamping); lives_free(gudest_array); - weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,WEED_YUV_SAMPLING_DEFAULT); + weed_set_int_value(layer, WEED_LEAF_YUV_SAMPLING, WEED_YUV_SAMPLING_DEFAULT); //weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,osamtype); break; case WEED_PALETTE_YUV444P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_rgb_to_yuvp_frame(gusrc,width,height,irowstride,gudest_array,FALSE,FALSE,oclamping,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_rgb_to_yuvp_frame(gusrc, width, height, irowstride, gudest_array, FALSE, FALSE, oclamping, -USE_THREADS); lives_free(gudest_array); break; case WEED_PALETTE_YUVA4444P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_rgb_to_yuvp_frame(gusrc,width,height,irowstride,gudest_array,FALSE,TRUE,oclamping,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_rgb_to_yuvp_frame(gusrc, width, height, irowstride, gudest_array, FALSE, TRUE, oclamping, -USE_THREADS); lives_free(gudest_array); break; case WEED_PALETTE_YUV411: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>2); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_rgb_to_yuv411_frame(gusrc,width,height,irowstride,(yuv411_macropixel *)gudest,FALSE,oclamping); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 2); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_rgb_to_yuv411_frame(gusrc, width, height, irowstride, (yuv411_macropixel *)gudest, FALSE, oclamping); break; default: - lives_printerr("Invalid palette conversion: %s to %s not written yet !!\n",weed_palette_get_name(inpl), + lives_printerr("Invalid palette conversion: %s to %s not written yet !!\n", weed_palette_get_name(inpl), weed_palette_get_name(outpl)); return FALSE; } break; case WEED_PALETTE_BGRA32: - gusrc=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - irowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); + gusrc = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + irowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); switch (outpl) { case WEED_PALETTE_BGR24: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_delpost_frame(gusrc,width,height,irowstride,orowstride,gudest,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_delpost_frame(gusrc, width, height, irowstride, orowstride, gudest, -USE_THREADS); break; case WEED_PALETTE_RGB24: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_swap3delpost_frame(gusrc,width,height,irowstride,orowstride,gudest,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_swap3delpost_frame(gusrc, width, height, irowstride, orowstride, gudest, -USE_THREADS); break; case WEED_PALETTE_RGBA32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_swap3postalpha_frame(gusrc,width,height,irowstride,orowstride,gudest,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_swap3postalpha_frame(gusrc, width, height, irowstride, orowstride, gudest, -USE_THREADS); break; case WEED_PALETTE_ARGB32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_swap4_frame(gusrc,width,height,irowstride,orowstride,gudest,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_swap4_frame(gusrc, width, height, irowstride, orowstride, gudest, -USE_THREADS); break; case WEED_PALETTE_UYVY8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_bgr_to_uyvy_frame(gusrc,width,height,irowstride,(uyvy_macropixel *)gudest,TRUE,oclamping,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_bgr_to_uyvy_frame(gusrc, width, height, irowstride, (uyvy_macropixel *)gudest, TRUE, oclamping, -USE_THREADS); break; case WEED_PALETTE_YUYV8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_bgr_to_yuyv_frame(gusrc,width,height,irowstride,(yuyv_macropixel *)gudest,TRUE,oclamping,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_bgr_to_yuyv_frame(gusrc, width, height, irowstride, (yuyv_macropixel *)gudest, TRUE, oclamping, -USE_THREADS); break; case WEED_PALETTE_YUV888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_bgr_to_yuv_frame(gusrc,width,height,irowstride,gudest,TRUE,FALSE,oclamping,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_bgr_to_yuv_frame(gusrc, width, height, irowstride, gudest, TRUE, FALSE, oclamping, -USE_THREADS); break; case WEED_PALETTE_YUVA8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_bgr_to_yuv_frame(gusrc,width,height,irowstride,gudest,TRUE,TRUE,oclamping,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_bgr_to_yuv_frame(gusrc, width, height, irowstride, gudest, TRUE, TRUE, oclamping, -USE_THREADS); break; case WEED_PALETTE_YUV422P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_bgr_to_yuv420_frame(gusrc,width,height,irowstride,gudest_array,TRUE,TRUE, - WEED_YUV_SAMPLING_DEFAULT,oclamping); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_bgr_to_yuv420_frame(gusrc, width, height, irowstride, gudest_array, TRUE, TRUE, + WEED_YUV_SAMPLING_DEFAULT, oclamping); lives_free(gudest_array); - weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,WEED_YUV_SAMPLING_DEFAULT); + weed_set_int_value(layer, WEED_LEAF_YUV_SAMPLING, WEED_YUV_SAMPLING_DEFAULT); break; case WEED_PALETTE_YVU420P: case WEED_PALETTE_YUV420P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_bgr_to_yuv420_frame(gusrc,width,height,irowstride,gudest_array,FALSE,TRUE,osamtype,oclamping); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_bgr_to_yuv420_frame(gusrc, width, height, irowstride, gudest_array, FALSE, TRUE, osamtype, oclamping); lives_free(gudest_array); - weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,WEED_YUV_SAMPLING_DEFAULT); + weed_set_int_value(layer, WEED_LEAF_YUV_SAMPLING, WEED_YUV_SAMPLING_DEFAULT); //weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,osamtype); break; case WEED_PALETTE_YUV444P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_bgr_to_yuvp_frame(gusrc,width,height,irowstride,gudest_array,TRUE,FALSE,oclamping,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_bgr_to_yuvp_frame(gusrc, width, height, irowstride, gudest_array, TRUE, FALSE, oclamping, -USE_THREADS); lives_free(gudest_array); break; case WEED_PALETTE_YUVA4444P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_bgr_to_yuvp_frame(gusrc,width,height,irowstride,gudest_array,TRUE,TRUE,oclamping,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_bgr_to_yuvp_frame(gusrc, width, height, irowstride, gudest_array, TRUE, TRUE, oclamping, -USE_THREADS); lives_free(gudest_array); break; case WEED_PALETTE_YUV411: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>2); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_bgr_to_yuv411_frame(gusrc,width,height,irowstride,(yuv411_macropixel *)gudest,TRUE,oclamping); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 2); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_bgr_to_yuv411_frame(gusrc, width, height, irowstride, (yuv411_macropixel *)gudest, TRUE, oclamping); break; default: - lives_printerr("Invalid palette conversion: %s to %s not written yet !!\n",weed_palette_get_name(inpl), + lives_printerr("Invalid palette conversion: %s to %s not written yet !!\n", weed_palette_get_name(inpl), weed_palette_get_name(outpl)); return FALSE; } break; case WEED_PALETTE_ARGB32: - gusrc=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - irowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); + gusrc = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + irowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); switch (outpl) { case WEED_PALETTE_BGR24: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_swap3delpre_frame(gusrc,width,height,irowstride,orowstride,gudest,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_swap3delpre_frame(gusrc, width, height, irowstride, orowstride, gudest, -USE_THREADS); break; case WEED_PALETTE_RGB24: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_delpre_frame(gusrc,width,height,irowstride,orowstride,gudest,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_delpre_frame(gusrc, width, height, irowstride, orowstride, gudest, -USE_THREADS); break; case WEED_PALETTE_RGBA32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_swapprepost_frame(gusrc,width,height,irowstride,orowstride,gudest,TRUE,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_swapprepost_frame(gusrc, width, height, irowstride, orowstride, gudest, TRUE, -USE_THREADS); break; case WEED_PALETTE_BGRA32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_swap4_frame(gusrc,width,height,irowstride,orowstride,gudest,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_swap4_frame(gusrc, width, height, irowstride, orowstride, gudest, -USE_THREADS); break; case WEED_PALETTE_UYVY8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_argb_to_uyvy_frame(gusrc,width,height,irowstride,(uyvy_macropixel *)gudest,oclamping,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_argb_to_uyvy_frame(gusrc, width, height, irowstride, (uyvy_macropixel *)gudest, oclamping, -USE_THREADS); break; case WEED_PALETTE_YUYV8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_argb_to_yuyv_frame(gusrc,width,height,irowstride,(yuyv_macropixel *)gudest,oclamping,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_argb_to_yuyv_frame(gusrc, width, height, irowstride, (yuyv_macropixel *)gudest, oclamping, -USE_THREADS); break; case WEED_PALETTE_YUV888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_argb_to_yuv_frame(gusrc,width,height,irowstride,gudest,FALSE,oclamping,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_argb_to_yuv_frame(gusrc, width, height, irowstride, gudest, FALSE, oclamping, -USE_THREADS); break; case WEED_PALETTE_YUVA8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_argb_to_yuv_frame(gusrc,width,height,irowstride,gudest,TRUE,oclamping,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_argb_to_yuv_frame(gusrc, width, height, irowstride, gudest, TRUE, oclamping, -USE_THREADS); break; case WEED_PALETTE_YUV444P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_argb_to_yuvp_frame(gusrc,width,height,irowstride,gudest_array,FALSE,oclamping,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_argb_to_yuvp_frame(gusrc, width, height, irowstride, gudest_array, FALSE, oclamping, -USE_THREADS); lives_free(gudest_array); break; case WEED_PALETTE_YUVA4444P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_argb_to_yuvp_frame(gusrc,width,height,irowstride,gudest_array,TRUE,oclamping,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_argb_to_yuvp_frame(gusrc, width, height, irowstride, gudest_array, TRUE, oclamping, -USE_THREADS); lives_free(gudest_array); break; case WEED_PALETTE_YUV422P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_argb_to_yuv420_frame(gusrc,width,height,irowstride,gudest_array,TRUE,WEED_YUV_SAMPLING_DEFAULT,oclamping); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_argb_to_yuv420_frame(gusrc, width, height, irowstride, gudest_array, TRUE, WEED_YUV_SAMPLING_DEFAULT, oclamping); lives_free(gudest_array); - weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,WEED_YUV_SAMPLING_DEFAULT); + weed_set_int_value(layer, WEED_LEAF_YUV_SAMPLING, WEED_YUV_SAMPLING_DEFAULT); break; case WEED_PALETTE_YUV420P: case WEED_PALETTE_YVU420P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_argb_to_yuv420_frame(gusrc,width,height,irowstride,gudest_array,FALSE,osamtype,oclamping); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_argb_to_yuv420_frame(gusrc, width, height, irowstride, gudest_array, FALSE, osamtype, oclamping); lives_free(gudest_array); - weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,WEED_YUV_SAMPLING_DEFAULT); + weed_set_int_value(layer, WEED_LEAF_YUV_SAMPLING, WEED_YUV_SAMPLING_DEFAULT); //weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,osamtype); break; case WEED_PALETTE_YUV411: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>2); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_argb_to_yuv411_frame(gusrc,width,height,irowstride,(yuv411_macropixel *)gudest,oclamping); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 2); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_argb_to_yuv411_frame(gusrc, width, height, irowstride, (yuv411_macropixel *)gudest, oclamping); break; default: - lives_printerr("Invalid palette conversion: %s to %s not written yet !!\n",weed_palette_get_name(inpl), + lives_printerr("Invalid palette conversion: %s to %s not written yet !!\n", weed_palette_get_name(inpl), weed_palette_get_name(outpl)); return FALSE; } break; case WEED_PALETTE_YUV444P: - gusrc_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); + gusrc_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); switch (outpl) { case WEED_PALETTE_YUV422P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); lives_free(gudest_array[0]); - gudest_array[0]=gusrc_array[0]; - weed_set_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,3,(void **)gudest_array); - convert_halve_chroma(gusrc_array,width,height,gudest_array,iclamped); - gusrc_array[0]=NULL; + gudest_array[0] = gusrc_array[0]; + weed_set_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, 3, (void **)gudest_array); + convert_halve_chroma(gusrc_array, width, height, gudest_array, iclamped); + gusrc_array[0] = NULL; lives_free(gudest_array); break; case WEED_PALETTE_RGB24: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv_planar_to_rgb_frame(gusrc_array,width,height,orowstride,gudest,FALSE,FALSE,iclamped,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv_planar_to_rgb_frame(gusrc_array, width, height, orowstride, gudest, FALSE, FALSE, iclamped, -USE_THREADS); break; case WEED_PALETTE_RGBA32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv_planar_to_rgb_frame(gusrc_array,width,height,orowstride,gudest,FALSE,TRUE,iclamped,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv_planar_to_rgb_frame(gusrc_array, width, height, orowstride, gudest, FALSE, TRUE, iclamped, -USE_THREADS); break; case WEED_PALETTE_BGR24: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv_planar_to_bgr_frame(gusrc_array,width,height,orowstride,gudest,FALSE,FALSE,iclamped,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv_planar_to_bgr_frame(gusrc_array, width, height, orowstride, gudest, FALSE, FALSE, iclamped, -USE_THREADS); break; case WEED_PALETTE_BGRA32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv_planar_to_bgr_frame(gusrc_array,width,height,orowstride,gudest,FALSE,TRUE,iclamped,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv_planar_to_bgr_frame(gusrc_array, width, height, orowstride, gudest, FALSE, TRUE, iclamped, -USE_THREADS); break; case WEED_PALETTE_ARGB32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv_planar_to_argb_frame(gusrc_array,width,height,orowstride,gudest,FALSE,iclamped,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv_planar_to_argb_frame(gusrc_array, width, height, orowstride, gudest, FALSE, iclamped, -USE_THREADS); break; case WEED_PALETTE_UYVY8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv_planar_to_uyvy_frame(gusrc_array,width,height,(uyvy_macropixel *)gudest,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv_planar_to_uyvy_frame(gusrc_array, width, height, (uyvy_macropixel *)gudest, iclamped); break; case WEED_PALETTE_YUYV8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv_planar_to_yuyv_frame(gusrc_array,width,height,(yuyv_macropixel *)gudest,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv_planar_to_yuyv_frame(gusrc_array, width, height, (yuyv_macropixel *)gudest, iclamped); break; case WEED_PALETTE_YUV888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_combineplanes_frame(gusrc_array,width,height,gudest,FALSE,FALSE); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_combineplanes_frame(gusrc_array, width, height, gudest, FALSE, FALSE); break; case WEED_PALETTE_YUVA8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_combineplanes_frame(gusrc_array,width,height,gudest,FALSE,TRUE); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_combineplanes_frame(gusrc_array, width, height, gudest, FALSE, TRUE); break; case WEED_PALETTE_YUVA4444P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuvp_to_yuvap_frame(gusrc_array,width,height,gudest_array); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuvp_to_yuvap_frame(gusrc_array, width, height, gudest_array); lives_free(gudest_array); break; case WEED_PALETTE_YUV420P: case WEED_PALETTE_YVU420P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuvp_to_yuv420_frame(gusrc_array,width,height,gudest_array,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuvp_to_yuv420_frame(gusrc_array, width, height, gudest_array, iclamped); lives_free(gudest_array); - weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,WEED_YUV_SAMPLING_DEFAULT); + weed_set_int_value(layer, WEED_LEAF_YUV_SAMPLING, WEED_YUV_SAMPLING_DEFAULT); //weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,osamtype); break; case WEED_PALETTE_YUV411: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>2); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuvp_to_yuv411_frame(gusrc_array,width,height,(yuv411_macropixel *)gudest,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 2); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuvp_to_yuv411_frame(gusrc_array, width, height, (yuv411_macropixel *)gudest, iclamped); break; default: - lives_printerr("Invalid palette conversion: %s to %s not written yet !!\n",weed_palette_get_name(inpl), + lives_printerr("Invalid palette conversion: %s to %s not written yet !!\n", weed_palette_get_name(inpl), weed_palette_get_name(outpl)); - if (gusrc_array!=NULL) lives_free(gusrc_array); + if (gusrc_array != NULL) lives_free(gusrc_array); return FALSE; } - if (gusrc_array!=NULL) { - if (weed_plant_has_leaf(layer,WEED_LEAF_HOST_PIXBUF_SRC)) { - LiVESPixbuf *pixbuf=(LiVESPixbuf *)weed_get_voidptr_value(layer,WEED_LEAF_HOST_PIXBUF_SRC,&error); - weed_leaf_delete(layer,WEED_LEAF_HOST_PIXBUF_SRC); + if (gusrc_array != NULL) { + if (weed_plant_has_leaf(layer, WEED_LEAF_HOST_PIXBUF_SRC)) { + LiVESPixbuf *pixbuf = (LiVESPixbuf *)weed_get_voidptr_value(layer, WEED_LEAF_HOST_PIXBUF_SRC, &error); + weed_leaf_delete(layer, WEED_LEAF_HOST_PIXBUF_SRC); lives_object_unref(pixbuf); } else { - if (gusrc_array[0]!=NULL) lives_free(gusrc_array[0]); + if (gusrc_array[0] != NULL) lives_free(gusrc_array[0]); if (!contig) { lives_free(gusrc_array[1]); lives_free(gusrc_array[2]); @@ -9041,117 +8805,117 @@ } break; case WEED_PALETTE_YUVA4444P: - gusrc_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); + gusrc_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); switch (outpl) { case WEED_PALETTE_YUV422P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); lives_free(gudest_array[0]); - gudest_array[0]=gusrc_array[0]; - weed_set_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,3,(void **)gudest_array); - convert_halve_chroma(gusrc_array,width,height,gudest_array,iclamped); - gusrc_array[0]=NULL; + gudest_array[0] = gusrc_array[0]; + weed_set_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, 3, (void **)gudest_array); + convert_halve_chroma(gusrc_array, width, height, gudest_array, iclamped); + gusrc_array[0] = NULL; lives_free(gudest_array); break; case WEED_PALETTE_RGB24: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv_planar_to_rgb_frame(gusrc_array,width,height,orowstride,gudest,TRUE,FALSE,iclamped,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv_planar_to_rgb_frame(gusrc_array, width, height, orowstride, gudest, TRUE, FALSE, iclamped, -USE_THREADS); break; case WEED_PALETTE_RGBA32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv_planar_to_rgb_frame(gusrc_array,width,height,orowstride,gudest,TRUE,TRUE,iclamped,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv_planar_to_rgb_frame(gusrc_array, width, height, orowstride, gudest, TRUE, TRUE, iclamped, -USE_THREADS); break; case WEED_PALETTE_BGR24: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv_planar_to_bgr_frame(gusrc_array,width,height,orowstride,gudest,TRUE,FALSE,iclamped,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv_planar_to_bgr_frame(gusrc_array, width, height, orowstride, gudest, TRUE, FALSE, iclamped, -USE_THREADS); break; case WEED_PALETTE_BGRA32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv_planar_to_bgr_frame(gusrc_array,width,height,orowstride,gudest,TRUE,TRUE,iclamped,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv_planar_to_bgr_frame(gusrc_array, width, height, orowstride, gudest, TRUE, TRUE, iclamped, -USE_THREADS); break; case WEED_PALETTE_ARGB32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv_planar_to_argb_frame(gusrc_array,width,height,orowstride,gudest,TRUE,iclamped,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv_planar_to_argb_frame(gusrc_array, width, height, orowstride, gudest, TRUE, iclamped, -USE_THREADS); break; case WEED_PALETTE_UYVY8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv_planar_to_uyvy_frame(gusrc_array,width,height,(uyvy_macropixel *)gudest,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv_planar_to_uyvy_frame(gusrc_array, width, height, (uyvy_macropixel *)gudest, iclamped); break; case WEED_PALETTE_YUYV8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv_planar_to_yuyv_frame(gusrc_array,width,height,(yuyv_macropixel *)gudest,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv_planar_to_yuyv_frame(gusrc_array, width, height, (yuyv_macropixel *)gudest, iclamped); break; case WEED_PALETTE_YUV888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_combineplanes_frame(gusrc_array,width,height,gudest,TRUE,FALSE); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_combineplanes_frame(gusrc_array, width, height, gudest, TRUE, FALSE); break; case WEED_PALETTE_YUVA8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_combineplanes_frame(gusrc_array,width,height,gudest,TRUE,TRUE); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_combineplanes_frame(gusrc_array, width, height, gudest, TRUE, TRUE); break; case WEED_PALETTE_YUV444P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuvap_to_yuvp_frame(gusrc_array,width,height,gudest_array); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuvap_to_yuvp_frame(gusrc_array, width, height, gudest_array); lives_free(gudest_array); break; case WEED_PALETTE_YUV420P: case WEED_PALETTE_YVU420P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuvp_to_yuv420_frame(gusrc_array,width,height,gudest_array,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuvp_to_yuv420_frame(gusrc_array, width, height, gudest_array, iclamped); lives_free(gudest_array); - weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,WEED_YUV_SAMPLING_DEFAULT); + weed_set_int_value(layer, WEED_LEAF_YUV_SAMPLING, WEED_YUV_SAMPLING_DEFAULT); //weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,osamtype); break; case WEED_PALETTE_YUV411: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>2); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuvp_to_yuv411_frame(gusrc_array,width,height,(yuv411_macropixel *)gudest,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 2); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuvp_to_yuv411_frame(gusrc_array, width, height, (yuv411_macropixel *)gudest, iclamped); break; default: - lives_printerr("Invalid palette conversion: %s to %s not written yet !!\n",weed_palette_get_name(inpl), + lives_printerr("Invalid palette conversion: %s to %s not written yet !!\n", weed_palette_get_name(inpl), weed_palette_get_name(outpl)); - if (gusrc_array!=NULL) lives_free(gusrc_array); + if (gusrc_array != NULL) lives_free(gusrc_array); return FALSE; } - if (gusrc_array!=NULL) { - if (weed_plant_has_leaf(layer,WEED_LEAF_HOST_PIXBUF_SRC)) { - LiVESPixbuf *pixbuf=(LiVESPixbuf *)weed_get_voidptr_value(layer,WEED_LEAF_HOST_PIXBUF_SRC,&error); - weed_leaf_delete(layer,WEED_LEAF_HOST_PIXBUF_SRC); + if (gusrc_array != NULL) { + if (weed_plant_has_leaf(layer, WEED_LEAF_HOST_PIXBUF_SRC)) { + LiVESPixbuf *pixbuf = (LiVESPixbuf *)weed_get_voidptr_value(layer, WEED_LEAF_HOST_PIXBUF_SRC, &error); + weed_leaf_delete(layer, WEED_LEAF_HOST_PIXBUF_SRC); lives_object_unref(pixbuf); } else { - if (gusrc_array[0]!=NULL) lives_free(gusrc_array[0]); + if (gusrc_array[0] != NULL) lives_free(gusrc_array[0]); if (!contig) { lives_free(gusrc_array[1]); lives_free(gusrc_array[2]); @@ -9162,702 +8926,701 @@ } break; case WEED_PALETTE_UYVY8888: - gusrc=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); + gusrc = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); switch (outpl) { case WEED_PALETTE_YUYV8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_swab_frame(gusrc,width,height,gudest,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_swab_frame(gusrc, width, height, gudest, -USE_THREADS); break; case WEED_PALETTE_YUV422P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_uyvy_to_yuv422_frame((uyvy_macropixel *)gusrc,width,height,gudest_array); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_uyvy_to_yuv422_frame((uyvy_macropixel *)gusrc, width, height, gudest_array); lives_free(gudest_array); break; case WEED_PALETTE_RGB24: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - convert_uyvy_to_rgb_frame((uyvy_macropixel *)gusrc,width,height,orowstride,gudest,FALSE,iclamped,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + convert_uyvy_to_rgb_frame((uyvy_macropixel *)gusrc, width, height, orowstride, gudest, FALSE, iclamped, -USE_THREADS); break; case WEED_PALETTE_RGBA32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - convert_uyvy_to_rgb_frame((uyvy_macropixel *)gusrc,width,height,orowstride,gudest,TRUE,iclamped,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + convert_uyvy_to_rgb_frame((uyvy_macropixel *)gusrc, width, height, orowstride, gudest, TRUE, iclamped, -USE_THREADS); break; case WEED_PALETTE_BGR24: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - convert_uyvy_to_bgr_frame((uyvy_macropixel *)gusrc,width,height,orowstride,gudest,FALSE,iclamped,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + convert_uyvy_to_bgr_frame((uyvy_macropixel *)gusrc, width, height, orowstride, gudest, FALSE, iclamped, -USE_THREADS); break; case WEED_PALETTE_BGRA32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - convert_uyvy_to_bgr_frame((uyvy_macropixel *)gusrc,width,height,orowstride,gudest,TRUE,iclamped,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + convert_uyvy_to_bgr_frame((uyvy_macropixel *)gusrc, width, height, orowstride, gudest, TRUE, iclamped, -USE_THREADS); break; case WEED_PALETTE_ARGB32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - convert_uyvy_to_argb_frame((uyvy_macropixel *)gusrc,width,height,orowstride,gudest,iclamped,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + convert_uyvy_to_argb_frame((uyvy_macropixel *)gusrc, width, height, orowstride, gudest, iclamped, -USE_THREADS); break; case WEED_PALETTE_YUV444P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_uyvy_to_yuvp_frame((uyvy_macropixel *)gusrc,width,height,gudest_array,FALSE); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_uyvy_to_yuvp_frame((uyvy_macropixel *)gusrc, width, height, gudest_array, FALSE); lives_free(gudest_array); break; case WEED_PALETTE_YUVA4444P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_uyvy_to_yuvp_frame((uyvy_macropixel *)gusrc,width,height,gudest_array,TRUE); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_uyvy_to_yuvp_frame((uyvy_macropixel *)gusrc, width, height, gudest_array, TRUE); lives_free(gudest_array); break; case WEED_PALETTE_YUV888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_uyvy_to_yuv888_frame((uyvy_macropixel *)gusrc,width,height,gudest,FALSE); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_uyvy_to_yuv888_frame((uyvy_macropixel *)gusrc, width, height, gudest, FALSE); break; case WEED_PALETTE_YUVA8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_uyvy_to_yuv888_frame((uyvy_macropixel *)gusrc,width,height,gudest,TRUE); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_uyvy_to_yuv888_frame((uyvy_macropixel *)gusrc, width, height, gudest, TRUE); break; case WEED_PALETTE_YUV420P: case WEED_PALETTE_YVU420P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_uyvy_to_yuv420_frame((uyvy_macropixel *)gusrc,width,height,gudest_array,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_uyvy_to_yuv420_frame((uyvy_macropixel *)gusrc, width, height, gudest_array, iclamped); lives_free(gudest_array); - weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,WEED_YUV_SAMPLING_DEFAULT); + weed_set_int_value(layer, WEED_LEAF_YUV_SAMPLING, WEED_YUV_SAMPLING_DEFAULT); //weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,osamtype); break; case WEED_PALETTE_YUV411: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_uyvy_to_yuv411_frame((uyvy_macropixel *)gusrc,width,height,(yuv411_macropixel *)gudest,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_uyvy_to_yuv411_frame((uyvy_macropixel *)gusrc, width, height, (yuv411_macropixel *)gudest, iclamped); break; default: - lives_printerr("Invalid palette conversion: %s to %s not written yet !!\n",weed_palette_get_name(inpl), + lives_printerr("Invalid palette conversion: %s to %s not written yet !!\n", weed_palette_get_name(inpl), weed_palette_get_name(outpl)); return FALSE; } break; case WEED_PALETTE_YUYV8888: - gusrc=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); + gusrc = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); switch (outpl) { case WEED_PALETTE_UYVY8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_swab_frame(gusrc,width,height,gudest,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_swab_frame(gusrc, width, height, gudest, -USE_THREADS); break; case WEED_PALETTE_YUV422P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuyv_to_yuv422_frame((yuyv_macropixel *)gusrc,width,height,gudest_array); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuyv_to_yuv422_frame((yuyv_macropixel *)gusrc, width, height, gudest_array); lives_free(gudest_array); break; case WEED_PALETTE_RGB24: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - convert_yuyv_to_rgb_frame((yuyv_macropixel *)gusrc,width,height,orowstride,gudest,FALSE,iclamped,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + convert_yuyv_to_rgb_frame((yuyv_macropixel *)gusrc, width, height, orowstride, gudest, FALSE, iclamped, -USE_THREADS); break; case WEED_PALETTE_RGBA32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - convert_yuyv_to_rgb_frame((yuyv_macropixel *)gusrc,width,height,orowstride,gudest,TRUE,iclamped,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + convert_yuyv_to_rgb_frame((yuyv_macropixel *)gusrc, width, height, orowstride, gudest, TRUE, iclamped, -USE_THREADS); break; case WEED_PALETTE_BGR24: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - convert_yuyv_to_bgr_frame((yuyv_macropixel *)gusrc,width,height,orowstride,gudest,FALSE,iclamped,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + convert_yuyv_to_bgr_frame((yuyv_macropixel *)gusrc, width, height, orowstride, gudest, FALSE, iclamped, -USE_THREADS); break; case WEED_PALETTE_BGRA32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - convert_yuyv_to_bgr_frame((yuyv_macropixel *)gusrc,width,height,orowstride,gudest,TRUE,iclamped,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + convert_yuyv_to_bgr_frame((yuyv_macropixel *)gusrc, width, height, orowstride, gudest, TRUE, iclamped, -USE_THREADS); break; case WEED_PALETTE_ARGB32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - convert_yuyv_to_argb_frame((yuyv_macropixel *)gusrc,width,height,orowstride,gudest,iclamped,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + convert_yuyv_to_argb_frame((yuyv_macropixel *)gusrc, width, height, orowstride, gudest, iclamped, -USE_THREADS); break; case WEED_PALETTE_YUV444P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuyv_to_yuvp_frame((yuyv_macropixel *)gusrc,width,height,gudest_array,FALSE); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuyv_to_yuvp_frame((yuyv_macropixel *)gusrc, width, height, gudest_array, FALSE); lives_free(gudest_array); break; case WEED_PALETTE_YUVA4444P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuyv_to_yuvp_frame((yuyv_macropixel *)gusrc,width,height,gudest_array,TRUE); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuyv_to_yuvp_frame((yuyv_macropixel *)gusrc, width, height, gudest_array, TRUE); lives_free(gudest_array); break; case WEED_PALETTE_YUV888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuyv_to_yuv888_frame((yuyv_macropixel *)gusrc,width,height,gudest,FALSE); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuyv_to_yuv888_frame((yuyv_macropixel *)gusrc, width, height, gudest, FALSE); break; case WEED_PALETTE_YUVA8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuyv_to_yuv888_frame((yuyv_macropixel *)gusrc,width,height,gudest,TRUE); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuyv_to_yuv888_frame((yuyv_macropixel *)gusrc, width, height, gudest, TRUE); break; case WEED_PALETTE_YUV420P: case WEED_PALETTE_YVU420P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuyv_to_yuv420_frame((yuyv_macropixel *)gusrc,width,height,gudest_array,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuyv_to_yuv420_frame((yuyv_macropixel *)gusrc, width, height, gudest_array, iclamped); lives_free(gudest_array); - weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,WEED_YUV_SAMPLING_DEFAULT); + weed_set_int_value(layer, WEED_LEAF_YUV_SAMPLING, WEED_YUV_SAMPLING_DEFAULT); //weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,osamtype); break; case WEED_PALETTE_YUV411: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuyv_to_yuv411_frame((yuyv_macropixel *)gusrc,width,height,(yuv411_macropixel *)gudest,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuyv_to_yuv411_frame((yuyv_macropixel *)gusrc, width, height, (yuv411_macropixel *)gudest, iclamped); break; default: - lives_printerr("Invalid palette conversion: %s to %s not written yet !!\n",weed_palette_get_name(inpl), + lives_printerr("Invalid palette conversion: %s to %s not written yet !!\n", weed_palette_get_name(inpl), weed_palette_get_name(outpl)); return FALSE; } break; case WEED_PALETTE_YUV888: // need to check rowstrides (may have been resized) - gusrc=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - irowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); + gusrc = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + irowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); switch (outpl) { case WEED_PALETTE_YUVA8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_addpost_frame(gusrc,width,height,irowstride,width*4,gudest,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_addpost_frame(gusrc, width, height, irowstride, width * 4, gudest, -USE_THREADS); break; case WEED_PALETTE_YUV444P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_splitplanes_frame(gusrc,width,height,irowstride,gudest_array,FALSE,FALSE); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_splitplanes_frame(gusrc, width, height, irowstride, gudest_array, FALSE, FALSE); lives_free(gudest_array); break; case WEED_PALETTE_YUVA4444P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_splitplanes_frame(gusrc,width,height,irowstride,gudest_array,FALSE,TRUE); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_splitplanes_frame(gusrc, width, height, irowstride, gudest_array, FALSE, TRUE); lives_free(gudest_array); break; case WEED_PALETTE_RGB24: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv888_to_rgb_frame(gusrc,width,height,irowstride,orowstride,gudest,FALSE,iclamped,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv888_to_rgb_frame(gusrc, width, height, irowstride, orowstride, gudest, FALSE, iclamped, -USE_THREADS); break; case WEED_PALETTE_RGBA32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv888_to_rgb_frame(gusrc,width,height,irowstride,orowstride,gudest,TRUE,iclamped,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv888_to_rgb_frame(gusrc, width, height, irowstride, orowstride, gudest, TRUE, iclamped, -USE_THREADS); break; case WEED_PALETTE_BGR24: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv888_to_bgr_frame(gusrc,width,height,irowstride,orowstride,gudest,FALSE,iclamped,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv888_to_bgr_frame(gusrc, width, height, irowstride, orowstride, gudest, FALSE, iclamped, -USE_THREADS); break; case WEED_PALETTE_BGRA32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv888_to_bgr_frame(gusrc,width,height,irowstride,orowstride,gudest,TRUE,iclamped,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv888_to_bgr_frame(gusrc, width, height, irowstride, orowstride, gudest, TRUE, iclamped, -USE_THREADS); break; case WEED_PALETTE_ARGB32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv888_to_argb_frame(gusrc,width,height,irowstride,orowstride,gudest,iclamped,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv888_to_argb_frame(gusrc, width, height, irowstride, orowstride, gudest, iclamped, -USE_THREADS); break; case WEED_PALETTE_YVU420P: // convert to YUV420P, then fall through case WEED_PALETTE_YUV420P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv888_to_yuv420_frame(gusrc,width,height,irowstride,gudest_array,FALSE,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv888_to_yuv420_frame(gusrc, width, height, irowstride, gudest_array, FALSE, iclamped); lives_free(gudest_array); - weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,WEED_YUV_SAMPLING_DEFAULT); + weed_set_int_value(layer, WEED_LEAF_YUV_SAMPLING, WEED_YUV_SAMPLING_DEFAULT); //weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,osamtype); break; case WEED_PALETTE_YUV422P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv888_to_yuv422_frame(gusrc,width,height,irowstride,gudest_array,FALSE,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv888_to_yuv422_frame(gusrc, width, height, irowstride, gudest_array, FALSE, iclamped); lives_free(gudest_array); break; case WEED_PALETTE_UYVY8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv888_to_uyvy_frame(gusrc,width,height,irowstride,(uyvy_macropixel *)gudest,FALSE,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv888_to_uyvy_frame(gusrc, width, height, irowstride, (uyvy_macropixel *)gudest, FALSE, iclamped); break; case WEED_PALETTE_YUYV8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv888_to_yuyv_frame(gusrc,width,height,irowstride,(yuyv_macropixel *)gudest,FALSE,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv888_to_yuyv_frame(gusrc, width, height, irowstride, (yuyv_macropixel *)gudest, FALSE, iclamped); break; case WEED_PALETTE_YUV411: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>2); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv888_to_yuv411_frame(gusrc,width,height,irowstride,(yuv411_macropixel *)gudest,FALSE); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 2); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv888_to_yuv411_frame(gusrc, width, height, irowstride, (yuv411_macropixel *)gudest, FALSE); break; default: - lives_printerr("Invalid palette conversion: %s to %s not written yet !!\n",weed_palette_get_name(inpl), + lives_printerr("Invalid palette conversion: %s to %s not written yet !!\n", weed_palette_get_name(inpl), weed_palette_get_name(outpl)); return FALSE; } break; case WEED_PALETTE_YUVA8888: - gusrc=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - irowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); + gusrc = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + irowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); switch (outpl) { case WEED_PALETTE_YUV888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_delpost_frame(gusrc,width,height,irowstride,width*3,gudest,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_delpost_frame(gusrc, width, height, irowstride, width * 3, gudest, -USE_THREADS); break; case WEED_PALETTE_YUVA4444P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_splitplanes_frame(gusrc,width,height,irowstride,gudest_array,TRUE,TRUE); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_splitplanes_frame(gusrc, width, height, irowstride, gudest_array, TRUE, TRUE); lives_free(gudest_array); break; case WEED_PALETTE_YUV444P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_splitplanes_frame(gusrc,width,height,irowstride,gudest_array,TRUE,FALSE); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_splitplanes_frame(gusrc, width, height, irowstride, gudest_array, TRUE, FALSE); lives_free(gudest_array); break; case WEED_PALETTE_RGB24: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuva8888_to_rgba_frame(gusrc,width,height,irowstride,orowstride,gudest,TRUE,iclamped,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuva8888_to_rgba_frame(gusrc, width, height, irowstride, orowstride, gudest, TRUE, iclamped, -USE_THREADS); break; case WEED_PALETTE_RGBA32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuva8888_to_rgba_frame(gusrc,width,height,irowstride,orowstride,gudest,FALSE,iclamped,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuva8888_to_rgba_frame(gusrc, width, height, irowstride, orowstride, gudest, FALSE, iclamped, -USE_THREADS); break; case WEED_PALETTE_BGR24: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuva8888_to_bgra_frame(gusrc,width,height,irowstride,orowstride,gudest,TRUE,iclamped,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuva8888_to_bgra_frame(gusrc, width, height, irowstride, orowstride, gudest, TRUE, iclamped, -USE_THREADS); break; case WEED_PALETTE_BGRA32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuva8888_to_bgra_frame(gusrc,width,height,irowstride,orowstride,gudest,FALSE,iclamped,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuva8888_to_bgra_frame(gusrc, width, height, irowstride, orowstride, gudest, FALSE, iclamped, -USE_THREADS); break; case WEED_PALETTE_ARGB32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuva8888_to_argb_frame(gusrc,width,height,irowstride,orowstride,gudest,iclamped,-USE_THREADS); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuva8888_to_argb_frame(gusrc, width, height, irowstride, orowstride, gudest, iclamped, -USE_THREADS); break; case WEED_PALETTE_YUV420P: case WEED_PALETTE_YVU420P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv888_to_yuv420_frame(gusrc,width,height,irowstride,gudest_array,TRUE,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv888_to_yuv420_frame(gusrc, width, height, irowstride, gudest_array, TRUE, iclamped); lives_free(gudest_array); - weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,WEED_YUV_SAMPLING_DEFAULT); + weed_set_int_value(layer, WEED_LEAF_YUV_SAMPLING, WEED_YUV_SAMPLING_DEFAULT); //weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,osamtype); break; case WEED_PALETTE_YUV422P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv888_to_yuv422_frame(gusrc,width,height,irowstride,gudest_array,TRUE,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv888_to_yuv422_frame(gusrc, width, height, irowstride, gudest_array, TRUE, iclamped); lives_free(gudest_array); break; case WEED_PALETTE_UYVY8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv888_to_uyvy_frame(gusrc,width,height,irowstride,(uyvy_macropixel *)gudest,TRUE,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv888_to_uyvy_frame(gusrc, width, height, irowstride, (uyvy_macropixel *)gudest, TRUE, iclamped); break; case WEED_PALETTE_YUYV8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv888_to_yuyv_frame(gusrc,width,height,irowstride,(yuyv_macropixel *)gudest,TRUE,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv888_to_yuyv_frame(gusrc, width, height, irowstride, (yuyv_macropixel *)gudest, TRUE, iclamped); break; case WEED_PALETTE_YUV411: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>2); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv888_to_yuv411_frame(gusrc,width,height,irowstride,(yuv411_macropixel *)gudest,TRUE); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 2); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv888_to_yuv411_frame(gusrc, width, height, irowstride, (yuv411_macropixel *)gudest, TRUE); break; default: - lives_printerr("Invalid palette conversion: %s to %s not written yet !!\n",weed_palette_get_name(inpl), + lives_printerr("Invalid palette conversion: %s to %s not written yet !!\n", weed_palette_get_name(inpl), weed_palette_get_name(outpl)); return FALSE; } break; case WEED_PALETTE_YVU420P: // swap u and v planes, then fall through to YUV420P - gusrc_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - tmp=gusrc_array[1]; - gusrc_array[1]=gusrc_array[2]; - gusrc_array[2]=tmp; - weed_set_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,3,(void **)gusrc_array); + gusrc_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + tmp = gusrc_array[1]; + gusrc_array[1] = gusrc_array[2]; + gusrc_array[2] = tmp; + weed_set_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, 3, (void **)gusrc_array); lives_free(gusrc_array); case WEED_PALETTE_YUV420P: - gusrc_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); + gusrc_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); switch (outpl) { case WEED_PALETTE_RGB24: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv420p_to_rgb_frame(gusrc_array,width,height,orowstride,gudest,FALSE,FALSE,isamtype,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv420p_to_rgb_frame(gusrc_array, width, height, orowstride, gudest, FALSE, FALSE, isamtype, iclamped); break; case WEED_PALETTE_RGBA32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv420p_to_rgb_frame(gusrc_array,width,height,orowstride,gudest,TRUE,FALSE,isamtype,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv420p_to_rgb_frame(gusrc_array, width, height, orowstride, gudest, TRUE, FALSE, isamtype, iclamped); break; case WEED_PALETTE_BGR24: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv420p_to_bgr_frame(gusrc_array,width,height,orowstride,gudest,FALSE,FALSE,isamtype,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv420p_to_bgr_frame(gusrc_array, width, height, orowstride, gudest, FALSE, FALSE, isamtype, iclamped); break; case WEED_PALETTE_BGRA32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv420p_to_bgr_frame(gusrc_array,width,height,orowstride,gudest,TRUE,FALSE,isamtype,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv420p_to_bgr_frame(gusrc_array, width, height, orowstride, gudest, TRUE, FALSE, isamtype, iclamped); break; case WEED_PALETTE_ARGB32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv420p_to_argb_frame(gusrc_array,width,height,orowstride,gudest,FALSE,isamtype,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv420p_to_argb_frame(gusrc_array, width, height, orowstride, gudest, FALSE, isamtype, iclamped); break; case WEED_PALETTE_UYVY8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv420_to_uyvy_frame(gusrc_array,width,height,(uyvy_macropixel *)gudest,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv420_to_uyvy_frame(gusrc_array, width, height, (uyvy_macropixel *)gudest, iclamped); break; case WEED_PALETTE_YUYV8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv420_to_yuyv_frame(gusrc_array,width,height,(yuyv_macropixel *)gudest,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv420_to_yuyv_frame(gusrc_array, width, height, (yuyv_macropixel *)gudest, iclamped); break; case WEED_PALETTE_YUV422P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,FALSE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, FALSE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); lives_free(gudest_array[0]); - gudest_array[0]=gusrc_array[0]; - weed_set_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,3,(void **)gudest_array); - convert_double_chroma(gusrc_array,width>>1,height>>1,gudest_array,iclamped); - gusrc_array[0]=NULL; + gudest_array[0] = gusrc_array[0]; + weed_set_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, 3, (void **)gudest_array); + convert_double_chroma(gusrc_array, width >> 1, height >> 1, gudest_array, iclamped); + gusrc_array[0] = NULL; lives_free(gudest_array); break; case WEED_PALETTE_YUV444P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,FALSE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, FALSE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); lives_free(gudest_array[0]); - gudest_array[0]=gusrc_array[0]; - weed_set_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,3,(void **)gudest_array); - convert_quad_chroma(gusrc_array,width,height,gudest_array,FALSE,iclamped); - gusrc_array[0]=NULL; + gudest_array[0] = gusrc_array[0]; + weed_set_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, 3, (void **)gudest_array); + convert_quad_chroma(gusrc_array, width, height, gudest_array, FALSE, iclamped); + gusrc_array[0] = NULL; lives_free(gudest_array); break; case WEED_PALETTE_YUVA4444P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,FALSE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, FALSE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); lives_free(gudest_array[0]); - gudest_array[0]=gusrc_array[0]; - weed_set_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,4,(void **)gudest_array); - convert_quad_chroma(gusrc_array,width,height,gudest_array,TRUE,iclamped); - gusrc_array[0]=NULL; + gudest_array[0] = gusrc_array[0]; + weed_set_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, 4, (void **)gudest_array); + convert_quad_chroma(gusrc_array, width, height, gudest_array, TRUE, iclamped); + gusrc_array[0] = NULL; lives_free(gudest_array); break; case WEED_PALETTE_YVU420P: - if (inpl==WEED_PALETTE_YUV420P) { - tmp=gusrc_array[1]; - gusrc_array[1]=gusrc_array[2]; - gusrc_array[2]=tmp; - weed_set_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,3,(void **)gusrc_array); + if (inpl == WEED_PALETTE_YUV420P) { + tmp = gusrc_array[1]; + gusrc_array[1] = gusrc_array[2]; + gusrc_array[2] = tmp; + weed_set_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, 3, (void **)gusrc_array); lives_free(gusrc_array); } // fall through case WEED_PALETTE_YUV420P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - gusrc_array=NULL; + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + gusrc_array = NULL; break; case WEED_PALETTE_YUV888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_quad_chroma_packed(gusrc_array,width,height,gudest,FALSE,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_quad_chroma_packed(gusrc_array, width, height, gudest, FALSE, iclamped); break; case WEED_PALETTE_YUVA8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_quad_chroma_packed(gusrc_array,width,height,gudest,TRUE,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_quad_chroma_packed(gusrc_array, width, height, gudest, TRUE, iclamped); break; case WEED_PALETTE_YUV411: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>2); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv420_to_yuv411_frame(gusrc_array,width,height,(yuv411_macropixel *)gudest,FALSE,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 2); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv420_to_yuv411_frame(gusrc_array, width, height, (yuv411_macropixel *)gudest, FALSE, iclamped); break; default: - lives_printerr("Invalid palette conversion: %s to %s not written yet !!\n",weed_palette_get_name(inpl), + lives_printerr("Invalid palette conversion: %s to %s not written yet !!\n", weed_palette_get_name(inpl), weed_palette_get_name(outpl)); - if (gusrc_array!=NULL) lives_free(gusrc_array); + if (gusrc_array != NULL) lives_free(gusrc_array); return FALSE; } - if (gusrc_array!=NULL) { - if (weed_plant_has_leaf(layer,WEED_LEAF_HOST_PIXBUF_SRC)) { - LiVESPixbuf *pixbuf=(LiVESPixbuf *)weed_get_voidptr_value(layer,WEED_LEAF_HOST_PIXBUF_SRC,&error); - weed_leaf_delete(layer,WEED_LEAF_HOST_PIXBUF_SRC); + if (gusrc_array != NULL) { + if (weed_plant_has_leaf(layer, WEED_LEAF_HOST_PIXBUF_SRC)) { + LiVESPixbuf *pixbuf = (LiVESPixbuf *)weed_get_voidptr_value(layer, WEED_LEAF_HOST_PIXBUF_SRC, &error); + weed_leaf_delete(layer, WEED_LEAF_HOST_PIXBUF_SRC); lives_object_unref(pixbuf); } else { - if (gusrc_array[0]!=NULL) lives_free(gusrc_array[0]); + if (gusrc_array[0] != NULL) lives_free(gusrc_array[0]); if (!contig) { lives_free(gusrc_array[1]); lives_free(gusrc_array[2]); } } lives_free(gusrc_array); - } break; case WEED_PALETTE_YUV422P: - gusrc_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); + gusrc_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); switch (outpl) { case WEED_PALETTE_RGB24: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv420p_to_rgb_frame(gusrc_array,width,height,orowstride,gudest,FALSE,TRUE,isamtype,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv420p_to_rgb_frame(gusrc_array, width, height, orowstride, gudest, FALSE, TRUE, isamtype, iclamped); break; case WEED_PALETTE_RGBA32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv420p_to_rgb_frame(gusrc_array,width,height,orowstride,gudest,TRUE,TRUE,isamtype,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv420p_to_rgb_frame(gusrc_array, width, height, orowstride, gudest, TRUE, TRUE, isamtype, iclamped); break; case WEED_PALETTE_BGR24: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv420p_to_bgr_frame(gusrc_array,width,height,orowstride,gudest,FALSE,TRUE,isamtype,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv420p_to_bgr_frame(gusrc_array, width, height, orowstride, gudest, FALSE, TRUE, isamtype, iclamped); break; case WEED_PALETTE_BGRA32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv420p_to_bgr_frame(gusrc_array,width,height,orowstride,gudest,TRUE,TRUE,isamtype,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv420p_to_bgr_frame(gusrc_array, width, height, orowstride, gudest, TRUE, TRUE, isamtype, iclamped); break; case WEED_PALETTE_ARGB32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv420p_to_argb_frame(gusrc_array,width,height,orowstride,gudest,TRUE,isamtype,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv420p_to_argb_frame(gusrc_array, width, height, orowstride, gudest, TRUE, isamtype, iclamped); break; case WEED_PALETTE_UYVY8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv422p_to_uyvy_frame(gusrc_array,width,height,gudest); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv422p_to_uyvy_frame(gusrc_array, width, height, gudest); break; case WEED_PALETTE_YUYV8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv422p_to_yuyv_frame(gusrc_array,width,height,gudest); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv422p_to_yuyv_frame(gusrc_array, width, height, gudest); break; case WEED_PALETTE_YUV420P: case WEED_PALETTE_YVU420P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,FALSE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, FALSE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); lives_free(gudest_array[0]); - gudest_array[0]=gusrc_array[0]; - weed_set_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,3,(void **)gudest_array); - convert_halve_chroma(gusrc_array,width>>1,height>>1,gudest_array,iclamped); + gudest_array[0] = gusrc_array[0]; + weed_set_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, 3, (void **)gudest_array); + convert_halve_chroma(gusrc_array, width >> 1, height >> 1, gudest_array, iclamped); lives_free(gudest_array); - gusrc_array[0]=NULL; - weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,isamtype); + gusrc_array[0] = NULL; + weed_set_int_value(layer, WEED_LEAF_YUV_SAMPLING, isamtype); break; case WEED_PALETTE_YUV444P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,FALSE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, FALSE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); lives_free(gudest_array[0]); - gudest_array[0]=gusrc_array[0]; - weed_set_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,3,(void **)gudest_array); - convert_double_chroma(gusrc_array,width>>1,height>>1,gudest_array,iclamped); - gusrc_array[0]=NULL; + gudest_array[0] = gusrc_array[0]; + weed_set_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, 3, (void **)gudest_array); + convert_double_chroma(gusrc_array, width >> 1, height >> 1, gudest_array, iclamped); + gusrc_array[0] = NULL; lives_free(gudest_array); break; case WEED_PALETTE_YUVA4444P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,FALSE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, FALSE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); lives_free(gudest_array[0]); - gudest_array[0]=gusrc_array[0]; - weed_set_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,4,(void **)gudest_array); - convert_double_chroma(gusrc_array,width>>1,height>>1,gudest_array,iclamped); - memset(gudest_array[3],255,width*height); - gusrc_array[0]=NULL; + gudest_array[0] = gusrc_array[0]; + weed_set_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, 4, (void **)gudest_array); + convert_double_chroma(gusrc_array, width >> 1, height >> 1, gudest_array, iclamped); + memset(gudest_array[3], 255, width * height); + gusrc_array[0] = NULL; lives_free(gudest_array); break; case WEED_PALETTE_YUV888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_double_chroma_packed(gusrc_array,width,height,gudest,FALSE,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_double_chroma_packed(gusrc_array, width, height, gudest, FALSE, iclamped); break; case WEED_PALETTE_YUVA8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_double_chroma_packed(gusrc_array,width,height,gudest,TRUE,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_double_chroma_packed(gusrc_array, width, height, gudest, TRUE, iclamped); break; case WEED_PALETTE_YUV411: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width>>2); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv420_to_yuv411_frame(gusrc_array,width,height,(yuv411_macropixel *)gudest,TRUE,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width >> 2); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv420_to_yuv411_frame(gusrc_array, width, height, (yuv411_macropixel *)gudest, TRUE, iclamped); break; default: - lives_printerr("Invalid palette conversion: %s to %s not written yet !!\n",weed_palette_get_name(inpl), + lives_printerr("Invalid palette conversion: %s to %s not written yet !!\n", weed_palette_get_name(inpl), weed_palette_get_name(outpl)); - if (gusrc_array!=NULL) lives_free(gusrc_array); + if (gusrc_array != NULL) lives_free(gusrc_array); return FALSE; } - if (gusrc_array!=NULL) { - if (weed_plant_has_leaf(layer,WEED_LEAF_HOST_PIXBUF_SRC)) { - LiVESPixbuf *pixbuf=(LiVESPixbuf *)weed_get_voidptr_value(layer,WEED_LEAF_HOST_PIXBUF_SRC,&error); - weed_leaf_delete(layer,WEED_LEAF_HOST_PIXBUF_SRC); + if (gusrc_array != NULL) { + if (weed_plant_has_leaf(layer, WEED_LEAF_HOST_PIXBUF_SRC)) { + LiVESPixbuf *pixbuf = (LiVESPixbuf *)weed_get_voidptr_value(layer, WEED_LEAF_HOST_PIXBUF_SRC, &error); + weed_leaf_delete(layer, WEED_LEAF_HOST_PIXBUF_SRC); lives_object_unref(pixbuf); } else { - if (gusrc_array[0]!=NULL) lives_free(gusrc_array[0]); + if (gusrc_array[0] != NULL) lives_free(gusrc_array[0]); if (!contig) { lives_free(gusrc_array[1]); lives_free(gusrc_array[2]); @@ -9867,131 +9630,131 @@ } break; case WEED_PALETTE_YUV411: - gusrc=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); + gusrc = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); switch (outpl) { case WEED_PALETTE_RGB24: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<2); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv411_to_rgb_frame((yuv411_macropixel *)gusrc,width,height,orowstride,gudest,FALSE,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 2); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv411_to_rgb_frame((yuv411_macropixel *)gusrc, width, height, orowstride, gudest, FALSE, iclamped); break; case WEED_PALETTE_RGBA32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<2); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv411_to_rgb_frame((yuv411_macropixel *)gusrc,width,height,orowstride,gudest,TRUE,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 2); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv411_to_rgb_frame((yuv411_macropixel *)gusrc, width, height, orowstride, gudest, TRUE, iclamped); break; case WEED_PALETTE_BGR24: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<2); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv411_to_bgr_frame((yuv411_macropixel *)gusrc,width,height,orowstride,gudest,FALSE,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 2); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv411_to_bgr_frame((yuv411_macropixel *)gusrc, width, height, orowstride, gudest, FALSE, iclamped); break; case WEED_PALETTE_BGRA32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<2); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv411_to_bgr_frame((yuv411_macropixel *)gusrc,width,height,orowstride,gudest,TRUE,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 2); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv411_to_bgr_frame((yuv411_macropixel *)gusrc, width, height, orowstride, gudest, TRUE, iclamped); break; case WEED_PALETTE_ARGB32: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<2); - create_empty_pixel_data(layer,FALSE,TRUE); - orowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv411_to_argb_frame((yuv411_macropixel *)gusrc,width,height,orowstride,gudest,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 2); + create_empty_pixel_data(layer, FALSE, TRUE); + orowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv411_to_argb_frame((yuv411_macropixel *)gusrc, width, height, orowstride, gudest, iclamped); break; case WEED_PALETTE_YUV888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<2); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv411_to_yuv888_frame((yuv411_macropixel *)gusrc,width,height,gudest,FALSE,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 2); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv411_to_yuv888_frame((yuv411_macropixel *)gusrc, width, height, gudest, FALSE, iclamped); break; case WEED_PALETTE_YUVA8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<2); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv411_to_yuv888_frame((yuv411_macropixel *)gusrc,width,height,gudest,TRUE,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 2); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv411_to_yuv888_frame((yuv411_macropixel *)gusrc, width, height, gudest, TRUE, iclamped); break; case WEED_PALETTE_YUV444P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<2); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv411_to_yuvp_frame((yuv411_macropixel *)gusrc,width,height,gudest_array,FALSE,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 2); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv411_to_yuvp_frame((yuv411_macropixel *)gusrc, width, height, gudest_array, FALSE, iclamped); lives_free(gudest_array); break; case WEED_PALETTE_YUVA4444P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<2); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv411_to_yuvp_frame((yuv411_macropixel *)gusrc,width,height,gudest_array,TRUE,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 2); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv411_to_yuvp_frame((yuv411_macropixel *)gusrc, width, height, gudest_array, TRUE, iclamped); lives_free(gudest_array); break; case WEED_PALETTE_UYVY8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv411_to_uyvy_frame((yuv411_macropixel *)gusrc,width,height,(uyvy_macropixel *)gudest,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv411_to_uyvy_frame((yuv411_macropixel *)gusrc, width, height, (uyvy_macropixel *)gudest, iclamped); break; case WEED_PALETTE_YUYV8888: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<1); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv411_to_yuyv_frame((yuv411_macropixel *)gusrc,width,height,(yuyv_macropixel *)gudest,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 1); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv411_to_yuyv_frame((yuv411_macropixel *)gusrc, width, height, (yuyv_macropixel *)gudest, iclamped); break; case WEED_PALETTE_YUV422P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<2); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv411_to_yuv422_frame((yuv411_macropixel *)gusrc,width,height,gudest_array,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 2); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv411_to_yuv422_frame((yuv411_macropixel *)gusrc, width, height, gudest_array, iclamped); lives_free(gudest_array); break; case WEED_PALETTE_YUV420P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<2); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv411_to_yuv420_frame((yuv411_macropixel *)gusrc,width,height,gudest_array,FALSE,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 2); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv411_to_yuv420_frame((yuv411_macropixel *)gusrc, width, height, gudest_array, FALSE, iclamped); lives_free(gudest_array); break; case WEED_PALETTE_YVU420P: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,outpl); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width<<2); - create_empty_pixel_data(layer,FALSE,TRUE); - gudest_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - convert_yuv411_to_yuv420_frame((yuv411_macropixel *)gusrc,width,height,gudest_array,TRUE,iclamped); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, outpl); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width << 2); + create_empty_pixel_data(layer, FALSE, TRUE); + gudest_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + convert_yuv411_to_yuv420_frame((yuv411_macropixel *)gusrc, width, height, gudest_array, TRUE, iclamped); lives_free(gudest_array); break; default: - lives_printerr("Invalid palette conversion: %s to %s not written yet !!\n",weed_palette_get_name(inpl), + lives_printerr("Invalid palette conversion: %s to %s not written yet !!\n", weed_palette_get_name(inpl), weed_palette_get_name(outpl)); return FALSE; } break; default: - lives_printerr("Invalid palette conversion: %s to %s not written yet !!\n",weed_palette_get_name(inpl), + lives_printerr("Invalid palette conversion: %s to %s not written yet !!\n", weed_palette_get_name(inpl), weed_palette_get_name(outpl)); return FALSE; } - if (gusrc!=NULL) { - if (weed_plant_has_leaf(layer,WEED_LEAF_HOST_PIXBUF_SRC)) { - LiVESPixbuf *pixbuf=(LiVESPixbuf *)weed_get_voidptr_value(layer,WEED_LEAF_HOST_PIXBUF_SRC,&error); - weed_leaf_delete(layer,WEED_LEAF_HOST_PIXBUF_SRC); + if (gusrc != NULL) { + if (weed_plant_has_leaf(layer, WEED_LEAF_HOST_PIXBUF_SRC)) { + LiVESPixbuf *pixbuf = (LiVESPixbuf *)weed_get_voidptr_value(layer, WEED_LEAF_HOST_PIXBUF_SRC, &error); + weed_leaf_delete(layer, WEED_LEAF_HOST_PIXBUF_SRC); lives_object_unref(pixbuf); } else { lives_free(gusrc); @@ -9999,30 +9762,30 @@ } if (weed_palette_is_rgb_palette(outpl)) { - weed_leaf_delete(layer,WEED_LEAF_YUV_CLAMPING); - weed_leaf_delete(layer,WEED_LEAF_YUV_SUBSPACE); - weed_leaf_delete(layer,WEED_LEAF_YUV_SAMPLING); + weed_leaf_delete(layer, WEED_LEAF_YUV_CLAMPING); + weed_leaf_delete(layer, WEED_LEAF_YUV_SUBSPACE); + weed_leaf_delete(layer, WEED_LEAF_YUV_SAMPLING); } else { - weed_set_int_value(layer,WEED_LEAF_YUV_CLAMPING,oclamping?WEED_YUV_CLAMPING_CLAMPED:WEED_YUV_CLAMPING_UNCLAMPED); + weed_set_int_value(layer, WEED_LEAF_YUV_CLAMPING, oclamping ? WEED_YUV_CLAMPING_CLAMPED : WEED_YUV_CLAMPING_UNCLAMPED); if (weed_palette_is_rgb_palette(inpl)) { // TODO - bt709 - weed_set_int_value(layer,WEED_LEAF_YUV_SUBSPACE,WEED_YUV_SUBSPACE_YCBCR); + weed_set_int_value(layer, WEED_LEAF_YUV_SUBSPACE, WEED_YUV_SUBSPACE_YCBCR); } - if (!weed_plant_has_leaf(layer,WEED_LEAF_YUV_SAMPLING)) weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,WEED_YUV_SAMPLING_DEFAULT); + if (!weed_plant_has_leaf(layer, WEED_LEAF_YUV_SAMPLING)) weed_set_int_value(layer, WEED_LEAF_YUV_SAMPLING, WEED_YUV_SAMPLING_DEFAULT); } - if (weed_palette_is_rgb_palette(inpl)&&weed_palette_is_yuv_palette(outpl)) { - width=((weed_get_int_value(layer,WEED_LEAF_WIDTH,&error)*weed_palette_get_pixels_per_macropixel(outpl))>>1)<<1; - weed_set_int_value(layer,WEED_LEAF_WIDTH,width/weed_palette_get_pixels_per_macropixel(outpl)); + if (weed_palette_is_rgb_palette(inpl) && weed_palette_is_yuv_palette(outpl)) { + width = ((weed_get_int_value(layer, WEED_LEAF_WIDTH, &error) * weed_palette_get_pixels_per_macropixel(outpl)) >> 1) << 1; + weed_set_int_value(layer, WEED_LEAF_WIDTH, width / weed_palette_get_pixels_per_macropixel(outpl)); } - if ((outpl==WEED_PALETTE_YVU420P&&inpl!=WEED_PALETTE_YVU420P&&inpl!=WEED_PALETTE_YUV420P)) { + if ((outpl == WEED_PALETTE_YVU420P && inpl != WEED_PALETTE_YVU420P && inpl != WEED_PALETTE_YUV420P)) { // swap u and v planes - uint8_t **pd_array=(uint8_t **)weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - uint8_t *tmp=pd_array[1]; - pd_array[1]=pd_array[2]; - pd_array[2]=tmp; - weed_set_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,3,(void **)pd_array); + uint8_t **pd_array = (uint8_t **)weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + uint8_t *tmp = pd_array[1]; + pd_array[1] = pd_array[2]; + pd_array[2] = tmp; + weed_set_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, 3, (void **)pd_array); lives_free(pd_array); } return TRUE; @@ -10030,8 +9793,8 @@ boolean convert_layer_palette(weed_plant_t *layer, int outpl, int op_clamping) { - return convert_layer_palette_full(layer,outpl,WEED_YUV_SAMPLING_DEFAULT, - op_clamping==WEED_YUV_CLAMPING_CLAMPED,WEED_YUV_SUBSPACE_YCBCR); + return convert_layer_palette_full(layer, outpl, WEED_YUV_SAMPLING_DEFAULT, + op_clamping == WEED_YUV_CLAMPING_CLAMPED, WEED_YUV_SUBSPACE_YCBCR); } ///////////////////////////////////////////////////////////////////////////////////// @@ -10046,26 +9809,26 @@ switch (palette) { case WEED_PALETTE_RGB24: case WEED_PALETTE_BGR24: - pixbuf=lives_pixbuf_new(FALSE, width, height); - rowstride=lives_pixbuf_get_rowstride(pixbuf); - pixels=lives_pixbuf_get_pixels(pixbuf); - size=rowstride*(height-1)+get_last_rowstride_value(width,3); - memset(pixels,0,size); + pixbuf = lives_pixbuf_new(FALSE, width, height); + rowstride = lives_pixbuf_get_rowstride(pixbuf); + pixels = lives_pixbuf_get_pixels(pixbuf); + size = rowstride * (height - 1) + get_last_rowstride_value(width, 3); + memset(pixels, 0, size); break; case WEED_PALETTE_RGBA32: case WEED_PALETTE_BGRA32: - pixbuf=lives_pixbuf_new(TRUE, width, height); - rowstride=lives_pixbuf_get_rowstride(pixbuf); - pixels=lives_pixbuf_get_pixels(pixbuf); - size=rowstride*(height-1)+get_last_rowstride_value(width,4); - memset(pixels,0,size); + pixbuf = lives_pixbuf_new(TRUE, width, height); + rowstride = lives_pixbuf_get_rowstride(pixbuf); + pixels = lives_pixbuf_get_pixels(pixbuf); + size = rowstride * (height - 1) + get_last_rowstride_value(width, 4); + memset(pixels, 0, size); break; case WEED_PALETTE_ARGB32: - pixbuf=lives_pixbuf_new(TRUE, width, height); - rowstride=lives_pixbuf_get_rowstride(pixbuf); - pixels=lives_pixbuf_get_pixels(pixbuf); - size=rowstride*(height-1)+get_last_rowstride_value(width,4); - memset(pixels,0,size); + pixbuf = lives_pixbuf_new(TRUE, width, height); + rowstride = lives_pixbuf_get_rowstride(pixbuf); + pixels = lives_pixbuf_get_pixels(pixbuf); + size = rowstride * (height - 1) + get_last_rowstride_value(width, 4); + memset(pixels, 0, size); break; default: return NULL; @@ -10074,15 +9837,14 @@ } - static LIVES_INLINE LiVESPixbuf *lives_pixbuf_cheat(boolean has_alpha, int width, int height, uint8_t *buf) { // we can cheat if our buffer is correctly sized LiVESPixbuf *pixbuf; - int channels=has_alpha?4:3; - int rowstride=get_rowstride_value(width*channels); + int channels = has_alpha ? 4 : 3; + int rowstride = get_rowstride_value(width * channels); - pixbuf=lives_pixbuf_new_from_data(buf, has_alpha, width, height, rowstride, - (LiVESPixbufDestroyNotify)lives_free_buffer, NULL); + pixbuf = lives_pixbuf_new_from_data(buf, has_alpha, width, height, rowstride, + (LiVESPixbufDestroyNotify)lives_free_buffer, NULL); threaded_dialog_spin(0.); return pixbuf; } @@ -10094,54 +9856,53 @@ LiVESPixbuf *pixbuf; - uint8_t *pixel_data,*pixels,*end; + uint8_t *pixel_data, *pixels, *end; - boolean cheat=FALSE,done; + boolean cheat = FALSE, done; int error; int palette; int width; int height; int irowstride; - int rowstride,orowstride; + int rowstride, orowstride; int n_channels; - if (layer==NULL) return NULL; + if (layer == NULL) return NULL; - if (weed_plant_has_leaf(layer,WEED_LEAF_HOST_PIXBUF_SRC)) { + if (weed_plant_has_leaf(layer, WEED_LEAF_HOST_PIXBUF_SRC)) { // our layer pixel_data originally came from a pixbuf, so just free the layer and return the pixbuf - pixbuf=(LiVESPixbuf *)weed_get_voidptr_value(layer,WEED_LEAF_HOST_PIXBUF_SRC,&error); - weed_set_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,NULL); - weed_leaf_delete(layer,WEED_LEAF_HOST_PIXBUF_SRC); + pixbuf = (LiVESPixbuf *)weed_get_voidptr_value(layer, WEED_LEAF_HOST_PIXBUF_SRC, &error); + weed_set_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, NULL); + weed_leaf_delete(layer, WEED_LEAF_HOST_PIXBUF_SRC); return pixbuf; } // otherwise we need to steal or copy the pixel_data do { + palette = weed_get_int_value(layer, WEED_LEAF_CURRENT_PALETTE, &error); + width = weed_get_int_value(layer, WEED_LEAF_WIDTH, &error); + height = weed_get_int_value(layer, WEED_LEAF_HEIGHT, &error); + irowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); - palette=weed_get_int_value(layer,WEED_LEAF_CURRENT_PALETTE,&error); - width=weed_get_int_value(layer,WEED_LEAF_WIDTH,&error); - height=weed_get_int_value(layer,WEED_LEAF_HEIGHT,&error); - irowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - - pixel_data=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - done=TRUE; + pixel_data = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + done = TRUE; switch (palette) { case WEED_PALETTE_RGB24: case WEED_PALETTE_BGR24: case WEED_PALETTE_YUV888: #ifndef GUI_QT - if (irowstride==get_rowstride_value(width*3)) { + if (irowstride == get_rowstride_value(width * 3)) { // rowstrides are OK, we can just steal the pixel_data - pixbuf=lives_pixbuf_cheat(FALSE, width, height, pixel_data); - weed_set_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,NULL); - cheat=TRUE; + pixbuf = lives_pixbuf_cheat(FALSE, width, height, pixel_data); + weed_set_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, NULL); + cheat = TRUE; } else #endif // otherwise we need to copy the data - pixbuf=lives_pixbuf_new(FALSE, width, height); - n_channels=3; + pixbuf = lives_pixbuf_new(FALSE, width, height); + n_channels = 3; break; case WEED_PALETTE_RGBA32: case WEED_PALETTE_BGRA32: @@ -10154,74 +9915,72 @@ #endif case WEED_PALETTE_YUVA8888: #ifndef GUI_QT - if (irowstride==get_rowstride_value(width*4)) { + if (irowstride == get_rowstride_value(width * 4)) { // rowstrides are OK, we can just steal the pixel_data - pixbuf=lives_pixbuf_cheat(TRUE, width, height, pixel_data); - weed_set_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,NULL); - cheat=TRUE; + pixbuf = lives_pixbuf_cheat(TRUE, width, height, pixel_data); + weed_set_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, NULL); + cheat = TRUE; } else #endif // otherwise we need to copy the data - pixbuf=lives_pixbuf_new(TRUE, width, height); - n_channels=4; + pixbuf = lives_pixbuf_new(TRUE, width, height); + n_channels = 4; break; default: if (weed_palette_has_alpha_channel(palette)) { - if (!convert_layer_palette(layer,WEED_PALETTE_RGBA32,0)) return NULL; - palette=WEED_PALETTE_RGBA32; + if (!convert_layer_palette(layer, WEED_PALETTE_RGBA32, 0)) return NULL; + palette = WEED_PALETTE_RGBA32; } else { - if (!convert_layer_palette(layer,WEED_PALETTE_RGB24,0)) return NULL; - palette=WEED_PALETTE_RGB24; + if (!convert_layer_palette(layer, WEED_PALETTE_RGB24, 0)) return NULL; + palette = WEED_PALETTE_RGB24; } - done=FALSE; + done = FALSE; } } while (!done); if (!cheat) { // copy the pixel data - boolean done=FALSE; - pixels=lives_pixbuf_get_pixels(pixbuf); - orowstride=lives_pixbuf_get_rowstride(pixbuf); - - if (irowstride>orowstride) rowstride=orowstride; - else rowstride=irowstride; - end=pixels+orowstride*height; - - for (; pixels<end&&!done; pixels+=orowstride) { - if (pixels+orowstride>=end) { - orowstride=rowstride=get_last_rowstride_value(width,n_channels); - done=TRUE; - } - lives_memcpy(pixels,pixel_data,rowstride); - if (rowstride<orowstride) memset(pixels+rowstride,0,orowstride-rowstride); - pixel_data+=irowstride; + boolean done = FALSE; + pixels = lives_pixbuf_get_pixels(pixbuf); + orowstride = lives_pixbuf_get_rowstride(pixbuf); + + if (irowstride > orowstride) rowstride = orowstride; + else rowstride = irowstride; + end = pixels + orowstride * height; + + for (; pixels < end && !done; pixels += orowstride) { + if (pixels + orowstride >= end) { + orowstride = rowstride = get_last_rowstride_value(width, n_channels); + done = TRUE; + } + lives_memcpy(pixels, pixel_data, rowstride); + if (rowstride < orowstride) memset(pixels + rowstride, 0, orowstride - rowstride); + pixel_data += irowstride; } weed_layer_pixel_data_free(layer); - } - #ifdef TEST_GAMMA - register int j,k; + register int j, k; - if (current_gamma!=SCREEN_GAMMA*.6) update_gamma_lut(SCREEN_GAMMA*.6); + if (current_gamma != SCREEN_GAMMA * .6) update_gamma_lut(SCREEN_GAMMA * .6); width = lives_pixbuf_get_width(pixbuf); height = lives_pixbuf_get_height(pixbuf); pixels = lives_pixbuf_get_pixels(pixbuf); orowstride = lives_pixbuf_get_rowstride(pixbuf); - end=pixels+height*orowstride; - done=FALSE; + end = pixels + height * orowstride; + done = FALSE; - for (; pixels<end&&!done; pixels+=orowstride) { - if (pixels+orowstride>=end) { - orowstride=get_last_rowstride_value(width,n_channels); - done=TRUE; + for (; pixels < end && !done; pixels += orowstride) { + if (pixels + orowstride >= end) { + orowstride = get_last_rowstride_value(width, n_channels); + done = TRUE; } - for (j=0; j<width*3; j+=3) { - for (k=0; k<3; k++) pixels[j+k]=gamma_lut[pixels[j+k]]; + for (j = 0; j < width * 3; j += 3) { + for (k = 0; k < 3; k++) pixels[j + k] = gamma_lut[pixels[j + k]]; } } #endif @@ -10236,72 +9995,71 @@ // in future we may also have resize candidates/delegates for other palettes // we will need to check for these - if (pal==WEED_PALETTE_YUV888&&clamped==WEED_YUV_CLAMPING_UNCLAMPED) pal=WEED_PALETTE_RGB24; - if (pal==WEED_PALETTE_YUVA8888&&clamped==WEED_YUV_CLAMPING_UNCLAMPED) pal=WEED_PALETTE_RGBA32; + if (pal == WEED_PALETTE_YUV888 && clamped == WEED_YUV_CLAMPING_UNCLAMPED) pal = WEED_PALETTE_RGB24; + if (pal == WEED_PALETTE_YUVA8888 && clamped == WEED_YUV_CLAMPING_UNCLAMPED) pal = WEED_PALETTE_RGBA32; #ifdef USE_SWSCALE - if (in_out&&sws_isSupportedInput(weed_palette_to_avi_pix_fmt(pal,&clamped))) return TRUE; - else if (sws_isSupportedOutput(weed_palette_to_avi_pix_fmt(pal,&clamped))) return TRUE; + if (in_out && sws_isSupportedInput(weed_palette_to_avi_pix_fmt(pal, &clamped))) return TRUE; + else if (sws_isSupportedOutput(weed_palette_to_avi_pix_fmt(pal, &clamped))) return TRUE; #endif - if (pal==WEED_PALETTE_RGB24||pal==WEED_PALETTE_RGBA32||pal==WEED_PALETTE_BGR24|| - pal==WEED_PALETTE_BGRA32) return TRUE; + if (pal == WEED_PALETTE_RGB24 || pal == WEED_PALETTE_RGBA32 || pal == WEED_PALETTE_BGR24 || + pal == WEED_PALETTE_BGRA32) return TRUE; return FALSE; } void lives_pixbuf_set_opaque(LiVESPixbuf *pixbuf) { - unsigned char *pdata=lives_pixbuf_get_pixels(pixbuf); - int row=lives_pixbuf_get_rowstride(pixbuf); - int height=lives_pixbuf_get_height(pixbuf); + unsigned char *pdata = lives_pixbuf_get_pixels(pixbuf); + int row = lives_pixbuf_get_rowstride(pixbuf); + int height = lives_pixbuf_get_height(pixbuf); int offs; #ifdef GUI_GTK - offs=3; + offs = 3; #endif #ifdef GUI_QT - offs=0; + offs = 0; #endif - register int i,j; - for (i=0; i<height; i++) { - for (j=offs; j<row; j+=4) { - pdata[j]=255; + register int i, j; + for (i = 0; i < height; i++) { + for (j = offs; j < row; j += 4) { + pdata[j] = 255; } - pdata+=row; + pdata += row; } } - void compact_rowstrides(weed_plant_t *layer) { // remove any extra padding after the image data int error; - int *rowstrides=weed_get_int_array(layer,WEED_LEAF_ROWSTRIDES,&error); - int pal=weed_get_int_value(layer,WEED_LEAF_CURRENT_PALETTE,&error); - int width=weed_get_int_value(layer,WEED_LEAF_WIDTH,&error); - int height=weed_get_int_value(layer,WEED_LEAF_HEIGHT,&error); + int *rowstrides = weed_get_int_array(layer, WEED_LEAF_ROWSTRIDES, &error); + int pal = weed_get_int_value(layer, WEED_LEAF_CURRENT_PALETTE, &error); + int width = weed_get_int_value(layer, WEED_LEAF_WIDTH, &error); + int height = weed_get_int_value(layer, WEED_LEAF_HEIGHT, &error); int xheight; - int crow=width*weed_palette_get_bits_per_macropixel(pal)/8; + int crow = width * weed_palette_get_bits_per_macropixel(pal) / 8; int cxrow; - int nplanes=weed_palette_get_numplanes(pal); - register int i,j; + int nplanes = weed_palette_get_numplanes(pal); + register int i, j; - size_t framesize=0; + size_t framesize = 0; - void **pixel_data,**new_pixel_data; + void **pixel_data, **new_pixel_data; uint8_t *npixel_data; - boolean needs_change=FALSE; + boolean needs_change = FALSE; - pixel_data=weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); + pixel_data = weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); - for (i=0; i<nplanes; i++) { - cxrow=crow*weed_palette_get_plane_ratio_horizontal(pal,i); - xheight=height*weed_palette_get_plane_ratio_vertical(pal,i); - framesize+=CEIL(cxrow*xheight,32); - if (cxrow!=rowstrides[i]) { + for (i = 0; i < nplanes; i++) { + cxrow = crow * weed_palette_get_plane_ratio_horizontal(pal, i); + xheight = height * weed_palette_get_plane_ratio_vertical(pal, i); + framesize += CEIL(cxrow * xheight, 32); + if (cxrow != rowstrides[i]) { // nth plane has extra padding - needs_change=TRUE; + needs_change = TRUE; } } @@ -10311,39 +10069,39 @@ return; } - npixel_data=(uint8_t *)lives_try_malloc(framesize); - if (npixel_data==NULL) { + npixel_data = (uint8_t *)lives_try_malloc(framesize); + if (npixel_data == NULL) { lives_free(pixel_data); lives_free(rowstrides); return; } - new_pixel_data=(void **)lives_malloc(nplanes*sizeof(void *)); + new_pixel_data = (void **)lives_malloc(nplanes * sizeof(void *)); - for (i=0; i<nplanes; i++) { - cxrow=crow*weed_palette_get_plane_ratio_horizontal(pal,i); - xheight=height*weed_palette_get_plane_ratio_vertical(pal,i); + for (i = 0; i < nplanes; i++) { + cxrow = crow * weed_palette_get_plane_ratio_horizontal(pal, i); + xheight = height * weed_palette_get_plane_ratio_vertical(pal, i); - new_pixel_data[i]=(void *)npixel_data; + new_pixel_data[i] = (void *)npixel_data; - for (j=0; j<xheight; j++) { - lives_memcpy((uint8_t *)new_pixel_data[i]+j*cxrow,(uint8_t *)pixel_data[i]+j*rowstrides[i],cxrow); + for (j = 0; j < xheight; j++) { + lives_memcpy((uint8_t *)new_pixel_data[i] + j * cxrow, (uint8_t *)pixel_data[i] + j * rowstrides[i], cxrow); } - framesize=CEIL(cxrow*xheight,32); - npixel_data+=framesize; + framesize = CEIL(cxrow * xheight, 32); + npixel_data += framesize; - rowstrides[i]=cxrow; + rowstrides[i] = cxrow; } weed_layer_pixel_data_free(layer); - if (nplanes>1) - weed_set_boolean_value(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS,WEED_TRUE); + if (nplanes > 1) + weed_set_boolean_value(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS, WEED_TRUE); - weed_set_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,nplanes,new_pixel_data); - weed_set_int_array(layer,WEED_LEAF_ROWSTRIDES,nplanes,rowstrides); + weed_set_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, nplanes, new_pixel_data); + weed_set_int_array(layer, WEED_LEAF_ROWSTRIDES, nplanes, rowstrides); lives_free(pixel_data); lives_free(new_pixel_data); lives_free(rowstrides); @@ -10364,29 +10122,29 @@ struct _swscale_ctx tmpctx; if (!swscale_ctx_list_inited) { - for (i=0; i<N_SWS_CTX; i++) { - memset(&swscale_ctx[i],0,sizeof(struct _swscale_ctx)); - swscale_ctx_list_inited=TRUE; + for (i = 0; i < N_SWS_CTX; i++) { + memset(&swscale_ctx[i], 0, sizeof(struct _swscale_ctx)); + swscale_ctx_list_inited = TRUE; } } - for (i=0; i<N_SWS_CTX; i++) { - if (swscale_ctx[i].ctx==NULL) return NULL; - - if (swscale_ctx[i].iwidth==iwidth && - swscale_ctx[i].iheight==iheight && - swscale_ctx[i].width==width && - swscale_ctx[i].height==height && - swscale_ctx[i].ipixfmt==ipixfmt && - swscale_ctx[i].opixfmt==opixfmt && - swscale_ctx[i].flags==flags) { + for (i = 0; i < N_SWS_CTX; i++) { + if (swscale_ctx[i].ctx == NULL) return NULL; + + if (swscale_ctx[i].iwidth == iwidth && + swscale_ctx[i].iheight == iheight && + swscale_ctx[i].width == width && + swscale_ctx[i].height == height && + swscale_ctx[i].ipixfmt == ipixfmt && + swscale_ctx[i].opixfmt == opixfmt && + swscale_ctx[i].flags == flags) { // move to front - if (i>0) { - lives_memcpy(&tmpctx,&swscale_ctx[i],sizeof(struct _swscale_ctx)); - for (; i>0; i--) { - lives_memcpy(&swscale_ctx[i],&swscale_ctx[i-1],sizeof(struct _swscale_ctx)); + if (i > 0) { + lives_memcpy(&tmpctx, &swscale_ctx[i], sizeof(struct _swscale_ctx)); + for (; i > 0; i--) { + lives_memcpy(&swscale_ctx[i], &swscale_ctx[i - 1], sizeof(struct _swscale_ctx)); } - lives_memcpy(&swscale_ctx[0],&tmpctx,sizeof(struct _swscale_ctx)); + lives_memcpy(&swscale_ctx[0], &tmpctx, sizeof(struct _swscale_ctx)); } return swscale_ctx[0].ctx; } @@ -10407,27 +10165,27 @@ // add at head of list register int i; - for (i=N_SWS_CTX-1; i>0; i--) { + for (i = N_SWS_CTX - 1; i > 0; i--) { // make space by shifting up - if (swscale_ctx[i-1].ctx==NULL) continue; + if (swscale_ctx[i - 1].ctx == NULL) continue; // free last in list - if (i==N_SWS_CTX-1) + if (i == N_SWS_CTX - 1) sws_freeContext(swscale_ctx[i].ctx); // shift up - lives_memcpy(&swscale_ctx[i],&swscale_ctx[i-1],sizeof(struct _swscale_ctx)); + lives_memcpy(&swscale_ctx[i], &swscale_ctx[i - 1], sizeof(struct _swscale_ctx)); } // add at posn 0 - swscale_ctx[0].iwidth=iwidth; - swscale_ctx[0].iheight=iheight; - swscale_ctx[0].width=width; - swscale_ctx[0].height=height; - swscale_ctx[0].ipixfmt=ipixfmt; - swscale_ctx[0].opixfmt=opixfmt; - swscale_ctx[0].flags=flags; - swscale_ctx[0].ctx=ctx; + swscale_ctx[0].iwidth = iwidth; + swscale_ctx[0].iheight = iheight; + swscale_ctx[0].width = width; + swscale_ctx[0].height = height; + swscale_ctx[0].ipixfmt = ipixfmt; + swscale_ctx[0].opixfmt = opixfmt; + swscale_ctx[0].flags = flags; + swscale_ctx[0].ctx = ctx; } @@ -10435,8 +10193,8 @@ register int i; if (!swscale_ctx_list_inited) return; - for (i=0; i<N_SWS_CTX; i++) { - if (swscale_ctx[i].ctx!=NULL) sws_freeContext(swscale_ctx[i].ctx); + for (i = 0; i < N_SWS_CTX; i++) { + if (swscale_ctx[i].ctx != NULL) sws_freeContext(swscale_ctx[i].ctx); } } @@ -10458,24 +10216,23 @@ // return FALSE if we were unable to resize - LiVESPixbuf *pixbuf=NULL; - LiVESPixbuf *new_pixbuf=NULL; + LiVESPixbuf *pixbuf = NULL; + LiVESPixbuf *new_pixbuf = NULL; - boolean retval=TRUE; + boolean retval = TRUE; int error; - int palette=weed_get_int_value(layer,WEED_LEAF_CURRENT_PALETTE,&error); + int palette = weed_get_int_value(layer, WEED_LEAF_CURRENT_PALETTE, &error); // original width and height (in macropixels) - int iwidth=weed_get_int_value(layer,WEED_LEAF_WIDTH,&error); - int iheight=weed_get_int_value(layer,WEED_LEAF_HEIGHT,&error); - int iclamped=WEED_YUV_CLAMPING_UNCLAMPED; + int iwidth = weed_get_int_value(layer, WEED_LEAF_WIDTH, &error); + int iheight = weed_get_int_value(layer, WEED_LEAF_HEIGHT, &error); + int iclamped = WEED_YUV_CLAMPING_UNCLAMPED; + if (iwidth == width && iheight == height) return TRUE; // no resize needed - if (iwidth==width&&iheight==height) return TRUE; // no resize needed - - if (width<=0||height<=0) { - char *msg=lives_strdup_printf("unable to scale layer to %d x %d for palette %d\n",width,height,palette); + if (width <= 0 || height <= 0) { + char *msg = lives_strdup_printf("unable to scale layer to %d x %d for palette %d\n", width, height, palette); LIVES_DEBUG(msg); lives_free(msg); return FALSE; @@ -10484,127 +10241,125 @@ // if in palette is a YUV palette which we cannot scale, convert to YUV888 (unclamped) or YUVA8888 (unclamped) // we can always scale these if (weed_palette_is_yuv_palette(palette)) { - iclamped=weed_get_int_value(layer,WEED_LEAF_YUV_CLAMPING,&error); + iclamped = weed_get_int_value(layer, WEED_LEAF_YUV_CLAMPING, &error); if (!weed_palette_is_resizable(palette, iclamped, TRUE)) { - iwidth*=weed_palette_get_pixels_per_macropixel(palette); // orig width is in macropixels - width*=weed_palette_get_pixels_per_macropixel(palette); // desired width is in macropixels - if (opal_hint==WEED_PALETTE_END||weed_palette_is_yuv_palette(opal_hint)) { + iwidth *= weed_palette_get_pixels_per_macropixel(palette); // orig width is in macropixels + width *= weed_palette_get_pixels_per_macropixel(palette); // desired width is in macropixels + if (opal_hint == WEED_PALETTE_END || weed_palette_is_yuv_palette(opal_hint)) { // we should always convert to unclamped values before resizing - int oclamping=WEED_YUV_CLAMPING_UNCLAMPED; + int oclamping = WEED_YUV_CLAMPING_UNCLAMPED; if (weed_palette_has_alpha_channel(palette)) { - convert_layer_palette(layer,WEED_PALETTE_YUVA8888,oclamping); + convert_layer_palette(layer, WEED_PALETTE_YUVA8888, oclamping); } else { - convert_layer_palette(layer,WEED_PALETTE_YUV888,oclamping); + convert_layer_palette(layer, WEED_PALETTE_YUV888, oclamping); } - iclamped=oclamping; + iclamped = oclamping; } else { if (weed_palette_has_alpha_channel(palette)) { - convert_layer_palette(layer,WEED_PALETTE_RGBA32,0); + convert_layer_palette(layer, WEED_PALETTE_RGBA32, 0); } else { - convert_layer_palette(layer,WEED_PALETTE_RGB24,0); + convert_layer_palette(layer, WEED_PALETTE_RGB24, 0); } } - palette=weed_get_int_value(layer,WEED_LEAF_CURRENT_PALETTE,&error); + palette = weed_get_int_value(layer, WEED_LEAF_CURRENT_PALETTE, &error); } } // check if we can also convert to the output palette #ifdef USE_SWSCALE // only swscale can convert and resize together - if (opal_hint==WEED_PALETTE_END||!weed_palette_is_resizable(opal_hint,oclamp_hint,FALSE)) { + if (opal_hint == WEED_PALETTE_END || !weed_palette_is_resizable(opal_hint, oclamp_hint, FALSE)) { #endif - opal_hint=palette; - oclamp_hint=iclamped; + opal_hint = palette; + oclamp_hint = iclamped; #ifdef USE_SWSCALE } #endif - // if we cannot scale YUV888 (unclamped) or YUVA8888 (unclamped) directly, pretend they are RGB24 and RGBA32 - if (palette==WEED_PALETTE_YUV888&&iclamped==WEED_YUV_CLAMPING_UNCLAMPED - &&!weed_palette_is_resizable(palette, iclamped, TRUE)) opal_hint=palette=WEED_PALETTE_RGB24; - if (palette==WEED_PALETTE_YUVA8888&&iclamped==WEED_YUV_CLAMPING_UNCLAMPED - &&!weed_palette_is_resizable(palette, iclamped, TRUE)) opal_hint=palette=WEED_PALETTE_RGBA32; + if (palette == WEED_PALETTE_YUV888 && iclamped == WEED_YUV_CLAMPING_UNCLAMPED + && !weed_palette_is_resizable(palette, iclamped, TRUE)) opal_hint = palette = WEED_PALETTE_RGB24; + if (palette == WEED_PALETTE_YUVA8888 && iclamped == WEED_YUV_CLAMPING_UNCLAMPED + && !weed_palette_is_resizable(palette, iclamped, TRUE)) opal_hint = palette = WEED_PALETTE_RGBA32; // check if we can convert to the target palette/clamping if (!weed_palette_is_resizable(opal_hint, oclamp_hint, FALSE)) { - opal_hint=palette; - oclamp_hint=iclamped; + opal_hint = palette; + oclamp_hint = iclamped; } - #ifdef USE_SWSCALE - if (iwidth>1&&iheight>1&&weed_palette_is_resizable(palette, iclamped, TRUE)&& + if (iwidth > 1 && iheight > 1 && weed_palette_is_resizable(palette, iclamped, TRUE) && weed_palette_is_resizable(opal_hint, oclamp_hint, FALSE)) { struct SwsContext *swscale; weed_plant_t *old_layer; - void **in_pixel_data,**out_pixel_data; + void **in_pixel_data, **out_pixel_data; - int *irowstrides,*orowstrides; + int *irowstrides, *orowstrides; - boolean store_ctx=FALSE; + boolean store_ctx = FALSE; #ifdef FF_API_PIX_FMT - enum PixelFormat ipixfmt,opixfmt; + enum PixelFormat ipixfmt, opixfmt; #else - enum AVPixelFormat ipixfmt,opixfmt; + enum AVPixelFormat ipixfmt, opixfmt; #endif int flags; - old_layer=weed_plant_copy(layer); + old_layer = weed_plant_copy(layer); av_log_set_level(AV_LOG_FATAL); - mainw->rowstride_alignment_hint=16; + mainw->rowstride_alignment_hint = 16; - if (interp==LIVES_INTERP_BEST) flags=SWS_BICUBIC; - if (interp==LIVES_INTERP_NORMAL) flags=SWS_BILINEAR; - if (interp==LIVES_INTERP_FAST) flags=SWS_FAST_BILINEAR; + if (interp == LIVES_INTERP_BEST) flags = SWS_BICUBIC; + if (interp == LIVES_INTERP_NORMAL) flags = SWS_BILINEAR; + if (interp == LIVES_INTERP_FAST) flags = SWS_FAST_BILINEAR; - ipixfmt=weed_palette_to_avi_pix_fmt(palette,&iclamped); - opixfmt=weed_palette_to_avi_pix_fmt(opal_hint,&oclamp_hint); + ipixfmt = weed_palette_to_avi_pix_fmt(palette, &iclamped); + opixfmt = weed_palette_to_avi_pix_fmt(opal_hint, &oclamp_hint); // get current values - in_pixel_data=weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - irowstrides=weed_get_int_array(layer,WEED_LEAF_ROWSTRIDES,&error); + in_pixel_data = weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + irowstrides = weed_get_int_array(layer, WEED_LEAF_ROWSTRIDES, &error); // set new values - if (palette!=opal_hint) { - width*=weed_palette_get_pixels_per_macropixel(palette); // desired width is in macropixels - width/=weed_palette_get_pixels_per_macropixel(opal_hint); // desired width is in macropixels - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,opal_hint); + if (palette != opal_hint) { + width *= weed_palette_get_pixels_per_macropixel(palette); // desired width is in macropixels + width /= weed_palette_get_pixels_per_macropixel(opal_hint); // desired width is in macropixels + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, opal_hint); } if (weed_palette_is_yuv_palette(opal_hint)) - weed_set_int_value(layer,WEED_LEAF_YUV_CLAMPING,oclamp_hint); + weed_set_int_value(layer, WEED_LEAF_YUV_CLAMPING, oclamp_hint); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width); - weed_set_int_value(layer,WEED_LEAF_HEIGHT,height); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width); + weed_set_int_value(layer, WEED_LEAF_HEIGHT, height); - create_empty_pixel_data(layer,FALSE,TRUE); + create_empty_pixel_data(layer, FALSE, TRUE); - out_pixel_data=weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - orowstrides=weed_get_int_array(layer,WEED_LEAF_ROWSTRIDES,&error); + out_pixel_data = weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + orowstrides = weed_get_int_array(layer, WEED_LEAF_ROWSTRIDES, &error); - width*=weed_palette_get_pixels_per_macropixel(opal_hint); - iwidth*=weed_palette_get_pixels_per_macropixel(palette); // input width is in macropixels + width *= weed_palette_get_pixels_per_macropixel(opal_hint); + iwidth *= weed_palette_get_pixels_per_macropixel(palette); // input width is in macropixels - if ((swscale=swscale_find_context(iwidth,iheight,width,height,ipixfmt,opixfmt,flags))==NULL) { + if ((swscale = swscale_find_context(iwidth, iheight, width, height, ipixfmt, opixfmt, flags)) == NULL) { swscale = sws_getContext(iwidth, iheight, ipixfmt, width, height, opixfmt, flags, NULL, NULL, NULL); - store_ctx=TRUE; + store_ctx = TRUE; } - if (swscale==NULL) { + if (swscale == NULL) { LIVES_DEBUG("swscale is NULL !!"); } else { sws_scale(swscale, (const uint8_t *const *)in_pixel_data, irowstrides, 0, iheight, (uint8_t *const *)out_pixel_data, orowstrides); - if (store_ctx) swscale_add_context(iwidth,iheight,width,height,ipixfmt,opixfmt,flags,swscale); + if (store_ctx) swscale_add_context(iwidth, iheight, width, height, ipixfmt, opixfmt, flags, swscale); } // this will properly free() in_pixel_data @@ -10633,37 +10388,37 @@ case WEED_PALETTE_YUVA8888: // create a new pixbuf - pixbuf=layer_to_pixbuf(layer); + pixbuf = layer_to_pixbuf(layer); threaded_dialog_spin(0.); - new_pixbuf=lives_pixbuf_scale_simple(pixbuf,width,height,interp); + new_pixbuf = lives_pixbuf_scale_simple(pixbuf, width, height, interp); threaded_dialog_spin(0.); - if (new_pixbuf!=NULL) { - weed_set_int_value(layer,WEED_LEAF_WIDTH,lives_pixbuf_get_width(new_pixbuf)); - weed_set_int_value(layer,WEED_LEAF_HEIGHT,lives_pixbuf_get_height(new_pixbuf)); - weed_set_int_value(layer,WEED_LEAF_ROWSTRIDES,lives_pixbuf_get_rowstride(new_pixbuf)); + if (new_pixbuf != NULL) { + weed_set_int_value(layer, WEED_LEAF_WIDTH, lives_pixbuf_get_width(new_pixbuf)); + weed_set_int_value(layer, WEED_LEAF_HEIGHT, lives_pixbuf_get_height(new_pixbuf)); + weed_set_int_value(layer, WEED_LEAF_ROWSTRIDES, lives_pixbuf_get_rowstride(new_pixbuf)); } lives_object_unref(pixbuf); break; default: - lives_printerr("Warning: resizing unknown palette %d\n",palette); + lives_printerr("Warning: resizing unknown palette %d\n", palette); break_me(); - retval=FALSE; + retval = FALSE; } - if (new_pixbuf==NULL||(width!=weed_get_int_value(layer,WEED_LEAF_WIDTH,&error)|| - height!=weed_get_int_value(layer,WEED_LEAF_HEIGHT,&error))) { - lives_printerr("unable to scale layer to %d x %d for palette %d\n",width,height,palette); - retval=FALSE; + if (new_pixbuf == NULL || (width != weed_get_int_value(layer, WEED_LEAF_WIDTH, &error) || + height != weed_get_int_value(layer, WEED_LEAF_HEIGHT, &error))) { + lives_printerr("unable to scale layer to %d x %d for palette %d\n", width, height, palette); + retval = FALSE; } else { - if (weed_plant_has_leaf(layer,WEED_LEAF_HOST_ORIG_PDATA)) - weed_leaf_delete(layer,WEED_LEAF_HOST_ORIG_PDATA); + if (weed_plant_has_leaf(layer, WEED_LEAF_HOST_ORIG_PDATA)) + weed_leaf_delete(layer, WEED_LEAF_HOST_ORIG_PDATA); } - if (new_pixbuf!=NULL) { - if (!pixbuf_to_layer(layer,new_pixbuf)) lives_object_unref(new_pixbuf); + if (new_pixbuf != NULL) { + if (!pixbuf_to_layer(layer, new_pixbuf)) lives_object_unref(new_pixbuf); } return retval; @@ -10675,80 +10430,80 @@ // width, nwidth should be in macropixels int error; - int offs_x=0,offs_y=0; - int pal,nplanes; + int offs_x = 0, offs_y = 0; + int pal, nplanes; LiVESInterpType interp; - int *rowstrides,*irowstrides; + int *rowstrides, *irowstrides; void **pixel_data; void **new_pixel_data; - uint8_t *dst,*src; + uint8_t *dst, *src; register int i; - if (nwidth*nheight==0) return; + if (nwidth * nheight == 0) return; - interp=get_interp_value(prefs->pb_quality); + interp = get_interp_value(prefs->pb_quality); - pal=weed_get_int_value(layer,WEED_LEAF_CURRENT_PALETTE,&error); - nwidth*=weed_palette_get_pixels_per_macropixel(pal); // convert from macropixels to pixels + pal = weed_get_int_value(layer, WEED_LEAF_CURRENT_PALETTE, &error); + nwidth *= weed_palette_get_pixels_per_macropixel(pal); // convert from macropixels to pixels - resize_layer(layer,width,height,interp,WEED_PALETTE_END,0); // resize can change current_palette + resize_layer(layer, width, height, interp, WEED_PALETTE_END, 0); // resize can change current_palette // get current pixel_data - pixel_data=weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - if (pixel_data==NULL) return; + pixel_data = weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + if (pixel_data == NULL) return; - pal=weed_get_int_value(layer,WEED_LEAF_CURRENT_PALETTE,&error); - nwidth/=weed_palette_get_pixels_per_macropixel(pal); // set back to macropixels in new palette + pal = weed_get_int_value(layer, WEED_LEAF_CURRENT_PALETTE, &error); + nwidth /= weed_palette_get_pixels_per_macropixel(pal); // set back to macropixels in new palette - width=weed_get_int_value(layer,WEED_LEAF_WIDTH,&error); - height=weed_get_int_value(layer,WEED_LEAF_HEIGHT,&error); - irowstrides=weed_get_int_array(layer,WEED_LEAF_ROWSTRIDES,&error); + width = weed_get_int_value(layer, WEED_LEAF_WIDTH, &error); + height = weed_get_int_value(layer, WEED_LEAF_HEIGHT, &error); + irowstrides = weed_get_int_array(layer, WEED_LEAF_ROWSTRIDES, &error); // create new pixel_data - all black - weed_set_int_value(layer,WEED_LEAF_WIDTH,nwidth); - weed_set_int_value(layer,WEED_LEAF_HEIGHT,nheight); - create_empty_pixel_data(layer,TRUE,TRUE); - new_pixel_data=weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - - nwidth=weed_get_int_value(layer,WEED_LEAF_WIDTH,&error); - nheight=weed_get_int_value(layer,WEED_LEAF_HEIGHT,&error); - - if (weed_plant_has_leaf(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS) && - weed_get_boolean_value(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS,&error)==WEED_TRUE) - nplanes=1; + weed_set_int_value(layer, WEED_LEAF_WIDTH, nwidth); + weed_set_int_value(layer, WEED_LEAF_HEIGHT, nheight); + create_empty_pixel_data(layer, TRUE, TRUE); + new_pixel_data = weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + + nwidth = weed_get_int_value(layer, WEED_LEAF_WIDTH, &error); + nheight = weed_get_int_value(layer, WEED_LEAF_HEIGHT, &error); + + if (weed_plant_has_leaf(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS) && + weed_get_boolean_value(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS, &error) == WEED_TRUE) + nplanes = 1; - if (nwidth<width||nheight<height) { + if (nwidth < width || nheight < height) { // TODO : pixbuf clear - for (i=0; i<nplanes; i++) free(new_pixel_data[i]); + for (i = 0; i < nplanes; i++) free(new_pixel_data[i]); lives_free(new_pixel_data); - weed_set_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,nplanes,pixel_data); + weed_set_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, nplanes, pixel_data); lives_free(pixel_data); lives_free(irowstrides); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width); - weed_set_int_value(layer,WEED_LEAF_HEIGHT,height); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width); + weed_set_int_value(layer, WEED_LEAF_HEIGHT, height); return; } - offs_x=(nwidth-width+1)>>1; - offs_y=(nheight-height+1)>>1; + offs_x = (nwidth - width + 1) >> 1; + offs_y = (nheight - height + 1) >> 1; - rowstrides=weed_get_int_array(layer,WEED_LEAF_ROWSTRIDES,&error); + rowstrides = weed_get_int_array(layer, WEED_LEAF_ROWSTRIDES, &error); switch (pal) { case WEED_PALETTE_RGB24: case WEED_PALETTE_BGR24: case WEED_PALETTE_YUV888: - width*=3; - dst=(uint8_t *)new_pixel_data[0]+offs_y*rowstrides[0]+offs_x*3; - src=(uint8_t *)pixel_data[0]; - for (i=0; i<height; i++) { - lives_memcpy(dst,src,width); - dst+=rowstrides[0]; - src+=irowstrides[0]; + width *= 3; + dst = (uint8_t *)new_pixel_data[0] + offs_y * rowstrides[0] + offs_x * 3; + src = (uint8_t *)pixel_data[0]; + for (i = 0; i < height; i++) { + lives_memcpy(dst, src, width); + dst += rowstrides[0]; + src += irowstrides[0]; } break; @@ -10758,202 +10513,201 @@ case WEED_PALETTE_YUVA8888: case WEED_PALETTE_UYVY: case WEED_PALETTE_YUYV: - width*=4; - dst=(uint8_t *)new_pixel_data[0]+offs_y*rowstrides[0]+offs_x*4; - src=(uint8_t *)pixel_data[0]; - for (i=0; i<height; i++) { - lives_memcpy(dst,src,width); - dst+=rowstrides[0]; - src+=irowstrides[0]; + width *= 4; + dst = (uint8_t *)new_pixel_data[0] + offs_y * rowstrides[0] + offs_x * 4; + src = (uint8_t *)pixel_data[0]; + for (i = 0; i < height; i++) { + lives_memcpy(dst, src, width); + dst += rowstrides[0]; + src += irowstrides[0]; } break; case WEED_PALETTE_YUV411: - width*=6; - dst=(uint8_t *)new_pixel_data[0]+offs_y*rowstrides[0]+offs_x*6; - src=(uint8_t *)pixel_data[0]; - for (i=0; i<height; i++) { - lives_memcpy(dst,src,width); - dst+=rowstrides[0]; - src+=irowstrides[0]; + width *= 6; + dst = (uint8_t *)new_pixel_data[0] + offs_y * rowstrides[0] + offs_x * 6; + src = (uint8_t *)pixel_data[0]; + for (i = 0; i < height; i++) { + lives_memcpy(dst, src, width); + dst += rowstrides[0]; + src += irowstrides[0]; } break; case WEED_PALETTE_YUV444P: - dst=(uint8_t *)new_pixel_data[0]+offs_y*rowstrides[0]+offs_x; - src=(uint8_t *)pixel_data[0]; - for (i=0; i<height; i++) { - lives_memcpy(dst,src,width); - dst+=rowstrides[0]; - src+=irowstrides[0]; - } - dst=(uint8_t *)new_pixel_data[1]+offs_y*rowstrides[1]+offs_x; - src=(uint8_t *)pixel_data[1]; - for (i=0; i<height; i++) { - lives_memcpy(dst,src,width); - dst+=rowstrides[1]; - src+=irowstrides[1]; - } - dst=(uint8_t *)new_pixel_data[2]+offs_y*rowstrides[2]+offs_x; - src=(uint8_t *)pixel_data[2]; - for (i=0; i<height; i++) { - lives_memcpy(dst,src,width); - dst+=rowstrides[2]; - src+=irowstrides[2]; + dst = (uint8_t *)new_pixel_data[0] + offs_y * rowstrides[0] + offs_x; + src = (uint8_t *)pixel_data[0]; + for (i = 0; i < height; i++) { + lives_memcpy(dst, src, width); + dst += rowstrides[0]; + src += irowstrides[0]; + } + dst = (uint8_t *)new_pixel_data[1] + offs_y * rowstrides[1] + offs_x; + src = (uint8_t *)pixel_data[1]; + for (i = 0; i < height; i++) { + lives_memcpy(dst, src, width); + dst += rowstrides[1]; + src += irowstrides[1]; + } + dst = (uint8_t *)new_pixel_data[2] + offs_y * rowstrides[2] + offs_x; + src = (uint8_t *)pixel_data[2]; + for (i = 0; i < height; i++) { + lives_memcpy(dst, src, width); + dst += rowstrides[2]; + src += irowstrides[2]; } break; case WEED_PALETTE_YUVA4444P: - dst=(uint8_t *)new_pixel_data[0]+offs_y*rowstrides[0]+offs_x; - src=(uint8_t *)pixel_data[0]; - for (i=0; i<height; i++) { - lives_memcpy(dst,src,width); - dst+=rowstrides[0]; - src+=irowstrides[0]; - } - dst=(uint8_t *)new_pixel_data[1]+offs_y*rowstrides[1]+offs_x; - src=(uint8_t *)pixel_data[1]; - for (i=0; i<height; i++) { - lives_memcpy(dst,src,width); - dst+=rowstrides[1]; - src+=irowstrides[1]; - } - dst=(uint8_t *)new_pixel_data[2]+offs_y*rowstrides[2]+offs_x; - src=(uint8_t *)pixel_data[2]; - for (i=0; i<height; i++) { - lives_memcpy(dst,src,width); - dst+=rowstrides[2]; - src+=irowstrides[2]; - } - dst=(uint8_t *)new_pixel_data[3]+offs_y*rowstrides[3]+offs_x; - src=(uint8_t *)pixel_data[3]; - for (i=0; i<height; i++) { - lives_memcpy(dst,src,width); - dst+=rowstrides[3]; - src+=irowstrides[3]; + dst = (uint8_t *)new_pixel_data[0] + offs_y * rowstrides[0] + offs_x; + src = (uint8_t *)pixel_data[0]; + for (i = 0; i < height; i++) { + lives_memcpy(dst, src, width); + dst += rowstrides[0]; + src += irowstrides[0]; + } + dst = (uint8_t *)new_pixel_data[1] + offs_y * rowstrides[1] + offs_x; + src = (uint8_t *)pixel_data[1]; + for (i = 0; i < height; i++) { + lives_memcpy(dst, src, width); + dst += rowstrides[1]; + src += irowstrides[1]; + } + dst = (uint8_t *)new_pixel_data[2] + offs_y * rowstrides[2] + offs_x; + src = (uint8_t *)pixel_data[2]; + for (i = 0; i < height; i++) { + lives_memcpy(dst, src, width); + dst += rowstrides[2]; + src += irowstrides[2]; + } + dst = (uint8_t *)new_pixel_data[3] + offs_y * rowstrides[3] + offs_x; + src = (uint8_t *)pixel_data[3]; + for (i = 0; i < height; i++) { + lives_memcpy(dst, src, width); + dst += rowstrides[3]; + src += irowstrides[3]; } break; case WEED_PALETTE_YUV422P: - width*=4; - dst=(uint8_t *)new_pixel_data[0]+offs_y*rowstrides[0]+offs_x; - src=(uint8_t *)pixel_data[0]; - for (i=0; i<height; i++) { - lives_memcpy(dst,src,width); - dst+=rowstrides[0]; - src+=irowstrides[0]; - } - height>>=1; - offs_x>>=1; - dst=(uint8_t *)new_pixel_data[1]+offs_y*rowstrides[1]+offs_x; - src=(uint8_t *)pixel_data[1]; - for (i=0; i<height; i++) { - lives_memcpy(dst,src,width); - dst+=rowstrides[1]; - src+=irowstrides[1]; - } - dst=(uint8_t *)new_pixel_data[2]+offs_y*rowstrides[2]+offs_x; - src=(uint8_t *)pixel_data[2]; - for (i=0; i<height; i++) { - lives_memcpy(dst,src,width); - dst+=rowstrides[2]; - src+=irowstrides[2]; + width *= 4; + dst = (uint8_t *)new_pixel_data[0] + offs_y * rowstrides[0] + offs_x; + src = (uint8_t *)pixel_data[0]; + for (i = 0; i < height; i++) { + lives_memcpy(dst, src, width); + dst += rowstrides[0]; + src += irowstrides[0]; + } + height >>= 1; + offs_x >>= 1; + dst = (uint8_t *)new_pixel_data[1] + offs_y * rowstrides[1] + offs_x; + src = (uint8_t *)pixel_data[1]; + for (i = 0; i < height; i++) { + lives_memcpy(dst, src, width); + dst += rowstrides[1]; + src += irowstrides[1]; + } + dst = (uint8_t *)new_pixel_data[2] + offs_y * rowstrides[2] + offs_x; + src = (uint8_t *)pixel_data[2]; + for (i = 0; i < height; i++) { + lives_memcpy(dst, src, width); + dst += rowstrides[2]; + src += irowstrides[2]; } break; case WEED_PALETTE_YUV420P: case WEED_PALETTE_YVU420P: - dst=(uint8_t *)new_pixel_data[0]+offs_y*rowstrides[0]+offs_x; - src=(uint8_t *)pixel_data[0]; - for (i=0; i<height; i++) { - lives_memcpy(dst,src,width); - dst+=rowstrides[0]; - src+=irowstrides[0]; - } - height>>=1; - offs_x>>=1; - width>>=1; - offs_y>>=1; - dst=(uint8_t *)new_pixel_data[1]+offs_y*rowstrides[1]+offs_x; - src=(uint8_t *)pixel_data[1]; - for (i=0; i<height; i++) { - lives_memcpy(dst,src,width); - dst+=rowstrides[1]; - src+=irowstrides[1]; - } - dst=(uint8_t *)new_pixel_data[2]+offs_y*rowstrides[2]+offs_x; - src=(uint8_t *)pixel_data[2]; - for (i=0; i<height; i++) { - lives_memcpy(dst,src,width); - dst+=rowstrides[2]; - src+=irowstrides[2]; + dst = (uint8_t *)new_pixel_data[0] + offs_y * rowstrides[0] + offs_x; + src = (uint8_t *)pixel_data[0]; + for (i = 0; i < height; i++) { + lives_memcpy(dst, src, width); + dst += rowstrides[0]; + src += irowstrides[0]; + } + height >>= 1; + offs_x >>= 1; + width >>= 1; + offs_y >>= 1; + dst = (uint8_t *)new_pixel_data[1] + offs_y * rowstrides[1] + offs_x; + src = (uint8_t *)pixel_data[1]; + for (i = 0; i < height; i++) { + lives_memcpy(dst, src, width); + dst += rowstrides[1]; + src += irowstrides[1]; + } + dst = (uint8_t *)new_pixel_data[2] + offs_y * rowstrides[2] + offs_x; + src = (uint8_t *)pixel_data[2]; + for (i = 0; i < height; i++) { + lives_memcpy(dst, src, width); + dst += rowstrides[2]; + src += irowstrides[2]; } break; case WEED_PALETTE_RGBFLOAT: - width*=3*sizeof(float); - dst=(uint8_t *)new_pixel_data[0]+offs_y*rowstrides[0]+offs_x*3*sizeof(float); - src=(uint8_t *)pixel_data[0]; - for (i=0; i<height; i++) { - lives_memcpy(dst,src,width); - dst+=rowstrides[0]; - src+=irowstrides[0]; + width *= 3 * sizeof(float); + dst = (uint8_t *)new_pixel_data[0] + offs_y * rowstrides[0] + offs_x * 3 * sizeof(float); + src = (uint8_t *)pixel_data[0]; + for (i = 0; i < height; i++) { + lives_memcpy(dst, src, width); + dst += rowstrides[0]; + src += irowstrides[0]; } break; case WEED_PALETTE_RGBAFLOAT: - width*=4*sizeof(float); - dst=(uint8_t *)new_pixel_data[0]+offs_y*rowstrides[0]+offs_x*4*sizeof(float); - src=(uint8_t *)pixel_data[0]; - for (i=0; i<height; i++) { - lives_memcpy(dst,src,width); - dst+=rowstrides[0]; - src+=irowstrides[0]; + width *= 4 * sizeof(float); + dst = (uint8_t *)new_pixel_data[0] + offs_y * rowstrides[0] + offs_x * 4 * sizeof(float); + src = (uint8_t *)pixel_data[0]; + for (i = 0; i < height; i++) { + lives_memcpy(dst, src, width); + dst += rowstrides[0]; + src += irowstrides[0]; } break; case WEED_PALETTE_AFLOAT: - width*=sizeof(float); - dst=(uint8_t *)new_pixel_data[0]+offs_y*rowstrides[0]+offs_x*sizeof(float); - src=(uint8_t *)pixel_data[0]; - for (i=0; i<height; i++) { - lives_memcpy(dst,src,width); - dst+=rowstrides[0]; - src+=irowstrides[0]; + width *= sizeof(float); + dst = (uint8_t *)new_pixel_data[0] + offs_y * rowstrides[0] + offs_x * sizeof(float); + src = (uint8_t *)pixel_data[0]; + for (i = 0; i < height; i++) { + lives_memcpy(dst, src, width); + dst += rowstrides[0]; + src += irowstrides[0]; } break; case WEED_PALETTE_A8: - dst=(uint8_t *)new_pixel_data[0]+offs_y*rowstrides[0]+offs_x; - src=(uint8_t *)pixel_data[0]; - for (i=0; i<height; i++) { - lives_memcpy(dst,src,width); - dst+=rowstrides[0]; - src+=irowstrides[0]; + dst = (uint8_t *)new_pixel_data[0] + offs_y * rowstrides[0] + offs_x; + src = (uint8_t *)pixel_data[0]; + for (i = 0; i < height; i++) { + lives_memcpy(dst, src, width); + dst += rowstrides[0]; + src += irowstrides[0]; } break; // assume offs_x and width is a multiple of 8 case WEED_PALETTE_A1: - width>>=3; - dst=(uint8_t *)new_pixel_data[0]+offs_y*rowstrides[0]+(offs_x>>3); - src=(uint8_t *)pixel_data[0]; - for (i=0; i<height; i++) { - lives_memcpy(dst,src,width); - dst+=rowstrides[0]; - src+=irowstrides[0]; + width >>= 3; + dst = (uint8_t *)new_pixel_data[0] + offs_y * rowstrides[0] + (offs_x >> 3); + src = (uint8_t *)pixel_data[0]; + for (i = 0; i < height; i++) { + lives_memcpy(dst, src, width); + dst += rowstrides[0]; + src += irowstrides[0]; } break; } - for (i=0; i<nplanes; i++) if (pixel_data[i]!=NULL) lives_free(pixel_data[i]); + for (i = 0; i < nplanes; i++) if (pixel_data[i] != NULL) lives_free(pixel_data[i]); // TODO : pixbuf clear lives_free(pixel_data); lives_free(new_pixel_data); lives_free(irowstrides); lives_free(rowstrides); - } @@ -10970,7 +10724,6 @@ // return TRUE if we can use the original pixbuf pixels; in this case the pixbuf pixels should only be freed via lives_layer_pixel_data_free() // see code example. - /* code example: if (pixbuf!=NULL) { @@ -10982,10 +10735,8 @@ weed_layer_pixel_data_free(layer); - */ - int rowstride; int width; int height; @@ -10996,83 +10747,78 @@ size_t framesize; if (!LIVES_IS_PIXBUF(pixbuf)) { - weed_set_int_value(layer,WEED_LEAF_WIDTH,0); - weed_set_int_value(layer,WEED_LEAF_HEIGHT,0); - weed_set_int_value(layer,WEED_LEAF_ROWSTRIDES,0); - weed_set_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,NULL); + weed_set_int_value(layer, WEED_LEAF_WIDTH, 0); + weed_set_int_value(layer, WEED_LEAF_HEIGHT, 0); + weed_set_int_value(layer, WEED_LEAF_ROWSTRIDES, 0); + weed_set_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, NULL); return FALSE; } - rowstride=lives_pixbuf_get_rowstride(pixbuf); - width=lives_pixbuf_get_width(pixbuf); - height=lives_pixbuf_get_height(pixbuf); - nchannels=lives_pixbuf_get_n_channels(pixbuf); - - weed_set_int_value(layer,WEED_LEAF_WIDTH,width); - weed_set_int_value(layer,WEED_LEAF_HEIGHT,height); - weed_set_int_value(layer,WEED_LEAF_ROWSTRIDES,rowstride); + rowstride = lives_pixbuf_get_rowstride(pixbuf); + width = lives_pixbuf_get_width(pixbuf); + height = lives_pixbuf_get_height(pixbuf); + nchannels = lives_pixbuf_get_n_channels(pixbuf); + + weed_set_int_value(layer, WEED_LEAF_WIDTH, width); + weed_set_int_value(layer, WEED_LEAF_HEIGHT, height); + weed_set_int_value(layer, WEED_LEAF_ROWSTRIDES, rowstride); - weed_leaf_delete(layer,WEED_LEAF_HOST_PIXBUF_SRC); + weed_leaf_delete(layer, WEED_LEAF_HOST_PIXBUF_SRC); - if (!weed_plant_has_leaf(layer,WEED_LEAF_CURRENT_PALETTE)) { + if (!weed_plant_has_leaf(layer, WEED_LEAF_CURRENT_PALETTE)) { #ifdef GUI_GTK - if (nchannels==4) weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_RGBA32); - else weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_RGB24); + if (nchannels == 4) weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_RGBA32); + else weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_RGB24); #endif #ifdef GUI_QT // TODO - need to check this, it may be endian dependent - if (nchannels==4) { - int flags=0,error; - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_ARGB32); - if (weed_plant_has_leaf(layer,WEED_LEAF_FLAGS)) flags=weed_get_int_value(layer,WEED_LEAF_FLAGS,&error); - flags|=WEED_CHANNEL_ALPHA_PREMULT; - weed_set_int_value(layer,WEED_LEAF_FLAGS,flags); - } else weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_RGB24); + if (nchannels == 4) { + int flags = 0, error; + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_ARGB32); + if (weed_plant_has_leaf(layer, WEED_LEAF_FLAGS)) flags = weed_get_int_value(layer, WEED_LEAF_FLAGS, &error); + flags |= WEED_CHANNEL_ALPHA_PREMULT; + weed_set_int_value(layer, WEED_LEAF_FLAGS, flags); + } else weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_RGB24); #endif } #ifndef GUI_QT - if (rowstride==get_last_rowstride_value(width,nchannels)) { - in_pixel_data=(void *)lives_pixbuf_get_pixels(pixbuf); - weed_set_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,in_pixel_data); - weed_set_voidptr_value(layer,WEED_LEAF_HOST_PIXBUF_SRC,pixbuf); + if (rowstride == get_last_rowstride_value(width, nchannels)) { + in_pixel_data = (void *)lives_pixbuf_get_pixels(pixbuf); + weed_set_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, in_pixel_data); + weed_set_voidptr_value(layer, WEED_LEAF_HOST_PIXBUF_SRC, pixbuf); return TRUE; } #endif - framesize=CEIL(rowstride*height,32); + framesize = CEIL(rowstride * height, 32); - pixel_data=lives_calloc(framesize>>4,16); + pixel_data = lives_calloc(framesize >> 4, 16); - if (pixel_data!=NULL) { - in_pixel_data=(void *)lives_pixbuf_get_pixels_readonly(pixbuf); - lives_memcpy(pixel_data,in_pixel_data,rowstride*(height-1)); + if (pixel_data != NULL) { + in_pixel_data = (void *)lives_pixbuf_get_pixels_readonly(pixbuf); + lives_memcpy(pixel_data, in_pixel_data, rowstride * (height - 1)); // this part is needed because layers always have a memory size height*rowstride, whereas gdkpixbuf can have // a shorter last row - lives_memcpy((uint8_t *)pixel_data+rowstride*(height-1),(uint8_t *)in_pixel_data+rowstride*(height-1),get_last_rowstride_value(width, - nchannels)); + lives_memcpy((uint8_t *)pixel_data + rowstride * (height - 1), (uint8_t *)in_pixel_data + rowstride * (height - 1), + get_last_rowstride_value(width, + nchannels)); } - weed_set_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,pixel_data); + weed_set_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, pixel_data); return FALSE; } - - - - - ////////////////////////////////////// // TODO - move into layers.c #ifdef GUI_GTK - LIVES_INLINE int get_weed_palette_for_lives_painter(void) { // TODO - should move to weed-compat.h - return (capable->byte_order==LIVES_BIG_ENDIAN)?WEED_PALETTE_ARGB32:WEED_PALETTE_BGRA32; + return (capable->byte_order == LIVES_BIG_ENDIAN) ? WEED_PALETTE_ARGB32 : WEED_PALETTE_BGRA32; } @@ -11081,99 +10827,97 @@ // WEED_LEAF_WIDTH,WEED_LEAF_ROWSTRIDES and WEED_LEAF_CURRENT_PALETTE of layer may all change - int irowstride,orowstride; - int width,widthx; - int height,pal; + int irowstride, orowstride; + int width, widthx; + int height, pal; int error; register int i; - uint8_t *src,*dst,*orig_pixel_data,*pixel_data; + uint8_t *src, *dst, *orig_pixel_data, *pixel_data; lives_painter_surface_t *surf; lives_painter_t *cairo; lives_painter_format_t cform; + width = weed_get_int_value(layer, WEED_LEAF_WIDTH, &error); - width=weed_get_int_value(layer,WEED_LEAF_WIDTH,&error); - - pal=weed_get_int_value(layer,WEED_LEAF_CURRENT_PALETTE,&error); - if (pal==WEED_PALETTE_A8) { - cform=LIVES_PAINTER_FORMAT_A8; - widthx=width; - } else if (pal==WEED_PALETTE_A1) { - cform=LIVES_PAINTER_FORMAT_A1; - widthx=width>>3; + pal = weed_get_int_value(layer, WEED_LEAF_CURRENT_PALETTE, &error); + if (pal == WEED_PALETTE_A8) { + cform = LIVES_PAINTER_FORMAT_A8; + widthx = width; + } else if (pal == WEED_PALETTE_A1) { + cform = LIVES_PAINTER_FORMAT_A1; + widthx = width >> 3; } else { - if (capable->byte_order==LIVES_BIG_ENDIAN) { - convert_layer_palette(layer,WEED_PALETTE_ARGB32,0); + if (capable->byte_order == LIVES_BIG_ENDIAN) { + convert_layer_palette(layer, WEED_PALETTE_ARGB32, 0); } else { - convert_layer_palette(layer,WEED_PALETTE_BGRA32,0); + convert_layer_palette(layer, WEED_PALETTE_BGRA32, 0); } - cform=LIVES_PAINTER_FORMAT_ARGB32; - widthx=width<<2; + cform = LIVES_PAINTER_FORMAT_ARGB32; + widthx = width << 2; } - height=weed_get_int_value(layer,WEED_LEAF_HEIGHT,&error); + height = weed_get_int_value(layer, WEED_LEAF_HEIGHT, &error); - irowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); + irowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); - orowstride=lives_painter_format_stride_for_width(cform,width); + orowstride = lives_painter_format_stride_for_width(cform, width); - orig_pixel_data=src=(uint8_t *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); + orig_pixel_data = src = (uint8_t *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); - if (irowstride==orowstride) { - pixel_data=src; + if (irowstride == orowstride) { + pixel_data = src; } else { - dst=pixel_data=(uint8_t *)lives_try_malloc(height*orowstride); - if (pixel_data==NULL) return NULL; - for (i=0; i<height; i++) { - lives_memcpy(dst,src,widthx); - memset(dst+widthx,0,widthx-orowstride); - dst+=orowstride; - src+=irowstride; + dst = pixel_data = (uint8_t *)lives_try_malloc(height * orowstride); + if (pixel_data == NULL) return NULL; + for (i = 0; i < height; i++) { + lives_memcpy(dst, src, widthx); + memset(dst + widthx, 0, widthx - orowstride); + dst += orowstride; + src += irowstride; } lives_free(orig_pixel_data); - weed_set_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,pixel_data); - weed_set_int_value(layer,WEED_LEAF_ROWSTRIDES,orowstride); + weed_set_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, pixel_data); + weed_set_int_value(layer, WEED_LEAF_ROWSTRIDES, orowstride); } - if (cform==LIVES_PAINTER_FORMAT_ARGB32 && weed_palette_has_alpha_channel(pal)) { - int flags=0; - if (weed_plant_has_leaf(layer,WEED_LEAF_FLAGS)) flags=weed_get_int_value(layer,WEED_LEAF_FLAGS,&error); - if (!(flags&WEED_CHANNEL_ALPHA_PREMULT)) { + if (cform == LIVES_PAINTER_FORMAT_ARGB32 && weed_palette_has_alpha_channel(pal)) { + int flags = 0; + if (weed_plant_has_leaf(layer, WEED_LEAF_FLAGS)) flags = weed_get_int_value(layer, WEED_LEAF_FLAGS, &error); + if (!(flags & WEED_CHANNEL_ALPHA_PREMULT)) { // if we have post-multiplied alpha, pre multiply - alpha_unpremult(layer,FALSE); - flags|=WEED_CHANNEL_ALPHA_PREMULT; - weed_set_int_value(layer,WEED_LEAF_FLAGS,flags); + alpha_unpremult(layer, FALSE); + flags |= WEED_CHANNEL_ALPHA_PREMULT; + weed_set_int_value(layer, WEED_LEAF_FLAGS, flags); } } - surf=lives_painter_image_surface_create_for_data(pixel_data, - cform, - width, height, - orowstride); + surf = lives_painter_image_surface_create_for_data(pixel_data, + cform, + width, height, + orowstride); - if (surf==NULL) return NULL; + if (surf == NULL) return NULL; - cairo=lives_painter_create(surf); // surf is refcounted + cairo = lives_painter_create(surf); // surf is refcounted lives_painter_surface_destroy(surf); // reduce refcount, so it is destroyed with the cairo return cairo; } - boolean lives_painter_to_layer(lives_painter_t *cr, weed_plant_t *layer) { // updates a weed_layer from a cr // TODO *** - keep the surface around using lives_painter_surface_reference() and destroy it when the WEED_LEAF_PIXEL_DATA is freed or changed - void *pixel_data,*src; + void *pixel_data, *src; - int width,height,rowstride; + int width, height, rowstride; - lives_painter_surface_t *surface=lives_painter_get_target(cr); + lives_painter_surface_t *surface = lives_painter_get_target(cr); lives_painter_format_t cform; // flush to ensure all writing to the image was done @@ -11184,53 +10928,53 @@ height = lives_painter_image_surface_get_height(surface); rowstride = lives_painter_image_surface_get_stride(surface); - if (weed_plant_has_leaf(layer,WEED_LEAF_PIXEL_DATA)) { + if (weed_plant_has_leaf(layer, WEED_LEAF_PIXEL_DATA)) { int error; - pixel_data=weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); - if (pixel_data!=NULL&&pixel_data!=src) lives_free(pixel_data); + pixel_data = weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); + if (pixel_data != NULL && pixel_data != src) lives_free(pixel_data); } - pixel_data=lives_try_malloc(CEIL(height*rowstride,32)); + pixel_data = lives_try_malloc(CEIL(height * rowstride, 32)); - weed_set_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,pixel_data); + weed_set_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, pixel_data); - if (pixel_data==NULL) return FALSE; + if (pixel_data == NULL) return FALSE; - lives_memcpy(pixel_data,src,height*rowstride); + lives_memcpy(pixel_data, src, height * rowstride); - weed_set_int_value(layer,WEED_LEAF_ROWSTRIDES,rowstride); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width); - weed_set_int_value(layer,WEED_LEAF_HEIGHT,height); + weed_set_int_value(layer, WEED_LEAF_ROWSTRIDES, rowstride); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width); + weed_set_int_value(layer, WEED_LEAF_HEIGHT, height); cform = lives_painter_image_surface_get_format(surface); switch (cform) { case LIVES_PAINTER_FORMAT_ARGB32: - if (capable->byte_order==LIVES_BIG_ENDIAN) { - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_ARGB32); + if (capable->byte_order == LIVES_BIG_ENDIAN) { + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_ARGB32); } else { - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_BGRA32); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_BGRA32); } if (prefs->alpha_post) { // un-premultiply the alpha - alpha_unpremult(layer,TRUE); + alpha_unpremult(layer, TRUE); } else { - int flags=0,error; - if (weed_plant_has_leaf(layer,WEED_LEAF_FLAGS)) - flags=weed_get_int_value(layer,WEED_LEAF_FLAGS,&error); + int flags = 0, error; + if (weed_plant_has_leaf(layer, WEED_LEAF_FLAGS)) + flags = weed_get_int_value(layer, WEED_LEAF_FLAGS, &error); - flags|=WEED_CHANNEL_ALPHA_PREMULT; - weed_set_int_value(layer,WEED_LEAF_FLAGS,flags); + flags |= WEED_CHANNEL_ALPHA_PREMULT; + weed_set_int_value(layer, WEED_LEAF_FLAGS, flags); } break; case LIVES_PAINTER_FORMAT_A8: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_A8); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_A8); break; case LIVES_PAINTER_FORMAT_A1: - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_A1); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_A1); break; default: @@ -11243,14 +10987,14 @@ #endif weed_plant_t *weed_layer_new(int width, int height, int *rowstrides, int current_palette) { - weed_plant_t *layer=weed_plant_new(WEED_PLANT_CHANNEL); + weed_plant_t *layer = weed_plant_new(WEED_PLANT_CHANNEL); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width); - weed_set_int_value(layer,WEED_LEAF_HEIGHT,height); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width); + weed_set_int_value(layer, WEED_LEAF_HEIGHT, height); - if (current_palette!=WEED_PALETTE_END) { - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,current_palette); - if (rowstrides!=NULL) weed_set_int_array(layer,WEED_LEAF_ROWSTRIDES,weed_palette_get_numplanes(current_palette),rowstrides); + if (current_palette != WEED_PALETTE_END) { + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, current_palette); + if (rowstrides != NULL) weed_set_int_array(layer, WEED_LEAF_ROWSTRIDES, weed_palette_get_numplanes(current_palette), rowstrides); } return layer; } @@ -11266,81 +11010,79 @@ weed_plant_t *layer; - - void **pd_array,**pixel_data; + void **pd_array, **pixel_data; uint8_t *npixel_data; - int height,width,palette,flags; - int pd_elements,error; + int height, width, palette, flags; + int pd_elements, error; int *rowstrides; - size_t size,totsize=0; + size_t size, totsize = 0; - boolean deep=FALSE,contig; + boolean deep = FALSE, contig; register int i; - - if (dlayer==NULL) { - layer=weed_plant_new(WEED_PLANT_CHANNEL); - deep=TRUE; - } else layer=dlayer; + if (dlayer == NULL) { + layer = weed_plant_new(WEED_PLANT_CHANNEL); + deep = TRUE; + } else layer = dlayer; // now copy relevant leaves - flags=weed_get_int_value(slayer,WEED_LEAF_FLAGS,&error); - height=weed_get_int_value(slayer,WEED_LEAF_HEIGHT,&error); - width=weed_get_int_value(slayer,WEED_LEAF_WIDTH,&error); - palette=weed_get_int_value(slayer,WEED_LEAF_CURRENT_PALETTE,&error); - pd_elements=weed_leaf_num_elements(slayer,WEED_LEAF_PIXEL_DATA); - pixel_data=weed_get_voidptr_array(slayer,WEED_LEAF_PIXEL_DATA,&error); - rowstrides=weed_get_int_array(slayer,WEED_LEAF_ROWSTRIDES,&error); - contig=weed_get_boolean_value(slayer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS,&error); + flags = weed_get_int_value(slayer, WEED_LEAF_FLAGS, &error); + height = weed_get_int_value(slayer, WEED_LEAF_HEIGHT, &error); + width = weed_get_int_value(slayer, WEED_LEAF_WIDTH, &error); + palette = weed_get_int_value(slayer, WEED_LEAF_CURRENT_PALETTE, &error); + pd_elements = weed_leaf_num_elements(slayer, WEED_LEAF_PIXEL_DATA); + pixel_data = weed_get_voidptr_array(slayer, WEED_LEAF_PIXEL_DATA, &error); + rowstrides = weed_get_int_array(slayer, WEED_LEAF_ROWSTRIDES, &error); + contig = weed_get_boolean_value(slayer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS, &error); - weed_set_boolean_value(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS,contig); - weed_set_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,NULL); + weed_set_boolean_value(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS, contig); + weed_set_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, NULL); if (deep) { - pd_array=(void **)lives_malloc(pd_elements*sizeof(void *)); + pd_array = (void **)lives_malloc(pd_elements * sizeof(void *)); - for (i=0; i<pd_elements; i++) { - size=(size_t)((double)height*weed_palette_get_plane_ratio_vertical(palette,i)*(double)rowstrides[i]); - totsize+=CEIL(size,32); - } - - npixel_data=(uint8_t *)lives_try_malloc(totsize); - if (npixel_data==NULL) return layer; - - for (i=0; i<pd_elements; i++) { - size=(size_t)((double)height*weed_palette_get_plane_ratio_vertical(palette,i)*(double)rowstrides[i]); - pd_array[i]=(void *)npixel_data; - lives_memcpy(pd_array[i],pixel_data[i],size); - npixel_data+=CEIL(size,32); - } - if (pd_elements>1) - weed_set_boolean_value(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS,WEED_TRUE); - else if (weed_plant_has_leaf(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS)) - weed_leaf_delete(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS); - } else pd_array=pixel_data; - - weed_set_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,pd_elements,pd_array); - weed_set_int_value(layer,WEED_LEAF_FLAGS,flags); - weed_set_int_value(layer,WEED_LEAF_HEIGHT,height); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width); - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,palette); - weed_set_int_array(layer,WEED_LEAF_ROWSTRIDES,pd_elements,rowstrides); - - if (weed_plant_has_leaf(slayer,WEED_LEAF_YUV_CLAMPING)) - weed_set_int_value(layer,WEED_LEAF_YUV_CLAMPING,weed_get_int_value(slayer,WEED_LEAF_YUV_CLAMPING,&error)); - if (weed_plant_has_leaf(slayer,WEED_LEAF_YUV_SUBSPACE)) - weed_set_int_value(layer,WEED_LEAF_YUV_SUBSPACE,weed_get_int_value(slayer,WEED_LEAF_YUV_SUBSPACE,&error)); - if (weed_plant_has_leaf(slayer,WEED_LEAF_YUV_SAMPLING)) - weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,weed_get_int_value(slayer,WEED_LEAF_YUV_SAMPLING,&error)); + for (i = 0; i < pd_elements; i++) { + size = (size_t)((double)height * weed_palette_get_plane_ratio_vertical(palette, i) * (double)rowstrides[i]); + totsize += CEIL(size, 32); + } + + npixel_data = (uint8_t *)lives_try_malloc(totsize); + if (npixel_data == NULL) return layer; + + for (i = 0; i < pd_elements; i++) { + size = (size_t)((double)height * weed_palette_get_plane_ratio_vertical(palette, i) * (double)rowstrides[i]); + pd_array[i] = (void *)npixel_data; + lives_memcpy(pd_array[i], pixel_data[i], size); + npixel_data += CEIL(size, 32); + } + if (pd_elements > 1) + weed_set_boolean_value(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS, WEED_TRUE); + else if (weed_plant_has_leaf(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS)) + weed_leaf_delete(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS); + } else pd_array = pixel_data; + + weed_set_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, pd_elements, pd_array); + weed_set_int_value(layer, WEED_LEAF_FLAGS, flags); + weed_set_int_value(layer, WEED_LEAF_HEIGHT, height); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, palette); + weed_set_int_array(layer, WEED_LEAF_ROWSTRIDES, pd_elements, rowstrides); + + if (weed_plant_has_leaf(slayer, WEED_LEAF_YUV_CLAMPING)) + weed_set_int_value(layer, WEED_LEAF_YUV_CLAMPING, weed_get_int_value(slayer, WEED_LEAF_YUV_CLAMPING, &error)); + if (weed_plant_has_leaf(slayer, WEED_LEAF_YUV_SUBSPACE)) + weed_set_int_value(layer, WEED_LEAF_YUV_SUBSPACE, weed_get_int_value(slayer, WEED_LEAF_YUV_SUBSPACE, &error)); + if (weed_plant_has_leaf(slayer, WEED_LEAF_YUV_SAMPLING)) + weed_set_int_value(layer, WEED_LEAF_YUV_SAMPLING, weed_get_int_value(slayer, WEED_LEAF_YUV_SAMPLING, &error)); - if (weed_plant_has_leaf(slayer,WEED_LEAF_PIXEL_ASPECT_RATIO)) - weed_set_double_value(layer,WEED_LEAF_PIXEL_ASPECT_RATIO,weed_get_int_value(slayer,WEED_LEAF_PIXEL_ASPECT_RATIO,&error)); + if (weed_plant_has_leaf(slayer, WEED_LEAF_PIXEL_ASPECT_RATIO)) + weed_set_double_value(layer, WEED_LEAF_PIXEL_ASPECT_RATIO, weed_get_int_value(slayer, WEED_LEAF_PIXEL_ASPECT_RATIO, &error)); - if (pd_array!=pixel_data) lives_free(pd_array); + if (pd_array != pixel_data) lives_free(pd_array); lives_free(pixel_data); lives_free(rowstrides); @@ -11348,7 +11090,6 @@ } - void weed_layer_pixel_data_free(weed_plant_t *layer) { // free pixel_data from layer // we do not free if WEED_LEAF_HOST_ORIG_PDATA is set (data is an alpha in which "belongs" to another out param) @@ -11360,7 +11101,6 @@ // this should almost ALWAYS be used to free WEED_LEAF_PIXEL_DATA - void **pixel_data; int error; @@ -11368,37 +11108,36 @@ register int i; - if (layer==NULL) return; + if (layer == NULL) return; - if (weed_plant_has_leaf(layer,WEED_LEAF_HOST_ORIG_PDATA)&&weed_get_boolean_value(layer,WEED_LEAF_HOST_ORIG_PDATA,&error)==WEED_TRUE) + if (weed_plant_has_leaf(layer, WEED_LEAF_HOST_ORIG_PDATA) && weed_get_boolean_value(layer, WEED_LEAF_HOST_ORIG_PDATA, &error) == WEED_TRUE) return; - if (weed_plant_has_leaf(layer,WEED_LEAF_PIXEL_DATA)) { - pd_elements=weed_leaf_num_elements(layer,WEED_LEAF_PIXEL_DATA); - if (weed_plant_has_leaf(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS)&& - weed_get_boolean_value(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS,&error)==WEED_TRUE) pd_elements=1; - if (pd_elements>0) { - pixel_data=weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - if (pixel_data!=NULL) { - - if (weed_plant_has_leaf(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS)) { - if (weed_get_boolean_value(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS,&error)==WEED_TRUE) - pd_elements=1; - weed_leaf_delete(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS); - } - - if (weed_plant_has_leaf(layer,WEED_LEAF_HOST_PIXBUF_SRC)) { - LiVESPixbuf *pixbuf=(LiVESPixbuf *)weed_get_voidptr_value(layer,WEED_LEAF_HOST_PIXBUF_SRC,&error); - weed_leaf_delete(layer,WEED_LEAF_HOST_PIXBUF_SRC); - if (pixbuf!=NULL) lives_object_unref(pixbuf); + if (weed_plant_has_leaf(layer, WEED_LEAF_PIXEL_DATA)) { + pd_elements = weed_leaf_num_elements(layer, WEED_LEAF_PIXEL_DATA); + if (weed_plant_has_leaf(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS) && + weed_get_boolean_value(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS, &error) == WEED_TRUE) pd_elements = 1; + if (pd_elements > 0) { + pixel_data = weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + if (pixel_data != NULL) { + if (weed_plant_has_leaf(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS)) { + if (weed_get_boolean_value(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS, &error) == WEED_TRUE) + pd_elements = 1; + weed_leaf_delete(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS); + } + + if (weed_plant_has_leaf(layer, WEED_LEAF_HOST_PIXBUF_SRC)) { + LiVESPixbuf *pixbuf = (LiVESPixbuf *)weed_get_voidptr_value(layer, WEED_LEAF_HOST_PIXBUF_SRC, &error); + weed_leaf_delete(layer, WEED_LEAF_HOST_PIXBUF_SRC); + if (pixbuf != NULL) lives_object_unref(pixbuf); } else { - for (i=0; i<pd_elements; i++) { - if (pixel_data[i]!=NULL) lives_free(pixel_data[i]); + for (i = 0; i < pd_elements; i++) { + if (pixel_data[i] != NULL) lives_free(pixel_data[i]); } } lives_free(pixel_data); - weed_set_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,NULL); + weed_set_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, NULL); } } } @@ -11406,7 +11145,7 @@ void weed_layer_free(weed_plant_t *layer) { - if (layer==NULL) return; + if (layer == NULL) return; weed_layer_pixel_data_free(layer); weed_plant_free(layer); } @@ -11414,60 +11153,58 @@ int weed_layer_get_palette(weed_plant_t *layer) { int error; - int pal=weed_get_int_value(layer,WEED_LEAF_CURRENT_PALETTE,&error); - if (error==WEED_NO_ERROR) return pal; + int pal = weed_get_int_value(layer, WEED_LEAF_CURRENT_PALETTE, &error); + if (error == WEED_NO_ERROR) return pal; return WEED_PALETTE_END; } - void insert_blank_frames(int sfileno, int nframes, int after) { // insert blank frames in clip (only valid just after clip is opened) // this is ugly, it should be moved to another file - lives_clip_t *sfile=mainw->files[sfileno]; + lives_clip_t *sfile = mainw->files[sfileno]; LiVESPixbuf *blankp; - LiVESError *error=NULL; + LiVESError *error = NULL; char oname[PATH_MAX]; char nname[PATH_MAX]; char *tmp; register int i; - blankp=lives_pixbuf_new_blank(sfile->hsize,sfile->vsize,WEED_PALETTE_RGB24); + blankp = lives_pixbuf_new_blank(sfile->hsize, sfile->vsize, WEED_PALETTE_RGB24); - for (i=1; i<=sfile->frames; i++) { - tmp=make_image_file_name(sfile,i,get_image_ext_for_type(sfile->img_type)); - lives_snprintf(oname,PATH_MAX,"%s",tmp); + for (i = 1; i <= sfile->frames; i++) { + tmp = make_image_file_name(sfile, i, get_image_ext_for_type(sfile->img_type)); + lives_snprintf(oname, PATH_MAX, "%s", tmp); lives_free(tmp); - if (lives_file_test(oname,LIVES_FILE_TEST_EXISTS)) { - tmp=make_image_file_name(sfile,i+nframes,get_image_ext_for_type(sfile->img_type)); - lives_snprintf(oname,PATH_MAX,"%s",tmp); + if (lives_file_test(oname, LIVES_FILE_TEST_EXISTS)) { + tmp = make_image_file_name(sfile, i + nframes, get_image_ext_for_type(sfile->img_type)); + lives_snprintf(oname, PATH_MAX, "%s", tmp); lives_free(tmp); - mainw->com_failed=FALSE; - lives_mv(oname,nname); + mainw->com_failed = FALSE; + lives_mv(oname, nname); if (mainw->com_failed) { return; } } } - for (i=after; i<after+nframes; i++) { - tmp=make_image_file_name(sfile,i+1,get_image_ext_for_type(sfile->img_type)); - lives_snprintf(oname,PATH_MAX,"%s",tmp); + for (i = after; i < after + nframes; i++) { + tmp = make_image_file_name(sfile, i + 1, get_image_ext_for_type(sfile->img_type)); + lives_snprintf(oname, PATH_MAX, "%s", tmp); lives_free(tmp); - lives_pixbuf_save(blankp, oname, sfile->img_type, 100-prefs->ocp, TRUE, &error); - if (error!=NULL) { + lives_pixbuf_save(blankp, oname, sfile->img_type, 100 - prefs->ocp, TRUE, &error); + if (error != NULL) { lives_error_free(error); break; } } + insert_images_in_virtual(sfileno, after, nframes, NULL, 0); - insert_images_in_virtual(sfileno,after,nframes,NULL,0); - - sfile->frames+=nframes; + sfile->frames += nframes; lives_object_unref(blankp); }
View file
LiVES-2.8.4.tar.bz2/src/colourspace.h -> LiVES-2.8.6.tar.bz2/src/colourspace.h
Changed
@@ -19,7 +19,7 @@ // rgb / yuv conversion factors //////////// #define FP_BITS 16 /// max fp bits -#define SCALE_FACTOR (1<<FP_BITS) +#define SCALE_FACTOR (1 << FP_BITS) #define KR_YCBCR 0.299 #define KB_YCBCR 0.114
View file
LiVES-2.8.4.tar.bz2/src/cvirtual.c -> LiVES-2.8.6.tar.bz2/src/cvirtual.c
Changed
@@ -21,22 +21,22 @@ /** count virtual frames between start and end (inclusive) */ int count_virtual_frames(int *findex, int start, int end) { register int i; - int count=0; - for (i=start-1; i<end; i++) if (findex[i]!=-1) count++; + int count = 0; + for (i = start - 1; i < end; i++) if (findex[i] != -1) count++; return count; } void create_frame_index(int fileno, boolean init, int start_offset, int nframes) { register int i; - lives_clip_t *sfile=mainw->files[fileno]; - if (sfile==NULL||sfile->frame_index!=NULL) return; + lives_clip_t *sfile = mainw->files[fileno]; + if (sfile == NULL || sfile->frame_index != NULL) return; - sfile->frame_index=(int *)lives_malloc(nframes*sizint); + sfile->frame_index = (int *)lives_malloc(nframes * sizint); if (init) { - for (i=0; i<sfile->frames; i++) { - sfile->frame_index[i]=i+start_offset; + for (i = 0; i < sfile->frames; i++) { + sfile->frame_index[i] = i + start_offset; } } } @@ -44,41 +44,41 @@ // save frame_index to disk boolean save_frame_index(int fileno) { - int fd,i; + int fd, i; int retval; char *fname; - lives_clip_t *sfile=mainw->files[fileno]; + lives_clip_t *sfile = mainw->files[fileno]; - if (fileno==0) return TRUE; + if (fileno == 0) return TRUE; - if (sfile==NULL||sfile->frame_index==NULL) return FALSE; + if (sfile == NULL || sfile->frame_index == NULL) return FALSE; - fname=lives_build_filename(prefs->workdir,sfile->handle,"file_index",NULL); + fname = lives_build_filename(prefs->workdir, sfile->handle, "file_index", NULL); do { - retval=0; - fd=lives_creat_buffered(fname,DEF_FILE_PERMS); - if (fd<0) { - retval=do_write_failed_error_s_with_retry(fname,lives_strerror(errno),NULL); + retval = 0; + fd = lives_creat_buffered(fname, DEF_FILE_PERMS); + if (fd < 0) { + retval = do_write_failed_error_s_with_retry(fname, lives_strerror(errno), NULL); } else { - mainw->write_failed=FALSE; - for (i=0; i<sfile->frames; i++) { - lives_write_le_buffered(fd,&sfile->frame_index[i],4,TRUE); + mainw->write_failed = FALSE; + for (i = 0; i < sfile->frames; i++) { + lives_write_le_buffered(fd, &sfile->frame_index[i], 4, TRUE); if (mainw->write_failed) break; } lives_close_buffered(fd); if (mainw->write_failed) { - retval=do_write_failed_error_s_with_retry(fname,NULL,NULL); + retval = do_write_failed_error_s_with_retry(fname, NULL, NULL); } } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); lives_free(fname); - if (retval==LIVES_RESPONSE_CANCEL) return FALSE; + if (retval == LIVES_RESPONSE_CANCEL) return FALSE; return TRUE; } @@ -90,59 +90,59 @@ // or maxframe pointed to in clip int load_frame_index(int fileno) { - lives_clip_t *sfile=mainw->files[fileno]; + lives_clip_t *sfile = mainw->files[fileno]; char *fname; int fd; int retval; - int maxframe=0; + int maxframe = 0; register int i; - if (sfile==NULL||sfile->frame_index!=NULL) return -1; + if (sfile == NULL || sfile->frame_index != NULL) return -1; lives_freep((void **)&sfile->frame_index); - fname=lives_build_filename(prefs->workdir,sfile->handle,"file_index",NULL); + fname = lives_build_filename(prefs->workdir, sfile->handle, "file_index", NULL); - if (!lives_file_test(fname,LIVES_FILE_TEST_EXISTS)) { + if (!lives_file_test(fname, LIVES_FILE_TEST_EXISTS)) { lives_free(fname); return 0; } do { - retval=0; + retval = 0; - fd=lives_open_buffered_rdonly(fname); + fd = lives_open_buffered_rdonly(fname); - if (fd<0) { - retval=do_read_failed_error_s_with_retry(fname,lives_strerror(errno),NULL); - if (retval==LIVES_RESPONSE_CANCEL) { + if (fd < 0) { + retval = do_read_failed_error_s_with_retry(fname, lives_strerror(errno), NULL); + if (retval == LIVES_RESPONSE_CANCEL) { lives_free(fname); return -1; } } else { - create_frame_index(fileno,FALSE,0,sfile->frames); + create_frame_index(fileno, FALSE, 0, sfile->frames); - mainw->read_failed=FALSE; - for (i=0; i<sfile->frames; i++) { - lives_read_le_buffered(fd,&sfile->frame_index[i],4,FALSE); + mainw->read_failed = FALSE; + for (i = 0; i < sfile->frames; i++) { + lives_read_le_buffered(fd, &sfile->frame_index[i], 4, FALSE); if (mainw->read_failed) break; - if (sfile->frame_index[i]>maxframe) maxframe=sfile->frame_index[i]; + if (sfile->frame_index[i] > maxframe) maxframe = sfile->frame_index[i]; } lives_close_buffered(fd); if (mainw->read_failed) { - mainw->read_failed=FALSE; - retval=do_read_failed_error_s_with_retry(fname,NULL,NULL); + mainw->read_failed = FALSE; + retval = do_read_failed_error_s_with_retry(fname, NULL, NULL); } } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); lives_free(fname); @@ -160,17 +160,17 @@ // cannot call check_if_non_virtual() else we end up recursing - if (sfile->frame_index!=NULL) { - for (i=1; i<=sfile->frames; i++) { - if (sfile->frame_index[i-1]!=-1) { + if (sfile->frame_index != NULL) { + for (i = 1; i <= sfile->frames; i++) { + if (sfile->frame_index[i - 1] != -1) { LIVES_ERROR("deleting frame_index with virtual frames in it !"); return; } } } - if (sfile!=clipboard) { - idxfile=lives_build_filename(prefs->workdir,sfile->handle,"file_index",NULL); + if (sfile != clipboard) { + idxfile = lives_build_filename(prefs->workdir, sfile->handle, "file_index", NULL); lives_rm(idxfile); lives_free(idxfile); } @@ -182,11 +182,11 @@ boolean check_clip_integrity(int fileno, const lives_clip_data_t *cdata) { - lives_clip_t *sfile=mainw->files[fileno]; + lives_clip_t *sfile = mainw->files[fileno]; - lives_image_type_t empirical_img_type=sfile->img_type; + lives_image_type_t empirical_img_type = sfile->img_type; - int first_real_frame=0; + int first_real_frame = 0; register int i; @@ -200,50 +200,50 @@ // check the image type - for (i=0; i<sfile->frames; i++) { - if (sfile->frame_index[i]==-1) { + for (i = 0; i < sfile->frames; i++) { + if (sfile->frame_index[i] == -1) { // this is a non-virtual frame - char *frame=make_image_file_name(sfile,i+1,LIVES_FILE_EXT_PNG); - if (lives_file_test(frame,LIVES_FILE_TEST_EXISTS)) empirical_img_type=IMG_TYPE_PNG; - else empirical_img_type=IMG_TYPE_JPEG; + char *frame = make_image_file_name(sfile, i + 1, LIVES_FILE_EXT_PNG); + if (lives_file_test(frame, LIVES_FILE_TEST_EXISTS)) empirical_img_type = IMG_TYPE_PNG; + else empirical_img_type = IMG_TYPE_JPEG; lives_free(frame); - first_real_frame=i+1; + first_real_frame = i + 1; break; } } // TODO *** check frame count - if (sfile->frames>0&&(sfile->hsize*sfile->vsize==0)) { - if (first_real_frame>0) { - sfile->img_type=empirical_img_type; - get_frames_sizes(fileno,first_real_frame); + if (sfile->frames > 0 && (sfile->hsize * sfile->vsize == 0)) { + if (first_real_frame > 0) { + sfile->img_type = empirical_img_type; + get_frames_sizes(fileno, first_real_frame); } else { if (!prefs->auto_nobord) { - sfile->hsize=cdata->frame_width*weed_palette_get_pixels_per_macropixel(cdata->current_palette); - sfile->vsize=cdata->frame_height; + sfile->hsize = cdata->frame_width * weed_palette_get_pixels_per_macropixel(cdata->current_palette); + sfile->vsize = cdata->frame_height; } else { - sfile->hsize=cdata->width*weed_palette_get_pixels_per_macropixel(cdata->current_palette); - sfile->vsize=cdata->height; + sfile->hsize = cdata->width * weed_palette_get_pixels_per_macropixel(cdata->current_palette); + sfile->vsize = cdata->height; } } goto mismatch; } - if (sfile->fps!=(double)cdata->fps) goto mismatch; + if (sfile->fps != (double)cdata->fps) goto mismatch; - if (sfile->img_type!=empirical_img_type) sfile->img_type=empirical_img_type; + if (sfile->img_type != empirical_img_type) sfile->img_type = empirical_img_type; // and all else are equal return TRUE; mismatch: // something mismatched - trust the disk version - ((lives_clip_data_t *)cdata)->fps=sfile->pb_fps=sfile->fps; + ((lives_clip_data_t *)cdata)->fps = sfile->pb_fps = sfile->fps; - sfile->img_type=empirical_img_type; + sfile->img_type = empirical_img_type; - sfile->needs_update=TRUE; + sfile->needs_update = TRUE; return FALSE; } @@ -255,31 +255,31 @@ // check if there are no virtual frames from start to end inclusive in clip fileno register int i; - lives_clip_t *sfile=mainw->files[fileno]; - boolean bad_header=FALSE; + lives_clip_t *sfile = mainw->files[fileno]; + boolean bad_header = FALSE; - if (sfile->clip_type!=CLIP_TYPE_FILE) return TRUE; + if (sfile->clip_type != CLIP_TYPE_FILE) return TRUE; - if (sfile->frame_index!=NULL) { - for (i=start; i<=end; i++) { - if (sfile->frame_index[i-1]!=-1) return FALSE; + if (sfile->frame_index != NULL) { + for (i = start; i <= end; i++) { + if (sfile->frame_index[i - 1] != -1) return FALSE; } } - if (start>1||end<sfile->frames) return TRUE; + if (start > 1 || end < sfile->frames) return TRUE; // no virtual frames in entire clip - change to CLIP_TYPE_DISK - sfile->clip_type=CLIP_TYPE_DISK; + sfile->clip_type = CLIP_TYPE_DISK; del_frame_index(sfile); - if (sfile->interlace!=LIVES_INTERLACE_NONE) { - sfile->interlace=LIVES_INTERLACE_NONE; // all frames should have been deinterlaced - sfile->deinterlace=FALSE; - if (fileno>0) { - save_clip_value(fileno,CLIP_DETAILS_INTERLACE,&sfile->interlace); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; + if (sfile->interlace != LIVES_INTERLACE_NONE) { + sfile->interlace = LIVES_INTERLACE_NONE; // all frames should have been deinterlaced + sfile->deinterlace = FALSE; + if (fileno > 0) { + save_clip_value(fileno, CLIP_DETAILS_INTERLACE, &sfile->interlace); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; if (bad_header) do_header_write_error(fileno); } } @@ -302,76 +302,76 @@ // return FALSE on write error register int i; - lives_clip_t *sfile=mainw->files[sfileno]; - LiVESPixbuf *pixbuf=NULL; - LiVESError *error=NULL; + lives_clip_t *sfile = mainw->files[sfileno]; + LiVESPixbuf *pixbuf = NULL; + LiVESError *error = NULL; char *oname; int retval; - int progress=1; + int progress = 1; - if (sframe<1) sframe=1; + if (sframe < 1) sframe = 1; - for (i=sframe; i<=eframe; i++) { - if (i>sfile->frames) break; + for (i = sframe; i <= eframe; i++) { + if (i > sfile->frames) break; - if (sfile->frame_index[i-1]>=0) { - oname=NULL; + if (sfile->frame_index[i - 1] >= 0) { + oname = NULL; if (update_progress) { threaded_dialog_spin(0.); lives_widget_context_update(); } - if (pbr!=NULL&&pixbuf!=NULL) lives_object_unref(pixbuf); + if (pbr != NULL && pixbuf != NULL) lives_object_unref(pixbuf); - pixbuf=pull_lives_pixbuf_at_size(sfileno,i,get_image_ext_for_type(sfile->img_type), - q_gint64((i-1.)/sfile->fps,sfile->fps),sfile->hsize,sfile->vsize,LIVES_INTERP_BEST); + pixbuf = pull_lives_pixbuf_at_size(sfileno, i, get_image_ext_for_type(sfile->img_type), + q_gint64((i - 1.) / sfile->fps, sfile->fps), sfile->hsize, sfile->vsize, LIVES_INTERP_BEST); - oname=make_image_file_name(sfile,i,get_image_ext_for_type(sfile->img_type)); + oname = make_image_file_name(sfile, i, get_image_ext_for_type(sfile->img_type)); do { - retval=0; - lives_pixbuf_save(pixbuf, oname, sfile->img_type, 100-prefs->ocp, TRUE, &error); - if (error!=NULL&&pbr==NULL) { - retval=do_write_failed_error_s_with_retry(oname,error->message,NULL); + retval = 0; + lives_pixbuf_save(pixbuf, oname, sfile->img_type, 100 - prefs->ocp, TRUE, &error); + if (error != NULL && pbr == NULL) { + retval = do_write_failed_error_s_with_retry(oname, error->message, NULL); lives_error_free(error); - error=NULL; + error = NULL; } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); lives_freep((void **)&oname); - if (pbr==NULL) { - if (pixbuf!=NULL) lives_object_unref(pixbuf); - pixbuf=NULL; + if (pbr == NULL) { + if (pixbuf != NULL) lives_object_unref(pixbuf); + pixbuf = NULL; } - if (retval==LIVES_RESPONSE_CANCEL) return FALSE; + if (retval == LIVES_RESPONSE_CANCEL) return FALSE; // another thread may have called check_if_non_virtual - TODO : use a mutex - if (sfile->frame_index==NULL) break; - sfile->frame_index[i-1]=-1; + if (sfile->frame_index == NULL) break; + sfile->frame_index[i - 1] = -1; if (update_progress) { // sig_progress... - lives_snprintf(mainw->msg,256,"%d",progress++); + lives_snprintf(mainw->msg, 256, "%d", progress++); threaded_dialog_spin(0.); lives_widget_context_update(); } - if (mainw->cancelled!=CANCEL_NONE) { - if (!check_if_non_virtual(sfileno,1,sfile->frames)) save_frame_index(sfileno); - if (pbr!=NULL) *pbr=pixbuf; + if (mainw->cancelled != CANCEL_NONE) { + if (!check_if_non_virtual(sfileno, 1, sfile->frames)) save_frame_index(sfileno); + if (pbr != NULL) *pbr = pixbuf; return TRUE; } } } - if (pbr!=NULL) *pbr=pixbuf; + if (pbr != NULL) *pbr = pixbuf; - if (!check_if_non_virtual(sfileno,1,sfile->frames)) if (!save_frame_index(sfileno)) return FALSE; + if (!check_if_non_virtual(sfileno, 1, sfile->frames)) if (!save_frame_index(sfileno)) return FALSE; return TRUE; } @@ -387,35 +387,35 @@ // this is for clip type CLIP_TYPE_FILE only - lives_clip_t *sfile=mainw->files[sfileno]; - int nframes=sfile->frames; + lives_clip_t *sfile = mainw->files[sfileno]; + int nframes = sfile->frames; - register int i,j=start-1; + register int i, j = start - 1; lives_freep((void **)&sfile->frame_index_back); - sfile->frame_index_back=sfile->frame_index; - sfile->frame_index=NULL; + sfile->frame_index_back = sfile->frame_index; + sfile->frame_index = NULL; - create_frame_index(sfileno,FALSE,0,nframes+frames); + create_frame_index(sfileno, FALSE, 0, nframes + frames); - for (i=0; i<where; i++) { - sfile->frame_index[i]=sfile->frame_index_back[i]; + for (i = 0; i < where; i++) { + sfile->frame_index[i] = sfile->frame_index_back[i]; } - for (i=where; i<where+frames; i++) { - if (frame_index!=NULL&&frame_index[j]!=-1) sfile->frame_index[i]=frame_index[j]; - else sfile->frame_index[i]=-1; - if (++j>=clipboard->frames) j=0; + for (i = where; i < where + frames; i++) { + if (frame_index != NULL && frame_index[j] != -1) sfile->frame_index[i] = frame_index[j]; + else sfile->frame_index[i] = -1; + if (++j >= clipboard->frames) j = 0; } - for (i=where+frames; i<nframes+frames; i++) { - sfile->frame_index[i]=sfile->frame_index_back[i-frames]; + for (i = where + frames; i < nframes + frames; i++) { + sfile->frame_index[i] = sfile->frame_index_back[i - frames]; } - sfile->frames+=frames; + sfile->frames += frames; save_frame_index(sfileno); - sfile->frames-=frames; + sfile->frames -= frames; } @@ -430,27 +430,27 @@ // this is for clip type CLIP_TYPE_FILE only register int i; - lives_clip_t *sfile=mainw->files[sfileno]; - int nframes=sfile->frames,frames=end-start+1; + lives_clip_t *sfile = mainw->files[sfileno]; + int nframes = sfile->frames, frames = end - start + 1; lives_freep((void **)&sfile->frame_index_back); - sfile->frame_index_back=sfile->frame_index; - sfile->frame_index=NULL; + sfile->frame_index_back = sfile->frame_index; + sfile->frame_index = NULL; - if (nframes-frames==0) { + if (nframes - frames == 0) { del_frame_index(sfile); return; } - create_frame_index(sfileno,FALSE,0,nframes-frames); + create_frame_index(sfileno, FALSE, 0, nframes - frames); - for (i=0; i<start-1; i++) { - sfile->frame_index[i]=sfile->frame_index_back[i]; + for (i = 0; i < start - 1; i++) { + sfile->frame_index[i] = sfile->frame_index_back[i]; } - for (i=end; i<nframes; i++) { - sfile->frame_index[i-frames]=sfile->frame_index_back[i]; + for (i = end; i < nframes; i++) { + sfile->frame_index[i - frames] = sfile->frame_index_back[i]; } save_frame_index(sfileno); } @@ -458,16 +458,16 @@ void reverse_frame_index(int sfileno) { // reverse order of (virtual) frames in clip (only used fro clipboard) - lives_clip_t *sfile=mainw->files[sfileno]; + lives_clip_t *sfile = mainw->files[sfileno]; int bck; register int i; - if (sfile==NULL||sfile->frame_index==NULL) return; + if (sfile == NULL || sfile->frame_index == NULL) return; - for (i=0; i<sfile->frames>>1; i++) { - bck=sfile->frame_index[i]; - sfile->frame_index[i]=sfile->frame_index[sfile->frames-1-i]; - sfile->frame_index[sfile->frames-1-i]=bck; + for (i = 0; i < sfile->frames >> 1; i++) { + bck = sfile->frame_index[i]; + sfile->frame_index[i] = sfile->frame_index[sfile->frames - 1 - i]; + sfile->frame_index[sfile->frames - 1 - i] = bck; } } @@ -481,19 +481,19 @@ // this is for clip type CLIP_TYPE_FILE only - lives_clip_t *sfile=mainw->files[sfileno]; + lives_clip_t *sfile = mainw->files[sfileno]; lives_freep((void **)&sfile->frame_index); - sfile->frame_index=sfile->frame_index_back; - sfile->frame_index_back=NULL; + sfile->frame_index = sfile->frame_index_back; + sfile->frame_index_back = NULL; - if (sfile->frame_index!=NULL) { - sfile->clip_type=CLIP_TYPE_FILE; + if (sfile->frame_index != NULL) { + sfile->clip_type = CLIP_TYPE_FILE; save_frame_index(sfileno); } else { del_frame_index(sfile); - sfile->clip_type=CLIP_TYPE_DISK; + sfile->clip_type = CLIP_TYPE_DISK; } } @@ -514,17 +514,17 @@ // should be threadsafe register int i; - char *iname=NULL; + char *iname = NULL; - if (sfile==NULL||sfile->frame_index==NULL) return; + if (sfile == NULL || sfile->frame_index == NULL) return; - for (i=0; i<oldframes; i++) { + for (i = 0; i < oldframes; i++) { threaded_dialog_spin(0.); lives_widget_context_update(); threaded_dialog_spin(0.); - if ((i<sfile->frames&&sfile->frame_index[i]!=-1)||i>=sfile->frames) { - iname=make_image_file_name(sfile,i,get_image_ext_for_type(sfile->img_type)); + if ((i < sfile->frames && sfile->frame_index[i] != -1) || i >= sfile->frames) { + iname = make_image_file_name(sfile, i, get_image_ext_for_type(sfile->img_type)); lives_rm(iname); } } @@ -538,10 +538,10 @@ // start at frame offset - int *findexc=(int *)lives_malloc(sizint*nframes); + int *findexc = (int *)lives_malloc(sizint * nframes); register int i; - for (i=0; i<nframes; i++) findexc[i]=findex[i+offset]; + for (i = 0; i < nframes; i++) findexc[i] = findex[i + offset]; return findexc; } @@ -555,8 +555,8 @@ // a CLIP_TYPE_FILE with no virtual frames becomes a CLIP_TYPE_DISK - lives_clip_t *sfile=mainw->files[sfileno]; - if (sfile->frame_index==NULL) return FALSE; - if (sfile->frame_index[frame-1]!=-1) return TRUE; + lives_clip_t *sfile = mainw->files[sfileno]; + if (sfile->frame_index == NULL) return FALSE; + if (sfile->frame_index[frame - 1] != -1) return TRUE; return FALSE; }
View file
LiVES-2.8.4.tar.bz2/src/dialogs.c -> LiVES-2.8.6.tar.bz2/src/dialogs.c
Changed
@@ -1,6 +1,6 @@ // dialogs.c // LiVES (lives-exe) -// (c) G. Finch 2003 - 2016 +// (c) G. Finch 2003 - 2017 // Released under the GPL 3 or later // see file ../COPYING for licensing details @@ -22,7 +22,6 @@ extern void reset_frame_and_clip_index(void); - // processing static uint64_t event_start; static double audio_start; @@ -32,49 +31,46 @@ static uint64_t last_open_check_ticks; -static uint64_t prev_ticks,last_sc_ticks,consume_ticks; +static uint64_t prev_ticks, last_sc_ticks, consume_ticks; static boolean shown_paused_frames; static boolean force_show; static double est_time; - // how often to we count frames when opening #define OPEN_CHECK_TICKS (U_SECL/10l) -static volatile boolean dlg_thread_ready=FALSE; +static volatile boolean dlg_thread_ready = FALSE; static volatile boolean display_ready; void on_warn_mask_toggled(LiVESToggleButton *togglebutton, livespointer user_data) { LiVESWidget *tbutton; - if (lives_toggle_button_get_active(togglebutton)) prefs->warning_mask|=LIVES_POINTER_TO_INT(user_data); - else prefs->warning_mask^=LIVES_POINTER_TO_INT(user_data); - set_int_pref(PREF_LIVES_WARNING_MASK,prefs->warning_mask); + if (lives_toggle_button_get_active(togglebutton)) prefs->warning_mask |= LIVES_POINTER_TO_INT(user_data); + else prefs->warning_mask ^= LIVES_POINTER_TO_INT(user_data); + set_int_pref(PREF_LIVES_WARNING_MASK, prefs->warning_mask); - if ((tbutton=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(togglebutton),"auto"))!=NULL) { + if ((tbutton = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(togglebutton), "auto")) != NULL) { // this is for the cds window - disable autoreload if we are not gonna show this window if (lives_toggle_button_get_active(togglebutton)) { - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(tbutton),FALSE); - lives_widget_set_sensitive(tbutton,FALSE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(tbutton), FALSE); + lives_widget_set_sensitive(tbutton, FALSE); } else { - lives_widget_set_sensitive(tbutton,TRUE); + lives_widget_set_sensitive(tbutton, TRUE); } } - } - static void add_xlays_widget(LiVESBox *box) { // add widget to preview affected layouts LiVESWidget *expander; - LiVESWidget *textview=lives_text_view_new(); - LiVESWidget *label,*scrolledwindow; - LiVESList *xlist=mainw->xlays; + LiVESWidget *textview = lives_text_view_new(); + LiVESWidget *label, *scrolledwindow; + LiVESList *xlist = mainw->xlays; LiVESTextBuffer *textbuffer = lives_text_view_get_buffer(LIVES_TEXT_VIEW(textview)); scrolledwindow = lives_standard_scrolled_window_new(ENC_DETAILS_WIN_H, ENC_DETAILS_WIN_V, LIVES_WIDGET(textview)); @@ -84,10 +80,10 @@ lives_widget_set_size_request(scrolledwindow, ENC_DETAILS_WIN_H, ENC_DETAILS_WIN_V); lives_widget_context_update(); - expander=lives_standard_expander_new(_("Show affeced _layouts"),FALSE,LIVES_BOX(box),scrolledwindow); + expander = lives_standard_expander_new(_("Show affeced _layouts"), FALSE, LIVES_BOX(box), scrolledwindow); - if (palette->style&STYLE_1) { - label=lives_expander_get_label_widget(LIVES_EXPANDER(expander)); + if (palette->style & STYLE_1) { + label = lives_expander_get_label_widget(LIVES_EXPANDER(expander)); lives_widget_set_fg_color(label, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); lives_widget_set_fg_color(label, LIVES_WIDGET_STATE_PRELIGHT, &palette->normal_fore); lives_widget_set_fg_color(expander, LIVES_WIDGET_STATE_PRELIGHT, &palette->normal_fore); @@ -99,27 +95,24 @@ lives_widget_set_text_color(scrolledwindow, LIVES_WIDGET_STATE_NORMAL, &palette->info_text); } - lives_text_buffer_insert_at_cursor(textbuffer,"\n",strlen("\n")); + lives_text_buffer_insert_at_cursor(textbuffer, "\n", strlen("\n")); - while (xlist!=NULL) { - lives_text_buffer_insert_at_cursor(textbuffer,(const char *)xlist->data,strlen((char *)xlist->data)); - lives_text_buffer_insert_at_cursor(textbuffer,"\n",strlen("\n")); - xlist=xlist->next; + while (xlist != NULL) { + lives_text_buffer_insert_at_cursor(textbuffer, (const char *)xlist->data, strlen((char *)xlist->data)); + lives_text_buffer_insert_at_cursor(textbuffer, "\n", strlen("\n")); + xlist = xlist->next; } - } - - void add_warn_check(LiVESBox *box, int warn_mask_number) { LiVESWidget *checkbutton; - checkbutton=lives_standard_check_button_new( - _("Do _not show this warning any more\n(can be turned back on from Preferences/Warnings)"), - TRUE,LIVES_BOX(box),NULL); + checkbutton = lives_standard_check_button_new( + _("Do _not show this warning any more\n(can be turned back on from Preferences/Warnings)"), + TRUE, LIVES_BOX(box), NULL); lives_signal_connect(LIVES_GUI_OBJECT(checkbutton), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(on_warn_mask_toggled), @@ -128,15 +121,14 @@ static void add_clear_ds_button(LiVESDialog *dialog) { - LiVESWidget *button = lives_button_new_from_stock(LIVES_STOCK_CLEAR,_("_Recover disk space")); - if (mainw->tried_ds_recover) lives_widget_set_sensitive(button,FALSE); + LiVESWidget *button = lives_button_new_from_stock(LIVES_STOCK_CLEAR, _("_Recover disk space")); + if (mainw->tried_ds_recover) lives_widget_set_sensitive(button, FALSE); lives_signal_connect(LIVES_GUI_OBJECT(button), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_cleardisk_activate), (livespointer)button); lives_dialog_add_action_widget(dialog, button, LIVES_RESPONSE_RETRY); - } @@ -145,47 +137,43 @@ LiVESWidget *button = lives_button_new_with_mnemonic(_(" _Advanced Settings >>")); LiVESWidget *hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(hbox), button, FALSE, FALSE, widget_opts.packing_width*2); + lives_box_pack_start(LIVES_BOX(hbox), button, FALSE, FALSE, widget_opts.packing_width * 2); lives_box_pack_start(box, hbox, FALSE, FALSE, widget_opts.packing_height); lives_signal_connect(LIVES_GUI_OBJECT(button), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_cleardisk_advanced_clicked), NULL); - } - - //Warning or yes/no dialog // the type of message box here is with 2 or more buttons (e.g. OK/CANCEL, YES/NO, ABORT/CANCEL/RETRY) // if a single OK button is needed, use create_info_error_dialog() in inteface.c instead - LiVESWidget *create_message_dialog(lives_dialog_t diat, const char *text, LiVESWindow *transient, int warn_mask_number, boolean is_blocking) { LiVESWidget *dialog; LiVESWidget *dialog_vbox; LiVESWidget *label; - LiVESWidget *cancelbutton=NULL; - LiVESWidget *okbutton=NULL; - LiVESWidget *abortbutton=NULL; + LiVESWidget *cancelbutton = NULL; + LiVESWidget *okbutton = NULL; + LiVESWidget *abortbutton = NULL; - LiVESAccelGroup *accel_group=NULL; + LiVESAccelGroup *accel_group = NULL; - char *textx,*form_text,*pad,*mytext; + char *textx, *form_text, *pad, *mytext; - mytext=lives_strdup(text); // because of translation issues + mytext = lives_strdup(text); // because of translation issues switch (diat) { case LIVES_DIALOG_WARN: - dialog = lives_message_dialog_new(NULL,(LiVESDialogFlags)0, - LIVES_MESSAGE_WARNING,LIVES_BUTTONS_NONE,NULL); + dialog = lives_message_dialog_new(NULL, (LiVESDialogFlags)0, + LIVES_MESSAGE_WARNING, LIVES_BUTTONS_NONE, NULL); lives_window_set_title(LIVES_WINDOW(dialog), _("Warning !")); - okbutton = lives_button_new_from_stock(LIVES_STOCK_OK,NULL); + okbutton = lives_button_new_from_stock(LIVES_STOCK_OK, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(dialog), okbutton, LIVES_RESPONSE_OK); lives_signal_connect(LIVES_GUI_OBJECT(okbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(lives_general_button_clicked), @@ -193,64 +181,63 @@ break; case LIVES_DIALOG_ERROR: - dialog = lives_message_dialog_new(NULL,(LiVESDialogFlags)0, - LIVES_MESSAGE_ERROR,LIVES_BUTTONS_NONE,NULL); + dialog = lives_message_dialog_new(NULL, (LiVESDialogFlags)0, + LIVES_MESSAGE_ERROR, LIVES_BUTTONS_NONE, NULL); lives_window_set_title(LIVES_WINDOW(dialog), _("Error !")); - okbutton = lives_button_new_from_stock(LIVES_STOCK_OK,NULL); + okbutton = lives_button_new_from_stock(LIVES_STOCK_OK, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(dialog), okbutton, LIVES_RESPONSE_OK); lives_signal_connect(LIVES_GUI_OBJECT(okbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(lives_general_button_clicked), NULL); break; case LIVES_DIALOG_INFO: - dialog = lives_message_dialog_new(NULL,(LiVESDialogFlags)0, - LIVES_MESSAGE_INFO,LIVES_BUTTONS_NONE,NULL); + dialog = lives_message_dialog_new(NULL, (LiVESDialogFlags)0, + LIVES_MESSAGE_INFO, LIVES_BUTTONS_NONE, NULL); lives_window_set_title(LIVES_WINDOW(dialog), _("Information")); - okbutton = lives_button_new_from_stock(LIVES_STOCK_OK,NULL); + okbutton = lives_button_new_from_stock(LIVES_STOCK_OK, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(dialog), okbutton, LIVES_RESPONSE_OK); lives_signal_connect(LIVES_GUI_OBJECT(okbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(lives_general_button_clicked), NULL); break; - case LIVES_DIALOG_WARN_WITH_CANCEL: - dialog = lives_message_dialog_new(transient,(LiVESDialogFlags)0,LIVES_MESSAGE_WARNING,LIVES_BUTTONS_NONE,NULL); + dialog = lives_message_dialog_new(transient, (LiVESDialogFlags)0, LIVES_MESSAGE_WARNING, LIVES_BUTTONS_NONE, NULL); if (mainw->add_clear_ds_button) { - mainw->add_clear_ds_button=FALSE; + mainw->add_clear_ds_button = FALSE; add_clear_ds_button(LIVES_DIALOG(dialog)); } lives_window_set_title(LIVES_WINDOW(dialog), _("Warning !")); - cancelbutton = lives_button_new_from_stock(LIVES_STOCK_LABEL_CANCEL,NULL); + cancelbutton = lives_button_new_from_stock(LIVES_STOCK_LABEL_CANCEL, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(dialog), cancelbutton, LIVES_RESPONSE_CANCEL); - okbutton = lives_button_new_from_stock(LIVES_STOCK_LABEL_OK,NULL); + okbutton = lives_button_new_from_stock(LIVES_STOCK_LABEL_OK, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(dialog), okbutton, LIVES_RESPONSE_OK); break; case LIVES_DIALOG_YESNO: - dialog = lives_message_dialog_new(transient,(LiVESDialogFlags)0,LIVES_MESSAGE_QUESTION,LIVES_BUTTONS_NONE,NULL); + dialog = lives_message_dialog_new(transient, (LiVESDialogFlags)0, LIVES_MESSAGE_QUESTION, LIVES_BUTTONS_NONE, NULL); lives_window_set_title(LIVES_WINDOW(dialog), _("Question")); - cancelbutton = lives_button_new_from_stock(LIVES_STOCK_NO,NULL); + cancelbutton = lives_button_new_from_stock(LIVES_STOCK_NO, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(dialog), cancelbutton, LIVES_RESPONSE_NO); - okbutton = lives_button_new_from_stock(LIVES_STOCK_YES,NULL); + okbutton = lives_button_new_from_stock(LIVES_STOCK_YES, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(dialog), okbutton, LIVES_RESPONSE_YES); break; case LIVES_DIALOG_QUESTION: - dialog = lives_message_dialog_new(transient,(LiVESDialogFlags)0,LIVES_MESSAGE_QUESTION,LIVES_BUTTONS_NONE,NULL); + dialog = lives_message_dialog_new(transient, (LiVESDialogFlags)0, LIVES_MESSAGE_QUESTION, LIVES_BUTTONS_NONE, NULL); // caller will set title and buttons break; case LIVES_DIALOG_ABORT_CANCEL_RETRY: - dialog = lives_message_dialog_new(transient,(LiVESDialogFlags)0,LIVES_MESSAGE_ERROR,LIVES_BUTTONS_NONE,NULL); + dialog = lives_message_dialog_new(transient, (LiVESDialogFlags)0, LIVES_MESSAGE_ERROR, LIVES_BUTTONS_NONE, NULL); lives_window_set_title(LIVES_WINDOW(dialog), _("File Error")); - abortbutton = lives_button_new_from_stock(LIVES_STOCK_QUIT,_("_Abort")); + abortbutton = lives_button_new_from_stock(LIVES_STOCK_QUIT, _("_Abort")); lives_dialog_add_action_widget(LIVES_DIALOG(dialog), abortbutton, LIVES_RESPONSE_ABORT); - cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL,NULL); + cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(dialog), cancelbutton, LIVES_RESPONSE_CANCEL); - okbutton = lives_button_new_from_stock(LIVES_STOCK_REFRESH,_("_Retry")); + okbutton = lives_button_new_from_stock(LIVES_STOCK_REFRESH, _("_Retry")); lives_dialog_add_action_widget(LIVES_DIALOG(dialog), okbutton, LIVES_RESPONSE_RETRY); break; @@ -261,9 +248,8 @@ lives_window_set_default_size(LIVES_WINDOW(dialog), MIN_MSGBOX_WIDTH, -1); - - if (widget_opts.apply_theme&&(palette->style&STYLE_1)) { - lives_dialog_set_has_separator(LIVES_DIALOG(dialog),FALSE); + if (widget_opts.apply_theme && (palette->style & STYLE_1)) { + lives_dialog_set_has_separator(LIVES_DIALOG(dialog), FALSE); lives_widget_set_bg_color(dialog, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); } @@ -273,48 +259,48 @@ if (widget_opts.apply_theme) { funkify_dialog(dialog); } else { - lives_container_set_border_width(LIVES_CONTAINER(dialog), widget_opts.border_width*2); + lives_container_set_border_width(LIVES_CONTAINER(dialog), widget_opts.border_width * 2); } - textx=insert_newlines(mytext,MAX_MSG_WIDTH_CHARS); + textx = insert_newlines(mytext, MAX_MSG_WIDTH_CHARS); lives_free(mytext); - pad=lives_strdup(""); + pad = lives_strdup(""); if (strlen(textx) < MIN_MSG_WIDTH_CHARS) { lives_free(pad); - pad=lives_strndup(" ",(MIN_MSG_WIDTH_CHARS-strlen(textx))/2); + pad = lives_strndup(" ", (MIN_MSG_WIDTH_CHARS - strlen(textx)) / 2); } - form_text=lives_strdup_printf("\n%s%s%s\n",pad,textx,pad); + form_text = lives_strdup_printf("\n%s%s%s\n", pad, textx, pad); - widget_opts.justify=LIVES_JUSTIFY_CENTER; - label=lives_standard_label_new(form_text); - widget_opts.justify=LIVES_JUSTIFY_DEFAULT; + widget_opts.justify = LIVES_JUSTIFY_CENTER; + label = lives_standard_label_new(form_text); + widget_opts.justify = LIVES_JUSTIFY_DEFAULT; lives_free(form_text); lives_free(textx); lives_free(pad); dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(dialog)); - lives_container_set_border_width(LIVES_CONTAINER(dialog_vbox), widget_opts.border_width*2); + lives_container_set_border_width(LIVES_CONTAINER(dialog_vbox), widget_opts.border_width * 2); lives_box_pack_start(LIVES_BOX(dialog_vbox), label, TRUE, TRUE, 0); lives_label_set_selectable(LIVES_LABEL(label), TRUE); if (mainw->add_clear_ds_adv) { - mainw->add_clear_ds_adv=FALSE; + mainw->add_clear_ds_adv = FALSE; add_clear_ds_adv(LIVES_BOX(dialog_vbox)); } - if (warn_mask_number>0) { - add_warn_check(LIVES_BOX(dialog_vbox),warn_mask_number); + if (warn_mask_number > 0) { + add_warn_check(LIVES_BOX(dialog_vbox), warn_mask_number); } - if (mainw->xlays!=NULL) { + if (mainw->xlays != NULL) { add_xlays_widget(LIVES_BOX(dialog_vbox)); } - if (mainw->iochan!=NULL) { + if (mainw->iochan != NULL) { LiVESWidget *details_button = lives_button_new_with_mnemonic(_("Show _Details")); lives_dialog_add_action_widget(LIVES_DIALOG(dialog), details_button, LIVES_RESPONSE_SHOW_DETAILS); @@ -323,23 +309,23 @@ NULL); } - if (okbutton!=NULL||cancelbutton!=NULL) { - accel_group=LIVES_ACCEL_GROUP(lives_accel_group_new()); + if (okbutton != NULL || cancelbutton != NULL) { + accel_group = LIVES_ACCEL_GROUP(lives_accel_group_new()); lives_window_add_accel_group(LIVES_WINDOW(dialog), accel_group); } - if (cancelbutton!=NULL) { - lives_widget_set_can_focus(cancelbutton,TRUE); + if (cancelbutton != NULL) { + lives_widget_set_can_focus(cancelbutton, TRUE); lives_widget_add_accelerator(cancelbutton, LIVES_WIDGET_CLICKED_SIGNAL, accel_group, LIVES_KEY_Escape, (LiVESXModifierType)0, (LiVESAccelFlags)0); } - if (okbutton!=NULL) { + if (okbutton != NULL) { lives_widget_add_accelerator(okbutton, LIVES_WIDGET_CLICKED_SIGNAL, accel_group, LIVES_KEY_Return, (LiVESXModifierType)0, (LiVESAccelFlags)0); } - if (mainw->iochan==NULL&&okbutton!=NULL) { + if (mainw->iochan == NULL && okbutton != NULL) { lives_widget_set_can_focus_and_default(okbutton); lives_widget_grab_default(okbutton); lives_widget_grab_focus(okbutton); @@ -357,13 +343,15 @@ lives_xwindow_raise(lives_widget_get_xwindow(dialog)); } + if (transient == NULL) lives_window_set_keep_above(LIVES_WINDOW(dialog), TRUE); + return dialog; } LIVES_INLINE LiVESWidget *create_question_dialog(const char *title, const char *text, LiVESWindow *parent) { - LiVESWidget *dialog=create_message_dialog(LIVES_DIALOG_QUESTION,text,parent,0,TRUE); - lives_window_set_title(LIVES_WINDOW(dialog),title); + LiVESWidget *dialog = create_message_dialog(LIVES_DIALOG_QUESTION, text, parent, 0, TRUE); + lives_window_set_title(LIVES_WINDOW(dialog), title); return dialog; } @@ -375,241 +363,189 @@ boolean do_warning_dialog_with_check(const char *text, int warn_mask_number) { if (!prefs->show_gui) { - return do_warning_dialog_with_check_transient(text,warn_mask_number,NULL); + return do_warning_dialog_with_check_transient(text, warn_mask_number, NULL); } else { - if (mainw->multitrack==NULL) { - return do_warning_dialog_with_check_transient(text,warn_mask_number,LIVES_WINDOW(mainw->LiVES)); - } - return do_warning_dialog_with_check_transient(text,warn_mask_number,LIVES_WINDOW(mainw->multitrack->window)); + return do_warning_dialog_with_check_transient(text, warn_mask_number, LIVES_WINDOW(LIVES_MAIN_WINDOW_WIDGET)); } } boolean do_yesno_dialog_with_check(const char *text, int warn_mask_number) { if (!prefs->show_gui) { - return do_yesno_dialog_with_check_transient(text,warn_mask_number,NULL); + return do_yesno_dialog_with_check_transient(text, warn_mask_number, NULL); } else { - if (mainw->multitrack==NULL) { - return do_yesno_dialog_with_check_transient(text,warn_mask_number,LIVES_WINDOW(mainw->LiVES)); - } - return do_yesno_dialog_with_check_transient(text,warn_mask_number,LIVES_WINDOW(mainw->multitrack->window)); + return do_yesno_dialog_with_check_transient(text, warn_mask_number, LIVES_WINDOW(LIVES_MAIN_WINDOW_WIDGET)); } } - boolean do_warning_dialog_with_check_transient(const char *text, int warn_mask_number, LiVESWindow *transient) { // show OK/CANCEL, returns FALSE if cancelled LiVESWidget *warning; - int response=1; + int response = 1; char *mytext; - if (prefs->warning_mask&warn_mask_number) { + if (prefs->warning_mask & warn_mask_number) { return TRUE; } - mytext=lives_strdup(text); // must copy this because of translation issues + mytext = lives_strdup(text); // must copy this because of translation issues do { - warning=create_message_dialog(LIVES_DIALOG_WARN_WITH_CANCEL,mytext,transient,warn_mask_number,TRUE); - response=lives_dialog_run(LIVES_DIALOG(warning)); + warning = create_message_dialog(LIVES_DIALOG_WARN_WITH_CANCEL, mytext, lives_widget_is_visible(LIVES_WIDGET(transient)) ? transient : NULL, + warn_mask_number, TRUE); + response = lives_dialog_run(LIVES_DIALOG(warning)); lives_widget_destroy(warning); - } while (response==LIVES_RESPONSE_RETRY); + } while (response == LIVES_RESPONSE_RETRY); lives_widget_context_update(); lives_freep((void **)&mytext); - return (response==LIVES_RESPONSE_OK); + return (response == LIVES_RESPONSE_OK); } - boolean do_yesno_dialog_with_check_transient(const char *text, int warn_mask_number, LiVESWindow *transient) { // show YES/NO, returns TRUE for YES LiVESWidget *warning; - int response=1; + int response = 1; char *mytext; - if (prefs->warning_mask&warn_mask_number) { + if (prefs->warning_mask & warn_mask_number) { return TRUE; } - mytext=lives_strdup(text); // must copy this because of translation issues + mytext = lives_strdup(text); // must copy this because of translation issues do { - warning=create_message_dialog(LIVES_DIALOG_YESNO,mytext,transient,warn_mask_number,TRUE); - response=lives_dialog_run(LIVES_DIALOG(warning)); + warning = create_message_dialog(LIVES_DIALOG_YESNO, mytext, transient, warn_mask_number, TRUE); + response = lives_dialog_run(LIVES_DIALOG(warning)); lives_widget_destroy(warning); - } while (response==LIVES_RESPONSE_RETRY); + } while (response == LIVES_RESPONSE_RETRY); lives_widget_context_update(); lives_freep((void **)&mytext); - return (response==LIVES_RESPONSE_YES); + return (response == LIVES_RESPONSE_YES); +} + + +LiVESWindow *get_transient_full() { + LiVESWindow *transient = NULL; + if (prefs->show_gui) { + if (prefsw != NULL && prefsw->prefs_dialog != NULL) transient = LIVES_WINDOW(prefsw->prefs_dialog); + else { + if (mainw->multitrack == NULL && mainw->is_ready) transient = LIVES_WINDOW(mainw->LiVES); + else if (mainw->multitrack != NULL && mainw->multitrack->is_ready) transient = LIVES_WINDOW(mainw->multitrack->window); + } + } + return transient; } boolean do_yesno_dialog(const char *text) { // show Yes/No, returns TRUE if Yes LiVESWidget *warning; + LiVESWindow *transient = get_transient_full(); int response; - LiVESWindow *transient=NULL; - if (prefs->show_gui) { - if (mainw->multitrack==NULL&&mainw->is_ready) transient=LIVES_WINDOW(mainw->LiVES); - else if (mainw->multitrack!=NULL&&mainw->multitrack->is_ready) transient=LIVES_WINDOW(mainw->multitrack->window); - } - - warning=create_message_dialog(LIVES_DIALOG_YESNO,text,transient,0,TRUE); + warning = create_message_dialog(LIVES_DIALOG_YESNO, text, transient, 0, TRUE); - response=lives_dialog_run(LIVES_DIALOG(warning)); + response = lives_dialog_run(LIVES_DIALOG(warning)); lives_widget_destroy(warning); lives_widget_context_update(); - return (response==LIVES_RESPONSE_YES); + return (response == LIVES_RESPONSE_YES); } - // returns LIVES_RESPONSE_CANCEL or LIVES_RESPONSE_RETRY int do_abort_cancel_retry_dialog(const char *text, LiVESWindow *transient) { int response; char *mytext; LiVESWidget *warning; - if (!prefs->show_gui) { - transient=NULL; - } else { - if (transient==NULL) { - if (mainw->multitrack==NULL&&mainw->is_ready) transient=LIVES_WINDOW(mainw->LiVES); - else if (mainw->multitrack!=NULL&&mainw->multitrack->is_ready) transient=LIVES_WINDOW(mainw->multitrack->window); - } - } + mytext = lives_strdup(text); // translation issues - mytext=lives_strdup(text); // translation issues + if (transient == NULL) transient = get_transient_full(); do { - warning=create_message_dialog(LIVES_DIALOG_ABORT_CANCEL_RETRY,mytext,transient,0,TRUE); + warning = create_message_dialog(LIVES_DIALOG_ABORT_CANCEL_RETRY, mytext, transient, 0, TRUE); - response=lives_dialog_run(LIVES_DIALOG(warning)); + response = lives_dialog_run(LIVES_DIALOG(warning)); lives_widget_destroy(warning); lives_widget_context_update(); - if (response==LIVES_RESPONSE_ABORT) { + if (response == LIVES_RESPONSE_ABORT) { if (do_abort_check()) { - if (mainw->current_file>-1) { - if (cfile->handle!=NULL) { + if (mainw->current_file > -1) { + if (cfile->handle != NULL) { // stop any processing - lives_kill_subprocesses(cfile->handle,TRUE); + lives_kill_subprocesses(cfile->handle, TRUE); } } exit(1); } } - } while (response==LIVES_RESPONSE_ABORT); + } while (response == LIVES_RESPONSE_ABORT); lives_freep((void **)&mytext); return response; } - - - int do_error_dialog(const char *text) { - int ret; - // show error box - if (!prefs->show_gui) { - ret=do_error_dialog_with_check_transient(text,FALSE,0,NULL); - } else { - if (prefsw!=NULL&&prefsw->prefs_dialog!=NULL) ret=do_error_dialog_with_check_transient(text,FALSE,0, - LIVES_WINDOW(prefsw->prefs_dialog)); - else { - if (mainw->multitrack==NULL) ret=do_error_dialog_with_check_transient(text,FALSE,0,LIVES_WINDOW(mainw->LiVES)); - else ret=do_error_dialog_with_check_transient(text,FALSE,0,LIVES_WINDOW(mainw->multitrack->window)); - } - } - return ret; + LiVESWindow *transient = get_transient_full(); + return do_error_dialog_with_check_transient(text, FALSE, 0, transient); } int do_info_dialog(const char *text) { // show info box - int ret; - - if (!prefs->show_gui) { - ret=do_info_dialog_with_transient(text,FALSE,NULL); - } else { - if (prefsw!=NULL&&prefsw->prefs_dialog!=NULL) ret=do_info_dialog_with_transient(text,FALSE, - LIVES_WINDOW(prefsw->prefs_dialog)); - else { - if (mainw->multitrack==NULL) ret=do_info_dialog_with_transient(text,FALSE,LIVES_WINDOW(mainw->LiVES)); - else ret=do_info_dialog_with_transient(text,FALSE,LIVES_WINDOW(mainw->multitrack->window)); - } - } - return ret; + LiVESWindow *transient = get_transient_full(); + return do_info_dialog_with_transient(text, FALSE, transient); } int do_error_dialog_with_check(const char *text, int warn_mask_number) { // show warning box - int ret; - - if (!prefs->show_gui) { - ret=do_error_dialog_with_check_transient(text,FALSE,warn_mask_number,NULL); - } else { - if (mainw->multitrack==NULL) ret=do_error_dialog_with_check_transient(text,FALSE,warn_mask_number,LIVES_WINDOW(mainw->LiVES)); - else ret=do_error_dialog_with_check_transient(text,FALSE,warn_mask_number,LIVES_WINDOW(mainw->multitrack->window)); - } - return ret; + LiVESWindow *transient = get_transient_full(); + return do_error_dialog_with_check_transient(text, FALSE, warn_mask_number, transient); } + int do_blocking_error_dialog(const char *text) { // show error box - blocks until OK is pressed - int ret; - - if (!prefs->show_gui) { - ret=do_error_dialog_with_check_transient(text,TRUE,0,NULL); - } else { - if (mainw->multitrack==NULL) ret=do_error_dialog_with_check_transient(text,TRUE,0,LIVES_WINDOW(mainw->LiVES)); - else ret=do_error_dialog_with_check_transient(text,TRUE,0,LIVES_WINDOW(mainw->multitrack->window)); - } - return ret; + LiVESWindow *transient = get_transient_full(); + return do_error_dialog_with_check_transient(text, TRUE, 0, transient); } int do_blocking_info_dialog(const char *text) { // show info box - blocks until OK is pressed - int ret; - - if (!prefs->show_gui) { - ret=do_info_dialog_with_transient(text,TRUE,NULL); - } else { - if (mainw->multitrack==NULL) ret=do_info_dialog_with_transient(text,TRUE,LIVES_WINDOW(mainw->LiVES)); - else ret=do_info_dialog_with_transient(text,TRUE,LIVES_WINDOW(mainw->multitrack->window)); - } - return ret; + LiVESWindow *transient = get_transient_full(); + return do_info_dialog_with_transient(text, TRUE, transient); } - int do_error_dialog_with_check_transient(const char *text, boolean is_blocking, int warn_mask_number, LiVESWindow *transient) { // show error box LiVESWidget *err_box; - int ret=LIVES_RESPONSE_NONE; + int ret = LIVES_RESPONSE_NONE; - if (prefs->warning_mask&warn_mask_number) return ret; - err_box=create_info_error_dialog(warn_mask_number==0?LIVES_DIALOG_ERROR:LIVES_DIALOG_WARN,text,transient,warn_mask_number,is_blocking); + if (prefs->warning_mask & warn_mask_number) return ret; + err_box = create_info_error_dialog(warn_mask_number == 0 ? LIVES_DIALOG_ERROR : LIVES_DIALOG_WARN, text, transient, warn_mask_number, + is_blocking); if (is_blocking) { - ret=lives_dialog_run(LIVES_DIALOG(err_box)); - if (mainw!=NULL&&mainw->is_ready&&transient!=NULL) { + ret = lives_dialog_run(LIVES_DIALOG(err_box)); + if (mainw != NULL && mainw->is_ready && transient != NULL) { lives_widget_queue_draw(LIVES_WIDGET(transient)); } } @@ -618,19 +554,18 @@ } - int do_info_dialog_with_transient(const char *text, boolean is_blocking, LiVESWindow *transient) { // info box LiVESWidget *info_box; - int ret=LIVES_RESPONSE_NONE; + int ret = LIVES_RESPONSE_NONE; - info_box=create_info_error_dialog(LIVES_DIALOG_INFO,text,transient,0,is_blocking); + info_box = create_info_error_dialog(LIVES_DIALOG_INFO, text, transient, 0, is_blocking); if (is_blocking) { - ret=lives_dialog_run(LIVES_DIALOG(info_box)); - if (mainw!=NULL&&mainw->is_ready&&transient!=NULL) { + ret = lives_dialog_run(LIVES_DIALOG(info_box)); + if (mainw != NULL && mainw->is_ready && transient != NULL) { lives_widget_queue_draw(LIVES_WIDGET(transient)); } } @@ -639,18 +574,17 @@ } - char *ds_critical_msg(const char *dir, uint64_t dsval) { char *msg; char *msgx; char *tmp; - char *dscr=lives_format_storage_space_string(prefs->ds_crit_level); ///< crit level - char *dscu=lives_format_storage_space_string(dsval); ///< current level - msg=lives_strdup_printf( - _("FREE SPACE IN THE PARTITION CONTAINING\n%s\nHAS FALLEN BELOW THE CRITICAL LEVEL OF %s\n" - "CURRENT FREE SPACE IS %s\n\n(Disk warning levels can be configured in Preferences.)"), - (tmp=lives_filename_to_utf8(dir,-1,NULL,NULL,NULL)),dscr,dscu); - msgx=insert_newlines(msg,MAX_MSG_WIDTH_CHARS); + char *dscr = lives_format_storage_space_string(prefs->ds_crit_level); ///< crit level + char *dscu = lives_format_storage_space_string(dsval); ///< current level + msg = lives_strdup_printf( + _("FREE SPACE IN THE PARTITION CONTAINING\n%s\nHAS FALLEN BELOW THE CRITICAL LEVEL OF %s\n" + "CURRENT FREE SPACE IS %s\n\n(Disk warning levels can be configured in Preferences.)"), + (tmp = lives_filename_to_utf8(dir, -1, NULL, NULL, NULL)), dscr, dscu); + msgx = insert_newlines(msg, MAX_MSG_WIDTH_CHARS); lives_free(msg); lives_free(tmp); lives_free(dscr); @@ -658,19 +592,18 @@ return msgx; } - char *ds_warning_msg(const char *dir, uint64_t dsval, uint64_t cwarn, uint64_t nwarn) { char *msg; char *msgx; char *tmp; - char *dscw=lives_format_storage_space_string(cwarn); ///< warn level - char *dscu=lives_format_storage_space_string(dsval); ///< current level - char *dscn=lives_format_storage_space_string(nwarn); ///< next warn level - msg=lives_strdup_printf( - _("Free space in the partition containing\n%s\nhas fallen below the warning level of %s\nCurrent free space is %s\n\n" - "(Next warning will be shown at %s. Disk warning levels can be configured in Preferences.)"), - (tmp=lives_filename_to_utf8(dir,-1,NULL,NULL,NULL)),dscw,dscu,dscn); - msgx=insert_newlines(msg,MAX_MSG_WIDTH_CHARS); + char *dscw = lives_format_storage_space_string(cwarn); ///< warn level + char *dscu = lives_format_storage_space_string(dsval); ///< current level + char *dscn = lives_format_storage_space_string(nwarn); ///< next warn level + msg = lives_strdup_printf( + _("Free space in the partition containing\n%s\nhas fallen below the warning level of %s\nCurrent free space is %s\n\n" + "(Next warning will be shown at %s. Disk warning levels can be configured in Preferences.)"), + (tmp = lives_filename_to_utf8(dir, -1, NULL, NULL, NULL)), dscw, dscu, dscn); + msgx = insert_newlines(msg, MAX_MSG_WIDTH_CHARS); lives_free(msg); lives_free(dscw); lives_free(dscu); @@ -681,7 +614,7 @@ void do_aud_during_play_error(void) { do_error_dialog_with_check_transient(_("Audio players cannot be switched during playback."), - TRUE,0,LIVES_WINDOW(prefsw->prefs_dialog)); + TRUE, 0, LIVES_WINDOW(prefsw->prefs_dialog)); } void do_memory_error_dialog(void) { @@ -690,102 +623,98 @@ } - void handle_backend_errors(void) { // handle error conditions returned from the back end int i; - int pxstart=1; + int pxstart = 1; char **array; char *addinfo; int numtok; if (mainw->cancelled) return; // if the user/system cancelled we can expect errors ! - numtok=get_token_count(mainw->msg,'|'); + numtok = get_token_count(mainw->msg, '|'); - array=lives_strsplit(mainw->msg,"|",numtok); + array = lives_strsplit(mainw->msg, "|", numtok); - if (numtok>2 && !strcmp(array[1],"read")) { + if (numtok > 2 && !strcmp(array[1], "read")) { // got read error from backend - if (numtok>3&&strlen(array[3])) addinfo=array[3]; - else addinfo=NULL; - if (mainw->current_file==-1 || cfile==NULL || !cfile->no_proc_read_errors) - do_read_failed_error_s(array[2],addinfo); - pxstart=3; - mainw->read_failed=TRUE; - mainw->read_failed_file=lives_strdup(array[2]); - mainw->cancelled=CANCEL_ERROR; + if (numtok > 3 && strlen(array[3])) addinfo = array[3]; + else addinfo = NULL; + if (mainw->current_file == -1 || cfile == NULL || !cfile->no_proc_read_errors) + do_read_failed_error_s(array[2], addinfo); + pxstart = 3; + mainw->read_failed = TRUE; + mainw->read_failed_file = lives_strdup(array[2]); + mainw->cancelled = CANCEL_ERROR; } - else if (numtok>2 && !strcmp(array[1],"write")) { + else if (numtok > 2 && !strcmp(array[1], "write")) { // got write error from backend - if (numtok>3&&strlen(array[3])) addinfo=array[3]; - else addinfo=NULL; - if (mainw->current_file==-1 || cfile==NULL || !cfile->no_proc_write_errors) - do_write_failed_error_s(array[2],addinfo); - pxstart=3; - mainw->write_failed=TRUE; - mainw->write_failed_file=lives_strdup(array[2]); - mainw->cancelled=CANCEL_ERROR; + if (numtok > 3 && strlen(array[3])) addinfo = array[3]; + else addinfo = NULL; + if (mainw->current_file == -1 || cfile == NULL || !cfile->no_proc_write_errors) + do_write_failed_error_s(array[2], addinfo); + pxstart = 3; + mainw->write_failed = TRUE; + mainw->write_failed_file = lives_strdup(array[2]); + mainw->cancelled = CANCEL_ERROR; } - - else if (numtok>3 && !strcmp(array[1],"system")) { + else if (numtok > 3 && !strcmp(array[1], "system")) { // got (sub) system error from backend - if (numtok>4&&strlen(array[4])) addinfo=array[4]; - else addinfo=NULL; - if (mainw->current_file==-1 || cfile==NULL || !cfile->no_proc_sys_errors) - do_system_failed_error(array[2],atoi(array[3]),addinfo); - pxstart=3; - mainw->cancelled=CANCEL_ERROR; + if (numtok > 4 && strlen(array[4])) addinfo = array[4]; + else addinfo = NULL; + if (mainw->current_file == -1 || cfile == NULL || !cfile->no_proc_sys_errors) + do_system_failed_error(array[2], atoi(array[3]), addinfo); + pxstart = 3; + mainw->cancelled = CANCEL_ERROR; } // for other types of errors...more info.... // set mainw->error but not mainw->cancelled - lives_snprintf(mainw->msg,512,"\n\n"); - for (i=pxstart; i<numtok; i++) { - lives_strappend(mainw->msg,512,_(array[i])); - lives_strappend(mainw->msg,512,"\n"); + lives_snprintf(mainw->msg, 512, "\n\n"); + for (i = pxstart; i < numtok; i++) { + lives_strappend(mainw->msg, 512, _(array[i])); + lives_strappend(mainw->msg, 512, "\n"); } lives_strfreev(array); - mainw->error=TRUE; - + mainw->error = TRUE; } - boolean check_backend_return(lives_clip_t *sfile) { // check return code after synchronous (foreground) backend commands FILE *infofile; - (infofile=fopen(sfile->info_file,"r")); + (infofile = fopen(sfile->info_file, "r")); if (!infofile) return FALSE; - mainw->read_failed=FALSE; - lives_fgets(mainw->msg,512,infofile); + mainw->read_failed = FALSE; + lives_fgets(mainw->msg, 512, infofile); fclose(infofile); - if (!strncmp(mainw->msg,"error",5)) handle_backend_errors(); + if (!strncmp(mainw->msg, "error", 5)) handle_backend_errors(); return TRUE; } void pump_io_chan(LiVESIOChannel *iochan) { // pump data from stdout to textbuffer - char *str_return=NULL; - size_t retlen=0; + char *str_return = NULL; + size_t retlen = 0; size_t plen; - LiVESTextBuffer *optextbuf=lives_text_view_get_buffer(mainw->optextview); + LiVESTextBuffer *optextbuf = lives_text_view_get_buffer(mainw->optextview); #ifdef GUI_GTK - LiVESError *gerr=NULL; + LiVESError *gerr = NULL; if (!iochan->is_readable) return; - g_io_channel_read_to_end(iochan,&str_return,&retlen,&gerr); - if (gerr!=NULL) lives_error_free(gerr); + g_io_channel_read_to_end(iochan, &str_return, &retlen, &gerr); + if (gerr != NULL) lives_error_free(gerr); #endif #ifdef GUI_QT @@ -795,36 +724,36 @@ #endif // check each line of str_return, if it contains ptext, (whitespace), then number get the number and set percentage - if (retlen>0&&cfile->proc_ptr!=NULL) { + if (retlen > 0 && cfile->proc_ptr != NULL) { double max; - LiVESAdjustment *adj=lives_scrolled_window_get_vadjustment(LIVES_SCROLLED_WINDOW(((xprocess *)(cfile->proc_ptr))->scrolledwindow)); - lives_text_buffer_insert_at_end(optextbuf,str_return); - max=gtk_adjustment_get_upper(adj); - lives_adjustment_set_value(adj,max); - - if ((plen=strlen(prefs->encoder.ptext))>0) { - boolean linebrk=FALSE; - char *cptr=str_return; - int ispct=0; + LiVESAdjustment *adj = lives_scrolled_window_get_vadjustment(LIVES_SCROLLED_WINDOW(((xprocess *)(cfile->proc_ptr))->scrolledwindow)); + lives_text_buffer_insert_at_end(optextbuf, str_return); + max = gtk_adjustment_get_upper(adj); + lives_adjustment_set_value(adj, max); + + if ((plen = strlen(prefs->encoder.ptext)) > 0) { + boolean linebrk = FALSE; + char *cptr = str_return; + int ispct = 0; - if (prefs->encoder.ptext[0]=='%') { - ispct=1; + if (prefs->encoder.ptext[0] == '%') { + ispct = 1; plen--; } - while (cptr<(str_return+retlen-plen)) { - if (!strncmp(cptr,prefs->encoder.ptext+ispct,plen)) { - cptr+=plen; - while (*cptr==' '||*cptr=='\n') { - if (*cptr=='\n') { - linebrk=TRUE; + while (cptr < (str_return + retlen - plen)) { + if (!strncmp(cptr, prefs->encoder.ptext + ispct, plen)) { + cptr += plen; + while (*cptr == ' ' || *cptr == '\n') { + if (*cptr == '\n') { + linebrk = TRUE; break; } cptr++; } if (!linebrk) { - if (ispct) cfile->proc_ptr->frames_done=(int)(strtod(cptr,NULL)*(cfile->progress_end-cfile->progress_start+1.)/100.); - else cfile->proc_ptr->frames_done=atoi(cptr); + if (ispct) cfile->proc_ptr->frames_done = (int)(strtod(cptr, NULL) * (cfile->progress_end - cfile->progress_start + 1.) / 100.); + else cfile->proc_ptr->frames_done = atoi(cptr); } break; } @@ -835,7 +764,6 @@ } lives_freep((void **)&str_return); - } @@ -844,133 +772,132 @@ uint64_t dsval; int retval; - boolean did_pause=FALSE; + boolean did_pause = FALSE; lives_storage_status_t ds; - char *msg,*tmp; - char *pausstr=lives_strdup(_("Processing has been paused.")); + char *msg, *tmp; + char *pausstr = lives_strdup(_("Processing has been paused.")); do { - ds=get_storage_status(prefs->workdir,mainw->next_ds_warn_level,&dsval); - if (ds==LIVES_STORAGE_STATUS_WARNING) { - uint64_t curr_ds_warn=mainw->next_ds_warn_level; - mainw->next_ds_warn_level>>=1; - if (mainw->next_ds_warn_level>(dsval>>1)) mainw->next_ds_warn_level=dsval>>1; - if (mainw->next_ds_warn_level<prefs->ds_crit_level) mainw->next_ds_warn_level=prefs->ds_crit_level; - if (is_processing&&sfile!=NULL&&sfile->proc_ptr!=NULL&&!mainw->effects_paused&& + ds = get_storage_status(prefs->workdir, mainw->next_ds_warn_level, &dsval); + if (ds == LIVES_STORAGE_STATUS_WARNING) { + uint64_t curr_ds_warn = mainw->next_ds_warn_level; + mainw->next_ds_warn_level >>= 1; + if (mainw->next_ds_warn_level > (dsval >> 1)) mainw->next_ds_warn_level = dsval >> 1; + if (mainw->next_ds_warn_level < prefs->ds_crit_level) mainw->next_ds_warn_level = prefs->ds_crit_level; + if (is_processing && sfile != NULL && sfile->proc_ptr != NULL && !mainw->effects_paused && lives_widget_is_visible(sfile->proc_ptr->pause_button)) { - on_effects_paused(LIVES_BUTTON(sfile->proc_ptr->pause_button),NULL); - did_pause=TRUE; + on_effects_paused(LIVES_BUTTON(sfile->proc_ptr->pause_button), NULL); + did_pause = TRUE; } - tmp=ds_warning_msg(prefs->workdir,dsval,curr_ds_warn,mainw->next_ds_warn_level); + tmp = ds_warning_msg(prefs->workdir, dsval, curr_ds_warn, mainw->next_ds_warn_level); if (!did_pause) - msg=lives_strdup_printf("\n%s\n",tmp); + msg = lives_strdup_printf("\n%s\n", tmp); else - msg=lives_strdup_printf("\n%s\n%s\n",tmp,pausstr); + msg = lives_strdup_printf("\n%s\n%s\n", tmp, pausstr); lives_free(tmp); - mainw->add_clear_ds_button=TRUE; // gets reset by do_warning_dialog() + mainw->add_clear_ds_button = TRUE; // gets reset by do_warning_dialog() if (!do_warning_dialog(msg)) { lives_free(msg); lives_free(pausstr); - mainw->cancelled=CANCEL_USER; + mainw->cancelled = CANCEL_USER; if (is_processing) { - sfile->nokeep=TRUE; - on_cancel_keep_button_clicked(NULL,NULL); // press the cancel button + sfile->nokeep = TRUE; + on_cancel_keep_button_clicked(NULL, NULL); // press the cancel button } return FALSE; } lives_free(msg); - } else if (ds==LIVES_STORAGE_STATUS_CRITICAL) { - if (is_processing&&sfile!=NULL&&sfile->proc_ptr!=NULL&&!mainw->effects_paused&& + } else if (ds == LIVES_STORAGE_STATUS_CRITICAL) { + if (is_processing && sfile != NULL && sfile->proc_ptr != NULL && !mainw->effects_paused && lives_widget_is_visible(sfile->proc_ptr->pause_button)) { - on_effects_paused(LIVES_BUTTON(sfile->proc_ptr->pause_button),NULL); - did_pause=TRUE; + on_effects_paused(LIVES_BUTTON(sfile->proc_ptr->pause_button), NULL); + did_pause = TRUE; } - tmp=ds_critical_msg(prefs->workdir,dsval); + tmp = ds_critical_msg(prefs->workdir, dsval); if (!did_pause) - msg=lives_strdup_printf("\n%s\n",tmp); + msg = lives_strdup_printf("\n%s\n", tmp); else - msg=lives_strdup_printf("\n%s\n%s\n",tmp,pausstr); + msg = lives_strdup_printf("\n%s\n%s\n", tmp, pausstr); lives_free(tmp); - retval=do_abort_cancel_retry_dialog(msg,NULL); + retval = do_abort_cancel_retry_dialog(msg, NULL); lives_free(msg); - if (retval==LIVES_RESPONSE_CANCEL) { + if (retval == LIVES_RESPONSE_CANCEL) { if (is_processing) { - sfile->nokeep=TRUE; - on_cancel_keep_button_clicked(NULL,NULL); // press the cancel button + sfile->nokeep = TRUE; + on_cancel_keep_button_clicked(NULL, NULL); // press the cancel button } - mainw->cancelled=CANCEL_ERROR; + mainw->cancelled = CANCEL_ERROR; lives_free(pausstr); return FALSE; } } - } while (ds==LIVES_STORAGE_STATUS_CRITICAL); + } while (ds == LIVES_STORAGE_STATUS_CRITICAL); - - if (sfile!=NULL&&sfile->op_dir!=NULL) { + if (sfile != NULL && sfile->op_dir != NULL) { do { - ds=get_storage_status(sfile->op_dir,sfile->op_ds_warn_level,&dsval); - if (ds==LIVES_STORAGE_STATUS_WARNING) { - uint64_t curr_ds_warn=sfile->op_ds_warn_level; - sfile->op_ds_warn_level>>=1; - if (sfile->op_ds_warn_level>(dsval>>1)) sfile->op_ds_warn_level=dsval>>1; - if (sfile->op_ds_warn_level<prefs->ds_crit_level) sfile->op_ds_warn_level=prefs->ds_crit_level; - if (is_processing&&sfile!=NULL&&sfile->proc_ptr!=NULL&&!mainw->effects_paused&& + ds = get_storage_status(sfile->op_dir, sfile->op_ds_warn_level, &dsval); + if (ds == LIVES_STORAGE_STATUS_WARNING) { + uint64_t curr_ds_warn = sfile->op_ds_warn_level; + sfile->op_ds_warn_level >>= 1; + if (sfile->op_ds_warn_level > (dsval >> 1)) sfile->op_ds_warn_level = dsval >> 1; + if (sfile->op_ds_warn_level < prefs->ds_crit_level) sfile->op_ds_warn_level = prefs->ds_crit_level; + if (is_processing && sfile != NULL && sfile->proc_ptr != NULL && !mainw->effects_paused && lives_widget_is_visible(sfile->proc_ptr->pause_button)) { - on_effects_paused(LIVES_BUTTON(sfile->proc_ptr->pause_button),NULL); - did_pause=TRUE; + on_effects_paused(LIVES_BUTTON(sfile->proc_ptr->pause_button), NULL); + did_pause = TRUE; } - tmp=ds_warning_msg(sfile->op_dir,dsval,curr_ds_warn,sfile->op_ds_warn_level); + tmp = ds_warning_msg(sfile->op_dir, dsval, curr_ds_warn, sfile->op_ds_warn_level); if (!did_pause) - msg=lives_strdup_printf("\n%s\n",tmp); + msg = lives_strdup_printf("\n%s\n", tmp); else - msg=lives_strdup_printf("\n%s\n%s\n",tmp,pausstr); + msg = lives_strdup_printf("\n%s\n%s\n", tmp, pausstr); lives_free(tmp); - mainw->add_clear_ds_button=TRUE; // gets reset by do_warning_dialog() + mainw->add_clear_ds_button = TRUE; // gets reset by do_warning_dialog() if (!do_warning_dialog(msg)) { lives_free(msg); lives_free(pausstr); lives_freep((void **)&sfile->op_dir); if (is_processing) { - sfile->nokeep=TRUE; - on_cancel_keep_button_clicked(NULL,NULL); // press the cancel button + sfile->nokeep = TRUE; + on_cancel_keep_button_clicked(NULL, NULL); // press the cancel button } - mainw->cancelled=CANCEL_USER; + mainw->cancelled = CANCEL_USER; return FALSE; } lives_free(msg); - } else if (ds==LIVES_STORAGE_STATUS_CRITICAL) { - if (is_processing&&sfile!=NULL&&sfile->proc_ptr!=NULL&&!mainw->effects_paused&& + } else if (ds == LIVES_STORAGE_STATUS_CRITICAL) { + if (is_processing && sfile != NULL && sfile->proc_ptr != NULL && !mainw->effects_paused && lives_widget_is_visible(sfile->proc_ptr->pause_button)) { - on_effects_paused(LIVES_BUTTON(sfile->proc_ptr->pause_button),NULL); - did_pause=TRUE; + on_effects_paused(LIVES_BUTTON(sfile->proc_ptr->pause_button), NULL); + did_pause = TRUE; } - tmp=ds_critical_msg(sfile->op_dir,dsval); + tmp = ds_critical_msg(sfile->op_dir, dsval); if (!did_pause) - msg=lives_strdup_printf("\n%s\n",tmp); + msg = lives_strdup_printf("\n%s\n", tmp); else - msg=lives_strdup_printf("\n%s\n%s\n",tmp,pausstr); + msg = lives_strdup_printf("\n%s\n%s\n", tmp, pausstr); lives_free(tmp); - retval=do_abort_cancel_retry_dialog(msg,NULL); + retval = do_abort_cancel_retry_dialog(msg, NULL); lives_free(msg); - if (retval==LIVES_RESPONSE_CANCEL) { + if (retval == LIVES_RESPONSE_CANCEL) { if (is_processing) { - sfile->nokeep=TRUE; - on_cancel_keep_button_clicked(NULL,NULL); // press the cancel button + sfile->nokeep = TRUE; + on_cancel_keep_button_clicked(NULL, NULL); // press the cancel button } - mainw->cancelled=CANCEL_ERROR; - if (sfile!=NULL) lives_free(sfile->op_dir); + mainw->cancelled = CANCEL_ERROR; + if (sfile != NULL) lives_free(sfile->op_dir); lives_free(pausstr); return FALSE; } } - } while (ds==LIVES_STORAGE_STATUS_CRITICAL); + } while (ds == LIVES_STORAGE_STATUS_CRITICAL); } - if (did_pause&&mainw->effects_paused) { - on_effects_paused(LIVES_BUTTON(sfile->proc_ptr->pause_button),NULL); + if (did_pause && mainw->effects_paused) { + on_effects_paused(LIVES_BUTTON(sfile->proc_ptr->pause_button), NULL); } lives_free(pausstr); @@ -980,109 +907,103 @@ - static void cancel_process(boolean visible) { - if (prefs->show_player_stats&&!visible&&mainw->fps_measure>0.) { + if (prefs->show_player_stats && !visible && mainw->fps_measure > 0.) { // statistics #ifdef USE_MONOTONIC_TIME - mainw->fps_measure/=((lives_get_monotonic_time()-mainw->origusecs)*U_SEC_RATIO)/U_SEC; + mainw->fps_measure /= ((lives_get_monotonic_time() - mainw->origusecs) * U_SEC_RATIO) / U_SEC; #else gettimeofday(&tv, NULL); - mainw->fps_measure/=(double)(U_SECL*(tv.tv_sec-mainw->origsecs)+tv.tv_usec*U_SEC_RATIO-mainw->origusecs* - U_SEC_RATIO-mainw->offsetticks)/U_SEC; + mainw->fps_measure /= (double)(U_SECL * (tv.tv_sec - mainw->origsecs) + tv.tv_usec * U_SEC_RATIO - mainw->origusecs * + U_SEC_RATIO - mainw->offsetticks) / U_SEC; #endif } if (visible) { - if (mainw->preview_box!=NULL&&!mainw->preview) lives_widget_set_tooltip_text(mainw->p_playbutton,_("Play all")); + if (mainw->preview_box != NULL && !mainw->preview) lives_widget_set_tooltip_text(mainw->p_playbutton, _("Play all")); if (accelerators_swapped) { - if (!mainw->preview) lives_widget_set_tooltip_text(mainw->m_playbutton,_("Play all")); + if (!mainw->preview) lives_widget_set_tooltip_text(mainw->m_playbutton, _("Play all")); lives_widget_remove_accelerator(cfile->proc_ptr->preview_button, mainw->accel_group, LIVES_KEY_p, (LiVESXModifierType)0); lives_widget_add_accelerator(mainw->playall, LIVES_WIDGET_ACTIVATE_SIGNAL, mainw->accel_group, LIVES_KEY_p, (LiVESXModifierType)0, LIVES_ACCEL_VISIBLE); } - if (cfile->proc_ptr!=NULL) { + if (cfile->proc_ptr != NULL) { lives_widget_destroy(LIVES_WIDGET(cfile->proc_ptr->processing)); lives_free(cfile->proc_ptr); - cfile->proc_ptr=NULL; + cfile->proc_ptr = NULL; } - mainw->is_processing=FALSE; - if (!(cfile->menuentry==NULL)) { + mainw->is_processing = FALSE; + if (!(cfile->menuentry == NULL)) { sensitize(); } } else { - mainw->is_processing=TRUE; + mainw->is_processing = TRUE; } - if (mainw->current_file>-1&&cfile->clip_type==CLIP_TYPE_DISK&&((mainw->cancelled!=CANCEL_NO_MORE_PREVIEW&& - mainw->cancelled!=CANCEL_USER)||!cfile->opening)) { + if (mainw->current_file > -1 && cfile->clip_type == CLIP_TYPE_DISK && ((mainw->cancelled != CANCEL_NO_MORE_PREVIEW && + mainw->cancelled != CANCEL_USER) || !cfile->opening)) { lives_rm(cfile->info_file); } } - static void disp_fraction(double fraction_done, double timesofar, xprocess *proc) { // display fraction done and estimated time remaining char *prog_label; double est_time; - const char *stretch=" "; + const char *stretch = " "; - if (fraction_done>1.) fraction_done=1.; - if (fraction_done<0.) fraction_done=0.; + if (fraction_done > 1.) fraction_done = 1.; + if (fraction_done < 0.) fraction_done = 0.; - if (fraction_done>disp_fraction_done) lives_progress_bar_set_fraction(LIVES_PROGRESS_BAR(proc->progressbar),fraction_done); + if (fraction_done > disp_fraction_done) lives_progress_bar_set_fraction(LIVES_PROGRESS_BAR(proc->progressbar), fraction_done); - est_time=timesofar/fraction_done-timesofar; - prog_label=lives_strdup_printf(_("\n%s%d%% done. Time remaining: %u sec%s\n"),stretch,(int)(fraction_done*100.),(uint32_t)(est_time+.5), - stretch); - if (LIVES_IS_LABEL(proc->label3)) lives_label_set_text(LIVES_LABEL(proc->label3),prog_label); + est_time = timesofar / fraction_done - timesofar; + prog_label = lives_strdup_printf(_("\n%s%d%% done. Time remaining: %u sec%s\n"), stretch, (int)(fraction_done * 100.), + (uint32_t)(est_time + .5), + stretch); + if (LIVES_IS_LABEL(proc->label3)) lives_label_set_text(LIVES_LABEL(proc->label3), prog_label); lives_free(prog_label); - disp_fraction_done=fraction_done; - + disp_fraction_done = fraction_done; } - static int progress_count; #define PROG_LOOP_VAL 200 static void progbar_pulse_or_fraction(lives_clip_t *sfile, int frames_done) { - double timesofar,fraction_done; - - if (progress_count++>=PROG_LOOP_VAL) { - if (frames_done<=sfile->progress_end&&sfile->progress_end>0&&!mainw->effects_paused&& - frames_done>0) { + double timesofar, fraction_done; + if (progress_count++ >= PROG_LOOP_VAL) { + if (frames_done <= sfile->progress_end && sfile->progress_end > 0 && !mainw->effects_paused && + frames_done > 0) { #ifdef USE_MONOTONIC_TIME - mainw->currticks=(lives_get_monotonic_time()-mainw->origusecs)*U_SEC_RATIO; + mainw->currticks = (lives_get_monotonic_time() - mainw->origusecs) * U_SEC_RATIO; #else gettimeofday(&tv, NULL); - mainw->currticks=U_SECL*(tv.tv_sec-mainw->origsecs)+tv.tv_usec*U_SEC_RATIO-mainw->origusecs*U_SEC_RATIO; + mainw->currticks = U_SECL * (tv.tv_sec - mainw->origsecs) + tv.tv_usec * U_SEC_RATIO - mainw->origusecs * U_SEC_RATIO; #endif - timesofar=(mainw->currticks-mainw->timeout_ticks)/U_SEC; + timesofar = (mainw->currticks - mainw->timeout_ticks) / U_SEC; - fraction_done=(double)(frames_done-sfile->progress_start)/(double)(sfile->progress_end-sfile->progress_start+1.); + fraction_done = (double)(frames_done - sfile->progress_start) / (double)(sfile->progress_end - sfile->progress_start + 1.); - disp_fraction(fraction_done,timesofar,sfile->proc_ptr); - progress_count=0; + disp_fraction(fraction_done, timesofar, sfile->proc_ptr); + progress_count = 0; } else { lives_progress_bar_pulse(LIVES_PROGRESS_BAR(sfile->proc_ptr->progressbar)); - progress_count=0; + progress_count = 0; } } } - - boolean process_one(boolean visible) { uint64_t new_ticks; uint64_t current_ticks; - uint64_t sc_ticks=0; + uint64_t sc_ticks = 0; lives_time_source_t time_source; boolean show_frame; @@ -1091,16 +1012,16 @@ #ifdef RT_AUDIO double audio_stretch; - uint64_t audio_ticks=0; + uint64_t audio_ticks = 0; #endif - double sc_ratio=1.; + double sc_ratio = 1.; if (!visible) { // INTERNAL PLAYER - if (LIVES_UNLIKELY(mainw->new_clip!=-1)) { + if (LIVES_UNLIKELY(mainw->new_clip != -1)) { do_quick_switch(mainw->new_clip); - mainw->new_clip=-1; + mainw->new_clip = -1; } // get current time @@ -1115,199 +1036,194 @@ // so, between updates we interpolate with the system clock and then adjust when we get a new value // from the card - - time_source=LIVES_TIME_SOURCE_NONE; + time_source = LIVES_TIME_SOURCE_NONE; #ifdef ENABLE_JACK_TRANSPORT - if (mainw->jack_can_stop&&(prefs->jack_opts&JACK_OPTS_TIMEBASE_CLIENT)&& - (prefs->jack_opts&JACK_OPTS_TRANSPORT_CLIENT)&&!(mainw->record&&!(prefs->rec_opts&REC_FRAMES))) { + if (mainw->jack_can_stop && (prefs->jack_opts & JACK_OPTS_TIMEBASE_CLIENT) && + (prefs->jack_opts & JACK_OPTS_TRANSPORT_CLIENT) && !(mainw->record && !(prefs->rec_opts & REC_FRAMES))) { // calculate the time from jack transport - mainw->currticks=jack_transport_get_time()*U_SEC; - time_source=LIVES_TIME_SOURCE_EXTERNAL; + mainw->currticks = jack_transport_get_time() * U_SEC; + time_source = LIVES_TIME_SOURCE_EXTERNAL; } #endif - - if (!mainw->ext_playback||(mainw->vpp->capabilities&VPP_LOCAL_DISPLAY)) { + if (!mainw->ext_playback || (mainw->vpp->capabilities & VPP_LOCAL_DISPLAY)) { // get time from soundcard - #ifdef ENABLE_JACK - if (!prefs->force_system_clock&& - time_source==LIVES_TIME_SOURCE_NONE&&!mainw->foreign&&prefs->audio_player==AUD_PLAYER_JACK&&cfile->achans>0&& - (!mainw->is_rendering||(mainw->multitrack!=NULL&&!cfile->opening&&!mainw->multitrack->is_rendering))&& - mainw->jackd!=NULL&&mainw->jackd->in_use) { - if (!(mainw->fixed_fpsd>0.||(mainw->vpp!=NULL&&mainw->vpp->fixed_fpsd>0.&&mainw->ext_playback))) { - last_sc_ticks=sc_ticks; - if (mainw->jackd_read!=NULL&&mainw->aud_rec_fd!=-1&&mainw->agen_key==0) - sc_ticks=lives_jack_get_time(mainw->jackd_read,TRUE); - else sc_ticks=lives_jack_get_time(mainw->jackd,TRUE); - time_source=LIVES_TIME_SOURCE_SOUNDCARD; + if (!prefs->force_system_clock && + time_source == LIVES_TIME_SOURCE_NONE && !mainw->foreign && prefs->audio_player == AUD_PLAYER_JACK && cfile->achans > 0 && + (!mainw->is_rendering || (mainw->multitrack != NULL && !cfile->opening && !mainw->multitrack->is_rendering)) && + mainw->jackd != NULL && mainw->jackd->in_use) { + if (!(mainw->fixed_fpsd > 0. || (mainw->vpp != NULL && mainw->vpp->fixed_fpsd > 0. && mainw->ext_playback))) { + last_sc_ticks = sc_ticks; + if (mainw->jackd_read != NULL && mainw->aud_rec_fd != -1 && mainw->agen_key == 0) + sc_ticks = lives_jack_get_time(mainw->jackd_read, TRUE); + else sc_ticks = lives_jack_get_time(mainw->jackd, TRUE); + time_source = LIVES_TIME_SOURCE_SOUNDCARD; } } #endif #ifdef HAVE_PULSE_AUDIO - if (!prefs->force_system_clock&& - time_source==LIVES_TIME_SOURCE_NONE&&!mainw->foreign&&prefs->audio_player==AUD_PLAYER_PULSE&& - cfile->achans>0&&(!mainw->is_rendering||(mainw->multitrack!=NULL&& - !cfile->opening&&!mainw->multitrack->is_rendering))&& - ((mainw->pulsed!=NULL&&mainw->pulsed->in_use)||mainw->pulsed_read!=NULL)) { - if (!(mainw->fixed_fpsd>0.||(mainw->vpp!=NULL&&mainw->vpp->fixed_fpsd>0.&&mainw->ext_playback))) { - last_sc_ticks=sc_ticks; - if (mainw->pulsed_read!=NULL&&mainw->aud_rec_fd!=-1&&mainw->agen_key==0&&!mainw->agen_needs_reinit) - sc_ticks=lives_pulse_get_time(mainw->pulsed_read,TRUE); - else sc_ticks=lives_pulse_get_time(mainw->pulsed,TRUE); + if (!prefs->force_system_clock && + time_source == LIVES_TIME_SOURCE_NONE && !mainw->foreign && prefs->audio_player == AUD_PLAYER_PULSE && + cfile->achans > 0 && (!mainw->is_rendering || (mainw->multitrack != NULL && + !cfile->opening && !mainw->multitrack->is_rendering)) && + ((mainw->pulsed != NULL && mainw->pulsed->in_use) || mainw->pulsed_read != NULL)) { + if (!(mainw->fixed_fpsd > 0. || (mainw->vpp != NULL && mainw->vpp->fixed_fpsd > 0. && mainw->ext_playback))) { + last_sc_ticks = sc_ticks; + if (mainw->pulsed_read != NULL && mainw->aud_rec_fd != -1 && mainw->agen_key == 0 && !mainw->agen_needs_reinit) + sc_ticks = lives_pulse_get_time(mainw->pulsed_read, TRUE); + else sc_ticks = lives_pulse_get_time(mainw->pulsed, TRUE); - time_source=LIVES_TIME_SOURCE_SOUNDCARD; + time_source = LIVES_TIME_SOURCE_SOUNDCARD; } } #endif } - if (time_source==LIVES_TIME_SOURCE_SOUNDCARD) { + if (time_source == LIVES_TIME_SOURCE_SOUNDCARD) { // soundcard time is only updated after sending audio // so if we get the same value back we interpolate using the system clock #ifdef USE_MONOTONIC_TIME - current_ticks=(lives_get_monotonic_time()-mainw->origusecs)*U_SEC_RATIO; + current_ticks = (lives_get_monotonic_time() - mainw->origusecs) * U_SEC_RATIO; #else gettimeofday(&tv, NULL); - current_ticks=U_SECL*(tv.tv_sec-mainw->origsecs)+tv.tv_usec*U_SEC_RATIO-mainw->origusecs*U_SEC_RATIO; + current_ticks = U_SECL * (tv.tv_sec - mainw->origsecs) + tv.tv_usec * U_SEC_RATIO - mainw->origusecs * U_SEC_RATIO; #endif - if (sc_ticks!=last_sc_ticks) { - last_sc_ticks=sc_ticks; + if (sc_ticks != last_sc_ticks) { + last_sc_ticks = sc_ticks; // calculate ratio soundcard rate:sys clock rate - sc_ratio=(double)sc_ticks/(double)current_ticks; - if (sc_ratio==0.) sc_ratio=1.; + sc_ratio = (double)sc_ticks / (double)current_ticks; + if (sc_ratio == 0.) sc_ratio = 1.; - mainw->currticks+=(current_ticks-prev_ticks)*sc_ratio; + mainw->currticks += (current_ticks - prev_ticks) * sc_ratio; // we got updated time from the soundcard - if (sc_ticks>=mainw->currticks) { + if (sc_ticks >= mainw->currticks) { // timecard ahead of clock, so we resync with soundcard - mainw->currticks=sc_ticks; - consume_ticks=0; + mainw->currticks = sc_ticks; + consume_ticks = 0; } else { // soundcard time was before our interpolated time, so we will not update the clock // but we will consume the extra ticks first - consume_ticks=mainw->currticks-sc_ticks; + consume_ticks = mainw->currticks - sc_ticks; } } else { // no update from soundcard - if (consume_ticks>0) { + if (consume_ticks > 0) { // we were ahead of the soundcard at the last update, so wait for it to catch up // (estimated) - consume_ticks-=(current_ticks-prev_ticks)*sc_ratio; - if (consume_ticks<0) { + consume_ticks -= (current_ticks - prev_ticks) * sc_ratio; + if (consume_ticks < 0) { // card should have caught up, so we start advancing the clock again - mainw->currticks+=consume_ticks; - consume_ticks=0; + mainw->currticks += consume_ticks; + consume_ticks = 0; } } else { // should be caught up now, so we keep advancing the system clock - mainw->currticks+=(current_ticks-prev_ticks)*sc_ratio; + mainw->currticks += (current_ticks - prev_ticks) * sc_ratio; } } - prev_ticks=current_ticks; + prev_ticks = current_ticks; } - if (time_source==LIVES_TIME_SOURCE_NONE) { + if (time_source == LIVES_TIME_SOURCE_NONE) { // get time from system clock #ifdef USE_MONOTONIC_TIME - mainw->currticks=(lives_get_monotonic_time()-mainw->origusecs)*U_SEC_RATIO; + mainw->currticks = (lives_get_monotonic_time() - mainw->origusecs) * U_SEC_RATIO; #else gettimeofday(&tv, NULL); - mainw->currticks=U_SECL*(tv.tv_sec-mainw->origsecs)+tv.tv_usec*U_SEC_RATIO-mainw->origusecs*U_SEC_RATIO; + mainw->currticks = U_SECL * (tv.tv_sec - mainw->origsecs) + tv.tv_usec * U_SEC_RATIO - mainw->origusecs * U_SEC_RATIO; #endif - if (LIVES_UNLIKELY(mainw->currticks<prev_ticks)) mainw->currticks=prev_ticks; - time_source=LIVES_TIME_SOURCE_SYSTEM; - prev_ticks=mainw->currticks; + if (LIVES_UNLIKELY(mainw->currticks < prev_ticks)) mainw->currticks = prev_ticks; + time_source = LIVES_TIME_SOURCE_SYSTEM; + prev_ticks = mainw->currticks; } // adjust audio rate slightly if we are behind or ahead - if (time_source!=LIVES_TIME_SOURCE_SOUNDCARD) { + if (time_source != LIVES_TIME_SOURCE_SOUNDCARD) { #ifdef ENABLE_JACK - if (prefs->audio_player==AUD_PLAYER_JACK&&mainw->jackd!=NULL&& - cfile->achans>0&&(!mainw->is_rendering||(mainw->multitrack!=NULL&&!mainw->multitrack->is_rendering))&& - (mainw->currticks-mainw->offsetticks)>U_SECL*10&&(audio_ticks=lives_jack_get_time(mainw->jackd,TRUE))> + if (prefs->audio_player == AUD_PLAYER_JACK && mainw->jackd != NULL && + cfile->achans > 0 && (!mainw->is_rendering || (mainw->multitrack != NULL && !mainw->multitrack->is_rendering)) && + (mainw->currticks - mainw->offsetticks) > U_SECL * 10 && (audio_ticks = lives_jack_get_time(mainw->jackd, TRUE)) > mainw->offsetticks) { - if ((audio_stretch=(double)(audio_ticks-mainw->offsetticks)/(double)(mainw->currticks-mainw->offsetticks))<2.) { + if ((audio_stretch = (double)(audio_ticks - mainw->offsetticks) / (double)(mainw->currticks - mainw->offsetticks)) < 2.) { // if audio_stretch is > 1. it means that audio is playing too fast // < 1. it is playing too slow // if too fast we increase the apparent sample rate so that it gets downsampled more // if too slow we decrease the apparent sample rate so that it gets upsampled more - if (mainw->multitrack==NULL) { - if (prefs->audio_opts&AUDIO_OPTS_FOLLOW_FPS) { - if (!cfile->play_paused) mainw->jackd->sample_in_rate=cfile->arate*cfile->pb_fps/cfile->fps*audio_stretch; - else mainw->jackd->sample_in_rate=cfile->arate*cfile->freeze_fps/cfile->fps*audio_stretch; - } else mainw->jackd->sample_in_rate=cfile->arate*audio_stretch; + if (mainw->multitrack == NULL) { + if (prefs->audio_opts & AUDIO_OPTS_FOLLOW_FPS) { + if (!cfile->play_paused) mainw->jackd->sample_in_rate = cfile->arate * cfile->pb_fps / cfile->fps * audio_stretch; + else mainw->jackd->sample_in_rate = cfile->arate * cfile->freeze_fps / cfile->fps * audio_stretch; + } else mainw->jackd->sample_in_rate = cfile->arate * audio_stretch; } else { - if (mainw->jackd->read_abuf>-1) mainw->jackd->abufs[mainw->jackd->read_abuf]->arate=cfile->arate*audio_stretch; + if (mainw->jackd->read_abuf > -1) mainw->jackd->abufs[mainw->jackd->read_abuf]->arate = cfile->arate * audio_stretch; } } } #endif - #ifdef HAVE_PULSE_AUDIO - if (prefs->audio_player==AUD_PLAYER_PULSE&&mainw->pulsed!=NULL&& - cfile->achans>0&&(!mainw->is_rendering||(mainw->multitrack!=NULL&&!mainw->multitrack->is_rendering))&& - (mainw->currticks-mainw->offsetticks)>U_SECL*10&&(audio_ticks=lives_pulse_get_time(mainw->pulsed,TRUE))> + if (prefs->audio_player == AUD_PLAYER_PULSE && mainw->pulsed != NULL && + cfile->achans > 0 && (!mainw->is_rendering || (mainw->multitrack != NULL && !mainw->multitrack->is_rendering)) && + (mainw->currticks - mainw->offsetticks) > U_SECL * 10 && (audio_ticks = lives_pulse_get_time(mainw->pulsed, TRUE)) > mainw->offsetticks) { // fps is synched to external source, so we adjust the audio rate to fit - if ((audio_stretch=(double)(audio_ticks-mainw->offsetticks)/(double)(mainw->currticks-mainw->offsetticks))<2.) { + if ((audio_stretch = (double)(audio_ticks - mainw->offsetticks) / (double)(mainw->currticks - mainw->offsetticks)) < 2.) { // if audio_stretch is > 1. it means that audio is playing too fast // < 1. it is playing too slow // if too fast we increase the apparent sample rate so that it gets downsampled more // if too slow we decrease the apparent sample rate so that it gets upsampled more - if (mainw->multitrack==NULL) { - if (prefs->audio_opts&AUDIO_OPTS_FOLLOW_FPS) { - if (!cfile->play_paused) mainw->pulsed->in_arate=cfile->arate*cfile->pb_fps/cfile->fps*audio_stretch; - else mainw->pulsed->in_arate=cfile->arate*cfile->freeze_fps/cfile->fps*audio_stretch; - } else mainw->pulsed->in_arate=cfile->arate*audio_stretch; + if (mainw->multitrack == NULL) { + if (prefs->audio_opts & AUDIO_OPTS_FOLLOW_FPS) { + if (!cfile->play_paused) mainw->pulsed->in_arate = cfile->arate * cfile->pb_fps / cfile->fps * audio_stretch; + else mainw->pulsed->in_arate = cfile->arate * cfile->freeze_fps / cfile->fps * audio_stretch; + } else mainw->pulsed->in_arate = cfile->arate * audio_stretch; } else { - if (mainw->pulsed->read_abuf>-1) mainw->pulsed->abufs[mainw->pulsed->read_abuf]->arate=cfile->arate*audio_stretch; + if (mainw->pulsed->read_abuf > -1) mainw->pulsed->abufs[mainw->pulsed->read_abuf]->arate = cfile->arate * audio_stretch; } } } #endif } - if (LIVES_UNLIKELY(cfile->proc_ptr==NULL&&cfile->next_event!=NULL)) { + if (LIVES_UNLIKELY(cfile->proc_ptr == NULL && cfile->next_event != NULL)) { // playing an event_list - - if (mainw->scratch!=SCRATCH_NONE&&mainw->multitrack!=NULL) { + if (mainw->scratch != SCRATCH_NONE && mainw->multitrack != NULL) { #ifdef ENABLE_JACK_TRANSPORT // handle transport jump - weed_timecode_t transtc=q_gint64(jack_transport_get_time()*U_SEC,cfile->fps); - mainw->multitrack->pb_start_event=get_frame_event_at(mainw->multitrack->event_list,transtc,NULL,TRUE); - if (mainw->cancelled==CANCEL_NONE) mainw->cancelled=CANCEL_EVENT_LIST_END; + weed_timecode_t transtc = q_gint64(jack_transport_get_time() * U_SEC, cfile->fps); + mainw->multitrack->pb_start_event = get_frame_event_at(mainw->multitrack->event_list, transtc, NULL, TRUE); + if (mainw->cancelled == CANCEL_NONE) mainw->cancelled = CANCEL_EVENT_LIST_END; #endif - } else if (mainw->currticks>=event_start) { + } else if (mainw->currticks >= event_start) { // see if we are playing a selection and reached the end - if (mainw->multitrack!=NULL&&mainw->multitrack->playing_sel&&get_event_timecode(cfile->next_event)/U_SEC>= - mainw->multitrack->region_end) mainw->cancelled=CANCEL_EVENT_LIST_END; + if (mainw->multitrack != NULL && mainw->multitrack->playing_sel && get_event_timecode(cfile->next_event) / U_SEC >= + mainw->multitrack->region_end) mainw->cancelled = CANCEL_EVENT_LIST_END; else { - cfile->next_event=process_events(cfile->next_event,FALSE,mainw->currticks); + cfile->next_event = process_events(cfile->next_event, FALSE, mainw->currticks); // see if we need to fill an audio buffer #ifdef ENABLE_JACK - if (prefs->audio_player==AUD_PLAYER_JACK&&mainw->jackd!=NULL&&mainw->abufs_to_fill>0) { - mainw->jackd->abufs[mainw->write_abuf]->samples_filled=0; - fill_abuffer_from(mainw->jackd->abufs[mainw->write_abuf],mainw->event_list,NULL,FALSE); + if (prefs->audio_player == AUD_PLAYER_JACK && mainw->jackd != NULL && mainw->abufs_to_fill > 0) { + mainw->jackd->abufs[mainw->write_abuf]->samples_filled = 0; + fill_abuffer_from(mainw->jackd->abufs[mainw->write_abuf], mainw->event_list, NULL, FALSE); } #endif #ifdef HAVE_PULSE_AUDIO - if (prefs->audio_player==AUD_PLAYER_PULSE&&mainw->pulsed!=NULL&&mainw->abufs_to_fill>0) { - mainw->pulsed->abufs[mainw->write_abuf]->samples_filled=0; - fill_abuffer_from(mainw->pulsed->abufs[mainw->write_abuf],mainw->event_list,NULL,FALSE); + if (prefs->audio_player == AUD_PLAYER_PULSE && mainw->pulsed != NULL && mainw->abufs_to_fill > 0) { + mainw->pulsed->abufs[mainw->write_abuf]->samples_filled = 0; + fill_abuffer_from(mainw->pulsed->abufs[mainw->write_abuf], mainw->event_list, NULL, FALSE); } #endif @@ -1316,179 +1232,174 @@ lives_widget_context_update(); // animate GUI, allow kb timer to run - if (cfile->next_event==NULL&&mainw->preview) mainw->cancelled=CANCEL_EVENT_LIST_END; - if (mainw->cancelled==CANCEL_NONE) return TRUE; + if (cfile->next_event == NULL && mainw->preview) mainw->cancelled = CANCEL_EVENT_LIST_END; + if (mainw->cancelled == CANCEL_NONE) return TRUE; cancel_process(visible); return FALSE; } // free playback - new_ticks=mainw->currticks+mainw->deltaticks; - cfile->last_frameno=cfile->frameno; + new_ticks = mainw->currticks + mainw->deltaticks; + cfile->last_frameno = cfile->frameno; handle_cached_keys(); - show_frame=FALSE; + show_frame = FALSE; - if (cfile->pb_fps!=0.) - cfile->frameno=calc_new_playback_position(mainw->current_file,mainw->startticks,&new_ticks); + if (cfile->pb_fps != 0.) + cfile->frameno = calc_new_playback_position(mainw->current_file, mainw->startticks, &new_ticks); - if (new_ticks!=mainw->startticks) { + if (new_ticks != mainw->startticks) { if (display_ready) { - show_frame=TRUE; + show_frame = TRUE; #ifdef USE_GDK_FRAME_CLOCK - display_ready=FALSE; + display_ready = FALSE; #endif } - mainw->startticks=new_ticks; + mainw->startticks = new_ticks; } // play next frame - if (LIVES_LIKELY(mainw->cancelled==CANCEL_NONE)) { - + if (LIVES_LIKELY(mainw->cancelled == CANCEL_NONE)) { // calculate the audio 'frame' for non-realtime audio players // for realtime players, we did this in calc_new_playback_position() if (!is_realtime_aplayer(prefs->audio_player)) { - mainw->aframeno=(int64_t)(mainw->currticks-mainw->firstticks)*cfile->fps/U_SEC+audio_start; - if (LIVES_UNLIKELY(mainw->loop_cont&&(mainw->aframeno>(mainw->audio_end?mainw->audio_end: - cfile->laudio_time*cfile->fps)))) { - mainw->firstticks=mainw->startticks-mainw->deltaticks; + mainw->aframeno = (int64_t)(mainw->currticks - mainw->firstticks) * cfile->fps / U_SEC + audio_start; + if (LIVES_UNLIKELY(mainw->loop_cont && (mainw->aframeno > (mainw->audio_end ? mainw->audio_end : + cfile->laudio_time * cfile->fps)))) { + mainw->firstticks = mainw->startticks - mainw->deltaticks; } } - - if ((mainw->fixed_fpsd<=0.&&show_frame&&(mainw->vpp==NULL|| - mainw->vpp->fixed_fpsd<=0.||!mainw->ext_playback))|| - (mainw->fixed_fpsd>0.&&(mainw->currticks-mainw->last_display_ticks)/U_SEC>=1./mainw->fixed_fpsd)|| - (mainw->vpp!=NULL&&mainw->vpp->fixed_fpsd>0.&&mainw->ext_playback&& - (mainw->currticks-mainw->last_display_ticks)/U_SEC>=1./mainw->vpp->fixed_fpsd)||force_show) { + if ((mainw->fixed_fpsd <= 0. && show_frame && (mainw->vpp == NULL || + mainw->vpp->fixed_fpsd <= 0. || !mainw->ext_playback)) || + (mainw->fixed_fpsd > 0. && (mainw->currticks - mainw->last_display_ticks) / U_SEC >= 1. / mainw->fixed_fpsd) || + (mainw->vpp != NULL && mainw->vpp->fixed_fpsd > 0. && mainw->ext_playback && + (mainw->currticks - mainw->last_display_ticks) / U_SEC >= 1. / mainw->vpp->fixed_fpsd) || force_show) { // time to show a new frame #ifdef ENABLE_JACK // note the audio seek position - if (prefs->audio_player==AUD_PLAYER_JACK&&mainw->jackd!=NULL) { - cfile->aseek_pos=mainw->jackd->seek_pos; + if (prefs->audio_player == AUD_PLAYER_JACK && mainw->jackd != NULL) { + cfile->aseek_pos = mainw->jackd->seek_pos; } #endif #ifdef HAVE_PULSE_AUDIO // note the audio seek position - if (prefs->audio_player==AUD_PLAYER_PULSE&&mainw->pulsed!=NULL) { - cfile->aseek_pos=mainw->pulsed->seek_pos; + if (prefs->audio_player == AUD_PLAYER_PULSE && mainw->pulsed != NULL) { + cfile->aseek_pos = mainw->pulsed->seek_pos; } #endif // load and display the new frame load_frame_image(cfile->frameno); - if (mainw->last_display_ticks==0) mainw->last_display_ticks=mainw->currticks; + if (mainw->last_display_ticks == 0) mainw->last_display_ticks = mainw->currticks; else { - if (mainw->vpp!=NULL&&mainw->ext_playback&&mainw->vpp->fixed_fpsd>0.) - mainw->last_display_ticks+=U_SEC/mainw->vpp->fixed_fpsd; - else if (mainw->fixed_fpsd>0.) - mainw->last_display_ticks+=U_SEC/mainw->fixed_fpsd; - else mainw->last_display_ticks=mainw->currticks; + if (mainw->vpp != NULL && mainw->ext_playback && mainw->vpp->fixed_fpsd > 0.) + mainw->last_display_ticks += U_SEC / mainw->vpp->fixed_fpsd; + else if (mainw->fixed_fpsd > 0.) + mainw->last_display_ticks += U_SEC / mainw->fixed_fpsd; + else mainw->last_display_ticks = mainw->currticks; } - force_show=FALSE; + force_show = FALSE; } - #ifdef ENABLE_JACK // request for another audio buffer - used only during mt render preview - if (prefs->audio_player==AUD_PLAYER_JACK&&mainw->jackd!=NULL&&mainw->abufs_to_fill>0) { - fill_abuffer_from(mainw->jackd->abufs[mainw->write_abuf],mainw->event_list,NULL,FALSE); + if (prefs->audio_player == AUD_PLAYER_JACK && mainw->jackd != NULL && mainw->abufs_to_fill > 0) { + fill_abuffer_from(mainw->jackd->abufs[mainw->write_abuf], mainw->event_list, NULL, FALSE); } #endif #ifdef HAVE_PULSE_AUDIO // request for another audio buffer - used only during mt render preview - if (prefs->audio_player==AUD_PLAYER_PULSE&&mainw->pulsed!=NULL&&mainw->abufs_to_fill>0) { - fill_abuffer_from(mainw->pulsed->abufs[mainw->write_abuf],mainw->event_list,NULL,FALSE); + if (prefs->audio_player == AUD_PLAYER_PULSE && mainw->pulsed != NULL && mainw->abufs_to_fill > 0) { + fill_abuffer_from(mainw->pulsed->abufs[mainw->write_abuf], mainw->event_list, NULL, FALSE); } #endif } // paused if (LIVES_UNLIKELY(cfile->play_paused)) { - mainw->startticks=mainw->currticks+mainw->deltaticks; + mainw->startticks = mainw->currticks + mainw->deltaticks; } } if (visible) { - // fixes a problem with opening preview with bg generator - if (cfile->proc_ptr==NULL) { - if (mainw->cancelled==CANCEL_NONE) mainw->cancelled=CANCEL_NO_PROPOGATE; + if (cfile->proc_ptr == NULL) { + if (mainw->cancelled == CANCEL_NONE) mainw->cancelled = CANCEL_NO_PROPOGATE; } else { - double fraction_done,timesofar; + double fraction_done, timesofar; char *prog_label; if (LIVES_IS_SPIN_BUTTON(mainw->framedraw_spinbutton)) - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->framedraw_spinbutton),1,cfile->proc_ptr->frames_done); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->framedraw_spinbutton), 1, cfile->proc_ptr->frames_done); // set the progress bar % - if (cfile->opening&&cfile->clip_type==CLIP_TYPE_DISK&&!cfile->opening_only_audio&& - (cfile->hsize>0||cfile->vsize>0||cfile->frames>0)&&(!mainw->effects_paused||!shown_paused_frames)) { + if (cfile->opening && cfile->clip_type == CLIP_TYPE_DISK && !cfile->opening_only_audio && + (cfile->hsize > 0 || cfile->vsize > 0 || cfile->frames > 0) && (!mainw->effects_paused || !shown_paused_frames)) { uint32_t apxl; #ifdef USE_MONOTONIC_TIME - mainw->currticks=(lives_get_monotonic_time()-mainw->origusecs)*U_SEC_RATIO; + mainw->currticks = (lives_get_monotonic_time() - mainw->origusecs) * U_SEC_RATIO; #else gettimeofday(&tv, NULL); - mainw->currticks=U_SECL*(tv.tv_sec-mainw->origsecs)+tv.tv_usec*U_SEC_RATIO-mainw->origusecs*U_SEC_RATIO; + mainw->currticks = U_SECL * (tv.tv_sec - mainw->origsecs) + tv.tv_usec * U_SEC_RATIO - mainw->origusecs * U_SEC_RATIO; #endif - if ((mainw->currticks-last_open_check_ticks)>OPEN_CHECK_TICKS* - ((apxl=get_approx_ln((uint32_t)mainw->opening_frames))<200?apxl:200)|| - (mainw->effects_paused&&!shown_paused_frames)) { + if ((mainw->currticks - last_open_check_ticks) > OPEN_CHECK_TICKS * + ((apxl = get_approx_ln((uint32_t)mainw->opening_frames)) < 200 ? apxl : 200) || + (mainw->effects_paused && !shown_paused_frames)) { count_opening_frames(); - last_open_check_ticks=mainw->currticks; - if (mainw->opening_frames>1) { - if (cfile->frames>0&&cfile->frames!=123456789) { - fraction_done=(double)(mainw->opening_frames-1)/(double)cfile->frames; - if (fraction_done>1.) fraction_done=1.; + last_open_check_ticks = mainw->currticks; + if (mainw->opening_frames > 1) { + if (cfile->frames > 0 && cfile->frames != 123456789) { + fraction_done = (double)(mainw->opening_frames - 1) / (double)cfile->frames; + if (fraction_done > 1.) fraction_done = 1.; if (!mainw->effects_paused) { - timesofar=(mainw->currticks-mainw->timeout_ticks)/U_SEC; - est_time=timesofar/fraction_done-timesofar; + timesofar = (mainw->currticks - mainw->timeout_ticks) / U_SEC; + est_time = timesofar / fraction_done - timesofar; } - lives_progress_bar_set_fraction(LIVES_PROGRESS_BAR(cfile->proc_ptr->progressbar),fraction_done); - if (est_time!=-1.) prog_label=lives_strdup_printf(_("\n%d/%d frames opened. Time remaining %u sec.\n"), - mainw->opening_frames-1,cfile->frames,(uint32_t)(est_time+.5)); - else prog_label=lives_strdup_printf(_("\n%d/%d frames opened.\n"),mainw->opening_frames-1,cfile->frames); + lives_progress_bar_set_fraction(LIVES_PROGRESS_BAR(cfile->proc_ptr->progressbar), fraction_done); + if (est_time != -1.) prog_label = lives_strdup_printf(_("\n%d/%d frames opened. Time remaining %u sec.\n"), + mainw->opening_frames - 1, cfile->frames, (uint32_t)(est_time + .5)); + else prog_label = lives_strdup_printf(_("\n%d/%d frames opened.\n"), mainw->opening_frames - 1, cfile->frames); } else { lives_progress_bar_pulse(LIVES_PROGRESS_BAR(cfile->proc_ptr->progressbar)); - prog_label=lives_strdup_printf(_("\n%d frames opened.\n"),mainw->opening_frames-1); + prog_label = lives_strdup_printf(_("\n%d frames opened.\n"), mainw->opening_frames - 1); } - lives_label_set_text(LIVES_LABEL(cfile->proc_ptr->label3),prog_label); + lives_label_set_text(LIVES_LABEL(cfile->proc_ptr->label3), prog_label); lives_free(prog_label); } } - shown_paused_frames=mainw->effects_paused; + shown_paused_frames = mainw->effects_paused; } else { - if (visible&&cfile->proc_ptr->frames_done>=cfile->progress_start) { - if (progress_count==0) check_storage_space(cfile, TRUE); + if (visible && cfile->proc_ptr->frames_done >= cfile->progress_start) { + if (progress_count == 0) check_storage_space(cfile, TRUE); // display progress fraction or pulse bar - progbar_pulse_or_fraction(cfile,cfile->proc_ptr->frames_done); + progbar_pulse_or_fraction(cfile, cfile->proc_ptr->frames_done); } } } - frames_done=cfile->proc_ptr->frames_done; + frames_done = cfile->proc_ptr->frames_done; - if (cfile->clip_type==CLIP_TYPE_FILE&&cfile->fx_frame_pump>0&& - (cfile->progress_start+frames_done+FX_FRAME_PUMP_VAL>cfile->fx_frame_pump)) { - int vend=cfile->fx_frame_pump; - boolean retb=virtual_to_images(mainw->current_file,vend,vend,FALSE,NULL); - if (retb) cfile->fx_frame_pump=vend+1; - else mainw->cancelled=CANCEL_ERROR; - if (vend==cfile->end) cfile->fx_frame_pump=0; // all frames were realised + if (cfile->clip_type == CLIP_TYPE_FILE && cfile->fx_frame_pump > 0 && + (cfile->progress_start + frames_done + FX_FRAME_PUMP_VAL > cfile->fx_frame_pump)) { + int vend = cfile->fx_frame_pump; + boolean retb = virtual_to_images(mainw->current_file, vend, vend, FALSE, NULL); + if (retb) cfile->fx_frame_pump = vend + 1; + else mainw->cancelled = CANCEL_ERROR; + if (vend == cfile->end) cfile->fx_frame_pump = 0; // all frames were realised } } - if (LIVES_LIKELY(mainw->cancelled==CANCEL_NONE)) { - - if ((xrfx=(lives_rfx_t *)mainw->vrfx_update)!=NULL&&fx_dialog[1]!=NULL) { + if (LIVES_LIKELY(mainw->cancelled == CANCEL_NONE)) { + if ((xrfx = (lives_rfx_t *)mainw->vrfx_update) != NULL && fx_dialog[1] != NULL) { // the audio thread wants to update the parameter window - mainw->vrfx_update=NULL; - update_visual_params(xrfx,FALSE); + mainw->vrfx_update = NULL; + update_visual_params(xrfx, FALSE); } // the audio thread wants to update the parameter scroll(s) @@ -1496,7 +1407,7 @@ lives_widget_context_update(); // animate GUI, allow kb timer to run - if (LIVES_UNLIKELY(mainw->cancelled!=CANCEL_NONE)) { + if (LIVES_UNLIKELY(mainw->cancelled != CANCEL_NONE)) { cancel_process(visible); return FALSE; } @@ -1511,7 +1422,7 @@ static boolean using_gdk_frame_clock; static GdkFrameClock *gclock; static void clock_upd(GdkFrameClock *clock, gpointer user_data) { - display_ready=TRUE; + display_ready = TRUE; } #endif @@ -1524,83 +1435,82 @@ // visible is set for processing (progress dialog is visible) // or unset for video playback (progress dialog is not shown) - - FILE *infofile=NULL; - char *mytext=NULL; + FILE *infofile = NULL; + char *mytext = NULL; int frames_done; - boolean got_err=FALSE; + boolean got_err = FALSE; // translation issues - if (visible&&text!=NULL) mytext=lives_strdup(text); + if (visible && text != NULL) mytext = lives_strdup(text); if (visible) { // check we have sufficient storage space - if (!check_storage_space((mainw->current_file>-1)?cfile:NULL,FALSE)) { - lives_cancel_t cancelled=mainw->cancelled; - on_cancel_keep_button_clicked(NULL,NULL); - if (mainw->cancelled!=CANCEL_NONE) mainw->cancelled=cancelled; + if (!check_storage_space((mainw->current_file > -1) ? cfile : NULL, FALSE)) { + lives_cancel_t cancelled = mainw->cancelled; + on_cancel_keep_button_clicked(NULL, NULL); + if (mainw->cancelled != CANCEL_NONE) mainw->cancelled = cancelled; d_print_cancelled(); return FALSE; } } - event_start=0; - audio_start=mainw->play_start; - if (visible) accelerators_swapped=FALSE; - frames_done=0; - disp_fraction_done=0.; - mainw->last_display_ticks=0; - shown_paused_frames=FALSE; - est_time=-1.; - force_show=TRUE; + event_start = 0; + audio_start = mainw->play_start; + if (visible) accelerators_swapped = FALSE; + frames_done = 0; + disp_fraction_done = 0.; + mainw->last_display_ticks = 0; + shown_paused_frames = FALSE; + est_time = -1.; + force_show = TRUE; - mainw->cevent_tc=0; + mainw->cevent_tc = 0; - progress_count=0; + progress_count = 0; - mainw->render_error=LIVES_RENDER_ERROR_NONE; + mainw->render_error = LIVES_RENDER_ERROR_NONE; if (!visible) { - if (mainw->event_list!=NULL) { + if (mainw->event_list != NULL) { // get audio start time - audio_start=calc_time_from_frame(mainw->current_file,mainw->play_start)*cfile->fps; + audio_start = calc_time_from_frame(mainw->current_file, mainw->play_start) * cfile->fps; } reset_frame_and_clip_index(); } if (prefs->show_player_stats) { - mainw->fps_measure=0.; + mainw->fps_measure = 0.; } - mainw->cancelled=CANCEL_NONE; - mainw->error=FALSE; + mainw->cancelled = CANCEL_NONE; + mainw->error = FALSE; clear_mainw_msg(); - if (!mainw->preview||cfile->opening) mainw->timeout_ticks=0; + if (!mainw->preview || cfile->opening) mainw->timeout_ticks = 0; if (visible) { - mainw->is_processing=TRUE; + mainw->is_processing = TRUE; desensitize(); procw_desensitize(); - lives_set_cursor_style(LIVES_CURSOR_BUSY,NULL); + lives_set_cursor_style(LIVES_CURSOR_BUSY, NULL); - cfile->proc_ptr=create_processing(mytext); + cfile->proc_ptr = create_processing(mytext); lives_freep((void **)&mytext); - lives_progress_bar_set_pulse_step(LIVES_PROGRESS_BAR(cfile->proc_ptr->progressbar),.01); + lives_progress_bar_set_pulse_step(LIVES_PROGRESS_BAR(cfile->proc_ptr->progressbar), .01); - cfile->proc_ptr->frames_done=0; + cfile->proc_ptr->frames_done = 0; if (!cancellable) { lives_widget_hide(cfile->proc_ptr->cancel_button); } if (!mainw->interactive) { - lives_widget_set_sensitive(cfile->proc_ptr->cancel_button,FALSE); - lives_widget_set_sensitive(cfile->proc_ptr->stop_button,FALSE); - lives_widget_set_sensitive(cfile->proc_ptr->pause_button,FALSE); - lives_widget_set_sensitive(cfile->proc_ptr->preview_button,FALSE); + lives_widget_set_sensitive(cfile->proc_ptr->cancel_button, FALSE); + lives_widget_set_sensitive(cfile->proc_ptr->stop_button, FALSE); + lives_widget_set_sensitive(cfile->proc_ptr->pause_button, FALSE); + lives_widget_set_sensitive(cfile->proc_ptr->preview_button, FALSE); } // if we have virtual frames make sure the first FX_FRAME_PUMP_VAL are decoded for the backend @@ -1617,41 +1527,39 @@ // (encoding and copying have their own mechanism which realises all frames in the selection first) - if (cfile->clip_type==CLIP_TYPE_FILE&&cfile->fx_frame_pump>0) { - int vend=cfile->fx_frame_pump+FX_FRAME_PUMP_VAL; - if (vend>cfile->progress_end) vend=cfile->progress_end; - if (vend>=cfile->fx_frame_pump) { + if (cfile->clip_type == CLIP_TYPE_FILE && cfile->fx_frame_pump > 0) { + int vend = cfile->fx_frame_pump + FX_FRAME_PUMP_VAL; + if (vend > cfile->progress_end) vend = cfile->progress_end; + if (vend >= cfile->fx_frame_pump) { register int i; - for (i=cfile->fx_frame_pump; i<=vend; i++) { - boolean retb=virtual_to_images(mainw->current_file,i,i,FALSE,NULL); - if (mainw->cancelled||!retb) { + for (i = cfile->fx_frame_pump; i <= vend; i++) { + boolean retb = virtual_to_images(mainw->current_file, i, i, FALSE, NULL); + if (mainw->cancelled || !retb) { cancel_process(TRUE); - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); - if (mainw->current_file>-1&&cfile!=NULL) lives_freep((void **)&cfile->op_dir); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); + if (mainw->current_file > -1 && cfile != NULL) lives_freep((void **)&cfile->op_dir); return FALSE; } lives_widget_context_update(); - if (cfile->clip_type!=CLIP_TYPE_FILE) break; + if (cfile->clip_type != CLIP_TYPE_FILE) break; } - cfile->fx_frame_pump+=FX_FRAME_PUMP_VAL>>1; + cfile->fx_frame_pump += FX_FRAME_PUMP_VAL >> 1; } } - - if (cfile->opening&&(capable->has_sox_play||(prefs->audio_player==AUD_PLAYER_JACK&&mainw->jackd!=NULL)|| - (prefs->audio_player==AUD_PLAYER_PULSE&&mainw->pulsed!=NULL))&&mainw->playing_file==-1) { - if (mainw->preview_box!=NULL) lives_widget_set_tooltip_text(mainw->p_playbutton,_("Preview")); - lives_widget_set_tooltip_text(mainw->m_playbutton,_("Preview")); + if (cfile->opening && (capable->has_sox_play || (prefs->audio_player == AUD_PLAYER_JACK && mainw->jackd != NULL) || + (prefs->audio_player == AUD_PLAYER_PULSE && mainw->pulsed != NULL)) && mainw->playing_file == -1) { + if (mainw->preview_box != NULL) lives_widget_set_tooltip_text(mainw->p_playbutton, _("Preview")); + lives_widget_set_tooltip_text(mainw->m_playbutton, _("Preview")); lives_widget_remove_accelerator(mainw->playall, mainw->accel_group, LIVES_KEY_p, (LiVESXModifierType)0); lives_widget_add_accelerator(cfile->proc_ptr->preview_button, LIVES_WIDGET_CLICKED_SIGNAL, mainw->accel_group, LIVES_KEY_p, (LiVESXModifierType)0, (LiVESAccelFlags)0); - accelerators_swapped=TRUE; + accelerators_swapped = TRUE; } } - if (cfile->next_event!=NULL) event_start=get_event_timecode(cfile->next_event); - + if (cfile->next_event != NULL) event_start = get_event_timecode(cfile->next_event); // mainw->origsecs, mainw->origusecs is our base for quantising // (and is constant for each playback session) @@ -1659,160 +1567,151 @@ // firstticks is to do with the audio "frame" for sox, mplayer // startticks is the ticks value of the last frame played - mainw->startticks=mainw->currticks=mainw->offsetticks=0; - last_open_check_ticks=0; + mainw->startticks = mainw->currticks = mainw->offsetticks = 0; + last_open_check_ticks = 0; - prev_ticks=0; - last_sc_ticks=0; - consume_ticks=0; + prev_ticks = 0; + last_sc_ticks = 0; + consume_ticks = 0; // [IMPORTANT] we subtract these from every calculation to make the numbers smaller #ifdef USE_MONOTONIC_TIME - mainw->origsecs=0; // not used - mainw->origusecs=lives_get_monotonic_time(); + mainw->origsecs = 0; // not used + mainw->origusecs = lives_get_monotonic_time(); #else /***************************************************/ gettimeofday(&tv, NULL); /***************************************************/ - mainw->origsecs=tv.tv_sec; - mainw->origusecs=tv.tv_usec; + mainw->origsecs = tv.tv_sec; + mainw->origusecs = tv.tv_usec; #endif - if (!visible) { // video playback #ifdef ENABLE_JACK_TRANSPORT - if (mainw->jack_can_stop&&mainw->multitrack==NULL&&(prefs->jack_opts&JACK_OPTS_TRANSPORT_CLIENT)&& - !(mainw->record&&!(prefs->rec_opts&REC_FRAMES)&&cfile->next_event==NULL)) { + if (mainw->jack_can_stop && mainw->multitrack == NULL && (prefs->jack_opts & JACK_OPTS_TRANSPORT_CLIENT) && + !(mainw->record && !(prefs->rec_opts & REC_FRAMES) && cfile->next_event == NULL)) { // calculate the start position from jack transport - uint64_t ntc=jack_transport_get_time()*U_SEC; - boolean noframedrop=mainw->noframedrop; - mainw->noframedrop=FALSE; - cfile->last_frameno=1; - if (prefs->jack_opts&JACK_OPTS_TIMEBASE_START) { - mainw->play_start=calc_new_playback_position(mainw->current_file,0,&ntc); + uint64_t ntc = jack_transport_get_time() * U_SEC; + boolean noframedrop = mainw->noframedrop; + mainw->noframedrop = FALSE; + cfile->last_frameno = 1; + if (prefs->jack_opts & JACK_OPTS_TIMEBASE_START) { + mainw->play_start = calc_new_playback_position(mainw->current_file, 0, &ntc); } - mainw->noframedrop=noframedrop; - if (prefs->jack_opts&JACK_OPTS_TIMEBASE_CLIENT) { + mainw->noframedrop = noframedrop; + if (prefs->jack_opts & JACK_OPTS_TIMEBASE_CLIENT) { // timebase client - follows jack transport position - mainw->startticks=ntc; + mainw->startticks = ntc; } - mainw->currticks=ntc; + mainw->currticks = ntc; } #endif - cfile->last_frameno=cfile->frameno=mainw->play_start; + cfile->last_frameno = cfile->frameno = mainw->play_start; // deltaticks is used for scratching (forwards and back) - mainw->deltaticks=0; + mainw->deltaticks = 0; } - - if (mainw->multitrack!=NULL&&!mainw->multitrack->is_rendering) { + if (mainw->multitrack != NULL && !mainw->multitrack->is_rendering) { // playback start from middle of multitrack // calculate when we "would have started" at time 0 // WARNING: origticks could be negative #ifdef USE_MONOTONIC_TIME - int64_t origticks=mainw->origusecs*U_SEC_RATIO- - (mainw->offsetticks=get_event_timecode(mainw->multitrack->pb_start_event)); - mainw->origusecs=((int64_t)(origticks/U_SEC_RATIO)); + int64_t origticks = mainw->origusecs * U_SEC_RATIO - + (mainw->offsetticks = get_event_timecode(mainw->multitrack->pb_start_event)); + mainw->origusecs = ((int64_t)(origticks / U_SEC_RATIO)); #else - int64_t origticks=mainw->origsecs*U_SEC+mainw->origusecs*U_SEC_RATIO- - (mainw->offsetticks=get_event_timecode(mainw->multitrack->pb_start_event)); - mainw->origsecs=origticks/U_SEC; - mainw->origusecs=((int64_t)(origticks/U_SEC_RATIO)-mainw->origsecs*1000000.); + int64_t origticks = mainw->origsecs * U_SEC + mainw->origusecs * U_SEC_RATIO - + (mainw->offsetticks = get_event_timecode(mainw->multitrack->pb_start_event)); + mainw->origsecs = origticks / U_SEC; + mainw->origusecs = ((int64_t)(origticks / U_SEC_RATIO) - mainw->origsecs * 1000000.); #endif } - // set initial audio seek position for current file - if (cfile->achans) cfile->aseek_pos=(int64_t)((double)(mainw->play_start-1.)/ - cfile->fps*cfile->arate*cfile->achans*(cfile->asampsize/8)); - + if (cfile->achans) cfile->aseek_pos = (int64_t)((double)(mainw->play_start - 1.) / + cfile->fps * cfile->arate * cfile->achans * (cfile->asampsize / 8)); // MUST do re-seek after setting origsecs in order to set our clock properly // re-seek to new playback start #ifdef ENABLE_JACK - if (prefs->audio_player==AUD_PLAYER_JACK&&cfile->achans>0&&cfile->laudio_time>0.&& - !mainw->is_rendering&&!(cfile->opening&&!mainw->preview)&&mainw->jackd!=NULL&&mainw->jackd->playing_file>-1) { - - if (!jack_audio_seek_frame(mainw->jackd,mainw->play_start)) { - if (jack_try_reconnect()) jack_audio_seek_frame(mainw->jackd,mainw->play_start); + if (prefs->audio_player == AUD_PLAYER_JACK && cfile->achans > 0 && cfile->laudio_time > 0. && + !mainw->is_rendering && !(cfile->opening && !mainw->preview) && mainw->jackd != NULL && mainw->jackd->playing_file > -1) { + if (!jack_audio_seek_frame(mainw->jackd, mainw->play_start)) { + if (jack_try_reconnect()) jack_audio_seek_frame(mainw->jackd, mainw->play_start); } - mainw->rec_aclip=mainw->current_file; - mainw->rec_avel=cfile->pb_fps/cfile->fps; - if (!(mainw->record&&!mainw->record_paused&&(prefs->audio_src==AUDIO_SRC_EXT||mainw->agen_key!=0||mainw->agen_needs_reinit))) - mainw->rec_aseek=(double)cfile->aseek_pos/(double)(cfile->arate*cfile->achans*(cfile->asampsize/8)); + mainw->rec_aclip = mainw->current_file; + mainw->rec_avel = cfile->pb_fps / cfile->fps; + if (!(mainw->record && !mainw->record_paused && (prefs->audio_src == AUDIO_SRC_EXT || mainw->agen_key != 0 || mainw->agen_needs_reinit))) + mainw->rec_aseek = (double)cfile->aseek_pos / (double)(cfile->arate * cfile->achans * (cfile->asampsize / 8)); else { - mainw->rec_aclip=mainw->ascrap_file; - mainw->rec_avel=1.; - mainw->rec_aseek=0; + mainw->rec_aclip = mainw->ascrap_file; + mainw->rec_avel = 1.; + mainw->rec_aseek = 0; } } - if (prefs->audio_player==AUD_PLAYER_JACK&&((mainw->jackd!=NULL&&mainw->multitrack!=NULL&& - !mainw->multitrack->is_rendering&&cfile->achans>0)|| - ((prefs->audio_src==AUDIO_SRC_EXT&&mainw->jackd_read!=NULL)|| - mainw->agen_key!=0))) { + if (prefs->audio_player == AUD_PLAYER_JACK && ((mainw->jackd != NULL && mainw->multitrack != NULL && + !mainw->multitrack->is_rendering && cfile->achans > 0) || + ((prefs->audio_src == AUDIO_SRC_EXT && mainw->jackd_read != NULL) || + mainw->agen_key != 0))) { // have to set this here as we don't do a seek in multitrack, or when playing external audio, or from an audio gen - mainw->jackd->audio_ticks=mainw->offsetticks; - mainw->jackd->frames_written=0; + mainw->jackd->audio_ticks = mainw->offsetticks; + mainw->jackd->frames_written = 0; } #endif #ifdef HAVE_PULSE_AUDIO // start audio recording now - if (mainw->pulsed_read!=NULL) pulse_driver_uncork(mainw->pulsed_read); + if (mainw->pulsed_read != NULL) pulse_driver_uncork(mainw->pulsed_read); - if (prefs->audio_player==AUD_PLAYER_PULSE&&cfile->achans>0&&cfile->laudio_time>0.&& - !mainw->is_rendering&&!(cfile->opening&&!mainw->preview)&&mainw->pulsed!=NULL&&mainw->pulsed->playing_file>-1) { - if (!pulse_audio_seek_frame(mainw->pulsed,mainw->play_start)) { - if (pulse_try_reconnect()) pulse_audio_seek_frame(mainw->pulsed,mainw->play_start); + if (prefs->audio_player == AUD_PLAYER_PULSE && cfile->achans > 0 && cfile->laudio_time > 0. && + !mainw->is_rendering && !(cfile->opening && !mainw->preview) && mainw->pulsed != NULL && mainw->pulsed->playing_file > -1) { + if (!pulse_audio_seek_frame(mainw->pulsed, mainw->play_start)) { + if (pulse_try_reconnect()) pulse_audio_seek_frame(mainw->pulsed, mainw->play_start); } - mainw->rec_aclip=mainw->current_file; - mainw->rec_avel=cfile->pb_fps/cfile->fps; - if (!(mainw->record&&!mainw->record_paused&&(prefs->audio_src==AUDIO_SRC_EXT||mainw->agen_key!=0||mainw->agen_needs_reinit))) - mainw->rec_aseek=(double)cfile->aseek_pos/(double)(cfile->arate*cfile->achans*(cfile->asampsize/8)); + mainw->rec_aclip = mainw->current_file; + mainw->rec_avel = cfile->pb_fps / cfile->fps; + if (!(mainw->record && !mainw->record_paused && (prefs->audio_src == AUDIO_SRC_EXT || mainw->agen_key != 0 || mainw->agen_needs_reinit))) + mainw->rec_aseek = (double)cfile->aseek_pos / (double)(cfile->arate * cfile->achans * (cfile->asampsize / 8)); else { - mainw->rec_aclip=mainw->ascrap_file; - mainw->rec_avel=1.; - mainw->rec_aseek=0; + mainw->rec_aclip = mainw->ascrap_file; + mainw->rec_avel = 1.; + mainw->rec_aseek = 0; } } - if (prefs->audio_player==AUD_PLAYER_PULSE&&((mainw->pulsed!=NULL&&mainw->multitrack!=NULL&& - !mainw->multitrack->is_rendering&&cfile->achans>0)|| - ((prefs->audio_src==AUDIO_SRC_EXT&&mainw->pulsed_read!=NULL)|| - mainw->agen_key!=0))) { - mainw->pulsed->audio_ticks=mainw->offsetticks; - mainw->pulsed->frames_written=0; - mainw->pulsed->usec_start=0; + if (prefs->audio_player == AUD_PLAYER_PULSE && ((mainw->pulsed != NULL && mainw->multitrack != NULL && + !mainw->multitrack->is_rendering && cfile->achans > 0) || + ((prefs->audio_src == AUDIO_SRC_EXT && mainw->pulsed_read != NULL) || + mainw->agen_key != 0))) { + mainw->pulsed->audio_ticks = mainw->offsetticks; + mainw->pulsed->frames_written = 0; + mainw->pulsed->usec_start = 0; } #endif - if (mainw->iochan!=NULL) lives_widget_show(cfile->proc_ptr->pause_button); - + if (mainw->iochan != NULL) lives_widget_show(cfile->proc_ptr->pause_button); // tell jack transport we are ready to play - mainw->video_seek_ready=TRUE; + mainw->video_seek_ready = TRUE; - mainw->scratch=SCRATCH_NONE; + mainw->scratch = SCRATCH_NONE; - display_ready=TRUE; + display_ready = TRUE; #ifdef USE_GDK_FRAME_CLOCK - using_gdk_frame_clock=FALSE; + using_gdk_frame_clock = FALSE; if (prefs->show_gui) { - using_gdk_frame_clock=TRUE; - display_ready=FALSE; - if (mainw->multitrack==NULL) - gclock=gtk_widget_get_frame_clock(mainw->LiVES); - else - gclock=gtk_widget_get_frame_clock(mainw->multitrack->window); + using_gdk_frame_clock = TRUE; + display_ready = FALSE; + gclock = gtk_widget_get_frame_clock(LIVES_MAIN_WINDOW_WIDGET); gdk_frame_clock_begin_updating(gclock); lives_signal_connect(LIVES_GUI_OBJECT(gclock), "update", LIVES_GUI_CALLBACK(clock_upd), @@ -1823,16 +1722,14 @@ //try to open info file - or if internal_messaging is TRUE, we get mainw->msg // from the mainw->progress_fn function while (1) { - while (!mainw->internal_messaging&&(((!visible&&(mainw->whentostop!=STOP_ON_AUD_END|| - is_realtime_aplayer(prefs->audio_player))))|| - !lives_file_test(cfile->info_file,LIVES_FILE_TEST_EXISTS))) { - - + while (!mainw->internal_messaging && (((!visible && (mainw->whentostop != STOP_ON_AUD_END || + is_realtime_aplayer(prefs->audio_player)))) || + !lives_file_test(cfile->info_file, LIVES_FILE_TEST_EXISTS))) { // just pulse the progress bar, or play video // returns FALSE if playback ended if (!process_one(visible)) { - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); - if (mainw->current_file>-1&&cfile!=NULL) lives_freep((void **)&cfile->op_dir); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); + if (mainw->current_file > -1 && cfile != NULL) lives_freep((void **)&cfile->op_dir); #ifdef USE_GDK_FRAME_CLOCK if (using_gdk_frame_clock) { gdk_frame_clock_end_updating(gclock); @@ -1846,59 +1743,58 @@ reinit_audio_gen(); } - if ((visible&&!mainw->internal_messaging)||!visible) lives_usleep(prefs->sleep_time); + if ((visible && !mainw->internal_messaging) || !visible) lives_usleep(prefs->sleep_time); sched_yield(); // normal playback, wth realtime audio player - if (!visible&&(mainw->whentostop!=STOP_ON_AUD_END||is_realtime_aplayer(prefs->audio_player))) continue; + if (!visible && (mainw->whentostop != STOP_ON_AUD_END || is_realtime_aplayer(prefs->audio_player))) continue; - if (mainw->iochan!=NULL&&progress_count==0) { + if (mainw->iochan != NULL && progress_count == 0) { // pump data from stdout to textbuffer // this is for encoder output pump_io_chan(mainw->iochan); } - } if (!mainw->internal_messaging) { // background processing (e.g. rendered effects) - if ((infofile=fopen(cfile->info_file,"r"))) { + if ((infofile = fopen(cfile->info_file, "r"))) { // OK, now we might have some frames - mainw->read_failed=FALSE; - lives_fgets(mainw->msg,512,infofile); + mainw->read_failed = FALSE; + lives_fgets(mainw->msg, 512, infofile); fclose(infofile); } } // else call realtime effect pass else { - mainw->render_error=(*mainw->progress_fn)(FALSE); + mainw->render_error = (*mainw->progress_fn)(FALSE); - if (mainw->render_error>=LIVES_RENDER_ERROR) { - if (mainw->current_file>-1&&cfile!=NULL) lives_freep((void **)&cfile->op_dir); - got_err=TRUE; + if (mainw->render_error >= LIVES_RENDER_ERROR) { + if (mainw->current_file > -1 && cfile != NULL) lives_freep((void **)&cfile->op_dir); + got_err = TRUE; goto finish; } // display progress fraction or pulse bar - if (mainw->msg!=NULL&&strlen(mainw->msg)>0&&(frames_done=atoi(mainw->msg))>0) - cfile->proc_ptr->frames_done=atoi(mainw->msg); + if (mainw->msg != NULL && strlen(mainw->msg) > 0 && (frames_done = atoi(mainw->msg)) > 0) + cfile->proc_ptr->frames_done = atoi(mainw->msg); else - cfile->proc_ptr->frames_done=0; - if (progress_count==0) check_storage_space(cfile, TRUE); - progbar_pulse_or_fraction(cfile,cfile->proc_ptr->frames_done); + cfile->proc_ptr->frames_done = 0; + if (progress_count == 0) check_storage_space(cfile, TRUE); + progbar_pulse_or_fraction(cfile, cfile->proc_ptr->frames_done); } //#define DEBUG #ifdef DEBUG - if (strlen(mainw->msg)) g_print("%s msg %s\n",cfile->info_file,mainw->msg); + if (strlen(mainw->msg)) g_print("%s msg %s\n", cfile->info_file, mainw->msg); #endif // we got a message from the backend... - if (visible&&(!accelerators_swapped||cfile->opening)&&cancellable&&(!cfile->nopreview||cfile->keep_without_preview)) { - if (!cfile->nopreview&&!(cfile->opening&&mainw->multitrack!=NULL)) { + if (visible && (!accelerators_swapped || cfile->opening) && cancellable && (!cfile->nopreview || cfile->keep_without_preview)) { + if (!cfile->nopreview && !(cfile->opening && mainw->multitrack != NULL)) { lives_widget_show(cfile->proc_ptr->preview_button); } @@ -1911,49 +1807,49 @@ lives_widget_hide(cfile->proc_ptr->stop_button); } - if (!cfile->opening&&!cfile->nopreview) { + if (!cfile->opening && !cfile->nopreview) { lives_widget_grab_default(cfile->proc_ptr->preview_button); - if (mainw->preview_box!=NULL) lives_widget_set_tooltip_text(mainw->p_playbutton,_("Preview")); - lives_widget_set_tooltip_text(mainw->m_playbutton,_("Preview")); + if (mainw->preview_box != NULL) lives_widget_set_tooltip_text(mainw->p_playbutton, _("Preview")); + lives_widget_set_tooltip_text(mainw->m_playbutton, _("Preview")); lives_widget_remove_accelerator(mainw->playall, mainw->accel_group, LIVES_KEY_p, (LiVESXModifierType)0); lives_widget_add_accelerator(cfile->proc_ptr->preview_button, LIVES_WIDGET_CLICKED_SIGNAL, mainw->accel_group, LIVES_KEY_p, (LiVESXModifierType)0, (LiVESAccelFlags)0); - accelerators_swapped=TRUE; + accelerators_swapped = TRUE; } } - if (strncmp(mainw->msg,"completed",8)&&strncmp(mainw->msg,"error",5)&& - strncmp(mainw->msg,"killed",6)&&(visible|| - ((strncmp(mainw->msg,"video_ended",11)||mainw->whentostop!=STOP_ON_VID_END) - &&(strncmp(mainw->msg,"audio_ended",11)||mainw->preview|| - mainw->whentostop!=STOP_ON_AUD_END)))) { + if (strncmp(mainw->msg, "completed", 8) && strncmp(mainw->msg, "error", 5) && + strncmp(mainw->msg, "killed", 6) && (visible || + ((strncmp(mainw->msg, "video_ended", 11) || mainw->whentostop != STOP_ON_VID_END) + && (strncmp(mainw->msg, "audio_ended", 11) || mainw->preview || + mainw->whentostop != STOP_ON_AUD_END)))) { // processing not yet completed... if (visible) { // last frame processed ->> will go from cfile->start to cfile->end - int numtok=get_token_count(mainw->msg,'|'); + int numtok = get_token_count(mainw->msg, '|'); // get progress count from backend - if (numtok>1) { - char **array=lives_strsplit(mainw->msg,"|",numtok); - cfile->proc_ptr->frames_done=atoi(array[0]); - if (numtok==2&&strlen(array[1])>0) cfile->progress_end=atoi(array[1]); - else if (numtok==5&&strlen(array[4])>0) { + if (numtok > 1) { + char **array = lives_strsplit(mainw->msg, "|", numtok); + cfile->proc_ptr->frames_done = atoi(array[0]); + if (numtok == 2 && strlen(array[1]) > 0) cfile->progress_end = atoi(array[1]); + else if (numtok == 5 && strlen(array[4]) > 0) { // rendered generators - cfile->start=cfile->undo_start=1; - cfile->frames=cfile->end=cfile->undo_end=atoi(array[0]); - cfile->hsize=atoi(array[1]); - cfile->vsize=atoi(array[2]); - cfile->fps=cfile->pb_fps=strtod(array[3],NULL); - if (cfile->fps==0.) cfile->fps=cfile->pb_fps=prefs->default_fps; - cfile->progress_end=atoi(array[4]); + cfile->start = cfile->undo_start = 1; + cfile->frames = cfile->end = cfile->undo_end = atoi(array[0]); + cfile->hsize = atoi(array[1]); + cfile->vsize = atoi(array[2]); + cfile->fps = cfile->pb_fps = strtod(array[3], NULL); + if (cfile->fps == 0.) cfile->fps = cfile->pb_fps = prefs->default_fps; + cfile->progress_end = atoi(array[4]); } lives_strfreev(array); - } else cfile->proc_ptr->frames_done=atoi(mainw->msg); + } else cfile->proc_ptr->frames_done = atoi(mainw->msg); } // do a processing pass if (!process_one(visible)) { - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); - if (mainw->current_file>-1&&cfile!=NULL) lives_freep((void **)&cfile->op_dir); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); + if (mainw->current_file > -1 && cfile != NULL) lives_freep((void **)&cfile->op_dir); #ifdef USE_GDK_FRAME_CLOCK if (using_gdk_frame_clock) { gdk_frame_clock_end_updating(gclock); @@ -1967,7 +1863,7 @@ reinit_audio_gen(); } - if (mainw->iochan!=NULL&&progress_count==0) { + if (mainw->iochan != NULL && progress_count == 0) { // pump data from stdout to textbuffer pump_io_chan(mainw->iochan); } @@ -1984,66 +1880,66 @@ #endif #ifdef DEBUG - g_print("exit pt 3 %s\n",mainw->msg); + g_print("exit pt 3 %s\n", mainw->msg); #endif finish: //play/operation ended if (visible) { - if (cfile->clip_type==CLIP_TYPE_DISK&&(mainw->cancelled!=CANCEL_NO_MORE_PREVIEW||!cfile->opening)) { + if (cfile->clip_type == CLIP_TYPE_DISK && (mainw->cancelled != CANCEL_NO_MORE_PREVIEW || !cfile->opening)) { lives_rm(cfile->info_file); } - if (mainw->preview_box!=NULL&&!mainw->preview) lives_widget_set_tooltip_text(mainw->p_playbutton, + if (mainw->preview_box != NULL && !mainw->preview) lives_widget_set_tooltip_text(mainw->p_playbutton, _("Play all")); if (accelerators_swapped) { - if (!mainw->preview) lives_widget_set_tooltip_text(mainw->m_playbutton,_("Play all")); + if (!mainw->preview) lives_widget_set_tooltip_text(mainw->m_playbutton, _("Play all")); lives_widget_remove_accelerator(cfile->proc_ptr->preview_button, mainw->accel_group, LIVES_KEY_p, (LiVESXModifierType)0); lives_widget_add_accelerator(mainw->playall, LIVES_WIDGET_ACTIVATE_SIGNAL, mainw->accel_group, LIVES_KEY_p, (LiVESXModifierType)0, LIVES_ACCEL_VISIBLE); - accelerators_swapped=FALSE; + accelerators_swapped = FALSE; } - if (cfile->proc_ptr!=NULL) { - const char *btext=NULL; - if (mainw->iochan!=NULL) btext=lives_text_view_get_text(mainw->optextview); - if (cfile->proc_ptr->processing!=NULL) lives_widget_destroy(cfile->proc_ptr->processing); + if (cfile->proc_ptr != NULL) { + const char *btext = NULL; + if (mainw->iochan != NULL) btext = lives_text_view_get_text(mainw->optextview); + if (cfile->proc_ptr->processing != NULL) lives_widget_destroy(cfile->proc_ptr->processing); lives_free(cfile->proc_ptr); - cfile->proc_ptr=NULL; - if (btext!=NULL) { - lives_text_view_set_text(mainw->optextview,btext,-1); + cfile->proc_ptr = NULL; + if (btext != NULL) { + lives_text_view_set_text(mainw->optextview, btext, -1); lives_free((char *)btext); } } - mainw->is_processing=FALSE; - if (!(cfile->menuentry==NULL)) { + mainw->is_processing = FALSE; + if (!(cfile->menuentry == NULL)) { // note - for operations to/from clipboard (file 0) we // should manually call sensitize() after operation sensitize(); } } else { if (prefs->show_player_stats) { - if (mainw->fps_measure>0.) { + if (mainw->fps_measure > 0.) { #ifdef USE_MONOTONIC_TIME - mainw->fps_measure/=((lives_get_monotonic_time()-mainw->origusecs)*U_SEC_RATIO)/U_SEC; + mainw->fps_measure /= ((lives_get_monotonic_time() - mainw->origusecs) * U_SEC_RATIO) / U_SEC; #else gettimeofday(&tv, NULL); - mainw->fps_measure/=(double)(U_SECL*(tv.tv_sec-mainw->origsecs)+tv.tv_usec*U_SEC_RATIO- - mainw->origusecs*U_SEC_RATIO-mainw->offsetticks)/U_SEC; + mainw->fps_measure /= (double)(U_SECL * (tv.tv_sec - mainw->origsecs) + tv.tv_usec * U_SEC_RATIO - + mainw->origusecs * U_SEC_RATIO - mainw->offsetticks) / U_SEC; #endif } } - mainw->is_processing=TRUE; + mainw->is_processing = TRUE; } - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); - if (mainw->current_file>-1&&cfile!=NULL) lives_freep((void **)&cfile->op_dir); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); + if (mainw->current_file > -1 && cfile != NULL) lives_freep((void **)&cfile->op_dir); // get error message (if any) - if (!strncmp(mainw->msg,"error",5)) { + if (!strncmp(mainw->msg, "error", 5)) { handle_backend_errors(); if (mainw->cancelled) return FALSE; } else { - if (!check_storage_space((mainw->current_file>-1)?cfile:NULL,FALSE)) return FALSE; + if (!check_storage_space((mainw->current_file > -1) ? cfile : NULL, FALSE)) return FALSE; } if (got_err) return FALSE; @@ -2061,95 +1957,93 @@ // type 1 = countdown dialog for audio recording // type 2 = normal with cancel - FILE *infofile=NULL; + FILE *infofile = NULL; - uint64_t time=0,stime=0; + uint64_t time = 0, stime = 0; xprocess *proc_ptr; char *label_text; - char *mytext=lives_strdup(text); + char *mytext = lives_strdup(text); - int time_rem,last_time_rem=10000000; - int alarm_handle=0; + int time_rem, last_time_rem = 10000000; + int alarm_handle = 0; - if (type==1&&mainw->rec_end_time!=-1.) { + if (type == 1 && mainw->rec_end_time != -1.) { #ifdef USE_MONOTONIC_TIME - stime=lives_get_monotonic_time(); + stime = lives_get_monotonic_time(); #else gettimeofday(&tv, NULL); - stime=tv.tv_sec*1000000.+tv.tv_usec; // time in microseconds + stime = tv.tv_sec * 1000000. + tv.tv_usec; // time in microseconds #endif } - mainw->error=FALSE; + mainw->error = FALSE; - proc_ptr=create_processing(mytext); + proc_ptr = create_processing(mytext); lives_freep((void **)&mytext); lives_widget_hide(proc_ptr->stop_button); lives_window_set_modal(LIVES_WINDOW(proc_ptr->processing), TRUE); - if (type==2) { + if (type == 2) { lives_widget_show(proc_ptr->cancel_button); lives_widget_hide(proc_ptr->pause_button); - mainw->cancel_type=CANCEL_SOFT; + mainw->cancel_type = CANCEL_SOFT; } - lives_progress_bar_set_pulse_step(LIVES_PROGRESS_BAR(proc_ptr->progressbar),.01); + lives_progress_bar_set_pulse_step(LIVES_PROGRESS_BAR(proc_ptr->progressbar), .01); - lives_set_cursor_style(LIVES_CURSOR_BUSY,NULL); - lives_set_cursor_style(LIVES_CURSOR_BUSY,proc_ptr->processing); + lives_set_cursor_style(LIVES_CURSOR_BUSY, NULL); + lives_set_cursor_style(LIVES_CURSOR_BUSY, proc_ptr->processing); lives_widget_context_update(); - if (type==0||type==2) { + if (type == 0 || type == 2) { clear_mainw_msg(); - alarm_handle=lives_alarm_set(MIN_FLASH_TIME); // don't want to flash too fast... - } else if (type==1) { - + alarm_handle = lives_alarm_set(MIN_FLASH_TIME); // don't want to flash too fast... + } else if (type == 1) { // show buttons lives_widget_show(proc_ptr->stop_button); lives_widget_show(proc_ptr->cancel_button); #ifdef HAVE_PULSE_AUDIO - if (mainw->pulsed_read!=NULL) pulse_driver_uncork(mainw->pulsed_read); + if (mainw->pulsed_read != NULL) pulse_driver_uncork(mainw->pulsed_read); #endif - if (mainw->rec_samples!=0) { + if (mainw->rec_samples != 0) { lives_widget_context_update(); lives_usleep(prefs->sleep_time); } } - while ((type==0||((type==1||type==2)&&mainw->cancelled==CANCEL_NONE)) - &&((type==1||((type==0||type==2)&&!(infofile=fopen(cfile->info_file,"r")))))) { + while ((type == 0 || ((type == 1 || type == 2) && mainw->cancelled == CANCEL_NONE)) + && ((type == 1 || ((type == 0 || type == 2) && !(infofile = fopen(cfile->info_file, "r")))))) { lives_progress_bar_pulse(LIVES_PROGRESS_BAR(proc_ptr->progressbar)); lives_widget_context_update(); lives_usleep(prefs->sleep_time); - if (type==1&&mainw->rec_end_time!=-1.) { + if (type == 1 && mainw->rec_end_time != -1.) { #ifdef USE_MONOTONIC_TIME - time=lives_get_monotonic_time(); + time = lives_get_monotonic_time(); #else gettimeofday(&tv, NULL); - time=tv.tv_sec*1000000.+tv.tv_usec; // current time in microseconds + time = tv.tv_sec * 1000000. + tv.tv_usec; // current time in microseconds #endif // subtract start time - time-=stime; + time -= stime; - time_rem=(int)((double)(mainw->rec_end_time-time)/1000000.+.5); - if (time_rem>=0&&time_rem<last_time_rem) { - label_text=lives_strdup_printf(_("\nTime remaining: %d sec"),time_rem); - lives_label_set_text(LIVES_LABEL(proc_ptr->label2),label_text); + time_rem = (int)((double)(mainw->rec_end_time - time) / 1000000. + .5); + if (time_rem >= 0 && time_rem < last_time_rem) { + label_text = lives_strdup_printf(_("\nTime remaining: %d sec"), time_rem); + lives_label_set_text(LIVES_LABEL(proc_ptr->label2), label_text); lives_free(label_text); - last_time_rem=time_rem; + last_time_rem = time_rem; } } } - - if (type==0||type==2) { - mainw->read_failed=FALSE; - lives_fgets(mainw->msg,512,infofile); + if (type == 0 || type == 2) { + mainw->read_failed = FALSE; + lives_fgets(mainw->msg, 512, infofile); fclose(infofile); - if (cfile->clip_type==CLIP_TYPE_DISK) lives_rm(cfile->info_file); + if (cfile->clip_type == CLIP_TYPE_DISK) lives_rm(cfile->info_file); while (!lives_alarm_get(alarm_handle)) { lives_progress_bar_pulse(LIVES_PROGRESS_BAR(proc_ptr->progressbar)); @@ -2159,42 +2053,41 @@ lives_alarm_clear(alarm_handle); } - if (proc_ptr!=NULL) { + if (proc_ptr != NULL) { lives_widget_destroy(proc_ptr->processing); lives_free(proc_ptr); } - if (type==2) mainw->cancel_type=CANCEL_KILL; + if (type == 2) mainw->cancel_type = CANCEL_KILL; - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); // get error message (if any) - if (type!=1 && !strncmp(mainw->msg,"error",5)) { + if (type != 1 && !strncmp(mainw->msg, "error", 5)) { handle_backend_errors(); if (mainw->cancelled) return FALSE; } else { - if (mainw->current_file>-1&&cfile!=NULL) - if (!check_storage_space((mainw->current_file>-1)?cfile:NULL,FALSE)) return FALSE; + if (mainw->current_file > -1 && cfile != NULL) + if (!check_storage_space((mainw->current_file > -1) ? cfile : NULL, FALSE)) return FALSE; } return TRUE; } - void too_many_files(void) { - char *warn=lives_strdup_printf(_("\nSorry, LiVES can only open %d files at once.\nPlease close a file and then try again."),MAX_FILES); + char *warn = lives_strdup_printf(_("\nSorry, LiVES can only open %d files at once.\nPlease close a file and then try again."), MAX_FILES); do_error_dialog(warn); lives_free(warn); } void workdir_warning(void) { - char *tmp,*com=lives_strdup_printf( - _("LiVES was unable to write to its working directory.\n\nThe current working directory is:\n\n%s\n\n" - "Please make sure you can write to this directory."), - (tmp=lives_filename_to_utf8(prefs->workdir,-1,NULL,NULL,NULL))); + char *tmp, *com = lives_strdup_printf( + _("LiVES was unable to write to its working directory.\n\nThe current working directory is:\n\n%s\n\n" + "Please make sure you can write to this directory."), + (tmp = lives_filename_to_utf8(prefs->workdir, -1, NULL, NULL, NULL))); lives_free(tmp); - if (mainw!=NULL&&mainw->is_ready) { + if (mainw != NULL && mainw->is_ready) { do_error_dialog(com); } lives_free(com); @@ -2219,7 +2112,6 @@ } - void do_audio_warning(void) { #ifdef ALLOW_MPV do_error_dialog(_("Audio was not loaded; please install mplayer or mplayer2 if you expected audio for this clip.\n")); @@ -2251,84 +2143,83 @@ - boolean rdet_suggest_values(int width, int height, double fps, int fps_num, int fps_denom, int arate, int asigned, boolean swap_endian, boolean anr, boolean ignore_fps) { LiVESWidget *prep_dialog; - char *msg1=lives_strdup_printf(_("\n\nDue to restrictions in the %s format\n"),prefs->encoder.of_desc); - char *msg2=lives_strdup(""); - char *msg3=lives_strdup(""); - char *msg4=lives_strdup(""); - char *msg5=lives_strdup(""); - char *msg6=lives_strdup(""); - char *msg7=lives_strdup(""); - char *msg8=lives_strdup(""); + char *msg1 = lives_strdup_printf(_("\n\nDue to restrictions in the %s format\n"), prefs->encoder.of_desc); + char *msg2 = lives_strdup(""); + char *msg3 = lives_strdup(""); + char *msg4 = lives_strdup(""); + char *msg5 = lives_strdup(""); + char *msg6 = lives_strdup(""); + char *msg7 = lives_strdup(""); + char *msg8 = lives_strdup(""); char *msg_a; - boolean ochange=FALSE; + boolean ochange = FALSE; boolean ret; - mainw->fx1_bool=FALSE; + mainw->fx1_bool = FALSE; - if (swap_endian||(asigned==1&&rdet->aendian==AFORM_UNSIGNED)||(asigned==2&&rdet->aendian==AFORM_SIGNED)|| - (fps>0.&&fps!=rdet->fps)||(fps_denom>0&&(fps_num*1.)/(fps_denom*1.)!=rdet->fps)|| - (!anr&&(rdet->width!=width||rdet->height!=height)&&height*width>0)|| - (arate!=rdet->arate&&arate>0)) { + if (swap_endian || (asigned == 1 && rdet->aendian == AFORM_UNSIGNED) || (asigned == 2 && rdet->aendian == AFORM_SIGNED) || + (fps > 0. && fps != rdet->fps) || (fps_denom > 0 && (fps_num * 1.) / (fps_denom * 1.) != rdet->fps) || + (!anr && (rdet->width != width || rdet->height != height) && height * width > 0) || + (arate != rdet->arate && arate > 0)) { lives_free(msg2); - msg2=lives_strdup(_("LiVES recommends the following settings:\n\n")); - if (swap_endian||(asigned==1&&rdet->aendian==AFORM_UNSIGNED)||(asigned==2&&rdet->aendian==AFORM_SIGNED) - ||(arate>0&&arate!=rdet->arate)) { + msg2 = lives_strdup(_("LiVES recommends the following settings:\n\n")); + if (swap_endian || (asigned == 1 && rdet->aendian == AFORM_UNSIGNED) || (asigned == 2 && rdet->aendian == AFORM_SIGNED) + || (arate > 0 && arate != rdet->arate)) { char *sstring; char *estring; - if (asigned==1&&rdet->aendian==AFORM_UNSIGNED) sstring=lives_strdup(_(", signed")); - else if (asigned==2&&rdet->aendian==AFORM_SIGNED) sstring=lives_strdup(_(", unsigned")); - else sstring=lives_strdup(""); + if (asigned == 1 && rdet->aendian == AFORM_UNSIGNED) sstring = lives_strdup(_(", signed")); + else if (asigned == 2 && rdet->aendian == AFORM_SIGNED) sstring = lives_strdup(_(", unsigned")); + else sstring = lives_strdup(""); if (swap_endian) { - if (mainw->endian!=AFORM_BIG_ENDIAN) estring=lives_strdup(_(", little-endian")); - else estring=lives_strdup(_(", big-endian")); - } else estring=lives_strdup(""); + if (mainw->endian != AFORM_BIG_ENDIAN) estring = lives_strdup(_(", little-endian")); + else estring = lives_strdup(_(", big-endian")); + } else estring = lives_strdup(""); - ochange=TRUE; + ochange = TRUE; lives_free(msg3); - msg3=lives_strdup_printf(_("Use an audio rate of %d Hz%s%s\n"),arate,sstring,estring); + msg3 = lives_strdup_printf(_("Use an audio rate of %d Hz%s%s\n"), arate, sstring, estring); lives_free(sstring); lives_free(estring); } if (!ignore_fps) { - ochange=TRUE; - if (fps>0&&fps!=rdet->fps) { + ochange = TRUE; + if (fps > 0 && fps != rdet->fps) { lives_free(msg4); - msg4=lives_strdup_printf(_("Set video rate to %.3f frames per second\n"),fps); - } else if (fps_denom>0&&(fps_num*1.)/(fps_denom*1.)!=rdet->fps) { + msg4 = lives_strdup_printf(_("Set video rate to %.3f frames per second\n"), fps); + } else if (fps_denom > 0 && (fps_num * 1.) / (fps_denom * 1.) != rdet->fps) { lives_free(msg4); - msg4=lives_strdup_printf(_("Set video rate to %d:%d frames per second\n"),fps_num,fps_denom); + msg4 = lives_strdup_printf(_("Set video rate to %d:%d frames per second\n"), fps_num, fps_denom); } } - if (!anr&&((rdet->width!=width||rdet->height!=height)&&height*width>0)) { + if (!anr && ((rdet->width != width || rdet->height != height) && height * width > 0)) { lives_free(msg5); - msg5=lives_strdup_printf(_("Set video size to %d x %d pixels\n"),width,height); - mainw->fx1_bool=TRUE; + msg5 = lives_strdup_printf(_("Set video size to %d x %d pixels\n"), width, height); + mainw->fx1_bool = TRUE; } } - if (anr||arate<0) { - if (arate<1||((rdet->width!=width||rdet->height!=height)&&height*width>0)) { + if (anr || arate < 0) { + if (arate < 1 || ((rdet->width != width || rdet->height != height) && height * width > 0)) { lives_free(msg6); - if (!ochange) anr=FALSE; - msg6=lives_strdup(_("\nYou may wish to:\n")); - if ((rdet->width!=width||rdet->height!=height)&&height*width>0) { + if (!ochange) anr = FALSE; + msg6 = lives_strdup(_("\nYou may wish to:\n")); + if ((rdet->width != width || rdet->height != height) && height * width > 0) { lives_free(msg7); - msg7=lives_strdup_printf(_("resize video to %d x %d pixels\n"),width,height); - } else anr=FALSE; - if (arate<1) { + msg7 = lives_strdup_printf(_("resize video to %d x %d pixels\n"), width, height); + } else anr = FALSE; + if (arate < 1) { lives_free(msg8); - msg8=lives_strdup(_("disable audio, since the target encoder cannot encode audio\n")); + msg8 = lives_strdup(_("disable audio, since the target encoder cannot encode audio\n")); } - } else anr=FALSE; + } else anr = FALSE; } - msg_a=lives_strconcat(msg1,msg2,msg3,msg4,msg5,msg6,msg7,msg8,NULL); + msg_a = lives_strconcat(msg1, msg2, msg3, msg4, msg5, msg6, msg7, msg8, NULL); lives_free(msg1); lives_free(msg2); lives_free(msg3); @@ -2337,96 +2228,94 @@ lives_free(msg6); lives_free(msg7); lives_free(msg8); - prep_dialog=create_encoder_prep_dialog(msg_a,NULL,anr); + prep_dialog = create_encoder_prep_dialog(msg_a, NULL, anr); lives_free(msg_a); - ret=(lives_dialog_run(LIVES_DIALOG(prep_dialog))==LIVES_RESPONSE_OK); + ret = (lives_dialog_run(LIVES_DIALOG(prep_dialog)) == LIVES_RESPONSE_OK); lives_widget_destroy(prep_dialog); return ret; } - boolean do_encoder_restrict_dialog(int width, int height, double fps, int fps_num, int fps_denom, int arate, int asigned, boolean swap_endian, boolean anr, boolean save_all) { LiVESWidget *prep_dialog; - char *msg1=lives_strdup_printf(_("\n\nDue to restrictions in the %s format\n"),prefs->encoder.of_desc); - char *msg2=lives_strdup(""); - char *msg3=lives_strdup(""); - char *msg4=lives_strdup(""); - char *msg5=lives_strdup(""); - char *msg6=lives_strdup(""); - char *msg7=lives_strdup(""); - char *msg_a,*msg_b=NULL; + char *msg1 = lives_strdup_printf(_("\n\nDue to restrictions in the %s format\n"), prefs->encoder.of_desc); + char *msg2 = lives_strdup(""); + char *msg3 = lives_strdup(""); + char *msg4 = lives_strdup(""); + char *msg5 = lives_strdup(""); + char *msg6 = lives_strdup(""); + char *msg7 = lives_strdup(""); + char *msg_a, *msg_b = NULL; double cfps; boolean ret; - int carate,chsize,cvsize; + int carate, chsize, cvsize; - if (rdet!=NULL) { - carate=rdet->arate; - chsize=rdet->width; - cvsize=rdet->height; - cfps=rdet->fps; + if (rdet != NULL) { + carate = rdet->arate; + chsize = rdet->width; + cvsize = rdet->height; + cfps = rdet->fps; } else { - carate=cfile->arate; - chsize=cfile->hsize; - cvsize=cfile->vsize; - cfps=cfile->fps; + carate = cfile->arate; + chsize = cfile->hsize; + cvsize = cfile->vsize; + cfps = cfile->fps; } - - if (swap_endian||asigned!=0||(arate>0&&arate!=carate)||(fps>0.&&fps!=cfps)|| - (fps_denom>0&&(fps_num*1.)/(fps_denom*1.)!=cfps)||(!anr&& - (chsize!=width||cvsize!=height)&&height*width>0)) { + if (swap_endian || asigned != 0 || (arate > 0 && arate != carate) || (fps > 0. && fps != cfps) || + (fps_denom > 0 && (fps_num * 1.) / (fps_denom * 1.) != cfps) || (!anr && + (chsize != width || cvsize != height) && height * width > 0)) { lives_free(msg2); - msg2=lives_strdup(_("LiVES must:\n")); - if (swap_endian||asigned!=0||(arate>0&&arate!=carate)) { + msg2 = lives_strdup(_("LiVES must:\n")); + if (swap_endian || asigned != 0 || (arate > 0 && arate != carate)) { char *sstring; char *estring; - if (asigned==1) sstring=lives_strdup(_(", signed")); - else if (asigned==2) sstring=lives_strdup(_(", unsigned")); - else sstring=lives_strdup(""); + if (asigned == 1) sstring = lives_strdup(_(", signed")); + else if (asigned == 2) sstring = lives_strdup(_(", unsigned")); + else sstring = lives_strdup(""); if (swap_endian) { - if (cfile->signed_endian&AFORM_BIG_ENDIAN) estring=lives_strdup(_(", little-endian")); - else estring=lives_strdup(_(", big-endian")); - } else estring=lives_strdup(""); + if (cfile->signed_endian & AFORM_BIG_ENDIAN) estring = lives_strdup(_(", little-endian")); + else estring = lives_strdup(_(", big-endian")); + } else estring = lives_strdup(""); lives_free(msg3); - msg3=lives_strdup_printf(_("resample audio to %d Hz%s%s\n"),arate,sstring,estring); + msg3 = lives_strdup_printf(_("resample audio to %d Hz%s%s\n"), arate, sstring, estring); lives_free(sstring); lives_free(estring); } - if (fps>0&&fps!=cfps) { + if (fps > 0 && fps != cfps) { lives_free(msg4); - msg4=lives_strdup_printf(_("resample video to %.3f frames per second\n"),fps); - } else if (fps_denom>0&&(fps_num*1.)/(fps_denom*1.)!=cfps) { + msg4 = lives_strdup_printf(_("resample video to %.3f frames per second\n"), fps); + } else if (fps_denom > 0 && (fps_num * 1.) / (fps_denom * 1.) != cfps) { lives_free(msg4); - msg4=lives_strdup_printf(_("resample video to %d:%d frames per second\n"),fps_num,fps_denom); + msg4 = lives_strdup_printf(_("resample video to %d:%d frames per second\n"), fps_num, fps_denom); } - if (!anr&&((chsize!=width||cvsize!=height)&&height*width>0)) { + if (!anr && ((chsize != width || cvsize != height) && height * width > 0)) { lives_free(msg5); - msg5=lives_strdup_printf(_("resize video to %d x %d pixels\n"),width,height); - mainw->fx1_bool=TRUE; + msg5 = lives_strdup_printf(_("resize video to %d x %d pixels\n"), width, height); + mainw->fx1_bool = TRUE; } } if (anr) { - if ((chsize!=width||cvsize!=height)&&height*width>0) { + if ((chsize != width || cvsize != height) && height * width > 0) { lives_free(msg6); lives_free(msg7); - msg6=lives_strdup(_("\nYou may wish to:\n")); - msg7=lives_strdup_printf(_("Set video size to %d x %d pixels\n"),width,height); - } else anr=FALSE; + msg6 = lives_strdup(_("\nYou may wish to:\n")); + msg7 = lives_strdup_printf(_("Set video size to %d x %d pixels\n"), width, height); + } else anr = FALSE; } - msg_a=lives_strconcat(msg1,msg2,msg3,msg4,msg5,msg6,msg7,NULL); + msg_a = lives_strconcat(msg1, msg2, msg3, msg4, msg5, msg6, msg7, NULL); if (save_all) { - msg_b=lives_strdup(_("\nYou will be able to undo these changes afterwards.\n\nClick `OK` to proceed, `Cancel` to abort.\n\n")); + msg_b = lives_strdup(_("\nYou will be able to undo these changes afterwards.\n\nClick `OK` to proceed, `Cancel` to abort.\n\n")); } else { - msg_b=lives_strdup(_("\nChanges applied to the selection will not be permanent.\n\n")); + msg_b = lives_strdup(_("\nChanges applied to the selection will not be permanent.\n\n")); } lives_free(msg1); lives_free(msg2); @@ -2435,10 +2324,10 @@ lives_free(msg5); lives_free(msg6); lives_free(msg7); - prep_dialog=create_encoder_prep_dialog(msg_a,msg_b,anr); + prep_dialog = create_encoder_prep_dialog(msg_a, msg_b, anr); lives_free(msg_a); - if (msg_b!=NULL) lives_free(msg_b); - ret=(lives_dialog_run(LIVES_DIALOG(prep_dialog))==LIVES_RESPONSE_OK); + if (msg_b != NULL) lives_free(msg_b); + ret = (lives_dialog_run(LIVES_DIALOG(prep_dialog)) == LIVES_RESPONSE_OK); lives_widget_destroy(prep_dialog); return ret; } @@ -2450,7 +2339,7 @@ } boolean do_clipboard_fps_warning(void) { - if (prefs->warning_mask&WARN_MASK_FPS) { + if (prefs->warning_mask & WARN_MASK_FPS) { return TRUE; } return do_warning_dialog_with_check( @@ -2463,57 +2352,56 @@ boolean do_yuv4m_open_warning(void) { char *msg; boolean resp; - if (prefs->warning_mask&WARN_MASK_OPEN_YUV4M) { + if (prefs->warning_mask & WARN_MASK_OPEN_YUV4M) { return TRUE; } - msg=lives_strdup_printf( - _("When opening a yuvmpeg stream, you should first create a fifo file in:\n\n%sstream.yuv\n\n and then write yuv4mpeg frames to it.\n" - "LiVES will pause briefly until frames are received.\nYou should only click OK if you understand what you are doing, otherwise, click Cancel."), - prefs->workdir); - resp=do_warning_dialog_with_check(msg,WARN_MASK_OPEN_YUV4M); + msg = lives_strdup_printf( + _("When opening a yuvmpeg stream, you should first create a fifo file in:\n\n%sstream.yuv\n\n and then write yuv4mpeg frames to it.\n" + "LiVES will pause briefly until frames are received.\nYou should only click OK if you understand what you are doing, otherwise, click Cancel."), + prefs->workdir); + resp = do_warning_dialog_with_check(msg, WARN_MASK_OPEN_YUV4M); lives_free(msg); return resp; } - boolean do_comments_dialog(int fileno, char *filename) { - lives_clip_t *sfile=mainw->files[fileno]; + lives_clip_t *sfile = mainw->files[fileno]; boolean response; - boolean ok=FALSE; - boolean encoding=FALSE; + boolean ok = FALSE; + boolean encoding = FALSE; - commentsw=create_comments_dialog(sfile,filename); + commentsw = create_comments_dialog(sfile, filename); - if (sfile==NULL) sfile=cfile; - else encoding=TRUE; + if (sfile == NULL) sfile = cfile; + else encoding = TRUE; while (!ok) { - ok=TRUE; - if ((response=(lives_dialog_run(LIVES_DIALOG(commentsw->comments_dialog))==LIVES_RESPONSE_OK))) { - lives_snprintf(sfile->title,256,"%s",lives_entry_get_text(LIVES_ENTRY(commentsw->title_entry))); - lives_snprintf(sfile->author,256,"%s",lives_entry_get_text(LIVES_ENTRY(commentsw->author_entry))); - lives_snprintf(sfile->comment,256,"%s",lives_entry_get_text(LIVES_ENTRY(commentsw->comment_entry))); - - save_clip_value(fileno,CLIP_DETAILS_TITLE,sfile->title); - save_clip_value(fileno,CLIP_DETAILS_AUTHOR,sfile->author); - save_clip_value(fileno,CLIP_DETAILS_COMMENT,sfile->comment); - - if (encoding&&sfile->subt!=NULL&&lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(commentsw->subt_checkbutton))) { - char *ext=get_extension(lives_entry_get_text(LIVES_ENTRY(commentsw->subt_entry))); - if (strcmp(ext,LIVES_FILE_EXT_SUB)&&strcmp(ext,LIVES_FILE_EXT_SRT)) { - if (!do_sub_type_warning(ext,sfile->subt->type==SUBTITLE_TYPE_SRT?LIVES_FILE_EXT_SRT:LIVES_FILE_EXT_SUB)) { - lives_entry_set_text(LIVES_ENTRY(commentsw->subt_entry),mainw->subt_save_file); - ok=FALSE; + ok = TRUE; + if ((response = (lives_dialog_run(LIVES_DIALOG(commentsw->comments_dialog)) == LIVES_RESPONSE_OK))) { + lives_snprintf(sfile->title, 256, "%s", lives_entry_get_text(LIVES_ENTRY(commentsw->title_entry))); + lives_snprintf(sfile->author, 256, "%s", lives_entry_get_text(LIVES_ENTRY(commentsw->author_entry))); + lives_snprintf(sfile->comment, 256, "%s", lives_entry_get_text(LIVES_ENTRY(commentsw->comment_entry))); + + save_clip_value(fileno, CLIP_DETAILS_TITLE, sfile->title); + save_clip_value(fileno, CLIP_DETAILS_AUTHOR, sfile->author); + save_clip_value(fileno, CLIP_DETAILS_COMMENT, sfile->comment); + + if (encoding && sfile->subt != NULL && lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(commentsw->subt_checkbutton))) { + char *ext = get_extension(lives_entry_get_text(LIVES_ENTRY(commentsw->subt_entry))); + if (strcmp(ext, LIVES_FILE_EXT_SUB) && strcmp(ext, LIVES_FILE_EXT_SRT)) { + if (!do_sub_type_warning(ext, sfile->subt->type == SUBTITLE_TYPE_SRT ? LIVES_FILE_EXT_SRT : LIVES_FILE_EXT_SUB)) { + lives_entry_set_text(LIVES_ENTRY(commentsw->subt_entry), mainw->subt_save_file); + ok = FALSE; continue; } } lives_freep((void **)&mainw->subt_save_file); - mainw->subt_save_file=lives_strdup(lives_entry_get_text(LIVES_ENTRY(commentsw->subt_entry))); + mainw->subt_save_file = lives_strdup(lives_entry_get_text(LIVES_ENTRY(commentsw->subt_entry))); } else { lives_freep((void **)&mainw->subt_save_file); - mainw->subt_save_file=NULL; + mainw->subt_save_file = NULL; } } } @@ -2525,24 +2413,19 @@ } - void do_messages_window(void) { - char *text=lives_text_view_get_text(LIVES_TEXT_VIEW(mainw->textview1)); - do_text_window(_("Message History"),text); + char *text = lives_text_view_get_text(LIVES_TEXT_VIEW(mainw->textview1)); + widget_opts.expand = LIVES_EXPAND_EXTRA; + create_text_window(_("Message History"), text, NULL); + widget_opts.expand = LIVES_EXPAND_DEFAULT; lives_free(text); } -void do_text_window(const char *title, const char *text) { - create_text_window(title,text,NULL); -} - - - void do_upgrade_error_dialog(void) { char *tmp; - char *msg=lives_strdup_printf(_("After upgrading/installing, you may need to adjust the <prefix_dir> setting in your %s file"), - (tmp=lives_filename_to_utf8(capable->rcfile,-1,NULL,NULL,NULL))); + char *msg = lives_strdup_printf(_("After upgrading/installing, you may need to adjust the <prefix_dir> setting in your %s file"), + (tmp = lives_filename_to_utf8(capable->rcfile, -1, NULL, NULL, NULL))); startup_message_info(msg); lives_free(msg); lives_free(tmp); @@ -2551,33 +2434,33 @@ void do_rendered_fx_dialog(void) { char *tmp; - char *msg=lives_strdup_printf( - _("\n\nLiVES could not find any rendered effect plugins.\nPlease make sure you have them installed in\n%s%s%s\nor change the value of <lib_dir> in %s\n"), - prefs->lib_dir,PLUGIN_EXEC_DIR,PLUGIN_RENDERED_EFFECTS_BUILTIN,(tmp=lives_filename_to_utf8(capable->rcfile,-1,NULL,NULL,NULL))); - do_error_dialog_with_check(msg,WARN_MASK_RENDERED_FX); + char *msg = lives_strdup_printf( + _("\n\nLiVES could not find any rendered effect plugins.\nPlease make sure you have them installed in\n%s%s%s\nor change the value of <lib_dir> in %s\n"), + prefs->lib_dir, PLUGIN_EXEC_DIR, PLUGIN_RENDERED_EFFECTS_BUILTIN, (tmp = lives_filename_to_utf8(capable->rcfile, -1, NULL, NULL, NULL))); + do_error_dialog_with_check(msg, WARN_MASK_RENDERED_FX); lives_free(msg); lives_free(tmp); } void do_audio_import_error(void) { - char *msg=lives_strdup(_("Sorry, unknown audio type.\n\n (Filenames must end in")); + char *msg = lives_strdup(_("Sorry, unknown audio type.\n\n (Filenames must end in")); char *tmp; - char *filt[]=LIVES_AUDIO_LOAD_FILTER; + char *filt[] = LIVES_AUDIO_LOAD_FILTER; - register int i=0; + register int i = 0; - while (filt[i]!=NULL) { - if (filt[i+1]==NULL) { - tmp=lives_strdup_printf("%s or .%s)",msg,filt[i]+2); - } else if (i==0) { - tmp=lives_strdup_printf("%s .%s)",msg,filt[i]+2); + while (filt[i] != NULL) { + if (filt[i + 1] == NULL) { + tmp = lives_strdup_printf("%s or .%s)", msg, filt[i] + 2); + } else if (i == 0) { + tmp = lives_strdup_printf("%s .%s)", msg, filt[i] + 2); } else { - tmp=lives_strdup_printf("%s, .%s)",msg,filt[i]+2); + tmp = lives_strdup_printf("%s, .%s)", msg, filt[i] + 2); } lives_free(msg); - msg=tmp; + msg = tmp; i++; } @@ -2594,35 +2477,39 @@ boolean do_set_duplicate_warning(const char *new_set) { - char *msg=lives_strdup_printf( - _("\nA set entitled %s already exists.\nClick OK to add the current clips and layouts to the existing set.\nClick Cancel to pick a new name.\n"), - new_set); - boolean retcode=do_warning_dialog_with_check(msg,WARN_MASK_DUPLICATE_SET); + char *msg = lives_strdup_printf( + _("\nA set entitled %s already exists.\nClick OK to add the current clips and layouts to the existing set.\nClick Cancel to pick a new name.\n"), + new_set); + boolean retcode = do_warning_dialog_with_check(msg, WARN_MASK_DUPLICATE_SET); lives_free(msg); return retcode; } + boolean do_layout_alter_frames_warning(void) { return do_warning_dialog(_("\nFrames from this clip are used in some multitrack layouts.\nAre you sure you wish to continue ?\n.")); } + boolean do_layout_alter_audio_warning(void) { return do_warning_dialog(_("\nAudio from this clip is used in some multitrack layouts.\nAre you sure you wish to continue ?\n.")); } + boolean do_original_lost_warning(const char *fname) { - char *msg=lives_strdup_printf( - _("\nThe original file\n%s\ncould not be found.\nIf this file has been moved, click 'OK' to browse to the new location.\n" - "Otherwise click Cancel to skip loading this file.\n"), - fname); - boolean retcode=do_warning_dialog(msg); + char *msg = lives_strdup_printf( + _("\nThe original file\n%s\ncould not be found.\nIf this file has been moved, click 'OK' to browse to the new location.\n" + "Otherwise click Cancel to skip loading this file.\n"), + fname); + boolean retcode = do_warning_dialog(msg); lives_free(msg); return retcode; } + void do_no_decoder_error(const char *fname) { - char *msg=lives_strdup_printf(_("\n\nLiVES could not find a required decoder plugin for the clip\n%s\nThe clip could not be loaded.\n"), - fname); + char *msg = lives_strdup_printf(_("\n\nLiVES could not find a required decoder plugin for the clip\n%s\nThe clip could not be loaded.\n"), + fname); do_error_dialog(msg); lives_free(msg); } @@ -2638,7 +2525,7 @@ do_blocking_error_dialog( _("\nUnable to start up jack. Please ensure that alsa is set up correctly on your machine\n" "and also that the soundcard is not in use by another program\nAutomatic jack startup will be disabled now.\n")); - if (prefs->startup_phase!=2) do_extra_jack_warning(); + if (prefs->startup_phase != 2) do_extra_jack_warning(); } @@ -2648,11 +2535,11 @@ void do_jack_noopen_warn4(void) { #ifdef HAVE_PULSE_AUDIO - const char *otherbit="\"lives -aplayer pulse\""; + const char *otherbit = "\"lives -aplayer pulse\""; #else - const char *otherbit="\"lives -aplayer sox\""; + const char *otherbit = "\"lives -aplayer sox\""; #endif - char *msg=lives_strdup_printf(_("\nAlternatively, try to start lives with either:\n\n\"lives -jackopts 16\", or\n\n%s\n"),otherbit); + char *msg = lives_strdup_printf(_("\nAlternatively, try to start lives with either:\n\n\"lives -jackopts 16\", or\n\n%s\n"), otherbit); do_blocking_info_dialog(msg); lives_free(msg); } @@ -2664,18 +2551,18 @@ void do_mt_backup_space_error(lives_mt *mt, int memreq_mb) { - char *msg=lives_strdup_printf( - _("\n\nLiVES needs more backup space for this layout.\nYou can increase the value in Preferences/Multitrack.\n" - "It is recommended to increase it to at least %d MB"), - memreq_mb); - do_error_dialog_with_check_transient(msg,TRUE,WARN_MASK_MT_BACKUP_SPACE,LIVES_WINDOW(mt->window)); + char *msg = lives_strdup_printf( + _("\n\nLiVES needs more backup space for this layout.\nYou can increase the value in Preferences/Multitrack.\n" + "It is recommended to increase it to at least %d MB"), + memreq_mb); + do_error_dialog_with_check_transient(msg, TRUE, WARN_MASK_MT_BACKUP_SPACE, LIVES_WINDOW(mt->window)); lives_free(msg); } boolean do_set_rename_old_layouts_warning(const char *new_set) { - char *msg=lives_strdup_printf( - _("\nSome old layouts for the set %s already exist.\nIt is recommended that you delete them.\nDo you wish to delete them ?\n"),new_set); - boolean retcode=do_yesno_dialog(msg); + char *msg = lives_strdup_printf( + _("\nSome old layouts for the set %s already exist.\nIt is recommended that you delete them.\nDo you wish to delete them ?\n"), new_set); + boolean retcode = do_yesno_dialog(msg); lives_free(msg); return retcode; } @@ -2691,17 +2578,17 @@ } void do_mt_set_mem_error(boolean has_mt, boolean trans) { - char *msg1=(_("\nLiVES was unable to reserve enough memory for the multitrack undo buffer.\n")); + char *msg1 = (_("\nLiVES was unable to reserve enough memory for the multitrack undo buffer.\n")); char *msg2; - char *msg3=(_("or enter a smaller value.\n")); + char *msg3 = (_("or enter a smaller value.\n")); char *msg; - if (has_mt) msg2=(_("Try again from the clip editor, try closing some other applications\n")); - else msg2=(_("Try closing some other applications\n")); + if (has_mt) msg2 = (_("Try again from the clip editor, try closing some other applications\n")); + else msg2 = (_("Try closing some other applications\n")); - msg=lives_strdup_printf("%s%s%s",msg1,msg2,msg3); + msg = lives_strdup_printf("%s%s%s", msg1, msg2, msg3); if (!trans) do_blocking_error_dialog(msg); - else do_error_dialog_with_check_transient(msg,TRUE,0,LIVES_WINDOW(prefsw->prefs_dialog)); + else do_error_dialog_with_check_transient(msg, TRUE, 0, LIVES_WINDOW(prefsw->prefs_dialog)); lives_free(msg); } @@ -2709,7 +2596,7 @@ void do_mt_audchan_error(int warn_mask) { do_error_dialog_with_check_transient( _("Multitrack is set to 0 audio channels, but this layout has audio.\nYou should adjust the audio settings from the Tools menu.\n"), - warn_mask,FALSE,NULL); + warn_mask, FALSE, NULL); } void do_mt_no_audchan_error(void) { @@ -2772,8 +2659,8 @@ } void do_vpp_palette_error(void) { - do_error_dialog_with_check_transient(_("Video playback plugin failed to initialise palette !\n"),TRUE,0, - prefsw!=NULL?LIVES_WINDOW(prefsw->prefs_dialog):LIVES_WINDOW(mainw->LiVES)); + do_error_dialog_with_check_transient(_("Video playback plugin failed to initialise palette !\n"), TRUE, 0, + prefsw != NULL ? LIVES_WINDOW(prefsw->prefs_dialog) : LIVES_WINDOW(mainw->LiVES)); } void do_decoder_palette_error(void) { @@ -2782,8 +2669,8 @@ void do_vpp_fps_error(void) { - do_error_dialog_with_check_transient(_("Unable to set framerate of video plugin\n"),TRUE,0, - prefsw!=NULL?LIVES_WINDOW(prefsw->prefs_dialog):LIVES_WINDOW(mainw->LiVES)); + do_error_dialog_with_check_transient(_("Unable to set framerate of video plugin\n"), TRUE, 0, + prefsw != NULL ? LIVES_WINDOW(prefsw->prefs_dialog) : LIVES_WINDOW(mainw->LiVES)); } @@ -2795,70 +2682,71 @@ static void on_dth_cancel_clicked(LiVESButton *button, livespointer user_data) { - if (LIVES_POINTER_TO_INT(user_data)==1) mainw->cancelled=CANCEL_KEEP; - else mainw->cancelled=CANCEL_USER; + if (LIVES_POINTER_TO_INT(user_data) == 1) mainw->cancelled = CANCEL_KEEP; + else mainw->cancelled = CANCEL_USER; } void do_rmem_max_error(int size) { - char *msg=lives_strdup_printf(( - _("Stream frame size is too large for your network buffers.\nYou should do the following as root:\n\n" - "echo %d > /proc/sys/net/core/rmem_max\n")), - size); + char *msg = lives_strdup_printf(( + _("Stream frame size is too large for your network buffers.\nYou should do the following as root:\n\n" + "echo %d > /proc/sys/net/core/rmem_max\n")), + size); do_error_dialog(msg); lives_free(msg); } -static xprocess *procw=NULL; +static xprocess *procw = NULL; static void create_threaded_dialog(char *text, boolean has_cancel) { - LiVESWidget *dialog_vbox; LiVESWidget *vbox; char tmp_label[256]; + boolean nogui = widget_opts.no_gui; - procw=(xprocess *)(lives_calloc(1,sizeof(xprocess))); + procw = (xprocess *)(lives_calloc(1, sizeof(xprocess))); - procw->processing = lives_standard_dialog_new(_("Processing..."),FALSE,-1,-1); + if (!(lives_has_toplevel_focus())) widget_opts.no_gui = TRUE; + procw->processing = lives_standard_dialog_new(_("Processing..."), FALSE, -1, -1); + widget_opts.no_gui = nogui; lives_window_add_accel_group(LIVES_WINDOW(procw->processing), mainw->accel_group); - if (mainw->multitrack==NULL) lives_window_set_transient_for(LIVES_WINDOW(procw->processing),LIVES_WINDOW(mainw->LiVES)); - else lives_window_set_transient_for(LIVES_WINDOW(procw->processing),LIVES_WINDOW(mainw->multitrack->window)); + lives_window_set_transient_for(LIVES_WINDOW(procw->processing), LIVES_WINDOW(LIVES_MAIN_WINDOW_WIDGET)); dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(procw->processing)); vbox = lives_vbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(dialog_vbox), vbox, TRUE, TRUE, 0); - lives_snprintf(tmp_label,256,"%s...\n",text); + lives_snprintf(tmp_label, 256, "%s...\n", text); procw->label = lives_standard_label_new(tmp_label); lives_box_pack_start(LIVES_BOX(vbox), procw->label, FALSE, FALSE, 0); procw->progressbar = lives_progress_bar_new(); - lives_progress_bar_set_pulse_step(LIVES_PROGRESS_BAR(procw->progressbar),.01); + lives_progress_bar_set_pulse_step(LIVES_PROGRESS_BAR(procw->progressbar), .01); lives_box_pack_start(LIVES_BOX(vbox), procw->progressbar, FALSE, FALSE, 0); - if (widget_opts.apply_theme&&(palette->style&STYLE_1)) { + if (widget_opts.apply_theme && (palette->style & STYLE_1)) { lives_widget_set_fg_color(procw->progressbar, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); } - widget_opts.justify=LIVES_JUSTIFY_CENTER; + widget_opts.justify = LIVES_JUSTIFY_CENTER; procw->label2 = lives_standard_label_new(_("\nPlease Wait")); - widget_opts.justify=LIVES_JUSTIFY_DEFAULT; + widget_opts.justify = LIVES_JUSTIFY_DEFAULT; lives_box_pack_start(LIVES_BOX(vbox), procw->label2, FALSE, FALSE, 0); - widget_opts.justify=LIVES_JUSTIFY_CENTER; + widget_opts.justify = LIVES_JUSTIFY_CENTER; procw->label3 = lives_standard_label_new(PROCW_STRETCHER); - widget_opts.justify=LIVES_JUSTIFY_DEFAULT; + widget_opts.justify = LIVES_JUSTIFY_DEFAULT; lives_box_pack_start(LIVES_BOX(vbox), procw->label3, FALSE, FALSE, 0); if (has_cancel) { - LiVESWidget *cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL,NULL); + LiVESWidget *cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL, NULL); lives_widget_show(cancelbutton); - if (mainw->current_file>-1&&cfile!=NULL&&cfile->opening_only_audio) { + if (mainw->current_file > -1 && cfile != NULL && cfile->opening_only_audio) { LiVESWidget *enoughbutton = lives_button_new_with_mnemonic(_("_Enough")); lives_dialog_add_action_widget(LIVES_DIALOG(procw->processing), enoughbutton, LIVES_RESPONSE_CANCEL); @@ -2868,7 +2756,7 @@ LIVES_GUI_CALLBACK(on_dth_cancel_clicked), LIVES_INT_TO_POINTER(1)); - mainw->cancel_type=CANCEL_SOFT; + mainw->cancel_type = CANCEL_SOFT; } lives_dialog_add_action_widget(LIVES_DIALOG(procw->processing), cancelbutton, LIVES_RESPONSE_CANCEL); @@ -2878,59 +2766,63 @@ LIVES_GUI_CALLBACK(on_dth_cancel_clicked), LIVES_INT_TO_POINTER(0)); - mainw->cancel_type=CANCEL_SOFT; + mainw->cancel_type = CANCEL_SOFT; } - lives_widget_show_all(procw->processing); + if (lives_has_toplevel_focus()) + lives_widget_show_all(procw->processing); - lives_set_cursor_style(LIVES_CURSOR_BUSY,procw->processing); + lives_set_cursor_style(LIVES_CURSOR_BUSY, procw->processing); - procw->is_ready=TRUE; + procw->is_ready = TRUE; } static double sttime; - void threaded_dialog_spin(double fraction) { double timesofar; int progress; - if (mainw->splash_window!=NULL) { + if (mainw->splash_window != NULL) { return; } - if (procw==NULL||!procw->is_ready||!mainw->is_ready) return; + if (procw == NULL || !procw->is_ready || !mainw->is_ready) return; - if (fraction>0.) { + if (fraction > 0.) { gettimeofday(&tv, NULL); - timesofar=(double)(tv.tv_sec*1000000+tv.tv_usec-sttime)*U_SEC_RATIO/U_SEC; - disp_fraction(fraction,timesofar,procw); + timesofar = (double)(tv.tv_sec * 1000000 + tv.tv_usec - sttime) * U_SEC_RATIO / U_SEC; + disp_fraction(fraction, timesofar, procw); } else { - if (mainw->current_file<0||cfile==NULL||cfile->progress_start==0||cfile->progress_end==0|| - strlen(mainw->msg)==0||(progress=atoi(mainw->msg))==0) { + if (mainw->current_file < 0 || cfile == NULL || cfile->progress_start == 0 || cfile->progress_end == 0 || + strlen(mainw->msg) == 0 || (progress = atoi(mainw->msg)) == 0) { // pulse the progress bar //#define GDB #ifndef GDB - if (LIVES_IS_PROGRESS_BAR(procw->progressbar)) lives_progress_bar_pulse(LIVES_PROGRESS_BAR(procw->progressbar)); + if (lives_has_toplevel_focus()) { + if (LIVES_IS_PROGRESS_BAR(procw->progressbar)) lives_progress_bar_pulse(LIVES_PROGRESS_BAR(procw->progressbar)); + } #endif } else { // show fraction - double fraction_done=(double)(progress-cfile->progress_start)/(double)(cfile->progress_end-cfile->progress_start+1.); + double fraction_done = (double)(progress - cfile->progress_start) / (double)(cfile->progress_end - cfile->progress_start + 1.); gettimeofday(&tv, NULL); - timesofar=(double)(tv.tv_sec*1000000+tv.tv_usec-sttime)*U_SEC_RATIO/U_SEC; - disp_fraction(fraction_done,timesofar,procw); + timesofar = (double)(tv.tv_sec * 1000000 + tv.tv_usec - sttime) * U_SEC_RATIO / U_SEC; + disp_fraction(fraction_done, timesofar, procw); } } - if (LIVES_IS_WIDGET(procw->processing)) lives_widget_queue_draw(procw->processing); - lives_widget_context_update(); - + if (lives_has_toplevel_focus()) { + if (LIVES_IS_WIDGET(procw->processing)) { + lives_widget_show_all(procw->processing); + lives_widget_queue_draw(procw->processing); + } + lives_widget_context_update(); + } } - - void do_threaded_dialog(char *trans_text, boolean has_cancel) { // calling this causes a threaded progress dialog to appear // until end_threaded_dialog() is called @@ -2943,14 +2835,14 @@ if (mainw->threaded_dialog) return; - copy_text=lives_strdup(trans_text); + copy_text = lives_strdup(trans_text); - lives_set_cursor_style(LIVES_CURSOR_BUSY,NULL); + lives_set_cursor_style(LIVES_CURSOR_BUSY, NULL); gettimeofday(&tv, NULL); - sttime=tv.tv_sec*1000000+tv.tv_usec; + sttime = tv.tv_sec * 1000000 + tv.tv_usec; - mainw->threaded_dialog=TRUE; + mainw->threaded_dialog = TRUE; clear_mainw_msg(); create_threaded_dialog(copy_text, has_cancel); @@ -2960,30 +2852,23 @@ } - void end_threaded_dialog(void) { - if (procw!=NULL) { - if (procw->processing!=NULL) lives_widget_destroy(procw->processing); + if (procw != NULL) { + if (procw->processing != NULL) lives_widget_destroy(procw->processing); } - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); - if (mainw->multitrack==NULL) { - if (mainw->is_ready) lives_widget_queue_draw(mainw->LiVES); - } else lives_widget_queue_draw(mainw->multitrack->window); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); - if (procw!=NULL) { - lives_free(procw); - procw=NULL; - } - mainw->cancel_type=CANCEL_KILL; - mainw->threaded_dialog=FALSE; + lives_widget_queue_draw(LIVES_MAIN_WINDOW_WIDGET); if (mainw->is_ready) - lives_widget_context_update(); + if (lives_has_toplevel_focus()) { + lives_widget_context_update(); + } + procw = NULL; } - void response_ok(LiVESButton *button, livespointer user_data) { lives_dialog_response(LIVES_DIALOG(lives_widget_get_toplevel(LIVES_WIDGET(button))), LIVES_RESPONSE_OK); } @@ -2991,12 +2876,12 @@ LIVES_INLINE void d_print_cancelled(void) { d_print(_("cancelled.\n")); - lives_notify(LIVES_OSC_NOTIFY_CANCELLED,""); + lives_notify(LIVES_OSC_NOTIFY_CANCELLED, ""); } LIVES_INLINE void d_print_failed(void) { d_print(_("failed.\n")); - lives_notify(LIVES_OSC_NOTIFY_FAILED,""); + lives_notify(LIVES_OSC_NOTIFY_FAILED, ""); } LIVES_INLINE void d_print_done(void) { @@ -3009,49 +2894,49 @@ void do_system_failed_error(const char *com, int retval, const char *addinfo) { - char *msg,*tmp,*emsg,*msgx; + char *msg, *tmp, *emsg, *msgx; char *bit; - char *retstr=lives_strdup_printf("%d",retval>>8); - char *bit2=(retval>255)?lives_strdup(""):lives_strdup_printf("[%s]",lives_strerror(retval)); + char *retstr = lives_strdup_printf("%d", retval >> 8); + char *bit2 = (retval > 255) ? lives_strdup("") : lives_strdup_printf("[%s]", lives_strerror(retval)); char *addbit; - char *dsmsg1=lives_strdup(""); - char *dsmsg2=lives_strdup(""); + char *dsmsg1 = lives_strdup(""); + char *dsmsg2 = lives_strdup(""); - uint64_t dsval1,dsval2; + uint64_t dsval1, dsval2; - lives_storage_status_t ds1=get_storage_status(prefs->workdir,prefs->ds_crit_level,&dsval1),ds2; + lives_storage_status_t ds1 = get_storage_status(prefs->workdir, prefs->ds_crit_level, &dsval1), ds2; - if (mainw->current_file>-1&&cfile!=NULL&&cfile->op_dir!=NULL) { - ds2=get_storage_status(cfile->op_dir,prefs->ds_crit_level,&dsval2); - if (ds2==LIVES_STORAGE_STATUS_CRITICAL) { + if (mainw->current_file > -1 && cfile != NULL && cfile->op_dir != NULL) { + ds2 = get_storage_status(cfile->op_dir, prefs->ds_crit_level, &dsval2); + if (ds2 == LIVES_STORAGE_STATUS_CRITICAL) { lives_free(dsmsg2); - tmp=ds_critical_msg(cfile->op_dir,dsval2); - dsmsg2=lives_strdup_printf("%s\n",tmp); + tmp = ds_critical_msg(cfile->op_dir, dsval2); + dsmsg2 = lives_strdup_printf("%s\n", tmp); lives_free(tmp); } } - if (ds1==LIVES_STORAGE_STATUS_CRITICAL) { + if (ds1 == LIVES_STORAGE_STATUS_CRITICAL) { lives_free(dsmsg1); - tmp=ds_critical_msg(prefs->workdir,dsval1); - dsmsg1=lives_strdup_printf("%s\n",tmp); + tmp = ds_critical_msg(prefs->workdir, dsval1); + dsmsg1 = lives_strdup_printf("%s\n", tmp); lives_free(tmp); } - if (addinfo!=NULL) addbit=lives_strdup_printf(_("Additional info: %s\n"),addinfo); - else addbit=lives_strdup(""); + if (addinfo != NULL) addbit = lives_strdup_printf(_("Additional info: %s\n"), addinfo); + else addbit = lives_strdup(""); - if (retval>0) bit=lives_strdup_printf(_("The error value was %d%s\n"),retval,bit2); - else bit=lives_strdup(""); + if (retval > 0) bit = lives_strdup_printf(_("The error value was %d%s\n"), retval, bit2); + else bit = lives_strdup(""); - msg=lives_strdup_printf(_("\nLiVES failed doing the following:\n%s\nPlease check your system for errors.\n%s%s%s"), - com,bit,addbit,dsmsg1,dsmsg2); + msg = lives_strdup_printf(_("\nLiVES failed doing the following:\n%s\nPlease check your system for errors.\n%s%s%s"), + com, bit, addbit, dsmsg1, dsmsg2); - emsg=lives_strdup_printf("Command failed doing\n%s\n%s%s",com,bit,addbit); + emsg = lives_strdup_printf("Command failed doing\n%s\n%s%s", com, bit, addbit); LIVES_ERROR(emsg); lives_free(emsg); - msgx=insert_newlines(msg,MAX_MSG_WIDTH_CHARS); + msgx = insert_newlines(msg, MAX_MSG_WIDTH_CHARS); do_error_dialog(msgx); lives_free(msgx); lives_free(msg); @@ -3065,12 +2950,12 @@ void do_write_failed_error_s(const char *s, const char *addinfo) { - char *msg,*emsg; - char *addbit,*tmp; - char *dsmsg=lives_strdup(""); + char *msg, *emsg; + char *addbit, *tmp; + char *dsmsg = lives_strdup(""); char dirname[PATH_MAX]; - char *sutf=lives_filename_to_utf8(s,-1,NULL,NULL,NULL); + char *sutf = lives_filename_to_utf8(s, -1, NULL, NULL, NULL); boolean exists; @@ -3078,25 +2963,25 @@ lives_storage_status_t ds; - lives_snprintf(dirname,PATH_MAX,"%s",s); + lives_snprintf(dirname, PATH_MAX, "%s", s); get_dirname(dirname); - exists=lives_file_test(dirname,LIVES_FILE_TEST_EXISTS); - ds=get_storage_status(dirname,prefs->ds_crit_level,&dsval); - if (!exists) lives_rmdir(dirname,FALSE); + exists = lives_file_test(dirname, LIVES_FILE_TEST_EXISTS); + ds = get_storage_status(dirname, prefs->ds_crit_level, &dsval); + if (!exists) lives_rmdir(dirname, FALSE); - if (ds==LIVES_STORAGE_STATUS_CRITICAL) { + if (ds == LIVES_STORAGE_STATUS_CRITICAL) { lives_free(dsmsg); - tmp=ds_critical_msg(dirname,dsval); - dsmsg=lives_strdup_printf("%s\n",tmp); + tmp = ds_critical_msg(dirname, dsval); + dsmsg = lives_strdup_printf("%s\n", tmp); lives_free(tmp); } - if (addinfo!=NULL) addbit=lives_strdup_printf(_("Additional info: %s\n"),addinfo); - else addbit=lives_strdup(""); + if (addinfo != NULL) addbit = lives_strdup_printf(_("Additional info: %s\n"), addinfo); + else addbit = lives_strdup(""); - msg=lives_strdup_printf(_("\nLiVES was unable to write to the file\n%s\nPlease check for possible error causes.\n%s"), - sutf,addbit,dsmsg); - emsg=lives_strdup_printf("Unable to write to file\n%s\n%s",s,addbit); + msg = lives_strdup_printf(_("\nLiVES was unable to write to the file\n%s\nPlease check for possible error causes.\n%s"), + sutf, addbit, dsmsg); + emsg = lives_strdup_printf("Unable to write to file\n%s\n%s", s, addbit); lives_free(sutf); @@ -3111,16 +2996,16 @@ void do_read_failed_error_s(const char *s, const char *addinfo) { - char *msg,*emsg; + char *msg, *emsg; char *addbit; - char *sutf=lives_filename_to_utf8(s,-1,NULL,NULL,NULL); + char *sutf = lives_filename_to_utf8(s, -1, NULL, NULL, NULL); - if (addinfo!=NULL) addbit=lives_strdup_printf(_("Additional info: %s\n"),addinfo); - else addbit=lives_strdup(""); + if (addinfo != NULL) addbit = lives_strdup_printf(_("Additional info: %s\n"), addinfo); + else addbit = lives_strdup(""); - msg=lives_strdup_printf(_("\nLiVES was unable to read from the file\n%s\nPlease check for possible error causes.\n%s"), - sutf,addbit); - emsg=lives_strdup_printf("Unable to read from the file\n%s\n%s",s,addbit); + msg = lives_strdup_printf(_("\nLiVES was unable to read from the file\n%s\nPlease check for possible error causes.\n%s"), + sutf, addbit); + emsg = lives_strdup_printf("Unable to read from the file\n%s\n%s", s, addbit); LIVES_ERROR(emsg); lives_free(emsg); @@ -3132,16 +3017,15 @@ } - int do_write_failed_error_s_with_retry(const char *fname, const char *errtext, LiVESWindow *transient) { // err can be errno from open/fopen etc. // return same as do_abort_cancel_retry_dialog() - LIVES_RESPONSE_CANCEL or LIVES_RESPONSE_RETRY (both non-zero) int ret; - char *msg,*emsg,*tmp; - char *sutf=lives_filename_to_utf8(fname,-1,NULL,NULL,NULL); - char *dsmsg=lives_strdup(""); + char *msg, *emsg, *tmp; + char *sutf = lives_filename_to_utf8(fname, -1, NULL, NULL, NULL); + char *dsmsg = lives_strdup(""); char dirname[PATH_MAX]; @@ -3151,40 +3035,39 @@ lives_storage_status_t ds; - lives_snprintf(dirname,PATH_MAX,"%s",fname); + lives_snprintf(dirname, PATH_MAX, "%s", fname); get_dirname(dirname); - exists=lives_file_test(dirname,LIVES_FILE_TEST_EXISTS); - ds=get_storage_status(dirname,prefs->ds_crit_level,&dsval); - if (!exists) lives_rmdir(dirname,FALSE); + exists = lives_file_test(dirname, LIVES_FILE_TEST_EXISTS); + ds = get_storage_status(dirname, prefs->ds_crit_level, &dsval); + if (!exists) lives_rmdir(dirname, FALSE); - if (ds==LIVES_STORAGE_STATUS_CRITICAL) { + if (ds == LIVES_STORAGE_STATUS_CRITICAL) { lives_free(dsmsg); - tmp=ds_critical_msg(dirname,dsval); - dsmsg=lives_strdup_printf("%s\n",tmp); + tmp = ds_critical_msg(dirname, dsval); + dsmsg = lives_strdup_printf("%s\n", tmp); lives_free(tmp); } - if (errtext==NULL) { - emsg=lives_strdup_printf("Unable to write to file %s",fname); - msg=lives_strdup_printf(_("\nLiVES was unable to write to the file\n%s\nPlease check for possible error causes.\n"),sutf); + if (errtext == NULL) { + emsg = lives_strdup_printf("Unable to write to file %s", fname); + msg = lives_strdup_printf(_("\nLiVES was unable to write to the file\n%s\nPlease check for possible error causes.\n"), sutf); } else { - emsg=lives_strdup_printf("Unable to write to file %s, error was %s",fname,errtext); - msg=lives_strdup_printf(_("\nLiVES was unable to write to the file\n%s\nThe error was\n%s.\n"),sutf,errtext); + emsg = lives_strdup_printf("Unable to write to file %s, error was %s", fname, errtext); + msg = lives_strdup_printf(_("\nLiVES was unable to write to the file\n%s\nThe error was\n%s.\n"), sutf, errtext); } LIVES_ERROR(emsg); lives_free(emsg); - ret=do_abort_cancel_retry_dialog(msg,transient); + ret = do_abort_cancel_retry_dialog(msg, transient); lives_free(dsmsg); lives_free(msg); lives_free(sutf); - mainw->write_failed=FALSE; // reset this + mainw->write_failed = FALSE; // reset this return ret; - } @@ -3195,84 +3078,81 @@ // return same as do_abort_cancel_retry_dialog() - LIVES_RESPONSE_CANCEL or LIVES_RESPONSE_RETRY (both non-zero) int ret; - char *msg,*emsg; - char *sutf=lives_filename_to_utf8(fname,-1,NULL,NULL,NULL); + char *msg, *emsg; + char *sutf = lives_filename_to_utf8(fname, -1, NULL, NULL, NULL); - if (errtext==NULL) { - emsg=lives_strdup_printf("Unable to read from file %s",fname); - msg=lives_strdup_printf(_("\nLiVES was unable to read from the file\n%s\nPlease check for possible error causes.\n"),sutf); + if (errtext == NULL) { + emsg = lives_strdup_printf("Unable to read from file %s", fname); + msg = lives_strdup_printf(_("\nLiVES was unable to read from the file\n%s\nPlease check for possible error causes.\n"), sutf); } else { - emsg=lives_strdup_printf("Unable to read from file %s, error was %s",fname,errtext); - msg=lives_strdup_printf(_("\nLiVES was unable to read from the file\n%s\nThe error was\n%s.\n"),sutf,errtext); + emsg = lives_strdup_printf("Unable to read from file %s, error was %s", fname, errtext); + msg = lives_strdup_printf(_("\nLiVES was unable to read from the file\n%s\nThe error was\n%s.\n"), sutf, errtext); } LIVES_ERROR(emsg); lives_free(emsg); - ret=do_abort_cancel_retry_dialog(msg,transient); + ret = do_abort_cancel_retry_dialog(msg, transient); lives_free(msg); lives_free(sutf); - mainw->read_failed=FALSE; // reset this + mainw->read_failed = FALSE; // reset this return ret; - } int do_header_read_error_with_retry(int clip) { int ret; char *hname; - if (mainw->files[clip]==NULL) return 0; + if (mainw->files[clip] == NULL) return 0; - hname=lives_build_filename(prefs->workdir,mainw->files[clip]->handle,"header.lives",NULL); + hname = lives_build_filename(prefs->workdir, mainw->files[clip]->handle, "header.lives", NULL); - ret=do_read_failed_error_s_with_retry(hname,NULL,NULL); + ret = do_read_failed_error_s_with_retry(hname, NULL, NULL); lives_free(hname); return ret; } - boolean do_header_write_error(int clip) { // returns TRUE if we manage to clear the error char *hname; int retval; - if (mainw->files[clip]==NULL) return TRUE; + if (mainw->files[clip] == NULL) return TRUE; - hname=lives_build_filename(prefs->workdir,mainw->files[clip]->handle,"header.lives",NULL); - retval=do_write_failed_error_s_with_retry(hname,NULL,NULL); - if (retval==LIVES_RESPONSE_RETRY && save_clip_values(clip)) retval=0; // on retry try to save all values + hname = lives_build_filename(prefs->workdir, mainw->files[clip]->handle, "header.lives", NULL); + retval = do_write_failed_error_s_with_retry(hname, NULL, NULL); + if (retval == LIVES_RESPONSE_RETRY && save_clip_values(clip)) retval = 0; // on retry try to save all values lives_free(hname); return (!retval); } - int do_header_missing_detail_error(int clip, lives_clip_details_t detail) { int ret; - char *hname,*key,*msg; - if (mainw->files[clip]==NULL) return 0; + char *hname, *key, *msg; + if (mainw->files[clip] == NULL) return 0; - hname=lives_build_filename(prefs->workdir,mainw->files[clip]->handle,"header.lives",NULL); + hname = lives_build_filename(prefs->workdir, mainw->files[clip]->handle, "header.lives", NULL); - key=clip_detail_to_string(detail,NULL); + key = clip_detail_to_string(detail, NULL); - if (key==NULL) { - msg=lives_strdup_printf("Invalid detail %d requested from file %s",detail,hname); + if (key == NULL) { + msg = lives_strdup_printf("Invalid detail %d requested from file %s", detail, hname); LIVES_ERROR(msg); lives_free(msg); lives_free(hname); return 0; } - msg=lives_strdup_printf(_("Value for \"%s\" could not be read."),key); - ret=do_read_failed_error_s_with_retry(hname,msg,NULL); + msg = lives_strdup_printf(_("Value for \"%s\" could not be read."), key); + ret = do_read_failed_error_s_with_retry(hname, msg, NULL); lives_free(msg); lives_free(key); @@ -3281,40 +3161,38 @@ } - void do_chdir_failed_error(const char *dir) { char *msg; char *dutf; - char *emsg=lives_strdup_printf("Failed directory change to\n%s",dir); + char *emsg = lives_strdup_printf("Failed directory change to\n%s", dir); LIVES_ERROR(emsg); lives_free(emsg); - dutf=lives_filename_to_utf8(dir,-1,NULL,NULL,NULL); - msg=lives_strdup_printf(_("\nLiVES failed to change directory to\n%s\nPlease check your system for errors.\n"),dutf); + dutf = lives_filename_to_utf8(dir, -1, NULL, NULL, NULL); + msg = lives_strdup_printf(_("\nLiVES failed to change directory to\n%s\nPlease check your system for errors.\n"), dutf); do_error_dialog(msg); lives_free(msg); lives_free(dutf); } - void do_file_perm_error(const char *file_name) { - char *msg=lives_strdup_printf(_("\nLiVES was unable to write to the file:\n%s\nPlease check the file permissions and try again."), - file_name); + char *msg = lives_strdup_printf(_("\nLiVES was unable to write to the file:\n%s\nPlease check the file permissions and try again."), + file_name); do_blocking_error_dialog(msg); lives_free(msg); } void do_dir_perm_error(const char *dir_name) { - char *msg=lives_strdup_printf( - _("\nLiVES was unable to either create or write to the directory:\n%s\nPlease check the directory permissions and try again."),dir_name); + char *msg = lives_strdup_printf( + _("\nLiVES was unable to either create or write to the directory:\n%s\nPlease check the directory permissions and try again."), dir_name); do_blocking_error_dialog(msg); lives_free(msg); } void do_dir_perm_access_error(const char *dir_name) { - char *msg=lives_strdup_printf(_("\nLiVES was unable to read from the directory:\n%s\n"),dir_name); + char *msg = lives_strdup_printf(_("\nLiVES was unable to read from the directory:\n%s\n"), dir_name); do_blocking_error_dialog(msg); lives_free(msg); } @@ -3325,12 +3203,11 @@ } - void do_encoder_img_ftm_error(render_details *rdet) { - char *msg=lives_strdup_printf(_("\nThe %s cannot encode clips with image type %s.\nPlease select another encoder from the list.\n"), - prefs->encoder.name,get_image_ext_for_type(cfile->img_type)); + char *msg = lives_strdup_printf(_("\nThe %s cannot encode clips with image type %s.\nPlease select another encoder from the list.\n"), + prefs->encoder.name, get_image_ext_for_type(cfile->img_type)); - do_error_dialog_with_check_transient(msg,TRUE,0,LIVES_WINDOW(rdet->dialog)); + do_error_dialog_with_check_transient(msg, TRUE, 0, LIVES_WINDOW(rdet->dialog)); lives_free(msg); } @@ -3342,10 +3219,10 @@ void do_dev_busy_error(const char *devstr) { - char *msg=lives_strdup_printf( - _("\nThe device %s is in use or unavailable.\n- Check the device permissions\n- Check if this device is in use by another program.\n" - "- Check if the device actually exists.\n"), - devstr); + char *msg = lives_strdup_printf( + _("\nThe device %s is in use or unavailable.\n- Check the device permissions\n- Check if this device is in use by another program.\n" + "- Check if the device actually exists.\n"), + devstr); do_blocking_error_dialog(msg); lives_free(msg); } @@ -3356,23 +3233,23 @@ } void do_invalid_subs_error(void) { - char *msg=lives_strdup(_("\nLiVES currently only supports subtitles of type")); + char *msg = lives_strdup(_("\nLiVES currently only supports subtitles of type")); char *tmp; - char *filt[]=LIVES_SUBS_FILTER; + char *filt[] = LIVES_SUBS_FILTER; - register int i=0; + register int i = 0; - while (filt[i]!=NULL) { - if (filt[i+1]==NULL) { - tmp=lives_strdup_printf("%s or .%s\n",msg,filt[i]+2); - } else if (i>0) { - tmp=lives_strdup_printf("%s, .%s)",msg,filt[i]+2); + while (filt[i] != NULL) { + if (filt[i + 1] == NULL) { + tmp = lives_strdup_printf("%s or .%s\n", msg, filt[i] + 2); + } else if (i > 0) { + tmp = lives_strdup_printf("%s, .%s)", msg, filt[i] + 2); } else { - tmp=lives_strdup_printf("%s .%s)",msg,filt[i]+2); + tmp = lives_strdup_printf("%s .%s)", msg, filt[i] + 2); } lives_free(msg); - msg=tmp; + msg = tmp; i++; } @@ -3380,6 +3257,7 @@ lives_free(msg); } + boolean do_erase_subs_warning(void) { return do_yesno_dialog(_("\nErase all subtitles from this clip.\nAre you sure ?\n")); } @@ -3387,50 +3265,56 @@ boolean do_sub_type_warning(const char *ext, const char *type_ext) { boolean ret; - char *msg=lives_strdup_printf( - _("\nLiVES does not recognise the subtitle file type \"%s\".\nClick Cancel to set another file name\nor OK to continue and save as type \"%s\"\n"), - ext,type_ext); - ret=do_warning_dialog(msg); + char *msg = lives_strdup_printf( + _("\nLiVES does not recognise the subtitle file type \"%s\".\nClick Cancel to set another file name\nor OK to continue and save as type \"%s\"\n"), + ext, type_ext); + ret = do_warning_dialog(msg); lives_free(msg); return ret; } + boolean do_move_workdir_dialog(void) { return do_yesno_dialog(_("\nDo you wish to move the current clip sets to the new directory ?\n(If unsure, click Yes)\n")); } + void do_set_locked_warning(const char *setname) { - char *msg=lives_strdup_printf( - _("\nWarning - the set %s\nis in use by another copy of LiVES.\nYou are strongly advised to close the other copy before clicking OK to continue\n."), - setname); + char *msg = lives_strdup_printf( + _("\nWarning - the set %s\nis in use by another copy of LiVES.\nYou are strongly advised to close the other copy before clicking OK to continue\n."), + setname); do_warning_dialog(msg); lives_free(msg); } + void do_no_in_vdevs_error(void) { do_error_dialog(_("\nNo video input devices could be found.\n")); } + void do_locked_in_vdevs_error(void) { do_error_dialog(_("\nAll video input devices are already in use.\n")); } + void do_do_not_close_d(void) { - char *msg=lives_strdup(_("\n\nCLEANING AND COPYING FILES. THIS MAY TAKE SOME TIME.\nDO NOT SHUT DOWN OR CLOSE LIVES !\n")); - create_info_error_dialog(LIVES_DIALOG_WARN,msg,NULL,0,FALSE); + char *msg = lives_strdup(_("\n\nCLEANING AND COPYING FILES. THIS MAY TAKE SOME TIME.\nDO NOT SHUT DOWN OR CLOSE LIVES !\n")); + create_info_error_dialog(LIVES_DIALOG_WARN, msg, NULL, 0, FALSE); lives_free(msg); } + void do_bad_theme_error(const char *themefile) { - char *msg=lives_strdup_printf(_("\nThe theme file %s has missing elements.\nThe theme could not be loaded correctly.\n"),themefile); + char *msg = lives_strdup_printf(_("\nThe theme file %s has missing elements.\nThe theme could not be loaded correctly.\n"), themefile); do_error_dialog(msg); lives_free(msg); } void do_set_noclips_error(const char *setname) { - char *msg=lives_strdup_printf(_("No clips were recovered for set (%s).\nPlease check the spelling of the set name and try again.\n"), - setname); + char *msg = lives_strdup_printf(_("No clips were recovered for set (%s).\nPlease check the spelling of the set name and try again.\n"), + setname); d_print(msg); lives_free(msg); } @@ -3440,13 +3324,13 @@ LIVES_DEBUG("upd msg !"); // TRANSLATORS: make sure the menu text matches what is in gui.c char *msg; - if (type==2) { - msg=lives_strdup_printf( - _("Some security issues have been fixed in this version of LiVES.\nIn order to complete the fixes I can update the permissions on your\n%s\ndirectory. Would you like me to do this (recommended) ?"), - prefs->workdir); + if (type == 2) { + msg = lives_strdup_printf( + _("Some security issues have been fixed in this version of LiVES.\nIn order to complete the fixes I can update the permissions on your\n%s\ndirectory. Would you like me to do this (recommended) ?"), + prefs->workdir); } else { - msg=lives_strdup_printf( - _("\nWelcome to LiVES version %s\n\nAfter upgrading, you are *strongly* advised to run:\n\nFile -> Clean up Diskspace\n"),LiVES_VERSION); + msg = lives_strdup_printf( + _("\nWelcome to LiVES version %s\n\nAfter upgrading, you are *strongly* advised to run:\n\nFile -> Clean up Diskspace\n"), LiVES_VERSION); } return msg; } @@ -3455,7 +3339,7 @@ char *get_new_install_msg(void) { LIVES_DEBUG("upd msg !"); // TRANSLATORS: make sure the menu text matches what is in gui.c - char *msg=lives_strdup_printf(_("\n\nWelcome to LiVES version %s !\n\n"),LiVES_VERSION); + char *msg = lives_strdup_printf(_("\n\nWelcome to LiVES version %s !\n\n"), LiVES_VERSION); return msg; } @@ -3464,14 +3348,17 @@ do_error_dialog(_("\nYou must have autolives.pl installed and in your path to use this toy.\nConsult your package distributor.\n")); } + void do_autolives_needs_clips_error(void) { do_error_dialog(_("\nYou must have a minimum of one clip loaded to use this toy.\n")); } + void do_jack_lost_conn_error(void) { do_error_dialog(_("\nLiVES lost its connection to jack and was unable to reconnect.\nRestarting LiVES is recommended.\n")); } + void do_pulse_lost_conn_error(void) { do_error_dialog(_("\nLiVES lost its connection to pulseaudio and was unable to reconnect.\nRestarting LiVES is recommended.\n")); } @@ -3483,7 +3370,7 @@ void do_bad_theme_import_error(const char *theme_file) { - char *msg=lives_strdup_printf(_("\nLiVES was unable to import the theme file\n%s\n(Theme name not found).\n"),theme_file); + char *msg = lives_strdup_printf(_("\nLiVES was unable to import the theme file\n%s\n(Theme name not found).\n"), theme_file); do_error_dialog(msg); lives_free(msg); } @@ -3491,14 +3378,13 @@ boolean do_theme_exists_warn(const char *themename) { boolean ret; - char *msg=lives_strdup_printf(_("\nA custom theme with the name\n%s\nalready exists. Would you like to overwrite it ?\n"),themename); - ret=do_yesno_dialog(msg); + char *msg = lives_strdup_printf(_("\nA custom theme with the name\n%s\nalready exists. Would you like to overwrite it ?\n"), themename); + ret = do_yesno_dialog(msg); lives_free(msg); return ret; } - boolean ask_permission_dialog(int what) { char *msg; boolean ret; @@ -3507,11 +3393,11 @@ switch (what) { case LIVES_PERM_OSC_PORTS: - msg=lives_strdup_printf( - _("\nLiVES would like to open a local network connection (UDP port %d),\nto let other applications connect to it.\n" - "Do you wish to allow this (for this session only) ?\n"), - prefs->osc_udp_port); - ret=do_yesno_dialog(msg); + msg = lives_strdup_printf( + _("\nLiVES would like to open a local network connection (UDP port %d),\nto let other applications connect to it.\n" + "Do you wish to allow this (for this session only) ?\n"), + prefs->osc_udp_port); + ret = do_yesno_dialog(msg); lives_free(msg); return ret; default:
View file
LiVES-2.8.4.tar.bz2/src/effects-data.c -> LiVES-2.8.6.tar.bz2/src/effects-data.c
Changed
@@ -44,7 +44,7 @@ static void dfxp_changed(LiVESWidget *, livespointer conxwp); -static weed_plant_t *active_dummy=NULL; +static weed_plant_t *active_dummy = NULL; static LiVESTreeModel *pmodel; static LiVESTreeModel *cmodel; @@ -53,15 +53,15 @@ static void switch_fx_state(int okey, int hotkey) { // switch effect state when a connection to ACTIVATE is present - uint32_t last_grabbable_effect=mainw->last_grabbable_effect; + uint32_t last_grabbable_effect = mainw->last_grabbable_effect; // use -hotkey to indicate auto - filter_mutex_unlock(hotkey-1); - if (okey>-1) filter_mutex_unlock(okey); + filter_mutex_unlock(hotkey - 1); + if (okey > -1) filter_mutex_unlock(okey); - rte_on_off_callback_hook(NULL,LIVES_INT_TO_POINTER(-hotkey)); + rte_on_off_callback_hook(NULL, LIVES_INT_TO_POINTER(-hotkey)); - mainw->last_grabbable_effect=last_grabbable_effect; + mainw->last_grabbable_effect = last_grabbable_effect; } @@ -69,32 +69,32 @@ // if we have a connection from oparam -1 to iparam -1 for key/mode then set autoscale to TRUE // this allows user override of LIVES_WIDGET_CLICKED_SIGNAL when connected from another filter's "activated" - lives_pconnect_t *pconx=mainw->pconx; + lives_pconnect_t *pconx = mainw->pconx; int totcons; - int imode=rte_key_getmode(hotkey); + int imode = rte_key_getmode(hotkey); - register int i,j; + register int i, j; hotkey--; - while (pconx!=NULL) { - totcons=0; - j=0; - for (i=0; i<pconx->nparams; i++) { - totcons+=pconx->nconns[i]; - for (; j<totcons; j++) { - if (pconx->ikey[j]==hotkey && pconx->imode[j]==imode && pconx->ipnum[j]==FX_DATA_PARAM_ACTIVE) { + while (pconx != NULL) { + totcons = 0; + j = 0; + for (i = 0; i < pconx->nparams; i++) { + totcons += pconx->nconns[i]; + for (; j < totcons; j++) { + if (pconx->ikey[j] == hotkey && pconx->imode[j] == imode && pconx->ipnum[j] == FX_DATA_PARAM_ACTIVE) { // out param is "ACTIVATED" - if (pconx->params[i]==FX_DATA_PARAM_ACTIVE) { + if (pconx->params[i] == FX_DATA_PARAM_ACTIVE) { // abuse "autoscale" for this - pconx->autoscale[i]=TRUE; + pconx->autoscale[i] = TRUE; } return; } } } - pconx=pconx->next; + pconx = pconx->next; } } @@ -102,48 +102,48 @@ // if any iparam -1 has key/mode/-1 as oparam, set autoscale to FALSE // this ends the override when the controlling effect changes state - lives_pconnect_t *pconx=mainw->pconx; + lives_pconnect_t *pconx = mainw->pconx; int totcons; - int omode=rte_key_getmode(hotkey); + int omode = rte_key_getmode(hotkey); - register int i,j; + register int i, j; hotkey--; - while (pconx!=NULL) { - if (pconx->okey==hotkey&&pconx->omode==omode) { - totcons=0; - j=0; - for (i=0; i<pconx->nparams; i++) { - totcons+=pconx->nconns[i]; - - if (pconx->params[i]==FX_DATA_PARAM_ACTIVE) { - for (; j<totcons; j++) { - if (pconx->ipnum[j]==FX_DATA_PARAM_ACTIVE) { + while (pconx != NULL) { + if (pconx->okey == hotkey && pconx->omode == omode) { + totcons = 0; + j = 0; + for (i = 0; i < pconx->nparams; i++) { + totcons += pconx->nconns[i]; + + if (pconx->params[i] == FX_DATA_PARAM_ACTIVE) { + for (; j < totcons; j++) { + if (pconx->ipnum[j] == FX_DATA_PARAM_ACTIVE) { // abuse "autoscale" for this - pconx->autoscale[i]=FALSE; + pconx->autoscale[i] = FALSE; } } } - else j+=pconx->nconns[i]; + else j += pconx->nconns[i]; } } - pconx=pconx->next; + pconx = pconx->next; } } void pconx_delete_all(void) { - lives_pconnect_t *pconx=mainw->pconx,*pconx_next; + lives_pconnect_t *pconx = mainw->pconx, *pconx_next; register int i; - for (i=0; i<FX_KEYS_MAX_VIRTUAL; i++) pthread_mutex_lock(&mainw->data_mutex[i]); + for (i = 0; i < FX_KEYS_MAX_VIRTUAL; i++) pthread_mutex_lock(&mainw->data_mutex[i]); - while (pconx!=NULL) { - pconx_next=pconx->next; + while (pconx != NULL) { + pconx_next = pconx->next; lives_free(pconx->params); lives_free(pconx->nconns); lives_free(pconx->ikey); @@ -151,69 +151,69 @@ lives_free(pconx->ipnum); lives_free(pconx->autoscale); lives_free(pconx); - pconx=pconx_next; + pconx = pconx_next; } - mainw->pconx=NULL; + mainw->pconx = NULL; - for (i=0; i<FX_KEYS_MAX_VIRTUAL; i++) pthread_mutex_unlock(&mainw->data_mutex[i]); + for (i = 0; i < FX_KEYS_MAX_VIRTUAL; i++) pthread_mutex_unlock(&mainw->data_mutex[i]); } static lives_pconnect_t *pconx_new(int okey, int omode) { - lives_pconnect_t *pconx=(lives_pconnect_t *)lives_malloc0(sizeof(struct _lives_pconnect_t)); - pconx->next=NULL; - pconx->okey=okey; - pconx->omode=omode; - pconx->nparams=0; - pconx->nconns=NULL; + lives_pconnect_t *pconx = (lives_pconnect_t *)lives_malloc0(sizeof(struct _lives_pconnect_t)); + pconx->next = NULL; + pconx->okey = okey; + pconx->omode = omode; + pconx->nparams = 0; + pconx->nconns = NULL; return pconx; } static lives_pconnect_t *pconx_copy(lives_pconnect_t *spconx) { - lives_pconnect_t *pconx=NULL,*dpconx,*last_dpconx; + lives_pconnect_t *pconx = NULL, *dpconx, *last_dpconx; - int totcons=0; + int totcons = 0; - register int i,j=0; + register int i, j = 0; - while (spconx!=NULL) { - dpconx=pconx_new(spconx->okey,spconx->omode); - if (pconx==NULL) pconx=dpconx; - else last_dpconx->next=dpconx; + while (spconx != NULL) { + dpconx = pconx_new(spconx->okey, spconx->omode); + if (pconx == NULL) pconx = dpconx; + else last_dpconx->next = dpconx; - dpconx->nparams=spconx->nparams; + dpconx->nparams = spconx->nparams; - dpconx->nconns=(int *)lives_malloc(dpconx->nparams*sizint); - dpconx->params=(int *)lives_malloc(dpconx->nparams*sizint); + dpconx->nconns = (int *)lives_malloc(dpconx->nparams * sizint); + dpconx->params = (int *)lives_malloc(dpconx->nparams * sizint); - dpconx->ikey=dpconx->imode=dpconx->ipnum=NULL; - dpconx->autoscale=NULL; + dpconx->ikey = dpconx->imode = dpconx->ipnum = NULL; + dpconx->autoscale = NULL; - j=0; + j = 0; - for (i=0; i<dpconx->nparams; i++) { - dpconx->params[i]=spconx->params[i]; - dpconx->nconns[i]=spconx->nconns[i]; - totcons+=dpconx->nconns[i]; + for (i = 0; i < dpconx->nparams; i++) { + dpconx->params[i] = spconx->params[i]; + dpconx->nconns[i] = spconx->nconns[i]; + totcons += dpconx->nconns[i]; - dpconx->ikey=(int *)lives_realloc(dpconx->ikey,totcons*sizint); - dpconx->imode=(int *)lives_realloc(dpconx->imode,totcons*sizint); - dpconx->ipnum=(int *)lives_realloc(dpconx->ipnum,totcons*sizint); - dpconx->autoscale=(boolean *)lives_realloc(dpconx->autoscale,totcons*sizint); + dpconx->ikey = (int *)lives_realloc(dpconx->ikey, totcons * sizint); + dpconx->imode = (int *)lives_realloc(dpconx->imode, totcons * sizint); + dpconx->ipnum = (int *)lives_realloc(dpconx->ipnum, totcons * sizint); + dpconx->autoscale = (boolean *)lives_realloc(dpconx->autoscale, totcons * sizint); - while (j<totcons) { - dpconx->ikey[j]=spconx->ikey[j]; - dpconx->imode[j]=spconx->imode[j]; - dpconx->ipnum[j]=spconx->ipnum[j]; - dpconx->autoscale[j]=spconx->autoscale[j]; + while (j < totcons) { + dpconx->ikey[j] = spconx->ikey[j]; + dpconx->imode[j] = spconx->imode[j]; + dpconx->ipnum[j] = spconx->ipnum[j]; + dpconx->autoscale[j] = spconx->autoscale[j]; j++; } } - spconx=spconx->next; - last_dpconx=dpconx; + spconx = spconx->next; + last_dpconx = dpconx; } return pconx; @@ -222,30 +222,31 @@ char *pconx_list(int okey, int omode, int opnum) { - char *st1=lives_strdup(""),*st2; - lives_pconnect_t *pconx=mainw->pconx; + char *st1 = lives_strdup(""), *st2; + lives_pconnect_t *pconx = mainw->pconx; - int totcons=0; + int totcons = 0; - register int i,j; + register int i, j; - while (pconx!=NULL) { - if (pconx->okey==okey&&pconx->omode==omode) { - for (i=0; i<pconx->nparams; i++) { - if (pconx->params[i]==opnum) { - for (j=totcons; j<totcons+pconx->nconns[i]; j++) { - if (strlen(st1)==0) st2=lives_strdup_printf("%d %d %d %d",pconx->ikey[j]+1,pconx->imode[j]+1,pconx->ipnum[j],pconx->autoscale[j]); - st2=lives_strdup_printf("%s %d %d %d %d",st1,pconx->ikey[j]+1,pconx->imode[j]+1,pconx->ipnum[j],pconx->autoscale[j]); + while (pconx != NULL) { + if (pconx->okey == okey && pconx->omode == omode) { + for (i = 0; i < pconx->nparams; i++) { + if (pconx->params[i] == opnum) { + for (j = totcons; j < totcons + pconx->nconns[i]; j++) { + if (strlen(st1) == 0) st2 = lives_strdup_printf("%d %d %d %d", pconx->ikey[j] + 1, pconx->imode[j] + 1, pconx->ipnum[j], + pconx->autoscale[j]); + st2 = lives_strdup_printf("%s %d %d %d %d", st1, pconx->ikey[j] + 1, pconx->imode[j] + 1, pconx->ipnum[j], pconx->autoscale[j]); lives_free(st1); - st1=st2; + st1 = st2; } return st1; } - totcons+=pconx->nconns[i]; + totcons += pconx->nconns[i]; } return st1; } - pconx=pconx->next; + pconx = pconx->next; } return st1; } @@ -255,18 +256,18 @@ void pconx_delete(int okey, int omode, int opnum, int ikey, int imode, int ipnum) { - lives_pconnect_t *pconx=mainw->pconx,*pconx_next,*pconx_prev=NULL; + lives_pconnect_t *pconx = mainw->pconx, *pconx_next, *pconx_prev = NULL; - register int i,j=0,k; + register int i, j = 0, k; - int totcons=0,maxcons=0; + int totcons = 0, maxcons = 0; - for (i=0; i<FX_KEYS_MAX_VIRTUAL; i++) pthread_mutex_lock(&mainw->data_mutex[i]); + for (i = 0; i < FX_KEYS_MAX_VIRTUAL; i++) pthread_mutex_lock(&mainw->data_mutex[i]); - while (pconx!=NULL) { - pconx_next=pconx->next; - if (okey==FX_DATA_WILDCARD||(pconx->okey==okey&&pconx->omode==omode)) { - if (ikey==FX_DATA_WILDCARD) { + while (pconx != NULL) { + pconx_next = pconx->next; + if (okey == FX_DATA_WILDCARD || (pconx->okey == okey && pconx->omode == omode)) { + if (ikey == FX_DATA_WILDCARD) { //g_print("rem all cons from %d %d to any param\n",okey,omode); // delete entire node @@ -277,54 +278,54 @@ lives_free(pconx->ipnum); lives_free(pconx->autoscale); lives_free(pconx); - if (mainw->pconx==pconx) mainw->pconx=pconx_next; - else pconx_prev->next=pconx_next; - for (i=0; i<FX_KEYS_MAX_VIRTUAL; i++) pthread_mutex_unlock(&mainw->data_mutex[i]); + if (mainw->pconx == pconx) mainw->pconx = pconx_next; + else pconx_prev->next = pconx_next; + for (i = 0; i < FX_KEYS_MAX_VIRTUAL; i++) pthread_mutex_unlock(&mainw->data_mutex[i]); return; } - maxcons=0; - totcons=0; - j=0; + maxcons = 0; + totcons = 0; + j = 0; - for (i=0; i<pconx->nparams; i++) { - maxcons+=pconx->nconns[i]; + for (i = 0; i < pconx->nparams; i++) { + maxcons += pconx->nconns[i]; } - for (i=0; pconx!=NULL&&i<pconx->nparams; i++) { - totcons+=pconx->nconns[i]; + for (i = 0; pconx != NULL && i < pconx->nparams; i++) { + totcons += pconx->nconns[i]; - if (okey!=FX_DATA_WILDCARD&&pconx->params[i]!=opnum) { - j=totcons; + if (okey != FX_DATA_WILDCARD && pconx->params[i] != opnum) { + j = totcons; continue; } - for (; j<totcons; j++) { + for (; j < totcons; j++) { - if (pconx->ikey[j]==ikey && pconx->imode[j]==imode && (ipnum==FX_DATA_WILDCARD||pconx->ipnum[j]==ipnum)) { + if (pconx->ikey[j] == ikey && pconx->imode[j] == imode && (ipnum == FX_DATA_WILDCARD || pconx->ipnum[j] == ipnum)) { maxcons--; - for (k=j; k<maxcons; k++) { - pconx->ikey[k]=pconx->ikey[k+1]; - pconx->imode[k]=pconx->imode[k+1]; - pconx->ipnum[k]=pconx->ipnum[k+1]; - pconx->autoscale[k]=pconx->autoscale[k+1]; + for (k = j; k < maxcons; k++) { + pconx->ikey[k] = pconx->ikey[k + 1]; + pconx->imode[k] = pconx->imode[k + 1]; + pconx->ipnum[k] = pconx->ipnum[k + 1]; + pconx->autoscale[k] = pconx->autoscale[k + 1]; } - pconx->ikey=(int *)lives_realloc(pconx->ikey,maxcons*sizint); - pconx->imode=(int *)lives_realloc(pconx->imode,maxcons*sizint); - pconx->ipnum=(int *)lives_realloc(pconx->ipnum,maxcons*sizint); - pconx->autoscale=(boolean *)lives_realloc(pconx->autoscale,maxcons*sizint); + pconx->ikey = (int *)lives_realloc(pconx->ikey, maxcons * sizint); + pconx->imode = (int *)lives_realloc(pconx->imode, maxcons * sizint); + pconx->ipnum = (int *)lives_realloc(pconx->ipnum, maxcons * sizint); + pconx->autoscale = (boolean *)lives_realloc(pconx->autoscale, maxcons * sizint); pconx->nconns[i]--; - if (pconx->nconns[i]==0) { + if (pconx->nconns[i] == 0) { pconx->nparams--; - for (k=i; k<pconx->nparams; k++) { - pconx->params[k]=pconx->params[k+1]; - pconx->nconns[k]=pconx->nconns[k+1]; + for (k = i; k < pconx->nparams; k++) { + pconx->params[k] = pconx->params[k + 1]; + pconx->nconns[k] = pconx->nconns[k + 1]; } - if (pconx->nparams==0) { + if (pconx->nparams == 0) { // delete entire node lives_free(pconx->params); lives_free(pconx->nconns); @@ -333,75 +334,75 @@ lives_free(pconx->ipnum); lives_free(pconx->autoscale); lives_free(pconx); - if (mainw->pconx==pconx) { - mainw->pconx=pconx_next; - pconx=NULL; + if (mainw->pconx == pconx) { + mainw->pconx = pconx_next; + pconx = NULL; } else { - pconx=pconx_prev; - pconx->next=pconx_next; + pconx = pconx_prev; + pconx->next = pconx_next; } } else { - pconx->nconns=(int *)lives_realloc(pconx->nconns,pconx->nparams*sizint); + pconx->nconns = (int *)lives_realloc(pconx->nconns, pconx->nparams * sizint); } } } } } } - pconx_prev=pconx; - pconx=pconx_next; + pconx_prev = pconx; + pconx = pconx_next; } - for (i=0; i<FX_KEYS_MAX_VIRTUAL; i++) pthread_mutex_unlock(&mainw->data_mutex[i]); + for (i = 0; i < FX_KEYS_MAX_VIRTUAL; i++) pthread_mutex_unlock(&mainw->data_mutex[i]); } void pconx_remap_mode(int key, int omode, int nmode) { - lives_pconnect_t *pconx=mainw->pconx; + lives_pconnect_t *pconx = mainw->pconx; - register int i,j,totcons; + register int i, j, totcons; - while (pconx!=NULL) { - if (pconx->okey==key&&pconx->omode==omode) { - pconx->omode=nmode; + while (pconx != NULL) { + if (pconx->okey == key && pconx->omode == omode) { + pconx->omode = nmode; } - j=0; - totcons=0; - for (i=0; i<pconx->nparams; i++) { - totcons+=pconx->nconns[i]; - for (; j<totcons; j++) { - if (pconx->ikey[j]==key && pconx->imode[j]==omode) { - pconx->imode[j]=nmode; + j = 0; + totcons = 0; + for (i = 0; i < pconx->nparams; i++) { + totcons += pconx->nconns[i]; + for (; j < totcons; j++) { + if (pconx->ikey[j] == key && pconx->imode[j] == omode) { + pconx->imode[j] = nmode; } } } - pconx=pconx->next; + pconx = pconx->next; } } static void pconx_append(lives_pconnect_t *pconx) { - lives_pconnect_t *opconx=mainw->pconx; - lives_pconnect_t *last_pconx=opconx; + lives_pconnect_t *opconx = mainw->pconx; + lives_pconnect_t *last_pconx = opconx; - while (opconx!=NULL) { - last_pconx=opconx; - opconx=opconx->next; + while (opconx != NULL) { + last_pconx = opconx; + opconx = opconx->next; } - if (last_pconx!=NULL) last_pconx->next=pconx; - if (mainw->pconx==NULL) mainw->pconx=pconx; + if (last_pconx != NULL) last_pconx->next = pconx; + if (mainw->pconx == NULL) mainw->pconx = pconx; } static lives_pconnect_t *pconx_find(int okey, int omode) { // - lives_pconnect_t *pconx=mainw->pconx; - while (pconx!=NULL) { - if (pconx->okey==okey&&pconx->omode==omode) { + lives_pconnect_t *pconx = mainw->pconx; + while (pconx != NULL) { + if (pconx->okey == okey && pconx->omode == omode) { return pconx; } - pconx=pconx->next; + pconx = pconx->next; } return NULL; } @@ -410,14 +411,14 @@ static int pconx_get_numcons(lives_conx_w *conxwp, int pnum) { // get displayed number - int totcons=0; + int totcons = 0; register int j; - if (pnum!=FX_DATA_WILDCARD) return conxwp->dispp[pnum+EXTRA_PARAMS_OUT]; + if (pnum != FX_DATA_WILDCARD) return conxwp->dispp[pnum + EXTRA_PARAMS_OUT]; - for (j=0; j<conxwp->num_params; j++) { - totcons+=conxwp->dispp[j]; + for (j = 0; j < conxwp->num_params; j++) { + totcons += conxwp->dispp[j]; } return totcons; @@ -426,15 +427,15 @@ static int pconx_get_nconns(lives_pconnect_t *pconx, int pnum) { // get actual number of connections - int totcons=0; + int totcons = 0; register int j; - if (pconx==NULL) return 0; + if (pconx == NULL) return 0; - for (j=0; j<pconx->nparams; j++) { - if (pnum!=FX_DATA_WILDCARD) { - if (pconx->params[j]==pnum) return pconx->nconns[j]; - } else totcons+=pconx->nconns[j]; + for (j = 0; j < pconx->nparams; j++) { + if (pnum != FX_DATA_WILDCARD) { + if (pconx->params[j] == pnum) return pconx->nconns[j]; + } else totcons += pconx->nconns[j]; } return totcons; } @@ -443,46 +444,46 @@ static void pconx_add_connection_private(lives_pconnect_t *pconx, int okey, int omode, int opnum, int ikey, int imode, int ipnum, boolean autoscale) { - int posn=0,totcons=0; - register int i,j; + int posn = 0, totcons = 0; + register int i, j; // delete any existing connection to the input param - pconx_delete(FX_DATA_WILDCARD,0,0,ikey,imode,ipnum); + pconx_delete(FX_DATA_WILDCARD, 0, 0, ikey, imode, ipnum); - for (i=0; i<FX_KEYS_MAX_VIRTUAL; i++) pthread_mutex_lock(&mainw->data_mutex[i]); + for (i = 0; i < FX_KEYS_MAX_VIRTUAL; i++) pthread_mutex_lock(&mainw->data_mutex[i]); - if (pconx==NULL) { + if (pconx == NULL) { // add whole new node - pconx=pconx_new(okey,omode); + pconx = pconx_new(okey, omode); pconx_append(pconx); } else { // see if already in params - for (i=0; i<pconx->nparams; i++) { + for (i = 0; i < pconx->nparams; i++) { - if (pconx->params[i]==opnum) { + if (pconx->params[i] == opnum) { // located ! // add connection to existing - for (j=0; j<pconx->nparams; j++) { - if (j<i) { + for (j = 0; j < pconx->nparams; j++) { + if (j < i) { // calc posn - posn+=pconx->nconns[j]; + posn += pconx->nconns[j]; } - totcons+=pconx->nconns[j]; + totcons += pconx->nconns[j]; } // if already there, do not add again, just update autoscale - for (j=posn; j<posn+pconx->nconns[i]; j++) { - if (pconx->ikey[j]==ikey&&pconx->imode[j]==imode&&pconx->ipnum[j]==ipnum) { - pconx->autoscale[j]=autoscale; - for (i=0; i<FX_KEYS_MAX_VIRTUAL; i++) pthread_mutex_unlock(&mainw->data_mutex[i]); + for (j = posn; j < posn + pconx->nconns[i]; j++) { + if (pconx->ikey[j] == ikey && pconx->imode[j] == imode && pconx->ipnum[j] == ipnum) { + pconx->autoscale[j] = autoscale; + for (i = 0; i < FX_KEYS_MAX_VIRTUAL; i++) pthread_mutex_unlock(&mainw->data_mutex[i]); return; } // add in order key/mode/chan - if (pconx->ikey[j]>ikey||(pconx->ikey[j]==ikey&&pconx->imode[j]>imode)|| - (pconx->ikey[j]==ikey&&pconx->imode[j]==imode&&pconx->ipnum[j]>ipnum)) break; + if (pconx->ikey[j] > ikey || (pconx->ikey[j] == ikey && pconx->imode[j] > imode) || + (pconx->ikey[j] == ikey && pconx->imode[j] == imode && pconx->ipnum[j] > ipnum)) break; } @@ -491,29 +492,29 @@ totcons++; - posn=j; + posn = j; // make space for new - pconx->ikey=(int *)lives_realloc(pconx->ikey,totcons*sizint); - pconx->imode=(int *)lives_realloc(pconx->imode,totcons*sizint); - pconx->ipnum=(int *)lives_realloc(pconx->ipnum,totcons*sizint); - pconx->autoscale=(boolean *)lives_realloc(pconx->autoscale,totcons*sizint); + pconx->ikey = (int *)lives_realloc(pconx->ikey, totcons * sizint); + pconx->imode = (int *)lives_realloc(pconx->imode, totcons * sizint); + pconx->ipnum = (int *)lives_realloc(pconx->ipnum, totcons * sizint); + pconx->autoscale = (boolean *)lives_realloc(pconx->autoscale, totcons * sizint); // move up 1 - for (j=totcons-1; j>posn; j--) { - pconx->ikey[j]=pconx->ikey[j-1]; - pconx->imode[j]=pconx->imode[j-1]; - pconx->ipnum[j]=pconx->ipnum[j-1]; - pconx->autoscale[j]=pconx->autoscale[j-1]; + for (j = totcons - 1; j > posn; j--) { + pconx->ikey[j] = pconx->ikey[j - 1]; + pconx->imode[j] = pconx->imode[j - 1]; + pconx->ipnum[j] = pconx->ipnum[j - 1]; + pconx->autoscale[j] = pconx->autoscale[j - 1]; } // insert at posn - pconx->ikey[posn]=ikey; - pconx->imode[posn]=imode; - pconx->ipnum[posn]=ipnum; - pconx->autoscale[posn]=autoscale; + pconx->ikey[posn] = ikey; + pconx->imode[posn] = imode; + pconx->ipnum[posn] = ipnum; + pconx->autoscale[posn] = autoscale; - for (i=0; i<FX_KEYS_MAX_VIRTUAL; i++) pthread_mutex_unlock(&mainw->data_mutex[i]); + for (i = 0; i < FX_KEYS_MAX_VIRTUAL; i++) pthread_mutex_unlock(&mainw->data_mutex[i]); return; } @@ -522,41 +523,41 @@ // so, we have data for key/mode but this is a new param to be mapped - for (i=0; i<pconx->nparams; i++) { - totcons+=pconx->nconns[i]; + for (i = 0; i < pconx->nparams; i++) { + totcons += pconx->nconns[i]; } totcons++; pconx->nparams++; - posn=pconx->nparams; + posn = pconx->nparams; // make space for new - pconx->nconns=(int *)lives_realloc(pconx->nconns,posn*sizint); - pconx->params=(int *)lives_realloc(pconx->params,posn*sizint); + pconx->nconns = (int *)lives_realloc(pconx->nconns, posn * sizint); + pconx->params = (int *)lives_realloc(pconx->params, posn * sizint); - pconx->ikey=(int *)lives_realloc(pconx->ikey,totcons*sizint); - pconx->imode=(int *)lives_realloc(pconx->imode,totcons*sizint); - pconx->ipnum=(int *)lives_realloc(pconx->ipnum,totcons*sizint); - pconx->autoscale=(boolean *)lives_realloc(pconx->autoscale,totcons*sizint); + pconx->ikey = (int *)lives_realloc(pconx->ikey, totcons * sizint); + pconx->imode = (int *)lives_realloc(pconx->imode, totcons * sizint); + pconx->ipnum = (int *)lives_realloc(pconx->ipnum, totcons * sizint); + pconx->autoscale = (boolean *)lives_realloc(pconx->autoscale, totcons * sizint); - pconx->params[posn-1]=opnum; + pconx->params[posn - 1] = opnum; - pconx->nconns[posn-1]=1; + pconx->nconns[posn - 1] = 1; - posn=totcons-1; + posn = totcons - 1; // insert at posn - pconx->ikey[posn]=ikey; - pconx->imode[posn]=imode; - pconx->ipnum[posn]=ipnum; - pconx->autoscale[posn]=autoscale; + pconx->ikey[posn] = ikey; + pconx->imode[posn] = imode; + pconx->ipnum[posn] = ipnum; + pconx->autoscale[posn] = autoscale; #ifdef DEBUG_PCONX - g_print("added another pconx from %d %d %d to %d %d %d\n",okey,omode,opnum,ikey,imode,ipnum); + g_print("added another pconx from %d %d %d to %d %d %d\n", okey, omode, opnum, ikey, imode, ipnum); #endif - for (i=0; i<FX_KEYS_MAX_VIRTUAL; i++) pthread_mutex_unlock(&mainw->data_mutex[i]); + for (i = 0; i < FX_KEYS_MAX_VIRTUAL; i++) pthread_mutex_unlock(&mainw->data_mutex[i]); return; @@ -564,39 +565,39 @@ // add new - totcons=pconx_get_nconns(pconx,FX_DATA_WILDCARD)+1; + totcons = pconx_get_nconns(pconx, FX_DATA_WILDCARD) + 1; pconx->nparams++; - pconx->nconns=(int *)lives_realloc(pconx->params,pconx->nparams*sizint); - pconx->nconns[pconx->nparams-1]=1; + pconx->nconns = (int *)lives_realloc(pconx->params, pconx->nparams * sizint); + pconx->nconns[pconx->nparams - 1] = 1; - pconx->params=(int *)lives_realloc(pconx->params,pconx->nparams*sizint); - pconx->params[pconx->nparams-1]=opnum; + pconx->params = (int *)lives_realloc(pconx->params, pconx->nparams * sizint); + pconx->params[pconx->nparams - 1] = opnum; - pconx->ikey=(int *)lives_realloc(pconx->ikey,totcons*sizint); - pconx->ikey[totcons-1]=ikey; + pconx->ikey = (int *)lives_realloc(pconx->ikey, totcons * sizint); + pconx->ikey[totcons - 1] = ikey; - pconx->imode=(int *)lives_realloc(pconx->imode,totcons*sizint); - pconx->imode[totcons-1]=imode; + pconx->imode = (int *)lives_realloc(pconx->imode, totcons * sizint); + pconx->imode[totcons - 1] = imode; - pconx->ipnum=(int *)lives_realloc(pconx->ipnum,totcons*sizint); - pconx->ipnum[totcons-1]=ipnum; + pconx->ipnum = (int *)lives_realloc(pconx->ipnum, totcons * sizint); + pconx->ipnum[totcons - 1] = ipnum; - pconx->autoscale=(boolean *)lives_realloc(pconx->autoscale,totcons*sizint); - pconx->autoscale[totcons-1]=autoscale; + pconx->autoscale = (boolean *)lives_realloc(pconx->autoscale, totcons * sizint); + pconx->autoscale[totcons - 1] = autoscale; #ifdef DEBUG_PCONX - g_print("added new pconx from %d %d %d to %d %d %d (%d)\n",okey,omode,opnum,ikey,imode,ipnum,autoscale); + g_print("added new pconx from %d %d %d to %d %d %d (%d)\n", okey, omode, opnum, ikey, imode, ipnum, autoscale); #endif - for (i=0; i<FX_KEYS_MAX_VIRTUAL; i++) pthread_mutex_unlock(&mainw->data_mutex[i]); + for (i = 0; i < FX_KEYS_MAX_VIRTUAL; i++) pthread_mutex_unlock(&mainw->data_mutex[i]); } void pconx_add_connection(int okey, int omode, int opnum, int ikey, int imode, int ipnum, boolean autoscale) { - pconx_add_connection_private(pconx_find(okey,omode),okey,omode,opnum,ikey,imode,ipnum,autoscale); + pconx_add_connection_private(pconx_find(okey, omode), okey, omode, opnum, ikey, imode, ipnum, autoscale); } @@ -607,73 +608,73 @@ // use_filt is TRUE if we should use the filter template (otherwise we use the instance) - lives_pconnect_t *pconx=mainw->pconx; + lives_pconnect_t *pconx = mainw->pconx; - weed_plant_t *inst=NULL,*filter=NULL; + weed_plant_t *inst = NULL, *filter = NULL; - int totcons,error; - register int i,j; + int totcons, error; + register int i, j; - while (pconx!=NULL) { + while (pconx != NULL) { if (!use_filt) { if (mainw->is_rendering) { - inst=get_new_inst_for_keymode(pconx->okey,pconx->omode); + inst = get_new_inst_for_keymode(pconx->okey, pconx->omode); } else { - inst=rte_keymode_get_instance(pconx->okey+1,pconx->omode); + inst = rte_keymode_get_instance(pconx->okey + 1, pconx->omode); } - if (inst!=NULL) filter=weed_instance_get_filter(inst,TRUE); // inst could be NULL if we connected to "Activated" - else filter=NULL; + if (inst != NULL) filter = weed_instance_get_filter(inst, TRUE); // inst could be NULL if we connected to "Activated" + else filter = NULL; } else { - filter=rte_keymode_get_filter(pconx->okey+1,pconx->omode); - if (filter==NULL) { - pconx=pconx->next; + filter = rte_keymode_get_filter(pconx->okey + 1, pconx->omode); + if (filter == NULL) { + pconx = pconx->next; continue; } } - totcons=0; - j=0; - for (i=0; i<pconx->nparams; i++) { - totcons+=pconx->nconns[i]; - for (; j<totcons; j++) { - if (pconx->ikey[j]==ikey && pconx->imode[j]==imode && pconx->ipnum[j]==ipnum) { - weed_plant_t *param=NULL; + totcons = 0; + j = 0; + for (i = 0; i < pconx->nparams; i++) { + totcons += pconx->nconns[i]; + for (; j < totcons; j++) { + if (pconx->ikey[j] == ikey && pconx->imode[j] == imode && pconx->ipnum[j] == ipnum) { + weed_plant_t *param = NULL; // out param is "ACTIVATED" - if (pconx->params[i]==FX_DATA_PARAM_ACTIVE) { + if (pconx->params[i] == FX_DATA_PARAM_ACTIVE) { pthread_mutex_lock(&mainw->fxd_active_mutex); - if (active_dummy!=NULL&&!WEED_PLANT_IS_PARAMETER(active_dummy)) { + if (active_dummy != NULL && !WEED_PLANT_IS_PARAMETER(active_dummy)) { weed_plant_free(active_dummy); - active_dummy=NULL; + active_dummy = NULL; } - if (active_dummy==NULL) { - active_dummy=weed_plant_new(WEED_PLANT_PARAMETER); - weed_set_plantptr_value(active_dummy,WEED_LEAF_TEMPLATE,NULL); + if (active_dummy == NULL) { + active_dummy = weed_plant_new(WEED_PLANT_PARAMETER); + weed_set_plantptr_value(active_dummy, WEED_LEAF_TEMPLATE, NULL); } - if (!use_filt) weed_set_boolean_value(active_dummy,WEED_LEAF_VALUE,inst!=NULL); - param=active_dummy; + if (!use_filt) weed_set_boolean_value(active_dummy, WEED_LEAF_VALUE, inst != NULL); + param = active_dummy; pthread_mutex_unlock(&mainw->fxd_active_mutex); } else { if (use_filt) { - weed_plant_t **outparams=weed_get_plantptr_array(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES,&error); - if (pconx->params[i]<weed_leaf_num_elements(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES)) { - param=outparams[pconx->params[i]]; + weed_plant_t **outparams = weed_get_plantptr_array(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES, &error); + if (pconx->params[i] < weed_leaf_num_elements(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES)) { + param = outparams[pconx->params[i]]; } lives_free(outparams); } else { - if (inst==NULL) continue; - param=weed_inst_out_param(inst,pconx->params[i]); + if (inst == NULL) continue; + param = weed_inst_out_param(inst, pconx->params[i]); } } - if (okey!=NULL) *okey=pconx->okey; - if (omode!=NULL) *omode=pconx->omode; - if (opnum!=NULL) *opnum=pconx->params[i]; - if (autoscale!=NULL) *autoscale=pconx->autoscale[j]; + if (okey != NULL) *okey = pconx->okey; + if (omode != NULL) *omode = pconx->omode; + if (opnum != NULL) *opnum = pconx->params[i]; + if (autoscale != NULL) *autoscale = pconx->autoscale[j]; return param; } } } - pconx=pconx->next; + pconx = pconx->next; } return NULL; @@ -705,52 +706,52 @@ int nsvals; int dhint; - int dflags=0; + int dflags = 0; if (WEED_PLANT_IS_PARAMETER(dparam)) { - dptmpl=weed_get_plantptr_value(dparam,WEED_LEAF_TEMPLATE,&error); - dtype=weed_leaf_seed_type(dparam,WEED_LEAF_VALUE); - ndvals=weed_leaf_num_elements(dparam,WEED_LEAF_VALUE); + dptmpl = weed_get_plantptr_value(dparam, WEED_LEAF_TEMPLATE, &error); + dtype = weed_leaf_seed_type(dparam, WEED_LEAF_VALUE); + ndvals = weed_leaf_num_elements(dparam, WEED_LEAF_VALUE); } else { - dptmpl=dparam; - dtype=weed_leaf_seed_type(dparam,WEED_LEAF_DEFAULT); - ndvals=weed_leaf_num_elements(dparam,WEED_LEAF_DEFAULT); + dptmpl = dparam; + dtype = weed_leaf_seed_type(dparam, WEED_LEAF_DEFAULT); + ndvals = weed_leaf_num_elements(dparam, WEED_LEAF_DEFAULT); } if (WEED_PLANT_IS_PARAMETER(sparam)) { - stype=weed_leaf_seed_type(sparam,WEED_LEAF_VALUE); - nsvals=weed_leaf_num_elements(sparam,WEED_LEAF_VALUE); + stype = weed_leaf_seed_type(sparam, WEED_LEAF_VALUE); + nsvals = weed_leaf_num_elements(sparam, WEED_LEAF_VALUE); } else { - stype=weed_leaf_seed_type(sparam,WEED_LEAF_DEFAULT); - nsvals=weed_leaf_num_elements(sparam,WEED_LEAF_DEFAULT); + stype = weed_leaf_seed_type(sparam, WEED_LEAF_DEFAULT); + nsvals = weed_leaf_num_elements(sparam, WEED_LEAF_DEFAULT); } - if (dptmpl!=NULL) { - dhint=weed_get_int_value(dptmpl,WEED_LEAF_HINT,&error); - dflags=weed_get_int_value(dptmpl,WEED_LEAF_FLAGS,&error); + if (dptmpl != NULL) { + dhint = weed_get_int_value(dptmpl, WEED_LEAF_HINT, &error); + dflags = weed_get_int_value(dptmpl, WEED_LEAF_FLAGS, &error); - if (dhint==WEED_HINT_COLOR) { - int cspace=weed_get_int_value(dptmpl,WEED_LEAF_COLORSPACE,&error); - if (cspace==WEED_COLORSPACE_RGB&&(nsvals%3!=0)) return FALSE; - if (nsvals%4!=0) return FALSE; + if (dhint == WEED_HINT_COLOR) { + int cspace = weed_get_int_value(dptmpl, WEED_LEAF_COLORSPACE, &error); + if (cspace == WEED_COLORSPACE_RGB && (nsvals % 3 != 0)) return FALSE; + if (nsvals % 4 != 0) return FALSE; } } - if (ndvals>nsvals) { - if (!((dflags&WEED_PARAMETER_VARIABLE_ELEMENTS)&&!(dflags&WEED_PARAMETER_ELEMENT_PER_CHANNEL))) return FALSE; + if (ndvals > nsvals) { + if (!((dflags & WEED_PARAMETER_VARIABLE_ELEMENTS) && !(dflags & WEED_PARAMETER_ELEMENT_PER_CHANNEL))) return FALSE; } - if (dtype==stype) return TRUE; + if (dtype == stype) return TRUE; switch (stype) { case WEED_SEED_DOUBLE: - if (dtype==WEED_SEED_STRING) return TRUE; + if (dtype == WEED_SEED_STRING) return TRUE; return FALSE; case WEED_SEED_INT: - if (dtype==WEED_SEED_DOUBLE||dtype==WEED_SEED_STRING) return TRUE; + if (dtype == WEED_SEED_DOUBLE || dtype == WEED_SEED_STRING) return TRUE; return FALSE; case WEED_SEED_BOOLEAN: - if (dtype==WEED_SEED_DOUBLE||dtype==WEED_SEED_INT||dtype==WEED_SEED_STRING) return TRUE; + if (dtype == WEED_SEED_DOUBLE || dtype == WEED_SEED_INT || dtype == WEED_SEED_STRING) return TRUE; return FALSE; default: return FALSE; @@ -763,48 +764,48 @@ boolean pconx_convert_value_data(weed_plant_t *inst, int pnum, weed_plant_t *dparam, int okey, weed_plant_t *sparam, boolean autoscale) { // try to convert values of various type, if we succeed, copy the "value" and return TRUE (if changed) - weed_plant_t *dptmpl,*sptmpl; + weed_plant_t *dptmpl, *sptmpl; double ratio; - int dtype,stype,nsvals,ndvals,error; - int copyto,ondvals; + int dtype, stype, nsvals, ndvals, error; + int copyto, ondvals; - int nsmin=0,nsmax=0; + int nsmin = 0, nsmax = 0; - int minct=0,maxct=0; - int sminct=0,smaxct=0; + int minct = 0, maxct = 0; + int sminct = 0, smaxct = 0; - int nmax=0,nmin=0; + int nmax = 0, nmin = 0; - boolean retval=FALSE; + boolean retval = FALSE; register int i; - if (dparam==sparam&&(dparam!=active_dummy||active_dummy==NULL)) return FALSE; + if (dparam == sparam && (dparam != active_dummy || active_dummy == NULL)) return FALSE; - nsvals=weed_leaf_num_elements(sparam,WEED_LEAF_VALUE); - sptmpl=weed_get_plantptr_value(sparam,WEED_LEAF_TEMPLATE,&error); - stype=weed_leaf_seed_type(sparam,WEED_LEAF_VALUE); + nsvals = weed_leaf_num_elements(sparam, WEED_LEAF_VALUE); + sptmpl = weed_get_plantptr_value(sparam, WEED_LEAF_TEMPLATE, &error); + stype = weed_leaf_seed_type(sparam, WEED_LEAF_VALUE); - ondvals=ndvals=weed_leaf_num_elements(dparam,WEED_LEAF_VALUE); - dptmpl=weed_get_plantptr_value(dparam,WEED_LEAF_TEMPLATE,&error); - dtype=weed_leaf_seed_type(dparam,WEED_LEAF_VALUE); + ondvals = ndvals = weed_leaf_num_elements(dparam, WEED_LEAF_VALUE); + dptmpl = weed_get_plantptr_value(dparam, WEED_LEAF_TEMPLATE, &error); + dtype = weed_leaf_seed_type(dparam, WEED_LEAF_VALUE); - if (!params_compatible(sparam,dparam)) return FALSE; + if (!params_compatible(sparam, dparam)) return FALSE; - if (ndvals>nsvals) ndvals=nsvals; + if (ndvals > nsvals) ndvals = nsvals; if (autoscale) { - if (weed_plant_has_leaf(sptmpl,WEED_LEAF_MIN)&&weed_plant_has_leaf(sptmpl,WEED_LEAF_MAX)) { - nsmin=weed_leaf_num_elements(sptmpl,WEED_LEAF_MIN); - nsmax=weed_leaf_num_elements(sptmpl,WEED_LEAF_MAX); - } else if (dparam!=active_dummy||sparam!=active_dummy) autoscale=FALSE; + if (weed_plant_has_leaf(sptmpl, WEED_LEAF_MIN) && weed_plant_has_leaf(sptmpl, WEED_LEAF_MAX)) { + nsmin = weed_leaf_num_elements(sptmpl, WEED_LEAF_MIN); + nsmax = weed_leaf_num_elements(sptmpl, WEED_LEAF_MAX); + } else if (dparam != active_dummy || sparam != active_dummy) autoscale = FALSE; } - if (dptmpl!=NULL&&weed_plant_has_leaf(dptmpl,WEED_LEAF_MAX)) { - nmax=weed_leaf_num_elements(dptmpl,WEED_LEAF_MAX); - nmin=weed_leaf_num_elements(dptmpl,WEED_LEAF_MIN); + if (dptmpl != NULL && weed_plant_has_leaf(dptmpl, WEED_LEAF_MAX)) { + nmax = weed_leaf_num_elements(dptmpl, WEED_LEAF_MAX); + nmin = weed_leaf_num_elements(dptmpl, WEED_LEAF_MIN); } @@ -812,28 +813,28 @@ case WEED_SEED_STRING: switch (dtype) { case WEED_SEED_STRING: { - char **valsS=weed_get_string_array(sparam,WEED_LEAF_VALUE,&error); - char **valss=weed_get_string_array(dparam,WEED_LEAF_VALUE,&error); + char **valsS = weed_get_string_array(sparam, WEED_LEAF_VALUE, &error); + char **valss = weed_get_string_array(dparam, WEED_LEAF_VALUE, &error); - if (ndvals>ondvals) valss=(char **)lives_realloc(valss,ndvals*sizeof(char *)); + if (ndvals > ondvals) valss = (char **)lives_realloc(valss, ndvals * sizeof(char *)); - for (i=0; i<ndvals; i++) { - if (i>=ondvals||strcmp(valss[i],valsS[i])) { - retval=TRUE; - if (i<ondvals) lives_free(valss[i]); - valss[i]=valsS[i]; + for (i = 0; i < ndvals; i++) { + if (i >= ondvals || strcmp(valss[i], valsS[i])) { + retval = TRUE; + if (i < ondvals) lives_free(valss[i]); + valss[i] = valsS[i]; } else lives_free(valsS[i]); } if (!retval) { - for (i=0; i<ndvals; i++) lives_free(valss[i]); + for (i = 0; i < ndvals; i++) lives_free(valss[i]); lives_free(valss); lives_free(valsS); return FALSE; } - weed_set_string_array(dparam,WEED_LEAF_VALUE,ndvals,valss); + weed_set_string_array(dparam, WEED_LEAF_VALUE, ndvals, valss); - for (i=0; i<ndvals; i++) lives_free(valss[i]); + for (i = 0; i < ndvals; i++) lives_free(valss[i]); lives_free(valss); lives_free(valsS); } @@ -844,55 +845,55 @@ case WEED_SEED_DOUBLE: switch (dtype) { case WEED_SEED_DOUBLE: { - double *valsD=weed_get_double_array(sparam,WEED_LEAF_VALUE,&error); - double *valsd=weed_get_double_array(dparam,WEED_LEAF_VALUE,&error); + double *valsD = weed_get_double_array(sparam, WEED_LEAF_VALUE, &error); + double *valsd = weed_get_double_array(dparam, WEED_LEAF_VALUE, &error); - double *maxd=weed_get_double_array(dptmpl,WEED_LEAF_MAX,&error); - double *mind=weed_get_double_array(dptmpl,WEED_LEAF_MIN,&error); + double *maxd = weed_get_double_array(dptmpl, WEED_LEAF_MAX, &error); + double *mind = weed_get_double_array(dptmpl, WEED_LEAF_MIN, &error); - double *mins=NULL,*maxs=NULL; + double *mins = NULL, *maxs = NULL; if (autoscale) { - mins=weed_get_double_array(sptmpl,WEED_LEAF_MIN,&error); - maxs=weed_get_double_array(sptmpl,WEED_LEAF_MAX,&error); + mins = weed_get_double_array(sptmpl, WEED_LEAF_MIN, &error); + maxs = weed_get_double_array(sptmpl, WEED_LEAF_MAX, &error); } - if (ndvals>ondvals) valsd=(double *)lives_realloc(valsd,ndvals*sizeof(double)); + if (ndvals > ondvals) valsd = (double *)lives_realloc(valsd, ndvals * sizeof(double)); - for (i=0; i<ndvals; i++) { + for (i = 0; i < ndvals; i++) { if (autoscale) { - ratio=(valsD[i]-mins[sminct])/(maxs[smaxct]-mins[sminct]); - valsD[i]=mind[minct]+(maxd[maxct]-mind[minct])*ratio; - if (++smaxct==nsmax) smaxct=0; - if (++sminct==nsmin) sminct=0; + ratio = (valsD[i] - mins[sminct]) / (maxs[smaxct] - mins[sminct]); + valsD[i] = mind[minct] + (maxd[maxct] - mind[minct]) * ratio; + if (++smaxct == nsmax) smaxct = 0; + if (++sminct == nsmin) sminct = 0; - if (valsD[i]>maxd[maxct]) valsD[i]=maxd[maxct]; - if (valsD[i]<mind[minct]) valsD[i]=mind[minct]; + if (valsD[i] > maxd[maxct]) valsD[i] = maxd[maxct]; + if (valsD[i] < mind[minct]) valsD[i] = mind[minct]; } - if (i>=ondvals||valsd[i]!=valsD[i]) { - retval=TRUE; - valsd[i]=valsD[i]; + if (i >= ondvals || valsd[i] != valsD[i]) { + retval = TRUE; + valsd[i] = valsD[i]; } - if (++maxct==nmax) maxct=0; - if (++minct==nmin) minct=0; + if (++maxct == nmax) maxct = 0; + if (++minct == nmin) minct = 0; } - if (mins!=NULL) { + if (mins != NULL) { lives_free(mins); lives_free(maxs); } if (retval) { - if (inst!=NULL&&mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)) { + if (inst != NULL && mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change(inst,pnum); - copyto=set_copy_to(inst,pnum,FALSE); - if (copyto!=-1) rec_param_change(inst,copyto); + rec_param_change(inst, pnum); + copyto = set_copy_to(inst, pnum, FALSE); + if (copyto != -1) rec_param_change(inst, copyto); } - weed_set_double_array(dparam,WEED_LEAF_VALUE,ndvals,valsd); + weed_set_double_array(dparam, WEED_LEAF_VALUE, ndvals, valsd); } lives_free(maxd); lives_free(mind); @@ -902,26 +903,26 @@ return retval; case WEED_SEED_STRING: { - char *opstring,*tmp,*bit; - double *valsd=weed_get_double_array(sparam,WEED_LEAF_VALUE,&error); - char **valss,*vals; - - if (ndvals==1) { - opstring=lives_strdup(""); - vals=weed_get_string_value(dparam,WEED_LEAF_VALUE,&error); - for (i=0; i<nsvals; i++) { - bit=lives_strdup_printf("%.4f",valsd[i]); - if (strlen(opstring)==0) - tmp=lives_strconcat(opstring,bit,NULL); + char *opstring, *tmp, *bit; + double *valsd = weed_get_double_array(sparam, WEED_LEAF_VALUE, &error); + char **valss, *vals; + + if (ndvals == 1) { + opstring = lives_strdup(""); + vals = weed_get_string_value(dparam, WEED_LEAF_VALUE, &error); + for (i = 0; i < nsvals; i++) { + bit = lives_strdup_printf("%.4f", valsd[i]); + if (strlen(opstring) == 0) + tmp = lives_strconcat(opstring, bit, NULL); else - tmp=lives_strconcat(opstring," ",bit,NULL); + tmp = lives_strconcat(opstring, " ", bit, NULL); lives_free(bit); lives_free(opstring); - opstring=tmp; + opstring = tmp; } - if (strcmp(vals,opstring)) { - weed_set_string_value(dparam,WEED_LEAF_VALUE,opstring); - retval=TRUE; + if (strcmp(vals, opstring)) { + weed_set_string_value(dparam, WEED_LEAF_VALUE, opstring); + retval = TRUE; } lives_free(vals); lives_free(valsd); @@ -929,28 +930,28 @@ return retval; } - valss=weed_get_string_array(dparam,WEED_LEAF_VALUE,&error); + valss = weed_get_string_array(dparam, WEED_LEAF_VALUE, &error); - if (ndvals>ondvals) valss=(char **)lives_realloc(valsd,ndvals*sizeof(char *)); + if (ndvals > ondvals) valss = (char **)lives_realloc(valsd, ndvals * sizeof(char *)); - for (i=0; i<ndvals; i++) { - bit=lives_strdup_printf("%.4f",valsd[i]); - if (i>=ondvals||strcmp(valss[i],bit)) { - retval=TRUE; - if (i<ondvals) lives_free(valss[i]); - valss[i]=bit; + for (i = 0; i < ndvals; i++) { + bit = lives_strdup_printf("%.4f", valsd[i]); + if (i >= ondvals || strcmp(valss[i], bit)) { + retval = TRUE; + if (i < ondvals) lives_free(valss[i]); + valss[i] = bit; } else lives_free(bit); } if (!retval) { - for (i=0; i<ndvals; i++) lives_free(valss[i]); + for (i = 0; i < ndvals; i++) lives_free(valss[i]); lives_free(valss); lives_free(valsd); return FALSE; } - weed_set_string_array(dparam,WEED_LEAF_VALUE,ndvals,valss); + weed_set_string_array(dparam, WEED_LEAF_VALUE, ndvals, valss); - for (i=0; i<ndvals; i++) lives_free(valss[i]); + for (i = 0; i < ndvals; i++) lives_free(valss[i]); lives_free(valss); lives_free(valsd); } @@ -964,27 +965,27 @@ case WEED_SEED_INT: switch (dtype) { case WEED_SEED_STRING: { - char *opstring,*tmp,*bit; - int *valsi=weed_get_int_array(sparam,WEED_LEAF_VALUE,&error); + char *opstring, *tmp, *bit; + int *valsi = weed_get_int_array(sparam, WEED_LEAF_VALUE, &error); - char **valss,*vals; + char **valss, *vals; - if (ndvals==1) { - opstring=lives_strdup(""); - vals=weed_get_string_value(dparam,WEED_LEAF_VALUE,&error); - for (i=0; i<nsvals; i++) { - bit=lives_strdup_printf("%d",valsi[i]); - if (strlen(opstring)==0) - tmp=lives_strconcat(opstring,bit,NULL); + if (ndvals == 1) { + opstring = lives_strdup(""); + vals = weed_get_string_value(dparam, WEED_LEAF_VALUE, &error); + for (i = 0; i < nsvals; i++) { + bit = lives_strdup_printf("%d", valsi[i]); + if (strlen(opstring) == 0) + tmp = lives_strconcat(opstring, bit, NULL); else - tmp=lives_strconcat(opstring," ",bit,NULL); + tmp = lives_strconcat(opstring, " ", bit, NULL); lives_free(bit); lives_free(opstring); - opstring=tmp; + opstring = tmp; } - if (strcmp(vals,opstring)) { - weed_set_string_value(dparam,WEED_LEAF_VALUE,opstring); - retval=TRUE; + if (strcmp(vals, opstring)) { + weed_set_string_value(dparam, WEED_LEAF_VALUE, opstring); + retval = TRUE; } lives_free(vals); lives_free(valsi); @@ -992,83 +993,83 @@ return retval; } - valss=weed_get_string_array(dparam,WEED_LEAF_VALUE,&error); + valss = weed_get_string_array(dparam, WEED_LEAF_VALUE, &error); - if (ndvals>ondvals) valss=(char **)lives_realloc(valss,ndvals*sizeof(char *)); + if (ndvals > ondvals) valss = (char **)lives_realloc(valss, ndvals * sizeof(char *)); - for (i=0; i<ndvals; i++) { - bit=lives_strdup_printf("%d",valsi[i]); - if (i>=ondvals||strcmp(valss[i],bit)) { - retval=TRUE; - if (i<ondvals) lives_free(valss[i]); - valss[i]=bit; + for (i = 0; i < ndvals; i++) { + bit = lives_strdup_printf("%d", valsi[i]); + if (i >= ondvals || strcmp(valss[i], bit)) { + retval = TRUE; + if (i < ondvals) lives_free(valss[i]); + valss[i] = bit; } else lives_free(bit); } if (!retval) { - for (i=0; i<ndvals; i++) lives_free(valss[i]); + for (i = 0; i < ndvals; i++) lives_free(valss[i]); lives_free(valss); lives_free(valsi); return FALSE; } - weed_set_string_array(dparam,WEED_LEAF_VALUE,ndvals,valss); + weed_set_string_array(dparam, WEED_LEAF_VALUE, ndvals, valss); - for (i=0; i<ndvals; i++) lives_free(valss[i]); + for (i = 0; i < ndvals; i++) lives_free(valss[i]); lives_free(valss); lives_free(valsi); } return retval; case WEED_SEED_DOUBLE: { - int *valsi=weed_get_int_array(sparam,WEED_LEAF_VALUE,&error); - double *valsd=weed_get_double_array(dparam,WEED_LEAF_VALUE,&error); + int *valsi = weed_get_int_array(sparam, WEED_LEAF_VALUE, &error); + double *valsd = weed_get_double_array(dparam, WEED_LEAF_VALUE, &error); - double *maxd=weed_get_double_array(dptmpl,WEED_LEAF_MAX,&error); - double *mind=weed_get_double_array(dptmpl,WEED_LEAF_MIN,&error); + double *maxd = weed_get_double_array(dptmpl, WEED_LEAF_MAX, &error); + double *mind = weed_get_double_array(dptmpl, WEED_LEAF_MIN, &error); double vald; - int *mins=NULL,*maxs=NULL; + int *mins = NULL, *maxs = NULL; if (autoscale) { - mins=weed_get_int_array(sptmpl,WEED_LEAF_MIN,&error); - maxs=weed_get_int_array(sptmpl,WEED_LEAF_MAX,&error); + mins = weed_get_int_array(sptmpl, WEED_LEAF_MIN, &error); + maxs = weed_get_int_array(sptmpl, WEED_LEAF_MAX, &error); } - if (ndvals>ondvals) valsd=(double *)lives_realloc(valsd,ndvals*sizeof(double)); + if (ndvals > ondvals) valsd = (double *)lives_realloc(valsd, ndvals * sizeof(double)); - for (i=0; i<ndvals; i++) { + for (i = 0; i < ndvals; i++) { if (autoscale) { - ratio=(double)(valsi[i]-mins[sminct])/(double)(maxs[smaxct]-mins[sminct]); - vald=mind[minct]+(maxd[maxct]-mind[minct])*ratio; - if (++smaxct==nsmax) smaxct=0; - if (++sminct==nsmin) sminct=0; + ratio = (double)(valsi[i] - mins[sminct]) / (double)(maxs[smaxct] - mins[sminct]); + vald = mind[minct] + (maxd[maxct] - mind[minct]) * ratio; + if (++smaxct == nsmax) smaxct = 0; + if (++sminct == nsmin) sminct = 0; - if (vald>maxd[maxct]) vald=maxd[maxct]; - if (vald<mind[minct]) vald=mind[minct]; - } else vald=(double)valsi[i]; + if (vald > maxd[maxct]) vald = maxd[maxct]; + if (vald < mind[minct]) vald = mind[minct]; + } else vald = (double)valsi[i]; - if (i>=ondvals||valsd[i]!=vald) { - retval=TRUE; - valsd[i]=vald; + if (i >= ondvals || valsd[i] != vald) { + retval = TRUE; + valsd[i] = vald; } - if (++maxct==nmax) maxct=0; - if (++minct==nmin) minct=0; + if (++maxct == nmax) maxct = 0; + if (++minct == nmin) minct = 0; } - if (mins!=NULL) { + if (mins != NULL) { lives_free(mins); lives_free(maxs); } if (retval) { - if (inst!=NULL&&mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)) { + if (inst != NULL && mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change(inst,pnum); - copyto=set_copy_to(inst,pnum,FALSE); - if (copyto!=-1) rec_param_change(inst,copyto); + rec_param_change(inst, pnum); + copyto = set_copy_to(inst, pnum, FALSE); + if (copyto != -1) rec_param_change(inst, copyto); } - weed_set_double_array(dparam,WEED_LEAF_VALUE,ndvals,valsd); + weed_set_double_array(dparam, WEED_LEAF_VALUE, ndvals, valsd); } lives_free(maxd); lives_free(mind); @@ -1078,55 +1079,55 @@ return retval; case WEED_SEED_INT: { - int *valsI=weed_get_int_array(sparam,WEED_LEAF_VALUE,&error); - int *valsi=weed_get_int_array(dparam,WEED_LEAF_VALUE,&error); + int *valsI = weed_get_int_array(sparam, WEED_LEAF_VALUE, &error); + int *valsi = weed_get_int_array(dparam, WEED_LEAF_VALUE, &error); - int *maxi=weed_get_int_array(dptmpl,WEED_LEAF_MAX,&error); - int *mini=weed_get_int_array(dptmpl,WEED_LEAF_MIN,&error); + int *maxi = weed_get_int_array(dptmpl, WEED_LEAF_MAX, &error); + int *mini = weed_get_int_array(dptmpl, WEED_LEAF_MIN, &error); - int *mins=NULL,*maxs=NULL; + int *mins = NULL, *maxs = NULL; if (autoscale) { - mins=weed_get_int_array(sptmpl,WEED_LEAF_MIN,&error); - maxs=weed_get_int_array(sptmpl,WEED_LEAF_MAX,&error); + mins = weed_get_int_array(sptmpl, WEED_LEAF_MIN, &error); + maxs = weed_get_int_array(sptmpl, WEED_LEAF_MAX, &error); } - if (ndvals>ondvals) valsi=(int *)lives_realloc(valsi,ndvals*sizeof(int)); + if (ndvals > ondvals) valsi = (int *)lives_realloc(valsi, ndvals * sizeof(int)); - for (i=0; i<ndvals; i++) { + for (i = 0; i < ndvals; i++) { if (autoscale) { - ratio=(double)(valsI[i]-mins[sminct])/(double)(maxs[smaxct]-mins[sminct]); - valsI[i]=myround(mini[minct]+(double)(maxi[maxct]-mini[minct])*ratio); - if (++smaxct==nsmax) smaxct=0; - if (++sminct==nsmin) sminct=0; + ratio = (double)(valsI[i] - mins[sminct]) / (double)(maxs[smaxct] - mins[sminct]); + valsI[i] = myround(mini[minct] + (double)(maxi[maxct] - mini[minct]) * ratio); + if (++smaxct == nsmax) smaxct = 0; + if (++sminct == nsmin) sminct = 0; - if (valsI[i]>maxi[maxct]) valsI[i]=maxi[maxct]; - if (valsI[i]<mini[minct]) valsI[i]=mini[minct]; + if (valsI[i] > maxi[maxct]) valsI[i] = maxi[maxct]; + if (valsI[i] < mini[minct]) valsI[i] = mini[minct]; } - if (i>=ondvals||valsi[i]!=valsI[i]) { - retval=TRUE; - valsi[i]=valsI[i]; + if (i >= ondvals || valsi[i] != valsI[i]) { + retval = TRUE; + valsi[i] = valsI[i]; } - if (++maxct==nmax) maxct=0; - if (++minct==nmin) minct=0; + if (++maxct == nmax) maxct = 0; + if (++minct == nmin) minct = 0; } - if (mins!=NULL) { + if (mins != NULL) { lives_free(mins); lives_free(maxs); } if (retval) { - if (mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)) { + if (mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change(inst,pnum); - copyto=set_copy_to(inst,pnum,FALSE); - if (copyto!=-1) rec_param_change(inst,copyto); + rec_param_change(inst, pnum); + copyto = set_copy_to(inst, pnum, FALSE); + if (copyto != -1) rec_param_change(inst, copyto); } - weed_set_int_array(dparam,WEED_LEAF_VALUE,ndvals,valsi); + weed_set_int_array(dparam, WEED_LEAF_VALUE, ndvals, valsi); } lives_free(maxi); lives_free(mini); @@ -1139,16 +1140,16 @@ break; case WEED_SEED_BOOLEAN: { - int *valsb=weed_get_boolean_array(sparam,WEED_LEAF_VALUE,&error); - if (dparam==active_dummy&&!autoscale) { + int *valsb = weed_get_boolean_array(sparam, WEED_LEAF_VALUE, &error); + if (dparam == active_dummy && !autoscale) { // ACTIVATE int key; pthread_mutex_lock(&mainw->fxd_active_mutex); - key=weed_get_int_value(dparam,WEED_LEAF_HOST_KEY,&error); + key = weed_get_int_value(dparam, WEED_LEAF_HOST_KEY, &error); pthread_mutex_unlock(&mainw->fxd_active_mutex); - if ((valsb[0]==WEED_TRUE&&!(mainw->rte&(GU641<<(key))))|| - (valsb[0]==WEED_FALSE&&(mainw->rte&(GU641<<(key))))) { - switch_fx_state(okey,key+1); + if ((valsb[0] == WEED_TRUE && !(mainw->rte & (GU641 << (key)))) || + (valsb[0] == WEED_FALSE && (mainw->rte & (GU641 << (key))))) { + switch_fx_state(okey, key + 1); } lives_free(valsb); return retval; @@ -1156,26 +1157,26 @@ switch (dtype) { case WEED_SEED_STRING: { - char *opstring,*tmp,*bit; + char *opstring, *tmp, *bit; - char **valss,*vals; + char **valss, *vals; - if (ndvals==1) { - opstring=lives_strdup(""); - vals=weed_get_string_value(dparam,WEED_LEAF_VALUE,&error); - for (i=0; i<nsvals; i++) { - bit=lives_strdup_printf("%d",valsb[i]); - if (strlen(opstring)==0) - tmp=lives_strconcat(opstring,bit,NULL); + if (ndvals == 1) { + opstring = lives_strdup(""); + vals = weed_get_string_value(dparam, WEED_LEAF_VALUE, &error); + for (i = 0; i < nsvals; i++) { + bit = lives_strdup_printf("%d", valsb[i]); + if (strlen(opstring) == 0) + tmp = lives_strconcat(opstring, bit, NULL); else - tmp=lives_strconcat(opstring," ",bit,NULL); + tmp = lives_strconcat(opstring, " ", bit, NULL); lives_free(bit); lives_free(opstring); - opstring=tmp; + opstring = tmp; } - if (strcmp(vals,opstring)) { - weed_set_string_value(dparam,WEED_LEAF_VALUE,opstring); - retval=TRUE; + if (strcmp(vals, opstring)) { + weed_set_string_value(dparam, WEED_LEAF_VALUE, opstring); + retval = TRUE; } lives_free(vals); lives_free(valsb); @@ -1183,66 +1184,66 @@ return retval; } - valss=weed_get_string_array(dparam,WEED_LEAF_VALUE,&error); - if (ndvals>ondvals) valss=(char **)lives_realloc(valss,ndvals*sizeof(char *)); + valss = weed_get_string_array(dparam, WEED_LEAF_VALUE, &error); + if (ndvals > ondvals) valss = (char **)lives_realloc(valss, ndvals * sizeof(char *)); - for (i=0; i<ndvals; i++) { - bit=lives_strdup_printf("%d",valsb[i]); - if (i>=ondvals||strcmp(valss[i],bit)) { - retval=TRUE; - if (i<ondvals) lives_free(valss[i]); - valss[i]=bit; + for (i = 0; i < ndvals; i++) { + bit = lives_strdup_printf("%d", valsb[i]); + if (i >= ondvals || strcmp(valss[i], bit)) { + retval = TRUE; + if (i < ondvals) lives_free(valss[i]); + valss[i] = bit; } else lives_free(bit); } if (!retval) { - for (i=0; i<ndvals; i++) lives_free(valss[i]); + for (i = 0; i < ndvals; i++) lives_free(valss[i]); lives_free(valss); lives_free(valsb); return FALSE; } - weed_set_string_array(dparam,WEED_LEAF_VALUE,ndvals,valss); + weed_set_string_array(dparam, WEED_LEAF_VALUE, ndvals, valss); - for (i=0; i<ndvals; i++) lives_free(valss[i]); + for (i = 0; i < ndvals; i++) lives_free(valss[i]); lives_free(valss); lives_free(valsb); } return retval; case WEED_SEED_DOUBLE: { - double *valsd=weed_get_double_array(dparam,WEED_LEAF_VALUE,&error); + double *valsd = weed_get_double_array(dparam, WEED_LEAF_VALUE, &error); - double *maxd=weed_get_double_array(dptmpl,WEED_LEAF_MAX,&error); - double *mind=weed_get_double_array(dptmpl,WEED_LEAF_MIN,&error); + double *maxd = weed_get_double_array(dptmpl, WEED_LEAF_MAX, &error); + double *mind = weed_get_double_array(dptmpl, WEED_LEAF_MIN, &error); double vald; - if (ndvals>ondvals) valsd=(double *)lives_realloc(valsd,ndvals*sizeof(double)); + if (ndvals > ondvals) valsd = (double *)lives_realloc(valsd, ndvals * sizeof(double)); - for (i=0; i<ndvals; i++) { + for (i = 0; i < ndvals; i++) { if (autoscale) { - if (valsb[i]==WEED_TRUE) vald=maxd[maxct]; - else vald=mind[minct]; + if (valsb[i] == WEED_TRUE) vald = maxd[maxct]; + else vald = mind[minct]; } else { - vald=(double)valsb[i]; - if (vald>maxd[maxct]) vald=maxd[maxct]; - if (vald<mind[minct]) vald=mind[minct]; - } - if (i>=ondvals||valsd[i]!=vald) { - retval=TRUE; - valsd[i]=vald; + vald = (double)valsb[i]; + if (vald > maxd[maxct]) vald = maxd[maxct]; + if (vald < mind[minct]) vald = mind[minct]; + } + if (i >= ondvals || valsd[i] != vald) { + retval = TRUE; + valsd[i] = vald; } - if (++maxct==nmax) maxct=0; - if (++minct==nmin) minct=0; + if (++maxct == nmax) maxct = 0; + if (++minct == nmin) minct = 0; } if (retval) { - if (inst!=NULL&&mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)) { + if (inst != NULL && mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change(inst,pnum); - copyto=set_copy_to(inst,pnum,FALSE); - if (copyto!=-1) rec_param_change(inst,copyto); + rec_param_change(inst, pnum); + copyto = set_copy_to(inst, pnum, FALSE); + if (copyto != -1) rec_param_change(inst, copyto); } - weed_set_double_array(dparam,WEED_LEAF_VALUE,ndvals,valsd); + weed_set_double_array(dparam, WEED_LEAF_VALUE, ndvals, valsd); } lives_free(maxd); lives_free(mind); @@ -1251,38 +1252,38 @@ } return retval; case WEED_SEED_INT: { - int *valsi=weed_get_int_array(dparam,WEED_LEAF_VALUE,&error); + int *valsi = weed_get_int_array(dparam, WEED_LEAF_VALUE, &error); - int *maxi=weed_get_int_array(dptmpl,WEED_LEAF_MAX,&error); - int *mini=weed_get_int_array(dptmpl,WEED_LEAF_MIN,&error); + int *maxi = weed_get_int_array(dptmpl, WEED_LEAF_MAX, &error); + int *mini = weed_get_int_array(dptmpl, WEED_LEAF_MIN, &error); - if (ndvals>ondvals) valsi=(int *)lives_realloc(valsi,ndvals*sizeof(int)); + if (ndvals > ondvals) valsi = (int *)lives_realloc(valsi, ndvals * sizeof(int)); - for (i=0; i<ndvals; i++) { + for (i = 0; i < ndvals; i++) { if (autoscale) { - if (valsb[i]==WEED_TRUE) valsb[i]=maxi[maxct]; - else valsb[i]=mini[minct]; + if (valsb[i] == WEED_TRUE) valsb[i] = maxi[maxct]; + else valsb[i] = mini[minct]; } else { - if (valsb[i]>maxi[maxct]) valsb[i]=maxi[maxct]; - if (valsb[i]<mini[minct]) valsb[i]=mini[maxct]; + if (valsb[i] > maxi[maxct]) valsb[i] = maxi[maxct]; + if (valsb[i] < mini[minct]) valsb[i] = mini[maxct]; } - if (i>=ondvals||valsi[i]!=valsb[i]) { - retval=TRUE; - valsi[i]=valsb[i]; + if (i >= ondvals || valsi[i] != valsb[i]) { + retval = TRUE; + valsi[i] = valsb[i]; } - if (++maxct==nmax) maxct=0; - if (++minct==nmin) minct=0; + if (++maxct == nmax) maxct = 0; + if (++minct == nmin) minct = 0; } if (retval) { - if (inst!=NULL&&mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)) { + if (inst != NULL && mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change(inst,pnum); - copyto=set_copy_to(inst,pnum,FALSE); - if (copyto!=-1) rec_param_change(inst,copyto); + rec_param_change(inst, pnum); + copyto = set_copy_to(inst, pnum, FALSE); + if (copyto != -1) rec_param_change(inst, copyto); } - weed_set_int_array(dparam,WEED_LEAF_VALUE,ndvals,valsi); + weed_set_int_array(dparam, WEED_LEAF_VALUE, ndvals, valsi); } lives_free(maxi); lives_free(mini); @@ -1292,26 +1293,26 @@ return retval; case WEED_SEED_BOOLEAN: { - int *valsB=weed_get_boolean_array(dparam,WEED_LEAF_VALUE,&error); + int *valsB = weed_get_boolean_array(dparam, WEED_LEAF_VALUE, &error); - if (ndvals>ondvals) valsB=(int *)lives_realloc(valsB,ndvals*sizeof(int)); + if (ndvals > ondvals) valsB = (int *)lives_realloc(valsB, ndvals * sizeof(int)); - for (i=0; i<ndvals; i++) { - if (i>=ondvals||valsB[i]!=valsb[i]) { - retval=TRUE; - valsB[i]=valsb[i]; + for (i = 0; i < ndvals; i++) { + if (i >= ondvals || valsB[i] != valsb[i]) { + retval = TRUE; + valsB[i] = valsb[i]; } } if (retval) { - if (inst!=NULL&&mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)) { + if (inst != NULL && mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change(inst,pnum); - copyto=set_copy_to(inst,pnum,FALSE); - if (copyto!=-1) rec_param_change(inst,copyto); + rec_param_change(inst, pnum); + copyto = set_copy_to(inst, pnum, FALSE); + if (copyto != -1) rec_param_change(inst, copyto); } - weed_set_boolean_array(dparam,WEED_LEAF_VALUE,ndvals,valsB); + weed_set_boolean_array(dparam, WEED_LEAF_VALUE, ndvals, valsB); } lives_free(valsb); lives_free(valsB); @@ -1336,107 +1337,107 @@ boolean pconx_chain_data(int key, int mode) { weed_plant_t **inparams; - weed_plant_t *oparam,*inparam; - weed_plant_t *inst=NULL; + weed_plant_t *oparam, *inparam; + weed_plant_t *inst = NULL; - boolean changed,reinit_inst=FALSE; + boolean changed, reinit_inst = FALSE; int error; - int nparams=0; + int nparams = 0; int autoscale; int pflags; int okey; - int copyto=-1; + int copyto = -1; register int i; - if (key>-1) { + if (key > -1) { if (mainw->is_rendering) { - if ((inst=get_new_inst_for_keymode(key,mode))==NULL) { + if ((inst = get_new_inst_for_keymode(key, mode)) == NULL) { return FALSE; ///< dest effect is not found } } else { - inst=rte_keymode_get_instance(key+1,mode); + inst = rte_keymode_get_instance(key + 1, mode); } - if (inst!=NULL) { - if (weed_plant_has_leaf(inst,WEED_LEAF_IN_PARAMETERS)) nparams=weed_leaf_num_elements(inst,WEED_LEAF_IN_PARAMETERS); - } else if (rte_keymode_get_filter_idx(key+1,mode)==-1) return FALSE; - } else if (key==FX_DATA_KEY_PLAYBACK_PLUGIN) { + if (inst != NULL) { + if (weed_plant_has_leaf(inst, WEED_LEAF_IN_PARAMETERS)) nparams = weed_leaf_num_elements(inst, WEED_LEAF_IN_PARAMETERS); + } else if (rte_keymode_get_filter_idx(key + 1, mode) == -1) return FALSE; + } else if (key == FX_DATA_KEY_PLAYBACK_PLUGIN) { // playback plugin - if (mainw->vpp==NULL) return FALSE; - nparams=mainw->vpp->num_play_params; + if (mainw->vpp == NULL) return FALSE; + nparams = mainw->vpp->num_play_params; } - if (key==FX_DATA_KEY_PLAYBACK_PLUGIN) inparams=mainw->vpp->play_params; - else inparams=weed_get_plantptr_array(inst,WEED_LEAF_IN_PARAMETERS,&error); + if (key == FX_DATA_KEY_PLAYBACK_PLUGIN) inparams = mainw->vpp->play_params; + else inparams = weed_get_plantptr_array(inst, WEED_LEAF_IN_PARAMETERS, &error); - for (i=-EXTRA_PARAMS_IN; i<nparams; i++) { + for (i = -EXTRA_PARAMS_IN; i < nparams; i++) { - if ((oparam=pconx_get_out_param(FALSE,key,mode,i,&okey,NULL,NULL,&autoscale))!=NULL) { + if ((oparam = pconx_get_out_param(FALSE, key, mode, i, &okey, NULL, NULL, &autoscale)) != NULL) { //#define DEBUG_PCONX #ifdef DEBUG_PCONX - g_print("got pconx to %d %d %d\n",key,mode,i); + g_print("got pconx to %d %d %d\n", key, mode, i); #endif - if (i==FX_DATA_PARAM_ACTIVE) { + if (i == FX_DATA_PARAM_ACTIVE) { pthread_mutex_lock(&mainw->fxd_active_mutex); - if (active_dummy!=NULL&&!WEED_PLANT_IS_PARAMETER(active_dummy)) { + if (active_dummy != NULL && !WEED_PLANT_IS_PARAMETER(active_dummy)) { weed_plant_free(active_dummy); - active_dummy=NULL; + active_dummy = NULL; } - if (active_dummy==NULL) { - active_dummy=weed_plant_new(WEED_PLANT_PARAMETER); - weed_set_plantptr_value(active_dummy,WEED_LEAF_TEMPLATE,NULL); - weed_set_boolean_value(active_dummy,WEED_LEAF_VALUE,WEED_TRUE); + if (active_dummy == NULL) { + active_dummy = weed_plant_new(WEED_PLANT_PARAMETER); + weed_set_plantptr_value(active_dummy, WEED_LEAF_TEMPLATE, NULL); + weed_set_boolean_value(active_dummy, WEED_LEAF_VALUE, WEED_TRUE); } - weed_set_int_value(active_dummy,WEED_LEAF_HOST_KEY,key); - inparam=active_dummy; + weed_set_int_value(active_dummy, WEED_LEAF_HOST_KEY, key); + inparam = active_dummy; pthread_mutex_unlock(&mainw->fxd_active_mutex); - } else inparam=inparams[i]; + } else inparam = inparams[i]; filter_mutex_lock(key); filter_mutex_lock(okey); - changed=pconx_convert_value_data(inst,i,key==FX_DATA_KEY_PLAYBACK_PLUGIN?(weed_plant_t *)pp_get_param(mainw->vpp->play_params,i) - :inparam,okey,oparam,autoscale); + changed = pconx_convert_value_data(inst, i, key == FX_DATA_KEY_PLAYBACK_PLUGIN ? (weed_plant_t *)pp_get_param(mainw->vpp->play_params, i) + : inparam, okey, oparam, autoscale); filter_mutex_unlock(key); filter_mutex_unlock(okey); - if (changed&&inst!=NULL&&key>-1) { + if (changed && inst != NULL && key > -1) { // only store value if it changed; for int, double or colour, store old value too - copyto=set_copy_to(inst,i,TRUE); - if (mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)) { + copyto = set_copy_to(inst, i, TRUE); + if (mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change(inst,i); - if (copyto!=-1) rec_param_change(inst,copyto); + rec_param_change(inst, i); + if (copyto != -1) rec_param_change(inst, copyto); } - pflags=weed_get_int_value(inparams[i],WEED_LEAF_FLAGS,&error); - if (pflags&WEED_PARAMETER_REINIT_ON_VALUE_CHANGE) reinit_inst=TRUE; - if (copyto!=-1) { - pflags=weed_get_int_value(inparams[copyto],WEED_LEAF_FLAGS,&error); - if (pflags&WEED_PARAMETER_REINIT_ON_VALUE_CHANGE) reinit_inst=TRUE; + pflags = weed_get_int_value(inparams[i], WEED_LEAF_FLAGS, &error); + if (pflags & WEED_PARAMETER_REINIT_ON_VALUE_CHANGE) reinit_inst = TRUE; + if (copyto != -1) { + pflags = weed_get_int_value(inparams[copyto], WEED_LEAF_FLAGS, &error); + if (pflags & WEED_PARAMETER_REINIT_ON_VALUE_CHANGE) reinit_inst = TRUE; } - if (fx_dialog[1]!=NULL&&!reinit_inst) { - lives_rfx_t *rfx=(lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"rfx"); + if (fx_dialog[1] != NULL && !reinit_inst) { + lives_rfx_t *rfx = (lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "rfx"); if (!rfx->is_template) { - int keyw=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"key")); - int modew=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"mode")); - if (keyw==key&&modew==mode) + int keyw = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "key")); + int modew = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "mode")); + if (keyw == key && modew == mode) // ask the main thread to update the param window - mainw->vrfx_update=rfx; + mainw->vrfx_update = rfx; } } - if (mainw->ce_thumbs) ce_thumbs_register_rfx_change(key,mode); + if (mainw->ce_thumbs) ce_thumbs_register_rfx_change(key, mode); } } } - if (key!=FX_DATA_KEY_PLAYBACK_PLUGIN&&inparams!=NULL) lives_free(inparams); + if (key != FX_DATA_KEY_PLAYBACK_PLUGIN && inparams != NULL) lives_free(inparams); return reinit_inst; } @@ -1446,32 +1447,32 @@ // special version for compound fx internal connections weed_plant_t **in_params; - boolean autoscale,reinit_inst=FALSE; + boolean autoscale, reinit_inst = FALSE; - int nparams=0,error,pflags,copyto; + int nparams = 0, error, pflags, copyto; register int i; - nparams=num_in_params(inst,FALSE,FALSE); - if (nparams==0) return FALSE; + nparams = num_in_params(inst, FALSE, FALSE); + if (nparams == 0) return FALSE; - in_params=weed_get_plantptr_array(inst,WEED_LEAF_IN_PARAMETERS,&error); + in_params = weed_get_plantptr_array(inst, WEED_LEAF_IN_PARAMETERS, &error); - for (i=0; i<nparams; i++) { - if (weed_plant_has_leaf(in_params[i],WEED_LEAF_HOST_INTERNAL_CONNECTION)) { - autoscale=FALSE; - if (weed_plant_has_leaf(in_params[i],WEED_LEAF_HOST_INTERNAL_CONNECTION_AUTOSCALE)&& - weed_get_boolean_value(in_params[i],WEED_LEAF_HOST_INTERNAL_CONNECTION_AUTOSCALE,&error)==WEED_TRUE) autoscale=TRUE; - if (pconx_convert_value_data(inst,i,in_params[i],-1,weed_get_plantptr_value(in_params[i],WEED_LEAF_HOST_INTERNAL_CONNECTION,&error), + for (i = 0; i < nparams; i++) { + if (weed_plant_has_leaf(in_params[i], WEED_LEAF_HOST_INTERNAL_CONNECTION)) { + autoscale = FALSE; + if (weed_plant_has_leaf(in_params[i], WEED_LEAF_HOST_INTERNAL_CONNECTION_AUTOSCALE) && + weed_get_boolean_value(in_params[i], WEED_LEAF_HOST_INTERNAL_CONNECTION_AUTOSCALE, &error) == WEED_TRUE) autoscale = TRUE; + if (pconx_convert_value_data(inst, i, in_params[i], -1, weed_get_plantptr_value(in_params[i], WEED_LEAF_HOST_INTERNAL_CONNECTION, &error), autoscale)) { - copyto=set_copy_to(inst,i,TRUE); + copyto = set_copy_to(inst, i, TRUE); - pflags=weed_get_int_value(in_params[i],WEED_LEAF_FLAGS,&error); - if (pflags&WEED_PARAMETER_REINIT_ON_VALUE_CHANGE) reinit_inst=TRUE; - if (copyto!=-1) { - pflags=weed_get_int_value(in_params[copyto],WEED_LEAF_FLAGS,&error); - if (pflags&WEED_PARAMETER_REINIT_ON_VALUE_CHANGE) reinit_inst=TRUE; + pflags = weed_get_int_value(in_params[i], WEED_LEAF_FLAGS, &error); + if (pflags & WEED_PARAMETER_REINIT_ON_VALUE_CHANGE) reinit_inst = TRUE; + if (copyto != -1) { + pflags = weed_get_int_value(in_params[copyto], WEED_LEAF_FLAGS, &error); + if (pflags & WEED_PARAMETER_REINIT_ON_VALUE_CHANGE) reinit_inst = TRUE; } } @@ -1487,10 +1488,10 @@ void cconx_delete_all(void) { - lives_cconnect_t *cconx=mainw->cconx,*cconx_next; - while (cconx!=NULL) { - cconx_next=cconx->next; - if (cconx->nchans>0) { + lives_cconnect_t *cconx = mainw->cconx, *cconx_next; + while (cconx != NULL) { + cconx_next = cconx->next; + if (cconx->nchans > 0) { lives_free(cconx->chans); lives_free(cconx->nconns); lives_free(cconx->ikey); @@ -1498,64 +1499,64 @@ lives_free(cconx->icnum); } lives_free(cconx); - cconx=cconx_next; + cconx = cconx_next; } - mainw->cconx=NULL; + mainw->cconx = NULL; } static lives_cconnect_t *cconx_new(int okey, int omode) { - lives_cconnect_t *cconx=(lives_cconnect_t *)lives_malloc0(sizeof(struct _lives_cconnect_t)); - cconx->next=NULL; - cconx->okey=okey; - cconx->omode=omode; - cconx->nchans=0; - cconx->nconns=NULL; + lives_cconnect_t *cconx = (lives_cconnect_t *)lives_malloc0(sizeof(struct _lives_cconnect_t)); + cconx->next = NULL; + cconx->okey = okey; + cconx->omode = omode; + cconx->nchans = 0; + cconx->nconns = NULL; return cconx; } static lives_cconnect_t *cconx_copy(lives_cconnect_t *scconx) { - lives_cconnect_t *cconx=NULL,*dcconx,*last_dcconx; + lives_cconnect_t *cconx = NULL, *dcconx, *last_dcconx; - int totcons=0; + int totcons = 0; - register int i,j=0; + register int i, j = 0; - while (scconx!=NULL) { - dcconx=cconx_new(scconx->okey,scconx->omode); - if (cconx==NULL) cconx=dcconx; - else last_dcconx->next=dcconx; + while (scconx != NULL) { + dcconx = cconx_new(scconx->okey, scconx->omode); + if (cconx == NULL) cconx = dcconx; + else last_dcconx->next = dcconx; - dcconx->nchans=scconx->nchans; + dcconx->nchans = scconx->nchans; - dcconx->nconns=(int *)lives_malloc(dcconx->nchans*sizint); - dcconx->chans=(int *)lives_malloc(dcconx->nchans*sizint); + dcconx->nconns = (int *)lives_malloc(dcconx->nchans * sizint); + dcconx->chans = (int *)lives_malloc(dcconx->nchans * sizint); - dcconx->ikey=dcconx->imode=dcconx->icnum=NULL; + dcconx->ikey = dcconx->imode = dcconx->icnum = NULL; - j=0; + j = 0; - for (i=0; i<dcconx->nchans; i++) { - dcconx->chans[i]=scconx->chans[i]; - dcconx->nconns[i]=scconx->nconns[i]; - totcons+=dcconx->nconns[i]; + for (i = 0; i < dcconx->nchans; i++) { + dcconx->chans[i] = scconx->chans[i]; + dcconx->nconns[i] = scconx->nconns[i]; + totcons += dcconx->nconns[i]; - dcconx->ikey=(int *)lives_realloc(dcconx->ikey,totcons*sizint); - dcconx->imode=(int *)lives_realloc(dcconx->imode,totcons*sizint); - dcconx->icnum=(int *)lives_realloc(dcconx->icnum,totcons*sizint); + dcconx->ikey = (int *)lives_realloc(dcconx->ikey, totcons * sizint); + dcconx->imode = (int *)lives_realloc(dcconx->imode, totcons * sizint); + dcconx->icnum = (int *)lives_realloc(dcconx->icnum, totcons * sizint); - while (j<totcons) { - dcconx->ikey[j]=scconx->ikey[j]; - dcconx->imode[j]=scconx->imode[j]; - dcconx->icnum[j]=scconx->icnum[j]; + while (j < totcons) { + dcconx->ikey[j] = scconx->ikey[j]; + dcconx->imode[j] = scconx->imode[j]; + dcconx->icnum[j] = scconx->icnum[j]; j++; } } - scconx=scconx->next; - last_dcconx=dcconx; + scconx = scconx->next; + last_dcconx = dcconx; } return cconx; @@ -1563,46 +1564,46 @@ char *cconx_list(int okey, int omode, int ocnum) { - char *st1=lives_strdup(""),*st2; - lives_cconnect_t *cconx=mainw->cconx; + char *st1 = lives_strdup(""), *st2; + lives_cconnect_t *cconx = mainw->cconx; - int totcons=0; + int totcons = 0; - register int i,j; + register int i, j; - while (cconx!=NULL) { - if (cconx->okey==okey&&cconx->omode==omode) { - for (i=0; i<cconx->nchans; i++) { - if (cconx->chans[i]==ocnum) { - for (j=totcons; j<totcons+cconx->nconns[i]; j++) { - if (strlen(st1)==0) st2=lives_strdup_printf("%d %d %d",cconx->ikey[j]+1,cconx->imode[j]+1,cconx->icnum[j]); - st2=lives_strdup_printf("%s %d %d %d",st1,cconx->ikey[j]+1,cconx->imode[j]+1,cconx->icnum[j]); + while (cconx != NULL) { + if (cconx->okey == okey && cconx->omode == omode) { + for (i = 0; i < cconx->nchans; i++) { + if (cconx->chans[i] == ocnum) { + for (j = totcons; j < totcons + cconx->nconns[i]; j++) { + if (strlen(st1) == 0) st2 = lives_strdup_printf("%d %d %d", cconx->ikey[j] + 1, cconx->imode[j] + 1, cconx->icnum[j]); + st2 = lives_strdup_printf("%s %d %d %d", st1, cconx->ikey[j] + 1, cconx->imode[j] + 1, cconx->icnum[j]); lives_free(st1); - st1=st2; + st1 = st2; } return st1; } - totcons+=cconx->nconns[i]; + totcons += cconx->nconns[i]; } return st1; } - cconx=cconx->next; + cconx = cconx->next; } return st1; } void cconx_delete(int okey, int omode, int ocnum, int ikey, int imode, int icnum) { - lives_cconnect_t *cconx=mainw->cconx,*cconx_next,*cconx_prev=NULL; + lives_cconnect_t *cconx = mainw->cconx, *cconx_next, *cconx_prev = NULL; - register int i,j=0,k; + register int i, j = 0, k; - int totcons=0,maxcons=0; + int totcons = 0, maxcons = 0; - while (cconx!=NULL) { - cconx_next=cconx->next; - if (okey==FX_DATA_WILDCARD||(cconx->okey==okey&&cconx->omode==omode)) { - if (ikey==FX_DATA_WILDCARD) { + while (cconx != NULL) { + cconx_next = cconx->next; + if (okey == FX_DATA_WILDCARD || (cconx->okey == okey && cconx->omode == omode)) { + if (ikey == FX_DATA_WILDCARD) { // delete entire node lives_free(cconx->chans); lives_free(cconx->nconns); @@ -1610,50 +1611,50 @@ lives_free(cconx->imode); lives_free(cconx->icnum); lives_free(cconx); - if (mainw->cconx==cconx) mainw->cconx=cconx_next; - else cconx_prev->next=cconx_next; + if (mainw->cconx == cconx) mainw->cconx = cconx_next; + else cconx_prev->next = cconx_next; return; } - maxcons=0; - totcons=0; - j=0; + maxcons = 0; + totcons = 0; + j = 0; - for (i=0; i<cconx->nchans; i++) { - maxcons+=cconx->nconns[i]; + for (i = 0; i < cconx->nchans; i++) { + maxcons += cconx->nconns[i]; } - for (i=0; cconx!=NULL&&i<cconx->nchans; i++) { - totcons+=cconx->nconns[i]; + for (i = 0; cconx != NULL && i < cconx->nchans; i++) { + totcons += cconx->nconns[i]; - if (okey!=FX_DATA_WILDCARD&&cconx->chans[i]!=ocnum) { - j=totcons; + if (okey != FX_DATA_WILDCARD && cconx->chans[i] != ocnum) { + j = totcons; continue; } - for (; j<totcons; j++) { - if (cconx->ikey[j]==ikey && cconx->imode[j]==imode && (icnum==FX_DATA_WILDCARD||cconx->icnum[j]==icnum)) { + for (; j < totcons; j++) { + if (cconx->ikey[j] == ikey && cconx->imode[j] == imode && (icnum == FX_DATA_WILDCARD || cconx->icnum[j] == icnum)) { maxcons--; - for (k=j; k<maxcons; k++) { - cconx->ikey[k]=cconx->ikey[k+1]; - cconx->imode[k]=cconx->imode[k+1]; - cconx->icnum[k]=cconx->icnum[k+1]; + for (k = j; k < maxcons; k++) { + cconx->ikey[k] = cconx->ikey[k + 1]; + cconx->imode[k] = cconx->imode[k + 1]; + cconx->icnum[k] = cconx->icnum[k + 1]; } - cconx->ikey=(int *)lives_realloc(cconx->ikey,maxcons*sizint); - cconx->imode=(int *)lives_realloc(cconx->imode,maxcons*sizint); - cconx->icnum=(int *)lives_realloc(cconx->icnum,maxcons*sizint); + cconx->ikey = (int *)lives_realloc(cconx->ikey, maxcons * sizint); + cconx->imode = (int *)lives_realloc(cconx->imode, maxcons * sizint); + cconx->icnum = (int *)lives_realloc(cconx->icnum, maxcons * sizint); cconx->nconns[i]--; - if (cconx->nconns[i]==0) { + if (cconx->nconns[i] == 0) { cconx->nchans--; - for (k=i; k<cconx->nchans; k++) { - cconx->chans[k]=cconx->chans[k+1]; - cconx->nconns[k]=cconx->nconns[k+1]; + for (k = i; k < cconx->nchans; k++) { + cconx->chans[k] = cconx->chans[k + 1]; + cconx->nconns[k] = cconx->nconns[k + 1]; } - if (cconx->nchans==0) { + if (cconx->nchans == 0) { // delete entire node lives_free(cconx->chans); lives_free(cconx->nconns); @@ -1661,73 +1662,73 @@ lives_free(cconx->imode); lives_free(cconx->icnum); lives_free(cconx); - if (mainw->cconx==cconx) { - mainw->cconx=cconx_next; - cconx=NULL; + if (mainw->cconx == cconx) { + mainw->cconx = cconx_next; + cconx = NULL; } else { - cconx=cconx_prev; - cconx->next=cconx_next; + cconx = cconx_prev; + cconx->next = cconx_next; } } else { - cconx->nconns=(int *)lives_realloc(cconx->nconns,cconx->nchans*sizint); + cconx->nconns = (int *)lives_realloc(cconx->nconns, cconx->nchans * sizint); } } } } } } - cconx_prev=cconx; - cconx=cconx_next; + cconx_prev = cconx; + cconx = cconx_next; } } void cconx_remap_mode(int key, int omode, int nmode) { - lives_cconnect_t *cconx=mainw->cconx; + lives_cconnect_t *cconx = mainw->cconx; - register int i,j,totcons; + register int i, j, totcons; - while (cconx!=NULL) { - if (cconx->okey==key&&cconx->omode==omode) { - cconx->omode=nmode; + while (cconx != NULL) { + if (cconx->okey == key && cconx->omode == omode) { + cconx->omode = nmode; } - j=0; - totcons=0; - for (i=0; i<cconx->nchans; i++) { - totcons+=cconx->nconns[i]; - for (; j<totcons; j++) { - if (cconx->ikey[j]==key && cconx->imode[j]==omode) { - cconx->imode[j]=nmode; + j = 0; + totcons = 0; + for (i = 0; i < cconx->nchans; i++) { + totcons += cconx->nconns[i]; + for (; j < totcons; j++) { + if (cconx->ikey[j] == key && cconx->imode[j] == omode) { + cconx->imode[j] = nmode; } } } - cconx=cconx->next; + cconx = cconx->next; } } static void cconx_append(lives_cconnect_t *cconx) { - lives_cconnect_t *occonx=mainw->cconx; - lives_cconnect_t *last_cconx=occonx; + lives_cconnect_t *occonx = mainw->cconx; + lives_cconnect_t *last_cconx = occonx; - while (occonx!=NULL) { - last_cconx=occonx; - occonx=occonx->next; + while (occonx != NULL) { + last_cconx = occonx; + occonx = occonx->next; } - if (last_cconx!=NULL) last_cconx->next=cconx; - if (mainw->cconx==NULL) mainw->cconx=cconx; + if (last_cconx != NULL) last_cconx->next = cconx; + if (mainw->cconx == NULL) mainw->cconx = cconx; } static lives_cconnect_t *cconx_find(int okey, int omode) { - lives_cconnect_t *cconx=mainw->cconx; - while (cconx!=NULL) { - if (cconx->okey==okey&&cconx->omode==omode) { + lives_cconnect_t *cconx = mainw->cconx; + while (cconx != NULL) { + if (cconx->okey == okey && cconx->omode == omode) { return cconx; } - cconx=cconx->next; + cconx = cconx->next; } return NULL; } @@ -1736,14 +1737,14 @@ static int cconx_get_numcons(lives_conx_w *conxwp, int cnum) { // get displayed number - int totcons=0; + int totcons = 0; register int j; - if (cnum!=FX_DATA_WILDCARD) return conxwp->dispc[cnum]; + if (cnum != FX_DATA_WILDCARD) return conxwp->dispc[cnum]; - for (j=0; j<conxwp->num_alpha; j++) { - totcons+=conxwp->dispc[j]; + for (j = 0; j < conxwp->num_alpha; j++) { + totcons += conxwp->dispc[j]; } return totcons; @@ -1754,15 +1755,15 @@ static int cconx_get_nconns(lives_cconnect_t *cconx, int cnum) { // get actual number of connections - int totcons=0; + int totcons = 0; register int j; - if (cconx==NULL) return 0; + if (cconx == NULL) return 0; - for (j=0; j<cconx->nchans; j++) { - if (cnum!=FX_DATA_WILDCARD) { - if (cconx->chans[j]==cnum) return cconx->nconns[j]; - } else totcons+=cconx->nconns[j]; + for (j = 0; j < cconx->nchans; j++) { + if (cnum != FX_DATA_WILDCARD) { + if (cconx->chans[j] == cnum) return cconx->nconns[j]; + } else totcons += cconx->nconns[j]; } return totcons; } @@ -1770,64 +1771,64 @@ static void cconx_add_connection_private(lives_cconnect_t *cconx, int okey, int omode, int ocnum, int ikey, int imode, int icnum) { - int posn=0,totcons=0; - register int i,j; + int posn = 0, totcons = 0; + register int i, j; // delete any existing connection to the input channel - cconx_delete(FX_DATA_WILDCARD,0,0,ikey,imode,icnum); + cconx_delete(FX_DATA_WILDCARD, 0, 0, ikey, imode, icnum); - if (cconx==NULL) { + if (cconx == NULL) { // add whole new node - cconx=cconx_new(okey,omode); + cconx = cconx_new(okey, omode); cconx_append(cconx); } else { // see if already in chans - for (i=0; i<cconx->nchans; i++) { + for (i = 0; i < cconx->nchans; i++) { - if (cconx->chans[i]==ocnum) { + if (cconx->chans[i] == ocnum) { // add connection to existing - for (j=0; j<cconx->nchans; j++) { - if (j<i) { + for (j = 0; j < cconx->nchans; j++) { + if (j < i) { // calc posn - posn+=cconx->nconns[j]; + posn += cconx->nconns[j]; } - totcons+=cconx->nconns[j]; + totcons += cconx->nconns[j]; } // if already there, do not add again - for (j=posn; j<posn+cconx->nconns[i]; j++) { - if (cconx->ikey[j]==ikey&&cconx->imode[j]==imode&&cconx->icnum[j]==icnum) { + for (j = posn; j < posn + cconx->nconns[i]; j++) { + if (cconx->ikey[j] == ikey && cconx->imode[j] == imode && cconx->icnum[j] == icnum) { return; } // add in order key/mode/chan - if (cconx->ikey[j]>ikey||(cconx->ikey[j]==ikey&&cconx->imode[j]>imode)|| - (cconx->ikey[j]==ikey&&cconx->imode[j]==imode&&cconx->icnum[j]>icnum)) break; + if (cconx->ikey[j] > ikey || (cconx->ikey[j] == ikey && cconx->imode[j] > imode) || + (cconx->ikey[j] == ikey && cconx->imode[j] == imode && cconx->icnum[j] > icnum)) break; } - posn=j; // we will insert here + posn = j; // we will insert here cconx->nconns[i]++; totcons++; // make space for new - cconx->ikey=(int *)lives_realloc(cconx->ikey,totcons*sizint); - cconx->imode=(int *)lives_realloc(cconx->imode,totcons*sizint); - cconx->icnum=(int *)lives_realloc(cconx->icnum,totcons*sizint); + cconx->ikey = (int *)lives_realloc(cconx->ikey, totcons * sizint); + cconx->imode = (int *)lives_realloc(cconx->imode, totcons * sizint); + cconx->icnum = (int *)lives_realloc(cconx->icnum, totcons * sizint); // move up 1 - for (j=totcons-1; j>posn; j--) { - cconx->ikey[j]=cconx->ikey[j-1]; - cconx->imode[j]=cconx->imode[j-1]; - cconx->icnum[j]=cconx->icnum[j-1]; + for (j = totcons - 1; j > posn; j--) { + cconx->ikey[j] = cconx->ikey[j - 1]; + cconx->imode[j] = cconx->imode[j - 1]; + cconx->icnum[j] = cconx->icnum[j - 1]; } // insert at posn - cconx->ikey[posn]=ikey; - cconx->imode[posn]=imode; - cconx->icnum[posn]=icnum; + cconx->ikey[posn] = ikey; + cconx->imode[posn] = imode; + cconx->icnum[posn] = icnum; return; } @@ -1836,36 +1837,36 @@ // so, we have data for key/mode but this is a new channel to be mapped - for (i=0; i<cconx->nchans; i++) { - totcons+=cconx->nconns[i]; + for (i = 0; i < cconx->nchans; i++) { + totcons += cconx->nconns[i]; } totcons++; cconx->nchans++; - posn=cconx->nchans; + posn = cconx->nchans; // make space for new - cconx->nconns=(int *)lives_realloc(cconx->nconns,posn*sizint); - cconx->chans=(int *)lives_realloc(cconx->chans,posn*sizint); + cconx->nconns = (int *)lives_realloc(cconx->nconns, posn * sizint); + cconx->chans = (int *)lives_realloc(cconx->chans, posn * sizint); - cconx->ikey=(int *)lives_realloc(cconx->ikey,totcons*sizint); - cconx->imode=(int *)lives_realloc(cconx->imode,totcons*sizint); - cconx->icnum=(int *)lives_realloc(cconx->icnum,totcons*sizint); + cconx->ikey = (int *)lives_realloc(cconx->ikey, totcons * sizint); + cconx->imode = (int *)lives_realloc(cconx->imode, totcons * sizint); + cconx->icnum = (int *)lives_realloc(cconx->icnum, totcons * sizint); - cconx->chans[posn-1]=ocnum; + cconx->chans[posn - 1] = ocnum; - cconx->nconns[posn-1]=1; + cconx->nconns[posn - 1] = 1; - posn=totcons-1; + posn = totcons - 1; // insert at posn - cconx->ikey[posn]=ikey; - cconx->imode[posn]=imode; - cconx->icnum[posn]=icnum; + cconx->ikey[posn] = ikey; + cconx->imode[posn] = imode; + cconx->icnum[posn] = icnum; #ifdef DEBUG_PCONX - g_print("added another cconx from %d %d %d to %d %d %d\n",okey,omode,ocnum,ikey,imode,icnum); + g_print("added another cconx from %d %d %d to %d %d %d\n", okey, omode, ocnum, ikey, imode, icnum); #endif return; @@ -1873,33 +1874,33 @@ // add new - totcons=cconx_get_nconns(cconx,FX_DATA_WILDCARD)+1; + totcons = cconx_get_nconns(cconx, FX_DATA_WILDCARD) + 1; cconx->nchans++; - cconx->nconns=(int *)lives_realloc(cconx->chans,cconx->nchans*sizint); - cconx->nconns[cconx->nchans-1]=1; + cconx->nconns = (int *)lives_realloc(cconx->chans, cconx->nchans * sizint); + cconx->nconns[cconx->nchans - 1] = 1; - cconx->chans=(int *)lives_realloc(cconx->chans,cconx->nchans*sizint); - cconx->chans[cconx->nchans-1]=ocnum; + cconx->chans = (int *)lives_realloc(cconx->chans, cconx->nchans * sizint); + cconx->chans[cconx->nchans - 1] = ocnum; - cconx->ikey=(int *)lives_realloc(cconx->ikey,totcons*sizint); - cconx->ikey[totcons-1]=ikey; + cconx->ikey = (int *)lives_realloc(cconx->ikey, totcons * sizint); + cconx->ikey[totcons - 1] = ikey; - cconx->imode=(int *)lives_realloc(cconx->imode,totcons*sizint); - cconx->imode[totcons-1]=imode; + cconx->imode = (int *)lives_realloc(cconx->imode, totcons * sizint); + cconx->imode[totcons - 1] = imode; - cconx->icnum=(int *)lives_realloc(cconx->icnum,totcons*sizint); - cconx->icnum[totcons-1]=icnum; + cconx->icnum = (int *)lives_realloc(cconx->icnum, totcons * sizint); + cconx->icnum[totcons - 1] = icnum; #ifdef DEBUG_PCONX - g_print("added new cconx from %d %d %d to %d %d %d\n",okey,omode,ocnum,ikey,imode,icnum); + g_print("added new cconx from %d %d %d to %d %d %d\n", okey, omode, ocnum, ikey, imode, icnum); #endif } void cconx_add_connection(int okey, int omode, int ocnum, int ikey, int imode, int icnum) { - cconx_add_connection_private(cconx_find(okey,omode),okey,omode,ocnum,ikey,imode,icnum); + cconx_add_connection_private(cconx_find(okey, omode), okey, omode, ocnum, ikey, imode, icnum); } @@ -1908,66 +1909,66 @@ // walk all cconx and find one which has ikey/imode/icnum as destination // then all we need do is convert the pixel_data - lives_cconnect_t *cconx=mainw->cconx; + lives_cconnect_t *cconx = mainw->cconx; - weed_plant_t *inst=NULL,*filter=NULL; + weed_plant_t *inst = NULL, *filter = NULL; - int totcons,error; - register int i,j; + int totcons, error; + register int i, j; - while (cconx!=NULL) { + while (cconx != NULL) { if (!use_filt) { if (mainw->is_rendering) { - inst=get_new_inst_for_keymode(cconx->okey,cconx->omode); + inst = get_new_inst_for_keymode(cconx->okey, cconx->omode); } else { - inst=rte_keymode_get_instance(cconx->okey+1,cconx->omode); + inst = rte_keymode_get_instance(cconx->okey + 1, cconx->omode); } - if (inst==NULL) { - cconx=cconx->next; + if (inst == NULL) { + cconx = cconx->next; continue; } - filter=weed_instance_get_filter(inst,TRUE); + filter = weed_instance_get_filter(inst, TRUE); } else { - filter=rte_keymode_get_filter(cconx->okey+1,cconx->omode); - if (filter==NULL) { - cconx=cconx->next; + filter = rte_keymode_get_filter(cconx->okey + 1, cconx->omode); + if (filter == NULL) { + cconx = cconx->next; continue; } } - if (!weed_plant_has_leaf(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES)) { - cconx=cconx->next; + if (!weed_plant_has_leaf(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES)) { + cconx = cconx->next; continue; } - totcons=0; - j=0; - for (i=0; i<cconx->nchans; i++) { - totcons+=cconx->nconns[i]; - for (; j<totcons; j++) { - if (cconx->ikey[j]==ikey && cconx->imode[j]==imode && cconx->icnum[j]==icnum) { + totcons = 0; + j = 0; + for (i = 0; i < cconx->nchans; i++) { + totcons += cconx->nconns[i]; + for (; j < totcons; j++) { + if (cconx->ikey[j] == ikey && cconx->imode[j] == imode && cconx->icnum[j] == icnum) { weed_plant_t **outchans; - weed_plant_t *channel=NULL; + weed_plant_t *channel = NULL; if (use_filt) { - outchans=weed_get_plantptr_array(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES,&error); - if (cconx->chans[i]<weed_leaf_num_elements(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES)) { - channel=outchans[cconx->chans[i]]; + outchans = weed_get_plantptr_array(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES, &error); + if (cconx->chans[i] < weed_leaf_num_elements(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES)) { + channel = outchans[cconx->chans[i]]; } } else { - while (weed_plant_has_leaf(inst,WEED_LEAF_HOST_NEXT_INSTANCE)) inst=weed_get_plantptr_value(inst,WEED_LEAF_HOST_NEXT_INSTANCE,&error); - outchans=weed_get_plantptr_array(inst,WEED_LEAF_OUT_CHANNELS,&error); - if (cconx->chans[i]<weed_leaf_num_elements(inst,WEED_LEAF_OUT_CHANNELS)) { - channel=outchans[cconx->chans[i]]; + while (weed_plant_has_leaf(inst, WEED_LEAF_HOST_NEXT_INSTANCE)) inst = weed_get_plantptr_value(inst, WEED_LEAF_HOST_NEXT_INSTANCE, &error); + outchans = weed_get_plantptr_array(inst, WEED_LEAF_OUT_CHANNELS, &error); + if (cconx->chans[i] < weed_leaf_num_elements(inst, WEED_LEAF_OUT_CHANNELS)) { + channel = outchans[cconx->chans[i]]; } } lives_free(outchans); - if (okey!=NULL) *okey=cconx->okey; - if (omode!=NULL) *omode=cconx->omode; - if (ocnum!=NULL) *ocnum=cconx->chans[i]; + if (okey != NULL) *okey = cconx->okey; + if (omode != NULL) *omode = cconx->omode; + if (ocnum != NULL) *ocnum = cconx->chans[i]; return channel; } } } - cconx=cconx->next; + cconx = cconx->next; } return NULL; @@ -1982,87 +1983,87 @@ // we set boolean "host_orig_pdata" if we steal the schan pdata (so do not free....) int error; - int iwidth,iheight,ipal,irow; - int owidth,oheight,opal,orow,oflags; - boolean pal_ok,needs_reinit=FALSE; + int iwidth, iheight, ipal, irow; + int owidth, oheight, opal, orow, oflags; + boolean pal_ok, needs_reinit = FALSE; - weed_plant_t *dtmpl=weed_get_plantptr_value(dchan,WEED_LEAF_TEMPLATE,&error); + weed_plant_t *dtmpl = weed_get_plantptr_value(dchan, WEED_LEAF_TEMPLATE, &error); - uint8_t *spdata,*dpdata; + uint8_t *spdata, *dpdata; register int i; - ipal=weed_get_int_value(schan,WEED_LEAF_CURRENT_PALETTE,&error); + ipal = weed_get_int_value(schan, WEED_LEAF_CURRENT_PALETTE, &error); if (!weed_palette_is_alpha_palette(ipal)) return FALSE; - iwidth=weed_get_int_value(schan,WEED_LEAF_WIDTH,&error); - iheight=weed_get_int_value(schan,WEED_LEAF_HEIGHT,&error); - irow=weed_get_int_value(schan,WEED_LEAF_ROWSTRIDES,&error); + iwidth = weed_get_int_value(schan, WEED_LEAF_WIDTH, &error); + iheight = weed_get_int_value(schan, WEED_LEAF_HEIGHT, &error); + irow = weed_get_int_value(schan, WEED_LEAF_ROWSTRIDES, &error); - owidth=weed_get_int_value(dchan,WEED_LEAF_WIDTH,&error); - oheight=weed_get_int_value(dchan,WEED_LEAF_HEIGHT,&error); - opal=weed_get_int_value(dchan,WEED_LEAF_CURRENT_PALETTE,&error); - orow=weed_get_int_value(dchan,WEED_LEAF_ROWSTRIDES,&error); + owidth = weed_get_int_value(dchan, WEED_LEAF_WIDTH, &error); + oheight = weed_get_int_value(dchan, WEED_LEAF_HEIGHT, &error); + opal = weed_get_int_value(dchan, WEED_LEAF_CURRENT_PALETTE, &error); + orow = weed_get_int_value(dchan, WEED_LEAF_ROWSTRIDES, &error); - spdata=(uint8_t *)weed_get_voidptr_value(schan,WEED_LEAF_PIXEL_DATA,&error); + spdata = (uint8_t *)weed_get_voidptr_value(schan, WEED_LEAF_PIXEL_DATA, &error); - g_print("spd is %p %d %d %d %d %d %d %d %d\n",spdata,ipal,opal,iwidth,owidth,iheight,oheight,irow,orow); - if (spdata) g_print("spd2 is %p %d\n",spdata,spdata[0]); + g_print("spd is %p %d %d %d %d %d %d %d %d\n", spdata, ipal, opal, iwidth, owidth, iheight, oheight, irow, orow); + if (spdata) g_print("spd2 is %p %d\n", spdata, spdata[0]); - if (ipal==opal&&iwidth==owidth&&iheight==oheight&&irow==orow) { + if (ipal == opal && iwidth == owidth && iheight == oheight && irow == orow) { /// everything matches - we can just do a steal - weed_set_voidptr_value(dchan,WEED_LEAF_PIXEL_DATA,spdata); + weed_set_voidptr_value(dchan, WEED_LEAF_PIXEL_DATA, spdata); /// caller - do not free in dchan - weed_set_boolean_value(dchan,WEED_LEAF_HOST_ORIG_PDATA,WEED_TRUE); + weed_set_boolean_value(dchan, WEED_LEAF_HOST_ORIG_PDATA, WEED_TRUE); return FALSE; } /// check first if we can set the in-channel palette to match - if (ipal==opal) pal_ok=TRUE; + if (ipal == opal) pal_ok = TRUE; else { /// see if dest chan supports the source chan palette - int num_palettes=weed_leaf_num_elements(dtmpl,WEED_LEAF_PALETTE_LIST); - int *palettes=weed_get_int_array(dtmpl,WEED_LEAF_PALETTE_LIST,&error); - if (check_weed_palette_list(palettes,num_palettes,ipal)==ipal) pal_ok=TRUE; ///< yes - else pal_ok=FALSE; ///<no - oflags=weed_get_int_value(dtmpl,WEED_LEAF_FLAGS,&error); - if (ipal!=opal&&(oflags&WEED_CHANNEL_REINIT_ON_PALETTE_CHANGE)) needs_reinit=TRUE; + int num_palettes = weed_leaf_num_elements(dtmpl, WEED_LEAF_PALETTE_LIST); + int *palettes = weed_get_int_array(dtmpl, WEED_LEAF_PALETTE_LIST, &error); + if (check_weed_palette_list(palettes, num_palettes, ipal) == ipal) pal_ok = TRUE; ///< yes + else pal_ok = FALSE; ///<no + oflags = weed_get_int_value(dtmpl, WEED_LEAF_FLAGS, &error); + if (ipal != opal && (oflags & WEED_CHANNEL_REINIT_ON_PALETTE_CHANGE)) needs_reinit = TRUE; lives_free(palettes); } weed_layer_pixel_data_free(dchan); - weed_set_int_value(dchan,WEED_LEAF_WIDTH,iwidth); - weed_set_int_value(dchan,WEED_LEAF_HEIGHT,iheight); - weed_set_int_value(dchan,WEED_LEAF_CURRENT_PALETTE,ipal); + weed_set_int_value(dchan, WEED_LEAF_WIDTH, iwidth); + weed_set_int_value(dchan, WEED_LEAF_HEIGHT, iheight); + weed_set_int_value(dchan, WEED_LEAF_CURRENT_PALETTE, ipal); if (pal_ok) { - weed_set_voidptr_value(dchan,WEED_LEAF_PIXEL_DATA,(void *)spdata); - weed_set_int_value(dchan,WEED_LEAF_ROWSTRIDES,irow); + weed_set_voidptr_value(dchan, WEED_LEAF_PIXEL_DATA, (void *)spdata); + weed_set_int_value(dchan, WEED_LEAF_ROWSTRIDES, irow); /// caller - do not free in dchan - weed_set_boolean_value(dchan,WEED_LEAF_HOST_ORIG_PDATA,WEED_TRUE); - if (spdata) g_print("spd3 is %p %d\n",spdata,spdata[0]); + weed_set_boolean_value(dchan, WEED_LEAF_HOST_ORIG_PDATA, WEED_TRUE); + if (spdata) g_print("spd3 is %p %d\n", spdata, spdata[0]); return FALSE; } - create_empty_pixel_data(dchan,FALSE,TRUE); - dpdata=(uint8_t *)weed_get_voidptr_value(dchan,WEED_LEAF_PIXEL_DATA,&error); + create_empty_pixel_data(dchan, FALSE, TRUE); + dpdata = (uint8_t *)weed_get_voidptr_value(dchan, WEED_LEAF_PIXEL_DATA, &error); - orow=weed_get_int_value(dchan,WEED_LEAF_ROWSTRIDES,&error); + orow = weed_get_int_value(dchan, WEED_LEAF_ROWSTRIDES, &error); - if (irow==orow) { - memcpy((void *)dpdata,(void *)spdata,irow*iheight); + if (irow == orow) { + memcpy((void *)dpdata, (void *)spdata, irow * iheight); } else { int ipwidth = iwidth * weed_palette_get_bits_per_macropixel(ipal) / 8; - for (i=0; i<iheight; i++) { - memcpy((void *)dpdata,(void *)spdata,ipwidth); - spdata+=irow; - dpdata+=orow; + for (i = 0; i < iheight; i++) { + memcpy((void *)dpdata, (void *)spdata, ipwidth); + spdata += irow; + dpdata += orow; } } - convert_layer_palette(dchan,opal,0); + convert_layer_palette(dchan, opal, 0); if (needs_reinit) return TRUE; @@ -2075,32 +2076,32 @@ boolean cconx_chain_data(int key, int mode) { // ret TRUE if we should reinit inst (because of palette change) - weed_plant_t *ichan,*ochan; - weed_plant_t *inst=NULL; + weed_plant_t *ichan, *ochan; + weed_plant_t *inst = NULL; - boolean needs_reinit=FALSE; + boolean needs_reinit = FALSE; - register int i=0; + register int i = 0; - if (key>-1) { + if (key > -1) { if (mainw->is_rendering) { - if ((inst=get_new_inst_for_keymode(key,mode))==NULL) { + if ((inst = get_new_inst_for_keymode(key, mode)) == NULL) { return FALSE; ///< dest effect is not found } } else { - if ((inst=rte_keymode_get_instance(key+1,mode))==NULL) { + if ((inst = rte_keymode_get_instance(key + 1, mode)) == NULL) { return FALSE; ///< dest effect is not enabled } } - } else if (key==FX_DATA_KEY_PLAYBACK_PLUGIN) { - if (mainw->vpp==NULL||mainw->vpp->num_alpha_chans==0) return FALSE; + } else if (key == FX_DATA_KEY_PLAYBACK_PLUGIN) { + if (mainw->vpp == NULL || mainw->vpp->num_alpha_chans == 0) return FALSE; } - while ((ichan=(key==FX_DATA_KEY_PLAYBACK_PLUGIN?(weed_plant_t *)pp_get_chan(mainw->vpp->play_params,i):get_enabled_channel(inst,i, - TRUE)))!=NULL) { - if ((ochan=cconx_get_out_alpha(FALSE,key,mode,i++,NULL,NULL,NULL))!=NULL) { + while ((ichan = (key == FX_DATA_KEY_PLAYBACK_PLUGIN ? (weed_plant_t *)pp_get_chan(mainw->vpp->play_params, i) : get_enabled_channel(inst, i, + TRUE))) != NULL) { + if ((ochan = cconx_get_out_alpha(FALSE, key, mode, i++, NULL, NULL, NULL)) != NULL) { filter_mutex_lock(key); - if (cconx_convert_pixel_data(ichan,ochan)) needs_reinit=TRUE; + if (cconx_convert_pixel_data(ichan, ochan)) needs_reinit = TRUE; filter_mutex_unlock(key); } } @@ -2112,12 +2113,12 @@ boolean cconx_chain_data_internal(weed_plant_t *ichan) { // special version for compound fx internal connections - boolean needs_reinit=FALSE; + boolean needs_reinit = FALSE; - if (weed_plant_has_leaf(ichan,WEED_LEAF_HOST_INTERNAL_CONNECTION)) { + if (weed_plant_has_leaf(ichan, WEED_LEAF_HOST_INTERNAL_CONNECTION)) { int error; - weed_plant_t *ochan=weed_get_plantptr_value(ichan,WEED_LEAF_HOST_INTERNAL_CONNECTION,&error); - if (cconx_convert_pixel_data(ichan,ochan)) needs_reinit=TRUE; + weed_plant_t *ochan = weed_get_plantptr_value(ichan, WEED_LEAF_HOST_INTERNAL_CONNECTION, &error); + if (cconx_convert_pixel_data(ichan, ochan)) needs_reinit = TRUE; } return needs_reinit; } @@ -2128,25 +2129,25 @@ weed_plant_t *filter; char **array; char *chlist; - int nparams,niparams; - int ikey,imode; + int nparams, niparams; + int ikey, imode; - register int i,j; + register int i, j; - filter=rte_keymode_get_filter(okey+1,omode); + filter = rte_keymode_get_filter(okey + 1, omode); - nparams=num_out_params(filter); + nparams = num_out_params(filter); - for (i=0; i<nparams; i++) { - chlist=pconx_list(okey,omode,i); - niparams=get_token_count(chlist,' ')/4; - array=lives_strsplit(chlist," ",-1); - for (j=0; j<niparams; j+=4) { - ikey=atoi(array[j]); - imode=atoi(array[j+1]); - if (imode!=rte_key_getmode(ikey+1)) continue; - filter=rte_keymode_get_filter(ikey+1,imode); - if (has_video_chans_in(filter,TRUE)||has_video_chans_out(filter,TRUE)) { + for (i = 0; i < nparams; i++) { + chlist = pconx_list(okey, omode, i); + niparams = get_token_count(chlist, ' ') / 4; + array = lives_strsplit(chlist, " ", -1); + for (j = 0; j < niparams; j += 4) { + ikey = atoi(array[j]); + imode = atoi(array[j + 1]); + if (imode != rte_key_getmode(ikey + 1)) continue; + filter = rte_keymode_get_filter(ikey + 1, imode); + if (has_video_chans_in(filter, TRUE) || has_video_chans_out(filter, TRUE)) { lives_strfreev(array); lives_free(chlist); return TRUE; @@ -2156,14 +2157,14 @@ lives_free(chlist); } - for (i=0; i<nparams; i++) { - chlist=cconx_list(okey,omode,i); - niparams=get_token_count(chlist,' ')/3; - array=lives_strsplit(chlist," ",-1); - for (j=0; j<niparams; j+=3) { - ikey=atoi(array[j]); - imode=atoi(array[j+1]); - if (imode!=rte_key_getmode(ikey+1)) continue; + for (i = 0; i < nparams; i++) { + chlist = cconx_list(okey, omode, i); + niparams = get_token_count(chlist, ' ') / 3; + array = lives_strsplit(chlist, " ", -1); + for (j = 0; j < niparams; j += 3) { + ikey = atoi(array[j]); + imode = atoi(array[j + 1]); + if (imode != rte_key_getmode(ikey + 1)) continue; lives_strfreev(array); lives_free(chlist); return TRUE; @@ -2181,25 +2182,25 @@ weed_plant_t *filter; char **array; char *chlist; - int nparams,niparams; - int ikey,imode; + int nparams, niparams; + int ikey, imode; - register int i,j; + register int i, j; - filter=rte_keymode_get_filter(okey+1,omode); + filter = rte_keymode_get_filter(okey + 1, omode); - nparams=num_out_params(filter); + nparams = num_out_params(filter); - for (i=0; i<nparams; i++) { - chlist=pconx_list(okey,omode,i); - niparams=get_token_count(chlist,' ')/4; - array=lives_strsplit(chlist," ",-1); - for (j=0; j<niparams; j+=4) { - ikey=atoi(array[j]); - imode=atoi(array[j+1]); - if (imode!=rte_key_getmode(ikey+1)) continue; - filter=rte_keymode_get_filter(ikey+1,imode); - if (has_audio_chans_in(filter,TRUE)||has_audio_chans_out(filter,TRUE)) { + for (i = 0; i < nparams; i++) { + chlist = pconx_list(okey, omode, i); + niparams = get_token_count(chlist, ' ') / 4; + array = lives_strsplit(chlist, " ", -1); + for (j = 0; j < niparams; j += 4) { + ikey = atoi(array[j]); + imode = atoi(array[j + 1]); + if (imode != rte_key_getmode(ikey + 1)) continue; + filter = rte_keymode_get_filter(ikey + 1, imode); + if (has_audio_chans_in(filter, TRUE) || has_audio_chans_out(filter, TRUE)) { lives_strfreev(array); lives_free(chlist); return TRUE; @@ -2209,16 +2210,16 @@ lives_free(chlist); } - for (i=0; i<nparams; i++) { - chlist=cconx_list(okey,omode,i); - niparams=get_token_count(chlist,' ')/3; - array=lives_strsplit(chlist," ",-1); - for (j=0; j<niparams; j+=3) { - ikey=atoi(array[j]); - imode=atoi(array[j+1]); - if (imode!=rte_key_getmode(ikey+1)) continue; - filter=rte_keymode_get_filter(ikey+1,imode); - if (has_audio_chans_in(filter,TRUE)||has_audio_chans_out(filter,TRUE)) { + for (i = 0; i < nparams; i++) { + chlist = cconx_list(okey, omode, i); + niparams = get_token_count(chlist, ' ') / 3; + array = lives_strsplit(chlist, " ", -1); + for (j = 0; j < niparams; j += 3) { + ikey = atoi(array[j]); + imode = atoi(array[j + 1]); + if (imode != rte_key_getmode(ikey + 1)) continue; + filter = rte_keymode_get_filter(ikey + 1, imode); + if (has_audio_chans_in(filter, TRUE) || has_audio_chans_out(filter, TRUE)) { lives_strfreev(array); lives_free(chlist); return TRUE; @@ -2252,35 +2253,35 @@ static void disconbutton_clicked(LiVESButton *button, livespointer user_data) { // disconnect all channels/params - lives_conx_w *conxwp=(lives_conx_w *)user_data; + lives_conx_w *conxwp = (lives_conx_w *)user_data; - int totparams,totchans; - int pidx,pidx_last,cidx,cidx_last; + int totparams, totchans; + int pidx, pidx_last, cidx, cidx_last; register int i; - totparams=pconx_get_numcons(conxwp,FX_DATA_WILDCARD); - totchans=cconx_get_numcons(conxwp,FX_DATA_WILDCARD); + totparams = pconx_get_numcons(conxwp, FX_DATA_WILDCARD); + totchans = cconx_get_numcons(conxwp, FX_DATA_WILDCARD); - for (i=0; i<totchans; i++) { - lives_combo_set_active_index(LIVES_COMBO(conxwp->cfxcombo[i]),0); + for (i = 0; i < totchans; i++) { + lives_combo_set_active_index(LIVES_COMBO(conxwp->cfxcombo[i]), 0); - if (i==0) lives_widget_set_sensitive(conxwp->del_button[i],FALSE); + if (i == 0) lives_widget_set_sensitive(conxwp->del_button[i], FALSE); else { - cidx=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(conxwp->ccombo[i]),"cidx")); - cidx_last=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(conxwp->ccombo[i-1]),"cidx")); - lives_widget_set_sensitive(conxwp->del_button[i],cidx==cidx_last); + cidx = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(conxwp->ccombo[i]), "cidx")); + cidx_last = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(conxwp->ccombo[i - 1]), "cidx")); + lives_widget_set_sensitive(conxwp->del_button[i], cidx == cidx_last); } } - for (i=0; i<totparams; i++) { - lives_combo_set_active_index(LIVES_COMBO(conxwp->pfxcombo[i]),0); + for (i = 0; i < totparams; i++) { + lives_combo_set_active_index(LIVES_COMBO(conxwp->pfxcombo[i]), 0); - if (i==0) lives_widget_set_sensitive(conxwp->del_button[i+totchans],FALSE); + if (i == 0) lives_widget_set_sensitive(conxwp->del_button[i + totchans], FALSE); else { - pidx=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(conxwp->pcombo[i]),"pidx")); - pidx_last=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(conxwp->pcombo[i-1]),"pidx")); - lives_widget_set_sensitive(conxwp->del_button[i+totchans],pidx==pidx_last); + pidx = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(conxwp->pcombo[i]), "pidx")); + pidx_last = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(conxwp->pcombo[i - 1]), "pidx")); + lives_widget_set_sensitive(conxwp->del_button[i + totchans], pidx == pidx_last); } } @@ -2289,7 +2290,7 @@ static void apbutton_clicked(LiVESButton *button, livespointer user_data) { // autoconnect each param with a compatible one in the target - lives_conx_w *conxwp=(lives_conx_w *)user_data; + lives_conx_w *conxwp = (lives_conx_w *)user_data; LiVESWidget *combo; @@ -2297,85 +2298,85 @@ LiVESTreeModel *model; LiVESTreePath *tpath; - weed_plant_t **iparams,**oparams; - weed_plant_t *filter,*param,*oparam; + weed_plant_t **iparams, **oparams; + weed_plant_t *filter, *param, *oparam; - int fidx,key,mode,totchans; - int niparams,ours,addn,stparam; + int fidx, key, mode, totchans; + int niparams, ours, addn, stparam; int error; - register int i,k=1; + register int i, k = 1; // get filter from last connection from first parameter - ours=pconx_get_numcons(conxwp,-EXTRA_PARAMS_OUT)+pconx_get_numcons(conxwp,0)-1; + ours = pconx_get_numcons(conxwp, -EXTRA_PARAMS_OUT) + pconx_get_numcons(conxwp, 0) - 1; - combo=(LiVESWidget *)conxwp->pfxcombo[ours]; + combo = (LiVESWidget *)conxwp->pfxcombo[ours]; - if (!lives_combo_get_active_iter(LIVES_COMBO(combo),&iter)) return; - model=lives_combo_get_model(LIVES_COMBO(combo)); + if (!lives_combo_get_active_iter(LIVES_COMBO(combo), &iter)) return; + model = lives_combo_get_model(LIVES_COMBO(combo)); - lives_tree_model_get(model,&iter,KEYVAL_COLUMN,&key,MODEVAL_COLUMN,&mode,-1); - fidx=rte_keymode_get_filter_idx(key,mode); + lives_tree_model_get(model, &iter, KEYVAL_COLUMN, &key, MODEVAL_COLUMN, &mode, -1); + fidx = rte_keymode_get_filter_idx(key, mode); - if (fidx==-1) return; + if (fidx == -1) return; - tpath=lives_tree_model_get_path(model,&iter); - lives_tree_model_get_iter(model,&iter,tpath); + tpath = lives_tree_model_get_path(model, &iter); + lives_tree_model_get_iter(model, &iter, tpath); // find the receiving filter/instance - filter=get_weed_filter(fidx); + filter = get_weed_filter(fidx); - iparams=weed_get_plantptr_array(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); - niparams=weed_leaf_num_elements(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES); + iparams = weed_get_plantptr_array(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); + niparams = weed_leaf_num_elements(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES); - oparams=weed_get_plantptr_array(rte_keymode_get_filter(conxwp->okey+1,conxwp->omode),WEED_LEAF_OUT_PARAMETER_TEMPLATES,&error); + oparams = weed_get_plantptr_array(rte_keymode_get_filter(conxwp->okey + 1, conxwp->omode), WEED_LEAF_OUT_PARAMETER_TEMPLATES, &error); - totchans=cconx_get_numcons(conxwp,FX_DATA_WILDCARD); + totchans = cconx_get_numcons(conxwp, FX_DATA_WILDCARD); // get first param connected - stparam=conxwp->idx[totchans+ours]; + stparam = conxwp->idx[totchans + ours]; - if (conxwp->ikeys[totchans+ours]==0) { + if (conxwp->ikeys[totchans + ours] == 0) { // first out not connected, we will add this back in - ours-=pconx_get_numcons(conxwp,0); - k=0; + ours -= pconx_get_numcons(conxwp, 0); + k = 0; } else stparam++; // set all pcombo with params - for (i=stparam; i<niparams; i++) { + for (i = stparam; i < niparams; i++) { - param=iparams[i]; + param = iparams[i]; - if (weed_plant_has_leaf(param,WEED_LEAF_HOST_INTERNAL_CONNECTION)) continue; + if (weed_plant_has_leaf(param, WEED_LEAF_HOST_INTERNAL_CONNECTION)) continue; - if (pconx_get_out_param(TRUE,key-1,mode,i,NULL,NULL,NULL,NULL)!=NULL) continue; + if (pconx_get_out_param(TRUE, key - 1, mode, i, NULL, NULL, NULL, NULL) != NULL) continue; - oparam=oparams[k]; + oparam = oparams[k]; - if (!params_compatible(oparam,param)) continue; + if (!params_compatible(oparam, param)) continue; - addn=pconx_get_numcons(conxwp,k); + addn = pconx_get_numcons(conxwp, k); - ours+=addn; + ours += addn; - combo=conxwp->pcombo[ours]; + combo = conxwp->pcombo[ours]; - if (conxwp->ikeys[ours+totchans]!=0) { + if (conxwp->ikeys[ours + totchans] != 0) { // add another if needed - padd_clicked(conxwp->add_button[ours+totchans],(livespointer)conxwp); + padd_clicked(conxwp->add_button[ours + totchans], (livespointer)conxwp); ours++; } - combo=conxwp->pfxcombo[ours]; - model=lives_combo_get_model(LIVES_COMBO(combo)); - lives_tree_model_get_iter(model,&iter,tpath); - lives_combo_set_active_iter(LIVES_COMBO(combo),&iter); + combo = conxwp->pfxcombo[ours]; + model = lives_combo_get_model(LIVES_COMBO(combo)); + lives_tree_model_get_iter(model, &iter, tpath); + lives_combo_set_active_iter(LIVES_COMBO(combo), &iter); lives_widget_context_update(); - lives_combo_set_active_index(LIVES_COMBO(conxwp->pcombo[ours]),i+EXTRA_PARAMS_IN); + lives_combo_set_active_index(LIVES_COMBO(conxwp->pcombo[ours]), i + EXTRA_PARAMS_IN); - if (++k>=conxwp->num_params-EXTRA_PARAMS_OUT) break; + if (++k >= conxwp->num_params - EXTRA_PARAMS_OUT) break; } lives_tree_path_free(tpath); @@ -2388,7 +2389,7 @@ static void acbutton_clicked(LiVESButton *button, livespointer user_data) { // autoconnect each channel with a compatible one in the target - lives_conx_w *conxwp=(lives_conx_w *)user_data; + lives_conx_w *conxwp = (lives_conx_w *)user_data; LiVESWidget *combo; @@ -2396,97 +2397,97 @@ LiVESTreeModel *model; LiVESTreePath *tpath; - weed_plant_t **ichans,**ochans; - weed_plant_t *filter,*chan,*ochan; + weed_plant_t **ichans, **ochans; + weed_plant_t *filter, *chan, *ochan; - int fidx,key,mode; - int nichans,nochans,ours,addn,stchan; + int fidx, key, mode; + int nichans, nochans, ours, addn, stchan; int error; - register int i,j=0,k=1; + register int i, j = 0, k = 1; // get filter from last connection from first parameter - ours=cconx_get_numcons(conxwp,0)-1; + ours = cconx_get_numcons(conxwp, 0) - 1; - combo=(LiVESWidget *)conxwp->cfxcombo[ours]; + combo = (LiVESWidget *)conxwp->cfxcombo[ours]; - if (!lives_combo_get_active_iter(LIVES_COMBO(combo),&iter)) return; - model=lives_combo_get_model(LIVES_COMBO(combo)); + if (!lives_combo_get_active_iter(LIVES_COMBO(combo), &iter)) return; + model = lives_combo_get_model(LIVES_COMBO(combo)); - lives_tree_model_get(model,&iter,KEYVAL_COLUMN,&key,MODEVAL_COLUMN,&mode,-1); - fidx=rte_keymode_get_filter_idx(key,mode); + lives_tree_model_get(model, &iter, KEYVAL_COLUMN, &key, MODEVAL_COLUMN, &mode, -1); + fidx = rte_keymode_get_filter_idx(key, mode); - if (fidx==-1) return; + if (fidx == -1) return; - tpath=lives_tree_model_get_path(model,&iter); - lives_tree_model_get_iter(model,&iter,tpath); + tpath = lives_tree_model_get_path(model, &iter); + lives_tree_model_get_iter(model, &iter, tpath); // find the receiving filter/instance - filter=get_weed_filter(fidx); + filter = get_weed_filter(fidx); - ichans=weed_get_plantptr_array(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES,&error); - nichans=weed_leaf_num_elements(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES); + ichans = weed_get_plantptr_array(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES, &error); + nichans = weed_leaf_num_elements(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES); - ochans=weed_get_plantptr_array(rte_keymode_get_filter(conxwp->okey+1,conxwp->omode),WEED_LEAF_OUT_CHANNEL_TEMPLATES,&error); - nochans=weed_leaf_num_elements(rte_keymode_get_filter(conxwp->okey+1,conxwp->omode),WEED_LEAF_OUT_CHANNEL_TEMPLATES); + ochans = weed_get_plantptr_array(rte_keymode_get_filter(conxwp->okey + 1, conxwp->omode), WEED_LEAF_OUT_CHANNEL_TEMPLATES, &error); + nochans = weed_leaf_num_elements(rte_keymode_get_filter(conxwp->okey + 1, conxwp->omode), WEED_LEAF_OUT_CHANNEL_TEMPLATES); // get first param connected - stchan=conxwp->idx[ours]; + stchan = conxwp->idx[ours]; - if (conxwp->ikeys[ours]==0) { + if (conxwp->ikeys[ours] == 0) { // first out not connected, we will add this back in - ours-=cconx_get_numcons(conxwp,0); - k=0; + ours -= cconx_get_numcons(conxwp, 0); + k = 0; } else { stchan++; - for (i=0; i<nichans; i++) { + for (i = 0; i < nichans; i++) { j++; - chan=ichans[i]; + chan = ichans[i]; if (!has_alpha_palette(chan)) continue; - if (i==conxwp->idx[ours]) break; + if (i == conxwp->idx[ours]) break; } } // set all ccombo with chans - for (i=stchan; i<nichans; i++) { + for (i = stchan; i < nichans; i++) { - chan=ichans[i]; + chan = ichans[i]; if (!has_alpha_palette(chan)) continue; - if (cconx_get_out_alpha(TRUE,key-1,mode,i,NULL,NULL,NULL)!=NULL) continue; + if (cconx_get_out_alpha(TRUE, key - 1, mode, i, NULL, NULL, NULL) != NULL) continue; - ochan=ochans[k]; + ochan = ochans[k]; if (!has_alpha_palette(ochan)) { - if (++k>=nochans) break; + if (++k >= nochans) break; continue; } - addn=cconx_get_numcons(conxwp,k); + addn = cconx_get_numcons(conxwp, k); - ours+=addn; + ours += addn; - combo=conxwp->ccombo[ours]; + combo = conxwp->ccombo[ours]; - if (conxwp->ikeys[ours]!=0) { + if (conxwp->ikeys[ours] != 0) { // add another if needed - cadd_clicked(conxwp->add_button[ours],(livespointer)conxwp); + cadd_clicked(conxwp->add_button[ours], (livespointer)conxwp); ours++; } - combo=conxwp->cfxcombo[ours]; - model=lives_combo_get_model(LIVES_COMBO(combo)); - lives_tree_model_get_iter(model,&iter,tpath); - lives_combo_set_active_iter(LIVES_COMBO(combo),&iter); + combo = conxwp->cfxcombo[ours]; + model = lives_combo_get_model(LIVES_COMBO(combo)); + lives_tree_model_get_iter(model, &iter, tpath); + lives_combo_set_active_iter(LIVES_COMBO(combo), &iter); lives_widget_context_update(); - lives_combo_set_active_index(LIVES_COMBO(conxwp->ccombo[ours]),j++); + lives_combo_set_active_index(LIVES_COMBO(conxwp->ccombo[ours]), j++); - if (++k>=nochans) break; + if (++k >= nochans) break; } lives_tree_path_free(tpath); @@ -2498,127 +2499,127 @@ static void padd_clicked(LiVESWidget *button, livespointer user_data) { // add another param row below the add button - lives_conx_w *conxwp=(lives_conx_w *)user_data; + lives_conx_w *conxwp = (lives_conx_w *)user_data; - int totparams,totchans; - int ours=-1,pidx; + int totparams, totchans; + int ours = -1, pidx; #if LIVES_TABLE_IS_GRID int trows; #else - LiVESWidget *hbox[5],*hboxb[5],*achbox,*comhbox; + LiVESWidget *hbox[5], *hboxb[5], *achbox, *comhbox; #endif register int i; - totparams=pconx_get_numcons(conxwp,FX_DATA_WILDCARD); - totchans=cconx_get_numcons(conxwp,FX_DATA_WILDCARD); + totparams = pconx_get_numcons(conxwp, FX_DATA_WILDCARD); + totchans = cconx_get_numcons(conxwp, FX_DATA_WILDCARD); - for (i=0; i<totparams; i++) { - if (conxwp->add_button[i+totchans]==button) { - ours=i; + for (i = 0; i < totparams; i++) { + if (conxwp->add_button[i + totchans] == button) { + ours = i; break; } } - pidx=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(conxwp->pcombo[ours]),"pidx")); + pidx = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(conxwp->pcombo[ours]), "pidx")); totparams++; - conxwp->pclabel=(LiVESWidget **)lives_realloc(conxwp->pclabel,(totchans+totparams)*sizeof(LiVESWidget *)); + conxwp->pclabel = (LiVESWidget **)lives_realloc(conxwp->pclabel, (totchans + totparams) * sizeof(LiVESWidget *)); - conxwp->add_button=(LiVESWidget **)lives_realloc(conxwp->add_button,(totchans+totparams)*sizeof(LiVESWidget *)); - conxwp->del_button=(LiVESWidget **)lives_realloc(conxwp->del_button,(totchans+totparams)*sizeof(LiVESWidget *)); - conxwp->clabel=(LiVESWidget **)lives_realloc(conxwp->clabel,(totchans+totparams)*sizeof(LiVESWidget *)); + conxwp->add_button = (LiVESWidget **)lives_realloc(conxwp->add_button, (totchans + totparams) * sizeof(LiVESWidget *)); + conxwp->del_button = (LiVESWidget **)lives_realloc(conxwp->del_button, (totchans + totparams) * sizeof(LiVESWidget *)); + conxwp->clabel = (LiVESWidget **)lives_realloc(conxwp->clabel, (totchans + totparams) * sizeof(LiVESWidget *)); - conxwp->ikeys=(int *)lives_realloc(conxwp->ikeys,(totchans+totparams)*sizint); - conxwp->imodes=(int *)lives_realloc(conxwp->imodes,(totchans+totparams)*sizint); - conxwp->idx=(int *)lives_realloc(conxwp->idx,(totchans+totparams)*sizint); + conxwp->ikeys = (int *)lives_realloc(conxwp->ikeys, (totchans + totparams) * sizint); + conxwp->imodes = (int *)lives_realloc(conxwp->imodes, (totchans + totparams) * sizint); + conxwp->idx = (int *)lives_realloc(conxwp->idx, (totchans + totparams) * sizint); - conxwp->pfxcombo=(LiVESWidget **)lives_realloc(conxwp->pfxcombo,totparams*sizeof(LiVESWidget *)); - conxwp->pcombo=(LiVESWidget **)lives_realloc(conxwp->pcombo,totparams*sizeof(LiVESWidget *)); + conxwp->pfxcombo = (LiVESWidget **)lives_realloc(conxwp->pfxcombo, totparams * sizeof(LiVESWidget *)); + conxwp->pcombo = (LiVESWidget **)lives_realloc(conxwp->pcombo, totparams * sizeof(LiVESWidget *)); - conxwp->dpp_func=(ulong *)lives_realloc(conxwp->dpp_func,totparams*sizeof(ulong)); - conxwp->acheck_func=(ulong *)lives_realloc(conxwp->acheck_func,totparams*sizeof(ulong)); + conxwp->dpp_func = (ulong *)lives_realloc(conxwp->dpp_func, totparams * sizeof(ulong)); + conxwp->acheck_func = (ulong *)lives_realloc(conxwp->acheck_func, totparams * sizeof(ulong)); - conxwp->acheck=(LiVESWidget **)lives_realloc(conxwp->acheck,totparams*sizeof(LiVESWidget *)); + conxwp->acheck = (LiVESWidget **)lives_realloc(conxwp->acheck, totparams * sizeof(LiVESWidget *)); conxwp->trowsp++; #if !LIVES_TABLE_IS_GRID - lives_table_resize(LIVES_TABLE(conxwp->tablep),conxwp->trowsp,7); + lives_table_resize(LIVES_TABLE(conxwp->tablep), conxwp->trowsp, 7); // add parent widgets to new row - for (i=0; i<5; i++) { - hbox[i]=lives_hbox_new(FALSE, 0); + for (i = 0; i < 5; i++) { + hbox[i] = lives_hbox_new(FALSE, 0); - lives_table_attach(LIVES_TABLE(conxwp->tablep), hbox[i], i, i+1, conxwp->trowsp-1, conxwp->trowsp, - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), + lives_table_attach(LIVES_TABLE(conxwp->tablep), hbox[i], i, i + 1, conxwp->trowsp - 1, conxwp->trowsp, + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); } - ptable_row_add_standard_widgets(conxwp,totparams-1); + ptable_row_add_standard_widgets(conxwp, totparams - 1); #else - lives_grid_insert_row(LIVES_GRID(conxwp->tablep),ours+2); - trows=conxwp->trowsp; - conxwp->trowsp=ours+3; - ptable_row_add_standard_widgets(conxwp,ours+1); - conxwp->trowsp=trows; + lives_grid_insert_row(LIVES_GRID(conxwp->tablep), ours + 2); + trows = conxwp->trowsp; + conxwp->trowsp = ours + 3; + ptable_row_add_standard_widgets(conxwp, ours + 1); + conxwp->trowsp = trows; #endif // subtract 1 from trowsp because of title row - for (i=conxwp->trowsp-3; i>ours; i--) { + for (i = conxwp->trowsp - 3; i > ours; i--) { #if !LIVES_TABLE_IS_GRID // reparent widgets from row i to row i+1 - hboxb[0]=lives_widget_get_parent(conxwp->pclabel[i]); - lives_widget_reparent(conxwp->pclabel[i],hbox[0]); - hbox[0]=hboxb[0]; - - hboxb[2]=lives_widget_get_parent(conxwp->pfxcombo[i]); - lives_widget_reparent(conxwp->pfxcombo[i],hbox[2]); - hbox[2]=hboxb[2]; - - comhbox=lives_widget_get_parent(conxwp->pcombo[i]); - hboxb[3]=lives_widget_get_parent(comhbox); - lives_widget_reparent(comhbox,hbox[3]); - hbox[3]=hboxb[3]; - - if (conxwp->acheck[i]!=NULL) { - achbox=lives_widget_get_parent(conxwp->acheck[i]); - hboxb[4]=lives_widget_get_parent(achbox); - lives_widget_reparent(achbox,hbox[4]); - hbox[4]=hboxb[4]; + hboxb[0] = lives_widget_get_parent(conxwp->pclabel[i]); + lives_widget_reparent(conxwp->pclabel[i], hbox[0]); + hbox[0] = hboxb[0]; + + hboxb[2] = lives_widget_get_parent(conxwp->pfxcombo[i]); + lives_widget_reparent(conxwp->pfxcombo[i], hbox[2]); + hbox[2] = hboxb[2]; + + comhbox = lives_widget_get_parent(conxwp->pcombo[i]); + hboxb[3] = lives_widget_get_parent(comhbox); + lives_widget_reparent(comhbox, hbox[3]); + hbox[3] = hboxb[3]; + + if (conxwp->acheck[i] != NULL) { + achbox = lives_widget_get_parent(conxwp->acheck[i]); + hboxb[4] = lives_widget_get_parent(achbox); + lives_widget_reparent(achbox, hbox[4]); + hbox[4] = hboxb[4]; } #endif - conxwp->pclabel[i+1]=conxwp->pclabel[i]; + conxwp->pclabel[i + 1] = conxwp->pclabel[i]; - conxwp->pfxcombo[i+1]=conxwp->pfxcombo[i]; - conxwp->pcombo[i+1]=conxwp->pcombo[i]; + conxwp->pfxcombo[i + 1] = conxwp->pfxcombo[i]; + conxwp->pcombo[i + 1] = conxwp->pcombo[i]; - conxwp->acheck[i+1]=conxwp->acheck[i]; - conxwp->acheck_func[i+1]=conxwp->acheck_func[i]; + conxwp->acheck[i + 1] = conxwp->acheck[i]; + conxwp->acheck_func[i + 1] = conxwp->acheck_func[i]; - conxwp->ikeys[i+1]=conxwp->ikeys[i]; - conxwp->imodes[i+1]=conxwp->imodes[i]; - conxwp->idx[i+1]=conxwp->idx[i]; + conxwp->ikeys[i + 1] = conxwp->ikeys[i]; + conxwp->imodes[i + 1] = conxwp->imodes[i]; + conxwp->idx[i + 1] = conxwp->idx[i]; - conxwp->dpp_func[i+1]=conxwp->dpp_func[i]; + conxwp->dpp_func[i + 1] = conxwp->dpp_func[i]; } - ptable_row_add_variable_widgets(conxwp,ours+1,ours+2,pidx); + ptable_row_add_variable_widgets(conxwp, ours + 1, ours + 2, pidx); - conxwp->ikeys[ours+1]=conxwp->imodes[ours+1]=conxwp->idx[i+1]=0; + conxwp->ikeys[ours + 1] = conxwp->imodes[ours + 1] = conxwp->idx[i + 1] = 0; - conxwp->dispp[pidx+EXTRA_PARAMS_OUT]++; + conxwp->dispp[pidx + EXTRA_PARAMS_OUT]++; lives_widget_show_all(conxwp->tablep); @@ -2628,56 +2629,56 @@ static void pdel_clicked(LiVESWidget *button, livespointer user_data) { // remove the param row at the del button - lives_conx_w *conxwp=(lives_conx_w *)user_data; + lives_conx_w *conxwp = (lives_conx_w *)user_data; - int totparams,totchans; - int ours=-1,pidx; + int totparams, totchans; + int ours = -1, pidx; #if !LIVES_TABLE_IS_GRID LiVESWidget *comhbox; - LiVESWidget *hbox[4],*hboxb[4],*achbox; + LiVESWidget *hbox[4], *hboxb[4], *achbox; int pidx_next; #endif register int i; #if !LIVES_TABLE_IS_GRID - hbox[3]=NULL; + hbox[3] = NULL; #endif - totparams=pconx_get_numcons(conxwp,FX_DATA_WILDCARD); - totchans=cconx_get_numcons(conxwp,FX_DATA_WILDCARD); + totparams = pconx_get_numcons(conxwp, FX_DATA_WILDCARD); + totchans = cconx_get_numcons(conxwp, FX_DATA_WILDCARD); - for (i=0; i<totparams; i++) { - if (conxwp->del_button[i+totchans]==button) { - ours=i; + for (i = 0; i < totparams; i++) { + if (conxwp->del_button[i + totchans] == button) { + ours = i; break; } } - pidx=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(conxwp->pcombo[ours]),"pidx")); + pidx = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(conxwp->pcombo[ours]), "pidx")); - lives_combo_set_active_index(LIVES_COMBO(conxwp->pfxcombo[ours]),0); + lives_combo_set_active_index(LIVES_COMBO(conxwp->pfxcombo[ours]), 0); - if (conxwp->dispp[pidx+EXTRA_PARAMS_OUT]==1) { + if (conxwp->dispp[pidx + EXTRA_PARAMS_OUT] == 1) { // last one, dont delete, just clear - lives_widget_set_sensitive(conxwp->del_button[totchans+ours],FALSE); + lives_widget_set_sensitive(conxwp->del_button[totchans + ours], FALSE); return; } // force callback for pfxcombo before destroying it lives_widget_context_update(); - conxwp->dispp[pidx+EXTRA_PARAMS_OUT]--; + conxwp->dispp[pidx + EXTRA_PARAMS_OUT]--; totparams--; #if !LIVES_TABLE_IS_GRID - hbox[0]=lives_widget_get_parent(conxwp->pclabel[totchans+ours]); - hbox[1]=lives_widget_get_parent(conxwp->pfxcombo[ours]); + hbox[0] = lives_widget_get_parent(conxwp->pclabel[totchans + ours]); + hbox[1] = lives_widget_get_parent(conxwp->pfxcombo[ours]); - comhbox=lives_widget_get_parent(conxwp->pcombo[ours]); - hbox[2]=lives_widget_get_parent(comhbox); + comhbox = lives_widget_get_parent(conxwp->pcombo[ours]); + hbox[2] = lives_widget_get_parent(comhbox); lives_widget_destroy(conxwp->pfxcombo[ours]); lives_widget_destroy(conxwp->pcombo[ours]); @@ -2687,85 +2688,85 @@ conxwp->trowsp--; // subtract 1 from trowsp because of title row - for (i=ours; i<conxwp->trowsp-1; i++) { + for (i = ours; i < conxwp->trowsp - 1; i++) { #if !LIVES_TABLE_IS_GRID // reparent widgets from row i to row i+1 - hboxb[0]=lives_widget_get_parent(conxwp->pclabel[totchans+i+1]); + hboxb[0] = lives_widget_get_parent(conxwp->pclabel[totchans + i + 1]); - if (i==ours) { - pidx_next=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(conxwp->pcombo[i+1]),"pidx")); - if (pidx_next!=pidx) { + if (i == ours) { + pidx_next = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(conxwp->pcombo[i + 1]), "pidx")); + if (pidx_next != pidx) { // secondary param - lives_widget_destroy(conxwp->pclabel[totchans+i]); - lives_widget_reparent(conxwp->pclabel[totchans+i+1],hbox[0]); - conxwp->pclabel[totchans+i]=conxwp->pclabel[totchans+i+1]; + lives_widget_destroy(conxwp->pclabel[totchans + i]); + lives_widget_reparent(conxwp->pclabel[totchans + i + 1], hbox[0]); + conxwp->pclabel[totchans + i] = conxwp->pclabel[totchans + i + 1]; } else { // primary param - lives_widget_destroy(conxwp->pclabel[totchans+i+1]); + lives_widget_destroy(conxwp->pclabel[totchans + i + 1]); } } else { - lives_widget_reparent(conxwp->pclabel[totchans+i+1],hbox[0]); - conxwp->pclabel[totchans+i]=conxwp->pclabel[totchans+i+1]; + lives_widget_reparent(conxwp->pclabel[totchans + i + 1], hbox[0]); + conxwp->pclabel[totchans + i] = conxwp->pclabel[totchans + i + 1]; } - hbox[0]=hboxb[0]; + hbox[0] = hboxb[0]; - hboxb[1]=lives_widget_get_parent(conxwp->pfxcombo[i+1]); - lives_widget_reparent(conxwp->pfxcombo[i+1],hbox[1]); - hbox[1]=hboxb[1]; + hboxb[1] = lives_widget_get_parent(conxwp->pfxcombo[i + 1]); + lives_widget_reparent(conxwp->pfxcombo[i + 1], hbox[1]); + hbox[1] = hboxb[1]; - comhbox=lives_widget_get_parent(conxwp->pcombo[i+1]); - hboxb[2]=lives_widget_get_parent(comhbox); - lives_widget_reparent(comhbox,hbox[2]); - hbox[2]=hboxb[2]; + comhbox = lives_widget_get_parent(conxwp->pcombo[i + 1]); + hboxb[2] = lives_widget_get_parent(comhbox); + lives_widget_reparent(comhbox, hbox[2]); + hbox[2] = hboxb[2]; - if (conxwp->acheck[i]!=NULL) { - if (hbox[3]==NULL) { - achbox=lives_widget_get_parent(conxwp->acheck[i]); - hbox[3]=lives_widget_get_parent(achbox); + if (conxwp->acheck[i] != NULL) { + if (hbox[3] == NULL) { + achbox = lives_widget_get_parent(conxwp->acheck[i]); + hbox[3] = lives_widget_get_parent(achbox); lives_widget_destroy(achbox); } - achbox=lives_widget_get_parent(conxwp->acheck[i+1]); - hboxb[3]=lives_widget_get_parent(achbox); - lives_widget_reparent(achbox,hbox[3]); - hbox[3]=hboxb[3]; + achbox = lives_widget_get_parent(conxwp->acheck[i + 1]); + hboxb[3] = lives_widget_get_parent(achbox); + lives_widget_reparent(achbox, hbox[3]); + hbox[3] = hboxb[3]; } - lives_widget_set_sensitive(conxwp->del_button[totchans+i], - lives_widget_get_sensitive(conxwp->del_button[totchans+i+1])); + lives_widget_set_sensitive(conxwp->del_button[totchans + i], + lives_widget_get_sensitive(conxwp->del_button[totchans + i + 1])); #else - conxwp->add_button[i]=conxwp->add_button[i+1]; - conxwp->del_button[i]=conxwp->del_button[i+1]; - conxwp->clabel[i]=conxwp->clabel[i+1]; - conxwp->pclabel[i]=conxwp->pclabel[i+1]; + conxwp->add_button[i] = conxwp->add_button[i + 1]; + conxwp->del_button[i] = conxwp->del_button[i + 1]; + conxwp->clabel[i] = conxwp->clabel[i + 1]; + conxwp->pclabel[i] = conxwp->pclabel[i + 1]; - if (i==ours) { - lives_label_set_text(LIVES_LABEL(conxwp->pclabel[i+1]),lives_label_get_text(LIVES_LABEL(conxwp->pclabel[i]))); + if (i == ours) { + lives_label_set_text(LIVES_LABEL(conxwp->pclabel[i + 1]), lives_label_get_text(LIVES_LABEL(conxwp->pclabel[i]))); } #endif - conxwp->pfxcombo[i]=conxwp->pfxcombo[i+1]; - conxwp->pcombo[i]=conxwp->pcombo[i+1]; + conxwp->pfxcombo[i] = conxwp->pfxcombo[i + 1]; + conxwp->pcombo[i] = conxwp->pcombo[i + 1]; - conxwp->acheck[i]=conxwp->acheck[i+1]; - conxwp->acheck_func[i]=conxwp->acheck_func[i+1]; + conxwp->acheck[i] = conxwp->acheck[i + 1]; + conxwp->acheck_func[i] = conxwp->acheck_func[i + 1]; - conxwp->ikeys[i]=conxwp->ikeys[i+1]; - conxwp->imodes[i]=conxwp->imodes[i+1]; - conxwp->idx[i]=conxwp->idx[i+1]; + conxwp->ikeys[i] = conxwp->ikeys[i + 1]; + conxwp->imodes[i] = conxwp->imodes[i + 1]; + conxwp->idx[i] = conxwp->idx[i + 1]; - conxwp->dpp_func[i]=conxwp->dpp_func[i+1]; + conxwp->dpp_func[i] = conxwp->dpp_func[i + 1]; } #if !LIVES_TABLE_IS_GRID - lives_widget_destroy(conxwp->clabel[conxwp->trowsp-1+totchans]); - lives_widget_destroy(conxwp->add_button[conxwp->trowsp-1+totchans]); - lives_widget_destroy(conxwp->del_button[conxwp->trowsp-1+totchans]); + lives_widget_destroy(conxwp->clabel[conxwp->trowsp - 1 + totchans]); + lives_widget_destroy(conxwp->add_button[conxwp->trowsp - 1 + totchans]); + lives_widget_destroy(conxwp->del_button[conxwp->trowsp - 1 + totchans]); // destroy (empty) last row parent widgets lives_widget_destroy(hbox[0]); @@ -2773,29 +2774,29 @@ lives_widget_destroy(hbox[2]); lives_widget_destroy(hbox[3]); - lives_table_resize(LIVES_TABLE(conxwp->tablep),conxwp->trowsp,7); + lives_table_resize(LIVES_TABLE(conxwp->tablep), conxwp->trowsp, 7); #else - lives_grid_remove_row(LIVES_GRID(conxwp->tablep),ours+1); + lives_grid_remove_row(LIVES_GRID(conxwp->tablep), ours + 1); #endif - conxwp->pclabel=(LiVESWidget **)lives_realloc(conxwp->pclabel,(totchans+totparams)*sizeof(LiVESWidget *)); + conxwp->pclabel = (LiVESWidget **)lives_realloc(conxwp->pclabel, (totchans + totparams) * sizeof(LiVESWidget *)); - conxwp->add_button=(LiVESWidget **)lives_realloc(conxwp->add_button,(totchans+totparams)*sizeof(LiVESWidget *)); - conxwp->del_button=(LiVESWidget **)lives_realloc(conxwp->del_button,(totchans+totparams)*sizeof(LiVESWidget *)); - conxwp->clabel=(LiVESWidget **)lives_realloc(conxwp->clabel,(totchans+totparams)*sizeof(LiVESWidget *)); + conxwp->add_button = (LiVESWidget **)lives_realloc(conxwp->add_button, (totchans + totparams) * sizeof(LiVESWidget *)); + conxwp->del_button = (LiVESWidget **)lives_realloc(conxwp->del_button, (totchans + totparams) * sizeof(LiVESWidget *)); + conxwp->clabel = (LiVESWidget **)lives_realloc(conxwp->clabel, (totchans + totparams) * sizeof(LiVESWidget *)); - conxwp->ikeys=(int *)lives_realloc(conxwp->ikeys,(totchans+totparams)*sizint); - conxwp->imodes=(int *)lives_realloc(conxwp->imodes,(totchans+totparams)*sizint); - conxwp->idx=(int *)lives_realloc(conxwp->idx,(totchans+totparams)*sizint); + conxwp->ikeys = (int *)lives_realloc(conxwp->ikeys, (totchans + totparams) * sizint); + conxwp->imodes = (int *)lives_realloc(conxwp->imodes, (totchans + totparams) * sizint); + conxwp->idx = (int *)lives_realloc(conxwp->idx, (totchans + totparams) * sizint); - conxwp->pfxcombo=(LiVESWidget **)lives_realloc(conxwp->pfxcombo,totparams*sizeof(LiVESWidget *)); - conxwp->pcombo=(LiVESWidget **)lives_realloc(conxwp->pcombo,totparams*sizeof(LiVESWidget *)); + conxwp->pfxcombo = (LiVESWidget **)lives_realloc(conxwp->pfxcombo, totparams * sizeof(LiVESWidget *)); + conxwp->pcombo = (LiVESWidget **)lives_realloc(conxwp->pcombo, totparams * sizeof(LiVESWidget *)); - conxwp->dpp_func=(ulong *)lives_realloc(conxwp->dpp_func,totparams*sizeof(ulong)); - conxwp->acheck_func=(ulong *)lives_realloc(conxwp->acheck_func,totparams*sizeof(ulong)); + conxwp->dpp_func = (ulong *)lives_realloc(conxwp->dpp_func, totparams * sizeof(ulong)); + conxwp->acheck_func = (ulong *)lives_realloc(conxwp->acheck_func, totparams * sizeof(ulong)); - conxwp->acheck=(LiVESWidget **)lives_realloc(conxwp->acheck,totparams*sizeof(LiVESWidget *)); + conxwp->acheck = (LiVESWidget **)lives_realloc(conxwp->acheck, totparams * sizeof(LiVESWidget *)); } @@ -2804,114 +2805,114 @@ static void cadd_clicked(LiVESWidget *button, livespointer user_data) { // add another channel row below the add button - lives_conx_w *conxwp=(lives_conx_w *)user_data; + lives_conx_w *conxwp = (lives_conx_w *)user_data; #if LIVES_TABLE_IS_GRID int trows; #else - LiVESWidget *hbox[4],*hboxb[4],*comhbox; + LiVESWidget *hbox[4], *hboxb[4], *comhbox; #endif - int totparams,totchans; - int ours=-1,cidx; + int totparams, totchans; + int ours = -1, cidx; register int i; - totparams=pconx_get_numcons(conxwp,FX_DATA_WILDCARD); - totchans=cconx_get_numcons(conxwp,FX_DATA_WILDCARD); + totparams = pconx_get_numcons(conxwp, FX_DATA_WILDCARD); + totchans = cconx_get_numcons(conxwp, FX_DATA_WILDCARD); - for (i=0; i<totchans; i++) { - if (conxwp->add_button[i]==button) { - ours=i; + for (i = 0; i < totchans; i++) { + if (conxwp->add_button[i] == button) { + ours = i; break; } } - cidx=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(conxwp->cfxcombo[ours]),"cidx")); + cidx = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(conxwp->cfxcombo[ours]), "cidx")); conxwp->dispc[cidx]++; totchans++; - conxwp->pclabel=(LiVESWidget **)lives_realloc(conxwp->pclabel,(totchans+totparams)*sizeof(LiVESWidget *)); + conxwp->pclabel = (LiVESWidget **)lives_realloc(conxwp->pclabel, (totchans + totparams) * sizeof(LiVESWidget *)); - conxwp->add_button=(LiVESWidget **)lives_realloc(conxwp->add_button,(totchans+totparams)*sizeof(LiVESWidget *)); - conxwp->del_button=(LiVESWidget **)lives_realloc(conxwp->del_button,(totchans+totparams)*sizeof(LiVESWidget *)); - conxwp->clabel=(LiVESWidget **)lives_realloc(conxwp->clabel,(totchans+totparams)*sizeof(LiVESWidget *)); + conxwp->add_button = (LiVESWidget **)lives_realloc(conxwp->add_button, (totchans + totparams) * sizeof(LiVESWidget *)); + conxwp->del_button = (LiVESWidget **)lives_realloc(conxwp->del_button, (totchans + totparams) * sizeof(LiVESWidget *)); + conxwp->clabel = (LiVESWidget **)lives_realloc(conxwp->clabel, (totchans + totparams) * sizeof(LiVESWidget *)); - conxwp->ikeys=(int *)lives_realloc(conxwp->ikeys,(totchans+totparams)*sizint); - conxwp->imodes=(int *)lives_realloc(conxwp->imodes,(totchans+totparams)*sizint); - conxwp->idx=(int *)lives_realloc(conxwp->idx,(totchans+totparams)*sizint); + conxwp->ikeys = (int *)lives_realloc(conxwp->ikeys, (totchans + totparams) * sizint); + conxwp->imodes = (int *)lives_realloc(conxwp->imodes, (totchans + totparams) * sizint); + conxwp->idx = (int *)lives_realloc(conxwp->idx, (totchans + totparams) * sizint); - conxwp->cfxcombo=(LiVESWidget **)lives_realloc(conxwp->cfxcombo,totchans*sizeof(LiVESWidget *)); - conxwp->ccombo=(LiVESWidget **)lives_realloc(conxwp->ccombo,totchans*sizeof(LiVESWidget *)); + conxwp->cfxcombo = (LiVESWidget **)lives_realloc(conxwp->cfxcombo, totchans * sizeof(LiVESWidget *)); + conxwp->ccombo = (LiVESWidget **)lives_realloc(conxwp->ccombo, totchans * sizeof(LiVESWidget *)); - conxwp->dpc_func=(ulong *)lives_realloc(conxwp->dpc_func,totchans*sizeof(ulong)); + conxwp->dpc_func = (ulong *)lives_realloc(conxwp->dpc_func, totchans * sizeof(ulong)); conxwp->trowsc++; #if !LIVES_TABLE_IS_GRID - lives_table_resize(LIVES_TABLE(conxwp->tablec),conxwp->trowsc,6); + lives_table_resize(LIVES_TABLE(conxwp->tablec), conxwp->trowsc, 6); // add parent widgets to new row - for (i=0; i<4; i++) { - hbox[i]=lives_hbox_new(FALSE, 0); + for (i = 0; i < 4; i++) { + hbox[i] = lives_hbox_new(FALSE, 0); - lives_table_attach(LIVES_TABLE(conxwp->tablec), hbox[i], i, i+1, conxwp->trowsc-1, conxwp->trowsc, - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), + lives_table_attach(LIVES_TABLE(conxwp->tablec), hbox[i], i, i + 1, conxwp->trowsc - 1, conxwp->trowsc, + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); } - ctable_row_add_standard_widgets(conxwp,totchans-1); + ctable_row_add_standard_widgets(conxwp, totchans - 1); #else - lives_grid_insert_row(LIVES_GRID(conxwp->tablec),ours+2); - trows=conxwp->trowsc; - conxwp->trowsc=ours+3; - ctable_row_add_standard_widgets(conxwp,ours+1); - conxwp->trowsc=trows; + lives_grid_insert_row(LIVES_GRID(conxwp->tablec), ours + 2); + trows = conxwp->trowsc; + conxwp->trowsc = ours + 3; + ctable_row_add_standard_widgets(conxwp, ours + 1); + conxwp->trowsc = trows; #endif // subtract 1 from trowsp because of title row - for (i=conxwp->trowsc-3; i>ours; i--) { + for (i = conxwp->trowsc - 3; i > ours; i--) { #if !LIVES_TABLE_IS_GRID // reparent widgets from row i to row i+1 - hboxb[0]=lives_widget_get_parent(conxwp->pclabel[i]); - lives_widget_reparent(conxwp->pclabel[i],hbox[0]); - hbox[0]=hboxb[0]; - - hboxb[2]=lives_widget_get_parent(conxwp->cfxcombo[i]); - lives_widget_reparent(conxwp->cfxcombo[i],hbox[2]); - hbox[2]=hboxb[2]; - - comhbox=lives_widget_get_parent(conxwp->ccombo[i]); - hboxb[3]=lives_widget_get_parent(comhbox); - lives_widget_reparent(comhbox,hbox[3]); - hbox[3]=hboxb[3]; + hboxb[0] = lives_widget_get_parent(conxwp->pclabel[i]); + lives_widget_reparent(conxwp->pclabel[i], hbox[0]); + hbox[0] = hboxb[0]; + + hboxb[2] = lives_widget_get_parent(conxwp->cfxcombo[i]); + lives_widget_reparent(conxwp->cfxcombo[i], hbox[2]); + hbox[2] = hboxb[2]; + + comhbox = lives_widget_get_parent(conxwp->ccombo[i]); + hboxb[3] = lives_widget_get_parent(comhbox); + lives_widget_reparent(comhbox, hbox[3]); + hbox[3] = hboxb[3]; #endif - conxwp->pclabel[i+1]=conxwp->pclabel[i]; + conxwp->pclabel[i + 1] = conxwp->pclabel[i]; - conxwp->cfxcombo[i+1]=conxwp->cfxcombo[i]; - conxwp->ccombo[i+1]=conxwp->ccombo[i]; + conxwp->cfxcombo[i + 1] = conxwp->cfxcombo[i]; + conxwp->ccombo[i + 1] = conxwp->ccombo[i]; - conxwp->ikeys[i+1]=conxwp->ikeys[i]; - conxwp->imodes[i+1]=conxwp->imodes[i]; - conxwp->idx[i+1]=conxwp->idx[i]; + conxwp->ikeys[i + 1] = conxwp->ikeys[i]; + conxwp->imodes[i + 1] = conxwp->imodes[i]; + conxwp->idx[i + 1] = conxwp->idx[i]; - conxwp->dpc_func[i+1]=conxwp->dpc_func[i]; + conxwp->dpc_func[i + 1] = conxwp->dpc_func[i]; } - ctable_row_add_variable_widgets(conxwp,ours+1,ours+2,cidx); + ctable_row_add_variable_widgets(conxwp, ours + 1, ours + 2, cidx); - conxwp->ikeys[ours+1]=conxwp->imodes[ours+1]=conxwp->idx[i+1]=0; + conxwp->ikeys[ours + 1] = conxwp->imodes[ours + 1] = conxwp->idx[i + 1] = 0; conxwp->dispc[cidx]++; @@ -2924,36 +2925,36 @@ static void cdel_clicked(LiVESWidget *button, livespointer user_data) { // remove the channel row at the del button - lives_conx_w *conxwp=(lives_conx_w *)user_data; + lives_conx_w *conxwp = (lives_conx_w *)user_data; - int totparams,totchans; - int ours=-1,cidx; + int totparams, totchans; + int ours = -1, cidx; #if !LIVES_TABLE_IS_GRID - LiVESWidget *hbox[3],*comhbox; + LiVESWidget *hbox[3], *comhbox; LiVESWidget *hboxb[3]; int cidx_next; #endif register int i; - totparams=pconx_get_numcons(conxwp,FX_DATA_WILDCARD); - totchans=cconx_get_numcons(conxwp,FX_DATA_WILDCARD); + totparams = pconx_get_numcons(conxwp, FX_DATA_WILDCARD); + totchans = cconx_get_numcons(conxwp, FX_DATA_WILDCARD); - for (i=0; i<totchans; i++) { - if (conxwp->del_button[i]==button) { - ours=i; + for (i = 0; i < totchans; i++) { + if (conxwp->del_button[i] == button) { + ours = i; break; } } - cidx=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(conxwp->ccombo[ours]),"cidx")); + cidx = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(conxwp->ccombo[ours]), "cidx")); - lives_combo_set_active_index(LIVES_COMBO(conxwp->cfxcombo[ours]),0); + lives_combo_set_active_index(LIVES_COMBO(conxwp->cfxcombo[ours]), 0); - if (conxwp->dispc[cidx]==1) { + if (conxwp->dispc[cidx] == 1) { // last one, dont delete, just clear - lives_widget_set_sensitive(conxwp->del_button[ours],FALSE); + lives_widget_set_sensitive(conxwp->del_button[ours], FALSE); return; } @@ -2965,11 +2966,11 @@ totchans--; #if !LIVES_TABLE_IS_GRID - hbox[0]=lives_widget_get_parent(conxwp->pclabel[ours]); - hbox[1]=lives_widget_get_parent(conxwp->cfxcombo[ours]); + hbox[0] = lives_widget_get_parent(conxwp->pclabel[ours]); + hbox[1] = lives_widget_get_parent(conxwp->cfxcombo[ours]); - comhbox=lives_widget_get_parent(conxwp->ccombo[ours]); - hbox[2]=lives_widget_get_parent(comhbox); + comhbox = lives_widget_get_parent(conxwp->ccombo[ours]); + hbox[2] = lives_widget_get_parent(comhbox); lives_widget_destroy(conxwp->cfxcombo[ours]); lives_widget_destroy(conxwp->ccombo[ours]); @@ -2979,96 +2980,96 @@ conxwp->trowsc--; // subtract 1 from trowsc because of title row - for (i=ours; i<conxwp->trowsc-1; i++) { + for (i = ours; i < conxwp->trowsc - 1; i++) { #if !LIVES_TABLE_IS_GRID // reparent widgets from row i to row i+1 - hboxb[0]=lives_widget_get_parent(conxwp->pclabel[i+1]); + hboxb[0] = lives_widget_get_parent(conxwp->pclabel[i + 1]); - if (i==ours) { - cidx_next=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(conxwp->ccombo[i+1]),"cidx")); - if (cidx_next!=cidx) { + if (i == ours) { + cidx_next = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(conxwp->ccombo[i + 1]), "cidx")); + if (cidx_next != cidx) { // secondary chan lives_widget_destroy(conxwp->pclabel[i]); - lives_widget_reparent(conxwp->pclabel[i+1],hbox[0]); - conxwp->pclabel[i]=conxwp->pclabel[i+1]; + lives_widget_reparent(conxwp->pclabel[i + 1], hbox[0]); + conxwp->pclabel[i] = conxwp->pclabel[i + 1]; } else { // primary chan - lives_widget_destroy(conxwp->pclabel[i+1]); + lives_widget_destroy(conxwp->pclabel[i + 1]); } } else { - lives_widget_reparent(conxwp->pclabel[i+1],hbox[0]); - conxwp->pclabel[i]=conxwp->pclabel[i+1]; + lives_widget_reparent(conxwp->pclabel[i + 1], hbox[0]); + conxwp->pclabel[i] = conxwp->pclabel[i + 1]; } - hbox[0]=hboxb[0]; + hbox[0] = hboxb[0]; - hboxb[1]=lives_widget_get_parent(conxwp->cfxcombo[i+1]); - lives_widget_reparent(conxwp->cfxcombo[i+1],hbox[1]); - hbox[1]=hboxb[1]; + hboxb[1] = lives_widget_get_parent(conxwp->cfxcombo[i + 1]); + lives_widget_reparent(conxwp->cfxcombo[i + 1], hbox[1]); + hbox[1] = hboxb[1]; - comhbox=lives_widget_get_parent(conxwp->ccombo[i+1]); - hboxb[2]=lives_widget_get_parent(comhbox); - lives_widget_reparent(comhbox,hbox[2]); - hbox[2]=hboxb[2]; + comhbox = lives_widget_get_parent(conxwp->ccombo[i + 1]); + hboxb[2] = lives_widget_get_parent(comhbox); + lives_widget_reparent(comhbox, hbox[2]); + hbox[2] = hboxb[2]; lives_widget_set_sensitive(conxwp->del_button[i], - lives_widget_get_sensitive(conxwp->del_button[i+1])); + lives_widget_get_sensitive(conxwp->del_button[i + 1])); #else - conxwp->add_button[i]=conxwp->add_button[i+1]; - conxwp->del_button[i]=conxwp->del_button[i+1]; - conxwp->clabel[i]=conxwp->clabel[i+1]; - conxwp->pclabel[i]=conxwp->pclabel[i+1]; + conxwp->add_button[i] = conxwp->add_button[i + 1]; + conxwp->del_button[i] = conxwp->del_button[i + 1]; + conxwp->clabel[i] = conxwp->clabel[i + 1]; + conxwp->pclabel[i] = conxwp->pclabel[i + 1]; - if (i==ours) { - lives_label_set_text(LIVES_LABEL(conxwp->pclabel[i+1]),lives_label_get_text(LIVES_LABEL(conxwp->pclabel[i]))); + if (i == ours) { + lives_label_set_text(LIVES_LABEL(conxwp->pclabel[i + 1]), lives_label_get_text(LIVES_LABEL(conxwp->pclabel[i]))); } #endif - conxwp->cfxcombo[i]=conxwp->cfxcombo[i+1]; - conxwp->ccombo[i]=conxwp->ccombo[i+1]; + conxwp->cfxcombo[i] = conxwp->cfxcombo[i + 1]; + conxwp->ccombo[i] = conxwp->ccombo[i + 1]; - conxwp->ikeys[i]=conxwp->ikeys[i+1]; - conxwp->imodes[i]=conxwp->imodes[i+1]; - conxwp->idx[i]=conxwp->idx[i+1]; + conxwp->ikeys[i] = conxwp->ikeys[i + 1]; + conxwp->imodes[i] = conxwp->imodes[i + 1]; + conxwp->idx[i] = conxwp->idx[i + 1]; - conxwp->dpc_func[i]=conxwp->dpc_func[i+1]; + conxwp->dpc_func[i] = conxwp->dpc_func[i + 1]; } #if !LIVES_TABLE_IS_GRID - lives_widget_destroy(conxwp->clabel[conxwp->trowsc-1]); - lives_widget_destroy(conxwp->add_button[conxwp->trowsc-1]); - lives_widget_destroy(conxwp->del_button[conxwp->trowsc-1]); + lives_widget_destroy(conxwp->clabel[conxwp->trowsc - 1]); + lives_widget_destroy(conxwp->add_button[conxwp->trowsc - 1]); + lives_widget_destroy(conxwp->del_button[conxwp->trowsc - 1]); // destroy (empty) last row parent widgets lives_widget_destroy(hbox[0]); lives_widget_destroy(hbox[1]); lives_widget_destroy(hbox[2]); - lives_table_resize(LIVES_TABLE(conxwp->tablec),conxwp->trowsc,6); + lives_table_resize(LIVES_TABLE(conxwp->tablec), conxwp->trowsc, 6); #else - lives_grid_remove_row(LIVES_GRID(conxwp->tablec),ours+1); + lives_grid_remove_row(LIVES_GRID(conxwp->tablec), ours + 1); #endif - conxwp->pclabel=(LiVESWidget **)lives_realloc(conxwp->pclabel,(totchans+totparams)*sizeof(LiVESWidget *)); + conxwp->pclabel = (LiVESWidget **)lives_realloc(conxwp->pclabel, (totchans + totparams) * sizeof(LiVESWidget *)); - conxwp->add_button=(LiVESWidget **)lives_realloc(conxwp->add_button,(totchans+totparams)*sizeof(LiVESWidget *)); - conxwp->del_button=(LiVESWidget **)lives_realloc(conxwp->del_button,(totchans+totparams)*sizeof(LiVESWidget *)); - conxwp->clabel=(LiVESWidget **)lives_realloc(conxwp->clabel,(totchans+totparams)*sizeof(LiVESWidget *)); + conxwp->add_button = (LiVESWidget **)lives_realloc(conxwp->add_button, (totchans + totparams) * sizeof(LiVESWidget *)); + conxwp->del_button = (LiVESWidget **)lives_realloc(conxwp->del_button, (totchans + totparams) * sizeof(LiVESWidget *)); + conxwp->clabel = (LiVESWidget **)lives_realloc(conxwp->clabel, (totchans + totparams) * sizeof(LiVESWidget *)); - conxwp->ikeys=(int *)lives_realloc(conxwp->ikeys,(totchans+totparams)*sizint); - conxwp->imodes=(int *)lives_realloc(conxwp->imodes,(totchans+totparams)*sizint); - conxwp->idx=(int *)lives_realloc(conxwp->idx,(totchans+totparams)*sizint); + conxwp->ikeys = (int *)lives_realloc(conxwp->ikeys, (totchans + totparams) * sizint); + conxwp->imodes = (int *)lives_realloc(conxwp->imodes, (totchans + totparams) * sizint); + conxwp->idx = (int *)lives_realloc(conxwp->idx, (totchans + totparams) * sizint); - conxwp->cfxcombo=(LiVESWidget **)lives_realloc(conxwp->cfxcombo,totchans*sizeof(LiVESWidget *)); - conxwp->ccombo=(LiVESWidget **)lives_realloc(conxwp->ccombo,totchans*sizeof(LiVESWidget *)); + conxwp->cfxcombo = (LiVESWidget **)lives_realloc(conxwp->cfxcombo, totchans * sizeof(LiVESWidget *)); + conxwp->ccombo = (LiVESWidget **)lives_realloc(conxwp->ccombo, totchans * sizeof(LiVESWidget *)); - conxwp->dpc_func=(ulong *)lives_realloc(conxwp->dpc_func,totchans*sizeof(ulong)); + conxwp->dpc_func = (ulong *)lives_realloc(conxwp->dpc_func, totchans * sizeof(ulong)); } @@ -3077,74 +3078,74 @@ static void dfxc_changed(LiVESWidget *combo, livespointer user_data) { - lives_conx_w *conxwp=(lives_conx_w *)user_data; + lives_conx_w *conxwp = (lives_conx_w *)user_data; LiVESTreeIter iter; LiVESTreeModel *model; weed_plant_t **ichans; - weed_plant_t *filter,*chan; + weed_plant_t *filter, *chan; - LiVESList *clist=NULL; + LiVESList *clist = NULL; char *channame; - int fidx,cidx,key,mode; - int nichans,nchans; + int fidx, cidx, key, mode; + int nichans, nchans; int error; - int ours=-1; + int ours = -1; - register int i,j=0; + register int i, j = 0; - if (!lives_combo_get_active_iter(LIVES_COMBO(combo),&iter)) return; - model=lives_combo_get_model(LIVES_COMBO(combo)); + if (!lives_combo_get_active_iter(LIVES_COMBO(combo), &iter)) return; + model = lives_combo_get_model(LIVES_COMBO(combo)); - lives_tree_model_get(model,&iter,KEYVAL_COLUMN,&key,MODEVAL_COLUMN,&mode,-1); - fidx=rte_keymode_get_filter_idx(key,mode); + lives_tree_model_get(model, &iter, KEYVAL_COLUMN, &key, MODEVAL_COLUMN, &mode, -1); + fidx = rte_keymode_get_filter_idx(key, mode); - nchans=cconx_get_numcons(conxwp,FX_DATA_WILDCARD); + nchans = cconx_get_numcons(conxwp, FX_DATA_WILDCARD); - for (i=0; i<nchans; i++) { - if (conxwp->cfxcombo[i]==combo) { - ours=i; + for (i = 0; i < nchans; i++) { + if (conxwp->cfxcombo[i] == combo) { + ours = i; break; } } - cidx=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(combo),"cidx")); + cidx = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(combo), "cidx")); - if (fidx==-1) { - lives_combo_set_active_index(LIVES_COMBO(combo),0); - lives_combo_populate(LIVES_COMBO(conxwp->ccombo[ours]),NULL); - lives_combo_set_active_string(LIVES_COMBO(conxwp->ccombo[ours]),""); - if (cconx_get_nconns(conxwp->cconx,0)==0&&cidx==0) lives_widget_set_sensitive(conxwp->acbutton,FALSE); - lives_widget_set_sensitive(conxwp->ccombo[ours],FALSE); + if (fidx == -1) { + lives_combo_set_active_index(LIVES_COMBO(combo), 0); + lives_combo_populate(LIVES_COMBO(conxwp->ccombo[ours]), NULL); + lives_combo_set_active_string(LIVES_COMBO(conxwp->ccombo[ours]), ""); + if (cconx_get_nconns(conxwp->cconx, 0) == 0 && cidx == 0) lives_widget_set_sensitive(conxwp->acbutton, FALSE); + lives_widget_set_sensitive(conxwp->ccombo[ours], FALSE); return; } // find the receiving filter/instance - filter=get_weed_filter(fidx); + filter = get_weed_filter(fidx); - ichans=weed_get_plantptr_array(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES,&error); - nichans=weed_leaf_num_elements(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES); + ichans = weed_get_plantptr_array(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES, &error); + nichans = weed_leaf_num_elements(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES); // populate all ccombo with channels - for (i=0; i<nichans; i++) { - chan=ichans[j++]; + for (i = 0; i < nichans; i++) { + chan = ichans[j++]; if (!has_alpha_palette(chan)) continue; - channame=weed_get_string_value(chan,WEED_LEAF_NAME,&error); - clist=lives_list_append(clist,channame); + channame = weed_get_string_value(chan, WEED_LEAF_NAME, &error); + clist = lives_list_append(clist, channame); } lives_free(ichans); - lives_combo_populate(LIVES_COMBO(conxwp->ccombo[ours]),clist); - lives_combo_set_active_string(LIVES_COMBO(conxwp->ccombo[ours]),""); + lives_combo_populate(LIVES_COMBO(conxwp->ccombo[ours]), clist); + lives_combo_set_active_string(LIVES_COMBO(conxwp->ccombo[ours]), ""); - if (cidx==0) lives_widget_set_sensitive(conxwp->acbutton,TRUE); - lives_widget_set_sensitive(conxwp->ccombo[ours],TRUE); + if (cidx == 0) lives_widget_set_sensitive(conxwp->acbutton, TRUE); + lives_widget_set_sensitive(conxwp->ccombo[ours], TRUE); lives_list_free_all(&clist); @@ -3155,128 +3156,130 @@ static void dfxp_changed(LiVESWidget *combo, livespointer user_data) { // filter was changed - lives_conx_w *conxwp=(lives_conx_w *)user_data; + lives_conx_w *conxwp = (lives_conx_w *)user_data; LiVESTreeIter iter; LiVESTreeModel *model; - weed_plant_t **iparams=NULL; - weed_plant_t *filter,*param; + weed_plant_t **iparams = NULL; + weed_plant_t *filter, *param; - LiVESList *plist=NULL; + LiVESList *plist = NULL; char *paramname; - char *ptype,*range; - char *array_type,*text; + char *ptype, *range; + char *array_type, *text; - int defelems,pflags,stype; + int defelems, pflags, stype; - int fidx,key,mode,pidx; - int niparams=0,nparams; + int fidx, key, mode, pidx; + int niparams = 0, nparams; int error; - int ours=-1; + int ours = -1; - register int i,j=0; + register int i, j = 0; - if (!lives_combo_get_active_iter(LIVES_COMBO(combo),&iter)) { + if (!lives_combo_get_active_iter(LIVES_COMBO(combo), &iter)) { return; } - nparams=pconx_get_numcons(conxwp,FX_DATA_WILDCARD); + nparams = pconx_get_numcons(conxwp, FX_DATA_WILDCARD); - for (i=0; i<nparams; i++) { - if (conxwp->pfxcombo[i]==combo) { - ours=i; + for (i = 0; i < nparams; i++) { + if (conxwp->pfxcombo[i] == combo) { + ours = i; break; } } - model=lives_combo_get_model(LIVES_COMBO(combo)); + model = lives_combo_get_model(LIVES_COMBO(combo)); - lives_tree_model_get(model,&iter,KEYVAL_COLUMN,&key,MODEVAL_COLUMN,&mode,-1); - fidx=rte_keymode_get_filter_idx(key,mode); + lives_tree_model_get(model, &iter, KEYVAL_COLUMN, &key, MODEVAL_COLUMN, &mode, -1); + fidx = rte_keymode_get_filter_idx(key, mode); - pidx=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(combo),"pidx")); + pidx = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(combo), "pidx")); - if (fidx==-1) { - LiVESWidget *acheck=conxwp->acheck[ours]; - if (acheck!=NULL) { - lives_signal_handler_block(acheck,conxwp->acheck_func[ours]); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(acheck),FALSE); - lives_widget_set_sensitive(acheck,FALSE); - lives_signal_handler_unblock(acheck,conxwp->acheck_func[ours]); + if (fidx == -1) { + LiVESWidget *acheck = conxwp->acheck[ours]; + if (acheck != NULL) { + lives_signal_handler_block(acheck, conxwp->acheck_func[ours]); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(acheck), FALSE); + lives_widget_set_sensitive(acheck, FALSE); + lives_signal_handler_unblock(acheck, conxwp->acheck_func[ours]); } - lives_combo_set_active_index(LIVES_COMBO(combo),0); + lives_combo_set_active_index(LIVES_COMBO(combo), 0); - lives_combo_populate(LIVES_COMBO(conxwp->pcombo[ours]),NULL); - lives_combo_set_active_string(LIVES_COMBO(conxwp->pcombo[ours]),""); + lives_combo_populate(LIVES_COMBO(conxwp->pcombo[ours]), NULL); + lives_combo_set_active_string(LIVES_COMBO(conxwp->pcombo[ours]), ""); - if (pconx_get_nconns(conxwp->pconx,0)==0&&pidx==0) lives_widget_set_sensitive(conxwp->apbutton,FALSE); + if (pconx_get_nconns(conxwp->pconx, 0) == 0 && pidx == 0) lives_widget_set_sensitive(conxwp->apbutton, FALSE); - lives_widget_set_sensitive(conxwp->pcombo[ours],FALSE); + lives_widget_set_sensitive(conxwp->pcombo[ours], FALSE); return; } // find the receiving filter/instance - filter=get_weed_filter(fidx); + filter = get_weed_filter(fidx); - if (weed_plant_has_leaf(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES)) { - iparams=weed_get_plantptr_array(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); - niparams=weed_leaf_num_elements(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES); + if (weed_plant_has_leaf(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES)) { + iparams = weed_get_plantptr_array(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); + niparams = weed_leaf_num_elements(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES); } // populate pcombo with all in params - for (i=-EXTRA_PARAMS_IN; i<niparams; i++) { - if (i==FX_DATA_PARAM_ACTIVE) { - ptype=weed_seed_type_to_text(WEED_SEED_BOOLEAN); - text=lives_strdup_printf(_("ACTIVATE (%s)"),ptype); + for (i = -EXTRA_PARAMS_IN; i < niparams; i++) { + if (i == FX_DATA_PARAM_ACTIVE) { + ptype = weed_seed_type_to_text(WEED_SEED_BOOLEAN); + text = lives_strdup_printf(_("ACTIVATE (%s)"), ptype); } else { - param=iparams[j++]; + param = iparams[j++]; - if (weed_plant_has_leaf(param,WEED_LEAF_HOST_INTERNAL_CONNECTION)) continue; + if (weed_plant_has_leaf(param, WEED_LEAF_HOST_INTERNAL_CONNECTION)) continue; - if (weed_plant_has_leaf(param,WEED_LEAF_GROUP)&&weed_get_int_value(param,WEED_LEAF_GROUP,&error)!=0) continue; + if (weed_plant_has_leaf(param, WEED_LEAF_GROUP) && weed_get_int_value(param, WEED_LEAF_GROUP, &error) != 0) continue; - paramname=weed_get_string_value(param,WEED_LEAF_NAME,&error); + paramname = weed_get_string_value(param, WEED_LEAF_NAME, &error); - ptype=weed_seed_type_to_text((stype=weed_leaf_seed_type(param,WEED_LEAF_DEFAULT))); + ptype = weed_seed_type_to_text((stype = weed_leaf_seed_type(param, WEED_LEAF_DEFAULT))); - pflags=weed_get_int_value(param,WEED_LEAF_FLAGS,&error); + pflags = weed_get_int_value(param, WEED_LEAF_FLAGS, &error); - if (pflags&WEED_PARAMETER_VARIABLE_ELEMENTS) array_type=lives_strdup("[]"); - else if ((defelems=weed_leaf_num_elements(param,WEED_LEAF_DEFAULT))>1) array_type=lives_strdup_printf("[%d]",defelems); - else array_type=lives_strdup(""); + if (pflags & WEED_PARAMETER_VARIABLE_ELEMENTS) array_type = lives_strdup("[]"); + else if ((defelems = weed_leaf_num_elements(param, WEED_LEAF_DEFAULT)) > 1) array_type = lives_strdup_printf("[%d]", defelems); + else array_type = lives_strdup(""); - if (weed_plant_has_leaf(param,WEED_LEAF_MAX)&&weed_plant_has_leaf(param,WEED_LEAF_MIN)) { - if (stype==WEED_SEED_INT) { - range=lives_strdup_printf("Range: %d to %d",weed_get_int_value(param,WEED_LEAF_MIN,&error),weed_get_int_value(param,WEED_LEAF_MAX,&error)); - } else if (stype==WEED_SEED_DOUBLE) { - range=lives_strdup_printf("Range: %f to %f",weed_get_double_value(param,WEED_LEAF_MIN,&error),weed_get_double_value(param,WEED_LEAF_MAX, - &error)); - } else range=lives_strdup(""); - } else range=lives_strdup(""); + if (weed_plant_has_leaf(param, WEED_LEAF_MAX) && weed_plant_has_leaf(param, WEED_LEAF_MIN)) { + if (stype == WEED_SEED_INT) { + range = lives_strdup_printf("Range: %d to %d", weed_get_int_value(param, WEED_LEAF_MIN, &error), weed_get_int_value(param, WEED_LEAF_MAX, + &error)); + } else if (stype == WEED_SEED_DOUBLE) { + range = lives_strdup_printf("Range: %f to %f", weed_get_double_value(param, WEED_LEAF_MIN, &error), weed_get_double_value(param, + WEED_LEAF_MAX, + &error)); + } else range = lives_strdup(""); + } else range = lives_strdup(""); - text=lives_strdup_printf("%s (%s%s) %s",paramname,ptype,array_type,range); + text = lives_strdup_printf("%s (%s%s) %s", paramname, ptype, array_type, range); lives_free(paramname); lives_free(array_type); lives_free(range); } lives_free(ptype); - plist=lives_list_append(plist,text); + plist = lives_list_append(plist, text); } - if (iparams!=NULL) lives_free(iparams); + if (iparams != NULL) lives_free(iparams); - lives_combo_populate(LIVES_COMBO(conxwp->pcombo[ours]),plist); - lives_combo_set_active_string(LIVES_COMBO(conxwp->pcombo[ours]),""); + lives_combo_populate(LIVES_COMBO(conxwp->pcombo[ours]), plist); + lives_combo_set_active_string(LIVES_COMBO(conxwp->pcombo[ours]), ""); - if (pidx==0) lives_widget_set_sensitive(conxwp->apbutton,TRUE); + if (pidx == 0) lives_widget_set_sensitive(conxwp->apbutton, TRUE); - lives_widget_set_sensitive(conxwp->pcombo[ours],TRUE); + lives_widget_set_sensitive(conxwp->pcombo[ours], TRUE); lives_list_free_all(&plist); @@ -3286,76 +3289,76 @@ int pconx_check_connection(weed_plant_t *ofilter, int opnum, int ikey, int imode, int ipnum, boolean setup, weed_plant_t **iparam_ret, int *idx_ret, int *okey, int *omode, int *oopnum) { - weed_plant_t **oparams=NULL,**iparams; - weed_plant_t *oparam,*iparam=NULL; + weed_plant_t **oparams = NULL, **iparams; + weed_plant_t *oparam, *iparam = NULL; - int niparams,error,idx; + int niparams, error, idx; - register int i,j=0; + register int i, j = 0; - if (opnum>=0) { - oparams=weed_get_plantptr_array(ofilter,WEED_LEAF_OUT_PARAMETER_TEMPLATES,&error); - oparam=oparams[opnum]; + if (opnum >= 0) { + oparams = weed_get_plantptr_array(ofilter, WEED_LEAF_OUT_PARAMETER_TEMPLATES, &error); + oparam = oparams[opnum]; lives_free(oparams); } else { // invent an "ACTIVATED" param pthread_mutex_lock(&mainw->fxd_active_mutex); - if (active_dummy!=NULL&&WEED_PLANT_IS_PARAMETER(active_dummy)) { + if (active_dummy != NULL && WEED_PLANT_IS_PARAMETER(active_dummy)) { weed_plant_free(active_dummy); - active_dummy=NULL; + active_dummy = NULL; } - if (active_dummy==NULL) { - active_dummy=weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); - weed_set_boolean_value(active_dummy,WEED_LEAF_DEFAULT,WEED_FALSE); + if (active_dummy == NULL) { + active_dummy = weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); + weed_set_boolean_value(active_dummy, WEED_LEAF_DEFAULT, WEED_FALSE); } - oparam=active_dummy; + oparam = active_dummy; pthread_mutex_unlock(&mainw->fxd_active_mutex); } - if (ipnum==FX_DATA_PARAM_ACTIVE) { + if (ipnum == FX_DATA_PARAM_ACTIVE) { // invent an "ACTIVATE" param pthread_mutex_lock(&mainw->fxd_active_mutex); - if (active_dummy!=NULL&&WEED_PLANT_IS_PARAMETER(active_dummy)) { + if (active_dummy != NULL && WEED_PLANT_IS_PARAMETER(active_dummy)) { weed_plant_free(active_dummy); - active_dummy=NULL; + active_dummy = NULL; } - if (active_dummy==NULL) { - active_dummy=weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); - weed_set_boolean_value(active_dummy,WEED_LEAF_DEFAULT,WEED_FALSE); + if (active_dummy == NULL) { + active_dummy = weed_plant_new(WEED_PLANT_PARAMETER_TEMPLATE); + weed_set_boolean_value(active_dummy, WEED_LEAF_DEFAULT, WEED_FALSE); } - idx=ipnum; - iparam=active_dummy; + idx = ipnum; + iparam = active_dummy; pthread_mutex_unlock(&mainw->fxd_active_mutex); } else { // find the receiving filter/instance - int fidx=rte_keymode_get_filter_idx(ikey,imode); - weed_plant_t *filter=get_weed_filter(fidx); + int fidx = rte_keymode_get_filter_idx(ikey, imode); + weed_plant_t *filter = get_weed_filter(fidx); - iparams=weed_get_plantptr_array(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); - niparams=weed_leaf_num_elements(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES); + iparams = weed_get_plantptr_array(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); + niparams = weed_leaf_num_elements(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES); - for (i=0; i<niparams; i++) { - iparam=iparams[i]; - if (weed_plant_has_leaf(iparam,WEED_LEAF_HOST_INTERNAL_CONNECTION)) continue; - if (weed_plant_has_leaf(iparam,WEED_LEAF_GROUP)&&weed_get_int_value(iparam,WEED_LEAF_GROUP,&error)!=0) continue; - if (j==ipnum) break; + for (i = 0; i < niparams; i++) { + iparam = iparams[i]; + if (weed_plant_has_leaf(iparam, WEED_LEAF_HOST_INTERNAL_CONNECTION)) continue; + if (weed_plant_has_leaf(iparam, WEED_LEAF_GROUP) && weed_get_int_value(iparam, WEED_LEAF_GROUP, &error) != 0) continue; + if (j == ipnum) break; j++; } - idx=i; + idx = i; lives_free(iparams); } - if (iparam_ret!=NULL) *iparam_ret=iparam; - if (idx_ret!=NULL) *idx_ret=idx; + if (iparam_ret != NULL) *iparam_ret = iparam; + if (idx_ret != NULL) *idx_ret = idx; if (!setup) { - if (pconx_get_out_param(TRUE,ikey-1,imode,ipnum,okey,omode,oopnum,NULL)!=NULL) { + if (pconx_get_out_param(TRUE, ikey - 1, imode, ipnum, okey, omode, oopnum, NULL) != NULL) { // dest param already has a connection return -1; } } - if (!params_compatible(oparam,iparam)) { + if (!params_compatible(oparam, iparam)) { return -2; } @@ -3374,9 +3377,9 @@ // 3) set text to just param name weed_plant_t *iparam; - lives_conx_w *conxwp=(lives_conx_w *)user_data; + lives_conx_w *conxwp = (lives_conx_w *)user_data; - LiVESWidget *acheck=NULL; + LiVESWidget *acheck = NULL; LiVESWidget *fxcombo; LiVESTreeModel *model; @@ -3385,151 +3388,151 @@ char *paramname; - boolean hasone=FALSE; - boolean setup=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(combo),"setup")); + boolean hasone = FALSE; + boolean setup = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(combo), "setup")); - int nparams,nchans; - int okey,omode,opnum; + int nparams, nchans; + int okey, omode, opnum; - int pidx,key,mode,ours=-1,error,ret; - int idx=lives_combo_get_active(LIVES_COMBO(combo)); + int pidx, key, mode, ours = -1, error, ret; + int idx = lives_combo_get_active(LIVES_COMBO(combo)); int j; register int i; - nparams=pconx_get_numcons(conxwp,FX_DATA_WILDCARD); - nchans=cconx_get_numcons(conxwp,FX_DATA_WILDCARD); + nparams = pconx_get_numcons(conxwp, FX_DATA_WILDCARD); + nchans = cconx_get_numcons(conxwp, FX_DATA_WILDCARD); - for (i=0; i<nparams; i++) { - if (conxwp->pcombo[i]==combo) { - ours=i; + for (i = 0; i < nparams; i++) { + if (conxwp->pcombo[i] == combo) { + ours = i; break; } } - pidx=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(combo),"pidx")); + pidx = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(combo), "pidx")); - if (idx==-1) { + if (idx == -1) { if (setup) return; - for (i=0; i<nchans; i++) if (lives_combo_get_active(LIVES_COMBO(conxwp->ccombo[i]))>-1) { - hasone=TRUE; + for (i = 0; i < nchans; i++) if (lives_combo_get_active(LIVES_COMBO(conxwp->ccombo[i])) > -1) { + hasone = TRUE; break; } - if (!hasone) for (i=0; i<nparams; - i++) if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(conxwp->pcombo[i]),"idx"))>-1) { - hasone=TRUE; + if (!hasone) for (i = 0; i < nparams; + i++) if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(conxwp->pcombo[i]), "idx")) > -1) { + hasone = TRUE; break; } - if (!hasone) lives_widget_set_sensitive(conxwp->disconbutton,FALSE); + if (!hasone) lives_widget_set_sensitive(conxwp->disconbutton, FALSE); - if (conxwp->ikeys[nchans+ours]!=0) { + if (conxwp->ikeys[nchans + ours] != 0) { - pconx_delete(conxwp->okey,conxwp->omode,pidx, - conxwp->ikeys[nchans+ours]-1, - conxwp->imodes[nchans+ours], - conxwp->idx[nchans+ours]); + pconx_delete(conxwp->okey, conxwp->omode, pidx, + conxwp->ikeys[nchans + ours] - 1, + conxwp->imodes[nchans + ours], + conxwp->idx[nchans + ours]); - conxwp->pconx=pconx_find(conxwp->okey,conxwp->omode); + conxwp->pconx = pconx_find(conxwp->okey, conxwp->omode); } - conxwp->ikeys[nchans+ours]=0; - conxwp->imodes[nchans+ours]=0; - conxwp->idx[nchans+ours]=0; + conxwp->ikeys[nchans + ours] = 0; + conxwp->imodes[nchans + ours] = 0; + conxwp->idx[nchans + ours] = 0; - lives_widget_set_sensitive(conxwp->del_button[nchans+ours], FALSE); + lives_widget_set_sensitive(conxwp->del_button[nchans + ours], FALSE); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(combo),"idx",LIVES_INT_TO_POINTER(idx)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(combo), "idx", LIVES_INT_TO_POINTER(idx)); return; } - fxcombo=conxwp->pfxcombo[ours]; + fxcombo = conxwp->pfxcombo[ours]; - if (!lives_combo_get_active_iter(LIVES_COMBO(fxcombo),&iter)) return; + if (!lives_combo_get_active_iter(LIVES_COMBO(fxcombo), &iter)) return; - model=lives_combo_get_model(LIVES_COMBO(fxcombo)); + model = lives_combo_get_model(LIVES_COMBO(fxcombo)); - lives_tree_model_get(model,&iter,KEYVAL_COLUMN,&key,MODEVAL_COLUMN,&mode,-1); + lives_tree_model_get(model, &iter, KEYVAL_COLUMN, &key, MODEVAL_COLUMN, &mode, -1); - idx-=EXTRA_PARAMS_IN; + idx -= EXTRA_PARAMS_IN; //// check if connection may be made - ret=pconx_check_connection(conxwp->filter,pidx,key,mode,idx,setup,&iparam,&j,&okey,&omode,&opnum); + ret = pconx_check_connection(conxwp->filter, pidx, key, mode, idx, setup, &iparam, &j, &okey, &omode, &opnum); - if (ret==-1) { - do_param_connected_error(conxwp,okey,omode,opnum); - lives_combo_set_active_string(LIVES_COMBO(combo),""); + if (ret == -1) { + do_param_connected_error(conxwp, okey, omode, opnum); + lives_combo_set_active_string(LIVES_COMBO(combo), ""); return; } - if (ret==-2) { + if (ret == -2) { do_param_incompatible_error(conxwp); - lives_combo_set_active_string(LIVES_COMBO(combo),""); + lives_combo_set_active_string(LIVES_COMBO(combo), ""); return; } /////////////////////////////////////////////////////////////////////////// - idx+=EXTRA_PARAMS_IN; + idx += EXTRA_PARAMS_IN; - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(combo),"idx",LIVES_INT_TO_POINTER(idx)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(combo), "idx", LIVES_INT_TO_POINTER(idx)); - acheck=conxwp->acheck[ours]; + acheck = conxwp->acheck[ours]; - if (acheck!=NULL) { - boolean hasrange=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(acheck),"available")); + if (acheck != NULL) { + boolean hasrange = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(acheck), "available")); - lives_signal_handler_block(acheck,conxwp->acheck_func[ours]); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(acheck),FALSE); - lives_signal_handler_unblock(acheck,conxwp->acheck_func[ours]); + lives_signal_handler_block(acheck, conxwp->acheck_func[ours]); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(acheck), FALSE); + lives_signal_handler_unblock(acheck, conxwp->acheck_func[ours]); if (hasrange) { - lives_widget_set_sensitive(acheck,TRUE); + lives_widget_set_sensitive(acheck, TRUE); if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(conxwp->allcheckc))) { - lives_signal_handler_block(acheck,conxwp->acheck_func[ours]); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(acheck),TRUE); - lives_signal_handler_unblock(acheck,conxwp->acheck_func[ours]); + lives_signal_handler_block(acheck, conxwp->acheck_func[ours]); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(acheck), TRUE); + lives_signal_handler_unblock(acheck, conxwp->acheck_func[ours]); } } } - if (iparam==active_dummy) paramname=lives_strdup(_("ACTIVATE")); - else paramname=weed_get_string_value(iparam,WEED_LEAF_NAME,&error); + if (iparam == active_dummy) paramname = lives_strdup(_("ACTIVATE")); + else paramname = weed_get_string_value(iparam, WEED_LEAF_NAME, &error); - lives_signal_handler_block(combo,conxwp->dpp_func[ours]); - lives_combo_set_active_string(LIVES_COMBO(combo),paramname); - lives_signal_handler_unblock(combo,conxwp->dpp_func[ours]); + lives_signal_handler_block(combo, conxwp->dpp_func[ours]); + lives_combo_set_active_string(LIVES_COMBO(combo), paramname); + lives_signal_handler_unblock(combo, conxwp->dpp_func[ours]); lives_free(paramname); - lives_widget_set_sensitive(conxwp->del_button[nchans+ours], TRUE); + lives_widget_set_sensitive(conxwp->del_button[nchans + ours], TRUE); if (setup) return; - if (conxwp->ikeys[nchans+ours]!=0) pconx_delete(conxwp->okey,conxwp->omode,pidx, - conxwp->ikeys[nchans+ours]-1, - conxwp->imodes[nchans+ours], - conxwp->idx[nchans+ours]); + if (conxwp->ikeys[nchans + ours] != 0) pconx_delete(conxwp->okey, conxwp->omode, pidx, + conxwp->ikeys[nchans + ours] - 1, + conxwp->imodes[nchans + ours], + conxwp->idx[nchans + ours]); - conxwp->pconx=pconx_find(conxwp->okey,conxwp->omode); + conxwp->pconx = pconx_find(conxwp->okey, conxwp->omode); - pconx_add_connection_private(conxwp->pconx,conxwp->okey,conxwp->omode,pidx,key-1,mode,j,acheck!=NULL? - lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(acheck)):FALSE); + pconx_add_connection_private(conxwp->pconx, conxwp->okey, conxwp->omode, pidx, key - 1, mode, j, acheck != NULL ? + lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(acheck)) : FALSE); - conxwp->pconx=pconx_find(conxwp->okey,conxwp->omode); + conxwp->pconx = pconx_find(conxwp->okey, conxwp->omode); - conxwp->ikeys[nchans+ours]=key; - conxwp->imodes[nchans+ours]=mode; - conxwp->idx[nchans+ours]=j; + conxwp->ikeys[nchans + ours] = key; + conxwp->imodes[nchans + ours] = mode; + conxwp->idx[nchans + ours] = j; - lives_widget_set_sensitive(conxwp->disconbutton,TRUE); + lives_widget_set_sensitive(conxwp->disconbutton, TRUE); } @@ -3538,36 +3541,36 @@ int cconx_check_connection(int ikey, int imode, int icnum, boolean setup, weed_plant_t **ichan_ret, int *idx_ret, int *okey, int *omode, int *ocnum) { weed_plant_t **ichans; - weed_plant_t *filter,*ichan=NULL; + weed_plant_t *filter, *ichan = NULL; - int fidx,idx,nichans,error; - register int i,j=0; + int fidx, idx, nichans, error; + register int i, j = 0; - fidx=rte_keymode_get_filter_idx(ikey,imode); + fidx = rte_keymode_get_filter_idx(ikey, imode); // find the receiving filter/instance - filter=get_weed_filter(fidx); + filter = get_weed_filter(fidx); - ichans=weed_get_plantptr_array(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES,&error); - nichans=weed_leaf_num_elements(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES); + ichans = weed_get_plantptr_array(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES, &error); + nichans = weed_leaf_num_elements(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES); // find actual in channel number from list of alpha channels - for (i=0; i<nichans; i++) { - ichan=ichans[i]; + for (i = 0; i < nichans; i++) { + ichan = ichans[i]; if (!has_alpha_palette(ichan)) continue; - if (j==icnum) break; + if (j == icnum) break; j++; } lives_free(ichans); - idx=i; + idx = i; - if (ichan_ret!=NULL) *ichan_ret=ichan; - if (idx_ret!=NULL) *idx_ret=idx; + if (ichan_ret != NULL) *ichan_ret = ichan; + if (idx_ret != NULL) *idx_ret = idx; if (!setup) { - if (cconx_get_out_alpha(TRUE,ikey-1,imode,i,okey,omode,ocnum)!=NULL) { + if (cconx_get_out_alpha(TRUE, ikey - 1, imode, i, okey, omode, ocnum) != NULL) { // dest chan already has a connection return -1; } @@ -3580,7 +3583,7 @@ static void dpc_changed(LiVESWidget *combo, livespointer user_data) { - lives_conx_w *conxwp=(lives_conx_w *)user_data; + lives_conx_w *conxwp = (lives_conx_w *)user_data; weed_plant_t *ichan; @@ -3592,53 +3595,53 @@ char *channame; - boolean hasone=FALSE; - boolean setup=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(combo),"setup")); + boolean hasone = FALSE; + boolean setup = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(combo), "setup")); - int nchans,nparams; + int nchans, nparams; - int key,mode,cidx,ours=-1,error,ret,j; - int okey,omode,ocnum; + int key, mode, cidx, ours = -1, error, ret, j; + int okey, omode, ocnum; - int idx=lives_combo_get_active(LIVES_COMBO(combo)); + int idx = lives_combo_get_active(LIVES_COMBO(combo)); register int i; - nchans=cconx_get_numcons(conxwp,FX_DATA_WILDCARD); - nparams=pconx_get_numcons(conxwp,FX_DATA_WILDCARD); + nchans = cconx_get_numcons(conxwp, FX_DATA_WILDCARD); + nparams = pconx_get_numcons(conxwp, FX_DATA_WILDCARD); - for (i=0; i<nchans; i++) { - if (conxwp->ccombo[i]==combo) { - ours=i; + for (i = 0; i < nchans; i++) { + if (conxwp->ccombo[i] == combo) { + ours = i; break; } } - cidx=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(combo),"cidx")); + cidx = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(combo), "cidx")); - if (idx==-1) { + if (idx == -1) { - for (i=0; i<nchans; i++) if (lives_combo_get_active(LIVES_COMBO(conxwp->ccombo[i]))>-1) { - hasone=TRUE; + for (i = 0; i < nchans; i++) if (lives_combo_get_active(LIVES_COMBO(conxwp->ccombo[i])) > -1) { + hasone = TRUE; break; } - if (!hasone) for (i=0; i<nparams; - i++) if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(conxwp->pcombo[i]),"idx"))>-1) { - hasone=TRUE; + if (!hasone) for (i = 0; i < nparams; + i++) if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(conxwp->pcombo[i]), "idx")) > -1) { + hasone = TRUE; break; } - if (!hasone) lives_widget_set_sensitive(conxwp->disconbutton,FALSE); + if (!hasone) lives_widget_set_sensitive(conxwp->disconbutton, FALSE); - if (conxwp->ikeys[ours]!=0) cconx_delete(conxwp->okey,conxwp->omode,cidx, - conxwp->ikeys[ours]-1, + if (conxwp->ikeys[ours] != 0) cconx_delete(conxwp->okey, conxwp->omode, cidx, + conxwp->ikeys[ours] - 1, conxwp->imodes[ours], conxwp->idx[ours]); - conxwp->cconx=cconx_find(conxwp->okey,conxwp->omode); + conxwp->cconx = cconx_find(conxwp->okey, conxwp->omode); - conxwp->ikeys[ours]=0; - conxwp->imodes[ours]=0; - conxwp->idx[ours]=0; + conxwp->ikeys[ours] = 0; + conxwp->imodes[ours] = 0; + conxwp->idx[ours] = 0; lives_widget_set_sensitive(conxwp->del_button[ours], FALSE); @@ -3646,76 +3649,76 @@ } - fxcombo=conxwp->cfxcombo[ours]; + fxcombo = conxwp->cfxcombo[ours]; - if (!lives_combo_get_active_iter(LIVES_COMBO(fxcombo),&iter)) return; + if (!lives_combo_get_active_iter(LIVES_COMBO(fxcombo), &iter)) return; - model=lives_combo_get_model(LIVES_COMBO(fxcombo)); - lives_tree_model_get(model,&iter,KEYVAL_COLUMN,&key,MODEVAL_COLUMN,&mode,-1); + model = lives_combo_get_model(LIVES_COMBO(fxcombo)); + lives_tree_model_get(model, &iter, KEYVAL_COLUMN, &key, MODEVAL_COLUMN, &mode, -1); // check if connection can be made - ret=cconx_check_connection(key,mode,idx,setup,&ichan,&j,&okey,&omode,&ocnum); + ret = cconx_check_connection(key, mode, idx, setup, &ichan, &j, &okey, &omode, &ocnum); - if (ret==-1) { + if (ret == -1) { // dest chan already has a connection - do_chan_connected_error(conxwp,okey,omode,ocnum); - lives_combo_set_active_string(LIVES_COMBO(combo),""); + do_chan_connected_error(conxwp, okey, omode, ocnum); + lives_combo_set_active_string(LIVES_COMBO(combo), ""); return; } - lives_signal_handler_block(combo,conxwp->dpc_func[ours]); - channame=weed_get_string_value(ichan,WEED_LEAF_NAME,&error); - lives_combo_set_active_string(LIVES_COMBO(combo),channame); - lives_signal_handler_unblock(combo,conxwp->dpc_func[ours]); + lives_signal_handler_block(combo, conxwp->dpc_func[ours]); + channame = weed_get_string_value(ichan, WEED_LEAF_NAME, &error); + lives_combo_set_active_string(LIVES_COMBO(combo), channame); + lives_signal_handler_unblock(combo, conxwp->dpc_func[ours]); lives_free(channame); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(combo),"idx",LIVES_INT_TO_POINTER(idx)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(combo), "idx", LIVES_INT_TO_POINTER(idx)); lives_widget_set_sensitive(conxwp->del_button[ours], TRUE); if (setup) return; - if (conxwp->ikeys[ours]!=0) cconx_delete(conxwp->okey,conxwp->omode,cidx, - conxwp->ikeys[ours]-1, + if (conxwp->ikeys[ours] != 0) cconx_delete(conxwp->okey, conxwp->omode, cidx, + conxwp->ikeys[ours] - 1, conxwp->imodes[ours], conxwp->idx[ours]); - conxwp->cconx=cconx_find(conxwp->okey,conxwp->omode); + conxwp->cconx = cconx_find(conxwp->okey, conxwp->omode); - cconx_add_connection_private(conxwp->cconx,conxwp->okey,conxwp->omode,cidx,key-1,mode,j); - conxwp->cconx=cconx_find(conxwp->okey,conxwp->omode); + cconx_add_connection_private(conxwp->cconx, conxwp->okey, conxwp->omode, cidx, key - 1, mode, j); + conxwp->cconx = cconx_find(conxwp->okey, conxwp->omode); - conxwp->ikeys[ours]=key; - conxwp->imodes[ours]=mode; - conxwp->idx[ours]=j; + conxwp->ikeys[ours] = key; + conxwp->imodes[ours] = mode; + conxwp->idx[ours] = j; - lives_widget_set_sensitive(conxwp->disconbutton,TRUE); + lives_widget_set_sensitive(conxwp->disconbutton, TRUE); } static void on_allcheck_toggled(LiVESToggleButton *button, livespointer user_data) { - lives_conx_w *conxwp=(lives_conx_w *)user_data; + lives_conx_w *conxwp = (lives_conx_w *)user_data; - boolean on=lives_toggle_button_get_active(button); + boolean on = lives_toggle_button_get_active(button); - int nparams=pconx_get_numcons(conxwp,FX_DATA_WILDCARD); + int nparams = pconx_get_numcons(conxwp, FX_DATA_WILDCARD); register int i; - for (i=EXTRA_PARAMS_OUT; i<nparams; i++) { - if (lives_widget_is_sensitive(conxwp->acheck[i])) lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(conxwp->acheck[i]),on); + for (i = EXTRA_PARAMS_OUT; i < nparams; i++) { + if (lives_widget_is_sensitive(conxwp->acheck[i])) lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(conxwp->acheck[i]), on); } } static void on_acheck_toggled(LiVESToggleButton *acheck, livespointer user_data) { - lives_conx_w *conxwp=(lives_conx_w *)user_data; + lives_conx_w *conxwp = (lives_conx_w *)user_data; weed_plant_t **iparams; - weed_plant_t *param,*filter; + weed_plant_t *param, *filter; LiVESTreeModel *model; @@ -3723,70 +3726,70 @@ LiVESWidget *fxcombo; - boolean on=lives_toggle_button_get_active(acheck); + boolean on = lives_toggle_button_get_active(acheck); - int ours=-1,fidx,key,mode,error,niparams,nparams,nchans,nx=0; - int idx,pidx; + int ours = -1, fidx, key, mode, error, niparams, nparams, nchans, nx = 0; + int idx, pidx; - register int i,j=0; + register int i, j = 0; - if (EXTRA_PARAMS_OUT>0) nx=pconx_get_numcons(conxwp,-EXTRA_PARAMS_OUT); + if (EXTRA_PARAMS_OUT > 0) nx = pconx_get_numcons(conxwp, -EXTRA_PARAMS_OUT); - nparams=pconx_get_numcons(conxwp,FX_DATA_WILDCARD); - nchans=cconx_get_numcons(conxwp,FX_DATA_WILDCARD); + nparams = pconx_get_numcons(conxwp, FX_DATA_WILDCARD); + nchans = cconx_get_numcons(conxwp, FX_DATA_WILDCARD); - for (i=nx; i<nparams; i++) { - if (conxwp->acheck[i]==(LiVESWidget *)acheck) { - ours=i; + for (i = nx; i < nparams; i++) { + if (conxwp->acheck[i] == (LiVESWidget *)acheck) { + ours = i; break; } } - idx=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(conxwp->pcombo[ours]),"idx")); + idx = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(conxwp->pcombo[ours]), "idx")); - fxcombo=conxwp->pfxcombo[ours]; + fxcombo = conxwp->pfxcombo[ours]; - model=lives_combo_get_model(LIVES_COMBO(fxcombo)); - lives_combo_get_active_iter(LIVES_COMBO(fxcombo),&iter); + model = lives_combo_get_model(LIVES_COMBO(fxcombo)); + lives_combo_get_active_iter(LIVES_COMBO(fxcombo), &iter); - lives_tree_model_get(model,&iter,KEYVAL_COLUMN,&key,MODEVAL_COLUMN,&mode,-1); + lives_tree_model_get(model, &iter, KEYVAL_COLUMN, &key, MODEVAL_COLUMN, &mode, -1); - if (key==0) return; + if (key == 0) return; - if (idx>=EXTRA_PARAMS_IN) { - fidx=rte_keymode_get_filter_idx(key,mode); + if (idx >= EXTRA_PARAMS_IN) { + fidx = rte_keymode_get_filter_idx(key, mode); // find the receiving filter/instance - filter=get_weed_filter(fidx); + filter = get_weed_filter(fidx); - iparams=weed_get_plantptr_array(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); - niparams=weed_leaf_num_elements(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES); + iparams = weed_get_plantptr_array(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); + niparams = weed_leaf_num_elements(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES); - for (i=0; i<niparams; i++) { - param=iparams[j]; - if (weed_plant_has_leaf(param,WEED_LEAF_HOST_INTERNAL_CONNECTION)) continue; - if (j==idx) break; + for (i = 0; i < niparams; i++) { + param = iparams[j]; + if (weed_plant_has_leaf(param, WEED_LEAF_HOST_INTERNAL_CONNECTION)) continue; + if (j == idx) break; j++; } - j=i; + j = i; lives_free(iparams); - } else j=idx-EXTRA_PARAMS_IN; + } else j = idx - EXTRA_PARAMS_IN; - pidx=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(acheck),"pidx")); + pidx = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(acheck), "pidx")); - if (conxwp->ikeys[nchans+ours]!=0) { - pconx_delete(conxwp->okey,conxwp->omode,pidx,key-1,mode,j); - conxwp->pconx=pconx_find(conxwp->okey,conxwp->omode); + if (conxwp->ikeys[nchans + ours] != 0) { + pconx_delete(conxwp->okey, conxwp->omode, pidx, key - 1, mode, j); + conxwp->pconx = pconx_find(conxwp->okey, conxwp->omode); } - pconx_add_connection_private(conxwp->pconx,conxwp->okey,conxwp->omode,pidx,key-1,mode,j,on); - conxwp->pconx=pconx_find(conxwp->okey,conxwp->omode); + pconx_add_connection_private(conxwp->pconx, conxwp->okey, conxwp->omode, pidx, key - 1, mode, j, on); + conxwp->pconx = pconx_find(conxwp->okey, conxwp->omode); - conxwp->ikeys[nchans+ours]=key; - conxwp->imodes[nchans+ours]=mode; - conxwp->idx[nchans+ours]=j; + conxwp->ikeys[nchans + ours] = key; + conxwp->imodes[nchans + ours] = mode; + conxwp->idx[nchans + ours] = j; } @@ -3794,11 +3797,11 @@ static LiVESTreeModel *inparam_fx_model(boolean is_chans, int key) { LiVESTreeStore *tstore; - LiVESTreeIter iter1,iter2; + LiVESTreeIter iter1, iter2; weed_plant_t *filter; - char *fxname,*keystr,*text; + char *fxname, *keystr, *text; boolean key_added; @@ -3806,48 +3809,48 @@ int error; - int nmodes=rte_getmodespk(); + int nmodes = rte_getmodespk(); - register int i,j; + register int i, j; - tstore=lives_tree_store_new(NUM_COLUMNS, LIVES_COL_TYPE_STRING, LIVES_COL_TYPE_STRING, LIVES_COL_TYPE_INT, LIVES_COL_TYPE_INT); + tstore = lives_tree_store_new(NUM_COLUMNS, LIVES_COL_TYPE_STRING, LIVES_COL_TYPE_STRING, LIVES_COL_TYPE_INT, LIVES_COL_TYPE_INT); lives_tree_store_append(tstore, &iter1, NULL); /* Acquire an iterator */ - lives_tree_store_set(tstore,&iter1, - KEY_COLUMN,mainw->string_constants[LIVES_STRING_CONSTANT_NONE], - NAME_COLUMN,mainw->string_constants[LIVES_STRING_CONSTANT_NONE], - KEYVAL_COLUMN,0, - MODEVAL_COLUMN,0, + lives_tree_store_set(tstore, &iter1, + KEY_COLUMN, mainw->string_constants[LIVES_STRING_CONSTANT_NONE], + NAME_COLUMN, mainw->string_constants[LIVES_STRING_CONSTANT_NONE], + KEYVAL_COLUMN, 0, + MODEVAL_COLUMN, 0, -1); // go through all keys - for (i=1; i<=FX_KEYS_MAX_VIRTUAL; i++) { - if (i==key+1) continue; + for (i = 1; i <= FX_KEYS_MAX_VIRTUAL; i++) { + if (i == key + 1) continue; - key_added=FALSE; - keystr=lives_strdup_printf(_("Key slot %d"),i); + key_added = FALSE; + keystr = lives_strdup_printf(_("Key slot %d"), i); - for (j=0; j<nmodes; j++) { + for (j = 0; j < nmodes; j++) { - if ((idx=rte_keymode_get_filter_idx(i,j))==-1) continue; + if ((idx = rte_keymode_get_filter_idx(i, j)) == -1) continue; - filter=get_weed_filter(idx); + filter = get_weed_filter(idx); if (is_chans) - if (num_alpha_channels(filter,FALSE)==0) continue; + if (num_alpha_channels(filter, FALSE) == 0) continue; - fxname=weed_get_string_value(filter,WEED_LEAF_NAME,&error); - text=lives_strdup_printf("(%d,%d) %s",i,j+1,fxname); + fxname = weed_get_string_value(filter, WEED_LEAF_NAME, &error); + text = lives_strdup_printf("(%d,%d) %s", i, j + 1, fxname); if (!key_added) { // add key lives_tree_store_append(tstore, &iter1, NULL); /* Acquire an iterator */ - lives_tree_store_set(tstore,&iter1,KEY_COLUMN,keystr,NAME_COLUMN,keystr,KEYVAL_COLUMN,0,MODEVAL_COLUMN,0,-1); - key_added=TRUE; + lives_tree_store_set(tstore, &iter1, KEY_COLUMN, keystr, NAME_COLUMN, keystr, KEYVAL_COLUMN, 0, MODEVAL_COLUMN, 0, -1); + key_added = TRUE; } lives_tree_store_append(tstore, &iter2, &iter1); - lives_tree_store_set(tstore,&iter2,KEY_COLUMN,text,NAME_COLUMN,text,KEYVAL_COLUMN,i,MODEVAL_COLUMN,j,-1); + lives_tree_store_set(tstore, &iter2, KEY_COLUMN, text, NAME_COLUMN, text, KEYVAL_COLUMN, i, MODEVAL_COLUMN, j, -1); lives_free(fxname); lives_free(text); @@ -3862,102 +3865,103 @@ static void ptable_row_add_variable_widgets(lives_conx_w *conxwp, int idx, int row, int pidx) { - weed_plant_t **oparams,*param; + weed_plant_t **oparams, *param; - LiVESWidget *hbox,*hbox2; + LiVESWidget *hbox, *hbox2; LiVESWidget *fx_entry; - boolean hasrange=FALSE; + boolean hasrange = FALSE; - int stype,error,totchans; + int stype, error, totchans; - totchans=cconx_get_numcons(conxwp,FX_DATA_WILDCARD); + totchans = cconx_get_numcons(conxwp, FX_DATA_WILDCARD); - hbox=lives_hbox_new(FALSE, 0); + hbox = lives_hbox_new(FALSE, 0); - lives_table_attach(LIVES_TABLE(conxwp->tablep), hbox, 0, 1, row, row+1, - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), + lives_table_attach(LIVES_TABLE(conxwp->tablep), hbox, 0, 1, row, row + 1, + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); - conxwp->pclabel[idx+totchans]=lives_standard_label_new(NULL); - lives_box_pack_start(LIVES_BOX(hbox), conxwp->pclabel[idx+totchans], FALSE, FALSE, widget_opts.packing_width); + conxwp->pclabel[idx + totchans] = lives_standard_label_new(NULL); + lives_box_pack_start(LIVES_BOX(hbox), conxwp->pclabel[idx + totchans], FALSE, FALSE, widget_opts.packing_width); - hbox=lives_hbox_new(FALSE, 0); + hbox = lives_hbox_new(FALSE, 0); conxwp->pfxcombo[idx] = lives_combo_new_with_model(pmodel); - lives_combo_set_entry_text_column(LIVES_COMBO(conxwp->pfxcombo[idx]),NAME_COLUMN); + lives_combo_set_entry_text_column(LIVES_COMBO(conxwp->pfxcombo[idx]), NAME_COLUMN); lives_box_pack_start(LIVES_BOX(hbox), conxwp->pfxcombo[idx], FALSE, FALSE, 0); - lives_table_attach(LIVES_TABLE(conxwp->tablep), hbox, 2, 3, row, row+1, - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), + lives_table_attach(LIVES_TABLE(conxwp->tablep), hbox, 2, 3, row, row + 1, + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); fx_entry = lives_combo_get_entry(LIVES_COMBO(conxwp->pfxcombo[idx])); - lives_entry_set_text(LIVES_ENTRY(fx_entry),mainw->string_constants[LIVES_STRING_CONSTANT_NONE]); + lives_entry_set_text(LIVES_ENTRY(fx_entry), mainw->string_constants[LIVES_STRING_CONSTANT_NONE]); lives_entry_set_editable(LIVES_ENTRY(fx_entry), FALSE); - hbox=lives_hbox_new(FALSE, 0); + hbox = lives_hbox_new(FALSE, 0); - hbox2=lives_hbox_new(FALSE, 0); + hbox2 = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(hbox), hbox2, FALSE, FALSE, 0); - conxwp->pcombo[idx]=lives_standard_combo_new("",FALSE,NULL,LIVES_BOX(hbox2),NULL); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(conxwp->pcombo[idx]),"idx",LIVES_INT_TO_POINTER(-1)); - lives_widget_set_sensitive(conxwp->pcombo[idx],FALSE); + conxwp->pcombo[idx] = lives_standard_combo_new("", FALSE, NULL, LIVES_BOX(hbox2), NULL); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(conxwp->pcombo[idx]), "idx", LIVES_INT_TO_POINTER(-1)); + lives_widget_set_sensitive(conxwp->pcombo[idx], FALSE); - lives_table_attach(LIVES_TABLE(conxwp->tablep), hbox, 3, 4, row, row+1, - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), + lives_table_attach(LIVES_TABLE(conxwp->tablep), hbox, 3, 4, row, row + 1, + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); lives_signal_connect(LIVES_GUI_OBJECT(conxwp->pfxcombo[idx]), LIVES_WIDGET_CHANGED_SIGNAL, - LIVES_GUI_CALLBACK(dfxp_changed),(livespointer)conxwp); + LIVES_GUI_CALLBACK(dfxp_changed), (livespointer)conxwp); - conxwp->dpp_func[idx]=lives_signal_connect(LIVES_GUI_OBJECT(conxwp->pcombo[idx]), LIVES_WIDGET_CHANGED_SIGNAL, - LIVES_GUI_CALLBACK(dpp_changed),(livespointer)conxwp); + conxwp->dpp_func[idx] = lives_signal_connect(LIVES_GUI_OBJECT(conxwp->pcombo[idx]), LIVES_WIDGET_CHANGED_SIGNAL, + LIVES_GUI_CALLBACK(dpp_changed), (livespointer)conxwp); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(conxwp->pcombo[idx]),"pidx",LIVES_INT_TO_POINTER(pidx)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(conxwp->pcombo[idx]), "pidx", LIVES_INT_TO_POINTER(pidx)); - if (pidx<0) { - conxwp->acheck[idx]=NULL; + if (pidx < 0) { + conxwp->acheck[idx] = NULL; } else { - if (weed_plant_has_leaf(conxwp->filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES)) { - oparams=weed_get_plantptr_array(conxwp->filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES,&error); + if (weed_plant_has_leaf(conxwp->filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES)) { + oparams = weed_get_plantptr_array(conxwp->filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES, &error); - param=oparams[pidx]; - stype=weed_leaf_seed_type(param,WEED_LEAF_DEFAULT); + param = oparams[pidx]; + stype = weed_leaf_seed_type(param, WEED_LEAF_DEFAULT); - if (weed_plant_has_leaf(param,WEED_LEAF_MAX)&&weed_plant_has_leaf(param,WEED_LEAF_MIN)&&(stype==WEED_SEED_INT||stype==WEED_SEED_DOUBLE)) - hasrange=TRUE; + if (weed_plant_has_leaf(param, WEED_LEAF_MAX) && weed_plant_has_leaf(param, WEED_LEAF_MIN) && (stype == WEED_SEED_INT || + stype == WEED_SEED_DOUBLE)) + hasrange = TRUE; lives_free(oparams); } - hbox=lives_hbox_new(FALSE, 0); + hbox = lives_hbox_new(FALSE, 0); - lives_table_attach(LIVES_TABLE(conxwp->tablep), hbox, 4, 5, row, row+1, - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), + lives_table_attach(LIVES_TABLE(conxwp->tablep), hbox, 4, 5, row, row + 1, + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); - hbox2=lives_hbox_new(FALSE, 0); + hbox2 = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(hbox), hbox2, FALSE, FALSE, 0); - conxwp->acheck[idx]=lives_standard_check_button_new(_("Autoscale"),FALSE,LIVES_BOX(hbox2),NULL); + conxwp->acheck[idx] = lives_standard_check_button_new(_("Autoscale"), FALSE, LIVES_BOX(hbox2), NULL); - lives_widget_set_sensitive(conxwp->acheck[idx],FALSE); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(conxwp->acheck[idx]),"available",LIVES_INT_TO_POINTER(hasrange)); + lives_widget_set_sensitive(conxwp->acheck[idx], FALSE); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(conxwp->acheck[idx]), "available", LIVES_INT_TO_POINTER(hasrange)); - conxwp->acheck_func[idx]=lives_signal_connect_after(LIVES_GUI_OBJECT(conxwp->acheck[idx]), LIVES_WIDGET_TOGGLED_SIGNAL, - LIVES_GUI_CALLBACK(on_acheck_toggled), - (livespointer)conxwp); + conxwp->acheck_func[idx] = lives_signal_connect_after(LIVES_GUI_OBJECT(conxwp->acheck[idx]), LIVES_WIDGET_TOGGLED_SIGNAL, + LIVES_GUI_CALLBACK(on_acheck_toggled), + (livespointer)conxwp); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(conxwp->acheck[idx]),"pidx",LIVES_INT_TO_POINTER(pidx)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(conxwp->acheck[idx]), "pidx", LIVES_INT_TO_POINTER(pidx)); } } @@ -3965,58 +3969,58 @@ static void ctable_row_add_variable_widgets(lives_conx_w *conxwp, int idx, int row, int cidx) { - LiVESWidget *hbox,*hbox2; + LiVESWidget *hbox, *hbox2; LiVESWidget *fx_entry; - hbox=lives_hbox_new(FALSE, 0); + hbox = lives_hbox_new(FALSE, 0); - lives_table_attach(LIVES_TABLE(conxwp->tablec), hbox, 0, 1, row, row+1, - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), + lives_table_attach(LIVES_TABLE(conxwp->tablec), hbox, 0, 1, row, row + 1, + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); - conxwp->pclabel[idx]=lives_standard_label_new(NULL); + conxwp->pclabel[idx] = lives_standard_label_new(NULL); lives_box_pack_start(LIVES_BOX(hbox), conxwp->pclabel[idx], FALSE, FALSE, widget_opts.packing_width); - hbox=lives_hbox_new(FALSE, 0); + hbox = lives_hbox_new(FALSE, 0); conxwp->cfxcombo[idx] = lives_combo_new_with_model(cmodel); - lives_combo_set_entry_text_column(LIVES_COMBO(conxwp->cfxcombo[idx]),NAME_COLUMN); + lives_combo_set_entry_text_column(LIVES_COMBO(conxwp->cfxcombo[idx]), NAME_COLUMN); lives_box_pack_start(LIVES_BOX(hbox), conxwp->cfxcombo[idx], FALSE, FALSE, 0); - lives_table_attach(LIVES_TABLE(conxwp->tablec), hbox, 2, 3, row, row+1, - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), + lives_table_attach(LIVES_TABLE(conxwp->tablec), hbox, 2, 3, row, row + 1, + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); fx_entry = lives_combo_get_entry(LIVES_COMBO(conxwp->cfxcombo[idx])); - lives_entry_set_text(LIVES_ENTRY(fx_entry),mainw->string_constants[LIVES_STRING_CONSTANT_NONE]); + lives_entry_set_text(LIVES_ENTRY(fx_entry), mainw->string_constants[LIVES_STRING_CONSTANT_NONE]); lives_entry_set_editable(LIVES_ENTRY(fx_entry), FALSE); - hbox=lives_hbox_new(FALSE, 0); + hbox = lives_hbox_new(FALSE, 0); - hbox2=lives_hbox_new(FALSE, 0); + hbox2 = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(hbox), hbox2, FALSE, FALSE, 0); - conxwp->ccombo[idx]=lives_standard_combo_new("",FALSE,NULL,LIVES_BOX(hbox2),NULL); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(conxwp->ccombo[idx]),"idx",LIVES_INT_TO_POINTER(-1)); - lives_widget_set_sensitive(conxwp->ccombo[idx],FALSE); + conxwp->ccombo[idx] = lives_standard_combo_new("", FALSE, NULL, LIVES_BOX(hbox2), NULL); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(conxwp->ccombo[idx]), "idx", LIVES_INT_TO_POINTER(-1)); + lives_widget_set_sensitive(conxwp->ccombo[idx], FALSE); - lives_table_attach(LIVES_TABLE(conxwp->tablec), hbox, 3, 4, row, row+1, - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), + lives_table_attach(LIVES_TABLE(conxwp->tablec), hbox, 3, 4, row, row + 1, + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); lives_signal_connect(LIVES_GUI_OBJECT(conxwp->cfxcombo[idx]), LIVES_WIDGET_CHANGED_SIGNAL, - LIVES_GUI_CALLBACK(dfxc_changed),(livespointer)conxwp); + LIVES_GUI_CALLBACK(dfxc_changed), (livespointer)conxwp); - conxwp->dpc_func[idx]=lives_signal_connect(LIVES_GUI_OBJECT(conxwp->ccombo[idx]), LIVES_WIDGET_CHANGED_SIGNAL, - LIVES_GUI_CALLBACK(dpc_changed),(livespointer)conxwp); + conxwp->dpc_func[idx] = lives_signal_connect(LIVES_GUI_OBJECT(conxwp->ccombo[idx]), LIVES_WIDGET_CHANGED_SIGNAL, + LIVES_GUI_CALLBACK(dpc_changed), (livespointer)conxwp); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(conxwp->ccombo[idx]),"cidx",LIVES_INT_TO_POINTER(cidx)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(conxwp->ccombo[idx]), "cidx", LIVES_INT_TO_POINTER(cidx)); @@ -4027,22 +4031,22 @@ static void ptable_row_add_standard_widgets(lives_conx_w *conxwp, int idx) { LiVESWidget *hbox; - hbox=lives_hbox_new(FALSE, 0); + hbox = lives_hbox_new(FALSE, 0); - lives_table_attach(LIVES_TABLE(conxwp->tablep), hbox, 1, 2, conxwp->trowsp-1, conxwp->trowsp, - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), + lives_table_attach(LIVES_TABLE(conxwp->tablep), hbox, 1, 2, conxwp->trowsp - 1, conxwp->trowsp, + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); - conxwp->clabel[idx]=lives_standard_label_new(lctext); + conxwp->clabel[idx] = lives_standard_label_new(lctext); lives_box_pack_start(LIVES_BOX(hbox), conxwp->clabel[idx], FALSE, FALSE, widget_opts.packing_width); - conxwp->add_button[idx]=lives_button_new_from_stock(LIVES_STOCK_ADD,NULL); - lives_widget_set_tooltip_text(conxwp->add_button[idx],_("Add another connection for this output parameter")); + conxwp->add_button[idx] = lives_button_new_from_stock(LIVES_STOCK_ADD, NULL); + lives_widget_set_tooltip_text(conxwp->add_button[idx], _("Add another connection for this output parameter")); - lives_table_attach(LIVES_TABLE(conxwp->tablep), conxwp->add_button[idx], 6, 7, conxwp->trowsp-1, conxwp->trowsp, + lives_table_attach(LIVES_TABLE(conxwp->tablep), conxwp->add_button[idx], 6, 7, conxwp->trowsp - 1, conxwp->trowsp, (LiVESAttachOptions)(0), (LiVESAttachOptions)(0), 0, 0); @@ -4051,14 +4055,14 @@ (livespointer)conxwp); - conxwp->del_button[idx]=lives_button_new_from_stock(LIVES_STOCK_REMOVE,NULL); - lives_widget_set_tooltip_text(conxwp->del_button[idx],_("Delete this connection")); + conxwp->del_button[idx] = lives_button_new_from_stock(LIVES_STOCK_REMOVE, NULL); + lives_widget_set_tooltip_text(conxwp->del_button[idx], _("Delete this connection")); - hbox=lives_hbox_new(FALSE, 0); + hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(hbox), conxwp->del_button[idx], FALSE, FALSE, 0); - lives_table_attach(LIVES_TABLE(conxwp->tablep), hbox, 5, 6, conxwp->trowsp-1, conxwp->trowsp, + lives_table_attach(LIVES_TABLE(conxwp->tablep), hbox, 5, 6, conxwp->trowsp - 1, conxwp->trowsp, (LiVESAttachOptions)(0), (LiVESAttachOptions)(0), 0, 0); @@ -4076,22 +4080,22 @@ static void ctable_row_add_standard_widgets(lives_conx_w *conxwp, int idx) { LiVESWidget *hbox; - hbox=lives_hbox_new(FALSE, 0); + hbox = lives_hbox_new(FALSE, 0); - lives_table_attach(LIVES_TABLE(conxwp->tablec), hbox, 1, 2, conxwp->trowsc-1, conxwp->trowsc, - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), + lives_table_attach(LIVES_TABLE(conxwp->tablec), hbox, 1, 2, conxwp->trowsc - 1, conxwp->trowsc, + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); - conxwp->clabel[idx]=lives_standard_label_new(lctext); + conxwp->clabel[idx] = lives_standard_label_new(lctext); lives_box_pack_start(LIVES_BOX(hbox), conxwp->clabel[idx], FALSE, FALSE, widget_opts.packing_width); - conxwp->add_button[idx]=lives_button_new_from_stock(LIVES_STOCK_ADD,NULL); - lives_widget_set_tooltip_text(conxwp->add_button[idx],_("Add another connection for this output channel")); + conxwp->add_button[idx] = lives_button_new_from_stock(LIVES_STOCK_ADD, NULL); + lives_widget_set_tooltip_text(conxwp->add_button[idx], _("Add another connection for this output channel")); - lives_table_attach(LIVES_TABLE(conxwp->tablec), conxwp->add_button[idx], 5, 6, conxwp->trowsc-1, conxwp->trowsc, + lives_table_attach(LIVES_TABLE(conxwp->tablec), conxwp->add_button[idx], 5, 6, conxwp->trowsc - 1, conxwp->trowsc, (LiVESAttachOptions)(0), (LiVESAttachOptions)(0), 0, 0); @@ -4100,14 +4104,14 @@ (livespointer)conxwp); - conxwp->del_button[idx]=lives_button_new_from_stock(LIVES_STOCK_REMOVE,NULL); - lives_widget_set_tooltip_text(conxwp->del_button[idx],_("Delete this connection")); + conxwp->del_button[idx] = lives_button_new_from_stock(LIVES_STOCK_REMOVE, NULL); + lives_widget_set_tooltip_text(conxwp->del_button[idx], _("Delete this connection")); - hbox=lives_hbox_new(FALSE, 0); + hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(hbox), conxwp->del_button[idx], FALSE, FALSE, 0); - lives_table_attach(LIVES_TABLE(conxwp->tablec), hbox, 4, 5, conxwp->trowsc-1, conxwp->trowsc, + lives_table_attach(LIVES_TABLE(conxwp->tablec), hbox, 4, 5, conxwp->trowsc - 1, conxwp->trowsc, (LiVESAttachOptions)(0), (LiVESAttachOptions)(0), 0, 0); @@ -4123,265 +4127,267 @@ static LiVESWidget *conx_scroll_new(lives_conx_w *conxwp) { - weed_plant_t *chan,*param; + weed_plant_t *chan, *param; LiVESWidget *label; LiVESWidget *top_vbox; LiVESWidget *hbox; LiVESWidget *scrolledwindow; - char *channame,*pname,*fname; - char *ptype,*range; - char *array_type,*text,*tmp; + char *channame, *pname, *fname; + char *ptype, *range; + char *array_type, *text, *tmp; boolean isfirst; - int defelems,pflags,stype; + int defelems, pflags, stype; - int totchans,totparams,nconns; + int totchans, totparams, nconns; int error; - register int i,j=0,x=0; + register int i, j = 0, x = 0; - for (i=0; i<conxwp->num_alpha; i++) { - nconns=cconx_get_nconns(conxwp->cconx,i); - if (nconns==0) nconns=1; - conxwp->dispc[i]=nconns; + for (i = 0; i < conxwp->num_alpha; i++) { + nconns = cconx_get_nconns(conxwp->cconx, i); + if (nconns == 0) nconns = 1; + conxwp->dispc[i] = nconns; } - for (i=-EXTRA_PARAMS_OUT; i<conxwp->num_params-EXTRA_PARAMS_OUT; i++) { - nconns=pconx_get_nconns(conxwp->pconx,i); - if (nconns==0) nconns=1; - conxwp->dispp[i+EXTRA_PARAMS_OUT]=nconns; + for (i = -EXTRA_PARAMS_OUT; i < conxwp->num_params - EXTRA_PARAMS_OUT; i++) { + nconns = pconx_get_nconns(conxwp->pconx, i); + if (nconns == 0) nconns = 1; + conxwp->dispp[i + EXTRA_PARAMS_OUT] = nconns; } - totchans=cconx_get_numcons(conxwp,FX_DATA_WILDCARD); - totparams=pconx_get_numcons(conxwp,FX_DATA_WILDCARD); + totchans = cconx_get_numcons(conxwp, FX_DATA_WILDCARD); + totparams = pconx_get_numcons(conxwp, FX_DATA_WILDCARD); - conxwp->add_button=(LiVESWidget **)lives_malloc((totchans+totparams)*sizeof(LiVESWidget *)); - conxwp->del_button=(LiVESWidget **)lives_malloc((totchans+totparams)*sizeof(LiVESWidget *)); - conxwp->clabel=(LiVESWidget **)lives_malloc((totchans+totparams)*sizeof(LiVESWidget *)); - conxwp->pclabel=(LiVESWidget **)lives_malloc((totchans+totparams)*sizeof(LiVESWidget *)); + conxwp->add_button = (LiVESWidget **)lives_malloc((totchans + totparams) * sizeof(LiVESWidget *)); + conxwp->del_button = (LiVESWidget **)lives_malloc((totchans + totparams) * sizeof(LiVESWidget *)); + conxwp->clabel = (LiVESWidget **)lives_malloc((totchans + totparams) * sizeof(LiVESWidget *)); + conxwp->pclabel = (LiVESWidget **)lives_malloc((totchans + totparams) * sizeof(LiVESWidget *)); - conxwp->cfxcombo=conxwp->ccombo=conxwp->pcombo=conxwp->pfxcombo=conxwp->acheck=NULL; - conxwp->dpp_func=conxwp->dpc_func=conxwp->acheck_func=NULL; + conxwp->cfxcombo = conxwp->ccombo = conxwp->pcombo = conxwp->pfxcombo = conxwp->acheck = NULL; + conxwp->dpp_func = conxwp->dpc_func = conxwp->acheck_func = NULL; - conxwp->ikeys=(int *)lives_malloc((totchans+totparams)*sizint); - conxwp->imodes=(int *)lives_malloc((totchans+totparams)*sizint); - conxwp->idx=(int *)lives_malloc((totchans+totparams)*sizint); + conxwp->ikeys = (int *)lives_malloc((totchans + totparams) * sizint); + conxwp->imodes = (int *)lives_malloc((totchans + totparams) * sizint); + conxwp->idx = (int *)lives_malloc((totchans + totparams) * sizint); - for (i=0; i<totchans+totparams; i++) conxwp->ikeys[i]=conxwp->imodes[i]=conxwp->idx[i]=0; + for (i = 0; i < totchans + totparams; i++) conxwp->ikeys[i] = conxwp->imodes[i] = conxwp->idx[i] = 0; - lctext=lives_strdup(_("Connected to -->")); + lctext = lives_strdup(_("Connected to -->")); - top_vbox=lives_vbox_new(FALSE, 0); + top_vbox = lives_vbox_new(FALSE, 0); - scrolledwindow = lives_standard_scrolled_window_new(-1,-1,top_vbox); + scrolledwindow = lives_standard_scrolled_window_new(-1, -1, top_vbox); - conxwp->trowsc=conxwp->trowsp=0; + conxwp->trowsc = conxwp->trowsp = 0; - fname=weed_get_string_value(conxwp->filter,WEED_LEAF_NAME,&error); + fname = weed_get_string_value(conxwp->filter, WEED_LEAF_NAME, &error); - if (conxwp->num_alpha>0) { + if (conxwp->num_alpha > 0) { - weed_plant_t **ochans=weed_get_plantptr_array(conxwp->filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES,&error); + weed_plant_t **ochans = weed_get_plantptr_array(conxwp->filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES, &error); - conxwp->dpc_func=(ulong *)lives_malloc(totchans*sizeof(ulong)); + conxwp->dpc_func = (ulong *)lives_malloc(totchans * sizeof(ulong)); - conxwp->cfxcombo=(LiVESWidget **)lives_malloc(totchans*sizeof(LiVESWidget *)); + conxwp->cfxcombo = (LiVESWidget **)lives_malloc(totchans * sizeof(LiVESWidget *)); - conxwp->ccombo=(LiVESWidget **)lives_malloc(totchans*sizeof(LiVESWidget *)); + conxwp->ccombo = (LiVESWidget **)lives_malloc(totchans * sizeof(LiVESWidget *)); - label=lives_standard_label_new((tmp=lives_strdup_printf(_("%s - Alpha Channel Connections"),fname))); + label = lives_standard_label_new((tmp = lives_strdup_printf(_("%s - Alpha Channel Connections"), fname))); lives_box_pack_start(LIVES_BOX(top_vbox), label, FALSE, FALSE, widget_opts.packing_height); - conxwp->tablec=lives_table_new(0,6,FALSE); - lives_table_set_row_spacings(LIVES_TABLE(conxwp->tablec),widget_opts.packing_height); - lives_table_set_col_spacings(LIVES_TABLE(conxwp->tablec),widget_opts.packing_width); + conxwp->tablec = lives_table_new(0, 6, FALSE); + lives_table_set_row_spacings(LIVES_TABLE(conxwp->tablec), widget_opts.packing_height); + lives_table_set_col_spacings(LIVES_TABLE(conxwp->tablec), widget_opts.packing_width); lives_box_pack_start(LIVES_BOX(top_vbox), conxwp->tablec, FALSE, FALSE, widget_opts.packing_height); - conxwp->trowsc=1; + conxwp->trowsc = 1; - cmodel=inparam_fx_model(TRUE,conxwp->okey); + cmodel = inparam_fx_model(TRUE, conxwp->okey); - for (i=0; i<conxwp->num_alpha; i++) { - chan=ochans[j++]; + for (i = 0; i < conxwp->num_alpha; i++) { + chan = ochans[j++]; if (!has_alpha_palette(chan)) { i--; continue; } - lives_table_resize(LIVES_TABLE(conxwp->tablec),++conxwp->trowsc,6); + lives_table_resize(LIVES_TABLE(conxwp->tablec), ++conxwp->trowsc, 6); - nconns=conxwp->dispc[i]; + nconns = conxwp->dispc[i]; - isfirst=TRUE; + isfirst = TRUE; do { - ctable_row_add_variable_widgets(conxwp,x,conxwp->trowsc-1,i); + ctable_row_add_variable_widgets(conxwp, x, conxwp->trowsc - 1, i); - ctable_row_add_standard_widgets(conxwp,x); + ctable_row_add_standard_widgets(conxwp, x); if (isfirst) { - channame=weed_get_string_value(chan,WEED_LEAF_NAME,&error); - lives_label_set_text(LIVES_LABEL(conxwp->pclabel[x]),channame); + channame = weed_get_string_value(chan, WEED_LEAF_NAME, &error); + lives_label_set_text(LIVES_LABEL(conxwp->pclabel[x]), channame); lives_free(channame); - isfirst=FALSE; + isfirst = FALSE; } x++; - if (nconns>1) { + if (nconns > 1) { conxwp->trowsc++; } - } while (--nconns>0); + } while (--nconns > 0); } lives_free(ochans); } - if (conxwp->num_alpha>0&&conxwp->num_params>0) { + if (conxwp->num_alpha > 0 && conxwp->num_params > 0) { add_hsep_to_box(LIVES_BOX(top_vbox)); } - if (conxwp->num_params>0) { - weed_plant_t **oparams=NULL; + if (conxwp->num_params > 0) { + weed_plant_t **oparams = NULL; - pmodel=inparam_fx_model(FALSE,conxwp->okey); + pmodel = inparam_fx_model(FALSE, conxwp->okey); - if (weed_plant_has_leaf(conxwp->filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES)) - oparams=weed_get_plantptr_array(conxwp->filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES,&error); + if (weed_plant_has_leaf(conxwp->filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES)) + oparams = weed_get_plantptr_array(conxwp->filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES, &error); - conxwp->pfxcombo=(LiVESWidget **)lives_malloc(totparams*sizeof(LiVESWidget *)); - conxwp->pcombo=(LiVESWidget **)lives_malloc(totparams*sizeof(LiVESWidget *)); + conxwp->pfxcombo = (LiVESWidget **)lives_malloc(totparams * sizeof(LiVESWidget *)); + conxwp->pcombo = (LiVESWidget **)lives_malloc(totparams * sizeof(LiVESWidget *)); - conxwp->dpp_func=(ulong *)lives_malloc(totparams*sizeof(ulong)); - conxwp->acheck_func=(ulong *)lives_malloc(totparams*sizeof(ulong)); + conxwp->dpp_func = (ulong *)lives_malloc(totparams * sizeof(ulong)); + conxwp->acheck_func = (ulong *)lives_malloc(totparams * sizeof(ulong)); - conxwp->acheck=(LiVESWidget **)lives_malloc(totparams*sizeof(LiVESWidget *)); + conxwp->acheck = (LiVESWidget **)lives_malloc(totparams * sizeof(LiVESWidget *)); - label=lives_standard_label_new((tmp=lives_strdup_printf(_("%s - Parameter Data Connections"),fname))); + label = lives_standard_label_new((tmp = lives_strdup_printf(_("%s - Parameter Data Connections"), fname))); lives_free(tmp); lives_box_pack_start(LIVES_BOX(top_vbox), label, FALSE, FALSE, widget_opts.packing_height); - conxwp->tablep=lives_table_new(1,7,FALSE); - lives_table_set_row_spacings(LIVES_TABLE(conxwp->tablep),widget_opts.packing_height); - lives_table_set_col_spacings(LIVES_TABLE(conxwp->tablep),widget_opts.packing_width); + conxwp->tablep = lives_table_new(1, 7, FALSE); + lives_table_set_row_spacings(LIVES_TABLE(conxwp->tablep), widget_opts.packing_height); + lives_table_set_col_spacings(LIVES_TABLE(conxwp->tablep), widget_opts.packing_width); lives_box_pack_start(LIVES_BOX(top_vbox), conxwp->tablep, FALSE, FALSE, widget_opts.packing_height); - conxwp->trowsp=1; - x=0; + conxwp->trowsp = 1; + x = 0; - hbox=lives_hbox_new(FALSE, 0); + hbox = lives_hbox_new(FALSE, 0); lives_table_attach(LIVES_TABLE(conxwp->tablep), hbox, 4, 5, 0, 1, - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); - conxwp->allcheckc=lives_standard_check_button_new(_("Autoscale All"),FALSE,LIVES_BOX(hbox),NULL); - conxwp->allcheck_label=widget_opts.last_label; + conxwp->allcheckc = lives_standard_check_button_new(_("Autoscale All"), FALSE, LIVES_BOX(hbox), NULL); + conxwp->allcheck_label = widget_opts.last_label; - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(conxwp->allcheckc),TRUE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(conxwp->allcheckc), TRUE); lives_signal_connect_after(LIVES_GUI_OBJECT(conxwp->allcheckc), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(on_allcheck_toggled), (livespointer)conxwp); - if (EXTRA_PARAMS_OUT>0) { + if (EXTRA_PARAMS_OUT > 0) { - lives_table_resize(LIVES_TABLE(conxwp->tablep),++conxwp->trowsp,7); + lives_table_resize(LIVES_TABLE(conxwp->tablep), ++conxwp->trowsp, 7); - nconns=conxwp->dispp[0]; + nconns = conxwp->dispp[0]; - isfirst=TRUE; + isfirst = TRUE; do { - ptable_row_add_variable_widgets(conxwp,x,conxwp->trowsp-1,-EXTRA_PARAMS_OUT); + ptable_row_add_variable_widgets(conxwp, x, conxwp->trowsp - 1, -EXTRA_PARAMS_OUT); - ptable_row_add_standard_widgets(conxwp,x+totchans); + ptable_row_add_standard_widgets(conxwp, x + totchans); if (isfirst) { /* TRANSLATORS - as in "Effect ACTIVATED" */ - pname=lives_strdup(_("ACTIVATED")); - ptype=weed_seed_type_to_text(WEED_SEED_BOOLEAN); + pname = lives_strdup(_("ACTIVATED")); + ptype = weed_seed_type_to_text(WEED_SEED_BOOLEAN); - text=lives_strdup_printf("%s (%s)",pname,ptype); - lives_label_set_text(LIVES_LABEL(conxwp->pclabel[x+totchans]),text); + text = lives_strdup_printf("%s (%s)", pname, ptype); + lives_label_set_text(LIVES_LABEL(conxwp->pclabel[x + totchans]), text); lives_free(text); lives_free(pname); lives_free(ptype); - isfirst=FALSE; + isfirst = FALSE; } x++; - if (nconns>1) { + if (nconns > 1) { conxwp->trowsp++; } - } while (--nconns>0); + } while (--nconns > 0); } - for (i=0; i<conxwp->num_params-EXTRA_PARAMS_OUT; i++) { + for (i = 0; i < conxwp->num_params - EXTRA_PARAMS_OUT; i++) { - lives_table_resize(LIVES_TABLE(conxwp->tablep),++conxwp->trowsp,7); + lives_table_resize(LIVES_TABLE(conxwp->tablep), ++conxwp->trowsp, 7); - nconns=conxwp->dispp[i+EXTRA_PARAMS_OUT]; + nconns = conxwp->dispp[i + EXTRA_PARAMS_OUT]; - isfirst=TRUE; + isfirst = TRUE; do { - ptable_row_add_variable_widgets(conxwp,x,conxwp->trowsp-1,i); + ptable_row_add_variable_widgets(conxwp, x, conxwp->trowsp - 1, i); - ptable_row_add_standard_widgets(conxwp,x+totchans); + ptable_row_add_standard_widgets(conxwp, x + totchans); if (isfirst) { - param=oparams[i]; - - pname=weed_get_string_value(param,WEED_LEAF_NAME,&error); + param = oparams[i]; - ptype=weed_seed_type_to_text((stype=weed_leaf_seed_type(param,WEED_LEAF_DEFAULT))); + pname = weed_get_string_value(param, WEED_LEAF_NAME, &error); - pflags=weed_get_int_value(param,WEED_LEAF_FLAGS,&error); + ptype = weed_seed_type_to_text((stype = weed_leaf_seed_type(param, WEED_LEAF_DEFAULT))); - if (pflags&WEED_PARAMETER_VARIABLE_ELEMENTS) array_type=lives_strdup("[]"); - else if ((defelems=weed_leaf_num_elements(param,WEED_LEAF_DEFAULT))>1) array_type=lives_strdup_printf("[%d]",defelems); - else array_type=lives_strdup(""); + pflags = weed_get_int_value(param, WEED_LEAF_FLAGS, &error); - if (weed_plant_has_leaf(param,WEED_LEAF_MAX)&&weed_plant_has_leaf(param,WEED_LEAF_MIN)) { - if (stype==WEED_SEED_INT) { - range=lives_strdup_printf("Range: %d to %d",weed_get_int_value(param,WEED_LEAF_MIN,&error),weed_get_int_value(param,WEED_LEAF_MAX,&error)); - } else if (stype==WEED_SEED_DOUBLE) { - range=lives_strdup_printf("Range: %f to %f",weed_get_double_value(param,WEED_LEAF_MIN,&error),weed_get_double_value(param,WEED_LEAF_MAX, - &error)); - } else range=lives_strdup(""); - } else range=lives_strdup(""); + if (pflags & WEED_PARAMETER_VARIABLE_ELEMENTS) array_type = lives_strdup("[]"); + else if ((defelems = weed_leaf_num_elements(param, WEED_LEAF_DEFAULT)) > 1) array_type = lives_strdup_printf("[%d]", defelems); + else array_type = lives_strdup(""); + + if (weed_plant_has_leaf(param, WEED_LEAF_MAX) && weed_plant_has_leaf(param, WEED_LEAF_MIN)) { + if (stype == WEED_SEED_INT) { + range = lives_strdup_printf("Range: %d to %d", weed_get_int_value(param, WEED_LEAF_MIN, &error), weed_get_int_value(param, WEED_LEAF_MAX, + &error)); + } else if (stype == WEED_SEED_DOUBLE) { + range = lives_strdup_printf("Range: %f to %f", weed_get_double_value(param, WEED_LEAF_MIN, &error), weed_get_double_value(param, + WEED_LEAF_MAX, + &error)); + } else range = lives_strdup(""); + } else range = lives_strdup(""); - text=lives_strdup_printf("%s (%s%s) %s",pname,ptype,array_type,range); - lives_label_set_text(LIVES_LABEL(conxwp->pclabel[x+totchans]),text); + text = lives_strdup_printf("%s (%s%s) %s", pname, ptype, array_type, range); + lives_label_set_text(LIVES_LABEL(conxwp->pclabel[x + totchans]), text); lives_free(text); lives_free(pname); lives_free(ptype); - isfirst=FALSE; + isfirst = FALSE; } x++; - if (nconns>1) { + if (nconns > 1) { conxwp->trowsp++; } - } while (--nconns>0); + } while (--nconns > 0); } lives_free(oparams); @@ -4395,23 +4401,23 @@ static void conxw_cancel_clicked(LiVESWidget *button, livespointer user_data) { - lives_conx_w *conxwp=(lives_conx_w *)user_data; + lives_conx_w *conxwp = (lives_conx_w *)user_data; - if (conxwp->pclabel!=NULL) lives_free(conxwp->pclabel); - if (conxwp->clabel!=NULL) lives_free(conxwp->clabel); - if (conxwp->cfxcombo!=NULL) lives_free(conxwp->cfxcombo); - if (conxwp->ccombo!=NULL) lives_free(conxwp->ccombo); - if (conxwp->pfxcombo!=NULL) lives_free(conxwp->pfxcombo); - if (conxwp->pcombo!=NULL) lives_free(conxwp->pcombo); - if (conxwp->acheck!=NULL) lives_free(conxwp->acheck); - if (conxwp->add_button!=NULL) lives_free(conxwp->add_button); - if (conxwp->del_button!=NULL) lives_free(conxwp->del_button); - if (conxwp->dpp_func!=NULL) lives_free(conxwp->dpp_func); - if (conxwp->dpc_func!=NULL) lives_free(conxwp->dpc_func); - if (conxwp->acheck_func!=NULL) lives_free(conxwp->acheck_func); + if (conxwp->pclabel != NULL) lives_free(conxwp->pclabel); + if (conxwp->clabel != NULL) lives_free(conxwp->clabel); + if (conxwp->cfxcombo != NULL) lives_free(conxwp->cfxcombo); + if (conxwp->ccombo != NULL) lives_free(conxwp->ccombo); + if (conxwp->pfxcombo != NULL) lives_free(conxwp->pfxcombo); + if (conxwp->pcombo != NULL) lives_free(conxwp->pcombo); + if (conxwp->acheck != NULL) lives_free(conxwp->acheck); + if (conxwp->add_button != NULL) lives_free(conxwp->add_button); + if (conxwp->del_button != NULL) lives_free(conxwp->del_button); + if (conxwp->dpp_func != NULL) lives_free(conxwp->dpp_func); + if (conxwp->dpc_func != NULL) lives_free(conxwp->dpc_func); + if (conxwp->acheck_func != NULL) lives_free(conxwp->acheck_func); - if (conxwp->dispp!=NULL) lives_free(conxwp->dispp); - if (conxwp->dispc!=NULL) lives_free(conxwp->dispc); + if (conxwp->dispp != NULL) lives_free(conxwp->dispp); + if (conxwp->dispc != NULL) lives_free(conxwp->dispc); lives_free(conxwp->ikeys); lives_free(conxwp->imodes); @@ -4422,55 +4428,55 @@ pconx_delete_all(); cconx_delete_all(); - if (button==NULL) return; + if (button == NULL) return; // restore old values - mainw->pconx=spconx; - mainw->cconx=scconx; + mainw->pconx = spconx; + mainw->cconx = scconx; - lives_general_button_clicked(LIVES_BUTTON(button),NULL); + lives_general_button_clicked(LIVES_BUTTON(button), NULL); } static void conxw_ok_clicked(LiVESWidget *button, livespointer user_data) { - lives_cconnect_t *cconx_bak=mainw->cconx; - lives_pconnect_t *pconx_bak=mainw->pconx; + lives_cconnect_t *cconx_bak = mainw->cconx; + lives_pconnect_t *pconx_bak = mainw->pconx; // let backup copy be freed - mainw->pconx=spconx; - mainw->cconx=scconx; + mainw->pconx = spconx; + mainw->cconx = scconx; - conxw_cancel_clicked(NULL,user_data); + conxw_cancel_clicked(NULL, user_data); - mainw->cconx=cconx_bak; - mainw->pconx=pconx_bak; + mainw->cconx = cconx_bak; + mainw->pconx = pconx_bak; - lives_general_button_clicked(LIVES_BUTTON(button),NULL); + lives_general_button_clicked(LIVES_BUTTON(button), NULL); } static void set_to_keymode_vals(LiVESCombo *combo, int xkey, int xmode) { - LiVESTreeIter iter,piter; + LiVESTreeIter iter, piter; LiVESTreeModel *model; - int key,mode; + int key, mode; - model=lives_combo_get_model(combo); - if (!lives_tree_model_get_iter_first(model,&piter)) return; + model = lives_combo_get_model(combo); + if (!lives_tree_model_get_iter_first(model, &piter)) return; do { - if (lives_tree_model_iter_children(model,&iter,&piter)) { + if (lives_tree_model_iter_children(model, &iter, &piter)) { do { - lives_tree_model_get(model,&iter,KEYVAL_COLUMN,&key,MODEVAL_COLUMN,&mode,-1); - if (key==xkey+1&&mode==xmode) goto iter_found; - } while (lives_tree_model_iter_next(model,&iter)); + lives_tree_model_get(model, &iter, KEYVAL_COLUMN, &key, MODEVAL_COLUMN, &mode, -1); + if (key == xkey + 1 && mode == xmode) goto iter_found; + } while (lives_tree_model_iter_next(model, &iter)); } - } while (lives_tree_model_iter_next(model,&piter)); + } while (lives_tree_model_iter_next(model, &piter)); iter_found: - lives_combo_set_active_iter(combo,&iter); + lives_combo_set_active_iter(combo, &iter); } @@ -4478,96 +4484,96 @@ static boolean show_existing(lives_conx_w *conxwp) { - lives_cconnect_t *cconx=conxwp->cconx; - lives_pconnect_t *pconx=conxwp->pconx; + lives_cconnect_t *cconx = conxwp->cconx; + lives_pconnect_t *pconx = conxwp->pconx; - LiVESWidget *cfxcombo,*ccombo; - LiVESWidget *pfxcombo,*pcombo; + LiVESWidget *cfxcombo, *ccombo; + LiVESWidget *pfxcombo, *pcombo; LiVESWidget *acheck; - weed_plant_t **ochans,**ichans; + weed_plant_t **ochans, **ichans; weed_plant_t **iparams; - weed_plant_t *ofilter=conxwp->filter,*filter; + weed_plant_t *ofilter = conxwp->filter, *filter; - weed_plant_t *chan,*param; + weed_plant_t *chan, *param; - int ikey,imode,icnum,error,ipnum,nichans,niparams; + int ikey, imode, icnum, error, ipnum, nichans, niparams; - int posn=0,cidx,pidx,totchans=0; + int posn = 0, cidx, pidx, totchans = 0; - register int i,j,k,l; + register int i, j, k, l; - if (cconx==NULL) goto show_ex_params; + if (cconx == NULL) goto show_ex_params; - totchans=cconx_get_numcons(conxwp,FX_DATA_WILDCARD); + totchans = cconx_get_numcons(conxwp, FX_DATA_WILDCARD); - ochans=weed_get_plantptr_array(ofilter,WEED_LEAF_OUT_CHANNEL_TEMPLATES,&error); + ochans = weed_get_plantptr_array(ofilter, WEED_LEAF_OUT_CHANNEL_TEMPLATES, &error); - for (i=0; i<cconx->nchans; i++) { + for (i = 0; i < cconx->nchans; i++) { // find the row - l=0; + l = 0; // total out channel connections (display order) up to here - for (k=0; k<i; k++) { - chan=ochans[j++]; + for (k = 0; k < i; k++) { + chan = ochans[j++]; if (!has_alpha_palette(chan)) { k--; continue; } - l+=cconx_get_numcons(conxwp,k); + l += cconx_get_numcons(conxwp, k); } - cidx=cconx->chans[i]; - for (j=posn; j<posn+cconx->nconns[i]; j++) { - ikey=cconx->ikey[j]; - imode=cconx->imode[j]; + cidx = cconx->chans[i]; + for (j = posn; j < posn + cconx->nconns[i]; j++) { + ikey = cconx->ikey[j]; + imode = cconx->imode[j]; // row is l - cfxcombo=conxwp->cfxcombo[l]; + cfxcombo = conxwp->cfxcombo[l]; // set it to the value which has ikey/imode - set_to_keymode_vals(LIVES_COMBO(cfxcombo),ikey,imode); + set_to_keymode_vals(LIVES_COMBO(cfxcombo), ikey, imode); // set channel - ccombo=conxwp->ccombo[l]; - icnum=cconx->icnum[j]; + ccombo = conxwp->ccombo[l]; + icnum = cconx->icnum[j]; - filter=rte_keymode_get_filter(ikey+1,imode); - ichans=weed_get_plantptr_array(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES,&error); - nichans=weed_leaf_num_elements(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES); + filter = rte_keymode_get_filter(ikey + 1, imode); + ichans = weed_get_plantptr_array(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES, &error); + nichans = weed_leaf_num_elements(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES); - cidx=0; + cidx = 0; // find combo list index for ichan - for (k=0; k<nichans; k++) { - chan=ichans[k]; + for (k = 0; k < nichans; k++) { + chan = ichans[k]; if (!has_alpha_palette(chan)) continue; - if (k==icnum) break; + if (k == icnum) break; cidx++; } lives_free(ichans); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(ccombo),"setup",LIVES_INT_TO_POINTER(TRUE)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(ccombo), "setup", LIVES_INT_TO_POINTER(TRUE)); - lives_signal_handler_block(ccombo,conxwp->dpc_func[l]); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(ccombo),"idx",LIVES_INT_TO_POINTER(cidx)); - lives_combo_set_active_index(LIVES_COMBO(ccombo),cidx); - lives_signal_handler_unblock(ccombo,conxwp->dpc_func[l]); - - conxwp->ikeys[l]=ikey+1; - conxwp->imodes[l]=imode; - conxwp->idx[l]=icnum; - - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(ccombo),"setup",LIVES_INT_TO_POINTER(FALSE)); - lives_widget_set_sensitive(conxwp->disconbutton,TRUE); - lives_widget_set_sensitive(ccombo,TRUE); + lives_signal_handler_block(ccombo, conxwp->dpc_func[l]); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(ccombo), "idx", LIVES_INT_TO_POINTER(cidx)); + lives_combo_set_active_index(LIVES_COMBO(ccombo), cidx); + lives_signal_handler_unblock(ccombo, conxwp->dpc_func[l]); + + conxwp->ikeys[l] = ikey + 1; + conxwp->imodes[l] = imode; + conxwp->idx[l] = icnum; + + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(ccombo), "setup", LIVES_INT_TO_POINTER(FALSE)); + lives_widget_set_sensitive(conxwp->disconbutton, TRUE); + lives_widget_set_sensitive(ccombo, TRUE); l++; } - posn+=cconx->nconns[i]; + posn += cconx->nconns[i]; } lives_free(ochans); @@ -4576,88 +4582,88 @@ show_ex_params: - if (pconx==NULL) goto show_ex_done; + if (pconx == NULL) goto show_ex_done; - posn=0; + posn = 0; - for (i=0; i<pconx->nparams; i++) { - pidx=pconx->params[i]; + for (i = 0; i < pconx->nparams; i++) { + pidx = pconx->params[i]; // find the row - l=0; + l = 0; // total out param connections (display order) up to here - for (k=-EXTRA_PARAMS_OUT; k<pidx; k++) { - l+=pconx_get_numcons(conxwp,k); + for (k = -EXTRA_PARAMS_OUT; k < pidx; k++) { + l += pconx_get_numcons(conxwp, k); } - for (j=posn; j<posn+pconx->nconns[i]; j++) { - ikey=pconx->ikey[j]; - imode=pconx->imode[j]; + for (j = posn; j < posn + pconx->nconns[i]; j++) { + ikey = pconx->ikey[j]; + imode = pconx->imode[j]; // row is l - pfxcombo=conxwp->pfxcombo[l]; + pfxcombo = conxwp->pfxcombo[l]; // set it to the value which has ikey/imode - set_to_keymode_vals(LIVES_COMBO(pfxcombo),ikey,imode); + set_to_keymode_vals(LIVES_COMBO(pfxcombo), ikey, imode); // set parameter - pcombo=conxwp->pcombo[l]; - acheck=conxwp->acheck[l]; + pcombo = conxwp->pcombo[l]; + acheck = conxwp->acheck[l]; - if (acheck!=NULL) { + if (acheck != NULL) { - lives_widget_set_sensitive(acheck,TRUE); + lives_widget_set_sensitive(acheck, TRUE); - lives_signal_handler_block(acheck,conxwp->acheck_func[l]); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(acheck),pconx->autoscale[j]); - lives_signal_handler_unblock(acheck,conxwp->acheck_func[l]); + lives_signal_handler_block(acheck, conxwp->acheck_func[l]); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(acheck), pconx->autoscale[j]); + lives_signal_handler_unblock(acheck, conxwp->acheck_func[l]); } - ipnum=pconx->ipnum[j]; + ipnum = pconx->ipnum[j]; - if (ipnum==FX_DATA_PARAM_ACTIVE) { - pidx=FX_DATA_PARAM_ACTIVE; + if (ipnum == FX_DATA_PARAM_ACTIVE) { + pidx = FX_DATA_PARAM_ACTIVE; } else { - filter=rte_keymode_get_filter(ikey+1,imode); - iparams=weed_get_plantptr_array(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); - niparams=weed_leaf_num_elements(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES); + filter = rte_keymode_get_filter(ikey + 1, imode); + iparams = weed_get_plantptr_array(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); + niparams = weed_leaf_num_elements(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES); - pidx=0; + pidx = 0; // find combo list index for iparam - for (k=0; k<niparams; k++) { - param=iparams[k]; - if (weed_plant_has_leaf(param,WEED_LEAF_HOST_INTERNAL_CONNECTION)) continue; - if (k==ipnum) break; + for (k = 0; k < niparams; k++) { + param = iparams[k]; + if (weed_plant_has_leaf(param, WEED_LEAF_HOST_INTERNAL_CONNECTION)) continue; + if (k == ipnum) break; pidx++; } lives_free(iparams); } - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(pcombo),"setup",LIVES_INT_TO_POINTER(TRUE)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(pcombo), "setup", LIVES_INT_TO_POINTER(TRUE)); - conxwp->ikeys[totchans+l]=ikey+1; - conxwp->imodes[totchans+l]=imode; - conxwp->idx[totchans+l]=ipnum; + conxwp->ikeys[totchans + l] = ikey + 1; + conxwp->imodes[totchans + l] = imode; + conxwp->idx[totchans + l] = ipnum; //lives_signal_handler_block(pcombo,conxwp->dpp_func[pidx]); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(pcombo),"idx",LIVES_INT_TO_POINTER(pidx+EXTRA_PARAMS_IN)); - lives_combo_set_active_index(LIVES_COMBO(pcombo),pidx+EXTRA_PARAMS_IN); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(pcombo), "idx", LIVES_INT_TO_POINTER(pidx + EXTRA_PARAMS_IN)); + lives_combo_set_active_index(LIVES_COMBO(pcombo), pidx + EXTRA_PARAMS_IN); //lives_signal_handler_unblock(pcombo,conxwp->dpp_func[pidx]); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(pcombo),"setup",LIVES_INT_TO_POINTER(FALSE)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(pcombo), "setup", LIVES_INT_TO_POINTER(FALSE)); - lives_widget_set_sensitive(conxwp->disconbutton,TRUE); - lives_widget_set_sensitive(pcombo,TRUE); + lives_widget_set_sensitive(conxwp->disconbutton, TRUE); + lives_widget_set_sensitive(pcombo, TRUE); l++; } - posn+=pconx->nconns[i]; + posn += pconx->nconns[i]; } show_ex_done: @@ -4672,7 +4678,7 @@ LiVESWidget *make_datacon_window(int key, int mode) { static lives_conx_w conxw; - LiVESWidget *cbox,*abox; + LiVESWidget *cbox, *abox; LiVESWidget *scrolledwindow; LiVESWidget *cancelbutton; @@ -4680,64 +4686,64 @@ LiVESAccelGroup *accel_group; - int scr_width,scr_height; + int scr_width, scr_height; int winsize_h; int winsize_v; - conxw.filter=rte_keymode_get_filter(key+1,mode); + conxw.filter = rte_keymode_get_filter(key + 1, mode); - if (conxw.filter==NULL) return NULL; + if (conxw.filter == NULL) return NULL; - conxw.acbutton=conxw.apbutton=NULL; + conxw.acbutton = conxw.apbutton = NULL; - conxw.dispp=conxw.dispc=NULL; + conxw.dispp = conxw.dispc = NULL; // save unaltered values - spconx=pconx_copy(mainw->pconx); - scconx=cconx_copy(mainw->cconx); + spconx = pconx_copy(mainw->pconx); + scconx = cconx_copy(mainw->cconx); - conxw.cconx=cconx_find(key,mode); - conxw.pconx=pconx_find(key,mode); + conxw.cconx = cconx_find(key, mode); + conxw.pconx = pconx_find(key, mode); - conxw.okey=key; - conxw.omode=mode; + conxw.okey = key; + conxw.omode = mode; - conxw.num_alpha=num_alpha_channels(conxw.filter,TRUE); - conxw.num_params=weed_leaf_num_elements(conxw.filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES); + conxw.num_alpha = num_alpha_channels(conxw.filter, TRUE); + conxw.num_params = weed_leaf_num_elements(conxw.filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES); - conxw.num_params+=EXTRA_PARAMS_OUT; + conxw.num_params += EXTRA_PARAMS_OUT; - if (conxw.num_params>0) - conxw.dispp=(int *)lives_malloc(conxw.num_params*sizint); + if (conxw.num_params > 0) + conxw.dispp = (int *)lives_malloc(conxw.num_params * sizint); - conxw.ntabs=0; + conxw.ntabs = 0; - if (prefs->gui_monitor==0) { - scr_width=mainw->scr_width; - scr_height=mainw->scr_height; + if (prefs->gui_monitor == 0) { + scr_width = mainw->scr_width; + scr_height = mainw->scr_height; } else { - scr_width=mainw->mgeom[prefs->gui_monitor-1].width; - scr_height=mainw->mgeom[prefs->gui_monitor-1].height; + scr_width = mainw->mgeom[prefs->gui_monitor - 1].width; + scr_height = mainw->mgeom[prefs->gui_monitor - 1].height; } - winsize_h=scr_width-SCR_WIDTH_SAFETY*2; - winsize_v=scr_height-SCR_HEIGHT_SAFETY; + winsize_h = scr_width - SCR_WIDTH_SAFETY * 2; + winsize_v = scr_height - SCR_HEIGHT_SAFETY; - conxw.conx_dialog=lives_standard_dialog_new(_("Parameter and Alpha Channel Connections"),FALSE,winsize_h,winsize_v); + conxw.conx_dialog = lives_standard_dialog_new(_("Parameter and Alpha Channel Connections"), FALSE, winsize_h, winsize_v); accel_group = LIVES_ACCEL_GROUP(lives_accel_group_new()); lives_window_add_accel_group(LIVES_WINDOW(conxw.conx_dialog), accel_group); - if (conxw.num_alpha>0) { - conxw.dispc=(int *)lives_malloc(conxw.num_alpha*sizint); + if (conxw.num_alpha > 0) { + conxw.dispc = (int *)lives_malloc(conxw.num_alpha * sizint); conxw.acbutton = lives_button_new_with_mnemonic(_("Auto Connect Channels")); lives_dialog_add_action_widget(LIVES_DIALOG(conxw.conx_dialog), conxw.acbutton, LIVES_RESPONSE_NONE); lives_container_set_border_width(LIVES_CONTAINER(conxw.acbutton), widget_opts.border_width); - lives_widget_set_sensitive(conxw.acbutton,FALSE); + lives_widget_set_sensitive(conxw.acbutton, FALSE); lives_signal_connect(LIVES_GUI_OBJECT(conxw.acbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(acbutton_clicked), @@ -4746,12 +4752,12 @@ } - if (conxw.num_params>EXTRA_PARAMS_OUT) { + if (conxw.num_params > EXTRA_PARAMS_OUT) { conxw.apbutton = lives_button_new_with_mnemonic(_("Auto Connect Parameters")); lives_dialog_add_action_widget(LIVES_DIALOG(conxw.conx_dialog), conxw.apbutton, LIVES_RESPONSE_NONE); lives_container_set_border_width(LIVES_CONTAINER(conxw.apbutton), widget_opts.border_width); - lives_widget_set_sensitive(conxw.apbutton,FALSE); + lives_widget_set_sensitive(conxw.apbutton, FALSE); lives_signal_connect(LIVES_GUI_OBJECT(conxw.apbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(apbutton_clicked), @@ -4762,14 +4768,14 @@ conxw.disconbutton = lives_button_new_with_mnemonic(_("Disconnect All")); lives_dialog_add_action_widget(LIVES_DIALOG(conxw.conx_dialog), conxw.disconbutton, LIVES_RESPONSE_NONE); //lives_container_set_border_width(LIVES_CONTAINER(conxw.disconbutton), widget_opts.border_width); !! dont - causes other buttons to exp. vert in gtk2 - lives_widget_set_sensitive(conxw.disconbutton,FALSE); + lives_widget_set_sensitive(conxw.disconbutton, FALSE); lives_signal_connect(LIVES_GUI_OBJECT(conxw.disconbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(disconbutton_clicked), (livespointer)&conxw); abox = lives_dialog_get_action_area(LIVES_DIALOG(conxw.conx_dialog)); - if (LIVES_IS_BOX(abox)&&(conxw.num_alpha>0||conxw.num_params>0)) add_fill_to_box(LIVES_BOX(abox)); + if (LIVES_IS_BOX(abox) && (conxw.num_alpha > 0 || conxw.num_params > 0)) add_fill_to_box(LIVES_BOX(abox)); cbox = lives_dialog_get_content_area(LIVES_DIALOG(conxw.conx_dialog)); @@ -4779,17 +4785,17 @@ lives_box_pack_start(LIVES_BOX(cbox), scrolledwindow, TRUE, TRUE, 0); - if (conxw.num_params>EXTRA_PARAMS_OUT) { - if (pconx_get_nconns(conxw.pconx,0)>0) lives_widget_set_sensitive(conxw.apbutton,TRUE); + if (conxw.num_params > EXTRA_PARAMS_OUT) { + if (pconx_get_nconns(conxw.pconx, 0) > 0) lives_widget_set_sensitive(conxw.apbutton, TRUE); } - if (conxw.num_alpha>0) { - if (cconx_get_nconns(conxw.cconx,0)>0) lives_widget_set_sensitive(conxw.acbutton,TRUE); + if (conxw.num_alpha > 0) { + if (cconx_get_nconns(conxw.cconx, 0) > 0) lives_widget_set_sensitive(conxw.acbutton, TRUE); } - cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL,NULL); + cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(conxw.conx_dialog), cancelbutton, LIVES_RESPONSE_CANCEL); - okbutton = lives_button_new_from_stock(LIVES_STOCK_OK,NULL); + okbutton = lives_button_new_from_stock(LIVES_STOCK_OK, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(conxw.conx_dialog), okbutton, LIVES_RESPONSE_OK); lives_widget_set_can_focus_and_default(okbutton); @@ -4811,7 +4817,7 @@ lives_widget_show_all(conxw.conx_dialog); - if (conxw.num_params==EXTRA_PARAMS_OUT&&EXTRA_PARAMS_OUT>0) { + if (conxw.num_params == EXTRA_PARAMS_OUT && EXTRA_PARAMS_OUT > 0) { lives_widget_hide(conxw.allcheckc); lives_widget_hide(conxw.allcheck_label); } @@ -4821,32 +4827,32 @@ static void do_chan_connected_error(lives_conx_w *conxwp, int key, int mode, int cnum) { - weed_plant_t *filter,*ctmpl,**ochans; - char *msg,*cname; + weed_plant_t *filter, *ctmpl, **ochans; + char *msg, *cname; int error; - filter=rte_keymode_get_filter(key+1,mode); - ochans=weed_get_plantptr_array(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES,&error); - ctmpl=ochans[cnum]; + filter = rte_keymode_get_filter(key + 1, mode); + ochans = weed_get_plantptr_array(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES, &error); + ctmpl = ochans[cnum]; lives_free(ochans); - cname=weed_get_string_value(ctmpl,WEED_LEAF_NAME,&error); - msg=lives_strdup_printf(_("Input channel is already connected from (%d,%d) %s"),key+1,mode+1,cname); - do_error_dialog_with_check_transient(msg,TRUE,0,LIVES_WINDOW(conxwp->conx_dialog)); + cname = weed_get_string_value(ctmpl, WEED_LEAF_NAME, &error); + msg = lives_strdup_printf(_("Input channel is already connected from (%d,%d) %s"), key + 1, mode + 1, cname); + do_error_dialog_with_check_transient(msg, TRUE, 0, LIVES_WINDOW(conxwp->conx_dialog)); lives_free(msg); lives_free(cname); } static void do_param_connected_error(lives_conx_w *conxwp, int key, int mode, int pnum) { - weed_plant_t *filter,*ptmpl; - char *msg,*pname; + weed_plant_t *filter, *ptmpl; + char *msg, *pname; int error; - filter=rte_keymode_get_filter(key+1,mode); - if (pnum>=0) { - ptmpl=weed_filter_out_paramtmpl(filter,pnum); - pname=weed_get_string_value(ptmpl,WEED_LEAF_NAME,&error); - } else pname=lives_strdup(_("ACTIVATED")); - msg=lives_strdup_printf(_("Input parameter is already connected from (%d,%d) %s"),key+1,mode+1,pname); - do_error_dialog_with_check_transient(msg,TRUE,0,LIVES_WINDOW(conxwp->conx_dialog)); + filter = rte_keymode_get_filter(key + 1, mode); + if (pnum >= 0) { + ptmpl = weed_filter_out_paramtmpl(filter, pnum); + pname = weed_get_string_value(ptmpl, WEED_LEAF_NAME, &error); + } else pname = lives_strdup(_("ACTIVATED")); + msg = lives_strdup_printf(_("Input parameter is already connected from (%d,%d) %s"), key + 1, mode + 1, pname); + do_error_dialog_with_check_transient(msg, TRUE, 0, LIVES_WINDOW(conxwp->conx_dialog)); lives_free(msg); lives_free(pname); } @@ -4854,6 +4860,6 @@ static void do_param_incompatible_error(lives_conx_w *conxwp) { - do_error_dialog_with_check_transient(_("Input and output parameters are not compatible"),TRUE,0,LIVES_WINDOW(conxwp->conx_dialog)); + do_error_dialog_with_check_transient(_("Input and output parameters are not compatible"), TRUE, 0, LIVES_WINDOW(conxwp->conx_dialog)); }
View file
LiVES-2.8.4.tar.bz2/src/effects-data.h -> LiVES-2.8.6.tar.bz2/src/effects-data.h
Changed
@@ -44,7 +44,6 @@ boolean *autoscale; lives_pconnect_t *next; - }; @@ -100,7 +99,6 @@ int *icnum; lives_cconnect_t *next; - }; @@ -177,7 +175,6 @@ ulong *dpc_func; ulong *dpp_func; ulong *acheck_func; - } lives_conx_w;
View file
LiVES-2.8.4.tar.bz2/src/effects-weed.c -> LiVES-2.8.6.tar.bz2/src/effects-weed.c
Changed
@@ -1,10 +1,9 @@ // effects-weed.c // LiVES (lives-exe) -// (c) G. Finch 2005 - 2016 (salsaman@gmail.com) +// (c) G. Finch 2005 - 2017 (salsaman+lives@gmail.com) // Released under the GPL 3 or later // see file ../COPYING for licensing details - #include <dlfcn.h> #if HAVE_SYSTEM_WEED @@ -42,41 +41,38 @@ //////////////////////////////////////////////////////////////////////// - struct _procvals { weed_plant_t *inst; weed_timecode_t tc; int ret; }; - - #define OIL_MEMCPY_MAX_BYTES 1024 // this can be tuned to provide optimal performance #ifdef ENABLE_ORC livespointer lives_memcpy(livespointer dest, livesconstpointer src, size_t n) { #ifndef __cplusplus - if (n>=32&&n<=OIL_MEMCPY_MAX_BYTES) { - orc_memcpy((uint8_t *)dest,(const uint8_t *)src,n); + if (n >= 32 && n <= OIL_MEMCPY_MAX_BYTES) { + orc_memcpy((uint8_t *)dest, (const uint8_t *)src, n); return dest; } #endif - return memcpy(dest,src,n); + return memcpy(dest, src, n); } #else #ifdef ENABLE_OIL livespointer lives_memcpy(livespointer dest, livesconstpointer src, size_t n) { #ifndef __cplusplus - if (n>=32&&n<=OIL_MEMCPY_MAX_BYTES) { - oil_memcpy((uint8_t *)dest,(const uint8_t *)src,n); + if (n >= 32 && n <= OIL_MEMCPY_MAX_BYTES) { + oil_memcpy((uint8_t *)dest, (const uint8_t *)src, n); return dest; } #endif - return memcpy(dest,src,n); + return memcpy(dest, src, n); } #else livespointer lives_memcpy(livespointer dest, livesconstpointer src, size_t n) { - return memcpy(dest,src,n); + return memcpy(dest, src, n); } #endif #endif @@ -97,14 +93,14 @@ livespointer nptr = _lives_malloc(new_size); if (nptr) { if (ptr) { - lives_memcpy(nptr,ptr,new_size); + lives_memcpy(nptr, ptr, new_size); lives_free(ptr); } } return nptr; #endif #endif - return realloc(ptr,new_size); + return realloc(ptr, new_size); } @@ -121,26 +117,28 @@ void filter_mutex_lock(int key) { // lock a filter before setting the WEED_LEAF_VALUE of in_parameter or reading the WEED_LEAF_VALUE of an out_parameter - if (key>=0&&key<FX_KEYS_MAX) pthread_mutex_lock(&mainw->data_mutex[key]); + if (key >= 0 && key < FX_KEYS_MAX) pthread_mutex_lock(&mainw->data_mutex[key]); //g_print ("lock %d\n",key); } + void filter_mutex_unlock(int key) { - if (key>=0&&key<FX_KEYS_MAX) pthread_mutex_unlock(&mainw->data_mutex[key]); + if (key >= 0 && key < FX_KEYS_MAX) pthread_mutex_unlock(&mainw->data_mutex[key]); //g_print ("unlock %d\n",key); } livespointer lives_memset(livespointer s, int c, size_t n) { - return memset(s,c,n); + return memset(s, c, n); } + #ifdef GUI_GTK livespointer lives_calloc(size_t nmemb, size_t size) { -#if GTK_CHECK_VERSION(2,24,0) - return lives_try_malloc0_n(nmemb,size); +#if GTK_CHECK_VERSION(2, 24, 0) + return lives_try_malloc0_n(nmemb, size); #endif - return calloc(nmemb,size); + return calloc(nmemb, size); } #endif @@ -148,13 +146,13 @@ //////////////////////////////////////////////////////////////////////////// void weed_add_plant_flags(weed_plant_t *plant, int flags) { - char **leaves=weed_plant_list_leaves(plant); - int i,currflags; + char **leaves = weed_plant_list_leaves(plant); + int i, currflags; - for (i=0; leaves[i]!=NULL; i++) { - currflags=flags; - if (flags&WEED_LEAF_READONLY_PLUGIN&&(!strncmp(leaves[i],"plugin_",7))) currflags^=WEED_LEAF_READONLY_PLUGIN; - weed_leaf_set_flags(plant,leaves[i],weed_leaf_get_flags(plant,leaves[i])|currflags); + for (i = 0; leaves[i] != NULL; i++) { + currflags = flags; + if (flags & WEED_LEAF_READONLY_PLUGIN && (!strncmp(leaves[i], "plugin_", 7))) currflags ^= WEED_LEAF_READONLY_PLUGIN; + weed_leaf_set_flags(plant, leaves[i], weed_leaf_get_flags(plant, leaves[i]) | currflags); lives_free(leaves[i]); } lives_free(leaves); @@ -162,11 +160,11 @@ static void weed_clear_plant_flags(weed_plant_t *plant, int flags) { - char **leaves=weed_plant_list_leaves(plant); + char **leaves = weed_plant_list_leaves(plant); int i; - for (i=0; leaves[i]!=NULL; i++) { - weed_leaf_set_flags(plant,leaves[i],(weed_leaf_get_flags(plant,leaves[i])|flags)^flags); + for (i = 0; leaves[i] != NULL; i++) { + weed_leaf_set_flags(plant, leaves[i], (weed_leaf_get_flags(plant, leaves[i]) | flags)^flags); lives_free(leaves[i]); } lives_free(leaves); @@ -174,14 +172,14 @@ static int match_highest_version(int *hostv, int hostn, int *plugv, int plugn) { - int hmatch=0; - int i,j; + int hmatch = 0; + int i, j; - for (i=0; i<plugn; i++) { - for (j=0; j<hostn; j++) { - if (hostv[j]>plugv[i]) break; - if (hostv[j]==plugv[i]&&plugv[i]>hmatch) { - hmatch=plugv[i]; + for (i = 0; i < plugn; i++) { + for (j = 0; j < hostn; j++) { + if (hostv[j] > plugv[i]) break; + if (hostv[j] == plugv[i] && plugv[i] > hmatch) { + hmatch = plugv[i]; break; } } @@ -207,56 +205,56 @@ weed_plant_t *weed_bootstrap_func(weed_default_getter_f *value, int num_versions, int *plugin_versions) { - int host_api_versions_supported[]= {131}; // must be ordered in ascending order + int host_api_versions_supported[] = {131}; // must be ordered in ascending order int host_api_version; - weed_plant_t *host_info=weed_plant_new(WEED_PLANT_HOST_INFO); + weed_plant_t *host_info = weed_plant_new(WEED_PLANT_HOST_INFO); // these functions are defined in weed-host.h and set in weed_init() - wdg=weed_default_get; + wdg = weed_default_get; - wlg=weed_leaf_get; - wpn=weed_plant_new; - wpll=weed_plant_list_leaves; - wlne=weed_leaf_num_elements; - wles=weed_leaf_element_size; - wlst=weed_leaf_seed_type; - wlgf=weed_leaf_get_flags; - - wlsp=weed_leaf_set_plugin; // we pass the plugin's version to the plugin - an example of overloading with Weed - weedmalloc=weed_malloc; - weedfree=weed_free; + wlg = weed_leaf_get; + wpn = weed_plant_new; + wpll = weed_plant_list_leaves; + wlne = weed_leaf_num_elements; + wles = weed_leaf_element_size; + wlst = weed_leaf_seed_type; + wlgf = weed_leaf_get_flags; + + wlsp = weed_leaf_set_plugin; // we pass the plugin's version to the plugin - an example of overloading with Weed + weedmalloc = weed_malloc; + weedfree = weed_free; - weedmemcpy=weed_memcpy; - weedmemset=weed_memset; + weedmemcpy = weed_memcpy; + weedmemset = weed_memset; - if (num_versions<1) return NULL; - if ((host_api_version=match_highest_version(host_api_versions_supported,1,plugin_versions,num_versions))==0) return NULL; + if (num_versions < 1) return NULL; + if ((host_api_version = match_highest_version(host_api_versions_supported, 1, plugin_versions, num_versions)) == 0) return NULL; switch (host_api_version) { case 100: case 110: case 120: case 130: case 131: - value[0]=wdg; // bootstrap weed_default_get (the plugin's default_getter) + value[0] = wdg; // bootstrap weed_default_get (the plugin's default_getter) - weed_set_int_value(host_info,"api_version",host_api_version); + weed_set_int_value(host_info, "api_version", host_api_version); // here we set (void *)&fn_ptr - weed_set_voidptr_value(host_info,"weed_leaf_get_func",&wlg); - weed_set_voidptr_value(host_info,"weed_leaf_set_func",&wlsp); - weed_set_voidptr_value(host_info,"weed_plant_new_func",&wpn); - weed_set_voidptr_value(host_info,"weed_plant_list_leaves_func",&wpll); - weed_set_voidptr_value(host_info,"weed_leaf_num_elements_func",&wlne); - weed_set_voidptr_value(host_info,"weed_leaf_element_size_func",&wles); - weed_set_voidptr_value(host_info,"weed_leaf_seed_type_func",&wlst); - weed_set_voidptr_value(host_info,"weed_leaf_get_flags_func",&wlgf); - weed_set_voidptr_value(host_info,"weed_malloc_func",&weedmalloc); - weed_set_voidptr_value(host_info,"weed_free_func",&weedfree); - weed_set_voidptr_value(host_info,"weed_memset_func",&weedmemset); - weed_set_voidptr_value(host_info,"weed_memcpy_func",&weedmemcpy); + weed_set_voidptr_value(host_info, "weed_leaf_get_func", &wlg); + weed_set_voidptr_value(host_info, "weed_leaf_set_func", &wlsp); + weed_set_voidptr_value(host_info, "weed_plant_new_func", &wpn); + weed_set_voidptr_value(host_info, "weed_plant_list_leaves_func", &wpll); + weed_set_voidptr_value(host_info, "weed_leaf_num_elements_func", &wlne); + weed_set_voidptr_value(host_info, "weed_leaf_element_size_func", &wles); + weed_set_voidptr_value(host_info, "weed_leaf_seed_type_func", &wlst); + weed_set_voidptr_value(host_info, "weed_leaf_get_flags_func", &wlgf); + weed_set_voidptr_value(host_info, "weed_malloc_func", &weedmalloc); + weed_set_voidptr_value(host_info, "weed_free_func", &weedfree); + weed_set_voidptr_value(host_info, "weed_memset_func", &weedmemset); + weed_set_voidptr_value(host_info, "weed_memcpy_func", &weedmemcpy); - weed_add_plant_flags(host_info,WEED_LEAF_READONLY_PLUGIN); + weed_add_plant_flags(host_info, WEED_LEAF_READONLY_PLUGIN); break; default: return NULL; @@ -270,29 +268,26 @@ int num_compound_fx(weed_plant_t *plant) { weed_plant_t *filter; - if (WEED_PLANT_IS_FILTER_INSTANCE(plant)) filter=weed_instance_get_filter(plant,TRUE); - else filter=plant; - - if (!weed_plant_has_leaf(filter,WEED_LEAF_HOST_FILTER_LIST)) return 1; - return weed_leaf_num_elements(filter,WEED_LEAF_HOST_FILTER_LIST); + if (WEED_PLANT_IS_FILTER_INSTANCE(plant)) filter = weed_instance_get_filter(plant, TRUE); + else filter = plant; + if (!weed_plant_has_leaf(filter, WEED_LEAF_HOST_FILTER_LIST)) return 1; + return weed_leaf_num_elements(filter, WEED_LEAF_HOST_FILTER_LIST); } - - boolean has_non_alpha_palette(weed_plant_t *ctmpl) { int *plist; int error; - int npals=0; + int npals = 0; register int i; - if (!weed_plant_has_leaf(ctmpl,WEED_LEAF_PALETTE_LIST)) return TRUE; ///< most probably audio - npals=weed_leaf_num_elements(ctmpl,WEED_LEAF_PALETTE_LIST); + if (!weed_plant_has_leaf(ctmpl, WEED_LEAF_PALETTE_LIST)) return TRUE; ///< most probably audio + npals = weed_leaf_num_elements(ctmpl, WEED_LEAF_PALETTE_LIST); - plist=weed_get_int_array(ctmpl,WEED_LEAF_PALETTE_LIST,&error); - for (i=0; i<npals; i++) { + plist = weed_get_int_array(ctmpl, WEED_LEAF_PALETTE_LIST, &error); + for (i = 0; i < npals; i++) { if (!weed_palette_is_alpha_palette(plist[i])) { lives_free(plist); return TRUE; @@ -306,15 +301,15 @@ boolean has_alpha_palette(weed_plant_t *ctmpl) { int *plist; int error; - int npals=0; + int npals = 0; register int i; - if (!weed_plant_has_leaf(ctmpl,WEED_LEAF_PALETTE_LIST)) return TRUE; ///< most probably audio - npals=weed_leaf_num_elements(ctmpl,WEED_LEAF_PALETTE_LIST); + if (!weed_plant_has_leaf(ctmpl, WEED_LEAF_PALETTE_LIST)) return TRUE; ///< most probably audio + npals = weed_leaf_num_elements(ctmpl, WEED_LEAF_PALETTE_LIST); - plist=weed_get_int_array(ctmpl,WEED_LEAF_PALETTE_LIST,&error); - for (i=0; i<npals; i++) { + plist = weed_get_int_array(ctmpl, WEED_LEAF_PALETTE_LIST, &error); + for (i = 0; i < npals; i++) { if (weed_palette_is_alpha_palette(plist[i])) { lives_free(plist); return TRUE; @@ -327,13 +322,12 @@ weed_plant_t *weed_instance_get_filter(weed_plant_t *inst, boolean get_compound_parent) { int error; - if (get_compound_parent&& - (weed_plant_has_leaf(inst,WEED_LEAF_HOST_COMPOUND_CLASS))) return weed_get_plantptr_value(inst,WEED_LEAF_HOST_COMPOUND_CLASS,&error); - return weed_get_plantptr_value(inst,WEED_LEAF_FILTER_CLASS,&error); + if (get_compound_parent && + (weed_plant_has_leaf(inst, WEED_LEAF_HOST_COMPOUND_CLASS))) return weed_get_plantptr_value(inst, WEED_LEAF_HOST_COMPOUND_CLASS, &error); + return weed_get_plantptr_value(inst, WEED_LEAF_FILTER_CLASS, &error); } - char *weed_error_to_text(int error) { // value should be freed after use @@ -361,21 +355,20 @@ } return lives_strdup(_("No error")); - } -static boolean all_outs_alpha(weed_plant_t *filt,boolean ign_opt) { +static boolean all_outs_alpha(weed_plant_t *filt, boolean ign_opt) { // check (mandatory) output chans, see if any are non-alpha int error; register int i; - if (weed_plant_has_leaf(filt,WEED_LEAF_OUT_CHANNEL_TEMPLATES)) { - int nouts=weed_leaf_num_elements(filt,WEED_LEAF_OUT_CHANNEL_TEMPLATES); - if (nouts>0) { - weed_plant_t **ctmpls=weed_get_plantptr_array(filt,WEED_LEAF_OUT_CHANNEL_TEMPLATES,&error); - for (i=0; i<nouts; i++) { - if (ign_opt&&weed_plant_has_leaf(ctmpls[i],WEED_LEAF_OPTIONAL)&& - weed_get_boolean_value(ctmpls[i],WEED_LEAF_OPTIONAL,&error)==WEED_TRUE) continue; ///< ignore optional channels + if (weed_plant_has_leaf(filt, WEED_LEAF_OUT_CHANNEL_TEMPLATES)) { + int nouts = weed_leaf_num_elements(filt, WEED_LEAF_OUT_CHANNEL_TEMPLATES); + if (nouts > 0) { + weed_plant_t **ctmpls = weed_get_plantptr_array(filt, WEED_LEAF_OUT_CHANNEL_TEMPLATES, &error); + for (i = 0; i < nouts; i++) { + if (ign_opt && weed_plant_has_leaf(ctmpls[i], WEED_LEAF_OPTIONAL) && + weed_get_boolean_value(ctmpls[i], WEED_LEAF_OPTIONAL, &error) == WEED_TRUE) continue; ///< ignore optional channels if (has_non_alpha_palette(ctmpls[i])) { lives_free(ctmpls); return FALSE; @@ -389,27 +382,27 @@ } -static boolean all_ins_alpha(weed_plant_t *filt,boolean ign_opt) { +static boolean all_ins_alpha(weed_plant_t *filt, boolean ign_opt) { // check mandatory input chans, see if any are non-alpha // if there are no mandatory inputs, we check optional (even if ign_opt is TRUE) - boolean has_mandatory_in=FALSE; + boolean has_mandatory_in = FALSE; int error; register int i; - if (weed_plant_has_leaf(filt,WEED_LEAF_IN_CHANNEL_TEMPLATES)) { - int nins=weed_leaf_num_elements(filt,WEED_LEAF_IN_CHANNEL_TEMPLATES); - if (nins>0) { - weed_plant_t **ctmpls=weed_get_plantptr_array(filt,WEED_LEAF_IN_CHANNEL_TEMPLATES,&error); - for (i=0; i<nins; i++) { - if (ign_opt&&weed_plant_has_leaf(ctmpls[i],WEED_LEAF_OPTIONAL)&& - weed_get_boolean_value(ctmpls[i],WEED_LEAF_OPTIONAL,&error)==WEED_TRUE) continue; ///< ignore optional channels - has_mandatory_in=TRUE; + if (weed_plant_has_leaf(filt, WEED_LEAF_IN_CHANNEL_TEMPLATES)) { + int nins = weed_leaf_num_elements(filt, WEED_LEAF_IN_CHANNEL_TEMPLATES); + if (nins > 0) { + weed_plant_t **ctmpls = weed_get_plantptr_array(filt, WEED_LEAF_IN_CHANNEL_TEMPLATES, &error); + for (i = 0; i < nins; i++) { + if (ign_opt && weed_plant_has_leaf(ctmpls[i], WEED_LEAF_OPTIONAL) && + weed_get_boolean_value(ctmpls[i], WEED_LEAF_OPTIONAL, &error) == WEED_TRUE) continue; ///< ignore optional channels + has_mandatory_in = TRUE; if (has_non_alpha_palette(ctmpls[i])) { lives_free(ctmpls); return FALSE; } } if (!has_mandatory_in) { - for (i=0; i<nins; i++) { + for (i = 0; i < nins; i++) { if (has_non_alpha_palette(ctmpls[i])) { lives_free(ctmpls); return FALSE; @@ -424,75 +417,75 @@ } - lives_fx_cat_t weed_filter_categorise(weed_plant_t *pl, int in_channels, int out_channels) { - weed_plant_t *filt=pl; + weed_plant_t *filt = pl; - boolean has_out_params=FALSE; - boolean has_in_params=FALSE; - boolean all_out_alpha=TRUE; - boolean all_in_alpha=TRUE; - boolean has_in_alpha=FALSE; - - int filter_flags,error; - - if (WEED_PLANT_IS_FILTER_INSTANCE(pl)) filt=weed_instance_get_filter(pl,TRUE); - - all_out_alpha=all_outs_alpha(filt,TRUE); - all_in_alpha=all_ins_alpha(filt,TRUE); - - filter_flags=weed_get_int_value(filt,WEED_LEAF_FLAGS,&error); - if (weed_plant_has_leaf(filt,WEED_LEAF_OUT_PARAMETER_TEMPLATES)) has_out_params=TRUE; - if (weed_plant_has_leaf(filt,WEED_LEAF_IN_PARAMETER_TEMPLATES)) has_in_params=TRUE; - if (filter_flags&WEED_FILTER_IS_CONVERTER) return LIVES_FX_CAT_CONVERTER; - if (in_channels==0&&out_channels>0&&all_out_alpha) return LIVES_FX_CAT_DATA_GENERATOR; - if (in_channels==0&&out_channels>0) { - if (!has_audio_chans_out(filt,TRUE)) return LIVES_FX_CAT_VIDEO_GENERATOR; - else if (has_video_chans_out(filt,TRUE)) return LIVES_FX_CAT_AV_GENERATOR; + boolean has_out_params = FALSE; + boolean has_in_params = FALSE; + boolean all_out_alpha = TRUE; + boolean all_in_alpha = TRUE; + boolean has_in_alpha = FALSE; + + int filter_flags, error; + + if (WEED_PLANT_IS_FILTER_INSTANCE(pl)) filt = weed_instance_get_filter(pl, TRUE); + + all_out_alpha = all_outs_alpha(filt, TRUE); + all_in_alpha = all_ins_alpha(filt, TRUE); + + filter_flags = weed_get_int_value(filt, WEED_LEAF_FLAGS, &error); + if (weed_plant_has_leaf(filt, WEED_LEAF_OUT_PARAMETER_TEMPLATES)) has_out_params = TRUE; + if (weed_plant_has_leaf(filt, WEED_LEAF_IN_PARAMETER_TEMPLATES)) has_in_params = TRUE; + if (filter_flags & WEED_FILTER_IS_CONVERTER) return LIVES_FX_CAT_CONVERTER; + if (in_channels == 0 && out_channels > 0 && all_out_alpha) return LIVES_FX_CAT_DATA_GENERATOR; + if (in_channels == 0 && out_channels > 0) { + if (!has_audio_chans_out(filt, TRUE)) return LIVES_FX_CAT_VIDEO_GENERATOR; + else if (has_video_chans_out(filt, TRUE)) return LIVES_FX_CAT_AV_GENERATOR; else return LIVES_FX_CAT_AUDIO_GENERATOR; } - if (out_channels>=1&&in_channels>=1&&(all_in_alpha||has_in_alpha)&&!all_out_alpha) return LIVES_FX_CAT_DATA_VISUALISER; - if (out_channels>=1&&all_out_alpha) return LIVES_FX_CAT_ANALYSER; - if (out_channels>1) return LIVES_FX_CAT_SPLITTER; + if (out_channels >= 1 && in_channels >= 1 && (all_in_alpha || has_in_alpha) && !all_out_alpha) return LIVES_FX_CAT_DATA_VISUALISER; + if (out_channels >= 1 && all_out_alpha) return LIVES_FX_CAT_ANALYSER; + if (out_channels > 1) return LIVES_FX_CAT_SPLITTER; - if (in_channels>2&&out_channels==1) { + if (in_channels > 2 && out_channels == 1) { return LIVES_FX_CAT_COMPOSITOR; } - if (in_channels==2&&out_channels==1) return LIVES_FX_CAT_TRANSITION; - if (in_channels==1&&out_channels==1&&!(has_video_chans_in(filt,TRUE))&&!(has_video_chans_out(filt,TRUE))) return LIVES_FX_CAT_AUDIO_EFFECT; - if (in_channels==1&&out_channels==1) return LIVES_FX_CAT_EFFECT; - if (in_channels>0&&out_channels==0&&has_out_params) return LIVES_FX_CAT_ANALYSER; - if (in_channels>0&&out_channels==0) return LIVES_FX_CAT_TAP; - if (in_channels==0&&out_channels==0&&has_out_params&&has_in_params) return LIVES_FX_CAT_DATA_PROCESSOR; - if (in_channels==0&&out_channels==0&&has_out_params) return LIVES_FX_CAT_DATA_SOURCE; - if (in_channels==0&&out_channels==0) return LIVES_FX_CAT_UTILITY; + if (in_channels == 2 && out_channels == 1) return LIVES_FX_CAT_TRANSITION; + if (in_channels == 1 && out_channels == 1 && !(has_video_chans_in(filt, TRUE)) && + !(has_video_chans_out(filt, TRUE))) return LIVES_FX_CAT_AUDIO_EFFECT; + if (in_channels == 1 && out_channels == 1) return LIVES_FX_CAT_EFFECT; + if (in_channels > 0 && out_channels == 0 && has_out_params) return LIVES_FX_CAT_ANALYSER; + if (in_channels > 0 && out_channels == 0) return LIVES_FX_CAT_TAP; + if (in_channels == 0 && out_channels == 0 && has_out_params && has_in_params) return LIVES_FX_CAT_DATA_PROCESSOR; + if (in_channels == 0 && out_channels == 0 && has_out_params) return LIVES_FX_CAT_DATA_SOURCE; + if (in_channels == 0 && out_channels == 0) return LIVES_FX_CAT_UTILITY; return LIVES_FX_CAT_NONE; } lives_fx_cat_t weed_filter_subcategorise(weed_plant_t *pl, lives_fx_cat_t category, boolean count_opt) { - weed_plant_t *filt=pl; + weed_plant_t *filt = pl; boolean has_video_chansi; - if (WEED_PLANT_IS_FILTER_INSTANCE(pl)) filt=weed_instance_get_filter(pl,TRUE); + if (WEED_PLANT_IS_FILTER_INSTANCE(pl)) filt = weed_instance_get_filter(pl, TRUE); - if (category==LIVES_FX_CAT_COMPOSITOR) count_opt=TRUE; + if (category == LIVES_FX_CAT_COMPOSITOR) count_opt = TRUE; - has_video_chansi=has_video_chans_in(filt,count_opt); + has_video_chansi = has_video_chans_in(filt, count_opt); - if (category==LIVES_FX_CAT_TRANSITION) { - if (get_transition_param(filt,FALSE)!=-1) { + if (category == LIVES_FX_CAT_TRANSITION) { + if (get_transition_param(filt, FALSE) != -1) { if (!has_video_chansi) return LIVES_FX_CAT_AUDIO_TRANSITION; return LIVES_FX_CAT_AV_TRANSITION; } return LIVES_FX_CAT_VIDEO_TRANSITION; } - if (category==LIVES_FX_CAT_COMPOSITOR&&!has_video_chansi) return LIVES_FX_CAT_AUDIO_MIXER; - if (category==LIVES_FX_CAT_EFFECT&&!has_video_chansi) return LIVES_FX_CAT_AUDIO_EFFECT; - if (category==LIVES_FX_CAT_CONVERTER&&!has_video_chansi) return LIVES_FX_CAT_AUDIO_VOL; + if (category == LIVES_FX_CAT_COMPOSITOR && !has_video_chansi) return LIVES_FX_CAT_AUDIO_MIXER; + if (category == LIVES_FX_CAT_EFFECT && !has_video_chansi) return LIVES_FX_CAT_AUDIO_EFFECT; + if (category == LIVES_FX_CAT_CONVERTER && !has_video_chansi) return LIVES_FX_CAT_AUDIO_VOL; - if (category==LIVES_FX_CAT_ANALYSER) { + if (category == LIVES_FX_CAT_ANALYSER) { if (!has_video_chansi) return LIVES_FX_CAT_AUDIO_ANALYSER; return LIVES_FX_CAT_VIDEO_ANALYSER; } @@ -518,42 +511,41 @@ } } + int num_alpha_channels(weed_plant_t *filter, boolean out) { // get number of alpha channels (in or out) for filter; including optional weed_plant_t **ctmpls; - int count=0; - int nchans,error; + int count = 0; + int nchans, error; register int i; if (out) { - if (!weed_plant_has_leaf(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES)) return FALSE; - nchans=weed_leaf_num_elements(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES); - if (nchans==0) return FALSE; - ctmpls=weed_get_plantptr_array(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES,&error); - for (i=0; i<nchans; i++) { + if (!weed_plant_has_leaf(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES)) return FALSE; + nchans = weed_leaf_num_elements(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES); + if (nchans == 0) return FALSE; + ctmpls = weed_get_plantptr_array(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES, &error); + for (i = 0; i < nchans; i++) { if (has_non_alpha_palette(ctmpls[i])) continue; count++; } } else { - if (!weed_plant_has_leaf(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES)) return FALSE; - nchans=weed_leaf_num_elements(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES); - if (nchans==0) return FALSE; - ctmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES,&error); - for (i=0; i<nchans; i++) { + if (!weed_plant_has_leaf(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES)) return FALSE; + nchans = weed_leaf_num_elements(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES); + if (nchans == 0) return FALSE; + ctmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES, &error); + for (i = 0; i < nchans; i++) { if (has_non_alpha_palette(ctmpls[i])) continue; count++; } } lives_free(ctmpls); return count; - } - //////////////////////////////////////////////////////////////////////// #define MAX_WEED_INSTANCES 65536 @@ -574,7 +566,6 @@ // store the clip, this can sometimes get lost static int fg_generator_clip; - ////////////////////////////////////////////////////////////////////// static weed_plant_t **weed_filters; // array of filter_classes @@ -600,7 +591,7 @@ static weed_plant_t *init_events[FX_KEYS_MAX_VIRTUAL]; static void **pchains[FX_KEYS_MAX]; // parameter changes, used during recording (not for rendering) -static void *filter_map[FX_KEYS_MAX+2]; +static void *filter_map[FX_KEYS_MAX + 2]; static int next_free_key; //////////////////////////////////////////////////////////////////// @@ -612,9 +603,9 @@ // thus we backup our rendering instances, apply the current frame instances, and then restore the rendering instances register int i; - for (i=FX_KEYS_MAX_VIRTUAL; i<FX_KEYS_MAX; i++) { - key_to_instance_copy[i][0]=key_to_instance[i][0]; - key_to_instance[i][0]=NULL; + for (i = FX_KEYS_MAX_VIRTUAL; i < FX_KEYS_MAX; i++) { + key_to_instance_copy[i][0] = key_to_instance[i][0]; + key_to_instance[i][0] = NULL; } } @@ -622,71 +613,70 @@ void restore_weed_instances(void) { register int i; - for (i=FX_KEYS_MAX_VIRTUAL; i<FX_KEYS_MAX; i++) { - key_to_instance[i][0]=key_to_instance_copy[i][0]; + for (i = FX_KEYS_MAX_VIRTUAL; i < FX_KEYS_MAX; i++) { + key_to_instance[i][0] = key_to_instance_copy[i][0]; } } - LIVES_INLINE int step_val(int val, int step) { - int ret=(int)(val/step+.5)*step; - return ret==0?step:ret; + int ret = (int)(val / step + .5) * step; + return ret == 0 ? step : ret; } static char *weed_filter_get_type(weed_plant_t *filter, boolean getsub, boolean format) { // return value should be lives_free'd after use - char *tmp1,*tmp2,*ret; - lives_fx_cat_t cat=weed_filter_categorise(filter, - enabled_in_channels(filter,TRUE), - enabled_out_channels(filter,TRUE)); + char *tmp1, *tmp2, *ret; + lives_fx_cat_t cat = weed_filter_categorise(filter, + enabled_in_channels(filter, TRUE), + enabled_out_channels(filter, TRUE)); - lives_fx_cat_t sub=weed_filter_subcategorise(filter,cat,FALSE); + lives_fx_cat_t sub = weed_filter_subcategorise(filter, cat, FALSE); - if (!getsub||sub==LIVES_FX_CAT_NONE) - return lives_fx_cat_to_text(cat,FALSE); + if (!getsub || sub == LIVES_FX_CAT_NONE) + return lives_fx_cat_to_text(cat, FALSE); - tmp1=lives_fx_cat_to_text(cat,FALSE); - tmp2=lives_fx_cat_to_text(sub,FALSE); + tmp1 = lives_fx_cat_to_text(cat, FALSE); + tmp2 = lives_fx_cat_to_text(sub, FALSE); - if (format) ret=lives_strdup_printf("%s (%s)",tmp1,tmp2); + if (format) ret = lives_strdup_printf("%s (%s)", tmp1, tmp2); else { - if (cat==LIVES_FX_CAT_TRANSITION) ret=lives_strdup_printf("%s - %s",tmp1,tmp2); - else ret=lives_strdup_printf("%s",tmp2); + if (cat == LIVES_FX_CAT_TRANSITION) ret = lives_strdup_printf("%s - %s", tmp1, tmp2); + else ret = lives_strdup_printf("%s", tmp2); } lives_free(tmp1); lives_free(tmp2); return ret; - } + void update_host_info(weed_plant_t *inst) { // set "host_audio_plugin" in the host_info int error; - weed_plant_t *filter,*pinfo,*hinfo; + weed_plant_t *filter, *pinfo, *hinfo; - filter=weed_instance_get_filter(inst,FALSE); - pinfo=weed_get_plantptr_value(filter,WEED_LEAF_PLUGIN_INFO,&error); - hinfo=weed_get_plantptr_value(pinfo,WEED_LEAF_HOST_INFO,&error); + filter = weed_instance_get_filter(inst, FALSE); + pinfo = weed_get_plantptr_value(filter, WEED_LEAF_PLUGIN_INFO, &error); + hinfo = weed_get_plantptr_value(pinfo, WEED_LEAF_HOST_INFO, &error); switch (prefs->audio_player) { case AUD_PLAYER_MPLAYER: - weed_set_string_value(hinfo,WEED_LEAF_HOST_AUDIO_PLAYER,AUDIO_PLAYER_MPLAYER); + weed_set_string_value(hinfo, WEED_LEAF_HOST_AUDIO_PLAYER, AUDIO_PLAYER_MPLAYER); break; case AUD_PLAYER_MPLAYER2: - weed_set_string_value(hinfo,WEED_LEAF_HOST_AUDIO_PLAYER,AUDIO_PLAYER_MPLAYER2); + weed_set_string_value(hinfo, WEED_LEAF_HOST_AUDIO_PLAYER, AUDIO_PLAYER_MPLAYER2); break; case AUD_PLAYER_SOX: - weed_set_string_value(hinfo,WEED_LEAF_HOST_AUDIO_PLAYER,AUDIO_PLAYER_SOX); + weed_set_string_value(hinfo, WEED_LEAF_HOST_AUDIO_PLAYER, AUDIO_PLAYER_SOX); break; case AUD_PLAYER_JACK: - weed_set_string_value(hinfo,WEED_LEAF_HOST_AUDIO_PLAYER,AUDIO_PLAYER_JACK); + weed_set_string_value(hinfo, WEED_LEAF_HOST_AUDIO_PLAYER, AUDIO_PLAYER_JACK); break; case AUD_PLAYER_PULSE: - weed_set_string_value(hinfo,WEED_LEAF_HOST_AUDIO_PLAYER,"pulseaudio"); + weed_set_string_value(hinfo, WEED_LEAF_HOST_AUDIO_PLAYER, "pulseaudio"); break; } } @@ -696,41 +686,42 @@ // plant is a filter_instance // "which" starts at 0 weed_plant_t **channels; - weed_plant_t *retval,*ctmpl=NULL; + weed_plant_t *retval, *ctmpl = NULL; - int error,nchans=3; + int error, nchans = 3; - register int i=0; + register int i = 0; if (!WEED_PLANT_IS_FILTER_INSTANCE(inst)) return NULL; if (is_in) { - if (!weed_plant_has_leaf(inst,WEED_LEAF_IN_CHANNELS)) return NULL; - channels=weed_get_plantptr_array(inst,WEED_LEAF_IN_CHANNELS,&error); - nchans=weed_leaf_num_elements(inst,WEED_LEAF_IN_CHANNELS); + if (!weed_plant_has_leaf(inst, WEED_LEAF_IN_CHANNELS)) return NULL; + channels = weed_get_plantptr_array(inst, WEED_LEAF_IN_CHANNELS, &error); + nchans = weed_leaf_num_elements(inst, WEED_LEAF_IN_CHANNELS); } else { - if (!weed_plant_has_leaf(inst,WEED_LEAF_OUT_CHANNELS)) return NULL; - channels=weed_get_plantptr_array(inst,WEED_LEAF_OUT_CHANNELS,&error); - nchans=weed_leaf_num_elements(inst,WEED_LEAF_OUT_CHANNELS); + if (!weed_plant_has_leaf(inst, WEED_LEAF_OUT_CHANNELS)) return NULL; + channels = weed_get_plantptr_array(inst, WEED_LEAF_OUT_CHANNELS, &error); + nchans = weed_leaf_num_elements(inst, WEED_LEAF_OUT_CHANNELS); } - if (channels==NULL||nchans==0) return NULL; + if (channels == NULL || nchans == 0) return NULL; while (1) { - if (!weed_plant_has_leaf(channels[i],WEED_LEAF_DISABLED)||weed_get_boolean_value(channels[i],WEED_LEAF_DISABLED,&error)==WEED_FALSE) { - if (audio_only) ctmpl=weed_get_plantptr_value(channels[i],WEED_LEAF_TEMPLATE,&error); - if (!audio_only||(audio_only&&weed_plant_has_leaf(ctmpl,WEED_LEAF_IS_AUDIO)&& - weed_get_boolean_value(ctmpl,WEED_LEAF_IS_AUDIO,&error)==WEED_TRUE)) { + if (!weed_plant_has_leaf(channels[i], WEED_LEAF_DISABLED) || + weed_get_boolean_value(channels[i], WEED_LEAF_DISABLED, &error) == WEED_FALSE) { + if (audio_only) ctmpl = weed_get_plantptr_value(channels[i], WEED_LEAF_TEMPLATE, &error); + if (!audio_only || (audio_only && weed_plant_has_leaf(ctmpl, WEED_LEAF_IS_AUDIO) && + weed_get_boolean_value(ctmpl, WEED_LEAF_IS_AUDIO, &error) == WEED_TRUE)) { which--; } } - if (which<0) break; - if (++i>=nchans) { + if (which < 0) break; + if (++i >= nchans) { lives_free(channels); return NULL; } } - retval=channels[i]; + retval = channels[i]; lives_free(channels); return retval; } @@ -738,34 +729,34 @@ weed_plant_t *get_enabled_channel(weed_plant_t *inst, int which, boolean is_in) { // count audio and video channels - return get_enabled_channel_inner(inst,which,is_in,FALSE); + return get_enabled_channel_inner(inst, which, is_in, FALSE); } weed_plant_t *get_enabled_audio_channel(weed_plant_t *inst, int which, boolean is_in) { // count only audio channels - return get_enabled_channel_inner(inst,which,is_in,TRUE); + return get_enabled_channel_inner(inst, which, is_in, TRUE); } weed_plant_t *get_mandatory_channel(weed_plant_t *filter, int which, boolean is_in) { // plant is a filter_class // "which" starts at 0 - int i=0,error; + int i = 0, error; weed_plant_t **ctmpls; weed_plant_t *retval; if (!WEED_PLANT_IS_FILTER_CLASS(filter)) return NULL; - if (is_in) ctmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES,&error); - else ctmpls=weed_get_plantptr_array(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES,&error); + if (is_in) ctmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES, &error); + else ctmpls = weed_get_plantptr_array(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES, &error); - if (ctmpls==NULL) return NULL; - while (which>-1) { - if (!weed_plant_has_leaf(ctmpls[i],WEED_LEAF_OPTIONAL)) which--; + if (ctmpls == NULL) return NULL; + while (which > -1) { + if (!weed_plant_has_leaf(ctmpls[i], WEED_LEAF_OPTIONAL)) which--; i++; } - retval=ctmpls[i-1]; + retval = ctmpls[i - 1]; lives_free(ctmpls); return retval; } @@ -773,38 +764,36 @@ boolean weed_filter_is_resizer(weed_plant_t *filt) { int error; - int filter_flags=weed_get_int_value(filt,WEED_LEAF_FLAGS,&error); - if (filter_flags&WEED_FILTER_IS_CONVERTER) { - weed_plant_t *first_out=get_mandatory_channel(filt,0,FALSE); - if (first_out!=NULL) { - int tmpl_flags=weed_get_int_value(first_out,WEED_LEAF_FLAGS,&error); - if (tmpl_flags&WEED_CHANNEL_SIZE_CAN_VARY) return TRUE; + int filter_flags = weed_get_int_value(filt, WEED_LEAF_FLAGS, &error); + if (filter_flags & WEED_FILTER_IS_CONVERTER) { + weed_plant_t *first_out = get_mandatory_channel(filt, 0, FALSE); + if (first_out != NULL) { + int tmpl_flags = weed_get_int_value(first_out, WEED_LEAF_FLAGS, &error); + if (tmpl_flags & WEED_CHANNEL_SIZE_CAN_VARY) return TRUE; } } return FALSE; } - boolean weed_instance_is_resizer(weed_plant_t *inst) { - weed_plant_t *ftmpl=weed_instance_get_filter(inst,TRUE); + weed_plant_t *ftmpl = weed_instance_get_filter(inst, TRUE); return weed_filter_is_resizer(ftmpl); } - boolean is_audio_channel_in(weed_plant_t *inst, int chnum) { - int error,nchans=weed_leaf_num_elements(inst,WEED_LEAF_IN_CHANNELS); + int error, nchans = weed_leaf_num_elements(inst, WEED_LEAF_IN_CHANNELS); weed_plant_t **in_chans; weed_plant_t *ctmpl; - if (nchans<=chnum) return FALSE; + if (nchans <= chnum) return FALSE; - in_chans=weed_get_plantptr_array(inst,WEED_LEAF_IN_CHANNELS,&error); - ctmpl=weed_get_plantptr_value(in_chans[chnum],WEED_LEAF_TEMPLATE,&error); + in_chans = weed_get_plantptr_array(inst, WEED_LEAF_IN_CHANNELS, &error); + ctmpl = weed_get_plantptr_value(in_chans[chnum], WEED_LEAF_TEMPLATE, &error); lives_free(in_chans); - if (weed_plant_has_leaf(ctmpl,WEED_LEAF_IS_AUDIO)&&weed_get_boolean_value(ctmpl,WEED_LEAF_IS_AUDIO,&error)==WEED_TRUE) { + if (weed_plant_has_leaf(ctmpl, WEED_LEAF_IS_AUDIO) && weed_get_boolean_value(ctmpl, WEED_LEAF_IS_AUDIO, &error) == WEED_TRUE) { return TRUE; } return FALSE; @@ -814,21 +803,21 @@ weed_plant_t *get_audio_channel_in(weed_plant_t *inst, int achnum) { // get nth audio channel in (not counting video channels) - int error,nchans=weed_leaf_num_elements(inst,WEED_LEAF_IN_CHANNELS); + int error, nchans = weed_leaf_num_elements(inst, WEED_LEAF_IN_CHANNELS); weed_plant_t **in_chans; - weed_plant_t *ctmpl,*achan; + weed_plant_t *ctmpl, *achan; register int i; - if (nchans==0) return NULL; + if (nchans == 0) return NULL; - in_chans=weed_get_plantptr_array(inst,WEED_LEAF_IN_CHANNELS,&error); + in_chans = weed_get_plantptr_array(inst, WEED_LEAF_IN_CHANNELS, &error); - for (i=0; i<nchans; i++) { - ctmpl=weed_get_plantptr_value(in_chans[i],WEED_LEAF_TEMPLATE,&error); - if (weed_get_boolean_value(ctmpl,WEED_LEAF_IS_AUDIO,&error)==WEED_TRUE) { - if (achnum--==0) { - achan=in_chans[i]; + for (i = 0; i < nchans; i++) { + ctmpl = weed_get_plantptr_value(in_chans[i], WEED_LEAF_TEMPLATE, &error); + if (weed_get_boolean_value(ctmpl, WEED_LEAF_IS_AUDIO, &error) == WEED_TRUE) { + if (achnum-- == 0) { + achan = in_chans[i]; lives_free(in_chans); return achan; } @@ -840,17 +829,17 @@ boolean has_video_chans_in(weed_plant_t *filter, boolean count_opt) { - int error,nchans=weed_leaf_num_elements(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES); + int error, nchans = weed_leaf_num_elements(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES); weed_plant_t **in_ctmpls; int i; - if (nchans==0) return FALSE; + if (nchans == 0) return FALSE; - in_ctmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES,&error); - for (i=0; i<nchans; i++) { - if (!count_opt&&weed_plant_has_leaf(in_ctmpls[i],WEED_LEAF_OPTIONAL)&& - weed_get_boolean_value(in_ctmpls[i],WEED_LEAF_OPTIONAL,&error)==WEED_TRUE) continue; - if (weed_plant_has_leaf(in_ctmpls[i],WEED_LEAF_IS_AUDIO)&&weed_get_boolean_value(in_ctmpls[i],WEED_LEAF_IS_AUDIO,&error)==WEED_TRUE) + in_ctmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES, &error); + for (i = 0; i < nchans; i++) { + if (!count_opt && weed_plant_has_leaf(in_ctmpls[i], WEED_LEAF_OPTIONAL) && + weed_get_boolean_value(in_ctmpls[i], WEED_LEAF_OPTIONAL, &error) == WEED_TRUE) continue; + if (weed_plant_has_leaf(in_ctmpls[i], WEED_LEAF_IS_AUDIO) && weed_get_boolean_value(in_ctmpls[i], WEED_LEAF_IS_AUDIO, &error) == WEED_TRUE) continue; lives_free(in_ctmpls); return TRUE; @@ -861,20 +850,19 @@ } - boolean has_audio_chans_in(weed_plant_t *filter, boolean count_opt) { - int error,nchans=weed_leaf_num_elements(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES); + int error, nchans = weed_leaf_num_elements(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES); weed_plant_t **in_ctmpls; int i; - if (nchans==0) return FALSE; + if (nchans == 0) return FALSE; - in_ctmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES,&error); - for (i=0; i<nchans; i++) { - if (!count_opt&&weed_plant_has_leaf(in_ctmpls[i],WEED_LEAF_OPTIONAL)&& - weed_get_boolean_value(in_ctmpls[i],WEED_LEAF_OPTIONAL,&error)==WEED_TRUE) continue; - if (!weed_plant_has_leaf(in_ctmpls[i],WEED_LEAF_IS_AUDIO)|| - weed_get_boolean_value(in_ctmpls[i],WEED_LEAF_IS_AUDIO,&error)==WEED_FALSE) continue; + in_ctmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES, &error); + for (i = 0; i < nchans; i++) { + if (!count_opt && weed_plant_has_leaf(in_ctmpls[i], WEED_LEAF_OPTIONAL) && + weed_get_boolean_value(in_ctmpls[i], WEED_LEAF_OPTIONAL, &error) == WEED_TRUE) continue; + if (!weed_plant_has_leaf(in_ctmpls[i], WEED_LEAF_IS_AUDIO) || + weed_get_boolean_value(in_ctmpls[i], WEED_LEAF_IS_AUDIO, &error) == WEED_FALSE) continue; lives_free(in_ctmpls); return TRUE; } @@ -885,17 +873,17 @@ boolean is_audio_channel_out(weed_plant_t *inst, int chnum) { - int error,nchans=weed_leaf_num_elements(inst,WEED_LEAF_OUT_CHANNELS); + int error, nchans = weed_leaf_num_elements(inst, WEED_LEAF_OUT_CHANNELS); weed_plant_t **out_chans; weed_plant_t *ctmpl; - if (nchans<=chnum) return FALSE; + if (nchans <= chnum) return FALSE; - out_chans=weed_get_plantptr_array(inst,WEED_LEAF_OUT_CHANNELS,&error); - ctmpl=weed_get_plantptr_value(out_chans[chnum],WEED_LEAF_TEMPLATE,&error); + out_chans = weed_get_plantptr_array(inst, WEED_LEAF_OUT_CHANNELS, &error); + ctmpl = weed_get_plantptr_value(out_chans[chnum], WEED_LEAF_TEMPLATE, &error); lives_free(out_chans); - if (weed_plant_has_leaf(ctmpl,WEED_LEAF_IS_AUDIO)&&weed_get_boolean_value(ctmpl,WEED_LEAF_IS_AUDIO,&error)==WEED_TRUE) { + if (weed_plant_has_leaf(ctmpl, WEED_LEAF_IS_AUDIO) && weed_get_boolean_value(ctmpl, WEED_LEAF_IS_AUDIO, &error) == WEED_TRUE) { return TRUE; } return FALSE; @@ -903,18 +891,18 @@ boolean has_video_chans_out(weed_plant_t *filter, boolean count_opt) { - int error,nchans=weed_leaf_num_elements(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES); + int error, nchans = weed_leaf_num_elements(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES); weed_plant_t **out_ctmpls; int i; - if (nchans==0) return FALSE; + if (nchans == 0) return FALSE; - out_ctmpls=weed_get_plantptr_array(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES,&error); - for (i=0; i<nchans; i++) { - if (!count_opt&&weed_plant_has_leaf(out_ctmpls[i],WEED_LEAF_OPTIONAL)&& - weed_get_boolean_value(out_ctmpls[i],WEED_LEAF_OPTIONAL,&error)==WEED_TRUE) continue; - if (weed_plant_has_leaf(out_ctmpls[i],WEED_LEAF_IS_AUDIO)&& - weed_get_boolean_value(out_ctmpls[i],WEED_LEAF_IS_AUDIO,&error)==WEED_TRUE) continue; + out_ctmpls = weed_get_plantptr_array(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES, &error); + for (i = 0; i < nchans; i++) { + if (!count_opt && weed_plant_has_leaf(out_ctmpls[i], WEED_LEAF_OPTIONAL) && + weed_get_boolean_value(out_ctmpls[i], WEED_LEAF_OPTIONAL, &error) == WEED_TRUE) continue; + if (weed_plant_has_leaf(out_ctmpls[i], WEED_LEAF_IS_AUDIO) && + weed_get_boolean_value(out_ctmpls[i], WEED_LEAF_IS_AUDIO, &error) == WEED_TRUE) continue; lives_free(out_ctmpls); return TRUE; } @@ -924,20 +912,19 @@ } - boolean has_audio_chans_out(weed_plant_t *filter, boolean count_opt) { - int error,nchans=weed_leaf_num_elements(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES); + int error, nchans = weed_leaf_num_elements(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES); weed_plant_t **out_ctmpls; int i; - if (nchans==0) return FALSE; + if (nchans == 0) return FALSE; - out_ctmpls=weed_get_plantptr_array(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES,&error); - for (i=0; i<nchans; i++) { - if (!count_opt&&weed_plant_has_leaf(out_ctmpls[i],WEED_LEAF_OPTIONAL)&& - weed_get_boolean_value(out_ctmpls[i],WEED_LEAF_OPTIONAL,&error)==WEED_TRUE) continue; - if (!weed_plant_has_leaf(out_ctmpls[i],WEED_LEAF_IS_AUDIO)|| - weed_get_boolean_value(out_ctmpls[i],WEED_LEAF_IS_AUDIO,&error)==WEED_FALSE) continue; + out_ctmpls = weed_get_plantptr_array(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES, &error); + for (i = 0; i < nchans; i++) { + if (!count_opt && weed_plant_has_leaf(out_ctmpls[i], WEED_LEAF_OPTIONAL) && + weed_get_boolean_value(out_ctmpls[i], WEED_LEAF_OPTIONAL, &error) == WEED_TRUE) continue; + if (!weed_plant_has_leaf(out_ctmpls[i], WEED_LEAF_IS_AUDIO) || + weed_get_boolean_value(out_ctmpls[i], WEED_LEAF_IS_AUDIO, &error) == WEED_FALSE) continue; lives_free(out_ctmpls); return TRUE; } @@ -948,40 +935,39 @@ boolean is_pure_audio(weed_plant_t *plant, boolean count_opt) { - weed_plant_t *filter=plant; - if (WEED_PLANT_IS_FILTER_INSTANCE(plant)) filter=weed_instance_get_filter(plant,FALSE); + weed_plant_t *filter = plant; + if (WEED_PLANT_IS_FILTER_INSTANCE(plant)) filter = weed_instance_get_filter(plant, FALSE); - if ((has_audio_chans_in(filter,count_opt) || has_audio_chans_out(filter,count_opt)) && - !has_video_chans_in(filter,count_opt) && !has_video_chans_out(filter,count_opt)) return TRUE; + if ((has_audio_chans_in(filter, count_opt) || has_audio_chans_out(filter, count_opt)) && + !has_video_chans_in(filter, count_opt) && !has_video_chans_out(filter, count_opt)) return TRUE; return FALSE; } - boolean weed_parameter_has_variable_elements_strict(weed_plant_t *inst, weed_plant_t *ptmpl) { /** see if param has variable elements, using the strictest check */ - weed_plant_t **chans,*ctmpl; - int error,i; - int flags=weed_get_int_value(ptmpl,WEED_LEAF_FLAGS,&error); + weed_plant_t **chans, *ctmpl; + int error, i; + int flags = weed_get_int_value(ptmpl, WEED_LEAF_FLAGS, &error); int nchans; - if (flags&WEED_PARAMETER_VARIABLE_ELEMENTS) return TRUE; + if (flags & WEED_PARAMETER_VARIABLE_ELEMENTS) return TRUE; - if (inst==NULL) return FALSE; + if (inst == NULL) return FALSE; - if (!(flags&WEED_PARAMETER_ELEMENT_PER_CHANNEL)) return FALSE; + if (!(flags & WEED_PARAMETER_ELEMENT_PER_CHANNEL)) return FALSE; - if (!weed_plant_has_leaf(inst,WEED_LEAF_IN_CHANNELS) - ||(nchans=weed_leaf_num_elements(inst,WEED_LEAF_IN_CHANNELS))==0) + if (!weed_plant_has_leaf(inst, WEED_LEAF_IN_CHANNELS) + || (nchans = weed_leaf_num_elements(inst, WEED_LEAF_IN_CHANNELS)) == 0) return FALSE; - chans=weed_get_plantptr_array(inst,WEED_LEAF_IN_CHANNELS,&error); + chans = weed_get_plantptr_array(inst, WEED_LEAF_IN_CHANNELS, &error); - for (i=0; i<nchans; i++) { - if (weed_plant_has_leaf(chans[i],WEED_LEAF_DISABLED)&& - weed_get_boolean_value(chans[i],WEED_LEAF_DISABLED,&error)==WEED_TRUE) continue; //ignore disabled channels - ctmpl=weed_get_plantptr_value(chans[i],WEED_LEAF_TEMPLATE,&error); - if (weed_plant_has_leaf(ctmpl,WEED_LEAF_MAX_REPEATS)&&weed_get_int_value(ctmpl,WEED_LEAF_MAX_REPEATS,&error)!=1) { + for (i = 0; i < nchans; i++) { + if (weed_plant_has_leaf(chans[i], WEED_LEAF_DISABLED) && + weed_get_boolean_value(chans[i], WEED_LEAF_DISABLED, &error) == WEED_TRUE) continue; //ignore disabled channels + ctmpl = weed_get_plantptr_value(chans[i], WEED_LEAF_TEMPLATE, &error); + if (weed_plant_has_leaf(ctmpl, WEED_LEAF_MAX_REPEATS) && weed_get_int_value(ctmpl, WEED_LEAF_MAX_REPEATS, &error) != 1) { lives_free(chans); return TRUE; } @@ -989,13 +975,12 @@ lives_free(chans); return FALSE; - } LIVES_INLINE boolean rte_key_is_enabled(int key) { key--; - return (mainw->rte&(GU641<<key)); + return (mainw->rte & (GU641 << key)); } @@ -1022,15 +1007,15 @@ * when the instance is deinited */ - int count=0,i; + int count = 0, i; weed_plant_t *inst; - for (i=0; i<FX_KEYS_MAX_VIRTUAL; i++) - if (rteval&(GU641<<i)&&(inst=key_to_instance[i][key_modes[i]])!=NULL&& - enabled_in_channels(inst,FALSE)>0) { - filter_map[count++]=init_events[i]; + for (i = 0; i < FX_KEYS_MAX_VIRTUAL; i++) + if (rteval & (GU641 << i) && (inst = key_to_instance[i][key_modes[i]]) != NULL && + enabled_in_channels(inst, FALSE) > 0) { + filter_map[count++] = init_events[i]; } - filter_map[count]=NULL; // marks the end of the effect map + filter_map[count] = NULL; // marks the end of the effect map } @@ -1040,18 +1025,18 @@ // should be called with mainw->event_list_mutex unlocked ! int i; - boolean needs_filter_map=FALSE; - weed_timecode_t last_tc=0; + boolean needs_filter_map = FALSE; + weed_timecode_t last_tc = 0; - if (event_list!=NULL) last_tc=get_event_timecode(get_last_event(event_list)); + if (event_list != NULL) last_tc = get_event_timecode(get_last_event(event_list)); - for (i=0; i<FX_KEYS_MAX_VIRTUAL; i++) { - if (init_events[i]!=NULL) { - event_list=append_filter_deinit_event(event_list,last_tc,init_events[i],pchains[i]); - init_events[i]=NULL; - if (pchains[i]!=NULL) lives_free(pchains[i]); - pchains[i]=NULL; - needs_filter_map=TRUE; + for (i = 0; i < FX_KEYS_MAX_VIRTUAL; i++) { + if (init_events[i] != NULL) { + event_list = append_filter_deinit_event(event_list, last_tc, init_events[i], pchains[i]); + init_events[i] = NULL; + if (pchains[i] != NULL) lives_free(pchains[i]); + pchains[i] = NULL; + needs_filter_map = TRUE; } } // add an empty filter_map event (in case more frames are added) @@ -1059,7 +1044,7 @@ if (needs_filter_map) { pthread_mutex_lock(&mainw->event_list_mutex); - event_list=append_filter_map_event(mainw->event_list,last_tc,filter_map); + event_list = append_filter_map_event(mainw->event_list, last_tc, filter_map); pthread_mutex_unlock(&mainw->event_list_mutex); } return event_list; @@ -1072,19 +1057,19 @@ // we add the init events with a timecode of 0 int i; weed_plant_t *inst; - int fx_idx,ntracks; + int fx_idx, ntracks; - for (i=0; i<FX_KEYS_MAX_VIRTUAL; i++) { - if ((inst=key_to_instance[i][key_modes[i]])!=NULL&&enabled_in_channels(inst,FALSE)>0) { - event_list=append_filter_init_event(event_list,tc,(fx_idx=key_to_fx[i][key_modes[i]]),-1,i,inst); - init_events[i]=get_last_event(event_list); - ntracks=weed_leaf_num_elements(init_events[i],WEED_LEAF_IN_TRACKS); - pchains[i]=filter_init_add_pchanges(event_list,inst,init_events[i],ntracks,0); + for (i = 0; i < FX_KEYS_MAX_VIRTUAL; i++) { + if ((inst = key_to_instance[i][key_modes[i]]) != NULL && enabled_in_channels(inst, FALSE) > 0) { + event_list = append_filter_init_event(event_list, tc, (fx_idx = key_to_fx[i][key_modes[i]]), -1, i, inst); + init_events[i] = get_last_event(event_list); + ntracks = weed_leaf_num_elements(init_events[i], WEED_LEAF_IN_TRACKS); + pchains[i] = filter_init_add_pchanges(event_list, inst, init_events[i], ntracks, 0); } } // add an empty filter_map event (in case more frames are added) create_filter_map(mainw->rte); // we create filter_map event_t * array with ordered effects - if (filter_map[0]!=NULL) event_list=append_filter_map_event(event_list,tc,filter_map); + if (filter_map[0] != NULL) event_list = append_filter_map_event(event_list, tc, filter_map); return event_list; } @@ -1094,59 +1079,59 @@ // num_palettes is the size of the palette list int check_weed_palette_list(int *palette_list, int num_palettes, int palette) { int i; - int best_palette=WEED_PALETTE_END; + int best_palette = WEED_PALETTE_END; - for (i=0; i<num_palettes; i++) { - if (palette_list[i]==palette) { + for (i = 0; i < num_palettes; i++) { + if (palette_list[i] == palette) { // exact match - return it return palette; } // pass 1, see if we can find same or higher quality in same colorspace if (weed_palette_is_alpha_palette(palette)) { - if (palette_list[i]==WEED_PALETTE_A8) best_palette=palette_list[i]; - if (palette_list[i]==WEED_PALETTE_A1&&(best_palette==WEED_PALETTE_AFLOAT||best_palette==WEED_PALETTE_END)) - best_palette=palette_list[i]; - if (palette_list[i]==WEED_PALETTE_AFLOAT&&best_palette==WEED_PALETTE_END) best_palette=palette_list[i]; + if (palette_list[i] == WEED_PALETTE_A8) best_palette = palette_list[i]; + if (palette_list[i] == WEED_PALETTE_A1 && (best_palette == WEED_PALETTE_AFLOAT || best_palette == WEED_PALETTE_END)) + best_palette = palette_list[i]; + if (palette_list[i] == WEED_PALETTE_AFLOAT && best_palette == WEED_PALETTE_END) best_palette = palette_list[i]; } else if (weed_palette_is_rgb_palette(palette)) { - if (palette_list[i]==WEED_PALETTE_RGBAFLOAT&&(palette==WEED_PALETTE_RGBFLOAT||best_palette==WEED_PALETTE_END)) - best_palette=palette_list[i]; - if (palette_list[i]==WEED_PALETTE_RGBFLOAT&&best_palette==WEED_PALETTE_END) best_palette=palette_list[i]; - if (palette_list[i]==WEED_PALETTE_RGBA32|| - palette_list[i]==WEED_PALETTE_BGRA32||palette_list[i]==WEED_PALETTE_ARGB32) { - if ((best_palette==WEED_PALETTE_END|| - best_palette==WEED_PALETTE_RGBFLOAT||best_palette==WEED_PALETTE_RGBAFLOAT)|| - weed_palette_has_alpha_channel(palette)) best_palette=palette_list[i]; - } - if (!weed_palette_has_alpha_channel(palette)|| - (best_palette==WEED_PALETTE_END||best_palette==WEED_PALETTE_RGBFLOAT||best_palette==WEED_PALETTE_RGBAFLOAT)) { - if (palette_list[i]==WEED_PALETTE_RGB24||palette_list[i]==WEED_PALETTE_BGR24) { - best_palette=palette_list[i]; + if (palette_list[i] == WEED_PALETTE_RGBAFLOAT && (palette == WEED_PALETTE_RGBFLOAT || best_palette == WEED_PALETTE_END)) + best_palette = palette_list[i]; + if (palette_list[i] == WEED_PALETTE_RGBFLOAT && best_palette == WEED_PALETTE_END) best_palette = palette_list[i]; + if (palette_list[i] == WEED_PALETTE_RGBA32 || + palette_list[i] == WEED_PALETTE_BGRA32 || palette_list[i] == WEED_PALETTE_ARGB32) { + if ((best_palette == WEED_PALETTE_END || + best_palette == WEED_PALETTE_RGBFLOAT || best_palette == WEED_PALETTE_RGBAFLOAT) || + weed_palette_has_alpha_channel(palette)) best_palette = palette_list[i]; + } + if (!weed_palette_has_alpha_channel(palette) || + (best_palette == WEED_PALETTE_END || best_palette == WEED_PALETTE_RGBFLOAT || best_palette == WEED_PALETTE_RGBAFLOAT)) { + if (palette_list[i] == WEED_PALETTE_RGB24 || palette_list[i] == WEED_PALETTE_BGR24) { + best_palette = palette_list[i]; } } } else { // yuv - if (palette==WEED_PALETTE_YUV411&&(palette_list[i]==WEED_PALETTE_YUV422P)) best_palette=palette_list[i]; - if (palette==WEED_PALETTE_YUV411&&best_palette!=WEED_PALETTE_YUV422P&& - (palette_list[i]==WEED_PALETTE_YUV420P||palette_list[i]==WEED_PALETTE_YVU420P)) best_palette=palette_list[i]; - if (palette==WEED_PALETTE_YUV420P&&palette_list[i]==WEED_PALETTE_YVU420P) best_palette=palette_list[i]; - if (palette==WEED_PALETTE_YVU420P&&palette_list[i]==WEED_PALETTE_YUV420P) best_palette=palette_list[i]; - - if (((palette==WEED_PALETTE_YUV420P&&best_palette!=WEED_PALETTE_YVU420P)|| - (palette==WEED_PALETTE_YVU420P&&best_palette!=WEED_PALETTE_YUV420P))&& - (palette_list[i]==WEED_PALETTE_YUV422P||palette_list[i]==WEED_PALETTE_UYVY8888|| - palette_list[i]==WEED_PALETTE_YUYV8888)) best_palette=palette_list[i]; - - if ((palette==WEED_PALETTE_YUV422P||palette==WEED_PALETTE_UYVY8888||palette==WEED_PALETTE_YUYV8888)&& - (palette_list[i]==WEED_PALETTE_YUV422P||palette_list[i]==WEED_PALETTE_UYVY8888|| - palette_list[i]==WEED_PALETTE_YUYV8888)) best_palette=palette_list[i]; - - if (palette_list[i]==WEED_PALETTE_YUVA8888||palette_list[i]==WEED_PALETTE_YUVA4444P) { - if (best_palette==WEED_PALETTE_END||weed_palette_has_alpha_channel(palette)) best_palette=palette_list[i]; - } - if (best_palette==WEED_PALETTE_END||((best_palette==WEED_PALETTE_YUVA8888||best_palette==WEED_PALETTE_YUVA4444P)&& - !weed_palette_has_alpha_channel(palette))) { - if (palette_list[i]==WEED_PALETTE_YUV888||palette_list[i]==WEED_PALETTE_YUV444P) { - best_palette=palette_list[i]; + if (palette == WEED_PALETTE_YUV411 && (palette_list[i] == WEED_PALETTE_YUV422P)) best_palette = palette_list[i]; + if (palette == WEED_PALETTE_YUV411 && best_palette != WEED_PALETTE_YUV422P && + (palette_list[i] == WEED_PALETTE_YUV420P || palette_list[i] == WEED_PALETTE_YVU420P)) best_palette = palette_list[i]; + if (palette == WEED_PALETTE_YUV420P && palette_list[i] == WEED_PALETTE_YVU420P) best_palette = palette_list[i]; + if (palette == WEED_PALETTE_YVU420P && palette_list[i] == WEED_PALETTE_YUV420P) best_palette = palette_list[i]; + + if (((palette == WEED_PALETTE_YUV420P && best_palette != WEED_PALETTE_YVU420P) || + (palette == WEED_PALETTE_YVU420P && best_palette != WEED_PALETTE_YUV420P)) && + (palette_list[i] == WEED_PALETTE_YUV422P || palette_list[i] == WEED_PALETTE_UYVY8888 || + palette_list[i] == WEED_PALETTE_YUYV8888)) best_palette = palette_list[i]; + + if ((palette == WEED_PALETTE_YUV422P || palette == WEED_PALETTE_UYVY8888 || palette == WEED_PALETTE_YUYV8888) && + (palette_list[i] == WEED_PALETTE_YUV422P || palette_list[i] == WEED_PALETTE_UYVY8888 || + palette_list[i] == WEED_PALETTE_YUYV8888)) best_palette = palette_list[i]; + + if (palette_list[i] == WEED_PALETTE_YUVA8888 || palette_list[i] == WEED_PALETTE_YUVA4444P) { + if (best_palette == WEED_PALETTE_END || weed_palette_has_alpha_channel(palette)) best_palette = palette_list[i]; + } + if (best_palette == WEED_PALETTE_END || ((best_palette == WEED_PALETTE_YUVA8888 || best_palette == WEED_PALETTE_YUVA4444P) && + !weed_palette_has_alpha_channel(palette))) { + if (palette_list[i] == WEED_PALETTE_YUV888 || palette_list[i] == WEED_PALETTE_YUV444P) { + best_palette = palette_list[i]; } } } @@ -1154,107 +1139,107 @@ // pass 2: // if we had to drop alpha, see if we can preserve it in the other colorspace - for (i=0; i<num_palettes; i++) { - if (weed_palette_has_alpha_channel(palette)&& - (best_palette==WEED_PALETTE_END||!weed_palette_has_alpha_channel(best_palette))) { + for (i = 0; i < num_palettes; i++) { + if (weed_palette_has_alpha_channel(palette) && + (best_palette == WEED_PALETTE_END || !weed_palette_has_alpha_channel(best_palette))) { if (weed_palette_is_rgb_palette(palette)) { - if (palette_list[i]==WEED_PALETTE_YUVA8888||palette_list[i]==WEED_PALETTE_YUVA4444P) best_palette=palette_list[i]; + if (palette_list[i] == WEED_PALETTE_YUVA8888 || palette_list[i] == WEED_PALETTE_YUVA4444P) best_palette = palette_list[i]; } else { - if (palette_list[i]==WEED_PALETTE_RGBA32||palette_list[i]==WEED_PALETTE_BGRA32|| - palette_list[i]==WEED_PALETTE_ARGB32) best_palette=palette_list[i]; + if (palette_list[i] == WEED_PALETTE_RGBA32 || palette_list[i] == WEED_PALETTE_BGRA32 || + palette_list[i] == WEED_PALETTE_ARGB32) best_palette = palette_list[i]; } } } // pass 3: no alpha; switch colorspaces, try to find same or higher quality - if (best_palette==WEED_PALETTE_END) { - for (i=0; i<num_palettes; i++) { - if ((weed_palette_is_rgb_palette(palette)||best_palette==WEED_PALETTE_END)&& - (palette_list[i]==WEED_PALETTE_RGB24||palette_list[i]==WEED_PALETTE_BGR24)) { - best_palette=palette_list[i]; - } - if ((weed_palette_is_yuv_palette(palette)||best_palette==WEED_PALETTE_END)&& - (palette_list[i]==WEED_PALETTE_YUV888||palette_list[i]==WEED_PALETTE_YUV444P)) { - best_palette=palette_list[i]; - } - if (best_palette==WEED_PALETTE_END&&(palette_list[i]==WEED_PALETTE_RGBA32|| - palette_list[i]==WEED_PALETTE_BGRA32||palette_list[i]==WEED_PALETTE_ARGB32)) { - best_palette=palette_list[i]; - } - if (best_palette==WEED_PALETTE_END&& - (palette_list[i]==WEED_PALETTE_YUVA8888||palette_list[i]==WEED_PALETTE_YUVA4444P)) { - best_palette=palette_list[i]; + if (best_palette == WEED_PALETTE_END) { + for (i = 0; i < num_palettes; i++) { + if ((weed_palette_is_rgb_palette(palette) || best_palette == WEED_PALETTE_END) && + (palette_list[i] == WEED_PALETTE_RGB24 || palette_list[i] == WEED_PALETTE_BGR24)) { + best_palette = palette_list[i]; + } + if ((weed_palette_is_yuv_palette(palette) || best_palette == WEED_PALETTE_END) && + (palette_list[i] == WEED_PALETTE_YUV888 || palette_list[i] == WEED_PALETTE_YUV444P)) { + best_palette = palette_list[i]; + } + if (best_palette == WEED_PALETTE_END && (palette_list[i] == WEED_PALETTE_RGBA32 || + palette_list[i] == WEED_PALETTE_BGRA32 || palette_list[i] == WEED_PALETTE_ARGB32)) { + best_palette = palette_list[i]; + } + if (best_palette == WEED_PALETTE_END && + (palette_list[i] == WEED_PALETTE_YUVA8888 || palette_list[i] == WEED_PALETTE_YUVA4444P)) { + best_palette = palette_list[i]; } } } // pass 4: switch to YUV, try to find highest quality - if (best_palette==WEED_PALETTE_END) { - for (i=0; i<num_palettes; i++) { - if (palette_list[i]==WEED_PALETTE_UYVY8888||palette_list[i]==WEED_PALETTE_YUYV8888|| - palette_list[i]==WEED_PALETTE_YUV422P) { - best_palette=palette_list[i]; - } - if ((best_palette==WEED_PALETTE_END||best_palette==WEED_PALETTE_YUV411)&& - (palette_list[i]==WEED_PALETTE_YUV420P||palette_list[i]==WEED_PALETTE_YVU420P)) { - best_palette=palette_list[i]; + if (best_palette == WEED_PALETTE_END) { + for (i = 0; i < num_palettes; i++) { + if (palette_list[i] == WEED_PALETTE_UYVY8888 || palette_list[i] == WEED_PALETTE_YUYV8888 || + palette_list[i] == WEED_PALETTE_YUV422P) { + best_palette = palette_list[i]; + } + if ((best_palette == WEED_PALETTE_END || best_palette == WEED_PALETTE_YUV411) && + (palette_list[i] == WEED_PALETTE_YUV420P || palette_list[i] == WEED_PALETTE_YVU420P)) { + best_palette = palette_list[i]; } - if (best_palette==WEED_PALETTE_END&&palette_list[i]==WEED_PALETTE_YUV411) best_palette=palette_list[i]; + if (best_palette == WEED_PALETTE_END && palette_list[i] == WEED_PALETTE_YUV411) best_palette = palette_list[i]; } } // pass 5: tweak results to use (probably) most common colourspaces - for (i=0; i<num_palettes; i++) { - if (palette_list[i]==WEED_PALETTE_RGBA32&&(best_palette==WEED_PALETTE_BGRA32||best_palette==WEED_PALETTE_ARGB32)) { - best_palette=palette_list[i]; + for (i = 0; i < num_palettes; i++) { + if (palette_list[i] == WEED_PALETTE_RGBA32 && (best_palette == WEED_PALETTE_BGRA32 || best_palette == WEED_PALETTE_ARGB32)) { + best_palette = palette_list[i]; } - if (palette_list[i]==WEED_PALETTE_RGB24&&best_palette==WEED_PALETTE_BGR24) { - best_palette=palette_list[i]; + if (palette_list[i] == WEED_PALETTE_RGB24 && best_palette == WEED_PALETTE_BGR24) { + best_palette = palette_list[i]; } - if (palette_list[i]==WEED_PALETTE_YUV420P&&best_palette==WEED_PALETTE_YVU420P) { - best_palette=palette_list[i]; + if (palette_list[i] == WEED_PALETTE_YUV420P && best_palette == WEED_PALETTE_YVU420P) { + best_palette = palette_list[i]; } - if (palette_list[i]==WEED_PALETTE_UYVY8888&&best_palette==WEED_PALETTE_YUYV8888) { - best_palette=palette_list[i]; + if (palette_list[i] == WEED_PALETTE_UYVY8888 && best_palette == WEED_PALETTE_YUYV8888) { + best_palette = palette_list[i]; } } #ifdef DEBUG_PALETTES - lives_printerr("Debug: best palette for %d is %d\n",palette,best_palette); + lives_printerr("Debug: best palette for %d is %d\n", palette, best_palette); #endif return best_palette; } + static void set_channel_size(weed_plant_t *channel, int width, int height, int numplanes, int *rowstrides) { int error; int max; - weed_plant_t *chantmpl=weed_get_plantptr_value(channel,WEED_LEAF_TEMPLATE,&error); + weed_plant_t *chantmpl = weed_get_plantptr_value(channel, WEED_LEAF_TEMPLATE, &error); // note: rowstrides is just a guess, we will set the actual value when we come to process the effect - if (weed_plant_has_leaf(chantmpl,WEED_LEAF_WIDTH)&&weed_get_int_value(chantmpl,WEED_LEAF_WIDTH,&error)!=0) - width=weed_get_int_value(chantmpl,WEED_LEAF_WIDTH,&error); - else if (weed_plant_has_leaf(chantmpl,WEED_LEAF_HOST_WIDTH)) width=weed_get_int_value(chantmpl,WEED_LEAF_HOST_WIDTH,&error); - if (weed_plant_has_leaf(chantmpl,WEED_LEAF_HSTEP)) width=step_val(width,weed_get_int_value(chantmpl,WEED_LEAF_HSTEP,&error)); - if (weed_plant_has_leaf(chantmpl,WEED_LEAF_MAXWIDTH)) { - max=weed_get_int_value(chantmpl,WEED_LEAF_MAXWIDTH,&error); - if (width>max) width=max; - } - - weed_set_int_value(channel,WEED_LEAF_WIDTH,width); - - if (weed_plant_has_leaf(chantmpl,WEED_LEAF_HEIGHT)&&weed_get_int_value(chantmpl,WEED_LEAF_HEIGHT,&error)!=0) - height=weed_get_int_value(chantmpl,WEED_LEAF_HEIGHT,&error); - else if (weed_plant_has_leaf(chantmpl,WEED_LEAF_HOST_HEIGHT)) height=weed_get_int_value(chantmpl,WEED_LEAF_HOST_HEIGHT,&error); - if (weed_plant_has_leaf(chantmpl,WEED_LEAF_VSTEP)) height=step_val(height,weed_get_int_value(chantmpl,WEED_LEAF_VSTEP,&error)); - if (weed_plant_has_leaf(chantmpl,WEED_LEAF_MAXHEIGHT)) { - max=weed_get_int_value(chantmpl,WEED_LEAF_MAXHEIGHT,&error); - if (height>max) height=max; + if (weed_plant_has_leaf(chantmpl, WEED_LEAF_WIDTH) && weed_get_int_value(chantmpl, WEED_LEAF_WIDTH, &error) != 0) + width = weed_get_int_value(chantmpl, WEED_LEAF_WIDTH, &error); + else if (weed_plant_has_leaf(chantmpl, WEED_LEAF_HOST_WIDTH)) width = weed_get_int_value(chantmpl, WEED_LEAF_HOST_WIDTH, &error); + if (weed_plant_has_leaf(chantmpl, WEED_LEAF_HSTEP)) width = step_val(width, weed_get_int_value(chantmpl, WEED_LEAF_HSTEP, &error)); + if (weed_plant_has_leaf(chantmpl, WEED_LEAF_MAXWIDTH)) { + max = weed_get_int_value(chantmpl, WEED_LEAF_MAXWIDTH, &error); + if (width > max) width = max; + } + + weed_set_int_value(channel, WEED_LEAF_WIDTH, width); + + if (weed_plant_has_leaf(chantmpl, WEED_LEAF_HEIGHT) && weed_get_int_value(chantmpl, WEED_LEAF_HEIGHT, &error) != 0) + height = weed_get_int_value(chantmpl, WEED_LEAF_HEIGHT, &error); + else if (weed_plant_has_leaf(chantmpl, WEED_LEAF_HOST_HEIGHT)) height = weed_get_int_value(chantmpl, WEED_LEAF_HOST_HEIGHT, &error); + if (weed_plant_has_leaf(chantmpl, WEED_LEAF_VSTEP)) height = step_val(height, weed_get_int_value(chantmpl, WEED_LEAF_VSTEP, &error)); + if (weed_plant_has_leaf(chantmpl, WEED_LEAF_MAXHEIGHT)) { + max = weed_get_int_value(chantmpl, WEED_LEAF_MAXHEIGHT, &error); + if (height > max) height = max; } - weed_set_int_value(channel,WEED_LEAF_HEIGHT,height); - - if (rowstrides!=NULL) weed_set_int_array(channel,WEED_LEAF_ROWSTRIDES,numplanes,rowstrides); + weed_set_int_value(channel, WEED_LEAF_HEIGHT, height); + if (rowstrides != NULL) weed_set_int_array(channel, WEED_LEAF_ROWSTRIDES, numplanes, rowstrides); } @@ -1262,84 +1247,83 @@ // returns TRUE if the rowstrides differ int i; - if (n1!=n2) return TRUE; - for (i=0; i<n1; i++) if (n1_array[i]!=n2_array[i]) return TRUE; + if (n1 != n2) return TRUE; + for (i = 0; i < n1; i++) if (n1_array[i] != n2_array[i]) return TRUE; return FALSE; } - static boolean align_pixel_data(weed_plant_t *layer, size_t alignment) { #ifndef HAVE_POSIX_MEMALIGN return FALSE; #else // returns TRUE on success - void **pixel_data,**new_pixel_data; - uint8_t *npixel_data,zpixel_data=0; + void **pixel_data, **new_pixel_data; + uint8_t *npixel_data, zpixel_data = 0; int *rowstrides; - size_t size,totsize=0; + size_t size, totsize = 0; - boolean needs_change=FALSE; - boolean can_contiguous=TRUE; + boolean needs_change = FALSE; + boolean can_contiguous = TRUE; - int memerror,error; + int memerror, error; - int numplanes,height; + int numplanes, height; register int i; - numplanes=weed_leaf_num_elements(layer,WEED_LEAF_ROWSTRIDES); - pixel_data=weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); + numplanes = weed_leaf_num_elements(layer, WEED_LEAF_ROWSTRIDES); + pixel_data = weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); - for (i=0; i<numplanes; i++) { - if (((uint64_t)(pixel_data[i]))%alignment==0) continue; - needs_change=TRUE; + for (i = 0; i < numplanes; i++) { + if (((uint64_t)(pixel_data[i])) % alignment == 0) continue; + needs_change = TRUE; } if (!needs_change) return TRUE; - rowstrides=weed_get_int_array(layer,WEED_LEAF_ROWSTRIDES,&error); - height=weed_get_int_value(layer,WEED_LEAF_HEIGHT,&error); + rowstrides = weed_get_int_array(layer, WEED_LEAF_ROWSTRIDES, &error); + height = weed_get_int_value(layer, WEED_LEAF_HEIGHT, &error); - for (i=0; i<numplanes; i++) { - size=height*rowstrides[i]; - totsize+=CEIL(size,32); + for (i = 0; i < numplanes; i++) { + size = height * rowstrides[i]; + totsize += CEIL(size, 32); } - for (i=1; i<numplanes; i++) { - size=height*rowstrides[i]; - zpixel_data+=CEIL(size,32); - if (zpixel_data%alignment!=0) { - can_contiguous=FALSE; + for (i = 1; i < numplanes; i++) { + size = height * rowstrides[i]; + zpixel_data += CEIL(size, 32); + if (zpixel_data % alignment != 0) { + can_contiguous = FALSE; break; } } - new_pixel_data=(void **)lives_malloc(numplanes*(sizeof(void *))); + new_pixel_data = (void **)lives_malloc(numplanes * (sizeof(void *))); if (can_contiguous) { // all planes can be set in contiguous block - if ((memerror=posix_memalign((void **)&npixel_data,alignment,totsize))) { + if ((memerror = posix_memalign((void **)&npixel_data, alignment, totsize))) { lives_free(new_pixel_data); lives_free(pixel_data); lives_free(rowstrides); return FALSE; } - for (i=0; i<numplanes; i++) { - lives_memcpy(npixel_data,pixel_data[i],height*rowstrides[i]); - new_pixel_data[i]=npixel_data; - size=height*rowstrides[i]; - npixel_data+=CEIL(size,32); + for (i = 0; i < numplanes; i++) { + lives_memcpy(npixel_data, pixel_data[i], height * rowstrides[i]); + new_pixel_data[i] = npixel_data; + size = height * rowstrides[i]; + npixel_data += CEIL(size, 32); } weed_layer_pixel_data_free(layer); - weed_set_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,numplanes,new_pixel_data); - if (numplanes>1) weed_set_boolean_value(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS,WEED_TRUE); - else weed_set_boolean_value(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS,WEED_FALSE); + weed_set_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, numplanes, new_pixel_data); + if (numplanes > 1) weed_set_boolean_value(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS, WEED_TRUE); + else weed_set_boolean_value(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS, WEED_FALSE); lives_free(new_pixel_data); lives_free(pixel_data); @@ -1348,17 +1332,16 @@ return TRUE; } - // non-contiguous - for (i=0; i<numplanes; i++) { - if ((memerror=posix_memalign((void **)&npixel_data,alignment,height*rowstrides[i]))) { + for (i = 0; i < numplanes; i++) { + if ((memerror = posix_memalign((void **)&npixel_data, alignment, height * rowstrides[i]))) { lives_free(new_pixel_data); lives_free(pixel_data); lives_free(rowstrides); return FALSE; } - lives_memcpy(npixel_data,pixel_data[i],height*rowstrides[i]); - new_pixel_data[i]=npixel_data; + lives_memcpy(npixel_data, pixel_data[i], height * rowstrides[i]); + new_pixel_data[i] = npixel_data; } weed_layer_pixel_data_free(layer); @@ -1367,7 +1350,7 @@ lives_free(pixel_data); lives_free(rowstrides); - weed_set_boolean_value(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS,WEED_FALSE); + weed_set_boolean_value(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS, WEED_FALSE); return TRUE; #endif @@ -1375,9 +1358,9 @@ LIVES_INLINE int weed_flagset_array_count(weed_plant_t **array, boolean set_readonly) { - int i=0; - while (array[i]!=NULL) { - if (set_readonly) weed_add_plant_flags(array[i],WEED_LEAF_READONLY_PLUGIN); + int i = 0; + while (array[i] != NULL) { + if (set_readonly) weed_add_plant_flags(array[i], WEED_LEAF_READONLY_PLUGIN); i++; } return i; @@ -1385,125 +1368,126 @@ void set_param_gui_readonly(weed_plant_t *inst) { - int num_params,error,i; - weed_plant_t **params,*gui,*ptmpl; + int num_params, error, i; + weed_plant_t **params, *gui, *ptmpl; - num_params=weed_leaf_num_elements(inst,WEED_LEAF_IN_PARAMETERS); - if (num_params>0) { - params=weed_get_plantptr_array(inst,WEED_LEAF_IN_PARAMETERS,&error); - for (i=0; i<num_params; i++) { - ptmpl=weed_get_plantptr_value(params[i],WEED_LEAF_TEMPLATE,&error); - if (weed_plant_has_leaf(ptmpl,WEED_LEAF_GUI)) { - gui=weed_get_plantptr_value(ptmpl,WEED_LEAF_GUI,&error); - weed_add_plant_flags(gui,WEED_LEAF_READONLY_PLUGIN); + num_params = weed_leaf_num_elements(inst, WEED_LEAF_IN_PARAMETERS); + if (num_params > 0) { + params = weed_get_plantptr_array(inst, WEED_LEAF_IN_PARAMETERS, &error); + for (i = 0; i < num_params; i++) { + ptmpl = weed_get_plantptr_value(params[i], WEED_LEAF_TEMPLATE, &error); + if (weed_plant_has_leaf(ptmpl, WEED_LEAF_GUI)) { + gui = weed_get_plantptr_value(ptmpl, WEED_LEAF_GUI, &error); + weed_add_plant_flags(gui, WEED_LEAF_READONLY_PLUGIN); } } lives_free(params); } - } + void set_param_gui_readwrite(weed_plant_t *inst) { - int num_params,error,i; - weed_plant_t **params,*gui,*ptmpl; + int num_params, error, i; + weed_plant_t **params, *gui, *ptmpl; - num_params=weed_leaf_num_elements(inst,WEED_LEAF_IN_PARAMETERS); - if (num_params>0) { - params=weed_get_plantptr_array(inst,WEED_LEAF_IN_PARAMETERS,&error); - for (i=0; i<num_params; i++) { - ptmpl=weed_get_plantptr_value(params[i],WEED_LEAF_TEMPLATE,&error); - if (weed_plant_has_leaf(ptmpl,WEED_LEAF_GUI)) { - gui=weed_get_plantptr_value(ptmpl,WEED_LEAF_GUI,&error); - weed_clear_plant_flags(gui,WEED_LEAF_READONLY_PLUGIN); + num_params = weed_leaf_num_elements(inst, WEED_LEAF_IN_PARAMETERS); + if (num_params > 0) { + params = weed_get_plantptr_array(inst, WEED_LEAF_IN_PARAMETERS, &error); + for (i = 0; i < num_params; i++) { + ptmpl = weed_get_plantptr_value(params[i], WEED_LEAF_TEMPLATE, &error); + if (weed_plant_has_leaf(ptmpl, WEED_LEAF_GUI)) { + gui = weed_get_plantptr_value(ptmpl, WEED_LEAF_GUI, &error); + weed_clear_plant_flags(gui, WEED_LEAF_READONLY_PLUGIN); } } lives_free(params); } - } + /// change directory to plugin installation dir so it can find any data files /// /// returns copy of current directory (before directory change) which should be freed after use char *cd_to_plugin_dir(weed_plant_t *filter) { char *ret; int error; - weed_plant_t *plugin_info=weed_get_plantptr_value(filter,WEED_LEAF_PLUGIN_INFO,&error); - char *ppath=weed_get_string_value(plugin_info,WEED_LEAF_HOST_PLUGIN_PATH,&error); - ret=lives_get_current_dir(); + weed_plant_t *plugin_info = weed_get_plantptr_value(filter, WEED_LEAF_PLUGIN_INFO, &error); + char *ppath = weed_get_string_value(plugin_info, WEED_LEAF_HOST_PLUGIN_PATH, &error); + ret = lives_get_current_dir(); // allow this to fail -it's not that important - it just means any plugin data files wont be found // besides, we dont want to show warnings at 50 fps - lives_chdir(ppath,TRUE); + lives_chdir(ppath, TRUE); lives_free(ppath); return ret; } + lives_filter_error_t weed_reinit_effect(weed_plant_t *inst, boolean reinit_compound) { weed_plant_t *filter; - lives_filter_error_t filter_error=FILTER_NO_ERROR; + lives_filter_error_t filter_error = FILTER_NO_ERROR; char *cwd; - boolean is_audio=FALSE,deinit_first=FALSE; + boolean is_audio = FALSE, deinit_first = FALSE; - int error,retval,key=-1; + int error, retval, key = -1; reinit: - if (weed_plant_has_leaf(inst,WEED_LEAF_HOST_KEY)) key=weed_get_int_value(inst,WEED_LEAF_HOST_KEY,&error); + if (weed_plant_has_leaf(inst, WEED_LEAF_HOST_KEY)) key = weed_get_int_value(inst, WEED_LEAF_HOST_KEY, &error); - filter=weed_instance_get_filter(inst,FALSE); + filter = weed_instance_get_filter(inst, FALSE); - if (weed_plant_has_leaf(inst,WEED_LEAF_HOST_INITED)&& - weed_get_boolean_value(inst,WEED_LEAF_HOST_INITED,&error)==WEED_TRUE) deinit_first=TRUE; + if (weed_plant_has_leaf(inst, WEED_LEAF_HOST_INITED) && + weed_get_boolean_value(inst, WEED_LEAF_HOST_INITED, &error) == WEED_TRUE) deinit_first = TRUE; if (deinit_first) { - if (is_pure_audio(filter,FALSE)) { + if (is_pure_audio(filter, FALSE)) { filter_mutex_lock(key); - is_audio=TRUE; + is_audio = TRUE; } weed_call_deinit_func(inst); } - if (weed_plant_has_leaf(filter,WEED_LEAF_INIT_FUNC)) { + if (weed_plant_has_leaf(filter, WEED_LEAF_INIT_FUNC)) { weed_init_f *init_func_ptr_ptr; weed_init_f init_func; - weed_leaf_get(filter,WEED_LEAF_INIT_FUNC,0,(void *)&init_func_ptr_ptr); - init_func=init_func_ptr_ptr[0]; - cwd=cd_to_plugin_dir(filter); - if (init_func!=NULL) { + weed_leaf_get(filter, WEED_LEAF_INIT_FUNC, 0, (void *)&init_func_ptr_ptr); + init_func = init_func_ptr_ptr[0]; + cwd = cd_to_plugin_dir(filter); + if (init_func != NULL) { lives_rfx_t *rfx; set_param_gui_readwrite(inst); update_host_info(inst); - retval=(*init_func)(inst); + retval = (*init_func)(inst); if (is_audio) filter_mutex_unlock(key); set_param_gui_readonly(inst); - if (fx_dialog[1]!=NULL) { + if (fx_dialog[1] != NULL) { // redraw GUI if necessary - rfx=(lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"rfx"); - if (rfx->source_type==LIVES_RFX_SOURCE_WEED&&rfx->source==inst) { - int keyw=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"key")); - int modew=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"mode")); + rfx = (lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "rfx"); + if (rfx->source_type == LIVES_RFX_SOURCE_WEED && rfx->source == inst) { + int keyw = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "key")); + int modew = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "mode")); // do updates from WEED_LEAF_GUI rfx_params_free(rfx); lives_free(rfx->params); - rfx->params=weed_params_to_rfx(rfx->num_params,inst,FALSE); + rfx->params = weed_params_to_rfx(rfx->num_params, inst, FALSE); - redraw_pwindow(keyw,modew); + redraw_pwindow(keyw, modew); } } - if (retval!=WEED_NO_ERROR) { - lives_chdir(cwd,FALSE); + if (retval != WEED_NO_ERROR) { + lives_chdir(cwd, FALSE); lives_free(cwd); return FILTER_ERROR_COULD_NOT_REINIT; } // need to set this before calling deinit - weed_set_boolean_value(inst,WEED_LEAF_HOST_INITED,WEED_TRUE); + weed_set_boolean_value(inst, WEED_LEAF_HOST_INITED, WEED_TRUE); // redraw set defs window } else if (is_audio) filter_mutex_unlock(key); @@ -1514,66 +1498,66 @@ if (is_audio) filter_mutex_unlock(key); } - lives_chdir(cwd,FALSE); + lives_chdir(cwd, FALSE); lives_free(cwd); - filter_error=FILTER_INFO_REINITED; + filter_error = FILTER_INFO_REINITED; } else if (is_audio) filter_mutex_unlock(key); + if (deinit_first) weed_set_boolean_value(inst, WEED_LEAF_HOST_INITED, WEED_TRUE); + else weed_set_boolean_value(inst, WEED_LEAF_HOST_INITED, WEED_FALSE); - if (deinit_first) weed_set_boolean_value(inst,WEED_LEAF_HOST_INITED,WEED_TRUE); - else weed_set_boolean_value(inst,WEED_LEAF_HOST_INITED,WEED_FALSE); - - if (reinit_compound&&weed_plant_has_leaf(inst,WEED_LEAF_HOST_NEXT_INSTANCE)) { + if (reinit_compound && weed_plant_has_leaf(inst, WEED_LEAF_HOST_NEXT_INSTANCE)) { // handle compound fx - inst=weed_get_plantptr_value(inst,WEED_LEAF_HOST_NEXT_INSTANCE,&error); + inst = weed_get_plantptr_value(inst, WEED_LEAF_HOST_NEXT_INSTANCE, &error); goto reinit; } return filter_error; } + void weed_reinit_all(void) { // reinit all effects on playback start - weed_plant_t *instance,*last_inst; + weed_plant_t *instance, *last_inst; int error; register int i; - for (i=0; i<FX_KEYS_MAX_VIRTUAL; i++) { - if (rte_key_valid(i+1,TRUE)) { - if (mainw->rte&(GU641<<i)) { - mainw->osc_block=TRUE; - if ((instance=key_to_instance[i][key_modes[i]])==NULL) { - mainw->osc_block=FALSE; + for (i = 0; i < FX_KEYS_MAX_VIRTUAL; i++) { + if (rte_key_valid(i + 1, TRUE)) { + if (mainw->rte & (GU641 << i)) { + mainw->osc_block = TRUE; + if ((instance = key_to_instance[i][key_modes[i]]) == NULL) { + mainw->osc_block = FALSE; continue; } - last_inst=instance; + last_inst = instance; // ignore video generators - while (weed_plant_has_leaf(last_inst,WEED_LEAF_HOST_NEXT_INSTANCE)) last_inst=weed_get_plantptr_value(last_inst, - WEED_LEAF_HOST_NEXT_INSTANCE,&error); - if (enabled_in_channels(instance,FALSE)==0&&enabled_out_channels(last_inst,FALSE)>0&&!is_pure_audio(last_inst,FALSE)) continue; - weed_reinit_effect(instance,TRUE); + while (weed_plant_has_leaf(last_inst, WEED_LEAF_HOST_NEXT_INSTANCE)) last_inst = weed_get_plantptr_value(last_inst, + WEED_LEAF_HOST_NEXT_INSTANCE, &error); + if (enabled_in_channels(instance, FALSE) == 0 && enabled_out_channels(last_inst, FALSE) > 0 && !is_pure_audio(last_inst, FALSE)) continue; + weed_reinit_effect(instance, TRUE); } } } - mainw->osc_block=FALSE; + mainw->osc_block = FALSE; } static void *thread_process_func(void *arg) { - struct _procvals *procvals=(struct _procvals *)arg; + struct _procvals *procvals = (struct _procvals *)arg; weed_process_f *process_func_ptr_ptr; weed_process_f process_func; - weed_plant_t *inst=procvals->inst; - weed_timecode_t tc=procvals->tc; + weed_plant_t *inst = procvals->inst; + weed_timecode_t tc = procvals->tc; - weed_plant_t *filter=weed_instance_get_filter(inst,FALSE); + weed_plant_t *filter = weed_instance_get_filter(inst, FALSE); - weed_leaf_get(filter,WEED_LEAF_PROCESS_FUNC,0,(void *)&process_func_ptr_ptr); - process_func=process_func_ptr_ptr[0]; + weed_leaf_get(filter, WEED_LEAF_PROCESS_FUNC, 0, (void *)&process_func_ptr_ptr); + process_func = process_func_ptr_ptr[0]; - procvals->ret = (*process_func)(inst,tc); + procvals->ret = (*process_func)(inst, tc); return NULL; } @@ -1581,135 +1565,134 @@ static lives_filter_error_t process_func_threaded(weed_plant_t *inst, weed_plant_t **out_channels, weed_timecode_t tc) { // split output(s) into horizontal slices - int offset=0; - int dheight,height; - int nthreads=0; + int offset = 0; + int dheight, height; + int nthreads = 0; int error; - boolean got_invalid=FALSE; + boolean got_invalid = FALSE; - int nchannels=weed_leaf_num_elements(inst,WEED_LEAF_OUT_CHANNELS),pal,vrt; + int nchannels = weed_leaf_num_elements(inst, WEED_LEAF_OUT_CHANNELS), pal, vrt; int retval; - int minh,xminh; + int minh, xminh; - int slices,slices_per_thread,to_use; + int slices, slices_per_thread, to_use; struct _procvals *procvals; - pthread_t *dthreads=NULL; - weed_plant_t **xinst=NULL; + pthread_t *dthreads = NULL; + weed_plant_t **xinst = NULL; weed_plant_t **xchannels; weed_plant_t *ctmpl; - register int i,j; + register int i, j; - height=weed_get_int_value(out_channels[0],WEED_LEAF_HEIGHT,&error); - xminh=1; + height = weed_get_int_value(out_channels[0], WEED_LEAF_HEIGHT, &error); + xminh = 1; - for (i=0; i<nchannels; i++) { + for (i = 0; i < nchannels; i++) { // min height for slices is 1, unless an out channel has vstep set // or using a compressed yuv palette - ctmpl=weed_get_plantptr_value(out_channels[i],WEED_LEAF_TEMPLATE,&error); + ctmpl = weed_get_plantptr_value(out_channels[i], WEED_LEAF_TEMPLATE, &error); - pal=weed_get_int_value(out_channels[i],WEED_LEAF_CURRENT_PALETTE,&error); - vrt=weed_palette_get_plane_ratio_vertical(pal,1); - if (vrt!=0.&&vrt<1.) if (xminh<(int)(1./vrt)) xminh=(int)(1./vrt); + pal = weed_get_int_value(out_channels[i], WEED_LEAF_CURRENT_PALETTE, &error); + vrt = weed_palette_get_plane_ratio_vertical(pal, 1); + if (vrt != 0. && vrt < 1.) if (xminh < (int)(1. / vrt)) xminh = (int)(1. / vrt); - if (weed_plant_has_leaf(ctmpl,WEED_LEAF_VSTEP)) { - minh=weed_get_int_value(ctmpl,WEED_LEAF_VSTEP,&error); - if (minh>xminh) xminh=minh; + if (weed_plant_has_leaf(ctmpl, WEED_LEAF_VSTEP)) { + minh = weed_get_int_value(ctmpl, WEED_LEAF_VSTEP, &error); + if (minh > xminh) xminh = minh; } } - if (height%xminh!=0) return FILTER_ERROR_DONT_THREAD; + if (height % xminh != 0) return FILTER_ERROR_DONT_THREAD; - slices=height/xminh; - slices_per_thread=CEIL((double)slices/(double)prefs->nfx_threads,1.); + slices = height / xminh; + slices_per_thread = CEIL((double)slices / (double)prefs->nfx_threads, 1.); - to_use=CEIL((double)slices/(double)slices_per_thread,1.); - if (to_use<2) return FILTER_ERROR_DONT_THREAD; + to_use = CEIL((double)slices / (double)slices_per_thread, 1.); + if (to_use < 2) return FILTER_ERROR_DONT_THREAD; - dheight=slices_per_thread*xminh; + dheight = slices_per_thread * xminh; - for (i=0; i<nchannels; i++) { - weed_set_int_value(out_channels[i],WEED_LEAF_OFFSET,0); - weed_set_int_value(out_channels[i],WEED_LEAF_HOST_HEIGHT,height); - weed_set_int_value(out_channels[i],WEED_LEAF_HEIGHT,dheight); + for (i = 0; i < nchannels; i++) { + weed_set_int_value(out_channels[i], WEED_LEAF_OFFSET, 0); + weed_set_int_value(out_channels[i], WEED_LEAF_HOST_HEIGHT, height); + weed_set_int_value(out_channels[i], WEED_LEAF_HEIGHT, dheight); } - procvals=(struct _procvals *)lives_malloc(sizeof(struct _procvals)*to_use); - if (to_use>1) { - xinst=(weed_plant_t **)lives_malloc(sizeof(weed_plant_t *)*(to_use-1)); - dthreads=(pthread_t *)calloc(sizeof(pthread_t)*(to_use-1),1); + procvals = (struct _procvals *)lives_malloc(sizeof(struct _procvals) * to_use); + if (to_use > 1) { + xinst = (weed_plant_t **)lives_malloc(sizeof(weed_plant_t *) * (to_use - 1)); + dthreads = (pthread_t *)calloc(sizeof(pthread_t) * (to_use - 1), 1); } - for (j=1; j<to_use; j++) { + for (j = 1; j < to_use; j++) { // each thread needs its own copy of the output channels, so it can have its own WEED_LEAF_OFFSET and WEED_LEAF_HEIGHT // therefore it also needs its own copy of inst // but note that WEED_LEAF_PIXEL_DATA always points to the same memory buffer(s) - xinst[j-1]=weed_plant_copy(inst); - xchannels=(weed_plant_t **)lives_malloc(nchannels*sizeof(weed_plant_t *)); + xinst[j - 1] = weed_plant_copy(inst); + xchannels = (weed_plant_t **)lives_malloc(nchannels * sizeof(weed_plant_t *)); - for (i=0; i<nchannels; i++) { - xchannels[i]=weed_plant_copy(out_channels[i]); - ctmpl=weed_get_plantptr_value(out_channels[i],WEED_LEAF_TEMPLATE,&error); + for (i = 0; i < nchannels; i++) { + xchannels[i] = weed_plant_copy(out_channels[i]); + ctmpl = weed_get_plantptr_value(out_channels[i], WEED_LEAF_TEMPLATE, &error); - offset=dheight*j; + offset = dheight * j; - if ((height-offset)<dheight) { - dheight=height-offset; + if ((height - offset) < dheight) { + dheight = height - offset; } - weed_set_int_value(xchannels[i],WEED_LEAF_OFFSET,offset); - weed_set_int_value(xchannels[i],WEED_LEAF_HEIGHT,dheight); + weed_set_int_value(xchannels[i], WEED_LEAF_OFFSET, offset); + weed_set_int_value(xchannels[i], WEED_LEAF_HEIGHT, dheight); } - weed_set_plantptr_array(xinst[j-1],WEED_LEAF_OUT_CHANNELS,nchannels,xchannels); + weed_set_plantptr_array(xinst[j - 1], WEED_LEAF_OUT_CHANNELS, nchannels, xchannels); lives_free(xchannels); - procvals[j].inst=xinst[j-1]; - procvals[j].tc=tc; // use same timecode for all slices + procvals[j].inst = xinst[j - 1]; + procvals[j].tc = tc; // use same timecode for all slices // start a thread for processing - pthread_create(&dthreads[j-1],NULL,thread_process_func,&procvals[j]); + pthread_create(&dthreads[j - 1], NULL, thread_process_func, &procvals[j]); nthreads++; // actual number of threads used } - - procvals[0].inst=inst; - procvals[0].tc=tc; + procvals[0].inst = inst; + procvals[0].tc = tc; // use main thread for first slices thread_process_func(&procvals[0]); - retval=procvals[0].ret; + retval = procvals[0].ret; - if (retval==WEED_ERROR_PLUGIN_INVALID) got_invalid=TRUE; + if (retval == WEED_ERROR_PLUGIN_INVALID) got_invalid = TRUE; - for (i=0; i<nchannels; i++) { - weed_leaf_delete(out_channels[i],WEED_LEAF_OFFSET); - weed_set_int_value(out_channels[i],WEED_LEAF_HEIGHT,weed_get_int_value(out_channels[i],WEED_LEAF_HOST_HEIGHT,&error)); - weed_leaf_delete(out_channels[i],WEED_LEAF_HOST_HEIGHT); + for (i = 0; i < nchannels; i++) { + weed_leaf_delete(out_channels[i], WEED_LEAF_OFFSET); + weed_set_int_value(out_channels[i], WEED_LEAF_HEIGHT, weed_get_int_value(out_channels[i], WEED_LEAF_HOST_HEIGHT, &error)); + weed_leaf_delete(out_channels[i], WEED_LEAF_HOST_HEIGHT); } // wait for threads to finish - for (j=0; j<nthreads; j++) { - retval=WEED_NO_ERROR; + for (j = 0; j < nthreads; j++) { + retval = WEED_NO_ERROR; - pthread_join(dthreads[j],NULL); - retval=procvals[j].ret; + pthread_join(dthreads[j], NULL); + retval = procvals[j].ret; - xchannels=weed_get_plantptr_array(xinst[j],WEED_LEAF_OUT_CHANNELS,&error); - for (i=0; i<nchannels; i++) { + xchannels = weed_get_plantptr_array(xinst[j], WEED_LEAF_OUT_CHANNELS, &error); + for (i = 0; i < nchannels; i++) { weed_plant_free(xchannels[i]); } lives_free(xchannels); weed_plant_free(xinst[j]); - if (retval==WEED_ERROR_PLUGIN_INVALID) got_invalid=TRUE; + if (retval == WEED_ERROR_PLUGIN_INVALID) got_invalid = TRUE; } lives_free(procvals); - if (xinst!=NULL) lives_free(xinst); + if (xinst != NULL) lives_free(xinst); lives_freep((void **)&dthreads); if (got_invalid) return FILTER_ERROR_MUST_RELOAD; @@ -1718,9 +1701,6 @@ } - - - static lives_filter_error_t check_cconx(weed_plant_t *inst, int nchans, boolean *needs_reinit) { weed_plant_t **in_channels; int error; @@ -1728,40 +1708,40 @@ register int i; // we stored original key/mode to use here - if (weed_plant_has_leaf(inst,WEED_LEAF_HOST_KEY)) { + if (weed_plant_has_leaf(inst, WEED_LEAF_HOST_KEY)) { // pull from alpha chain - int key=weed_get_int_value(inst,WEED_LEAF_HOST_KEY,&error),mode; - if (weed_plant_has_leaf(inst,WEED_LEAF_HOST_MODE)) { - mode=weed_get_int_value(inst,WEED_LEAF_HOST_MODE,&error); - } else mode=key_modes[key]; + int key = weed_get_int_value(inst, WEED_LEAF_HOST_KEY, &error), mode; + if (weed_plant_has_leaf(inst, WEED_LEAF_HOST_MODE)) { + mode = weed_get_int_value(inst, WEED_LEAF_HOST_MODE, &error); + } else mode = key_modes[key]; // need to do this AFTER setting in-channel size - if (mainw->cconx!=NULL) { + if (mainw->cconx != NULL) { // chain any alpha channels - if (cconx_chain_data(key,mode)) *needs_reinit=TRUE; + if (cconx_chain_data(key, mode)) *needs_reinit = TRUE; } } // make sure we have pixel_data for all mandatory in alpha channels (from alpha chains) // if not, if the ctmpl is optnl mark as host_temp_disabled; else return with error - in_channels=weed_get_plantptr_array(inst,WEED_LEAF_IN_CHANNELS,&error); + in_channels = weed_get_plantptr_array(inst, WEED_LEAF_IN_CHANNELS, &error); - for (i=0; i<nchans; i++) { - if (!weed_palette_is_alpha_palette(weed_get_int_value(in_channels[i],WEED_LEAF_CURRENT_PALETTE,&error))) continue; + for (i = 0; i < nchans; i++) { + if (!weed_palette_is_alpha_palette(weed_get_int_value(in_channels[i], WEED_LEAF_CURRENT_PALETTE, &error))) continue; - if (weed_plant_has_leaf(in_channels[i],WEED_LEAF_HOST_INTERNAL_CONNECTION)) { - if (cconx_chain_data_internal(in_channels[i])) *needs_reinit=TRUE; + if (weed_plant_has_leaf(in_channels[i], WEED_LEAF_HOST_INTERNAL_CONNECTION)) { + if (cconx_chain_data_internal(in_channels[i])) *needs_reinit = TRUE; } - if (weed_get_voidptr_value(in_channels[i],WEED_LEAF_PIXEL_DATA,&error)==NULL) { - weed_plant_t *chantmpl=weed_get_plantptr_value(in_channels[i],WEED_LEAF_TEMPLATE,&error); - if (weed_plant_has_leaf(chantmpl,WEED_LEAF_MAX_REPEATS)||(weed_plant_has_leaf(chantmpl,WEED_LEAF_OPTIONAL)&& - weed_get_boolean_value(chantmpl,WEED_LEAF_OPTIONAL,&error)==WEED_TRUE)) - if (!weed_plant_has_leaf(in_channels[i],WEED_LEAF_DISABLED)|| - weed_get_boolean_value(in_channels[i],WEED_LEAF_DISABLED,&error)==WEED_FALSE) - weed_set_boolean_value(in_channels[i],WEED_LEAF_HOST_TEMP_DISABLED,WEED_TRUE); - else weed_set_boolean_value(in_channels[i],WEED_LEAF_HOST_TEMP_DISABLED,WEED_FALSE); // WEED_LEAF_DISABLED will do instead + if (weed_get_voidptr_value(in_channels[i], WEED_LEAF_PIXEL_DATA, &error) == NULL) { + weed_plant_t *chantmpl = weed_get_plantptr_value(in_channels[i], WEED_LEAF_TEMPLATE, &error); + if (weed_plant_has_leaf(chantmpl, WEED_LEAF_MAX_REPEATS) || (weed_plant_has_leaf(chantmpl, WEED_LEAF_OPTIONAL) && + weed_get_boolean_value(chantmpl, WEED_LEAF_OPTIONAL, &error) == WEED_TRUE)) + if (!weed_plant_has_leaf(in_channels[i], WEED_LEAF_DISABLED) || + weed_get_boolean_value(in_channels[i], WEED_LEAF_DISABLED, &error) == WEED_FALSE) + weed_set_boolean_value(in_channels[i], WEED_LEAF_HOST_TEMP_DISABLED, WEED_TRUE); + else weed_set_boolean_value(in_channels[i], WEED_LEAF_HOST_TEMP_DISABLED, WEED_FALSE); // WEED_LEAF_DISABLED will do instead else { weed_free(in_channels); return FILTER_ERROR_MISSING_CHANNEL; @@ -1773,8 +1753,6 @@ } - - lives_filter_error_t weed_apply_instance(weed_plant_t *inst, weed_plant_t *init_event, weed_plant_t **layers, int opwidth, int opheight, weed_timecode_t tc) { // here we: @@ -1798,12 +1776,9 @@ // if filter does not support inplace, we must create a new pixel_data; this will then replace the original layer - // for in/out alpha channels, there is no matching layer. These channels are passed around like data // using mainw->cconx as a guide. We will simply free any in alpha channels after processing (unless inplace was used) - - // WARNING: output layer may need resizing, and its palette may need adjusting - should be checked by the caller // opwidth and opheight limit the maximum frame size, they can either be set to 0,0 or to max display size; @@ -1811,9 +1786,9 @@ // then the output will be smaller also and need resizing by the caller // TODO ** - handle return errors - int *in_tracks,*out_tracks; + int *in_tracks, *out_tracks; int *rowstrides; - int *layer_rows=NULL,*channel_rows; + int *layer_rows = NULL, *channel_rows; int *mand; void **pixel_data; @@ -1822,264 +1797,257 @@ weed_process_f *process_func_ptr_ptr; weed_process_f process_func; - weed_plant_t *def_channel=NULL; + weed_plant_t *def_channel = NULL; - weed_plant_t *filter=weed_instance_get_filter(inst,FALSE); - weed_plant_t *layer=NULL,*orig_layer=NULL; + weed_plant_t *filter = weed_instance_get_filter(inst, FALSE); + weed_plant_t *layer = NULL, *orig_layer = NULL; - weed_plant_t **in_channels=NULL,**out_channels=NULL,*channel,*chantmpl; + weed_plant_t **in_channels = NULL, **out_channels = NULL, *channel, *chantmpl; weed_plant_t **in_ctmpls; - lives_filter_error_t retval=FILTER_NO_ERROR; + lives_filter_error_t retval = FILTER_NO_ERROR; boolean rowstrides_changed; boolean ignore_palette; - boolean did_thread=FALSE; - boolean needs_reinit=FALSE,inplace=FALSE; - boolean def_disabled=FALSE; - boolean all_out_alpha=TRUE;//,all_in_alpha=FALSE; + boolean did_thread = FALSE; + boolean needs_reinit = FALSE, inplace = FALSE; + boolean def_disabled = FALSE; + boolean all_out_alpha = TRUE; //,all_in_alpha=FALSE; - int num_in_tracks,num_out_tracks; + int num_in_tracks, num_out_tracks; int error; int frame; - int inwidth,inheight,inpalette,outpalette,opalette,channel_flags,filter_flags=0; - int palette,cpalette; - int outwidth,outheight; - int incwidth,incheight,numplanes=0,width,height; + int inwidth, inheight, inpalette, outpalette, opalette, channel_flags, filter_flags = 0; + int palette, cpalette; + int outwidth, outheight; + int incwidth, incheight, numplanes = 0, width, height; int nchr; - int maxinwidth=4,maxinheight=4; - int iclamping,isampling,isubspace; + int maxinwidth = 4, maxinheight = 4; + int iclamping, isampling, isubspace; int clip; - int num_ctmpl,num_inc,num_outc; - int osubspace=-1; - int osampling=-1; - int oclamping=-1; + int num_ctmpl, num_inc, num_outc; + int osubspace = -1; + int osampling = -1; + int oclamping = -1; int flags; - int num_in_alpha=0,num_out_alpha=0; - int nmandout=0; - int lcount=0; - int key=-1; - - register int i,j,k; - - if ((!weed_plant_has_leaf(inst,WEED_LEAF_OUT_CHANNELS)||(out_channels=weed_get_plantptr_array(inst,WEED_LEAF_OUT_CHANNELS,&error))==NULL) - &&(mainw->preview||mainw->is_rendering)&&(num_compound_fx(inst)==1)) { - if (out_channels!=NULL) lives_free(out_channels); + int num_in_alpha = 0, num_out_alpha = 0; + int nmandout = 0; + int lcount = 0; + int key = -1; + + register int i, j, k; + + if ((!weed_plant_has_leaf(inst, WEED_LEAF_OUT_CHANNELS) || + (out_channels = weed_get_plantptr_array(inst, WEED_LEAF_OUT_CHANNELS, &error)) == NULL) + && (mainw->preview || mainw->is_rendering) && (num_compound_fx(inst) == 1)) { + if (out_channels != NULL) lives_free(out_channels); return retval; } - if (weed_plant_has_leaf(filter,WEED_LEAF_FLAGS)) filter_flags=weed_get_int_value(filter,WEED_LEAF_FLAGS,&error); + if (weed_plant_has_leaf(filter, WEED_LEAF_FLAGS)) filter_flags = weed_get_int_value(filter, WEED_LEAF_FLAGS, &error); - if (weed_plant_has_leaf(inst,WEED_LEAF_HOST_KEY)) key=weed_get_int_value(inst,WEED_LEAF_HOST_KEY,&error); + if (weed_plant_has_leaf(inst, WEED_LEAF_HOST_KEY)) key = weed_get_int_value(inst, WEED_LEAF_HOST_KEY, &error); - if (is_pure_audio(filter,TRUE)) { + if (is_pure_audio(filter, TRUE)) { // moved this up, as the next stanza was running beat_detector without setting WEED_LEAF_AUDIO_DATA //lives_free(in_channels); - if (out_channels!=NULL) lives_free(out_channels); + if (out_channels != NULL) lives_free(out_channels); return FILTER_ERROR_IS_AUDIO; // we process audio effects elsewhere } - // here, in_tracks and out_tracks map our layers to in_channels and out_channels in the filter - if (!has_video_chans_in(filter,TRUE)||!weed_plant_has_leaf(inst,WEED_LEAF_IN_CHANNELS)||all_ins_alpha(filter,TRUE)|| - (in_channels=weed_get_plantptr_array(inst,WEED_LEAF_IN_CHANNELS,&error))==NULL) { - - if ((out_channels==NULL&&weed_plant_has_leaf(inst,WEED_LEAF_OUT_PARAMETERS))|| - (all_outs_alpha(filter,TRUE)) + if (!has_video_chans_in(filter, TRUE) || !weed_plant_has_leaf(inst, WEED_LEAF_IN_CHANNELS) || all_ins_alpha(filter, TRUE) || + (in_channels = weed_get_plantptr_array(inst, WEED_LEAF_IN_CHANNELS, &error)) == NULL) { + if ((out_channels == NULL && weed_plant_has_leaf(inst, WEED_LEAF_OUT_PARAMETERS)) || + (all_outs_alpha(filter, TRUE)) ) { - // if alpha out(s) we need to construct the output frames - for (i=0; (channel=get_enabled_channel(inst,i,FALSE))!=NULL; i++) { - pdata=weed_get_voidptr_value(channel,WEED_LEAF_PIXEL_DATA,&error); + for (i = 0; (channel = get_enabled_channel(inst, i, FALSE)) != NULL; i++) { + pdata = weed_get_voidptr_value(channel, WEED_LEAF_PIXEL_DATA, &error); - if (pdata==NULL) { - width=640; // TODO - height=480; + if (pdata == NULL) { + width = 640; // TODO + height = 480; - weed_set_int_value(channel,WEED_LEAF_WIDTH,width); - weed_set_int_value(channel,WEED_LEAF_HEIGHT,height); + weed_set_int_value(channel, WEED_LEAF_WIDTH, width); + weed_set_int_value(channel, WEED_LEAF_HEIGHT, height); - set_channel_size(channel,width,height,1,NULL); + set_channel_size(channel, width, height, 1, NULL); // this will look at width, height, current_palette, and create an empty pixel_data and set rowstrides // and update width and height if necessary - create_empty_pixel_data(channel,FALSE,TRUE); + create_empty_pixel_data(channel, FALSE, TRUE); // align memory if necessary - chantmpl=weed_get_plantptr_value(channel,WEED_LEAF_TEMPLATE,&error); - if (weed_plant_has_leaf(chantmpl,WEED_LEAF_ALIGNMENT)) { - int alignment=weed_get_int_value(chantmpl,WEED_LEAF_ALIGNMENT,&error); - align_pixel_data(channel,alignment); + chantmpl = weed_get_plantptr_value(channel, WEED_LEAF_TEMPLATE, &error); + if (weed_plant_has_leaf(chantmpl, WEED_LEAF_ALIGNMENT)) { + int alignment = weed_get_int_value(chantmpl, WEED_LEAF_ALIGNMENT, &error); + align_pixel_data(channel, alignment); } } } - // TODO - this is more complex, as we have to check the entire chain of fx // run it only if it outputs into effects which have video chans //if (!feeds_to_video_filters(key,rte_key_getmode(key+1))) return FILTER_ERROR_NO_IN_CHANNELS; // see if we can multithread - if ((prefs->nfx_threads=future_prefs->nfx_threads)>1 && - filter_flags&WEED_FILTER_HINT_MAY_THREAD) { + if ((prefs->nfx_threads = future_prefs->nfx_threads) > 1 && + filter_flags & WEED_FILTER_HINT_MAY_THREAD) { filter_mutex_lock(key); // data processing effect; just call the process_func - if (mainw->current_file>-1) - weed_set_double_value(inst,WEED_LEAF_FPS,cfile->pb_fps); - retval=process_func_threaded(inst,out_channels,tc); + if (mainw->current_file > -1) + weed_set_double_value(inst, WEED_LEAF_FPS, cfile->pb_fps); + retval = process_func_threaded(inst, out_channels, tc); filter_mutex_unlock(key); - if (retval!=FILTER_ERROR_DONT_THREAD) did_thread=TRUE; + if (retval != FILTER_ERROR_DONT_THREAD) did_thread = TRUE; } if (!did_thread) { // normal single threaded version int ret; - weed_leaf_get(filter,WEED_LEAF_PROCESS_FUNC,0,(void *)&process_func_ptr_ptr); - process_func=process_func_ptr_ptr[0]; + weed_leaf_get(filter, WEED_LEAF_PROCESS_FUNC, 0, (void *)&process_func_ptr_ptr); + process_func = process_func_ptr_ptr[0]; filter_mutex_lock(key); - if (mainw->current_file>-1) - weed_set_double_value(inst,WEED_LEAF_FPS,cfile->pb_fps); - ret=(*process_func)(inst,tc); + if (mainw->current_file > -1) + weed_set_double_value(inst, WEED_LEAF_FPS, cfile->pb_fps); + ret = (*process_func)(inst, tc); filter_mutex_unlock(key); - if (ret==WEED_ERROR_PLUGIN_INVALID) retval=FILTER_ERROR_MUST_RELOAD; + if (ret == WEED_ERROR_PLUGIN_INVALID) retval = FILTER_ERROR_MUST_RELOAD; } weed_free(in_channels); return retval; } - if (out_channels!=NULL) lives_free(out_channels); + if (out_channels != NULL) lives_free(out_channels); return FILTER_ERROR_NO_IN_CHANNELS; } - if (weed_plant_has_leaf(filter,WEED_LEAF_ROWSTRIDE_ALIGNMENT_HINT)) { - int rowstride_alignment_hint=weed_get_int_value(filter,WEED_LEAF_ROWSTRIDE_ALIGNMENT_HINT,&error); - if ((rowstride_alignment_hint==16|| - rowstride_alignment_hint==8|| - rowstride_alignment_hint==4|| - rowstride_alignment_hint==2) - &&rowstride_alignment_hint>mainw->rowstride_alignment_hint) - mainw->rowstride_alignment_hint=rowstride_alignment_hint; + if (weed_plant_has_leaf(filter, WEED_LEAF_ROWSTRIDE_ALIGNMENT_HINT)) { + int rowstride_alignment_hint = weed_get_int_value(filter, WEED_LEAF_ROWSTRIDE_ALIGNMENT_HINT, &error); + if ((rowstride_alignment_hint == 16 || + rowstride_alignment_hint == 8 || + rowstride_alignment_hint == 4 || + rowstride_alignment_hint == 2) + && rowstride_alignment_hint > mainw->rowstride_alignment_hint) + mainw->rowstride_alignment_hint = rowstride_alignment_hint; } - if (get_enabled_channel(inst,0,TRUE)==NULL) { + if (get_enabled_channel(inst, 0, TRUE) == NULL) { // we process generators elsewhere - if (in_channels!=NULL) lives_free(in_channels); - if (out_channels!=NULL) lives_free(out_channels); + if (in_channels != NULL) lives_free(in_channels); + if (out_channels != NULL) lives_free(out_channels); return FILTER_ERROR_NO_IN_CHANNELS; } - if (init_event==NULL) { - num_in_tracks=enabled_in_channels(inst,FALSE); - in_tracks=(int *)lives_malloc(2*sizint); - in_tracks[0]=0; - in_tracks[1]=1; - num_out_tracks=enabled_out_channels(inst,FALSE); - out_tracks=(int *)lives_malloc(sizint); - out_tracks[0]=0; + if (init_event == NULL) { + num_in_tracks = enabled_in_channels(inst, FALSE); + in_tracks = (int *)lives_malloc(2 * sizint); + in_tracks[0] = 0; + in_tracks[1] = 1; + num_out_tracks = enabled_out_channels(inst, FALSE); + out_tracks = (int *)lives_malloc(sizint); + out_tracks[0] = 0; } else { - num_in_tracks=weed_leaf_num_elements(init_event,WEED_LEAF_IN_TRACKS); - in_tracks=weed_get_int_array(init_event,WEED_LEAF_IN_TRACKS,&error); - num_out_tracks=weed_leaf_num_elements(init_event,WEED_LEAF_OUT_TRACKS); - out_tracks=weed_get_int_array(init_event,WEED_LEAF_OUT_TRACKS,&error); + num_in_tracks = weed_leaf_num_elements(init_event, WEED_LEAF_IN_TRACKS); + in_tracks = weed_get_int_array(init_event, WEED_LEAF_IN_TRACKS, &error); + num_out_tracks = weed_leaf_num_elements(init_event, WEED_LEAF_OUT_TRACKS); + out_tracks = weed_get_int_array(init_event, WEED_LEAF_OUT_TRACKS, &error); } - // handle case where in_tracks[i] > than num layers // either we temporarily disable the channel, or we can't apply the filter - num_inc=weed_leaf_num_elements(inst,WEED_LEAF_IN_CHANNELS); + num_inc = weed_leaf_num_elements(inst, WEED_LEAF_IN_CHANNELS); - for (i=0; i<num_inc; i++) { - if (weed_palette_is_alpha_palette(weed_get_int_value(in_channels[i],WEED_LEAF_CURRENT_PALETTE,&error))&& - !(weed_plant_has_leaf(in_channels[i],WEED_LEAF_DISABLED) && - weed_get_boolean_value(in_channels[i],WEED_LEAF_DISABLED,&error)==WEED_TRUE)) + for (i = 0; i < num_inc; i++) { + if (weed_palette_is_alpha_palette(weed_get_int_value(in_channels[i], WEED_LEAF_CURRENT_PALETTE, &error)) && + !(weed_plant_has_leaf(in_channels[i], WEED_LEAF_DISABLED) && + weed_get_boolean_value(in_channels[i], WEED_LEAF_DISABLED, &error) == WEED_TRUE)) num_in_alpha++; } // if (num_inc==num_in_alpha) all_ins_alpha=TRUE; - num_inc-=num_in_alpha; - - if (num_in_tracks>num_inc) num_in_tracks=num_inc; // for example, compound fx + num_inc -= num_in_alpha; + if (num_in_tracks > num_inc) num_in_tracks = num_inc; // for example, compound fx // if we have more in_channels in the effect than in_tracks, we MUST (temp) disable the extra in_channels - if (num_inc>num_in_tracks) { - for (i=num_in_tracks; i<num_inc+num_in_alpha; i++) { - if (!weed_palette_is_alpha_palette(weed_get_int_value(in_channels[i],WEED_LEAF_CURRENT_PALETTE,&error))) { - if (!weed_plant_has_leaf(in_channels[i],WEED_LEAF_DISABLED)|| - weed_get_boolean_value(in_channels[i],WEED_LEAF_DISABLED,&error)==WEED_FALSE) - weed_set_boolean_value(in_channels[i],WEED_LEAF_HOST_TEMP_DISABLED,WEED_TRUE); - else weed_set_boolean_value(in_channels[i],WEED_LEAF_HOST_TEMP_DISABLED,WEED_FALSE); // WEED_LEAF_DISABLED will do instead + if (num_inc > num_in_tracks) { + for (i = num_in_tracks; i < num_inc + num_in_alpha; i++) { + if (!weed_palette_is_alpha_palette(weed_get_int_value(in_channels[i], WEED_LEAF_CURRENT_PALETTE, &error))) { + if (!weed_plant_has_leaf(in_channels[i], WEED_LEAF_DISABLED) || + weed_get_boolean_value(in_channels[i], WEED_LEAF_DISABLED, &error) == WEED_FALSE) + weed_set_boolean_value(in_channels[i], WEED_LEAF_HOST_TEMP_DISABLED, WEED_TRUE); + else weed_set_boolean_value(in_channels[i], WEED_LEAF_HOST_TEMP_DISABLED, WEED_FALSE); // WEED_LEAF_DISABLED will do instead } } } - // count the actual layers fed in - while (layers[lcount++]!=NULL); - - for (k=i=0; i<num_in_tracks; i++) { + while (layers[lcount++] != NULL); - if (in_tracks[i]<0) { + for (k = i = 0; i < num_in_tracks; i++) { + if (in_tracks[i] < 0) { lives_free(in_tracks); lives_free(out_tracks); lives_free(in_channels); - if (out_channels!=NULL) lives_free(out_channels); + if (out_channels != NULL) lives_free(out_channels); return FILTER_ERROR_INVALID_TRACK; // probably audio } - while (weed_palette_is_alpha_palette(weed_get_int_value(in_channels[k],WEED_LEAF_CURRENT_PALETTE,&error))) k++; + while (weed_palette_is_alpha_palette(weed_get_int_value(in_channels[k], WEED_LEAF_CURRENT_PALETTE, &error))) k++; - channel=in_channels[k]; - weed_set_boolean_value(channel,WEED_LEAF_HOST_TEMP_DISABLED,WEED_FALSE); + channel = in_channels[k]; + weed_set_boolean_value(channel, WEED_LEAF_HOST_TEMP_DISABLED, WEED_FALSE); - if (in_tracks[i]>=lcount) { + if (in_tracks[i] >= lcount) { // here we have more in_tracks than actual layers (this can happen if we have blank frames) // disable some optional channels if we can - for (j=k; j<num_in_tracks+num_in_alpha; j++) { - if (weed_palette_is_alpha_palette(weed_get_int_value(in_channels[j],WEED_LEAF_CURRENT_PALETTE,&error))) continue; - channel=in_channels[j]; - chantmpl=weed_get_plantptr_value(channel,WEED_LEAF_TEMPLATE,&error); - if (weed_plant_has_leaf(chantmpl,WEED_LEAF_MAX_REPEATS)||(weed_plant_has_leaf(chantmpl,WEED_LEAF_OPTIONAL)&& - weed_get_boolean_value(chantmpl,WEED_LEAF_OPTIONAL,&error)==WEED_TRUE)) - if (!weed_plant_has_leaf(channel,WEED_LEAF_DISABLED)|| - weed_get_boolean_value(channel,WEED_LEAF_DISABLED,&error)==WEED_FALSE) - weed_set_boolean_value(channel,WEED_LEAF_HOST_TEMP_DISABLED,WEED_TRUE); - else weed_set_boolean_value(channel,WEED_LEAF_HOST_TEMP_DISABLED,WEED_FALSE); // WEED_LEAF_DISABLED will do instead + for (j = k; j < num_in_tracks + num_in_alpha; j++) { + if (weed_palette_is_alpha_palette(weed_get_int_value(in_channels[j], WEED_LEAF_CURRENT_PALETTE, &error))) continue; + channel = in_channels[j]; + chantmpl = weed_get_plantptr_value(channel, WEED_LEAF_TEMPLATE, &error); + if (weed_plant_has_leaf(chantmpl, WEED_LEAF_MAX_REPEATS) || (weed_plant_has_leaf(chantmpl, WEED_LEAF_OPTIONAL) && + weed_get_boolean_value(chantmpl, WEED_LEAF_OPTIONAL, &error) == WEED_TRUE)) + if (!weed_plant_has_leaf(channel, WEED_LEAF_DISABLED) || + weed_get_boolean_value(channel, WEED_LEAF_DISABLED, &error) == WEED_FALSE) + weed_set_boolean_value(channel, WEED_LEAF_HOST_TEMP_DISABLED, WEED_TRUE); + else weed_set_boolean_value(channel, WEED_LEAF_HOST_TEMP_DISABLED, WEED_FALSE); // WEED_LEAF_DISABLED will do instead else { lives_free(in_tracks); lives_free(out_tracks); lives_free(in_channels); - if (out_channels!=NULL) lives_free(out_channels); + if (out_channels != NULL) lives_free(out_channels); return FILTER_ERROR_MISSING_LAYER; } } break; } - layer=layers[in_tracks[i]]; + layer = layers[in_tracks[i]]; // wait for thread to pull layer pixel_data check_layer_ready(layer); - if (weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error)==NULL) { + if (weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error) == NULL) { // we got no pixel_data for some reason - frame=weed_get_int_value(layer,WEED_LEAF_FRAME,&error); - if (frame==0) { + frame = weed_get_int_value(layer, WEED_LEAF_FRAME, &error); + if (frame == 0) { // temp disable channels if we can - channel=in_channels[k]; - chantmpl=weed_get_plantptr_value(channel,WEED_LEAF_TEMPLATE,&error); - if (weed_plant_has_leaf(chantmpl,WEED_LEAF_MAX_REPEATS)||(weed_plant_has_leaf(chantmpl,WEED_LEAF_OPTIONAL)&& - weed_get_boolean_value(chantmpl,WEED_LEAF_OPTIONAL,&error)==WEED_TRUE)) { - if (!weed_plant_has_leaf(channel,WEED_LEAF_DISABLED)|| - weed_get_boolean_value(channel,WEED_LEAF_DISABLED,&error)==WEED_FALSE) - weed_set_boolean_value(channel,WEED_LEAF_HOST_TEMP_DISABLED,WEED_TRUE); - else weed_set_boolean_value(channel,WEED_LEAF_HOST_TEMP_DISABLED,WEED_FALSE); // WEED_LEAF_DISABLED will do instead + channel = in_channels[k]; + chantmpl = weed_get_plantptr_value(channel, WEED_LEAF_TEMPLATE, &error); + if (weed_plant_has_leaf(chantmpl, WEED_LEAF_MAX_REPEATS) || (weed_plant_has_leaf(chantmpl, WEED_LEAF_OPTIONAL) && + weed_get_boolean_value(chantmpl, WEED_LEAF_OPTIONAL, &error) == WEED_TRUE)) { + if (!weed_plant_has_leaf(channel, WEED_LEAF_DISABLED) || + weed_get_boolean_value(channel, WEED_LEAF_DISABLED, &error) == WEED_FALSE) + weed_set_boolean_value(channel, WEED_LEAF_HOST_TEMP_DISABLED, WEED_TRUE); + else weed_set_boolean_value(channel, WEED_LEAF_HOST_TEMP_DISABLED, WEED_FALSE); // WEED_LEAF_DISABLED will do instead } else { lives_free(in_tracks); lives_free(out_tracks); lives_free(in_channels); - if (out_channels!=NULL) lives_free(out_channels); + if (out_channels != NULL) lives_free(out_channels); return FILTER_ERROR_BLANK_FRAME; } } @@ -2087,37 +2055,36 @@ k++; } - // ensure all chantmpls not marked WEED_LEAF_OPTIONAL have at least one corresponding enabled channel // e.g. we could have disabled all channels from a template with WEED_LEAF_MAX_REPEATS that is not WEED_LEAF_OPTIONAL - num_ctmpl=weed_leaf_num_elements(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES); - mand=(int *)lives_malloc(num_ctmpl*sizint); - for (j=0; j<num_ctmpl; j++) mand[j]=0; - in_ctmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES,&error); - - for (i=0; i<num_inc+num_in_alpha; i++) { - if ((weed_plant_has_leaf(in_channels[i],WEED_LEAF_DISABLED)&& - weed_get_boolean_value(in_channels[i],WEED_LEAF_DISABLED,&error)==WEED_TRUE)|| - (weed_plant_has_leaf(in_channels[i],WEED_LEAF_HOST_TEMP_DISABLED)&& - weed_get_boolean_value(in_channels[i],WEED_LEAF_HOST_TEMP_DISABLED,&error)==WEED_TRUE)) continue; - chantmpl=weed_get_plantptr_value(in_channels[i],WEED_LEAF_TEMPLATE,&error); - for (j=0; j<num_ctmpl; j++) { - if (chantmpl==in_ctmpls[j]) { - mand[j]=1; + num_ctmpl = weed_leaf_num_elements(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES); + mand = (int *)lives_malloc(num_ctmpl * sizint); + for (j = 0; j < num_ctmpl; j++) mand[j] = 0; + in_ctmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES, &error); + + for (i = 0; i < num_inc + num_in_alpha; i++) { + if ((weed_plant_has_leaf(in_channels[i], WEED_LEAF_DISABLED) && + weed_get_boolean_value(in_channels[i], WEED_LEAF_DISABLED, &error) == WEED_TRUE) || + (weed_plant_has_leaf(in_channels[i], WEED_LEAF_HOST_TEMP_DISABLED) && + weed_get_boolean_value(in_channels[i], WEED_LEAF_HOST_TEMP_DISABLED, &error) == WEED_TRUE)) continue; + chantmpl = weed_get_plantptr_value(in_channels[i], WEED_LEAF_TEMPLATE, &error); + for (j = 0; j < num_ctmpl; j++) { + if (chantmpl == in_ctmpls[j]) { + mand[j] = 1; break; } } } - for (j=0; j<num_ctmpl; j++) { - if (mand[j]==0&&(!weed_plant_has_leaf(in_ctmpls[j],WEED_LEAF_OPTIONAL)|| - weed_get_boolean_value(in_ctmpls[j],WEED_LEAF_OPTIONAL,&error)==WEED_FALSE)) { + for (j = 0; j < num_ctmpl; j++) { + if (mand[j] == 0 && (!weed_plant_has_leaf(in_ctmpls[j], WEED_LEAF_OPTIONAL) || + weed_get_boolean_value(in_ctmpls[j], WEED_LEAF_OPTIONAL, &error) == WEED_FALSE)) { lives_free(in_ctmpls); lives_free(in_tracks); lives_free(out_tracks); lives_free(in_channels); - if (out_channels!=NULL) lives_free(out_channels); + if (out_channels != NULL) lives_free(out_channels); lives_free(mand); return FILTER_ERROR_MISSING_LAYER; } @@ -2126,201 +2093,199 @@ lives_free(in_ctmpls); lives_free(mand); - // that is it for in_channels, now we go on to out_channels - num_outc=weed_leaf_num_elements(inst,WEED_LEAF_OUT_CHANNELS); + num_outc = weed_leaf_num_elements(inst, WEED_LEAF_OUT_CHANNELS); - for (i=0; i<num_outc; i++) { - if (weed_palette_is_alpha_palette(weed_get_int_value(out_channels[i],WEED_LEAF_CURRENT_PALETTE,&error))) { - if (!(weed_plant_has_leaf(out_channels[i],WEED_LEAF_DISABLED) && - weed_get_boolean_value(out_channels[i],WEED_LEAF_DISABLED,&error)==WEED_TRUE)) + for (i = 0; i < num_outc; i++) { + if (weed_palette_is_alpha_palette(weed_get_int_value(out_channels[i], WEED_LEAF_CURRENT_PALETTE, &error))) { + if (!(weed_plant_has_leaf(out_channels[i], WEED_LEAF_DISABLED) && + weed_get_boolean_value(out_channels[i], WEED_LEAF_DISABLED, &error) == WEED_TRUE)) num_out_alpha++; } else { - if ((!weed_plant_has_leaf(out_channels[i],WEED_LEAF_DISABLED)|| - weed_get_boolean_value(out_channels[i],WEED_LEAF_DISABLED,&error)==WEED_FALSE)&& - (!weed_plant_has_leaf(out_channels[i],WEED_LEAF_DISABLED)||weed_get_boolean_value(out_channels[i],WEED_LEAF_DISABLED,&error)==WEED_FALSE)) { + if ((!weed_plant_has_leaf(out_channels[i], WEED_LEAF_DISABLED) || + weed_get_boolean_value(out_channels[i], WEED_LEAF_DISABLED, &error) == WEED_FALSE) && + (!weed_plant_has_leaf(out_channels[i], WEED_LEAF_DISABLED) || + weed_get_boolean_value(out_channels[i], WEED_LEAF_DISABLED, &error) == WEED_FALSE)) { nmandout++; } } } - if (init_event==NULL||num_compound_fx(inst)>1) num_out_tracks-=num_out_alpha; + if (init_event == NULL || num_compound_fx(inst) > 1) num_out_tracks -= num_out_alpha; - if (num_out_tracks<0) num_out_tracks=0; + if (num_out_tracks < 0) num_out_tracks = 0; - if (nmandout>num_out_tracks) { + if (nmandout > num_out_tracks) { // occasionally during recording we get an init_event with no WEED_LEAF_OUT_TRACKS (probably when an audio effect inits/deinits a video effect) // needs more investigation lives_free(in_tracks); lives_free(out_tracks); lives_free(in_channels); - if (out_channels!=NULL) lives_free(out_channels); + if (out_channels != NULL) lives_free(out_channels); return FILTER_ERROR_MISSING_CHANNEL; } // pull frames for tracks - for (i=0; i<num_out_tracks+num_out_alpha; i++) { - if (i>=num_outc) continue; // for compound filters, num_out_tracks may not be valid - channel=out_channels[i]; - palette=weed_get_int_value(channel,WEED_LEAF_CURRENT_PALETTE,&error); + for (i = 0; i < num_out_tracks + num_out_alpha; i++) { + if (i >= num_outc) continue; // for compound filters, num_out_tracks may not be valid + channel = out_channels[i]; + palette = weed_get_int_value(channel, WEED_LEAF_CURRENT_PALETTE, &error); if (weed_palette_is_alpha_palette(palette)) continue; - if ((weed_plant_has_leaf(channel,WEED_LEAF_DISABLED)&& - weed_get_boolean_value(channel,WEED_LEAF_DISABLED,&error)==WEED_TRUE)|| - (weed_plant_has_leaf(channel,WEED_LEAF_HOST_TEMP_DISABLED)&& - weed_get_boolean_value(channel,WEED_LEAF_HOST_TEMP_DISABLED,&error)==WEED_TRUE)) continue; - all_out_alpha=FALSE; + if ((weed_plant_has_leaf(channel, WEED_LEAF_DISABLED) && + weed_get_boolean_value(channel, WEED_LEAF_DISABLED, &error) == WEED_TRUE) || + (weed_plant_has_leaf(channel, WEED_LEAF_HOST_TEMP_DISABLED) && + weed_get_boolean_value(channel, WEED_LEAF_HOST_TEMP_DISABLED, &error) == WEED_TRUE)) continue; + all_out_alpha = FALSE; } - - for (j=i=0; i<num_in_tracks; i++) { - while (weed_palette_is_alpha_palette(weed_get_int_value(in_channels[j],WEED_LEAF_CURRENT_PALETTE,&error))) j++; - - if ((weed_plant_has_leaf(in_channels[j],WEED_LEAF_DISABLED)&& - weed_get_boolean_value(in_channels[j],WEED_LEAF_DISABLED,&error)==WEED_TRUE)|| - (weed_plant_has_leaf(in_channels[j],WEED_LEAF_HOST_TEMP_DISABLED)&& - weed_get_boolean_value(in_channels[j],WEED_LEAF_HOST_TEMP_DISABLED,&error)==WEED_TRUE)) { + for (j = i = 0; i < num_in_tracks; i++) { + while (weed_palette_is_alpha_palette(weed_get_int_value(in_channels[j], WEED_LEAF_CURRENT_PALETTE, &error))) j++; + + if ((weed_plant_has_leaf(in_channels[j], WEED_LEAF_DISABLED) && + weed_get_boolean_value(in_channels[j], WEED_LEAF_DISABLED, &error) == WEED_TRUE) || + (weed_plant_has_leaf(in_channels[j], WEED_LEAF_HOST_TEMP_DISABLED) && + weed_get_boolean_value(in_channels[j], WEED_LEAF_HOST_TEMP_DISABLED, &error) == WEED_TRUE)) { j++; continue; } - layer=layers[in_tracks[i]]; - clip=weed_get_int_value(layer,WEED_LEAF_CLIP,&error); + layer = layers[in_tracks[i]]; + clip = weed_get_int_value(layer, WEED_LEAF_CLIP, &error); // check_layer_ready() should have done this, but lets check again - if (!weed_plant_has_leaf(layer,WEED_LEAF_PIXEL_DATA)||weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error)==NULL) { + if (!weed_plant_has_leaf(layer, WEED_LEAF_PIXEL_DATA) || weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error) == NULL) { // pull_frame will set pixel_data,width,height,current_palette and rowstrides - if (!pull_frame(layer,get_image_ext_for_type(mainw->files[clip]->img_type),tc)) { + if (!pull_frame(layer, get_image_ext_for_type(mainw->files[clip]->img_type), tc)) { lives_free(in_tracks); lives_free(out_tracks); lives_free(in_channels); - if (out_channels!=NULL) lives_free(out_channels); + if (out_channels != NULL) lives_free(out_channels); return FILTER_ERROR_MISSING_FRAME; } } // we apply only transitions and compositors to the scrap file - if (clip==mainw->scrap_file&&num_in_tracks==1&&num_out_tracks==1) { + if (clip == mainw->scrap_file && num_in_tracks == 1 && num_out_tracks == 1) { lives_free(in_tracks); lives_free(out_tracks); lives_free(in_channels); - if (out_channels!=NULL) lives_free(out_channels); + if (out_channels != NULL) lives_free(out_channels); return FILTER_ERROR_IS_SCRAP_FILE; } // use comparative widths - in RGB(A) pixels - palette=weed_get_int_value(layer,WEED_LEAF_CURRENT_PALETTE,&error); - if ((inwidth=(weed_get_int_value(layer,WEED_LEAF_WIDTH,&error)*weed_palette_get_pixels_per_macropixel(palette)))>maxinwidth) - maxinwidth=inwidth; - if ((inheight=weed_get_int_value(layer,WEED_LEAF_HEIGHT,&error))>maxinheight) maxinheight=inheight; + palette = weed_get_int_value(layer, WEED_LEAF_CURRENT_PALETTE, &error); + if ((inwidth = (weed_get_int_value(layer, WEED_LEAF_WIDTH, &error) * weed_palette_get_pixels_per_macropixel(palette))) > maxinwidth) + maxinwidth = inwidth; + if ((inheight = weed_get_int_value(layer, WEED_LEAF_HEIGHT, &error)) > maxinheight) maxinheight = inheight; j++; } // pixels - if (maxinwidth<opwidth||opwidth==0) opwidth=maxinwidth; - if (maxinheight<opheight||opheight==0) opheight=maxinheight; + if (maxinwidth < opwidth || opwidth == 0) opwidth = maxinwidth; + if (maxinheight < opheight || opheight == 0) opheight = maxinheight; // first we resize if necessary; then we change the palette - for (k=i=0; k<num_inc+num_in_alpha; k++) { - - channel=get_enabled_channel(inst,k,TRUE); - if (channel==NULL) break; + for (k = i = 0; k < num_inc + num_in_alpha; k++) { + channel = get_enabled_channel(inst, k, TRUE); + if (channel == NULL) break; - if (weed_plant_has_leaf(channel,WEED_LEAF_HOST_TEMP_DISABLED)&& - weed_get_boolean_value(channel,WEED_LEAF_HOST_TEMP_DISABLED,&error)==WEED_TRUE) continue; + if (weed_plant_has_leaf(channel, WEED_LEAF_HOST_TEMP_DISABLED) && + weed_get_boolean_value(channel, WEED_LEAF_HOST_TEMP_DISABLED, &error) == WEED_TRUE) continue; - chantmpl=weed_get_plantptr_value(channel,WEED_LEAF_TEMPLATE,&error); + chantmpl = weed_get_plantptr_value(channel, WEED_LEAF_TEMPLATE, &error); - if (def_channel==NULL) def_channel=channel; + if (def_channel == NULL) def_channel = channel; - if (weed_palette_is_alpha_palette(weed_get_int_value(channel,WEED_LEAF_CURRENT_PALETTE,&error))) { - if (def_channel==channel) continue; - palette=weed_get_int_value(channel,WEED_LEAF_CURRENT_PALETTE,&error); + if (weed_palette_is_alpha_palette(weed_get_int_value(channel, WEED_LEAF_CURRENT_PALETTE, &error))) { + if (def_channel == channel) continue; + palette = weed_get_int_value(channel, WEED_LEAF_CURRENT_PALETTE, &error); } else { - layer=layers[in_tracks[i]]; - palette=weed_get_int_value(layer,WEED_LEAF_CURRENT_PALETTE,&error); + layer = layers[in_tracks[i]]; + palette = weed_get_int_value(layer, WEED_LEAF_CURRENT_PALETTE, &error); } // values in pixels - width=opwidth; - height=opheight; + width = opwidth; + height = opheight; - channel_flags=0; - if (weed_plant_has_leaf(chantmpl,WEED_LEAF_FLAGS)) channel_flags=weed_get_int_value(chantmpl,WEED_LEAF_FLAGS,&error); + channel_flags = 0; + if (weed_plant_has_leaf(chantmpl, WEED_LEAF_FLAGS)) channel_flags = weed_get_int_value(chantmpl, WEED_LEAF_FLAGS, &error); // (channel macropixels) - incwidth=weed_get_int_value(channel,WEED_LEAF_WIDTH,&error); - incheight=weed_get_int_value(channel,WEED_LEAF_HEIGHT,&error); + incwidth = weed_get_int_value(channel, WEED_LEAF_WIDTH, &error); + incheight = weed_get_int_value(channel, WEED_LEAF_HEIGHT, &error); - if (weed_palette_is_alpha_palette(weed_get_int_value(channel,WEED_LEAF_CURRENT_PALETTE,&error))) { - inwidth=weed_get_int_value(def_channel,WEED_LEAF_WIDTH,&error); - inheight=weed_get_int_value(def_channel,WEED_LEAF_HEIGHT,&error); + if (weed_palette_is_alpha_palette(weed_get_int_value(channel, WEED_LEAF_CURRENT_PALETTE, &error))) { + inwidth = weed_get_int_value(def_channel, WEED_LEAF_WIDTH, &error); + inheight = weed_get_int_value(def_channel, WEED_LEAF_HEIGHT, &error); } else { // (layer macropixels) - inwidth=weed_get_int_value(layer,WEED_LEAF_WIDTH,&error); - inheight=weed_get_int_value(layer,WEED_LEAF_HEIGHT,&error); + inwidth = weed_get_int_value(layer, WEED_LEAF_WIDTH, &error); + inheight = weed_get_int_value(layer, WEED_LEAF_HEIGHT, &error); } - if (channel_flags&WEED_CHANNEL_SIZE_CAN_VARY) { - width=inwidth*weed_palette_get_pixels_per_macropixel(palette); // convert inwidth to pixels - height=inheight; + if (channel_flags & WEED_CHANNEL_SIZE_CAN_VARY) { + width = inwidth * weed_palette_get_pixels_per_macropixel(palette); // convert inwidth to pixels + height = inheight; } - cpalette=weed_get_int_value(channel,WEED_LEAF_CURRENT_PALETTE,&error); - width/=weed_palette_get_pixels_per_macropixel(cpalette); // convert width to (channel) macropixels + cpalette = weed_get_int_value(channel, WEED_LEAF_CURRENT_PALETTE, &error); + width /= weed_palette_get_pixels_per_macropixel(cpalette); // convert width to (channel) macropixels - if (weed_plant_has_leaf(channel,WEED_LEAF_YUV_CLAMPING)) iclamping=(weed_get_int_value(channel,WEED_LEAF_YUV_CLAMPING,&error)); - else iclamping=0; + if (weed_plant_has_leaf(channel, WEED_LEAF_YUV_CLAMPING)) iclamping = (weed_get_int_value(channel, WEED_LEAF_YUV_CLAMPING, &error)); + else iclamping = 0; // try to set our target width height - the channel may have restrictions - set_channel_size(channel,width,height,0,NULL); + set_channel_size(channel, width, height, 0, NULL); if (weed_palette_is_alpha_palette(cpalette)) continue; - width=weed_get_int_value(channel,WEED_LEAF_WIDTH,&error)*weed_palette_get_pixels_per_macropixel(cpalette)/ - weed_palette_get_pixels_per_macropixel(palette); - height=weed_get_int_value(channel,WEED_LEAF_HEIGHT,&error); + width = weed_get_int_value(channel, WEED_LEAF_WIDTH, &error) * weed_palette_get_pixels_per_macropixel(cpalette) / + weed_palette_get_pixels_per_macropixel(palette); + height = weed_get_int_value(channel, WEED_LEAF_HEIGHT, &error); // restore channel to original size for now - set_channel_size(channel,incwidth,incheight,0,NULL); + set_channel_size(channel, incwidth, incheight, 0, NULL); - inpalette=palette=weed_get_int_value(layer,WEED_LEAF_CURRENT_PALETTE,&error); + inpalette = palette = weed_get_int_value(layer, WEED_LEAF_CURRENT_PALETTE, &error); // check if we need to resize - if ((inwidth!=width)||(inheight!=height)) { + if ((inwidth != width) || (inheight != height)) { // layer needs resizing - if (prefs->pb_quality==PB_QUALITY_HIGH||opwidth==0||opheight==0) { - if (!resize_layer(layer,width,height,LIVES_INTERP_BEST,cpalette,iclamping)) { + if (prefs->pb_quality == PB_QUALITY_HIGH || opwidth == 0 || opheight == 0) { + if (!resize_layer(layer, width, height, LIVES_INTERP_BEST, cpalette, iclamping)) { lives_free(in_tracks); lives_free(out_tracks); lives_free(in_channels); - if (out_channels!=NULL) lives_free(out_channels); + if (out_channels != NULL) lives_free(out_channels); return FILTER_ERROR_UNABLE_TO_RESIZE; } } else { - if (!resize_layer(layer,width,height,get_interp_value(prefs->pb_quality),cpalette,iclamping)) { + if (!resize_layer(layer, width, height, get_interp_value(prefs->pb_quality), cpalette, iclamping)) { lives_free(in_tracks); lives_free(out_tracks); lives_free(in_channels); - if (out_channels!=NULL) lives_free(out_channels); + if (out_channels != NULL) lives_free(out_channels); return FILTER_ERROR_UNABLE_TO_RESIZE; } } // check palette again in case it changed during resize - inpalette=weed_get_int_value(layer,WEED_LEAF_CURRENT_PALETTE,&error); + inpalette = weed_get_int_value(layer, WEED_LEAF_CURRENT_PALETTE, &error); - inwidth=weed_get_int_value(layer,WEED_LEAF_WIDTH,&error)*weed_palette_get_pixels_per_macropixel(inpalette)/ - weed_palette_get_pixels_per_macropixel(palette); + inwidth = weed_get_int_value(layer, WEED_LEAF_WIDTH, &error) * weed_palette_get_pixels_per_macropixel(inpalette) / + weed_palette_get_pixels_per_macropixel(palette); - inheight=weed_get_int_value(layer,WEED_LEAF_HEIGHT,&error); + inheight = weed_get_int_value(layer, WEED_LEAF_HEIGHT, &error); - if (0&&((inwidth!=width)||(inheight!=height))) { + if (0 && ((inwidth != width) || (inheight != height))) { lives_free(in_tracks); lives_free(out_tracks); lives_free(in_channels); - if (out_channels!=NULL) lives_free(out_channels); + if (out_channels != NULL) lives_free(out_channels); return FILTER_ERROR_UNABLE_TO_RESIZE; } } @@ -2330,356 +2295,342 @@ // try to match palettes with first enabled in channel: // TODO ** - we should see which palette causes the least palette conversions - // TODO: logic here was changed 22/09/2015. Check it is OK - inpalette=weed_get_int_value(layer,WEED_LEAF_CURRENT_PALETTE,&error); + inpalette = weed_get_int_value(layer, WEED_LEAF_CURRENT_PALETTE, &error); - if (i>0&&!(channel_flags&WEED_CHANNEL_PALETTE_CAN_VARY)) - inpalette=weed_get_int_value(def_channel,WEED_LEAF_CURRENT_PALETTE,&error); + if (i > 0 && !(channel_flags & WEED_CHANNEL_PALETTE_CAN_VARY)) + inpalette = weed_get_int_value(def_channel, WEED_LEAF_CURRENT_PALETTE, &error); - opalette=weed_get_int_value(channel,WEED_LEAF_CURRENT_PALETTE,&error); + opalette = weed_get_int_value(channel, WEED_LEAF_CURRENT_PALETTE, &error); - if (opalette!=inpalette) { + if (opalette != inpalette) { // palette change needed; first try to change channel palette - int num_palettes=weed_leaf_num_elements(chantmpl,WEED_LEAF_PALETTE_LIST); - int *palettes=weed_get_int_array(chantmpl,WEED_LEAF_PALETTE_LIST,&error); - if ((palette=check_weed_palette_list(palettes,num_palettes,inpalette))!=opalette) { + int num_palettes = weed_leaf_num_elements(chantmpl, WEED_LEAF_PALETTE_LIST); + int *palettes = weed_get_int_array(chantmpl, WEED_LEAF_PALETTE_LIST, &error); + if ((palette = check_weed_palette_list(palettes, num_palettes, inpalette)) != opalette) { // palette is the nearest match to inpalette - weed_set_int_value(channel,WEED_LEAF_CURRENT_PALETTE,palette); - if (channel_flags&WEED_CHANNEL_REINIT_ON_PALETTE_CHANGE) needs_reinit=TRUE; + weed_set_int_value(channel, WEED_LEAF_CURRENT_PALETTE, palette); + if (channel_flags & WEED_CHANNEL_REINIT_ON_PALETTE_CHANGE) needs_reinit = TRUE; - weed_set_int_value(channel,WEED_LEAF_WIDTH,incwidth/ + weed_set_int_value(channel, WEED_LEAF_WIDTH, incwidth / weed_palette_get_pixels_per_macropixel(palette)* weed_palette_get_pixels_per_macropixel(opalette)); - - - nchr=weed_leaf_num_elements(channel,WEED_LEAF_ROWSTRIDES); - channel_rows=weed_get_int_array(channel,WEED_LEAF_ROWSTRIDES,&error); - for (j=0; j<nchr; j++) { - if (weed_palette_get_plane_ratio_horizontal(inpalette,j)!=0.) - channel_rows[j]*=weed_palette_get_plane_ratio_horizontal(palette,j)/ - weed_palette_get_plane_ratio_horizontal(inpalette,j); + nchr = weed_leaf_num_elements(channel, WEED_LEAF_ROWSTRIDES); + channel_rows = weed_get_int_array(channel, WEED_LEAF_ROWSTRIDES, &error); + for (j = 0; j < nchr; j++) { + if (weed_palette_get_plane_ratio_horizontal(inpalette, j) != 0.) + channel_rows[j] *= weed_palette_get_plane_ratio_horizontal(palette, j) / + weed_palette_get_plane_ratio_horizontal(inpalette, j); } - weed_set_int_array(channel,WEED_LEAF_ROWSTRIDES,nchr,channel_rows); + weed_set_int_array(channel, WEED_LEAF_ROWSTRIDES, nchr, channel_rows); lives_free(channel_rows); } lives_free(palettes); if (weed_palette_is_yuv_palette(palette)) { - if (!(weed_plant_has_leaf(chantmpl,WEED_LEAF_YUV_SUBSPACE))|| - weed_get_int_value(chantmpl,WEED_LEAF_YUV_SUBSPACE,&error)==WEED_YUV_SUBSPACE_YUV) { + if (!(weed_plant_has_leaf(chantmpl, WEED_LEAF_YUV_SUBSPACE)) || + weed_get_int_value(chantmpl, WEED_LEAF_YUV_SUBSPACE, &error) == WEED_YUV_SUBSPACE_YUV) { // set to default for LiVES - weed_set_int_value(channel,WEED_LEAF_YUV_SUBSPACE,WEED_YUV_SUBSPACE_YCBCR); + weed_set_int_value(channel, WEED_LEAF_YUV_SUBSPACE, WEED_YUV_SUBSPACE_YCBCR); } else { - weed_set_int_value(channel,WEED_LEAF_YUV_SUBSPACE,weed_get_int_value(chantmpl,WEED_LEAF_YUV_SUBSPACE,&error)); + weed_set_int_value(channel, WEED_LEAF_YUV_SUBSPACE, weed_get_int_value(chantmpl, WEED_LEAF_YUV_SUBSPACE, &error)); } } } } - - retval=check_cconx(inst,num_inc+num_in_alpha,&needs_reinit); - if (retval!=FILTER_NO_ERROR) { + retval = check_cconx(inst, num_inc + num_in_alpha, &needs_reinit); + if (retval != FILTER_NO_ERROR) { lives_free(in_tracks); lives_free(out_tracks); lives_free(in_channels); - if (out_channels!=NULL) lives_free(out_channels); + if (out_channels != NULL) lives_free(out_channels); return retval; } // now we do a second pass, and we change the palettes of in layers to match the channel, if necessary - - for (j=i=0; i<num_in_tracks; i++) { - + for (j = i = 0; i < num_in_tracks; i++) { do { - channel=get_enabled_channel(inst,i,TRUE); + channel = get_enabled_channel(inst, i, TRUE); - if (weed_plant_has_leaf(channel,WEED_LEAF_HOST_TEMP_DISABLED)&& - weed_get_boolean_value(channel,WEED_LEAF_HOST_TEMP_DISABLED,&error)==WEED_TRUE) continue; + if (weed_plant_has_leaf(channel, WEED_LEAF_HOST_TEMP_DISABLED) && + weed_get_boolean_value(channel, WEED_LEAF_HOST_TEMP_DISABLED, &error) == WEED_TRUE) continue; - chantmpl=weed_get_plantptr_value(channel,WEED_LEAF_TEMPLATE,&error); + chantmpl = weed_get_plantptr_value(channel, WEED_LEAF_TEMPLATE, &error); - inpalette=weed_get_int_value(channel,WEED_LEAF_CURRENT_PALETTE,&error); + inpalette = weed_get_int_value(channel, WEED_LEAF_CURRENT_PALETTE, &error); - channel_flags=0; - if (weed_plant_has_leaf(chantmpl,WEED_LEAF_FLAGS)) channel_flags=weed_get_int_value(chantmpl,WEED_LEAF_FLAGS,&error); + channel_flags = 0; + if (weed_plant_has_leaf(chantmpl, WEED_LEAF_FLAGS)) channel_flags = weed_get_int_value(chantmpl, WEED_LEAF_FLAGS, &error); if (weed_palette_is_alpha_palette(inpalette)) { - if (!(channel_flags&WEED_CHANNEL_SIZE_CAN_VARY)) { - width=weed_get_int_value(channel,WEED_LEAF_WIDTH,&error); - height=weed_get_int_value(channel,WEED_LEAF_HEIGHT,&error); + if (!(channel_flags & WEED_CHANNEL_SIZE_CAN_VARY)) { + width = weed_get_int_value(channel, WEED_LEAF_WIDTH, &error); + height = weed_get_int_value(channel, WEED_LEAF_HEIGHT, &error); if (width != opwidth || height != opheight) { - if (!resize_layer(channel,opwidth,opheight,LIVES_INTERP_BEST,WEED_PALETTE_END,0)) { + if (!resize_layer(channel, opwidth, opheight, LIVES_INTERP_BEST, WEED_PALETTE_END, 0)) { lives_free(in_tracks); lives_free(out_tracks); lives_free(in_channels); - if (out_channels!=NULL) lives_free(out_channels); + if (out_channels != NULL) lives_free(out_channels); return FILTER_ERROR_UNABLE_TO_RESIZE; } } } } - } while (weed_palette_is_alpha_palette(weed_get_int_value(channel,WEED_LEAF_CURRENT_PALETTE,&error))); + } while (weed_palette_is_alpha_palette(weed_get_int_value(channel, WEED_LEAF_CURRENT_PALETTE, &error))); - chantmpl=weed_get_plantptr_value(channel,WEED_LEAF_TEMPLATE,&error); + chantmpl = weed_get_plantptr_value(channel, WEED_LEAF_TEMPLATE, &error); - channel_flags=0; - if (weed_plant_has_leaf(chantmpl,WEED_LEAF_FLAGS)) channel_flags=weed_get_int_value(chantmpl,WEED_LEAF_FLAGS,&error); + channel_flags = 0; + if (weed_plant_has_leaf(chantmpl, WEED_LEAF_FLAGS)) channel_flags = weed_get_int_value(chantmpl, WEED_LEAF_FLAGS, &error); - layer=layers[in_tracks[i]]; + layer = layers[in_tracks[i]]; - if (weed_plant_has_leaf(layer,WEED_LEAF_YUV_CLAMPING)) iclamping=(weed_get_int_value(layer,WEED_LEAF_YUV_CLAMPING,&error)); - else iclamping=WEED_YUV_CLAMPING_CLAMPED; + if (weed_plant_has_leaf(layer, WEED_LEAF_YUV_CLAMPING)) iclamping = (weed_get_int_value(layer, WEED_LEAF_YUV_CLAMPING, &error)); + else iclamping = WEED_YUV_CLAMPING_CLAMPED; - if (oclamping==-1||(channel_flags&WEED_CHANNEL_PALETTE_CAN_VARY)) { - if (weed_plant_has_leaf(chantmpl,WEED_LEAF_YUV_CLAMPING)) { - oclamping=(weed_get_int_value(chantmpl,WEED_LEAF_YUV_CLAMPING,&error)); - } else oclamping=iclamping; + if (oclamping == -1 || (channel_flags & WEED_CHANNEL_PALETTE_CAN_VARY)) { + if (weed_plant_has_leaf(chantmpl, WEED_LEAF_YUV_CLAMPING)) { + oclamping = (weed_get_int_value(chantmpl, WEED_LEAF_YUV_CLAMPING, &error)); + } else oclamping = iclamping; } - if (weed_plant_has_leaf(layer,WEED_LEAF_YUV_SAMPLING)) isampling=(weed_get_int_value(layer,WEED_LEAF_YUV_SAMPLING,&error)); - else isampling=WEED_YUV_SAMPLING_DEFAULT; - + if (weed_plant_has_leaf(layer, WEED_LEAF_YUV_SAMPLING)) isampling = (weed_get_int_value(layer, WEED_LEAF_YUV_SAMPLING, &error)); + else isampling = WEED_YUV_SAMPLING_DEFAULT; - if (osampling==-1||(channel_flags&WEED_CHANNEL_PALETTE_CAN_VARY)) { + if (osampling == -1 || (channel_flags & WEED_CHANNEL_PALETTE_CAN_VARY)) { /* if (weed_plant_has_leaf(chantmpl,WEED_LEAF_YUV_SAMPLING)) osampling=(weed_get_int_value(layer,WEED_LEAF_YUV_SAMPLING,&error)); else */ // cant convert sampling yet - osampling=isampling; + osampling = isampling; } - if (weed_plant_has_leaf(layer,WEED_LEAF_YUV_SUBSPACE)) isubspace=(weed_get_int_value(layer,WEED_LEAF_YUV_SUBSPACE,&error)); - else isubspace=WEED_YUV_SUBSPACE_YCBCR; + if (weed_plant_has_leaf(layer, WEED_LEAF_YUV_SUBSPACE)) isubspace = (weed_get_int_value(layer, WEED_LEAF_YUV_SUBSPACE, &error)); + else isubspace = WEED_YUV_SUBSPACE_YCBCR; - if (osubspace==-1||(channel_flags&WEED_CHANNEL_PALETTE_CAN_VARY)) { + if (osubspace == -1 || (channel_flags & WEED_CHANNEL_PALETTE_CAN_VARY)) { /*if (weed_plant_has_leaf(chantmpl,WEED_LEAF_YUV_SUBSPACE)) osubspace=(weed_get_int_value(chantmpl,WEED_LEAF_YUV_SUBSPACE,&error)); else */ // cant convert subspace yet - osubspace=isubspace; + osubspace = isubspace; } - cpalette=weed_get_int_value(layer,WEED_LEAF_CURRENT_PALETTE,&error); - inpalette=weed_get_int_value(channel,WEED_LEAF_CURRENT_PALETTE,&error); + cpalette = weed_get_int_value(layer, WEED_LEAF_CURRENT_PALETTE, &error); + inpalette = weed_get_int_value(channel, WEED_LEAF_CURRENT_PALETTE, &error); - if (weed_palette_is_rgb_palette(cpalette)&&weed_palette_is_rgb_palette(inpalette)) { - oclamping=iclamping; - osubspace=isubspace; - osampling=isampling; + if (weed_palette_is_rgb_palette(cpalette) && weed_palette_is_rgb_palette(inpalette)) { + oclamping = iclamping; + osubspace = isubspace; + osampling = isampling; } - - if (cpalette!=inpalette||isubspace!=osubspace) { - - if (all_out_alpha&&(weed_palette_is_lower_quality(inpalette,cpalette)|| - (weed_palette_is_rgb_palette(inpalette)&& - !weed_palette_is_rgb_palette(cpalette))|| - (weed_palette_is_rgb_palette(cpalette)&& - !weed_palette_is_rgb_palette(inpalette)))) { + if (cpalette != inpalette || isubspace != osubspace) { + if (all_out_alpha && (weed_palette_is_lower_quality(inpalette, cpalette) || + (weed_palette_is_rgb_palette(inpalette) && + !weed_palette_is_rgb_palette(cpalette)) || + (weed_palette_is_rgb_palette(cpalette) && + !weed_palette_is_rgb_palette(inpalette)))) { // for an analyser (no out channels) we copy the layer if it needs lower quality - orig_layer=layer; - layer=weed_layer_copy(NULL,orig_layer); + orig_layer = layer; + layer = weed_layer_copy(NULL, orig_layer); } - - if (!convert_layer_palette_full(layer,inpalette, - osampling,oclamping,osubspace)) { + if (!convert_layer_palette_full(layer, inpalette, + osampling, oclamping, osubspace)) { lives_free(in_tracks); lives_free(out_tracks); lives_free(in_channels); - if (out_channels!=NULL) lives_free(out_channels); - if (orig_layer!=NULL) { + if (out_channels != NULL) lives_free(out_channels); + if (orig_layer != NULL) { weed_layer_free(layer); } return FILTER_ERROR_INVALID_PALETTE_CONVERSION; } } - palette=weed_get_int_value(layer,WEED_LEAF_CURRENT_PALETTE,&error); + palette = weed_get_int_value(layer, WEED_LEAF_CURRENT_PALETTE, &error); if (weed_palette_is_yuv_palette(palette)) { - if (weed_plant_has_leaf(layer,WEED_LEAF_YUV_CLAMPING)) - oclamping=(weed_get_int_value(layer,WEED_LEAF_YUV_CLAMPING,&error)); + if (weed_plant_has_leaf(layer, WEED_LEAF_YUV_CLAMPING)) + oclamping = (weed_get_int_value(layer, WEED_LEAF_YUV_CLAMPING, &error)); - if (weed_plant_has_leaf(layer,WEED_LEAF_YUV_SAMPLING)) - osampling=(weed_get_int_value(layer,WEED_LEAF_YUV_SAMPLING,&error)); + if (weed_plant_has_leaf(layer, WEED_LEAF_YUV_SAMPLING)) + osampling = (weed_get_int_value(layer, WEED_LEAF_YUV_SAMPLING, &error)); - if (weed_plant_has_leaf(layer,WEED_LEAF_YUV_CLAMPING)) - osubspace=(weed_get_int_value(layer,WEED_LEAF_YUV_SUBSPACE,&error)); + if (weed_plant_has_leaf(layer, WEED_LEAF_YUV_CLAMPING)) + osubspace = (weed_get_int_value(layer, WEED_LEAF_YUV_SUBSPACE, &error)); - weed_set_int_value(channel,WEED_LEAF_YUV_CLAMPING,oclamping); - weed_set_int_value(channel,WEED_LEAF_YUV_SAMPLING,osampling); - weed_set_int_value(channel,WEED_LEAF_YUV_SUBSPACE,osubspace); + weed_set_int_value(channel, WEED_LEAF_YUV_CLAMPING, oclamping); + weed_set_int_value(channel, WEED_LEAF_YUV_SAMPLING, osampling); + weed_set_int_value(channel, WEED_LEAF_YUV_SUBSPACE, osubspace); } else { - weed_leaf_delete(channel,WEED_LEAF_YUV_CLAMPING); - weed_leaf_delete(channel,WEED_LEAF_YUV_SAMPLING); - weed_leaf_delete(channel,WEED_LEAF_YUV_SUBSPACE); + weed_leaf_delete(channel, WEED_LEAF_YUV_CLAMPING); + weed_leaf_delete(channel, WEED_LEAF_YUV_SAMPLING); + weed_leaf_delete(channel, WEED_LEAF_YUV_SUBSPACE); } - incwidth=weed_get_int_value(channel,WEED_LEAF_WIDTH,&error); - incheight=weed_get_int_value(channel,WEED_LEAF_HEIGHT,&error); + incwidth = weed_get_int_value(channel, WEED_LEAF_WIDTH, &error); + incheight = weed_get_int_value(channel, WEED_LEAF_HEIGHT, &error); - nchr=weed_leaf_num_elements(channel,WEED_LEAF_ROWSTRIDES); - channel_rows=weed_get_int_array(channel,WEED_LEAF_ROWSTRIDES,&error); - - if (weed_plant_has_leaf(layer,WEED_LEAF_FLAGS)) flags=weed_get_int_value(layer,WEED_LEAF_FLAGS,&error); - else flags=0; - if (flags!=0) weed_set_int_value(channel,WEED_LEAF_FLAGS,flags); + nchr = weed_leaf_num_elements(channel, WEED_LEAF_ROWSTRIDES); + channel_rows = weed_get_int_array(channel, WEED_LEAF_ROWSTRIDES, &error); + if (weed_plant_has_leaf(layer, WEED_LEAF_FLAGS)) flags = weed_get_int_value(layer, WEED_LEAF_FLAGS, &error); + else flags = 0; + if (flags != 0) weed_set_int_value(channel, WEED_LEAF_FLAGS, flags); // after all resizing and palette conversions, we set the width, height and rowstrides with their final values - width=weed_get_int_value(layer,WEED_LEAF_WIDTH,&error); - height=weed_get_int_value(layer,WEED_LEAF_HEIGHT,&error); + width = weed_get_int_value(layer, WEED_LEAF_WIDTH, &error); + height = weed_get_int_value(layer, WEED_LEAF_HEIGHT, &error); - numplanes=weed_leaf_num_elements(layer,WEED_LEAF_ROWSTRIDES); - rowstrides=weed_get_int_array(layer,WEED_LEAF_ROWSTRIDES,&error); + numplanes = weed_leaf_num_elements(layer, WEED_LEAF_ROWSTRIDES); + rowstrides = weed_get_int_array(layer, WEED_LEAF_ROWSTRIDES, &error); - set_channel_size(channel,width,height,numplanes,rowstrides); + set_channel_size(channel, width, height, numplanes, rowstrides); // check layer rowstrides against previous settings - rowstrides_changed=rowstrides_differ(numplanes,rowstrides,nchr,channel_rows); + rowstrides_changed = rowstrides_differ(numplanes, rowstrides, nchr, channel_rows); lives_free(channel_rows); lives_free(rowstrides); - if (((rowstrides_changed&&(channel_flags&WEED_CHANNEL_REINIT_ON_ROWSTRIDES_CHANGE))|| - (((incwidth!=width)||(incheight!=height))&&(channel_flags&WEED_CHANNEL_REINIT_ON_SIZE_CHANGE)))) - needs_reinit=TRUE; + if (((rowstrides_changed && (channel_flags & WEED_CHANNEL_REINIT_ON_ROWSTRIDES_CHANGE)) || + (((incwidth != width) || (incheight != height)) && (channel_flags & WEED_CHANNEL_REINIT_ON_SIZE_CHANGE)))) + needs_reinit = TRUE; - weed_set_int64_value(channel,WEED_LEAF_TIMECODE,tc); + weed_set_int64_value(channel, WEED_LEAF_TIMECODE, tc); // align memory if necessary - if (weed_plant_has_leaf(chantmpl,WEED_LEAF_ALIGNMENT)) { - int alignment=weed_get_int_value(chantmpl,WEED_LEAF_ALIGNMENT,&error); - align_pixel_data(layer,alignment); + if (weed_plant_has_leaf(chantmpl, WEED_LEAF_ALIGNMENT)) { + int alignment = weed_get_int_value(chantmpl, WEED_LEAF_ALIGNMENT, &error); + align_pixel_data(layer, alignment); } - pixel_data=weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - weed_set_voidptr_array(channel,WEED_LEAF_PIXEL_DATA,numplanes,pixel_data); + pixel_data = weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + weed_set_voidptr_array(channel, WEED_LEAF_PIXEL_DATA, numplanes, pixel_data); lives_free(pixel_data); - if (weed_plant_has_leaf(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS)) - weed_set_boolean_value(channel,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS, - weed_get_boolean_value(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS,&error)); - else if (weed_plant_has_leaf(channel,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS)) - weed_leaf_delete(channel,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS); - - if (weed_plant_has_leaf(layer,WEED_LEAF_HOST_PIXBUF_SRC)) - weed_set_voidptr_value(channel,WEED_LEAF_HOST_PIXBUF_SRC, - weed_get_voidptr_value(layer,WEED_LEAF_HOST_PIXBUF_SRC,&error)); - else if (weed_plant_has_leaf(channel,WEED_LEAF_HOST_PIXBUF_SRC)) - weed_leaf_delete(channel,WEED_LEAF_HOST_PIXBUF_SRC); - + if (weed_plant_has_leaf(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS)) + weed_set_boolean_value(channel, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS, + weed_get_boolean_value(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS, &error)); + else if (weed_plant_has_leaf(channel, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS)) + weed_leaf_delete(channel, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS); + + if (weed_plant_has_leaf(layer, WEED_LEAF_HOST_PIXBUF_SRC)) + weed_set_voidptr_value(channel, WEED_LEAF_HOST_PIXBUF_SRC, + weed_get_voidptr_value(layer, WEED_LEAF_HOST_PIXBUF_SRC, &error)); + else if (weed_plant_has_leaf(channel, WEED_LEAF_HOST_PIXBUF_SRC)) + weed_leaf_delete(channel, WEED_LEAF_HOST_PIXBUF_SRC); } // we may need to disable some channels for the plugin - for (i=0; i<num_in_tracks+num_in_alpha; i++) { - if (weed_plant_has_leaf(in_channels[i],WEED_LEAF_HOST_TEMP_DISABLED)&& - weed_get_boolean_value(in_channels[i],WEED_LEAF_HOST_TEMP_DISABLED,&error)==WEED_TRUE) - weed_set_boolean_value(in_channels[i],WEED_LEAF_DISABLED,WEED_TRUE); + for (i = 0; i < num_in_tracks + num_in_alpha; i++) { + if (weed_plant_has_leaf(in_channels[i], WEED_LEAF_HOST_TEMP_DISABLED) && + weed_get_boolean_value(in_channels[i], WEED_LEAF_HOST_TEMP_DISABLED, &error) == WEED_TRUE) + weed_set_boolean_value(in_channels[i], WEED_LEAF_DISABLED, WEED_TRUE); } // set up our out channels - for (i=0; i<num_out_tracks+num_out_alpha; i++) { - channel=get_enabled_channel(inst,i,FALSE); - if (channel==NULL) break; // compound fx + for (i = 0; i < num_out_tracks + num_out_alpha; i++) { + channel = get_enabled_channel(inst, i, FALSE); + if (channel == NULL) break; // compound fx - palette=weed_get_int_value(channel,WEED_LEAF_CURRENT_PALETTE,&error); + palette = weed_get_int_value(channel, WEED_LEAF_CURRENT_PALETTE, &error); - if (!weed_palette_is_alpha_palette(palette)&&out_tracks[i]<0) { + if (!weed_palette_is_alpha_palette(palette) && out_tracks[i] < 0) { lives_free(in_tracks); lives_free(out_tracks); lives_free(in_channels); - if (out_channels!=NULL) lives_free(out_channels); - if (orig_layer!=NULL) { + if (out_channels != NULL) lives_free(out_channels); + if (orig_layer != NULL) { weed_layer_free(layer); } return FILTER_ERROR_INVALID_TRACK; // probably audio } - outwidth=weed_get_int_value(channel,WEED_LEAF_WIDTH,&error); - outheight=weed_get_int_value(channel,WEED_LEAF_HEIGHT,&error); - - weed_set_int64_value(channel,WEED_LEAF_TIMECODE,tc); - outpalette=weed_get_int_value(channel,WEED_LEAF_CURRENT_PALETTE,&error); - chantmpl=weed_get_plantptr_value(channel,WEED_LEAF_TEMPLATE,&error); - - channel_flags=0; - if (weed_plant_has_leaf(chantmpl,WEED_LEAF_FLAGS)) channel_flags=weed_get_int_value(chantmpl,WEED_LEAF_FLAGS,&error); - - nchr=weed_leaf_num_elements(channel,WEED_LEAF_ROWSTRIDES); - channel_rows=weed_get_int_array(channel,WEED_LEAF_ROWSTRIDES,&error); - - if (def_channel!=NULL) layer_rows=weed_get_int_array(def_channel,WEED_LEAF_ROWSTRIDES,&error); - else layer_rows=weed_get_int_array(channel,WEED_LEAF_ROWSTRIDES,&error); - - if (def_channel!=NULL&&i==0&&(weed_palette_is_alpha_palette - (weed_get_int_value(channel,WEED_LEAF_CURRENT_PALETTE,&error)&& - weed_palette_is_alpha_palette - (weed_get_int_value(def_channel,WEED_LEAF_CURRENT_PALETTE,&error) - ))|| - (in_tracks!=NULL&&out_tracks!=NULL&&in_tracks[0]==out_tracks[0]))) { - - if (channel_flags&WEED_CHANNEL_CAN_DO_INPLACE) { - if (!(weed_palette_is_alpha_palette(weed_get_int_value(in_channels[i],WEED_LEAF_CURRENT_PALETTE,&error) && - weed_plant_has_leaf(channel,WEED_LEAF_HOST_ORIG_PDATA) && - weed_get_boolean_value(channel,WEED_LEAF_HOST_ORIG_PDATA,&error)==WEED_TRUE))) { + outwidth = weed_get_int_value(channel, WEED_LEAF_WIDTH, &error); + outheight = weed_get_int_value(channel, WEED_LEAF_HEIGHT, &error); + weed_set_int64_value(channel, WEED_LEAF_TIMECODE, tc); + outpalette = weed_get_int_value(channel, WEED_LEAF_CURRENT_PALETTE, &error); + chantmpl = weed_get_plantptr_value(channel, WEED_LEAF_TEMPLATE, &error); + + channel_flags = 0; + if (weed_plant_has_leaf(chantmpl, WEED_LEAF_FLAGS)) channel_flags = weed_get_int_value(chantmpl, WEED_LEAF_FLAGS, &error); + + nchr = weed_leaf_num_elements(channel, WEED_LEAF_ROWSTRIDES); + channel_rows = weed_get_int_array(channel, WEED_LEAF_ROWSTRIDES, &error); + + if (def_channel != NULL) layer_rows = weed_get_int_array(def_channel, WEED_LEAF_ROWSTRIDES, &error); + else layer_rows = weed_get_int_array(channel, WEED_LEAF_ROWSTRIDES, &error); + + if (def_channel != NULL && i == 0 && (weed_palette_is_alpha_palette + (weed_get_int_value(channel, WEED_LEAF_CURRENT_PALETTE, &error) && + weed_palette_is_alpha_palette + (weed_get_int_value(def_channel, WEED_LEAF_CURRENT_PALETTE, &error) + )) || + (in_tracks != NULL && out_tracks != NULL && in_tracks[0] == out_tracks[0]))) { + if (channel_flags & WEED_CHANNEL_CAN_DO_INPLACE) { + if (!(weed_palette_is_alpha_palette(weed_get_int_value(in_channels[i], WEED_LEAF_CURRENT_PALETTE, &error) && + weed_plant_has_leaf(channel, WEED_LEAF_HOST_ORIG_PDATA) && + weed_get_boolean_value(channel, WEED_LEAF_HOST_ORIG_PDATA, &error) == WEED_TRUE))) { // ah, good, inplace - int num_palettes=weed_leaf_num_elements(chantmpl,WEED_LEAF_PALETTE_LIST); - int *palettes=weed_get_int_array(chantmpl,WEED_LEAF_PALETTE_LIST,&error); - palette=weed_get_int_value(def_channel,WEED_LEAF_CURRENT_PALETTE,&error); - if (check_weed_palette_list(palettes,num_palettes,palette)==palette) { - weed_set_int_value(channel,WEED_LEAF_CURRENT_PALETTE,palette); - if (outpalette!=palette&&(channel_flags&WEED_CHANNEL_REINIT_ON_PALETTE_CHANGE)) needs_reinit=TRUE; - - width=weed_get_int_value(def_channel,WEED_LEAF_WIDTH,&error); - height=weed_get_int_value(def_channel,WEED_LEAF_HEIGHT,&error); - weed_set_int_value(channel,WEED_LEAF_WIDTH,width); - weed_set_int_value(channel,WEED_LEAF_HEIGHT,height); - - weed_set_int_value(channel,WEED_LEAF_CURRENT_PALETTE,palette); - if (weed_plant_has_leaf(def_channel,WEED_LEAF_YUV_CLAMPING)) { - oclamping=(weed_get_int_value(def_channel,WEED_LEAF_YUV_CLAMPING,&error)); - weed_set_int_value(channel,WEED_LEAF_YUV_CLAMPING,oclamping); - } else weed_leaf_delete(channel,WEED_LEAF_YUV_CLAMPING); - - if (weed_plant_has_leaf(def_channel,WEED_LEAF_YUV_SAMPLING)) - weed_set_int_value(channel,WEED_LEAF_YUV_SAMPLING,weed_get_int_value(def_channel,WEED_LEAF_YUV_SAMPLING,&error)); - else weed_leaf_delete(channel,WEED_LEAF_YUV_SAMPLING); - - if (weed_plant_has_leaf(def_channel,WEED_LEAF_YUV_SUBSPACE)) - weed_set_int_value(channel,WEED_LEAF_YUV_SUBSPACE,weed_get_int_value(def_channel,WEED_LEAF_YUV_SUBSPACE,&error)); - else weed_leaf_delete(channel,WEED_LEAF_YUV_SUBSPACE); - - numplanes=weed_leaf_num_elements(def_channel,WEED_LEAF_ROWSTRIDES); - weed_set_int_array(channel,WEED_LEAF_ROWSTRIDES,numplanes,layer_rows); - pixel_data=weed_get_voidptr_array(def_channel,WEED_LEAF_PIXEL_DATA,&error); - weed_set_voidptr_array(channel,WEED_LEAF_PIXEL_DATA,numplanes,pixel_data); + int num_palettes = weed_leaf_num_elements(chantmpl, WEED_LEAF_PALETTE_LIST); + int *palettes = weed_get_int_array(chantmpl, WEED_LEAF_PALETTE_LIST, &error); + palette = weed_get_int_value(def_channel, WEED_LEAF_CURRENT_PALETTE, &error); + if (check_weed_palette_list(palettes, num_palettes, palette) == palette) { + weed_set_int_value(channel, WEED_LEAF_CURRENT_PALETTE, palette); + if (outpalette != palette && (channel_flags & WEED_CHANNEL_REINIT_ON_PALETTE_CHANGE)) needs_reinit = TRUE; + + width = weed_get_int_value(def_channel, WEED_LEAF_WIDTH, &error); + height = weed_get_int_value(def_channel, WEED_LEAF_HEIGHT, &error); + weed_set_int_value(channel, WEED_LEAF_WIDTH, width); + weed_set_int_value(channel, WEED_LEAF_HEIGHT, height); + + weed_set_int_value(channel, WEED_LEAF_CURRENT_PALETTE, palette); + if (weed_plant_has_leaf(def_channel, WEED_LEAF_YUV_CLAMPING)) { + oclamping = (weed_get_int_value(def_channel, WEED_LEAF_YUV_CLAMPING, &error)); + weed_set_int_value(channel, WEED_LEAF_YUV_CLAMPING, oclamping); + } else weed_leaf_delete(channel, WEED_LEAF_YUV_CLAMPING); + + if (weed_plant_has_leaf(def_channel, WEED_LEAF_YUV_SAMPLING)) + weed_set_int_value(channel, WEED_LEAF_YUV_SAMPLING, weed_get_int_value(def_channel, WEED_LEAF_YUV_SAMPLING, &error)); + else weed_leaf_delete(channel, WEED_LEAF_YUV_SAMPLING); + + if (weed_plant_has_leaf(def_channel, WEED_LEAF_YUV_SUBSPACE)) + weed_set_int_value(channel, WEED_LEAF_YUV_SUBSPACE, weed_get_int_value(def_channel, WEED_LEAF_YUV_SUBSPACE, &error)); + else weed_leaf_delete(channel, WEED_LEAF_YUV_SUBSPACE); + + numplanes = weed_leaf_num_elements(def_channel, WEED_LEAF_ROWSTRIDES); + weed_set_int_array(channel, WEED_LEAF_ROWSTRIDES, numplanes, layer_rows); + pixel_data = weed_get_voidptr_array(def_channel, WEED_LEAF_PIXEL_DATA, &error); + weed_set_voidptr_array(channel, WEED_LEAF_PIXEL_DATA, numplanes, pixel_data); lives_free(pixel_data); - weed_set_boolean_value(channel,WEED_LEAF_HOST_INPLACE,WEED_TRUE); - inplace=TRUE; - if (weed_plant_has_leaf(def_channel,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS)) - weed_set_boolean_value(channel,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS, - weed_get_boolean_value(def_channel,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS,&error)); - else if (weed_plant_has_leaf(channel,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS)) - weed_leaf_delete(channel,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS); - - if (weed_plant_has_leaf(def_channel,WEED_LEAF_HOST_PIXBUF_SRC)) - weed_set_voidptr_value(channel,WEED_LEAF_HOST_PIXBUF_SRC, - weed_get_voidptr_value(layer,WEED_LEAF_HOST_PIXBUF_SRC,&error)); - else if (weed_plant_has_leaf(channel,WEED_LEAF_HOST_PIXBUF_SRC)) - weed_leaf_delete(channel,WEED_LEAF_HOST_PIXBUF_SRC); + weed_set_boolean_value(channel, WEED_LEAF_HOST_INPLACE, WEED_TRUE); + inplace = TRUE; + if (weed_plant_has_leaf(def_channel, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS)) + weed_set_boolean_value(channel, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS, + weed_get_boolean_value(def_channel, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS, &error)); + else if (weed_plant_has_leaf(channel, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS)) + weed_leaf_delete(channel, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS); + + if (weed_plant_has_leaf(def_channel, WEED_LEAF_HOST_PIXBUF_SRC)) + weed_set_voidptr_value(channel, WEED_LEAF_HOST_PIXBUF_SRC, + weed_get_voidptr_value(layer, WEED_LEAF_HOST_PIXBUF_SRC, &error)); + else if (weed_plant_has_leaf(channel, WEED_LEAF_HOST_PIXBUF_SRC)) + weed_leaf_delete(channel, WEED_LEAF_HOST_PIXBUF_SRC); if (weed_palette_is_alpha_palette(palette)) { // protect our in- channel from being freed() - weed_set_boolean_value(channel,WEED_LEAF_HOST_ORIG_PDATA,WEED_TRUE); + weed_set_boolean_value(channel, WEED_LEAF_HOST_ORIG_PDATA, WEED_TRUE); } } lives_free(palettes); @@ -2687,34 +2638,33 @@ } } - if (def_channel==NULL) def_channel=get_enabled_channel(inst,0,FALSE); + if (def_channel == NULL) def_channel = get_enabled_channel(inst, 0, FALSE); - if (weed_get_boolean_value(def_channel,WEED_LEAF_HOST_TEMP_DISABLED,&error)==WEED_TRUE) def_disabled=TRUE; + if (weed_get_boolean_value(def_channel, WEED_LEAF_HOST_TEMP_DISABLED, &error) == WEED_TRUE) def_disabled = TRUE; - ignore_palette=FALSE; - - if (!inplace||def_disabled) { + ignore_palette = FALSE; + if (!inplace || def_disabled) { if (!def_disabled) { // try to match palettes with first enabled in channel - palette=weed_get_int_value(def_channel,WEED_LEAF_CURRENT_PALETTE,&error); + palette = weed_get_int_value(def_channel, WEED_LEAF_CURRENT_PALETTE, &error); - if (palette!=outpalette) { + if (palette != outpalette) { // palette change needed; try to change channel palette - int num_palettes=weed_leaf_num_elements(chantmpl,WEED_LEAF_PALETTE_LIST); - int *palettes=weed_get_int_array(chantmpl,WEED_LEAF_PALETTE_LIST,&error); - if (check_weed_palette_list(palettes,num_palettes,palette)==palette) { - weed_set_int_value(channel,WEED_LEAF_CURRENT_PALETTE,palette); - if (channel_flags&WEED_CHANNEL_REINIT_ON_PALETTE_CHANGE) needs_reinit=TRUE; + int num_palettes = weed_leaf_num_elements(chantmpl, WEED_LEAF_PALETTE_LIST); + int *palettes = weed_get_int_array(chantmpl, WEED_LEAF_PALETTE_LIST, &error); + if (check_weed_palette_list(palettes, num_palettes, palette) == palette) { + weed_set_int_value(channel, WEED_LEAF_CURRENT_PALETTE, palette); + if (channel_flags & WEED_CHANNEL_REINIT_ON_PALETTE_CHANGE) needs_reinit = TRUE; } else { - if (channel_flags&WEED_CHANNEL_PALETTE_CAN_VARY) ignore_palette=TRUE; + if (channel_flags & WEED_CHANNEL_PALETTE_CAN_VARY) ignore_palette = TRUE; else { lives_free(in_tracks); lives_free(out_tracks); lives_free(in_channels); - if (out_channels!=NULL) lives_free(out_channels); + if (out_channels != NULL) lives_free(out_channels); lives_free(channel_rows); - if (orig_layer!=NULL) { + if (orig_layer != NULL) { weed_layer_free(layer); } return FILTER_ERROR_INVALID_PALETTE_SETTINGS; // plugin author messed up... @@ -2724,121 +2674,120 @@ } if (!ignore_palette) { + if (weed_plant_has_leaf(def_channel, WEED_LEAF_YUV_CLAMPING)) { + oclamping = (weed_get_int_value(def_channel, WEED_LEAF_YUV_CLAMPING, &error)); + weed_set_int_value(channel, WEED_LEAF_YUV_CLAMPING, oclamping); + } else weed_leaf_delete(channel, WEED_LEAF_YUV_CLAMPING); - if (weed_plant_has_leaf(def_channel,WEED_LEAF_YUV_CLAMPING)) { - oclamping=(weed_get_int_value(def_channel,WEED_LEAF_YUV_CLAMPING,&error)); - weed_set_int_value(channel,WEED_LEAF_YUV_CLAMPING,oclamping); - } else weed_leaf_delete(channel,WEED_LEAF_YUV_CLAMPING); - - if (weed_plant_has_leaf(def_channel,WEED_LEAF_YUV_SAMPLING)) - weed_set_int_value(channel,WEED_LEAF_YUV_SAMPLING,weed_get_int_value(def_channel,WEED_LEAF_YUV_SAMPLING,&error)); - else weed_leaf_delete(channel,WEED_LEAF_YUV_SAMPLING); + if (weed_plant_has_leaf(def_channel, WEED_LEAF_YUV_SAMPLING)) + weed_set_int_value(channel, WEED_LEAF_YUV_SAMPLING, weed_get_int_value(def_channel, WEED_LEAF_YUV_SAMPLING, &error)); + else weed_leaf_delete(channel, WEED_LEAF_YUV_SAMPLING); - if (weed_plant_has_leaf(def_channel,WEED_LEAF_YUV_SUBSPACE)) - weed_set_int_value(channel,WEED_LEAF_YUV_SUBSPACE,weed_get_int_value(def_channel,WEED_LEAF_YUV_SUBSPACE,&error)); - else weed_leaf_delete(channel,WEED_LEAF_YUV_SUBSPACE); + if (weed_plant_has_leaf(def_channel, WEED_LEAF_YUV_SUBSPACE)) + weed_set_int_value(channel, WEED_LEAF_YUV_SUBSPACE, weed_get_int_value(def_channel, WEED_LEAF_YUV_SUBSPACE, &error)); + else weed_leaf_delete(channel, WEED_LEAF_YUV_SUBSPACE); } } - palette=weed_get_int_value(channel,WEED_LEAF_CURRENT_PALETTE,&error); + palette = weed_get_int_value(channel, WEED_LEAF_CURRENT_PALETTE, &error); - if (weed_plant_has_leaf(channel,WEED_LEAF_HOST_WIDTH)) { - width=opwidth=weed_get_int_value(channel,WEED_LEAF_HOST_WIDTH,&error); - height=opheight=weed_get_int_value(channel,WEED_LEAF_HOST_HEIGHT,&error); + if (weed_plant_has_leaf(channel, WEED_LEAF_HOST_WIDTH)) { + width = opwidth = weed_get_int_value(channel, WEED_LEAF_HOST_WIDTH, &error); + height = opheight = weed_get_int_value(channel, WEED_LEAF_HOST_HEIGHT, &error); } else { - width=weed_get_int_value(def_channel,WEED_LEAF_WIDTH,&error); - height=weed_get_int_value(def_channel,WEED_LEAF_HEIGHT,&error); + width = weed_get_int_value(def_channel, WEED_LEAF_WIDTH, &error); + height = weed_get_int_value(def_channel, WEED_LEAF_HEIGHT, &error); } - pdata=weed_get_voidptr_value(channel,WEED_LEAF_PIXEL_DATA,&error); + pdata = weed_get_voidptr_value(channel, WEED_LEAF_PIXEL_DATA, &error); - if (weed_palette_is_alpha_palette(palette)&&outpalette==palette&&outwidth==width&&outheight==height&&pdata!=NULL) { + if (weed_palette_is_alpha_palette(palette) && outpalette == palette && outwidth == width && outheight == height && pdata != NULL) { lives_free(channel_rows); continue; } - set_channel_size(channel,opwidth/weed_palette_get_pixels_per_macropixel(palette),opheight,1,NULL); + set_channel_size(channel, opwidth / weed_palette_get_pixels_per_macropixel(palette), opheight, 1, NULL); // this will look at width, height, current_palette, and create an empty pixel_data and set rowstrides // and update width and height if necessary - create_empty_pixel_data(channel,FALSE,TRUE); + create_empty_pixel_data(channel, FALSE, TRUE); // align memory if necessary - if (weed_plant_has_leaf(chantmpl,WEED_LEAF_ALIGNMENT)) { - int alignment=weed_get_int_value(chantmpl,WEED_LEAF_ALIGNMENT,&error); - align_pixel_data(channel,alignment); + if (weed_plant_has_leaf(chantmpl, WEED_LEAF_ALIGNMENT)) { + int alignment = weed_get_int_value(chantmpl, WEED_LEAF_ALIGNMENT, &error); + align_pixel_data(channel, alignment); } - weed_set_boolean_value(channel,WEED_LEAF_HOST_INPLACE,WEED_FALSE); + weed_set_boolean_value(channel, WEED_LEAF_HOST_INPLACE, WEED_FALSE); } // check old rowstrides against current rowstrides - rowstrides_changed=rowstrides_differ(nchr,channel_rows,numplanes,layer_rows); + rowstrides_changed = rowstrides_differ(nchr, channel_rows, numplanes, layer_rows); lives_free(channel_rows); lives_free(layer_rows); - width=weed_get_int_value(channel,WEED_LEAF_WIDTH,&error); - height=weed_get_int_value(channel,WEED_LEAF_HEIGHT,&error); - if ((rowstrides_changed&&(channel_flags&WEED_CHANNEL_REINIT_ON_ROWSTRIDES_CHANGE))|| - (((outwidth!=width)||(outheight!=height))&&(channel_flags&WEED_CHANNEL_REINIT_ON_SIZE_CHANGE))) - needs_reinit=TRUE; + width = weed_get_int_value(channel, WEED_LEAF_WIDTH, &error); + height = weed_get_int_value(channel, WEED_LEAF_HEIGHT, &error); + if ((rowstrides_changed && (channel_flags & WEED_CHANNEL_REINIT_ON_ROWSTRIDES_CHANGE)) || + (((outwidth != width) || (outheight != height)) && (channel_flags & WEED_CHANNEL_REINIT_ON_SIZE_CHANGE))) + needs_reinit = TRUE; } if (needs_reinit) { - if ((retval=weed_reinit_effect(inst,FALSE))==FILTER_ERROR_COULD_NOT_REINIT) { + if ((retval = weed_reinit_effect(inst, FALSE)) == FILTER_ERROR_COULD_NOT_REINIT) { lives_free(in_tracks); lives_free(out_tracks); lives_free(in_channels); - if (out_channels!=NULL) lives_free(out_channels); - if (orig_layer!=NULL) { + if (out_channels != NULL) lives_free(out_channels); + if (orig_layer != NULL) { weed_layer_free(layer); } return retval; } } - if (mainw->current_file>-1) - weed_set_double_value(inst,WEED_LEAF_FPS,cfile->pb_fps); + if (mainw->current_file > -1) + weed_set_double_value(inst, WEED_LEAF_FPS, cfile->pb_fps); //...finally we are ready to apply the filter - channel=get_enabled_channel(inst,0,FALSE); + channel = get_enabled_channel(inst, 0, FALSE); // see if we can multithread - if ((prefs->nfx_threads=future_prefs->nfx_threads)>1 && - filter_flags&WEED_FILTER_HINT_MAY_THREAD) { + if ((prefs->nfx_threads = future_prefs->nfx_threads) > 1 && + filter_flags & WEED_FILTER_HINT_MAY_THREAD) { filter_mutex_lock(key); - retval=process_func_threaded(inst,out_channels,tc); + retval = process_func_threaded(inst, out_channels, tc); filter_mutex_unlock(key); - if (retval!=FILTER_ERROR_DONT_THREAD) did_thread=TRUE; + if (retval != FILTER_ERROR_DONT_THREAD) did_thread = TRUE; } if (!did_thread) { // normal single threaded version int ret; - weed_leaf_get(filter,WEED_LEAF_PROCESS_FUNC,0,(void *)&process_func_ptr_ptr); - process_func=process_func_ptr_ptr[0]; + weed_leaf_get(filter, WEED_LEAF_PROCESS_FUNC, 0, (void *)&process_func_ptr_ptr); + process_func = process_func_ptr_ptr[0]; filter_mutex_lock(key); - ret=(*process_func)(inst,tc); + ret = (*process_func)(inst, tc); filter_mutex_unlock(key); - if (ret==WEED_ERROR_PLUGIN_INVALID) retval=FILTER_ERROR_MUST_RELOAD; + if (ret == WEED_ERROR_PLUGIN_INVALID) retval = FILTER_ERROR_MUST_RELOAD; } - if (retval==FILTER_ERROR_MUST_RELOAD) { + if (retval == FILTER_ERROR_MUST_RELOAD) { lives_free(in_tracks); lives_free(out_tracks); lives_free(in_channels); - if (out_channels!=NULL) lives_free(out_channels); - if (orig_layer!=NULL) { + if (out_channels != NULL) lives_free(out_channels); + if (orig_layer != NULL) { weed_layer_free(layer); } return retval; } - for (k=0; k<num_inc+num_in_alpha; k++) { - channel=get_enabled_channel(inst,k,TRUE); - if (weed_palette_is_alpha_palette(weed_get_int_value(channel,WEED_LEAF_CURRENT_PALETTE,&error))) { + for (k = 0; k < num_inc + num_in_alpha; k++) { + channel = get_enabled_channel(inst, k, TRUE); + if (weed_palette_is_alpha_palette(weed_get_int_value(channel, WEED_LEAF_CURRENT_PALETTE, &error))) { // free pdata for all alpha in channels, unless orig pdata was passed from a prior fx weed_layer_pixel_data_free(channel); } @@ -2846,82 +2795,80 @@ // now we write our out channels back to layers, leaving the palettes and sizes unchanged - for (i=k=0; k<num_out_tracks+num_out_alpha; k++) { + for (i = k = 0; k < num_out_tracks + num_out_alpha; k++) { + channel = get_enabled_channel(inst, k, FALSE); + if (channel == NULL) break; // compound fx - channel=get_enabled_channel(inst,k,FALSE); - if (channel==NULL) break; // compound fx + if (weed_get_boolean_value(channel, WEED_LEAF_HOST_INPLACE, &error) == WEED_TRUE) continue; - if (weed_get_boolean_value(channel,WEED_LEAF_HOST_INPLACE,&error)==WEED_TRUE) continue; - - if (weed_palette_is_alpha_palette(weed_get_int_value(channel,WEED_LEAF_CURRENT_PALETTE,&error))) { + if (weed_palette_is_alpha_palette(weed_get_int_value(channel, WEED_LEAF_CURRENT_PALETTE, &error))) { // out chan data for alpha is freed after all fx proc - in case we need for in chans continue; } - - layer=layers[out_tracks[i]]; + layer = layers[out_tracks[i]]; check_layer_ready(layer); weed_layer_pixel_data_free(layer); - numplanes=weed_leaf_num_elements(channel,WEED_LEAF_PIXEL_DATA); + numplanes = weed_leaf_num_elements(channel, WEED_LEAF_PIXEL_DATA); - rowstrides=weed_get_int_array(channel,WEED_LEAF_ROWSTRIDES,&error); - weed_set_int_array(layer,WEED_LEAF_ROWSTRIDES,numplanes,rowstrides); + rowstrides = weed_get_int_array(channel, WEED_LEAF_ROWSTRIDES, &error); + weed_set_int_array(layer, WEED_LEAF_ROWSTRIDES, numplanes, rowstrides); lives_free(rowstrides); - pixel_data=weed_get_voidptr_array(channel,WEED_LEAF_PIXEL_DATA,&error); - weed_set_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,numplanes,pixel_data); + pixel_data = weed_get_voidptr_array(channel, WEED_LEAF_PIXEL_DATA, &error); + weed_set_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, numplanes, pixel_data); lives_free(pixel_data); // set this in case it was a resize plugin - width=weed_get_int_value(channel,WEED_LEAF_WIDTH,&error); - height=weed_get_int_value(channel,WEED_LEAF_HEIGHT,&error); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width); - weed_set_int_value(layer,WEED_LEAF_HEIGHT,height); + width = weed_get_int_value(channel, WEED_LEAF_WIDTH, &error); + height = weed_get_int_value(channel, WEED_LEAF_HEIGHT, &error); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width); + weed_set_int_value(layer, WEED_LEAF_HEIGHT, height); - palette=weed_get_int_value(channel,WEED_LEAF_CURRENT_PALETTE,&error); // do we need this ? + palette = weed_get_int_value(channel, WEED_LEAF_CURRENT_PALETTE, &error); // do we need this ? i++; - if (weed_plant_has_leaf(channel,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS)) - weed_set_boolean_value(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS, - weed_get_boolean_value(channel,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS,&error)); - else if (weed_plant_has_leaf(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS)) - weed_leaf_delete(layer,WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS); - - if (weed_plant_has_leaf(channel,WEED_LEAF_HOST_PIXBUF_SRC)) - weed_set_voidptr_value(layer,WEED_LEAF_HOST_PIXBUF_SRC, - weed_get_voidptr_value(channel,WEED_LEAF_HOST_PIXBUF_SRC,&error)); - else if (weed_plant_has_leaf(layer,WEED_LEAF_HOST_PIXBUF_SRC)) - weed_leaf_delete(layer,WEED_LEAF_HOST_PIXBUF_SRC); - - chantmpl=weed_get_plantptr_value(channel,WEED_LEAF_TEMPLATE,&error); - - if (weed_plant_has_leaf(chantmpl,WEED_LEAF_FLAGS)) flags=weed_get_int_value(chantmpl,WEED_LEAF_FLAGS,&error); - else flags=0; - - if (weed_plant_has_leaf(channel,WEED_LEAF_YUV_CLAMPING)) { - oclamping=(weed_get_int_value(channel,WEED_LEAF_YUV_CLAMPING,&error)); - weed_set_int_value(layer,WEED_LEAF_YUV_CLAMPING,oclamping); - } else weed_leaf_delete(layer,WEED_LEAF_YUV_CLAMPING); - - if (weed_plant_has_leaf(channel,WEED_LEAF_YUV_SAMPLING)) - weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,weed_get_int_value(channel,WEED_LEAF_YUV_SAMPLING,&error)); - else weed_leaf_delete(layer,WEED_LEAF_YUV_SAMPLING); - - if (weed_plant_has_leaf(channel,WEED_LEAF_YUV_SUBSPACE)) - weed_set_int_value(layer,WEED_LEAF_YUV_SUBSPACE,weed_get_int_value(channel,WEED_LEAF_YUV_SUBSPACE,&error)); - else weed_leaf_delete(layer,WEED_LEAF_YUV_SUBSPACE); + if (weed_plant_has_leaf(channel, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS)) + weed_set_boolean_value(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS, + weed_get_boolean_value(channel, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS, &error)); + else if (weed_plant_has_leaf(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS)) + weed_leaf_delete(layer, WEED_LEAF_HOST_PIXEL_DATA_CONTIGUOUS); + + if (weed_plant_has_leaf(channel, WEED_LEAF_HOST_PIXBUF_SRC)) + weed_set_voidptr_value(layer, WEED_LEAF_HOST_PIXBUF_SRC, + weed_get_voidptr_value(channel, WEED_LEAF_HOST_PIXBUF_SRC, &error)); + else if (weed_plant_has_leaf(layer, WEED_LEAF_HOST_PIXBUF_SRC)) + weed_leaf_delete(layer, WEED_LEAF_HOST_PIXBUF_SRC); + + chantmpl = weed_get_plantptr_value(channel, WEED_LEAF_TEMPLATE, &error); + + if (weed_plant_has_leaf(chantmpl, WEED_LEAF_FLAGS)) flags = weed_get_int_value(chantmpl, WEED_LEAF_FLAGS, &error); + else flags = 0; + + if (weed_plant_has_leaf(channel, WEED_LEAF_YUV_CLAMPING)) { + oclamping = (weed_get_int_value(channel, WEED_LEAF_YUV_CLAMPING, &error)); + weed_set_int_value(layer, WEED_LEAF_YUV_CLAMPING, oclamping); + } else weed_leaf_delete(layer, WEED_LEAF_YUV_CLAMPING); + + if (weed_plant_has_leaf(channel, WEED_LEAF_YUV_SAMPLING)) + weed_set_int_value(layer, WEED_LEAF_YUV_SAMPLING, weed_get_int_value(channel, WEED_LEAF_YUV_SAMPLING, &error)); + else weed_leaf_delete(layer, WEED_LEAF_YUV_SAMPLING); + + if (weed_plant_has_leaf(channel, WEED_LEAF_YUV_SUBSPACE)) + weed_set_int_value(layer, WEED_LEAF_YUV_SUBSPACE, weed_get_int_value(channel, WEED_LEAF_YUV_SUBSPACE, &error)); + else weed_leaf_delete(layer, WEED_LEAF_YUV_SUBSPACE); } - for (i=0; i<num_inc+num_in_alpha; i++) { - if (weed_plant_has_leaf(in_channels[i],WEED_LEAF_HOST_TEMP_DISABLED)&& - weed_get_boolean_value(in_channels[i],WEED_LEAF_HOST_TEMP_DISABLED,&error)==WEED_TRUE) { - weed_set_boolean_value(in_channels[i],WEED_LEAF_DISABLED,WEED_FALSE); - weed_set_boolean_value(in_channels[i],WEED_LEAF_HOST_TEMP_DISABLED,WEED_FALSE); + for (i = 0; i < num_inc + num_in_alpha; i++) { + if (weed_plant_has_leaf(in_channels[i], WEED_LEAF_HOST_TEMP_DISABLED) && + weed_get_boolean_value(in_channels[i], WEED_LEAF_HOST_TEMP_DISABLED, &error) == WEED_TRUE) { + weed_set_boolean_value(in_channels[i], WEED_LEAF_DISABLED, WEED_FALSE); + weed_set_boolean_value(in_channels[i], WEED_LEAF_HOST_TEMP_DISABLED, WEED_FALSE); } } // done... @@ -2929,9 +2876,9 @@ lives_free(in_tracks); lives_free(out_tracks); lives_free(in_channels); - if (out_channels!=NULL) lives_free(out_channels); + if (out_channels != NULL) lives_free(out_channels); - if (orig_layer!=NULL) { + if (orig_layer != NULL) { weed_layer_free(layer); } @@ -2939,76 +2886,75 @@ } - static lives_filter_error_t weed_apply_audio_instance_inner(weed_plant_t *inst, weed_plant_t *init_event, weed_plant_t **layers, weed_timecode_t tc, int nbtracks) { - int *in_tracks,*out_tracks; + int *in_tracks, *out_tracks; int *mand; int error; - weed_plant_t *filter=weed_instance_get_filter(inst,FALSE); + weed_plant_t *filter = weed_instance_get_filter(inst, FALSE); weed_plant_t *layer; - weed_plant_t **in_channels,**out_channels=NULL,*channel,*chantmpl; + weed_plant_t **in_channels, **out_channels = NULL, *channel, *chantmpl; weed_plant_t **in_ctmpls; weed_process_f *process_func_ptr_ptr; weed_process_f process_func; - lives_filter_error_t retval=FILTER_NO_ERROR; + lives_filter_error_t retval = FILTER_NO_ERROR; - void *adata=NULL,*adata0=NULL; + void *adata = NULL, *adata0 = NULL; - boolean inplace=FALSE; - boolean did_thread=FALSE; + boolean inplace = FALSE; + boolean did_thread = FALSE; - int channel_flags,filter_flags=0; - int num_in_tracks,num_out_tracks; + int channel_flags, filter_flags = 0; + int num_in_tracks, num_out_tracks; - int num_ctmpl,num_inc; - int key=-1; + int num_ctmpl, num_inc; + int key = -1; - int nchans=0; - int nsamps=0; + int nchans = 0; + int nsamps = 0; - register int i,j; + register int i, j; // TODO - handle the following: // input audio_channels are mono, but the plugin NEEDS stereo - if (weed_plant_has_leaf(filter,WEED_LEAF_FLAGS)) filter_flags=weed_get_int_value(filter,WEED_LEAF_FLAGS,&error); + if (weed_plant_has_leaf(filter, WEED_LEAF_FLAGS)) filter_flags = weed_get_int_value(filter, WEED_LEAF_FLAGS, &error); - if (weed_plant_has_leaf(inst,WEED_LEAF_HOST_KEY)) key=weed_get_int_value(inst,WEED_LEAF_HOST_KEY,&error); + if (weed_plant_has_leaf(inst, WEED_LEAF_HOST_KEY)) key = weed_get_int_value(inst, WEED_LEAF_HOST_KEY, &error); // here, in_tracks and out_tracks map our layers to in_channels and out_channels in the filter - if (!weed_plant_has_leaf(inst,WEED_LEAF_IN_CHANNELS)||(in_channels=weed_get_plantptr_array(inst,WEED_LEAF_IN_CHANNELS,&error))==NULL) { - if (out_channels==NULL&&weed_plant_has_leaf(inst,WEED_LEAF_OUT_PARAMETERS)) { - + if (!weed_plant_has_leaf(inst, WEED_LEAF_IN_CHANNELS) || + (in_channels = weed_get_plantptr_array(inst, WEED_LEAF_IN_CHANNELS, &error)) == NULL) { + if (out_channels == NULL && weed_plant_has_leaf(inst, WEED_LEAF_OUT_PARAMETERS)) { // TODO - need to check the entire chain of effects // run it only if it outputs into effects which have audio chans - if (!feeds_to_audio_filters(key,rte_key_getmode(key+1))) return FILTER_ERROR_NO_IN_CHANNELS; + if (!feeds_to_audio_filters(key, rte_key_getmode(key + 1))) return FILTER_ERROR_NO_IN_CHANNELS; - if (mainw->current_file>-1) + if (mainw->current_file > -1) // data processing effect; just call the process_func - weed_set_double_value(inst,WEED_LEAF_FPS,cfile->pb_fps); + weed_set_double_value(inst, WEED_LEAF_FPS, cfile->pb_fps); // see if we can multithread - if ((prefs->nfx_threads=future_prefs->nfx_threads)>1 && - filter_flags&WEED_FILTER_HINT_MAY_THREAD) { + if ((prefs->nfx_threads = future_prefs->nfx_threads) > 1 && + filter_flags & WEED_FILTER_HINT_MAY_THREAD) { filter_mutex_lock(key); - retval=process_func_threaded(inst,out_channels,tc); + retval = process_func_threaded(inst, out_channels, tc); filter_mutex_unlock(key); - if (retval!=FILTER_ERROR_DONT_THREAD) did_thread=TRUE; + if (retval != FILTER_ERROR_DONT_THREAD) did_thread = TRUE; } if (!did_thread) { // normal single threaded version int ret; - weed_leaf_get(filter,WEED_LEAF_PROCESS_FUNC,0,(void *)&process_func_ptr_ptr); - process_func=process_func_ptr_ptr[0]; + weed_leaf_get(filter, WEED_LEAF_PROCESS_FUNC, 0, (void *)&process_func_ptr_ptr); + process_func = process_func_ptr_ptr[0]; filter_mutex_lock(key); - ret=(*process_func)(inst,tc); + ret = (*process_func)(inst, tc); filter_mutex_unlock(key); - if (ret==WEED_ERROR_PLUGIN_INVALID) retval=FILTER_ERROR_MUST_RELOAD; + if (ret == WEED_ERROR_PLUGIN_INVALID) retval = FILTER_ERROR_MUST_RELOAD; } return retval; } @@ -3016,205 +2962,203 @@ return FILTER_ERROR_NO_IN_CHANNELS; } - if (get_enabled_channel(inst,0,TRUE)==NULL) { + if (get_enabled_channel(inst, 0, TRUE) == NULL) { // we process generators elsewhere return FILTER_ERROR_NO_IN_CHANNELS; } - - if (init_event==NULL) { - num_in_tracks=enabled_in_channels(inst,FALSE); - in_tracks=(int *)lives_malloc(2*sizint); - in_tracks[0]=0; - in_tracks[1]=1; - num_out_tracks=1; - out_tracks=(int *)lives_malloc(sizint); - out_tracks[0]=0; + if (init_event == NULL) { + num_in_tracks = enabled_in_channels(inst, FALSE); + in_tracks = (int *)lives_malloc(2 * sizint); + in_tracks[0] = 0; + in_tracks[1] = 1; + num_out_tracks = 1; + out_tracks = (int *)lives_malloc(sizint); + out_tracks[0] = 0; } else { - num_in_tracks=weed_leaf_num_elements(init_event,WEED_LEAF_IN_TRACKS); - in_tracks=weed_get_int_array(init_event,WEED_LEAF_IN_TRACKS,&error); - num_out_tracks=weed_leaf_num_elements(init_event,WEED_LEAF_OUT_TRACKS); - out_tracks=weed_get_int_array(init_event,WEED_LEAF_OUT_TRACKS,&error); + num_in_tracks = weed_leaf_num_elements(init_event, WEED_LEAF_IN_TRACKS); + in_tracks = weed_get_int_array(init_event, WEED_LEAF_IN_TRACKS, &error); + num_out_tracks = weed_leaf_num_elements(init_event, WEED_LEAF_OUT_TRACKS); + out_tracks = weed_get_int_array(init_event, WEED_LEAF_OUT_TRACKS, &error); } - if (!weed_plant_has_leaf(inst,WEED_LEAF_OUT_CHANNELS)||(out_channels=weed_get_plantptr_array(inst,WEED_LEAF_OUT_CHANNELS,&error))==NULL) { - num_out_tracks=0; + if (!weed_plant_has_leaf(inst, WEED_LEAF_OUT_CHANNELS) || + (out_channels = weed_get_plantptr_array(inst, WEED_LEAF_OUT_CHANNELS, &error)) == NULL) { + num_out_tracks = 0; } // handle case where in_tracks[i] > than num layers // either we temporarily disable the channel, or we can't apply the filter - num_inc=weed_leaf_num_elements(inst,WEED_LEAF_IN_CHANNELS); + num_inc = weed_leaf_num_elements(inst, WEED_LEAF_IN_CHANNELS); - if (num_in_tracks>num_inc) num_in_tracks=num_inc; + if (num_in_tracks > num_inc) num_in_tracks = num_inc; - if (num_inc>num_in_tracks) { - for (i=num_in_tracks; i<num_inc; i++) { - if (!weed_plant_has_leaf(in_channels[i],WEED_LEAF_DISABLED)|| - weed_get_boolean_value(in_channels[i],WEED_LEAF_DISABLED,&error)==WEED_FALSE) - weed_set_boolean_value(in_channels[i],WEED_LEAF_HOST_TEMP_DISABLED,WEED_TRUE); - else weed_set_boolean_value(in_channels[i],WEED_LEAF_HOST_TEMP_DISABLED,WEED_FALSE); + if (num_inc > num_in_tracks) { + for (i = num_in_tracks; i < num_inc; i++) { + if (!weed_plant_has_leaf(in_channels[i], WEED_LEAF_DISABLED) || + weed_get_boolean_value(in_channels[i], WEED_LEAF_DISABLED, &error) == WEED_FALSE) + weed_set_boolean_value(in_channels[i], WEED_LEAF_HOST_TEMP_DISABLED, WEED_TRUE); + else weed_set_boolean_value(in_channels[i], WEED_LEAF_HOST_TEMP_DISABLED, WEED_FALSE); } } - - for (i=0; i<num_in_tracks; i++) { - channel=in_channels[i]; - weed_set_boolean_value(channel,WEED_LEAF_HOST_TEMP_DISABLED,WEED_FALSE); - if (weed_plant_has_leaf(channel,WEED_LEAF_DISABLED)||weed_get_boolean_value(channel,WEED_LEAF_DISABLED,&error)==WEED_TRUE) continue; - layer=layers[i]; - if (layer==NULL) { - for (j=i; j<num_in_tracks; j++) { - channel=in_channels[j]; - chantmpl=weed_get_plantptr_value(channel,WEED_LEAF_TEMPLATE,&error); - if (weed_plant_has_leaf(chantmpl,WEED_LEAF_MAX_REPEATS)) - if (!weed_plant_has_leaf(channel,WEED_LEAF_DISABLED)|| - weed_get_boolean_value(channel,WEED_LEAF_DISABLED,&error)==WEED_FALSE) - weed_set_boolean_value(channel,WEED_LEAF_HOST_TEMP_DISABLED,WEED_TRUE); - else weed_set_boolean_value(channel,WEED_LEAF_HOST_TEMP_DISABLED,WEED_FALSE); // WEED_LEAF_DISABLED will do instead + for (i = 0; i < num_in_tracks; i++) { + channel = in_channels[i]; + weed_set_boolean_value(channel, WEED_LEAF_HOST_TEMP_DISABLED, WEED_FALSE); + if (weed_plant_has_leaf(channel, WEED_LEAF_DISABLED) || weed_get_boolean_value(channel, WEED_LEAF_DISABLED, &error) == WEED_TRUE) continue; + layer = layers[i]; + if (layer == NULL) { + for (j = i; j < num_in_tracks; j++) { + channel = in_channels[j]; + chantmpl = weed_get_plantptr_value(channel, WEED_LEAF_TEMPLATE, &error); + if (weed_plant_has_leaf(chantmpl, WEED_LEAF_MAX_REPEATS)) + if (!weed_plant_has_leaf(channel, WEED_LEAF_DISABLED) || + weed_get_boolean_value(channel, WEED_LEAF_DISABLED, &error) == WEED_FALSE) + weed_set_boolean_value(channel, WEED_LEAF_HOST_TEMP_DISABLED, WEED_TRUE); + else weed_set_boolean_value(channel, WEED_LEAF_HOST_TEMP_DISABLED, WEED_FALSE); // WEED_LEAF_DISABLED will do instead else { lives_free(in_tracks); lives_free(out_tracks); lives_free(in_channels); - if (out_channels!=NULL) lives_free(out_channels); + if (out_channels != NULL) lives_free(out_channels); return FILTER_ERROR_MISSING_LAYER; } } break; } - if (weed_get_voidptr_value(layer,WEED_LEAF_AUDIO_DATA,&error)==NULL) { - chantmpl=weed_get_plantptr_value(channel,WEED_LEAF_TEMPLATE,&error); - if (weed_plant_has_leaf(chantmpl,WEED_LEAF_MAX_REPEATS)) { - if (!weed_plant_has_leaf(channel,WEED_LEAF_DISABLED)|| - weed_get_boolean_value(channel,WEED_LEAF_DISABLED,&error)==WEED_FALSE) - weed_set_boolean_value(channel,WEED_LEAF_HOST_TEMP_DISABLED,WEED_TRUE); - else weed_set_boolean_value(channel,WEED_LEAF_HOST_TEMP_DISABLED,WEED_FALSE); // WEED_LEAF_DISABLED will do instead + if (weed_get_voidptr_value(layer, WEED_LEAF_AUDIO_DATA, &error) == NULL) { + chantmpl = weed_get_plantptr_value(channel, WEED_LEAF_TEMPLATE, &error); + if (weed_plant_has_leaf(chantmpl, WEED_LEAF_MAX_REPEATS)) { + if (!weed_plant_has_leaf(channel, WEED_LEAF_DISABLED) || + weed_get_boolean_value(channel, WEED_LEAF_DISABLED, &error) == WEED_FALSE) + weed_set_boolean_value(channel, WEED_LEAF_HOST_TEMP_DISABLED, WEED_TRUE); + else weed_set_boolean_value(channel, WEED_LEAF_HOST_TEMP_DISABLED, WEED_FALSE); // WEED_LEAF_DISABLED will do instead } } } // ensure all chantmpls not marked WEED_LEAF_OPTIONAL have at least one corresponding enabled channel // e.g. we could have disabled all channels from a template with WEED_LEAF_MAX_REPEATS that is not WEED_LEAF_OPTIONAL - num_ctmpl=weed_leaf_num_elements(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES); - mand=(int *)lives_malloc(num_ctmpl*sizint); - for (j=0; j<num_ctmpl; j++) mand[j]=0; - in_ctmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES,&error); - for (i=0; i<num_inc; i++) { - if ((weed_plant_has_leaf(in_channels[i],WEED_LEAF_DISABLED)&& - weed_get_boolean_value(in_channels[i],WEED_LEAF_DISABLED,&error)==WEED_TRUE)|| - (weed_plant_has_leaf(in_channels[i],WEED_LEAF_HOST_TEMP_DISABLED)&& - weed_get_boolean_value(in_channels[i],WEED_LEAF_HOST_TEMP_DISABLED,&error)==WEED_TRUE)) continue; - chantmpl=weed_get_plantptr_value(in_channels[i],WEED_LEAF_TEMPLATE,&error); - for (j=0; j<num_ctmpl; j++) { - if (chantmpl==in_ctmpls[j]) { - mand[j]=1; + num_ctmpl = weed_leaf_num_elements(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES); + mand = (int *)lives_malloc(num_ctmpl * sizint); + for (j = 0; j < num_ctmpl; j++) mand[j] = 0; + in_ctmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES, &error); + for (i = 0; i < num_inc; i++) { + if ((weed_plant_has_leaf(in_channels[i], WEED_LEAF_DISABLED) && + weed_get_boolean_value(in_channels[i], WEED_LEAF_DISABLED, &error) == WEED_TRUE) || + (weed_plant_has_leaf(in_channels[i], WEED_LEAF_HOST_TEMP_DISABLED) && + weed_get_boolean_value(in_channels[i], WEED_LEAF_HOST_TEMP_DISABLED, &error) == WEED_TRUE)) continue; + chantmpl = weed_get_plantptr_value(in_channels[i], WEED_LEAF_TEMPLATE, &error); + for (j = 0; j < num_ctmpl; j++) { + if (chantmpl == in_ctmpls[j]) { + mand[j] = 1; break; } } } - for (j=0; j<num_ctmpl; j++) if (mand[j]==0&&(!weed_plant_has_leaf(in_ctmpls[j],WEED_LEAF_OPTIONAL)|| - weed_get_boolean_value(in_ctmpls[j],WEED_LEAF_OPTIONAL,&error)==WEED_FALSE)) { + for (j = 0; j < num_ctmpl; j++) if (mand[j] == 0 && (!weed_plant_has_leaf(in_ctmpls[j], WEED_LEAF_OPTIONAL) || + weed_get_boolean_value(in_ctmpls[j], WEED_LEAF_OPTIONAL, &error) == WEED_FALSE)) { lives_free(in_ctmpls); lives_free(in_tracks); lives_free(out_tracks); lives_free(in_channels); - if (out_channels!=NULL) lives_free(out_channels); + if (out_channels != NULL) lives_free(out_channels); lives_free(mand); return FILTER_ERROR_MISSING_LAYER; } lives_free(in_ctmpls); lives_free(mand); - for (i=0; i<num_in_tracks; i++) { - - layer=layers[i]; - channel=get_enabled_channel(inst,i,TRUE); - - if (weed_plant_has_leaf(channel,WEED_LEAF_HOST_TEMP_DISABLED)&& - weed_get_boolean_value(channel,WEED_LEAF_HOST_TEMP_DISABLED,&error)==WEED_TRUE) continue; - - chantmpl=weed_get_plantptr_value(channel,WEED_LEAF_TEMPLATE,&error); - - weed_set_int64_value(channel,WEED_LEAF_TIMECODE,tc); - adata=weed_get_voidptr_value(layer,WEED_LEAF_AUDIO_DATA,&error); - if (i==0) adata0=adata; + for (i = 0; i < num_in_tracks; i++) { + layer = layers[i]; + channel = get_enabled_channel(inst, i, TRUE); + + if (weed_plant_has_leaf(channel, WEED_LEAF_HOST_TEMP_DISABLED) && + weed_get_boolean_value(channel, WEED_LEAF_HOST_TEMP_DISABLED, &error) == WEED_TRUE) continue; + + chantmpl = weed_get_plantptr_value(channel, WEED_LEAF_TEMPLATE, &error); + + weed_set_int64_value(channel, WEED_LEAF_TIMECODE, tc); + adata = weed_get_voidptr_value(layer, WEED_LEAF_AUDIO_DATA, &error); + if (i == 0) adata0 = adata; // nchans and nsamps needed for inplace - nchans=weed_get_int_value(channel,WEED_LEAF_AUDIO_CHANNELS,&error); - nsamps=weed_get_int_value(channel,WEED_LEAF_AUDIO_DATA_LENGTH,&error); + nchans = weed_get_int_value(channel, WEED_LEAF_AUDIO_CHANNELS, &error); + nsamps = weed_get_int_value(channel, WEED_LEAF_AUDIO_DATA_LENGTH, &error); - if (weed_get_boolean_value(channel,WEED_LEAF_AUDIO_INTERLEAF,&error)==WEED_TRUE) { + if (weed_get_boolean_value(channel, WEED_LEAF_AUDIO_INTERLEAF, &error) == WEED_TRUE) { // handle case where plugin NEEDS interleaved - weed_set_boolean_value(layers[i],WEED_LEAF_AUDIO_INTERLEAF,WEED_TRUE); - if (!float_interleave((float *)adata,nsamps,nchans)) { + weed_set_boolean_value(layers[i], WEED_LEAF_AUDIO_INTERLEAF, WEED_TRUE); + if (!float_interleave((float *)adata, nsamps, nchans)) { lives_free(in_tracks); lives_free(out_tracks); lives_free(in_channels); - if (out_channels!=NULL) lives_free(out_channels); + if (out_channels != NULL) lives_free(out_channels); return FILTER_ERROR_MEMORY_ERROR; } } - weed_set_voidptr_value(channel,WEED_LEAF_AUDIO_DATA,adata); + weed_set_voidptr_value(channel, WEED_LEAF_AUDIO_DATA, adata); } // we may need to disable some channels for the plugin - for (i=0; i<num_inc; i++) { - if (weed_plant_has_leaf(in_channels[i],WEED_LEAF_HOST_TEMP_DISABLED)&& - weed_get_boolean_value(in_channels[i],WEED_LEAF_HOST_TEMP_DISABLED,&error)==WEED_TRUE) - weed_set_boolean_value(in_channels[i],WEED_LEAF_DISABLED,WEED_TRUE); + for (i = 0; i < num_inc; i++) { + if (weed_plant_has_leaf(in_channels[i], WEED_LEAF_HOST_TEMP_DISABLED) && + weed_get_boolean_value(in_channels[i], WEED_LEAF_HOST_TEMP_DISABLED, &error) == WEED_TRUE) + weed_set_boolean_value(in_channels[i], WEED_LEAF_DISABLED, WEED_TRUE); } // set up our out channels - for (i=0; i<num_out_tracks; i++) { - if (out_tracks[i]!=in_tracks[i]) { + for (i = 0; i < num_out_tracks; i++) { + if (out_tracks[i] != in_tracks[i]) { lives_free(in_tracks); lives_free(out_tracks); lives_free(in_channels); - if (out_channels!=NULL) lives_free(out_channels); + if (out_channels != NULL) lives_free(out_channels); return FILTER_ERROR_INVALID_TRACK; // can't yet mix audio and video } - channel=get_enabled_channel(inst,i,FALSE); + channel = get_enabled_channel(inst, i, FALSE); - weed_set_int64_value(channel,WEED_LEAF_TIMECODE,tc); - chantmpl=weed_get_plantptr_value(channel,WEED_LEAF_TEMPLATE,&error); - channel_flags=weed_get_int_value(chantmpl,WEED_LEAF_FLAGS,&error); + weed_set_int64_value(channel, WEED_LEAF_TIMECODE, tc); + chantmpl = weed_get_plantptr_value(channel, WEED_LEAF_TEMPLATE, &error); + channel_flags = weed_get_int_value(chantmpl, WEED_LEAF_FLAGS, &error); - if (i==0&&(in_tracks[0]==out_tracks[0])&&adata0!=NULL) { - if (channel_flags&WEED_CHANNEL_CAN_DO_INPLACE) { + if (i == 0 && (in_tracks[0] == out_tracks[0]) && adata0 != NULL) { + if (channel_flags & WEED_CHANNEL_CAN_DO_INPLACE) { // ah, good, inplace - inplace=TRUE; + inplace = TRUE; } } if (!inplace) { - float *abuf=(float *)lives_malloc0(nchans*nsamps*sizeof(float)); - weed_set_int_value(channel,WEED_LEAF_AUDIO_DATA_LENGTH,nsamps); - weed_set_voidptr_value(channel,WEED_LEAF_AUDIO_DATA,abuf); - inplace=FALSE; + float *abuf = (float *)lives_malloc0(nchans * nsamps * sizeof(float)); + weed_set_int_value(channel, WEED_LEAF_AUDIO_DATA_LENGTH, nsamps); + weed_set_voidptr_value(channel, WEED_LEAF_AUDIO_DATA, abuf); + inplace = FALSE; } else { - weed_set_int_value(channel,WEED_LEAF_AUDIO_DATA_LENGTH,nsamps); - weed_set_voidptr_value(channel,WEED_LEAF_AUDIO_DATA,adata0); - weed_set_boolean_value(layers[i],WEED_LEAF_AUDIO_INTERLEAF,weed_get_boolean_value(channel,WEED_LEAF_AUDIO_INTERLEAF,&error)); + weed_set_int_value(channel, WEED_LEAF_AUDIO_DATA_LENGTH, nsamps); + weed_set_voidptr_value(channel, WEED_LEAF_AUDIO_DATA, adata0); + weed_set_boolean_value(layers[i], WEED_LEAF_AUDIO_INTERLEAF, weed_get_boolean_value(channel, WEED_LEAF_AUDIO_INTERLEAF, &error)); } } - if (mainw->current_file>-1) - weed_set_double_value(inst,WEED_LEAF_FPS,cfile->pb_fps); + if (mainw->current_file > -1) + weed_set_double_value(inst, WEED_LEAF_FPS, cfile->pb_fps); //...finally we are ready to apply the filter pthread_mutex_lock(&mainw->interp_mutex); // stop video thread from possibly interpolating our audio effects - weed_leaf_get(filter,WEED_LEAF_PROCESS_FUNC,0,(void *)&process_func_ptr_ptr); - process_func=process_func_ptr_ptr[0]; + weed_leaf_get(filter, WEED_LEAF_PROCESS_FUNC, 0, (void *)&process_func_ptr_ptr); + process_func = process_func_ptr_ptr[0]; filter_mutex_lock(key); - if ((*process_func)(inst,tc)==WEED_ERROR_PLUGIN_INVALID) { + if ((*process_func)(inst, tc) == WEED_ERROR_PLUGIN_INVALID) { filter_mutex_unlock(key); pthread_mutex_unlock(&mainw->interp_mutex); lives_free(in_tracks); lives_free(out_tracks); lives_free(in_channels); - if (out_channels!=NULL) lives_free(out_channels); + if (out_channels != NULL) lives_free(out_channels); return FILTER_ERROR_MUST_RELOAD; } @@ -3224,25 +3168,25 @@ // TODO - handle process errors (WEED_ERROR_PLUGIN_INVALID) // now we write our out channels back to layers - for (i=0; i<num_out_tracks; i++) { - if (i==0&&inplace) continue; + for (i = 0; i < num_out_tracks; i++) { + if (i == 0 && inplace) continue; // TODO - check this... - channel=get_enabled_channel(inst,i,FALSE); - layer=layers[i]; - if (weed_plant_has_leaf(channel,WEED_LEAF_AUDIO_DATA)) { - float *audio_data=(float *)weed_get_voidptr_value(layer,WEED_LEAF_AUDIO_DATA,&error); + channel = get_enabled_channel(inst, i, FALSE); + layer = layers[i]; + if (weed_plant_has_leaf(channel, WEED_LEAF_AUDIO_DATA)) { + float *audio_data = (float *)weed_get_voidptr_value(layer, WEED_LEAF_AUDIO_DATA, &error); lives_freep((void **)&audio_data); } - weed_set_voidptr_value(layer,WEED_LEAF_AUDIO_DATA,weed_get_voidptr_value(channel,WEED_LEAF_AUDIO_DATA,&error)); + weed_set_voidptr_value(layer, WEED_LEAF_AUDIO_DATA, weed_get_voidptr_value(channel, WEED_LEAF_AUDIO_DATA, &error)); } - for (i=0; i<num_inc; i++) { - if (weed_plant_has_leaf(in_channels[i],WEED_LEAF_HOST_TEMP_DISABLED)&& - weed_get_boolean_value(in_channels[i],WEED_LEAF_HOST_TEMP_DISABLED,&error)==WEED_TRUE) { - weed_set_boolean_value(in_channels[i],WEED_LEAF_DISABLED,WEED_FALSE); - weed_set_boolean_value(in_channels[i],WEED_LEAF_HOST_TEMP_DISABLED,WEED_FALSE); + for (i = 0; i < num_inc; i++) { + if (weed_plant_has_leaf(in_channels[i], WEED_LEAF_HOST_TEMP_DISABLED) && + weed_get_boolean_value(in_channels[i], WEED_LEAF_HOST_TEMP_DISABLED, &error) == WEED_TRUE) { + weed_set_boolean_value(in_channels[i], WEED_LEAF_DISABLED, WEED_FALSE); + weed_set_boolean_value(in_channels[i], WEED_LEAF_HOST_TEMP_DISABLED, WEED_FALSE); } } // done... @@ -3250,86 +3194,81 @@ lives_free(in_tracks); lives_free(out_tracks); lives_free(in_channels); - if (out_channels!=NULL) lives_free(out_channels); - + if (out_channels != NULL) lives_free(out_channels); return retval; - } - lives_filter_error_t weed_apply_audio_instance(weed_plant_t *init_event, float **abuf, int nbtracks, int nchans, int64_t nsamps, double arate, weed_timecode_t tc, double *vis) { + lives_filter_error_t retval = FILTER_NO_ERROR, retval2; - lives_filter_error_t retval=FILTER_NO_ERROR,retval2; + weed_plant_t **layers = NULL, **in_channels = NULL, **out_channels = NULL; - weed_plant_t **layers=NULL,**in_channels=NULL,**out_channels=NULL; - - weed_plant_t *instance=NULL,*filter; - weed_plant_t *channel=NULL; + weed_plant_t *instance = NULL, *filter; + weed_plant_t *channel = NULL; weed_plant_t *ctmpl; - float *in_abuf,*out_abuf; - int *in_tracks=NULL,*out_tracks=NULL; + float *in_abuf, *out_abuf; + int *in_tracks = NULL, *out_tracks = NULL; - size_t nsf=nsamps*sizeof(float); + size_t nsf = nsamps * sizeof(float); - boolean needs_reinit=FALSE; - boolean was_init_event=FALSE; + boolean needs_reinit = FALSE; + boolean was_init_event = FALSE; int error; - int flags=0; - int key=-1; + int flags = 0; + int key = -1; - int ntracks=1; - int numinchans=0,numoutchans=0,xnchans,aint; + int ntracks = 1; + int numinchans = 0, numoutchans = 0, xnchans, aint; - register int i,j; + register int i, j; // caller passes an init_event from event list, or an instance (for realtime mode) if (WEED_PLANT_IS_FILTER_INSTANCE(init_event)) { // for realtime, we pass a single instance instead of init_event - instance=init_event; + instance = init_event; // set init_event to NULL before passing it to the inner function - init_event=NULL; + init_event = NULL; - in_tracks=(int *)lives_malloc(sizint); - in_tracks[0]=0; + in_tracks = (int *)lives_malloc(sizint); + in_tracks[0] = 0; - out_tracks=(int *)lives_malloc(sizint); - out_tracks[0]=0; + out_tracks = (int *)lives_malloc(sizint); + out_tracks[0] = 0; } else { - // when processing an event list, we pass an init_event - was_init_event=TRUE; - if (weed_plant_has_leaf(init_event,WEED_LEAF_HOST_TAG)) { - char *keystr=weed_get_string_value(init_event,WEED_LEAF_HOST_TAG,&error); - key=atoi(keystr); + was_init_event = TRUE; + if (weed_plant_has_leaf(init_event, WEED_LEAF_HOST_TAG)) { + char *keystr = weed_get_string_value(init_event, WEED_LEAF_HOST_TAG, &error); + key = atoi(keystr); lives_free(keystr); } else return FILTER_ERROR_INVALID_INIT_EVENT; - ntracks=weed_leaf_num_elements(init_event,WEED_LEAF_IN_TRACKS); - in_tracks=weed_get_int_array(init_event,WEED_LEAF_IN_TRACKS,&error); + ntracks = weed_leaf_num_elements(init_event, WEED_LEAF_IN_TRACKS); + in_tracks = weed_get_int_array(init_event, WEED_LEAF_IN_TRACKS, &error); - if (weed_plant_has_leaf(init_event,WEED_LEAF_OUT_TRACKS)) out_tracks=weed_get_int_array(init_event,WEED_LEAF_OUT_TRACKS,&error); + if (weed_plant_has_leaf(init_event, WEED_LEAF_OUT_TRACKS)) out_tracks = weed_get_int_array(init_event, WEED_LEAF_OUT_TRACKS, &error); // check instance exists, and interpolate parameters - if (rte_key_valid(key+1,FALSE)) { - if ((instance=key_to_instance[key][key_modes[key]])==NULL) { + if (rte_key_valid(key + 1, FALSE)) { + if ((instance = key_to_instance[key][key_modes[key]]) == NULL) { lives_free(in_tracks); lives_free(out_tracks); return FILTER_ERROR_INVALID_INSTANCE; } - if (mainw->pchains!=NULL&&mainw->pchains[key]!=NULL) { + if (mainw->pchains != NULL && mainw->pchains[key] != NULL) { if (!pthread_mutex_trylock(&mainw->interp_mutex)) { // try to minimise thread locking pthread_mutex_unlock(&mainw->interp_mutex); - if (!interpolate_params(instance,mainw->pchains[key],tc)) { + if (!interpolate_params(instance, mainw->pchains[key], tc)) { lives_free(in_tracks); lives_free(out_tracks); return FILTER_ERROR_INTERPOLATION_FAILED; @@ -3345,255 +3284,252 @@ audinst1: - if (weed_plant_has_leaf(instance,WEED_LEAF_IN_CHANNELS)) channel=weed_get_plantptr_value(instance,WEED_LEAF_IN_CHANNELS,&error); - if (channel==NULL) { - if (weed_plant_has_leaf(instance,WEED_LEAF_OUT_CHANNELS)) { - retval=FILTER_ERROR_NO_IN_CHANNELS; // audio generators are dealt with by the audio player + if (weed_plant_has_leaf(instance, WEED_LEAF_IN_CHANNELS)) channel = weed_get_plantptr_value(instance, WEED_LEAF_IN_CHANNELS, &error); + if (channel == NULL) { + if (weed_plant_has_leaf(instance, WEED_LEAF_OUT_CHANNELS)) { + retval = FILTER_ERROR_NO_IN_CHANNELS; // audio generators are dealt with by the audio player goto audret1; } } else { - in_channels=weed_get_plantptr_array(instance,WEED_LEAF_IN_CHANNELS,&error); - numinchans=weed_leaf_num_elements(instance,WEED_LEAF_IN_CHANNELS); + in_channels = weed_get_plantptr_array(instance, WEED_LEAF_IN_CHANNELS, &error); + numinchans = weed_leaf_num_elements(instance, WEED_LEAF_IN_CHANNELS); } - if (weed_plant_has_leaf(instance,WEED_LEAF_OUT_CHANNELS)) { - out_channels=weed_get_plantptr_array(instance,WEED_LEAF_OUT_CHANNELS,&error); - if (out_channels[0]!=NULL) numoutchans=weed_leaf_num_elements(instance,WEED_LEAF_OUT_CHANNELS); + if (weed_plant_has_leaf(instance, WEED_LEAF_OUT_CHANNELS)) { + out_channels = weed_get_plantptr_array(instance, WEED_LEAF_OUT_CHANNELS, &error); + if (out_channels[0] != NULL) numoutchans = weed_leaf_num_elements(instance, WEED_LEAF_OUT_CHANNELS); } - filter=weed_instance_get_filter(instance,FALSE); + filter = weed_instance_get_filter(instance, FALSE); - if (!weed_plant_has_leaf(filter,WEED_LEAF_FLAGS)) weed_set_int_value(filter,WEED_LEAF_FLAGS,0); - else flags=weed_get_int_value(filter,WEED_LEAF_FLAGS,&error); + if (!weed_plant_has_leaf(filter, WEED_LEAF_FLAGS)) weed_set_int_value(filter, WEED_LEAF_FLAGS, 0); + else flags = weed_get_int_value(filter, WEED_LEAF_FLAGS, &error); - if (vis!=NULL&&vis[0]<0.&&in_tracks[0]<=-nbtracks) { + if (vis != NULL && vis[0] < 0. && in_tracks[0] <= -nbtracks) { // first layer comes from ascrap file; do not apply any effects except the audio mixer - if (numinchans==1&&numoutchans==1&&!(flags&WEED_FILTER_IS_CONVERTER)) { - retval=FILTER_ERROR_IS_SCRAP_FILE; + if (numinchans == 1 && numoutchans == 1 && !(flags & WEED_FILTER_IS_CONVERTER)) { + retval = FILTER_ERROR_IS_SCRAP_FILE; goto audret1; } } - for (i=0; i<numinchans; i++) { - if ((channel=in_channels[i])==NULL) continue; + for (i = 0; i < numinchans; i++) { + if ((channel = in_channels[i]) == NULL) continue; - aint=WEED_FALSE; // preferred value - ctmpl=weed_get_plantptr_value(channel,WEED_LEAF_TEMPLATE,&error); - if (weed_plant_has_leaf(ctmpl,WEED_LEAF_AUDIO_INTERLEAF)) { - aint=weed_get_boolean_value(ctmpl,WEED_LEAF_AUDIO_INTERLEAF,&error); - if (weed_get_boolean_value(channel,WEED_LEAF_AUDIO_INTERLEAF,&error)!=aint) { - needs_reinit=TRUE; + aint = WEED_FALSE; // preferred value + ctmpl = weed_get_plantptr_value(channel, WEED_LEAF_TEMPLATE, &error); + if (weed_plant_has_leaf(ctmpl, WEED_LEAF_AUDIO_INTERLEAF)) { + aint = weed_get_boolean_value(ctmpl, WEED_LEAF_AUDIO_INTERLEAF, &error); + if (weed_get_boolean_value(channel, WEED_LEAF_AUDIO_INTERLEAF, &error) != aint) { + needs_reinit = TRUE; } } - xnchans=nchans; // preferred value - if (weed_plant_has_leaf(ctmpl,WEED_LEAF_AUDIO_CHANNELS)) { - xnchans=weed_get_int_value(ctmpl,WEED_LEAF_AUDIO_CHANNELS,&error); - if (weed_get_int_value(channel,WEED_LEAF_AUDIO_CHANNELS,&error)!=xnchans) { - needs_reinit=TRUE; + xnchans = nchans; // preferred value + if (weed_plant_has_leaf(ctmpl, WEED_LEAF_AUDIO_CHANNELS)) { + xnchans = weed_get_int_value(ctmpl, WEED_LEAF_AUDIO_CHANNELS, &error); + if (weed_get_int_value(channel, WEED_LEAF_AUDIO_CHANNELS, &error) != xnchans) { + needs_reinit = TRUE; } } - - if ((weed_plant_has_leaf(ctmpl,WEED_LEAF_AUDIO_DATA_LENGTH)&&nsamps!=weed_get_int_value(ctmpl,WEED_LEAF_AUDIO_DATA_LENGTH,&error))|| - (weed_plant_has_leaf(ctmpl,"audio_arate")&&arate!=weed_get_int_value(ctmpl,WEED_LEAF_AUDIO_RATE,&error))) { + if ((weed_plant_has_leaf(ctmpl, WEED_LEAF_AUDIO_DATA_LENGTH) && nsamps != weed_get_int_value(ctmpl, WEED_LEAF_AUDIO_DATA_LENGTH, &error)) || + (weed_plant_has_leaf(ctmpl, "audio_arate") && arate != weed_get_int_value(ctmpl, WEED_LEAF_AUDIO_RATE, &error))) { lives_free(in_channels); - if (out_channels!=NULL) lives_free(out_channels); - retval=FILTER_ERROR_TEMPLATE_MISMATCH; + if (out_channels != NULL) lives_free(out_channels); + retval = FILTER_ERROR_TEMPLATE_MISMATCH; goto audret1; } - if (weed_get_int_value(channel,WEED_LEAF_AUDIO_RATE,&error)!=arate) { - needs_reinit=TRUE; + if (weed_get_int_value(channel, WEED_LEAF_AUDIO_RATE, &error) != arate) { + needs_reinit = TRUE; } - weed_set_int_value(channel,WEED_LEAF_AUDIO_DATA_LENGTH,nsamps); + weed_set_int_value(channel, WEED_LEAF_AUDIO_DATA_LENGTH, nsamps); } - for (i=0; i<numoutchans; i++) { - if ((channel=out_channels[i])==NULL) continue; + for (i = 0; i < numoutchans; i++) { + if ((channel = out_channels[i]) == NULL) continue; - aint=WEED_FALSE; // preferred value - ctmpl=weed_get_plantptr_value(channel,WEED_LEAF_TEMPLATE,&error); - if (weed_plant_has_leaf(ctmpl,WEED_LEAF_AUDIO_INTERLEAF)) { - aint=weed_get_boolean_value(ctmpl,WEED_LEAF_AUDIO_INTERLEAF,&error); - if (weed_get_boolean_value(channel,WEED_LEAF_AUDIO_INTERLEAF,&error)!=aint) { - needs_reinit=TRUE; + aint = WEED_FALSE; // preferred value + ctmpl = weed_get_plantptr_value(channel, WEED_LEAF_TEMPLATE, &error); + if (weed_plant_has_leaf(ctmpl, WEED_LEAF_AUDIO_INTERLEAF)) { + aint = weed_get_boolean_value(ctmpl, WEED_LEAF_AUDIO_INTERLEAF, &error); + if (weed_get_boolean_value(channel, WEED_LEAF_AUDIO_INTERLEAF, &error) != aint) { + needs_reinit = TRUE; } } - xnchans=nchans; // preferred value - if (weed_plant_has_leaf(ctmpl,WEED_LEAF_AUDIO_CHANNELS)) { - xnchans=weed_get_int_value(ctmpl,WEED_LEAF_AUDIO_CHANNELS,&error); - if (weed_get_int_value(channel,WEED_LEAF_AUDIO_CHANNELS,&error)!=xnchans) { - needs_reinit=TRUE; + xnchans = nchans; // preferred value + if (weed_plant_has_leaf(ctmpl, WEED_LEAF_AUDIO_CHANNELS)) { + xnchans = weed_get_int_value(ctmpl, WEED_LEAF_AUDIO_CHANNELS, &error); + if (weed_get_int_value(channel, WEED_LEAF_AUDIO_CHANNELS, &error) != xnchans) { + needs_reinit = TRUE; } } - if ((weed_plant_has_leaf(ctmpl,WEED_LEAF_AUDIO_DATA_LENGTH)&&nsamps!=weed_get_int_value(ctmpl,WEED_LEAF_AUDIO_DATA_LENGTH,&error))|| - (weed_plant_has_leaf(ctmpl,"audio_arate")&&arate!=weed_get_int_value(ctmpl,WEED_LEAF_AUDIO_RATE,&error))) { + if ((weed_plant_has_leaf(ctmpl, WEED_LEAF_AUDIO_DATA_LENGTH) && nsamps != weed_get_int_value(ctmpl, WEED_LEAF_AUDIO_DATA_LENGTH, &error)) || + (weed_plant_has_leaf(ctmpl, "audio_arate") && arate != weed_get_int_value(ctmpl, WEED_LEAF_AUDIO_RATE, &error))) { lives_free(in_channels); - if (out_channels!=NULL) lives_free(out_channels); - retval=FILTER_ERROR_TEMPLATE_MISMATCH; + if (out_channels != NULL) lives_free(out_channels); + retval = FILTER_ERROR_TEMPLATE_MISMATCH; goto audret1; } - if (weed_get_int_value(channel,WEED_LEAF_AUDIO_RATE,&error)!=arate) { - needs_reinit=TRUE; + if (weed_get_int_value(channel, WEED_LEAF_AUDIO_RATE, &error) != arate) { + needs_reinit = TRUE; } - weed_set_int_value(channel,WEED_LEAF_AUDIO_DATA_LENGTH,nsamps); + weed_set_int_value(channel, WEED_LEAF_AUDIO_DATA_LENGTH, nsamps); } - if (needs_reinit) { // - deinit inst weed_call_deinit_func(instance); - for (i=0; i<numinchans; i++) { - if ((channel=in_channels[i])!=NULL) { - aint=WEED_FALSE; // preferred value - ctmpl=weed_get_plantptr_value(channel,WEED_LEAF_TEMPLATE,&error); - if (weed_plant_has_leaf(ctmpl,WEED_LEAF_AUDIO_INTERLEAF)) { - aint=weed_get_boolean_value(ctmpl,WEED_LEAF_AUDIO_INTERLEAF,&error); + for (i = 0; i < numinchans; i++) { + if ((channel = in_channels[i]) != NULL) { + aint = WEED_FALSE; // preferred value + ctmpl = weed_get_plantptr_value(channel, WEED_LEAF_TEMPLATE, &error); + if (weed_plant_has_leaf(ctmpl, WEED_LEAF_AUDIO_INTERLEAF)) { + aint = weed_get_boolean_value(ctmpl, WEED_LEAF_AUDIO_INTERLEAF, &error); } - xnchans=nchans; // preferred value - if (weed_plant_has_leaf(ctmpl,WEED_LEAF_AUDIO_CHANNELS)) { - xnchans=weed_get_int_value(ctmpl,WEED_LEAF_AUDIO_CHANNELS,&error); + xnchans = nchans; // preferred value + if (weed_plant_has_leaf(ctmpl, WEED_LEAF_AUDIO_CHANNELS)) { + xnchans = weed_get_int_value(ctmpl, WEED_LEAF_AUDIO_CHANNELS, &error); } - weed_set_boolean_value(channel,WEED_LEAF_AUDIO_INTERLEAF,aint); - weed_set_int_value(channel,WEED_LEAF_AUDIO_CHANNELS,xnchans); - weed_set_int_value(channel,WEED_LEAF_AUDIO_RATE,arate); + weed_set_boolean_value(channel, WEED_LEAF_AUDIO_INTERLEAF, aint); + weed_set_int_value(channel, WEED_LEAF_AUDIO_CHANNELS, xnchans); + weed_set_int_value(channel, WEED_LEAF_AUDIO_RATE, arate); } } - for (i=0; i<numoutchans; i++) { - if ((channel=out_channels[i])!=NULL) { - aint=WEED_FALSE; // preferred value - ctmpl=weed_get_plantptr_value(channel,WEED_LEAF_TEMPLATE,&error); - if (weed_plant_has_leaf(ctmpl,WEED_LEAF_AUDIO_INTERLEAF)) { - aint=weed_get_boolean_value(ctmpl,WEED_LEAF_AUDIO_INTERLEAF,&error); + for (i = 0; i < numoutchans; i++) { + if ((channel = out_channels[i]) != NULL) { + aint = WEED_FALSE; // preferred value + ctmpl = weed_get_plantptr_value(channel, WEED_LEAF_TEMPLATE, &error); + if (weed_plant_has_leaf(ctmpl, WEED_LEAF_AUDIO_INTERLEAF)) { + aint = weed_get_boolean_value(ctmpl, WEED_LEAF_AUDIO_INTERLEAF, &error); } - xnchans=nchans; // preferred value - if (weed_plant_has_leaf(ctmpl,WEED_LEAF_AUDIO_CHANNELS)) { - xnchans=weed_get_int_value(ctmpl,WEED_LEAF_AUDIO_CHANNELS,&error); + xnchans = nchans; // preferred value + if (weed_plant_has_leaf(ctmpl, WEED_LEAF_AUDIO_CHANNELS)) { + xnchans = weed_get_int_value(ctmpl, WEED_LEAF_AUDIO_CHANNELS, &error); } - weed_set_boolean_value(channel,WEED_LEAF_AUDIO_INTERLEAF,aint); - weed_set_int_value(channel,WEED_LEAF_AUDIO_CHANNELS,xnchans); - weed_set_int_value(channel,WEED_LEAF_AUDIO_RATE,arate); + weed_set_boolean_value(channel, WEED_LEAF_AUDIO_INTERLEAF, aint); + weed_set_int_value(channel, WEED_LEAF_AUDIO_CHANNELS, xnchans); + weed_set_int_value(channel, WEED_LEAF_AUDIO_RATE, arate); } } // - init inst - if (weed_plant_has_leaf(filter,WEED_LEAF_INIT_FUNC)) { + if (weed_plant_has_leaf(filter, WEED_LEAF_INIT_FUNC)) { weed_init_f *init_func_ptr_ptr; weed_init_f init_func; - weed_leaf_get(filter,WEED_LEAF_INIT_FUNC,0,(void *)&init_func_ptr_ptr); - init_func=init_func_ptr_ptr[0]; - if (init_func!=NULL) { - char *cwd=cd_to_plugin_dir(filter); + weed_leaf_get(filter, WEED_LEAF_INIT_FUNC, 0, (void *)&init_func_ptr_ptr); + init_func = init_func_ptr_ptr[0]; + if (init_func != NULL) { + char *cwd = cd_to_plugin_dir(filter); set_param_gui_readwrite(instance); update_host_info(instance); - if ((*init_func)(instance)!=WEED_NO_ERROR) { - key_to_instance[key][key_modes[key]]=NULL; - lives_chdir(cwd,FALSE); + if ((*init_func)(instance) != WEED_NO_ERROR) { + key_to_instance[key][key_modes[key]] = NULL; + lives_chdir(cwd, FALSE); lives_free(cwd); lives_free(in_channels); - if (out_channels!=NULL) lives_free(out_channels); - retval=FILTER_ERROR_COULD_NOT_REINIT; + if (out_channels != NULL) lives_free(out_channels); + retval = FILTER_ERROR_COULD_NOT_REINIT; goto audret1; } set_param_gui_readonly(instance); - lives_chdir(cwd,FALSE); + lives_chdir(cwd, FALSE); lives_free(cwd); } } - weed_set_boolean_value(instance,WEED_LEAF_HOST_INITED,WEED_TRUE); - retval=FILTER_INFO_REINITED; + weed_set_boolean_value(instance, WEED_LEAF_HOST_INITED, WEED_TRUE); + retval = FILTER_INFO_REINITED; } - if (in_channels!=NULL) lives_free(in_channels); - if (out_channels!=NULL) lives_free(out_channels); + if (in_channels != NULL) lives_free(in_channels); + if (out_channels != NULL) lives_free(out_channels); // apply visibility mask to volume values - if (vis!=NULL&&(flags&WEED_FILTER_IS_CONVERTER)) { - int vmaster=get_master_vol_param(filter,FALSE); - if (vmaster!=-1) { - weed_plant_t **in_params=weed_get_plantptr_array(instance,WEED_LEAF_IN_PARAMETERS,&error); - int nvals=weed_leaf_num_elements(in_params[vmaster],WEED_LEAF_VALUE); - double *fvols=weed_get_double_array(in_params[vmaster],WEED_LEAF_VALUE,&error); - for (i=0; i<nvals; i++) { - fvols[i]=fvols[i]*vis[in_tracks[i]+nbtracks]; - if (vis[in_tracks[i]+nbtracks]<0.) fvols[i]=-fvols[i]; + if (vis != NULL && (flags & WEED_FILTER_IS_CONVERTER)) { + int vmaster = get_master_vol_param(filter, FALSE); + if (vmaster != -1) { + weed_plant_t **in_params = weed_get_plantptr_array(instance, WEED_LEAF_IN_PARAMETERS, &error); + int nvals = weed_leaf_num_elements(in_params[vmaster], WEED_LEAF_VALUE); + double *fvols = weed_get_double_array(in_params[vmaster], WEED_LEAF_VALUE, &error); + for (i = 0; i < nvals; i++) { + fvols[i] = fvols[i] * vis[in_tracks[i] + nbtracks]; + if (vis[in_tracks[i] + nbtracks] < 0.) fvols[i] = -fvols[i]; } filter_mutex_lock(key); - weed_set_double_array(in_params[vmaster],WEED_LEAF_VALUE,nvals,fvols); + weed_set_double_array(in_params[vmaster], WEED_LEAF_VALUE, nvals, fvols); filter_mutex_unlock(key); - set_copy_to(instance,vmaster,TRUE); + set_copy_to(instance, vmaster, TRUE); lives_free(fvols); lives_free(in_params); } } - if (layers==NULL&&numinchans>0) { - layers=(weed_plant_t **)lives_malloc((ntracks+1)*sizeof(weed_plant_t *)); + if (layers == NULL && numinchans > 0) { + layers = (weed_plant_t **)lives_malloc((ntracks + 1) * sizeof(weed_plant_t *)); - for (i=0; i<ntracks; i++) { + for (i = 0; i < ntracks; i++) { // create audio layers, and copy/combine separated audio into each layer - layers[i]=weed_plant_new(WEED_PLANT_CHANNEL); + layers[i] = weed_plant_new(WEED_PLANT_CHANNEL); // copy audio into layer audio - in_abuf=(float *)lives_malloc(nchans*nsf); + in_abuf = (float *)lives_malloc(nchans * nsf); // non-interleaved - for (j=0; j<nchans; j++) { - lives_memcpy(&in_abuf[j*nsamps],abuf[(in_tracks[i]+nbtracks)*nchans+j],nsf); + for (j = 0; j < nchans; j++) { + lives_memcpy(&in_abuf[j * nsamps], abuf[(in_tracks[i] + nbtracks)*nchans + j], nsf); } - weed_set_voidptr_value(layers[i],WEED_LEAF_AUDIO_DATA,(void *)in_abuf); - weed_set_int_value(layers[i],WEED_LEAF_AUDIO_DATA_LENGTH,nsamps); - weed_set_int_value(layers[i],WEED_LEAF_AUDIO_CHANNELS,nchans); - weed_set_int_value(layers[i],WEED_LEAF_AUDIO_RATE,arate); - weed_set_boolean_value(layers[i],WEED_LEAF_AUDIO_INTERLEAF,WEED_FALSE); + weed_set_voidptr_value(layers[i], WEED_LEAF_AUDIO_DATA, (void *)in_abuf); + weed_set_int_value(layers[i], WEED_LEAF_AUDIO_DATA_LENGTH, nsamps); + weed_set_int_value(layers[i], WEED_LEAF_AUDIO_CHANNELS, nchans); + weed_set_int_value(layers[i], WEED_LEAF_AUDIO_RATE, arate); + weed_set_boolean_value(layers[i], WEED_LEAF_AUDIO_INTERLEAF, WEED_FALSE); } - layers[i]=NULL; + layers[i] = NULL; } + retval2 = weed_apply_audio_instance_inner(instance, init_event, layers, tc, nbtracks); + if (retval == FILTER_NO_ERROR) retval = retval2; - retval2=weed_apply_audio_instance_inner(instance,init_event,layers,tc,nbtracks); - if (retval==FILTER_NO_ERROR) retval=retval2; - - if (retval2==FILTER_NO_ERROR&&was_init_event) { + if (retval2 == FILTER_NO_ERROR && was_init_event) { // handle compound filters - if (weed_plant_has_leaf(instance,WEED_LEAF_HOST_NEXT_INSTANCE)) { - instance=weed_get_plantptr_value(instance,WEED_LEAF_HOST_NEXT_INSTANCE,&error); + if (weed_plant_has_leaf(instance, WEED_LEAF_HOST_NEXT_INSTANCE)) { + instance = weed_get_plantptr_value(instance, WEED_LEAF_HOST_NEXT_INSTANCE, &error); goto audinst1; } } - out_abuf=(float *)weed_get_voidptr_value(layers[0],WEED_LEAF_AUDIO_DATA,&error); + out_abuf = (float *)weed_get_voidptr_value(layers[0], WEED_LEAF_AUDIO_DATA, &error); - if (numoutchans>0) { + if (numoutchans > 0) { // copy processed audio // inner function will set this if the plugin accepts/returns interleaved audio only - if (weed_get_boolean_value(layers[0],WEED_LEAF_AUDIO_INTERLEAF,&error)==WEED_TRUE) float_deinterleave(out_abuf,nsamps,nchans); + if (weed_get_boolean_value(layers[0], WEED_LEAF_AUDIO_INTERLEAF, &error) == WEED_TRUE) float_deinterleave(out_abuf, nsamps, nchans); // non-interleaved - for (i=0; i<nchans; i++) { - lives_memcpy(abuf[(out_tracks[0]+nbtracks)*nchans+i],&out_abuf[i*nsamps],nsf); + for (i = 0; i < nchans; i++) { + lives_memcpy(abuf[(out_tracks[0] + nbtracks)*nchans + i], &out_abuf[i * nsamps], nsf); } } audret1: - if (layers!=NULL) { - for (i=0; i<ntracks; i++) { - in_abuf=(float *)weed_get_voidptr_value(layers[i],WEED_LEAF_AUDIO_DATA,&error); + if (layers != NULL) { + for (i = 0; i < ntracks; i++) { + in_abuf = (float *)weed_get_voidptr_value(layers[i], WEED_LEAF_AUDIO_DATA, &error); lives_free(in_abuf); weed_plant_free(layers[i]); } @@ -3608,14 +3544,14 @@ static void weed_apply_filter_map(weed_plant_t **layers, weed_plant_t *filter_map, weed_timecode_t tc, void ***pchains) { weed_plant_t *instance; - weed_plant_t *init_event,*deinit_event; + weed_plant_t *init_event, *deinit_event; char *keystr; void **init_events; lives_filter_error_t filter_error; - int key,num_inst,error; + int key, num_inst, error; boolean needs_reinit; @@ -3640,50 +3576,46 @@ // the channel sizes are set by the filter: all channels are all set to the size of the largest input layer. // (We attempt to do this, but some channels have fixed sizes). - if (filter_map==NULL||!weed_plant_has_leaf(filter_map,WEED_LEAF_INIT_EVENTS)|| - (weed_get_voidptr_value(filter_map,WEED_LEAF_INIT_EVENTS,&error)==NULL)) return; - - if ((num_inst=weed_leaf_num_elements(filter_map,WEED_LEAF_INIT_EVENTS))>0) { - init_events=weed_get_voidptr_array(filter_map,WEED_LEAF_INIT_EVENTS,&error); - for (i=0; i<num_inst; i++) { - init_event=(weed_plant_t *)init_events[i]; - if (mainw->playing_file==-1&&mainw->multitrack!=NULL&&mainw->multitrack->current_rfx!=NULL&& - mainw->multitrack->init_event!=NULL) { - if (mainw->multitrack->current_rfx->source_type==LIVES_RFX_SOURCE_WEED&& - mainw->multitrack->current_rfx->source!=NULL) { + if (filter_map == NULL || !weed_plant_has_leaf(filter_map, WEED_LEAF_INIT_EVENTS) || + (weed_get_voidptr_value(filter_map, WEED_LEAF_INIT_EVENTS, &error) == NULL)) return; - deinit_event=(weed_plant_t *)weed_get_voidptr_value(mainw->multitrack->init_event,WEED_LEAF_DEINIT_EVENT,&error); - if (tc>=get_event_timecode(mainw->multitrack->init_event)&&tc<=get_event_timecode(deinit_event)) { + if ((num_inst = weed_leaf_num_elements(filter_map, WEED_LEAF_INIT_EVENTS)) > 0) { + init_events = weed_get_voidptr_array(filter_map, WEED_LEAF_INIT_EVENTS, &error); + for (i = 0; i < num_inst; i++) { + init_event = (weed_plant_t *)init_events[i]; + if (mainw->playing_file == -1 && mainw->multitrack != NULL && mainw->multitrack->current_rfx != NULL && + mainw->multitrack->init_event != NULL) { + if (mainw->multitrack->current_rfx->source_type == LIVES_RFX_SOURCE_WEED && + mainw->multitrack->current_rfx->source != NULL) { + deinit_event = (weed_plant_t *)weed_get_voidptr_value(mainw->multitrack->init_event, WEED_LEAF_DEINIT_EVENT, &error); + if (tc >= get_event_timecode(mainw->multitrack->init_event) && tc <= get_event_timecode(deinit_event)) { // we are previewing an effect in multitrack - use current unapplied values // and display only the currently selected filter (unless it is a "process_last" effect (like audio mixer)) // TODO - if current fx - void **pchain=mt_get_pchain(); - instance=(weed_plant_t *)mainw->multitrack->current_rfx->source; + void **pchain = mt_get_pchain(); + instance = (weed_plant_t *)mainw->multitrack->current_rfx->source; - if (is_pure_audio(instance,FALSE)) continue; // audio effects are applied in the audio renderer + if (is_pure_audio(instance, FALSE)) continue; // audio effects are applied in the audio renderer // interpolation can be switched of by setting mainw->no_interp - if (!mainw->no_interp&&pchain!=NULL) { - interpolate_params(instance,pchain,tc); // interpolate parameters for preview + if (!mainw->no_interp && pchain != NULL) { + interpolate_params(instance, pchain, tc); // interpolate parameters for preview } - - - apply_inst1: - if (weed_plant_has_leaf(instance,WEED_LEAF_HOST_NEXT_INSTANCE)) { + if (weed_plant_has_leaf(instance, WEED_LEAF_HOST_NEXT_INSTANCE)) { // chain any internal data pipelines for compound fx - needs_reinit=pconx_chain_data_internal(instance); + needs_reinit = pconx_chain_data_internal(instance); if (needs_reinit) { - weed_reinit_effect(instance,FALSE); + weed_reinit_effect(instance, FALSE); } } - filter_error=weed_apply_instance(instance,mainw->multitrack->init_event,layers,0,0,tc); - if (filter_error==WEED_NO_ERROR&&weed_plant_has_leaf(instance,WEED_LEAF_HOST_NEXT_INSTANCE)) { + filter_error = weed_apply_instance(instance, mainw->multitrack->init_event, layers, 0, 0, tc); + if (filter_error == WEED_NO_ERROR && weed_plant_has_leaf(instance, WEED_LEAF_HOST_NEXT_INSTANCE)) { // handling for compound fx - instance=weed_get_plantptr_value(instance,WEED_LEAF_HOST_NEXT_INSTANCE,&error); + instance = weed_get_plantptr_value(instance, WEED_LEAF_HOST_NEXT_INSTANCE, &error); goto apply_inst1; } @@ -3695,17 +3627,17 @@ } // else we are previewing or rendering from an event_list - if (weed_plant_has_leaf(init_event,WEED_LEAF_HOST_TAG)) { - keystr=weed_get_string_value(init_event,WEED_LEAF_HOST_TAG,&error); - key=atoi(keystr); + if (weed_plant_has_leaf(init_event, WEED_LEAF_HOST_TAG)) { + keystr = weed_get_string_value(init_event, WEED_LEAF_HOST_TAG, &error); + key = atoi(keystr); lives_free(keystr); - if (rte_key_valid(key+1,FALSE)) { - if ((instance=key_to_instance[key][key_modes[key]])==NULL) continue; + if (rte_key_valid(key + 1, FALSE)) { + if ((instance = key_to_instance[key][key_modes[key]]) == NULL) continue; - if (is_pure_audio(instance,FALSE)) continue; // audio effects are applied in the audio renderer + if (is_pure_audio(instance, FALSE)) continue; // audio effects are applied in the audio renderer - if (pchains!=NULL&&pchains[key]!=NULL) { - interpolate_params(instance,pchains[key],tc); // interpolate parameters during playback + if (pchains != NULL && pchains[key] != NULL) { + interpolate_params(instance, pchains[key], tc); // interpolate parameters during playback } /* @@ -3723,19 +3655,19 @@ apply_inst2: - if (weed_plant_has_leaf(instance,WEED_LEAF_HOST_NEXT_INSTANCE)) { + if (weed_plant_has_leaf(instance, WEED_LEAF_HOST_NEXT_INSTANCE)) { // chain any internal data pipelines for compound fx - needs_reinit=pconx_chain_data_internal(instance); + needs_reinit = pconx_chain_data_internal(instance); if (needs_reinit) { - weed_reinit_effect(instance,FALSE); + weed_reinit_effect(instance, FALSE); } } - filter_error=weed_apply_instance(instance,init_event,layers,0,0,tc); + filter_error = weed_apply_instance(instance, init_event, layers, 0, 0, tc); - if (filter_error==WEED_NO_ERROR&&weed_plant_has_leaf(instance,WEED_LEAF_HOST_NEXT_INSTANCE)) { + if (filter_error == WEED_NO_ERROR && weed_plant_has_leaf(instance, WEED_LEAF_HOST_NEXT_INSTANCE)) { // handling for compound fx - instance=weed_get_plantptr_value(instance,WEED_LEAF_HOST_NEXT_INSTANCE,&error); + instance = weed_get_plantptr_value(instance, WEED_LEAF_HOST_NEXT_INSTANCE, &error); goto apply_inst2; } @@ -3750,8 +3682,6 @@ } - - weed_plant_t *weed_apply_effects(weed_plant_t **layers, weed_plant_t *filter_map, weed_timecode_t tc, int opwidth, int opheight, void ***pchains) { // given a stack of layers, a filter map, a timecode and possibly paramater chains @@ -3762,20 +3692,20 @@ // returned layer can be of any width,height,palette // caller should free all input layers, WEED_LEAF_PIXEL_DATA of all non-returned layers is free()d here - weed_plant_t *filter,*instance,*layer; + weed_plant_t *filter, *instance, *layer; lives_filter_error_t filter_error; boolean needs_reinit; int error; - int output=-1; + int output = -1; int clip; register int i; - if (mainw->is_rendering&&!(cfile->proc_ptr!=NULL&&mainw->preview)) { + if (mainw->is_rendering && !(cfile->proc_ptr != NULL && mainw->preview)) { // rendering from multitrack - if (filter_map!=NULL&&layers[0]!=NULL) { + if (filter_map != NULL && layers[0] != NULL) { weed_apply_filter_map(layers, filter_map, tc, pchains); } } @@ -3783,64 +3713,63 @@ // free playback: we will have here only one or two layers, and no filter_map. // Effects are applied in key order, in tracks are 0 and 1, out track is 0 else { - for (i=0; i<FX_KEYS_MAX_VIRTUAL; i++) { - if (rte_key_valid(i+1,TRUE)) { - if (!(mainw->rte&(GU641<<i))) { + for (i = 0; i < FX_KEYS_MAX_VIRTUAL; i++) { + if (rte_key_valid(i + 1, TRUE)) { + if (!(mainw->rte & (GU641 << i))) { // if anything is connected to ACTIVATE, the fx may be activated - pconx_chain_data(i,key_modes[i]); + pconx_chain_data(i, key_modes[i]); } - if (mainw->rte&(GU641<<i)) { - mainw->osc_block=TRUE; - if ((instance=key_to_instance[i][key_modes[i]])==NULL) { - mainw->osc_block=FALSE; + if (mainw->rte & (GU641 << i)) { + mainw->osc_block = TRUE; + if ((instance = key_to_instance[i][key_modes[i]]) == NULL) { + mainw->osc_block = FALSE; continue; } - if (mainw->pchains!=NULL&&mainw->pchains[i]!=NULL) { - interpolate_params(instance,mainw->pchains[i],tc); // interpolate parameters during preview + if (mainw->pchains != NULL && mainw->pchains[i] != NULL) { + interpolate_params(instance, mainw->pchains[i], tc); // interpolate parameters during preview } - filter=weed_instance_get_filter(instance,TRUE); + filter = weed_instance_get_filter(instance, TRUE); // TODO *** enable this, and apply pconx to audio gens in audio.c - if (!is_pure_audio(filter,TRUE)) { - if (mainw->pconx!=NULL&&!(mainw->preview||mainw->is_rendering)) { + if (!is_pure_audio(filter, TRUE)) { + if (mainw->pconx != NULL && !(mainw->preview || mainw->is_rendering)) { // chain any data pipelines - needs_reinit=pconx_chain_data(i,key_modes[i]); + needs_reinit = pconx_chain_data(i, key_modes[i]); // if anything is connected to ACTIVATE, the fx may be activated - if ((instance=key_to_instance[i][key_modes[i]])==NULL) continue; + if ((instance = key_to_instance[i][key_modes[i]]) == NULL) continue; if (needs_reinit) { - weed_reinit_effect(instance,FALSE); + weed_reinit_effect(instance, FALSE); } } } apply_inst3: - if (weed_plant_has_leaf(instance,WEED_LEAF_HOST_NEXT_INSTANCE)) { + if (weed_plant_has_leaf(instance, WEED_LEAF_HOST_NEXT_INSTANCE)) { // chain any internal data pipelines for compound fx - needs_reinit=pconx_chain_data_internal(instance); + needs_reinit = pconx_chain_data_internal(instance); if (needs_reinit) { - weed_reinit_effect(instance,FALSE); + weed_reinit_effect(instance, FALSE); } } - filter_error=weed_apply_instance(instance,NULL,layers,opwidth,opheight,tc); - if (filter_error==FILTER_INFO_REINITED) redraw_pwindow(i,key_modes[i]); // redraw our paramwindow + filter_error = weed_apply_instance(instance, NULL, layers, opwidth, opheight, tc); + if (filter_error == FILTER_INFO_REINITED) redraw_pwindow(i, key_modes[i]); // redraw our paramwindow //#define DEBUG_RTE #ifdef DEBUG_RTE - if (filter_error!=FILTER_NO_ERROR) lives_printerr("Render error was %d\n",filter_error); + if (filter_error != FILTER_NO_ERROR) lives_printerr("Render error was %d\n", filter_error); #endif - if (filter_error==WEED_NO_ERROR&&weed_plant_has_leaf(instance,WEED_LEAF_HOST_NEXT_INSTANCE)) { + if (filter_error == WEED_NO_ERROR && weed_plant_has_leaf(instance, WEED_LEAF_HOST_NEXT_INSTANCE)) { // handling for compound fx - instance=weed_get_plantptr_value(instance,WEED_LEAF_HOST_NEXT_INSTANCE,&error); + instance = weed_get_plantptr_value(instance, WEED_LEAF_HOST_NEXT_INSTANCE, &error); goto apply_inst3; } - } } } @@ -3849,50 +3778,49 @@ // TODO - set mainw->vpp->play_params from connected out params and out alphas if (!mainw->is_rendering) { - mainw->osc_block=FALSE; + mainw->osc_block = FALSE; } // caller should free all layers, but here we will free all other pixel_data - for (i=0; layers[i]!=NULL; i++) { - + for (i = 0; layers[i] != NULL; i++) { check_layer_ready(layers[i]); - if (layers[i]==mainw->blend_layer) mainw->blend_layer=NULL; + if (layers[i] == mainw->blend_layer) mainw->blend_layer = NULL; - if ((weed_plant_has_leaf(layers[i],WEED_LEAF_PIXEL_DATA)&&weed_get_voidptr_value(layers[i],WEED_LEAF_PIXEL_DATA,&error)!=NULL)|| - (weed_get_int_value(layers[i],WEED_LEAF_FRAME,&error)!=0&& - (mainw->playing_file>-1||mainw->multitrack==NULL||mainw->multitrack->current_rfx==NULL|| - (mainw->multitrack->init_event==NULL||tc<get_event_timecode(mainw->multitrack->init_event)|| - (mainw->multitrack->init_event==mainw->multitrack->avol_init_event)|| - tc>get_event_timecode((weed_plant_t *)weed_get_voidptr_value - (mainw->multitrack->init_event,WEED_LEAF_DEINIT_EVENT,&error)))))) { - if (output!=-1||weed_get_int_value(layers[i],WEED_LEAF_CLIP,&error)==-1) { - if (!weed_plant_has_leaf(layers[i],WEED_LEAF_PIXEL_DATA)) continue; + if ((weed_plant_has_leaf(layers[i], WEED_LEAF_PIXEL_DATA) && weed_get_voidptr_value(layers[i], WEED_LEAF_PIXEL_DATA, &error) != NULL) || + (weed_get_int_value(layers[i], WEED_LEAF_FRAME, &error) != 0 && + (mainw->playing_file > -1 || mainw->multitrack == NULL || mainw->multitrack->current_rfx == NULL || + (mainw->multitrack->init_event == NULL || tc < get_event_timecode(mainw->multitrack->init_event) || + (mainw->multitrack->init_event == mainw->multitrack->avol_init_event) || + tc > get_event_timecode((weed_plant_t *)weed_get_voidptr_value + (mainw->multitrack->init_event, WEED_LEAF_DEINIT_EVENT, &error)))))) { + if (output != -1 || weed_get_int_value(layers[i], WEED_LEAF_CLIP, &error) == -1) { + if (!weed_plant_has_leaf(layers[i], WEED_LEAF_PIXEL_DATA)) continue; weed_layer_pixel_data_free(layers[i]); - } else output=i; + } else output = i; } } - if (output==-1) { + if (output == -1) { // blank frame - e.g. for multitrack - weed_plant_t *layer=weed_layer_new(opwidth>4?opwidth:4,opheight>4?opheight:4,NULL,WEED_PALETTE_RGB24); - create_empty_pixel_data(layer,TRUE,TRUE); + weed_plant_t *layer = weed_layer_new(opwidth > 4 ? opwidth : 4, opheight > 4 ? opheight : 4, NULL, WEED_PALETTE_RGB24); + create_empty_pixel_data(layer, TRUE, TRUE); return layer; } - layer=layers[output]; - clip=weed_get_int_value(layer,WEED_LEAF_CLIP,&error); + layer = layers[output]; + clip = weed_get_int_value(layer, WEED_LEAF_CLIP, &error); // frame is pulled uneffected here. TODO: Try to pull at target output palette - if (!weed_plant_has_leaf(layer,WEED_LEAF_PIXEL_DATA)||weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error)==NULL) - if (!pull_frame_at_size(layer,get_image_ext_for_type(mainw->files[clip]->img_type),tc,opwidth,opheight, + if (!weed_plant_has_leaf(layer, WEED_LEAF_PIXEL_DATA) || weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error) == NULL) + if (!pull_frame_at_size(layer, get_image_ext_for_type(mainw->files[clip]->img_type), tc, opwidth, opheight, WEED_PALETTE_END)) { - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,mainw->files[clip]->img_type==IMG_TYPE_JPEG? - WEED_PALETTE_RGB24:WEED_PALETTE_RGBA32); - weed_set_int_value(layer,WEED_LEAF_WIDTH,opwidth); - weed_set_int_value(layer,WEED_LEAF_HEIGHT,opheight); - create_empty_pixel_data(layer,TRUE,TRUE); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, mainw->files[clip]->img_type == IMG_TYPE_JPEG ? + WEED_PALETTE_RGB24 : WEED_PALETTE_RGBA32); + weed_set_int_value(layer, WEED_LEAF_WIDTH, opwidth); + weed_set_int_value(layer, WEED_LEAF_HEIGHT, opheight); + create_empty_pixel_data(layer, TRUE, TRUE); LIVES_WARN("weed_apply_effects created empty pixel_data"); } @@ -3900,14 +3828,12 @@ } - - void weed_apply_audio_effects(weed_plant_t *filter_map, float **abuf, int nbtracks, int nchans, int64_t nsamps, double arate, weed_timecode_t tc, double *vis) { - int i,num_inst,error; + int i, num_inst, error; void **init_events; lives_filter_error_t filter_error; - weed_plant_t *init_event,*filter; + weed_plant_t *init_event, *filter; char *fhash; // this is called during rendering - we will have previously received a @@ -3915,35 +3841,33 @@ // abuf will be a NULL terminated array of float audio // the results of abuf[0] and abuf[1] (for stereo) will be written to fileno - if (filter_map==NULL||!weed_plant_has_leaf(filter_map,WEED_LEAF_INIT_EVENTS)|| - (weed_get_voidptr_value(filter_map,WEED_LEAF_INIT_EVENTS,&error)==NULL)) { + if (filter_map == NULL || !weed_plant_has_leaf(filter_map, WEED_LEAF_INIT_EVENTS) || + (weed_get_voidptr_value(filter_map, WEED_LEAF_INIT_EVENTS, &error) == NULL)) { return; } - mainw->pchains=get_event_pchains(); - if ((num_inst=weed_leaf_num_elements(filter_map,WEED_LEAF_INIT_EVENTS))>0) { - init_events=weed_get_voidptr_array(filter_map,WEED_LEAF_INIT_EVENTS,&error); - for (i=0; i<num_inst; i++) { - init_event=(weed_plant_t *)init_events[i]; - fhash=weed_get_string_value(init_event,WEED_LEAF_FILTER,&error); - filter=get_weed_filter(weed_get_idx_for_hashname(fhash,TRUE)); + mainw->pchains = get_event_pchains(); + if ((num_inst = weed_leaf_num_elements(filter_map, WEED_LEAF_INIT_EVENTS)) > 0) { + init_events = weed_get_voidptr_array(filter_map, WEED_LEAF_INIT_EVENTS, &error); + for (i = 0; i < num_inst; i++) { + init_event = (weed_plant_t *)init_events[i]; + fhash = weed_get_string_value(init_event, WEED_LEAF_FILTER, &error); + filter = get_weed_filter(weed_get_idx_for_hashname(fhash, TRUE)); lives_free(fhash); - if (has_audio_chans_in(filter,FALSE)&&!has_video_chans_in(filter,FALSE)&&!has_video_chans_out(filter,FALSE)) { - filter_error=weed_apply_audio_instance(init_event,abuf,nbtracks,nchans,nsamps,arate,tc,vis); - filter_error=filter_error; // stop compiler complaining + if (has_audio_chans_in(filter, FALSE) && !has_video_chans_in(filter, FALSE) && !has_video_chans_out(filter, FALSE)) { + filter_error = weed_apply_audio_instance(init_event, abuf, nbtracks, nchans, nsamps, arate, tc, vis); + filter_error = filter_error; // stop compiler complaining } // TODO *** - also run any pure data processing filters which feed into audio filters } lives_free(init_events); } - mainw->pchains=NULL; + mainw->pchains = NULL; } - void weed_apply_audio_effects_rt(float **abuf, int nchans, int64_t nsamps, double arate, weed_timecode_t tc, boolean analysers_only) { - - weed_plant_t *instance,*filter; + weed_plant_t *instance, *filter; lives_filter_error_t filter_error; @@ -3956,61 +3880,60 @@ // free playback: apply any audio filters or analysers (but not generators) // Effects are applied in key order - - for (i=0; i<FX_KEYS_MAX_VIRTUAL; i++) { - if (rte_key_valid(i+1,TRUE)) { - if (!(mainw->rte&(GU641<<i))) { + for (i = 0; i < FX_KEYS_MAX_VIRTUAL; i++) { + if (rte_key_valid(i + 1, TRUE)) { + if (!(mainw->rte & (GU641 << i))) { // if anything is connected to ACTIVATE, the fx may be activated - pconx_chain_data(i,key_modes[i]); + pconx_chain_data(i, key_modes[i]); } - if (mainw->rte&(GU641<<i)) { - mainw->osc_block=TRUE; + if (mainw->rte & (GU641 << i)) { + mainw->osc_block = TRUE; // filter must not be deinited until we have processed it if (pthread_mutex_trylock(&mainw->data_mutex[i])) { - mainw->osc_block=FALSE; + mainw->osc_block = FALSE; continue; } - if ((instance=key_to_instance[i][key_modes[i]])==NULL) { + if ((instance = key_to_instance[i][key_modes[i]]) == NULL) { filter_mutex_unlock(i); - mainw->osc_block=FALSE; + mainw->osc_block = FALSE; continue; } - filter=weed_instance_get_filter(instance,FALSE); + filter = weed_instance_get_filter(instance, FALSE); - if (!has_audio_chans_in(filter,FALSE)||has_video_chans_in(filter,FALSE)||has_video_chans_out(filter,FALSE)) { + if (!has_audio_chans_in(filter, FALSE) || has_video_chans_in(filter, FALSE) || has_video_chans_out(filter, FALSE)) { filter_mutex_unlock(i); - mainw->osc_block=FALSE; + mainw->osc_block = FALSE; continue; } - if (analysers_only&&has_audio_chans_out(filter,FALSE)) { + if (analysers_only && has_audio_chans_out(filter, FALSE)) { filter_mutex_unlock(i); - mainw->osc_block=FALSE; + mainw->osc_block = FALSE; continue; } - if (mainw->pchains!=NULL&&mainw->pchains[i]!=NULL) { - interpolate_params(instance,mainw->pchains[i],tc); // interpolate parameters during preview + if (mainw->pchains != NULL && mainw->pchains[i] != NULL) { + interpolate_params(instance, mainw->pchains[i], tc); // interpolate parameters during preview } apply_audio_inst2: - if (mainw->pconx!=NULL) { + if (mainw->pconx != NULL) { // chain any data pipelines if (!pthread_mutex_trylock(&mainw->data_mutex[i])) { - needs_reinit=pconx_chain_data(i,key_modes[i]); + needs_reinit = pconx_chain_data(i, key_modes[i]); // if anything is connected to ACTIVATE, the fx may be deactivated - if ((instance=key_to_instance[i][key_modes[i]])==NULL) { + if ((instance = key_to_instance[i][key_modes[i]]) == NULL) { filter_mutex_unlock(i); - mainw->osc_block=FALSE; + mainw->osc_block = FALSE; continue; } if (needs_reinit) { - weed_reinit_effect(instance,FALSE); + weed_reinit_effect(instance, FALSE); } filter_mutex_unlock(i); @@ -4019,61 +3942,56 @@ //weed_set_int_value(instance,WEED_LEAF_HOST_KEY,i); - if (weed_plant_has_leaf(instance,WEED_LEAF_HOST_NEXT_INSTANCE)) { + if (weed_plant_has_leaf(instance, WEED_LEAF_HOST_NEXT_INSTANCE)) { // chain any internal data pipelines for compound fx if (!pthread_mutex_trylock(&mainw->data_mutex[i])) { - needs_reinit=pconx_chain_data_internal(instance); + needs_reinit = pconx_chain_data_internal(instance); filter_mutex_unlock(i); if (needs_reinit) { - weed_reinit_effect(instance,FALSE); + weed_reinit_effect(instance, FALSE); } } } - filter_error=weed_apply_audio_instance(instance,abuf,0,nchans,nsamps,arate,tc,NULL); + filter_error = weed_apply_audio_instance(instance, abuf, 0, nchans, nsamps, arate, tc, NULL); - if (filter_error==WEED_NO_ERROR&&weed_plant_has_leaf(instance,WEED_LEAF_HOST_NEXT_INSTANCE)) { + if (filter_error == WEED_NO_ERROR && weed_plant_has_leaf(instance, WEED_LEAF_HOST_NEXT_INSTANCE)) { // handling for compound fx - instance=weed_get_plantptr_value(instance,WEED_LEAF_HOST_NEXT_INSTANCE,&error); + instance = weed_get_plantptr_value(instance, WEED_LEAF_HOST_NEXT_INSTANCE, &error); goto apply_audio_inst2; } filter_mutex_unlock(i); - if (filter_error==FILTER_INFO_REINITED) redraw_pwindow(i,key_modes[i]); // redraw our paramwindow + if (filter_error == FILTER_INFO_REINITED) redraw_pwindow(i, key_modes[i]); // redraw our paramwindow #ifdef DEBUG_RTE - if (filter_error!=FILTER_NO_ERROR) lives_printerr("Render error was %d\n",filter_error); + if (filter_error != FILTER_NO_ERROR) lives_printerr("Render error was %d\n", filter_error); #endif - mainw->osc_block=FALSE; - + mainw->osc_block = FALSE; } - } } - } - - boolean has_audio_filters(lives_af_t af_type) { // do we have any active audio filters (excluding audio generators) ? - weed_plant_t *instance,*filter; + weed_plant_t *instance, *filter; register int i; - if (af_type==AF_TYPE_A&&mainw->audio_frame_buffer!=NULL) return TRUE; + if (af_type == AF_TYPE_A && mainw->audio_frame_buffer != NULL) return TRUE; - for (i=0; i<FX_KEYS_MAX_VIRTUAL; i++) { - if (rte_key_valid(i+1,TRUE)) { - if (mainw->rte&(GU641<<i)) { - if ((instance=key_to_instance[i][key_modes[i]])==NULL) continue; - filter=weed_instance_get_filter(instance,FALSE); - if (has_audio_chans_in(filter,FALSE)&&!has_video_chans_in(filter,FALSE)&&!has_video_chans_out(filter,FALSE)) { - if ((af_type==AF_TYPE_A&&has_audio_chans_out(filter,FALSE))|| // check for analysers only - (af_type==AF_TYPE_NONA&&!has_audio_chans_out(filter,FALSE))) // check for non-analysers only + for (i = 0; i < FX_KEYS_MAX_VIRTUAL; i++) { + if (rte_key_valid(i + 1, TRUE)) { + if (mainw->rte & (GU641 << i)) { + if ((instance = key_to_instance[i][key_modes[i]]) == NULL) continue; + filter = weed_instance_get_filter(instance, FALSE); + if (has_audio_chans_in(filter, FALSE) && !has_video_chans_in(filter, FALSE) && !has_video_chans_out(filter, FALSE)) { + if ((af_type == AF_TYPE_A && has_audio_chans_out(filter, FALSE)) || // check for analysers only + (af_type == AF_TYPE_NONA && !has_audio_chans_out(filter, FALSE))) // check for non-analysers only continue; return TRUE; } @@ -4086,17 +4004,17 @@ boolean has_video_filters(boolean analysers_only) { // do we have any active video filters (excluding generators) ? - weed_plant_t *instance,*filter; + weed_plant_t *instance, *filter; register int i; - for (i=0; i<FX_KEYS_MAX_VIRTUAL; i++) { - if (rte_key_valid(i+1,TRUE)) { - if (mainw->rte&(GU641<<i)) { - if ((instance=key_to_instance[i][key_modes[i]])==NULL) continue; - filter=weed_instance_get_filter(instance,FALSE); - if (has_video_chans_in(filter,FALSE)) { - if (analysers_only&&has_video_chans_out(filter,FALSE)) continue; + for (i = 0; i < FX_KEYS_MAX_VIRTUAL; i++) { + if (rte_key_valid(i + 1, TRUE)) { + if (mainw->rte & (GU641 << i)) { + if ((instance = key_to_instance[i][key_modes[i]]) == NULL) continue; + filter = weed_instance_get_filter(instance, FALSE); + if (has_video_chans_in(filter, FALSE)) { + if (analysers_only && has_video_chans_out(filter, FALSE)) continue; return TRUE; } } @@ -4108,52 +4026,51 @@ ///////////////////////////////////////////////////////////////////////// - static int check_weed_plugin_info(weed_plant_t *plugin_info) { // verify the plugin_info returned from the plugin // TODO - print descriptive errors - if (!weed_plant_has_leaf(plugin_info,WEED_LEAF_HOST_INFO)) return -1; - if (!weed_plant_has_leaf(plugin_info,WEED_LEAF_VERSION)) return -2; - if (!weed_plant_has_leaf(plugin_info,WEED_LEAF_FILTERS)) return -3; - return weed_leaf_num_elements(plugin_info,WEED_LEAF_FILTERS); + if (!weed_plant_has_leaf(plugin_info, WEED_LEAF_HOST_INFO)) return -1; + if (!weed_plant_has_leaf(plugin_info, WEED_LEAF_VERSION)) return -2; + if (!weed_plant_has_leaf(plugin_info, WEED_LEAF_FILTERS)) return -3; + return weed_leaf_num_elements(plugin_info, WEED_LEAF_FILTERS); } int num_in_params(weed_plant_t *plant, boolean skip_hidden, boolean skip_internal) { - weed_plant_t **params=NULL; + weed_plant_t **params = NULL; weed_plant_t *param; - int counted=0; - int num_params,i,error; - boolean is_template=(WEED_PLANT_IS_FILTER_CLASS(plant)); + int counted = 0; + int num_params, i, error; + boolean is_template = (WEED_PLANT_IS_FILTER_CLASS(plant)); nip1: - num_params=0; + num_params = 0; if (is_template) { - if (!weed_plant_has_leaf(plant,WEED_LEAF_IN_PARAMETER_TEMPLATES)|| - weed_get_plantptr_value(plant,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error)==NULL) return 0; - num_params=weed_leaf_num_elements(plant,WEED_LEAF_IN_PARAMETER_TEMPLATES); + if (!weed_plant_has_leaf(plant, WEED_LEAF_IN_PARAMETER_TEMPLATES) || + weed_get_plantptr_value(plant, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error) == NULL) return 0; + num_params = weed_leaf_num_elements(plant, WEED_LEAF_IN_PARAMETER_TEMPLATES); } else { - if (!weed_plant_has_leaf(plant,WEED_LEAF_IN_PARAMETERS)) goto nip1done; - if (weed_get_plantptr_value(plant,WEED_LEAF_IN_PARAMETERS,&error)==NULL) goto nip1done; - num_params=weed_leaf_num_elements(plant,WEED_LEAF_IN_PARAMETERS); + if (!weed_plant_has_leaf(plant, WEED_LEAF_IN_PARAMETERS)) goto nip1done; + if (weed_get_plantptr_value(plant, WEED_LEAF_IN_PARAMETERS, &error) == NULL) goto nip1done; + num_params = weed_leaf_num_elements(plant, WEED_LEAF_IN_PARAMETERS); } - if (!skip_hidden&&!skip_internal) { - counted+=num_params; + if (!skip_hidden && !skip_internal) { + counted += num_params; goto nip1done; } - if (is_template) params=weed_get_plantptr_array(plant,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); - else params=weed_get_plantptr_array(plant,WEED_LEAF_IN_PARAMETERS,&error); + if (is_template) params = weed_get_plantptr_array(plant, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); + else params = weed_get_plantptr_array(plant, WEED_LEAF_IN_PARAMETERS, &error); - for (i=0; i<num_params; i++) { - if (skip_hidden&&is_hidden_param(plant,i)) continue; - param=params[i]; - if (skip_internal&&weed_plant_has_leaf(param,WEED_LEAF_HOST_INTERNAL_CONNECTION)) continue; + for (i = 0; i < num_params; i++) { + if (skip_hidden && is_hidden_param(plant, i)) continue; + param = params[i]; + if (skip_internal && weed_plant_has_leaf(param, WEED_LEAF_HOST_INTERNAL_CONNECTION)) continue; counted++; } @@ -4161,8 +4078,8 @@ nip1done: - if (!is_template&&skip_internal&&weed_plant_has_leaf(plant,WEED_LEAF_HOST_NEXT_INSTANCE)) { - plant=weed_get_plantptr_value(plant,WEED_LEAF_HOST_NEXT_INSTANCE,&error); + if (!is_template && skip_internal && weed_plant_has_leaf(plant, WEED_LEAF_HOST_NEXT_INSTANCE)) { + plant = weed_get_plantptr_value(plant, WEED_LEAF_HOST_NEXT_INSTANCE, &error); goto nip1; } @@ -4171,145 +4088,137 @@ int num_out_params(weed_plant_t *plant) { - int num_params,error; - boolean is_template=(WEED_PLANT_IS_FILTER_CLASS(plant)); + int num_params, error; + boolean is_template = (WEED_PLANT_IS_FILTER_CLASS(plant)); if (is_template) { - if (!weed_plant_has_leaf(plant,WEED_LEAF_OUT_PARAMETER_TEMPLATES)|| - weed_get_plantptr_value(plant,WEED_LEAF_OUT_PARAMETER_TEMPLATES,&error)==NULL) return 0; - num_params=weed_leaf_num_elements(plant,WEED_LEAF_OUT_PARAMETER_TEMPLATES); + if (!weed_plant_has_leaf(plant, WEED_LEAF_OUT_PARAMETER_TEMPLATES) || + weed_get_plantptr_value(plant, WEED_LEAF_OUT_PARAMETER_TEMPLATES, &error) == NULL) return 0; + num_params = weed_leaf_num_elements(plant, WEED_LEAF_OUT_PARAMETER_TEMPLATES); } else { - if (!weed_plant_has_leaf(plant,WEED_LEAF_OUT_PARAMETERS)) return 0; - if (weed_get_plantptr_value(plant,WEED_LEAF_OUT_PARAMETERS,&error)==NULL) return 0; - num_params=weed_leaf_num_elements(plant,WEED_LEAF_OUT_PARAMETERS); + if (!weed_plant_has_leaf(plant, WEED_LEAF_OUT_PARAMETERS)) return 0; + if (weed_get_plantptr_value(plant, WEED_LEAF_OUT_PARAMETERS, &error) == NULL) return 0; + num_params = weed_leaf_num_elements(plant, WEED_LEAF_OUT_PARAMETERS); } return num_params; } boolean has_usable_palette(weed_plant_t *chantmpl) { int error; - int palette=weed_get_int_value(chantmpl,WEED_LEAF_CURRENT_PALETTE,&error); + int palette = weed_get_int_value(chantmpl, WEED_LEAF_CURRENT_PALETTE, &error); // currently only integer RGB palettes are usable - if (palette==5||palette==6) return FALSE; - if (palette>0&&palette<=7) return TRUE; + if (palette == 5 || palette == 6) return FALSE; + if (palette > 0 && palette <= 7) return TRUE; return FALSE; } - int enabled_in_channels(weed_plant_t *plant, boolean count_repeats) { // count number of non-disabled in channels (video and/or audio) for a filter or instance // NOTE: for instances, we do not count optional audio channels, even if they are enabled - - weed_plant_t **channels=NULL; - boolean is_template=WEED_PLANT_IS_FILTER_CLASS(plant); - int enabled=0; - int num_channels,error; + weed_plant_t **channels = NULL; + boolean is_template = WEED_PLANT_IS_FILTER_CLASS(plant); + int enabled = 0; + int num_channels, error; register int i; if (is_template) { - if (!weed_plant_has_leaf(plant,WEED_LEAF_IN_CHANNEL_TEMPLATES)) return 0; - num_channels=weed_leaf_num_elements(plant,WEED_LEAF_IN_CHANNEL_TEMPLATES); - if (num_channels>0) channels=weed_get_plantptr_array(plant,WEED_LEAF_IN_CHANNEL_TEMPLATES,&error); + if (!weed_plant_has_leaf(plant, WEED_LEAF_IN_CHANNEL_TEMPLATES)) return 0; + num_channels = weed_leaf_num_elements(plant, WEED_LEAF_IN_CHANNEL_TEMPLATES); + if (num_channels > 0) channels = weed_get_plantptr_array(plant, WEED_LEAF_IN_CHANNEL_TEMPLATES, &error); } else { - if (!weed_plant_has_leaf(plant,WEED_LEAF_IN_CHANNELS)) return 0; - num_channels=weed_leaf_num_elements(plant,WEED_LEAF_IN_CHANNELS); - if (num_channels>0) channels=weed_get_plantptr_array(plant,WEED_LEAF_IN_CHANNELS,&error); + if (!weed_plant_has_leaf(plant, WEED_LEAF_IN_CHANNELS)) return 0; + num_channels = weed_leaf_num_elements(plant, WEED_LEAF_IN_CHANNELS); + if (num_channels > 0) channels = weed_get_plantptr_array(plant, WEED_LEAF_IN_CHANNELS, &error); } - for (i=0; i<num_channels; i++) { + for (i = 0; i < num_channels; i++) { if (!is_template) { - weed_plant_t *ctmpl=weed_get_plantptr_value(channels[i],WEED_LEAF_TEMPLATE,&error); - if (weed_plant_has_leaf(ctmpl,WEED_LEAF_IS_AUDIO)&&weed_get_boolean_value(ctmpl,WEED_LEAF_IS_AUDIO,&error)==WEED_TRUE) { - if (weed_plant_has_leaf(ctmpl,WEED_LEAF_OPTIONAL)&&weed_get_boolean_value(ctmpl,WEED_LEAF_OPTIONAL,&error)==WEED_TRUE) continue; + weed_plant_t *ctmpl = weed_get_plantptr_value(channels[i], WEED_LEAF_TEMPLATE, &error); + if (weed_plant_has_leaf(ctmpl, WEED_LEAF_IS_AUDIO) && weed_get_boolean_value(ctmpl, WEED_LEAF_IS_AUDIO, &error) == WEED_TRUE) { + if (weed_plant_has_leaf(ctmpl, WEED_LEAF_OPTIONAL) && weed_get_boolean_value(ctmpl, WEED_LEAF_OPTIONAL, &error) == WEED_TRUE) continue; } - if (!weed_plant_has_leaf(channels[i],WEED_LEAF_DISABLED)|| - weed_get_boolean_value(channels[i],WEED_LEAF_DISABLED,&error)!=WEED_TRUE) enabled++; + if (!weed_plant_has_leaf(channels[i], WEED_LEAF_DISABLED) || + weed_get_boolean_value(channels[i], WEED_LEAF_DISABLED, &error) != WEED_TRUE) enabled++; } else { - if (!weed_plant_has_leaf(channels[i],WEED_LEAF_HOST_DISABLED)|| - weed_get_boolean_value(channels[i],WEED_LEAF_HOST_DISABLED,&error)!=WEED_TRUE) enabled++; + if (!weed_plant_has_leaf(channels[i], WEED_LEAF_HOST_DISABLED) || + weed_get_boolean_value(channels[i], WEED_LEAF_HOST_DISABLED, &error) != WEED_TRUE) enabled++; } if (count_repeats) { // count repeated channels weed_plant_t *chantmpl; int repeats; - if (is_template) chantmpl=channels[i]; - else chantmpl=weed_get_plantptr_value(channels[i],WEED_LEAF_TEMPLATE,&error); - if (weed_plant_has_leaf(channels[i],WEED_LEAF_MAX_REPEATS)) { - if (weed_plant_has_leaf(channels[i],WEED_LEAF_DISABLED)&& - weed_get_boolean_value(channels[i],WEED_LEAF_DISABLED,&error)==WEED_TRUE&& + if (is_template) chantmpl = channels[i]; + else chantmpl = weed_get_plantptr_value(channels[i], WEED_LEAF_TEMPLATE, &error); + if (weed_plant_has_leaf(channels[i], WEED_LEAF_MAX_REPEATS)) { + if (weed_plant_has_leaf(channels[i], WEED_LEAF_DISABLED) && + weed_get_boolean_value(channels[i], WEED_LEAF_DISABLED, &error) == WEED_TRUE && !has_usable_palette(chantmpl)) continue; // channel was disabled because palette is unusable - repeats=weed_get_int_value(channels[i],WEED_LEAF_MAX_REPEATS,&error)-1; - if (repeats==-1) repeats=1000000; - enabled+=repeats; + repeats = weed_get_int_value(channels[i], WEED_LEAF_MAX_REPEATS, &error) - 1; + if (repeats == -1) repeats = 1000000; + enabled += repeats; } } } - if (channels!=NULL) lives_free(channels); + if (channels != NULL) lives_free(channels); return enabled; } int enabled_out_channels(weed_plant_t *plant, boolean count_repeats) { - weed_plant_t **channels=NULL; - int enabled=0; - int num_channels,i,error; - boolean is_template=WEED_PLANT_IS_FILTER_CLASS(plant); + weed_plant_t **channels = NULL; + int enabled = 0; + int num_channels, i, error; + boolean is_template = WEED_PLANT_IS_FILTER_CLASS(plant); if (is_template) { - num_channels=weed_leaf_num_elements(plant,WEED_LEAF_OUT_CHANNEL_TEMPLATES); - if (num_channels>0) channels=weed_get_plantptr_array(plant,WEED_LEAF_OUT_CHANNEL_TEMPLATES,&error); + num_channels = weed_leaf_num_elements(plant, WEED_LEAF_OUT_CHANNEL_TEMPLATES); + if (num_channels > 0) channels = weed_get_plantptr_array(plant, WEED_LEAF_OUT_CHANNEL_TEMPLATES, &error); } else { - num_channels=weed_leaf_num_elements(plant,WEED_LEAF_OUT_CHANNELS); - if (num_channels>0) channels=weed_get_plantptr_array(plant,WEED_LEAF_OUT_CHANNELS,&error); + num_channels = weed_leaf_num_elements(plant, WEED_LEAF_OUT_CHANNELS); + if (num_channels > 0) channels = weed_get_plantptr_array(plant, WEED_LEAF_OUT_CHANNELS, &error); } - for (i=0; i<num_channels; i++) { + for (i = 0; i < num_channels; i++) { if (!is_template) { - if (!weed_plant_has_leaf(channels[i],WEED_LEAF_DISABLED)|| - weed_get_boolean_value(channels[i],WEED_LEAF_DISABLED,&error)!=WEED_TRUE) enabled++; + if (!weed_plant_has_leaf(channels[i], WEED_LEAF_DISABLED) || + weed_get_boolean_value(channels[i], WEED_LEAF_DISABLED, &error) != WEED_TRUE) enabled++; } else { - if (!weed_plant_has_leaf(channels[i],WEED_LEAF_HOST_DISABLED)|| - weed_get_boolean_value(channels[i],WEED_LEAF_HOST_DISABLED,&error)!=WEED_TRUE) enabled++; + if (!weed_plant_has_leaf(channels[i], WEED_LEAF_HOST_DISABLED) || + weed_get_boolean_value(channels[i], WEED_LEAF_HOST_DISABLED, &error) != WEED_TRUE) enabled++; } if (count_repeats) { // count repeated channels weed_plant_t *chantmpl; int repeats; - if (is_template) chantmpl=channels[i]; - else chantmpl=weed_get_plantptr_value(channels[i],WEED_LEAF_TEMPLATE,&error); - if (weed_plant_has_leaf(channels[i],WEED_LEAF_MAX_REPEATS)) { - if (weed_plant_has_leaf(channels[i],WEED_LEAF_DISABLED)&& - weed_get_boolean_value(channels[i],WEED_LEAF_DISABLED,&error)==WEED_TRUE&& + if (is_template) chantmpl = channels[i]; + else chantmpl = weed_get_plantptr_value(channels[i], WEED_LEAF_TEMPLATE, &error); + if (weed_plant_has_leaf(channels[i], WEED_LEAF_MAX_REPEATS)) { + if (weed_plant_has_leaf(channels[i], WEED_LEAF_DISABLED) && + weed_get_boolean_value(channels[i], WEED_LEAF_DISABLED, &error) == WEED_TRUE && !has_usable_palette(chantmpl)) continue; // channel was disabled because palette is unusable - repeats=weed_get_int_value(channels[i],WEED_LEAF_MAX_REPEATS,&error)-1; - if (repeats==-1) repeats=1000000; - enabled+=repeats; + repeats = weed_get_int_value(channels[i], WEED_LEAF_MAX_REPEATS, &error) - 1; + if (repeats == -1) repeats = 1000000; + enabled += repeats; } } } - if (channels!=NULL) lives_free(channels); + if (channels != NULL) lives_free(channels); return enabled; } - - - - ///////////////////////////////////////////////////////////////////// - - static int check_for_lives(weed_plant_t *filter, int filter_idx) { // for LiVES, currently: // all filters must take 0, 1 or 2 mandatory/optional inputs and provide @@ -4327,67 +4236,67 @@ // filters can now have any number of mandatory in alphas, the effect will not be run unless the channels are filled // (by chaining to output of another fx) - - int chans_in_mand=0; // number of mandatory channels - int chans_in_opt_max=0; // number of usable (by LiVES) optional channels - int chans_out_mand=0; - int chans_out_opt_max=0; - int achans_in_mand=0,achans_out_mand=0; - boolean is_audio=FALSE; - boolean has_out_params=FALSE; - boolean all_out_alpha=TRUE; - boolean hidden=FALSE; - - int error,flags=0; - int num_elements,i; - int naudins=0,naudouts=0; - weed_plant_t **array=NULL; + int chans_in_mand = 0; // number of mandatory channels + int chans_in_opt_max = 0; // number of usable (by LiVES) optional channels + int chans_out_mand = 0; + int chans_out_opt_max = 0; + int achans_in_mand = 0, achans_out_mand = 0; + boolean is_audio = FALSE; + boolean has_out_params = FALSE; + boolean all_out_alpha = TRUE; + boolean hidden = FALSE; + + int error, flags = 0; + int num_elements, i; + int naudins = 0, naudouts = 0; + weed_plant_t **array = NULL; // TODO - check seed types - if (!weed_plant_has_leaf(filter,WEED_LEAF_NAME)) return 1; - if (!weed_plant_has_leaf(filter,WEED_LEAF_AUTHOR)) return 2; - if (!weed_plant_has_leaf(filter,WEED_LEAF_VERSION)) return 3; - if (!weed_plant_has_leaf(filter,WEED_LEAF_PROCESS_FUNC)) return 4; + if (!weed_plant_has_leaf(filter, WEED_LEAF_NAME)) return 1; + if (!weed_plant_has_leaf(filter, WEED_LEAF_AUTHOR)) return 2; + if (!weed_plant_has_leaf(filter, WEED_LEAF_VERSION)) return 3; + if (!weed_plant_has_leaf(filter, WEED_LEAF_PROCESS_FUNC)) return 4; - if (!weed_plant_has_leaf(filter,WEED_LEAF_FLAGS)) weed_set_int_value(filter,WEED_LEAF_FLAGS,0); - else flags=weed_get_int_value(filter,WEED_LEAF_FLAGS,&error); + if (!weed_plant_has_leaf(filter, WEED_LEAF_FLAGS)) weed_set_int_value(filter, WEED_LEAF_FLAGS, 0); + else flags = weed_get_int_value(filter, WEED_LEAF_FLAGS, &error); // for now we will only load realtime effects - if (flags&WEED_FILTER_NON_REALTIME) return 5; + if (flags & WEED_FILTER_NON_REALTIME) return 5; // count number of mandatory and optional in_channels - if (!weed_plant_has_leaf(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES)) num_elements=0; - else num_elements=weed_leaf_num_elements(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES); + if (!weed_plant_has_leaf(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES)) num_elements = 0; + else num_elements = weed_leaf_num_elements(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES); - if (num_elements>0) array=weed_get_plantptr_array(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES,&error); + if (num_elements > 0) array = weed_get_plantptr_array(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES, &error); - for (i=0; i<num_elements; i++) { + for (i = 0; i < num_elements; i++) { #ifndef HAVE_POSIX_MEMALIGN - if (weed_plant_has_leaf(array[i],WEED_LEAF_ALIGNMENT)) { + if (weed_plant_has_leaf(array[i], WEED_LEAF_ALIGNMENT)) { lives_free(array); return 12; } #endif - if (weed_plant_has_leaf(array[i],WEED_LEAF_IS_AUDIO)&&weed_get_boolean_value(array[i],WEED_LEAF_IS_AUDIO,&error)==WEED_TRUE) { - if (weed_plant_has_leaf(array[i],WEED_LEAF_AUDIO_CHANNELS)&&(naudins=weed_get_int_value(array[i],WEED_LEAF_AUDIO_CHANNELS,&error))>2) { + if (weed_plant_has_leaf(array[i], WEED_LEAF_IS_AUDIO) && weed_get_boolean_value(array[i], WEED_LEAF_IS_AUDIO, &error) == WEED_TRUE) { + if (weed_plant_has_leaf(array[i], WEED_LEAF_AUDIO_CHANNELS) && + (naudins = weed_get_int_value(array[i], WEED_LEAF_AUDIO_CHANNELS, &error)) > 2) { // currently we only handle mono and stereo audio filters lives_free(array); return 7; } - is_audio=TRUE; + is_audio = TRUE; } - if (!weed_plant_has_leaf(array[i],WEED_LEAF_NAME)||(!weed_plant_has_leaf(array[i],WEED_LEAF_PALETTE_LIST)&&!is_audio)) { + if (!weed_plant_has_leaf(array[i], WEED_LEAF_NAME) || (!weed_plant_has_leaf(array[i], WEED_LEAF_PALETTE_LIST) && !is_audio)) { lives_free(array); return 6; } - if (!weed_plant_has_leaf(array[i],WEED_LEAF_FLAGS)) weed_set_int_value(array[i],WEED_LEAF_FLAGS,0); + if (!weed_plant_has_leaf(array[i], WEED_LEAF_FLAGS)) weed_set_int_value(array[i], WEED_LEAF_FLAGS, 0); - if (weed_plant_has_leaf(array[i],WEED_LEAF_OPTIONAL)&&weed_get_boolean_value(array[i],WEED_LEAF_OPTIONAL,&error)==WEED_TRUE) { + if (weed_plant_has_leaf(array[i], WEED_LEAF_OPTIONAL) && weed_get_boolean_value(array[i], WEED_LEAF_OPTIONAL, &error) == WEED_TRUE) { // is optional chans_in_opt_max++; - weed_set_boolean_value(array[i],WEED_LEAF_HOST_DISABLED,WEED_TRUE); + weed_set_boolean_value(array[i], WEED_LEAF_HOST_DISABLED, WEED_TRUE); } else { if (has_non_alpha_palette(array[i])) { if (!is_audio) chans_in_mand++; @@ -4395,90 +4304,91 @@ } } } - if (num_elements>0) lives_free(array); - if (chans_in_mand>2) return 8; // we dont handle mixers yet... - if (achans_in_mand>0&&chans_in_mand>0) return 13; // can't yet handle effects that need both audio and video + if (num_elements > 0) lives_free(array); + if (chans_in_mand > 2) return 8; // we dont handle mixers yet... + if (achans_in_mand > 0 && chans_in_mand > 0) return 13; // can't yet handle effects that need both audio and video // count number of mandatory and optional out_channels - if (!weed_plant_has_leaf(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES)) num_elements=0; - else num_elements=weed_leaf_num_elements(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES); + if (!weed_plant_has_leaf(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES)) num_elements = 0; + else num_elements = weed_leaf_num_elements(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES); - if (num_elements>0) array=weed_get_plantptr_array(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES,&error); + if (num_elements > 0) array = weed_get_plantptr_array(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES, &error); - for (i=0; i<num_elements; i++) { + for (i = 0; i < num_elements; i++) { #ifndef HAVE_POSIX_MEMALIGN - if (weed_plant_has_leaf(array[i],WEED_LEAF_ALIGNMENT)) { + if (weed_plant_has_leaf(array[i], WEED_LEAF_ALIGNMENT)) { lives_free(array); return 12; } #endif - if (weed_plant_has_leaf(array[i],WEED_LEAF_IS_AUDIO)&&weed_get_boolean_value(array[i],WEED_LEAF_IS_AUDIO,&error)==WEED_TRUE) { - if (weed_plant_has_leaf(array[i],WEED_LEAF_AUDIO_CHANNELS)&&(naudouts=weed_get_int_value(array[i],WEED_LEAF_AUDIO_CHANNELS,&error))>2) { + if (weed_plant_has_leaf(array[i], WEED_LEAF_IS_AUDIO) && weed_get_boolean_value(array[i], WEED_LEAF_IS_AUDIO, &error) == WEED_TRUE) { + if (weed_plant_has_leaf(array[i], WEED_LEAF_AUDIO_CHANNELS) && + (naudouts = weed_get_int_value(array[i], WEED_LEAF_AUDIO_CHANNELS, &error)) > 2) { // currently we only handle mono and stereo audio filters lives_free(array); return 7; } - if (naudins==1&&naudouts==2) { + if (naudins == 1 && naudouts == 2) { // converting mono to stereo cannot be done like that lives_free(array); return 7; } - is_audio=TRUE; + is_audio = TRUE; } - if (!weed_plant_has_leaf(array[i],WEED_LEAF_NAME)||(!weed_plant_has_leaf(array[i],WEED_LEAF_PALETTE_LIST)&&!is_audio)) { + if (!weed_plant_has_leaf(array[i], WEED_LEAF_NAME) || (!weed_plant_has_leaf(array[i], WEED_LEAF_PALETTE_LIST) && !is_audio)) { lives_free(array); return 9; } - if (!weed_plant_has_leaf(array[i],WEED_LEAF_FLAGS)) weed_set_int_value(array[i],WEED_LEAF_FLAGS,0); + if (!weed_plant_has_leaf(array[i], WEED_LEAF_FLAGS)) weed_set_int_value(array[i], WEED_LEAF_FLAGS, 0); - if (weed_plant_has_leaf(array[i],WEED_LEAF_OPTIONAL)&&weed_get_boolean_value(array[i],WEED_LEAF_OPTIONAL,&error)==WEED_TRUE) { + if (weed_plant_has_leaf(array[i], WEED_LEAF_OPTIONAL) && weed_get_boolean_value(array[i], WEED_LEAF_OPTIONAL, &error) == WEED_TRUE) { // is optional chans_out_opt_max++; - weed_set_boolean_value(array[i],WEED_LEAF_HOST_DISABLED,WEED_TRUE); + weed_set_boolean_value(array[i], WEED_LEAF_HOST_DISABLED, WEED_TRUE); } else { // is mandatory if (!is_audio) { chans_out_mand++; - if (has_non_alpha_palette(array[i])) all_out_alpha=FALSE; + if (has_non_alpha_palette(array[i])) all_out_alpha = FALSE; } else achans_out_mand++; } } - if (num_elements>0) lives_free(array); - if (weed_plant_has_leaf(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES)) has_out_params=TRUE; + if (num_elements > 0) lives_free(array); + if (weed_plant_has_leaf(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES)) has_out_params = TRUE; - if ((chans_out_mand>1&&!all_out_alpha)||((chans_out_mand+chans_out_opt_max+achans_out_mand<1) - &&(!has_out_params))) return 11; - if (achans_out_mand>1||(achans_out_mand==1&&chans_out_mand>0)) return 14; - if (achans_in_mand>=1&&achans_out_mand==0&&!(has_out_params)) return 15; - - weed_add_plant_flags(filter,WEED_LEAF_READONLY_PLUGIN); - if (weed_plant_has_leaf(filter,WEED_LEAF_GUI)) { - weed_plant_t *gui=weed_get_plantptr_value(filter,WEED_LEAF_GUI,&error); - weed_add_plant_flags(gui,WEED_LEAF_READONLY_PLUGIN); - if (weed_plant_has_leaf(gui,WEED_LEAF_HIDDEN)&&weed_get_boolean_value(gui,WEED_LEAF_HIDDEN,&error)==WEED_TRUE) - hidden=TRUE; + if ((chans_out_mand > 1 && !all_out_alpha) || ((chans_out_mand + chans_out_opt_max + achans_out_mand < 1) + && (!has_out_params))) return 11; + if (achans_out_mand > 1 || (achans_out_mand == 1 && chans_out_mand > 0)) return 14; + if (achans_in_mand >= 1 && achans_out_mand == 0 && !(has_out_params)) return 15; + + weed_add_plant_flags(filter, WEED_LEAF_READONLY_PLUGIN); + if (weed_plant_has_leaf(filter, WEED_LEAF_GUI)) { + weed_plant_t *gui = weed_get_plantptr_value(filter, WEED_LEAF_GUI, &error); + weed_add_plant_flags(gui, WEED_LEAF_READONLY_PLUGIN); + if (weed_plant_has_leaf(gui, WEED_LEAF_HIDDEN) && weed_get_boolean_value(gui, WEED_LEAF_HIDDEN, &error) == WEED_TRUE) + hidden = TRUE; } - if (hidden||(flags&WEED_FILTER_IS_CONVERTER)) { + if (hidden || (flags & WEED_FILTER_IS_CONVERTER)) { if (is_audio) { - weed_set_boolean_value(filter,WEED_LEAF_HOST_MENU_HIDE,WEED_TRUE); - if (enabled_in_channels(filter,TRUE)>=1000000) { + weed_set_boolean_value(filter, WEED_LEAF_HOST_MENU_HIDE, WEED_TRUE); + if (enabled_in_channels(filter, TRUE) >= 1000000) { // this is a candidate for audio volume - lives_fx_candidate_t *cand=&mainw->fx_candidates[FX_CANDIDATE_AUDIO_VOL]; - cand->list=lives_list_append(cand->list,LIVES_INT_TO_POINTER(filter_idx)); - cand->delegate=0; + lives_fx_candidate_t *cand = &mainw->fx_candidates[FX_CANDIDATE_AUDIO_VOL]; + cand->list = lives_list_append(cand->list, LIVES_INT_TO_POINTER(filter_idx)); + cand->delegate = 0; } } else { - weed_set_boolean_value(filter,WEED_LEAF_HOST_MENU_HIDE,WEED_TRUE); - if (chans_in_mand==1&&chans_out_mand==1) { - weed_plant_t *fstout=get_mandatory_channel(filter,0,FALSE); - int ochan_flags=weed_get_int_value(fstout,WEED_LEAF_FLAGS,&error); - if (ochan_flags&WEED_CHANNEL_SIZE_CAN_VARY) { + weed_set_boolean_value(filter, WEED_LEAF_HOST_MENU_HIDE, WEED_TRUE); + if (chans_in_mand == 1 && chans_out_mand == 1) { + weed_plant_t *fstout = get_mandatory_channel(filter, 0, FALSE); + int ochan_flags = weed_get_int_value(fstout, WEED_LEAF_FLAGS, &error); + if (ochan_flags & WEED_CHANNEL_SIZE_CAN_VARY) { // this is a candidate for resize - lives_fx_candidate_t *cand=&mainw->fx_candidates[FX_CANDIDATE_RESIZER]; - cand->list=lives_list_append(cand->list,LIVES_INT_TO_POINTER(filter_idx)); - cand->delegate=0; + lives_fx_candidate_t *cand = &mainw->fx_candidates[FX_CANDIDATE_RESIZER]; + cand->list = lives_list_append(cand->list, LIVES_INT_TO_POINTER(filter_idx)); + cand->delegate = 0; } } } @@ -4488,7 +4398,6 @@ } - static boolean set_in_channel_palettes(weed_plant_t *filter, int num_channels) { // set in channel palettes for filter // we also enable optional channels if we have to @@ -4496,69 +4405,70 @@ // then if necessary the optional channels // we return FALSE if we could not satisfy the request - weed_plant_t **chantmpls=NULL; + weed_plant_t **chantmpls = NULL; int def_palette; - int num_elements,i,error; + int num_elements, i, error; - if (!weed_plant_has_leaf(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES)) { - if (num_channels>0) return FALSE; + if (!weed_plant_has_leaf(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES)) { + if (num_channels > 0) return FALSE; return TRUE; } - num_elements=weed_leaf_num_elements(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES); + num_elements = weed_leaf_num_elements(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES); - if (num_elements<num_channels) return FALSE; + if (num_elements < num_channels) return FALSE; - if (num_elements==0) return TRUE; + if (num_elements == 0) return TRUE; - chantmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES,&error); + chantmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES, &error); // our start state is with all optional channels disabled // fill mandatory channels first; these palettes may change later if we get a frame in a different palette - for (i=0; i<num_elements; i++) { - if (!weed_plant_has_leaf(chantmpls[i],WEED_LEAF_IS_AUDIO)||weed_get_boolean_value(chantmpls[i],WEED_LEAF_IS_AUDIO,&error)!=WEED_TRUE) { - int num_palettes=weed_leaf_num_elements(chantmpls[i],WEED_LEAF_PALETTE_LIST); - int *palettes=weed_get_int_array(chantmpls[i],WEED_LEAF_PALETTE_LIST,&error); - if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_RGB24)==WEED_PALETTE_RGB24) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_RGB24); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_BGR24)==WEED_PALETTE_BGR24) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_BGR24); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_RGBA32)==WEED_PALETTE_RGBA32) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_RGBA32); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_BGRA32)==WEED_PALETTE_BGRA32) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_BGRA32); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_ARGB32)==WEED_PALETTE_ARGB32) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_ARGB32); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_YUV888)==WEED_PALETTE_YUV888) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_YUV888); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_YUV444P)==WEED_PALETTE_YUV444P) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_YUV444P); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_YUVA8888)==WEED_PALETTE_YUVA8888) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_YUVA8888); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_YUVA4444P)==WEED_PALETTE_YUVA4444P) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_YUVA4444P); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_UYVY8888)==WEED_PALETTE_UYVY8888) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_UYVY8888); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_YUYV8888)==WEED_PALETTE_YUYV8888) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_YUYV8888); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_YUV422P)==WEED_PALETTE_YUV422P) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_YUV422P); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_YUV420P)==WEED_PALETTE_YUV420P) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_YUV420P); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_YVU420P)==WEED_PALETTE_YVU420P) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_YVU420P); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_YUV411)==WEED_PALETTE_YUV411) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_YUV411); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_AFLOAT)==WEED_PALETTE_AFLOAT) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_AFLOAT); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_A8)==WEED_PALETTE_A8) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_A8); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_A1)==WEED_PALETTE_A1) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_A1); - else if (!weed_plant_has_leaf(chantmpls[i],WEED_LEAF_OPTIONAL)) { - if (chantmpls!=NULL) lives_free(chantmpls); + for (i = 0; i < num_elements; i++) { + if (!weed_plant_has_leaf(chantmpls[i], WEED_LEAF_IS_AUDIO) || + weed_get_boolean_value(chantmpls[i], WEED_LEAF_IS_AUDIO, &error) != WEED_TRUE) { + int num_palettes = weed_leaf_num_elements(chantmpls[i], WEED_LEAF_PALETTE_LIST); + int *palettes = weed_get_int_array(chantmpls[i], WEED_LEAF_PALETTE_LIST, &error); + if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_RGB24) == WEED_PALETTE_RGB24) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_RGB24); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_BGR24) == WEED_PALETTE_BGR24) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_BGR24); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_RGBA32) == WEED_PALETTE_RGBA32) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_RGBA32); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_BGRA32) == WEED_PALETTE_BGRA32) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_BGRA32); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_ARGB32) == WEED_PALETTE_ARGB32) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_ARGB32); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_YUV888) == WEED_PALETTE_YUV888) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_YUV888); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_YUV444P) == WEED_PALETTE_YUV444P) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_YUV444P); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_YUVA8888) == WEED_PALETTE_YUVA8888) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_YUVA8888); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_YUVA4444P) == WEED_PALETTE_YUVA4444P) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_YUVA4444P); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_UYVY8888) == WEED_PALETTE_UYVY8888) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_UYVY8888); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_YUYV8888) == WEED_PALETTE_YUYV8888) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_YUYV8888); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_YUV422P) == WEED_PALETTE_YUV422P) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_YUV422P); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_YUV420P) == WEED_PALETTE_YUV420P) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_YUV420P); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_YVU420P) == WEED_PALETTE_YVU420P) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_YVU420P); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_YUV411) == WEED_PALETTE_YUV411) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_YUV411); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_AFLOAT) == WEED_PALETTE_AFLOAT) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_AFLOAT); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_A8) == WEED_PALETTE_A8) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_A8); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_A1) == WEED_PALETTE_A1) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_A1); + else if (!weed_plant_has_leaf(chantmpls[i], WEED_LEAF_OPTIONAL)) { + if (chantmpls != NULL) lives_free(chantmpls); lives_free(palettes); return FALSE; // mandatory channel; we don't yet handle rgb float } @@ -4570,33 +4480,34 @@ lives_free(palettes); } - if (!weed_plant_has_leaf(chantmpls[i],WEED_LEAF_OPTIONAL)) num_channels--; // mandatory channel + if (!weed_plant_has_leaf(chantmpls[i], WEED_LEAF_OPTIONAL)) num_channels--; // mandatory channel } - if (num_channels>0) { + if (num_channels > 0) { // OK we need to use some optional channels - for (i=0; i<num_elements&&num_channels>0; i++) if (weed_plant_has_leaf(chantmpls[i],WEED_LEAF_OPTIONAL)) { - weed_set_boolean_value(chantmpls[i],WEED_LEAF_HOST_DISABLED,WEED_FALSE); + for (i = 0; i < num_elements && num_channels > 0; i++) if (weed_plant_has_leaf(chantmpls[i], WEED_LEAF_OPTIONAL)) { + weed_set_boolean_value(chantmpls[i], WEED_LEAF_HOST_DISABLED, WEED_FALSE); num_channels--; } } - if (num_channels>0) { - if (chantmpls!=NULL) lives_free(chantmpls); + if (num_channels > 0) { + if (chantmpls != NULL) lives_free(chantmpls); return FALSE; } // now we set match channels - if (!weed_plant_has_leaf(chantmpls[0],WEED_LEAF_IS_AUDIO)||weed_get_boolean_value(chantmpls[0],WEED_LEAF_IS_AUDIO,&error)!=WEED_TRUE) { - def_palette=weed_get_int_value(chantmpls[0],WEED_LEAF_CURRENT_PALETTE,&error); - for (i=1; i<num_elements; i++) { - int channel_flags=weed_get_int_value(chantmpls[i],WEED_LEAF_FLAGS,&error); - if (!(channel_flags&WEED_CHANNEL_PALETTE_CAN_VARY)) { - int num_palettes=weed_leaf_num_elements(chantmpls[i],WEED_LEAF_PALETTE_LIST); - int *palettes=weed_get_int_array(chantmpls[i],WEED_LEAF_PALETTE_LIST,&error); - if (check_weed_palette_list(palettes,num_palettes,def_palette)==def_palette) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,def_palette); + if (!weed_plant_has_leaf(chantmpls[0], WEED_LEAF_IS_AUDIO) || + weed_get_boolean_value(chantmpls[0], WEED_LEAF_IS_AUDIO, &error) != WEED_TRUE) { + def_palette = weed_get_int_value(chantmpls[0], WEED_LEAF_CURRENT_PALETTE, &error); + for (i = 1; i < num_elements; i++) { + int channel_flags = weed_get_int_value(chantmpls[i], WEED_LEAF_FLAGS, &error); + if (!(channel_flags & WEED_CHANNEL_PALETTE_CAN_VARY)) { + int num_palettes = weed_leaf_num_elements(chantmpls[i], WEED_LEAF_PALETTE_LIST); + int *palettes = weed_get_int_array(chantmpls[i], WEED_LEAF_PALETTE_LIST, &error); + if (check_weed_palette_list(palettes, num_palettes, def_palette) == def_palette) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, def_palette); else { - if (chantmpls!=NULL) lives_free(chantmpls); + if (chantmpls != NULL) lives_free(chantmpls); lives_free(palettes); return FALSE; } @@ -4604,12 +4515,11 @@ } } } - if (chantmpls!=NULL) lives_free(chantmpls); + if (chantmpls != NULL) lives_free(chantmpls); return TRUE; } - static boolean set_out_channel_palettes(weed_plant_t *filter, int num_channels) { // set in channel palettes for filter // we also enable optional channels if we have to @@ -4617,62 +4527,63 @@ // then if necessary the optional channels // we return FALSE if we could not satisfy the request - weed_plant_t **chantmpls=NULL; - weed_plant_t **in_chantmpls=NULL; + weed_plant_t **chantmpls = NULL; + weed_plant_t **in_chantmpls = NULL; - int num_elements=weed_leaf_num_elements(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES),i,error; - int num_in_elements=weed_leaf_num_elements(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES); + int num_elements = weed_leaf_num_elements(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES), i, error; + int num_in_elements = weed_leaf_num_elements(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES); - int def_palette=WEED_PALETTE_END; + int def_palette = WEED_PALETTE_END; - if (num_elements<num_channels) return FALSE; + if (num_elements < num_channels) return FALSE; - chantmpls=weed_get_plantptr_array(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES,&error); + chantmpls = weed_get_plantptr_array(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES, &error); // our start state is with all optional channels disabled // fill mandatory channels first; these palettes may change later if we get a frame in a different palette - for (i=0; i<num_elements; i++) { - if (!weed_plant_has_leaf(chantmpls[i],WEED_LEAF_IS_AUDIO)||weed_get_boolean_value(chantmpls[i],WEED_LEAF_IS_AUDIO,&error)!=WEED_TRUE) { - int num_palettes=weed_leaf_num_elements(chantmpls[i],WEED_LEAF_PALETTE_LIST); - int *palettes=weed_get_int_array(chantmpls[i],WEED_LEAF_PALETTE_LIST,&error); - if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_RGB24)==WEED_PALETTE_RGB24) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_RGB24); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_BGR24)==WEED_PALETTE_BGR24) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_BGR24); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_RGBA32)==WEED_PALETTE_RGBA32) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_RGBA32); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_BGRA32)==WEED_PALETTE_BGRA32) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_BGRA32); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_ARGB32)==WEED_PALETTE_ARGB32) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_ARGB32); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_YUV888)==WEED_PALETTE_YUV888) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_YUV888); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_YUV444P)==WEED_PALETTE_YUV444P) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_YUV444P); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_YUVA8888)==WEED_PALETTE_YUVA8888) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_YUVA8888); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_YUVA4444P)==WEED_PALETTE_YUVA4444P) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_YUVA4444P); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_UYVY8888)==WEED_PALETTE_UYVY8888) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_UYVY8888); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_YUYV8888)==WEED_PALETTE_YUYV8888) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_YUYV8888); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_YUV422P)==WEED_PALETTE_YUV422P) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_YUV422P); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_YUV420P)==WEED_PALETTE_YUV420P) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_YUV420P); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_YVU420P)==WEED_PALETTE_YVU420P) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_YVU420P); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_YUV411)==WEED_PALETTE_YUV411) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_YUV411); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_AFLOAT)==WEED_PALETTE_AFLOAT) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_AFLOAT); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_A8)==WEED_PALETTE_A8) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_A8); - else if (check_weed_palette_list(palettes,num_palettes,WEED_PALETTE_A1)==WEED_PALETTE_A1) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_A1); - else if (!weed_plant_has_leaf(chantmpls[i],WEED_LEAF_OPTIONAL)) { - if (chantmpls!=NULL) lives_free(chantmpls); + for (i = 0; i < num_elements; i++) { + if (!weed_plant_has_leaf(chantmpls[i], WEED_LEAF_IS_AUDIO) || + weed_get_boolean_value(chantmpls[i], WEED_LEAF_IS_AUDIO, &error) != WEED_TRUE) { + int num_palettes = weed_leaf_num_elements(chantmpls[i], WEED_LEAF_PALETTE_LIST); + int *palettes = weed_get_int_array(chantmpls[i], WEED_LEAF_PALETTE_LIST, &error); + if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_RGB24) == WEED_PALETTE_RGB24) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_RGB24); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_BGR24) == WEED_PALETTE_BGR24) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_BGR24); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_RGBA32) == WEED_PALETTE_RGBA32) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_RGBA32); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_BGRA32) == WEED_PALETTE_BGRA32) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_BGRA32); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_ARGB32) == WEED_PALETTE_ARGB32) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_ARGB32); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_YUV888) == WEED_PALETTE_YUV888) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_YUV888); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_YUV444P) == WEED_PALETTE_YUV444P) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_YUV444P); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_YUVA8888) == WEED_PALETTE_YUVA8888) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_YUVA8888); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_YUVA4444P) == WEED_PALETTE_YUVA4444P) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_YUVA4444P); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_UYVY8888) == WEED_PALETTE_UYVY8888) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_UYVY8888); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_YUYV8888) == WEED_PALETTE_YUYV8888) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_YUYV8888); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_YUV422P) == WEED_PALETTE_YUV422P) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_YUV422P); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_YUV420P) == WEED_PALETTE_YUV420P) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_YUV420P); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_YVU420P) == WEED_PALETTE_YVU420P) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_YVU420P); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_YUV411) == WEED_PALETTE_YUV411) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_YUV411); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_AFLOAT) == WEED_PALETTE_AFLOAT) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_AFLOAT); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_A8) == WEED_PALETTE_A8) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_A8); + else if (check_weed_palette_list(palettes, num_palettes, WEED_PALETTE_A1) == WEED_PALETTE_A1) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_A1); + else if (!weed_plant_has_leaf(chantmpls[i], WEED_LEAF_OPTIONAL)) { + if (chantmpls != NULL) lives_free(chantmpls); lives_free(palettes); return FALSE; // mandatory channel; we don't yet handle rgb float } @@ -4684,44 +4595,44 @@ */ lives_free(palettes); } - if (!weed_plant_has_leaf(chantmpls[i],WEED_LEAF_OPTIONAL)) num_channels--; // mandatory channel + if (!weed_plant_has_leaf(chantmpls[i], WEED_LEAF_OPTIONAL)) num_channels--; // mandatory channel } - if (num_channels>0) { + if (num_channels > 0) { // OK we need to use some optional channels - for (i=0; i<num_elements&&num_channels>0; i++) if (weed_plant_has_leaf(chantmpls[i],WEED_LEAF_OPTIONAL)) { - weed_set_boolean_value(chantmpls[i],WEED_LEAF_HOST_DISABLED,WEED_FALSE); + for (i = 0; i < num_elements && num_channels > 0; i++) if (weed_plant_has_leaf(chantmpls[i], WEED_LEAF_OPTIONAL)) { + weed_set_boolean_value(chantmpls[i], WEED_LEAF_HOST_DISABLED, WEED_FALSE); num_channels--; } } - if (num_channels>0) { - if (chantmpls!=NULL) lives_free(chantmpls); + if (num_channels > 0) { + if (chantmpls != NULL) lives_free(chantmpls); return FALSE; } // now we set match channels if (num_in_elements) { - in_chantmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES,&error); - if (!weed_plant_has_leaf(in_chantmpls[0],WEED_LEAF_IS_AUDIO)|| - weed_get_boolean_value(in_chantmpls[0],WEED_LEAF_IS_AUDIO,&error)!=WEED_TRUE) { - def_palette=weed_get_int_value(in_chantmpls[0],WEED_LEAF_CURRENT_PALETTE,&error); + in_chantmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES, &error); + if (!weed_plant_has_leaf(in_chantmpls[0], WEED_LEAF_IS_AUDIO) || + weed_get_boolean_value(in_chantmpls[0], WEED_LEAF_IS_AUDIO, &error) != WEED_TRUE) { + def_palette = weed_get_int_value(in_chantmpls[0], WEED_LEAF_CURRENT_PALETTE, &error); } lives_free(in_chantmpls); - } else if (!weed_plant_has_leaf(chantmpls[0],WEED_LEAF_IS_AUDIO)|| - weed_get_boolean_value(chantmpls[0],WEED_LEAF_IS_AUDIO,&error)!=WEED_TRUE) { - def_palette=weed_get_int_value(chantmpls[0],WEED_LEAF_CURRENT_PALETTE,&error); - } - if (def_palette!=WEED_PALETTE_END) { - for (i=0; i<num_elements; i++) { - int channel_flags=weed_get_int_value(chantmpls[i],WEED_LEAF_FLAGS,&error); - if (!(channel_flags&WEED_CHANNEL_PALETTE_CAN_VARY)) { - int num_palettes=weed_leaf_num_elements(chantmpls[i],WEED_LEAF_PALETTE_LIST); - int *palettes=weed_get_int_array(chantmpls[i],WEED_LEAF_PALETTE_LIST,&error); - if (check_weed_palette_list(palettes,num_palettes,def_palette)==def_palette) - weed_set_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,def_palette); + } else if (!weed_plant_has_leaf(chantmpls[0], WEED_LEAF_IS_AUDIO) || + weed_get_boolean_value(chantmpls[0], WEED_LEAF_IS_AUDIO, &error) != WEED_TRUE) { + def_palette = weed_get_int_value(chantmpls[0], WEED_LEAF_CURRENT_PALETTE, &error); + } + if (def_palette != WEED_PALETTE_END) { + for (i = 0; i < num_elements; i++) { + int channel_flags = weed_get_int_value(chantmpls[i], WEED_LEAF_FLAGS, &error); + if (!(channel_flags & WEED_CHANNEL_PALETTE_CAN_VARY)) { + int num_palettes = weed_leaf_num_elements(chantmpls[i], WEED_LEAF_PALETTE_LIST); + int *palettes = weed_get_int_array(chantmpls[i], WEED_LEAF_PALETTE_LIST, &error); + if (check_weed_palette_list(palettes, num_palettes, def_palette) == def_palette) + weed_set_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, def_palette); else { - if (chantmpls!=NULL) lives_free(chantmpls); + if (chantmpls != NULL) lives_free(chantmpls); lives_free(palettes); return FALSE; } @@ -4729,25 +4640,23 @@ } } } - if (chantmpls!=NULL) lives_free(chantmpls); + if (chantmpls != NULL) lives_free(chantmpls); return TRUE; } - - static void load_weed_plugin(char *plugin_name, char *plugin_path, char *dir) { weed_setup_f setup_fn; - weed_bootstrap_f bootstrap=(weed_bootstrap_f)&weed_bootstrap_func; + weed_bootstrap_f bootstrap = (weed_bootstrap_f)&weed_bootstrap_func; - weed_plant_t *plugin_info,**filters,*filter; + weed_plant_t *plugin_info, **filters, *filter; void *handle; - int error,reason,oidx,idx=num_weed_filters; + int error, reason, oidx, idx = num_weed_filters; int filters_in_plugin; - int mode=-1,kmode=0; + int mode = -1, kmode = 0; int phashes; char **phashnames; @@ -4760,27 +4669,26 @@ register int i; - static int key=-1; + static int key = -1; - pwd=getcwd(cwd,PATH_MAX); + pwd = getcwd(cwd, PATH_MAX); key++; - mainw->chdir_failed=FALSE; + mainw->chdir_failed = FALSE; // walk list and create fx structures // #define DEBUG_WEED #ifdef DEBUG_WEED - lives_printerr("Checking plugin %s\n",plugin_path); + lives_printerr("Checking plugin %s\n", plugin_path); #endif - if ((handle=dlopen(plugin_path,RTLD_LAZY))) { + if ((handle = dlopen(plugin_path, RTLD_LAZY))) { dlerror(); // clear existing errors - if ((setup_fn=(weed_setup_f)dlsym(handle,"weed_setup"))==NULL) { - lives_printerr(_("Error: plugin %s has no weed_setup() function.\n"),plugin_path); + if ((setup_fn = (weed_setup_f)dlsym(handle, "weed_setup")) == NULL) { + lives_printerr(_("Error: plugin %s has no weed_setup() function.\n"), plugin_path); } else { - // here we call the plugin's setup_fn, passing in our bootstrap function // the plugin will call our bootstrap function to get the correct versions of the core weed functions // and bootstrap itself @@ -4789,93 +4697,93 @@ // chdir to plugin dir, in case it needs to load data - lives_chdir(dir,TRUE); - plugin_info=(*setup_fn)(bootstrap); - if (plugin_info==NULL||(filters_in_plugin=check_weed_plugin_info(plugin_info))<1) { - char *msg=lives_strdup_printf(_("No usable filters found in plugin %s\n"),plugin_path); + lives_chdir(dir, TRUE); + plugin_info = (*setup_fn)(bootstrap); + if (plugin_info == NULL || (filters_in_plugin = check_weed_plugin_info(plugin_info)) < 1) { + char *msg = lives_strdup_printf(_("No usable filters found in plugin %s\n"), plugin_path); LIVES_INFO(msg); lives_free(msg); - if (plugin_info!=NULL) weed_plant_free(plugin_info); + if (plugin_info != NULL) weed_plant_free(plugin_info); dlclose(handle); - lives_chdir(pwd,FALSE); + lives_chdir(pwd, FALSE); return; } - weed_set_voidptr_value(plugin_info,WEED_LEAF_HOST_HANDLE,handle); - weed_set_string_value(plugin_info,WEED_LEAF_NAME,plugin_name); // for hashname - weed_set_string_value(plugin_info,WEED_LEAF_HOST_PLUGIN_PATH,dir); - weed_add_plant_flags(plugin_info,WEED_LEAF_READONLY_PLUGIN); - - filters=weed_get_plantptr_array(plugin_info,WEED_LEAF_FILTERS,&error); - - oidx=idx; - phashnames=NULL; - phashes=0; + weed_set_voidptr_value(plugin_info, WEED_LEAF_HOST_HANDLE, handle); + weed_set_string_value(plugin_info, WEED_LEAF_NAME, plugin_name); // for hashname + weed_set_string_value(plugin_info, WEED_LEAF_HOST_PLUGIN_PATH, dir); + weed_add_plant_flags(plugin_info, WEED_LEAF_READONLY_PLUGIN); + + filters = weed_get_plantptr_array(plugin_info, WEED_LEAF_FILTERS, &error); + + oidx = idx; + phashnames = NULL; + phashes = 0; - while (mode<filters_in_plugin-1) { + while (mode < filters_in_plugin - 1) { mode++; - filter=filters[mode]; + filter = filters[mode]; - filter_name=weed_get_string_value(filter,WEED_LEAF_NAME,&error); - if (!(reason=check_for_lives(filter,idx))) { - boolean dup=FALSE,pdup=FALSE; + filter_name = weed_get_string_value(filter, WEED_LEAF_NAME, &error); + if (!(reason = check_for_lives(filter, idx))) { + boolean dup = FALSE, pdup = FALSE; num_weed_filters++; - weed_filters=(weed_plant_t **)lives_realloc(weed_filters,num_weed_filters*sizeof(weed_plant_t *)); - weed_filters[idx]=filter; + weed_filters = (weed_plant_t **)lives_realloc(weed_filters, num_weed_filters * sizeof(weed_plant_t *)); + weed_filters[idx] = filter; - hashnames=(char **)lives_realloc(hashnames,num_weed_filters*sizeof(char *)); - hashnames[idx]=NULL; - hashnames[idx]=make_weed_hashname(idx,TRUE,FALSE); + hashnames = (char **)lives_realloc(hashnames, num_weed_filters * sizeof(char *)); + hashnames[idx] = NULL; + hashnames[idx] = make_weed_hashname(idx, TRUE, FALSE); phashes++; - phashnames=(char **)lives_realloc(phashnames,phashes*sizeof(char *)); - phashnames[phashes-1]=make_weed_hashname(idx,FALSE,FALSE); + phashnames = (char **)lives_realloc(phashnames, phashes * sizeof(char *)); + phashnames[phashes - 1] = make_weed_hashname(idx, FALSE, FALSE); - for (i=0; i<idx; i++) { - if (i>oidx) { - if (!lives_utf8_strcasecmp(phashnames[phashes-1],phashnames[i-oidx-1])) { + for (i = 0; i < idx; i++) { + if (i > oidx) { + if (!lives_utf8_strcasecmp(phashnames[phashes - 1], phashnames[i - oidx - 1])) { //g_print("partial dupe: %s and %s\n",phashnames[phashes-1],phashnames[i-oidx-1]); // found a partial match: author and/or version differ // if in the same plugin, we will use the highest version no., others become dupes num_weed_dupes++; - dupe_weed_filters=(weed_plant_t **)lives_realloc(dupe_weed_filters,num_weed_dupes*sizeof(weed_plant_t *)); - dupe_hashnames=(char **)lives_realloc(dupe_hashnames,num_weed_dupes*sizeof(char *)); - if (weed_get_int_value(filter,WEED_LEAF_VERSION,&error)< - weed_get_int_value(weed_filters[i],WEED_LEAF_VERSION,&error)) { + dupe_weed_filters = (weed_plant_t **)lives_realloc(dupe_weed_filters, num_weed_dupes * sizeof(weed_plant_t *)); + dupe_hashnames = (char **)lives_realloc(dupe_hashnames, num_weed_dupes * sizeof(char *)); + if (weed_get_int_value(filter, WEED_LEAF_VERSION, &error) < + weed_get_int_value(weed_filters[i], WEED_LEAF_VERSION, &error)) { // add idx to dupe list - dupe_weed_filters[num_weed_dupes-1]=filter; - dupe_hashnames[num_weed_dupes-1]=hashnames[idx]; + dupe_weed_filters[num_weed_dupes - 1] = filter; + dupe_hashnames[num_weed_dupes - 1] = hashnames[idx]; } else { // add i to dupe list - dupe_weed_filters[num_weed_dupes-1]=weed_filters[i]; - dupe_hashnames[num_weed_dupes-1]=hashnames[i]; - weed_filters[i]=filter; - hashnames[i]=hashnames[idx]; + dupe_weed_filters[num_weed_dupes - 1] = weed_filters[i]; + dupe_hashnames[num_weed_dupes - 1] = hashnames[i]; + weed_filters[i] = filter; + hashnames[i] = hashnames[idx]; } phashes--; lives_free(phashnames[phashes]); num_weed_filters--; - weed_filters=(weed_plant_t **)lives_realloc(weed_filters,num_weed_filters*sizeof(weed_plant_t *)); - hashnames=(char **)lives_realloc(hashnames,num_weed_filters*sizeof(char *)); - phashnames=(char **)lives_realloc(phashnames,phashes*sizeof(char *)); - pdup=TRUE; + weed_filters = (weed_plant_t **)lives_realloc(weed_filters, num_weed_filters * sizeof(weed_plant_t *)); + hashnames = (char **)lives_realloc(hashnames, num_weed_filters * sizeof(char *)); + phashnames = (char **)lives_realloc(phashnames, phashes * sizeof(char *)); + pdup = TRUE; break; } } - if (!lives_utf8_strcasecmp(hashnames[idx],hashnames[i])) { + if (!lives_utf8_strcasecmp(hashnames[idx], hashnames[i])) { // skip dups - char *msg=lives_strdup_printf(_("Found duplicate plugin %s"),hashnames[idx]); + char *msg = lives_strdup_printf(_("Found duplicate plugin %s"), hashnames[idx]); LIVES_INFO(msg); lives_free(msg); lives_free(hashnames[idx]); phashes--; lives_free(phashnames[phashes]); num_weed_filters--; - weed_filters=(weed_plant_t **)lives_realloc(weed_filters,num_weed_filters*sizeof(weed_plant_t *)); - hashnames=(char **)lives_realloc(hashnames,num_weed_filters*sizeof(char *)); - phashnames=(char **)lives_realloc(phashnames,phashes*sizeof(char *)); - dup=TRUE; + weed_filters = (weed_plant_t **)lives_realloc(weed_filters, num_weed_filters * sizeof(weed_plant_t *)); + hashnames = (char **)lives_realloc(hashnames, num_weed_filters * sizeof(char *)); + phashnames = (char **)lives_realloc(phashnames, phashes * sizeof(char *)); + dup = TRUE; break; } } @@ -4885,50 +4793,48 @@ } // we start with all optional channels disabled (unless forced to use them) - set_in_channel_palettes(filter,enabled_in_channels(filters[mode],FALSE)); - set_out_channel_palettes(filter,1); + set_in_channel_palettes(filter, enabled_in_channels(filters[mode], FALSE)); + set_out_channel_palettes(filter, 1); // skip hidden/duplicate filters - if (!pdup&&key<FX_KEYS_PHYSICAL&&kmode<prefs->max_modes_per_key&& - (!weed_plant_has_leaf(filter,WEED_LEAF_HOST_MENU_HIDE)|| - (weed_get_boolean_value(filter,WEED_LEAF_HOST_MENU_HIDE,&error)==WEED_FALSE))) { - key_to_fx[key][kmode++]=idx; + if (!pdup && key < FX_KEYS_PHYSICAL && kmode < prefs->max_modes_per_key && + (!weed_plant_has_leaf(filter, WEED_LEAF_HOST_MENU_HIDE) || + (weed_get_boolean_value(filter, WEED_LEAF_HOST_MENU_HIDE, &error) == WEED_FALSE))) { + key_to_fx[key][kmode++] = idx; #ifdef DEBUG_WEED - if (!pdup&&key<FX_KEYS_PHYSICAL&&kmode<prefs->max_modes_per_key) + if (!pdup && key < FX_KEYS_PHYSICAL && kmode < prefs->max_modes_per_key) d_print("Loaded filter \"%s\" in plugin \"%s\"; assigned to key ctrl-%d, mode %d.\n", - filter_name,plugin_name,key+1,kmode); + filter_name, plugin_name, key + 1, kmode); } else { - d_print("Loaded filter \"%s\" in plugin \"%s\", no key assigned\n",filter_name,plugin_name); + d_print("Loaded filter \"%s\" in plugin \"%s\", no key assigned\n", filter_name, plugin_name); #endif } if (!pdup) idx++; - - } #ifdef DEBUG_WEED - else lives_printerr("Unsuitable filter \"%s\" in plugin \"%s\", reason code %d\n",filter_name,plugin_name,reason); + else lives_printerr("Unsuitable filter \"%s\" in plugin \"%s\", reason code %d\n", filter_name, plugin_name, reason); #endif lives_free(filter_name); } - for (i=0; i<phashes; i++) { + for (i = 0; i < phashes; i++) { lives_free(phashnames[i]); } lives_free(phashnames); lives_free(filters); } - } else lives_printerr(_("Info: Unable to load plugin %s\nError was: %s\n"),plugin_path,dlerror()); + } else lives_printerr(_("Info: Unable to load plugin %s\nError was: %s\n"), plugin_path, dlerror()); if (mainw->chdir_failed) { - char *dirs=lives_strdup(_("Some plugin directories")); + char *dirs = lives_strdup(_("Some plugin directories")); do_chdir_failed_error(dirs); lives_free(dirs); } - lives_chdir(pwd,FALSE); + lives_chdir(pwd, FALSE); // TODO - add any rendered effects to fx submenu } @@ -4936,79 +4842,76 @@ void weed_memory_init(void) { #ifndef IS_LIBLIVES - weed_init(110,(weed_malloc_f)_lives_malloc,(weed_free_f)_lives_free,(weed_memcpy_f)lives_memcpy,(weed_memset_f)lives_memset); + weed_init(110, (weed_malloc_f)_lives_malloc, (weed_free_f)_lives_free, (weed_memcpy_f)lives_memcpy, (weed_memset_f)lives_memset); #endif } - static void merge_dupes(void) { register int i; - weed_filters=(weed_plant_t **)lives_realloc(weed_filters,(num_weed_filters+num_weed_dupes)*sizeof(weed_plant_t *)); - hashnames=(char **)lives_realloc(hashnames,(num_weed_filters+num_weed_dupes)*sizeof(char *)); + weed_filters = (weed_plant_t **)lives_realloc(weed_filters, (num_weed_filters + num_weed_dupes) * sizeof(weed_plant_t *)); + hashnames = (char **)lives_realloc(hashnames, (num_weed_filters + num_weed_dupes) * sizeof(char *)); - for (i=num_weed_filters; i<num_weed_filters+num_weed_dupes; i++) { - weed_filters[i]=dupe_weed_filters[i-num_weed_filters]; - hashnames[i]=dupe_hashnames[i-num_weed_filters]; + for (i = num_weed_filters; i < num_weed_filters + num_weed_dupes; i++) { + weed_filters[i] = dupe_weed_filters[i - num_weed_filters]; + hashnames[i] = dupe_hashnames[i - num_weed_filters]; } - if (dupe_weed_filters!=NULL) lives_free(dupe_weed_filters); - if (dupe_hashnames!=NULL) lives_free(dupe_hashnames); + if (dupe_weed_filters != NULL) lives_free(dupe_weed_filters); + if (dupe_hashnames != NULL) lives_free(dupe_hashnames); - num_weed_filters+=num_weed_dupes; + num_weed_filters += num_weed_dupes; } static void make_fx_defs_menu(void) { weed_plant_t *filter; - LiVESWidget *menuitem,*menu; + LiVESWidget *menuitem, *menu; LiVESWidget *pkg_menu; - LiVESWidget *pkg_submenu=NULL; + LiVESWidget *pkg_submenu = NULL; - char *string,*filter_type,*filter_name; - char *pkg=NULL,*pkgstring; + char *string, *filter_type, *filter_name; + char *pkg = NULL, *pkgstring; - int pkg_posn=0,error; + int pkg_posn = 0, error; register int i; - // menu entries for vj/set defs - for (i=0; i<num_weed_filters-num_weed_dupes; i++) { - filter=weed_filters[i]; + for (i = 0; i < num_weed_filters - num_weed_dupes; i++) { + filter = weed_filters[i]; // skip hidden filters - if (!weed_plant_has_leaf(filter,WEED_LEAF_HOST_MENU_HIDE)|| - (weed_get_boolean_value(filter,WEED_LEAF_HOST_MENU_HIDE,&error)==WEED_FALSE)) { - - if ((!has_video_chans_in(filter,FALSE)&&has_video_chans_out(filter,FALSE))|| - num_in_params(filter,TRUE,TRUE)>0) { - filter_name=weed_get_string_value(filter,WEED_LEAF_NAME,&error); - if ((pkgstring=strstr(filter_name,": "))!=NULL) { + if (!weed_plant_has_leaf(filter, WEED_LEAF_HOST_MENU_HIDE) || + (weed_get_boolean_value(filter, WEED_LEAF_HOST_MENU_HIDE, &error) == WEED_FALSE)) { + if ((!has_video_chans_in(filter, FALSE) && has_video_chans_out(filter, FALSE)) || + num_in_params(filter, TRUE, TRUE) > 0) { + filter_name = weed_get_string_value(filter, WEED_LEAF_NAME, &error); + if ((pkgstring = strstr(filter_name, ": ")) != NULL) { // package effect - if (pkg!=NULL&&strncmp(pkg,filter_name,strlen(pkg))) { + if (pkg != NULL && strncmp(pkg, filter_name, strlen(pkg))) { lives_free(pkg); - pkg=NULL; - menu=mainw->rte_defs; + pkg = NULL; + menu = mainw->rte_defs; } - if (pkg==NULL) { - pkg=filter_name; - filter_name=lives_strdup(pkg); - memset(pkgstring,0,1); + if (pkg == NULL) { + pkg = filter_name; + filter_name = lives_strdup(pkg); + memset(pkgstring, 0, 1); /* TRANSLATORS: example " - LADSPA plugins -" */ - pkgstring=lives_strdup_printf(_(" - %s plugins -"),pkg); + pkgstring = lives_strdup_printf(_(" - %s plugins -"), pkg); // create new submenu - pkg_menu=lives_menu_item_new_with_label(pkgstring); + pkg_menu = lives_menu_item_new_with_label(pkgstring); lives_container_add(LIVES_CONTAINER(mainw->rte_defs), pkg_menu); - lives_menu_reorder_child(LIVES_MENU(mainw->rte_defs),pkg_menu,pkg_posn++); + lives_menu_reorder_child(LIVES_MENU(mainw->rte_defs), pkg_menu, pkg_posn++); - pkg_submenu=lives_menu_new(); + pkg_submenu = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(pkg_menu), pkg_submenu); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(pkg_submenu, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_fg_color(pkg_submenu, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); } @@ -5018,16 +4921,16 @@ lives_free(pkgstring); } // add to submenu - menu=pkg_submenu; + menu = pkg_submenu; } else { lives_freep((void **)&pkg); - menu=mainw->rte_defs; + menu = mainw->rte_defs; } - filter_type=weed_filter_get_type(filter,TRUE,FALSE); - string=lives_strdup_printf("%s (%s)",filter_name,filter_type); + filter_type = weed_filter_get_type(filter, TRUE, FALSE); + string = lives_strdup_printf("%s (%s)", filter_name, filter_type); - menuitem=lives_menu_item_new_with_label(string); + menuitem = lives_menu_item_new_with_label(string); if (prefs->show_gui) { lives_widget_show(menuitem); } @@ -5047,106 +4950,103 @@ } - - void weed_load_all(void) { // get list of plugins from directory and create our fx - int i,j,plugin_idx,subdir_idx; + int i, j, plugin_idx, subdir_idx; - LiVESList *weed_plugin_list,*weed_plugin_sublist; + LiVESList *weed_plugin_list, *weed_plugin_sublist; - char *lives_weed_plugin_path,*weed_plugin_path,*weed_p_path; - char *subdir_path,*subdir_name,*plugin_path,*plugin_name; + char *lives_weed_plugin_path, *weed_plugin_path, *weed_p_path; + char *subdir_path, *subdir_name, *plugin_path, *plugin_name; int numdirs; char **dirs; int listlen; - num_weed_filters=0; - num_weed_dupes=0; + num_weed_filters = 0; + num_weed_dupes = 0; - weed_filters=dupe_weed_filters=NULL; - hashnames=dupe_hashnames=NULL; + weed_filters = dupe_weed_filters = NULL; + hashnames = dupe_hashnames = NULL; threaded_dialog_spin(0.); - lives_weed_plugin_path=lives_build_filename(prefs->lib_dir,PLUGIN_EXEC_DIR,PLUGIN_WEED_FX_BUILTIN,NULL); + lives_weed_plugin_path = lives_build_filename(prefs->lib_dir, PLUGIN_EXEC_DIR, PLUGIN_WEED_FX_BUILTIN, NULL); #ifdef DEBUG_WEED lives_printerr("In weed init\n"); #endif - fg_gen_to_start=fg_generator_key=fg_generator_clip=fg_generator_mode=-1; - bg_gen_to_start=bg_generator_key=bg_generator_mode=-1; + fg_gen_to_start = fg_generator_key = fg_generator_clip = fg_generator_mode = -1; + bg_gen_to_start = bg_generator_key = bg_generator_mode = -1; - for (i=0; i<FX_KEYS_MAX; i++) { - if (i<FX_KEYS_MAX_VIRTUAL) key_to_instance[i]=(weed_plant_t **) - lives_malloc(prefs->max_modes_per_key*sizeof(weed_plant_t *)); - else key_to_instance[i]=(weed_plant_t **)lives_malloc(sizeof(weed_plant_t *)); - - key_to_instance_copy[i]=(weed_plant_t **)lives_malloc(sizeof(weed_plant_t *)); - - if (i<FX_KEYS_MAX_VIRTUAL) key_to_fx[i]=(int *)lives_malloc(prefs->max_modes_per_key*sizint); - else key_to_fx[i]=(int *)lives_malloc(sizint); - - if (i<FX_KEYS_MAX_VIRTUAL) - key_defaults[i]=(weed_plant_t ** *)lives_malloc(prefs->max_modes_per_key*sizeof(weed_plant_t **)); - - key_modes[i]=0; // current active mode of each key - filter_map[i]=NULL; // maps effects in order of application for multitrack rendering - for (j=0; j<prefs->max_modes_per_key; j++) { - if (i<FX_KEYS_MAX_VIRTUAL||j==0) { - if (i<FX_KEYS_MAX_VIRTUAL) key_defaults[i][j]=NULL; - key_to_instance[i][j]=NULL; - key_to_fx[i][j]=-1; + for (i = 0; i < FX_KEYS_MAX; i++) { + if (i < FX_KEYS_MAX_VIRTUAL) key_to_instance[i] = (weed_plant_t **) + lives_malloc(prefs->max_modes_per_key * sizeof(weed_plant_t *)); + else key_to_instance[i] = (weed_plant_t **)lives_malloc(sizeof(weed_plant_t *)); + + key_to_instance_copy[i] = (weed_plant_t **)lives_malloc(sizeof(weed_plant_t *)); + + if (i < FX_KEYS_MAX_VIRTUAL) key_to_fx[i] = (int *)lives_malloc(prefs->max_modes_per_key * sizint); + else key_to_fx[i] = (int *)lives_malloc(sizint); + + if (i < FX_KEYS_MAX_VIRTUAL) + key_defaults[i] = (weed_plant_t ** *)lives_malloc(prefs->max_modes_per_key * sizeof(weed_plant_t **)); + + key_modes[i] = 0; // current active mode of each key + filter_map[i] = NULL; // maps effects in order of application for multitrack rendering + for (j = 0; j < prefs->max_modes_per_key; j++) { + if (i < FX_KEYS_MAX_VIRTUAL || j == 0) { + if (i < FX_KEYS_MAX_VIRTUAL) key_defaults[i][j] = NULL; + key_to_instance[i][j] = NULL; + key_to_fx[i][j] = -1; } else break; } } - filter_map[FX_KEYS_MAX+1]=NULL; - for (i=0; i<FX_KEYS_MAX_VIRTUAL; i++) { - init_events[i]=NULL; + filter_map[FX_KEYS_MAX + 1] = NULL; + for (i = 0; i < FX_KEYS_MAX_VIRTUAL; i++) { + init_events[i] = NULL; } - next_free_key=FX_KEYS_MAX_VIRTUAL; - + next_free_key = FX_KEYS_MAX_VIRTUAL; threaded_dialog_spin(0.); - weed_p_path=getenv("WEED_PLUGIN_PATH"); - if (weed_p_path==NULL) weed_plugin_path=lives_strdup(""); - else weed_plugin_path=lives_strdup(weed_p_path); + weed_p_path = getenv("WEED_PLUGIN_PATH"); + if (weed_p_path == NULL) weed_plugin_path = lives_strdup(""); + else weed_plugin_path = lives_strdup(weed_p_path); - if (strstr(weed_plugin_path,lives_weed_plugin_path)==NULL) { - char *tmp=lives_strconcat(strcmp(weed_plugin_path,"")?":":"",lives_weed_plugin_path,NULL); + if (strstr(weed_plugin_path, lives_weed_plugin_path) == NULL) { + char *tmp = lives_strconcat(strcmp(weed_plugin_path, "") ? ":" : "", lives_weed_plugin_path, NULL); lives_free(weed_plugin_path); - weed_plugin_path=tmp; - lives_setenv("WEED_PLUGIN_PATH",weed_plugin_path); + weed_plugin_path = tmp; + lives_setenv("WEED_PLUGIN_PATH", weed_plugin_path); } lives_free(lives_weed_plugin_path); // first we parse the weed_plugin_path #ifndef IS_MINGW - numdirs=get_token_count(weed_plugin_path,':'); - dirs=lives_strsplit(weed_plugin_path,":",-1); + numdirs = get_token_count(weed_plugin_path, ':'); + dirs = lives_strsplit(weed_plugin_path, ":", -1); #else - numdirs=get_token_count(weed_plugin_path,';'); - dirs=lives_strsplit(weed_plugin_path,";",-1); + numdirs = get_token_count(weed_plugin_path, ';'); + dirs = lives_strsplit(weed_plugin_path, ";", -1); #endif threaded_dialog_spin(0.); - for (i=0; i<numdirs; i++) { + for (i = 0; i < numdirs; i++) { // get list of all files - weed_plugin_list=get_plugin_list(PLUGIN_EFFECTS_WEED,TRUE,dirs[i],NULL); - listlen=lives_list_length(weed_plugin_list); + weed_plugin_list = get_plugin_list(PLUGIN_EFFECTS_WEED, TRUE, dirs[i], NULL); + listlen = lives_list_length(weed_plugin_list); // parse twice, first we get the plugins, then 1 level of subdirs - for (plugin_idx=0; plugin_idx<listlen; plugin_idx++) { + for (plugin_idx = 0; plugin_idx < listlen; plugin_idx++) { threaded_dialog_spin(0.); - plugin_name=(char *)lives_list_nth_data(weed_plugin_list,plugin_idx); - if (!strncmp(plugin_name+strlen(plugin_name)-strlen(DLL_NAME)-1,"."DLL_NAME,strlen(DLL_NAME)+1)) { - plugin_path=lives_build_filename(dirs[i],plugin_name,NULL); - load_weed_plugin(plugin_name,plugin_path,dirs[i]); + plugin_name = (char *)lives_list_nth_data(weed_plugin_list, plugin_idx); + if (!strncmp(plugin_name + strlen(plugin_name) - strlen(DLL_NAME) - 1, "."DLL_NAME, strlen(DLL_NAME) + 1)) { + plugin_path = lives_build_filename(dirs[i], plugin_name, NULL); + load_weed_plugin(plugin_name, plugin_path, dirs[i]); lives_free(plugin_name); lives_free(plugin_path); - weed_plugin_list=lives_list_delete_link(weed_plugin_list,lives_list_nth(weed_plugin_list,plugin_idx)); + weed_plugin_list = lives_list_delete_link(weed_plugin_list, lives_list_nth(weed_plugin_list, plugin_idx)); plugin_idx--; listlen--; } @@ -5155,21 +5055,21 @@ } // get 1 level of subdirs - for (subdir_idx=0; subdir_idx<listlen; subdir_idx++) { + for (subdir_idx = 0; subdir_idx < listlen; subdir_idx++) { threaded_dialog_spin(0.); - subdir_name=(char *)lives_list_nth_data(weed_plugin_list,subdir_idx); - subdir_path=lives_build_filename(dirs[i],subdir_name,NULL); - if (!lives_file_test(subdir_path, LIVES_FILE_TEST_IS_DIR)||!strcmp(subdir_name,"icons")||!strcmp(subdir_name,"data")) { + subdir_name = (char *)lives_list_nth_data(weed_plugin_list, subdir_idx); + subdir_path = lives_build_filename(dirs[i], subdir_name, NULL); + if (!lives_file_test(subdir_path, LIVES_FILE_TEST_IS_DIR) || !strcmp(subdir_name, "icons") || !strcmp(subdir_name, "data")) { lives_free(subdir_path); continue; } - weed_plugin_sublist=get_plugin_list(PLUGIN_EFFECTS_WEED,TRUE,subdir_path,DLL_NAME); + weed_plugin_sublist = get_plugin_list(PLUGIN_EFFECTS_WEED, TRUE, subdir_path, DLL_NAME); - for (plugin_idx=0; plugin_idx<lives_list_length(weed_plugin_sublist); plugin_idx++) { - plugin_name=(char *)lives_list_nth_data(weed_plugin_sublist,plugin_idx); - plugin_path=lives_build_filename(subdir_path,plugin_name,NULL); - load_weed_plugin(plugin_name,plugin_path,subdir_path); + for (plugin_idx = 0; plugin_idx < lives_list_length(weed_plugin_sublist); plugin_idx++) { + plugin_name = (char *)lives_list_nth_data(weed_plugin_sublist, plugin_idx); + plugin_path = lives_build_filename(subdir_path, plugin_name, NULL); + load_weed_plugin(plugin_name, plugin_path, subdir_path); lives_free(plugin_path); } lives_list_free_all(&weed_plugin_sublist); @@ -5182,69 +5082,68 @@ lives_strfreev(dirs); lives_free(weed_plugin_path); - d_print(_("Successfully loaded %d Weed filters\n"),num_weed_filters); + d_print(_("Successfully loaded %d Weed filters\n"), num_weed_filters); threaded_dialog_spin(0.); load_compound_fx(); threaded_dialog_spin(0.); make_fx_defs_menu(); threaded_dialog_spin(0.); - if (num_weed_dupes>0) merge_dupes(); - + if (num_weed_dupes > 0) merge_dupes(); } static void lives_free_if_not_in_list(void *ptr, LiVESList **freed_ptrs) { /// avoid duplicate frees when unloading fx plugins - LiVESList *list=*freed_ptrs; - while (list!=NULL) { - if (ptr==(void *)list->data) return; - list=list->next; + LiVESList *list = *freed_ptrs; + while (list != NULL) { + if (ptr == (void *)list->data) return; + list = list->next; } - if (freed_ptrs!=NULL) *freed_ptrs=lives_list_append(*freed_ptrs,(livespointer)ptr); + if (freed_ptrs != NULL) *freed_ptrs = lives_list_append(*freed_ptrs, (livespointer)ptr); lives_free(ptr); } static void weed_plant_free_if_not_in_list(weed_plant_t *plant, LiVESList **freed_ptrs) { /// avoid duplicate frees when unloading fx plugins - LiVESList *list=*freed_ptrs; - while (list!=NULL) { - if (plant==(weed_plant_t *)list->data) return; - list=list->next; + LiVESList *list = *freed_ptrs; + while (list != NULL) { + if (plant == (weed_plant_t *)list->data) return; + list = list->next; } - if (freed_ptrs!=NULL) *freed_ptrs=lives_list_append(*freed_ptrs,(livespointer)plant); + if (freed_ptrs != NULL) *freed_ptrs = lives_list_append(*freed_ptrs, (livespointer)plant); weed_plant_free(plant); } static void weed_filter_free(weed_plant_t *filter, LiVESList **freed_ptrs) { - int nitems,error,i; - weed_plant_t **plants,*gui; + int nitems, error, i; + weed_plant_t **plants, *gui; void *func; - boolean is_compound=FALSE; + boolean is_compound = FALSE; - if (num_compound_fx(filter)>1) is_compound=TRUE; + if (num_compound_fx(filter) > 1) is_compound = TRUE; // free in_param_templates - if (weed_plant_has_leaf(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES)) { - nitems=weed_leaf_num_elements(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES); - if (nitems>0) { - plants=weed_get_plantptr_array(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); - for (i=0; i<nitems; i++) { - if (weed_plant_has_leaf(plants[i],WEED_LEAF_GUI)) { - gui=(weed_get_plantptr_value(plants[i],WEED_LEAF_GUI,&error)); - if (weed_plant_has_leaf(gui,WEED_LEAF_DISPLAY_FUNC)) { - func=weed_get_voidptr_value(gui,WEED_LEAF_DISPLAY_FUNC,&error); - if (func!=NULL) lives_free_if_not_in_list(func,freed_ptrs); - } - weed_plant_free_if_not_in_list(gui,freed_ptrs); - } - if (weed_plant_has_leaf(filter,WEED_LEAF_INTERPOLATE_FUNC)) { - func=weed_get_voidptr_value(filter,WEED_LEAF_INTERPOLATE_FUNC,&error); - if (func!=NULL) lives_free_if_not_in_list(func,freed_ptrs); + if (weed_plant_has_leaf(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES)) { + nitems = weed_leaf_num_elements(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES); + if (nitems > 0) { + plants = weed_get_plantptr_array(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); + for (i = 0; i < nitems; i++) { + if (weed_plant_has_leaf(plants[i], WEED_LEAF_GUI)) { + gui = (weed_get_plantptr_value(plants[i], WEED_LEAF_GUI, &error)); + if (weed_plant_has_leaf(gui, WEED_LEAF_DISPLAY_FUNC)) { + func = weed_get_voidptr_value(gui, WEED_LEAF_DISPLAY_FUNC, &error); + if (func != NULL) lives_free_if_not_in_list(func, freed_ptrs); + } + weed_plant_free_if_not_in_list(gui, freed_ptrs); + } + if (weed_plant_has_leaf(filter, WEED_LEAF_INTERPOLATE_FUNC)) { + func = weed_get_voidptr_value(filter, WEED_LEAF_INTERPOLATE_FUNC, &error); + if (func != NULL) lives_free_if_not_in_list(func, freed_ptrs); } - weed_plant_free_if_not_in_list(plants[i],freed_ptrs); + weed_plant_free_if_not_in_list(plants[i], freed_ptrs); } lives_free(plants); } @@ -5255,99 +5154,93 @@ return; } - if (weed_plant_has_leaf(filter,WEED_LEAF_INIT_FUNC)) { - func=weed_get_voidptr_value(filter,WEED_LEAF_INIT_FUNC,&error); - if (func!=NULL) lives_free_if_not_in_list(func,freed_ptrs); + if (weed_plant_has_leaf(filter, WEED_LEAF_INIT_FUNC)) { + func = weed_get_voidptr_value(filter, WEED_LEAF_INIT_FUNC, &error); + if (func != NULL) lives_free_if_not_in_list(func, freed_ptrs); } - if (weed_plant_has_leaf(filter,WEED_LEAF_DEINIT_FUNC)) { - func=weed_get_voidptr_value(filter,WEED_LEAF_DEINIT_FUNC,&error); - if (func!=NULL) lives_free_if_not_in_list(func,freed_ptrs); + if (weed_plant_has_leaf(filter, WEED_LEAF_DEINIT_FUNC)) { + func = weed_get_voidptr_value(filter, WEED_LEAF_DEINIT_FUNC, &error); + if (func != NULL) lives_free_if_not_in_list(func, freed_ptrs); } - if (weed_plant_has_leaf(filter,WEED_LEAF_PROCESS_FUNC)) { - func=weed_get_voidptr_value(filter,WEED_LEAF_PROCESS_FUNC,&error); - if (func!=NULL) lives_free_if_not_in_list(func,freed_ptrs); + if (weed_plant_has_leaf(filter, WEED_LEAF_PROCESS_FUNC)) { + func = weed_get_voidptr_value(filter, WEED_LEAF_PROCESS_FUNC, &error); + if (func != NULL) lives_free_if_not_in_list(func, freed_ptrs); } - // free in_channel_templates - if (weed_plant_has_leaf(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES)) { - nitems=weed_leaf_num_elements(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES); - if (nitems>0) { - plants=weed_get_plantptr_array(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES,&error); - for (i=0; i<nitems; i++) weed_plant_free_if_not_in_list(plants[i],freed_ptrs); + if (weed_plant_has_leaf(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES)) { + nitems = weed_leaf_num_elements(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES); + if (nitems > 0) { + plants = weed_get_plantptr_array(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES, &error); + for (i = 0; i < nitems; i++) weed_plant_free_if_not_in_list(plants[i], freed_ptrs); lives_free(plants); } } - // free out_channel_templates - if (weed_plant_has_leaf(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES)) { - nitems=weed_leaf_num_elements(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES); - if (nitems>0) { - plants=weed_get_plantptr_array(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES,&error); - for (i=0; i<nitems; i++) weed_plant_free_if_not_in_list(plants[i],freed_ptrs); + if (weed_plant_has_leaf(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES)) { + nitems = weed_leaf_num_elements(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES); + if (nitems > 0) { + plants = weed_get_plantptr_array(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES, &error); + for (i = 0; i < nitems; i++) weed_plant_free_if_not_in_list(plants[i], freed_ptrs); lives_free(plants); } } // free out_param_templates - if (weed_plant_has_leaf(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES)) { - nitems=weed_leaf_num_elements(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES); - if (nitems>0) { - plants=weed_get_plantptr_array(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES,&error); + if (weed_plant_has_leaf(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES)) { + nitems = weed_leaf_num_elements(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES); + if (nitems > 0) { + plants = weed_get_plantptr_array(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES, &error); threaded_dialog_spin(0.); - for (i=0; i<nitems; i++) { - if (weed_plant_has_leaf(plants[i],WEED_LEAF_GUI)) weed_plant_free(weed_get_plantptr_value(plants[i],WEED_LEAF_GUI,&error)); - weed_plant_free_if_not_in_list(plants[i],freed_ptrs); + for (i = 0; i < nitems; i++) { + if (weed_plant_has_leaf(plants[i], WEED_LEAF_GUI)) weed_plant_free(weed_get_plantptr_value(plants[i], WEED_LEAF_GUI, &error)); + weed_plant_free_if_not_in_list(plants[i], freed_ptrs); } lives_free(plants); } } - // free gui - if (weed_plant_has_leaf(filter,WEED_LEAF_GUI)) weed_plant_free_if_not_in_list(weed_get_plantptr_value(filter,WEED_LEAF_GUI,&error), + if (weed_plant_has_leaf(filter, WEED_LEAF_GUI)) weed_plant_free_if_not_in_list(weed_get_plantptr_value(filter, WEED_LEAF_GUI, &error), freed_ptrs); - // free filter weed_plant_free(filter); } - static weed_plant_t *create_compound_filter(char *plugin_name, int nfilts, int *filts) { - weed_plant_t *filter=weed_plant_new(WEED_PLANT_FILTER_CLASS),*xfilter,*gui; + weed_plant_t *filter = weed_plant_new(WEED_PLANT_FILTER_CLASS), *xfilter, *gui; - weed_plant_t **in_params=NULL,**out_params=NULL,**params; - weed_plant_t **in_chans,**out_chans; + weed_plant_t **in_params = NULL, **out_params = NULL, **params; + weed_plant_t **in_chans, **out_chans; char *tmp; - double tgfps=-1.,tfps; + double tgfps = -1., tfps; - int count,xcount,error; + int count, xcount, error; - int txparam=-1,tparam,txvolm=-1,tvolm; + int txparam = -1, tparam, txvolm = -1, tvolm; - register int i,j,x; + register int i, j, x; - - weed_set_int_array(filter,WEED_LEAF_HOST_FILTER_LIST,nfilts,filts); + weed_set_int_array(filter, WEED_LEAF_HOST_FILTER_LIST, nfilts, filts); // create parameter templates - concatenate all sub filters - count=xcount=0; + count = xcount = 0; - for (i=0; i<nfilts; i++) { - xfilter=weed_filters[filts[i]]; + for (i = 0; i < nfilts; i++) { + xfilter = weed_filters[filts[i]]; - if (weed_plant_has_leaf(xfilter,WEED_LEAF_TARGET_FPS)) { - tfps=weed_get_double_value(xfilter,WEED_LEAF_TARGET_FPS,&error); - if (tgfps==-1.) tgfps=tfps; - else if (tgfps!=tfps) { - d_print((tmp=lives_strdup_printf(_("Invalid compound effect %s - has conflicting target_fps\n"),plugin_name))); + if (weed_plant_has_leaf(xfilter, WEED_LEAF_TARGET_FPS)) { + tfps = weed_get_double_value(xfilter, WEED_LEAF_TARGET_FPS, &error); + if (tgfps == -1.) tgfps = tfps; + else if (tgfps != tfps) { + d_print((tmp = lives_strdup_printf(_("Invalid compound effect %s - has conflicting target_fps\n"), plugin_name))); LIVES_ERROR(tmp); lives_free(tmp); return NULL; @@ -5358,113 +5251,111 @@ // everything else - filter classes, out_param templates and channels are copy by ref. - - if (weed_plant_has_leaf(xfilter,WEED_LEAF_IN_PARAMETER_TEMPLATES)) { - - tparam=get_transition_param(xfilter,FALSE); + if (weed_plant_has_leaf(xfilter, WEED_LEAF_IN_PARAMETER_TEMPLATES)) { + tparam = get_transition_param(xfilter, FALSE); // TODO *** - ignore transtion params if they are connected to themselves - if (tparam!=-1) { - if (txparam!=-1) { - d_print((tmp=lives_strdup_printf(_("Invalid compound effect %s - has multiple transition parameters\n"),plugin_name))); + if (tparam != -1) { + if (txparam != -1) { + d_print((tmp = lives_strdup_printf(_("Invalid compound effect %s - has multiple transition parameters\n"), plugin_name))); LIVES_ERROR(tmp); lives_free(tmp); return NULL; } - txparam=tparam; + txparam = tparam; } - tvolm=get_master_vol_param(xfilter,FALSE); + tvolm = get_master_vol_param(xfilter, FALSE); // TODO *** - ignore master vol params if they are connected to themselves - if (tvolm!=-1) { - if (txvolm!=-1) { - d_print((tmp=lives_strdup_printf(_("Invalid compound effect %s - has multiple master volume parameters\n"),plugin_name))); + if (tvolm != -1) { + if (txvolm != -1) { + d_print((tmp = lives_strdup_printf(_("Invalid compound effect %s - has multiple master volume parameters\n"), plugin_name))); LIVES_ERROR(tmp); lives_free(tmp); return NULL; } - txvolm=tvolm; + txvolm = tvolm; } - count+=weed_leaf_num_elements(xfilter,WEED_LEAF_IN_PARAMETER_TEMPLATES); - params=weed_get_plantptr_array(xfilter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); + count += weed_leaf_num_elements(xfilter, WEED_LEAF_IN_PARAMETER_TEMPLATES); + params = weed_get_plantptr_array(xfilter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); - in_params=(weed_plant_t **)lives_realloc(in_params,count*sizeof(weed_plant_t *)); - x=0; + in_params = (weed_plant_t **)lives_realloc(in_params, count * sizeof(weed_plant_t *)); + x = 0; - for (j=xcount; j<count; j++) { - in_params[j]=weed_plant_copy(params[x]); - if (weed_plant_has_leaf(params[x],WEED_LEAF_GUI)) { - gui=weed_get_plantptr_value(params[x],WEED_LEAF_GUI,&error); - weed_set_plantptr_value(in_params[j],WEED_LEAF_GUI,weed_plant_copy(gui)); + for (j = xcount; j < count; j++) { + in_params[j] = weed_plant_copy(params[x]); + if (weed_plant_has_leaf(params[x], WEED_LEAF_GUI)) { + gui = weed_get_plantptr_value(params[x], WEED_LEAF_GUI, &error); + weed_set_plantptr_value(in_params[j], WEED_LEAF_GUI, weed_plant_copy(gui)); } - if (x==tparam) { - weed_set_boolean_value(in_params[j],WEED_LEAF_TRANSITION,WEED_TRUE); - } else if (weed_plant_has_leaf(in_params[j],WEED_LEAF_TRANSITION)) weed_leaf_delete(in_params[j],WEED_LEAF_TRANSITION); + if (x == tparam) { + weed_set_boolean_value(in_params[j], WEED_LEAF_TRANSITION, WEED_TRUE); + } else if (weed_plant_has_leaf(in_params[j], WEED_LEAF_TRANSITION)) weed_leaf_delete(in_params[j], WEED_LEAF_TRANSITION); - if (x==tvolm) { - weed_set_boolean_value(in_params[j],WEED_LEAF_IS_VOLUME_MASTER,WEED_TRUE); - } else if (weed_plant_has_leaf(in_params[j],WEED_LEAF_IS_VOLUME_MASTER)) weed_leaf_delete(in_params[j],WEED_LEAF_IS_VOLUME_MASTER); + if (x == tvolm) { + weed_set_boolean_value(in_params[j], WEED_LEAF_IS_VOLUME_MASTER, WEED_TRUE); + } else if (weed_plant_has_leaf(in_params[j], WEED_LEAF_IS_VOLUME_MASTER)) weed_leaf_delete(in_params[j], WEED_LEAF_IS_VOLUME_MASTER); x++; } lives_free(params); - xcount=count; + xcount = count; } } - if (tgfps!=-1.) weed_set_double_value(filter,WEED_LEAF_TARGET_FPS,tgfps); + if (tgfps != -1.) weed_set_double_value(filter, WEED_LEAF_TARGET_FPS, tgfps); - if (count>0) { - weed_set_plantptr_array(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,count,in_params); + if (count > 0) { + weed_set_plantptr_array(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, count, in_params); lives_free(in_params); } - count=xcount=0; + count = xcount = 0; - for (i=0; i<nfilts; i++) { - xfilter=weed_filters[filts[i]]; - if (weed_plant_has_leaf(xfilter,WEED_LEAF_OUT_PARAMETER_TEMPLATES)) { - count+=weed_leaf_num_elements(xfilter,WEED_LEAF_OUT_PARAMETER_TEMPLATES); - params=weed_get_plantptr_array(xfilter,WEED_LEAF_OUT_PARAMETER_TEMPLATES,&error); + for (i = 0; i < nfilts; i++) { + xfilter = weed_filters[filts[i]]; + if (weed_plant_has_leaf(xfilter, WEED_LEAF_OUT_PARAMETER_TEMPLATES)) { + count += weed_leaf_num_elements(xfilter, WEED_LEAF_OUT_PARAMETER_TEMPLATES); + params = weed_get_plantptr_array(xfilter, WEED_LEAF_OUT_PARAMETER_TEMPLATES, &error); - out_params=(weed_plant_t **)lives_realloc(out_params,count*sizeof(weed_plant_t *)); - x=0; + out_params = (weed_plant_t **)lives_realloc(out_params, count * sizeof(weed_plant_t *)); + x = 0; - for (j=xcount; j<count; j++) { - out_params[j]=params[x++]; + for (j = xcount; j < count; j++) { + out_params[j] = params[x++]; } - if (params!=NULL) lives_free(params); - xcount=count; + if (params != NULL) lives_free(params); + xcount = count; } } - if (count>0) { - weed_set_plantptr_array(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES,count,out_params); + if (count > 0) { + weed_set_plantptr_array(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES, count, out_params); lives_free(out_params); } // use in channels from first filter - xfilter=weed_filters[filts[0]]; - if (weed_plant_has_leaf(xfilter,WEED_LEAF_IN_CHANNEL_TEMPLATES)) { - count=weed_leaf_num_elements(xfilter,WEED_LEAF_IN_CHANNEL_TEMPLATES); - in_chans=weed_get_plantptr_array(xfilter,WEED_LEAF_IN_CHANNEL_TEMPLATES,&error); - weed_set_plantptr_array(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES,count,in_chans); + xfilter = weed_filters[filts[0]]; + if (weed_plant_has_leaf(xfilter, WEED_LEAF_IN_CHANNEL_TEMPLATES)) { + count = weed_leaf_num_elements(xfilter, WEED_LEAF_IN_CHANNEL_TEMPLATES); + in_chans = weed_get_plantptr_array(xfilter, WEED_LEAF_IN_CHANNEL_TEMPLATES, &error); + weed_set_plantptr_array(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES, count, in_chans); lives_free(in_chans); } // use out channels from last filter - xfilter=weed_filters[filts[nfilts-1]]; - if (weed_plant_has_leaf(xfilter,WEED_LEAF_OUT_CHANNEL_TEMPLATES)) { - count=weed_leaf_num_elements(xfilter,WEED_LEAF_OUT_CHANNEL_TEMPLATES); - out_chans=weed_get_plantptr_array(xfilter,WEED_LEAF_OUT_CHANNEL_TEMPLATES,&error); - weed_set_plantptr_array(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES,count,out_chans); + xfilter = weed_filters[filts[nfilts - 1]]; + if (weed_plant_has_leaf(xfilter, WEED_LEAF_OUT_CHANNEL_TEMPLATES)) { + count = weed_leaf_num_elements(xfilter, WEED_LEAF_OUT_CHANNEL_TEMPLATES); + out_chans = weed_get_plantptr_array(xfilter, WEED_LEAF_OUT_CHANNEL_TEMPLATES, &error); + weed_set_plantptr_array(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES, count, out_chans); lives_free(out_chans); } @@ -5472,139 +5363,135 @@ } - - - - static void load_compound_plugin(char *plugin_name, char *plugin_path) { FILE *cpdfile; - weed_plant_t *filter=NULL,*ptmpl,*iptmpl,*xfilter; + weed_plant_t *filter = NULL, *ptmpl, *iptmpl, *xfilter; char buff[16384]; - char **array,**svals; + char **array, **svals; - char *author=NULL,*tmp,*key; + char *author = NULL, *tmp, *key; - int *filters=NULL,*ivals; + int *filters = NULL, *ivals; double *dvals; int xvals[4]; - boolean ok=TRUE,autoscale; + boolean ok = TRUE, autoscale; - int stage=0,nfilts=0,fnum,line=0,version=0; - int qvals=1,ntok,xfilt,xfilt2; + int stage = 0, nfilts = 0, fnum, line = 0, version = 0; + int qvals = 1, ntok, xfilt, xfilt2; - int xconx=0; + int xconx = 0; - int nparams,nchans,pnum,pnum2,xpnum2,cnum,cnum2,ptype,phint,pcspace,pflags; + int nparams, nchans, pnum, pnum2, xpnum2, cnum, cnum2, ptype, phint, pcspace, pflags; int error; register int i; - if ((cpdfile=fopen(plugin_path,"r"))) { - while (fgets(buff,16384,cpdfile)) { + if ((cpdfile = fopen(plugin_path, "r"))) { + while (fgets(buff, 16384, cpdfile)) { line++; lives_strstrip(buff); if (!strlen(buff)) { - if (++stage==5) break; - if (stage==2) { - if (nfilts<2) { - d_print((tmp=lives_strdup_printf(_("Invalid compound effect %s - must have >1 sub filters\n"),plugin_name))); + if (++stage == 5) break; + if (stage == 2) { + if (nfilts < 2) { + d_print((tmp = lives_strdup_printf(_("Invalid compound effect %s - must have >1 sub filters\n"), plugin_name))); LIVES_ERROR(tmp); lives_free(tmp); - ok=FALSE; + ok = FALSE; break; } - filter=create_compound_filter(plugin_name,nfilts,filters); - if (filter==NULL) break; + filter = create_compound_filter(plugin_name, nfilts, filters); + if (filter == NULL) break; } continue; } switch (stage) { case 0: - if (line==1) author=lives_strdup(buff); - if (line==2) version=atoi(buff); + if (line == 1) author = lives_strdup(buff); + if (line == 2) version = atoi(buff); break; case 1: // add filters - fnum=weed_get_idx_for_hashname(buff,TRUE); - if (fnum==-1) { - d_print((tmp=lives_strdup_printf(_("Invalid effect %s found in compound effect %s, line %d\n"),buff,plugin_name,line))); + fnum = weed_get_idx_for_hashname(buff, TRUE); + if (fnum == -1) { + d_print((tmp = lives_strdup_printf(_("Invalid effect %s found in compound effect %s, line %d\n"), buff, plugin_name, line))); LIVES_INFO(tmp); lives_free(tmp); - ok=FALSE; + ok = FALSE; break; } - filters=(int *)lives_realloc(filters,++nfilts*sizeof(int)); - filters[nfilts-1]=fnum; + filters = (int *)lives_realloc(filters, ++nfilts * sizeof(int)); + filters[nfilts - 1] = fnum; break; case 2: // override defaults: format is i|p|d0|d1|...|dn // NOTE: for obvious reasons, | may not be used inside string defaults - ntok=get_token_count(buff,'|'); + ntok = get_token_count(buff, '|'); - if (ntok<2) { - d_print((tmp=lives_strdup_printf(_("Invalid default found in compound effect %s, line %d\n"),plugin_name,line))); + if (ntok < 2) { + d_print((tmp = lives_strdup_printf(_("Invalid default found in compound effect %s, line %d\n"), plugin_name, line))); LIVES_ERROR(tmp); lives_free(tmp); - ok=FALSE; + ok = FALSE; break; } - array=lives_strsplit(buff,"|",ntok); + array = lives_strsplit(buff, "|", ntok); - xfilt=atoi(array[0]); // sub filter number - if (xfilt<0||xfilt>=nfilts) { - d_print((tmp=lives_strdup_printf(_("Invalid filter %d for defaults found in compound effect %s, line %d\n"),xfilt,plugin_name,line))); + xfilt = atoi(array[0]); // sub filter number + if (xfilt < 0 || xfilt >= nfilts) { + d_print((tmp = lives_strdup_printf(_("Invalid filter %d for defaults found in compound effect %s, line %d\n"), xfilt, plugin_name, line))); LIVES_ERROR(tmp); lives_free(tmp); - ok=FALSE; + ok = FALSE; lives_strfreev(array); break; } - xfilter=get_weed_filter(filters[xfilt]); + xfilter = get_weed_filter(filters[xfilt]); - nparams=num_in_params(xfilter,FALSE,FALSE); + nparams = num_in_params(xfilter, FALSE, FALSE); - pnum=atoi(array[1]); + pnum = atoi(array[1]); - if (pnum>=nparams) { - d_print((tmp=lives_strdup_printf(_("Invalid param %d for defaults found in compound effect %s, line %d\n"),pnum,plugin_name,line))); + if (pnum >= nparams) { + d_print((tmp = lives_strdup_printf(_("Invalid param %d for defaults found in compound effect %s, line %d\n"), pnum, plugin_name, line))); LIVES_ERROR(tmp); lives_free(tmp); - ok=FALSE; + ok = FALSE; lives_strfreev(array); break; } // get pnum for compound filter - for (i=0; i<xfilt; i++) pnum+=num_in_params(get_weed_filter(filters[i]),FALSE,FALSE); + for (i = 0; i < xfilt; i++) pnum += num_in_params(get_weed_filter(filters[i]), FALSE, FALSE); - ptmpl=weed_filter_in_paramtmpl(filter,pnum,FALSE); + ptmpl = weed_filter_in_paramtmpl(filter, pnum, FALSE); - ptype=weed_leaf_seed_type(ptmpl,WEED_LEAF_DEFAULT); - pflags=weed_get_int_value(ptmpl,WEED_LEAF_FLAGS,&error); - phint=weed_get_int_value(ptmpl,WEED_LEAF_HINT,&error); + ptype = weed_leaf_seed_type(ptmpl, WEED_LEAF_DEFAULT); + pflags = weed_get_int_value(ptmpl, WEED_LEAF_FLAGS, &error); + phint = weed_get_int_value(ptmpl, WEED_LEAF_HINT, &error); - if (phint==WEED_HINT_COLOR) { - pcspace=weed_get_int_value(ptmpl,WEED_LEAF_COLORSPACE,&error); - qvals=3; - if (pcspace==WEED_COLORSPACE_RGBA) qvals=4; + if (phint == WEED_HINT_COLOR) { + pcspace = weed_get_int_value(ptmpl, WEED_LEAF_COLORSPACE, &error); + qvals = 3; + if (pcspace == WEED_COLORSPACE_RGBA) qvals = 4; } - ntok-=2; + ntok -= 2; - if ((ntok!=weed_leaf_num_elements(ptmpl,WEED_LEAF_DEFAULT)&&!(pflags&WEED_PARAMETER_VARIABLE_ELEMENTS)) || - ntok%qvals!=0) { - d_print((tmp=lives_strdup_printf(_("Invalid number of values for defaults found in compound effect %s, line %d\n"),plugin_name,line))); + if ((ntok != weed_leaf_num_elements(ptmpl, WEED_LEAF_DEFAULT) && !(pflags & WEED_PARAMETER_VARIABLE_ELEMENTS)) || + ntok % qvals != 0) { + d_print((tmp = lives_strdup_printf(_("Invalid number of values for defaults found in compound effect %s, line %d\n"), plugin_name, line))); LIVES_ERROR(tmp); lives_free(tmp); - ok=FALSE; + ok = FALSE; lives_strfreev(array); break; } @@ -5613,48 +5500,48 @@ switch (ptype) { case WEED_SEED_INT: - ivals=(int *)lives_malloc(ntok*sizint); - for (i=0; i<ntok; i++) { - ivals[i]=atoi(array[i+2]); + ivals = (int *)lives_malloc(ntok * sizint); + for (i = 0; i < ntok; i++) { + ivals[i] = atoi(array[i + 2]); } - weed_set_int_array(ptmpl,WEED_LEAF_DEFAULT,ntok,ivals); + weed_set_int_array(ptmpl, WEED_LEAF_DEFAULT, ntok, ivals); lives_free(ivals); break; case WEED_SEED_DOUBLE: - dvals=(double *)lives_malloc(ntok*sizdbl); - for (i=0; i<ntok; i++) { - dvals[i]=strtod(array[i+2],NULL); + dvals = (double *)lives_malloc(ntok * sizdbl); + for (i = 0; i < ntok; i++) { + dvals[i] = strtod(array[i + 2], NULL); } - weed_set_double_array(ptmpl,WEED_LEAF_DEFAULT,ntok,dvals); + weed_set_double_array(ptmpl, WEED_LEAF_DEFAULT, ntok, dvals); lives_free(dvals); break; case WEED_SEED_BOOLEAN: - ivals=(int *)lives_malloc(ntok*sizint); - for (i=0; i<ntok; i++) { - ivals[i]=atoi(array[i+2]); + ivals = (int *)lives_malloc(ntok * sizint); + for (i = 0; i < ntok; i++) { + ivals[i] = atoi(array[i + 2]); - if (ivals[i]!=WEED_TRUE&&ivals[i]!=WEED_FALSE) { + if (ivals[i] != WEED_TRUE && ivals[i] != WEED_FALSE) { lives_free(ivals); - d_print((tmp=lives_strdup_printf(_("Invalid non-boolean value for defaults found in compound effect %s, line %d\n"), - pnum,plugin_name,line))); + d_print((tmp = lives_strdup_printf(_("Invalid non-boolean value for defaults found in compound effect %s, line %d\n"), + pnum, plugin_name, line))); LIVES_ERROR(tmp); lives_free(tmp); - ok=FALSE; + ok = FALSE; lives_strfreev(array); break; } } - weed_set_boolean_array(ptmpl,WEED_LEAF_DEFAULT,ntok,ivals); + weed_set_boolean_array(ptmpl, WEED_LEAF_DEFAULT, ntok, ivals); lives_free(ivals); break; default: // string - svals=(char **)lives_malloc(ntok*sizeof(char *)); - for (i=0; i<ntok; i++) { - svals[i]=lives_strdup(array[i+2]); + svals = (char **)lives_malloc(ntok * sizeof(char *)); + for (i = 0; i < ntok; i++) { + svals[i] = lives_strdup(array[i + 2]); } - weed_set_string_array(ptmpl,WEED_LEAF_DEFAULT,ntok,svals); - for (i=0; i<ntok; i++) { + weed_set_string_array(ptmpl, WEED_LEAF_DEFAULT, ntok, svals); + for (i = 0; i < ntok; i++) { lives_free(svals[i]); } lives_free(svals); @@ -5665,186 +5552,186 @@ case 3: // link params: format is f0|p0|autoscale|f1|p1 - ntok=get_token_count(buff,'|'); + ntok = get_token_count(buff, '|'); - if (ntok!=5) { - d_print((tmp=lives_strdup_printf(_("Invalid param link found in compound effect %s, line %d\n"),plugin_name,line))); + if (ntok != 5) { + d_print((tmp = lives_strdup_printf(_("Invalid param link found in compound effect %s, line %d\n"), plugin_name, line))); LIVES_ERROR(tmp); lives_free(tmp); - ok=FALSE; + ok = FALSE; break; } - array=lives_strsplit(buff,"|",ntok); + array = lives_strsplit(buff, "|", ntok); - xfilt=atoi(array[0]); // sub filter number - if (xfilt<-1||xfilt>=nfilts) { - d_print((tmp=lives_strdup_printf(_("Invalid out filter %d for link params found in compound effect %s, line %d\n"), - xfilt,plugin_name,line))); + xfilt = atoi(array[0]); // sub filter number + if (xfilt < -1 || xfilt >= nfilts) { + d_print((tmp = lives_strdup_printf(_("Invalid out filter %d for link params found in compound effect %s, line %d\n"), + xfilt, plugin_name, line))); LIVES_ERROR(tmp); lives_free(tmp); - ok=FALSE; + ok = FALSE; lives_strfreev(array); break; } - pnum=atoi(array[1]); + pnum = atoi(array[1]); - if (xfilt>-1) { - xfilter=get_weed_filter(filters[xfilt]); + if (xfilt > -1) { + xfilter = get_weed_filter(filters[xfilt]); - if (weed_plant_has_leaf(xfilter,WEED_LEAF_OUT_PARAMETER_TEMPLATES)) - nparams=weed_leaf_num_elements(xfilter,WEED_LEAF_OUT_PARAMETER_TEMPLATES); - else nparams=0; - - if (pnum>=nparams) { - d_print((tmp=lives_strdup_printf(_("Invalid out param %d for link params found in compound effect %s, line %d\n"), - pnum,plugin_name,line))); + if (weed_plant_has_leaf(xfilter, WEED_LEAF_OUT_PARAMETER_TEMPLATES)) + nparams = weed_leaf_num_elements(xfilter, WEED_LEAF_OUT_PARAMETER_TEMPLATES); + else nparams = 0; + + if (pnum >= nparams) { + d_print((tmp = lives_strdup_printf(_("Invalid out param %d for link params found in compound effect %s, line %d\n"), + pnum, plugin_name, line))); LIVES_ERROR(tmp); lives_free(tmp); - ok=FALSE; + ok = FALSE; lives_strfreev(array); break; } } - autoscale=atoi(array[2]); + autoscale = atoi(array[2]); - if (autoscale!=WEED_TRUE&&autoscale!=WEED_FALSE) { - d_print((tmp=lives_strdup_printf(_("Invalid non-boolean value for autoscale found in compound effect %s, line %d\n"), - pnum,plugin_name,line))); + if (autoscale != WEED_TRUE && autoscale != WEED_FALSE) { + d_print((tmp = lives_strdup_printf(_("Invalid non-boolean value for autoscale found in compound effect %s, line %d\n"), + pnum, plugin_name, line))); LIVES_ERROR(tmp); lives_free(tmp); - ok=FALSE; + ok = FALSE; lives_strfreev(array); break; } - xfilt2=atoi(array[3]); // sub filter number - if (xfilt>=nfilts) { - d_print((tmp=lives_strdup_printf(_("Invalid in filter %d for link params found in compound effect %s, line %d\n"), - xfilt2,plugin_name,line))); + xfilt2 = atoi(array[3]); // sub filter number + if (xfilt >= nfilts) { + d_print((tmp = lives_strdup_printf(_("Invalid in filter %d for link params found in compound effect %s, line %d\n"), + xfilt2, plugin_name, line))); LIVES_ERROR(tmp); lives_free(tmp); - ok=FALSE; + ok = FALSE; lives_strfreev(array); break; } - xfilter=get_weed_filter(filters[xfilt2]); + xfilter = get_weed_filter(filters[xfilt2]); - nparams=num_in_params(xfilter,FALSE,FALSE); + nparams = num_in_params(xfilter, FALSE, FALSE); - pnum2=atoi(array[4]); + pnum2 = atoi(array[4]); - if (pnum2>=nparams) { - d_print((tmp=lives_strdup_printf(_("Invalid in param %d for link params found in compound effect %s, line %d\n"), - pnum2,plugin_name,line))); + if (pnum2 >= nparams) { + d_print((tmp = lives_strdup_printf(_("Invalid in param %d for link params found in compound effect %s, line %d\n"), + pnum2, plugin_name, line))); LIVES_ERROR(tmp); lives_free(tmp); - ok=FALSE; + ok = FALSE; lives_strfreev(array); break; } // calc xpnum2 - xpnum2=pnum2; - for (i=0; i<xfilt2; i++) xpnum2+=num_in_params(get_weed_filter(filters[i]),FALSE,FALSE); + xpnum2 = pnum2; + for (i = 0; i < xfilt2; i++) xpnum2 += num_in_params(get_weed_filter(filters[i]), FALSE, FALSE); // must get paramtmpl here from filter (not xfilter) - iptmpl=weed_filter_in_paramtmpl(filter,xpnum2,FALSE); + iptmpl = weed_filter_in_paramtmpl(filter, xpnum2, FALSE); - xvals[0]=xfilt; - xvals[1]=pnum; + xvals[0] = xfilt; + xvals[1] = pnum; - weed_set_int_array(iptmpl,WEED_LEAF_HOST_INTERNAL_CONNECTION,2,xvals); - if (autoscale==WEED_TRUE) weed_set_boolean_value(iptmpl,WEED_LEAF_HOST_INTERNAL_CONNECTION_AUTOSCALE,WEED_TRUE); + weed_set_int_array(iptmpl, WEED_LEAF_HOST_INTERNAL_CONNECTION, 2, xvals); + if (autoscale == WEED_TRUE) weed_set_boolean_value(iptmpl, WEED_LEAF_HOST_INTERNAL_CONNECTION_AUTOSCALE, WEED_TRUE); lives_strfreev(array); break; case 4: // link alpha channels: format is f0|c0|f1|c1 - ntok=get_token_count(buff,'|'); + ntok = get_token_count(buff, '|'); - if (ntok!=4) { - d_print((tmp=lives_strdup_printf(_("Invalid channel link found in compound effect %s, line %d\n"),plugin_name,line))); + if (ntok != 4) { + d_print((tmp = lives_strdup_printf(_("Invalid channel link found in compound effect %s, line %d\n"), plugin_name, line))); LIVES_ERROR(tmp); lives_free(tmp); - ok=FALSE; + ok = FALSE; break; } - array=lives_strsplit(buff,"|",ntok); + array = lives_strsplit(buff, "|", ntok); - xfilt=atoi(array[0]); // sub filter number - if (xfilt<0||xfilt>=nfilts) { - d_print((tmp=lives_strdup_printf(_("Invalid out filter %d for link channels found in compound effect %s, line %d\n"), - xfilt,plugin_name,line))); + xfilt = atoi(array[0]); // sub filter number + if (xfilt < 0 || xfilt >= nfilts) { + d_print((tmp = lives_strdup_printf(_("Invalid out filter %d for link channels found in compound effect %s, line %d\n"), + xfilt, plugin_name, line))); LIVES_ERROR(tmp); lives_free(tmp); - ok=FALSE; + ok = FALSE; lives_strfreev(array); break; } - xfilter=get_weed_filter(filters[xfilt]); + xfilter = get_weed_filter(filters[xfilt]); - nchans=0; - if (weed_plant_has_leaf(xfilter,WEED_LEAF_OUT_CHANNEL_TEMPLATES)) { - nchans=weed_leaf_num_elements(xfilter,WEED_LEAF_OUT_CHANNEL_TEMPLATES); - if (weed_get_plantptr_value(xfilter,WEED_LEAF_OUT_CHANNEL_TEMPLATES,&error)==NULL) nchans=0; + nchans = 0; + if (weed_plant_has_leaf(xfilter, WEED_LEAF_OUT_CHANNEL_TEMPLATES)) { + nchans = weed_leaf_num_elements(xfilter, WEED_LEAF_OUT_CHANNEL_TEMPLATES); + if (weed_get_plantptr_value(xfilter, WEED_LEAF_OUT_CHANNEL_TEMPLATES, &error) == NULL) nchans = 0; } - cnum=atoi(array[1]); + cnum = atoi(array[1]); - if (cnum>=nchans) { - d_print((tmp=lives_strdup_printf(_("Invalid out channel %d for link params found in compound effect %s, line %d\n"), - cnum,plugin_name,line))); + if (cnum >= nchans) { + d_print((tmp = lives_strdup_printf(_("Invalid out channel %d for link params found in compound effect %s, line %d\n"), + cnum, plugin_name, line))); LIVES_ERROR(tmp); lives_free(tmp); - ok=FALSE; + ok = FALSE; lives_strfreev(array); break; } - xfilt2=atoi(array[2]); // sub filter number - if (xfilt2<=xfilt||xfilt>=nfilts) { - d_print((tmp=lives_strdup_printf(_("Invalid in filter %d for link channels found in compound effect %s, line %d\n"), - xfilt2,plugin_name,line))); + xfilt2 = atoi(array[2]); // sub filter number + if (xfilt2 <= xfilt || xfilt >= nfilts) { + d_print((tmp = lives_strdup_printf(_("Invalid in filter %d for link channels found in compound effect %s, line %d\n"), + xfilt2, plugin_name, line))); LIVES_ERROR(tmp); lives_free(tmp); - ok=FALSE; + ok = FALSE; lives_strfreev(array); break; } - xfilter=get_weed_filter(filters[xfilt2]); + xfilter = get_weed_filter(filters[xfilt2]); - nchans=0; - if (weed_plant_has_leaf(xfilter,WEED_LEAF_IN_CHANNEL_TEMPLATES)) { - nchans=weed_leaf_num_elements(xfilter,WEED_LEAF_IN_CHANNEL_TEMPLATES); - if (weed_get_plantptr_value(xfilter,WEED_LEAF_IN_CHANNEL_TEMPLATES,&error)==NULL) nchans=0; + nchans = 0; + if (weed_plant_has_leaf(xfilter, WEED_LEAF_IN_CHANNEL_TEMPLATES)) { + nchans = weed_leaf_num_elements(xfilter, WEED_LEAF_IN_CHANNEL_TEMPLATES); + if (weed_get_plantptr_value(xfilter, WEED_LEAF_IN_CHANNEL_TEMPLATES, &error) == NULL) nchans = 0; } - cnum2=atoi(array[3]); + cnum2 = atoi(array[3]); - if (cnum2>=nchans) { - d_print((tmp=lives_strdup_printf(_("Invalid in channel %d for link params found in compound effect %s, line %d\n"), - cnum2,plugin_name,line))); + if (cnum2 >= nchans) { + d_print((tmp = lives_strdup_printf(_("Invalid in channel %d for link params found in compound effect %s, line %d\n"), + cnum2, plugin_name, line))); LIVES_ERROR(tmp); lives_free(tmp); - ok=FALSE; + ok = FALSE; lives_strfreev(array); break; } - xvals[0]=xfilt; - xvals[1]=cnum; - xvals[2]=xfilt2; - xvals[3]=cnum2; + xvals[0] = xfilt; + xvals[1] = cnum; + xvals[2] = xfilt2; + xvals[3] = cnum2; // unlike with in_param_templates, which are copy by value, in_channel_templates are copy by ref. // so we need to add some extra leaves to the compound filter to note channel connections // - we will link the actual channels when we create an instance from the filter - key=lives_strdup_printf("host_channel_connection%d",xconx++); - weed_set_int_array(filter,key,4,xvals); + key = lives_strdup_printf("host_channel_connection%d", xconx++); + weed_set_int_array(filter, key, 4, xvals); lives_free(key); lives_strfreev(array); @@ -5853,58 +5740,54 @@ break; } if (!ok) { - if (filter!=NULL) weed_filter_free(filter,NULL); - filter=NULL; + if (filter != NULL) weed_filter_free(filter, NULL); + filter = NULL; break; } } fclose(cpdfile); } - if (filter!=NULL) { + if (filter != NULL) { int idx; - char *filter_name=lives_strdup_printf(_("Compound:%s"),plugin_name); - weed_set_string_value(filter,WEED_LEAF_NAME,filter_name); + char *filter_name = lives_strdup_printf(_("Compound:%s"), plugin_name); + weed_set_string_value(filter, WEED_LEAF_NAME, filter_name); - weed_set_string_value(filter,WEED_LEAF_AUTHOR,author); + weed_set_string_value(filter, WEED_LEAF_AUTHOR, author); lives_free(author); - weed_set_int_value(filter,WEED_LEAF_VERSION,version); - idx=num_weed_filters++; + weed_set_int_value(filter, WEED_LEAF_VERSION, version); + idx = num_weed_filters++; - weed_filters=(weed_plant_t **)lives_realloc(weed_filters,num_weed_filters*sizeof(weed_plant_t *)); - weed_filters[idx]=filter; + weed_filters = (weed_plant_t **)lives_realloc(weed_filters, num_weed_filters * sizeof(weed_plant_t *)); + weed_filters[idx] = filter; - hashnames=(char **)lives_realloc(hashnames,num_weed_filters*sizeof(char *)); - hashnames[idx]=NULL; - hashnames[idx]=make_weed_hashname(idx,TRUE,FALSE); + hashnames = (char **)lives_realloc(hashnames, num_weed_filters * sizeof(char *)); + hashnames[idx] = NULL; + hashnames[idx] = make_weed_hashname(idx, TRUE, FALSE); lives_free(filter_name); } - if (filters!=NULL) lives_free(filters); - + if (filters != NULL) lives_free(filters); } - - - void load_compound_fx(void) { LiVESList *compound_plugin_list; - int plugin_idx,onum_filters=num_weed_filters; + int plugin_idx, onum_filters = num_weed_filters; - char *lives_compound_plugin_path,*plugin_name,*plugin_path; + char *lives_compound_plugin_path, *plugin_name, *plugin_path; threaded_dialog_spin(0.); - lives_compound_plugin_path=lives_build_filename(capable->home_dir,PLUGIN_COMPOUND_EFFECTS_CUSTOM,NULL); - compound_plugin_list=get_plugin_list(PLUGIN_COMPOUND_EFFECTS_CUSTOM,TRUE,lives_compound_plugin_path,NULL); + lives_compound_plugin_path = lives_build_filename(capable->home_dir, PLUGIN_COMPOUND_EFFECTS_CUSTOM, NULL); + compound_plugin_list = get_plugin_list(PLUGIN_COMPOUND_EFFECTS_CUSTOM, TRUE, lives_compound_plugin_path, NULL); - for (plugin_idx=0; plugin_idx<lives_list_length(compound_plugin_list); plugin_idx++) { - plugin_name=(char *)lives_list_nth_data(compound_plugin_list,plugin_idx); - plugin_path=lives_build_filename(lives_compound_plugin_path,plugin_name,NULL); - load_compound_plugin(plugin_name,plugin_path); + for (plugin_idx = 0; plugin_idx < lives_list_length(compound_plugin_list); plugin_idx++) { + plugin_name = (char *)lives_list_nth_data(compound_plugin_list, plugin_idx); + plugin_path = lives_build_filename(lives_compound_plugin_path, plugin_name, NULL); + load_compound_plugin(plugin_name, plugin_path); lives_free(plugin_path); threaded_dialog_spin(0.); } @@ -5914,110 +5797,105 @@ threaded_dialog_spin(0.); lives_free(lives_compound_plugin_path); - lives_compound_plugin_path=lives_build_filename(prefs->prefix_dir,PLUGIN_COMPOUND_DIR,PLUGIN_COMPOUND_EFFECTS_BUILTIN,NULL); - compound_plugin_list=get_plugin_list(PLUGIN_COMPOUND_EFFECTS_BUILTIN,TRUE,lives_compound_plugin_path,NULL); + lives_compound_plugin_path = lives_build_filename(prefs->prefix_dir, PLUGIN_COMPOUND_DIR, PLUGIN_COMPOUND_EFFECTS_BUILTIN, NULL); + compound_plugin_list = get_plugin_list(PLUGIN_COMPOUND_EFFECTS_BUILTIN, TRUE, lives_compound_plugin_path, NULL); - for (plugin_idx=0; plugin_idx<lives_list_length(compound_plugin_list); plugin_idx++) { - plugin_name=(char *)lives_list_nth_data(compound_plugin_list,plugin_idx); - plugin_path=lives_build_filename(lives_compound_plugin_path,plugin_name,NULL); - load_compound_plugin(plugin_name,plugin_path); + for (plugin_idx = 0; plugin_idx < lives_list_length(compound_plugin_list); plugin_idx++) { + plugin_name = (char *)lives_list_nth_data(compound_plugin_list, plugin_idx); + plugin_path = lives_build_filename(lives_compound_plugin_path, plugin_name, NULL); + load_compound_plugin(plugin_name, plugin_path); lives_free(plugin_path); threaded_dialog_spin(0.); } lives_list_free_all(&compound_plugin_list); - if (num_weed_filters>onum_filters) { - d_print(_("Successfully loaded %d compound filters\n"),num_weed_filters-onum_filters); + if (num_weed_filters > onum_filters) { + d_print(_("Successfully loaded %d compound filters\n"), num_weed_filters - onum_filters); } lives_free(lives_compound_plugin_path); threaded_dialog_spin(0.); - } - - - void weed_unload_all(void) { - weed_plant_t *filter,*plugin_info,*host_info; + weed_plant_t *filter, *plugin_info, *host_info; void *handle; weed_desetup_f desetup_fn; - LiVESList *pinfo=NULL,*xpinfo,*freed_ptrs=NULL; + LiVESList *pinfo = NULL, *xpinfo, *freed_ptrs = NULL; int error; - register int i,j; + register int i, j; - mainw->num_tr_applied=0; + mainw->num_tr_applied = 0; weed_deinit_all(TRUE); - for (i=0; i<FX_KEYS_MAX_VIRTUAL; i++) { - for (j=0; j<prefs->max_modes_per_key; j++) { - if (key_defaults[i][j]!=NULL) free_key_defaults(i,j); + for (i = 0; i < FX_KEYS_MAX_VIRTUAL; i++) { + for (j = 0; j < prefs->max_modes_per_key; j++) { + if (key_defaults[i][j] != NULL) free_key_defaults(i, j); } lives_free(key_defaults[i]); } - mainw->chdir_failed=FALSE; + mainw->chdir_failed = FALSE; - for (i=0; i<num_weed_filters; i++) { + for (i = 0; i < num_weed_filters; i++) { + filter = weed_filters[i]; - filter=weed_filters[i]; - - if (num_compound_fx(filter)>1) { - weed_filter_free(filter,&freed_ptrs); + if (num_compound_fx(filter) > 1) { + weed_filter_free(filter, &freed_ptrs); continue; } - plugin_info=weed_get_plantptr_value(filter,WEED_LEAF_PLUGIN_INFO,&error); + plugin_info = weed_get_plantptr_value(filter, WEED_LEAF_PLUGIN_INFO, &error); - if (pinfo==NULL||lives_list_index(pinfo,plugin_info)==-1) pinfo=lives_list_append(pinfo,plugin_info); + if (pinfo == NULL || lives_list_index(pinfo, plugin_info) == -1) pinfo = lives_list_append(pinfo, plugin_info); - handle=weed_get_voidptr_value(plugin_info,WEED_LEAF_HOST_HANDLE,&error); + handle = weed_get_voidptr_value(plugin_info, WEED_LEAF_HOST_HANDLE, &error); - if (handle!=NULL&&prefs->startup_phase==0) { - if ((desetup_fn=(weed_desetup_f)dlsym(handle,"weed_desetup"))!=NULL) { - char *cwd=cd_to_plugin_dir(filter); + if (handle != NULL && prefs->startup_phase == 0) { + if ((desetup_fn = (weed_desetup_f)dlsym(handle, "weed_desetup")) != NULL) { + char *cwd = cd_to_plugin_dir(filter); // call weed_desetup() (*desetup_fn)(); - lives_chdir(cwd,FALSE); + lives_chdir(cwd, FALSE); lives_free(cwd); } dlclose(handle); threaded_dialog_spin(0.); - handle=NULL; - weed_set_voidptr_value(plugin_info,WEED_LEAF_HOST_HANDLE,handle); + handle = NULL; + weed_set_voidptr_value(plugin_info, WEED_LEAF_HOST_HANDLE, handle); } - weed_filter_free(filter,&freed_ptrs); + weed_filter_free(filter, &freed_ptrs); } lives_list_free(freed_ptrs); - xpinfo=pinfo; + xpinfo = pinfo; - while (pinfo!=NULL) { - host_info=weed_get_plantptr_value((weed_plant_t *)pinfo->data,WEED_LEAF_HOST_INFO,&error); + while (pinfo != NULL) { + host_info = weed_get_plantptr_value((weed_plant_t *)pinfo->data, WEED_LEAF_HOST_INFO, &error); weed_plant_free(host_info); weed_plant_free((weed_plant_t *)pinfo->data); - pinfo=pinfo->next; + pinfo = pinfo->next; } - if (xpinfo!=NULL) lives_list_free(xpinfo); + if (xpinfo != NULL) lives_list_free(xpinfo); - for (i=0; i<num_weed_filters; i++) { - if (hashnames[i]!=NULL) lives_free(hashnames[i]); + for (i = 0; i < num_weed_filters; i++) { + if (hashnames[i] != NULL) lives_free(hashnames[i]); } - if (hashnames!=NULL) lives_free(hashnames); - if (weed_filters!=NULL) lives_free(weed_filters); + if (hashnames != NULL) lives_free(hashnames); + if (weed_filters != NULL) lives_free(weed_filters); - for (i=0; i<FX_KEYS_MAX; i++) { + for (i = 0; i < FX_KEYS_MAX; i++) { lives_free(key_to_fx[i]); lives_free(key_to_instance[i]); lives_free(key_to_instance_copy[i]); @@ -6026,44 +5904,43 @@ threaded_dialog_spin(0.); if (mainw->chdir_failed) { - char *dirs=lives_strdup(_("Some plugin directories")); + char *dirs = lives_strdup(_("Some plugin directories")); do_chdir_failed_error(dirs); lives_free(dirs); } - } static void weed_in_channels_free(weed_plant_t *inst) { weed_plant_t **channels; - int i,error; + int i, error; int num_channels; - if (!weed_plant_has_leaf(inst,WEED_LEAF_IN_CHANNELS)) return; + if (!weed_plant_has_leaf(inst, WEED_LEAF_IN_CHANNELS)) return; - num_channels=weed_leaf_num_elements(inst,WEED_LEAF_IN_CHANNELS); - channels=weed_get_plantptr_array(inst,WEED_LEAF_IN_CHANNELS,&error); - for (i=0; i<num_channels; i++) { - if (channels[i]!=NULL) { + num_channels = weed_leaf_num_elements(inst, WEED_LEAF_IN_CHANNELS); + channels = weed_get_plantptr_array(inst, WEED_LEAF_IN_CHANNELS, &error); + for (i = 0; i < num_channels; i++) { + if (channels[i] != NULL) { if (weed_palette_is_alpha_palette(weed_layer_get_palette(channels[i]))) weed_layer_free(channels[i]); else weed_plant_free(channels[i]); } } lives_free(channels); - } + static void weed_out_channels_free(weed_plant_t *inst) { weed_plant_t **channels; - int i,error; + int i, error; int num_channels; - if (!weed_plant_has_leaf(inst,WEED_LEAF_OUT_CHANNELS)) return; + if (!weed_plant_has_leaf(inst, WEED_LEAF_OUT_CHANNELS)) return; - num_channels=weed_leaf_num_elements(inst,WEED_LEAF_OUT_CHANNELS); - channels=weed_get_plantptr_array(inst,WEED_LEAF_OUT_CHANNELS,&error); - for (i=0; i<num_channels; i++) { - if (channels[i]!=NULL) { + num_channels = weed_leaf_num_elements(inst, WEED_LEAF_OUT_CHANNELS); + channels = weed_get_plantptr_array(inst, WEED_LEAF_OUT_CHANNELS, &error); + for (i = 0; i < num_channels; i++) { + if (channels[i] != NULL) { if (weed_palette_is_alpha_palette(weed_layer_get_palette(channels[i]))) weed_layer_free(channels[i]); else weed_plant_free(channels[i]); } @@ -6071,6 +5948,7 @@ lives_free(channels); } + static void weed_channels_free(weed_plant_t *inst) { weed_in_channels_free(inst); weed_out_channels_free(inst); @@ -6081,8 +5959,8 @@ weed_plant_t *gui; int error; - if (weed_plant_has_leaf(plant,WEED_LEAF_GUI)) { - gui=weed_get_plantptr_value(plant,WEED_LEAF_GUI,&error); + if (weed_plant_has_leaf(plant, WEED_LEAF_GUI)) { + gui = weed_get_plantptr_value(plant, WEED_LEAF_GUI, &error); weed_plant_free(gui); } } @@ -6090,9 +5968,9 @@ void weed_in_params_free(weed_plant_t **parameters, int num_parameters) { register int i; - for (i=0; i<num_parameters; i++) { - if (parameters[i]!=NULL) { - if (parameters[i]==mainw->rte_textparm) mainw->rte_textparm=NULL; + for (i = 0; i < num_parameters; i++) { + if (parameters[i] != NULL) { + if (parameters[i] == mainw->rte_textparm) mainw->rte_textparm = NULL; weed_gui_free(parameters[i]); weed_plant_free(parameters[i]); } @@ -6106,11 +5984,11 @@ int error; int num_parameters; - if (!weed_plant_has_leaf(inst,WEED_LEAF_IN_PARAMETERS)) return; + if (!weed_plant_has_leaf(inst, WEED_LEAF_IN_PARAMETERS)) return; - num_parameters=weed_leaf_num_elements(inst,WEED_LEAF_IN_PARAMETERS); - parameters=weed_get_plantptr_array(inst,WEED_LEAF_IN_PARAMETERS,&error); - weed_in_params_free(parameters,num_parameters); + num_parameters = weed_leaf_num_elements(inst, WEED_LEAF_IN_PARAMETERS); + parameters = weed_get_plantptr_array(inst, WEED_LEAF_IN_PARAMETERS, &error); + weed_in_params_free(parameters, num_parameters); } static void weed_out_parameters_free(weed_plant_t *inst) { @@ -6119,12 +5997,12 @@ int num_parameters; register int i; - if (!weed_plant_has_leaf(inst,WEED_LEAF_OUT_PARAMETERS)) return; + if (!weed_plant_has_leaf(inst, WEED_LEAF_OUT_PARAMETERS)) return; - num_parameters=weed_leaf_num_elements(inst,WEED_LEAF_OUT_PARAMETERS); - parameters=weed_get_plantptr_array(inst,WEED_LEAF_OUT_PARAMETERS,&error); - for (i=0; i<num_parameters; i++) { - if (parameters[i]!=NULL) { + num_parameters = weed_leaf_num_elements(inst, WEED_LEAF_OUT_PARAMETERS); + parameters = weed_get_plantptr_array(inst, WEED_LEAF_OUT_PARAMETERS, &error); + for (i = 0; i < num_parameters; i++) { + if (parameters[i] != NULL) { weed_plant_free(parameters[i]); } } @@ -6144,226 +6022,225 @@ void weed_instance_unref(weed_plant_t *inst) { int error; - int nrefs=weed_get_int_value(inst,WEED_LEAF_HOST_REFS,&error)-1; - if (nrefs==0) lives_free_instance(inst); - else weed_set_int_value(inst,WEED_LEAF_HOST_REFS,nrefs); + int nrefs = weed_get_int_value(inst, WEED_LEAF_HOST_REFS, &error) - 1; + if (nrefs == 0) lives_free_instance(inst); + else weed_set_int_value(inst, WEED_LEAF_HOST_REFS, nrefs); } void weed_instance_ref(weed_plant_t *inst) { int error; - int nrefs=weed_get_int_value(inst,WEED_LEAF_HOST_REFS,&error)+1; - weed_set_int_value(inst,WEED_LEAF_HOST_REFS,nrefs); + int nrefs = weed_get_int_value(inst, WEED_LEAF_HOST_REFS, &error) + 1; + weed_set_int_value(inst, WEED_LEAF_HOST_REFS, nrefs); } - void wge_inner(weed_plant_t *inst, boolean unref) { - weed_plant_t *next_inst=NULL; + weed_plant_t *next_inst = NULL; int error; - if (weed_plant_has_leaf(inst,WEED_LEAF_HOST_KEY)) { - int key=weed_get_int_value(inst,WEED_LEAF_HOST_KEY,&error); + if (weed_plant_has_leaf(inst, WEED_LEAF_HOST_KEY)) { + int key = weed_get_int_value(inst, WEED_LEAF_HOST_KEY, &error); filter_mutex_lock(key); - key_to_instance[key][key_modes[key]]=NULL; + key_to_instance[key][key_modes[key]] = NULL; filter_mutex_unlock(key); } - if (weed_plant_has_leaf(inst,WEED_LEAF_HOST_NEXT_INSTANCE)) next_inst=weed_get_plantptr_value(inst,WEED_LEAF_HOST_NEXT_INSTANCE,&error); - else next_inst=NULL; + if (weed_plant_has_leaf(inst, WEED_LEAF_HOST_NEXT_INSTANCE)) next_inst = weed_get_plantptr_value(inst, WEED_LEAF_HOST_NEXT_INSTANCE, + &error); + else next_inst = NULL; weed_call_deinit_func(inst); if (unref) weed_instance_unref(inst); - if (next_inst!=NULL) { + if (next_inst != NULL) { // handle compound fx - inst=next_inst; - wge_inner(inst,unref); + inst = next_inst; + wge_inner(inst, unref); } - } void weed_generator_end(weed_plant_t *inst) { // generator has stopped for one of the following reasons: // efect was de-inited; clip (bg/fg) was changed; playback stopped with fg - lives_whentostop_t wts=mainw->whentostop; - boolean is_bg=FALSE; - boolean clip_switched=mainw->clip_switched; - int current_file=mainw->current_file,pre_src_file=mainw->pre_src_file; + lives_whentostop_t wts = mainw->whentostop; + boolean is_bg = FALSE; + boolean clip_switched = mainw->clip_switched; + int current_file = mainw->current_file, pre_src_file = mainw->pre_src_file; - if (inst==NULL) { + if (inst == NULL) { LIVES_WARN("inst was NULL !"); //return; } - if (mainw->blend_file!=-1&&mainw->blend_file!=current_file&&mainw->files[mainw->blend_file]!=NULL&& - mainw->files[mainw->blend_file]->ext_src==inst) is_bg=TRUE; - else mainw->new_blend_file=mainw->blend_file; + if (mainw->blend_file != -1 && mainw->blend_file != current_file && mainw->files[mainw->blend_file] != NULL && + mainw->files[mainw->blend_file]->ext_src == inst) is_bg = TRUE; + else mainw->new_blend_file = mainw->blend_file; - if (!is_bg&&mainw->whentostop==STOP_ON_VID_END&&mainw->playing_file>0) { + if (!is_bg && mainw->whentostop == STOP_ON_VID_END && mainw->playing_file > 0) { // we will close the file after playback stops - mainw->cancelled=CANCEL_GENERATOR_END; + mainw->cancelled = CANCEL_GENERATOR_END; return; } - if (rte_window!=NULL) { + if (rte_window != NULL) { // update real time effects window if we are showing it if (!is_bg) { - rtew_set_keych(fg_generator_key,FALSE); + rtew_set_keych(fg_generator_key, FALSE); } else { - rtew_set_keych(bg_generator_key,FALSE); + rtew_set_keych(bg_generator_key, FALSE); } } if (mainw->ce_thumbs) { // update ce_thumbs window if we are showing it if (!is_bg) { - ce_thumbs_set_keych(fg_generator_key,FALSE); + ce_thumbs_set_keych(fg_generator_key, FALSE); } else { - ce_thumbs_set_keych(bg_generator_key,FALSE); + ce_thumbs_set_keych(bg_generator_key, FALSE); } } - if (inst!=NULL&&get_audio_channel_in(inst,0)!=NULL) { + if (inst != NULL && get_audio_channel_in(inst, 0) != NULL) { mainw->afbuffer_clients--; - if (mainw->afbuffer_clients==0) { + if (mainw->afbuffer_clients == 0) { pthread_mutex_lock(&mainw->abuf_frame_mutex); - if (mainw->audio_frame_buffer!=NULL) { + if (mainw->audio_frame_buffer != NULL) { free_audio_frame_buffer(mainw->audio_frame_buffer); lives_free(mainw->audio_frame_buffer); - mainw->audio_frame_buffer=NULL; + mainw->audio_frame_buffer = NULL; } pthread_mutex_unlock(&mainw->abuf_frame_mutex); } } if (is_bg) { - if (mainw->blend_layer!=NULL) check_layer_ready(mainw->blend_layer); + if (mainw->blend_layer != NULL) check_layer_ready(mainw->blend_layer); filter_mutex_lock(bg_generator_key); - key_to_instance[bg_generator_key][bg_generator_mode]=NULL; + key_to_instance[bg_generator_key][bg_generator_mode] = NULL; filter_mutex_unlock(bg_generator_key); - if (mainw->rte&(GU641<<bg_generator_key)) mainw->rte^=(GU641<<bg_generator_key); - bg_gen_to_start=bg_generator_key=bg_generator_mode=-1; - pre_src_file=mainw->pre_src_file; - mainw->pre_src_file=mainw->current_file; - mainw->current_file=mainw->blend_file; + if (mainw->rte & (GU641 << bg_generator_key)) mainw->rte ^= (GU641 << bg_generator_key); + bg_gen_to_start = bg_generator_key = bg_generator_mode = -1; + pre_src_file = mainw->pre_src_file; + mainw->pre_src_file = mainw->current_file; + mainw->current_file = mainw->blend_file; } else { - if (mainw->frame_layer!=NULL) check_layer_ready(mainw->frame_layer); + if (mainw->frame_layer != NULL) check_layer_ready(mainw->frame_layer); filter_mutex_lock(fg_generator_key); - key_to_instance[fg_generator_key][fg_generator_mode]=NULL; + key_to_instance[fg_generator_key][fg_generator_mode] = NULL; filter_mutex_unlock(fg_generator_key); - if (mainw->rte&(GU641<<fg_generator_key)) mainw->rte^=(GU641<<fg_generator_key); - fg_gen_to_start=fg_generator_key=fg_generator_clip=fg_generator_mode=-1; - if (mainw->blend_file==mainw->current_file) mainw->blend_file=-1; + if (mainw->rte & (GU641 << fg_generator_key)) mainw->rte ^= (GU641 << fg_generator_key); + fg_gen_to_start = fg_generator_key = fg_generator_clip = fg_generator_mode = -1; + if (mainw->blend_file == mainw->current_file) mainw->blend_file = -1; } - if (inst!=NULL) wge_inner(inst,TRUE); + if (inst != NULL) wge_inner(inst, TRUE); // if the param window is already open, show any reinits now - if (fx_dialog[1]!=NULL) { - if (is_bg) redraw_pwindow(bg_generator_key,bg_generator_mode); - else redraw_pwindow(fg_generator_key,fg_generator_mode); + if (fx_dialog[1] != NULL) { + if (is_bg) redraw_pwindow(bg_generator_key, bg_generator_mode); + else redraw_pwindow(fg_generator_key, fg_generator_mode); } - if (!is_bg&&cfile->achans>0&&cfile->clip_type==CLIP_TYPE_GENERATOR) { + if (!is_bg && cfile->achans > 0 && cfile->clip_type == CLIP_TYPE_GENERATOR) { // we started playing from an audio clip - cfile->frames=cfile->start=cfile->end=0; - cfile->ext_src=NULL; - cfile->clip_type=CLIP_TYPE_DISK; - cfile->hsize=cfile->vsize=0; - cfile->pb_fps=cfile->fps=prefs->default_fps; + cfile->frames = cfile->start = cfile->end = 0; + cfile->ext_src = NULL; + cfile->clip_type = CLIP_TYPE_DISK; + cfile->hsize = cfile->vsize = 0; + cfile->pb_fps = cfile->fps = prefs->default_fps; return; } - if (mainw->new_blend_file!=-1&&is_bg) { - mainw->blend_file=mainw->new_blend_file; - mainw->new_blend_file=-1; + if (mainw->new_blend_file != -1 && is_bg) { + mainw->blend_file = mainw->new_blend_file; + mainw->new_blend_file = -1; // close generator file and switch to original file if possible - if (cfile==NULL||cfile->clip_type!=CLIP_TYPE_GENERATOR) { + if (cfile == NULL || cfile->clip_type != CLIP_TYPE_GENERATOR) { LIVES_WARN("Close non-generator file"); } else { close_current_file(mainw->pre_src_file); } - if (mainw->ce_thumbs&&mainw->active_sa_clips==SCREEN_AREA_BACKGROUND) ce_thumbs_update_current_clip(); + if (mainw->ce_thumbs && mainw->active_sa_clips == SCREEN_AREA_BACKGROUND) ce_thumbs_update_current_clip(); } else { // close generator file and switch to original file if possible - if (cfile==NULL||cfile->clip_type!=CLIP_TYPE_GENERATOR) { + if (cfile == NULL || cfile->clip_type != CLIP_TYPE_GENERATOR) { LIVES_WARN("Close non-generator file"); } else { close_current_file(mainw->pre_src_file); } - if (mainw->current_file==current_file) mainw->clip_switched=clip_switched; + if (mainw->current_file == current_file) mainw->clip_switched = clip_switched; } if (is_bg) { - mainw->current_file=current_file; - mainw->pre_src_file=pre_src_file; - mainw->whentostop=wts; + mainw->current_file = current_file; + mainw->pre_src_file = pre_src_file; + mainw->whentostop = wts; } - if (mainw->current_file==-1) mainw->cancelled=CANCEL_GENERATOR_END; - + if (mainw->current_file == -1) mainw->cancelled = CANCEL_GENERATOR_END; } static weed_plant_t **weed_channels_create(weed_plant_t *filter, boolean in) { - weed_plant_t **channels,**chantmpls; + weed_plant_t **channels, **chantmpls; int num_channels; - int i,j,error,pal; - int ccount=0; + int i, j, error, pal; + int ccount = 0; int num_repeats; - if (in) num_channels=weed_leaf_num_elements(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES); - else num_channels=weed_leaf_num_elements(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES); + if (in) num_channels = weed_leaf_num_elements(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES); + else num_channels = weed_leaf_num_elements(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES); - if (num_channels==0) return NULL; - if (in) chantmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES,&error); - else chantmpls=weed_get_plantptr_array(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES,&error); + if (num_channels == 0) return NULL; + if (in) chantmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES, &error); + else chantmpls = weed_get_plantptr_array(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES, &error); - for (i=0; i<num_channels; i++) { - if (weed_plant_has_leaf(chantmpls[i],WEED_LEAF_HOST_REPEATS)) ccount+=weed_get_int_value(chantmpls[i],WEED_LEAF_HOST_REPEATS,&error); - else ccount+=1; + for (i = 0; i < num_channels; i++) { + if (weed_plant_has_leaf(chantmpls[i], WEED_LEAF_HOST_REPEATS)) ccount += weed_get_int_value(chantmpls[i], WEED_LEAF_HOST_REPEATS, &error); + else ccount += 1; } - channels=(weed_plant_t **)lives_malloc((ccount+1)*sizeof(weed_plant_t *)); + channels = (weed_plant_t **)lives_malloc((ccount + 1) * sizeof(weed_plant_t *)); - ccount=0; + ccount = 0; - for (i=0; i<num_channels; i++) { - if (weed_plant_has_leaf(chantmpls[i],WEED_LEAF_HOST_REPEATS)) num_repeats=weed_get_int_value(chantmpls[i],WEED_LEAF_HOST_REPEATS,&error); - else num_repeats=1; - for (j=0; j<num_repeats; j++) { - channels[ccount]=weed_plant_new(WEED_PLANT_CHANNEL); - weed_set_plantptr_value(channels[ccount],WEED_LEAF_TEMPLATE,chantmpls[i]); + for (i = 0; i < num_channels; i++) { + if (weed_plant_has_leaf(chantmpls[i], WEED_LEAF_HOST_REPEATS)) num_repeats = weed_get_int_value(chantmpls[i], WEED_LEAF_HOST_REPEATS, + &error); + else num_repeats = 1; + for (j = 0; j < num_repeats; j++) { + channels[ccount] = weed_plant_new(WEED_PLANT_CHANNEL); + weed_set_plantptr_value(channels[ccount], WEED_LEAF_TEMPLATE, chantmpls[i]); - weed_set_voidptr_value(channels[ccount],WEED_LEAF_PIXEL_DATA,NULL); + weed_set_voidptr_value(channels[ccount], WEED_LEAF_PIXEL_DATA, NULL); - if (weed_plant_has_leaf(chantmpls[i],WEED_LEAF_CURRENT_PALETTE)) { + if (weed_plant_has_leaf(chantmpls[i], WEED_LEAF_CURRENT_PALETTE)) { // audio only channels dont have a WEED_LEAF_CURRENT_PALETTE ! - weed_set_int_value(channels[ccount],WEED_LEAF_CURRENT_PALETTE, - (pal=weed_get_int_value(chantmpls[i],WEED_LEAF_CURRENT_PALETTE,&error))); + weed_set_int_value(channels[ccount], WEED_LEAF_CURRENT_PALETTE, + (pal = weed_get_int_value(chantmpls[i], WEED_LEAF_CURRENT_PALETTE, &error))); if (weed_palette_is_yuv_palette(pal)) { - if (!(weed_plant_has_leaf(chantmpls[i],WEED_LEAF_YUV_SUBSPACE))|| - weed_get_int_value(chantmpls[i],WEED_LEAF_YUV_SUBSPACE,&error)==WEED_YUV_SUBSPACE_YUV) { + if (!(weed_plant_has_leaf(chantmpls[i], WEED_LEAF_YUV_SUBSPACE)) || + weed_get_int_value(chantmpls[i], WEED_LEAF_YUV_SUBSPACE, &error) == WEED_YUV_SUBSPACE_YUV) { // set to default for LiVES - weed_set_int_value(channels[ccount],WEED_LEAF_YUV_SUBSPACE,WEED_YUV_SUBSPACE_YCBCR); + weed_set_int_value(channels[ccount], WEED_LEAF_YUV_SUBSPACE, WEED_YUV_SUBSPACE_YCBCR); } else { - weed_set_int_value(channels[ccount],WEED_LEAF_YUV_SUBSPACE,weed_get_int_value(chantmpls[i],WEED_LEAF_YUV_SUBSPACE,&error)); + weed_set_int_value(channels[ccount], WEED_LEAF_YUV_SUBSPACE, weed_get_int_value(chantmpls[i], WEED_LEAF_YUV_SUBSPACE, &error)); } } } - if (weed_plant_has_leaf(chantmpls[i],WEED_LEAF_HOST_DISABLED)) { - weed_set_boolean_value(channels[ccount],WEED_LEAF_DISABLED, weed_get_boolean_value(chantmpls[i],WEED_LEAF_HOST_DISABLED,&error)); + if (weed_plant_has_leaf(chantmpls[i], WEED_LEAF_HOST_DISABLED)) { + weed_set_boolean_value(channels[ccount], WEED_LEAF_DISABLED, weed_get_boolean_value(chantmpls[i], WEED_LEAF_HOST_DISABLED, &error)); } - weed_add_plant_flags(channels[ccount],WEED_LEAF_READONLY_PLUGIN); + weed_add_plant_flags(channels[ccount], WEED_LEAF_READONLY_PLUGIN); ccount++; } } - channels[ccount]=NULL; + channels[ccount] = NULL; lives_free(chantmpls); return channels; } @@ -6374,129 +6251,128 @@ // in==TRUE create in parameters for filter // in==FALSE create out parameters for filter - weed_plant_t **params,**paramtmpls; + weed_plant_t **params, **paramtmpls; int num_params; - int i,error; + int i, error; - if (in) num_params=weed_leaf_num_elements(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES); - else num_params=weed_leaf_num_elements(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES); + if (in) num_params = weed_leaf_num_elements(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES); + else num_params = weed_leaf_num_elements(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES); - if (num_params==0) return NULL; - if (in) paramtmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); - else paramtmpls=weed_get_plantptr_array(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES,&error); + if (num_params == 0) return NULL; + if (in) paramtmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); + else paramtmpls = weed_get_plantptr_array(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES, &error); - params=(weed_plant_t **)lives_malloc((num_params+1)*sizeof(weed_plant_t *)); + params = (weed_plant_t **)lives_malloc((num_params + 1) * sizeof(weed_plant_t *)); - for (i=0; i<num_params; i++) { - params[i]=weed_plant_new(WEED_PLANT_PARAMETER); - weed_set_plantptr_value(params[i],WEED_LEAF_TEMPLATE,paramtmpls[i]); + for (i = 0; i < num_params; i++) { + params[i] = weed_plant_new(WEED_PLANT_PARAMETER); + weed_set_plantptr_value(params[i], WEED_LEAF_TEMPLATE, paramtmpls[i]); if (in) { - if (weed_plant_has_leaf(paramtmpls[i],WEED_LEAF_HOST_DEFAULT)) { - weed_leaf_copy(params[i],WEED_LEAF_VALUE,paramtmpls[i],WEED_LEAF_HOST_DEFAULT); - } else weed_leaf_copy(params[i],WEED_LEAF_VALUE,paramtmpls[i],WEED_LEAF_DEFAULT); - weed_add_plant_flags(params[i],WEED_LEAF_READONLY_PLUGIN); + if (weed_plant_has_leaf(paramtmpls[i], WEED_LEAF_HOST_DEFAULT)) { + weed_leaf_copy(params[i], WEED_LEAF_VALUE, paramtmpls[i], WEED_LEAF_HOST_DEFAULT); + } else weed_leaf_copy(params[i], WEED_LEAF_VALUE, paramtmpls[i], WEED_LEAF_DEFAULT); + weed_add_plant_flags(params[i], WEED_LEAF_READONLY_PLUGIN); } else { - weed_leaf_copy(params[i],WEED_LEAF_VALUE,paramtmpls[i],WEED_LEAF_DEFAULT); + weed_leaf_copy(params[i], WEED_LEAF_VALUE, paramtmpls[i], WEED_LEAF_DEFAULT); } } - params[num_params]=NULL; + params[num_params] = NULL; lives_free(paramtmpls); return params; } - static void set_default_channel_sizes(weed_plant_t **in_channels, weed_plant_t **out_channels) { // set some reasonable default channel sizes when we first init the effect - weed_plant_t *channel,*chantmpl; + weed_plant_t *channel, *chantmpl; int *rowstrides; - boolean is_gen=TRUE; - boolean has_aud_in_chans=FALSE; + boolean is_gen = TRUE; + boolean has_aud_in_chans = FALSE; int def_rowstride; - int numplanes,width,height; + int numplanes, width, height; int error; register int i; // ignore filters with no in/out channels (e.g. data processors) - if ((in_channels==NULL||in_channels[0]==NULL)&&(out_channels==NULL||out_channels[0]==NULL)) return; + if ((in_channels == NULL || in_channels[0] == NULL) && (out_channels == NULL || out_channels[0] == NULL)) return; - for (i=0; in_channels!=NULL&&in_channels[i]!=NULL&& - !(weed_plant_has_leaf(in_channels[i],WEED_LEAF_DISABLED)&& - weed_get_boolean_value(in_channels[i],WEED_LEAF_DISABLED,&error)==WEED_TRUE); i++) { - channel=in_channels[i]; - chantmpl=weed_get_plantptr_value(channel,WEED_LEAF_TEMPLATE,&error); - if (!weed_plant_has_leaf(chantmpl,WEED_LEAF_IS_AUDIO)||weed_get_boolean_value(chantmpl,WEED_LEAF_IS_AUDIO,&error)==WEED_FALSE) { - is_gen=FALSE; - width=height=4; - weed_set_int_value(channel,WEED_LEAF_WIDTH,width); - weed_set_int_value(channel,WEED_LEAF_HEIGHT,height); - def_rowstride=width*3; + for (i = 0; in_channels != NULL && in_channels[i] != NULL && + !(weed_plant_has_leaf(in_channels[i], WEED_LEAF_DISABLED) && + weed_get_boolean_value(in_channels[i], WEED_LEAF_DISABLED, &error) == WEED_TRUE); i++) { + channel = in_channels[i]; + chantmpl = weed_get_plantptr_value(channel, WEED_LEAF_TEMPLATE, &error); + if (!weed_plant_has_leaf(chantmpl, WEED_LEAF_IS_AUDIO) || weed_get_boolean_value(chantmpl, WEED_LEAF_IS_AUDIO, &error) == WEED_FALSE) { + is_gen = FALSE; + width = height = 4; + weed_set_int_value(channel, WEED_LEAF_WIDTH, width); + weed_set_int_value(channel, WEED_LEAF_HEIGHT, height); + def_rowstride = width * 3; // try to set channel size first - set_channel_size(channel,320,240,1,&def_rowstride); + set_channel_size(channel, 320, 240, 1, &def_rowstride); // create empty data for the palette and get the actual sizes - create_empty_pixel_data(channel,FALSE,TRUE); - width=weed_get_int_value(channel,WEED_LEAF_WIDTH,&error); - height=weed_get_int_value(channel,WEED_LEAF_HEIGHT,&error); - numplanes=weed_leaf_num_elements(channel,WEED_LEAF_ROWSTRIDES); - rowstrides=weed_get_int_array(channel,WEED_LEAF_ROWSTRIDES,&error); - set_channel_size(channel,width,height,numplanes,rowstrides); + create_empty_pixel_data(channel, FALSE, TRUE); + width = weed_get_int_value(channel, WEED_LEAF_WIDTH, &error); + height = weed_get_int_value(channel, WEED_LEAF_HEIGHT, &error); + numplanes = weed_leaf_num_elements(channel, WEED_LEAF_ROWSTRIDES); + rowstrides = weed_get_int_array(channel, WEED_LEAF_ROWSTRIDES, &error); + set_channel_size(channel, width, height, numplanes, rowstrides); lives_free(rowstrides); weed_layer_pixel_data_free(channel); } else { - if (mainw->current_file==-1) { - weed_set_int_value(channel,WEED_LEAF_AUDIO_CHANNELS,DEFAULT_AUDIO_CHANS); - weed_set_int_value(channel,WEED_LEAF_AUDIO_RATE,DEFAULT_AUDIO_RATE); + if (mainw->current_file == -1) { + weed_set_int_value(channel, WEED_LEAF_AUDIO_CHANNELS, DEFAULT_AUDIO_CHANS); + weed_set_int_value(channel, WEED_LEAF_AUDIO_RATE, DEFAULT_AUDIO_RATE); } else { - weed_set_int_value(channel,WEED_LEAF_AUDIO_CHANNELS,cfile->achans); - weed_set_int_value(channel,WEED_LEAF_AUDIO_RATE,cfile->arate); + weed_set_int_value(channel, WEED_LEAF_AUDIO_CHANNELS, cfile->achans); + weed_set_int_value(channel, WEED_LEAF_AUDIO_RATE, cfile->arate); } - weed_set_boolean_value(channel,WEED_LEAF_AUDIO_INTERLEAF,WEED_FALSE); - weed_set_int_value(channel,WEED_LEAF_AUDIO_DATA_LENGTH,0); - weed_set_voidptr_value(channel,WEED_LEAF_AUDIO_DATA,NULL); - - has_aud_in_chans=TRUE; + weed_set_boolean_value(channel, WEED_LEAF_AUDIO_INTERLEAF, WEED_FALSE); + weed_set_int_value(channel, WEED_LEAF_AUDIO_DATA_LENGTH, 0); + weed_set_voidptr_value(channel, WEED_LEAF_AUDIO_DATA, NULL); + + has_aud_in_chans = TRUE; } } - for (i=0; out_channels!=NULL&&out_channels[i]!=NULL; i++) { - channel=out_channels[i]; - chantmpl=weed_get_plantptr_value(channel,WEED_LEAF_TEMPLATE,&error); - if (!weed_plant_has_leaf(chantmpl,WEED_LEAF_IS_AUDIO)||weed_get_boolean_value(chantmpl,WEED_LEAF_IS_AUDIO,&error)==WEED_FALSE) { - width=is_gen?DEF_GEN_WIDTH:320; - height=is_gen?DEF_GEN_HEIGHT:240; - weed_set_int_value(channel,WEED_LEAF_WIDTH,width); - weed_set_int_value(channel,WEED_LEAF_HEIGHT,height); - def_rowstride=width*3; + for (i = 0; out_channels != NULL && out_channels[i] != NULL; i++) { + channel = out_channels[i]; + chantmpl = weed_get_plantptr_value(channel, WEED_LEAF_TEMPLATE, &error); + if (!weed_plant_has_leaf(chantmpl, WEED_LEAF_IS_AUDIO) || weed_get_boolean_value(chantmpl, WEED_LEAF_IS_AUDIO, &error) == WEED_FALSE) { + width = is_gen ? DEF_GEN_WIDTH : 320; + height = is_gen ? DEF_GEN_HEIGHT : 240; + weed_set_int_value(channel, WEED_LEAF_WIDTH, width); + weed_set_int_value(channel, WEED_LEAF_HEIGHT, height); + def_rowstride = width * 3; // try to set channel size first - set_channel_size(channel,width,height,1,&def_rowstride); + set_channel_size(channel, width, height, 1, &def_rowstride); // create empty data for the palette and get the actual sizes - create_empty_pixel_data(channel,FALSE,TRUE); - width=weed_get_int_value(channel,WEED_LEAF_WIDTH,&error); - height=weed_get_int_value(channel,WEED_LEAF_HEIGHT,&error); - numplanes=weed_leaf_num_elements(channel,WEED_LEAF_ROWSTRIDES); - rowstrides=weed_get_int_array(channel,WEED_LEAF_ROWSTRIDES,&error); - set_channel_size(channel,width,height,numplanes,rowstrides); + create_empty_pixel_data(channel, FALSE, TRUE); + width = weed_get_int_value(channel, WEED_LEAF_WIDTH, &error); + height = weed_get_int_value(channel, WEED_LEAF_HEIGHT, &error); + numplanes = weed_leaf_num_elements(channel, WEED_LEAF_ROWSTRIDES); + rowstrides = weed_get_int_array(channel, WEED_LEAF_ROWSTRIDES, &error); + set_channel_size(channel, width, height, numplanes, rowstrides); lives_free(rowstrides); weed_layer_pixel_data_free(channel); } else { - if (mainw->current_file==-1||!has_aud_in_chans) { - weed_set_int_value(channel,WEED_LEAF_AUDIO_CHANNELS,DEFAULT_AUDIO_CHANS); - weed_set_int_value(channel,WEED_LEAF_AUDIO_RATE,DEFAULT_AUDIO_RATE); + if (mainw->current_file == -1 || !has_aud_in_chans) { + weed_set_int_value(channel, WEED_LEAF_AUDIO_CHANNELS, DEFAULT_AUDIO_CHANS); + weed_set_int_value(channel, WEED_LEAF_AUDIO_RATE, DEFAULT_AUDIO_RATE); } else { - weed_set_int_value(channel,WEED_LEAF_AUDIO_CHANNELS,cfile->achans); - weed_set_int_value(channel,WEED_LEAF_AUDIO_RATE,cfile->arate); + weed_set_int_value(channel, WEED_LEAF_AUDIO_CHANNELS, cfile->achans); + weed_set_int_value(channel, WEED_LEAF_AUDIO_RATE, cfile->arate); } - weed_set_boolean_value(channel,WEED_LEAF_AUDIO_INTERLEAF,WEED_FALSE); - weed_set_int_value(channel,WEED_LEAF_AUDIO_DATA_LENGTH,0); - weed_set_voidptr_value(channel,WEED_LEAF_AUDIO_DATA,NULL); + weed_set_boolean_value(channel, WEED_LEAF_AUDIO_INTERLEAF, WEED_FALSE); + weed_set_int_value(channel, WEED_LEAF_AUDIO_DATA_LENGTH, 0); + weed_set_voidptr_value(channel, WEED_LEAF_AUDIO_DATA, NULL); } } } @@ -6506,69 +6382,69 @@ weed_plant_t **inp, weed_plant_t **outp) { // here we create a new filter_instance from the ingredients: // filter_class, in_channels, out_channels, in_parameters, out_parameters - weed_plant_t *inst=weed_plant_new(WEED_PLANT_FILTER_INSTANCE); + weed_plant_t *inst = weed_plant_new(WEED_PLANT_FILTER_INSTANCE); int n; - int flags=WEED_LEAF_READONLY_PLUGIN; + int flags = WEED_LEAF_READONLY_PLUGIN; register int i; - weed_set_plantptr_value(inst,WEED_LEAF_FILTER_CLASS,filter); - if (inc!=NULL) weed_set_plantptr_array(inst,WEED_LEAF_IN_CHANNELS,weed_flagset_array_count(inc,TRUE),inc); - if (outc!=NULL) weed_set_plantptr_array(inst,WEED_LEAF_OUT_CHANNELS,weed_flagset_array_count(outc,TRUE),outc); - if (inp!=NULL) weed_set_plantptr_array(inst,WEED_LEAF_IN_PARAMETERS,weed_flagset_array_count(inp,TRUE),inp); - if (outp!=NULL) { - weed_set_plantptr_array(inst,WEED_LEAF_OUT_PARAMETERS,(n=weed_flagset_array_count(outp,TRUE)),outp); - for (i=0; i<n; i++) { + weed_set_plantptr_value(inst, WEED_LEAF_FILTER_CLASS, filter); + if (inc != NULL) weed_set_plantptr_array(inst, WEED_LEAF_IN_CHANNELS, weed_flagset_array_count(inc, TRUE), inc); + if (outc != NULL) weed_set_plantptr_array(inst, WEED_LEAF_OUT_CHANNELS, weed_flagset_array_count(outc, TRUE), outc); + if (inp != NULL) weed_set_plantptr_array(inst, WEED_LEAF_IN_PARAMETERS, weed_flagset_array_count(inp, TRUE), inp); + if (outp != NULL) { + weed_set_plantptr_array(inst, WEED_LEAF_OUT_PARAMETERS, (n = weed_flagset_array_count(outp, TRUE)), outp); + for (i = 0; i < n; i++) { // allow plugins to set out_param WEED_LEAF_VALUE - weed_leaf_set_flags(outp[i],WEED_LEAF_VALUE,(weed_leaf_get_flags(outp[i],WEED_LEAF_VALUE)|flags)^flags); + weed_leaf_set_flags(outp[i], WEED_LEAF_VALUE, (weed_leaf_get_flags(outp[i], WEED_LEAF_VALUE) | flags)^flags); } } - weed_set_int_value(inst,WEED_LEAF_HOST_REFS,1); - weed_set_boolean_value(inst,WEED_LEAF_HOST_INITED,WEED_FALSE); + weed_set_int_value(inst, WEED_LEAF_HOST_REFS, 1); + weed_set_boolean_value(inst, WEED_LEAF_HOST_INITED, WEED_FALSE); - weed_add_plant_flags(inst,WEED_LEAF_READONLY_PLUGIN); + weed_add_plant_flags(inst, WEED_LEAF_READONLY_PLUGIN); return inst; } - void add_param_connections(weed_plant_t *inst) { - weed_plant_t **in_ptmpls,**outp; - weed_plant_t *iparam,*oparam,*first_inst=inst,*filter=weed_instance_get_filter(inst,TRUE); + weed_plant_t **in_ptmpls, **outp; + weed_plant_t *iparam, *oparam, *first_inst = inst, *filter = weed_instance_get_filter(inst, TRUE); int *xvals; - int nptmpls,error; + int nptmpls, error; register int i; - if (weed_plant_has_leaf(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES)) nptmpls=weed_leaf_num_elements(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES); + if (weed_plant_has_leaf(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES)) nptmpls = weed_leaf_num_elements(filter, + WEED_LEAF_IN_PARAMETER_TEMPLATES); else return; - if (nptmpls!=0&&weed_get_plantptr_value(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error)!=NULL) { - in_ptmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); - for (i=0; i<nptmpls; i++) { - if (weed_plant_has_leaf(in_ptmpls[i],WEED_LEAF_HOST_INTERNAL_CONNECTION)) { - xvals=weed_get_int_array(in_ptmpls[i],WEED_LEAF_HOST_INTERNAL_CONNECTION,&error); - - iparam=weed_inst_in_param(first_inst,i,FALSE,FALSE); - - if (xvals[0]>-1) { - inst=first_inst; - while (--xvals[0]>=0) inst=weed_get_plantptr_value(inst,WEED_LEAF_HOST_NEXT_INSTANCE,&error); + if (nptmpls != 0 && weed_get_plantptr_value(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error) != NULL) { + in_ptmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); + for (i = 0; i < nptmpls; i++) { + if (weed_plant_has_leaf(in_ptmpls[i], WEED_LEAF_HOST_INTERNAL_CONNECTION)) { + xvals = weed_get_int_array(in_ptmpls[i], WEED_LEAF_HOST_INTERNAL_CONNECTION, &error); + + iparam = weed_inst_in_param(first_inst, i, FALSE, FALSE); + + if (xvals[0] > -1) { + inst = first_inst; + while (--xvals[0] >= 0) inst = weed_get_plantptr_value(inst, WEED_LEAF_HOST_NEXT_INSTANCE, &error); - outp=weed_get_plantptr_array(inst,WEED_LEAF_OUT_PARAMETERS,&error); - oparam=outp[xvals[1]]; + outp = weed_get_plantptr_array(inst, WEED_LEAF_OUT_PARAMETERS, &error); + oparam = outp[xvals[1]]; lives_free(outp); - } else oparam=iparam; // just hide the parameter, but don't pull a value + } else oparam = iparam; // just hide the parameter, but don't pull a value - weed_set_plantptr_value(iparam,WEED_LEAF_HOST_INTERNAL_CONNECTION,oparam); + weed_set_plantptr_value(iparam, WEED_LEAF_HOST_INTERNAL_CONNECTION, oparam); - if (weed_plant_has_leaf(in_ptmpls[i],WEED_LEAF_HOST_INTERNAL_CONNECTION_AUTOSCALE)&& - weed_get_boolean_value(in_ptmpls[i],WEED_LEAF_HOST_INTERNAL_CONNECTION_AUTOSCALE,&error)==WEED_TRUE) - weed_set_boolean_value(iparam,WEED_LEAF_HOST_INTERNAL_CONNECTION_AUTOSCALE,WEED_TRUE); + if (weed_plant_has_leaf(in_ptmpls[i], WEED_LEAF_HOST_INTERNAL_CONNECTION_AUTOSCALE) && + weed_get_boolean_value(in_ptmpls[i], WEED_LEAF_HOST_INTERNAL_CONNECTION_AUTOSCALE, &error) == WEED_TRUE) + weed_set_boolean_value(iparam, WEED_LEAF_HOST_INTERNAL_CONNECTION_AUTOSCALE, WEED_TRUE); lives_free(xvals); } @@ -6578,116 +6454,114 @@ } - weed_plant_t *weed_instance_from_filter(weed_plant_t *filter) { // return an instance from a filter - weed_plant_t **inc,**outc,**inp,**outp,**xinp; + weed_plant_t **inc, **outc, **inp, **outp, **xinp; - weed_plant_t *last_inst=NULL,*first_inst=NULL,*inst,*ofilter=filter; - weed_plant_t *ochan=NULL; + weed_plant_t *last_inst = NULL, *first_inst = NULL, *inst, *ofilter = filter; + weed_plant_t *ochan = NULL; - int *filters=NULL,*xvals; + int *filters = NULL, *xvals; char *key; - int nfilters,ninpar=0,error; + int nfilters, ninpar = 0, error; - int xcnumx=0,x,poffset=0; + int xcnumx = 0, x, poffset = 0; - register int i,j; + register int i, j; - if ((nfilters=num_compound_fx(filter))>1) { - filters=weed_get_int_array(filter,WEED_LEAF_HOST_FILTER_LIST,&error); + if ((nfilters = num_compound_fx(filter)) > 1) { + filters = weed_get_int_array(filter, WEED_LEAF_HOST_FILTER_LIST, &error); } - inp=weed_params_create(filter,TRUE); - - for (i=0; i<nfilters; i++) { + inp = weed_params_create(filter, TRUE); - if (filters!=NULL) { - filter=weed_filters[filters[i]]; + for (i = 0; i < nfilters; i++) { + if (filters != NULL) { + filter = weed_filters[filters[i]]; } // create channels from channel_templates - inc=weed_channels_create(filter,TRUE); - outc=weed_channels_create(filter,FALSE); + inc = weed_channels_create(filter, TRUE); + outc = weed_channels_create(filter, FALSE); - set_default_channel_sizes(inc,outc); // we set the initial channel sizes to some reasonable defaults + set_default_channel_sizes(inc, outc); // we set the initial channel sizes to some reasonable defaults // create parameters from parameter_templates - outp=weed_params_create(filter,FALSE); + outp = weed_params_create(filter, FALSE); - if (nfilters==1) xinp=inp; + if (nfilters == 1) xinp = inp; else { // for a compound filter, assign only the params which belong to the instance - ninpar=num_in_params(filter,FALSE,FALSE); - if (ninpar==0) xinp=NULL; + ninpar = num_in_params(filter, FALSE, FALSE); + if (ninpar == 0) xinp = NULL; else { - xinp=(weed_plant_t **)lives_malloc((ninpar+1)*sizeof(weed_plant_t *)); - x=0; - for (j=poffset; j<poffset+ninpar; j++) xinp[x++]=inp[j]; - xinp[x]=NULL; - poffset+=ninpar; + xinp = (weed_plant_t **)lives_malloc((ninpar + 1) * sizeof(weed_plant_t *)); + x = 0; + for (j = poffset; j < poffset + ninpar; j++) xinp[x++] = inp[j]; + xinp[x] = NULL; + poffset += ninpar; } } - inst=weed_create_instance(filter,inc,outc,xinp,outp); + inst = weed_create_instance(filter, inc, outc, xinp, outp); - if (filters!=NULL) weed_set_plantptr_value(inst,WEED_LEAF_HOST_COMPOUND_CLASS,ofilter); + if (filters != NULL) weed_set_plantptr_value(inst, WEED_LEAF_HOST_COMPOUND_CLASS, ofilter); - if (i>0) { - weed_set_plantptr_value(last_inst,WEED_LEAF_HOST_NEXT_INSTANCE,inst); - } else first_inst=inst; + if (i > 0) { + weed_set_plantptr_value(last_inst, WEED_LEAF_HOST_NEXT_INSTANCE, inst); + } else first_inst = inst; - last_inst=inst; + last_inst = inst; - if (inc!=NULL) lives_free(inc); - if (outc!=NULL) lives_free(outc); - if (outp!=NULL) lives_free(outp); - if (xinp!=inp) lives_free(xinp); + if (inc != NULL) lives_free(inc); + if (outc != NULL) lives_free(outc); + if (outp != NULL) lives_free(outp); + if (xinp != inp) lives_free(xinp); - for (j=0; j<ninpar; j++) { + for (j = 0; j < ninpar; j++) { // copy param values if that was set up - set_copy_to(inst,j,TRUE); + set_copy_to(inst, j, TRUE); } } // cannot use lives_freep, since it is already a void ** - if (inp!=NULL) lives_free(inp); + if (inp != NULL) lives_free(inp); - if (filters!=NULL) { + if (filters != NULL) { lives_free(filters); // for compound fx, add param and channel connections - filter=ofilter; + filter = ofilter; // add param connections add_param_connections(first_inst); while (1) { // add channel connections - key=lives_strdup_printf("host_channel_connection%d",xcnumx++); - if (weed_plant_has_leaf(filter,key)) { - xvals=weed_get_int_array(filter,key,&error); + key = lives_strdup_printf("host_channel_connection%d", xcnumx++); + if (weed_plant_has_leaf(filter, key)) { + xvals = weed_get_int_array(filter, key, &error); - inst=first_inst; + inst = first_inst; while (1) { - if (xvals[0]--==0) { + if (xvals[0]-- == 0) { // got the out instance - outc=weed_get_plantptr_array(inst,WEED_LEAF_OUT_CHANNELS,&error); - ochan=outc[xvals[1]]; + outc = weed_get_plantptr_array(inst, WEED_LEAF_OUT_CHANNELS, &error); + ochan = outc[xvals[1]]; lives_free(outc); } - if (xvals[2]--==0) { + if (xvals[2]-- == 0) { // got the in instance - inc=weed_get_plantptr_array(inst,WEED_LEAF_IN_CHANNELS,&error); - weed_set_plantptr_value(inc[xvals[3]],WEED_LEAF_HOST_INTERNAL_CONNECTION,ochan); + inc = weed_get_plantptr_array(inst, WEED_LEAF_IN_CHANNELS, &error); + weed_set_plantptr_value(inc[xvals[3]], WEED_LEAF_HOST_INTERNAL_CONNECTION, ochan); lives_free(inc); break; } - inst=weed_get_plantptr_value(inst,WEED_LEAF_HOST_NEXT_INSTANCE,&error); + inst = weed_get_plantptr_value(inst, WEED_LEAF_HOST_NEXT_INSTANCE, &error); } lives_free(xvals); @@ -6702,152 +6576,145 @@ } - return first_inst; } - - boolean weed_init_effect(int hotkey) { // mainw->osc_block should be set to TRUE before calling this function ! weed_plant_t *filter; - weed_plant_t *new_instance,*inst; + weed_plant_t *new_instance, *inst; weed_plant_t *event_list; - boolean fg_modeswitch=FALSE,is_trans=FALSE,gen_start=FALSE,is_modeswitch=FALSE; - boolean is_audio_gen=FALSE; + boolean fg_modeswitch = FALSE, is_trans = FALSE, gen_start = FALSE, is_modeswitch = FALSE; + boolean is_audio_gen = FALSE; boolean all_out_alpha; int num_tr_applied; - int rte_keys=mainw->rte_keys; - int inc_count,outc_count; + int rte_keys = mainw->rte_keys; + int inc_count, outc_count; int ntracks; int error; int idx; - mainw->error=FALSE; + mainw->error = FALSE; - if (hotkey<0) { - is_modeswitch=TRUE; - hotkey=-hotkey-1; + if (hotkey < 0) { + is_modeswitch = TRUE; + hotkey = -hotkey - 1; } - if (hotkey==fg_generator_key) { - fg_modeswitch=TRUE; + if (hotkey == fg_generator_key) { + fg_modeswitch = TRUE; } - if (hotkey>=FX_KEYS_MAX) { - mainw->error=TRUE; + if (hotkey >= FX_KEYS_MAX) { + mainw->error = TRUE; return FALSE; } - if (!rte_key_valid(hotkey+1,FALSE)) { - mainw->error=TRUE; + if (!rte_key_valid(hotkey + 1, FALSE)) { + mainw->error = TRUE; return FALSE; } - idx=key_to_fx[hotkey][key_modes[hotkey]]; - filter=weed_filters[idx]; + idx = key_to_fx[hotkey][key_modes[hotkey]]; + filter = weed_filters[idx]; - inc_count=enabled_in_channels(filter,FALSE); - outc_count=enabled_out_channels(filter,FALSE); + inc_count = enabled_in_channels(filter, FALSE); + outc_count = enabled_out_channels(filter, FALSE); - if (all_ins_alpha(filter,TRUE)) inc_count=0; + if (all_ins_alpha(filter, TRUE)) inc_count = 0; // check first if it is an audio generator - if ((inc_count==0||(has_audio_chans_in(filter,FALSE)&& - !has_video_chans_in(filter,TRUE)))&& - has_audio_chans_out(filter,FALSE)&& - !has_video_chans_out(filter,TRUE)) { - + if ((inc_count == 0 || (has_audio_chans_in(filter, FALSE) && + !has_video_chans_in(filter, TRUE))) && + has_audio_chans_out(filter, FALSE) && + !has_video_chans_out(filter, TRUE)) { if (!is_realtime_aplayer(prefs->audio_player)) { // audio fx only with realtime players - char *fxname=weed_filter_idx_get_name(idx); - d_print(_("Effect %s cannot be used with this audio player.\n"),fxname); + char *fxname = weed_filter_idx_get_name(idx); + d_print(_("Effect %s cannot be used with this audio player.\n"), fxname); lives_free(fxname); - mainw->error=TRUE; + mainw->error = TRUE; return FALSE; } - - if (inc_count==0) { - if (mainw->agen_key!=0) { + if (inc_count == 0) { + if (mainw->agen_key != 0) { // we had an existing audio gen running - stop that one first - int agen_key=mainw->agen_key-1; + int agen_key = mainw->agen_key - 1; weed_deinit_effect(agen_key); - if ((mainw->rte&(GU641<<agen_key))) { + if ((mainw->rte & (GU641 << agen_key))) { // need to do this in case starting another audio gen caused us to come here - mainw->rte^=(GU641<<agen_key); - if (rte_window!=NULL) rtew_set_keych(agen_key,FALSE); - if (mainw->ce_thumbs) ce_thumbs_set_keych(agen_key,FALSE); + mainw->rte ^= (GU641 << agen_key); + if (rte_window != NULL) rtew_set_keych(agen_key, FALSE); + if (mainw->ce_thumbs) ce_thumbs_set_keych(agen_key, FALSE); } - } - is_audio_gen=TRUE; + is_audio_gen = TRUE; } } - // if outputs are all alpha it is not a true (video/audio generating) generator - all_out_alpha=all_outs_alpha(filter,TRUE); - + all_out_alpha = all_outs_alpha(filter, TRUE); // TODO - block template channel changes // we must stop any old generators - if (!all_out_alpha&&inc_count==0&&outc_count>0&&hotkey!=fg_generator_key&&mainw->num_tr_applied>0&&mainw->blend_file!=-1&& - mainw->blend_file!=mainw->current_file&&mainw->files[mainw->blend_file]!=NULL&& - mainw->files[mainw->blend_file]->clip_type==CLIP_TYPE_GENERATOR&&inc_count==0&&!is_audio_gen) { - if (bg_gen_to_start==-1) { + if (!all_out_alpha && inc_count == 0 && outc_count > 0 && hotkey != fg_generator_key && mainw->num_tr_applied > 0 && + mainw->blend_file != -1 && + mainw->blend_file != mainw->current_file && mainw->files[mainw->blend_file] != NULL && + mainw->files[mainw->blend_file]->clip_type == CLIP_TYPE_GENERATOR && inc_count == 0 && !is_audio_gen) { + if (bg_gen_to_start == -1) { weed_generator_end((weed_plant_t *)mainw->files[mainw->blend_file]->ext_src); } - bg_gen_to_start=bg_generator_key=bg_generator_mode=-1; - mainw->blend_file=-1; + bg_gen_to_start = bg_generator_key = bg_generator_mode = -1; + mainw->blend_file = -1; } - if (mainw->current_file>0&&cfile->clip_type==CLIP_TYPE_GENERATOR&& - (fg_modeswitch||(inc_count==0&&outc_count>0&&mainw->num_tr_applied==0))&&!is_audio_gen&&!all_out_alpha) { - if (mainw->noswitch||mainw->is_processing||mainw->preview) { - mainw->error=TRUE; + if (mainw->current_file > 0 && cfile->clip_type == CLIP_TYPE_GENERATOR && + (fg_modeswitch || (inc_count == 0 && outc_count > 0 && mainw->num_tr_applied == 0)) && !is_audio_gen && !all_out_alpha) { + if (mainw->noswitch || mainw->is_processing || mainw->preview) { + mainw->error = TRUE; return FALSE; // stopping fg gen will cause clip to switch } - if (mainw->playing_file>-1&&mainw->whentostop==STOP_ON_VID_END&&inc_count!=0) { - mainw->cancelled=CANCEL_GENERATOR_END; + if (mainw->playing_file > -1 && mainw->whentostop == STOP_ON_VID_END && inc_count != 0) { + mainw->cancelled = CANCEL_GENERATOR_END; } else { - if (inc_count==0&&mainw->whentostop==STOP_ON_VID_END) mainw->whentostop=NEVER_STOP; + if (inc_count == 0 && mainw->whentostop == STOP_ON_VID_END) mainw->whentostop = NEVER_STOP; weed_generator_end((weed_plant_t *)cfile->ext_src); - fg_generator_key=fg_generator_clip=fg_generator_mode=-1; - if (mainw->current_file>-1&&(cfile->achans==0||cfile->frames>0)) { + fg_generator_key = fg_generator_clip = fg_generator_mode = -1; + if (mainw->current_file > -1 && (cfile->achans == 0 || cfile->frames > 0)) { // in case we switched to bg clip, and bg clip was gen // otherwise we will get killed in generator_start - mainw->current_file=-1; + mainw->current_file = -1; } } } - if (inc_count==2) { + if (inc_count == 2) { mainw->num_tr_applied++; // increase trans count - if (mainw->active_sa_clips==SCREEN_AREA_FOREGROUND) { - mainw->active_sa_clips=SCREEN_AREA_BACKGROUND; + if (mainw->active_sa_clips == SCREEN_AREA_FOREGROUND) { + mainw->active_sa_clips = SCREEN_AREA_BACKGROUND; } if (mainw->ce_thumbs) ce_thumbs_liberate_clip_area_register(SCREEN_AREA_BACKGROUND); - if (mainw->num_tr_applied==1&&!is_modeswitch) { - mainw->blend_file=mainw->current_file; + if (mainw->num_tr_applied == 1 && !is_modeswitch) { + mainw->blend_file = mainw->current_file; } - } else if (inc_count==0&&outc_count>0&&!is_audio_gen&&!all_out_alpha) { + } else if (inc_count == 0 && outc_count > 0 && !is_audio_gen && !all_out_alpha) { // aha - a generator - if (mainw->playing_file==-1) { + if (mainw->playing_file == -1) { // if we are not playing, we will postpone creating the instance // this is a workaround for a problem in libvisual - fg_gen_to_start=hotkey; - fg_generator_key=hotkey; - fg_generator_mode=key_modes[hotkey]; - gen_start=TRUE; - } else if (!fg_modeswitch&&mainw->num_tr_applied==0&&(mainw->noswitch||mainw->is_processing||mainw->preview)) { - mainw->error=TRUE; + fg_gen_to_start = hotkey; + fg_generator_key = hotkey; + fg_generator_mode = key_modes[hotkey]; + gen_start = TRUE; + } else if (!fg_modeswitch && mainw->num_tr_applied == 0 && (mainw->noswitch || mainw->is_processing || mainw->preview)) { + mainw->error = TRUE; return FALSE; } } @@ -6855,267 +6722,265 @@ // TODO - unblock template channel changes // if the param window is already open, use instance from there - if (fx_dialog[1]!=NULL&&LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"key"))==hotkey&& - LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"mode"))==key_modes[hotkey]) { - lives_rfx_t *rfx=(lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"rfx"); - new_instance=(weed_plant_t *)rfx->source; + if (fx_dialog[1] != NULL && LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "key")) == hotkey && + LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "mode")) == key_modes[hotkey]) { + lives_rfx_t *rfx = (lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "rfx"); + new_instance = (weed_plant_t *)rfx->source; weed_instance_ref(new_instance); // handle compound fx - inst=new_instance; - while (weed_plant_has_leaf(inst,WEED_LEAF_HOST_NEXT_INSTANCE)) { - inst=weed_get_plantptr_value(inst,WEED_LEAF_HOST_NEXT_INSTANCE,&error); + inst = new_instance; + while (weed_plant_has_leaf(inst, WEED_LEAF_HOST_NEXT_INSTANCE)) { + inst = weed_get_plantptr_value(inst, WEED_LEAF_HOST_NEXT_INSTANCE, &error); weed_instance_ref(inst); } - redraw_pwindow(hotkey,key_modes[hotkey]); + redraw_pwindow(hotkey, key_modes[hotkey]); } else { - new_instance=weed_instance_from_filter(filter); + new_instance = weed_instance_from_filter(filter); // if it is a key effect, set key defaults - if (hotkey<FX_KEYS_MAX_VIRTUAL&&key_defaults[hotkey][key_modes[hotkey]]!=NULL) { + if (hotkey < FX_KEYS_MAX_VIRTUAL && key_defaults[hotkey][key_modes[hotkey]] != NULL) { // TODO - handle compound fx - weed_reinit_effect(new_instance,FALSE); - apply_key_defaults(new_instance,hotkey,key_modes[hotkey]); - weed_reinit_effect(new_instance,FALSE); + weed_reinit_effect(new_instance, FALSE); + apply_key_defaults(new_instance, hotkey, key_modes[hotkey]); + weed_reinit_effect(new_instance, FALSE); } } update_host_info(new_instance); // record the key so we know whose parameters to record later - weed_set_int_value(new_instance,WEED_LEAF_HOST_KEY,hotkey); + weed_set_int_value(new_instance, WEED_LEAF_HOST_KEY, hotkey); // handle compound fx - inst=new_instance; - while (weed_plant_has_leaf(inst,WEED_LEAF_HOST_NEXT_INSTANCE)) { - inst=weed_get_plantptr_value(inst,WEED_LEAF_HOST_NEXT_INSTANCE,&error); + inst = new_instance; + while (weed_plant_has_leaf(inst, WEED_LEAF_HOST_NEXT_INSTANCE)) { + inst = weed_get_plantptr_value(inst, WEED_LEAF_HOST_NEXT_INSTANCE, &error); update_host_info(inst); - weed_set_int_value(inst,WEED_LEAF_HOST_KEY,hotkey); + weed_set_int_value(inst, WEED_LEAF_HOST_KEY, hotkey); } - if (!gen_start) { - weed_plant_t *inst,*next_inst=NULL; + weed_plant_t *inst, *next_inst = NULL; - inst=new_instance; + inst = new_instance; start1: - filter=weed_instance_get_filter(inst,FALSE); + filter = weed_instance_get_filter(inst, FALSE); - if (weed_plant_has_leaf(filter,WEED_LEAF_INIT_FUNC)) { + if (weed_plant_has_leaf(filter, WEED_LEAF_INIT_FUNC)) { weed_init_f *init_func_ptr_ptr; weed_init_f init_func; - char *cwd=cd_to_plugin_dir(filter),*tmp; - weed_leaf_get(filter,WEED_LEAF_INIT_FUNC,0,(void *)&init_func_ptr_ptr); - init_func=init_func_ptr_ptr[0]; + char *cwd = cd_to_plugin_dir(filter), *tmp; + weed_leaf_get(filter, WEED_LEAF_INIT_FUNC, 0, (void *)&init_func_ptr_ptr); + init_func = init_func_ptr_ptr[0]; set_param_gui_readwrite(inst); - if (init_func!=NULL&&(error=(*init_func)(inst))!=WEED_NO_ERROR) { + if (init_func != NULL && (error = (*init_func)(inst)) != WEED_NO_ERROR) { int weed_error; char *filter_name; - filter=weed_filters[idx]; - filter_name=weed_get_string_value(filter,WEED_LEAF_NAME,&weed_error); + filter = weed_filters[idx]; + filter_name = weed_get_string_value(filter, WEED_LEAF_NAME, &weed_error); set_param_gui_readonly(inst); - d_print(_("Failed to start instance %s, (%s)\n"),filter_name,(tmp=lives_strdup(weed_error_to_text(error)))); + d_print(_("Failed to start instance %s, (%s)\n"), filter_name, (tmp = lives_strdup(weed_error_to_text(error)))); lives_free(tmp); lives_free(filter_name); filter_mutex_lock(hotkey); - key_to_instance[hotkey][key_modes[hotkey]]=NULL; + key_to_instance[hotkey][key_modes[hotkey]] = NULL; filter_mutex_unlock(hotkey); - inst=new_instance; + inst = new_instance; deinit2: - if (weed_plant_has_leaf(inst,WEED_LEAF_HOST_NEXT_INSTANCE)) next_inst=weed_get_plantptr_value(inst,WEED_LEAF_HOST_NEXT_INSTANCE,&error); - else next_inst=NULL; + if (weed_plant_has_leaf(inst, WEED_LEAF_HOST_NEXT_INSTANCE)) next_inst = weed_get_plantptr_value(inst, WEED_LEAF_HOST_NEXT_INSTANCE, + &error); + else next_inst = NULL; weed_call_deinit_func(inst); weed_instance_unref(inst); - if (next_inst!=NULL&&weed_get_boolean_value(next_inst,WEED_LEAF_HOST_INITED,&error)==WEED_TRUE) { + if (next_inst != NULL && weed_get_boolean_value(next_inst, WEED_LEAF_HOST_INITED, &error) == WEED_TRUE) { // handle compound fx - inst=next_inst; + inst = next_inst; goto deinit2; } if (is_trans) { // TODO: - do we need this ? is_trans is always FALSE ! mainw->num_tr_applied--; - if (mainw->num_tr_applied==0) { + if (mainw->num_tr_applied == 0) { if (mainw->ce_thumbs) ce_thumbs_liberate_clip_area_register(SCREEN_AREA_FOREGROUND); - if (mainw->active_sa_clips==SCREEN_AREA_BACKGROUND) { - mainw->active_sa_clips=SCREEN_AREA_FOREGROUND; + if (mainw->active_sa_clips == SCREEN_AREA_BACKGROUND) { + mainw->active_sa_clips = SCREEN_AREA_FOREGROUND; } } } - - lives_chdir(cwd,FALSE); + lives_chdir(cwd, FALSE); lives_free(cwd); - if (is_audio_gen) mainw->agen_needs_reinit=FALSE; - mainw->error=TRUE; + if (is_audio_gen) mainw->agen_needs_reinit = FALSE; + mainw->error = TRUE; return FALSE; } set_param_gui_readonly(inst); - lives_chdir(cwd,FALSE); + lives_chdir(cwd, FALSE); lives_free(cwd); } - weed_set_boolean_value(inst,WEED_LEAF_HOST_INITED,WEED_TRUE); + weed_set_boolean_value(inst, WEED_LEAF_HOST_INITED, WEED_TRUE); - if (weed_plant_has_leaf(inst,WEED_LEAF_HOST_NEXT_INSTANCE)) { - inst=weed_get_plantptr_value(inst,WEED_LEAF_HOST_NEXT_INSTANCE,&error); + if (weed_plant_has_leaf(inst, WEED_LEAF_HOST_NEXT_INSTANCE)) { + inst = weed_get_plantptr_value(inst, WEED_LEAF_HOST_NEXT_INSTANCE, &error); goto start1; } - filter=weed_filters[idx]; + filter = weed_filters[idx]; } - - if (inc_count==0&&outc_count>0&&!is_audio_gen&&!all_out_alpha) { + if (inc_count == 0 && outc_count > 0 && !is_audio_gen && !all_out_alpha) { // generator start - if (mainw->num_tr_applied>0&&!fg_modeswitch&&mainw->current_file>-1&&mainw->playing_file>-1) { + if (mainw->num_tr_applied > 0 && !fg_modeswitch && mainw->current_file > -1 && mainw->playing_file > -1) { // transition is on, make into bg clip - bg_generator_key=hotkey; - bg_generator_mode=key_modes[hotkey]; + bg_generator_key = hotkey; + bg_generator_mode = key_modes[hotkey]; } else { // no transition, make fg (or kb was grabbed for fg generator) - fg_generator_key=hotkey; - fg_generator_mode=key_modes[hotkey]; + fg_generator_key = hotkey; + fg_generator_mode = key_modes[hotkey]; } // start the generator and maybe start playing - num_tr_applied=mainw->num_tr_applied; - if (fg_modeswitch) mainw->num_tr_applied=0; // force to fg + num_tr_applied = mainw->num_tr_applied; + if (fg_modeswitch) mainw->num_tr_applied = 0; // force to fg - key_to_instance[hotkey][key_modes[hotkey]]=new_instance; + key_to_instance[hotkey][key_modes[hotkey]] = new_instance; - if (!weed_generator_start(new_instance,hotkey)) { + if (!weed_generator_start(new_instance, hotkey)) { // TODO - be more descriptive with error int weed_error; - char *filter_name=weed_get_string_value(filter,WEED_LEAF_NAME,&weed_error); - d_print(_("Unable to start generator %s\n"),filter_name); + char *filter_name = weed_get_string_value(filter, WEED_LEAF_NAME, &weed_error); + d_print(_("Unable to start generator %s\n"), filter_name); lives_free(filter_name); - if (mainw->num_tr_applied&&mainw->current_file>-1) { - bg_gen_to_start=bg_generator_key=bg_generator_mode=-1; + if (mainw->num_tr_applied && mainw->current_file > -1) { + bg_gen_to_start = bg_generator_key = bg_generator_mode = -1; } else { - fg_generator_key=fg_generator_clip=fg_generator_mode=-1; + fg_generator_key = fg_generator_clip = fg_generator_mode = -1; } - if (fg_modeswitch) mainw->num_tr_applied=num_tr_applied; - key_to_instance[hotkey][key_modes[hotkey]]=NULL; + if (fg_modeswitch) mainw->num_tr_applied = num_tr_applied; + key_to_instance[hotkey][key_modes[hotkey]] = NULL; - if (mainw->playing_file==-1) { - int current_file=mainw->current_file; - switch_to_file(mainw->current_file=0,current_file); + if (mainw->playing_file == -1) { + int current_file = mainw->current_file; + switch_to_file(mainw->current_file = 0, current_file); } - mainw->error=TRUE; + mainw->error = TRUE; return FALSE; } // weed_generator_start can change the instance - new_instance=key_to_instance[hotkey][key_modes[hotkey]]; + new_instance = key_to_instance[hotkey][key_modes[hotkey]]; // TODO - problem if modeswitch triggers playback // hence we do not allow mixing of generators and non-gens on the same key - if (fg_modeswitch) mainw->num_tr_applied=num_tr_applied; - if (fg_generator_key!=-1) { - mainw->rte|=(GU641<<fg_generator_key); - mainw->clip_switched=TRUE; + if (fg_modeswitch) mainw->num_tr_applied = num_tr_applied; + if (fg_generator_key != -1) { + mainw->rte |= (GU641 << fg_generator_key); + mainw->clip_switched = TRUE; } - if (bg_generator_key!=-1&&!fg_modeswitch) { - mainw->rte|=(GU641<<bg_generator_key); - if (hotkey<prefs->rte_keys_virtual) { - if (rte_window!=NULL) rtew_set_keych(bg_generator_key,TRUE); - if (mainw->ce_thumbs) ce_thumbs_set_keych(bg_generator_key,TRUE); + if (bg_generator_key != -1 && !fg_modeswitch) { + mainw->rte |= (GU641 << bg_generator_key); + if (hotkey < prefs->rte_keys_virtual) { + if (rte_window != NULL) rtew_set_keych(bg_generator_key, TRUE); + if (mainw->ce_thumbs) ce_thumbs_set_keych(bg_generator_key, TRUE); } } } - - if (rte_keys==hotkey) { - mainw->rte_keys=rte_keys; - mainw->blend_factor=weed_get_blend_factor(rte_keys); + if (rte_keys == hotkey) { + mainw->rte_keys = rte_keys; + mainw->blend_factor = weed_get_blend_factor(rte_keys); } // need to do this *before* calling append_filter_map_event - key_to_instance[hotkey][key_modes[hotkey]]=new_instance; + key_to_instance[hotkey][key_modes[hotkey]] = new_instance; - if (mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)&&(inc_count>0||outc_count==0)) { - uint64_t rteval,new_rte; + if (mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS) && (inc_count > 0 || + outc_count == 0)) { + uint64_t rteval, new_rte; // place this synchronous with the preceding frame pthread_mutex_lock(&mainw->event_list_mutex); - event_list=append_filter_init_event(mainw->event_list,mainw->currticks, - idx,-1,hotkey,new_instance); - if (mainw->event_list==NULL) mainw->event_list=event_list; - init_events[hotkey]=get_last_event(mainw->event_list); - ntracks=weed_leaf_num_elements(init_events[hotkey],WEED_LEAF_IN_TRACKS); - pchains[hotkey]=filter_init_add_pchanges(mainw->event_list,new_instance,init_events[hotkey],ntracks,0); - rteval=mainw->rte; - new_rte=GU641<<(hotkey); - if (!(rteval&new_rte)) rteval|=new_rte; + event_list = append_filter_init_event(mainw->event_list, mainw->currticks, + idx, -1, hotkey, new_instance); + if (mainw->event_list == NULL) mainw->event_list = event_list; + init_events[hotkey] = get_last_event(mainw->event_list); + ntracks = weed_leaf_num_elements(init_events[hotkey], WEED_LEAF_IN_TRACKS); + pchains[hotkey] = filter_init_add_pchanges(mainw->event_list, new_instance, init_events[hotkey], ntracks, 0); + rteval = mainw->rte; + new_rte = GU641 << (hotkey); + if (!(rteval & new_rte)) rteval |= new_rte; create_filter_map(rteval); // we create filter_map event_t * array with ordered effects - mainw->event_list=append_filter_map_event(mainw->event_list,mainw->currticks,filter_map); + mainw->event_list = append_filter_map_event(mainw->event_list, mainw->currticks, filter_map); pthread_mutex_unlock(&mainw->event_list_mutex); } if (is_audio_gen) { - mainw->agen_key=hotkey+1; - mainw->agen_needs_reinit=FALSE; + mainw->agen_key = hotkey + 1; + mainw->agen_needs_reinit = FALSE; - if (mainw->playing_file>0) { - if (mainw->whentostop==STOP_ON_AUD_END) mainw->whentostop=STOP_ON_VID_END; - if (prefs->audio_player==AUD_PLAYER_JACK) { + if (mainw->playing_file > 0) { + if (mainw->whentostop == STOP_ON_AUD_END) mainw->whentostop = STOP_ON_VID_END; + if (prefs->audio_player == AUD_PLAYER_JACK) { #ifdef ENABLE_JACK - if (mainw->jackd_read!=NULL&&mainw->jackd_read->in_use&& - (mainw->jackd_read->playing_file==-1||mainw->jackd_read->playing_file==mainw->ascrap_file)) { + if (mainw->jackd_read != NULL && mainw->jackd_read->in_use && + (mainw->jackd_read->playing_file == -1 || mainw->jackd_read->playing_file == mainw->ascrap_file)) { // if playing external audio, switch over to internal for an audio gen - mainw->jackd->audio_ticks=mainw->currticks; - mainw->jackd->frames_written=0; + mainw->jackd->audio_ticks = mainw->currticks; + mainw->jackd->frames_written = 0; // close the reader - jack_rec_audio_end(!(prefs->perm_audio_reader&&prefs->audio_src==AUDIO_SRC_EXT),FALSE); + jack_rec_audio_end(!(prefs->perm_audio_reader && prefs->audio_src == AUDIO_SRC_EXT), FALSE); } - if (mainw->jackd!=NULL&&(mainw->jackd_read==NULL||!mainw->jackd_read->in_use)) { - + if (mainw->jackd != NULL && (mainw->jackd_read == NULL || !mainw->jackd_read->in_use)) { // enable writer - mainw->jackd->in_use=TRUE; + mainw->jackd->in_use = TRUE; } #endif } - if (prefs->audio_player==AUD_PLAYER_PULSE) { + if (prefs->audio_player == AUD_PLAYER_PULSE) { #ifdef HAVE_PULSE_AUDIO - if (mainw->pulsed_read!=NULL&&mainw->pulsed_read->in_use&& - (mainw->pulsed_read->playing_file==-1||mainw->pulsed_read->playing_file==mainw->ascrap_file)) { + if (mainw->pulsed_read != NULL && mainw->pulsed_read->in_use && + (mainw->pulsed_read->playing_file == -1 || mainw->pulsed_read->playing_file == mainw->ascrap_file)) { // if playing external audio, switch over to internal for an audio gen - mainw->pulsed->audio_ticks=mainw->currticks; - mainw->pulsed->frames_written=0; - pulse_rec_audio_end(!(prefs->perm_audio_reader&&prefs->audio_src==AUDIO_SRC_EXT),FALSE); + mainw->pulsed->audio_ticks = mainw->currticks; + mainw->pulsed->frames_written = 0; + pulse_rec_audio_end(!(prefs->perm_audio_reader && prefs->audio_src == AUDIO_SRC_EXT), FALSE); } - if (mainw->pulsed!=NULL&&(mainw->pulsed_read==NULL||!mainw->pulsed_read->in_use)) { - mainw->pulsed->in_use=TRUE; + if (mainw->pulsed != NULL && (mainw->pulsed_read == NULL || !mainw->pulsed_read->in_use)) { + mainw->pulsed->in_use = TRUE; } #endif } - if (mainw->playing_file>0&&mainw->record&&!mainw->record_paused&&prefs->audio_src!=AUDIO_SRC_EXT&&(prefs->rec_opts&REC_AUDIO)) { + if (mainw->playing_file > 0 && mainw->record && !mainw->record_paused && prefs->audio_src != AUDIO_SRC_EXT && + (prefs->rec_opts & REC_AUDIO)) { // if recording audio, open ascrap file and add audio event - mainw->record=FALSE; - on_record_perf_activate(NULL,NULL); - mainw->record_starting=FALSE; - mainw->record=TRUE; - if (prefs->audio_player==AUD_PLAYER_PULSE) { + mainw->record = FALSE; + on_record_perf_activate(NULL, NULL); + mainw->record_starting = FALSE; + mainw->record = TRUE; + if (prefs->audio_player == AUD_PLAYER_PULSE) { #ifdef HAVE_PULSE_AUDIO - mainw->pulsed->audio_ticks=mainw->currticks; - mainw->pulsed->frames_written=0; + mainw->pulsed->audio_ticks = mainw->currticks; + mainw->pulsed->frames_written = 0; #endif } - if (prefs->audio_player==AUD_PLAYER_JACK) { + if (prefs->audio_player == AUD_PLAYER_JACK) { #ifdef ENABLE_JACK - mainw->jackd->audio_ticks=mainw->currticks; - mainw->jackd->frames_written=0; + mainw->jackd->audio_ticks = mainw->currticks; + mainw->jackd->frames_written = 0; #endif } @@ -7128,95 +6993,90 @@ } - - - int weed_call_init_func(weed_plant_t *inst) { - int error=0; + int error = 0; - weed_plant_t *filter=weed_instance_get_filter(inst,FALSE); - if (weed_plant_has_leaf(filter,WEED_LEAF_INIT_FUNC)) { + weed_plant_t *filter = weed_instance_get_filter(inst, FALSE); + if (weed_plant_has_leaf(filter, WEED_LEAF_INIT_FUNC)) { weed_init_f *init_func_ptr_ptr; weed_init_f init_func; - weed_leaf_get(filter,WEED_LEAF_INIT_FUNC,0,(void *)&init_func_ptr_ptr); - init_func=init_func_ptr_ptr[0]; + weed_leaf_get(filter, WEED_LEAF_INIT_FUNC, 0, (void *)&init_func_ptr_ptr); + init_func = init_func_ptr_ptr[0]; update_host_info(inst); - if (init_func!=NULL) { - char *cwd=cd_to_plugin_dir(filter); + if (init_func != NULL) { + char *cwd = cd_to_plugin_dir(filter); set_param_gui_readwrite(inst); - error=(*init_func)(inst); + error = (*init_func)(inst); set_param_gui_readonly(inst); - lives_chdir(cwd,FALSE); + lives_chdir(cwd, FALSE); lives_free(cwd); } } - weed_set_boolean_value(inst,WEED_LEAF_HOST_INITED,WEED_TRUE); + weed_set_boolean_value(inst, WEED_LEAF_HOST_INITED, WEED_TRUE); return error; } int weed_call_deinit_func(weed_plant_t *instance) { - int error=0; + int error = 0; - weed_plant_t *filter=weed_instance_get_filter(instance,FALSE); - if (weed_plant_has_leaf(instance,WEED_LEAF_HOST_INITED)&& - weed_get_boolean_value(instance,WEED_LEAF_HOST_INITED,&error)==WEED_FALSE) return 1; - if (weed_plant_has_leaf(filter,WEED_LEAF_DEINIT_FUNC)) { + weed_plant_t *filter = weed_instance_get_filter(instance, FALSE); + if (weed_plant_has_leaf(instance, WEED_LEAF_HOST_INITED) && + weed_get_boolean_value(instance, WEED_LEAF_HOST_INITED, &error) == WEED_FALSE) return 1; + if (weed_plant_has_leaf(filter, WEED_LEAF_DEINIT_FUNC)) { weed_deinit_f *deinit_func_ptr_ptr; weed_deinit_f deinit_func; - weed_leaf_get(filter,WEED_LEAF_DEINIT_FUNC,0,(void *)&deinit_func_ptr_ptr); - deinit_func=deinit_func_ptr_ptr[0]; - if (deinit_func!=NULL) { - char *cwd=cd_to_plugin_dir(filter); - error=(*deinit_func)(instance); - lives_chdir(cwd,FALSE); + weed_leaf_get(filter, WEED_LEAF_DEINIT_FUNC, 0, (void *)&deinit_func_ptr_ptr); + deinit_func = deinit_func_ptr_ptr[0]; + if (deinit_func != NULL) { + char *cwd = cd_to_plugin_dir(filter); + error = (*deinit_func)(instance); + lives_chdir(cwd, FALSE); lives_free(cwd); } } - weed_set_boolean_value(instance,WEED_LEAF_HOST_INITED,WEED_FALSE); + weed_set_boolean_value(instance, WEED_LEAF_HOST_INITED, WEED_FALSE); return error; } - - void weed_deinit_effect(int hotkey) { // mainw->osc_block should be set before calling this function ! // caller should also handle mainw->rte - weed_plant_t *instance,*inst,*last_inst,*next_inst,*filter; + weed_plant_t *instance, *inst, *last_inst, *next_inst, *filter; - boolean is_modeswitch=FALSE; - boolean was_transition=FALSE; - boolean is_audio_gen=FALSE; - int num_in_chans,num_out_chans; + boolean is_modeswitch = FALSE; + boolean was_transition = FALSE; + boolean is_audio_gen = FALSE; + int num_in_chans, num_out_chans; int error; - if (hotkey<0) { - is_modeswitch=TRUE; - hotkey=-hotkey-1; + if (hotkey < 0) { + is_modeswitch = TRUE; + hotkey = -hotkey - 1; } - if (hotkey>=FX_KEYS_MAX) return; + if (hotkey >= FX_KEYS_MAX) return; - if ((instance=key_to_instance[hotkey][key_modes[hotkey]])==NULL) return; + if ((instance = key_to_instance[hotkey][key_modes[hotkey]]) == NULL) return; - num_in_chans=enabled_in_channels(instance,FALSE); + num_in_chans = enabled_in_channels(instance, FALSE); // handle compound fx - last_inst=instance; - while (weed_plant_has_leaf(last_inst,WEED_LEAF_HOST_NEXT_INSTANCE)) last_inst=weed_get_plantptr_value(last_inst, - WEED_LEAF_HOST_NEXT_INSTANCE,&error); - num_out_chans=enabled_out_channels(last_inst,FALSE); + last_inst = instance; + while (weed_plant_has_leaf(last_inst, WEED_LEAF_HOST_NEXT_INSTANCE)) last_inst = weed_get_plantptr_value(last_inst, + WEED_LEAF_HOST_NEXT_INSTANCE, &error); + num_out_chans = enabled_out_channels(last_inst, FALSE); - if (hotkey+1==mainw->agen_key) is_audio_gen=TRUE; + if (hotkey + 1 == mainw->agen_key) is_audio_gen = TRUE; - filter=weed_instance_get_filter(instance,TRUE); - if ((num_in_chans==0||all_ins_alpha(filter,TRUE))&&num_out_chans>0&&!is_audio_gen&&!all_outs_alpha(filter,TRUE)) { + filter = weed_instance_get_filter(instance, TRUE); + if ((num_in_chans == 0 || all_ins_alpha(filter, TRUE)) && num_out_chans > 0 && !is_audio_gen && !all_outs_alpha(filter, TRUE)) { // is (video) generator - if (mainw->playing_file>-1&&mainw->whentostop==STOP_ON_VID_END&&(hotkey!=bg_generator_key)) { - mainw->cancelled=CANCEL_GENERATOR_END; + if (mainw->playing_file > -1 && mainw->whentostop == STOP_ON_VID_END && (hotkey != bg_generator_key)) { + mainw->cancelled = CANCEL_GENERATOR_END; } else { weed_generator_end(instance); } @@ -7227,111 +7087,109 @@ // is audio generator // wait for current processing to finish pthread_mutex_lock(&mainw->interp_mutex); - mainw->agen_key=0; + mainw->agen_key = 0; pthread_mutex_unlock(&mainw->interp_mutex); - mainw->agen_samps_count=0; - + mainw->agen_samps_count = 0; // for external audio, switch back to reading - if (mainw->playing_file>0&&prefs->audio_src==AUDIO_SRC_EXT) { - if (prefs->audio_player==AUD_PLAYER_JACK) { + if (mainw->playing_file > 0 && prefs->audio_src == AUDIO_SRC_EXT) { + if (prefs->audio_player == AUD_PLAYER_JACK) { #ifdef ENABLE_JACK - if (mainw->jackd_read==NULL||!mainw->jackd_read->in_use) { - mainw->jackd->in_use=FALSE; // deactivate writer - jack_rec_audio_to_clip(-1,0,(lives_rec_audio_type_t)0); //activate reader - mainw->jackd_read->frames_written+=mainw->jackd->frames_written; // ensure time continues monotonically - if (mainw->record) mainw->jackd->playing_file=mainw->ascrap_file; // if recording, continue to write to + if (mainw->jackd_read == NULL || !mainw->jackd_read->in_use) { + mainw->jackd->in_use = FALSE; // deactivate writer + jack_rec_audio_to_clip(-1, 0, (lives_rec_audio_type_t)0); //activate reader + mainw->jackd_read->frames_written += mainw->jackd->frames_written; // ensure time continues monotonically + if (mainw->record) mainw->jackd->playing_file = mainw->ascrap_file; // if recording, continue to write to } #endif } - if (prefs->audio_player==AUD_PLAYER_PULSE) { + if (prefs->audio_player == AUD_PLAYER_PULSE) { #ifdef HAVE_PULSE_AUDIO - if (mainw->pulsed_read==NULL||!mainw->pulsed_read->in_use) { - mainw->pulsed->in_use=FALSE; // deactivate writer - pulse_rec_audio_to_clip(-1,0,(lives_rec_audio_type_t)0); //activate reader - mainw->pulsed_read->frames_written+=mainw->pulsed->frames_written; // ensure time continues monotonically - if (mainw->record) mainw->pulsed->playing_file=mainw->ascrap_file; // if recording, continue to write to + if (mainw->pulsed_read == NULL || !mainw->pulsed_read->in_use) { + mainw->pulsed->in_use = FALSE; // deactivate writer + pulse_rec_audio_to_clip(-1, 0, (lives_rec_audio_type_t)0); //activate reader + mainw->pulsed_read->frames_written += mainw->pulsed->frames_written; // ensure time continues monotonically + if (mainw->record) mainw->pulsed->playing_file = mainw->ascrap_file; // if recording, continue to write to } #endif } - } else if (mainw->playing_file>0) { + } else if (mainw->playing_file > 0) { // for internal, continue where we should if (is_realtime_aplayer(prefs->audio_player)) { - if (prefs->audio_opts&AUDIO_OPTS_FOLLOW_CLIPS) switch_audio_clip(mainw->playing_file,TRUE); - else switch_audio_clip(mainw->pre_src_audio_file,TRUE); + if (prefs->audio_opts & AUDIO_OPTS_FOLLOW_CLIPS) switch_audio_clip(mainw->playing_file, TRUE); + else switch_audio_clip(mainw->pre_src_audio_file, TRUE); } } } filter_mutex_lock(hotkey); - key_to_instance[hotkey][key_modes[hotkey]]=NULL; + key_to_instance[hotkey][key_modes[hotkey]] = NULL; filter_mutex_unlock(hotkey); - if (mainw->whentostop==STOP_ON_VID_END&&mainw->current_file>-1&& - (cfile->frames==0||(mainw->loop&&cfile->achans>0&&!mainw->is_rendering&&(mainw->audio_end/cfile->fps) - <MAX(cfile->laudio_time,cfile->raudio_time)))) mainw->whentostop=STOP_ON_AUD_END; + if (mainw->whentostop == STOP_ON_VID_END && mainw->current_file > -1 && + (cfile->frames == 0 || (mainw->loop && cfile->achans > 0 && !mainw->is_rendering && (mainw->audio_end / cfile->fps) + < MAX(cfile->laudio_time, cfile->raudio_time)))) mainw->whentostop = STOP_ON_AUD_END; - if (num_in_chans==2) { - was_transition=TRUE; + if (num_in_chans == 2) { + was_transition = TRUE; mainw->num_tr_applied--; - if (mainw->num_tr_applied==0) { + if (mainw->num_tr_applied == 0) { if (mainw->ce_thumbs) ce_thumbs_liberate_clip_area_register(SCREEN_AREA_FOREGROUND); - if (mainw->active_sa_clips==SCREEN_AREA_BACKGROUND) { - mainw->active_sa_clips=SCREEN_AREA_FOREGROUND; + if (mainw->active_sa_clips == SCREEN_AREA_BACKGROUND) { + mainw->active_sa_clips = SCREEN_AREA_FOREGROUND; } } } - inst=instance; + inst = instance; deinit3: - if (weed_plant_has_leaf(inst,WEED_LEAF_HOST_NEXT_INSTANCE)) next_inst=weed_get_plantptr_value(inst,WEED_LEAF_HOST_NEXT_INSTANCE,&error); - else next_inst=NULL; + if (weed_plant_has_leaf(inst, WEED_LEAF_HOST_NEXT_INSTANCE)) next_inst = weed_get_plantptr_value(inst, WEED_LEAF_HOST_NEXT_INSTANCE, + &error); + else next_inst = NULL; weed_call_deinit_func(inst); weed_instance_unref(inst); - if (next_inst!=NULL) { + if (next_inst != NULL) { // handle compound fx - inst=next_inst; + inst = next_inst; goto deinit3; } - // if the param window is already open, show any reinits now - if (fx_dialog[1]!=NULL&&LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"key"))==hotkey&& - LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"mode"))==key_modes[hotkey]) { - redraw_pwindow(hotkey,key_modes[hotkey]); + if (fx_dialog[1] != NULL && LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "key")) == hotkey && + LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "mode")) == key_modes[hotkey]) { + redraw_pwindow(hotkey, key_modes[hotkey]); } - - if (was_transition&&!is_modeswitch) { - if (mainw->num_tr_applied<1) { - if (bg_gen_to_start!=-1) bg_gen_to_start=-1; - if (mainw->blend_file!=-1&&mainw->blend_file!=mainw->current_file&&mainw->files[mainw->blend_file]!=NULL&& - mainw->files[mainw->blend_file]->clip_type==CLIP_TYPE_GENERATOR) { + if (was_transition && !is_modeswitch) { + if (mainw->num_tr_applied < 1) { + if (bg_gen_to_start != -1) bg_gen_to_start = -1; + if (mainw->blend_file != -1 && mainw->blend_file != mainw->current_file && mainw->files[mainw->blend_file] != NULL && + mainw->files[mainw->blend_file]->clip_type == CLIP_TYPE_GENERATOR) { // all transitions off, so end the bg generator weed_generator_end((weed_plant_t *)mainw->files[mainw->blend_file]->ext_src); } - mainw->blend_file=-1; + mainw->blend_file = -1; } } - if (mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&init_events[hotkey]!=NULL&& - (prefs->rec_opts&REC_EFFECTS)&&num_in_chans>0) { - uint64_t rteval,new_rte; + if (mainw->record && !mainw->record_paused && mainw->playing_file > -1 && init_events[hotkey] != NULL && + (prefs->rec_opts & REC_EFFECTS) && num_in_chans > 0) { + uint64_t rteval, new_rte; // place this synchronous with the preceding frame pthread_mutex_lock(&mainw->event_list_mutex); - mainw->event_list=append_filter_deinit_event(mainw->event_list,mainw->currticks,init_events[hotkey],pchains[hotkey]); - init_events[hotkey]=NULL; - if (pchains[hotkey]!=NULL) lives_free(pchains[hotkey]); - pchains[hotkey]=NULL; - rteval=mainw->rte; - new_rte=GU641<<(hotkey); - if (rteval&new_rte) rteval^=new_rte; + mainw->event_list = append_filter_deinit_event(mainw->event_list, mainw->currticks, init_events[hotkey], pchains[hotkey]); + init_events[hotkey] = NULL; + if (pchains[hotkey] != NULL) lives_free(pchains[hotkey]); + pchains[hotkey] = NULL; + rteval = mainw->rte; + new_rte = GU641 << (hotkey); + if (rteval & new_rte) rteval ^= new_rte; create_filter_map(rteval); // we create filter_map event_t * array with ordered effects - mainw->event_list=append_filter_map_event(mainw->event_list,mainw->currticks,filter_map); + mainw->event_list = append_filter_map_event(mainw->event_list, mainw->currticks, filter_map); pthread_mutex_unlock(&mainw->event_list_mutex); } } @@ -7342,12 +7200,12 @@ // here we deinit all active ones, similar to weed_deinit_all, but we use higher keys register int i; - for (i=FX_KEYS_MAX_VIRTUAL; i<FX_KEYS_MAX; i++) { - if (key_to_instance[i][0]!=NULL) { + for (i = FX_KEYS_MAX_VIRTUAL; i < FX_KEYS_MAX; i++) { + if (key_to_instance[i][0] != NULL) { weed_deinit_effect(i); - if (mainw->multitrack!=NULL&&mainw->multitrack->is_rendering&&pchains[i]!=NULL) { + if (mainw->multitrack != NULL && mainw->multitrack->is_rendering && pchains[i] != NULL) { lives_free(pchains[i]); - pchains[i]=NULL; + pchains[i] = NULL; } } } @@ -7363,39 +7221,38 @@ int i; weed_plant_t *instance; - mainw->osc_block=TRUE; - if (rte_window!=NULL) { + mainw->osc_block = TRUE; + if (rte_window != NULL) { rtew_set_keygr(-1); } - mainw->rte_keys=-1; - mainw->last_grabbable_effect=-1; + mainw->rte_keys = -1; + mainw->last_grabbable_effect = -1; - for (i=0; i<FX_KEYS_MAX_VIRTUAL; i++) { - if (rte_key_valid(i+1,TRUE)) { - if (rte_window!=NULL) rtew_set_keych(i,FALSE); - if (mainw->ce_thumbs) ce_thumbs_set_keych(i,FALSE); - } - if ((mainw->rte&(GU641<<i))) { - if ((instance=key_to_instance[i][key_modes[i]])!=NULL) { - if (shutdown||mainw->playing_file==-1||(enabled_in_channels(instance,FALSE)>0)) { + for (i = 0; i < FX_KEYS_MAX_VIRTUAL; i++) { + if (rte_key_valid(i + 1, TRUE)) { + if (rte_window != NULL) rtew_set_keych(i, FALSE); + if (mainw->ce_thumbs) ce_thumbs_set_keych(i, FALSE); + } + if ((mainw->rte & (GU641 << i))) { + if ((instance = key_to_instance[i][key_modes[i]]) != NULL) { + if (shutdown || mainw->playing_file == -1 || (enabled_in_channels(instance, FALSE) > 0)) { weed_deinit_effect(i); - mainw->rte^=(GU641<<i); + mainw->rte ^= (GU641 << i); } } } } - mainw->osc_block=FALSE; + mainw->osc_block = FALSE; } ///////////////////// // special handling for generators (sources) - weed_plant_t *weed_layer_new_from_generator(weed_plant_t *inst, weed_timecode_t tc) { - weed_plant_t *channel,**out_channels; + weed_plant_t *channel, **out_channels; weed_plant_t *filter; weed_plant_t *chantmpl; weed_plant_t *achan; @@ -7408,154 +7265,151 @@ int error; int flags; int palette; - int filter_flags=0; - int key=-1; - int num_in_alpha=0; - int width,height; + int filter_flags = 0; + int key = -1; + int num_in_alpha = 0; + int width, height; register int i; - boolean did_thread=FALSE; - boolean needs_reinit=FALSE; + boolean did_thread = FALSE; + boolean needs_reinit = FALSE; char *cwd; - if (inst==NULL) return NULL; + if (inst == NULL) return NULL; - if ((num_channels=weed_leaf_num_elements(inst,WEED_LEAF_OUT_CHANNELS))==0) return NULL; - out_channels=weed_get_plantptr_array(inst,WEED_LEAF_OUT_CHANNELS,&error); + if ((num_channels = weed_leaf_num_elements(inst, WEED_LEAF_OUT_CHANNELS)) == 0) return NULL; + out_channels = weed_get_plantptr_array(inst, WEED_LEAF_OUT_CHANNELS, &error); - if ((channel=get_enabled_channel(inst,0,FALSE))==NULL) { + if ((channel = get_enabled_channel(inst, 0, FALSE)) == NULL) { lives_free(out_channels); return NULL; } - chantmpl=weed_get_plantptr_value(channel,WEED_LEAF_TEMPLATE,&error); + chantmpl = weed_get_plantptr_value(channel, WEED_LEAF_TEMPLATE, &error); - palette=weed_get_int_value(chantmpl,WEED_LEAF_CURRENT_PALETTE,&error); - weed_set_int_value(channel,WEED_LEAF_CURRENT_PALETTE,palette); + palette = weed_get_int_value(chantmpl, WEED_LEAF_CURRENT_PALETTE, &error); + weed_set_int_value(channel, WEED_LEAF_CURRENT_PALETTE, palette); - create_empty_pixel_data(channel,FALSE,TRUE); + create_empty_pixel_data(channel, FALSE, TRUE); // align memory if necessary - if (weed_plant_has_leaf(chantmpl,WEED_LEAF_ALIGNMENT)) { - int alignment=weed_get_int_value(chantmpl,WEED_LEAF_ALIGNMENT,&error); - align_pixel_data(channel,alignment); + if (weed_plant_has_leaf(chantmpl, WEED_LEAF_ALIGNMENT)) { + int alignment = weed_get_int_value(chantmpl, WEED_LEAF_ALIGNMENT, &error); + align_pixel_data(channel, alignment); } - - if (weed_plant_has_leaf(inst,WEED_LEAF_IN_CHANNELS)) { - int num_inc=weed_leaf_num_elements(inst,WEED_LEAF_IN_CHANNELS); - weed_plant_t **in_channels=weed_get_plantptr_array(inst,WEED_LEAF_IN_CHANNELS,&error); - for (i=0; i<num_inc; i++) { - if (weed_palette_is_alpha_palette(weed_get_int_value(in_channels[i],WEED_LEAF_CURRENT_PALETTE,&error))&& - !(weed_plant_has_leaf(in_channels[i],WEED_LEAF_DISABLED) && - weed_get_boolean_value(in_channels[i],WEED_LEAF_DISABLED,&error)==WEED_TRUE)) + if (weed_plant_has_leaf(inst, WEED_LEAF_IN_CHANNELS)) { + int num_inc = weed_leaf_num_elements(inst, WEED_LEAF_IN_CHANNELS); + weed_plant_t **in_channels = weed_get_plantptr_array(inst, WEED_LEAF_IN_CHANNELS, &error); + for (i = 0; i < num_inc; i++) { + if (weed_palette_is_alpha_palette(weed_get_int_value(in_channels[i], WEED_LEAF_CURRENT_PALETTE, &error)) && + !(weed_plant_has_leaf(in_channels[i], WEED_LEAF_DISABLED) && + weed_get_boolean_value(in_channels[i], WEED_LEAF_DISABLED, &error) == WEED_TRUE)) num_in_alpha++; } weed_free(in_channels); } - if (num_in_alpha>0) { + if (num_in_alpha > 0) { // if we have mandatory alpha ins, make sure they are filled - retval=check_cconx(inst,num_in_alpha,&needs_reinit); + retval = check_cconx(inst, num_in_alpha, &needs_reinit); - if (retval!=FILTER_NO_ERROR) { + if (retval != FILTER_NO_ERROR) { lives_free(out_channels); return channel; } if (needs_reinit) { - if ((retval=weed_reinit_effect(inst,FALSE))==FILTER_ERROR_COULD_NOT_REINIT) { + if ((retval = weed_reinit_effect(inst, FALSE)) == FILTER_ERROR_COULD_NOT_REINIT) { lives_free(out_channels); return channel; } } // check out channel sizes, they may be wrong now - channel=get_enabled_channel(inst,0,TRUE); + channel = get_enabled_channel(inst, 0, TRUE); - width=weed_get_int_value(channel,WEED_LEAF_WIDTH,&error); - height=weed_get_int_value(channel,WEED_LEAF_HEIGHT,&error); + width = weed_get_int_value(channel, WEED_LEAF_WIDTH, &error); + height = weed_get_int_value(channel, WEED_LEAF_HEIGHT, &error); - for (i=0; (channel=get_enabled_channel(inst,i,FALSE))!=NULL; i++) { - if (width!=weed_get_int_value(channel,WEED_LEAF_WIDTH,&error)||height!=weed_get_int_value(channel,WEED_LEAF_HEIGHT,&error)) { + for (i = 0; (channel = get_enabled_channel(inst, i, FALSE)) != NULL; i++) { + if (width != weed_get_int_value(channel, WEED_LEAF_WIDTH, &error) || height != weed_get_int_value(channel, WEED_LEAF_HEIGHT, &error)) { weed_layer_pixel_data_free(channel); - weed_set_int_value(channel,WEED_LEAF_WIDTH,width); - weed_set_int_value(channel,WEED_LEAF_HEIGHT,height); - if (i==0&&mainw->current_file==mainw->playing_file) { - cfile->hsize=width; - cfile->vsize=height; - set_main_title(cfile->file_name,0); + weed_set_int_value(channel, WEED_LEAF_WIDTH, width); + weed_set_int_value(channel, WEED_LEAF_HEIGHT, height); + if (i == 0 && mainw->current_file == mainw->playing_file) { + cfile->hsize = width; + cfile->vsize = height; + set_main_title(cfile->file_name, 0); } - create_empty_pixel_data(channel,FALSE,TRUE); + create_empty_pixel_data(channel, FALSE, TRUE); } } - channel=get_enabled_channel(inst,0,FALSE); - + channel = get_enabled_channel(inst, 0, FALSE); } - // if we have an optional audio channel, we can push audio to it - if ((achan=get_enabled_audio_channel(inst,0,TRUE))!=NULL) { - if (mainw->audio_frame_buffer!=NULL&&mainw->audio_frame_buffer->samples_filled>0) { + if ((achan = get_enabled_audio_channel(inst, 0, TRUE)) != NULL) { + if (mainw->audio_frame_buffer != NULL && mainw->audio_frame_buffer->samples_filled > 0) { // lock the buffer, convert audio to format requested, and copy it to the audio channel data pthread_mutex_lock(&mainw->abuf_frame_mutex); - if (mainw->audio_frame_buffer!=NULL) { - push_audio_to_channel(achan,mainw->audio_frame_buffer); + if (mainw->audio_frame_buffer != NULL) { + push_audio_to_channel(achan, mainw->audio_frame_buffer); free_audio_frame_buffer(mainw->audio_frame_buffer); // TODO: this needs reimplementing to handle the case where we have fg and bg gens } pthread_mutex_unlock(&mainw->abuf_frame_mutex); } else { // no audio has been buffered - weed_set_int_value(achan,WEED_LEAF_AUDIO_DATA_LENGTH,0); - weed_set_voidptr_value(achan,WEED_LEAF_AUDIO_DATA,NULL); + weed_set_int_value(achan, WEED_LEAF_AUDIO_DATA_LENGTH, 0); + weed_set_voidptr_value(achan, WEED_LEAF_AUDIO_DATA, NULL); } } - weed_set_double_value(inst,WEED_LEAF_FPS,cfile->pb_fps); + weed_set_double_value(inst, WEED_LEAF_FPS, cfile->pb_fps); - filter=weed_instance_get_filter(inst,FALSE); - cwd=cd_to_plugin_dir(filter); + filter = weed_instance_get_filter(inst, FALSE); + cwd = cd_to_plugin_dir(filter); - if (weed_plant_has_leaf(inst,WEED_LEAF_HOST_KEY)) key=weed_get_int_value(inst,WEED_LEAF_HOST_KEY,&error); + if (weed_plant_has_leaf(inst, WEED_LEAF_HOST_KEY)) key = weed_get_int_value(inst, WEED_LEAF_HOST_KEY, &error); // see if we can multithread - if ((prefs->nfx_threads=future_prefs->nfx_threads)>1 && weed_plant_has_leaf(filter,WEED_LEAF_FLAGS)) - filter_flags=weed_get_int_value(filter,WEED_LEAF_FLAGS,&error); + if ((prefs->nfx_threads = future_prefs->nfx_threads) > 1 && weed_plant_has_leaf(filter, WEED_LEAF_FLAGS)) + filter_flags = weed_get_int_value(filter, WEED_LEAF_FLAGS, &error); - if (filter_flags&WEED_FILTER_HINT_MAY_THREAD) { + if (filter_flags & WEED_FILTER_HINT_MAY_THREAD) { filter_mutex_lock(key); - retval=process_func_threaded(inst,out_channels,tc); + retval = process_func_threaded(inst, out_channels, tc); filter_mutex_unlock(key); - if (retval!=FILTER_ERROR_DONT_THREAD) did_thread=TRUE; + if (retval != FILTER_ERROR_DONT_THREAD) did_thread = TRUE; } if (!did_thread) { // normal single threaded version - weed_leaf_get(filter,WEED_LEAF_PROCESS_FUNC,0,(void *)&process_func_ptr_ptr); - process_func=process_func_ptr_ptr[0]; + weed_leaf_get(filter, WEED_LEAF_PROCESS_FUNC, 0, (void *)&process_func_ptr_ptr); + process_func = process_func_ptr_ptr[0]; filter_mutex_lock(key); - (*process_func)(inst,tc); + (*process_func)(inst, tc); filter_mutex_unlock(key); } lives_free(out_channels); - if (achan!=NULL) { - void *abuf=weed_get_voidptr_value(achan,WEED_LEAF_AUDIO_DATA,&error); + if (achan != NULL) { + void *abuf = weed_get_voidptr_value(achan, WEED_LEAF_AUDIO_DATA, &error); lives_freep((void **)&abuf); } - lives_chdir(cwd,FALSE); + lives_chdir(cwd, FALSE); lives_free(cwd); - chantmpl=weed_get_plantptr_value(channel,WEED_LEAF_TEMPLATE,&error); + chantmpl = weed_get_plantptr_value(channel, WEED_LEAF_TEMPLATE, &error); - if (weed_plant_has_leaf(chantmpl,WEED_LEAF_FLAGS)) flags=weed_get_int_value(chantmpl,WEED_LEAF_FLAGS,&error); - else flags=0; + if (weed_plant_has_leaf(chantmpl, WEED_LEAF_FLAGS)) flags = weed_get_int_value(chantmpl, WEED_LEAF_FLAGS, &error); + else flags = 0; - if (flags&WEED_CHANNEL_OUT_ALPHA_PREMULT) weed_set_int_value(channel,WEED_LEAF_FLAGS,WEED_CHANNEL_ALPHA_PREMULT); + if (flags & WEED_CHANNEL_OUT_ALPHA_PREMULT) weed_set_int_value(channel, WEED_LEAF_FLAGS, WEED_CHANNEL_ALPHA_PREMULT); return channel; } @@ -7567,446 +7421,439 @@ // cf. yuv4mpeg.c // start "playing" but receive frames from a plugin - weed_plant_t **out_channels,*channel,*filter,*achan; + weed_plant_t **out_channels, *channel, *filter, *achan; char *filter_name; - int error,num_channels; - int old_file=mainw->current_file,blend_file=mainw->blend_file; + int error, num_channels; + int old_file = mainw->current_file, blend_file = mainw->blend_file; int palette; // create a virtual clip - int new_file=0; - boolean is_bg=FALSE; + int new_file = 0; + boolean is_bg = FALSE; - if (mainw->current_file<1||cfile->frames>0) { - new_file=mainw->first_free_file; + if (mainw->current_file < 1 || cfile->frames > 0) { + new_file = mainw->first_free_file; - if (new_file==-1) { + if (new_file == -1) { too_many_files(); return FALSE; } - if (mainw->current_file>-1&&cfile!=NULL&&cfile->clip_type==CLIP_TYPE_GENERATOR&&mainw->num_tr_applied==0) { + if (mainw->current_file > -1 && cfile != NULL && cfile->clip_type == CLIP_TYPE_GENERATOR && mainw->num_tr_applied == 0) { close_current_file(0); - old_file=-1; + old_file = -1; } } - if (mainw->is_processing&&!mainw->preview) return FALSE; + if (mainw->is_processing && !mainw->preview) return FALSE; - if ((mainw->preview||(mainw->current_file>-1&&cfile!=NULL&&cfile->opening))&& - (mainw->num_tr_applied==0||mainw->blend_file==-1||mainw->blend_file==mainw->current_file)) return FALSE; + if ((mainw->preview || (mainw->current_file > -1 && cfile != NULL && cfile->opening)) && + (mainw->num_tr_applied == 0 || mainw->blend_file == -1 || mainw->blend_file == mainw->current_file)) return FALSE; - if (mainw->playing_file==-1) mainw->pre_src_file=mainw->current_file; + if (mainw->playing_file == -1) mainw->pre_src_file = mainw->current_file; - if (old_file!=-1&&mainw->blend_file!=-1&&mainw->blend_file!=mainw->current_file&& - mainw->num_tr_applied>0&&mainw->files[mainw->blend_file]!=NULL&& - mainw->files[mainw->blend_file]->clip_type==CLIP_TYPE_GENERATOR) { + if (old_file != -1 && mainw->blend_file != -1 && mainw->blend_file != mainw->current_file && + mainw->num_tr_applied > 0 && mainw->files[mainw->blend_file] != NULL && + mainw->files[mainw->blend_file]->clip_type == CLIP_TYPE_GENERATOR) { weed_generator_end((weed_plant_t *)mainw->files[mainw->blend_file]->ext_src); - mainw->current_file=mainw->blend_file; + mainw->current_file = mainw->blend_file; } // old_file can also be -1 if we are doing a fg_modeswitch - if (old_file>-1&&mainw->playing_file>-1&&mainw->num_tr_applied>0) is_bg=TRUE; + if (old_file > -1 && mainw->playing_file > -1 && mainw->num_tr_applied > 0) is_bg = TRUE; - filter=weed_instance_get_filter(inst,FALSE); + filter = weed_instance_get_filter(inst, FALSE); - if (mainw->current_file>0&&cfile->frames==0) { + if (mainw->current_file > 0 && cfile->frames == 0) { // audio clip - we will init the generator as fg video in the same clip // otherwise known as "showoff mode" - new_file=mainw->current_file; - cfile->frames=1; - cfile->start=cfile->end=1; - cfile->clip_type=CLIP_TYPE_GENERATOR; - cfile->frameno=1; - mainw->play_start=mainw->play_end=1; - mainw->startticks=mainw->currticks; + new_file = mainw->current_file; + cfile->frames = 1; + cfile->start = cfile->end = 1; + cfile->clip_type = CLIP_TYPE_GENERATOR; + cfile->frameno = 1; + mainw->play_start = mainw->play_end = 1; + mainw->startticks = mainw->currticks; } - if (new_file!=mainw->current_file) { - mainw->current_file=new_file; + if (new_file != mainw->current_file) { + mainw->current_file = new_file; - cfile=(lives_clip_t *)(lives_malloc(sizeof(lives_clip_t))); - lives_snprintf(cfile->handle,256,"ephemeral%d",mainw->current_file); + cfile = (lives_clip_t *)(lives_malloc(sizeof(lives_clip_t))); + lives_snprintf(cfile->handle, 256, "ephemeral%d", mainw->current_file); create_cfile(); - cfile->clip_type=CLIP_TYPE_GENERATOR; + cfile->clip_type = CLIP_TYPE_GENERATOR; get_next_free_file(); - filter_name=weed_get_string_value(filter,WEED_LEAF_NAME,&error); - lives_snprintf(cfile->type,40,"generator:%s",filter_name); - lives_snprintf(cfile->file_name,PATH_MAX,"generator: %s",filter_name); - lives_snprintf(cfile->name,256,"generator: %s",filter_name); + filter_name = weed_get_string_value(filter, WEED_LEAF_NAME, &error); + lives_snprintf(cfile->type, 40, "generator:%s", filter_name); + lives_snprintf(cfile->file_name, PATH_MAX, "generator: %s", filter_name); + lives_snprintf(cfile->name, 256, "generator: %s", filter_name); lives_free(filter_name); - cfile->achans=0; - cfile->asampsize=0; + cfile->achans = 0; + cfile->asampsize = 0; // open as a clip with 1 frame - cfile->start=cfile->end=cfile->frames=1; - cfile->arps=cfile->arate=0; - cfile->changed=FALSE; + cfile->start = cfile->end = cfile->frames = 1; + cfile->arps = cfile->arate = 0; + cfile->changed = FALSE; } - cfile->ext_src=inst; + cfile->ext_src = inst; if (is_bg) { - mainw->blend_file=mainw->current_file; - if (mainw->ce_thumbs&&mainw->active_sa_clips==SCREEN_AREA_BACKGROUND) ce_thumbs_highlight_current_clip(); + mainw->blend_file = mainw->current_file; + if (mainw->ce_thumbs && mainw->active_sa_clips == SCREEN_AREA_BACKGROUND) ce_thumbs_highlight_current_clip(); } - if (!is_bg||old_file==-1||old_file==new_file) fg_generator_clip=new_file; + if (!is_bg || old_file == -1 || old_file == new_file) fg_generator_clip = new_file; - if (weed_plant_has_leaf(inst,WEED_LEAF_TARGET_FPS)) { + if (weed_plant_has_leaf(inst, WEED_LEAF_TARGET_FPS)) { // if plugin sets WEED_LEAF_TARGET_FPS for the instance we assume there is some special reason // and use that - cfile->pb_fps=cfile->fps=weed_get_double_value(inst,WEED_LEAF_TARGET_FPS,&error); + cfile->pb_fps = cfile->fps = weed_get_double_value(inst, WEED_LEAF_TARGET_FPS, &error); } else { - if (weed_plant_has_leaf(filter,WEED_LEAF_HOST_FPS)) cfile->pb_fps=cfile->fps=weed_get_double_value(filter,WEED_LEAF_HOST_FPS,&error); - else if (weed_plant_has_leaf(filter,WEED_LEAF_TARGET_FPS)) - cfile->pb_fps=cfile->fps=weed_get_double_value(filter,WEED_LEAF_TARGET_FPS,&error); + if (weed_plant_has_leaf(filter, WEED_LEAF_HOST_FPS)) cfile->pb_fps = cfile->fps = weed_get_double_value(filter, WEED_LEAF_HOST_FPS, &error); + else if (weed_plant_has_leaf(filter, WEED_LEAF_TARGET_FPS)) + cfile->pb_fps = cfile->fps = weed_get_double_value(filter, WEED_LEAF_TARGET_FPS, &error); else { - cfile->pb_fps=cfile->fps=prefs->default_fps; + cfile->pb_fps = cfile->fps = prefs->default_fps; } } - if ((num_channels=weed_leaf_num_elements(inst,WEED_LEAF_OUT_CHANNELS))==0) { + if ((num_channels = weed_leaf_num_elements(inst, WEED_LEAF_OUT_CHANNELS)) == 0) { close_current_file(mainw->pre_src_file); return FALSE; } - out_channels=weed_get_plantptr_array(inst,WEED_LEAF_OUT_CHANNELS,&error); - if ((channel=get_enabled_channel(inst,0,FALSE))==NULL) { + out_channels = weed_get_plantptr_array(inst, WEED_LEAF_OUT_CHANNELS, &error); + if ((channel = get_enabled_channel(inst, 0, FALSE)) == NULL) { lives_free(out_channels); close_current_file(mainw->pre_src_file); return FALSE; } lives_free(out_channels); - cfile->hsize=weed_get_int_value(channel,WEED_LEAF_WIDTH,&error); - cfile->vsize=weed_get_int_value(channel,WEED_LEAF_HEIGHT,&error); + cfile->hsize = weed_get_int_value(channel, WEED_LEAF_WIDTH, &error); + cfile->vsize = weed_get_int_value(channel, WEED_LEAF_HEIGHT, &error); - palette=weed_get_int_value(channel,WEED_LEAF_CURRENT_PALETTE,&error); - if (palette==WEED_PALETTE_RGBA32||palette==WEED_PALETTE_ARGB32||palette==WEED_PALETTE_BGRA32) cfile->bpp=32; - else cfile->bpp=24; + palette = weed_get_int_value(channel, WEED_LEAF_CURRENT_PALETTE, &error); + if (palette == WEED_PALETTE_RGBA32 || palette == WEED_PALETTE_ARGB32 || palette == WEED_PALETTE_BGRA32) cfile->bpp = 32; + else cfile->bpp = 24; - cfile->opening=FALSE; - cfile->proc_ptr=NULL; + cfile->opening = FALSE; + cfile->proc_ptr = NULL; // if the generator has an optional audio in channel, enable it: TODO - make this configurable - if ((achan=get_audio_channel_in(inst,0))!=NULL) { - if (weed_plant_has_leaf(achan,WEED_LEAF_DISABLED)) weed_leaf_delete(achan,WEED_LEAF_DISABLED); + if ((achan = get_audio_channel_in(inst, 0)) != NULL) { + if (weed_plant_has_leaf(achan, WEED_LEAF_DISABLED)) weed_leaf_delete(achan, WEED_LEAF_DISABLED); mainw->afbuffer_clients++; - if (mainw->afbuffer_clients==1) { + if (mainw->afbuffer_clients == 1) { pthread_mutex_lock(&mainw->abuf_frame_mutex); init_audio_frame_buffer(prefs->audio_player); pthread_mutex_unlock(&mainw->abuf_frame_mutex); } - } // allow clip switching - cfile->is_loaded=TRUE; + cfile->is_loaded = TRUE; // if not playing, start playing - if (mainw->playing_file==-1) { + if (mainw->playing_file == -1) { uint64_t new_rte; - if (!is_bg||old_file==-1||old_file==new_file) { - switch_to_file((mainw->current_file=old_file),new_file); - set_main_title(cfile->file_name,0); - mainw->play_start=1; - mainw->play_end=INT_MAX; + if (!is_bg || old_file == -1 || old_file == new_file) { + switch_to_file((mainw->current_file = old_file), new_file); + set_main_title(cfile->file_name, 0); + mainw->play_start = 1; + mainw->play_end = INT_MAX; if (is_bg) { - mainw->blend_file=mainw->current_file; - if (old_file!=-1) mainw->current_file=old_file; + mainw->blend_file = mainw->current_file; + if (old_file != -1) mainw->current_file = old_file; } } else { - mainw->blend_file=mainw->current_file; - mainw->current_file=old_file; - mainw->play_start=cfile->start; - mainw->play_end=cfile->end; - mainw->playing_sel=FALSE; + mainw->blend_file = mainw->current_file; + mainw->current_file = old_file; + mainw->play_start = cfile->start; + mainw->play_end = cfile->end; + mainw->playing_sel = FALSE; } - new_rte=GU641<<key; - if (!(mainw->rte&new_rte)) mainw->rte|=new_rte; + new_rte = GU641 << key; + if (!(mainw->rte & new_rte)) mainw->rte |= new_rte; - mainw->last_grabbable_effect=key; - if (rte_window!=NULL) rtew_set_keych(key,TRUE); + mainw->last_grabbable_effect = key; + if (rte_window != NULL) rtew_set_keych(key, TRUE); if (mainw->ce_thumbs) { - ce_thumbs_set_keych(key,TRUE); + ce_thumbs_set_keych(key, TRUE); // if effect was auto (from ACTIVATE data connection), leave all param boxes // otherwise, remove any which are not "pinned" - if (!mainw->fx_is_auto) ce_thumbs_add_param_box(key,!mainw->fx_is_auto); + if (!mainw->fx_is_auto) ce_thumbs_add_param_box(key, !mainw->fx_is_auto); } play_file(); // need to set this after playback ends; this stops the key from being activated (again) in effects.c - mainw->gen_started_play=TRUE; + mainw->gen_started_play = TRUE; - if (mainw->play_window!=NULL) { + if (mainw->play_window != NULL) { lives_widget_queue_draw(mainw->play_window); } } else { // already playing - if (old_file!=-1&&mainw->files[old_file]!=NULL) { - if (mainw->files[old_file]->clip_type==CLIP_TYPE_DISK||mainw->files[old_file]->clip_type==CLIP_TYPE_FILE) - mainw->pre_src_file=old_file; - mainw->current_file=old_file; + if (old_file != -1 && mainw->files[old_file] != NULL) { + if (mainw->files[old_file]->clip_type == CLIP_TYPE_DISK || mainw->files[old_file]->clip_type == CLIP_TYPE_FILE) + mainw->pre_src_file = old_file; + mainw->current_file = old_file; } - if (!is_bg||old_file==-1||old_file==new_file) { - if (mainw->current_file==-1) mainw->current_file=new_file; + if (!is_bg || old_file == -1 || old_file == new_file) { + if (mainw->current_file == -1) mainw->current_file = new_file; - if (new_file!=old_file) { + if (new_file != old_file) { do_quick_switch(new_file); // switch audio clip - if (is_realtime_aplayer(prefs->audio_player)&&(prefs->audio_opts&AUDIO_OPTS_FOLLOW_CLIPS) - &&!mainw->is_rendering&&(mainw->preview||!(mainw->agen_key!=0||prefs->audio_src==AUDIO_SRC_EXT))) { - switch_audio_clip(new_file,TRUE); + if (is_realtime_aplayer(prefs->audio_player) && (prefs->audio_opts & AUDIO_OPTS_FOLLOW_CLIPS) + && !mainw->is_rendering && (mainw->preview || !(mainw->agen_key != 0 || prefs->audio_src == AUDIO_SRC_EXT))) { + switch_audio_clip(new_file, TRUE); } - if (mainw->files[mainw->new_blend_file]!=NULL) mainw->blend_file=mainw->new_blend_file; - if (!is_bg&&blend_file!=-1&&mainw->files[blend_file]!=NULL) mainw->blend_file=blend_file; - mainw->new_blend_file=-1; + if (mainw->files[mainw->new_blend_file] != NULL) mainw->blend_file = mainw->new_blend_file; + if (!is_bg && blend_file != -1 && mainw->files[blend_file] != NULL) mainw->blend_file = blend_file; + mainw->new_blend_file = -1; } else { lives_widget_show(mainw->playframe); resize(1); } //if (old_file==-1) mainw->whentostop=STOP_ON_VID_END; } else { - if (mainw->current_file==-1) { - mainw->current_file=new_file; - if (is_realtime_aplayer(prefs->audio_player)&&(prefs->audio_opts&AUDIO_OPTS_FOLLOW_CLIPS) - &&!mainw->is_rendering&&(mainw->preview||!(mainw->agen_key!=0||prefs->audio_src==AUDIO_SRC_EXT))) { - switch_audio_clip(new_file,TRUE); + if (mainw->current_file == -1) { + mainw->current_file = new_file; + if (is_realtime_aplayer(prefs->audio_player) && (prefs->audio_opts & AUDIO_OPTS_FOLLOW_CLIPS) + && !mainw->is_rendering && (mainw->preview || !(mainw->agen_key != 0 || prefs->audio_src == AUDIO_SRC_EXT))) { + switch_audio_clip(new_file, TRUE); } - } else mainw->blend_file=new_file; - if (mainw->ce_thumbs&&(mainw->active_sa_clips==SCREEN_AREA_BACKGROUND||mainw->active_sa_clips==SCREEN_AREA_FOREGROUND)) + } else mainw->blend_file = new_file; + if (mainw->ce_thumbs && (mainw->active_sa_clips == SCREEN_AREA_BACKGROUND || mainw->active_sa_clips == SCREEN_AREA_FOREGROUND)) ce_thumbs_highlight_current_clip(); } - if (mainw->cancelled==CANCEL_GENERATOR_END) mainw->cancelled=CANCEL_NONE; - + if (mainw->cancelled == CANCEL_GENERATOR_END) mainw->cancelled = CANCEL_NONE; } return TRUE; } - void weed_bg_generator_end(weed_plant_t *inst) { // when we stop with a bg generator we want it to be restarted next time // i.e we will need a new clip for it - int bg_gen_key=bg_generator_key; + int bg_gen_key = bg_generator_key; weed_generator_end(inst); - bg_gen_to_start=bg_gen_key; + bg_gen_to_start = bg_gen_key; } - boolean weed_playback_gen_start(void) { // init generators on pb. We have to do this after audio startup - weed_plant_t *inst=NULL,*filter; - weed_plant_t *next_inst=NULL; + weed_plant_t *inst = NULL, *filter; + weed_plant_t *next_inst = NULL; char *filter_name; - int error=WEED_NO_ERROR; + int error = WEED_NO_ERROR; int weed_error; - int bgs=bg_gen_to_start; - boolean was_started=FALSE; + int bgs = bg_gen_to_start; + boolean was_started = FALSE; if (mainw->is_rendering) return TRUE; - if (fg_gen_to_start==bg_gen_to_start) bg_gen_to_start=-1; + if (fg_gen_to_start == bg_gen_to_start) bg_gen_to_start = -1; - if (cfile->frames==0&&fg_gen_to_start==-1&&bg_gen_to_start!=-1) { - fg_gen_to_start=bg_gen_to_start; - bg_gen_to_start=-1; + if (cfile->frames == 0 && fg_gen_to_start == -1 && bg_gen_to_start != -1) { + fg_gen_to_start = bg_gen_to_start; + bg_gen_to_start = -1; } - mainw->osc_block=TRUE; + mainw->osc_block = TRUE; - if (fg_gen_to_start!=-1) { + if (fg_gen_to_start != -1) { // check is still gen - if (enabled_in_channels(weed_filters[key_to_fx[fg_gen_to_start][key_modes[fg_gen_to_start]]],FALSE)==0) { - inst=key_to_instance[fg_gen_to_start][key_modes[fg_gen_to_start]]; - if (inst!=NULL) { - + if (enabled_in_channels(weed_filters[key_to_fx[fg_gen_to_start][key_modes[fg_gen_to_start]]], FALSE) == 0) { + inst = key_to_instance[fg_gen_to_start][key_modes[fg_gen_to_start]]; + if (inst != NULL) { geninit1: - filter=weed_instance_get_filter(inst,FALSE); - if (weed_plant_has_leaf(filter,WEED_LEAF_INIT_FUNC)) { + filter = weed_instance_get_filter(inst, FALSE); + if (weed_plant_has_leaf(filter, WEED_LEAF_INIT_FUNC)) { weed_init_f *init_func_ptr_ptr; weed_init_f init_func; - weed_leaf_get(filter,WEED_LEAF_INIT_FUNC,0,(void *)&init_func_ptr_ptr); - init_func=init_func_ptr_ptr[0]; + weed_leaf_get(filter, WEED_LEAF_INIT_FUNC, 0, (void *)&init_func_ptr_ptr); + init_func = init_func_ptr_ptr[0]; update_host_info(inst); - if (init_func!=NULL) { - char *cwd=cd_to_plugin_dir(filter); + if (init_func != NULL) { + char *cwd = cd_to_plugin_dir(filter); set_param_gui_readwrite(inst); - error=(*init_func)(inst); + error = (*init_func)(inst); set_param_gui_readonly(inst); - lives_chdir(cwd,FALSE); + lives_chdir(cwd, FALSE); lives_free(cwd); } } - - if (error!=WEED_NO_ERROR) { - inst=key_to_instance[fg_gen_to_start][key_modes[fg_gen_to_start]]; - key_to_instance[fg_gen_to_start][key_modes[fg_gen_to_start]]=NULL; - if (inst!=NULL) { + if (error != WEED_NO_ERROR) { + inst = key_to_instance[fg_gen_to_start][key_modes[fg_gen_to_start]]; + key_to_instance[fg_gen_to_start][key_modes[fg_gen_to_start]] = NULL; + if (inst != NULL) { char *tmp; - filter=weed_instance_get_filter(inst,TRUE); - filter_name=weed_get_string_value(filter,WEED_LEAF_NAME,&weed_error); - d_print(_("Failed to start generator %s (%s)\n"),filter_name,(tmp=lives_strdup(weed_error_to_text(error)))); + filter = weed_instance_get_filter(inst, TRUE); + filter_name = weed_get_string_value(filter, WEED_LEAF_NAME, &weed_error); + d_print(_("Failed to start generator %s (%s)\n"), filter_name, (tmp = lives_strdup(weed_error_to_text(error)))); lives_free(tmp); lives_free(filter_name); deinit4: - if (weed_plant_has_leaf(inst,WEED_LEAF_HOST_NEXT_INSTANCE)) next_inst=weed_get_plantptr_value(inst,WEED_LEAF_HOST_NEXT_INSTANCE,&error); - else next_inst=NULL; + if (weed_plant_has_leaf(inst, WEED_LEAF_HOST_NEXT_INSTANCE)) next_inst = weed_get_plantptr_value(inst, WEED_LEAF_HOST_NEXT_INSTANCE, + &error); + else next_inst = NULL; weed_call_deinit_func(inst); weed_instance_unref(inst); - if (next_inst!=NULL) { + if (next_inst != NULL) { // handle compound fx - inst=next_inst; - if (weed_get_boolean_value(inst,WEED_LEAF_HOST_INITED,&error)==WEED_TRUE) goto deinit4; + inst = next_inst; + if (weed_get_boolean_value(inst, WEED_LEAF_HOST_INITED, &error) == WEED_TRUE) goto deinit4; } } - fg_gen_to_start=-1; - cfile->ext_src=NULL; - mainw->osc_block=FALSE; + fg_gen_to_start = -1; + cfile->ext_src = NULL; + mainw->osc_block = FALSE; return FALSE; } - weed_set_boolean_value(inst,WEED_LEAF_HOST_INITED,WEED_TRUE); + weed_set_boolean_value(inst, WEED_LEAF_HOST_INITED, WEED_TRUE); - if (weed_plant_has_leaf(inst,WEED_LEAF_HOST_NEXT_INSTANCE)) { - inst=weed_get_plantptr_value(inst,WEED_LEAF_HOST_NEXT_INSTANCE,&error); + if (weed_plant_has_leaf(inst, WEED_LEAF_HOST_NEXT_INSTANCE)) { + inst = weed_get_plantptr_value(inst, WEED_LEAF_HOST_NEXT_INSTANCE, &error); goto geninit1; } - // TODO - if (weed_plant_has_leaf(inst,WEED_LEAF_TARGET_FPS)) { - int current_file=mainw->current_file; - mainw->current_file=fg_generator_clip; - cfile->fps=weed_get_double_value(inst,WEED_LEAF_TARGET_FPS,&error); - set_main_title(cfile->file_name,0); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps),cfile->fps); - mainw->current_file=current_file; + if (weed_plant_has_leaf(inst, WEED_LEAF_TARGET_FPS)) { + int current_file = mainw->current_file; + mainw->current_file = fg_generator_clip; + cfile->fps = weed_get_double_value(inst, WEED_LEAF_TARGET_FPS, &error); + set_main_title(cfile->file_name, 0); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps), cfile->fps); + mainw->current_file = current_file; } - mainw->clip_switched=TRUE; + mainw->clip_switched = TRUE; - cfile->ext_src=inst; + cfile->ext_src = inst; } - fg_gen_to_start=-1; + fg_gen_to_start = -1; } } - if (bg_gen_to_start!=-1) { - - if (mainw->blend_file==-1) { - mainw->osc_block=FALSE; + if (bg_gen_to_start != -1) { + if (mainw->blend_file == -1) { + mainw->osc_block = FALSE; return TRUE; // for example if transition was swapped for filter in mapper } // check is still gen - if (enabled_in_channels(weed_filters[key_to_fx[bg_gen_to_start][key_modes[bg_gen_to_start]]],FALSE)==0) { - if (key_to_instance[bg_gen_to_start][key_modes[bg_gen_to_start]]==NULL) { + if (enabled_in_channels(weed_filters[key_to_fx[bg_gen_to_start][key_modes[bg_gen_to_start]]], FALSE) == 0) { + if (key_to_instance[bg_gen_to_start][key_modes[bg_gen_to_start]] == NULL) { // restart bg generator if (!weed_init_effect(bg_gen_to_start)) { - mainw->osc_block=FALSE; + mainw->osc_block = FALSE; return TRUE; } - was_started=TRUE; + was_started = TRUE; } - inst=key_to_instance[bgs][key_modes[bgs]]; + inst = key_to_instance[bgs][key_modes[bgs]]; - if (inst==NULL) { + if (inst == NULL) { // 2nd playback - int playing_file=mainw->playing_file; - mainw->playing_file=-100; //kludge to stop playing a second time + int playing_file = mainw->playing_file; + mainw->playing_file = -100; //kludge to stop playing a second time if (!weed_init_effect(bg_gen_to_start)) { error++; } - mainw->playing_file=playing_file; - inst=key_to_instance[bg_gen_to_start][key_modes[bg_gen_to_start]]; + mainw->playing_file = playing_file; + inst = key_to_instance[bg_gen_to_start][key_modes[bg_gen_to_start]]; } else { if (!was_started) { - genstart2: weed_call_init_func(inst); // handle compound fx - if (weed_plant_has_leaf(inst,WEED_LEAF_HOST_NEXT_INSTANCE)) { - inst=weed_get_plantptr_value(inst,WEED_LEAF_HOST_NEXT_INSTANCE,&error); + if (weed_plant_has_leaf(inst, WEED_LEAF_HOST_NEXT_INSTANCE)) { + inst = weed_get_plantptr_value(inst, WEED_LEAF_HOST_NEXT_INSTANCE, &error); goto genstart2; } - inst=key_to_instance[bgs][key_modes[bgs]]; + inst = key_to_instance[bgs][key_modes[bgs]]; } } - if (error!=WEED_NO_ERROR) { - if (inst!=NULL) { + if (error != WEED_NO_ERROR) { + if (inst != NULL) { char *tmp; - filter=weed_instance_get_filter(inst,TRUE); - filter_name=weed_get_string_value(filter,WEED_LEAF_NAME,&weed_error); - d_print(_("Failed to start generator %s, (%s)\n"),filter_name,(tmp=lives_strdup(weed_error_to_text(error)))); + filter = weed_instance_get_filter(inst, TRUE); + filter_name = weed_get_string_value(filter, WEED_LEAF_NAME, &weed_error); + d_print(_("Failed to start generator %s, (%s)\n"), filter_name, (tmp = lives_strdup(weed_error_to_text(error)))); lives_free(tmp); lives_free(filter_name); deinit5: - if (weed_plant_has_leaf(inst,WEED_LEAF_HOST_NEXT_INSTANCE)) next_inst=weed_get_plantptr_value(inst,WEED_LEAF_HOST_NEXT_INSTANCE,&error); - else next_inst=NULL; + if (weed_plant_has_leaf(inst, WEED_LEAF_HOST_NEXT_INSTANCE)) next_inst = weed_get_plantptr_value(inst, WEED_LEAF_HOST_NEXT_INSTANCE, + &error); + else next_inst = NULL; weed_call_deinit_func(inst); weed_instance_unref(inst); - if (next_inst!=NULL) { + if (next_inst != NULL) { // handle compound fx - inst=next_inst; + inst = next_inst; goto deinit5; } } - key_to_instance[bg_gen_to_start][key_modes[bg_gen_to_start]]=NULL; - bg_gen_to_start=-1; - mainw->blend_file=-1; - if (mainw->rte&(GU641<<ABS(bg_gen_to_start))) mainw->rte^=(GU641<<ABS(bg_gen_to_start)); - mainw->osc_block=FALSE; + key_to_instance[bg_gen_to_start][key_modes[bg_gen_to_start]] = NULL; + bg_gen_to_start = -1; + mainw->blend_file = -1; + if (mainw->rte & (GU641 << ABS(bg_gen_to_start))) mainw->rte ^= (GU641 << ABS(bg_gen_to_start)); + mainw->osc_block = FALSE; return FALSE; } - mainw->files[mainw->blend_file]->ext_src=inst; + mainw->files[mainw->blend_file]->ext_src = inst; } - bg_gen_to_start=-1; + bg_gen_to_start = -1; } setgui1: - if (inst!=NULL) set_param_gui_readonly(inst); + if (inst != NULL) set_param_gui_readonly(inst); // handle compound fx - if (inst!=NULL&&weed_plant_has_leaf(inst,WEED_LEAF_HOST_NEXT_INSTANCE)) { - inst=weed_get_plantptr_value(inst,WEED_LEAF_HOST_NEXT_INSTANCE,&error); + if (inst != NULL && weed_plant_has_leaf(inst, WEED_LEAF_HOST_NEXT_INSTANCE)) { + inst = weed_get_plantptr_value(inst, WEED_LEAF_HOST_NEXT_INSTANCE, &error); goto setgui1; } - mainw->osc_block=FALSE; + mainw->osc_block = FALSE; return TRUE; } @@ -8017,54 +7864,54 @@ boolean is_hidden_param(weed_plant_t *plant, int i) { // find out if in_param i is visible or not for plant. Plant can be an instance or a filter - boolean visible=TRUE; + boolean visible = TRUE; weed_plant_t **wtmpls; - int error,flags=0; - weed_plant_t *filter,*gui=NULL; - int num_params=0; + int error, flags = 0; + weed_plant_t *filter, *gui = NULL; + int num_params = 0; weed_plant_t *wtmpl; - if (WEED_PLANT_IS_FILTER_INSTANCE(plant)) filter=weed_instance_get_filter(plant,TRUE); - else filter=plant; + if (WEED_PLANT_IS_FILTER_INSTANCE(plant)) filter = weed_instance_get_filter(plant, TRUE); + else filter = plant; - if (weed_plant_has_leaf(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES)) - num_params=weed_leaf_num_elements(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES); + if (weed_plant_has_leaf(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES)) + num_params = weed_leaf_num_elements(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES); - if (num_params==0) return TRUE; + if (num_params == 0) return TRUE; - wtmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); + wtmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); - wtmpl=wtmpls[i]; + wtmpl = wtmpls[i]; - if (weed_plant_has_leaf(wtmpl,WEED_LEAF_FLAGS)) flags=weed_get_int_value(wtmpl,WEED_LEAF_FLAGS,&error); - if (weed_plant_has_leaf(wtmpl,WEED_LEAF_GUI)) gui=weed_get_plantptr_value(wtmpl,WEED_LEAF_GUI,&error); + if (weed_plant_has_leaf(wtmpl, WEED_LEAF_FLAGS)) flags = weed_get_int_value(wtmpl, WEED_LEAF_FLAGS, &error); + if (weed_plant_has_leaf(wtmpl, WEED_LEAF_GUI)) gui = weed_get_plantptr_value(wtmpl, WEED_LEAF_GUI, &error); - if (gui!=NULL&&weed_plant_has_leaf(gui,WEED_LEAF_HIDDEN)&& - weed_get_boolean_value(gui,WEED_LEAF_HIDDEN,&error)==WEED_TRUE) { + if (gui != NULL && weed_plant_has_leaf(gui, WEED_LEAF_HIDDEN) && + weed_get_boolean_value(gui, WEED_LEAF_HIDDEN, &error) == WEED_TRUE) { lives_free(wtmpls); return TRUE; } - if (!(flags&WEED_PARAMETER_REINIT_ON_VALUE_CHANGE) - &&(gui==NULL||(!weed_plant_has_leaf(gui,WEED_LEAF_HIDDEN) - ||weed_get_boolean_value(gui,WEED_LEAF_HIDDEN,&error)==WEED_FALSE))) { - if (gui!=NULL) { - if (weed_plant_has_leaf(gui,WEED_LEAF_COPY_VALUE_TO)) { - int copyto=weed_get_int_value(gui,WEED_LEAF_COPY_VALUE_TO,&error); - int flags2=0,param_hint,param_hint2; + if (!(flags & WEED_PARAMETER_REINIT_ON_VALUE_CHANGE) + && (gui == NULL || (!weed_plant_has_leaf(gui, WEED_LEAF_HIDDEN) + || weed_get_boolean_value(gui, WEED_LEAF_HIDDEN, &error) == WEED_FALSE))) { + if (gui != NULL) { + if (weed_plant_has_leaf(gui, WEED_LEAF_COPY_VALUE_TO)) { + int copyto = weed_get_int_value(gui, WEED_LEAF_COPY_VALUE_TO, &error); + int flags2 = 0, param_hint, param_hint2; weed_plant_t *wtmpl2; - if (copyto==i||copyto<0) copyto=-1; - if (copyto>-1) { - visible=FALSE; - wtmpl2=wtmpls[copyto]; - if (weed_plant_has_leaf(wtmpl2,WEED_LEAF_FLAGS)) flags2=weed_get_int_value(wtmpl2,WEED_LEAF_FLAGS,&error); - param_hint=weed_get_int_value(wtmpl,WEED_LEAF_HINT,&error); - param_hint2=weed_get_int_value(wtmpl2,WEED_LEAF_HINT,&error); - if (param_hint==param_hint2 - &&((flags2&WEED_PARAMETER_VARIABLE_ELEMENTS) - ||(flags&WEED_PARAMETER_ELEMENT_PER_CHANNEL&&flags2&WEED_PARAMETER_ELEMENT_PER_CHANNEL) - ||weed_leaf_num_elements(wtmpl,WEED_LEAF_DEFAULT)==weed_leaf_num_elements(wtmpl2,WEED_LEAF_DEFAULT))) { - if (!(flags2&WEED_PARAMETER_REINIT_ON_VALUE_CHANGE)) { - visible=TRUE; + if (copyto == i || copyto < 0) copyto = -1; + if (copyto > -1) { + visible = FALSE; + wtmpl2 = wtmpls[copyto]; + if (weed_plant_has_leaf(wtmpl2, WEED_LEAF_FLAGS)) flags2 = weed_get_int_value(wtmpl2, WEED_LEAF_FLAGS, &error); + param_hint = weed_get_int_value(wtmpl, WEED_LEAF_HINT, &error); + param_hint2 = weed_get_int_value(wtmpl2, WEED_LEAF_HINT, &error); + if (param_hint == param_hint2 + && ((flags2 & WEED_PARAMETER_VARIABLE_ELEMENTS) + || (flags & WEED_PARAMETER_ELEMENT_PER_CHANNEL && flags2 & WEED_PARAMETER_ELEMENT_PER_CHANNEL) + || weed_leaf_num_elements(wtmpl, WEED_LEAF_DEFAULT) == weed_leaf_num_elements(wtmpl2, WEED_LEAF_DEFAULT))) { + if (!(flags2 & WEED_PARAMETER_REINIT_ON_VALUE_CHANGE)) { + visible = TRUE; } } } @@ -8073,7 +7920,7 @@ } // internally connected parameters for compound fx - if (weed_plant_has_leaf(wtmpl,WEED_LEAF_HOST_INTERNAL_CONNECTION)) visible=FALSE; + if (weed_plant_has_leaf(wtmpl, WEED_LEAF_HOST_INTERNAL_CONNECTION)) visible = FALSE; lives_free(wtmpls); return !visible; @@ -8081,17 +7928,17 @@ int get_transition_param(weed_plant_t *filter, boolean skip_internal) { - int error,num_params,i,count=0; + int error, num_params, i, count = 0; weed_plant_t **in_ptmpls; - if (!weed_plant_has_leaf(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES)) return -1; // has no in_parameters + if (!weed_plant_has_leaf(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES)) return -1; // has no in_parameters - num_params=weed_leaf_num_elements(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES); - in_ptmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); - for (i=0; i<num_params; i++) { - if (skip_internal&&weed_plant_has_leaf(in_ptmpls[i],WEED_LEAF_HOST_INTERNAL_CONNECTION)) continue; - if (weed_plant_has_leaf(in_ptmpls[i],WEED_LEAF_TRANSITION)&& - weed_get_boolean_value(in_ptmpls[i],WEED_LEAF_TRANSITION,&error)==WEED_TRUE) { + num_params = weed_leaf_num_elements(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES); + in_ptmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); + for (i = 0; i < num_params; i++) { + if (skip_internal && weed_plant_has_leaf(in_ptmpls[i], WEED_LEAF_HOST_INTERNAL_CONNECTION)) continue; + if (weed_plant_has_leaf(in_ptmpls[i], WEED_LEAF_TRANSITION) && + weed_get_boolean_value(in_ptmpls[i], WEED_LEAF_TRANSITION, &error) == WEED_TRUE) { lives_free(in_ptmpls); return count; } @@ -8103,17 +7950,17 @@ int get_master_vol_param(weed_plant_t *filter, boolean skip_internal) { - int error,num_params,i,count=0; + int error, num_params, i, count = 0; weed_plant_t **in_ptmpls; - if (!weed_plant_has_leaf(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES)) return -1; // has no in_parameters + if (!weed_plant_has_leaf(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES)) return -1; // has no in_parameters - num_params=weed_leaf_num_elements(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES); - in_ptmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); - for (i=0; i<num_params; i++) { - if (skip_internal&&weed_plant_has_leaf(in_ptmpls[i],WEED_LEAF_HOST_INTERNAL_CONNECTION)) continue; - if (weed_plant_has_leaf(in_ptmpls[i],WEED_LEAF_IS_VOLUME_MASTER)&& - weed_get_boolean_value(in_ptmpls[i],WEED_LEAF_IS_VOLUME_MASTER,&error)==WEED_TRUE) { + num_params = weed_leaf_num_elements(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES); + in_ptmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); + for (i = 0; i < num_params; i++) { + if (skip_internal && weed_plant_has_leaf(in_ptmpls[i], WEED_LEAF_HOST_INTERNAL_CONNECTION)) continue; + if (weed_plant_has_leaf(in_ptmpls[i], WEED_LEAF_IS_VOLUME_MASTER) && + weed_get_boolean_value(in_ptmpls[i], WEED_LEAF_IS_VOLUME_MASTER, &error) == WEED_TRUE) { lives_free(in_ptmpls); return count; } @@ -8124,32 +7971,29 @@ } - - boolean is_perchannel_multiw(weed_plant_t *param) { // updated for weed spec 1.1 int error; - int flags=0; + int flags = 0; weed_plant_t *ptmpl; - if (WEED_PLANT_IS_PARAMETER(param)) ptmpl=weed_get_plantptr_value(param,WEED_LEAF_TEMPLATE,&error); - else ptmpl=param; - if (weed_plant_has_leaf(ptmpl,WEED_LEAF_FLAGS)) flags=weed_get_int_value(ptmpl,WEED_LEAF_FLAGS,&error); - if (flags&WEED_PARAMETER_ELEMENT_PER_CHANNEL) return TRUE; + if (WEED_PLANT_IS_PARAMETER(param)) ptmpl = weed_get_plantptr_value(param, WEED_LEAF_TEMPLATE, &error); + else ptmpl = param; + if (weed_plant_has_leaf(ptmpl, WEED_LEAF_FLAGS)) flags = weed_get_int_value(ptmpl, WEED_LEAF_FLAGS, &error); + if (flags & WEED_PARAMETER_ELEMENT_PER_CHANNEL) return TRUE; return FALSE; } - boolean has_perchannel_multiw(weed_plant_t *filter) { - int error,nptmpl,i; + int error, nptmpl, i; weed_plant_t **ptmpls; - if (!weed_plant_has_leaf(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES)|| - (nptmpl=weed_leaf_num_elements(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES))==0) return FALSE; + if (!weed_plant_has_leaf(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES) || + (nptmpl = weed_leaf_num_elements(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES)) == 0) return FALSE; - ptmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); + ptmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); - for (i=0; i<nptmpl; i++) { + for (i = 0; i < nptmpl; i++) { if (is_perchannel_multiw(ptmpls[i])) { lives_free(ptmpls); return TRUE; @@ -8161,112 +8005,102 @@ } - - - weed_plant_t *weed_inst_in_param(weed_plant_t *inst, int param_num, boolean skip_hidden, boolean skip_internal) { weed_plant_t **in_params; weed_plant_t *param; - int error,num_params; + int error, num_params; do { + if (!weed_plant_has_leaf(inst, WEED_LEAF_IN_PARAMETERS)) continue; // has no in_parameters - if (!weed_plant_has_leaf(inst,WEED_LEAF_IN_PARAMETERS)) continue; // has no in_parameters + num_params = weed_leaf_num_elements(inst, WEED_LEAF_IN_PARAMETERS); - num_params=weed_leaf_num_elements(inst,WEED_LEAF_IN_PARAMETERS); - - if (!skip_hidden&&!skip_internal) { - if (num_params>param_num) { - in_params=weed_get_plantptr_array(inst,WEED_LEAF_IN_PARAMETERS,&error); - param=in_params[param_num]; + if (!skip_hidden && !skip_internal) { + if (num_params > param_num) { + in_params = weed_get_plantptr_array(inst, WEED_LEAF_IN_PARAMETERS, &error); + param = in_params[param_num]; lives_free(in_params); return param; } - param_num-=num_params; + param_num -= num_params; } else { - int count=0; + int count = 0; register int i; - in_params=weed_get_plantptr_array(inst,WEED_LEAF_IN_PARAMETERS,&error); + in_params = weed_get_plantptr_array(inst, WEED_LEAF_IN_PARAMETERS, &error); - for (i=0; i<num_params; i++) { - param=in_params[i]; - if ((!skip_hidden||!is_hidden_param(inst,i))&&(!skip_internal||!weed_plant_has_leaf(param,WEED_LEAF_HOST_INTERNAL_CONNECTION))) { - if (count==param_num) { + for (i = 0; i < num_params; i++) { + param = in_params[i]; + if ((!skip_hidden || !is_hidden_param(inst, i)) && (!skip_internal || !weed_plant_has_leaf(param, WEED_LEAF_HOST_INTERNAL_CONNECTION))) { + if (count == param_num) { lives_free(in_params); return param; } count++; } } - param_num-=count; + param_num -= count; lives_free(in_params); } - - } while (weed_plant_has_leaf(inst,WEED_LEAF_HOST_NEXT_INSTANCE)&& - (inst=weed_get_plantptr_value(inst,WEED_LEAF_HOST_NEXT_INSTANCE,&error))!=NULL); + } while (weed_plant_has_leaf(inst, WEED_LEAF_HOST_NEXT_INSTANCE) && + (inst = weed_get_plantptr_value(inst, WEED_LEAF_HOST_NEXT_INSTANCE, &error)) != NULL); return NULL; } - - - weed_plant_t *weed_inst_out_param(weed_plant_t *inst, int param_num) { weed_plant_t **out_params; weed_plant_t *param; - int error,num_params; + int error, num_params; do { - if (!weed_plant_has_leaf(inst,WEED_LEAF_OUT_PARAMETERS)) continue; // has no out_parameters + if (!weed_plant_has_leaf(inst, WEED_LEAF_OUT_PARAMETERS)) continue; // has no out_parameters - num_params=weed_leaf_num_elements(inst,WEED_LEAF_OUT_PARAMETERS); + num_params = weed_leaf_num_elements(inst, WEED_LEAF_OUT_PARAMETERS); - if (num_params>param_num) { - out_params=weed_get_plantptr_array(inst,WEED_LEAF_OUT_PARAMETERS,&error); - param=out_params[param_num]; + if (num_params > param_num) { + out_params = weed_get_plantptr_array(inst, WEED_LEAF_OUT_PARAMETERS, &error); + param = out_params[param_num]; lives_free(out_params); return param; } - param_num-=num_params; - } while (weed_plant_has_leaf(inst,WEED_LEAF_HOST_NEXT_INSTANCE)&& - (inst=weed_get_plantptr_value(inst,WEED_LEAF_HOST_NEXT_INSTANCE,&error))!=NULL); + param_num -= num_params; + } while (weed_plant_has_leaf(inst, WEED_LEAF_HOST_NEXT_INSTANCE) && + (inst = weed_get_plantptr_value(inst, WEED_LEAF_HOST_NEXT_INSTANCE, &error)) != NULL); return NULL; } - - weed_plant_t *weed_filter_in_paramtmpl(weed_plant_t *filter, int param_num, boolean skip_internal) { weed_plant_t **in_params; weed_plant_t *ptmpl; - int error,num_params; + int error, num_params; - int count=0; + int count = 0; register int i; - if (!weed_plant_has_leaf(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES)) return NULL; // has no in_parameters + if (!weed_plant_has_leaf(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES)) return NULL; // has no in_parameters - num_params=weed_leaf_num_elements(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES); + num_params = weed_leaf_num_elements(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES); - if (num_params<=param_num) return NULL; // invalid parameter number + if (num_params <= param_num) return NULL; // invalid parameter number - in_params=weed_get_plantptr_array(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); + in_params = weed_get_plantptr_array(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); if (!skip_internal) { - ptmpl=in_params[param_num]; + ptmpl = in_params[param_num]; lives_free(in_params); return ptmpl; } - for (i=0; i<num_params; i++) { - ptmpl=in_params[i]; - if (!weed_plant_has_leaf(ptmpl,WEED_LEAF_HOST_INTERNAL_CONNECTION)) { - if (count==param_num) { + for (i = 0; i < num_params; i++) { + ptmpl = in_params[i]; + if (!weed_plant_has_leaf(ptmpl, WEED_LEAF_HOST_INTERNAL_CONNECTION)) { + if (count == param_num) { return ptmpl; } count++; @@ -8277,61 +8111,57 @@ } - weed_plant_t *weed_filter_out_paramtmpl(weed_plant_t *filter, int param_num) { weed_plant_t **out_params; weed_plant_t *ptmpl; - int error,num_params; + int error, num_params; - if (!weed_plant_has_leaf(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES)) return NULL; // has no out_parameters + if (!weed_plant_has_leaf(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES)) return NULL; // has no out_parameters - num_params=weed_leaf_num_elements(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES); + num_params = weed_leaf_num_elements(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES); - if (num_params<=param_num) return NULL; // invalid parameter number + if (num_params <= param_num) return NULL; // invalid parameter number - out_params=weed_get_plantptr_array(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES,&error); + out_params = weed_get_plantptr_array(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES, &error); - ptmpl=out_params[param_num]; + ptmpl = out_params[param_num]; lives_free(out_params); return ptmpl; } - - int get_nth_simple_param(weed_plant_t *plant, int pnum) { // return the number of the nth "simple" parameter // we define "simple" as - must be single valued int or float, must not be hidden // -1 is returned if no such parameter is found - int i,error,hint,flags,nparams; + int i, error, hint, flags, nparams; weed_plant_t **in_ptmpls; weed_plant_t *tparamtmpl; weed_plant_t *gui; - if (WEED_PLANT_IS_FILTER_INSTANCE(plant)) plant=weed_instance_get_filter(plant,TRUE); - - if (!weed_plant_has_leaf(plant,WEED_LEAF_IN_PARAMETER_TEMPLATES)) return -1; + if (WEED_PLANT_IS_FILTER_INSTANCE(plant)) plant = weed_instance_get_filter(plant, TRUE); - in_ptmpls=weed_get_plantptr_array(plant,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); - nparams=weed_leaf_num_elements(plant,WEED_LEAF_IN_PARAMETER_TEMPLATES); + if (!weed_plant_has_leaf(plant, WEED_LEAF_IN_PARAMETER_TEMPLATES)) return -1; - for (i=0; i<nparams; i++) { - gui=NULL; - tparamtmpl=in_ptmpls[i]; - if (weed_plant_has_leaf(tparamtmpl,WEED_LEAF_GUI)) gui=weed_get_plantptr_value(tparamtmpl,WEED_LEAF_GUI,&error); + in_ptmpls = weed_get_plantptr_array(plant, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); + nparams = weed_leaf_num_elements(plant, WEED_LEAF_IN_PARAMETER_TEMPLATES); + for (i = 0; i < nparams; i++) { + gui = NULL; + tparamtmpl = in_ptmpls[i]; + if (weed_plant_has_leaf(tparamtmpl, WEED_LEAF_GUI)) gui = weed_get_plantptr_value(tparamtmpl, WEED_LEAF_GUI, &error); - hint=weed_get_int_value(tparamtmpl,WEED_LEAF_HINT,&error); + hint = weed_get_int_value(tparamtmpl, WEED_LEAF_HINT, &error); - if (gui!=NULL&&hint==WEED_HINT_INTEGER&&weed_plant_has_leaf(gui,WEED_LEAF_CHOICES)) continue; + if (gui != NULL && hint == WEED_HINT_INTEGER && weed_plant_has_leaf(gui, WEED_LEAF_CHOICES)) continue; - flags=weed_get_int_value(tparamtmpl,WEED_LEAF_FLAGS,&error); + flags = weed_get_int_value(tparamtmpl, WEED_LEAF_FLAGS, &error); - if ((hint==WEED_HINT_INTEGER||hint==WEED_HINT_FLOAT)&&flags==0&&weed_leaf_num_elements(tparamtmpl,WEED_LEAF_DEFAULT)==1&& - !is_hidden_param(plant,i)) { - if (pnum==0) { + if ((hint == WEED_HINT_INTEGER || hint == WEED_HINT_FLOAT) && flags == 0 && weed_leaf_num_elements(tparamtmpl, WEED_LEAF_DEFAULT) == 1 && + !is_hidden_param(plant, i)) { + if (pnum == 0) { lives_free(in_ptmpls); return i; } @@ -8343,26 +8173,24 @@ } - int count_simple_params(weed_plant_t *plant) { - - int i,error,hint,flags,nparams,count=0; + int i, error, hint, flags, nparams, count = 0; weed_plant_t **in_ptmpls; weed_plant_t *tparamtmpl; - if (WEED_PLANT_IS_FILTER_INSTANCE(plant)) plant=weed_instance_get_filter(plant,TRUE); + if (WEED_PLANT_IS_FILTER_INSTANCE(plant)) plant = weed_instance_get_filter(plant, TRUE); - if (!weed_plant_has_leaf(plant,WEED_LEAF_IN_PARAMETER_TEMPLATES)) return count; + if (!weed_plant_has_leaf(plant, WEED_LEAF_IN_PARAMETER_TEMPLATES)) return count; - in_ptmpls=weed_get_plantptr_array(plant,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); - nparams=weed_leaf_num_elements(plant,WEED_LEAF_IN_PARAMETER_TEMPLATES); + in_ptmpls = weed_get_plantptr_array(plant, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); + nparams = weed_leaf_num_elements(plant, WEED_LEAF_IN_PARAMETER_TEMPLATES); - for (i=0; i<nparams; i++) { - tparamtmpl=in_ptmpls[i]; - hint=weed_get_int_value(tparamtmpl,WEED_LEAF_HINT,&error); - flags=weed_get_int_value(tparamtmpl,WEED_LEAF_FLAGS,&error); - if ((hint==WEED_HINT_INTEGER||hint==WEED_HINT_FLOAT)&&flags==0&&weed_leaf_num_elements(tparamtmpl,WEED_LEAF_DEFAULT)==1&& - !is_hidden_param(plant,i)) { + for (i = 0; i < nparams; i++) { + tparamtmpl = in_ptmpls[i]; + hint = weed_get_int_value(tparamtmpl, WEED_LEAF_HINT, &error); + flags = weed_get_int_value(tparamtmpl, WEED_LEAF_FLAGS, &error); + if ((hint == WEED_HINT_INTEGER || hint == WEED_HINT_FLOAT) && flags == 0 && weed_leaf_num_elements(tparamtmpl, WEED_LEAF_DEFAULT) == 1 && + !is_hidden_param(plant, i)) { count++; } } @@ -8371,81 +8199,79 @@ } - char *get_weed_display_string(weed_plant_t *inst, int pnum) { // TODO - for setting defaults, we will need to create params char *disp_string; - weed_plant_t *param=weed_inst_in_param(inst,pnum,FALSE,FALSE); - weed_plant_t *ptmpl,*gui,*filter; + weed_plant_t *param = weed_inst_in_param(inst, pnum, FALSE, FALSE); + weed_plant_t *ptmpl, *gui, *filter; int error; weed_display_f *display_func_ptr; weed_display_f display_func; char *cwd; - if (param==NULL) return NULL; + if (param == NULL) return NULL; - ptmpl=weed_get_plantptr_value(param,WEED_LEAF_TEMPLATE,&error); - if (!weed_plant_has_leaf(ptmpl,WEED_LEAF_GUI)) return NULL; - gui=weed_get_plantptr_value(ptmpl,WEED_LEAF_GUI,&error); - if (!weed_plant_has_leaf(gui,WEED_LEAF_DISPLAY_FUNC)) return NULL; + ptmpl = weed_get_plantptr_value(param, WEED_LEAF_TEMPLATE, &error); + if (!weed_plant_has_leaf(ptmpl, WEED_LEAF_GUI)) return NULL; + gui = weed_get_plantptr_value(ptmpl, WEED_LEAF_GUI, &error); + if (!weed_plant_has_leaf(gui, WEED_LEAF_DISPLAY_FUNC)) return NULL; - display_func_ptr=(weed_display_f *)weed_get_voidptr_value(gui,WEED_LEAF_DISPLAY_FUNC,&error); - display_func=(weed_display_f)*display_func_ptr; + display_func_ptr = (weed_display_f *)weed_get_voidptr_value(gui, WEED_LEAF_DISPLAY_FUNC, &error); + display_func = (weed_display_f) * display_func_ptr; - weed_leaf_set_flags(gui,WEED_LEAF_DISPLAY_VALUE,(weed_leaf_get_flags(gui,WEED_LEAF_DISPLAY_VALUE)| + weed_leaf_set_flags(gui, WEED_LEAF_DISPLAY_VALUE, (weed_leaf_get_flags(gui, WEED_LEAF_DISPLAY_VALUE) | WEED_LEAF_READONLY_PLUGIN)^WEED_LEAF_READONLY_PLUGIN); - filter=weed_instance_get_filter(inst,FALSE); - cwd=cd_to_plugin_dir(filter); + filter = weed_instance_get_filter(inst, FALSE); + cwd = cd_to_plugin_dir(filter); (*display_func)(param); - lives_chdir(cwd,FALSE); + lives_chdir(cwd, FALSE); lives_free(cwd); - weed_leaf_set_flags(gui,WEED_LEAF_DISPLAY_VALUE,(weed_leaf_get_flags(gui,WEED_LEAF_DISPLAY_VALUE)|WEED_LEAF_READONLY_PLUGIN)); + weed_leaf_set_flags(gui, WEED_LEAF_DISPLAY_VALUE, (weed_leaf_get_flags(gui, WEED_LEAF_DISPLAY_VALUE) | WEED_LEAF_READONLY_PLUGIN)); - if (!weed_plant_has_leaf(gui,WEED_LEAF_DISPLAY_VALUE)) return NULL; - if (weed_leaf_seed_type(gui,WEED_LEAF_DISPLAY_VALUE)!=WEED_SEED_STRING) return NULL; - disp_string=weed_get_string_value(gui,WEED_LEAF_DISPLAY_VALUE,&error); + if (!weed_plant_has_leaf(gui, WEED_LEAF_DISPLAY_VALUE)) return NULL; + if (weed_leaf_seed_type(gui, WEED_LEAF_DISPLAY_VALUE) != WEED_SEED_STRING) return NULL; + disp_string = weed_get_string_value(gui, WEED_LEAF_DISPLAY_VALUE, &error); return disp_string; } - int set_copy_to(weed_plant_t *inst, int pnum, boolean update) { // if we update a plugin in_parameter, evaluate any WEED_LEAF_COPY_VALUE_TO int error; - boolean copy_ok=FALSE; + boolean copy_ok = FALSE; int copyto; weed_plant_t **in_params; - weed_plant_t *gui=NULL; - weed_plant_t *in_param=weed_inst_in_param(inst,pnum,FALSE,FALSE); // use this here in case of compound fx - weed_plant_t *paramtmpl=weed_get_plantptr_value(in_param,WEED_LEAF_TEMPLATE,&error); + weed_plant_t *gui = NULL; + weed_plant_t *in_param = weed_inst_in_param(inst, pnum, FALSE, FALSE); // use this here in case of compound fx + weed_plant_t *paramtmpl = weed_get_plantptr_value(in_param, WEED_LEAF_TEMPLATE, &error); - if (weed_plant_has_leaf(paramtmpl,WEED_LEAF_GUI)) gui=weed_get_plantptr_value(paramtmpl,WEED_LEAF_GUI,&error); + if (weed_plant_has_leaf(paramtmpl, WEED_LEAF_GUI)) gui = weed_get_plantptr_value(paramtmpl, WEED_LEAF_GUI, &error); - if (gui==NULL) return -1; + if (gui == NULL) return -1; - if (weed_plant_has_leaf(gui,WEED_LEAF_COPY_VALUE_TO)) { + if (weed_plant_has_leaf(gui, WEED_LEAF_COPY_VALUE_TO)) { weed_plant_t *paramtmpl2; - int param_hint2,flags2=0; - int param_hint=weed_get_int_value(paramtmpl,WEED_LEAF_HINT,&error); - int nparams=weed_leaf_num_elements(inst,WEED_LEAF_IN_PARAMETERS); - - copyto=weed_get_int_value(gui,WEED_LEAF_COPY_VALUE_TO,&error); - if (copyto==pnum||copyto<0||copyto>=nparams) return -1; - - in_params=weed_get_plantptr_array(inst,WEED_LEAF_IN_PARAMETERS,&error); - - if (weed_plant_has_leaf(in_params[copyto],WEED_LEAF_HOST_INTERNAL_CONNECTION)) return -1; - - paramtmpl2=weed_get_plantptr_value(in_params[copyto],WEED_LEAF_TEMPLATE,&error); - if (weed_plant_has_leaf(paramtmpl2,WEED_LEAF_FLAGS)) flags2=weed_get_int_value(paramtmpl2,WEED_LEAF_FLAGS,&error); - param_hint2=weed_get_int_value(paramtmpl2,WEED_LEAF_HINT,&error); - if (param_hint==param_hint2&&((flags2&WEED_PARAMETER_VARIABLE_ELEMENTS)|| - weed_leaf_num_elements(paramtmpl,WEED_LEAF_DEFAULT)== - weed_leaf_num_elements(paramtmpl2,WEED_LEAF_DEFAULT))) { - copy_ok=TRUE; + int param_hint2, flags2 = 0; + int param_hint = weed_get_int_value(paramtmpl, WEED_LEAF_HINT, &error); + int nparams = weed_leaf_num_elements(inst, WEED_LEAF_IN_PARAMETERS); + + copyto = weed_get_int_value(gui, WEED_LEAF_COPY_VALUE_TO, &error); + if (copyto == pnum || copyto < 0 || copyto >= nparams) return -1; + + in_params = weed_get_plantptr_array(inst, WEED_LEAF_IN_PARAMETERS, &error); + + if (weed_plant_has_leaf(in_params[copyto], WEED_LEAF_HOST_INTERNAL_CONNECTION)) return -1; + + paramtmpl2 = weed_get_plantptr_value(in_params[copyto], WEED_LEAF_TEMPLATE, &error); + if (weed_plant_has_leaf(paramtmpl2, WEED_LEAF_FLAGS)) flags2 = weed_get_int_value(paramtmpl2, WEED_LEAF_FLAGS, &error); + param_hint2 = weed_get_int_value(paramtmpl2, WEED_LEAF_HINT, &error); + if (param_hint == param_hint2 && ((flags2 & WEED_PARAMETER_VARIABLE_ELEMENTS) || + weed_leaf_num_elements(paramtmpl, WEED_LEAF_DEFAULT) == + weed_leaf_num_elements(paramtmpl2, WEED_LEAF_DEFAULT))) { + copy_ok = TRUE; } lives_free(in_params); } @@ -8453,10 +8279,10 @@ if (!copy_ok) return -1; if (update) { - int key=-1; - if (weed_plant_has_leaf(inst,WEED_LEAF_HOST_KEY)) key=weed_get_int_value(inst,WEED_LEAF_HOST_KEY,&error); + int key = -1; + if (weed_plant_has_leaf(inst, WEED_LEAF_HOST_KEY)) key = weed_get_int_value(inst, WEED_LEAF_HOST_KEY, &error); filter_mutex_lock(key); - weed_leaf_copy(in_params[copyto],WEED_LEAF_VALUE,in_param,WEED_LEAF_VALUE); + weed_leaf_copy(in_params[copyto], WEED_LEAF_VALUE, in_param, WEED_LEAF_VALUE); filter_mutex_unlock(key); } return copyto; @@ -8470,131 +8296,129 @@ int key; // do not record changes for generators - those get recorded to scrap_file or ascrap_file - if (enabled_in_channels(inst,FALSE)==0) return; + if (enabled_in_channels(inst, FALSE) == 0) return; pthread_mutex_lock(&mainw->event_list_mutex); - tc=get_event_timecode(get_last_event(mainw->event_list)); - key=weed_get_int_value(inst,WEED_LEAF_HOST_KEY,&error); + tc = get_event_timecode(get_last_event(mainw->event_list)); + key = weed_get_int_value(inst, WEED_LEAF_HOST_KEY, &error); - in_param=weed_inst_in_param(inst,pnum,FALSE,FALSE); + in_param = weed_inst_in_param(inst, pnum, FALSE, FALSE); - mainw->event_list=append_param_change_event(mainw->event_list,tc,pnum,in_param,init_events[key],pchains[key]); + mainw->event_list = append_param_change_event(mainw->event_list, tc, pnum, in_param, init_events[key], pchains[key]); pthread_mutex_unlock(&mainw->event_list_mutex); } - - #define KEYSCALE 255. void weed_set_blend_factor(int hotkey) { // mainw->osc_block should be set to TRUE before calling this function ! - weed_plant_t *inst,*in_param,*in_param2=NULL,*paramtmpl; + weed_plant_t *inst, *in_param, *in_param2 = NULL, *paramtmpl; - LiVESList *list=NULL; + LiVESList *list = NULL; weed_plant_t **in_params; - double vald,mind,maxd; + double vald, mind, maxd; - weed_timecode_t tc=0; + weed_timecode_t tc = 0; int error; - int vali,mini,maxi; + int vali, mini, maxi; int param_hint; - int copyto=-1; + int copyto = -1; int pnum; int inc_count; - int key=-1; + int key = -1; - if (hotkey<0) return; - inst=key_to_instance[hotkey][key_modes[hotkey]]; + if (hotkey < 0) return; + inst = key_to_instance[hotkey][key_modes[hotkey]]; - if (inst==NULL) return; + if (inst == NULL) return; - pnum=get_nth_simple_param(inst,0); + pnum = get_nth_simple_param(inst, 0); - if (pnum==-1) return; + if (pnum == -1) return; - in_params=weed_get_plantptr_array(inst,WEED_LEAF_IN_PARAMETERS,&error); - in_param=in_params[pnum]; + in_params = weed_get_plantptr_array(inst, WEED_LEAF_IN_PARAMETERS, &error); + in_param = in_params[pnum]; lives_free(in_params); - paramtmpl=weed_get_plantptr_value(in_param,WEED_LEAF_TEMPLATE,&error); - param_hint=weed_get_int_value(paramtmpl,WEED_LEAF_HINT,&error); + paramtmpl = weed_get_plantptr_value(in_param, WEED_LEAF_TEMPLATE, &error); + param_hint = weed_get_int_value(paramtmpl, WEED_LEAF_HINT, &error); - inc_count=enabled_in_channels(inst,FALSE); + inc_count = enabled_in_channels(inst, FALSE); // record old value - copyto=set_copy_to(inst,pnum,FALSE); + copyto = set_copy_to(inst, pnum, FALSE); - if (mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)&&inc_count>0) { + if (mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS) && inc_count > 0) { pthread_mutex_lock(&mainw->event_list_mutex); - tc=get_event_timecode(get_last_event(mainw->event_list)); - mainw->event_list=append_param_change_event(mainw->event_list,tc,pnum,in_param,init_events[hotkey],pchains[hotkey]); - if (copyto>-1) { - mainw->event_list=append_param_change_event(mainw->event_list,tc,copyto,in_param2,init_events[hotkey], - pchains[hotkey]); + tc = get_event_timecode(get_last_event(mainw->event_list)); + mainw->event_list = append_param_change_event(mainw->event_list, tc, pnum, in_param, init_events[hotkey], pchains[hotkey]); + if (copyto > -1) { + mainw->event_list = append_param_change_event(mainw->event_list, tc, copyto, in_param2, init_events[hotkey], + pchains[hotkey]); } pthread_mutex_unlock(&mainw->event_list_mutex); } - if (weed_plant_has_leaf(paramtmpl,WEED_LEAF_WRAP)&&weed_get_boolean_value(paramtmpl,WEED_LEAF_WRAP,&error)==WEED_TRUE) { - if (mainw->blend_factor>=256.) mainw->blend_factor-=256.; - else if (mainw->blend_factor<=-1.) mainw->blend_factor+=256.; + if (weed_plant_has_leaf(paramtmpl, WEED_LEAF_WRAP) && weed_get_boolean_value(paramtmpl, WEED_LEAF_WRAP, &error) == WEED_TRUE) { + if (mainw->blend_factor >= 256.) mainw->blend_factor -= 256.; + else if (mainw->blend_factor <= -1.) mainw->blend_factor += 256.; } else { - if (mainw->blend_factor<0.) mainw->blend_factor=0.; - else if (mainw->blend_factor>255.) mainw->blend_factor=255.; + if (mainw->blend_factor < 0.) mainw->blend_factor = 0.; + else if (mainw->blend_factor > 255.) mainw->blend_factor = 255.; } filter_mutex_lock(hotkey); switch (param_hint) { case WEED_HINT_INTEGER: - vali=weed_get_int_value(in_param,WEED_LEAF_VALUE,&error); - mini=weed_get_int_value(paramtmpl,WEED_LEAF_MIN,&error); - maxi=weed_get_int_value(paramtmpl,WEED_LEAF_MAX,&error); - - weed_set_int_value(in_param,WEED_LEAF_VALUE,(int)((double)mini+(mainw->blend_factor/KEYSCALE*(double)(maxi-mini))+.5)); - - vali=weed_get_int_value(in_param,WEED_LEAF_VALUE,&error); - - list=lives_list_append(list,lives_strdup_printf("%d",vali)); - list=lives_list_append(list,lives_strdup_printf("%d",mini)); - list=lives_list_append(list,lives_strdup_printf("%d",maxi)); - update_pwindow(hotkey,pnum,list); - if (mainw->ce_thumbs) ce_thumbs_update_params(hotkey,pnum,list); + vali = weed_get_int_value(in_param, WEED_LEAF_VALUE, &error); + mini = weed_get_int_value(paramtmpl, WEED_LEAF_MIN, &error); + maxi = weed_get_int_value(paramtmpl, WEED_LEAF_MAX, &error); + + weed_set_int_value(in_param, WEED_LEAF_VALUE, (int)((double)mini + (mainw->blend_factor / KEYSCALE * (double)(maxi - mini)) + .5)); + + vali = weed_get_int_value(in_param, WEED_LEAF_VALUE, &error); + + list = lives_list_append(list, lives_strdup_printf("%d", vali)); + list = lives_list_append(list, lives_strdup_printf("%d", mini)); + list = lives_list_append(list, lives_strdup_printf("%d", maxi)); + update_pwindow(hotkey, pnum, list); + if (mainw->ce_thumbs) ce_thumbs_update_params(hotkey, pnum, list); lives_list_free_all(&list); break; case WEED_HINT_FLOAT: - vald=weed_get_double_value(in_param,WEED_LEAF_VALUE,&error); - mind=weed_get_double_value(paramtmpl,WEED_LEAF_MIN,&error); - maxd=weed_get_double_value(paramtmpl,WEED_LEAF_MAX,&error); - - weed_set_double_value(in_param,WEED_LEAF_VALUE,mind+(mainw->blend_factor/KEYSCALE*(maxd-mind))); - vald=weed_get_double_value(in_param,WEED_LEAF_VALUE,&error); - - list=lives_list_append(list,lives_strdup_printf("%.4f",vald)); - list=lives_list_append(list,lives_strdup_printf("%.4f",mind)); - list=lives_list_append(list,lives_strdup_printf("%.4f",maxd)); - update_pwindow(hotkey,pnum,list); - if (mainw->ce_thumbs) ce_thumbs_update_params(hotkey,pnum,list); + vald = weed_get_double_value(in_param, WEED_LEAF_VALUE, &error); + mind = weed_get_double_value(paramtmpl, WEED_LEAF_MIN, &error); + maxd = weed_get_double_value(paramtmpl, WEED_LEAF_MAX, &error); + + weed_set_double_value(in_param, WEED_LEAF_VALUE, mind + (mainw->blend_factor / KEYSCALE * (maxd - mind))); + vald = weed_get_double_value(in_param, WEED_LEAF_VALUE, &error); + + list = lives_list_append(list, lives_strdup_printf("%.4f", vald)); + list = lives_list_append(list, lives_strdup_printf("%.4f", mind)); + list = lives_list_append(list, lives_strdup_printf("%.4f", maxd)); + update_pwindow(hotkey, pnum, list); + if (mainw->ce_thumbs) ce_thumbs_update_params(hotkey, pnum, list); lives_list_free_all(&list); break; case WEED_HINT_SWITCH: - vali=!!(int)mainw->blend_factor; - weed_set_boolean_value(in_param,WEED_LEAF_VALUE,vali); - vali=weed_get_boolean_value(in_param,WEED_LEAF_VALUE,&error); - mainw->blend_factor=(double)vali; - - list=lives_list_append(list,lives_strdup_printf("%d",vali)); - update_pwindow(hotkey,pnum,list); - if (mainw->ce_thumbs) ce_thumbs_update_params(hotkey,pnum,list); + vali = !!(int)mainw->blend_factor; + weed_set_boolean_value(in_param, WEED_LEAF_VALUE, vali); + vali = weed_get_boolean_value(in_param, WEED_LEAF_VALUE, &error); + mainw->blend_factor = (double)vali; + + list = lives_list_append(list, lives_strdup_printf("%d", vali)); + update_pwindow(hotkey, pnum, list); + if (mainw->ce_thumbs) ce_thumbs_update_params(hotkey, pnum, list); lives_list_free_all(&list); break; @@ -8602,65 +8426,61 @@ filter_mutex_unlock(key); - set_copy_to(inst,pnum,TRUE); + set_copy_to(inst, pnum, TRUE); - if (mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)&&inc_count>0) { + if (mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS) && inc_count > 0) { pthread_mutex_lock(&mainw->event_list_mutex); - tc=get_event_timecode(get_last_event(mainw->event_list)); - mainw->event_list=append_param_change_event(mainw->event_list,tc,pnum,in_param,init_events[hotkey],pchains[hotkey]); - if (copyto>-1) { - - mainw->event_list=append_param_change_event(mainw->event_list,tc,copyto,in_param2,init_events[hotkey], - pchains[hotkey]); + tc = get_event_timecode(get_last_event(mainw->event_list)); + mainw->event_list = append_param_change_event(mainw->event_list, tc, pnum, in_param, init_events[hotkey], pchains[hotkey]); + if (copyto > -1) { + mainw->event_list = append_param_change_event(mainw->event_list, tc, copyto, in_param2, init_events[hotkey], + pchains[hotkey]); } pthread_mutex_unlock(&mainw->event_list_mutex); } - - } - int weed_get_blend_factor(int hotkey) { // mainw->osc_block should be set to TRUE before calling this function ! - weed_plant_t *inst,**in_params,*in_param,*paramtmpl; + weed_plant_t *inst, **in_params, *in_param, *paramtmpl; int error; - int vali,mini,maxi; - double vald,mind,maxd; + int vali, mini, maxi; + double vald, mind, maxd; int weed_hint; int i; - if (hotkey<0) return 0; - inst=key_to_instance[hotkey][key_modes[hotkey]]; + if (hotkey < 0) return 0; + inst = key_to_instance[hotkey][key_modes[hotkey]]; - if (inst==NULL) return 0; + if (inst == NULL) return 0; - i=get_nth_simple_param(inst,0); + i = get_nth_simple_param(inst, 0); - if (i==-1) return 0; + if (i == -1) return 0; - in_params=weed_get_plantptr_array(inst,WEED_LEAF_IN_PARAMETERS,&error); - in_param=in_params[i]; + in_params = weed_get_plantptr_array(inst, WEED_LEAF_IN_PARAMETERS, &error); + in_param = in_params[i]; - paramtmpl=weed_get_plantptr_value(in_param,WEED_LEAF_TEMPLATE,&error); - weed_hint=weed_get_int_value(paramtmpl,WEED_LEAF_HINT,&error); + paramtmpl = weed_get_plantptr_value(in_param, WEED_LEAF_TEMPLATE, &error); + weed_hint = weed_get_int_value(paramtmpl, WEED_LEAF_HINT, &error); switch (weed_hint) { case WEED_HINT_INTEGER: - vali=weed_get_int_value(in_param,WEED_LEAF_VALUE,&error); - mini=weed_get_int_value(paramtmpl,WEED_LEAF_MIN,&error); - maxi=weed_get_int_value(paramtmpl,WEED_LEAF_MAX,&error); + vali = weed_get_int_value(in_param, WEED_LEAF_VALUE, &error); + mini = weed_get_int_value(paramtmpl, WEED_LEAF_MIN, &error); + maxi = weed_get_int_value(paramtmpl, WEED_LEAF_MAX, &error); lives_free(in_params); - return (double)(vali-mini)/(double)(maxi-mini)*KEYSCALE; + return (double)(vali - mini) / (double)(maxi - mini) * KEYSCALE; case WEED_HINT_FLOAT: - vald=weed_get_double_value(in_param,WEED_LEAF_VALUE,&error); - mind=weed_get_double_value(paramtmpl,WEED_LEAF_MIN,&error); - maxd=weed_get_double_value(paramtmpl,WEED_LEAF_MAX,&error); + vald = weed_get_double_value(in_param, WEED_LEAF_VALUE, &error); + mind = weed_get_double_value(paramtmpl, WEED_LEAF_MIN, &error); + maxd = weed_get_double_value(paramtmpl, WEED_LEAF_MAX, &error); lives_free(in_params); - return (vald-mind)/(maxd-mind)*KEYSCALE; + return (vald - mind) / (maxd - mind) * KEYSCALE; case WEED_HINT_SWITCH: - vali=weed_get_boolean_value(in_param,WEED_LEAF_VALUE,&error); + vali = weed_get_boolean_value(in_param, WEED_LEAF_VALUE, &error); lives_free(in_params); return vali; } @@ -8671,10 +8491,6 @@ } - - - - weed_plant_t *get_new_inst_for_keymode(int key, int mode) { // key is 0 based @@ -8684,10 +8500,10 @@ register int i; - for (i=FX_KEYS_MAX_VIRTUAL; i<FX_KEYS_MAX; i++) { - if ((inst=key_to_instance[i][key_modes[i]])==NULL) continue; - if (weed_plant_has_leaf(inst,WEED_LEAF_HOST_MODE)) { - if (weed_get_int_value(inst,WEED_LEAF_HOST_KEY,&error)==key && weed_get_int_value(inst,WEED_LEAF_HOST_MODE,&error)==mode) { + for (i = FX_KEYS_MAX_VIRTUAL; i < FX_KEYS_MAX; i++) { + if ((inst = key_to_instance[i][key_modes[i]]) == NULL) continue; + if (weed_plant_has_leaf(inst, WEED_LEAF_HOST_MODE)) { + if (weed_get_int_value(inst, WEED_LEAF_HOST_KEY, &error) == key && weed_get_int_value(inst, WEED_LEAF_HOST_MODE, &error) == mode) { return inst; } } @@ -8697,87 +8513,73 @@ } - - - - - - - - - //////////////////////////////////////////////////////////////////////// - static LIVES_INLINE char *weed_instance_get_type(weed_plant_t *inst, boolean getsub) { // return value should be free'd after use - weed_plant_t *filter=weed_instance_get_filter(inst,TRUE); - return weed_filter_get_type(filter,getsub,TRUE); + weed_plant_t *filter = weed_instance_get_filter(inst, TRUE); + return weed_filter_get_type(filter, getsub, TRUE); } - - char *rte_keymode_get_type(int key, int mode) { // return value should be free'd after use - char *type=lives_strdup(""); - weed_plant_t *filter,*inst; + char *type = lives_strdup(""); + weed_plant_t *filter, *inst; int idx; key--; - if (!rte_keymode_valid(key+1,mode,TRUE)) return type; + if (!rte_keymode_valid(key + 1, mode, TRUE)) return type; - if ((idx=key_to_fx[key][mode])==-1) return type; - if ((filter=weed_filters[idx])==NULL) return type; + if ((idx = key_to_fx[key][mode]) == -1) return type; + if ((filter = weed_filters[idx]) == NULL) return type; lives_free(type); - mainw->osc_block=TRUE; + mainw->osc_block = TRUE; - if ((inst=key_to_instance[key][mode])!=NULL) { + if ((inst = key_to_instance[key][mode]) != NULL) { // return details for instance - type=weed_instance_get_type(inst,TRUE); - } else type=weed_filter_get_type(filter,TRUE,TRUE); + type = weed_instance_get_type(inst, TRUE); + } else type = weed_filter_get_type(filter, TRUE, TRUE); - mainw->osc_block=FALSE; + mainw->osc_block = FALSE; return type; } - lives_fx_cat_t rte_keymode_get_category(int key, int mode) { weed_plant_t *filter; int idx; lives_fx_cat_t cat; key--; - if (!rte_keymode_valid(key+1,mode,TRUE)) return LIVES_FX_CAT_NONE; + if (!rte_keymode_valid(key + 1, mode, TRUE)) return LIVES_FX_CAT_NONE; - if ((idx=key_to_fx[key][mode])==-1) return LIVES_FX_CAT_NONE; - if ((filter=weed_filters[idx])==NULL) return LIVES_FX_CAT_NONE; + if ((idx = key_to_fx[key][mode]) == -1) return LIVES_FX_CAT_NONE; + if ((filter = weed_filters[idx]) == NULL) return LIVES_FX_CAT_NONE; - else cat=weed_filter_categorise(filter, - enabled_in_channels(filter,FALSE), - enabled_out_channels(filter,FALSE)); + else cat = weed_filter_categorise(filter, + enabled_in_channels(filter, FALSE), + enabled_out_channels(filter, FALSE)); return cat; } - /////////////////////////////////////////////////////////////////////////////// int get_next_free_key(void) { // 0 based - int i,free_key; - free_key=next_free_key; - for (i=free_key+1; i<FX_KEYS_MAX; i++) { - if (key_to_fx[i][0]==-1) { - next_free_key=i; + int i, free_key; + free_key = next_free_key; + for (i = free_key + 1; i < FX_KEYS_MAX; i++) { + if (key_to_fx[i][0] == -1) { + next_free_key = i; break; } } - if (i==FX_KEYS_MAX) next_free_key=-1; + if (i == FX_KEYS_MAX) next_free_key = -1; return free_key; } @@ -8789,122 +8591,120 @@ char *tmp; - boolean was_started=FALSE; - - int oldkeymode=key_modes[--key]; - int orig_mode=mode; - int modekey=key; - - if (key_to_fx[key][mode]==-1) return FALSE; - - if (key<FX_KEYS_MAX_VIRTUAL) free_key_defaults(key,mode); - - for (; mode<(key<FX_KEYS_MAX_VIRTUAL?prefs->max_modes_per_key:1); mode++) { + boolean was_started = FALSE; - mainw->osc_block=TRUE; - if (key>=FX_KEYS_MAX_VIRTUAL||mode==prefs->max_modes_per_key-1||key_to_fx[key][mode+1]==-1) { - if (key_to_instance[key][mode]!=NULL) { - was_started=TRUE; - if (key_modes[key]==mode) modekey=-key-1; - else key_modes[key]=mode; + int oldkeymode = key_modes[--key]; + int orig_mode = mode; + int modekey = key; + + if (key_to_fx[key][mode] == -1) return FALSE; + + if (key < FX_KEYS_MAX_VIRTUAL) free_key_defaults(key, mode); + + for (; mode < (key < FX_KEYS_MAX_VIRTUAL ? prefs->max_modes_per_key : 1); mode++) { + mainw->osc_block = TRUE; + if (key >= FX_KEYS_MAX_VIRTUAL || mode == prefs->max_modes_per_key - 1 || key_to_fx[key][mode + 1] == -1) { + if (key_to_instance[key][mode] != NULL) { + was_started = TRUE; + if (key_modes[key] == mode) modekey = -key - 1; + else key_modes[key] = mode; weed_deinit_effect(modekey); - key_modes[key]=oldkeymode; + key_modes[key] = oldkeymode; } - key_to_fx[key][mode]=-1; + key_to_fx[key][mode] = -1; - if (mode==orig_mode&&key_modes[key]==mode) { - key_modes[key]=0; + if (mode == orig_mode && key_modes[key] == mode) { + key_modes[key] = 0; if (was_started) { - if (key_to_fx[key][0]!=-1) weed_init_effect(modekey); - else if (mainw->rte&(GU641<<key)) mainw->rte^=(GU641<<key); + if (key_to_fx[key][0] != -1) weed_init_effect(modekey); + else if (mainw->rte & (GU641 << key)) mainw->rte ^= (GU641 << key); } } break; // quit the loop - } else if (key<FX_KEYS_MAX_VIRTUAL) { - rte_switch_keymode(key+1,mode,(tmp=make_weed_hashname - (key_to_fx[key][mode+1],TRUE,FALSE))); + } else if (key < FX_KEYS_MAX_VIRTUAL) { + rte_switch_keymode(key + 1, mode, (tmp = make_weed_hashname + (key_to_fx[key][mode + 1], TRUE, FALSE))); lives_free(tmp); - key_defaults[key][mode]=key_defaults[key][mode+1]; - key_defaults[key][mode+1]=NULL; + key_defaults[key][mode] = key_defaults[key][mode + 1]; + key_defaults[key][mode + 1] = NULL; } } - if (key>=FX_KEYS_MAX_VIRTUAL&&key<next_free_key) next_free_key=key; + if (key >= FX_KEYS_MAX_VIRTUAL && key < next_free_key) next_free_key = key; - mainw->osc_block=FALSE; - if (key_modes[key]>orig_mode) key_modes[key]--; + mainw->osc_block = FALSE; + if (key_modes[key] > orig_mode) key_modes[key]--; return TRUE; } - - - - - - ///////////////////////////////////////////////////////////////////////////// boolean rte_key_valid(int key, boolean is_userkey) { key--; - if (key<0||(is_userkey&&key>=FX_KEYS_MAX_VIRTUAL)||key>=FX_KEYS_MAX) return FALSE; - if (key_to_fx[key][key_modes[key]]==-1) return FALSE; + if (key < 0 || (is_userkey && key >= FX_KEYS_MAX_VIRTUAL) || key >= FX_KEYS_MAX) return FALSE; + if (key_to_fx[key][key_modes[key]] == -1) return FALSE; return TRUE; } + boolean rte_keymode_valid(int key, int mode, boolean is_userkey) { - if (key<1||(is_userkey&&key>FX_KEYS_MAX_VIRTUAL)||key>FX_KEYS_MAX||mode<0|| - mode>=(key<FX_KEYS_MAX_VIRTUAL?prefs->max_modes_per_key:1)) return FALSE; - if (key_to_fx[--key][mode]==-1) return FALSE; + if (key < 1 || (is_userkey && key > FX_KEYS_MAX_VIRTUAL) || key > FX_KEYS_MAX || mode < 0 || + mode >= (key < FX_KEYS_MAX_VIRTUAL ? prefs->max_modes_per_key : 1)) return FALSE; + if (key_to_fx[--key][mode] == -1) return FALSE; return TRUE; } + int rte_keymode_get_filter_idx(int key, int mode) { - if (key<1||key>FX_KEYS_MAX||mode<0|| - mode>=(key<FX_KEYS_MAX_VIRTUAL?prefs->max_modes_per_key:1)) return -1; + if (key < 1 || key > FX_KEYS_MAX || mode < 0 || + mode >= (key < FX_KEYS_MAX_VIRTUAL ? prefs->max_modes_per_key : 1)) return -1; return (key_to_fx[--key][mode]); } + int rte_key_getmode(int key) { - if (key<1||key>FX_KEYS_MAX) return -1; + if (key < 1 || key > FX_KEYS_MAX) return -1; return key_modes[--key]; } + int rte_key_getmaxmode(int key) { register int i; - if (key<1||key>FX_KEYS_MAX) return -1; + if (key < 1 || key > FX_KEYS_MAX) return -1; key--; - for (i=0; i<(key<FX_KEYS_MAX_VIRTUAL?prefs->max_modes_per_key:1); i++) { - if (key_to_fx[key][i]==-1) return i-1; + for (i = 0; i < (key < FX_KEYS_MAX_VIRTUAL ? prefs->max_modes_per_key : 1); i++) { + if (key_to_fx[key][i] == -1) return i - 1; } - return i-1; + return i - 1; } + weed_plant_t *rte_keymode_get_instance(int key, int mode) { weed_plant_t *inst; key--; - if (!rte_keymode_valid(key+1,mode,FALSE)) return NULL; - mainw->osc_block=TRUE; - if ((inst=key_to_instance[key][mode])==NULL) { - mainw->osc_block=FALSE; + if (!rte_keymode_valid(key + 1, mode, FALSE)) return NULL; + mainw->osc_block = TRUE; + if ((inst = key_to_instance[key][mode]) == NULL) { + mainw->osc_block = FALSE; return NULL; } - mainw->osc_block=FALSE; + mainw->osc_block = FALSE; return inst; } weed_plant_t *rte_keymode_get_filter(int key, int mode) { key--; - if (!rte_keymode_valid(key+1,mode,FALSE)) return NULL; + if (!rte_keymode_valid(key + 1, mode, FALSE)) return NULL; return weed_filters[key_to_fx[key][mode]]; } @@ -8913,12 +8713,12 @@ // return value should be lives_free'd after use weed_plant_t *filter; int error; - char *filter_name,*retval; + char *filter_name, *retval; - if (idx==-1) return lives_strdup(""); - if ((filter=weed_filters[idx])==NULL) return lives_strdup(""); - filter_name=weed_get_string_value(filter,WEED_LEAF_NAME,&error); - retval=lives_strdup(filter_name); // copy so we can use lives_free() instead of lives_free() + if (idx == -1) return lives_strdup(""); + if ((filter = weed_filters[idx]) == NULL) return lives_strdup(""); + filter_name = weed_get_string_value(filter, WEED_LEAF_NAME, &error); + retval = lives_strdup(filter_name); // copy so we can use lives_free() instead of lives_free() lives_free(filter_name); return retval; } @@ -8928,12 +8728,12 @@ // return value should be lives_free'd after use weed_plant_t *filter; int error; - char *filter_name,*retval; + char *filter_name, *retval; - if (inst==NULL) return lives_strdup(""); - filter=weed_instance_get_filter(inst,get_compound_parent); - filter_name=weed_get_string_value(filter,WEED_LEAF_NAME,&error); - retval=lives_strdup(filter_name); // copy so we can use lives_free() instead of lives_free() + if (inst == NULL) return lives_strdup(""); + filter = weed_instance_get_filter(inst, get_compound_parent); + filter_name = weed_get_string_value(filter, WEED_LEAF_NAME, &error); + retval = lives_strdup(filter_name); // copy so we can use lives_free() instead of lives_free() lives_free(filter_name); return retval; } @@ -8942,198 +8742,192 @@ char *rte_keymode_get_filter_name(int key, int mode) { // return value should be lives_free'd after use key--; - if (!rte_keymode_valid(key+1,mode,TRUE)) return lives_strdup(""); + if (!rte_keymode_valid(key + 1, mode, TRUE)) return lives_strdup(""); return (weed_filter_idx_get_name(key_to_fx[key][mode])); } char *rte_keymode_get_plugin_name(int key, int mode) { // return value should be lives_free'd after use - weed_plant_t *filter,*plugin_info; + weed_plant_t *filter, *plugin_info; char *name; int error; char *retval; key--; - if (!rte_keymode_valid(key+1,mode,TRUE)) return lives_strdup(""); + if (!rte_keymode_valid(key + 1, mode, TRUE)) return lives_strdup(""); - filter=weed_filters[key_to_fx[key][mode]]; - plugin_info=weed_get_plantptr_value(filter,WEED_LEAF_PLUGIN_INFO,&error); - name=weed_get_string_value(plugin_info,WEED_LEAF_NAME,&error); + filter = weed_filters[key_to_fx[key][mode]]; + plugin_info = weed_get_plantptr_value(filter, WEED_LEAF_PLUGIN_INFO, &error); + name = weed_get_string_value(plugin_info, WEED_LEAF_NAME, &error); // do this so we can lives_free() instead of lives_free(); - retval=lives_strdup(name); + retval = lives_strdup(name); lives_free(name); return retval; } - - int rte_getmodespk(void) { return prefs->max_modes_per_key; } + int rte_bg_gen_key(void) { return bg_generator_key; } + int rte_fg_gen_key(void) { return fg_generator_key; } + int rte_bg_gen_mode(void) { return bg_generator_mode; } + int rte_fg_gen_mode(void) { return fg_generator_mode; } - - - - weed_plant_t *get_textparm() { // for rte textmode, get first string parameter for current key/mode instance // we will then forward all keystrokes to this parm WEED_LEAF_VALUE until the exit key (TAB) // is pressed - weed_plant_t *inst,**in_params,*ptmpl,*ret; + weed_plant_t *inst, **in_params, *ptmpl, *ret; - int key=mainw->rte_keys,mode,error,i,hint; + int key = mainw->rte_keys, mode, error, i, hint; - if (key==-1) return NULL; + if (key == -1) return NULL; - mode=rte_key_getmode(key+1); + mode = rte_key_getmode(key + 1); - if ((inst=key_to_instance[key][mode])!=NULL) { + if ((inst = key_to_instance[key][mode]) != NULL) { int nparms; - if (!weed_plant_has_leaf(inst,WEED_LEAF_IN_PARAMETERS)|| - (nparms=weed_leaf_num_elements(inst,WEED_LEAF_IN_PARAMETERS))==0) return NULL; + if (!weed_plant_has_leaf(inst, WEED_LEAF_IN_PARAMETERS) || + (nparms = weed_leaf_num_elements(inst, WEED_LEAF_IN_PARAMETERS)) == 0) return NULL; - in_params=weed_get_plantptr_array(inst,WEED_LEAF_IN_PARAMETERS,&error); + in_params = weed_get_plantptr_array(inst, WEED_LEAF_IN_PARAMETERS, &error); - for (i=0; i<nparms; i++) { - ptmpl=weed_get_plantptr_value(in_params[0],WEED_LEAF_TEMPLATE,&error); + for (i = 0; i < nparms; i++) { + ptmpl = weed_get_plantptr_value(in_params[0], WEED_LEAF_TEMPLATE, &error); - hint=weed_get_int_value(ptmpl,WEED_LEAF_HINT,&error); + hint = weed_get_int_value(ptmpl, WEED_LEAF_HINT, &error); - if (hint==WEED_HINT_TEXT) { - ret=in_params[i]; - weed_set_int_value(ret,WEED_LEAF_HOST_IDX,i); - weed_set_plantptr_value(ret,WEED_LEAF_HOST_INSTANCE,inst); + if (hint == WEED_HINT_TEXT) { + ret = in_params[i]; + weed_set_int_value(ret, WEED_LEAF_HOST_IDX, i); + weed_set_plantptr_value(ret, WEED_LEAF_HOST_INSTANCE, inst); lives_free(in_params); return ret; } - } lives_free(in_params); - } return NULL; - } - boolean rte_key_setmode(int key, int newmode) { // newmode has two special values, -1 = cycle forwards, -2 = cycle backwards - weed_plant_t *inst,*last_inst; + weed_plant_t *inst, *last_inst; int oldmode; int blend_file; - lives_whentostop_t whentostop=mainw->whentostop; - boolean was_started=FALSE; + lives_whentostop_t whentostop = mainw->whentostop; + boolean was_started = FALSE; int real_key; int error; - if (key==0) { - if ((key=mainw->rte_keys)==-1) return FALSE; + if (key == 0) { + if ((key = mainw->rte_keys) == -1) return FALSE; } else key--; - real_key=key; + real_key = key; - oldmode=key_modes[key]; + oldmode = key_modes[key]; - if (key_to_fx[key][0]==-1) return FALSE; // nothing is mapped to effect key + if (key_to_fx[key][0] == -1) return FALSE; // nothing is mapped to effect key - if (newmode==-1) { + if (newmode == -1) { // cycle forwards - if (oldmode==prefs->max_modes_per_key-1||key_to_fx[key][oldmode+1]==-1) { - newmode=0; + if (oldmode == prefs->max_modes_per_key - 1 || key_to_fx[key][oldmode + 1] == -1) { + newmode = 0; } else { - newmode=key_modes[key]+1; + newmode = key_modes[key] + 1; } } - if (newmode==-2) { + if (newmode == -2) { // cycle backwards - newmode=key_modes[key]-1; - if (newmode<0) { - for (newmode=prefs->max_modes_per_key-1; newmode>=0; newmode--) { - if (key_to_fx[key][newmode]!=-1) break; + newmode = key_modes[key] - 1; + if (newmode < 0) { + for (newmode = prefs->max_modes_per_key - 1; newmode >= 0; newmode--) { + if (key_to_fx[key][newmode] != -1) break; } } } - if (newmode<0||newmode>=prefs->max_modes_per_key) return FALSE; + if (newmode < 0 || newmode >= prefs->max_modes_per_key) return FALSE; - if (key_to_fx[key][newmode]==-1) return FALSE; + if (key_to_fx[key][newmode] == -1) return FALSE; - if (rte_window!=NULL) rtew_set_mode_radio(key,newmode); - if (mainw->ce_thumbs) ce_thumbs_set_mode_combo(key,newmode); + if (rte_window != NULL) rtew_set_mode_radio(key, newmode); + if (mainw->ce_thumbs) ce_thumbs_set_mode_combo(key, newmode); - mainw->osc_block=TRUE; + mainw->osc_block = TRUE; // TODO - block template channel changes - if ((inst=key_to_instance[key][oldmode])!=NULL) { - was_started=TRUE; - if (enabled_in_channels(inst,FALSE)==2&&enabled_in_channels(weed_filters[key_to_fx[key][newmode]],FALSE)==2) { + if ((inst = key_to_instance[key][oldmode]) != NULL) { + was_started = TRUE; + if (enabled_in_channels(inst, FALSE) == 2 && enabled_in_channels(weed_filters[key_to_fx[key][newmode]], FALSE) == 2) { // transition --> transition, allow any bg generators to survive - key=-key-1; + key = -key - 1; } } - if (oldmode!=newmode) { - blend_file=mainw->blend_file; + if (oldmode != newmode) { + blend_file = mainw->blend_file; // handle compound fx - last_inst=inst; - while (weed_plant_has_leaf(last_inst,WEED_LEAF_HOST_NEXT_INSTANCE)) last_inst=weed_get_plantptr_value(last_inst, - WEED_LEAF_HOST_NEXT_INSTANCE,&error); + last_inst = inst; + while (weed_plant_has_leaf(last_inst, WEED_LEAF_HOST_NEXT_INSTANCE)) last_inst = weed_get_plantptr_value(last_inst, + WEED_LEAF_HOST_NEXT_INSTANCE, &error); - if (was_started&&(enabled_in_channels(inst,FALSE)>0||enabled_out_channels(last_inst,FALSE)==0||is_pure_audio(inst,FALSE))) { + if (was_started && (enabled_in_channels(inst, FALSE) > 0 || enabled_out_channels(last_inst, FALSE) == 0 || is_pure_audio(inst, FALSE))) { // not a (video or video/audio) generator weed_deinit_effect(key); - } else if (enabled_in_channels(weed_filters[key_to_fx[key][newmode]],FALSE)==0&& - has_video_chans_out(weed_filters[key_to_fx[key][newmode]],TRUE)) - mainw->whentostop=NEVER_STOP; // when gen->gen, dont stop pb + } else if (enabled_in_channels(weed_filters[key_to_fx[key][newmode]], FALSE) == 0 && + has_video_chans_out(weed_filters[key_to_fx[key][newmode]], TRUE)) + mainw->whentostop = NEVER_STOP; // when gen->gen, dont stop pb - key_modes[real_key]=newmode; + key_modes[real_key] = newmode; - mainw->blend_file=blend_file; + mainw->blend_file = blend_file; if (was_started) { if (!weed_init_effect(key)) { // TODO - unblock template channel changes - mainw->whentostop=whentostop; - key=real_key; - if (mainw->rte&(GU641<<key)) mainw->rte^=(GU641<<key); - mainw->osc_block=FALSE; + mainw->whentostop = whentostop; + key = real_key; + if (mainw->rte & (GU641 << key)) mainw->rte ^= (GU641 << key); + mainw->osc_block = FALSE; return FALSE; } - if (mainw->ce_thumbs) ce_thumbs_add_param_box(real_key,TRUE); + if (mainw->ce_thumbs) ce_thumbs_add_param_box(real_key, TRUE); } // TODO - unblock template channel changes - mainw->whentostop=whentostop; + mainw->whentostop = whentostop; } - mainw->osc_block=FALSE; + mainw->osc_block = FALSE; return TRUE; } @@ -9144,30 +8938,30 @@ // if all slots are full, we return -3 // currently, generators and non-generators cannot be mixed on the same key (causes problems if the mode is switched) // in this case a -2 is returned - boolean has_gen=FALSE; - boolean has_non_gen=FALSE; + boolean has_gen = FALSE; + boolean has_non_gen = FALSE; int i; - if (idx==-1) return -1; + if (idx == -1) return -1; key--; - for (i=0; i<prefs->max_modes_per_key; i++) { - if (key_to_fx[key][i]!=-1) { - if (enabled_in_channels(weed_filters[key_to_fx[key][i]],FALSE)==0 - &&has_video_chans_out(weed_filters[key_to_fx[key][i]],TRUE)) - has_gen=TRUE; - else has_non_gen=TRUE; + for (i = 0; i < prefs->max_modes_per_key; i++) { + if (key_to_fx[key][i] != -1) { + if (enabled_in_channels(weed_filters[key_to_fx[key][i]], FALSE) == 0 + && has_video_chans_out(weed_filters[key_to_fx[key][i]], TRUE)) + has_gen = TRUE; + else has_non_gen = TRUE; } else { - if ((enabled_in_channels(weed_filters[idx],FALSE)==0&&has_non_gen&& - !all_outs_alpha(weed_filters[idx],TRUE)&&has_video_chans_out(weed_filters[idx],TRUE)) || - (enabled_in_channels(weed_filters[idx],FALSE)>0&&has_gen)) return -2; - key_to_fx[key][i]=idx; - if (rte_window!=NULL) { + if ((enabled_in_channels(weed_filters[idx], FALSE) == 0 && has_non_gen && + !all_outs_alpha(weed_filters[idx], TRUE) && has_video_chans_out(weed_filters[idx], TRUE)) || + (enabled_in_channels(weed_filters[idx], FALSE) > 0 && has_gen)) return -2; + key_to_fx[key][i] = idx; + if (rte_window != NULL) { // if rte window is visible add to combo box char *tmp; - rtew_combo_set_text(key,i,(tmp=rte_keymode_get_filter_name(key+1,i))); + rtew_combo_set_text(key, i, (tmp = rte_keymode_get_filter_name(key + 1, i))); lives_free(tmp); // set in ce_thumb combos @@ -9182,102 +8976,99 @@ int weed_add_effectkey(int key, const char *hashname, boolean fullname) { // add a filter_class by hashname to an effect_key - int idx=weed_get_idx_for_hashname(hashname,fullname); - return weed_add_effectkey_by_idx(key,idx); + int idx = weed_get_idx_for_hashname(hashname, fullname); + return weed_add_effectkey_by_idx(key, idx); } - int rte_switch_keymode(int key, int mode, const char *hashname) { // this is called when we switch the filter_class bound to an effect_key/mode - int oldkeymode=key_modes[--key]; - int id=weed_get_idx_for_hashname(hashname,TRUE),tid; + int oldkeymode = key_modes[--key]; + int id = weed_get_idx_for_hashname(hashname, TRUE), tid; boolean osc_block; - boolean has_gen=FALSE,has_non_gen=FALSE; + boolean has_gen = FALSE, has_non_gen = FALSE; - int test=(mode==0?1:0); + int test = (mode == 0 ? 1 : 0); // effect not found - if (id==-1) return -1; + if (id == -1) return -1; - if ((tid=key_to_fx[key][test])!=-1) { - if (enabled_in_channels(weed_filters[tid],FALSE)==0&&has_video_chans_out(weed_filters[tid],TRUE)) has_gen=TRUE; - else has_non_gen=TRUE; + if ((tid = key_to_fx[key][test]) != -1) { + if (enabled_in_channels(weed_filters[tid], FALSE) == 0 && has_video_chans_out(weed_filters[tid], TRUE)) has_gen = TRUE; + else has_non_gen = TRUE; } - if ((enabled_in_channels(weed_filters[id],FALSE)==0&&has_video_chans_out(weed_filters[id],TRUE)&& - !all_outs_alpha(weed_filters[id],TRUE)&&has_non_gen)|| - (enabled_in_channels(weed_filters[id],FALSE)>0&&has_gen)) return -2; + if ((enabled_in_channels(weed_filters[id], FALSE) == 0 && has_video_chans_out(weed_filters[id], TRUE) && + !all_outs_alpha(weed_filters[id], TRUE) && has_non_gen) || + (enabled_in_channels(weed_filters[id], FALSE) > 0 && has_gen)) return -2; - osc_block=mainw->osc_block; - mainw->osc_block=TRUE; + osc_block = mainw->osc_block; + mainw->osc_block = TRUE; // must be done before switching the key_to_fx, as we need to know number of in_parameter_templates - if (key_defaults[key][mode]!=NULL) free_key_defaults(key,mode); + if (key_defaults[key][mode] != NULL) free_key_defaults(key, mode); - if (key_to_instance[key][mode]!=NULL) { - key_modes[key]=mode; - weed_deinit_effect(-key-1); // set is_modeswitch - key_to_fx[key][mode]=id; - weed_init_effect(-key-1); - key_modes[key]=oldkeymode; - } else key_to_fx[key][mode]=id; + if (key_to_instance[key][mode] != NULL) { + key_modes[key] = mode; + weed_deinit_effect(-key - 1); // set is_modeswitch + key_to_fx[key][mode] = id; + weed_init_effect(-key - 1); + key_modes[key] = oldkeymode; + } else key_to_fx[key][mode] = id; - mainw->osc_block=osc_block; + mainw->osc_block = osc_block; return 0; } - void rte_swap_fg_bg(void) { - int key=fg_generator_key; - int mode=fg_generator_mode; + int key = fg_generator_key; + int mode = fg_generator_mode; - if (key!=-1) { - fg_generator_clip=-1; + if (key != -1) { + fg_generator_clip = -1; } - fg_generator_key=bg_generator_key; - fg_generator_mode=bg_generator_mode; - if (fg_generator_key!=-1) { - fg_generator_clip=mainw->current_file; + fg_generator_key = bg_generator_key; + fg_generator_mode = bg_generator_mode; + if (fg_generator_key != -1) { + fg_generator_clip = mainw->current_file; } - bg_generator_key=key; - bg_generator_mode=mode; + bg_generator_key = key; + bg_generator_mode = mode; } - LiVESList *weed_get_all_names(lives_fx_list_t list_type) { // remember to free list after use, if non-NULL - LiVESList *list=NULL; - int i,error; - char *filter_name,*filter_type,*hashname,*string; + LiVESList *list = NULL; + int i, error; + char *filter_name, *filter_type, *hashname, *string; - for (i=0; i<num_weed_filters-num_weed_dupes; i++) { - filter_name=weed_get_string_value(weed_filters[i],WEED_LEAF_NAME,&error); + for (i = 0; i < num_weed_filters - num_weed_dupes; i++) { + filter_name = weed_get_string_value(weed_filters[i], WEED_LEAF_NAME, &error); switch (list_type) { case FX_LIST_NAME: // just name - string=lives_strdup(filter_name); - list=lives_list_append(list,(livespointer)string); + string = lives_strdup(filter_name); + list = lives_list_append(list, (livespointer)string); break; case FX_LIST_NAME_AND_TYPE: // name and type - filter_type=weed_filter_get_type(weed_filters[i],TRUE,FALSE); + filter_type = weed_filter_get_type(weed_filters[i], TRUE, FALSE); - if (weed_plant_has_leaf(weed_filters[i],WEED_LEAF_PLUGIN_UNSTABLE)&& - weed_get_boolean_value(weed_filters[i],WEED_LEAF_PLUGIN_UNSTABLE,&error)==WEED_TRUE) { - string=lives_strdup_printf(_("%s [unstable] (%s)"),filter_name,filter_type); - } else string=lives_strdup_printf("%s (%s)",filter_name,filter_type); - list=lives_list_append(list,(livespointer)string); + if (weed_plant_has_leaf(weed_filters[i], WEED_LEAF_PLUGIN_UNSTABLE) && + weed_get_boolean_value(weed_filters[i], WEED_LEAF_PLUGIN_UNSTABLE, &error) == WEED_TRUE) { + string = lives_strdup_printf(_("%s [unstable] (%s)"), filter_name, filter_type); + } else string = lives_strdup_printf("%s (%s)", filter_name, filter_type); + list = lives_list_append(list, (livespointer)string); lives_free(filter_type); break; case FX_LIST_HASHNAME: // hashnames - hashname=make_weed_hashname(i,TRUE,FALSE); - list=lives_list_append(list,(livespointer)hashname); + hashname = make_weed_hashname(i, TRUE, FALSE); + list = lives_list_append(list, (livespointer)hashname); break; } lives_free(filter_name); @@ -9287,7 +9078,7 @@ int rte_get_numfilters(boolean inc_dupes) { - if (!inc_dupes) return num_weed_filters-num_weed_dupes; + if (!inc_dupes) return num_weed_filters - num_weed_dupes; return num_weed_filters; } @@ -9300,74 +9091,74 @@ // paramtmpl must be supplied, since pchanges do not have one directly - int i,error,hint; - int num_vals=weed_leaf_num_elements(param,WEED_LEAF_VALUE); - int new_defi,*valis,*nvalis; - double new_defd,*valds,*nvalds; - char *new_defs,**valss,**nvalss; + int i, error, hint; + int num_vals = weed_leaf_num_elements(param, WEED_LEAF_VALUE); + int new_defi, *valis, *nvalis; + double new_defd, *valds, *nvalds; + char *new_defs, **valss, **nvalss; int cspace; - int *colsis,*coli; + int *colsis, *coli; int vcount; - double *colsds,*cold; + double *colsds, *cold; - hint=weed_get_int_value(paramtmpl,WEED_LEAF_HINT,&error); + hint = weed_get_int_value(paramtmpl, WEED_LEAF_HINT, &error); - vcount=weed_leaf_num_elements(param,WEED_LEAF_VALUE); - if (index>=vcount) vcount=++index; + vcount = weed_leaf_num_elements(param, WEED_LEAF_VALUE); + if (index >= vcount) vcount = ++index; switch (hint) { case WEED_HINT_INTEGER: - new_defi=weed_get_int_value(paramtmpl,WEED_LEAF_NEW_DEFAULT,&error); - valis=weed_get_int_array(param,WEED_LEAF_VALUE,&error); - nvalis=(int *)lives_malloc(vcount*sizint); - for (i=0; i<vcount; i++) { - if (i<num_vals&&i<index) nvalis[i]=valis[i]; - else if (i<=num_vals&&i>index) nvalis[i]=valis[i-1]; - else nvalis[i]=new_defi; + new_defi = weed_get_int_value(paramtmpl, WEED_LEAF_NEW_DEFAULT, &error); + valis = weed_get_int_array(param, WEED_LEAF_VALUE, &error); + nvalis = (int *)lives_malloc(vcount * sizint); + for (i = 0; i < vcount; i++) { + if (i < num_vals && i < index) nvalis[i] = valis[i]; + else if (i <= num_vals && i > index) nvalis[i] = valis[i - 1]; + else nvalis[i] = new_defi; } - weed_set_int_array(param,WEED_LEAF_VALUE,vcount,nvalis); + weed_set_int_array(param, WEED_LEAF_VALUE, vcount, nvalis); lives_free(valis); lives_free(nvalis); break; case WEED_HINT_FLOAT: - new_defd=weed_get_double_value(paramtmpl,WEED_LEAF_NEW_DEFAULT,&error); - valds=weed_get_double_array(param,WEED_LEAF_VALUE,&error); - nvalds=(double *)lives_malloc(vcount*sizdbl); - for (i=0; i<vcount; i++) { - if (i<num_vals&&i<index) nvalds[i]=valds[i]; - else if (i<=num_vals&&i>index) nvalds[i]=valds[i-1]; - else nvalds[i]=new_defd; + new_defd = weed_get_double_value(paramtmpl, WEED_LEAF_NEW_DEFAULT, &error); + valds = weed_get_double_array(param, WEED_LEAF_VALUE, &error); + nvalds = (double *)lives_malloc(vcount * sizdbl); + for (i = 0; i < vcount; i++) { + if (i < num_vals && i < index) nvalds[i] = valds[i]; + else if (i <= num_vals && i > index) nvalds[i] = valds[i - 1]; + else nvalds[i] = new_defd; } - weed_set_double_array(param,WEED_LEAF_VALUE,vcount,nvalds); + weed_set_double_array(param, WEED_LEAF_VALUE, vcount, nvalds); lives_free(valds); lives_free(nvalds); break; case WEED_HINT_SWITCH: - new_defi=weed_get_boolean_value(paramtmpl,WEED_LEAF_NEW_DEFAULT,&error); - valis=weed_get_boolean_array(param,WEED_LEAF_VALUE,&error); - nvalis=(int *)lives_malloc(vcount*sizint); - for (i=0; i<vcount; i++) { - if (i<num_vals&&i<index) nvalis[i]=valis[i]; - else if (i<=num_vals&&i>index) nvalis[i]=valis[i-1]; - else nvalis[i]=new_defi; + new_defi = weed_get_boolean_value(paramtmpl, WEED_LEAF_NEW_DEFAULT, &error); + valis = weed_get_boolean_array(param, WEED_LEAF_VALUE, &error); + nvalis = (int *)lives_malloc(vcount * sizint); + for (i = 0; i < vcount; i++) { + if (i < num_vals && i < index) nvalis[i] = valis[i]; + else if (i <= num_vals && i > index) nvalis[i] = valis[i - 1]; + else nvalis[i] = new_defi; } - weed_set_boolean_array(param,WEED_LEAF_VALUE,vcount,nvalis); + weed_set_boolean_array(param, WEED_LEAF_VALUE, vcount, nvalis); lives_free(valis); lives_free(nvalis); break; case WEED_HINT_TEXT: - new_defs=weed_get_string_value(paramtmpl,WEED_LEAF_NEW_DEFAULT,&error); - valss=weed_get_string_array(param,WEED_LEAF_VALUE,&error); - nvalss=(char **)lives_malloc(vcount*sizeof(char *)); - for (i=0; i<vcount; i++) { - if (i<num_vals&&i<index) nvalss[i]=valss[i]; - else if (i<=num_vals&&i>index) nvalss[i]=valss[i-1]; - else nvalss[i]=new_defs; + new_defs = weed_get_string_value(paramtmpl, WEED_LEAF_NEW_DEFAULT, &error); + valss = weed_get_string_array(param, WEED_LEAF_VALUE, &error); + nvalss = (char **)lives_malloc(vcount * sizeof(char *)); + for (i = 0; i < vcount; i++) { + if (i < num_vals && i < index) nvalss[i] = valss[i]; + else if (i <= num_vals && i > index) nvalss[i] = valss[i - 1]; + else nvalss[i] = new_defs; } - weed_set_string_array(param,WEED_LEAF_VALUE,vcount,nvalss); + weed_set_string_array(param, WEED_LEAF_VALUE, vcount, nvalss); - for (i=0; i<index; i++) { + for (i = 0; i < index; i++) { lives_free(nvalss[i]); } @@ -9375,62 +9166,62 @@ lives_free(nvalss); break; case WEED_HINT_COLOR: - cspace=weed_get_int_value(paramtmpl,WEED_LEAF_COLORSPACE,&error); + cspace = weed_get_int_value(paramtmpl, WEED_LEAF_COLORSPACE, &error); switch (cspace) { case WEED_COLORSPACE_RGB: - index*=3; - vcount*=3; - if (weed_leaf_seed_type(paramtmpl,WEED_LEAF_NEW_DEFAULT)==WEED_SEED_INT) { - colsis=weed_get_int_array(param,WEED_LEAF_VALUE,&error); - if (weed_leaf_num_elements(paramtmpl,WEED_LEAF_NEW_DEFAULT)==1) { - coli=(int *)lives_malloc(3*sizint); - coli[0]=coli[1]=coli[2]=weed_get_int_value(paramtmpl,WEED_LEAF_NEW_DEFAULT,&error); - } else coli=weed_get_int_array(paramtmpl,WEED_LEAF_NEW_DEFAULT,&error); - valis=weed_get_int_array(param,WEED_LEAF_VALUE,&error); - nvalis=(int *)lives_malloc(vcount*sizint); - for (i=0; i<vcount; i+=3) { - if (i<num_vals&&i<index) { - nvalis[i]=valis[i]; - nvalis[i+1]=valis[i+1]; - nvalis[i+2]=valis[i+2]; - } else if (i<=num_vals&&i>index) { - nvalis[i]=valis[i-3]; - nvalis[i+1]=valis[i-2]; - nvalis[i+2]=valis[i-1]; + index *= 3; + vcount *= 3; + if (weed_leaf_seed_type(paramtmpl, WEED_LEAF_NEW_DEFAULT) == WEED_SEED_INT) { + colsis = weed_get_int_array(param, WEED_LEAF_VALUE, &error); + if (weed_leaf_num_elements(paramtmpl, WEED_LEAF_NEW_DEFAULT) == 1) { + coli = (int *)lives_malloc(3 * sizint); + coli[0] = coli[1] = coli[2] = weed_get_int_value(paramtmpl, WEED_LEAF_NEW_DEFAULT, &error); + } else coli = weed_get_int_array(paramtmpl, WEED_LEAF_NEW_DEFAULT, &error); + valis = weed_get_int_array(param, WEED_LEAF_VALUE, &error); + nvalis = (int *)lives_malloc(vcount * sizint); + for (i = 0; i < vcount; i += 3) { + if (i < num_vals && i < index) { + nvalis[i] = valis[i]; + nvalis[i + 1] = valis[i + 1]; + nvalis[i + 2] = valis[i + 2]; + } else if (i <= num_vals && i > index) { + nvalis[i] = valis[i - 3]; + nvalis[i + 1] = valis[i - 2]; + nvalis[i + 2] = valis[i - 1]; } else { - nvalis[i]=coli[0]; - nvalis[i+1]=coli[1]; - nvalis[i+2]=coli[2]; + nvalis[i] = coli[0]; + nvalis[i + 1] = coli[1]; + nvalis[i + 2] = coli[2]; } } - weed_set_int_array(param,WEED_LEAF_VALUE,vcount,nvalis); + weed_set_int_array(param, WEED_LEAF_VALUE, vcount, nvalis); lives_free(valis); lives_free(colsis); lives_free(nvalis); } else { - colsds=weed_get_double_array(param,WEED_LEAF_VALUE,&error); - if (weed_leaf_num_elements(paramtmpl,WEED_LEAF_NEW_DEFAULT)==1) { - cold=(double *)lives_malloc(3*sizdbl); - cold[0]=cold[1]=cold[2]=weed_get_double_value(paramtmpl,WEED_LEAF_NEW_DEFAULT,&error); - } else cold=weed_get_double_array(paramtmpl,WEED_LEAF_NEW_DEFAULT,&error); - valds=weed_get_double_array(param,WEED_LEAF_VALUE,&error); - nvalds=(double *)lives_malloc(vcount*sizdbl); - for (i=0; i<vcount; i+=3) { - if (i<num_vals&&i<index) { - nvalds[i]=valds[i]; - nvalds[i+1]=valds[i+1]; - nvalds[i+2]=valds[i+2]; - } else if (i<=num_vals&&i>index) { - nvalds[i]=valds[i-3]; - nvalds[i+1]=valds[i-2]; - nvalds[i+2]=valds[i-1]; + colsds = weed_get_double_array(param, WEED_LEAF_VALUE, &error); + if (weed_leaf_num_elements(paramtmpl, WEED_LEAF_NEW_DEFAULT) == 1) { + cold = (double *)lives_malloc(3 * sizdbl); + cold[0] = cold[1] = cold[2] = weed_get_double_value(paramtmpl, WEED_LEAF_NEW_DEFAULT, &error); + } else cold = weed_get_double_array(paramtmpl, WEED_LEAF_NEW_DEFAULT, &error); + valds = weed_get_double_array(param, WEED_LEAF_VALUE, &error); + nvalds = (double *)lives_malloc(vcount * sizdbl); + for (i = 0; i < vcount; i += 3) { + if (i < num_vals && i < index) { + nvalds[i] = valds[i]; + nvalds[i + 1] = valds[i + 1]; + nvalds[i + 2] = valds[i + 2]; + } else if (i <= num_vals && i > index) { + nvalds[i] = valds[i - 3]; + nvalds[i + 1] = valds[i - 2]; + nvalds[i + 2] = valds[i - 1]; } else { - nvalds[i]=cold[0]; - nvalds[i+1]=cold[1]; - nvalds[i+2]=cold[2]; + nvalds[i] = cold[0]; + nvalds[i + 1] = cold[1]; + nvalds[i + 2] = cold[2]; } } - weed_set_double_array(param,WEED_LEAF_VALUE,vcount,nvalds); + weed_set_double_array(param, WEED_LEAF_VALUE, vcount, nvalds); lives_free(valds); lives_free(colsds); lives_free(nvalds); @@ -9441,184 +9232,178 @@ } - - static weed_plant_t **void_ptrs_to_plant_array(weed_plant_t *tmpl, void *pchain, int num) { // return value should be free'd after use weed_plant_t **param_array; weed_plant_t *pchange; - int i=0,error; + int i = 0, error; - if (num==-1) { + if (num == -1) { // count pchain entries - num=0; - pchange=(weed_plant_t *)pchain; - while (pchange!=NULL) { - pchange=(weed_plant_t *)weed_get_voidptr_value(pchange,WEED_LEAF_NEXT_CHANGE,&error); + num = 0; + pchange = (weed_plant_t *)pchain; + while (pchange != NULL) { + pchange = (weed_plant_t *)weed_get_voidptr_value(pchange, WEED_LEAF_NEXT_CHANGE, &error); num++; } } - param_array=(weed_plant_t **)lives_malloc((num+1)*sizeof(weed_plant_t *)); - pchange=(weed_plant_t *)pchain; - while (pchange!=NULL) { - param_array[i]=weed_plant_new(WEED_PLANT_PARAMETER); - weed_set_plantptr_value(param_array[i],WEED_LEAF_TEMPLATE,tmpl); - weed_leaf_copy(param_array[i],WEED_LEAF_TIMECODE,pchange,WEED_LEAF_TIMECODE); - weed_leaf_copy(param_array[i],WEED_LEAF_VALUE,pchange,WEED_LEAF_VALUE); - weed_add_plant_flags(param_array[i],WEED_LEAF_READONLY_PLUGIN); - pchange=(weed_plant_t *)weed_get_voidptr_value(pchange,WEED_LEAF_NEXT_CHANGE,&error); + param_array = (weed_plant_t **)lives_malloc((num + 1) * sizeof(weed_plant_t *)); + pchange = (weed_plant_t *)pchain; + while (pchange != NULL) { + param_array[i] = weed_plant_new(WEED_PLANT_PARAMETER); + weed_set_plantptr_value(param_array[i], WEED_LEAF_TEMPLATE, tmpl); + weed_leaf_copy(param_array[i], WEED_LEAF_TIMECODE, pchange, WEED_LEAF_TIMECODE); + weed_leaf_copy(param_array[i], WEED_LEAF_VALUE, pchange, WEED_LEAF_VALUE); + weed_add_plant_flags(param_array[i], WEED_LEAF_READONLY_PLUGIN); + pchange = (weed_plant_t *)weed_get_voidptr_value(pchange, WEED_LEAF_NEXT_CHANGE, &error); i++; } - param_array[i]=NULL; + param_array[i] = NULL; return param_array; } static int get_default_element_int(weed_plant_t *param, int idx, int mpy, int add) { - int *valsi,val; + int *valsi, val; int error; - weed_plant_t *ptmpl=weed_get_plantptr_value(param,WEED_LEAF_TEMPLATE,&error); + weed_plant_t *ptmpl = weed_get_plantptr_value(param, WEED_LEAF_TEMPLATE, &error); - if (weed_plant_has_leaf(ptmpl,WEED_LEAF_HOST_DEFAULT)&&weed_leaf_num_elements(ptmpl,WEED_LEAF_HOST_DEFAULT)>idx*mpy+add) { - valsi=weed_get_int_array(ptmpl,WEED_LEAF_HOST_DEFAULT,&error); - val=valsi[idx*mpy+add]; + if (weed_plant_has_leaf(ptmpl, WEED_LEAF_HOST_DEFAULT) && weed_leaf_num_elements(ptmpl, WEED_LEAF_HOST_DEFAULT) > idx * mpy + add) { + valsi = weed_get_int_array(ptmpl, WEED_LEAF_HOST_DEFAULT, &error); + val = valsi[idx * mpy + add]; lives_free(valsi); return val; } - if (weed_plant_has_leaf(ptmpl,WEED_LEAF_DEFAULT)&&weed_leaf_num_elements(ptmpl,WEED_LEAF_DEFAULT)>idx*mpy+add) { - valsi=weed_get_int_array(ptmpl,WEED_LEAF_DEFAULT,&error); - val=valsi[idx*mpy+add]; + if (weed_plant_has_leaf(ptmpl, WEED_LEAF_DEFAULT) && weed_leaf_num_elements(ptmpl, WEED_LEAF_DEFAULT) > idx * mpy + add) { + valsi = weed_get_int_array(ptmpl, WEED_LEAF_DEFAULT, &error); + val = valsi[idx * mpy + add]; lives_free(valsi); return val; } - if (weed_leaf_num_elements(ptmpl,WEED_LEAF_NEW_DEFAULT)==mpy) { - valsi=weed_get_int_array(ptmpl,WEED_LEAF_DEFAULT,&error); - val=valsi[add]; + if (weed_leaf_num_elements(ptmpl, WEED_LEAF_NEW_DEFAULT) == mpy) { + valsi = weed_get_int_array(ptmpl, WEED_LEAF_DEFAULT, &error); + val = valsi[add]; lives_free(valsi); return val; } - return weed_get_int_value(ptmpl,WEED_LEAF_NEW_DEFAULT,&error); + return weed_get_int_value(ptmpl, WEED_LEAF_NEW_DEFAULT, &error); } static double get_default_element_double(weed_plant_t *param, int idx, int mpy, int add) { - double *valsd,val; + double *valsd, val; int error; - weed_plant_t *ptmpl=weed_get_plantptr_value(param,WEED_LEAF_TEMPLATE,&error); + weed_plant_t *ptmpl = weed_get_plantptr_value(param, WEED_LEAF_TEMPLATE, &error); - if (weed_plant_has_leaf(ptmpl,WEED_LEAF_HOST_DEFAULT)&&weed_leaf_num_elements(ptmpl,WEED_LEAF_HOST_DEFAULT)>idx*mpy+add) { - valsd=weed_get_double_array(ptmpl,WEED_LEAF_HOST_DEFAULT,&error); - val=valsd[idx*mpy+add]; + if (weed_plant_has_leaf(ptmpl, WEED_LEAF_HOST_DEFAULT) && weed_leaf_num_elements(ptmpl, WEED_LEAF_HOST_DEFAULT) > idx * mpy + add) { + valsd = weed_get_double_array(ptmpl, WEED_LEAF_HOST_DEFAULT, &error); + val = valsd[idx * mpy + add]; lives_free(valsd); return val; } - if (weed_plant_has_leaf(ptmpl,WEED_LEAF_DEFAULT)&&weed_leaf_num_elements(ptmpl,WEED_LEAF_DEFAULT)>idx*mpy+add) { - valsd=weed_get_double_array(ptmpl,WEED_LEAF_DEFAULT,&error); - val=valsd[idx*mpy+add]; + if (weed_plant_has_leaf(ptmpl, WEED_LEAF_DEFAULT) && weed_leaf_num_elements(ptmpl, WEED_LEAF_DEFAULT) > idx * mpy + add) { + valsd = weed_get_double_array(ptmpl, WEED_LEAF_DEFAULT, &error); + val = valsd[idx * mpy + add]; lives_free(valsd); return val; } - if (weed_leaf_num_elements(ptmpl,WEED_LEAF_NEW_DEFAULT)==mpy) { - valsd=weed_get_double_array(ptmpl,WEED_LEAF_DEFAULT,&error); - val=valsd[add]; + if (weed_leaf_num_elements(ptmpl, WEED_LEAF_NEW_DEFAULT) == mpy) { + valsd = weed_get_double_array(ptmpl, WEED_LEAF_DEFAULT, &error); + val = valsd[add]; lives_free(valsd); return val; } - return weed_get_double_value(ptmpl,WEED_LEAF_NEW_DEFAULT,&error); + return weed_get_double_value(ptmpl, WEED_LEAF_NEW_DEFAULT, &error); } static int get_default_element_bool(weed_plant_t *param, int idx) { - int *valsi,val; + int *valsi, val; int error; - weed_plant_t *ptmpl=weed_get_plantptr_value(param,WEED_LEAF_TEMPLATE,&error); + weed_plant_t *ptmpl = weed_get_plantptr_value(param, WEED_LEAF_TEMPLATE, &error); - if (weed_plant_has_leaf(ptmpl,WEED_LEAF_HOST_DEFAULT)&&weed_leaf_num_elements(ptmpl,WEED_LEAF_HOST_DEFAULT)>idx) { - valsi=weed_get_boolean_array(ptmpl,WEED_LEAF_HOST_DEFAULT,&error); - val=valsi[idx]; + if (weed_plant_has_leaf(ptmpl, WEED_LEAF_HOST_DEFAULT) && weed_leaf_num_elements(ptmpl, WEED_LEAF_HOST_DEFAULT) > idx) { + valsi = weed_get_boolean_array(ptmpl, WEED_LEAF_HOST_DEFAULT, &error); + val = valsi[idx]; lives_free(valsi); return val; } - if (weed_plant_has_leaf(ptmpl,WEED_LEAF_DEFAULT)&&weed_leaf_num_elements(ptmpl,WEED_LEAF_DEFAULT)>idx) { - valsi=weed_get_boolean_array(ptmpl,WEED_LEAF_DEFAULT,&error); - val=valsi[idx]; + if (weed_plant_has_leaf(ptmpl, WEED_LEAF_DEFAULT) && weed_leaf_num_elements(ptmpl, WEED_LEAF_DEFAULT) > idx) { + valsi = weed_get_boolean_array(ptmpl, WEED_LEAF_DEFAULT, &error); + val = valsi[idx]; lives_free(valsi); return val; } - return weed_get_boolean_value(ptmpl,WEED_LEAF_NEW_DEFAULT,&error); + return weed_get_boolean_value(ptmpl, WEED_LEAF_NEW_DEFAULT, &error); } static char *get_default_element_string(weed_plant_t *param, int idx) { - char **valss,*val,*val2; - int error,i; + char **valss, *val, *val2; + int error, i; int numvals; - weed_plant_t *ptmpl=weed_get_plantptr_value(param,WEED_LEAF_TEMPLATE,&error); + weed_plant_t *ptmpl = weed_get_plantptr_value(param, WEED_LEAF_TEMPLATE, &error); - if (weed_plant_has_leaf(ptmpl,WEED_LEAF_HOST_DEFAULT)&&(numvals=weed_leaf_num_elements(ptmpl,WEED_LEAF_HOST_DEFAULT))>idx) { - valss=weed_get_string_array(ptmpl,WEED_LEAF_HOST_DEFAULT,&error); - val=lives_strdup(valss[idx]); - for (i=0; i<numvals; i++) lives_free(valss[i]); + if (weed_plant_has_leaf(ptmpl, WEED_LEAF_HOST_DEFAULT) && (numvals = weed_leaf_num_elements(ptmpl, WEED_LEAF_HOST_DEFAULT)) > idx) { + valss = weed_get_string_array(ptmpl, WEED_LEAF_HOST_DEFAULT, &error); + val = lives_strdup(valss[idx]); + for (i = 0; i < numvals; i++) lives_free(valss[i]); lives_free(valss); return val; } - if (weed_plant_has_leaf(ptmpl,WEED_LEAF_DEFAULT)&&(numvals=weed_leaf_num_elements(ptmpl,WEED_LEAF_DEFAULT))>idx) { - valss=weed_get_string_array(ptmpl,WEED_LEAF_DEFAULT,&error); - val=lives_strdup(valss[idx]); - for (i=0; i<numvals; i++) lives_free(valss[i]); + if (weed_plant_has_leaf(ptmpl, WEED_LEAF_DEFAULT) && (numvals = weed_leaf_num_elements(ptmpl, WEED_LEAF_DEFAULT)) > idx) { + valss = weed_get_string_array(ptmpl, WEED_LEAF_DEFAULT, &error); + val = lives_strdup(valss[idx]); + for (i = 0; i < numvals; i++) lives_free(valss[i]); lives_free(valss); return val; } - val=weed_get_string_value(ptmpl,WEED_LEAF_NEW_DEFAULT,&error); - val2=lives_strdup(val); + val = weed_get_string_value(ptmpl, WEED_LEAF_NEW_DEFAULT, &error); + val2 = lives_strdup(val); lives_free(val); return val2; } - - - - boolean interpolate_param(weed_plant_t *inst, int i, void *pchain, weed_timecode_t tc) { // return FALSE if param has no WEED_LEAF_VALUE - this can happen during realtime audio processing, if the effect is inited, but no WEED_LEAF_VALUE has been set yet weed_plant_t **param_array; - int error,j; - weed_plant_t *pchange=(weed_plant_t *)pchain,*last_pchange=NULL; + int error, j; + weed_plant_t *pchange = (weed_plant_t *)pchain, *last_pchange = NULL; weed_plant_t *wtmpl; - weed_plant_t **in_params=weed_get_plantptr_array(inst,WEED_LEAF_IN_PARAMETERS,&error); - weed_timecode_t tc_diff=0,tc_diff2; - int hint,cspace=0; - weed_plant_t *gui=NULL; - weed_plant_t *param=in_params[i]; - double *last_valuesd,*next_valuesd; - int *last_valuesi,*next_valuesi; - void **lpc,**npc; + weed_plant_t **in_params = weed_get_plantptr_array(inst, WEED_LEAF_IN_PARAMETERS, &error); + weed_timecode_t tc_diff = 0, tc_diff2; + int hint, cspace = 0; + weed_plant_t *gui = NULL; + weed_plant_t *param = in_params[i]; + double *last_valuesd, *next_valuesd; + int *last_valuesi, *next_valuesi; + void **lpc, **npc; int *ign; int got_npc; - double *valds=NULL,*nvalds,last_valued; - int *valis=NULL,*nvalis,last_valuei; - int num_values,xnum,num_pvals; + double *valds = NULL, *nvalds, last_valued; + int *valis = NULL, *nvalis, last_valuei; + int num_values, xnum, num_pvals; int k; - int last_valueir,last_valueig,last_valueib; - double last_valuedr,last_valuedg,last_valuedb; - char **valss,**nvalss; - int num_ign=0; + int last_valueir, last_valueig, last_valueib; + double last_valuedr, last_valuedg, last_valuedb; + char **valss, **nvalss; + int num_ign = 0; - if (pchange==NULL) { + if (pchange == NULL) { lives_free(in_params); return TRUE; } - if (!weed_plant_has_leaf(param,WEED_LEAF_VALUE)||weed_leaf_num_elements(param,WEED_LEAF_VALUE)==0) { + if (!weed_plant_has_leaf(param, WEED_LEAF_VALUE) || weed_leaf_num_elements(param, WEED_LEAF_VALUE) == 0) { lives_free(in_params); return FALSE; // do not apply effect } - while (pchange!=NULL&&get_event_timecode(pchange)<=tc) { - last_pchange=pchange; - pchange=(weed_plant_t *)weed_get_voidptr_value(pchange,WEED_LEAF_NEXT_CHANGE,&error); + while (pchange != NULL && get_event_timecode(pchange) <= tc) { + last_pchange = pchange; + pchange = (weed_plant_t *)weed_get_voidptr_value(pchange, WEED_LEAF_NEXT_CHANGE, &error); } // we need to single thread here, because it's possible to have a conflict - if the audio and video threads are @@ -9626,326 +9411,322 @@ pthread_mutex_lock(&mainw->interp_mutex); // if plugin wants to do its own interpolation, we let it - wtmpl=weed_get_plantptr_value(param,WEED_LEAF_TEMPLATE,&error); - if (weed_plant_has_leaf(wtmpl,WEED_LEAF_INTERPOLATE_FUNC)) { + wtmpl = weed_get_plantptr_value(param, WEED_LEAF_TEMPLATE, &error); + if (weed_plant_has_leaf(wtmpl, WEED_LEAF_INTERPOLATE_FUNC)) { boolean needs_more; boolean more_available; weed_interpolate_f *interpolate_func_ptr; weed_interpolate_f interpolate_func; - weed_plant_t *calc_param=weed_plant_new(WEED_PLANT_PARAMETER),*filter; + weed_plant_t *calc_param = weed_plant_new(WEED_PLANT_PARAMETER), *filter; char *cwd; - // setup our calc_param (return result) - weed_set_plantptr_value(calc_param,WEED_LEAF_TEMPLATE,wtmpl); - weed_set_int64_value(calc_param,WEED_LEAF_TIMECODE,tc); + weed_set_plantptr_value(calc_param, WEED_LEAF_TEMPLATE, wtmpl); + weed_set_int64_value(calc_param, WEED_LEAF_TIMECODE, tc); // try first with just the two surrounding values - if (pchange==last_pchange&&pchange==NULL) { - param_array=void_ptrs_to_plant_array(wtmpl,pchange,0); - more_available=FALSE; - } else if (last_pchange==NULL) { - param_array=void_ptrs_to_plant_array(wtmpl,pchange,1); - more_available=FALSE; - } else if (pchange==NULL) { - param_array=void_ptrs_to_plant_array(wtmpl,last_pchange,1); - more_available=FALSE; + if (pchange == last_pchange && pchange == NULL) { + param_array = void_ptrs_to_plant_array(wtmpl, pchange, 0); + more_available = FALSE; + } else if (last_pchange == NULL) { + param_array = void_ptrs_to_plant_array(wtmpl, pchange, 1); + more_available = FALSE; + } else if (pchange == NULL) { + param_array = void_ptrs_to_plant_array(wtmpl, last_pchange, 1); + more_available = FALSE; } else { - param_array=void_ptrs_to_plant_array(wtmpl,last_pchange,2); - more_available=TRUE; // maybe... + param_array = void_ptrs_to_plant_array(wtmpl, last_pchange, 2); + more_available = TRUE; // maybe... } - weed_add_plant_flags(calc_param,WEED_LEAF_READONLY_PLUGIN); - interpolate_func_ptr=(weed_interpolate_f *)weed_get_voidptr_value(wtmpl,WEED_LEAF_INTERPOLATE_FUNC,&error); - interpolate_func=(weed_interpolate_f)*interpolate_func_ptr; - filter=weed_instance_get_filter(inst,FALSE); - cwd=cd_to_plugin_dir(filter); - needs_more=(*interpolate_func)(param_array,calc_param); - lives_chdir(cwd,FALSE); + weed_add_plant_flags(calc_param, WEED_LEAF_READONLY_PLUGIN); + interpolate_func_ptr = (weed_interpolate_f *)weed_get_voidptr_value(wtmpl, WEED_LEAF_INTERPOLATE_FUNC, &error); + interpolate_func = (weed_interpolate_f) * interpolate_func_ptr; + filter = weed_instance_get_filter(inst, FALSE); + cwd = cd_to_plugin_dir(filter); + needs_more = (*interpolate_func)(param_array, calc_param); + lives_chdir(cwd, FALSE); lives_free(cwd); - if (needs_more==WEED_FALSE||!more_available) { + if (needs_more == WEED_FALSE || !more_available) { // got an accurate result from 2 points - weed_leaf_copy(param,WEED_LEAF_VALUE,calc_param,WEED_LEAF_VALUE); + weed_leaf_copy(param, WEED_LEAF_VALUE, calc_param, WEED_LEAF_VALUE); weed_plant_free(calc_param); lives_free(in_params); - for (i=0; param_array[i]!=NULL; i++) weed_plant_free(param_array[i]); + for (i = 0; param_array[i] != NULL; i++) weed_plant_free(param_array[i]); lives_free(param_array); pthread_mutex_unlock(&mainw->interp_mutex); return TRUE; } // try to pass more values lives_free(param_array); - param_array=void_ptrs_to_plant_array(wtmpl,pchain,-1); + param_array = void_ptrs_to_plant_array(wtmpl, pchain, -1); - (*interpolate_func)(param_array,calc_param); + (*interpolate_func)(param_array, calc_param); - weed_leaf_copy(param,WEED_LEAF_VALUE,calc_param,WEED_LEAF_VALUE); + weed_leaf_copy(param, WEED_LEAF_VALUE, calc_param, WEED_LEAF_VALUE); weed_plant_free(calc_param); lives_free(in_params); - for (i=0; param_array[i]!=NULL; i++) weed_plant_free(param_array[i]); + for (i = 0; param_array[i] != NULL; i++) weed_plant_free(param_array[i]); lives_free(param_array); pthread_mutex_unlock(&mainw->interp_mutex); return TRUE; } - num_values=weed_leaf_num_elements(param,WEED_LEAF_VALUE); + num_values = weed_leaf_num_elements(param, WEED_LEAF_VALUE); - if ((num_pvals=weed_leaf_num_elements((weed_plant_t *)pchain,WEED_LEAF_VALUE))>num_values) - num_values=num_pvals; // init a multivalued param + if ((num_pvals = weed_leaf_num_elements((weed_plant_t *)pchain, WEED_LEAF_VALUE)) > num_values) + num_values = num_pvals; // init a multivalued param - lpc=(void **)lives_malloc(num_values*sizeof(void *)); - npc=(void **)lives_malloc(num_values*sizeof(void *)); + lpc = (void **)lives_malloc(num_values * sizeof(void *)); + npc = (void **)lives_malloc(num_values * sizeof(void *)); - if (num_values==1) { - lpc[0]=last_pchange; - npc[0]=pchange; + if (num_values == 1) { + lpc[0] = last_pchange; + npc[0] = pchange; } else { - pchange=(weed_plant_t *)pchain; + pchange = (weed_plant_t *)pchain; - for (j=0; j<num_values; j++) npc[j]=lpc[j]=NULL; + for (j = 0; j < num_values; j++) npc[j] = lpc[j] = NULL; - while (pchange!=NULL) { - num_pvals=weed_leaf_num_elements(pchange,WEED_LEAF_VALUE); - if (num_pvals>num_values) num_pvals=num_values; - if (weed_plant_has_leaf(pchange,WEED_LEAF_IGNORE)) { - num_ign=weed_leaf_num_elements(pchange,WEED_LEAF_IGNORE); - ign=weed_get_boolean_array(pchange,WEED_LEAF_IGNORE,&error); - } else ign=NULL; - if (get_event_timecode(pchange)<=tc) { - for (j=0; j<num_pvals; j++) if (ign==NULL||j>=num_ign||ign[j]==WEED_FALSE) lpc[j]=pchange; + while (pchange != NULL) { + num_pvals = weed_leaf_num_elements(pchange, WEED_LEAF_VALUE); + if (num_pvals > num_values) num_pvals = num_values; + if (weed_plant_has_leaf(pchange, WEED_LEAF_IGNORE)) { + num_ign = weed_leaf_num_elements(pchange, WEED_LEAF_IGNORE); + ign = weed_get_boolean_array(pchange, WEED_LEAF_IGNORE, &error); + } else ign = NULL; + if (get_event_timecode(pchange) <= tc) { + for (j = 0; j < num_pvals; j++) if (ign == NULL || j >= num_ign || ign[j] == WEED_FALSE) lpc[j] = pchange; } else { - for (j=0; j<num_pvals; j++) { - if (npc[j]==NULL&&(ign==NULL||j>=num_ign||ign[j]==WEED_FALSE)) npc[j]=pchange; + for (j = 0; j < num_pvals; j++) { + if (npc[j] == NULL && (ign == NULL || j >= num_ign || ign[j] == WEED_FALSE)) npc[j] = pchange; } - got_npc=0; - for (j=0; j<num_values; j++) { - if (npc[j]!=NULL) got_npc++; + got_npc = 0; + for (j = 0; j < num_values; j++) { + if (npc[j] != NULL) got_npc++; } - if (got_npc==num_values) { + if (got_npc == num_values) { lives_freep((void **)&ign); break; } } - pchange=(weed_plant_t *)weed_get_voidptr_value(pchange,WEED_LEAF_NEXT_CHANGE,&error); + pchange = (weed_plant_t *)weed_get_voidptr_value(pchange, WEED_LEAF_NEXT_CHANGE, &error); lives_freep((void **)&ign); } } - - hint=weed_get_int_value(wtmpl,WEED_LEAF_HINT,&error); + hint = weed_get_int_value(wtmpl, WEED_LEAF_HINT, &error); switch (hint) { case WEED_HINT_FLOAT: - valds=(double *)lives_malloc(num_values*(sizeof(double))); + valds = (double *)lives_malloc(num_values * (sizeof(double))); break; case WEED_HINT_COLOR: - cspace=weed_get_int_value(wtmpl,WEED_LEAF_COLORSPACE,&error); + cspace = weed_get_int_value(wtmpl, WEED_LEAF_COLORSPACE, &error); switch (cspace) { case WEED_COLORSPACE_RGB: - if (num_values%3!=0) return TRUE; - if (weed_leaf_seed_type(wtmpl,WEED_LEAF_DEFAULT)==WEED_SEED_INT) { - valis=(int *)lives_malloc(num_values*sizint); + if (num_values % 3 != 0) return TRUE; + if (weed_leaf_seed_type(wtmpl, WEED_LEAF_DEFAULT) == WEED_SEED_INT) { + valis = (int *)lives_malloc(num_values * sizint); } else { - valds=(double *)lives_malloc(num_values*(sizeof(double))); + valds = (double *)lives_malloc(num_values * (sizeof(double))); } break; } break; case WEED_HINT_SWITCH: case WEED_HINT_INTEGER: - valis=(int *)lives_malloc(num_values*sizint); + valis = (int *)lives_malloc(num_values * sizint); break; } - - - for (j=0; j<num_values; j++) { + for (j = 0; j < num_values; j++) { // must interpolate - we use linear interpolation - if (lpc[j]==NULL&&npc[j]==NULL) continue; - if (lpc[j]!=NULL&&npc[j]!=NULL) tc_diff=weed_get_int64_value((weed_plant_t *)npc[j],WEED_LEAF_TIMECODE,&error)- - weed_get_int64_value((weed_plant_t *)lpc[j],WEED_LEAF_TIMECODE,&error); + if (lpc[j] == NULL && npc[j] == NULL) continue; + if (lpc[j] != NULL && npc[j] != NULL) tc_diff = weed_get_int64_value((weed_plant_t *)npc[j], WEED_LEAF_TIMECODE, &error) - + weed_get_int64_value((weed_plant_t *)lpc[j], WEED_LEAF_TIMECODE, &error); switch (hint) { case WEED_HINT_FLOAT: - if (lpc[j]==NULL) { + if (lpc[j] == NULL) { // before first change - valds[j]=get_default_element_double(param,j,1,0); + valds[j] = get_default_element_double(param, j, 1, 0); continue; } - if (npc[j]==NULL) { + if (npc[j] == NULL) { // after last change - xnum=weed_leaf_num_elements((weed_plant_t *)lpc[j],WEED_LEAF_VALUE); - if (xnum>j) { - nvalds=weed_get_double_array((weed_plant_t *)lpc[j],WEED_LEAF_VALUE,&error); - valds[j]=nvalds[j]; + xnum = weed_leaf_num_elements((weed_plant_t *)lpc[j], WEED_LEAF_VALUE); + if (xnum > j) { + nvalds = weed_get_double_array((weed_plant_t *)lpc[j], WEED_LEAF_VALUE, &error); + valds[j] = nvalds[j]; lives_free(nvalds); - } else valds[j]=get_default_element_double(param,j,1,0); + } else valds[j] = get_default_element_double(param, j, 1, 0); continue; } - next_valuesd=weed_get_double_array((weed_plant_t *)npc[j],WEED_LEAF_VALUE,&error); - last_valuesd=weed_get_double_array((weed_plant_t *)lpc[j],WEED_LEAF_VALUE,&error); - xnum=weed_leaf_num_elements((weed_plant_t *)lpc[j],WEED_LEAF_VALUE); - if (xnum>j) last_valued=last_valuesd[j]; - else last_valued=get_default_element_double(param,j,1,0); + next_valuesd = weed_get_double_array((weed_plant_t *)npc[j], WEED_LEAF_VALUE, &error); + last_valuesd = weed_get_double_array((weed_plant_t *)lpc[j], WEED_LEAF_VALUE, &error); + xnum = weed_leaf_num_elements((weed_plant_t *)lpc[j], WEED_LEAF_VALUE); + if (xnum > j) last_valued = last_valuesd[j]; + else last_valued = get_default_element_double(param, j, 1, 0); - valds[j]=last_valued+(double)(next_valuesd[j]-last_valued)/(double)(tc_diff/U_SEC)* - (double)((tc-weed_get_int64_value((weed_plant_t *)lpc[j],WEED_LEAF_TIMECODE,&error))/U_SEC); + valds[j] = last_valued + (double)(next_valuesd[j] - last_valued) / (double)(tc_diff / U_SEC) * + (double)((tc - weed_get_int64_value((weed_plant_t *)lpc[j], WEED_LEAF_TIMECODE, &error)) / U_SEC); lives_free(last_valuesd); lives_free(next_valuesd); break; case WEED_HINT_COLOR: - if (num_values!=weed_leaf_num_elements(last_pchange,WEED_LEAF_VALUE)) break; // no interp possible + if (num_values != weed_leaf_num_elements(last_pchange, WEED_LEAF_VALUE)) break; // no interp possible switch (cspace) { case WEED_COLORSPACE_RGB: - k=j*3; - if (weed_leaf_seed_type(wtmpl,WEED_LEAF_DEFAULT)==WEED_SEED_INT) { - if (lpc[j]==NULL) { + k = j * 3; + if (weed_leaf_seed_type(wtmpl, WEED_LEAF_DEFAULT) == WEED_SEED_INT) { + if (lpc[j] == NULL) { // before first change - valis[k]=get_default_element_int(param,j,3,0); - valis[k+1]=get_default_element_int(param,j,3,1); - valis[k+2]=get_default_element_int(param,j,3,2); - j+=3; + valis[k] = get_default_element_int(param, j, 3, 0); + valis[k + 1] = get_default_element_int(param, j, 3, 1); + valis[k + 2] = get_default_element_int(param, j, 3, 2); + j += 3; continue; } - if (npc[j]==NULL) { + if (npc[j] == NULL) { // after last change - xnum=weed_leaf_num_elements((weed_plant_t *)lpc[j],WEED_LEAF_VALUE); - if (xnum>k) { - nvalis=weed_get_int_array((weed_plant_t *)lpc[j],WEED_LEAF_VALUE,&error); - valis[k]=nvalis[k]; - valis[k+1]=nvalis[k+1]; - valis[k+2]=nvalis[k+2]; + xnum = weed_leaf_num_elements((weed_plant_t *)lpc[j], WEED_LEAF_VALUE); + if (xnum > k) { + nvalis = weed_get_int_array((weed_plant_t *)lpc[j], WEED_LEAF_VALUE, &error); + valis[k] = nvalis[k]; + valis[k + 1] = nvalis[k + 1]; + valis[k + 2] = nvalis[k + 2]; lives_free(nvalis); } else { - valis[k]=get_default_element_int(param,j,3,0); - valis[k+1]=get_default_element_int(param,j,3,1); - valis[k+2]=get_default_element_int(param,j,3,2); + valis[k] = get_default_element_int(param, j, 3, 0); + valis[k + 1] = get_default_element_int(param, j, 3, 1); + valis[k + 2] = get_default_element_int(param, j, 3, 2); } - j+=3; + j += 3; continue; } - next_valuesi=weed_get_int_array((weed_plant_t *)npc[j],WEED_LEAF_VALUE,&error); - last_valuesi=weed_get_int_array((weed_plant_t *)lpc[j],WEED_LEAF_VALUE,&error); - xnum=weed_leaf_num_elements((weed_plant_t *)lpc[j],WEED_LEAF_VALUE); - if (xnum>k) { - last_valueir=last_valuesi[k]; - last_valueig=last_valuesi[k+1]; - last_valueib=last_valuesi[k+2]; + next_valuesi = weed_get_int_array((weed_plant_t *)npc[j], WEED_LEAF_VALUE, &error); + last_valuesi = weed_get_int_array((weed_plant_t *)lpc[j], WEED_LEAF_VALUE, &error); + xnum = weed_leaf_num_elements((weed_plant_t *)lpc[j], WEED_LEAF_VALUE); + if (xnum > k) { + last_valueir = last_valuesi[k]; + last_valueig = last_valuesi[k + 1]; + last_valueib = last_valuesi[k + 2]; } else { - last_valueir=get_default_element_int(param,j,3,0); - last_valueig=get_default_element_int(param,j,3,1); - last_valueib=get_default_element_int(param,j,3,2); + last_valueir = get_default_element_int(param, j, 3, 0); + last_valueig = get_default_element_int(param, j, 3, 1); + last_valueib = get_default_element_int(param, j, 3, 2); } - if (next_valuesi==NULL) continue; // can happen if we recorded a param change + if (next_valuesi == NULL) continue; // can happen if we recorded a param change - valis[k]=last_valueir+(next_valuesi[k]-last_valueir)/(tc_diff/U_SEC)* - ((tc_diff2=(tc-weed_get_int64_value((weed_plant_t *)lpc[j],WEED_LEAF_TIMECODE,&error)))/U_SEC)+.5; - valis[k+1]=last_valueig+(next_valuesi[k+1]-last_valueig)/(tc_diff/U_SEC)*(tc_diff2/U_SEC)+.5; - valis[k+2]=last_valueib+(next_valuesi[k+2]-last_valueib)/(tc_diff/U_SEC)*(tc_diff2/U_SEC)+.5; + valis[k] = last_valueir + (next_valuesi[k] - last_valueir) / (tc_diff / U_SEC) * + ((tc_diff2 = (tc - weed_get_int64_value((weed_plant_t *)lpc[j], WEED_LEAF_TIMECODE, &error))) / U_SEC) + .5; + valis[k + 1] = last_valueig + (next_valuesi[k + 1] - last_valueig) / (tc_diff / U_SEC) * (tc_diff2 / U_SEC) + .5; + valis[k + 2] = last_valueib + (next_valuesi[k + 2] - last_valueib) / (tc_diff / U_SEC) * (tc_diff2 / U_SEC) + .5; lives_free(last_valuesi); lives_free(next_valuesi); } else { - if (lpc[j]==NULL) { + if (lpc[j] == NULL) { // before first change - valds[k]=get_default_element_double(param,j,3,0); - valds[k+1]=get_default_element_double(param,j,3,1); - valds[k+2]=get_default_element_double(param,j,3,2); - j+=3; + valds[k] = get_default_element_double(param, j, 3, 0); + valds[k + 1] = get_default_element_double(param, j, 3, 1); + valds[k + 2] = get_default_element_double(param, j, 3, 2); + j += 3; continue; } - if (npc[j]==NULL) { + if (npc[j] == NULL) { // after last change - xnum=weed_leaf_num_elements((weed_plant_t *)lpc[j],WEED_LEAF_VALUE); - if (xnum>k) { - nvalds=weed_get_double_array((weed_plant_t *)lpc[j],WEED_LEAF_VALUE,&error); - valds[k]=nvalds[k]; - valds[k+1]=nvalds[k+1]; - valds[k+2]=nvalds[k+2]; + xnum = weed_leaf_num_elements((weed_plant_t *)lpc[j], WEED_LEAF_VALUE); + if (xnum > k) { + nvalds = weed_get_double_array((weed_plant_t *)lpc[j], WEED_LEAF_VALUE, &error); + valds[k] = nvalds[k]; + valds[k + 1] = nvalds[k + 1]; + valds[k + 2] = nvalds[k + 2]; lives_free(nvalds); } else { - valds[k]=get_default_element_double(param,j,3,0); - valds[k+1]=get_default_element_double(param,j,3,1); - valds[k+2]=get_default_element_double(param,j,3,2); + valds[k] = get_default_element_double(param, j, 3, 0); + valds[k + 1] = get_default_element_double(param, j, 3, 1); + valds[k + 2] = get_default_element_double(param, j, 3, 2); } - j+=3; + j += 3; continue; } - next_valuesd=weed_get_double_array((weed_plant_t *)npc[j],WEED_LEAF_VALUE,&error); - last_valuesd=weed_get_double_array((weed_plant_t *)lpc[j],WEED_LEAF_VALUE,&error); - xnum=weed_leaf_num_elements((weed_plant_t *)lpc[j],WEED_LEAF_VALUE); - if (xnum>k) { - last_valuedr=last_valuesd[k]; - last_valuedg=last_valuesd[k+1]; - last_valuedb=last_valuesd[k+2]; + next_valuesd = weed_get_double_array((weed_plant_t *)npc[j], WEED_LEAF_VALUE, &error); + last_valuesd = weed_get_double_array((weed_plant_t *)lpc[j], WEED_LEAF_VALUE, &error); + xnum = weed_leaf_num_elements((weed_plant_t *)lpc[j], WEED_LEAF_VALUE); + if (xnum > k) { + last_valuedr = last_valuesd[k]; + last_valuedg = last_valuesd[k + 1]; + last_valuedb = last_valuesd[k + 2]; } else { - last_valuedr=get_default_element_double(param,j,3,0); - last_valuedg=get_default_element_double(param,j,3,1); - last_valuedb=get_default_element_double(param,j,3,2); - } - valds[k]=last_valuedr+(next_valuesd[k]-last_valuedr)/(tc_diff/U_SEC)* - ((tc_diff2=(tc-weed_get_int64_value((weed_plant_t *)lpc[j],WEED_LEAF_TIMECODE,&error)))/U_SEC); - valds[k+1]=last_valuedg+(next_valuesd[k+1]-last_valuedg)/(tc_diff/U_SEC)*(tc_diff2/U_SEC)+.5; - valds[k+2]=last_valuedb+(next_valuesd[k+2]-last_valuedb)/(tc_diff/U_SEC)*(tc_diff2/U_SEC)+.5; + last_valuedr = get_default_element_double(param, j, 3, 0); + last_valuedg = get_default_element_double(param, j, 3, 1); + last_valuedb = get_default_element_double(param, j, 3, 2); + } + valds[k] = last_valuedr + (next_valuesd[k] - last_valuedr) / (tc_diff / U_SEC) * + ((tc_diff2 = (tc - weed_get_int64_value((weed_plant_t *)lpc[j], WEED_LEAF_TIMECODE, &error))) / U_SEC); + valds[k + 1] = last_valuedg + (next_valuesd[k + 1] - last_valuedg) / (tc_diff / U_SEC) * (tc_diff2 / U_SEC) + .5; + valds[k + 2] = last_valuedb + (next_valuesd[k + 2] - last_valuedb) / (tc_diff / U_SEC) * (tc_diff2 / U_SEC) + .5; lives_free(last_valuesd); lives_free(next_valuesd); } - j+=3; + j += 3; break; // TODO - other colorspaces (e.g. RGBA32) } // cspace break; // color case WEED_HINT_INTEGER: // get gui - if (weed_plant_has_leaf(wtmpl,WEED_LEAF_GUI)) gui=weed_get_plantptr_value(wtmpl,WEED_LEAF_GUI,&error); - if (gui!=NULL&&weed_plant_has_leaf(gui,WEED_LEAF_CHOICES)) { + if (weed_plant_has_leaf(wtmpl, WEED_LEAF_GUI)) gui = weed_get_plantptr_value(wtmpl, WEED_LEAF_GUI, &error); + if (gui != NULL && weed_plant_has_leaf(gui, WEED_LEAF_CHOICES)) { // no interpolation - if (npc[j]!=NULL&&get_event_timecode((weed_plant_t *)npc[j])==tc) { - nvalis=weed_get_int_array((weed_plant_t *)npc[j],WEED_LEAF_VALUE,&error); - valis[j]=nvalis[j]; + if (npc[j] != NULL && get_event_timecode((weed_plant_t *)npc[j]) == tc) { + nvalis = weed_get_int_array((weed_plant_t *)npc[j], WEED_LEAF_VALUE, &error); + valis[j] = nvalis[j]; lives_free(nvalis); continue; } else { // use last_pchange value - xnum=weed_leaf_num_elements((weed_plant_t *)lpc[j],WEED_LEAF_VALUE); - if (xnum>j) { - nvalis=weed_get_int_array((weed_plant_t *)lpc[j],WEED_LEAF_VALUE,&error); - valis[j]=nvalis[j]; + xnum = weed_leaf_num_elements((weed_plant_t *)lpc[j], WEED_LEAF_VALUE); + if (xnum > j) { + nvalis = weed_get_int_array((weed_plant_t *)lpc[j], WEED_LEAF_VALUE, &error); + valis[j] = nvalis[j]; lives_free(nvalis); - } else valis[j]=get_default_element_int(param,j,1,0); + } else valis[j] = get_default_element_int(param, j, 1, 0); continue; } } else { - if (lpc[j]==NULL) { + if (lpc[j] == NULL) { // before first change - valis[j]=get_default_element_int(param,j,1,0); + valis[j] = get_default_element_int(param, j, 1, 0); continue; } - if (npc[j]==NULL) { + if (npc[j] == NULL) { // after last change - xnum=weed_leaf_num_elements((weed_plant_t *)lpc[j],WEED_LEAF_VALUE); - if (xnum>j) { - nvalis=weed_get_int_array((weed_plant_t *)lpc[j],WEED_LEAF_VALUE,&error); - valis[j]=nvalis[j]; + xnum = weed_leaf_num_elements((weed_plant_t *)lpc[j], WEED_LEAF_VALUE); + if (xnum > j) { + nvalis = weed_get_int_array((weed_plant_t *)lpc[j], WEED_LEAF_VALUE, &error); + valis[j] = nvalis[j]; lives_free(nvalis); - } else valis[j]=get_default_element_int(param,j,1,0); + } else valis[j] = get_default_element_int(param, j, 1, 0); continue; } - next_valuesi=weed_get_int_array((weed_plant_t *)npc[j],WEED_LEAF_VALUE,&error); - last_valuesi=weed_get_int_array((weed_plant_t *)lpc[j],WEED_LEAF_VALUE,&error); - xnum=weed_leaf_num_elements((weed_plant_t *)lpc[j],WEED_LEAF_VALUE); - if (xnum>j) last_valuei=last_valuesi[j]; - else last_valuei=get_default_element_int(param,j,1,0); + next_valuesi = weed_get_int_array((weed_plant_t *)npc[j], WEED_LEAF_VALUE, &error); + last_valuesi = weed_get_int_array((weed_plant_t *)lpc[j], WEED_LEAF_VALUE, &error); + xnum = weed_leaf_num_elements((weed_plant_t *)lpc[j], WEED_LEAF_VALUE); + if (xnum > j) last_valuei = last_valuesi[j]; + else last_valuei = get_default_element_int(param, j, 1, 0); - valis[j]=last_valuei+(next_valuesi[j]-last_valuei)/(tc_diff/U_SEC)* - ((tc-weed_get_int64_value((weed_plant_t *)lpc[j],WEED_LEAF_TIMECODE,&error))/U_SEC)+.5; + valis[j] = last_valuei + (next_valuesi[j] - last_valuei) / (tc_diff / U_SEC) * + ((tc - weed_get_int64_value((weed_plant_t *)lpc[j], WEED_LEAF_TIMECODE, &error)) / U_SEC) + .5; lives_free(last_valuesi); lives_free(next_valuesi); @@ -9953,46 +9734,46 @@ } case WEED_HINT_SWITCH: // no interpolation - if (npc[j]!=NULL&&get_event_timecode((weed_plant_t *)npc[j])==tc) { - nvalis=weed_get_boolean_array((weed_plant_t *)npc[j],WEED_LEAF_VALUE,&error); - valis[j]=nvalis[j]; + if (npc[j] != NULL && get_event_timecode((weed_plant_t *)npc[j]) == tc) { + nvalis = weed_get_boolean_array((weed_plant_t *)npc[j], WEED_LEAF_VALUE, &error); + valis[j] = nvalis[j]; lives_free(nvalis); continue; } else { // use last_pchange value - xnum=weed_leaf_num_elements((weed_plant_t *)lpc[j],WEED_LEAF_VALUE); - if (xnum>j) { - nvalis=weed_get_boolean_array((weed_plant_t *)lpc[j],WEED_LEAF_VALUE,&error); - valis[j]=nvalis[j]; + xnum = weed_leaf_num_elements((weed_plant_t *)lpc[j], WEED_LEAF_VALUE); + if (xnum > j) { + nvalis = weed_get_boolean_array((weed_plant_t *)lpc[j], WEED_LEAF_VALUE, &error); + valis[j] = nvalis[j]; lives_free(nvalis); - } else valis[j]=get_default_element_bool(param,j); + } else valis[j] = get_default_element_bool(param, j); continue; } break; case WEED_HINT_TEXT: // no interpolation - valss=weed_get_string_array(param,WEED_LEAF_VALUE,&error); + valss = weed_get_string_array(param, WEED_LEAF_VALUE, &error); - if (npc[j]!=NULL&&get_event_timecode((weed_plant_t *)npc[j])==tc) { - nvalss=weed_get_string_array((weed_plant_t *)npc[j],WEED_LEAF_VALUE,&error); - valss[j]=lives_strdup(nvalss[j]); - for (k=0; k<num_values; k++) lives_free(nvalss[k]); + if (npc[j] != NULL && get_event_timecode((weed_plant_t *)npc[j]) == tc) { + nvalss = weed_get_string_array((weed_plant_t *)npc[j], WEED_LEAF_VALUE, &error); + valss[j] = lives_strdup(nvalss[j]); + for (k = 0; k < num_values; k++) lives_free(nvalss[k]); lives_free(nvalss); - weed_set_string_array(param,WEED_LEAF_VALUE,num_values,valss); - for (k=0; k<num_values; k++) lives_free(valss[k]); + weed_set_string_array(param, WEED_LEAF_VALUE, num_values, valss); + for (k = 0; k < num_values; k++) lives_free(valss[k]); lives_free(valss); continue; } else { // use last_pchange value - xnum=weed_leaf_num_elements((weed_plant_t *)lpc[j],WEED_LEAF_VALUE); - if (xnum>j) { - nvalss=weed_get_string_array((weed_plant_t *)lpc[j],WEED_LEAF_VALUE,&error); - valss[j]=lives_strdup(nvalss[j]); - for (k=0; k<xnum; k++) lives_free(nvalss[k]); + xnum = weed_leaf_num_elements((weed_plant_t *)lpc[j], WEED_LEAF_VALUE); + if (xnum > j) { + nvalss = weed_get_string_array((weed_plant_t *)lpc[j], WEED_LEAF_VALUE, &error); + valss[j] = lives_strdup(nvalss[j]); + for (k = 0; k < xnum; k++) lives_free(nvalss[k]); lives_free(nvalss); - } else valss[j]=get_default_element_string(param,j); - weed_set_string_array(param,WEED_LEAF_VALUE,num_values,valss); - for (k=0; k<num_values; k++) lives_free(valss[k]); + } else valss[j] = get_default_element_string(param, j); + weed_set_string_array(param, WEED_LEAF_VALUE, num_values, valss); + for (k = 0; k < num_values; k++) lives_free(valss[k]); lives_free(valss); continue; } @@ -10000,31 +9781,30 @@ } // parameter hint } // j - switch (hint) { case WEED_HINT_FLOAT: - weed_set_double_array(param,WEED_LEAF_VALUE,num_values,valds); + weed_set_double_array(param, WEED_LEAF_VALUE, num_values, valds); lives_free(valds); break; case WEED_HINT_COLOR: switch (cspace) { case WEED_COLORSPACE_RGB: - if (weed_leaf_seed_type(wtmpl,WEED_LEAF_DEFAULT)==WEED_SEED_INT) { - weed_set_int_array(param,WEED_LEAF_VALUE,num_values,valis); + if (weed_leaf_seed_type(wtmpl, WEED_LEAF_DEFAULT) == WEED_SEED_INT) { + weed_set_int_array(param, WEED_LEAF_VALUE, num_values, valis); lives_free(valis); } else { - weed_set_double_array(param,WEED_LEAF_VALUE,num_values,valds); + weed_set_double_array(param, WEED_LEAF_VALUE, num_values, valds); lives_free(valds); } break; } break; case WEED_HINT_INTEGER: - weed_set_int_array(param,WEED_LEAF_VALUE,num_values,valis); + weed_set_int_array(param, WEED_LEAF_VALUE, num_values, valis); lives_free(valis); break; case WEED_HINT_SWITCH: - weed_set_boolean_array(param,WEED_LEAF_VALUE,num_values,valis); + weed_set_boolean_array(param, WEED_LEAF_VALUE, num_values, valis); lives_free(valis); break; } @@ -10043,39 +9823,34 @@ // values are calculated for timecode tc. We skip WEED_LEAF_HIDDEN parameters void *pchain; int num_params; - int offset=0,error; + int offset = 0, error; register int i; do { + if (!weed_plant_has_leaf(inst, WEED_LEAF_IN_PARAMETERS) || pchains == NULL) continue; - if (!weed_plant_has_leaf(inst,WEED_LEAF_IN_PARAMETERS)||pchains==NULL) continue; + num_params = weed_leaf_num_elements(inst, WEED_LEAF_IN_PARAMETERS); - num_params=weed_leaf_num_elements(inst,WEED_LEAF_IN_PARAMETERS); + if (num_params == 0) continue; // no in_parameters ==> do nothing - if (num_params==0) continue; // no in_parameters ==> do nothing - - for (i=offset; i<offset+num_params; i++) { - if (!is_hidden_param(inst,i-offset)) { - pchain=pchains[i]; - if (pchain!=NULL&&WEED_PLANT_IS_EVENT((weed_plant_t *)pchain)&&WEED_EVENT_IS_PARAM_CHANGE((weed_plant_t *)pchain)) - if (!interpolate_param(inst,i-offset,pchain,tc)) return FALSE; // FALSE if param is not ready + for (i = offset; i < offset + num_params; i++) { + if (!is_hidden_param(inst, i - offset)) { + pchain = pchains[i]; + if (pchain != NULL && WEED_PLANT_IS_EVENT((weed_plant_t *)pchain) && WEED_EVENT_IS_PARAM_CHANGE((weed_plant_t *)pchain)) + if (!interpolate_param(inst, i - offset, pchain, tc)) return FALSE; // FALSE if param is not ready } } - offset+=num_params; - - } while (weed_plant_has_leaf(inst,WEED_LEAF_HOST_NEXT_INSTANCE)&& - (inst=weed_get_plantptr_value(inst,WEED_LEAF_HOST_NEXT_INSTANCE,&error))!=NULL); - + offset += num_params; + } while (weed_plant_has_leaf(inst, WEED_LEAF_HOST_NEXT_INSTANCE) && + (inst = weed_get_plantptr_value(inst, WEED_LEAF_HOST_NEXT_INSTANCE, &error)) != NULL); return TRUE; } - - /////////////////////////////////////////////////////////// ////// hashnames @@ -10085,49 +9860,48 @@ // make hashname from filter_idx: if use_extra_authors is set we use WEED_LEAF_EXTRA_AUTHORS instead of "authors" // (for reverse compatibility) - weed_plant_t *filter,*plugin_info; + weed_plant_t *filter, *plugin_info; char plugin_fname[PATH_MAX]; - char *plugin_name,*filter_name,*filter_author,*filter_version,*hashname,*filename; + char *plugin_name, *filter_name, *filter_author, *filter_version, *hashname, *filename; - int error,version; + int error, version; - if (filter_idx<0||filter_idx>=num_weed_filters) return lives_strdup(""); + if (filter_idx < 0 || filter_idx >= num_weed_filters) return lives_strdup(""); - filter=weed_filters[filter_idx]; + filter = weed_filters[filter_idx]; - if (hashnames[filter_idx]!=NULL&&fullname&&(!use_extra_authors||!weed_plant_has_leaf(filter,WEED_LEAF_EXTRA_AUTHORS))) + if (hashnames[filter_idx] != NULL && fullname && (!use_extra_authors || !weed_plant_has_leaf(filter, WEED_LEAF_EXTRA_AUTHORS))) return lives_strdup(hashnames[filter_idx]); - if (weed_plant_has_leaf(filter,WEED_LEAF_PLUGIN_INFO)) { - plugin_info=weed_get_plantptr_value(filter,WEED_LEAF_PLUGIN_INFO,&error); - plugin_name=weed_get_string_value(plugin_info,WEED_LEAF_NAME,&error); + if (weed_plant_has_leaf(filter, WEED_LEAF_PLUGIN_INFO)) { + plugin_info = weed_get_plantptr_value(filter, WEED_LEAF_PLUGIN_INFO, &error); + plugin_name = weed_get_string_value(plugin_info, WEED_LEAF_NAME, &error); - lives_snprintf(plugin_fname,PATH_MAX,"%s",plugin_name); + lives_snprintf(plugin_fname, PATH_MAX, "%s", plugin_name); lives_free(plugin_name); - get_filename(plugin_fname,TRUE); - } else memset(plugin_fname,0,1); + get_filename(plugin_fname, TRUE); + } else memset(plugin_fname, 0, 1); - filter_name=weed_get_string_value(filter,WEED_LEAF_NAME,&error); + filter_name = weed_get_string_value(filter, WEED_LEAF_NAME, &error); // should we really use utf-8 here ? (needs checking) - filename=F2U8(plugin_fname); + filename = F2U8(plugin_fname); if (fullname) { - - if (!use_extra_authors||!weed_plant_has_leaf(filter,WEED_LEAF_EXTRA_AUTHORS)) - filter_author=weed_get_string_value(filter,WEED_LEAF_AUTHOR,&error); + if (!use_extra_authors || !weed_plant_has_leaf(filter, WEED_LEAF_EXTRA_AUTHORS)) + filter_author = weed_get_string_value(filter, WEED_LEAF_AUTHOR, &error); else - filter_author=weed_get_string_value(filter,WEED_LEAF_EXTRA_AUTHORS,&error); + filter_author = weed_get_string_value(filter, WEED_LEAF_EXTRA_AUTHORS, &error); - version=weed_get_int_value(filter,WEED_LEAF_VERSION,&error); - filter_version=lives_strdup_printf("%d",version); + version = weed_get_int_value(filter, WEED_LEAF_VERSION, &error); + filter_version = lives_strdup_printf("%d", version); - hashname=lives_strconcat(filename,filter_name,filter_author,filter_version,NULL); + hashname = lives_strconcat(filename, filter_name, filter_author, filter_version, NULL); lives_free(filter_author); lives_free(filter_version); - } else hashname=lives_strconcat(filename,filter_name,NULL); + } else hashname = lives_strconcat(filename, filter_name, NULL); lives_free(filter_name); lives_free(filename); @@ -10137,26 +9911,25 @@ } - int weed_get_idx_for_hashname(const char *hashname, boolean fullname) { char *chashname, *chashname2; register int i; - for (i=0; i<num_weed_filters; i++) { - chashname=make_weed_hashname(i,fullname,FALSE); + for (i = 0; i < num_weed_filters; i++) { + chashname = make_weed_hashname(i, fullname, FALSE); //g_print("cf .%s .%s.\n",hashname,chashname); - if (!lives_utf8_strcasecmp(hashname,chashname)) { + if (!lives_utf8_strcasecmp(hashname, chashname)) { lives_free(chashname); return i; } //try again with spaces converted to "_" - chashname2=subst(chashname," ","_"); - if (strcmp(chashname2,chashname)) { - if (!lives_utf8_strcasecmp(hashname,chashname2)) { + chashname2 = subst(chashname, " ", "_"); + if (strcmp(chashname2, chashname)) { + if (!lives_utf8_strcasecmp(hashname, chashname2)) { lives_free(chashname2); lives_free(chashname); return i; @@ -10167,8 +9940,8 @@ lives_free(chashname); if (fullname) { - chashname=make_weed_hashname(i,fullname,TRUE); - if (!lives_utf8_strcasecmp(hashname,chashname)) { + chashname = make_weed_hashname(i, fullname, TRUE); + if (!lives_utf8_strcasecmp(hashname, chashname)) { lives_free(chashname); return i; } @@ -10179,14 +9952,13 @@ } - static boolean check_match(weed_plant_t *filter, const char *pkg, const char *fxname, const char *auth, int version) { // perform template matching for a function, see weed_get_indices_from_template() weed_plant_t *plugin_info; char plugin_fname[PATH_MAX]; - char *plugin_name,*filter_name,*filter_author; + char *plugin_name, *filter_name, *filter_author; int filter_version; int error; @@ -10194,28 +9966,27 @@ if (pkg != NULL && strlen(pkg)) { char *filename; - if (weed_plant_has_leaf(filter,WEED_LEAF_PLUGIN_INFO)) { - plugin_info=weed_get_plantptr_value(filter,WEED_LEAF_PLUGIN_INFO,&error); - plugin_name=weed_get_string_value(plugin_info,WEED_LEAF_NAME,&error); + if (weed_plant_has_leaf(filter, WEED_LEAF_PLUGIN_INFO)) { + plugin_info = weed_get_plantptr_value(filter, WEED_LEAF_PLUGIN_INFO, &error); + plugin_name = weed_get_string_value(plugin_info, WEED_LEAF_NAME, &error); - lives_snprintf(plugin_fname,PATH_MAX,"%s",plugin_name); + lives_snprintf(plugin_fname, PATH_MAX, "%s", plugin_name); lives_free(plugin_name); - get_filename(plugin_fname,TRUE); - } else memset(plugin_fname,0,1); + get_filename(plugin_fname, TRUE); + } else memset(plugin_fname, 0, 1); - filename=F2U8(plugin_fname); + filename = F2U8(plugin_fname); - if (lives_utf8_strcasecmp(pkg,filename)) { + if (lives_utf8_strcasecmp(pkg, filename)) { lives_free(filename); return FALSE; } lives_free(filename); } - if (fxname != NULL && strlen(fxname)) { - filter_name=weed_get_string_value(filter,WEED_LEAF_NAME,&error); - if (lives_utf8_strcasecmp(fxname,filter_name)) { + filter_name = weed_get_string_value(filter, WEED_LEAF_NAME, &error); + if (lives_utf8_strcasecmp(fxname, filter_name)) { lives_free(filter_name); return FALSE; } @@ -10223,12 +9994,12 @@ } if (auth != NULL && strlen(auth)) { - filter_author=weed_get_string_value(filter,WEED_LEAF_AUTHOR,&error); - if (lives_utf8_strcasecmp(auth,filter_author)) { - if (weed_plant_has_leaf(filter,WEED_LEAF_EXTRA_AUTHORS)) { + filter_author = weed_get_string_value(filter, WEED_LEAF_AUTHOR, &error); + if (lives_utf8_strcasecmp(auth, filter_author)) { + if (weed_plant_has_leaf(filter, WEED_LEAF_EXTRA_AUTHORS)) { lives_free(filter_author); - filter_author=weed_get_string_value(filter,WEED_LEAF_EXTRA_AUTHORS,&error); - if (lives_utf8_strcasecmp(auth,filter_author)) { + filter_author = weed_get_string_value(filter, WEED_LEAF_EXTRA_AUTHORS, &error); + if (lives_utf8_strcasecmp(auth, filter_author)) { lives_free(filter_author); return FALSE; } @@ -10240,17 +10011,15 @@ lives_free(filter_author); } - - if (version>0) { - filter_version=weed_get_int_value(filter,WEED_LEAF_VERSION,&error); - if (version!=filter_version) return FALSE; + if (version > 0) { + filter_version = weed_get_int_value(filter, WEED_LEAF_VERSION, &error); + if (version != filter_version) return FALSE; } return TRUE; } - int *weed_get_indices_from_template(const char *pkg, const char *fxname, const char *auth, int version) { // generate a list of filter indices from a given template. Char values may be NULL or "" to signify match-any. // version may be 0 to signify match-any @@ -10262,150 +10031,143 @@ weed_plant_t *filter; int *rvals; - int count=1,count2=0; + int count = 1, count2 = 0; register int i; // count number of return values - for (i=0; i<num_weed_filters; i++) { - filter=weed_filters[i]; + for (i = 0; i < num_weed_filters; i++) { + filter = weed_filters[i]; - if (check_match(filter,pkg,fxname,auth,version)) { + if (check_match(filter, pkg, fxname, auth, version)) { count++; } } // allocate storage space - rvals=(int *)lives_malloc(count*sizint); - i=0; + rvals = (int *)lives_malloc(count * sizint); + i = 0; // get return values - while (count2 < count-1) { - filter=weed_filters[i++]; + while (count2 < count - 1) { + filter = weed_filters[i++]; - if (check_match(filter,pkg,fxname,auth,version)) { - rvals[count2++]=i-1; + if (check_match(filter, pkg, fxname, auth, version)) { + rvals[count2++] = i - 1; } } // end-of-array indicator - rvals[count2]=-1; + rvals[count2] = -1; return rvals; } - weed_plant_t *get_weed_filter(int idx) { - if (idx>-1&&idx<num_weed_filters) return weed_filters[idx]; + if (idx > -1 && idx < num_weed_filters) return weed_filters[idx]; return NULL; } - - static void weed_leaf_serialise(int fd, weed_plant_t *plant, const char *key, boolean write_all, unsigned char **mem) { - void *value,*valuer; + void *value, *valuer; uint32_t vlen; - int st,ne; + int st, ne; int j; - uint32_t i=(uint32_t)strlen(key); + uint32_t i = (uint32_t)strlen(key); // write errors will be checked for by the calling function if (write_all) { // write byte length of key, followed by key in utf-8 - if (mem==NULL) { - lives_write_le_buffered(fd,&i,4,TRUE); - lives_write_buffered(fd,key,(size_t)i,TRUE); + if (mem == NULL) { + lives_write_le_buffered(fd, &i, 4, TRUE); + lives_write_buffered(fd, key, (size_t)i, TRUE); } else { - lives_memcpy(*mem,&i,4); - *mem+=4; - lives_memcpy(*mem,key,(size_t)i); - *mem+=i; + lives_memcpy(*mem, &i, 4); + *mem += 4; + lives_memcpy(*mem, key, (size_t)i); + *mem += i; } } // write seed type and number of elements - st=weed_leaf_seed_type(plant,key); + st = weed_leaf_seed_type(plant, key); - if (mem==NULL) lives_write_le_buffered(fd,&st,4,TRUE); + if (mem == NULL) lives_write_le_buffered(fd, &st, 4, TRUE); else { - lives_memcpy(*mem,&st,4); - *mem+=4; + lives_memcpy(*mem, &st, 4); + *mem += 4; } - ne=weed_leaf_num_elements(plant,key); - if (mem==NULL) lives_write_le_buffered(fd,&ne,4,TRUE); + ne = weed_leaf_num_elements(plant, key); + if (mem == NULL) lives_write_le_buffered(fd, &ne, 4, TRUE); else { - lives_memcpy(*mem,&ne,4); - *mem+=4; + lives_memcpy(*mem, &ne, 4); + *mem += 4; } // write errors will be checked for by the calling function - // for each element, write the data size followed by the data - for (j=0; j<ne; j++) { - vlen=(uint32_t)weed_leaf_element_size(plant,key,j); - if (st!=WEED_SEED_STRING) { - value=lives_malloc((size_t)vlen); - weed_leaf_get(plant,key,j,value); + for (j = 0; j < ne; j++) { + vlen = (uint32_t)weed_leaf_element_size(plant, key, j); + if (st != WEED_SEED_STRING) { + value = lives_malloc((size_t)vlen); + weed_leaf_get(plant, key, j, value); } else { - value=lives_malloc((size_t)(vlen+1)); - weed_leaf_get(plant,key,j,&value); + value = lives_malloc((size_t)(vlen + 1)); + weed_leaf_get(plant, key, j, &value); } - if (mem==NULL && weed_leaf_seed_type(plant,key)>=64) { + if (mem == NULL && weed_leaf_seed_type(plant, key) >= 64) { // save voidptr as 64 bit values (**NEW**) - valuer=(uint64_t *)lives_malloc(sizeof(uint64_t)); - *((uint64_t *)valuer)=(uint64_t)(*((void **)value)); - vlen=sizeof(uint64_t); - } else valuer=value; - - if (mem==NULL) { - lives_write_le_buffered(fd,&vlen,4,TRUE); - if (st!=WEED_SEED_STRING) { - lives_write_le_buffered(fd,valuer,(size_t)vlen,TRUE); - } else lives_write_buffered(fd,(const char *)valuer,(size_t)vlen,TRUE); + valuer = (uint64_t *)lives_malloc(sizeof(uint64_t)); + *((uint64_t *)valuer) = (uint64_t)(*((void **)value)); + vlen = sizeof(uint64_t); + } else valuer = value; + + if (mem == NULL) { + lives_write_le_buffered(fd, &vlen, 4, TRUE); + if (st != WEED_SEED_STRING) { + lives_write_le_buffered(fd, valuer, (size_t)vlen, TRUE); + } else lives_write_buffered(fd, (const char *)valuer, (size_t)vlen, TRUE); } else { - lives_memcpy(*mem,&vlen,4); - *mem+=4; - lives_memcpy(*mem,value,(size_t)vlen); - *mem+=vlen; + lives_memcpy(*mem, &vlen, 4); + *mem += 4; + lives_memcpy(*mem, value, (size_t)vlen); + *mem += vlen; } lives_free(value); - if (valuer!=value) lives_free(valuer); + if (valuer != value) lives_free(valuer); } // write errors will be checked for by the calling function - } - boolean weed_plant_serialise(int fd, weed_plant_t *plant, unsigned char **mem) { // write errors will be checked for by the calling function - - int i=0; - char **proplist=weed_plant_list_leaves(plant); + int i = 0; + char **proplist = weed_plant_list_leaves(plant); char *prop; - for (prop=proplist[0]; (prop=proplist[i])!=NULL; i++); + for (prop = proplist[0]; (prop = proplist[i]) != NULL; i++); - if (mem==NULL) lives_write_le_buffered(fd,&i,4,TRUE); // write number of leaves + if (mem == NULL) lives_write_le_buffered(fd, &i, 4, TRUE); // write number of leaves else { - lives_memcpy(*mem,&i,4); - *mem+=4; + lives_memcpy(*mem, &i, 4); + *mem += 4; } // write errors will be checked for by the calling function - weed_leaf_serialise(fd,plant,WEED_LEAF_TYPE,TRUE,mem); - i=0; + weed_leaf_serialise(fd, plant, WEED_LEAF_TYPE, TRUE, mem); + i = 0; - for (prop=proplist[0]; (prop=proplist[i])!=NULL; i++) { + for (prop = proplist[0]; (prop = proplist[i]) != NULL; i++) { // write each leaf and key - if (strcmp(prop,WEED_LEAF_TYPE)) weed_leaf_serialise(fd,plant,prop,TRUE,mem); + if (strcmp(prop, WEED_LEAF_TYPE)) weed_leaf_serialise(fd, plant, prop, TRUE, mem); lives_free(prop); } lives_free(proplist); @@ -10413,7 +10175,6 @@ } - static int weed_leaf_deserialise(int fd, weed_plant_t *plant, const char *key, unsigned char **mem, boolean check_key) { // if plant is NULL, returns type @@ -10428,166 +10189,163 @@ double *dubs; int64_t *int64s; - uint32_t len,vlen; + uint32_t len, vlen; - char *mykey=NULL; + char *mykey = NULL; int st; // seed type int ne; // num elems - int type=0; + int type = 0; - register int i,j; + register int i, j; - if (key==NULL || check_key) { - if (mem==NULL) { - if (lives_read_le_buffered(fd,&len,4,TRUE)<4) { + if (key == NULL || check_key) { + if (mem == NULL) { + if (lives_read_le_buffered(fd, &len, 4, TRUE) < 4) { return -4; } } else { - lives_memcpy(&len,*mem,4); - *mem+=4; + lives_memcpy(&len, *mem, 4); + *mem += 4; } - if (check_key&&len!=strlen(key)) return -9; + if (check_key && len != strlen(key)) return -9; - if (len>65535) return -10; + if (len > 65535) return -10; - mykey=(char *)lives_try_malloc((size_t)len+1); - if (mykey==NULL) return -5; + mykey = (char *)lives_try_malloc((size_t)len + 1); + if (mykey == NULL) return -5; - if (mem==NULL) { - if (lives_read_buffered(fd,mykey,(size_t)len,TRUE)<len) { + if (mem == NULL) { + if (lives_read_buffered(fd, mykey, (size_t)len, TRUE) < len) { lives_free(mykey); return -4; } } else { - lives_memcpy(mykey,*mem,(size_t)len); - *mem+=len; + lives_memcpy(mykey, *mem, (size_t)len); + *mem += len; } - memset(mykey+(size_t)len,0,1); + memset(mykey + (size_t)len, 0, 1); - if (check_key&&strcmp(mykey,key)) { + if (check_key && strcmp(mykey, key)) { lives_free(mykey); return -1; } - if (key==NULL) key=mykey; + if (key == NULL) key = mykey; else { lives_free(mykey); - mykey=NULL; + mykey = NULL; } } - - if (mem==NULL) { - if (lives_read_le_buffered(fd,&st,4,TRUE)<4) { + if (mem == NULL) { + if (lives_read_le_buffered(fd, &st, 4, TRUE) < 4) { lives_freep((void **)&mykey); return -4; } } else { - lives_memcpy(&st,*mem,4); - *mem+=4; + lives_memcpy(&st, *mem, 4); + *mem += 4; } - if (st!=WEED_SEED_INT&&st!=WEED_SEED_BOOLEAN&&st!=WEED_SEED_DOUBLE&&st!=WEED_SEED_INT64&& - st!=WEED_SEED_STRING&&st!=WEED_SEED_VOIDPTR&&st!=WEED_SEED_PLANTPTR) { + if (st != WEED_SEED_INT && st != WEED_SEED_BOOLEAN && st != WEED_SEED_DOUBLE && st != WEED_SEED_INT64 && + st != WEED_SEED_STRING && st != WEED_SEED_VOIDPTR && st != WEED_SEED_PLANTPTR) { return -6; } - if (check_key&&!strcmp(key,WEED_LEAF_TYPE)) { + if (check_key && !strcmp(key, WEED_LEAF_TYPE)) { // for the WEED_LEAF_TYPE leaf perform some extra checks - if (st!=WEED_SEED_INT) { + if (st != WEED_SEED_INT) { return -2; } } - - if (mem==NULL) { - if (lives_read_le_buffered(fd,&ne,4,TRUE)<4) { + if (mem == NULL) { + if (lives_read_le_buffered(fd, &ne, 4, TRUE) < 4) { lives_freep((void **)&mykey); return -4; } } else { - lives_memcpy(&ne,*mem,4); - *mem+=4; + lives_memcpy(&ne, *mem, 4); + *mem += 4; } + if (ne > 0) values = (void **)lives_malloc(ne * sizeof(void *)); + else values = NULL; - if (ne>0) values=(void **)lives_malloc(ne*sizeof(void *)); - else values=NULL; - - if (check_key&&!strcmp(key,WEED_LEAF_TYPE)) { + if (check_key && !strcmp(key, WEED_LEAF_TYPE)) { // for the WEED_LEAF_TYPE leaf perform some extra checks - if (ne!=1) { + if (ne != 1) { return -3; } } - for (i=0; i<ne; i++) { - if (mem==NULL) { - bytes=lives_read_le_buffered(fd,&vlen,4,TRUE); - if (bytes<4) { - for (--i; i>=0; lives_free(values[i--])); + for (i = 0; i < ne; i++) { + if (mem == NULL) { + bytes = lives_read_le_buffered(fd, &vlen, 4, TRUE); + if (bytes < 4) { + for (--i; i >= 0; lives_free(values[i--])); lives_free(values); lives_freep((void **)&mykey); return -4; } } else { - lives_memcpy(&vlen,*mem,4); - *mem+=4; + lives_memcpy(&vlen, *mem, 4); + *mem += 4; } - if (st==WEED_SEED_STRING) { - values[i]=lives_malloc((size_t)vlen+1); + if (st == WEED_SEED_STRING) { + values[i] = lives_malloc((size_t)vlen + 1); } else { - if (vlen<=8) { - values[i]=lives_malloc((size_t)vlen); + if (vlen <= 8) { + values[i] = lives_malloc((size_t)vlen); } else return -8; } - if (mem==NULL) { - if (st!=WEED_SEED_STRING) - bytes=lives_read_le_buffered(fd,values[i],vlen,TRUE); + if (mem == NULL) { + if (st != WEED_SEED_STRING) + bytes = lives_read_le_buffered(fd, values[i], vlen, TRUE); else - bytes=lives_read_buffered(fd,values[i],vlen,TRUE); - if (bytes<vlen) { - for (--i; i>=0; lives_free(values[i--])); + bytes = lives_read_buffered(fd, values[i], vlen, TRUE); + if (bytes < vlen) { + for (--i; i >= 0; lives_free(values[i--])); lives_free(values); lives_freep((void **)&mykey); return -4; } } else { - lives_memcpy(values[i],*mem,vlen); - *mem+=vlen; + lives_memcpy(values[i], *mem, vlen); + *mem += vlen; } - if (st==WEED_SEED_STRING) { - memset((char *)values[i]+vlen,0,1); + if (st == WEED_SEED_STRING) { + memset((char *)values[i] + vlen, 0, 1); } } - if (plant==NULL&&!strcmp(key,WEED_LEAF_TYPE)) { - type=*(int *)(values[0]); + if (plant == NULL && !strcmp(key, WEED_LEAF_TYPE)) { + type = *(int *)(values[0]); } else { - if (values==NULL) weed_leaf_set(plant,key,st,0,NULL); + if (values == NULL) weed_leaf_set(plant, key, st, 0, NULL); else { switch (st) { case WEED_SEED_INT: // fallthrough case WEED_SEED_BOOLEAN: - ints=(int *)lives_malloc(ne*4); - for (j=0; j<ne; j++) ints[j]=*(int *)values[j]; + ints = (int *)lives_malloc(ne * 4); + for (j = 0; j < ne; j++) ints[j] = *(int *)values[j]; weed_leaf_set(plant, key, st, ne, (void *)ints); lives_free(ints); break; case WEED_SEED_DOUBLE: - dubs=(double *)lives_malloc(ne*sizdbl); - for (j=0; j<ne; j++) dubs[j]=*(double *)values[j]; + dubs = (double *)lives_malloc(ne * sizdbl); + for (j = 0; j < ne; j++) dubs[j] = *(double *)values[j]; weed_leaf_set(plant, key, st, ne, (void *)dubs); lives_free(dubs); break; case WEED_SEED_INT64: - int64s=(int64_t *)lives_malloc(ne*8); - for (j=0; j<ne; j++) int64s[j]=*(int64_t *)values[j]; + int64s = (int64_t *)lives_malloc(ne * 8); + for (j = 0; j < ne; j++) int64s[j] = *(int64_t *)values[j]; weed_leaf_set(plant, key, st, ne, (void *)int64s); lives_free(int64s); break; @@ -10595,16 +10353,16 @@ weed_leaf_set(plant, key, st, ne, (void *)values); break; default: - if (plant!=NULL) { - if (mem==NULL && prefs->force64bit) { + if (plant != NULL) { + if (mem == NULL && prefs->force64bit) { // force pointers to uint64_t - uint64_t *voids=(uint64_t *)lives_malloc(ne*sizeof(uint64_t)); - for (j=0; j<ne; j++) voids[j]=(uint64_t)(*(void **)values[j]); + uint64_t *voids = (uint64_t *)lives_malloc(ne * sizeof(uint64_t)); + for (j = 0; j < ne; j++) voids[j] = (uint64_t)(*(void **)values[j]); weed_leaf_set(plant, key, WEED_SEED_INT64, ne, (void *)voids); lives_free(voids); } else { - void **voids=(void **)lives_malloc(ne*sizeof(void *)); - for (j=0; j<ne; j++) voids[j]=*(void **)values[j]; + void **voids = (void **)lives_malloc(ne * sizeof(void *)); + for (j = 0; j < ne; j++) voids[j] = *(void **)values[j]; weed_leaf_set(plant, key, st, ne, (void *)voids); lives_free(voids); } @@ -10613,17 +10371,16 @@ } } - if (values!=NULL) { - for (i=0; i<ne; i++) lives_free(values[i]); + if (values != NULL) { + for (i = 0; i < ne; i++) lives_free(values[i]); lives_free(values); } - if (mykey!=NULL) lives_free(mykey); - if (plant==NULL) return type; + if (mykey != NULL) lives_free(mykey); + if (plant == NULL) return type; return 0; } - weed_plant_t *weed_plant_deserialise(int fd, unsigned char **mem) { // deserialise a plant from file fd or mem weed_plant_t *plant; @@ -10633,20 +10390,20 @@ // caller should clear and check mainw->read_failed - if (mem==NULL) { - if ((bytes=lives_read_le_buffered(fd,&numleaves,4,TRUE))<4) { - mainw->read_failed=FALSE; // we are allowed to EOF here + if (mem == NULL) { + if ((bytes = lives_read_le_buffered(fd, &numleaves, 4, TRUE)) < 4) { + mainw->read_failed = FALSE; // we are allowed to EOF here return NULL; } } else { - lives_memcpy(&numleaves,*mem,4); - *mem+=4; + lives_memcpy(&numleaves, *mem, 4); + *mem += 4; } - plant=weed_plant_new(WEED_PLANT_UNKNOWN); - weed_leaf_set_flags(plant,WEED_LEAF_TYPE,0); + plant = weed_plant_new(WEED_PLANT_UNKNOWN); + weed_leaf_set_flags(plant, WEED_LEAF_TYPE, 0); - if ((err=weed_leaf_deserialise(fd,plant,WEED_LEAF_TYPE,mem,TRUE))) { + if ((err = weed_leaf_deserialise(fd, plant, WEED_LEAF_TYPE, mem, TRUE))) { // check the WEED_LEAF_TYPE leaf first weed_plant_free(plant); return NULL; @@ -10655,62 +10412,61 @@ numleaves--; while (numleaves--) { - if ((err=weed_leaf_deserialise(fd,plant,NULL,mem,FALSE))) { + if ((err = weed_leaf_deserialise(fd, plant, NULL, mem, FALSE))) { weed_plant_free(plant); return NULL; } } - if (weed_get_plant_type(plant)==WEED_PLANT_UNKNOWN) { + if (weed_get_plant_type(plant) == WEED_PLANT_UNKNOWN) { weed_plant_free(plant); return NULL; } - weed_leaf_set_flags(plant,WEED_LEAF_TYPE,WEED_LEAF_READONLY_PLUGIN|WEED_LEAF_READONLY_HOST); + weed_leaf_set_flags(plant, WEED_LEAF_TYPE, WEED_LEAF_READONLY_PLUGIN | WEED_LEAF_READONLY_HOST); return plant; } - boolean write_filter_defaults(int fd, int idx) { // return FALSE on write error char *hashname; - weed_plant_t *filter=weed_filters[idx],**ptmpls; - int num_params=weed_leaf_num_elements(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES); - int i,error; - boolean wrote_hashname=FALSE; + weed_plant_t *filter = weed_filters[idx], **ptmpls; + int num_params = weed_leaf_num_elements(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES); + int i, error; + boolean wrote_hashname = FALSE; size_t vlen; - int ntowrite=0; + int ntowrite = 0; - if (num_params==0) return TRUE; - ptmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); + if (num_params == 0) return TRUE; + ptmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); - for (i=0; i<num_params; i++) { - if (weed_plant_has_leaf(ptmpls[i],WEED_LEAF_HOST_DEFAULT)) { + for (i = 0; i < num_params; i++) { + if (weed_plant_has_leaf(ptmpls[i], WEED_LEAF_HOST_DEFAULT)) { ntowrite++; } } - mainw->write_failed=FALSE; + mainw->write_failed = FALSE; - for (i=0; i<num_params; i++) { - if (weed_plant_has_leaf(ptmpls[i],WEED_LEAF_HOST_DEFAULT)) { + for (i = 0; i < num_params; i++) { + if (weed_plant_has_leaf(ptmpls[i], WEED_LEAF_HOST_DEFAULT)) { if (!wrote_hashname) { - hashname=make_weed_hashname(idx,TRUE,FALSE); - vlen=strlen(hashname); + hashname = make_weed_hashname(idx, TRUE, FALSE); + vlen = strlen(hashname); - lives_write_le_buffered(fd,&vlen,4,TRUE); - lives_write_buffered(fd,hashname,vlen,TRUE); + lives_write_le_buffered(fd, &vlen, 4, TRUE); + lives_write_buffered(fd, hashname, vlen, TRUE); lives_free(hashname); - wrote_hashname=TRUE; - lives_write_le_buffered(fd,&ntowrite,4,TRUE); + wrote_hashname = TRUE; + lives_write_le_buffered(fd, &ntowrite, 4, TRUE); } - lives_write_le_buffered(fd,&i,4,TRUE); - weed_leaf_serialise(fd,ptmpls[i],WEED_LEAF_HOST_DEFAULT,FALSE,NULL); + lives_write_le_buffered(fd, &i, 4, TRUE); + weed_leaf_serialise(fd, ptmpls[i], WEED_LEAF_HOST_DEFAULT, FALSE, NULL); } } - if (wrote_hashname) lives_write_buffered(fd,"\n",1,TRUE); + if (wrote_hashname) lives_write_buffered(fd, "\n", 1, TRUE); - if (ptmpls!=NULL) lives_free(ptmpls); + if (ptmpls != NULL) lives_free(ptmpls); if (mainw->write_failed) { return FALSE; @@ -10719,65 +10475,64 @@ } - boolean read_filter_defaults(int fd) { - weed_plant_t *filter,**ptmpls; + weed_plant_t *filter, **ptmpls; void *buf; size_t vlen; - int vleni,vlenz; - int i,error,pnum; - int num_params=0; + int vleni, vlenz; + int i, error, pnum; + int num_params = 0; int ntoread; - boolean found=FALSE; + boolean found = FALSE; char *tmp; - mainw->read_failed=FALSE; + mainw->read_failed = FALSE; while (1) { - if (lives_read_le_buffered(fd,&vleni,4,TRUE)<4) { + if (lives_read_le_buffered(fd, &vleni, 4, TRUE) < 4) { // we are allowed to EOF here - mainw->read_failed=FALSE; + mainw->read_failed = FALSE; break; } // some files erroneously used a vlen of 8 - if (lives_read_le_buffered(fd,&vlenz,4,TRUE)<4) { + if (lives_read_le_buffered(fd, &vlenz, 4, TRUE) < 4) { // we are allowed to EOF here - mainw->read_failed=FALSE; + mainw->read_failed = FALSE; break; } - vlen=(size_t)vleni; + vlen = (size_t)vleni; - if (capable->byte_order==LIVES_BIG_ENDIAN&&prefs->bigendbug) { - if (vleni==0&&vlenz!=0) vlen=(size_t)vlenz; + if (capable->byte_order == LIVES_BIG_ENDIAN && prefs->bigendbug) { + if (vleni == 0 && vlenz != 0) vlen = (size_t)vlenz; } else { - if (vlenz!=0) { - if (lives_lseek_buffered_rdonly(fd,-4)<0) return FALSE; + if (vlenz != 0) { + if (lives_lseek_buffered_rdonly(fd, -4) < 0) return FALSE; } } - if (vlen>65535) return FALSE; + if (vlen > 65535) return FALSE; - buf=lives_malloc(vlen+1); - if (lives_read_buffered(fd,buf,vlen,TRUE)<vlen) break; + buf = lives_malloc(vlen + 1); + if (lives_read_buffered(fd, buf, vlen, TRUE) < vlen) break; - memset((char *)buf+vlen,0,1); - for (i=0; i<num_weed_filters; i++) { - if (!strcmp((char *)buf,(tmp=make_weed_hashname(i,TRUE,FALSE)))) { + memset((char *)buf + vlen, 0, 1); + for (i = 0; i < num_weed_filters; i++) { + if (!strcmp((char *)buf, (tmp = make_weed_hashname(i, TRUE, FALSE)))) { lives_free(tmp); - found=TRUE; + found = TRUE; break; } lives_free(tmp); } if (!found) { - for (i=0; i<num_weed_filters; i++) { - if (!strcmp((char *)buf,(tmp=make_weed_hashname(i,TRUE,TRUE)))) { + for (i = 0; i < num_weed_filters; i++) { + if (!strcmp((char *)buf, (tmp = make_weed_hashname(i, TRUE, TRUE)))) { lives_free(tmp); break; } @@ -10787,30 +10542,30 @@ lives_free(buf); - ptmpls=NULL; + ptmpls = NULL; - if (i<num_weed_filters) { - filter=weed_filters[i]; - num_params=weed_leaf_num_elements(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES); - if (num_params>0) ptmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); - } else num_params=0; + if (i < num_weed_filters) { + filter = weed_filters[i]; + num_params = weed_leaf_num_elements(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES); + if (num_params > 0) ptmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); + } else num_params = 0; - if (lives_read_le_buffered(fd,&ntoread,4,TRUE)<4) { - if (ptmpls!=NULL) lives_free(ptmpls); + if (lives_read_le_buffered(fd, &ntoread, 4, TRUE) < 4) { + if (ptmpls != NULL) lives_free(ptmpls); break; } - for (i=0; i<ntoread; i++) { - if (lives_read_le_buffered(fd,&pnum,4,TRUE)<4) { - if (ptmpls!=NULL) lives_free(ptmpls); + for (i = 0; i < ntoread; i++) { + if (lives_read_le_buffered(fd, &pnum, 4, TRUE) < 4) { + if (ptmpls != NULL) lives_free(ptmpls); break; } - if (pnum<num_params) { - weed_leaf_deserialise(fd,ptmpls[pnum],WEED_LEAF_HOST_DEFAULT,NULL,FALSE); + if (pnum < num_params) { + weed_leaf_deserialise(fd, ptmpls[pnum], WEED_LEAF_HOST_DEFAULT, NULL, FALSE); } else { - weed_plant_t *dummyplant=weed_plant_new(WEED_PLANT_UNKNOWN); - weed_leaf_deserialise(fd,dummyplant,WEED_LEAF_HOST_DEFAULT,NULL,FALSE); + weed_plant_t *dummyplant = weed_plant_new(WEED_PLANT_UNKNOWN); + weed_leaf_deserialise(fd, dummyplant, WEED_LEAF_HOST_DEFAULT, NULL, FALSE); weed_plant_free(dummyplant); } if (mainw->read_failed) { @@ -10818,14 +10573,14 @@ } } if (mainw->read_failed) { - if (ptmpls!=NULL) lives_free(ptmpls); + if (ptmpls != NULL) lives_free(ptmpls); break; } - buf=lives_malloc(strlen("\n")); - lives_read_buffered(fd,buf,strlen("\n"),TRUE); + buf = lives_malloc(strlen("\n")); + lives_read_buffered(fd, buf, strlen("\n"), TRUE); lives_free(buf); - if (ptmpls!=NULL) lives_free(ptmpls); + if (ptmpls != NULL) lives_free(ptmpls); if (mainw->read_failed) { break; } @@ -10833,59 +10588,56 @@ if (mainw->read_failed) return FALSE; return TRUE; - } - - boolean write_generator_sizes(int fd, int idx) { // TODO - handle optional channels // return FALSE on write error char *hashname; - weed_plant_t *filter,**ctmpls; + weed_plant_t *filter, **ctmpls; int num_channels; - int i,error; + int i, error; size_t vlen; - boolean wrote_hashname=FALSE; + boolean wrote_hashname = FALSE; - num_channels=enabled_in_channels(weed_filters[idx],FALSE); - if (num_channels!=0) return TRUE; + num_channels = enabled_in_channels(weed_filters[idx], FALSE); + if (num_channels != 0) return TRUE; - filter=weed_filters[idx]; + filter = weed_filters[idx]; - num_channels=weed_leaf_num_elements(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES); - if (num_channels==0) return TRUE; + num_channels = weed_leaf_num_elements(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES); + if (num_channels == 0) return TRUE; - ctmpls=weed_get_plantptr_array(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES,&error); + ctmpls = weed_get_plantptr_array(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES, &error); - mainw->write_failed=FALSE; + mainw->write_failed = FALSE; - for (i=0; i<num_channels; i++) { - if (weed_plant_has_leaf(ctmpls[i],WEED_LEAF_HOST_WIDTH)||weed_plant_has_leaf(ctmpls[i],WEED_LEAF_HOST_HEIGHT)|| - (!wrote_hashname&&weed_plant_has_leaf(filter,WEED_LEAF_HOST_FPS))) { + for (i = 0; i < num_channels; i++) { + if (weed_plant_has_leaf(ctmpls[i], WEED_LEAF_HOST_WIDTH) || weed_plant_has_leaf(ctmpls[i], WEED_LEAF_HOST_HEIGHT) || + (!wrote_hashname && weed_plant_has_leaf(filter, WEED_LEAF_HOST_FPS))) { if (!wrote_hashname) { - hashname=make_weed_hashname(idx,TRUE,FALSE); - vlen=strlen(hashname); - lives_write_le_buffered(fd,&vlen,4,TRUE); - lives_write_buffered(fd,hashname,vlen,TRUE); + hashname = make_weed_hashname(idx, TRUE, FALSE); + vlen = strlen(hashname); + lives_write_le_buffered(fd, &vlen, 4, TRUE); + lives_write_buffered(fd, hashname, vlen, TRUE); lives_free(hashname); - wrote_hashname=TRUE; - if (weed_plant_has_leaf(filter,WEED_LEAF_HOST_FPS)) { - int j=-1; - lives_write_le_buffered(fd,&j,4,TRUE); - weed_leaf_serialise(fd,filter,WEED_LEAF_HOST_FPS,FALSE,NULL); + wrote_hashname = TRUE; + if (weed_plant_has_leaf(filter, WEED_LEAF_HOST_FPS)) { + int j = -1; + lives_write_le_buffered(fd, &j, 4, TRUE); + weed_leaf_serialise(fd, filter, WEED_LEAF_HOST_FPS, FALSE, NULL); } } - lives_write_le_buffered(fd,&i,4,TRUE); - if (weed_plant_has_leaf(ctmpls[i],WEED_LEAF_HOST_WIDTH)) weed_leaf_serialise(fd,ctmpls[i],WEED_LEAF_HOST_WIDTH,FALSE,NULL); - else weed_leaf_serialise(fd,ctmpls[i],WEED_LEAF_WIDTH,FALSE,NULL); - if (weed_plant_has_leaf(ctmpls[i],WEED_LEAF_HOST_HEIGHT)) weed_leaf_serialise(fd,ctmpls[i],WEED_LEAF_HOST_HEIGHT,FALSE,NULL); - else weed_leaf_serialise(fd,ctmpls[i],WEED_LEAF_HEIGHT,FALSE,NULL); + lives_write_le_buffered(fd, &i, 4, TRUE); + if (weed_plant_has_leaf(ctmpls[i], WEED_LEAF_HOST_WIDTH)) weed_leaf_serialise(fd, ctmpls[i], WEED_LEAF_HOST_WIDTH, FALSE, NULL); + else weed_leaf_serialise(fd, ctmpls[i], WEED_LEAF_WIDTH, FALSE, NULL); + if (weed_plant_has_leaf(ctmpls[i], WEED_LEAF_HOST_HEIGHT)) weed_leaf_serialise(fd, ctmpls[i], WEED_LEAF_HOST_HEIGHT, FALSE, NULL); + else weed_leaf_serialise(fd, ctmpls[i], WEED_LEAF_HEIGHT, FALSE, NULL); } } - if (wrote_hashname) lives_write_buffered(fd,"\n",1,TRUE); + if (wrote_hashname) lives_write_buffered(fd, "\n", 1, TRUE); if (mainw->write_failed) { return FALSE; @@ -10894,74 +10646,72 @@ } - - boolean read_generator_sizes(int fd) { - weed_plant_t *filter,**ctmpls; + weed_plant_t *filter, **ctmpls; ssize_t bytes; size_t vlen; char *buf; char *tmp; - boolean found=FALSE; + boolean found = FALSE; - int vleni,vlenz; - int i,error; - int num_chans=0; + int vleni, vlenz; + int i, error; + int num_chans = 0; int cnum; - mainw->read_failed=FALSE; + mainw->read_failed = FALSE; while (1) { - if (lives_read_le_buffered(fd,&vleni,4,TRUE)<4) { + if (lives_read_le_buffered(fd, &vleni, 4, TRUE) < 4) { // we are allowed to EOF here - mainw->read_failed=FALSE; + mainw->read_failed = FALSE; break; } // some files erroneously used a vlen of 8 - if (lives_read_le_buffered(fd,&vlenz,4,TRUE)<4) { + if (lives_read_le_buffered(fd, &vlenz, 4, TRUE) < 4) { // we are allowed to EOF here - mainw->read_failed=FALSE; + mainw->read_failed = FALSE; break; } - vlen=(size_t)vleni; + vlen = (size_t)vleni; - if (capable->byte_order==LIVES_BIG_ENDIAN&&prefs->bigendbug) { - if (vleni==0&&vlenz!=0) vlen=(size_t)vlenz; + if (capable->byte_order == LIVES_BIG_ENDIAN && prefs->bigendbug) { + if (vleni == 0 && vlenz != 0) vlen = (size_t)vlenz; } else { - if (vlenz!=0) { - if (lives_lseek_buffered_rdonly(fd,-4)<0) { + if (vlenz != 0) { + if (lives_lseek_buffered_rdonly(fd, -4) < 0) { return FALSE; } } } - if (vlen>65535) { + if (vlen > 65535) { return FALSE; } - buf=(char *)lives_malloc(vlen+1); + buf = (char *)lives_malloc(vlen + 1); - bytes=lives_read_buffered(fd,buf,vlen,TRUE); - if (bytes<vlen) { + bytes = lives_read_buffered(fd, buf, vlen, TRUE); + if (bytes < vlen) { break; } - memset((char *)buf+vlen,0,1); + memset((char *)buf + vlen, 0, 1); - for (i=0; i<num_weed_filters; i++) { - if (!strcmp(buf,(tmp=make_weed_hashname(i,TRUE,FALSE)))) { + for (i = 0; i < num_weed_filters; i++) { + if (!strcmp(buf, (tmp = make_weed_hashname(i, TRUE, FALSE)))) { lives_free(tmp); - found=TRUE; + found = TRUE; break; } lives_free(tmp); } if (!found) { - for (i=0; i<num_weed_filters; i++) { - if (!strcmp(buf,(tmp=make_weed_hashname(i,TRUE,TRUE)))) { + for (i = 0; i < num_weed_filters; i++) { + if (!strcmp(buf, (tmp = make_weed_hashname(i, TRUE, TRUE)))) { lives_free(tmp); break; } @@ -10969,43 +10719,42 @@ } } - lives_free(buf); - ctmpls=NULL; + ctmpls = NULL; - if (i<num_weed_filters) { - boolean ready=FALSE; - filter=weed_filters[i]; - num_chans=weed_leaf_num_elements(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES); - if (num_chans>0) ctmpls=weed_get_plantptr_array(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES,&error); + if (i < num_weed_filters) { + boolean ready = FALSE; + filter = weed_filters[i]; + num_chans = weed_leaf_num_elements(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES); + if (num_chans > 0) ctmpls = weed_get_plantptr_array(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES, &error); while (!ready) { - ready=TRUE; - bytes=lives_read_le_buffered(fd,&cnum,4,TRUE); - if (bytes<4) { + ready = TRUE; + bytes = lives_read_le_buffered(fd, &cnum, 4, TRUE); + if (bytes < 4) { break; } - if (cnum<num_chans&&cnum>=0) { - weed_leaf_deserialise(fd,ctmpls[cnum],WEED_LEAF_HOST_WIDTH,NULL,FALSE); - weed_leaf_deserialise(fd,ctmpls[cnum],WEED_LEAF_HOST_HEIGHT,NULL,FALSE); - if (weed_get_int_value(ctmpls[cnum],WEED_LEAF_HOST_WIDTH,&error)==0) - weed_set_int_value(ctmpls[cnum],WEED_LEAF_HOST_WIDTH,DEF_GEN_WIDTH); - if (weed_get_int_value(ctmpls[cnum],WEED_LEAF_HOST_HEIGHT,&error)==0) - weed_set_int_value(ctmpls[cnum],WEED_LEAF_HOST_HEIGHT,DEF_GEN_HEIGHT); - } else if (cnum==-1) { - weed_leaf_deserialise(fd,filter,WEED_LEAF_HOST_FPS,NULL,FALSE); - ready=FALSE; + if (cnum < num_chans && cnum >= 0) { + weed_leaf_deserialise(fd, ctmpls[cnum], WEED_LEAF_HOST_WIDTH, NULL, FALSE); + weed_leaf_deserialise(fd, ctmpls[cnum], WEED_LEAF_HOST_HEIGHT, NULL, FALSE); + if (weed_get_int_value(ctmpls[cnum], WEED_LEAF_HOST_WIDTH, &error) == 0) + weed_set_int_value(ctmpls[cnum], WEED_LEAF_HOST_WIDTH, DEF_GEN_WIDTH); + if (weed_get_int_value(ctmpls[cnum], WEED_LEAF_HOST_HEIGHT, &error) == 0) + weed_set_int_value(ctmpls[cnum], WEED_LEAF_HOST_HEIGHT, DEF_GEN_HEIGHT); + } else if (cnum == -1) { + weed_leaf_deserialise(fd, filter, WEED_LEAF_HOST_FPS, NULL, FALSE); + ready = FALSE; } } } - if (ctmpls!=NULL) lives_free(ctmpls); + if (ctmpls != NULL) lives_free(ctmpls); if (mainw->read_failed) { break; } - buf=(char *)lives_malloc(strlen("\n")); - lives_read_buffered(fd,buf,strlen("\n"),TRUE); + buf = (char *)lives_malloc(strlen("\n")); + lives_read_buffered(fd, buf, strlen("\n"), TRUE); lives_free(buf); if (mainw->read_failed) { @@ -11018,19 +10767,17 @@ } - void reset_frame_and_clip_index(void) { - if (mainw->clip_index==NULL) { - mainw->clip_index=(int *)lives_malloc(sizint); - mainw->clip_index[0]=-1; - } - if (mainw->frame_index==NULL) { - mainw->frame_index=(int *)lives_malloc(sizint); - mainw->frame_index[0]=0; + if (mainw->clip_index == NULL) { + mainw->clip_index = (int *)lives_malloc(sizint); + mainw->clip_index[0] = -1; + } + if (mainw->frame_index == NULL) { + mainw->frame_index = (int *)lives_malloc(sizint); + mainw->frame_index[0] = 0; } } - // key/mode parameter defaults boolean read_key_defaults(int fd, int nparams, int key, int mode, int ver) { @@ -11040,55 +10787,55 @@ // return FALSE on EOF - int i,j,nvals,nigns; + int i, j, nvals, nigns; int idx; ssize_t bytes; weed_plant_t *filter; - int xnparams=0,maxparams=nparams; + int xnparams = 0, maxparams = nparams; weed_plant_t **key_defs; weed_timecode_t tc; - boolean ret=FALSE; + boolean ret = FALSE; - mainw->read_failed=FALSE; + mainw->read_failed = FALSE; - if (key>=0) { - idx=key_to_fx[key][mode]; - filter=weed_filters[idx]; - xnparams=num_in_params(filter,FALSE,FALSE); + if (key >= 0) { + idx = key_to_fx[key][mode]; + filter = weed_filters[idx]; + xnparams = num_in_params(filter, FALSE, FALSE); } - if (xnparams>maxparams) maxparams=xnparams; + if (xnparams > maxparams) maxparams = xnparams; - key_defs=(weed_plant_t **)lives_malloc(maxparams*sizeof(weed_plant_t *)); - for (i=0; i<maxparams; i++) { - key_defs[i]=NULL; + key_defs = (weed_plant_t **)lives_malloc(maxparams * sizeof(weed_plant_t *)); + for (i = 0; i < maxparams; i++) { + key_defs[i] = NULL; } - for (i=0; i<nparams; i++) { - if (key<0||i<xnparams) { - key_defs[i]=weed_plant_new(WEED_PLANT_PARAMETER); + for (i = 0; i < nparams; i++) { + if (key < 0 || i < xnparams) { + key_defs[i] = weed_plant_new(WEED_PLANT_PARAMETER); } - if (ver>1) { + if (ver > 1) { // for future - read nvals - bytes=lives_read_le_buffered(fd,&nvals,4,TRUE); - if (bytes<4) { + bytes = lives_read_le_buffered(fd, &nvals, 4, TRUE); + if (bytes < 4) { goto err123; } - bytes=lives_read_le_buffered(fd,&tc,8,TRUE); - if (bytes<sizeof(weed_timecode_t)) { + bytes = lives_read_le_buffered(fd, &tc, 8, TRUE); + if (bytes < sizeof(weed_timecode_t)) { goto err123; } // read n ints (booleans) - bytes=lives_read_le_buffered(fd,&nigns,4,TRUE); - if (bytes<4) { + bytes = lives_read_le_buffered(fd, &nigns, 4, TRUE); + if (bytes < 4) { goto err123; } - if (nigns>0) { - int *igns=(int *)lives_malloc(nigns*4); - for (j=0; j<nigns; j++) { - bytes=lives_read_le_buffered(fd,&igns[j],4,TRUE); - if (bytes<4) { + if (nigns > 0) { + int *igns = (int *)lives_malloc(nigns * 4); + for (j = 0; j < nigns; j++) { + bytes = lives_read_le_buffered(fd, &igns[j], 4, TRUE); + if (bytes < 4) { goto err123; } } @@ -11096,49 +10843,49 @@ } } - if (weed_leaf_deserialise(fd,key_defs[i],WEED_LEAF_VALUE,NULL,FALSE)<0) goto err123; + if (weed_leaf_deserialise(fd, key_defs[i], WEED_LEAF_VALUE, NULL, FALSE) < 0) goto err123; - if (ver>1) { - for (j=0; j<nvals; j++) { + if (ver > 1) { + for (j = 0; j < nvals; j++) { // for future - read timecodes - weed_plant_t *plant=weed_plant_new(WEED_PLANT_PARAMETER); - bytes=lives_read_le_buffered(fd,&tc,8,TRUE); - if (bytes<8) { + weed_plant_t *plant = weed_plant_new(WEED_PLANT_PARAMETER); + bytes = lives_read_le_buffered(fd, &tc, 8, TRUE); + if (bytes < 8) { goto err123; } // read n ints (booleans) - bytes=lives_read_le_buffered(fd,&nigns,4,TRUE); - if (bytes<4) { + bytes = lives_read_le_buffered(fd, &nigns, 4, TRUE); + if (bytes < 4) { goto err123; } - if (nigns>0) { - int *igns=(int *)lives_malloc(nigns*4); - for (j=0; j<nigns; j++) { - bytes=lives_read_le_buffered(fd,&igns[j],4,TRUE); - if (bytes<4) { + if (nigns > 0) { + int *igns = (int *)lives_malloc(nigns * 4); + for (j = 0; j < nigns; j++) { + bytes = lives_read_le_buffered(fd, &igns[j], 4, TRUE); + if (bytes < 4) { goto err123; } } // discard excess values - ret=weed_leaf_deserialise(fd,plant,WEED_LEAF_VALUE,NULL,FALSE); + ret = weed_leaf_deserialise(fd, plant, WEED_LEAF_VALUE, NULL, FALSE); weed_plant_free(plant); - if (ret<0) goto err123; + if (ret < 0) goto err123; } } } } - if (key>=0) key_defaults[key][mode]=key_defs; + if (key >= 0) key_defaults[key][mode] = key_defs; err123: - if (key<0) { - for (i=0; i<nparams; i++) { - if (key_defs[i]!=NULL) weed_plant_free(key_defs[i]); + if (key < 0) { + for (i = 0; i < nparams; i++) { + if (key_defs[i] != NULL) weed_plant_free(key_defs[i]); } lives_free(key_defs); } - if (ret<0||mainw->read_failed) { + if (ret < 0 || mainw->read_failed) { return FALSE; } @@ -11146,8 +10893,6 @@ } - - void apply_key_defaults(weed_plant_t *inst, int key, int mode) { // apply key/mode param defaults to a filter instance int error; @@ -11155,132 +10900,124 @@ weed_plant_t **defs; weed_plant_t **params; - weed_plant_t *filter=weed_instance_get_filter(inst,TRUE); + weed_plant_t *filter = weed_instance_get_filter(inst, TRUE); - register int i,j=0; + register int i, j = 0; - nparams=num_in_params(filter,FALSE,FALSE); + nparams = num_in_params(filter, FALSE, FALSE); - if (nparams==0) return; - defs=key_defaults[key][mode]; + if (nparams == 0) return; + defs = key_defaults[key][mode]; - if (defs==NULL) return; + if (defs == NULL) return; do { - params=weed_get_plantptr_array(inst,WEED_LEAF_IN_PARAMETERS,&error); - nparams=num_in_params(inst,FALSE,FALSE); + params = weed_get_plantptr_array(inst, WEED_LEAF_IN_PARAMETERS, &error); + nparams = num_in_params(inst, FALSE, FALSE); - for (i=0; i<nparams; i++) { - if (!is_hidden_param(inst,i)) - weed_leaf_copy(params[i],WEED_LEAF_VALUE,defs[j],WEED_LEAF_VALUE); + for (i = 0; i < nparams; i++) { + if (!is_hidden_param(inst, i)) + weed_leaf_copy(params[i], WEED_LEAF_VALUE, defs[j], WEED_LEAF_VALUE); j++; } lives_free(params); - } while (weed_plant_has_leaf(inst,WEED_LEAF_HOST_NEXT_INSTANCE)&& - (inst=weed_get_plantptr_value(inst,WEED_LEAF_HOST_NEXT_INSTANCE,&error))!=NULL); - - + } while (weed_plant_has_leaf(inst, WEED_LEAF_HOST_NEXT_INSTANCE) && + (inst = weed_get_plantptr_value(inst, WEED_LEAF_HOST_NEXT_INSTANCE, &error)) != NULL); } - void write_key_defaults(int fd, int key, int mode) { // save key/mode param defaults to file // caller should check for write errors weed_plant_t *filter; weed_plant_t **key_defs; - int i,nparams=0; + int i, nparams = 0; - if ((key_defs=key_defaults[key][mode])==NULL) { - lives_write_le_buffered(fd,&nparams,4,TRUE); + if ((key_defs = key_defaults[key][mode]) == NULL) { + lives_write_le_buffered(fd, &nparams, 4, TRUE); return; } - filter=weed_filters[key_to_fx[key][mode]]; - nparams=num_in_params(filter,FALSE,FALSE); - lives_write_le_buffered(fd,&nparams,4,TRUE); + filter = weed_filters[key_to_fx[key][mode]]; + nparams = num_in_params(filter, FALSE, FALSE); + lives_write_le_buffered(fd, &nparams, 4, TRUE); - for (i=0; i<nparams; i++) { + for (i = 0; i < nparams; i++) { if (mainw->write_failed) break; - weed_leaf_serialise(fd,key_defs[i],WEED_LEAF_VALUE,FALSE,NULL); + weed_leaf_serialise(fd, key_defs[i], WEED_LEAF_VALUE, FALSE, NULL); } - } - void free_key_defaults(int key, int mode) { // free key/mode param defaults weed_plant_t *filter; weed_plant_t **key_defs; - int i=0; + int i = 0; int nparams; - if (key>=FX_KEYS_MAX_VIRTUAL||mode>=prefs->max_modes_per_key) return; + if (key >= FX_KEYS_MAX_VIRTUAL || mode >= prefs->max_modes_per_key) return; - key_defs=key_defaults[key][mode]; + key_defs = key_defaults[key][mode]; - if (key_defs==NULL) return; + if (key_defs == NULL) return; - filter=weed_filters[key_to_fx[key][mode]]; - nparams=num_in_params(filter,FALSE,FALSE); + filter = weed_filters[key_to_fx[key][mode]]; + nparams = num_in_params(filter, FALSE, FALSE); - while (i<nparams) { - if (key_defs[i]!=NULL) weed_plant_free(key_defs[i]); + while (i < nparams) { + if (key_defs[i] != NULL) weed_plant_free(key_defs[i]); i++; } lives_free(key_defaults[key][mode]); - key_defaults[key][mode]=NULL; + key_defaults[key][mode] = NULL; } - void set_key_defaults(weed_plant_t *inst, int key, int mode) { // copy key/mode param defaults from an instance - weed_plant_t **key_defs,**params; - weed_plant_t *filter=weed_instance_get_filter(inst,TRUE); - int i=0,error; - int nparams,poffset=0; + weed_plant_t **key_defs, **params; + weed_plant_t *filter = weed_instance_get_filter(inst, TRUE); + int i = 0, error; + int nparams, poffset = 0; - if (key_defaults[key][mode]!=NULL) free_key_defaults(key,mode); + if (key_defaults[key][mode] != NULL) free_key_defaults(key, mode); - nparams=num_in_params(filter,FALSE,FALSE); + nparams = num_in_params(filter, FALSE, FALSE); - if (nparams==0) return; + if (nparams == 0) return; - key_defs=(weed_plant_t **)lives_malloc(nparams*sizeof(weed_plant_t *)); + key_defs = (weed_plant_t **)lives_malloc(nparams * sizeof(weed_plant_t *)); do { - nparams=num_in_params(inst,FALSE,FALSE); + nparams = num_in_params(inst, FALSE, FALSE); - if (nparams>0) { - params=weed_get_plantptr_array(inst,WEED_LEAF_IN_PARAMETERS,&error); + if (nparams > 0) { + params = weed_get_plantptr_array(inst, WEED_LEAF_IN_PARAMETERS, &error); - while (i<nparams+poffset) { - key_defs[i]=weed_plant_new(WEED_PLANT_PARAMETER); - weed_leaf_copy(key_defs[i],WEED_LEAF_VALUE,params[i-poffset],WEED_LEAF_VALUE); + while (i < nparams + poffset) { + key_defs[i] = weed_plant_new(WEED_PLANT_PARAMETER); + weed_leaf_copy(key_defs[i], WEED_LEAF_VALUE, params[i - poffset], WEED_LEAF_VALUE); i++; } lives_free(params); } - poffset+=nparams; + poffset += nparams; + } while (weed_plant_has_leaf(inst, WEED_LEAF_HOST_NEXT_INSTANCE) && + (inst = weed_get_plantptr_value(inst, WEED_LEAF_HOST_NEXT_INSTANCE, &error)) != NULL); - } while (weed_plant_has_leaf(inst,WEED_LEAF_HOST_NEXT_INSTANCE)&& - (inst=weed_get_plantptr_value(inst,WEED_LEAF_HOST_NEXT_INSTANCE,&error))!=NULL); - - key_defaults[key][mode]=key_defs; + key_defaults[key][mode] = key_defs; } - boolean has_key_defaults(void) { // check if any key/mode has default parameters set - int i,j; - for (i=0; i<prefs->rte_keys_virtual; i++) { - for (j=0; j<prefs->max_modes_per_key; j++) { - if (key_defaults[i][j]!=NULL) return TRUE; + int i, j; + for (i = 0; i < prefs->rte_keys_virtual; i++) { + for (j = 0; j < prefs->max_modes_per_key; j++) { + if (key_defaults[i][j] != NULL) return TRUE; } } return FALSE;
View file
LiVES-2.8.4.tar.bz2/src/effects-weed.h -> LiVES-2.8.6.tar.bz2/src/effects-weed.h
Changed
@@ -10,7 +10,7 @@ /// filter apply errors typedef enum { - FILTER_NO_ERROR=0, + FILTER_NO_ERROR = 0, FILTER_ERROR_MISSING_LAYER, FILTER_ERROR_BLANK_FRAME, FILTER_ERROR_MISSING_FRAME, @@ -33,7 +33,7 @@ FILTER_ERROR_DONT_THREAD, /// values >= 512 are info - FILTER_INFO_REINITED=512 + FILTER_INFO_REINITED = 512 } lives_filter_error_t; @@ -424,15 +424,15 @@ // some general utilities -#define WEED_PLANT_IS_PLUGIN_INFO(plant) (weed_get_plant_type(plant)==WEED_PLANT_PLUGIN_INFO?1:0) -#define WEED_PLANT_IS_HOST_INFO(plant) (weed_get_plant_type(plant)==WEED_PLANT_HOST_INFO?1:0) -#define WEED_PLANT_IS_FILTER_CLASS(plant) (weed_get_plant_type(plant)==WEED_PLANT_FILTER_CLASS?1:0) -#define WEED_PLANT_IS_FILTER_INSTANCE(plant) (weed_get_plant_type(plant)==WEED_PLANT_FILTER_INSTANCE?1:0) -#define WEED_PLANT_IS_CHANNEL(plant) (weed_get_plant_type(plant)==WEED_PLANT_CHANNEL?1:0) -#define WEED_PLANT_IS_CHANNEL_TEMPLATE(plant) (weed_get_plant_type(plant)==WEED_PLANT_CHANNEL_TEMPLATE?1:0) -#define WEED_PLANT_IS_PARAMETER(plant) (weed_get_plant_type(plant)==WEED_PLANT_PARAMETER?1:0) -#define WEED_PLANT_IS_PARAMETER_TEMPLATE(plant) (weed_get_plant_type(plant)==WEED_PLANT_PARAMETER_TEMPLATE?1:0) -#define WEED_PLANT_IS_GUI(plant) (weed_get_plant_type(plant)==WEED_PLANT_GUI?1:0) +#define WEED_PLANT_IS_PLUGIN_INFO(plant) (weed_get_plant_type(plant) == WEED_PLANT_PLUGIN_INFO ? 1 : 0) +#define WEED_PLANT_IS_HOST_INFO(plant) (weed_get_plant_type(plant) == WEED_PLANT_HOST_INFO ? 1 : 0) +#define WEED_PLANT_IS_FILTER_CLASS(plant) (weed_get_plant_type(plant) == WEED_PLANT_FILTER_CLASS ? 1 : 0) +#define WEED_PLANT_IS_FILTER_INSTANCE(plant) (weed_get_plant_type(plant) == WEED_PLANT_FILTER_INSTANCE ? 1 : 0) +#define WEED_PLANT_IS_CHANNEL(plant) (weed_get_plant_type(plant) == WEED_PLANT_CHANNEL ? 1 : 0) +#define WEED_PLANT_IS_CHANNEL_TEMPLATE(plant) (weed_get_plant_type(plant) == WEED_PLANT_CHANNEL_TEMPLATE ? 1 : 0) +#define WEED_PLANT_IS_PARAMETER(plant) (weed_get_plant_type(plant) == WEED_PLANT_PARAMETER ? 1 : 0) +#define WEED_PLANT_IS_PARAMETER_TEMPLATE(plant) (weed_get_plant_type(plant) == WEED_PLANT_PARAMETER_TEMPLATE ? 1 : 0) +#define WEED_PLANT_IS_GUI(plant) (weed_get_plant_type(plant) == WEED_PLANT_GUI ? 1 : 0) #endif
View file
LiVES-2.8.4.tar.bz2/src/effects.c -> LiVES-2.8.6.tar.bz2/src/effects.c
Changed
@@ -44,7 +44,7 @@ static int framecount; -static weed_plant_t *resize_instance=NULL; +static weed_plant_t *resize_instance = NULL; static boolean apply_audio_fx; @@ -151,57 +151,57 @@ // leave_info_file is set if a preview turned into actual processing: ie. no params were changed after the preview // preview generates .pre files instead of .mgk, so needs special post-processing - int oundo_start=cfile->undo_start; - int oundo_end=cfile->undo_end; + int oundo_start = cfile->undo_start; + int oundo_end = cfile->undo_end; char effectstring[128]; - double old_pb_fps=cfile->pb_fps; + double old_pb_fps = cfile->pb_fps; char *text; - char *fxcommand=NULL,*cmd; - int current_file=mainw->current_file; + char *fxcommand = NULL, *cmd; + int current_file = mainw->current_file; - int new_file=current_file; + int new_file = current_file; int ldfile; - boolean got_no_frames=FALSE; + boolean got_no_frames = FALSE; char *tmp; - if (rfx->num_in_channels==0&&!is_preview) current_file=mainw->pre_src_file; + if (rfx->num_in_channels == 0 && !is_preview) current_file = mainw->pre_src_file; if (is_preview) { // generators start at 1, even though they have no initial frames - cfile->progress_start=cfile->undo_start=rfx->num_in_channels==0?1:cfile->start; - cfile->progress_end=cfile->undo_end=cfile->end; - } else if (rfx->num_in_channels!=2) { - cfile->progress_start=cfile->undo_start=cfile->start; - cfile->progress_end=cfile->undo_end=cfile->end; + cfile->progress_start = cfile->undo_start = rfx->num_in_channels == 0 ? 1 : cfile->start; + cfile->progress_end = cfile->undo_end = cfile->end; + } else if (rfx->num_in_channels != 2) { + cfile->progress_start = cfile->undo_start = cfile->start; + cfile->progress_end = cfile->undo_end = cfile->end; } - if (!mainw->internal_messaging&&!mainw->keep_pre) { + if (!mainw->internal_messaging && !mainw->keep_pre) { char *pdefault; char *plugin_name; - if (rfx->status==RFX_STATUS_BUILTIN) plugin_name=lives_build_filename(prefs->lib_dir,PLUGIN_EXEC_DIR, - PLUGIN_RENDERED_EFFECTS_BUILTIN,rfx->name,NULL); - else plugin_name=lives_strdup(rfx->name); + if (rfx->status == RFX_STATUS_BUILTIN) plugin_name = lives_build_filename(prefs->lib_dir, PLUGIN_EXEC_DIR, + PLUGIN_RENDERED_EFFECTS_BUILTIN, rfx->name, NULL); + else plugin_name = lives_strdup(rfx->name); - if (rfx->num_in_channels==2) { + if (rfx->num_in_channels == 2) { // transition has a few extra bits - pdefault=lives_strdup_printf("%s %d %d %d %d %d %s %s %d \"%s/%s\"",cfile->handle,rfx->status, - cfile->progress_start,cfile->progress_end,cfile->hsize,cfile->vsize, - get_image_ext_for_type(cfile->img_type),get_image_ext_for_type(clipboard->img_type), - clipboard->start,prefs->workdir,clipboard->handle); + pdefault = lives_strdup_printf("%s %d %d %d %d %d %s %s %d \"%s/%s\"", cfile->handle, rfx->status, + cfile->progress_start, cfile->progress_end, cfile->hsize, cfile->vsize, + get_image_ext_for_type(cfile->img_type), get_image_ext_for_type(clipboard->img_type), + clipboard->start, prefs->workdir, clipboard->handle); } else { - pdefault=lives_strdup_printf("%s %d %d %d %d %d %s",cfile->handle,rfx->status,cfile->progress_start, - cfile->progress_end,cfile->hsize,cfile->vsize,get_image_ext_for_type(cfile->img_type)); + pdefault = lives_strdup_printf("%s %d %d %d %d %d %s", cfile->handle, rfx->status, cfile->progress_start, + cfile->progress_end, cfile->hsize, cfile->vsize, get_image_ext_for_type(cfile->img_type)); } // and append params if (is_preview) { - cmd=lives_strdup("pfxrender"); - mainw->show_procd=FALSE; - } else cmd=lives_strdup("fxrender"); - fxcommand=lives_strconcat(prefs->backend," \"",cmd,"_",plugin_name,"\" ", pdefault, - (tmp=param_marshall(rfx, FALSE)), NULL); + cmd = lives_strdup("pfxrender"); + mainw->show_procd = FALSE; + } else cmd = lives_strdup("fxrender"); + fxcommand = lives_strconcat(prefs->backend, " \"", cmd, "_", plugin_name, "\" ", pdefault, + (tmp = param_marshall(rfx, FALSE)), NULL); lives_free(plugin_name); lives_free(cmd); @@ -211,232 +211,232 @@ if (!mainw->keep_pre) lives_rm(cfile->info_file); - if (!mainw->internal_messaging&&!mainw->keep_pre) { - if (cfile->frame_index_back!=NULL) { + if (!mainw->internal_messaging && !mainw->keep_pre) { + if (cfile->frame_index_back != NULL) { lives_free(cfile->frame_index_back); - cfile->frame_index_back=NULL; + cfile->frame_index_back = NULL; } - lives_system(fxcommand,FALSE); + lives_system(fxcommand, FALSE); lives_free(fxcommand); } else { - if (mainw->num_tr_applied>0&&mainw->blend_file>0&&mainw->files[mainw->blend_file]!=NULL&& - mainw->files[mainw->blend_file]->clip_type!=CLIP_TYPE_GENERATOR) { - mainw->files[mainw->blend_file]->frameno=mainw->files[mainw->blend_file]->start-1; + if (mainw->num_tr_applied > 0 && mainw->blend_file > 0 && mainw->files[mainw->blend_file] != NULL && + mainw->files[mainw->blend_file]->clip_type != CLIP_TYPE_GENERATOR) { + mainw->files[mainw->blend_file]->frameno = mainw->files[mainw->blend_file]->start - 1; } } - mainw->effects_paused=FALSE; + mainw->effects_paused = FALSE; if (is_preview) { - cfile->undo_start=oundo_start; - cfile->undo_end=oundo_end; - mainw->current_file=current_file; + cfile->undo_start = oundo_start; + cfile->undo_end = oundo_end; + mainw->current_file = current_file; return TRUE; } - if (rfx->props&RFX_PROPS_MAY_RESIZE) { - tmp=lives_strdup(_("%s all frames...")); - text=lives_strdup_printf(tmp,_(rfx->action_desc)); + if (rfx->props & RFX_PROPS_MAY_RESIZE) { + tmp = lives_strdup(_("%s all frames...")); + text = lives_strdup_printf(tmp, _(rfx->action_desc)); } else { - if (rfx->num_in_channels==2) { - tmp=lives_strdup(_("%s clipboard into frames %d to %d...")); - text=lives_strdup_printf(tmp,_(rfx->action_desc),cfile->progress_start,cfile->progress_end); + if (rfx->num_in_channels == 2) { + tmp = lives_strdup(_("%s clipboard into frames %d to %d...")); + text = lives_strdup_printf(tmp, _(rfx->action_desc), cfile->progress_start, cfile->progress_end); } else { - if (rfx->num_in_channels==0) { - mainw->no_switch_dprint=TRUE; + if (rfx->num_in_channels == 0) { + mainw->no_switch_dprint = TRUE; if (mainw->gen_to_clipboard) { - tmp=lives_strdup(_("%s to clipboard...")); - text=lives_strdup_printf(tmp,_(rfx->action_desc)); + tmp = lives_strdup(_("%s to clipboard...")); + text = lives_strdup_printf(tmp, _(rfx->action_desc)); } else { - tmp=lives_strdup(_("%s to new clip...")); - text=lives_strdup_printf(tmp,_(rfx->action_desc)); + tmp = lives_strdup(_("%s to new clip...")); + text = lives_strdup_printf(tmp, _(rfx->action_desc)); } } else { - tmp=lives_strdup(_("%s frames %d to %d...")); - text=lives_strdup_printf(tmp,_(rfx->action_desc),cfile->start,cfile->end); + tmp = lives_strdup(_("%s frames %d to %d...")); + text = lives_strdup_printf(tmp, _(rfx->action_desc), cfile->start, cfile->end); } } } if (!mainw->no_switch_dprint) d_print(""); // force switch text - ldfile=mainw->last_dprint_file; + ldfile = mainw->last_dprint_file; d_print(text); lives_free(text); lives_free(tmp); - mainw->last_dprint_file=ldfile; + mainw->last_dprint_file = ldfile; - cfile->redoable=cfile->undoable=FALSE; + cfile->redoable = cfile->undoable = FALSE; lives_widget_set_sensitive(mainw->redo, FALSE); lives_widget_set_sensitive(mainw->undo, FALSE); - cfile->undo_action=UNDO_EFFECT; + cfile->undo_action = UNDO_EFFECT; - if (rfx->props&RFX_PROPS_MAY_RESIZE) { - cfile->ohsize=cfile->hsize; - cfile->ovsize=cfile->vsize; - mainw->resizing=TRUE; - cfile->nokeep=TRUE; + if (rfx->props & RFX_PROPS_MAY_RESIZE) { + cfile->ohsize = cfile->hsize; + cfile->ovsize = cfile->vsize; + mainw->resizing = TRUE; + cfile->nokeep = TRUE; } // 'play' as fast as we possibly can - cfile->pb_fps=1000000.; + cfile->pb_fps = 1000000.; - if (rfx->num_in_channels==2) { - tmp=lives_strdup(_("%s clipboard with selection")); - lives_snprintf(effectstring,128,tmp,_(rfx->action_desc)); - } else if (rfx->num_in_channels==0) { + if (rfx->num_in_channels == 2) { + tmp = lives_strdup(_("%s clipboard with selection")); + lives_snprintf(effectstring, 128, tmp, _(rfx->action_desc)); + } else if (rfx->num_in_channels == 0) { if (mainw->gen_to_clipboard) { - tmp=lives_strdup(_("%s to clipboard")); - lives_snprintf(effectstring,128,tmp,_(rfx->action_desc)); + tmp = lives_strdup(_("%s to clipboard")); + lives_snprintf(effectstring, 128, tmp, _(rfx->action_desc)); } else { - tmp=lives_strdup(_("%s to new clip")); - lives_snprintf(effectstring,128,tmp,_(rfx->action_desc)); + tmp = lives_strdup(_("%s to new clip")); + lives_snprintf(effectstring, 128, tmp, _(rfx->action_desc)); } } else { - tmp=lives_strdup(_("%s frames %d to %d")); - lives_snprintf(effectstring,128,tmp,_(rfx->action_desc),cfile->undo_start,cfile->undo_end); + tmp = lives_strdup(_("%s frames %d to %d")); + lives_snprintf(effectstring, 128, tmp, _(rfx->action_desc), cfile->undo_start, cfile->undo_end); } lives_free(tmp); - if (cfile->clip_type==CLIP_TYPE_FILE&&rfx->status!=RFX_STATUS_WEED) { + if (cfile->clip_type == CLIP_TYPE_FILE && rfx->status != RFX_STATUS_WEED) { // pull a batch of frames for the backend to start processing - cfile->fx_frame_pump=cfile->start; - } else cfile->fx_frame_pump=0; + cfile->fx_frame_pump = cfile->start; + } else cfile->fx_frame_pump = 0; - if (rfx->props&RFX_PROPS_MAY_RESIZE||rfx->num_in_channels==0) { - if (rfx->status==RFX_STATUS_WEED) { + if (rfx->props & RFX_PROPS_MAY_RESIZE || rfx->num_in_channels == 0) { + if (rfx->status == RFX_STATUS_WEED) { // set out_channel dimensions for resizers / generators int error; - weed_plant_t *first_out=get_enabled_channel((weed_plant_t *)rfx->source,0,FALSE); - weed_plant_t *first_ot=weed_get_plantptr_value(first_out,WEED_LEAF_TEMPLATE,&error); - weed_set_int_value(first_out,WEED_LEAF_WIDTH,weed_get_int_value(first_ot,WEED_LEAF_HOST_WIDTH,&error)); - weed_set_int_value(first_out,WEED_LEAF_HEIGHT,weed_get_int_value(first_ot,WEED_LEAF_HOST_HEIGHT,&error)); + weed_plant_t *first_out = get_enabled_channel((weed_plant_t *)rfx->source, 0, FALSE); + weed_plant_t *first_ot = weed_get_plantptr_value(first_out, WEED_LEAF_TEMPLATE, &error); + weed_set_int_value(first_out, WEED_LEAF_WIDTH, weed_get_int_value(first_ot, WEED_LEAF_HOST_WIDTH, &error)); + weed_set_int_value(first_out, WEED_LEAF_HEIGHT, weed_get_int_value(first_ot, WEED_LEAF_HOST_HEIGHT, &error)); } } - if (!do_progress_dialog(TRUE,TRUE,effectstring)||mainw->error) { - mainw->last_dprint_file=ldfile; - mainw->show_procd=TRUE; - mainw->keep_pre=FALSE; + if (!do_progress_dialog(TRUE, TRUE, effectstring) || mainw->error) { + mainw->last_dprint_file = ldfile; + mainw->show_procd = TRUE; + mainw->keep_pre = FALSE; if (mainw->error) { - if (mainw->cancelled!=CANCEL_ERROR) do_error_dialog(mainw->msg); + if (mainw->cancelled != CANCEL_ERROR) do_error_dialog(mainw->msg); d_print_failed(); - mainw->last_dprint_file=ldfile; + mainw->last_dprint_file = ldfile; } - if (mainw->cancelled!=CANCEL_KEEP) { - cfile->undo_start=oundo_start; - cfile->undo_end=oundo_end; + if (mainw->cancelled != CANCEL_KEEP) { + cfile->undo_start = oundo_start; + cfile->undo_end = oundo_end; } - cfile->pb_fps=old_pb_fps; - mainw->internal_messaging=FALSE; - mainw->resizing=FALSE; - cfile->nokeep=FALSE; - cfile->fx_frame_pump=0; - - if (cfile->start==0) { - cfile->start=1; - cfile->end=cfile->frames; + cfile->pb_fps = old_pb_fps; + mainw->internal_messaging = FALSE; + mainw->resizing = FALSE; + cfile->nokeep = FALSE; + cfile->fx_frame_pump = 0; + + if (cfile->start == 0) { + cfile->start = 1; + cfile->end = cfile->frames; } - if (rfx->num_in_channels==0&&mainw->current_file!=current_file) { - mainw->suppress_dprint=TRUE; + if (rfx->num_in_channels == 0 && mainw->current_file != current_file) { + mainw->suppress_dprint = TRUE; close_current_file(current_file); - mainw->suppress_dprint=FALSE; + mainw->suppress_dprint = FALSE; } else { - mainw->current_file=current_file; + mainw->current_file = current_file; do_rfx_cleanup(rfx); } - mainw->is_generating=FALSE; - mainw->no_switch_dprint=FALSE; + mainw->is_generating = FALSE; + mainw->no_switch_dprint = FALSE; - if (mainw->multitrack!=NULL) { - mainw->pre_src_file=-1; + if (mainw->multitrack != NULL) { + mainw->pre_src_file = -1; } return FALSE; } - if (cfile->start==0) { - cfile->start=1; - cfile->end=cfile->frames; + if (cfile->start == 0) { + cfile->start = 1; + cfile->end = cfile->frames; } do_rfx_cleanup(rfx); - mainw->resizing=FALSE; - cfile->nokeep=FALSE; - cfile->fx_frame_pump=0; + mainw->resizing = FALSE; + cfile->nokeep = FALSE; + cfile->fx_frame_pump = 0; if (!mainw->gen_to_clipboard) { lives_widget_set_sensitive(mainw->undo, TRUE); - if (rfx->num_in_channels>0) cfile->undoable=TRUE; - cfile->pb_fps=old_pb_fps; - mainw->internal_messaging=FALSE; - if (rfx->num_in_channels>0) lives_widget_set_sensitive(mainw->select_last, TRUE); - if (rfx->num_in_channels>0) set_undoable(rfx->menu_text,TRUE); + if (rfx->num_in_channels > 0) cfile->undoable = TRUE; + cfile->pb_fps = old_pb_fps; + mainw->internal_messaging = FALSE; + if (rfx->num_in_channels > 0) lives_widget_set_sensitive(mainw->select_last, TRUE); + if (rfx->num_in_channels > 0) set_undoable(rfx->menu_text, TRUE); } - mainw->show_procd=TRUE; + mainw->show_procd = TRUE; - if (rfx->props&RFX_PROPS_MAY_RESIZE||rfx->num_in_channels==0) { + if (rfx->props & RFX_PROPS_MAY_RESIZE || rfx->num_in_channels == 0) { // get new frame size - if (rfx->status!=RFX_STATUS_WEED) { - int numtok=get_token_count(mainw->msg,'|'); + if (rfx->status != RFX_STATUS_WEED) { + int numtok = get_token_count(mainw->msg, '|'); - if (numtok>1) { - char **array=lives_strsplit(mainw->msg,"|",numtok); + if (numtok > 1) { + char **array = lives_strsplit(mainw->msg, "|", numtok); // [0] is "completed" - cfile->hsize=atoi(array[1]); - cfile->vsize=atoi(array[2]); - if (rfx->num_in_channels==0) { - cfile->fps=cfile->pb_fps=strtod(array[3],NULL); - if (cfile->fps==0.) cfile->fps=cfile->pb_fps=prefs->default_fps; - cfile->end=cfile->frames=atoi(array[4]); - cfile->bpp=cfile->img_type==IMG_TYPE_JPEG?24:32; + cfile->hsize = atoi(array[1]); + cfile->vsize = atoi(array[2]); + if (rfx->num_in_channels == 0) { + cfile->fps = cfile->pb_fps = strtod(array[3], NULL); + if (cfile->fps == 0.) cfile->fps = cfile->pb_fps = prefs->default_fps; + cfile->end = cfile->frames = atoi(array[4]); + cfile->bpp = cfile->img_type == IMG_TYPE_JPEG ? 24 : 32; } lives_strfreev(array); } - if (rfx->num_in_channels==0) { - cfile->progress_start=1; - cfile->progress_end=cfile->frames; + if (rfx->num_in_channels == 0) { + cfile->progress_start = 1; + cfile->progress_end = cfile->frames; } } else { int error; - weed_plant_t *first_out=get_enabled_channel((weed_plant_t *)rfx->source,0,FALSE); - weed_plant_t *first_ot=weed_get_plantptr_value(first_out,WEED_LEAF_TEMPLATE,&error); - cfile->hsize=weed_get_int_value(first_ot,WEED_LEAF_HOST_WIDTH,&error); - cfile->vsize=weed_get_int_value(first_ot,WEED_LEAF_HOST_HEIGHT,&error); + weed_plant_t *first_out = get_enabled_channel((weed_plant_t *)rfx->source, 0, FALSE); + weed_plant_t *first_ot = weed_get_plantptr_value(first_out, WEED_LEAF_TEMPLATE, &error); + cfile->hsize = weed_get_int_value(first_ot, WEED_LEAF_HOST_WIDTH, &error); + cfile->vsize = weed_get_int_value(first_ot, WEED_LEAF_HOST_HEIGHT, &error); } - if (rfx->num_in_channels>0) { - if (cfile->hsize==cfile->ohsize&&cfile->vsize==cfile->ovsize) cfile->undo_action=UNDO_EFFECT; + if (rfx->num_in_channels > 0) { + if (cfile->hsize == cfile->ohsize && cfile->vsize == cfile->ovsize) cfile->undo_action = UNDO_EFFECT; else { - boolean bad_header=FALSE; - save_clip_value(mainw->current_file,CLIP_DETAILS_WIDTH,&cfile->hsize); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_HEIGHT,&cfile->vsize); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - cfile->undo_action=UNDO_RESIZABLE; + boolean bad_header = FALSE; + save_clip_value(mainw->current_file, CLIP_DETAILS_WIDTH, &cfile->hsize); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_HEIGHT, &cfile->vsize); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + cfile->undo_action = UNDO_RESIZABLE; if (bad_header) do_header_write_error(mainw->current_file); } } } - mainw->cancelled=CANCEL_NONE; - mainw->error=FALSE; + mainw->cancelled = CANCEL_NONE; + mainw->error = FALSE; if (mainw->keep_pre) { // this comes from a preview which then turned into processing - char *com=lives_strdup_printf("%s mv_pre \"%s\" %d %d \"%s\"",prefs->backend_sync, cfile->handle,cfile->progress_start, - cfile->progress_end,get_image_ext_for_type(cfile->img_type)); + char *com = lives_strdup_printf("%s mv_pre \"%s\" %d %d \"%s\"", prefs->backend_sync, cfile->handle, cfile->progress_start, + cfile->progress_end, get_image_ext_for_type(cfile->img_type)); lives_rm(cfile->info_file); - mainw->cancelled=CANCEL_NONE; - lives_system(com,FALSE); + mainw->cancelled = CANCEL_NONE; + lives_system(com, FALSE); lives_free(com); - mainw->keep_pre=FALSE; + mainw->keep_pre = FALSE; check_backend_return(cfile); @@ -444,79 +444,79 @@ if (!mainw->cancelled) { do_info_dialog(_("\nNo frames were generated.\n")); d_print_failed(); - } else if (mainw->cancelled!=CANCEL_ERROR) d_print_cancelled(); + } else if (mainw->cancelled != CANCEL_ERROR) d_print_cancelled(); else d_print_failed(); - if (rfx->num_in_channels==0) { - mainw->is_generating=FALSE; + if (rfx->num_in_channels == 0) { + mainw->is_generating = FALSE; - if (mainw->current_file!=current_file) { - mainw->suppress_dprint=TRUE; + if (mainw->current_file != current_file) { + mainw->suppress_dprint = TRUE; close_current_file(current_file); - mainw->suppress_dprint=FALSE; + mainw->suppress_dprint = FALSE; } - mainw->current_file=current_file; - mainw->last_dprint_file=ldfile; + mainw->current_file = current_file; + mainw->last_dprint_file = ldfile; - if (mainw->multitrack!=NULL) { - mainw->current_file=mainw->multitrack->render_file; + if (mainw->multitrack != NULL) { + mainw->current_file = mainw->multitrack->render_file; } } - mainw->no_switch_dprint=FALSE; + mainw->no_switch_dprint = FALSE; return FALSE; } } - if (rfx->num_in_channels==0) { - if (rfx->props&RFX_PROPS_BATCHG) { + if (rfx->num_in_channels == 0) { + if (rfx->props & RFX_PROPS_BATCHG) { // batch mode generators need some extra processing - char *imgdir=lives_strdup_printf("%s%s",prefs->workdir,cfile->handle); - int img_file=mainw->current_file; + char *imgdir = lives_strdup_printf("%s%s", prefs->workdir, cfile->handle); + int img_file = mainw->current_file; - mainw->suppress_dprint=TRUE; - open_file_sel(imgdir,0,0); + mainw->suppress_dprint = TRUE; + open_file_sel(imgdir, 0, 0); lives_free(imgdir); - new_file=mainw->current_file; + new_file = mainw->current_file; - if (new_file!=img_file) { - mainw->current_file=img_file; + if (new_file != img_file) { + mainw->current_file = img_file; - lives_snprintf(mainw->files[new_file]->name,256,"%s",cfile->name); - lives_snprintf(mainw->files[new_file]->file_name,PATH_MAX,"%s",cfile->file_name); - set_menu_text(mainw->files[new_file]->menuentry,cfile->name,FALSE); + lives_snprintf(mainw->files[new_file]->name, 256, "%s", cfile->name); + lives_snprintf(mainw->files[new_file]->file_name, PATH_MAX, "%s", cfile->file_name); + set_menu_text(mainw->files[new_file]->menuentry, cfile->name, FALSE); - mainw->files[new_file]->fps=mainw->files[new_file]->pb_fps=cfile->fps; - } else got_no_frames=TRUE; + mainw->files[new_file]->fps = mainw->files[new_file]->pb_fps = cfile->fps; + } else got_no_frames = TRUE; close_current_file(current_file); - mainw->suppress_dprint=FALSE; + mainw->suppress_dprint = FALSE; - if (!got_no_frames) mainw->current_file=new_file; + if (!got_no_frames) mainw->current_file = new_file; } else { - char *tfile=make_image_file_name(cfile,cfile->frames,get_image_ext_for_type(cfile->img_type)); + char *tfile = make_image_file_name(cfile, cfile->frames, get_image_ext_for_type(cfile->img_type)); if (!lives_file_test(tfile, LIVES_FILE_TEST_EXISTS)) { get_frame_count(mainw->current_file); - cfile->end=cfile->frames; + cfile->end = cfile->frames; } lives_free(tfile); } - if (got_no_frames||cfile->frames==0) { - mainw->is_generating=FALSE; + if (got_no_frames || cfile->frames == 0) { + mainw->is_generating = FALSE; if (!mainw->cancelled) { do_info_dialog(_("\nNo frames were generated.\n")); d_print_failed(); } else d_print_cancelled(); if (!got_no_frames) { - mainw->suppress_dprint=TRUE; + mainw->suppress_dprint = TRUE; close_current_file(current_file); - mainw->suppress_dprint=FALSE; + mainw->suppress_dprint = FALSE; } - mainw->last_dprint_file=ldfile; - mainw->no_switch_dprint=FALSE; - if (mainw->multitrack!=NULL) mainw->current_file=mainw->multitrack->render_file; + mainw->last_dprint_file = ldfile; + mainw->no_switch_dprint = FALSE; + if (mainw->multitrack != NULL) mainw->current_file = mainw->multitrack->render_file; return FALSE; } @@ -526,24 +526,24 @@ init_clipboard(); - lives_memcpy(clipboard,cfile,sizeof(lives_clip_t)); - cfile->is_loaded=TRUE; - mainw->suppress_dprint=TRUE; - mainw->only_close=TRUE; + lives_memcpy(clipboard, cfile, sizeof(lives_clip_t)); + cfile->is_loaded = TRUE; + mainw->suppress_dprint = TRUE; + mainw->only_close = TRUE; close_current_file(current_file); - mainw->suppress_dprint=FALSE; - mainw->only_close=FALSE; + mainw->suppress_dprint = FALSE; + mainw->only_close = FALSE; - new_file=current_file; + new_file = current_file; mainw->untitled_number--; } else { - if (!(rfx->props&RFX_PROPS_BATCHG)) { + if (!(rfx->props & RFX_PROPS_BATCHG)) { // gen to new file - cfile->is_loaded=TRUE; + cfile->is_loaded = TRUE; add_to_clipmenu(); if (!save_clip_values(new_file)) { close_current_file(current_file); @@ -552,32 +552,32 @@ if (prefs->crash_recovery) add_to_recovery_file(cfile->handle); - if (mainw->multitrack!=NULL) { - mt_init_clips(mainw->multitrack,mainw->current_file,TRUE); - mt_clip_select(mainw->multitrack,TRUE); + if (mainw->multitrack != NULL) { + mt_init_clips(mainw->multitrack, mainw->current_file, TRUE); + mt_clip_select(mainw->multitrack, TRUE); } } - lives_notify(LIVES_OSC_NOTIFY_CLIP_OPENED,""); + lives_notify(LIVES_OSC_NOTIFY_CLIP_OPENED, ""); } - mainw->is_generating=FALSE; + mainw->is_generating = FALSE; } - if (!mainw->gen_to_clipboard) cfile->changed=TRUE; - if (mainw->multitrack==NULL) { - if (new_file!=-1) { + if (!mainw->gen_to_clipboard) cfile->changed = TRUE; + if (mainw->multitrack == NULL) { + if (new_file != -1) { lives_sync(); - switch_to_file((mainw->current_file=0),new_file); + switch_to_file((mainw->current_file = 0), new_file); } } else { - mainw->current_file=mainw->multitrack->render_file; - mainw->pre_src_file=-1; + mainw->current_file = mainw->multitrack->render_file; + mainw->pre_src_file = -1; } d_print_done(); - mainw->no_switch_dprint=FALSE; - mainw->gen_to_clipboard=FALSE; - mainw->last_dprint_file=ldfile; + mainw->no_switch_dprint = FALSE; + mainw->gen_to_clipboard = FALSE; + mainw->last_dprint_file = ldfile; return TRUE; } @@ -592,7 +592,7 @@ lives_render_error_t realfx_progress(boolean reset) { static lives_render_error_t write_error; - LiVESError *error=NULL; + LiVESError *error = NULL; char oname[PATH_MAX]; @@ -602,7 +602,7 @@ weed_plant_t *layer; - char *com,*tmp; + char *com, *tmp; static int i; @@ -614,120 +614,120 @@ // this is called periodically from do_processing_dialog for internal effects if (reset) { - i=cfile->start; + i = cfile->start; clear_mainw_msg(); - if (cfile->clip_type==CLIP_TYPE_FILE) { - if (cfile->frame_index_back!=NULL) lives_free(cfile->frame_index_back); - cfile->frame_index_back=frame_index_copy(cfile->frame_index,cfile->frames,0); + if (cfile->clip_type == CLIP_TYPE_FILE) { + if (cfile->frame_index_back != NULL) lives_free(cfile->frame_index_back); + cfile->frame_index_back = frame_index_copy(cfile->frame_index, cfile->frames, 0); } - write_error=LIVES_RENDER_ERROR_NONE; + write_error = LIVES_RENDER_ERROR_NONE; return LIVES_RENDER_READY; } if (mainw->effects_paused) return LIVES_RENDER_EFFECTS_PAUSED; // sig_progress... - lives_snprintf(mainw->msg,256,"%d",i); + lives_snprintf(mainw->msg, 256, "%d", i); // load, effect, save frame // skip resizing virtual frames - if (resize_instance!=NULL&&is_virtual_frame(mainw->current_file,i)) { - if (++i>cfile->end) { - mainw->internal_messaging=FALSE; - lives_snprintf(mainw->msg,9,"completed"); + if (resize_instance != NULL && is_virtual_frame(mainw->current_file, i)) { + if (++i > cfile->end) { + mainw->internal_messaging = FALSE; + lives_snprintf(mainw->msg, 9, "completed"); } - mainw->rowstride_alignment_hint=1; + mainw->rowstride_alignment_hint = 1; return LIVES_RENDER_COMPLETE; } - if (has_video_filters(FALSE)||resize_instance!=NULL) { - mainw->rowstride_alignment=mainw->rowstride_alignment_hint; + if (has_video_filters(FALSE) || resize_instance != NULL) { + mainw->rowstride_alignment = mainw->rowstride_alignment_hint; - layer=weed_plant_new(WEED_PLANT_CHANNEL); - weed_set_int_value(layer,WEED_LEAF_CLIP,mainw->current_file); - weed_set_int_value(layer,WEED_LEAF_FRAME,i); + layer = weed_plant_new(WEED_PLANT_CHANNEL); + weed_set_int_value(layer, WEED_LEAF_CLIP, mainw->current_file); + weed_set_int_value(layer, WEED_LEAF_FRAME, i); - frameticks=(i-cfile->start+1.)/cfile->fps*U_SECL; + frameticks = (i - cfile->start + 1.) / cfile->fps * U_SECL; - if (!pull_frame(layer,get_image_ext_for_type(cfile->img_type),frameticks)) { + if (!pull_frame(layer, get_image_ext_for_type(cfile->img_type), frameticks)) { // do_read_failed_error_s() cannot be used here as we dont know the filename - lives_snprintf(mainw->msg,256,"error|missing image %d",i); + lives_snprintf(mainw->msg, 256, "error|missing image %d", i); return LIVES_RENDER_WARNING_READ_FRAME; } - layer=on_rte_apply(layer, 0, 0, (weed_timecode_t)frameticks); + layer = on_rte_apply(layer, 0, 0, (weed_timecode_t)frameticks); - if (!has_video_filters(TRUE)||resize_instance!=NULL) { - layer_palette=weed_get_int_value(layer,WEED_LEAF_CURRENT_PALETTE,&weed_error); + if (!has_video_filters(TRUE) || resize_instance != NULL) { + layer_palette = weed_get_int_value(layer, WEED_LEAF_CURRENT_PALETTE, &weed_error); - if (resize_instance==NULL) resize_layer(layer,cfile->hsize,cfile->vsize,LIVES_INTERP_BEST,layer_palette,0); + if (resize_instance == NULL) resize_layer(layer, cfile->hsize, cfile->vsize, LIVES_INTERP_BEST, layer_palette, 0); - if (cfile->img_type==IMG_TYPE_JPEG&&layer_palette!=WEED_PALETTE_RGB24&&layer_palette!=WEED_PALETTE_RGBA32) { - convert_layer_palette(layer,WEED_PALETTE_RGB24,0); - layer_palette=WEED_PALETTE_RGB24; - } else if (cfile->img_type==IMG_TYPE_PNG&&layer_palette!=WEED_PALETTE_RGBA32) { - convert_layer_palette(layer,WEED_PALETTE_RGBA32,0); - layer_palette=WEED_PALETTE_RGBA32; + if (cfile->img_type == IMG_TYPE_JPEG && layer_palette != WEED_PALETTE_RGB24 && layer_palette != WEED_PALETTE_RGBA32) { + convert_layer_palette(layer, WEED_PALETTE_RGB24, 0); + layer_palette = WEED_PALETTE_RGB24; + } else if (cfile->img_type == IMG_TYPE_PNG && layer_palette != WEED_PALETTE_RGBA32) { + convert_layer_palette(layer, WEED_PALETTE_RGBA32, 0); + layer_palette = WEED_PALETTE_RGBA32; } - pixbuf=layer_to_pixbuf(layer); + pixbuf = layer_to_pixbuf(layer); weed_plant_free(layer); - tmp=make_image_file_name(cfile,i,LIVES_FILE_EXT_MGK); - lives_snprintf(oname,PATH_MAX,"%s",tmp); + tmp = make_image_file_name(cfile, i, LIVES_FILE_EXT_MGK); + lives_snprintf(oname, PATH_MAX, "%s", tmp); lives_free(tmp); do { - retval=0; + retval = 0; lives_pixbuf_save(pixbuf, oname, cfile->img_type, 100, TRUE, &error); - if (error!=NULL) { - retval=do_write_failed_error_s_with_retry(oname,error->message,NULL); + if (error != NULL) { + retval = do_write_failed_error_s_with_retry(oname, error->message, NULL); lives_error_free(error); - error=NULL; - if (retval!=LIVES_RESPONSE_RETRY) write_error=LIVES_RENDER_ERROR_WRITE_FRAME; + error = NULL; + if (retval != LIVES_RESPONSE_RETRY) write_error = LIVES_RENDER_ERROR_WRITE_FRAME; } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); lives_object_unref(pixbuf); - if (cfile->clip_type==CLIP_TYPE_FILE) { - cfile->frame_index[i-1]=-1; + if (cfile->clip_type == CLIP_TYPE_FILE) { + cfile->frame_index[i - 1] = -1; } } else weed_plant_free(layer); } if (apply_audio_fx) { - if (!apply_rte_audio((double)cfile->arate/(double)cfile->fps+(double)rand()/.5/(double)(RAND_MAX))) { + if (!apply_rte_audio((double)cfile->arate / (double)cfile->fps + (double)rand() / .5 / (double)(RAND_MAX))) { return LIVES_RENDER_ERROR_WRITE_AUDIO; } } - if (++i>cfile->end) { - if (resize_instance!=NULL||(has_video_filters(FALSE)&&!has_video_filters(TRUE))) { - mainw->error=FALSE; - mainw->cancelled=CANCEL_NONE; - com=lives_strdup_printf("%s mv_mgk \"%s\" %d %d \"%s\"",prefs->backend,cfile->handle,cfile->start, - cfile->end,get_image_ext_for_type(cfile->img_type)); - lives_system(com,FALSE); + if (++i > cfile->end) { + if (resize_instance != NULL || (has_video_filters(FALSE) && !has_video_filters(TRUE))) { + mainw->error = FALSE; + mainw->cancelled = CANCEL_NONE; + com = lives_strdup_printf("%s mv_mgk \"%s\" %d %d \"%s\"", prefs->backend, cfile->handle, cfile->start, + cfile->end, get_image_ext_for_type(cfile->img_type)); + lives_system(com, FALSE); lives_free(com); - mainw->internal_messaging=FALSE; + mainw->internal_messaging = FALSE; check_backend_return(cfile); - if (mainw->error) write_error=LIVES_RENDER_ERROR_WRITE_FRAME; + if (mainw->error) write_error = LIVES_RENDER_ERROR_WRITE_FRAME; //cfile->may_be_damaged=TRUE; else { - if (cfile->clip_type==CLIP_TYPE_FILE) { - if (!check_if_non_virtual(mainw->current_file,1,cfile->frames)) save_frame_index(mainw->current_file); + if (cfile->clip_type == CLIP_TYPE_FILE) { + if (!check_if_non_virtual(mainw->current_file, 1, cfile->frames)) save_frame_index(mainw->current_file); } - mainw->rowstride_alignment_hint=1; + mainw->rowstride_alignment_hint = 1; return LIVES_RENDER_COMPLETE; } } else { - sprintf(mainw->msg,"%s","completed"); - mainw->rowstride_alignment_hint=1; + sprintf(mainw->msg, "%s", "completed"); + mainw->rowstride_alignment_hint = 1; return LIVES_RENDER_COMPLETE; } } @@ -743,70 +743,70 @@ // 1 - resize (using weed filter) boolean retval; - boolean has_new_audio=FALSE; + boolean has_new_audio = FALSE; - apply_audio_fx=FALSE; + apply_audio_fx = FALSE; - if (type==0&&((cfile->achans>0&&prefs->audio_src==AUDIO_SRC_INT&&has_audio_filters(AF_TYPE_ANY))||mainw->agen_key!=0)) { - if (mainw->agen_key!=0&&cfile->achans==0) { + if (type == 0 && ((cfile->achans > 0 && prefs->audio_src == AUDIO_SRC_INT && has_audio_filters(AF_TYPE_ANY)) || mainw->agen_key != 0)) { + if (mainw->agen_key != 0 && cfile->achans == 0) { // apply audio gen to clip with no audio - prompt for audio settings - resaudw=create_resaudw(2,NULL,NULL); + resaudw = create_resaudw(2, NULL, NULL); lives_widget_context_update(); lives_xwindow_raise(lives_widget_get_xwindow(resaudw->dialog)); - if (lives_dialog_run(LIVES_DIALOG(resaudw->dialog))!=LIVES_RESPONSE_OK) return FALSE; + if (lives_dialog_run(LIVES_DIALOG(resaudw->dialog)) != LIVES_RESPONSE_OK) return FALSE; if (mainw->error) { - mainw->error=FALSE; + mainw->error = FALSE; return FALSE; } - has_new_audio=TRUE; + has_new_audio = TRUE; } - apply_audio_fx=TRUE; + apply_audio_fx = TRUE; if (!apply_rte_audio_init()) return FALSE; } - if (type==1) resize_instance=(weed_plant_t *)rfx->source; - else resize_instance=NULL; + if (type == 1) resize_instance = (weed_plant_t *)rfx->source; + else resize_instance = NULL; - mainw->internal_messaging=TRUE; - framecount=0; + mainw->internal_messaging = TRUE; + framecount = 0; - mainw->rowstride_alignment_hint=1; + mainw->rowstride_alignment_hint = 1; - mainw->progress_fn=&realfx_progress; + mainw->progress_fn = &realfx_progress; mainw->progress_fn(TRUE); weed_reinit_all(); - retval=do_effect(rfx,FALSE); + retval = do_effect(rfx, FALSE); if (apply_audio_fx) { apply_rte_audio_end(!retval); if (retval) { - if (!has_video_filters(FALSE)||!has_video_filters(TRUE)) cfile->undo_action=UNDO_NEW_AUDIO; + if (!has_video_filters(FALSE) || !has_video_filters(TRUE)) cfile->undo_action = UNDO_NEW_AUDIO; - cfile->undo_achans=cfile->achans; - cfile->undo_arate=cfile->arate; - cfile->undo_arps=cfile->arps; - cfile->undo_asampsize=cfile->asampsize; - cfile->undo_signed_endian=cfile->signed_endian; + cfile->undo_achans = cfile->achans; + cfile->undo_arate = cfile->arate; + cfile->undo_arps = cfile->arps; + cfile->undo_asampsize = cfile->asampsize; + cfile->undo_signed_endian = cfile->signed_endian; } else { - if (has_new_audio) cfile->achans=cfile->asampsize=cfile->arate=cfile->arps=0; + if (has_new_audio) cfile->achans = cfile->asampsize = cfile->arate = cfile->arps = 0; else { - char *com=lives_strdup_printf("%s undo_audio %s",prefs->backend_sync,cfile->handle); - mainw->com_failed=FALSE; + char *com = lives_strdup_printf("%s undo_audio %s", prefs->backend_sync, cfile->handle); + mainw->com_failed = FALSE; lives_rm(cfile->info_file); - lives_system(com,FALSE); + lives_system(com, FALSE); lives_free(com); } } reget_afilesize(mainw->current_file); } - resize_instance=NULL; + resize_instance = NULL; return retval; } @@ -815,45 +815,45 @@ void on_realfx_activate(LiVESMenuItem *menuitem, livespointer user_data) { - int type=1; + int type = 1; - boolean has_lmap_error=FALSE; + boolean has_lmap_error = FALSE; // type can be 0 - apply current realtime effects // 1 - resize (using weed filter) - if (menuitem!=NULL) { - type=0; + if (menuitem != NULL) { + type = 0; - if (!(prefs->warning_mask&WARN_MASK_LAYOUT_ALTER_FRAMES)&&(mainw->xlays= - layout_frame_is_affected(mainw->current_file,1))!=NULL) { + if (!(prefs->warning_mask & WARN_MASK_LAYOUT_ALTER_FRAMES) && (mainw->xlays = + layout_frame_is_affected(mainw->current_file, 1)) != NULL) { if (!do_layout_alter_frames_warning()) { lives_list_free_all(&mainw->xlays); return; } - add_lmap_error(LMAP_ERROR_ALTER_FRAMES,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0,0., - cfile->stored_layout_frame>0); + add_lmap_error(LMAP_ERROR_ALTER_FRAMES, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, 0., + cfile->stored_layout_frame > 0); lives_list_free_all(&mainw->xlays); - has_lmap_error=TRUE; + has_lmap_error = TRUE; } - if (!(prefs->warning_mask&WARN_MASK_LAYOUT_ALTER_AUDIO)&& - (mainw->xlays=layout_audio_is_affected(mainw->current_file,0.))!=NULL) { + if (!(prefs->warning_mask & WARN_MASK_LAYOUT_ALTER_AUDIO) && + (mainw->xlays = layout_audio_is_affected(mainw->current_file, 0.)) != NULL) { if (!do_layout_alter_audio_warning()) { lives_list_free_all(&mainw->xlays); return; } - add_lmap_error(LMAP_ERROR_ALTER_AUDIO,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0,0., - cfile->stored_layout_audio>0.); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_ALTER_AUDIO, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, 0., + cfile->stored_layout_audio > 0.); + has_lmap_error = TRUE; lives_list_free_all(&mainw->xlays); } } - if (!on_realfx_activate_inner(type,(lives_rfx_t *)user_data)) return; + if (!on_realfx_activate_inner(type, (lives_rfx_t *)user_data)) return; - if (has_lmap_error) popup_lmap_errors(NULL,NULL); + if (has_lmap_error) popup_lmap_errors(NULL, NULL); } @@ -864,47 +864,47 @@ weed_plant_t *on_rte_apply(weed_plant_t *layer, int opwidth, int opheight, weed_timecode_t tc) { // realtime effects - weed_plant_t **layers,*retlayer; + weed_plant_t **layers, *retlayer; int i; if (mainw->foreign) return NULL; - layers=(weed_plant_t **)lives_malloc(3*sizeof(weed_plant_t *)); + layers = (weed_plant_t **)lives_malloc(3 * sizeof(weed_plant_t *)); - layers[2]=NULL; + layers[2] = NULL; - layers[0]=layer; + layers[0] = layer; - if (mainw->blend_file>-1&&mainw->num_tr_applied>0&&(mainw->files[mainw->blend_file]==NULL|| - (mainw->files[mainw->blend_file]->clip_type==CLIP_TYPE_DISK&& - (!mainw->files[mainw->blend_file]->frames|| + if (mainw->blend_file > -1 && mainw->num_tr_applied > 0 && (mainw->files[mainw->blend_file] == NULL || + (mainw->files[mainw->blend_file]->clip_type == CLIP_TYPE_DISK && + (!mainw->files[mainw->blend_file]->frames || !mainw->files[mainw->blend_file]->is_loaded)))) { // invalid blend file - mainw->blend_file=mainw->current_file; + mainw->blend_file = mainw->current_file; } - if (mainw->num_tr_applied&&mainw->blend_file!=mainw->current_file&& - mainw->blend_file!=-1&&mainw->files[mainw->blend_file]!=NULL&&resize_instance==NULL) { - layers[1]=get_blend_layer(tc); - } else layers[1]=NULL; + if (mainw->num_tr_applied && mainw->blend_file != mainw->current_file && + mainw->blend_file != -1 && mainw->files[mainw->blend_file] != NULL && resize_instance == NULL) { + layers[1] = get_blend_layer(tc); + } else layers[1] = NULL; - if (resize_instance!=NULL) { + if (resize_instance != NULL) { lives_filter_error_t filter_error; - weed_plant_t *init_event=weed_plant_new(WEED_PLANT_EVENT); - weed_set_int_value(init_event,WEED_LEAF_IN_TRACKS,0); - weed_set_int_value(init_event,WEED_LEAF_OUT_TRACKS,0); + weed_plant_t *init_event = weed_plant_new(WEED_PLANT_EVENT); + weed_set_int_value(init_event, WEED_LEAF_IN_TRACKS, 0); + weed_set_int_value(init_event, WEED_LEAF_OUT_TRACKS, 0); - filter_error=weed_apply_instance(resize_instance,init_event,layers,0,0,tc); - filter_error=filter_error; // stop compiler complaining - retlayer=layers[0]; + filter_error = weed_apply_instance(resize_instance, init_event, layers, 0, 0, tc); + filter_error = filter_error; // stop compiler complaining + retlayer = layers[0]; weed_plant_free(init_event); } else { - retlayer=weed_apply_effects(layers,mainw->filter_map,tc,opwidth,opheight,mainw->pchains); + retlayer = weed_apply_effects(layers, mainw->filter_map, tc, opwidth, opheight, mainw->pchains); } // all our pixel_data will have been free'd already - for (i=0; layers[i]!=NULL; i++) { - if (layers[i]!=retlayer) weed_plant_free(layers[i]); + for (i = 0; layers[i] != NULL; i++) { + if (layers[i] != retlayer) weed_plant_free(layers[i]); } lives_free(layers); @@ -918,42 +918,42 @@ void deinterlace_frame(weed_plant_t *layer, weed_timecode_t tc) { weed_plant_t **layers; - weed_plant_t *deint_filter,*deint_instance,*next_inst,*init_event; + weed_plant_t *deint_filter, *deint_instance, *next_inst, *init_event; - int deint_idx,error; + int deint_idx, error; - if (mainw->fx_candidates[FX_CANDIDATE_DEINTERLACE].delegate==-1) return; + if (mainw->fx_candidates[FX_CANDIDATE_DEINTERLACE].delegate == -1) return; - deint_idx=LIVES_POINTER_TO_INT(lives_list_nth_data(mainw->fx_candidates[FX_CANDIDATE_DEINTERLACE].list, - mainw->fx_candidates[FX_CANDIDATE_DEINTERLACE].delegate)); + deint_idx = LIVES_POINTER_TO_INT(lives_list_nth_data(mainw->fx_candidates[FX_CANDIDATE_DEINTERLACE].list, + mainw->fx_candidates[FX_CANDIDATE_DEINTERLACE].delegate)); - deint_filter=get_weed_filter(deint_idx); + deint_filter = get_weed_filter(deint_idx); - deint_instance=weed_instance_from_filter(deint_filter); + deint_instance = weed_instance_from_filter(deint_filter); - layers=(weed_plant_t **)lives_malloc(2*sizeof(weed_plant_t *)); + layers = (weed_plant_t **)lives_malloc(2 * sizeof(weed_plant_t *)); - layers[1]=NULL; + layers[1] = NULL; - layers[0]=layer; + layers[0] = layer; - init_event=weed_plant_new(WEED_PLANT_EVENT); - weed_set_int_value(init_event,WEED_LEAF_IN_TRACKS,0); - weed_set_int_value(init_event,WEED_LEAF_OUT_TRACKS,0); + init_event = weed_plant_new(WEED_PLANT_EVENT); + weed_set_int_value(init_event, WEED_LEAF_IN_TRACKS, 0); + weed_set_int_value(init_event, WEED_LEAF_OUT_TRACKS, 0); deint1: - weed_apply_instance(deint_instance,init_event,layers,0,0,tc); + weed_apply_instance(deint_instance, init_event, layers, 0, 0, tc); - if (weed_plant_has_leaf(deint_instance,WEED_LEAF_HOST_NEXT_INSTANCE)) next_inst=weed_get_plantptr_value(deint_instance, - WEED_LEAF_HOST_NEXT_INSTANCE,&error); - else next_inst=NULL; + if (weed_plant_has_leaf(deint_instance, WEED_LEAF_HOST_NEXT_INSTANCE)) next_inst = weed_get_plantptr_value(deint_instance, + WEED_LEAF_HOST_NEXT_INSTANCE, &error); + else next_inst = NULL; weed_call_deinit_func(deint_instance); weed_instance_unref(deint_instance); - if (next_inst!=NULL) { - deint_instance=next_inst; + if (next_inst != NULL) { + deint_instance = next_inst; goto deint1; } @@ -973,30 +973,30 @@ weed_plant_t *get_blend_layer(weed_timecode_t tc) { lives_clip_t *blend_file; - static weed_timecode_t blend_tc=0; - weed_timecode_t ntc=tc; + static weed_timecode_t blend_tc = 0; + weed_timecode_t ntc = tc; - if (mainw->blend_file==-1||mainw->files[mainw->blend_file]==NULL) return NULL; - blend_file=mainw->files[mainw->blend_file]; + if (mainw->blend_file == -1 || mainw->files[mainw->blend_file] == NULL) return NULL; + blend_file = mainw->files[mainw->blend_file]; - if (mainw->blend_file!=mainw->last_blend_file) { + if (mainw->blend_file != mainw->last_blend_file) { // mainw->last_blend_file is set to -1 on playback start - mainw->last_blend_file=mainw->blend_file; - blend_tc=tc; + mainw->last_blend_file = mainw->blend_file; + blend_tc = tc; } - blend_file->last_frameno=blend_file->frameno; + blend_file->last_frameno = blend_file->frameno; if (!cfile->play_paused) - blend_file->frameno=calc_new_playback_position(mainw->blend_file,blend_tc,(uint64_t *)&ntc); + blend_file->frameno = calc_new_playback_position(mainw->blend_file, blend_tc, (uint64_t *)&ntc); - blend_tc=ntc; + blend_tc = ntc; - mainw->blend_layer=weed_plant_new(WEED_PLANT_CHANNEL); - weed_set_int_value(mainw->blend_layer,WEED_LEAF_CLIP,mainw->blend_file); - weed_set_int_value(mainw->blend_layer,WEED_LEAF_FRAME,blend_file->frameno); + mainw->blend_layer = weed_plant_new(WEED_PLANT_CHANNEL); + weed_set_int_value(mainw->blend_layer, WEED_LEAF_CLIP, mainw->blend_file); + weed_set_int_value(mainw->blend_layer, WEED_LEAF_FRAME, blend_file->frameno); - pull_frame_threaded(mainw->blend_layer,get_image_ext_for_type(blend_file->img_type),tc); + pull_frame_threaded(mainw->blend_layer, get_image_ext_for_type(blend_file->img_type), tc); return mainw->blend_layer; } @@ -1008,85 +1008,85 @@ boolean rte_on_off_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { // this is the callback which happens when a rte is keyed - int key=LIVES_POINTER_TO_INT(user_data); + int key = LIVES_POINTER_TO_INT(user_data); uint64_t new_rte; - if (!mainw->interactive && group!=NULL) return TRUE; + if (!mainw->interactive && group != NULL) return TRUE; - mainw->fx_is_auto=FALSE; + mainw->fx_is_auto = FALSE; - mainw->osc_block=TRUE; + mainw->osc_block = TRUE; - if (key<0) { - mainw->fx_is_auto=TRUE; - key=-key; + if (key < 0) { + mainw->fx_is_auto = TRUE; + key = -key; } - new_rte=GU641<<(key-1); + new_rte = GU641 << (key - 1); - if (key==EFFECT_NONE) { + if (key == EFFECT_NONE) { // switch up/down keys to default (fps change) weed_deinit_all(FALSE); } else { // the idea here is this gets set if a generator starts play, because in weed_init_effect() we will run playback // and then we come out of there and do not wish to set the key on - mainw->gen_started_play=FALSE; + mainw->gen_started_play = FALSE; - if (!(mainw->rte&new_rte)) { + if (!(mainw->rte & new_rte)) { // switch is ON // WARNING - if we start playing because a generator was started, we block here - if (!(weed_init_effect(key-1))) { + if (!(weed_init_effect(key - 1))) { // ran out of instance slots, no effect assigned, or some other error pthread_mutex_lock(&mainw->event_list_mutex); - if (mainw->rte&new_rte) mainw->rte^=new_rte; + if (mainw->rte & new_rte) mainw->rte ^= new_rte; pthread_mutex_unlock(&mainw->event_list_mutex); - if (rte_window!=NULL) rtew_set_keych(key-1,FALSE); - if (mainw->ce_thumbs) ce_thumbs_set_keych(key-1,FALSE); - mainw->osc_block=FALSE; + if (rte_window != NULL) rtew_set_keych(key - 1, FALSE); + if (mainw->ce_thumbs) ce_thumbs_set_keych(key - 1, FALSE); + mainw->osc_block = FALSE; return TRUE; } if (!mainw->gen_started_play) { - if (!(mainw->rte&new_rte)) mainw->rte|=new_rte; + if (!(mainw->rte & new_rte)) mainw->rte |= new_rte; - mainw->last_grabbable_effect=key-1; - if (rte_window!=NULL) rtew_set_keych(key-1,TRUE); + mainw->last_grabbable_effect = key - 1; + if (rte_window != NULL) rtew_set_keych(key - 1, TRUE); if (mainw->ce_thumbs) { - ce_thumbs_set_keych(key-1,TRUE); + ce_thumbs_set_keych(key - 1, TRUE); // if effect was auto (from ACTIVATE data connection), leave all param boxes // otherwise, remove any which are not "pinned" - if (!mainw->fx_is_auto) ce_thumbs_add_param_box(key-1,!mainw->fx_is_auto); + if (!mainw->fx_is_auto) ce_thumbs_add_param_box(key - 1, !mainw->fx_is_auto); } } } else { // effect is OFF - weed_deinit_effect(key-1); + weed_deinit_effect(key - 1); pthread_mutex_lock(&mainw->event_list_mutex); - if (mainw->rte&new_rte) mainw->rte^=new_rte; + if (mainw->rte & new_rte) mainw->rte ^= new_rte; pthread_mutex_unlock(&mainw->event_list_mutex); - if (rte_window!=NULL) rtew_set_keych(key-1,FALSE); - if (mainw->ce_thumbs) ce_thumbs_set_keych(key-1,FALSE); + if (rte_window != NULL) rtew_set_keych(key - 1, FALSE); + if (mainw->ce_thumbs) ce_thumbs_set_keych(key - 1, FALSE); } } - mainw->osc_block=FALSE; - mainw->fx_is_auto=FALSE; + mainw->osc_block = FALSE; + mainw->fx_is_auto = FALSE; - if (mainw->current_file>0&&cfile->play_paused&&!mainw->noswitch) { + if (mainw->current_file > 0 && cfile->play_paused && !mainw->noswitch) { load_frame_image(cfile->frameno); } - if (mainw->playing_file==-1&&mainw->current_file>0&&((has_video_filters(FALSE)&&!has_video_filters(TRUE))|| - (cfile->achans>0&&prefs->audio_src==AUDIO_SRC_INT&&has_audio_filters(AF_TYPE_ANY))|| - mainw->agen_key!=0)) { + if (mainw->playing_file == -1 && mainw->current_file > 0 && ((has_video_filters(FALSE) && !has_video_filters(TRUE)) || + (cfile->achans > 0 && prefs->audio_src == AUDIO_SRC_INT && has_audio_filters(AF_TYPE_ANY)) || + mainw->agen_key != 0)) { - lives_widget_set_sensitive(mainw->rendered_fx[0].menuitem,TRUE); - } else lives_widget_set_sensitive(mainw->rendered_fx[0].menuitem,FALSE); + lives_widget_set_sensitive(mainw->rendered_fx[0].menuitem, TRUE); + } else lives_widget_set_sensitive(mainw->rendered_fx[0].menuitem, FALSE); - if (key>0&&!mainw->fx_is_auto) { + if (key > 0 && !mainw->fx_is_auto) { // user override any ACTIVATE data connection override_if_active_input(key); @@ -1107,17 +1107,17 @@ boolean grabkeys_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { // assign the keys to the last key-grabbable effect - int fx=LIVES_POINTER_TO_INT(user_data); - if (fx!=-1) { - mainw->last_grabbable_effect=fx; + int fx = LIVES_POINTER_TO_INT(user_data); + if (fx != -1) { + mainw->last_grabbable_effect = fx; } - mainw->rte_keys=mainw->last_grabbable_effect; - mainw->osc_block=TRUE; - if (rte_window!=NULL) { - if (group!=NULL) rtew_set_keygr(mainw->rte_keys); + mainw->rte_keys = mainw->last_grabbable_effect; + mainw->osc_block = TRUE; + if (rte_window != NULL) { + if (group != NULL) rtew_set_keygr(mainw->rte_keys); } - mainw->blend_factor=weed_get_blend_factor(mainw->rte_keys); - mainw->osc_block=FALSE; + mainw->blend_factor = weed_get_blend_factor(mainw->rte_keys); + mainw->osc_block = FALSE; return TRUE; } @@ -1125,7 +1125,7 @@ boolean textparm_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { // keyboard linked to first string parameter, until TAB is pressed - mainw->rte_textparm=get_textparm(); + mainw->rte_textparm = get_textparm(); return TRUE; } @@ -1140,42 +1140,42 @@ boolean rtemode_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { // "m" mode key - if (mainw->rte_keys==-1) return TRUE; - rte_key_setmode(0,-1); - mainw->blend_factor=weed_get_blend_factor(mainw->rte_keys); + if (mainw->rte_keys == -1) return TRUE; + rte_key_setmode(0, -1); + mainw->blend_factor = weed_get_blend_factor(mainw->rte_keys); return TRUE; } boolean rtemode_callback_hook(LiVESToggleButton *button, livespointer user_data) { - int key_mode=LIVES_POINTER_TO_INT(user_data); - int modes=rte_getmodespk(); - int key=(int)(key_mode/modes); - int mode=key_mode-key*modes; + int key_mode = LIVES_POINTER_TO_INT(user_data); + int modes = rte_getmodespk(); + int key = (int)(key_mode / modes); + int mode = key_mode - key * modes; if (!lives_toggle_button_get_active(button)) return TRUE; - rte_key_setmode(key+1,mode); + rte_key_setmode(key + 1, mode); return TRUE; } boolean swap_fg_bg_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { - int old_file=mainw->current_file; + int old_file = mainw->current_file; - if (mainw->playing_file<1||mainw->num_tr_applied==0||mainw->noswitch||mainw->blend_file==-1|| - mainw->blend_file==mainw->current_file||mainw->files[mainw->blend_file]==NULL||mainw->preview|| - mainw->noswitch||(mainw->is_processing&&cfile->is_loaded)) { + if (mainw->playing_file < 1 || mainw->num_tr_applied == 0 || mainw->noswitch || mainw->blend_file == -1 || + mainw->blend_file == mainw->current_file || mainw->files[mainw->blend_file] == NULL || mainw->preview || + mainw->noswitch || (mainw->is_processing && cfile->is_loaded)) { return TRUE; } do_quick_switch(mainw->blend_file); - mainw->blend_file=old_file; + mainw->blend_file = old_file; rte_swap_fg_bg(); - if (mainw->ce_thumbs&&(mainw->active_sa_clips==SCREEN_AREA_BACKGROUND||mainw->active_sa_clips==SCREEN_AREA_FOREGROUND)) + if (mainw->ce_thumbs && (mainw->active_sa_clips == SCREEN_AREA_BACKGROUND || mainw->active_sa_clips == SCREEN_AREA_FOREGROUND)) ce_thumbs_highlight_current_clip(); return TRUE;
View file
LiVES-2.8.4.tar.bz2/src/effects.h -> LiVES-2.8.6.tar.bz2/src/effects.h
Changed
@@ -15,7 +15,7 @@ // general effects typedef enum { - LIVES_FX_CAT_NONE=0, + LIVES_FX_CAT_NONE = 0, LIVES_FX_CAT_VIDEO_GENERATOR, LIVES_FX_CAT_AV_GENERATOR, LIVES_FX_CAT_AUDIO_GENERATOR,
View file
LiVES-2.8.4.tar.bz2/src/events.c -> LiVES-2.8.6.tar.bz2/src/events.c
Changed
@@ -37,7 +37,7 @@ static int render_choice; -static weed_timecode_t flush_audio_tc=0; +static weed_timecode_t flush_audio_tc = 0; static void **pchains[FX_KEYS_MAX]; // each pchain is an array of void *, these are parameter changes used for rendering /////////////////////////////////////////////////////// @@ -50,46 +50,46 @@ LIVES_INLINE weed_timecode_t get_event_timecode(weed_plant_t *plant) { weed_timecode_t tc; int error; - if (plant==NULL) return (weed_timecode_t)0; - tc=weed_get_int64_value(plant,WEED_LEAF_TIMECODE,&error); + if (plant == NULL) return (weed_timecode_t)0; + tc = weed_get_int64_value(plant, WEED_LEAF_TIMECODE, &error); return tc; } LIVES_INLINE int get_event_hint(weed_plant_t *plant) { int hint; int error; - if (plant==NULL) return 0; - hint=weed_get_int_value(plant,WEED_LEAF_HINT,&error); + if (plant == NULL) return 0; + hint = weed_get_int_value(plant, WEED_LEAF_HINT, &error); return hint; } LIVES_INLINE weed_plant_t *get_prev_event(weed_plant_t *event) { int error; - if (event==NULL) return NULL; - if (!weed_plant_has_leaf(event,WEED_LEAF_PREVIOUS)) return NULL; - return (weed_plant_t *)weed_get_voidptr_value(event,WEED_LEAF_PREVIOUS,&error); + if (event == NULL) return NULL; + if (!weed_plant_has_leaf(event, WEED_LEAF_PREVIOUS)) return NULL; + return (weed_plant_t *)weed_get_voidptr_value(event, WEED_LEAF_PREVIOUS, &error); } LIVES_INLINE weed_plant_t *get_next_event(weed_plant_t *event) { int error; - if (event==NULL) return NULL; - if (!weed_plant_has_leaf(event,WEED_LEAF_NEXT)) return NULL; - return (weed_plant_t *)weed_get_voidptr_value(event,WEED_LEAF_NEXT,&error); + if (event == NULL) return NULL; + if (!weed_plant_has_leaf(event, WEED_LEAF_NEXT)) return NULL; + return (weed_plant_t *)weed_get_voidptr_value(event, WEED_LEAF_NEXT, &error); } LIVES_INLINE weed_plant_t *get_first_event(weed_plant_t *event_list) { int error; - if (event_list==NULL) return NULL; - if (!weed_plant_has_leaf(event_list,WEED_LEAF_FIRST)) return NULL; - return (weed_plant_t *)weed_get_voidptr_value(event_list,WEED_LEAF_FIRST,&error); + if (event_list == NULL) return NULL; + if (!weed_plant_has_leaf(event_list, WEED_LEAF_FIRST)) return NULL; + return (weed_plant_t *)weed_get_voidptr_value(event_list, WEED_LEAF_FIRST, &error); } LIVES_INLINE weed_plant_t *get_last_event(weed_plant_t *event_list) { int error; - if (event_list==NULL) return NULL; - if (!weed_plant_has_leaf(event_list,WEED_LEAF_LAST)) return NULL; - return (weed_plant_t *)weed_get_voidptr_value(event_list,WEED_LEAF_LAST,&error); + if (event_list == NULL) return NULL; + if (!weed_plant_has_leaf(event_list, WEED_LEAF_LAST)) return NULL; + return (weed_plant_t *)weed_get_voidptr_value(event_list, WEED_LEAF_LAST, &error); } @@ -97,31 +97,31 @@ weed_plant_t *event; weed_timecode_t ev_tc; - if (shortcut==NULL||*shortcut==NULL) event=get_first_event(event_list); - else event=*shortcut; + if (shortcut == NULL || *shortcut == NULL) event = get_first_event(event_list); + else event = *shortcut; - while ((ev_tc=get_event_timecode(event))<=tc) { - if (ev_tc==tc&&WEED_EVENT_IS_FRAME(event)) { - *shortcut=event; + while ((ev_tc = get_event_timecode(event)) <= tc) { + if (ev_tc == tc && WEED_EVENT_IS_FRAME(event)) { + *shortcut = event; return TRUE; } - event=get_next_event(event); + event = get_next_event(event); } return FALSE; } int get_audio_frame_clip(weed_plant_t *event, int track) { - int numaclips,aclipnum=-1; - int *aclips,error; + int numaclips, aclipnum = -1; + int *aclips, error; register int i; if (!WEED_EVENT_IS_AUDIO_FRAME(event)) return -2; - numaclips=weed_leaf_num_elements(event,WEED_LEAF_AUDIO_CLIPS); - aclips=weed_get_int_array(event,WEED_LEAF_AUDIO_CLIPS,&error); - for (i=0; i<numaclips; i+=2) { - if (aclips[i]==track) { - aclipnum=aclips[i+1]; + numaclips = weed_leaf_num_elements(event, WEED_LEAF_AUDIO_CLIPS); + aclips = weed_get_int_array(event, WEED_LEAF_AUDIO_CLIPS, &error); + for (i = 0; i < numaclips; i += 2) { + if (aclips[i] == track) { + aclipnum = aclips[i + 1]; break; } } @@ -135,7 +135,7 @@ // warning - check for the clip >0 first int *aclips; - double *aseeks,avel=1.; + double *aseeks, avel = 1.; int error; int numaclips; @@ -143,12 +143,12 @@ register int i; if (!WEED_EVENT_IS_AUDIO_FRAME(event)) return -2; - numaclips=weed_leaf_num_elements(event,WEED_LEAF_AUDIO_CLIPS); - aclips=weed_get_int_array(event,WEED_LEAF_AUDIO_CLIPS,&error); - aseeks=weed_get_double_array(event,WEED_LEAF_AUDIO_SEEKS,&error); - for (i=0; i<numaclips; i+=2) { - if (aclips[i]==track) { - avel=aseeks[i+1]; + numaclips = weed_leaf_num_elements(event, WEED_LEAF_AUDIO_CLIPS); + aclips = weed_get_int_array(event, WEED_LEAF_AUDIO_CLIPS, &error); + aseeks = weed_get_double_array(event, WEED_LEAF_AUDIO_SEEKS, &error); + for (i = 0; i < numaclips; i += 2) { + if (aclips[i] == track) { + avel = aseeks[i + 1]; break; } } @@ -162,19 +162,19 @@ // warning - check for the clip >0 first int *aclips; - double *aseeks,aseek=0.; + double *aseeks, aseek = 0.; int numaclips; int error; register int i; if (!WEED_EVENT_IS_AUDIO_FRAME(event)) return -1000000.; - numaclips=weed_leaf_num_elements(event,WEED_LEAF_AUDIO_CLIPS); - aclips=weed_get_int_array(event,WEED_LEAF_AUDIO_CLIPS,&error); - aseeks=weed_get_double_array(event,WEED_LEAF_AUDIO_SEEKS,&error); - for (i=0; i<numaclips; i+=2) { - if (aclips[i]==track) { - aseek=aseeks[i]; + numaclips = weed_leaf_num_elements(event, WEED_LEAF_AUDIO_CLIPS); + aclips = weed_get_int_array(event, WEED_LEAF_AUDIO_CLIPS, &error); + aseeks = weed_get_double_array(event, WEED_LEAF_AUDIO_SEEKS, &error); + for (i = 0; i < numaclips; i += 2) { + if (aclips[i] == track) { + aseek = aseeks[i]; break; } } @@ -185,25 +185,25 @@ int get_frame_event_clip(weed_plant_t *event, int layer) { - int numclips,clipnum; - int *clips,error; + int numclips, clipnum; + int *clips, error; if (!WEED_EVENT_IS_FRAME(event)) return -2; - numclips=weed_leaf_num_elements(event,WEED_LEAF_CLIPS); - clips=weed_get_int_array(event,WEED_LEAF_CLIPS,&error); - if (numclips<=layer) return -3; - clipnum=clips[layer]; + numclips = weed_leaf_num_elements(event, WEED_LEAF_CLIPS); + clips = weed_get_int_array(event, WEED_LEAF_CLIPS, &error); + if (numclips <= layer) return -3; + clipnum = clips[layer]; lives_free(clips); return clipnum; } int get_frame_event_frame(weed_plant_t *event, int layer) { - int numframes,framenum; - int *frames,error; + int numframes, framenum; + int *frames, error; if (!WEED_EVENT_IS_FRAME(event)) return -2; - numframes=weed_leaf_num_elements(event,WEED_LEAF_FRAMES); - frames=weed_get_int_array(event,WEED_LEAF_FRAMES,&error); - if (numframes<=layer) return -3; - framenum=frames[layer]; + numframes = weed_leaf_num_elements(event, WEED_LEAF_FRAMES); + frames = weed_get_int_array(event, WEED_LEAF_FRAMES, &error); + if (numframes <= layer) return -3; + framenum = frames[layer]; lives_free(frames); return framenum; } @@ -211,68 +211,68 @@ void unlink_event(weed_plant_t *event_list, weed_plant_t *event) { // lives_rm event from event_list // don't forget to adjust "timecode" before re-inserting ! - weed_plant_t *prev_event=get_prev_event(event); - weed_plant_t *next_event=get_next_event(event); + weed_plant_t *prev_event = get_prev_event(event); + weed_plant_t *next_event = get_next_event(event); - if (prev_event!=NULL) weed_set_voidptr_value(prev_event,WEED_LEAF_NEXT,next_event); - if (next_event!=NULL) weed_set_voidptr_value(next_event,WEED_LEAF_PREVIOUS,prev_event); + if (prev_event != NULL) weed_set_voidptr_value(prev_event, WEED_LEAF_NEXT, next_event); + if (next_event != NULL) weed_set_voidptr_value(next_event, WEED_LEAF_PREVIOUS, prev_event); - if (get_first_event(event_list)==event) weed_set_voidptr_value(event_list,WEED_LEAF_FIRST,next_event); - if (get_last_event(event_list)==event) weed_set_voidptr_value(event_list,WEED_LEAF_LAST,prev_event); + if (get_first_event(event_list) == event) weed_set_voidptr_value(event_list, WEED_LEAF_FIRST, next_event); + if (get_last_event(event_list) == event) weed_set_voidptr_value(event_list, WEED_LEAF_LAST, prev_event); } void delete_event(weed_plant_t *event_list, weed_plant_t *event) { // delete event from event_list threaded_dialog_spin(0.); - unlink_event(event_list,event); - if (mainw->multitrack!=NULL) mt_fixup_events(mainw->multitrack,event,NULL); + unlink_event(event_list, event); + if (mainw->multitrack != NULL) mt_fixup_events(mainw->multitrack, event, NULL); weed_plant_free(event); threaded_dialog_spin(0.); } -boolean insert_event_before(weed_plant_t *at_event,weed_plant_t *event) { +boolean insert_event_before(weed_plant_t *at_event, weed_plant_t *event) { // insert event before at_event : returns FALSE if event is new start of event list - weed_plant_t *xevent=get_prev_event(at_event); - if (xevent!=NULL) weed_set_voidptr_value(xevent,WEED_LEAF_NEXT,event); - weed_set_voidptr_value(event,WEED_LEAF_NEXT,at_event); - weed_set_voidptr_value(event,WEED_LEAF_PREVIOUS,xevent); - weed_set_voidptr_value(at_event,WEED_LEAF_PREVIOUS,event); - if (get_event_timecode(event)>get_event_timecode(at_event)) - lives_printerr("Warning ! Inserted out of order event type %d before %d\n",get_event_hint(event),get_event_hint(at_event)); - return (xevent!=NULL); + weed_plant_t *xevent = get_prev_event(at_event); + if (xevent != NULL) weed_set_voidptr_value(xevent, WEED_LEAF_NEXT, event); + weed_set_voidptr_value(event, WEED_LEAF_NEXT, at_event); + weed_set_voidptr_value(event, WEED_LEAF_PREVIOUS, xevent); + weed_set_voidptr_value(at_event, WEED_LEAF_PREVIOUS, event); + if (get_event_timecode(event) > get_event_timecode(at_event)) + lives_printerr("Warning ! Inserted out of order event type %d before %d\n", get_event_hint(event), get_event_hint(at_event)); + return (xevent != NULL); } -boolean insert_event_after(weed_plant_t *at_event,weed_plant_t *event) { +boolean insert_event_after(weed_plant_t *at_event, weed_plant_t *event) { // insert event after at_event : returns FALSE if event is new end of event list - weed_plant_t *xevent=get_next_event(at_event); - if (xevent!=NULL) weed_set_voidptr_value(xevent,WEED_LEAF_PREVIOUS,event); - weed_set_voidptr_value(event,WEED_LEAF_PREVIOUS,at_event); - weed_set_voidptr_value(event,WEED_LEAF_NEXT,xevent); - weed_set_voidptr_value(at_event,WEED_LEAF_NEXT,event); - if (get_event_timecode(event)<get_event_timecode(at_event)) - lives_printerr("Warning ! Inserted out of order event type %d after %d\n",get_event_hint(event),get_event_hint(at_event)); - return (xevent!=NULL); + weed_plant_t *xevent = get_next_event(at_event); + if (xevent != NULL) weed_set_voidptr_value(xevent, WEED_LEAF_PREVIOUS, event); + weed_set_voidptr_value(event, WEED_LEAF_PREVIOUS, at_event); + weed_set_voidptr_value(event, WEED_LEAF_NEXT, xevent); + weed_set_voidptr_value(at_event, WEED_LEAF_NEXT, event); + if (get_event_timecode(event) < get_event_timecode(at_event)) + lives_printerr("Warning ! Inserted out of order event type %d after %d\n", get_event_hint(event), get_event_hint(at_event)); + return (xevent != NULL); } -void replace_event(weed_plant_t *event_list, weed_plant_t *at_event,weed_plant_t *event) { +void replace_event(weed_plant_t *event_list, weed_plant_t *at_event, weed_plant_t *event) { // replace at_event with event; free at_event - if (mainw->multitrack!=NULL) mt_fixup_events(mainw->multitrack,at_event,event); - weed_set_int64_value(event,WEED_LEAF_TIMECODE,get_event_timecode(at_event)); - if (!insert_event_after(at_event,event)) weed_set_voidptr_value(event_list,WEED_LEAF_LAST,event); - delete_event(event_list,at_event); + if (mainw->multitrack != NULL) mt_fixup_events(mainw->multitrack, at_event, event); + weed_set_int64_value(event, WEED_LEAF_TIMECODE, get_event_timecode(at_event)); + if (!insert_event_after(at_event, event)) weed_set_voidptr_value(event_list, WEED_LEAF_LAST, event); + delete_event(event_list, at_event); } weed_plant_t *get_next_frame_event(weed_plant_t *event) { weed_plant_t *next; - if (event==NULL) return NULL; - next=get_next_event(event); - while (next!=NULL) { + if (event == NULL) return NULL; + next = get_next_event(event); + while (next != NULL) { if (WEED_EVENT_IS_FRAME(next)) return next; - next=get_next_event(next); + next = get_next_event(next); } return NULL; } @@ -280,11 +280,11 @@ weed_plant_t *get_prev_frame_event(weed_plant_t *event) { weed_plant_t *prev; - if (event==NULL) return NULL; - prev=get_prev_event(event); - while (prev!=NULL) { + if (event == NULL) return NULL; + prev = get_prev_event(event); + while (prev != NULL) { if (WEED_EVENT_IS_FRAME(prev)) return prev; - prev=get_prev_event(prev); + prev = get_prev_event(prev); } return NULL; } @@ -292,11 +292,11 @@ weed_plant_t *get_next_audio_frame_event(weed_plant_t *event) { weed_plant_t *next; - if (event==NULL) return NULL; - next=get_next_event(event); - while (next!=NULL) { + if (event == NULL) return NULL; + next = get_next_event(event); + while (next != NULL) { if (WEED_EVENT_IS_AUDIO_FRAME(next)) return next; - next=get_next_event(next); + next = get_next_event(next); } return NULL; } @@ -304,11 +304,11 @@ weed_plant_t *get_prev_audio_frame_event(weed_plant_t *event) { weed_plant_t *prev; - if (event==NULL) return NULL; - prev=get_prev_event(event); - while (prev!=NULL) { + if (event == NULL) return NULL; + prev = get_prev_event(event); + while (prev != NULL) { if (WEED_EVENT_IS_AUDIO_FRAME(prev)) return prev; - prev=get_prev_event(prev); + prev = get_prev_event(prev); } return NULL; } @@ -317,13 +317,13 @@ weed_plant_t *get_first_frame_event(weed_plant_t *event_list) { weed_plant_t *event; - if (event_list==NULL) return NULL; + if (event_list == NULL) return NULL; - event=get_first_event(event_list); + event = get_first_event(event_list); - while (event!=NULL) { + while (event != NULL) { if (WEED_EVENT_IS_FRAME(event)) return event; - event=get_next_event(event); + event = get_next_event(event); } return NULL; } @@ -331,13 +331,13 @@ weed_plant_t *get_last_frame_event(weed_plant_t *event_list) { weed_plant_t *event; - if (event_list==NULL) return NULL; + if (event_list == NULL) return NULL; - event=get_last_event(event_list); + event = get_last_event(event_list); - while (event!=NULL) { + while (event != NULL) { if (WEED_EVENT_IS_FRAME(event)) return event; - event=get_prev_event(event); + event = get_prev_event(event); } return NULL; } @@ -348,12 +348,12 @@ // if seek_back is true we go back in time to find a possible start // otherwise just check the current frame event - weed_plant_t *event=get_frame_event_at_or_before(event_list,tc,NULL); - if (get_audio_frame_clip(event,track)>-1&&get_audio_frame_vel(event,track)!=0.) return event; + weed_plant_t *event = get_frame_event_at_or_before(event_list, tc, NULL); + if (get_audio_frame_clip(event, track) > -1 && get_audio_frame_vel(event, track) != 0.) return event; if (!seek_back) return NULL; - while ((event=get_prev_frame_event(event))!=NULL) { - if (get_audio_frame_clip(event,track)>-1&&get_audio_frame_vel(event,track)!=0.) return event; + while ((event = get_prev_frame_event(event)) != NULL) { + if (get_audio_frame_clip(event, track) > -1 && get_audio_frame_vel(event, track) != 0.) return event; } return NULL; @@ -366,12 +366,12 @@ void *event_id; int error; - while (event!=NULL) { + while (event != NULL) { if (WEED_EVENT_IS_FILTER_INIT(event)) { - event_id=weed_get_voidptr_value(event,WEED_LEAF_EVENT_ID,&error); - if (event_id==init_event) break; + event_id = weed_get_voidptr_value(event, WEED_LEAF_EVENT_ID, &error); + if (event_id == init_event) break; } - event=get_prev_event(event); + event = get_prev_event(event); } return (void *)event; } @@ -384,29 +384,29 @@ int *clips; int *frames; - int error,numframes; + int error, numframes; register int i; if (!WEED_EVENT_IS_FRAME(event)) return; - tc=get_event_timecode(event); + tc = get_event_timecode(event); - numframes=weed_leaf_num_elements(event,WEED_LEAF_CLIPS); - clips=weed_get_int_array(event,WEED_LEAF_CLIPS,&error); - frames=weed_get_int_array(event,WEED_LEAF_FRAMES,&error); + numframes = weed_leaf_num_elements(event, WEED_LEAF_CLIPS); + clips = weed_get_int_array(event, WEED_LEAF_CLIPS, &error); + frames = weed_get_int_array(event, WEED_LEAF_FRAMES, &error); - if (track==numframes-1) numframes--; + if (track == numframes - 1) numframes--; else { - clips[track]=-1; - frames[track]=0; + clips[track] = -1; + frames[track] = 0; } // if stack is empty, we will replace with a blank frame - for (i=0; i<numframes&&clips[i]<1; i++); - if (i==numframes) { - if (event==get_last_event(event_list)&&!WEED_EVENT_IS_AUDIO_FRAME(event)) delete_event(event_list,event); - else event_list=insert_blank_frame_event_at(event_list,tc,&event); - } else event_list=insert_frame_event_at(event_list,tc,numframes,clips,frames,&event); + for (i = 0; i < numframes && clips[i] < 1; i++); + if (i == numframes) { + if (event == get_last_event(event_list) && !WEED_EVENT_IS_AUDIO_FRAME(event)) delete_event(event_list, event); + else event_list = insert_blank_frame_event_at(event_list, tc, &event); + } else event_list = insert_frame_event_at(event_list, tc, numframes, clips, frames, &event); lives_free(frames); lives_free(clips); } @@ -414,75 +414,75 @@ boolean is_blank_frame(weed_plant_t *event, boolean count_audio) { - int clip,frame,numframes,error; + int clip, frame, numframes, error; if (!WEED_EVENT_IS_FRAME(event)) return FALSE; - if (count_audio&&WEED_EVENT_IS_AUDIO_FRAME(event)) { - int *aclips=weed_get_int_array(event,WEED_LEAF_AUDIO_CLIPS,&error); - if (aclips[1]>0) { + if (count_audio && WEED_EVENT_IS_AUDIO_FRAME(event)) { + int *aclips = weed_get_int_array(event, WEED_LEAF_AUDIO_CLIPS, &error); + if (aclips[1] > 0) { lives_free(aclips); return FALSE; // has audio seek } lives_free(aclips); } - numframes=weed_leaf_num_elements(event,WEED_LEAF_CLIPS); - if (numframes>1) return FALSE; - clip=weed_get_int_value(event,WEED_LEAF_CLIPS,&error); - frame=weed_get_int_value(event,WEED_LEAF_FRAMES,&error); + numframes = weed_leaf_num_elements(event, WEED_LEAF_CLIPS); + if (numframes > 1) return FALSE; + clip = weed_get_int_value(event, WEED_LEAF_CLIPS, &error); + frame = weed_get_int_value(event, WEED_LEAF_FRAMES, &error); - if (clip<0||frame<=0) return TRUE; + if (clip < 0 || frame <= 0) return TRUE; return FALSE; } void remove_end_blank_frames(weed_plant_t *event_list, boolean remove_filter_inits) { // remove blank frames from end of event list - weed_plant_t *event=get_last_event(event_list),*prevevent; - while (event!=NULL) { - prevevent=get_prev_event(event); - if (!WEED_EVENT_IS_FRAME(event)&&!WEED_EVENT_IS_FILTER_INIT(event)) { - event=prevevent; + weed_plant_t *event = get_last_event(event_list), *prevevent; + while (event != NULL) { + prevevent = get_prev_event(event); + if (!WEED_EVENT_IS_FRAME(event) && !WEED_EVENT_IS_FILTER_INIT(event)) { + event = prevevent; continue; } - if (remove_filter_inits&&WEED_EVENT_IS_FILTER_INIT(event)) remove_filter_from_event_list(event_list,event); + if (remove_filter_inits && WEED_EVENT_IS_FILTER_INIT(event)) remove_filter_from_event_list(event_list, event); else { - if (!is_blank_frame(event,TRUE)) break; - delete_event(event_list,event); + if (!is_blank_frame(event, TRUE)) break; + delete_event(event_list, event); } - event=prevevent; + event = prevevent; } } -weed_timecode_t get_next_paramchange(void **pchange_next,weed_timecode_t end_tc) { - weed_timecode_t min_tc=end_tc; - register int i=0; - if (pchange_next==NULL) return end_tc; - for (; pchange_next[i]!=NULL; i++) if (get_event_timecode((weed_plant_t *)pchange_next[i])<min_tc) - min_tc=get_event_timecode((weed_plant_t *)pchange_next[i]); +weed_timecode_t get_next_paramchange(void **pchange_next, weed_timecode_t end_tc) { + weed_timecode_t min_tc = end_tc; + register int i = 0; + if (pchange_next == NULL) return end_tc; + for (; pchange_next[i] != NULL; i++) if (get_event_timecode((weed_plant_t *)pchange_next[i]) < min_tc) + min_tc = get_event_timecode((weed_plant_t *)pchange_next[i]); return min_tc; } -weed_timecode_t get_prev_paramchange(void **pchange_prev,weed_timecode_t start_tc) { - weed_timecode_t min_tc=start_tc; - register int i=0; - if (pchange_prev==NULL) return start_tc; - for (; pchange_prev[i]!=NULL; i++) if (get_event_timecode((weed_plant_t *)pchange_prev[i])<min_tc) - min_tc=get_event_timecode((weed_plant_t *)pchange_prev[i]); +weed_timecode_t get_prev_paramchange(void **pchange_prev, weed_timecode_t start_tc) { + weed_timecode_t min_tc = start_tc; + register int i = 0; + if (pchange_prev == NULL) return start_tc; + for (; pchange_prev[i] != NULL; i++) if (get_event_timecode((weed_plant_t *)pchange_prev[i]) < min_tc) + min_tc = get_event_timecode((weed_plant_t *)pchange_prev[i]); return min_tc; } boolean is_init_pchange(weed_plant_t *init_event, weed_plant_t *pchange_event) { // a PARAM_CHANGE is an init_pchange iff both events have the same tc, and there is no frame event between the two events - weed_plant_t *event=init_event; - weed_timecode_t tc=get_event_timecode(event); - if (tc!=get_event_timecode(pchange_event)) return FALSE; + weed_plant_t *event = init_event; + weed_timecode_t tc = get_event_timecode(event); + if (tc != get_event_timecode(pchange_event)) return FALSE; - while (event!=NULL&&event!=pchange_event) { + while (event != NULL && event != pchange_event) { if (WEED_EVENT_IS_FRAME(event)) return FALSE; - event=get_next_event(event); + event = get_next_event(event); } return TRUE; @@ -512,87 +512,87 @@ void **in_pchanges; weed_plant_t *event; - weed_plant_t *event_after=NULL; - weed_plant_t *event_before=NULL; + weed_plant_t *event_after = NULL; + weed_plant_t *event_before = NULL; weed_plant_t *filter; - void *init_event,*new_init_event,**init_events; + void *init_event, *new_init_event, **init_events; char *filter_hash; int hint; int num_events; int error; - int idx,num_params; + int idx, num_params; register int i; - if (in_event==NULL) return event_list; + if (in_event == NULL) return event_list; - if (event_list==NULL) { - event_list=weed_plant_new(WEED_PLANT_EVENT_LIST); - if (event_list==NULL) return NULL; - weed_add_plant_flags(event_list,WEED_LEAF_READONLY_PLUGIN); - error=weed_set_int_value(event_list,WEED_LEAF_WEED_EVENT_API_VERSION,WEED_EVENT_API_VERSION); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; - error=weed_set_voidptr_value(event_list,WEED_LEAF_FIRST,NULL); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; - error=weed_set_voidptr_value(event_list,WEED_LEAF_LAST,NULL); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; - weed_add_plant_flags(event_list,WEED_LEAF_READONLY_PLUGIN); - event_before=NULL; + if (event_list == NULL) { + event_list = weed_plant_new(WEED_PLANT_EVENT_LIST); + if (event_list == NULL) return NULL; + weed_add_plant_flags(event_list, WEED_LEAF_READONLY_PLUGIN); + error = weed_set_int_value(event_list, WEED_LEAF_WEED_EVENT_API_VERSION, WEED_EVENT_API_VERSION); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; + error = weed_set_voidptr_value(event_list, WEED_LEAF_FIRST, NULL); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; + error = weed_set_voidptr_value(event_list, WEED_LEAF_LAST, NULL); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; + weed_add_plant_flags(event_list, WEED_LEAF_READONLY_PLUGIN); + event_before = NULL; } else { - weed_timecode_t in_tc=get_event_timecode(in_event); - event_before=get_last_event(event_list); - while (event_before!=NULL) { - if (get_event_timecode(event_before)<in_tc||(get_event_timecode(event_before)==in_tc - &&(!WEED_EVENT_IS_FRAME(event_before)|| - WEED_EVENT_IS_FILTER_DEINIT(in_event)))) break; - event_before=get_prev_event(event_before); + weed_timecode_t in_tc = get_event_timecode(in_event); + event_before = get_last_event(event_list); + while (event_before != NULL) { + if (get_event_timecode(event_before) < in_tc || (get_event_timecode(event_before) == in_tc + && (!WEED_EVENT_IS_FRAME(event_before) || + WEED_EVENT_IS_FILTER_DEINIT(in_event)))) break; + event_before = get_prev_event(event_before); } } - event=weed_plant_copy(in_event); + event = weed_plant_copy(in_event); //if (mainw->multitrack!=NULL) mt_fixup_events(mainw->multitrack,in_event,event); - if (event==NULL) return NULL; + if (event == NULL) return NULL; - if (event_before==NULL) { - event_after=get_first_event(event_list); - error=weed_set_voidptr_value(event_list,WEED_LEAF_FIRST,event); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; - if (event_after==event) event_after=NULL; + if (event_before == NULL) { + event_after = get_first_event(event_list); + error = weed_set_voidptr_value(event_list, WEED_LEAF_FIRST, event); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; + if (event_after == event) event_after = NULL; } else { - event_after=get_next_event(event_before); - error=weed_set_voidptr_value(event_before,WEED_LEAF_NEXT,event); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; + event_after = get_next_event(event_before); + error = weed_set_voidptr_value(event_before, WEED_LEAF_NEXT, event); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; } - error=weed_set_voidptr_value(event,WEED_LEAF_PREVIOUS,event_before); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; + error = weed_set_voidptr_value(event, WEED_LEAF_PREVIOUS, event_before); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; - error=weed_set_voidptr_value(event,WEED_LEAF_NEXT,event_after); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; + error = weed_set_voidptr_value(event, WEED_LEAF_NEXT, event_after); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; - if (event_after==NULL) error=weed_set_voidptr_value(event_list,WEED_LEAF_LAST,event); - else error=weed_set_voidptr_value(event_after,WEED_LEAF_PREVIOUS,event); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; + if (event_after == NULL) error = weed_set_voidptr_value(event_list, WEED_LEAF_LAST, event); + else error = weed_set_voidptr_value(event_after, WEED_LEAF_PREVIOUS, event); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; - hint=get_event_hint(in_event); + hint = get_event_hint(in_event); switch (hint) { case WEED_EVENT_HINT_FILTER_INIT: - weed_leaf_delete(event,WEED_LEAF_EVENT_ID); - error=weed_set_voidptr_value(event,WEED_LEAF_EVENT_ID,(void *)in_event); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; - filter_hash=weed_get_string_value(event,WEED_LEAF_FILTER,&error); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; - if ((idx=weed_get_idx_for_hashname(filter_hash,TRUE))!=-1) { - filter=get_weed_filter(idx); - if ((num_params=num_in_params(filter,FALSE,FALSE))>0) { - in_pchanges=(void **)lives_try_malloc(num_params*sizeof(void *)); - if (in_pchanges==NULL) return NULL; - for (i=0; i<num_params; i++) in_pchanges[i]=NULL; - error=weed_set_voidptr_array(event,WEED_LEAF_IN_PARAMETERS,num_params,in_pchanges); // set all to NULL, we will re-fill as we go along + weed_leaf_delete(event, WEED_LEAF_EVENT_ID); + error = weed_set_voidptr_value(event, WEED_LEAF_EVENT_ID, (void *)in_event); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; + filter_hash = weed_get_string_value(event, WEED_LEAF_FILTER, &error); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; + if ((idx = weed_get_idx_for_hashname(filter_hash, TRUE)) != -1) { + filter = get_weed_filter(idx); + if ((num_params = num_in_params(filter, FALSE, FALSE)) > 0) { + in_pchanges = (void **)lives_try_malloc(num_params * sizeof(void *)); + if (in_pchanges == NULL) return NULL; + for (i = 0; i < num_params; i++) in_pchanges[i] = NULL; + error = weed_set_voidptr_array(event, WEED_LEAF_IN_PARAMETERS, num_params, in_pchanges); // set all to NULL, we will re-fill as we go along lives_free(in_pchanges); - if (error==WEED_ERROR_MEMORY_ALLOCATION) { + if (error == WEED_ERROR_MEMORY_ALLOCATION) { lives_free(filter_hash); return NULL; } @@ -601,32 +601,32 @@ } break; case WEED_EVENT_HINT_FILTER_DEINIT: - init_event=weed_get_voidptr_value(in_event,WEED_LEAF_INIT_EVENT,&error); - new_init_event=find_init_event_by_id(init_event,event); - error=weed_set_voidptr_value(event,WEED_LEAF_INIT_EVENT,new_init_event); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; - weed_leaf_delete((weed_plant_t *)new_init_event,WEED_LEAF_EVENT_ID); - error=weed_set_voidptr_value((weed_plant_t *)new_init_event,WEED_LEAF_EVENT_ID, - (void *)new_init_event); // useful later for event_list_rectify - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; + init_event = weed_get_voidptr_value(in_event, WEED_LEAF_INIT_EVENT, &error); + new_init_event = find_init_event_by_id(init_event, event); + error = weed_set_voidptr_value(event, WEED_LEAF_INIT_EVENT, new_init_event); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; + weed_leaf_delete((weed_plant_t *)new_init_event, WEED_LEAF_EVENT_ID); + error = weed_set_voidptr_value((weed_plant_t *)new_init_event, WEED_LEAF_EVENT_ID, + (void *)new_init_event); // useful later for event_list_rectify + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; break; case WEED_EVENT_HINT_FILTER_MAP: // set WEED_LEAF_INIT_EVENTS property - num_events=weed_leaf_num_elements(in_event,WEED_LEAF_INIT_EVENTS); - init_events=weed_get_voidptr_array(in_event,WEED_LEAF_INIT_EVENTS,&error); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; - for (i=0; i<num_events; i++) { - init_events[i]=find_init_event_by_id(init_events[i],event); + num_events = weed_leaf_num_elements(in_event, WEED_LEAF_INIT_EVENTS); + init_events = weed_get_voidptr_array(in_event, WEED_LEAF_INIT_EVENTS, &error); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; + for (i = 0; i < num_events; i++) { + init_events[i] = find_init_event_by_id(init_events[i], event); } - error=weed_set_voidptr_array(event,WEED_LEAF_INIT_EVENTS,num_events,init_events); + error = weed_set_voidptr_array(event, WEED_LEAF_INIT_EVENTS, num_events, init_events); lives_free(init_events); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; break; case WEED_EVENT_HINT_PARAM_CHANGE: - init_event=weed_get_voidptr_value(in_event,WEED_LEAF_INIT_EVENT,&error); - new_init_event=find_init_event_by_id(init_event,get_last_event(event_list)); - error=weed_set_voidptr_value(event,WEED_LEAF_INIT_EVENT,new_init_event); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; + init_event = weed_get_voidptr_value(in_event, WEED_LEAF_INIT_EVENT, &error); + new_init_event = find_init_event_by_id(init_event, get_last_event(event_list)); + error = weed_set_voidptr_value(event, WEED_LEAF_INIT_EVENT, new_init_event); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; break; } @@ -636,16 +636,16 @@ boolean frame_event_has_frame_for_track(weed_plant_t *event, int track) { - int *clips,*frames,numclips; + int *clips, *frames, numclips; int error; - if (!weed_plant_has_leaf(event,WEED_LEAF_CLIPS)) return FALSE; - numclips=weed_leaf_num_elements(event,WEED_LEAF_CLIPS); - if (numclips<=track) return FALSE; - clips=weed_get_int_array(event,WEED_LEAF_CLIPS,&error); - frames=weed_get_int_array(event,WEED_LEAF_FRAMES,&error); + if (!weed_plant_has_leaf(event, WEED_LEAF_CLIPS)) return FALSE; + numclips = weed_leaf_num_elements(event, WEED_LEAF_CLIPS); + if (numclips <= track) return FALSE; + clips = weed_get_int_array(event, WEED_LEAF_CLIPS, &error); + frames = weed_get_int_array(event, WEED_LEAF_FRAMES, &error); - if (clips[track]>0&&frames[track]>0) { + if (clips[track] > 0 && frames[track] > 0) { lives_free(clips); lives_free(frames); return TRUE; @@ -660,18 +660,19 @@ weed_plant_t *get_frame_event_at(weed_plant_t *event_list, weed_timecode_t tc, weed_plant_t *shortcut, boolean exact) { // if exact is FALSE, we can get a frame event just after tc - weed_plant_t *event,*next_event; - weed_timecode_t xtc,next_tc=0; + weed_plant_t *event, *next_event; + weed_timecode_t xtc, next_tc = 0; - if (event_list==NULL) return NULL; - if (shortcut!=NULL) event=shortcut; - else event=get_first_frame_event(event_list); - while (event!=NULL) { - next_event=get_next_event(event); - if (next_event!=NULL) next_tc=get_event_timecode(next_event); - if (((tc==(xtc=get_event_timecode(event)))||((next_tc>tc||next_event==NULL)&&!exact))&&WEED_EVENT_IS_FRAME(event)) return event; - if (xtc>tc) return NULL; - event=next_event; + if (event_list == NULL) return NULL; + if (shortcut != NULL) event = shortcut; + else event = get_first_frame_event(event_list); + while (event != NULL) { + next_event = get_next_event(event); + if (next_event != NULL) next_tc = get_event_timecode(next_event); + if (((tc == (xtc = get_event_timecode(event))) || ((next_tc > tc || next_event == NULL) && !exact)) && + WEED_EVENT_IS_FRAME(event)) return event; + if (xtc > tc) return NULL; + event = next_event; } return NULL; } @@ -680,9 +681,9 @@ boolean filter_map_after_frame(weed_plant_t *fmap) { // return TRUE if filter_map follows frame at same timecode - weed_plant_t *frame=get_prev_frame_event(fmap); + weed_plant_t *frame = get_prev_frame_event(fmap); - if (frame!=NULL&&get_event_timecode(frame)==get_event_timecode(fmap)) return TRUE; + if (frame != NULL && get_event_timecode(frame) == get_event_timecode(fmap)) return TRUE; return FALSE; } @@ -692,9 +693,9 @@ weed_plant_t *get_frame_event_at_or_before(weed_plant_t *event_list, weed_timecode_t tc, weed_plant_t *shortcut) { - weed_plant_t *frame_event=get_frame_event_at(event_list,tc,shortcut,FALSE); - while (frame_event!=NULL&&get_event_timecode(frame_event)>tc) { - frame_event=get_prev_frame_event(frame_event); + weed_plant_t *frame_event = get_frame_event_at(event_list, tc, shortcut, FALSE); + while (frame_event != NULL && get_event_timecode(frame_event) > tc) { + frame_event = get_prev_frame_event(frame_event); } return frame_event; } @@ -705,28 +706,28 @@ // get filter_map following event; if ctrack!=LIVES_TRACK_ANY then we ignore filter maps with no in_track/out_track == ctrack void **init_events; weed_plant_t *init_event; - int error,num_init_events; + int error, num_init_events; register int i; - while (event!=NULL) { + while (event != NULL) { if (WEED_EVENT_IS_FILTER_MAP(event)) { - if (ctrack==LIVES_TRACK_ANY) return event; - if (!weed_plant_has_leaf(event,WEED_LEAF_INIT_EVENTS)) { - event=get_next_event(event); + if (ctrack == LIVES_TRACK_ANY) return event; + if (!weed_plant_has_leaf(event, WEED_LEAF_INIT_EVENTS)) { + event = get_next_event(event); continue; } - init_events=weed_get_voidptr_array(event,WEED_LEAF_INIT_EVENTS,&error); - if (init_events[0]==NULL) { + init_events = weed_get_voidptr_array(event, WEED_LEAF_INIT_EVENTS, &error); + if (init_events[0] == NULL) { lives_free(init_events); - event=get_next_event(event); + event = get_next_event(event); continue; } - num_init_events=weed_leaf_num_elements(event,WEED_LEAF_INIT_EVENTS); - for (i=0; i<num_init_events; i++) { - init_event=(weed_plant_t *)init_events[i]; + num_init_events = weed_leaf_num_elements(event, WEED_LEAF_INIT_EVENTS); + for (i = 0; i < num_init_events; i++) { + init_event = (weed_plant_t *)init_events[i]; - if (init_event_is_relevant(init_event,ctrack)) { + if (init_event_is_relevant(init_event, ctrack)) { lives_free(init_events); return event; } @@ -734,7 +735,7 @@ } lives_free(init_events); } - event=get_next_event(event); + event = get_next_event(event); } return NULL; } @@ -746,18 +747,18 @@ boolean init_event_is_relevant(weed_plant_t *init_event, int ctrack) { // see if init_event mentions ctrack as an in_track or an out_track - int *in_tracks,*out_tracks; - int error,num_tracks; + int *in_tracks, *out_tracks; + int error, num_tracks; register int j; //if (init_event_is_process_last(init_event)) return FALSE; - if (weed_plant_has_leaf(init_event,WEED_LEAF_IN_TRACKS)) { - in_tracks=weed_get_int_array(init_event,WEED_LEAF_IN_TRACKS,&error); - num_tracks=weed_leaf_num_elements(init_event,WEED_LEAF_IN_TRACKS); - for (j=0; j<num_tracks; j++) { - if (in_tracks[j]==ctrack) { + if (weed_plant_has_leaf(init_event, WEED_LEAF_IN_TRACKS)) { + in_tracks = weed_get_int_array(init_event, WEED_LEAF_IN_TRACKS, &error); + num_tracks = weed_leaf_num_elements(init_event, WEED_LEAF_IN_TRACKS); + for (j = 0; j < num_tracks; j++) { + if (in_tracks[j] == ctrack) { lives_free(in_tracks); return TRUE; } @@ -765,11 +766,11 @@ lives_free(in_tracks); } - if (weed_plant_has_leaf(init_event,WEED_LEAF_OUT_TRACKS)) { - out_tracks=weed_get_int_array(init_event,WEED_LEAF_OUT_TRACKS,&error); - num_tracks=weed_leaf_num_elements(init_event,WEED_LEAF_OUT_TRACKS); - for (j=0; j<num_tracks; j++) { - if (out_tracks[j]==ctrack) { + if (weed_plant_has_leaf(init_event, WEED_LEAF_OUT_TRACKS)) { + out_tracks = weed_get_int_array(init_event, WEED_LEAF_OUT_TRACKS, &error); + num_tracks = weed_leaf_num_elements(init_event, WEED_LEAF_OUT_TRACKS); + for (j = 0; j < num_tracks; j++) { + if (out_tracks[j] == ctrack) { lives_free(out_tracks); return TRUE; } @@ -795,34 +796,34 @@ void **init_events; weed_plant_t *init_event; - int error,num_init_events; + int error, num_init_events; register int i; - while (event!=stop_event&&event!=NULL) { + while (event != stop_event && event != NULL) { if (WEED_EVENT_IS_FILTER_MAP(event)) { - if (ctrack==LIVES_TRACK_ANY) return event; - if (!weed_plant_has_leaf(event,WEED_LEAF_INIT_EVENTS)) { - event=get_prev_event(event); + if (ctrack == LIVES_TRACK_ANY) return event; + if (!weed_plant_has_leaf(event, WEED_LEAF_INIT_EVENTS)) { + event = get_prev_event(event); continue; } - init_events=weed_get_voidptr_array(event,WEED_LEAF_INIT_EVENTS,&error); - if (init_events[0]==NULL) { + init_events = weed_get_voidptr_array(event, WEED_LEAF_INIT_EVENTS, &error); + if (init_events[0] == NULL) { lives_free(init_events); - event=get_prev_event(event); + event = get_prev_event(event); continue; } - num_init_events=weed_leaf_num_elements(event,WEED_LEAF_INIT_EVENTS); - for (i=0; i<num_init_events; i++) { - init_event=(weed_plant_t *)init_events[i]; - if (init_event_is_relevant(init_event,ctrack)) { + num_init_events = weed_leaf_num_elements(event, WEED_LEAF_INIT_EVENTS); + for (i = 0; i < num_init_events; i++) { + init_event = (weed_plant_t *)init_events[i]; + if (init_event_is_relevant(init_event, ctrack)) { lives_free(init_events); return event; } } lives_free(init_events); } - event=get_prev_event(event); + event = get_prev_event(event); } return event; } @@ -830,42 +831,42 @@ void **get_init_events_before(weed_plant_t *event, weed_plant_t *init_event, boolean add) { // find previous FILTER_MAP event, and append or delete new init_event - void **init_events=NULL,**new_init_events; - int error,num_init_events=0; - register int i,j=0; + void **init_events = NULL, **new_init_events; + int error, num_init_events = 0; + register int i, j = 0; - while (event!=NULL) { + while (event != NULL) { if (WEED_EVENT_IS_FILTER_MAP(event)) { - if (weed_plant_has_leaf(event,WEED_LEAF_INIT_EVENTS)&& - (init_events=weed_get_voidptr_array(event,WEED_LEAF_INIT_EVENTS,&error))!=NULL) { - num_init_events=weed_leaf_num_elements(event,WEED_LEAF_INIT_EVENTS); - if (add) new_init_events=(void **)lives_malloc((num_init_events+2)*sizeof(void *)); - else new_init_events=(void **)lives_malloc((num_init_events+1)*sizeof(void *)); - - for (i=0; i<num_init_events; i++) if ((add||(init_event!=NULL&&(init_events[i]!=(void *)init_event)))&& - init_events[0]!=NULL) { - new_init_events[j++]=init_events[i]; - if (add&&init_events[i]==(void *)init_event) add=FALSE; // don't add twice + if (weed_plant_has_leaf(event, WEED_LEAF_INIT_EVENTS) && + (init_events = weed_get_voidptr_array(event, WEED_LEAF_INIT_EVENTS, &error)) != NULL) { + num_init_events = weed_leaf_num_elements(event, WEED_LEAF_INIT_EVENTS); + if (add) new_init_events = (void **)lives_malloc((num_init_events + 2) * sizeof(void *)); + else new_init_events = (void **)lives_malloc((num_init_events + 1) * sizeof(void *)); + + for (i = 0; i < num_init_events; i++) if ((add || (init_event != NULL && (init_events[i] != (void *)init_event))) && + init_events[0] != NULL) { + new_init_events[j++] = init_events[i]; + if (add && init_events[i] == (void *)init_event) add = FALSE; // don't add twice } if (add) { char *fhash; weed_plant_t *filter; - int k,l,tflags; + int k, l, tflags; // add before any "process_last" events - k=j; - while (k>0) { + k = j; + while (k > 0) { k--; - if (mainw->multitrack!=NULL&&init_events[k]==mainw->multitrack->avol_init_event) { + if (mainw->multitrack != NULL && init_events[k] == mainw->multitrack->avol_init_event) { // add before the audio mixer continue; } - fhash=weed_get_string_value((weed_plant_t *)init_events[k],WEED_LEAF_FILTER,&error); - filter=get_weed_filter(weed_get_idx_for_hashname(fhash,TRUE)); + fhash = weed_get_string_value((weed_plant_t *)init_events[k], WEED_LEAF_FILTER, &error); + filter = get_weed_filter(weed_get_idx_for_hashname(fhash, TRUE)); lives_free(fhash); - if (weed_plant_has_leaf(filter,WEED_LEAF_FLAGS)) { - tflags=weed_get_int_value(filter,WEED_LEAF_FLAGS,&error); - if (tflags&WEED_FILTER_PROCESS_LAST) { + if (weed_plant_has_leaf(filter, WEED_LEAF_FLAGS)) { + tflags = weed_get_int_value(filter, WEED_LEAF_FLAGS, &error); + if (tflags & WEED_FILTER_PROCESS_LAST) { // add before any "process_last" filters continue; } @@ -875,29 +876,29 @@ } // insert new event at slot k // make gap for new filter - for (l=j-1; l>=k; l--) { - new_init_events[l+1]=new_init_events[l]; + for (l = j - 1; l >= k; l--) { + new_init_events[l + 1] = new_init_events[l]; } - new_init_events[k]=(void *)init_event; + new_init_events[k] = (void *)init_event; j++; } - new_init_events[j]=NULL; - if (init_events!=NULL) lives_free(init_events); + new_init_events[j] = NULL; + if (init_events != NULL) lives_free(init_events); return new_init_events; } - if (init_events!=NULL) lives_free(init_events); + if (init_events != NULL) lives_free(init_events); } - event=get_prev_event(event); + event = get_prev_event(event); } // no previous init_events found if (add) { - new_init_events=(void **)lives_malloc(2*sizeof(void *)); - new_init_events[0]=(void *)init_event; - new_init_events[1]=NULL; + new_init_events = (void **)lives_malloc(2 * sizeof(void *)); + new_init_events[0] = (void *)init_event; + new_init_events[1] = NULL; } else { - new_init_events=(void **)lives_malloc(sizeof(void *)); - new_init_events[0]=NULL; + new_init_events = (void **)lives_malloc(sizeof(void *)); + new_init_events[0] = NULL; } return new_init_events; } @@ -906,11 +907,11 @@ void update_filter_maps(weed_plant_t *event, weed_plant_t *end_event, weed_plant_t *init_event) { // append init_event to all FILTER_MAPS between event and end_event - while (event!=end_event) { + while (event != end_event) { if (WEED_EVENT_IS_FILTER_MAP(event)) { add_init_event_to_filter_map(event, init_event, NULL); } - event=get_next_event(event); + event = get_next_event(event); } } @@ -918,23 +919,23 @@ void insert_filter_init_event_at(weed_plant_t *event_list, weed_plant_t *at_event, weed_plant_t *event) { // insert event as first event at same timecode as (FRAME_EVENT) at_event - weed_timecode_t tc=get_event_timecode(at_event); - weed_set_int64_value(event,WEED_LEAF_TIMECODE,tc); + weed_timecode_t tc = get_event_timecode(at_event); + weed_set_int64_value(event, WEED_LEAF_TIMECODE, tc); - while (at_event!=NULL) { - at_event=get_prev_event(at_event); - if (at_event==NULL) break; - if (get_event_timecode(at_event)<tc) { - if (!insert_event_after(at_event,event)) weed_set_voidptr_value(event_list,WEED_LEAF_LAST,event); + while (at_event != NULL) { + at_event = get_prev_event(at_event); + if (at_event == NULL) break; + if (get_event_timecode(at_event) < tc) { + if (!insert_event_after(at_event, event)) weed_set_voidptr_value(event_list, WEED_LEAF_LAST, event); return; } } // event is first - at_event=get_first_event(event_list); - insert_event_before(at_event,event); - weed_set_voidptr_value(event_list,WEED_LEAF_FIRST,event); + at_event = get_first_event(event_list); + insert_event_before(at_event, event); + weed_set_voidptr_value(event_list, WEED_LEAF_FIRST, event); } @@ -942,24 +943,24 @@ void insert_filter_deinit_event_at(weed_plant_t *event_list, weed_plant_t *at_event, weed_plant_t *event) { // insert event as last at same timecode as (FRAME_EVENT) at_event - weed_timecode_t tc=get_event_timecode(at_event); - weed_set_int64_value(event,WEED_LEAF_TIMECODE,tc); + weed_timecode_t tc = get_event_timecode(at_event); + weed_set_int64_value(event, WEED_LEAF_TIMECODE, tc); - while (at_event!=NULL) { + while (at_event != NULL) { if (WEED_EVENT_IS_FRAME(at_event)) { - if (!insert_event_after(at_event,event)) weed_set_voidptr_value(event_list,WEED_LEAF_LAST,event); + if (!insert_event_after(at_event, event)) weed_set_voidptr_value(event_list, WEED_LEAF_LAST, event); return; } - if (get_event_timecode(at_event)>tc) { - if (!insert_event_before(at_event,event)) weed_set_voidptr_value(event_list,WEED_LEAF_FIRST,event); + if (get_event_timecode(at_event) > tc) { + if (!insert_event_before(at_event, event)) weed_set_voidptr_value(event_list, WEED_LEAF_FIRST, event); return; } - at_event=get_next_event(at_event); + at_event = get_next_event(at_event); } // event is last - at_event=get_last_event(event_list); - insert_event_after(at_event,event); - weed_set_voidptr_value(event_list,WEED_LEAF_LAST,event); + at_event = get_last_event(event_list); + insert_event_after(at_event, event); + weed_set_voidptr_value(event_list, WEED_LEAF_LAST, event); } @@ -967,48 +968,48 @@ boolean insert_filter_map_event_at(weed_plant_t *event_list, weed_plant_t *at_event, weed_plant_t *event, boolean before_frames) { // insert event as last event at same timecode as (FRAME_EVENT) at_event - weed_timecode_t tc=get_event_timecode(at_event); - weed_set_int64_value(event,WEED_LEAF_TIMECODE,tc); + weed_timecode_t tc = get_event_timecode(at_event); + weed_set_int64_value(event, WEED_LEAF_TIMECODE, tc); if (before_frames) { - while (at_event!=NULL) { - at_event=get_prev_event(at_event); - if (at_event==NULL) break; + while (at_event != NULL) { + at_event = get_prev_event(at_event); + if (at_event == NULL) break; if (WEED_EVENT_IS_FILTER_MAP(at_event)) { // found an existing FILTER_MAP, we can simply replace it - if (mainw->filter_map==at_event) mainw->filter_map=event; - replace_event(event_list,at_event,event); + if (mainw->filter_map == at_event) mainw->filter_map = event; + replace_event(event_list, at_event, event); return TRUE; } - if (WEED_EVENT_IS_FILTER_INIT(at_event)||get_event_timecode(at_event)<tc) { - if (!insert_event_after(at_event,event)) weed_set_voidptr_value(event_list,WEED_LEAF_LAST,event); + if (WEED_EVENT_IS_FILTER_INIT(at_event) || get_event_timecode(at_event) < tc) { + if (!insert_event_after(at_event, event)) weed_set_voidptr_value(event_list, WEED_LEAF_LAST, event); return TRUE; } } // event is first - at_event=get_first_event(event_list); - insert_event_before(at_event,event); - weed_set_voidptr_value(event_list,WEED_LEAF_FIRST,event); + at_event = get_first_event(event_list); + insert_event_before(at_event, event); + weed_set_voidptr_value(event_list, WEED_LEAF_FIRST, event); } else { // insert after frame events - while (at_event!=NULL) { - at_event=get_next_event(at_event); - if (at_event==NULL) break; + while (at_event != NULL) { + at_event = get_next_event(at_event); + if (at_event == NULL) break; if (WEED_EVENT_IS_FILTER_MAP(at_event)) { // found an existing FILTER_MAP, we can simply replace it - if (mainw->filter_map==at_event) mainw->filter_map=event; - replace_event(event_list,at_event,event); + if (mainw->filter_map == at_event) mainw->filter_map = event; + replace_event(event_list, at_event, event); return TRUE; } - if (get_event_timecode(at_event)>tc) { - if (!insert_event_before(at_event,event)) weed_set_voidptr_value(event_list,WEED_LEAF_FIRST,event); + if (get_event_timecode(at_event) > tc) { + if (!insert_event_before(at_event, event)) weed_set_voidptr_value(event_list, WEED_LEAF_FIRST, event); return TRUE; } } // event is last - at_event=get_last_event(event_list); - insert_event_after(at_event,event); - weed_set_voidptr_value(event_list,WEED_LEAF_LAST,event); + at_event = get_last_event(event_list); + insert_event_after(at_event, event); + weed_set_voidptr_value(event_list, WEED_LEAF_LAST, event); } return TRUE; } @@ -1018,29 +1019,29 @@ void insert_param_change_event_at(weed_plant_t *event_list, weed_plant_t *at_event, weed_plant_t *event) { // insert event as last at same timecode as (FRAME_EVENT) at_event, before FRAME event - weed_timecode_t tc=get_event_timecode(at_event); - weed_set_int64_value(event,WEED_LEAF_TIMECODE,tc); + weed_timecode_t tc = get_event_timecode(at_event); + weed_set_int64_value(event, WEED_LEAF_TIMECODE, tc); - weed_add_plant_flags(event,WEED_LEAF_READONLY_PLUGIN); // protect it for interpolation + weed_add_plant_flags(event, WEED_LEAF_READONLY_PLUGIN); // protect it for interpolation - while (at_event!=NULL) { - if (get_event_timecode(at_event)<tc) { - if (!insert_event_after(at_event,event)) weed_set_voidptr_value(event_list,WEED_LEAF_LAST,event); + while (at_event != NULL) { + if (get_event_timecode(at_event) < tc) { + if (!insert_event_after(at_event, event)) weed_set_voidptr_value(event_list, WEED_LEAF_LAST, event); return; } if (WEED_EVENT_IS_FILTER_INIT(at_event)) { - if (!insert_event_after(at_event,event)) weed_set_voidptr_value(event_list,WEED_LEAF_LAST,event); + if (!insert_event_after(at_event, event)) weed_set_voidptr_value(event_list, WEED_LEAF_LAST, event); return; } if (WEED_EVENT_IS_FRAME(at_event)) { - if (!insert_event_before(at_event,event)) weed_set_voidptr_value(event_list,WEED_LEAF_FIRST,event); + if (!insert_event_before(at_event, event)) weed_set_voidptr_value(event_list, WEED_LEAF_FIRST, event); return; } - at_event=get_prev_event(at_event); + at_event = get_prev_event(at_event); } - at_event=get_first_event(event_list); - insert_event_before(at_event,event); - weed_set_voidptr_value(event_list,WEED_LEAF_FIRST,event); + at_event = get_first_event(event_list); + insert_event_before(at_event, event); + weed_set_voidptr_value(event_list, WEED_LEAF_FIRST, event); } @@ -1056,94 +1057,94 @@ // returns NULL on memory error - weed_plant_t *event=NULL,*new_event,*prev; - weed_plant_t *new_event_list,*xevent_list; + weed_plant_t *event = NULL, *new_event, *prev; + weed_plant_t *new_event_list, *xevent_list; weed_timecode_t xtc; int error; - if (event_list==NULL||get_first_frame_event(event_list)==NULL) { + if (event_list == NULL || get_first_frame_event(event_list) == NULL) { // no existing event list, or no frames (uh oh !) append - event_list=append_frame_event(event_list,tc,numframes,clips,frames); - if (event_list==NULL) return NULL; // memory error - if (shortcut!=NULL) *shortcut=get_last_event(event_list); + event_list = append_frame_event(event_list, tc, numframes, clips, frames); + if (event_list == NULL) return NULL; // memory error + if (shortcut != NULL) *shortcut = get_last_event(event_list); return event_list; } // skip the next part if we know we have to add at end - if (tc<=get_event_timecode(get_last_event(event_list))) { - if (shortcut!=NULL&&*shortcut!=NULL) { - event=*shortcut; - } else event=get_first_event(event_list); + if (tc <= get_event_timecode(get_last_event(event_list))) { + if (shortcut != NULL && *shortcut != NULL) { + event = *shortcut; + } else event = get_first_event(event_list); - if (get_event_timecode(event)>tc) { + if (get_event_timecode(event) > tc) { // step backwards until we get to a frame before where we want to add - while (event!=NULL&&get_event_timecode(event)>tc) event=get_prev_frame_event(event); + while (event != NULL && get_event_timecode(event) > tc) event = get_prev_frame_event(event); // event can come out NULL (add before first frame event), in which case we fall through } else { - while (event!=NULL&&get_event_timecode(event)<tc) event=get_next_frame_event(event); + while (event != NULL && get_event_timecode(event) < tc) event = get_next_frame_event(event); // we reached the end, so we will add after last frame event - if (event==NULL) event=get_last_frame_event(event_list); + if (event == NULL) event = get_last_frame_event(event_list); } - while (event!=NULL&&(((xtc=get_event_timecode(event))<tc)||(xtc==tc&&(!WEED_EVENT_IS_FILTER_DEINIT(event))))) { - if (shortcut!=NULL) *shortcut=event; - if (xtc==tc&&WEED_EVENT_IS_FRAME(event)) { - error=weed_set_int_array(event,WEED_LEAF_CLIPS,numframes,clips); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; - error=weed_set_int_array(event,WEED_LEAF_FRAMES,numframes,frames); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; + while (event != NULL && (((xtc = get_event_timecode(event)) < tc) || (xtc == tc && (!WEED_EVENT_IS_FILTER_DEINIT(event))))) { + if (shortcut != NULL) *shortcut = event; + if (xtc == tc && WEED_EVENT_IS_FRAME(event)) { + error = weed_set_int_array(event, WEED_LEAF_CLIPS, numframes, clips); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; + error = weed_set_int_array(event, WEED_LEAF_FRAMES, numframes, frames); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; return event_list; } - event=get_next_event(event); + event = get_next_event(event); } // we passed all events in event_list; there was one or more at tc, but none were deinits or frames - if (event==NULL) { - event=get_last_event(event_list); + if (event == NULL) { + event = get_last_event(event_list); // event is after last event, append it - if ((xevent_list=append_frame_event(event_list,tc,numframes,clips,frames))==NULL) return NULL; - event_list=xevent_list; - if (shortcut!=NULL) *shortcut=get_last_event(event_list); + if ((xevent_list = append_frame_event(event_list, tc, numframes, clips, frames)) == NULL) return NULL; + event_list = xevent_list; + if (shortcut != NULL) *shortcut = get_last_event(event_list); return event_list; } } else { // event is after last event, append it - if ((xevent_list=append_frame_event(event_list,tc,numframes,clips,frames))==NULL) return NULL; - event_list=xevent_list; - if (shortcut!=NULL) *shortcut=get_last_event(event_list); + if ((xevent_list = append_frame_event(event_list, tc, numframes, clips, frames)) == NULL) return NULL; + event_list = xevent_list; + if (shortcut != NULL) *shortcut = get_last_event(event_list); return event_list; } // add frame before "event" - if ((new_event_list=append_frame_event(NULL,tc,numframes,clips,frames))==NULL) return NULL; + if ((new_event_list = append_frame_event(NULL, tc, numframes, clips, frames)) == NULL) return NULL; // new_event_list is now an event_list with one frame event. We will steal its event and prepend it ! - new_event=get_first_event(new_event_list); + new_event = get_first_event(new_event_list); - prev=get_prev_event(event); + prev = get_prev_event(event); - if (prev!=NULL) { - error=weed_set_voidptr_value(prev,WEED_LEAF_NEXT,new_event); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; - } - error=weed_set_voidptr_value(new_event,WEED_LEAF_PREVIOUS,prev); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; - error=weed_set_voidptr_value(new_event,WEED_LEAF_NEXT,event); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; - error=weed_set_voidptr_value(event,WEED_LEAF_PREVIOUS,new_event); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; - - if (get_first_event(event_list)==event) { - error=weed_set_voidptr_value(event_list,WEED_LEAF_FIRST,new_event); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; + if (prev != NULL) { + error = weed_set_voidptr_value(prev, WEED_LEAF_NEXT, new_event); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; + } + error = weed_set_voidptr_value(new_event, WEED_LEAF_PREVIOUS, prev); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; + error = weed_set_voidptr_value(new_event, WEED_LEAF_NEXT, event); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; + error = weed_set_voidptr_value(event, WEED_LEAF_PREVIOUS, new_event); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; + + if (get_first_event(event_list) == event) { + error = weed_set_voidptr_value(event_list, WEED_LEAF_FIRST, new_event); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; } weed_plant_free(new_event_list); - if (shortcut!=NULL) *shortcut=new_event; + if (shortcut != NULL) *shortcut = new_event; return event_list; } @@ -1160,32 +1161,32 @@ register int i; - arv=(double)(myround(vel*10000.))/10000.; + arv = (double)(myround(vel * 10000.)) / 10000.; if (WEED_EVENT_IS_AUDIO_FRAME(event)) { - int num_aclips=weed_leaf_num_elements(event,WEED_LEAF_AUDIO_CLIPS); - int *aclips=weed_get_int_array(event,WEED_LEAF_AUDIO_CLIPS,&error); - double *aseeks=weed_get_double_array(event,WEED_LEAF_AUDIO_SEEKS,&error); - - for (i=0; i<num_aclips; i+=2) { - if (aclips[i]==track) { - if (clipnum<=0&&num_aclips>2) { + int num_aclips = weed_leaf_num_elements(event, WEED_LEAF_AUDIO_CLIPS); + int *aclips = weed_get_int_array(event, WEED_LEAF_AUDIO_CLIPS, &error); + double *aseeks = weed_get_double_array(event, WEED_LEAF_AUDIO_SEEKS, &error); + + for (i = 0; i < num_aclips; i += 2) { + if (aclips[i] == track) { + if (clipnum <= 0 && num_aclips > 2) { // ignore - remove track altogether - int *new_aclips=(int *)lives_malloc((num_aclips-2)*sizint); - double *new_aseeks=(double *)lives_malloc((num_aclips-2)*sizdbl); - int j,k=0; - for (j=0; j<num_aclips; j+=2) { - if (j!=i) { - new_aclips[k]=aclips[j]; - new_aclips[k+1]=aclips[j+1]; - new_aseeks[k]=aseeks[j]; - new_aseeks[k+1]=aseeks[j+1]; - k+=2; + int *new_aclips = (int *)lives_malloc((num_aclips - 2) * sizint); + double *new_aseeks = (double *)lives_malloc((num_aclips - 2) * sizdbl); + int j, k = 0; + for (j = 0; j < num_aclips; j += 2) { + if (j != i) { + new_aclips[k] = aclips[j]; + new_aclips[k + 1] = aclips[j + 1]; + new_aseeks[k] = aseeks[j]; + new_aseeks[k + 1] = aseeks[j + 1]; + k += 2; } } - weed_set_int_array(event,WEED_LEAF_AUDIO_CLIPS,num_aclips-2,new_aclips); - weed_set_double_array(event,WEED_LEAF_AUDIO_SEEKS,num_aclips-2,new_aseeks); + weed_set_int_array(event, WEED_LEAF_AUDIO_CLIPS, num_aclips - 2, new_aclips); + weed_set_double_array(event, WEED_LEAF_AUDIO_SEEKS, num_aclips - 2, new_aseeks); lives_free(new_aclips); lives_free(new_aseeks); lives_free(aseeks); @@ -1194,33 +1195,33 @@ } // update existing values - aclips[i+1]=clipnum; - aseeks[i]=seek; - aseeks[i+1]=arv; + aclips[i + 1] = clipnum; + aseeks[i] = seek; + aseeks[i + 1] = arv; - weed_set_int_array(event,WEED_LEAF_AUDIO_CLIPS,num_aclips,aclips); - weed_set_double_array(event,WEED_LEAF_AUDIO_SEEKS,num_aclips,aseeks); + weed_set_int_array(event, WEED_LEAF_AUDIO_CLIPS, num_aclips, aclips); + weed_set_double_array(event, WEED_LEAF_AUDIO_SEEKS, num_aclips, aseeks); lives_free(aseeks); lives_free(aclips); return; } } - if (clipnum<=0) return; + if (clipnum <= 0) return; // append - new_aclips=(int *)lives_malloc((num_aclips+2)*sizint); - for (i=0; i<num_aclips; i++) new_aclips[i]=aclips[i]; - new_aclips[i++]=track; - new_aclips[i]=clipnum; - - new_aseeks=(double *)lives_malloc((num_aclips+2)*sizdbl); - for (i=0; i<num_aclips; i++) new_aseeks[i]=aseeks[i]; - new_aseeks[i++]=seek; - new_aseeks[i++]=arv; + new_aclips = (int *)lives_malloc((num_aclips + 2) * sizint); + for (i = 0; i < num_aclips; i++) new_aclips[i] = aclips[i]; + new_aclips[i++] = track; + new_aclips[i] = clipnum; + + new_aseeks = (double *)lives_malloc((num_aclips + 2) * sizdbl); + for (i = 0; i < num_aclips; i++) new_aseeks[i] = aseeks[i]; + new_aseeks[i++] = seek; + new_aseeks[i++] = arv; - weed_set_int_array(event,WEED_LEAF_AUDIO_CLIPS,i,new_aclips); - weed_set_double_array(event,WEED_LEAF_AUDIO_SEEKS,i,new_aseeks); + weed_set_int_array(event, WEED_LEAF_AUDIO_CLIPS, i, new_aclips); + weed_set_double_array(event, WEED_LEAF_AUDIO_SEEKS, i, new_aseeks); lives_free(new_aclips); lives_free(new_aseeks); @@ -1231,16 +1232,16 @@ } // create new values - new_aclips=(int *)lives_malloc(2*sizint); - new_aclips[0]=track; - new_aclips[1]=clipnum; - - new_aseeks=(double *)lives_malloc(2*sizdbl); - new_aseeks[0]=seek; - new_aseeks[1]=arv; + new_aclips = (int *)lives_malloc(2 * sizint); + new_aclips[0] = track; + new_aclips[1] = clipnum; + + new_aseeks = (double *)lives_malloc(2 * sizdbl); + new_aseeks[0] = seek; + new_aseeks[1] = arv; - weed_set_int_array(event,WEED_LEAF_AUDIO_CLIPS,2,new_aclips); - weed_set_double_array(event,WEED_LEAF_AUDIO_SEEKS,2,new_aseeks); + weed_set_int_array(event, WEED_LEAF_AUDIO_CLIPS, 2, new_aclips); + weed_set_double_array(event, WEED_LEAF_AUDIO_SEEKS, 2, new_aseeks); lives_free(new_aclips); lives_free(new_aseeks); @@ -1253,28 +1254,28 @@ // if nothing left, delete the audio leaves int error; - int num_atracks=weed_leaf_num_elements(event,WEED_LEAF_AUDIO_CLIPS); - int *aclip_index=weed_get_int_array(event,WEED_LEAF_AUDIO_CLIPS,&error); - double *aseek_index=weed_get_double_array(event,WEED_LEAF_AUDIO_SEEKS,&error); - int *new_aclip_index=(int *)lives_malloc(num_atracks*sizint); - double *new_aseek_index=(double *)lives_malloc(num_atracks*sizdbl); - - register int i,j=0; - - for (i=0; i<num_atracks; i+=2) { - if (aclip_index[i]==track) continue; - new_aclip_index[j]=aclip_index[i]; - new_aclip_index[j+1]=aclip_index[i+1]; - new_aseek_index[j]=aseek_index[i]; - new_aseek_index[j+1]=aseek_index[i+1]; - j+=2; - } - if (j==0) { - weed_leaf_delete(event,WEED_LEAF_AUDIO_CLIPS); - weed_leaf_delete(event,WEED_LEAF_AUDIO_SEEKS); + int num_atracks = weed_leaf_num_elements(event, WEED_LEAF_AUDIO_CLIPS); + int *aclip_index = weed_get_int_array(event, WEED_LEAF_AUDIO_CLIPS, &error); + double *aseek_index = weed_get_double_array(event, WEED_LEAF_AUDIO_SEEKS, &error); + int *new_aclip_index = (int *)lives_malloc(num_atracks * sizint); + double *new_aseek_index = (double *)lives_malloc(num_atracks * sizdbl); + + register int i, j = 0; + + for (i = 0; i < num_atracks; i += 2) { + if (aclip_index[i] == track) continue; + new_aclip_index[j] = aclip_index[i]; + new_aclip_index[j + 1] = aclip_index[i + 1]; + new_aseek_index[j] = aseek_index[i]; + new_aseek_index[j + 1] = aseek_index[i + 1]; + j += 2; + } + if (j == 0) { + weed_leaf_delete(event, WEED_LEAF_AUDIO_CLIPS); + weed_leaf_delete(event, WEED_LEAF_AUDIO_SEEKS); } else { - weed_set_int_array(event,WEED_LEAF_AUDIO_CLIPS,j,new_aclip_index); - weed_set_double_array(event,WEED_LEAF_AUDIO_SEEKS,j,new_aseek_index); + weed_set_int_array(event, WEED_LEAF_AUDIO_CLIPS, j, new_aclip_index); + weed_set_double_array(event, WEED_LEAF_AUDIO_SEEKS, j, new_aseek_index); } lives_free(aclip_index); lives_free(aseek_index); @@ -1284,39 +1285,39 @@ weed_plant_t *append_marker_event(weed_plant_t *event_list, weed_timecode_t tc, int marker_type) { - weed_plant_t *event,*prev; + weed_plant_t *event, *prev; - if (event_list==NULL) { - event_list=weed_plant_new(WEED_PLANT_EVENT_LIST); - weed_set_int_value(event_list,WEED_LEAF_WEED_EVENT_API_VERSION,WEED_EVENT_API_VERSION); - weed_set_voidptr_value(event_list,WEED_LEAF_FIRST,NULL); - weed_set_voidptr_value(event_list,WEED_LEAF_LAST,NULL); - weed_add_plant_flags(event_list,WEED_LEAF_READONLY_PLUGIN); + if (event_list == NULL) { + event_list = weed_plant_new(WEED_PLANT_EVENT_LIST); + weed_set_int_value(event_list, WEED_LEAF_WEED_EVENT_API_VERSION, WEED_EVENT_API_VERSION); + weed_set_voidptr_value(event_list, WEED_LEAF_FIRST, NULL); + weed_set_voidptr_value(event_list, WEED_LEAF_LAST, NULL); + weed_add_plant_flags(event_list, WEED_LEAF_READONLY_PLUGIN); } - event=weed_plant_new(WEED_PLANT_EVENT); - weed_set_voidptr_value(event,WEED_LEAF_NEXT,NULL); + event = weed_plant_new(WEED_PLANT_EVENT); + weed_set_voidptr_value(event, WEED_LEAF_NEXT, NULL); // TODO - error check - weed_set_int64_value(event,WEED_LEAF_TIMECODE,tc); - weed_set_int_value(event,WEED_LEAF_HINT,WEED_EVENT_HINT_MARKER); + weed_set_int64_value(event, WEED_LEAF_TIMECODE, tc); + weed_set_int_value(event, WEED_LEAF_HINT, WEED_EVENT_HINT_MARKER); - weed_set_int_value(event,WEED_LEAF_LIVES_TYPE,marker_type); + weed_set_int_value(event, WEED_LEAF_LIVES_TYPE, marker_type); #ifdef DEBUG_EVENTS - g_print("adding map event %p at tc %"PRId64"\n",init_events[0],tc); + g_print("adding map event %p at tc %"PRId64"\n", init_events[0], tc); #endif - if (get_first_event(event_list)==NULL) { - weed_set_voidptr_value(event_list,WEED_LEAF_FIRST,event); - weed_set_voidptr_value(event,WEED_LEAF_PREVIOUS,NULL); + if (get_first_event(event_list) == NULL) { + weed_set_voidptr_value(event_list, WEED_LEAF_FIRST, event); + weed_set_voidptr_value(event, WEED_LEAF_PREVIOUS, NULL); } else { - weed_set_voidptr_value(event,WEED_LEAF_PREVIOUS,get_last_event(event_list)); + weed_set_voidptr_value(event, WEED_LEAF_PREVIOUS, get_last_event(event_list)); } - weed_add_plant_flags(event,WEED_LEAF_READONLY_PLUGIN); - prev=get_prev_event(event); - if (prev!=NULL) weed_set_voidptr_value(prev,WEED_LEAF_NEXT,event); - weed_set_voidptr_value(event_list,WEED_LEAF_LAST,event); + weed_add_plant_flags(event, WEED_LEAF_READONLY_PLUGIN); + prev = get_prev_event(event); + if (prev != NULL) weed_set_voidptr_value(prev, WEED_LEAF_NEXT, event); + weed_set_voidptr_value(event_list, WEED_LEAF_LAST, event); return event_list; } @@ -1325,45 +1326,45 @@ weed_plant_t *insert_marker_event_at(weed_plant_t *event_list, weed_plant_t *at_event, int marker_type, livespointer data) { // insert marker event as first event at same timecode as (FRAME_EVENT) at_event - weed_timecode_t tc=get_event_timecode(at_event); - weed_plant_t *event=weed_plant_new(WEED_PLANT_EVENT); + weed_timecode_t tc = get_event_timecode(at_event); + weed_plant_t *event = weed_plant_new(WEED_PLANT_EVENT); int error; register int i; - weed_set_int_value(event,WEED_LEAF_HINT,WEED_EVENT_HINT_MARKER); - weed_set_int_value(event,WEED_LEAF_LIVES_TYPE,marker_type); - weed_set_int64_value(event,WEED_LEAF_TIMECODE,tc); - - if (marker_type==EVENT_MARKER_BLOCK_START||marker_type==EVENT_MARKER_BLOCK_UNORDERED) { - weed_set_int_value(event,WEED_LEAF_TRACKS,LIVES_POINTER_TO_INT(data)); - } - weed_add_plant_flags(event,WEED_LEAF_READONLY_PLUGIN); - - while (at_event!=NULL) { - at_event=get_prev_event(at_event); - if (at_event==NULL) break; + weed_set_int_value(event, WEED_LEAF_HINT, WEED_EVENT_HINT_MARKER); + weed_set_int_value(event, WEED_LEAF_LIVES_TYPE, marker_type); + weed_set_int64_value(event, WEED_LEAF_TIMECODE, tc); + + if (marker_type == EVENT_MARKER_BLOCK_START || marker_type == EVENT_MARKER_BLOCK_UNORDERED) { + weed_set_int_value(event, WEED_LEAF_TRACKS, LIVES_POINTER_TO_INT(data)); + } + weed_add_plant_flags(event, WEED_LEAF_READONLY_PLUGIN); + + while (at_event != NULL) { + at_event = get_prev_event(at_event); + if (at_event == NULL) break; switch (marker_type) { case EVENT_MARKER_BLOCK_START: case EVENT_MARKER_BLOCK_UNORDERED: - if (WEED_EVENT_IS_MARKER(at_event)&&(weed_get_int_value(at_event,WEED_LEAF_LIVES_TYPE,&error)==marker_type)) { + if (WEED_EVENT_IS_MARKER(at_event) && (weed_get_int_value(at_event, WEED_LEAF_LIVES_TYPE, &error) == marker_type)) { // add to existing event - int num_tracks=weed_leaf_num_elements(at_event,WEED_LEAF_TRACKS); - int *tracks=weed_get_int_array(at_event,WEED_LEAF_TRACKS,&error); - int *new_tracks=(int *)lives_malloc((num_tracks+1)*sizint); - for (i=0; i<num_tracks; i++) { - new_tracks[i]=tracks[i]; + int num_tracks = weed_leaf_num_elements(at_event, WEED_LEAF_TRACKS); + int *tracks = weed_get_int_array(at_event, WEED_LEAF_TRACKS, &error); + int *new_tracks = (int *)lives_malloc((num_tracks + 1) * sizint); + for (i = 0; i < num_tracks; i++) { + new_tracks[i] = tracks[i]; } - new_tracks[i]=LIVES_POINTER_TO_INT(data); // add new track - weed_set_int_array(at_event,WEED_LEAF_TRACKS,num_tracks+1,new_tracks); + new_tracks[i] = LIVES_POINTER_TO_INT(data); // add new track + weed_set_int_array(at_event, WEED_LEAF_TRACKS, num_tracks + 1, new_tracks); lives_free(new_tracks); lives_free(tracks); weed_plant_free(event); // new event not used return event; } - if (get_event_timecode(at_event)<tc) { + if (get_event_timecode(at_event) < tc) { // create new event - if (!insert_event_after(at_event,event)) weed_set_voidptr_value(event_list,WEED_LEAF_LAST,event); + if (!insert_event_after(at_event, event)) weed_set_voidptr_value(event_list, WEED_LEAF_LAST, event); return event; } break; @@ -1371,9 +1372,9 @@ } // event is first - at_event=get_first_event(event_list); - insert_event_before(at_event,event); - weed_set_voidptr_value(event_list,WEED_LEAF_FIRST,event); + at_event = get_first_event(event_list); + insert_event_before(at_event, event); + weed_set_voidptr_value(event_list, WEED_LEAF_FIRST, event); return event; @@ -1381,58 +1382,58 @@ LIVES_INLINE weed_plant_t *insert_blank_frame_event_at(weed_plant_t *event_list, weed_timecode_t tc, weed_plant_t **shortcut) { - int clip=-1; - int frame=0; + int clip = -1; + int frame = 0; - return insert_frame_event_at(event_list,tc,1,&clip,&frame,shortcut); + return insert_frame_event_at(event_list, tc, 1, &clip, &frame, shortcut); } void remove_filter_from_event_list(weed_plant_t *event_list, weed_plant_t *init_event) { int error; - weed_plant_t *deinit_event=(weed_plant_t *)weed_get_voidptr_value(init_event,WEED_LEAF_DEINIT_EVENT,&error); - weed_plant_t *event=init_event; - weed_plant_t *filter_map=get_filter_map_before(init_event,LIVES_TRACK_ANY,NULL); + weed_plant_t *deinit_event = (weed_plant_t *)weed_get_voidptr_value(init_event, WEED_LEAF_DEINIT_EVENT, &error); + weed_plant_t *event = init_event; + weed_plant_t *filter_map = get_filter_map_before(init_event, LIVES_TRACK_ANY, NULL); void **new_init_events; - weed_timecode_t deinit_tc=get_event_timecode(deinit_event); + weed_timecode_t deinit_tc = get_event_timecode(deinit_event); weed_plant_t *event_next; register int i; - while (event!=NULL&&get_event_timecode(event)<=deinit_tc) { - event_next=get_next_event(event); + while (event != NULL && get_event_timecode(event) <= deinit_tc) { + event_next = get_next_event(event); // update filter_maps if (WEED_EVENT_IS_FILTER_MAP(event)) { - new_init_events=get_init_events_before(event,init_event,FALSE); - for (i=0; new_init_events[i]!=NULL; i++); - if (i==0) weed_set_voidptr_value(event,WEED_LEAF_INIT_EVENTS,NULL); - else weed_set_voidptr_array(event,WEED_LEAF_INIT_EVENTS,i,new_init_events); + new_init_events = get_init_events_before(event, init_event, FALSE); + for (i = 0; new_init_events[i] != NULL; i++); + if (i == 0) weed_set_voidptr_value(event, WEED_LEAF_INIT_EVENTS, NULL); + else weed_set_voidptr_array(event, WEED_LEAF_INIT_EVENTS, i, new_init_events); lives_free(new_init_events); - if ((filter_map==NULL&&i==0)||(filter_map!=NULL&&compare_filter_maps(filter_map,event,LIVES_TRACK_ANY))) - delete_event(event_list,event); - else filter_map=event; + if ((filter_map == NULL && i == 0) || (filter_map != NULL && compare_filter_maps(filter_map, event, LIVES_TRACK_ANY))) + delete_event(event_list, event); + else filter_map = event; } - event=event_next; + event = event_next; } // remove param_changes - if (weed_plant_has_leaf(init_event,WEED_LEAF_IN_PARAMETERS)) { + if (weed_plant_has_leaf(init_event, WEED_LEAF_IN_PARAMETERS)) { void *pchain_next; - void **pchain=weed_get_voidptr_array(init_event,WEED_LEAF_IN_PARAMETERS,&error); - int num_params=weed_leaf_num_elements(init_event,WEED_LEAF_IN_PARAMETERS); - for (i=0; i<num_params; i++) { - while (pchain[i]!=NULL) { - pchain_next=weed_get_voidptr_value((weed_plant_t *)pchain[i],WEED_LEAF_NEXT_CHANGE,&error); - delete_event(event_list,(weed_plant_t *)pchain[i]); - pchain[i]=pchain_next; + void **pchain = weed_get_voidptr_array(init_event, WEED_LEAF_IN_PARAMETERS, &error); + int num_params = weed_leaf_num_elements(init_event, WEED_LEAF_IN_PARAMETERS); + for (i = 0; i < num_params; i++) { + while (pchain[i] != NULL) { + pchain_next = weed_get_voidptr_value((weed_plant_t *)pchain[i], WEED_LEAF_NEXT_CHANGE, &error); + delete_event(event_list, (weed_plant_t *)pchain[i]); + pchain[i] = pchain_next; } } lives_free(pchain); } - delete_event(event_list,init_event); - delete_event(event_list,deinit_event); + delete_event(event_list, init_event); + delete_event(event_list, deinit_event); } @@ -1440,31 +1441,31 @@ static boolean remove_event_from_filter_map(weed_plant_t *fmap, weed_plant_t *event) { // return FALSE if result is NULL filter_map - int error,num_inits; - void **init_events=weed_get_voidptr_array(fmap,WEED_LEAF_INIT_EVENTS,&error); + int error, num_inits; + void **init_events = weed_get_voidptr_array(fmap, WEED_LEAF_INIT_EVENTS, &error); void **new_init_events; - register int i,j=0; + register int i, j = 0; - num_inits=weed_leaf_num_elements(fmap,WEED_LEAF_INIT_EVENTS); - new_init_events=(void **)lives_malloc(num_inits*sizeof(void *)); - for (i=0; i<num_inits; i++) { - if (init_events[i]!=event) new_init_events[j++]=init_events[i]; + num_inits = weed_leaf_num_elements(fmap, WEED_LEAF_INIT_EVENTS); + new_init_events = (void **)lives_malloc(num_inits * sizeof(void *)); + for (i = 0; i < num_inits; i++) { + if (init_events[i] != event) new_init_events[j++] = init_events[i]; } - if (j==0||(j==1&&(event==NULL||init_events[0]==NULL))) weed_set_voidptr_value(fmap,WEED_LEAF_INIT_EVENTS,NULL); - else weed_set_voidptr_array(fmap,WEED_LEAF_INIT_EVENTS,j,new_init_events); + if (j == 0 || (j == 1 && (event == NULL || init_events[0] == NULL))) weed_set_voidptr_value(fmap, WEED_LEAF_INIT_EVENTS, NULL); + else weed_set_voidptr_array(fmap, WEED_LEAF_INIT_EVENTS, j, new_init_events); lives_free(init_events); lives_free(new_init_events); - return (!(j==0||(j==1&&event==NULL))); + return (!(j == 0 || (j == 1 && event == NULL))); } LIVES_INLINE boolean init_event_in_list(void **init_events, int num_inits, weed_plant_t *event) { register int i; - if (init_events==NULL||init_events[0]==NULL) return FALSE; - for (i=0; i<num_inits; i++) { - if (init_events[i]==(void **)event) return TRUE; + if (init_events == NULL || init_events[0] == NULL) return FALSE; + for (i = 0; i < num_inits; i++) { + if (init_events[i] == (void **)event) return TRUE; } return FALSE; } @@ -1472,9 +1473,9 @@ boolean filter_map_has_event(weed_plant_t *fmap, weed_plant_t *event) { int error; - void **init_events=weed_get_voidptr_array(fmap,WEED_LEAF_INIT_EVENTS,&error); - int num_inits=weed_leaf_num_elements(fmap,WEED_LEAF_INIT_EVENTS); - boolean ret=init_event_in_list(init_events,num_inits,event); + void **init_events = weed_get_voidptr_array(fmap, WEED_LEAF_INIT_EVENTS, &error); + int num_inits = weed_leaf_num_elements(fmap, WEED_LEAF_INIT_EVENTS); + boolean ret = init_event_in_list(init_events, num_inits, event); lives_free(init_events); return ret; @@ -1484,17 +1485,17 @@ boolean filter_init_has_owner(weed_plant_t *init_event, int track) { int *owners; - int error,num_owners; + int error, num_owners; register int i; - if (!weed_plant_has_leaf(init_event,WEED_LEAF_IN_TRACKS)) return FALSE; + if (!weed_plant_has_leaf(init_event, WEED_LEAF_IN_TRACKS)) return FALSE; - owners=weed_get_int_array(init_event,WEED_LEAF_IN_TRACKS,&error); - num_owners=weed_leaf_num_elements(init_event,WEED_LEAF_IN_TRACKS); + owners = weed_get_int_array(init_event, WEED_LEAF_IN_TRACKS, &error); + num_owners = weed_leaf_num_elements(init_event, WEED_LEAF_IN_TRACKS); - for (i=0; i<num_owners; i++) { - if (owners[i]==track) { + for (i = 0; i < num_owners; i++) { + if (owners[i] == track) { lives_free(owners); return TRUE; } @@ -1510,12 +1511,12 @@ // host keys will change (see backup_weed_instances() in effects-weed.c) // here we backup the host_tag (which maps a filter_init to a "key" and thus to an instance) - weed_plant_t *event=get_first_event(event_list); + weed_plant_t *event = get_first_event(event_list); weed_timecode_t tc; - while (event!=NULL&&(tc=get_event_timecode(event))<=curr_tc) { - if (WEED_EVENT_IS_FILTER_INIT(event)) weed_leaf_copy(event,"host_tag_copy",event,WEED_LEAF_HOST_TAG); - event=get_next_event(event); + while (event != NULL && (tc = get_event_timecode(event)) <= curr_tc) { + if (WEED_EVENT_IS_FILTER_INIT(event)) weed_leaf_copy(event, "host_tag_copy", event, WEED_LEAF_HOST_TAG); + event = get_next_event(event); } } @@ -1525,15 +1526,15 @@ // host keys will change (see backup_weed_instances() in effects-weed.c) // here we restore the host_tag (which maps a filter_init to a "key" and thus to an instance) - weed_plant_t *event=get_first_event(event_list); + weed_plant_t *event = get_first_event(event_list); weed_timecode_t tc; - while (event!=NULL&&(tc=get_event_timecode(event))<=curr_tc) { + while (event != NULL && (tc = get_event_timecode(event)) <= curr_tc) { if (WEED_EVENT_IS_FILTER_INIT(event)) { - weed_leaf_copy(event,WEED_LEAF_HOST_TAG,event,"host_tag_copy"); - weed_leaf_delete(event,"host_tag_copy"); + weed_leaf_copy(event, WEED_LEAF_HOST_TAG, event, "host_tag_copy"); + weed_leaf_delete(event, "host_tag_copy"); } - event=get_next_event(event); + event = get_next_event(event); } } @@ -1544,31 +1545,31 @@ // this can be called when a FILTER_DEINIT is moved void **init_events; - int error,num_inits; + int error, num_inits; - weed_plant_t *deinit_event=(weed_plant_t *)weed_get_voidptr_value(init_event,WEED_LEAF_DEINIT_EVENT,&error); - weed_timecode_t deinit_tc=get_event_timecode(deinit_event); + weed_plant_t *deinit_event = (weed_plant_t *)weed_get_voidptr_value(init_event, WEED_LEAF_DEINIT_EVENT, &error); + weed_timecode_t deinit_tc = get_event_timecode(deinit_event); weed_timecode_t pchain_tc; - void *pchain,*pchain_next; + void *pchain, *pchain_next; register int i; - if (!weed_plant_has_leaf(init_event,WEED_LEAF_IN_PARAMETERS)) return; + if (!weed_plant_has_leaf(init_event, WEED_LEAF_IN_PARAMETERS)) return; - num_inits=weed_leaf_num_elements(init_event,WEED_LEAF_IN_PARAMETERS); - init_events=weed_get_voidptr_array(init_event,WEED_LEAF_IN_PARAMETERS,&error); + num_inits = weed_leaf_num_elements(init_event, WEED_LEAF_IN_PARAMETERS); + init_events = weed_get_voidptr_array(init_event, WEED_LEAF_IN_PARAMETERS, &error); - for (i=0; i<num_inits; i++) { - pchain=init_events[i]; - while (pchain!=NULL) { - pchain_tc=get_event_timecode((weed_plant_t *)pchain); - if (!weed_plant_has_leaf((weed_plant_t *)pchain,WEED_LEAF_NEXT_CHANGE)) pchain_next=NULL; - else pchain_next=weed_get_voidptr_value((weed_plant_t *)pchain,WEED_LEAF_NEXT_CHANGE,&error); - if (pchain_tc>deinit_tc) delete_event(event_list,(weed_plant_t *)pchain); - pchain=pchain_next; + for (i = 0; i < num_inits; i++) { + pchain = init_events[i]; + while (pchain != NULL) { + pchain_tc = get_event_timecode((weed_plant_t *)pchain); + if (!weed_plant_has_leaf((weed_plant_t *)pchain, WEED_LEAF_NEXT_CHANGE)) pchain_next = NULL; + else pchain_next = weed_get_voidptr_value((weed_plant_t *)pchain, WEED_LEAF_NEXT_CHANGE, &error); + if (pchain_tc > deinit_tc) delete_event(event_list, (weed_plant_t *)pchain); + pchain = pchain_next; } } lives_free(init_events); @@ -1583,10 +1584,10 @@ void **init_events; - weed_timecode_t old_init_tc=get_event_timecode(init_event); - weed_timecode_t old_deinit_tc=get_event_timecode(deinit_event); + weed_timecode_t old_init_tc = get_event_timecode(init_event); + weed_timecode_t old_deinit_tc = get_event_timecode(deinit_event); - weed_timecode_t pchain_tc,new_tc; + weed_timecode_t pchain_tc, new_tc; void *pchain; weed_plant_t *event; @@ -1596,51 +1597,51 @@ register int i; - if (!weed_plant_has_leaf(init_event,WEED_LEAF_IN_PARAMETERS)) return; + if (!weed_plant_has_leaf(init_event, WEED_LEAF_IN_PARAMETERS)) return; - num_inits=weed_leaf_num_elements(init_event,WEED_LEAF_IN_PARAMETERS); - init_events=weed_get_voidptr_array(init_event,WEED_LEAF_IN_PARAMETERS,&error); + num_inits = weed_leaf_num_elements(init_event, WEED_LEAF_IN_PARAMETERS); + init_events = weed_get_voidptr_array(init_event, WEED_LEAF_IN_PARAMETERS, &error); - if (init_events==NULL) num_inits=0; + if (init_events == NULL) num_inits = 0; - for (i=0; i<num_inits; i++) { - pchain=init_events[i]; - while (pchain!=NULL) { - pchain_tc=get_event_timecode((weed_plant_t *)pchain); - new_tc=(weed_timecode_t)((double)(pchain_tc-old_init_tc)/(double)(old_deinit_tc-old_init_tc)* - (double)(new_deinit_tc-new_init_tc))+new_init_tc; - new_tc=q_gint64(new_tc,fps); - if (new_tc==pchain_tc) { - if (!weed_plant_has_leaf((weed_plant_t *)pchain,WEED_LEAF_NEXT_CHANGE)) pchain=NULL; - else pchain=weed_get_voidptr_value((weed_plant_t *)pchain,WEED_LEAF_NEXT_CHANGE,&error); + for (i = 0; i < num_inits; i++) { + pchain = init_events[i]; + while (pchain != NULL) { + pchain_tc = get_event_timecode((weed_plant_t *)pchain); + new_tc = (weed_timecode_t)((double)(pchain_tc - old_init_tc) / (double)(old_deinit_tc - old_init_tc) * + (double)(new_deinit_tc - new_init_tc)) + new_init_tc; + new_tc = q_gint64(new_tc, fps); + if (new_tc == pchain_tc) { + if (!weed_plant_has_leaf((weed_plant_t *)pchain, WEED_LEAF_NEXT_CHANGE)) pchain = NULL; + else pchain = weed_get_voidptr_value((weed_plant_t *)pchain, WEED_LEAF_NEXT_CHANGE, &error); continue; } - event=(weed_plant_t *)pchain; - if (new_tc<pchain_tc) { - while (event!=NULL&&get_event_timecode(event)>new_tc) event=get_prev_event(event); + event = (weed_plant_t *)pchain; + if (new_tc < pchain_tc) { + while (event != NULL && get_event_timecode(event) > new_tc) event = get_prev_event(event); } else { - while (event!=NULL&&get_event_timecode(event)<new_tc) event=get_next_event(event); + while (event != NULL && get_event_timecode(event) < new_tc) event = get_next_event(event); } - if (event!=NULL) { - unlink_event(event_list,(weed_plant_t *)pchain); - insert_param_change_event_at(event_list,event,(weed_plant_t *)pchain); + if (event != NULL) { + unlink_event(event_list, (weed_plant_t *)pchain); + insert_param_change_event_at(event_list, event, (weed_plant_t *)pchain); } - if (!weed_plant_has_leaf((weed_plant_t *)pchain,WEED_LEAF_NEXT_CHANGE)) pchain=NULL; - else pchain=weed_get_voidptr_value((weed_plant_t *)pchain,WEED_LEAF_NEXT_CHANGE,&error); + if (!weed_plant_has_leaf((weed_plant_t *)pchain, WEED_LEAF_NEXT_CHANGE)) pchain = NULL; + else pchain = weed_get_voidptr_value((weed_plant_t *)pchain, WEED_LEAF_NEXT_CHANGE, &error); } } - if (init_events!=NULL) lives_free(init_events); + if (init_events != NULL) lives_free(init_events); } -static boolean is_in_hints(weed_plant_t *event,void **hints) { +static boolean is_in_hints(weed_plant_t *event, void **hints) { register int i; - if (hints==NULL) return FALSE; - for (i=0; hints[i]!=NULL; i++) { - if (hints[i]==event) return TRUE; + if (hints == NULL) return FALSE; + for (i = 0; hints[i] != NULL; i++) { + if (hints[i] == event) return TRUE; } return FALSE; } @@ -1651,17 +1652,17 @@ boolean init_event_is_process_last(weed_plant_t *event) { weed_plant_t *filter; char *hashname; - boolean res=FALSE; + boolean res = FALSE; int error; - if (event==NULL) return FALSE; + if (event == NULL) return FALSE; - hashname=weed_get_string_value(event,WEED_LEAF_FILTER,&error); - filter=get_weed_filter(weed_get_idx_for_hashname(hashname,TRUE)); - if (weed_plant_has_leaf(filter,WEED_LEAF_FLAGS)) { - int fflags=weed_get_int_value(filter,WEED_LEAF_FLAGS,&error); - if (fflags&WEED_FILTER_PROCESS_LAST) { - res=TRUE; + hashname = weed_get_string_value(event, WEED_LEAF_FILTER, &error); + filter = get_weed_filter(weed_get_idx_for_hashname(hashname, TRUE)); + if (weed_plant_has_leaf(filter, WEED_LEAF_FLAGS)) { + int fflags = weed_get_int_value(filter, WEED_LEAF_FLAGS, &error); + if (fflags & WEED_FILTER_PROCESS_LAST) { + res = TRUE; } } @@ -1684,39 +1685,39 @@ void **init_events; void **new_init_events; - boolean added=FALSE,plast=FALSE,mustadd=FALSE; - int error,num_inits; + boolean added = FALSE, plast = FALSE, mustadd = FALSE; + int error, num_inits; - register int i,j=0; + register int i, j = 0; - remove_event_from_filter_map(fmap,event); + remove_event_from_filter_map(fmap, event); - init_events=weed_get_voidptr_array(fmap,WEED_LEAF_INIT_EVENTS,&error); - num_inits=weed_leaf_num_elements(fmap,WEED_LEAF_INIT_EVENTS); + init_events = weed_get_voidptr_array(fmap, WEED_LEAF_INIT_EVENTS, &error); + num_inits = weed_leaf_num_elements(fmap, WEED_LEAF_INIT_EVENTS); - if (num_inits==1&&(init_events==NULL||init_events[0]==NULL)) { - weed_set_voidptr_value(fmap,WEED_LEAF_INIT_EVENTS,event); + if (num_inits == 1 && (init_events == NULL || init_events[0] == NULL)) { + weed_set_voidptr_value(fmap, WEED_LEAF_INIT_EVENTS, event); lives_free(init_events); return; } - if (init_event_is_process_last(event)) plast=TRUE; + if (init_event_is_process_last(event)) plast = TRUE; - new_init_events=(void **)lives_malloc((num_inits+1)*sizeof(void *)); + new_init_events = (void **)lives_malloc((num_inits + 1) * sizeof(void *)); - for (i=0; i<num_inits; i++) { - if (init_event_is_process_last((weed_plant_t *)init_events[i])) mustadd=TRUE; + for (i = 0; i < num_inits; i++) { + if (init_event_is_process_last((weed_plant_t *)init_events[i])) mustadd = TRUE; - if (mustadd||(!plast&&!added&&is_in_hints((weed_plant_t *)init_events[i],hints))) { - new_init_events[j++]=event; - added=TRUE; + if (mustadd || (!plast && !added && is_in_hints((weed_plant_t *)init_events[i], hints))) { + new_init_events[j++] = event; + added = TRUE; } - new_init_events[j++]=init_events[i]; - if (init_events[i]==event) added=TRUE; + new_init_events[j++] = init_events[i]; + if (init_events[i] == event) added = TRUE; } - if (!added) new_init_events[j++]=event; + if (!added) new_init_events[j++] = event; - weed_set_voidptr_array(fmap,WEED_LEAF_INIT_EVENTS,j,new_init_events); + weed_set_voidptr_array(fmap, WEED_LEAF_INIT_EVENTS, j, new_init_events); lives_free(init_events); lives_free(new_init_events); } @@ -1726,108 +1727,108 @@ void move_filter_init_event(weed_plant_t *event_list, weed_timecode_t new_tc, weed_plant_t *init_event, double fps) { - int error,i,j=0; - weed_timecode_t tc=get_event_timecode(init_event); - weed_plant_t *deinit_event=(weed_plant_t *)weed_get_voidptr_value(init_event,WEED_LEAF_DEINIT_EVENT,&error); - weed_timecode_t deinit_tc=get_event_timecode(deinit_event); - weed_plant_t *event=init_event,*event_next; - weed_plant_t *filter_map,*copy_filter_map; + int error, i, j = 0; + weed_timecode_t tc = get_event_timecode(init_event); + weed_plant_t *deinit_event = (weed_plant_t *)weed_get_voidptr_value(init_event, WEED_LEAF_DEINIT_EVENT, &error); + weed_timecode_t deinit_tc = get_event_timecode(deinit_event); + weed_plant_t *event = init_event, *event_next; + weed_plant_t *filter_map, *copy_filter_map; void **init_events; int num_inits; - void **event_hints=NULL; + void **event_hints = NULL; boolean is_null_filter_map; - rescale_param_changes(event_list,init_event,new_tc,deinit_event,deinit_tc,fps); + rescale_param_changes(event_list, init_event, new_tc, deinit_event, deinit_tc, fps); - if (new_tc>tc) { + if (new_tc > tc) { // moving right - filter_map=get_filter_map_before(event,LIVES_TRACK_ANY,NULL); - while (get_event_timecode(event)<new_tc) { - event_next=get_next_event(event); + filter_map = get_filter_map_before(event, LIVES_TRACK_ANY, NULL); + while (get_event_timecode(event) < new_tc) { + event_next = get_next_event(event); if (WEED_EVENT_IS_FILTER_MAP(event)) { - is_null_filter_map=!remove_event_from_filter_map(event,init_event); - if ((filter_map==NULL&&is_null_filter_map)||(filter_map!=NULL&&compare_filter_maps(filter_map,event,LIVES_TRACK_ANY))) - delete_event(event_list,event); - else filter_map=event; + is_null_filter_map = !remove_event_from_filter_map(event, init_event); + if ((filter_map == NULL && is_null_filter_map) || (filter_map != NULL && compare_filter_maps(filter_map, event, LIVES_TRACK_ANY))) + delete_event(event_list, event); + else filter_map = event; } - event=event_next; + event = event_next; } - unlink_event(event_list,init_event); + unlink_event(event_list, init_event); insert_filter_init_event_at(event_list, event, init_event); - event=get_next_frame_event(init_event); + event = get_next_frame_event(init_event); - init_events=get_init_events_before(event,init_event,TRUE); - event_list=append_filter_map_event(event_list,new_tc,init_events); + init_events = get_init_events_before(event, init_event, TRUE); + event_list = append_filter_map_event(event_list, new_tc, init_events); lives_free(init_events); - filter_map=get_last_event(event_list); - unlink_event(event_list,filter_map); - insert_filter_map_event_at(event_list,event,filter_map,TRUE); + filter_map = get_last_event(event_list); + unlink_event(event_list, filter_map); + insert_filter_map_event_at(event_list, event, filter_map, TRUE); } else { // moving left // see if event is switched on at start - boolean is_on=FALSE; - boolean adding=FALSE; - while (event!=deinit_event) { - if (get_event_timecode(event)>tc) break; - if (WEED_EVENT_IS_FILTER_MAP(event)&&filter_map_has_event(event,init_event)) { - if (weed_plant_has_leaf(event,WEED_LEAF_INIT_EVENTS)) { - init_events=weed_get_voidptr_array(event,WEED_LEAF_INIT_EVENTS,&error); - if (init_events[0]!=NULL) { - num_inits=weed_leaf_num_elements(event,WEED_LEAF_INIT_EVENTS); - event_hints=(void **)lives_malloc((num_inits+1)*sizeof(void *)); - for (i=0; i<num_inits; i++) { - if (adding) event_hints[j++]=init_events[i]; - if (init_events[i]==init_event) adding=TRUE; + boolean is_on = FALSE; + boolean adding = FALSE; + while (event != deinit_event) { + if (get_event_timecode(event) > tc) break; + if (WEED_EVENT_IS_FILTER_MAP(event) && filter_map_has_event(event, init_event)) { + if (weed_plant_has_leaf(event, WEED_LEAF_INIT_EVENTS)) { + init_events = weed_get_voidptr_array(event, WEED_LEAF_INIT_EVENTS, &error); + if (init_events[0] != NULL) { + num_inits = weed_leaf_num_elements(event, WEED_LEAF_INIT_EVENTS); + event_hints = (void **)lives_malloc((num_inits + 1) * sizeof(void *)); + for (i = 0; i < num_inits; i++) { + if (adding) event_hints[j++] = init_events[i]; + if (init_events[i] == init_event) adding = TRUE; } - event_hints[j]=NULL; - is_on=TRUE; + event_hints[j] = NULL; + is_on = TRUE; } lives_free(init_events); } break; } - event=get_next_event(event); + event = get_next_event(event); } - event=init_event; - while (get_event_timecode(event)>new_tc) event=get_prev_event(event); - unlink_event(event_list,init_event); - insert_filter_init_event_at(event_list,event,init_event); + event = init_event; + while (get_event_timecode(event) > new_tc) event = get_prev_event(event); + unlink_event(event_list, init_event); + insert_filter_init_event_at(event_list, event, init_event); if (is_on) { - event=get_next_frame_event(init_event); - filter_map=get_filter_map_before(event,LIVES_TRACK_ANY,NULL); + event = get_next_frame_event(init_event); + filter_map = get_filter_map_before(event, LIVES_TRACK_ANY, NULL); // insert filter_map at new filter_init - if (filter_map!=NULL) { - copy_filter_map=weed_plant_copy(filter_map); - add_init_event_to_filter_map(copy_filter_map,init_event,event_hints); - filter_map=copy_filter_map; + if (filter_map != NULL) { + copy_filter_map = weed_plant_copy(filter_map); + add_init_event_to_filter_map(copy_filter_map, init_event, event_hints); + filter_map = copy_filter_map; } else { - init_events=(void **)lives_malloc(2*sizeof(void *)); - init_events[0]=init_event; - init_events[1]=NULL; - event_list=append_filter_map_event(event_list, new_tc, init_events); + init_events = (void **)lives_malloc(2 * sizeof(void *)); + init_events[0] = init_event; + init_events[1] = NULL; + event_list = append_filter_map_event(event_list, new_tc, init_events); lives_free(init_events); - filter_map=get_last_event(event_list); - unlink_event(event_list,filter_map); + filter_map = get_last_event(event_list); + unlink_event(event_list, filter_map); } - insert_filter_map_event_at(event_list,event,filter_map,TRUE); - event=get_next_event(filter_map); + insert_filter_map_event_at(event_list, event, filter_map, TRUE); + event = get_next_event(filter_map); // ensure filter remains on until repositioned FILTER_INIT - while (event!=NULL&&get_event_timecode(event)<=tc) { - event_next=get_next_event(event); + while (event != NULL && get_event_timecode(event) <= tc) { + event_next = get_next_event(event); if (WEED_EVENT_IS_FILTER_MAP(event)) { - add_init_event_to_filter_map(filter_map,init_event,event_hints); - if (compare_filter_maps(filter_map,event,LIVES_TRACK_ANY)) delete_event(event_list,event); - else filter_map=event; + add_init_event_to_filter_map(filter_map, init_event, event_hints); + if (compare_filter_maps(filter_map, event, LIVES_TRACK_ANY)) delete_event(event_list, event); + else filter_map = event; } - event=event_next; + event = event_next; } - if (event_hints!=NULL) lives_free(event_hints); + if (event_hints != NULL) lives_free(event_hints); } } @@ -1839,134 +1840,134 @@ double fps, boolean rescale_pchanges) { // move a filter_deinit from old pos to new pos, remove mention of it from filter maps, // possibly add/update filter map before frame at new_tc, remove duplicate filter_maps, update param_change events - int error,i,j=0; - weed_timecode_t tc=get_event_timecode(deinit_event); - weed_plant_t *init_event=(weed_plant_t *)weed_get_voidptr_value(deinit_event,WEED_LEAF_INIT_EVENT,&error); - weed_timecode_t init_tc=get_event_timecode(init_event); - weed_plant_t *event=deinit_event,*event_next; - weed_plant_t *filter_map,*copy_filter_map; + int error, i, j = 0; + weed_timecode_t tc = get_event_timecode(deinit_event); + weed_plant_t *init_event = (weed_plant_t *)weed_get_voidptr_value(deinit_event, WEED_LEAF_INIT_EVENT, &error); + weed_timecode_t init_tc = get_event_timecode(init_event); + weed_plant_t *event = deinit_event, *event_next; + weed_plant_t *filter_map, *copy_filter_map; weed_plant_t *xevent; void **init_events; int num_inits; - void **event_hints=NULL; + void **event_hints = NULL; boolean is_null_filter_map; - if (new_tc==tc) return; + if (new_tc == tc) return; - if (rescale_pchanges) rescale_param_changes(event_list,init_event,init_tc,deinit_event,new_tc,fps); + if (rescale_pchanges) rescale_param_changes(event_list, init_event, init_tc, deinit_event, new_tc, fps); - if (new_tc<tc) { + if (new_tc < tc) { // moving left //find last event at new_tc, we are going to insert deinit_event after this // first find filter_map before new end position, copy it with filter removed - while (get_event_timecode(event)>new_tc) event=get_prev_event(event); - filter_map=get_filter_map_before(event,LIVES_TRACK_ANY,NULL); - if (filter_map!=NULL) { - if (get_event_timecode(filter_map)!=get_event_timecode(event)) { - copy_filter_map=weed_plant_copy(filter_map); - if (!WEED_EVENT_IS_FRAME(event)) event=get_prev_frame_event(event); - if (event==NULL) event=get_first_event(event_list); - insert_filter_map_event_at(event_list,event,copy_filter_map,FALSE); - } else copy_filter_map=filter_map; - remove_event_from_filter_map(copy_filter_map,init_event); - if (filter_map!=copy_filter_map&&compare_filter_maps(filter_map,copy_filter_map,LIVES_TRACK_ANY)) - delete_event(event_list,copy_filter_map); - else filter_map=copy_filter_map; - } - - while (!WEED_EVENT_IS_FRAME(event)) event=get_prev_event(event); - xevent=event; - filter_map=get_filter_map_before(event,LIVES_TRACK_ANY,NULL); + while (get_event_timecode(event) > new_tc) event = get_prev_event(event); + filter_map = get_filter_map_before(event, LIVES_TRACK_ANY, NULL); + if (filter_map != NULL) { + if (get_event_timecode(filter_map) != get_event_timecode(event)) { + copy_filter_map = weed_plant_copy(filter_map); + if (!WEED_EVENT_IS_FRAME(event)) event = get_prev_frame_event(event); + if (event == NULL) event = get_first_event(event_list); + insert_filter_map_event_at(event_list, event, copy_filter_map, FALSE); + } else copy_filter_map = filter_map; + remove_event_from_filter_map(copy_filter_map, init_event); + if (filter_map != copy_filter_map && compare_filter_maps(filter_map, copy_filter_map, LIVES_TRACK_ANY)) + delete_event(event_list, copy_filter_map); + else filter_map = copy_filter_map; + } + + while (!WEED_EVENT_IS_FRAME(event)) event = get_prev_event(event); + xevent = event; + filter_map = get_filter_map_before(event, LIVES_TRACK_ANY, NULL); // remove from following filter_maps - while (event!=NULL&&get_event_timecode(event)<=tc) { - event_next=get_next_event(event); + while (event != NULL && get_event_timecode(event) <= tc) { + event_next = get_next_event(event); if (WEED_EVENT_IS_FILTER_MAP(event)) { // found a filter map, so remove the event from it - is_null_filter_map=!remove_event_from_filter_map(event,init_event); - if ((filter_map==NULL&&is_null_filter_map)||(filter_map!=NULL&&compare_filter_maps(filter_map,event,LIVES_TRACK_ANY))) - delete_event(event_list,event); - else filter_map=event; - } - event=event_next; - } - unlink_event(event_list,deinit_event); - insert_filter_deinit_event_at(event_list,xevent,deinit_event); - if (!rescale_pchanges) delete_param_changes_after_deinit(event_list,init_event); + is_null_filter_map = !remove_event_from_filter_map(event, init_event); + if ((filter_map == NULL && is_null_filter_map) || (filter_map != NULL && compare_filter_maps(filter_map, event, LIVES_TRACK_ANY))) + delete_event(event_list, event); + else filter_map = event; + } + event = event_next; + } + unlink_event(event_list, deinit_event); + insert_filter_deinit_event_at(event_list, xevent, deinit_event); + if (!rescale_pchanges) delete_param_changes_after_deinit(event_list, init_event); } else { // moving right // see if event is switched on at end - boolean is_on=FALSE; - boolean adding=FALSE; + boolean is_on = FALSE; + boolean adding = FALSE; - xevent=get_prev_event(deinit_event); + xevent = get_prev_event(deinit_event); // get event_hints so we can add filter back at guess position - filter_map=get_filter_map_before(deinit_event,LIVES_TRACK_ANY,NULL); - if (filter_map!=NULL&&filter_map_has_event(filter_map,init_event)) { - init_events=weed_get_voidptr_array(filter_map,WEED_LEAF_INIT_EVENTS,&error); - num_inits=weed_leaf_num_elements(filter_map,WEED_LEAF_INIT_EVENTS); - event_hints=(void **)lives_malloc((num_inits+1)*sizeof(void *)); - for (i=0; i<num_inits; i++) { + filter_map = get_filter_map_before(deinit_event, LIVES_TRACK_ANY, NULL); + if (filter_map != NULL && filter_map_has_event(filter_map, init_event)) { + init_events = weed_get_voidptr_array(filter_map, WEED_LEAF_INIT_EVENTS, &error); + num_inits = weed_leaf_num_elements(filter_map, WEED_LEAF_INIT_EVENTS); + event_hints = (void **)lives_malloc((num_inits + 1) * sizeof(void *)); + for (i = 0; i < num_inits; i++) { if (adding) { - event_hints[j++]=init_events[i]; + event_hints[j++] = init_events[i]; } - if (init_events[i]==init_event) adding=TRUE; + if (init_events[i] == init_event) adding = TRUE; } - event_hints[j]=NULL; - is_on=TRUE; + event_hints[j] = NULL; + is_on = TRUE; lives_free(init_events); } // move deinit event - event=deinit_event; - while (event!=NULL&&get_event_timecode(event)<new_tc) event=get_next_event(event); + event = deinit_event; + while (event != NULL && get_event_timecode(event) < new_tc) event = get_next_event(event); - unlink_event(event_list,deinit_event); + unlink_event(event_list, deinit_event); - if (event==NULL) return; + if (event == NULL) return; - insert_filter_deinit_event_at(event_list,event,deinit_event); + insert_filter_deinit_event_at(event_list, event, deinit_event); if (is_on) { // ensure filter remains on until new position - event=xevent; - while (event!=deinit_event) { - if (get_event_timecode(event)==new_tc&&WEED_EVENT_IS_FRAME(event)) break; - event_next=get_next_event(event); + event = xevent; + while (event != deinit_event) { + if (get_event_timecode(event) == new_tc && WEED_EVENT_IS_FRAME(event)) break; + event_next = get_next_event(event); if (WEED_EVENT_IS_FILTER_MAP(event)) { - add_init_event_to_filter_map(event,init_event,event_hints); - if (compare_filter_maps(filter_map,event,LIVES_TRACK_ANY)) delete_event(event_list,event); - else filter_map=event; + add_init_event_to_filter_map(event, init_event, event_hints); + if (compare_filter_maps(filter_map, event, LIVES_TRACK_ANY)) delete_event(event_list, event); + else filter_map = event; } - event=event_next; + event = event_next; } - if (event_hints!=NULL) lives_free(event_hints); + if (event_hints != NULL) lives_free(event_hints); // find last FILTER_MAP before deinit_event - event=deinit_event; - while (event!=NULL&&get_event_timecode(event)==new_tc) event=get_next_event(event); - if (event==NULL) event=get_last_event(event_list); - filter_map=get_filter_map_before(event,LIVES_TRACK_ANY,NULL); + event = deinit_event; + while (event != NULL && get_event_timecode(event) == new_tc) event = get_next_event(event); + if (event == NULL) event = get_last_event(event_list); + filter_map = get_filter_map_before(event, LIVES_TRACK_ANY, NULL); - if (filter_map!=NULL&&filter_map_has_event(filter_map,init_event)) { + if (filter_map != NULL && filter_map_has_event(filter_map, init_event)) { // if last FILTER_MAP before deinit_event mentions init_event, remove init_event, // insert FILTER_MAP after deinit_event - copy_filter_map=weed_plant_copy(filter_map); + copy_filter_map = weed_plant_copy(filter_map); - remove_event_from_filter_map(copy_filter_map,init_event); - insert_filter_map_event_at(event_list,deinit_event,copy_filter_map,FALSE); - event=get_next_event(copy_filter_map); - while (event!=NULL) { + remove_event_from_filter_map(copy_filter_map, init_event); + insert_filter_map_event_at(event_list, deinit_event, copy_filter_map, FALSE); + event = get_next_event(copy_filter_map); + while (event != NULL) { // remove next FILTER_MAP if it is a duplicate if (WEED_EVENT_IS_FILTER_MAP(event)) { - if (compare_filter_maps(copy_filter_map,event,LIVES_TRACK_ANY)) delete_event(event_list,event); + if (compare_filter_maps(copy_filter_map, event, LIVES_TRACK_ANY)) delete_event(event_list, event); break; } - event=get_next_event(event); + event = get_next_event(event); } } } @@ -1983,73 +1984,73 @@ // if can_stay is FALSE, event is forced to move. This is used only during event list rectification. - weed_timecode_t tc=get_event_timecode(event),new_tc=tc; - weed_plant_t *xevent=event; + weed_timecode_t tc = get_event_timecode(event), new_tc = tc; + weed_plant_t *xevent = event; int *owners; - boolean all_ok=FALSE; + boolean all_ok = FALSE; int error; - int num_owners=0,num_clips; + int num_owners = 0, num_clips; register int i; if (WEED_EVENT_IS_FILTER_INIT(event)) { - if (weed_plant_has_leaf(event,WEED_LEAF_IN_TRACKS)) num_owners=weed_leaf_num_elements(event,WEED_LEAF_IN_TRACKS); + if (weed_plant_has_leaf(event, WEED_LEAF_IN_TRACKS)) num_owners = weed_leaf_num_elements(event, WEED_LEAF_IN_TRACKS); } else if (!WEED_EVENT_IS_PARAM_CHANGE(event)) return TRUE; - if (num_owners>0) { - owners=weed_get_int_array(event,WEED_LEAF_IN_TRACKS,&error); + if (num_owners > 0) { + owners = weed_get_int_array(event, WEED_LEAF_IN_TRACKS, &error); - while (xevent!=NULL) { + while (xevent != NULL) { if (WEED_EVENT_IS_FRAME(xevent)) { - if ((new_tc=get_event_timecode(xevent))>tc||(can_stay&&new_tc==tc)) { - all_ok=TRUE; - num_clips=weed_leaf_num_elements(xevent,WEED_LEAF_CLIPS); + if ((new_tc = get_event_timecode(xevent)) > tc || (can_stay && new_tc == tc)) { + all_ok = TRUE; + num_clips = weed_leaf_num_elements(xevent, WEED_LEAF_CLIPS); // find timecode of next event which has valid frames at all owner tracks - for (i=0; i<num_owners; i++) { - if (owners[i]<0) continue; // ignore audio owners - if (num_clips<=owners[i]||get_frame_event_clip(xevent,owners[i])<0||get_frame_event_frame(xevent,owners[i])<1) { - all_ok=FALSE; + for (i = 0; i < num_owners; i++) { + if (owners[i] < 0) continue; // ignore audio owners + if (num_clips <= owners[i] || get_frame_event_clip(xevent, owners[i]) < 0 || get_frame_event_frame(xevent, owners[i]) < 1) { + all_ok = FALSE; break; // blank frame, or not enough frames } } if (all_ok) break; } } - xevent=get_next_event(xevent); + xevent = get_next_event(xevent); } lives_free(owners); } else { if (can_stay) return TRUE; // bound to timeline, and allowed to stay - xevent=get_next_frame_event(event); // bound to timeline, move to next frame event - new_tc=get_event_timecode(xevent); + xevent = get_next_frame_event(event); // bound to timeline, move to next frame event + new_tc = get_event_timecode(xevent); } - if (can_stay&&(new_tc==tc)&&all_ok) return TRUE; + if (can_stay && (new_tc == tc) && all_ok) return TRUE; // now we have xevent, new_tc if (WEED_EVENT_IS_FILTER_INIT(event)) { - weed_plant_t *deinit_event=(weed_plant_t *)weed_get_voidptr_value(event,WEED_LEAF_DEINIT_EVENT,&error); - if (xevent==NULL||get_event_timecode(deinit_event)<new_tc) { + weed_plant_t *deinit_event = (weed_plant_t *)weed_get_voidptr_value(event, WEED_LEAF_DEINIT_EVENT, &error); + if (xevent == NULL || get_event_timecode(deinit_event) < new_tc) { // if we are moving a filter_init past its deinit event, remove it, remove deinit, remove param_change events, // remove from all filter_maps, and check for duplicate filter maps - remove_filter_from_event_list(event_list,event); + remove_filter_from_event_list(event_list, event); return FALSE; } - move_filter_init_event(event_list,new_tc,event,fps); + move_filter_init_event(event_list, new_tc, event, fps); } else { // otherwise, for a param_change, just insert it at new_tc - weed_plant_t *init_event=(weed_plant_t *)weed_get_voidptr_value(event,WEED_LEAF_INIT_EVENT,&error); - weed_plant_t *deinit_event=(weed_plant_t *)weed_get_voidptr_value(init_event,WEED_LEAF_DEINIT_EVENT,&error); - if (xevent==NULL||get_event_timecode(deinit_event)<new_tc) { - delete_event(event_list,event); + weed_plant_t *init_event = (weed_plant_t *)weed_get_voidptr_value(event, WEED_LEAF_INIT_EVENT, &error); + weed_plant_t *deinit_event = (weed_plant_t *)weed_get_voidptr_value(init_event, WEED_LEAF_DEINIT_EVENT, &error); + if (xevent == NULL || get_event_timecode(deinit_event) < new_tc) { + delete_event(event_list, event); return FALSE; } - unlink_event(event_list,event); - insert_param_change_event_at(event_list,xevent,event); + unlink_event(event_list, event); + insert_param_change_event_at(event_list, xevent, event); } return FALSE; } @@ -2062,68 +2063,68 @@ // if can_stay is FALSE, event is forced to move. This is used only during event list rectification. - weed_timecode_t tc=get_event_timecode(event),new_tc=tc; - weed_plant_t *xevent=event; + weed_timecode_t tc = get_event_timecode(event), new_tc = tc; + weed_plant_t *xevent = event; weed_plant_t *init_event; int *owners; - boolean all_ok=FALSE; + boolean all_ok = FALSE; int error; - int num_owners=0,num_clips; + int num_owners = 0, num_clips; register int i; - if (WEED_EVENT_IS_FILTER_DEINIT(event)) init_event=(weed_plant_t *)weed_get_voidptr_value(event,WEED_LEAF_INIT_EVENT,&error); + if (WEED_EVENT_IS_FILTER_DEINIT(event)) init_event = (weed_plant_t *)weed_get_voidptr_value(event, WEED_LEAF_INIT_EVENT, &error); else return TRUE; - if (weed_plant_has_leaf(init_event,WEED_LEAF_IN_TRACKS)) num_owners=weed_leaf_num_elements(init_event,WEED_LEAF_IN_TRACKS); + if (weed_plant_has_leaf(init_event, WEED_LEAF_IN_TRACKS)) num_owners = weed_leaf_num_elements(init_event, WEED_LEAF_IN_TRACKS); - if (num_owners>0) { - owners=weed_get_int_array(init_event,WEED_LEAF_IN_TRACKS,&error); - while (xevent!=NULL) { + if (num_owners > 0) { + owners = weed_get_int_array(init_event, WEED_LEAF_IN_TRACKS, &error); + while (xevent != NULL) { if (WEED_EVENT_IS_FRAME(xevent)) { - if ((new_tc=get_event_timecode(xevent))<tc||(can_stay&&new_tc==tc)) { - all_ok=TRUE; + if ((new_tc = get_event_timecode(xevent)) < tc || (can_stay && new_tc == tc)) { + all_ok = TRUE; // find timecode of previous event which has valid frames at all owner tracks - for (i=0; i<num_owners; i++) { - if (owners[i]<0) continue; // ignore audio owners - num_clips=weed_leaf_num_elements(xevent,WEED_LEAF_CLIPS); - if (num_clips<=owners[i]||get_frame_event_clip(xevent,owners[i])<0||get_frame_event_frame(xevent,owners[i])<1) { - all_ok=FALSE; + for (i = 0; i < num_owners; i++) { + if (owners[i] < 0) continue; // ignore audio owners + num_clips = weed_leaf_num_elements(xevent, WEED_LEAF_CLIPS); + if (num_clips <= owners[i] || get_frame_event_clip(xevent, owners[i]) < 0 || get_frame_event_frame(xevent, owners[i]) < 1) { + all_ok = FALSE; break; // blank frame } } if (all_ok) break; } } - xevent=get_prev_event(xevent); + xevent = get_prev_event(xevent); } lives_free(owners); } else { if (can_stay) return TRUE; // bound to timeline, and allowed to stay - while (xevent!=NULL) { + while (xevent != NULL) { // bound to timeline, just move to previous tc - if ((new_tc=get_event_timecode(xevent))<tc) break; - xevent=get_prev_event(xevent); + if ((new_tc = get_event_timecode(xevent)) < tc) break; + xevent = get_prev_event(xevent); } } // now we have new_tc - if (can_stay&&(new_tc==tc)&&all_ok) return TRUE; + if (can_stay && (new_tc == tc) && all_ok) return TRUE; - if (get_event_timecode(init_event)>new_tc) { + if (get_event_timecode(init_event) > new_tc) { // if we are moving a filter_deinit past its init event, remove it, remove init, remove param_change events, // remove from all filter_maps, and check for duplicate filter maps - remove_filter_from_event_list(event_list,init_event); + remove_filter_from_event_list(event_list, init_event); return FALSE; } // otherwise, go from old pos to new pos, remove mention of it from filter maps, possibly add/update filter map as last event at new_tc, // remove duplicate filter_maps, update param_change events - move_filter_deinit_event(event_list,new_tc,event,fps,TRUE); + move_filter_deinit_event(event_list, new_tc, event, fps, TRUE); return FALSE; } @@ -2133,11 +2134,11 @@ // rendering void set_render_choice(LiVESToggleButton *togglebutton, livespointer choice) { - if (lives_toggle_button_get_active(togglebutton)) render_choice=LIVES_POINTER_TO_INT(choice); + if (lives_toggle_button_get_active(togglebutton)) render_choice = LIVES_POINTER_TO_INT(choice); } void set_render_choice_button(LiVESButton *button, livespointer choice) { - render_choice=LIVES_POINTER_TO_INT(choice); + render_choice = LIVES_POINTER_TO_INT(choice); } @@ -2160,11 +2161,11 @@ LiVESSList *radiobutton_group = NULL; LiVESAccelGroup *accel_group; - render_choice=RENDER_CHOICE_PREVIEW; + render_choice = RENDER_CHOICE_PREVIEW; - e_rec_dialog = lives_standard_dialog_new(_("Events Recorded"),FALSE,-1,-1); + e_rec_dialog = lives_standard_dialog_new(_("Events Recorded"), FALSE, -1, -1); - if (prefs->show_gui) lives_window_set_transient_for(LIVES_WINDOW(e_rec_dialog),LIVES_WINDOW(mainw->LiVES)); + if (prefs->show_gui) lives_window_set_transient_for(LIVES_WINDOW(e_rec_dialog), LIVES_WINDOW(mainw->LiVES)); dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(e_rec_dialog)); @@ -2173,26 +2174,26 @@ label = lives_standard_label_new(_("Events were recorded. What would you like to do with them ?")); - lives_box_pack_start(LIVES_BOX(vbox), label, TRUE, TRUE, widget_opts.packing_height*2); + lives_box_pack_start(LIVES_BOX(vbox), label, TRUE, TRUE, widget_opts.packing_height * 2); hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height*2); + lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height * 2); - radiobutton = lives_standard_radio_button_new(_("_Preview events"),TRUE,radiobutton_group,LIVES_BOX(hbox),NULL); + radiobutton = lives_standard_radio_button_new(_("_Preview events"), TRUE, radiobutton_group, LIVES_BOX(hbox), NULL); radiobutton_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(radiobutton)); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(radiobutton),TRUE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(radiobutton), TRUE); lives_signal_connect(LIVES_GUI_OBJECT(radiobutton), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(set_render_choice), LIVES_INT_TO_POINTER(RENDER_CHOICE_PREVIEW)); - if (!mainw->clip_switched&&(cfile->clip_type==CLIP_TYPE_DISK||cfile->clip_type==CLIP_TYPE_FILE)) { + if (!mainw->clip_switched && (cfile->clip_type == CLIP_TYPE_DISK || cfile->clip_type == CLIP_TYPE_FILE)) { hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height*2); + lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height * 2); - radiobutton = lives_standard_radio_button_new(_("Render events to _same clip"),TRUE,radiobutton_group,LIVES_BOX(hbox),NULL); + radiobutton = lives_standard_radio_button_new(_("Render events to _same clip"), TRUE, radiobutton_group, LIVES_BOX(hbox), NULL); radiobutton_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(radiobutton)); lives_signal_connect(LIVES_GUI_OBJECT(radiobutton), LIVES_WIDGET_TOGGLED_SIGNAL, @@ -2202,9 +2203,9 @@ hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height*2); + lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height * 2); - radiobutton = lives_standard_radio_button_new(_("Render events to _new clip"),TRUE,radiobutton_group,LIVES_BOX(hbox),NULL); + radiobutton = lives_standard_radio_button_new(_("Render events to _new clip"), TRUE, radiobutton_group, LIVES_BOX(hbox), NULL); radiobutton_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(radiobutton)); lives_signal_connect(LIVES_GUI_OBJECT(radiobutton), LIVES_WIDGET_TOGGLED_SIGNAL, @@ -2214,9 +2215,9 @@ hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height*2); + lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height * 2); - radiobutton = lives_standard_radio_button_new(_("View/edit events in _multitrack window (test)"),TRUE,radiobutton_group,LIVES_BOX(hbox), + radiobutton = lives_standard_radio_button_new(_("View/edit events in _multitrack window (test)"), TRUE, radiobutton_group, LIVES_BOX(hbox), NULL); radiobutton_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(radiobutton)); @@ -2224,22 +2225,22 @@ LIVES_GUI_CALLBACK(set_render_choice), LIVES_INT_TO_POINTER(RENDER_CHOICE_MULTITRACK)); - if (!allow_mt) lives_widget_set_sensitive(radiobutton,FALSE); + if (!allow_mt) lives_widget_set_sensitive(radiobutton, FALSE); hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height*2); + lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height * 2); - radiobutton = lives_standard_radio_button_new(_("View/edit events in _event window"),TRUE,radiobutton_group,LIVES_BOX(hbox),NULL); + radiobutton = lives_standard_radio_button_new(_("View/edit events in _event window"), TRUE, radiobutton_group, LIVES_BOX(hbox), NULL); radiobutton_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(radiobutton)); lives_signal_connect(LIVES_GUI_OBJECT(radiobutton), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(set_render_choice), LIVES_INT_TO_POINTER(RENDER_CHOICE_EVENT_LIST)); - cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL,NULL); - lives_widget_set_can_focus(cancelbutton,TRUE); + cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL, NULL); + lives_widget_set_can_focus(cancelbutton, TRUE); lives_dialog_add_action_widget(LIVES_DIALOG(e_rec_dialog), cancelbutton, LIVES_RESPONSE_CANCEL); @@ -2253,7 +2254,7 @@ lives_window_add_accel_group(LIVES_WINDOW(e_rec_dialog), accel_group); - okbutton = lives_button_new_from_stock(LIVES_STOCK_OK,NULL); + okbutton = lives_button_new_from_stock(LIVES_STOCK_OK, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(e_rec_dialog), okbutton, LIVES_RESPONSE_OK); lives_widget_set_can_focus_and_default(okbutton); lives_widget_grab_default(okbutton); @@ -2265,28 +2266,28 @@ static void event_list_free_events(weed_plant_t *event_list) { - weed_plant_t *event,*next_event; - event=get_first_event(event_list); + weed_plant_t *event, *next_event; + event = get_first_event(event_list); - while (event!=NULL) { - next_event=get_next_event(event); - if (mainw->multitrack!=NULL&&event_list==mainw->multitrack->event_list) mt_fixup_events(mainw->multitrack,event,NULL); + while (event != NULL) { + next_event = get_next_event(event); + if (mainw->multitrack != NULL && event_list == mainw->multitrack->event_list) mt_fixup_events(mainw->multitrack, event, NULL); weed_plant_free(event); - event=next_event; + event = next_event; } } void event_list_free(weed_plant_t *event_list) { - if (event_list==NULL) return; + if (event_list == NULL) return; event_list_free_events(event_list); weed_plant_free(event_list); } void event_list_replace_events(weed_plant_t *event_list, weed_plant_t *new_event_list) { - if (event_list==NULL) return; + if (event_list == NULL) return; event_list_free_events(event_list); - weed_set_voidptr_value(event_list,WEED_LEAF_FIRST,get_first_event(new_event_list)); - weed_set_voidptr_value(event_list,WEED_LEAF_LAST,get_last_event(new_event_list)); + weed_set_voidptr_value(event_list, WEED_LEAF_FIRST, get_first_event(new_event_list)); + weed_set_voidptr_value(event_list, WEED_LEAF_LAST, get_last_event(new_event_list)); } @@ -2297,10 +2298,10 @@ // by now we should have eliminated clip switches and param settings // first we count the frame events - int i=0,error; + int i = 0, error; weed_plant_t *event; - if (event_list==NULL) return TRUE; + if (event_list == NULL) return TRUE; // then we create event_frames @@ -2309,13 +2310,13 @@ return FALSE; } - event=get_first_event(event_list); + event = get_first_event(event_list); - while (event!=NULL) { + while (event != NULL) { if (WEED_EVENT_IS_FRAME(event)) { - (cfile->events[0]+i++)->value=weed_get_int_value(event,WEED_LEAF_FRAMES,&error); + (cfile->events[0] + i++)->value = weed_get_int_value(event, WEED_LEAF_FRAMES, &error); } - event=get_next_event(event); + event = get_next_event(event); } return TRUE; } @@ -2324,31 +2325,31 @@ void event_list_close_gaps(weed_plant_t *event_list) { // close gap at start of event list, and between record_end and record_start markers - weed_plant_t *event,*next_event; - weed_timecode_t tc,tc_start,rec_end_tc=0; - int marker_type,error; - - if (event_list==NULL) return; - event=get_first_event(event_list); - tc_start=get_event_timecode(event); + weed_plant_t *event, *next_event; + weed_timecode_t tc, tc_start, rec_end_tc = 0; + int marker_type, error; + + if (event_list == NULL) return; + event = get_first_event(event_list); + tc_start = get_event_timecode(event); - while (event!=NULL) { - next_event=get_next_event(event); + while (event != NULL) { + next_event = get_next_event(event); - tc=get_event_timecode(event)-tc_start; - weed_set_int64_value(event,WEED_LEAF_TIMECODE,tc); + tc = get_event_timecode(event) - tc_start; + weed_set_int64_value(event, WEED_LEAF_TIMECODE, tc); if (WEED_EVENT_IS_MARKER(event)) { - marker_type=weed_get_int_value(event,WEED_LEAF_LIVES_TYPE,&error); - if (marker_type==EVENT_MARKER_RECORD_END) { - rec_end_tc=tc; - delete_event(event_list,event); - } else if (marker_type==EVENT_MARKER_RECORD_START) { - tc_start+=tc-rec_end_tc; - delete_event(event_list,event); + marker_type = weed_get_int_value(event, WEED_LEAF_LIVES_TYPE, &error); + if (marker_type == EVENT_MARKER_RECORD_END) { + rec_end_tc = tc; + delete_event(event_list, event); + } else if (marker_type == EVENT_MARKER_RECORD_START) { + tc_start += tc - rec_end_tc; + delete_event(event_list, event); } } - event=next_event; + event = next_event; } } @@ -2357,62 +2358,62 @@ void add_track_to_avol_init(weed_plant_t *filter, weed_plant_t *event, int nbtracks, boolean behind) { // added a new video track - now we need to update our audio volume and pan effect weed_plant_t **in_ptmpls; - void **pchainx,*pchange; + void **pchainx, *pchange; int *new_in_tracks; - int *igns,*nigns; + int *igns, *nigns; - int num_in_tracks,x=-nbtracks; - int error,nparams,numigns; + int num_in_tracks, x = -nbtracks; + int error, nparams, numigns; int bval; - register int i,j; + register int i, j; // add a new value to in_tracks - num_in_tracks=weed_leaf_num_elements(event,WEED_LEAF_IN_TRACKS)+1; - new_in_tracks=(int *)lives_malloc(num_in_tracks*sizint); - for (i=0; i<num_in_tracks; i++) { - new_in_tracks[i]=x++; + num_in_tracks = weed_leaf_num_elements(event, WEED_LEAF_IN_TRACKS) + 1; + new_in_tracks = (int *)lives_malloc(num_in_tracks * sizint); + for (i = 0; i < num_in_tracks; i++) { + new_in_tracks[i] = x++; } - weed_set_int_array(event,WEED_LEAF_IN_TRACKS,num_in_tracks,new_in_tracks); + weed_set_int_array(event, WEED_LEAF_IN_TRACKS, num_in_tracks, new_in_tracks); lives_free(new_in_tracks); - weed_set_int_value(event,WEED_LEAF_IN_COUNT,weed_get_int_value(event,WEED_LEAF_IN_COUNT,&error)+1); + weed_set_int_value(event, WEED_LEAF_IN_COUNT, weed_get_int_value(event, WEED_LEAF_IN_COUNT, &error) + 1); // update all param_changes - nparams=weed_leaf_num_elements(event,WEED_LEAF_IN_PARAMETERS); - pchainx=weed_get_voidptr_array(event,WEED_LEAF_IN_PARAMETERS,&error); + nparams = weed_leaf_num_elements(event, WEED_LEAF_IN_PARAMETERS); + pchainx = weed_get_voidptr_array(event, WEED_LEAF_IN_PARAMETERS, &error); - in_ptmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); + in_ptmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); - for (i=0; i<nparams; i++) { - pchange=(weed_plant_t *)pchainx[i]; - bval=WEED_FALSE; - while (pchange!=NULL) { - fill_param_vals_to((weed_plant_t *)pchange,in_ptmpls[i],behind?num_in_tracks-1:1); - if (weed_plant_has_leaf((weed_plant_t *)pchange,WEED_LEAF_IGNORE)) { - numigns=weed_leaf_num_elements((weed_plant_t *)pchange,WEED_LEAF_IGNORE)+1; - igns=weed_get_boolean_array((weed_plant_t *)pchange,WEED_LEAF_IGNORE,&error); - nigns=(int *)lives_malloc(numigns*sizint); + for (i = 0; i < nparams; i++) { + pchange = (weed_plant_t *)pchainx[i]; + bval = WEED_FALSE; + while (pchange != NULL) { + fill_param_vals_to((weed_plant_t *)pchange, in_ptmpls[i], behind ? num_in_tracks - 1 : 1); + if (weed_plant_has_leaf((weed_plant_t *)pchange, WEED_LEAF_IGNORE)) { + numigns = weed_leaf_num_elements((weed_plant_t *)pchange, WEED_LEAF_IGNORE) + 1; + igns = weed_get_boolean_array((weed_plant_t *)pchange, WEED_LEAF_IGNORE, &error); + nigns = (int *)lives_malloc(numigns * sizint); - for (j=0; j<numigns; j++) { + for (j = 0; j < numigns; j++) { if (behind) { - if (j<numigns-1) nigns[j]=igns[j]; - else nigns[j]=bval; + if (j < numigns - 1) nigns[j] = igns[j]; + else nigns[j] = bval; } else { - if (j==0) nigns[j]=igns[j]; - else if (j==1) nigns[j]=bval; - else nigns[j]=igns[j-1]; + if (j == 0) nigns[j] = igns[j]; + else if (j == 1) nigns[j] = bval; + else nigns[j] = igns[j - 1]; } } - weed_set_boolean_array((weed_plant_t *)pchange,WEED_LEAF_IGNORE,numigns,nigns); + weed_set_boolean_array((weed_plant_t *)pchange, WEED_LEAF_IGNORE, numigns, nigns); lives_free(igns); lives_free(nigns); } - pchange=weed_get_voidptr_value((weed_plant_t *)pchange,WEED_LEAF_NEXT_CHANGE,&error); - bval=WEED_TRUE; + pchange = weed_get_voidptr_value((weed_plant_t *)pchange, WEED_LEAF_NEXT_CHANGE, &error); + bval = WEED_TRUE; } } @@ -2426,46 +2427,46 @@ // TODO - memcheck weed_plant_t *event; - int *clips,*frames,*newclips,*newframes,i,error; - int *in_tracks,*out_tracks; + int *clips, *frames, *newclips, *newframes, i, error; + int *in_tracks, *out_tracks; - int num_in_tracks,num_out_tracks; + int num_in_tracks, num_out_tracks; int numframes; - if (event_list==NULL) return; + if (event_list == NULL) return; - event=get_first_event(event_list); - while (event!=NULL) { + event = get_first_event(event_list); + while (event != NULL) { switch (get_event_hint(event)) { case WEED_EVENT_HINT_FRAME: - numframes=weed_leaf_num_elements(event,WEED_LEAF_CLIPS); - clips=weed_get_int_array(event,WEED_LEAF_CLIPS,&error); - frames=weed_get_int_array(event,WEED_LEAF_FRAMES,&error); - if (numframes==1&&clips[0]==-1&&frames[0]==0) { + numframes = weed_leaf_num_elements(event, WEED_LEAF_CLIPS); + clips = weed_get_int_array(event, WEED_LEAF_CLIPS, &error); + frames = weed_get_int_array(event, WEED_LEAF_FRAMES, &error); + if (numframes == 1 && clips[0] == -1 && frames[0] == 0) { // for blank frames, we don't do anything lives_free(clips); lives_free(frames); break; } - newclips=(int *)lives_malloc((numframes+1)*sizint); - newframes=(int *)lives_malloc((numframes+1)*sizint); + newclips = (int *)lives_malloc((numframes + 1) * sizint); + newframes = (int *)lives_malloc((numframes + 1) * sizint); - newclips[layer]=-1; - newframes[layer]=0; - for (i=0; i<numframes; i++) { - if (i<layer) { - newclips[i]=clips[i]; - newframes[i]=frames[i]; + newclips[layer] = -1; + newframes[layer] = 0; + for (i = 0; i < numframes; i++) { + if (i < layer) { + newclips[i] = clips[i]; + newframes[i] = frames[i]; } else { - newclips[i+1]=clips[i]; - newframes[i+1]=frames[i]; + newclips[i + 1] = clips[i]; + newframes[i + 1] = frames[i]; } } numframes++; - weed_set_int_array(event,WEED_LEAF_CLIPS,numframes,newclips); - weed_set_int_array(event,WEED_LEAF_FRAMES,numframes,newframes); + weed_set_int_array(event, WEED_LEAF_CLIPS, numframes, newclips); + weed_set_int_array(event, WEED_LEAF_FRAMES, numframes, newframes); lives_free(newclips); lives_free(newframes); @@ -2473,25 +2474,25 @@ lives_free(frames); break; case WEED_EVENT_HINT_FILTER_INIT: - if (weed_plant_has_leaf(event,WEED_LEAF_IN_TRACKS)&&(num_in_tracks=weed_leaf_num_elements(event,WEED_LEAF_IN_TRACKS))>0) { - in_tracks=weed_get_int_array(event,WEED_LEAF_IN_TRACKS,&error); - for (i=0; i<num_in_tracks; i++) { - if (in_tracks[i]>=layer) in_tracks[i]++; + if (weed_plant_has_leaf(event, WEED_LEAF_IN_TRACKS) && (num_in_tracks = weed_leaf_num_elements(event, WEED_LEAF_IN_TRACKS)) > 0) { + in_tracks = weed_get_int_array(event, WEED_LEAF_IN_TRACKS, &error); + for (i = 0; i < num_in_tracks; i++) { + if (in_tracks[i] >= layer) in_tracks[i]++; } - weed_set_int_array(event,WEED_LEAF_IN_TRACKS,num_in_tracks,in_tracks); + weed_set_int_array(event, WEED_LEAF_IN_TRACKS, num_in_tracks, in_tracks); lives_free(in_tracks); } - if (weed_plant_has_leaf(event,WEED_LEAF_OUT_TRACKS)&&(num_out_tracks=weed_leaf_num_elements(event,WEED_LEAF_OUT_TRACKS))>0) { - out_tracks=weed_get_int_array(event,WEED_LEAF_OUT_TRACKS,&error); - for (i=0; i<num_out_tracks; i++) { - if (out_tracks[i]>=layer) out_tracks[i]++; + if (weed_plant_has_leaf(event, WEED_LEAF_OUT_TRACKS) && (num_out_tracks = weed_leaf_num_elements(event, WEED_LEAF_OUT_TRACKS)) > 0) { + out_tracks = weed_get_int_array(event, WEED_LEAF_OUT_TRACKS, &error); + for (i = 0; i < num_out_tracks; i++) { + if (out_tracks[i] >= layer) out_tracks[i]++; } - weed_set_int_array(event,WEED_LEAF_OUT_TRACKS,num_out_tracks,out_tracks); + weed_set_int_array(event, WEED_LEAF_OUT_TRACKS, num_out_tracks, out_tracks); lives_free(out_tracks); } break; } - event=get_next_event(event); + event = get_next_event(event); } } @@ -2500,26 +2501,26 @@ int error; weed_plant_t *event; - event=weed_plant_new(WEED_PLANT_EVENT); - if (event==NULL) return NULL; - error=weed_set_voidptr_value(event,WEED_LEAF_NEXT,NULL); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; - error=weed_set_voidptr_value(event,WEED_LEAF_PREVIOUS,NULL); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; + event = weed_plant_new(WEED_PLANT_EVENT); + if (event == NULL) return NULL; + error = weed_set_voidptr_value(event, WEED_LEAF_NEXT, NULL); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; + error = weed_set_voidptr_value(event, WEED_LEAF_PREVIOUS, NULL); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; //////////////////////////////////////// - error=weed_set_int64_value(event,WEED_LEAF_TIMECODE,tc); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; - error=weed_set_int_value(event,WEED_LEAF_HINT,WEED_EVENT_HINT_FRAME); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; - - error=weed_set_int_array(event,WEED_LEAF_CLIPS,numframes,clips); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; - error=weed_set_int_array(event,WEED_LEAF_FRAMES,numframes,frames); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; + error = weed_set_int64_value(event, WEED_LEAF_TIMECODE, tc); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; + error = weed_set_int_value(event, WEED_LEAF_HINT, WEED_EVENT_HINT_FRAME); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; + + error = weed_set_int_array(event, WEED_LEAF_CLIPS, numframes, clips); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; + error = weed_set_int_array(event, WEED_LEAF_FRAMES, numframes, frames); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; return event; } @@ -2528,43 +2529,43 @@ weed_plant_t *append_frame_event(weed_plant_t *event_list, weed_timecode_t tc, int numframes, int *clips, int *frames) { // append a frame event to an event_list - weed_plant_t *event,*prev; + weed_plant_t *event, *prev; int error; // returns NULL on memory error ///////////// TODO - to func ////////////// - if (event_list==NULL) { - event_list=weed_plant_new(WEED_PLANT_EVENT_LIST); - if (event_list==NULL) return NULL; - error=weed_set_int_value(event_list,WEED_LEAF_WEED_EVENT_API_VERSION,WEED_EVENT_API_VERSION); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; - error=weed_set_voidptr_value(event_list,WEED_LEAF_FIRST,NULL); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; - error=weed_set_voidptr_value(event_list,WEED_LEAF_LAST,NULL); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; - weed_add_plant_flags(event_list,WEED_LEAF_READONLY_PLUGIN); - } - - event=create_frame_event(tc,numframes,clips,frames); - if (event==NULL) return NULL; - - if (get_first_event(event_list)==NULL) { - error=weed_set_voidptr_value(event_list,WEED_LEAF_FIRST,event); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; - error=weed_set_voidptr_value(event,WEED_LEAF_PREVIOUS,NULL); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; + if (event_list == NULL) { + event_list = weed_plant_new(WEED_PLANT_EVENT_LIST); + if (event_list == NULL) return NULL; + error = weed_set_int_value(event_list, WEED_LEAF_WEED_EVENT_API_VERSION, WEED_EVENT_API_VERSION); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; + error = weed_set_voidptr_value(event_list, WEED_LEAF_FIRST, NULL); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; + error = weed_set_voidptr_value(event_list, WEED_LEAF_LAST, NULL); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; + weed_add_plant_flags(event_list, WEED_LEAF_READONLY_PLUGIN); + } + + event = create_frame_event(tc, numframes, clips, frames); + if (event == NULL) return NULL; + + if (get_first_event(event_list) == NULL) { + error = weed_set_voidptr_value(event_list, WEED_LEAF_FIRST, event); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; + error = weed_set_voidptr_value(event, WEED_LEAF_PREVIOUS, NULL); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; } else { - error=weed_set_voidptr_value(event,WEED_LEAF_PREVIOUS,get_last_event(event_list)); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; + error = weed_set_voidptr_value(event, WEED_LEAF_PREVIOUS, get_last_event(event_list)); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; } - weed_add_plant_flags(event,WEED_LEAF_READONLY_PLUGIN); - prev=get_prev_event(event); - if (prev!=NULL) { - error=weed_set_voidptr_value(prev,WEED_LEAF_NEXT,event); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; + weed_add_plant_flags(event, WEED_LEAF_READONLY_PLUGIN); + prev = get_prev_event(event); + if (prev != NULL) { + error = weed_set_voidptr_value(prev, WEED_LEAF_NEXT, event); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; } - error=weed_set_voidptr_value(event_list,WEED_LEAF_LAST,event); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; + error = weed_set_voidptr_value(event_list, WEED_LEAF_LAST, event); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; ////////////////////////////////////// return event_list; @@ -2572,16 +2573,16 @@ void **filter_init_add_pchanges(weed_plant_t *event_list, weed_plant_t *plant, weed_plant_t *init_event, int ntracks, int leave) { - weed_plant_t **in_params=NULL,**in_ptmpls; + weed_plant_t **in_params = NULL, **in_ptmpls; - void **pchain=NULL; - void **in_pchanges=NULL; + void **pchain = NULL; + void **in_pchanges = NULL; - weed_plant_t *filter=plant,*in_param; + weed_plant_t *filter = plant, *in_param; - weed_timecode_t tc=get_event_timecode(init_event); + weed_timecode_t tc = get_event_timecode(init_event); - boolean is_inst=FALSE; + boolean is_inst = FALSE; int num_params; int error; @@ -2589,63 +2590,63 @@ register int i; if (WEED_PLANT_IS_FILTER_INSTANCE(plant)) { - filter=weed_instance_get_filter(plant,TRUE); - is_inst=TRUE; + filter = weed_instance_get_filter(plant, TRUE); + is_inst = TRUE; } // add param_change events and set "in_params" - if (!weed_plant_has_leaf(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES)|| - weed_get_plantptr_value(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error)==NULL) return NULL; + if (!weed_plant_has_leaf(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES) || + weed_get_plantptr_value(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error) == NULL) return NULL; - num_params=weed_leaf_num_elements(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES); - in_ptmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); + num_params = weed_leaf_num_elements(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES); + in_ptmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); - pchain=(void **)lives_malloc(num_params*sizeof(void *)); + pchain = (void **)lives_malloc(num_params * sizeof(void *)); - if (!is_inst) in_params=weed_params_create(filter,TRUE); + if (!is_inst) in_params = weed_params_create(filter, TRUE); - if (leave>0) in_pchanges=weed_get_voidptr_array(init_event,WEED_LEAF_IN_PARAMETERS,&error); + if (leave > 0) in_pchanges = weed_get_voidptr_array(init_event, WEED_LEAF_IN_PARAMETERS, &error); - for (i=num_params-1; i>=0; i--) { + for (i = num_params - 1; i >= 0; i--) { - if (i<leave&&in_pchanges[i]!=NULL) { + if (i < leave && in_pchanges[i] != NULL) { // maintain existing values - pchain[i]=in_pchanges[i]; + pchain[i] = in_pchanges[i]; continue; } - pchain[i]=weed_plant_new(WEED_PLANT_EVENT); - weed_set_int_value((weed_plant_t *)pchain[i],WEED_LEAF_HINT,WEED_EVENT_HINT_PARAM_CHANGE); - weed_set_int64_value((weed_plant_t *)pchain[i],WEED_LEAF_TIMECODE,tc); + pchain[i] = weed_plant_new(WEED_PLANT_EVENT); + weed_set_int_value((weed_plant_t *)pchain[i], WEED_LEAF_HINT, WEED_EVENT_HINT_PARAM_CHANGE); + weed_set_int64_value((weed_plant_t *)pchain[i], WEED_LEAF_TIMECODE, tc); - if (!is_inst) in_param=in_params[i]; - else in_param=weed_inst_in_param(plant,i,FALSE,FALSE); + if (!is_inst) in_param = in_params[i]; + else in_param = weed_inst_in_param(plant, i, FALSE, FALSE); if (is_perchannel_multiw(in_param)) { // if the parameter is element-per-channel, fill up to number of channels - fill_param_vals_to(in_param,in_ptmpls[i],ntracks-1); + fill_param_vals_to(in_param, in_ptmpls[i], ntracks - 1); } - weed_leaf_copy((weed_plant_t *)pchain[i],WEED_LEAF_VALUE,in_param,WEED_LEAF_VALUE); + weed_leaf_copy((weed_plant_t *)pchain[i], WEED_LEAF_VALUE, in_param, WEED_LEAF_VALUE); - weed_set_int_value((weed_plant_t *)pchain[i],WEED_LEAF_INDEX,i); - weed_set_voidptr_value((weed_plant_t *)pchain[i],WEED_LEAF_INIT_EVENT,init_event); - weed_set_voidptr_value((weed_plant_t *)pchain[i],WEED_LEAF_NEXT_CHANGE,NULL); - weed_set_voidptr_value((weed_plant_t *)pchain[i],WEED_LEAF_PREV_CHANGE,NULL); - weed_add_plant_flags((weed_plant_t *)pchain[i],WEED_LEAF_READONLY_PLUGIN); + weed_set_int_value((weed_plant_t *)pchain[i], WEED_LEAF_INDEX, i); + weed_set_voidptr_value((weed_plant_t *)pchain[i], WEED_LEAF_INIT_EVENT, init_event); + weed_set_voidptr_value((weed_plant_t *)pchain[i], WEED_LEAF_NEXT_CHANGE, NULL); + weed_set_voidptr_value((weed_plant_t *)pchain[i], WEED_LEAF_PREV_CHANGE, NULL); + weed_add_plant_flags((weed_plant_t *)pchain[i], WEED_LEAF_READONLY_PLUGIN); - insert_param_change_event_at(event_list,init_event,(weed_plant_t *)pchain[i]); + insert_param_change_event_at(event_list, init_event, (weed_plant_t *)pchain[i]); } if (!is_inst) { - weed_in_params_free(in_params,num_params); + weed_in_params_free(in_params, num_params); } else { lives_free(in_params); } lives_free(in_ptmpls); - weed_set_voidptr_array(init_event,WEED_LEAF_IN_PARAMETERS,num_params,pchain); + weed_set_voidptr_array(init_event, WEED_LEAF_IN_PARAMETERS, num_params, pchain); return pchain; } @@ -2654,68 +2655,69 @@ weed_plant_t *append_filter_init_event(weed_plant_t *event_list, weed_timecode_t tc, int filter_idx, int num_in_tracks, int key, weed_plant_t *inst) { weed_plant_t **ctmpl; - weed_plant_t *event,*prev,*filter,*chan; + weed_plant_t *event, *prev, *filter, *chan; char *tmp; - int e_in_channels,e_out_channels,e_ins,e_outs; - int total_in_channels=0; - int total_out_channels=0; + int e_in_channels, e_out_channels, e_ins, e_outs; + int total_in_channels = 0; + int total_out_channels = 0; int error; - int my_in_tracks=0; + int my_in_tracks = 0; register int i; - if (event_list==NULL) { - event_list=weed_plant_new(WEED_PLANT_EVENT_LIST); - if (event_list==NULL) return NULL; - error=weed_set_int_value(event_list,WEED_LEAF_WEED_EVENT_API_VERSION,WEED_EVENT_API_VERSION); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; - error=weed_set_voidptr_value(event_list,WEED_LEAF_FIRST,NULL); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; - error=weed_set_voidptr_value(event_list,WEED_LEAF_LAST,NULL); - if (error==WEED_ERROR_MEMORY_ALLOCATION) return NULL; - weed_add_plant_flags(event_list,WEED_LEAF_READONLY_PLUGIN); - } - - event=weed_plant_new(WEED_PLANT_EVENT); - weed_set_voidptr_value(event,WEED_LEAF_NEXT,NULL); - - weed_set_int64_value(event,WEED_LEAF_TIMECODE,tc); - weed_set_int_value(event,WEED_LEAF_HINT,WEED_EVENT_HINT_FILTER_INIT); - weed_set_string_value(event,WEED_LEAF_FILTER,(tmp=make_weed_hashname(filter_idx,TRUE,FALSE))); + if (event_list == NULL) { + event_list = weed_plant_new(WEED_PLANT_EVENT_LIST); + if (event_list == NULL) return NULL; + error = weed_set_int_value(event_list, WEED_LEAF_WEED_EVENT_API_VERSION, WEED_EVENT_API_VERSION); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; + error = weed_set_voidptr_value(event_list, WEED_LEAF_FIRST, NULL); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; + error = weed_set_voidptr_value(event_list, WEED_LEAF_LAST, NULL); + if (error == WEED_ERROR_MEMORY_ALLOCATION) return NULL; + weed_add_plant_flags(event_list, WEED_LEAF_READONLY_PLUGIN); + } + + event = weed_plant_new(WEED_PLANT_EVENT); + weed_set_voidptr_value(event, WEED_LEAF_NEXT, NULL); + + weed_set_int64_value(event, WEED_LEAF_TIMECODE, tc); + weed_set_int_value(event, WEED_LEAF_HINT, WEED_EVENT_HINT_FILTER_INIT); + weed_set_string_value(event, WEED_LEAF_FILTER, (tmp = make_weed_hashname(filter_idx, TRUE, FALSE))); lives_free(tmp); - filter=get_weed_filter(filter_idx); + filter = get_weed_filter(filter_idx); - if (weed_plant_has_leaf(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES)) - total_in_channels=weed_leaf_num_elements(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES); + if (weed_plant_has_leaf(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES)) + total_in_channels = weed_leaf_num_elements(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES); - if (total_in_channels>0) { + if (total_in_channels > 0) { int count[total_in_channels]; - ctmpl=weed_get_plantptr_array(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES,&error); - for (i=0; i<total_in_channels; i++) { + ctmpl = weed_get_plantptr_array(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES, &error); + for (i = 0; i < total_in_channels; i++) { - if (!weed_plant_has_leaf(ctmpl[i],WEED_LEAF_HOST_DISABLED)||weed_get_boolean_value(ctmpl[i],WEED_LEAF_HOST_DISABLED,&error)!=WEED_TRUE) { - count[i]=1; + if (!weed_plant_has_leaf(ctmpl[i], WEED_LEAF_HOST_DISABLED) || + weed_get_boolean_value(ctmpl[i], WEED_LEAF_HOST_DISABLED, &error) != WEED_TRUE) { + count[i] = 1; my_in_tracks++; - weed_set_int_value(ctmpl[i],WEED_LEAF_HOST_REPEATS,1); - } else count[i]=0; + weed_set_int_value(ctmpl[i], WEED_LEAF_HOST_REPEATS, 1); + } else count[i] = 0; } // TODO *** - if (my_in_tracks<num_in_tracks) { + if (my_in_tracks < num_in_tracks) { int repeats; // we need to use some repeated channels - for (i=0; i<total_in_channels; i++) { - if (weed_plant_has_leaf(ctmpl[i],WEED_LEAF_MAX_REPEATS)&&(count[i]>0||has_usable_palette(ctmpl[i]))) { - repeats=weed_get_int_value(ctmpl[i],WEED_LEAF_MAX_REPEATS,&error); - if (repeats==0) { - count[i]+=num_in_tracks-my_in_tracks; + for (i = 0; i < total_in_channels; i++) { + if (weed_plant_has_leaf(ctmpl[i], WEED_LEAF_MAX_REPEATS) && (count[i] > 0 || has_usable_palette(ctmpl[i]))) { + repeats = weed_get_int_value(ctmpl[i], WEED_LEAF_MAX_REPEATS, &error); + if (repeats == 0) { + count[i] += num_in_tracks - my_in_tracks; /* weed_set_int_value(ctmpl[i],WEED_LEAF_HOST_REPEATS,count[i]); @@ -2724,141 +2726,141 @@ break; } - count[i]+=num_in_tracks-my_in_tracks>=repeats-1?repeats-1:num_in_tracks-my_in_tracks; + count[i] += num_in_tracks - my_in_tracks >= repeats - 1 ? repeats - 1 : num_in_tracks - my_in_tracks; /* weed_set_int_value(ctmpl[i],WEED_LEAF_HOST_REPEATS,count[i]); weed_set_boolean_value(ctmpl[i],WEED_LEAF_HOST_DISABLED,WEED_FALSE); */ - my_in_tracks+=count[i]-1; - if (my_in_tracks==num_in_tracks) break; + my_in_tracks += count[i] - 1; + if (my_in_tracks == num_in_tracks) break; } } } - weed_set_int_array(event,WEED_LEAF_IN_COUNT,total_in_channels,count); + weed_set_int_array(event, WEED_LEAF_IN_COUNT, total_in_channels, count); lives_free(ctmpl); } - if (weed_plant_has_leaf(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES)) - total_out_channels=weed_leaf_num_elements(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES); + if (weed_plant_has_leaf(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES)) + total_out_channels = weed_leaf_num_elements(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES); - if (total_out_channels>0) { + if (total_out_channels > 0) { int count[total_out_channels]; - ctmpl=weed_get_plantptr_array(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES,&error); - for (i=0; i<total_out_channels; i++) { - if (!weed_plant_has_leaf(ctmpl[i],WEED_LEAF_HOST_DISABLED)|| - weed_get_boolean_value(ctmpl[i],WEED_LEAF_HOST_DISABLED,&error)!=WEED_TRUE) count[i]=1; - else count[i]=0; + ctmpl = weed_get_plantptr_array(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES, &error); + for (i = 0; i < total_out_channels; i++) { + if (!weed_plant_has_leaf(ctmpl[i], WEED_LEAF_HOST_DISABLED) || + weed_get_boolean_value(ctmpl[i], WEED_LEAF_HOST_DISABLED, &error) != WEED_TRUE) count[i] = 1; + else count[i] = 0; } lives_free(ctmpl); - weed_set_int_array(event,WEED_LEAF_OUT_COUNT,total_out_channels,count); + weed_set_int_array(event, WEED_LEAF_OUT_COUNT, total_out_channels, count); } - e_ins=e_in_channels=enabled_in_channels(get_weed_filter(filter_idx),FALSE); - e_outs=e_out_channels=enabled_out_channels(get_weed_filter(filter_idx),FALSE); + e_ins = e_in_channels = enabled_in_channels(get_weed_filter(filter_idx), FALSE); + e_outs = e_out_channels = enabled_out_channels(get_weed_filter(filter_idx), FALSE); // discount alpha_channels (in and out) - if (inst!=NULL) { - for (i=0; i<e_ins; i++) { - chan=get_enabled_channel(inst,i,TRUE); + if (inst != NULL) { + for (i = 0; i < e_ins; i++) { + chan = get_enabled_channel(inst, i, TRUE); if (weed_palette_is_alpha_palette(weed_layer_get_palette(chan))) e_in_channels--; } // handling for compound fx - while (weed_plant_has_leaf(inst,WEED_LEAF_HOST_NEXT_INSTANCE)) inst=weed_get_plantptr_value(inst,WEED_LEAF_HOST_NEXT_INSTANCE,&error); + while (weed_plant_has_leaf(inst, WEED_LEAF_HOST_NEXT_INSTANCE)) inst = weed_get_plantptr_value(inst, WEED_LEAF_HOST_NEXT_INSTANCE, &error); - for (i=0; i<e_outs; i++) { - chan=get_enabled_channel(inst,i,FALSE); + for (i = 0; i < e_outs; i++) { + chan = get_enabled_channel(inst, i, FALSE); if (weed_palette_is_alpha_palette(weed_layer_get_palette(chan))) e_out_channels--; } } // here we map our tracks to channels - if (e_in_channels!=0) { - if (e_in_channels==1) { - weed_set_int_value(event,WEED_LEAF_IN_TRACKS,0); + if (e_in_channels != 0) { + if (e_in_channels == 1) { + weed_set_int_value(event, WEED_LEAF_IN_TRACKS, 0); } else { - int *tracks=(int *)lives_malloc(2*sizint); - tracks[0]=0; - tracks[1]=1; - weed_set_int_array(event,WEED_LEAF_IN_TRACKS,2,tracks); + int *tracks = (int *)lives_malloc(2 * sizint); + tracks[0] = 0; + tracks[1] = 1; + weed_set_int_array(event, WEED_LEAF_IN_TRACKS, 2, tracks); lives_free(tracks); } } - if (e_out_channels>0) { - weed_set_int_value(event,WEED_LEAF_OUT_TRACKS,0); + if (e_out_channels > 0) { + weed_set_int_value(event, WEED_LEAF_OUT_TRACKS, 0); } - if (key>-1) { - weed_set_int_value(event,WEED_LEAF_HOST_KEY,key); - weed_set_int_value(event,WEED_LEAF_HOST_MODE,rte_key_getmode(key)); + if (key > -1) { + weed_set_int_value(event, WEED_LEAF_HOST_KEY, key); + weed_set_int_value(event, WEED_LEAF_HOST_MODE, rte_key_getmode(key)); } /////////////////////////////////////////////////////////////////////////////////// #ifdef DEBUG_EVENTS - g_print("adding init event at tc %"PRId64"\n",tc); + g_print("adding init event at tc %"PRId64"\n", tc); #endif - if (get_first_event(event_list)==NULL) { - weed_set_voidptr_value(event_list,WEED_LEAF_FIRST,event); - weed_set_voidptr_value(event,WEED_LEAF_PREVIOUS,NULL); + if (get_first_event(event_list) == NULL) { + weed_set_voidptr_value(event_list, WEED_LEAF_FIRST, event); + weed_set_voidptr_value(event, WEED_LEAF_PREVIOUS, NULL); } else { - weed_set_voidptr_value(event,WEED_LEAF_PREVIOUS,get_last_event(event_list)); + weed_set_voidptr_value(event, WEED_LEAF_PREVIOUS, get_last_event(event_list)); } - weed_add_plant_flags(event,WEED_LEAF_READONLY_PLUGIN); - prev=get_prev_event(event); - if (prev!=NULL) weed_set_voidptr_value(prev,WEED_LEAF_NEXT,event); - weed_set_voidptr_value(event_list,WEED_LEAF_LAST,event); + weed_add_plant_flags(event, WEED_LEAF_READONLY_PLUGIN); + prev = get_prev_event(event); + if (prev != NULL) weed_set_voidptr_value(prev, WEED_LEAF_NEXT, event); + weed_set_voidptr_value(event_list, WEED_LEAF_LAST, event); return event_list; } weed_plant_t *append_filter_deinit_event(weed_plant_t *event_list, weed_timecode_t tc, void *init_event, void **pchain) { - weed_plant_t *event,*prev; + weed_plant_t *event, *prev; - if (event_list==NULL) { - event_list=weed_plant_new(WEED_PLANT_EVENT_LIST); - weed_set_int_value(event_list,WEED_LEAF_WEED_EVENT_API_VERSION,WEED_EVENT_API_VERSION); - weed_set_voidptr_value(event_list,WEED_LEAF_FIRST,NULL); - weed_set_voidptr_value(event_list,WEED_LEAF_LAST,NULL); - weed_add_plant_flags(event_list,WEED_LEAF_READONLY_PLUGIN); + if (event_list == NULL) { + event_list = weed_plant_new(WEED_PLANT_EVENT_LIST); + weed_set_int_value(event_list, WEED_LEAF_WEED_EVENT_API_VERSION, WEED_EVENT_API_VERSION); + weed_set_voidptr_value(event_list, WEED_LEAF_FIRST, NULL); + weed_set_voidptr_value(event_list, WEED_LEAF_LAST, NULL); + weed_add_plant_flags(event_list, WEED_LEAF_READONLY_PLUGIN); } - event=weed_plant_new(WEED_PLANT_EVENT); - weed_set_voidptr_value(event,WEED_LEAF_NEXT,NULL); + event = weed_plant_new(WEED_PLANT_EVENT); + weed_set_voidptr_value(event, WEED_LEAF_NEXT, NULL); // TODO - error check - weed_set_int64_value(event,WEED_LEAF_TIMECODE,tc); - weed_set_int_value(event,WEED_LEAF_HINT,WEED_EVENT_HINT_FILTER_DEINIT); - weed_set_voidptr_value(event,WEED_LEAF_INIT_EVENT,init_event); - weed_set_voidptr_value((weed_plant_t *)init_event,WEED_LEAF_DEINIT_EVENT,event); + weed_set_int64_value(event, WEED_LEAF_TIMECODE, tc); + weed_set_int_value(event, WEED_LEAF_HINT, WEED_EVENT_HINT_FILTER_DEINIT); + weed_set_voidptr_value(event, WEED_LEAF_INIT_EVENT, init_event); + weed_set_voidptr_value((weed_plant_t *)init_event, WEED_LEAF_DEINIT_EVENT, event); - if (pchain!=NULL) { + if (pchain != NULL) { int error; - char *filter_hash=weed_get_string_value((weed_plant_t *)init_event,WEED_LEAF_FILTER,&error); - int idx=weed_get_idx_for_hashname(filter_hash,TRUE); - weed_plant_t *filter=get_weed_filter(idx); - int num_params=num_in_params(filter,FALSE,FALSE); - weed_set_voidptr_array(event,WEED_LEAF_IN_PARAMETERS,num_params,pchain); + char *filter_hash = weed_get_string_value((weed_plant_t *)init_event, WEED_LEAF_FILTER, &error); + int idx = weed_get_idx_for_hashname(filter_hash, TRUE); + weed_plant_t *filter = get_weed_filter(idx); + int num_params = num_in_params(filter, FALSE, FALSE); + weed_set_voidptr_array(event, WEED_LEAF_IN_PARAMETERS, num_params, pchain); lives_free(filter_hash); } - if (get_first_event(event_list)==NULL) { - weed_set_voidptr_value(event_list,WEED_LEAF_FIRST,event); - weed_set_voidptr_value(event,WEED_LEAF_PREVIOUS,NULL); + if (get_first_event(event_list) == NULL) { + weed_set_voidptr_value(event_list, WEED_LEAF_FIRST, event); + weed_set_voidptr_value(event, WEED_LEAF_PREVIOUS, NULL); } else { - weed_set_voidptr_value(event,WEED_LEAF_PREVIOUS,get_last_event(event_list)); + weed_set_voidptr_value(event, WEED_LEAF_PREVIOUS, get_last_event(event_list)); } - weed_add_plant_flags(event,WEED_LEAF_READONLY_PLUGIN); - prev=get_prev_event(event); - if (prev!=NULL) weed_set_voidptr_value(prev,WEED_LEAF_NEXT,event); - weed_set_voidptr_value(event_list,WEED_LEAF_LAST,event); + weed_add_plant_flags(event, WEED_LEAF_READONLY_PLUGIN); + prev = get_prev_event(event); + if (prev != NULL) weed_set_voidptr_value(prev, WEED_LEAF_NEXT, event); + weed_set_voidptr_value(event_list, WEED_LEAF_LAST, event); return event_list; } @@ -2867,46 +2869,46 @@ weed_plant_t *append_param_change_event(weed_plant_t *event_list, weed_timecode_t tc, int pnum, weed_plant_t *param, void *init_event, void **pchain) { - weed_plant_t *event,*prev,*xevent; + weed_plant_t *event, *prev, *xevent; weed_plant_t *last_pchange_event; int error; - if (event_list==NULL) { - event_list=weed_plant_new(WEED_PLANT_EVENT_LIST); - weed_set_int_value(event_list,WEED_LEAF_WEED_EVENT_API_VERSION,WEED_EVENT_API_VERSION); - weed_set_voidptr_value(event_list,WEED_LEAF_FIRST,NULL); - weed_set_voidptr_value(event_list,WEED_LEAF_LAST,NULL); - weed_add_plant_flags(event_list,WEED_LEAF_READONLY_PLUGIN); + if (event_list == NULL) { + event_list = weed_plant_new(WEED_PLANT_EVENT_LIST); + weed_set_int_value(event_list, WEED_LEAF_WEED_EVENT_API_VERSION, WEED_EVENT_API_VERSION); + weed_set_voidptr_value(event_list, WEED_LEAF_FIRST, NULL); + weed_set_voidptr_value(event_list, WEED_LEAF_LAST, NULL); + weed_add_plant_flags(event_list, WEED_LEAF_READONLY_PLUGIN); } - event=weed_plant_new(WEED_PLANT_EVENT); - weed_set_voidptr_value(event,WEED_LEAF_NEXT,NULL); + event = weed_plant_new(WEED_PLANT_EVENT); + weed_set_voidptr_value(event, WEED_LEAF_NEXT, NULL); // TODO - error check - weed_set_int64_value(event,WEED_LEAF_TIMECODE,tc); - weed_set_int_value(event,WEED_LEAF_HINT,WEED_EVENT_HINT_PARAM_CHANGE); - weed_set_voidptr_value(event,WEED_LEAF_INIT_EVENT,init_event); + weed_set_int64_value(event, WEED_LEAF_TIMECODE, tc); + weed_set_int_value(event, WEED_LEAF_HINT, WEED_EVENT_HINT_PARAM_CHANGE); + weed_set_voidptr_value(event, WEED_LEAF_INIT_EVENT, init_event); weed_set_int_value(event, WEED_LEAF_INDEX, pnum); - weed_leaf_copy(event,WEED_LEAF_VALUE,param,WEED_LEAF_VALUE); + weed_leaf_copy(event, WEED_LEAF_VALUE, param, WEED_LEAF_VALUE); - last_pchange_event=(weed_plant_t *)pchain[pnum]; - while ((xevent=(weed_plant_t *)weed_get_voidptr_value(last_pchange_event,WEED_LEAF_NEXT_CHANGE,&error))!=NULL) - last_pchange_event=xevent; - - weed_set_voidptr_value(last_pchange_event,WEED_LEAF_NEXT_CHANGE,event); - weed_set_voidptr_value(event,WEED_LEAF_PREV_CHANGE,last_pchange_event); - weed_set_voidptr_value(event,WEED_LEAF_NEXT_CHANGE,NULL); - - if (get_first_event(event_list)==NULL) { - weed_set_voidptr_value(event_list,WEED_LEAF_FIRST,event); - weed_set_voidptr_value(event,WEED_LEAF_PREVIOUS,NULL); + last_pchange_event = (weed_plant_t *)pchain[pnum]; + while ((xevent = (weed_plant_t *)weed_get_voidptr_value(last_pchange_event, WEED_LEAF_NEXT_CHANGE, &error)) != NULL) + last_pchange_event = xevent; + + weed_set_voidptr_value(last_pchange_event, WEED_LEAF_NEXT_CHANGE, event); + weed_set_voidptr_value(event, WEED_LEAF_PREV_CHANGE, last_pchange_event); + weed_set_voidptr_value(event, WEED_LEAF_NEXT_CHANGE, NULL); + + if (get_first_event(event_list) == NULL) { + weed_set_voidptr_value(event_list, WEED_LEAF_FIRST, event); + weed_set_voidptr_value(event, WEED_LEAF_PREVIOUS, NULL); } else { - weed_set_voidptr_value(event,WEED_LEAF_PREVIOUS,get_last_event(event_list)); + weed_set_voidptr_value(event, WEED_LEAF_PREVIOUS, get_last_event(event_list)); } - weed_add_plant_flags(event,WEED_LEAF_READONLY_PLUGIN); - prev=get_prev_event(event); - if (prev!=NULL) weed_set_voidptr_value(prev,WEED_LEAF_NEXT,event); - weed_set_voidptr_value(event_list,WEED_LEAF_LAST,event); + weed_add_plant_flags(event, WEED_LEAF_READONLY_PLUGIN); + prev = get_prev_event(event); + if (prev != NULL) weed_set_voidptr_value(prev, WEED_LEAF_NEXT, event); + weed_set_voidptr_value(event_list, WEED_LEAF_LAST, event); return event_list; } @@ -2915,43 +2917,43 @@ weed_plant_t *append_filter_map_event(weed_plant_t *event_list, weed_timecode_t tc, void **init_events) { - weed_plant_t *event,*prev; - int i=0; + weed_plant_t *event, *prev; + int i = 0; - if (event_list==NULL) { - event_list=weed_plant_new(WEED_PLANT_EVENT_LIST); - weed_set_int_value(event_list,WEED_LEAF_WEED_EVENT_API_VERSION,WEED_EVENT_API_VERSION); - weed_set_voidptr_value(event_list,WEED_LEAF_FIRST,NULL); - weed_set_voidptr_value(event_list,WEED_LEAF_LAST,NULL); - weed_add_plant_flags(event_list,WEED_LEAF_READONLY_PLUGIN); + if (event_list == NULL) { + event_list = weed_plant_new(WEED_PLANT_EVENT_LIST); + weed_set_int_value(event_list, WEED_LEAF_WEED_EVENT_API_VERSION, WEED_EVENT_API_VERSION); + weed_set_voidptr_value(event_list, WEED_LEAF_FIRST, NULL); + weed_set_voidptr_value(event_list, WEED_LEAF_LAST, NULL); + weed_add_plant_flags(event_list, WEED_LEAF_READONLY_PLUGIN); } - event=weed_plant_new(WEED_PLANT_EVENT); - weed_set_voidptr_value(event,WEED_LEAF_NEXT,NULL); + event = weed_plant_new(WEED_PLANT_EVENT); + weed_set_voidptr_value(event, WEED_LEAF_NEXT, NULL); // TODO - error check - weed_set_int64_value(event,WEED_LEAF_TIMECODE,tc); - weed_set_int_value(event,WEED_LEAF_HINT,WEED_EVENT_HINT_FILTER_MAP); + weed_set_int64_value(event, WEED_LEAF_TIMECODE, tc); + weed_set_int_value(event, WEED_LEAF_HINT, WEED_EVENT_HINT_FILTER_MAP); - if (init_events!=NULL) for (i=0; init_events[i]!=NULL; i++); + if (init_events != NULL) for (i = 0; init_events[i] != NULL; i++); - if (i==0) weed_set_voidptr_value(event,WEED_LEAF_INIT_EVENTS,NULL); - else weed_set_voidptr_array(event,WEED_LEAF_INIT_EVENTS,i,init_events); + if (i == 0) weed_set_voidptr_value(event, WEED_LEAF_INIT_EVENTS, NULL); + else weed_set_voidptr_array(event, WEED_LEAF_INIT_EVENTS, i, init_events); #ifdef DEBUG_EVENTS - g_print("adding map event %p at tc %"PRId64"\n",init_events[0],tc); + g_print("adding map event %p at tc %"PRId64"\n", init_events[0], tc); #endif - if (get_first_event(event_list)==NULL) { - weed_set_voidptr_value(event_list,WEED_LEAF_FIRST,event); - weed_set_voidptr_value(event,WEED_LEAF_PREVIOUS,NULL); + if (get_first_event(event_list) == NULL) { + weed_set_voidptr_value(event_list, WEED_LEAF_FIRST, event); + weed_set_voidptr_value(event, WEED_LEAF_PREVIOUS, NULL); } else { - weed_set_voidptr_value(event,WEED_LEAF_PREVIOUS,get_last_event(event_list)); + weed_set_voidptr_value(event, WEED_LEAF_PREVIOUS, get_last_event(event_list)); } - weed_add_plant_flags(event,WEED_LEAF_READONLY_PLUGIN); - prev=get_prev_event(event); - if (prev!=NULL) weed_set_voidptr_value(prev,WEED_LEAF_NEXT,event); - weed_set_voidptr_value(event_list,WEED_LEAF_LAST,event); + weed_add_plant_flags(event, WEED_LEAF_READONLY_PLUGIN); + prev = get_prev_event(event); + if (prev != NULL) weed_set_voidptr_value(prev, WEED_LEAF_NEXT, event); + weed_set_voidptr_value(event_list, WEED_LEAF_LAST, event); return event_list; } @@ -2971,36 +2973,36 @@ int *in_tracks; - int ninits,nintracks; - int idx,error; - int front=-1; + int ninits, nintracks; + int idx, error; + int front = -1; - register int i,j; + register int i, j; - for (i=0; i<num_tracks; i++) { - if (front==-1&&clip_index[i]>0) { - mainw->active_track_list[i]=clip_index[i]; - front=i; - } else mainw->active_track_list[i]=0; + for (i = 0; i < num_tracks; i++) { + if (front == -1 && clip_index[i] > 0) { + mainw->active_track_list[i] = clip_index[i]; + front = i; + } else mainw->active_track_list[i] = 0; } - if (filter_map==NULL||!weed_plant_has_leaf(filter_map,WEED_LEAF_INIT_EVENTS)) return; - ninits=weed_leaf_num_elements(filter_map,WEED_LEAF_INIT_EVENTS); + if (filter_map == NULL || !weed_plant_has_leaf(filter_map, WEED_LEAF_INIT_EVENTS)) return; + ninits = weed_leaf_num_elements(filter_map, WEED_LEAF_INIT_EVENTS); - init_events=(weed_plant_t **)weed_get_voidptr_array(filter_map,WEED_LEAF_INIT_EVENTS,&error); - if (init_events==NULL) return; + init_events = (weed_plant_t **)weed_get_voidptr_array(filter_map, WEED_LEAF_INIT_EVENTS, &error); + if (init_events == NULL) return; - for (i=0; i<ninits; i++) { + for (i = 0; i < ninits; i++) { // get the filter and make sure it has video chans in - if (!weed_plant_has_leaf(init_events[i],WEED_LEAF_IN_TRACKS)) continue; - filter_hash=weed_get_string_value(init_events[i],WEED_LEAF_FILTER,&error); - if ((idx=weed_get_idx_for_hashname(filter_hash,TRUE))!=-1) { - filter=get_weed_filter(idx); - if (has_video_chans_in(filter,FALSE)) { - nintracks=weed_leaf_num_elements(init_events[i],WEED_LEAF_IN_TRACKS); - in_tracks=weed_get_int_array(init_events[i],WEED_LEAF_IN_TRACKS,&error); - for (j=0; j<nintracks; j++) { - mainw->active_track_list[in_tracks[j]]=clip_index[in_tracks[j]]; + if (!weed_plant_has_leaf(init_events[i], WEED_LEAF_IN_TRACKS)) continue; + filter_hash = weed_get_string_value(init_events[i], WEED_LEAF_FILTER, &error); + if ((idx = weed_get_idx_for_hashname(filter_hash, TRUE)) != -1) { + filter = get_weed_filter(idx); + if (has_video_chans_in(filter, FALSE)) { + nintracks = weed_leaf_num_elements(init_events[i], WEED_LEAF_IN_TRACKS); + in_tracks = weed_get_int_array(init_events[i], WEED_LEAF_IN_TRACKS, &error); + for (j = 0; j < nintracks; j++) { + mainw->active_track_list[in_tracks[j]] = clip_index[in_tracks[j]]; } lives_free(in_tracks); } @@ -3017,22 +3019,22 @@ // here we play back (preview) with an event_list // we process all events, but drop frames (unless mainw->nodrop is set) - static weed_timecode_t aseek_tc=0; - weed_timecode_t tc,next_tc; + static weed_timecode_t aseek_tc = 0; + weed_timecode_t tc, next_tc; - static double stored_avel=0.; + static double stored_avel = 0.; - int *in_count=NULL; + int *in_count = NULL; void *init_event; - weed_plant_t *next_frame_event,*return_event; + weed_plant_t *next_frame_event, *return_event; weed_plant_t *filter; weed_plant_t *inst; - weed_plant_t **citmpl=NULL,**cotmpl=NULL; - weed_plant_t **bitmpl=NULL,**botmpl=NULL; - weed_plant_t **source_params,**in_params; + weed_plant_t **citmpl = NULL, **cotmpl = NULL; + weed_plant_t **bitmpl = NULL, **botmpl = NULL; + weed_plant_t **source_params, **in_params; char *filter_name; char *key_string; @@ -3040,64 +3042,64 @@ int current_file; int error; - int num_params,offset=0; - int num_in_count=0; - int num_in_channels=0,num_out_channels=0; + int num_params, offset = 0; + int num_in_count = 0; + int num_in_channels = 0, num_out_channels = 0; int new_file; int hint; - int key,idx; + int key, idx; register int i; - if (next_event==NULL) return NULL; + if (next_event == NULL) return NULL; - tc=get_event_timecode(next_event); + tc = get_event_timecode(next_event); - if (mainw->playing_file!=-1&&tc>curr_tc) { + if (mainw->playing_file != -1 && tc > curr_tc) { // next event is in our future - if (mainw->multitrack!=NULL&&mainw->last_display_ticks>0) { - if ((mainw->fixed_fpsd>0.&&(curr_tc-mainw->last_display_ticks)/U_SEC>=1./mainw->fixed_fpsd)|| - (mainw->vpp!=NULL&&mainw->vpp->fixed_fpsd>0.&&mainw->ext_playback&& - (curr_tc-mainw->last_display_ticks)/U_SEC>=1./mainw->vpp->fixed_fpsd)) { + if (mainw->multitrack != NULL && mainw->last_display_ticks > 0) { + if ((mainw->fixed_fpsd > 0. && (curr_tc - mainw->last_display_ticks) / U_SEC >= 1. / mainw->fixed_fpsd) || + (mainw->vpp != NULL && mainw->vpp->fixed_fpsd > 0. && mainw->ext_playback && + (curr_tc - mainw->last_display_ticks) / U_SEC >= 1. / mainw->vpp->fixed_fpsd)) { // ...but playing at fixed fps, which is faster than mt fps - mainw->pchains=pchains; - load_frame_image(cfile->last_frameno>=1?cfile->last_frameno:cfile->start); - if (mainw->last_display_ticks==0) mainw->last_display_ticks=curr_tc; + mainw->pchains = pchains; + load_frame_image(cfile->last_frameno >= 1 ? cfile->last_frameno : cfile->start); + if (mainw->last_display_ticks == 0) mainw->last_display_ticks = curr_tc; else { - if (mainw->vpp!=NULL&&mainw->ext_playback&&mainw->vpp->fixed_fpsd>0.) - mainw->last_display_ticks+=U_SEC/mainw->vpp->fixed_fpsd; - else if (mainw->fixed_fpsd>0.) - mainw->last_display_ticks+=U_SEC/mainw->fixed_fpsd; - else mainw->last_display_ticks=curr_tc; + if (mainw->vpp != NULL && mainw->ext_playback && mainw->vpp->fixed_fpsd > 0.) + mainw->last_display_ticks += U_SEC / mainw->vpp->fixed_fpsd; + else if (mainw->fixed_fpsd > 0.) + mainw->last_display_ticks += U_SEC / mainw->fixed_fpsd; + else mainw->last_display_ticks = curr_tc; } - mainw->pchains=NULL; + mainw->pchains = NULL; } } return next_event; } - aseek_tc+=(weed_timecode_t)((double)(tc-mainw->cevent_tc)*stored_avel); - mainw->cevent_tc=tc; + aseek_tc += (weed_timecode_t)((double)(tc - mainw->cevent_tc) * stored_avel); + mainw->cevent_tc = tc; - return_event=get_next_event(next_event); - hint=get_event_hint(next_event); + return_event = get_next_event(next_event); + hint = get_event_hint(next_event); switch (hint) { case WEED_EVENT_HINT_FRAME: #ifdef DEBUG_EVENTS - g_print("event: frame event at tc %"PRId64" curr_tc=%"PRId64"\n",tc,curr_tc); + g_print("event: frame event at tc %"PRId64" curr_tc=%"PRId64"\n", tc, curr_tc); #endif - if (mainw->multitrack==NULL&&prefs->audio_player==AUD_PLAYER_JACK&&WEED_EVENT_IS_AUDIO_FRAME(next_event)) { + if (mainw->multitrack == NULL && prefs->audio_player == AUD_PLAYER_JACK && WEED_EVENT_IS_AUDIO_FRAME(next_event)) { // keep track of current seek position, for animating playback pointers - int *aclips=weed_get_int_array(next_event,WEED_LEAF_AUDIO_CLIPS,&error); - double *aseeks=weed_get_double_array(next_event,WEED_LEAF_AUDIO_SEEKS,&error); + int *aclips = weed_get_int_array(next_event, WEED_LEAF_AUDIO_CLIPS, &error); + double *aseeks = weed_get_double_array(next_event, WEED_LEAF_AUDIO_SEEKS, &error); - if (aclips[1]>0) { - aseek_tc=aseeks[0]*U_SEC; - stored_avel=aseeks[1]; + if (aclips[1] > 0) { + aseek_tc = aseeks[0] * U_SEC; + stored_avel = aseeks[1]; } lives_free(aclips); @@ -3105,155 +3107,156 @@ } - if ((next_frame_event=get_next_frame_event(next_event))!=NULL) { - next_tc=get_event_timecode(next_frame_event); + if ((next_frame_event = get_next_frame_event(next_event)) != NULL) { + next_tc = get_event_timecode(next_frame_event); // drop frame if it is too far behind - if (mainw->playing_file>-1&&!mainw->noframedrop&&next_tc<=curr_tc) break; - if (!mainw->fs&&prefs->show_framecount) { - lives_signal_handler_block(mainw->spinbutton_pb_fps,mainw->pb_fps_func); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps),cfile->pb_fps); - lives_signal_handler_unblock(mainw->spinbutton_pb_fps,mainw->pb_fps_func); + if (mainw->playing_file > -1 && !mainw->noframedrop && next_tc <= curr_tc) break; + if (!mainw->fs && prefs->show_framecount) { + lives_signal_handler_block(mainw->spinbutton_pb_fps, mainw->pb_fps_func); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps), cfile->pb_fps); + lives_signal_handler_unblock(mainw->spinbutton_pb_fps, mainw->pb_fps_func); } } - mainw->num_tracks=weed_leaf_num_elements(next_event,WEED_LEAF_CLIPS); + mainw->num_tracks = weed_leaf_num_elements(next_event, WEED_LEAF_CLIPS); lives_freep((void **)&mainw->clip_index); lives_freep((void **)&mainw->frame_index); - mainw->clip_index=weed_get_int_array(next_event,WEED_LEAF_CLIPS,&error); - mainw->frame_index=weed_get_int_array(next_event,WEED_LEAF_FRAMES,&error); + mainw->clip_index = weed_get_int_array(next_event, WEED_LEAF_CLIPS, &error); + mainw->frame_index = weed_get_int_array(next_event, WEED_LEAF_FRAMES, &error); // if we are in multitrack mode, we will just set up NULL layers and let the effects pull our frames - if (mainw->multitrack!=NULL) { - if ((mainw->fixed_fpsd<=0.&&(mainw->vpp==NULL||mainw->vpp->fixed_fpsd<=0.||!mainw->ext_playback)) - ||(mainw->fixed_fpsd>0.&&(curr_tc-mainw->last_display_ticks)/U_SEC>=1./mainw->fixed_fpsd)|| - (mainw->vpp!=NULL&&mainw->vpp->fixed_fpsd>0.&&mainw->ext_playback&& - (curr_tc-mainw->last_display_ticks)/U_SEC>=1./mainw->vpp->fixed_fpsd)) { - mainw->pchains=pchains; + if (mainw->multitrack != NULL) { + if ((mainw->fixed_fpsd <= 0. && (mainw->vpp == NULL || mainw->vpp->fixed_fpsd <= 0. || !mainw->ext_playback)) + || (mainw->fixed_fpsd > 0. && (curr_tc - mainw->last_display_ticks) / U_SEC >= 1. / mainw->fixed_fpsd) || + (mainw->vpp != NULL && mainw->vpp->fixed_fpsd > 0. && mainw->ext_playback && + (curr_tc - mainw->last_display_ticks) / U_SEC >= 1. / mainw->vpp->fixed_fpsd)) { + mainw->pchains = pchains; load_frame_image(cfile->frameno); - if (mainw->last_display_ticks==0) mainw->last_display_ticks=curr_tc; + if (mainw->last_display_ticks == 0) mainw->last_display_ticks = curr_tc; else { - if (mainw->vpp!=NULL&&mainw->ext_playback&&mainw->vpp->fixed_fpsd>0.) - mainw->last_display_ticks+=U_SEC/mainw->vpp->fixed_fpsd; - else if (mainw->fixed_fpsd>0.) - mainw->last_display_ticks+=U_SEC/mainw->fixed_fpsd; - else mainw->last_display_ticks=curr_tc; + if (mainw->vpp != NULL && mainw->ext_playback && mainw->vpp->fixed_fpsd > 0.) + mainw->last_display_ticks += U_SEC / mainw->vpp->fixed_fpsd; + else if (mainw->fixed_fpsd > 0.) + mainw->last_display_ticks += U_SEC / mainw->fixed_fpsd; + else mainw->last_display_ticks = curr_tc; } - mainw->pchains=NULL; + mainw->pchains = NULL; } } else { - if (mainw->num_tracks>1) { - mainw->blend_file=mainw->clip_index[1]; - if (mainw->blend_file>-1) mainw->files[mainw->blend_file]->frameno=mainw->frame_index[1]; - } else mainw->blend_file=-1; - - new_file=-1; - for (i=0; i<mainw->num_tracks&&new_file==-1; i++) new_file=mainw->clip_index[i]; - if (i==2) mainw->blend_file=-1; + if (mainw->num_tracks > 1) { + mainw->blend_file = mainw->clip_index[1]; + if (mainw->blend_file > -1) mainw->files[mainw->blend_file]->frameno = mainw->frame_index[1]; + } else mainw->blend_file = -1; + + new_file = -1; + for (i = 0; i < mainw->num_tracks && new_file == -1; i++) new_file = mainw->clip_index[i]; + if (i == 2) mainw->blend_file = -1; #ifdef DEBUG_EVENTS - g_print("event: front frame is %d tc %"PRId64" curr_tc=%"PRId64"\n",mainw->frame_index[0],tc,curr_tc); + g_print("event: front frame is %d tc %"PRId64" curr_tc=%"PRId64"\n", mainw->frame_index[0], tc, curr_tc); #endif // handle case where new_file==-1: we must somehow create a blank frame in load_frame_image - if (new_file==-1) new_file=mainw->current_file; + if (new_file == -1) new_file = mainw->current_file; - if (new_file!=mainw->current_file) { - mainw->files[new_file]->frameno=mainw->frame_index[i-1]; + if (new_file != mainw->current_file) { + mainw->files[new_file]->frameno = mainw->frame_index[i - 1]; - if (new_file!=mainw->scrap_file) { + if (new_file != mainw->scrap_file) { // switch to a new file - mainw->noswitch=FALSE; + mainw->noswitch = FALSE; do_quick_switch(new_file); - mainw->noswitch=TRUE; - cfile->next_event=return_event; - return_event=NULL; + mainw->noswitch = TRUE; + cfile->next_event = return_event; + return_event = NULL; } else { - mainw->files[new_file]->hsize=cfile->hsize; // set size of scrap file - mainw->files[new_file]->vsize=cfile->vsize; - current_file=mainw->current_file; - mainw->current_file=new_file; - mainw->aframeno=(double)(aseek_tc/U_SEC)*cfile->fps; - mainw->pchains=pchains; + mainw->files[new_file]->hsize = cfile->hsize; // set size of scrap file + mainw->files[new_file]->vsize = cfile->vsize; + current_file = mainw->current_file; + mainw->current_file = new_file; + mainw->aframeno = (double)(aseek_tc / U_SEC) * cfile->fps; + mainw->pchains = pchains; load_frame_image(cfile->frameno); - mainw->pchains=NULL; - if (mainw->playing_file>-1) lives_widget_context_update(); - mainw->current_file=current_file; + mainw->pchains = NULL; + if (mainw->playing_file > -1) lives_widget_context_update(); + mainw->current_file = current_file; } break; } else { - if (mainw->multitrack!=NULL&&new_file==mainw->multitrack->render_file) { - cfile->frameno=0; // will force blank frame creation - } else cfile->frameno=mainw->frame_index[i-1]; - mainw->aframeno=(double)(aseek_tc/U_SEC)*cfile->fps; - mainw->pchains=pchains; + if (mainw->multitrack != NULL && new_file == mainw->multitrack->render_file) { + cfile->frameno = 0; // will force blank frame creation + } else cfile->frameno = mainw->frame_index[i - 1]; + mainw->aframeno = (double)(aseek_tc / U_SEC) * cfile->fps; + mainw->pchains = pchains; load_frame_image(cfile->frameno); - mainw->pchains=NULL; + mainw->pchains = NULL; } } - if (mainw->playing_file>-1) lives_widget_context_update(); - cfile->next_event=get_next_event(next_event); + if (mainw->playing_file > -1 && mainw->multitrack == NULL) lives_widget_context_update(); + cfile->next_event = get_next_event(next_event); break; case WEED_EVENT_HINT_FILTER_INIT: // effect init // bind the weed_fx to next free key/0 - filter_name=weed_get_string_value(next_event,WEED_LEAF_FILTER,&error); - idx=weed_get_idx_for_hashname(filter_name,TRUE); + filter_name = weed_get_string_value(next_event, WEED_LEAF_FILTER, &error); + idx = weed_get_idx_for_hashname(filter_name, TRUE); lives_free(filter_name); - if (idx!=-1) { - filter=get_weed_filter(idx); + if (idx != -1) { + filter = get_weed_filter(idx); - if (!process_audio&&is_pure_audio(filter,FALSE)) { - if (weed_plant_has_leaf(next_event,WEED_LEAF_HOST_TAG)) weed_leaf_delete(next_event,WEED_LEAF_HOST_TAG); + if (!process_audio && is_pure_audio(filter, FALSE)) { + if (weed_plant_has_leaf(next_event, WEED_LEAF_HOST_TAG)) weed_leaf_delete(next_event, WEED_LEAF_HOST_TAG); break; // audio effects are processed in the audio renderer } - if (process_audio&&!is_pure_audio(filter,FALSE)) break; + if (process_audio && !is_pure_audio(filter, FALSE)) break; - key=get_next_free_key(); - weed_add_effectkey_by_idx(key+1,idx); - key_string=lives_strdup_printf("%d",key); - weed_set_string_value(next_event,WEED_LEAF_HOST_TAG,key_string); + key = get_next_free_key(); + weed_add_effectkey_by_idx(key + 1, idx); + key_string = lives_strdup_printf("%d", key); + weed_set_string_value(next_event, WEED_LEAF_HOST_TAG, key_string); lives_free(key_string); #ifdef DEBUG_EVENTS - g_print("event: init effect on key %d at tc %"PRId64" curr_tc=%"PRId64"\n",key,tc,curr_tc); + g_print("event: init effect on key %d at tc %"PRId64" curr_tc=%"PRId64"\n", key, tc, curr_tc); #endif - if (weed_plant_has_leaf(next_event,WEED_LEAF_IN_COUNT)) { - num_in_count=weed_leaf_num_elements(next_event,WEED_LEAF_IN_COUNT); - in_count=weed_get_int_array(next_event,WEED_LEAF_IN_COUNT,&error); + if (weed_plant_has_leaf(next_event, WEED_LEAF_IN_COUNT)) { + num_in_count = weed_leaf_num_elements(next_event, WEED_LEAF_IN_COUNT); + in_count = weed_get_int_array(next_event, WEED_LEAF_IN_COUNT, &error); } - if (weed_plant_has_leaf(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES)) { - if ((num_in_channels=weed_leaf_num_elements(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES))>0) { - bitmpl=(weed_plant_t **)weed_malloc(num_in_channels*sizeof(weed_plant_t *)); - citmpl=weed_get_plantptr_array(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES,&error); - if (num_in_channels!=num_in_count) LIVES_ERROR("num_in_count != num_in_channels"); - for (i=0; i<num_in_channels; i++) { - bitmpl[i]=weed_plant_copy(citmpl[i]); - if (in_count[i]>0) { - weed_set_boolean_value(citmpl[i],WEED_LEAF_HOST_DISABLED,WEED_FALSE); - weed_set_int_value(citmpl[i],WEED_LEAF_HOST_REPEATS,in_count[i]); - } else weed_set_boolean_value(citmpl[i],WEED_LEAF_HOST_DISABLED,WEED_TRUE); + if (weed_plant_has_leaf(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES)) { + if ((num_in_channels = weed_leaf_num_elements(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES)) > 0) { + bitmpl = (weed_plant_t **)weed_malloc(num_in_channels * sizeof(weed_plant_t *)); + citmpl = weed_get_plantptr_array(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES, &error); + if (num_in_channels != num_in_count) LIVES_ERROR("num_in_count != num_in_channels"); + for (i = 0; i < num_in_channels; i++) { + bitmpl[i] = weed_plant_copy(citmpl[i]); + if (in_count[i] > 0) { + weed_set_boolean_value(citmpl[i], WEED_LEAF_HOST_DISABLED, WEED_FALSE); + weed_set_int_value(citmpl[i], WEED_LEAF_HOST_REPEATS, in_count[i]); + } else weed_set_boolean_value(citmpl[i], WEED_LEAF_HOST_DISABLED, WEED_TRUE); } } } lives_freep((void **)&in_count); - if (weed_plant_has_leaf(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES)) { - if ((num_out_channels=weed_leaf_num_elements(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES))>0) { - cotmpl=weed_get_plantptr_array(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES,&error); - botmpl=(weed_plant_t **)weed_malloc(num_out_channels*sizeof(weed_plant_t *)); - for (i=0; i<num_out_channels; i++) { - botmpl[i]=weed_plant_copy(cotmpl[i]); - if (!weed_plant_has_leaf(cotmpl[i],WEED_LEAF_HOST_DISABLED)||weed_get_boolean_value(cotmpl[i],WEED_LEAF_HOST_DISABLED,&error)!=WEED_TRUE) - weed_set_boolean_value(cotmpl[i],WEED_LEAF_HOST_DISABLED,WEED_FALSE); - else weed_set_boolean_value(cotmpl[i],WEED_LEAF_HOST_DISABLED,WEED_TRUE); + if (weed_plant_has_leaf(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES)) { + if ((num_out_channels = weed_leaf_num_elements(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES)) > 0) { + cotmpl = weed_get_plantptr_array(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES, &error); + botmpl = (weed_plant_t **)weed_malloc(num_out_channels * sizeof(weed_plant_t *)); + for (i = 0; i < num_out_channels; i++) { + botmpl[i] = weed_plant_copy(cotmpl[i]); + if (!weed_plant_has_leaf(cotmpl[i], WEED_LEAF_HOST_DISABLED) || + weed_get_boolean_value(cotmpl[i], WEED_LEAF_HOST_DISABLED, &error) != WEED_TRUE) + weed_set_boolean_value(cotmpl[i], WEED_LEAF_HOST_DISABLED, WEED_FALSE); + else weed_set_boolean_value(cotmpl[i], WEED_LEAF_HOST_DISABLED, WEED_TRUE); } } } @@ -3262,97 +3265,99 @@ // restore channel state / number from backup - if (num_in_channels>0) { - for (i=0; i<num_in_channels; i++) { - if (weed_plant_has_leaf(bitmpl[i],WEED_LEAF_HOST_DISABLED)) - weed_set_boolean_value(citmpl[i],WEED_LEAF_HOST_DISABLED,weed_get_boolean_value(bitmpl[i],WEED_LEAF_HOST_DISABLED,&error)); - else weed_leaf_delete(citmpl[i],WEED_LEAF_HOST_DISABLED); - if (weed_plant_has_leaf(bitmpl[i],WEED_LEAF_HOST_REPEATS)) - weed_set_int_value(citmpl[i],WEED_LEAF_HOST_REPEATS,weed_get_int_value(bitmpl[i],WEED_LEAF_HOST_REPEATS,&error)); - else weed_leaf_delete(citmpl[i],WEED_LEAF_HOST_REPEATS); + if (num_in_channels > 0) { + for (i = 0; i < num_in_channels; i++) { + if (weed_plant_has_leaf(bitmpl[i], WEED_LEAF_HOST_DISABLED)) + weed_set_boolean_value(citmpl[i], WEED_LEAF_HOST_DISABLED, weed_get_boolean_value(bitmpl[i], WEED_LEAF_HOST_DISABLED, &error)); + else weed_leaf_delete(citmpl[i], WEED_LEAF_HOST_DISABLED); + if (weed_plant_has_leaf(bitmpl[i], WEED_LEAF_HOST_REPEATS)) + weed_set_int_value(citmpl[i], WEED_LEAF_HOST_REPEATS, weed_get_int_value(bitmpl[i], WEED_LEAF_HOST_REPEATS, &error)); + else weed_leaf_delete(citmpl[i], WEED_LEAF_HOST_REPEATS); + weed_plant_free(bitmpl[i]); } lives_free(bitmpl); lives_free(citmpl); } - if (num_out_channels>0) { - for (i=0; i<num_out_channels; i++) { - if (weed_plant_has_leaf(botmpl[i],WEED_LEAF_HOST_DISABLED)) - weed_set_boolean_value(cotmpl[i],WEED_LEAF_HOST_DISABLED,weed_get_boolean_value(botmpl[i],WEED_LEAF_HOST_DISABLED,&error)); - else weed_leaf_delete(cotmpl[i],WEED_LEAF_HOST_DISABLED); - if (weed_plant_has_leaf(botmpl[i],WEED_LEAF_HOST_REPEATS)) - weed_set_int_value(cotmpl[i],WEED_LEAF_HOST_REPEATS,weed_get_int_value(botmpl[i],WEED_LEAF_HOST_REPEATS,&error)); - else weed_leaf_delete(cotmpl[i],WEED_LEAF_HOST_REPEATS); + if (num_out_channels > 0) { + for (i = 0; i < num_out_channels; i++) { + if (weed_plant_has_leaf(botmpl[i], WEED_LEAF_HOST_DISABLED)) + weed_set_boolean_value(cotmpl[i], WEED_LEAF_HOST_DISABLED, weed_get_boolean_value(botmpl[i], WEED_LEAF_HOST_DISABLED, &error)); + else weed_leaf_delete(cotmpl[i], WEED_LEAF_HOST_DISABLED); + if (weed_plant_has_leaf(botmpl[i], WEED_LEAF_HOST_REPEATS)) + weed_set_int_value(cotmpl[i], WEED_LEAF_HOST_REPEATS, weed_get_int_value(botmpl[i], WEED_LEAF_HOST_REPEATS, &error)); + else weed_leaf_delete(cotmpl[i], WEED_LEAF_HOST_REPEATS); + weed_plant_free(botmpl[i]); } lives_free(botmpl); lives_free(cotmpl); } // reinit effect with saved parameters - inst=rte_keymode_get_instance(key+1,0); + inst = rte_keymode_get_instance(key + 1, 0); - if (weed_plant_has_leaf(next_event,WEED_LEAF_IN_PARAMETERS)) { - pchains[key]=weed_get_voidptr_array(next_event,WEED_LEAF_IN_PARAMETERS,&error); - } else pchains[key]=NULL; + if (weed_plant_has_leaf(next_event, WEED_LEAF_IN_PARAMETERS)) { + pchains[key] = weed_get_voidptr_array(next_event, WEED_LEAF_IN_PARAMETERS, &error); + } else pchains[key] = NULL; filterinit1: - num_params=num_in_params(inst,FALSE,FALSE); + num_params = num_in_params(inst, FALSE, FALSE); - if (num_params>0) { + if (num_params > 0) { weed_call_deinit_func(inst); - if (weed_plant_has_leaf(next_event,WEED_LEAF_IN_PARAMETERS)) { - source_params=(weed_plant_t **)pchains[key]; - in_params=weed_get_plantptr_array(inst,WEED_LEAF_IN_PARAMETERS,&error); - - for (i=0; i<num_params; i++) { - if (source_params!=NULL&&source_params[i+offset]!=NULL&&is_init_pchange(next_event,source_params[i+offset])) - weed_leaf_copy(in_params[i],WEED_LEAF_VALUE,source_params[i+offset],WEED_LEAF_VALUE); + if (weed_plant_has_leaf(next_event, WEED_LEAF_IN_PARAMETERS)) { + source_params = (weed_plant_t **)pchains[key]; + in_params = weed_get_plantptr_array(inst, WEED_LEAF_IN_PARAMETERS, &error); + + for (i = 0; i < num_params; i++) { + if (source_params != NULL && source_params[i + offset] != NULL && is_init_pchange(next_event, source_params[i + offset])) + weed_leaf_copy(in_params[i], WEED_LEAF_VALUE, source_params[i + offset], WEED_LEAF_VALUE); } lives_free(in_params); } - offset+=num_params; + offset += num_params; - filter=weed_instance_get_filter(inst,FALSE); + filter = weed_instance_get_filter(inst, FALSE); - if (weed_plant_has_leaf(filter,WEED_LEAF_INIT_FUNC)) { + if (weed_plant_has_leaf(filter, WEED_LEAF_INIT_FUNC)) { weed_deinit_f *init_func_ptr_ptr; weed_init_f init_func; - weed_leaf_get(filter,WEED_LEAF_INIT_FUNC,0,(void *)&init_func_ptr_ptr); - init_func=init_func_ptr_ptr[0]; + weed_leaf_get(filter, WEED_LEAF_INIT_FUNC, 0, (void *)&init_func_ptr_ptr); + init_func = init_func_ptr_ptr[0]; set_param_gui_readwrite(inst); update_host_info(inst); - if (init_func!=NULL) { - char *cwd=cd_to_plugin_dir(filter); + if (init_func != NULL) { + char *cwd = cd_to_plugin_dir(filter); (*init_func)(inst); - lives_chdir(cwd,FALSE); + lives_chdir(cwd, FALSE); lives_free(cwd); } set_param_gui_readonly(inst); } - weed_set_boolean_value(inst,WEED_LEAF_HOST_INITED,WEED_TRUE); + weed_set_boolean_value(inst, WEED_LEAF_HOST_INITED, WEED_TRUE); } - if (weed_plant_has_leaf(next_event,WEED_LEAF_HOST_KEY)) { + if (weed_plant_has_leaf(next_event, WEED_LEAF_HOST_KEY)) { // mt events will not have this; // it is used to connect params and alpha channels during rendering // holds our original key/mode values - int hostkey=weed_get_int_value(next_event,WEED_LEAF_HOST_KEY,&error); - int hostmode=weed_get_int_value(next_event,WEED_LEAF_HOST_MODE,&error); + int hostkey = weed_get_int_value(next_event, WEED_LEAF_HOST_KEY, &error); + int hostmode = weed_get_int_value(next_event, WEED_LEAF_HOST_MODE, &error); - weed_set_int_value(inst,WEED_LEAF_HOST_KEY,hostkey); - weed_set_int_value(inst,WEED_LEAF_HOST_MODE,hostmode); + weed_set_int_value(inst, WEED_LEAF_HOST_KEY, hostkey); + weed_set_int_value(inst, WEED_LEAF_HOST_MODE, hostmode); } - if (weed_plant_has_leaf(inst,WEED_LEAF_HOST_NEXT_INSTANCE)) { + if (weed_plant_has_leaf(inst, WEED_LEAF_HOST_NEXT_INSTANCE)) { // handle compound fx - inst=weed_get_plantptr_value(inst,WEED_LEAF_HOST_NEXT_INSTANCE,&error); + inst = weed_get_plantptr_value(inst, WEED_LEAF_HOST_NEXT_INSTANCE, &error); goto filterinit1; } @@ -3361,36 +3366,36 @@ break; case WEED_EVENT_HINT_FILTER_DEINIT: - init_event=weed_get_voidptr_value((weed_plant_t *)next_event,WEED_LEAF_INIT_EVENT,&error); - if (weed_plant_has_leaf((weed_plant_t *)init_event,WEED_LEAF_HOST_TAG)) { - key_string=weed_get_string_value((weed_plant_t *)init_event,WEED_LEAF_HOST_TAG,&error); - key=atoi(key_string); + init_event = weed_get_voidptr_value((weed_plant_t *)next_event, WEED_LEAF_INIT_EVENT, &error); + if (weed_plant_has_leaf((weed_plant_t *)init_event, WEED_LEAF_HOST_TAG)) { + key_string = weed_get_string_value((weed_plant_t *)init_event, WEED_LEAF_HOST_TAG, &error); + key = atoi(key_string); lives_free(key_string); - filter_name=weed_get_string_value((weed_plant_t *)init_event,WEED_LEAF_FILTER,&error); - idx=weed_get_idx_for_hashname(filter_name,TRUE); + filter_name = weed_get_string_value((weed_plant_t *)init_event, WEED_LEAF_FILTER, &error); + idx = weed_get_idx_for_hashname(filter_name, TRUE); lives_free(filter_name); - filter=get_weed_filter(idx); + filter = get_weed_filter(idx); if (!process_audio) { - if (is_pure_audio(filter,FALSE)) break; // audio effects are processed in the audio renderer + if (is_pure_audio(filter, FALSE)) break; // audio effects are processed in the audio renderer } - if (process_audio&&!is_pure_audio(filter,FALSE)) break; + if (process_audio && !is_pure_audio(filter, FALSE)) break; - if (rte_keymode_get_instance(key+1,0)!=NULL) { + if (rte_keymode_get_instance(key + 1, 0) != NULL) { weed_deinit_effect(key); - weed_delete_effectkey(key+1,0); + weed_delete_effectkey(key + 1, 0); } // no freep ! - if (pchains[key]!=NULL) lives_free(pchains[key]); - pchains[key]=NULL; + if (pchains[key] != NULL) lives_free(pchains[key]); + pchains[key] = NULL; } break; case WEED_EVENT_HINT_FILTER_MAP: - mainw->filter_map=next_event; + mainw->filter_map = next_event; #ifdef DEBUG_EVENTS g_print("got new effect map\n"); #endif @@ -3410,164 +3415,164 @@ // call with flush_audio_tc set to non-zero to render audio up to that tc char oname[PATH_MAX]; - LiVESError *error=NULL; + LiVESError *error = NULL; weed_timecode_t tc; - weed_timecode_t next_tc=0,next_out_tc; + weed_timecode_t next_tc = 0, next_out_tc; void *init_event; - LiVESPixbuf *pixbuf=NULL; + LiVESPixbuf *pixbuf = NULL; weed_plant_t *filter; - weed_plant_t **citmpl=NULL,**cotmpl=NULL; - weed_plant_t **bitmpl=NULL,**botmpl=NULL; + weed_plant_t **citmpl = NULL, **cotmpl = NULL; + weed_plant_t **bitmpl = NULL, **botmpl = NULL; weed_plant_t *inst; weed_plant_t *next_frame_event; - static weed_plant_t *event,*eventnext; + static weed_plant_t *event, *eventnext; - int *in_count=NULL; + int *in_count = NULL; - weed_plant_t **source_params,**in_params; - weed_plant_t **layers,*layer; + weed_plant_t **source_params, **in_params; + weed_plant_t **layers, *layer; register int i; - int key,idx; + int key, idx; int hint; int layer_palette; int weed_error; int num_tracks; - int num_params,offset=0; + int num_params, offset = 0; int retval; - int num_in_count=0; - int num_in_channels=0,num_out_channels=0; - int track,mytrack; + int num_in_count = 0; + int num_in_channels = 0, num_out_channels = 0; + int track, mytrack; static int progress; static int xaclips[MAX_AUDIO_TRACKS]; static int out_frame; static int frame; - int blend_file=mainw->blend_file; + int blend_file = mainw->blend_file; - boolean is_blank=TRUE; - boolean firstframe=TRUE; - boolean completed=FALSE; + boolean is_blank = TRUE; + boolean firstframe = TRUE; + boolean completed = FALSE; static boolean has_audio; double chvols[MAX_AUDIO_TRACKS]; - static double xaseek[MAX_AUDIO_TRACKS],xavel[MAX_AUDIO_TRACKS],atime; // TODO ** + static double xaseek[MAX_AUDIO_TRACKS], xavel[MAX_AUDIO_TRACKS], atime; // TODO ** static lives_render_error_t read_write_error; - char *blabel=NULL; + char *blabel = NULL; char *nlabel; - char *key_string,*com,*tmp; + char *key_string, *com, *tmp; char *filter_name; if (reset) { - progress=frame=1; - event=cfile->next_event; - out_frame=(int)((double)(get_event_timecode(event)/U_SECL)*cfile->fps+mainw->play_start); - if (cfile->frames<out_frame) out_frame=cfile->frames+1; - cfile->undo_start=out_frame; + progress = frame = 1; + event = cfile->next_event; + out_frame = (int)((double)(get_event_timecode(event) / U_SECL) * cfile->fps + mainw->play_start); + if (cfile->frames < out_frame) out_frame = cfile->frames + 1; + cfile->undo_start = out_frame; // store this, because if the user previews and there is no audio file yet, achans will get reset - cfile->undo_achans=cfile->achans; - cfile->undo_arate=cfile->arate; - cfile->undo_arps=cfile->arps; - cfile->undo_asampsize=cfile->asampsize; + cfile->undo_achans = cfile->achans; + cfile->undo_arate = cfile->arate; + cfile->undo_arps = cfile->arps; + cfile->undo_asampsize = cfile->asampsize; clear_mainw_msg(); - mainw->filter_map=NULL; - mainw->afilter_map=NULL; - mainw->audio_event=event; - - for (i=0; i<MAX_AUDIO_TRACKS; i++) { - xaclips[i]=-1; - xaseek[i]=xavel[i]=0; - } - atime=(double)(out_frame-1.)/cfile->fps; - has_audio=FALSE; - read_write_error=LIVES_RENDER_ERROR_NONE; + mainw->filter_map = NULL; + mainw->afilter_map = NULL; + mainw->audio_event = event; + + for (i = 0; i < MAX_AUDIO_TRACKS; i++) { + xaclips[i] = -1; + xaseek[i] = xavel[i] = 0; + } + atime = (double)(out_frame - 1.) / cfile->fps; + has_audio = FALSE; + read_write_error = LIVES_RENDER_ERROR_NONE; return LIVES_RENDER_READY; } if (mainw->effects_paused) return LIVES_RENDER_EFFECTS_PAUSED; - nlabel=lives_strdup(_("Rendering audio...")); + nlabel = lives_strdup(_("Rendering audio...")); - mainw->rowstride_alignment=mainw->rowstride_alignment_hint; - mainw->rowstride_alignment_hint=1; + mainw->rowstride_alignment = mainw->rowstride_alignment_hint; + mainw->rowstride_alignment_hint = 1; - if (flush_audio_tc!=0) { - event=get_next_audio_frame_event(event); + if (flush_audio_tc != 0) { + event = get_next_audio_frame_event(event); } - if (event!=NULL) { - eventnext=get_next_event(event); + if (event != NULL) { + eventnext = get_next_event(event); - hint=get_event_hint(event); + hint = get_event_hint(event); switch (hint) { case WEED_EVENT_HINT_FRAME: - if (flush_audio_tc==0) { - tc=get_event_timecode(event); + if (flush_audio_tc == 0) { + tc = get_event_timecode(event); - if ((mainw->multitrack==NULL||(mainw->multitrack->opts.render_vidp&&!mainw->multitrack->pr_audio))&& - !(!mainw->clip_switched&&cfile->hsize*cfile->vsize==0)) { - int scrap_track=-1; + if ((mainw->multitrack == NULL || (mainw->multitrack->opts.render_vidp && !mainw->multitrack->pr_audio)) && + !(!mainw->clip_switched && cfile->hsize * cfile->vsize == 0)) { + int scrap_track = -1; - num_tracks=weed_leaf_num_elements(event,WEED_LEAF_CLIPS); + num_tracks = weed_leaf_num_elements(event, WEED_LEAF_CLIPS); lives_freep((void **)&mainw->clip_index); lives_freep((void **)&mainw->frame_index); - mainw->clip_index=weed_get_int_array(event,WEED_LEAF_CLIPS,&weed_error); - mainw->frame_index=weed_get_int_array(event,WEED_LEAF_FRAMES,&weed_error); + mainw->clip_index = weed_get_int_array(event, WEED_LEAF_CLIPS, &weed_error); + mainw->frame_index = weed_get_int_array(event, WEED_LEAF_FRAMES, &weed_error); - if (mainw->scrap_file!=-1) { - for (i=0; i<num_tracks; i++) { - if (mainw->clip_index[i]!=mainw->scrap_file) { - scrap_track=-1; + if (mainw->scrap_file != -1) { + for (i = 0; i < num_tracks; i++) { + if (mainw->clip_index[i] != mainw->scrap_file) { + scrap_track = -1; break; } - if (scrap_track==-1) scrap_track=i; + if (scrap_track == -1) scrap_track = i; } } - if (scrap_track!=-1) { + if (scrap_track != -1) { // do not apply fx, just pull frame - layer=weed_plant_new(WEED_PLANT_CHANNEL); - weed_set_int_value(layer,WEED_LEAF_CLIP,mainw->clip_index[scrap_track]); - weed_set_int_value(layer,WEED_LEAF_FRAME,mainw->frame_index[scrap_track]); - if (!pull_frame(layer,get_image_ext_for_type(cfile->img_type),tc)) { + layer = weed_plant_new(WEED_PLANT_CHANNEL); + weed_set_int_value(layer, WEED_LEAF_CLIP, mainw->clip_index[scrap_track]); + weed_set_int_value(layer, WEED_LEAF_FRAME, mainw->frame_index[scrap_track]); + if (!pull_frame(layer, get_image_ext_for_type(cfile->img_type), tc)) { weed_plant_free(layer); - layer=NULL; + layer = NULL; } } else { - int oclip,nclip; + int oclip, nclip; - layers=(weed_plant_t **)lives_malloc((num_tracks+1)*sizeof(weed_plant_t *)); + layers = (weed_plant_t **)lives_malloc((num_tracks + 1) * sizeof(weed_plant_t *)); // get list of active tracks from mainw->filter map - get_active_track_list(mainw->clip_index,mainw->num_tracks,mainw->filter_map); - for (i=0; i<mainw->num_tracks; i++) { - oclip=mainw->old_active_track_list[i]; - mainw->ext_src_used[oclip]=FALSE; - if (oclip>0&&oclip==(nclip=mainw->active_track_list[i])) { - if (mainw->track_decoders[i]==mainw->files[oclip]->ext_src) mainw->ext_src_used[oclip]=TRUE; + get_active_track_list(mainw->clip_index, mainw->num_tracks, mainw->filter_map); + for (i = 0; i < mainw->num_tracks; i++) { + oclip = mainw->old_active_track_list[i]; + mainw->ext_src_used[oclip] = FALSE; + if (oclip > 0 && oclip == (nclip = mainw->active_track_list[i])) { + if (mainw->track_decoders[i] == mainw->files[oclip]->ext_src) mainw->ext_src_used[oclip] = TRUE; } } - for (i=0; i<num_tracks; i++) { - if (mainw->clip_index[i]>0&&mainw->frame_index[i]>0&&mainw->multitrack!=NULL) is_blank=FALSE; - layers[i]=weed_plant_new(WEED_PLANT_CHANNEL); - weed_set_int_value(layers[i],WEED_LEAF_CLIP,mainw->clip_index[i]); - weed_set_int_value(layers[i],WEED_LEAF_FRAME,mainw->frame_index[i]); - weed_set_voidptr_value(layers[i],WEED_LEAF_PIXEL_DATA,NULL); + for (i = 0; i < num_tracks; i++) { + if (mainw->clip_index[i] > 0 && mainw->frame_index[i] > 0 && mainw->multitrack != NULL) is_blank = FALSE; + layers[i] = weed_plant_new(WEED_PLANT_CHANNEL); + weed_set_int_value(layers[i], WEED_LEAF_CLIP, mainw->clip_index[i]); + weed_set_int_value(layers[i], WEED_LEAF_FRAME, mainw->frame_index[i]); + weed_set_voidptr_value(layers[i], WEED_LEAF_PIXEL_DATA, NULL); - if ((oclip=mainw->old_active_track_list[i])!=(nclip=mainw->active_track_list[i])) { + if ((oclip = mainw->old_active_track_list[i]) != (nclip = mainw->active_track_list[i])) { // now using threading, we want to start pulling all pixel_data for all active layers here // however, we may have more than one copy of the same clip - in this case we want to create clones of the decoder plugin // this is to prevent constant seeking between different frames in the clip @@ -3575,46 +3580,46 @@ // check if ext_src survives old->new //// - if (oclip>0) { - if (mainw->files[oclip]->clip_type==CLIP_TYPE_FILE) { - if (mainw->track_decoders[i]!=(lives_decoder_t *)mainw->files[oclip]->ext_src) { + if (oclip > 0) { + if (mainw->files[oclip]->clip_type == CLIP_TYPE_FILE) { + if (mainw->track_decoders[i] != (lives_decoder_t *)mainw->files[oclip]->ext_src) { // remove the clone for oclip close_decoder_plugin(mainw->track_decoders[i]); } - mainw->track_decoders[i]=NULL; + mainw->track_decoders[i] = NULL; } } - if (nclip>0) { - if (mainw->files[nclip]->clip_type==CLIP_TYPE_FILE) { + if (nclip > 0) { + if (mainw->files[nclip]->clip_type == CLIP_TYPE_FILE) { if (!mainw->ext_src_used[nclip]) { - mainw->track_decoders[i]=(lives_decoder_t *)mainw->files[nclip]->ext_src; - mainw->ext_src_used[nclip]=TRUE; + mainw->track_decoders[i] = (lives_decoder_t *)mainw->files[nclip]->ext_src; + mainw->ext_src_used[nclip] = TRUE; } else { // add new clone for nclip - mainw->track_decoders[i]=clone_decoder(nclip); + mainw->track_decoders[i] = clone_decoder(nclip); } } } } - mainw->old_active_track_list[i]=mainw->active_track_list[i]; + mainw->old_active_track_list[i] = mainw->active_track_list[i]; - if (nclip>0) { - const char *img_ext=get_image_ext_for_type(mainw->files[nclip]->img_type); + if (nclip > 0) { + const char *img_ext = get_image_ext_for_type(mainw->files[nclip]->img_type); // set alt src in layer - weed_set_voidptr_value(layers[i],WEED_LEAF_HOST_DECODER,(void *)mainw->track_decoders[i]); - pull_frame_threaded(layers[i],img_ext,(weed_timecode_t)mainw->currticks); + weed_set_voidptr_value(layers[i], WEED_LEAF_HOST_DECODER, (void *)mainw->track_decoders[i]); + pull_frame_threaded(layers[i], img_ext, (weed_timecode_t)mainw->currticks); } else { - weed_set_voidptr_value(layers[i],WEED_LEAF_PIXEL_DATA,NULL); + weed_set_voidptr_value(layers[i], WEED_LEAF_PIXEL_DATA, NULL); } } - layers[i]=NULL; + layers[i] = NULL; - layer=weed_apply_effects(layers,mainw->filter_map,tc,0,0,pchains); + layer = weed_apply_effects(layers, mainw->filter_map, tc, 0, 0, pchains); - for (i=0; layers[i]!=NULL; i++) { - if (layer!=layers[i]) { + for (i = 0; layers[i] != NULL; i++) { + if (layer != layers[i]) { check_layer_ready(layers[i]); weed_plant_free(layers[i]); } @@ -3623,67 +3628,67 @@ } - if (layer!=NULL) { + if (layer != NULL) { #ifndef ALLOW_PNG24 - layer_palette=weed_layer_get_palette(layer); - if (cfile->img_type==IMG_TYPE_JPEG&&layer_palette!=WEED_PALETTE_RGB24&&layer_palette!=WEED_PALETTE_RGBA32) - layer_palette=WEED_PALETTE_RGB24; + layer_palette = weed_layer_get_palette(layer); + if (cfile->img_type == IMG_TYPE_JPEG && layer_palette != WEED_PALETTE_RGB24 && layer_palette != WEED_PALETTE_RGBA32) + layer_palette = WEED_PALETTE_RGB24; - else if (cfile->img_type==IMG_TYPE_PNG&&layer_palette!=WEED_PALETTE_RGBA32) - layer_palette=WEED_PALETTE_RGBA32; + else if (cfile->img_type == IMG_TYPE_PNG && layer_palette != WEED_PALETTE_RGBA32) + layer_palette = WEED_PALETTE_RGBA32; #else - layer_palette=WEED_PALETTE_RGB24; + layer_palette = WEED_PALETTE_RGB24; #endif - resize_layer(layer,cfile->hsize,cfile->vsize,LIVES_INTERP_BEST,layer_palette,0); - convert_layer_palette(layer,layer_palette,0); - pixbuf=layer_to_pixbuf(layer); + resize_layer(layer, cfile->hsize, cfile->vsize, LIVES_INTERP_BEST, layer_palette, 0); + convert_layer_palette(layer, layer_palette, 0); + pixbuf = layer_to_pixbuf(layer); weed_plant_free(layer); } - mainw->blend_file=blend_file; + mainw->blend_file = blend_file; } - } else tc=flush_audio_tc; + } else tc = flush_audio_tc; - next_frame_event=get_next_frame_event(event); + next_frame_event = get_next_frame_event(event); // get tc of next frame event - if (next_frame_event!=NULL) next_tc=get_event_timecode(next_frame_event); + if (next_frame_event != NULL) next_tc = get_event_timecode(next_frame_event); else { // reached end of event_list - if (has_audio&&!WEED_EVENT_IS_AUDIO_FRAME(event)) { + if (has_audio && !WEED_EVENT_IS_AUDIO_FRAME(event)) { // pad to end with silence - cfile->achans=cfile->undo_achans; - cfile->arate=cfile->undo_arate; - cfile->arps=cfile->undo_arps; - cfile->asampsize=cfile->undo_asampsize; - if (cfile->proc_ptr!=NULL) { - blabel=lives_strdup(lives_label_get_text(LIVES_LABEL(cfile->proc_ptr->label))); - lives_label_set_text(LIVES_LABEL(cfile->proc_ptr->label),nlabel); + cfile->achans = cfile->undo_achans; + cfile->arate = cfile->undo_arate; + cfile->arps = cfile->undo_arps; + cfile->asampsize = cfile->undo_asampsize; + if (cfile->proc_ptr != NULL) { + blabel = lives_strdup(lives_label_get_text(LIVES_LABEL(cfile->proc_ptr->label))); + lives_label_set_text(LIVES_LABEL(cfile->proc_ptr->label), nlabel); lives_widget_queue_draw(cfile->proc_ptr->processing); lives_widget_context_update(); } - mainw->read_failed=mainw->write_failed=FALSE; + mainw->read_failed = mainw->write_failed = FALSE; lives_freep((void **)&mainw->read_failed_file); - render_audio_segment(0, NULL, mainw->multitrack!=NULL?mainw->multitrack->render_file:mainw->current_file, - NULL, NULL, atime*U_SEC, q_gint64(tc+(U_SEC/cfile->fps*!is_blank),cfile->fps), + render_audio_segment(0, NULL, mainw->multitrack != NULL ? mainw->multitrack->render_file : mainw->current_file, + NULL, NULL, atime * U_SEC, q_gint64(tc + (U_SEC / cfile->fps * !is_blank), cfile->fps), chvols, 1., 1., NULL); if (mainw->write_failed) { - int outfile=(mainw->multitrack!=NULL?mainw->multitrack->render_file:mainw->current_file); - char *outfilename=lives_build_filename(prefs->workdir,mainw->files[outfile]->handle,"audio",NULL); - do_write_failed_error_s(outfilename,NULL); - read_write_error=LIVES_RENDER_ERROR_WRITE_AUDIO; + int outfile = (mainw->multitrack != NULL ? mainw->multitrack->render_file : mainw->current_file); + char *outfilename = lives_build_filename(prefs->workdir, mainw->files[outfile]->handle, "audio", NULL); + do_write_failed_error_s(outfilename, NULL); + read_write_error = LIVES_RENDER_ERROR_WRITE_AUDIO; } if (mainw->read_failed) { - do_read_failed_error_s(mainw->read_failed_file,NULL); - read_write_error=LIVES_RENDER_ERROR_READ_AUDIO; + do_read_failed_error_s(mainw->read_failed_file, NULL); + read_write_error = LIVES_RENDER_ERROR_READ_AUDIO; } - if (cfile->proc_ptr!=NULL) { - lives_label_set_text(LIVES_LABEL(cfile->proc_ptr->label),blabel); + if (cfile->proc_ptr != NULL) { + lives_label_set_text(LIVES_LABEL(cfile->proc_ptr->label), blabel); lives_free(blabel); lives_widget_queue_draw(cfile->proc_ptr->processing); lives_widget_context_update(); @@ -3691,200 +3696,200 @@ } } - while (cfile->fps>0.) { - if ((mainw->multitrack==NULL&&prefs->render_audio)||(mainw->multitrack!=NULL&&mainw->multitrack->opts.render_audp)) { + while (cfile->fps > 0.) { + if ((mainw->multitrack == NULL && prefs->render_audio) || (mainw->multitrack != NULL && mainw->multitrack->opts.render_audp)) { if (firstframe) { // see if audio needs appending if (WEED_EVENT_IS_AUDIO_FRAME(event)) { - int num_aclips=weed_leaf_num_elements(event,WEED_LEAF_AUDIO_CLIPS); - int *aclips=weed_get_int_array(event,WEED_LEAF_AUDIO_CLIPS,&weed_error); - double *aseeks=weed_get_double_array(event,WEED_LEAF_AUDIO_SEEKS,&weed_error); - int natracks=1,nbtracks=0; - - if (mainw->multitrack!=NULL) { - natracks=weed_leaf_num_elements(mainw->multitrack->avol_init_event,WEED_LEAF_IN_TRACKS); - nbtracks=mainw->multitrack->opts.back_audio_tracks; + int num_aclips = weed_leaf_num_elements(event, WEED_LEAF_AUDIO_CLIPS); + int *aclips = weed_get_int_array(event, WEED_LEAF_AUDIO_CLIPS, &weed_error); + double *aseeks = weed_get_double_array(event, WEED_LEAF_AUDIO_SEEKS, &weed_error); + int natracks = 1, nbtracks = 0; + + if (mainw->multitrack != NULL) { + natracks = weed_leaf_num_elements(mainw->multitrack->avol_init_event, WEED_LEAF_IN_TRACKS); + nbtracks = mainw->multitrack->opts.back_audio_tracks; } else { - natracks=1; - nbtracks=1; + natracks = 1; + nbtracks = 1; } - has_audio=TRUE; + has_audio = TRUE; - if (mainw->multitrack!=NULL) { - for (track=0; track<natracks; track++) { + if (mainw->multitrack != NULL) { + for (track = 0; track < natracks; track++) { // insert audio up to tc - if (mainw->multitrack->audio_vols!=NULL) { - chvols[track]=(double)LIVES_POINTER_TO_INT(lives_list_nth_data(mainw->multitrack->audio_vols,track))/1000000.; + if (mainw->multitrack->audio_vols != NULL) { + chvols[track] = (double)LIVES_POINTER_TO_INT(lives_list_nth_data(mainw->multitrack->audio_vols, track)) / 1000000.; } } } else { - chvols[0]=1.; + chvols[0] = 1.; } - if (flush_audio_tc>0||q_gint64(tc,cfile->fps)/U_SEC>atime) { - cfile->achans=cfile->undo_achans; - cfile->arate=cfile->undo_arate; - cfile->arps=cfile->undo_arps; - cfile->asampsize=cfile->undo_asampsize; - - if (cfile->proc_ptr!=NULL) { - blabel=lives_strdup(lives_label_get_text(LIVES_LABEL(cfile->proc_ptr->label))); - lives_label_set_text(LIVES_LABEL(cfile->proc_ptr->label),nlabel); + if (flush_audio_tc > 0 || q_gint64(tc, cfile->fps) / U_SEC > atime) { + cfile->achans = cfile->undo_achans; + cfile->arate = cfile->undo_arate; + cfile->arps = cfile->undo_arps; + cfile->asampsize = cfile->undo_asampsize; + + if (cfile->proc_ptr != NULL) { + blabel = lives_strdup(lives_label_get_text(LIVES_LABEL(cfile->proc_ptr->label))); + lives_label_set_text(LIVES_LABEL(cfile->proc_ptr->label), nlabel); lives_widget_queue_draw(cfile->proc_ptr->processing); lives_widget_context_update(); } - mainw->read_failed=mainw->write_failed=FALSE; + mainw->read_failed = mainw->write_failed = FALSE; lives_freep((void **)&mainw->read_failed_file); - render_audio_segment(natracks, xaclips, mainw->multitrack!=NULL?mainw->multitrack->render_file: - mainw->current_file, xavel, xaseek, (atime*U_SEC+.5), - q_gint64(tc+(U_SEC/cfile->fps*!is_blank),cfile->fps), chvols, 1., 1., NULL); + render_audio_segment(natracks, xaclips, mainw->multitrack != NULL ? mainw->multitrack->render_file : + mainw->current_file, xavel, xaseek, (atime * U_SEC + .5), + q_gint64(tc + (U_SEC / cfile->fps * !is_blank), cfile->fps), chvols, 1., 1., NULL); if (mainw->write_failed) { - int outfile=(mainw->multitrack!=NULL?mainw->multitrack->render_file:mainw->current_file); - char *outfilename=lives_build_filename(prefs->workdir,mainw->files[outfile]->handle,"audio",NULL); - do_write_failed_error_s(outfilename,NULL); - read_write_error=LIVES_RENDER_ERROR_WRITE_AUDIO; + int outfile = (mainw->multitrack != NULL ? mainw->multitrack->render_file : mainw->current_file); + char *outfilename = lives_build_filename(prefs->workdir, mainw->files[outfile]->handle, "audio", NULL); + do_write_failed_error_s(outfilename, NULL); + read_write_error = LIVES_RENDER_ERROR_WRITE_AUDIO; } if (mainw->read_failed) { - do_read_failed_error_s(mainw->read_failed_file,NULL); - read_write_error=LIVES_RENDER_ERROR_READ_AUDIO; + do_read_failed_error_s(mainw->read_failed_file, NULL); + read_write_error = LIVES_RENDER_ERROR_READ_AUDIO; } - if (cfile->proc_ptr!=NULL) { - lives_label_set_text(LIVES_LABEL(cfile->proc_ptr->label),blabel); + if (cfile->proc_ptr != NULL) { + lives_label_set_text(LIVES_LABEL(cfile->proc_ptr->label), blabel); lives_free(blabel); lives_widget_queue_draw(cfile->proc_ptr->processing); lives_widget_context_update(); } - for (i=0; i<natracks; i++) { - if (xaclips[i]>0) { - xaseek[i]+=(q_gint64(tc,cfile->fps)/U_SEC+1./cfile->fps-atime)*xavel[i]; + for (i = 0; i < natracks; i++) { + if (xaclips[i] > 0) { + xaseek[i] += (q_gint64(tc, cfile->fps) / U_SEC + 1. / cfile->fps - atime) * xavel[i]; } } - atime=q_gint64(tc,cfile->fps)/U_SEC+1./cfile->fps; + atime = q_gint64(tc, cfile->fps) / U_SEC + 1. / cfile->fps; } - for (i=0; i<num_aclips; i+=2) { - if (aclips[i+1]>0) { // clipnum - mytrack=aclips[i]+nbtracks; - xaclips[mytrack]=aclips[i+1]; - xaseek[mytrack]=aseeks[i]; - xavel[mytrack]=aseeks[i+1]; + for (i = 0; i < num_aclips; i += 2) { + if (aclips[i + 1] > 0) { // clipnum + mytrack = aclips[i] + nbtracks; + xaclips[mytrack] = aclips[i + 1]; + xaseek[mytrack] = aseeks[i]; + xavel[mytrack] = aseeks[i + 1]; } } lives_free(aclips); lives_free(aseeks); } - firstframe=FALSE; + firstframe = FALSE; } } - if (mainw->multitrack!=NULL&&mainw->multitrack->pr_audio) break; + if (mainw->multitrack != NULL && mainw->multitrack->pr_audio) break; - if (pixbuf==NULL) break; - if (next_frame_event==NULL&&is_blank) break; // don't render final blank frame - next_out_tc=(weed_timecode_t)((out_frame-mainw->play_start)/cfile->fps*U_SEC); // calculate tc of next out frame - - if (next_frame_event!=NULL) { - if (next_tc<next_out_tc||next_tc-next_out_tc<next_out_tc-tc) break; - } else if (next_out_tc>tc) break; - - if (cfile->old_frames>0) { - tmp=make_image_file_name(cfile,out_frame,LIVES_FILE_EXT_MGK); - lives_snprintf(oname,PATH_MAX,"%s",tmp); + if (pixbuf == NULL) break; + if (next_frame_event == NULL && is_blank) break; // don't render final blank frame + next_out_tc = (weed_timecode_t)((out_frame - mainw->play_start) / cfile->fps * U_SEC); // calculate tc of next out frame + + if (next_frame_event != NULL) { + if (next_tc < next_out_tc || next_tc - next_out_tc < next_out_tc - tc) break; + } else if (next_out_tc > tc) break; + + if (cfile->old_frames > 0) { + tmp = make_image_file_name(cfile, out_frame, LIVES_FILE_EXT_MGK); + lives_snprintf(oname, PATH_MAX, "%s", tmp); lives_free(tmp); } // sig_progress... - lives_snprintf(mainw->msg,256,"%d",progress++); + lives_snprintf(mainw->msg, 256, "%d", progress++); - if (prefs->ocp==-1) prefs->ocp=get_int_pref(PREF_OPEN_COMPRESSION_PERCENT); + if (prefs->ocp == -1) prefs->ocp = get_int_pref(PREF_OPEN_COMPRESSION_PERCENT); - if (cfile->old_frames==0) { - tmp=make_image_file_name(cfile,out_frame,get_image_ext_for_type(cfile->img_type)); - lives_snprintf(oname,PATH_MAX,"%s",tmp); + if (cfile->old_frames == 0) { + tmp = make_image_file_name(cfile, out_frame, get_image_ext_for_type(cfile->img_type)); + lives_snprintf(oname, PATH_MAX, "%s", tmp); lives_free(tmp); } do { - retval=0; - lives_pixbuf_save(pixbuf, oname, cfile->img_type, 100-prefs->ocp, TRUE, &error); + retval = 0; + lives_pixbuf_save(pixbuf, oname, cfile->img_type, 100 - prefs->ocp, TRUE, &error); - if (error!=NULL) { - retval=do_write_failed_error_s_with_retry(oname,error->message,NULL); + if (error != NULL) { + retval = do_write_failed_error_s_with_retry(oname, error->message, NULL); lives_error_free(error); - error=NULL; - if (retval!=LIVES_RESPONSE_RETRY) read_write_error=LIVES_RENDER_ERROR_WRITE_FRAME; + error = NULL; + if (retval != LIVES_RESPONSE_RETRY) read_write_error = LIVES_RENDER_ERROR_WRITE_FRAME; } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); - cfile->undo_end=out_frame; - if (out_frame>cfile->frames) cfile->frames=out_frame; - if (out_frame>cfile->end) cfile->end=out_frame; - if (cfile->start==0) cfile->start=1; + cfile->undo_end = out_frame; + if (out_frame > cfile->frames) cfile->frames = out_frame; + if (out_frame > cfile->end) cfile->end = out_frame; + if (cfile->start == 0) cfile->start = 1; out_frame++; } - if (pixbuf!=NULL) lives_object_unref(pixbuf); + if (pixbuf != NULL) lives_object_unref(pixbuf); break; case WEED_EVENT_HINT_FILTER_INIT: // effect init // bind the weed_fx to next free key/0 - filter_name=weed_get_string_value(event,WEED_LEAF_FILTER,&weed_error); + filter_name = weed_get_string_value(event, WEED_LEAF_FILTER, &weed_error); // for now, assume we can find hashname - idx=weed_get_idx_for_hashname(filter_name,TRUE); + idx = weed_get_idx_for_hashname(filter_name, TRUE); lives_free(filter_name); - filter=get_weed_filter(idx); - if (is_pure_audio(filter,FALSE)) { - if (weed_plant_has_leaf(event,WEED_LEAF_HOST_TAG)) weed_leaf_delete(event,WEED_LEAF_HOST_TAG); + filter = get_weed_filter(idx); + if (is_pure_audio(filter, FALSE)) { + if (weed_plant_has_leaf(event, WEED_LEAF_HOST_TAG)) weed_leaf_delete(event, WEED_LEAF_HOST_TAG); break; // audio effects are processed in the audio renderer } - key=get_next_free_key(); - weed_add_effectkey_by_idx(key+1,idx); - key_string=lives_strdup_printf("%d",key); - weed_set_string_value(event,WEED_LEAF_HOST_TAG,key_string); + key = get_next_free_key(); + weed_add_effectkey_by_idx(key + 1, idx); + key_string = lives_strdup_printf("%d", key); + weed_set_string_value(event, WEED_LEAF_HOST_TAG, key_string); lives_free(key_string); - if (weed_plant_has_leaf(event,WEED_LEAF_IN_COUNT)) { - num_in_count=weed_leaf_num_elements(event,WEED_LEAF_IN_COUNT); - in_count=weed_get_int_array(event,WEED_LEAF_IN_COUNT,&weed_error); - } - - if (weed_plant_has_leaf(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES)) { - if ((num_in_channels=weed_leaf_num_elements(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES))>0) { - bitmpl=(weed_plant_t **)weed_malloc(num_in_channels*sizeof(weed_plant_t *)); - citmpl=weed_get_plantptr_array(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES,&weed_error); - if (num_in_channels!=num_in_count) LIVES_ERROR("num_in_count != num_in_channels"); - for (i=0; i<num_in_channels; i++) { - bitmpl[i]=weed_plant_copy(citmpl[i]); - if (in_count[i]>0) { - weed_set_boolean_value(citmpl[i],WEED_LEAF_HOST_DISABLED,WEED_FALSE); - weed_set_int_value(citmpl[i],WEED_LEAF_HOST_REPEATS,in_count[i]); - } else weed_set_boolean_value(citmpl[i],WEED_LEAF_HOST_DISABLED,WEED_TRUE); + if (weed_plant_has_leaf(event, WEED_LEAF_IN_COUNT)) { + num_in_count = weed_leaf_num_elements(event, WEED_LEAF_IN_COUNT); + in_count = weed_get_int_array(event, WEED_LEAF_IN_COUNT, &weed_error); + } + + if (weed_plant_has_leaf(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES)) { + if ((num_in_channels = weed_leaf_num_elements(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES)) > 0) { + bitmpl = (weed_plant_t **)weed_malloc(num_in_channels * sizeof(weed_plant_t *)); + citmpl = weed_get_plantptr_array(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES, &weed_error); + if (num_in_channels != num_in_count) LIVES_ERROR("num_in_count != num_in_channels"); + for (i = 0; i < num_in_channels; i++) { + bitmpl[i] = weed_plant_copy(citmpl[i]); + if (in_count[i] > 0) { + weed_set_boolean_value(citmpl[i], WEED_LEAF_HOST_DISABLED, WEED_FALSE); + weed_set_int_value(citmpl[i], WEED_LEAF_HOST_REPEATS, in_count[i]); + } else weed_set_boolean_value(citmpl[i], WEED_LEAF_HOST_DISABLED, WEED_TRUE); } } } lives_freep((void **)&in_count); - if (weed_plant_has_leaf(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES)) { - if ((num_out_channels=weed_leaf_num_elements(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES))>0) { - cotmpl=weed_get_plantptr_array(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES,&weed_error); - botmpl=(weed_plant_t **)weed_malloc(num_out_channels*sizeof(weed_plant_t *)); - for (i=0; i<num_out_channels; i++) { - botmpl[i]=weed_plant_copy(cotmpl[i]); - if (!weed_plant_has_leaf(cotmpl[i],WEED_LEAF_HOST_DISABLED)|| - weed_get_boolean_value(cotmpl[i],WEED_LEAF_HOST_DISABLED,&weed_error)!=WEED_TRUE) - weed_set_boolean_value(cotmpl[i],WEED_LEAF_HOST_DISABLED,WEED_FALSE); - else weed_set_boolean_value(cotmpl[i],WEED_LEAF_HOST_DISABLED,WEED_TRUE); + if (weed_plant_has_leaf(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES)) { + if ((num_out_channels = weed_leaf_num_elements(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES)) > 0) { + cotmpl = weed_get_plantptr_array(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES, &weed_error); + botmpl = (weed_plant_t **)weed_malloc(num_out_channels * sizeof(weed_plant_t *)); + for (i = 0; i < num_out_channels; i++) { + botmpl[i] = weed_plant_copy(cotmpl[i]); + if (!weed_plant_has_leaf(cotmpl[i], WEED_LEAF_HOST_DISABLED) || + weed_get_boolean_value(cotmpl[i], WEED_LEAF_HOST_DISABLED, &weed_error) != WEED_TRUE) + weed_set_boolean_value(cotmpl[i], WEED_LEAF_HOST_DISABLED, WEED_FALSE); + else weed_set_boolean_value(cotmpl[i], WEED_LEAF_HOST_DISABLED, WEED_TRUE); } } } @@ -3893,122 +3898,122 @@ // restore channel state / number from backup - if (num_in_channels>0) { - for (i=0; i<num_in_channels; i++) { - if (weed_plant_has_leaf(bitmpl[i],WEED_LEAF_HOST_DISABLED)) - weed_set_boolean_value(citmpl[i],WEED_LEAF_HOST_DISABLED,weed_get_boolean_value(bitmpl[i],WEED_LEAF_HOST_DISABLED,&weed_error)); - else weed_leaf_delete(citmpl[i],WEED_LEAF_HOST_DISABLED); - if (weed_plant_has_leaf(bitmpl[i],WEED_LEAF_HOST_REPEATS)) - weed_set_int_value(citmpl[i],WEED_LEAF_HOST_REPEATS,weed_get_int_value(bitmpl[i],WEED_LEAF_HOST_REPEATS,&weed_error)); - else weed_leaf_delete(citmpl[i],WEED_LEAF_HOST_REPEATS); + if (num_in_channels > 0) { + for (i = 0; i < num_in_channels; i++) { + if (weed_plant_has_leaf(bitmpl[i], WEED_LEAF_HOST_DISABLED)) + weed_set_boolean_value(citmpl[i], WEED_LEAF_HOST_DISABLED, weed_get_boolean_value(bitmpl[i], WEED_LEAF_HOST_DISABLED, &weed_error)); + else weed_leaf_delete(citmpl[i], WEED_LEAF_HOST_DISABLED); + if (weed_plant_has_leaf(bitmpl[i], WEED_LEAF_HOST_REPEATS)) + weed_set_int_value(citmpl[i], WEED_LEAF_HOST_REPEATS, weed_get_int_value(bitmpl[i], WEED_LEAF_HOST_REPEATS, &weed_error)); + else weed_leaf_delete(citmpl[i], WEED_LEAF_HOST_REPEATS); } lives_free(bitmpl); lives_free(citmpl); } - if (num_out_channels>0) { - for (i=0; i<num_out_channels; i++) { - if (weed_plant_has_leaf(botmpl[i],WEED_LEAF_HOST_DISABLED)) - weed_set_boolean_value(cotmpl[i],WEED_LEAF_HOST_DISABLED,weed_get_boolean_value(botmpl[i],WEED_LEAF_HOST_DISABLED,&weed_error)); - else weed_leaf_delete(cotmpl[i],WEED_LEAF_HOST_DISABLED); - if (weed_plant_has_leaf(botmpl[i],WEED_LEAF_HOST_REPEATS)) - weed_set_int_value(cotmpl[i],WEED_LEAF_HOST_REPEATS,weed_get_int_value(botmpl[i],WEED_LEAF_HOST_REPEATS,&weed_error)); - else weed_leaf_delete(cotmpl[i],WEED_LEAF_HOST_REPEATS); + if (num_out_channels > 0) { + for (i = 0; i < num_out_channels; i++) { + if (weed_plant_has_leaf(botmpl[i], WEED_LEAF_HOST_DISABLED)) + weed_set_boolean_value(cotmpl[i], WEED_LEAF_HOST_DISABLED, weed_get_boolean_value(botmpl[i], WEED_LEAF_HOST_DISABLED, &weed_error)); + else weed_leaf_delete(cotmpl[i], WEED_LEAF_HOST_DISABLED); + if (weed_plant_has_leaf(botmpl[i], WEED_LEAF_HOST_REPEATS)) + weed_set_int_value(cotmpl[i], WEED_LEAF_HOST_REPEATS, weed_get_int_value(botmpl[i], WEED_LEAF_HOST_REPEATS, &weed_error)); + else weed_leaf_delete(cotmpl[i], WEED_LEAF_HOST_REPEATS); } lives_free(botmpl); lives_free(cotmpl); } // reinit effect with saved parameters - inst=rte_keymode_get_instance(key+1,0); + inst = rte_keymode_get_instance(key + 1, 0); - if (weed_plant_has_leaf(event,WEED_LEAF_IN_PARAMETERS)) { - pchains[key]=weed_get_voidptr_array(event,WEED_LEAF_IN_PARAMETERS,&weed_error); - } else pchains[key]=NULL; + if (weed_plant_has_leaf(event, WEED_LEAF_IN_PARAMETERS)) { + pchains[key] = weed_get_voidptr_array(event, WEED_LEAF_IN_PARAMETERS, &weed_error); + } else pchains[key] = NULL; filterinit2: - num_params=num_in_params(inst,FALSE,FALSE); + num_params = num_in_params(inst, FALSE, FALSE); - if (num_params>0) { + if (num_params > 0) { weed_call_deinit_func(inst); - if (weed_plant_has_leaf(event,WEED_LEAF_IN_PARAMETERS)) { - source_params=(weed_plant_t **)pchains[key]; - in_params=weed_get_plantptr_array(inst,WEED_LEAF_IN_PARAMETERS,&weed_error); - - for (i=0; i<num_params; i++) { - if (source_params!=NULL&&source_params[i+offset]!=NULL&&is_init_pchange(event,source_params[i+offset])) - weed_leaf_copy(in_params[i],WEED_LEAF_VALUE,source_params[i+offset],WEED_LEAF_VALUE); + if (weed_plant_has_leaf(event, WEED_LEAF_IN_PARAMETERS)) { + source_params = (weed_plant_t **)pchains[key]; + in_params = weed_get_plantptr_array(inst, WEED_LEAF_IN_PARAMETERS, &weed_error); + + for (i = 0; i < num_params; i++) { + if (source_params != NULL && source_params[i + offset] != NULL && is_init_pchange(event, source_params[i + offset])) + weed_leaf_copy(in_params[i], WEED_LEAF_VALUE, source_params[i + offset], WEED_LEAF_VALUE); } lives_free(in_params); } - offset+=num_params; + offset += num_params; - filter=weed_instance_get_filter(inst,FALSE); + filter = weed_instance_get_filter(inst, FALSE); - if (weed_plant_has_leaf(filter,WEED_LEAF_INIT_FUNC)) { + if (weed_plant_has_leaf(filter, WEED_LEAF_INIT_FUNC)) { weed_deinit_f *init_func_ptr_ptr; weed_init_f init_func; - weed_leaf_get(filter,WEED_LEAF_INIT_FUNC,0,(void *)&init_func_ptr_ptr); - init_func=init_func_ptr_ptr[0]; + weed_leaf_get(filter, WEED_LEAF_INIT_FUNC, 0, (void *)&init_func_ptr_ptr); + init_func = init_func_ptr_ptr[0]; set_param_gui_readwrite(inst); update_host_info(inst); - if (init_func!=NULL) { - char *cwd=cd_to_plugin_dir(filter); + if (init_func != NULL) { + char *cwd = cd_to_plugin_dir(filter); (*init_func)(inst); - lives_chdir(cwd,FALSE); + lives_chdir(cwd, FALSE); lives_free(cwd); } set_param_gui_readonly(inst); } - weed_set_boolean_value(inst,WEED_LEAF_HOST_INITED,WEED_TRUE); + weed_set_boolean_value(inst, WEED_LEAF_HOST_INITED, WEED_TRUE); } - if (weed_plant_has_leaf(event,WEED_LEAF_HOST_KEY)) { + if (weed_plant_has_leaf(event, WEED_LEAF_HOST_KEY)) { // mt events will not have this; // it is used to connect params and alpha channels during rendering // holds our original key/mode values - int hostkey=weed_get_int_value(event,WEED_LEAF_HOST_KEY,&weed_error); - int hostmode=weed_get_int_value(event,WEED_LEAF_HOST_MODE,&weed_error); + int hostkey = weed_get_int_value(event, WEED_LEAF_HOST_KEY, &weed_error); + int hostmode = weed_get_int_value(event, WEED_LEAF_HOST_MODE, &weed_error); - weed_set_int_value(inst,WEED_LEAF_HOST_KEY,hostkey); - weed_set_int_value(inst,WEED_LEAF_HOST_MODE,hostmode); + weed_set_int_value(inst, WEED_LEAF_HOST_KEY, hostkey); + weed_set_int_value(inst, WEED_LEAF_HOST_MODE, hostmode); } - if (weed_plant_has_leaf(inst,WEED_LEAF_HOST_NEXT_INSTANCE)) { + if (weed_plant_has_leaf(inst, WEED_LEAF_HOST_NEXT_INSTANCE)) { // handle compound fx - inst=weed_get_plantptr_value(inst,WEED_LEAF_HOST_NEXT_INSTANCE,&weed_error); + inst = weed_get_plantptr_value(inst, WEED_LEAF_HOST_NEXT_INSTANCE, &weed_error); goto filterinit2; } break; case WEED_EVENT_HINT_FILTER_DEINIT: - init_event=weed_get_voidptr_value(event,WEED_LEAF_INIT_EVENT,&weed_error); + init_event = weed_get_voidptr_value(event, WEED_LEAF_INIT_EVENT, &weed_error); - filter_name=weed_get_string_value((weed_plant_t *)init_event,WEED_LEAF_FILTER,&weed_error); + filter_name = weed_get_string_value((weed_plant_t *)init_event, WEED_LEAF_FILTER, &weed_error); // for now, assume we can find hashname - idx=weed_get_idx_for_hashname(filter_name,TRUE); + idx = weed_get_idx_for_hashname(filter_name, TRUE); lives_free(filter_name); - filter=get_weed_filter(idx); - if (is_pure_audio(filter,FALSE)) break; // audio effects are processed in the audio renderer + filter = get_weed_filter(idx); + if (is_pure_audio(filter, FALSE)) break; // audio effects are processed in the audio renderer - key_string=weed_get_string_value((weed_plant_t *)init_event,WEED_LEAF_HOST_TAG,&weed_error); - key=atoi(key_string); + key_string = weed_get_string_value((weed_plant_t *)init_event, WEED_LEAF_HOST_TAG, &weed_error); + key = atoi(key_string); lives_free(key_string); - if (rte_keymode_get_instance(key+1,0)!=NULL) { + if (rte_keymode_get_instance(key + 1, 0) != NULL) { weed_deinit_effect(key); - weed_delete_effectkey(key+1,0); + weed_delete_effectkey(key + 1, 0); } // no freep ! - if (pchains[key]!=NULL) lives_free(pchains[key]); - pchains[key]=NULL; + if (pchains[key] != NULL) lives_free(pchains[key]); + pchains[key] = NULL; break; case WEED_EVENT_HINT_PARAM_CHANGE: break; @@ -4016,39 +4021,39 @@ #ifdef DEBUG_EVENTS g_print("got new effect map\n"); #endif - mainw->filter_map=event; + mainw->filter_map = event; break; } - event=eventnext; + event = eventnext; } else { lives_mt *multi; - if (cfile->old_frames==0) cfile->undo_start=cfile->undo_end=0; - if (mainw->multitrack==NULL||!mainw->multitrack->pr_audio) { - com=lives_strdup_printf("%s mv_mgk \"%s\" %d %d \"%s\"",prefs->backend,cfile->handle,cfile->undo_start, - cfile->undo_end,get_image_ext_for_type(cfile->img_type)); + if (cfile->old_frames == 0) cfile->undo_start = cfile->undo_end = 0; + if (mainw->multitrack == NULL || !mainw->multitrack->pr_audio) { + com = lives_strdup_printf("%s mv_mgk \"%s\" %d %d \"%s\"", prefs->backend, cfile->handle, cfile->undo_start, + cfile->undo_end, get_image_ext_for_type(cfile->img_type)); lives_rm(cfile->info_file); - mainw->error=FALSE; - mainw->com_failed=FALSE; - mainw->cancelled=CANCEL_NONE; + mainw->error = FALSE; + mainw->com_failed = FALSE; + mainw->cancelled = CANCEL_NONE; - lives_system(com,FALSE); + lives_system(com, FALSE); lives_free(com); - mainw->is_rendering=mainw->internal_messaging=FALSE; + mainw->is_rendering = mainw->internal_messaging = FALSE; if (mainw->com_failed) { - read_write_error=LIVES_RENDER_ERROR_WRITE_FRAME; + read_write_error = LIVES_RENDER_ERROR_WRITE_FRAME; // cfile->may_be_damaged=TRUE; } - } else lives_snprintf(mainw->msg,512,"completed"); + } else lives_snprintf(mainw->msg, 512, "completed"); - multi=mainw->multitrack; - mainw->multitrack=NULL; // allow setting of audio filesize now + multi = mainw->multitrack; + mainw->multitrack = NULL; // allow setting of audio filesize now reget_afilesize(mainw->current_file); - mainw->multitrack=multi; - mainw->filter_map=NULL; - mainw->afilter_map=NULL; - completed=TRUE; + mainw->multitrack = multi; + mainw->filter_map = NULL; + mainw->afilter_map = NULL; + completed = TRUE; } lives_free(nlabel); @@ -4066,81 +4071,81 @@ // return FALSE in case of serious error - lives_mt *multi=mainw->multitrack; + lives_mt *multi = mainw->multitrack; - double old_pb_fps=cfile->pb_fps; - int oundo_start=cfile->undo_start; - int oundo_end=cfile->undo_end; + double old_pb_fps = cfile->pb_fps; + int oundo_start = cfile->undo_start; + int oundo_end = cfile->undo_end; - if (event_list==NULL) return TRUE; //oh, that was easy ! + if (event_list == NULL) return TRUE; //oh, that was easy ! - mainw->is_rendering=mainw->internal_messaging=TRUE; - cfile->next_event=get_first_event(event_list); + mainw->is_rendering = mainw->internal_messaging = TRUE; + cfile->next_event = get_first_event(event_list); - mainw->progress_fn=&render_events; + mainw->progress_fn = &render_events; mainw->progress_fn(TRUE); - cfile->progress_start=1; - cfile->progress_end=count_resampled_events(event_list, cfile->fps); + cfile->progress_start = 1; + cfile->progress_end = count_resampled_events(event_list, cfile->fps); - cfile->pb_fps=1000000.; + cfile->pb_fps = 1000000.; - cfile->redoable=cfile->undoable=FALSE; + cfile->redoable = cfile->undoable = FALSE; lives_widget_set_sensitive(mainw->redo, FALSE); lives_widget_set_sensitive(mainw->undo, FALSE); - cfile->undo_action=UNDO_RENDER; + cfile->undo_action = UNDO_RENDER; // play back the file as fast as possible, each time calling render_events() - if ((!do_progress_dialog(TRUE,TRUE,"Rendering")&&mainw->cancelled!=CANCEL_KEEP)||mainw->error|| - mainw->render_error>=LIVES_RENDER_ERROR + if ((!do_progress_dialog(TRUE, TRUE, "Rendering") && mainw->cancelled != CANCEL_KEEP) || mainw->error || + mainw->render_error >= LIVES_RENDER_ERROR ) { - mainw->cancel_type=CANCEL_KILL; - mainw->cancelled=CANCEL_NONE; + mainw->cancel_type = CANCEL_KILL; + mainw->cancelled = CANCEL_NONE; if (mainw->error) { do_error_dialog(mainw->msg); d_print_failed(); - } else if (mainw->render_error>=LIVES_RENDER_ERROR) d_print_failed(); + } else if (mainw->render_error >= LIVES_RENDER_ERROR) d_print_failed(); //else d_print_cancelled(); - cfile->undo_start=oundo_start; - cfile->undo_end=oundo_end; - cfile->pb_fps=old_pb_fps; - cfile->frames=cfile->old_frames; - mainw->internal_messaging=FALSE; - mainw->resizing=FALSE; - cfile->next_event=NULL; + cfile->undo_start = oundo_start; + cfile->undo_end = oundo_end; + cfile->pb_fps = old_pb_fps; + cfile->frames = cfile->old_frames; + mainw->internal_messaging = FALSE; + mainw->resizing = FALSE; + cfile->next_event = NULL; return FALSE; } if (mainw->effects_paused) { // pressed "Keep", render audio to end of segment - mainw->effects_paused=FALSE; - flush_audio_tc=q_gint64((double)cfile->undo_end/cfile->fps*U_SEC,cfile->fps); + mainw->effects_paused = FALSE; + flush_audio_tc = q_gint64((double)cfile->undo_end / cfile->fps * U_SEC, cfile->fps); render_events(FALSE); - flush_audio_tc=0; - mainw->multitrack=NULL; // allow setting of audio filesize now + flush_audio_tc = 0; + mainw->multitrack = NULL; // allow setting of audio filesize now reget_afilesize(mainw->current_file); - mainw->multitrack=multi; + mainw->multitrack = multi; } - mainw->cancel_type=CANCEL_KILL; - mainw->cancelled=CANCEL_NONE; - cfile->changed=TRUE; + mainw->cancel_type = CANCEL_KILL; + mainw->cancelled = CANCEL_NONE; + cfile->changed = TRUE; reget_afilesize(mainw->current_file); get_total_time(cfile); - if (cfile->total_time==0) { + if (cfile->total_time == 0) { d_print(_("nothing rendered.\n")); return FALSE; } lives_widget_set_sensitive(mainw->undo, TRUE); - cfile->undoable=TRUE; - cfile->pb_fps=old_pb_fps; + cfile->undoable = TRUE; + cfile->pb_fps = old_pb_fps; lives_widget_set_sensitive(mainw->select_last, TRUE); - set_undoable(_("rendering"),TRUE); - cfile->next_event=NULL; + set_undoable(_("rendering"), TRUE); + cfile->next_event = NULL; return TRUE; } @@ -4149,16 +4154,16 @@ int count_events(weed_plant_t *event_list, boolean all_events, weed_timecode_t start_tc, weed_timecode_t end_tc) { weed_plant_t *event; weed_timecode_t tc; - register int i=0; + register int i = 0; - if (event_list==NULL) return 0; - event=get_first_event(event_list); + if (event_list == NULL) return 0; + event = get_first_event(event_list); - while (event!=NULL) { - tc=get_event_timecode(event); - if ((all_events||(WEED_EVENT_IS_FRAME(event)&&!WEED_EVENT_IS_AUDIO_FRAME(event)))&& - (end_tc==0||(tc>=start_tc&&tc<end_tc))) i++; - event=get_next_event(event); + while (event != NULL) { + tc = get_event_timecode(event); + if ((all_events || (WEED_EVENT_IS_FRAME(event) && !WEED_EVENT_IS_AUDIO_FRAME(event))) && + (end_tc == 0 || (tc >= start_tc && tc < end_tc))) i++; + event = get_next_event(event); } return i; } @@ -4167,70 +4172,70 @@ int count_resampled_events(weed_plant_t *event_list, double fps) { weed_plant_t *event; - weed_timecode_t tc,seg_start_tc=0,seg_end_tc=0; + weed_timecode_t tc, seg_start_tc = 0, seg_end_tc = 0; - int rframes=0,hint,marker_type,error; + int rframes = 0, hint, marker_type, error; - boolean seg_start=FALSE; + boolean seg_start = FALSE; - if (event_list==NULL) return 0; - event=get_first_event(event_list); + if (event_list == NULL) return 0; + event = get_first_event(event_list); - while (event!=NULL) { - hint=get_event_hint(event); - if (hint==WEED_EVENT_HINT_FRAME) { - tc=get_event_timecode(event); + while (event != NULL) { + hint = get_event_hint(event); + if (hint == WEED_EVENT_HINT_FRAME) { + tc = get_event_timecode(event); if (!seg_start) { - seg_start_tc=seg_end_tc=tc; - seg_start=TRUE; + seg_start_tc = seg_end_tc = tc; + seg_start = TRUE; } else { - seg_end_tc=tc; + seg_end_tc = tc; } } else { - if (hint==WEED_EVENT_HINT_MARKER) { - marker_type=weed_get_int_value(event,WEED_LEAF_LIVES_TYPE,&error); - if (marker_type==EVENT_MARKER_RECORD_END) { + if (hint == WEED_EVENT_HINT_MARKER) { + marker_type = weed_get_int_value(event, WEED_LEAF_LIVES_TYPE, &error); + if (marker_type == EVENT_MARKER_RECORD_END) { // add (resampled) frames for one recording stretch - if (seg_start) rframes+=1+((double)(seg_end_tc-seg_start_tc))/U_SEC*fps; - seg_start=FALSE; + if (seg_start) rframes += 1 + ((double)(seg_end_tc - seg_start_tc)) / U_SEC * fps; + seg_start = FALSE; } } } - event=get_next_event(event); + event = get_next_event(event); } - if (seg_start) rframes+=1+((double)(seg_end_tc-seg_start_tc))/U_SEC*fps; + if (seg_start) rframes += 1 + ((double)(seg_end_tc - seg_start_tc)) / U_SEC * fps; return rframes; } weed_timecode_t event_list_get_end_tc(weed_plant_t *event_list) { - if (event_list==NULL||get_last_event(event_list)==NULL) return 0.; + if (event_list == NULL || get_last_event(event_list) == NULL) return 0.; return get_event_timecode(get_last_event(event_list)); } double event_list_get_end_secs(weed_plant_t *event_list) { - return (event_list_get_end_tc(event_list)/U_SEC); + return (event_list_get_end_tc(event_list) / U_SEC); } weed_timecode_t event_list_get_start_tc(weed_plant_t *event_list) { - if (event_list==NULL||get_first_event(event_list)==NULL) return 0.; + if (event_list == NULL || get_first_event(event_list) == NULL) return 0.; return get_event_timecode(get_first_event(event_list)); } double event_list_get_start_secs(weed_plant_t *event_list) { - return (event_list_get_start_tc(event_list)/U_SEC); + return (event_list_get_start_tc(event_list) / U_SEC); } boolean has_audio_frame(weed_plant_t *event_list) { - weed_plant_t *event=get_first_frame_event(event_list); - while (event!=NULL) { + weed_plant_t *event = get_first_frame_event(event_list); + while (event != NULL) { if (WEED_EVENT_IS_AUDIO_FRAME(event)) return TRUE; - event=get_next_frame_event(event); + event = get_next_frame_event(event); } return FALSE; } @@ -4243,49 +4248,49 @@ // this function is called to actually start rendering mainw->event_list to a new/current clip char *com; - boolean retval=TRUE; - boolean rendaud=TRUE; + boolean retval = TRUE; + boolean rendaud = TRUE; boolean response; - int xachans=0,xarate=0,xasamps=0,xse=0; - int current_file=mainw->current_file; + int xachans = 0, xarate = 0, xasamps = 0, xse = 0; + int current_file = mainw->current_file; if (new_clip) { if (prefs->render_prompt) { //set file details - rdet=create_render_details(2); + rdet = create_render_details(2); if (!has_audio_frame(mainw->event_list)) { lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(resaudw->aud_checkbutton), FALSE); - lives_widget_set_sensitive(resaudw->aud_checkbutton,FALSE); + lives_widget_set_sensitive(resaudw->aud_checkbutton, FALSE); } - rdet->enc_changed=FALSE; + rdet->enc_changed = FALSE; do { - rdet->suggestion_followed=FALSE; - if ((response=lives_dialog_run(LIVES_DIALOG(rdet->dialog)))==LIVES_RESPONSE_OK) if (rdet->enc_changed) { - check_encoder_restrictions(FALSE,TRUE,TRUE); + rdet->suggestion_followed = FALSE; + if ((response = lives_dialog_run(LIVES_DIALOG(rdet->dialog))) == LIVES_RESPONSE_OK) if (rdet->enc_changed) { + check_encoder_restrictions(FALSE, TRUE, TRUE); } } while (rdet->suggestion_followed); - xarate=(int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_arate))); - xachans=(int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_achans))); - xasamps=(int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_asamps))); + xarate = (int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_arate))); + xachans = (int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_achans))); + xasamps = (int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_asamps))); // do we render audio ? - rendaud=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->aud_checkbutton)); + rendaud = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->aud_checkbutton)); if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->rb_unsigned))) { - xse=AFORM_UNSIGNED; - } else xse=AFORM_SIGNED; + xse = AFORM_UNSIGNED; + } else xse = AFORM_SIGNED; if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->rb_bigend))) { - xse|=AFORM_BIG_ENDIAN; - } else xse|=AFORM_LITTLE_ENDIAN; + xse |= AFORM_BIG_ENDIAN; + } else xse |= AFORM_LITTLE_ENDIAN; lives_widget_destroy(rdet->dialog); - if (response==LIVES_RESPONSE_CANCEL) { + if (response == LIVES_RESPONSE_CANCEL) { lives_free(rdet->encoder_name); lives_freep((void **)&rdet); lives_freep((void **)&resaudw); @@ -4294,16 +4299,16 @@ } - if (mainw->current_file>-1&&cfile!=NULL&&cfile->clip_type==CLIP_TYPE_GENERATOR) { + if (mainw->current_file > -1 && cfile != NULL && cfile->clip_type == CLIP_TYPE_GENERATOR) { weed_generator_end((weed_plant_t *)cfile->ext_src); } // create new file - mainw->current_file=mainw->first_free_file; + mainw->current_file = mainw->first_free_file; - if (!get_new_handle(mainw->current_file,NULL)) { + if (!get_new_handle(mainw->current_file, NULL)) { // bummer... - mainw->current_file=current_file; + mainw->current_file = current_file; if (prefs->mt_enter_prompt) { lives_free(rdet->encoder_name); @@ -4314,142 +4319,142 @@ } if (prefs->render_prompt) { - cfile->hsize=rdet->width; - cfile->vsize=rdet->height; - cfile->pb_fps=cfile->fps=rdet->fps; - cfile->ratio_fps=rdet->ratio_fps; - - cfile->arps=cfile->arate=xarate; - cfile->achans=xachans; - cfile->asampsize=xasamps; - cfile->signed_endian=xse; + cfile->hsize = rdet->width; + cfile->vsize = rdet->height; + cfile->pb_fps = cfile->fps = rdet->fps; + cfile->ratio_fps = rdet->ratio_fps; + + cfile->arps = cfile->arate = xarate; + cfile->achans = xachans; + cfile->asampsize = xasamps; + cfile->signed_endian = xse; lives_free(rdet->encoder_name); lives_freep((void **)&rdet); lives_freep((void **)&resaudw); } else { - cfile->hsize=prefs->mt_def_width; - cfile->vsize=prefs->mt_def_height; - cfile->pb_fps=cfile->fps=prefs->mt_def_fps; - cfile->ratio_fps=FALSE; - cfile->arate=cfile->arps=prefs->mt_def_arate; - cfile->achans=prefs->mt_def_achans; - cfile->asampsize=prefs->mt_def_asamps; - cfile->signed_endian=prefs->mt_def_signed_endian; + cfile->hsize = prefs->mt_def_width; + cfile->vsize = prefs->mt_def_height; + cfile->pb_fps = cfile->fps = prefs->mt_def_fps; + cfile->ratio_fps = FALSE; + cfile->arate = cfile->arps = prefs->mt_def_arate; + cfile->achans = prefs->mt_def_achans; + cfile->asampsize = prefs->mt_def_asamps; + cfile->signed_endian = prefs->mt_def_signed_endian; } - cfile->bpp=cfile->img_type==IMG_TYPE_JPEG?24:32; - cfile->is_loaded=TRUE; - } else if (mainw->multitrack==NULL) { + cfile->bpp = cfile->img_type == IMG_TYPE_JPEG ? 24 : 32; + cfile->is_loaded = TRUE; + } else if (mainw->multitrack == NULL) { // back up audio to audio.back (in case we overwrite it) - if (prefs->rec_opts&REC_AUDIO) { - do_threaded_dialog(_("Backing up audio..."),FALSE); - com=lives_strdup_printf("%s backup_audio \"%s\"",prefs->backend_sync,cfile->handle); - mainw->com_failed=FALSE; - mainw->error=FALSE; - mainw->cancelled=CANCEL_NONE; + if (prefs->rec_opts & REC_AUDIO) { + do_threaded_dialog(_("Backing up audio..."), FALSE); + com = lives_strdup_printf("%s backup_audio \"%s\"", prefs->backend_sync, cfile->handle); + mainw->com_failed = FALSE; + mainw->error = FALSE; + mainw->cancelled = CANCEL_NONE; lives_rm(cfile->info_file); - lives_system(com,FALSE); + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) return FALSE; } else { - do_threaded_dialog(_("Clearing up clip..."),FALSE); - com=lives_strdup_printf("%s clear_tmp_files \"%s\"",prefs->backend_sync,cfile->handle); - lives_system(com,FALSE); + do_threaded_dialog(_("Clearing up clip..."), FALSE); + com = lives_strdup_printf("%s clear_tmp_files \"%s\"", prefs->backend_sync, cfile->handle); + lives_system(com, FALSE); lives_free(com); } end_threaded_dialog(); } - if (mainw->multitrack!=NULL&&mainw->multitrack->pr_audio) d_print(_("Pre-rendering audio...")); + if (mainw->multitrack != NULL && mainw->multitrack->pr_audio) d_print(_("Pre-rendering audio...")); else d_print(_("Rendering...")); - cfile->old_frames=cfile->frames; - cfile->changed=TRUE; - mainw->effects_paused=FALSE; + cfile->old_frames = cfile->frames; + cfile->changed = TRUE; + mainw->effects_paused = FALSE; if (new_clip) { - cfile->img_type=IMG_TYPE_BEST; // override the pref + cfile->img_type = IMG_TYPE_BEST; // override the pref } - prefs->render_audio=rendaud; + prefs->render_audio = rendaud; init_track_decoders(); if (start_render_effect_events(mainw->event_list)) { // re-render, applying effects // and reordering/resampling/resizing if necessary - if (mainw->multitrack==NULL&&mainw->event_list!=NULL) { + if (mainw->multitrack == NULL && mainw->event_list != NULL) { if (!new_clip) { // this is needed in case we render to same clip, and then undo /////// - if (cfile->event_list_back!=NULL) event_list_free(cfile->event_list_back); - cfile->event_list_back=mainw->event_list; + if (cfile->event_list_back != NULL) event_list_free(cfile->event_list_back); + cfile->event_list_back = mainw->event_list; /////////////////////////////////////////////////////////////////////// } else event_list_free(mainw->event_list); } - mainw->event_list=NULL; + mainw->event_list = NULL; if (new_clip) { char *tmp; - int old_file=current_file; - cfile->start=1; - cfile->end=cfile->frames; + int old_file = current_file; + cfile->start = 1; + cfile->end = cfile->frames; - set_undoable(NULL,FALSE); + set_undoable(NULL, FALSE); add_to_clipmenu(); - current_file=mainw->current_file; + current_file = mainw->current_file; if (!save_clip_values(current_file)) { close_current_file(old_file); - mainw->effects_paused=FALSE; + mainw->effects_paused = FALSE; deinit_render_effects(); audio_free_fnames(); d_print_failed(); return FALSE; } if (prefs->crash_recovery) add_to_recovery_file(cfile->handle); - switch_to_file((mainw->current_file=0),current_file); - d_print((tmp=lives_strdup_printf(_("rendered %d frames to new clip.\n"),cfile->frames))); + switch_to_file((mainw->current_file = 0), current_file); + d_print((tmp = lives_strdup_printf(_("rendered %d frames to new clip.\n"), cfile->frames))); lives_free(tmp); - mainw->pre_src_file=mainw->current_file; // if a generator started playback, we will switch back to this file after - lives_notify(LIVES_OSC_NOTIFY_CLIP_OPENED,""); + mainw->pre_src_file = mainw->current_file; // if a generator started playback, we will switch back to this file after + lives_notify(LIVES_OSC_NOTIFY_CLIP_OPENED, ""); } else { // rendered to same clip - update number of frames - save_clip_value(mainw->current_file,CLIP_DETAILS_FRAMES,&cfile->frames); - if (mainw->com_failed||mainw->write_failed) do_header_write_error(mainw->current_file); + save_clip_value(mainw->current_file, CLIP_DETAILS_FRAMES, &cfile->frames); + if (mainw->com_failed || mainw->write_failed) do_header_write_error(mainw->current_file); } - if (cfile->clip_type==CLIP_TYPE_FILE) { + if (cfile->clip_type == CLIP_TYPE_FILE) { lives_freep((void **)&cfile->frame_index_back); - cfile->frame_index_back=cfile->frame_index; - cfile->frame_index=NULL; + cfile->frame_index_back = cfile->frame_index; + cfile->frame_index = NULL; - if (cfile->undo_start==1&&cfile->undo_end==cfile->frames) { - cfile->clip_type=CLIP_TYPE_DISK; + if (cfile->undo_start == 1 && cfile->undo_end == cfile->frames) { + cfile->clip_type = CLIP_TYPE_DISK; del_frame_index(cfile); } else { register int i; - create_frame_index(mainw->current_file,FALSE,0,cfile->frames); - for (i=0; i<cfile->undo_start-1; i++) { - cfile->frame_index[i]=cfile->frame_index_back[i]; + create_frame_index(mainw->current_file, FALSE, 0, cfile->frames); + for (i = 0; i < cfile->undo_start - 1; i++) { + cfile->frame_index[i] = cfile->frame_index_back[i]; } - for (i=cfile->undo_start-1; i<cfile->undo_end; i++) { - cfile->frame_index[i]=-1; + for (i = cfile->undo_start - 1; i < cfile->undo_end; i++) { + cfile->frame_index[i] = -1; } - for (i=cfile->undo_end; i<cfile->frames; i++) { - cfile->frame_index[i]=cfile->frame_index_back[i]; + for (i = cfile->undo_end; i < cfile->frames; i++) { + cfile->frame_index[i] = cfile->frame_index_back[i]; } save_frame_index(mainw->current_file); } } } else { - retval=FALSE; // cancelled or error, so show the dialog again - if (new_clip&&mainw->multitrack==NULL) { + retval = FALSE; // cancelled or error, so show the dialog again + if (new_clip && mainw->multitrack == NULL) { close_current_file(current_file); } } - mainw->effects_paused=FALSE; + mainw->effects_paused = FALSE; free_track_decoders(); deinit_render_effects(); audio_free_fnames(); @@ -4477,144 +4482,144 @@ double df; - boolean new_clip=FALSE; - boolean was_paused=mainw->record_paused; + boolean new_clip = FALSE; + boolean was_paused = mainw->record_paused; - int dh,dw,dar,das,dac,dse; + int dh, dw, dar, das, dac, dse; int oplay_start; // record end - mainw->record=FALSE; - mainw->record_paused=FALSE; + mainw->record = FALSE; + mainw->record_paused = FALSE; - lives_signal_handler_block(mainw->record_perf,mainw->record_perf_func); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->record_perf),FALSE); - lives_signal_handler_unblock(mainw->record_perf,mainw->record_perf_func); + lives_signal_handler_block(mainw->record_perf, mainw->record_perf_func); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->record_perf), FALSE); + lives_signal_handler_unblock(mainw->record_perf, mainw->record_perf_func); - if (count_events(mainw->event_list,FALSE,0,0)==0) { + if (count_events(mainw->event_list, FALSE, 0, 0) == 0) { event_list_free(mainw->event_list); - mainw->event_list=NULL; + mainw->event_list = NULL; } - if (mainw->event_list==NULL) { + if (mainw->event_list == NULL) { dprint_recneg(); return FALSE; } // add deinit events for any effects that are left on - if (add_deinit&&!was_paused) mainw->event_list=add_filter_deinit_events(mainw->event_list); + if (add_deinit && !was_paused) mainw->event_list = add_filter_deinit_events(mainw->event_list); if (add_deinit) event_list_close_gaps(mainw->event_list); // need to retain play_start for rendering to same clip - oplay_start=mainw->play_start; + oplay_start = mainw->play_start; do { - e_rec_dialog=events_rec_dialog(TRUE); + e_rec_dialog = events_rec_dialog(TRUE); lives_widget_show_all(e_rec_dialog); lives_dialog_run(LIVES_DIALOG(e_rec_dialog)); lives_widget_destroy(e_rec_dialog); lives_widget_context_update(); switch (render_choice) { case RENDER_CHOICE_DISCARD: - if (mainw->current_file>-1) cfile->redoable=FALSE; + if (mainw->current_file > -1) cfile->redoable = FALSE; close_scrap_file(); close_ascrap_file(); sensitize(); break; case RENDER_CHOICE_PREVIEW: // preview - cfile->next_event=get_first_event(mainw->event_list); - mainw->is_rendering=TRUE; - on_preview_clicked(NULL,NULL); + cfile->next_event = get_first_event(mainw->event_list); + mainw->is_rendering = TRUE; + on_preview_clicked(NULL, NULL); free_track_decoders(); deinit_render_effects(); - mainw->is_processing=mainw->is_rendering=FALSE; - cfile->next_event=NULL; + mainw->is_processing = mainw->is_rendering = FALSE; + cfile->next_event = NULL; break; case RENDER_CHOICE_NEW_CLIP: - dw=prefs->mt_def_width; - dh=prefs->mt_def_height; - df=prefs->mt_def_fps; - dar=prefs->mt_def_arate; - dac=prefs->mt_def_achans; - das=prefs->mt_def_asamps; - dse=prefs->mt_def_signed_endian; - if (!mainw->clip_switched&&prefs->render_prompt&&mainw->current_file>-1) { - if (cfile->hsize>0) prefs->mt_def_width=cfile->hsize; - if (cfile->vsize>0) prefs->mt_def_height=cfile->vsize; - prefs->mt_def_fps=cfile->fps; - if (cfile->achans*cfile->arate*cfile->asampsize>0) { - prefs->mt_def_arate=cfile->arate; - prefs->mt_def_asamps=cfile->asampsize; - prefs->mt_def_achans=cfile->achans; - prefs->mt_def_signed_endian=cfile->signed_endian; + dw = prefs->mt_def_width; + dh = prefs->mt_def_height; + df = prefs->mt_def_fps; + dar = prefs->mt_def_arate; + dac = prefs->mt_def_achans; + das = prefs->mt_def_asamps; + dse = prefs->mt_def_signed_endian; + if (!mainw->clip_switched && prefs->render_prompt && mainw->current_file > -1) { + if (cfile->hsize > 0) prefs->mt_def_width = cfile->hsize; + if (cfile->vsize > 0) prefs->mt_def_height = cfile->vsize; + prefs->mt_def_fps = cfile->fps; + if (cfile->achans * cfile->arate * cfile->asampsize > 0) { + prefs->mt_def_arate = cfile->arate; + prefs->mt_def_asamps = cfile->asampsize; + prefs->mt_def_achans = cfile->achans; + prefs->mt_def_signed_endian = cfile->signed_endian; } } - mainw->play_start=1; ///< new clip frames always start at 1 - if (!render_to_clip(TRUE)) render_choice=RENDER_CHOICE_PREVIEW; + mainw->play_start = 1; ///< new clip frames always start at 1 + if (!render_to_clip(TRUE)) render_choice = RENDER_CHOICE_PREVIEW; else { close_scrap_file(); close_ascrap_file(); } - prefs->mt_def_width=dw; - prefs->mt_def_height=dh; - prefs->mt_def_fps=df; - prefs->mt_def_arate=dar; - prefs->mt_def_achans=dac; - prefs->mt_def_asamps=das; - prefs->mt_def_signed_endian=dse; - mainw->is_rendering=FALSE; - new_clip=TRUE; + prefs->mt_def_width = dw; + prefs->mt_def_height = dh; + prefs->mt_def_fps = df; + prefs->mt_def_arate = dar; + prefs->mt_def_achans = dac; + prefs->mt_def_asamps = das; + prefs->mt_def_signed_endian = dse; + mainw->is_rendering = FALSE; + new_clip = TRUE; break; case RENDER_CHOICE_SAME_CLIP: - mainw->play_start=oplay_start; ///< same clip frames start where recording started - if (!render_to_clip(FALSE)) render_choice=RENDER_CHOICE_PREVIEW; + mainw->play_start = oplay_start; ///< same clip frames start where recording started + if (!render_to_clip(FALSE)) render_choice = RENDER_CHOICE_PREVIEW; else { close_scrap_file(); close_ascrap_file(); d_print_done(); } - mainw->is_rendering=FALSE; + mainw->is_rendering = FALSE; break; case RENDER_CHOICE_MULTITRACK: - if (mainw->stored_event_list!=NULL&&mainw->stored_event_list_changed) { - if (!check_for_layout_del(NULL,FALSE)) { - render_choice=RENDER_CHOICE_PREVIEW; + if (mainw->stored_event_list != NULL && mainw->stored_event_list_changed) { + if (!check_for_layout_del(NULL, FALSE)) { + render_choice = RENDER_CHOICE_PREVIEW; break; } } - if (mainw->stored_event_list!=NULL||mainw->sl_undo_mem!=NULL) { + if (mainw->stored_event_list != NULL || mainw->sl_undo_mem != NULL) { recover_layout_cancelled(FALSE); stored_event_list_free_all(TRUE); } - mainw->unordered_blocks=TRUE; + mainw->unordered_blocks = TRUE; if (on_multitrack_activate(NULL, (weed_plant_t *)mainw->event_list)) { - mainw->event_list=NULL; - new_clip=TRUE; - } else render_choice=RENDER_CHOICE_PREVIEW; + mainw->event_list = NULL; + new_clip = TRUE; + } else render_choice = RENDER_CHOICE_PREVIEW; break; case RENDER_CHOICE_EVENT_LIST: - if (count_events(mainw->event_list,prefs->event_window_show_frame_events,0,0)>1000) if (!do_event_list_warning()) { - render_choice=RENDER_CHOICE_PREVIEW; + if (count_events(mainw->event_list, prefs->event_window_show_frame_events, 0, 0) > 1000) if (!do_event_list_warning()) { + render_choice = RENDER_CHOICE_PREVIEW; break; } - elist_dialog=create_event_list_dialog(mainw->event_list,0,0); + elist_dialog = create_event_list_dialog(mainw->event_list, 0, 0); lives_dialog_run(LIVES_DIALOG(elist_dialog)); lives_widget_destroy(elist_dialog); - render_choice=RENDER_CHOICE_PREVIEW; + render_choice = RENDER_CHOICE_PREVIEW; break; } if - (mainw->current_file>0&&mainw->files[mainw->current_file]!=NULL) { - cfile->next_event=NULL; + (mainw->current_file > 0 && mainw->files[mainw->current_file] != NULL) { + cfile->next_event = NULL; } - } while (render_choice==RENDER_CHOICE_PREVIEW); + } while (render_choice == RENDER_CHOICE_PREVIEW); - if (mainw->event_list!=NULL) { + if (mainw->event_list != NULL) { event_list_free(mainw->event_list); - mainw->event_list=NULL; + mainw->event_list = NULL; } return new_clip; @@ -4634,105 +4639,105 @@ static weed_plant_t *stored_fmap; - weed_plant_t *frame_event,*fmap; + weed_plant_t *frame_event, *fmap; double *vis; - double *matrix[ntracks+nbtracks]; + double *matrix[ntracks + nbtracks]; - int *clips=NULL,*frames=NULL; + int *clips = NULL, *frames = NULL; int nxtracks; - int got=-1; + int got = -1; int error; - register int i,j; + register int i, j; - ntracks+=nbtracks; + ntracks += nbtracks; - if (shortcut==NULL||*shortcut==NULL) stored_fmap=NULL; + if (shortcut == NULL || *shortcut == NULL) stored_fmap = NULL; - if (shortcut!=NULL) *shortcut=frame_event=get_frame_event_at_or_before(event_list,tc,*shortcut); - else frame_event=get_frame_event_at_or_before(event_list,tc,NULL); + if (shortcut != NULL) *shortcut = frame_event = get_frame_event_at_or_before(event_list, tc, *shortcut); + else frame_event = get_frame_event_at_or_before(event_list, tc, NULL); - nxtracks=weed_leaf_num_elements(frame_event,WEED_LEAF_CLIPS); + nxtracks = weed_leaf_num_elements(frame_event, WEED_LEAF_CLIPS); - vis=(double *)lives_malloc(ntracks*sizeof(double)); + vis = (double *)lives_malloc(ntracks * sizeof(double)); if (bleedthru) { - for (i=0; i<ntracks; i++) { - vis[i]=1.; + for (i = 0; i < ntracks; i++) { + vis[i] = 1.; } return vis; } - clips=weed_get_int_array(frame_event,WEED_LEAF_CLIPS,&error); - frames=weed_get_int_array(frame_event,WEED_LEAF_FRAMES,&error); + clips = weed_get_int_array(frame_event, WEED_LEAF_CLIPS, &error); + frames = weed_get_int_array(frame_event, WEED_LEAF_FRAMES, &error); - if (nbtracks>0) vis[0]=1.; + if (nbtracks > 0) vis[0] = 1.; - if (stored_fmap==NULL) stored_fmap=fmap=get_filter_map_before(frame_event,LIVES_TRACK_ANY,NULL); + if (stored_fmap == NULL) stored_fmap = fmap = get_filter_map_before(frame_event, LIVES_TRACK_ANY, NULL); else { - fmap=get_filter_map_before(frame_event,LIVES_TRACK_ANY,*shortcut); - if (fmap==*shortcut) fmap=stored_fmap; + fmap = get_filter_map_before(frame_event, LIVES_TRACK_ANY, *shortcut); + if (fmap == *shortcut) fmap = stored_fmap; } - for (i=0; i<ntracks; i++) { - matrix[i]=(double *)lives_malloc(ntracks*sizeof(double)); - for (j=0; j<ntracks; j++) { - matrix[i][j]=0.; + for (i = 0; i < ntracks; i++) { + matrix[i] = (double *)lives_malloc(ntracks * sizeof(double)); + for (j = 0; j < ntracks; j++) { + matrix[i][j] = 0.; } - matrix[i][i]=1.; + matrix[i][i] = 1.; } - if (fmap!=NULL) { + if (fmap != NULL) { // here we look at all init_events in fmap. If any have WEED_LEAF_HOST_AUDIO_TRANSITION set, then // we we look at the 2 in channels. We first multiply matrix[t0][...] by trans // then we add matrix[t1][...]*(1.0 - trans) to matrix[t3][...] // where trans is the normalised value of the transition parameter // t3 is the output channel, this is usually the same track as t0 // thus each row in the matrix represents the contribution from each layer (track) - if (weed_plant_has_leaf(fmap,WEED_LEAF_INIT_EVENTS)) { - weed_plant_t **iev=(weed_plant_t **)weed_get_voidptr_array(fmap,WEED_LEAF_INIT_EVENTS,&error); - int nins=weed_leaf_num_elements(fmap,WEED_LEAF_INIT_EVENTS); - for (i=0; i<nins; i++) { - weed_plant_t *ievent=iev[i]; - if (weed_plant_has_leaf(ievent,WEED_LEAF_HOST_AUDIO_TRANSITION)&& - weed_get_boolean_value(ievent,WEED_LEAF_HOST_AUDIO_TRANSITION,&error)==WEED_TRUE) { - int *in_tracks=weed_get_int_array(ievent,WEED_LEAF_IN_TRACKS,&error); - int *out_tracks=weed_get_int_array(ievent,WEED_LEAF_OUT_TRACKS,&error); - char *filter_hash=weed_get_string_value(ievent,WEED_LEAF_FILTER,&error); + if (weed_plant_has_leaf(fmap, WEED_LEAF_INIT_EVENTS)) { + weed_plant_t **iev = (weed_plant_t **)weed_get_voidptr_array(fmap, WEED_LEAF_INIT_EVENTS, &error); + int nins = weed_leaf_num_elements(fmap, WEED_LEAF_INIT_EVENTS); + for (i = 0; i < nins; i++) { + weed_plant_t *ievent = iev[i]; + if (weed_plant_has_leaf(ievent, WEED_LEAF_HOST_AUDIO_TRANSITION) && + weed_get_boolean_value(ievent, WEED_LEAF_HOST_AUDIO_TRANSITION, &error) == WEED_TRUE) { + int *in_tracks = weed_get_int_array(ievent, WEED_LEAF_IN_TRACKS, &error); + int *out_tracks = weed_get_int_array(ievent, WEED_LEAF_OUT_TRACKS, &error); + char *filter_hash = weed_get_string_value(ievent, WEED_LEAF_FILTER, &error); int idx; - if ((idx=weed_get_idx_for_hashname(filter_hash,TRUE))!=-1) { - weed_plant_t *filter=get_weed_filter(idx); - int tparam=get_transition_param(filter,FALSE); - weed_plant_t *inst=weed_instance_from_filter(filter); - weed_plant_t **in_params=weed_get_plantptr_array(inst,WEED_LEAF_IN_PARAMETERS,&error); - weed_plant_t *ttmpl=weed_get_plantptr_value(in_params[tparam],WEED_LEAF_TEMPLATE,&error); + if ((idx = weed_get_idx_for_hashname(filter_hash, TRUE)) != -1) { + weed_plant_t *filter = get_weed_filter(idx); + int tparam = get_transition_param(filter, FALSE); + weed_plant_t *inst = weed_instance_from_filter(filter); + weed_plant_t **in_params = weed_get_plantptr_array(inst, WEED_LEAF_IN_PARAMETERS, &error); + weed_plant_t *ttmpl = weed_get_plantptr_value(in_params[tparam], WEED_LEAF_TEMPLATE, &error); double trans; - if (weed_plant_has_leaf(ievent,WEED_LEAF_IN_PARAMETERS)&&tparam<weed_leaf_num_elements(ievent,WEED_LEAF_IN_PARAMETERS)) { - void **pchains=weed_get_voidptr_array(ievent,WEED_LEAF_IN_PARAMETERS,&error); - interpolate_param(inst,tparam,pchains[tparam],tc); + if (weed_plant_has_leaf(ievent, WEED_LEAF_IN_PARAMETERS) && tparam < weed_leaf_num_elements(ievent, WEED_LEAF_IN_PARAMETERS)) { + void **pchains = weed_get_voidptr_array(ievent, WEED_LEAF_IN_PARAMETERS, &error); + interpolate_param(inst, tparam, pchains[tparam], tc); lives_free(pchains); } - if (weed_leaf_seed_type(in_params[tparam],WEED_LEAF_VALUE)==WEED_SEED_DOUBLE) { - double transd=weed_get_double_value(in_params[tparam],WEED_LEAF_VALUE,&error); - double tmin=weed_get_double_value(ttmpl,WEED_LEAF_MIN,&error); - double tmax=weed_get_double_value(ttmpl,WEED_LEAF_MAX,&error); - trans=(transd-tmin)/(tmax-tmin); + if (weed_leaf_seed_type(in_params[tparam], WEED_LEAF_VALUE) == WEED_SEED_DOUBLE) { + double transd = weed_get_double_value(in_params[tparam], WEED_LEAF_VALUE, &error); + double tmin = weed_get_double_value(ttmpl, WEED_LEAF_MIN, &error); + double tmax = weed_get_double_value(ttmpl, WEED_LEAF_MAX, &error); + trans = (transd - tmin) / (tmax - tmin); } else { - int transi=weed_get_int_value(in_params[tparam],WEED_LEAF_VALUE,&error); - int tmin=weed_get_int_value(ttmpl,WEED_LEAF_MIN,&error); - int tmax=weed_get_int_value(ttmpl,WEED_LEAF_MAX,&error); - trans=(double)(transi-tmin)/(double)(tmax-tmin); + int transi = weed_get_int_value(in_params[tparam], WEED_LEAF_VALUE, &error); + int tmin = weed_get_int_value(ttmpl, WEED_LEAF_MIN, &error); + int tmax = weed_get_int_value(ttmpl, WEED_LEAF_MAX, &error); + trans = (double)(transi - tmin) / (double)(tmax - tmin); } lives_free(in_params); - for (j=0; j<ntracks; j++) { - matrix[in_tracks[1]+nbtracks][j]*=trans; - matrix[in_tracks[0]+nbtracks][j]*=(1.-trans); - matrix[out_tracks[0]+nbtracks][j]=matrix[in_tracks[0]+nbtracks][j]+matrix[in_tracks[1]+nbtracks][j]; + for (j = 0; j < ntracks; j++) { + matrix[in_tracks[1] + nbtracks][j] *= trans; + matrix[in_tracks[0] + nbtracks][j] *= (1. - trans); + matrix[out_tracks[0] + nbtracks][j] = matrix[in_tracks[0] + nbtracks][j] + matrix[in_tracks[1] + nbtracks][j]; } weed_plant_free(inst); } @@ -4748,9 +4753,9 @@ // now we select as visibility, whichever row is the first layer to have a non-blank frame - for (i=0; i<nxtracks; i++) { - if (clips[i]>=0&&frames[i]>0) { - got=i+nbtracks; + for (i = 0; i < nxtracks; i++) { + if (clips[i] >= 0 && frames[i] > 0) { + got = i + nbtracks; break; } } @@ -4758,20 +4763,20 @@ lives_free(clips); lives_free(frames); - if (got==-1) { + if (got == -1) { // all frames blank - backing audio only - for (i=0; i<ntracks; i++) { - if (i>=nbtracks) vis[i]=0.; + for (i = 0; i < ntracks; i++) { + if (i >= nbtracks) vis[i] = 0.; lives_free(matrix[i]); } return vis; } - for (i=nbtracks; i<ntracks; i++) { - vis[i]=matrix[got][i]; + for (i = nbtracks; i < ntracks; i++) { + vis[i] = matrix[got][i]; } - for (i=0; i<ntracks; i++) { + for (i = 0; i < ntracks; i++) { lives_free(matrix[i]); } @@ -4795,7 +4800,7 @@ }; -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) static void rowexpand(LiVESWidget *tv, LiVESTreeIter *iter, LiVESTreePath *path, livespointer ud) { lives_widget_queue_resize(tv); } @@ -4803,20 +4808,20 @@ LiVESWidget *create_event_list_dialog(weed_plant_t *event_list, weed_timecode_t start_tc, weed_timecode_t end_tc) { // TODO - some event properties should be editable, e.g. parameter values - weed_timecode_t tc,tc_secs; + weed_timecode_t tc, tc_secs; LiVESTreeStore *treestore; - LiVESTreeIter iter1,iter2,iter3; + LiVESTreeIter iter1, iter2, iter3; - char **string=NULL - ; - int *intval=NULL; + char **string = NULL + ; + int *intval = NULL; - void **voidval=NULL; + void **voidval = NULL; - double *doubval=NULL; + double *doubval = NULL; - int64_t *int64val=NULL; + int64_t *int64val = NULL; weed_plant_t *event; @@ -4836,59 +4841,59 @@ char **propnames; - char *strval=NULL; + char *strval = NULL; char *text; - char *oldval=NULL,*final=NULL; + char *oldval = NULL, *final = NULL; - boolean woat=widget_opts.apply_theme; + boolean woat = widget_opts.apply_theme; - int winsize_h,scr_width=mainw->scr_width; - int winsize_v,scr_height=mainw->scr_height; + int winsize_h, scr_width = mainw->scr_width; + int winsize_v, scr_height = mainw->scr_height; - int num_elems,seed_type,hint,error; - int rows,currow=0; + int num_elems, seed_type, hint, error; + int rows, currow = 0; - register int i,j; + register int i, j; - if (prefs->event_window_show_frame_events) rows=count_events(event_list,TRUE,start_tc,end_tc); - else rows=count_events(event_list,TRUE,start_tc,end_tc)-count_events(event_list,FALSE,start_tc,end_tc); + if (prefs->event_window_show_frame_events) rows = count_events(event_list, TRUE, start_tc, end_tc); + else rows = count_events(event_list, TRUE, start_tc, end_tc) - count_events(event_list, FALSE, start_tc, end_tc); - event=get_first_event(event_list); + event = get_first_event(event_list); - if (prefs->gui_monitor!=0) { - scr_width=mainw->mgeom[prefs->gui_monitor-1].width; - scr_height=mainw->mgeom[prefs->gui_monitor-1].height; + if (prefs->gui_monitor != 0) { + scr_width = mainw->mgeom[prefs->gui_monitor - 1].width; + scr_height = mainw->mgeom[prefs->gui_monitor - 1].height; } - winsize_h=scr_width-SCR_WIDTH_SAFETY; - winsize_v=scr_height-SCR_HEIGHT_SAFETY; + winsize_h = scr_width - SCR_WIDTH_SAFETY; + winsize_v = scr_height - SCR_HEIGHT_SAFETY; - event_dialog = lives_standard_dialog_new(_("Event List"),FALSE,winsize_h,winsize_v); + event_dialog = lives_standard_dialog_new(_("Event List"), FALSE, winsize_h, winsize_v); accel_group = LIVES_ACCEL_GROUP(lives_accel_group_new()); lives_window_add_accel_group(LIVES_WINDOW(event_dialog), accel_group); - top_vbox=lives_dialog_get_content_area(LIVES_DIALOG(event_dialog)); + top_vbox = lives_dialog_get_content_area(LIVES_DIALOG(event_dialog)); table = lives_table_new(rows, 6, FALSE); - while (event!=NULL) { - tc=get_event_timecode(event); + while (event != NULL) { + tc = get_event_timecode(event); - if (end_tc>0) { - if (tc<start_tc) { - event=get_next_event(event); + if (end_tc > 0) { + if (tc < start_tc) { + event = get_next_event(event); continue; } - if (tc>=end_tc) break; + if (tc >= end_tc) break; } - if ((prefs->event_window_show_frame_events||!WEED_EVENT_IS_FRAME(event))||WEED_EVENT_IS_AUDIO_FRAME(event)) { - if (!prefs->event_window_show_frame_events&&WEED_EVENT_IS_FRAME(event)) { + if ((prefs->event_window_show_frame_events || !WEED_EVENT_IS_FRAME(event)) || WEED_EVENT_IS_AUDIO_FRAME(event)) { + if (!prefs->event_window_show_frame_events && WEED_EVENT_IS_FRAME(event)) { // TODO - opts should be all frames, only audio frames, no frames // or even better, filter for any event types rows++; - lives_table_resize(LIVES_TABLE(table),rows,6); + lives_table_resize(LIVES_TABLE(table), rows, 6); } treestore = lives_tree_store_new(NUM_COLUMNS, LIVES_COL_TYPE_STRING, LIVES_COL_TYPE_STRING, LIVES_COL_TYPE_STRING); @@ -4896,96 +4901,96 @@ lives_tree_store_append(treestore, &iter1, NULL); /* Acquire an iterator */ lives_tree_store_set(treestore, &iter1, TITLE_COLUMN, "Properties", -1); - propnames=weed_plant_list_leaves(event); + propnames = weed_plant_list_leaves(event); - for (i=0; propnames[i]!=NULL; i++) { - if (!strcmp(propnames[i],WEED_LEAF_TYPE)||!strcmp(propnames[i],WEED_LEAF_HINT)||!strcmp(propnames[i],WEED_LEAF_TIMECODE)) { + for (i = 0; propnames[i] != NULL; i++) { + if (!strcmp(propnames[i], WEED_LEAF_TYPE) || !strcmp(propnames[i], WEED_LEAF_HINT) || !strcmp(propnames[i], WEED_LEAF_TIMECODE)) { lives_free(propnames[i]); continue; } lives_tree_store_append(treestore, &iter2, &iter1); /* Acquire a child iterator */ - if (oldval!=NULL) { + if (oldval != NULL) { lives_free(oldval); - oldval=NULL; + oldval = NULL; } - if (final!=NULL) { + if (final != NULL) { lives_free(final); - final=NULL; + final = NULL; } - num_elems=weed_leaf_num_elements(event,propnames[i]); - seed_type=weed_leaf_seed_type(event,propnames[i]); + num_elems = weed_leaf_num_elements(event, propnames[i]); + seed_type = weed_leaf_seed_type(event, propnames[i]); switch (seed_type) { case WEED_SEED_INT: - intval=weed_get_int_array(event,propnames[i],&error); + intval = weed_get_int_array(event, propnames[i], &error); break; case WEED_SEED_INT64: - int64val=weed_get_int64_array(event,propnames[i],&error); + int64val = weed_get_int64_array(event, propnames[i], &error); break; case WEED_SEED_BOOLEAN: - intval=weed_get_boolean_array(event,propnames[i],&error); + intval = weed_get_boolean_array(event, propnames[i], &error); break; case WEED_SEED_STRING: - string=weed_get_string_array(event,propnames[i],&error); + string = weed_get_string_array(event, propnames[i], &error); break; case WEED_SEED_DOUBLE: - doubval=weed_get_double_array(event,propnames[i],&error); + doubval = weed_get_double_array(event, propnames[i], &error); break; case WEED_SEED_VOIDPTR: - voidval=weed_get_voidptr_array(event,propnames[i],&error); + voidval = weed_get_voidptr_array(event, propnames[i], &error); break; case WEED_SEED_PLANTPTR: - voidval=(void **)weed_get_plantptr_array(event,propnames[i],&error); + voidval = (void **)weed_get_plantptr_array(event, propnames[i], &error); break; } - for (j=0; j<num_elems; j++) { + for (j = 0; j < num_elems; j++) { switch (seed_type) { case WEED_SEED_INT: - strval=lives_strdup_printf("%d",intval[j]); + strval = lives_strdup_printf("%d", intval[j]); break; case WEED_SEED_INT64: - strval=lives_strdup_printf("%"PRId64,int64val[j]); + strval = lives_strdup_printf("%"PRId64, int64val[j]); break; case WEED_SEED_DOUBLE: - strval=lives_strdup_printf("%.4f",doubval[j]); + strval = lives_strdup_printf("%.4f", doubval[j]); break; case WEED_SEED_BOOLEAN: - if (intval[j]==WEED_TRUE) strval=lives_strdup(_("TRUE")); - else strval=lives_strdup(_("FALSE")); + if (intval[j] == WEED_TRUE) strval = lives_strdup(_("TRUE")); + else strval = lives_strdup(_("FALSE")); break; case WEED_SEED_STRING: - strval=lives_strdup(string[j]); + strval = lives_strdup(string[j]); lives_free(string[j]); break; case WEED_SEED_VOIDPTR: - if (!(strncmp(propnames[i],WEED_LEAF_INIT_EVENT,strlen(WEED_LEAF_INIT_EVENT)))) { - weed_plant_t *ievent=(weed_plant_t *)voidval[j]; - if (ievent!=NULL) { - char *iname=weed_get_string_value(ievent,WEED_LEAF_FILTER,&error); - if (iname!=NULL) { - char *fname=weed_filter_idx_get_name(weed_get_idx_for_hashname(iname,TRUE)); - strval=lives_strdup_printf("%p (%s)",voidval[j],fname); + if (!(strncmp(propnames[i], WEED_LEAF_INIT_EVENT, strlen(WEED_LEAF_INIT_EVENT)))) { + weed_plant_t *ievent = (weed_plant_t *)voidval[j]; + if (ievent != NULL) { + char *iname = weed_get_string_value(ievent, WEED_LEAF_FILTER, &error); + if (iname != NULL) { + char *fname = weed_filter_idx_get_name(weed_get_idx_for_hashname(iname, TRUE)); + strval = lives_strdup_printf("%p (%s)", voidval[j], fname); lives_free(fname); } lives_free(iname); } } - if (strval==NULL) strval=lives_strdup_printf("%p",voidval[j]); + if (strval == NULL) strval = lives_strdup_printf("%p", voidval[j]); break; case WEED_SEED_PLANTPTR: - strval=lives_strdup_printf("-->%p",voidval[j]); + strval = lives_strdup_printf("-->%p", voidval[j]); break; default: - strval=lives_strdup("???"); + strval = lives_strdup("???"); break; } - if (j==0) { - if (num_elems==1) { + if (j == 0) { + if (num_elems == 1) { lives_tree_store_set(treestore, &iter2, KEY_COLUMN, propnames[i], VALUE_COLUMN, strval, -1); } else { lives_tree_store_set(treestore, &iter2, KEY_COLUMN, propnames[i], VALUE_COLUMN, "", -1); @@ -5030,18 +5035,18 @@ lives_free(final); // timecode - tc_secs=tc/U_SECL; - tc-=tc_secs*U_SECL; - text=lives_strdup_printf(_("Timecode=%"PRId64".%"PRId64),tc_secs,tc); + tc_secs = tc / U_SECL; + tc -= tc_secs * U_SECL; + text = lives_strdup_printf(_("Timecode=%"PRId64".%"PRId64), tc_secs, tc); label = lives_standard_label_new(text); lives_free(text); - lives_table_attach(LIVES_TABLE(table), label, 0, 1, currow, currow+1, + lives_table_attach(LIVES_TABLE(table), label, 0, 1, currow, currow + 1, (LiVESAttachOptions)(LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); // event type - hint=get_event_hint(event); + hint = get_event_hint(event); switch (hint) { case WEED_EVENT_HINT_FRAME: label = lives_standard_label_new("Frame"); @@ -5062,28 +5067,28 @@ label = lives_standard_label_new("Marker"); break; default: - text=lives_strdup_printf("unknown event hint %d",hint); + text = lives_strdup_printf("unknown event hint %d", hint); label = lives_standard_label_new(text); lives_free(text); } - lives_table_attach(LIVES_TABLE(table), label, 1, 2, currow, currow+1, + lives_table_attach(LIVES_TABLE(table), label, 1, 2, currow, currow + 1, (LiVESAttachOptions)(LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); // event id - text=lives_strdup_printf(_("Event id=%p"),(void *)event); + text = lives_strdup_printf(_("Event id=%p"), (void *)event); label = lives_standard_label_new(text); lives_free(text); - lives_table_attach(LIVES_TABLE(table), label, 2, 3, currow, currow+1, + lives_table_attach(LIVES_TABLE(table), label, 2, 3, currow, currow + 1, (LiVESAttachOptions)(LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); // properties tree = lives_tree_view_new_with_model(LIVES_TREE_MODEL(treestore)); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_base_color(tree, LIVES_WIDGET_STATE_NORMAL, &palette->info_base); lives_widget_set_text_color(tree, LIVES_WIDGET_STATE_NORMAL, &palette->info_text); } @@ -5111,32 +5116,32 @@ NULL); lives_tree_view_append_column(LIVES_TREE_VIEW(tree), column); - lives_table_attach(LIVES_TABLE(table), tree, 3, 6, currow, currow+1, - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), 0, 0); + lives_table_attach(LIVES_TABLE(table), tree, 3, 6, currow, currow + 1, + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), 0, 0); -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) lives_signal_connect(LIVES_GUI_OBJECT(tree), LIVES_WIDGET_ROW_EXPANDED_SIGNAL, LIVES_GUI_CALLBACK(rowexpand), NULL); - lives_widget_set_size_request(tree,-1,TREE_ROW_HEIGHT); + lives_widget_set_size_request(tree, -1, TREE_ROW_HEIGHT); #endif currow++; } - event=get_next_event(event); + event = get_next_event(event); } - widget_opts.apply_theme=FALSE; + widget_opts.apply_theme = FALSE; scrolledwindow = lives_standard_scrolled_window_new(winsize_h, winsize_v, table); - widget_opts.apply_theme=woat; + widget_opts.apply_theme = woat; -#if !GTK_CHECK_VERSION(3,0,0) - if (palette->style&STYLE_1) { +#if !GTK_CHECK_VERSION(3, 0, 0) + if (palette->style & STYLE_1) { lives_widget_set_bg_color(top_vbox, LIVES_WIDGET_STATE_NORMAL, &palette->info_base); lives_widget_set_fg_color(top_vbox, LIVES_WIDGET_STATE_NORMAL, &palette->info_text); lives_widget_set_bg_color(lives_bin_get_child(LIVES_BIN(scrolledwindow)), LIVES_WIDGET_STATE_NORMAL, &palette->info_base); @@ -5151,11 +5156,11 @@ lives_button_box_set_layout(LIVES_BUTTON_BOX(hbuttonbox), LIVES_BUTTONBOX_SPREAD); - ok_button = lives_button_new_from_stock(LIVES_STOCK_CLOSE,_("_Close Window")); + ok_button = lives_button_new_from_stock(LIVES_STOCK_CLOSE, _("_Close Window")); lives_container_add(LIVES_CONTAINER(hbuttonbox), ok_button); - lives_button_box_set_button_width(LIVES_BUTTON_BOX(hbuttonbox), ok_button, DEF_BUTTON_WIDTH*4); + lives_button_box_set_button_width(LIVES_BUTTON_BOX(hbuttonbox), ok_button, DEF_BUTTON_WIDTH * 4); lives_widget_set_can_focus_and_default(ok_button); lives_widget_grab_default(ok_button); @@ -5167,13 +5172,13 @@ lives_widget_add_accelerator(ok_button, LIVES_WIDGET_CLICKED_SIGNAL, accel_group, LIVES_KEY_Escape, (LiVESXModifierType)0, (LiVESAccelFlags)0); - if (prefs->gui_monitor!=0) { - int xcen=mainw->mgeom[prefs->gui_monitor-1].x+ - (mainw->mgeom[prefs->gui_monitor-1].width-lives_widget_get_allocation_width(event_dialog))/2; - int ycen=mainw->mgeom[prefs->gui_monitor-1].y+ - (mainw->mgeom[prefs->gui_monitor-1].height-lives_widget_get_allocation_height(event_dialog))/2; - lives_window_set_screen(LIVES_WINDOW(event_dialog),mainw->mgeom[prefs->gui_monitor-1].screen); - lives_window_move(LIVES_WINDOW(event_dialog),xcen,ycen); + if (prefs->gui_monitor != 0) { + int xcen = mainw->mgeom[prefs->gui_monitor - 1].x + + (mainw->mgeom[prefs->gui_monitor - 1].width - lives_widget_get_allocation_width(event_dialog)) / 2; + int ycen = mainw->mgeom[prefs->gui_monitor - 1].y + + (mainw->mgeom[prefs->gui_monitor - 1].height - lives_widget_get_allocation_height(event_dialog)) / 2; + lives_window_set_screen(LIVES_WINDOW(event_dialog), mainw->mgeom[prefs->gui_monitor - 1].screen); + lives_window_move(LIVES_WINDOW(event_dialog), xcen, ycen); } if (prefs->open_maximised) { @@ -5188,20 +5193,20 @@ void rdetw_spinh_changed(LiVESSpinButton *spinbutton, livespointer user_data) { - render_details *rdet=(render_details *)user_data; - rdet->height=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); + render_details *rdet = (render_details *)user_data; + rdet->height = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); } void rdetw_spinw_changed(LiVESSpinButton *spinbutton, livespointer user_data) { - render_details *rdet=(render_details *)user_data; - rdet->width=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); + render_details *rdet = (render_details *)user_data; + rdet->width = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); } void rdetw_spinf_changed(LiVESSpinButton *spinbutton, livespointer user_data) { - render_details *rdet=(render_details *)user_data; - rdet->fps=lives_spin_button_get_value(LIVES_SPIN_BUTTON(spinbutton)); + render_details *rdet = (render_details *)user_data; + rdet->fps = lives_spin_button_get_value(LIVES_SPIN_BUTTON(spinbutton)); } @@ -5213,23 +5218,23 @@ // add video options to multitrack enter, etc - static lives_param_t aspect_width,aspect_height; + static lives_param_t aspect_width, aspect_height; - LiVESWidget *vbox,*hbox; + LiVESWidget *vbox, *hbox; - LiVESWidget *frame = lives_standard_frame_new(_("Video"),0.,FALSE); + LiVESWidget *frame = lives_standard_frame_new(_("Video"), 0., FALSE); vbox = lives_vbox_new(FALSE, 0); lives_container_add(LIVES_CONTAINER(frame), vbox); - hbox = lives_hbox_new(FALSE, widget_opts.packing_width*5); + hbox = lives_hbox_new(FALSE, widget_opts.packing_width * 5); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); *spwidth = lives_standard_spin_button_new - (_("_Width"),TRUE,defwidth,4.,MAX_FRAME_WIDTH,4.,16.,0,LIVES_BOX(hbox),NULL); + (_("_Width"), TRUE, defwidth, 4., MAX_FRAME_WIDTH, 4., 16., 0, LIVES_BOX(hbox), NULL); *spheight = lives_standard_spin_button_new - (_("_Height"),TRUE,defheight,4.,MAX_FRAME_WIDTH,4.,16.,0,LIVES_BOX(hbox),NULL); + (_("_Height"), TRUE, defheight, 4., MAX_FRAME_WIDTH, 4., 16., 0, LIVES_BOX(hbox), NULL); // add aspect button ? @@ -5237,19 +5242,19 @@ // add "aspectratio" widget init_special(); - aspect_width.widgets[0]=rdet->spinbutton_width; - aspect_height.widgets[0]=rdet->spinbutton_height; + aspect_width.widgets[0] = rdet->spinbutton_width; + aspect_height.widgets[0] = rdet->spinbutton_height; - set_aspect_ratio_widgets(&aspect_width,&aspect_height); - check_for_special(NULL,&aspect_width,LIVES_BOX(vbox)); - check_for_special(NULL,&aspect_height,LIVES_BOX(vbox)); + set_aspect_ratio_widgets(&aspect_width, &aspect_height); + check_for_special(NULL, &aspect_width, LIVES_BOX(vbox)); + check_for_special(NULL, &aspect_height, LIVES_BOX(vbox)); } hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); *spfps = lives_standard_spin_button_new - (_("_Frames per second"),TRUE,deffps,1.,FPS_MAX,1.,10.,0,LIVES_BOX(hbox),NULL); + (_("_Frames per second"), TRUE, deffps, 1., FPS_MAX, 1., 10., 0, LIVES_BOX(hbox), NULL); return frame; } @@ -5259,11 +5264,11 @@ LiVESWidget *add_audio_options(LiVESWidget **cbbackaudio, LiVESWidget **cbpertrack) { LiVESWidget *hbox = lives_hbox_new(FALSE, 0); - *cbbackaudio = lives_standard_check_button_new(_("Enable _backing audio track"),TRUE,LIVES_BOX(hbox),NULL); + *cbbackaudio = lives_standard_check_button_new(_("Enable _backing audio track"), TRUE, LIVES_BOX(hbox), NULL); add_fill_to_box(LIVES_BOX(hbox)); - *cbpertrack = lives_standard_check_button_new(_("Audio track _per video track"),TRUE,LIVES_BOX(hbox),NULL); + *cbpertrack = lives_standard_check_button_new(_("Audio track _per video track"), TRUE, LIVES_BOX(hbox), NULL); return hbox; } @@ -5271,37 +5276,37 @@ static void rdet_use_current(LiVESButton *button, livespointer user_data) { - char *arate,*achans,*asamps; + char *arate, *achans, *asamps; int aendian; - lives_spin_button_set_value(LIVES_SPIN_BUTTON(rdet->spinbutton_width),cfile->hsize); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(rdet->spinbutton_height),cfile->vsize); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(rdet->spinbutton_fps),cfile->fps); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(rdet->spinbutton_width), cfile->hsize); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(rdet->spinbutton_height), cfile->vsize); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(rdet->spinbutton_fps), cfile->fps); - if (cfile->achans>0) { - rdet->ratio_fps=cfile->ratio_fps; + if (cfile->achans > 0) { + rdet->ratio_fps = cfile->ratio_fps; - arate=lives_strdup_printf("%d",cfile->arate); - lives_entry_set_text(LIVES_ENTRY(resaudw->entry_arate),arate); + arate = lives_strdup_printf("%d", cfile->arate); + lives_entry_set_text(LIVES_ENTRY(resaudw->entry_arate), arate); lives_free(arate); - achans=lives_strdup_printf("%d",cfile->achans); - lives_entry_set_text(LIVES_ENTRY(resaudw->entry_achans),achans); + achans = lives_strdup_printf("%d", cfile->achans); + lives_entry_set_text(LIVES_ENTRY(resaudw->entry_achans), achans); lives_free(achans); - asamps=lives_strdup_printf("%d",cfile->asampsize); - lives_entry_set_text(LIVES_ENTRY(resaudw->entry_asamps),asamps); + asamps = lives_strdup_printf("%d", cfile->asampsize); + lives_entry_set_text(LIVES_ENTRY(resaudw->entry_asamps), asamps); lives_free(asamps); - aendian=cfile->signed_endian; + aendian = cfile->signed_endian; - if (aendian&AFORM_UNSIGNED) { + if (aendian & AFORM_UNSIGNED) { lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(resaudw->rb_unsigned), TRUE); } else { lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(resaudw->rb_signed), TRUE); } - if (aendian&AFORM_BIG_ENDIAN) { + if (aendian & AFORM_BIG_ENDIAN) { lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(resaudw->rb_bigend), TRUE); } else { lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(resaudw->rb_littleend), TRUE); @@ -5334,78 +5339,78 @@ LiVESAccelGroup *rdet_accel_group; - LiVESList *ofmt_all=NULL; - LiVESList *ofmt=NULL; - LiVESList *encoders=NULL; + LiVESList *ofmt_all = NULL; + LiVESList *ofmt = NULL; + LiVESList *encoders = NULL; char **array; - char *tmp,*tmp2; + char *tmp, *tmp2; char *title; - boolean specified=FALSE; - boolean needs_new_encoder=FALSE; + boolean specified = FALSE; + boolean needs_new_encoder = FALSE; int width; int height; - int scrw,scrh; + int scrw, scrh; int dbw; register int i; - if (type==1) specified=TRUE; + if (type == 1) specified = TRUE; - rdet=(render_details *)lives_malloc(sizeof(render_details)); + rdet = (render_details *)lives_malloc(sizeof(render_details)); - rdet->is_encoding=FALSE; + rdet->is_encoding = FALSE; - if (!specified&&type!=4) { - rdet->height=prefs->mt_def_height; - rdet->width=prefs->mt_def_width; - rdet->fps=prefs->mt_def_fps; - rdet->ratio_fps=FALSE; - - rdet->arate=prefs->mt_def_arate; - rdet->achans=prefs->mt_def_achans; - rdet->asamps=prefs->mt_def_asamps; - rdet->aendian=prefs->mt_def_signed_endian; + if (!specified && type != 4) { + rdet->height = prefs->mt_def_height; + rdet->width = prefs->mt_def_width; + rdet->fps = prefs->mt_def_fps; + rdet->ratio_fps = FALSE; + + rdet->arate = prefs->mt_def_arate; + rdet->achans = prefs->mt_def_achans; + rdet->asamps = prefs->mt_def_asamps; + rdet->aendian = prefs->mt_def_signed_endian; } else { - rdet->height=cfile->vsize; - rdet->width=cfile->hsize; - rdet->fps=cfile->fps; - rdet->ratio_fps=cfile->ratio_fps; - - rdet->arate=cfile->arate; - rdet->achans=cfile->achans; - rdet->asamps=cfile->asampsize; - rdet->aendian=cfile->signed_endian; - } - - rdet->enc_changed=FALSE; - - if (prefs->gui_monitor!=0) { - scrw=mainw->mgeom[prefs->gui_monitor-1].width; - scrh=mainw->mgeom[prefs->gui_monitor-1].height; + rdet->height = cfile->vsize; + rdet->width = cfile->hsize; + rdet->fps = cfile->fps; + rdet->ratio_fps = cfile->ratio_fps; + + rdet->arate = cfile->arate; + rdet->achans = cfile->achans; + rdet->asamps = cfile->asampsize; + rdet->aendian = cfile->signed_endian; + } + + rdet->enc_changed = FALSE; + + if (prefs->gui_monitor != 0) { + scrw = mainw->mgeom[prefs->gui_monitor - 1].width; + scrh = mainw->mgeom[prefs->gui_monitor - 1].height; } else { - scrw=mainw->scr_width; - scrh=mainw->scr_height; + scrw = mainw->scr_width; + scrh = mainw->scr_height; } - if (type==3||type==4) { - title=lives_strdup(_("Multitrack Details")); - } else if (type==1) title=lives_strdup(_("Encoding Details")); - else title=lives_strdup(_("New Clip Details")); + if (type == 3 || type == 4) { + title = lives_strdup(_("Multitrack Details")); + } else if (type == 1) title = lives_strdup(_("Encoding Details")); + else title = lives_strdup(_("New Clip Details")); - height=scrh-SCR_HEIGHT_SAFETY; - width=scrw-SCR_WIDTH_SAFETY; + height = scrh - SCR_HEIGHT_SAFETY; + width = scrw - SCR_WIDTH_SAFETY; - rdet->dialog = lives_standard_dialog_new(title,FALSE,width,height); + rdet->dialog = lives_standard_dialog_new(title, FALSE, width, height); lives_free(title); - if (prefs->show_gui&&mainw->is_ready) lives_window_set_transient_for(LIVES_WINDOW(rdet->dialog),LIVES_WINDOW(mainw->LiVES)); + if (prefs->show_gui && mainw->is_ready) lives_window_set_transient_for(LIVES_WINDOW(rdet->dialog), LIVES_WINDOW(mainw->LiVES)); rdet_accel_group = LIVES_ACCEL_GROUP(lives_accel_group_new()); lives_window_add_accel_group(LIVES_WINDOW(rdet->dialog), rdet_accel_group); @@ -5415,36 +5420,37 @@ top_vbox = lives_vbox_new(FALSE, 0); if (!specified) { - dbw=widget_opts.border_width; - widget_opts.border_width=0; - scrollw = lives_standard_scrolled_window_new(scrw*.8, scrh*.75, top_vbox); - widget_opts.border_width=dbw; + dbw = widget_opts.border_width; + widget_opts.border_width = 0; + scrollw = lives_standard_scrolled_window_new(scrw * .8, scrh * .75, top_vbox); + widget_opts.border_width = dbw; } else - scrollw = lives_standard_scrolled_window_new(scrw*.35, scrh*.4, top_vbox); + scrollw = lives_standard_scrolled_window_new(scrw * .35, scrh * .4, top_vbox); lives_box_pack_start(LIVES_BOX(dialog_vbox), scrollw, TRUE, TRUE, 0); lives_container_set_border_width(LIVES_CONTAINER(top_vbox), 0); - rdet->always_hbox = lives_hbox_new(TRUE, widget_opts.packing_width*2); - rdet->always_checkbutton=lives_standard_check_button_new((tmp=lives_strdup(_("_Always use these values"))),TRUE, - LIVES_BOX(rdet->always_hbox), - (tmp2=lives_strdup( - _("Check this button to always use these values when entering multitrack mode. Choice can be re-enabled from Preferences.")))); + rdet->always_hbox = lives_hbox_new(TRUE, widget_opts.packing_width * 2); + rdet->always_checkbutton = lives_standard_check_button_new((tmp = lives_strdup(_("_Always use these values"))), TRUE, + LIVES_BOX(rdet->always_hbox), + (tmp2 = lives_strdup( + _("Check this button to always use these values when entering multitrack mode. Choice can be re-enabled from Preferences.")))); lives_free(tmp); lives_free(tmp2); add_fill_to_box(LIVES_BOX(rdet->always_hbox)); - daa=lives_dialog_get_action_area(LIVES_DIALOG(rdet->dialog)); + daa = lives_dialog_get_action_area(LIVES_DIALOG(rdet->dialog)); if (!LIVES_IS_BOX(daa)) { lives_box_pack_start(LIVES_BOX(top_vbox), rdet->always_hbox, TRUE, TRUE, 0); } - frame=add_video_options(&rdet->spinbutton_width,rdet->width,&rdet->spinbutton_height,rdet->height,&rdet->spinbutton_fps,rdet->fps,type==1); - if (type!=1) lives_box_pack_start(LIVES_BOX(top_vbox), frame, TRUE, TRUE, 0); + frame = add_video_options(&rdet->spinbutton_width, rdet->width, &rdet->spinbutton_height, rdet->height, &rdet->spinbutton_fps, rdet->fps, + type == 1); + if (type != 1) lives_box_pack_start(LIVES_BOX(top_vbox), frame, TRUE, TRUE, 0); lives_signal_connect_after(LIVES_GUI_OBJECT(rdet->spinbutton_width), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(rdetw_spinw_changed), @@ -5454,7 +5460,7 @@ LIVES_GUI_CALLBACK(rdetw_spinh_changed), rdet); - if (type==4&&mainw->multitrack->event_list!=NULL) lives_widget_set_sensitive(rdet->spinbutton_fps,FALSE); + if (type == 4 && mainw->multitrack->event_list != NULL) lives_widget_set_sensitive(rdet->spinbutton_fps, FALSE); lives_signal_connect_after(LIVES_GUI_OBJECT(rdet->spinbutton_fps), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(rdetw_spinf_changed), @@ -5467,22 +5473,22 @@ rdet->pertrack_checkbutton = lives_check_button_new(); rdet->backaudio_checkbutton = lives_check_button_new(); - if (type==3) resaudw=create_resaudw(3,rdet,top_vbox); - else if (type!=1) resaudw=create_resaudw(10,rdet,top_vbox); + if (type == 3) resaudw = create_resaudw(3, rdet, top_vbox); + else if (type != 1) resaudw = create_resaudw(10, rdet, top_vbox); - if (type==3) { + if (type == 3) { // extra opts - label= lives_standard_label_new(_("Options")); + label = lives_standard_label_new(_("Options")); lives_box_pack_start(LIVES_BOX(top_vbox), label, FALSE, FALSE, widget_opts.packing_height); - hbox=add_audio_options(&rdet->backaudio_checkbutton,&rdet->pertrack_checkbutton); + hbox = add_audio_options(&rdet->backaudio_checkbutton, &rdet->pertrack_checkbutton); lives_box_pack_start(LIVES_BOX(top_vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(rdet->backaudio_checkbutton), prefs->mt_backaudio>0); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(rdet->backaudio_checkbutton), prefs->mt_backaudio > 0); lives_widget_set_sensitive(rdet->backaudio_checkbutton, lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->aud_checkbutton))); @@ -5499,46 +5505,46 @@ #ifndef IS_MINGW - if (capable->has_encoder_plugins) encoders=get_plugin_list(PLUGIN_ENCODERS,FALSE,NULL,NULL); + if (capable->has_encoder_plugins) encoders = get_plugin_list(PLUGIN_ENCODERS, FALSE, NULL, NULL); #else - if (capable->has_encoder_plugins) encoders=get_plugin_list(PLUGIN_ENCODERS,TRUE,NULL,NULL); + if (capable->has_encoder_plugins) encoders = get_plugin_list(PLUGIN_ENCODERS, TRUE, NULL, NULL); #endif - if (!specified) encoders=filter_encoders_by_img_ext(encoders,prefs->image_ext); + if (!specified) encoders = filter_encoders_by_img_ext(encoders, prefs->image_ext); else { - LiVESList *encs=encoders=filter_encoders_by_img_ext(encoders,get_image_ext_for_type(cfile->img_type)); - needs_new_encoder=TRUE; - while (encs!=NULL) { - if (!strcmp((char *)encs->data,prefs->encoder.name)) { - needs_new_encoder=FALSE; + LiVESList *encs = encoders = filter_encoders_by_img_ext(encoders, get_image_ext_for_type(cfile->img_type)); + needs_new_encoder = TRUE; + while (encs != NULL) { + if (!strcmp((char *)encs->data, prefs->encoder.name)) { + needs_new_encoder = FALSE; break; } - encs=encs->next; + encs = encs->next; } } if (!specified) { add_hsep_to_box(LIVES_BOX(top_vbox)); - if (type!=3) { - label=lives_standard_label_new(_("Options")); + if (type != 3) { + label = lives_standard_label_new(_("Options")); lives_box_pack_start(LIVES_BOX(top_vbox), label, FALSE, FALSE, widget_opts.packing_height); } } - widget_opts.expand=LIVES_EXPAND_EXTRA; + widget_opts.expand = LIVES_EXPAND_EXTRA; label = lives_standard_label_new(_("Target encoder")); lives_box_pack_start(LIVES_BOX(top_vbox), label, FALSE, FALSE, 0); if (!specified) { - rdet->encoder_name=lives_strdup(mainw->string_constants[LIVES_STRING_CONSTANT_ANY]); - encoders=lives_list_prepend(encoders,lives_strdup(rdet->encoder_name)); + rdet->encoder_name = lives_strdup(mainw->string_constants[LIVES_STRING_CONSTANT_ANY]); + encoders = lives_list_prepend(encoders, lives_strdup(rdet->encoder_name)); } else { - rdet->encoder_name=lives_strdup(prefs->encoder.name); + rdet->encoder_name = lives_strdup(prefs->encoder.name); } - rdet->encoder_combo = lives_standard_combo_new(NULL,FALSE,encoders,LIVES_BOX(top_vbox),NULL); + rdet->encoder_combo = lives_standard_combo_new(NULL, FALSE, encoders, LIVES_BOX(top_vbox), NULL); rdet->encoder_name_fn = lives_signal_connect_after(LIVES_COMBO(rdet->encoder_combo), LIVES_WIDGET_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(on_encoder_entry_changed), rdet); @@ -5550,25 +5556,25 @@ lives_list_free_all(&encoders); if (!specified) { - ofmt=lives_list_append(ofmt,lives_strdup(mainw->string_constants[LIVES_STRING_CONSTANT_ANY])); + ofmt = lives_list_append(ofmt, lives_strdup(mainw->string_constants[LIVES_STRING_CONSTANT_ANY])); } else { add_fill_to_box(LIVES_BOX(top_vbox)); if (capable->has_encoder_plugins) { // reqest formats from the encoder plugin - if ((ofmt_all=plugin_request_by_line(PLUGIN_ENCODERS,prefs->encoder.name,"get_formats"))!=NULL) { - for (i=0; i<lives_list_length(ofmt_all); i++) { - if (get_token_count((char *)lives_list_nth_data(ofmt_all,i),'|')>2) { - array=lives_strsplit((char *)lives_list_nth_data(ofmt_all,i),"|",-1); - if (!strcmp(array[0],prefs->encoder.of_name)) { - prefs->encoder.of_allowed_acodecs=atoi(array[2]); + if ((ofmt_all = plugin_request_by_line(PLUGIN_ENCODERS, prefs->encoder.name, "get_formats")) != NULL) { + for (i = 0; i < lives_list_length(ofmt_all); i++) { + if (get_token_count((char *)lives_list_nth_data(ofmt_all, i), '|') > 2) { + array = lives_strsplit((char *)lives_list_nth_data(ofmt_all, i), "|", -1); + if (!strcmp(array[0], prefs->encoder.of_name)) { + prefs->encoder.of_allowed_acodecs = atoi(array[2]); } - ofmt=lives_list_append(ofmt,lives_strdup(array[1])); + ofmt = lives_list_append(ofmt, lives_strdup(array[1])); lives_strfreev(array); } } lives_list_free_all(&ofmt_all); } else { - future_prefs->encoder.of_allowed_acodecs=0; + future_prefs->encoder.of_allowed_acodecs = 0; } } } @@ -5576,14 +5582,14 @@ label = lives_standard_label_new(_("Output format")); lives_box_pack_start(LIVES_BOX(top_vbox), label, FALSE, FALSE, 0); - rdet->ofmt_combo = lives_standard_combo_new(NULL,FALSE,ofmt,LIVES_BOX(top_vbox),NULL); + rdet->ofmt_combo = lives_standard_combo_new(NULL, FALSE, ofmt, LIVES_BOX(top_vbox), NULL); lives_combo_populate(LIVES_COMBO(rdet->ofmt_combo), ofmt); lives_list_free_all(&ofmt); - rdet->encoder_ofmt_fn=lives_signal_connect_after(LIVES_COMBO(rdet->ofmt_combo), LIVES_WIDGET_CHANGED_SIGNAL, - LIVES_GUI_CALLBACK(on_encoder_ofmt_changed), rdet); + rdet->encoder_ofmt_fn = lives_signal_connect_after(LIVES_COMBO(rdet->ofmt_combo), LIVES_WIDGET_CHANGED_SIGNAL, + LIVES_GUI_CALLBACK(on_encoder_ofmt_changed), rdet); alabel = lives_standard_label_new(_("Audio format")); @@ -5593,9 +5599,9 @@ // add "Any" string lives_list_free_all(&prefs->acodec_list); - prefs->acodec_list=lives_list_append(prefs->acodec_list,lives_strdup(mainw->string_constants[LIVES_STRING_CONSTANT_ANY])); + prefs->acodec_list = lives_list_append(prefs->acodec_list, lives_strdup(mainw->string_constants[LIVES_STRING_CONSTANT_ANY])); lives_box_pack_start(LIVES_BOX(top_vbox), alabel, FALSE, FALSE, 0); - rdet->acodec_combo = lives_standard_combo_new(NULL,FALSE,prefs->acodec_list,LIVES_BOX(top_vbox),NULL); + rdet->acodec_combo = lives_standard_combo_new(NULL, FALSE, prefs->acodec_list, LIVES_BOX(top_vbox), NULL); } else { add_fill_to_box(LIVES_BOX(top_vbox)); lives_box_pack_start(LIVES_BOX(top_vbox), alabel, FALSE, FALSE, 0); @@ -5603,46 +5609,46 @@ lives_combo_set_active_string(LIVES_COMBO(rdet->ofmt_combo), prefs->encoder.of_desc); lives_signal_handler_unblock(rdet->ofmt_combo, rdet->encoder_ofmt_fn); - rdet->acodec_combo = lives_standard_combo_new(NULL,FALSE,NULL,LIVES_BOX(top_vbox),NULL); + rdet->acodec_combo = lives_standard_combo_new(NULL, FALSE, NULL, LIVES_BOX(top_vbox), NULL); - check_encoder_restrictions(TRUE,FALSE,TRUE); - future_prefs->encoder.of_allowed_acodecs=prefs->encoder.of_allowed_acodecs; - set_acodec_list_from_allowed(NULL,rdet); + check_encoder_restrictions(TRUE, FALSE, TRUE); + future_prefs->encoder.of_allowed_acodecs = prefs->encoder.of_allowed_acodecs; + set_acodec_list_from_allowed(NULL, rdet); } - widget_opts.expand=LIVES_EXPAND_DEFAULT; + widget_opts.expand = LIVES_EXPAND_DEFAULT; if (LIVES_IS_BOX(daa)) { - lives_box_pack_start(LIVES_BOX(daa), rdet->always_hbox, FALSE, FALSE, widget_opts.packing_width*2); + lives_box_pack_start(LIVES_BOX(daa), rdet->always_hbox, FALSE, FALSE, widget_opts.packing_width * 2); add_fill_to_box(LIVES_BOX(daa)); } - cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL,NULL); - if (!(prefs->startup_interface==STARTUP_MT&&!mainw->is_ready)) { + cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL, NULL); + if (!(prefs->startup_interface == STARTUP_MT && !mainw->is_ready)) { lives_dialog_add_action_widget(LIVES_DIALOG(rdet->dialog), cancelbutton, LIVES_RESPONSE_CANCEL); if (!specified) { - lives_widget_set_size_request(cancelbutton, DEF_BUTTON_WIDTH*2, -1); + lives_widget_set_size_request(cancelbutton, DEF_BUTTON_WIDTH * 2, -1); } } else if (LIVES_IS_BOX(daa)) add_fill_to_box(LIVES_BOX(daa)); - lives_widget_set_can_focus(cancelbutton,TRUE); + lives_widget_set_can_focus(cancelbutton, TRUE); - if (!(prefs->startup_interface==STARTUP_MT&&!mainw->is_ready)) { - if (mainw->current_file!=-1&&mainw->current_file!=mainw->scrap_file&&mainw->current_file!=mainw->ascrap_file&&type==3) { - rdet->usecur_button=lives_button_new_with_mnemonic(_("_Use current clip values")); + if (!(prefs->startup_interface == STARTUP_MT && !mainw->is_ready)) { + if (mainw->current_file != -1 && mainw->current_file != mainw->scrap_file && mainw->current_file != mainw->ascrap_file && type == 3) { + rdet->usecur_button = lives_button_new_with_mnemonic(_("_Use current clip values")); lives_dialog_add_action_widget(LIVES_DIALOG(rdet->dialog), rdet->usecur_button, LIVES_RESPONSE_RESET); lives_signal_connect(LIVES_COMBO(rdet->usecur_button), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(rdet_use_current), rdet); } } if (!specified) { - rdet->okbutton = lives_button_new_from_stock(LIVES_STOCK_OK,NULL); - lives_widget_set_size_request(rdet->okbutton, DEF_BUTTON_WIDTH*2, -1); + rdet->okbutton = lives_button_new_from_stock(LIVES_STOCK_OK, NULL); + lives_widget_set_size_request(rdet->okbutton, DEF_BUTTON_WIDTH * 2, -1); } else { - rdet->okbutton = lives_button_new_from_stock(LIVES_STOCK_GO_FORWARD,_("_Next")); + rdet->okbutton = lives_button_new_from_stock(LIVES_STOCK_GO_FORWARD, _("_Next")); } lives_dialog_add_action_widget(LIVES_DIALOG(rdet->dialog), rdet->okbutton, LIVES_RESPONSE_OK); @@ -5656,10 +5662,10 @@ lives_widget_show_all(rdet->dialog); lives_widget_hide(rdet->always_hbox); - if (type==4) lives_widget_hide(resaudw->aud_hbox); + if (type == 4) lives_widget_hide(resaudw->aud_hbox); if (needs_new_encoder) { - lives_widget_set_sensitive(rdet->okbutton,FALSE); + lives_widget_set_sensitive(rdet->okbutton, FALSE); lives_widget_context_update(); // force showing of transient window do_encoder_img_ftm_error(rdet); }
View file
LiVES-2.8.4.tar.bz2/src/events.h -> LiVES-2.8.6.tar.bz2/src/events.h
Changed
@@ -89,7 +89,7 @@ /** will either insert or replace */ weed_plant_t *insert_frame_event_at(weed_plant_t *event_list, weed_timecode_t tc, int numframes, int *clips, int *frames, weed_plant_t **shortcut) WARN_UNUSED; -void insert_audio_event_at(weed_plant_t *event_list,weed_plant_t *event, int track, int clipnum, +void insert_audio_event_at(weed_plant_t *event_list, weed_plant_t *event, int track, int clipnum, double time, double vel); void remove_audio_for_track(weed_plant_t *event, int track); weed_plant_t *insert_blank_frame_event_at(weed_plant_t *event_list, weed_timecode_t tc, @@ -201,7 +201,6 @@ int achans; int asamps; int aendian; - } render_details; @@ -269,16 +268,16 @@ void delete_event(weed_plant_t *event_list, weed_plant_t *event); // event replacement -void replace_event(weed_plant_t *event_list, weed_plant_t *at_event,weed_plant_t *event); +void replace_event(weed_plant_t *event_list, weed_plant_t *at_event, weed_plant_t *event); // event insertion -boolean insert_event_before(weed_plant_t *at_event,weed_plant_t *event); -boolean insert_event_after(weed_plant_t *at_event,weed_plant_t *event); +boolean insert_event_before(weed_plant_t *at_event, weed_plant_t *event); +boolean insert_event_after(weed_plant_t *at_event, weed_plant_t *event); // param changes void ** *get_event_pchains(void); -weed_timecode_t get_next_paramchange(void **pchange_next,weed_timecode_t end_tc); -weed_timecode_t get_prev_paramchange(void **pchange_next,weed_timecode_t start_tc); +weed_timecode_t get_next_paramchange(void **pchange_next, weed_timecode_t end_tc); +weed_timecode_t get_prev_paramchange(void **pchange_next, weed_timecode_t start_tc); boolean is_init_pchange(weed_plant_t *init_event, weed_plant_t *pchange_event); void free_pchains(int key); @@ -306,15 +305,15 @@ #define EVENT_MARKER_RECORD_START 1024 #define EVENT_MARKER_RECORD_END 1025 -#define WEED_PLANT_IS_EVENT(plant) ((plant!=NULL&&weed_get_plant_type(plant)==WEED_PLANT_EVENT)?1:0) -#define WEED_PLANT_IS_EVENT_LIST(plant) ((plant!=NULL&&weed_get_plant_type(plant)==WEED_PLANT_EVENT_LIST)?1:0) +#define WEED_PLANT_IS_EVENT(plant) ((plant != NULL && weed_get_plant_type(plant) == WEED_PLANT_EVENT) ? 1 : 0) +#define WEED_PLANT_IS_EVENT_LIST(plant) ((plant != NULL && weed_get_plant_type(plant) == WEED_PLANT_EVENT_LIST) ? 1 : 0) -#define WEED_EVENT_IS_FRAME(event) (get_event_hint(event)==WEED_EVENT_HINT_FRAME?1:0) -#define WEED_EVENT_IS_AUDIO_FRAME(event) ((get_event_hint(event)==WEED_EVENT_HINT_FRAME&&weed_plant_has_leaf(event,"audio_clips"))?1:0) -#define WEED_EVENT_IS_FILTER_INIT(event) (get_event_hint(event)==WEED_EVENT_HINT_FILTER_INIT?1:0) -#define WEED_EVENT_IS_FILTER_DEINIT(event) (get_event_hint(event)==WEED_EVENT_HINT_FILTER_DEINIT?1:0) -#define WEED_EVENT_IS_FILTER_MAP(event) (get_event_hint(event)==WEED_EVENT_HINT_FILTER_MAP?1:0) -#define WEED_EVENT_IS_PARAM_CHANGE(event) (get_event_hint(event)==WEED_EVENT_HINT_PARAM_CHANGE?1:0) -#define WEED_EVENT_IS_MARKER(event) (get_event_hint(event)==WEED_EVENT_HINT_MARKER?1:0) +#define WEED_EVENT_IS_FRAME(event) (get_event_hint(event) == WEED_EVENT_HINT_FRAME ? 1 : 0) +#define WEED_EVENT_IS_AUDIO_FRAME(event) ((get_event_hint(event) == WEED_EVENT_HINT_FRAME && weed_plant_has_leaf(event, "audio_clips")) ? 1 : 0) +#define WEED_EVENT_IS_FILTER_INIT(event) (get_event_hint(event) == WEED_EVENT_HINT_FILTER_INIT ? 1 : 0) +#define WEED_EVENT_IS_FILTER_DEINIT(event) (get_event_hint(event) == WEED_EVENT_HINT_FILTER_DEINIT ? 1 : 0) +#define WEED_EVENT_IS_FILTER_MAP(event) (get_event_hint(event) == WEED_EVENT_HINT_FILTER_MAP ? 1 : 0) +#define WEED_EVENT_IS_PARAM_CHANGE(event) (get_event_hint(event) == WEED_EVENT_HINT_PARAM_CHANGE ? 1 : 0) +#define WEED_EVENT_IS_MARKER(event) (get_event_hint(event) == WEED_EVENT_HINT_MARKER ? 1 : 0) #endif // HAS_LIVES_EVENTS_H
View file
LiVES-2.8.4.tar.bz2/src/framedraw.c -> LiVES-2.8.6.tar.bz2/src/framedraw.c
Changed
@@ -20,27 +20,27 @@ #include "framedraw.h" // set by mouse button press -static double xstart,ystart; -static double xcurrent,ycurrent; +static double xstart, ystart; +static double xcurrent, ycurrent; static volatile boolean b1_held; -static volatile boolean noupdate=FALSE; +static volatile boolean noupdate = FALSE; static LiVESWidget *fbord_eventbox; static double calc_fd_scale(int width, int height) { - double scale=1.; + double scale = 1.; - if (width<MIN_PRE_X) { - width=MIN_PRE_X; + if (width < MIN_PRE_X) { + width = MIN_PRE_X; } - if (height<MIN_PRE_Y) { - height=MIN_PRE_Y; + if (height < MIN_PRE_Y) { + height = MIN_PRE_Y; } - if (width>MAX_PRE_X) scale=(double)width/(double)MAX_PRE_X; - if (height>MAX_PRE_Y&&(height/MAX_PRE_Y>scale)) scale=(double)height/(double)MAX_PRE_Y; + if (width > MAX_PRE_X) scale = (double)width / (double)MAX_PRE_X; + if (height > MAX_PRE_Y && (height / MAX_PRE_Y > scale)) scale = (double)height / (double)MAX_PRE_Y; return scale; } @@ -49,50 +49,50 @@ int i; char *com; - lives_widget_set_sensitive(mainw->framedraw_preview,FALSE); + lives_widget_set_sensitive(mainw->framedraw_preview, FALSE); lives_widget_context_update(); if (mainw->did_rfx_preview) { - lives_kill_subprocesses(cfile->handle,TRUE); + lives_kill_subprocesses(cfile->handle, TRUE); - if (cfile->start==0) { - cfile->start=1; - cfile->end=cfile->frames; + if (cfile->start == 0) { + cfile->start = 1; + cfile->end = cfile->frames; } do_rfx_cleanup(rfx); } - com=lives_strdup_printf("%s clear_pre_files \"%s\" 2>%s",prefs->backend_sync,cfile->handle,LIVES_DEVNULL); - lives_system(com,TRUE); // clear any .pre files from before + com = lives_strdup_printf("%s clear_pre_files \"%s\" 2>%s", prefs->backend_sync, cfile->handle, LIVES_DEVNULL); + lives_system(com, TRUE); // clear any .pre files from before - for (i=0; i<rfx->num_params; i++) { - rfx->params[i].changed=FALSE; + for (i = 0; i < rfx->num_params; i++) { + rfx->params[i].changed = FALSE; } - mainw->cancelled=CANCEL_NONE; - mainw->error=FALSE; + mainw->cancelled = CANCEL_NONE; + mainw->error = FALSE; // within do_effect() we check and if - do_effect(rfx,TRUE); // actually start effect processing in the background + do_effect(rfx, TRUE); // actually start effect processing in the background - lives_widget_set_sensitive(mainw->framedraw_spinbutton,TRUE); - lives_widget_set_sensitive(mainw->framedraw_scale,TRUE); + lives_widget_set_sensitive(mainw->framedraw_spinbutton, TRUE); + lives_widget_set_sensitive(mainw->framedraw_scale, TRUE); - if (mainw->framedraw_frame>cfile->start&&!(cfile->start==0&&mainw->framedraw_frame==1)) - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->framedraw_spinbutton),cfile->start); + if (mainw->framedraw_frame > cfile->start && !(cfile->start == 0 && mainw->framedraw_frame == 1)) + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->framedraw_spinbutton), cfile->start); else { load_rfx_preview(rfx); } - mainw->did_rfx_preview=TRUE; + mainw->did_rfx_preview = TRUE; } void framedraw_connect_spinbutton(lives_special_framedraw_rect_t *framedraw, lives_rfx_t *rfx) { - framedraw->rfx=rfx; + framedraw->rfx = rfx; lives_signal_connect_after(LIVES_GUI_OBJECT(mainw->framedraw_spinbutton), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(after_framedraw_frame_spinbutton_changed), @@ -115,10 +115,11 @@ lives_signal_connect(LIVES_GUI_OBJECT(mainw->framedraw), LIVES_WIDGET_BUTTON_PRESS_EVENT, LIVES_GUI_CALLBACK(on_framedraw_mouse_start), framedraw); - lives_signal_connect(LIVES_GUI_OBJECT(mainw->framedraw), LIVES_WIDGET_ENTER_EVENT,LIVES_GUI_CALLBACK(on_framedraw_enter),framedraw); - lives_signal_connect(LIVES_GUI_OBJECT(mainw->framedraw), LIVES_WIDGET_LEAVE_NOTIFY_EVENT,LIVES_GUI_CALLBACK(on_framedraw_leave),framedraw); + lives_signal_connect(LIVES_GUI_OBJECT(mainw->framedraw), LIVES_WIDGET_ENTER_EVENT, LIVES_GUI_CALLBACK(on_framedraw_enter), framedraw); + lives_signal_connect(LIVES_GUI_OBJECT(mainw->framedraw), LIVES_WIDGET_LEAVE_NOTIFY_EVENT, LIVES_GUI_CALLBACK(on_framedraw_leave), + framedraw); - framedraw_connect_spinbutton(framedraw,rfx); + framedraw_connect_spinbutton(framedraw, rfx); lives_widget_set_bg_color(mainw->fd_frame, LIVES_WIDGET_STATE_NORMAL, &palette->light_red); lives_widget_set_bg_color(fbord_eventbox, LIVES_WIDGET_STATE_NORMAL, &palette->light_red); @@ -131,7 +132,7 @@ LiVESWidget *label; // TRANSLATORS - Preview refers to preview window; keep this phrase short - label=lives_standard_label_new(_("You can click in Preview to change these values")); + label = lives_standard_label_new(_("You can click in Preview to change these values")); lives_box_pack_start(LIVES_BOX(box), label, FALSE, FALSE, 0); } @@ -141,16 +142,16 @@ framedraw_add_label(box); - mainw->framedraw_reset = lives_button_new_from_stock(LIVES_STOCK_REFRESH,NULL); + mainw->framedraw_reset = lives_button_new_from_stock(LIVES_STOCK_REFRESH, NULL); hbox_rst = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(box), hbox_rst, FALSE, FALSE, 0); - lives_button_set_label(LIVES_BUTTON(mainw->framedraw_reset),_("_Reset Values")); + lives_button_set_label(LIVES_BUTTON(mainw->framedraw_reset), _("_Reset Values")); lives_button_set_use_underline(LIVES_BUTTON(mainw->framedraw_reset), TRUE); lives_box_pack_start(LIVES_BOX(hbox_rst), mainw->framedraw_reset, TRUE, FALSE, 0); - lives_widget_set_sensitive(mainw->framedraw_reset,FALSE); + lives_widget_set_sensitive(mainw->framedraw_reset, FALSE); - lives_signal_connect(mainw->framedraw_reset, LIVES_WIDGET_CLICKED_SIGNAL,LIVES_GUI_CALLBACK(on_framedraw_reset_clicked),framedraw); + lives_signal_connect(mainw->framedraw_reset, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_framedraw_reset_clicked), framedraw); } @@ -176,9 +177,9 @@ double fd_scale; - b1_held=FALSE; + b1_held = FALSE; - mainw->framedraw_reset=NULL; + mainw->framedraw_reset = NULL; vseparator = lives_vseparator_new(); lives_box_pack_start(LIVES_BOX(lives_widget_get_parent(LIVES_WIDGET(box))), vseparator, FALSE, FALSE, 0); @@ -188,45 +189,45 @@ lives_box_pack_start(LIVES_BOX(lives_widget_get_parent(LIVES_WIDGET(box))), vbox, FALSE, FALSE, 0); lives_container_set_border_width(LIVES_CONTAINER(vbox), widget_opts.border_width); - fd_scale=calc_fd_scale(width,height); - width/=fd_scale; - height/=fd_scale; + fd_scale = calc_fd_scale(width, height); + width /= fd_scale; + height /= fd_scale; hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, 0); - fbord_eventbox=lives_event_box_new(); - lives_container_set_border_width(LIVES_CONTAINER(fbord_eventbox),widget_opts.border_width); + fbord_eventbox = lives_event_box_new(); + lives_container_set_border_width(LIVES_CONTAINER(fbord_eventbox), widget_opts.border_width); - frame = lives_standard_frame_new(_("Preview"),0.,TRUE); + frame = lives_standard_frame_new(_("Preview"), 0., TRUE); lives_box_pack_start(LIVES_BOX(hbox), frame, TRUE, TRUE, 0); - mainw->fd_frame=frame; + mainw->fd_frame = frame; hbox = lives_hbox_new(FALSE, 0); - lives_container_set_border_width(LIVES_CONTAINER(hbox),0); + lives_container_set_border_width(LIVES_CONTAINER(hbox), 0); lives_container_add(LIVES_CONTAINER(frame), hbox); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(hbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); } - mainw->framedraw=lives_event_box_new(); + mainw->framedraw = lives_event_box_new(); lives_widget_set_size_request(mainw->framedraw, width, height); - lives_container_set_border_width(LIVES_CONTAINER(mainw->framedraw),1); + lives_container_set_border_width(LIVES_CONTAINER(mainw->framedraw), 1); lives_widget_set_events(mainw->framedraw, LIVES_BUTTON1_MOTION_MASK | LIVES_BUTTON_RELEASE_MASK | - LIVES_BUTTON_PRESS_MASK| LIVES_ENTER_NOTIFY_MASK | LIVES_LEAVE_NOTIFY_MASK); + LIVES_BUTTON_PRESS_MASK | LIVES_ENTER_NOTIFY_MASK | LIVES_LEAVE_NOTIFY_MASK); - mainw->framedraw_frame=start; + mainw->framedraw_frame = start; lives_box_pack_start(LIVES_BOX(hbox), fbord_eventbox, FALSE, FALSE, 0); //lives_container_add(LIVES_CONTAINER(frame), fbord_eventbox); lives_container_add(LIVES_CONTAINER(fbord_eventbox), mainw->framedraw); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(mainw->framedraw, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); lives_widget_set_fg_color(mainw->framedraw, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); } @@ -239,20 +240,20 @@ lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); mainw->framedraw_spinbutton = lives_standard_spin_button_new(_("_Frame"), - TRUE,start,start,end,1.,10.,0,LIVES_BOX(hbox),NULL); + TRUE, start, start, end, 1., 10., 0, LIVES_BOX(hbox), NULL); - spinbutton_adj=lives_spin_button_get_adjustment(LIVES_SPIN_BUTTON(mainw->framedraw_spinbutton)); + spinbutton_adj = lives_spin_button_get_adjustment(LIVES_SPIN_BUTTON(mainw->framedraw_spinbutton)); - mainw->framedraw_scale=lives_hscale_new(LIVES_ADJUSTMENT(spinbutton_adj)); + mainw->framedraw_scale = lives_hscale_new(LIVES_ADJUSTMENT(spinbutton_adj)); lives_box_pack_start(LIVES_BOX(hbox), mainw->framedraw_scale, TRUE, TRUE, 0); - lives_scale_set_draw_value(LIVES_SCALE(mainw->framedraw_scale),FALSE); + lives_scale_set_draw_value(LIVES_SCALE(mainw->framedraw_scale), FALSE); - rfx=(lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(lives_widget_get_toplevel(LIVES_WIDGET(box))),"rfx"); - mainw->framedraw_preview = lives_button_new_from_stock(LIVES_STOCK_REFRESH,_("_Preview")); + rfx = (lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(lives_widget_get_toplevel(LIVES_WIDGET(box))), "rfx"); + mainw->framedraw_preview = lives_button_new_from_stock(LIVES_STOCK_REFRESH, _("_Preview")); lives_box_pack_start(LIVES_BOX(hbox), mainw->framedraw_preview, TRUE, FALSE, 0); - lives_widget_set_sensitive(mainw->framedraw_spinbutton,FALSE); - lives_widget_set_sensitive(mainw->framedraw_scale,FALSE); - lives_signal_connect(mainw->framedraw_preview, LIVES_WIDGET_CLICKED_SIGNAL,LIVES_GUI_CALLBACK(start_preview),rfx); + lives_widget_set_sensitive(mainw->framedraw_spinbutton, FALSE); + lives_widget_set_sensitive(mainw->framedraw_scale, FALSE); + lives_signal_connect(mainw->framedraw_preview, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(start_preview), rfx); lives_widget_show_all(vbox); @@ -270,39 +271,43 @@ int fd_height; int fd_width; - int width,height; + int width, height; - double xstartf,ystartf,xendf,yendf; + double xstartf, ystartf, xendf, yendf; lives_painter_t *cr; - if (mainw->current_file<1||cfile==NULL) return; + if (mainw->current_file < 1 || cfile == NULL) return; - if (framedraw->rfx->source_type==LIVES_RFX_SOURCE_RFX) + if (framedraw->rfx->source_type == LIVES_RFX_SOURCE_RFX) if (noupdate) return; - fd_width=lives_widget_get_allocation_width(mainw->framedraw); - fd_height=lives_widget_get_allocation_height(mainw->framedraw); + fd_width = lives_widget_get_allocation_width(mainw->framedraw); + fd_height = lives_widget_get_allocation_height(mainw->framedraw); + + width = cfile->hsize; + height = cfile->vsize; - width=cfile->hsize; - height=cfile->vsize; + if (fd_width > width) fd_width = width; + if (fd_height > height) fd_height = height; - calc_maxspect(fd_width,fd_height,&width,&height); + calc_maxspect(fd_width, fd_height, &width, &height); // copy from orig, resize // copy orig layer to layer - if (mainw->fd_layer!=NULL) { + if (mainw->fd_layer != NULL) { weed_layer_free(mainw->fd_layer); - mainw->fd_layer=NULL; + mainw->fd_layer = NULL; } - if (reload||mainw->fd_layer_orig==NULL) load_framedraw_image(pixbuf); + if (reload || mainw->fd_layer_orig == NULL) load_framedraw_image(pixbuf); - mainw->fd_layer=weed_layer_copy(NULL,mainw->fd_layer_orig); + mainw->fd_layer = weed_layer_copy(NULL, mainw->fd_layer_orig); // resize to correct size + resize_layer(mainw->fd_layer, width, height, LIVES_INTERP_BEST, WEED_PALETTE_END, 0); - cr=layer_to_lives_painter(mainw->fd_layer); + cr = layer_to_lives_painter(mainw->fd_layer); // draw on the lives_painter @@ -312,88 +317,88 @@ switch (framedraw->type) { case LIVES_PARAM_SPECIAL_TYPE_RECT_MULTRECT: // deprecated // scale values - if (framedraw->xstart_param->dp==0) { - xstartf=(double)lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0])); - xstartf=xstartf/(double)cfile->hsize*(double)width; + if (framedraw->xstart_param->dp == 0) { + xstartf = (double)lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0])); + xstartf = xstartf / (double)cfile->hsize * (double)width; } else { - xstartf=lives_spin_button_get_value(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0])); - xstartf=xstartf*(double)width; + xstartf = lives_spin_button_get_value(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0])); + xstartf = xstartf * (double)width; } - if (framedraw->xend_param->dp==0) { - xendf=(double)lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0])); - xendf=xendf/(double)cfile->hsize*(double)width; + if (framedraw->xend_param->dp == 0) { + xendf = (double)lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0])); + xendf = xendf / (double)cfile->hsize * (double)width; } else { - xendf=lives_spin_button_get_value(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0])); - xendf=xendf*(double)width; + xendf = lives_spin_button_get_value(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0])); + xendf = xendf * (double)width; } - if (framedraw->ystart_param->dp==0) { - ystartf=(double)lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0])); - ystartf=ystartf/(double)cfile->vsize*(double)height; + if (framedraw->ystart_param->dp == 0) { + ystartf = (double)lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0])); + ystartf = ystartf / (double)cfile->vsize * (double)height; } else { - ystartf=lives_spin_button_get_value(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0])); - ystartf=ystartf*(double)height; + ystartf = lives_spin_button_get_value(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0])); + ystartf = ystartf * (double)height; } - if (framedraw->yend_param->dp==0) { - yendf=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0])); - yendf=yendf/(double)cfile->vsize*(double)height; + if (framedraw->yend_param->dp == 0) { + yendf = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0])); + yendf = yendf / (double)cfile->vsize * (double)height; } else { - yendf=lives_spin_button_get_value(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0])); - yendf=yendf*(double)height; + yendf = lives_spin_button_get_value(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0])); + yendf = yendf * (double)height; } lives_painter_set_source_rgb(cr, 1., 0., 0.); - lives_painter_rectangle(cr,xstartf-1.,ystartf-1.,xendf+2.,yendf+2.); + lives_painter_rectangle(cr, xstartf - 1., ystartf - 1., xendf + 2., yendf + 2.); lives_painter_stroke(cr); break; case LIVES_PARAM_SPECIAL_TYPE_RECT_MULTIRECT: case LIVES_PARAM_SPECIAL_TYPE_RECT_DEMASK: - if (framedraw->xstart_param->dp==0) { - xstartf=(double)lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0])); - xstartf=xstartf/(double)cfile->hsize*(double)width; + if (framedraw->xstart_param->dp == 0) { + xstartf = (double)lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0])); + xstartf = xstartf / (double)cfile->hsize * (double)width; } else { - xstartf=lives_spin_button_get_value(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0])); - xstartf=xstartf*(double)width; + xstartf = lives_spin_button_get_value(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0])); + xstartf = xstartf * (double)width; } - if (framedraw->xend_param->dp==0) { - xendf=(double)lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0])); - xendf=xendf/(double)cfile->hsize*(double)width; + if (framedraw->xend_param->dp == 0) { + xendf = (double)lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0])); + xendf = xendf / (double)cfile->hsize * (double)width; } else { - xendf=lives_spin_button_get_value(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0])); - xendf=xendf*(double)width; + xendf = lives_spin_button_get_value(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0])); + xendf = xendf * (double)width; } - if (framedraw->ystart_param->dp==0) { - ystartf=(double)lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0])); - ystartf=ystartf/(double)cfile->vsize*(double)height; + if (framedraw->ystart_param->dp == 0) { + ystartf = (double)lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0])); + ystartf = ystartf / (double)cfile->vsize * (double)height; } else { - ystartf=lives_spin_button_get_value(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0])); - ystartf=ystartf*(double)height; + ystartf = lives_spin_button_get_value(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0])); + ystartf = ystartf * (double)height; } - if (framedraw->yend_param->dp==0) { - yendf=(double)lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0])); - yendf=yendf/(double)cfile->vsize*(double)height; + if (framedraw->yend_param->dp == 0) { + yendf = (double)lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0])); + yendf = yendf / (double)cfile->vsize * (double)height; } else { - yendf=lives_spin_button_get_value(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0])); - yendf=yendf*(double)height; + yendf = lives_spin_button_get_value(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0])); + yendf = yendf * (double)height; } - if (b1_held||framedraw->type==LIVES_PARAM_SPECIAL_TYPE_RECT_MULTIRECT) { + if (b1_held || framedraw->type == LIVES_PARAM_SPECIAL_TYPE_RECT_MULTIRECT) { lives_painter_set_source_rgb(cr, 1., 0., 0.); - lives_painter_rectangle(cr,xstartf-1.,ystartf-1.,xendf-xstartf+2.,yendf-ystartf+2.); + lives_painter_rectangle(cr, xstartf - 1., ystartf - 1., xendf - xstartf + 2., yendf - ystartf + 2.); lives_painter_stroke(cr); } else { if (!b1_held) { // create a mask which is only opaque within the clipping area - lives_painter_rectangle(cr,0,0,width,height); - lives_painter_rectangle(cr,xstartf,ystartf,xendf-xstartf+1.,yendf-ystartf+1.); + lives_painter_rectangle(cr, 0, 0, width, height); + lives_painter_rectangle(cr, xstartf, ystartf, xendf - xstartf + 1., yendf - ystartf + 1.); lives_painter_set_operator(cr, LIVES_PAINTER_OPERATOR_DEST_OUT); lives_painter_set_source_rgba(cr, .0, .0, .0, .5); lives_painter_set_fill_rule(cr, LIVES_PAINTER_FILL_RULE_EVEN_ODD); @@ -404,31 +409,31 @@ break; case LIVES_PARAM_SPECIAL_TYPE_SINGLEPOINT: - if (framedraw->xstart_param->dp==0) { - xstartf=(double)lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0])); - xstartf=xstartf/(double)cfile->hsize*(double)width; + if (framedraw->xstart_param->dp == 0) { + xstartf = (double)lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0])); + xstartf = xstartf / (double)cfile->hsize * (double)width; } else { - xstartf=lives_spin_button_get_value(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0])); - xstartf=xstartf*(double)width; + xstartf = lives_spin_button_get_value(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0])); + xstartf = xstartf * (double)width; } - if (framedraw->ystart_param->dp==0) { - ystartf=(double)lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0])); - ystartf=ystartf/(double)cfile->vsize*(double)height; + if (framedraw->ystart_param->dp == 0) { + ystartf = (double)lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0])); + ystartf = ystartf / (double)cfile->vsize * (double)height; } else { - ystartf=lives_spin_button_get_value(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0])); - ystartf=ystartf*(double)height; + ystartf = lives_spin_button_get_value(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0])); + ystartf = ystartf * (double)height; } lives_painter_set_source_rgb(cr, 1., 0., 0.); - lives_painter_move_to(cr,xstartf,ystartf-3); - lives_painter_line_to(cr,xstartf,ystartf+3); + lives_painter_move_to(cr, xstartf, ystartf - 3); + lives_painter_line_to(cr, xstartf, ystartf + 3); lives_painter_stroke(cr); - lives_painter_move_to(cr,xstartf-3,ystartf); - lives_painter_line_to(cr,xstartf+3,ystartf); + lives_painter_move_to(cr, xstartf - 3, ystartf); + lives_painter_line_to(cr, xstartf + 3, ystartf); lives_painter_stroke(cr); @@ -453,13 +458,13 @@ // load a preview of an rfx (rendered effect) in clip editor LiVESPixbuf *pixbuf; - FILE *infofile=NULL; + FILE *infofile = NULL; - int max_frame=0,tot_frames=0; - int vend=cfile->start; + int max_frame = 0, tot_frames = 0; + int vend = cfile->start; int retval; int alarm_handle; - int current_file=mainw->current_file; + int current_file = mainw->current_file; boolean retb; boolean timeout; @@ -467,52 +472,52 @@ weed_timecode_t tc; const char *img_ext; - if (mainw->framedraw_frame==0) mainw->framedraw_frame=1; + if (mainw->framedraw_frame == 0) mainw->framedraw_frame = 1; - lives_set_cursor_style(LIVES_CURSOR_BUSY,NULL); + lives_set_cursor_style(LIVES_CURSOR_BUSY, NULL); clear_mainw_msg(); - mainw->write_failed=FALSE; + mainw->write_failed = FALSE; - if (cfile->clip_type==CLIP_TYPE_FILE&&vend<=cfile->end) { + if (cfile->clip_type == CLIP_TYPE_FILE && vend <= cfile->end) { // pull some frames for 10 seconds - alarm_handle=lives_alarm_set(LIVES_DEFAULT_TIMEOUT); + alarm_handle = lives_alarm_set(LIVES_DEFAULT_TIMEOUT); do { lives_widget_context_update(); - if (is_virtual_frame(mainw->current_file,vend)) { - retb=virtual_to_images(mainw->current_file,vend,vend,FALSE,NULL); + if (is_virtual_frame(mainw->current_file, vend)) { + retb = virtual_to_images(mainw->current_file, vend, vend, FALSE, NULL); if (!retb) return; } vend++; - timeout=lives_alarm_get(alarm_handle); - } while (vend<=cfile->end&&!timeout&&!mainw->cancelled); + timeout = lives_alarm_get(alarm_handle); + } while (vend <= cfile->end && !timeout && !mainw->cancelled); lives_alarm_clear(alarm_handle); } if (mainw->cancelled) { - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); return; } // get message from back end processor - while (!(infofile=fopen(cfile->info_file,"r"))&&!mainw->cancelled) { + while (!(infofile = fopen(cfile->info_file, "r")) && !mainw->cancelled) { // wait until we get at least 1 frame lives_widget_context_update(); - if (cfile->clip_type==CLIP_TYPE_FILE&&vend<=cfile->end) { + if (cfile->clip_type == CLIP_TYPE_FILE && vend <= cfile->end) { // if we have a virtual clip (frames inside a video file) // pull some more frames to images to get us started do { - retb=FALSE; - if (is_virtual_frame(mainw->current_file,vend)) { - retb=virtual_to_images(mainw->current_file,vend,vend,FALSE,NULL); + retb = FALSE; + if (is_virtual_frame(mainw->current_file, vend)) { + retb = virtual_to_images(mainw->current_file, vend, vend, FALSE, NULL); if (!retb) { fclose(infofile); return; } } vend++; - } while (vend<=cfile->end&&!retb); + } while (vend <= cfile->end && !retb); } else { // otherwise wait lives_usleep(prefs->sleep_time); @@ -521,74 +526,74 @@ if (mainw->cancelled) { if (infofile) fclose(infofile); - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); return; } do { - retval=0; - mainw->read_failed=FALSE; - lives_fgets(mainw->msg,512,infofile); - if (mainw->read_failed) retval=do_read_failed_error_s_with_retry(cfile->info_file,NULL,NULL); - } while (retval==LIVES_RESPONSE_RETRY); + retval = 0; + mainw->read_failed = FALSE; + lives_fgets(mainw->msg, 512, infofile); + if (mainw->read_failed) retval = do_read_failed_error_s_with_retry(cfile->info_file, NULL, NULL); + } while (retval == LIVES_RESPONSE_RETRY); fclose(infofile); - if (strncmp(mainw->msg,"completed",9)) { - if (rfx->num_in_channels>0) { - max_frame=atoi(mainw->msg); + if (strncmp(mainw->msg, "completed", 9)) { + if (rfx->num_in_channels > 0) { + max_frame = atoi(mainw->msg); } else { - int numtok=get_token_count(mainw->msg,'|'); - if (numtok>4) { - char **array=lives_strsplit(mainw->msg,"|",numtok); - max_frame=atoi(array[0]); - cfile->hsize=atoi(array[1]); - cfile->vsize=atoi(array[2]); - cfile->fps=cfile->pb_fps=strtod(array[3],NULL); - if (cfile->fps==0) cfile->fps=cfile->pb_fps=prefs->default_fps; - tot_frames=atoi(array[4]); + int numtok = get_token_count(mainw->msg, '|'); + if (numtok > 4) { + char **array = lives_strsplit(mainw->msg, "|", numtok); + max_frame = atoi(array[0]); + cfile->hsize = atoi(array[1]); + cfile->vsize = atoi(array[2]); + cfile->fps = cfile->pb_fps = strtod(array[3], NULL); + if (cfile->fps == 0) cfile->fps = cfile->pb_fps = prefs->default_fps; + tot_frames = atoi(array[4]); lives_strfreev(array); } } } else { - max_frame=cfile->end; + max_frame = cfile->end; } - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); - if (max_frame>0) { - if (rfx->num_in_channels==0) { - int maxlen=calc_spin_button_width(1.,(double)tot_frames,0); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->framedraw_spinbutton),1,tot_frames); - lives_entry_set_width_chars(LIVES_ENTRY(mainw->framedraw_spinbutton),maxlen); + if (max_frame > 0) { + if (rfx->num_in_channels == 0) { + int maxlen = calc_spin_button_width(1., (double)tot_frames, 0); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->framedraw_spinbutton), 1, tot_frames); + lives_entry_set_width_chars(LIVES_ENTRY(mainw->framedraw_spinbutton), maxlen); lives_widget_queue_draw(mainw->framedraw_spinbutton); lives_widget_queue_draw(mainw->framedraw_scale); } - if (mainw->framedraw_frame>max_frame) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->framedraw_spinbutton),max_frame); - mainw->current_file=current_file; + if (mainw->framedraw_frame > max_frame) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->framedraw_spinbutton), max_frame); + mainw->current_file = current_file; return; } } - if (rfx->num_in_channels>0) { - img_ext=LIVES_FILE_EXT_PRE; + if (rfx->num_in_channels > 0) { + img_ext = LIVES_FILE_EXT_PRE; } else { - img_ext=get_image_ext_for_type(cfile->img_type); + img_ext = get_image_ext_for_type(cfile->img_type); } - tc=((mainw->framedraw_frame-1.))/cfile->fps*U_SECL; - pixbuf=pull_lives_pixbuf_at_size(mainw->current_file,mainw->framedraw_frame,(char *)img_ext, - tc,(double)cfile->hsize, - (double)cfile->vsize,LIVES_INTERP_BEST); + tc = ((mainw->framedraw_frame - 1.)) / cfile->fps * U_SECL; + pixbuf = pull_lives_pixbuf_at_size(mainw->current_file, mainw->framedraw_frame, (char *)img_ext, + tc, (double)cfile->hsize, + (double)cfile->vsize, LIVES_INTERP_BEST); load_framedraw_image(pixbuf); redraw_framedraw_image(); - mainw->current_file=current_file; + mainw->current_file = current_file; } @@ -596,9 +601,9 @@ void after_framedraw_frame_spinbutton_changed(LiVESSpinButton *spinbutton, lives_special_framedraw_rect_t *framedraw) { // update the single frame/framedraw preview // after the "frame number" spinbutton has changed - mainw->framedraw_frame=lives_spin_button_get_value_as_int(spinbutton); + mainw->framedraw_frame = lives_spin_button_get_value_as_int(spinbutton); if (lives_widget_is_visible(mainw->framedraw_preview)) { - if (mainw->framedraw_preview!=NULL) lives_widget_set_sensitive(mainw->framedraw_preview,FALSE); + if (mainw->framedraw_preview != NULL) lives_widget_set_sensitive(mainw->framedraw_preview, FALSE); lives_widget_context_update(); load_rfx_preview(framedraw->rfx); } else framedraw_redraw(framedraw, TRUE, NULL); @@ -613,33 +618,33 @@ weed_timecode_t tc; - if (mainw->framedraw_frame>cfile->frames) mainw->framedraw_frame=cfile->frames; + if (mainw->framedraw_frame > cfile->frames) mainw->framedraw_frame = cfile->frames; - if (pixbuf==NULL) { - const char *img_ext=get_image_ext_for_type(cfile->img_type); + if (pixbuf == NULL) { + const char *img_ext = get_image_ext_for_type(cfile->img_type); // can happen if we preview for rendered generators - if ((mainw->multitrack==NULL||mainw->current_file!=mainw->multitrack->render_file)&&mainw->framedraw_frame==0) return; + if ((mainw->multitrack == NULL || mainw->current_file != mainw->multitrack->render_file) && mainw->framedraw_frame == 0) return; - tc=((mainw->framedraw_frame-1.))/cfile->fps*U_SECL; - pixbuf=pull_lives_pixbuf_at_size(mainw->current_file,mainw->framedraw_frame,img_ext,tc, - (double)cfile->hsize,(double)cfile->vsize, - LIVES_INTERP_BEST); + tc = ((mainw->framedraw_frame - 1.)) / cfile->fps * U_SECL; + pixbuf = pull_lives_pixbuf_at_size(mainw->current_file, mainw->framedraw_frame, img_ext, tc, + (double)cfile->hsize, (double)cfile->vsize, + LIVES_INTERP_BEST); } - if (pixbuf!=NULL) { - if (mainw->fd_layer_orig!=NULL) { + if (pixbuf != NULL) { + if (mainw->fd_layer_orig != NULL) { weed_layer_free(mainw->fd_layer_orig); } - mainw->fd_layer_orig=weed_layer_new(0,0,NULL,WEED_PALETTE_END); + mainw->fd_layer_orig = weed_layer_new(0, 0, NULL, WEED_PALETTE_END); - if (!pixbuf_to_layer(mainw->fd_layer_orig,pixbuf)) lives_object_unref(pixbuf); + if (!pixbuf_to_layer(mainw->fd_layer_orig, pixbuf)) lives_object_unref(pixbuf); } - if (mainw->fd_layer!=NULL) weed_layer_free(mainw->fd_layer); - mainw->fd_layer=NULL; + if (mainw->fd_layer != NULL) weed_layer_free(mainw->fd_layer); + mainw->fd_layer = NULL; } @@ -651,47 +656,47 @@ lives_painter_t *cr; LiVESPixbuf *pixbuf; - int fd_width=lives_widget_get_allocation_width(mainw->framedraw); - int fd_height=lives_widget_get_allocation_height(mainw->framedraw); + int fd_width = lives_widget_get_allocation_width(mainw->framedraw); + int fd_height = lives_widget_get_allocation_height(mainw->framedraw); - int width,height; + int width, height; - if (mainw->fd_layer_orig==NULL) return; + if (mainw->fd_layer_orig == NULL) return; - if (mainw->current_file<1||cfile==NULL) return; + if (mainw->current_file < 1 || cfile == NULL) return; - width=cfile->hsize; - height=cfile->vsize; + width = cfile->hsize; + height = cfile->vsize; - calc_maxspect(fd_width,fd_height,&width,&height); + calc_maxspect(fd_width, fd_height, &width, &height); // copy orig layer to layer - if (mainw->fd_layer==NULL) mainw->fd_layer=weed_layer_copy(NULL,mainw->fd_layer_orig); + if (mainw->fd_layer == NULL) mainw->fd_layer = weed_layer_copy(NULL, mainw->fd_layer_orig); // resize to correct size resize_layer(mainw->fd_layer, width, height, LIVES_INTERP_BEST, WEED_PALETTE_RGBA32, 0); // force to RGBA32 - convert_layer_palette(mainw->fd_layer,WEED_PALETTE_RGBA32,0); + convert_layer_palette(mainw->fd_layer, WEED_PALETTE_RGBA32, 0); // layer to pixbuf - pixbuf=layer_to_pixbuf(mainw->fd_layer); + pixbuf = layer_to_pixbuf(mainw->fd_layer); // get lives_painter for window cr = lives_painter_create_from_widget(mainw->framedraw); - if (cr!=NULL) { + if (cr != NULL) { // set source pixbuf for lives_painter - lives_painter_set_source_pixbuf(cr, pixbuf, (fd_width-width)>>1, (fd_height-height)>>1); + lives_painter_set_source_pixbuf(cr, pixbuf, (fd_width - width) >> 1, (fd_height - height) >> 1); lives_painter_paint(cr); lives_painter_destroy(cr); } - if (pixbuf!=NULL) { + if (pixbuf != NULL) { // convert pixbuf back to layer (layer_to_pixbuf destroys it) - if (!pixbuf_to_layer(mainw->fd_layer,pixbuf)) lives_object_unref(pixbuf); + if (!pixbuf_to_layer(mainw->fd_layer, pixbuf)) lives_object_unref(pixbuf); } } @@ -701,30 +706,31 @@ boolean on_framedraw_enter(LiVESWidget *widget, LiVESXEventCrossing *event, lives_special_framedraw_rect_t *framedraw) { - if (framedraw==NULL&&mainw->multitrack!=NULL) { - framedraw=mainw->multitrack->framedraw; - if (framedraw==NULL&&mainw->multitrack->cursor_style==LIVES_CURSOR_NORMAL) - lives_set_cursor_style(LIVES_CURSOR_NORMAL,mainw->multitrack->play_box); + if (framedraw == NULL && mainw->multitrack != NULL) { + framedraw = mainw->multitrack->framedraw; + if (framedraw == NULL && mainw->multitrack->cursor_style == LIVES_CURSOR_NORMAL) + lives_set_cursor_style(LIVES_CURSOR_NORMAL, mainw->multitrack->play_box); } - if (framedraw==NULL) return FALSE; - if (mainw->multitrack!=NULL&&(mainw->multitrack->track_index==-1||mainw->multitrack->cursor_style!=LIVES_CURSOR_NORMAL)) return FALSE; + if (framedraw == NULL) return FALSE; + if (mainw->multitrack != NULL && (mainw->multitrack->track_index == -1 || + mainw->multitrack->cursor_style != LIVES_CURSOR_NORMAL)) return FALSE; switch (framedraw->type) { case LIVES_PARAM_SPECIAL_TYPE_RECT_DEMASK: case LIVES_PARAM_SPECIAL_TYPE_RECT_MULTRECT: case LIVES_PARAM_SPECIAL_TYPE_RECT_MULTIRECT: - if (mainw->multitrack==NULL) { - lives_set_cursor_style(LIVES_CURSOR_TOP_LEFT_CORNER,mainw->framedraw); + if (mainw->multitrack == NULL) { + lives_set_cursor_style(LIVES_CURSOR_TOP_LEFT_CORNER, mainw->framedraw); } else { - lives_set_cursor_style(LIVES_CURSOR_TOP_LEFT_CORNER,mainw->multitrack->play_box); + lives_set_cursor_style(LIVES_CURSOR_TOP_LEFT_CORNER, mainw->multitrack->play_box); } break; case LIVES_PARAM_SPECIAL_TYPE_SINGLEPOINT: - if (mainw->multitrack==NULL) { - lives_set_cursor_style(LIVES_CURSOR_CROSSHAIR,mainw->framedraw); + if (mainw->multitrack == NULL) { + lives_set_cursor_style(LIVES_CURSOR_CROSSHAIR, mainw->framedraw); } else { - lives_set_cursor_style(LIVES_CURSOR_CROSSHAIR,mainw->multitrack->play_box); + lives_set_cursor_style(LIVES_CURSOR_CROSSHAIR, mainw->multitrack->play_box); } break; @@ -737,8 +743,8 @@ boolean on_framedraw_leave(LiVESWidget *widget, LiVESXEventCrossing *event, lives_special_framedraw_rect_t *framedraw) { - if (framedraw==NULL) return FALSE; - lives_set_cursor_style(LIVES_CURSOR_NORMAL,mainw->framedraw); + if (framedraw == NULL) return FALSE; + lives_set_cursor_style(LIVES_CURSOR_NORMAL, mainw->framedraw); return FALSE; } @@ -751,67 +757,67 @@ int fd_height; int fd_width; - int width=cfile->hsize; - int height=cfile->vsize; + int width = cfile->hsize; + int height = cfile->vsize; - int xstarti,ystarti; + int xstarti, ystarti; - if (framedraw==NULL&&mainw->multitrack!=NULL) framedraw=mainw->multitrack->framedraw; + if (framedraw == NULL && mainw->multitrack != NULL) framedraw = mainw->multitrack->framedraw; - if (framedraw==NULL) return FALSE; - if (mainw->multitrack!=NULL&&mainw->multitrack->track_index==-1) return FALSE; + if (framedraw == NULL) return FALSE; + if (mainw->multitrack != NULL && mainw->multitrack->track_index == -1) return FALSE; - if (framedraw==NULL&&mainw->multitrack!=NULL&&event->button==3) { + if (framedraw == NULL && mainw->multitrack != NULL && event->button == 3) { // right click brings up context menu - frame_context(widget,event,LIVES_INT_TO_POINTER(0)); + frame_context(widget, event, LIVES_INT_TO_POINTER(0)); } - if (event->button!=1) return FALSE; + if (event->button != 1) return FALSE; - b1_held=TRUE; + b1_held = TRUE; - lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].mouse_device, + lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].mouse_device, widget, &xstarti, &ystarti); - if ((framedraw->type==LIVES_PARAM_SPECIAL_TYPE_RECT_MULTRECT|| - framedraw->type==LIVES_PARAM_SPECIAL_TYPE_RECT_MULTIRECT|| - framedraw->type==LIVES_PARAM_SPECIAL_TYPE_RECT_DEMASK)&& - (mainw->multitrack==NULL||mainw->multitrack->cursor_style==0)) { - if (mainw->multitrack==NULL) { - lives_set_cursor_style(LIVES_CURSOR_BOTTOM_RIGHT_CORNER,widget); + if ((framedraw->type == LIVES_PARAM_SPECIAL_TYPE_RECT_MULTRECT || + framedraw->type == LIVES_PARAM_SPECIAL_TYPE_RECT_MULTIRECT || + framedraw->type == LIVES_PARAM_SPECIAL_TYPE_RECT_DEMASK) && + (mainw->multitrack == NULL || mainw->multitrack->cursor_style == 0)) { + if (mainw->multitrack == NULL) { + lives_set_cursor_style(LIVES_CURSOR_BOTTOM_RIGHT_CORNER, widget); } else { - lives_set_cursor_style(LIVES_CURSOR_BOTTOM_RIGHT_CORNER,mainw->multitrack->play_box); + lives_set_cursor_style(LIVES_CURSOR_BOTTOM_RIGHT_CORNER, mainw->multitrack->play_box); } } - fd_width=lives_widget_get_allocation_width(widget); - fd_height=lives_widget_get_allocation_height(widget); + fd_width = lives_widget_get_allocation_width(widget); + fd_height = lives_widget_get_allocation_height(widget); - calc_maxspect(fd_width,fd_height,&width,&height); + calc_maxspect(fd_width, fd_height, &width, &height); - xstart=(double)xstarti-(double)(fd_width-width)/2.; - ystart=(double)ystarti-(double)(fd_height-height)/2.; + xstart = (double)xstarti - (double)(fd_width - width) / 2.; + ystart = (double)ystarti - (double)(fd_height - height) / 2.; - xstart/=(double)width; - ystart/=(double)height; + xstart /= (double)width; + ystart /= (double)height; - xcurrent=xstart; - ycurrent=ystart; + xcurrent = xstart; + ycurrent = ystart; - noupdate=TRUE; + noupdate = TRUE; switch (framedraw->type) { case LIVES_PARAM_SPECIAL_TYPE_SINGLEPOINT: - if (framedraw->xstart_param->dp>0) - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0]),xstart); + if (framedraw->xstart_param->dp > 0) + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0]), xstart); else - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0]),(int)(xstart*(double)cfile->hsize+.5)); - if (framedraw->xstart_param->dp>0) - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0]),ystart); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0]), (int)(xstart * (double)cfile->hsize + .5)); + if (framedraw->xstart_param->dp > 0) + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0]), ystart); else - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0]),(int)(ystart*(double)cfile->vsize+.5)); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0]), (int)(ystart * (double)cfile->vsize + .5)); break; @@ -819,27 +825,27 @@ case LIVES_PARAM_SPECIAL_TYPE_RECT_MULTIRECT: case LIVES_PARAM_SPECIAL_TYPE_RECT_DEMASK: - if (framedraw->xstart_param->dp>0) - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0]),xstart); + if (framedraw->xstart_param->dp > 0) + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0]), xstart); else - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0]),(int)(xstart*(double)cfile->hsize+.5)); - if (framedraw->xstart_param->dp>0) - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0]),ystart); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0]), (int)(xstart * (double)cfile->hsize + .5)); + if (framedraw->xstart_param->dp > 0) + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0]), ystart); else - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0]),(int)(ystart*(double)cfile->vsize+.5)); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0]), (int)(ystart * (double)cfile->vsize + .5)); - if (framedraw->type==LIVES_PARAM_SPECIAL_TYPE_RECT_MULTRECT) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0]),0.); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0]),0.); + if (framedraw->type == LIVES_PARAM_SPECIAL_TYPE_RECT_MULTRECT) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0]), 0.); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0]), 0.); } else { - if (framedraw->xend_param->dp>0) - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0]),xstart); + if (framedraw->xend_param->dp > 0) + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0]), xstart); else - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0]),(int)(xstart*(double)cfile->hsize+.5)); - if (framedraw->xend_param->dp>0) - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0]),ystart); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0]), (int)(xstart * (double)cfile->hsize + .5)); + if (framedraw->xend_param->dp > 0) + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0]), ystart); else - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0]),(int)(ystart*(double)cfile->vsize+.5)); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0]), (int)(ystart * (double)cfile->vsize + .5)); } @@ -849,14 +855,14 @@ } - if (mainw->framedraw_reset!=NULL) { - lives_widget_set_sensitive(mainw->framedraw_reset,TRUE); + if (mainw->framedraw_reset != NULL) { + lives_widget_set_sensitive(mainw->framedraw_reset, TRUE); } - if (mainw->framedraw_preview!=NULL) { - lives_widget_set_sensitive(mainw->framedraw_preview,TRUE); + if (mainw->framedraw_preview != NULL) { + lives_widget_set_sensitive(mainw->framedraw_preview, TRUE); } - noupdate=FALSE; + noupdate = FALSE; framedraw_redraw(framedraw, FALSE, NULL); @@ -865,73 +871,73 @@ boolean on_framedraw_mouse_update(LiVESWidget *widget, LiVESXEventMotion *event, lives_special_framedraw_rect_t *framedraw) { // pointer moved in the framedraw widget - int xcurrenti,ycurrenti; + int xcurrenti, ycurrenti; - int fd_width,fd_height,width,height; + int fd_width, fd_height, width, height; if (noupdate) return FALSE; if (!b1_held) return FALSE; - if (framedraw==NULL&&mainw->multitrack!=NULL) framedraw=mainw->multitrack->framedraw; - if (framedraw==NULL) return FALSE; - if (mainw->multitrack!=NULL&&mainw->multitrack->track_index==-1) return FALSE; + if (framedraw == NULL && mainw->multitrack != NULL) framedraw = mainw->multitrack->framedraw; + if (framedraw == NULL) return FALSE; + if (mainw->multitrack != NULL && mainw->multitrack->track_index == -1) return FALSE; - lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].mouse_device, + lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].mouse_device, widget, &xcurrenti, &ycurrenti); - width=cfile->hsize; - height=cfile->vsize; + width = cfile->hsize; + height = cfile->vsize; - fd_width=lives_widget_get_allocation_width(widget); - fd_height=lives_widget_get_allocation_height(widget); + fd_width = lives_widget_get_allocation_width(widget); + fd_height = lives_widget_get_allocation_height(widget); - calc_maxspect(fd_width,fd_height,&width,&height); + calc_maxspect(fd_width, fd_height, &width, &height); - xcurrent=(double)xcurrenti-(fd_width-width)/2.; - ycurrent=(double)ycurrenti-(fd_height-height)/2.; + xcurrent = (double)xcurrenti - (fd_width - width) / 2.; + ycurrent = (double)ycurrenti - (fd_height - height) / 2.; - xcurrent/=(double)width; - ycurrent/=(double)height; + xcurrent /= (double)width; + ycurrent /= (double)height; - noupdate=TRUE; + noupdate = TRUE; switch (framedraw->type) { case LIVES_PARAM_SPECIAL_TYPE_RECT_MULTRECT: { - double xscale,yscale; + double xscale, yscale; - xscale=xcurrent-xstart; - yscale=ycurrent-ystart; + xscale = xcurrent - xstart; + yscale = ycurrent - ystart; - if (xscale>0.) { - if (framedraw->xend_param->dp>0) - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0]),xscale); + if (xscale > 0.) { + if (framedraw->xend_param->dp > 0) + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0]), xscale); else - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0]),(int)(xscale*(double)cfile->hsize+.5)); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0]), (int)(xscale * (double)cfile->hsize + .5)); } else { - if (framedraw->xstart_param->dp>0) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0]),-xscale); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0]),xcurrent); + if (framedraw->xstart_param->dp > 0) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0]), -xscale); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0]), xcurrent); } else { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0]),(int)(-xscale*(double)cfile->hsize-.5)); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0]),(int)(xcurrent*(double)cfile->hsize+.5)); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0]), (int)(-xscale * (double)cfile->hsize - .5)); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0]), (int)(xcurrent * (double)cfile->hsize + .5)); } } - if (yscale>0.) { - if (framedraw->yend_param->dp>0) - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0]),yscale); + if (yscale > 0.) { + if (framedraw->yend_param->dp > 0) + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0]), yscale); else - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0]),(int)(yscale*(double)cfile->vsize+.5)); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0]), (int)(yscale * (double)cfile->vsize + .5)); } else { - if (framedraw->xstart_param->dp>0) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0]),-yscale); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0]),ycurrent); + if (framedraw->xstart_param->dp > 0) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0]), -yscale); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0]), ycurrent); } else { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0]),(int)(-yscale*(double)cfile->vsize-.5)); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0]),(int)(ycurrent*(double)cfile->vsize+.5)); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0]), (int)(-yscale * (double)cfile->vsize - .5)); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0]), (int)(ycurrent * (double)cfile->vsize + .5)); } } @@ -940,33 +946,33 @@ case LIVES_PARAM_SPECIAL_TYPE_RECT_MULTIRECT: case LIVES_PARAM_SPECIAL_TYPE_RECT_DEMASK: - if (xcurrent>xstart) { - if (framedraw->xend_param->dp>0) - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0]),xcurrent); + if (xcurrent > xstart) { + if (framedraw->xend_param->dp > 0) + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0]), xcurrent); else - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0]),(int)(xcurrent*(double)cfile->hsize+.5)); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0]), (int)(xcurrent * (double)cfile->hsize + .5)); } else { - if (framedraw->xstart_param->dp>0) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0]),xstart); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0]),xcurrent); + if (framedraw->xstart_param->dp > 0) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0]), xstart); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0]), xcurrent); } else { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0]),(int)(xstart*(double)cfile->hsize+.5)); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0]),(int)(xcurrent*(double)cfile->hsize+.5)); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0]), (int)(xstart * (double)cfile->hsize + .5)); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0]), (int)(xcurrent * (double)cfile->hsize + .5)); } } - if (ycurrent>ystart) { - if (framedraw->yend_param->dp>0) - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0]),ycurrent); + if (ycurrent > ystart) { + if (framedraw->yend_param->dp > 0) + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0]), ycurrent); else - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0]),(int)(ycurrent*(double)cfile->vsize+.5)); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0]), (int)(ycurrent * (double)cfile->vsize + .5)); } else { - if (framedraw->xstart_param->dp>0) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0]),ystart); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0]),ycurrent); + if (framedraw->xstart_param->dp > 0) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0]), ystart); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0]), ycurrent); } else { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0]),(int)(ystart*(double)cfile->vsize+.5)); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0]),(int)(ycurrent*(double)cfile->vsize+.5)); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0]), (int)(ystart * (double)cfile->vsize + .5)); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0]), (int)(ycurrent * (double)cfile->vsize + .5)); } } @@ -978,14 +984,14 @@ } - if (mainw->framedraw_reset!=NULL) { - lives_widget_set_sensitive(mainw->framedraw_reset,TRUE); + if (mainw->framedraw_reset != NULL) { + lives_widget_set_sensitive(mainw->framedraw_reset, TRUE); } - if (mainw->framedraw_preview!=NULL) { - lives_widget_set_sensitive(mainw->framedraw_preview,TRUE); + if (mainw->framedraw_preview != NULL) { + lives_widget_set_sensitive(mainw->framedraw_preview, TRUE); } - noupdate=FALSE; + noupdate = FALSE; framedraw_redraw(framedraw, FALSE, NULL); return FALSE; @@ -994,22 +1000,22 @@ boolean on_framedraw_mouse_reset(LiVESWidget *widget, LiVESXEventButton *event, lives_special_framedraw_rect_t *framedraw) { // user released the mouse button in framedraw widget - if (event->button!=1||!b1_held) return FALSE; + if (event->button != 1 || !b1_held) return FALSE; - b1_held=FALSE; + b1_held = FALSE; - if (framedraw==NULL&&mainw->multitrack!=NULL) framedraw=mainw->multitrack->framedraw; - if (framedraw==NULL) return FALSE; - if (mainw->multitrack!=NULL&&mainw->multitrack->track_index==-1) return FALSE; + if (framedraw == NULL && mainw->multitrack != NULL) framedraw = mainw->multitrack->framedraw; + if (framedraw == NULL) return FALSE; + if (mainw->multitrack != NULL && mainw->multitrack->track_index == -1) return FALSE; - if ((framedraw->type==LIVES_PARAM_SPECIAL_TYPE_RECT_MULTRECT|| - framedraw->type==LIVES_PARAM_SPECIAL_TYPE_RECT_MULTIRECT|| - framedraw->type==LIVES_PARAM_SPECIAL_TYPE_RECT_DEMASK)&& - (mainw->multitrack==NULL||mainw->multitrack->cursor_style==0)) { - if (mainw->multitrack==NULL) { - lives_set_cursor_style(LIVES_CURSOR_TOP_LEFT_CORNER,widget); + if ((framedraw->type == LIVES_PARAM_SPECIAL_TYPE_RECT_MULTRECT || + framedraw->type == LIVES_PARAM_SPECIAL_TYPE_RECT_MULTIRECT || + framedraw->type == LIVES_PARAM_SPECIAL_TYPE_RECT_DEMASK) && + (mainw->multitrack == NULL || mainw->multitrack->cursor_style == 0)) { + if (mainw->multitrack == NULL) { + lives_set_cursor_style(LIVES_CURSOR_TOP_LEFT_CORNER, widget); } else { - lives_set_cursor_style(LIVES_CURSOR_TOP_LEFT_CORNER,mainw->multitrack->play_box); + lives_set_cursor_style(LIVES_CURSOR_TOP_LEFT_CORNER, mainw->multitrack->play_box); } } @@ -1019,15 +1025,15 @@ void after_framedraw_widget_changed(LiVESWidget *widget, lives_special_framedraw_rect_t *framedraw) { - if (mainw->block_param_updates||noupdate) return; + if (mainw->block_param_updates || noupdate) return; // redraw mask when spin values change framedraw_redraw(framedraw, FALSE, NULL); - if (mainw->framedraw_reset!=NULL) { - lives_widget_set_sensitive(mainw->framedraw_reset,TRUE); + if (mainw->framedraw_reset != NULL) { + lives_widget_set_sensitive(mainw->framedraw_reset, TRUE); } - if (mainw->framedraw_preview!=NULL) { - lives_widget_set_sensitive(mainw->framedraw_preview,TRUE); + if (mainw->framedraw_preview != NULL) { + lives_widget_set_sensitive(mainw->framedraw_preview, TRUE); } } @@ -1036,43 +1042,43 @@ void on_framedraw_reset_clicked(LiVESButton *button, lives_special_framedraw_rect_t *framedraw) { // reset to defaults - noupdate=TRUE; - if (framedraw->xend_param!=NULL) { - if (framedraw->xend_param->dp==0) - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0]),(double)get_int_param(framedraw->xend_param->def)); + noupdate = TRUE; + if (framedraw->xend_param != NULL) { + if (framedraw->xend_param->dp == 0) + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0]), (double)get_int_param(framedraw->xend_param->def)); else - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0]),get_double_param(framedraw->xend_param->def)); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xend_param->widgets[0]), get_double_param(framedraw->xend_param->def)); } - if (framedraw->yend_param!=NULL) { - if (framedraw->yend_param->dp==0) - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0]),(double)get_int_param(framedraw->yend_param->def)); + if (framedraw->yend_param != NULL) { + if (framedraw->yend_param->dp == 0) + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0]), (double)get_int_param(framedraw->yend_param->def)); else - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0]),get_double_param(framedraw->yend_param->def)); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->yend_param->widgets[0]), get_double_param(framedraw->yend_param->def)); } - if (framedraw->xstart_param!=NULL) { - if (framedraw->xstart_param->dp==0) - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0]),(double)get_int_param(framedraw->xstart_param->def)); + if (framedraw->xstart_param != NULL) { + if (framedraw->xstart_param->dp == 0) + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0]), (double)get_int_param(framedraw->xstart_param->def)); else - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0]),get_double_param(framedraw->xstart_param->def)); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->xstart_param->widgets[0]), get_double_param(framedraw->xstart_param->def)); } - if (framedraw->ystart_param!=NULL) { - if (framedraw->ystart_param->dp==0) - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0]),(double)get_int_param(framedraw->ystart_param->def)); + if (framedraw->ystart_param != NULL) { + if (framedraw->ystart_param->dp == 0) + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0]), (double)get_int_param(framedraw->ystart_param->def)); else - lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0]),get_double_param(framedraw->ystart_param->def)); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(framedraw->ystart_param->widgets[0]), get_double_param(framedraw->ystart_param->def)); } - if (mainw->framedraw_reset!=NULL) { - lives_widget_set_sensitive(mainw->framedraw_reset,TRUE); + if (mainw->framedraw_reset != NULL) { + lives_widget_set_sensitive(mainw->framedraw_reset, TRUE); } - if (mainw->framedraw_preview!=NULL) { - lives_widget_set_sensitive(mainw->framedraw_preview,TRUE); + if (mainw->framedraw_preview != NULL) { + lives_widget_set_sensitive(mainw->framedraw_preview, TRUE); } // update widgets now lives_widget_context_update(); - noupdate=FALSE; + noupdate = FALSE; framedraw_redraw(framedraw, FALSE, NULL);
View file
LiVES-2.8.4.tar.bz2/src/giw/giwknob.c -> LiVES-2.8.6.tar.bz2/src/giw/giwknob.c
Changed
@@ -41,7 +41,7 @@ static void giw_knob_realize(GtkWidget *widget); static void giw_knob_size_request(GtkWidget *widget, GtkRequisition *requisition); -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) static void giw_knob_dispose(GObject *object); static void giw_knob_get_preferred_width(GtkWidget *widget, gint *minimal_width, @@ -108,7 +108,7 @@ // A function that calculates width and height of the title's the layout void knob_calculate_title_sizes(GiwKnob *knob); -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) G_DEFINE_TYPE(GiwKnob, giw_knob, GTK_TYPE_WIDGET) #define parent_class giw_knob_parent_class @@ -145,7 +145,7 @@ static void giw_knob_class_init(GiwKnobClass *xclass) { -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) GObjectClass *object_class = G_OBJECT_CLASS(xclass); #else GtkObjectClass *object_class = (GtkObjectClass *) xclass; @@ -154,7 +154,7 @@ widget_class = (GtkWidgetClass *) xclass; -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) object_class->dispose = giw_knob_dispose; #else parent_class = (GtkWidgetClass *)gtk_type_class(gtk_widget_get_type()); @@ -163,7 +163,7 @@ widget_class->realize = giw_knob_realize; -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) widget_class->get_preferred_width = giw_knob_get_preferred_width; widget_class->get_preferred_height = giw_knob_get_preferred_height; widget_class->draw = giw_knob_draw; @@ -184,18 +184,18 @@ g_return_if_fail(knob != NULL); g_return_if_fail(GIW_IS_KNOB(knob)); - knob->button=0; - knob->mouse_policy=GIW_KNOB_MOUSE_AUTOMATICALLY; - knob->major_ticks=9; - knob->minor_ticks=3; - knob->major_ticks_size=5; - knob->minor_ticks_size=3; - knob->legends_digits=3; - knob->title=NULL; - knob->wrap=FALSE; + knob->button = 0; + knob->mouse_policy = GIW_KNOB_MOUSE_AUTOMATICALLY; + knob->major_ticks = 9; + knob->minor_ticks = 3; + knob->major_ticks_size = 5; + knob->minor_ticks_size = 3; + knob->legends_digits = 3; + knob->title = NULL; + knob->wrap = FALSE; #if GTK_CHECK_VERSION(2,18,0) - gtk_widget_set_has_window(GTK_WIDGET(knob),TRUE); + gtk_widget_set_has_window(GTK_WIDGET(knob), TRUE); #endif } @@ -206,7 +206,7 @@ g_return_val_if_fail(adjustment != NULL, NULL); -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) knob = (GiwKnob *)g_object_new(GIW_TYPE_KNOB, NULL); #else knob = (GiwKnob *)gtk_type_new(giw_knob_get_type()); @@ -225,7 +225,7 @@ gdouble upper) { GiwKnob *knob; -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) knob = (GiwKnob *)g_object_new(GIW_TYPE_KNOB, NULL); #else knob = (GiwKnob *)gtk_type_new(giw_knob_get_type()); @@ -238,7 +238,7 @@ return GTK_WIDGET(knob); } -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) static void giw_knob_dispose(GObject *object) { #else static void giw_knob_destroy(GtkObject *object) { @@ -253,21 +253,21 @@ if (knob->adjustment) g_object_unref(G_OBJECT(knob->adjustment)); - knob->adjustment=NULL; + knob->adjustment = NULL; if (knob->legends) { - for (loop=0; loop<knob->major_ticks; loop++) { + for (loop = 0; loop < knob->major_ticks; loop++) { g_object_unref(G_OBJECT(knob->legends[loop])); } g_free(knob->legends); - knob->legends=NULL; + knob->legends = NULL; } if (knob->title_str) g_free(knob->title_str); if (knob->title) g_object_unref(G_OBJECT(knob->title)); -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) G_OBJECT_CLASS(giw_knob_parent_class)->dispose(object); #else if (LIVES_GUI_OBJECT_CLASS(parent_class)->destroy) @@ -281,7 +281,7 @@ GdkWindowAttr attributes; gint attributes_mask; -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) GtkStyleContext *stylecon; #endif @@ -289,7 +289,7 @@ g_return_if_fail(GIW_IS_KNOB(widget)); #if GTK_CHECK_VERSION(2,20,0) - gtk_widget_set_realized(widget,TRUE); + gtk_widget_set_realized(widget, TRUE); #else GTK_WIDGET_SET_FLAGS(widget, GTK_REALIZED); #endif @@ -310,24 +310,24 @@ attributes_mask = GDK_WA_X | GDK_WA_Y; -#if !GTK_CHECK_VERSION(3,0,0) +#if !GTK_CHECK_VERSION(3, 0, 0) attributes_mask |= GDK_WA_COLORMAP | GDK_WA_VISUAL; attributes.visual = gtk_widget_get_visual(widget); attributes.colormap = gtk_widget_get_colormap(widget); #endif #if GTK_CHECK_VERSION(2,18,0) - gtk_widget_set_window(widget,gdk_window_new(lives_widget_get_xwindow(lives_widget_get_parent(widget)), &attributes, attributes_mask)); + gtk_widget_set_window(widget, gdk_window_new(lives_widget_get_xwindow(lives_widget_get_parent(widget)), &attributes, attributes_mask)); #else widget->window = gdk_window_new(widget->parent->window, &attributes, attributes_mask); #endif -#if GTK_CHECK_VERSION(3,0,0) - stylecon=gtk_style_context_new(); - gtk_style_context_set_path(stylecon,gtk_widget_get_path(widget)); - gtk_style_context_set_state(stylecon,GTK_STATE_FLAG_ACTIVE); +#if GTK_CHECK_VERSION(3, 0, 0) + stylecon = gtk_style_context_new(); + gtk_style_context_set_path(stylecon, gtk_widget_get_path(widget)); + gtk_style_context_set_state(stylecon, GTK_STATE_FLAG_ACTIVE); G_GNUC_BEGIN_IGNORE_DEPRECATIONS - gtk_style_context_set_background(stylecon,lives_widget_get_xwindow(lives_widget_get_parent(widget))); + gtk_style_context_set_background(stylecon, lives_widget_get_xwindow(lives_widget_get_parent(widget))); G_GNUC_END_IGNORE_DEPRECATIONS #else widget->style = gtk_style_attach(widget->style, lives_widget_get_xwindow(widget)); @@ -350,7 +350,7 @@ requisition->height = KNOB_DEFAULT_SIZE; } -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) static void giw_knob_get_preferred_width(GtkWidget *widget, @@ -360,7 +360,7 @@ giw_knob_size_request(widget, &requisition); - *minimal_width = *natural_width = requisition.width/4.; + *minimal_width = *natural_width = requisition.width / 4.; } static void @@ -371,7 +371,7 @@ giw_knob_size_request(widget, &requisition); - *minimal_height = *natural_height = requisition.height/4.; + *minimal_height = *natural_height = requisition.height / 4.; } #endif @@ -386,7 +386,7 @@ g_return_if_fail(allocation != NULL); #if GTK_CHECK_VERSION(2,18,0) - gtk_widget_set_allocation(widget,allocation); + gtk_widget_set_allocation(widget, allocation); #else widget->allocation = *allocation; #endif @@ -403,7 +403,7 @@ } -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) static gboolean giw_knob_draw(GtkWidget *widget, cairo_t *cairo) { //GdkRGBA color; #else @@ -413,37 +413,37 @@ GdkEventExpose *event) { #endif GiwKnob *knob; - gdouble s,c; + gdouble s, c; gint xc, yc; gdouble loop1; guint dx1, dy1, dx2, dy2; - gint counter=0; + gint counter = 0; GdkRectangle rect; g_return_val_if_fail(widget != NULL, FALSE); g_return_val_if_fail(GIW_IS_KNOB(widget), FALSE); -#if !GTK_CHECK_VERSION(3,0,0) +#if !GTK_CHECK_VERSION(3, 0, 0) g_return_val_if_fail(event != NULL, FALSE); if (event->count > 0) return FALSE; #endif - knob=GIW_KNOB(widget); + knob = GIW_KNOB(widget); - rect.x=0; - rect.y=0; - rect.width=lives_widget_get_allocation_width(widget); - rect.height=lives_widget_get_allocation_height(widget); + rect.x = 0; + rect.y = 0; + rect.width = lives_widget_get_allocation_width(widget); + rect.height = lives_widget_get_allocation_height(widget); // The center - xc = lives_widget_get_allocation_width(widget)/2; - yc = lives_widget_get_allocation_height(widget)/2; + xc = lives_widget_get_allocation_width(widget) / 2; + yc = lives_widget_get_allocation_height(widget) / 2; s = sin(knob->angle); c = cos(knob->angle); -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) gtk_render_background(gtk_widget_get_style_context(widget), cairo, 0, @@ -454,8 +454,8 @@ cairo_set_source_rgb(cairo, 0., 0., 0.); cairo_arc(cairo, - knob->x+((knob->size/2)), - knob->y+((knob->size/2)), + knob->x + ((knob->size / 2)), + knob->y + ((knob->size / 2)), knob->radius, 0, 2.*M_PI); @@ -480,95 +480,95 @@ cairo_set_source_rgb(cairo, 1., 1., 1.); cairo_move_to(cairo, - xc+c*((float)knob->radius*0.6), - yc-s*((float)knob->radius*0.6)); + xc + c * ((float)knob->radius * 0.6), + yc - s * ((float)knob->radius * 0.6)); cairo_line_to(cairo, - xc+c*knob->radius, - yc-s*knob->radius); + xc + c * knob->radius, + yc - s * knob->radius); cairo_stroke(cairo); cairo_arc(cairo, - xc+c*((float)knob->radius*0.8), - yc-s*((float)knob->radius*0.8), - knob->radius/2*0.1, + xc + c * ((float)knob->radius * 0.8), + yc - s * ((float)knob->radius * 0.8), + knob->radius / 2 * 0.1, 0, 2.*M_PI); cairo_fill(cairo); - if ((knob->mouse_policy==GIW_KNOB_MOUSE_DELAYED) & (knob->button!=0)) { + if ((knob->mouse_policy == GIW_KNOB_MOUSE_DELAYED) & (knob->button != 0)) { s = sin(knob->false_angle); c = cos(knob->false_angle); //lives_widget_get_fg_state_color (widget, GTK_STATE_FLAG_PRELIGHT, &color); cairo_move_to(cairo, - xc+c*((float)knob->radius*0.8), - yc-s*((float)knob->radius*0.8)); + xc + c * ((float)knob->radius * 0.8), + yc - s * ((float)knob->radius * 0.8)); cairo_line_to(cairo, - xc+c*knob->radius, - yc-s*knob->radius); + xc + c * knob->radius, + yc - s * knob->radius); } // Now, draw the ticks // The major ticks (and legends) - if (knob->major_ticks!=0) - for (loop1=(3.0*M_PI/2.0); loop1>=-0.0001; loop1-=knob->d_major_ticks) { // -0.0001 (and not 0) to avoid rounding errors - s=sin(loop1-M_PI/4.0); - c=cos(loop1-M_PI/4.0); - dx1=c*knob->radius; - dy1=s*knob->radius; - dx2=c*(knob->radius+knob->major_ticks_size); - dy2=s*(knob->radius+knob->major_ticks_size); + if (knob->major_ticks != 0) + for (loop1 = (3.0 * M_PI / 2.0); loop1 >= -0.0001; loop1 -= knob->d_major_ticks) { // -0.0001 (and not 0) to avoid rounding errors + s = sin(loop1 - M_PI / 4.0); + c = cos(loop1 - M_PI / 4.0); + dx1 = c * knob->radius; + dy1 = s * knob->radius; + dx2 = c * (knob->radius + knob->major_ticks_size); + dy2 = s * (knob->radius + knob->major_ticks_size); cairo_move_to(cairo, - xc+dx1, - yc-dy1); + xc + dx1, + yc - dy1); cairo_line_to(cairo, - xc+dx2, - yc-dy2); + xc + dx2, + yc - dy2); cairo_stroke(cairo); // Drawing the legends - if (knob->legends_digits!=0) + if (knob->legends_digits != 0) gtk_render_layout(gtk_widget_get_style_context(widget), cairo, - xc+(c*knob->legend_radius)-(knob->legend_width/2), - yc-(s*knob->legend_radius)-(knob->legend_height/2), + xc + (c * knob->legend_radius) - (knob->legend_width / 2), + yc - (s * knob->legend_radius) - (knob->legend_height / 2), knob->legends[counter]); counter++; } // The minor ticks - if (knob->minor_ticks!=0) - for (loop1=(3.0*M_PI/2.0); loop1>=0.0; loop1-=knob->d_minor_ticks) { - s=sin(loop1-M_PI/4.0); - c=cos(loop1-M_PI/4.0); - dx1=c*knob->radius; - dy1=s*knob->radius; - dx2=c*(knob->radius+knob->minor_ticks_size); - dy2=s*(knob->radius+knob->minor_ticks_size); + if (knob->minor_ticks != 0) + for (loop1 = (3.0 * M_PI / 2.0); loop1 >= 0.0; loop1 -= knob->d_minor_ticks) { + s = sin(loop1 - M_PI / 4.0); + c = cos(loop1 - M_PI / 4.0); + dx1 = c * knob->radius; + dy1 = s * knob->radius; + dx2 = c * (knob->radius + knob->minor_ticks_size); + dy2 = s * (knob->radius + knob->minor_ticks_size); cairo_move_to(cairo, - xc+dx1, - yc-dy1); + xc + dx1, + yc - dy1); cairo_line_to(cairo, - xc+dx2, - yc-dy2); + xc + dx2, + yc - dy2); cairo_stroke(cairo); } // Draw the title - if (knob->title_str!=NULL) // font_str==NULL means no title + if (knob->title_str != NULL) // font_str==NULL means no title gtk_render_layout(gtk_widget_get_style_context(widget), cairo, - xc-knob->title_width/2, - knob->size-knob->title_height-5, // 5 pixels to separate from the borders + xc - knob->title_width / 2, + knob->size - knob->title_height - 5, // 5 pixels to separate from the borders knob->title); #else @@ -589,72 +589,72 @@ gdk_draw_arc(widget->window, widget->style->black_gc, TRUE, - knob->x+((knob->size/2)-knob->radius), - knob->y+((knob->size/2)-knob->radius), - knob->radius*2, - knob->radius*2, + knob->x + ((knob->size / 2) - knob->radius), + knob->y + ((knob->size / 2) - knob->radius), + knob->radius * 2, + knob->radius * 2, 0, - 360*64); + 360 * 64); gdk_draw_line(widget->window, widget->style->white_gc, - xc+c*((float)knob->radius*0.6), - yc-s*((float)knob->radius*0.6), - xc+c*knob->radius, - yc-s*knob->radius); + xc + c * ((float)knob->radius * 0.6), + yc - s * ((float)knob->radius * 0.6), + xc + c * knob->radius, + yc - s * knob->radius); gdk_draw_arc(widget->window, widget->style->white_gc, TRUE, - xc+c*((float)knob->radius*0.8)-knob->radius*0.1, - yc-s*((float)knob->radius*0.8)-knob->radius*0.1, - knob->radius*0.2, - knob->radius*0.2, + xc + c * ((float)knob->radius * 0.8) - knob->radius * 0.1, + yc - s * ((float)knob->radius * 0.8) - knob->radius * 0.1, + knob->radius * 0.2, + knob->radius * 0.2, 0, - 360*64); + 360 * 64); // Draw the false-pointer if the delayed policy of mouse is set and a button is pressed - if ((knob->mouse_policy==GIW_KNOB_MOUSE_DELAYED) & (knob->button!=0)) { + if ((knob->mouse_policy == GIW_KNOB_MOUSE_DELAYED) & (knob->button != 0)) { s = sin(knob->false_angle); c = cos(knob->false_angle); gdk_draw_line(widget->window, widget->style->fg_gc[widget->state], - xc+c*((float)knob->radius*0.8), - yc-s*((float)knob->radius*0.8), - xc+c*knob->radius, - yc-s*knob->radius); + xc + c * ((float)knob->radius * 0.8), + yc - s * ((float)knob->radius * 0.8), + xc + c * knob->radius, + yc - s * knob->radius); gdk_draw_arc(widget->window, widget->style->black_gc, FALSE, - xc+c*((float)knob->radius*0.8)-knob->radius*0.1, - yc-s*((float)knob->radius*0.8)-knob->radius*0.1, - knob->radius*0.2, - knob->radius*0.2, + xc + c * ((float)knob->radius * 0.8) - knob->radius * 0.1, + yc - s * ((float)knob->radius * 0.8) - knob->radius * 0.1, + knob->radius * 0.2, + knob->radius * 0.2, 0, - 360*64); + 360 * 64); } // Now, draw the ticks // The major ticks (and legends) - if (knob->major_ticks!=0) - for (loop1=(3.0*M_PI/2.0); loop1>=-0.0001; loop1-=knob->d_major_ticks) { // -0.0001 (and not 0) to avoid rounding errors - s=sin(loop1-M_PI/4.0); - c=cos(loop1-M_PI/4.0); - dx1=c*knob->radius; - dy1=s*knob->radius; - dx2=c*(knob->radius+knob->major_ticks_size); - dy2=s*(knob->radius+knob->major_ticks_size); + if (knob->major_ticks != 0) + for (loop1 = (3.0 * M_PI / 2.0); loop1 >= -0.0001; loop1 -= knob->d_major_ticks) { // -0.0001 (and not 0) to avoid rounding errors + s = sin(loop1 - M_PI / 4.0); + c = cos(loop1 - M_PI / 4.0); + dx1 = c * knob->radius; + dy1 = s * knob->radius; + dx2 = c * (knob->radius + knob->major_ticks_size); + dy2 = s * (knob->radius + knob->major_ticks_size); gdk_draw_line(widget->window, widget->style->fg_gc[widget->state], - xc+dx1, - yc-dy1, - xc+dx2, - yc-dy2); + xc + dx1, + yc - dy1, + xc + dx2, + yc - dy2); // Drawing the legends - if (knob->legends_digits!=0) + if (knob->legends_digits != 0) gtk_paint_layout(widget->style, widget->window, GTK_STATE_NORMAL, @@ -662,30 +662,30 @@ &rect, widget, NULL, - xc+(c*knob->legend_radius)-(knob->legend_width/2), - yc-(s*knob->legend_radius)-(knob->legend_height/2), + xc + (c * knob->legend_radius) - (knob->legend_width / 2), + yc - (s * knob->legend_radius) - (knob->legend_height / 2), knob->legends[counter]); counter++; } // The minor ticks - if (knob->minor_ticks!=0) - for (loop1=(3.0*M_PI/2.0); loop1>=0.0; loop1-=knob->d_minor_ticks) { - s=sin(loop1-M_PI/4.0); - c=cos(loop1-M_PI/4.0); - dx1=c*knob->radius; - dy1=s*knob->radius; - dx2=c*(knob->radius+knob->minor_ticks_size); - dy2=s*(knob->radius+knob->minor_ticks_size); + if (knob->minor_ticks != 0) + for (loop1 = (3.0 * M_PI / 2.0); loop1 >= 0.0; loop1 -= knob->d_minor_ticks) { + s = sin(loop1 - M_PI / 4.0); + c = cos(loop1 - M_PI / 4.0); + dx1 = c * knob->radius; + dy1 = s * knob->radius; + dx2 = c * (knob->radius + knob->minor_ticks_size); + dy2 = s * (knob->radius + knob->minor_ticks_size); gdk_draw_line(widget->window, widget->style->fg_gc[widget->state], - xc+dx1, - yc-dy1, - xc+dx2, - yc-dy2); + xc + dx1, + yc - dy1, + xc + dx2, + yc - dy2); } // Draw the title - if (knob->title_str!=NULL) // font_str==NULL means no title + if (knob->title_str != NULL) // font_str==NULL means no title gtk_paint_layout(widget->style, widget->window, GTK_STATE_NORMAL, @@ -693,8 +693,8 @@ &rect, widget, NULL, - xc-knob->title_width/2, - knob->size-knob->title_height-5, // 5 pixels to separate from the borders + xc - knob->title_width / 2, + knob->size - knob->title_height - 5, // 5 pixels to separate from the borders knob->title); #endif @@ -715,19 +715,19 @@ knob = GIW_KNOB(widget); - if (knob->mouse_policy==GIW_KNOB_MOUSE_DISABLED) return TRUE; + if (knob->mouse_policy == GIW_KNOB_MOUSE_DISABLED) return TRUE; if (knob->button) return TRUE; // Some button is already pressed /* To verify if the pointer is in the knob, the distance between the pointer and the center of the circle is calculated, if it's less the the radius of the circle , it's in!!*/ - xc = lives_widget_get_allocation_width(widget)/2; - yc = lives_widget_get_allocation_height(widget)/2; + xc = lives_widget_get_allocation_width(widget) / 2; + yc = lives_widget_get_allocation_height(widget) / 2; dx = abs((int)event->x - xc); dy = abs((int)event->y - yc); - if (!knob->button & (dx<knob->radius) & (dy<knob->radius)) + if (!knob->button & (dx < knob->radius) & (dy < knob->radius)) knob->button = event->button; return FALSE; @@ -745,9 +745,9 @@ knob = GIW_KNOB(widget); - g_return_val_if_fail(knob->adjustment != NULL,TRUE); + g_return_val_if_fail(knob->adjustment != NULL, TRUE); - if (knob->mouse_policy==GIW_KNOB_MOUSE_DISABLED) return TRUE; + if (knob->mouse_policy == GIW_KNOB_MOUSE_DISABLED) return TRUE; // If the policy is delayed, now that the button was released (if it is), it's time to update the value if ((knob->mouse_policy == GIW_KNOB_MOUSE_DELAYED) && @@ -755,7 +755,7 @@ x = event->x; y = event->y; - knob_update_mouse(knob, x,y); + knob_update_mouse(knob, x, y); } @@ -771,16 +771,16 @@ GiwKnob *knob; gint x, y; - g_return_val_if_fail(widget != NULL,TRUE); - g_return_val_if_fail(GTK_IS_WIDGET(widget),TRUE); - g_return_val_if_fail(GIW_IS_KNOB(widget),TRUE); - g_return_val_if_fail(event != NULL,TRUE); + g_return_val_if_fail(widget != NULL, TRUE); + g_return_val_if_fail(GTK_IS_WIDGET(widget), TRUE); + g_return_val_if_fail(GIW_IS_KNOB(widget), TRUE); + g_return_val_if_fail(event != NULL, TRUE); knob = GIW_KNOB(widget); - g_return_val_if_fail(knob->adjustment != NULL,TRUE); + g_return_val_if_fail(knob->adjustment != NULL, TRUE); - if (knob->mouse_policy==GIW_KNOB_MOUSE_DISABLED) return TRUE; + if (knob->mouse_policy == GIW_KNOB_MOUSE_DISABLED) return TRUE; // If the some button is pressed and the policy is set to update the value AUTOMATICALLY, update the knob's value if ((knob->button != 0) && (knob->mouse_policy == GIW_KNOB_MOUSE_AUTOMATICALLY)) { @@ -788,7 +788,7 @@ y = event->y; if (event->is_hint || (event->window != lives_widget_get_xwindow(widget))) -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) gdk_window_get_device_position(lives_widget_get_xwindow(widget), gdk_event_get_device((GdkEvent *)(event)), &x, @@ -801,12 +801,12 @@ } // If the some button is pressed and the policy is set to update the value delayed, update the knob's false pointer's angle - if ((knob->button != 0) && (knob->mouse_policy==GIW_KNOB_MOUSE_DELAYED)) { + if ((knob->button != 0) && (knob->mouse_policy == GIW_KNOB_MOUSE_DELAYED)) { x = event->x; y = event->y; if (event->is_hint || (event->window != lives_widget_get_xwindow(widget))) -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) gdk_window_get_device_position(lives_widget_get_xwindow(widget), gdk_event_get_device((GdkEvent *)(event)), &x, @@ -848,7 +848,7 @@ knob_calculate_title_sizes(knob); } -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) static void giw_knob_style_updated(GtkWidget *widget) { @@ -875,7 +875,7 @@ g_return_if_fail(GIW_IS_KNOB(knob)); - if (value!=gtk_adjustment_get_value(knob->adjustment)) { + if (value != gtk_adjustment_get_value(knob->adjustment)) { knob_set_value(knob, value); g_return_if_fail(knob->adjustment != NULL); #if !GTK_CHECK_VERSION(3,18,0) @@ -893,9 +893,9 @@ // Freeing the last one if (knob->adjustment) { -#if GTK_CHECK_VERSION(3,0,0) - g_signal_handler_disconnect((gpointer)(knob->adjustment),knob->chsig); - g_signal_handler_disconnect((gpointer)(knob->adjustment),knob->vchsig); +#if GTK_CHECK_VERSION(3, 0, 0) + g_signal_handler_disconnect((gpointer)(knob->adjustment), knob->chsig); + g_signal_handler_disconnect((gpointer)(knob->adjustment), knob->vchsig); #else gtk_signal_disconnect_by_data(LIVES_GUI_OBJECT(knob->adjustment), (gpointer) knob); #endif @@ -933,7 +933,7 @@ g_return_if_fail(knob != NULL); g_return_if_fail(GIW_IS_KNOB(knob)); - knob->wrap=wrap; + knob->wrap = wrap; knob_build_legends(knob); knob_calculate_sizes(knob); @@ -952,7 +952,7 @@ if (digits_number != knob->legends_digits) { knob_free_legends(knob); - knob->legends_digits=digits_number; + knob->legends_digits = digits_number; knob_build_legends(knob); knob_calculate_sizes(knob); @@ -969,12 +969,12 @@ if ((major != knob->major_ticks) || (minor != knob->minor_ticks)) { knob_free_legends(knob); - knob->major_ticks=major; + knob->major_ticks = major; - if (knob->major_ticks==0) - knob->minor_ticks=0; // It's impossible to have minor ticks without major ticks + if (knob->major_ticks == 0) + knob->minor_ticks = 0; // It's impossible to have minor ticks without major ticks else - knob->minor_ticks=minor; + knob->minor_ticks = minor; knob_build_legends(knob); knob_calculate_sizes(knob); @@ -988,8 +988,8 @@ g_return_if_fail(knob != NULL); g_return_if_fail(GIW_IS_KNOB(knob)); - if (knob->button==0) // The policy can only be change when there is no button pressed - knob->mouse_policy=policy; + if (knob->button == 0) // The policy can only be change when there is no button pressed + knob->mouse_policy = policy; } static void @@ -1028,7 +1028,7 @@ g_return_if_fail(knob != NULL); g_return_if_fail(GIW_IS_KNOB(knob)); - knob->title_str=g_strdup(str); // Duplicate the string, after this, str can be freed + knob->title_str = g_strdup(str); // Duplicate the string, after this, str can be freed knob_build_title(knob); knob_calculate_sizes(knob); @@ -1048,12 +1048,12 @@ gtk_widget_queue_draw(GTK_WIDGET(knob)); - xc = lives_widget_get_allocation_width(LIVES_WIDGET(knob))/2; - yc = lives_widget_get_allocation_height(LIVES_WIDGET(knob))/2; + xc = lives_widget_get_allocation_width(LIVES_WIDGET(knob)) / 2; + yc = lives_widget_get_allocation_height(LIVES_WIDGET(knob)) / 2; // Calculating the new angle - if (knob->angle != atan2(yc-y, x-xc)) { - knob_set_value(knob, knob_calculate_value_with_angle(knob, atan2(yc-y, x-xc))); + if (knob->angle != atan2(yc - y, x - xc)) { + knob_set_value(knob, knob_calculate_value_with_angle(knob, atan2(yc - y, x - xc))); g_return_if_fail(knob->adjustment != NULL); #if !GTK_CHECK_VERSION(3,18,0) gtk_adjustment_value_changed(knob->adjustment); @@ -1068,24 +1068,24 @@ g_return_if_fail(knob != NULL); g_return_if_fail(GIW_IS_KNOB(knob)); - xc = lives_widget_get_allocation_width(LIVES_WIDGET(knob))/2; - yc = lives_widget_get_allocation_height(LIVES_WIDGET(knob))/2; + xc = lives_widget_get_allocation_width(LIVES_WIDGET(knob)) / 2; + yc = lives_widget_get_allocation_height(LIVES_WIDGET(knob)) / 2; // Calculating the new angle - knob->false_angle = atan2(yc-y, x-xc); + knob->false_angle = atan2(yc - y, x - xc); // Putting the angle between 0 and 2PI, because the atan2 returns the angle between PI and -PI - while (knob->false_angle<0) - knob->false_angle+=(2.0*M_PI); + while (knob->false_angle < 0) + knob->false_angle += (2.0 * M_PI); if (!knob->wrap) { // Taking out of the "forbidden" region - if ((knob->false_angle <= (3.0*M_PI/2.0)) && - (knob->false_angle > (5.0*M_PI/4.0))) - knob->false_angle=5.0*M_PI/4.0; - if ((knob->false_angle < (7.0*M_PI/4.0)) && - (knob->false_angle >= (3.0*M_PI/2.0))) - knob->false_angle=7.0*M_PI/4.0; + if ((knob->false_angle <= (3.0 * M_PI / 2.0)) && + (knob->false_angle > (5.0 * M_PI / 4.0))) + knob->false_angle = 5.0 * M_PI / 4.0; + if ((knob->false_angle < (7.0 * M_PI / 4.0)) && + (knob->false_angle >= (3.0 * M_PI / 2.0))) + knob->false_angle = 7.0 * M_PI / 4.0; } gtk_widget_queue_draw(GTK_WIDGET(knob)); @@ -1098,36 +1098,36 @@ g_return_if_fail(knob != NULL); g_return_if_fail(GIW_IS_KNOB(knob)); - widget=GTK_WIDGET(knob); + widget = GTK_WIDGET(knob); // Getting the radius and size if (lives_widget_get_allocation_width(widget) < lives_widget_get_allocation_height(widget)) { - knob->size=lives_widget_get_allocation_width(widget); - knob->x=0; - knob->y=lives_widget_get_allocation_height(widget)/2-knob->size/2; + knob->size = lives_widget_get_allocation_width(widget); + knob->x = 0; + knob->y = lives_widget_get_allocation_height(widget) / 2 - knob->size / 2; } else { - knob->size=lives_widget_get_allocation_height(widget); - knob->y=0; - knob->x=lives_widget_get_allocation_width(widget)/2-knob->size/2; + knob->size = lives_widget_get_allocation_height(widget); + knob->y = 0; + knob->x = lives_widget_get_allocation_width(widget) / 2 - knob->size / 2; } // The distance between the radius and the widget limits is the bigger dimension of the legends plus the major_ticks_size, // so it's the half of size, less the bigger dimension of the legends less the major_ticks size (wich depends of the radius), // then, with some algebra, it results in this equation: - knob->radius=8*((knob->size/2)-sqrt(knob->legend_width*knob->legend_width+knob->legend_height*knob->legend_height))/9; + knob->radius = 8 * ((knob->size / 2) - sqrt(knob->legend_width * knob->legend_width + knob->legend_height * knob->legend_height)) / 9; if (!knob->wrap) - knob->d_major_ticks=(3.0*M_PI/2.0)/(knob->major_ticks-1); + knob->d_major_ticks = (3.0 * M_PI / 2.0) / (knob->major_ticks - 1); else - knob->d_major_ticks=(2.0*M_PI)/(knob->major_ticks-1); + knob->d_major_ticks = (2.0 * M_PI) / (knob->major_ticks - 1); - knob->d_minor_ticks=knob->d_major_ticks/(knob->minor_ticks+1); + knob->d_minor_ticks = knob->d_major_ticks / (knob->minor_ticks + 1); - knob->major_ticks_size=knob->radius/8.0; - knob->minor_ticks_size=knob->radius/16.0; + knob->major_ticks_size = knob->radius / 8.0; + knob->minor_ticks_size = knob->radius / 16.0; // The legend will in the middle of the inside (plus the major_ticks_size) and outside circle - knob->legend_radius=((knob->radius+knob->major_ticks_size+(knob->size/2))/2); + knob->legend_radius = ((knob->radius + knob->major_ticks_size + (knob->size / 2)) / 2); } gdouble @@ -1138,26 +1138,26 @@ g_return_val_if_fail(GIW_IS_KNOB(knob), 0.0); // Putting the angle between 0 and 2PI, because the atan2 returns the angle between PI and -PI - while (angle<0) - angle=angle+(2.0*M_PI); + while (angle < 0) + angle = angle + (2.0 * M_PI); if (!knob->wrap) { // Taking out of the "forbidden" region - if ((angle <= (3.0*M_PI/2.0)) && (angle > (5.0*M_PI/4.0))) angle=5.0*M_PI/4.0; - if ((angle < (7.0*M_PI/4.0)) && (angle >= (3.0*M_PI/2.0))) angle=7.0*M_PI/4.0; + if ((angle <= (3.0 * M_PI / 2.0)) && (angle > (5.0 * M_PI / 4.0))) angle = 5.0 * M_PI / 4.0; + if ((angle < (7.0 * M_PI / 4.0)) && (angle >= (3.0 * M_PI / 2.0))) angle = 7.0 * M_PI / 4.0; // Calculating the distance (in radians) between the pointer and the lower angle - if (angle<=(5.0*M_PI/4.0)) d_angle=(5.0*M_PI/4.0)-angle; - if (angle>=(7.0*M_PI/4.0)) d_angle=(13.0*M_PI/4.0)-angle; + if (angle <= (5.0 * M_PI / 4.0)) d_angle = (5.0 * M_PI / 4.0) - angle; + if (angle >= (7.0 * M_PI / 4.0)) d_angle = (13.0 * M_PI / 4.0) - angle; - return (lives_adjustment_get_lower(knob->adjustment)+ - fabs(lives_adjustment_get_upper(knob->adjustment)-lives_adjustment_get_lower(knob->adjustment))*d_angle/(3.0*M_PI/2.0)); + return (lives_adjustment_get_lower(knob->adjustment) + + fabs(lives_adjustment_get_upper(knob->adjustment) - lives_adjustment_get_lower(knob->adjustment)) * d_angle / (3.0 * M_PI / 2.0)); } - if (angle<3*M_PI/2.) d_angle=(3.*M_PI/2.) - angle; - else d_angle = 7./2.*M_PI - angle; - return (lives_adjustment_get_lower(knob->adjustment)+ - fabs(lives_adjustment_get_upper(knob->adjustment)-lives_adjustment_get_lower(knob->adjustment))*d_angle/(2.0*M_PI)); + if (angle < 3 * M_PI / 2.) d_angle = (3.*M_PI / 2.) - angle; + else d_angle = 7. / 2.*M_PI - angle; + return (lives_adjustment_get_lower(knob->adjustment) + + fabs(lives_adjustment_get_upper(knob->adjustment) - lives_adjustment_get_lower(knob->adjustment)) * d_angle / (2.0 * M_PI)); } @@ -1168,20 +1168,20 @@ g_return_val_if_fail(knob != NULL, 0.0); g_return_val_if_fail(GIW_IS_KNOB(knob), 0.0); - g_return_val_if_fail(knob->adjustment!=NULL, 0.0); + g_return_val_if_fail(knob->adjustment != NULL, 0.0); if (!knob->wrap) { - angle=(value-lives_adjustment_get_lower(knob->adjustment))* - (3.0*M_PI/2.0)/fabs(lives_adjustment_get_upper(knob->adjustment)-lives_adjustment_get_lower(knob->adjustment)); + angle = (value - lives_adjustment_get_lower(knob->adjustment)) * + (3.0 * M_PI / 2.0) / fabs(lives_adjustment_get_upper(knob->adjustment) - lives_adjustment_get_lower(knob->adjustment)); // Now, the angle is relative to the 3 o'clock position, and need to be changed in order to be relative to the initial angle ((5.0*M_PI/4.0) - angle=(5.0*M_PI/4.0)-angle; + angle = (5.0 * M_PI / 4.0) - angle; } else { - angle=(value-lives_adjustment_get_lower(knob->adjustment))* - (2.0*M_PI)/fabs(lives_adjustment_get_upper(knob->adjustment)-lives_adjustment_get_lower(knob->adjustment)); + angle = (value - lives_adjustment_get_lower(knob->adjustment)) * + (2.0 * M_PI) / fabs(lives_adjustment_get_upper(knob->adjustment) - lives_adjustment_get_lower(knob->adjustment)); // Now, the angle is relative to the 3 o'clock position, and need to be changed in order to be relative to the initial angle (3*M_PI/2) - angle=3.*M_PI/2.-angle; + angle = 3.*M_PI / 2. - angle; } return (angle); @@ -1196,19 +1196,19 @@ g_return_if_fail(GIW_IS_KNOB(knob)); // Putting the angle between 0 and 2PI(360�) - while (angle > 2.0*M_PI) - angle=angle-(2.0*M_PI); + while (angle > 2.0 * M_PI) + angle = angle - (2.0 * M_PI); - while (angle<0) - angle=angle+(2.0*M_PI); + while (angle < 0) + angle = angle + (2.0 * M_PI); if (knob->angle != angle) { if (!knob->wrap) { // Taking out of the "forbidden" region - if ((angle <= (3.0*M_PI/2.0)) && (angle > (5.0*M_PI/4.0))) angle=5.0*M_PI/4.0; - if ((angle < (7.0*M_PI/4.0)) && (angle >= (3.0*M_PI/2.0))) angle=7.0*M_PI/4.0; + if ((angle <= (3.0 * M_PI / 2.0)) && (angle > (5.0 * M_PI / 4.0))) angle = 5.0 * M_PI / 4.0; + if ((angle < (7.0 * M_PI / 4.0)) && (angle >= (3.0 * M_PI / 2.0))) angle = 7.0 * M_PI / 4.0; } - knob->angle=angle; + knob->angle = angle; } } @@ -1219,7 +1219,7 @@ g_return_if_fail(GIW_IS_KNOB(knob)); g_return_if_fail(knob->adjustment != NULL); - gtk_adjustment_set_value(knob->adjustment,value); + gtk_adjustment_set_value(knob->adjustment, value); } void @@ -1230,30 +1230,30 @@ g_return_if_fail(knob != NULL); - widget=GTK_WIDGET(knob); + widget = GTK_WIDGET(knob); - if (knob->major_ticks==0) // Preventing from bugs + if (knob->major_ticks == 0) // Preventing from bugs return; // Creating the legend's layouts - if (knob->legends_digits!=0) { - knob->legends=g_new(PangoLayout *, knob->major_ticks); - str=g_new(gchar, knob->legends_digits+1); // +1 for the '/0' - for (loop=0; loop<knob->major_ticks; loop++) { - snprintf(str,knob->legends_digits+1,"%f", - lives_adjustment_get_lower(knob->adjustment)+ - loop*(lives_adjustment_get_upper(knob->adjustment)- - lives_adjustment_get_lower(knob->adjustment))/ - (knob->major_ticks-1)); // Creating the legends string - knob->legends[loop]=gtk_widget_create_pango_layout(widget, str); + if (knob->legends_digits != 0) { + knob->legends = g_new(PangoLayout *, knob->major_ticks); + str = g_new(gchar, knob->legends_digits + 1); // +1 for the '/0' + for (loop = 0; loop < knob->major_ticks; loop++) { + snprintf(str, knob->legends_digits + 1, "%f", + lives_adjustment_get_lower(knob->adjustment) + + loop * (lives_adjustment_get_upper(knob->adjustment) - + lives_adjustment_get_lower(knob->adjustment)) / + (knob->major_ticks - 1)); // Creating the legends string + knob->legends[loop] = gtk_widget_create_pango_layout(widget, str); } g_free(str); // Getting the size of the legends knob_calculate_legends_sizes(knob); } else { // If there are no legends (0 digits), the size is the major ticks size (5) - knob->legend_width=0; - knob->legend_height=0; + knob->legend_width = 0; + knob->legend_height = 0; } } @@ -1263,12 +1263,12 @@ g_return_if_fail(knob != NULL); - if (knob->legends!=NULL) { - for (loop=0; loop<knob->major_ticks; loop++) - if (knob->legends[loop]!=NULL) + if (knob->legends != NULL) { + for (loop = 0; loop < knob->major_ticks; loop++) + if (knob->legends[loop] != NULL) g_object_unref(G_OBJECT(knob->legends[loop])); g_free(knob->legends); - knob->legends=NULL; + knob->legends = NULL; } } @@ -1278,15 +1278,15 @@ g_return_if_fail(knob != NULL); - widget=GTK_WIDGET(knob); + widget = GTK_WIDGET(knob); - if (knob->title_str==NULL) // Return if there is no title (the layout will be keeped, but not drawed) + if (knob->title_str == NULL) // Return if there is no title (the layout will be keeped, but not drawed) return; if (knob->title) pango_layout_set_text(knob->title, knob->title_str, strlen(knob->title_str)); else // If the title hasn't been created yet.. - knob->title=gtk_widget_create_pango_layout(widget, knob->title_str); + knob->title = gtk_widget_create_pango_layout(widget, knob->title_str); // Calculating new size knob_calculate_title_sizes(knob); @@ -1302,31 +1302,31 @@ g_return_if_fail(knob != NULL); - widget=GTK_WIDGET(knob); + widget = GTK_WIDGET(knob); - if (knob->legends!=NULL) { + if (knob->legends != NULL) { -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) #if GTK_CHECK_VERSION(3,8,0) - fontdesc=pango_font_description_new(); + fontdesc = pango_font_description_new(); gtk_style_context_get(gtk_widget_get_style_context(widget), gtk_widget_get_state_flags(widget), GTK_STYLE_PROPERTY_FONT, &fontdesc, NULL ); - pango_layout_set_font_description(knob->legends[0],fontdesc); + pango_layout_set_font_description(knob->legends[0], fontdesc); pango_font_description_free(fontdesc); #else pango_layout_set_font_description(knob->legends[0], - gtk_style_context_get_font(gtk_widget_get_style_context(widget),gtk_widget_get_state_flags(widget))); + gtk_style_context_get_font(gtk_widget_get_style_context(widget), gtk_widget_get_state_flags(widget))); #endif #else pango_layout_set_font_description(knob->legends[0], widget->style->font_desc); #endif pango_layout_get_size(knob->legends[0], &(knob->legend_width), &(knob->legend_height)); - knob->legend_width/=PANGO_SCALE; - knob->legend_height/=PANGO_SCALE; + knob->legend_width /= PANGO_SCALE; + knob->legend_height /= PANGO_SCALE; } } @@ -1342,29 +1342,29 @@ if (knob->title == NULL) return; - widget=GTK_WIDGET(knob); + widget = GTK_WIDGET(knob); -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) #if GTK_CHECK_VERSION(3,8,0) - fontdesc=pango_font_description_new(); + fontdesc = pango_font_description_new(); gtk_style_context_get(gtk_widget_get_style_context(widget), gtk_widget_get_state_flags(widget), GTK_STYLE_PROPERTY_FONT, &fontdesc, NULL ); - pango_layout_set_font_description(knob->legends[0],fontdesc); + pango_layout_set_font_description(knob->legends[0], fontdesc); pango_font_description_free(fontdesc); #else pango_layout_set_font_description(knob->legends[0], - gtk_style_context_get_font(gtk_widget_get_style_context(widget),gtk_widget_get_state_flags(widget))); + gtk_style_context_get_font(gtk_widget_get_style_context(widget), gtk_widget_get_state_flags(widget))); #endif #else pango_layout_set_font_description(knob->legends[0], widget->style->font_desc); #endif pango_layout_get_size(knob->title, &(knob->title_width), &(knob->title_height)); - knob->title_width/=PANGO_SCALE; - knob->title_height/=PANGO_SCALE; + knob->title_width /= PANGO_SCALE; + knob->title_height /= PANGO_SCALE; knob_calculate_sizes(knob); }
View file
LiVES-2.8.4.tar.bz2/src/giw/giwknob.h -> LiVES-2.8.6.tar.bz2/src/giw/giwknob.h
Changed
@@ -47,7 +47,7 @@ typedef struct _GiwKnobClass GiwKnobClass; struct _GiwKnob { -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) GtkWidget parent_instance; #endif @@ -110,7 +110,6 @@ gulong chsig; gulong vchsig; - }; struct _GiwKnobClass {
View file
LiVES-2.8.4.tar.bz2/src/giw/giwled.c -> LiVES-2.8.6.tar.bz2/src/giw/giwled.c
Changed
@@ -47,7 +47,7 @@ GdkEventButton *event); static void giw_led_size_request(GtkWidget *widget, GtkRequisition *requisition); -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) static void giw_led_dispose(GObject *object); static void giw_led_get_preferred_width(GtkWidget *widget, gint *minimal_width, @@ -70,7 +70,7 @@ static guint giw_led_signals[LAST_SIGNAL] = { 0 }; -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) G_DEFINE_TYPE(GiwLed, giw_led, GTK_TYPE_WIDGET) #define parent_class giw_led_parent_class #else @@ -107,7 +107,7 @@ static void giw_led_class_init(GiwLedClass *xclass) { -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) GObjectClass *object_class = G_OBJECT_CLASS(xclass); #else GtkObjectClass *object_class = (GtkObjectClass *) xclass; @@ -116,7 +116,7 @@ widget_class = (GtkWidgetClass *) xclass; -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) object_class->dispose = giw_led_dispose; #else parent_class = (GtkWidgetClass *)gtk_type_class(gtk_widget_get_type()); @@ -124,7 +124,7 @@ #endif widget_class->realize = giw_led_realize; -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) widget_class->get_preferred_width = giw_led_get_preferred_width; widget_class->get_preferred_height = giw_led_get_preferred_height; widget_class->draw = giw_led_draw; @@ -152,21 +152,21 @@ g_return_if_fail(led != NULL); g_return_if_fail(GIW_IS_LED(led)); - led->on=0; //Default position: off - led->enable_mouse=FALSE; + led->on = 0; //Default position: off + led->enable_mouse = FALSE; // Default on color, full green - led->color_on.green=65535; - led->color_on.red=0; - led->color_on.blue=0; + led->color_on.green = 65535; + led->color_on.red = 0; + led->color_on.blue = 0; // Default off color, white - led->color_off.green=65535; - led->color_off.red=65535; - led->color_off.blue=65535; + led->color_off.green = 65535; + led->color_off.red = 65535; + led->color_off.blue = 65535; #if GTK_CHECK_VERSION(2,18,0) - gtk_widget_set_has_window(GTK_WIDGET(led),TRUE); + gtk_widget_set_has_window(GTK_WIDGET(led), TRUE); #endif } @@ -174,7 +174,7 @@ giw_led_new(void) { GiwLed *led; -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) led = (GiwLed *)g_object_new(GIW_TYPE_LED, NULL); #else led = (GiwLed *)gtk_type_new(giw_led_get_type()); @@ -183,7 +183,7 @@ return GTK_WIDGET(led); } -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) static void giw_led_dispose(GObject *object) { #else static void giw_led_destroy(GtkObject *object) { @@ -191,7 +191,7 @@ g_return_if_fail(object != NULL); g_return_if_fail(GIW_IS_LED(object)); -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) G_OBJECT_CLASS(giw_led_parent_class)->dispose(object); #else if (LIVES_GUI_OBJECT_CLASS(parent_class)->destroy) @@ -205,7 +205,7 @@ GdkWindowAttr attributes; gint attributes_mask; -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) GtkStyleContext *stylecon; #endif @@ -213,7 +213,7 @@ g_return_if_fail(GIW_IS_LED(widget)); #if GTK_CHECK_VERSION(2,20,0) - gtk_widget_set_realized(widget,TRUE); + gtk_widget_set_realized(widget, TRUE); #else GTK_WIDGET_SET_FLAGS(widget, GTK_REALIZED); #endif @@ -231,26 +231,26 @@ attributes_mask = GDK_WA_X | GDK_WA_Y; -#if !GTK_CHECK_VERSION(3,0,0) +#if !GTK_CHECK_VERSION(3, 0, 0) attributes.visual = gtk_widget_get_visual(widget); attributes_mask |= GDK_WA_COLORMAP | GDK_WA_VISUAL; attributes.colormap = gtk_widget_get_colormap(widget); #endif #if GTK_CHECK_VERSION(2,18,0) - gtk_widget_set_window(widget,gdk_window_new(lives_widget_get_xwindow(lives_widget_get_parent(widget)), &attributes, attributes_mask)); + gtk_widget_set_window(widget, gdk_window_new(lives_widget_get_xwindow(lives_widget_get_parent(widget)), &attributes, attributes_mask)); #else widget->window = gdk_window_new(widget->parent->window, &attributes, attributes_mask); #endif -#if GTK_CHECK_VERSION(3,0,0) - stylecon=gtk_widget_get_style_context(widget); +#if GTK_CHECK_VERSION(3, 0, 0) + stylecon = gtk_widget_get_style_context(widget); if (!stylecon) { - stylecon=gtk_style_context_new(); - gtk_style_context_set_path(stylecon,gtk_widget_get_path(widget)); + stylecon = gtk_style_context_new(); + gtk_style_context_set_path(stylecon, gtk_widget_get_path(widget)); } - gtk_style_context_add_class(stylecon,"giwled"); - gtk_style_context_set_state(stylecon,GTK_STATE_FLAG_ACTIVE); + gtk_style_context_add_class(stylecon, "giwled"); + gtk_style_context_set_state(stylecon, GTK_STATE_FLAG_ACTIVE); //gtk_style_context_set_background(stylecon,lives_widget_get_xwindow(widget)); #else widget->style = gtk_style_attach(widget->style, lives_widget_get_xwindow(widget)); @@ -275,7 +275,7 @@ requisition->height = LED_DEFAULT_SIZE; } -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) static void giw_led_get_preferred_width(GtkWidget *widget, @@ -312,7 +312,7 @@ g_return_if_fail(allocation != NULL); #if GTK_CHECK_VERSION(2,18,0) - gtk_widget_set_allocation(widget,allocation); + gtk_widget_set_allocation(widget, allocation); #else widget->allocation = *allocation; #endif @@ -328,19 +328,19 @@ // The size of the led will be the lower dimension of the widget if (lives_widget_get_allocation_width(widget) > lives_widget_get_allocation_height(widget)) { - led->size=lives_widget_get_allocation_height(widget); - led->radius=led->size-4; - led->x=(lives_widget_get_allocation_width(widget)/2)-(led->size/2); - led->y=0; + led->size = lives_widget_get_allocation_height(widget); + led->radius = led->size - 4; + led->x = (lives_widget_get_allocation_width(widget) / 2) - (led->size / 2); + led->y = 0; } else { - led->size=lives_widget_get_allocation_width(widget); - led->radius=led->size-4; - led->x=0; - led->y=(lives_widget_get_allocation_height(widget)/2)-(led->size/2); + led->size = lives_widget_get_allocation_width(widget); + led->radius = led->size - 4; + led->x = 0; + led->y = (lives_widget_get_allocation_height(widget) / 2) - (led->size / 2); } } -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) static gboolean giw_led_draw(GtkWidget *widget, cairo_t *cairo) { #else @@ -352,7 +352,7 @@ GiwLed *led; GdkRectangle rect; -#if !GTK_CHECK_VERSION(3,0,0) +#if !GTK_CHECK_VERSION(3, 0, 0) GdkGC *gc; // To put the on and off colors g_return_val_if_fail(event != NULL, FALSE); @@ -364,16 +364,16 @@ g_return_val_if_fail(widget != NULL, FALSE); g_return_val_if_fail(GIW_IS_LED(widget), FALSE); - led=GIW_LED(widget); + led = GIW_LED(widget); - rect.x=0; - rect.y=0; - rect.width=lives_widget_get_allocation_width(widget); - rect.height=lives_widget_get_allocation_height(widget); + rect.x = 0; + rect.y = 0; + rect.width = lives_widget_get_allocation_width(widget); + rect.height = lives_widget_get_allocation_height(widget); // Drawing background -#if GTK_CHECK_VERSION(3,0,0) - cairo_set_line_width(cairo,1.); +#if GTK_CHECK_VERSION(3, 0, 0) + cairo_set_line_width(cairo, 1.); gtk_render_background(gtk_widget_get_style_context(widget), cairo, @@ -393,27 +393,27 @@ ); cairo_arc(cairo, - rect.width/2+2, - rect.height/2+2, - led->radius/2, + rect.width / 2 + 2, + rect.height / 2 + 2, + led->radius / 2, 0., 2.*M_PI); if (led->on) cairo_set_source_rgb(cairo, 0., 0., 0.); cairo_arc(cairo, - rect.width/2+1, - rect.height/2+1, - led->radius/2+1, - -45./M_PI, - 57.5/M_PI); + rect.width / 2 + 1, + rect.height / 2 + 1, + led->radius / 2 + 1, + -45. / M_PI, + 57.5 / M_PI); cairo_arc(cairo, - rect.width/2, - rect.height/2, - led->radius/2+1.5, - -32/M_PI, - 37.5/M_PI); + rect.width / 2, + rect.height / 2, + led->radius / 2 + 1.5, + -32 / M_PI, + 37.5 / M_PI); if (led->on) cairo_set_source_rgba(cairo, @@ -432,9 +432,9 @@ cairo_arc(cairo, - rect.width/2+2, - rect.height/2+2, - (led->size-4)/2, + rect.width / 2 + 2, + rect.height / 2 + 2, + (led->size - 4) / 2, 0, 2.*M_PI); @@ -443,7 +443,7 @@ #else gtk_paint_flat_box(widget->style, widget->window, - (GtkStateType)(widget->parent==NULL?GTK_STATE_NORMAL:widget->parent->state), + (GtkStateType)(widget->parent == NULL ? GTK_STATE_NORMAL : widget->parent->state), GTK_SHADOW_NONE, &rect, widget, @@ -453,7 +453,7 @@ -1, -1); - gc=gdk_gc_new(widget->window); // Allocating memory + gc = gdk_gc_new(widget->window); // Allocating memory gdk_gc_copy(gc, widget->style->fg_gc[widget->state]); if (led->on) @@ -464,44 +464,44 @@ // The border gdk_draw_arc(widget->window, - led->on?widget->style->white_gc:gc, + led->on ? widget->style->white_gc : gc, FALSE, - led->x+2, - led->y+2, + led->x + 2, + led->y + 2, led->radius, led->radius, 0, - 64*360); + 64 * 360); gdk_draw_arc(widget->window, widget->style->black_gc, FALSE, - led->x+1, - led->y+1, - led->radius+2, - led->radius+2, - -64*90, - 64*115); + led->x + 1, + led->y + 1, + led->radius + 2, + led->radius + 2, + -64 * 90, + 64 * 115); gdk_draw_arc(widget->window, widget->style->black_gc, FALSE, - led->x+1, - led->y+1, - led->radius+3, - led->radius+3, - -64*60, - 64*75); + led->x + 1, + led->y + 1, + led->radius + 3, + led->radius + 3, + -64 * 60, + 64 * 75); gdk_draw_arc(widget->window, gc, TRUE, - led->x+2, - led->y+2, - led->size-4, - led->size-4, + led->x + 2, + led->y + 2, + led->size - 4, + led->size - 4, 0, - 64*360); + 64 * 360); g_object_unref(gc); #endif @@ -509,14 +509,14 @@ return FALSE; } -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) static void giw_led_style_updated(GtkWidget *widget) { GTK_WIDGET_CLASS(giw_led_parent_class)->style_updated(widget); } static void -giw_led_state_flags_changed(GtkWidget *widget,GtkStateFlags previous_state) { +giw_led_state_flags_changed(GtkWidget *widget, GtkStateFlags previous_state) { gtk_widget_queue_draw(widget); } #endif @@ -533,18 +533,18 @@ led = GIW_LED(widget); - if (led->enable_mouse==0) return (FALSE); + if (led->enable_mouse == 0) return (FALSE); - dx = event->x - lives_widget_get_allocation_width(widget)/2; - dy = lives_widget_get_allocation_height(widget)/2 - event->y; + dx = event->x - lives_widget_get_allocation_width(widget) / 2; + dy = lives_widget_get_allocation_height(widget) / 2 - event->y; - d=sqrt(dx*dx+dy*dy); // Distance between the pointer and the center + d = sqrt(dx * dx + dy * dy); // Distance between the pointer and the center - if (d <= (led->size/2)) { // If it's inside the led - if (led->on==FALSE) - led->on=TRUE; + if (d <= (led->size / 2)) { // If it's inside the led + if (led->on == FALSE) + led->on = TRUE; else - led->on=FALSE; + led->on = FALSE; g_signal_emit(G_OBJECT(led), giw_led_signals[MODE_CHANGED_SIGNAL], 0); } @@ -564,8 +564,8 @@ g_return_if_fail(led != NULL); g_return_if_fail(GIW_IS_LED(led)); - if (led->on!=mode) { - led->on=mode; + if (led->on != mode) { + led->on = mode; g_signal_emit(G_OBJECT(led), giw_led_signals[MODE_CHANGED_SIGNAL], 0); gtk_widget_queue_draw(GTK_WIDGET(led)); @@ -580,7 +580,7 @@ return (led->on); } -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) void giw_led_set_rgba(GiwLed *led, GdkRGBA on_color, @@ -588,8 +588,8 @@ g_return_if_fail(led != NULL); g_return_if_fail(GIW_IS_LED(led)); - led->color_on=on_color; - led->color_off=off_color; + led->color_on = on_color; + led->color_off = off_color; gtk_widget_queue_draw(GTK_WIDGET(led)); } @@ -601,18 +601,18 @@ g_return_if_fail(led != NULL); g_return_if_fail(GIW_IS_LED(led)); -#if GTK_CHECK_VERSION(3,0,0) - led->color_on.red=(gdouble)on_color.red/65535.; - led->color_on.green=(gdouble)on_color.green/65535.; - led->color_on.blue=(gdouble)on_color.blue/65535.; - led->color_on.alpha=1.; - led->color_off.red=(gdouble)off_color.red/65535.; - led->color_off.green=(gdouble)off_color.green/65535.; - led->color_off.blue=(gdouble)off_color.blue/65535.; - led->color_off.alpha=1.; +#if GTK_CHECK_VERSION(3, 0, 0) + led->color_on.red = (gdouble)on_color.red / 65535.; + led->color_on.green = (gdouble)on_color.green / 65535.; + led->color_on.blue = (gdouble)on_color.blue / 65535.; + led->color_on.alpha = 1.; + led->color_off.red = (gdouble)off_color.red / 65535.; + led->color_off.green = (gdouble)off_color.green / 65535.; + led->color_off.blue = (gdouble)off_color.blue / 65535.; + led->color_off.alpha = 1.; #else - led->color_on=on_color; - led->color_off=off_color; + led->color_on = on_color; + led->color_off = off_color; #endif gtk_widget_queue_draw(GTK_WIDGET(led)); } @@ -623,7 +623,7 @@ g_return_if_fail(led != NULL); g_return_if_fail(GIW_IS_LED(led)); - led->enable_mouse=option; + led->enable_mouse = option; } /******************
View file
LiVES-2.8.4.tar.bz2/src/giw/giwled.h -> LiVES-2.8.6.tar.bz2/src/giw/giwled.h
Changed
@@ -41,13 +41,13 @@ typedef struct _GiwLedClass GiwLedClass; struct _GiwLed { -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) GtkWidget parent_instance; #endif GtkWidget widget; gboolean on; //0 for false -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) GdkRGBA color_on, color_off; #else GdkColor color_on, color_off; @@ -72,7 +72,7 @@ GType giw_led_get_type(void) G_GNUC_CONST; void giw_led_set_mode(GiwLed *led, guint8 mode); guint8 giw_led_get_mode(GiwLed *led); -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) void giw_led_set_rgba(GiwLed *led, GdkRGBA on_color, GdkRGBA off_color); #endif void giw_led_set_colors(GiwLed *led, GdkColor on_color, GdkColor off_color);
View file
LiVES-2.8.4.tar.bz2/src/giw/giwtimeline.c -> LiVES-2.8.6.tar.bz2/src/giw/giwtimeline.c
Changed
@@ -20,7 +20,7 @@ #include <gtk/gtk.h> -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) #ifndef ROUND #define ROUND(a) ((int)(a<0.?a-.5:a+.5)) @@ -402,8 +402,8 @@ GtkRange *range; g_return_val_if_fail(GIW_IS_TIMELINE(timeline), 0.0); - widget=GTK_WIDGET(timeline); - range=GTK_RANGE(widget); + widget = GTK_WIDGET(timeline); + range = GTK_RANGE(widget); //return GIW_TIMELINE_GET_PRIVATE (timeline)->position; @@ -482,16 +482,16 @@ priv = GIW_TIMELINE_GET_PRIVATE(timeline); - widget=GTK_WIDGET(timeline); - range=GTK_RANGE(widget); + widget = GTK_WIDGET(timeline); + range = GTK_RANGE(widget); - adj=gtk_range_get_adjustment(range); + adj = gtk_range_get_adjustment(range); if (lower) - *lower=gtk_adjustment_get_lower(adj); + *lower = gtk_adjustment_get_lower(adj); if (upper) - *upper=gtk_adjustment_get_upper(adj); + *upper = gtk_adjustment_get_upper(adj); if (max_size) - *max_size=priv->max_size; + *max_size = priv->max_size; } @@ -694,9 +694,9 @@ gdouble increment; /* Number of pixels per unit */ gint scale; /* Number of units per major unit */ - gint scaleh,scalem,scales; + gint scaleh, scalem, scales; - gint curi,curh,curm,curs; + gint curi, curh, curm, curs; gdouble start, end, cur; gchar unit_str[32]; gint digit_height; @@ -772,19 +772,19 @@ */ scale = ceil(max_size); - if (priv->unit==GIW_TIME_UNIT_SECONDS) { + if (priv->unit == GIW_TIME_UNIT_SECONDS) { g_snprintf(unit_str, sizeof(unit_str), "%d", scale); } else { - scaleh=(int)((double)scale/3600.); - scalem=(int)((double)(scale-scaleh*3600)/60.); - scales=scale-scaleh*3600-scalem*60; + scaleh = (int)((double)scale / 3600.); + scalem = (int)((double)(scale - scaleh * 3600) / 60.); + scales = scale - scaleh * 3600 - scalem * 60; - if (scale<0) { - scalem=-scalem; - scales=-scales; + if (scale < 0) { + scalem = -scalem; + scales = -scales; } - g_snprintf(unit_str, sizeof(unit_str), "%02d:%02d:%02d", scaleh,scalem,scales); + g_snprintf(unit_str, sizeof(unit_str), "%02d:%02d:%02d", scaleh, scalem, scales); } @@ -852,20 +852,20 @@ /* draw label */ if (i == 0) { - curi=(int)cur; - if (priv->unit==GIW_TIME_UNIT_SECONDS) { + curi = (int)cur; + if (priv->unit == GIW_TIME_UNIT_SECONDS) { g_snprintf(unit_str, sizeof(unit_str), "%d", curi); } else { - curh=(int)(cur/3600.); - curm=(int)((double)(curi-curh*3600)/60.); - curs=curi-curh*3600-curm*60; + curh = (int)(cur / 3600.); + curm = (int)((double)(curi - curh * 3600) / 60.); + curs = curi - curh * 3600 - curm * 60; - if (curi<0) { - curm=-curm; - curs=-curs; + if (curi < 0) { + curm = -curm; + curs = -curs; } - g_snprintf(unit_str, sizeof(unit_str), "%02d:%02d:%02d", curh,curm,curs); + g_snprintf(unit_str, sizeof(unit_str), "%02d:%02d:%02d", curh, curm, curs); } if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) { @@ -1053,4 +1053,4 @@ -#endif // #if GTK_CHECK_VERSION(3,0,0) +#endif // #if GTK_CHECK_VERSION(3, 0, 0)
View file
LiVES-2.8.4.tar.bz2/src/giw/giwtimeline.h -> LiVES-2.8.6.tar.bz2/src/giw/giwtimeline.h
Changed
@@ -50,7 +50,6 @@ struct _GiwTimelineClass { GtkScaleClass parent_class; - };
View file
LiVES-2.8.4.tar.bz2/src/giw/giwvslider.c -> LiVES-2.8.6.tar.bz2/src/giw/giwvslider.c
Changed
@@ -42,7 +42,7 @@ static void giw_vslider_realize(GtkWidget *widget); static void giw_vslider_size_request(GtkWidget *widget, GtkRequisition *requisition); -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) static void giw_vslider_get_preferred_width(GtkWidget *widget, gint *minimal_width, gint *natural_width); @@ -93,7 +93,7 @@ void vslider_calculate_legends_sizes(GiwVSlider *vslider); -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) G_DEFINE_TYPE(GiwVSlider, giw_vslider, GTK_TYPE_WIDGET) #define parent_class giw_vslider_parent_class #else @@ -126,7 +126,7 @@ static void giw_vslider_class_init(GiwVSliderClass *xclass) { -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) GObjectClass *object_class = G_OBJECT_CLASS(xclass); #else GtkObjectClass *object_class = (GtkObjectClass *) xclass; @@ -135,7 +135,7 @@ widget_class = (GtkWidgetClass *) xclass; -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) object_class->dispose = giw_vslider_dispose; #else parent_class = (GtkWidgetClass *)gtk_type_class(gtk_widget_get_type()); @@ -144,7 +144,7 @@ widget_class->realize = giw_vslider_realize; -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) widget_class->get_preferred_width = giw_vslider_get_preferred_width; widget_class->get_preferred_height = giw_vslider_get_preferred_height; widget_class->draw = giw_vslider_draw; @@ -163,21 +163,21 @@ static void giw_vslider_init(GiwVSlider *vslider) { //Defaults - vslider->legend_digits=3; - vslider->major_ticks=3; - vslider->minor_ticks=1; + vslider->legend_digits = 3; + vslider->major_ticks = 3; + vslider->minor_ticks = 1; // Default mouse policy : automatically - vslider->mouse_policy=GIW_VSLIDER_MOUSE_AUTOMATICALLY; + vslider->mouse_policy = GIW_VSLIDER_MOUSE_AUTOMATICALLY; - vslider->button=FALSE; + vslider->button = FALSE; // Conditions for a unpressed button - vslider->button_state=GTK_STATE_NORMAL; - vslider->button_shadow=GTK_SHADOW_OUT; + vslider->button_state = GTK_STATE_NORMAL; + vslider->button_shadow = GTK_SHADOW_OUT; #if GTK_CHECK_VERSION(2,18,0) - gtk_widget_set_has_window(GTK_WIDGET(vslider),TRUE); + gtk_widget_set_has_window(GTK_WIDGET(vslider), TRUE); #endif } @@ -188,7 +188,7 @@ g_return_val_if_fail(adjustment != NULL, NULL); -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) vslider = (GiwVSlider *)g_object_new(GIW_TYPE_VSLIDER, NULL); #else vslider = (GiwVSlider *)gtk_type_new(giw_vslider_get_type()); @@ -205,7 +205,7 @@ gdouble upper) { GiwVSlider *vslider; -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) vslider = (GiwVSlider *)g_object_new(GIW_TYPE_VSLIDER, NULL); #else vslider = (GiwVSlider *)gtk_type_new(giw_vslider_get_type()); @@ -216,7 +216,7 @@ return GTK_WIDGET(vslider); } -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) static void giw_vslider_dispose(GObject *object) { #else static void giw_vslider_destroy(GtkObject *object) { @@ -232,16 +232,16 @@ // Freeing all if (vslider->adjustment) g_object_unref(G_OBJECT(vslider->adjustment)); - vslider->adjustment=NULL; + vslider->adjustment = NULL; if (vslider->legends) { - for (loop=0; loop<vslider->major_ticks; loop++) { - if (vslider->legends[loop]!=NULL) g_object_unref(G_OBJECT(vslider->legends[loop])); + for (loop = 0; loop < vslider->major_ticks; loop++) { + if (vslider->legends[loop] != NULL) g_object_unref(G_OBJECT(vslider->legends[loop])); } g_free(vslider->legends); - vslider->legends=NULL; + vslider->legends = NULL; } -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) G_OBJECT_CLASS(giw_vslider_parent_class)->dispose(object); #else if (LIVES_GUI_OBJECT_CLASS(parent_class)->destroy) @@ -255,7 +255,7 @@ GdkWindowAttr attributes; gint attributes_mask; -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) GtkStyleContext *stylecon; #endif @@ -263,7 +263,7 @@ g_return_if_fail(GIW_IS_VSLIDER(widget)); #if GTK_CHECK_VERSION(2,20,0) - gtk_widget_set_realized(widget,TRUE); + gtk_widget_set_realized(widget, TRUE); #else GTK_WIDGET_SET_FLAGS(widget, GTK_REALIZED); #endif @@ -284,22 +284,22 @@ attributes_mask = GDK_WA_X | GDK_WA_Y; -#if !GTK_CHECK_VERSION(3,0,0) +#if !GTK_CHECK_VERSION(3, 0, 0) attributes_mask |= GDK_WA_COLORMAP | GDK_WA_VISUAL; attributes.visual = gtk_widget_get_visual(widget); attributes.colormap = gtk_widget_get_colormap(widget); #endif #if GTK_CHECK_VERSION(2,18,0) - gtk_widget_set_window(widget,gdk_window_new(lives_widget_get_xwindow(lives_widget_get_parent(widget)), &attributes, attributes_mask)); + gtk_widget_set_window(widget, gdk_window_new(lives_widget_get_xwindow(lives_widget_get_parent(widget)), &attributes, attributes_mask)); #else widget->window = gdk_window_new(widget->parent->window, &attributes, attributes_mask); #endif -#if GTK_CHECK_VERSION(3,0,0) - stylecon=gtk_style_context_new(); - gtk_style_context_set_path(stylecon,gtk_widget_get_path(widget)); - gtk_style_context_set_state(stylecon,GTK_STATE_FLAG_ACTIVE); +#if GTK_CHECK_VERSION(3, 0, 0) + stylecon = gtk_style_context_new(); + gtk_style_context_set_path(stylecon, gtk_widget_get_path(widget)); + gtk_style_context_set_state(stylecon, GTK_STATE_FLAG_ACTIVE); //gtk_style_context_set_background(stylecon,lives_widget_get_xwindow(lives_widget_get_parent(widget))); #else widget->style = gtk_style_attach(widget->style, lives_widget_get_xwindow(widget)); @@ -322,7 +322,7 @@ requisition->height = VSLIDER_DEFAULT_HEIGHT; } -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) static void giw_vslider_get_preferred_width(GtkWidget *widget, @@ -359,7 +359,7 @@ g_return_if_fail(allocation != NULL); #if GTK_CHECK_VERSION(2,18,0) - gtk_widget_set_allocation(widget,allocation); + gtk_widget_set_allocation(widget, allocation); #else widget->allocation = *allocation; #endif @@ -377,7 +377,7 @@ vslider_calculate_sizes(vslider); } -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) static gboolean giw_vslider_draw(GtkWidget *widget, cairo_t *cairo) { GdkRGBA color; #else @@ -390,7 +390,7 @@ gint loop, loop2; GdkRectangle rect; -#if !GTK_CHECK_VERSION(3,0,0) +#if !GTK_CHECK_VERSION(3, 0, 0) g_return_val_if_fail(event != NULL, FALSE); @@ -403,13 +403,13 @@ vslider = GIW_VSLIDER(widget); - rect.x=0; - rect.y=0; - rect.width=lives_widget_get_allocation_width(widget); - rect.height=lives_widget_get_allocation_height(widget); + rect.x = 0; + rect.y = 0; + rect.width = lives_widget_get_allocation_width(widget); + rect.height = lives_widget_get_allocation_height(widget); -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) gtk_render_background(gtk_widget_get_style_context(widget), cairo, 0, @@ -417,16 +417,16 @@ rect.width, rect.height); - cairo_set_line_width(cairo,1.); + cairo_set_line_width(cairo, 1.); // Drawing all the ticks and legends - for (loop=0; loop<vslider->major_ticks; loop++) { + for (loop = 0; loop < vslider->major_ticks; loop++) { // Legends - if (vslider->legend_digits!=0) + if (vslider->legend_digits != 0) gtk_render_layout(gtk_widget_get_style_context(widget), cairo, 0, - vslider->y+(gint)(vslider->major_dy*(gdouble)loop)-(vslider->legend_height/2), + vslider->y + (gint)(vslider->major_dy * (gdouble)loop) - (vslider->legend_height / 2), vslider->legends[loop]); gtk_style_context_get_color(gtk_widget_get_style_context(widget), gtk_widget_get_state_flags(widget), &color); @@ -434,35 +434,35 @@ // Major ticks cairo_move_to(cairo, - vslider->legend_width-5, - vslider->y+(gint)(vslider->major_dy*(gdouble)loop)); + vslider->legend_width - 5, + vslider->y + (gint)(vslider->major_dy * (gdouble)loop)); cairo_line_to(cairo, vslider->legend_width, - vslider->y+(gint)(vslider->major_dy*(gdouble)loop)); + vslider->y + (gint)(vslider->major_dy * (gdouble)loop)); cairo_stroke(cairo); // Minor ticks - for (loop2=1; loop2<vslider->minor_ticks+1; loop2++) - if (loop!=vslider->major_ticks-1) { // If it's not the last one + for (loop2 = 1; loop2 < vslider->minor_ticks + 1; loop2++) + if (loop != vslider->major_ticks - 1) { // If it's not the last one cairo_move_to(cairo, - vslider->legend_width-3, - vslider->y+(gint)(vslider->major_dy*(gdouble)loop)+vslider->minor_dy*(gdouble)loop2); + vslider->legend_width - 3, + vslider->y + (gint)(vslider->major_dy * (gdouble)loop) + vslider->minor_dy * (gdouble)loop2); cairo_line_to(cairo, vslider->legend_width, - vslider->y+(gint)(vslider->major_dy*(gdouble)loop)+vslider->minor_dy*(gdouble)loop2); + vslider->y + (gint)(vslider->major_dy * (gdouble)loop) + vslider->minor_dy * (gdouble)loop2); cairo_stroke(cairo); } } //Drawing the back hole - cairo_set_source_rgba(cairo, 0.,0.,0.,1.); + cairo_set_source_rgba(cairo, 0., 0., 0., 1.); cairo_rectangle(cairo, - vslider->x+vslider->width/2-2, + vslider->x + vslider->width / 2 - 2, vslider->y, 4, vslider->height); @@ -473,7 +473,7 @@ cairo_set_source_rgba(cairo, color.red, color.green, color.blue, color.alpha); cairo_rectangle(cairo, - vslider->x+vslider->width/2-2, + vslider->x + vslider->width / 2 - 2, vslider->y, 4, vslider->height); @@ -493,7 +493,7 @@ // The phanton button - if ((vslider->mouse_policy == GIW_VSLIDER_MOUSE_DELAYED) && (vslider->button !=0)) + if ((vslider->mouse_policy == GIW_VSLIDER_MOUSE_DELAYED) && (vslider->button != 0)) gtk_render_slider(gtk_widget_get_style_context(widget), cairo, vslider->pbutton_x, @@ -519,9 +519,9 @@ -1); // Drawing all the ticks and legends - for (loop=0; loop<vslider->major_ticks; loop++) { + for (loop = 0; loop < vslider->major_ticks; loop++) { // Legends - if (vslider->legend_digits!=0) + if (vslider->legend_digits != 0) gtk_paint_layout(widget->style, widget->window, GTK_STATE_NORMAL, @@ -530,31 +530,31 @@ widget, NULL, 0, - vslider->y+(gint)(vslider->major_dy*(gdouble)loop)-(vslider->legend_height/2), + vslider->y + (gint)(vslider->major_dy * (gdouble)loop) - (vslider->legend_height / 2), vslider->legends[loop]); // Major ticks gdk_draw_line(widget->window, widget->style->fg_gc[widget->state], - vslider->legend_width-5, - vslider->y+(gint)(vslider->major_dy*(gdouble)loop), + vslider->legend_width - 5, + vslider->y + (gint)(vslider->major_dy * (gdouble)loop), vslider->legend_width, - vslider->y+(gint)(vslider->major_dy*(gdouble)loop)); + vslider->y + (gint)(vslider->major_dy * (gdouble)loop)); // Minor ticks - for (loop2=1; loop2<vslider->minor_ticks+1; loop2++) - if (loop!=vslider->major_ticks-1) // If it's not the last one + for (loop2 = 1; loop2 < vslider->minor_ticks + 1; loop2++) + if (loop != vslider->major_ticks - 1) // If it's not the last one gdk_draw_line(widget->window, widget->style->fg_gc[widget->state], - vslider->legend_width-3, - vslider->y+(gint)(vslider->major_dy*(gdouble)loop)+vslider->minor_dy*(gdouble)loop2, + vslider->legend_width - 3, + vslider->y + (gint)(vslider->major_dy * (gdouble)loop) + vslider->minor_dy * (gdouble)loop2, vslider->legend_width, - vslider->y+(gint)(vslider->major_dy*(gdouble)loop)+vslider->minor_dy*(gdouble)loop2); + vslider->y + (gint)(vslider->major_dy * (gdouble)loop) + vslider->minor_dy * (gdouble)loop2); } //Drawing the back hole gdk_draw_rectangle(widget->window, widget->style->black_gc, TRUE, - vslider->x+vslider->width/2-2, + vslider->x + vslider->width / 2 - 2, vslider->y, 4, vslider->height); @@ -562,7 +562,7 @@ gdk_draw_rectangle(widget->window, widget->style->fg_gc[widget->state], FALSE, - vslider->x+vslider->width/2-2, + vslider->x + vslider->width / 2 - 2, vslider->y, 4, vslider->height); @@ -590,7 +590,7 @@ vslider->button_h); // The phanton button - if ((vslider->mouse_policy == GIW_VSLIDER_MOUSE_DELAYED) && (vslider->button !=0)) + if ((vslider->mouse_policy == GIW_VSLIDER_MOUSE_DELAYED) && (vslider->button != 0)) gtk_paint_slider(widget->style, widget->window, GTK_STATE_ACTIVE, @@ -618,17 +618,17 @@ g_return_val_if_fail(GIW_IS_VSLIDER(widget), FALSE); g_return_val_if_fail(event != NULL, FALSE); - vslider=GIW_VSLIDER(widget); + vslider = GIW_VSLIDER(widget); - if (vslider->mouse_policy==GIW_VSLIDER_MOUSE_DISABLED) return (FALSE); + if (vslider->mouse_policy == GIW_VSLIDER_MOUSE_DISABLED) return (FALSE); // Checking if the pointer is inside the button - if (event->x > vslider->button_x && event->x < vslider->button_x+ vslider->button_w && event->y > - vslider->button_y && event->y < vslider->button_y+vslider->button_h) { - if (vslider->button==0) { - vslider->button=event->button; - vslider->button_state=GTK_STATE_ACTIVE; - vslider->button_shadow=GTK_SHADOW_IN; + if (event->x > vslider->button_x && event->x < vslider->button_x + vslider->button_w && event->y > + vslider->button_y && event->y < vslider->button_y + vslider->button_h) { + if (vslider->button == 0) { + vslider->button = event->button; + vslider->button_state = GTK_STATE_ACTIVE; + vslider->button_shadow = GTK_SHADOW_IN; } } @@ -646,9 +646,9 @@ g_return_val_if_fail(GIW_IS_VSLIDER(widget), FALSE); g_return_val_if_fail(event != NULL, FALSE); - vslider=GIW_VSLIDER(widget); + vslider = GIW_VSLIDER(widget); - if (vslider->mouse_policy==GIW_VSLIDER_MOUSE_DISABLED) return (FALSE); + if (vslider->mouse_policy == GIW_VSLIDER_MOUSE_DISABLED) return (FALSE); // Get the position inside the vslider //x=event->x-vslider->x; @@ -656,19 +656,19 @@ if (vslider->button == event->button) { // If the mouse policy is to update delayed, it's time to update the value (the button was released) - if (vslider->mouse_policy==GIW_VSLIDER_MOUSE_DELAYED) + if (vslider->mouse_policy == GIW_VSLIDER_MOUSE_DELAYED) giw_vslider_set_value(vslider, vslider->phanton_value); - vslider->button=FALSE; + vslider->button = FALSE; // If the mouse stills inside the button, state is prelight, else state is normal - if (event->x > vslider->button_x && event->x < vslider->button_x+ vslider->button_w && event->y > - vslider->button_y && event->y < vslider->button_y+vslider->button_h) - vslider->button_state=GTK_STATE_PRELIGHT; + if (event->x > vslider->button_x && event->x < vslider->button_x + vslider->button_w && event->y > + vslider->button_y && event->y < vslider->button_y + vslider->button_h) + vslider->button_state = GTK_STATE_PRELIGHT; else - vslider->button_state=GTK_STATE_NORMAL; + vslider->button_state = GTK_STATE_NORMAL; - vslider->button_shadow=GTK_SHADOW_OUT; // Return to normal shadow + vslider->button_shadow = GTK_SHADOW_OUT; // Return to normal shadow } gtk_widget_queue_draw(GTK_WIDGET(vslider)); @@ -687,18 +687,18 @@ g_return_val_if_fail(GIW_IS_VSLIDER(widget), FALSE); g_return_val_if_fail(event != NULL, FALSE); - vslider=GIW_VSLIDER(widget); + vslider = GIW_VSLIDER(widget); - if (vslider->mouse_policy==GIW_VSLIDER_MOUSE_DISABLED) return (FALSE); + if (vslider->mouse_policy == GIW_VSLIDER_MOUSE_DISABLED) return (FALSE); // Get the position inside the vslider //x=event->x-vslider->x; - y=event->y-vslider->y; + y = event->y - vslider->y; // If the mouse policy is to update automatically, change the value now if it's valid - if (vslider->button!=0 && vslider->mouse_policy==GIW_VSLIDER_MOUSE_AUTOMATICALLY) { - new_value=lives_adjustment_get_lower(vslider->adjustment)+((gdouble)(vslider->height-y))/ - ((gdouble)vslider->height)*(lives_adjustment_get_upper(vslider->adjustment)-lives_adjustment_get_lower(vslider->adjustment)); + if (vslider->button != 0 && vslider->mouse_policy == GIW_VSLIDER_MOUSE_AUTOMATICALLY) { + new_value = lives_adjustment_get_lower(vslider->adjustment) + ((gdouble)(vslider->height - y)) / + ((gdouble)vslider->height) * (lives_adjustment_get_upper(vslider->adjustment) - lives_adjustment_get_lower(vslider->adjustment)); // If it's a valid value, update it! if ((new_value <= lives_adjustment_get_upper(vslider->adjustment)) && @@ -707,26 +707,26 @@ } // If the mouse policy is to update delayed, calculate the false value - if (vslider->button!=0 && vslider->mouse_policy==GIW_VSLIDER_MOUSE_DELAYED) { - new_value=lives_adjustment_get_lower(vslider->adjustment)+((gdouble)(vslider->height-y))/ - ((gdouble)vslider->height)*(lives_adjustment_get_upper(vslider->adjustment)-lives_adjustment_get_lower(vslider->adjustment)); + if (vslider->button != 0 && vslider->mouse_policy == GIW_VSLIDER_MOUSE_DELAYED) { + new_value = lives_adjustment_get_lower(vslider->adjustment) + ((gdouble)(vslider->height - y)) / + ((gdouble)vslider->height) * (lives_adjustment_get_upper(vslider->adjustment) - lives_adjustment_get_lower(vslider->adjustment)); // If it's a valid value, update the false value if ((new_value <= lives_adjustment_get_upper(vslider->adjustment)) && (new_value >= lives_adjustment_get_lower(vslider->adjustment))) { - vslider->phanton_value=new_value; + vslider->phanton_value = new_value; vslider_calculate_phanton_button(vslider); gtk_widget_queue_draw(GTK_WIDGET(vslider)); } } // If the button is not pressed and the pointer is inside the button, set prelight, if the pointer is out of the button, set normal - if (vslider->button==0) { - if (event->x > vslider->button_x && event->x < vslider->button_x+ vslider->button_w && event->y > - vslider->button_y && event->y < vslider->button_y+vslider->button_h) - vslider->button_state=GTK_STATE_PRELIGHT; + if (vslider->button == 0) { + if (event->x > vslider->button_x && event->x < vslider->button_x + vslider->button_w && event->y > + vslider->button_y && event->y < vslider->button_y + vslider->button_h) + vslider->button_state = GTK_STATE_PRELIGHT; else - vslider->button_state=GTK_STATE_NORMAL; + vslider->button_state = GTK_STATE_NORMAL; } gtk_widget_queue_draw(GTK_WIDGET(vslider)); @@ -748,7 +748,7 @@ vslider_calculate_legends_sizes(vslider); } -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) static void giw_vslider_style_updated(GtkWidget *widget) { @@ -762,8 +762,8 @@ g_return_if_fail(vslider != NULL); g_return_if_fail(GIW_IS_VSLIDER(vslider)); - if (gtk_adjustment_get_value(vslider->adjustment)!=value) { - gtk_adjustment_set_value(vslider->adjustment,value); + if (gtk_adjustment_get_value(vslider->adjustment) != value) { + gtk_adjustment_set_value(vslider->adjustment, value); #if !GTK_CHECK_VERSION(3,18,0) gtk_adjustment_value_changed(vslider->adjustment); @@ -797,14 +797,14 @@ // Freeing the last one if (vslider->adjustment) { -#if GTK_CHECK_VERSION(3,0,0) - g_signal_handler_disconnect((gpointer)(vslider->adjustment),vslider->chsig); - g_signal_handler_disconnect((gpointer)(vslider->adjustment),vslider->vchsig); +#if GTK_CHECK_VERSION(3, 0, 0) + g_signal_handler_disconnect((gpointer)(vslider->adjustment), vslider->chsig); + g_signal_handler_disconnect((gpointer)(vslider->adjustment), vslider->vchsig); #else gtk_signal_disconnect_by_data(LIVES_GUI_OBJECT(vslider->adjustment), (gpointer) vslider); #endif g_object_unref(G_OBJECT(vslider->adjustment)); - vslider->adjustment=NULL; + vslider->adjustment = NULL; } vslider->adjustment = adjustment; @@ -829,10 +829,10 @@ g_return_if_fail(vslider != NULL); g_return_if_fail(GIW_IS_VSLIDER(vslider)); - if (vslider->legend_digits!=digits) { + if (vslider->legend_digits != digits) { vslider_free_legends(vslider); - vslider->legend_digits=digits; + vslider->legend_digits = digits; vslider_build_legends(vslider); vslider_calculate_sizes(vslider); @@ -846,7 +846,7 @@ g_return_if_fail(vslider != NULL); g_return_if_fail(GIW_IS_VSLIDER(vslider)); - vslider->mouse_policy=policy; + vslider->mouse_policy = policy; } void @@ -855,11 +855,11 @@ g_return_if_fail(vslider != NULL); g_return_if_fail(GIW_IS_VSLIDER(vslider)); - if (number!=vslider->major_ticks) { + if (number != vslider->major_ticks) { // Freeing the old legends, because they will be changed vslider_free_legends(vslider); - vslider->major_ticks=number; + vslider->major_ticks = number; // Now, there are diferent legends, so, we have to create them vslider_build_legends(vslider); @@ -875,7 +875,7 @@ g_return_if_fail(vslider != NULL); g_return_if_fail(GIW_IS_VSLIDER(vslider)); - vslider->minor_ticks=number; + vslider->minor_ticks = number; vslider_calculate_sizes(vslider); gtk_widget_queue_draw(GTK_WIDGET(vslider)); @@ -922,25 +922,25 @@ g_return_if_fail(vslider != NULL); - widget=GTK_WIDGET(vslider); + widget = GTK_WIDGET(vslider); // Calculating the sizes and distances... - vslider->width=lives_widget_get_allocation_width(widget)-vslider->legend_width; - vslider->height=lives_widget_get_allocation_height(widget)-vslider->legend_height; - vslider->x=vslider->legend_width; - vslider->y=vslider->legend_height/2; + vslider->width = lives_widget_get_allocation_width(widget) - vslider->legend_width; + vslider->height = lives_widget_get_allocation_height(widget) - vslider->legend_height; + vslider->x = vslider->legend_width; + vslider->y = vslider->legend_height / 2; // If the legends are too small, or inexistant, it has to be some space left fot the button (when it's on he edge) - if (vslider->y < vslider->button_h/2) { - vslider->height = lives_widget_get_allocation_height(widget)-vslider->button_h; - vslider->y = vslider->button_h/2; + if (vslider->y < vslider->button_h / 2) { + vslider->height = lives_widget_get_allocation_height(widget) - vslider->button_h; + vslider->y = vslider->button_h / 2; } /* The height of the vslider is the widget's height less a half of legend height (beacause a half of the legends are drawn outside the vslider's area . If there are no legends the temometer width is the widget's width, is there are legends, the width of the vslider is the space left by the legends.*/ - vslider->major_dy=(gdouble)vslider->height/(gdouble)(vslider->major_ticks-1); - vslider->minor_dy=vslider->major_dy/(vslider->minor_ticks+1); + vslider->major_dy = (gdouble)vslider->height / (gdouble)(vslider->major_ticks - 1); + vslider->minor_dy = vslider->major_dy / (vslider->minor_ticks + 1); vslider_calculate_button(vslider); vslider_calculate_phanton_button(vslider); @@ -951,12 +951,12 @@ g_return_if_fail(vslider != NULL); // Getting button's positon and dimensions - vslider->button_x=vslider->x+5; - vslider->button_y=vslider->y+vslider->height-vslider->height* - ((gtk_adjustment_get_value(vslider->adjustment)-lives_adjustment_get_lower(vslider->adjustment))/ - (lives_adjustment_get_upper(vslider->adjustment)-lives_adjustment_get_lower(vslider->adjustment)))-5; - vslider->button_w=vslider->width-10; - vslider->button_h=10; + vslider->button_x = vslider->x + 5; + vslider->button_y = vslider->y + vslider->height - vslider->height * + ((gtk_adjustment_get_value(vslider->adjustment) - lives_adjustment_get_lower(vslider->adjustment)) / + (lives_adjustment_get_upper(vslider->adjustment) - lives_adjustment_get_lower(vslider->adjustment))) - 5; + vslider->button_w = vslider->width - 10; + vslider->button_h = 10; } void @@ -964,12 +964,12 @@ g_return_if_fail(vslider != NULL); // Getting phanton button's positon and dimensions - vslider->pbutton_x=vslider->x+5; - vslider->pbutton_y=vslider->y+vslider->height-vslider->height* - ((vslider->phanton_value-lives_adjustment_get_lower(vslider->adjustment))/ - (lives_adjustment_get_upper(vslider->adjustment)-lives_adjustment_get_lower(vslider->adjustment)))-5; - vslider->pbutton_w=vslider->width-10; - vslider->pbutton_h=10; + vslider->pbutton_x = vslider->x + 5; + vslider->pbutton_y = vslider->y + vslider->height - vslider->height * + ((vslider->phanton_value - lives_adjustment_get_lower(vslider->adjustment)) / + (lives_adjustment_get_upper(vslider->adjustment) - lives_adjustment_get_lower(vslider->adjustment))) - 5; + vslider->pbutton_w = vslider->width - 10; + vslider->pbutton_h = 10; } void @@ -984,32 +984,32 @@ g_return_if_fail(vslider != NULL); - widget=GTK_WIDGET(vslider); + widget = GTK_WIDGET(vslider); - if (vslider->major_ticks==0) // Preventing from bugs + if (vslider->major_ticks == 0) // Preventing from bugs return; // Creating the legend's layouts - if (vslider->legend_digits!=0) { - vslider->legends=g_new(PangoLayout *, vslider->major_ticks); - str=g_new(gchar, vslider->legend_digits+1); // +1 for the '/0' - for (loop=0; loop<vslider->major_ticks; loop++) { - snprintf(str,vslider->legend_digits+1,"%f",lives_adjustment_get_lower(vslider->adjustment)+ - (vslider->major_ticks-1-loop)* - (lives_adjustment_get_upper(vslider->adjustment)-lives_adjustment_get_lower(vslider->adjustment))/ - (vslider->major_ticks-1)); // Creating the legends string - vslider->legends[loop]=gtk_widget_create_pango_layout(widget, str); - -#if GTK_CHECK_VERSION(3,0,0) + if (vslider->legend_digits != 0) { + vslider->legends = g_new(PangoLayout *, vslider->major_ticks); + str = g_new(gchar, vslider->legend_digits + 1); // +1 for the '/0' + for (loop = 0; loop < vslider->major_ticks; loop++) { + snprintf(str, vslider->legend_digits + 1, "%f", lives_adjustment_get_lower(vslider->adjustment) + + (vslider->major_ticks - 1 - loop) * + (lives_adjustment_get_upper(vslider->adjustment) - lives_adjustment_get_lower(vslider->adjustment)) / + (vslider->major_ticks - 1)); // Creating the legends string + vslider->legends[loop] = gtk_widget_create_pango_layout(widget, str); + +#if GTK_CHECK_VERSION(3, 0, 0) #if GTK_CHECK_VERSION(3,8,0) - fontdesc=pango_font_description_new(); + fontdesc = pango_font_description_new(); gtk_style_context_get(gtk_widget_get_style_context(widget), gtk_widget_get_state_flags(widget), GTK_STYLE_PROPERTY_FONT, &fontdesc, NULL ); - pango_layout_set_font_description(vslider->legends[loop],fontdesc); + pango_layout_set_font_description(vslider->legends[loop], fontdesc); pango_font_description_free(fontdesc); #else pango_layout_set_font_description(vslider->legends[loop], @@ -1025,8 +1025,8 @@ // Calculating sizes vslider_calculate_legends_sizes(vslider); } else { // If there are no legends (0 digits), the size is the major ticks size (5) - vslider->legend_width=5; - vslider->legend_height=0; + vslider->legend_width = 5; + vslider->legend_height = 0; } } @@ -1036,14 +1036,14 @@ g_return_if_fail(vslider != NULL); - if (vslider->legends!=NULL) { - for (loop=0; loop<vslider->major_ticks; loop++) { - if (vslider->legends[loop]!=NULL) { + if (vslider->legends != NULL) { + for (loop = 0; loop < vslider->major_ticks; loop++) { + if (vslider->legends[loop] != NULL) { g_object_unref(G_OBJECT(vslider->legends[loop])); } } g_free(vslider->legends); - vslider->legends=NULL; + vslider->legends = NULL; } } @@ -1057,19 +1057,19 @@ g_return_if_fail(vslider != NULL); - widget=GTK_WIDGET(vslider); + widget = GTK_WIDGET(vslider); - if (vslider->legends!=NULL) { -#if GTK_CHECK_VERSION(3,0,0) + if (vslider->legends != NULL) { +#if GTK_CHECK_VERSION(3, 0, 0) #if GTK_CHECK_VERSION(3,8,0) - fontdesc=pango_font_description_new(); + fontdesc = pango_font_description_new(); gtk_style_context_get(gtk_widget_get_style_context(widget), gtk_widget_get_state_flags(widget), GTK_STYLE_PROPERTY_FONT, &fontdesc, NULL ); - pango_layout_set_font_description(vslider->legends[0],fontdesc); + pango_layout_set_font_description(vslider->legends[0], fontdesc); pango_font_description_free(fontdesc); #else pango_layout_set_font_description(vslider->legends[0], @@ -1080,9 +1080,9 @@ pango_layout_set_font_description(vslider->legends[0], widget->style->font_desc); #endif pango_layout_get_size(vslider->legends[0], &(vslider->legend_width), &(vslider->legend_height)); - vslider->legend_width/=PANGO_SCALE; - vslider->legend_height/=PANGO_SCALE; - vslider->legend_width+=5; // Five pixels for the ticks + vslider->legend_width /= PANGO_SCALE; + vslider->legend_height /= PANGO_SCALE; + vslider->legend_width += 5; // Five pixels for the ticks vslider_calculate_sizes(vslider);
View file
LiVES-2.8.4.tar.bz2/src/giw/giwvslider.h -> LiVES-2.8.6.tar.bz2/src/giw/giwvslider.h
Changed
@@ -48,7 +48,7 @@ typedef struct _GiwVSliderClass GiwVSliderClass; struct _GiwVSlider { -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) GtkWidget parent_instance; #endif GtkWidget widget;
View file
LiVES-2.8.4.tar.bz2/src/gui.c -> LiVES-2.8.6.tar.bz2/src/gui.c
Changed
@@ -19,7 +19,6 @@ #include "startup.h" #include "ce_thumbs.h" - #ifdef ENABLE_GIW_3 #include "giw/giwtimeline.h" #endif @@ -54,95 +53,91 @@ static LiVESWidgetClosure *mute_audio_closure; static LiVESWidgetClosure *ping_pong_closure; - void load_theme_images(void) { // load the theme images // TODO - set palette in here ? - LiVESError *error=NULL; + LiVESError *error = NULL; LiVESPixbuf *pixbuf; - int width,height; + int width, height; - pixbuf=lives_pixbuf_new_from_file(mainw->sepimg_path,&error); + pixbuf = lives_pixbuf_new_from_file(mainw->sepimg_path, &error); - if (mainw->imsep!=NULL) lives_object_unref(mainw->imsep); - mainw->imsep=NULL; - if (mainw->imframe!=NULL) lives_object_unref(mainw->imframe); - mainw->imframe=NULL; - - if (error!=NULL) { - palette->style=STYLE_PLAIN; - lives_snprintf(prefs->theme,64,"%%ERROR%%"); + if (mainw->imsep != NULL) lives_object_unref(mainw->imsep); + mainw->imsep = NULL; + if (mainw->imframe != NULL) lives_object_unref(mainw->imframe); + mainw->imframe = NULL; + + if (error != NULL) { + palette->style = STYLE_PLAIN; + lives_snprintf(prefs->theme, 64, "%%ERROR%%"); lives_error_free(error); - } else { - if (pixbuf!=NULL) { + if (pixbuf != NULL) { //resize - width=lives_pixbuf_get_width(pixbuf); - height=lives_pixbuf_get_height(pixbuf); + width = lives_pixbuf_get_width(pixbuf); + height = lives_pixbuf_get_height(pixbuf); - if (width>IMSEP_MAX_WIDTH||height>IMSEP_MAX_HEIGHT) calc_maxspect(IMSEP_MAX_WIDTH,IMSEP_MAX_HEIGHT,&width,&height); + if (width > IMSEP_MAX_WIDTH || height > IMSEP_MAX_HEIGHT) calc_maxspect(IMSEP_MAX_WIDTH, IMSEP_MAX_HEIGHT, &width, &height); - mainw->imsep=lives_pixbuf_scale_simple(pixbuf,width,height,LIVES_INTERP_BEST); + mainw->imsep = lives_pixbuf_scale_simple(pixbuf, width, height, LIVES_INTERP_BEST); lives_object_unref(pixbuf); } - lives_image_set_from_pixbuf(LIVES_IMAGE(mainw->sep_image),mainw->imsep); + lives_image_set_from_pixbuf(LIVES_IMAGE(mainw->sep_image), mainw->imsep); lives_widget_queue_draw(mainw->sep_image); // imframe - pixbuf=lives_pixbuf_new_from_file(mainw->frameblank_path,&error); + pixbuf = lives_pixbuf_new_from_file(mainw->frameblank_path, &error); - if (error!=NULL) { + if (error != NULL) { lives_error_free(error); } else { - if (pixbuf!=NULL) { - width=lives_pixbuf_get_width(pixbuf); - height=lives_pixbuf_get_height(pixbuf); - - if (width<FRAMEBLANK_MIN_WIDTH) width=FRAMEBLANK_MIN_WIDTH; - if (width>FRAMEBLANK_MAX_WIDTH) width=FRAMEBLANK_MAX_WIDTH; - if (height<FRAMEBLANK_MIN_HEIGHT) height=FRAMEBLANK_MIN_HEIGHT; - if (height>FRAMEBLANK_MAX_HEIGHT) height=FRAMEBLANK_MAX_HEIGHT; + if (pixbuf != NULL) { + width = lives_pixbuf_get_width(pixbuf); + height = lives_pixbuf_get_height(pixbuf); + + if (width < FRAMEBLANK_MIN_WIDTH) width = FRAMEBLANK_MIN_WIDTH; + if (width > FRAMEBLANK_MAX_WIDTH) width = FRAMEBLANK_MAX_WIDTH; + if (height < FRAMEBLANK_MIN_HEIGHT) height = FRAMEBLANK_MIN_HEIGHT; + if (height > FRAMEBLANK_MAX_HEIGHT) height = FRAMEBLANK_MAX_HEIGHT; - mainw->imframe=lives_pixbuf_scale_simple(pixbuf,width,height,LIVES_INTERP_BEST); + mainw->imframe = lives_pixbuf_scale_simple(pixbuf, width, height, LIVES_INTERP_BEST); lives_object_unref(pixbuf); } } - } } void add_message_scroller(LiVESWidget *conter) { - char *all_text=NULL; + char *all_text = NULL; - if (mainw->textview1!=NULL) { - all_text=lives_text_view_get_text(LIVES_TEXT_VIEW(mainw->textview1)); + if (mainw->textview1 != NULL) { + all_text = lives_text_view_get_text(LIVES_TEXT_VIEW(mainw->textview1)); lives_widget_destroy(mainw->textview1); } - if (mainw->scrolledwindow!=NULL) { + if (mainw->scrolledwindow != NULL) { lives_widget_destroy(mainw->scrolledwindow); } mainw->scrolledwindow = lives_scrolled_window_new(NULL, NULL); - lives_scrolled_window_set_policy(LIVES_SCROLLED_WINDOW(mainw->scrolledwindow),LIVES_POLICY_AUTOMATIC,LIVES_POLICY_ALWAYS); - lives_widget_set_vexpand(mainw->scrolledwindow,TRUE); + lives_scrolled_window_set_policy(LIVES_SCROLLED_WINDOW(mainw->scrolledwindow), LIVES_POLICY_AUTOMATIC, LIVES_POLICY_ALWAYS); + lives_widget_set_vexpand(mainw->scrolledwindow, TRUE); lives_container_add(LIVES_CONTAINER(conter), mainw->scrolledwindow); - mainw->textview1 = lives_standard_text_view_new(all_text,NULL); + mainw->textview1 = lives_standard_text_view_new(all_text, NULL); lives_container_add(LIVES_CONTAINER(mainw->scrolledwindow), mainw->textview1); if (mainw->is_ready) lives_widget_show_all(mainw->scrolledwindow); - if (all_text!=NULL) lives_free(all_text); + if (all_text != NULL) lives_free(all_text); lives_widget_set_size_request(mainw->textview1, -1, MSG_AREA_HEIGHT); - } @@ -150,49 +145,48 @@ mainw->custom_gens_submenu = lives_menu_item_new_with_mnemonic(_("_Custom Generators")); mainw->custom_effects_submenu = lives_menu_item_new_with_mnemonic(_("_Custom Effects")); mainw->custom_utilities_submenu = lives_menu_item_new_with_mnemonic(_("Custom _Utilities")); - } -#if GTK_CHECK_VERSION(3,0,0) + +#if GTK_CHECK_VERSION(3, 0, 0) boolean expose_sim(LiVESWidget *widget, lives_painter_t *cr, livespointer user_data) { - int current_file=mainw->current_file; - if (current_file>-1&&cfile!=NULL&&cfile->cb_src!=-1) mainw->current_file=cfile->cb_src; - if (mainw->current_file>0&&cfile!=NULL) { + int current_file = mainw->current_file; + if (current_file > -1 && cfile != NULL && cfile->cb_src != -1) mainw->current_file = cfile->cb_src; + if (mainw->current_file > 0 && cfile != NULL) { load_start_image(cfile->start); } else load_start_image(0); - mainw->current_file=current_file; + mainw->current_file = current_file; return TRUE; } + boolean expose_eim(LiVESWidget *widget, lives_painter_t *cr, livespointer user_data) { - int current_file=mainw->current_file; - if (current_file>-1&&cfile!=NULL&&cfile->cb_src!=-1) mainw->current_file=cfile->cb_src; - if (mainw->current_file>0&&cfile!=NULL) { + int current_file = mainw->current_file; + if (current_file > -1 && cfile != NULL && cfile->cb_src != -1) mainw->current_file = cfile->cb_src; + if (mainw->current_file > 0 && cfile != NULL) { load_end_image(cfile->end); } else load_end_image(0); - mainw->current_file=current_file; + mainw->current_file = current_file; return TRUE; } + boolean expose_pim(LiVESWidget *widget, lives_painter_t *cr, livespointer user_data) { - int current_file=mainw->current_file; - if (current_file>-1&&cfile!=NULL&&cfile->cb_src!=-1) mainw->current_file=cfile->cb_src; + int current_file = mainw->current_file; + if (current_file > -1 && cfile != NULL && cfile->cb_src != -1) mainw->current_file = cfile->cb_src; if (!mainw->draw_blocked) { load_preview_image(FALSE); } - mainw->current_file=current_file; + mainw->current_file = current_file; return TRUE; } #endif - - - void set_colours(LiVESWidgetColor *colf, LiVESWidgetColor *colb, LiVESWidgetColor *colf2, LiVESWidgetColor *colb2, LiVESWidgetColor *coli, LiVESWidgetColor *colt) { -#if !GTK_CHECK_VERSION(3,0,0) +#if !GTK_CHECK_VERSION(3, 0, 0) if (!mainw->foreign) { gtk_widget_ensure_style(mainw->LiVES); lives_widget_hide(mainw->spinbutton_start); @@ -205,7 +199,7 @@ lives_widget_set_bg_color(mainw->menubar, LIVES_WIDGET_STATE_NORMAL, colb2); lives_widget_set_fg_color(mainw->menubar, LIVES_WIDGET_STATE_NORMAL, colf2); - if (mainw->plug!=NULL) + if (mainw->plug != NULL) lives_widget_set_bg_color(mainw->plug, LIVES_WIDGET_STATE_NORMAL, colb); lives_widget_set_bg_color(mainw->sel_label, LIVES_WIDGET_STATE_NORMAL, colb); @@ -322,9 +316,9 @@ lives_widget_set_base_color(mainw->textview1, LIVES_WIDGET_STATE_NORMAL, coli); lives_widget_set_text_color(mainw->textview1, LIVES_WIDGET_STATE_NORMAL, colt); - if (palette->style&STYLE_2) { + if (palette->style & STYLE_2) { // background colour seems to be broken in gtk+3 !!! -#if !GTK_CHECK_VERSION(3,0,0) +#if !GTK_CHECK_VERSION(3, 0, 0) lives_widget_set_base_color(mainw->spinbutton_start, LIVES_WIDGET_STATE_NORMAL, colb); lives_widget_set_base_color(mainw->spinbutton_start, LIVES_WIDGET_STATE_INSENSITIVE, colb); lives_widget_set_base_color(mainw->spinbutton_end, LIVES_WIDGET_STATE_NORMAL, colb); @@ -340,13 +334,9 @@ lives_widget_set_bg_color(mainw->tb_hbox, LIVES_WIDGET_STATE_NORMAL, &palette->fade_colour); lives_widget_set_bg_color(mainw->toolbar, LIVES_WIDGET_STATE_NORMAL, &palette->fade_colour); - } - - - void create_LiVES(void) { LiVESWidget *hbox1; LiVESWidget *vbox2; @@ -390,7 +380,7 @@ LiVESWidget *t_label; LiVESWidget *eventbox; -#if defined (HAVE_YUV4MPEG) || defined (HAVE_UNICAP) +#if defined HAVE_YUV4MPEG || defined HAVE_UNICAP LiVESWidget *submenu; #endif @@ -402,7 +392,6 @@ LiVESWidget *tmp_toolbar_icon; - LiVESAdjustment *adj; LiVESPixbuf *pixbuf; @@ -415,44 +404,44 @@ int dpw; boolean woat; - stop_closure=NULL; - fullscreen_closure=NULL; - dblsize_closure=NULL; - sepwin_closure=NULL; - loop_closure=NULL; - loop_cont_closure=NULL; - fade_closure=NULL; - showfct_closure=NULL; - showsubs_closure=NULL; - rec_closure=NULL; - mute_audio_closure=NULL; - ping_pong_closure=NULL; + stop_closure = NULL; + fullscreen_closure = NULL; + dblsize_closure = NULL; + sepwin_closure = NULL; + loop_closure = NULL; + loop_cont_closure = NULL; + fade_closure = NULL; + showfct_closure = NULL; + showsubs_closure = NULL; + rec_closure = NULL; + mute_audio_closure = NULL; + ping_pong_closure = NULL; mainw->LiVES = lives_window_new(LIVES_WINDOW_TOPLEVEL); //////////////////////////////////// - mainw->double_size=FALSE; - mainw->sep_win=FALSE; + mainw->double_size = FALSE; + mainw->sep_win = FALSE; - mainw->current_file=-1; + mainw->current_file = -1; - mainw->preview_image=NULL; + mainw->preview_image = NULL; mainw->sep_image = lives_image_new_from_pixbuf(NULL); mainw->start_image = lives_image_new_from_pixbuf(NULL); mainw->end_image = lives_image_new_from_pixbuf(NULL); - mainw->imframe=mainw->imsep=NULL; + mainw->imframe = mainw->imsep = NULL; lives_widget_show(mainw->start_image); // needed to get size lives_widget_show(mainw->end_image); // needed to get size - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { load_theme_images(); } else { #ifdef GUI_GTK LiVESWidgetColor normal; -#if !GTK_CHECK_VERSION(3,0,0) +#if !GTK_CHECK_VERSION(3, 0, 0) if (!mainw->foreign) { gtk_widget_ensure_style(mainw->LiVES); } @@ -460,14 +449,13 @@ #endif lives_widget_get_bg_state_color(mainw->LiVES, LIVES_WIDGET_STATE_NORMAL, &normal); - lives_widget_color_copy((LiVESWidgetColor *)(&palette->normal_back),&normal); - - lives_widget_get_fg_color(mainw->LiVES,&normal); - lives_widget_color_copy((LiVESWidgetColor *)(&palette->normal_fore),&normal); + lives_widget_color_copy((LiVESWidgetColor *)(&palette->normal_back), &normal); + lives_widget_get_fg_color(mainw->LiVES, &normal); + lives_widget_color_copy((LiVESWidgetColor *)(&palette->normal_fore), &normal); } -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) lives_signal_connect(LIVES_GUI_OBJECT(mainw->start_image), LIVES_WIDGET_EXPOSE_EVENT, LIVES_GUI_CALLBACK(expose_sim), NULL); @@ -477,26 +465,26 @@ NULL); #else - if (mainw->imframe!=NULL) { - lives_image_set_from_pixbuf(LIVES_IMAGE(mainw->start_image),mainw->imframe); - lives_image_set_from_pixbuf(LIVES_IMAGE(mainw->end_image),mainw->imframe); + if (mainw->imframe != NULL) { + lives_image_set_from_pixbuf(LIVES_IMAGE(mainw->start_image), mainw->imframe); + lives_image_set_from_pixbuf(LIVES_IMAGE(mainw->end_image), mainw->imframe); } #endif mainw->accel_group = LIVES_ACCEL_GROUP(lives_accel_group_new()); - mainw->layout_textbuffer=lives_text_buffer_new(); + mainw->layout_textbuffer = lives_text_buffer_new(); lives_object_ref(mainw->layout_textbuffer); - mainw->affected_layouts_map=NULL; + mainw->affected_layouts_map = NULL; - lives_window_set_hide_titlebar_when_maximized(LIVES_WINDOW(mainw->LiVES),FALSE); + lives_window_set_hide_titlebar_when_maximized(LIVES_WINDOW(mainw->LiVES), FALSE); #ifdef GUI_GTK // TODO - can we use just DEFAULT_DROP ? - gtk_drag_dest_set(mainw->LiVES,GTK_DEST_DEFAULT_ALL,mainw->target_table,2, - (GdkDragAction)(GDK_ACTION_COPY|GDK_ACTION_MOVE|GDK_ACTION_LINK)); + gtk_drag_dest_set(mainw->LiVES, GTK_DEST_DEFAULT_ALL, mainw->target_table, 2, + (GdkDragAction)(GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK)); lives_signal_connect(LIVES_GUI_OBJECT(mainw->LiVES), LIVES_WIDGET_DRAG_DATA_RECEIVED_SIGNAL, LIVES_GUI_CALLBACK(drag_from_outside), @@ -504,7 +492,7 @@ #endif - if (capable->smog_version_correct) lives_window_set_decorated(LIVES_WINDOW(mainw->LiVES),prefs->open_decorated); + if (capable->smog_version_correct) lives_window_set_decorated(LIVES_WINDOW(mainw->LiVES), prefs->open_decorated); mainw->vbox1 = lives_vbox_new(FALSE, 0); lives_container_add(LIVES_CONTAINER(mainw->LiVES), mainw->vbox1); @@ -519,7 +507,7 @@ lives_container_add(LIVES_CONTAINER(mainw->menubar), menuitem); menuitem_menu = lives_menu_new(); - lives_menu_set_accel_group(LIVES_MENU(menuitem_menu),mainw->accel_group); + lives_menu_set_accel_group(LIVES_MENU(menuitem_menu), mainw->accel_group); lives_menu_item_set_submenu(LIVES_MENU_ITEM(menuitem), menuitem_menu); @@ -533,8 +521,6 @@ lives_container_add(LIVES_CONTAINER(menuitem_menu), mainw->open_sel); - - mainw->open_loc = lives_menu_item_new_with_mnemonic(_("Open _Location/Stream...")); #ifdef HAVE_WEBM @@ -542,7 +528,7 @@ mainw->open_loc_menu = lives_menu_item_new_with_mnemonic(_("Open _Location/Stream...")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mainw->open_loc_menu); - mainw->open_loc_submenu=lives_menu_new(); + mainw->open_loc_submenu = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mainw->open_loc_menu), mainw->open_loc_submenu); mainw->open_utube = lives_menu_item_new_with_mnemonic(_("Open _Youtube Clip...")); @@ -564,7 +550,7 @@ lives_container_add(LIVES_CONTAINER(menuitem_menu), mainw->open_vcd_menu); #endif - mainw->open_vcd_submenu=lives_menu_new(); + mainw->open_vcd_submenu = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mainw->open_vcd_menu), mainw->open_vcd_submenu); mainw->open_dvd = lives_menu_item_new_with_mnemonic(_("Import from _dvd")); @@ -573,10 +559,9 @@ lives_container_add(LIVES_CONTAINER(mainw->open_vcd_submenu), mainw->open_dvd); lives_container_add(LIVES_CONTAINER(mainw->open_vcd_submenu), mainw->open_vcd); - mainw->open_device_menu = lives_menu_item_new_with_mnemonic(_("_Import from Firewire")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mainw->open_device_menu); - mainw->open_device_submenu=lives_menu_new(); + mainw->open_device_submenu = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mainw->open_device_menu), mainw->open_device_submenu); mainw->open_firewire = lives_menu_item_new_with_mnemonic(_("Import from _Firewire Device (dv)")); @@ -595,7 +580,7 @@ #if defined(HAVE_UNICAP) || defined(HAVE_YUV4MPEG) lives_container_add(LIVES_CONTAINER(menuitem_menu), menuitem); - submenu=lives_menu_new(); + submenu = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(menuitem), submenu); #ifdef HAVE_UNICAP @@ -605,10 +590,9 @@ NULL); #endif - #ifdef HAVE_YUV4MPEG if (capable->has_dvgrab) { - if (capable->has_mplayer||capable->has_mplayer2) { + if (capable->has_mplayer || capable->has_mplayer2) { lives_container_add(LIVES_CONTAINER(submenu), mainw->firewire); lives_signal_connect(LIVES_GUI_OBJECT(mainw->firewire), LIVES_WIDGET_ACTIVATE_SIGNAL, @@ -623,35 +607,33 @@ NULL); } - - #endif #endif // defined HAVE_UNICAP || defined HAVE_YUV4MPEG mainw->recent_menu = lives_menu_item_new_with_mnemonic(_("_Recent Files...")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mainw->recent_menu); - mainw->recent_submenu=lives_menu_new(); + mainw->recent_submenu = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mainw->recent_menu), mainw->recent_submenu); - memset(buff,0,1); + memset(buff, 0, 1); // since we are still initialising, we need to check if we can read prefs - if (capable->smog_version_correct&&capable->can_write_to_workdir) { - get_pref_utf8(PREF_RECENT1,buff,32768); + if (capable->smog_version_correct && capable->can_write_to_workdir) { + get_pref_utf8(PREF_RECENT1, buff, 32768); } mainw->recent1 = lives_menu_item_new_with_label(buff); - if (capable->smog_version_correct&&capable->can_write_to_workdir) { - get_pref_utf8(PREF_RECENT2,buff,32768); + if (capable->smog_version_correct && capable->can_write_to_workdir) { + get_pref_utf8(PREF_RECENT2, buff, 32768); } mainw->recent2 = lives_menu_item_new_with_label(buff); - if (capable->smog_version_correct&&capable->can_write_to_workdir) { - get_pref_utf8(PREF_RECENT3,buff,32768); + if (capable->smog_version_correct && capable->can_write_to_workdir) { + get_pref_utf8(PREF_RECENT3, buff, 32768); } mainw->recent3 = lives_menu_item_new_with_label(buff); - if (capable->smog_version_correct&&capable->can_write_to_workdir) { - get_pref_utf8(PREF_RECENT4,buff,32768); + if (capable->smog_version_correct && capable->can_write_to_workdir) { + get_pref_utf8(PREF_RECENT4, buff, 32768); } mainw->recent4 = lives_menu_item_new_with_label(buff); @@ -674,7 +656,7 @@ mainw->save_as = lives_image_menu_item_new_from_stock(LIVES_STOCK_LABEL_SAVE, mainw->accel_group); lives_container_add(LIVES_CONTAINER(menuitem_menu), mainw->save_as); lives_widget_set_sensitive(mainw->save_as, FALSE); - set_menu_text(mainw->save_as,_("_Encode Clip As..."),TRUE); + set_menu_text(mainw->save_as, _("_Encode Clip As..."), TRUE); mainw->save_selection = lives_menu_item_new_with_mnemonic(_("Encode _Selection As...")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mainw->save_selection); @@ -689,7 +671,7 @@ lives_menu_add_separator(LIVES_MENU(menuitem_menu)); - mainw->backup = lives_menu_item_new_with_mnemonic((tmp=lives_strdup_printf(_("_Backup Clip as .%s..."),LIVES_FILE_EXT_BACKUP))); + mainw->backup = lives_menu_item_new_with_mnemonic((tmp = lives_strdup_printf(_("_Backup Clip as .%s..."), LIVES_FILE_EXT_BACKUP))); lives_free(tmp); lives_container_add(LIVES_CONTAINER(menuitem_menu), mainw->backup); lives_widget_set_sensitive(mainw->backup, FALSE); @@ -698,7 +680,7 @@ LIVES_KEY_b, LIVES_CONTROL_MASK, LIVES_ACCEL_VISIBLE); - mainw->restore = lives_menu_item_new_with_mnemonic((tmp=lives_strdup_printf(_("_Restore Clip from .%s..."),LIVES_FILE_EXT_BACKUP))); + mainw->restore = lives_menu_item_new_with_mnemonic((tmp = lives_strdup_printf(_("_Restore Clip from .%s..."), LIVES_FILE_EXT_BACKUP))); lives_free(tmp); lives_container_add(LIVES_CONTAINER(menuitem_menu), mainw->restore); @@ -710,11 +692,11 @@ mainw->sw_sound = lives_check_menu_item_new_with_mnemonic(_("Encode/Load/Backup _with Sound")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mainw->sw_sound); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->sw_sound),TRUE); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->sw_sound), TRUE); mainw->aload_subs = lives_check_menu_item_new_with_mnemonic(_("Auto load subtitles")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mainw->aload_subs); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->aload_subs),prefs->autoload_subs); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->aload_subs), prefs->autoload_subs); lives_menu_add_separator(LIVES_MENU(menuitem_menu)); @@ -735,7 +717,6 @@ lives_container_add(LIVES_CONTAINER(menuitem_menu), mainw->undo); lives_widget_set_sensitive(mainw->undo, FALSE); - lives_widget_add_accelerator(mainw->undo, LIVES_WIDGET_ACTIVATE_SIGNAL, mainw->accel_group, LIVES_KEY_u, LIVES_CONTROL_MASK, LIVES_ACCEL_VISIBLE); @@ -831,18 +812,17 @@ mainw->ccpd_sound = lives_check_menu_item_new_with_mnemonic(_("Decouple _Video from Audio")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mainw->ccpd_sound); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->ccpd_sound),!mainw->ccpd_with_sound); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->ccpd_sound), !mainw->ccpd_with_sound); lives_menu_add_separator(LIVES_MENU(menuitem_menu)); mainw->select_submenu = lives_menu_item_new_with_mnemonic(_("_Select...")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mainw->select_submenu); - - select_submenu_menu=lives_menu_new(); + select_submenu_menu = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mainw->select_submenu), select_submenu_menu); - lives_widget_set_sensitive(mainw->select_submenu,FALSE); + lives_widget_set_sensitive(mainw->select_submenu, FALSE); mainw->select_all = lives_menu_item_new_with_mnemonic(_("Select _All Frames")); lives_container_add(LIVES_CONTAINER(select_submenu_menu), mainw->select_all); @@ -864,7 +844,6 @@ LIVES_KEY_End, LIVES_CONTROL_MASK, LIVES_ACCEL_VISIBLE); - lives_menu_add_separator(LIVES_MENU(select_submenu_menu)); mainw->select_from_start = lives_image_menu_item_new_with_mnemonic(_("Select from _First Frame")); @@ -888,7 +867,7 @@ mainw->lock_selwidth = lives_check_menu_item_new_with_mnemonic(_("_Lock Selection Width")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mainw->lock_selwidth); - lives_widget_set_sensitive(mainw->lock_selwidth,FALSE); + lives_widget_set_sensitive(mainw->lock_selwidth, FALSE); menuitem = lives_menu_item_new_with_mnemonic(_("_Play")); lives_container_add(LIVES_CONTAINER(mainw->menubar), menuitem); @@ -943,7 +922,6 @@ LIVES_KEY_q, (LiVESXModifierType)0, LIVES_ACCEL_VISIBLE); - #if LIVES_HAS_IMAGE_MENU_ITEM image = lives_image_new_from_stock(LIVES_STOCK_MEDIA_STOP, LIVES_ICON_SIZE_MENU); lives_image_menu_item_set_image(LIVES_IMAGE_MENU_ITEM(mainw->stop), image); @@ -972,14 +950,13 @@ LIVES_ACCEL_VISIBLE); lives_container_add(LIVES_CONTAINER(menuitem_menu), mainw->record_perf); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->record_perf),FALSE); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->record_perf), FALSE); lives_menu_add_separator(LIVES_MENU(menuitem_menu)); mainw->full_screen = lives_check_menu_item_new_with_mnemonic(_("_Full Screen")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mainw->full_screen); - lives_widget_add_accelerator(mainw->full_screen, LIVES_WIDGET_ACTIVATE_SIGNAL, mainw->accel_group, LIVES_KEY_f, (LiVESXModifierType)0, LIVES_ACCEL_VISIBLE); @@ -998,9 +975,8 @@ LIVES_KEY_s, (LiVESXModifierType)0, LIVES_ACCEL_VISIBLE); - mainw->fade = lives_check_menu_item_new_with_mnemonic(_("_Blank Background")); - if (palette->style!=STYLE_PLAIN) { + if (palette->style != STYLE_PLAIN) { lives_widget_add_accelerator(mainw->fade, LIVES_WIDGET_ACTIVATE_SIGNAL, mainw->accel_group, LIVES_KEY_b, (LiVESXModifierType)0, LIVES_ACCEL_VISIBLE); @@ -1011,7 +987,7 @@ mainw->loop_video = lives_check_menu_item_new_with_mnemonic(_("(Auto)_loop Video (to fit audio track)")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mainw->loop_video); lives_widget_set_sensitive(mainw->loop_video, FALSE); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->loop_video),mainw->loop); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->loop_video), mainw->loop); lives_widget_add_accelerator(mainw->loop_video, LIVES_WIDGET_ACTIVATE_SIGNAL, mainw->accel_group, LIVES_KEY_l, (LiVESXModifierType)0, LIVES_ACCEL_VISIBLE); @@ -1044,8 +1020,8 @@ mainw->sticky = lives_check_menu_item_new_with_mnemonic(_("Separate Window 'S_ticky' Mode")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mainw->sticky); - if (capable->smog_version_correct&&prefs->sepwin_type==SEPWIN_TYPE_STICKY) { - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->sticky),TRUE); + if (capable->smog_version_correct && prefs->sepwin_type == SEPWIN_TYPE_STICKY) { + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->sticky), TRUE); } mainw->showfct = lives_check_menu_item_new_with_mnemonic(_("S_how Frame Counter")); @@ -1055,7 +1031,7 @@ LIVES_KEY_h, (LiVESXModifierType)0, LIVES_ACCEL_VISIBLE); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->showfct),capable->smog_version_correct&&prefs->show_framecount); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->showfct), capable->smog_version_correct && prefs->show_framecount); mainw->showsubs = lives_check_menu_item_new_with_mnemonic(_("Show Subtitles")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mainw->showsubs); @@ -1064,31 +1040,31 @@ LIVES_KEY_v, (LiVESXModifierType)0, LIVES_ACCEL_VISIBLE); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->showsubs),prefs->show_subtitles); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->showsubs), prefs->show_subtitles); mainw->letter = lives_check_menu_item_new_with_mnemonic(_("Letterbox Mode")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mainw->letter); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->letter),prefs->letterbox); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->letter), prefs->letterbox); effects = lives_menu_item_new_with_mnemonic(_("Effect_s")); lives_container_add(LIVES_CONTAINER(mainw->menubar), effects); - lives_widget_set_tooltip_text(effects,(_("Effects are applied to the current selection."))); + lives_widget_set_tooltip_text(effects, (_("Effects are applied to the current selection."))); // the dynamic effects menu mainw->effects_menu = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(effects), mainw->effects_menu); - mainw->custom_effects_menu=NULL; + mainw->custom_effects_menu = NULL; - mainw->run_test_rfx_submenu=lives_menu_item_new_with_mnemonic(_("_Run Test Rendered Effect/Tool/Generator...")); - mainw->run_test_rfx_menu=NULL; + mainw->run_test_rfx_submenu = lives_menu_item_new_with_mnemonic(_("_Run Test Rendered Effect/Tool/Generator...")); + mainw->run_test_rfx_menu = NULL; - mainw->num_rendered_effects_builtin=mainw->num_rendered_effects_custom=mainw->num_rendered_effects_test=0; + mainw->num_rendered_effects_builtin = mainw->num_rendered_effects_custom = mainw->num_rendered_effects_test = 0; tools = lives_menu_item_new_with_mnemonic(_("_Tools")); lives_container_add(LIVES_CONTAINER(mainw->menubar), tools); - lives_widget_set_tooltip_text(tools,(_("Tools are applied to complete clips."))); + lives_widget_set_tooltip_text(tools, (_("Tools are applied to complete clips."))); mainw->tools_menu = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(tools), mainw->tools_menu); @@ -1109,27 +1085,27 @@ lives_container_add(LIVES_CONTAINER(mainw->tools_menu), mainw->resample_video); lives_widget_set_sensitive(mainw->resample_video, FALSE); - mainw->utilities_menu=NULL; + mainw->utilities_menu = NULL; mainw->utilities_submenu = lives_menu_item_new_with_mnemonic(_("_Utilities")); - mainw->custom_utilities_menu=NULL; + mainw->custom_utilities_menu = NULL; mainw->custom_tools_submenu = lives_menu_item_new_with_mnemonic(_("Custom _Tools")); mainw->custom_tools_separator = lives_menu_item_new(); lives_widget_set_sensitive(mainw->custom_tools_separator, FALSE); - mainw->gens_menu=NULL; + mainw->gens_menu = NULL; mainw->gens_submenu = lives_menu_item_new_with_mnemonic(_("_Generate")); // add RFX plugins - mainw->rte_separator=NULL; - mainw->custom_gens_menu=NULL; - mainw->rendered_fx=NULL; - mainw->custom_tools_menu=NULL; + mainw->rte_separator = NULL; + mainw->custom_gens_menu = NULL; + mainw->rendered_fx = NULL; + mainw->custom_tools_menu = NULL; - if (!mainw->foreign&&capable->smog_version_correct) { - splash_msg(_("Starting GUI..."),SPLASH_LEVEL_START_GUI); + if (!mainw->foreign && capable->smog_version_correct) { + splash_msg(_("Starting GUI..."), SPLASH_LEVEL_START_GUI); } lives_container_add(LIVES_CONTAINER(mainw->tools_menu), mainw->utilities_submenu); @@ -1188,12 +1164,11 @@ } } - mainw->recaudio_submenu = lives_menu_item_new_with_mnemonic(_("Record E_xternal Audio...")); - if ((prefs->audio_player==AUD_PLAYER_JACK&&capable->has_jackd)||(prefs->audio_player==AUD_PLAYER_PULSE&&capable->has_pulse_audio)) + if ((prefs->audio_player == AUD_PLAYER_JACK && capable->has_jackd) || (prefs->audio_player == AUD_PLAYER_PULSE && capable->has_pulse_audio)) lives_container_add(LIVES_CONTAINER(audio_menu), mainw->recaudio_submenu); - submenu_menu=lives_menu_new(); + submenu_menu = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mainw->recaudio_submenu), submenu_menu); mainw->recaudio_clip = lives_menu_item_new_with_mnemonic(_("to New _Clip...")); @@ -1201,7 +1176,7 @@ mainw->recaudio_sel = lives_menu_item_new_with_mnemonic(_("to _Selection")); lives_container_add(LIVES_CONTAINER(submenu_menu), mainw->recaudio_sel); - lives_widget_set_sensitive(mainw->recaudio_sel,FALSE); + lives_widget_set_sensitive(mainw->recaudio_sel, FALSE); lives_menu_add_separator(LIVES_MENU(audio_menu)); @@ -1219,8 +1194,8 @@ mainw->export_submenu = lives_menu_item_new_with_mnemonic(_("_Export Audio...")); lives_container_add(LIVES_CONTAINER(audio_menu), mainw->export_submenu); - export_submenu_menu=lives_menu_new(); - lives_widget_set_sensitive(export_submenu_menu,FALSE); + export_submenu_menu = lives_menu_new(); + lives_widget_set_sensitive(export_submenu_menu, FALSE); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mainw->export_submenu), export_submenu_menu); @@ -1237,8 +1212,8 @@ mainw->trim_submenu = lives_menu_item_new_with_mnemonic(_("_Trim/Pad Audio...")); lives_container_add(LIVES_CONTAINER(audio_menu), mainw->trim_submenu); - trimaudio_submenu_menu=lives_menu_new(); - lives_widget_set_sensitive(trimaudio_submenu_menu,FALSE); + trimaudio_submenu_menu = lives_menu_new(); + lives_widget_set_sensitive(trimaudio_submenu_menu, FALSE); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mainw->trim_submenu), trimaudio_submenu_menu); @@ -1253,10 +1228,10 @@ mainw->delaudio_submenu = lives_menu_item_new_with_mnemonic(_("_Delete Audio...")); lives_container_add(LIVES_CONTAINER(audio_menu), mainw->delaudio_submenu); - delaudio_submenu_menu=lives_menu_new(); + delaudio_submenu_menu = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mainw->delaudio_submenu), delaudio_submenu_menu); - lives_widget_set_sensitive(mainw->delaudio_submenu,FALSE); + lives_widget_set_sensitive(mainw->delaudio_submenu, FALSE); mainw->delsel_audio = lives_menu_item_new_with_mnemonic(_("Delete _Selected Audio")); lives_container_add(LIVES_CONTAINER(delaudio_submenu_menu), mainw->delsel_audio); @@ -1319,7 +1294,7 @@ menuitemsep = lives_menu_item_new_with_label("|"); lives_container_add(LIVES_CONTAINER(mainw->menubar), menuitemsep); - lives_widget_set_sensitive(menuitemsep,FALSE); + lives_widget_set_sensitive(menuitemsep, FALSE); advanced = lives_menu_item_new_with_mnemonic(_("A_dvanced")); lives_container_add(LIVES_CONTAINER(mainw->menubar), advanced); @@ -1330,68 +1305,67 @@ rfx_submenu = lives_menu_item_new_with_mnemonic(_("_RFX Effects/Tools/Utilities")); lives_container_add(LIVES_CONTAINER(advanced_menu), rfx_submenu); - rfx_menu=lives_menu_new(); + rfx_menu = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(rfx_submenu), rfx_menu); - new_test_rfx=lives_menu_item_new_with_mnemonic(_("_New Test RFX Script...")); + new_test_rfx = lives_menu_item_new_with_mnemonic(_("_New Test RFX Script...")); lives_container_add(LIVES_CONTAINER(rfx_menu), new_test_rfx); - copy_rfx=lives_menu_item_new_with_mnemonic(_("_Copy RFX Script to Test...")); + copy_rfx = lives_menu_item_new_with_mnemonic(_("_Copy RFX Script to Test...")); lives_container_add(LIVES_CONTAINER(rfx_menu), copy_rfx); - mainw->edit_test_rfx=lives_menu_item_new_with_mnemonic(_("_Edit Test RFX Script...")); + mainw->edit_test_rfx = lives_menu_item_new_with_mnemonic(_("_Edit Test RFX Script...")); lives_container_add(LIVES_CONTAINER(rfx_menu), mainw->edit_test_rfx); - mainw->rename_test_rfx=lives_menu_item_new_with_mnemonic(_("Rena_me Test RFX Script...")); + mainw->rename_test_rfx = lives_menu_item_new_with_mnemonic(_("Rena_me Test RFX Script...")); lives_container_add(LIVES_CONTAINER(rfx_menu), mainw->rename_test_rfx); - mainw->delete_test_rfx=lives_menu_item_new_with_mnemonic(_("_Delete Test RFX Script...")); + mainw->delete_test_rfx = lives_menu_item_new_with_mnemonic(_("_Delete Test RFX Script...")); lives_container_add(LIVES_CONTAINER(rfx_menu), mainw->delete_test_rfx); lives_menu_add_separator(LIVES_MENU(rfx_menu)); lives_container_add(LIVES_CONTAINER(rfx_menu), mainw->run_test_rfx_submenu); - mainw->promote_test_rfx=lives_menu_item_new_with_mnemonic(_("_Promote Test Rendered Effect/Tool/Generator...")); + mainw->promote_test_rfx = lives_menu_item_new_with_mnemonic(_("_Promote Test Rendered Effect/Tool/Generator...")); lives_container_add(LIVES_CONTAINER(rfx_menu), mainw->promote_test_rfx); lives_menu_add_separator(LIVES_MENU(rfx_menu)); - import_custom_rfx=lives_menu_item_new_with_mnemonic(_("_Import Custom RFX script...")); + import_custom_rfx = lives_menu_item_new_with_mnemonic(_("_Import Custom RFX script...")); lives_container_add(LIVES_CONTAINER(rfx_menu), import_custom_rfx); - mainw->export_custom_rfx=lives_menu_item_new_with_mnemonic(_("E_xport Custom RFX script...")); + mainw->export_custom_rfx = lives_menu_item_new_with_mnemonic(_("E_xport Custom RFX script...")); lives_container_add(LIVES_CONTAINER(rfx_menu), mainw->export_custom_rfx); - mainw->delete_custom_rfx=lives_menu_item_new_with_mnemonic(_("De_lete Custom RFX Script...")); + mainw->delete_custom_rfx = lives_menu_item_new_with_mnemonic(_("De_lete Custom RFX Script...")); lives_container_add(LIVES_CONTAINER(rfx_menu), mainw->delete_custom_rfx); lives_menu_add_separator(LIVES_MENU(rfx_menu)); - rebuild_rfx=lives_menu_item_new_with_mnemonic(_("Re_build all RFX plugins")); + rebuild_rfx = lives_menu_item_new_with_mnemonic(_("Re_build all RFX plugins")); lives_container_add(LIVES_CONTAINER(rfx_menu), rebuild_rfx); - - if (mainw->num_rendered_effects_custom>0) { - lives_widget_set_sensitive(mainw->delete_custom_rfx,TRUE); - lives_widget_set_sensitive(mainw->export_custom_rfx,TRUE); + if (mainw->num_rendered_effects_custom > 0) { + lives_widget_set_sensitive(mainw->delete_custom_rfx, TRUE); + lives_widget_set_sensitive(mainw->export_custom_rfx, TRUE); } else { - lives_widget_set_sensitive(mainw->delete_custom_rfx,FALSE); - lives_widget_set_sensitive(mainw->export_custom_rfx,FALSE); + lives_widget_set_sensitive(mainw->delete_custom_rfx, FALSE); + lives_widget_set_sensitive(mainw->export_custom_rfx, FALSE); } - if (mainw->num_rendered_effects_test>0) { - if (mainw->run_test_rfx_menu!=NULL) lives_widget_set_sensitive(mainw->run_test_rfx_menu,TRUE); - lives_widget_set_sensitive(mainw->promote_test_rfx,TRUE); - lives_widget_set_sensitive(mainw->delete_test_rfx,TRUE); - lives_widget_set_sensitive(mainw->rename_test_rfx,TRUE); - lives_widget_set_sensitive(mainw->edit_test_rfx,TRUE); + if (mainw->num_rendered_effects_test > 0) { + if (mainw->run_test_rfx_menu != NULL) lives_widget_set_sensitive(mainw->run_test_rfx_menu, TRUE); + lives_widget_set_sensitive(mainw->promote_test_rfx, TRUE); + lives_widget_set_sensitive(mainw->delete_test_rfx, TRUE); + lives_widget_set_sensitive(mainw->rename_test_rfx, TRUE); + lives_widget_set_sensitive(mainw->edit_test_rfx, TRUE); } else { - if (mainw->run_test_rfx_menu!=NULL) lives_widget_set_sensitive(mainw->run_test_rfx_menu,FALSE); - lives_widget_set_sensitive(mainw->promote_test_rfx,FALSE); - lives_widget_set_sensitive(mainw->delete_test_rfx,FALSE); - lives_widget_set_sensitive(mainw->rename_test_rfx,FALSE); - lives_widget_set_sensitive(mainw->edit_test_rfx,FALSE); + if (mainw->run_test_rfx_menu != NULL) lives_widget_set_sensitive(mainw->run_test_rfx_menu, FALSE); + lives_widget_set_sensitive(mainw->promote_test_rfx, FALSE); + lives_widget_set_sensitive(mainw->delete_test_rfx, FALSE); + lives_widget_set_sensitive(mainw->rename_test_rfx, FALSE); + lives_widget_set_sensitive(mainw->edit_test_rfx, FALSE); } mainw->open_lives2lives = lives_menu_item_new_with_mnemonic(_("Receive _LiVES Stream from...")); @@ -1404,7 +1378,7 @@ lives_container_add(LIVES_CONTAINER(advanced_menu), mainw->open_lives2lives); if (capable->smog_version_correct) { - mainw->open_yuv4m = lives_menu_item_new_with_mnemonic((tmp=lives_strdup_printf(_("Open _yuv4mpeg stream on %sstream.yuv..."), + mainw->open_yuv4m = lives_menu_item_new_with_mnemonic((tmp = lives_strdup_printf(_("Open _yuv4mpeg stream on %sstream.yuv..."), prefs->workdir))); lives_free(tmp); #ifdef HAVE_YUV4MPEG @@ -1420,29 +1394,27 @@ #endif } - lives_menu_add_separator(LIVES_MENU(advanced_menu)); - mainw->import_proj = lives_menu_item_new_with_mnemonic((tmp=lives_strdup_printf(_("_Import Project (.%s)..."),LIVES_FILE_EXT_PROJECT))); + mainw->import_proj = lives_menu_item_new_with_mnemonic((tmp = lives_strdup_printf(_("_Import Project (.%s)..."), LIVES_FILE_EXT_PROJECT))); lives_free(tmp); lives_container_add(LIVES_CONTAINER(advanced_menu), mainw->import_proj); - mainw->export_proj = lives_menu_item_new_with_mnemonic((tmp=lives_strdup_printf(_("E_xport Project (.%s)..."),LIVES_FILE_EXT_PROJECT))); + mainw->export_proj = lives_menu_item_new_with_mnemonic((tmp = lives_strdup_printf(_("E_xport Project (.%s)..."), LIVES_FILE_EXT_PROJECT))); lives_container_add(LIVES_CONTAINER(advanced_menu), mainw->export_proj); lives_widget_set_sensitive(mainw->export_proj, FALSE); - lives_menu_add_separator(LIVES_MENU(advanced_menu)); - mainw->import_theme = lives_menu_item_new_with_mnemonic((tmp=lives_strdup_printf(_("_Import Custom Theme (.%s)..."), + mainw->import_theme = lives_menu_item_new_with_mnemonic((tmp = lives_strdup_printf(_("_Import Custom Theme (.%s)..."), LIVES_FILE_EXT_TAR_GZ))); lives_free(tmp); lives_container_add(LIVES_CONTAINER(advanced_menu), mainw->import_theme); - mainw->export_theme = lives_menu_item_new_with_mnemonic((tmp=lives_strdup_printf(_("E_xport Theme (.%s)..."),LIVES_FILE_EXT_TAR_GZ))); + mainw->export_theme = lives_menu_item_new_with_mnemonic((tmp = lives_strdup_printf(_("E_xport Theme (.%s)..."), LIVES_FILE_EXT_TAR_GZ))); lives_free(tmp); lives_container_add(LIVES_CONTAINER(advanced_menu), mainw->export_theme); - lives_widget_set_sensitive(mainw->export_theme,(palette->style&STYLE_1)); + lives_widget_set_sensitive(mainw->export_theme, (palette->style & STYLE_1)); // VJ menu @@ -1457,25 +1429,25 @@ lives_widget_add_accelerator(assign_rte_keys, LIVES_WIDGET_ACTIVATE_SIGNAL, mainw->accel_group, LIVES_KEY_v, LIVES_CONTROL_MASK, LIVES_ACCEL_VISIBLE); - lives_widget_set_tooltip_text(assign_rte_keys,(_("Bind real time effects to ctrl-number keys."))); + lives_widget_set_tooltip_text(assign_rte_keys, (_("Bind real time effects to ctrl-number keys."))); - mainw->rte_defs_menu=lives_menu_item_new_with_mnemonic(_("Set Real Time Effect _Defaults")); + mainw->rte_defs_menu = lives_menu_item_new_with_mnemonic(_("Set Real Time Effect _Defaults")); lives_container_add(LIVES_CONTAINER(vj_menu), mainw->rte_defs_menu); - lives_widget_set_tooltip_text(mainw->rte_defs_menu,(_("Set default parameter values for real time effects."))); + lives_widget_set_tooltip_text(mainw->rte_defs_menu, (_("Set default parameter values for real time effects."))); - mainw->rte_defs=lives_menu_new(); + mainw->rte_defs = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mainw->rte_defs_menu), mainw->rte_defs); - mainw->save_rte_defs=lives_menu_item_new_with_mnemonic(_("Save Real Time Effect _Defaults")); + mainw->save_rte_defs = lives_menu_item_new_with_mnemonic(_("Save Real Time Effect _Defaults")); lives_container_add(LIVES_CONTAINER(vj_menu), mainw->save_rte_defs); - lives_widget_set_tooltip_text(mainw->save_rte_defs,(_("Save real time effect defaults so they will be restored each time you use LiVES."))); - + lives_widget_set_tooltip_text(mainw->save_rte_defs, + (_("Save real time effect defaults so they will be restored each time you use LiVES."))); lives_menu_add_separator(LIVES_MENU(vj_menu)); - mainw->vj_reset=lives_menu_item_new_with_mnemonic(_("_Reset All Playback Speeds and Positions")); + mainw->vj_reset = lives_menu_item_new_with_mnemonic(_("_Reset All Playback Speeds and Positions")); lives_container_add(LIVES_CONTAINER(vj_menu), mainw->vj_reset); - lives_widget_set_tooltip_text(mainw->vj_reset,(_("Reset all playback positions to frame 1, and reset all playback frame rates."))); + lives_widget_set_tooltip_text(mainw->vj_reset, (_("Reset all playback positions to frame 1, and reset all playback frame rates."))); midi_submenu = lives_menu_item_new_with_mnemonic(_("_MIDI/Joystick Interface")); @@ -1483,7 +1455,7 @@ lives_container_add(LIVES_CONTAINER(vj_menu), midi_submenu); #endif - midi_menu=lives_menu_new(); + midi_menu = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(midi_submenu), midi_menu); mainw->midi_learn = lives_menu_item_new_with_mnemonic(_("_MIDI/Joystick Learner...")); @@ -1511,17 +1483,17 @@ mainw->toy_none = lives_check_menu_item_new_with_mnemonic(_("_None")); lives_container_add(LIVES_CONTAINER(toys_menu), mainw->toy_none); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->toy_none),TRUE); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->toy_none), TRUE); lives_menu_add_separator(LIVES_MENU(toys_menu)); mainw->toy_autolives = lives_check_menu_item_new_with_mnemonic(_("_Autolives")); lives_container_add(LIVES_CONTAINER(toys_menu), mainw->toy_autolives); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->toy_autolives),FALSE); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->toy_autolives), FALSE); mainw->toy_random_frames = lives_check_menu_item_new_with_mnemonic(_("_Mad Frames")); lives_container_add(LIVES_CONTAINER(toys_menu), mainw->toy_random_frames); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->toy_random_frames),FALSE); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->toy_random_frames), FALSE); mainw->toy_tv = lives_check_menu_item_new_with_mnemonic(_("_LiVES TV (broadband)")); @@ -1555,96 +1527,93 @@ lives_menu_add_separator(LIVES_MENU(menuitem_menu)); - mainw->troubleshoot=lives_menu_item_new_with_mnemonic(_("_Troubleshoot")); + mainw->troubleshoot = lives_menu_item_new_with_mnemonic(_("_Troubleshoot")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mainw->troubleshoot); about = lives_menu_item_new_with_mnemonic(_("_About")); lives_container_add(LIVES_CONTAINER(menuitem_menu), about); - mainw->btoolbar=lives_toolbar_new(); - lives_toolbar_set_show_arrow(LIVES_TOOLBAR(mainw->btoolbar),TRUE); + mainw->btoolbar = lives_toolbar_new(); + lives_toolbar_set_show_arrow(LIVES_TOOLBAR(mainw->btoolbar), TRUE); lives_toolbar_set_style(LIVES_TOOLBAR(mainw->btoolbar), LIVES_TOOLBAR_ICONS); - lives_toolbar_set_icon_size(LIVES_TOOLBAR(mainw->btoolbar),LIVES_ICON_SIZE_MENU); + lives_toolbar_set_icon_size(LIVES_TOOLBAR(mainw->btoolbar), LIVES_ICON_SIZE_MENU); if (capable->smog_version_correct) { lives_box_pack_start(LIVES_BOX(mainw->menu_hbox), mainw->btoolbar, TRUE, TRUE, 0); - fnamex=lives_build_filename(prefs->prefix_dir,ICON_DIR,"sepwin.png",NULL); - lives_snprintf(buff,PATH_MAX,"%s",fnamex); + fnamex = lives_build_filename(prefs->prefix_dir, ICON_DIR, "sepwin.png", NULL); + lives_snprintf(buff, PATH_MAX, "%s", fnamex); lives_free(fnamex); - tmp_toolbar_icon=lives_image_new_from_file(buff); - if (lives_file_test(buff,LIVES_FILE_TEST_EXISTS)) { - pixbuf=lives_image_get_pixbuf(LIVES_IMAGE(tmp_toolbar_icon)); - lives_pixbuf_saturate_and_pixelate(pixbuf,pixbuf,0.2,FALSE); + tmp_toolbar_icon = lives_image_new_from_file(buff); + if (lives_file_test(buff, LIVES_FILE_TEST_EXISTS)) { + pixbuf = lives_image_get_pixbuf(LIVES_IMAGE(tmp_toolbar_icon)); + lives_pixbuf_saturate_and_pixelate(pixbuf, pixbuf, 0.2, FALSE); } - mainw->m_sepwinbutton=LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon),"")); - lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar),LIVES_TOOL_ITEM(mainw->m_sepwinbutton),0); - lives_widget_set_tooltip_text(mainw->m_sepwinbutton,_("Show the play window (s)")); + mainw->m_sepwinbutton = LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon), "")); + lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar), LIVES_TOOL_ITEM(mainw->m_sepwinbutton), 0); + lives_widget_set_tooltip_text(mainw->m_sepwinbutton, _("Show the play window (s)")); tmp_toolbar_icon = lives_image_new_from_stock(LIVES_STOCK_MEDIA_REWIND, lives_toolbar_get_icon_size(LIVES_TOOLBAR(mainw->btoolbar))); - mainw->m_rewindbutton=LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon),"")); - lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar),LIVES_TOOL_ITEM(mainw->m_rewindbutton),-1); - lives_widget_set_tooltip_text(mainw->m_rewindbutton,_("Rewind to start (w)")); + mainw->m_rewindbutton = LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon), "")); + lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar), LIVES_TOOL_ITEM(mainw->m_rewindbutton), -1); + lives_widget_set_tooltip_text(mainw->m_rewindbutton, _("Rewind to start (w)")); - lives_widget_set_sensitive(mainw->m_rewindbutton,FALSE); + lives_widget_set_sensitive(mainw->m_rewindbutton, FALSE); tmp_toolbar_icon = lives_image_new_from_stock(LIVES_STOCK_MEDIA_PLAY, lives_toolbar_get_icon_size(LIVES_TOOLBAR(mainw->btoolbar))); - mainw->m_playbutton=LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon),"")); - lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar),LIVES_TOOL_ITEM(mainw->m_playbutton),-1); - lives_widget_set_tooltip_text(mainw->m_playbutton,_("Play all (p)")); - lives_widget_set_sensitive(mainw->m_playbutton,FALSE); - + mainw->m_playbutton = LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon), "")); + lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar), LIVES_TOOL_ITEM(mainw->m_playbutton), -1); + lives_widget_set_tooltip_text(mainw->m_playbutton, _("Play all (p)")); + lives_widget_set_sensitive(mainw->m_playbutton, FALSE); tmp_toolbar_icon = lives_image_new_from_stock(LIVES_STOCK_MEDIA_STOP, lives_toolbar_get_icon_size(LIVES_TOOLBAR(mainw->btoolbar))); - mainw->m_stopbutton=LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon),"")); - lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar),LIVES_TOOL_ITEM(mainw->m_stopbutton),-1); - lives_widget_set_tooltip_text(mainw->m_stopbutton,_("Stop playback (q)")); + mainw->m_stopbutton = LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon), "")); + lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar), LIVES_TOOL_ITEM(mainw->m_stopbutton), -1); + lives_widget_set_tooltip_text(mainw->m_stopbutton, _("Stop playback (q)")); - lives_widget_set_sensitive(mainw->m_stopbutton,FALSE); + lives_widget_set_sensitive(mainw->m_stopbutton, FALSE); - fnamex=lives_build_filename(prefs->prefix_dir,ICON_DIR,"playsel.png",NULL); - lives_snprintf(buff,PATH_MAX,"%s",fnamex); + fnamex = lives_build_filename(prefs->prefix_dir, ICON_DIR, "playsel.png", NULL); + lives_snprintf(buff, PATH_MAX, "%s", fnamex); lives_free(fnamex); - tmp_toolbar_icon=lives_image_new_from_file(buff); - - mainw->m_playselbutton=LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon),"")); - lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar),LIVES_TOOL_ITEM(mainw->m_playselbutton),-1); - lives_widget_set_tooltip_text(mainw->m_playselbutton,_("Play selection (y)")); + tmp_toolbar_icon = lives_image_new_from_file(buff); - lives_widget_set_sensitive(mainw->m_playselbutton,FALSE); + mainw->m_playselbutton = LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon), "")); + lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar), LIVES_TOOL_ITEM(mainw->m_playselbutton), -1); + lives_widget_set_tooltip_text(mainw->m_playselbutton, _("Play selection (y)")); + lives_widget_set_sensitive(mainw->m_playselbutton, FALSE); - fnamex=lives_build_filename(prefs->prefix_dir,ICON_DIR,"loop.png",NULL); - lives_snprintf(buff,PATH_MAX,"%s",fnamex); + fnamex = lives_build_filename(prefs->prefix_dir, ICON_DIR, "loop.png", NULL); + lives_snprintf(buff, PATH_MAX, "%s", fnamex); lives_free(fnamex); - tmp_toolbar_icon=lives_image_new_from_file(buff); - if (lives_file_test(buff,LIVES_FILE_TEST_EXISTS)) { - pixbuf=lives_image_get_pixbuf(LIVES_IMAGE(tmp_toolbar_icon)); - lives_pixbuf_saturate_and_pixelate(pixbuf,pixbuf,0.2,FALSE); + tmp_toolbar_icon = lives_image_new_from_file(buff); + if (lives_file_test(buff, LIVES_FILE_TEST_EXISTS)) { + pixbuf = lives_image_get_pixbuf(LIVES_IMAGE(tmp_toolbar_icon)); + lives_pixbuf_saturate_and_pixelate(pixbuf, pixbuf, 0.2, FALSE); } - mainw->m_loopbutton=LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon),"")); - lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar),LIVES_TOOL_ITEM(mainw->m_loopbutton),-1); - lives_widget_set_tooltip_text(mainw->m_loopbutton,_("Switch continuous looping on (o)")); + mainw->m_loopbutton = LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon), "")); + lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar), LIVES_TOOL_ITEM(mainw->m_loopbutton), -1); + lives_widget_set_tooltip_text(mainw->m_loopbutton, _("Switch continuous looping on (o)")); - fnamex=lives_build_filename(prefs->prefix_dir,ICON_DIR,"volume_mute.png",NULL); - lives_snprintf(buff,PATH_MAX,"%s",fnamex); + fnamex = lives_build_filename(prefs->prefix_dir, ICON_DIR, "volume_mute.png", NULL); + lives_snprintf(buff, PATH_MAX, "%s", fnamex); lives_free(fnamex); - tmp_toolbar_icon=lives_image_new_from_file(buff); - if (lives_file_test(buff,LIVES_FILE_TEST_EXISTS)) { - pixbuf=lives_image_get_pixbuf(LIVES_IMAGE(tmp_toolbar_icon)); - lives_pixbuf_saturate_and_pixelate(pixbuf,pixbuf,0.2,FALSE); + tmp_toolbar_icon = lives_image_new_from_file(buff); + if (lives_file_test(buff, LIVES_FILE_TEST_EXISTS)) { + pixbuf = lives_image_get_pixbuf(LIVES_IMAGE(tmp_toolbar_icon)); + lives_pixbuf_saturate_and_pixelate(pixbuf, pixbuf, 0.2, FALSE); } - mainw->m_mutebutton=LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon),"")); - lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar),LIVES_TOOL_ITEM(mainw->m_mutebutton),-1); - lives_widget_set_tooltip_text(mainw->m_mutebutton,_("Mute the audio (z)")); - + mainw->m_mutebutton = LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon), "")); + lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar), LIVES_TOOL_ITEM(mainw->m_mutebutton), -1); + lives_widget_set_tooltip_text(mainw->m_mutebutton, _("Mute the audio (z)")); } else { mainw->m_sepwinbutton = lives_menu_item_new(); mainw->m_rewindbutton = lives_menu_item_new(); @@ -1655,159 +1624,156 @@ mainw->m_mutebutton = lives_menu_item_new(); } - adj=lives_adjustment_new(mainw->volume,0.,1.,0.01,0.1,0.); + adj = lives_adjustment_new(mainw->volume, 0., 1., 0.01, 0.1, 0.); - mainw->volume_scale=lives_volume_button_new(LIVES_ORIENTATION_HORIZONTAL,adj,mainw->volume); + mainw->volume_scale = lives_volume_button_new(LIVES_ORIENTATION_HORIZONTAL, adj, mainw->volume); - mainw->vol_label=NULL; + mainw->vol_label = NULL; if (LIVES_IS_RANGE(mainw->volume_scale)) { if (capable->smog_version_correct) { - mainw->vol_label=LIVES_WIDGET(lives_tool_item_new()); - label=lives_label_new(_("Volume")); - lives_container_add(LIVES_CONTAINER(mainw->vol_label),label); - lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar),LIVES_TOOL_ITEM(mainw->vol_label),-1); + mainw->vol_label = LIVES_WIDGET(lives_tool_item_new()); + label = lives_label_new(_("Volume")); + lives_container_add(LIVES_CONTAINER(mainw->vol_label), label); + lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar), LIVES_TOOL_ITEM(mainw->vol_label), -1); } } else lives_object_unref(adj); - mainw->vol_toolitem=LIVES_WIDGET(lives_tool_item_new()); + mainw->vol_toolitem = LIVES_WIDGET(lives_tool_item_new()); #ifdef GUI_GTK - gtk_tool_item_set_homogeneous(LIVES_TOOL_ITEM(mainw->vol_toolitem),FALSE); - gtk_tool_item_set_expand(LIVES_TOOL_ITEM(mainw->vol_toolitem),TRUE); + gtk_tool_item_set_homogeneous(LIVES_TOOL_ITEM(mainw->vol_toolitem), FALSE); + gtk_tool_item_set_expand(LIVES_TOOL_ITEM(mainw->vol_toolitem), TRUE); #endif - lives_container_add(LIVES_CONTAINER(mainw->vol_toolitem),mainw->volume_scale); + lives_container_add(LIVES_CONTAINER(mainw->vol_toolitem), mainw->volume_scale); if (capable->smog_version_correct) { #ifdef GUI_GTK register int i; - for (i=0; i<4; i++) { + for (i = 0; i < 4; i++) { GtkToolItem *spacer; - spacer=gtk_separator_tool_item_new(); - gtk_separator_tool_item_set_draw(GTK_SEPARATOR_TOOL_ITEM(spacer),FALSE); - gtk_tool_item_set_homogeneous(LIVES_TOOL_ITEM(spacer),FALSE); - gtk_tool_item_set_expand(LIVES_TOOL_ITEM(spacer),TRUE); - lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar),LIVES_TOOL_ITEM(spacer),-1); + spacer = gtk_separator_tool_item_new(); + gtk_separator_tool_item_set_draw(GTK_SEPARATOR_TOOL_ITEM(spacer), FALSE); + gtk_tool_item_set_homogeneous(LIVES_TOOL_ITEM(spacer), FALSE); + gtk_tool_item_set_expand(LIVES_TOOL_ITEM(spacer), TRUE); + lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar), LIVES_TOOL_ITEM(spacer), -1); } #endif - lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar),LIVES_TOOL_ITEM(mainw->vol_toolitem),-1); + lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar), LIVES_TOOL_ITEM(mainw->vol_toolitem), -1); } - lives_widget_set_tooltip_text(mainw->vol_toolitem,_("Audio volume (1.00)")); + lives_widget_set_tooltip_text(mainw->vol_toolitem, _("Audio volume (1.00)")); lives_signal_connect_after(LIVES_GUI_OBJECT(mainw->volume_scale), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(on_volume_slider_value_changed), NULL); - mainw->play_window=NULL; + mainw->play_window = NULL; - mainw->tb_hbox=lives_hbox_new(FALSE, 0); + mainw->tb_hbox = lives_hbox_new(FALSE, 0); mainw->toolbar = lives_toolbar_new(); - lives_toolbar_set_show_arrow(LIVES_TOOLBAR(mainw->toolbar),FALSE); + lives_toolbar_set_show_arrow(LIVES_TOOLBAR(mainw->toolbar), FALSE); lives_box_pack_start(LIVES_BOX(mainw->vbox1), mainw->tb_hbox, FALSE, FALSE, 0); lives_box_pack_start(LIVES_BOX(mainw->tb_hbox), mainw->toolbar, TRUE, TRUE, 0); lives_toolbar_set_style(LIVES_TOOLBAR(mainw->toolbar), LIVES_TOOLBAR_ICONS); - lives_toolbar_set_icon_size(LIVES_TOOLBAR(mainw->toolbar),LIVES_ICON_SIZE_SMALL_TOOLBAR); + lives_toolbar_set_icon_size(LIVES_TOOLBAR(mainw->toolbar), LIVES_ICON_SIZE_SMALL_TOOLBAR); tmp_toolbar_icon = lives_image_new_from_stock(LIVES_STOCK_MEDIA_STOP, lives_toolbar_get_icon_size(LIVES_TOOLBAR(mainw->toolbar))); - mainw->t_stopbutton=LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon),"")); - lives_toolbar_insert(LIVES_TOOLBAR(mainw->toolbar),LIVES_TOOL_ITEM(mainw->t_stopbutton),0); - lives_widget_set_tooltip_text(mainw->t_stopbutton,_("Stop playback (q)")); + mainw->t_stopbutton = LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon), "")); + lives_toolbar_insert(LIVES_TOOLBAR(mainw->toolbar), LIVES_TOOL_ITEM(mainw->t_stopbutton), 0); + lives_widget_set_tooltip_text(mainw->t_stopbutton, _("Stop playback (q)")); tmp_toolbar_icon = lives_image_new_from_stock(LIVES_STOCK_UNDO, lives_toolbar_get_icon_size(LIVES_TOOLBAR(mainw->toolbar))); - mainw->t_bckground=LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon),"")); - lives_toolbar_insert(LIVES_TOOLBAR(mainw->toolbar),LIVES_TOOL_ITEM(mainw->t_bckground),1); - lives_widget_set_tooltip_text(mainw->t_bckground,_("Unblank background (b)")); + mainw->t_bckground = LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon), "")); + lives_toolbar_insert(LIVES_TOOLBAR(mainw->toolbar), LIVES_TOOL_ITEM(mainw->t_bckground), 1); + lives_widget_set_tooltip_text(mainw->t_bckground, _("Unblank background (b)")); - fnamex=lives_build_filename(prefs->prefix_dir,ICON_DIR,"sepwin.png",NULL); - lives_snprintf(buff,PATH_MAX,"%s",fnamex); + fnamex = lives_build_filename(prefs->prefix_dir, ICON_DIR, "sepwin.png", NULL); + lives_snprintf(buff, PATH_MAX, "%s", fnamex); lives_free(fnamex); - tmp_toolbar_icon=lives_image_new_from_file(buff); - if (lives_file_test(buff,LIVES_FILE_TEST_EXISTS)&&!mainw->sep_win) { - pixbuf=lives_image_get_pixbuf(LIVES_IMAGE(tmp_toolbar_icon)); - lives_pixbuf_saturate_and_pixelate(pixbuf,pixbuf,0.2,FALSE); + tmp_toolbar_icon = lives_image_new_from_file(buff); + if (lives_file_test(buff, LIVES_FILE_TEST_EXISTS) && !mainw->sep_win) { + pixbuf = lives_image_get_pixbuf(LIVES_IMAGE(tmp_toolbar_icon)); + lives_pixbuf_saturate_and_pixelate(pixbuf, pixbuf, 0.2, FALSE); } - mainw->t_sepwin=LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon),"")); - lives_toolbar_insert(LIVES_TOOLBAR(mainw->toolbar),LIVES_TOOL_ITEM(mainw->t_sepwin),2); - lives_widget_set_tooltip_text(mainw->t_sepwin,_("Play in separate window (s)")); + mainw->t_sepwin = LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon), "")); + lives_toolbar_insert(LIVES_TOOLBAR(mainw->toolbar), LIVES_TOOL_ITEM(mainw->t_sepwin), 2); + lives_widget_set_tooltip_text(mainw->t_sepwin, _("Play in separate window (s)")); - fnamex=lives_build_filename(prefs->prefix_dir,ICON_DIR,"zoom-in.png",NULL); - lives_snprintf(buff,PATH_MAX,"%s",fnamex); + fnamex = lives_build_filename(prefs->prefix_dir, ICON_DIR, "zoom-in.png", NULL); + lives_snprintf(buff, PATH_MAX, "%s", fnamex); lives_free(fnamex); - tmp_toolbar_icon=lives_image_new_from_file(buff); - if (lives_file_test(buff,LIVES_FILE_TEST_EXISTS)&&!mainw->double_size) { - pixbuf=lives_image_get_pixbuf(LIVES_IMAGE(tmp_toolbar_icon)); - lives_pixbuf_saturate_and_pixelate(pixbuf,pixbuf,0.2,FALSE); + tmp_toolbar_icon = lives_image_new_from_file(buff); + if (lives_file_test(buff, LIVES_FILE_TEST_EXISTS) && !mainw->double_size) { + pixbuf = lives_image_get_pixbuf(LIVES_IMAGE(tmp_toolbar_icon)); + lives_pixbuf_saturate_and_pixelate(pixbuf, pixbuf, 0.2, FALSE); } - mainw->t_double=LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon),"")); - lives_widget_set_tooltip_text(mainw->t_double,_("Double size (d)")); + mainw->t_double = LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon), "")); + lives_widget_set_tooltip_text(mainw->t_double, _("Double size (d)")); - lives_toolbar_insert(LIVES_TOOLBAR(mainw->toolbar),LIVES_TOOL_ITEM(mainw->t_double),3); + lives_toolbar_insert(LIVES_TOOLBAR(mainw->toolbar), LIVES_TOOL_ITEM(mainw->t_double), 3); - fnamex=lives_build_filename(prefs->prefix_dir,ICON_DIR,"fullscreen.png",NULL); - lives_snprintf(buff,PATH_MAX,"%s",fnamex); + fnamex = lives_build_filename(prefs->prefix_dir, ICON_DIR, "fullscreen.png", NULL); + lives_snprintf(buff, PATH_MAX, "%s", fnamex); lives_free(fnamex); - tmp_toolbar_icon=lives_image_new_from_file(buff); - if (lives_file_test(buff,LIVES_FILE_TEST_EXISTS)) { - pixbuf=lives_image_get_pixbuf(LIVES_IMAGE(tmp_toolbar_icon)); - lives_pixbuf_saturate_and_pixelate(pixbuf,pixbuf,0.2,FALSE); + tmp_toolbar_icon = lives_image_new_from_file(buff); + if (lives_file_test(buff, LIVES_FILE_TEST_EXISTS)) { + pixbuf = lives_image_get_pixbuf(LIVES_IMAGE(tmp_toolbar_icon)); + lives_pixbuf_saturate_and_pixelate(pixbuf, pixbuf, 0.2, FALSE); } - mainw->t_fullscreen=LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon),"")); - lives_toolbar_insert(LIVES_TOOLBAR(mainw->toolbar),LIVES_TOOL_ITEM(mainw->t_fullscreen),4); - lives_widget_set_tooltip_text(mainw->t_fullscreen,_("Fullscreen playback (f)")); + mainw->t_fullscreen = LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon), "")); + lives_toolbar_insert(LIVES_TOOLBAR(mainw->toolbar), LIVES_TOOL_ITEM(mainw->t_fullscreen), 4); + lives_widget_set_tooltip_text(mainw->t_fullscreen, _("Fullscreen playback (f)")); tmp_toolbar_icon = lives_image_new_from_stock(LIVES_STOCK_REMOVE, lives_toolbar_get_icon_size(LIVES_TOOLBAR(mainw->toolbar))); - - mainw->t_slower=LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon),"")); - lives_toolbar_insert(LIVES_TOOLBAR(mainw->toolbar),LIVES_TOOL_ITEM(mainw->t_slower),5); - lives_widget_set_tooltip_text(mainw->t_slower,_("Play slower (ctrl-down)")); + mainw->t_slower = LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon), "")); + lives_toolbar_insert(LIVES_TOOLBAR(mainw->toolbar), LIVES_TOOL_ITEM(mainw->t_slower), 5); + lives_widget_set_tooltip_text(mainw->t_slower, _("Play slower (ctrl-down)")); tmp_toolbar_icon = lives_image_new_from_stock(LIVES_STOCK_ADD, lives_toolbar_get_icon_size(LIVES_TOOLBAR(mainw->toolbar))); - mainw->t_faster=LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon),"")); - lives_toolbar_insert(LIVES_TOOLBAR(mainw->toolbar),LIVES_TOOL_ITEM(mainw->t_faster),6); - lives_widget_set_tooltip_text(mainw->t_faster,_("Play faster (ctrl-up)")); - + mainw->t_faster = LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon), "")); + lives_toolbar_insert(LIVES_TOOLBAR(mainw->toolbar), LIVES_TOOL_ITEM(mainw->t_faster), 6); + lives_widget_set_tooltip_text(mainw->t_faster, _("Play faster (ctrl-up)")); tmp_toolbar_icon = lives_image_new_from_stock(LIVES_STOCK_GO_BACK, lives_toolbar_get_icon_size(LIVES_TOOLBAR(mainw->toolbar))); - mainw->t_back=LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon),"")); - lives_toolbar_insert(LIVES_TOOLBAR(mainw->toolbar),LIVES_TOOL_ITEM(mainw->t_back),7); - lives_widget_set_tooltip_text(mainw->t_back,_("Skip back (ctrl-left)")); + mainw->t_back = LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon), "")); + lives_toolbar_insert(LIVES_TOOLBAR(mainw->toolbar), LIVES_TOOL_ITEM(mainw->t_back), 7); + lives_widget_set_tooltip_text(mainw->t_back, _("Skip back (ctrl-left)")); tmp_toolbar_icon = lives_image_new_from_stock(LIVES_STOCK_GO_FORWARD, lives_toolbar_get_icon_size(LIVES_TOOLBAR(mainw->toolbar))); - mainw->t_forward=LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon),"")); - lives_toolbar_insert(LIVES_TOOLBAR(mainw->toolbar),LIVES_TOOL_ITEM(mainw->t_forward),8); - lives_widget_set_tooltip_text(mainw->t_forward,_("Skip forward (ctrl-right)")); + mainw->t_forward = LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon), "")); + lives_toolbar_insert(LIVES_TOOLBAR(mainw->toolbar), LIVES_TOOL_ITEM(mainw->t_forward), 8); + lives_widget_set_tooltip_text(mainw->t_forward, _("Skip forward (ctrl-right)")); tmp_toolbar_icon = lives_image_new_from_stock(LIVES_STOCK_DIALOG_INFO, lives_toolbar_get_icon_size(LIVES_TOOLBAR(mainw->toolbar))); - mainw->t_infobutton=LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon),"")); - lives_toolbar_insert(LIVES_TOOLBAR(mainw->toolbar),LIVES_TOOL_ITEM(mainw->t_infobutton),9); - lives_widget_set_tooltip_text(mainw->t_infobutton,_("Show clip info (i)")); + mainw->t_infobutton = LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon), "")); + lives_toolbar_insert(LIVES_TOOLBAR(mainw->toolbar), LIVES_TOOL_ITEM(mainw->t_infobutton), 9); + lives_widget_set_tooltip_text(mainw->t_infobutton, _("Show clip info (i)")); tmp_toolbar_icon = lives_image_new_from_stock(LIVES_STOCK_CLOSE, lives_toolbar_get_icon_size(LIVES_TOOLBAR(mainw->toolbar))); - mainw->t_hide=LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon),"")); - lives_toolbar_insert(LIVES_TOOLBAR(mainw->toolbar),LIVES_TOOL_ITEM(mainw->t_hide),10); - lives_widget_set_tooltip_text(mainw->t_hide,_("Hide this toolbar")); + mainw->t_hide = LIVES_WIDGET(lives_tool_button_new(LIVES_WIDGET(tmp_toolbar_icon), "")); + lives_toolbar_insert(LIVES_TOOLBAR(mainw->toolbar), LIVES_TOOL_ITEM(mainw->t_hide), 10); + lives_widget_set_tooltip_text(mainw->t_hide, _("Hide this toolbar")); - t_label=lives_label_new(_("Press \"s\" to toggle separate play window for improved performance, \"q\" to stop.")); + t_label = lives_label_new(_("Press \"s\" to toggle separate play window for improved performance, \"q\" to stop.")); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_fg_color(t_label, LIVES_WIDGET_STATE_NORMAL, &palette->banner_fade_text); } lives_box_pack_start(LIVES_BOX(mainw->tb_hbox), t_label, FALSE, FALSE, 0); - vbox4 = lives_vbox_new(FALSE, 0); /* @@ -1828,27 +1794,27 @@ mainw->framebar = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox4), mainw->framebar, FALSE, FALSE, 0); - lives_container_set_border_width(LIVES_CONTAINER(mainw->framebar), 2*widget_opts.scale); + lives_container_set_border_width(LIVES_CONTAINER(mainw->framebar), 2 * widget_opts.scale); /* TRANSLATORS: please keep the translated string the same length */ mainw->vps_label = lives_standard_label_new(_(" Video playback speed (frames per second) ")); - tmp=lives_strdup(lives_label_get_text(LIVES_LABEL(mainw->vps_label))); - if (strlen(tmp)>55) memset(tmp+55,0,1); - lives_label_set_text(LIVES_LABEL(mainw->vps_label),tmp); + tmp = lives_strdup(lives_label_get_text(LIVES_LABEL(mainw->vps_label))); + if (strlen(tmp) > 55) memset(tmp + 55, 0, 1); + lives_label_set_text(LIVES_LABEL(mainw->vps_label), tmp); lives_free(tmp); lives_box_pack_start(LIVES_BOX(mainw->framebar), mainw->vps_label, FALSE, FALSE, 0); - mainw->spinbutton_pb_fps = lives_standard_spin_button_new(NULL,FALSE,1, -FPS_MAX, FPS_MAX, 0.1, 0.01, 3, - LIVES_BOX(mainw->framebar),_("Vary the video speed")); + mainw->spinbutton_pb_fps = lives_standard_spin_button_new(NULL, FALSE, 1, -FPS_MAX, FPS_MAX, 0.1, 0.01, 3, + LIVES_BOX(mainw->framebar), _("Vary the video speed")); - widget_opts.justify=LIVES_JUSTIFY_CENTER; - if (palette->style==STYLE_PLAIN) { + widget_opts.justify = LIVES_JUSTIFY_CENTER; + if (palette->style == STYLE_PLAIN) { mainw->banner = lives_label_new(" = < L i V E S > = "); } else { mainw->banner = lives_label_new(" "); } - widget_opts.justify=widget_opts.default_justify; + widget_opts.justify = widget_opts.default_justify; lives_box_pack_start(LIVES_BOX(mainw->framebar), mainw->banner, TRUE, TRUE, 0); @@ -1867,32 +1833,32 @@ hbox1 = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox4), hbox1, FALSE, FALSE, 0); - lives_widget_set_vexpand(hbox1,FALSE); + lives_widget_set_vexpand(hbox1, FALSE); mainw->eventbox3 = lives_event_box_new(); lives_box_pack_start(LIVES_BOX(hbox1), mainw->eventbox3, TRUE, FALSE, 0); - mainw->frame1 = lives_standard_frame_new(_("First Frame"),0.1,TRUE); + mainw->frame1 = lives_standard_frame_new(_("First Frame"), 0.1, TRUE); lives_container_add(LIVES_CONTAINER(mainw->eventbox3), mainw->frame1); - lives_widget_set_vexpand(mainw->frame1,FALSE); - lives_widget_set_hexpand(mainw->frame1,FALSE); + lives_widget_set_vexpand(mainw->frame1, FALSE); + lives_widget_set_hexpand(mainw->frame1, FALSE); - mainw->freventbox0=lives_event_box_new(); + mainw->freventbox0 = lives_event_box_new(); - lives_widget_set_vexpand(mainw->freventbox0,FALSE); - lives_widget_set_hexpand(mainw->freventbox0,FALSE); + lives_widget_set_vexpand(mainw->freventbox0, FALSE); + lives_widget_set_hexpand(mainw->freventbox0, FALSE); lives_container_add(LIVES_CONTAINER(mainw->frame1), mainw->freventbox0); - lives_widget_set_app_paintable(mainw->freventbox0,TRUE); + lives_widget_set_app_paintable(mainw->freventbox0, TRUE); lives_container_add(LIVES_CONTAINER(mainw->freventbox0), mainw->start_image); - lives_widget_set_vexpand(mainw->start_image,FALSE); - lives_widget_set_hexpand(mainw->start_image,FALSE); + lives_widget_set_vexpand(mainw->start_image, FALSE); + lives_widget_set_hexpand(mainw->start_image, FALSE); - mainw->playframe = lives_standard_frame_new(_("Play"),0.5,TRUE); + mainw->playframe = lives_standard_frame_new(_("Play"), 0.5, TRUE); lives_box_pack_start(LIVES_BOX(hbox1), mainw->playframe, TRUE, FALSE, 0); lives_widget_set_size_request(mainw->playframe, DEFAULT_FRAME_HSIZE, DEFAULT_FRAME_VSIZE); @@ -1901,47 +1867,47 @@ lives_container_add(LIVES_CONTAINER(mainw->playframe), mainw->pl_eventbox); - mainw->playarea = lives_hbox_new(FALSE,0); + mainw->playarea = lives_hbox_new(FALSE, 0); lives_container_add(LIVES_CONTAINER(mainw->pl_eventbox), mainw->playarea); - lives_widget_set_app_paintable(mainw->pl_eventbox,TRUE); + lives_widget_set_app_paintable(mainw->pl_eventbox, TRUE); mainw->eventbox4 = lives_event_box_new(); lives_box_pack_start(LIVES_BOX(hbox1), mainw->eventbox4, TRUE, FALSE, 0); - lives_widget_set_vexpand(mainw->eventbox4,FALSE); - lives_widget_set_hexpand(mainw->eventbox4,FALSE); + lives_widget_set_vexpand(mainw->eventbox4, FALSE); + lives_widget_set_hexpand(mainw->eventbox4, FALSE); - mainw->frame2 = lives_standard_frame_new(_("Last Frame"),0.9,TRUE); + mainw->frame2 = lives_standard_frame_new(_("Last Frame"), 0.9, TRUE); lives_container_add(LIVES_CONTAINER(mainw->eventbox4), mainw->frame2); - lives_widget_set_vexpand(mainw->frame2,FALSE); - lives_widget_set_hexpand(mainw->frame2,FALSE); + lives_widget_set_vexpand(mainw->frame2, FALSE); + lives_widget_set_hexpand(mainw->frame2, FALSE); - mainw->freventbox1=lives_event_box_new(); + mainw->freventbox1 = lives_event_box_new(); - lives_widget_set_vexpand(mainw->freventbox1,FALSE); - lives_widget_set_hexpand(mainw->freventbox1,FALSE); - lives_widget_set_app_paintable(mainw->freventbox1,TRUE); + lives_widget_set_vexpand(mainw->freventbox1, FALSE); + lives_widget_set_hexpand(mainw->freventbox1, FALSE); + lives_widget_set_app_paintable(mainw->freventbox1, TRUE); lives_container_add(LIVES_CONTAINER(mainw->frame2), mainw->freventbox1); lives_container_add(LIVES_CONTAINER(mainw->freventbox1), mainw->end_image); - lives_widget_set_vexpand(mainw->end_image,FALSE); - lives_widget_set_hexpand(mainw->end_image,FALSE); + lives_widget_set_vexpand(mainw->end_image, FALSE); + lives_widget_set_hexpand(mainw->end_image, FALSE); // default frame sizes - mainw->def_width=DEFAULT_FRAME_HSIZE; - mainw->def_height=DEFAULT_FRAME_HSIZE; + mainw->def_width = DEFAULT_FRAME_HSIZE; + mainw->def_height = DEFAULT_FRAME_HSIZE; - if (!(mainw->imframe==NULL)) { - if (lives_pixbuf_get_width(mainw->imframe)+H_RESIZE_ADJUST<mainw->def_width) { - mainw->def_width=lives_pixbuf_get_width(mainw->imframe)+H_RESIZE_ADJUST; + if (!(mainw->imframe == NULL)) { + if (lives_pixbuf_get_width(mainw->imframe) + H_RESIZE_ADJUST < mainw->def_width) { + mainw->def_width = lives_pixbuf_get_width(mainw->imframe) + H_RESIZE_ADJUST; } - if (lives_pixbuf_get_height(mainw->imframe)+V_RESIZE_ADJUST*mainw->foreign<mainw->def_height) { - mainw->def_height=lives_pixbuf_get_height(mainw->imframe)+V_RESIZE_ADJUST*mainw->foreign; + if (lives_pixbuf_get_height(mainw->imframe) + V_RESIZE_ADJUST * mainw->foreign < mainw->def_height) { + mainw->def_height = lives_pixbuf_get_height(mainw->imframe) + V_RESIZE_ADJUST * mainw->foreign; } } @@ -1951,29 +1917,29 @@ lives_widget_show(mainw->play_image); // needed to get size lives_object_ref(mainw->play_image); - lives_widget_set_hexpand(mainw->play_image,TRUE); - lives_widget_set_vexpand(mainw->play_image,TRUE); + lives_widget_set_hexpand(mainw->play_image, TRUE); + lives_widget_set_vexpand(mainw->play_image, TRUE); lives_object_ref_sink(mainw->play_image); hbox3 = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox4), hbox3, FALSE, TRUE, 0); - dpw=widget_opts.packing_width; - woat=widget_opts.apply_theme; - widget_opts.expand=LIVES_EXPAND_EXTRA; - widget_opts.apply_theme=FALSE; - widget_opts.packing_width=MAIN_SPIN_SPACER; - mainw->spinbutton_start = lives_standard_spin_button_new(NULL,FALSE,0., 0., 0., 1., 100.,0, - LIVES_BOX(hbox3),_("The first selected frame in this clip")); - widget_opts.expand=LIVES_EXPAND_DEFAULT; - widget_opts.packing_width=dpw; - widget_opts.apply_theme=woat; + dpw = widget_opts.packing_width; + woat = widget_opts.apply_theme; + widget_opts.expand = LIVES_EXPAND_EXTRA; + widget_opts.apply_theme = FALSE; + widget_opts.packing_width = MAIN_SPIN_SPACER; + mainw->spinbutton_start = lives_standard_spin_button_new(NULL, FALSE, 0., 0., 0., 1., 100., 0, + LIVES_BOX(hbox3), _("The first selected frame in this clip")); + widget_opts.expand = LIVES_EXPAND_DEFAULT; + widget_opts.packing_width = dpw; + widget_opts.apply_theme = woat; mainw->arrow1 = lives_arrow_new(LIVES_ARROW_LEFT, LIVES_SHADOW_OUT); lives_box_pack_start(LIVES_BOX(hbox3), mainw->arrow1, FALSE, FALSE, 0); - lives_entry_set_width_chars(LIVES_ENTRY(mainw->spinbutton_start),SPBWIDTHCHARS); + lives_entry_set_width_chars(LIVES_ENTRY(mainw->spinbutton_start), SPBWIDTHCHARS); mainw->sel_label = lives_standard_label_new(NULL); set_sel_label(mainw->sel_label); @@ -1983,27 +1949,25 @@ mainw->arrow2 = lives_arrow_new(LIVES_ARROW_RIGHT, LIVES_SHADOW_OUT); lives_box_pack_start(LIVES_BOX(hbox3), mainw->arrow2, FALSE, FALSE, 0); - widget_opts.expand=LIVES_EXPAND_EXTRA; - widget_opts.packing_width=MAIN_SPIN_SPACER; - widget_opts.apply_theme=FALSE; - mainw->spinbutton_end = lives_standard_spin_button_new(NULL,FALSE,0., 0., 0., 1., 100.,0, - LIVES_BOX(hbox3),_("The last selected frame in this clip")); - widget_opts.expand=LIVES_EXPAND_DEFAULT; - widget_opts.packing_width=dpw; - widget_opts.apply_theme=woat; + widget_opts.expand = LIVES_EXPAND_EXTRA; + widget_opts.packing_width = MAIN_SPIN_SPACER; + widget_opts.apply_theme = FALSE; + mainw->spinbutton_end = lives_standard_spin_button_new(NULL, FALSE, 0., 0., 0., 1., 100., 0, + LIVES_BOX(hbox3), _("The last selected frame in this clip")); + widget_opts.expand = LIVES_EXPAND_DEFAULT; + widget_opts.packing_width = dpw; + widget_opts.apply_theme = woat; - lives_entry_set_width_chars(LIVES_ENTRY(mainw->spinbutton_end),SPBWIDTHCHARS); + lives_entry_set_width_chars(LIVES_ENTRY(mainw->spinbutton_end), SPBWIDTHCHARS); - lives_widget_set_sensitive(mainw->spinbutton_start,FALSE); - lives_widget_set_sensitive(mainw->spinbutton_end,FALSE); + lives_widget_set_sensitive(mainw->spinbutton_start, FALSE); + lives_widget_set_sensitive(mainw->spinbutton_end, FALSE); mainw->hseparator = lives_hseparator_new(); - if (palette->style&STYLE_1) { - lives_box_pack_start(LIVES_BOX(vbox4), mainw->sep_image, FALSE, TRUE, widget_opts.packing_height*2); - } - - else { + if (palette->style & STYLE_1) { + lives_box_pack_start(LIVES_BOX(vbox4), mainw->sep_image, FALSE, TRUE, widget_opts.packing_height * 2); + } else { lives_box_pack_start(LIVES_BOX(vbox4), mainw->hseparator, TRUE, TRUE, 0); } @@ -2011,7 +1975,7 @@ lives_box_pack_start(LIVES_BOX(vbox4), mainw->eventbox5, FALSE, FALSE, 0); #ifdef ENABLE_GIW_3 - mainw->hruler=giw_timeline_new(LIVES_ORIENTATION_HORIZONTAL); + mainw->hruler = giw_timeline_new(LIVES_ORIENTATION_HORIZONTAL); // need to set this even if theme is none lives_widget_set_bg_color(mainw->hruler, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); lives_widget_set_fg_color(mainw->hruler, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); @@ -2030,7 +1994,7 @@ lives_box_pack_start(LIVES_BOX(vbox4), mainw->eventbox2, TRUE, TRUE, 0); lives_widget_add_events(mainw->eventbox2, LIVES_BUTTON1_MOTION_MASK | LIVES_BUTTON_RELEASE_MASK | LIVES_BUTTON_PRESS_MASK); - lives_widget_set_vexpand(mainw->eventbox2,TRUE); + lives_widget_set_vexpand(mainw->eventbox2, TRUE); vbox2 = lives_vbox_new(FALSE, 0); lives_container_add(LIVES_CONTAINER(mainw->eventbox2), vbox2); @@ -2044,8 +2008,8 @@ lives_widget_set_bg_color(mainw->video_draw, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); lives_widget_set_fg_color(mainw->video_draw, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); - lives_widget_set_app_paintable(mainw->video_draw,TRUE); - lives_widget_set_size_request(mainw->video_draw,lives_widget_get_allocation_width(mainw->LiVES),CE_VIDBAR_HEIGHT); + lives_widget_set_app_paintable(mainw->video_draw, TRUE); + lives_widget_set_size_request(mainw->video_draw, lives_widget_get_allocation_width(mainw->LiVES), CE_VIDBAR_HEIGHT); lives_box_pack_start(LIVES_BOX(vbox2), mainw->video_draw, TRUE, TRUE, 0); mainw->laudbar = lives_standard_label_new(_("Left Audio")); @@ -2053,13 +2017,13 @@ lives_box_pack_start(LIVES_BOX(vbox2), mainw->laudbar, TRUE, TRUE, 0); mainw->laudio_draw = lives_drawing_area_new(); - lives_widget_set_app_paintable(mainw->laudio_draw,TRUE); + lives_widget_set_app_paintable(mainw->laudio_draw, TRUE); // need to set this even if theme is none lives_widget_set_bg_color(mainw->laudio_draw, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); lives_widget_set_fg_color(mainw->laudio_draw, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); - lives_widget_set_size_request(mainw->laudio_draw,lives_widget_get_allocation_width(mainw->LiVES),CE_VIDBAR_HEIGHT); + lives_widget_set_size_request(mainw->laudio_draw, lives_widget_get_allocation_width(mainw->LiVES), CE_VIDBAR_HEIGHT); lives_box_pack_start(LIVES_BOX(vbox2), mainw->laudio_draw, TRUE, TRUE, 0); mainw->raudbar = lives_standard_label_new(_("Right Audio")); @@ -2067,118 +2031,118 @@ lives_box_pack_start(LIVES_BOX(vbox2), mainw->raudbar, TRUE, TRUE, 0); mainw->raudio_draw = lives_drawing_area_new(); - lives_widget_set_app_paintable(mainw->raudio_draw,TRUE); + lives_widget_set_app_paintable(mainw->raudio_draw, TRUE); // need to set this even if theme is none lives_widget_set_bg_color(mainw->raudio_draw, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); lives_widget_set_fg_color(mainw->raudio_draw, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); - lives_widget_set_size_request(mainw->raudio_draw,lives_widget_get_allocation_width(mainw->LiVES),CE_VIDBAR_HEIGHT); + lives_widget_set_size_request(mainw->raudio_draw, lives_widget_get_allocation_width(mainw->LiVES), CE_VIDBAR_HEIGHT); lives_box_pack_start(LIVES_BOX(vbox2), mainw->raudio_draw, TRUE, TRUE, 0); - eventbox=lives_event_box_new(); - lives_widget_set_vexpand(eventbox,TRUE); + eventbox = lives_event_box_new(); + lives_widget_set_vexpand(eventbox, TRUE); - mainw->message_box=lives_vbox_new(FALSE, 0); + mainw->message_box = lives_vbox_new(FALSE, 0); - lives_widget_set_vexpand(mainw->message_box,TRUE); + lives_widget_set_vexpand(mainw->message_box, TRUE); lives_box_pack_start(LIVES_BOX(mainw->vbox1), eventbox, TRUE, TRUE, 0); lives_container_add(LIVES_CONTAINER(eventbox), mainw->message_box); - mainw->textview1=NULL; - mainw->scrolledwindow=NULL; + mainw->textview1 = NULL; + mainw->scrolledwindow = NULL; add_message_scroller(mainw->message_box); // accel keys lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_Page_Up, LIVES_CONTROL_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(prevclip_callback),NULL,NULL)); + lives_cclosure_new(LIVES_GUI_CALLBACK(prevclip_callback), NULL, NULL)); lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_Page_Down, LIVES_CONTROL_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(nextclip_callback),NULL,NULL)); + lives_cclosure_new(LIVES_GUI_CALLBACK(nextclip_callback), NULL, NULL)); lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_Down, LIVES_CONTROL_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(slower_callback),LIVES_INT_TO_POINTER(SCREEN_AREA_FOREGROUND),NULL)); + lives_cclosure_new(LIVES_GUI_CALLBACK(slower_callback), LIVES_INT_TO_POINTER(SCREEN_AREA_FOREGROUND), NULL)); lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_Up, LIVES_CONTROL_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(faster_callback),LIVES_INT_TO_POINTER(SCREEN_AREA_FOREGROUND),NULL)); + lives_cclosure_new(LIVES_GUI_CALLBACK(faster_callback), LIVES_INT_TO_POINTER(SCREEN_AREA_FOREGROUND), NULL)); - lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_Down, (LiVESXModifierType)(LIVES_CONTROL_MASK|LIVES_ALT_MASK), + lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_Down, (LiVESXModifierType)(LIVES_CONTROL_MASK | LIVES_ALT_MASK), (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(slower_callback),LIVES_INT_TO_POINTER(SCREEN_AREA_BACKGROUND),NULL)); + lives_cclosure_new(LIVES_GUI_CALLBACK(slower_callback), LIVES_INT_TO_POINTER(SCREEN_AREA_BACKGROUND), NULL)); - lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_Up, (LiVESXModifierType)(LIVES_CONTROL_MASK|LIVES_ALT_MASK), + lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_Up, (LiVESXModifierType)(LIVES_CONTROL_MASK | LIVES_ALT_MASK), (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(faster_callback),LIVES_INT_TO_POINTER(SCREEN_AREA_BACKGROUND),NULL)); + lives_cclosure_new(LIVES_GUI_CALLBACK(faster_callback), LIVES_INT_TO_POINTER(SCREEN_AREA_BACKGROUND), NULL)); lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_Left, LIVES_CONTROL_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(skip_back_callback),NULL,NULL)); + lives_cclosure_new(LIVES_GUI_CALLBACK(skip_back_callback), NULL, NULL)); lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_Right, LIVES_CONTROL_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(skip_forward_callback),NULL,NULL)); + lives_cclosure_new(LIVES_GUI_CALLBACK(skip_forward_callback), NULL, NULL)); lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_Space, LIVES_CONTROL_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(dirchange_callback),LIVES_INT_TO_POINTER(SCREEN_AREA_FOREGROUND),NULL)); + lives_cclosure_new(LIVES_GUI_CALLBACK(dirchange_callback), LIVES_INT_TO_POINTER(SCREEN_AREA_FOREGROUND), NULL)); - lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_Space, (LiVESXModifierType)(LIVES_CONTROL_MASK|LIVES_ALT_MASK), + lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_Space, (LiVESXModifierType)(LIVES_CONTROL_MASK | LIVES_ALT_MASK), (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(dirchange_callback),LIVES_INT_TO_POINTER(SCREEN_AREA_BACKGROUND),NULL)); + lives_cclosure_new(LIVES_GUI_CALLBACK(dirchange_callback), LIVES_INT_TO_POINTER(SCREEN_AREA_BACKGROUND), NULL)); lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_Return, LIVES_CONTROL_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(fps_reset_callback),LIVES_INT_TO_POINTER(TRUE),NULL)); + lives_cclosure_new(LIVES_GUI_CALLBACK(fps_reset_callback), LIVES_INT_TO_POINTER(TRUE), NULL)); lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_k, (LiVESXModifierType)0, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(grabkeys_callback),LIVES_INT_TO_POINTER(-1),NULL)); + lives_cclosure_new(LIVES_GUI_CALLBACK(grabkeys_callback), LIVES_INT_TO_POINTER(-1), NULL)); lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_t, (LiVESXModifierType)0, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(textparm_callback),NULL,NULL)); + lives_cclosure_new(LIVES_GUI_CALLBACK(textparm_callback), NULL, NULL)); lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_m, (LiVESXModifierType)0, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(rtemode_callback),NULL,NULL)); + lives_cclosure_new(LIVES_GUI_CALLBACK(rtemode_callback), NULL, NULL)); lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_x, (LiVESXModifierType)0, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(swap_fg_bg_callback),NULL,NULL)); + lives_cclosure_new(LIVES_GUI_CALLBACK(swap_fg_bg_callback), NULL, NULL)); lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_n, (LiVESXModifierType)0, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(nervous_callback),NULL,NULL)); + lives_cclosure_new(LIVES_GUI_CALLBACK(nervous_callback), NULL, NULL)); lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_w, (LiVESXModifierType)0, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(show_sync_callback),NULL,NULL)); + lives_cclosure_new(LIVES_GUI_CALLBACK(show_sync_callback), NULL, NULL)); - if (FN_KEYS>0) { + if (FN_KEYS > 0) { lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_F1, (LiVESXModifierType)0, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(storeclip_callback),LIVES_INT_TO_POINTER(1),NULL)); - if (FN_KEYS>1) { + lives_cclosure_new(LIVES_GUI_CALLBACK(storeclip_callback), LIVES_INT_TO_POINTER(1), NULL)); + if (FN_KEYS > 1) { lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_F2, (LiVESXModifierType)0, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(storeclip_callback),LIVES_INT_TO_POINTER(2),NULL)); - if (FN_KEYS>2) { + lives_cclosure_new(LIVES_GUI_CALLBACK(storeclip_callback), LIVES_INT_TO_POINTER(2), NULL)); + if (FN_KEYS > 2) { lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_F3, (LiVESXModifierType)0, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(storeclip_callback),LIVES_INT_TO_POINTER(3),NULL)); - if (FN_KEYS>3) { + lives_cclosure_new(LIVES_GUI_CALLBACK(storeclip_callback), LIVES_INT_TO_POINTER(3), NULL)); + if (FN_KEYS > 3) { lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_F4, (LiVESXModifierType)0, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(storeclip_callback),LIVES_INT_TO_POINTER(4),NULL)); - if (FN_KEYS>4) { + lives_cclosure_new(LIVES_GUI_CALLBACK(storeclip_callback), LIVES_INT_TO_POINTER(4), NULL)); + if (FN_KEYS > 4) { lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_F5, (LiVESXModifierType)0, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(storeclip_callback),LIVES_INT_TO_POINTER(5),NULL)); - if (FN_KEYS>5) { + lives_cclosure_new(LIVES_GUI_CALLBACK(storeclip_callback), LIVES_INT_TO_POINTER(5), NULL)); + if (FN_KEYS > 5) { lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_F6, (LiVESXModifierType)0, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(storeclip_callback),LIVES_INT_TO_POINTER(6),NULL)); - if (FN_KEYS>6) { + lives_cclosure_new(LIVES_GUI_CALLBACK(storeclip_callback), LIVES_INT_TO_POINTER(6), NULL)); + if (FN_KEYS > 6) { lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_F7, (LiVESXModifierType)0, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(storeclip_callback),LIVES_INT_TO_POINTER(7),NULL)); - if (FN_KEYS>7) { + lives_cclosure_new(LIVES_GUI_CALLBACK(storeclip_callback), LIVES_INT_TO_POINTER(7), NULL)); + if (FN_KEYS > 7) { lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_F8, (LiVESXModifierType)0, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(storeclip_callback),LIVES_INT_TO_POINTER(8),NULL)); - if (FN_KEYS>8) { + lives_cclosure_new(LIVES_GUI_CALLBACK(storeclip_callback), LIVES_INT_TO_POINTER(8), NULL)); + if (FN_KEYS > 8) { lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_F9, (LiVESXModifierType)0, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(storeclip_callback),LIVES_INT_TO_POINTER(9),NULL)); - if (FN_KEYS>9) { + lives_cclosure_new(LIVES_GUI_CALLBACK(storeclip_callback), LIVES_INT_TO_POINTER(9), NULL)); + if (FN_KEYS > 9) { lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_F10, (LiVESXModifierType)0, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(storeclip_callback),LIVES_INT_TO_POINTER(10),NULL)); - if (FN_KEYS>10) { + lives_cclosure_new(LIVES_GUI_CALLBACK(storeclip_callback), LIVES_INT_TO_POINTER(10), NULL)); + if (FN_KEYS > 10) { lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_F11, (LiVESXModifierType)0, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(storeclip_callback),LIVES_INT_TO_POINTER(11),NULL)); - if (FN_KEYS>11) { + lives_cclosure_new(LIVES_GUI_CALLBACK(storeclip_callback), LIVES_INT_TO_POINTER(11), NULL)); + if (FN_KEYS > 11) { lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_F12, (LiVESXModifierType)0, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(storeclip_callback),LIVES_INT_TO_POINTER(12),NULL)); + lives_cclosure_new(LIVES_GUI_CALLBACK(storeclip_callback), LIVES_INT_TO_POINTER(12), NULL)); // ad nauseum... } } @@ -2194,52 +2158,52 @@ } lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_0, LIVES_CONTROL_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(rte_on_off_callback),LIVES_INT_TO_POINTER(0),NULL)); - if (FX_KEYS_PHYSICAL>0) { + lives_cclosure_new(LIVES_GUI_CALLBACK(rte_on_off_callback), LIVES_INT_TO_POINTER(0), NULL)); + if (FX_KEYS_PHYSICAL > 0) { lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_1, LIVES_CONTROL_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(rte_on_off_callback),LIVES_INT_TO_POINTER(1),NULL)); - lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_1, LIVES_CONTROL_MASK|LIVES_ALT_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(grabkeys_callback),LIVES_INT_TO_POINTER(0),NULL)); - if (FX_KEYS_PHYSICAL>1) { + lives_cclosure_new(LIVES_GUI_CALLBACK(rte_on_off_callback), LIVES_INT_TO_POINTER(1), NULL)); + lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_1, LIVES_CONTROL_MASK | LIVES_ALT_MASK, (LiVESAccelFlags)0, + lives_cclosure_new(LIVES_GUI_CALLBACK(grabkeys_callback), LIVES_INT_TO_POINTER(0), NULL)); + if (FX_KEYS_PHYSICAL > 1) { lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_2, LIVES_CONTROL_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(rte_on_off_callback),LIVES_INT_TO_POINTER(2),NULL)); - lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_2, LIVES_CONTROL_MASK|LIVES_ALT_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(grabkeys_callback),LIVES_INT_TO_POINTER(1),NULL)); - if (FX_KEYS_PHYSICAL>2) { + lives_cclosure_new(LIVES_GUI_CALLBACK(rte_on_off_callback), LIVES_INT_TO_POINTER(2), NULL)); + lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_2, LIVES_CONTROL_MASK | LIVES_ALT_MASK, (LiVESAccelFlags)0, + lives_cclosure_new(LIVES_GUI_CALLBACK(grabkeys_callback), LIVES_INT_TO_POINTER(1), NULL)); + if (FX_KEYS_PHYSICAL > 2) { lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_3, LIVES_CONTROL_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(rte_on_off_callback),LIVES_INT_TO_POINTER(3),NULL)); - lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_3, LIVES_CONTROL_MASK|LIVES_ALT_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(grabkeys_callback),LIVES_INT_TO_POINTER(2),NULL)); - if (FX_KEYS_PHYSICAL>3) { + lives_cclosure_new(LIVES_GUI_CALLBACK(rte_on_off_callback), LIVES_INT_TO_POINTER(3), NULL)); + lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_3, LIVES_CONTROL_MASK | LIVES_ALT_MASK, (LiVESAccelFlags)0, + lives_cclosure_new(LIVES_GUI_CALLBACK(grabkeys_callback), LIVES_INT_TO_POINTER(2), NULL)); + if (FX_KEYS_PHYSICAL > 3) { lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_4, LIVES_CONTROL_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(rte_on_off_callback),LIVES_INT_TO_POINTER(4),NULL)); - lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_4, LIVES_CONTROL_MASK|LIVES_ALT_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(grabkeys_callback),LIVES_INT_TO_POINTER(3),NULL)); - if (FX_KEYS_PHYSICAL>4) { + lives_cclosure_new(LIVES_GUI_CALLBACK(rte_on_off_callback), LIVES_INT_TO_POINTER(4), NULL)); + lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_4, LIVES_CONTROL_MASK | LIVES_ALT_MASK, (LiVESAccelFlags)0, + lives_cclosure_new(LIVES_GUI_CALLBACK(grabkeys_callback), LIVES_INT_TO_POINTER(3), NULL)); + if (FX_KEYS_PHYSICAL > 4) { lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_5, LIVES_CONTROL_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(rte_on_off_callback),LIVES_INT_TO_POINTER(5),NULL)); - lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_5, LIVES_CONTROL_MASK|LIVES_ALT_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(grabkeys_callback),LIVES_INT_TO_POINTER(4),NULL)); - if (FX_KEYS_PHYSICAL>5) { + lives_cclosure_new(LIVES_GUI_CALLBACK(rte_on_off_callback), LIVES_INT_TO_POINTER(5), NULL)); + lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_5, LIVES_CONTROL_MASK | LIVES_ALT_MASK, (LiVESAccelFlags)0, + lives_cclosure_new(LIVES_GUI_CALLBACK(grabkeys_callback), LIVES_INT_TO_POINTER(4), NULL)); + if (FX_KEYS_PHYSICAL > 5) { lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_6, LIVES_CONTROL_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(rte_on_off_callback),LIVES_INT_TO_POINTER(6),NULL)); - lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_6, LIVES_CONTROL_MASK|LIVES_ALT_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(grabkeys_callback),LIVES_INT_TO_POINTER(5),NULL)); - if (FX_KEYS_PHYSICAL>6) { + lives_cclosure_new(LIVES_GUI_CALLBACK(rte_on_off_callback), LIVES_INT_TO_POINTER(6), NULL)); + lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_6, LIVES_CONTROL_MASK | LIVES_ALT_MASK, (LiVESAccelFlags)0, + lives_cclosure_new(LIVES_GUI_CALLBACK(grabkeys_callback), LIVES_INT_TO_POINTER(5), NULL)); + if (FX_KEYS_PHYSICAL > 6) { lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_7, LIVES_CONTROL_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(rte_on_off_callback),LIVES_INT_TO_POINTER(7),NULL)); - lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_7, LIVES_CONTROL_MASK|LIVES_ALT_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(grabkeys_callback),LIVES_INT_TO_POINTER(6),NULL)); - if (FX_KEYS_PHYSICAL>7) { + lives_cclosure_new(LIVES_GUI_CALLBACK(rte_on_off_callback), LIVES_INT_TO_POINTER(7), NULL)); + lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_7, LIVES_CONTROL_MASK | LIVES_ALT_MASK, (LiVESAccelFlags)0, + lives_cclosure_new(LIVES_GUI_CALLBACK(grabkeys_callback), LIVES_INT_TO_POINTER(6), NULL)); + if (FX_KEYS_PHYSICAL > 7) { lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_8, LIVES_CONTROL_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(rte_on_off_callback),LIVES_INT_TO_POINTER(8),NULL)); - lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_8, LIVES_CONTROL_MASK|LIVES_ALT_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(grabkeys_callback),LIVES_INT_TO_POINTER(7),NULL)); - if (FX_KEYS_PHYSICAL>8) { + lives_cclosure_new(LIVES_GUI_CALLBACK(rte_on_off_callback), LIVES_INT_TO_POINTER(8), NULL)); + lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_8, LIVES_CONTROL_MASK | LIVES_ALT_MASK, (LiVESAccelFlags)0, + lives_cclosure_new(LIVES_GUI_CALLBACK(grabkeys_callback), LIVES_INT_TO_POINTER(7), NULL)); + if (FX_KEYS_PHYSICAL > 8) { lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_9, LIVES_CONTROL_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(rte_on_off_callback),LIVES_INT_TO_POINTER(9),NULL)); - lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_9, LIVES_CONTROL_MASK|LIVES_ALT_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(grabkeys_callback),LIVES_INT_TO_POINTER(8),NULL)); + lives_cclosure_new(LIVES_GUI_CALLBACK(rte_on_off_callback), LIVES_INT_TO_POINTER(9), NULL)); + lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_9, LIVES_CONTROL_MASK | LIVES_ALT_MASK, (LiVESAccelFlags)0, + lives_cclosure_new(LIVES_GUI_CALLBACK(grabkeys_callback), LIVES_INT_TO_POINTER(8), NULL)); } } } @@ -2250,7 +2214,6 @@ } } - lives_text_view_set_text(LIVES_TEXT_VIEW(mainw->textview1), _("Starting...\n"), -1); @@ -2265,21 +2228,21 @@ LIVES_GUI_CALLBACK(key_press_or_release), NULL); - mainw->config_func=lives_signal_connect_after(LIVES_GUI_OBJECT(mainw->video_draw), LIVES_WIDGET_CONFIGURE_EVENT, - LIVES_GUI_CALLBACK(config_event), - NULL); - mainw->vidbar_func=lives_signal_connect_after(LIVES_GUI_OBJECT(mainw->video_draw), LIVES_WIDGET_EXPOSE_EVENT, - LIVES_GUI_CALLBACK(expose_vid_event), - NULL); - mainw->laudbar_func=lives_signal_connect_after(LIVES_GUI_OBJECT(mainw->laudio_draw), LIVES_WIDGET_EXPOSE_EVENT, - LIVES_GUI_CALLBACK(expose_laud_event), - NULL); - mainw->raudbar_func=lives_signal_connect_after(LIVES_GUI_OBJECT(mainw->raudio_draw), LIVES_WIDGET_EXPOSE_EVENT, - LIVES_GUI_CALLBACK(expose_raud_event), - NULL); - mainw->pb_fps_func=lives_signal_connect_after(LIVES_GUI_OBJECT(mainw->spinbutton_pb_fps), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, - LIVES_GUI_CALLBACK(changed_fps_during_pb), - NULL); + mainw->config_func = lives_signal_connect_after(LIVES_GUI_OBJECT(mainw->video_draw), LIVES_WIDGET_CONFIGURE_EVENT, + LIVES_GUI_CALLBACK(config_event), + NULL); + mainw->vidbar_func = lives_signal_connect_after(LIVES_GUI_OBJECT(mainw->video_draw), LIVES_WIDGET_EXPOSE_EVENT, + LIVES_GUI_CALLBACK(expose_vid_event), + NULL); + mainw->laudbar_func = lives_signal_connect_after(LIVES_GUI_OBJECT(mainw->laudio_draw), LIVES_WIDGET_EXPOSE_EVENT, + LIVES_GUI_CALLBACK(expose_laud_event), + NULL); + mainw->raudbar_func = lives_signal_connect_after(LIVES_GUI_OBJECT(mainw->raudio_draw), LIVES_WIDGET_EXPOSE_EVENT, + LIVES_GUI_CALLBACK(expose_raud_event), + NULL); + mainw->pb_fps_func = lives_signal_connect_after(LIVES_GUI_OBJECT(mainw->spinbutton_pb_fps), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, + LIVES_GUI_CALLBACK(changed_fps_during_pb), + NULL); lives_signal_connect(LIVES_GUI_OBJECT(mainw->open), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(on_open_activate), NULL); @@ -2425,9 +2388,9 @@ lives_signal_connect(LIVES_GUI_OBJECT(mainw->lock_selwidth), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(on_lock_selwidth_activate), NULL); - mainw->record_perf_func=lives_signal_connect(LIVES_GUI_OBJECT(mainw->record_perf), LIVES_WIDGET_ACTIVATE_SIGNAL, - LIVES_GUI_CALLBACK(on_record_perf_activate), - NULL); + mainw->record_perf_func = lives_signal_connect(LIVES_GUI_OBJECT(mainw->record_perf), LIVES_WIDGET_ACTIVATE_SIGNAL, + LIVES_GUI_CALLBACK(on_record_perf_activate), + NULL); lives_signal_connect(LIVES_GUI_OBJECT(mainw->playall), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(on_playall_activate), NULL); @@ -2443,9 +2406,9 @@ lives_signal_connect_after(LIVES_GUI_OBJECT(mainw->stop), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(on_stop_activate), NULL); // connect after to stop keypress propagating to removed fs window - mainw->fullscreen_cb_func=lives_signal_connect(LIVES_GUI_OBJECT(mainw->full_screen), LIVES_WIDGET_ACTIVATE_SIGNAL, - LIVES_GUI_CALLBACK(on_full_screen_activate), - NULL); + mainw->fullscreen_cb_func = lives_signal_connect(LIVES_GUI_OBJECT(mainw->full_screen), LIVES_WIDGET_ACTIVATE_SIGNAL, + LIVES_GUI_CALLBACK(on_full_screen_activate), + NULL); lives_signal_connect(LIVES_GUI_OBJECT(mainw->sw_sound), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(on_boolean_toggled), &mainw->save_with_sound); // TODO - make pref @@ -2464,24 +2427,24 @@ lives_signal_connect(LIVES_GUI_OBJECT(mainw->dsize), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(on_double_size_activate), NULL); - mainw->sepwin_cb_func=lives_signal_connect(LIVES_GUI_OBJECT(mainw->sepwin), LIVES_WIDGET_ACTIVATE_SIGNAL, - LIVES_GUI_CALLBACK(on_sepwin_activate), - NULL); + mainw->sepwin_cb_func = lives_signal_connect(LIVES_GUI_OBJECT(mainw->sepwin), LIVES_WIDGET_ACTIVATE_SIGNAL, + LIVES_GUI_CALLBACK(on_sepwin_activate), + NULL); lives_signal_connect(LIVES_GUI_OBJECT(mainw->fade), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(on_fade_activate), NULL); lives_signal_connect(LIVES_GUI_OBJECT(mainw->loop_video), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(on_loop_video_activate), NULL); - mainw->loop_cont_func=lives_signal_connect(LIVES_GUI_OBJECT(mainw->loop_continue), LIVES_WIDGET_ACTIVATE_SIGNAL, - LIVES_GUI_CALLBACK(on_loop_cont_activate), - NULL); + mainw->loop_cont_func = lives_signal_connect(LIVES_GUI_OBJECT(mainw->loop_continue), LIVES_WIDGET_ACTIVATE_SIGNAL, + LIVES_GUI_CALLBACK(on_loop_cont_activate), + NULL); lives_signal_connect(LIVES_GUI_OBJECT(mainw->loop_ping_pong), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(on_ping_pong_activate), NULL); - mainw->mute_audio_func=lives_signal_connect(LIVES_GUI_OBJECT(mainw->mute_audio), LIVES_WIDGET_ACTIVATE_SIGNAL, - LIVES_GUI_CALLBACK(on_mute_activate), - NULL); + mainw->mute_audio_func = lives_signal_connect(LIVES_GUI_OBJECT(mainw->mute_audio), LIVES_WIDGET_ACTIVATE_SIGNAL, + LIVES_GUI_CALLBACK(on_mute_activate), + NULL); lives_signal_connect(LIVES_GUI_OBJECT(mainw->sticky), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(on_sticky_activate), NULL); @@ -2638,21 +2601,21 @@ NULL); #endif - mainw->toy_func_none=lives_signal_connect_after(LIVES_GUI_OBJECT(mainw->toy_none), LIVES_WIDGET_ACTIVATE_SIGNAL, - LIVES_GUI_CALLBACK(on_toy_activate), - NULL); - - mainw->toy_func_autolives=lives_signal_connect_after(LIVES_GUI_OBJECT(mainw->toy_autolives), LIVES_WIDGET_ACTIVATE_SIGNAL, - LIVES_GUI_CALLBACK(on_toy_activate), - LIVES_INT_TO_POINTER(LIVES_TOY_AUTOLIVES)); - - mainw->toy_func_random_frames=lives_signal_connect_after(LIVES_GUI_OBJECT(mainw->toy_random_frames), LIVES_WIDGET_ACTIVATE_SIGNAL, - LIVES_GUI_CALLBACK(on_toy_activate), - LIVES_INT_TO_POINTER(LIVES_TOY_MAD_FRAMES)); + mainw->toy_func_none = lives_signal_connect_after(LIVES_GUI_OBJECT(mainw->toy_none), LIVES_WIDGET_ACTIVATE_SIGNAL, + LIVES_GUI_CALLBACK(on_toy_activate), + NULL); - mainw->toy_func_lives_tv=lives_signal_connect_after(LIVES_GUI_OBJECT(mainw->toy_tv), LIVES_WIDGET_ACTIVATE_SIGNAL, - LIVES_GUI_CALLBACK(on_toy_activate), - LIVES_INT_TO_POINTER(LIVES_TOY_TV)); + mainw->toy_func_autolives = lives_signal_connect_after(LIVES_GUI_OBJECT(mainw->toy_autolives), LIVES_WIDGET_ACTIVATE_SIGNAL, + LIVES_GUI_CALLBACK(on_toy_activate), + LIVES_INT_TO_POINTER(LIVES_TOY_AUTOLIVES)); + + mainw->toy_func_random_frames = lives_signal_connect_after(LIVES_GUI_OBJECT(mainw->toy_random_frames), LIVES_WIDGET_ACTIVATE_SIGNAL, + LIVES_GUI_CALLBACK(on_toy_activate), + LIVES_INT_TO_POINTER(LIVES_TOY_MAD_FRAMES)); + + mainw->toy_func_lives_tv = lives_signal_connect_after(LIVES_GUI_OBJECT(mainw->toy_tv), LIVES_WIDGET_ACTIVATE_SIGNAL, + LIVES_GUI_CALLBACK(on_toy_activate), + LIVES_INT_TO_POINTER(LIVES_TOY_TV)); lives_signal_connect(LIVES_GUI_OBJECT(about), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(on_about_activate), @@ -2686,12 +2649,12 @@ LIVES_GUI_CALLBACK(help_translate_activate), NULL); - mainw->spin_start_func=lives_signal_connect_after(LIVES_GUI_OBJECT(mainw->spinbutton_start), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, - LIVES_GUI_CALLBACK(on_spinbutton_start_value_changed), + mainw->spin_start_func = lives_signal_connect_after(LIVES_GUI_OBJECT(mainw->spinbutton_start), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, + LIVES_GUI_CALLBACK(on_spinbutton_start_value_changed), + NULL); + mainw->spin_end_func = lives_signal_connect_after(LIVES_GUI_OBJECT(mainw->spinbutton_end), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, + LIVES_GUI_CALLBACK(on_spinbutton_end_value_changed), NULL); - mainw->spin_end_func=lives_signal_connect_after(LIVES_GUI_OBJECT(mainw->spinbutton_end), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, - LIVES_GUI_CALLBACK(on_spinbutton_end_value_changed), - NULL); // these are for the menu transport buttons if (capable->smog_version_correct) { @@ -2752,11 +2715,11 @@ LIVES_GUI_CALLBACK(on_forward_pressed), NULL); - mainw->mouse_fn1=lives_signal_connect(LIVES_GUI_OBJECT(mainw->eventbox2), LIVES_WIDGET_MOTION_NOTIFY_EVENT, - LIVES_GUI_CALLBACK(on_mouse_sel_update), - NULL); - lives_signal_handler_block(mainw->eventbox2,mainw->mouse_fn1); - mainw->mouse_blocked=TRUE; + mainw->mouse_fn1 = lives_signal_connect(LIVES_GUI_OBJECT(mainw->eventbox2), LIVES_WIDGET_MOTION_NOTIFY_EVENT, + LIVES_GUI_CALLBACK(on_mouse_sel_update), + NULL); + lives_signal_handler_block(mainw->eventbox2, mainw->mouse_fn1); + mainw->mouse_blocked = TRUE; lives_signal_connect(LIVES_GUI_OBJECT(mainw->eventbox2), LIVES_WIDGET_BUTTON_RELEASE_EVENT, LIVES_GUI_CALLBACK(on_mouse_sel_reset), NULL); @@ -2766,15 +2729,15 @@ lives_signal_connect(LIVES_GUI_OBJECT(mainw->hruler), LIVES_WIDGET_MOTION_NOTIFY_EVENT, LIVES_GUI_CALLBACK(return_true), NULL); - mainw->hrule_func=lives_signal_connect(LIVES_GUI_OBJECT(mainw->eventbox5), LIVES_WIDGET_MOTION_NOTIFY_EVENT, - LIVES_GUI_CALLBACK(on_hrule_update), - NULL); - lives_signal_handler_block(mainw->eventbox5,mainw->hrule_func); - lives_signal_connect(LIVES_GUI_OBJECT(mainw->eventbox5), LIVES_WIDGET_ENTER_EVENT,LIVES_GUI_CALLBACK(on_hrule_enter),NULL); + mainw->hrule_func = lives_signal_connect(LIVES_GUI_OBJECT(mainw->eventbox5), LIVES_WIDGET_MOTION_NOTIFY_EVENT, + LIVES_GUI_CALLBACK(on_hrule_update), + NULL); + lives_signal_handler_block(mainw->eventbox5, mainw->hrule_func); + lives_signal_connect(LIVES_GUI_OBJECT(mainw->eventbox5), LIVES_WIDGET_ENTER_EVENT, LIVES_GUI_CALLBACK(on_hrule_enter), NULL); } - mainw->hrule_blocked=TRUE; + mainw->hrule_blocked = TRUE; lives_signal_connect(LIVES_GUI_OBJECT(mainw->eventbox5), LIVES_WIDGET_BUTTON_RELEASE_EVENT, LIVES_GUI_CALLBACK(on_hrule_reset), NULL); @@ -2789,10 +2752,10 @@ LIVES_INT_TO_POINTER(2)); lives_window_add_accel_group(LIVES_WINDOW(mainw->LiVES), mainw->accel_group); - mainw->laudio_drawable=NULL; - mainw->raudio_drawable=NULL; - mainw->video_drawable=NULL; - mainw->plug=NULL; + mainw->laudio_drawable = NULL; + mainw->raudio_drawable = NULL; + mainw->video_drawable = NULL; + mainw->plug = NULL; lives_widget_set_can_focus(mainw->LiVES, TRUE); lives_widget_grab_focus(mainw->textview1); @@ -2806,12 +2769,12 @@ lives_widget_show(mainw->LiVES); // this calls the config_event() - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_hide(mainw->vidbar); lives_widget_hide(mainw->laudbar); lives_widget_hide(mainw->raudbar); - set_colours(&palette->normal_fore,&palette->normal_back,&palette->menu_and_bars_fore,&palette->menu_and_bars,\ - &palette->info_base,&palette->info_text); + set_colours(&palette->normal_fore, &palette->normal_back, &palette->menu_and_bars_fore, &palette->menu_and_bars, \ + &palette->info_base, &palette->info_text); } else { lives_widget_show(mainw->vidbar); lives_widget_show(mainw->laudbar); @@ -2828,32 +2791,32 @@ lives_widget_hide(mainw->framebar); lives_widget_hide(mainw->playframe); - if (capable->smog_version_correct&&prefs->show_recent) { + if (capable->smog_version_correct && prefs->show_recent) { lives_widget_show(mainw->recent_menu); } else { lives_widget_hide(mainw->recent_menu); } - get_menu_text(mainw->recent1,buff); + get_menu_text(mainw->recent1, buff); if (!strlen(buff)) lives_widget_hide(mainw->recent1); - get_menu_text(mainw->recent2,buff); + get_menu_text(mainw->recent2, buff); if (!strlen(buff)) lives_widget_hide(mainw->recent2); - get_menu_text(mainw->recent3,buff); + get_menu_text(mainw->recent3, buff); if (!strlen(buff)) lives_widget_hide(mainw->recent3); - get_menu_text(mainw->recent4,buff); + get_menu_text(mainw->recent4, buff); if (!strlen(buff)) lives_widget_hide(mainw->recent4); - if (!capable->has_composite||!capable->has_convert) { + if (!capable->has_composite || !capable->has_convert) { lives_widget_hide(mainw->merge); } - if (!((prefs->audio_player==AUD_PLAYER_JACK&&capable->has_jackd)|| - (prefs->audio_player==AUD_PLAYER_PULSE&&capable->has_pulse_audio))) + if (!((prefs->audio_player == AUD_PLAYER_JACK && capable->has_jackd) || + (prefs->audio_player == AUD_PLAYER_PULSE && capable->has_pulse_audio))) lives_widget_hide(mainw->vol_toolitem); lives_widget_hide(mainw->hruler); - if (prefs->present&&prefs->show_gui) + if (prefs->present && prefs->show_gui) lives_window_present(LIVES_WINDOW(mainw->LiVES)); } @@ -2866,51 +2829,50 @@ lives_object_ref(mainw->menubar); lives_widget_unparent(mainw->menubar); lives_widget_hide(mainw->btoolbar); - lives_widget_set_sensitive(mainw->menubar,FALSE); - lives_widget_set_sensitive(mainw->btoolbar,FALSE); - if (mainw->multitrack!=NULL) { + lives_widget_set_sensitive(mainw->menubar, FALSE); + lives_widget_set_sensitive(mainw->btoolbar, FALSE); + if (mainw->multitrack != NULL) { lives_object_ref(mainw->multitrack->menubar); lives_widget_unparent(mainw->multitrack->menubar); - lives_widget_set_sensitive(mainw->multitrack->menubar,FALSE); - lives_widget_set_sensitive(mainw->multitrack->spinbutton_start,FALSE); - lives_widget_set_sensitive(mainw->multitrack->spinbutton_end,FALSE); - lives_widget_set_sensitive(mainw->m_playbutton,FALSE); - lives_widget_set_sensitive(mainw->m_stopbutton,FALSE); - lives_widget_set_sensitive(mainw->m_loopbutton,FALSE); - lives_widget_set_sensitive(mainw->m_rewindbutton,FALSE); - lives_widget_set_sensitive(mainw->m_sepwinbutton,FALSE); - lives_widget_set_sensitive(mainw->multitrack->btoolbar,FALSE); - lives_widget_set_sensitive(mainw->multitrack->btoolbar2,FALSE); - lives_widget_set_sensitive(mainw->multitrack->btoolbar3,FALSE); - lives_widget_set_sensitive(mainw->multitrack->insa_checkbutton,FALSE); - lives_widget_set_sensitive(mainw->multitrack->snapo_checkbutton,FALSE); - list=mainw->multitrack->cb_list; - while (list!=NULL) { - lives_widget_set_sensitive((LiVESWidget *)list->data,FALSE); - list=list->next; + lives_widget_set_sensitive(mainw->multitrack->menubar, FALSE); + lives_widget_set_sensitive(mainw->multitrack->spinbutton_start, FALSE); + lives_widget_set_sensitive(mainw->multitrack->spinbutton_end, FALSE); + lives_widget_set_sensitive(mainw->m_playbutton, FALSE); + lives_widget_set_sensitive(mainw->m_stopbutton, FALSE); + lives_widget_set_sensitive(mainw->m_loopbutton, FALSE); + lives_widget_set_sensitive(mainw->m_rewindbutton, FALSE); + lives_widget_set_sensitive(mainw->m_sepwinbutton, FALSE); + lives_widget_set_sensitive(mainw->multitrack->btoolbar, FALSE); + lives_widget_set_sensitive(mainw->multitrack->btoolbar2, FALSE); + lives_widget_set_sensitive(mainw->multitrack->btoolbar3, FALSE); + lives_widget_set_sensitive(mainw->multitrack->insa_checkbutton, FALSE); + lives_widget_set_sensitive(mainw->multitrack->snapo_checkbutton, FALSE); + list = mainw->multitrack->cb_list; + while (list != NULL) { + lives_widget_set_sensitive((LiVESWidget *)list->data, FALSE); + list = list->next; } } - lives_widget_set_sensitive(mainw->spinbutton_start,FALSE); - lives_widget_set_sensitive(mainw->spinbutton_end,FALSE); + lives_widget_set_sensitive(mainw->spinbutton_start, FALSE); + lives_widget_set_sensitive(mainw->spinbutton_end, FALSE); - if (mainw->current_file>-1&&cfile!=NULL&&cfile->proc_ptr!=NULL) { - lives_widget_set_sensitive(cfile->proc_ptr->cancel_button,FALSE); - lives_widget_set_sensitive(cfile->proc_ptr->stop_button,FALSE); - lives_widget_set_sensitive(cfile->proc_ptr->pause_button,FALSE); - lives_widget_set_sensitive(cfile->proc_ptr->preview_button,FALSE); + if (mainw->current_file > -1 && cfile != NULL && cfile->proc_ptr != NULL) { + lives_widget_set_sensitive(cfile->proc_ptr->cancel_button, FALSE); + lives_widget_set_sensitive(cfile->proc_ptr->stop_button, FALSE); + lives_widget_set_sensitive(cfile->proc_ptr->pause_button, FALSE); + lives_widget_set_sensitive(cfile->proc_ptr->preview_button, FALSE); } - } else { - if (lives_widget_get_parent(mainw->menubar)==NULL) { + if (lives_widget_get_parent(mainw->menubar) == NULL) { lives_box_pack_start(LIVES_BOX(mainw->menu_hbox), mainw->menubar, FALSE, FALSE, 0); lives_object_unref(mainw->menubar); } lives_widget_show(mainw->btoolbar); - lives_widget_set_sensitive(mainw->menubar,TRUE); - lives_widget_set_sensitive(mainw->btoolbar,TRUE); + lives_widget_set_sensitive(mainw->menubar, TRUE); + lives_widget_set_sensitive(mainw->btoolbar, TRUE); - if (mainw->multitrack!=NULL) { - if (lives_widget_get_parent(mainw->multitrack->menubar)==NULL) { + if (mainw->multitrack != NULL) { + if (lives_widget_get_parent(mainw->multitrack->menubar) == NULL) { lives_box_pack_start(LIVES_BOX(mainw->multitrack->menu_hbox), mainw->multitrack->menubar, FALSE, FALSE, 0); lives_object_unref(mainw->multitrack->menubar); } @@ -2924,10 +2886,9 @@ lives_widget_hide(mainw->custom_gens_submenu); } - lives_widget_hide(mainw->multitrack->aparam_separator); // no longer used - if (cfile->achans>0) add_aparam_menuitems(mainw->multitrack); + if (cfile->achans > 0) add_aparam_menuitems(mainw->multitrack); else { lives_widget_hide(mainw->multitrack->render_sep); lives_widget_hide(mainw->multitrack->render_vid); @@ -2938,57 +2899,52 @@ lives_widget_hide(mainw->multitrack->aparam_separator); } - if (mainw->multitrack->opts.back_audio_tracks==0) lives_widget_hide(mainw->multitrack->view_audio); + if (mainw->multitrack->opts.back_audio_tracks == 0) lives_widget_hide(mainw->multitrack->view_audio); - lives_widget_set_sensitive(mainw->multitrack->menubar,TRUE); + lives_widget_set_sensitive(mainw->multitrack->menubar, TRUE); - lives_widget_set_sensitive(mainw->multitrack->spinbutton_start,TRUE); - lives_widget_set_sensitive(mainw->multitrack->spinbutton_end,TRUE); - lives_widget_set_sensitive(mainw->m_playbutton,TRUE); - lives_widget_set_sensitive(mainw->m_stopbutton,TRUE); - lives_widget_set_sensitive(mainw->m_loopbutton,TRUE); - lives_widget_set_sensitive(mainw->m_rewindbutton,TRUE); - lives_widget_set_sensitive(mainw->m_sepwinbutton,TRUE); - lives_widget_set_sensitive(mainw->multitrack->btoolbar,TRUE); - lives_widget_set_sensitive(mainw->multitrack->btoolbar2,TRUE); - lives_widget_set_sensitive(mainw->multitrack->btoolbar3,TRUE); - lives_widget_set_sensitive(mainw->multitrack->insa_checkbutton,TRUE); - lives_widget_set_sensitive(mainw->multitrack->snapo_checkbutton,TRUE); - list=mainw->multitrack->cb_list; - while (list!=NULL) { - lives_widget_set_sensitive((LiVESWidget *)list->data,TRUE); - list=list->next; + lives_widget_set_sensitive(mainw->multitrack->spinbutton_start, TRUE); + lives_widget_set_sensitive(mainw->multitrack->spinbutton_end, TRUE); + lives_widget_set_sensitive(mainw->m_playbutton, TRUE); + lives_widget_set_sensitive(mainw->m_stopbutton, TRUE); + lives_widget_set_sensitive(mainw->m_loopbutton, TRUE); + lives_widget_set_sensitive(mainw->m_rewindbutton, TRUE); + lives_widget_set_sensitive(mainw->m_sepwinbutton, TRUE); + lives_widget_set_sensitive(mainw->multitrack->btoolbar, TRUE); + lives_widget_set_sensitive(mainw->multitrack->btoolbar2, TRUE); + lives_widget_set_sensitive(mainw->multitrack->btoolbar3, TRUE); + lives_widget_set_sensitive(mainw->multitrack->insa_checkbutton, TRUE); + lives_widget_set_sensitive(mainw->multitrack->snapo_checkbutton, TRUE); + list = mainw->multitrack->cb_list; + while (list != NULL) { + lives_widget_set_sensitive((LiVESWidget *)list->data, TRUE); + list = list->next; } } - lives_widget_set_sensitive(mainw->spinbutton_start,TRUE); - lives_widget_set_sensitive(mainw->spinbutton_end,TRUE); + lives_widget_set_sensitive(mainw->spinbutton_start, TRUE); + lives_widget_set_sensitive(mainw->spinbutton_end, TRUE); - if (mainw->current_file>-1&&cfile!=NULL&&cfile->proc_ptr!=NULL) { - lives_widget_set_sensitive(cfile->proc_ptr->cancel_button,TRUE); - lives_widget_set_sensitive(cfile->proc_ptr->stop_button,TRUE); - lives_widget_set_sensitive(cfile->proc_ptr->pause_button,TRUE); - lives_widget_set_sensitive(cfile->proc_ptr->preview_button,TRUE); + if (mainw->current_file > -1 && cfile != NULL && cfile->proc_ptr != NULL) { + lives_widget_set_sensitive(cfile->proc_ptr->cancel_button, TRUE); + lives_widget_set_sensitive(cfile->proc_ptr->stop_button, TRUE); + lives_widget_set_sensitive(cfile->proc_ptr->pause_button, TRUE); + lives_widget_set_sensitive(cfile->proc_ptr->preview_button, TRUE); } - } if (mainw->ce_thumbs) ce_thumbs_set_interactive(interactive); - if (rte_window!=NULL) rte_window_set_interactive(interactive); - + if (rte_window != NULL) rte_window_set_interactive(interactive); } - - void fade_background(void) { - - if (palette->style==STYLE_PLAIN) { - lives_label_set_text(LIVES_LABEL(mainw->banner)," = < L i V E S > = "); + if (palette->style == STYLE_PLAIN) { + lives_label_set_text(LIVES_LABEL(mainw->banner), " = < L i V E S > = "); } if (mainw->foreign) { - lives_label_set_text(LIVES_LABEL(mainw->banner),_(" Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! ")); + lives_label_set_text(LIVES_LABEL(mainw->banner), _(" Press 'q' to stop recording. DO NOT COVER THE PLAY WINDOW ! ")); lives_widget_set_fg_color(mainw->banner, LIVES_WIDGET_STATE_NORMAL, &palette->banner_fade_text); - lives_label_set_text(LIVES_LABEL(mainw->vps_label),(" ")); + lives_label_set_text(LIVES_LABEL(mainw->vps_label), (" ")); } else { if (mainw->sep_win) { lives_widget_hide(mainw->playframe); @@ -2997,20 +2953,20 @@ lives_frame_set_label(LIVES_FRAME(mainw->playframe), ""); - set_colours(&palette->normal_fore,&palette->fade_colour,&palette->menu_and_bars_fore,&palette->menu_and_bars, \ - &palette->info_base,&palette->info_text); + set_colours(&palette->normal_fore, &palette->fade_colour, &palette->menu_and_bars_fore, &palette->menu_and_bars, \ + &palette->info_base, &palette->info_text); - lives_widget_set_app_paintable(mainw->freventbox0,FALSE); - lives_widget_set_app_paintable(mainw->freventbox1,FALSE); + lives_widget_set_app_paintable(mainw->freventbox0, FALSE); + lives_widget_set_app_paintable(mainw->freventbox1, FALSE); lives_frame_set_label(LIVES_FRAME(mainw->frame1), ""); lives_frame_set_label(LIVES_FRAME(mainw->frame2), ""); - if (mainw->toy_type!=LIVES_TOY_MAD_FRAMES||mainw->foreign) { + if (mainw->toy_type != LIVES_TOY_MAD_FRAMES || mainw->foreign) { lives_widget_hide(mainw->start_image); lives_widget_hide(mainw->end_image); } - if (!mainw->foreign&&future_prefs->show_tool) { + if (!mainw->foreign && future_prefs->show_tool) { lives_widget_show(mainw->tb_hbox); } @@ -3042,56 +2998,56 @@ // since the hidden menu buttons are not activable on some window managers // we need to remove the accelerators and add accelerator keys instead - if (stop_closure==NULL) { + if (stop_closure == NULL) { lives_widget_remove_accelerator(mainw->stop, mainw->accel_group, LIVES_KEY_q, (LiVESXModifierType)0); lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_q, (LiVESXModifierType)0, (LiVESAccelFlags)0, - (stop_closure=lives_cclosure_new(LIVES_GUI_CALLBACK(stop_callback),NULL,NULL))); + (stop_closure = lives_cclosure_new(LIVES_GUI_CALLBACK(stop_callback), NULL, NULL))); if (!mainw->foreign) { // TODO - do these checks in the end functions lives_widget_remove_accelerator(mainw->record_perf, mainw->accel_group, LIVES_KEY_r, (LiVESXModifierType)0); lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_r, (LiVESXModifierType)0, (LiVESAccelFlags)0, - (rec_closure=lives_cclosure_new(LIVES_GUI_CALLBACK(rec_callback),NULL,NULL))); + (rec_closure = lives_cclosure_new(LIVES_GUI_CALLBACK(rec_callback), NULL, NULL))); lives_widget_remove_accelerator(mainw->full_screen, mainw->accel_group, LIVES_KEY_f, (LiVESXModifierType)0); lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_f, (LiVESXModifierType)0, (LiVESAccelFlags)0, - (fullscreen_closure=lives_cclosure_new(LIVES_GUI_CALLBACK(fullscreen_callback),NULL,NULL))); + (fullscreen_closure = lives_cclosure_new(LIVES_GUI_CALLBACK(fullscreen_callback), NULL, NULL))); lives_widget_remove_accelerator(mainw->showfct, mainw->accel_group, LIVES_KEY_h, (LiVESXModifierType)0); lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_h, (LiVESXModifierType)0, (LiVESAccelFlags)0, - (showfct_closure=lives_cclosure_new(LIVES_GUI_CALLBACK(showfct_callback),NULL,NULL))); + (showfct_closure = lives_cclosure_new(LIVES_GUI_CALLBACK(showfct_callback), NULL, NULL))); lives_widget_remove_accelerator(mainw->showsubs, mainw->accel_group, LIVES_KEY_v, (LiVESXModifierType)0); lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_v, (LiVESXModifierType)0, (LiVESAccelFlags)0, - (showsubs_closure=lives_cclosure_new(LIVES_GUI_CALLBACK(showsubs_callback),NULL,NULL))); + (showsubs_closure = lives_cclosure_new(LIVES_GUI_CALLBACK(showsubs_callback), NULL, NULL))); lives_widget_remove_accelerator(mainw->sepwin, mainw->accel_group, LIVES_KEY_s, (LiVESXModifierType)0); lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_s, (LiVESXModifierType)0, (LiVESAccelFlags)0, - (sepwin_closure=lives_cclosure_new(LIVES_GUI_CALLBACK(sepwin_callback),NULL,NULL))); + (sepwin_closure = lives_cclosure_new(LIVES_GUI_CALLBACK(sepwin_callback), NULL, NULL))); - if (!cfile->achans||mainw->mute||mainw->loop_cont||is_realtime_aplayer(prefs->audio_player)) { + if (!cfile->achans || mainw->mute || mainw->loop_cont || is_realtime_aplayer(prefs->audio_player)) { lives_widget_remove_accelerator(mainw->loop_video, mainw->accel_group, LIVES_KEY_l, (LiVESXModifierType)0); lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_l, (LiVESXModifierType)0, (LiVESAccelFlags)0, - (loop_closure=lives_cclosure_new(LIVES_GUI_CALLBACK(loop_callback),NULL,NULL))); + (loop_closure = lives_cclosure_new(LIVES_GUI_CALLBACK(loop_callback), NULL, NULL))); lives_widget_remove_accelerator(mainw->loop_continue, mainw->accel_group, LIVES_KEY_o, (LiVESXModifierType)0); lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_o, (LiVESXModifierType)0, (LiVESAccelFlags)0, - (loop_cont_closure=lives_cclosure_new(LIVES_GUI_CALLBACK(loop_cont_callback),NULL,NULL))); + (loop_cont_closure = lives_cclosure_new(LIVES_GUI_CALLBACK(loop_cont_callback), NULL, NULL))); } lives_widget_remove_accelerator(mainw->loop_ping_pong, mainw->accel_group, LIVES_KEY_g, (LiVESXModifierType)0); lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_g, (LiVESXModifierType)0, (LiVESAccelFlags)0, - (ping_pong_closure=lives_cclosure_new(LIVES_GUI_CALLBACK(ping_pong_callback),NULL,NULL))); + (ping_pong_closure = lives_cclosure_new(LIVES_GUI_CALLBACK(ping_pong_callback), NULL, NULL))); lives_widget_remove_accelerator(mainw->mute_audio, mainw->accel_group, LIVES_KEY_z, (LiVESXModifierType)0); lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_z, (LiVESXModifierType)0, (LiVESAccelFlags)0, - (mute_audio_closure=lives_cclosure_new(LIVES_GUI_CALLBACK(mute_audio_callback),NULL,NULL))); + (mute_audio_closure = lives_cclosure_new(LIVES_GUI_CALLBACK(mute_audio_callback), NULL, NULL))); lives_widget_remove_accelerator(mainw->dsize, mainw->accel_group, LIVES_KEY_d, (LiVESXModifierType)0); lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_d, (LiVESXModifierType)0, (LiVESAccelFlags)0, - (dblsize_closure=lives_cclosure_new(LIVES_GUI_CALLBACK(dblsize_callback),NULL,NULL))); - if (palette->style!=STYLE_PLAIN) { + (dblsize_closure = lives_cclosure_new(LIVES_GUI_CALLBACK(dblsize_callback), NULL, NULL))); + if (palette->style != STYLE_PLAIN) { lives_widget_remove_accelerator(mainw->fade, mainw->accel_group, LIVES_KEY_b, (LiVESXModifierType)0); lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_b, (LiVESXModifierType)0, (LiVESAccelFlags)0, - (fade_closure=lives_cclosure_new(LIVES_GUI_CALLBACK(fade_callback),NULL,NULL))); + (fade_closure = lives_cclosure_new(LIVES_GUI_CALLBACK(fade_callback), NULL, NULL))); } } } @@ -3100,26 +3056,22 @@ } - - - - void unfade_background(void) { - if (prefs->open_maximised&&prefs->show_gui) { + if (prefs->open_maximised && prefs->show_gui) { lives_window_maximize(LIVES_WINDOW(mainw->LiVES)); } - if (palette->style==STYLE_PLAIN) { - lives_label_set_text(LIVES_LABEL(mainw->banner)," = < L i V E S > = "); + if (palette->style == STYLE_PLAIN) { + lives_label_set_text(LIVES_LABEL(mainw->banner), " = < L i V E S > = "); } else { - lives_label_set_text(LIVES_LABEL(mainw->banner)," "); + lives_label_set_text(LIVES_LABEL(mainw->banner), " "); } lives_frame_set_label(LIVES_FRAME(mainw->frame1), _("First Frame")); if (!mainw->preview) { - lives_frame_set_label(LIVES_FRAME(mainw->playframe),_("Play")); + lives_frame_set_label(LIVES_FRAME(mainw->playframe), _("Play")); } else { - lives_frame_set_label(LIVES_FRAME(mainw->playframe),_("Preview")); + lives_frame_set_label(LIVES_FRAME(mainw->playframe), _("Preview")); } lives_frame_set_label(LIVES_FRAME(mainw->frame2), _("Last Frame")); @@ -3127,11 +3079,11 @@ lives_widget_show(mainw->menu_hbox); lives_widget_hide(mainw->tb_hbox); lives_widget_show(mainw->hseparator); - if (!mainw->double_size||mainw->sep_win) { - if (palette->style&STYLE_1) { + if (!mainw->double_size || mainw->sep_win) { + if (palette->style & STYLE_1) { lives_widget_show(mainw->sep_image); } - if (mainw->multitrack==NULL) lives_widget_show(mainw->scrolledwindow); + if (mainw->multitrack == NULL) lives_widget_show(mainw->scrolledwindow); } lives_widget_show(mainw->start_image); lives_widget_show(mainw->end_image); @@ -3140,7 +3092,7 @@ lives_widget_show(mainw->hruler); lives_widget_show(mainw->eventbox5); } - if (cfile->frames>0&&!(prefs->sepwin_type==SEPWIN_TYPE_STICKY&&mainw->sep_win)) { + if (cfile->frames > 0 && !(prefs->sepwin_type == SEPWIN_TYPE_STICKY && mainw->sep_win)) { lives_widget_show(mainw->playframe); } lives_widget_show(mainw->spinbutton_start); @@ -3151,7 +3103,7 @@ lives_widget_show(mainw->spinbutton_pb_fps); lives_widget_show(mainw->message_box); - if (stop_closure!=NULL&&prefs->show_gui) { + if (stop_closure != NULL && prefs->show_gui) { lives_accel_group_disconnect(LIVES_ACCEL_GROUP(mainw->accel_group), stop_closure); lives_widget_add_accelerator(mainw->stop, LIVES_WIDGET_ACTIVATE_SIGNAL, mainw->accel_group, LIVES_KEY_q, (LiVESXModifierType)0, @@ -3181,7 +3133,7 @@ LIVES_KEY_g, (LiVESXModifierType)0, LIVES_ACCEL_VISIBLE); - if (!cfile->achans||mainw->mute||mainw->loop_cont||is_realtime_aplayer(prefs->audio_player)) { + if (!cfile->achans || mainw->mute || mainw->loop_cont || is_realtime_aplayer(prefs->audio_player)) { lives_accel_group_disconnect(LIVES_ACCEL_GROUP(mainw->accel_group), loop_closure); lives_widget_add_accelerator(mainw->loop_video, LIVES_WIDGET_ACTIVATE_SIGNAL, mainw->accel_group, LIVES_KEY_l, (LiVESXModifierType)0, @@ -3211,14 +3163,13 @@ LIVES_KEY_d, (LiVESXModifierType)0, LIVES_ACCEL_VISIBLE); - if (palette->style!=STYLE_PLAIN) { + if (palette->style != STYLE_PLAIN) { lives_accel_group_disconnect(LIVES_ACCEL_GROUP(mainw->accel_group), fade_closure); lives_widget_add_accelerator(mainw->fade, LIVES_WIDGET_ACTIVATE_SIGNAL, mainw->accel_group, LIVES_KEY_b, (LiVESXModifierType)0, LIVES_ACCEL_VISIBLE); } - stop_closure=NULL; - + stop_closure = NULL; } if (mainw->double_size) { resize(2); @@ -3228,39 +3179,36 @@ lives_widget_context_update(); - lives_widget_set_app_paintable(mainw->freventbox0,TRUE); - lives_widget_set_app_paintable(mainw->freventbox1,TRUE); + lives_widget_set_app_paintable(mainw->freventbox0, TRUE); + lives_widget_set_app_paintable(mainw->freventbox1, TRUE); - set_colours(&palette->normal_fore,&palette->normal_back,&palette->menu_and_bars_fore,&palette->menu_and_bars, \ - &palette->info_base,&palette->info_text); + set_colours(&palette->normal_fore, &palette->normal_back, &palette->menu_and_bars_fore, &palette->menu_and_bars, \ + &palette->info_base, &palette->info_text); } - void fullscreen_internal(void) { // resize for full screen, internal player, no separate window - int bx,by; - - int w,h,scr_width,scr_height; + int bx, by; + int w, h, scr_width, scr_height; - if (prefs->gui_monitor==0) { - scr_width=mainw->scr_width; - scr_height=mainw->scr_height; + if (prefs->gui_monitor == 0) { + scr_width = mainw->scr_width; + scr_height = mainw->scr_height; } else { - scr_width=mainw->mgeom[prefs->gui_monitor-1].width; - scr_height=mainw->mgeom[prefs->gui_monitor-1].height; + scr_width = mainw->mgeom[prefs->gui_monitor - 1].width; + scr_height = mainw->mgeom[prefs->gui_monitor - 1].height; } - if (mainw->multitrack==NULL) { - + if (mainw->multitrack == NULL) { lives_widget_hide(mainw->frame1); lives_widget_hide(mainw->frame2); lives_widget_hide(mainw->eventbox3); lives_widget_hide(mainw->eventbox4); - lives_frame_set_label(LIVES_FRAME(mainw->playframe),NULL); + lives_frame_set_label(LIVES_FRAME(mainw->playframe), NULL); lives_container_set_border_width(LIVES_CONTAINER(mainw->playframe), 0); lives_widget_hide(mainw->t_bckground); @@ -3268,59 +3216,56 @@ lives_widget_hide(mainw->menu_hbox); - - if (mainw->playing_file==-1) { - lives_image_set_from_pixbuf(LIVES_IMAGE(mainw->play_image),NULL); + if (mainw->playing_file == -1) { + lives_image_set_from_pixbuf(LIVES_IMAGE(mainw->play_image), NULL); } lives_widget_context_update(); get_border_size(mainw->LiVES, &bx, &by); - if (future_prefs->show_tool) by+=lives_widget_get_allocation_height(mainw->tb_hbox); + if (future_prefs->show_tool) by += lives_widget_get_allocation_height(mainw->tb_hbox); - lives_widget_set_size_request(mainw->playframe, lives_widget_get_allocation_width(mainw->LiVES)-bx, - lives_widget_get_allocation_height(mainw->LiVES)-by); + lives_widget_set_size_request(mainw->playframe, lives_widget_get_allocation_width(mainw->LiVES) - bx, + lives_widget_get_allocation_height(mainw->LiVES) - by); - w=lives_widget_get_allocation_width(mainw->LiVES); - h=lives_widget_get_allocation_height(mainw->LiVES); + w = lives_widget_get_allocation_width(mainw->LiVES); + h = lives_widget_get_allocation_height(mainw->LiVES); - if (w>scr_width) w=scr_width; - if (h>scr_height) h=scr_height; - - lives_widget_set_size_request(mainw->LiVES,w,h); + if (w > scr_width) w = scr_width; + if (h > scr_height) h = scr_height; + lives_widget_set_size_request(mainw->LiVES, w, h); } else { make_play_window(); } - } - void block_expose(void) { // block expose/config events // sometimes we need to do this before showing/re-showing the play window // otherwise we get into a loop of expose events // symptoms - strace shows the app looping on poll() and it is otherwise // unresponsive - mainw->draw_blocked=TRUE; -#if !GTK_CHECK_VERSION(3,0,0) - lives_signal_handler_block(mainw->video_draw,mainw->config_func); - lives_signal_handler_block(mainw->video_draw,mainw->vidbar_func); - lives_signal_handler_block(mainw->laudio_draw,mainw->laudbar_func); - lives_signal_handler_block(mainw->raudio_draw,mainw->raudbar_func); + mainw->draw_blocked = TRUE; +#if !GTK_CHECK_VERSION(3, 0, 0) + lives_signal_handler_block(mainw->video_draw, mainw->config_func); + lives_signal_handler_block(mainw->video_draw, mainw->vidbar_func); + lives_signal_handler_block(mainw->laudio_draw, mainw->laudbar_func); + lives_signal_handler_block(mainw->raudio_draw, mainw->raudbar_func); #endif } + void unblock_expose(void) { // unblock expose/config events - mainw->draw_blocked=FALSE; -#if !GTK_CHECK_VERSION(3,0,0) - lives_signal_handler_unblock(mainw->video_draw,mainw->config_func); - lives_signal_handler_unblock(mainw->video_draw,mainw->vidbar_func); - lives_signal_handler_unblock(mainw->laudio_draw,mainw->laudbar_func); - lives_signal_handler_unblock(mainw->raudio_draw,mainw->raudbar_func); + mainw->draw_blocked = FALSE; +#if !GTK_CHECK_VERSION(3, 0, 0) + lives_signal_handler_unblock(mainw->video_draw, mainw->config_func); + lives_signal_handler_unblock(mainw->video_draw, mainw->vidbar_func); + lives_signal_handler_unblock(mainw->laudio_draw, mainw->laudbar_func); + lives_signal_handler_unblock(mainw->raudio_draw, mainw->raudbar_func); #endif } @@ -3331,11 +3276,10 @@ lives_widget_set_fg_color(mainw->preview_box, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); lives_widget_set_bg_color(mainw->preview_hbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); lives_widget_set_fg_color(mainw->preview_hbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); - set_child_colour(mainw->preview_box,TRUE); + set_child_colour(mainw->preview_box, TRUE); } - void make_preview_box(void) { // create a box to show frames in, this will go in the sepwin when we are not playing LiVESWidget *eventbox; @@ -3353,19 +3297,19 @@ char buff[PATH_MAX]; char *fnamex; - char *tmp,*tmp2; + char *tmp, *tmp2; mainw->preview_box = lives_vbox_new(FALSE, 0); lives_object_ref(mainw->preview_box); - eventbox=lives_event_box_new(); + eventbox = lives_event_box_new(); lives_widget_set_events(eventbox, LIVES_SCROLL_MASK); lives_signal_connect(LIVES_GUI_OBJECT(eventbox), LIVES_WIDGET_SCROLL_EVENT, LIVES_GUI_CALLBACK(on_mouse_scroll), NULL); -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) lives_signal_connect(LIVES_GUI_OBJECT(eventbox), LIVES_WIDGET_EXPOSE_EVENT, LIVES_GUI_CALLBACK(expose_pim), NULL); @@ -3377,82 +3321,79 @@ LIVES_GUI_CALLBACK(frame_context), LIVES_INT_TO_POINTER(3)); - mainw->preview_image = lives_image_new_from_pixbuf(NULL); lives_widget_show(mainw->preview_image); lives_container_add(LIVES_CONTAINER(eventbox), mainw->preview_image); - lives_widget_set_app_paintable(eventbox,TRUE); + lives_widget_set_app_paintable(eventbox, TRUE); - if (mainw->play_window!=NULL) { - if (mainw->current_file<0||cfile->frames==0) { - if (mainw->imframe!=NULL) { - lives_widget_set_size_request(mainw->preview_image,lives_pixbuf_get_width(mainw->imframe),lives_pixbuf_get_height(mainw->imframe)); + if (mainw->play_window != NULL) { + if (mainw->current_file < 0 || cfile->frames == 0) { + if (mainw->imframe != NULL) { + lives_widget_set_size_request(mainw->preview_image, lives_pixbuf_get_width(mainw->imframe), lives_pixbuf_get_height(mainw->imframe)); } } else - lives_widget_set_size_request(mainw->preview_image,MAX(mainw->pwidth,mainw->sepwin_minwidth),mainw->pheight); + lives_widget_set_size_request(mainw->preview_image, MAX(mainw->pwidth, mainw->sepwin_minwidth), mainw->pheight); } - lives_widget_set_hexpand(mainw->preview_box,TRUE); - lives_widget_set_vexpand(mainw->preview_box,TRUE); + lives_widget_set_hexpand(mainw->preview_box, TRUE); + lives_widget_set_vexpand(mainw->preview_box, TRUE); - mainw->preview_controls=lives_vbox_new(FALSE, 0); + mainw->preview_controls = lives_vbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(mainw->preview_box), mainw->preview_controls, FALSE, FALSE, 0); - lives_widget_set_vexpand(mainw->preview_controls,FALSE); + lives_widget_set_vexpand(mainw->preview_controls, FALSE); mainw->preview_hbox = lives_hbox_new(FALSE, 0); - lives_widget_set_vexpand(mainw->preview_hbox,FALSE); + lives_widget_set_vexpand(mainw->preview_hbox, FALSE); lives_container_set_border_width(LIVES_CONTAINER(mainw->preview_hbox), 0); lives_widget_set_bg_color(mainw->preview_hbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); - mainw->preview_spinbutton = lives_standard_spin_button_new(NULL,FALSE,(mainw->current_file>-1&&cfile->frames>0.)?1.:0., - (mainw->current_file>-1&&cfile->frames>0.)?1.:0., - (mainw->current_file>-1&&cfile->frames>0.)?cfile->frames:0., + mainw->preview_spinbutton = lives_standard_spin_button_new(NULL, FALSE, (mainw->current_file > -1 && cfile->frames > 0.) ? 1. : 0., + (mainw->current_file > -1 && cfile->frames > 0.) ? 1. : 0., + (mainw->current_file > -1 && cfile->frames > 0.) ? cfile->frames : 0., 1., 10., 0, - LIVES_BOX(mainw->preview_hbox),_("Frame number to preview")); - - mainw->preview_scale=lives_hscale_new(lives_spin_button_get_adjustment(LIVES_SPIN_BUTTON(mainw->preview_spinbutton))); - lives_scale_set_draw_value(LIVES_SCALE(mainw->preview_scale),FALSE); + LIVES_BOX(mainw->preview_hbox), _("Frame number to preview")); + mainw->preview_scale = lives_hscale_new(lives_spin_button_get_adjustment(LIVES_SPIN_BUTTON(mainw->preview_spinbutton))); + lives_scale_set_draw_value(LIVES_SCALE(mainw->preview_scale), FALSE); - lives_box_pack_start(LIVES_BOX(mainw->preview_controls), mainw->preview_scale,FALSE, FALSE, 0); + lives_box_pack_start(LIVES_BOX(mainw->preview_controls), mainw->preview_scale, FALSE, FALSE, 0); lives_box_pack_start(LIVES_BOX(mainw->preview_controls), mainw->preview_hbox, FALSE, FALSE, 0); - lives_entry_set_width_chars(LIVES_ENTRY(mainw->preview_spinbutton),PREVSBWIDTHCHARS); + lives_entry_set_width_chars(LIVES_ENTRY(mainw->preview_spinbutton), PREVSBWIDTHCHARS); - radiobutton_free=lives_standard_radio_button_new((tmp=lives_strdup(_("_Free"))),TRUE,radiobutton_group,LIVES_BOX(mainw->preview_hbox), - (tmp2=lives_strdup(_("Free choice of frame number")))); + radiobutton_free = lives_standard_radio_button_new((tmp = lives_strdup(_("_Free"))), TRUE, radiobutton_group, + LIVES_BOX(mainw->preview_hbox), + (tmp2 = lives_strdup(_("Free choice of frame number")))); lives_free(tmp); lives_free(tmp2); radiobutton_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(radiobutton_free)); - radiobutton_start=lives_standard_radio_button_new((tmp=lives_strdup(_("_Start"))),TRUE,radiobutton_group,LIVES_BOX(mainw->preview_hbox), - (tmp2=lives_strdup(_("Frame number is linked to start frame")))); + radiobutton_start = lives_standard_radio_button_new((tmp = lives_strdup(_("_Start"))), TRUE, radiobutton_group, + LIVES_BOX(mainw->preview_hbox), + (tmp2 = lives_strdup(_("Frame number is linked to start frame")))); lives_free(tmp); lives_free(tmp2); radiobutton_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(radiobutton_start)); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(radiobutton_start), mainw->prv_link==PRV_START); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(radiobutton_start), mainw->prv_link == PRV_START); - - radiobutton_end=lives_standard_radio_button_new((tmp=lives_strdup(_("_End"))),TRUE,radiobutton_group,LIVES_BOX(mainw->preview_hbox), - (tmp2=lives_strdup(_("Frame number is linked to end frame")))); + radiobutton_end = lives_standard_radio_button_new((tmp = lives_strdup(_("_End"))), TRUE, radiobutton_group, LIVES_BOX(mainw->preview_hbox), + (tmp2 = lives_strdup(_("Frame number is linked to end frame")))); lives_free(tmp); lives_free(tmp2); radiobutton_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(radiobutton_end)); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(radiobutton_end), mainw->prv_link==PRV_END); - + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(radiobutton_end), mainw->prv_link == PRV_END); - radiobutton_ptr=lives_standard_radio_button_new((tmp=lives_strdup(_("_Pointer"))),TRUE,radiobutton_group,LIVES_BOX(mainw->preview_hbox), - (tmp2=lives_strdup(_("Frame number is linked to playback pointer")))); + radiobutton_ptr = lives_standard_radio_button_new((tmp = lives_strdup(_("_Pointer"))), TRUE, radiobutton_group, + LIVES_BOX(mainw->preview_hbox), + (tmp2 = lives_strdup(_("Frame number is linked to playback pointer")))); lives_free(tmp); lives_free(tmp2); - - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(radiobutton_end), mainw->prv_link==PRV_PTR); - + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(radiobutton_end), mainw->prv_link == PRV_PTR); add_hsep_to_box(LIVES_BOX(mainw->preview_controls)); @@ -3460,65 +3401,65 @@ hbox_buttons = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(mainw->preview_controls), hbox_buttons, TRUE, TRUE, 0); - rewind_img=lives_image_new_from_stock(LIVES_STOCK_MEDIA_REWIND, lives_toolbar_get_icon_size(LIVES_TOOLBAR(mainw->btoolbar))); - mainw->p_rewindbutton=lives_button_new(); + rewind_img = lives_image_new_from_stock(LIVES_STOCK_MEDIA_REWIND, lives_toolbar_get_icon_size(LIVES_TOOLBAR(mainw->btoolbar))); + mainw->p_rewindbutton = lives_button_new(); lives_widget_set_bg_color(mainw->p_rewindbutton, LIVES_WIDGET_STATE_ACTIVE, &palette->menu_and_bars); lives_button_set_relief(LIVES_BUTTON(mainw->p_rewindbutton), LIVES_RELIEF_NONE); lives_container_add(LIVES_CONTAINER(mainw->p_rewindbutton), rewind_img); lives_box_pack_start(LIVES_BOX(hbox_buttons), mainw->p_rewindbutton, TRUE, TRUE, 0); lives_widget_show(mainw->p_rewindbutton); lives_widget_show(rewind_img); - lives_widget_set_tooltip_text(mainw->p_rewindbutton,_("Rewind")); - lives_widget_set_sensitive(mainw->p_rewindbutton, mainw->current_file>-1&&cfile->pointer_time>0.); + lives_widget_set_tooltip_text(mainw->p_rewindbutton, _("Rewind")); + lives_widget_set_sensitive(mainw->p_rewindbutton, mainw->current_file > -1 && cfile->pointer_time > 0.); - play_img=lives_image_new_from_stock(LIVES_STOCK_MEDIA_PLAY, lives_toolbar_get_icon_size(LIVES_TOOLBAR(mainw->btoolbar))); - mainw->p_playbutton=lives_button_new(); + play_img = lives_image_new_from_stock(LIVES_STOCK_MEDIA_PLAY, lives_toolbar_get_icon_size(LIVES_TOOLBAR(mainw->btoolbar))); + mainw->p_playbutton = lives_button_new(); lives_widget_set_bg_color(mainw->p_playbutton, LIVES_WIDGET_STATE_ACTIVE, &palette->menu_and_bars); lives_button_set_relief(LIVES_BUTTON(mainw->p_playbutton), LIVES_RELIEF_NONE); lives_container_add(LIVES_CONTAINER(mainw->p_playbutton), play_img); lives_box_pack_start(LIVES_BOX(hbox_buttons), mainw->p_playbutton, TRUE, TRUE, 0); lives_widget_show(mainw->p_playbutton); lives_widget_show(play_img); - lives_widget_set_tooltip_text(mainw->p_playbutton,_("Play all")); + lives_widget_set_tooltip_text(mainw->p_playbutton, _("Play all")); - fnamex=lives_build_filename(prefs->prefix_dir,ICON_DIR,"playsel.png",NULL); - lives_snprintf(buff,PATH_MAX,"%s",fnamex); + fnamex = lives_build_filename(prefs->prefix_dir, ICON_DIR, "playsel.png", NULL); + lives_snprintf(buff, PATH_MAX, "%s", fnamex); lives_free(fnamex); - playsel_img=lives_image_new_from_file(buff); - mainw->p_playselbutton=lives_button_new(); + playsel_img = lives_image_new_from_file(buff); + mainw->p_playselbutton = lives_button_new(); lives_widget_set_bg_color(mainw->p_playselbutton, LIVES_WIDGET_STATE_ACTIVE, &palette->menu_and_bars); lives_button_set_relief(LIVES_BUTTON(mainw->p_playselbutton), LIVES_RELIEF_NONE); lives_container_add(LIVES_CONTAINER(mainw->p_playselbutton), playsel_img); lives_box_pack_start(LIVES_BOX(hbox_buttons), mainw->p_playselbutton, TRUE, TRUE, 0); lives_widget_show(mainw->p_playselbutton); lives_widget_show(playsel_img); - lives_widget_set_tooltip_text(mainw->p_playselbutton,_("Play Selection")); - lives_widget_set_sensitive(mainw->p_playselbutton, mainw->current_file>-1&&cfile->frames>0); + lives_widget_set_tooltip_text(mainw->p_playselbutton, _("Play Selection")); + lives_widget_set_sensitive(mainw->p_playselbutton, mainw->current_file > -1 && cfile->frames > 0); - fnamex=lives_build_filename(prefs->prefix_dir,ICON_DIR,"loop.png",NULL); - lives_snprintf(buff,PATH_MAX,"%s",fnamex); + fnamex = lives_build_filename(prefs->prefix_dir, ICON_DIR, "loop.png", NULL); + lives_snprintf(buff, PATH_MAX, "%s", fnamex); lives_free(fnamex); - loop_img=lives_image_new_from_file(buff); - mainw->p_loopbutton=lives_button_new(); + loop_img = lives_image_new_from_file(buff); + mainw->p_loopbutton = lives_button_new(); lives_widget_set_bg_color(mainw->p_loopbutton, LIVES_WIDGET_STATE_ACTIVE, &palette->menu_and_bars); lives_button_set_relief(LIVES_BUTTON(mainw->p_loopbutton), LIVES_RELIEF_NONE); lives_container_add(LIVES_CONTAINER(mainw->p_loopbutton), loop_img); lives_box_pack_start(LIVES_BOX(hbox_buttons), mainw->p_loopbutton, TRUE, TRUE, 0); lives_widget_show(mainw->p_loopbutton); lives_widget_show(loop_img); - lives_widget_set_tooltip_text(mainw->p_loopbutton,_("Loop On/Off")); + lives_widget_set_tooltip_text(mainw->p_loopbutton, _("Loop On/Off")); lives_widget_set_sensitive(mainw->p_loopbutton, TRUE); - fnamex=lives_build_filename(prefs->prefix_dir,ICON_DIR,"volume_mute.png",NULL); - lives_snprintf(buff,PATH_MAX,"%s",fnamex); + fnamex = lives_build_filename(prefs->prefix_dir, ICON_DIR, "volume_mute.png", NULL); + lives_snprintf(buff, PATH_MAX, "%s", fnamex); lives_free(fnamex); - mainw->p_mute_img=lives_image_new_from_file(buff); - if (lives_file_test(buff,LIVES_FILE_TEST_EXISTS)&&!mainw->mute) { - LiVESPixbuf *pixbuf=lives_image_get_pixbuf(LIVES_IMAGE(mainw->p_mute_img)); - lives_pixbuf_saturate_and_pixelate(pixbuf,pixbuf,0.2,FALSE); + mainw->p_mute_img = lives_image_new_from_file(buff); + if (lives_file_test(buff, LIVES_FILE_TEST_EXISTS) && !mainw->mute) { + LiVESPixbuf *pixbuf = lives_image_get_pixbuf(LIVES_IMAGE(mainw->p_mute_img)); + lives_pixbuf_saturate_and_pixelate(pixbuf, pixbuf, 0.2, FALSE); } - mainw->p_mutebutton=lives_button_new(); + mainw->p_mutebutton = lives_button_new(); lives_widget_set_bg_color(mainw->p_mutebutton, LIVES_WIDGET_STATE_ACTIVE, &palette->menu_and_bars); lives_button_set_relief(LIVES_BUTTON(mainw->p_mutebutton), LIVES_RELIEF_NONE); lives_container_add(LIVES_CONTAINER(mainw->p_mutebutton), mainw->p_mute_img); @@ -3526,8 +3467,8 @@ lives_widget_show(mainw->p_mutebutton); lives_widget_show(mainw->p_mute_img); - if (!mainw->mute) lives_widget_set_tooltip_text(mainw->p_mutebutton,_("Mute the audio (z)")); - else lives_widget_set_tooltip_text(mainw->p_mutebutton,_("Unmute the audio (z)")); + if (!mainw->mute) lives_widget_set_tooltip_text(mainw->p_mutebutton, _("Mute the audio (z)")); + else lives_widget_set_tooltip_text(mainw->p_mutebutton, _("Unmute the audio (z)")); lives_signal_connect(LIVES_GUI_OBJECT(radiobutton_free), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(on_prv_link_toggled), @@ -3558,106 +3499,101 @@ LIVES_GUI_CALLBACK(on_loop_button_activate), NULL); - mainw->preview_spin_func=lives_signal_connect_after(LIVES_GUI_OBJECT(mainw->preview_spinbutton), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, - LIVES_GUI_CALLBACK(on_preview_spinbutton_changed), - NULL); + mainw->preview_spin_func = lives_signal_connect_after(LIVES_GUI_OBJECT(mainw->preview_spinbutton), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, + LIVES_GUI_CALLBACK(on_preview_spinbutton_changed), + NULL); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { set_preview_box_colours(); } lives_widget_show_all(mainw->preview_box); - } -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) void calibrate_sepwin_size(void) { // get size of preview box in sepwin LiVESRequisition req; make_preview_box(); - lives_widget_get_preferred_size(mainw->preview_controls,NULL,&req); - mainw->sepwin_minwidth=req.width; - mainw->sepwin_minheight=req.height; + lives_widget_get_preferred_size(mainw->preview_controls, NULL, &req); + mainw->sepwin_minwidth = req.width; + mainw->sepwin_minheight = req.height; } #endif void enable_record(void) { - set_menu_text(mainw->record_perf, _("Start _recording"),TRUE); + set_menu_text(mainw->record_perf, _("Start _recording"), TRUE); lives_widget_set_sensitive(mainw->record_perf, TRUE); } + void toggle_record(void) { - set_menu_text(mainw->record_perf, _("Stop _recording"),TRUE); + set_menu_text(mainw->record_perf, _("Stop _recording"), TRUE); } void disable_record(void) { - set_menu_text(mainw->record_perf, _("_Record Performance"),TRUE); + set_menu_text(mainw->record_perf, _("_Record Performance"), TRUE); } - void play_window_set_title(void) { char *xtrabit; - char *title=NULL; + char *title = NULL; - if (mainw->play_window==NULL) return; + if (mainw->play_window == NULL) return; - if (mainw->sepwin_scale!=100.) xtrabit=lives_strdup_printf(_(" (%d %% scale)"),(int)mainw->sepwin_scale); - else xtrabit=lives_strdup(""); + if (mainw->sepwin_scale != 100.) xtrabit = lives_strdup_printf(_(" (%d %% scale)"), (int)mainw->sepwin_scale); + else xtrabit = lives_strdup(""); - if (mainw->playing_file>-1) { - if (mainw->vpp!=NULL&&!(mainw->vpp->capabilities&VPP_LOCAL_DISPLAY)&&mainw->fs) - lives_window_set_title(LIVES_WINDOW(mainw->play_window),_("Streaming")); + if (mainw->playing_file > -1) { + if (mainw->vpp != NULL && !(mainw->vpp->capabilities & VPP_LOCAL_DISPLAY) && mainw->fs) + lives_window_set_title(LIVES_WINDOW(mainw->play_window), _("Streaming")); else { - title=lives_strdup_printf(_("Play Window%s"),xtrabit); + title = lives_strdup_printf(_("Play Window%s"), xtrabit); lives_window_set_title(LIVES_WINDOW(mainw->play_window), title); } } else { - char *otit=widget_opts.title_prefix; - title=lives_strdup_printf("%s%s",lives_window_get_title(LIVES_WINDOW - ((mainw->multitrack==NULL?mainw->LiVES: - mainw->multitrack->window))), - xtrabit); - widget_opts.title_prefix=""; - lives_window_set_title(LIVES_WINDOW(mainw->play_window),title); - widget_opts.title_prefix=otit; + char *otit = widget_opts.title_prefix; + title = lives_strdup_printf("%s%s", lives_window_get_title(LIVES_WINDOW((LIVES_MAIN_WINDOW_WIDGET))), + xtrabit); + widget_opts.title_prefix = ""; + lives_window_set_title(LIVES_WINDOW(mainw->play_window), title); + widget_opts.title_prefix = otit; } - if (title!=NULL) lives_free(title); + if (title != NULL) lives_free(title); lives_free(xtrabit); - } void resize_widgets_for_monitor(boolean get_play_times) { // resize widgets if we are aware that monitor resolution has changed - mainw->scr_width=mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].width; - mainw->scr_height=mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].height; + mainw->scr_width = mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].width; + mainw->scr_height = mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].height; - if (mainw->multitrack==NULL) { - if (prefs->gui_monitor!=0) { + if (mainw->multitrack == NULL) { + if (prefs->gui_monitor != 0) { lives_window_center(LIVES_WINDOW(mainw->LiVES)); } - if (prefs->open_maximised&&prefs->show_gui) { + if (prefs->open_maximised && prefs->show_gui) { lives_window_maximize(LIVES_WINDOW(mainw->LiVES)); } } else { - if (prefs->gui_monitor!=0) { + if (prefs->gui_monitor != 0) { lives_window_center(LIVES_WINDOW(mainw->multitrack->window)); } - - if ((prefs->gui_monitor!=0||capable->nmonitors<=1)&&prefs->open_maximised) { + if ((prefs->gui_monitor != 0 || capable->nmonitors <= 1) && prefs->open_maximised) { lives_window_maximize(LIVES_WINDOW(mainw->multitrack->window)); } } - if (mainw->play_window!=NULL) { + if (mainw->play_window != NULL) { resize_play_window(); } @@ -3666,21 +3602,19 @@ get_play_times(); } }*/ - - } void make_play_window(void) { // separate window - if (mainw->playing_file>-1) { + if (mainw->playing_file > -1) { unhide_cursor(lives_widget_get_xwindow(mainw->playarea)); } - lives_image_set_from_pixbuf(LIVES_IMAGE(mainw->play_image),NULL); + lives_image_set_from_pixbuf(LIVES_IMAGE(mainw->play_image), NULL); - if (mainw->play_window!=NULL) { + if (mainw->play_window != NULL) { // this shouldn't ever happen kill_play_window(); } @@ -3693,27 +3627,26 @@ // cannot do this or it forces showing on the GUI monitor //gtk_window_set_position(LIVES_WINDOW(mainw->play_window),GTK_WIN_POS_CENTER_ALWAYS); - if (mainw->multitrack==NULL) lives_window_add_accel_group(LIVES_WINDOW(mainw->play_window), mainw->accel_group); + if (mainw->multitrack == NULL) lives_window_add_accel_group(LIVES_WINDOW(mainw->play_window), mainw->accel_group); else lives_window_add_accel_group(LIVES_WINDOW(mainw->play_window), mainw->multitrack->accel_group); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(mainw->play_window, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); } if (prefs->show_playwin) { // show the window (so we can hide its cursor !), and get its xwin - if (!(mainw->fs&&mainw->playing_file>-1&&mainw->vpp!=NULL)) { + if (!(mainw->fs && mainw->playing_file > -1 && mainw->vpp != NULL)) { lives_widget_show(mainw->play_window); } } resize_play_window(); - if (mainw->play_window==NULL) return; + if (mainw->play_window == NULL) return; //if (mainw->playing_file==-1&&mainw->current_file>0&&cfile->frames>0&&mainw->multitrack==NULL) { - if (mainw->multitrack==NULL&&mainw->playing_file==-1) { - - if (mainw->preview_box==NULL) { + if (mainw->multitrack == NULL && mainw->playing_file == -1) { + if (mainw->preview_box == NULL) { // create the preview box that shows frames make_preview_box(); load_preview_image(FALSE); @@ -3723,134 +3656,130 @@ //and add it the play window lives_container_add(LIVES_CONTAINER(mainw->play_window), mainw->preview_box); - if (mainw->is_processing&&mainw->current_file>-1&&!cfile->nopreview) - lives_widget_set_tooltip_text(mainw->p_playbutton,_("Preview")); + if (mainw->is_processing && mainw->current_file > -1 && !cfile->nopreview) + lives_widget_set_tooltip_text(mainw->p_playbutton, _("Preview")); - if (mainw->current_file>-1&&cfile->is_loaded) { + if (mainw->current_file > -1 && cfile->is_loaded) { lives_widget_grab_focus(mainw->preview_spinbutton); } else { lives_widget_hide(mainw->preview_controls); } - if (mainw->playing_file>-1) { + if (mainw->playing_file > -1) { lives_widget_hide(mainw->preview_box); } else { - if (mainw->is_processing&&(mainw->prv_link==PRV_START||mainw->prv_link==PRV_END)) { + if (mainw->is_processing && (mainw->prv_link == PRV_START || mainw->prv_link == PRV_END)) { // block spinbutton in play window - lives_widget_set_sensitive(mainw->preview_spinbutton,FALSE); + lives_widget_set_sensitive(mainw->preview_spinbutton, FALSE); } } } play_window_set_title(); - if ((mainw->current_file==-1||(!cfile->is_loaded&&!mainw->preview)|| - (cfile->frames==0&&(mainw->multitrack==NULL||mainw->playing_file==-1)))&&mainw->imframe!=NULL) { + if ((mainw->current_file == -1 || (!cfile->is_loaded && !mainw->preview) || + (cfile->frames == 0 && (mainw->multitrack == NULL || mainw->playing_file == -1))) && mainw->imframe != NULL) { lives_painter_t *cr = lives_painter_create_from_widget(mainw->play_window); lives_painter_set_source_pixbuf(cr, mainw->imframe, (LiVESXModifierType)0, 0); lives_painter_paint(cr); lives_painter_destroy(cr); } - lives_widget_set_tooltip_text(mainw->m_sepwinbutton,_("Hide Play Window")); + lives_widget_set_tooltip_text(mainw->m_sepwinbutton, _("Hide Play Window")); lives_signal_connect(LIVES_GUI_OBJECT(mainw->play_window), LIVES_WIDGET_DELETE_EVENT, LIVES_GUI_CALLBACK(on_stop_activate_by_del), NULL); - lives_signal_connect(LIVES_GUI_OBJECT(mainw->play_window), LIVES_WIDGET_KEY_PRESS_EVENT, LIVES_GUI_CALLBACK(key_press_or_release), NULL); lives_signal_connect(LIVES_GUI_OBJECT(mainw->play_window), LIVES_WIDGET_KEY_RELEASE_EVENT, LIVES_GUI_CALLBACK(key_press_or_release), NULL); - - } - void resize_play_window(void) { - int opwx,opwy,pmonitor=prefs->play_monitor,gmonitor=prefs->gui_monitor; + int opwx, opwy, pmonitor = prefs->play_monitor, gmonitor = prefs->gui_monitor; - boolean fullscreen=TRUE; + boolean fullscreen = TRUE; boolean size_ok; - int width=-1,height=-1,nwidth,nheight=0; + int width = -1, height = -1, nwidth, nheight = 0; - uint64_t xwinid=0; + uint64_t xwinid = 0; - mainw->sepwin_scale=100.; + mainw->sepwin_scale = 100.; #ifdef DEBUG_HANGS - fullscreen=FALSE; + fullscreen = FALSE; #endif - if (mainw->play_window==NULL) return; + if (mainw->play_window == NULL) return; if (lives_widget_is_visible(mainw->play_window)) { - width=lives_widget_get_allocation_width(mainw->play_window); - height=lives_widget_get_allocation_height(mainw->play_window); + width = lives_widget_get_allocation_width(mainw->play_window); + height = lives_widget_get_allocation_height(mainw->play_window); } - if ((mainw->current_file==-1||(cfile->frames==0&&mainw->multitrack==NULL)|| - (!cfile->is_loaded&&!mainw->preview&&cfile->clip_type!=CLIP_TYPE_GENERATOR))|| - (mainw->multitrack!=NULL&&mainw->playing_file<1&&!mainw->preview)) { - if (mainw->imframe!=NULL) { - mainw->pwidth=lives_pixbuf_get_width(mainw->imframe); - mainw->pheight=lives_pixbuf_get_height(mainw->imframe); + if ((mainw->current_file == -1 || (cfile->frames == 0 && mainw->multitrack == NULL) || + (!cfile->is_loaded && !mainw->preview && cfile->clip_type != CLIP_TYPE_GENERATOR)) || + (mainw->multitrack != NULL && mainw->playing_file < 1 && !mainw->preview)) { + if (mainw->imframe != NULL) { + mainw->pwidth = lives_pixbuf_get_width(mainw->imframe); + mainw->pheight = lives_pixbuf_get_height(mainw->imframe); } else { - if (mainw->multitrack==NULL) { - mainw->pwidth=DEFAULT_FRAME_HSIZE; - mainw->pheight=DEFAULT_FRAME_VSIZE; + if (mainw->multitrack == NULL) { + mainw->pwidth = DEFAULT_FRAME_HSIZE; + mainw->pheight = DEFAULT_FRAME_VSIZE; } } } else { - if (mainw->multitrack==NULL) { - mainw->pwidth=cfile->hsize; - mainw->pheight=cfile->vsize; + if (mainw->multitrack == NULL) { + mainw->pwidth = cfile->hsize; + mainw->pheight = cfile->vsize; } else { - mainw->pwidth=mainw->files[mainw->multitrack->render_file]->hsize; - mainw->pheight=mainw->files[mainw->multitrack->render_file]->vsize; - mainw->must_resize=TRUE; + mainw->pwidth = mainw->files[mainw->multitrack->render_file]->hsize; + mainw->pheight = mainw->files[mainw->multitrack->render_file]->vsize; + mainw->must_resize = TRUE; } - size_ok=FALSE; + size_ok = FALSE; do { - if (pmonitor==0) { - if (mainw->pwidth>mainw->scr_width-SCR_WIDTH_SAFETY|| - mainw->pheight>mainw->scr_height-SCR_HEIGHT_SAFETY) { - mainw->pheight=(mainw->pheight>>2)<<1; - mainw->pwidth=(mainw->pwidth>>2)<<1; - mainw->sepwin_scale/=2.; - } else size_ok=TRUE; + if (pmonitor == 0) { + if (mainw->pwidth > mainw->scr_width - SCR_WIDTH_SAFETY || + mainw->pheight > mainw->scr_height - SCR_HEIGHT_SAFETY) { + mainw->pheight = (mainw->pheight >> 2) << 1; + mainw->pwidth = (mainw->pwidth >> 2) << 1; + mainw->sepwin_scale /= 2.; + } else size_ok = TRUE; } else { - if (mainw->pwidth>mainw->mgeom[pmonitor-1].width-SCR_WIDTH_SAFETY|| - mainw->pheight>mainw->mgeom[pmonitor-1].height-SCR_HEIGHT_SAFETY) { - mainw->pheight=(mainw->pheight>>2)<<1; - mainw->pwidth=(mainw->pwidth>>2)<<1; - mainw->sepwin_scale/=2.; - } else size_ok=TRUE; + if (mainw->pwidth > mainw->mgeom[pmonitor - 1].width - SCR_WIDTH_SAFETY || + mainw->pheight > mainw->mgeom[pmonitor - 1].height - SCR_HEIGHT_SAFETY) { + mainw->pheight = (mainw->pheight >> 2) << 1; + mainw->pwidth = (mainw->pwidth >> 2) << 1; + mainw->sepwin_scale /= 2.; + } else size_ok = TRUE; } } while (!size_ok); } - if (mainw->playing_file>-1) { - if (mainw->double_size&&mainw->multitrack==NULL) { - mainw->pheight*=2; - mainw->pwidth*=2; - if (pmonitor==0) { - if (mainw->pwidth>mainw->scr_width-SCR_WIDTH_SAFETY||mainw->pheight>mainw->scr_height-SCR_HEIGHT_SAFETY) { - calc_maxspect(mainw->scr_width-SCR_WIDTH_SAFETY,mainw->scr_height-SCR_HEIGHT_SAFETY,&mainw->pwidth,&mainw->pheight); - mainw->sepwin_scale=(float)mainw->pwidth/(float)cfile->hsize*100.; + if (mainw->playing_file > -1) { + if (mainw->double_size && mainw->multitrack == NULL) { + mainw->pheight *= 2; + mainw->pwidth *= 2; + if (pmonitor == 0) { + if (mainw->pwidth > mainw->scr_width - SCR_WIDTH_SAFETY || mainw->pheight > mainw->scr_height - SCR_HEIGHT_SAFETY) { + calc_maxspect(mainw->scr_width - SCR_WIDTH_SAFETY, mainw->scr_height - SCR_HEIGHT_SAFETY, &mainw->pwidth, &mainw->pheight); + mainw->sepwin_scale = (float)mainw->pwidth / (float)cfile->hsize * 100.; } } else { - if (mainw->pwidth>mainw->mgeom[pmonitor-1].width-SCR_WIDTH_SAFETY|| - mainw->pheight>mainw->mgeom[pmonitor-1].height-SCR_HEIGHT_SAFETY) { - calc_maxspect(mainw->mgeom[pmonitor-1].width-SCR_WIDTH_SAFETY,mainw->mgeom[pmonitor-1].height-SCR_HEIGHT_SAFETY, - &mainw->pwidth,&mainw->pheight); - mainw->sepwin_scale=(float)mainw->pwidth/(float)cfile->hsize*100.; + if (mainw->pwidth > mainw->mgeom[pmonitor - 1].width - SCR_WIDTH_SAFETY || + mainw->pheight > mainw->mgeom[pmonitor - 1].height - SCR_HEIGHT_SAFETY) { + calc_maxspect(mainw->mgeom[pmonitor - 1].width - SCR_WIDTH_SAFETY, mainw->mgeom[pmonitor - 1].height - SCR_HEIGHT_SAFETY, + &mainw->pwidth, &mainw->pheight); + mainw->sepwin_scale = (float)mainw->pwidth / (float)cfile->hsize * 100.; } } } @@ -3861,96 +3790,96 @@ lives_widget_show(mainw->play_window); } // be careful, the user could switch out of sepwin here ! - mainw->noswitch=TRUE; + mainw->noswitch = TRUE; lives_widget_context_update(); - mainw->noswitch=FALSE; - if (mainw->play_window==NULL) return; - if (!mainw->fs||mainw->playing_file<0) goto point1; - mainw->opwx=mainw->opwy=-1; + mainw->noswitch = FALSE; + if (mainw->play_window == NULL) return; + if (!mainw->fs || mainw->playing_file < 0) goto point1; + mainw->opwx = mainw->opwy = -1; } else { - if (pmonitor==0) { - mainw->opwx=(mainw->scr_width-mainw->pwidth)/2; - mainw->opwy=(mainw->scr_height-mainw->pheight)/2; + if (pmonitor == 0) { + mainw->opwx = (mainw->scr_width - mainw->pwidth) / 2; + mainw->opwy = (mainw->scr_height - mainw->pheight) / 2; } else { - mainw->opwx=mainw->mgeom[pmonitor-1].x+(mainw->mgeom[pmonitor-1].width-mainw->pwidth)/2; - mainw->opwy=mainw->mgeom[pmonitor-1].y+(mainw->mgeom[pmonitor-1].height-mainw->pheight)/2; + mainw->opwx = mainw->mgeom[pmonitor - 1].x + (mainw->mgeom[pmonitor - 1].width - mainw->pwidth) / 2; + mainw->opwy = mainw->mgeom[pmonitor - 1].y + (mainw->mgeom[pmonitor - 1].height - mainw->pheight) / 2; } } - if (pmonitor==0) { - mainw->pwidth=mainw->scr_width; - mainw->pheight=mainw->scr_height; - if (capable->nmonitors>1) { + if (pmonitor == 0) { + mainw->pwidth = mainw->scr_width; + mainw->pheight = mainw->scr_height; + if (capable->nmonitors > 1) { // spread over all monitors - mainw->pwidth=lives_screen_get_width(mainw->mgeom[0].screen); - mainw->pheight=lives_screen_get_height(mainw->mgeom[0].screen); + mainw->pwidth = lives_screen_get_width(mainw->mgeom[0].screen); + mainw->pheight = lives_screen_get_height(mainw->mgeom[0].screen); } } else { - mainw->pwidth=mainw->mgeom[pmonitor-1].width; - mainw->pheight=mainw->mgeom[pmonitor-1].height; + mainw->pwidth = mainw->mgeom[pmonitor - 1].width; + mainw->pheight = mainw->mgeom[pmonitor - 1].height; } if (lives_widget_is_visible(mainw->play_window)) { // store old postion of window - lives_window_get_position(LIVES_WINDOW(mainw->play_window),&opwx,&opwy); - if (opwx*opwy) { - mainw->opwx=opwx; - mainw->opwy=opwy; + lives_window_get_position(LIVES_WINDOW(mainw->play_window), &opwx, &opwy); + if (opwx * opwy) { + mainw->opwx = opwx; + mainw->opwy = opwy; } } - if (pmonitor==0) { - if (mainw->vpp!=NULL&&mainw->vpp->fwidth>0) { - lives_window_move(LIVES_WINDOW(mainw->play_window), (mainw->scr_width-mainw->vpp->fwidth)/2, - (mainw->scr_height-mainw->vpp->fheight)/2); + if (pmonitor == 0) { + if (mainw->vpp != NULL && mainw->vpp->fwidth > 0) { + lives_window_move(LIVES_WINDOW(mainw->play_window), (mainw->scr_width - mainw->vpp->fwidth) / 2, + (mainw->scr_height - mainw->vpp->fheight) / 2); } else lives_window_move(LIVES_WINDOW(mainw->play_window), 0, 0); } else { - lives_window_set_screen(LIVES_WINDOW(mainw->play_window),mainw->mgeom[pmonitor-1].screen); - if (mainw->vpp!=NULL&&mainw->vpp->fwidth>0) { - lives_window_move(LIVES_WINDOW(mainw->play_window), mainw->mgeom[pmonitor-1].x+ - (mainw->mgeom[pmonitor-1].width-mainw->vpp->fwidth)/2, - mainw->mgeom[pmonitor-1].y+(mainw->mgeom[pmonitor-1].height-mainw->vpp->fheight)/2); - } else lives_window_move(LIVES_WINDOW(mainw->play_window),mainw->mgeom[pmonitor-1].x,mainw->mgeom[pmonitor-1].y); + lives_window_set_screen(LIVES_WINDOW(mainw->play_window), mainw->mgeom[pmonitor - 1].screen); + if (mainw->vpp != NULL && mainw->vpp->fwidth > 0) { + lives_window_move(LIVES_WINDOW(mainw->play_window), mainw->mgeom[pmonitor - 1].x + + (mainw->mgeom[pmonitor - 1].width - mainw->vpp->fwidth) / 2, + mainw->mgeom[pmonitor - 1].y + (mainw->mgeom[pmonitor - 1].height - mainw->vpp->fheight) / 2); + } else lives_window_move(LIVES_WINDOW(mainw->play_window), mainw->mgeom[pmonitor - 1].x, mainw->mgeom[pmonitor - 1].y); } // leave this alone * ! - if (!(mainw->vpp!=NULL&&!(mainw->vpp->capabilities&VPP_LOCAL_DISPLAY))) { + if (!(mainw->vpp != NULL && !(mainw->vpp->capabilities & VPP_LOCAL_DISPLAY))) { lives_window_fullscreen(LIVES_WINDOW(mainw->play_window)); lives_window_resize(LIVES_WINDOW(mainw->play_window), mainw->pwidth, mainw->pheight); lives_widget_queue_resize(mainw->play_window); } // init the playback plugin, unless there is a possibility of wrongly sized frames (i.e. during a preview) - if (mainw->vpp!=NULL&&(!mainw->preview||mainw->multitrack!=NULL)) { - boolean fixed_size=FALSE; + if (mainw->vpp != NULL && (!mainw->preview || mainw->multitrack != NULL)) { + boolean fixed_size = FALSE; - mainw->ptr_x=mainw->ptr_y=-1; - if (pmonitor==0) { + mainw->ptr_x = mainw->ptr_y = -1; + if (pmonitor == 0) { // fullscreen playback on all screens (of first display) // get mouse position to warp it back after playback ends // in future we will handle multiple displays, so we will get the mouse device for the first screen of that display - LiVESXDevice *device=mainw->mgeom[0].mouse_device; -#if GTK_CHECK_VERSION(3,0,0) - if (device!=NULL) { + LiVESXDevice *device = mainw->mgeom[0].mouse_device; +#if GTK_CHECK_VERSION(3, 0, 0) + if (device != NULL) { #endif LiVESXScreen *screen; - LiVESXDisplay *display=mainw->mgeom[0].disp; - lives_display_get_pointer(device,display,&screen,&mainw->ptr_x,&mainw->ptr_y,NULL); -#if GTK_CHECK_VERSION(3,0,0) + LiVESXDisplay *display = mainw->mgeom[0].disp; + lives_display_get_pointer(device, display, &screen, &mainw->ptr_x, &mainw->ptr_y, NULL); +#if GTK_CHECK_VERSION(3, 0, 0) } #endif } - if (mainw->vpp->fheight>-1&&mainw->vpp->fwidth>-1) { + if (mainw->vpp->fheight > -1 && mainw->vpp->fwidth > -1) { // fixed o/p size for stream - if (!(mainw->vpp->fwidth*mainw->vpp->fheight)) { - if (mainw->current_file>-1) { - mainw->vpp->fwidth=cfile->hsize; - mainw->vpp->fheight=cfile->vsize; - } else mainw->vpp->fwidth=mainw->vpp->fheight=-1; + if (!(mainw->vpp->fwidth * mainw->vpp->fheight)) { + if (mainw->current_file > -1) { + mainw->vpp->fwidth = cfile->hsize; + mainw->vpp->fheight = cfile->vsize; + } else mainw->vpp->fwidth = mainw->vpp->fheight = -1; } - mainw->pwidth=mainw->vpp->fwidth; - mainw->pheight=mainw->vpp->fheight; - fixed_size=TRUE; + mainw->pwidth = mainw->vpp->fwidth; + mainw->pheight = mainw->vpp->fheight; + fixed_size = TRUE; // * leave this alone ! lives_window_unfullscreen(LIVES_WINDOW(mainw->play_window)); @@ -3961,58 +3890,57 @@ lives_widget_queue_resize(mainw->play_window); } - if (pmonitor!=0) { - fullscreen=FALSE; - if (mainw->play_window!=NULL) { + if (pmonitor != 0) { + fullscreen = FALSE; + if (mainw->play_window != NULL) { if (prefs->show_playwin) { - xwinid=lives_widget_get_xwinid(mainw->play_window,"Unsupported display type for playback plugin"); - if (xwinid==-1) return; - } else xwinid=-1; + xwinid = lives_widget_get_xwinid(mainw->play_window, "Unsupported display type for playback plugin"); + if (xwinid == -1) return; + } else xwinid = -1; } } if (mainw->ext_playback) { - lives_grab_remove(mainw->LiVES); - mainw->ext_keyboard=FALSE; + lives_grab_remove(LIVES_MAIN_WINDOW_WIDGET); + mainw->ext_keyboard = FALSE; #ifdef RT_AUDIO stop_audio_stream(); #endif - if (mainw->vpp->exit_screen!=NULL) { - (*mainw->vpp->exit_screen)(mainw->ptr_x,mainw->ptr_y); + if (mainw->vpp->exit_screen != NULL) { + (*mainw->vpp->exit_screen)(mainw->ptr_x, mainw->ptr_y); } - if (mainw->vpp->capabilities&VPP_LOCAL_DISPLAY&&pmonitor==0) - lives_window_set_keep_below(LIVES_WINDOW(mainw->play_window),FALSE); + if (mainw->vpp->capabilities & VPP_LOCAL_DISPLAY && pmonitor == 0) + lives_window_set_keep_below(LIVES_WINDOW(mainw->play_window), FALSE); } #ifdef RT_AUDIO - if (mainw->vpp->audio_codec!=AUDIO_CODEC_NONE&&prefs->stream_audio_out) { + if (mainw->vpp->audio_codec != AUDIO_CODEC_NONE && prefs->stream_audio_out) { start_audio_stream(); } else { clear_audio_stream(); } #endif - if (mainw->vpp->capabilities&VPP_LOCAL_DISPLAY&&pmonitor==0) - lives_window_set_keep_below(LIVES_WINDOW(mainw->play_window),TRUE); + if (mainw->vpp->capabilities & VPP_LOCAL_DISPLAY && pmonitor == 0) + lives_window_set_keep_below(LIVES_WINDOW(mainw->play_window), TRUE); - if ((mainw->vpp->init_screen==NULL)||((*mainw->vpp->init_screen) - (mainw->pwidth,mainw->pheight*(fixed_size?1:prefs->virt_height), - fullscreen,xwinid,mainw->vpp->extra_argc,mainw->vpp->extra_argv))) { - mainw->ext_playback=TRUE; + if ((mainw->vpp->init_screen == NULL) || ((*mainw->vpp->init_screen) + (mainw->pwidth, mainw->pheight * (fixed_size ? 1 : prefs->virt_height), + fullscreen, xwinid, mainw->vpp->extra_argc, mainw->vpp->extra_argv))) { + mainw->ext_playback = TRUE; // the play window is still visible (in case it was 'always on top') // start key polling from ext plugin - if (mainw->vpp->capabilities&VPP_LOCAL_DISPLAY&&(pmonitor==0||capable->nmonitors==1)) { - lives_grab_add(mainw->LiVES); - mainw->ext_keyboard=TRUE; + if (mainw->vpp->capabilities & VPP_LOCAL_DISPLAY && (pmonitor == 0 || capable->nmonitors == 1)) { + lives_grab_add(LIVES_MAIN_WINDOW_WIDGET); + mainw->ext_keyboard = TRUE; } - } } #define TEST_CE_THUMBS 0 - if (TEST_CE_THUMBS||(prefs->show_gui&&prefs->ce_thumb_mode&&prefs->play_monitor!=prefs->gui_monitor&& - prefs->play_monitor!=0&& - capable->nmonitors>1&&mainw->multitrack==NULL)) { + if (TEST_CE_THUMBS || (prefs->show_gui && prefs->ce_thumb_mode && prefs->play_monitor != prefs->gui_monitor && + prefs->play_monitor != 0 && + capable->nmonitors > 1 && mainw->multitrack == NULL)) { start_ce_thumb_mode(); } } else { @@ -4022,34 +3950,34 @@ } point1: - if (mainw->playing_file==0) { - mainw->pheight=clipboard->vsize; - mainw->pwidth=clipboard->hsize; + if (mainw->playing_file == 0) { + mainw->pheight = clipboard->vsize; + mainw->pwidth = clipboard->hsize; - size_ok=FALSE; + size_ok = FALSE; do { - if (pmonitor==0) { - if (mainw->pwidth>mainw->scr_width-SCR_WIDTH_SAFETY|| - mainw->pheight>mainw->scr_height-SCR_HEIGHT_SAFETY) { - mainw->pheight=(mainw->pheight>>2)<<1; - mainw->pwidth=(mainw->pwidth>>2)<<1; - } else size_ok=TRUE; + if (pmonitor == 0) { + if (mainw->pwidth > mainw->scr_width - SCR_WIDTH_SAFETY || + mainw->pheight > mainw->scr_height - SCR_HEIGHT_SAFETY) { + mainw->pheight = (mainw->pheight >> 2) << 1; + mainw->pwidth = (mainw->pwidth >> 2) << 1; + } else size_ok = TRUE; } else { - if (mainw->pwidth>mainw->mgeom[pmonitor-1].width-SCR_WIDTH_SAFETY|| - mainw->pheight>mainw->mgeom[pmonitor-1].height-SCR_HEIGHT_SAFETY) { - mainw->pheight=(mainw->pheight>>2)<<1; - mainw->pwidth=(mainw->pwidth>>2)<<1; - } else size_ok=TRUE; + if (mainw->pwidth > mainw->mgeom[pmonitor - 1].width - SCR_WIDTH_SAFETY || + mainw->pheight > mainw->mgeom[pmonitor - 1].height - SCR_HEIGHT_SAFETY) { + mainw->pheight = (mainw->pheight >> 2) << 1; + mainw->pwidth = (mainw->pwidth >> 2) << 1; + } else size_ok = TRUE; } } while (!size_ok); } - if (pmonitor==0) lives_window_move(LIVES_WINDOW(mainw->play_window), (mainw->scr_width-mainw->pwidth)/2, - (mainw->scr_height-mainw->pheight)/2); + if (pmonitor == 0) lives_window_move(LIVES_WINDOW(mainw->play_window), (mainw->scr_width - mainw->pwidth) / 2, + (mainw->scr_height - mainw->pheight) / 2); else { - int xcen=mainw->mgeom[pmonitor-1].x+(mainw->mgeom[pmonitor-1].width-mainw->pwidth)/2; - int ycen=mainw->mgeom[pmonitor-1].y+(mainw->mgeom[pmonitor-1].height-mainw->pheight)/2; - lives_window_set_screen(LIVES_WINDOW(mainw->play_window),mainw->mgeom[pmonitor-1].screen); + int xcen = mainw->mgeom[pmonitor - 1].x + (mainw->mgeom[pmonitor - 1].width - mainw->pwidth) / 2; + int ycen = mainw->mgeom[pmonitor - 1].y + (mainw->mgeom[pmonitor - 1].height - mainw->pheight) / 2; + lives_window_set_screen(LIVES_WINDOW(mainw->play_window), mainw->mgeom[pmonitor - 1].screen); lives_window_move(LIVES_WINDOW(mainw->play_window), xcen, ycen); } } @@ -4059,58 +3987,60 @@ } } else { // not playing - if (mainw->fs&&mainw->playing_file==-2&&mainw->sep_win&&prefs->sepwin_type==SEPWIN_TYPE_STICKY) { + if (mainw->fs && mainw->playing_file == -2 && mainw->sep_win && prefs->sepwin_type == SEPWIN_TYPE_STICKY) { if (mainw->ce_thumbs) { end_ce_thumb_mode(); } - if (mainw->opwx>=0&&mainw->opwy>=0) { + if (mainw->opwx >= 0 && mainw->opwy >= 0) { // move window back to its old position after play - if (pmonitor>0) lives_window_set_screen(LIVES_WINDOW(mainw->play_window),mainw->mgeom[pmonitor-1].screen); + if (pmonitor > 0) lives_window_set_screen(LIVES_WINDOW(mainw->play_window), mainw->mgeom[pmonitor - 1].screen); lives_window_move(LIVES_WINDOW(mainw->play_window), mainw->opwx, mainw->opwy); } else { - if (pmonitor==0) lives_window_move(LIVES_WINDOW(mainw->play_window), (mainw->scr_width-mainw->pwidth)/2, - (mainw->scr_height-mainw->pheight-mainw->sepwin_minheight*2)/2); + if (pmonitor == 0) lives_window_move(LIVES_WINDOW(mainw->play_window), (mainw->scr_width - mainw->pwidth) / 2, + (mainw->scr_height - mainw->pheight - mainw->sepwin_minheight * 2) / 2); else { - int xcen=mainw->mgeom[pmonitor-1].x+(mainw->mgeom[pmonitor-1].width-mainw->pwidth)/2; - lives_window_set_screen(LIVES_WINDOW(mainw->play_window),mainw->mgeom[pmonitor-1].screen); - lives_window_move(LIVES_WINDOW(mainw->play_window), xcen, (mainw->mgeom[pmonitor-1].height-mainw->pheight-mainw->sepwin_minheight*2)/2); + int xcen = mainw->mgeom[pmonitor - 1].x + (mainw->mgeom[pmonitor - 1].width - mainw->pwidth) / 2; + lives_window_set_screen(LIVES_WINDOW(mainw->play_window), mainw->mgeom[pmonitor - 1].screen); + lives_window_move(LIVES_WINDOW(mainw->play_window), xcen, + (mainw->mgeom[pmonitor - 1].height - mainw->pheight - mainw->sepwin_minheight * 2) / 2); } } } else { - if (gmonitor==0) lives_window_move(LIVES_WINDOW(mainw->play_window), (mainw->scr_width-mainw->pwidth)/2, - (mainw->scr_height-mainw->pheight-mainw->sepwin_minheight*2)/2); + if (gmonitor == 0) lives_window_move(LIVES_WINDOW(mainw->play_window), (mainw->scr_width - mainw->pwidth) / 2, + (mainw->scr_height - mainw->pheight - mainw->sepwin_minheight * 2) / 2); else { - int xcen=mainw->mgeom[gmonitor-1].x+(mainw->mgeom[gmonitor-1].width-mainw->pwidth)/2; - lives_window_set_screen(LIVES_WINDOW(mainw->play_window),mainw->mgeom[gmonitor-1].screen); - lives_window_move(LIVES_WINDOW(mainw->play_window), xcen, (mainw->mgeom[gmonitor-1].height-mainw->pheight-mainw->sepwin_minheight*2)/2); + int xcen = mainw->mgeom[gmonitor - 1].x + (mainw->mgeom[gmonitor - 1].width - mainw->pwidth) / 2; + lives_window_set_screen(LIVES_WINDOW(mainw->play_window), mainw->mgeom[gmonitor - 1].screen); + lives_window_move(LIVES_WINDOW(mainw->play_window), xcen, + (mainw->mgeom[gmonitor - 1].height - mainw->pheight - mainw->sepwin_minheight * 2) / 2); } } - mainw->opwx=mainw->opwy=-1; + mainw->opwx = mainw->opwy = -1; } - if (mainw->playing_file<0&&(mainw->current_file>-1&&!cfile->opening)) nheight=mainw->sepwin_minheight; + if (mainw->playing_file < 0 && (mainw->current_file > -1 && !cfile->opening)) nheight = mainw->sepwin_minheight; - if (mainw->pheight<MIN_SEPWIN_HEIGHT) nheight+=MIN_SEPWIN_HEIGHT-mainw->pheight; + if (mainw->pheight < MIN_SEPWIN_HEIGHT) nheight += MIN_SEPWIN_HEIGHT - mainw->pheight; - nheight+=mainw->pheight; + nheight += mainw->pheight; - if (mainw->playing_file==-1&&mainw->current_file>-1&&cfile->frames>0&& - (cfile->clip_type==CLIP_TYPE_DISK||cfile->clip_type==CLIP_TYPE_FILE)) - nwidth=MAX(mainw->pwidth,mainw->sepwin_minwidth); - else nwidth=mainw->pwidth; + if (mainw->playing_file == -1 && mainw->current_file > -1 && cfile->frames > 0 && + (cfile->clip_type == CLIP_TYPE_DISK || cfile->clip_type == CLIP_TYPE_FILE)) + nwidth = MAX(mainw->pwidth, mainw->sepwin_minwidth); + else nwidth = mainw->pwidth; lives_window_resize(LIVES_WINDOW(mainw->play_window), nwidth, nheight); lives_widget_set_size_request(mainw->play_window, nwidth, nheight); - if (width!=-1&&(width!=nwidth||height!=nheight)&&mainw->preview_spinbutton!=NULL) - if (mainw->playing_file==-1) { + if (width != -1 && (width != nwidth || height != nheight) && mainw->preview_spinbutton != NULL) { + if (mainw->playing_file == -1) { load_preview_image(FALSE); } + } } - void kill_play_window(void) { // plug our player back into internal window @@ -4118,30 +4048,29 @@ end_ce_thumb_mode(); } - if (mainw->play_window!=NULL) { - if (mainw->preview_box!=NULL&&lives_widget_get_parent(mainw->preview_box)!=NULL) { + if (mainw->play_window != NULL) { + if (mainw->preview_box != NULL && lives_widget_get_parent(mainw->preview_box) != NULL) { // preview_box is refed, so it will survive lives_container_remove(LIVES_CONTAINER(mainw->play_window), mainw->preview_box); } if (LIVES_IS_WINDOW(mainw->play_window)) lives_widget_destroy(mainw->play_window); - mainw->play_window=NULL; + mainw->play_window = NULL; } - lives_widget_set_tooltip_text(mainw->m_sepwinbutton,_("Show Play Window")); + lives_widget_set_tooltip_text(mainw->m_sepwinbutton, _("Show Play Window")); } - void add_to_playframe(void) { // plug the playback image into its frame in the main window lives_widget_show(mainw->playarea); /////////////////////////////////////////////////// - if (mainw->plug==NULL) { - if (!mainw->foreign&&(!mainw->sep_win||prefs->sepwin_type==SEPWIN_TYPE_NON_STICKY)) { - mainw->plug = lives_hbox_new(FALSE,0); - lives_container_add(LIVES_CONTAINER(mainw->playarea),mainw->plug); - if (palette->style&STYLE_1) { + if (mainw->plug == NULL) { + if (!mainw->foreign && (!mainw->sep_win || prefs->sepwin_type == SEPWIN_TYPE_NON_STICKY)) { + mainw->plug = lives_hbox_new(FALSE, 0); + lives_container_add(LIVES_CONTAINER(mainw->playarea), mainw->plug); + if (palette->style & STYLE_1) { lives_widget_set_bg_color(mainw->plug, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); } lives_widget_show(mainw->plug); @@ -4153,13 +4082,13 @@ LIVES_INLINE void frame_size_update(void) { // update widgets when the frame size changes - on_double_size_activate(NULL,LIVES_INT_TO_POINTER(1)); + on_double_size_activate(NULL, LIVES_INT_TO_POINTER(1)); } char *get_menu_name(lives_clip_t *sfile) { - if (sfile==NULL) return NULL; - return sfile->clip_type!=CLIP_TYPE_VIDEODEV?lives_path_get_basename(sfile->name):lives_strdup(sfile->name); + if (sfile == NULL) return NULL; + return sfile->clip_type != CLIP_TYPE_VIDEODEV ? lives_path_get_basename(sfile->name) : lives_strdup(sfile->name); } @@ -4168,37 +4097,36 @@ char *fname; #ifdef TEST_NOTIFY - char *tmp,*detail; + char *tmp, *detail; #endif - #ifndef GTK_RADIO_MENU_BUG - cfile->menuentry = lives_radio_menu_item_new_with_label(mainw->clips_group, tmp=get_menu_name(cfile)); - mainw->clips_group=lives_radio_menu_item_get_group(LIVES_RADIO_MENU_ITEM(cfile->menuentry)); + cfile->menuentry = lives_radio_menu_item_new_with_label(mainw->clips_group, tmp = get_menu_name(cfile)); + mainw->clips_group = lives_radio_menu_item_get_group(LIVES_RADIO_MENU_ITEM(cfile->menuentry)); #else - cfile->menuentry = lives_check_menu_item_new_with_label(fname=get_menu_name(cfile)); - lives_check_menu_item_set_draw_as_radio(LIVES_CHECK_MENU_ITEM(cfile->menuentry),TRUE); + cfile->menuentry = lives_check_menu_item_new_with_label(fname = get_menu_name(cfile)); + lives_check_menu_item_set_draw_as_radio(LIVES_CHECK_MENU_ITEM(cfile->menuentry), TRUE); #endif lives_widget_show(cfile->menuentry); lives_container_add(LIVES_CONTAINER(mainw->clipsmenu), cfile->menuentry); lives_widget_set_sensitive(cfile->menuentry, TRUE); - cfile->menuentry_func=lives_signal_connect(LIVES_GUI_OBJECT(cfile->menuentry), LIVES_WIDGET_TOGGLED_SIGNAL, - LIVES_GUI_CALLBACK(switch_clip_activate), - NULL); + cfile->menuentry_func = lives_signal_connect(LIVES_GUI_OBJECT(cfile->menuentry), LIVES_WIDGET_TOGGLED_SIGNAL, + LIVES_GUI_CALLBACK(switch_clip_activate), + NULL); - if (cfile->clip_type==CLIP_TYPE_DISK||cfile->clip_type==CLIP_TYPE_FILE) mainw->clips_available++; + if (cfile->clip_type == CLIP_TYPE_DISK || cfile->clip_type == CLIP_TYPE_FILE) mainw->clips_available++; pthread_mutex_lock(&mainw->clip_list_mutex); mainw->cliplist = lives_list_append(mainw->cliplist, LIVES_INT_TO_POINTER(mainw->current_file)); pthread_mutex_unlock(&mainw->clip_list_mutex); - cfile->old_frames=cfile->frames; - cfile->ratio_fps=check_for_ratio_fps(cfile->fps); + cfile->old_frames = cfile->frames; + cfile->ratio_fps = check_for_ratio_fps(cfile->fps); #ifdef TEST_NOTIFY - detail=lives_strdup_printf(_("'LiVES opened the file' '%s'"),fname); - tmp=lives_strdup_printf("notify-send %s",detail); - lives_system(tmp,TRUE); + detail = lives_strdup_printf(_("'LiVES opened the file' '%s'"), fname); + tmp = lives_strdup_printf("notify-send %s", detail); + lives_system(tmp, TRUE); lives_free(tmp); lives_free(detail); #endif @@ -4207,8 +4135,6 @@ } - - void remove_from_clipmenu(void) { #ifndef GTK_RADIO_MENU_BUG LiVESList *list; @@ -4216,10 +4142,10 @@ #endif #ifdef TEST_NOTIFY - char *fname=get_menu_name(cfile); - char *detail=lives_strdup_printf(_("'LiVES closed the file' '%s'"),fname); - char *tmp=lives_strdup_printf("notify-send %s",detail); - lives_system(tmp,TRUE); + char *fname = get_menu_name(cfile); + char *detail = lives_strdup_printf(_("'LiVES closed the file' '%s'"), fname); + char *tmp = lives_strdup_printf("notify-send %s", detail); + lives_system(tmp, TRUE); lives_free(tmp); lives_free(fname); lives_free(detail); @@ -4229,105 +4155,94 @@ if (LIVES_IS_WIDGET(cfile->menuentry)) lives_widget_destroy(cfile->menuentry); pthread_mutex_lock(&mainw->clip_list_mutex); - mainw->cliplist=lives_list_remove(mainw->cliplist, LIVES_INT_TO_POINTER(mainw->current_file)); + mainw->cliplist = lives_list_remove(mainw->cliplist, LIVES_INT_TO_POINTER(mainw->current_file)); pthread_mutex_unlock(&mainw->clip_list_mutex); - if (cfile->clip_type==CLIP_TYPE_DISK||cfile->clip_type==CLIP_TYPE_FILE) { + if (cfile->clip_type == CLIP_TYPE_DISK || cfile->clip_type == CLIP_TYPE_FILE) { mainw->clips_available--; if (prefs->crash_recovery) rewrite_recovery_file(); } - #ifndef GTK_RADIO_MENU_BUG - list=mainw->cliplist; - mainw->clips_group=NULL; + list = mainw->cliplist; + mainw->clips_group = NULL; - while (list!=NULL) { - fileno=LIVES_POINTER_TO_INT(list->data); - if (mainw->files[fileno]!=NULL&&mainw->files[fileno]->menuentry!=NULL) { - mainw->clips_group=lives_radio_menu_item_get_group(LIVES_RADIO_MENU_ITEM(mainw->files[fileno]->menuentry)); + while (list != NULL) { + fileno = LIVES_POINTER_TO_INT(list->data); + if (mainw->files[fileno] != NULL && mainw->files[fileno]->menuentry != NULL) { + mainw->clips_group = lives_radio_menu_item_get_group(LIVES_RADIO_MENU_ITEM(mainw->files[fileno]->menuentry)); break; } } #endif - } - - - - ////////////////////////////////////////////////////////////////////// // splash screen - - void splash_init(void) { - LiVESWidget *vbox,*hbox; + LiVESWidget *vbox, *hbox; LiVESWidget *splash_img; LiVESPixbuf *splash_pix; - LiVESError *error=NULL; - char *tmp=lives_strdup_printf("%s/%s/lives-splash.png",prefs->prefix_dir,THEME_DIR); + LiVESError *error = NULL; + char *tmp = lives_strdup_printf("%s/%s/lives-splash.png", prefs->prefix_dir, THEME_DIR); lives_window_set_auto_startup_notification(FALSE); mainw->splash_window = lives_window_new(LIVES_WINDOW_TOPLEVEL); - widget_opts.default_justify=LIVES_JUSTIFY_LEFT; + widget_opts.default_justify = LIVES_JUSTIFY_LEFT; #ifdef GUI_GTK - if (gtk_widget_get_direction(GTK_WIDGET(mainw->splash_window))==GTK_TEXT_DIR_RTL) - widget_opts.default_justify=LIVES_JUSTIFY_RIGHT; + if (gtk_widget_get_direction(GTK_WIDGET(mainw->splash_window)) == GTK_TEXT_DIR_RTL) + widget_opts.default_justify = LIVES_JUSTIFY_RIGHT; #endif if (prefs->show_splash) { #ifdef GUI_GTK - gtk_window_set_type_hint(LIVES_WINDOW(mainw->splash_window),GDK_WINDOW_TYPE_HINT_SPLASHSCREEN); + gtk_window_set_type_hint(LIVES_WINDOW(mainw->splash_window), GDK_WINDOW_TYPE_HINT_SPLASHSCREEN); #endif - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(mainw->splash_window, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); } - vbox = lives_vbox_new(FALSE, widget_opts.packing_height); lives_container_add(LIVES_CONTAINER(mainw->splash_window), vbox); - splash_pix=lives_pixbuf_new_from_file(tmp,&error); + splash_pix = lives_pixbuf_new_from_file(tmp, &error); lives_free(tmp); splash_img = lives_image_new_from_pixbuf(splash_pix); lives_box_pack_start(LIVES_BOX(vbox), splash_img, TRUE, TRUE, 0); - if (splash_pix!=NULL) lives_object_unref(splash_pix); + if (splash_pix != NULL) lives_object_unref(splash_pix); - - mainw->splash_label=lives_standard_label_new(""); + mainw->splash_label = lives_standard_label_new(""); lives_box_pack_start(LIVES_BOX(vbox), mainw->splash_label, TRUE, TRUE, 0); mainw->splash_progress = lives_progress_bar_new(); - lives_progress_bar_set_pulse_step(LIVES_PROGRESS_BAR(mainw->splash_progress),.01); + lives_progress_bar_set_pulse_step(LIVES_PROGRESS_BAR(mainw->splash_progress), .01); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_fg_color(mainw->splash_label, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); lives_widget_set_fg_color(mainw->splash_progress, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); } hbox = lives_hbox_new(FALSE, widget_opts.packing_width); - lives_box_pack_start(LIVES_BOX(hbox), mainw->splash_progress, TRUE, TRUE, widget_opts.packing_width*2); + lives_box_pack_start(LIVES_BOX(hbox), mainw->splash_progress, TRUE, TRUE, widget_opts.packing_width * 2); - lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height*2); + lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height * 2); lives_widget_show_all(mainw->splash_window); - - if (prefs->gui_monitor>0) { - lives_window_set_screen(LIVES_WINDOW(mainw->splash_window),mainw->mgeom[prefs->gui_monitor-1].screen); + if (prefs->gui_monitor > 0) { + lives_window_set_screen(LIVES_WINDOW(mainw->splash_window), mainw->mgeom[prefs->gui_monitor - 1].screen); } lives_window_center(LIVES_WINDOW(mainw->splash_window)); @@ -4335,51 +4250,41 @@ lives_window_present(LIVES_WINDOW(mainw->splash_window)); lives_widget_context_update(); - lives_set_cursor_style(LIVES_CURSOR_BUSY,mainw->splash_window); + lives_set_cursor_style(LIVES_CURSOR_BUSY, mainw->splash_window); } else { lives_widget_destroy(mainw->splash_window); - mainw->splash_window=NULL; + mainw->splash_window = NULL; } lives_window_set_auto_startup_notification(TRUE); - } - - void splash_msg(const char *msg, double pct) { + if (mainw->foreign || mainw->splash_window == NULL) return; - if (mainw->foreign||mainw->splash_window==NULL) return; - - lives_label_set_text(LIVES_LABEL(mainw->splash_label),msg); + lives_label_set_text(LIVES_LABEL(mainw->splash_label), msg); - lives_progress_bar_set_fraction(LIVES_PROGRESS_BAR(mainw->splash_progress),pct); + lives_progress_bar_set_fraction(LIVES_PROGRESS_BAR(mainw->splash_progress), pct); lives_widget_queue_draw(mainw->splash_window); lives_widget_context_update(); - } - - - void splash_end(void) { - if (mainw->foreign) return; - if (mainw->splash_window!=NULL) { - lives_set_cursor_style(LIVES_CURSOR_NORMAL,mainw->splash_window); + if (mainw->splash_window != NULL) { + lives_set_cursor_style(LIVES_CURSOR_NORMAL, mainw->splash_window); lives_widget_destroy(mainw->splash_window); } - mainw->threaded_dialog=FALSE; - mainw->splash_window=NULL; + mainw->threaded_dialog = FALSE; + mainw->splash_window = NULL; lives_widget_context_update(); - if (prefs->startup_interface==STARTUP_MT&&prefs->startup_phase==0&&mainw->multitrack==NULL) - on_multitrack_activate(NULL,NULL); - + if (prefs->startup_interface == STARTUP_MT && prefs->startup_phase == 0 && mainw->multitrack == NULL) + on_multitrack_activate(NULL, NULL); }
View file
LiVES-2.8.4.tar.bz2/src/htmsocket.c -> LiVES-2.8.6.tar.bz2/src/htmsocket.c
Changed
@@ -42,16 +42,16 @@ struct sockaddr_in cl_addr; desc *o; struct hostent *hostsEntry; - uint64_t address=0; + uint64_t address = 0; o = (desc *)malloc(sizeof(desc)); - if (o==NULL) return NULL; + if (o == NULL) return NULL; o->len = sizeof(cl_addr); memset((char *)&o->serv_addr, 0, sizeof(o->serv_addr)); o->serv_addr.sin_family = AF_INET; - if (strcmp(host,"INADDR_ANY")) { + if (strcmp(host, "INADDR_ANY")) { hostsEntry = gethostbyname(host); if (hostsEntry == NULL) { @@ -67,13 +67,13 @@ o->serv_addr.sin_port = htons(portnumber); } else { // open receiver socket - if (!strcmp(host,"INADDR_ANY")) o->serv_addr.sin_addr.s_addr = INADDR_ANY; + if (!strcmp(host, "INADDR_ANY")) o->serv_addr.sin_addr.s_addr = INADDR_ANY; else o->serv_addr.sin_addr.s_addr = address; o->serv_addr.sin_port = htons(0); } #ifdef __cplusplus - o->addr = (sockaddr *)&(o->serv_addr); + o->addr = (sockaddr *) & (o->serv_addr); #else o->addr = &(o->serv_addr); #endif @@ -97,16 +97,16 @@ } } else lives_printerr("unable to make socket\n"); - if (sockfd<0) { + if (sockfd < 0) { lives_free(o); o = NULL; } else { - int mxsize=1024*1024; + int mxsize = 1024 * 1024; o->sockfd = sockfd; if (!sender) setsockopt(sockfd, SOL_SOCKET, SO_RCVBUF, (void *) &mxsize, sizeof(mxsize)); } - if (o!=NULL&&strcmp(host,"INADDR_ANY")) { + if (o != NULL && strcmp(host, "INADDR_ANY")) { connect(sockfd, o->addr, sizeof(cl_addr)); } @@ -114,37 +114,37 @@ } static ssize_t getudp(struct sockaddr *sp, int sockfd, int length, size_t count, void *b, int bfsize) { - int flags=0; + int flags = 0; ssize_t res; unsigned long len; - if (bfsize>0) { + if (bfsize > 0) { int xbfsize; - socklen_t slt=sizeof(xbfsize); + socklen_t slt = sizeof(xbfsize); setsockopt(sockfd, SOL_SOCKET, SO_RCVBUF, (void *) &bfsize, sizeof(bfsize)); getsockopt(sockfd, SOL_SOCKET, SO_RCVBUF, (void *) &xbfsize, &slt); - if (xbfsize<bfsize) return -2; + if (xbfsize < bfsize) return -2; } #ifdef IS_MINGW - ioctlsocket(sockfd,FIONREAD,&len); + ioctlsocket(sockfd, FIONREAD, &len); #else - ioctl(sockfd,FIONREAD,&len); + ioctl(sockfd, FIONREAD, &len); #endif - if (len==0) return -1; + if (len == 0) return -1; do { - res=recvfrom(sockfd, b, count, flags, sp, (socklen_t *)&length); + res = recvfrom(sockfd, b, count, flags, sp, (socklen_t *)&length); //g_print("res is %d\n",res); - } while (res==-1); + } while (res == -1); return res; } static boolean sendudp(const struct sockaddr *sp, int sockfd, int length, size_t count, void *b) { size_t rcount; - if ((rcount=sendto(sockfd, b, count, 0, sp, length)) != count) { + if ((rcount = sendto(sockfd, b, count, 0, sp, length)) != count) { //printf("sockfd %d count %d rcount %dlength %d errno %d\n", sockfd,count,rcount,length,errno); return FALSE; }
View file
LiVES-2.8.4.tar.bz2/src/interface.c -> LiVES-2.8.6.tar.bz2/src/interface.c
Changed
@@ -1,10 +1,9 @@ // interface.c // LiVES -// (c) G. Finch 2003 - 2016 <salsaman@gmail.com> +// (c) G. Finch 2003 - 2017 <salsaman@gmail.com> // Released under the GNU GPL 3 or later // see file ../COPYING for licensing details - #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> @@ -21,30 +20,27 @@ extern void multitrack_preview_clicked(LiVESButton *, livespointer user_data); extern void mt_change_disp_tracks_ok(LiVESButton *, livespointer user_data); - void add_suffix_check(LiVESBox *box, const char *ext) { char *ltext; LiVESWidget *checkbutton; - if (ext==NULL) ltext=lives_strdup(_("Let LiVES set the _file extension")); - else ltext=lives_strdup_printf(_("Let LiVES set the _file extension (.%s)"),ext); - checkbutton=lives_standard_check_button_new(ltext,TRUE,box,NULL); + if (ext == NULL) ltext = lives_strdup(_("Let LiVES set the _file extension")); + else ltext = lives_strdup_printf(_("Let LiVES set the _file extension (.%s)"), ext); + checkbutton = lives_standard_check_button_new(ltext, TRUE, box, NULL); lives_free(ltext); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton), mainw->fx1_bool); lives_signal_connect_after(LIVES_GUI_OBJECT(checkbutton), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(on_boolean_toggled), &mainw->fx1_bool); - } - static LiVESWidget *add_deinterlace_checkbox(LiVESBox *for_deint) { - char *tmp,*tmp2; - LiVESWidget *hbox=lives_hbox_new(FALSE, 0); - LiVESWidget *checkbutton = lives_standard_check_button_new((tmp=lives_strdup(_("Apply _Deinterlace"))),TRUE,LIVES_BOX(hbox), - (tmp2=lives_strdup(_("If this is set, frames will be deinterlaced as they are imported.")))); + char *tmp, *tmp2; + LiVESWidget *hbox = lives_hbox_new(FALSE, 0); + LiVESWidget *checkbutton = lives_standard_check_button_new((tmp = lives_strdup(_("Apply _Deinterlace"))), TRUE, LIVES_BOX(hbox), + (tmp2 = lives_strdup(_("If this is set, frames will be deinterlaced as they are imported.")))); lives_free(tmp); lives_free(tmp2); @@ -52,8 +48,8 @@ LiVESWidget *filler; lives_box_pack_start(for_deint, hbox, FALSE, FALSE, widget_opts.packing_width); lives_box_reorder_child(for_deint, hbox, 0); - filler=add_fill_to_box(LIVES_BOX(for_deint)); - if (filler!=NULL) lives_box_reorder_child(for_deint, filler, 1); + filler = add_fill_to_box(LIVES_BOX(for_deint)); + if (filler != NULL) lives_box_reorder_child(for_deint, filler, 1); } else lives_box_pack_start(for_deint, hbox, FALSE, FALSE, widget_opts.packing_height); lives_widget_set_can_focus_and_default(checkbutton); @@ -69,31 +65,28 @@ static void pv_sel_changed(LiVESFileChooser *chooser, livespointer user_data) { - LiVESSList *slist=lives_file_chooser_get_filenames(chooser); - LiVESWidget *pbutton=(LiVESWidget *)user_data; + LiVESSList *slist = lives_file_chooser_get_filenames(chooser); + LiVESWidget *pbutton = (LiVESWidget *)user_data; - if (slist==NULL||lives_slist_nth_data(slist,0)==NULL||lives_slist_length(slist)>1|| - !(lives_file_test((char *)lives_slist_nth_data(slist,0),LIVES_FILE_TEST_IS_REGULAR))) { - lives_widget_set_sensitive(pbutton,FALSE); - } else lives_widget_set_sensitive(pbutton,TRUE); + if (slist == NULL || lives_slist_nth_data(slist, 0) == NULL || lives_slist_length(slist) > 1 || + !(lives_file_test((char *)lives_slist_nth_data(slist, 0), LIVES_FILE_TEST_IS_REGULAR))) { + lives_widget_set_sensitive(pbutton, FALSE); + } else lives_widget_set_sensitive(pbutton, TRUE); lives_slist_free_all(&slist); - } - - - void widget_add_preview(LiVESWidget *widget, LiVESBox *for_preview, LiVESBox *for_button, LiVESBox *for_deint, int preview_type) { - LiVESWidget *preview_button=NULL; + LiVESWidget *preview_button = NULL; - if (preview_type==LIVES_PREVIEW_TYPE_VIDEO_AUDIO||preview_type==LIVES_PREVIEW_TYPE_RANGE||preview_type==LIVES_PREVIEW_TYPE_IMAGE_ONLY) { - mainw->fs_playframe = lives_standard_frame_new(_("Preview"),0.5,FALSE); - mainw->fs_playalign = lives_alignment_new(0.,0.,1.,1.); + if (preview_type == LIVES_PREVIEW_TYPE_VIDEO_AUDIO || preview_type == LIVES_PREVIEW_TYPE_RANGE || + preview_type == LIVES_PREVIEW_TYPE_IMAGE_ONLY) { + mainw->fs_playframe = lives_standard_frame_new(_("Preview"), 0.5, FALSE); + mainw->fs_playalign = lives_alignment_new(0., 0., 1., 1.); mainw->fs_playarea = lives_event_box_new(); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(mainw->fs_playarea),"pixbuf",NULL); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(mainw->fs_playarea), "pixbuf", NULL); lives_container_set_border_width(LIVES_CONTAINER(mainw->fs_playframe), widget_opts.border_width); @@ -110,23 +103,19 @@ } else mainw->fs_playframe = mainw->fs_playalign = mainw->fs_playarea = NULL; // AUDIO_ONLY - - - if (preview_type==LIVES_PREVIEW_TYPE_VIDEO_AUDIO) { + if (preview_type == LIVES_PREVIEW_TYPE_VIDEO_AUDIO) { preview_button = lives_button_new_with_mnemonic(_("Click here to _Preview any selected video, image or audio file")); - } else if (preview_type==LIVES_PREVIEW_TYPE_AUDIO_ONLY) { + } else if (preview_type == LIVES_PREVIEW_TYPE_AUDIO_ONLY) { preview_button = lives_button_new_with_mnemonic(_("Click here to _Preview any selected audio file")); - } else if (preview_type==LIVES_PREVIEW_TYPE_RANGE) { + } else if (preview_type == LIVES_PREVIEW_TYPE_RANGE) { preview_button = lives_button_new_with_mnemonic(_("Click here to _Preview the video")); } else { preview_button = lives_button_new_with_mnemonic(_("Click here to _Preview the file")); } - lives_box_pack_start(for_button, preview_button, FALSE, FALSE, widget_opts.packing_width); - - if (preview_type==LIVES_PREVIEW_TYPE_VIDEO_AUDIO||preview_type==LIVES_PREVIEW_TYPE_RANGE) { + if (preview_type == LIVES_PREVIEW_TYPE_VIDEO_AUDIO || preview_type == LIVES_PREVIEW_TYPE_RANGE) { add_deinterlace_checkbox(for_deint); } @@ -134,43 +123,39 @@ LIVES_GUI_CALLBACK(on_fs_preview_clicked), LIVES_INT_TO_POINTER(preview_type)); - if (LIVES_IS_FILE_CHOOSER(widget)) { - lives_widget_set_sensitive(preview_button,FALSE); + lives_widget_set_sensitive(preview_button, FALSE); lives_signal_connect(LIVES_GUI_OBJECT(widget), LIVES_WIDGET_SELECTION_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(pv_sel_changed), (livespointer)preview_button); } - } xprocess *create_processing(const char *text) { - LiVESWidget *dialog_vbox; LiVESWidget *vbox2; LiVESWidget *vbox3; - LiVESAccelGroup *accel_group=LIVES_ACCEL_GROUP(lives_accel_group_new()); + LiVESAccelGroup *accel_group = LIVES_ACCEL_GROUP(lives_accel_group_new()); - xprocess *procw=(xprocess *)(lives_malloc(sizeof(xprocess))); + xprocess *procw = (xprocess *)(lives_malloc(sizeof(xprocess))); char tmp_label[256]; - boolean no_gui=widget_opts.no_gui; + boolean no_gui = widget_opts.no_gui; - widget_opts.no_gui=TRUE; // work around bugs in gtk+ - widget_opts.non_modal=TRUE; - procw->processing = lives_standard_dialog_new(_("Processing..."),FALSE,-1,-1); - widget_opts.non_modal=FALSE; - widget_opts.no_gui=no_gui; + widget_opts.no_gui = TRUE; // work around bugs in gtk+ + widget_opts.non_modal = TRUE; + procw->processing = lives_standard_dialog_new(_("Processing..."), FALSE, -1, -1); + widget_opts.non_modal = FALSE; + widget_opts.no_gui = no_gui; lives_window_add_accel_group(LIVES_WINDOW(procw->processing), accel_group); if (prefs->show_gui) { - if (mainw->multitrack==NULL) lives_window_set_transient_for(LIVES_WINDOW(procw->processing),LIVES_WINDOW(mainw->LiVES)); - else lives_window_set_transient_for(LIVES_WINDOW(procw->processing),LIVES_WINDOW(mainw->multitrack->window)); + lives_window_set_transient_for(LIVES_WINDOW(procw->processing), LIVES_WINDOW(LIVES_MAIN_WINDOW_WIDGET)); } dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(procw->processing)); @@ -181,44 +166,44 @@ vbox3 = lives_vbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox2), vbox3, TRUE, TRUE, 0); - lives_snprintf(tmp_label,256,"%s...\n",text); + lives_snprintf(tmp_label, 256, "%s...\n", text); procw->label = lives_standard_label_new(tmp_label); lives_box_pack_start(LIVES_BOX(vbox3), procw->label, TRUE, TRUE, 0); procw->progressbar = lives_progress_bar_new(); lives_box_pack_start(LIVES_BOX(vbox3), procw->progressbar, FALSE, FALSE, 0); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_fg_color(procw->progressbar, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); } - widget_opts.justify=LIVES_JUSTIFY_CENTER; - if (mainw->internal_messaging&&mainw->rte!=0) { + widget_opts.justify = LIVES_JUSTIFY_CENTER; + if (mainw->internal_messaging && mainw->rte != 0) { procw->label2 = lives_standard_label_new(_("\n\nPlease Wait\n\nRemember to switch off effects (ctrl-0) afterwards !")); } #ifdef RT_AUDIO - else if (mainw->jackd_read!=NULL||mainw->pulsed_read!=NULL) procw->label2 = lives_label_new(""); + else if (mainw->jackd_read != NULL || mainw->pulsed_read != NULL) procw->label2 = lives_label_new(""); #endif - else procw->label2=lives_standard_label_new(_("\nPlease Wait")); - widget_opts.justify=LIVES_JUSTIFY_DEFAULT; + else procw->label2 = lives_standard_label_new(_("\nPlease Wait")); + widget_opts.justify = LIVES_JUSTIFY_DEFAULT; lives_box_pack_start(LIVES_BOX(vbox3), procw->label2, FALSE, FALSE, 0); - widget_opts.justify=LIVES_JUSTIFY_CENTER; + widget_opts.justify = LIVES_JUSTIFY_CENTER; procw->label3 = lives_standard_label_new(PROCW_STRETCHER); lives_box_pack_start(LIVES_BOX(vbox3), procw->label3, FALSE, FALSE, 0); - widget_opts.justify=LIVES_JUSTIFY_DEFAULT; + widget_opts.justify = LIVES_JUSTIFY_DEFAULT; - if (mainw->iochan!=NULL) { + if (mainw->iochan != NULL) { // add "show details" arrow - boolean woat=widget_opts.apply_theme; - widget_opts.apply_theme=FALSE; + boolean woat = widget_opts.apply_theme; + widget_opts.apply_theme = FALSE; procw->scrolledwindow = lives_standard_scrolled_window_new(ENC_DETAILS_WIN_H, ENC_DETAILS_WIN_V, LIVES_WIDGET(mainw->optextview)); - widget_opts.apply_theme=woat; + widget_opts.apply_theme = woat; lives_widget_set_size_request(procw->scrolledwindow, ENC_DETAILS_WIN_H, ENC_DETAILS_WIN_V); lives_widget_context_update(); - lives_standard_expander_new(_("Show Details"),FALSE,LIVES_BOX(vbox3),procw->scrolledwindow); + lives_standard_expander_new(_("Show Details"), FALSE, LIVES_BOX(vbox3), procw->scrolledwindow); } procw->stop_button = lives_button_new_with_mnemonic(_("_Enough")); // used only for open location and for audio recording @@ -235,14 +220,13 @@ lives_widget_hide(procw->pause_button); lives_widget_set_can_focus_and_default(procw->pause_button); - - if (mainw->current_file>-1) { + if (mainw->current_file > -1) { if (cfile->opening_loc #ifdef ENABLE_JACK - ||mainw->jackd_read!=NULL + || mainw->jackd_read != NULL #endif #ifdef HAVE_PULSE_AUDIO - ||mainw->pulsed_read!=NULL + || mainw->pulsed_read != NULL #endif ) { // the "enough" button for opening @@ -268,7 +252,7 @@ LIVES_GUI_CALLBACK(on_effects_paused), NULL); - if (mainw->multitrack!=NULL&&mainw->multitrack->is_rendering) { + if (mainw->multitrack != NULL && mainw->multitrack->is_rendering) { lives_signal_connect(LIVES_GUI_OBJECT(procw->preview_button), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(multitrack_preview_clicked), mainw->multitrack); @@ -294,20 +278,26 @@ static LiVESWidget *vid_text_view_new(void) { LiVESWidget *textview; - widget_opts.justify=LIVES_JUSTIFY_CENTER; - textview=lives_standard_text_view_new(NULL,NULL); - widget_opts.justify=widget_opts.default_justify; + widget_opts.justify = LIVES_JUSTIFY_CENTER; + textview = lives_standard_text_view_new(NULL, NULL); + widget_opts.justify = widget_opts.default_justify; lives_widget_set_size_request(textview, TB_WIDTH, TB_HEIGHT_VID); + if (palette->style & STYLE_3) { + lives_widget_set_bg_color(textview, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); + } return textview; } static LiVESWidget *aud_text_view_new(void) { LiVESWidget *textview; - widget_opts.justify=LIVES_JUSTIFY_CENTER; - textview=lives_standard_text_view_new(NULL,NULL); - widget_opts.justify=widget_opts.default_justify; + widget_opts.justify = LIVES_JUSTIFY_CENTER; + textview = lives_standard_text_view_new(NULL, NULL); + widget_opts.justify = widget_opts.default_justify; lives_widget_set_size_request(textview, TB_WIDTH, TB_HEIGHT_AUD); + if (palette->style & STYLE_3) { + lives_widget_set_bg_color(textview, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); + } return textview; } @@ -324,125 +314,146 @@ LiVESAccelGroup *accel_group; - lives_clipinfo_t *filew=(lives_clipinfo_t *)(lives_malloc(sizeof(lives_clipinfo_t))); + lives_clipinfo_t *filew = (lives_clipinfo_t *)(lives_malloc(sizeof(lives_clipinfo_t))); char *title; - if (mainw->multitrack==NULL) - title=lives_strdup(_(cfile->name)); + if (mainw->multitrack == NULL) + title = lives_strdup(_(cfile->name)); else - title=lives_strdup(_("Multitrack Details")); + title = lives_strdup(_("Multitrack Details")); - filew->dialog = lives_standard_dialog_new(title,FALSE,-1,-1); + filew->dialog = lives_standard_dialog_new(title, FALSE, -1, -1); lives_free(title); - lives_signal_handlers_disconnect_by_func(filew->dialog,return_true,NULL); + lives_signal_handlers_disconnect_by_func(filew->dialog, return_true, NULL); accel_group = LIVES_ACCEL_GROUP(lives_accel_group_new()); lives_window_add_accel_group(LIVES_WINDOW(filew->dialog), accel_group); if (prefs->show_gui) { - if (mainw->multitrack==NULL) lives_window_set_transient_for(LIVES_WINDOW(filew->dialog),LIVES_WINDOW(mainw->LiVES)); - else lives_window_set_transient_for(LIVES_WINDOW(filew->dialog),LIVES_WINDOW(mainw->multitrack->window)); + lives_window_set_transient_for(LIVES_WINDOW(filew->dialog), LIVES_WINDOW(LIVES_MAIN_WINDOW_WIDGET)); } dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(filew->dialog)); - if (cfile->frames>0||is_mt) { - - vidframe = lives_standard_frame_new(_("Video"),0.,FALSE); + if (cfile->frames > 0 || is_mt) { + vidframe = lives_standard_frame_new(_("Video"), 0., FALSE); lives_box_pack_start(LIVES_BOX(dialog_vbox), vidframe, TRUE, TRUE, widget_opts.packing_height); - table=lives_table_new(3,4,TRUE); + table = lives_table_new(3, 4, TRUE); - lives_table_set_column_homogeneous(LIVES_TABLE(table),FALSE); + lives_table_set_column_homogeneous(LIVES_TABLE(table), FALSE); - lives_table_set_col_spacings(LIVES_TABLE(table), widget_opts.packing_width*4); + lives_table_set_col_spacings(LIVES_TABLE(table), widget_opts.packing_width * 4); lives_table_set_row_spacings(LIVES_TABLE(table), widget_opts.packing_height); lives_container_set_border_width(LIVES_CONTAINER(table), widget_opts.border_width); lives_container_add(LIVES_CONTAINER(vidframe), table); label = lives_standard_label_new(_("Format")); + if (palette->style & STYLE_3) { + lives_widget_set_bg_color(label, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); + } + lives_label_set_hpadding(LIVES_LABEL(label), 4); lives_table_attach(LIVES_TABLE(table), label, 0, 1, 0, 1, - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); label = lives_standard_label_new(_("Frame size")); + if (palette->style & STYLE_3) { + lives_widget_set_bg_color(label, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); + } + lives_label_set_hpadding(LIVES_LABEL(label), 4); lives_table_attach(LIVES_TABLE(table), label, 0, 1, 1, 2, - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); if (!is_mt) label = lives_standard_label_new(_("File size")); else label = lives_standard_label_new(_("Byte size")); + if (palette->style & STYLE_3) { + lives_widget_set_bg_color(label, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); + } + lives_label_set_hpadding(LIVES_LABEL(label), 4); lives_table_attach(LIVES_TABLE(table), label, 0, 1, 2, 3, - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); label = lives_standard_label_new(_("FPS")); + if (palette->style & STYLE_3) { + lives_widget_set_bg_color(label, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); + } + lives_label_set_hpadding(LIVES_LABEL(label), 4); lives_table_attach(LIVES_TABLE(table), label, 2, 3, 0, 1, - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); if (!is_mt) label = lives_standard_label_new(_("Frames")); else label = lives_standard_label_new(_("Events")); + if (palette->style & STYLE_3) { + lives_widget_set_bg_color(label, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); + } + lives_label_set_hpadding(LIVES_LABEL(label), 4); lives_table_attach(LIVES_TABLE(table), label, 2, 3, 1, 2, - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); label = lives_standard_label_new(_("Total time")); + if (palette->style & STYLE_3) { + lives_widget_set_bg_color(label, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); + } + lives_label_set_hpadding(LIVES_LABEL(label), 4); lives_table_attach(LIVES_TABLE(table), label, 2, 3, 2, 3, - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); filew->textview_type = vid_text_view_new(); lives_table_attach(LIVES_TABLE(table), filew->textview_type, 1, 2, 0, 1, - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); filew->textview_fps = vid_text_view_new(); lives_table_attach(LIVES_TABLE(table), filew->textview_fps, 3, 4, 0, 1, - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); filew->textview_size = vid_text_view_new(); lives_table_attach(LIVES_TABLE(table), filew->textview_size, 1, 2, 1, 2, - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); filew->textview_frames = vid_text_view_new(); lives_table_attach(LIVES_TABLE(table), filew->textview_frames, 3, 4, 1, 2, - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); filew->textview_vtime = vid_text_view_new(); lives_table_attach(LIVES_TABLE(table), filew->textview_vtime, 3, 4, 2, 3, - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); filew->textview_fsize = vid_text_view_new(); lives_table_attach(LIVES_TABLE(table), filew->textview_fsize, 1, 2, 2, 3, - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); - } - if (audio_channels>0) { + if (audio_channels > 0) { char *tmp; - if (audio_channels>1) tmp=lives_strdup(_("Left Audio")); - else tmp=lives_strdup(_("Audio")); + if (audio_channels > 1) tmp = lives_strdup(_("Left Audio")); + else tmp = lives_strdup(_("Audio")); - laudframe = lives_standard_frame_new(tmp,0.,FALSE); + laudframe = lives_standard_frame_new(tmp, 0., FALSE); lives_free(tmp); lives_box_pack_start(LIVES_BOX(dialog_vbox), laudframe, TRUE, TRUE, widget_opts.packing_height); - table=lives_table_new(1,4,TRUE); + table = lives_table_new(1, 4, TRUE); - lives_table_set_col_spacings(LIVES_TABLE(table), widget_opts.packing_width*4); + lives_table_set_col_spacings(LIVES_TABLE(table), widget_opts.packing_width * 4); lives_table_set_row_spacings(LIVES_TABLE(table), widget_opts.packing_height); lives_container_set_border_width(LIVES_CONTAINER(table), widget_opts.border_width); @@ -450,6 +461,9 @@ if (!is_mt) { label = lives_standard_label_new(_("Total time")); + if (palette->style & STYLE_3) { + lives_widget_set_bg_color(label, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); + } lives_table_attach(LIVES_TABLE(table), label, 0, 1, 0, 1, (LiVESAttachOptions)(0), (LiVESAttachOptions)(0), 0, 0); @@ -461,6 +475,10 @@ } label = lives_standard_label_new(_("Rate/size")); + if (palette->style & STYLE_3) { + lives_widget_set_bg_color(label, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); + } + lives_label_set_hpadding(LIVES_LABEL(label), 4); lives_table_attach(LIVES_TABLE(table), label, 2, 3, 0, 1, (LiVESAttachOptions)(0), (LiVESAttachOptions)(0), 0, 0); @@ -470,15 +488,14 @@ (LiVESAttachOptions)(0), (LiVESAttachOptions)(0), 0, 0); - - if (audio_channels>1) { - raudframe = lives_standard_frame_new(_("Right Audio"),0.,FALSE); + if (audio_channels > 1) { + raudframe = lives_standard_frame_new(_("Right Audio"), 0., FALSE); lives_box_pack_start(LIVES_BOX(dialog_vbox), raudframe, TRUE, TRUE, widget_opts.packing_height); - table=lives_table_new(1,4,TRUE); + table = lives_table_new(1, 4, TRUE); - lives_table_set_col_spacings(LIVES_TABLE(table), widget_opts.packing_width*4); + lives_table_set_col_spacings(LIVES_TABLE(table), widget_opts.packing_width * 4); lives_table_set_row_spacings(LIVES_TABLE(table), widget_opts.packing_height); lives_container_set_border_width(LIVES_CONTAINER(table), widget_opts.border_width); @@ -486,6 +503,10 @@ if (!is_mt) { label = lives_standard_label_new(_("Total time")); + if (palette->style & STYLE_3) { + lives_widget_set_bg_color(label, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); + } + lives_label_set_hpadding(LIVES_LABEL(label), 4); lives_table_attach(LIVES_TABLE(table), label, 0, 1, 0, 1, (LiVESAttachOptions)(0), (LiVESAttachOptions)(0), 0, 0); @@ -497,6 +518,10 @@ } label = lives_standard_label_new(_("Rate/size")); + if (palette->style & STYLE_3) { + lives_widget_set_bg_color(label, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); + } + lives_label_set_hpadding(LIVES_LABEL(label), 4); lives_table_attach(LIVES_TABLE(table), label, 2, 3, 0, 1, (LiVESAttachOptions)(0), (LiVESAttachOptions)(0), 0, 0); @@ -512,7 +537,7 @@ dialog_action_area = lives_dialog_get_action_area(LIVES_DIALOG(filew->dialog)); if (LIVES_IS_BUTTON_BOX(dialog_action_area)) lives_button_box_set_layout(LIVES_BUTTON_BOX(dialog_action_area), LIVES_BUTTONBOX_SPREAD); - okbutton = lives_button_new_from_stock(LIVES_STOCK_OK,NULL); + okbutton = lives_button_new_from_stock(LIVES_STOCK_OK, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(filew->dialog), okbutton, LIVES_RESPONSE_OK); lives_widget_set_can_focus_and_default(okbutton); lives_widget_grab_default(okbutton); @@ -527,10 +552,9 @@ lives_widget_add_accelerator(okbutton, LIVES_WIDGET_CLICKED_SIGNAL, accel_group, LIVES_KEY_Escape, (LiVESXModifierType)0, (LiVESAccelFlags)0); - lives_widget_show_all(filew->dialog); - lives_widget_set_size_request(okbutton,DEF_BUTTON_WIDTH*4,-1); + lives_widget_set_size_request(okbutton, DEF_BUTTON_WIDTH * 4, -1); lives_widget_context_update(); @@ -539,43 +563,41 @@ static void on_resizecb_toggled(LiVESToggleButton *t, livespointer user_data) { - LiVESWidget *cb=(LiVESWidget *)user_data; + LiVESWidget *cb = (LiVESWidget *)user_data; if (!lives_toggle_button_get_active(t)) { - lives_widget_set_sensitive(cb,FALSE); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(cb),FALSE); + lives_widget_set_sensitive(cb, FALSE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(cb), FALSE); } else { - lives_widget_set_sensitive(cb,TRUE); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(cb),prefs->enc_letterbox); + lives_widget_set_sensitive(cb, TRUE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(cb), prefs->enc_letterbox); } } - - LiVESWidget *create_encoder_prep_dialog(const char *text1, const char *text2, boolean opt_resize) { LiVESWidget *dialog; LiVESWidget *dialog_vbox; LiVESWidget *cancelbutton; LiVESWidget *okbutton; - LiVESWidget *checkbutton=NULL; + LiVESWidget *checkbutton = NULL; LiVESWidget *checkbutton2; LiVESWidget *label; LiVESWidget *hbox; - char *labeltext,*tmp,*tmp2; + char *labeltext, *tmp, *tmp2; - dialog=create_question_dialog(_("Encoding Options"),text1,LIVES_WINDOW(mainw->LiVES)); + dialog = create_question_dialog(_("Encoding Options"), text1, LIVES_WINDOW(mainw->LiVES)); dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(dialog)); if (opt_resize) { - if (text2!=NULL) labeltext=lives_strdup(_("<------------- (Check the box to re_size as suggested)")); - else labeltext=lives_strdup(_("<------------- (Check the box to use the _size recommendation)")); + if (text2 != NULL) labeltext = lives_strdup(_("<------------- (Check the box to re_size as suggested)")); + else labeltext = lives_strdup(_("<------------- (Check the box to use the _size recommendation)")); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, FALSE, FALSE, widget_opts.packing_width); - checkbutton = lives_standard_check_button_new(labeltext,TRUE,LIVES_BOX(hbox),NULL); + checkbutton = lives_standard_check_button_new(labeltext, TRUE, LIVES_BOX(hbox), NULL); lives_free(labeltext); @@ -583,24 +605,23 @@ LIVES_GUI_CALLBACK(on_boolean_toggled), &mainw->fx1_bool); - } else if (text2==NULL) mainw->fx1_bool=TRUE; - - if (text2!=NULL&&(mainw->fx1_bool||opt_resize)) { + } else if (text2 == NULL) mainw->fx1_bool = TRUE; + if (text2 != NULL && (mainw->fx1_bool || opt_resize)) { hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, FALSE, FALSE, widget_opts.packing_height); checkbutton2 = lives_standard_check_button_new - ((tmp=lives_strdup(_("Use _letterboxing to maintain aspect ratio (optional)"))),TRUE,LIVES_BOX(hbox), - (tmp2=lives_strdup(_("Draw black rectangles either above or to the sides of the image, to prevent it from stretching.")))); + ((tmp = lives_strdup(_("Use _letterboxing to maintain aspect ratio (optional)"))), TRUE, LIVES_BOX(hbox), + (tmp2 = lives_strdup(_("Draw black rectangles either above or to the sides of the image, to prevent it from stretching.")))); lives_free(tmp); lives_free(tmp2); if (opt_resize) { - lives_widget_set_sensitive(checkbutton2,FALSE); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton2),FALSE); - } else lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton2),prefs->enc_letterbox); + lives_widget_set_sensitive(checkbutton2, FALSE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton2), FALSE); + } else lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton2), prefs->enc_letterbox); lives_signal_connect_after(LIVES_GUI_OBJECT(checkbutton2), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(on_boolean_toggled), @@ -613,12 +634,11 @@ } - - if (text2!=NULL) { + if (text2 != NULL) { label = lives_standard_label_new(text2); lives_box_pack_start(LIVES_BOX(dialog_vbox), label, TRUE, TRUE, 0); - cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL,NULL); - okbutton = lives_button_new_from_stock(LIVES_STOCK_OK,NULL); + cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL, NULL); + okbutton = lives_button_new_from_stock(LIVES_STOCK_OK, NULL); } else { cancelbutton = lives_button_new_with_mnemonic(_("Keep _my settings")); okbutton = lives_button_new_with_mnemonic(_("Use _recommended settings")); @@ -636,7 +656,6 @@ return dialog; } - // Information/error dialog // the type of message box here is with a single OK button @@ -646,18 +665,16 @@ LiVESWidget *dialog; if (!prefs->show_gui) { - transient=NULL; + transient = NULL; } else { - if (mainw->multitrack==NULL) transient=LIVES_WINDOW(mainw->LiVES); - else transient=LIVES_WINDOW(mainw->multitrack->window); + transient = LIVES_WINDOW(LIVES_MAIN_WINDOW_WIDGET); } - dialog=create_message_dialog(info_type,text,transient,mask,is_blocking); + dialog = create_message_dialog(info_type, text, transient, mask, is_blocking); return dialog; } - text_window *create_text_window(const char *title, const char *text, LiVESTextBuffer *textbuffer) { // general text window LiVESWidget *dialog_vbox; @@ -666,34 +683,33 @@ boolean woat; - textwindow=(text_window *)lives_malloc(sizeof(text_window)); + textwindow = (text_window *)lives_malloc(sizeof(text_window)); - textwindow->dialog = lives_standard_dialog_new(title,FALSE,DEF_DIALOG_WIDTH, DEF_DIALOG_HEIGHT); + textwindow->dialog = lives_standard_dialog_new(title, FALSE, DEF_DIALOG_WIDTH, DEF_DIALOG_HEIGHT); if (prefs->show_gui) { - lives_window_set_transient_for(LIVES_WINDOW(textwindow->dialog),mainw->multitrack==NULL? - LIVES_WINDOW(mainw->LiVES):LIVES_WINDOW(mainw->multitrack->window)); + lives_window_set_transient_for(LIVES_WINDOW(textwindow->dialog), LIVES_WINDOW(LIVES_MAIN_WINDOW_WIDGET)); } dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(textwindow->dialog)); - textwindow->textview=textwindow->table=NULL; + textwindow->textview = textwindow->table = NULL; - if (textbuffer!=NULL||text!=NULL) textwindow->textview = lives_standard_text_view_new(text,textbuffer); + if (textbuffer != NULL || text != NULL) textwindow->textview = lives_standard_text_view_new(text, textbuffer); - woat=widget_opts.apply_theme; - widget_opts.apply_theme=FALSE; + woat = widget_opts.apply_theme; + widget_opts.apply_theme = FALSE; - if (textwindow->textview!=NULL) { + if (textwindow->textview != NULL) { scrolledwindow = lives_standard_scrolled_window_new(RFX_WINSIZE_H, RFX_WINSIZE_V, textwindow->textview); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(lives_bin_get_child(LIVES_BIN(scrolledwindow)), LIVES_WIDGET_STATE_NORMAL, &palette->info_base); } } else { - textwindow->table=lives_table_new(1, 1, FALSE); + textwindow->table = lives_table_new(1, 1, FALSE); scrolledwindow = lives_standard_scrolled_window_new(RFX_WINSIZE_H, RFX_WINSIZE_V, textwindow->table); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(textwindow->table, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); lives_widget_set_fg_color(textwindow->table, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); lives_widget_set_bg_color(lives_bin_get_child(LIVES_BIN(scrolledwindow)), LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); @@ -701,19 +717,18 @@ } - widget_opts.apply_theme=woat; + widget_opts.apply_theme = woat; lives_box_pack_start(LIVES_BOX(dialog_vbox), scrolledwindow, TRUE, TRUE, 0); - - if (text!=NULL||mainw->iochan!=NULL||textwindow->table!=NULL) { + if (text != NULL || mainw->iochan != NULL || textwindow->table != NULL) { LiVESWidget *savebutton; - okbutton = lives_button_new_from_stock(LIVES_STOCK_CLOSE,_("_Close Window")); + okbutton = lives_button_new_from_stock(LIVES_STOCK_CLOSE, _("_Close Window")); - savebutton = lives_button_new_from_stock(LIVES_STOCK_SAVE,_("_Save to file")); + savebutton = lives_button_new_from_stock(LIVES_STOCK_SAVE, _("_Save to file")); - if (textwindow->table==NULL) { + if (textwindow->table == NULL) { lives_dialog_add_action_widget(LIVES_DIALOG(textwindow->dialog), savebutton, LIVES_RESPONSE_YES); lives_signal_connect(LIVES_GUI_OBJECT(savebutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_save_textview_clicked), @@ -735,7 +750,6 @@ } - _insertw *create_insert_dialog(void) { LiVESWidget *dialog_vbox; LiVESWidget *hbox1; @@ -749,19 +763,19 @@ LiVESSList *radiobutton1_group = NULL; LiVESSList *radiobutton2_group = NULL; - LiVESAccelGroup *accel_group=LIVES_ACCEL_GROUP(lives_accel_group_new()); + LiVESAccelGroup *accel_group = LIVES_ACCEL_GROUP(lives_accel_group_new()); - char *tmp,*tmp2; + char *tmp, *tmp2; - _insertw *insertw=(_insertw *)(lives_malloc(sizeof(_insertw))); + _insertw *insertw = (_insertw *)(lives_malloc(sizeof(_insertw))); - insertw->insert_dialog = lives_standard_dialog_new(_("Insert"),FALSE,-1,-1); - lives_signal_handlers_disconnect_by_func(insertw->insert_dialog,return_true,NULL); + insertw->insert_dialog = lives_standard_dialog_new(_("Insert"), FALSE, -1, -1); + lives_signal_handlers_disconnect_by_func(insertw->insert_dialog, return_true, NULL); lives_window_add_accel_group(LIVES_WINDOW(insertw->insert_dialog), accel_group); if (prefs->show_gui) { - lives_window_set_transient_for(LIVES_WINDOW(insertw->insert_dialog),LIVES_WINDOW(mainw->LiVES)); + lives_window_set_transient_for(LIVES_WINDOW(insertw->insert_dialog), LIVES_WINDOW(mainw->LiVES)); } dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(insertw->insert_dialog)); @@ -774,7 +788,7 @@ lives_box_pack_start(LIVES_BOX(hbox1), hbox, FALSE, FALSE, widget_opts.packing_width); insertw->spinbutton_times = lives_standard_spin_button_new(_("_Number of times to insert"), - TRUE,1.,1.,10000.,1.,10.,0.,LIVES_BOX(hbox),NULL); + TRUE, 1., 1., 10000., 1., 10., 0., LIVES_BOX(hbox), NULL); lives_widget_grab_focus(insertw->spinbutton_times); @@ -784,23 +798,22 @@ lives_box_pack_start(LIVES_BOX(hbox1), hbox, FALSE, FALSE, widget_opts.packing_width); - insertw->fit_checkbutton = lives_standard_check_button_new(_("_Insert to fit audio"),TRUE,LIVES_BOX(hbox),NULL); + insertw->fit_checkbutton = lives_standard_check_button_new(_("_Insert to fit audio"), TRUE, LIVES_BOX(hbox), NULL); - lives_widget_set_sensitive(LIVES_WIDGET(insertw->fit_checkbutton),cfile->achans>0&&clipboard->achans==0); + lives_widget_set_sensitive(LIVES_WIDGET(insertw->fit_checkbutton), cfile->achans > 0 && clipboard->achans == 0); add_hsep_to_box(LIVES_BOX(dialog_vbox)); table = lives_table_new(2, 3, FALSE); lives_box_pack_start(LIVES_BOX(dialog_vbox), table, TRUE, TRUE, widget_opts.packing_height); - lives_table_set_col_spacings(LIVES_TABLE(table), widget_opts.packing_width*4); - lives_table_set_row_spacings(LIVES_TABLE(table), widget_opts.packing_height*2); - + lives_table_set_col_spacings(LIVES_TABLE(table), widget_opts.packing_width * 4); + lives_table_set_row_spacings(LIVES_TABLE(table), widget_opts.packing_height * 2); hbox = lives_hbox_new(FALSE, 0); - radiobutton=lives_standard_radio_button_new((tmp=lives_strdup(_("Insert _before selection"))), - TRUE,radiobutton1_group,LIVES_BOX(hbox), - (tmp2=lives_strdup(_("Insert clipboard before selected frames")))); + radiobutton = lives_standard_radio_button_new((tmp = lives_strdup(_("Insert _before selection"))), + TRUE, radiobutton1_group, LIVES_BOX(hbox), + (tmp2 = lives_strdup(_("Insert clipboard before selected frames")))); lives_free(tmp); lives_free(tmp2); @@ -811,50 +824,53 @@ (LiVESAttachOptions)(LIVES_FILL), (LiVESAttachOptions)(0), 0, 0); - if (cfile->frames==0) { + if (cfile->frames == 0) { lives_widget_set_sensitive(radiobutton, FALSE); } hbox = lives_hbox_new(FALSE, 0); - radiobutton=lives_standard_radio_button_new((tmp=lives_strdup(_("Insert _after selection"))), - TRUE,radiobutton1_group,LIVES_BOX(hbox), - (tmp2=lives_strdup(_("Insert clipboard after selected frames")))); + radiobutton = lives_standard_radio_button_new((tmp = lives_strdup(_("Insert _after selection"))), + TRUE, radiobutton1_group, LIVES_BOX(hbox), + (tmp2 = lives_strdup(_("Insert clipboard after selected frames")))); lives_table_attach(LIVES_TABLE(table), hbox, 0, 1, 1, 2, (LiVESAttachOptions)(LIVES_FILL), (LiVESAttachOptions)(0), 0, 0); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(radiobutton),mainw->insert_after); - + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(radiobutton), mainw->insert_after); hbox = lives_hbox_new(FALSE, 0); - insertw->with_sound=lives_standard_radio_button_new(_("Insert _with sound"), - TRUE,radiobutton2_group,LIVES_BOX(hbox),NULL); - radiobutton2_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(insertw->with_sound)); + if (clipboard->achans == 0) + insertw->with_sound = lives_standard_radio_button_new(_("Insert _with silence"), + TRUE, radiobutton2_group, LIVES_BOX(hbox), NULL); + else + insertw->with_sound = lives_standard_radio_button_new(_("Insert _with sound"), + TRUE, radiobutton2_group, LIVES_BOX(hbox), NULL); + radiobutton2_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(insertw->with_sound)); lives_table_attach(LIVES_TABLE(table), hbox, 2, 3, 0, 1, (LiVESAttachOptions)(LIVES_FILL), (LiVESAttachOptions)(0), 0, 0); - if (cfile->achans==0&&clipboard->achans==0) lives_widget_set_sensitive(insertw->with_sound,FALSE); + if (cfile->achans == 0 && clipboard->achans == 0) lives_widget_set_sensitive(insertw->with_sound, FALSE); hbox = lives_hbox_new(FALSE, 0); - insertw->without_sound=lives_standard_radio_button_new(_("Insert with_out sound"), - TRUE,radiobutton2_group,LIVES_BOX(hbox),NULL); + insertw->without_sound = lives_standard_radio_button_new(_("Insert with_out sound"), + TRUE, radiobutton2_group, LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(insertw->without_sound), - !((cfile->achans>0||clipboard->achans>0)&&mainw->ccpd_with_sound)); + !((cfile->achans > 0 || clipboard->achans > 0) && mainw->ccpd_with_sound)); lives_table_attach(LIVES_TABLE(table), hbox, 2, 3, 1, 2, (LiVESAttachOptions)(LIVES_FILL), (LiVESAttachOptions)(0), 0, 0); - lives_widget_set_sensitive(insertw->with_sound, clipboard->achans>0||cfile->achans>0); - lives_widget_set_sensitive(insertw->without_sound, clipboard->achans>0||cfile->achans>0); + lives_widget_set_sensitive(insertw->with_sound, clipboard->achans > 0 || cfile->achans > 0); + lives_widget_set_sensitive(insertw->without_sound, clipboard->achans > 0 || cfile->achans > 0); vseparator = lives_vseparator_new(); lives_table_attach(LIVES_TABLE(table), vseparator, 1, 2, 0, 1, @@ -868,10 +884,10 @@ add_fill_to_box(LIVES_BOX(dialog_vbox)); - cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL,NULL); + cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(insertw->insert_dialog), cancelbutton, LIVES_RESPONSE_CANCEL); - okbutton = lives_button_new_from_stock(LIVES_STOCK_OK,NULL); + okbutton = lives_button_new_from_stock(LIVES_STOCK_OK, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(insertw->insert_dialog), okbutton, LIVES_RESPONSE_OK); lives_widget_set_can_focus_and_default(okbutton); lives_widget_grab_default(okbutton); @@ -905,9 +921,6 @@ } - - - LiVESWidget *create_opensel_dialog(void) { LiVESWidget *opensel_dialog; LiVESWidget *dialog_vbox; @@ -918,18 +931,16 @@ LiVESWidget *cancelbutton; LiVESWidget *okbutton; - boolean no_gui=widget_opts.no_gui; + boolean no_gui = widget_opts.no_gui; - widget_opts.no_gui=TRUE; // work around bugs in gtk+ - opensel_dialog = lives_standard_dialog_new(_("Open Selection"),FALSE,-1,-1); - widget_opts.no_gui=no_gui; + widget_opts.no_gui = TRUE; // work around bugs in gtk+ + opensel_dialog = lives_standard_dialog_new(_("Open Selection"), FALSE, -1, -1); + widget_opts.no_gui = no_gui; if (prefs->show_gui) { - if (mainw->multitrack==NULL) lives_window_set_transient_for(LIVES_WINDOW(opensel_dialog),LIVES_WINDOW(mainw->LiVES)); - else lives_window_set_transient_for(LIVES_WINDOW(opensel_dialog),LIVES_WINDOW(mainw->multitrack->window)); + lives_window_set_transient_for(LIVES_WINDOW(opensel_dialog), LIVES_WINDOW(LIVES_MAIN_WINDOW_WIDGET)); } - dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(opensel_dialog)); vbox = lives_vbox_new(FALSE, 0); @@ -938,7 +949,7 @@ table = lives_table_new(2, 2, FALSE); lives_box_pack_start(LIVES_BOX(vbox), table, TRUE, TRUE, widget_opts.packing_height); - lives_table_set_row_spacings(LIVES_TABLE(table), widget_opts.packing_height*2); + lives_table_set_row_spacings(LIVES_TABLE(table), widget_opts.packing_height * 2); label = lives_standard_label_new(_("Selection start time (sec)")); lives_table_attach(LIVES_TABLE(table), label, 0, 1, 0, 1, @@ -960,10 +971,9 @@ lives_table_attach(LIVES_TABLE(table), spinbutton, 1, 2, 0, 1, (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL), - (LiVESAttachOptions)(LIVES_EXPAND), widget_opts.packing_height*4+2, 0); - + (LiVESAttachOptions)(LIVES_EXPAND), widget_opts.packing_height * 4 + 2, 0); - spinbutton = lives_standard_spin_button_new(NULL,FALSE,1000.,1.,(double)LIVES_MAXINT, 1., 10., 0, NULL, NULL); + spinbutton = lives_standard_spin_button_new(NULL, FALSE, 1000., 1., (double)LIVES_MAXINT, 1., 10., 0, NULL, NULL); lives_signal_connect_after(LIVES_GUI_OBJECT(spinbutton), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(on_spin_value_changed), @@ -971,12 +981,12 @@ lives_table_attach(LIVES_TABLE(table), spinbutton, 1, 2, 1, 2, (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL), - (LiVESAttachOptions)(LIVES_EXPAND), widget_opts.packing_height*4+2, 0); + (LiVESAttachOptions)(LIVES_EXPAND), widget_opts.packing_height * 4 + 2, 0); - cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL,NULL); + cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(opensel_dialog), cancelbutton, LIVES_RESPONSE_CANCEL); - okbutton = lives_button_new_from_stock(LIVES_STOCK_OK,NULL); + okbutton = lives_button_new_from_stock(LIVES_STOCK_OK, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(opensel_dialog), okbutton, LIVES_RESPONSE_OK); lives_widget_set_can_focus_and_default(okbutton); lives_widget_grab_default(okbutton); @@ -991,16 +1001,12 @@ LIVES_GUI_CALLBACK(on_opensel_range_ok_clicked), NULL); - lives_widget_show_all(opensel_dialog); return opensel_dialog; } - - - _entryw *create_location_dialog(int type) { // type 1 is open location // type 2 is open youtube: - 3 fields:= URL, directory, file name @@ -1013,34 +1019,33 @@ LiVESWidget *hbox; LiVESWidget *buttond; - _entryw *locw=(_entryw *)(lives_malloc(sizeof(_entryw))); + _entryw *locw = (_entryw *)(lives_malloc(sizeof(_entryw))); - LiVESAccelGroup *accel_group=LIVES_ACCEL_GROUP(lives_accel_group_new()); + LiVESAccelGroup *accel_group = LIVES_ACCEL_GROUP(lives_accel_group_new()); - char *title,*tmp,*tmp2; + char *title, *tmp, *tmp2; - if (type==1) - title=lives_strdup(_("Open Location")); + if (type == 1) + title = lives_strdup(_("Open Location")); else - title=lives_strdup(_("Open Youtube Clip")); + title = lives_strdup(_("Open Youtube Clip")); - locw->dialog = lives_standard_dialog_new(title,FALSE,-1,-1); - lives_signal_handlers_disconnect_by_func(locw->dialog,return_true,NULL); + locw->dialog = lives_standard_dialog_new(title, FALSE, -1, -1); + lives_signal_handlers_disconnect_by_func(locw->dialog, return_true, NULL); lives_free(title); lives_window_add_accel_group(LIVES_WINDOW(locw->dialog), accel_group); if (prefs->show_gui) { - if (mainw->multitrack==NULL) lives_window_set_transient_for(LIVES_WINDOW(locw->dialog),LIVES_WINDOW(mainw->LiVES)); - else lives_window_set_transient_for(LIVES_WINDOW(locw->dialog),LIVES_WINDOW(mainw->multitrack->window)); + lives_window_set_transient_for(LIVES_WINDOW(locw->dialog), LIVES_WINDOW(LIVES_MAIN_WINDOW_WIDGET)); } dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(locw->dialog)); - widget_opts.justify=LIVES_JUSTIFY_CENTER; + widget_opts.justify = LIVES_JUSTIFY_CENTER; - if (type==1) { + if (type == 1) { label = lives_standard_label_new( _("\n\nTo open a stream, you must make sure that you have the correct libraries compiled in mplayer (or mpv).\n" "Also make sure you have set your bandwidth in Preferences|Streaming\n\n")); @@ -1051,99 +1056,95 @@ lives_box_pack_start(LIVES_BOX(dialog_vbox), label, FALSE, FALSE, 0); - label=lives_standard_label_new(_("Enter the URL of the clip below.\nE.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n\n")); + label = lives_standard_label_new(_("Enter the URL of the clip below.\nE.g: http://www.youtube.com/watch?v=WCR6f6WzjP8\n\n")); } - widget_opts.justify=LIVES_JUSTIFY_DEFAULT; + widget_opts.justify = LIVES_JUSTIFY_DEFAULT; lives_box_pack_start(LIVES_BOX(dialog_vbox), label, FALSE, FALSE, 0); hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, TRUE, TRUE, widget_opts.packing_height*2); + lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, TRUE, TRUE, widget_opts.packing_height * 2); - locw->entry = lives_standard_entry_new(type==1?_("URL : "):_("Youtube URL : "),FALSE,"",STD_ENTRY_WIDTH,32768,LIVES_BOX(hbox),NULL); + locw->entry = lives_standard_entry_new(type == 1 ? _("URL : ") : _("Youtube URL : "), FALSE, "", STD_ENTRY_WIDTH, 32768, LIVES_BOX(hbox), + NULL); - if (type==1) { - hbox=lives_hbox_new(FALSE, 0); - checkbutton = lives_standard_check_button_new((tmp=lives_strdup(_("Do not send bandwidth information"))), - TRUE,LIVES_BOX(hbox), - (tmp2=lives_strdup(_("Try this setting if you are having problems getting a stream")))); + if (type == 1) { + hbox = lives_hbox_new(FALSE, 0); + checkbutton = lives_standard_check_button_new((tmp = lives_strdup(_("Do not send bandwidth information"))), + TRUE, LIVES_BOX(hbox), + (tmp2 = lives_strdup(_("Try this setting if you are having problems getting a stream")))); lives_free(tmp); lives_free(tmp2); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton),prefs->no_bandwidth); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton), prefs->no_bandwidth); - lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, FALSE, FALSE, widget_opts.packing_height*2); + lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, FALSE, FALSE, widget_opts.packing_height * 2); lives_signal_connect(LIVES_GUI_OBJECT(checkbutton), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(on_boolean_toggled), &prefs->no_bandwidth); add_deinterlace_checkbox(LIVES_BOX(dialog_vbox)); - } - if (type==2) { - hbox=lives_hbox_new(FALSE, 0); + if (type == 2) { + hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(dialog_vbox),hbox,TRUE,FALSE,widget_opts.packing_height); + lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, TRUE, FALSE, widget_opts.packing_height); - locw->dir_entry = lives_standard_entry_new(_("Download to _Directory : "),TRUE,mainw->vid_dl_dir, - STD_ENTRY_WIDTH,PATH_MAX,LIVES_BOX(hbox),NULL); + locw->dir_entry = lives_standard_entry_new(_("Download to _Directory : "), TRUE, mainw->vid_dl_dir, + STD_ENTRY_WIDTH, PATH_MAX, LIVES_BOX(hbox), NULL); - lives_entry_set_editable(LIVES_ENTRY(locw->dir_entry),FALSE); - lives_entry_set_max_length(LIVES_ENTRY(locw->dir_entry),PATH_MAX); + lives_entry_set_editable(LIVES_ENTRY(locw->dir_entry), FALSE); + lives_entry_set_max_length(LIVES_ENTRY(locw->dir_entry), PATH_MAX); // add dir, with filechooser button - buttond = lives_standard_file_button_new(TRUE,NULL); - lives_label_set_mnemonic_widget(LIVES_LABEL(widget_opts.last_label),buttond); - lives_box_pack_start(LIVES_BOX(hbox),buttond,FALSE,FALSE,widget_opts.packing_width); - + buttond = lives_standard_file_button_new(TRUE, NULL); + lives_label_set_mnemonic_widget(LIVES_LABEL(widget_opts.last_label), buttond); + lives_box_pack_start(LIVES_BOX(hbox), buttond, FALSE, FALSE, widget_opts.packing_width); add_fill_to_box(LIVES_BOX(hbox)); - hbox=lives_hbox_new(FALSE, 0); + hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(dialog_vbox),hbox,TRUE,FALSE,widget_opts.packing_height); + lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, TRUE, FALSE, widget_opts.packing_height); - locw->name_entry = lives_standard_entry_new(_("Download _File Name : "),TRUE,"", - STD_ENTRY_WIDTH - 6.,PATH_MAX,LIVES_BOX(hbox),NULL); + locw->name_entry = lives_standard_entry_new(_("Download _File Name : "), TRUE, "", + STD_ENTRY_WIDTH - 6., PATH_MAX, LIVES_BOX(hbox), NULL); lives_signal_connect(buttond, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_filesel_button_clicked), (livespointer)locw->dir_entry); - label=lives_standard_label_new(_(".webm")); + label = lives_standard_label_new(_(".webm")); - lives_box_pack_start(LIVES_BOX(hbox),label,FALSE,FALSE,widget_opts.packing_width); + lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, FALSE, widget_opts.packing_width); } - - cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL,NULL); + cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(locw->dialog), cancelbutton, LIVES_RESPONSE_CANCEL); lives_widget_set_can_focus_and_default(cancelbutton); - okbutton = lives_button_new_from_stock(LIVES_STOCK_OK,NULL); + okbutton = lives_button_new_from_stock(LIVES_STOCK_OK, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(locw->dialog), okbutton, LIVES_RESPONSE_OK); lives_widget_set_can_focus_and_default(okbutton); lives_widget_grab_default(okbutton); - lives_signal_connect(LIVES_GUI_OBJECT(cancelbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(lives_general_button_clicked), locw); - if (type==1) + if (type == 1) lives_signal_connect(LIVES_GUI_OBJECT(okbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_location_select), NULL); - else if (type==2) + else if (type == 2) lives_signal_connect(LIVES_GUI_OBJECT(okbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_utube_select), NULL); - lives_widget_add_accelerator(cancelbutton, LIVES_WIDGET_CLICKED_SIGNAL, accel_group, LIVES_KEY_Escape, (LiVESXModifierType)0, (LiVESAccelFlags)0); @@ -1176,58 +1177,57 @@ LiVESWidget *dirbutton1; LiVESWidget *dirimage1; - LiVESAccelGroup *accel_group=LIVES_ACCEL_GROUP(lives_accel_group_new()); + LiVESAccelGroup *accel_group = LIVES_ACCEL_GROUP(lives_accel_group_new()); - char *title=NULL; + char *title = NULL; - _entryw *renamew=(_entryw *)(lives_malloc(sizeof(_entryw))); + _entryw *renamew = (_entryw *)(lives_malloc(sizeof(_entryw))); - renamew->setlist=NULL; + renamew->setlist = NULL; - if (type==1) { - title=lives_strdup(_("Rename Clip")); - } else if (type==2||type==4||type==5) { - title=lives_strdup(_("Enter Set Name to Save as")); - } else if (type==3) { - title=lives_strdup(_("Enter a Set Name to Reload")); - } else if (type==6) { - title=lives_strdup(_("Choose a Working Directory")); - } else if (type==7) { - title=lives_strdup(_("Rename Current Track")); - } else if (type==8) { - title=lives_strdup(_("Enter a Name for Your Theme")); + if (type == 1) { + title = lives_strdup(_("Rename Clip")); + } else if (type == 2 || type == 4 || type == 5) { + title = lives_strdup(_("Enter Set Name to Save as")); + } else if (type == 3) { + title = lives_strdup(_("Enter a Set Name to Reload")); + } else if (type == 6) { + title = lives_strdup(_("Choose a Working Directory")); + } else if (type == 7) { + title = lives_strdup(_("Rename Current Track")); + } else if (type == 8) { + title = lives_strdup(_("Enter a Name for Your Theme")); } - renamew->dialog = lives_standard_dialog_new(title,FALSE,-1,-1); - lives_signal_handlers_disconnect_by_func(renamew->dialog,return_true,NULL); + renamew->dialog = lives_standard_dialog_new(title, FALSE, -1, -1); + lives_signal_handlers_disconnect_by_func(renamew->dialog, return_true, NULL); lives_window_add_accel_group(LIVES_WINDOW(renamew->dialog), accel_group); if (prefs->show_gui) { - if (mainw->multitrack==NULL) { + if (mainw->multitrack == NULL) { if (mainw->is_ready) { - lives_window_set_transient_for(LIVES_WINDOW(renamew->dialog),LIVES_WINDOW(mainw->LiVES)); + lives_window_set_transient_for(LIVES_WINDOW(renamew->dialog), LIVES_WINDOW(mainw->LiVES)); } - } else lives_window_set_transient_for(LIVES_WINDOW(renamew->dialog),LIVES_WINDOW(mainw->multitrack->window)); + } else lives_window_set_transient_for(LIVES_WINDOW(renamew->dialog), LIVES_WINDOW(mainw->multitrack->window)); } dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(renamew->dialog)); - if (type==4) { + if (type == 4) { label = lives_standard_label_new (_("You need to enter a name for the current clip set.\nThis will allow you reload the layout with the same clips later.\n" "Please enter the set name you wish to use.\nLiVES will remind you to save the clip set later when you try to exit.\n")); lives_box_pack_start(LIVES_BOX(dialog_vbox), label, FALSE, FALSE, 0); } - if (type==5) { + if (type == 5) { label = lives_standard_label_new (_("In order to export this project, you must enter a name for this clip set.\nThis will also be used for the project name.\n")); lives_box_pack_start(LIVES_BOX(dialog_vbox), label, FALSE, FALSE, 0); } - - if (type==6) { + if (type == 6) { label = lives_standard_label_new (_("Welcome to LiVES !\nThis startup wizard will guide you through the\ninitial install so that you can get the most from this application.\n")); lives_box_pack_start(LIVES_BOX(dialog_vbox), label, FALSE, FALSE, 0); @@ -1237,71 +1237,66 @@ lives_box_pack_start(LIVES_BOX(dialog_vbox), label, FALSE, FALSE, 0); } - hbox = lives_hbox_new(FALSE, 0); - if (type==3) { - lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, TRUE, FALSE, widget_opts.packing_height*4); - } else if (type==2||type==4||type==5) { - lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, TRUE, TRUE, widget_opts.packing_height*2); + if (type == 3) { + lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, TRUE, FALSE, widget_opts.packing_height * 4); + } else if (type == 2 || type == 4 || type == 5) { + lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, TRUE, TRUE, widget_opts.packing_height * 2); } else { - lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, TRUE, TRUE, widget_opts.packing_height*4); + lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, TRUE, TRUE, widget_opts.packing_height * 4); } - - if (type==1||type==7) { + if (type == 1 || type == 7) { label = lives_standard_label_new(_("New name ")); - } else if (type==2||type==3||type==4||type==5) { + } else if (type == 2 || type == 3 || type == 4 || type == 5) { label = lives_standard_label_new(_("Set name ")); - } else if (type==8) { + } else if (type == 8) { label = lives_standard_label_new(_("Theme name ")); } else { label = lives_standard_label_new(""); } - lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, FALSE, widget_opts.packing_width*4); + lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, FALSE, widget_opts.packing_width * 4); + if (type == 3) { + set_combo = lives_combo_new(); - if (type==3) { + renamew->setlist = get_set_list(prefs->workdir, TRUE); - set_combo=lives_combo_new(); + lives_combo_populate(LIVES_COMBO(set_combo), renamew->setlist); - renamew->setlist=get_set_list(prefs->workdir,TRUE); - - lives_combo_populate(LIVES_COMBO(set_combo),renamew->setlist); - - renamew->entry=lives_combo_get_entry(LIVES_COMBO(set_combo)); + renamew->entry = lives_combo_get_entry(LIVES_COMBO(set_combo)); if (strlen(prefs->ar_clipset_name)) { // set default to our auto-reload clipset - lives_entry_set_text(LIVES_ENTRY(renamew->entry),prefs->ar_clipset_name); + lives_entry_set_text(LIVES_ENTRY(renamew->entry), prefs->ar_clipset_name); } lives_box_pack_start(LIVES_BOX(hbox), set_combo, TRUE, TRUE, 0); - lives_entry_set_completion_from_list(LIVES_ENTRY(renamew->entry),renamew->setlist); + lives_entry_set_completion_from_list(LIVES_ENTRY(renamew->entry), renamew->setlist); } else { char *tmp; renamew->entry = lives_entry_new(); - lives_entry_set_max_length(LIVES_ENTRY(renamew->entry),type==6?PATH_MAX:type==7?16:128); - if (type==2&&strlen(mainw->set_name)) { - lives_entry_set_text(LIVES_ENTRY(renamew->entry),(tmp=F2U8(mainw->set_name))); + lives_entry_set_max_length(LIVES_ENTRY(renamew->entry), type == 6 ? PATH_MAX : type == 7 ? 16 : 128); + if (type == 2 && strlen(mainw->set_name)) { + lives_entry_set_text(LIVES_ENTRY(renamew->entry), (tmp = F2U8(mainw->set_name))); lives_free(tmp); } - if (type==6) { + if (type == 6) { char *workdir; - if (prefs->startup_phase==-1) workdir=lives_build_filename(capable->home_dir,LIVES_WORK_NAME,NULL); - else workdir=lives_strdup(prefs->workdir); - lives_entry_set_text(LIVES_ENTRY(renamew->entry),(tmp=F2U8(workdir))); + if (prefs->startup_phase == -1) workdir = lives_build_filename(capable->home_dir, LIVES_WORK_NAME, NULL); + else workdir = lives_strdup(prefs->workdir); + lives_entry_set_text(LIVES_ENTRY(renamew->entry), (tmp = F2U8(workdir))); lives_free(tmp); lives_free(workdir); } lives_box_pack_start(LIVES_BOX(hbox), renamew->entry, TRUE, TRUE, 0); } - - if (type==6) { + if (type == 6) { dirbutton1 = lives_button_new(); dirimage1 = lives_image_new_from_stock(LIVES_STOCK_OPEN, LIVES_ICON_SIZE_BUTTON); @@ -1309,31 +1304,28 @@ lives_container_add(LIVES_CONTAINER(dirbutton1), dirimage1); lives_box_pack_start(LIVES_BOX(hbox), dirbutton1, FALSE, TRUE, widget_opts.packing_width); - lives_signal_connect(dirbutton1, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_filesel_complex_clicked),renamew->entry); + lives_signal_connect(dirbutton1, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_filesel_complex_clicked), renamew->entry); } - if (type==8) { - mainw->fx1_bool=FALSE; + if (type == 8) { + mainw->fx1_bool = FALSE; hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, TRUE, TRUE, widget_opts.packing_height*4); + lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, TRUE, TRUE, widget_opts.packing_height * 4); - checkbutton = lives_standard_check_button_new(_("Save extended colors"),TRUE,LIVES_BOX(hbox),NULL); + checkbutton = lives_standard_check_button_new(_("Save extended colors"), TRUE, LIVES_BOX(hbox), NULL); lives_signal_connect_after(LIVES_GUI_OBJECT(checkbutton), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(on_boolean_toggled), &mainw->fx1_bool); } - - - lives_entry_set_activates_default(LIVES_ENTRY(renamew->entry), TRUE); - lives_entry_set_width_chars(LIVES_ENTRY(renamew->entry),RW_ENTRY_DISPWIDTH); + lives_entry_set_width_chars(LIVES_ENTRY(renamew->entry), RW_ENTRY_DISPWIDTH); - cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL,NULL); + cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL, NULL); - if (!(type==4&&!mainw->interactive)) { + if (!(type == 4 && !mainw->interactive)) { lives_dialog_add_action_widget(LIVES_DIALOG(renamew->dialog), cancelbutton, LIVES_RESPONSE_CANCEL); lives_widget_set_can_focus_and_default(cancelbutton); @@ -1341,21 +1333,21 @@ LIVES_KEY_Escape, (LiVESXModifierType)0, (LiVESAccelFlags)0); } - if (type==6) { - okbutton = lives_button_new_from_stock(LIVES_STOCK_GO_FORWARD,_("_Next")); - } else okbutton = lives_button_new_from_stock(LIVES_STOCK_OK,NULL); + if (type == 6) { + okbutton = lives_button_new_from_stock(LIVES_STOCK_GO_FORWARD, _("_Next")); + } else okbutton = lives_button_new_from_stock(LIVES_STOCK_OK, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(renamew->dialog), okbutton, LIVES_RESPONSE_OK); lives_widget_set_can_focus_and_default(okbutton); lives_widget_grab_default(okbutton); - if (type!=3) { + if (type != 3) { lives_signal_connect(LIVES_GUI_OBJECT(cancelbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(lives_general_button_clicked), renamew); } - if (type==1) { + if (type == 1) { lives_signal_connect(LIVES_GUI_OBJECT(okbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_rename_set_name), NULL); @@ -1373,45 +1365,42 @@ void on_liveinp_advanced_clicked(LiVESButton *button, livespointer user_data) { - lives_tvcardw_t *tvcardw=(lives_tvcardw_t *)(user_data); + lives_tvcardw_t *tvcardw = (lives_tvcardw_t *)(user_data); - tvcardw->use_advanced=!tvcardw->use_advanced; + tvcardw->use_advanced = !tvcardw->use_advanced; if (tvcardw->use_advanced) { lives_widget_show(tvcardw->adv_vbox); - lives_button_set_label(LIVES_BUTTON(tvcardw->advbutton),_("Use def_aults")); + lives_button_set_label(LIVES_BUTTON(tvcardw->advbutton), _("Use def_aults")); } else { - lives_button_set_label(LIVES_BUTTON(tvcardw->advbutton),_("_Advanced")); - lives_window_resize(LIVES_WINDOW(lives_widget_get_toplevel(tvcardw->adv_vbox)),4,40); + lives_button_set_label(LIVES_BUTTON(tvcardw->advbutton), _("_Advanced")); + lives_window_resize(LIVES_WINDOW(lives_widget_get_toplevel(tvcardw->adv_vbox)), 4, 40); lives_widget_hide(tvcardw->adv_vbox); } lives_widget_queue_resize(lives_widget_get_parent(tvcardw->adv_vbox)); - } static void rb_tvcarddef_toggled(LiVESToggleButton *tbut, livespointer user_data) { - lives_tvcardw_t *tvcardw=(lives_tvcardw_t *)(user_data); + lives_tvcardw_t *tvcardw = (lives_tvcardw_t *)(user_data); if (!lives_toggle_button_get_active(tbut)) { - lives_widget_set_sensitive(tvcardw->spinbuttonw,TRUE); - lives_widget_set_sensitive(tvcardw->spinbuttonh,TRUE); - lives_widget_set_sensitive(tvcardw->spinbuttonf,TRUE); + lives_widget_set_sensitive(tvcardw->spinbuttonw, TRUE); + lives_widget_set_sensitive(tvcardw->spinbuttonh, TRUE); + lives_widget_set_sensitive(tvcardw->spinbuttonf, TRUE); } else { - lives_widget_set_sensitive(tvcardw->spinbuttonw,FALSE); - lives_widget_set_sensitive(tvcardw->spinbuttonh,FALSE); - lives_widget_set_sensitive(tvcardw->spinbuttonf,FALSE); + lives_widget_set_sensitive(tvcardw->spinbuttonw, FALSE); + lives_widget_set_sensitive(tvcardw->spinbuttonh, FALSE); + lives_widget_set_sensitive(tvcardw->spinbuttonf, FALSE); } - - } static void after_dialog_combo_changed(LiVESWidget *combo, livespointer user_data) { - LiVESList *list=(LiVESList *)user_data; - char *etext=lives_combo_get_active_text(LIVES_COMBO(combo)); - mainw->fx1_val=lives_list_strcmp_index(list,etext); + LiVESList *list = (LiVESList *)user_data; + char *etext = lives_combo_get_active_text(LIVES_COMBO(combo)); + mainw->fx1_val = lives_list_strcmp_index(list, etext); lives_free(etext); } @@ -1423,39 +1412,38 @@ // afterwards, mainw->fx1_val points to index selected - LiVESWidget *combo_dialog; LiVESWidget *dialog_vbox; LiVESWidget *label; LiVESWidget *combo; - char *label_text=NULL,*title=NULL; + char *label_text = NULL, *title = NULL; - LiVESList *list=(LiVESList *)user_data; + LiVESList *list = (LiVESList *)user_data; - if (type==1) { - title=lives_strdup(_("Select input device")); + if (type == 1) { + title = lives_strdup(_("Select input device")); } - combo_dialog = lives_standard_dialog_new(title,TRUE,-1,-1); - if (title!=NULL) lives_free(title); + combo_dialog = lives_standard_dialog_new(title, TRUE, -1, -1); + if (title != NULL) lives_free(title); if (prefs->show_gui) { - if (type==1) { - lives_window_set_transient_for(LIVES_WINDOW(combo_dialog),LIVES_WINDOW(mainw->LiVES)); + if (type == 1) { + lives_window_set_transient_for(LIVES_WINDOW(combo_dialog), LIVES_WINDOW(mainw->LiVES)); } else { - lives_window_set_transient_for(LIVES_WINDOW(combo_dialog),LIVES_WINDOW(mainw->multitrack->window)); + lives_window_set_transient_for(LIVES_WINDOW(combo_dialog), LIVES_WINDOW(mainw->multitrack->window)); } } dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(combo_dialog)); - if (type==1) { - label_text=lives_strdup(_("Select input device:")); + if (type == 1) { + label_text = lives_strdup(_("Select input device:")); } label = lives_standard_label_new(label_text); - if (label_text!=NULL) lives_free(label_text); + if (label_text != NULL) lives_free(label_text); lives_box_pack_start(LIVES_BOX(dialog_vbox), label, TRUE, TRUE, 0); @@ -1463,15 +1451,15 @@ lives_entry_set_width_chars(LIVES_ENTRY(lives_combo_get_entry(LIVES_COMBO(combo))), 64); - lives_combo_populate(LIVES_COMBO(combo),list); + lives_combo_populate(LIVES_COMBO(combo), list); lives_combo_set_active_index(LIVES_COMBO(combo), 0); lives_signal_connect_after(LIVES_WIDGET_OBJECT(combo), LIVES_WIDGET_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(after_dialog_combo_changed), list); - lives_box_pack_start(LIVES_BOX(dialog_vbox), combo, TRUE, TRUE, widget_opts.packing_height*2); + lives_box_pack_start(LIVES_BOX(dialog_vbox), combo, TRUE, TRUE, widget_opts.packing_height * 2); - if (type==1) { + if (type == 1) { add_deinterlace_checkbox(LIVES_BOX(dialog_vbox)); } @@ -1496,7 +1484,7 @@ // TODO - for CD make this nicer - get track names - lives_tvcardw_t *tvcardw=NULL; + lives_tvcardw_t *tvcardw = NULL; LiVESWidget *cd_dialog; LiVESWidget *dialog_vbox; @@ -1505,73 +1493,71 @@ LiVESWidget *cancelbutton; LiVESWidget *okbutton; - LiVESAccelGroup *accel_group=LIVES_ACCEL_GROUP(lives_accel_group_new()); + LiVESAccelGroup *accel_group = LIVES_ACCEL_GROUP(lives_accel_group_new()); - LiVESSList *radiobutton_group=NULL; + LiVESSList *radiobutton_group = NULL; - char *label_text=NULL,*title; + char *label_text = NULL, *title; - int ph_mult=4; + int ph_mult = 4; - if (type==LIVES_DEVICE_CD) { - title=lives_strdup(_("Load CD Track")); - } else if (type==LIVES_DEVICE_DVD) { - title=lives_strdup(_("Select DVD Title/Chapter")); - } else if (type==LIVES_DEVICE_VCD) { - title=lives_strdup(_("Select VCD Title")); - } else if (type==LIVES_DEVICE_INTERNAL) { - title=lives_strdup(_("Change Maximum Visible Tracks")); + if (type == LIVES_DEVICE_CD) { + title = lives_strdup(_("Load CD Track")); + } else if (type == LIVES_DEVICE_DVD) { + title = lives_strdup(_("Select DVD Title/Chapter")); + } else if (type == LIVES_DEVICE_VCD) { + title = lives_strdup(_("Select VCD Title")); + } else if (type == LIVES_DEVICE_INTERNAL) { + title = lives_strdup(_("Change Maximum Visible Tracks")); } else { - title=lives_strdup(_("Device details")); + title = lives_strdup(_("Device details")); } - cd_dialog = lives_standard_dialog_new(title,FALSE,-1,-1); + cd_dialog = lives_standard_dialog_new(title, FALSE, -1, -1); lives_free(title); - lives_signal_handlers_disconnect_by_func(cd_dialog,return_true,NULL); + lives_signal_handlers_disconnect_by_func(cd_dialog, return_true, NULL); if (prefs->show_gui) { - if (type!=LIVES_DEVICE_INTERNAL) { - lives_window_set_transient_for(LIVES_WINDOW(cd_dialog),LIVES_WINDOW(mainw->LiVES)); + if (type != LIVES_DEVICE_INTERNAL) { + lives_window_set_transient_for(LIVES_WINDOW(cd_dialog), LIVES_WINDOW(mainw->LiVES)); } else { - lives_window_set_transient_for(LIVES_WINDOW(cd_dialog),LIVES_WINDOW(mainw->multitrack->window)); + lives_window_set_transient_for(LIVES_WINDOW(cd_dialog), LIVES_WINDOW(mainw->multitrack->window)); } } dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(cd_dialog)); + if (type == LIVES_DEVICE_DVD || type == LIVES_DEVICE_TV_CARD) ph_mult = 2; - if (type==LIVES_DEVICE_DVD||type==LIVES_DEVICE_TV_CARD) ph_mult=2; - - hbox = lives_hbox_new(FALSE, widget_opts.packing_width*5); - lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, TRUE, TRUE, widget_opts.packing_height*ph_mult); + hbox = lives_hbox_new(FALSE, widget_opts.packing_width * 5); + lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, TRUE, TRUE, widget_opts.packing_height * ph_mult); - if (type==LIVES_DEVICE_CD) { - label_text=lives_strdup_printf(_("Track to load (from %s)"),prefs->cdplay_device); - } else if (type==LIVES_DEVICE_DVD) { - label_text=lives_strdup(_("DVD Title")); - } else if (type==LIVES_DEVICE_VCD) { - label_text=lives_strdup(_("VCD Title")); - } else if (type==LIVES_DEVICE_INTERNAL) { - label_text=lives_strdup(_("Maximum number of tracks to display")); - } else if (type==LIVES_DEVICE_TV_CARD) { - label_text=lives_strdup(_("Device: /dev/video")); - } else if (type==LIVES_DEVICE_FW_CARD) { - label_text=lives_strdup(_("Device: fw:")); + if (type == LIVES_DEVICE_CD) { + label_text = lives_strdup_printf(_("Track to load (from %s)"), prefs->cdplay_device); + } else if (type == LIVES_DEVICE_DVD) { + label_text = lives_strdup(_("DVD Title")); + } else if (type == LIVES_DEVICE_VCD) { + label_text = lives_strdup(_("VCD Title")); + } else if (type == LIVES_DEVICE_INTERNAL) { + label_text = lives_strdup(_("Maximum number of tracks to display")); + } else if (type == LIVES_DEVICE_TV_CARD) { + label_text = lives_strdup(_("Device: /dev/video")); + } else if (type == LIVES_DEVICE_FW_CARD) { + label_text = lives_strdup(_("Device: fw:")); } - - if (type==LIVES_DEVICE_CD||type==LIVES_DEVICE_DVD||type==LIVES_DEVICE_VCD) { - spinbutton = lives_standard_spin_button_new(label_text,FALSE, mainw->fx1_val, + if (type == LIVES_DEVICE_CD || type == LIVES_DEVICE_DVD || type == LIVES_DEVICE_VCD) { + spinbutton = lives_standard_spin_button_new(label_text, FALSE, mainw->fx1_val, 1., 256., 1., 10., 0, - LIVES_BOX(hbox),NULL); - } else if (type==LIVES_DEVICE_INTERNAL) { - spinbutton = lives_standard_spin_button_new(label_text,FALSE, mainw->fx1_val, - 5., 15., 1., 1.,0, - LIVES_BOX(hbox),NULL); + LIVES_BOX(hbox), NULL); + } else if (type == LIVES_DEVICE_INTERNAL) { + spinbutton = lives_standard_spin_button_new(label_text, FALSE, mainw->fx1_val, + 5., 15., 1., 1., 0, + LIVES_BOX(hbox), NULL); } else { - spinbutton = lives_standard_spin_button_new(label_text,FALSE, 0., + spinbutton = lives_standard_spin_button_new(label_text, FALSE, 0., 0., 31., 1., 1., 0, - LIVES_BOX(hbox),NULL); + LIVES_BOX(hbox), NULL); } lives_free(label_text); @@ -1580,22 +1566,20 @@ LIVES_GUI_CALLBACK(on_spin_value_changed), LIVES_INT_TO_POINTER(1)); - add_fill_to_box(LIVES_BOX(hbox)); - if (type==LIVES_DEVICE_DVD||type==LIVES_DEVICE_TV_CARD) { + if (type == LIVES_DEVICE_DVD || type == LIVES_DEVICE_TV_CARD) { + hbox = lives_hbox_new(FALSE, widget_opts.packing_width * 5); + lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, TRUE, TRUE, widget_opts.packing_height * ph_mult); - hbox = lives_hbox_new(FALSE, widget_opts.packing_width*5); - lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, TRUE, TRUE, widget_opts.packing_height*ph_mult); - - if (type==LIVES_DEVICE_DVD) { + if (type == LIVES_DEVICE_DVD) { spinbutton = lives_standard_spin_button_new(_("Chapter "), FALSE, mainw->fx2_val, 1., 1024., 1., 10., 0, - LIVES_BOX(hbox),NULL); + LIVES_BOX(hbox), NULL); } else { spinbutton = lives_standard_spin_button_new(_("Channel "), FALSE, 1., 1., 69., 1., 1., 0, - LIVES_BOX(hbox),NULL); + LIVES_BOX(hbox), NULL); } @@ -1603,14 +1587,13 @@ LIVES_GUI_CALLBACK(on_spin_value_changed), LIVES_INT_TO_POINTER(2)); - - if (type==LIVES_DEVICE_DVD) { - hbox = lives_hbox_new(FALSE, widget_opts.packing_width*5); - lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, TRUE, TRUE, widget_opts.packing_height*ph_mult); + if (type == LIVES_DEVICE_DVD) { + hbox = lives_hbox_new(FALSE, widget_opts.packing_width * 5); + lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, TRUE, TRUE, widget_opts.packing_height * ph_mult); spinbutton = lives_standard_spin_button_new(_("Audio ID "), FALSE, mainw->fx3_val, DVD_AUDIO_CHAN_MIN, DVD_AUDIO_CHAN_MAX, 1., 1., 0, - LIVES_BOX(hbox),NULL); + LIVES_BOX(hbox), NULL); lives_signal_connect_after(LIVES_GUI_OBJECT(spinbutton), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(on_spin_value_changed), @@ -1619,71 +1602,56 @@ } } - if (type==LIVES_DEVICE_TV_CARD||type==LIVES_DEVICE_FW_CARD) { - hbox=add_deinterlace_checkbox(LIVES_BOX(dialog_vbox)); + if (type == LIVES_DEVICE_TV_CARD || type == LIVES_DEVICE_FW_CARD) { + hbox = add_deinterlace_checkbox(LIVES_BOX(dialog_vbox)); add_fill_to_box(LIVES_BOX(hbox)); } + if (type == LIVES_DEVICE_TV_CARD) { + LiVESList *dlist = NULL; + LiVESList *olist = NULL; + char const *str; + char *tvcardtypes[] = LIVES_TV_CARD_TYPES; + register int i; - if (type==LIVES_DEVICE_TV_CARD) { - LiVESList *dlist=NULL; - LiVESList *olist=NULL; - - tvcardw=(lives_tvcardw_t *)lives_malloc(sizeof(lives_tvcardw_t)); - tvcardw->use_advanced=FALSE; - - dlist=lives_list_append(dlist,(livespointer)"autodetect"); - dlist=lives_list_append(dlist,(livespointer)"v4l2"); - dlist=lives_list_append(dlist,(livespointer)"v4l"); - dlist=lives_list_append(dlist,(livespointer)"bsdbt848"); - dlist=lives_list_append(dlist,(livespointer)"dummy"); - - olist=lives_list_append(olist,(livespointer)"autodetect"); - olist=lives_list_append(olist,(livespointer)"yv12"); - olist=lives_list_append(olist,(livespointer)"rgb32"); - olist=lives_list_append(olist,(livespointer)"rgb24"); - olist=lives_list_append(olist,(livespointer)"rgb16"); - olist=lives_list_append(olist,(livespointer)"rgb15"); - olist=lives_list_append(olist,(livespointer)"uyvy"); - olist=lives_list_append(olist,(livespointer)"yuy2"); - olist=lives_list_append(olist,(livespointer)"i420"); + tvcardw = (lives_tvcardw_t *)lives_malloc(sizeof(lives_tvcardw_t)); + tvcardw->use_advanced = FALSE; + for (i = 0; (str = tvcardtypes[i]) != NULL; i++) { + dlist = lives_list_append(dlist, (livespointer)tvcardtypes[i]); + } - lives_box_set_spacing(LIVES_BOX(dialog_vbox),widget_opts.packing_height*2); + lives_box_set_spacing(LIVES_BOX(dialog_vbox), widget_opts.packing_height * 2); - hbox = lives_hbox_new(FALSE, widget_opts.packing_width*5); + hbox = lives_hbox_new(FALSE, widget_opts.packing_width * 5); - lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, FALSE, FALSE, widget_opts.packing_height*2); + lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, FALSE, FALSE, widget_opts.packing_height * 2); add_fill_to_box(LIVES_BOX(hbox)); - tvcardw->advbutton = lives_button_new_from_stock(LIVES_STOCK_PREFERENCES,_("_Advanced")); + tvcardw->advbutton = lives_button_new_from_stock(LIVES_STOCK_PREFERENCES, _("_Advanced")); - lives_box_pack_start(LIVES_BOX(hbox), tvcardw->advbutton, TRUE, TRUE, widget_opts.packing_width*4); + lives_box_pack_start(LIVES_BOX(hbox), tvcardw->advbutton, TRUE, TRUE, widget_opts.packing_width * 4); add_fill_to_box(LIVES_BOX(hbox)); - - tvcardw->adv_vbox = lives_vbox_new(FALSE, widget_opts.packing_width*5); - lives_box_pack_start(LIVES_BOX(dialog_vbox), tvcardw->adv_vbox, TRUE, TRUE, widget_opts.packing_height*2); - + tvcardw->adv_vbox = lives_vbox_new(FALSE, widget_opts.packing_width * 5); + lives_box_pack_start(LIVES_BOX(dialog_vbox), tvcardw->adv_vbox, TRUE, TRUE, widget_opts.packing_height * 2); // add input, width, height, fps, driver and outfmt - hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(tvcardw->adv_vbox), hbox, TRUE, FALSE, 0); - tvcardw->spinbuttoni = lives_standard_spin_button_new(_("Input number"),FALSE, - 0.,0.,16.,1.,1.,0, - LIVES_BOX(hbox),NULL); - + tvcardw->spinbuttoni = lives_standard_spin_button_new(_("Input number"), FALSE, + 0., 0., 16., 1., 1., 0, + LIVES_BOX(hbox), NULL); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(tvcardw->adv_vbox), hbox, TRUE, FALSE, 0); - tvcardw->radiobuttond = lives_standard_radio_button_new(_("Use default width, height and FPS"),FALSE, - radiobutton_group,LIVES_BOX(hbox),NULL); + tvcardw->radiobuttond = lives_standard_radio_button_new(_("Use default width, height and FPS"), FALSE, + radiobutton_group, LIVES_BOX(hbox), NULL); radiobutton_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(tvcardw->radiobuttond)); lives_signal_connect_after(LIVES_GUI_OBJECT(tvcardw->radiobuttond), LIVES_WIDGET_TOGGLED_SIGNAL, @@ -1693,34 +1661,33 @@ hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(tvcardw->adv_vbox), hbox, TRUE, FALSE, 0); - lives_standard_radio_button_new(NULL,FALSE, - radiobutton_group,LIVES_BOX(hbox),NULL); + lives_standard_radio_button_new(NULL, FALSE, + radiobutton_group, LIVES_BOX(hbox), NULL); - tvcardw->spinbuttonw = lives_standard_spin_button_new(_("Width"),FALSE, - 640.,4.,4096.,2.,2.,0, - LIVES_BOX(hbox),NULL); + tvcardw->spinbuttonw = lives_standard_spin_button_new(_("Width"), FALSE, + 640., 4., 4096., 2., 2., 0, + LIVES_BOX(hbox), NULL); - lives_widget_set_sensitive(tvcardw->spinbuttonw,FALSE); + lives_widget_set_sensitive(tvcardw->spinbuttonw, FALSE); - tvcardw->spinbuttonh = lives_standard_spin_button_new(_("Height"),FALSE, - 480.,4.,4096.,2.,2.,0, - LIVES_BOX(hbox),NULL); + tvcardw->spinbuttonh = lives_standard_spin_button_new(_("Height"), FALSE, + 480., 4., 4096., 2., 2., 0, + LIVES_BOX(hbox), NULL); - lives_widget_set_sensitive(tvcardw->spinbuttonh,FALSE); + lives_widget_set_sensitive(tvcardw->spinbuttonh, FALSE); - tvcardw->spinbuttonf = lives_standard_spin_button_new(_("FPS"),FALSE, + tvcardw->spinbuttonf = lives_standard_spin_button_new(_("FPS"), FALSE, 25., 1., FPS_MAX, 1., 10., 3, - LIVES_BOX(hbox),NULL); + LIVES_BOX(hbox), NULL); - lives_widget_set_sensitive(tvcardw->spinbuttonf,FALSE); + lives_widget_set_sensitive(tvcardw->spinbuttonf, FALSE); hbox = lives_hbox_new(FALSE, 0); - tvcardw->combod = lives_standard_combo_new(_("_Driver"),TRUE,dlist,LIVES_BOX(hbox),NULL); + tvcardw->combod = lives_standard_combo_new(_("_Driver"), TRUE, dlist, LIVES_BOX(hbox), NULL); lives_combo_set_active_index(LIVES_COMBO(tvcardw->combod), 0); - tvcardw->comboo = lives_standard_combo_new(_("_Output format"),TRUE,olist,LIVES_BOX(hbox),NULL); - + tvcardw->comboo = lives_standard_combo_new(_("_Output format"), TRUE, olist, LIVES_BOX(hbox), NULL); lives_widget_show_all(hbox); lives_box_pack_start(LIVES_BOX(tvcardw->adv_vbox), hbox, TRUE, FALSE, 0); @@ -1731,16 +1698,16 @@ lives_widget_hide(tvcardw->adv_vbox); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(cd_dialog),"tvcard_data",tvcardw); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(cd_dialog), "tvcard_data", tvcardw); } add_fill_to_box(LIVES_BOX(dialog_vbox)); - cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL,NULL); + cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(cd_dialog), cancelbutton, LIVES_RESPONSE_CANCEL); - okbutton = lives_button_new_from_stock(LIVES_STOCK_OK,NULL); + okbutton = lives_button_new_from_stock(LIVES_STOCK_OK, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(cd_dialog), okbutton, LIVES_RESPONSE_OK); lives_widget_set_can_focus_and_default(okbutton); @@ -1749,25 +1716,24 @@ lives_widget_add_accelerator(cancelbutton, LIVES_WIDGET_CLICKED_SIGNAL, accel_group, LIVES_KEY_Escape, (LiVESXModifierType)0, (LiVESAccelFlags)0); - lives_widget_add_accelerator(okbutton, LIVES_WIDGET_CLICKED_SIGNAL, accel_group, LIVES_KEY_Return, (LiVESXModifierType)0, (LiVESAccelFlags)0); - if (type!=LIVES_DEVICE_TV_CARD&&type!=LIVES_DEVICE_FW_CARD) { + if (type != LIVES_DEVICE_TV_CARD && type != LIVES_DEVICE_FW_CARD) { lives_signal_connect(LIVES_GUI_OBJECT(cancelbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(lives_general_button_clicked), NULL); } - if (type==LIVES_DEVICE_CD) { + if (type == LIVES_DEVICE_CD) { lives_signal_connect(LIVES_GUI_OBJECT(okbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_load_cdtrack_ok_clicked), NULL); - } else if (type==LIVES_DEVICE_DVD||type==LIVES_DEVICE_VCD) { + } else if (type == LIVES_DEVICE_DVD || type == LIVES_DEVICE_VCD) { lives_signal_connect(LIVES_GUI_OBJECT(okbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_load_vcd_ok_clicked), LIVES_INT_TO_POINTER(type)); - } else if (type==LIVES_DEVICE_INTERNAL) { + } else if (type == LIVES_DEVICE_INTERNAL) { lives_signal_connect(LIVES_GUI_OBJECT(okbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(mt_change_disp_tracks_ok), user_data); @@ -1777,22 +1743,19 @@ lives_widget_show_all(cd_dialog); - if (type==LIVES_DEVICE_TV_CARD) lives_widget_hide(tvcardw->adv_vbox); + if (type == LIVES_DEVICE_TV_CARD) lives_widget_hide(tvcardw->adv_vbox); return cd_dialog; } - static void rb_aud_sel_pressed(LiVESButton *button, livespointer user_data) { - aud_dialog_t *audd=(aud_dialog_t *)user_data; - audd->is_sel=!audd->is_sel; - lives_widget_set_sensitive(audd->time_spin,!audd->is_sel); + aud_dialog_t *audd = (aud_dialog_t *)user_data; + audd->is_sel = !audd->is_sel; + lives_widget_set_sensitive(audd->time_spin, !audd->is_sel); } - - aud_dialog_t *create_audfade_dialog(int type) { // type 0 = fade in // type 1 = fade out @@ -1803,26 +1766,26 @@ LiVESWidget *rb_sel; LiVESWidget *label; - char *label_text=NULL,*label_text2=NULL,*title; + char *label_text = NULL, *label_text2 = NULL, *title; double max; LiVESSList *radiobutton_group = NULL; - aud_dialog_t *audd=(aud_dialog_t *)lives_malloc(sizeof(aud_dialog_t)); + aud_dialog_t *audd = (aud_dialog_t *)lives_malloc(sizeof(aud_dialog_t)); - if (type==0) { - title=lives_strdup(_("Fade Audio In")); + if (type == 0) { + title = lives_strdup(_("Fade Audio In")); } else { - title=lives_strdup(_("Fade Audio Out")); + title = lives_strdup(_("Fade Audio Out")); } - audd->dialog = lives_standard_dialog_new(title,TRUE,-1,-1); - lives_signal_handlers_disconnect_by_func(audd->dialog,return_true,NULL); + audd->dialog = lives_standard_dialog_new(title, TRUE, -1, -1); + lives_signal_handlers_disconnect_by_func(audd->dialog, return_true, NULL); lives_free(title); if (prefs->show_gui) { - lives_window_set_transient_for(LIVES_WINDOW(audd->dialog),LIVES_WINDOW(mainw->LiVES)); + lives_window_set_transient_for(LIVES_WINDOW(audd->dialog), LIVES_WINDOW(mainw->LiVES)); } dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(audd->dialog)); @@ -1830,70 +1793,63 @@ hbox = lives_hbox_new(FALSE, TB_HEIGHT_AUD); lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, TRUE, TRUE, widget_opts.packing_height); - if (type==0) { - label_text=lives_strdup(_("Fade in over ")); - label_text2=lives_strdup(_("first")); - } else if (type==1) { - label_text=lives_strdup(_("Fade out over ")); - label_text2=lives_strdup(_("last")); + if (type == 0) { + label_text = lives_strdup(_("Fade in over ")); + label_text2 = lives_strdup(_("first")); + } else if (type == 1) { + label_text = lives_strdup(_("Fade out over ")); + label_text2 = lives_strdup(_("last")); } - label = lives_standard_label_new(label_text); - if (label_text!=NULL) lives_free(label_text); + if (label_text != NULL) lives_free(label_text); lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, FALSE, 0); - hbox = lives_hbox_new(FALSE, widget_opts.packing_width*5); + hbox = lives_hbox_new(FALSE, widget_opts.packing_width * 5); lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, TRUE, TRUE, widget_opts.packing_height); - rb_time=lives_standard_radio_button_new(label_text2,FALSE,radiobutton_group, - LIVES_BOX(hbox),NULL); + rb_time = lives_standard_radio_button_new(label_text2, FALSE, radiobutton_group, + LIVES_BOX(hbox), NULL); radiobutton_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(rb_time)); - if (label_text2!=NULL) lives_free(label_text2); - + if (label_text2 != NULL) lives_free(label_text2); - max=cfile->laudio_time; + max = cfile->laudio_time; - widget_opts.swap_label=TRUE; - audd->time_spin = lives_standard_spin_button_new(_("seconds."),FALSE, - max/2.>DEF_AUD_FADE_SECS?DEF_AUD_FADE_SECS:max/2., .1, max, 1., 10., 2, - LIVES_BOX(hbox),NULL); - widget_opts.swap_label=FALSE; + widget_opts.swap_label = TRUE; + audd->time_spin = lives_standard_spin_button_new(_("seconds."), FALSE, + max / 2. > DEF_AUD_FADE_SECS ? DEF_AUD_FADE_SECS : max / 2., .1, max, 1., 10., 2, + LIVES_BOX(hbox), NULL); + widget_opts.swap_label = FALSE; - hbox = lives_hbox_new(FALSE, widget_opts.packing_width*5); + hbox = lives_hbox_new(FALSE, widget_opts.packing_width * 5); lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, TRUE, TRUE, widget_opts.packing_height); - rb_sel=lives_standard_radio_button_new(_("selection"),FALSE,radiobutton_group,LIVES_BOX(hbox),NULL); + rb_sel = lives_standard_radio_button_new(_("selection"), FALSE, radiobutton_group, LIVES_BOX(hbox), NULL); - audd->is_sel=FALSE; + audd->is_sel = FALSE; - if ((cfile->end-1.)/cfile->fps>cfile->laudio_time) { + if ((cfile->end - 1.) / cfile->fps > cfile->laudio_time) { // if selection is longer than audio time, we cannot use sel len - lives_widget_set_sensitive(rb_sel,FALSE); + lives_widget_set_sensitive(rb_sel, FALSE); } else { - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(rb_sel),TRUE); - rb_aud_sel_pressed(LIVES_BUTTON(rb_sel),(livespointer)audd); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(rb_sel), TRUE); + rb_aud_sel_pressed(LIVES_BUTTON(rb_sel), (livespointer)audd); } lives_signal_connect_after(LIVES_GUI_OBJECT(rb_sel), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(rb_aud_sel_pressed), (livespointer)audd); - add_fill_to_box(LIVES_BOX(hbox)); - lives_widget_show_all(audd->dialog); return audd; } - - - _commentsw *create_comments_dialog(lives_clip_t *sfile, char *filename) { LiVESWidget *dialog_vbox; LiVESWidget *table; @@ -1902,38 +1858,36 @@ LiVESWidget *hbox; LiVESWidget *buttond; - char *extrabit,*title; + char *extrabit, *title; - _commentsw *commentsw=(_commentsw *)(lives_malloc(sizeof(_commentsw))); + _commentsw *commentsw = (_commentsw *)(lives_malloc(sizeof(_commentsw))); - if (filename!=NULL) extrabit=lives_strdup(_(" (Optional)")); - else extrabit=lives_strdup(""); + if (filename != NULL) extrabit = lives_strdup(_(" (Optional)")); + else extrabit = lives_strdup(""); - title=lives_strdup_printf(_("File Comments%s"),extrabit); + title = lives_strdup_printf(_("File Comments%s"), extrabit); - commentsw->comments_dialog = lives_standard_dialog_new(title,TRUE,-1,-1); + commentsw->comments_dialog = lives_standard_dialog_new(title, TRUE, -1, -1); lives_free(title); lives_free(extrabit); - lives_signal_handlers_disconnect_by_func(commentsw->comments_dialog,return_true,NULL); - + lives_signal_handlers_disconnect_by_func(commentsw->comments_dialog, return_true, NULL); if (prefs->show_gui) { - lives_window_set_transient_for(LIVES_WINDOW(commentsw->comments_dialog),LIVES_WINDOW(mainw->LiVES)); + lives_window_set_transient_for(LIVES_WINDOW(commentsw->comments_dialog), LIVES_WINDOW(mainw->LiVES)); } dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(commentsw->comments_dialog)); - if (filename!=NULL) { - label=lives_standard_label_new((extrabit=lives_strdup_printf(_("File Name: %s"),filename))); + if (filename != NULL) { + label = lives_standard_label_new((extrabit = lives_strdup_printf(_("File Name: %s"), filename))); lives_free(extrabit); lives_box_pack_start(LIVES_BOX(dialog_vbox), label, TRUE, TRUE, widget_opts.packing_height); } - table = lives_table_new(4, 2, FALSE); lives_container_set_border_width(LIVES_CONTAINER(table), widget_opts.border_width); - lives_table_set_row_spacings(LIVES_TABLE(table), widget_opts.packing_height*2); + lives_table_set_row_spacings(LIVES_TABLE(table), widget_opts.packing_height * 2); lives_box_pack_start(LIVES_BOX(dialog_vbox), table, TRUE, TRUE, widget_opts.packing_height); @@ -1944,7 +1898,6 @@ (LiVESAttachOptions)(0), 0, 0); lives_label_set_halignment(LIVES_LABEL(label), 0.); - label = lives_standard_label_new(_("Author/Artist : ")); lives_table_attach(LIVES_TABLE(table), label, 0, 1, 1, 2, @@ -1960,25 +1913,25 @@ lives_label_set_halignment(LIVES_LABEL(label), 0.); - commentsw->title_entry = lives_standard_entry_new(NULL,FALSE,cfile->title,STD_ENTRY_WIDTH,-1,NULL,NULL); + commentsw->title_entry = lives_standard_entry_new(NULL, FALSE, cfile->title, STD_ENTRY_WIDTH, -1, NULL, NULL); lives_table_attach(LIVES_TABLE(table), commentsw->title_entry, 1, 2, 0, 1, (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL), (LiVESAttachOptions)(LIVES_EXPAND), 0, 0); - commentsw->author_entry = lives_standard_entry_new(NULL,FALSE,cfile->author,STD_ENTRY_WIDTH,-1,NULL,NULL); + commentsw->author_entry = lives_standard_entry_new(NULL, FALSE, cfile->author, STD_ENTRY_WIDTH, -1, NULL, NULL); lives_table_attach(LIVES_TABLE(table), commentsw->author_entry, 1, 2, 1, 2, (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL), (LiVESAttachOptions)(LIVES_EXPAND), 0, 0); - commentsw->comment_entry = lives_standard_entry_new(NULL,FALSE,cfile->comment,STD_ENTRY_WIDTH,250,NULL,NULL); + commentsw->comment_entry = lives_standard_entry_new(NULL, FALSE, cfile->comment, STD_ENTRY_WIDTH, 250, NULL, NULL); lives_table_attach(LIVES_TABLE(table), commentsw->comment_entry, 1, 2, 3, 4, (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL), (LiVESAttachOptions)(LIVES_EXPAND), 0, 0); - if (filename!=NULL) { + if (filename != NULL) { // options vbox = lives_vbox_new(FALSE, 0); @@ -1987,58 +1940,56 @@ hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - commentsw->subt_checkbutton = lives_standard_check_button_new(_("Save _subtitles to file"),TRUE,LIVES_BOX(hbox),NULL); - - if (sfile->subt==NULL) { - lives_widget_set_sensitive(commentsw->subt_checkbutton,FALSE); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(commentsw->subt_checkbutton),FALSE); - } else lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(commentsw->subt_checkbutton),TRUE); + commentsw->subt_checkbutton = lives_standard_check_button_new(_("Save _subtitles to file"), TRUE, LIVES_BOX(hbox), NULL); + if (sfile->subt == NULL) { + lives_widget_set_sensitive(commentsw->subt_checkbutton, FALSE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(commentsw->subt_checkbutton), FALSE); + } else lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(commentsw->subt_checkbutton), TRUE); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - commentsw->subt_entry=lives_standard_entry_new(_("Subtitle file"),FALSE,NULL,SHORT_ENTRY_WIDTH,-1,LIVES_BOX(hbox),NULL); + commentsw->subt_entry = lives_standard_entry_new(_("Subtitle file"), FALSE, NULL, SHORT_ENTRY_WIDTH, -1, LIVES_BOX(hbox), NULL); buttond = lives_button_new_with_mnemonic(_("Browse...")); - lives_signal_connect(buttond, LIVES_WIDGET_CLICKED_SIGNAL,LIVES_GUI_CALLBACK(on_save_subs_activate), + lives_signal_connect(buttond, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_save_subs_activate), (livespointer)commentsw->subt_entry); lives_box_pack_start(LIVES_BOX(hbox), buttond, FALSE, FALSE, widget_opts.packing_width); add_fill_to_box(LIVES_BOX(vbox)); - - if (sfile->subt==NULL) { - lives_widget_set_sensitive(commentsw->subt_entry,FALSE); - lives_widget_set_sensitive(buttond,FALSE); + if (sfile->subt == NULL) { + lives_widget_set_sensitive(commentsw->subt_entry, FALSE); + lives_widget_set_sensitive(buttond, FALSE); } else { char xfilename[512]; - char *osubfname=NULL; + char *osubfname = NULL; - lives_snprintf(xfilename,512,"%s",filename); - get_filename(xfilename,FALSE); // strip extension + lives_snprintf(xfilename, 512, "%s", filename); + get_filename(xfilename, FALSE); // strip extension switch (sfile->subt->type) { case SUBTITLE_TYPE_SRT: - osubfname=lives_strdup_printf("%s.%s",xfilename,LIVES_FILE_EXT_SRT); + osubfname = lives_strdup_printf("%s.%s", xfilename, LIVES_FILE_EXT_SRT); break; case SUBTITLE_TYPE_SUB: - osubfname=lives_strdup_printf("%s.%s",xfilename,LIVES_FILE_EXT_SUB); + osubfname = lives_strdup_printf("%s.%s", xfilename, LIVES_FILE_EXT_SUB); break; default: break; } - lives_entry_set_text(LIVES_ENTRY(commentsw->subt_entry),osubfname); - mainw->subt_save_file=osubfname; // assign instead of free + lives_entry_set_text(LIVES_ENTRY(commentsw->subt_entry), osubfname); + mainw->subt_save_file = osubfname; // assign instead of free } lives_widget_set_size_request(vbox, ENC_DETAILS_WIN_H, ENC_DETAILS_WIN_V); lives_widget_context_update(); - lives_standard_expander_new(_("_Options"),TRUE,LIVES_BOX(dialog_vbox),vbox); + lives_standard_expander_new(_("_Options"), TRUE, LIVES_BOX(dialog_vbox), vbox); } @@ -2048,26 +1999,26 @@ } -char last_good_folder[PATH_MAX]; +static char last_good_folder[PATH_MAX]; static void chooser_check_dir(LiVESFileChooser *chooser, livespointer user_data) { - char *cwd=lives_get_current_dir(); + char *cwd = lives_get_current_dir(); char *new_dir; #ifdef GUI_GTK - new_dir=gtk_file_chooser_get_current_folder(chooser); + new_dir = gtk_file_chooser_get_current_folder(chooser); #endif #ifdef GUI_QT QFileDialog *qchooser = static_cast<QFileDialog *>(chooser); new_dir = qchooser->directory().path().toLocal8Bit().data(); #endif - if (!strcmp(new_dir,last_good_folder)) return; + if (!strcmp(new_dir, last_good_folder)) return; - if (lives_chdir(new_dir,TRUE)) { + if (lives_chdir(new_dir, TRUE)) { lives_free(cwd); #ifdef GUI_GTK - gtk_file_chooser_set_current_folder(chooser,last_good_folder); + gtk_file_chooser_set_current_folder(chooser, last_good_folder); #endif #ifdef GUI_QT qchooser->setDirectory(last_good_folder); @@ -2076,20 +2027,18 @@ lives_free(new_dir); return; } - lives_snprintf(last_good_folder,PATH_MAX,"%s",new_dir); - lives_chdir(cwd,FALSE); + lives_snprintf(last_good_folder, PATH_MAX, "%s", new_dir); + lives_chdir(cwd, FALSE); lives_free(new_dir); lives_free(cwd); - } -static void chooser_response(LiVESWidget *widget, int response, livespointer udata) { - mainw->fc_buttonresponse=response; +LIVES_INLINE static void chooser_response(LiVESWidget *widget, int response, livespointer udata) { + mainw->fc_buttonresponse = response; } - char *choose_file(const char *dir, const char *fname, char **const filt, LiVESFileChooserAction act, const char *title, LiVESWidget *extra_widget) { // new style file chooser @@ -2099,101 +2048,97 @@ LiVESWidget *chooser; char *mytitle; - char *filename=NULL; + char *filename = NULL; int response; register int i; - if (title==NULL) { - if (act==LIVES_FILE_CHOOSER_ACTION_SELECT_DEVICE) { - mytitle=lives_strdup_printf(_("%sChoose a Device"),widget_opts.title_prefix); - act=LIVES_FILE_CHOOSER_ACTION_OPEN; - } else if (act==LIVES_FILE_CHOOSER_ACTION_SELECT_FOLDER) { - mytitle=lives_strdup_printf(_("%sChoose a Directory"),widget_opts.title_prefix); + if (title == NULL) { + if (act == LIVES_FILE_CHOOSER_ACTION_SELECT_DEVICE) { + mytitle = lives_strdup_printf(_("%sChoose a Device"), widget_opts.title_prefix); + act = LIVES_FILE_CHOOSER_ACTION_OPEN; + } else if (act == LIVES_FILE_CHOOSER_ACTION_SELECT_FOLDER) { + mytitle = lives_strdup_printf(_("%sChoose a Directory"), widget_opts.title_prefix); } else { - mytitle=lives_strdup_printf(_("%sChoose a File"),widget_opts.title_prefix); + mytitle = lives_strdup_printf(_("%sChoose a File"), widget_opts.title_prefix); } - } else mytitle=lives_strdup_printf("%s%s",widget_opts.title_prefix,title); - + } else mytitle = lives_strdup_printf("%s%s", widget_opts.title_prefix, title); #ifdef GUI_GTK - if (act!=LIVES_FILE_CHOOSER_ACTION_SAVE) { + if (act != LIVES_FILE_CHOOSER_ACTION_SAVE) { if (mainw->interactive) - chooser=gtk_file_chooser_dialog_new(mytitle,LIVES_WINDOW(mainw->LiVES),(LiVESFileChooserAction)act, - LIVES_STOCK_LABEL_CANCEL, LIVES_RESPONSE_CANCEL, - LIVES_STOCK_LABEL_OPEN, LIVES_RESPONSE_ACCEPT, - NULL); + chooser = gtk_file_chooser_dialog_new(mytitle, LIVES_WINDOW(mainw->LiVES), (LiVESFileChooserAction)act, + LIVES_STOCK_LABEL_CANCEL, LIVES_RESPONSE_CANCEL, + LIVES_STOCK_LABEL_OPEN, LIVES_RESPONSE_ACCEPT, + NULL); else - chooser=gtk_file_chooser_dialog_new(mytitle,LIVES_WINDOW(mainw->LiVES),(LiVESFileChooserAction)act, - LIVES_STOCK_LABEL_OPEN, LIVES_RESPONSE_ACCEPT, - NULL); + chooser = gtk_file_chooser_dialog_new(mytitle, LIVES_WINDOW(mainw->LiVES), (LiVESFileChooserAction)act, + LIVES_STOCK_LABEL_OPEN, LIVES_RESPONSE_ACCEPT, + NULL); } else { - chooser=gtk_file_chooser_dialog_new(mytitle,LIVES_WINDOW(mainw->LiVES),(LiVESFileChooserAction)act, - LIVES_STOCK_LABEL_CANCEL, LIVES_RESPONSE_CANCEL, - LIVES_STOCK_LABEL_SAVE, LIVES_RESPONSE_ACCEPT, - NULL); - - } - - - gtk_file_chooser_set_local_only(LIVES_FILE_CHOOSER(chooser),TRUE); - + chooser = gtk_file_chooser_dialog_new(mytitle, LIVES_WINDOW(mainw->LiVES), (LiVESFileChooserAction)act, + LIVES_STOCK_LABEL_CANCEL, LIVES_RESPONSE_CANCEL, + LIVES_STOCK_LABEL_SAVE, LIVES_RESPONSE_ACCEPT, + NULL); - if (dir!=NULL) { - gtk_file_chooser_set_current_folder(LIVES_FILE_CHOOSER(chooser),dir); - gtk_file_chooser_add_shortcut_folder(LIVES_FILE_CHOOSER(chooser),dir,NULL); } - if (filt!=NULL) { - GtkFileFilter *filter=gtk_file_filter_new(); - for (i=0; filt[i]!=NULL; i++) gtk_file_filter_add_pattern(filter,filt[i]); - gtk_file_chooser_set_filter(LIVES_FILE_CHOOSER(chooser),filter); - if (fname==NULL&&i==1&&act==LIVES_FILE_CHOOSER_ACTION_SAVE) - gtk_file_chooser_set_current_name(LIVES_FILE_CHOOSER(chooser),filt[0]); //utf-8 - } + gtk_file_chooser_set_local_only(LIVES_FILE_CHOOSER(chooser), TRUE); - if (fname!=NULL) { - if (act==LIVES_FILE_CHOOSER_ACTION_SAVE||act==LIVES_FILE_CHOOSER_ACTION_CREATE_FOLDER) { // prevent assertion in gtk+ - gtk_file_chooser_set_current_name(LIVES_FILE_CHOOSER(chooser),fname); // utf-8 - if (fname!=NULL&&dir!=NULL) { - char *ffname=lives_build_filename(dir,fname,NULL); - gtk_file_chooser_select_filename(LIVES_FILE_CHOOSER(chooser),ffname); // must be dir and file + if (dir != NULL) { + gtk_file_chooser_set_current_folder(LIVES_FILE_CHOOSER(chooser), dir); + gtk_file_chooser_add_shortcut_folder(LIVES_FILE_CHOOSER(chooser), dir, NULL); + } + + if (filt != NULL) { + GtkFileFilter *filter = gtk_file_filter_new(); + for (i = 0; filt[i] != NULL; i++) gtk_file_filter_add_pattern(filter, filt[i]); + gtk_file_chooser_set_filter(LIVES_FILE_CHOOSER(chooser), filter); + if (fname == NULL && i == 1 && act == LIVES_FILE_CHOOSER_ACTION_SAVE) + gtk_file_chooser_set_current_name(LIVES_FILE_CHOOSER(chooser), filt[0]); //utf-8 + } + + if (fname != NULL) { + if (act == LIVES_FILE_CHOOSER_ACTION_SAVE || act == LIVES_FILE_CHOOSER_ACTION_CREATE_FOLDER) { // prevent assertion in gtk+ + gtk_file_chooser_set_current_name(LIVES_FILE_CHOOSER(chooser), fname); // utf-8 + if (fname != NULL && dir != NULL) { + char *ffname = lives_build_filename(dir, fname, NULL); + gtk_file_chooser_select_filename(LIVES_FILE_CHOOSER(chooser), ffname); // must be dir and file lives_free(ffname); } } } - if (extra_widget!=NULL && extra_widget!=mainw->LiVES) { - gtk_file_chooser_set_extra_widget(LIVES_FILE_CHOOSER(chooser),extra_widget); - if (palette->style&STYLE_1) { - GtkWidget *parent=lives_widget_get_parent(extra_widget); + if (extra_widget != NULL && extra_widget != mainw->LiVES) { + gtk_file_chooser_set_extra_widget(LIVES_FILE_CHOOSER(chooser), extra_widget); + if (palette->style & STYLE_1) { + GtkWidget *parent = lives_widget_get_parent(extra_widget); - while (parent!=NULL) { + while (parent != NULL) { lives_widget_set_fg_color(parent, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); lives_widget_set_bg_color(parent, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); - parent=lives_widget_get_parent(parent); + parent = lives_widget_get_parent(parent); } } } - if (mainw->is_ready && palette->style&STYLE_1) { + if (mainw->is_ready && palette->style & STYLE_1) { lives_widget_set_bg_color(chooser, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); - set_child_colour(chooser,FALSE); + set_child_colour(chooser, FALSE); } - #endif #ifdef GUI_QT - LiVESFileChooser *fchooser=new LiVESFileChooser(); + LiVESFileChooser *fchooser = new LiVESFileChooser(); QFileDialog *qchooser = static_cast<QFileDialog *>(fchooser); qchooser->setModal(true); qchooser->setWindowTitle(QString::fromUtf8(mytitle)); // LiVESWidget *aarea = chooser->get_action_area(); - if (act!=LIVES_FILE_CHOOSER_ACTION_SAVE) { + if (act != LIVES_FILE_CHOOSER_ACTION_SAVE) { // open, select folder, create folder, select device //aarea->setStandardButtons(QDialogButtonBox::Open | QDialogButtonBox::Cancel); qchooser->setAcceptMode(QFileDialog::AcceptOpen); @@ -2202,7 +2147,6 @@ qchooser->setAcceptMode(QFileDialog::AcceptSave); } - if (act == LIVES_FILE_CHOOSER_ACTION_SELECT_FOLDER || act == LIVES_FILE_CHOOSER_ACTION_CREATE_FOLDER) { qchooser->setFileMode(QFileDialog::Directory); qchooser->setOptions(QFileDialog::ShowDirsOnly); @@ -2213,27 +2157,25 @@ qchooser->setOptions(QFileDialog::ReadOnly); } - - if (mainw->is_ready && palette->style&STYLE_1) { + if (mainw->is_ready && palette->style & STYLE_1) { lives_widget_set_bg_color(fchooser, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); //set_child_colour(chooser,FALSE); } - if (dir!=NULL) { + if (dir != NULL) { qchooser->setDirectory(QString::fromUtf8(dir)); QList<QUrl> urls = qchooser->sidebarUrls(); urls.append(QString::fromUtf8(dir)); qchooser->setSidebarUrls(urls); } - - if (filt!=NULL) { + if (filt != NULL) { QStringList filter; - for (i=0; filt[i]!=NULL; i++) filter.append(QString::fromUtf8(filt[i])); + for (i = 0; filt[i] != NULL; i++) filter.append(QString::fromUtf8(filt[i])); qchooser->setNameFilters(filter); - if (fname==NULL&&i==1&&act==LIVES_FILE_CHOOSER_ACTION_SAVE) + if (fname == NULL && i == 1 && act == LIVES_FILE_CHOOSER_ACTION_SAVE) qchooser->setDefaultSuffix(QString::fromUtf8(filt[0])); } @@ -2244,12 +2186,10 @@ #endif - lives_container_set_border_width(LIVES_CONTAINER(chooser), widget_opts.border_width); if (prefs->show_gui) { - if (mainw->multitrack==NULL) lives_window_set_transient_for(LIVES_WINDOW(chooser),LIVES_WINDOW(mainw->LiVES)); - else lives_window_set_transient_for(LIVES_WINDOW(chooser),LIVES_WINDOW(mainw->multitrack->window)); + lives_window_set_transient_for(LIVES_WINDOW(chooser), get_transient_full()); } lives_signal_connect(chooser, LIVES_WIDGET_CURRENT_FOLDER_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(chooser_check_dir), NULL); @@ -2262,28 +2202,28 @@ lives_window_set_modal(LIVES_WINDOW(chooser), TRUE); - memset(last_good_folder,0,1); + memset(last_good_folder, 0, 1); // set this so we know when button is pressed, even if waiting for preview to finish - mainw->fc_buttonresponse=LIVES_RESPONSE_NONE; + mainw->fc_buttonresponse = LIVES_RESPONSE_NONE; lives_signal_connect(chooser, LIVES_WIDGET_RESPONSE_SIGNAL, LIVES_GUI_CALLBACK(chooser_response), NULL); - if (extra_widget==mainw->LiVES) { + if (extra_widget == mainw->LiVES) { return (char *)chooser; // kludge to allow custom adding of extra widgets } rundlg: - if ((response=lives_dialog_run(LIVES_DIALOG(chooser)))!=LIVES_RESPONSE_CANCEL) { + if ((response = lives_dialog_run(LIVES_DIALOG(chooser))) != LIVES_RESPONSE_CANCEL) { char *tmp; - filename=lives_filename_to_utf8((tmp=lives_file_chooser_get_filename(LIVES_FILE_CHOOSER(chooser))),-1,NULL,NULL,NULL); + filename = lives_filename_to_utf8((tmp = lives_file_chooser_get_filename(LIVES_FILE_CHOOSER(chooser))), -1, NULL, NULL, NULL); lives_free(tmp); - } else filename=NULL; + } else filename = NULL; - if (filename!=NULL&&act==LIVES_FILE_CHOOSER_ACTION_SAVE) { - if (!check_file(filename,TRUE)) { + if (filename != NULL && act == LIVES_FILE_CHOOSER_ACTION_SAVE) { + if (!check_file(filename, TRUE)) { lives_free(filename); - filename=NULL; + filename = NULL; goto rundlg; } } @@ -2293,11 +2233,9 @@ lives_widget_destroy(chooser); return filename; - } - LiVESWidget *choose_file_with_preview(const char *dir, const char *title, char **const filt, int filesel_type) { // filesel_type 1 - video and audio open (single - opensel) //LIVES_FILE_SELECTION_VIDEO_AUDIO @@ -2314,19 +2252,17 @@ // type 5 // LIVES_FILE_SELECTION_IMAGE_ONLY - // unfortunately we cannot simply run this and return a filename, in case there is a selection - LiVESWidget *chooser; int preview_type; - chooser=(LiVESWidget *)choose_file(dir,NULL,filt,LIVES_FILE_CHOOSER_ACTION_OPEN,title,mainw->LiVES); + chooser = (LiVESWidget *)choose_file(dir, NULL, filt, LIVES_FILE_CHOOSER_ACTION_OPEN, title, mainw->LiVES); - if (filesel_type==LIVES_FILE_SELECTION_VIDEO_AUDIO_MULTI) { + if (filesel_type == LIVES_FILE_SELECTION_VIDEO_AUDIO_MULTI) { #ifdef GUI_GTK - gtk_file_chooser_set_select_multiple(LIVES_FILE_CHOOSER(chooser),TRUE); + gtk_file_chooser_set_select_multiple(LIVES_FILE_CHOOSER(chooser), TRUE); #endif #ifdef GUI_QT QFileDialog *qchooser = static_cast<QFileDialog *>(static_cast<LiVESFileChooser *>(chooser)); @@ -2337,22 +2273,22 @@ switch (filesel_type) { case LIVES_FILE_SELECTION_VIDEO_AUDIO: case LIVES_FILE_SELECTION_VIDEO_AUDIO_MULTI: - preview_type=LIVES_PREVIEW_TYPE_VIDEO_AUDIO; + preview_type = LIVES_PREVIEW_TYPE_VIDEO_AUDIO; break; case LIVES_FILE_SELECTION_IMAGE_ONLY: - preview_type=LIVES_PREVIEW_TYPE_IMAGE_ONLY; + preview_type = LIVES_PREVIEW_TYPE_IMAGE_ONLY; break; default: - preview_type=LIVES_PREVIEW_TYPE_AUDIO_ONLY; + preview_type = LIVES_PREVIEW_TYPE_AUDIO_ONLY; } - widget_add_preview(chooser,LIVES_BOX(lives_dialog_get_content_area(LIVES_DIALOG(chooser))), + widget_add_preview(chooser, LIVES_BOX(lives_dialog_get_content_area(LIVES_DIALOG(chooser))), LIVES_BOX(lives_dialog_get_content_area(LIVES_DIALOG(chooser))), LIVES_BOX(lives_dialog_get_content_area(LIVES_DIALOG(chooser))), preview_type); if (prefs->fileselmax) { - lives_window_set_resizable(LIVES_WINDOW(chooser),TRUE); + lives_window_set_resizable(LIVES_WINDOW(chooser), TRUE); lives_window_maximize(LIVES_WINDOW(chooser)); lives_widget_queue_draw(chooser); } @@ -2363,10 +2299,6 @@ } - - - - //cancel/discard/save dialog _entryw *create_cds_dialog(int type) { // values for type are: @@ -2376,7 +2308,6 @@ // 3 == wipe layout confirmation // 4 == prompt for render after recording / viewing in mt - LiVESWidget *dialog_vbox; LiVESWidget *cancelbutton; LiVESWidget *discardbutton; @@ -2385,118 +2316,115 @@ LiVESAccelGroup *accel_group; - char *labeltext=NULL; + char *labeltext = NULL; - _entryw *cdsw=(_entryw *)(lives_malloc(sizeof(_entryw))); + _entryw *cdsw = (_entryw *)(lives_malloc(sizeof(_entryw))); - cdsw->warn_checkbutton=NULL; + cdsw->warn_checkbutton = NULL; - if (type==0) { - if (strlen(mainw->multitrack->layout_name)==0) { - labeltext=lives_strdup( - _("You are about to leave multitrack mode.\nThe current layout has not been saved.\nWhat would you like to do ?\n")); + if (type == 0) { + if (strlen(mainw->multitrack->layout_name) == 0) { + labeltext = lives_strdup( + _("You are about to leave multitrack mode.\nThe current layout has not been saved.\nWhat would you like to do ?\n")); } else { - labeltext=lives_strdup( - _("You are about to leave multitrack mode.\nThe current layout has been changed since the last save.\nWhat would you like to do ?\n")); + labeltext = lives_strdup( + _("You are about to leave multitrack mode.\nThe current layout has been changed since the last save.\nWhat would you like to do ?\n")); } - } else if (type==1) { - if (!mainw->only_close) labeltext=lives_strdup( - _("You are about to exit LiVES.\nThe current clip set can be saved.\nWhat would you like to do ?\n")); - else labeltext=lives_strdup(_("The current clip set has not been saved.\nWhat would you like to do ?\n")); - } else if (type==2||type==3) { - if ((mainw->multitrack!=NULL&&mainw->multitrack->changed)||(mainw->stored_event_list!=NULL&&mainw->stored_event_list_changed)) { - labeltext=lives_strdup(_("The current layout has not been saved.\nWhat would you like to do ?\n")); + } else if (type == 1) { + if (!mainw->only_close) labeltext = lives_strdup( + _("You are about to exit LiVES.\nThe current clip set can be saved.\nWhat would you like to do ?\n")); + else labeltext = lives_strdup(_("The current clip set has not been saved.\nWhat would you like to do ?\n")); + } else if (type == 2 || type == 3) { + if ((mainw->multitrack != NULL && mainw->multitrack->changed) || (mainw->stored_event_list != NULL && mainw->stored_event_list_changed)) { + labeltext = lives_strdup(_("The current layout has not been saved.\nWhat would you like to do ?\n")); } else { - labeltext=lives_strdup(_("The current layout has *NOT BEEN CHANGED* since it was last saved.\nWhat would you like to do ?\n")); + labeltext = lives_strdup(_("The current layout has *NOT BEEN CHANGED* since it was last saved.\nWhat would you like to do ?\n")); } - } else if (type==4) { - labeltext=lives_strdup( - _("You are about to leave multitrack mode.\nThe current layout contains generated frames and cannot be retained.\nWhat do you wish to do ?")); + } else if (type == 4) { + labeltext = lives_strdup( + _("You are about to leave multitrack mode.\nThe current layout contains generated frames and cannot be retained.\nWhat do you wish to do ?")); } - cdsw->dialog = create_question_dialog(_("Cancel/Discard/Save"),labeltext, - mainw->multitrack!=NULL?LIVES_WINDOW(mainw->multitrack->window): - LIVES_WINDOW(mainw->LiVES)); + cdsw->dialog = create_question_dialog(_("Cancel/Discard/Save"), labeltext, + LIVES_WINDOW(LIVES_MAIN_WINDOW_WIDGET)); dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(cdsw->dialog)); - if (labeltext!=NULL) lives_free(labeltext); + if (labeltext != NULL) lives_free(labeltext); - if (type==1) { + if (type == 1) { LiVESWidget *checkbutton; hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - cdsw->entry = lives_standard_entry_new(_("Clip set _name"),TRUE,strlen(mainw->set_name)?mainw->set_name:"", - SHORT_ENTRY_WIDTH,128,LIVES_BOX(hbox),NULL); + cdsw->entry = lives_standard_entry_new(_("Clip set _name"), TRUE, strlen(mainw->set_name) ? mainw->set_name : "", + SHORT_ENTRY_WIDTH, 128, LIVES_BOX(hbox), NULL); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - checkbutton = lives_standard_check_button_new(_("_Auto reload next time"),TRUE,LIVES_BOX(hbox),NULL); + checkbutton = lives_standard_check_button_new(_("_Auto reload next time"), TRUE, LIVES_BOX(hbox), NULL); - if ((type==0&&prefs->ar_layout)||(type==1&&!mainw->only_close)) { - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton),TRUE); - if (type==1) prefs->ar_clipset=TRUE; - else prefs->ar_layout=TRUE; + if ((type == 0 && prefs->ar_layout) || (type == 1 && !mainw->only_close)) { + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton), TRUE); + if (type == 1) prefs->ar_clipset = TRUE; + else prefs->ar_layout = TRUE; } else { - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton),FALSE); - if (type==1) prefs->ar_clipset=FALSE; - else prefs->ar_layout=FALSE; + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton), FALSE); + if (type == 1) prefs->ar_clipset = FALSE; + else prefs->ar_layout = FALSE; } - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(checkbutton),"cdsw",(livespointer)cdsw); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(checkbutton), "cdsw", (livespointer)cdsw); lives_signal_connect(LIVES_GUI_OBJECT(checkbutton), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(on_autoreload_toggled), LIVES_INT_TO_POINTER(type)); } - if (type==0&&!(prefs->warning_mask&WARN_MASK_EXIT_MT)) { - add_warn_check(LIVES_BOX(dialog_vbox),WARN_MASK_EXIT_MT); + if (type == 0 && !(prefs->warning_mask & WARN_MASK_EXIT_MT)) { + add_warn_check(LIVES_BOX(dialog_vbox), WARN_MASK_EXIT_MT); } - accel_group=LIVES_ACCEL_GROUP(lives_accel_group_new()); + accel_group = LIVES_ACCEL_GROUP(lives_accel_group_new()); lives_window_add_accel_group(LIVES_WINDOW(cdsw->dialog), accel_group); - cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL,NULL); + cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(cdsw->dialog), cancelbutton, LIVES_RESPONSE_CANCEL); lives_widget_add_accelerator(cancelbutton, LIVES_WIDGET_CLICKED_SIGNAL, accel_group, LIVES_KEY_Escape, (LiVESXModifierType)0, (LiVESAccelFlags)0); - discardbutton = lives_button_new_from_stock(LIVES_STOCK_DELETE,NULL); + discardbutton = lives_button_new_from_stock(LIVES_STOCK_DELETE, NULL); - lives_dialog_add_action_widget(LIVES_DIALOG(cdsw->dialog), discardbutton, 1+(type==2)); - lives_button_set_use_underline(LIVES_BUTTON(discardbutton),TRUE); - if ((type==0&&strlen(mainw->multitrack->layout_name)==0)||type==3||type==4) - lives_button_set_label(LIVES_BUTTON(discardbutton),_("_Wipe layout")); - else if (type==0) lives_button_set_label(LIVES_BUTTON(discardbutton),_("_Ignore changes")); - else if (type==1) lives_button_set_label(LIVES_BUTTON(discardbutton),_("_Delete clip set")); - else if (type==2) lives_button_set_label(LIVES_BUTTON(discardbutton),_("_Delete layout")); - - savebutton = lives_button_new_from_stock(LIVES_STOCK_SAVE,NULL); - - if (type==0||type==3) lives_button_set_label(LIVES_BUTTON(savebutton),_("_Save layout")); - else if (type==1) lives_button_set_label(LIVES_BUTTON(savebutton),_("_Save clip set")); - else if (type==2) lives_button_set_label(LIVES_BUTTON(savebutton),_("_Wipe layout")); - if (type!=4) lives_dialog_add_action_widget(LIVES_DIALOG(cdsw->dialog), savebutton, 2-(type==2)); + lives_dialog_add_action_widget(LIVES_DIALOG(cdsw->dialog), discardbutton, 1 + (type == 2)); + lives_button_set_use_underline(LIVES_BUTTON(discardbutton), TRUE); + if ((type == 0 && strlen(mainw->multitrack->layout_name) == 0) || type == 3 || type == 4) + lives_button_set_label(LIVES_BUTTON(discardbutton), _("_Wipe layout")); + else if (type == 0) lives_button_set_label(LIVES_BUTTON(discardbutton), _("_Ignore changes")); + else if (type == 1) lives_button_set_label(LIVES_BUTTON(discardbutton), _("_Delete clip set")); + else if (type == 2) lives_button_set_label(LIVES_BUTTON(discardbutton), _("_Delete layout")); + + savebutton = lives_button_new_from_stock(LIVES_STOCK_SAVE, NULL); + + if (type == 0 || type == 3) lives_button_set_label(LIVES_BUTTON(savebutton), _("_Save layout")); + else if (type == 1) lives_button_set_label(LIVES_BUTTON(savebutton), _("_Save clip set")); + else if (type == 2) lives_button_set_label(LIVES_BUTTON(savebutton), _("_Wipe layout")); + if (type != 4) lives_dialog_add_action_widget(LIVES_DIALOG(cdsw->dialog), savebutton, 2 - (type == 2)); lives_widget_set_can_focus_and_default(savebutton); - if (type==1||type==2)lives_widget_grab_default(savebutton); + if (type == 1 || type == 2)lives_widget_grab_default(savebutton); lives_widget_show_all(cdsw->dialog); - if (type==1) { + if (type == 1) { lives_widget_grab_focus(cdsw->entry); } - if (!mainw->interactive) lives_widget_set_sensitive(cancelbutton,FALSE); + if (!mainw->interactive) lives_widget_set_sensitive(cancelbutton, FALSE); return cdsw; } - - void do_layout_recover_dialog(void) { if (!do_yesno_dialog(_("\nLiVES has detected a multitrack layout from a previous session.\nWould you like to try and recover it ?\n"))) recover_layout_cancelled(TRUE); @@ -2505,8 +2433,8 @@ static void flip_cdisk_bit(LiVESToggleButton *t, livespointer user_data) { - uint32_t bitmask=LIVES_POINTER_TO_INT(user_data); - prefs->clear_disk_opts^=bitmask; + uint32_t bitmask = LIVES_POINTER_TO_INT(user_data); + prefs->clear_disk_opts ^= bitmask; } @@ -2520,33 +2448,32 @@ LiVESWidget *okbutton; LiVESWidget *resetbutton; - boolean woat=widget_opts.apply_theme; + boolean woat = widget_opts.apply_theme; - char *tmp,*tmp2; + char *tmp, *tmp2; - dialog = lives_standard_dialog_new(_("Disk Recovery Options"),FALSE,DEF_DIALOG_WIDTH,DEF_DIALOG_HEIGHT); + dialog = lives_standard_dialog_new(_("Disk Recovery Options"), FALSE, DEF_DIALOG_WIDTH, DEF_DIALOG_HEIGHT); if (prefs->show_gui) { - if (mainw->multitrack==NULL) lives_window_set_transient_for(LIVES_WINDOW(dialog),LIVES_WINDOW(mainw->LiVES)); - else lives_window_set_transient_for(LIVES_WINDOW(dialog),LIVES_WINDOW(mainw->multitrack->window)); + lives_window_set_transient_for(LIVES_WINDOW(dialog), LIVES_WINDOW(LIVES_MAIN_WINDOW_WIDGET)); } dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(dialog)); vbox = lives_vbox_new(FALSE, 0); - lives_container_set_border_width(LIVES_CONTAINER(vbox), widget_opts.border_width*2); + lives_container_set_border_width(LIVES_CONTAINER(vbox), widget_opts.border_width * 2); - widget_opts.apply_theme=FALSE; - scrollw = lives_standard_scrolled_window_new(DEF_DIALOG_WIDTH,DEF_DIALOG_HEIGHT,vbox); - widget_opts.apply_theme=woat; + widget_opts.apply_theme = FALSE; + scrollw = lives_standard_scrolled_window_new(DEF_DIALOG_WIDTH, DEF_DIALOG_HEIGHT, vbox); + widget_opts.apply_theme = woat; lives_container_add(LIVES_CONTAINER(dialog_vbox), scrollw); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, TRUE, widget_opts.packing_height); - checkbutton = lives_standard_check_button_new((tmp=lives_strdup(_("Delete _Orphaned Clips"))),TRUE,LIVES_BOX(hbox), - (tmp2=lives_strdup(_("Delete any clips which are not currently loaded or part of a set")))); + checkbutton = lives_standard_check_button_new((tmp = lives_strdup(_("Delete _Orphaned Clips"))), TRUE, LIVES_BOX(hbox), + (tmp2 = lives_strdup(_("Delete any clips which are not currently loaded or part of a set")))); lives_free(tmp); lives_free(tmp2); @@ -2560,7 +2487,7 @@ hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, TRUE, widget_opts.packing_height); - checkbutton = lives_standard_check_button_new(_("Clear _Backup Files from Closed Clips"),TRUE,LIVES_BOX(hbox),NULL); + checkbutton = lives_standard_check_button_new(_("Clear _Backup Files from Closed Clips"), TRUE, LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton), !(prefs->clear_disk_opts & LIVES_CDISK_LEAVE_BFILES)); @@ -2571,7 +2498,7 @@ hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, TRUE, widget_opts.packing_height); - checkbutton = lives_standard_check_button_new(_("Remove Sets which have _Layouts but no Clips"),TRUE,LIVES_BOX(hbox),NULL); + checkbutton = lives_standard_check_button_new(_("Remove Sets which have _Layouts but no Clips"), TRUE, LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton), (prefs->clear_disk_opts & LIVES_CDISK_REMOVE_ORPHAN_LAYOUTS)); @@ -2580,106 +2507,101 @@ LIVES_GUI_CALLBACK(flip_cdisk_bit), LIVES_INT_TO_POINTER(LIVES_CDISK_REMOVE_ORPHAN_LAYOUTS)); - resetbutton = lives_button_new_from_stock(LIVES_STOCK_REFRESH,_("_Reset to Defaults")); + resetbutton = lives_button_new_from_stock(LIVES_STOCK_REFRESH, _("_Reset to Defaults")); lives_dialog_add_action_widget(LIVES_DIALOG(dialog), resetbutton, LIVES_RESPONSE_RETRY); - okbutton = lives_button_new_from_stock(LIVES_STOCK_OK,NULL); + okbutton = lives_button_new_from_stock(LIVES_STOCK_OK, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(dialog), okbutton, LIVES_RESPONSE_OK); lives_widget_set_can_focus_and_default(okbutton); lives_widget_grab_default(okbutton); return dialog; - } - #ifdef GTK_TEXT_VIEW_DRAW_BUG static ulong expt; static boolean exposetview(LiVESWidget *widget, lives_painter_t *cr, livespointer user_data) { - LiVESWidgetColor fgcol,bgcol; - lives_colRGBA64_t fg,bg; - LingoLayout *layout=NULL; + LiVESWidgetColor fgcol, bgcol; + lives_colRGBA64_t fg, bg; + LingoLayout *layout = NULL; lives_painter_surface_t *surface; - char *text=lives_text_view_get_text(LIVES_TEXT_VIEW(widget)); + char *text = lives_text_view_get_text(LIVES_TEXT_VIEW(widget)); - lives_signal_handler_block(widget,expt); + lives_signal_handler_block(widget, expt); - surface=lives_painter_get_target(cr); + surface = lives_painter_get_target(cr); lives_painter_surface_flush(surface); - lives_widget_get_fg_state_color(widget,lives_widget_get_state(widget),&fgcol); - lives_widget_get_bg_state_color(widget,lives_widget_get_state(widget),&bgcol); + lives_widget_get_fg_state_color(widget, lives_widget_get_state(widget), &fgcol); + lives_widget_get_bg_state_color(widget, lives_widget_get_state(widget), &bgcol); - widget_color_to_lives_rgba(&fg,&fgcol); - widget_color_to_lives_rgba(&bg,&bgcol); + widget_color_to_lives_rgba(&fg, &fgcol); + widget_color_to_lives_rgba(&bg, &bgcol); - layout=render_text_to_cr(widget,cr,text,"",0.0, - LIVES_TEXT_MODE_FOREGROUND_ONLY,&fg,&bg,FALSE,FALSE,0.,0., - lives_widget_get_allocation_width(widget),lives_widget_get_allocation_height(widget)); + layout = render_text_to_cr(widget, cr, text, "", 0.0, + LIVES_TEXT_MODE_FOREGROUND_ONLY, &fg, &bg, FALSE, FALSE, 0., 0., + lives_widget_get_allocation_width(widget), lives_widget_get_allocation_height(widget)); lives_free(text); - if (layout!=NULL) { + if (layout != NULL) { lingo_painter_show_layout(cr, layout); lives_object_unref(layout); } lives_painter_fill(cr); - lives_signal_handler_unblock(widget,expt); + lives_signal_handler_unblock(widget, expt); return FALSE; } - #endif - - - LiVESTextView *create_output_textview(void) { - LiVESWidget *textview=lives_standard_text_view_new(NULL,NULL); + LiVESWidget *textview = lives_standard_text_view_new(NULL, NULL); #ifdef GTK_TEXT_VIEW_DRAW_BUG - expt=lives_signal_connect(LIVES_GUI_OBJECT(textview), LIVES_WIDGET_EXPOSE_EVENT, - LIVES_GUI_CALLBACK(exposetview), - NULL); + expt = lives_signal_connect(LIVES_GUI_OBJECT(textview), LIVES_WIDGET_EXPOSE_EVENT, + LIVES_GUI_CALLBACK(exposetview), + NULL); #endif lives_object_ref(textview); return LIVES_TEXT_VIEW(textview); } + static int currow; static void pair_add(LiVESWidget *table, const char *key, const char *meaning) { LiVESWidget *label; LiVESWidget *align; - label=lives_standard_label_new(key); - align=lives_alignment_new(0.,0.,0.,0.); + label = lives_standard_label_new(key); + align = lives_alignment_new(0., 0., 0., 0.); lives_container_add(LIVES_CONTAINER(align), label); - if (meaning!=NULL) { - lives_table_attach(LIVES_TABLE(table), align, 0, 1, currow, currow+1, + if (meaning != NULL) { + lives_table_attach(LIVES_TABLE(table), align, 0, 1, currow, currow + 1, (LiVESAttachOptions)(0), (LiVESAttachOptions)(0), 0, 0); - label=lives_standard_label_new(meaning); - align=lives_alignment_new(0.,0.,0.,0.); + label = lives_standard_label_new(meaning); + align = lives_alignment_new(0., 0., 0., 0.); lives_container_add(LIVES_CONTAINER(align), label); - lives_table_attach(LIVES_TABLE(table), align, 1, 40, currow, currow+1, + lives_table_attach(LIVES_TABLE(table), align, 1, 40, currow, currow + 1, (LiVESAttachOptions)(LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); } else { - lives_table_attach(LIVES_TABLE(table), align, 0, 39, currow, currow+1, + lives_table_attach(LIVES_TABLE(table), align, 0, 39, currow, currow + 1, (LiVESAttachOptions)(LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); } @@ -2687,188 +2609,183 @@ currow++; lives_widget_show_all(table); - } - void do_keys_window(void) { - char *tmp=lives_strdup(_("Show Keys")),*tmp2; - text_window *textwindow=create_text_window(tmp,NULL,NULL); + char *tmp = lives_strdup(_("Show Keys")), *tmp2; + text_window *textwindow = create_text_window(tmp, NULL, NULL); lives_free(tmp); - lives_table_resize(LIVES_TABLE(textwindow->table),1,40); - currow=0; - - pair_add(textwindow->table,_("You can use the following keys during playback to control LiVES:-\n\n" - "Recordable keys (press 'r' before playback to make a recording)\n" - "-----------------------\n"),NULL); + lives_table_resize(LIVES_TABLE(textwindow->table), 1, 40); + currow = 0; + pair_add(textwindow->table, _("You can use the following keys during playback to control LiVES:-\n\n" + "Recordable keys (press 'r' before playback to make a recording)\n" + "-----------------------\n"), NULL); - pair_add(textwindow->table,(tmp=lives_strdup(_("ctrl-left"))),(tmp2=lives_strdup(_("skip back\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(_("ctrl-left"))), (tmp2 = lives_strdup(_("skip back\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(_("ctrl-right"))),(tmp2=lives_strdup(_("skip forwards\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(_("ctrl-right"))), (tmp2 = lives_strdup(_("skip forwards\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(_("ctrl-up"))),(tmp2=lives_strdup(_("faster/increase effect\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(_("ctrl-up"))), (tmp2 = lives_strdup(_("faster/increase effect\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(_("ctrl-down"))),(tmp2=lives_strdup(_("slower/decrease effect\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(_("ctrl-down"))), (tmp2 = lives_strdup(_("slower/decrease effect\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(_("ctrl-enter"))),(tmp2=lives_strdup(_("reset frame rate\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(_("ctrl-enter"))), (tmp2 = lives_strdup(_("reset frame rate\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(_("ctrl-space"))),(tmp2=lives_strdup(_("reverse direction\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(_("ctrl-space"))), (tmp2 = lives_strdup(_("reverse direction\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(_("ctrl-alt-space"))),(tmp2=lives_strdup(_("reverse direction (background clip)\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(_("ctrl-alt-space"))), (tmp2 = lives_strdup(_("reverse direction (background clip)\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(_("ctrl-backspace"))),(tmp2=lives_strdup(_("freeze frame\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(_("ctrl-backspace"))), (tmp2 = lives_strdup(_("freeze frame\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(("n"))),(tmp2=lives_strdup(_("nervous\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(("n"))), (tmp2 = lives_strdup(_("nervous\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(_("ctrl-page-up"))),(tmp2=lives_strdup(_("previous clip\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(_("ctrl-page-up"))), (tmp2 = lives_strdup(_("previous clip\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(_("ctrl-page-down"))),(tmp2=lives_strdup(_("next clip\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(_("ctrl-page-down"))), (tmp2 = lives_strdup(_("next clip\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(("\n"))),NULL); + pair_add(textwindow->table, (tmp = lives_strdup(("\n"))), NULL); lives_free(tmp); - pair_add(textwindow->table,(tmp=lives_strdup(_("ctrl-1"))),(tmp2=lives_strdup(_("toggle real-time effect 1\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(_("ctrl-1"))), (tmp2 = lives_strdup(_("toggle real-time effect 1\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(_("ctrl-2"))),(tmp2=lives_strdup(_("toggle real-time effect 2\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(_("ctrl-2"))), (tmp2 = lives_strdup(_("toggle real-time effect 2\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(_("...etc...\n"))),NULL); + pair_add(textwindow->table, (tmp = lives_strdup(_("...etc...\n"))), NULL); lives_free(tmp); - pair_add(textwindow->table,(tmp=lives_strdup(_("ctrl-0"))),(tmp2=lives_strdup(_("real-time effects off\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(_("ctrl-0"))), (tmp2 = lives_strdup(_("real-time effects off\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(("x"))),(tmp2=lives_strdup(_("swap background/foreground\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(("x"))), (tmp2 = lives_strdup(_("swap background/foreground\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(("\n"))),NULL); + pair_add(textwindow->table, (tmp = lives_strdup(("\n"))), NULL); lives_free(tmp); - pair_add(textwindow->table,(tmp=lives_strdup(("k"))),(tmp2=lives_strdup(_("grab keyboard for last activated effect\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(("k"))), (tmp2 = lives_strdup(_("grab keyboard for last activated effect\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(("m"))),(tmp2=lives_strdup(_("switch effect mode (when effect has keyboard grab)\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(("m"))), (tmp2 = lives_strdup(_("switch effect mode (when effect has keyboard grab)\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(("t"))),(tmp2=lives_strdup(_("enter text parameter (when effect has keyboard grab)\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(("t"))), + (tmp2 = lives_strdup(_("enter text parameter (when effect has keyboard grab)\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(_("tab"))),(tmp2=lives_strdup(_("leave text parameter (when effect has keyboard grab)\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(_("tab"))), + (tmp2 = lives_strdup(_("leave text parameter (when effect has keyboard grab)\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(_("f1"))),(tmp2=lives_strdup(_("store/switch to clip mnemonic 1\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(_("f1"))), (tmp2 = lives_strdup(_("store/switch to clip mnemonic 1\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(_("f2"))),(tmp2=lives_strdup(_("store/switch to clip mnemonic 2\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(_("f2"))), (tmp2 = lives_strdup(_("store/switch to clip mnemonic 2\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(_("...etc...\n"))),NULL); + pair_add(textwindow->table, (tmp = lives_strdup(_("...etc...\n"))), NULL); lives_free(tmp); - pair_add(textwindow->table,(tmp=lives_strdup(_("f12"))),(tmp2=lives_strdup(_("clear function keys\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(_("f12"))), (tmp2 = lives_strdup(_("clear function keys\n")))); lives_free(tmp); - pair_add(textwindow->table,(tmp=lives_strdup(("\n"))),NULL); + pair_add(textwindow->table, (tmp = lives_strdup(("\n"))), NULL); lives_free(tmp); - pair_add(textwindow->table,(tmp=lives_strdup(("\n"))),NULL); + pair_add(textwindow->table, (tmp = lives_strdup(("\n"))), NULL); lives_free(tmp); - pair_add(textwindow->table,(tmp=lives_strdup(_("Other playback keys\n"))),NULL); + pair_add(textwindow->table, (tmp = lives_strdup(_("Other playback keys\n"))), NULL); lives_free(tmp); - pair_add(textwindow->table,(tmp=lives_strdup("-----------------------------\n")),NULL); + pair_add(textwindow->table, (tmp = lives_strdup("-----------------------------\n")), NULL); lives_free(tmp); - pair_add(textwindow->table,(tmp=lives_strdup(("p"))),(tmp2=lives_strdup(_("play all\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(("p"))), (tmp2 = lives_strdup(_("play all\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(("y"))),(tmp2=lives_strdup(_("play selection\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(("y"))), (tmp2 = lives_strdup(_("play selection\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(("q"))),(tmp2=lives_strdup(_("stop\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(("q"))), (tmp2 = lives_strdup(_("stop\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(("f"))),(tmp2=lives_strdup(_("fullscreen\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(("f"))), (tmp2 = lives_strdup(_("fullscreen\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(("s"))),(tmp2=lives_strdup(_("separate window\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(("s"))), (tmp2 = lives_strdup(_("separate window\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(("d"))),(tmp2=lives_strdup(_("double size\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(("d"))), (tmp2 = lives_strdup(_("double size\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(("g"))),(tmp2=lives_strdup(_("ping pong loops\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(("g"))), (tmp2 = lives_strdup(_("ping pong loops\n")))); lives_free(tmp); lives_free(tmp2); - } - void do_mt_keys_window(void) { - char *tmp=lives_strdup(_("Multitrack Keys")),*tmp2; - text_window *textwindow=create_text_window(tmp,NULL,NULL); + char *tmp = lives_strdup(_("Multitrack Keys")), *tmp2; + text_window *textwindow = create_text_window(tmp, NULL, NULL); lives_free(tmp); - lives_table_resize(LIVES_TABLE(textwindow->table),1,40); + lives_table_resize(LIVES_TABLE(textwindow->table), 1, 40); - currow=0; + currow = 0; - pair_add(textwindow->table,_("You can use the following keys to control the multitrack window:-\n" - "-----------------------\n"),NULL); + pair_add(textwindow->table, _("You can use the following keys to control the multitrack window:-\n" + "-----------------------\n"), NULL); - pair_add(textwindow->table,(tmp=lives_strdup(_("ctrl-left-arrow"))),(tmp2=lives_strdup(_("move timeline cursor left 1 second\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(_("ctrl-left-arrow"))), (tmp2 = lives_strdup(_("move timeline cursor left 1 second\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(_("ctrl-right-arrow"))),(tmp2=lives_strdup(_("move timeline cursor right 1 second\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(_("ctrl-right-arrow"))), (tmp2 = lives_strdup(_("move timeline cursor right 1 second\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(_("shift-left-arrow"))),(tmp2=lives_strdup(_("move timeline cursor left 1 frame\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(_("shift-left-arrow"))), (tmp2 = lives_strdup(_("move timeline cursor left 1 frame\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(_("shift-right-arrow"))),(tmp2=lives_strdup(_("move timeline cursor right 1 frame\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(_("shift-right-arrow"))), (tmp2 = lives_strdup(_("move timeline cursor right 1 frame\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(_("ctrl-up-arrow"))),(tmp2=lives_strdup(_("move current track up\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(_("ctrl-up-arrow"))), (tmp2 = lives_strdup(_("move current track up\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(_("ctrl-down-arrow"))),(tmp2=lives_strdup(_("move current track down\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(_("ctrl-down-arrow"))), (tmp2 = lives_strdup(_("move current track down\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(_("ctrl-page-up"))),(tmp2=lives_strdup(_("select previous clip\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(_("ctrl-page-up"))), (tmp2 = lives_strdup(_("select previous clip\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(_("ctrl-page-down"))),(tmp2=lives_strdup(_("select next clip\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(_("ctrl-page-down"))), (tmp2 = lives_strdup(_("select next clip\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(_("ctrl-space"))),(tmp2=lives_strdup(_("select/deselect current track\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(_("ctrl-space"))), (tmp2 = lives_strdup(_("select/deselect current track\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(_("ctrl-plus"))),(tmp2=lives_strdup(_("zoom in\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(_("ctrl-plus"))), (tmp2 = lives_strdup(_("zoom in\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(_("ctrl-minus"))),(tmp2=lives_strdup(_("zoom out\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(_("ctrl-minus"))), (tmp2 = lives_strdup(_("zoom out\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(("m"))),(tmp2=lives_strdup(_("make a mark on the timeline (during playback)\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(("m"))), (tmp2 = lives_strdup(_("make a mark on the timeline (during playback)\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(("w"))),(tmp2=lives_strdup(_("rewind to play start.\n")))); + pair_add(textwindow->table, (tmp = lives_strdup(("w"))), (tmp2 = lives_strdup(_("rewind to play start.\n")))); lives_free(tmp); lives_free(tmp2); - pair_add(textwindow->table,(tmp=lives_strdup(("\n"))),NULL); + pair_add(textwindow->table, (tmp = lives_strdup(("\n"))), NULL); lives_free(tmp); - pair_add(textwindow->table,(tmp=lives_strdup(_("For other keys, see the menus.\n"))),NULL); + pair_add(textwindow->table, (tmp = lives_strdup(_("For other keys, see the menus.\n"))), NULL); lives_free(tmp); - } -
View file
LiVES-2.8.4.tar.bz2/src/interface.h -> LiVES-2.8.6.tar.bz2/src/interface.h
Changed
@@ -106,7 +106,6 @@ LiVESWidget *spinbuttonh; LiVESWidget *spinbuttonf; LiVESWidget *radiobuttond; - } lives_tvcardw_t; @@ -152,7 +151,7 @@ #define DEF_AUD_FADE_SECS 10. ///< default time to offer fade audio in/out for -#define MIN_MSGBOX_WIDTH ((int)(mainw->scr_width>1024?(820.*widget_opts.scale):600)) +#define MIN_MSGBOX_WIDTH ((int)(mainw->scr_width > 1024 ? (820. * widget_opts.scale) : 600)) // textboxes for clip info #define TB_WIDTH ((int)(200.*widget_opts.scale))
View file
LiVES-2.8.4.tar.bz2/src/jack.c -> LiVES-2.8.6.tar.bz2/src/jack.c
Changed
@@ -17,8 +17,8 @@ static jack_client_t *jack_transport_client; -static unsigned char *zero_buff=NULL; -static size_t zero_buff_count=0; +static unsigned char *zero_buff = NULL; +static size_t zero_buff_count = 0; static boolean seek_err; @@ -26,77 +26,77 @@ int nframes, double out_scale, boolean rev_endian, boolean out_unsigned, size_t rbytes); static boolean check_zero_buff(size_t check_size) { - if (check_size>zero_buff_count) { - zero_buff=(unsigned char *)lives_try_realloc(zero_buff,check_size); + if (check_size > zero_buff_count) { + zero_buff = (unsigned char *)lives_try_realloc(zero_buff, check_size); if (zero_buff) { - memset(zero_buff+zero_buff_count,0,check_size-zero_buff_count); - zero_buff_count=check_size; + memset(zero_buff + zero_buff_count, 0, check_size - zero_buff_count); + zero_buff_count = check_size; return TRUE; } - zero_buff_count=0; + zero_buff_count = 0; return FALSE; } return TRUE; } boolean lives_jack_init(void) { - char *jt_client=lives_strdup_printf("LiVES-%d",capable->mainpid); - const char *server_name="default"; - jack_options_t options=JackServerName; + char *jt_client = lives_strdup_printf("LiVES-%d", capable->mainpid); + const char *server_name = "default"; + jack_options_t options = JackServerName; jack_status_t status; - jack_transport_client=NULL; + jack_transport_client = NULL; - if ((prefs->jack_opts&JACK_OPTS_START_TSERVER)||(prefs->jack_opts&JACK_OPTS_START_ASERVER)) { + if ((prefs->jack_opts & JACK_OPTS_START_TSERVER) || (prefs->jack_opts & JACK_OPTS_START_ASERVER)) { unsetenv("JACK_NO_START_SERVER"); - setenv("JACK_START_SERVER","1",0); + setenv("JACK_START_SERVER", "1", 0); - if (!lives_file_test(prefs->jack_aserver,LIVES_FILE_TEST_EXISTS)) { + if (!lives_file_test(prefs->jack_aserver, LIVES_FILE_TEST_EXISTS)) { char *com; char jackd_loc[PATH_MAX]; - get_location("jackd",jackd_loc,PATH_MAX); + get_location("jackd", jackd_loc, PATH_MAX); if (strlen(jackd_loc)) { #ifndef IS_DARWIN - com=lives_strdup_printf("echo \"%s -d alsa\">\"%s\"",jackd_loc,prefs->jack_aserver); + com = lives_strdup_printf("echo \"%s -d alsa\">\"%s\"", jackd_loc, prefs->jack_aserver); #else #ifdef IS_SOLARIS // use OSS on Solaris - com=lives_strdup_printf("echo \"%s -d oss\">\"%s\"",jackd_loc,prefs->jack_aserver); + com = lives_strdup_printf("echo \"%s -d oss\">\"%s\"", jackd_loc, prefs->jack_aserver); #else // use coreaudio on Darwin - com=lives_strdup_printf("echo \"%s -d coreaudio\">\"%s\"",jackd_loc,prefs->jack_aserver); + com = lives_strdup_printf("echo \"%s -d coreaudio\">\"%s\"", jackd_loc, prefs->jack_aserver); #endif #endif - lives_system(com,FALSE); + lives_system(com, FALSE); lives_free(com); - lives_chmod(prefs->jack_aserver,"o+x"); + lives_chmod(prefs->jack_aserver, "o+x"); } } } else { unsetenv("JACK_START_SERVER"); - setenv("JACK_NO_START_SERVER","1",0); - options=(jack_options_t)((int)options | (int)JackNoStartServer); + setenv("JACK_NO_START_SERVER", "1", 0); + options = (jack_options_t)((int)options | (int)JackNoStartServer); } // startup the server - jack_transport_client=jack_client_open(jt_client, options, &status, server_name); + jack_transport_client = jack_client_open(jt_client, options, &status, server_name); lives_free(jt_client); - if (jack_transport_client==NULL) return FALSE; + if (jack_transport_client == NULL) return FALSE; #ifdef ENABLE_JACK_TRANSPORT jack_activate(jack_transport_client); - jack_set_sync_timeout(jack_transport_client,5000000); // seems to not work + jack_set_sync_timeout(jack_transport_client, 5000000); // seems to not work jack_set_sync_callback(jack_transport_client, lives_start_ready_callback, NULL); - mainw->jack_trans_poll=TRUE; + mainw->jack_trans_poll = TRUE; #else jack_client_close(jack_transport_client); - jack_transport_client=NULL; + jack_transport_client = NULL; #endif - if (status&JackServerStarted) { + if (status & JackServerStarted) { d_print(_("JACK server started\n")); } @@ -118,9 +118,9 @@ jack_transport_query(jack_transport_client, &pos); - srate=jack_get_sample_rate(jack_transport_client); - val=(double)pos.frame/(double)srate; - if (val>0.) return val; + srate = jack_get_sample_rate(jack_transport_client); + val = (double)pos.frame / (double)srate; + if (val > 0.) return val; #endif return 0.; } @@ -138,31 +138,31 @@ // go away until the app has started up properly if (mainw->go_away) return; - if (!(prefs->jack_opts&JACK_OPTS_TRANSPORT_CLIENT)) return; + if (!(prefs->jack_opts & JACK_OPTS_TRANSPORT_CLIENT)) return; - if (jack_transport_client==NULL) return; + if (jack_transport_client == NULL) return; - jacktstate=jack_transport_query(jack_transport_client, &pos); + jacktstate = jack_transport_query(jack_transport_client, &pos); - if (mainw->jack_can_start&&(jacktstate==JackTransportRolling||jacktstate==JackTransportStarting)&& - mainw->playing_file==-1&&mainw->current_file>0&&!mainw->is_processing) { - mainw->jack_can_start=FALSE; - mainw->jack_can_stop=TRUE; + if (mainw->jack_can_start && (jacktstate == JackTransportRolling || jacktstate == JackTransportStarting) && + mainw->playing_file == -1 && mainw->current_file > 0 && !mainw->is_processing) { + mainw->jack_can_start = FALSE; + mainw->jack_can_stop = TRUE; // re - add the timer, as we will hang here, and we want to receive messages still during playback lives_timer_remove(mainw->kb_timer); - mainw->kb_timer=lives_timer_add(KEY_RPT_INTERVAL,&ext_triggers_poll,NULL); + mainw->kb_timer = lives_timer_add(KEY_RPT_INTERVAL, &ext_triggers_poll, NULL); - on_playall_activate(NULL,NULL); + on_playall_activate(NULL, NULL); - mainw->kb_timer_end=TRUE; + mainw->kb_timer_end = TRUE; } - if (jacktstate==JackTransportStopped) { - if (mainw->playing_file>-1&&mainw->jack_can_stop) { - on_stop_activate(NULL,NULL); + if (jacktstate == JackTransportStopped) { + if (mainw->playing_file > -1 && mainw->jack_can_stop) { + on_stop_activate(NULL, NULL); } - mainw->jack_can_start=TRUE; + mainw->jack_can_start = TRUE; } } #endif @@ -178,11 +178,11 @@ void lives_jack_end(void) { #ifdef ENABLE_JACK_TRANSPORT - jack_client_t *client=jack_transport_client; + jack_client_t *client = jack_transport_client; #endif - jack_transport_client=NULL; // stop polling transport + jack_transport_client = NULL; // stop polling transport #ifdef ENABLE_JACK_TRANSPORT - if (client!=NULL) { + if (client != NULL) { jack_deactivate(client); jack_client_close(client); } @@ -193,14 +193,14 @@ void jack_pb_start(void) { // call this ASAP, then in load_frame_image; we will wait for sync from other clients (and ourself !) #ifdef ENABLE_JACK_TRANSPORT - if (prefs->jack_opts&JACK_OPTS_TRANSPORT_MASTER) jack_transport_start(jack_transport_client); + if (prefs->jack_opts & JACK_OPTS_TRANSPORT_MASTER) jack_transport_start(jack_transport_client); #endif } void jack_pb_stop(void) { // call this after pb stops #ifdef ENABLE_JACK_TRANSPORT - if (prefs->jack_opts&JACK_OPTS_TRANSPORT_MASTER) jack_transport_stop(jack_transport_client); + if (prefs->jack_opts & JACK_OPTS_TRANSPORT_MASTER) jack_transport_stop(jack_transport_client); #endif } @@ -231,20 +231,20 @@ void jack_get_rec_avals(jack_driver_t *jackd) { - mainw->rec_aclip=jackd->playing_file; - if (mainw->rec_aclip!=-1) { - mainw->rec_aseek=jackd->seek_pos/(double)(afile->arate*afile->achans*afile->asampsize/8); - mainw->rec_avel=afile->pb_fps/afile->fps; + mainw->rec_aclip = jackd->playing_file; + if (mainw->rec_aclip != -1) { + mainw->rec_aseek = jackd->seek_pos / (double)(afile->arate * afile->achans * afile->asampsize / 8); + mainw->rec_avel = afile->pb_fps / afile->fps; } } static void jack_set_rec_avals(jack_driver_t *jackd, boolean is_forward) { // record direction change - mainw->rec_aclip=jackd->playing_file; - if (mainw->rec_aclip!=-1) { - mainw->rec_avel=ABS(afile->pb_fps/afile->fps); - if (!is_forward) mainw->rec_avel=-mainw->rec_avel; - mainw->rec_aseek=(double)jackd->seek_pos/(double)(afile->arate*afile->achans*afile->asampsize/8); + mainw->rec_aclip = jackd->playing_file; + if (mainw->rec_aclip != -1) { + mainw->rec_avel = ABS(afile->pb_fps / afile->fps); + if (!is_forward) mainw->rec_avel = -mainw->rec_avel; + mainw->rec_aseek = (double)jackd->seek_pos / (double)(afile->arate * afile->achans * afile->asampsize / 8); } } @@ -267,12 +267,12 @@ cache_buffer->shrink_factor = shrink_factor; cache_buffer->swap_sign = jackd->usigned; - cache_buffer->swap_endian = jackd->reverse_endian?SWAP_X_TO_L:0; + cache_buffer->swap_endian = jackd->reverse_endian ? SWAP_X_TO_L : 0; - cache_buffer->samp_space=nframes; + cache_buffer->samp_space = nframes; - cache_buffer->in_interleaf=TRUE; - cache_buffer->out_interleaf=FALSE; + cache_buffer->in_interleaf = TRUE; + cache_buffer->out_interleaf = FALSE; cache_buffer->operation = LIVES_READ_OPERATION; cache_buffer->is_ready = FALSE; @@ -282,8 +282,8 @@ static lives_audio_buf_t *pop_cache_buffer(void) { // get next available cache_buffer - lives_audio_buf_t *cache_buffer=audio_cache_get_buffer(); - if (cache_buffer!=NULL) return cache_buffer; + lives_audio_buf_t *cache_buffer = audio_cache_get_buffer(); + if (cache_buffer != NULL) return cache_buffer; return NULL; } @@ -298,108 +298,108 @@ aserver_message_t *msg; int64_t xseek; int new_file; - boolean from_memory=FALSE; - boolean wait_cache_buffer=FALSE; - boolean pl_error=FALSE; ///< flag tells if we had an error during plugin processing - lives_audio_buf_t *cache_buffer=NULL; - size_t nbytes,rbytes; + boolean from_memory = FALSE; + boolean wait_cache_buffer = FALSE; + boolean pl_error = FALSE; ///< flag tells if we had an error during plugin processing + lives_audio_buf_t *cache_buffer = NULL; + size_t nbytes, rbytes; #ifdef DEBUG_AJACK lives_printerr("nframes %ld, sizeof(float) == %d\n", (int64_t)nframes, sizeof(float)); #endif - if (!mainw->is_ready||jackd==NULL||(mainw->playing_file==-1&&jackd->is_silent&&jackd->msgq==NULL)) return 0; + if (!mainw->is_ready || jackd == NULL || (mainw->playing_file == -1 && jackd->is_silent && jackd->msgq == NULL)) return 0; /* process one message */ - while ((msg=(aserver_message_t *)jackd->msgq)!=NULL) { + while ((msg = (aserver_message_t *)jackd->msgq) != NULL) { // TODO - set seek_pos after setting record params switch (msg->command) { case ASERVER_CMD_FILE_OPEN: - new_file=atoi((char *)msg->data); - if (jackd->playing_file!=new_file) { - jackd->playing_file=new_file; + new_file = atoi((char *)msg->data); + if (jackd->playing_file != new_file) { + jackd->playing_file = new_file; } // TODO - use afile - jackd->num_input_channels=afile->achans; - jackd->sample_in_rate=(afile->arate*afile->pb_fps/afile->fps+.5); - jackd->bytes_per_channel=afile->asampsize/8; - jackd->seek_pos=0; + jackd->num_input_channels = afile->achans; + jackd->sample_in_rate = (afile->arate * afile->pb_fps / afile->fps + .5); + jackd->bytes_per_channel = afile->asampsize / 8; + jackd->seek_pos = 0; break; case ASERVER_CMD_FILE_CLOSE: - jackd->playing_file=-1; + jackd->playing_file = -1; break; case ASERVER_CMD_FILE_SEEK: - if (jackd->playing_file<0) break; - xseek=atol((char *)msg->data); - if (xseek<0.) xseek=0.; - jackd->seek_pos=xseek; - jackd->audio_ticks=mainw->currticks; - jackd->frames_written=0; + if (jackd->playing_file < 0) break; + xseek = atol((char *)msg->data); + if (xseek < 0.) xseek = 0.; + jackd->seek_pos = xseek; + jackd->audio_ticks = mainw->currticks; + jackd->frames_written = 0; break; default: - msg->data=NULL; + msg->data = NULL; } lives_freep((void **)&msg->data); - msg->command=ASERVER_CMD_PROCESSED; - if (msg->next==NULL) jackd->msgq=NULL; + msg->command = ASERVER_CMD_PROCESSED; + if (msg->next == NULL) jackd->msgq = NULL; else jackd->msgq = msg->next; } - if (nframes==0) return 0; + if (nframes == 0) return 0; /* retrieve the buffers for the output ports */ for (i = 0; i < jackd->num_output_channels; i++) out_buffer[i] = (float *) jack_port_get_buffer(jackd->output_port[i], nframes); - if (mainw->agen_key==0||mainw->agen_needs_reinit||mainw->multitrack!=NULL) { + if (mainw->agen_key == 0 || mainw->agen_needs_reinit || mainw->multitrack != NULL) { // if a plugin is generating audio we do not use cache_buffers, otherwise: - if (jackd->read_abuf==-1) { + if (jackd->read_abuf == -1) { // assign local copy from cache_buffers - if (mainw->playing_file==-1 || (cache_buffer = pop_cache_buffer())==NULL || !cache_buffer->is_ready) { + if (mainw->playing_file == -1 || (cache_buffer = pop_cache_buffer()) == NULL || !cache_buffer->is_ready) { // audio buffer is not ready yet - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { pthread_mutex_lock(&mainw->abuf_frame_mutex); } for (i = 0; i < jackd->num_output_channels; i++) { if (!jackd->is_silent) { sample_silence_dS(out_buffer[i], nframes); } - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { - append_to_audio_bufferf(mainw->audio_frame_buffer,out_buffer[i],nframes,i); + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { + append_to_audio_bufferf(mainw->audio_frame_buffer, out_buffer[i], nframes, i); } } - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { - mainw->audio_frame_buffer->samples_filled+=nframes; + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { + mainw->audio_frame_buffer->samples_filled += nframes; pthread_mutex_unlock(&mainw->abuf_frame_mutex); } - jackd->is_silent=TRUE; + jackd->is_silent = TRUE; return 0; } - if (cache_buffer->fileno==-1) jackd->playing_file=-1; + if (cache_buffer->fileno == -1) jackd->playing_file = -1; } - if (cache_buffer!=NULL && cache_buffer->in_achans>0 && !cache_buffer->is_ready) wait_cache_buffer=TRUE; + if (cache_buffer != NULL && cache_buffer->in_achans > 0 && !cache_buffer->is_ready) wait_cache_buffer = TRUE; } - jackd->state=jack_transport_query(jackd->client, &pos); + jackd->state = jack_transport_query(jackd->client, &pos); #ifdef DEBUG_AJACK - lives_printerr("STATE is %d %d\n",jackd->state,jackd->play_when_stopped); + lives_printerr("STATE is %d %d\n", jackd->state, jackd->play_when_stopped); #endif /* handle playing state */ - if (jackd->state==JackTransportRolling||jackd->play_when_stopped) { + if (jackd->state == JackTransportRolling || jackd->play_when_stopped) { uint64_t jackFramesAvailable = nframes; /* frames we have left to write to jack */ uint64_t inputFramesAvailable; /* frames we have available this loop */ uint64_t numFramesToWrite; /* num frames we are writing this loop */ - int64_t in_frames=0; - uint64_t in_bytes=0,xin_bytes=0; - float shrink_factor=1.f; + int64_t in_frames = 0; + uint64_t in_bytes = 0, xin_bytes = 0; + float shrink_factor = 1.f; double vol; - lives_clip_t *xfile=afile; + lives_clip_t *xfile = afile; #ifdef DEBUG_AJACK lives_printerr("playing... jackFramesAvailable = %ld\n", jackFramesAvailable); @@ -408,158 +408,158 @@ jackd->num_calls++; - if (!jackd->in_use||((jackd->playing_file<0||jackd->seek_pos<0.)&&jackd->read_abuf<0 - &&(mainw->agen_key==0||mainw->multitrack!=NULL)) - ||jackd->is_paused) { + if (!jackd->in_use || ((jackd->playing_file < 0 || jackd->seek_pos < 0.) && jackd->read_abuf < 0 + && (mainw->agen_key == 0 || mainw->multitrack != NULL)) + || jackd->is_paused) { /* output silence if nothing is being outputted */ if (!jackd->is_silent) { - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { pthread_mutex_lock(&mainw->abuf_frame_mutex); } for (i = 0; i < jackd->num_output_channels; i++) { sample_silence_dS(out_buffer[i], nframes); - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { - append_to_audio_bufferf(mainw->audio_frame_buffer,out_buffer[i],nframes,i); + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { + append_to_audio_bufferf(mainw->audio_frame_buffer, out_buffer[i], nframes, i); } } - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { - mainw->audio_frame_buffer->samples_filled+=nframes; + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { + mainw->audio_frame_buffer->samples_filled += nframes; pthread_mutex_unlock(&mainw->abuf_frame_mutex); } } - jackd->is_silent=TRUE; + jackd->is_silent = TRUE; // external streaming - rbytes=nframes*jackd->num_output_channels*2; + rbytes = nframes * jackd->num_output_channels * 2; check_zero_buff(rbytes); - audio_stream(zero_buff,rbytes,jackd->astream_fd); + audio_stream(zero_buff, rbytes, jackd->astream_fd); - if (!jackd->is_paused) jackd->frames_written+=nframes; - if (jackd->seek_pos<0.&&jackd->playing_file>-1&&afile!=NULL) { - jackd->seek_pos+=nframes*afile->achans*afile->asampsize/8; + if (!jackd->is_paused) jackd->frames_written += nframes; + if (jackd->seek_pos < 0. && jackd->playing_file > -1 && afile != NULL) { + jackd->seek_pos += nframes * afile->achans * afile->asampsize / 8; } return 0; } - jackd->is_silent=FALSE; + jackd->is_silent = FALSE; - if (LIVES_LIKELY(jackFramesAvailable>0)) { + if (LIVES_LIKELY(jackFramesAvailable > 0)) { /* (bytes of data) / (2 bytes(16 bits) * X input channels) == frames */ - if (mainw->playing_file>-1&&jackd->read_abuf>-1) { + if (mainw->playing_file > -1 && jackd->read_abuf > -1) { // playing back from memory buffers instead of from file // this is used in multitrack - from_memory=TRUE; + from_memory = TRUE; - numFramesToWrite=jackFramesAvailable; - jackd->frames_written+=numFramesToWrite; - jackFramesAvailable=0; + numFramesToWrite = jackFramesAvailable; + jackd->frames_written += numFramesToWrite; + jackFramesAvailable = 0; } else { - if (LIVES_LIKELY(jackd->playing_file>=0)) { + if (LIVES_LIKELY(jackd->playing_file >= 0)) { - if (jackd->playing_file==mainw->ascrap_file&&mainw->playing_file>=-1&&mainw->files[mainw->playing_file]->achans>0) { - xfile=mainw->files[mainw->playing_file]; + if (jackd->playing_file == mainw->ascrap_file && mainw->playing_file >= -1 && mainw->files[mainw->playing_file]->achans > 0) { + xfile = mainw->files[mainw->playing_file]; } - in_bytes=ABS((in_frames=((double)jackd->sample_in_rate/(double)jackd->sample_out_rate* - (double)jackFramesAvailable+((double)fastrand()/(double)LIVES_MAXUINT32)))) - *jackd->num_input_channels*jackd->bytes_per_channel; - if ((shrink_factor=(float)in_frames/(float)jackFramesAvailable)<0.f) { + in_bytes = ABS((in_frames = ((double)jackd->sample_in_rate / (double)jackd->sample_out_rate * + (double)jackFramesAvailable + ((double)fastrand() / (double)LIVES_MAXUINT32)))) + * jackd->num_input_channels * jackd->bytes_per_channel; + if ((shrink_factor = (float)in_frames / (float)jackFramesAvailable) < 0.f) { // reverse playback - if ((jackd->seek_pos-=in_bytes)<0) { + if ((jackd->seek_pos -= in_bytes) < 0) { // reached beginning backwards - if (jackd->loop==AUDIO_LOOP_NONE) { - if (*jackd->whentostop==STOP_ON_AUD_END) { - *jackd->cancelled=CANCEL_AUD_END; + if (jackd->loop == AUDIO_LOOP_NONE) { + if (*jackd->whentostop == STOP_ON_AUD_END) { + *jackd->cancelled = CANCEL_AUD_END; } - jackd->in_use=FALSE; - jack_set_rec_avals(jackd,FALSE); + jackd->in_use = FALSE; + jack_set_rec_avals(jackd, FALSE); } else { - if (jackd->loop==AUDIO_LOOP_PINGPONG) { - jackd->sample_in_rate=-jackd->sample_in_rate; - shrink_factor=-shrink_factor; - jackd->seek_pos=0; - jack_set_rec_avals(jackd,TRUE); - } else jackd->seek_pos=jackd->seek_end-in_bytes; - jack_set_rec_avals(jackd,FALSE); + if (jackd->loop == AUDIO_LOOP_PINGPONG) { + jackd->sample_in_rate = -jackd->sample_in_rate; + shrink_factor = -shrink_factor; + jackd->seek_pos = 0; + jack_set_rec_avals(jackd, TRUE); + } else jackd->seek_pos = jackd->seek_end - in_bytes; + jack_set_rec_avals(jackd, FALSE); } } } // TODO - look into refactoring if (jackd->mute) { - if (shrink_factor>0.f) jackd->seek_pos+=in_bytes; - if (jackd->seek_pos>=jackd->seek_end) { - if (*jackd->whentostop==STOP_ON_AUD_END) { - *jackd->cancelled=CANCEL_AUD_END; - jackd->in_use=FALSE; + if (shrink_factor > 0.f) jackd->seek_pos += in_bytes; + if (jackd->seek_pos >= jackd->seek_end) { + if (*jackd->whentostop == STOP_ON_AUD_END) { + *jackd->cancelled = CANCEL_AUD_END; + jackd->in_use = FALSE; } else { - if (jackd->loop==AUDIO_LOOP_PINGPONG) { - jackd->sample_in_rate=-jackd->sample_in_rate; - jackd->seek_pos-=(jackd->seek_pos - jackd->seek_end); + if (jackd->loop == AUDIO_LOOP_PINGPONG) { + jackd->sample_in_rate = -jackd->sample_in_rate; + jackd->seek_pos -= (jackd->seek_pos - jackd->seek_end); } else { - jackd->seek_pos=0; + jackd->seek_pos = 0; } } } - if (!wait_cache_buffer&&((mainw->agen_key==0&&!mainw->agen_needs_reinit)||mainw->multitrack!=NULL)) + if (!wait_cache_buffer && ((mainw->agen_key == 0 && !mainw->agen_needs_reinit) || mainw->multitrack != NULL)) push_cache_buffer(cache_buffer, jackd, in_bytes, nframes, shrink_factor); - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { pthread_mutex_lock(&mainw->abuf_frame_mutex); } for (i = 0; i < jackd->num_output_channels; i++) { sample_silence_dS(out_buffer[i], nframes); - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { - append_to_audio_bufferf(mainw->audio_frame_buffer,out_buffer[i],nframes,i); + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { + append_to_audio_bufferf(mainw->audio_frame_buffer, out_buffer[i], nframes, i); } } - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { - mainw->audio_frame_buffer->samples_filled+=nframes; + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { + mainw->audio_frame_buffer->samples_filled += nframes; pthread_mutex_unlock(&mainw->abuf_frame_mutex); } // external streaming - rbytes=nframes*jackd->num_output_channels*2; + rbytes = nframes * jackd->num_output_channels * 2; check_zero_buff(rbytes); - audio_stream(zero_buff,rbytes,jackd->astream_fd); + audio_stream(zero_buff, rbytes, jackd->astream_fd); - jackd->frames_written+=nframes; + jackd->frames_written += nframes; return 0; } else { - if (shrink_factor>0.) { + if (shrink_factor > 0.) { if (!(*jackd->cancelled)) { - boolean eof=FALSE; + boolean eof = FALSE; - if (mainw->agen_key==0) eof=cache_buffer->eof; - else if (jackd->playing_file>-1 && xfile!=NULL && xfile->afilesize <=jackd->seek_pos) eof=TRUE; + if (mainw->agen_key == 0) eof = cache_buffer->eof; + else if (jackd->playing_file > -1 && xfile != NULL && xfile->afilesize <= jackd->seek_pos) eof = TRUE; if (eof) { // reached the end, forwards - if (*jackd->whentostop==STOP_ON_AUD_END) { - jackd->in_use=FALSE; - *jackd->cancelled=CANCEL_AUD_END; + if (*jackd->whentostop == STOP_ON_AUD_END) { + jackd->in_use = FALSE; + *jackd->cancelled = CANCEL_AUD_END; } else { - if (jackd->loop==AUDIO_LOOP_PINGPONG) { - jackd->sample_in_rate=-jackd->sample_in_rate; - jackd->seek_pos-=in_bytes; // TODO - jack_set_rec_avals(jackd,FALSE); + if (jackd->loop == AUDIO_LOOP_PINGPONG) { + jackd->sample_in_rate = -jackd->sample_in_rate; + jackd->seek_pos -= in_bytes; // TODO + jack_set_rec_avals(jackd, FALSE); } else { - if (jackd->loop!=AUDIO_LOOP_NONE) { - jackd->seek_pos=0; - jack_set_rec_avals(jackd,TRUE); + if (jackd->loop != AUDIO_LOOP_NONE) { + jackd->seek_pos = 0; + jack_set_rec_avals(jackd, TRUE); } else { - jackd->in_use=FALSE; - jack_set_rec_avals(jackd,TRUE); + jackd->in_use = FALSE; + jack_set_rec_avals(jackd, TRUE); } } } @@ -567,51 +567,51 @@ } } } - xin_bytes=in_bytes; + xin_bytes = in_bytes; } - if (mainw->agen_key!=0&&mainw->multitrack==NULL) { - in_bytes=jackFramesAvailable*jackd->num_output_channels*4; - if (xin_bytes==0) xin_bytes=in_bytes; + if (mainw->agen_key != 0 && mainw->multitrack == NULL) { + in_bytes = jackFramesAvailable * jackd->num_output_channels * 4; + if (xin_bytes == 0) xin_bytes = in_bytes; } - if (!jackd->in_use||in_bytes==0) { + if (!jackd->in_use || in_bytes == 0) { // reached end of audio with no looping - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { pthread_mutex_lock(&mainw->abuf_frame_mutex); } for (i = 0; i < jackd->num_output_channels; i++) { sample_silence_dS(out_buffer[i], nframes); - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { - append_to_audio_bufferf(mainw->audio_frame_buffer,out_buffer[i],nframes,i); + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { + append_to_audio_bufferf(mainw->audio_frame_buffer, out_buffer[i], nframes, i); } } - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { - mainw->audio_frame_buffer->samples_filled+=nframes; + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { + mainw->audio_frame_buffer->samples_filled += nframes; pthread_mutex_unlock(&mainw->abuf_frame_mutex); } - jackd->is_silent=TRUE; + jackd->is_silent = TRUE; // external streaming - rbytes=nframes*jackd->num_output_channels*2; + rbytes = nframes * jackd->num_output_channels * 2; check_zero_buff(rbytes); - audio_stream(zero_buff,rbytes,jackd->astream_fd); + audio_stream(zero_buff, rbytes, jackd->astream_fd); - if (!jackd->is_paused) jackd->frames_written+=nframes; - if (jackd->seek_pos<0.&&jackd->playing_file>-1&&xfile!=NULL) { - jackd->seek_pos+=nframes*xfile->achans*xfile->asampsize/8; + if (!jackd->is_paused) jackd->frames_written += nframes; + if (jackd->seek_pos < 0. && jackd->playing_file > -1 && xfile != NULL) { + jackd->seek_pos += nframes * xfile->achans * xfile->asampsize / 8; } return 0; } - if (mainw->multitrack!=NULL||(mainw->agen_key==0&&!mainw->agen_needs_reinit)) + if (mainw->multitrack != NULL || (mainw->agen_key == 0 && !mainw->agen_needs_reinit)) inputFramesAvailable = cache_buffer->samp_space; - else inputFramesAvailable=jackFramesAvailable; + else inputFramesAvailable = jackFramesAvailable; #ifdef DEBUG_AJACK lives_printerr("%d inputFramesAvailable == %ld, %ld %ld,jackFramesAvailable == %ld\n", inputFramesAvailable, - in_frames,jackd->sample_in_rate,jackd->sample_out_rate,jackFramesAvailable); + in_frames, jackd->sample_in_rate, jackd->sample_out_rate, jackFramesAvailable); #endif /* write as many bytes as we have space remaining, or as much as we have data to write */ @@ -621,8 +621,8 @@ lives_printerr("nframes == %d, jackFramesAvailable == %ld,\n\tjackd->num_input_channels == %ld, jackd->num_output_channels == %ld, nf2w %ld, in_bytes %d, sf %.8f\n", nframes, jackFramesAvailable, jackd->num_input_channels, jackd->num_output_channels, numFramesToWrite, in_bytes, shrink_factor); #endif - jackd->frames_written+=numFramesToWrite; - jackFramesAvailable-=numFramesToWrite; /* take away what was written */ + jackd->frames_written += numFramesToWrite; + jackFramesAvailable -= numFramesToWrite; /* take away what was written */ #ifdef DEBUG_AJACK lives_printerr("jackFramesAvailable == %ld\n", jackFramesAvailable); @@ -630,291 +630,291 @@ } // playback from memory or file - vol=mainw->volume*mainw->volume; // TODO - we should really use a logarithmic scale + vol = mainw->volume * mainw->volume; // TODO - we should really use a logarithmic scale if (numFramesToWrite) { if (!from_memory) { // if (((int)(jackd->num_calls/100.))*100==jackd->num_calls) if (mainw->soft_debug) g_print("audio pip\n"); - if ((mainw->agen_key!=0||mainw->agen_needs_reinit||cache_buffer->bufferf!=NULL)&&!jackd->mute) { - float *fbuffer=NULL; + if ((mainw->agen_key != 0 || mainw->agen_needs_reinit || cache_buffer->bufferf != NULL) && !jackd->mute) { + float *fbuffer = NULL; - if (mainw->agen_key!=0||mainw->agen_needs_reinit) { + if (mainw->agen_key != 0 || mainw->agen_needs_reinit) { // audio generated from plugin - if (mainw->agen_needs_reinit) pl_error=TRUE; + if (mainw->agen_needs_reinit) pl_error = TRUE; else { - fbuffer=(float *)lives_malloc(numFramesToWrite*jackd->num_output_channels*4); + fbuffer = (float *)lives_malloc(numFramesToWrite * jackd->num_output_channels * 4); - if (!get_audio_from_plugin(fbuffer,jackd->num_output_channels,jackd->sample_out_rate,numFramesToWrite)) { - pl_error=TRUE; + if (!get_audio_from_plugin(fbuffer, jackd->num_output_channels, jackd->sample_out_rate, numFramesToWrite)) { + pl_error = TRUE; } } // get back non-interleaved float fbuffer; rate and channels should match - for (i=0; i<jackd->num_output_channels; i++) { + for (i = 0; i < jackd->num_output_channels; i++) { if (pl_error) { - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { pthread_mutex_lock(&mainw->abuf_frame_mutex); } for (i = 0; i < jackd->num_output_channels; i++) { sample_silence_dS(out_buffer[i], numFramesToWrite); - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { - append_to_audio_bufferf(mainw->audio_frame_buffer,out_buffer[i],nframes,i); + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { + append_to_audio_bufferf(mainw->audio_frame_buffer, out_buffer[i], nframes, i); } } - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { - mainw->audio_frame_buffer->samples_filled+=numFramesToWrite; + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { + mainw->audio_frame_buffer->samples_filled += numFramesToWrite; pthread_mutex_unlock(&mainw->abuf_frame_mutex); } } else { - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { pthread_mutex_lock(&mainw->abuf_frame_mutex); } for (i = 0; i < jackd->num_output_channels; i++) { - lives_memcpy(out_buffer[i],fbuffer+(i*numFramesToWrite),numFramesToWrite*sizeof(float)); - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { - append_to_audio_bufferf(mainw->audio_frame_buffer,out_buffer[i],nframes,i); + lives_memcpy(out_buffer[i], fbuffer + (i * numFramesToWrite), numFramesToWrite * sizeof(float)); + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { + append_to_audio_bufferf(mainw->audio_frame_buffer, out_buffer[i], nframes, i); } } - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { - mainw->audio_frame_buffer->samples_filled+=nframes; + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { + mainw->audio_frame_buffer->samples_filled += nframes; pthread_mutex_unlock(&mainw->abuf_frame_mutex); } } } - if (!pl_error&&has_audio_filters(AF_TYPE_ANY)) { - uint64_t tc=jackd->audio_ticks+(uint64_t)(jackd->frames_written/(double)jackd->sample_out_rate*U_SEC); + if (!pl_error && has_audio_filters(AF_TYPE_ANY)) { + uint64_t tc = jackd->audio_ticks + (uint64_t)(jackd->frames_written / (double)jackd->sample_out_rate * U_SEC); // apply any audio effects with in_channels - weed_apply_audio_effects_rt(out_buffer,jackd->num_output_channels,numFramesToWrite,jackd->sample_out_rate,tc,FALSE); + weed_apply_audio_effects_rt(out_buffer, jackd->num_output_channels, numFramesToWrite, jackd->sample_out_rate, tc, FALSE); } - if (mainw->record&&mainw->ascrap_file!=-1&&mainw->playing_file>0) { - int out_unsigned=mainw->files[mainw->ascrap_file]->signed_endian&AFORM_UNSIGNED; - rbytes=numFramesToWrite*mainw->files[mainw->ascrap_file]->achans* - mainw->files[mainw->ascrap_file]->asampsize>>3; + if (mainw->record && mainw->ascrap_file != -1 && mainw->playing_file > 0) { + int out_unsigned = mainw->files[mainw->ascrap_file]->signed_endian & AFORM_UNSIGNED; + rbytes = numFramesToWrite * mainw->files[mainw->ascrap_file]->achans * + mainw->files[mainw->ascrap_file]->asampsize >> 3; - rbytes=audio_read_inner(jackd,out_buffer,mainw->ascrap_file,numFramesToWrite,1.0, - !(mainw->files[mainw->ascrap_file]->signed_endian&AFORM_BIG_ENDIAN),out_unsigned,rbytes); - mainw->files[mainw->ascrap_file]->aseek_pos+=rbytes; + rbytes = audio_read_inner(jackd, out_buffer, mainw->ascrap_file, numFramesToWrite, 1.0, + !(mainw->files[mainw->ascrap_file]->signed_endian & AFORM_BIG_ENDIAN), out_unsigned, rbytes); + mainw->files[mainw->ascrap_file]->aseek_pos += rbytes; } } else { - for (i=0; i<jackd->num_output_channels; i++) { + for (i = 0; i < jackd->num_output_channels; i++) { sample_move_d16_float(out_buffer[i], cache_buffer->buffer16[0] + i, numFramesToWrite, - jackd->num_output_channels, afile->signed_endian&AFORM_UNSIGNED, FALSE, vol); + jackd->num_output_channels, afile->signed_endian & AFORM_UNSIGNED, FALSE, vol); } - if (has_audio_filters(AF_TYPE_ANY)&&jackd->playing_file!=mainw->ascrap_file) { - uint64_t tc=jackd->audio_ticks+(uint64_t)(jackd->frames_written/(double)jackd->sample_out_rate*U_SEC); + if (has_audio_filters(AF_TYPE_ANY) && jackd->playing_file != mainw->ascrap_file) { + uint64_t tc = jackd->audio_ticks + (uint64_t)(jackd->frames_written / (double)jackd->sample_out_rate * U_SEC); // apply any audio effects with in_channels - weed_apply_audio_effects_rt(out_buffer,jackd->num_output_channels,numFramesToWrite,jackd->sample_out_rate,tc,FALSE); + weed_apply_audio_effects_rt(out_buffer, jackd->num_output_channels, numFramesToWrite, jackd->sample_out_rate, tc, FALSE); } } - if (jackd->astream_fd!=-1) { + if (jackd->astream_fd != -1) { // audio streaming if enabled unsigned char *xbuf; - nbytes=numFramesToWrite*jackd->num_output_channels*4; - rbytes=numFramesToWrite*jackd->num_output_channels*2; + nbytes = numFramesToWrite * jackd->num_output_channels * 4; + rbytes = numFramesToWrite * jackd->num_output_channels * 2; if (pl_error) { check_zero_buff(rbytes); - audio_stream(zero_buff,rbytes,jackd->astream_fd); + audio_stream(zero_buff, rbytes, jackd->astream_fd); } else { - if (mainw->agen_key==0) - xbuf=(unsigned char *)cache_buffer->buffer16[0]; + if (mainw->agen_key == 0) + xbuf = (unsigned char *)cache_buffer->buffer16[0]; else { // plugin is generating and we are streaming: convert fbuffer to s16 - float **fp=(float **)lives_malloc(jackd->num_output_channels*sizeof(float *)); - for (i=0; i<jackd->num_output_channels; i++) { - fp[i]=fbuffer+i; + float **fp = (float **)lives_malloc(jackd->num_output_channels * sizeof(float *)); + for (i = 0; i < jackd->num_output_channels; i++) { + fp[i] = fbuffer + i; } - xbuf=(unsigned char *)lives_malloc(nbytes*jackd->num_output_channels); + xbuf = (unsigned char *)lives_malloc(nbytes * jackd->num_output_channels); - sample_move_float_int((void *)xbuf,fp,numFramesToWrite,1.0,jackd->num_output_channels,16,0,TRUE,TRUE,1.0); + sample_move_float_int((void *)xbuf, fp, numFramesToWrite, 1.0, jackd->num_output_channels, 16, 0, TRUE, TRUE, 1.0); } - if (jackd->num_output_channels!=2) { + if (jackd->num_output_channels != 2) { // need to remap channels to stereo (assumed for now) - size_t bysize=4,tsize=0; - unsigned char *inbuf,*oinbuf=NULL; + size_t bysize = 4, tsize = 0; + unsigned char *inbuf, *oinbuf = NULL; - if (mainw->agen_key!=0) inbuf=(unsigned char *)cache_buffer->buffer16[0]; - else oinbuf=inbuf=xbuf; + if (mainw->agen_key != 0) inbuf = (unsigned char *)cache_buffer->buffer16[0]; + else oinbuf = inbuf = xbuf; - xbuf=(unsigned char *)lives_try_malloc(nbytes); + xbuf = (unsigned char *)lives_try_malloc(nbytes); if (!xbuf) { // external streaming - rbytes=numFramesToWrite*jackd->num_output_channels*2; + rbytes = numFramesToWrite * jackd->num_output_channels * 2; if (check_zero_buff(rbytes)) - audio_stream(zero_buff,rbytes,jackd->astream_fd); + audio_stream(zero_buff, rbytes, jackd->astream_fd); return 0; } - if (jackd->num_output_channels==1) bysize=2; - while (nbytes>0) { - lives_memcpy(xbuf+tsize,inbuf,bysize); - tsize+=bysize; - nbytes-=bysize; - if (bysize==2) { + if (jackd->num_output_channels == 1) bysize = 2; + while (nbytes > 0) { + lives_memcpy(xbuf + tsize, inbuf, bysize); + tsize += bysize; + nbytes -= bysize; + if (bysize == 2) { // duplicate mono channel - lives_memcpy(xbuf+tsize,inbuf,bysize); - tsize+=bysize; - nbytes-=bysize; - inbuf+=bysize; + lives_memcpy(xbuf + tsize, inbuf, bysize); + tsize += bysize; + nbytes -= bysize; + inbuf += bysize; } else { // or skip extra channels - inbuf+=jackd->num_output_channels*4; + inbuf += jackd->num_output_channels * 4; } } - nbytes=numFramesToWrite*jackd->num_output_channels*4; + nbytes = numFramesToWrite * jackd->num_output_channels * 4; lives_freep((void **)&oinbuf); } - rbytes=numFramesToWrite*jackd->num_output_channels*2; - audio_stream(xbuf,rbytes,jackd->astream_fd); - if (mainw->agen_key!=0||xbuf!=(unsigned char *)cache_buffer->buffer16[0]) lives_free(xbuf); + rbytes = numFramesToWrite * jackd->num_output_channels * 2; + audio_stream(xbuf, rbytes, jackd->astream_fd); + if (mainw->agen_key != 0 || xbuf != (unsigned char *)cache_buffer->buffer16[0]) lives_free(xbuf); } } lives_freep((void **)&fbuffer); } else { - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { pthread_mutex_lock(&mainw->abuf_frame_mutex); } for (i = 0; i < jackd->num_output_channels; i++) { sample_silence_dS(out_buffer[i], numFramesToWrite); - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { - append_to_audio_bufferf(mainw->audio_frame_buffer,out_buffer[i],nframes,i); + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { + append_to_audio_bufferf(mainw->audio_frame_buffer, out_buffer[i], nframes, i); } } - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { - mainw->audio_frame_buffer->samples_filled+=numFramesToWrite; + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { + mainw->audio_frame_buffer->samples_filled += numFramesToWrite; pthread_mutex_unlock(&mainw->abuf_frame_mutex); } // external streaming - if (jackd->astream_fd!=-1) { - rbytes=numFramesToWrite*jackd->num_output_channels*2; + if (jackd->astream_fd != -1) { + rbytes = numFramesToWrite * jackd->num_output_channels * 2; check_zero_buff(rbytes); - audio_stream(zero_buff,rbytes,jackd->astream_fd); + audio_stream(zero_buff, rbytes, jackd->astream_fd); } } } else { - if (jackd->read_abuf>-1&&!jackd->mute) { - sample_move_abuf_float(out_buffer,jackd->num_output_channels,nframes,jackd->sample_out_rate,vol); + if (jackd->read_abuf > -1 && !jackd->mute) { + sample_move_abuf_float(out_buffer, jackd->num_output_channels, nframes, jackd->sample_out_rate, vol); - if (jackd->astream_fd!=-1) { + if (jackd->astream_fd != -1) { // audio streaming if enabled - unsigned char *xbuf=(unsigned char *)out_buffer; - nbytes=numFramesToWrite*jackd->num_output_channels*4; + unsigned char *xbuf = (unsigned char *)out_buffer; + nbytes = numFramesToWrite * jackd->num_output_channels * 4; - if (jackd->num_output_channels!=2) { + if (jackd->num_output_channels != 2) { // need to remap channels to stereo (assumed for now) - size_t bysize=4,tsize=0; - unsigned char *inbuf=(unsigned char *)out_buffer; - xbuf=(unsigned char *)lives_try_malloc(nbytes); + size_t bysize = 4, tsize = 0; + unsigned char *inbuf = (unsigned char *)out_buffer; + xbuf = (unsigned char *)lives_try_malloc(nbytes); if (!xbuf) { - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { pthread_mutex_lock(&mainw->abuf_frame_mutex); } for (i = 0; i < jackd->num_output_channels; i++) { sample_silence_dS(out_buffer[i], numFramesToWrite); - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { - append_to_audio_bufferf(mainw->audio_frame_buffer,out_buffer[i],nframes,i); + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { + append_to_audio_bufferf(mainw->audio_frame_buffer, out_buffer[i], nframes, i); } } - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { - mainw->audio_frame_buffer->samples_filled+=numFramesToWrite; + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { + mainw->audio_frame_buffer->samples_filled += numFramesToWrite; pthread_mutex_unlock(&mainw->abuf_frame_mutex); } // external streaming - rbytes=numFramesToWrite*jackd->num_output_channels*2; + rbytes = numFramesToWrite * jackd->num_output_channels * 2; if (check_zero_buff(rbytes)) - audio_stream(zero_buff,rbytes,jackd->astream_fd); + audio_stream(zero_buff, rbytes, jackd->astream_fd); return 0; } - if (jackd->num_output_channels==1) bysize=2; - while (nbytes>0) { - lives_memcpy(xbuf+tsize,inbuf,bysize); - tsize+=bysize; - nbytes-=bysize; - if (bysize==2) { + if (jackd->num_output_channels == 1) bysize = 2; + while (nbytes > 0) { + lives_memcpy(xbuf + tsize, inbuf, bysize); + tsize += bysize; + nbytes -= bysize; + if (bysize == 2) { // duplicate mono channel - lives_memcpy(xbuf+tsize,inbuf,bysize); - tsize+=bysize; - nbytes-=bysize; - inbuf+=bysize; + lives_memcpy(xbuf + tsize, inbuf, bysize); + tsize += bysize; + nbytes -= bysize; + inbuf += bysize; } else { // or skip extra channels - inbuf+=jackd->num_output_channels*4; + inbuf += jackd->num_output_channels * 4; } } - nbytes=numFramesToWrite*jackd->num_output_channels*2; + nbytes = numFramesToWrite * jackd->num_output_channels * 2; } - rbytes=numFramesToWrite*jackd->num_output_channels*2; - audio_stream(xbuf,rbytes,jackd->astream_fd); - if (xbuf!=(unsigned char *)out_buffer) lives_free(xbuf); + rbytes = numFramesToWrite * jackd->num_output_channels * 2; + audio_stream(xbuf, rbytes, jackd->astream_fd); + if (xbuf != (unsigned char *)out_buffer) lives_free(xbuf); } } else { - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { pthread_mutex_lock(&mainw->abuf_frame_mutex); } for (i = 0; i < jackd->num_output_channels; i++) { sample_silence_dS(out_buffer[i], numFramesToWrite); - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { - append_to_audio_bufferf(mainw->audio_frame_buffer,out_buffer[i],nframes,i); + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { + append_to_audio_bufferf(mainw->audio_frame_buffer, out_buffer[i], nframes, i); } } - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { - mainw->audio_frame_buffer->samples_filled+=numFramesToWrite; + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { + mainw->audio_frame_buffer->samples_filled += numFramesToWrite; pthread_mutex_unlock(&mainw->abuf_frame_mutex); } // external streaming - rbytes=numFramesToWrite*jackd->num_output_channels*2; + rbytes = numFramesToWrite * jackd->num_output_channels * 2; check_zero_buff(rbytes); - audio_stream(zero_buff,rbytes,jackd->astream_fd); + audio_stream(zero_buff, rbytes, jackd->astream_fd); } } } else { // no input frames - nframes=jackFramesAvailable; - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { + nframes = jackFramesAvailable; + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { pthread_mutex_lock(&mainw->abuf_frame_mutex); } for (i = 0; i < jackd->num_output_channels; i++) { sample_silence_dS(out_buffer[i], numFramesToWrite); - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { - append_to_audio_bufferf(mainw->audio_frame_buffer,out_buffer[i],nframes,i); + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { + append_to_audio_bufferf(mainw->audio_frame_buffer, out_buffer[i], nframes, i); } } - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { - mainw->audio_frame_buffer->samples_filled+=numFramesToWrite; + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { + mainw->audio_frame_buffer->samples_filled += numFramesToWrite; pthread_mutex_unlock(&mainw->abuf_frame_mutex); } // external streaming - rbytes=numFramesToWrite*jackd->num_output_channels*2; + rbytes = numFramesToWrite * jackd->num_output_channels * 2; check_zero_buff(rbytes); - audio_stream(zero_buff,rbytes,jackd->astream_fd); + audio_stream(zero_buff, rbytes, jackd->astream_fd); } } if (!from_memory) { - if (!wait_cache_buffer&&mainw->agen_key==0) + if (!wait_cache_buffer && mainw->agen_key == 0) push_cache_buffer(cache_buffer, jackd, in_bytes, nframes, shrink_factor); - if (shrink_factor>0.) jackd->seek_pos+=xin_bytes; + if (shrink_factor > 0.) jackd->seek_pos += xin_bytes; } /* jackd->jack_pulse[0]=set_pulse(out_buffer[0],jack->buffer_size,8); @@ -929,26 +929,26 @@ lives_printerr("buffer underrun of %ld frames\n", jackFramesAvailable); #endif for (i = 0 ; i < jackd->num_output_channels; i++) { - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { pthread_mutex_lock(&mainw->abuf_frame_mutex); } for (i = 0; i < jackd->num_output_channels; i++) { sample_silence_dS(out_buffer[i] + (nframes - jackFramesAvailable), jackFramesAvailable); - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { - append_to_audio_bufferf(mainw->audio_frame_buffer,out_buffer[i],nframes,i); + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { + append_to_audio_bufferf(mainw->audio_frame_buffer, out_buffer[i], nframes, i); } } - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { - mainw->audio_frame_buffer->samples_filled+=jackFramesAvailable; + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { + mainw->audio_frame_buffer->samples_filled += jackFramesAvailable; pthread_mutex_unlock(&mainw->abuf_frame_mutex); } } // external streaming - rbytes=jackFramesAvailable*jackd->num_output_channels*2; + rbytes = jackFramesAvailable * jackd->num_output_channels * 2; check_zero_buff(rbytes); - audio_stream(zero_buff,rbytes,jackd->astream_fd); + audio_stream(zero_buff, rbytes, jackd->astream_fd); } } else if (jackd->state == JackTransportStarting || jackd->state == JackTransportStopped || @@ -958,26 +958,26 @@ #endif /* output silence if nothing is being outputted */ - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { pthread_mutex_lock(&mainw->abuf_frame_mutex); } for (i = 0; i < jackd->num_output_channels; i++) { sample_silence_dS(out_buffer[i], nframes); - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { - append_to_audio_bufferf(mainw->audio_frame_buffer,out_buffer[i],nframes,i); + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { + append_to_audio_bufferf(mainw->audio_frame_buffer, out_buffer[i], nframes, i); } } - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { - mainw->audio_frame_buffer->samples_filled+=nframes; + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { + mainw->audio_frame_buffer->samples_filled += nframes; pthread_mutex_unlock(&mainw->abuf_frame_mutex); } - jackd->is_silent=TRUE; + jackd->is_silent = TRUE; // external streaming - rbytes=nframes*jackd->num_output_channels*2; + rbytes = nframes * jackd->num_output_channels * 2; check_zero_buff(rbytes); - audio_stream(zero_buff,rbytes,jackd->astream_fd); + audio_stream(zero_buff, rbytes, jackd->astream_fd); /* if we were told to reset then zero out some variables */ /* and transition to STOPPED */ @@ -1008,28 +1008,28 @@ // go away until the app has started up properly if (mainw->go_away) { - if (state==JackTransportStopped) mainw->jack_can_start=TRUE; - else mainw->jack_can_start=mainw->jack_can_stop=FALSE; + if (state == JackTransportStopped) mainw->jack_can_start = TRUE; + else mainw->jack_can_start = mainw->jack_can_stop = FALSE; return TRUE; } - if (!(prefs->jack_opts&JACK_OPTS_TRANSPORT_CLIENT)) return TRUE; + if (!(prefs->jack_opts & JACK_OPTS_TRANSPORT_CLIENT)) return TRUE; - if (jack_transport_client==NULL) return TRUE; + if (jack_transport_client == NULL) return TRUE; - if (state!=JackTransportStarting) return TRUE; + if (state != JackTransportStarting) return TRUE; // work around a bug in jack //seek_ready=mainw->video_seek_ready; - seek_ready=TRUE; + seek_ready = TRUE; - if (mainw->playing_file!=-1&&prefs->jack_opts&JACK_OPTS_TIMEBASE_CLIENT) { + if (mainw->playing_file != -1 && prefs->jack_opts & JACK_OPTS_TIMEBASE_CLIENT) { // trigger audio resync - if (mainw->scratch==SCRATCH_NONE) mainw->scratch=SCRATCH_JUMP; + if (mainw->scratch == SCRATCH_NONE) mainw->scratch = SCRATCH_JUMP; } // reset for next seek - if (seek_ready) mainw->video_seek_ready=FALSE; + if (seek_ready) mainw->video_seek_ready = FALSE; return seek_ready; @@ -1040,35 +1040,35 @@ double out_scale, boolean rev_endian, boolean out_unsigned, size_t rbytes) { int frames_out; - void *holding_buff=lives_try_malloc(rbytes); + void *holding_buff = lives_try_malloc(rbytes); - lives_clip_t *ofile=mainw->files[ofileno]; + lives_clip_t *ofile = mainw->files[ofileno]; - size_t bytes=0; + size_t bytes = 0; if (!holding_buff) return 0; - frames_out=sample_move_float_int((void *)holding_buff,in_buffer,nframes,out_scale,ofile->achans, - ofile->asampsize,out_unsigned,rev_endian,FALSE,1.); + frames_out = sample_move_float_int((void *)holding_buff, in_buffer, nframes, out_scale, ofile->achans, + ofile->asampsize, out_unsigned, rev_endian, FALSE, 1.); - if (mainw->rec_samples>0) { - if (frames_out>mainw->rec_samples) frames_out=mainw->rec_samples; - mainw->rec_samples-=frames_out; + if (mainw->rec_samples > 0) { + if (frames_out > mainw->rec_samples) frames_out = mainw->rec_samples; + mainw->rec_samples -= frames_out; } - if (mainw->bad_aud_file==NULL) { - size_t target=frames_out*(ofile->asampsize/8)*ofile->achans; + if (mainw->bad_aud_file == NULL) { + size_t target = frames_out * (ofile->asampsize / 8) * ofile->achans; // use write not lives_write - because of potential threading issues - bytes=write(mainw->aud_rec_fd,holding_buff,target); - if (bytes>0) { - mainw->aud_data_written+=bytes; - if (mainw->ascrap_file!=-1&&mainw->files[mainw->ascrap_file]!=NULL&&mainw->aud_rec_fd==mainw->files[mainw->ascrap_file]->cb_src) + bytes = write(mainw->aud_rec_fd, holding_buff, target); + if (bytes > 0) { + mainw->aud_data_written += bytes; + if (mainw->ascrap_file != -1 && mainw->files[mainw->ascrap_file] != NULL && mainw->aud_rec_fd == mainw->files[mainw->ascrap_file]->cb_src) add_to_ascrap_mb(bytes); - if (mainw->aud_data_written>AUD_WRITTEN_CHECK) { - mainw->aud_data_written=0; + if (mainw->aud_data_written > AUD_WRITTEN_CHECK) { + mainw->aud_data_written = 0; check_for_disk_space(); } - if (bytes<target) mainw->bad_aud_file=filename_from_fd(NULL,mainw->aud_rec_fd); + if (bytes < target) mainw->bad_aud_file = filename_from_fd(NULL, mainw->aud_rec_fd); } } @@ -1094,67 +1094,67 @@ if (!jackd->in_use) return 0; - if (mainw->playing_file<0&&prefs->audio_src==AUDIO_SRC_EXT) return 0; + if (mainw->playing_file < 0 && prefs->audio_src == AUDIO_SRC_EXT) return 0; if (mainw->effects_paused) return 0; // pause during record - if (mainw->rec_samples==0) return 0; // wrote enough already, return until main thread stop + if (mainw->rec_samples == 0) return 0; // wrote enough already, return until main thread stop - for (i=0; i<jackd->num_input_channels; i++) { + for (i = 0; i < jackd->num_input_channels; i++) { in_buffer[i] = (float *) jack_port_get_buffer(jackd->input_port[i], nframes); } - jackd->frames_written+=nframes; + jackd->frames_written += nframes; - if (prefs->audio_src==AUDIO_SRC_EXT&&(jackd->playing_file==-1||jackd->playing_file==mainw->ascrap_file)) { + if (prefs->audio_src == AUDIO_SRC_EXT && (jackd->playing_file == -1 || jackd->playing_file == mainw->ascrap_file)) { // TODO - dont apply filters when doing ext window grab, or voiceover // in this case we read external audio, but maybe not record it // we may wish to analyse the audio for example, or push it to a video generator if (has_audio_filters(AF_TYPE_A)) { - uint64_t tc=jackd->audio_ticks+(uint64_t)(jackd->frames_written/(double)jackd->sample_in_rate*U_SEC); + uint64_t tc = jackd->audio_ticks + (uint64_t)(jackd->frames_written / (double)jackd->sample_in_rate * U_SEC); - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src==AUDIO_SRC_EXT) { + if (mainw->audio_frame_buffer != NULL && prefs->audio_src == AUDIO_SRC_EXT) { // if we have audio triggered gens., push audio to it pthread_mutex_lock(&mainw->abuf_frame_mutex); - for (i=0; i<jackd->num_input_channels; i++) { - append_to_audio_bufferf(mainw->audio_frame_buffer,in_buffer[i],nframes,i); + for (i = 0; i < jackd->num_input_channels; i++) { + append_to_audio_bufferf(mainw->audio_frame_buffer, in_buffer[i], nframes, i); } - mainw->audio_frame_buffer->samples_filled+=nframes; + mainw->audio_frame_buffer->samples_filled += nframes; pthread_mutex_unlock(&mainw->abuf_frame_mutex); } // apply any audio effects with in_channels and no out_channels - weed_apply_audio_effects_rt(in_buffer,jackd->num_input_channels,nframes,jackd->sample_in_rate,tc,TRUE); + weed_apply_audio_effects_rt(in_buffer, jackd->num_input_channels, nframes, jackd->sample_in_rate, tc, TRUE); } } - if (jackd->playing_file==-1||(mainw->record&&mainw->record_paused)) { + if (jackd->playing_file == -1 || (mainw->record && mainw->record_paused)) { return 0; } - if (jackd->playing_file==-1) out_scale=1.0; // just listening - else out_scale=(float)afile->arate/(float)jackd->sample_in_rate; // recording to ascrap_file + if (jackd->playing_file == -1) out_scale = 1.0; // just listening + else out_scale = (float)afile->arate / (float)jackd->sample_in_rate; // recording to ascrap_file - out_unsigned=afile->signed_endian&AFORM_UNSIGNED; + out_unsigned = afile->signed_endian & AFORM_UNSIGNED; - frames_out=(int64_t)((double)nframes/out_scale+1.); - rbytes=frames_out*afile->achans*afile->asampsize/8; + frames_out = (int64_t)((double)nframes / out_scale + 1.); + rbytes = frames_out * afile->achans * afile->asampsize / 8; - rbytes=audio_read_inner(jackd,in_buffer,jackd->playing_file,nframes,out_scale,jackd->reverse_endian, - out_unsigned,rbytes); + rbytes = audio_read_inner(jackd, in_buffer, jackd->playing_file, nframes, out_scale, jackd->reverse_endian, + out_unsigned, rbytes); - if (mainw->record&&prefs->audio_src==AUDIO_SRC_EXT&&mainw->ascrap_file!=-1&&mainw->playing_file>0) { - mainw->files[mainw->playing_file]->aseek_pos+=rbytes; - if (!mainw->record_paused&&mainw->ascrap_file!=mainw->playing_file) mainw->files[mainw->ascrap_file]->aseek_pos+=rbytes; - jackd->seek_pos+=rbytes; + if (mainw->record && prefs->audio_src == AUDIO_SRC_EXT && mainw->ascrap_file != -1 && mainw->playing_file > 0) { + mainw->files[mainw->playing_file]->aseek_pos += rbytes; + if (!mainw->record_paused && mainw->ascrap_file != mainw->playing_file) mainw->files[mainw->ascrap_file]->aseek_pos += rbytes; + jackd->seek_pos += rbytes; } - if (mainw->rec_samples==0&&mainw->cancelled==CANCEL_NONE) mainw->cancelled=CANCEL_KEEP; // we wrote the required # + if (mainw->rec_samples == 0 && mainw->cancelled == CANCEL_NONE) mainw->cancelled = CANCEL_KEEP; // we wrote the required # return 0; } @@ -1173,7 +1173,7 @@ jackd->client = NULL; /* reset client */ jackd->jackd_died = TRUE; - jackd->msgq=NULL; + jackd->msgq = NULL; lives_printerr("jack shutdown, setting client to 0 and jackd_died to true\n"); lives_printerr("trying to reconnect right now\n"); @@ -1182,18 +1182,18 @@ jack_audio_init(); - mainw->jackd=jack_get_driver(0,TRUE); - mainw->jackd->msgq=NULL; + mainw->jackd = jack_get_driver(0, TRUE); + mainw->jackd->msgq = NULL; - if (mainw->jackd->playing_file!=-1&&afile!=NULL) - jack_audio_seek_bytes(mainw->jackd,mainw->jackd->seek_pos); // at least re-seek to the right place + if (mainw->jackd->playing_file != -1 && afile != NULL) + jack_audio_seek_bytes(mainw->jackd, mainw->jackd->seek_pos); // at least re-seek to the right place } static void jack_reset_driver(jack_driver_t *jackd) { //lives_printerr("resetting jackd->dev_idx(%d)\n", jackd->dev_idx); /* tell the callback that we are to reset, the callback will transition this to STOPPED */ - jackd->state=(jack_transport_state_t)JackTReset; + jackd->state = (jack_transport_state_t)JackTReset; } @@ -1208,15 +1208,15 @@ } jack_reset_driver(jackd); - jackd->client=NULL; + jackd->client = NULL; - jackd->is_active=FALSE; + jackd->is_active = FALSE; /* free up the port strings */ //lives_printerr("freeing up port strings\n"); - if (jackd->jack_port_name_count>1) { - for (i=0; i<jackd->jack_port_name_count; i++) free(jackd->jack_port_name[i]); + if (jackd->jack_port_name_count > 1) { + for (i = 0; i < jackd->jack_port_name_count; i++) free(jackd->jack_port_name[i]); free(jackd->jack_port_name); } } @@ -1225,59 +1225,59 @@ static void jack_error_func(const char *desc) { - lives_printerr("Jack audio error %s\n",desc); + lives_printerr("Jack audio error %s\n", desc); } // create a new client and connect it to jack, connect the ports int jack_open_device(jack_driver_t *jackd) { - const char *client_name="LiVES_audio_out"; - const char *server_name="default"; - jack_options_t options=(jack_options_t)((int)JackServerName|(int)JackNoStartServer); + const char *client_name = "LiVES_audio_out"; + const char *server_name = "default"; + jack_options_t options = (jack_options_t)((int)JackServerName | (int)JackNoStartServer); jack_status_t status; int i; - int64_t ntime=0,stime; + int64_t ntime = 0, stime; if (mainw->aplayer_broken) return 2; - jackd->is_active=FALSE; + jackd->is_active = FALSE; /* set up an error handler */ jack_set_error_function(jack_error_func); - jackd->client=NULL; + jackd->client = NULL; // TODO - use alarm - stime=lives_get_current_ticks(); + stime = lives_get_current_ticks(); - while (jackd->client==NULL&&ntime<LIVES_SHORT_TIMEOUT) { + while (jackd->client == NULL && ntime < LIVES_SHORT_TIMEOUT) { jackd->client = jack_client_open(client_name, options, &status, server_name); lives_usleep(prefs->sleep_time); - ntime=lives_get_current_ticks()-stime; + ntime = lives_get_current_ticks() - stime; } - if (jackd->client==NULL) { + if (jackd->client == NULL) { lives_printerr("jack_client_open() failed, status = 0x%2.0x\n", status); - if (status&JackServerFailed) { + if (status & JackServerFailed) { d_print(_("Unable to connect to JACK server\n")); } return 1; } - if (status&JackNameNotUnique) { - client_name= jack_get_client_name(jackd->client); + if (status & JackNameNotUnique) { + client_name = jack_get_client_name(jackd->client); lives_printerr("unique name `%s' assigned\n", client_name); } - jackd->sample_out_rate=jack_get_sample_rate(jackd->client); + jackd->sample_out_rate = jack_get_sample_rate(jackd->client); //lives_printerr (lives_strdup_printf("engine sample rate: %ld\n",jackd->sample_rate)); - for (i=0; i<jackd->num_output_channels; i++) { + for (i = 0; i < jackd->num_output_channels; i++) { char portname[32]; lives_snprintf(portname, 32, "out_%d", i); @@ -1288,7 +1288,7 @@ JACK_DEFAULT_AUDIO_TYPE, JackPortIsOutput, 0); - if (jackd->output_port[i]==NULL) { + if (jackd->output_port[i] == NULL) { lives_printerr("no more JACK output ports available\n"); return 1; } @@ -1317,36 +1317,36 @@ int jack_open_device_read(jack_driver_t *jackd) { // open a device to read audio from jack - const char *client_name="LiVES_audio_in"; - const char *server_name="default"; - jack_options_t options=(jack_options_t)((int)JackServerName|(int)JackNoStartServer); + const char *client_name = "LiVES_audio_in"; + const char *server_name = "default"; + jack_options_t options = (jack_options_t)((int)JackServerName | (int)JackNoStartServer); jack_status_t status; int i; /* set up an error handler */ jack_set_error_function(jack_error_func); - jackd->client=NULL; - while (jackd->client==NULL) + jackd->client = NULL; + while (jackd->client == NULL) jackd->client = jack_client_open(client_name, options, &status, server_name); - if (jackd->client==NULL) { + if (jackd->client == NULL) { lives_printerr("jack_client_open() failed, status = 0x%2.0x\n", status); - if (status&JackServerFailed) { + if (status & JackServerFailed) { d_print(_("Unable to connect to JACK server\n")); } return 1; } - if (status&JackNameNotUnique) { - client_name= jack_get_client_name(jackd->client); + if (status & JackNameNotUnique) { + client_name = jack_get_client_name(jackd->client); lives_printerr("unique name `%s' assigned\n", client_name); } - jackd->sample_in_rate=jack_get_sample_rate(jackd->client); + jackd->sample_in_rate = jack_get_sample_rate(jackd->client); //lives_printerr (lives_strdup_printf("engine sample rate: %ld\n",jackd->sample_rate)); - for (i=0; i<jackd->num_input_channels; i++) { + for (i = 0; i < jackd->num_input_channels; i++) { char portname[32]; lives_snprintf(portname, 32, "in_%d", i); @@ -1357,7 +1357,7 @@ JACK_DEFAULT_AUDIO_TYPE, JackPortIsInput, 0); - if (jackd->input_port[i]==NULL) { + if (jackd->input_port[i] == NULL) { lives_printerr("no more JACK input ports available\n"); return 1; } @@ -1390,7 +1390,7 @@ int i; const char **ports; - boolean failed=FALSE; + boolean failed = FALSE; if (jackd->is_active) return 0; // already running @@ -1401,30 +1401,30 @@ } // we are looking for input ports to connect to - jackd->jack_port_flags|=JackPortIsInput; + jackd->jack_port_flags |= JackPortIsInput; /* determine how we are to acquire port names */ - if ((jackd->jack_port_name_count==0)||(jackd->jack_port_name_count==1)) { - if (jackd->jack_port_name_count==0) { + if ((jackd->jack_port_name_count == 0) || (jackd->jack_port_name_count == 1)) { + if (jackd->jack_port_name_count == 0) { //lives_printerr("jack_get_ports() passing in NULL/NULL\n"); - ports=jack_get_ports(jackd->client, NULL, NULL, jackd->jack_port_flags); + ports = jack_get_ports(jackd->client, NULL, NULL, jackd->jack_port_flags); } else { //lives_printerr("jack_get_ports() passing in port of '%s'\n", jackd->jack_port_name[0]); - ports=jack_get_ports(jackd->client, jackd->jack_port_name[0], NULL, jackd->jack_port_flags); + ports = jack_get_ports(jackd->client, jackd->jack_port_name[0], NULL, jackd->jack_port_flags); } - if (ports==NULL) { + if (ports == NULL) { lives_printerr("No jack ports available !\n"); return 1; } /* display a trace of the output ports we found */ #ifdef DEBUG_JACK_PORTS - for (i=0; ports[i]; i++) lives_printerr("ports[%d] = '%s'\n",i,ports[i]); + for (i = 0; ports[i]; i++) lives_printerr("ports[%d] = '%s'\n", i, ports[i]); #endif /* see if we have enough ports */ - if (jackd->out_chans_available<jackd->num_output_channels) { + if (jackd->out_chans_available < jackd->num_output_channels) { #ifdef DEBUG_JACK_PORTS lives_printerr("ERR: jack_get_ports() failed to find ports with jack port flags of 0x%lX'\n", jackd->jack_port_flags); #endif @@ -1433,7 +1433,7 @@ /* connect the ports. Note: you can't do this before the client is activated (this may change in the future). */ - for (i=0; i<jackd->num_output_channels; i++) { + for (i = 0; i < jackd->num_output_channels; i++) { #ifdef DEBUG_JACK_PORTS lives_printerr("jack_connect() to port %d('%p')\n", i, jackd->output_port[i]); #endif @@ -1441,16 +1441,16 @@ #ifdef DEBUG_JACK_PORTS lives_printerr("cannot connect to output port %d('%s')\n", i, ports[i]); #endif - failed=TRUE; + failed = TRUE; } } free(ports); /* free the returned array of ports */ } else { - for (i=0; i<jackd->jack_port_name_count; i++) { + for (i = 0; i < jackd->jack_port_name_count; i++) { #ifdef DEBUG_JACK_PORTS lives_printerr("jack_get_ports() portname %d of '%s\n", i, jackd->jack_port_name[i]); #endif - ports=jack_get_ports(jackd->client, jackd->jack_port_name[i], NULL, jackd->jack_port_flags); + ports = jack_get_ports(jackd->client, jackd->jack_port_name[i], NULL, jackd->jack_port_flags); #ifdef DEBUG_JACK_PORTS lives_printerr("ports[%d] = '%s'\n", 0, ports[0]); /* display a trace of the output port we found */ #endif @@ -1467,13 +1467,13 @@ #endif if (jack_connect(jackd->client, jack_port_name(jackd->output_port[i]), ports[0])) { //ERR("cannot connect to output port %d('%s')\n", 0, ports[0]); - failed=TRUE; + failed = TRUE; } free(ports); /* free the returned array of ports */ } } - jackd->is_active=TRUE; + jackd->is_active = TRUE; /* if something failed we need to shut the client down and return 0 */ if (failed) { @@ -1485,9 +1485,9 @@ jackd->jackd_died = FALSE; - jackd->in_use=FALSE; + jackd->in_use = FALSE; - jackd->is_paused=FALSE; + jackd->is_paused = FALSE; d_print(_("Started jack audio subsystem.\n")); @@ -1503,7 +1503,7 @@ // connect driver for reading int i; const char **ports; - boolean failed=FALSE; + boolean failed = FALSE; /* tell the JACK server that we are ready to roll */ if (jack_activate(jackd->client)) { @@ -1511,28 +1511,28 @@ return 1; } - if (!autocon && (prefs->jack_opts&JACK_OPTS_NO_READ_AUTOCON)) goto jackreadactive; + if (!autocon && (prefs->jack_opts & JACK_OPTS_NO_READ_AUTOCON)) goto jackreadactive; // we are looking for input ports to connect to - jackd->jack_port_flags|=JackPortIsOutput; + jackd->jack_port_flags |= JackPortIsOutput; /* determine how we are to acquire port names */ - if ((jackd->jack_port_name_count==0)||(jackd->jack_port_name_count==1)) { - if (jackd->jack_port_name_count==0) { + if ((jackd->jack_port_name_count == 0) || (jackd->jack_port_name_count == 1)) { + if (jackd->jack_port_name_count == 0) { //lives_printerr("jack_get_ports() passing in NULL/NULL\n"); - ports=jack_get_ports(jackd->client, NULL, NULL, jackd->jack_port_flags); + ports = jack_get_ports(jackd->client, NULL, NULL, jackd->jack_port_flags); } else { //lives_printerr("jack_get_ports() passing in port of '%s'\n", jackd->jack_port_name[0]); - ports=jack_get_ports(jackd->client, jackd->jack_port_name[0], NULL, jackd->jack_port_flags); + ports = jack_get_ports(jackd->client, jackd->jack_port_name[0], NULL, jackd->jack_port_flags); } /* display a trace of the output ports we found */ #ifdef DEBUG_JACK_PORTS - for (i=0; ports[i]; i++) lives_printerr("ports[%d] = '%s'\n",i,ports[i]); + for (i = 0; ports[i]; i++) lives_printerr("ports[%d] = '%s'\n", i, ports[i]); #endif /* see if we have enough ports */ - if (jackd->in_chans_available<jackd->num_input_channels) { + if (jackd->in_chans_available < jackd->num_input_channels) { #ifdef DEBUG_JACK_PORTS lives_printerr("ERR: jack_get_ports() failed to find ports with jack port flags of 0x%lX'\n", jackd->jack_port_flags); #endif @@ -1541,7 +1541,7 @@ /* connect the ports. Note: you can't do this before the client is activated (this may change in the future). */ - for (i=0; i<jackd->num_input_channels; i++) { + for (i = 0; i < jackd->num_input_channels; i++) { #ifdef DEBUG_JACK_PORTS lives_printerr("jack_connect() to port name %d('%p')\n", i, jackd->input_port[i]); #endif @@ -1549,16 +1549,16 @@ #ifdef DEBUG_JACK_PORTS lives_printerr("cannot connect to input port %d('%s')\n", i, ports[i]); #endif - failed=TRUE; + failed = TRUE; } } free(ports); /* free the returned array of ports */ } else { - for (i=0; i<jackd->jack_port_name_count; i++) { + for (i = 0; i < jackd->jack_port_name_count; i++) { #ifdef DEBUG_JACK_PORTS lives_printerr("jack_get_ports() portname %d of '%s\n", i, jackd->jack_port_name[i]); #endif - ports=jack_get_ports(jackd->client, jackd->jack_port_name[i], NULL, jackd->jack_port_flags); + ports = jack_get_ports(jackd->client, jackd->jack_port_name[i], NULL, jackd->jack_port_flags); #ifdef DEBUG_JACK_PORTS lives_printerr("ports[%d] = '%s'\n", 0, ports[0]); /* display a trace of the output port we found */ #endif @@ -1575,7 +1575,7 @@ #endif if (jack_connect(jackd->client, ports[0], jack_port_name(jackd->input_port[i]))) { //ERR("cannot connect to output port %d('%s')\n", 0, ports[0]); - failed=TRUE; + failed = TRUE; } free(ports); /* free the returned array of ports */ } @@ -1592,11 +1592,11 @@ jackd->jackd_died = FALSE; - jackd->in_use=FALSE; + jackd->in_use = FALSE; - jackd->is_paused=FALSE; + jackd->is_paused = FALSE; - jackd->audio_ticks=0; + jackd->audio_ticks = 0; d_print(_("Started jack audio reader.\n")); @@ -1620,7 +1620,7 @@ static void jack_reset_dev(int dev_idx, boolean is_output) { - jack_driver_t *jackd = jack_get_driver(dev_idx,is_output); + jack_driver_t *jackd = jack_get_driver(dev_idx, is_output); //lives_printerr("resetting dev %d\n", dev_idx); jack_reset_driver(jackd); } @@ -1628,33 +1628,33 @@ int jack_audio_init(void) { // initialise variables - int i,j; + int i, j; jack_driver_t *jackd; - for (i=0; i<JACK_MAX_OUTDEVICES; i++) { + for (i = 0; i < JACK_MAX_OUTDEVICES; i++) { jackd = &outdev[i]; - jack_reset_dev(i,TRUE); - jackd->dev_idx=i; - jackd->client=NULL; - jackd->in_use=FALSE; - for (j=0; j<JACK_MAX_OUTPUT_PORTS; j++) jackd->volume[j]=1.0f; - jackd->state=(jack_transport_state_t)JackTClosed; - jackd->sample_out_rate=jackd->sample_in_rate=0; - jackd->seek_pos=jackd->seek_end=0; - jackd->msgq=NULL; - jackd->num_calls=0; - jackd->astream_fd=-1; - jackd->jackd_died=FALSE; + jack_reset_dev(i, TRUE); + jackd->dev_idx = i; + jackd->client = NULL; + jackd->in_use = FALSE; + for (j = 0; j < JACK_MAX_OUTPUT_PORTS; j++) jackd->volume[j] = 1.0f; + jackd->state = (jack_transport_state_t)JackTClosed; + jackd->sample_out_rate = jackd->sample_in_rate = 0; + jackd->seek_pos = jackd->seek_end = 0; + jackd->msgq = NULL; + jackd->num_calls = 0; + jackd->astream_fd = -1; + jackd->jackd_died = FALSE; gettimeofday(&jackd->last_reconnect_attempt, 0); - jackd->num_output_channels=2; - jackd->play_when_stopped=FALSE; - jackd->mute=FALSE; - jackd->is_silent=FALSE; - jackd->out_chans_available=0; - jackd->is_output=TRUE; - jackd->read_abuf=-1; - jackd->playing_file=-1; - jackd->frames_written=0; + jackd->num_output_channels = 2; + jackd->play_when_stopped = FALSE; + jackd->mute = FALSE; + jackd->is_silent = FALSE; + jackd->out_chans_available = 0; + jackd->is_output = TRUE; + jackd->read_abuf = -1; + jackd->playing_file = -1; + jackd->frames_written = 0; } return 0; } @@ -1662,30 +1662,30 @@ int jack_audio_read_init(void) { - int i,j; + int i, j; jack_driver_t *jackd; - for (i=0; i<JACK_MAX_INDEVICES; i++) { + for (i = 0; i < JACK_MAX_INDEVICES; i++) { jackd = &indev[i]; - jack_reset_dev(i,FALSE); - jackd->dev_idx=i; - jackd->client=NULL; - jackd->in_use=FALSE; - for (j=0; j<JACK_MAX_INPUT_PORTS; j++) jackd->volume[j]=1.0f; - jackd->state=(jack_transport_state_t)JackTClosed; - jackd->sample_out_rate=jackd->sample_in_rate=0; - jackd->seek_pos=jackd->seek_end=0; - jackd->msgq=NULL; - jackd->num_calls=0; - jackd->astream_fd=-1; - jackd->jackd_died=FALSE; + jack_reset_dev(i, FALSE); + jackd->dev_idx = i; + jackd->client = NULL; + jackd->in_use = FALSE; + for (j = 0; j < JACK_MAX_INPUT_PORTS; j++) jackd->volume[j] = 1.0f; + jackd->state = (jack_transport_state_t)JackTClosed; + jackd->sample_out_rate = jackd->sample_in_rate = 0; + jackd->seek_pos = jackd->seek_end = 0; + jackd->msgq = NULL; + jackd->num_calls = 0; + jackd->astream_fd = -1; + jackd->jackd_died = FALSE; gettimeofday(&jackd->last_reconnect_attempt, 0); - jackd->num_input_channels=2; - jackd->play_when_stopped=FALSE; - jackd->mute=FALSE; - jackd->in_chans_available=0; - jackd->is_output=FALSE; - jackd->frames_written=0; + jackd->num_input_channels = 2; + jackd->play_when_stopped = FALSE; + jackd->mute = FALSE; + jackd->in_chans_available = 0; + jackd->is_output = FALSE; + jackd->frames_written = 0; } return 0; } @@ -1693,42 +1693,42 @@ volatile aserver_message_t *jack_get_msgq(jack_driver_t *jackd) { // force update - "volatile" doesn't seem to work... - char *tmp=lives_strdup_printf("%p %d",jackd->msgq,jackd->jackd_died); + char *tmp = lives_strdup_printf("%p %d", jackd->msgq, jackd->jackd_died); lives_free(tmp); - if (jackd->jackd_died||mainw->aplayer_broken) return NULL; + if (jackd->jackd_died || mainw->aplayer_broken) return NULL; return jackd->msgq; } uint64_t lives_jack_get_time(jack_driver_t *jackd, boolean absolute) { // get the time in ticks since either playback started or since last seek - volatile aserver_message_t *msg=jackd->msgq; + volatile aserver_message_t *msg = jackd->msgq; double frames_written; int64_t xtime; - if (msg!=NULL&&msg->command==ASERVER_CMD_FILE_SEEK) { + if (msg != NULL && msg->command == ASERVER_CMD_FILE_SEEK) { boolean timeout; - int alarm_handle=lives_alarm_set(LIVES_DEFAULT_TIMEOUT); - while (!(timeout=lives_alarm_get(alarm_handle))&&jack_get_msgq(jackd)!=NULL) { + int alarm_handle = lives_alarm_set(LIVES_DEFAULT_TIMEOUT); + while (!(timeout = lives_alarm_get(alarm_handle)) && jack_get_msgq(jackd) != NULL) { sched_yield(); // wait for seek } if (timeout) return -1; lives_alarm_clear(alarm_handle); } - frames_written=jackd->frames_written; - if (frames_written<0.) frames_written=0.; + frames_written = jackd->frames_written; + if (frames_written < 0.) frames_written = 0.; - if (jackd->is_output) xtime = jackd->audio_ticks*absolute+(uint64_t)(frames_written/(double)jackd->sample_out_rate*U_SEC); - else xtime = jackd->audio_ticks*absolute+(uint64_t)(frames_written/(double)jackd->sample_in_rate*U_SEC); + if (jackd->is_output) xtime = jackd->audio_ticks * absolute + (uint64_t)(frames_written / (double)jackd->sample_out_rate * U_SEC); + else xtime = jackd->audio_ticks * absolute + (uint64_t)(frames_written / (double)jackd->sample_in_rate * U_SEC); return xtime; } double lives_jack_get_pos(jack_driver_t *jackd) { // get current time position (seconds) in audio file - return jackd->seek_pos/(double)(afile->arate*afile->achans*afile->asampsize/8); + return jackd->seek_pos / (double)(afile->arate * afile->achans * afile->asampsize / 8); } @@ -1739,24 +1739,24 @@ volatile aserver_message_t *jmsg; int64_t seekstart; - int alarm_handle=lives_alarm_set(LIVES_DEFAULT_TIMEOUT); + int alarm_handle = lives_alarm_set(LIVES_DEFAULT_TIMEOUT); boolean timeout; - if (alarm_handle==-1) return FALSE; + if (alarm_handle == -1) return FALSE; - if (frame<1) frame=1; + if (frame < 1) frame = 1; do { - jmsg=jack_get_msgq(jackd); - } while (!(timeout=lives_alarm_get(alarm_handle))&&jmsg!=NULL&&jmsg->command!=ASERVER_CMD_FILE_SEEK); - if (timeout||jackd->playing_file==-1) { + jmsg = jack_get_msgq(jackd); + } while (!(timeout = lives_alarm_get(alarm_handle)) && jmsg != NULL && jmsg->command != ASERVER_CMD_FILE_SEEK); + if (timeout || jackd->playing_file == -1) { lives_alarm_clear(alarm_handle); return FALSE; } lives_alarm_clear(alarm_handle); - if (frame>afile->frames) frame=afile->frames; - seekstart=(int64_t)((double)(frame-1.)/afile->fps*afile->arate)*afile->achans*(afile->asampsize/8); - jack_audio_seek_bytes(jackd,seekstart); + if (frame > afile->frames) frame = afile->frames; + seekstart = (int64_t)((double)(frame - 1.) / afile->fps * afile->arate) * afile->achans * (afile->asampsize / 8); + jack_audio_seek_bytes(jackd, seekstart); return TRUE; } @@ -1771,34 +1771,34 @@ int64_t seekstart; boolean timeout; - int alarm_handle=lives_alarm_set(LIVES_DEFAULT_TIMEOUT); + int alarm_handle = lives_alarm_set(LIVES_DEFAULT_TIMEOUT); - seek_err=FALSE; + seek_err = FALSE; - if (alarm_handle==-1) { + if (alarm_handle == -1) { LIVES_WARN("Invalid alarm handle"); return 0; } do { - jmsg=jack_get_msgq(jackd); - } while (!(timeout=lives_alarm_get(alarm_handle))&&jmsg!=NULL&&jmsg->command!=ASERVER_CMD_FILE_SEEK); - if (timeout||jackd->playing_file==-1) { + jmsg = jack_get_msgq(jackd); + } while (!(timeout = lives_alarm_get(alarm_handle)) && jmsg != NULL && jmsg->command != ASERVER_CMD_FILE_SEEK); + if (timeout || jackd->playing_file == -1) { lives_alarm_clear(alarm_handle); if (timeout) LIVES_WARN("PA connect timed out"); - seek_err=TRUE; + seek_err = TRUE; return 0; } lives_alarm_clear(alarm_handle); - seekstart=((int64_t)(bytes/afile->achans/(afile->asampsize/8)))*afile->achans*(afile->asampsize/8); + seekstart = ((int64_t)(bytes / afile->achans / (afile->asampsize / 8))) * afile->achans * (afile->asampsize / 8); - if (seekstart<0) seekstart=0; - if (seekstart>afile->afilesize) seekstart=afile->afilesize; - jack_message.command=ASERVER_CMD_FILE_SEEK; - jack_message.next=NULL; - jack_message.data=lives_strdup_printf("%ld",seekstart); - jackd->msgq=&jack_message; + if (seekstart < 0) seekstart = 0; + if (seekstart > afile->afilesize) seekstart = afile->afilesize; + jack_message.command = ASERVER_CMD_FILE_SEEK; + jack_message.next = NULL; + jack_message.data = lives_strdup_printf("%ld", seekstart); + jackd->msgq = &jack_message; return seekstart; } @@ -1809,7 +1809,7 @@ jack_audio_init(); jack_audio_read_init(); - mainw->jackd=jack_get_driver(0,TRUE); + mainw->jackd = jack_get_driver(0, TRUE); if (jack_open_device(mainw->jackd)) goto err123; @@ -1817,8 +1817,8 @@ return TRUE; err123: - mainw->aplayer_broken=TRUE; - mainw->jackd=NULL; + mainw->aplayer_broken = TRUE; + mainw->jackd = NULL; do_jack_lost_conn_error(); return FALSE; } @@ -1835,66 +1835,66 @@ // - set vals // called at pb start and rec stop (after rec_ext_audio) - char *tmpfilename=NULL; - lives_clip_t *sfile=mainw->files[fileno]; - int asigned=!(sfile->signed_endian&AFORM_UNSIGNED); - int aendian=!(sfile->signed_endian&AFORM_BIG_ENDIAN); - - if (mainw->jackd!=NULL&&mainw->aud_rec_fd==-1) { - mainw->jackd->is_paused=FALSE; - mainw->jackd->mute=mainw->mute; - if (mainw->loop_cont&&!mainw->preview) { - if (mainw->ping_pong&&prefs->audio_opts&AUDIO_OPTS_FOLLOW_FPS&&mainw->multitrack==NULL) - mainw->jackd->loop=AUDIO_LOOP_PINGPONG; - else mainw->jackd->loop=AUDIO_LOOP_FORWARD; - } else mainw->jackd->loop=AUDIO_LOOP_NONE; - if (sfile->achans>0&&(!mainw->preview||(mainw->preview&&mainw->is_processing))&& - (sfile->laudio_time>0.||sfile->opening|| - (mainw->multitrack!=NULL&&mainw->multitrack->is_rendering&& - lives_file_test((tmpfilename=lives_build_filename(prefs->workdir,sfile->handle,"audio",NULL)), + char *tmpfilename = NULL; + lives_clip_t *sfile = mainw->files[fileno]; + int asigned = !(sfile->signed_endian & AFORM_UNSIGNED); + int aendian = !(sfile->signed_endian & AFORM_BIG_ENDIAN); + + if (mainw->jackd != NULL && mainw->aud_rec_fd == -1) { + mainw->jackd->is_paused = FALSE; + mainw->jackd->mute = mainw->mute; + if (mainw->loop_cont && !mainw->preview) { + if (mainw->ping_pong && prefs->audio_opts & AUDIO_OPTS_FOLLOW_FPS && mainw->multitrack == NULL) + mainw->jackd->loop = AUDIO_LOOP_PINGPONG; + else mainw->jackd->loop = AUDIO_LOOP_FORWARD; + } else mainw->jackd->loop = AUDIO_LOOP_NONE; + if (sfile->achans > 0 && (!mainw->preview || (mainw->preview && mainw->is_processing)) && + (sfile->laudio_time > 0. || sfile->opening || + (mainw->multitrack != NULL && mainw->multitrack->is_rendering && + lives_file_test((tmpfilename = lives_build_filename(prefs->workdir, sfile->handle, "audio", NULL)), LIVES_FILE_TEST_EXISTS)))) { boolean timeout; int alarm_handle; lives_freep((void **)&tmpfilename); - mainw->jackd->num_input_channels=sfile->achans; - mainw->jackd->bytes_per_channel=sfile->asampsize/8; - mainw->jackd->sample_in_rate=sfile->arate; - mainw->jackd->usigned=!asigned; - mainw->jackd->seek_end=sfile->afilesize; - - if ((aendian&&(capable->byte_order==LIVES_BIG_ENDIAN))||(!aendian&&(capable->byte_order==LIVES_LITTLE_ENDIAN))) - mainw->jackd->reverse_endian=TRUE; - else mainw->jackd->reverse_endian=FALSE; - - alarm_handle=lives_alarm_set(LIVES_DEFAULT_TIMEOUT); - while (!(timeout=lives_alarm_get(alarm_handle))&&jack_get_msgq(mainw->jackd)!=NULL) { + mainw->jackd->num_input_channels = sfile->achans; + mainw->jackd->bytes_per_channel = sfile->asampsize / 8; + mainw->jackd->sample_in_rate = sfile->arate; + mainw->jackd->usigned = !asigned; + mainw->jackd->seek_end = sfile->afilesize; + + if ((aendian && (capable->byte_order == LIVES_BIG_ENDIAN)) || (!aendian && (capable->byte_order == LIVES_LITTLE_ENDIAN))) + mainw->jackd->reverse_endian = TRUE; + else mainw->jackd->reverse_endian = FALSE; + + alarm_handle = lives_alarm_set(LIVES_DEFAULT_TIMEOUT); + while (!(timeout = lives_alarm_get(alarm_handle)) && jack_get_msgq(mainw->jackd) != NULL) { sched_yield(); // wait for seek } if (timeout) jack_try_reconnect(); lives_alarm_clear(alarm_handle); - if ((mainw->multitrack==NULL||mainw->multitrack->is_rendering)&& - (mainw->event_list==NULL||mainw->record||(mainw->preview&&mainw->is_processing))) { + if ((mainw->multitrack == NULL || mainw->multitrack->is_rendering) && + (mainw->event_list == NULL || mainw->record || (mainw->preview && mainw->is_processing))) { // tell jack server to open audio file and start playing it - jack_message.command=ASERVER_CMD_FILE_OPEN; - jack_message.data=lives_strdup_printf("%d",fileno); + jack_message.command = ASERVER_CMD_FILE_OPEN; + jack_message.data = lives_strdup_printf("%d", fileno); - jack_message.next=NULL; - mainw->jackd->msgq=&jack_message; + jack_message.next = NULL; + mainw->jackd->msgq = &jack_message; - jack_audio_seek_bytes(mainw->jackd,sfile->aseek_pos); + jack_audio_seek_bytes(mainw->jackd, sfile->aseek_pos); if (seek_err) { - if (jack_try_reconnect()) jack_audio_seek_bytes(mainw->jackd,sfile->aseek_pos); + if (jack_try_reconnect()) jack_audio_seek_bytes(mainw->jackd, sfile->aseek_pos); } - mainw->jackd->in_use=TRUE; - mainw->rec_aclip=fileno; - mainw->rec_avel=sfile->pb_fps/sfile->fps; - mainw->rec_aseek=(double)sfile->aseek_pos/(double)(sfile->arate*sfile->achans*(sfile->asampsize/8)); + mainw->jackd->in_use = TRUE; + mainw->rec_aclip = fileno; + mainw->rec_avel = sfile->pb_fps / sfile->fps; + mainw->rec_aseek = (double)sfile->aseek_pos / (double)(sfile->arate * sfile->achans * (sfile->asampsize / 8)); } } - if (mainw->agen_key!=0&&mainw->multitrack==NULL) mainw->jackd->in_use=TRUE; // audio generator is active + if (mainw->agen_key != 0 && mainw->multitrack == NULL) mainw->jackd->in_use = TRUE; // audio generator is active } }
View file
LiVES-2.8.4.tar.bz2/src/jack.h -> LiVES-2.8.6.tar.bz2/src/jack.h
Changed
@@ -112,7 +112,6 @@ volatile int read_abuf; volatile int astream_fd; - } jack_driver_t;
View file
LiVES-2.8.4.tar.bz2/src/keyboard.c -> LiVES-2.8.6.tar.bz2/src/keyboard.c
Changed
@@ -1,6 +1,6 @@ // keyboard.c // LiVES -// (c) G. Finch 2004 - 2016 <salsaman@gmail.com> +// (c) G. Finch 2004 - 2017 <salsaman+lives@gmail.com> // released under the GNU GPL 3 or later // see file ../COPYING for licensing details @@ -21,7 +21,6 @@ #define NEEDS_TRANSLATION 1<<15 - #ifdef ENABLE_OSC #include "omc-learn.h" #endif @@ -40,31 +39,31 @@ #ifdef OMC_JS_IMPL if (mainw->ext_cntl[EXT_CNTL_JS]) { - char *string=js_mangle(); - if (string!=NULL) { - omc_process_string(OMC_JS,string,FALSE,NULL); + char *string = js_mangle(); + if (string != NULL) { + omc_process_string(OMC_JS, string, FALSE, NULL); lives_free(string); - string=NULL; + string = NULL; } } #endif // OMC_JS_IMPL #ifdef OMC_MIDI_IMPL - midi_check_rate=prefs->midi_check_rate; + midi_check_rate = prefs->midi_check_rate; #ifdef ALSA_MIDI - if (prefs->use_alsa_midi) midi_check_rate=1; // because we loop for events in midi_mangle() + if (prefs->use_alsa_midi) midi_check_rate = 1; // because we loop for events in midi_mangle() #endif if (mainw->ext_cntl[EXT_CNTL_MIDI]) { do { - gotone=FALSE; - for (i=0; i<midi_check_rate; i++) { - char *string=midi_mangle(); - if (string!=NULL) { - omc_process_string(OMC_MIDI,string,FALSE,NULL); + gotone = FALSE; + for (i = 0; i < midi_check_rate; i++) { + char *string = midi_mangle(); + if (string != NULL) { + omc_process_string(OMC_MIDI, string, FALSE, NULL); lives_free(string); - string=NULL; + string = NULL; #ifdef ALSA_MIDI - if (prefs->use_alsa_midi) gotone=TRUE; + if (prefs->use_alsa_midi) gotone = TRUE; #endif } } @@ -73,7 +72,6 @@ #endif // OMC_MIDI_IMPL } - #endif @@ -82,9 +80,9 @@ if (mainw->is_exiting) return FALSE; if (mainw->kb_timer_end) { - mainw->kb_timer_end=FALSE; -#if GTK_CHECK_VERSION(3,0,0) - // below 3,0,0 the timer is removed by a function + mainw->kb_timer_end = FALSE; +#if GTK_CHECK_VERSION(3, 0, 0) + // below 3, 0, 0 the timer is removed by a function return FALSE; #endif } @@ -112,7 +110,7 @@ #if defined HAVE_X11 || defined IS_MINGW LiVESFilterReturn filter_func(LiVESXXEvent *xevent, LiVESXEvent *event, livespointer data) { // filter events at X11 level and act on key press/release - uint32_t modifiers=0; + uint32_t modifiers = 0; uint32_t key; @@ -124,7 +122,7 @@ #ifndef IS_MINGW // seems to broken in some cases - X does not send keypress/keyrelease events - XEvent *xev=(XEvent *)xevent; + XEvent *xev = (XEvent *)xevent; //g_print("t is %d\n",xev->type); @@ -133,21 +131,21 @@ key = xev->xkey.state; modifiers = xev->xkey.state; - modifiers = (lives_accelerator_get_default_mod_mask() & modifiers)|NEEDS_TRANSLATION; + modifiers = (lives_accelerator_get_default_mod_mask() & modifiers) | NEEDS_TRANSLATION; // key down - if (xev->type==LIVES_XEVENT_TYPE_KEYPRESS) return pl_key_function(TRUE,key,modifiers)?LIVES_FILTER_REMOVE:LIVES_FILTER_CONTINUE; + if (xev->type == LIVES_XEVENT_TYPE_KEYPRESS) return pl_key_function(TRUE, key, modifiers) ? LIVES_FILTER_REMOVE : LIVES_FILTER_CONTINUE; // key up - return pl_key_function(FALSE,key,modifiers)?LIVES_FILTER_REMOVE:LIVES_FILTER_CONTINUE; + return pl_key_function(FALSE, key, modifiers) ? LIVES_FILTER_REMOVE : LIVES_FILTER_CONTINUE; #else // windows uses MSGs - PMSG msg=(PMSG)xevent; + PMSG msg = (PMSG)xevent; uint16_t key; #define KEY_DOWN(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000) ? 1 : 0) - if (msg->message!=WM_KEYDOWN && msg->message!=WM_KEYUP) return LIVES_FILTER_CONTINUE; + if (msg->message != WM_KEYDOWN && msg->message != WM_KEYUP) return LIVES_FILTER_CONTINUE; if (KEY_DOWN(VK_CONTROL)) modifiers |= LIVES_CONTROL_MASK; @@ -162,25 +160,25 @@ switch (key) { case VK_LEFT: - key=LIVES_KEY_Left; + key = LIVES_KEY_Left; break; case VK_RIGHT: - key=LIVES_KEY_Right; + key = LIVES_KEY_Right; break; case VK_UP: - key=LIVES_KEY_Up; + key = LIVES_KEY_Up; break; case VK_DOWN: - key=LIVES_KEY_Down; + key = LIVES_KEY_Down; break; default: break; } - if (msg->message==WM_KEYDOWN) return pl_key_function(TRUE,key,modifiers)? - LIVES_FILTER_REMOVE:LIVES_FILTER_CONTINUE; + if (msg->message == WM_KEYDOWN) return pl_key_function(TRUE, key, modifiers) ? + LIVES_FILTER_REMOVE : LIVES_FILTER_CONTINUE; - return pl_key_function(FALSE,key,modifiers)?LIVES_FILTER_REMOVE:LIVES_FILTER_CONTINUE; + return pl_key_function(FALSE, key, modifiers) ? LIVES_FILTER_REMOVE : LIVES_FILTER_CONTINUE; #endif @@ -195,30 +193,25 @@ #endif - - boolean key_press_or_release(LiVESWidget *widget, LiVESXEventKey *event, livespointer user_data) { - return pl_key_function(event->type==LIVES_KEY_PRESS,event->keyval,event->state); + return pl_key_function(event->type == LIVES_KEY_PRESS, event->keyval, event->state); } - void handle_cached_keys(void) { // smooth out auto repeat for VJ scratch keys - static int last_kb_time=0,current_kb_time; + static int last_kb_time = 0, current_kb_time; - current_kb_time=mainw->currticks*(1000/U_SEC_RATIO); + current_kb_time = mainw->currticks * (1000 / U_SEC_RATIO); - if (cached_key&¤t_kb_time-last_kb_time>KEY_RPT_INTERVAL*10) { - last_kb_time=current_kb_time; - lives_accel_groups_activate(LIVES_WIDGET_OBJECT(mainw->LiVES),(uint32_t)cached_key, (LiVESXModifierType)cached_mod); + if (cached_key && current_kb_time - last_kb_time > KEY_RPT_INTERVAL * 10) { + last_kb_time = current_kb_time; + lives_accel_groups_activate(LIVES_WIDGET_OBJECT(mainw->LiVES), (uint32_t)cached_key, (LiVESXModifierType)cached_mod); } - } - boolean pl_key_function(boolean down, uint16_t unicode, uint16_t keymod) { // translate key events // plugins can also call this with a unicode key to pass key events to LiVES @@ -229,177 +222,174 @@ // down is a press, up is a release - if (!down) { // up... - if (keymod&NEEDS_TRANSLATION) { + if (keymod & NEEDS_TRANSLATION) { switch (unicode) { // some keys need translating when a modifier is held down case (key_left) : case (key_left2): - if (cached_key==LIVES_KEY_Left) cached_key=0; + if (cached_key == LIVES_KEY_Left) cached_key = 0; return FALSE; case (key_right) : case (key_right2): - if (cached_key==LIVES_KEY_Right) cached_key=0; + if (cached_key == LIVES_KEY_Right) cached_key = 0; return FALSE; case (key_up) : case (key_up2): - if (cached_key==LIVES_KEY_Up) cached_key=0; + if (cached_key == LIVES_KEY_Up) cached_key = 0; return FALSE; case (key_down) : case (key_down2): - if (cached_key==LIVES_KEY_Down) cached_key=0; + if (cached_key == LIVES_KEY_Down) cached_key = 0; return FALSE; } } else { - if (cached_key==unicode) cached_key=0; + if (cached_key == unicode) cached_key = 0; } } // translate hardware code into gdk keyval, and call any accelerators - if (down&&(keymod&NEEDS_TRANSLATION)) { + if (down && (keymod & NEEDS_TRANSLATION)) { switch (unicode) { // some keys need translating when a modifier is held down case (65) : - unicode=LIVES_KEY_Space; + unicode = LIVES_KEY_Space; break; case (22) : - unicode=LIVES_KEY_BackSpace; + unicode = LIVES_KEY_BackSpace; break; case (36) : - unicode=LIVES_KEY_Return; + unicode = LIVES_KEY_Return; break; case (24) : - unicode=LIVES_KEY_q; + unicode = LIVES_KEY_q; break; case (10) : - unicode=LIVES_KEY_1; + unicode = LIVES_KEY_1; break; case (11) : - unicode=LIVES_KEY_2; + unicode = LIVES_KEY_2; break; case (12) : - unicode=LIVES_KEY_3; + unicode = LIVES_KEY_3; break; case (13) : - unicode=LIVES_KEY_4; + unicode = LIVES_KEY_4; break; case (14) : - unicode=LIVES_KEY_5; + unicode = LIVES_KEY_5; break; case (15) : - unicode=LIVES_KEY_6; + unicode = LIVES_KEY_6; break; case (16) : - unicode=LIVES_KEY_7; + unicode = LIVES_KEY_7; break; case (17) : - unicode=LIVES_KEY_8; + unicode = LIVES_KEY_8; break; case (18) : - unicode=LIVES_KEY_9; + unicode = LIVES_KEY_9; break; case (19) : - unicode=LIVES_KEY_0; + unicode = LIVES_KEY_0; break; case (67) : - unicode=LIVES_KEY_F1; + unicode = LIVES_KEY_F1; break; case (68) : - unicode=LIVES_KEY_F2; + unicode = LIVES_KEY_F2; break; case (69) : - unicode=LIVES_KEY_F3; + unicode = LIVES_KEY_F3; break; case (70) : - unicode=LIVES_KEY_F4; + unicode = LIVES_KEY_F4; break; case (71) : - unicode=LIVES_KEY_F5; + unicode = LIVES_KEY_F5; break; case (72) : - unicode=LIVES_KEY_F6; + unicode = LIVES_KEY_F6; break; case (73) : - unicode=LIVES_KEY_F7; + unicode = LIVES_KEY_F7; break; case (74) : - unicode=LIVES_KEY_F8; + unicode = LIVES_KEY_F8; break; case (75) : - unicode=LIVES_KEY_F9; + unicode = LIVES_KEY_F9; break; case (76) : - unicode=LIVES_KEY_F10; + unicode = LIVES_KEY_F10; break; case (95) : - unicode=LIVES_KEY_F11; + unicode = LIVES_KEY_F11; break; case (96) : - unicode=LIVES_KEY_F12; + unicode = LIVES_KEY_F12; break; case (99) : case (112) : - unicode=LIVES_KEY_Page_Up; + unicode = LIVES_KEY_Page_Up; break; case (105) : case (117) : - unicode=LIVES_KEY_Page_Down; + unicode = LIVES_KEY_Page_Down; break; // auto repeat keys case (key_left) : case (key_left2): - unicode=LIVES_KEY_Left; + unicode = LIVES_KEY_Left; break; case (key_right) : case (key_right2): - unicode=LIVES_KEY_Right; + unicode = LIVES_KEY_Right; break; case (key_up) : case (key_up2): - unicode=LIVES_KEY_Up; + unicode = LIVES_KEY_Up; break; case (key_down) : case (key_down2): - unicode=LIVES_KEY_Down; + unicode = LIVES_KEY_Down; break; - } } - if (down&&(unicode==LIVES_KEY_Left||unicode==LIVES_KEY_Right||unicode==LIVES_KEY_Up||unicode==LIVES_KEY_Down)&& - (keymod&LIVES_CONTROL_MASK)) { - cached_key=unicode; - cached_mod=LIVES_CONTROL_MASK; + if (down && (unicode == LIVES_KEY_Left || unicode == LIVES_KEY_Right || unicode == LIVES_KEY_Up || unicode == LIVES_KEY_Down) && + (keymod & LIVES_CONTROL_MASK)) { + cached_key = unicode; + cached_mod = LIVES_CONTROL_MASK; } - - if (mainw->rte_textparm!=NULL&&(keymod==0||keymod==LIVES_SHIFT_MASK||keymod==LIVES_LOCK_MASK)) { - if (unicode==LIVES_KEY_Return||unicode==13) unicode='\n'; // CR - if (unicode==LIVES_KEY_BackSpace) unicode=8; // bs - if (unicode==LIVES_KEY_Tab||unicode==9) mainw->rte_textparm=NULL; - else if (unicode>0&&unicode<256) { + if (mainw->rte_textparm != NULL && (keymod == 0 || keymod == LIVES_SHIFT_MASK || keymod == LIVES_LOCK_MASK)) { + if (unicode == LIVES_KEY_Return || unicode == 13) unicode = '\n'; // CR + if (unicode == LIVES_KEY_BackSpace) unicode = 8; // bs + if (unicode == LIVES_KEY_Tab || unicode == 9) mainw->rte_textparm = NULL; + else if (unicode > 0 && unicode < 256) { if (down) { weed_plant_t *inst; - int param_number,copyto; + int param_number, copyto; int error; char *nval; - char *cval=weed_get_string_value(mainw->rte_textparm,WEED_LEAF_VALUE,&error); - if (unicode==8&&strlen(cval)>0) { - memset(cval+strlen(cval)-1,0,1); // delete 1 char - nval=lives_strdup(cval); - } else nval=lives_strdup_printf("%s%c",cval,(unsigned char)unicode); // append 1 char + char *cval = weed_get_string_value(mainw->rte_textparm, WEED_LEAF_VALUE, &error); + if (unicode == 8 && strlen(cval) > 0) { + memset(cval + strlen(cval) - 1, 0, 1); // delete 1 char + nval = lives_strdup(cval); + } else nval = lives_strdup_printf("%s%c", cval, (unsigned char)unicode); // append 1 char lives_free(cval); - weed_set_string_value(mainw->rte_textparm,WEED_LEAF_VALUE,nval); - inst=weed_get_plantptr_value(mainw->rte_textparm,WEED_LEAF_HOST_INSTANCE,&error); - param_number=weed_get_int_value(mainw->rte_textparm,WEED_LEAF_HOST_IDX,&error); - copyto=set_copy_to(inst,param_number,TRUE); - if (mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)) { + weed_set_string_value(mainw->rte_textparm, WEED_LEAF_VALUE, nval); + inst = weed_get_plantptr_value(mainw->rte_textparm, WEED_LEAF_HOST_INSTANCE, &error); + param_number = weed_get_int_value(mainw->rte_textparm, WEED_LEAF_HOST_IDX, &error); + copyto = set_copy_to(inst, param_number, TRUE); + if (mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change(inst,param_number); - if (copyto!=-1) rec_param_change(inst,copyto); + rec_param_change(inst, param_number); + if (copyto != -1) rec_param_change(inst, copyto); } lives_free(nval); } @@ -408,87 +398,95 @@ } return FALSE; - } // key callback functions - ones which have keys and need wrappers - boolean slower_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { - - on_slower_pressed(NULL,user_data); + on_slower_pressed(NULL, user_data); return TRUE; } -boolean faster_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { - on_faster_pressed(NULL,user_data); +boolean faster_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { + on_faster_pressed(NULL, user_data); return TRUE; } -boolean skip_back_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { - on_back_pressed(NULL,user_data); +boolean skip_back_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { + on_back_pressed(NULL, user_data); return TRUE; } -boolean skip_forward_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { - on_forward_pressed(NULL,user_data); +boolean skip_forward_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { + on_forward_pressed(NULL, user_data); return TRUE; } + boolean stop_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { - on_stop_activate(NULL,NULL); + on_stop_activate(NULL, NULL); return TRUE; } + boolean fullscreen_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { - on_full_screen_pressed(NULL,NULL); + on_full_screen_pressed(NULL, NULL); return TRUE; } + boolean sepwin_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { - on_sepwin_pressed(NULL,NULL); + on_sepwin_pressed(NULL, NULL); return TRUE; } + boolean loop_cont_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { - on_loop_button_activate(NULL,NULL); + on_loop_button_activate(NULL, NULL); return TRUE; } + boolean ping_pong_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { - on_ping_pong_activate(NULL,NULL); + on_ping_pong_activate(NULL, NULL); return TRUE; } + boolean fade_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { - on_fade_pressed(NULL,NULL); + on_fade_pressed(NULL, NULL); return TRUE; } + boolean showfct_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->showfct),!prefs->show_framecount); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->showfct), !prefs->show_framecount); return TRUE; } + boolean showsubs_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->showsubs),!prefs->show_subtitles); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->showsubs), !prefs->show_subtitles); return TRUE; } + boolean loop_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->loop_video),!mainw->loop); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->loop_video), !mainw->loop); return TRUE; } + boolean dblsize_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { - on_double_size_pressed(NULL,NULL); + on_double_size_pressed(NULL, NULL); return TRUE; } + boolean rec_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->record_perf), !lives_check_menu_item_get_active(LIVES_CHECK_MENU_ITEM(mainw->record_perf)));
View file
LiVES-2.8.4.tar.bz2/src/lbindings.c -> LiVES-2.8.6.tar.bz2/src/lbindings.c
Changed
@@ -126,6 +126,7 @@ // i, i // int pref ulong id; + char *prefidx; int integ; int val; } iipref; @@ -168,7 +169,7 @@ int padup(char **str, int arglen) { int newlen = pad4(arglen); char *ostr = *str; - *str = (char *)lives_calloc(1,newlen); + *str = (char *)lives_calloc(1, newlen); lives_memcpy(*str, ostr, arglen); lives_free(ostr); return newlen; @@ -178,13 +179,13 @@ int add_int_arg(char **str, int arglen, int val) { int newlen = arglen + 4; char *ostr = *str; - *str = (char *)lives_calloc(1,newlen); + *str = (char *)lives_calloc(1, newlen); lives_memcpy(*str, ostr, arglen); if (!IS_BIG_ENDIAN) { - (*str)[arglen] = (unsigned char)((val&0xFF000000)>>3); - (*str)[arglen+1] = (unsigned char)((val&0x00FF0000)>>2); - (*str)[arglen+2] = (unsigned char)((val&0x0000FF00)>>1); - (*str)[arglen+3] = (unsigned char)(val&0x000000FF); + (*str)[arglen] = (unsigned char)((val & 0xFF000000) >> 3); + (*str)[arglen + 1] = (unsigned char)((val & 0x00FF0000) >> 2); + (*str)[arglen + 2] = (unsigned char)((val & 0x0000FF00) >> 1); + (*str)[arglen + 3] = (unsigned char)(val & 0x000000FF); } else { lives_memcpy(*str + arglen, &val, 4); } @@ -196,7 +197,7 @@ static int add_string_arg(char **str, int arglen, const char *val) { int newlen = arglen + strlen(val) + 1; char *ostr = *str; - *str = (char *)lives_calloc(1,newlen); + *str = (char *)lives_calloc(1, newlen); lives_memcpy(*str, ostr, arglen); lives_memcpy(*str + arglen, val, strlen(val)); lives_free(ostr); @@ -209,24 +210,24 @@ static void ext_caller_return_int(ulong caller_id, int ret) { // this is for the C++ binding - char *msgstring = lives_strdup_printf("%lu %d",caller_id,ret); - if (mainw!=NULL) binding_cb(LIVES_CALLBACK_PRIVATE, msgstring, mainw->id); + char *msgstring = lives_strdup_printf("%lu %d", caller_id, ret); + if (mainw != NULL) binding_cb(LIVES_CALLBACK_PRIVATE, msgstring, mainw->id); lives_free(msgstring); } static void ext_caller_return_ulong(ulong caller_id, ulong ret) { // this is for the C++ binding - char *msgstring = lives_strdup_printf("%lu %lu",caller_id,ret); - if (mainw!=NULL) binding_cb(LIVES_CALLBACK_PRIVATE, msgstring, mainw->id); + char *msgstring = lives_strdup_printf("%lu %lu", caller_id, ret); + if (mainw != NULL) binding_cb(LIVES_CALLBACK_PRIVATE, msgstring, mainw->id); lives_free(msgstring); } static void ext_caller_return_string(ulong caller_id, const char *ret) { // this is for the C++ binding - char *msgstring = lives_strdup_printf("%lu %s",caller_id,ret); - if (mainw!=NULL) binding_cb(LIVES_CALLBACK_PRIVATE, msgstring, mainw->id); + char *msgstring = lives_strdup_printf("%lu %s", caller_id, ret); + if (mainw != NULL) binding_cb(LIVES_CALLBACK_PRIVATE, msgstring, mainw->id); lives_free(msgstring); } @@ -236,22 +237,22 @@ ulong *get_unique_ids(void) { // return array of unique_id (ulong) for all "real" clips - int i=0; - ulong *uids=NULL; + int i = 0; + ulong *uids = NULL; LiVESList *list; - if (mainw!=NULL&&!mainw->go_away) { + if (mainw != NULL && !mainw->go_away) { pthread_mutex_lock(&mainw->clip_list_mutex); - list=mainw->cliplist; - uids=(ulong *)lives_malloc((lives_list_length(mainw->cliplist) + 1)*sizeof(ulong)); - while (list!=NULL) { - int uid=0; - int cnum=LIVES_POINTER_TO_INT(list->data); - if (mainw->files[cnum]!=NULL) uid=mainw->files[cnum]->unique_id; - list=list->next; - if (uid==0) continue; - uids[i++]=uid; + list = mainw->cliplist; + uids = (ulong *)lives_malloc((lives_list_length(mainw->cliplist) + 1) * sizeof(ulong)); + while (list != NULL) { + int uid = 0; + int cnum = LIVES_POINTER_TO_INT(list->data); + if (mainw->files[cnum] != NULL) uid = mainw->files[cnum]->unique_id; + list = list->next; + if (uid == 0) continue; + uids[i++] = uid; } - uids[i]=0; + uids[i] = 0; pthread_mutex_unlock(&mainw->clip_list_mutex); } return uids; @@ -260,16 +261,16 @@ int cnum_for_uid(ulong uid) { LiVESList *list; - if (mainw!=NULL&&!mainw->go_away) { + if (mainw != NULL && !mainw->go_away) { pthread_mutex_lock(&mainw->clip_list_mutex); - list=mainw->cliplist; - while (list!=NULL) { - int cnum=LIVES_POINTER_TO_INT(list->data); - if (mainw->files[cnum]!=NULL && uid==mainw->files[cnum]->unique_id) { + list = mainw->cliplist; + while (list != NULL) { + int cnum = LIVES_POINTER_TO_INT(list->data); + if (mainw->files[cnum] != NULL && uid == mainw->files[cnum]->unique_id) { pthread_mutex_unlock(&mainw->clip_list_mutex); return cnum; } - list=list->next; + list = list->next; } pthread_mutex_unlock(&mainw->clip_list_mutex); } @@ -280,7 +281,7 @@ boolean start_player(void) { boolean ret; int arglen = 1; - char **vargs=(char **)lives_malloc(sizeof(char *)); + char **vargs = (char **)lives_malloc(sizeof(char *)); *vargs = lives_strdup(","); arglen = padup(vargs, arglen); @@ -288,7 +289,7 @@ ret = lives_osc_cb_play(NULL, arglen, (const void *)(*vargs), OSCTT_CurrentTime(), NULL); if (ret) { while (!mainw->error && mainw->playing_file < 0) lives_usleep(prefs->sleep_time); - if (mainw->error) ret=FALSE; + if (mainw->error) ret = FALSE; } lives_free(*vargs); @@ -304,63 +305,63 @@ }; inline int trans_rev(int consta, int a, int b) { - if (consta==a) return b; + if (consta == a) return b; else return consta; } int trans_constant(int consta, int domain) { int nconsta; - if (domain==const_domain_notify) { - nconsta=trans_rev(consta,LIVES_CALLBACK_FRAME_SYNCH,LIVES_OSC_NOTIFY_FRAME_SYNCH); - if (nconsta!=consta) return nconsta; - nconsta=trans_rev(consta,LIVES_CALLBACK_PLAYBACK_STARTED,LIVES_OSC_NOTIFY_PLAYBACK_STARTED); - if (nconsta!=consta) return nconsta; - nconsta=trans_rev(consta,LIVES_CALLBACK_PLAYBACK_STOPPED,LIVES_OSC_NOTIFY_PLAYBACK_STOPPED); - if (nconsta!=consta) return nconsta; - nconsta=trans_rev(consta,LIVES_CALLBACK_PLAYBACK_STOPPED_RD,LIVES_OSC_NOTIFY_PLAYBACK_STOPPED_RD); - if (nconsta!=consta) return nconsta; - nconsta=trans_rev(consta,LIVES_CALLBACK_RECORD_STARTED,LIVES_OSC_NOTIFY_RECORD_STARTED); - if (nconsta!=consta) return nconsta; - nconsta=trans_rev(consta,LIVES_CALLBACK_RECORD_STOPPED,LIVES_OSC_NOTIFY_RECORD_STOPPED); - if (nconsta!=consta) return nconsta; - nconsta=trans_rev(consta,LIVES_CALLBACK_APP_QUIT,LIVES_OSC_NOTIFY_QUIT); - if (nconsta!=consta) return nconsta; - nconsta=trans_rev(consta,LIVES_CALLBACK_CLIP_OPENED,LIVES_OSC_NOTIFY_CLIP_OPENED); - if (nconsta!=consta) return nconsta; - nconsta=trans_rev(consta,LIVES_CALLBACK_CLIP_CLOSED,LIVES_OSC_NOTIFY_CLIP_CLOSED); - if (nconsta!=consta) return nconsta; - nconsta=trans_rev(consta,LIVES_CALLBACK_CLIPSET_OPENED,LIVES_OSC_NOTIFY_CLIPSET_OPENED); - if (nconsta!=consta) return nconsta; - nconsta=trans_rev(consta,LIVES_CALLBACK_CLIPSET_SAVED,LIVES_OSC_NOTIFY_CLIPSET_SAVED); - if (nconsta!=consta) return nconsta; - nconsta=trans_rev(consta,LIVES_CALLBACK_MODE_CHANGED,LIVES_OSC_NOTIFY_MODE_CHANGED); - if (nconsta!=consta) return nconsta; + if (domain == const_domain_notify) { + nconsta = trans_rev(consta, LIVES_CALLBACK_FRAME_SYNCH, LIVES_OSC_NOTIFY_FRAME_SYNCH); + if (nconsta != consta) return nconsta; + nconsta = trans_rev(consta, LIVES_CALLBACK_PLAYBACK_STARTED, LIVES_OSC_NOTIFY_PLAYBACK_STARTED); + if (nconsta != consta) return nconsta; + nconsta = trans_rev(consta, LIVES_CALLBACK_PLAYBACK_STOPPED, LIVES_OSC_NOTIFY_PLAYBACK_STOPPED); + if (nconsta != consta) return nconsta; + nconsta = trans_rev(consta, LIVES_CALLBACK_PLAYBACK_STOPPED_RD, LIVES_OSC_NOTIFY_PLAYBACK_STOPPED_RD); + if (nconsta != consta) return nconsta; + nconsta = trans_rev(consta, LIVES_CALLBACK_RECORD_STARTED, LIVES_OSC_NOTIFY_RECORD_STARTED); + if (nconsta != consta) return nconsta; + nconsta = trans_rev(consta, LIVES_CALLBACK_RECORD_STOPPED, LIVES_OSC_NOTIFY_RECORD_STOPPED); + if (nconsta != consta) return nconsta; + nconsta = trans_rev(consta, LIVES_CALLBACK_APP_QUIT, LIVES_OSC_NOTIFY_QUIT); + if (nconsta != consta) return nconsta; + nconsta = trans_rev(consta, LIVES_CALLBACK_CLIP_OPENED, LIVES_OSC_NOTIFY_CLIP_OPENED); + if (nconsta != consta) return nconsta; + nconsta = trans_rev(consta, LIVES_CALLBACK_CLIP_CLOSED, LIVES_OSC_NOTIFY_CLIP_CLOSED); + if (nconsta != consta) return nconsta; + nconsta = trans_rev(consta, LIVES_CALLBACK_CLIPSET_OPENED, LIVES_OSC_NOTIFY_CLIPSET_OPENED); + if (nconsta != consta) return nconsta; + nconsta = trans_rev(consta, LIVES_CALLBACK_CLIPSET_SAVED, LIVES_OSC_NOTIFY_CLIPSET_SAVED); + if (nconsta != consta) return nconsta; + nconsta = trans_rev(consta, LIVES_CALLBACK_MODE_CHANGED, LIVES_OSC_NOTIFY_MODE_CHANGED); + if (nconsta != consta) return nconsta; } - if (domain==const_domain_response) { - if (consta==LIVES_RESPONSE_NONE) return LIVES_DIALOG_RESPONSE_NONE; - if (consta==LIVES_RESPONSE_OK) return LIVES_DIALOG_RESPONSE_OK; - if (consta==LIVES_RESPONSE_CANCEL) return LIVES_DIALOG_RESPONSE_CANCEL; - if (consta==LIVES_RESPONSE_ACCEPT) return LIVES_DIALOG_RESPONSE_ACCEPT; - if (consta==LIVES_RESPONSE_YES) return LIVES_DIALOG_RESPONSE_YES; - if (consta==LIVES_RESPONSE_NO) return LIVES_DIALOG_RESPONSE_NO; + if (domain == const_domain_response) { + if (consta == LIVES_RESPONSE_NONE) return LIVES_DIALOG_RESPONSE_NONE; + if (consta == LIVES_RESPONSE_OK) return LIVES_DIALOG_RESPONSE_OK; + if (consta == LIVES_RESPONSE_CANCEL) return LIVES_DIALOG_RESPONSE_CANCEL; + if (consta == LIVES_RESPONSE_ACCEPT) return LIVES_DIALOG_RESPONSE_ACCEPT; + if (consta == LIVES_RESPONSE_YES) return LIVES_DIALOG_RESPONSE_YES; + if (consta == LIVES_RESPONSE_NO) return LIVES_DIALOG_RESPONSE_NO; // positive values for custom responses - if (consta==LIVES_RESPONSE_INVALID) return LIVES_DIALOG_RESPONSE_INVALID; - if (consta==LIVES_RESPONSE_RETRY) return LIVES_DIALOG_RESPONSE_RETRY; - if (consta==LIVES_RESPONSE_ABORT) return LIVES_DIALOG_RESPONSE_ABORT; - if (consta==LIVES_RESPONSE_RESET) return LIVES_DIALOG_RESPONSE_RESET; - if (consta==LIVES_RESPONSE_SHOW_DETAILS) return LIVES_DIALOG_RESPONSE_SHOW_DETAILS; + if (consta == LIVES_RESPONSE_INVALID) return LIVES_DIALOG_RESPONSE_INVALID; + if (consta == LIVES_RESPONSE_RETRY) return LIVES_DIALOG_RESPONSE_RETRY; + if (consta == LIVES_RESPONSE_ABORT) return LIVES_DIALOG_RESPONSE_ABORT; + if (consta == LIVES_RESPONSE_RESET) return LIVES_DIALOG_RESPONSE_RESET; + if (consta == LIVES_RESPONSE_SHOW_DETAILS) return LIVES_DIALOG_RESPONSE_SHOW_DETAILS; } - if (domain==const_domain_grav) { - if (consta==LIVES_GRAVITY_NORMAL) return GRAV_MODE_NORMAL; - if (consta==LIVES_GRAVITY_LEFT) return GRAV_MODE_LEFT; - if (consta==LIVES_GRAVITY_RIGHT) return GRAV_MODE_RIGHT; + if (domain == const_domain_grav) { + if (consta == LIVES_GRAVITY_NORMAL) return GRAV_MODE_NORMAL; + if (consta == LIVES_GRAVITY_LEFT) return GRAV_MODE_LEFT; + if (consta == LIVES_GRAVITY_RIGHT) return GRAV_MODE_RIGHT; } - if (domain==const_domain_insert_mode) { - if (consta==LIVES_INSERT_MODE_NORMAL) return INSERT_MODE_NORMAL; + if (domain == const_domain_insert_mode) { + if (consta == LIVES_INSERT_MODE_NORMAL) return INSERT_MODE_NORMAL; } return consta; @@ -368,8 +369,8 @@ int get_first_fx_matched(const char *package, const char *fxname, const char *author, int version) { - int *allvals=weed_get_indices_from_template(package,fxname,author,version); - int fval=allvals[0]; + int *allvals = weed_get_indices_from_template(package, fxname, author, version); + int fval = allvals[0]; lives_free(allvals); return fval; } @@ -377,7 +378,7 @@ // 1 based key here int get_num_mapped_modes_for_key(int key) { - return rte_key_getmaxmode(key)+1; + return rte_key_getmaxmode(key) + 1; } @@ -396,7 +397,7 @@ static boolean call_osc_show_info(livespointer text) { // function that is picked up on idle - if (mainw!=NULL&&!mainw->go_away&&!mainw->is_processing) { + if (mainw != NULL && !mainw->go_away && !mainw->is_processing) { do_info_dialog(text); } lives_free(text); @@ -407,13 +408,13 @@ static boolean call_osc_show_blocking_info(livespointer data) { // function that is picked up on idle - int ret=LIVES_RESPONSE_INVALID; + int ret = LIVES_RESPONSE_INVALID; msginfo *minfo = (msginfo *)data; - if (mainw!=NULL&&!mainw->go_away&&!mainw->is_processing) { - ret=do_blocking_info_dialog(minfo->msg); - ret=trans_constant(ret,const_domain_notify); + if (mainw != NULL && !mainw->go_away && !mainw->is_processing) { + ret = do_blocking_info_dialog(minfo->msg); + ret = trans_constant(ret, const_domain_notify); } - ext_caller_return_int(minfo->id,ret); + ext_caller_return_int(minfo->id, ret); lives_free(minfo->msg); lives_free(data); return FALSE; @@ -422,13 +423,13 @@ static boolean call_osc_save_set(livespointer data) { // function that is picked up on idle - boolean ret=FALSE; + boolean ret = FALSE; oscdata *oscd = (oscdata *)data; - if (mainw!=NULL&&!mainw->go_away&&!mainw->is_processing) { - ret=lives_osc_cb_saveset(NULL, oscd->arglen, oscd->vargs, OSCTT_CurrentTime(), NULL); + if (mainw != NULL && !mainw->go_away && !mainw->is_processing) { + ret = lives_osc_cb_saveset(NULL, oscd->arglen, oscd->vargs, OSCTT_CurrentTime(), NULL); } - ext_caller_return_int(oscd->id,(int)ret); - lives_free((char *)*((char **)(oscd->vargs))); + ext_caller_return_int(oscd->id, (int)ret); + lives_free((char *) * ((char **)(oscd->vargs))); lives_free((char **)(oscd->vargs)); lives_free(data); return FALSE; @@ -439,72 +440,72 @@ LiVESWidget *chooser; fprev *fdata = (fprev *)data; - char *fname=NULL,*rstr=NULL; + char *fname = NULL, *rstr = NULL; int preview_type; int response; - if (mainw!=NULL&&!mainw->go_away&&!mainw->is_processing) { - if (fdata->preview_type==LIVES_FILE_CHOOSER_VIDEO_AUDIO) preview_type=LIVES_FILE_SELECTION_VIDEO_AUDIO; - else preview_type=LIVES_FILE_SELECTION_AUDIO_ONLY; - chooser=choose_file_with_preview(fdata->dir, fdata->title, NULL, preview_type); - response=lives_dialog_run(LIVES_DIALOG(chooser)); + if (mainw != NULL && !mainw->go_away && !mainw->is_processing) { + if (fdata->preview_type == LIVES_FILE_CHOOSER_VIDEO_AUDIO) preview_type = LIVES_FILE_SELECTION_VIDEO_AUDIO; + else preview_type = LIVES_FILE_SELECTION_AUDIO_ONLY; + chooser = choose_file_with_preview(fdata->dir, fdata->title, NULL, preview_type); + response = lives_dialog_run(LIVES_DIALOG(chooser)); end_fs_preview(); - mainw->fs_playarea=NULL; + mainw->fs_playarea = NULL; if (response == LIVES_RESPONSE_ACCEPT) { - fname=lives_file_chooser_get_filename(LIVES_FILE_CHOOSER(chooser)); + fname = lives_file_chooser_get_filename(LIVES_FILE_CHOOSER(chooser)); } - if (fname==NULL) fname=lives_strdup(""); + if (fname == NULL) fname = lives_strdup(""); on_filechooser_cancel_clicked(chooser); - if (fdata->dir!=NULL) lives_free(fdata->dir); - if (fdata->title!=NULL) lives_free(fdata->title); + if (fdata->dir != NULL) lives_free(fdata->dir); + if (fdata->title != NULL) lives_free(fdata->title); rstr = lives_strdup_printf("%s %d", fname, mainw->open_deint); } - ext_caller_return_string(fdata->id,rstr); - if (rstr!=NULL) lives_free(rstr); - if (fdata!=NULL) lives_free(fdata); - if (fname!=NULL) free(fname); - if (data!=NULL) lives_free(data); + ext_caller_return_string(fdata->id, rstr); + if (rstr != NULL) lives_free(rstr); + if (fdata != NULL) lives_free(fdata); + if (fname != NULL) free(fname); + if (data != NULL) lives_free(data); return FALSE; } static boolean call_choose_set(livespointer data) { - udata *ud=(udata *)data; - if (mainw!=NULL&&!mainw->was_set&&!mainw->go_away&&!mainw->is_processing) { - char *setname=on_load_set_activate(NULL,(livespointer)1); - if (setname==NULL) setname=lives_strdup(""); - ext_caller_return_string(ud->id,setname); + udata *ud = (udata *)data; + if (mainw != NULL && !mainw->was_set && !mainw->go_away && !mainw->is_processing) { + char *setname = on_load_set_activate(NULL, (livespointer)1); + if (setname == NULL) setname = lives_strdup(""); + ext_caller_return_string(ud->id, setname); lives_free(setname); - } else ext_caller_return_string(ud->id,""); + } else ext_caller_return_string(ud->id, ""); lives_free(data); return FALSE; } static boolean call_set_set_name(livespointer data) { - ulong uid=(ulong)data; - boolean ret=FALSE; + ulong uid = (ulong)data; + boolean ret = FALSE; - if (mainw!=NULL&&!mainw->go_away&&!mainw->is_processing&&mainw->playing_file==-1) { - ret=set_new_set_name(mainw->multitrack); - } else ext_caller_return_int(uid,(int)ret); + if (mainw != NULL && !mainw->go_away && !mainw->is_processing && mainw->playing_file == -1) { + ret = set_new_set_name(mainw->multitrack); + } else ext_caller_return_int(uid, (int)ret); return FALSE; } static boolean call_open_file(livespointer data) { opfidata *opfi = (opfidata *)data; - ulong uid=0l; - if (mainw!=NULL&&!mainw->go_away&&!mainw->is_processing) { - uid=open_file_sel(opfi->fname,opfi->stime,opfi->frames); - if (opfi->fname!=NULL) lives_free(opfi->fname); + ulong uid = 0l; + if (mainw != NULL && !mainw->go_away && !mainw->is_processing) { + uid = open_file_sel(opfi->fname, opfi->stime, opfi->frames); + if (opfi->fname != NULL) lives_free(opfi->fname); } - ext_caller_return_ulong(opfi->id,uid); + ext_caller_return_ulong(opfi->id, uid); lives_free(opfi->fname); lives_free(data); return FALSE; @@ -513,24 +514,24 @@ static boolean call_reload_set(livespointer data) { msginfo *mdata = (msginfo *)data; - boolean resp=FALSE; - if (mainw!=NULL&&!mainw->go_away&&!mainw->is_processing) { - mainw->osc_auto=1; + boolean resp = FALSE; + if (mainw != NULL && !mainw->go_away && !mainw->is_processing) { + mainw->osc_auto = 1; if (!strlen(mdata->msg)) { lives_free(mdata->msg); - mdata->msg=on_load_set_activate(NULL,(livespointer)1); - if (mdata->msg==NULL) mdata->msg=lives_strdup(""); + mdata->msg = on_load_set_activate(NULL, (livespointer)1); + if (mdata->msg == NULL) mdata->msg = lives_strdup(""); } - if (!is_legal_set_name(mdata->msg,TRUE)) { - mainw->osc_auto=0; - resp=FALSE; + if (!is_legal_set_name(mdata->msg, TRUE)) { + mainw->osc_auto = 0; + resp = FALSE; } else { - mainw->osc_auto=0; - resp=reload_set(mdata->msg); + mainw->osc_auto = 0; + resp = reload_set(mdata->msg); } } lives_free(mdata->msg); - ext_caller_return_int(mdata->id,resp); + ext_caller_return_int(mdata->id, resp); lives_free(data); return FALSE; } @@ -538,11 +539,11 @@ static boolean call_set_interactive(livespointer data) { sintdata *sint = (sintdata *)data; - if (mainw!=NULL&&!mainw->go_away) { - mainw->interactive=sint->setting; + if (mainw != NULL && !mainw->go_away) { + mainw->interactive = sint->setting; set_interactive(mainw->interactive); - ext_caller_return_int(sint->id,TRUE); - } else ext_caller_return_int(sint->id,FALSE); + ext_caller_return_int(sint->id, TRUE); + } else ext_caller_return_int(sint->id, FALSE); lives_free(data); return FALSE; } @@ -550,11 +551,11 @@ static boolean call_set_sepwin(livespointer data) { sintdata *sint = (sintdata *)data; - if (mainw!=NULL&&!mainw->go_away) { - if (mainw->sep_win!=sint->setting) - on_sepwin_pressed(NULL,NULL); - ext_caller_return_int(sint->id,TRUE); - } else ext_caller_return_int(sint->id,FALSE); + if (mainw != NULL && !mainw->go_away) { + if (mainw->sep_win != sint->setting) + on_sepwin_pressed(NULL, NULL); + ext_caller_return_int(sint->id, TRUE); + } else ext_caller_return_int(sint->id, FALSE); lives_free(data); return FALSE; } @@ -563,12 +564,12 @@ static boolean call_set_fullscreen(livespointer data) { sintdata *sint = (sintdata *)data; - if (mainw!=NULL&&!mainw->go_away) { - mainw->interactive=sint->setting; - if (mainw->fs!=sint->setting) - on_full_screen_pressed(NULL,NULL); - ext_caller_return_int(sint->id,TRUE); - } else ext_caller_return_int(sint->id,FALSE); + if (mainw != NULL && !mainw->go_away) { + mainw->interactive = sint->setting; + if (mainw->fs != sint->setting) + on_full_screen_pressed(NULL, NULL); + ext_caller_return_int(sint->id, TRUE); + } else ext_caller_return_int(sint->id, FALSE); lives_free(data); return FALSE; } @@ -576,14 +577,14 @@ static boolean call_set_fullscreen_sepwin(livespointer data) { sintdata *sint = (sintdata *)data; - if (mainw!=NULL&&!mainw->go_away) { - mainw->interactive=sint->setting; - if (mainw->sep_win!=sint->setting) - on_sepwin_pressed(NULL,NULL); - if (mainw->fs!=sint->setting) - on_full_screen_pressed(NULL,NULL); - ext_caller_return_int(sint->id,TRUE); - } else ext_caller_return_int(sint->id,FALSE); + if (mainw != NULL && !mainw->go_away) { + mainw->interactive = sint->setting; + if (mainw->sep_win != sint->setting) + on_sepwin_pressed(NULL, NULL); + if (mainw->fs != sint->setting) + on_full_screen_pressed(NULL, NULL); + ext_caller_return_int(sint->id, TRUE); + } else ext_caller_return_int(sint->id, FALSE); lives_free(data); return FALSE; } @@ -591,22 +592,22 @@ static boolean call_set_ping_pong(livespointer data) { sintdata *sint = (sintdata *)data; - if (mainw!=NULL&&!mainw->go_away) { - if (mainw->ping_pong!=sint->setting) - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->loop_ping_pong),!mainw->ping_pong); - ext_caller_return_int(sint->id,TRUE); - } else ext_caller_return_int(sint->id,FALSE); + if (mainw != NULL && !mainw->go_away) { + if (mainw->ping_pong != sint->setting) + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->loop_ping_pong), !mainw->ping_pong); + ext_caller_return_int(sint->id, TRUE); + } else ext_caller_return_int(sint->id, FALSE); lives_free(data); return FALSE; } static boolean call_set_pref_bool(livespointer data) { - bpref *bdata=(bpref *)data; - if (mainw!=NULL&&!mainw->go_away) { + bpref *bdata = (bpref *)data; + if (mainw != NULL && !mainw->go_away) { pref_factory_bool(bdata->prefidx, bdata->val); - ext_caller_return_int(bdata->id,TRUE); - } else ext_caller_return_int(bdata->id,FALSE); + ext_caller_return_int(bdata->id, TRUE); + } else ext_caller_return_int(bdata->id, FALSE); lives_free(bdata->prefidx); lives_free(data); return FALSE; @@ -614,11 +615,11 @@ static boolean call_set_pref_int(livespointer data) { - ipref *idata=(ipref *)data; - if (mainw!=NULL&&!mainw->go_away) { + ipref *idata = (ipref *)data; + if (mainw != NULL && !mainw->go_away) { pref_factory_int(idata->prefidx, idata->val); - ext_caller_return_int(idata->id,TRUE); - } else ext_caller_return_int(idata->id,FALSE); + ext_caller_return_int(idata->id, TRUE); + } else ext_caller_return_int(idata->id, FALSE); lives_free(data); return FALSE; } @@ -626,178 +627,178 @@ static boolean call_set_pref_bitmapped(livespointer data) { - bmpref *bmdata=(bmpref *)data; - if (mainw!=NULL&&!mainw->go_away) { + bmpref *bmdata = (bmpref *)data; + if (mainw != NULL && !mainw->go_away) { pref_factory_bitmapped(bmdata->prefidx, bmdata->bitfield, bmdata->val); - ext_caller_return_int(bmdata->id,TRUE); - } else ext_caller_return_int(bmdata->id,FALSE); + ext_caller_return_int(bmdata->id, TRUE); + } else ext_caller_return_int(bmdata->id, FALSE); lives_free(data); return FALSE; } static boolean call_set_gravity(livespointer data) { - iipref *idata=(iipref *)data; - if (mainw!=NULL&&!mainw->go_away&&mainw->multitrack!=NULL) { - lives_mt_grav_mode_t grav=trans_constant(idata->val,const_domain_grav); - mainw->multitrack->opts.grav_mode=grav; + iipref *idata = (iipref *)data; + if (mainw != NULL && !mainw->go_away && mainw->multitrack != NULL) { + lives_mt_grav_mode_t grav = trans_constant(idata->val, const_domain_grav); + mainw->multitrack->opts.grav_mode = grav; update_grav_mode(mainw->multitrack); - } else ext_caller_return_int(idata->id,FALSE); + } else ext_caller_return_int(idata->id, FALSE); lives_free(idata); return FALSE; } static boolean call_set_insert_mode(livespointer data) { - iipref *idata=(iipref *)data; - if (mainw!=NULL&&!mainw->go_away&&mainw->multitrack!=NULL) { - lives_mt_insert_mode_t mode=trans_constant(idata->val,const_domain_insert_mode); - mainw->multitrack->opts.insert_mode=mode; + iipref *idata = (iipref *)data; + if (mainw != NULL && !mainw->go_away && mainw->multitrack != NULL) { + lives_mt_insert_mode_t mode = trans_constant(idata->val, const_domain_insert_mode); + mainw->multitrack->opts.insert_mode = mode; update_insert_mode(mainw->multitrack); - } else ext_caller_return_int(idata->id,FALSE); + } else ext_caller_return_int(idata->id, FALSE); lives_free(idata); return FALSE; } static boolean call_mt_set_track(livespointer data) { - iipref *idata=(iipref *)data; - if (mainw!=NULL&&!mainw->go_away&&mainw->multitrack!=NULL && (mt_track_is_video(mainw->multitrack, idata->val) + iipref *idata = (iipref *)data; + if (mainw != NULL && !mainw->go_away && mainw->multitrack != NULL && (mt_track_is_video(mainw->multitrack, idata->val) || mt_track_is_audio(mainw->multitrack, idata->val))) { - mainw->multitrack->current_track=idata->val; + mainw->multitrack->current_track = idata->val; track_select(mainw->multitrack); - ext_caller_return_int(idata->id,TRUE); - } else ext_caller_return_int(idata->id,FALSE); + ext_caller_return_int(idata->id, TRUE); + } else ext_caller_return_int(idata->id, FALSE); lives_free(data); return FALSE; } static boolean call_insert_vtrack(livespointer data) { - ibpref *ibdata=(ibpref *)data; - if (mainw!=NULL&&!mainw->go_away&&!mainw->is_processing&&mainw->playing_file==-1&&mainw->multitrack!=NULL) { + ibpref *ibdata = (ibpref *)data; + if (mainw != NULL && !mainw->go_away && !mainw->is_processing && mainw->playing_file == -1 && mainw->multitrack != NULL) { int tnum; - if (!bdata->val) tnum=add_video_track_behind(NULL, mainw->multitrack); - else tnum=add_video_track_front(NULL, mainw->multitrack); - ext_caller_return_int(bdata->id,tnum); - } else ext_caller_return_int(bdata->id,-1); + if (!ibdata->val) tnum = add_video_track_behind(NULL, mainw->multitrack); + else tnum = add_video_track_front(NULL, mainw->multitrack); + ext_caller_return_int(ibdata->id, tnum); + } else ext_caller_return_int(ibdata->id, -1); lives_free(data); return FALSE; } static boolean call_mt_set_track_label(livespointer data) { - lset *ldata=(lset *)data; - if (mainw!=NULL&&!mainw->go_away&&mainw->multitrack!=NULL && (mt_track_is_video(mainw->multitrack, ldata->val) + lset *ldata = (lset *)data; + if (mainw != NULL && !mainw->go_away && mainw->multitrack != NULL && (mt_track_is_video(mainw->multitrack, ldata->val) || mt_track_is_audio(mainw->multitrack, ldata->val))) { - if (ldata->string==NULL) { - int current_track=mainw->multitrack->current_track; - mainw->multitrack->current_track=ldata->val; - on_rename_track_activate(NULL,(livespointer)mainw->multitrack); - mainw->multitrack->current_track=current_track; + if (ldata->string == NULL) { + int current_track = mainw->multitrack->current_track; + mainw->multitrack->current_track = ldata->val; + on_rename_track_activate(NULL, (livespointer)mainw->multitrack); + mainw->multitrack->current_track = current_track; } else { - set_track_label_string(mainw->multitrack,ldata->val,ldata->string); + set_track_label_string(mainw->multitrack, ldata->val, ldata->string); } - ext_caller_return_int(ldata->id,TRUE); - } else ext_caller_return_int(ldata->id,FALSE); - if (ldata->string!=NULL) lives_free(ldata->string); + ext_caller_return_int(ldata->id, TRUE); + } else ext_caller_return_int(ldata->id, FALSE); + if (ldata->string != NULL) lives_free(ldata->string); lives_free(data); return FALSE; } static boolean call_set_if_mode(livespointer data) { - iipref *idata=(iipref *)data; - if (mainw!=NULL&&!mainw->go_away&&!mainw->is_processing) { - if (idata->val==LIVES_INTERFACE_MODE_CLIPEDIT&&mainw->multitrack!=NULL) { - multitrack_delete(mainw->multitrack,FALSE); + iipref *idata = (iipref *)data; + if (mainw != NULL && !mainw->go_away && !mainw->is_processing) { + if (idata->val == LIVES_INTERFACE_MODE_CLIPEDIT && mainw->multitrack != NULL) { + multitrack_delete(mainw->multitrack, FALSE); } - if (idata->val==LIVES_INTERFACE_MODE_MULTITRACK&&mainw->multitrack==NULL) { - on_multitrack_activate(NULL,NULL); - while (mainw->multitrack==NULL || !mainw->multitrack->is_ready) lives_usleep(prefs->sleep_time); + if (idata->val == LIVES_INTERFACE_MODE_MULTITRACK && mainw->multitrack == NULL) { + on_multitrack_activate(NULL, NULL); + while (mainw->multitrack == NULL || !mainw->multitrack->is_ready) lives_usleep(prefs->sleep_time); } - ext_caller_return_int(idata->id,TRUE); - } else ext_caller_return_int(idata->id,FALSE); + ext_caller_return_int(idata->id, TRUE); + } else ext_caller_return_int(idata->id, FALSE); lives_free(data); return FALSE; } static boolean call_switch_clip(livespointer data) { - iipref *idata=(iipref *)data; - if (mainw!=NULL&&!mainw->go_away&&!mainw->is_processing) { - switch_clip(idata->int,idata->val,FALSE); - ext_caller_return_int(idata->id,TRUE); - } else ext_caller_return_int(idata->id,FALSE); + iipref *idata = (iipref *)data; + if (mainw != NULL && !mainw->go_away && !mainw->is_processing) { + switch_clip(idata->integ, idata->val, FALSE); + ext_caller_return_int(idata->id, TRUE); + } else ext_caller_return_int(idata->id, FALSE); lives_free(data); return FALSE; } static boolean call_set_current_time(livespointer data) { - opfidata *idata=(opfidata *)data; - if (mainw!=NULL&&!mainw->go_away&&!mainw->is_processing&&!mainw->preview&&mainw->playing_file==-1) { - if (mainw->multitrack!=NULL) { - if (idata->stime >=0.) { - if (idata->stime>mainw->multitrack->end_secs) set_timeline_end_secs(mainw->multitrack,idata->stime); - mt_tl_move(mainw->multitrack,idata->stime); + opfidata *idata = (opfidata *)data; + if (mainw != NULL && !mainw->go_away && !mainw->is_processing && !mainw->preview && mainw->playing_file == -1) { + if (mainw->multitrack != NULL) { + if (idata->stime >= 0.) { + if (idata->stime > mainw->multitrack->end_secs) set_timeline_end_secs(mainw->multitrack, idata->stime); + mt_tl_move(mainw->multitrack, idata->stime); } } else { - if (mainw->current_file>0 && idata->stime>=0. && idata->stime<=cfile->total_time) { - cfile->pointer_time=idata->stime; - lives_ruler_set_value(LIVES_RULER(mainw->hruler),cfile->pointer_time); + if (mainw->current_file > 0 && idata->stime >= 0. && idata->stime <= cfile->total_time) { + cfile->pointer_time = idata->stime; + lives_ruler_set_value(LIVES_RULER(mainw->hruler), cfile->pointer_time); lives_widget_queue_draw(mainw->hruler); get_play_times(); } } - ext_caller_return_int(idata->id,TRUE); - } else ext_caller_return_int(idata->id,FALSE); + ext_caller_return_int(idata->id, TRUE); + } else ext_caller_return_int(idata->id, FALSE); lives_free(data); return FALSE; } static boolean call_set_current_audio_time(livespointer data) { - opfidata *idata=(opfidata *)data; - if (mainw!=NULL&&!mainw->go_away&&!mainw->is_processing&&!mainw->preview&&mainw->playing_file>0&& - is_realtime_aplayer(prefs->audio_player)&&mainw->multitrack==NULL&&!(mainw->record&&prefs->audio_src==AUDIO_SRC_EXT)&& - idata->stime>=0.&&idata->stime<=cfile->laudio_time) { - resync_audio((int)(idata->stime*cfile->fps+.5)+1); - ext_caller_return_int(idata->id,TRUE); - } else ext_caller_return_int(idata->id,FALSE); + opfidata *idata = (opfidata *)data; + if (mainw != NULL && !mainw->go_away && !mainw->is_processing && !mainw->preview && mainw->playing_file > 0 && + is_realtime_aplayer(prefs->audio_player) && mainw->multitrack == NULL && !(mainw->record && prefs->audio_src == AUDIO_SRC_EXT) && + idata->stime >= 0. && idata->stime <= cfile->laudio_time) { + resync_audio((int)(idata->stime * cfile->fps + .5) + 1); + ext_caller_return_int(idata->id, TRUE); + } else ext_caller_return_int(idata->id, FALSE); lives_free(data); return FALSE; } static boolean call_unmap_effects(livespointer data) { - ulong id=(ulong)data; - if (mainw!=NULL&&!mainw->go_away&&!mainw->is_processing) { - on_clear_all_clicked(NULL,NULL); - ext_caller_return_int(id,TRUE); - } else ext_caller_return_int(id,FALSE); + ulong id = (ulong)data; + if (mainw != NULL && !mainw->go_away && !mainw->is_processing) { + on_clear_all_clicked(NULL, NULL); + ext_caller_return_int(id, TRUE); + } else ext_caller_return_int(id, FALSE); return FALSE; } static boolean call_stop_playback(livespointer data) { - ulong id=(ulong)data; - if (mainw!=NULL&&!mainw->go_away&&!mainw->is_processing) { - on_stop_activate(NULL,NULL); // should send play stop event - ext_caller_return_int(id,TRUE); - } else ext_caller_return_int(id,FALSE); + ulong id = (ulong)data; + if (mainw != NULL && !mainw->go_away && !mainw->is_processing) { + on_stop_activate(NULL, NULL); // should send play stop event + ext_caller_return_int(id, TRUE); + } else ext_caller_return_int(id, FALSE); return FALSE; } static boolean call_quit_app(livespointer data) { - if (mainw!=NULL) { - mainw->only_close=mainw->no_exit=FALSE; - mainw->leave_recovery=FALSE; + if (mainw != NULL) { + mainw->only_close = mainw->no_exit = FALSE; + mainw->leave_recovery = FALSE; if (mainw->was_set) { - on_save_set_activate(NULL,mainw->set_name); - } else mainw->leave_files=FALSE; + on_save_set_activate(NULL, mainw->set_name); + } else mainw->leave_files = FALSE; lives_exit(0); } return FALSE; @@ -805,58 +806,58 @@ static boolean call_map_effect(livespointer data) { - fxmapdata *fxdata=(fxmapdata *)data; - if (mainw!=NULL&&!mainw->go_away&&!mainw->is_processing) { - char *hashname=make_weed_hashname(fxdata->idx,TRUE,FALSE); - int error=rte_switch_keymode(fxdata->key,fxdata->mode,hashname); - ext_caller_return_int(fxdata->id,(error==0)); + fxmapdata *fxdata = (fxmapdata *)data; + if (mainw != NULL && !mainw->go_away && !mainw->is_processing) { + char *hashname = make_weed_hashname(fxdata->idx, TRUE, FALSE); + int error = rte_switch_keymode(fxdata->key, fxdata->mode, hashname); + ext_caller_return_int(fxdata->id, (error == 0)); lives_free(hashname); - } else ext_caller_return_int(fxdata->id,FALSE); + } else ext_caller_return_int(fxdata->id, FALSE); lives_free(data); return FALSE; } static boolean call_unmap_effect(livespointer data) { - fxmapdata *fxdata=(fxmapdata *)data; - if (mainw!=NULL&&!mainw->go_away&&!mainw->is_processing&&rte_keymode_valid(fxdata->key,fxdata->mode,TRUE)) { - int idx=fxdata->key*rte_getmodespk()+fxdata->mode; - on_clear_clicked(NULL,LIVES_INT_TO_POINTER(idx)); - ext_caller_return_int(fxdata->id,TRUE); - } else ext_caller_return_int(fxdata->id,FALSE); + fxmapdata *fxdata = (fxmapdata *)data; + if (mainw != NULL && !mainw->go_away && !mainw->is_processing && rte_keymode_valid(fxdata->key, fxdata->mode, TRUE)) { + int idx = fxdata->key * rte_getmodespk() + fxdata->mode; + on_clear_clicked(NULL, LIVES_INT_TO_POINTER(idx)); + ext_caller_return_int(fxdata->id, TRUE); + } else ext_caller_return_int(fxdata->id, FALSE); lives_free(data); return FALSE; } static boolean call_fx_setmode(livespointer data) { - fxmapdata *fxdata=(fxmapdata *)data; - if (mainw!=NULL&&!mainw->go_away&&!mainw->is_processing) { - boolean ret=rte_key_setmode(fxdata->key,fxdata->mode); - ext_caller_return_int(fxdata->id,(int)ret); - } else ext_caller_return_int(fxdata->id,FALSE); + fxmapdata *fxdata = (fxmapdata *)data; + if (mainw != NULL && !mainw->go_away && !mainw->is_processing) { + boolean ret = rte_key_setmode(fxdata->key, fxdata->mode); + ext_caller_return_int(fxdata->id, (int)ret); + } else ext_caller_return_int(fxdata->id, FALSE); lives_free(data); return FALSE; } static boolean call_wipe_layout(livespointer data) { - iblock *fxdata=(iblock *)data; - boolean force=fxdata->ign_sel; - char *lname=lives_strdup(""); - if (mainw!=NULL&&!mainw->go_away&&!mainw->is_processing&&mainw->multitrack!=NULL) { + iblock *fxdata = (iblock *)data; + boolean force = fxdata->ign_sel; + char *lname = lives_strdup(""); + if (mainw != NULL && !mainw->go_away && !mainw->is_processing && mainw->multitrack != NULL) { if (force) { wipe_layout(mainw->multitrack); } else { - memset(mainw->recent_file,0,1); + memset(mainw->recent_file, 0, 1); check_for_layout_del(mainw->multitrack, FALSE); if (strlen(mainw->recent_file)) { lives_free(lname); - lname=strdup(mainw->recent_file); + lname = strdup(mainw->recent_file); } } } - ext_caller_return_string(fxdata->id,lname); + ext_caller_return_string(fxdata->id, lname); lives_free(lname); lives_free(data); return FALSE; @@ -866,14 +867,14 @@ static boolean call_choose_layout(livespointer data) { - iblock *fxdata=(iblock *)data; - char *lname=lives_strdup(""); - if (mainw!=NULL&&!mainw->go_away&&!mainw->is_processing&&mainw->multitrack!=NULL&&strlen(mainw->set_name)>0) { + iblock *fxdata = (iblock *)data; + char *lname = lives_strdup(""); + if (mainw != NULL && !mainw->go_away && !mainw->is_processing && mainw->multitrack != NULL && strlen(mainw->set_name) > 0) { lives_free(lname); - lname=get_eload_filename(mainw->multitrack,FALSE); - if (lname==NULL) lname=lives_strdup(""); + lname = get_eload_filename(mainw->multitrack, FALSE); + if (lname == NULL) lname = lives_strdup(""); } - ext_caller_return_string(fxdata->id,lname); + ext_caller_return_string(fxdata->id, lname); lives_free(lname); lives_free(data); return FALSE; @@ -883,26 +884,26 @@ static boolean call_render_layout(livespointer data) { - iblock *bdata=(iblock *)data; - ulong uid=0l; + iblock *bdata = (iblock *)data; + ulong uid = 0l; boolean ret; - if (mainw!=NULL&&!mainw->go_away&&!mainw->is_processing&&mainw->multitrack!=NULL) { - ulong new_uid=mainw->files[mainw->multitrack->render_file]->unique_id; - boolean ra=mainw->multitrack->opts.render_audp; - boolean rn=mainw->multitrack->opts.normalise_audp; + if (mainw != NULL && !mainw->go_away && !mainw->is_processing && mainw->multitrack != NULL) { + ulong new_uid = mainw->files[mainw->multitrack->render_file]->unique_id; + boolean ra = mainw->multitrack->opts.render_audp; + boolean rn = mainw->multitrack->opts.normalise_audp; - mainw->multitrack->opts.render_audp=bdata->with_audio; - mainw->multitrack->opts.normalise_audp=bdata->ign_sel; + mainw->multitrack->opts.render_audp = bdata->with_audio; + mainw->multitrack->opts.normalise_audp = bdata->ign_sel; - ret=on_render_activate(LIVES_MENU_ITEM(1),mainw->multitrack); - if (ret) uid=new_uid; + ret = on_render_activate(LIVES_MENU_ITEM(1), mainw->multitrack); + if (ret) uid = new_uid; - mainw->multitrack->opts.render_audp=ra; - mainw->multitrack->opts.normalise_audp=rn; + mainw->multitrack->opts.render_audp = ra; + mainw->multitrack->opts.normalise_audp = rn; } - ext_caller_return_ulong(bdata->id,uid); + ext_caller_return_ulong(bdata->id, uid); lives_free(data); return FALSE; } @@ -912,21 +913,21 @@ static boolean call_reload_layout(livespointer data) { msginfo *mdata = (msginfo *)data; - boolean resp=FALSE; - if (mainw!=NULL&&!mainw->go_away&&!mainw->is_processing&&mainw->multitrack!=NULL&&strlen(mainw->set_name)>0) { + boolean resp = FALSE; + if (mainw != NULL && !mainw->go_away && !mainw->is_processing && mainw->multitrack != NULL && strlen(mainw->set_name) > 0) { if (!strlen(mdata->msg)) { lives_free(mdata->msg); - mdata->msg=get_eload_filename(mainw->multitrack,FALSE); - if (mdata->msg==NULL) mdata->msg=lives_strdup(""); + mdata->msg = get_eload_filename(mainw->multitrack, FALSE); + if (mdata->msg == NULL) mdata->msg = lives_strdup(""); } if (strlen(mainw->msg)) { - mainw->multitrack->force_load_name=mainw->msg; - resp=on_load_event_list_activate(NULL,mainw->multitrack); - mainw->multitrack->force_load_name=NULL; + mainw->multitrack->force_load_name = mainw->msg; + resp = on_load_event_list_activate(NULL, mainw->multitrack); + mainw->multitrack->force_load_name = NULL; } } lives_free(mdata->msg); - ext_caller_return_int(mdata->id,resp); + ext_caller_return_int(mdata->id, resp); lives_free(mdata); return resp; } @@ -935,24 +936,24 @@ static boolean call_save_layout(livespointer data) { msginfo *mdata = (msginfo *)data; - boolean resp=FALSE; + boolean resp = FALSE; - char *lname=lives_strdup(""); + char *lname = lives_strdup(""); - if (mainw!=NULL&&!mainw->go_away&&!mainw->is_processing) { - if (mdata->msg!=NULL) { - if (mainw->multitrack!=NULL) lives_snprintf(mainw->multitrack->layout_name,PATH_MAX,"%s",mdata->msg); - else lives_snprintf(mainw->stored_layout_name,PATH_MAX,"%s",mdata->msg); + if (mainw != NULL && !mainw->go_away && !mainw->is_processing) { + if (mdata->msg != NULL) { + if (mainw->multitrack != NULL) lives_snprintf(mainw->multitrack->layout_name, PATH_MAX, "%s", mdata->msg); + else lives_snprintf(mainw->stored_layout_name, PATH_MAX, "%s", mdata->msg); } - resp=on_save_event_list_activate(NULL,mainw->multitrack); + resp = on_save_event_list_activate(NULL, mainw->multitrack); if (resp) { lives_free(lname); - lname=lives_strdup(mainw->recent_file); + lname = lives_strdup(mainw->recent_file); } } lives_free(mdata->msg); - ext_caller_return_string(mdata->id,lname); + ext_caller_return_string(mdata->id, lname); lives_free(lname); lives_free(mdata); return resp; @@ -962,39 +963,40 @@ static boolean call_set_current_fps(livespointer data) { - opfidata *idata=(opfidata *)data; - if (mainw!=NULL&&!mainw->go_away&&!mainw->is_processing&&mainw->playing_file>-1&&mainw->multitrack==NULL) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps),idata->stime); - ext_caller_return_int(idata->id,(int)TRUE); - } else ext_caller_return_int(idata->id,(int)FALSE); + opfidata *idata = (opfidata *)data; + if (mainw != NULL && !mainw->go_away && !mainw->is_processing && mainw->playing_file > -1 && mainw->multitrack == NULL) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps), idata->stime); + ext_caller_return_int(idata->id, (int)TRUE); + } else ext_caller_return_int(idata->id, (int)FALSE); lives_free(data); return FALSE; } static boolean call_set_current_frame(livespointer data) { - ibpref *bdata=(ibpref *)data; + ibpref *bdata = (ibpref *)data; boolean ret; char **vargs; - int arglen=2; + int arglen = 2; - if (mainw==NULL||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))||mainw->go_away||mainw->is_processing|| - mainw->playing_file>-1) return FALSE; + if (mainw == NULL || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->go_away || + mainw->is_processing || + mainw->playing_file > -1) return FALSE; - vargs=(char **)lives_malloc(sizeof(char *)); + vargs = (char **)lives_malloc(sizeof(char *)); *vargs = lives_strdup(",i"); arglen = padup(vargs, arglen); - arglen = add_int_arg(vargs, arglen, bdata->bool); + arglen = add_int_arg(vargs, arglen, bdata->val); if (!bdata->val) - ret=lives_osc_cb_clip_goto(NULL, arglen, (const void *)(*vargs), OSCTT_CurrentTime(), NULL); + ret = lives_osc_cb_clip_goto(NULL, arglen, (const void *)(*vargs), OSCTT_CurrentTime(), NULL); else - ret=lives_osc_cb_bgclip_goto(NULL, arglen, (const void *)(*vargs), OSCTT_CurrentTime(), NULL); + ret = lives_osc_cb_bgclip_goto(NULL, arglen, (const void *)(*vargs), OSCTT_CurrentTime(), NULL); - ext_caller_return_int(bdata->id,(int)ret); + ext_caller_return_int(bdata->id, (int)ret); lives_free(data); lives_free((char *)*vargs); lives_free(vargs); @@ -1003,24 +1005,24 @@ static boolean call_select_all(livespointer data) { - iipref *idata=(iipref *)data; + iipref *idata = (iipref *)data; int cnum = idata->val; - if (mainw!=NULL) { - lives_clip_t *sfile=mainw->files[cnum]; - boolean selwidth_locked=mainw->selwidth_locked; + if (mainw != NULL) { + lives_clip_t *sfile = mainw->files[cnum]; + boolean selwidth_locked = mainw->selwidth_locked; - if (!mainw->go_away&&!mainw->is_processing&&sfile!=NULL) { - mainw->selwidth_locked=FALSE; - if (cnum==mainw->current_file) on_select_all_activate(NULL,NULL); + if (!mainw->go_away && !mainw->is_processing && sfile != NULL) { + mainw->selwidth_locked = FALSE; + if (cnum == mainw->current_file) on_select_all_activate(NULL, NULL); else { - sfile->start=sfile->frames>0?1:0; - sfile->end=sfile->frames; + sfile->start = sfile->frames > 0 ? 1 : 0; + sfile->end = sfile->frames; } - mainw->selwidth_locked=selwidth_locked; - ext_caller_return_int(idata->id,(int)TRUE); - } else ext_caller_return_int(idata->id,(int)FALSE); - } else ext_caller_return_int(idata->id,(int)FALSE); + mainw->selwidth_locked = selwidth_locked; + ext_caller_return_int(idata->id, (int)TRUE); + } else ext_caller_return_int(idata->id, (int)FALSE); + } else ext_caller_return_int(idata->id, (int)FALSE); lives_free(data); return FALSE; } @@ -1028,52 +1030,52 @@ static boolean call_select_start(livespointer data) { - iipref *idata=(iipref *)data; + iipref *idata = (iipref *)data; int cnum = idata->val; - int frame=idata->integ; - - if (mainw!=NULL) { - lives_clip_t *sfile=mainw->files[cnum]; - boolean selwidth_locked=mainw->selwidth_locked; - if (!mainw->go_away&&!mainw->is_processing&&sfile!=NULL) { - mainw->selwidth_locked=FALSE; - if (cnum==mainw->current_file) lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start),frame); + int frame = idata->integ; + + if (mainw != NULL) { + lives_clip_t *sfile = mainw->files[cnum]; + boolean selwidth_locked = mainw->selwidth_locked; + if (!mainw->go_away && !mainw->is_processing && sfile != NULL) { + mainw->selwidth_locked = FALSE; + if (cnum == mainw->current_file) lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start), frame); else { - if (frame>sfile->frames) frame=sfile->frames; - if (sfile->end<frame) sfile->end=frame; - sfile->start=frame; + if (frame > sfile->frames) frame = sfile->frames; + if (sfile->end < frame) sfile->end = frame; + sfile->start = frame; } - mainw->selwidth_locked=selwidth_locked; - ext_caller_return_int(idata->id,(int)TRUE); - } else ext_caller_return_int(idata->id,(int)FALSE); - } else ext_caller_return_int(idata->id,(int)FALSE); + mainw->selwidth_locked = selwidth_locked; + ext_caller_return_int(idata->id, (int)TRUE); + } else ext_caller_return_int(idata->id, (int)FALSE); + } else ext_caller_return_int(idata->id, (int)FALSE); lives_free(data); return FALSE; } static boolean call_select_end(livespointer data) { - iipref *idata=(iipref *)data; + iipref *idata = (iipref *)data; int cnum = idata->val; - int frame=idata->integ; - if (mainw!=NULL) { - lives_clip_t *sfile=mainw->files[cnum]; - boolean selwidth_locked=mainw->selwidth_locked; - - if (!mainw->go_away&&!mainw->is_processing&&sfile!=NULL) { - mainw->selwidth_locked=FALSE; - if (cnum==mainw->current_file) lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end),frame); + int frame = idata->integ; + if (mainw != NULL) { + lives_clip_t *sfile = mainw->files[cnum]; + boolean selwidth_locked = mainw->selwidth_locked; + + if (!mainw->go_away && !mainw->is_processing && sfile != NULL) { + mainw->selwidth_locked = FALSE; + if (cnum == mainw->current_file) lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end), frame); else { - if (frame>sfile->frames) frame=sfile->frames; - if (sfile->start>frame) sfile->start=frame; - sfile->end=frame; + if (frame > sfile->frames) frame = sfile->frames; + if (sfile->start > frame) sfile->start = frame; + sfile->end = frame; } - mainw->selwidth_locked=selwidth_locked; - ext_caller_return_int(idata->id,(int)TRUE); - } else ext_caller_return_int(idata->id,(int)FALSE); - } else ext_caller_return_int(idata->id,(int)FALSE); + mainw->selwidth_locked = selwidth_locked; + ext_caller_return_int(idata->id, (int)TRUE); + } else ext_caller_return_int(idata->id, (int)FALSE); + } else ext_caller_return_int(idata->id, (int)FALSE); lives_free(data); return FALSE; } @@ -1081,30 +1083,30 @@ static boolean call_insert_block(livespointer data) { - iblock *idata=(iblock *)data; + iblock *idata = (iblock *)data; boolean ins_audio; boolean ign_ins_sel; ulong block_uid; - if (mainw!=NULL&&!mainw->go_away&&!mainw->is_processing&&mainw->playing_file==-1&&mainw->multitrack!=NULL) { - mainw->multitrack->clip_selected=idata->clip-1; - mt_clip_select(mainw->multitrack,TRUE); + if (mainw != NULL && !mainw->go_away && !mainw->is_processing && mainw->playing_file == -1 && mainw->multitrack != NULL) { + mainw->multitrack->clip_selected = idata->clip - 1; + mt_clip_select(mainw->multitrack, TRUE); - ins_audio=mainw->multitrack->opts.insert_audio; - ign_ins_sel=mainw->multitrack->opts.ign_ins_sel; + ins_audio = mainw->multitrack->opts.insert_audio; + ign_ins_sel = mainw->multitrack->opts.ign_ins_sel; - mainw->multitrack->opts.insert_audio=idata->with_audio; - mainw->multitrack->opts.ign_ins_sel=idata->ign_sel; + mainw->multitrack->opts.insert_audio = idata->with_audio; + mainw->multitrack->opts.ign_ins_sel = idata->ign_sel; - multitrack_insert(NULL,mainw->multitrack); + multitrack_insert(NULL, mainw->multitrack); - mainw->multitrack->opts.ign_ins_sel=ign_ins_sel; - mainw->multitrack->opts.insert_audio=ins_audio; + mainw->multitrack->opts.ign_ins_sel = ign_ins_sel; + mainw->multitrack->opts.insert_audio = ins_audio; - block_uid=mt_get_last_block_uid(mainw->multitrack); - ext_caller_return_ulong(idata->id,block_uid); - } else ext_caller_return_ulong(idata->id,0l); + block_uid = mt_get_last_block_uid(mainw->multitrack); + ext_caller_return_ulong(idata->id, block_uid); + } else ext_caller_return_ulong(idata->id, 0l); lives_free(data); return FALSE; } @@ -1113,15 +1115,15 @@ static boolean call_remove_block(livespointer data) { - mblockdata *rdata=(mblockdata *)data; - - if (mainw!=NULL&&!mainw->go_away&&!mainw->is_processing&&mainw->playing_file==-1&&mainw->multitrack!=NULL) { - track_rect *oblock=mainw->multitrack->block_selected; - mainw->multitrack->block_selected=rdata->block; - delete_block_cb(NULL,(livespointer)mainw->multitrack); - if (oblock!=rdata->block) mainw->multitrack->block_selected=oblock; - ext_caller_return_int(rdata->id,(int)TRUE); - } else ext_caller_return_int(rdata->id,(int)FALSE); + mblockdata *rdata = (mblockdata *)data; + + if (mainw != NULL && !mainw->go_away && !mainw->is_processing && mainw->playing_file == -1 && mainw->multitrack != NULL) { + track_rect *oblock = mainw->multitrack->block_selected; + mainw->multitrack->block_selected = rdata->block; + delete_block_cb(NULL, (livespointer)mainw->multitrack); + if (oblock != rdata->block) mainw->multitrack->block_selected = oblock; + ext_caller_return_int(rdata->id, (int)TRUE); + } else ext_caller_return_int(rdata->id, (int)FALSE); lives_free(data); return FALSE; } @@ -1129,18 +1131,18 @@ static boolean call_move_block(livespointer data) { - mblockdata *mdata=(mblockdata *)data; - - if (mainw!=NULL&&!mainw->go_away&&!mainw->is_processing&&mainw->playing_file==-1&&mainw->multitrack!=NULL) { - track_rect *bsel=mainw->multitrack->block_selected; - int track=get_track_for_block(mdata->block); - ulong block_uid=mdata->block->uid; - track_rect *nblock=move_block(mainw->multitrack,mdata->block,mdata->time,track,mdata->track); - mainw->multitrack->block_selected=bsel; - if (nblock==NULL) ext_caller_return_int(mdata->id,(int)FALSE); + mblockdata *mdata = (mblockdata *)data; + + if (mainw != NULL && !mainw->go_away && !mainw->is_processing && mainw->playing_file == -1 && mainw->multitrack != NULL) { + track_rect *bsel = mainw->multitrack->block_selected; + int track = get_track_for_block(mdata->block); + ulong block_uid = mdata->block->uid; + track_rect *nblock = move_block(mainw->multitrack, mdata->block, mdata->time, track, mdata->track); + mainw->multitrack->block_selected = bsel; + if (nblock == NULL) ext_caller_return_int(mdata->id, (int)FALSE); else { - nblock->uid=block_uid; - ext_caller_return_int(mdata->id,(int)TRUE); + nblock->uid = block_uid; + ext_caller_return_int(mdata->id, (int)TRUE); } } lives_free(data); @@ -1150,64 +1152,64 @@ static boolean call_fx_enable(livespointer data) { - fxmapdata *fxdata=(fxmapdata *)data; - boolean nstate=(boolean)fxdata->mode; - boolean ret=FALSE; + fxmapdata *fxdata = (fxmapdata *)data; + boolean nstate = (boolean)fxdata->mode; + boolean ret = FALSE; - if (mainw!=NULL&&!mainw->go_away&&!mainw->is_processing) { - int grab=mainw->last_grabbable_effect; - int effect_key=fxdata->key; + if (mainw != NULL && !mainw->go_away && !mainw->is_processing) { + int grab = mainw->last_grabbable_effect; + int effect_key = fxdata->key; if (nstate) { // fx is on - if (!(mainw->rte&(GU641<<(effect_key-1)))) { - weed_plant_t *filter=rte_keymode_get_filter(effect_key,rte_key_getmode(effect_key)); - if (filter==NULL) ret=FALSE; + if (!(mainw->rte & (GU641 << (effect_key - 1)))) { + weed_plant_t *filter = rte_keymode_get_filter(effect_key, rte_key_getmode(effect_key)); + if (filter == NULL) ret = FALSE; else { - int count=enabled_in_channels(filter, FALSE); - if (mainw->playing_file==-1&&count==0) { + int count = enabled_in_channels(filter, FALSE); + if (mainw->playing_file == -1 && count == 0) { // return value first because... - ext_caller_return_int(fxdata->id,(int)TRUE); + ext_caller_return_int(fxdata->id, (int)TRUE); // ...we are going to hang here until playback ends - ret=rte_on_off_callback_hook(NULL,LIVES_INT_TO_POINTER(effect_key)); + ret = rte_on_off_callback_hook(NULL, LIVES_INT_TO_POINTER(effect_key)); return FALSE; } else { - ret=rte_on_off_callback_hook(NULL,LIVES_INT_TO_POINTER(effect_key)); - mainw->last_grabbable_effect=grab; + ret = rte_on_off_callback_hook(NULL, LIVES_INT_TO_POINTER(effect_key)); + mainw->last_grabbable_effect = grab; } } } } else { - if (mainw->rte&(GU641<<(effect_key-1))) { - ret=rte_on_off_callback_hook(NULL,LIVES_INT_TO_POINTER(effect_key)); + if (mainw->rte & (GU641 << (effect_key - 1))) { + ret = rte_on_off_callback_hook(NULL, LIVES_INT_TO_POINTER(effect_key)); } } } - ext_caller_return_int(fxdata->id,(int)ret); + ext_caller_return_int(fxdata->id, (int)ret); lives_free(data); return FALSE; } static boolean call_set_loop_mode(livespointer data) { - iipref *idata=(iipref *)data; - int lmode=idata->val; + iipref *idata = (iipref *)data; + int lmode = idata->val; - if (mainw!=NULL&&!mainw->go_away) { - if (lmode==LIVES_LOOP_MODE_NONE) { - if (mainw->loop_cont) on_loop_button_activate(NULL,NULL); - if (mainw->loop) lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->loop_video),!mainw->loop); + if (mainw != NULL && !mainw->go_away) { + if (lmode == LIVES_LOOP_MODE_NONE) { + if (mainw->loop_cont) on_loop_button_activate(NULL, NULL); + if (mainw->loop) lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->loop_video), !mainw->loop); } else { if (lmode & LIVES_LOOP_MODE_CONTINUOUS) { - if (!mainw->loop_cont) on_loop_button_activate(NULL,NULL); - } else if (mainw->loop_cont) on_loop_button_activate(NULL,NULL); + if (!mainw->loop_cont) on_loop_button_activate(NULL, NULL); + } else if (mainw->loop_cont) on_loop_button_activate(NULL, NULL); if (lmode & LIVES_LOOP_MODE_FIT_AUDIO) { - if (mainw->loop) lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->loop_video),!mainw->loop); - } else if (!mainw->loop) lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->loop_video),!mainw->loop); + if (mainw->loop) lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->loop_video), !mainw->loop); + } else if (!mainw->loop) lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->loop_video), !mainw->loop); } - ext_caller_return_int(idata->id,(int)TRUE); - } else ext_caller_return_int(idata->id,(int)FALSE); + ext_caller_return_int(idata->id, (int)TRUE); + } else ext_caller_return_int(idata->id, (int)FALSE); lives_free(data); return FALSE; } @@ -1215,11 +1217,11 @@ static boolean call_resync_fps(livespointer data) { - iipref *idata=(iipref *)data; - if (mainw!=NULL&& mainw->playing_file>-1) { + iipref *idata = (iipref *)data; + if (mainw != NULL && mainw->playing_file > -1) { fps_reset_callback(NULL, NULL, 0, (LiVESXModifierType)0, NULL); - ext_caller_return_int(idata->id,(int)TRUE); - } else ext_caller_return_int(idata->id,(int)FALSE); + ext_caller_return_int(idata->id, (int)TRUE); + } else ext_caller_return_int(idata->id, (int)FALSE); lives_free(data); return FALSE; } @@ -1227,13 +1229,13 @@ static boolean call_cancel_proc(livespointer data) { - iipref *idata=(iipref *)data; - if (mainw==NULL||mainw->current_file==-1||cfile==NULL||cfile->proc_ptr==NULL|| + iipref *idata = (iipref *)data; + if (mainw == NULL || mainw->current_file == -1 || cfile == NULL || cfile->proc_ptr == NULL || !lives_widget_is_visible(cfile->proc_ptr->cancel_button)) { - ext_caller_return_int(idata->id,(int)FALSE); + ext_caller_return_int(idata->id, (int)FALSE); } else { - on_cancel_keep_button_clicked(NULL,NULL); - ext_caller_return_int(idata->id,(int)TRUE); + on_cancel_keep_button_clicked(NULL, NULL); + ext_caller_return_int(idata->id, (int)TRUE); } lives_free(data); return FALSE; @@ -1248,15 +1250,16 @@ boolean idle_show_info(const char *text, boolean blocking, ulong id) { - if (mainw==NULL||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))||mainw->go_away||mainw->is_processing|| - mainw->playing_file>-1) return FALSE; - if (text==NULL) return FALSE; - if (!blocking) lives_idle_add(call_osc_show_info,(livespointer)text); + if (mainw == NULL || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->go_away || + mainw->is_processing || + mainw->playing_file > -1) return FALSE; + if (text == NULL) return FALSE; + if (!blocking) lives_idle_add(call_osc_show_info, (livespointer)text); else { msginfo *minfo = (msginfo *)lives_malloc(sizeof(msginfo)); minfo->msg = lives_strdup(text); minfo->id = id; - lives_idle_add(call_osc_show_blocking_info,(livespointer)minfo); + lives_idle_add(call_osc_show_blocking_info, (livespointer)minfo); } return TRUE; } @@ -1265,15 +1268,16 @@ boolean idle_switch_clip(int type, int cnum, ulong id) { iipref *info; - if (mainw==NULL||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL&&(!mainw->record||mainw->playing_file==-1)))|| - mainw->go_away||mainw->is_processing) return FALSE; - if (mainw->multitrack!=NULL) return FALSE; + if (mainw == NULL || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL && (!mainw->record || + mainw->playing_file == -1))) || + mainw->go_away || mainw->is_processing) return FALSE; + if (mainw->multitrack != NULL) return FALSE; info = (iipref *)lives_malloc(sizeof(iipref)); info->id = id; info->val = cnum; info->integ = type; - lives_idle_add(call_switch_clip,(livespointer)info); + lives_idle_add(call_switch_clip, (livespointer)info); return TRUE; } @@ -1281,13 +1285,13 @@ boolean idle_mt_set_track(int tnum, ulong id) { iipref *info; - if (mainw==NULL||mainw->preview||mainw->go_away||mainw->is_processing) return FALSE; - if (mainw->multitrack==NULL) return FALSE; + if (mainw == NULL || mainw->preview || mainw->go_away || mainw->is_processing) return FALSE; + if (mainw->multitrack == NULL) return FALSE; info = (iipref *)lives_malloc(sizeof(iipref)); info->id = id; info->val = tnum; - lives_idle_add(call_mt_set_track,(livespointer)info); + lives_idle_add(call_mt_set_track, (livespointer)info); return TRUE; } @@ -1295,15 +1299,15 @@ boolean idle_set_track_label(int tnum, const char *label, ulong id) { lset *data; - if (mainw==NULL||mainw->preview||mainw->go_away||mainw->is_processing) return FALSE; - if (mainw->multitrack==NULL) return FALSE; + if (mainw == NULL || mainw->preview || mainw->go_away || mainw->is_processing) return FALSE; + if (mainw->multitrack == NULL) return FALSE; data = (lset *)lives_malloc(sizeof(lset)); data->id = id; - data->val=tnum; - if (label!=NULL) data->string=lives_strdup(label); - else data->string=NULL; - lives_idle_add(call_mt_set_track_label,(livespointer)data); + data->val = tnum; + if (label != NULL) data->string = lives_strdup(label); + else data->string = NULL; + lives_idle_add(call_mt_set_track_label, (livespointer)data); return TRUE; } @@ -1311,12 +1315,12 @@ boolean idle_insert_vtrack(boolean in_front, ulong id) { ibpref *data; - if (mainw==NULL||mainw->playing_file == -1) return FALSE; + if (mainw == NULL || mainw->playing_file == -1) return FALSE; if (mainw->multitrack != NULL) return FALSE; - data=(ibpref *)lives_malloc(sizeof(ibpref)); - data->val=in_front; - lives_idle_add(call_insert_vtrack,(livespointer)data); + data = (ibpref *)lives_malloc(sizeof(ibpref)); + data->val = in_front; + lives_idle_add(call_insert_vtrack, (livespointer)data); return TRUE; } @@ -1325,13 +1329,14 @@ boolean idle_set_current_time(double time, ulong id) { opfidata *info; - if (mainw==NULL||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))||mainw->go_away||mainw->is_processing|| - mainw->playing_file>-1) return FALSE; + if (mainw == NULL || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->go_away || + mainw->is_processing || + mainw->playing_file > -1) return FALSE; info = (opfidata *)lives_malloc(sizeof(opfidata)); info->id = id; - info->stime=time; - lives_idle_add(call_set_current_time,(livespointer)info); + info->stime = time; + lives_idle_add(call_set_current_time, (livespointer)info); return TRUE; } @@ -1339,13 +1344,13 @@ boolean idle_set_current_audio_time(double time, ulong id) { opfidata *info; - if (mainw!=NULL&&!mainw->go_away&&!mainw->is_processing&&!mainw->preview&&mainw->playing_file>0&& - is_realtime_aplayer(prefs->audio_player)&&mainw->multitrack==NULL&&!(mainw->record&&prefs->audio_src==AUDIO_SRC_EXT)&& - time>=0.&&time<=cfile->laudio_time) { + if (mainw != NULL && !mainw->go_away && !mainw->is_processing && !mainw->preview && mainw->playing_file > 0 && + is_realtime_aplayer(prefs->audio_player) && mainw->multitrack == NULL && !(mainw->record && prefs->audio_src == AUDIO_SRC_EXT) && + time >= 0. && time <= cfile->laudio_time) { info = (opfidata *)lives_malloc(sizeof(opfidata)); info->id = id; - info->stime=time; - lives_idle_add(call_set_current_audio_time,(livespointer)info); + info->stime = time; + lives_idle_add(call_set_current_audio_time, (livespointer)info); return TRUE; } return FALSE; @@ -1353,19 +1358,20 @@ boolean idle_unmap_effects(ulong id) { - if (mainw==NULL||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL&&(!mainw->record||mainw->playing_file==-1)))|| - mainw->go_away||mainw->is_processing) return FALSE; + if (mainw == NULL || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL && (!mainw->record || + mainw->playing_file == -1))) || + mainw->go_away || mainw->is_processing) return FALSE; - lives_idle_add(call_unmap_effects,(livespointer)id); + lives_idle_add(call_unmap_effects, (livespointer)id); return TRUE; } boolean idle_stop_playback(ulong id) { - if (mainw==NULL||mainw->go_away||mainw->is_processing) return FALSE; + if (mainw == NULL || mainw->go_away || mainw->is_processing) return FALSE; - lives_idle_add(call_stop_playback,(livespointer)id); + lives_idle_add(call_stop_playback, (livespointer)id); return TRUE; } @@ -1373,11 +1379,11 @@ boolean idle_quit(pthread_t *gtk_thread) { - if (mainw==NULL) return FALSE; + if (mainw == NULL) return FALSE; - lives_idle_add(call_quit_app,NULL); + lives_idle_add(call_quit_app, NULL); - pthread_join(*gtk_thread,NULL); + pthread_join(*gtk_thread, NULL); return TRUE; } @@ -1387,23 +1393,24 @@ oscdata *data; char **vargs; - int arglen=3; + int arglen = 3; - if (mainw==NULL||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))||mainw->go_away||mainw->is_processing|| - mainw->playing_file>-1) return FALSE; + if (mainw == NULL || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->go_away || + mainw->is_processing || + mainw->playing_file > -1) return FALSE; - vargs=(char **)lives_malloc(sizeof(char *)); + vargs = (char **)lives_malloc(sizeof(char *)); *vargs = lives_strdup(",si"); arglen = padup(vargs, arglen); arglen = add_string_arg(vargs, arglen, name); arglen = add_int_arg(vargs, arglen, force_append); - data= (oscdata *)lives_malloc(sizeof(oscdata)); - data->id=id; - data->arglen=arglen; - data->vargs=vargs; - lives_idle_add(call_osc_save_set,(livespointer)data); + data = (oscdata *)lives_malloc(sizeof(oscdata)); + data->id = id; + data->arglen = arglen; + data->vargs = vargs; + lives_idle_add(call_osc_save_set, (livespointer)data); return TRUE; } @@ -1412,20 +1419,21 @@ boolean idle_choose_file_with_preview(const char *dirname, const char *title, int preview_type, ulong id) { fprev *data; - if (mainw==NULL||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))||mainw->go_away||mainw->is_processing|| - mainw->playing_file>-1) return FALSE; + if (mainw == NULL || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->go_away || + mainw->is_processing || + mainw->playing_file > -1) return FALSE; - data= (fprev *)lives_malloc(sizeof(fprev)); - data->id=id; + data = (fprev *)lives_malloc(sizeof(fprev)); + data->id = id; - if (dirname!=NULL && strlen(dirname) > 0) data->dir=lives_strdup(dirname); - else data->dir=NULL; + if (dirname != NULL && strlen(dirname) > 0) data->dir = lives_strdup(dirname); + else data->dir = NULL; - if (title!=NULL && strlen(title) > 0) data->title=lives_strdup(title); - else data->title=NULL; + if (title != NULL && strlen(title) > 0) data->title = lives_strdup(title); + else data->title = NULL; - data->preview_type=preview_type; - lives_idle_add(call_file_choose_with_preview,(livespointer)data); + data->preview_type = preview_type; + lives_idle_add(call_file_choose_with_preview, (livespointer)data); return TRUE; } @@ -1433,22 +1441,24 @@ boolean idle_choose_set(ulong id) { udata *data; - if (mainw==NULL||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))||mainw->go_away||mainw->is_processing|| - mainw->playing_file>-1) return FALSE; + if (mainw == NULL || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->go_away || + mainw->is_processing || + mainw->playing_file > -1) return FALSE; if (mainw->was_set) return FALSE; - data=(udata *)lives_malloc(sizeof(udata)); - data->id=id; - lives_idle_add(call_choose_set,(livespointer)data); + data = (udata *)lives_malloc(sizeof(udata)); + data->id = id; + lives_idle_add(call_choose_set, (livespointer)data); return TRUE; } boolean idle_set_set_name(ulong id) { - if (mainw==NULL||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))||mainw->go_away||mainw->is_processing|| + if (mainw == NULL || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->go_away || + mainw->is_processing || mainw->playing_file) return FALSE; - lives_idle_add(call_set_set_name,(livespointer)id); + lives_idle_add(call_set_set_name, (livespointer)id); return TRUE; } @@ -1456,17 +1466,18 @@ boolean idle_open_file(const char *fname, double stime, int frames, ulong id) { opfidata *data; - if (mainw==NULL||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))||mainw->go_away||mainw->is_processing|| - mainw->playing_file>-1) return FALSE; - if (fname==NULL || strlen(fname)==0) return FALSE; + if (mainw == NULL || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->go_away || + mainw->is_processing || + mainw->playing_file > -1) return FALSE; + if (fname == NULL || strlen(fname) == 0) return FALSE; - data= (opfidata *)lives_malloc(sizeof(opfidata)); - data->id=id; - data->fname=lives_strdup(fname); - data->stime=stime; - data->frames=frames; + data = (opfidata *)lives_malloc(sizeof(opfidata)); + data->id = id; + data->fname = lives_strdup(fname); + data->stime = stime; + data->frames = frames; - lives_idle_add(call_open_file,(livespointer)data); + lives_idle_add(call_open_file, (livespointer)data); return TRUE; } @@ -1474,19 +1485,20 @@ boolean idle_reload_set(const char *setname, ulong id) { msginfo *data; - if (mainw==NULL||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))||mainw->go_away||mainw->is_processing|| - mainw->playing_file>-1) return FALSE; + if (mainw == NULL || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->go_away || + mainw->is_processing || + mainw->playing_file > -1) return FALSE; if (mainw->was_set) return FALSE; - if (setname==NULL) return FALSE; + if (setname == NULL) return FALSE; - if (strlen(setname)&&!is_legal_set_name(setname,TRUE)) return FALSE; + if (strlen(setname) && !is_legal_set_name(setname, TRUE)) return FALSE; - data=(msginfo *)lives_malloc(sizeof(msginfo)); - data->id=id; - data->msg=lives_strdup(setname); + data = (msginfo *)lives_malloc(sizeof(msginfo)); + data->id = id; + data->msg = lives_strdup(setname); - lives_idle_add(call_reload_set,(livespointer)data); + lives_idle_add(call_reload_set, (livespointer)data); return TRUE; } @@ -1495,12 +1507,12 @@ boolean idle_set_interactive(boolean setting, ulong id) { sintdata *data; - if (mainw==NULL||mainw->go_away) return FALSE; + if (mainw == NULL || mainw->go_away) return FALSE; - data=(sintdata *)lives_malloc(sizeof(sintdata)); - data->id=id; - data->setting=setting; - lives_idle_add(call_set_interactive,(livespointer)data); + data = (sintdata *)lives_malloc(sizeof(sintdata)); + data->id = id; + data->setting = setting; + lives_idle_add(call_set_interactive, (livespointer)data); return TRUE; } @@ -1508,12 +1520,12 @@ boolean idle_set_sepwin(boolean setting, ulong id) { sintdata *data; - if (mainw==NULL||mainw->go_away) return FALSE; + if (mainw == NULL || mainw->go_away) return FALSE; - data=(sintdata *)lives_malloc(sizeof(sintdata)); - data->id=id; - data->setting=setting; - lives_idle_add(call_set_sepwin,(livespointer)data); + data = (sintdata *)lives_malloc(sizeof(sintdata)); + data->id = id; + data->setting = setting; + lives_idle_add(call_set_sepwin, (livespointer)data); return TRUE; } @@ -1521,12 +1533,12 @@ boolean idle_set_fullscreen(boolean setting, ulong id) { sintdata *data; - if (mainw==NULL||mainw->go_away) return FALSE; + if (mainw == NULL || mainw->go_away) return FALSE; - data=(sintdata *)lives_malloc(sizeof(sintdata)); - data->id=id; - data->setting=setting; - lives_idle_add(call_set_fullscreen,(livespointer)data); + data = (sintdata *)lives_malloc(sizeof(sintdata)); + data->id = id; + data->setting = setting; + lives_idle_add(call_set_fullscreen, (livespointer)data); return TRUE; } @@ -1534,12 +1546,12 @@ boolean idle_set_fullscreen_sepwin(boolean setting, ulong id) { sintdata *data; - if (mainw==NULL||mainw->go_away) return FALSE; + if (mainw == NULL || mainw->go_away) return FALSE; - data=(sintdata *)lives_malloc(sizeof(sintdata)); - data->id=id; - data->setting=setting; - lives_idle_add(call_set_fullscreen_sepwin,(livespointer)data); + data = (sintdata *)lives_malloc(sizeof(sintdata)); + data->id = id; + data->setting = setting; + lives_idle_add(call_set_fullscreen_sepwin, (livespointer)data); return TRUE; } @@ -1548,12 +1560,12 @@ boolean idle_set_ping_pong(boolean setting, ulong id) { sintdata *data; - if (mainw==NULL||mainw->go_away) return FALSE; + if (mainw == NULL || mainw->go_away) return FALSE; - data=(sintdata *)lives_malloc(sizeof(sintdata)); - data->id=id; - data->setting=setting; - lives_idle_add(call_set_ping_pong,(livespointer)data); + data = (sintdata *)lives_malloc(sizeof(sintdata)); + data->id = id; + data->setting = setting; + lives_idle_add(call_set_ping_pong, (livespointer)data); return TRUE; } @@ -1562,12 +1574,12 @@ boolean idle_set_gravity(int grav, ulong id) { iipref *data; - if (mainw==NULL||mainw->go_away) return FALSE; + if (mainw == NULL || mainw->go_away) return FALSE; - data=(iipref *)lives_malloc(sizeof(iipref)); - data->id=id; - data->val=grav; - lives_idle_add(call_set_gravity,(livespointer)data); + data = (iipref *)lives_malloc(sizeof(iipref)); + data->id = id; + data->val = grav; + lives_idle_add(call_set_gravity, (livespointer)data); return TRUE; } @@ -1575,12 +1587,12 @@ boolean idle_set_insert_mode(int mode, ulong id) { iipref *data; - if (mainw==NULL||mainw->go_away) return FALSE; + if (mainw == NULL || mainw->go_away) return FALSE; - data=(iipref *)lives_malloc(sizeof(iipref)); - data->id=id; - data->val=mode; - lives_idle_add(call_set_insert_mode,(livespointer)data); + data = (iipref *)lives_malloc(sizeof(iipref)); + data->id = id; + data->val = mode; + lives_idle_add(call_set_insert_mode, (livespointer)data); return TRUE; } @@ -1589,15 +1601,16 @@ boolean idle_map_fx(int key, int mode, int idx, ulong id) { fxmapdata *data; - if (mainw==NULL||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL&&(!mainw->record||mainw->playing_file==-1)))|| - mainw->go_away||mainw->is_processing) return FALSE; + if (mainw == NULL || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL && (!mainw->record || + mainw->playing_file == -1))) || + mainw->go_away || mainw->is_processing) return FALSE; - data=(fxmapdata *)lives_malloc(sizeof(fxmapdata)); - data->key=key; - data->mode=mode; - data->idx=idx; - data->id=id; - lives_idle_add(call_map_effect,(livespointer)data); + data = (fxmapdata *)lives_malloc(sizeof(fxmapdata)); + data->key = key; + data->mode = mode; + data->idx = idx; + data->id = id; + lives_idle_add(call_map_effect, (livespointer)data); return TRUE; } @@ -1606,16 +1619,17 @@ boolean idle_unmap_fx(int key, int mode, ulong id) { fxmapdata *data; - if (mainw==NULL||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL&&(!mainw->record||mainw->playing_file==-1)))|| - mainw->go_away||mainw->is_processing) return FALSE; + if (mainw == NULL || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL && (!mainw->record || + mainw->playing_file == -1))) || + mainw->go_away || mainw->is_processing) return FALSE; - if (!rte_keymode_valid(key,mode,TRUE)) return FALSE; + if (!rte_keymode_valid(key, mode, TRUE)) return FALSE; - data=(fxmapdata *)lives_malloc(sizeof(fxmapdata)); - data->key=key; - data->mode=mode; - data->id=id; - lives_idle_add(call_unmap_effect,(livespointer)data); + data = (fxmapdata *)lives_malloc(sizeof(fxmapdata)); + data->key = key; + data->mode = mode; + data->id = id; + lives_idle_add(call_unmap_effect, (livespointer)data); return TRUE; } @@ -1624,15 +1638,16 @@ boolean idle_fx_setmode(int key, int mode, ulong id) { fxmapdata *data; - if (mainw==NULL||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL&&(!mainw->record||mainw->playing_file==-1)))|| - mainw->go_away||mainw->is_processing) return FALSE; + if (mainw == NULL || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL && (!mainw->record || + mainw->playing_file == -1))) || + mainw->go_away || mainw->is_processing) return FALSE; - data=(fxmapdata *)lives_malloc(sizeof(fxmapdata)); - data->key=key; - data->mode=mode; - data->id=id; + data = (fxmapdata *)lives_malloc(sizeof(fxmapdata)); + data->key = key; + data->mode = mode; + data->id = id; - lives_idle_add(call_fx_setmode,(livespointer)data); + lives_idle_add(call_fx_setmode, (livespointer)data); return TRUE; } @@ -1641,15 +1656,16 @@ boolean idle_fx_enable(int key, boolean setting, ulong id) { fxmapdata *data; - if (mainw==NULL||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL&&(!mainw->record||mainw->playing_file==-1)))|| - mainw->go_away||mainw->is_processing) return FALSE; + if (mainw == NULL || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL && (!mainw->record || + mainw->playing_file == -1))) || + mainw->go_away || mainw->is_processing) return FALSE; - data=(fxmapdata *)lives_malloc(sizeof(fxmapdata)); - data->key=key; - data->mode=setting; - data->id=id; + data = (fxmapdata *)lives_malloc(sizeof(fxmapdata)); + data->key = key; + data->mode = setting; + data->id = id; - lives_idle_add(call_fx_enable,(livespointer)data); + lives_idle_add(call_fx_enable, (livespointer)data); return TRUE; } @@ -1658,14 +1674,15 @@ boolean idle_set_pref_bool(const char *prefidx, boolean val, ulong id) { bpref *data; - if (mainw==NULL||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL&&(!mainw->record||mainw->playing_file==-1)))|| + if (mainw == NULL || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL && (!mainw->record || + mainw->playing_file == -1))) || mainw->go_away) return FALSE; - data=(bpref *)lives_malloc(sizeof(bpref)); - data->id=id; - data->prefidx=lives_strdup(prefidx); - data->val=val; - lives_idle_add(call_set_pref_bool,(livespointer)data); + data = (bpref *)lives_malloc(sizeof(bpref)); + data->id = id; + data->prefidx = lives_strdup(prefidx); + data->val = val; + lives_idle_add(call_set_pref_bool, (livespointer)data); return TRUE; } @@ -1673,14 +1690,15 @@ boolean idle_set_pref_int(const char *prefidx, int val, ulong id) { iipref *data; - if (mainw==NULL||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL&&(!mainw->record||mainw->playing_file==-1)))|| + if (mainw == NULL || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL && (!mainw->record || + mainw->playing_file == -1))) || mainw->go_away) return FALSE; - data=(iipref *)lives_malloc(sizeof(iipref)); - data->id=id; - data->prefidx=lives_strdup(prefidx); - data->val=val; - lives_idle_add(call_set_pref_int,(livespointer)data); + data = (iipref *)lives_malloc(sizeof(iipref)); + data->id = id; + data->prefidx = lives_strdup(prefidx); + data->val = val; + lives_idle_add(call_set_pref_int, (livespointer)data); return TRUE; } @@ -1688,15 +1706,16 @@ boolean idle_set_pref_bitmapped(const char *prefidx, int bitfield, boolean val, ulong id) { bmpref *data; - if (mainw==NULL||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL&&(!mainw->record||mainw->playing_file==-1)))|| + if (mainw == NULL || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL && (!mainw->record || + mainw->playing_file == -1))) || mainw->go_away) return FALSE; - data=(bmpref *)lives_malloc(sizeof(bmpref)); - data->id=id; - data->prefidx=lives_strdup(prefidx); - data->bitfield=bitfield; - data->val=val; - lives_idle_add(call_set_pref_bitmapped,(livespointer)data); + data = (bmpref *)lives_malloc(sizeof(bmpref)); + data->id = id; + data->prefidx = lives_strdup(prefidx); + data->bitfield = bitfield; + data->val = val; + lives_idle_add(call_set_pref_bitmapped, (livespointer)data); return TRUE; } @@ -1705,13 +1724,14 @@ boolean idle_set_if_mode(lives_interface_mode_t mode, ulong id) { iipref *data; - if (mainw==NULL||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))||mainw->go_away||mainw->is_processing|| - mainw->playing_file>-1) return FALSE; + if (mainw == NULL || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->go_away || + mainw->is_processing || + mainw->playing_file > -1) return FALSE; - data=(iipref *)lives_malloc(sizeof(iipref)); - data->id=id; - data->val=(int)mode; - lives_idle_add(call_set_if_mode,(livespointer)data); + data = (iipref *)lives_malloc(sizeof(iipref)); + data->id = id; + data->val = (int)mode; + lives_idle_add(call_set_if_mode, (livespointer)data); return TRUE; } @@ -1720,16 +1740,17 @@ boolean idle_insert_block(int clipno, boolean ign_sel, boolean with_audio, ulong id) { iblock *data; - if (mainw==NULL||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))||mainw->go_away||mainw->is_processing|| - mainw->playing_file>-1) return FALSE; - if (mainw->multitrack==NULL) return FALSE; + if (mainw == NULL || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->go_away || + mainw->is_processing || + mainw->playing_file > -1) return FALSE; + if (mainw->multitrack == NULL) return FALSE; - data=(iblock *)lives_malloc(sizeof(iblock)); - data->id=id; - data->clip=clipno; - data->ign_sel=ign_sel; - data->with_audio=with_audio; - lives_idle_add(call_insert_block,(livespointer)data); + data = (iblock *)lives_malloc(sizeof(iblock)); + data->id = id; + data->clip = clipno; + data->ign_sel = ign_sel; + data->with_audio = with_audio; + lives_idle_add(call_insert_block, (livespointer)data); return TRUE; } @@ -1738,17 +1759,18 @@ mblockdata *data; track_rect *tr; - if (mainw==NULL||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))||mainw->go_away||mainw->is_processing|| - mainw->playing_file>-1) return FALSE; - if (mainw->multitrack==NULL) return FALSE; + if (mainw == NULL || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->go_away || + mainw->is_processing || + mainw->playing_file > -1) return FALSE; + if (mainw->multitrack == NULL) return FALSE; - tr=find_block_by_uid(mainw->multitrack, uid); - if (tr==NULL) return FALSE; + tr = find_block_by_uid(mainw->multitrack, uid); + if (tr == NULL) return FALSE; - data=(mblockdata *)lives_malloc(sizeof(mblockdata)); - data->id=id; - data->block=tr; - lives_idle_add(call_remove_block,(livespointer)data); + data = (mblockdata *)lives_malloc(sizeof(mblockdata)); + data->id = id; + data->block = tr; + lives_idle_add(call_remove_block, (livespointer)data); return TRUE; } @@ -1757,23 +1779,24 @@ mblockdata *data; track_rect *tr; - if (mainw==NULL||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))||mainw->go_away||mainw->is_processing|| - mainw->playing_file>-1) return FALSE; - if (mainw->multitrack==NULL) return FALSE; + if (mainw == NULL || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->go_away || + mainw->is_processing || + mainw->playing_file > -1) return FALSE; + if (mainw->multitrack == NULL) return FALSE; - tr=find_block_by_uid(mainw->multitrack, uid); - if (tr==NULL) return FALSE; + tr = find_block_by_uid(mainw->multitrack, uid); + if (tr == NULL) return FALSE; - if (track>=lives_list_length(mainw->multitrack->video_draws)||track<-mainw->multitrack->opts.back_audio_tracks) return FALSE; + if (track >= lives_list_length(mainw->multitrack->video_draws) || track < -mainw->multitrack->opts.back_audio_tracks) return FALSE; - if (time<0.) return FALSE; + if (time < 0.) return FALSE; - data=(mblockdata *)lives_malloc(sizeof(mblockdata)); - data->id=id; - data->block=tr; - data->track=track; - data->time=time; - lives_idle_add(call_move_block,(livespointer)data); + data = (mblockdata *)lives_malloc(sizeof(mblockdata)); + data->id = id; + data->block = tr; + data->track = track; + data->time = time; + lives_idle_add(call_move_block, (livespointer)data); return TRUE; } @@ -1781,14 +1804,15 @@ boolean idle_wipe_layout(boolean force, ulong id) { iblock *data; - if (mainw==NULL||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))||mainw->go_away||mainw->is_processing|| - mainw->playing_file>-1) return FALSE; - if (mainw->multitrack==NULL) return FALSE; + if (mainw == NULL || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->go_away || + mainw->is_processing || + mainw->playing_file > -1) return FALSE; + if (mainw->multitrack == NULL) return FALSE; - data=(iblock *)lives_malloc(sizeof(iblock)); - data->ign_sel=force; - data->id=id; - lives_idle_add(call_wipe_layout,(livespointer)data); + data = (iblock *)lives_malloc(sizeof(iblock)); + data->ign_sel = force; + data->id = id; + lives_idle_add(call_wipe_layout, (livespointer)data); return TRUE; } @@ -1797,13 +1821,14 @@ boolean idle_choose_layout(ulong id) { iblock *data; - if (mainw==NULL||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))||mainw->go_away||mainw->is_processing|| - mainw->playing_file>-1) return FALSE; - if (mainw->multitrack==NULL) return FALSE; + if (mainw == NULL || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->go_away || + mainw->is_processing || + mainw->playing_file > -1) return FALSE; + if (mainw->multitrack == NULL) return FALSE; - data=(iblock *)lives_malloc(sizeof(iblock)); - data->id=id; - lives_idle_add(call_choose_layout,(livespointer)data); + data = (iblock *)lives_malloc(sizeof(iblock)); + data->id = id; + lives_idle_add(call_choose_layout, (livespointer)data); return TRUE; } @@ -1812,14 +1837,15 @@ boolean idle_reload_layout(const char *lname, ulong id) { msginfo *data; - if (mainw==NULL||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))||mainw->go_away||mainw->is_processing|| - mainw->playing_file>-1) return FALSE; - if (mainw->multitrack==NULL) return FALSE; + if (mainw == NULL || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->go_away || + mainw->is_processing || + mainw->playing_file > -1) return FALSE; + if (mainw->multitrack == NULL) return FALSE; - data=(msginfo *)lives_malloc(sizeof(msginfo)); - data->id=id; - data->msg=lives_strdup(lname); - lives_idle_add(call_reload_layout,(livespointer)data); + data = (msginfo *)lives_malloc(sizeof(msginfo)); + data->id = id; + data->msg = lives_strdup(lname); + lives_idle_add(call_reload_layout, (livespointer)data); return TRUE; } @@ -1829,15 +1855,16 @@ boolean idle_save_layout(const char *lname, ulong id) { msginfo *data; - if (mainw==NULL||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))||mainw->go_away||mainw->is_processing|| - mainw->playing_file>-1) return FALSE; - if (mainw->multitrack==NULL) return FALSE; + if (mainw == NULL || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->go_away || + mainw->is_processing || + mainw->playing_file > -1) return FALSE; + if (mainw->multitrack == NULL) return FALSE; - data=(msginfo *)lives_malloc(sizeof(msginfo)); - data->id=id; - if (lname!=NULL) data->msg=lives_strdup(lname); - else data->msg=NULL; - lives_idle_add(call_save_layout,(livespointer)data); + data = (msginfo *)lives_malloc(sizeof(msginfo)); + data->id = id; + if (lname != NULL) data->msg = lives_strdup(lname); + else data->msg = NULL; + lives_idle_add(call_save_layout, (livespointer)data); return TRUE; } @@ -1846,15 +1873,16 @@ boolean idle_render_layout(boolean with_aud, boolean normalise_aud, ulong id) { iblock *data; - if (mainw==NULL||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))||mainw->go_away||mainw->is_processing|| - mainw->playing_file>-1) return FALSE; - if (mainw->multitrack==NULL) return FALSE; + if (mainw == NULL || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->go_away || + mainw->is_processing || + mainw->playing_file > -1) return FALSE; + if (mainw->multitrack == NULL) return FALSE; - data=(iblock *)lives_malloc(sizeof(iblock)); - data->with_audio=with_aud; - data->ign_sel=normalise_aud; - data->id=id; - lives_idle_add(call_render_layout,(livespointer)data); + data = (iblock *)lives_malloc(sizeof(iblock)); + data->with_audio = with_aud; + data->ign_sel = normalise_aud; + data->id = id; + lives_idle_add(call_render_layout, (livespointer)data); return TRUE; } @@ -1863,14 +1891,15 @@ boolean idle_select_all(int cnum, ulong id) { iipref *data; - if (mainw==NULL||((mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL&&(!mainw->record||mainw->playing_file==-1)))&& - mainw->multitrack==NULL)||mainw->go_away|| + if (mainw == NULL || ((mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL && (!mainw->record || + mainw->playing_file == -1))) && + mainw->multitrack == NULL) || mainw->go_away || mainw->is_processing) return FALSE; - data=(iipref *)lives_malloc(sizeof(iipref)); - data->id=id; - data->val=cnum; - lives_idle_add(call_select_all,(livespointer)data); + data = (iipref *)lives_malloc(sizeof(iipref)); + data->id = id; + data->val = cnum; + lives_idle_add(call_select_all, (livespointer)data); return TRUE; } @@ -1878,15 +1907,16 @@ boolean idle_select_start(int cnum, int frame, ulong id) { iipref *data; - if (mainw==NULL||((mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL&&(!mainw->record||mainw->playing_file==-1)))&& - mainw->multitrack==NULL)||mainw->go_away|| + if (mainw == NULL || ((mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL && (!mainw->record || + mainw->playing_file == -1))) && + mainw->multitrack == NULL) || mainw->go_away || mainw->is_processing) return FALSE; - data=(iipref *)lives_malloc(sizeof(iipref)); - data->id=id; - data->val=cnum; - data->integ=frame; - lives_idle_add(call_select_start,(livespointer)data); + data = (iipref *)lives_malloc(sizeof(iipref)); + data->id = id; + data->val = cnum; + data->integ = frame; + lives_idle_add(call_select_start, (livespointer)data); return TRUE; } @@ -1895,15 +1925,16 @@ boolean idle_select_end(int cnum, int frame, ulong id) { iipref *data; - if (mainw==NULL||((mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL&&(!mainw->record||mainw->playing_file==-1)))&& - mainw->multitrack==NULL)||mainw->go_away|| + if (mainw == NULL || ((mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL && (!mainw->record || + mainw->playing_file == -1))) && + mainw->multitrack == NULL) || mainw->go_away || mainw->is_processing) return FALSE; - data=(iipref *)lives_malloc(sizeof(iipref)); - data->id=id; - data->val=cnum; - data->integ=frame; - lives_idle_add(call_select_end,(livespointer)data); + data = (iipref *)lives_malloc(sizeof(iipref)); + data->id = id; + data->val = cnum; + data->integ = frame; + lives_idle_add(call_select_end, (livespointer)data); return TRUE; } @@ -1912,14 +1943,14 @@ boolean idle_set_current_fps(double fps, ulong id) { opfidata *data; - if (mainw==NULL||mainw->playing_file == -1) return FALSE; + if (mainw == NULL || mainw->playing_file == -1) return FALSE; if (mainw->multitrack != NULL) return FALSE; - data=(opfidata *)lives_malloc(sizeof(opfidata)); - data->id=id; - data->stime=fps; - lives_idle_add(call_set_current_fps,(livespointer)data); + data = (opfidata *)lives_malloc(sizeof(opfidata)); + data->id = id; + data->stime = fps; + lives_idle_add(call_set_current_fps, (livespointer)data); return TRUE; } @@ -1927,13 +1958,13 @@ boolean idle_set_current_frame(int frame, boolean bg, ulong id) { ibpref *data; - if (mainw==NULL||mainw->playing_file == -1) return FALSE; + if (mainw == NULL || mainw->playing_file == -1) return FALSE; if (mainw->multitrack != NULL) return FALSE; - data=(bpref *)lives_malloc(sizeof(bpref)); - data->integ=frame; - data->val=bg; - lives_idle_add(call_set_current_frame,(livespointer)data); + data = (ibpref *)lives_malloc(sizeof(ibpref)); + data->integ = frame; + data->val = bg; + lives_idle_add(call_set_current_frame, (livespointer)data); return TRUE; } @@ -1942,12 +1973,12 @@ boolean idle_set_loop_mode(int mode, ulong id) { iipref *data; - if (mainw==NULL||mainw->go_away) return FALSE; + if (mainw == NULL || mainw->go_away) return FALSE; - data=(iipref *)lives_malloc(sizeof(iipref)); - data->id=id; - data->val=mode; - lives_idle_add(call_set_loop_mode,(livespointer)data); + data = (iipref *)lives_malloc(sizeof(iipref)); + data->id = id; + data->val = mode; + lives_idle_add(call_set_loop_mode, (livespointer)data); return TRUE; } @@ -1956,11 +1987,11 @@ boolean idle_resync_fps(ulong id) { iipref *data; - if (mainw==NULL||mainw->playing_file==-1) return FALSE; + if (mainw == NULL || mainw->playing_file == -1) return FALSE; - data=(iipref *)lives_malloc(sizeof(iipref)); - data->id=id; - lives_idle_add(call_resync_fps,(livespointer)data); + data = (iipref *)lives_malloc(sizeof(iipref)); + data->id = id; + lives_idle_add(call_resync_fps, (livespointer)data); return TRUE; } @@ -1969,11 +2000,11 @@ boolean idle_cancel_proc(ulong id) { iipref *data; - if (mainw==NULL||mainw->current_file==-1||cfile==NULL||cfile->proc_ptr==NULL|| + if (mainw == NULL || mainw->current_file == -1 || cfile == NULL || cfile->proc_ptr == NULL || !lives_widget_is_visible(cfile->proc_ptr->cancel_button)) return FALSE; - data=(iipref *)lives_malloc(sizeof(iipref)); - data->id=id; - lives_idle_add(call_cancel_proc,(livespointer)data); + data = (iipref *)lives_malloc(sizeof(iipref)); + data->id = id; + lives_idle_add(call_cancel_proc, (livespointer)data); return TRUE; }
View file
LiVES-2.8.4.tar.bz2/src/lbindings.h -> LiVES-2.8.6.tar.bz2/src/lbindings.h
Changed
@@ -35,9 +35,9 @@ boolean idle_choose_set(ulong id); boolean idle_reload_set(const char *setname, ulong id); boolean idle_set_set_name(ulong id); -boolean idle_set_pref_bool(int prefidx, boolean val, ulong id); -boolean idle_set_pref_int(int prefidx, int val, ulong id); -boolean idle_set_pref_bitmapped(int prefidx, int bitfield, boolean val, ulong id); +boolean idle_set_pref_bool(const char *prefidx, boolean val, ulong id); +boolean idle_set_pref_int(const char *prefidx, int val, ulong id); +boolean idle_set_pref_bitmapped(const char *prefidx, int bitfield, boolean val, ulong id); boolean idle_switch_clip(int type, int cnum, ulong id); boolean idle_unmap_effects(ulong id); boolean idle_map_fx(int key, int mode, int idx, ulong id);
View file
LiVES-2.8.4.tar.bz2/src/ldvcallbacks.c -> LiVES-2.8.6.tar.bz2/src/ldvcallbacks.c
Changed
@@ -12,105 +12,105 @@ void on_camgrab_clicked(LiVESButton *button, livespointer user_data) { - s_cam *cam=(s_cam *)user_data; + s_cam *cam = (s_cam *)user_data; char *msg; - if (dvgrabw->filename!=NULL) lives_free(dvgrabw->filename); - dvgrabw->filename=find_free_camfile(cam->format); - if (dvgrabw->filename==NULL) return; + if (dvgrabw->filename != NULL) lives_free(dvgrabw->filename); + dvgrabw->filename = find_free_camfile(cam->format); + if (dvgrabw->filename == NULL) return; - lives_widget_set_sensitive(dvgrabw->grab,FALSE); - lives_set_cursor_style(LIVES_CURSOR_BUSY,dvgrabw->dialog); + lives_widget_set_sensitive(dvgrabw->grab, FALSE); + lives_set_cursor_style(LIVES_CURSOR_BUSY, dvgrabw->dialog); - if (!dvgrabw->playing) on_camplay_clicked(NULL,user_data); + if (!dvgrabw->playing) on_camplay_clicked(NULL, user_data); - if (dvgrabw->dirname!=NULL) lives_free(dvgrabw->dirname); - dvgrabw->dirname=lives_strdup(lives_entry_get_text(LIVES_ENTRY(dvgrabw->dirent))); + if (dvgrabw->dirname != NULL) lives_free(dvgrabw->dirname); + dvgrabw->dirname = lives_strdup(lives_entry_get_text(LIVES_ENTRY(dvgrabw->dirent))); - msg=lives_strdup_printf(_("Recording to %s/%s"),dvgrabw->dirname,dvgrabw->filename); - lives_entry_set_text(LIVES_ENTRY(dvgrabw->status_entry),msg); + msg = lives_strdup_printf(_("Recording to %s/%s"), dvgrabw->dirname, dvgrabw->filename); + lives_entry_set_text(LIVES_ENTRY(dvgrabw->status_entry), msg); lives_free(msg); - if (cam->format==CAM_FORMAT_DV) { - dvgrabw->filename=lives_strdup(lives_entry_get_text(LIVES_ENTRY(dvgrabw->filent))); + if (cam->format == CAM_FORMAT_DV) { + dvgrabw->filename = lives_strdup(lives_entry_get_text(LIVES_ENTRY(dvgrabw->filent))); } rec(cam); - cam->grabbed_clips=TRUE; + cam->grabbed_clips = TRUE; } void on_camstop_clicked(LiVESButton *button, livespointer user_data) { - s_cam *cam=(s_cam *)user_data; + s_cam *cam = (s_cam *)user_data; - lives_widget_set_sensitive(dvgrabw->stop,FALSE); - dvgrabw->playing=FALSE; + lives_widget_set_sensitive(dvgrabw->stop, FALSE); + dvgrabw->playing = FALSE; - if (cam->format==CAM_FORMAT_DV) { - if (cam->pgid!=0) lives_killpg(cam->pgid, LIVES_SIGTERM); - cam->pgid=0; + if (cam->format == CAM_FORMAT_DV) { + if (cam->pgid != 0) lives_killpg(cam->pgid, LIVES_SIGTERM); + cam->pgid = 0; } - lives_set_cursor_style(LIVES_CURSOR_NORMAL,dvgrabw->dialog); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, dvgrabw->dialog); camstop(cam); - lives_button_set_label(LIVES_BUTTON(dvgrabw->play),LIVES_STOCK_LABEL_MEDIA_PLAY); - lives_widget_set_sensitive(dvgrabw->grab,TRUE); - lives_entry_set_text(LIVES_ENTRY(dvgrabw->status_entry),_("Status: Ready")); + lives_button_set_label(LIVES_BUTTON(dvgrabw->play), LIVES_STOCK_LABEL_MEDIA_PLAY); + lives_widget_set_sensitive(dvgrabw->grab, TRUE); + lives_entry_set_text(LIVES_ENTRY(dvgrabw->status_entry), _("Status: Ready")); } void on_camplay_clicked(LiVESButton *button, livespointer user_data) { - s_cam *cam=(s_cam *)user_data; + s_cam *cam = (s_cam *)user_data; camplay(cam); - dvgrabw->playing=!dvgrabw->playing; + dvgrabw->playing = !dvgrabw->playing; if (dvgrabw->playing) { - lives_button_set_label(LIVES_BUTTON(dvgrabw->play),LIVES_STOCK_LABEL_MEDIA_PAUSE); + lives_button_set_label(LIVES_BUTTON(dvgrabw->play), LIVES_STOCK_LABEL_MEDIA_PAUSE); } else { - lives_button_set_label(LIVES_BUTTON(dvgrabw->play),LIVES_STOCK_LABEL_MEDIA_PLAY); + lives_button_set_label(LIVES_BUTTON(dvgrabw->play), LIVES_STOCK_LABEL_MEDIA_PLAY); } - lives_widget_set_sensitive(dvgrabw->stop,TRUE); + lives_widget_set_sensitive(dvgrabw->stop, TRUE); } void on_camrew_clicked(LiVESButton *button, livespointer user_data) { - s_cam *cam=(s_cam *)user_data; + s_cam *cam = (s_cam *)user_data; camrew(cam); - lives_widget_set_sensitive(dvgrabw->stop,TRUE); + lives_widget_set_sensitive(dvgrabw->stop, TRUE); } void on_camff_clicked(LiVESButton *button, livespointer user_data) { - s_cam *cam=(s_cam *)user_data; + s_cam *cam = (s_cam *)user_data; camff(cam); - lives_widget_set_sensitive(dvgrabw->stop,TRUE); + lives_widget_set_sensitive(dvgrabw->stop, TRUE); } void on_cameject_clicked(LiVESButton *button, livespointer user_data) { - s_cam *cam=(s_cam *)user_data; + s_cam *cam = (s_cam *)user_data; cameject(cam); } void on_camquit_clicked(LiVESButton *button, livespointer user_data) { - s_cam *cam=(s_cam *)user_data; + s_cam *cam = (s_cam *)user_data; - on_camstop_clicked(button,user_data); + on_camstop_clicked(button, user_data); //if (cam->format==CAM_FORMAT_HDV) close_raw1394(cam->rec_handle); lives_widget_destroy(dvgrabw->dialog); - if (dvgrabw->cursor!=NULL) lives_cursor_unref(dvgrabw->cursor); - if (dvgrabw->filename!=NULL) lives_free(dvgrabw->filename); - if (dvgrabw->dirname!=NULL) lives_free(dvgrabw->dirname); + if (dvgrabw->cursor != NULL) lives_cursor_unref(dvgrabw->cursor); + if (dvgrabw->filename != NULL) lives_free(dvgrabw->filename); + if (dvgrabw->dirname != NULL) lives_free(dvgrabw->dirname); if (cam->grabbed_clips) do_error_dialog_with_check (_("\nClips grabbed from the device can now be loaded with File|Open File/Directory.\n"), WARN_MASK_AFTER_DVGRAB); - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } }
View file
LiVES-2.8.4.tar.bz2/src/ldvgrab.c -> LiVES-2.8.6.tar.bz2/src/ldvgrab.c
Changed
@@ -43,7 +43,7 @@ simple and quit */ int reset_handler(raw1394handle_t handle, unsigned int generation) { raw1394_update_generation(handle, generation); - on_camquit_clicked(NULL,dvgrabw->cam); + on_camquit_clicked(NULL, dvgrabw->cam); return 0; } @@ -109,15 +109,15 @@ struct raw1394_portinfo pinf[16]; - s_cam *cam=(s_cam *)lives_malloc(sizeof(s_cam)); + s_cam *cam = (s_cam *)lives_malloc(sizeof(s_cam)); char *msg; int n_ports; - register int i,j; + register int i, j; - cam->device=-1; + cam->device = -1; #ifdef RAW1394_V_0_8 cam->handle = raw1394_get_handle(); @@ -136,7 +136,7 @@ } if ((n_ports = raw1394_get_port_info(cam->handle, pinf, 16)) < 0) { - msg=lives_strdup_printf(_("raw1394 - failed to get port info: %s.\n"), lives_strerror(errno)); + msg = lives_strdup_printf(_("raw1394 - failed to get port info: %s.\n"), lives_strerror(errno)); d_print(msg); lives_free(msg); raw1394_destroy_handle(cam->handle); @@ -148,16 +148,16 @@ for (j = 0; j < n_ports && cam->device == -1; j++) { if (raw1394_set_port(cam->handle, j) < 0) { - msg=lives_strdup_printf(_("\nraw1394 - couldn't set port %d !\n"),j); + msg = lives_strdup_printf(_("\nraw1394 - couldn't set port %d !\n"), j); d_print(msg); lives_free(msg); continue; } - for (i=0; i < raw1394_get_nodecount(cam->handle); ++i) { + for (i = 0; i < raw1394_get_nodecount(cam->handle); ++i) { if (rom1394_get_directory(cam->handle, i, &rom_dir) < 0) { - msg=lives_strdup_printf(_("error reading config rom directory for node %d\n"), i); + msg = lives_strdup_printf(_("error reading config rom directory for node %d\n"), i); d_print(msg); lives_free(msg); continue; @@ -171,7 +171,7 @@ } } - if (0&&cam->device == -1) { + if (0 && cam->device == -1) { do_error_dialog( _("\nLiVES could not find any firewire camera.\nPlease make sure your camera is switched on,\n" "and check that you have read/write permissions for the camera device\n(generally /dev/raw1394*).\n")); @@ -194,7 +194,7 @@ } void camstop(s_cam *cam) { - g_alldone=1; + g_alldone = 1; avc1394_vcr_stop(cam->handle, cam->device); } @@ -220,35 +220,35 @@ char *find_free_camfile(int format) { - char *filename=lives_strdup(lives_entry_get_text(LIVES_ENTRY(dvgrabw->filent))); - char *fname,*tmp=NULL,*tmp2,*tmp3; + char *filename = lives_strdup(lives_entry_get_text(LIVES_ENTRY(dvgrabw->filent))); + char *fname, *tmp = NULL, *tmp2, *tmp3; register int i; - if (format==CAM_FORMAT_HDV) { - for (i=1; i<10000; i++) { - fname=lives_strdup_printf("%s%04d.mpg",filename,i); - if (!lives_file_test((tmp=lives_build_filename((tmp2=lives_filename_from_utf8(dvgrabw->dirname,-1,NULL,NULL,NULL)), - (tmp3=lives_filename_from_utf8(fname,-1,NULL,NULL,NULL)),NULL)), + if (format == CAM_FORMAT_HDV) { + for (i = 1; i < 10000; i++) { + fname = lives_strdup_printf("%s%04d.mpg", filename, i); + if (!lives_file_test((tmp = lives_build_filename((tmp2 = lives_filename_from_utf8(dvgrabw->dirname, -1, NULL, NULL, NULL)), + (tmp3 = lives_filename_from_utf8(fname, -1, NULL, NULL, NULL)), NULL)), LIVES_FILE_TEST_EXISTS)) break; lives_free(tmp); lives_free(tmp2); lives_free(tmp3); - tmp=NULL; + tmp = NULL; } } else { - for (i=1; i<1000; i++) { - fname=lives_strdup_printf("%s%03d.dv",filename,i); - if (!lives_file_test((tmp=lives_build_filename((tmp2=lives_filename_from_utf8(dvgrabw->dirname,-1,NULL,NULL,NULL)), - (tmp3=lives_filename_from_utf8(fname,-1,NULL,NULL,NULL)),NULL)), + for (i = 1; i < 1000; i++) { + fname = lives_strdup_printf("%s%03d.dv", filename, i); + if (!lives_file_test((tmp = lives_build_filename((tmp2 = lives_filename_from_utf8(dvgrabw->dirname, -1, NULL, NULL, NULL)), + (tmp3 = lives_filename_from_utf8(fname, -1, NULL, NULL, NULL)), NULL)), LIVES_FILE_TEST_EXISTS)) break; lives_free(tmp); lives_free(tmp2); lives_free(tmp3); - tmp=NULL; + tmp = NULL; } } - if (tmp!=NULL) lives_free(tmp); + if (tmp != NULL) lives_free(tmp); lives_free(filename); return fname; @@ -258,26 +258,26 @@ boolean rec(s_cam *cam) { // returns filename of file being written - char *tmp2,*tmp3,*com; + char *tmp2, *tmp3, *com; char *splits; - if (cam->pgid!=0) return FALSE; + if (cam->pgid != 0) return FALSE; - if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(dvgrabw->split))) splits=lives_strdup("-autosplit "); - else splits=lives_strdup(""); + if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(dvgrabw->split))) splits = lives_strdup("-autosplit "); + else splits = lives_strdup(""); - if (cam->format==CAM_FORMAT_DV) { + if (cam->format == CAM_FORMAT_DV) { // dv format #ifndef IS_MINGW - com=lives_strdup_printf("dvgrab -format raw %s\"%s/%s\" >/dev/null 2>&1 &",splits, - (tmp2=lives_filename_from_utf8(dvgrabw->dirname,-1,NULL,NULL,NULL)), - (tmp3=lives_filename_from_utf8(dvgrabw->filename,-1,NULL,NULL,NULL))); + com = lives_strdup_printf("dvgrab -format raw %s\"%s/%s\" >/dev/null 2>&1 &", splits, + (tmp2 = lives_filename_from_utf8(dvgrabw->dirname, -1, NULL, NULL, NULL)), + (tmp3 = lives_filename_from_utf8(dvgrabw->filename, -1, NULL, NULL, NULL))); #else - com=lives_strdup_printf("dvgrab.exe -format raw %s\"%s\\%s\" >NUL 2>&1 &",splits, - (tmp2=lives_filename_from_utf8(dvgrabw->dirname,-1,NULL,NULL,NULL)), - (tmp3=lives_filename_from_utf8(dvgrabw->filename,-1,NULL,NULL,NULL))); + com = lives_strdup_printf("dvgrab.exe -format raw %s\"%s\\%s\" >NUL 2>&1 &", splits, + (tmp2 = lives_filename_from_utf8(dvgrabw->dirname, -1, NULL, NULL, NULL)), + (tmp3 = lives_filename_from_utf8(dvgrabw->filename, -1, NULL, NULL, NULL))); #endif - cam->pgid=lives_fork(com); + cam->pgid = lives_fork(com); lives_free(com); lives_free(tmp2); lives_free(tmp3); @@ -287,16 +287,16 @@ // hdv format #ifndef IS_MINGW - com=lives_strdup_printf("dvgrab -format mpeg2 %s\"%s/%s\" >/dev/null 2>&1 &",splits, - (tmp2=lives_filename_from_utf8(dvgrabw->dirname,-1,NULL,NULL,NULL)), - (tmp3=lives_filename_from_utf8(dvgrabw->filename,-1,NULL,NULL,NULL))); + com = lives_strdup_printf("dvgrab -format mpeg2 %s\"%s/%s\" >/dev/null 2>&1 &", splits, + (tmp2 = lives_filename_from_utf8(dvgrabw->dirname, -1, NULL, NULL, NULL)), + (tmp3 = lives_filename_from_utf8(dvgrabw->filename, -1, NULL, NULL, NULL))); #else - com=lives_strdup_printf("dvgrab.exe -format mpeg2 %s\"%s\\%s\" >NUL 2>&1 &",splits, - (tmp2=lives_filename_from_utf8(dvgrabw->dirname,-1,NULL,NULL,NULL)), - (tmp3=lives_filename_from_utf8(dvgrabw->filename,-1,NULL,NULL,NULL))); + com = lives_strdup_printf("dvgrab.exe -format mpeg2 %s\"%s\\%s\" >NUL 2>&1 &", splits, + (tmp2 = lives_filename_from_utf8(dvgrabw->dirname, -1, NULL, NULL, NULL)), + (tmp3 = lives_filename_from_utf8(dvgrabw->filename, -1, NULL, NULL, NULL))); #endif - cam->pgid=lives_fork(com); + cam->pgid = lives_fork(com); lives_free(com); lives_free(tmp2); @@ -309,43 +309,43 @@ void on_open_fw_activate(LiVESMenuItem *menuitem, livespointer user_data) { - int type=LIVES_POINTER_TO_INT(user_data); // type 0==dv, type 1==hdv + int type = LIVES_POINTER_TO_INT(user_data); // type 0==dv, type 1==hdv s_cam *cam; - if (!capable->has_mplayer&&!capable->has_mplayer2) { + if (!capable->has_mplayer && !capable->has_mplayer2) { do_need_mplayer_dialog(); return; } - if (type==CAM_FORMAT_DV&&!capable->has_dvgrab) { + if (type == CAM_FORMAT_DV && !capable->has_dvgrab) { do_dvgrab_error(); return; } - cam=camready(); - if (cam==NULL) return; + cam = camready(); + if (cam == NULL) return; /* if (type==CAM_FORMAT_HDV) { cam->rec_handle=open_raw1394(); if (cam->rec_handle==NULL) return; } else*/ - cam->rec_handle=NULL; + cam->rec_handle = NULL; - if (mainw->multitrack!=NULL) { - if (mainw->multitrack->idlefunc>0) { + if (mainw->multitrack != NULL) { + if (mainw->multitrack->idlefunc > 0) { lives_source_remove(mainw->multitrack->idlefunc); - mainw->multitrack->idlefunc=0; + mainw->multitrack->idlefunc = 0; } mt_desensitise(mainw->multitrack); } - dvgrabw = create_camwindow(cam,type); + dvgrabw = create_camwindow(cam, type); lives_widget_show_all(dvgrabw->dialog); - dvgrabw->cursor=NULL; - cam->format=type; - cam->grabbed_clips=FALSE; - cam->pgid=0; - dvgrabw->cam=cam; + dvgrabw->cursor = NULL; + cam->format = type; + cam->grabbed_clips = FALSE; + cam->pgid = 0; + dvgrabw->cam = cam; }
View file
LiVES-2.8.4.tar.bz2/src/ldvinterface.c -> LiVES-2.8.6.tar.bz2/src/ldvinterface.c
Changed
@@ -1,6 +1,6 @@ // ldvinterface.c // LiVES -// (c) G. Finch 2006-2016 <salsaman@gmail.com> +// (c) G. Finch 2006-2017 <salsaman@gmail.com> // released under the GNU GPL 3 or later // see file ../COPYING for licensing details @@ -20,34 +20,33 @@ LiVESWidget *hbox; LiVESWidget *label; - struct _dvgrabw *dvgrabw=(struct _dvgrabw *)lives_malloc(sizeof(struct _dvgrabw)); + struct _dvgrabw *dvgrabw = (struct _dvgrabw *)lives_malloc(sizeof(struct _dvgrabw)); - dvgrabw->filename=NULL; + dvgrabw->filename = NULL; - dvgrabw->dialog = lives_standard_dialog_new(_("DVGrab"),FALSE,-1,-1); - dvgrabw->playing=FALSE; + dvgrabw->dialog = lives_standard_dialog_new(_("DVGrab"), FALSE, -1, -1); + dvgrabw->playing = FALSE; if (prefs->show_gui) { - if (mainw->multitrack==NULL) lives_window_set_transient_for(LIVES_WINDOW(dvgrabw->dialog),LIVES_WINDOW(mainw->LiVES)); - else lives_window_set_transient_for(LIVES_WINDOW(dvgrabw->dialog),LIVES_WINDOW(mainw->multitrack->window)); + lives_window_set_transient_for(LIVES_WINDOW(dvgrabw->dialog), LIVES_WINDOW(LIVES_MAIN_WINDOW_WIDGET)); } - vbox=lives_dialog_get_content_area(LIVES_DIALOG(dvgrabw->dialog)); + vbox = lives_dialog_get_content_area(LIVES_DIALOG(dvgrabw->dialog)); - hbox = lives_hbox_new(FALSE,0); - lives_box_pack_start(LIVES_BOX(vbox),hbox,FALSE,FALSE,widget_opts.packing_height); + hbox = lives_hbox_new(FALSE, 0); + lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - buttond = lives_standard_file_button_new(TRUE,NULL); + buttond = lives_standard_file_button_new(TRUE, NULL); - label=lives_standard_label_new_with_mnemonic(_("Save _directory :"),buttond); - lives_box_pack_start(LIVES_BOX(hbox),label,FALSE,FALSE,widget_opts.packing_width); + label = lives_standard_label_new_with_mnemonic(_("Save _directory :"), buttond); + lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, FALSE, widget_opts.packing_width); - lives_box_pack_start(LIVES_BOX(hbox),buttond,FALSE,FALSE,widget_opts.packing_width); + lives_box_pack_start(LIVES_BOX(hbox), buttond, FALSE, FALSE, widget_opts.packing_width); - dvgrabw->dirname=lives_filename_to_utf8(lives_get_current_dir(),-1,NULL,NULL,NULL); - dvgrabw->dirent=lives_standard_entry_new(NULL,FALSE,dvgrabw->dirname,-1,PATH_MAX, - LIVES_BOX(hbox),NULL); + dvgrabw->dirname = lives_filename_to_utf8(lives_get_current_dir(), -1, NULL, NULL, NULL); + dvgrabw->dirent = lives_standard_entry_new(NULL, FALSE, dvgrabw->dirname, -1, PATH_MAX, + LIVES_BOX(hbox), NULL); lives_signal_connect(buttond, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_filesel_button_clicked), (livespointer)dvgrabw->dirent); @@ -55,72 +54,73 @@ ////////////////// - hbox = lives_hbox_new(FALSE,0); - lives_box_pack_start(LIVES_BOX(vbox),hbox,FALSE,FALSE,widget_opts.packing_height); + hbox = lives_hbox_new(FALSE, 0); + lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - dvgrabw->filent=lives_standard_entry_new(_("File_name:"),TRUE,type==CAM_FORMAT_DV?"dvgrab-":"hdvgrab-",-1,-1,LIVES_BOX(hbox),NULL); + dvgrabw->filent = lives_standard_entry_new(_("File_name:"), TRUE, type == CAM_FORMAT_DV ? "dvgrab-" : "hdvgrab-", -1, -1, LIVES_BOX(hbox), + NULL); - if (type==CAM_FORMAT_DV) label=lives_standard_label_new("%d.dv"); - else label=lives_standard_label_new("%d.mpg"); - lives_box_pack_start(LIVES_BOX(hbox),label,FALSE,FALSE,0); + if (type == CAM_FORMAT_DV) label = lives_standard_label_new("%d.dv"); + else label = lives_standard_label_new("%d.mpg"); + lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, FALSE, 0); - label=lives_standard_label_new(_("(files will not be overwritten)")); - lives_box_pack_end(LIVES_BOX(hbox),label,FALSE,FALSE,widget_opts.packing_width); + label = lives_standard_label_new(_("(files will not be overwritten)")); + lives_box_pack_end(LIVES_BOX(hbox), label, FALSE, FALSE, widget_opts.packing_width); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - dvgrabw->split=lives_standard_check_button_new(_("_Split into scenes"),TRUE,LIVES_BOX(hbox),NULL); + dvgrabw->split = lives_standard_check_button_new(_("_Split into scenes"), TRUE, LIVES_BOX(hbox), NULL); // TODO - widget_opts.editable - dvgrabw->status_entry=lives_entry_new(); + dvgrabw->status_entry = lives_entry_new(); - lives_box_pack_start(LIVES_BOX(vbox),dvgrabw->status_entry,FALSE,FALSE,widget_opts.packing_height); - lives_entry_set_text(LIVES_ENTRY(dvgrabw->status_entry),_("Status: Ready")); - lives_editable_set_editable(LIVES_EDITABLE(dvgrabw->status_entry),FALSE); + lives_box_pack_start(LIVES_BOX(vbox), dvgrabw->status_entry, FALSE, FALSE, widget_opts.packing_height); + lives_entry_set_text(LIVES_ENTRY(dvgrabw->status_entry), _("Status: Ready")); + lives_editable_set_editable(LIVES_EDITABLE(dvgrabw->status_entry), FALSE); add_hsep_to_box(LIVES_BOX(vbox)); hbuttonbox1 = lives_hbutton_box_new(); - lives_box_pack_start(LIVES_BOX(vbox),hbuttonbox1,FALSE,FALSE,widget_opts.packing_height); + lives_box_pack_start(LIVES_BOX(vbox), hbuttonbox1, FALSE, FALSE, widget_opts.packing_height); - button3 = lives_button_new_from_stock(LIVES_STOCK_MEDIA_REWIND,NULL); + button3 = lives_button_new_from_stock(LIVES_STOCK_MEDIA_REWIND, NULL); lives_container_add(LIVES_CONTAINER(hbuttonbox1), button3); - lives_widget_set_can_focus(button3,TRUE); + lives_widget_set_can_focus(button3, TRUE); - button4 = lives_button_new_from_stock(LIVES_STOCK_MEDIA_FORWARD,NULL); + button4 = lives_button_new_from_stock(LIVES_STOCK_MEDIA_FORWARD, NULL); lives_container_add(LIVES_CONTAINER(hbuttonbox1), button4); - lives_widget_set_can_focus(button4,TRUE); + lives_widget_set_can_focus(button4, TRUE); - dvgrabw->stop = lives_button_new_from_stock(LIVES_STOCK_MEDIA_STOP,NULL); + dvgrabw->stop = lives_button_new_from_stock(LIVES_STOCK_MEDIA_STOP, NULL); lives_container_add(LIVES_CONTAINER(hbuttonbox1), dvgrabw->stop); lives_widget_set_can_focus_and_default(dvgrabw->stop); - lives_widget_set_sensitive(dvgrabw->stop,FALSE); + lives_widget_set_sensitive(dvgrabw->stop, FALSE); - dvgrabw->play = lives_button_new_from_stock(LIVES_STOCK_MEDIA_PLAY,NULL); + dvgrabw->play = lives_button_new_from_stock(LIVES_STOCK_MEDIA_PLAY, NULL); lives_container_add(LIVES_CONTAINER(hbuttonbox1), dvgrabw->play); lives_widget_set_can_focus_and_default(dvgrabw->play); - dvgrabw->grab = lives_button_new_from_stock(LIVES_STOCK_MEDIA_RECORD,_("_Grab")); + dvgrabw->grab = lives_button_new_from_stock(LIVES_STOCK_MEDIA_RECORD, _("_Grab")); lives_container_add(LIVES_CONTAINER(hbuttonbox1), dvgrabw->grab); lives_widget_set_can_focus_and_default(dvgrabw->grab); - label=lives_standard_label_new( - _("\nUse this tool to control your camera and grab clips.\nAfter grabbing your clips, you can close this window \nand then load them into LiVES.\n")); - lives_box_pack_start(LIVES_BOX(vbox),label,FALSE,FALSE,widget_opts.packing_height*4); + label = lives_standard_label_new( + _("\nUse this tool to control your camera and grab clips.\nAfter grabbing your clips, you can close this window \nand then load them into LiVES.\n")); + lives_box_pack_start(LIVES_BOX(vbox), label, FALSE, FALSE, widget_opts.packing_height * 4); hbuttonbox2 = lives_hbutton_box_new(); - lives_box_pack_start(LIVES_BOX(vbox),hbuttonbox2,FALSE,FALSE,widget_opts.packing_height); + lives_box_pack_start(LIVES_BOX(vbox), hbuttonbox2, FALSE, FALSE, widget_opts.packing_height); - dvgrabw->quit = lives_button_new_from_stock(LIVES_STOCK_CLOSE,_("_Close Window")); + dvgrabw->quit = lives_button_new_from_stock(LIVES_STOCK_CLOSE, _("_Close Window")); lives_container_add(LIVES_CONTAINER(hbuttonbox2), dvgrabw->quit); lives_widget_set_can_focus_and_default(dvgrabw->quit); @@ -128,12 +128,12 @@ ////////////////////////////////////////////////////////////////////////////////////////// - lives_signal_connect(button3, LIVES_WIDGET_CLICKED_SIGNAL,LIVES_GUI_CALLBACK(on_camrew_clicked),(livespointer)cam); - lives_signal_connect(button4, LIVES_WIDGET_CLICKED_SIGNAL,LIVES_GUI_CALLBACK(on_camff_clicked),(livespointer)cam); - lives_signal_connect(dvgrabw->stop, LIVES_WIDGET_CLICKED_SIGNAL,LIVES_GUI_CALLBACK(on_camstop_clicked),(livespointer)cam); - lives_signal_connect(dvgrabw->play, LIVES_WIDGET_CLICKED_SIGNAL,LIVES_GUI_CALLBACK(on_camplay_clicked),(livespointer)cam); - lives_signal_connect(dvgrabw->grab, LIVES_WIDGET_CLICKED_SIGNAL,LIVES_GUI_CALLBACK(on_camgrab_clicked),(livespointer)cam); - lives_signal_connect(dvgrabw->quit, LIVES_WIDGET_CLICKED_SIGNAL,LIVES_GUI_CALLBACK(on_camquit_clicked),(livespointer)cam); + lives_signal_connect(button3, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_camrew_clicked), (livespointer)cam); + lives_signal_connect(button4, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_camff_clicked), (livespointer)cam); + lives_signal_connect(dvgrabw->stop, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_camstop_clicked), (livespointer)cam); + lives_signal_connect(dvgrabw->play, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_camplay_clicked), (livespointer)cam); + lives_signal_connect(dvgrabw->grab, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_camgrab_clicked), (livespointer)cam); + lives_signal_connect(dvgrabw->quit, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_camquit_clicked), (livespointer)cam); return dvgrabw; }
View file
LiVES-2.8.4.tar.bz2/src/liblives.cpp -> LiVES-2.8.6.tar.bz2/src/liblives.cpp
Changed
@@ -1,6 +1,6 @@ // liblives.cpp // LiVES (lives-exe) -// (c) G. Finch <salsaman@gmail.com> 2015 +// (c) G. Finch <salsaman@gmail.com> 2015 - 2017 // Released under the GPL 3 or later // see file ../COPYING for licensing details @@ -27,7 +27,7 @@ int real_main(int argc, char *argv[], pthread_t *gtk_thread, ulong id); - bool lives_osc_cb_quit(void *context, int arglen, const void *vargs, OSCTimeTag when, void * ra); + bool lives_osc_cb_quit(void *context, int arglen, const void *vargs, OSCTimeTag when, void *ra); track_rect *find_block_by_uid(lives_mt *mt, ulong uid); @@ -58,2298 +58,2268 @@ namespace lives { #ifndef DOXYGEN_SKIP - typedef struct { - ulong id; - livesApp *app; - } livesAppCtx; - - static list<livesAppCtx> appMgr; - - static livesApp *find_instance_for_id(ulong id) { - list<livesAppCtx>::iterator it = appMgr.begin(); - while (it != appMgr.end()) { - if ((*it).id == id) { - return (*it).app; - } - ++it; - } - return NULL; +typedef struct { + ulong id; + livesApp *app; +} livesAppCtx; + +static list<livesAppCtx> appMgr; + +static livesApp *find_instance_for_id(ulong id) { + list<livesAppCtx>::iterator it; + for (it = appMgr.begin(); it != appMgr.end(); it++) { + if ((*it).id == id) return (*it).app; } + return NULL; +} #endif - void livesString::setEncoding(lives_char_encoding_t enc) { - m_encoding = enc; - } +void livesString::setEncoding(lives_char_encoding_t enc) { + m_encoding = enc; +} - lives_char_encoding_t livesString::encoding() { - return m_encoding; - } +lives_char_encoding_t livesString::encoding() { + return m_encoding; +} - livesString livesString::toEncoding(lives_char_encoding_t enc) { - if (enc == LIVES_CHAR_ENCODING_UTF8) { - if (m_encoding == LIVES_CHAR_ENCODING_LOCAL8BIT) { - livesString str(L2U8(this->c_str())); - str.setEncoding(LIVES_CHAR_ENCODING_UTF8); - return str; - } +livesString livesString::toEncoding(lives_char_encoding_t enc) { + if (enc == LIVES_CHAR_ENCODING_UTF8) { + if (m_encoding == LIVES_CHAR_ENCODING_LOCAL8BIT) { + livesString str(L2U8(this->c_str())); + str.setEncoding(LIVES_CHAR_ENCODING_UTF8); + return str; + } #ifndef IS_MINGW - else if (m_encoding == LIVES_CHAR_ENCODING_FILESYSTEM) { - livesString str(F2U8(this->c_str())); - str.setEncoding(LIVES_CHAR_ENCODING_UTF8); - return str; - } -#endif + else if (m_encoding == LIVES_CHAR_ENCODING_FILESYSTEM) { + livesString str(F2U8(this->c_str())); + str.setEncoding(LIVES_CHAR_ENCODING_UTF8); + return str; } - else if (enc == LIVES_CHAR_ENCODING_FILESYSTEM) { +#endif + } else if (enc == LIVES_CHAR_ENCODING_FILESYSTEM) { #ifndef IS_MINGW - if (m_encoding == LIVES_CHAR_ENCODING_UTF8) { - livesString str(U82F(this->c_str())); - str.setEncoding(LIVES_CHAR_ENCODING_FILESYSTEM); - return str; - } + if (m_encoding == LIVES_CHAR_ENCODING_UTF8) { + livesString str(U82F(this->c_str())); + str.setEncoding(LIVES_CHAR_ENCODING_FILESYSTEM); + return str; + } #else - if (m_encoding == LIVES_CHAR_ENCODING_LOCAL8BIT) { - livesString str(U82L(this->c_str())); - str.setEncoding(LIVES_CHAR_ENCODING_FILESYSTEM); - return str; - } + if (m_encoding == LIVES_CHAR_ENCODING_LOCAL8BIT) { + livesString str(U82L(this->c_str())); + str.setEncoding(LIVES_CHAR_ENCODING_FILESYSTEM); + return str; + } #endif + } else if (enc == LIVES_CHAR_ENCODING_LOCAL8BIT) { + if (m_encoding == LIVES_CHAR_ENCODING_UTF8) { + livesString str(U82L(this->c_str())); + str.setEncoding(LIVES_CHAR_ENCODING_LOCAL8BIT); + return str; } - else if (enc == LIVES_CHAR_ENCODING_LOCAL8BIT) { - if (m_encoding == LIVES_CHAR_ENCODING_UTF8) { - livesString str(U82L(this->c_str())); - str.setEncoding(LIVES_CHAR_ENCODING_LOCAL8BIT); - return str; - } #ifndef IS_MINGW - if (m_encoding == LIVES_CHAR_ENCODING_FILESYSTEM) { - livesString str(F2U8(this->c_str())); - str.assign(U82L(str.c_str())); - str.setEncoding(LIVES_CHAR_ENCODING_LOCAL8BIT); - return str; - } -#endif + if (m_encoding == LIVES_CHAR_ENCODING_FILESYSTEM) { + livesString str(F2U8(this->c_str())); + str.assign(U82L(str.c_str())); + str.setEncoding(LIVES_CHAR_ENCODING_LOCAL8BIT); + return str; } - return *this; +#endif } - - + return *this; +} - void livesApp::init(int argc, char *oargv[]) { - char **argv; - char progname[] = "lives-exe"; - if (argc < 0) argc=0; - argc++; - argv=(char **)malloc(argc * sizeof(char *)); - argv[0]=strdup(progname); - for (int i=1; i < argc; i++) { - argv[i]=strdup(oargv[i-1]); - } +void livesApp::init(int argc, char *oargv[]) { + char **argv; + char progname[] = "lives-exe"; + if (argc < 0) argc = 0; + argc++; - ulong id = lives_random(); - livesAppCtx *ctx = new livesAppCtx; + argv = (char **)malloc(argc * sizeof(char *)); + argv[0] = strdup(progname); - pthread_t *gtk_thread = new pthread_t; + for (int i = 1; i < argc; i++) { + argv[i] = strdup(oargv[i - 1]); + } - ctx->id = id; - ctx->app = this; - appMgr.push_back(*ctx); + ulong id = lives_random(); + livesAppCtx *ctx = new livesAppCtx; - m_set = new set(this); - m_player = new player(this); - m_effectKeyMap = new effectKeyMap(this); - m_multitrack = new multitrack(this); + pthread_t *gtk_thread = new pthread_t; - m_deinterlace = false; + ctx->id = id; + ctx->app = this; + appMgr.push_back(*ctx); - m_thread = gtk_thread; + m_set = new set(this); + m_player = new player(this); + m_effectKeyMap = new effectKeyMap(this); + m_multitrack = new multitrack(this); - m_id = id; + m_deinterlace = false; - real_main(argc, argv, m_thread, m_id); - free(argv); + m_thread = gtk_thread; + m_id = id; - } + real_main(argc, argv, m_thread, m_id); + free(argv); +} - livesApp::livesApp() : m_id(0l) { - if (appMgr.empty()) - init(0,NULL); - } +livesApp::livesApp() : m_id(0l) { + if (appMgr.empty()) + init(0, NULL); +} - livesApp::livesApp(int argc, char *argv[]) : m_id(0l) { - if (appMgr.empty()) - init(argc,argv); - } +livesApp::livesApp(int argc, char *argv[]) : m_id(0l) { + if (appMgr.empty()) + init(argc, argv); +} - livesApp::~livesApp() { - if (!isValid()) return; - idle_quit(m_thread); - } +livesApp::~livesApp() { + if (!isValid()) return; + idle_quit(m_thread); +} - bool livesApp::isValid() const { - return this != NULL && m_id != 0l; - } +bool livesApp::isValid() const { + return this != NULL && m_id != 0l; +} - bool livesApp::isPlaying() const { - return status() == LIVES_STATUS_PLAYING; - } +bool livesApp::isPlaying() const { + return status() == LIVES_STATUS_PLAYING; +} - bool livesApp::isReady() const { - return status() == LIVES_STATUS_READY; - } +bool livesApp::isReady() const { + return status() == LIVES_STATUS_READY; +} - const set& livesApp::getSet() { - return *m_set; - } +const set &livesApp::getSet() { + return *m_set; +} - const player& livesApp::getPlayer() { - return *m_player; - } +const player &livesApp::getPlayer() { + return *m_player; +} - const multitrack& livesApp::getMultitrack() { - return *m_multitrack; - } +const multitrack &livesApp::getMultitrack() { + return *m_multitrack; +} - ulong livesApp::appendClosure(lives_callback_t cb_type, callback_f func, void *data) const { - closure *cl = new closure; - cl->id = lives_random(); - cl->object = (livesApp *)this; - cl->cb_type = cb_type; - cl->func = (callback_f)func; - cl->data = data; - while (pthread_mutex_trylock(&spin_mutex)) { - // lock mutex so that new callbacks cannot be added yet - lives_usleep(::prefs->sleep_time); - } - ((livesApp *)this)->m_closures.push_back(cl); - pthread_mutex_unlock(&spin_mutex); - return cl->id; +ulong livesApp::appendClosure(lives_callback_t cb_type, callback_f func, void *data) const { + closure *cl = new closure; + cl->id = lives_random(); + cl->object = (livesApp *)this; + cl->cb_type = cb_type; + cl->func = (callback_f)func; + cl->data = data; + while (pthread_mutex_trylock(&spin_mutex)) { + // lock mutex so that new callbacks cannot be added yet + lives_usleep(::prefs->sleep_time); } + ((livesApp *)this)->m_closures.push_back(cl); + pthread_mutex_unlock(&spin_mutex); + return cl->id; +} #ifndef DOXYGEN_SKIP - void livesApp::setClosures(closureList cl) { - m_closures = cl; - } +void livesApp::setClosures(closureList cl) { + m_closures = cl; +} #endif - ulong livesApp::addCallback(lives_callback_t cb_type, modeChanged_callback_f func, void *data) const { - if (cb_type != LIVES_CALLBACK_MODE_CHANGED) return 0l; - return appendClosure(cb_type, (callback_f)func, data); - } +ulong livesApp::addCallback(lives_callback_t cb_type, modeChanged_callback_f func, void *data) const { + if (cb_type != LIVES_CALLBACK_MODE_CHANGED) return 0l; + return appendClosure(cb_type, (callback_f)func, data); +} - ulong livesApp::addCallback(lives_callback_t cb_type, private_callback_f func, void *data) const { - if (cb_type != LIVES_CALLBACK_PRIVATE) return 0l; - return appendClosure(cb_type, (callback_f)func, data); - } +ulong livesApp::addCallback(lives_callback_t cb_type, private_callback_f func, void *data) const { + if (cb_type != LIVES_CALLBACK_PRIVATE) return 0l; + return appendClosure(cb_type, (callback_f)func, data); +} - ulong livesApp::addCallback(lives_callback_t cb_type, objectDestroyed_callback_f func, void *data) const { - if (cb_type != LIVES_CALLBACK_OBJECT_DESTROYED) return 0l; - return appendClosure(cb_type, (callback_f)func, data); - } +ulong livesApp::addCallback(lives_callback_t cb_type, objectDestroyed_callback_f func, void *data) const { + if (cb_type != LIVES_CALLBACK_OBJECT_DESTROYED) return 0l; + return appendClosure(cb_type, (callback_f)func, data); +} - ulong livesApp::addCallback(lives_callback_t cb_type, appQuit_callback_f func, void *data) const { - if (cb_type != LIVES_CALLBACK_APP_QUIT) return 0l; - return appendClosure(cb_type, (callback_f)func, data); - } +ulong livesApp::addCallback(lives_callback_t cb_type, appQuit_callback_f func, void *data) const { + if (cb_type != LIVES_CALLBACK_APP_QUIT) return 0l; + return appendClosure(cb_type, (callback_f)func, data); +} - bool livesApp::removeCallback(ulong id) const { - while (pthread_mutex_trylock(&spin_mutex)) { - // lock mutex so that new callbacks cannot be added yet - lives_usleep(::prefs->sleep_time); - } - closureListIterator it = ((livesApp *)this)->m_closures.begin(); - while (it != ((livesApp *)this)->m_closures.end()) { - if ((*it)->id == id) { - delete *it; - ((livesApp *)this)->m_closures.erase(it); - pthread_mutex_unlock(&spin_mutex); - return true; - } - ++it; - } - pthread_mutex_unlock(&spin_mutex); - return false; +bool livesApp::removeCallback(ulong id) const { + while (pthread_mutex_trylock(&spin_mutex)) { + // lock mutex so that new callbacks cannot be added yet + lives_usleep(::prefs->sleep_time); } - - - lives_dialog_response_t livesApp::showInfo(livesString text, bool blocking) { - lives_dialog_response_t ret=LIVES_DIALOG_RESPONSE_INVALID; - if (!isValid() || status() == LIVES_STATUS_NOTREADY) return ret; - // if blocking wait for response - if (blocking) { - spinning = true; - msg_id = lives_random(); - ulong cbid = addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - pthread_mutex_lock(&cond_mutex); - if (!idle_show_info(text.toEncoding(LIVES_CHAR_ENCODING_UTF8).c_str(),blocking, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - removeCallback(cbid); - } - else { - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); - pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - ret = (lives_dialog_response_t)atoi(private_response); - lives_free(private_response); - } - } - return ret; + closureListIterator it = ((livesApp *)this)->m_closures.begin(); + while (it != ((livesApp *)this)->m_closures.end()) { + if ((*it)->id == id) { + delete *it; + ((livesApp *)this)->m_closures.erase(it); + pthread_mutex_unlock(&spin_mutex); + return true; } - if (idle_show_info(text.toEncoding(LIVES_CHAR_ENCODING_UTF8).c_str(),blocking,0)) - return LIVES_DIALOG_RESPONSE_NONE; - return ret; + ++it; } + pthread_mutex_unlock(&spin_mutex); + return false; +} - livesString livesApp::chooseFileWithPreview(livesString dirname, lives_filechooser_t preview_type, livesString title) { - livesString emptystr; - if (!isValid() || status() == LIVES_STATUS_NOTREADY) return emptystr; - if (preview_type != LIVES_FILE_CHOOSER_VIDEO_AUDIO && preview_type != LIVES_FILE_CHOOSER_AUDIO_ONLY) return emptystr; +lives_dialog_response_t livesApp::showInfo(livesString text, bool blocking) { + lives_dialog_response_t ret = LIVES_DIALOG_RESPONSE_INVALID; + if (!isValid() || status() == LIVES_STATUS_NOTREADY) return ret; + // if blocking wait for response + if (blocking) { spinning = true; msg_id = lives_random(); ulong cbid = addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); pthread_mutex_lock(&cond_mutex); - if (!idle_choose_file_with_preview(dirname.toEncoding(LIVES_CHAR_ENCODING_FILESYSTEM).c_str(), - title.toEncoding(LIVES_CHAR_ENCODING_UTF8).c_str(), - preview_type, msg_id)) { + if (!idle_show_info(text.toEncoding(LIVES_CHAR_ENCODING_UTF8).c_str(), blocking, msg_id)) { pthread_mutex_unlock(&cond_mutex); spinning = false; removeCallback(cbid); - } - else { + } else { while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); pthread_mutex_unlock(&cond_mutex); if (isValid()) { - // last 2 chars are " " and %d (deinterlace choice) - livesString str(private_response, strlen(private_response) - 2, LIVES_CHAR_ENCODING_FILESYSTEM); - m_deinterlace = (bool)atoi(private_response + strlen(private_response) - 2); - lives_free(private_response); - return str; + ret = (lives_dialog_response_t)atoi(private_response); + lives_free(private_response); } } - return emptystr; + return ret; } + if (idle_show_info(text.toEncoding(LIVES_CHAR_ENCODING_UTF8).c_str(), blocking, 0)) + return LIVES_DIALOG_RESPONSE_NONE; + return ret; +} - livesString livesApp::chooseSet() { - livesString emptystr; - if (!isValid() || status() == LIVES_STATUS_NOTREADY) return emptystr; - spinning = true; - msg_id = lives_random(); - ulong cbid = addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - pthread_mutex_lock(&cond_mutex); - if (!idle_choose_set(msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - removeCallback(cbid); - } - else { - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); - pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - livesString str(private_response, LIVES_CHAR_ENCODING_FILESYSTEM); - lives_free(private_response); - return str; - } +livesString livesApp::chooseFileWithPreview(livesString dirname, lives_filechooser_t preview_type, livesString title) { + livesString emptystr; + if (!isValid() || status() == LIVES_STATUS_NOTREADY) return emptystr; + if (preview_type != LIVES_FILE_CHOOSER_VIDEO_AUDIO && preview_type != LIVES_FILE_CHOOSER_AUDIO_ONLY) return emptystr; + spinning = true; + msg_id = lives_random(); + ulong cbid = addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + pthread_mutex_lock(&cond_mutex); + if (!idle_choose_file_with_preview(dirname.toEncoding(LIVES_CHAR_ENCODING_FILESYSTEM).c_str(), + title.toEncoding(LIVES_CHAR_ENCODING_UTF8).c_str(), + preview_type, msg_id)) { + pthread_mutex_unlock(&cond_mutex); + spinning = false; + removeCallback(cbid); + } else { + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + // last 2 chars are " " and %d (deinterlace choice) + livesString str(private_response, strlen(private_response) - 2, LIVES_CHAR_ENCODING_FILESYSTEM); + m_deinterlace = (bool)atoi(private_response + strlen(private_response) - 2); + lives_free(private_response); + return str; } - return emptystr; } + return emptystr; +} - livesStringList livesApp::availableSets() { - livesStringList list; - if (!isValid() || status() == LIVES_STATUS_NOTREADY) return list; - LiVESList *setlist=get_set_list(::prefs->tmpdir, true), *slist=setlist; - while (slist != NULL) { - list.push_back(livesString((const char *)slist->data, LIVES_CHAR_ENCODING_UTF8)); - lives_free(slist->data); - slist = slist->next; +livesString livesApp::chooseSet() { + livesString emptystr; + if (!isValid() || status() == LIVES_STATUS_NOTREADY) return emptystr; + spinning = true; + msg_id = lives_random(); + ulong cbid = addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + pthread_mutex_lock(&cond_mutex); + if (!idle_choose_set(msg_id)) { + pthread_mutex_unlock(&cond_mutex); + spinning = false; + removeCallback(cbid); + } else { + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + livesString str(private_response, LIVES_CHAR_ENCODING_FILESYSTEM); + lives_free(private_response); + return str; } - lives_list_free(setlist); - return list; } + return emptystr; +} - clip livesApp::openFile(livesString fname, bool with_audio, double stime, int frames, bool deinterlace) { - if (!isValid() || status() == LIVES_STATUS_NOTREADY) return clip(); - if (fname.empty()) return clip(); - spinning = true; - msg_id = lives_random(); - ulong cbid = addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - ulong cid = 0l; - - pthread_mutex_lock(&cond_mutex); - if (!idle_open_file(fname.toEncoding(LIVES_CHAR_ENCODING_FILESYSTEM).c_str(), stime, frames, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - removeCallback(cbid); - } - else { - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); - pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - cid = strtoul(private_response, NULL, 10); - lives_free(private_response); - } - } - return clip(cid, this); +livesStringList livesApp::availableSets() { + livesStringList list; + if (!isValid() || status() == LIVES_STATUS_NOTREADY) return list; + LiVESList *setlist = get_set_list(::prefs->workdir, true), *slist = setlist; + while (slist != NULL) { + list.push_back(livesString((const char *)slist->data, LIVES_CHAR_ENCODING_UTF8)); + lives_free(slist->data); + slist = slist->next; } + lives_list_free(setlist); + return list; +} - bool livesApp::reloadSet(livesString setname) { - if (!isValid() || status() == LIVES_STATUS_NOTREADY) return false; - spinning = true; - msg_id = lives_random(); - ulong cbid = addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - - pthread_mutex_lock(&cond_mutex); - if (!idle_reload_set(setname.toEncoding(LIVES_CHAR_ENCODING_FILESYSTEM).c_str(), msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - removeCallback(cbid); - return false; - } +clip livesApp::openFile(livesString fname, bool with_audio, double stime, int frames, bool deinterlace) { + if (!isValid() || status() == LIVES_STATUS_NOTREADY) return clip(); + if (fname.empty()) return clip(); + spinning = true; + msg_id = lives_random(); + ulong cbid = addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + ulong cid = 0l; + + pthread_mutex_lock(&cond_mutex); + if (!idle_open_file(fname.toEncoding(LIVES_CHAR_ENCODING_FILESYSTEM).c_str(), stime, frames, msg_id)) { + pthread_mutex_unlock(&cond_mutex); + spinning = false; + removeCallback(cbid); + } else { while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); pthread_mutex_unlock(&cond_mutex); if (isValid()) { - bool ret = (bool)atoi(private_response); + cid = strtoul(private_response, NULL, 10); lives_free(private_response); - return ret; } - return false; } + return clip(cid, this); +} - bool livesApp::deinterlaceOption() { - return m_deinterlace; - } +bool livesApp::reloadSet(livesString setname) { + if (!isValid() || status() == LIVES_STATUS_NOTREADY) return false; + spinning = true; + msg_id = lives_random(); + ulong cbid = addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - lives_interface_mode_t livesApp::mode() { - if (!isValid() || status() == LIVES_STATUS_NOTREADY) return LIVES_INTERFACE_MODE_INVALID; - if (m_multitrack->isActive()) return LIVES_INTERFACE_MODE_MULTITRACK; - return LIVES_INTERFACE_MODE_CLIPEDIT; + pthread_mutex_lock(&cond_mutex); + if (!idle_reload_set(setname.toEncoding(LIVES_CHAR_ENCODING_FILESYSTEM).c_str(), msg_id)) { + pthread_mutex_unlock(&cond_mutex); + spinning = false; + removeCallback(cbid); + return false; + } + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + bool ret = (bool)atoi(private_response); + lives_free(private_response); + return ret; } + return false; +} - lives_interface_mode_t livesApp::setMode(lives_interface_mode_t newmode) { - if (!isValid() || status() == LIVES_STATUS_NOTREADY) return LIVES_INTERFACE_MODE_INVALID; - spinning = true; - msg_id = lives_random(); - ulong cbid = addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - - pthread_mutex_lock(&cond_mutex); - if (!idle_set_if_mode(newmode, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - removeCallback(cbid); - return mode(); - } - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); +bool livesApp::deinterlaceOption() { + return m_deinterlace; +} + +lives_interface_mode_t livesApp::mode() { + if (!isValid() || status() == LIVES_STATUS_NOTREADY) return LIVES_INTERFACE_MODE_INVALID; + if (m_multitrack->isActive()) return LIVES_INTERFACE_MODE_MULTITRACK; + return LIVES_INTERFACE_MODE_CLIPEDIT; +} + + +lives_interface_mode_t livesApp::setMode(lives_interface_mode_t newmode) { + if (!isValid() || status() == LIVES_STATUS_NOTREADY) return LIVES_INTERFACE_MODE_INVALID; + spinning = true; + msg_id = lives_random(); + ulong cbid = addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + + pthread_mutex_lock(&cond_mutex); + if (!idle_set_if_mode(newmode, msg_id)) { pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - bool ret = (bool)atoi(private_response); - lives_free(private_response); - } + spinning = false; + removeCallback(cbid); return mode(); } + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + lives_free(private_response); + } + return mode(); +} - lives_status_t livesApp::status() const { - if (!isValid()) return LIVES_STATUS_INVALID; - if (mainw->go_away) return LIVES_STATUS_NOTREADY; - if (mainw->is_processing) return LIVES_STATUS_PROCESSING; - if ((mainw->preview || mainw->event_list != NULL) && mainw->multitrack==NULL) return LIVES_STATUS_PREVIEW; - if (mainw->playing_file > -1 || mainw->preview) return LIVES_STATUS_PLAYING; - return LIVES_STATUS_READY; - } +lives_status_t livesApp::status() const { + if (!isValid()) return LIVES_STATUS_INVALID; + if (mainw->go_away) return LIVES_STATUS_NOTREADY; + if (mainw->is_processing) return LIVES_STATUS_PROCESSING; + if ((mainw->preview || mainw->event_list != NULL) && mainw->multitrack == NULL) return LIVES_STATUS_PREVIEW; + if (mainw->playing_file > -1 || mainw->preview) return LIVES_STATUS_PLAYING; + return LIVES_STATUS_READY; +} - bool livesApp::cancel() { - if (!isValid()) return false; - if (status() != LIVES_STATUS_PROCESSING) return false; - bool ret = false; - spinning = true; - msg_id = lives_random(); - ulong cbid = addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - - pthread_mutex_lock(&cond_mutex); - if (!idle_cancel_proc(msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - removeCallback(cbid); - return false; - } - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); +bool livesApp::cancel() { + if (!isValid()) return false; + if (status() != LIVES_STATUS_PROCESSING) return false; + bool ret = false; + spinning = true; + msg_id = lives_random(); + ulong cbid = addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + + pthread_mutex_lock(&cond_mutex); + if (!idle_cancel_proc(msg_id)) { pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - ret = (bool)atoi(private_response); - lives_free(private_response); - } - return ret; + spinning = false; + removeCallback(cbid); + return false; + } + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + ret = (bool)atoi(private_response); + lives_free(private_response); } + return ret; +} #ifndef DOXYGEN_SKIP - closureList& livesApp::closures() { - return m_closures; - } +closureList &livesApp::closures() { + return m_closures; +} #endif - void livesApp::invalidate() { - m_id = 0l; - } +void livesApp::invalidate() { + m_id = 0l; +} - bool livesApp::interactive() { - return mainw->interactive; - } +bool livesApp::interactive() { + return mainw->interactive; +} - bool livesApp::setInteractive(bool setting) { - if (!isValid() || status() == LIVES_STATUS_NOTREADY) return mainw->interactive; - spinning = true; - msg_id = lives_random(); - ulong cbid = addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - pthread_mutex_lock(&cond_mutex); - if (!idle_set_interactive(setting, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - removeCallback(cbid); - } - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); +bool livesApp::setInteractive(bool setting) { + if (!isValid() || status() == LIVES_STATUS_NOTREADY) return mainw->interactive; + spinning = true; + msg_id = lives_random(); + ulong cbid = addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + pthread_mutex_lock(&cond_mutex); + if (!idle_set_interactive(setting, msg_id)) { pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - lives_free(private_response); - } - return setting; + spinning = false; + removeCallback(cbid); + } + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + lives_free(private_response); } + return setting; +} - const effectKeyMap& livesApp::getEffectKeyMap() { - return *m_effectKeyMap; - } +const effectKeyMap &livesApp::getEffectKeyMap() { + return *m_effectKeyMap; +} #ifndef DOXYGEN_SKIP - bool livesApp::setPref(const char *prefidx, bool val) const { - if (!isValid() || status() == LIVES_STATUS_NOTREADY) return false; - spinning = true; - msg_id = lives_random(); - ulong cbid = addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - pthread_mutex_lock(&cond_mutex); - if (!idle_set_pref_bool(prefidx, val, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - removeCallback(cbid); - return false; - } - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); +bool livesApp::setPref(const char *prefidx, bool val) const { + if (!isValid() || status() == LIVES_STATUS_NOTREADY) return false; + spinning = true; + msg_id = lives_random(); + ulong cbid = addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + pthread_mutex_lock(&cond_mutex); + if (!idle_set_pref_bool(prefidx, val, msg_id)) { pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - lives_free(private_response); - } - return true; + spinning = false; + removeCallback(cbid); + return false; } - - bool livesApp::setPref(const char *prefidx, int val) const { - if (!isValid() || status() == LIVES_STATUS_NOTREADY) return false; - spinning = true; - msg_id = lives_random(); - ulong cbid = addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - pthread_mutex_lock(&cond_mutex); - if (!idle_set_pref_int(prefidx, val, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - removeCallback(cbid); - return false; - } - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); - pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - lives_free(private_response); - } - return true; + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + lives_free(private_response); } + return true; +} - bool livesApp::setPref(const char *prefidx, int bitfield, bool val) const { - if (!isValid() || status() == LIVES_STATUS_NOTREADY) return false; - spinning = true; - msg_id = lives_random(); - ulong cbid = addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - pthread_mutex_lock(&cond_mutex); - if (!idle_set_pref_bitmapped(prefidx, bitfield, val, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - removeCallback(cbid); - return false; - } - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); +bool livesApp::setPref(const char *prefidx, int val) const { + if (!isValid() || status() == LIVES_STATUS_NOTREADY) return false; + spinning = true; + msg_id = lives_random(); + ulong cbid = addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + pthread_mutex_lock(&cond_mutex); + if (!idle_set_pref_int(prefidx, val, msg_id)) { pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - lives_free(private_response); - } - return true; + spinning = false; + removeCallback(cbid); + return false; } -#endif - - //////////////// player //////////////////// - - player::player(livesApp *lives) { - // make shared ptr - m_lives = lives; + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + lives_free(private_response); } + return true; +} - - bool player::isValid() const { - return m_lives != NULL && m_lives->isValid() && m_lives->status() != LIVES_STATUS_NOTREADY; +bool livesApp::setPref(const char *prefidx, int bitfield, bool val) const { + if (!isValid() || status() == LIVES_STATUS_NOTREADY) return false; + spinning = true; + msg_id = lives_random(); + ulong cbid = addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + pthread_mutex_lock(&cond_mutex); + if (!idle_set_pref_bitmapped(prefidx, bitfield, val, msg_id)) { + pthread_mutex_unlock(&cond_mutex); + spinning = false; + removeCallback(cbid); + return false; } + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + lives_free(private_response); + } + return true; +} +#endif +//////////////// player //////////////////// - bool player::isPlaying() const { - return isValid() && m_lives->isPlaying(); - } +player::player(livesApp *lives) { + // make shared ptr + m_lives = lives; +} - bool player::isRecording() const { - return isValid() && mainw->record; - } +bool player::isValid() const { + return m_lives != NULL && m_lives->isValid() && m_lives->status() != LIVES_STATUS_NOTREADY; +} - bool player::play() const { - if (!isValid() || !m_lives->isReady()) return false; - return start_player(); - } +bool player::isPlaying() const { + return isValid() && m_lives->isPlaying(); +} - bool player::stop() const { - if (!isPlaying()) return false; - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - pthread_mutex_lock(&cond_mutex); - if (!idle_stop_playback(msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - return false; - } - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + +bool player::isRecording() const { + return isValid() && mainw->record; +} + + +bool player::play() const { + if (!isValid() || !m_lives->isReady()) return false; + return start_player(); +} + +bool player::stop() const { + if (!isPlaying()) return false; + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + pthread_mutex_lock(&cond_mutex); + if (!idle_stop_playback(msg_id)) { pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - bool ret = atoi(private_response); - lives_free(private_response); - return ret; - } + spinning = false; + m_lives->removeCallback(cbid); return false; } + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + bool ret = atoi(private_response); + lives_free(private_response); + return ret; + } + return false; +} - void player::setSepWin(bool setting) const { - if (!isValid()) return; - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - pthread_mutex_lock(&cond_mutex); - if (!idle_set_sepwin(setting, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - return; - } - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); +void player::setSepWin(bool setting) const { + if (!isValid()) return; + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + pthread_mutex_lock(&cond_mutex); + if (!idle_set_sepwin(setting, msg_id)) { pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - lives_free(private_response); - } + spinning = false; + m_lives->removeCallback(cbid); return; } + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + lives_free(private_response); + } + return; +} - void player::setFullScreen(bool setting) const { - if (!isValid()) return; - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - pthread_mutex_lock(&cond_mutex); - if (!idle_set_fullscreen(setting, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - return; - } - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); +void player::setFullScreen(bool setting) const { + if (!isValid()) return; + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + pthread_mutex_lock(&cond_mutex); + if (!idle_set_fullscreen(setting, msg_id)) { pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - lives_free(private_response); - } + spinning = false; + m_lives->removeCallback(cbid); return; } + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + lives_free(private_response); + } + return; +} - bool player::sepWin() const { - if (!isValid()) return false; - return mainw->sep_win; - } +bool player::sepWin() const { + if (!isValid()) return false; + return mainw->sep_win; +} - bool player::fullScreen() const { - if (!isValid()) return false; - return mainw->fs; - } +bool player::fullScreen() const { + if (!isValid()) return false; + return mainw->fs; +} - bool player::setForegroundClip(clip c) const { - if (!isPlaying()) return false; - return c.switchTo(); - } +bool player::setForegroundClip(clip c) const { + if (!isPlaying()) return false; + return c.switchTo(); +} - bool player::setBackgroundClip(clip c) const { - if (!isPlaying()) return false; - return c.setIsBackground(); - } +bool player::setBackgroundClip(clip c) const { + if (!isPlaying()) return false; + return c.setIsBackground(); +} - clip player::foregroundClip() const { - if (!isPlaying()) return clip(); - if (m_lives->m_multitrack->isActive()) return clip(); - if (mainw->files[mainw->playing_file] != NULL) return clip(mainw->files[mainw->playing_file]->unique_id, m_lives); - return clip(); - } +clip player::foregroundClip() const { + if (!isPlaying()) return clip(); + if (m_lives->m_multitrack->isActive()) return clip(); + if (mainw->files[mainw->playing_file] != NULL) return clip(mainw->files[mainw->playing_file]->unique_id, m_lives); + return clip(); +} - clip player::backgroundClip() const { - if (!isPlaying()) return clip(); - if (m_lives->m_multitrack->isActive()) return clip(); - if (mainw->files[mainw->blend_file] != NULL) return clip(mainw->files[mainw->blend_file]->unique_id, m_lives); - return clip(); - } +clip player::backgroundClip() const { + if (!isPlaying()) return clip(); + if (m_lives->m_multitrack->isActive()) return clip(); + if (mainw->files[mainw->blend_file] != NULL) return clip(mainw->files[mainw->blend_file]->unique_id, m_lives); + return clip(); +} - void player::setFS(bool setting) const { - if (!isValid()) return; - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - pthread_mutex_lock(&cond_mutex); - if (!idle_set_fullscreen_sepwin(setting, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - return; - } - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); +void player::setFS(bool setting) const { + if (!isValid()) return; + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + pthread_mutex_lock(&cond_mutex); + if (!idle_set_fullscreen_sepwin(setting, msg_id)) { pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - lives_free(private_response); - } + spinning = false; + m_lives->removeCallback(cbid); return; } + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + lives_free(private_response); + } + return; +} - double player::videoPlaybackTime(bool background) const { - if (!isValid()) return 0.; +double player::videoPlaybackTime(bool background) const { + if (!isValid()) return 0.; - if (m_lives->status() == LIVES_STATUS_NOTREADY || m_lives->status() == LIVES_STATUS_PROCESSING) return 0.; + if (m_lives->status() == LIVES_STATUS_NOTREADY || m_lives->status() == LIVES_STATUS_PROCESSING) return 0.; - if (!m_lives->m_multitrack->isActive()) { - if (mainw->current_file == -1) return 0.; - if (mainw->playing_file > -1) { - if (!background) return (cfile->frameno - 1.)/cfile->fps; - else if (mainw->blend_file != -1 && mainw->blend_file != mainw->current_file && mainw->files[mainw->blend_file] != NULL) { - return mainw->files[mainw->blend_file]->frameno; - } - else return 0.; - } - else return cfile->pointer_time; - } - else { - return lives_ruler_get_value(LIVES_RULER(mainw->multitrack->timeline)); - } + if (!m_lives->m_multitrack->isActive()) { + if (mainw->current_file == -1) return 0.; + if (mainw->playing_file > -1) { + if (!background) return (cfile->frameno - 1.) / cfile->fps; + else if (mainw->blend_file != -1 && mainw->blend_file != mainw->current_file && mainw->files[mainw->blend_file] != NULL) { + return mainw->files[mainw->blend_file]->frameno; + } else return 0.; + } else return cfile->pointer_time; + } else { + return lives_ruler_get_value(LIVES_RULER(mainw->multitrack->timeline)); } +} - double player::audioPlaybackTime() const { - if (!isValid()) return 0.; +double player::audioPlaybackTime() const { + if (!isValid()) return 0.; - if (m_lives->status() != LIVES_STATUS_NOTREADY || m_lives->status() == LIVES_STATUS_PROCESSING) return 0.; + if (m_lives->status() != LIVES_STATUS_NOTREADY || m_lives->status() == LIVES_STATUS_PROCESSING) return 0.; - if (!m_lives->m_multitrack->isActive()) { - if (mainw->current_file == -1) return 0.; - if (mainw->playing_file > -1) return (mainw->aframeno - 1.)/cfile->fps; - else return cfile->pointer_time; - } - else { - return lives_ruler_get_value(LIVES_RULER(mainw->multitrack->timeline)); - } + if (!m_lives->m_multitrack->isActive()) { + if (mainw->current_file == -1) return 0.; + if (mainw->playing_file > -1) return (mainw->aframeno - 1.) / cfile->fps; + else return cfile->pointer_time; + } else { + return lives_ruler_get_value(LIVES_RULER(mainw->multitrack->timeline)); } +} - double player::setAudioPlaybackTime(double time) const { - if (!isValid()) return 0.; - if (!m_lives->isPlaying()) return 0.; - if (!is_realtime_aplayer(::prefs->audio_player)) return 0.; - if (mainw->record && ::prefs->audio_src == AUDIO_SRC_EXT) return 0.; - if (mainw->multitrack != NULL) return 0.; - if (time<0. || time > cfile->laudio_time) return 0.; +double player::setAudioPlaybackTime(double time) const { + if (!isValid()) return 0.; + if (!m_lives->isPlaying()) return 0.; + if (!is_realtime_aplayer(::prefs->audio_player)) return 0.; + if (mainw->record && ::prefs->audio_src == AUDIO_SRC_EXT) return 0.; + if (mainw->multitrack != NULL) return 0.; + if (time < 0. || time > cfile->laudio_time) return 0.; - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - pthread_mutex_lock(&cond_mutex); - if (!idle_set_current_audio_time(time, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - } - else { - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); - pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - lives_free(private_response); - } + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + pthread_mutex_lock(&cond_mutex); + if (!idle_set_current_audio_time(time, msg_id)) { + pthread_mutex_unlock(&cond_mutex); + spinning = false; + m_lives->removeCallback(cbid); + } else { + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + lives_free(private_response); } - return audioPlaybackTime(); } + return audioPlaybackTime(); +} - double player::setPlaybackStartTime(double time) const { - if (!isValid()) return 0.; - if (!m_lives->isReady()) return 0.; +double player::setPlaybackStartTime(double time) const { + if (!isValid()) return 0.; + if (!m_lives->isReady()) return 0.; - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - pthread_mutex_lock(&cond_mutex); - if (!idle_set_current_time(time, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - } - else { - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); - pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - lives_free(private_response); - } + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + pthread_mutex_lock(&cond_mutex); + if (!idle_set_current_time(time, msg_id)) { + pthread_mutex_unlock(&cond_mutex); + spinning = false; + m_lives->removeCallback(cbid); + } else { + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + lives_free(private_response); } - return videoPlaybackTime(); } + return videoPlaybackTime(); +} - int player::setVideoPlaybackFrame(int frame, bool bg) const { - if (!isValid()) return 0; +int player::setVideoPlaybackFrame(int frame, bool bg) const { + if (!isValid()) return 0; - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - pthread_mutex_lock(&cond_mutex); - if (!idle_set_current_frame(frame, bg, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - } - else { - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); - pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - lives_free(private_response); - } + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + pthread_mutex_lock(&cond_mutex); + if (!idle_set_current_frame(frame, bg, msg_id)) { + pthread_mutex_unlock(&cond_mutex); + spinning = false; + m_lives->removeCallback(cbid); + } else { + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + lives_free(private_response); } - return videoPlaybackTime(); } + return videoPlaybackTime(); +} - double player::elapsedTime() const { - if (!isPlaying()) return 0.; - return mainw->currticks/U_SEC; - } +double player::elapsedTime() const { + if (!isPlaying()) return 0.; + return mainw->currticks / U_SEC; +} - double player::currentFPS() const { - if (!isValid()) return 0.; - if (mainw->current_file == -1 || cfile == NULL) return 0.; - if (m_lives->status() != LIVES_STATUS_PLAYING && m_lives->status() != LIVES_STATUS_READY) return 0.; - return cfile->pb_fps; - } +double player::currentFPS() const { + if (!isValid()) return 0.; + if (mainw->current_file == -1 || cfile == NULL) return 0.; + if (m_lives->status() != LIVES_STATUS_PLAYING && m_lives->status() != LIVES_STATUS_READY) return 0.; + return cfile->pb_fps; +} - double player::setCurrentFPS(double fps) const { - if (!isPlaying()) return 0.; +double player::setCurrentFPS(double fps) const { + if (!isPlaying()) return 0.; - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - pthread_mutex_lock(&cond_mutex); - if (!idle_set_current_fps(fps, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - } - else { - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); - pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - lives_free(private_response); - } + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + pthread_mutex_lock(&cond_mutex); + if (!idle_set_current_fps(fps, msg_id)) { + pthread_mutex_unlock(&cond_mutex); + spinning = false; + m_lives->removeCallback(cbid); + } else { + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + lives_free(private_response); } - return currentFPS(); } + return currentFPS(); +} - int player::currentAudioRate() const { - if (!isValid()) return 0.; - if (m_lives->status() != LIVES_STATUS_PLAYING && m_lives->status() != LIVES_STATUS_READY) return 0.; - if (mainw->current_file == -1 || cfile == NULL) return 0.; - return cfile->arps; - } +int player::currentAudioRate() const { + if (!isValid()) return 0.; + if (m_lives->status() != LIVES_STATUS_PLAYING && m_lives->status() != LIVES_STATUS_READY) return 0.; + if (mainw->current_file == -1 || cfile == NULL) return 0.; + return cfile->arps; +} - lives_loop_mode_t player::setLoopMode(lives_loop_mode_t mode) const { - if (!isValid()) return loopMode(); - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - pthread_mutex_lock(&cond_mutex); - if (!idle_set_loop_mode(mode, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - } - else { - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); - pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - lives_free(private_response); - } +lives_loop_mode_t player::setLoopMode(lives_loop_mode_t mode) const { + if (!isValid()) return loopMode(); + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + pthread_mutex_lock(&cond_mutex); + if (!idle_set_loop_mode(mode, msg_id)) { + pthread_mutex_unlock(&cond_mutex); + spinning = false; + m_lives->removeCallback(cbid); + } else { + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + lives_free(private_response); } - return loopMode(); } + return loopMode(); +} - lives_loop_mode_t player::loopMode() const { - unsigned int lmode = LIVES_LOOP_MODE_NONE; - if (!isValid()) return (lives_loop_mode_t)lmode; +lives_loop_mode_t player::loopMode() const { + unsigned int lmode = LIVES_LOOP_MODE_NONE; + if (!isValid()) return (lives_loop_mode_t)lmode; - if (mainw->loop) lmode |= LIVES_LOOP_MODE_FIT_AUDIO; - if (mainw->loop_cont) lmode |= LIVES_LOOP_MODE_CONTINUOUS; + if (mainw->loop) lmode |= LIVES_LOOP_MODE_FIT_AUDIO; + if (mainw->loop_cont) lmode |= LIVES_LOOP_MODE_CONTINUOUS; - return (lives_loop_mode_t)lmode; - } + return (lives_loop_mode_t)lmode; +} - bool player::setPingPong(bool setting) const { - if (!isValid()) return pingPong(); - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - pthread_mutex_lock(&cond_mutex); - if (!idle_set_ping_pong(setting, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - } - else { - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); - pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - lives_free(private_response); - } +bool player::setPingPong(bool setting) const { + if (!isValid()) return pingPong(); + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + pthread_mutex_lock(&cond_mutex); + if (!idle_set_ping_pong(setting, msg_id)) { + pthread_mutex_unlock(&cond_mutex); + spinning = false; + m_lives->removeCallback(cbid); + } else { + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + lives_free(private_response); } - return pingPong(); } + return pingPong(); +} - bool player::pingPong() const { - if (!isValid()) return false; - return mainw->ping_pong; - } +bool player::pingPong() const { + if (!isValid()) return false; + return mainw->ping_pong; +} - bool player::resyncFPS() const { - if (!isPlaying()) return false; - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - pthread_mutex_lock(&cond_mutex); - if (!idle_resync_fps(msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - } - else { - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); - pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - lives_free(private_response); - } +bool player::resyncFPS() const { + if (!isPlaying()) return false; + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + pthread_mutex_lock(&cond_mutex); + if (!idle_resync_fps(msg_id)) { + pthread_mutex_unlock(&cond_mutex); + spinning = false; + m_lives->removeCallback(cbid); + } else { + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + lives_free(private_response); } - return true; } + return true; +} - //////////////// set //////////////////// +//////////////// set //////////////////// - set::set(livesApp *lives) { - m_lives = lives; - } +set::set(livesApp *lives) { + m_lives = lives; +} - bool set::isValid() const { - return m_lives != NULL && m_lives->isValid() && m_lives->status() != LIVES_STATUS_NOTREADY; - } +bool set::isValid() const { + return m_lives != NULL && m_lives->isValid() && m_lives->status() != LIVES_STATUS_NOTREADY; +} - livesString set::name() const { - if (!isValid()) return livesString(); - return livesString(get_set_name(), LIVES_CHAR_ENCODING_UTF8); - } +livesString set::name() const { + if (!isValid()) return livesString(); + return livesString(mainw->set_name, LIVES_CHAR_ENCODING_UTF8); +} - bool set::setName(livesString name) const { - if (!isValid()) return false; - if (strlen(mainw->set_name) > 0) return false; - if (numClips() == 0) return false; - - if (!name.empty()) { - const char *new_set_name = name.toEncoding(LIVES_CHAR_ENCODING_FILESYSTEM).c_str(); - if (is_legal_set_name(new_set_name, TRUE)) { - lives_snprintf(mainw->set_name,128,"%s",new_set_name); - return true; - } - return false; - } +bool set::setName(livesString name) const { + if (!isValid()) return false; + if (strlen(mainw->set_name) > 0) return false; + if (numClips() == 0) return false; - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - - pthread_mutex_lock(&cond_mutex); - if (!idle_set_set_name(msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - return false; - } - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); - pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - bool ret = (bool)atoi(private_response); - lives_free(private_response); - return ret; + if (!name.empty()) { + const char *new_set_name = name.toEncoding(LIVES_CHAR_ENCODING_FILESYSTEM).c_str(); + if (is_legal_set_name(new_set_name, TRUE)) { + lives_snprintf(mainw->set_name, 128, "%s", new_set_name); + return true; } return false; } + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - unsigned int set::numClips() const { - if (!isValid()) return 0; - (const_cast<set *>(this))->update_clip_list(); - return m_clips.size(); + pthread_mutex_lock(&cond_mutex); + if (!idle_set_set_name(msg_id)) { + pthread_mutex_unlock(&cond_mutex); + spinning = false; + m_lives->removeCallback(cbid); + return false; + } + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + bool ret = (bool)atoi(private_response); + lives_free(private_response); + return ret; } + return false; +} - clip set::nthClip(unsigned int n) const { - if (!isValid()) return clip(); - (const_cast<set *>(this))->update_clip_list(); - if (n >= m_clips.size()) return clip(); - return clip(m_clips[n], m_lives); - } +unsigned int set::numClips() const { + if (!isValid()) return 0; + (const_cast<set *>(this))->update_clip_list(); + return m_clips.size(); +} - int set::indexOf(clip c) const { - if (!isValid()) return -1; - if (!c.isValid()) return -1; - (const_cast<set *>(this))->update_clip_list(); - int i; - for (i = 0; i < m_clips.size(); i++) { - if (m_clips[i] == c.m_uid) return i; - } - return -1; +clip set::nthClip(unsigned int n) const { + if (!isValid()) return clip(); + (const_cast<set *>(this))->update_clip_list(); + if (n >= m_clips.size()) return clip(); + return clip(m_clips[n], m_lives); +} + + +int set::indexOf(clip c) const { + if (!isValid()) return -1; + if (!c.isValid()) return -1; + if (m_clips.empty()) return -1; + (const_cast<set *>(this))->update_clip_list(); + int i; + for (i = 0; i < (int)m_clips.size(); i++) { + if (m_clips[i] == c.m_uid) return i; } + return -1; +} - bool set::save(livesString name, bool force_append) const { - if (!isValid()) return FALSE; - const char *cname = name.toEncoding(LIVES_CHAR_ENCODING_FILESYSTEM).c_str(); +bool set::save(livesString name, bool force_append) const { + if (!isValid()) return FALSE; + const char *cname = name.toEncoding(LIVES_CHAR_ENCODING_FILESYSTEM).c_str(); - spinning = true; - msg_id = lives_random(); + spinning = true; + msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - bool ret = false; + bool ret = false; - pthread_mutex_lock(&cond_mutex); - if (!idle_save_set(cname,force_append, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - } - else { - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); - pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - ret = (bool)(atoi(private_response)); - lives_free(private_response); - } + pthread_mutex_lock(&cond_mutex); + if (!idle_save_set(cname, force_append, msg_id)) { + pthread_mutex_unlock(&cond_mutex); + spinning = false; + m_lives->removeCallback(cbid); + } else { + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + ret = (bool)(atoi(private_response)); + lives_free(private_response); } - return ret; } + return ret; +} - bool set::save() const { - return save(name()); - } +bool set::save() const { + return save(name()); +} - void set::update_clip_list() { - clipListIterator it = m_clips.begin(); - while (it != m_clips.end()) { - it = m_clips.erase(it); - } - if (isValid()) { - ulong *ids = get_unique_ids(); +void set::update_clip_list() { + clipListIterator it = m_clips.begin(); + while (it != m_clips.end()) { + it = m_clips.erase(it); + } + if (isValid()) { + ulong *ids = get_unique_ids(); - for (int i=0; ids[i] != 0l; i++) { - m_clips.push_back(ids[i]); - } - lives_free(ids); - } + for (int i = 0; ids[i] != 0l; i++) { + m_clips.push_back(ids[i]); + } + lives_free(ids); } +} - /////////////// clip //////////////// +/////////////// clip //////////////// - clip::clip() : m_uid(0l), m_lives(NULL) {}; +clip::clip() : m_uid(0l), m_lives(NULL) {}; - clip::clip(ulong uid, livesApp *lives) { - m_uid = uid; - m_lives = lives; - } +clip::clip(ulong uid, livesApp *lives) { + m_uid = uid; + m_lives = lives; +} - bool clip::isValid() const { - return (m_lives != NULL && m_lives->isValid() && m_lives->status() != LIVES_STATUS_NOTREADY && cnum_for_uid(m_uid) != -1); - } +bool clip::isValid() const { + return (m_lives != NULL && m_lives->isValid() && m_lives->status() != LIVES_STATUS_NOTREADY && cnum_for_uid(m_uid) != -1); +} - int clip::frames() { - if (isValid()) { - int cnum = cnum_for_uid(m_uid); - if (cnum > -1 && mainw->files[cnum] != NULL) return mainw->files[cnum]->frames; - } - return 0; +int clip::frames() { + if (isValid()) { + int cnum = cnum_for_uid(m_uid); + if (cnum > -1 && mainw->files[cnum] != NULL) return mainw->files[cnum]->frames; } + return 0; +} - int clip::width() { - if (isValid()) { - int cnum = cnum_for_uid(m_uid); - if (cnum > -1 && mainw->files[cnum] != NULL) return mainw->files[cnum]->hsize; - } - return 0; +int clip::width() { + if (isValid()) { + int cnum = cnum_for_uid(m_uid); + if (cnum > -1 && mainw->files[cnum] != NULL) return mainw->files[cnum]->hsize; } + return 0; +} - int clip::height() { - if (isValid()) { - int cnum = cnum_for_uid(m_uid); - if (cnum > -1 && mainw->files[cnum] != NULL) return mainw->files[cnum]->vsize; - } - return 0; +int clip::height() { + if (isValid()) { + int cnum = cnum_for_uid(m_uid); + if (cnum > -1 && mainw->files[cnum] != NULL) return mainw->files[cnum]->vsize; } + return 0; +} - double clip::FPS() { - if (isValid()) { - int cnum = cnum_for_uid(m_uid); - if (cnum > -1 && mainw->files[cnum] != NULL) return mainw->files[cnum]->fps; - } - return 0.; +double clip::FPS() { + if (isValid()) { + int cnum = cnum_for_uid(m_uid); + if (cnum > -1 && mainw->files[cnum] != NULL) return mainw->files[cnum]->fps; } + return 0.; +} - double clip::playbackFPS() { - if (isValid()) { - if (!m_lives->m_multitrack->isActive()) { - int cnum = cnum_for_uid(m_uid); - if (cnum > -1 && mainw->files[cnum] != NULL) return mainw->files[cnum]->pb_fps; - } - else return m_lives->m_multitrack->FPS(); - } - return 0.; +double clip::playbackFPS() { + if (isValid()) { + if (!m_lives->m_multitrack->isActive()) { + int cnum = cnum_for_uid(m_uid); + if (cnum > -1 && mainw->files[cnum] != NULL) return mainw->files[cnum]->pb_fps; + } else return m_lives->m_multitrack->FPS(); } + return 0.; +} - int clip::audioRate() { - if (isValid()) { - int cnum = cnum_for_uid(m_uid); - if (cnum > -1 && mainw->files[cnum] != NULL) return mainw->files[cnum]->arate; - } - return 0; +int clip::audioRate() { + if (isValid()) { + int cnum = cnum_for_uid(m_uid); + if (cnum > -1 && mainw->files[cnum] != NULL) return mainw->files[cnum]->arate; } + return 0; +} - int clip::playbackAudioRate() { - int arps = -1; - if (isValid()) { - if (!m_lives->m_multitrack->isActive()) { - int cnum = cnum_for_uid(m_uid); - if (cnum > -1 && mainw->files[cnum] != NULL) { - arps = mainw->files[cnum]->arps; - arps *= mainw->files[cnum]->pb_fps / mainw->files[cnum]->fps; - } +int clip::playbackAudioRate() { + int arps = -1; + if (isValid()) { + if (!m_lives->m_multitrack->isActive()) { + int cnum = cnum_for_uid(m_uid); + if (cnum > -1 && mainw->files[cnum] != NULL) { + arps = mainw->files[cnum]->arps; + arps *= mainw->files[cnum]->pb_fps / mainw->files[cnum]->fps; } - else arps = mainw->files[mainw->multitrack->render_file]->arate; - } - return arps; + } else arps = mainw->files[mainw->multitrack->render_file]->arate; } + return arps; +} - double clip::audioLength() { - if (isValid()) { - int cnum = cnum_for_uid(m_uid); - if (cnum > -1 && mainw->files[cnum] != NULL) return mainw->files[cnum]->laudio_time; - } - return 0.; +double clip::audioLength() { + if (isValid()) { + int cnum = cnum_for_uid(m_uid); + if (cnum > -1 && mainw->files[cnum] != NULL) return mainw->files[cnum]->laudio_time; } + return 0.; +} - int clip::audioChannels() { - if (isValid()) { - int cnum = cnum_for_uid(m_uid); - if (cnum > -1 && mainw->files[cnum] != NULL) return mainw->files[cnum]->achans; - } - return 0; +int clip::audioChannels() { + if (isValid()) { + int cnum = cnum_for_uid(m_uid); + if (cnum > -1 && mainw->files[cnum] != NULL) return mainw->files[cnum]->achans; } + return 0; +} - int clip::audioSampleSize() { - if (isValid()) { - int cnum = cnum_for_uid(m_uid); - if (cnum > -1 && mainw->files[cnum] != NULL) return mainw->files[cnum]->asampsize; - } - return 0; +int clip::audioSampleSize() { + if (isValid()) { + int cnum = cnum_for_uid(m_uid); + if (cnum > -1 && mainw->files[cnum] != NULL) return mainw->files[cnum]->asampsize; } + return 0; +} - bool clip::audioSigned() { - if (isValid()) { - int cnum = cnum_for_uid(m_uid); - if (cnum > -1 && mainw->files[cnum] != NULL) return !(mainw->files[cnum]->signed_endian & AFORM_UNSIGNED); - } - return true; +bool clip::audioSigned() { + if (isValid()) { + int cnum = cnum_for_uid(m_uid); + if (cnum > -1 && mainw->files[cnum] != NULL) return !(mainw->files[cnum]->signed_endian & AFORM_UNSIGNED); } + return true; +} - lives_endian_t clip::audioEndian() { - if (isValid()) { - int cnum = cnum_for_uid(m_uid); - if (cnum > -1 && mainw->files[cnum] != NULL) { - if (mainw->files[cnum]->signed_endian & AFORM_BIG_ENDIAN) return LIVES_BIGENDIAN; - } +lives_endian_t clip::audioEndian() { + if (isValid()) { + int cnum = cnum_for_uid(m_uid); + if (cnum > -1 && mainw->files[cnum] != NULL) { + if (mainw->files[cnum]->signed_endian & AFORM_BIG_ENDIAN) return LIVES_BIGENDIAN; } - return LIVES_LITTLEENDIAN; } + return LIVES_LITTLEENDIAN; +} - livesString clip::name() { - if (isValid()) { - int cnum = cnum_for_uid(m_uid); - if (cnum > -1 && mainw->files[cnum] != NULL) return livesString(get_menu_name(mainw->files[cnum]), LIVES_CHAR_ENCODING_UTF8); - } - return livesString(); +livesString clip::name() { + if (isValid()) { + int cnum = cnum_for_uid(m_uid); + if (cnum > -1 && mainw->files[cnum] != NULL) return livesString(get_menu_name(mainw->files[cnum]), LIVES_CHAR_ENCODING_UTF8); } + return livesString(); +} - int clip::selectionStart() { - if (isValid()) { - int cnum = cnum_for_uid(m_uid); - if (cnum > -1 && mainw->files[cnum] != NULL) return mainw->files[cnum]->start; - } - return 0; +int clip::selectionStart() { + if (isValid()) { + int cnum = cnum_for_uid(m_uid); + if (cnum > -1 && mainw->files[cnum] != NULL) return mainw->files[cnum]->start; } + return 0; +} - int clip::selectionEnd() { - if (isValid()) { - int cnum = cnum_for_uid(m_uid); - if (cnum > -1 && mainw->files[cnum] != NULL) return mainw->files[cnum]->end; - } - return 0; +int clip::selectionEnd() { + if (isValid()) { + int cnum = cnum_for_uid(m_uid); + if (cnum > -1 && mainw->files[cnum] != NULL) return mainw->files[cnum]->end; } + return 0; +} - bool clip::selectAll() { - if (!isValid() || m_lives->status() == LIVES_STATUS_NOTREADY) return false; - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - - int cnum = cnum_for_uid(m_uid); - pthread_mutex_lock(&cond_mutex); - if (!idle_select_all(cnum, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - return false; - } - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); +bool clip::selectAll() { + if (!isValid() || m_lives->status() == LIVES_STATUS_NOTREADY) return false; + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + + int cnum = cnum_for_uid(m_uid); + pthread_mutex_lock(&cond_mutex); + if (!idle_select_all(cnum, msg_id)) { pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - bool ret = (bool)atoi(private_response); - lives_free(private_response); - return ret; - } + spinning = false; + m_lives->removeCallback(cbid); return false; } + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + bool ret = (bool)atoi(private_response); + lives_free(private_response); + return ret; + } + return false; +} - bool clip::setSelectionStart(unsigned int frame) { - if (!isValid()) return false; - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - - int cnum = cnum_for_uid(m_uid); - pthread_mutex_lock(&cond_mutex); - if (!idle_select_start(cnum, frame, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - return false; - } - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); +bool clip::setSelectionStart(unsigned int frame) { + if (!isValid()) return false; + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + + int cnum = cnum_for_uid(m_uid); + pthread_mutex_lock(&cond_mutex); + if (!idle_select_start(cnum, frame, msg_id)) { pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - bool ret = (bool)atoi(private_response); - lives_free(private_response); - return ret; - } + spinning = false; + m_lives->removeCallback(cbid); return false; } + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + bool ret = (bool)atoi(private_response); + lives_free(private_response); + return ret; + } + return false; +} - bool clip::setSelectionEnd(unsigned int frame) { - if (!isValid()) return false; - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - - int cnum = cnum_for_uid(m_uid); - pthread_mutex_lock(&cond_mutex); - if (!idle_select_end(cnum, frame, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - return false; - } - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); +bool clip::setSelectionEnd(unsigned int frame) { + if (!isValid()) return false; + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + + int cnum = cnum_for_uid(m_uid); + pthread_mutex_lock(&cond_mutex); + if (!idle_select_end(cnum, frame, msg_id)) { pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - bool ret = (bool)atoi(private_response); - lives_free(private_response); - return ret; - } + spinning = false; + m_lives->removeCallback(cbid); return false; } + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + bool ret = (bool)atoi(private_response); + lives_free(private_response); + return ret; + } + return false; +} - - bool clip::switchTo() { - if (!isValid()) return false; - if (m_lives->m_multitrack->isActive()) return false; - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - - int cnum = cnum_for_uid(m_uid); - pthread_mutex_lock(&cond_mutex); - if (!idle_switch_clip(1,cnum, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - return false; - } - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + +bool clip::switchTo() { + if (!isValid()) return false; + if (m_lives->m_multitrack->isActive()) return false; + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + + int cnum = cnum_for_uid(m_uid); + pthread_mutex_lock(&cond_mutex); + if (!idle_switch_clip(1, cnum, msg_id)) { pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - bool ret = (bool)atoi(private_response); - lives_free(private_response); - return ret; - } + spinning = false; + m_lives->removeCallback(cbid); return false; } + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + bool ret = (bool)atoi(private_response); + lives_free(private_response); + return ret; + } + return false; +} - bool clip::setIsBackground() { - if (!isValid()) return false; - if (m_lives->m_multitrack->isActive()) return false; - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - - int cnum = cnum_for_uid(m_uid); - pthread_mutex_lock(&cond_mutex); - if (!idle_switch_clip(2,cnum, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - return false; - } - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); +bool clip::setIsBackground() { + if (!isValid()) return false; + if (m_lives->m_multitrack->isActive()) return false; + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + + int cnum = cnum_for_uid(m_uid); + pthread_mutex_lock(&cond_mutex); + if (!idle_switch_clip(2, cnum, msg_id)) { pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - bool ret = (bool)atoi(private_response); - lives_free(private_response); - return ret; - } + spinning = false; + m_lives->removeCallback(cbid); return false; } + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + bool ret = (bool)atoi(private_response); + lives_free(private_response); + return ret; + } + return false; +} - ////////////////////////////////////////////// +////////////////////////////////////////////// - //// effectKeyMap - effectKeyMap::effectKeyMap(livesApp *lives) { - m_lives = lives; - } +//// effectKeyMap +effectKeyMap::effectKeyMap(livesApp *lives) { + m_lives = lives; +} - bool effectKeyMap::isValid() const { - return m_lives != NULL && m_lives->isValid() && m_lives->status() != LIVES_STATUS_NOTREADY; - } +bool effectKeyMap::isValid() const { + return m_lives != NULL && m_lives->isValid() && m_lives->status() != LIVES_STATUS_NOTREADY; +} - effectKey effectKeyMap::at(int i) const { - return (*this)[i]; - } +effectKey effectKeyMap::at(int i) const { + return (*this)[i]; +} - size_t effectKeyMap::size() const { - if (!isValid()) return 0; - return (size_t) prefs::rteKeysVirtual(*m_lives); - } +size_t effectKeyMap::size() const { + if (!isValid()) return 0; + return (size_t) prefs::rteKeysVirtual(*m_lives); +} - bool effectKeyMap::clear() const { - if (!isValid()) return false; - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - - pthread_mutex_lock(&cond_mutex); - if (!idle_unmap_effects(msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - return false; - } - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); +bool effectKeyMap::clear() const { + if (!isValid()) return false; + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + + pthread_mutex_lock(&cond_mutex); + if (!idle_unmap_effects(msg_id)) { pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - bool ret = (bool)atoi(private_response); - lives_free(private_response); - return ret; - } + spinning = false; + m_lives->removeCallback(cbid); return false; } + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + bool ret = (bool)atoi(private_response); + lives_free(private_response); + return ret; + } + return false; +} - ///////////////////////////////////////////////// +///////////////////////////////////////////////// - /// effectKey - effectKey::effectKey() { - m_key = 0; - } +/// effectKey +effectKey::effectKey() { + m_key = 0; +} - effectKey::effectKey(livesApp *lives, int key) { - m_lives = lives; - m_key = key; - } +effectKey::effectKey(livesApp *lives, int key) { + m_lives = lives; + m_key = key; +} - bool effectKey::isValid() const { - return m_lives != NULL && m_lives->isValid() && m_lives->status() != LIVES_STATUS_NOTREADY && - m_key >= 1 && m_key <= prefs::rteKeysVirtual(*(m_lives)); - } - - int effectKey::key() { - return m_key; - } +bool effectKey::isValid() const { + return m_lives != NULL && m_lives->isValid() && m_lives->status() != LIVES_STATUS_NOTREADY && + m_key >= 1 && m_key <= prefs::rteKeysVirtual(*(m_lives)); +} +int effectKey::key() { + return m_key; +} - int effectKey::numModes() { - if (!isValid()) return 0; - return ::prefs->max_modes_per_key; - } - int effectKey::numMappedModes() { - if (!isValid()) return 0; - return get_num_mapped_modes_for_key(m_key); - } +int effectKey::numModes() { + if (!isValid()) return 0; + return ::prefs->max_modes_per_key; +} +int effectKey::numMappedModes() { + if (!isValid()) return 0; + return get_num_mapped_modes_for_key(m_key); +} - int effectKey::currentMode() { - if (!isValid()) return -1; - return get_current_mode_for_key(m_key); - } - bool effectKey::enabled() { - if (!isValid()) return false; - return get_rte_key_is_enabled(m_key); - } +int effectKey::currentMode() { + if (!isValid()) return -1; + return get_current_mode_for_key(m_key); +} +bool effectKey::enabled() { + if (!isValid()) return false; + return get_rte_key_is_enabled(m_key); +} - int effectKey::setCurrentMode(int new_mode) { - if (!isValid()) return -1; - if (new_mode < 0 || new_mode >= numMappedModes()) return currentMode(); - if (new_mode == currentMode()) return currentMode(); +int effectKey::setCurrentMode(int new_mode) { + if (!isValid()) return -1; + if (new_mode < 0 || new_mode >= numMappedModes()) return currentMode(); - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - - pthread_mutex_lock(&cond_mutex); - if (!idle_fx_setmode(m_key, new_mode, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - return currentMode(); - } - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + if (new_mode == currentMode()) return currentMode(); + + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + + pthread_mutex_lock(&cond_mutex); + if (!idle_fx_setmode(m_key, new_mode, msg_id)) { pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - bool ret = (bool)atoi(private_response); - lives_free(private_response); - } + spinning = false; + m_lives->removeCallback(cbid); return currentMode(); } + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + lives_free(private_response); + } + return currentMode(); +} - bool effectKey::setEnabled(bool setting) { - if (!isValid()) return false; +bool effectKey::setEnabled(bool setting) { + if (!isValid()) return false; - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - - pthread_mutex_lock(&cond_mutex); - if (!idle_fx_enable(m_key, setting, msg_id)) { - spinning = false; - m_lives->removeCallback(cbid); - return enabled(); - } - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); - pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - bool ret = (bool)atoi(private_response); - lives_free(private_response); + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - // TODO: if it was a generator, wait for playing or error + pthread_mutex_lock(&cond_mutex); + if (!idle_fx_enable(m_key, setting, msg_id)) { + spinning = false; + m_lives->removeCallback(cbid); + return enabled(); + } + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + lives_free(private_response); + // TODO: if it was a generator, wait for playing or error - } - return enabled(); } + return enabled(); +} - int effectKey::appendMapping(effect fx) { - if (!isValid()) return -1; +int effectKey::appendMapping(effect fx) { + if (!isValid()) return -1; - if (!fx.isValid()) return -1; + if (!fx.isValid()) return -1; - if (fx.m_lives != m_lives) return -1; + if (fx.m_lives != m_lives) return -1; - if (!m_lives->isReady() && !m_lives->isPlaying()) return -1; + if (!m_lives->isReady() && !m_lives->isPlaying()) return -1; - int mode = numMappedModes(); - if (mode == numModes()) return -1; + int mode = numMappedModes(); + if (mode == numModes()) return -1; - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - - pthread_mutex_lock(&cond_mutex); - if (!idle_map_fx(m_key, mode, fx.m_idx, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - return -1; - } - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + + pthread_mutex_lock(&cond_mutex); + if (!idle_map_fx(m_key, mode, fx.m_idx, msg_id)) { pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - bool ret = (bool)atoi(private_response); - lives_free(private_response); - if (ret) return mode; - } + spinning = false; + m_lives->removeCallback(cbid); return -1; } + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + bool ret = (bool)atoi(private_response); + lives_free(private_response); + if (ret) return mode; + } + return -1; +} - bool effectKey::removeMapping(int mode) { - if (!isValid()) return false; +bool effectKey::removeMapping(int mode) { + if (!isValid()) return false; - if (!m_lives->isReady() && !m_lives->isPlaying()) return false; + if (!m_lives->isReady() && !m_lives->isPlaying()) return false; - if (mode >= numMappedModes()) return false; + if (mode >= numMappedModes()) return false; - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - - pthread_mutex_lock(&cond_mutex); - if (!idle_unmap_fx(m_key, mode, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - return false; - } - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + + pthread_mutex_lock(&cond_mutex); + if (!idle_unmap_fx(m_key, mode, msg_id)) { pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - bool ret = (bool)atoi(private_response); - lives_free(private_response); - return ret; - } + spinning = false; + m_lives->removeCallback(cbid); return false; } + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + bool ret = (bool)atoi(private_response); + lives_free(private_response); + return ret; + } + return false; +} - effect effectKey::at(int mode) { - effect e; - if (!isValid()) return e; - int idx = rte_keymode_get_filter_idx(m_key, mode); - if (idx == -1) return e; - e = effect(m_lives, idx); - return e; - } +effect effectKey::at(int mode) { + effect e; + if (!isValid()) return e; + int idx = rte_keymode_get_filter_idx(m_key, mode); + if (idx == -1) return e; + e = effect(m_lives, idx); + return e; +} - //////////////////////////////////////////////////////// +//////////////////////////////////////////////////////// - effect::effect(const livesApp &lives, livesString hashname, bool match_full) { - m_idx = -1; - m_lives = (livesApp *)&lives; - if (m_lives != NULL && m_lives->isValid() && m_lives->status() != LIVES_STATUS_NOTREADY) { - m_idx = weed_get_idx_for_hashname(hashname.toEncoding(LIVES_CHAR_ENCODING_UTF8).c_str(), match_full); - } +effect::effect(const livesApp &lives, livesString hashname, bool match_full) { + m_idx = -1; + m_lives = (livesApp *)&lives; + if (m_lives != NULL && m_lives->isValid() && m_lives->status() != LIVES_STATUS_NOTREADY) { + m_idx = weed_get_idx_for_hashname(hashname.toEncoding(LIVES_CHAR_ENCODING_UTF8).c_str(), match_full); } +} - effect::effect(const livesApp &lives, livesString package, livesString fxname, livesString author, int version) { - m_idx = -1; - m_lives = (livesApp *)&lives; - if (m_lives != NULL && m_lives->isValid() && m_lives->status() != LIVES_STATUS_NOTREADY) { - m_idx = get_first_fx_matched(package.toEncoding(LIVES_CHAR_ENCODING_UTF8).c_str(), - fxname.toEncoding(LIVES_CHAR_ENCODING_UTF8).c_str(), - author.toEncoding(LIVES_CHAR_ENCODING_UTF8).c_str(), - version); - } +effect::effect(const livesApp &lives, livesString package, livesString fxname, livesString author, int version) { + m_idx = -1; + m_lives = (livesApp *)&lives; + if (m_lives != NULL && m_lives->isValid() && m_lives->status() != LIVES_STATUS_NOTREADY) { + m_idx = get_first_fx_matched(package.toEncoding(LIVES_CHAR_ENCODING_UTF8).c_str(), + fxname.toEncoding(LIVES_CHAR_ENCODING_UTF8).c_str(), + author.toEncoding(LIVES_CHAR_ENCODING_UTF8).c_str(), + version); } +} - bool effect::isValid() const { - return (m_idx != -1 && m_lives != NULL && m_lives->isValid() && m_lives->status() != LIVES_STATUS_NOTREADY); - } +bool effect::isValid() const { + return (m_idx != -1 && m_lives != NULL && m_lives->isValid() && m_lives->status() != LIVES_STATUS_NOTREADY); +} - effect::effect() : m_lives(NULL), m_idx(-1) {} +effect::effect() : m_lives(NULL), m_idx(-1) {} - effect::effect(livesApp *lives, int idx) : m_lives(lives), m_idx(idx) {} +effect::effect(livesApp *lives, int idx) : m_lives(lives), m_idx(idx) {} - /////////////////////////////// - //// block +/////////////////////////////// +//// block - block::block(multitrack *m, ulong uid) : m_uid(uid) { - if (m == NULL) m_lives = NULL; - else m_lives = m->m_lives; - } +block::block(multitrack *m, ulong uid) : m_uid(uid) { + if (m == NULL) m_lives = NULL; + else m_lives = m->m_lives; +} - block::block(multitrack m, int track, double time) { - m_lives = m.m_lives; - if (!m.isActive()) m_uid = 0l; - else { - track_rect *tr = get_block_from_track_and_time(mainw->multitrack, track, time); - if (tr == NULL) m_uid = 0l; - else m_uid = tr->uid; - } +block::block(multitrack m, int track, double time) { + m_lives = m.m_lives; + if (!m.isActive()) m_uid = 0l; + else { + track_rect *tr = get_block_from_track_and_time(mainw->multitrack, track, time); + if (tr == NULL) m_uid = 0l; + else m_uid = tr->uid; } +} - bool block::isValid() const { - if (m_lives == NULL || !m_lives->isValid() || !m_lives->m_multitrack->isActive() || m_uid == 0l || - find_block_by_uid(mainw->multitrack, m_uid) == NULL) return false; - return true; - } +bool block::isValid() const { + if (m_lives == NULL || !m_lives->isValid() || !m_lives->m_multitrack->isActive() || m_uid == 0l || + find_block_by_uid(mainw->multitrack, m_uid) == NULL) return false; + return true; +} - void block::invalidate() { - m_uid = 0l; - } +void block::invalidate() { + m_uid = 0l; +} - double block::startTime() { - track_rect *tr = find_block_by_uid(mainw->multitrack, m_uid); - if (tr == NULL) return -1.; - return (double)get_event_timecode(tr->start_event)/U_SEC; - } +double block::startTime() { + track_rect *tr = find_block_by_uid(mainw->multitrack, m_uid); + if (tr == NULL) return -1.; + return (double)get_event_timecode(tr->start_event) / U_SEC; +} - double block::length() { - track_rect *tr = find_block_by_uid(mainw->multitrack, m_uid); - if (tr == NULL) return -1.; - return (double)get_event_timecode(tr->end_event)/U_SEC + 1./mainw->multitrack->fps - - (double)get_event_timecode(tr->start_event)/U_SEC; - } +double block::length() { + track_rect *tr = find_block_by_uid(mainw->multitrack, m_uid); + if (tr == NULL) return -1.; + return (double)get_event_timecode(tr->end_event) / U_SEC + 1. / mainw->multitrack->fps - + (double)get_event_timecode(tr->start_event) / U_SEC; +} - clip block::clipSource() { - track_rect *tr = find_block_by_uid(mainw->multitrack, m_uid); - if (tr == NULL) return clip(); - int cnum = get_clip_for_block(tr); - if (cnum == -1) return clip(); - return clip(mainw->files[cnum]->unique_id, m_lives); - } +clip block::clipSource() { + track_rect *tr = find_block_by_uid(mainw->multitrack, m_uid); + if (tr == NULL) return clip(); + int cnum = get_clip_for_block(tr); + if (cnum == -1) return clip(); + return clip(mainw->files[cnum]->unique_id, m_lives); +} - int block::track() { - track_rect *tr = find_block_by_uid(mainw->multitrack, m_uid); - if (tr == NULL) return 0; - return get_track_for_block(tr); - } +int block::track() { + track_rect *tr = find_block_by_uid(mainw->multitrack, m_uid); + if (tr == NULL) return 0; + return get_track_for_block(tr); +} - bool block::remove() { - if (!isValid()) return false; - if (!m_lives->isReady()) return false; +bool block::remove() { + if (!isValid()) return false; + if (!m_lives->isReady()) return false; - track_rect *tr = find_block_by_uid(mainw->multitrack, m_uid); - if (tr == NULL) return false; + track_rect *tr = find_block_by_uid(mainw->multitrack, m_uid); + if (tr == NULL) return false; - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - pthread_mutex_lock(&cond_mutex); - if (!idle_remove_block(m_uid, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - return false; - } - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + pthread_mutex_lock(&cond_mutex); + if (!idle_remove_block(m_uid, msg_id)) { pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - bool ret=(bool)atoi(private_response); - lives_free(private_response); - if (ret) invalidate(); - return ret; - } + spinning = false; + m_lives->removeCallback(cbid); return false; } + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + bool ret = (bool)atoi(private_response); + lives_free(private_response); + if (ret) invalidate(); + return ret; + } + return false; +} - bool block::moveTo(int track, double time) { - if (!isValid()) return false; - if (!m_lives->isReady()) return false; +bool block::moveTo(int track, double time) { + if (!isValid()) return false; + if (!m_lives->isReady()) return false; - track_rect *tr = find_block_by_uid(mainw->multitrack, m_uid); - if (tr == NULL) return false; + track_rect *tr = find_block_by_uid(mainw->multitrack, m_uid); + if (tr == NULL) return false; - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - pthread_mutex_lock(&cond_mutex); - if (!idle_move_block(m_uid, track, time, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - return false; - } - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + pthread_mutex_lock(&cond_mutex); + if (!idle_move_block(m_uid, track, time, msg_id)) { pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - bool ret=(bool)atoi(private_response); - lives_free(private_response); - if (ret) invalidate(); - return ret; - } + spinning = false; + m_lives->removeCallback(cbid); return false; } + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + bool ret = (bool)atoi(private_response); + lives_free(private_response); + if (ret) invalidate(); + return ret; + } + return false; +} - /////////////////////////////////////////////////////////////////// - /// multitrack +/////////////////////////////////////////////////////////////////// +/// multitrack - multitrack::multitrack(livesApp *lives) { - m_lives = lives; - } +multitrack::multitrack(livesApp *lives) { + m_lives = lives; +} - bool multitrack::isValid() const { - return m_lives != NULL && m_lives->m_id != 0l && m_lives->status() != LIVES_STATUS_NOTREADY; - } +bool multitrack::isValid() const { + return m_lives != NULL && m_lives->m_id != 0l && m_lives->status() != LIVES_STATUS_NOTREADY; +} - bool multitrack::isActive() const { - return (isValid() && mainw->multitrack != NULL); - } +bool multitrack::isActive() const { + return (isValid() && mainw->multitrack != NULL); +} - double multitrack::currentTime() const { - if (!isActive()) return 0.; - return m_lives->m_player->videoPlaybackTime(); - } +double multitrack::currentTime() const { + if (!isActive()) return 0.; + return m_lives->m_player->videoPlaybackTime(); +} - double multitrack::setCurrentTime(double time) const { - if (!isActive() || !m_lives->isReady()) return currentTime(); - return m_lives->m_player->setPlaybackStartTime(time); - } +double multitrack::setCurrentTime(double time) const { + if (!isActive() || !m_lives->isReady()) return currentTime(); + return m_lives->m_player->setPlaybackStartTime(time); +} - block multitrack::insertBlock(clip c, bool ign_sel, bool without_audio) const { - if (!isActive()) return block(); - if (!c.isValid()) return block(); - if (!m_lives->isReady()) return block(); +block multitrack::insertBlock(clip c, bool ign_sel, bool without_audio) const { + if (!isActive()) return block(); + if (!c.isValid()) return block(); + if (!m_lives->isReady()) return block(); - int clipno = cnum_for_uid(c.m_uid); + int clipno = cnum_for_uid(c.m_uid); - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - pthread_mutex_lock(&cond_mutex); - if (!idle_insert_block(clipno, ign_sel, !without_audio, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - return block(); - } - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + pthread_mutex_lock(&cond_mutex); + if (!idle_insert_block(clipno, ign_sel, !without_audio, msg_id)) { pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - ulong uid = strtoul(private_response, NULL, 10); - lives_free(private_response); - return block(const_cast<multitrack *>(this), uid); - } + spinning = false; + m_lives->removeCallback(cbid); return block(); } + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + ulong uid = strtoul(private_response, NULL, 10); + lives_free(private_response); + return block(const_cast<multitrack *>(this), uid); + } + return block(); +} - livesString multitrack::wipeLayout(bool force) const { - livesString emptystr; - if (!isActive()) return emptystr; - if (!m_lives->isReady()) return emptystr; +livesString multitrack::wipeLayout(bool force) const { + livesString emptystr; + if (!isActive()) return emptystr; + if (!m_lives->isReady()) return emptystr; - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - - pthread_mutex_lock(&cond_mutex); - if (!idle_wipe_layout(force, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - return emptystr; - } - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + + pthread_mutex_lock(&cond_mutex); + if (!idle_wipe_layout(force, msg_id)) { pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - livesString str(private_response, LIVES_CHAR_ENCODING_UTF8); - lives_free(private_response); - return str; - } + spinning = false; + m_lives->removeCallback(cbid); return emptystr; } + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + livesString str(private_response, LIVES_CHAR_ENCODING_UTF8); + lives_free(private_response); + return str; + } + return emptystr; +} - livesString multitrack::chooseLayout() const { - livesString emptystr; - if (!isActive()) return emptystr; - if (!m_lives->isReady()) return emptystr; +livesString multitrack::chooseLayout() const { + livesString emptystr; + if (!isActive()) return emptystr; + if (!m_lives->isReady()) return emptystr; - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - - pthread_mutex_lock(&cond_mutex); - if (!idle_choose_layout(msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - return emptystr; - } - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + + pthread_mutex_lock(&cond_mutex); + if (!idle_choose_layout(msg_id)) { pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - livesString str(private_response, LIVES_CHAR_ENCODING_UTF8); - lives_free(private_response); - return str; - } + spinning = false; + m_lives->removeCallback(cbid); return emptystr; } + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + livesString str(private_response, LIVES_CHAR_ENCODING_UTF8); + lives_free(private_response); + return str; + } + return emptystr; +} - livesStringList multitrack::availableLayouts() const { - livesStringList list; - if (!isValid()) return list; - LiVESList *layoutlist=mainw->current_layouts_map; - while (layoutlist != NULL) { - char *data=repl_tmpdir((const char *)layoutlist->data, FALSE); - list.push_back(livesString(data, LIVES_CHAR_ENCODING_FILESYSTEM).toEncoding(LIVES_CHAR_ENCODING_UTF8)); - lives_free(data); - layoutlist = layoutlist->next; - } - return list; +livesStringList multitrack::availableLayouts() const { + livesStringList list; + if (!isValid()) return list; + LiVESList *layoutlist = mainw->current_layouts_map; + while (layoutlist != NULL) { + char *data = repl_workdir((const char *)layoutlist->data, FALSE); + list.push_back(livesString(data, LIVES_CHAR_ENCODING_FILESYSTEM).toEncoding(LIVES_CHAR_ENCODING_UTF8)); + lives_free(data); + layoutlist = layoutlist->next; } + return list; +} - bool multitrack::reloadLayout(livesString layoutname) const { - if (!isActive()) return false; - if (!m_lives->isReady()) return false; +bool multitrack::reloadLayout(livesString layoutname) const { + if (!isActive()) return false; + if (!m_lives->isReady()) return false; - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - - pthread_mutex_lock(&cond_mutex); - if (!idle_reload_layout(layoutname.toEncoding(LIVES_CHAR_ENCODING_FILESYSTEM).c_str(), msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - return false; - } - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + + pthread_mutex_lock(&cond_mutex); + if (!idle_reload_layout(layoutname.toEncoding(LIVES_CHAR_ENCODING_FILESYSTEM).c_str(), msg_id)) { pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - bool ret = (bool)atoi(private_response); - lives_free(private_response); - return ret; - } + spinning = false; + m_lives->removeCallback(cbid); return false; } + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + bool ret = (bool)atoi(private_response); + lives_free(private_response); + return ret; + } + return false; +} - livesString multitrack::saveLayout(livesString name) const { - livesString emptystr; - if (!isActive()) return emptystr; - if (!m_lives->isReady()) return emptystr; +livesString multitrack::saveLayout(livesString name) const { + livesString emptystr; + if (!isActive()) return emptystr; + if (!m_lives->isReady()) return emptystr; - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - - pthread_mutex_lock(&cond_mutex); - if (!idle_save_layout(name.toEncoding(LIVES_CHAR_ENCODING_FILESYSTEM).c_str(), msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - return emptystr; - } - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + + pthread_mutex_lock(&cond_mutex); + if (!idle_save_layout(name.toEncoding(LIVES_CHAR_ENCODING_FILESYSTEM).c_str(), msg_id)) { pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - char *lname = strdup(private_response); - lives_free(private_response); - return livesString(lname).toEncoding(LIVES_CHAR_ENCODING_UTF8); - } + spinning = false; + m_lives->removeCallback(cbid); return emptystr; } + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + char *lname = strdup(private_response); + lives_free(private_response); + return livesString(lname).toEncoding(LIVES_CHAR_ENCODING_UTF8); + } + return emptystr; +} - livesString multitrack::saveLayout() const { - livesString emptystr; - if (!isActive()) return emptystr; - if (!m_lives->isReady()) return emptystr; +livesString multitrack::saveLayout() const { + livesString emptystr; + if (!isActive()) return emptystr; + if (!m_lives->isReady()) return emptystr; - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - - pthread_mutex_lock(&cond_mutex); - if (!idle_save_layout(NULL, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - return emptystr; - } - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + + pthread_mutex_lock(&cond_mutex); + if (!idle_save_layout(NULL, msg_id)) { pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - char *lname = strdup(private_response); - lives_free(private_response); - return livesString(lname).toEncoding(LIVES_CHAR_ENCODING_UTF8); - } + spinning = false; + m_lives->removeCallback(cbid); return emptystr; } + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + char *lname = strdup(private_response); + lives_free(private_response); + return livesString(lname).toEncoding(LIVES_CHAR_ENCODING_UTF8); + } + return emptystr; +} - clip multitrack::render(bool with_audio, bool normalise_audio) const { - clip c; - if (!isActive()) return c; - if (!m_lives->isReady()) return c; +clip multitrack::render(bool with_audio, bool normalise_audio) const { + clip c; + if (!isActive()) return c; + if (!m_lives->isReady()) return c; - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - - pthread_mutex_lock(&cond_mutex); - if (!idle_render_layout(with_audio, normalise_audio, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - return c; - } - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + + pthread_mutex_lock(&cond_mutex); + if (!idle_render_layout(with_audio, normalise_audio, msg_id)) { pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - ulong uid = strtoul(private_response,NULL,10); - c = clip(uid, m_lives); - lives_free(private_response); - } + spinning = false; + m_lives->removeCallback(cbid); return c; } + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + ulong uid = strtoul(private_response, NULL, 10); + c = clip(uid, m_lives); + lives_free(private_response); + } + return c; +} - effect multitrack::autoTransition() const { - effect e; - if (!m_lives->isValid() || m_lives->status() == LIVES_STATUS_NOTREADY) return e; - if (::prefs->atrans_fx == -1) return e; - e = effect(m_lives, ::prefs->atrans_fx); - return e; - } +effect multitrack::autoTransition() const { + effect e; + if (!m_lives->isValid() || m_lives->status() == LIVES_STATUS_NOTREADY) return e; + if (::prefs->atrans_fx == -1) return e; + e = effect(m_lives, ::prefs->atrans_fx); + return e; +} - bool multitrack::setAutoTransition(effect autotrans) const { - if (!m_lives->isValid()) return false; - if (!autotrans.isValid()) return disableAutoTransition(); +bool multitrack::setAutoTransition(effect autotrans) const { + if (!m_lives->isValid()) return false; + if (!autotrans.isValid()) return disableAutoTransition(); - // check if is transition - if (get_transition_param(get_weed_filter(autotrans.m_idx), FALSE) == -1) return false; + // check if is transition + if (get_transition_param(get_weed_filter(autotrans.m_idx), FALSE) == -1) return false; - if (m_lives->status() != LIVES_STATUS_READY && m_lives->status() != LIVES_STATUS_PLAYING) return false; - mt_set_autotrans(autotrans.m_idx); - return true; - } + if (m_lives->status() != LIVES_STATUS_READY && m_lives->status() != LIVES_STATUS_PLAYING) return false; + mt_set_autotrans(autotrans.m_idx); + return true; +} - bool multitrack::disableAutoTransition() const { - if (!m_lives->isValid()) return false; - if (m_lives->status() != LIVES_STATUS_READY && m_lives->status() != LIVES_STATUS_PLAYING) return false; - mt_set_autotrans(-1); - return true; - } +bool multitrack::disableAutoTransition() const { + if (!m_lives->isValid()) return false; + if (m_lives->status() != LIVES_STATUS_READY && m_lives->status() != LIVES_STATUS_PLAYING) return false; + mt_set_autotrans(-1); + return true; +} - int multitrack::currentTrack() const { - if (!isActive()) return 0; - return mainw->multitrack->current_track; - } +int multitrack::currentTrack() const { + if (!isActive()) return 0; + return mainw->multitrack->current_track; +} - bool multitrack::setCurrentTrack(int track) const { - if (m_lives->status() == LIVES_STATUS_PROCESSING) return false; - if (!isActive()) return false; +bool multitrack::setCurrentTrack(int track) const { + if (m_lives->status() == LIVES_STATUS_PROCESSING) return false; + if (!isActive()) return false; - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - pthread_mutex_lock(&cond_mutex); - if (!idle_mt_set_track(track, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - } - else { - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); - pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - bool ret=(bool)(atoi(private_response)); - lives_free(private_response); - return ret; - } + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + pthread_mutex_lock(&cond_mutex); + if (!idle_mt_set_track(track, msg_id)) { + pthread_mutex_unlock(&cond_mutex); + spinning = false; + m_lives->removeCallback(cbid); + } else { + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + bool ret = (bool)(atoi(private_response)); + lives_free(private_response); + return ret; } - return false; } + return false; +} - livesString multitrack::trackLabel(int track) const { - livesString emptystr; - if (!isActive()) return emptystr; +livesString multitrack::trackLabel(int track) const { + livesString emptystr; + if (!isActive()) return emptystr; - if (mt_track_is_video(mainw->multitrack, track)) - return livesString(get_track_name(mainw->multitrack, track, FALSE), LIVES_CHAR_ENCODING_UTF8); - if (mt_track_is_audio(mainw->multitrack, track)) - return livesString(get_track_name(mainw->multitrack, track, TRUE), LIVES_CHAR_ENCODING_UTF8); + if (mt_track_is_video(mainw->multitrack, track)) + return livesString(get_track_name(mainw->multitrack, track, FALSE), LIVES_CHAR_ENCODING_UTF8); + if (mt_track_is_audio(mainw->multitrack, track)) + return livesString(get_track_name(mainw->multitrack, track, TRUE), LIVES_CHAR_ENCODING_UTF8); - return emptystr; - } + return emptystr; +} - double multitrack::FPS() const { - if (!isActive()) return 0.; - return mainw->multitrack->fps; - } +double multitrack::FPS() const { + if (!isActive()) return 0.; + return mainw->multitrack->fps; +} - bool multitrack::setTrackLabel(int track, livesString label) const { - if (m_lives->status() == LIVES_STATUS_PROCESSING) return false; - if (!isActive()) return false; +bool multitrack::setTrackLabel(int track, livesString label) const { + if (m_lives->status() == LIVES_STATUS_PROCESSING) return false; + if (!isActive()) return false; - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - pthread_mutex_lock(&cond_mutex); - if (!idle_set_track_label(track, label.toEncoding(LIVES_CHAR_ENCODING_UTF8).c_str(), msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - } - else { - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); - pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - bool ret=(bool)(atoi(private_response)); - lives_free(private_response); - return ret; - } + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + pthread_mutex_lock(&cond_mutex); + if (!idle_set_track_label(track, label.toEncoding(LIVES_CHAR_ENCODING_UTF8).c_str(), msg_id)) { + pthread_mutex_unlock(&cond_mutex); + spinning = false; + m_lives->removeCallback(cbid); + } else { + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + bool ret = (bool)(atoi(private_response)); + lives_free(private_response); + return ret; } - return false; } + return false; +} - lives_gravity_t multitrack::gravity() const { - if (!isActive()) return LIVES_GRAVITY_NORMAL; - switch (mainw->multitrack->opts.grav_mode) { - case GRAV_MODE_LEFT: return LIVES_GRAVITY_LEFT; - case GRAV_MODE_RIGHT: return LIVES_GRAVITY_RIGHT; - default: return LIVES_GRAVITY_NORMAL; - } - +lives_gravity_t multitrack::gravity() const { + if (!isActive()) return LIVES_GRAVITY_NORMAL; + switch (mainw->multitrack->opts.grav_mode) { + case GRAV_MODE_LEFT: + return LIVES_GRAVITY_LEFT; + case GRAV_MODE_RIGHT: + return LIVES_GRAVITY_RIGHT; + default: + return LIVES_GRAVITY_NORMAL; } +} - lives_gravity_t multitrack::setGravity(lives_gravity_t grav) const { - if (m_lives->status() == LIVES_STATUS_PROCESSING) return gravity(); - if (!isActive()) return gravity(); +lives_gravity_t multitrack::setGravity(lives_gravity_t grav) const { + if (m_lives->status() == LIVES_STATUS_PROCESSING) return gravity(); + if (!isActive()) return gravity(); - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - pthread_mutex_lock(&cond_mutex); - if (!idle_set_gravity((int)grav, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - } - else { - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); - pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - lives_free(private_response); - } + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + pthread_mutex_lock(&cond_mutex); + if (!idle_set_gravity((int)grav, msg_id)) { + pthread_mutex_unlock(&cond_mutex); + spinning = false; + m_lives->removeCallback(cbid); + } else { + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + lives_free(private_response); } - return gravity(); } + return gravity(); +} - lives_insert_mode_t multitrack::insertMode() const { - if (!isActive()) return LIVES_INSERT_MODE_NORMAL; - switch (mainw->multitrack->opts.insert_mode) { - default: return LIVES_INSERT_MODE_NORMAL; - } - +lives_insert_mode_t multitrack::insertMode() const { + if (!isActive()) return LIVES_INSERT_MODE_NORMAL; + switch (mainw->multitrack->opts.insert_mode) { + default: + return LIVES_INSERT_MODE_NORMAL; } +} - lives_insert_mode_t multitrack::setInsertMode(lives_insert_mode_t mode) const { - if (m_lives->status() == LIVES_STATUS_PROCESSING) return insertMode(); - if (!isActive()) return insertMode(); +lives_insert_mode_t multitrack::setInsertMode(lives_insert_mode_t mode) const { + if (m_lives->status() == LIVES_STATUS_PROCESSING) return insertMode(); + if (!isActive()) return insertMode(); - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - pthread_mutex_lock(&cond_mutex); - if (!idle_set_insert_mode((int)mode, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - } - else { - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); - pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - lives_free(private_response); - } + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + pthread_mutex_lock(&cond_mutex); + if (!idle_set_insert_mode((int)mode, msg_id)) { + pthread_mutex_unlock(&cond_mutex); + spinning = false; + m_lives->removeCallback(cbid); + } else { + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + lives_free(private_response); } - return insertMode(); } + return insertMode(); +} - int multitrack::numAudioTracks() const { - if (!isActive()) return 0; - return mainw->multitrack->opts.back_audio_tracks; - } +int multitrack::numAudioTracks() const { + if (!isActive()) return 0; + return mainw->multitrack->opts.back_audio_tracks; +} - int multitrack::numVideoTracks() const { - if (!isActive()) return 0; - return mainw->multitrack->num_video_tracks; - } +int multitrack::numVideoTracks() const { + if (!isActive()) return 0; + return mainw->multitrack->num_video_tracks; +} - int multitrack::addVideoTrack(bool in_front) const { - if (!isActive()) return -1; - if (m_lives->isReady()) return -1.; +int multitrack::addVideoTrack(bool in_front) const { + if (!isActive()) return -1; + if (m_lives->isReady()) return -1.; - spinning = true; - msg_id = lives_random(); - ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); - pthread_mutex_lock(&cond_mutex); - if (!idle_insert_vtrack(in_front, msg_id)) { - pthread_mutex_unlock(&cond_mutex); - spinning = false; - m_lives->removeCallback(cbid); - } - else { - while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); - pthread_mutex_unlock(&cond_mutex); - if (isValid()) { - int tnum = atoi(private_response); - lives_free(private_response); - return tnum; - } + spinning = true; + msg_id = lives_random(); + ulong cbid = m_lives->addCallback(LIVES_CALLBACK_PRIVATE, private_cb, NULL); + pthread_mutex_lock(&cond_mutex); + if (!idle_insert_vtrack(in_front, msg_id)) { + pthread_mutex_unlock(&cond_mutex); + spinning = false; + m_lives->removeCallback(cbid); + } else { + while (spinning) pthread_cond_wait(&cond_done, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + if (isValid()) { + int tnum = atoi(private_response); + lives_free(private_response); + return tnum; } - return -1; } + return -1; +} - ////////////////////////////////////////////// +////////////////////////////////////////////// - ////// prefs - +////// prefs - namespace prefs { - livesString currentVideoLoadDir(const livesApp &lives) { - if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return livesString(); - return livesString(mainw->vid_load_dir, LIVES_CHAR_ENCODING_UTF8); - } - livesString currentAudioDir(const livesApp &lives) { - if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return livesString(); - return livesString(mainw->audio_dir, LIVES_CHAR_ENCODING_UTF8); - } +namespace prefs { +livesString currentVideoLoadDir(const livesApp &lives) { + if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return livesString(); + return livesString(mainw->vid_load_dir, LIVES_CHAR_ENCODING_UTF8); +} - livesString tmpDir(const livesApp &lives) { - if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return livesString(); - return livesString(::prefs->tmpdir, LIVES_CHAR_ENCODING_FILESYSTEM); - } +livesString currentAudioDir(const livesApp &lives) { + if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return livesString(); + return livesString(mainw->audio_dir, LIVES_CHAR_ENCODING_UTF8); +} - lives_audio_source_t audioSource(const livesApp &lives) { - if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return LIVES_AUDIO_SOURCE_UNKNOWN; - if (::prefs->audio_src == AUDIO_SRC_EXT) return LIVES_AUDIO_SOURCE_EXTERNAL; - return LIVES_AUDIO_SOURCE_INTERNAL; - } +livesString tmpDir(const livesApp &lives) { + if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return livesString(); + return livesString(::prefs->workdir, LIVES_CHAR_ENCODING_FILESYSTEM); +} - bool setAudioSource(const livesApp &lives, lives_audio_source_t asrc) { - if (!lives.isReady()) return false; - return lives.setPref(PREF_REC_EXT_AUDIO, (bool)(asrc==LIVES_AUDIO_SOURCE_EXTERNAL)); - } +lives_audio_source_t audioSource(const livesApp &lives) { + if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return LIVES_AUDIO_SOURCE_UNKNOWN; + if (::prefs->audio_src == AUDIO_SRC_EXT) return LIVES_AUDIO_SOURCE_EXTERNAL; + return LIVES_AUDIO_SOURCE_INTERNAL; +} - lives_audio_player_t audioPlayer(const livesApp &lives) { - if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return LIVES_AUDIO_PLAYER_UNKNOWN; - if (::prefs->audio_player == AUD_PLAYER_SOX) return LIVES_AUDIO_PLAYER_SOX; - if (::prefs->audio_player == AUD_PLAYER_JACK) return LIVES_AUDIO_PLAYER_JACK; - if (::prefs->audio_player == AUD_PLAYER_PULSE) return LIVES_AUDIO_PLAYER_PULSE; - if (::prefs->audio_player == AUD_PLAYER_MPLAYER) return LIVES_AUDIO_PLAYER_MPLAYER; - if (::prefs->audio_player == AUD_PLAYER_MPLAYER2) return LIVES_AUDIO_PLAYER_MPLAYER2; - } +bool setAudioSource(const livesApp &lives, lives_audio_source_t asrc) { + if (!lives.isReady()) return false; + return lives.setPref(PREF_REC_EXT_AUDIO, (bool)(asrc == LIVES_AUDIO_SOURCE_EXTERNAL)); +} + +lives_audio_player_t audioPlayer(const livesApp &lives) { + if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return LIVES_AUDIO_PLAYER_UNKNOWN; + if (::prefs->audio_player == AUD_PLAYER_SOX) return LIVES_AUDIO_PLAYER_SOX; + if (::prefs->audio_player == AUD_PLAYER_JACK) return LIVES_AUDIO_PLAYER_JACK; + if (::prefs->audio_player == AUD_PLAYER_PULSE) return LIVES_AUDIO_PLAYER_PULSE; + if (::prefs->audio_player == AUD_PLAYER_MPLAYER) return LIVES_AUDIO_PLAYER_MPLAYER; + if (::prefs->audio_player == AUD_PLAYER_MPLAYER2) return LIVES_AUDIO_PLAYER_MPLAYER2; + return LIVES_AUDIO_PLAYER_UNKNOWN; +} - int audioPlayerRate(const livesApp &lives) { - if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return 0; +int audioPlayerRate(const livesApp &lives) { + if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return 0; #ifdef ENABLE_JACK - if (::prefs->audio_player == AUD_PLAYER_JACK && mainw->jackd != NULL) return mainw->jackd->sample_out_rate; + if (::prefs->audio_player == AUD_PLAYER_JACK && mainw->jackd != NULL) return mainw->jackd->sample_out_rate; #endif #ifdef HAVE_PULSE_AUDIO - if (::prefs->audio_player == AUD_PLAYER_PULSE && mainw->pulsed != NULL) return mainw->pulsed->out_arate; + if (::prefs->audio_player == AUD_PLAYER_PULSE && mainw->pulsed != NULL) return mainw->pulsed->out_arate; #endif - return 0; - } + return 0; +} - bool isRealtimeAudioPlayer(lives_audio_player_t player_type) { - int ptype; - if (player_type == LIVES_AUDIO_PLAYER_SOX) ptype = AUD_PLAYER_SOX; - else if (player_type == LIVES_AUDIO_PLAYER_JACK) ptype = AUD_PLAYER_JACK; - else if (player_type == LIVES_AUDIO_PLAYER_PULSE) ptype = AUD_PLAYER_PULSE; - else if (player_type == LIVES_AUDIO_PLAYER_MPLAYER) ptype = AUD_PLAYER_MPLAYER; - else if (player_type == LIVES_AUDIO_PLAYER_MPLAYER2) ptype = AUD_PLAYER_MPLAYER2; - return is_realtime_aplayer(ptype); - } +bool isRealtimeAudioPlayer(lives_audio_player_t player_type) { + int ptype = AUD_PLAYER_NONE; + if (player_type == LIVES_AUDIO_PLAYER_SOX) ptype = AUD_PLAYER_SOX; + else if (player_type == LIVES_AUDIO_PLAYER_JACK) ptype = AUD_PLAYER_JACK; + else if (player_type == LIVES_AUDIO_PLAYER_PULSE) ptype = AUD_PLAYER_PULSE; + else if (player_type == LIVES_AUDIO_PLAYER_MPLAYER) ptype = AUD_PLAYER_MPLAYER; + else if (player_type == LIVES_AUDIO_PLAYER_MPLAYER2) ptype = AUD_PLAYER_MPLAYER2; + return is_realtime_aplayer(ptype); +} - int rteKeysVirtual(const livesApp &lives) { - if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return 0; - return ::prefs->rte_keys_virtual; - } +int rteKeysVirtual(const livesApp &lives) { + if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return 0; + return ::prefs->rte_keys_virtual; +} - double maxFPS(const livesApp &lives) { - if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return 0.; - return FPS_MAX; - } +double maxFPS(const livesApp &lives) { + if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return 0.; + return FPS_MAX; +} - bool audioFollowsVideoChanges(const livesApp &lives) { - if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return false; - return ::prefs->audio_opts & AUDIO_OPTS_FOLLOW_CLIPS; - } +bool audioFollowsVideoChanges(const livesApp &lives) { + if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return false; + return ::prefs->audio_opts & AUDIO_OPTS_FOLLOW_CLIPS; +} - bool audioFollowsFPSChanges(const livesApp &lives) { - if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return false; - return ::prefs->audio_opts & AUDIO_OPTS_FOLLOW_FPS; - } +bool audioFollowsFPSChanges(const livesApp &lives) { + if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return false; + return ::prefs->audio_opts & AUDIO_OPTS_FOLLOW_FPS; +} - bool setAudioFollowsVideoChanges(const livesApp &lives, bool setting) { - if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return false; - return lives.setPref(PREF_AUDIO_OPTS, AUDIO_OPTS_FOLLOW_CLIPS, setting); - } +bool setAudioFollowsVideoChanges(const livesApp &lives, bool setting) { + if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return false; + return lives.setPref(PREF_AUDIO_OPTS, AUDIO_OPTS_FOLLOW_CLIPS, setting); +} - bool setAudioFollowsFPSChanges(const livesApp &lives, bool setting) { - if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return false; - return lives.setPref(PREF_AUDIO_OPTS, AUDIO_OPTS_FOLLOW_FPS, setting); - } +bool setAudioFollowsFPSChanges(const livesApp &lives, bool setting) { + if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return false; + return lives.setPref(PREF_AUDIO_OPTS, AUDIO_OPTS_FOLLOW_FPS, setting); +} - bool sepWinSticky(const livesApp &lives) { - if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return false; - return ::prefs->sepwin_type==SEPWIN_TYPE_STICKY; - } +bool sepWinSticky(const livesApp &lives) { + if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return false; + return ::prefs->sepwin_type == SEPWIN_TYPE_STICKY; +} - bool setSepWinSticky(const livesApp &lives, bool setting) { - if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return false; - return lives.setPref(PREF_SEPWIN_STICKY, setting); - } +bool setSepWinSticky(const livesApp &lives, bool setting) { + if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return false; + return lives.setPref(PREF_SEPWIN_STICKY, setting); +} - bool mtExitRender(const livesApp &lives) { - if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return false; - return ::prefs->mt_exit_render; - } +bool mtExitRender(const livesApp &lives) { + if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return false; + return ::prefs->mt_exit_render; +} - bool setMtExitRender(const livesApp &lives, bool setting) { - if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return false; - return lives.setPref(PREF_MT_EXIT_RENDER, setting); - } +bool setMtExitRender(const livesApp &lives, bool setting) { + if (!lives.isValid() || lives.status() == LIVES_STATUS_NOTREADY) return false; + return lives.setPref(PREF_MT_EXIT_RENDER, setting); +} - - } + +} } @@ -2359,7 +2329,7 @@ #ifndef DOXYGEN_SKIP -void binding_cb (lives_callback_t cb_type, const char *msgstring, ulong id) { +void binding_cb(lives_callback_t cb_type, const char *msgstring, ulong id) { bool ret; lives::livesApp *lapp; @@ -2374,60 +2344,55 @@ lives::closureListIterator it = cl.begin(); while (it != cl.end()) { - if ((*it)->cb_type == cb_type) { switch (cb_type) { - case LIVES_CALLBACK_MODE_CHANGED: - { - lives::modeChangedInfo info; - info.mode = (lives_interface_mode_t)atoi(msgstring); - lives::modeChanged_callback_f fn = (lives::modeChanged_callback_f)((*it)->func); - ret = (fn)((*it)->object, &info, (*it)->data); - } - break; - case LIVES_CALLBACK_APP_QUIT: - { - // TODO !! test - lives::appQuitInfo info; - info.signum = atoi(msgstring); - lives::appQuit_callback_f fn = (lives::appQuit_callback_f)((*it)->func); - lapp->invalidate(); - ret = (fn)((*it)->object, &info, (*it)->data); - spinning = false; - } - break; - case LIVES_CALLBACK_OBJECT_DESTROYED: - { - lives::objectDestroyed_callback_f fn = (lives::objectDestroyed_callback_f)((*it)->func); - ret = (fn)((*it)->object, (*it)->data); - } - break; - case LIVES_CALLBACK_PRIVATE: - { - // private event type - lives::_privateInfo info; - char *endptr; - info.id = strtoul(msgstring,&endptr,10); - info.response = endptr+1; - lives::private_callback_f fn = (lives::private_callback_f)((*it)->func); - ret = (fn)(&info, (*it)->data); - } - break; + case LIVES_CALLBACK_MODE_CHANGED: { + lives::modeChangedInfo info; + info.mode = (lives_interface_mode_t)atoi(msgstring); + lives::modeChanged_callback_f fn = (lives::modeChanged_callback_f)((*it)->func); + ret = (fn)((*it)->object, &info, (*it)->data); + } + break; + case LIVES_CALLBACK_APP_QUIT: { + // TODO !! test + lives::appQuitInfo info; + info.signum = atoi(msgstring); + lives::appQuit_callback_f fn = (lives::appQuit_callback_f)((*it)->func); + lapp->invalidate(); + ret = (fn)((*it)->object, &info, (*it)->data); + spinning = false; + } + break; + case LIVES_CALLBACK_OBJECT_DESTROYED: { + lives::objectDestroyed_callback_f fn = (lives::objectDestroyed_callback_f)((*it)->func); + ret = (fn)((*it)->object, (*it)->data); + } + break; + case LIVES_CALLBACK_PRIVATE: { + // private event type + lives::_privateInfo info; + char *endptr; + info.id = strtoul(msgstring, &endptr, 10); + info.response = endptr + 1; + lives::private_callback_f fn = (lives::private_callback_f)((*it)->func); + ret = (fn)(&info, (*it)->data); + } + break; default: - continue; + ++it; + continue; } if (!ret) { - delete *it; - it = cl.erase(it); - lapp->setClosures(cl); - continue; + delete *it; + it = cl.erase(it); + lapp->setClosures(cl); + continue; } } ++it; } pthread_mutex_unlock(&spin_mutex); - } #endif // doxygen_skip
View file
LiVES-2.8.4.tar.bz2/src/liblives.hpp -> LiVES-2.8.6.tar.bz2/src/liblives.hpp
Changed
@@ -24,7 +24,7 @@ /** Version number micro */ -#define LIVES_VERSION_MICRO 4 +#define LIVES_VERSION_MICRO 6 /** Macro to check if livesApp version is >= major.minor.micro @@ -48,7 +48,7 @@ LiVES operation mode */ typedef enum { - LIVES_INTERFACE_MODE_INVALID=-1, ///< livesApp instance is invalid + LIVES_INTERFACE_MODE_INVALID = -1, ///< livesApp instance is invalid LIVES_INTERFACE_MODE_CLIPEDIT, ///< clip editor mode LIVES_INTERFACE_MODE_MULTITRACK ///< multitrack mode } lives_interface_mode_t; @@ -58,7 +58,7 @@ LiVES operational status */ typedef enum { - LIVES_STATUS_INVALID=-1, ///< livesApp instance is invalid + LIVES_STATUS_INVALID = -1, ///< livesApp instance is invalid LIVES_STATUS_NOTREADY, ///< application is starting up; not ready LIVES_STATUS_READY, ///< application is ready for commands LIVES_STATUS_PLAYING, ///< application is playing, only player commands will be responded to @@ -83,7 +83,7 @@ LIVES_CALLBACK_FRAME_SYNCH = 1, ///< sent when a frame is displayed LIVES_CALLBACK_PLAYBACK_STARTED = 2, ///< sent when a/v playback starts or clip is switched LIVES_CALLBACK_PLAYBACK_STOPPED = 3, ///< sent when a/v playback ends - /// sent when a/v playback ends and there is recorded data for + /// sent when a/v playback ends and there is recorded data for /// rendering/previewing LIVES_CALLBACK_PLAYBACK_STOPPED_RD = 4, @@ -129,9 +129,9 @@ Dialog response values */ typedef enum { -// positive values for custom responses - LIVES_DIALOG_RESPONSE_INVALID=-1, ///< INVALID response - LIVES_DIALOG_RESPONSE_NONE=0, ///< Response not obtained + // positive values for custom responses + LIVES_DIALOG_RESPONSE_INVALID = -1, ///< INVALID response + LIVES_DIALOG_RESPONSE_NONE = 0, ///< Response not obtained LIVES_DIALOG_RESPONSE_OK, ///< OK button clicked LIVES_DIALOG_RESPONSE_RETRY, ///< Retry button clicked LIVES_DIALOG_RESPONSE_ABORT, ///< Abort button clicked @@ -148,7 +148,7 @@ Audio sources */ typedef enum { - LIVES_AUDIO_SOURCE_UNKNOWN=-1, ///< Unknown / invalid + LIVES_AUDIO_SOURCE_UNKNOWN = -1, ///< Unknown / invalid LIVES_AUDIO_SOURCE_INTERNAL, ///< Audio source is internal to LiVES LIVES_AUDIO_SOURCE_EXTERNAL ///< Audio source is external to LiVES } lives_audio_source_t; @@ -158,7 +158,7 @@ Audio players */ typedef enum { - LIVES_AUDIO_PLAYER_UNKNOWN=-1, ///< Unknown / invalid + LIVES_AUDIO_PLAYER_UNKNOWN = -1, ///< Unknown / invalid LIVES_AUDIO_PLAYER_PULSE, ///< Audio playback is through PulseAudio LIVES_AUDIO_PLAYER_JACK, ///< Audio playback is thorugh Jack LIVES_AUDIO_PLAYER_SOX, ///< Audio playback is through Sox @@ -192,9 +192,9 @@ Player looping modes (bitmap) */ typedef enum { - LIVES_LOOP_MODE_NONE=0, ///< no looping - LIVES_LOOP_MODE_CONTINUOUS=1, ///< both video and audio loop continuously - LIVES_LOOP_MODE_FIT_AUDIO=2 ///< video keeps looping until audio playback finishes + LIVES_LOOP_MODE_NONE = 0, ///< no looping + LIVES_LOOP_MODE_CONTINUOUS = 1, ///< both video and audio loop continuously + LIVES_LOOP_MODE_FIT_AUDIO = 2 ///< video keeps looping until audio playback finishes } lives_loop_mode_t; @@ -218,7 +218,7 @@ #ifndef DOXYGEN_SKIP extern "C" { - void binding_cb (lives_callback_t cb_type, const char *msgstring, uint64_t id); +void binding_cb(lives_callback_t cb_type, const char *msgstring, uint64_t id); } #endif @@ -235,1947 +235,1951 @@ */ namespace lives { - //////////////////////////////////////////////////// +//////////////////////////////////////////////////// + +/** + typedef +*/ +typedef class livesApp livesApp; + +/** + typedef +*/ +typedef class set set; + +/** + typedef +*/ +typedef class clip clip; + +/** + typedef +*/ +typedef class effectKey effectKey; + +/** + typedef +*/ +typedef class effectKeyMap effectKeyMap; + +/** + typedef +*/ +typedef class effect effect; + + +/** + typedef +*/ +typedef class player player; + + +/** + typedef +*/ +typedef class multitrack multitrack; + + +/** + typedef +*/ +typedef class block block; + + +/** + typedef +*/ +typedef class livesString livesString; + + +/** + typedef +*/ +typedef list<livesString> livesStringList; + + +/////////////////////////////////////////////////// + + +/** + class "livesString". + A subclass of std::string which automatically handles various character encodings. +*/ +class livesString : public std::string { +public: + livesString(const string &str = "", lives_char_encoding_t e = LIVES_CHAR_ENCODING_DEFAULT) : std::string(str), m_encoding(e) {} + livesString(const string &str, size_t pos, size_t len = npos, lives_char_encoding_t e = LIVES_CHAR_ENCODING_DEFAULT) : std::string(str, pos, + len), m_encoding(e) {} + livesString(const char *s, lives_char_encoding_t e = LIVES_CHAR_ENCODING_DEFAULT) : std::string(s), m_encoding(e) {} + livesString(const char *s, size_t n, lives_char_encoding_t e = LIVES_CHAR_ENCODING_DEFAULT) : std::string(s, n), m_encoding(e) {} + livesString(size_t n, char c, lives_char_encoding_t e = LIVES_CHAR_ENCODING_DEFAULT) : std::string(n, c), m_encoding(e) {} + template <class InputIterator> + livesString(InputIterator first, InputIterator last, + lives_char_encoding_t e = LIVES_CHAR_ENCODING_DEFAULT) : std::string(first, last), m_encoding(e) {} + + /** + Change the character encoding of the string. + @param enc the character encoding to convert to. + @return either the same string if no conversion is needed, or a new string if conversion is needed + */ + livesString toEncoding(lives_char_encoding_t enc); /** - typedef + Define the character encoding of the string. + @param enc the character encoding the string is in. */ - typedef class livesApp livesApp; + void setEncoding(lives_char_encoding_t enc); /** - typedef + Return the encoding that the string was declared as. + @return the character encoding the string is in. */ - typedef class set set; + lives_char_encoding_t encoding(); + +private: + lives_char_encoding_t m_encoding; +}; + +#ifndef DOXYGEN_SKIP +typedef void *(*callback_f)(void *); + +typedef struct { + ulong id; + livesApp *object; + lives_callback_t cb_type; + callback_f func; + void *data; +} closure; + +typedef list<closure *> closureList; +typedef list<closure *>::iterator closureListIterator; +#endif + +/** + Struct passed to modeChanged callback. +*/ +typedef struct { + lives_interface_mode_t mode; ///< mode changed to +} modeChangedInfo; + +/** + Struct passed to appQuit callback. +*/ +typedef struct { + int signum; ///< signal which caused the app to exit, or 0 if the user or script quit normally. +} appQuitInfo; + + +#ifndef DOXYGEN_SKIP +typedef struct { + ulong id; + char *response; +} _privateInfo; + + +typedef bool (*private_callback_f)(_privateInfo *, void *); +#endif + +/** + Type of callback function for LIVES_CALLBACK_MODE_CHANGED. + @see LIVES_CALLBACK_MODE_CHANGED + @see livesApp::addCallback(lives_callback_t cb_type, modeChanged_callback_f func, void *data) +*/ +typedef bool (*modeChanged_callback_f)(livesApp *, modeChangedInfo *, void *); + +/** + Type of callback function for LIVES_CALLBACK_APP_QUIT. + @see LIVES_CALLBACK_APP_QUIT + @see livesApp::addCallback(lives_callback_t cb_type, appQuit_callback_f func, void *data) +*/ +typedef bool (*appQuit_callback_f)(livesApp *, appQuitInfo *, void *); + + +/** + Type of callback function for LIVES_CALLBACK_OBJECT_DESTROYED. + @see LIVES_CALLBACK_OBJECT_DESTROYED + @see livesApp::addCallback(lives_callback_t cb_type, objectDestroyed_callback_f func, void *data) +*/ +typedef bool (*objectDestroyed_callback_f)(livesApp *, void *); + + + +/** + class "livesApp". + Represents a single LiVES application. Note that currently only one such instance can be valid at a time, + attempting to create a second concurrent instance will return an invalid instance. +*/ +class livesApp { + friend set; + friend clip; + friend effectKeyMap; + friend effectKey; + friend player; + friend multitrack; + friend block; + +public: /** - typedef + Constructor with no arguments. */ - typedef class clip clip; + livesApp(); /** - typedef + Constructor with argc, argv arguments. + argv array is equivalent to commandline options passed to the LiVES application. + @param argc count of number of arguments + @param argv[] array of options. */ - typedef class effectKey effectKey; + livesApp(int argc, char *argv[]); /** - typedef + Destructor: closes the LiVES application. + Deletes any callbacks which were set for this instance. */ - typedef class effectKeyMap effectKeyMap; + ~livesApp(); /** - typedef + Returns whether the instance is valid or not. + A valid instance is connected to a running LiVES application. + @return true if instance is connected to a running LiVES application. */ - typedef class effect effect; + bool isValid() const; + /** + @return true if status() == LIVES_STATUS_READY. + @see status(). + */ + bool isReady() const; /** - typedef + Equivalent to status() == LIVES_STATUS_PLAYING. + @return true if status() == LIVES_STATUS_PLAYING. + @see status(). */ - typedef class player player; + bool isPlaying() const; + /** + @return the current set. + */ + const set &getSet(); /** - typedef + @return the current effectKeyMap. */ - typedef class multitrack multitrack; + const effectKeyMap &getEffectKeyMap(); + /** + @return the player for this livesApp. + */ + const player &getPlayer(); /** - typedef + @return the multitrack object for this livesApp. */ - typedef class block block; + const multitrack &getMultitrack(); + /** + Remove a previously added callback. + @param id value previously returned from addCallback. + @return true if playback was stopped. + */ + bool removeCallback(ulong id) const; /** - typedef + Add a modeChanged callback. + @param cb_type must have value LIVES_CALLBACK_MODE_CHANGED. + @param func function to be called when this signal is received. + @param data data to be passed to callback function + @return unsigned long callback_id + @see LIVES_CALLBACK_MODE_CHANGED + @see removeCallback(). */ - typedef class livesString livesString; + ulong addCallback(lives_callback_t cb_type, modeChanged_callback_f func, void *data) const; + /** + Add an appQuit callback. + @param cb_type must have value LIVES_CALLBACK_APP_QUIT + @param func function to be called when this signal is received. + @param data data to be passed to callback function + @return unsigned long callback_id + @see LIVES_CALLBACK_APP_QUIT + @see removeCallback(). + */ + ulong addCallback(lives_callback_t cb_type, appQuit_callback_f func, void *data) const; /** - typedef + Add an objectDestroyed callback. + @param cb_type must have value LIVES_CALLBACK_OBJECT_DESTROYED + @param func function to be called when this signal is received. + @param data data to be passed to callback function + @return unsigned long callback_id + @see LIVES_CALLBACK_OBJECT_DESTROYED + @see removeCallback(). */ - typedef list<livesString> livesStringList; + ulong addCallback(lives_callback_t cb_type, objectDestroyed_callback_f func, void *data) const; + /** + Show Info dialog in the LiVES GUI. + Only has an effect when status() is LIVES_STATUS_READY. + @param text text to be diaplayed in the dialog. + @param blocking if true then function will block until the user presses "OK" + @return if blocking, returns the response code from the dialog. + */ + lives_dialog_response_t showInfo(livesString text, bool blocking = true); - /////////////////////////////////////////////////// + /** + Allow the user choose a file via a fileselector. + Only has an effect when status() is LIVES_STATUS_READY, otherwise returns an empty livesString. + After returning, the setting that the user selected for deinterlace may be obtained by calling + deinterlaceOption(). This value can the be passed into openFile(). + Chooser type will direct the user towards the type of file to choose, however there is no guarantee + that a file of the "correct" type will be returned. If the user cancels then an empty livesString will be returned. + @param dirname directory name to start in (or NULL) + @param chooser_type must be either LIVES_FILE_CHOOSER_VIDEO_AUDIO or LIVES_FILE_CHOOSER_AUDIO_ONLY. + @param title title of window to display, or NULL to use a default title. + @return the name of the file selected. + @see openFile(). + */ + livesString chooseFileWithPreview(livesString dirname, lives_filechooser_t chooser_type, livesString title = livesString("")); + /** + Open a file and return a clip for it. + Only works when status() is LIVES_STATUS_READY, otherwise an invalid clip is returned. + If the file pointed to cannot be opened as a clip, an invalid clip is returned. + If interactive() is true, the user may cancel the load, or choose to load only part of the file. + @param fname the full pathname of the file to open + @param with_audio if true the audio will be loaded as well as the video + @param stime the time in seconds from which to start loading + @param frames number of frames to open (0 means all frames) + @param deinterlace set to true to force deinterlacing + @return a clip. + @see chooseFileWithPreview(). + @see deinterlaceOption(). + */ + clip openFile(livesString fname, bool with_audio = true, double stime = 0., int frames = 0, bool deinterlace = false); /** - class "livesString". - A subclass of std::string which automatically handles various character encodings. + Returns a list of available sets. The list returned depends on the setting of prefs::tmpDir(). + This may be an expensive operation as it requires accessing the underlying filesystem. + If the set is invalid, an empty livesStringList is returned. + @return a list<livesString> of set names. + @see reloadSet(). + @see set::save(). */ - class livesString : public std::string { - public: - livesString(const string& str="", lives_char_encoding_t e=LIVES_CHAR_ENCODING_DEFAULT) : m_encoding(e), std::string(str) {} - livesString(const string& str, size_t pos, size_t len = npos, lives_char_encoding_t e=LIVES_CHAR_ENCODING_DEFAULT) : m_encoding(e), - std::string(str, pos, len) {} - livesString(const char* s, lives_char_encoding_t e=LIVES_CHAR_ENCODING_DEFAULT) : m_encoding(e), std::string(s) {} - livesString(const char* s, size_t n, lives_char_encoding_t e=LIVES_CHAR_ENCODING_DEFAULT) : m_encoding(e), std::string(s, n) {} - livesString(size_t n, char c, lives_char_encoding_t e=LIVES_CHAR_ENCODING_DEFAULT) : m_encoding(e), std::string(n, c) {} - template <class InputIterator> - livesString (InputIterator first, InputIterator last, - lives_char_encoding_t e=LIVES_CHAR_ENCODING_DEFAULT) : m_encoding(e), std::string(first, last) {} + livesStringList availableSets(); + + /** + Allow the user to choose a set to open. + Only has an effect when status() is LIVES_STATUS_READY, and there are no currently open clips, + otherwise returns an empty livesString. + If the user cancels, an empty livesString is returned. + The valid list of sets to choose from will be equivalent to the list returned by availableSets(). + @return the name of the set selected. + @see reloadSet(). + @see availableSets(). + */ + livesString chooseSet(); - /** - Change the character encoding of the string. - @param enc the character encoding to convert to. - @return either the same string if no conversion is needed, or a new string if conversion is needed - */ - livesString toEncoding(lives_char_encoding_t enc); + /** + Reload an existing clip set. + Only works when status() is LIVES_STATUS_READY, otherwise false is returned. + A set may not be accessed concurrently by more than one copy of LiVES. + The valid list of sets is equivalent to the list returned by availableSets(). + If setname is an empty livesString, chooseSet() will be called first to get a set name. + @param setname the name of the set to reload. + @see chooseSet(). + @see availableSets(). + */ + bool reloadSet(livesString setname); - /** - Define the character encoding of the string. - @param enc the character encoding the string is in. - */ - void setEncoding(lives_char_encoding_t enc); + /** + Change the interactivity of the GUI application. + Interactivity is via menus and keyboard accelerators + @param setting set to true to allow interaction with the GUI. + @return the new setting. + @see interactive(). + */ + bool setInteractive(bool setting); - /** - Return the encoding that the string was declared as. - @return the character encoding the string is in. - */ - lives_char_encoding_t encoding(); + /** + Returns whether the GUI app is in interactive mode. + @return true if GUI interactivity via menus and keyboard accelerators is enabled. + @see setInteractive(). + */ + bool interactive(); - private: - lives_char_encoding_t m_encoding; - }; + /** + Returns last setting of deinterlace by user. + @return value that the user selected during the last filechooser with preview operation. + This value may be passed into openFile(). + @see openFile(). + */ + bool deinterlaceOption(); -#ifndef DOXYGEN_SKIP - typedef void *(*callback_f)(void *); - - typedef struct { - ulong id; - livesApp *object; - lives_callback_t cb_type; - callback_f func; - void *data; - } closure; - - typedef list<closure *> closureList; - typedef list<closure *>::iterator closureListIterator; -#endif + /** + Get the current interface mode of the livesApp. + If the livesApp is invalid, returns LIVES_INTERFACE_MODE_INVALID. + @return current mode. + @see setMode(). + */ + lives_interface_mode_t mode(); /** - Struct passed to modeChanged callback. + Set the current interface mode of the livesApp. + Only works if status() is LIVES_STATUS_READY. + If the livesApp is invalid, returns LIVES_INTERFACE_MODE_INVALID. + @param mode the interface mode to set to + @return the new interface mode. + @see mode(). */ - typedef struct { - lives_interface_mode_t mode; ///< mode changed to - } modeChangedInfo; + lives_interface_mode_t setMode(lives_interface_mode_t mode);//, livesMultitrackSettings settings=NULL); + /** + Get the current operational status of the livesApp. + @return current status. + @see isReady(). + @see isPlaying(). + */ + lives_status_t status() const; /** - Struct passed to appQuit callback. + If status() is LIVES_STATUS_PROCESSING, cancel the current processing if possible. + @return true if the processing was cancelled. */ - typedef struct { - int signum; ///< signal which caused the app to exit, or 0 if the user or script quit normally. - } appQuitInfo; + bool cancel(); + #ifndef DOXYGEN_SKIP - typedef struct { - ulong id; - char *response; - } _privateInfo; + // For internal use only. + closureList &closures(); + void invalidate(); + void setClosures(closureList cl); + bool setPref(const char *prefidx, bool val) const; + bool setPref(const char *prefidx, int val) const; + bool setPref(const char *prefidx, int bitfield, bool val) const; - typedef bool (*private_callback_f)(_privateInfo *, void *); #endif +protected: + ulong addCallback(lives_callback_t cb_type, private_callback_f func, void *data) const; + +private: + ulong m_id; + closureList m_closures; + set *m_set; + player *m_player; + effectKeyMap *m_effectKeyMap; + multitrack *m_multitrack; + + pthread_t *m_thread; + + bool m_deinterlace; + + ulong appendClosure(lives_callback_t cb_type, callback_f func, void *data) const; + void init(int argc, char *argv[]); + + void operator=(livesApp const &); // Don't implement + livesApp(const livesApp &other); // Don't implement + +}; + + + + +/** + class "clip". + Represents a clip which is open in LiVES. + @see set::nthClip() + @see livesApp::openFile() + @see player::foregroundClip() + @see player::backgroundClip() +*/ +class clip { + friend livesApp; + friend set; + friend block; + friend multitrack; + friend player; + +public: + /** - Type of callback function for LIVES_CALLBACK_MODE_CHANGED. - @see LIVES_CALLBACK_MODE_CHANGED - @see livesApp::addCallback(lives_callback_t cb_type, modeChanged_callback_f func, void *data) + Creates a new, invalid clip */ - typedef bool (*modeChanged_callback_f)(livesApp *, modeChangedInfo *, void *); + clip(); /** - Type of callback function for LIVES_CALLBACK_APP_QUIT. - @see LIVES_CALLBACK_APP_QUIT - @see livesApp::addCallback(lives_callback_t cb_type, appQuit_callback_f func, void *data) + Check if clip is valid. + A clip is valid if it is loaded in a valid livesApp instance, and the livesApp::status() is not LIVES_STATUS_NOTREADY. + @see livesApp::openFile(). + @return true if the clip is valid. */ - typedef bool (*appQuit_callback_f)(livesApp *, appQuitInfo *, void *); + bool isValid() const; + /** + Number of frames in this clip. + If the clip is audio only, 0 is returned. + If clip is not valid then 0 is returned. + @return int number of frames, or 0 if clip is not valid. + */ + int frames(); /** - Type of callback function for LIVES_CALLBACK_OBJECT_DESTROYED. - @see LIVES_CALLBACK_OBJECT_DESTROYED - @see livesApp::addCallback(lives_callback_t cb_type, objectDestroyed_callback_f func, void *data) - */ - typedef bool (*objectDestroyed_callback_f)(livesApp *, void *); - - - - /** - class "livesApp". - Represents a single LiVES application. Note that currently only one such instance can be valid at a time, - attempting to create a second concurrent instance will return an invalid instance. - */ - class livesApp { - friend set; - friend clip; - friend effectKeyMap; - friend effectKey; - friend player; - friend multitrack; - friend block; - - public: - /** - Constructor with no arguments. - */ - livesApp(); - - /** - Constructor with argc, argv arguments. - argv array is equivalent to commandline options passed to the LiVES application. - @param argc count of number of arguments - @param argv[] array of options. - */ - livesApp(int argc, char *argv[]); - - /** - Destructor: closes the LiVES application. - Deletes any callbacks which were set for this instance. - */ - ~livesApp(); - - /** - Returns whether the instance is valid or not. - A valid instance is connected to a running LiVES application. - @return true if instance is connected to a running LiVES application. - */ - bool isValid() const; - - /** - @return true if status() == LIVES_STATUS_READY. - @see status(). - */ - bool isReady() const; - - /** - Equivalent to status() == LIVES_STATUS_PLAYING. - @return true if status() == LIVES_STATUS_PLAYING. - @see status(). - */ - bool isPlaying() const; - - /** - @return the current set. - */ - const set& getSet(); - - /** - @return the current effectKeyMap. - */ - const effectKeyMap& getEffectKeyMap(); - - /** - @return the player for this livesApp. - */ - const player& getPlayer(); - - /** - @return the multitrack object for this livesApp. - */ - const multitrack& getMultitrack(); - - /** - Remove a previously added callback. - @param id value previously returned from addCallback. - @return true if playback was stopped. - */ - bool removeCallback(ulong id) const; - - /** - Add a modeChanged callback. - @param cb_type must have value LIVES_CALLBACK_MODE_CHANGED. - @param func function to be called when this signal is received. - @param data data to be passed to callback function - @return unsigned long callback_id - @see LIVES_CALLBACK_MODE_CHANGED - @see removeCallback(). - */ - ulong addCallback(lives_callback_t cb_type, modeChanged_callback_f func, void *data) const; - - /** - Add an appQuit callback. - @param cb_type must have value LIVES_CALLBACK_APP_QUIT - @param func function to be called when this signal is received. - @param data data to be passed to callback function - @return unsigned long callback_id - @see LIVES_CALLBACK_APP_QUIT - @see removeCallback(). - */ - ulong addCallback(lives_callback_t cb_type, appQuit_callback_f func, void *data) const; - - /** - Add an objectDestroyed callback. - @param cb_type must have value LIVES_CALLBACK_OBJECT_DESTROYED - @param func function to be called when this signal is received. - @param data data to be passed to callback function - @return unsigned long callback_id - @see LIVES_CALLBACK_OBJECT_DESTROYED - @see removeCallback(). - */ - ulong addCallback(lives_callback_t cb_type, objectDestroyed_callback_f func, void *data) const; - - /** - Show Info dialog in the LiVES GUI. - Only has an effect when status() is LIVES_STATUS_READY. - @param text text to be diaplayed in the dialog. - @param blocking if true then function will block until the user presses "OK" - @return if blocking, returns the response code from the dialog. - */ - lives_dialog_response_t showInfo(livesString text, bool blocking=true); - - /** - Allow the user choose a file via a fileselector. - Only has an effect when status() is LIVES_STATUS_READY, otherwise returns an empty livesString. - After returning, the setting that the user selected for deinterlace may be obtained by calling - deinterlaceOption(). This value can the be passed into openFile(). - Chooser type will direct the user towards the type of file to choose, however there is no guarantee - that a file of the "correct" type will be returned. If the user cancels then an empty livesString will be returned. - @param dirname directory name to start in (or NULL) - @param chooser_type must be either LIVES_FILE_CHOOSER_VIDEO_AUDIO or LIVES_FILE_CHOOSER_AUDIO_ONLY. - @param title title of window to display, or NULL to use a default title. - @return the name of the file selected. - @see openFile(). - */ - livesString chooseFileWithPreview(livesString dirname, lives_filechooser_t chooser_type, livesString title=livesString("")); - - /** - Open a file and return a clip for it. - Only works when status() is LIVES_STATUS_READY, otherwise an invalid clip is returned. - If the file pointed to cannot be opened as a clip, an invalid clip is returned. - If interactive() is true, the user may cancel the load, or choose to load only part of the file. - @param fname the full pathname of the file to open - @param with_audio if true the audio will be loaded as well as the video - @param stime the time in seconds from which to start loading - @param frames number of frames to open (0 means all frames) - @param deinterlace set to true to force deinterlacing - @return a clip. - @see chooseFileWithPreview(). - @see deinterlaceOption(). - */ - clip openFile(livesString fname, bool with_audio=true, double stime=0., int frames=0, bool deinterlace=false); - - /** - Returns a list of available sets. The list returned depends on the setting of prefs::tmpDir(). - This may be an expensive operation as it requires accessing the underlying filesystem. - If the set is invalid, an empty livesStringList is returned. - @return a list<livesString> of set names. - @see reloadSet(). - @see set::save(). - */ - livesStringList availableSets(); - - /** - Allow the user to choose a set to open. - Only has an effect when status() is LIVES_STATUS_READY, and there are no currently open clips, - otherwise returns an empty livesString. - If the user cancels, an empty livesString is returned. - The valid list of sets to choose from will be equivalent to the list returned by availableSets(). - @return the name of the set selected. - @see reloadSet(). - @see availableSets(). - */ - livesString chooseSet(); - - /** - Reload an existing clip set. - Only works when status() is LIVES_STATUS_READY, otherwise false is returned. - A set may not be accessed concurrently by more than one copy of LiVES. - The valid list of sets is equivalent to the list returned by availableSets(). - If setname is an empty livesString, chooseSet() will be called first to get a set name. - @param setname the name of the set to reload. - @see chooseSet(). - @see availableSets(). - */ - bool reloadSet(livesString setname); - - /** - Change the interactivity of the GUI application. - Interactivity is via menus and keyboard accelerators - @param setting set to true to allow interaction with the GUI. - @return the new setting. - @see interactive(). - */ - bool setInteractive(bool setting); - - /** - Returns whether the GUI app is in interactive mode. - @return true if GUI interactivity via menus and keyboard accelerators is enabled. - @see setInteractive(). - */ - bool interactive(); - - /** - Returns last setting of deinterlace by user. - @return value that the user selected during the last filechooser with preview operation. - This value may be passed into openFile(). - @see openFile(). - */ - bool deinterlaceOption(); - - /** - Get the current interface mode of the livesApp. - If the livesApp is invalid, returns LIVES_INTERFACE_MODE_INVALID. - @return current mode. - @see setMode(). - */ - lives_interface_mode_t mode(); - - /** - Set the current interface mode of the livesApp. - Only works if status() is LIVES_STATUS_READY. - If the livesApp is invalid, returns LIVES_INTERFACE_MODE_INVALID. - @param mode the interface mode to set to - @return the new interface mode. - @see mode(). - */ - lives_interface_mode_t setMode(lives_interface_mode_t mode);//, livesMultitrackSettings settings=NULL); - - /** - Get the current operational status of the livesApp. - @return current status. - @see isReady(). - @see isPlaying(). - */ - lives_status_t status() const; - - /** - If status() is LIVES_STATUS_PROCESSING, cancel the current processing if possible. - @return true if the processing was cancelled. - */ - bool cancel(); + Width of the clip in pixels. + If the clip is audio only, 0 is returned. + If clip is not valid then 0 is returned. + @return int width in pixels, or 0 if clip is not valid. + */ + int width(); + + /** + Height of the clip in pixels. + If the clip is audio only, 0 is returned. + If clip is not valid then 0 is returned. + @return int height in pixels, or 0 if clip is not valid. + */ + int height(); + /** + Framerate (frames per second) of the clip. + If the clip is audio only, 0.0 is returned. + If clip is not valid then 0.0 is returned. + @return double framerate of the clip, or 0.0 if clip is not valid. + */ + double FPS(); + /** + Framerate (frames per second) that the clip is/will be played back at. + This may vary from the normal FPS(). During playback it will be equivalent to player::FPS(). + If livesApp::mode() is LIVES_INTERFACE_MODE_MULTITRACK then this will return multitrack::FPS(). + IF the clip is invalid, 0. is returned. + @return the playback framerate + @see player::setCurrentFPS(). + @see player::FPS(). + */ + double playbackFPS(); -#ifndef DOXYGEN_SKIP - // For internal use only. - closureList& closures(); - void invalidate(); - void setClosures(closureList cl); - - bool setPref(const char *prefidx, bool val) const; - bool setPref(const char *prefidx, int val) const; - bool setPref(const char *prefidx, int bitfield, bool val) const; + /** + Human readable name of the clip. + If clip is not valid then empty livesString is returned. + @return livesString name, or empty livesString if clip is not valid. + */ + livesString name(); -#endif + /** + Audio rate for this clip. + If the clip is video only, 0 is returned. + If clip is not valid then 0 is returned. + Note this is not necessarily the same as the soundcard audio rate which can be obtained via prefs::audioPlayerRate(). + @return int audio rate, or 0 if clip is not valid. + @see playbackAudioRate() + */ + int audioRate(); + + /** + The current playback audio rate for this clip, which may differ from audioRate(). + If the clip is video only, 0 is returned. + If clip is not valid then 0 is returned. + Note this is not necessarily the same as the soundcard audio rate which can be obtained via prefs::audioPlayerRate(). + If livesApp::mode() is LIVES_INTERFACE_MODE_MULTITRACK then this will return multitrack::audioRate(). + @return int playback audio rate, or 0 if clip is not valid. + @see audiorate(). + */ + int playbackAudioRate(); + + /** + Number of audio channels (eg. left, right) for this clip. + If the clip is video only, 0 is returned. + If clip is not valid then 0 is returned. + @return int audio channels, or 0 if clip is not valid. + */ + int audioChannels(); + + /** + Size in bits of audio samples (eg. 8, 16, 32) for this clip. + If the clip is video only, 0 is returned. + If clip is not valid then 0 is returned. + @return int audio sample size, or 0 if clip is not valid. + */ + int audioSampleSize(); + + /** + Returns whether the audio is signed (true) or unsigned (false). + If clip is video only or not valid then the return value is undefined. + @return bool audio signed. + */ + bool audioSigned(); + + /** + Returns the endianness of the audio. + If clip is video only or not valid then the return value is undefined. + @return bool audio signed. + */ + lives_endian_t audioEndian(); + + + /** + Returns the length in seconds for audio in the clip + If the clip is invalid, returns 0. + @return the length of the clip audio, in seconds. + */ + double audioLength(); + + /** + Start of the selected frame region. + If the clip is audio only, 0 is returned. + If clip is not valid then 0 is returned. + @return int frame selection start, or 0 if clip is not valid. + */ + int selectionStart(); + + /** + End of the selected frame region. + If the clip is audio only, 0 is returned. + If clip is not valid then 0 is returned. + @return int frame selection end, or 0 if clip is not valid. + */ + int selectionEnd(); + + + /** + Select all frames in the clip. if the clip is invalid does nothing. + Only works is livesApp::status() is LIVES_STATUS_READY or LIVES_STATUS_PLAYING. + @return true if the operation was successful. + */ + bool selectAll(); + + /** + Set the selection start frame for the clip. If the new start is > selectionEnd() then selection end will be set to the new start. + If the clip is invalid there is no effect. + Only functions if livesApp::status() is LIVES_STATUS_READY or LIVES_STATUS_PLAYING. + @param start the selection start frame which must be in range 1 <= start <= frames(). + @see setSelectionEnd(). + */ + bool setSelectionStart(unsigned int start); + + /** + Set the selection end frame for the clip. If the new end is < selectionStart() then selection start will be set to the new end. + If the clip is invalid there is no effect. + Only functions if livesApp::status() is LIVES_STATUS_READY or LIVES_STATUS_PLAYING. + @param end the selection end frame which must be in range 1 <= end <= frames(). + @see setSelectionStart(). + */ + bool setSelectionEnd(unsigned int end); + + /** + Switch to this clip as the current foreground clip. + Only works if livesApp::status() is LIVES_STATUS_READY or LIVES_STATUS_PLAYING and livesApp::mode() is LIVES_INTERFACE_MODE_CLIP_EDITOR. + If clips are switched during playback, the application acts as if livesApp::loopMode() were set to LIVES_LOOP_MODE_CONTINUOUS. + If the clip is invalid, nothing happens and false is returned. + @return true if the switch was successful. + @see player::setForegroundClip() + */ + bool switchTo(); + + /** + Switch to this clip as the current background clip. + Only works if livesApp::status() is LIVES_STATUS_READY or LIVES_STATUS_PLAYING and livesApp::mode() is LIVES_INTERFACE_MODE_CLIP_EDITOR. + If the clip is invalid, nothing happens and false is returned. + @return true if the switch was successful. + @see player::setBackgroundClip() + */ + bool setIsBackground(); + + /** + @return true if the two clips have the same internal id, and belong to the same livesApp. + */ + inline bool operator==(const clip &other) { + return other.m_uid == m_uid && m_lives == other.m_lives; + } + +protected: + clip(ulong uid, livesApp *lives = NULL); + ulong m_uid; + +private: + livesApp *m_lives; + +}; - protected: - ulong addCallback(lives_callback_t cb_type, private_callback_f func, void *data) const; - - private: - ulong m_id; - closureList m_closures; - set * m_set; - player *m_player; - effectKeyMap * m_effectKeyMap; - multitrack *m_multitrack; - - pthread_t *m_thread; - - bool m_deinterlace; - - ulong appendClosure(lives_callback_t cb_type, callback_f func, void *data) const; - void init(int argc, char *argv[]); - - void operator=(livesApp const&); // Don't implement - livesApp(const livesApp &other); // Don't implement - - }; - - - - - /** - class "clip". - Represents a clip which is open in LiVES. - @see set::nthClip() - @see livesApp::openFile() - @see player::foregroundClip() - @see player::backgroundClip() - */ - class clip { - friend livesApp; - friend set; - friend block; - friend multitrack; - friend player; - - public: - - /** - Creates a new, invalid clip - */ - clip(); - - /** - Check if clip is valid. - A clip is valid if it is loaded in a valid livesApp instance, and the livesApp::status() is not LIVES_STATUS_NOTREADY. - @see livesApp::openFile(). - @return true if the clip is valid. - */ - bool isValid() const; - - /** - Number of frames in this clip. - If the clip is audio only, 0 is returned. - If clip is not valid then 0 is returned. - @return int number of frames, or 0 if clip is not valid. - */ - int frames(); - - /** - Width of the clip in pixels. - If the clip is audio only, 0 is returned. - If clip is not valid then 0 is returned. - @return int width in pixels, or 0 if clip is not valid. - */ - int width(); - - /** - Height of the clip in pixels. - If the clip is audio only, 0 is returned. - If clip is not valid then 0 is returned. - @return int height in pixels, or 0 if clip is not valid. - */ - int height(); - - /** - Framerate (frames per second) of the clip. - If the clip is audio only, 0.0 is returned. - If clip is not valid then 0.0 is returned. - @return double framerate of the clip, or 0.0 if clip is not valid. - */ - double FPS(); - - /** - Framerate (frames per second) that the clip is/will be played back at. - This may vary from the normal FPS(). During playback it will be equivalent to player::FPS(). - If livesApp::mode() is LIVES_INTERFACE_MODE_MULTITRACK then this will return multitrack::FPS(). - IF the clip is invalid, 0. is returned. - @return the playback framerate - @see player::setCurrentFPS(). - @see player::FPS(). - */ - double playbackFPS(); - - /** - Human readable name of the clip. - If clip is not valid then empty livesString is returned. - @return livesString name, or empty livesString if clip is not valid. - */ - livesString name(); - - /** - Audio rate for this clip. - If the clip is video only, 0 is returned. - If clip is not valid then 0 is returned. - Note this is not necessarily the same as the soundcard audio rate which can be obtained via prefs::audioPlayerRate(). - @return int audio rate, or 0 if clip is not valid. - @see playbackAudioRate() - */ - int audioRate(); - - /** - The current playback audio rate for this clip, which may differ from audioRate(). - If the clip is video only, 0 is returned. - If clip is not valid then 0 is returned. - Note this is not necessarily the same as the soundcard audio rate which can be obtained via prefs::audioPlayerRate(). - If livesApp::mode() is LIVES_INTERFACE_MODE_MULTITRACK then this will return multitrack::audioRate(). - @return int playback audio rate, or 0 if clip is not valid. - @see audiorate(). - */ - int playbackAudioRate(); - - /** - Number of audio channels (eg. left, right) for this clip. - If the clip is video only, 0 is returned. - If clip is not valid then 0 is returned. - @return int audio channels, or 0 if clip is not valid. - */ - int audioChannels(); - - /** - Size in bits of audio samples (eg. 8, 16, 32) for this clip. - If the clip is video only, 0 is returned. - If clip is not valid then 0 is returned. - @return int audio sample size, or 0 if clip is not valid. - */ - int audioSampleSize(); - - /** - Returns whether the audio is signed (true) or unsigned (false). - If clip is video only or not valid then the return value is undefined. - @return bool audio signed. - */ - bool audioSigned(); - - /** - Returns the endianness of the audio. - If clip is video only or not valid then the return value is undefined. - @return bool audio signed. - */ - lives_endian_t audioEndian(); - - - /** - Returns the length in seconds for audio in the clip - If the clip is invalid, returns 0. - @return the length of the clip audio, in seconds. - */ - double audioLength(); - - /** - Start of the selected frame region. - If the clip is audio only, 0 is returned. - If clip is not valid then 0 is returned. - @return int frame selection start, or 0 if clip is not valid. - */ - int selectionStart(); - - /** - End of the selected frame region. - If the clip is audio only, 0 is returned. - If clip is not valid then 0 is returned. - @return int frame selection end, or 0 if clip is not valid. - */ - int selectionEnd(); - - - /** - Select all frames in the clip. if the clip is invalid does nothing. - Only works is livesApp::status() is LIVES_STATUS_READY or LIVES_STATUS_PLAYING. - @return true if the operation was successful. - */ - bool selectAll(); - - /** - Set the selection start frame for the clip. If the new start is > selectionEnd() then selection end will be set to the new start. - If the clip is invalid there is no effect. - Only functions if livesApp::status() is LIVES_STATUS_READY or LIVES_STATUS_PLAYING. - @param start the selection start frame which must be in range 1 <= start <= frames(). - @see setSelectionEnd(). - */ - bool setSelectionStart(unsigned int start); - - /** - Set the selection end frame for the clip. If the new end is < selectionStart() then selection start will be set to the new end. - If the clip is invalid there is no effect. - Only functions if livesApp::status() is LIVES_STATUS_READY or LIVES_STATUS_PLAYING. - @param end the selection end frame which must be in range 1 <= end <= frames(). - @see setSelectionStart(). - */ - bool setSelectionEnd(unsigned int end); - - /** - Switch to this clip as the current foreground clip. - Only works if livesApp::status() is LIVES_STATUS_READY or LIVES_STATUS_PLAYING and livesApp::mode() is LIVES_INTERFACE_MODE_CLIP_EDITOR. - If clips are switched during playback, the application acts as if livesApp::loopMode() were set to LIVES_LOOP_MODE_CONTINUOUS. - If the clip is invalid, nothing happens and false is returned. - @return true if the switch was successful. - @see player::setForegroundClip() - */ - bool switchTo(); - - /** - Switch to this clip as the current background clip. - Only works if livesApp::status() is LIVES_STATUS_READY or LIVES_STATUS_PLAYING and livesApp::mode() is LIVES_INTERFACE_MODE_CLIP_EDITOR. - If the clip is invalid, nothing happens and false is returned. - @return true if the switch was successful. - @see player::setBackgroundClip() - */ - bool setIsBackground(); - - /** - @return true if the two clips have the same internal id, and belong to the same livesApp. - */ - inline bool operator==(const clip& other) { - return other.m_uid == m_uid && m_lives == other.m_lives; - } - - protected: - clip(ulong uid, livesApp *lives=NULL); - ulong m_uid; - - private: - livesApp *m_lives; - - }; - #ifndef DOXYGEN_SKIP - typedef vector<ulong> clipList; - typedef vector<ulong>::iterator clipListIterator; +typedef vector<ulong> clipList; +typedef vector<ulong>::iterator clipListIterator; #endif - ///// set //////// - - - /** - class "set". - Represents a list of clips and/or layouts which are open in LiVES. May be obtained from livesApp::getSet(). - @see livesApp::getSet() - */ - class set { - friend livesApp; - - public: - - /** - Returns whether the set is valid or not. - The set is valid if belongs to a valid livesApp, and the livesApp::status() is not LIVES_STATUS_NOTREADY. - @return true if the set is valid (associated with a valid livesApp instance). - */ - bool isValid() const; - - /** - Returns the current name of the set. - If it has not been defined, an empty livesString is returned. If the set is invalid, an empty livesString is returned. - @return livesString name. - */ - livesString name() const; - - /** - Set the name of the current set. Only works if there are clips loaded, and the livesApp::status() is LIVES_STATUS_READY. - Can only be done if the current set has no name. You need to do this before saving a layout if the current set has no name. - If name is an empty string, the user can choose the name at runtime. If livesApp::interactive() is false, the user can cancel. - Valid set names may not be empty, begin with a "." or contain spaces or the characters / \ * or ". The set name must not be in use by - another copy of LiVES. The maximum length of a set name is 128 characters. - @param name the name of the set - @return true if the name was set. - @see name(). - */ - bool setName(livesString name=livesString()) const; - - /** - Save the set, and close all open clips and layouts. - If the set name is empty, the user can choose the name via the GUI. If livesApp::interactive() is false, the user may not cancel. - If the name is defined, and it points to a different, existing set, the set will not be saved and false will be returned, - unless force_append is set to true, in which case the current clips and layouts will be appended to the other set. - Saving a set with a new name is an expensive operation as it requires moving files in the underlying filesystem. - See setName() for the rules on valid set names. - @param name name to save set as, or empty livesString to let the user choose a name. - @param force_append set to true to force appending to another existing set. - @return true if the set was saved. - */ - bool save(livesString name, bool force_append=false) const; - - /** - Save the set, and close all open clips and layouts. - The current set name() is used. If the set name is not defined, the user will be prompted to enter it at runtime. - @return true if the set was saved. - */ - bool save() const; - - /** - Returns the number of clips in the set. If the set is invalid, returns 0. - @return number of clips. - @see indexOf(). - @see nthClip(). - */ - unsigned int numClips() const; - - /** - Returns the nth clip in the set. If n >= numClips(), returns an invalid clip. If the set is invalid, returns an invalid clip. - @return the nth clip in the set. - @see indexOf(). - @see numClips(). - */ - clip nthClip(unsigned int n) const; - - /** - Returns the index of a clip in the currentSet. If the clip is not in the current set, then -1 is returned. - If the set is invalid or the clip is invalid, returns -1. - @return the index of the clip in the set. - @see nthClip(). - @see numClips(). - */ - int indexOf(clip c) const; - - /** - Returns a list of layout names for this set. If the set is invalid, returns an empty livesStringList. - @return a list of layout names for this set. - @see livesApp::reloadLayout(). - */ - livesStringList layoutNames(unsigned int n) const; - - /** - @return true if the two sets belong to the same livesApp. - */ - inline bool operator==(const set& other) const { - return other.m_lives == m_lives; - } - - - protected: - set(livesApp *lives=NULL); - - private: - livesApp *m_lives; - clipList m_clips; - - void update_clip_list(void); - - - }; - - - - - - /** - class "player". - Represents a media player associated with a livesApp. - @see livesApp::getPlayer() - */ - class player { - friend livesApp; - - public: - - /** - Returns whether the player is valid or not. - A valid player belongs to a valid livesApp, and the livesApp::status() is not LIVES_STATUS_NOTREADY. - @return true if the player is valid. - */ - bool isValid() const; - - /** - @return true if the livesApp::status() is LIVES_STATUS_PLAYING. - */ - bool isPlaying() const; - - - /** - @return true if the player is set to record. Recording will only actually occur if isPlaying() is also true. - */ - bool isRecording() const; - - /** - Set playback in a detached window. - If the livesApp::mode() is LIVES_INTERFACE_MODE_CLIPEDIT and prefs::sepWinSticky() is true, the window appears straight away; - otherwise it appears only when isPlaying() is true. - @param setting the value to set to - @see setFS(). - @see sepWin(). - */ - void setSepWin(bool setting) const; - - /** - @return true if playback is in a separate window from the main GUI. - @see setSepWin(). - */ - bool sepWin() const; - - /** - Set playback fullscreen. Use of setFS() is recommended instead. - @param setting the value to set to - @see setFS(). - @see fullScreen(). - */ - void setFullScreen(bool setting) const; - - /** - @return true if playback is full screen. - @see setFullScreen(). - */ - bool fullScreen() const; - - /** - Combines the functionality of setSepWin() and setFullScreen(). - If the livesApp::mode() is LIVES_INTERFACE_MODE_CLIPEDIT and prefs::sepWinSticky() is true, the window appears straight away, - but it will only fill the screen when isPlaying() is true; otherwise it appears only when isPlaying() is true. - @param setting the value to set to - @see setSepWin() - @see setFullScreen() - */ - void setFS(bool setting) const; - - /** - Commence playback of video and audio with the currently selected clip. - Only has an effect when livesApp::status() is LIVES_STATUS_READY. - @return true if playback was started. - */ - bool play() const; - - /** - Stop playback. - If livesApp::status() is not LIVES_STATUS_PLAYING, nothing happens. - @return true if playback was stopped. - */ - bool stop() const; - - /** - Set the foreground clip for the player. Equivalent to clip::switchTo() except that it only functions when - livesApp::status() is LIVES_STATUS_PLAYING and the livesApp::mode() is LIVES_INTERFACE_MODE_CLIPEDIT. - If the clip is invalid, or isActive() is false, nothing happens and false is returned. - @param c the clip to set as foreground. - @return true if the function was successful. - @see foregroundClip(). - @see setBackgroundClip(). - */ - bool setForegroundClip(clip c) const; - - /** - Returns the current foreground clip of the player. If isActive() is false, returns an invalid clip. - If the livesApp::mode() is not LIVES_INTERFACE_MODE_CLIPEDIT, returns an invalid clip. - @return the current foreground clip. - @see setForegroundClip(). - @see backgroundClip(). - */ - clip foregroundClip() const; - - /** - Set the background clip for the player. Equivalent to clip::setIsBackground() except that it only functions when - livesApp::status() is LIVES_STATUS_PLAYING and the livesApp::mode() is LIVES_INTERFACE_MODE_CLIPEDIT. - Only works if there is one or more transition effects active. - If the clip is invalid, or isActive() is false, nothing happens and false is returned. - @return true if the function was successful. - @see backgroundClip(). - @see setForegroundClip(). - */ - bool setBackgroundClip(clip c) const; - - /** - Returns the current background clip of the player. If isActive() is false, returns an invalid clip. - If the livesApp::mode() is not LIVES_INTERFACE_MODE_CLIPEDIT, returns an invalid clip. - @return the current background clip. - @see setBackgroundClip(). - @see foregroundClip(). - */ - clip backgroundClip() const; - - /** - Set the current playback start time in seconds (this is also the insertion point in multitrack mode). - Only works if the livesApp::status() is LIVES_STATUS_READY. If livesApp::mode() is LIVES_INTERFACE_MODE_CLIP_EDITOR, - the start time may not be set beyond the end of the current clip (video and audio). - The outcome of setting playback beyond the end of video but not of audio and vice-versa depends on the value of loopMode(). - If livesApp::mode() is LIVES_INTERFACE_MODE_MULITRACK, setting the current time may cause the timeline to stretch visually - (i.e zoom out). - The miminum value is 0.0 in every mode. Values < 0. will be ignored. - If isValid() is false, nothing happens and 0. is returned. - @param time the time in seconds to set playback start time to. - @return the new playback start time. - @see videoPlaybackTime(). - @see multitrack::setCurrentTime(). - */ - double setPlaybackStartTime(double time) const; - - /** - Set the video playback frame. Only works if livesApp::status() is LIVES_STATUS_PLAYING and livesApp::mode() is - LIVES_INTERFACE_MODE_CLIPEDIT. - If the frame parameter is < 1 or > foregroundClip().frames() nothing happens. - If background is true, the function sets the frame for backgroundClip(). - If background is false and prefs::audioFollowsFPSChanges() is true, then the audio playback will sync to the new video position. - @param frame the new frame to set to - @param background if true sets the frame for the background clip (if any) - @return the video frame set to, or 0 if the operation is invalid. - @see videoPlaybackTime() - @see setPlaybackTime() - */ - int setVideoPlaybackFrame(int frame, bool background=false) const; - - /** - Return the current clip playback time. If livesApp::mode() is LIVES_INTERFACE_MODE_CLIPEDIT, then this returns - the current playback time for video in the current foregroundClip(), or the current backgroundClip() if background is true: - if there is no background clip, 0. is returned. - If livesApp::mode() is LIVES_INTERFACE_MODE_MULTITRACK, then this returns the current player time in the multitrack timeline, - (equivalent to multitrack::currentTime()), and the background parameter is ignored. - This function works if livesApp::status() is LIVES_STATUS_READY or LIVES_STATUS_PLAYING. - If isValid() is false, 0. is returned. - @param background if true returns the playback time for the background clip. - @return the current foreground or background clip playback time. - @see setVideoPlaybackFrame(). - @see audioPlaybackTime(). - @see elapsedTime(). - @see multitrack::currentTime(). - */ - double videoPlaybackTime(bool background=false) const; - - /** - Set the audio playback time. Only works if livesApp::status() is LIVES_STATUS_PLAYING and livesApp::mode() is - LIVES_INTERFACE_MODE_CLIPEDIT and prefs::isRealtimeAudioPlayer() is true for prefs::audioPlayer(). - Does not work if prefs::audioSource() is LIVES_AUDIO_SOURCE_INTERNAL and player::recording() is true. - If the time parameter is < 0. or > clip::audioLength() nothing happens. - The time is actually set to the nearest video frame start to the requested time. - @param time the new time to set to - @return the audio playback time, or 0. if the operation is invalid. - @see audioPlaybackTime() - @see setVideoPlaybackFrame() - */ - double setAudioPlaybackTime(double time) const; - - /** - Return the current clip audio playback time in seconds. If livesApp::mode() is LIVES_INTERFACE_MODE_CLIPEDIT, then this returns - the current playback time for audio in the current foregroundClip(). - If livesApp::mode() is LIVES_INTERFACE_MODE_MULTITRACK, then this returns the current player time in the multitrack timeline - (equivalent to multitrack::currentTime()). - This function works with livesApp::status() of LIVES_STATUS_READY and LIVES_STATUS_PLAYING. - If isValid() is false, 0. is returned. - If prefs::audioSource() is not LIVES_AUDIO_SOURCE_INTERNAL the value returned is not defined. - @return the current clip audio playback time. - @see videoPlaybackTime(). - @see elapsedTime(). - @see multitrack::currentTime(). - */ - double audioPlaybackTime() const; - - /** - Return the elapsed time, i.e. total time in seconds since playback began. - If livesApp::status() is not LIVES_STATUS_PLAYING, 0. is returned. - @return the time in seconds since playback began. - @see playbackTime(). - @see audioPlaybackTime(). - @see multitrack::currentTime(). - */ - double elapsedTime() const; - - /** - Set the current playback framerate in frames per second. Only works if livesApp::mode() is LIVES_INTERFACE_MODE_CLIPEDIT and - livesApp::status() is LIVES_STATUS_PLAYING. - Allowed values range from -prefs::maxFPS() to +prefs::maxFPS(). - If prefs::audioFollowsFPSChanges() is true, then the audio playback rate will change proportionally. - If isPlaying() is false, nothing happens and 0. is returned. - Note, the setting only applies to the current clip; if the clip being played is switched then currentFPS() may change. - @param fps the framerate to set - @return the new framerate - @see currentFPS(). - */ - double setCurrentFPS(double fps) const; - - /** - Return the current playback framerate in frames per second of the player. - If isValid() is false, returns 0. If livesApp::status is neither LIVES_STATUS_READY nor LIVES_STATUS_PLAYING, returns 0. - Otherwise, this is equivalent to foregroundClip::playbackFPS(). - @return the current or potential playback rate in frames per second. - @see setCurrentFPS(). - @see clip::playbackFPS(). - */ - double currentFPS() const; - - /** - Return the current audio rate of the player. - If isValid() is false, returns 0. If livesApp::status is neither LIVES_STATUS_READY nor LIVES_STATUS_PLAYING, returns 0. - Otherwise, this is equivalent to foregroundClip::playbackAudioRate(). - Note this is not necessarily the same as the soundcard audio rate which can be obtained via prefs::audioPlayerRate(). - @return the current or potential audio rate in Hz. - @see clip::playbackAudioRate(). - */ - int currentAudioRate() const; - - /** - Set the loop mode for the player. The value is a bitmap, however LIVES_LOOP_MODE_FIT_AUDIO - only has meaning when livesApp::mode() is LIVES_INTERFACE_MODE_CLIPEDIT. - If isValid() is false, nothing happens. - @param mode the desired loop mode - @return the new loop mode - @see loopMode(). - */ - lives_loop_mode_t setLoopMode(lives_loop_mode_t mode) const; - - /** - Return the loop mode of the player. - If isValid() is false, returns LIVES_LOOP_MODE_NONE. - @return the current loop mode of the player - @see setLoopMode(). - */ - lives_loop_mode_t loopMode() const; - - /** - Set ping pong mode. If pingPong is true then rather than looping forward, video and audio will "bounce" - forwards and backwards off their end points, provided the mode() is LIVES_INTERFACE_MODE_CLIPEDIT. - If mode() is LIVES_INTERFACE_MODE_MULTITRACK, then the value is ignored. - @param setting the desired value - @return the new value - @see pingPong(). - @see loopMode(). - */ - bool setPingPong(bool setting) const; - - /** - Return ping pong mode. If pingPong is true then rather than looping forward, video and audio will "bounce" - forwards and backwards off their end points, provided the mode() is LIVES_INTERFACE_MODE_CLIPEDIT. - If mode() is LIVES_INTERFACE_MODE_MULTITRACK, then the value is ignored. - If the player is invalid, false is returned. - @return the current value. - @see setPingPong(). - @see loopMode(). - */ - bool pingPong() const; - - /** - Resets the clip::playbackFPS() for the current foreground clip, so it is equal to the clip::FPS(). - Resets the clip::playbackAudioRate so it is equal to the clip::audioRate(). - If possible equalizes the audioPlaybackTime() with the playbackTime() so video and audio are in sync. - Only works if isPlaying() is true. - @return true if the method succeeded. - */ - bool resyncFPS() const; - - - /** - @return true if the two players belong to the same livesApp. - */ - inline bool operator==(const player& other) const { - return other.m_lives == m_lives; - } - - - protected: - player(livesApp *lives=NULL); - - private: - livesApp *m_lives; - - }; - - ///////////////////////////////////////////////////// - - /** - class "effectKey". - Represents a single effect key slot. A valid livesApp will have a map of these (effectKeyMapping()) whose size() is equal to - prefs::rteKeysVirtual(). - @see effectKeyMap::operator[] - */ - class effectKey { - friend effectKeyMap; - public: - /** - Creates a new, invalid effect key - */ - effectKey(); - - /** - Returns whether the effectKey is valid or not. - An effect key is valid if it is owned by a valid livesApp, and the livesApp::status() is not LIVES_STATUS_NOTREADY, - and the key value is in the range 1 <= key <= prefs::rteKeysVirtual. - @return true if the effectKey is valid. - */ - bool isValid() const; - - /** - Return the (physical or virtual) key associated with this effectKey. - Effects (apart from generators) are applied in ascending key order. - Physical keys (1 - 9) can also be toggled from the keyboard by simultaneously holding down the ctrl key, - provided livesApp::interactive() is true. - If the effectKey is invalid, 0 is returned. - @return the physical or virtual key associated with this effectKey. - */ - int key(); - - /** - Return the number of modes for this effectKey slot. Modes run from 0 to numModes() - 1. - Effects can be mapped to modes in ascending order, but only one mode is the active mode for the effectKey. - If the effectKey is invalid, 0 will be returned. - @return the number of modes for this effectKey. - */ - int numModes(); - - /** - Return the number of mapped modes for this effectKey slot. Modes run from 0 to numModes() - 1. - When numMappedModes() == numModes() for an effectKey, no more effects may be mapped to it until a mapping is erased. - If the effectKey is invalid, 0 will be returned. - @return the number of modes for this effectKey. - */ - int numMappedModes(); - - /** - Set the current mode this effectKey. - Only works if the effecKey is valid, a valid effect is mapped to the mode, and livesApp::status() is - LIVES_STATUS_PLAYING or LIVES_STATUS_READY. - @param mode the mode to switch to. - @return the new mode of the effectKey. - @see currentMode(). - @see numMappedModes(). - */ - int setCurrentMode(int mode); - - /** - Get the current mode for this effectKey. - If the effectKey is invalid, the current mode is -1. - @return the current mode of the effectKey. - @see setCurrentMode(). - */ - int currentMode(); - - /** - Enable an effect mapped to this effectKey, mode(). - Only works if the effecKey is valid, a valid effect is mapped to the mode, and livesApp::status() is - LIVES_STATUS_PLAYING or LIVES_STATUS_READY. - @param setting the value to set to - @return the new state of the effectKey - @see enabled(). - */ - bool setEnabled(bool setting); - - /** - Return a value to indicate whether the effect mapped to this effectKey, mode() is active. - If the effectKey is invalid, returns false. - @return true if the effect mapped at mode() is enabled. - @see setEnabled(). - */ - bool enabled(); - - /** - Map an effect to the next unused mode for the effectKey. - Will only work if the livesApp::status() is LIVES_STATUS_PLAYING or LIVES_STATUS_READY. - The effectKey and the effect must share the same owner livesApp, and both must be valid. - @param e the effect to append - @return the mode number the effect was mapped to, or -1 if the mapping failed. - @see removeMapping(). - */ - int appendMapping(effect e); - - /** - Remove an effect from being mapped to this key. - Will only work if the livesApp::status() is LIVES_STATUS_PLAYING or LIVES_STATUS_READY. - If the effectKey is invalid, or if no effect is mapped to the mode, false is returned and nothing happens. - If an effect is removed, effects mapped to higher mode numbers on the same effectKey will move down a mode to close the gap. - Note: the currentMode() does not change unless this is the last mapped effect for this effectKey, - so this may cause the currently enabled effect to change. - @param mode the mode to remove the effect from. - @return true if an effect was unmapped. - @see appendMapping(). - */ - bool removeMapping(int mode); - - /** - Returns the effect mapped to the key at the specified mode. - If the effectKey is invalid, or if no effect is mapped to the mode, an invalid effect is returned. - @param mode the specified mode. - @return the effect mapped to the key at the specified mode. - */ - effect at(int mode); - - /** - @return true if the two effectKeys have the same livesApp and key value and belong to the same livesApp - */ - inline bool operator==(const effectKey& other) { - return other.m_key == m_key && m_lives == other.m_lives; - } - - protected: - effectKey(livesApp *lives, int key); - - private: - int m_key; - livesApp *m_lives; - - }; - - - - /** - class "effectKeyMap". - Represents a mapping of effectKey instances to key slots. Real time effects are always applied in order of ascending index value - (with the exception of generator effects, which are applied first). - @see livesApp::getEffectKeyMap() - */ - class effectKeyMap { - friend livesApp; - public: - /** - Returns whether the effectKeyMap is valid or not. - A valid effectKeyMap is owned by a valid livesApp, the livesApp::status() is not LIVES_STATUS_NOTREADY, - and the index is 1 <= i <= prefs::rteKeysVirtual(). - @return true if the effectKeyMap is valid. - */ - bool isValid() const; - - /** - Unmap all effects from effectKey mappings, leaving an empty map. - Only has an effect when livesApp::status() is LIVES_STATUS_READY. - @return true if all effects were unmapped - */ - bool clear() const; - - /** - Returns the ith effect key for this key map. - Valid range for i is 1 <= i <= prefs::rteKeysVirtual(). - For values of i outside this range, an invalid effectKey is returned. - @param i the index value - @return an effectKey with index i. - @see effectKey::operator[] - */ - effectKey at(int i) const; - - /** - Returns the number of key slots (indices) in the effectKeyMap. - The valid range of keys is 1 <= key <= size(). - Equivalent to prefs::rteKeysVirtual(), except that if the effectKeyMap is invalid, returns 0. - @return the number of key slots. - @see prefs::rteKeysVirtual() - */ - size_t size() const; - - /** - @return true if the two effectKeyMaps have the same livesApp - */ - inline bool operator==(const effectKeyMap& other) const { - return other.m_lives == m_lives; - } - - /** - Returns an effect key with index i for this key map. The value of i may be chosen freely, but if it is outside the range - 1 <= i <= size() then the effectKey will be considered invalid. - @return an effectKey with index i for this key map. - @see at() - */ - inline effectKey operator [] (int i) const { - return effectKey(m_lives, i); - } - - - protected: - effectKeyMap(livesApp *lives); - - private: - livesApp *m_lives; - }; - - - - /** - class "effect". - Represents a single effect. - */ - class effect { - friend effectKey; - friend multitrack; - public: - /** - Create a new effect from a hashname. In case of multiple matches, only the first match is returned. - The hashname should be in utf-8 format, and matching is case insensitive. - In the case of no matches, an invalid effect is returned. - If livesApp::isInvalid() is true, or livesApp::status() is LIVES_STATUS_NOTREADY, an invalid effect will be returned. - Implementation note: we use const livesApp & here to avoid the destructor being called on a copy object, - which would cause LiVES to terminate prematurely. - @param lives a livesApp instance - @param hashname the hashname of an effect, a concatenation of package name, filter name, and if match_full is true, - author and version string. If the filter has "extra_authors" these are also checked. - @param match_full if true then author and version string must match, otherwise only package name and filter name are matched. - If false then the hashname and the target must be equivalent strings. - @return an effect. - */ - effect(const livesApp &lives, livesString hashname, bool match_full=false); - - /** - Create a new effect from a template. In case of multiple matches, only the first match is returned. - In the case of no matches, an invalid effect is returned. - LiVESStrings here should be in utf-8 format and matching is case insensitive. - If livesApp::isInvalid() is true, or livesApp::status() is LIVES_STATUS_NOTREADY, an invalid effect will be returned. - Implementation note: we use const livesApp & here to avoid the destructor being called on a copy object, - which would cause LiVES to terminate prematurely. - @param lives a livesApp instance - @param package a package name (e.g. "frei0r", "LADSPA"), or "" to match any package. - @param fxname the name of a filter (e.g. "chroma blend") or "" to match any filter name. - @param author the name of the author of the effect (e.g. "jsmith") or "" to match any author. If the plugin has "extra_authors" - this value is also permitted as a match. - @param version the number of a version to match, or 0 to match any version. - @return an effect. - */ - effect(const livesApp &lives, livesString package, livesString fxname, livesString author=livesString(), int version=0); - - /** - Returns whether the effect is valid or not. - A valid effect is owned by a valid livesApp, whose livesApp::status() is not LIVES_STATUS_NOTREADY, - and which references an existing effect plugin. - @return true if the effect is valid. - */ - bool isValid() const; - - /** - @return true if the two effects have the same index and the same livesApp owner - */ - inline bool operator==(const effect& other) { - return other.m_idx == m_idx && m_lives == other.m_lives; - } - - protected: - effect(); - effect(livesApp *m_lives, int idx); - livesApp *m_lives; - int m_idx; - - private: - - }; - - - - /** - class "block". - Represents a sequence of frames from the same clip on the same track which forms part of a layout. - This is an abstracted level, since layouts are fundamentally formed of "events" which may span multiple tracks. - */ - class block { - friend multitrack; - - public: - - /** - returns whether the block is valid or not. A block may become invalid if it is deleted from a layout for example. - Undoing a deletion does not cause a block to become valid again, you need to search for it again by time and track number. - If the livesApp::mode() is changed from LIVES_INTERFACE_MODE_MULTITRACK, then all existing blocks become invalid. - @return whether the block is contained in an active multitrack instance. - */ - bool isValid() const; - - /** - Returns a reference to the block on the specified track at the specified time. If no such block exists, returns an invalid block. - @param m the multitrack object - @param track the track number. Values < 0 indicate backing audio tracks. - @param time the time in seconds on the timeline. - @return the block on the given track at the given time. - */ - block(multitrack m, int track, double time); - - /** - Returns the start time in seconds of the block. - If the block is invalid, returns -1. - @return start time in seconds. - */ - double startTime(); - - /** - Returns the duration in seconds of the block. - If the block is invalid, returns -1. - @return duration in seconds. - */ - double length(); - - /** - Returns the clip which is the source of frames for this block. - If the block is invalid, returns an invalid clip. - @return the clip which is the source of frames for this block. - */ - clip clipSource(); - - /** - Returns the track number to which this block is currently attached. - A track number < 0 indicates a backing audio track. - If the block is invalid, returns 0. - @return the current track number for this block. - */ - int track(); - - /** - Removes a block from the multitrack timeline. Upon being removed, the block becomes invalid. - Undoing the operation does not cause the block to become valid again, although it can be searched for using the constructor. - If the block is invalid, nothing happens and false is returned. - Only works if livesApp::status() is LIVES_STATUS_READY. - May cause other blocks to move, depending on the setting of multitrack::gravity(). - @return true if the block was removed. - @see multitrack::insertBlock(). - */ - bool remove(); - - /** - Move the block to a new track at a new timeline time. - Depending on the value of multitrack::insertMode(), it may not be possible to do the insertion. - In case of failure an invalid block is returned. - Only works if livesApp::status() is LIVES_STATUS_READY and isActive() is true. - Note: the actual place where the block ends up, and its final size depends on various factors such as the multitrack::gravity() setting, - the multitrack::insertMode() setting, and the location of other blocks in the layout. - The insertion may cause other blocks to relocate. - If the block is invalid, nothing happens and false is returned. - @param track the new track to move to. - @param time the timeline time in seconds to move to. - @return true if the block could be moved. - */ - bool moveTo(int track, double time); - - - - protected: - /** - Protected initialiser - */ - block(multitrack *m=NULL, ulong uid=0l); - - - private: - ulong m_uid; - livesApp *m_lives; - - void invalidate(); - }; - - - - /** - class "multitrack". - Represents the multitrack object in a livesApp. - */ - class multitrack { - friend livesApp; - friend block; - - public: - - /** - returns whether the multitrack is valid or not. A valid multitrack is one which is owned by a valid livesApp, - whose livesApp::status() is not LIVES_STATUS_NOTREADY. - @return whether the multitrack is valid - */ - bool isValid() const; - - /** - returns whether the multitrack is active or not. This is equivent to livesApp::mode() == LIVES_INTERFACE_MODE_MULTITRACK. - @return whether the multitrack is active or not. - */ - bool isActive() const; - - /** - Set the current track if isActive() is true. - Only works when livesApp::status() is LIVES_STATUS_READY or LIVES_STATUS_PLAYING. - @param track a value >= 0 represents a video track, a value < 0 represents a backing audio track. - @return true if the track setting was successful. - @see currentTrack(). - */ - bool setCurrentTrack(int track) const; - - /** - If isActive() is true, then this method returns the current active track. - The active track defines the insertion point for video and audio, along with the currentTime(). - If isActive() is false, or the livesApp::status is not LIVES_STATUS_READY or LIVES_STATUS_PLAYING - then the return value is undefined. - @return the current active track in multitrack mode. A value >= 0 represents a video track, a value < 0 represents a backing audio track. - @see setCurrentTrack(). - */ - int currentTrack() const; - - /** - Set the current playback start time in seconds. This is also the insertion point for insertBlock(). - Only works if the livesApp::status() is LIVES_STATUS_READY and isActive() is true. - Setting the current time may cause the timeline to stretch visually (i.e zoom out). - The miminum value is 0.0; values < 0.0 will be ignored. - This function is synonymous with player::setPlaybackTime(). - @param time the time in seconds to set playback start time to. - @return the new playback start time. - @see currentTime(). - */ - double setCurrentTime(double time) const; - - /** - Return the current playback time in seconds. If isActive() is true this returns the current player time in the multitrack timeline - (equivalent to to player::playbackTime(), and during playback, equivalent to player::elapsedTime() plus a constant offset). - This function works when livesApp::status() is LIVE_STATUS_READY or LIVES_STATUS_PLAYING. - If isActive() is false, 0. is returned. - @return the current clip playback time. - @see setCurrentTime(). - @see currentAudioTime(). - @see elapsedTime(). - */ - double currentTime() const; - - /** - If isActive() is true, then this method returns the label for a track. - @param track the track number. A value >= 0 represents a video track, a value < 0 represents a backing audio track. - @return the track label, or empty livesString if the specified track does not exist. - @see setTrackLabel(). - */ - livesString trackLabel(int track) const; - - /** - Set the label for a track. This is for display purposes only and has no other effect. - If isActive() is false, the track label is not changed, and false is returned. - If the label is not provided, or is an empty livesString, the user will be prompted to enter a name at runtime. - @param track the track number. Must be >= 0. - @param label a livesString containing the text to label the track with. - @return true if it was possible to change the label. - @see trackLabel(). - */ - bool setTrackLabel(int track, livesString label=livesString()) const; - - /** - Returns the value of the multitrack gravity. This value, together with the insertMode() defines what happens when a block is inserted, - moved or deleted. - If isActive() is false, the return value is undefined. - @return the multitrack gravity. - @see insertMode(). - */ - lives_gravity_t gravity() const; - - /** - Set the gravity mode for multitrack. If isActive() is false, nothing happens and an undefined value is returned, - otherwise if livesApp::status() is not LIVES_STATUS_READY or LIVES_STATUS_PLAYING, nothing happens. - @param mode the new gravity mode to set. - @return the new gravity mode. - @see gravity(). - */ - lives_gravity_t setGravity(lives_gravity_t mode) const; - - /** - Returns the value of the multitrack insert mode. This value, together with gravity() defines what happens when a block is inserted, - moved or deleted. - If isActive() is false, the return value is undefined. - @return the multitrack insert mode. - @see gravity(). - */ - lives_insert_mode_t insertMode() const; - - /** - Set the gravity mode for multitrack. If isActive() is false, nothing happens and an undefined value is returned, - otherwise if livesApp::status() is not LIVES_STATUS_READY or LIVES_STATUS_PLAYING, nothing happens. - @param mode the new insert mode to set. - @return the new insert mode. - @see insertMode(). - */ - lives_insert_mode_t setInsertMode(lives_insert_mode_t mode) const; - - - /** - Append a new video track into the timeline. Only works if isActive() is true, and livesApp::status() is LIVES_STATUS_READY. - @param in_front set to true to insert a video track in front of existing video tracks. Otherwise insert will be behind. - @return the index number of the newly added track, or -1 if the operation failed. - */ - int addVideoTrack(bool in_front) const; - - - /** - Returns the number of video tracks for multitrack. If isActive() is false, 0 is returned. - @return the number of video tracks - @see addVideoTrack() - */ - int numVideoTracks() const; - - - /** - Returns the number of audio backing tracks for multitrack. If isActive() is false, 0 is returned. - @return the number of audio tracks - */ - int numAudioTracks() const; - - - /** - Return the framerate of the multitrack in frames per second. - If isActive() is false, returns 0. Otherwise when the livesAPP::status() is LIVES_STATUS_PLAYING, player::FPS() takes this value. - @return the framerate of the multitrack in frames per second. - */ - double FPS() const; - - /** - Insert frames from clip c into currentTrack() at currentTime() - If ignore_selection_limits is true, then all frames from the clip will be inserted, - otherwise (the default) only frames from clip::selectionStart() to clip::selectionEnd() will be used. - If without_audio is false (the default), audio is also inserted. - Frames are automatically resampled to fit layout::fps(). - Depending on the insertMode(), it may not be possible to do the insertion. In case of failure an invalid block is returned. - If the current track is a backing audio track, then only audio is inserted; - in this case if without_audio is true an invalid block is returned. - Only works if livesApp::status() is LIVES_STATUS_READY and isActive() is true. - Note: the actual place where the block ends up, and its final size depends on various factors such as the gravity() setting, - the insertMode() setting, and the location of other blocks in the layout. - The insertion may cause other blocks to relocate. - @param c the clip to insert from - @param ignore_selection_limits if true then all frames from the clip will be inserted - @param without_audio if false then audio is also inserted - @return the newly inserted block. - @see setCurrentTrack(). - @see setCurrentTime(). - @see clip::setSelectionStart(). - @see clip::setSelectionEnd(). - @see setGravity(). - @see block::remove(). - */ - block insertBlock(clip c, bool ignore_selection_limits=false, bool without_audio=false) const; - - /** - Wipe the current layout, leaving a blank layout. - If force is false, then the user will have a chance to cancel (if livesApp::interactive() is true), - or to save the layout. - Only works if livesApp::status() is LIVES_STATUS_READY and isActive() is true. - Otherwise, the layout will not be wiped, and an empty livesString will be returned. - @param force set to true to force the layout to be wiped. - @return the name which the layout was saved to, or empty livesString if it was not saved. - */ - livesString wipeLayout(bool force=false) const; - - /** - Allow the user to graphically choose a layout to load for the set. - Only works if livesApp::status() is LIVES_STATUS_READY and isActive() is true, otherwise an empty livesString is returned. - @return the name of the layout selected. - @see reloadLayout(). - @see availableLayouts(). - */ - livesString chooseLayout() const; - - /** - Return a list of the available layouts for the currently loaded set. - If livesApp::isReady() is false, or if no set is loaded, then an empty livesStringList is returned. - @return list of available layouts for the currently loaded set - @see reloadLayout(). - */ - livesStringList availableLayouts() const; - - /** - Reload the selected layout, replacing the current multitrack layout. - Only works if livesApp::status() is LIVES_STATUS_READY and isActive() is true. - The layout must be "owned" by the currently loaded set, otherwise an error may be shown and it will not be loaded. - If filename is an empty livesString, chooseLayout() will be called first to get the layout name. - If livesApp::interactive() is true, the user will have a chance to save the current layout (if any) first. - @param filename the filename of the layout to load - @return true if the specified layout could be loaded - @see chooseLayout(). - @see availableLayouts(). - @see saveLayout(). - */ - bool reloadLayout(livesString filename) const; - - /** - Save the current layout using the name supplied. The layout will be saved in the layouts directory for the - currently loaded set, so the name should not include any directory component. - Only works if the livesApp::status() is LIVES_STATUS_READY, and the current layout is not empty, - otherwise an empty livesString is returned. Note that this WILL work even if isActive() is false. - If livesApp::interactive() is true, the user may choose to cancel the operation. - If the layout name is empty, the user will be prompted graphically to enter a name. If the set name is empty, the user will be - prompted to enter a set name (if livesApp::interactive() is true; otherwise this will fail and an empty string will be returned). - Rarely it will not be possible to save a layout (if it was generated by recording events, and it contains generated audio or video). - @param name the name to save the layout - @return the filename the set was saved to, or empty livesString if saving failed. - @see wipeLayout(). - @see reloadLayout(); - @see set::setName(). - */ - livesString saveLayout(livesString name) const; - - /** - Save the current layout using the current layout name. - Only works if the livesApp::status() is LIVES_STATUS_READY, and the current layout is not empty, - otherwise an empty livesString is returned. Note that this WILL work even if isActive() is false. - If livesApp::interactive() is true, the user may choose to cancel the operation. - If the layout name has not been previously set, the user will be prompted graphically to enter a name. - If the set name is empty, the user will be - prompted to enter a set name (if livesApp::interactive() is true; otherwise this will fail and an empty string will be returned). - Rarely it will not be possible to save a layout (if it was generated by recording events, and it contains generated audio or video). - @return the filename the set was saved to, or empty livesString if saving failed. - @see wipeLayout(). - @see reloadLayout(); - @see set::setName(). - */ - livesString saveLayout() const; - - /** - Render the current layout to a new clip and return it. - Only works if isActive() is true, and livesApp::status() is LIVES_STATUS_READY, and the current layout is not empty. - If livesApp::interactive() is true, the user may choose to cancel the operation, or to render fewer than all frames. - After rendering, if prefs::mtExitRender() is true, the livesApp::mode() will change to LIVES_INTERFACE_MODE_CLIPEDIT, - and isActive() will change to false. - @param render_audio true if audio should be rendered in addition to video. - @param normalise_audio if true then the audio volume is normalized (backing audio gets half volume, video tracks get half volume) - @return clip a new clip which contains the rendered video, or an invalid clip in case of failure. - */ - clip render(bool render_audio=true, bool normalise_audio=true) const; - - /** - Returns the current autotransition effect for multitrack mode. - If no effect is set, returns an invalid effect. - If the owning livesApp::isInvalid() is true, or if livesApp::Status() is LIVES_STATUS_NOTREADY, returns an invalid effect. - @return the autotransition effect for multitrack. - @see setAutoTransition(). - @see disableAutoTransition(). - */ - effect autoTransition() const; - - /** - Set the current autotransition effect for multitrack mode to "None" (no effect). - If the livesApp::status() is not LIVES_STATUS_READY or LIVES_STATUS_PLAYING, returns false and nothing happens. - @return true if the autotransition was disabled. - @see autoTransition(). - @see setAutoTransition(). - */ - bool disableAutoTransition() const; - - /** - Set the current autotransition effect for multitrack mode. - If the livesApp::status() is not LIVES_STATUS_READY or LIVES_STATUS_PLAYING, returns false and nothing happens. - If the effect is not a transition, false is returned and nothing happens. - If the effect is invalid, this is the same as calling disableAutoTransition(). - @param autotrans the new autotransition effect for multitrack. - @return true if the autotransition was changed. - @see autoTransition(). - @see disableAutoTransition(). - */ - bool setAutoTransition(effect autotrans) const; - - /** - @return true if the two layouts have the same livesApp owner - */ - inline bool operator==(const multitrack& other) const { - return m_lives == other.m_lives; - } - - - protected: - multitrack(livesApp *lives=NULL); - - /** - The linked LiVES application - */ - livesApp *m_lives; - - - }; - - - - - - - /** - Preferences. Valid values are only returned if the livesApp::isValid() is true, and livesApp::status() is not LIVES_STATUS_NOTREADY. - Implementation note: we use const livesApp & here to avoid the destructor being called on a copy object, - which would cause LiVES to terminate prematurely. +///// set //////// + + +/** + class "set". + Represents a list of clips and/or layouts which are open in LiVES. May be obtained from livesApp::getSet(). + @see livesApp::getSet() +*/ +class set { + friend livesApp; + +public: + + /** + Returns whether the set is valid or not. + The set is valid if belongs to a valid livesApp, and the livesApp::status() is not LIVES_STATUS_NOTREADY. + @return true if the set is valid (associated with a valid livesApp instance). + */ + bool isValid() const; + + /** + Returns the current name of the set. + If it has not been defined, an empty livesString is returned. If the set is invalid, an empty livesString is returned. + @return livesString name. + */ + livesString name() const; + + /** + Set the name of the current set. Only works if there are clips loaded, and the livesApp::status() is LIVES_STATUS_READY. + Can only be done if the current set has no name. You need to do this before saving a layout if the current set has no name. + If name is an empty string, the user can choose the name at runtime. If livesApp::interactive() is false, the user can cancel. + Valid set names may not be empty, begin with a "." or contain spaces or the characters / \ * or ". The set name must not be in use by + another copy of LiVES. The maximum length of a set name is 128 characters. + @param name the name of the set + @return true if the name was set. + @see name(). + */ + bool setName(livesString name = livesString()) const; + + /** + Save the set, and close all open clips and layouts. + If the set name is empty, the user can choose the name via the GUI. If livesApp::interactive() is false, the user may not cancel. + If the name is defined, and it points to a different, existing set, the set will not be saved and false will be returned, + unless force_append is set to true, in which case the current clips and layouts will be appended to the other set. + Saving a set with a new name is an expensive operation as it requires moving files in the underlying filesystem. + See setName() for the rules on valid set names. + @param name name to save set as, or empty livesString to let the user choose a name. + @param force_append set to true to force appending to another existing set. + @return true if the set was saved. + */ + bool save(livesString name, bool force_append = false) const; + + /** + Save the set, and close all open clips and layouts. + The current set name() is used. If the set name is not defined, the user will be prompted to enter it at runtime. + @return true if the set was saved. */ - namespace prefs { - /** - @param lives a reference to a valid livesApp instance - @return the currently preferred directory for loading video clips. - */ - livesString currentVideoLoadDir(const livesApp &lives); - - /** - @param lives a reference to a valid const livesApp &instance - @return the currently preferred directory for loading and saving audio. - */ - livesString currentAudioDir(const livesApp &lives); - - /** - Despite the name, this is the working directory for the LiVES application. - The valid list of sets is drawn from this directory, for it is here that they are saved and loaded. - The value can only be set at runtime through the GUI preferences window. Otherwise you can override the default value - when the livesApp() is created via argv[] option "-tmpdir", eg: <BR> - <BR><BLOCKQUOTE><I> - char *argv[2]; <BR> - argv[0]="-tmpdir"; <BR> - argv[1]="/home/user/tempdir/"; <BR> - livesApp lives(2, argv); <BR> - </I></BLOCKQUOTE> - @param lives a reference to a valid livesApp instance - @return the LiVES working directory - */ - livesString tmpDir(const livesApp &lives); - - /** - @param lives a reference to a valid livesApp instance - @return the current audio source - @see setAudioSource(). - */ - lives_audio_source_t audioSource(const livesApp &lives); - - /** - Set the audio source. Only works if livesApp::status() is LIVES_STATUS_READY. - @param lives a reference to a valid livesApp instance - @param asrc the desired audio source - @return true if the audio source could be changed. - */ - bool setAudioSource(const livesApp &lives, lives_audio_source_t asrc); - - /** - @param lives a reference to a livesApp instance - @return the current audio player - */ - lives_audio_player_t audioPlayer(const livesApp &lives); - - /** - Returns the audio rate for the player. Note this may be different from the clip audio rate. - Only valid if isRealtimeAudioPlayer(lives.audioPlayer()) is true. - @param lives a reference to a livesApp instance - @return the current audio player rate in Hz. - @see isRealtimeAudioPlayer() - */ - int audioPlayerRate(const livesApp &lives); - - /** - @param ptype an audio player type - @return true if the audio player type is realtime controllable - */ - bool isRealtimeAudioPlayer(lives_audio_player_t ptype); - - /** - @param lives a reference to a valid livesApp instance - @return the maximum value for effectKey indices - */ - int rteKeysVirtual(const livesApp &lives); - - /** - @param lives a reference to a valid livesApp instance - @return the maximum allowed framerate for a clip - */ - double maxFPS(const livesApp &lives); - - /** - @param lives a reference to a valid livesApp instance - @return true if the audio clip changes to match video clip changes during playback - @see setAudioFollowsVideoChanges(). - */ - bool audioFollowsVideoChanges(const livesApp &lives); - - /** - @param lives a reference to a valid livesApp instance - @return true if the clip audio playback rate changes to match video clip framerate changes during playback - @see setAudioFollowsFPSChanges(). - */ - bool audioFollowsFPSChanges(const livesApp &lives); - - /** - @param lives a reference to a valid livesApp instance - @param setting the new setting - @return true if the preference was updated - @see audioFollowsFPSChanges - */ - bool setAudioFollowsFPSChanges(const livesApp &lives, bool setting); - - /** - @param lives a reference to a valid livesApp instance - @param setting the new setting - @return true if the preference was updated - @see audioFollowsFPSChanges - */ - bool setAudioFollowsVideoChanges(const livesApp &lives, bool setting); - - /** - @param lives a reference to a valid livesApp instance - @return true if the separate playback window is shown even when livesApp::isPlaying() is false. - @see setSepWinSticky() - @see player::sepWin() - */ - bool sepWinSticky(const livesApp &lives); - - /** - @param lives a reference to a valid livesApp instance - @return true if the preference was updated - @see sepWinSticky() - @see player::sepWin() - */ - bool setSepWinSticky(const livesApp &lives, bool); - - /** - @param lives a reference to a valid livesApp instance - @return true if the livesApp::mode() switches to LIVES_INTERFACE_MODE_CLIPEDIT after calling multitrack::render() - @see setMtExitRender() - @see multitrack::render() - */ - bool mtExitRender(const livesApp &lives); - - /** - @param lives a reference to a valid livesApp instance - @param setting the new setting - @return true if the preference was updated - @see mtExitRender(). - @see multitrack::render(). - */ - bool setMtExitRender(const livesApp &lives, bool setting); + bool save() const; + /** + Returns the number of clips in the set. If the set is invalid, returns 0. + @return number of clips. + @see indexOf(). + @see nthClip(). + */ + unsigned int numClips() const; + + /** + Returns the nth clip in the set. If n >= numClips(), returns an invalid clip. If the set is invalid, returns an invalid clip. + @return the nth clip in the set. + @see indexOf(). + @see numClips(). + */ + clip nthClip(unsigned int n) const; + + /** + Returns the index of a clip in the currentSet. If the clip is not in the current set, then -1 is returned. + If the set is invalid or the clip is invalid, returns -1. + @return the index of the clip in the set. + @see nthClip(). + @see numClips(). + */ + int indexOf(clip c) const; + /** + Returns a list of layout names for this set. If the set is invalid, returns an empty livesStringList. + @return a list of layout names for this set. + @see livesApp::reloadLayout(). + */ + livesStringList layoutNames(unsigned int n) const; + + /** + @return true if the two sets belong to the same livesApp. + */ + inline bool operator==(const set &other) const { + return other.m_lives == m_lives; } +protected: + set(livesApp *lives = NULL); + +private: + livesApp *m_lives; + clipList m_clips; + + void update_clip_list(void); + + +}; + + + + + +/** + class "player". + Represents a media player associated with a livesApp. + @see livesApp::getPlayer() +*/ +class player { + friend livesApp; + +public: + + /** + Returns whether the player is valid or not. + A valid player belongs to a valid livesApp, and the livesApp::status() is not LIVES_STATUS_NOTREADY. + @return true if the player is valid. + */ + bool isValid() const; + + /** + @return true if the livesApp::status() is LIVES_STATUS_PLAYING. + */ + bool isPlaying() const; + + + /** + @return true if the player is set to record. Recording will only actually occur if isPlaying() is also true. + */ + bool isRecording() const; + + /** + Set playback in a detached window. + If the livesApp::mode() is LIVES_INTERFACE_MODE_CLIPEDIT and prefs::sepWinSticky() is true, the window appears straight away; + otherwise it appears only when isPlaying() is true. + @param setting the value to set to + @see setFS(). + @see sepWin(). + */ + void setSepWin(bool setting) const; + + /** + @return true if playback is in a separate window from the main GUI. + @see setSepWin(). + */ + bool sepWin() const; + + /** + Set playback fullscreen. Use of setFS() is recommended instead. + @param setting the value to set to + @see setFS(). + @see fullScreen(). + */ + void setFullScreen(bool setting) const; + + /** + @return true if playback is full screen. + @see setFullScreen(). + */ + bool fullScreen() const; + + /** + Combines the functionality of setSepWin() and setFullScreen(). + If the livesApp::mode() is LIVES_INTERFACE_MODE_CLIPEDIT and prefs::sepWinSticky() is true, the window appears straight away, + but it will only fill the screen when isPlaying() is true; otherwise it appears only when isPlaying() is true. + @param setting the value to set to + @see setSepWin() + @see setFullScreen() + */ + void setFS(bool setting) const; + + /** + Commence playback of video and audio with the currently selected clip. + Only has an effect when livesApp::status() is LIVES_STATUS_READY. + @return true if playback was started. + */ + bool play() const; + + /** + Stop playback. + If livesApp::status() is not LIVES_STATUS_PLAYING, nothing happens. + @return true if playback was stopped. + */ + bool stop() const; + + /** + Set the foreground clip for the player. Equivalent to clip::switchTo() except that it only functions when + livesApp::status() is LIVES_STATUS_PLAYING and the livesApp::mode() is LIVES_INTERFACE_MODE_CLIPEDIT. + If the clip is invalid, or isActive() is false, nothing happens and false is returned. + @param c the clip to set as foreground. + @return true if the function was successful. + @see foregroundClip(). + @see setBackgroundClip(). + */ + bool setForegroundClip(clip c) const; + + /** + Returns the current foreground clip of the player. If isActive() is false, returns an invalid clip. + If the livesApp::mode() is not LIVES_INTERFACE_MODE_CLIPEDIT, returns an invalid clip. + @return the current foreground clip. + @see setForegroundClip(). + @see backgroundClip(). + */ + clip foregroundClip() const; + + /** + Set the background clip for the player. Equivalent to clip::setIsBackground() except that it only functions when + livesApp::status() is LIVES_STATUS_PLAYING and the livesApp::mode() is LIVES_INTERFACE_MODE_CLIPEDIT. + Only works if there is one or more transition effects active. + If the clip is invalid, or isActive() is false, nothing happens and false is returned. + @return true if the function was successful. + @see backgroundClip(). + @see setForegroundClip(). + */ + bool setBackgroundClip(clip c) const; + + /** + Returns the current background clip of the player. If isActive() is false, returns an invalid clip. + If the livesApp::mode() is not LIVES_INTERFACE_MODE_CLIPEDIT, returns an invalid clip. + @return the current background clip. + @see setBackgroundClip(). + @see foregroundClip(). + */ + clip backgroundClip() const; + + /** + Set the current playback start time in seconds (this is also the insertion point in multitrack mode). + Only works if the livesApp::status() is LIVES_STATUS_READY. If livesApp::mode() is LIVES_INTERFACE_MODE_CLIP_EDITOR, + the start time may not be set beyond the end of the current clip (video and audio). + The outcome of setting playback beyond the end of video but not of audio and vice-versa depends on the value of loopMode(). + If livesApp::mode() is LIVES_INTERFACE_MODE_MULITRACK, setting the current time may cause the timeline to stretch visually + (i.e zoom out). + The miminum value is 0.0 in every mode. Values < 0. will be ignored. + If isValid() is false, nothing happens and 0. is returned. + @param time the time in seconds to set playback start time to. + @return the new playback start time. + @see videoPlaybackTime(). + @see multitrack::setCurrentTime(). + */ + double setPlaybackStartTime(double time) const; + + /** + Set the video playback frame. Only works if livesApp::status() is LIVES_STATUS_PLAYING and livesApp::mode() is + LIVES_INTERFACE_MODE_CLIPEDIT. + If the frame parameter is < 1 or > foregroundClip().frames() nothing happens. + If background is true, the function sets the frame for backgroundClip(). + If background is false and prefs::audioFollowsFPSChanges() is true, then the audio playback will sync to the new video position. + @param frame the new frame to set to + @param background if true sets the frame for the background clip (if any) + @return the video frame set to, or 0 if the operation is invalid. + @see videoPlaybackTime() + @see setPlaybackTime() + */ + int setVideoPlaybackFrame(int frame, bool background = false) const; + + /** + Return the current clip playback time. If livesApp::mode() is LIVES_INTERFACE_MODE_CLIPEDIT, then this returns + the current playback time for video in the current foregroundClip(), or the current backgroundClip() if background is true: + if there is no background clip, 0. is returned. + If livesApp::mode() is LIVES_INTERFACE_MODE_MULTITRACK, then this returns the current player time in the multitrack timeline, + (equivalent to multitrack::currentTime()), and the background parameter is ignored. + This function works if livesApp::status() is LIVES_STATUS_READY or LIVES_STATUS_PLAYING. + If isValid() is false, 0. is returned. + @param background if true returns the playback time for the background clip. + @return the current foreground or background clip playback time. + @see setVideoPlaybackFrame(). + @see audioPlaybackTime(). + @see elapsedTime(). + @see multitrack::currentTime(). + */ + double videoPlaybackTime(bool background = false) const; + + /** + Set the audio playback time. Only works if livesApp::status() is LIVES_STATUS_PLAYING and livesApp::mode() is + LIVES_INTERFACE_MODE_CLIPEDIT and prefs::isRealtimeAudioPlayer() is true for prefs::audioPlayer(). + Does not work if prefs::audioSource() is LIVES_AUDIO_SOURCE_INTERNAL and player::recording() is true. + If the time parameter is < 0. or > clip::audioLength() nothing happens. + The time is actually set to the nearest video frame start to the requested time. + @param time the new time to set to + @return the audio playback time, or 0. if the operation is invalid. + @see audioPlaybackTime() + @see setVideoPlaybackFrame() + */ + double setAudioPlaybackTime(double time) const; + + /** + Return the current clip audio playback time in seconds. If livesApp::mode() is LIVES_INTERFACE_MODE_CLIPEDIT, then this returns + the current playback time for audio in the current foregroundClip(). + If livesApp::mode() is LIVES_INTERFACE_MODE_MULTITRACK, then this returns the current player time in the multitrack timeline + (equivalent to multitrack::currentTime()). + This function works with livesApp::status() of LIVES_STATUS_READY and LIVES_STATUS_PLAYING. + If isValid() is false, 0. is returned. + If prefs::audioSource() is not LIVES_AUDIO_SOURCE_INTERNAL the value returned is not defined. + @return the current clip audio playback time. + @see videoPlaybackTime(). + @see elapsedTime(). + @see multitrack::currentTime(). + */ + double audioPlaybackTime() const; + + /** + Return the elapsed time, i.e. total time in seconds since playback began. + If livesApp::status() is not LIVES_STATUS_PLAYING, 0. is returned. + @return the time in seconds since playback began. + @see playbackTime(). + @see audioPlaybackTime(). + @see multitrack::currentTime(). + */ + double elapsedTime() const; + + /** + Set the current playback framerate in frames per second. Only works if livesApp::mode() is LIVES_INTERFACE_MODE_CLIPEDIT and + livesApp::status() is LIVES_STATUS_PLAYING. + Allowed values range from -prefs::maxFPS() to +prefs::maxFPS(). + If prefs::audioFollowsFPSChanges() is true, then the audio playback rate will change proportionally. + If isPlaying() is false, nothing happens and 0. is returned. + Note, the setting only applies to the current clip; if the clip being played is switched then currentFPS() may change. + @param fps the framerate to set + @return the new framerate + @see currentFPS(). + */ + double setCurrentFPS(double fps) const; + + /** + Return the current playback framerate in frames per second of the player. + If isValid() is false, returns 0. If livesApp::status is neither LIVES_STATUS_READY nor LIVES_STATUS_PLAYING, returns 0. + Otherwise, this is equivalent to foregroundClip::playbackFPS(). + @return the current or potential playback rate in frames per second. + @see setCurrentFPS(). + @see clip::playbackFPS(). + */ + double currentFPS() const; + + /** + Return the current audio rate of the player. + If isValid() is false, returns 0. If livesApp::status is neither LIVES_STATUS_READY nor LIVES_STATUS_PLAYING, returns 0. + Otherwise, this is equivalent to foregroundClip::playbackAudioRate(). + Note this is not necessarily the same as the soundcard audio rate which can be obtained via prefs::audioPlayerRate(). + @return the current or potential audio rate in Hz. + @see clip::playbackAudioRate(). + */ + int currentAudioRate() const; + + /** + Set the loop mode for the player. The value is a bitmap, however LIVES_LOOP_MODE_FIT_AUDIO + only has meaning when livesApp::mode() is LIVES_INTERFACE_MODE_CLIPEDIT. + If isValid() is false, nothing happens. + @param mode the desired loop mode + @return the new loop mode + @see loopMode(). + */ + lives_loop_mode_t setLoopMode(lives_loop_mode_t mode) const; + + /** + Return the loop mode of the player. + If isValid() is false, returns LIVES_LOOP_MODE_NONE. + @return the current loop mode of the player + @see setLoopMode(). + */ + lives_loop_mode_t loopMode() const; + + /** + Set ping pong mode. If pingPong is true then rather than looping forward, video and audio will "bounce" + forwards and backwards off their end points, provided the mode() is LIVES_INTERFACE_MODE_CLIPEDIT. + If mode() is LIVES_INTERFACE_MODE_MULTITRACK, then the value is ignored. + @param setting the desired value + @return the new value + @see pingPong(). + @see loopMode(). + */ + bool setPingPong(bool setting) const; + + /** + Return ping pong mode. If pingPong is true then rather than looping forward, video and audio will "bounce" + forwards and backwards off their end points, provided the mode() is LIVES_INTERFACE_MODE_CLIPEDIT. + If mode() is LIVES_INTERFACE_MODE_MULTITRACK, then the value is ignored. + If the player is invalid, false is returned. + @return the current value. + @see setPingPong(). + @see loopMode(). + */ + bool pingPong() const; + + /** + Resets the clip::playbackFPS() for the current foreground clip, so it is equal to the clip::FPS(). + Resets the clip::playbackAudioRate so it is equal to the clip::audioRate(). + If possible equalizes the audioPlaybackTime() with the playbackTime() so video and audio are in sync. + Only works if isPlaying() is true. + @return true if the method succeeded. + */ + bool resyncFPS() const; + + + /** + @return true if the two players belong to the same livesApp. + */ + inline bool operator==(const player &other) const { + return other.m_lives == m_lives; + } + + +protected: + player(livesApp *lives = NULL); + +private: + livesApp *m_lives; + +}; + +///////////////////////////////////////////////////// + +/** + class "effectKey". + Represents a single effect key slot. A valid livesApp will have a map of these (effectKeyMapping()) whose size() is equal to + prefs::rteKeysVirtual(). + @see effectKeyMap::operator[] +*/ +class effectKey { + friend effectKeyMap; +public: + /** + Creates a new, invalid effect key + */ + effectKey(); + + /** + Returns whether the effectKey is valid or not. + An effect key is valid if it is owned by a valid livesApp, and the livesApp::status() is not LIVES_STATUS_NOTREADY, + and the key value is in the range 1 <= key <= prefs::rteKeysVirtual. + @return true if the effectKey is valid. + */ + bool isValid() const; + + /** + Return the (physical or virtual) key associated with this effectKey. + Effects (apart from generators) are applied in ascending key order. + Physical keys (1 - 9) can also be toggled from the keyboard by simultaneously holding down the ctrl key, + provided livesApp::interactive() is true. + If the effectKey is invalid, 0 is returned. + @return the physical or virtual key associated with this effectKey. + */ + int key(); + + /** + Return the number of modes for this effectKey slot. Modes run from 0 to numModes() - 1. + Effects can be mapped to modes in ascending order, but only one mode is the active mode for the effectKey. + If the effectKey is invalid, 0 will be returned. + @return the number of modes for this effectKey. + */ + int numModes(); + + /** + Return the number of mapped modes for this effectKey slot. Modes run from 0 to numModes() - 1. + When numMappedModes() == numModes() for an effectKey, no more effects may be mapped to it until a mapping is erased. + If the effectKey is invalid, 0 will be returned. + @return the number of modes for this effectKey. + */ + int numMappedModes(); + + /** + Set the current mode this effectKey. + Only works if the effecKey is valid, a valid effect is mapped to the mode, and livesApp::status() is + LIVES_STATUS_PLAYING or LIVES_STATUS_READY. + @param mode the mode to switch to. + @return the new mode of the effectKey. + @see currentMode(). + @see numMappedModes(). + */ + int setCurrentMode(int mode); + + /** + Get the current mode for this effectKey. + If the effectKey is invalid, the current mode is -1. + @return the current mode of the effectKey. + @see setCurrentMode(). + */ + int currentMode(); + + /** + Enable an effect mapped to this effectKey, mode(). + Only works if the effecKey is valid, a valid effect is mapped to the mode, and livesApp::status() is + LIVES_STATUS_PLAYING or LIVES_STATUS_READY. + @param setting the value to set to + @return the new state of the effectKey + @see enabled(). + */ + bool setEnabled(bool setting); + + /** + Return a value to indicate whether the effect mapped to this effectKey, mode() is active. + If the effectKey is invalid, returns false. + @return true if the effect mapped at mode() is enabled. + @see setEnabled(). + */ + bool enabled(); + + /** + Map an effect to the next unused mode for the effectKey. + Will only work if the livesApp::status() is LIVES_STATUS_PLAYING or LIVES_STATUS_READY. + The effectKey and the effect must share the same owner livesApp, and both must be valid. + @param e the effect to append + @return the mode number the effect was mapped to, or -1 if the mapping failed. + @see removeMapping(). + */ + int appendMapping(effect e); + + /** + Remove an effect from being mapped to this key. + Will only work if the livesApp::status() is LIVES_STATUS_PLAYING or LIVES_STATUS_READY. + If the effectKey is invalid, or if no effect is mapped to the mode, false is returned and nothing happens. + If an effect is removed, effects mapped to higher mode numbers on the same effectKey will move down a mode to close the gap. + Note: the currentMode() does not change unless this is the last mapped effect for this effectKey, + so this may cause the currently enabled effect to change. + @param mode the mode to remove the effect from. + @return true if an effect was unmapped. + @see appendMapping(). + */ + bool removeMapping(int mode); + + /** + Returns the effect mapped to the key at the specified mode. + If the effectKey is invalid, or if no effect is mapped to the mode, an invalid effect is returned. + @param mode the specified mode. + @return the effect mapped to the key at the specified mode. + */ + effect at(int mode); + + + + + + /** + @return true if the two effectKeys have the same livesApp and key value and belong to the same livesApp + */ + inline bool operator==(const effectKey &other) { + return other.m_key == m_key && m_lives == other.m_lives; + } + +protected: + effectKey(livesApp *lives, int key); + +private: + int m_key; + livesApp *m_lives; + +}; + + + +/** + class "effectKeyMap". + Represents a mapping of effectKey instances to key slots. Real time effects are always applied in order of ascending index value + (with the exception of generator effects, which are applied first). + @see livesApp::getEffectKeyMap() +*/ +class effectKeyMap { + friend livesApp; +public: + /** + Returns whether the effectKeyMap is valid or not. + A valid effectKeyMap is owned by a valid livesApp, the livesApp::status() is not LIVES_STATUS_NOTREADY, + and the index is 1 <= i <= prefs::rteKeysVirtual(). + @return true if the effectKeyMap is valid. + */ + bool isValid() const; + + /** + Unmap all effects from effectKey mappings, leaving an empty map. + Only has an effect when livesApp::status() is LIVES_STATUS_READY. + @return true if all effects were unmapped + */ + bool clear() const; + + /** + Returns the ith effect key for this key map. + Valid range for i is 1 <= i <= prefs::rteKeysVirtual(). + For values of i outside this range, an invalid effectKey is returned. + @param i the index value + @return an effectKey with index i. + @see effectKey::operator[] + */ + effectKey at(int i) const; + + /** + Returns the number of key slots (indices) in the effectKeyMap. + The valid range of keys is 1 <= key <= size(). + Equivalent to prefs::rteKeysVirtual(), except that if the effectKeyMap is invalid, returns 0. + @return the number of key slots. + @see prefs::rteKeysVirtual() + */ + size_t size() const; + + /** + @return true if the two effectKeyMaps have the same livesApp + */ + inline bool operator==(const effectKeyMap &other) const { + return other.m_lives == m_lives; + } + + /** + Returns an effect key with index i for this key map. The value of i may be chosen freely, but if it is outside the range + 1 <= i <= size() then the effectKey will be considered invalid. + @return an effectKey with index i for this key map. + @see at() + */ + inline effectKey operator [](int i) const { + return effectKey(m_lives, i); + } + + +protected: + effectKeyMap(livesApp *lives); + +private: + livesApp *m_lives; +}; + + + +/** + class "effect". + Represents a single effect. +*/ +class effect { + friend effectKey; + friend multitrack; +public: + /** + Create a new effect from a hashname. In case of multiple matches, only the first match is returned. + The hashname should be in utf-8 format, and matching is case insensitive. + In the case of no matches, an invalid effect is returned. + If livesApp::isInvalid() is true, or livesApp::status() is LIVES_STATUS_NOTREADY, an invalid effect will be returned. + Implementation note: we use const livesApp & here to avoid the destructor being called on a copy object, + which would cause LiVES to terminate prematurely. + @param lives a livesApp instance + @param hashname the hashname of an effect, a concatenation of package name, filter name, and if match_full is true, + author and version string. If the filter has "extra_authors" these are also checked. + @param match_full if true then author and version string must match, otherwise only package name and filter name are matched. + If false then the hashname and the target must be equivalent strings. + @return an effect. + */ + effect(const livesApp &lives, livesString hashname, bool match_full = false); + + /** + Create a new effect from a template. In case of multiple matches, only the first match is returned. + In the case of no matches, an invalid effect is returned. + LiVESStrings here should be in utf-8 format and matching is case insensitive. + If livesApp::isInvalid() is true, or livesApp::status() is LIVES_STATUS_NOTREADY, an invalid effect will be returned. + Implementation note: we use const livesApp & here to avoid the destructor being called on a copy object, + which would cause LiVES to terminate prematurely. + @param lives a livesApp instance + @param package a package name (e.g. "frei0r", "LADSPA"), or "" to match any package. + @param fxname the name of a filter (e.g. "chroma blend") or "" to match any filter name. + @param author the name of the author of the effect (e.g. "jsmith") or "" to match any author. If the plugin has "extra_authors" + this value is also permitted as a match. + @param version the number of a version to match, or 0 to match any version. + @return an effect. + */ + effect(const livesApp &lives, livesString package, livesString fxname, livesString author = livesString(), int version = 0); + + /** + Returns whether the effect is valid or not. + A valid effect is owned by a valid livesApp, whose livesApp::status() is not LIVES_STATUS_NOTREADY, + and which references an existing effect plugin. + @return true if the effect is valid. + */ + bool isValid() const; + + /** + @return true if the two effects have the same index and the same livesApp owner + */ + inline bool operator==(const effect &other) { + return other.m_idx == m_idx && m_lives == other.m_lives; + } + +protected: + effect(); + effect(livesApp *m_lives, int idx); + livesApp *m_lives; + int m_idx; + +private: + +}; + + + +/** + class "block". + Represents a sequence of frames from the same clip on the same track which forms part of a layout. + This is an abstracted level, since layouts are fundamentally formed of "events" which may span multiple tracks. +*/ +class block { + friend multitrack; + +public: + + /** + returns whether the block is valid or not. A block may become invalid if it is deleted from a layout for example. + Undoing a deletion does not cause a block to become valid again, you need to search for it again by time and track number. + If the livesApp::mode() is changed from LIVES_INTERFACE_MODE_MULTITRACK, then all existing blocks become invalid. + @return whether the block is contained in an active multitrack instance. + */ + bool isValid() const; + + /** + Returns a reference to the block on the specified track at the specified time. If no such block exists, returns an invalid block. + @param m the multitrack object + @param track the track number. Values < 0 indicate backing audio tracks. + @param time the time in seconds on the timeline. + @return the block on the given track at the given time. + */ + block(multitrack m, int track, double time); + + /** + Returns the start time in seconds of the block. + If the block is invalid, returns -1. + @return start time in seconds. + */ + double startTime(); + + /** + Returns the duration in seconds of the block. + If the block is invalid, returns -1. + @return duration in seconds. + */ + double length(); + + /** + Returns the clip which is the source of frames for this block. + If the block is invalid, returns an invalid clip. + @return the clip which is the source of frames for this block. + */ + clip clipSource(); + + /** + Returns the track number to which this block is currently attached. + A track number < 0 indicates a backing audio track. + If the block is invalid, returns 0. + @return the current track number for this block. + */ + int track(); + + /** + Removes a block from the multitrack timeline. Upon being removed, the block becomes invalid. + Undoing the operation does not cause the block to become valid again, although it can be searched for using the constructor. + If the block is invalid, nothing happens and false is returned. + Only works if livesApp::status() is LIVES_STATUS_READY. + May cause other blocks to move, depending on the setting of multitrack::gravity(). + @return true if the block was removed. + @see multitrack::insertBlock(). + */ + bool remove(); + + /** + Move the block to a new track at a new timeline time. + Depending on the value of multitrack::insertMode(), it may not be possible to do the insertion. + In case of failure an invalid block is returned. + Only works if livesApp::status() is LIVES_STATUS_READY and isActive() is true. + Note: the actual place where the block ends up, and its final size depends on various factors such as the multitrack::gravity() setting, + the multitrack::insertMode() setting, and the location of other blocks in the layout. + The insertion may cause other blocks to relocate. + If the block is invalid, nothing happens and false is returned. + @param track the new track to move to. + @param time the timeline time in seconds to move to. + @return true if the block could be moved. + */ + bool moveTo(int track, double time); + + + +protected: + /** + Protected initialiser + */ + block(multitrack *m = NULL, ulong uid = 0l); + + +private: + ulong m_uid; + livesApp *m_lives; + + void invalidate(); +}; + + + +/** + class "multitrack". + Represents the multitrack object in a livesApp. +*/ +class multitrack { + friend livesApp; + friend block; + +public: + + /** + returns whether the multitrack is valid or not. A valid multitrack is one which is owned by a valid livesApp, + whose livesApp::status() is not LIVES_STATUS_NOTREADY. + @return whether the multitrack is valid + */ + bool isValid() const; + + /** + returns whether the multitrack is active or not. This is equivent to livesApp::mode() == LIVES_INTERFACE_MODE_MULTITRACK. + @return whether the multitrack is active or not. + */ + bool isActive() const; + + /** + Set the current track if isActive() is true. + Only works when livesApp::status() is LIVES_STATUS_READY or LIVES_STATUS_PLAYING. + @param track a value >= 0 represents a video track, a value < 0 represents a backing audio track. + @return true if the track setting was successful. + @see currentTrack(). + */ + bool setCurrentTrack(int track) const; + + /** + If isActive() is true, then this method returns the current active track. + The active track defines the insertion point for video and audio, along with the currentTime(). + If isActive() is false, or the livesApp::status is not LIVES_STATUS_READY or LIVES_STATUS_PLAYING + then the return value is undefined. + @return the current active track in multitrack mode. A value >= 0 represents a video track, a value < 0 represents a backing audio track. + @see setCurrentTrack(). + */ + int currentTrack() const; + + /** + Set the current playback start time in seconds. This is also the insertion point for insertBlock(). + Only works if the livesApp::status() is LIVES_STATUS_READY and isActive() is true. + Setting the current time may cause the timeline to stretch visually (i.e zoom out). + The miminum value is 0.0; values < 0.0 will be ignored. + This function is synonymous with player::setPlaybackTime(). + @param time the time in seconds to set playback start time to. + @return the new playback start time. + @see currentTime(). + */ + double setCurrentTime(double time) const; + + /** + Return the current playback time in seconds. If isActive() is true this returns the current player time in the multitrack timeline + (equivalent to to player::playbackTime(), and during playback, equivalent to player::elapsedTime() plus a constant offset). + This function works when livesApp::status() is LIVE_STATUS_READY or LIVES_STATUS_PLAYING. + If isActive() is false, 0. is returned. + @return the current clip playback time. + @see setCurrentTime(). + @see currentAudioTime(). + @see elapsedTime(). + */ + double currentTime() const; + + /** + If isActive() is true, then this method returns the label for a track. + @param track the track number. A value >= 0 represents a video track, a value < 0 represents a backing audio track. + @return the track label, or empty livesString if the specified track does not exist. + @see setTrackLabel(). + */ + livesString trackLabel(int track) const; + + /** + Set the label for a track. This is for display purposes only and has no other effect. + If isActive() is false, the track label is not changed, and false is returned. + If the label is not provided, or is an empty livesString, the user will be prompted to enter a name at runtime. + @param track the track number. Must be >= 0. + @param label a livesString containing the text to label the track with. + @return true if it was possible to change the label. + @see trackLabel(). + */ + bool setTrackLabel(int track, livesString label = livesString()) const; + + /** + Returns the value of the multitrack gravity. This value, together with the insertMode() defines what happens when a block is inserted, + moved or deleted. + If isActive() is false, the return value is undefined. + @return the multitrack gravity. + @see insertMode(). + */ + lives_gravity_t gravity() const; + + /** + Set the gravity mode for multitrack. If isActive() is false, nothing happens and an undefined value is returned, + otherwise if livesApp::status() is not LIVES_STATUS_READY or LIVES_STATUS_PLAYING, nothing happens. + @param mode the new gravity mode to set. + @return the new gravity mode. + @see gravity(). + */ + lives_gravity_t setGravity(lives_gravity_t mode) const; + + /** + Returns the value of the multitrack insert mode. This value, together with gravity() defines what happens when a block is inserted, + moved or deleted. + If isActive() is false, the return value is undefined. + @return the multitrack insert mode. + @see gravity(). + */ + lives_insert_mode_t insertMode() const; + + /** + Set the gravity mode for multitrack. If isActive() is false, nothing happens and an undefined value is returned, + otherwise if livesApp::status() is not LIVES_STATUS_READY or LIVES_STATUS_PLAYING, nothing happens. + @param mode the new insert mode to set. + @return the new insert mode. + @see insertMode(). + */ + lives_insert_mode_t setInsertMode(lives_insert_mode_t mode) const; + + + /** + Append a new video track into the timeline. Only works if isActive() is true, and livesApp::status() is LIVES_STATUS_READY. + @param in_front set to true to insert a video track in front of existing video tracks. Otherwise insert will be behind. + @return the index number of the newly added track, or -1 if the operation failed. + */ + int addVideoTrack(bool in_front) const; + + + /** + Returns the number of video tracks for multitrack. If isActive() is false, 0 is returned. + @return the number of video tracks + @see addVideoTrack() + */ + int numVideoTracks() const; + + + /** + Returns the number of audio backing tracks for multitrack. If isActive() is false, 0 is returned. + @return the number of audio tracks + */ + int numAudioTracks() const; + + + /** + Return the framerate of the multitrack in frames per second. + If isActive() is false, returns 0. Otherwise when the livesAPP::status() is LIVES_STATUS_PLAYING, player::FPS() takes this value. + @return the framerate of the multitrack in frames per second. + */ + double FPS() const; + + /** + Insert frames from clip c into currentTrack() at currentTime() + If ignore_selection_limits is true, then all frames from the clip will be inserted, + otherwise (the default) only frames from clip::selectionStart() to clip::selectionEnd() will be used. + If without_audio is false (the default), audio is also inserted. + Frames are automatically resampled to fit layout::fps(). + Depending on the insertMode(), it may not be possible to do the insertion. In case of failure an invalid block is returned. + If the current track is a backing audio track, then only audio is inserted; + in this case if without_audio is true an invalid block is returned. + Only works if livesApp::status() is LIVES_STATUS_READY and isActive() is true. + Note: the actual place where the block ends up, and its final size depends on various factors such as the gravity() setting, + the insertMode() setting, and the location of other blocks in the layout. + The insertion may cause other blocks to relocate. + @param c the clip to insert from + @param ignore_selection_limits if true then all frames from the clip will be inserted + @param without_audio if false then audio is also inserted + @return the newly inserted block. + @see setCurrentTrack(). + @see setCurrentTime(). + @see clip::setSelectionStart(). + @see clip::setSelectionEnd(). + @see setGravity(). + @see block::remove(). + */ + block insertBlock(clip c, bool ignore_selection_limits = false, bool without_audio = false) const; + + /** + Wipe the current layout, leaving a blank layout. + If force is false, then the user will have a chance to cancel (if livesApp::interactive() is true), + or to save the layout. + Only works if livesApp::status() is LIVES_STATUS_READY and isActive() is true. + Otherwise, the layout will not be wiped, and an empty livesString will be returned. + @param force set to true to force the layout to be wiped. + @return the name which the layout was saved to, or empty livesString if it was not saved. + */ + livesString wipeLayout(bool force = false) const; + + /** + Allow the user to graphically choose a layout to load for the set. + Only works if livesApp::status() is LIVES_STATUS_READY and isActive() is true, otherwise an empty livesString is returned. + @return the name of the layout selected. + @see reloadLayout(). + @see availableLayouts(). + */ + livesString chooseLayout() const; + + /** + Return a list of the available layouts for the currently loaded set. + If livesApp::isReady() is false, or if no set is loaded, then an empty livesStringList is returned. + @return list of available layouts for the currently loaded set + @see reloadLayout(). + */ + livesStringList availableLayouts() const; + + /** + Reload the selected layout, replacing the current multitrack layout. + Only works if livesApp::status() is LIVES_STATUS_READY and isActive() is true. + The layout must be "owned" by the currently loaded set, otherwise an error may be shown and it will not be loaded. + If filename is an empty livesString, chooseLayout() will be called first to get the layout name. + If livesApp::interactive() is true, the user will have a chance to save the current layout (if any) first. + @param filename the filename of the layout to load + @return true if the specified layout could be loaded + @see chooseLayout(). + @see availableLayouts(). + @see saveLayout(). + */ + bool reloadLayout(livesString filename) const; + + /** + Save the current layout using the name supplied. The layout will be saved in the layouts directory for the + currently loaded set, so the name should not include any directory component. + Only works if the livesApp::status() is LIVES_STATUS_READY, and the current layout is not empty, + otherwise an empty livesString is returned. Note that this WILL work even if isActive() is false. + If livesApp::interactive() is true, the user may choose to cancel the operation. + If the layout name is empty, the user will be prompted graphically to enter a name. If the set name is empty, the user will be + prompted to enter a set name (if livesApp::interactive() is true; otherwise this will fail and an empty string will be returned). + Rarely it will not be possible to save a layout (if it was generated by recording events, and it contains generated audio or video). + @param name the name to save the layout + @return the filename the set was saved to, or empty livesString if saving failed. + @see wipeLayout(). + @see reloadLayout(); + @see set::setName(). + */ + livesString saveLayout(livesString name) const; + + /** + Save the current layout using the current layout name. + Only works if the livesApp::status() is LIVES_STATUS_READY, and the current layout is not empty, + otherwise an empty livesString is returned. Note that this WILL work even if isActive() is false. + If livesApp::interactive() is true, the user may choose to cancel the operation. + If the layout name has not been previously set, the user will be prompted graphically to enter a name. + If the set name is empty, the user will be + prompted to enter a set name (if livesApp::interactive() is true; otherwise this will fail and an empty string will be returned). + Rarely it will not be possible to save a layout (if it was generated by recording events, and it contains generated audio or video). + @return the filename the set was saved to, or empty livesString if saving failed. + @see wipeLayout(). + @see reloadLayout(); + @see set::setName(). + */ + livesString saveLayout() const; + + /** + Render the current layout to a new clip and return it. + Only works if isActive() is true, and livesApp::status() is LIVES_STATUS_READY, and the current layout is not empty. + If livesApp::interactive() is true, the user may choose to cancel the operation, or to render fewer than all frames. + After rendering, if prefs::mtExitRender() is true, the livesApp::mode() will change to LIVES_INTERFACE_MODE_CLIPEDIT, + and isActive() will change to false. + @param render_audio true if audio should be rendered in addition to video. + @param normalise_audio if true then the audio volume is normalized (backing audio gets half volume, video tracks get half volume) + @return clip a new clip which contains the rendered video, or an invalid clip in case of failure. + */ + clip render(bool render_audio = true, bool normalise_audio = true) const; + + /** + Returns the current autotransition effect for multitrack mode. + If no effect is set, returns an invalid effect. + If the owning livesApp::isInvalid() is true, or if livesApp::Status() is LIVES_STATUS_NOTREADY, returns an invalid effect. + @return the autotransition effect for multitrack. + @see setAutoTransition(). + @see disableAutoTransition(). + */ + effect autoTransition() const; + + /** + Set the current autotransition effect for multitrack mode to "None" (no effect). + If the livesApp::status() is not LIVES_STATUS_READY or LIVES_STATUS_PLAYING, returns false and nothing happens. + @return true if the autotransition was disabled. + @see autoTransition(). + @see setAutoTransition(). + */ + bool disableAutoTransition() const; + + /** + Set the current autotransition effect for multitrack mode. + If the livesApp::status() is not LIVES_STATUS_READY or LIVES_STATUS_PLAYING, returns false and nothing happens. + If the effect is not a transition, false is returned and nothing happens. + If the effect is invalid, this is the same as calling disableAutoTransition(). + @param autotrans the new autotransition effect for multitrack. + @return true if the autotransition was changed. + @see autoTransition(). + @see disableAutoTransition(). + */ + bool setAutoTransition(effect autotrans) const; + + /** + @return true if the two layouts have the same livesApp owner + */ + inline bool operator==(const multitrack &other) const { + return m_lives == other.m_lives; + } + + +protected: + multitrack(livesApp *lives = NULL); + + /** + The linked LiVES application + */ + livesApp *m_lives; + + +}; + + + + + + +/** + Preferences. Valid values are only returned if the livesApp::isValid() is true, and livesApp::status() is not LIVES_STATUS_NOTREADY. + Implementation note: we use const livesApp & here to avoid the destructor being called on a copy object, + which would cause LiVES to terminate prematurely. +*/ +namespace prefs { +/** + @param lives a reference to a valid livesApp instance + @return the currently preferred directory for loading video clips. +*/ +livesString currentVideoLoadDir(const livesApp &lives); + +/** + @param lives a reference to a valid const livesApp &instance + @return the currently preferred directory for loading and saving audio. + */ +livesString currentAudioDir(const livesApp &lives); + +/** + Despite the name, this is the working directory for the LiVES application. + The valid list of sets is drawn from this directory, for it is here that they are saved and loaded. + The value can only be set at runtime through the GUI preferences window. Otherwise you can override the default value + when the livesApp() is created via argv[] option "-tmpdir", eg: <BR> + <BR><BLOCKQUOTE><I> + char *argv[2]; <BR> + argv[0]="-tmpdir"; <BR> + argv[1]="/home/user/tempdir/"; <BR> + livesApp lives(2, argv); <BR> + </I></BLOCKQUOTE> + @param lives a reference to a valid livesApp instance + @return the LiVES working directory +*/ +livesString tmpDir(const livesApp &lives); + +/** + @param lives a reference to a valid livesApp instance + @return the current audio source + @see setAudioSource(). + */ +lives_audio_source_t audioSource(const livesApp &lives); + +/** + Set the audio source. Only works if livesApp::status() is LIVES_STATUS_READY. + @param lives a reference to a valid livesApp instance + @param asrc the desired audio source + @return true if the audio source could be changed. +*/ +bool setAudioSource(const livesApp &lives, lives_audio_source_t asrc); + +/** + @param lives a reference to a livesApp instance + @return the current audio player +*/ +lives_audio_player_t audioPlayer(const livesApp &lives); + +/** + Returns the audio rate for the player. Note this may be different from the clip audio rate. + Only valid if isRealtimeAudioPlayer(lives.audioPlayer()) is true. + @param lives a reference to a livesApp instance + @return the current audio player rate in Hz. + @see isRealtimeAudioPlayer() +*/ +int audioPlayerRate(const livesApp &lives); + +/** + @param ptype an audio player type + @return true if the audio player type is realtime controllable +*/ +bool isRealtimeAudioPlayer(lives_audio_player_t ptype); + +/** + @param lives a reference to a valid livesApp instance + @return the maximum value for effectKey indices +*/ +int rteKeysVirtual(const livesApp &lives); + +/** + @param lives a reference to a valid livesApp instance + @return the maximum allowed framerate for a clip +*/ +double maxFPS(const livesApp &lives); + +/** + @param lives a reference to a valid livesApp instance + @return true if the audio clip changes to match video clip changes during playback + @see setAudioFollowsVideoChanges(). +*/ +bool audioFollowsVideoChanges(const livesApp &lives); + +/** + @param lives a reference to a valid livesApp instance + @return true if the clip audio playback rate changes to match video clip framerate changes during playback + @see setAudioFollowsFPSChanges(). +*/ +bool audioFollowsFPSChanges(const livesApp &lives); + +/** + @param lives a reference to a valid livesApp instance + @param setting the new setting + @return true if the preference was updated + @see audioFollowsFPSChanges +*/ +bool setAudioFollowsFPSChanges(const livesApp &lives, bool setting); + +/** + @param lives a reference to a valid livesApp instance + @param setting the new setting + @return true if the preference was updated + @see audioFollowsFPSChanges +*/ +bool setAudioFollowsVideoChanges(const livesApp &lives, bool setting); + +/** + @param lives a reference to a valid livesApp instance + @return true if the separate playback window is shown even when livesApp::isPlaying() is false. + @see setSepWinSticky() + @see player::sepWin() +*/ +bool sepWinSticky(const livesApp &lives); + +/** + @param lives a reference to a valid livesApp instance + @return true if the preference was updated + @see sepWinSticky() + @see player::sepWin() +*/ +bool setSepWinSticky(const livesApp &lives, bool); + +/** + @param lives a reference to a valid livesApp instance + @return true if the livesApp::mode() switches to LIVES_INTERFACE_MODE_CLIPEDIT after calling multitrack::render() + @see setMtExitRender() + @see multitrack::render() +*/ +bool mtExitRender(const livesApp &lives); + +/** + @param lives a reference to a valid livesApp instance + @param setting the new setting + @return true if the preference was updated + @see mtExitRender(). + @see multitrack::render(). +*/ +bool setMtExitRender(const livesApp &lives, bool setting); + + +} + + } #endif // __cplusplus
View file
LiVES-2.8.4.tar.bz2/src/lives-yuv4mpeg.c -> LiVES-2.8.6.tar.bz2/src/lives-yuv4mpeg.c
Changed
@@ -36,88 +36,88 @@ } y4data; -static int yuvout,hsize_out,vsize_out; +static int yuvout, hsize_out, vsize_out; // lists of cards in use -static LiVESList *fw_cards=NULL; +static LiVESList *fw_cards = NULL; static lives_yuv4m_t *lives_yuv4mpeg_alloc(void) { lives_yuv4m_t *yuv4mpeg = (lives_yuv4m_t *) malloc(sizeof(lives_yuv4m_t)); - if (yuv4mpeg==NULL) return NULL; + if (yuv4mpeg == NULL) return NULL; yuv4mpeg->sar = y4m_sar_UNKNOWN; yuv4mpeg->dar = y4m_dar_4_3; y4m_init_stream_info(&(yuv4mpeg->streaminfo)); y4m_init_frame_info(&(yuv4mpeg->frameinfo)); - yuv4mpeg->filename=NULL; - yuv4mpeg->name=NULL; - yuv4mpeg->fd=-1; - yuv4mpeg->ready=FALSE; + yuv4mpeg->filename = NULL; + yuv4mpeg->name = NULL; + yuv4mpeg->fd = -1; + yuv4mpeg->ready = FALSE; return yuv4mpeg; } static void *y4open_thread(void *arg) { - y4data *thread_data=(y4data *)arg; - int fd=lives_open2(thread_data->filename,O_RDONLY); - thread_data->fd=fd; + y4data *thread_data = (y4data *)arg; + int fd = lives_open2(thread_data->filename, O_RDONLY); + thread_data->fd = fd; pthread_exit(NULL); } static void *y4header_thread(void *arg) { - y4data *thread_data=(y4data *)arg; - lives_yuv4m_t *yuv4mpeg=thread_data->yuv4mpeg; + y4data *thread_data = (y4data *)arg; + lives_yuv4m_t *yuv4mpeg = thread_data->yuv4mpeg; thread_data->i = y4m_read_stream_header(yuv4mpeg->fd, &(yuv4mpeg->streaminfo)); pthread_exit(NULL); } static void fill_read(int fd, char *buf, size_t count) { - size_t bytes=0; + size_t bytes = 0; ssize_t got; do { - got=read(fd,buf+bytes,count-bytes); - if (got<0) return; - bytes+=got; - } while (bytes<count); + got = read(fd, buf + bytes, count - bytes); + if (got < 0) return; + bytes += got; + } while (bytes < count); } static void *y4frame_thread(void *arg) { - y4data *thread_data=(y4data *)arg; - lives_yuv4m_t *yuv4mpeg=thread_data->yuv4mpeg; - char buff[5],bchar; + y4data *thread_data = (y4data *)arg; + lives_yuv4m_t *yuv4mpeg = thread_data->yuv4mpeg; + char buff[5], bchar; - thread_data->i=Y4M_OK; + thread_data->i = Y4M_OK; // read 5 bytes FRAME - fill_read(yuv4mpeg->fd,buff,5); + fill_read(yuv4mpeg->fd, buff, 5); - if (strncmp(buff,"FRAME",5)) { + if (strncmp(buff, "FRAME", 5)) { if (!gotbroken) { - thread_data->i=Y4M_ERR_MAGIC; + thread_data->i = Y4M_ERR_MAGIC; pthread_exit(NULL); } do { - memmove(buff,buff+1,4); - fill_read(yuv4mpeg->fd,buff+4,1); - } while (strncmp(buff,"FRAME",5)); + memmove(buff, buff + 1, 4); + fill_read(yuv4mpeg->fd, buff + 4, 1); + } while (strncmp(buff, "FRAME", 5)); } do { - fill_read(yuv4mpeg->fd,&bchar,1); - } while (strncmp(&bchar,"\n",1)); + fill_read(yuv4mpeg->fd, &bchar, 1); + } while (strncmp(&bchar, "\n", 1)); // read YUV420 - fill_read(yuv4mpeg->fd,(char *)yuv4mpeg->pixel_data[0],yuv4mpeg->hsize*yuv4mpeg->vsize); - fill_read(yuv4mpeg->fd,(char *)yuv4mpeg->pixel_data[1],yuv4mpeg->hsize*yuv4mpeg->vsize/4); - fill_read(yuv4mpeg->fd,(char *)yuv4mpeg->pixel_data[2],yuv4mpeg->hsize*yuv4mpeg->vsize/4); + fill_read(yuv4mpeg->fd, (char *)yuv4mpeg->pixel_data[0], yuv4mpeg->hsize * yuv4mpeg->vsize); + fill_read(yuv4mpeg->fd, (char *)yuv4mpeg->pixel_data[1], yuv4mpeg->hsize * yuv4mpeg->vsize / 4); + fill_read(yuv4mpeg->fd, (char *)yuv4mpeg->pixel_data[2], yuv4mpeg->hsize * yuv4mpeg->vsize / 4); pthread_exit(NULL); } @@ -125,41 +125,41 @@ static boolean lives_yuv_stream_start_read(lives_clip_t *sfile) { - double ofps=sfile->fps; + double ofps = sfile->fps; - lives_yuv4m_t *yuv4mpeg=(lives_yuv4m_t *)sfile->ext_src; + lives_yuv4m_t *yuv4mpeg = (lives_yuv4m_t *)sfile->ext_src; pthread_t y4thread; - char *filename=yuv4mpeg->filename,*tmp; + char *filename = yuv4mpeg->filename, *tmp; - int alarm_handle=0; + int alarm_handle = 0; - int ohsize=sfile->hsize; - int ovsize=sfile->vsize; + int ohsize = sfile->hsize; + int ovsize = sfile->vsize; y4data thread_data; register int i; - if (filename==NULL) return FALSE; + if (filename == NULL) return FALSE; - if (yuv4mpeg->fd==-1) { + if (yuv4mpeg->fd == -1) { // create a thread to open the fifo - thread_data.filename=filename; + thread_data.filename = filename; - pthread_create(&y4thread,NULL,y4open_thread,(void *)&thread_data); + pthread_create(&y4thread, NULL, y4open_thread, (void *)&thread_data); - alarm_handle=lives_alarm_set(LIVES_SHORTEST_TIMEOUT); + alarm_handle = lives_alarm_set(LIVES_SHORTEST_TIMEOUT); d_print(""); d_print(_("Waiting for yuv4mpeg frames...")); - gotbroken=FALSE; + gotbroken = FALSE; - while (!lives_alarm_get(alarm_handle)&&!pthread_kill(y4thread,0)) { + while (!lives_alarm_get(alarm_handle) && !pthread_kill(y4thread, 0)) { // wait for thread to complete or timeout lives_usleep(prefs->sleep_time); lives_widget_context_update(); @@ -168,38 +168,38 @@ if (lives_alarm_get(alarm_handle)) { // timeout - kill thread and wait for it to terminate pthread_cancel(y4thread); - pthread_join(y4thread,NULL); + pthread_join(y4thread, NULL); lives_alarm_clear(alarm_handle); d_print_failed(); d_print(_("Unable to open the incoming video stream\n")); - yuv4mpeg->fd=thread_data.fd; + yuv4mpeg->fd = thread_data.fd; - if (yuv4mpeg->fd>=0) { + if (yuv4mpeg->fd >= 0) { close(yuv4mpeg->fd); - yuv4mpeg->fd=-1; + yuv4mpeg->fd = -1; } return FALSE; } - pthread_join(y4thread,NULL); + pthread_join(y4thread, NULL); lives_alarm_clear(alarm_handle); - yuv4mpeg->fd=thread_data.fd; + yuv4mpeg->fd = thread_data.fd; - if (yuv4mpeg->fd<0) { + if (yuv4mpeg->fd < 0) { return FALSE; } } // create a thread to open the stream header - thread_data.yuv4mpeg=yuv4mpeg; - pthread_create(&y4thread,NULL,y4header_thread,&thread_data); - alarm_handle=lives_alarm_set(LIVES_SHORT_TIMEOUT); + thread_data.yuv4mpeg = yuv4mpeg; + pthread_create(&y4thread, NULL, y4header_thread, &thread_data); + alarm_handle = lives_alarm_set(LIVES_SHORT_TIMEOUT); - while (!lives_alarm_get(alarm_handle)&&!pthread_kill(y4thread,0)) { + while (!lives_alarm_get(alarm_handle) && !pthread_kill(y4thread, 0)) { // wait for thread to complete or timeout lives_usleep(prefs->sleep_time); lives_widget_context_update(); @@ -208,20 +208,20 @@ if (lives_alarm_get(alarm_handle)) { // timeout - kill thread and wait for it to terminate pthread_cancel(y4thread); - pthread_join(y4thread,NULL); + pthread_join(y4thread, NULL); lives_alarm_clear(alarm_handle); d_print(_("Unable to read the stream header\n")); return FALSE; } - pthread_join(y4thread,NULL); + pthread_join(y4thread, NULL); lives_alarm_clear(alarm_handle); - i=thread_data.i; + i = thread_data.i; if (i != Y4M_OK) { char *tmp; - d_print((tmp=lives_strdup_printf("yuv4mpeg: %s\n", y4m_strerr(i)))); + d_print((tmp = lives_strdup_printf("yuv4mpeg: %s\n", y4m_strerr(i)))); lives_free(tmp); return FALSE; } @@ -231,24 +231,24 @@ sfile->hsize = yuv4mpeg->hsize = y4m_si_get_width(&(yuv4mpeg->streaminfo)); sfile->vsize = yuv4mpeg->vsize = y4m_si_get_height(&(yuv4mpeg->streaminfo)); - sfile->fps=cfile->pb_fps=lives_strtod(lives_strdup_printf("%.8f",Y4M_RATIO_DBL - (y4m_si_get_framerate(&(yuv4mpeg->streaminfo)))),NULL); + sfile->fps = cfile->pb_fps = lives_strtod(lives_strdup_printf("%.8f", Y4M_RATIO_DBL + (y4m_si_get_framerate(&(yuv4mpeg->streaminfo)))), NULL); - if (!(sfile->hsize*sfile->vsize)) { + if (!(sfile->hsize * sfile->vsize)) { do_error_dialog(lives_strdup_printf(_("Video dimensions: %d x %d are invalid. Stream cannot be opened"), - sfile->hsize,sfile->vsize)); + sfile->hsize, sfile->vsize)); return FALSE; } - if (sfile->hsize!=ohsize||sfile->vsize!=ovsize||sfile->fps!=ofps) { - set_main_title(sfile->file_name,0); + if (sfile->hsize != ohsize || sfile->vsize != ovsize || sfile->fps != ofps) { + set_main_title(sfile->file_name, 0); } - d_print((tmp=lives_strdup_printf(_("Reset clip values for %s: size=%dx%d fps=%.3f\n"),yuv4mpeg->name, - cfile->hsize,yuv4mpeg->vsize,cfile->bpp,cfile->fps))); + d_print((tmp = lives_strdup_printf(_("Reset clip values for %s: size=%dx%d fps=%.3f\n"), yuv4mpeg->name, + cfile->hsize, yuv4mpeg->vsize, cfile->bpp, cfile->fps))); lives_free(tmp); - yuv4mpeg->ready=TRUE; + yuv4mpeg->ready = TRUE; return TRUE; } @@ -261,17 +261,17 @@ y4m_fini_frame_info(&(yuv4mpeg->frameinfo)); yuv4mpeg->sar = y4m_sar_UNKNOWN; yuv4mpeg->dar = y4m_dar_4_3; - if (yuv4mpeg->fd!=-1) close(yuv4mpeg->fd); + if (yuv4mpeg->fd != -1) close(yuv4mpeg->fd); - if (yuv4mpeg->filename!=NULL) { + if (yuv4mpeg->filename != NULL) { lives_rm(yuv4mpeg->filename); lives_free(yuv4mpeg->filename); } - if (yuv4mpeg->name!=NULL) lives_free(yuv4mpeg->name); + if (yuv4mpeg->name != NULL) lives_free(yuv4mpeg->name); - if (yuv4mpeg->type==YUV4_TYPE_FW) fw_cards=lives_list_remove(fw_cards,LIVES_INT_TO_POINTER(yuv4mpeg->cardno)); - if (yuv4mpeg->type==YUV4_TYPE_TV) mainw->videodevs=lives_list_remove(mainw->videodevs,LIVES_INT_TO_POINTER(yuv4mpeg->cardno)); + if (yuv4mpeg->type == YUV4_TYPE_FW) fw_cards = lives_list_remove(fw_cards, LIVES_INT_TO_POINTER(yuv4mpeg->cardno)); + if (yuv4mpeg->type == YUV4_TYPE_TV) mainw->videodevs = lives_list_remove(mainw->videodevs, LIVES_INT_TO_POINTER(yuv4mpeg->cardno)); } @@ -279,7 +279,7 @@ void weed_layer_set_from_yuv4m(weed_plant_t *layer, lives_clip_t *sfile) { - lives_yuv4m_t *yuv4mpeg=(lives_yuv4m_t *)(sfile->ext_src); + lives_yuv4m_t *yuv4mpeg = (lives_yuv4m_t *)(sfile->ext_src); y4data thread_data; @@ -291,27 +291,27 @@ if (!yuv4mpeg->ready) lives_yuv_stream_start_read(sfile); - weed_set_int_value(layer,WEED_LEAF_WIDTH,sfile->hsize); - weed_set_int_value(layer,WEED_LEAF_HEIGHT,sfile->vsize); - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_YUV420P); - weed_set_int_value(layer,WEED_LEAF_YUV_SUBSPACE,WEED_YUV_SUBSPACE_YCBCR); + weed_set_int_value(layer, WEED_LEAF_WIDTH, sfile->hsize); + weed_set_int_value(layer, WEED_LEAF_HEIGHT, sfile->vsize); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_YUV420P); + weed_set_int_value(layer, WEED_LEAF_YUV_SUBSPACE, WEED_YUV_SUBSPACE_YCBCR); - create_empty_pixel_data(layer,TRUE,TRUE); + create_empty_pixel_data(layer, TRUE, TRUE); if (!yuv4mpeg->ready) { return; } - yuv4mpeg->pixel_data=weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); + yuv4mpeg->pixel_data = weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); // create a thread to open the stream header - thread_data.yuv4mpeg=yuv4mpeg; - pthread_create(&y4thread,NULL,y4frame_thread,&thread_data); + thread_data.yuv4mpeg = yuv4mpeg; + pthread_create(&y4thread, NULL, y4frame_thread, &thread_data); - alarm_handle=lives_alarm_set(LIVES_SHORTEST_TIMEOUT); + alarm_handle = lives_alarm_set(LIVES_SHORTEST_TIMEOUT); - while (!lives_alarm_get(alarm_handle)&&!pthread_kill(y4thread,0)) { + while (!lives_alarm_get(alarm_handle) && !pthread_kill(y4thread, 0)) { // wait for thread to complete or timeout lives_usleep(prefs->sleep_time); } @@ -321,16 +321,16 @@ // timeout - kill thread and wait for it to terminate pthread_cancel(y4thread); d_print(_("Unable to read the incoming video frame\n")); - gotbroken=TRUE; - } else gotbroken=FALSE; + gotbroken = TRUE; + } else gotbroken = FALSE; - pthread_join(y4thread,NULL); + pthread_join(y4thread, NULL); lives_alarm_clear(alarm_handle); lives_free(yuv4mpeg->pixel_data); - yuv4mpeg->pixel_data=NULL; + yuv4mpeg->pixel_data = NULL; - weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,WEED_YUV_SAMPLING_MPEG); + weed_set_int_value(layer, WEED_LEAF_YUV_SAMPLING, WEED_YUV_SAMPLING_MPEG); return; } @@ -340,39 +340,39 @@ static boolean open_yuv4m_inner(const char *filename, const char *fname, int new_file, int type, int cardno) { // create a virtual clip - int old_file=mainw->current_file; + int old_file = mainw->current_file; lives_yuv4m_t *yuv4mpeg; - cfile->clip_type=CLIP_TYPE_YUV4MPEG; + cfile->clip_type = CLIP_TYPE_YUV4MPEG; // get size of frames, arate, achans, asamps, signed endian - yuv4mpeg=lives_yuv4mpeg_alloc(); + yuv4mpeg = lives_yuv4mpeg_alloc(); - yuv4mpeg->fd=-1; + yuv4mpeg->fd = -1; - yuv4mpeg->filename=lives_strdup(filename); - yuv4mpeg->name=lives_strdup(fname); + yuv4mpeg->filename = lives_strdup(filename); + yuv4mpeg->name = lives_strdup(fname); - yuv4mpeg->type=type; - yuv4mpeg->cardno=cardno; + yuv4mpeg->type = type; + yuv4mpeg->cardno = cardno; - cfile->ext_src=yuv4mpeg; + cfile->ext_src = yuv4mpeg; cfile->bpp = 12; - cfile->start=cfile->end=cfile->frames=1; + cfile->start = cfile->end = cfile->frames = 1; - cfile->hsize=DEF_GEN_WIDTH; - cfile->vsize=DEF_GEN_HEIGHT; + cfile->hsize = DEF_GEN_WIDTH; + cfile->vsize = DEF_GEN_HEIGHT; - cfile->img_type=IMG_TYPE_BEST; // override the pref + cfile->img_type = IMG_TYPE_BEST; // override the pref - cfile->is_loaded=TRUE; + cfile->is_loaded = TRUE; add_to_clipmenu(); - switch_to_file((mainw->current_file=old_file),new_file); + switch_to_file((mainw->current_file = old_file), new_file); return TRUE; } @@ -385,32 +385,32 @@ // open a general yuvmpeg stream // start "playing" but open frames in yuv4mpeg format on stdin - int old_file=mainw->current_file,new_file=mainw->first_free_file; + int old_file = mainw->current_file, new_file = mainw->first_free_file; char *tmp; char *filename; char *fname; - char *audio_real,*audio_fake; + char *audio_real, *audio_fake; if (menuitem && !do_yuv4m_open_warning()) return; - fname=lives_strdup(_("yuv4mpeg stream")); + fname = lives_strdup(_("yuv4mpeg stream")); - if (!get_new_handle(new_file,fname)) { + if (!get_new_handle(new_file, fname)) { lives_free(fname); return; } - mainw->current_file=new_file; + mainw->current_file = new_file; if (!strlen(prefs->yuvin)) - filename=lives_build_filename(prefs->workdir,"stream.yuv",NULL); + filename = lives_build_filename(prefs->workdir, "stream.yuv", NULL); else - filename=lives_strdup(prefs->yuvin); + filename = lives_strdup(prefs->yuvin); - mkfifo(filename,S_IRUSR|S_IWUSR); + mkfifo(filename, S_IRUSR | S_IWUSR); - if (!open_yuv4m_inner(filename,fname,new_file,YUV4_TYPE_GENERIC,0)) { + if (!open_yuv4m_inner(filename, fname, new_file, YUV4_TYPE_GENERIC, 0)) { close_current_file(old_file); lives_free(filename); lives_free(fname); @@ -425,26 +425,26 @@ return; } - new_file=mainw->current_file; + new_file = mainw->current_file; - lives_snprintf(cfile->type,40,"%s",_("yu4mpeg stream in")); + lives_snprintf(cfile->type, 40, "%s", _("yu4mpeg stream in")); - d_print((tmp=lives_strdup_printf(_("Opened yuv4mpeg stream on %s"),filename))); + d_print((tmp = lives_strdup_printf(_("Opened yuv4mpeg stream on %s"), filename))); lives_free(tmp); lives_free(filename); d_print(_("Audio: ")); - if (cfile->achans==0) { + if (cfile->achans == 0) { d_print(_("none\n")); } else { - d_print((tmp=lives_strdup_printf(P_("%d Hz %d channel %d bps\n","%d Hz %d channels %d bps\n",cfile->achans), - cfile->arate,cfile->achans,cfile->asampsize))); + d_print((tmp = lives_strdup_printf(P_("%d Hz %d channel %d bps\n", "%d Hz %d channels %d bps\n", cfile->achans), + cfile->arate, cfile->achans, cfile->asampsize))); lives_free(tmp); } // if not playing, start playing - if (mainw->playing_file==-1) { + if (mainw->playing_file == -1) { // temp kludge, symlink audiodump.pcm to wav file, then pretend we are playing // an opening preview . Doesn't work with fifo. @@ -456,12 +456,12 @@ // real is workdir/audiodump.pcm - audio_real=lives_build_filename(prefs->workdir,"audiodump.pcm",NULL); + audio_real = lives_build_filename(prefs->workdir, "audiodump.pcm", NULL); // fake is workdir/handle/audiodump.pcm - audio_fake=lives_build_filename(prefs->workdir,cfile->handle,"audiodump.pcm",NULL); + audio_fake = lives_build_filename(prefs->workdir, cfile->handle, "audiodump.pcm", NULL); // fake file will go away when we close the current clip - lives_ln(audio_real,audio_fake); + lives_ln(audio_real, audio_fake); lives_free(audio_real); lives_free(audio_fake); @@ -471,14 +471,14 @@ // start playing play_file(); - mainw->noswitch=FALSE; + mainw->noswitch = FALSE; } // TODO - else... - if (mainw->current_file!=old_file&&mainw->current_file!=new_file) - old_file=mainw->current_file; // we could have rendered to a new file + if (mainw->current_file != old_file && mainw->current_file != new_file) + old_file = mainw->current_file; // we could have rendered to a new file - mainw->current_file=new_file; + mainw->current_file = new_file; // close this temporary clip close_current_file(old_file); @@ -493,27 +493,27 @@ boolean lives_yuv_stream_start_write(lives_yuv4m_t *yuv4mpeg, const char *filename, int hsize, int vsize, double fps) { int i; - if (mainw->fixed_fpsd>-1.&&mainw->fixed_fpsd!=fps) { - do_error_dialog(lives_strdup_printf(_("Unable to set display framerate to %.3f fps.\n\n"),fps)); + if (mainw->fixed_fpsd > -1. && mainw->fixed_fpsd != fps) { + do_error_dialog(lives_strdup_printf(_("Unable to set display framerate to %.3f fps.\n\n"), fps)); return FALSE; } - mainw->fixed_fpsd=fps; + mainw->fixed_fpsd = fps; - if (filename==NULL) filename=lives_strdup_printf("%s/streamout.yuv",prefs->workdir); + if (filename == NULL) filename = lives_strdup_printf("%s/streamout.yuv", prefs->workdir); // TODO - do_threaded_dialog - if ((yuvout=creat(filename,O_CREAT))<0) { - do_error_dialog(lives_strdup_printf(_("Unable to open yuv4mpeg out stream %s\n"),filename)); + if ((yuvout = creat(filename, O_CREAT)) < 0) { + do_error_dialog(lives_strdup_printf(_("Unable to open yuv4mpeg out stream %s\n"), filename)); return FALSE; } - if (mainw->fixed_fpsd>23.9999&&mainw->fixed_fpsd<24.0001) { - y4m_si_set_framerate(&(yuv4mpeg->streaminfo),y4m_fps_FILM); + if (mainw->fixed_fpsd > 23.9999 && mainw->fixed_fpsd < 24.0001) { + y4m_si_set_framerate(&(yuv4mpeg->streaminfo), y4m_fps_FILM); } else return FALSE; y4m_si_set_interlace(&(yuv4mpeg->streaminfo), Y4M_ILACE_NONE); - y4m_si_set_width(&(yuv4mpeg->streaminfo), (hsize_out=hsize)); - y4m_si_set_height(&(yuv4mpeg->streaminfo), (vsize_out=vsize)); + y4m_si_set_width(&(yuv4mpeg->streaminfo), (hsize_out = hsize)); + y4m_si_set_height(&(yuv4mpeg->streaminfo), (vsize_out = vsize)); y4m_si_set_sampleaspect(&(yuv4mpeg->streaminfo), yuv4mpeg->sar); i = y4m_write_stream_header(yuvout, &(yuv4mpeg->streaminfo)); @@ -529,11 +529,11 @@ int i; uint8_t *planes[3]; - uint8_t *pixels=(uint8_t *)pixel_data; + uint8_t *pixels = (uint8_t *)pixel_data; - planes[0]=&(pixels[0]); - planes[1]=&(pixels[hsize_out*vsize_out]); - planes[2]=&(pixels[hsize_out*vsize_out*5/4]); + planes[0] = &(pixels[0]); + planes[1] = &(pixels[hsize_out * vsize_out]); + planes[2] = &(pixels[hsize_out * vsize_out * 5 / 4]); i = y4m_write_frame(yuvout, &(yuv4mpeg->streaminfo), &(yuv4mpeg->frameinfo), (uint8_t **)&planes[0]); @@ -582,13 +582,13 @@ void on_live_tvcard_activate(LiVESMenuItem *menuitem, livespointer user_data) { - int cardno=0; + int cardno = 0; - int new_file=mainw->first_free_file; + int new_file = mainw->first_free_file; int response; - char *com,*tmp; + char *com, *tmp; char *fifofile; char *chanstr; @@ -600,31 +600,31 @@ lives_tvcardw_t *tvcardw; - if (!capable->has_mplayer&&!capable->has_mplayer2) { + if (!capable->has_mplayer && !capable->has_mplayer2) { do_need_mplayer_dialog(); return; } - fifofile=lives_strdup_printf("%s/tvpic_%d.y4m",prefs->workdir,capable->mainpid); + fifofile = lives_strdup_printf("%s/tvpic_%d.y4m", prefs->workdir, capable->mainpid); - mainw->open_deint=FALSE; + mainw->open_deint = FALSE; - card_dialog=create_cdtrack_dialog(LIVES_DEVICE_TV_CARD,NULL); + card_dialog = create_cdtrack_dialog(LIVES_DEVICE_TV_CARD, NULL); - tvcardw=(lives_tvcardw_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(card_dialog),"tvcard_data"); + tvcardw = (lives_tvcardw_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(card_dialog), "tvcard_data"); - response=lives_dialog_run(LIVES_DIALOG(card_dialog)); - if (response==LIVES_RESPONSE_CANCEL) { + response = lives_dialog_run(LIVES_DIALOG(card_dialog)); + if (response == LIVES_RESPONSE_CANCEL) { lives_widget_destroy(card_dialog); lives_free(fifofile); lives_free(tvcardw); return; } - cardno=(int)mainw->fx1_val; - chanstr=lives_strdup_printf("%d",(int)mainw->fx2_val); + cardno = (int)mainw->fx1_val; + chanstr = lives_strdup_printf("%d", (int)mainw->fx2_val); - if (lives_list_find(mainw->videodevs,LIVES_INT_TO_POINTER(cardno))) { + if (lives_list_find(mainw->videodevs, LIVES_INT_TO_POINTER(cardno))) { lives_widget_destroy(card_dialog); do_card_in_use_error(); lives_free(chanstr); @@ -633,9 +633,9 @@ return; } - fname=lives_strdup_printf(_("TV card %d"),cardno); + fname = lives_strdup_printf(_("TV card %d"), cardno); - if (!get_new_handle(new_file,fname)) { + if (!get_new_handle(new_file, fname)) { lives_widget_destroy(card_dialog); lives_free(chanstr); lives_free(fifofile); @@ -644,7 +644,7 @@ return; } - devstr=lives_strdup_printf("/dev/video%d",cardno); + devstr = lives_strdup_printf("/dev/video%d", cardno); if (!check_dev_busy(devstr)) { lives_widget_destroy(card_dialog); @@ -657,36 +657,36 @@ return; } - mainw->videodevs=lives_list_append(mainw->videodevs,LIVES_INT_TO_POINTER(cardno)); + mainw->videodevs = lives_list_append(mainw->videodevs, LIVES_INT_TO_POINTER(cardno)); - mainw->current_file=new_file; + mainw->current_file = new_file; - cfile->deinterlace=mainw->open_deint; + cfile->deinterlace = mainw->open_deint; lives_rm(fifofile); - mkfifo(fifofile,S_IRUSR|S_IWUSR); + mkfifo(fifofile, S_IRUSR | S_IWUSR); if (!tvcardw->use_advanced) { - com=lives_strdup_printf("%s open_tv_card \"%s\" \"%s\" \"%s\" \"%s\"",prefs->backend,cfile->handle,chanstr, - devstr,fifofile); + com = lives_strdup_printf("%s open_tv_card \"%s\" \"%s\" \"%s\" \"%s\"", prefs->backend, cfile->handle, chanstr, + devstr, fifofile); } else { - double fps=0.; - char *driver=NULL,*outfmt=NULL; - int width=0,height=0; - int input=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(tvcardw->spinbuttoni)); + double fps = 0.; + char *driver = NULL, *outfmt = NULL; + int width = 0, height = 0; + int input = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(tvcardw->spinbuttoni)); if (!lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(tvcardw->radiobuttond))) { - width=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(tvcardw->spinbuttonw)); - height=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(tvcardw->spinbuttonh)); - fps=lives_spin_button_get_value(LIVES_SPIN_BUTTON(tvcardw->spinbuttonf)); + width = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(tvcardw->spinbuttonw)); + height = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(tvcardw->spinbuttonh)); + fps = lives_spin_button_get_value(LIVES_SPIN_BUTTON(tvcardw->spinbuttonf)); } - driver=lives_combo_get_active_text(LIVES_COMBO(tvcardw->combod)); - outfmt=lives_combo_get_active_text(LIVES_COMBO(tvcardw->comboo)); + driver = lives_combo_get_active_text(LIVES_COMBO(tvcardw->combod)); + outfmt = lives_combo_get_active_text(LIVES_COMBO(tvcardw->comboo)); - com=lives_strdup_printf("%s open_tv_card \"%s\" \"%s\" \"%s\" \"%s\" %d %d %d %.3f \"%s\" \"%s\"", - prefs->backend,cfile->handle,chanstr, - devstr,fifofile,input,width,height,fps,driver,outfmt); + com = lives_strdup_printf("%s open_tv_card \"%s\" \"%s\" \"%s\" \"%s\" %d %d %d %.3f \"%s\" \"%s\"", + prefs->backend, cfile->handle, chanstr, + devstr, fifofile, input, width, height, fps, driver, outfmt); lives_free(driver); lives_free(outfmt); @@ -694,12 +694,12 @@ lives_widget_destroy(card_dialog); lives_free(tvcardw); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { - mainw->com_failed=FALSE; + mainw->com_failed = FALSE; lives_free(fname); lives_free(chanstr); lives_free(fifofile); @@ -707,7 +707,7 @@ return; } - if (!open_yuv4m_inner(fifofile,fname,new_file,YUV4_TYPE_TV,cardno)) { + if (!open_yuv4m_inner(fifofile, fname, new_file, YUV4_TYPE_TV, cardno)) { lives_free(fname); lives_free(chanstr); lives_free(fifofile); @@ -715,9 +715,9 @@ return; } - lives_snprintf(cfile->type,40,"%s",fname); + lives_snprintf(cfile->type, 40, "%s", fname); - d_print((tmp=lives_strdup_printf(_("Opened TV card %d (%s)"),cardno,devstr))); + d_print((tmp = lives_strdup_printf(_("Opened TV card %d (%s)"), cardno, devstr))); lives_free(tmp); lives_free(fname); @@ -731,76 +731,76 @@ void on_live_fw_activate(LiVESMenuItem *menuitem, livespointer user_data) { - char *com,*tmp; + char *com, *tmp; int cardno; - int cache=1024; + int cache = 1024; - int new_file=mainw->first_free_file; + int new_file = mainw->first_free_file; int response; - char *fifofile=lives_strdup_printf("%s/firew_%d.y4m",prefs->workdir,capable->mainpid); + char *fifofile = lives_strdup_printf("%s/firew_%d.y4m", prefs->workdir, capable->mainpid); char *fname; LiVESWidget *card_dialog; - mainw->open_deint=FALSE; + mainw->open_deint = FALSE; - card_dialog=create_cdtrack_dialog(LIVES_DEVICE_FW_CARD,NULL); - response=lives_dialog_run(LIVES_DIALOG(card_dialog)); - if (response==LIVES_RESPONSE_CANCEL) { + card_dialog = create_cdtrack_dialog(LIVES_DEVICE_FW_CARD, NULL); + response = lives_dialog_run(LIVES_DIALOG(card_dialog)); + if (response == LIVES_RESPONSE_CANCEL) { lives_widget_destroy(card_dialog); lives_free(fifofile); return; } - cardno=(int)mainw->fx1_val; + cardno = (int)mainw->fx1_val; lives_widget_destroy(card_dialog); - if (lives_list_find(fw_cards,LIVES_INT_TO_POINTER(cardno))) { + if (lives_list_find(fw_cards, LIVES_INT_TO_POINTER(cardno))) { lives_free(fifofile); do_card_in_use_error(); return; } - fname=lives_strdup_printf(_("Firewire card %d"),cardno); + fname = lives_strdup_printf(_("Firewire card %d"), cardno); - if (!get_new_handle(new_file,fname)) { + if (!get_new_handle(new_file, fname)) { lives_free(fifofile); lives_free(fname); return; } - fw_cards=lives_list_append(fw_cards,LIVES_INT_TO_POINTER(cardno)); + fw_cards = lives_list_append(fw_cards, LIVES_INT_TO_POINTER(cardno)); - mainw->current_file=new_file; - cfile->deinterlace=mainw->open_deint; + mainw->current_file = new_file; + cfile->deinterlace = mainw->open_deint; lives_rm(fifofile); - mkfifo(fifofile,S_IRUSR|S_IWUSR); + mkfifo(fifofile, S_IRUSR | S_IWUSR); - com=lives_strdup_printf("%s open_fw_card \"%s\" %d %d \"%s\"",prefs->backend,cfile->handle,cardno,cache,fifofile); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + com = lives_strdup_printf("%s open_fw_card \"%s\" %d %d \"%s\"", prefs->backend, cfile->handle, cardno, cache, fifofile); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { - mainw->com_failed=FALSE; + mainw->com_failed = FALSE; lives_free(fname); lives_free(fifofile); return; } - if (!open_yuv4m_inner(fifofile,fname,new_file,YUV4_TYPE_FW,cardno)) { + if (!open_yuv4m_inner(fifofile, fname, new_file, YUV4_TYPE_FW, cardno)) { lives_free(fname); lives_free(fifofile); return; } - lives_snprintf(cfile->type,40,"%s",fname); + lives_snprintf(cfile->type, 40, "%s", fname); - d_print((tmp=lives_strdup_printf(_("Opened firewire card %d"),cardno))); + d_print((tmp = lives_strdup_printf(_("Opened firewire card %d"), cardno))); lives_free(tmp); lives_free(fname);
View file
LiVES-2.8.4.tar.bz2/src/main.c -> LiVES-2.8.6.tar.bz2/src/main.c
Changed
@@ -1,6 +1,6 @@ // main.c // LiVES (lives-exe) -// (c) G. Finch 2003 - 2016 +// (c) G. Finch 2003 - 2017 /* This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 or higher as published by @@ -16,7 +16,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA */ - #ifdef USE_GLIB #include <glib.h> #endif @@ -35,7 +34,6 @@ #include "../libweed/weed-host.h" #endif - #define NEED_DEF_WIDGET_OPTS #define NEED_ENDIAN_TEST @@ -70,7 +68,6 @@ #include <getopt.h> - #ifdef IS_DARWIN #include <mach/mach.h> #include <mach/processor_info.h> @@ -82,24 +79,21 @@ #include <setjmp.h> #endif - - //////////////////////////////// capability *capable; _palette *palette; ssize_t sizint, sizdbl, sizshrt; mainwindow *mainw; - ////////////////////////////////////////// -static boolean no_recover=FALSE,auto_recover=FALSE; -static boolean upgrade_error=FALSE; +static boolean no_recover = FALSE, auto_recover = FALSE; +static boolean upgrade_error = FALSE; static boolean info_only; static char start_file[PATH_MAX]; -static double start=0.; -static int end=0; +static double start = 0.; +static int end = 0; static boolean theme_expected; @@ -108,10 +102,10 @@ static int zargc; static char **zargv; -static int startup_msgtype=0; +static int startup_msgtype = 0; #ifndef NO_PROG_LOAD -static int xxwidth=0,xxheight=0; +static int xxwidth = 0, xxheight = 0; #endif //////////////////// @@ -123,12 +117,11 @@ }; #endif - ///////////////////////////////// #ifdef NO_COMPILE // never compile this void tr_msg(void) { // TRANSLATORS: do not translate this message - char *msg= + char *msg = (_("Attention Translators !\nThis message is intended for you, so please do not translate it.\n\n" "All translators should read the LiVES translation notes at\n" "http://lives-video.com/TRANS-README.txt")); @@ -153,25 +146,25 @@ char *msg; #ifdef LIVES_NO_DEBUG - if (level>=LIVES_LOG_LEVEL_WARNING) return; + if (level >= LIVES_LOG_LEVEL_WARNING) return; #else - if ((level&LIVES_LOG_LEVEL_MASK)==LIVES_LOG_LEVEL_WARNING) - msg=lives_strdup_printf(_("%s Warning: %s\n"),domain,message); + if ((level & LIVES_LOG_LEVEL_MASK) == LIVES_LOG_LEVEL_WARNING) + msg = lives_strdup_printf(_("%s Warning: %s\n"), domain, message); #endif else { - if ((level&LIVES_LOG_LEVEL_MASK)==LIVES_LOG_LEVEL_CRITICAL) - msg=lives_strdup_printf(_("%s Critical error: %s\n"),domain,message); - else msg=lives_strdup_printf(_("%s Fatal error: %s\n"),domain,message); + if ((level & LIVES_LOG_LEVEL_MASK) == LIVES_LOG_LEVEL_CRITICAL) + msg = lives_strdup_printf(_("%s Critical error: %s\n"), domain, message); + else msg = lives_strdup_printf(_("%s Fatal error: %s\n"), domain, message); } if (mainw->is_ready) { d_print(msg); } - lives_printerr("%s",msg); + lives_printerr("%s", msg); lives_free(msg); - if (level&LIVES_LOG_FATAL_MASK) raise(LIVES_SIGSEGV); + if (level & LIVES_LOG_FATAL_MASK) raise(LIVES_SIGSEGV); } #endif @@ -182,34 +175,35 @@ void defer_sigint(int signum) { - mainw->signal_caught=signum; + mainw->signal_caught = signum; return; } + void catch_sigint(int signum) { // trap for ctrl-C and others - if (mainw!=NULL) { - if (mainw->LiVES!=NULL) { + if (mainw != NULL) { + if (mainw->LiVES != NULL) { if (mainw->foreign) { exit(signum); } - if (mainw->multitrack!=NULL) mainw->multitrack->idlefunc=0; - mainw->fatal=TRUE; + if (mainw->multitrack != NULL) mainw->multitrack->idlefunc = 0; + mainw->fatal = TRUE; - if (signum==LIVES_SIGABRT||signum==LIVES_SIGSEGV) { + if (signum == LIVES_SIGABRT || signum == LIVES_SIGSEGV) { signal(LIVES_SIGSEGV, SIG_DFL); signal(LIVES_SIGABRT, SIG_DFL); lives_printerr(_("\nUnfortunately LiVES crashed.\nPlease report this bug at %s\n" - "Thanks. Recovery should be possible if you restart LiVES.\n"),LIVES_BUG_URL); + "Thanks. Recovery should be possible if you restart LiVES.\n"), LIVES_BUG_URL); lives_printerr(_("\n\nWhen reporting crashes, please include details of your operating system, " - "distribution, and the LiVES version (%s)\n"),LiVES_VERSION); + "distribution, and the LiVES version (%s)\n"), LiVES_VERSION); if (capable->has_gdb) { - if (mainw->debug) lives_printerr("%s",_("and any information shown below:\n\n")); - else lives_printerr("%s",_("Please try running LiVES with the -debug option to collect more information.\n\n")); + if (mainw->debug) lives_printerr("%s", _("and any information shown below:\n\n")); + else lives_printerr("%s", _("Please try running LiVES with the -debug option to collect more information.\n\n")); } else { - lives_printerr("%s",_("Please install gdb and then run LiVES with the -debug option to collect more information.\n\n")); + lives_printerr("%s", _("Please install gdb and then run LiVES with the -debug option to collect more information.\n\n")); } if (mainw->debug) { #ifdef USE_GLIB @@ -219,12 +213,12 @@ } if (mainw->was_set) { - lives_printerr("%s",_("Preserving set.\n")); + lives_printerr("%s", _("Preserving set.\n")); } - mainw->leave_recovery=mainw->leave_files=TRUE; + mainw->leave_recovery = mainw->leave_files = TRUE; - mainw->only_close=FALSE; + mainw->only_close = FALSE; lives_exit(signum); } } @@ -232,12 +226,11 @@ } - void get_monitors(void) { char buff[256]; #ifdef GUI_GTK - GSList *dlist,*dislist; + GSList *dlist, *dislist; GdkDisplay *disp; GdkScreen *screen; #if LIVES_HAS_DEVICE_MANAGER @@ -246,87 +239,87 @@ register int k; #endif - int nscreens,nmonitors; - register int i,j,idx=0; + int nscreens, nmonitors; + register int i, j, idx = 0; lives_freep((void **)&mainw->mgeom); - dlist=dislist=gdk_display_manager_list_displays(gdk_display_manager_get()); + dlist = dislist = gdk_display_manager_list_displays(gdk_display_manager_get()); - capable->nmonitors=0; + capable->nmonitors = 0; // for each display get list of screens - while (dlist!=NULL) { - disp=(GdkDisplay *)dlist->data; + while (dlist != NULL) { + disp = (GdkDisplay *)dlist->data; // get screens - nscreens=lives_display_get_n_screens(disp); - for (i=0; i<nscreens; i++) { - screen=gdk_display_get_screen(disp,i); - capable->nmonitors+=gdk_screen_get_n_monitors(screen); + nscreens = lives_display_get_n_screens(disp); + for (i = 0; i < nscreens; i++) { + screen = gdk_display_get_screen(disp, i); + capable->nmonitors += gdk_screen_get_n_monitors(screen); } - dlist=dlist->next; + dlist = dlist->next; } - mainw->mgeom=(lives_mgeometry_t *)lives_malloc(capable->nmonitors*sizeof(lives_mgeometry_t)); + mainw->mgeom = (lives_mgeometry_t *)lives_malloc(capable->nmonitors * sizeof(lives_mgeometry_t)); - dlist=dislist; + dlist = dislist; - while (dlist!=NULL) { - disp=(GdkDisplay *)dlist->data; + while (dlist != NULL) { + disp = (GdkDisplay *)dlist->data; #if LIVES_HAS_DEVICE_MANAGER - devman=gdk_display_get_device_manager(disp); - devlist=gdk_device_manager_list_devices(devman,GDK_DEVICE_TYPE_MASTER); + devman = gdk_display_get_device_manager(disp); + devlist = gdk_device_manager_list_devices(devman, GDK_DEVICE_TYPE_MASTER); #endif // get screens - nscreens=lives_display_get_n_screens(disp); - for (i=0; i<nscreens; i++) { - screen=gdk_display_get_screen(disp,i); - nmonitors=gdk_screen_get_n_monitors(screen); - for (j=0; j<nmonitors; j++) { + nscreens = lives_display_get_n_screens(disp); + for (i = 0; i < nscreens; i++) { + screen = gdk_display_get_screen(disp, i); + nmonitors = gdk_screen_get_n_monitors(screen); + for (j = 0; j < nmonitors; j++) { GdkRectangle rect; - gdk_screen_get_monitor_geometry(screen,j,&(rect)); - mainw->mgeom[idx].x=rect.x; - mainw->mgeom[idx].y=rect.y; - mainw->mgeom[idx].width=rect.width; - mainw->mgeom[idx].height=rect.height; - mainw->mgeom[idx].mouse_device=NULL; + gdk_screen_get_monitor_geometry(screen, j, &(rect)); + mainw->mgeom[idx].x = rect.x; + mainw->mgeom[idx].y = rect.y; + mainw->mgeom[idx].width = rect.width; + mainw->mgeom[idx].height = rect.height; + mainw->mgeom[idx].mouse_device = NULL; #if LIVES_HAS_DEVICE_MANAGER // get (virtual) mouse device for this screen - for (k=0; k<lives_list_length(devlist); k++) { - GdkDevice *device=(GdkDevice *)lives_list_nth_data(devlist,k); - if (gdk_device_get_display(device)==disp&& - gdk_device_get_source(device)==GDK_SOURCE_MOUSE) { - mainw->mgeom[idx].mouse_device=device; + for (k = 0; k < lives_list_length(devlist); k++) { + GdkDevice *device = (GdkDevice *)lives_list_nth_data(devlist, k); + if (gdk_device_get_display(device) == disp && + gdk_device_get_source(device) == GDK_SOURCE_MOUSE) { + mainw->mgeom[idx].mouse_device = device; break; } } #endif - mainw->mgeom[idx].disp=disp; - mainw->mgeom[idx].screen=screen; + mainw->mgeom[idx].disp = disp; + mainw->mgeom[idx].screen = screen; idx++; - if (idx>=capable->nmonitors) break; + if (idx >= capable->nmonitors) break; } } #if LIVES_HAS_DEVICE_MANAGER lives_list_free(devlist); #endif - dlist=dlist->next; + dlist = dlist->next; } lives_slist_free(dislist); #endif #ifdef GUI_QT - mainw->mgeom=(lives_mgeometry_t *)lives_malloc(capable->nmonitors*sizeof(lives_mgeometry_t)); + mainw->mgeom = (lives_mgeometry_t *)lives_malloc(capable->nmonitors * sizeof(lives_mgeometry_t)); capable->nmonitors = lives_display_get_n_screens(NULL); QList<QScreen *>screens = QApplication::screens(); - for (int i=0; i < capable->nmonitors; i++) { + for (int i = 0; i < capable->nmonitors; i++) { QRect qr = QApplication::desktop()->screenGeometry(i); mainw->mgeom[i].x = qr.x(); mainw->mgeom[i].y = qr.y(); @@ -339,41 +332,35 @@ #endif - if (prefs->force_single_monitor) capable->nmonitors=1; // force for clone mode + if (prefs->force_single_monitor) capable->nmonitors = 1; // force for clone mode - prefs->gui_monitor=0; - prefs->play_monitor=1; + prefs->gui_monitor = 0; + prefs->play_monitor = 1; - if (capable->nmonitors>1) { + if (capable->nmonitors > 1) { + get_pref(PREF_MONITORS, buff, 256); - get_pref(PREF_MONITORS,buff,256); - - if (strlen(buff)==0||get_token_count(buff,',')==1) { - prefs->gui_monitor=1; - prefs->play_monitor=2; + if (strlen(buff) == 0 || get_token_count(buff, ',') == 1) { + prefs->gui_monitor = 1; + prefs->play_monitor = 2; } else { - char **array=lives_strsplit(buff,",",2); - prefs->gui_monitor=atoi(array[0]); - prefs->play_monitor=atoi(array[1]); + char **array = lives_strsplit(buff, ",", 2); + prefs->gui_monitor = atoi(array[0]); + prefs->play_monitor = atoi(array[1]); lives_strfreev(array); } - if (prefs->gui_monitor<1) prefs->gui_monitor=1; - if (prefs->play_monitor<0) prefs->play_monitor=0; - if (prefs->gui_monitor>capable->nmonitors) prefs->gui_monitor=capable->nmonitors; - if (prefs->play_monitor>capable->nmonitors) prefs->play_monitor=capable->nmonitors; + if (prefs->gui_monitor < 1) prefs->gui_monitor = 1; + if (prefs->play_monitor < 0) prefs->play_monitor = 0; + if (prefs->gui_monitor > capable->nmonitors) prefs->gui_monitor = capable->nmonitors; + if (prefs->play_monitor > capable->nmonitors) prefs->play_monitor = capable->nmonitors; } - mainw->scr_width=mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].width; - mainw->scr_height=mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].height; - + mainw->scr_width = mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].width; + mainw->scr_height = mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].height; } - - - - static boolean pre_init(void) { // stuff which should be done *before* mainwindow is created // returns TRUE if we expect to load a theme @@ -382,232 +369,225 @@ char buff[256]; - boolean needs_update=FALSE; + boolean needs_update = FALSE; register int i; - - sizint=sizeof(int); - sizdbl=sizeof(double); - sizshrt=sizeof(short); - - mainw=(mainwindow *)(calloc(1,sizeof(mainwindow))); - mainw->is_ready=mainw->fatal=FALSE; - mainw->mgeom=NULL; + sizint = sizeof(int); + sizdbl = sizeof(double); + sizshrt = sizeof(short); + + mainw = (mainwindow *)(calloc(1, sizeof(mainwindow))); + mainw->is_ready = mainw->fatal = FALSE; + mainw->mgeom = NULL; // TRANSLATORS: text saying "Any", for encoder and output format (as in "does not matter") - mainw->string_constants[LIVES_STRING_CONSTANT_ANY]=lives_strdup(_("Any")); + mainw->string_constants[LIVES_STRING_CONSTANT_ANY] = lives_strdup(_("Any")); // TRANSLATORS: text saying "None", for playback plugin name (as in "none specified") - mainw->string_constants[LIVES_STRING_CONSTANT_NONE]=lives_strdup(_("None")); + mainw->string_constants[LIVES_STRING_CONSTANT_NONE] = lives_strdup(_("None")); // TRANSLATORS: text saying "recommended", for plugin names, etc. - mainw->string_constants[LIVES_STRING_CONSTANT_RECOMMENDED]=lives_strdup(_("recommended")); + mainw->string_constants[LIVES_STRING_CONSTANT_RECOMMENDED] = lives_strdup(_("recommended")); // TRANSLATORS: text saying "disabled", (as in "not enabled") - mainw->string_constants[LIVES_STRING_CONSTANT_DISABLED]=lives_strdup(_("disabled !")); + mainw->string_constants[LIVES_STRING_CONSTANT_DISABLED] = lives_strdup(_("disabled !")); // TRANSLATORS: text saying "**The current layout**", to warn users that the current layout is affected - mainw->string_constants[LIVES_STRING_CONSTANT_CL]=lives_strdup(_("**The current layout**")); + mainw->string_constants[LIVES_STRING_CONSTANT_CL] = lives_strdup(_("**The current layout**")); // TRANSLATORS: adjective for "Built in" type effects - mainw->string_constants[LIVES_STRING_CONSTANT_BUILTIN]=lives_strdup(_("Builtin")); + mainw->string_constants[LIVES_STRING_CONSTANT_BUILTIN] = lives_strdup(_("Builtin")); // TRANSLATORS: adjective for "Custom" type effects - mainw->string_constants[LIVES_STRING_CONSTANT_CUSTOM]=lives_strdup(_("Custom")); + mainw->string_constants[LIVES_STRING_CONSTANT_CUSTOM] = lives_strdup(_("Custom")); // TRANSLATORS: adjective for "Test" type effects - mainw->string_constants[LIVES_STRING_CONSTANT_TEST]=lives_strdup(_("Test")); + mainw->string_constants[LIVES_STRING_CONSTANT_TEST] = lives_strdup(_("Test")); - prefs=(_prefs *)lives_malloc(sizeof(_prefs)); - future_prefs=(_future_prefs *)lives_malloc(sizeof(_future_prefs)); + prefs = (_prefs *)lives_malloc(sizeof(_prefs)); + future_prefs = (_future_prefs *)lives_malloc(sizeof(_future_prefs)); - prefs->gui_monitor=-1; + prefs->gui_monitor = -1; - lives_snprintf(prefs->cmd_log,PATH_MAX,LIVES_DEVNULL); + lives_snprintf(prefs->cmd_log, PATH_MAX, LIVES_DEVNULL); // set to allow multiple locking by the same thread pthread_mutexattr_init(&mattr); - pthread_mutexattr_settype(&mattr,PTHREAD_MUTEX_RECURSIVE); - pthread_mutex_init(&mainw->gtk_mutex,&mattr); + pthread_mutexattr_settype(&mattr, PTHREAD_MUTEX_RECURSIVE); + pthread_mutex_init(&mainw->gtk_mutex, &mattr); - pthread_mutex_init(&mainw->interp_mutex,&mattr); + pthread_mutex_init(&mainw->interp_mutex, &mattr); - pthread_mutex_init(&mainw->abuf_mutex,NULL); + pthread_mutex_init(&mainw->abuf_mutex, NULL); - pthread_mutex_init(&mainw->abuf_frame_mutex,NULL); + pthread_mutex_init(&mainw->abuf_frame_mutex, NULL); - pthread_mutex_init(&mainw->fxd_active_mutex,NULL); + pthread_mutex_init(&mainw->fxd_active_mutex, NULL); - pthread_mutex_init(&mainw->event_list_mutex,NULL); + pthread_mutex_init(&mainw->event_list_mutex, NULL); - pthread_mutex_init(&mainw->clip_list_mutex,NULL); + pthread_mutex_init(&mainw->clip_list_mutex, NULL); - for (i=0; i<FX_KEYS_MAX; i++) { - pthread_mutex_init(&mainw->data_mutex[i],&mattr); // because audio filters can enable/disable video filters and vice-versa + for (i = 0; i < FX_KEYS_MAX; i++) { + pthread_mutex_init(&mainw->data_mutex[i], &mattr); // because audio filters can enable/disable video filters and vice-versa } - mainw->vrfx_update=NULL; + mainw->vrfx_update = NULL; - mainw->kb_timer=-1; + mainw->kb_timer = -1; - prefs->wm=NULL; - prefs->sleep_time=1000; - mainw->cached_list=NULL; + prefs->wm = NULL; + prefs->sleep_time = 1000; + mainw->cached_list = NULL; - mainw->splash_window=NULL; + mainw->splash_window = NULL; - prefs->present=FALSE; + prefs->present = FALSE; - mainw->threaded_dialog=FALSE; + mainw->threaded_dialog = FALSE; clear_mainw_msg(); - mainw->interactive=TRUE; + mainw->interactive = TRUE; #ifdef IS_MINGW // TODO - for mingw we will get from the registry, whatever was set at install time - lives_snprintf(prefs->prefix_dir,PATH_MAX,"%s",PREFIX_DEFAULT); + lives_snprintf(prefs->prefix_dir, PATH_MAX, "%s", PREFIX_DEFAULT); #endif - info_only=FALSE; + info_only = FALSE; // check the backend is there, get some system details and prefs - capable=get_capabilities(); + capable = get_capabilities(); - palette=(_palette *)(lives_malloc(sizeof(_palette))); + palette = (_palette *)(lives_malloc(sizeof(_palette))); widget_helper_init(); - widget_opts.title_prefix=lives_strdup(_("LiVES: - ")); + widget_opts.title_prefix = lives_strdup(_("LiVES: - ")); - prefs->show_gui=TRUE; - prefs->show_splash=FALSE; - prefs->show_playwin=TRUE; - prefs->sepwin_type=1; - prefs->show_framecount=TRUE; - prefs->audio_player=AUD_PLAYER_SOX; - lives_snprintf(prefs->aplayer,512,"%s",AUDIO_PLAYER_SOX); - prefs->open_decorated=TRUE; + prefs->show_gui = TRUE; + prefs->show_splash = FALSE; + prefs->show_playwin = TRUE; + prefs->sepwin_type = 1; + prefs->show_framecount = TRUE; + prefs->audio_player = AUD_PLAYER_SOX; + lives_snprintf(prefs->aplayer, 512, "%s", AUDIO_PLAYER_SOX); + prefs->open_decorated = TRUE; #ifdef ENABLE_GIW - prefs->lamp_buttons=TRUE; + prefs->lamp_buttons = TRUE; #else - prefs->lamp_buttons=FALSE; + prefs->lamp_buttons = FALSE; #endif - prefs->autoload_subs=TRUE; - prefs->show_subtitles=TRUE; + prefs->autoload_subs = TRUE; + prefs->show_subtitles = TRUE; - prefs->letterbox=FALSE; - prefs->bigendbug=0; + prefs->letterbox = FALSE; + prefs->bigendbug = 0; #ifdef HAVE_YUV4MPEG - memset(prefs->yuvin,0,1); + memset(prefs->yuvin, 0, 1); #endif #ifndef IS_MINGW - capable->rcfile=lives_strdup_printf("%s/.lives",capable->home_dir); + capable->rcfile = lives_strdup_printf("%s/.lives", capable->home_dir); #else - capable->rcfile=lives_strdup_printf("%s/LiVES.ini",capable->home_dir); + capable->rcfile = lives_strdup_printf("%s/LiVES.ini", capable->home_dir); #endif - if (!capable->smog_version_correct||!capable->can_write_to_workdir) { - lives_snprintf(prefs->theme,64,"none"); + if (!capable->smog_version_correct || !capable->can_write_to_workdir) { + lives_snprintf(prefs->theme, 64, "none"); return FALSE; } - -#if GTK_CHECK_VERSION(3,0,0) - prefs->funky_widgets=TRUE; +#if GTK_CHECK_VERSION(3, 0, 0) + prefs->funky_widgets = TRUE; #else - prefs->funky_widgets=FALSE; + prefs->funky_widgets = FALSE; #endif - prefs->show_splash=TRUE; + prefs->show_splash = TRUE; // from here onwards we can use get_pref() and friends ////// - cache_file_contents(capable->rcfile); - get_pref(PREF_GUI_THEME,prefs->theme,64); + get_pref(PREF_GUI_THEME, prefs->theme, 64); if (!strlen(prefs->theme)) { - lives_snprintf(prefs->theme,64,"none"); + lives_snprintf(prefs->theme, 64, "none"); } - lives_snprintf(future_prefs->theme,64,"%s",prefs->theme); + lives_snprintf(future_prefs->theme, 64, "%s", prefs->theme); // get some prefs we need to set menu options - future_prefs->show_recent=prefs->show_recent=get_boolean_pref(PREF_SHOW_RECENT_FILES); + future_prefs->show_recent = prefs->show_recent = get_boolean_pref(PREF_SHOW_RECENT_FILES); #ifndef IS_MINGW - get_pref(PREF_PREFIX_DIR,prefs->prefix_dir,PATH_MAX); + get_pref(PREF_PREFIX_DIR, prefs->prefix_dir, PATH_MAX); if (!strlen(prefs->prefix_dir)) { - if (strcmp(PREFIX,"NONE")) { - lives_snprintf(prefs->prefix_dir,PATH_MAX,"%s",PREFIX); + if (strcmp(PREFIX, "NONE")) { + lives_snprintf(prefs->prefix_dir, PATH_MAX, "%s", PREFIX); } else { - lives_snprintf(prefs->prefix_dir,PATH_MAX,"%s",PREFIX_DEFAULT); + lives_snprintf(prefs->prefix_dir, PATH_MAX, "%s", PREFIX_DEFAULT); } - needs_update=TRUE; + needs_update = TRUE; } - if (ensure_isdir(prefs->prefix_dir)) needs_update=TRUE; + if (ensure_isdir(prefs->prefix_dir)) needs_update = TRUE; + if (needs_update) set_pref(PREF_PREFIX_DIR, prefs->prefix_dir); - if (needs_update) set_pref(PREF_PREFIX_DIR,prefs->prefix_dir); + needs_update = FALSE; - needs_update=FALSE; - - get_pref(PREF_LIB_DIR,prefs->lib_dir,PATH_MAX); + get_pref(PREF_LIB_DIR, prefs->lib_dir, PATH_MAX); if (!strlen(prefs->lib_dir)) { - - lives_snprintf(prefs->lib_dir,PATH_MAX,"%s",LIVES_LIBDIR); - needs_update=TRUE; + lives_snprintf(prefs->lib_dir, PATH_MAX, "%s", LIVES_LIBDIR); + needs_update = TRUE; } - if (ensure_isdir(prefs->lib_dir)) needs_update=TRUE; - if (needs_update) set_pref(PREF_LIB_DIR,prefs->lib_dir); + if (ensure_isdir(prefs->lib_dir)) needs_update = TRUE; + if (needs_update) set_pref(PREF_LIB_DIR, prefs->lib_dir); #else - lives_snprintf(prefs->lib_dir,PATH_MAX,"%s",prefs->prefix_dir); + lives_snprintf(prefs->lib_dir, PATH_MAX, "%s", prefs->prefix_dir); #endif - needs_update=FALSE; + needs_update = FALSE; - memset(mainw->sepimg_path,0,1); - memset(mainw->frameblank_path,0,1); + memset(mainw->sepimg_path, 0, 1); + memset(mainw->frameblank_path, 0, 1); - mainw->imsep=mainw->imframe=NULL; + mainw->imsep = mainw->imframe = NULL; if (!set_palette_colours(FALSE)) { - lives_snprintf(prefs->theme,64,"none"); + lives_snprintf(prefs->theme, 64, "none"); set_palette_colours(FALSE); } - get_pref(PREF_CDPLAY_DEVICE,prefs->cdplay_device,PATH_MAX); - prefs->warning_mask=(uint32_t)get_int_pref(PREF_LIVES_WARNING_MASK); + get_pref(PREF_CDPLAY_DEVICE, prefs->cdplay_device, PATH_MAX); + prefs->warning_mask = (uint32_t)get_int_pref(PREF_LIVES_WARNING_MASK); - get_pref(PREF_AUDIO_PLAYER,buff,256); + get_pref(PREF_AUDIO_PLAYER, buff, 256); - if (!strcmp(buff,AUDIO_PLAYER_MPLAYER)) - prefs->audio_player=AUD_PLAYER_MPLAYER; - if (!strcmp(buff,AUDIO_PLAYER_MPLAYER2)) - prefs->audio_player=AUD_PLAYER_MPLAYER2; - if (!strcmp(buff,AUDIO_PLAYER_JACK)) - prefs->audio_player=AUD_PLAYER_JACK; - if (!strcmp(buff,AUDIO_PLAYER_PULSE)) - prefs->audio_player=AUD_PLAYER_PULSE; - lives_snprintf(prefs->aplayer,512,"%s",buff); + if (!strcmp(buff, AUDIO_PLAYER_MPLAYER)) + prefs->audio_player = AUD_PLAYER_MPLAYER; + if (!strcmp(buff, AUDIO_PLAYER_MPLAYER2)) + prefs->audio_player = AUD_PLAYER_MPLAYER2; + if (!strcmp(buff, AUDIO_PLAYER_JACK)) + prefs->audio_player = AUD_PLAYER_JACK; + if (!strcmp(buff, AUDIO_PLAYER_PULSE)) + prefs->audio_player = AUD_PLAYER_PULSE; + lives_snprintf(prefs->aplayer, 512, "%s", buff); #ifdef HAVE_PULSE_AUDIO - if ((prefs->startup_phase==1||prefs->startup_phase==-1)&&capable->has_pulse_audio) { - prefs->audio_player=AUD_PLAYER_PULSE; - lives_snprintf(prefs->aplayer,512,"%s",AUDIO_PLAYER_PULSE); - set_pref(PREF_AUDIO_PLAYER,AUDIO_PLAYER_PULSE); + if ((prefs->startup_phase == 1 || prefs->startup_phase == -1) && capable->has_pulse_audio) { + prefs->audio_player = AUD_PLAYER_PULSE; + lives_snprintf(prefs->aplayer, 512, "%s", AUDIO_PLAYER_PULSE); + set_pref(PREF_AUDIO_PLAYER, AUDIO_PLAYER_PULSE); } else { #endif - - #ifdef ENABLE_JACK - if ((prefs->startup_phase==1||prefs->startup_phase==-1)&&capable->has_jackd) { - prefs->audio_player=AUD_PLAYER_JACK; - lives_snprintf(prefs->aplayer,512,"%s",AUDIO_PLAYER_JACK); - set_pref(PREF_AUDIO_PLAYER,AUDIO_PLAYER_JACK); + if ((prefs->startup_phase == 1 || prefs->startup_phase == -1) && capable->has_jackd) { + prefs->audio_player = AUD_PLAYER_JACK; + lives_snprintf(prefs->aplayer, 512, "%s", AUDIO_PLAYER_JACK); + set_pref(PREF_AUDIO_PLAYER, AUDIO_PLAYER_JACK); } #endif @@ -615,50 +595,50 @@ } #endif - future_prefs->jack_opts=get_int_pref(PREF_JACK_OPTS); - prefs->jack_opts=future_prefs->jack_opts; + future_prefs->jack_opts = get_int_pref(PREF_JACK_OPTS); + prefs->jack_opts = future_prefs->jack_opts; - mainw->mgeom=NULL; - prefs->virt_height=1; + mainw->mgeom = NULL; + prefs->virt_height = 1; - prefs->force_single_monitor=get_boolean_pref(PREF_FORCE_SINGLE_MONITOR); + prefs->force_single_monitor = get_boolean_pref(PREF_FORCE_SINGLE_MONITOR); get_monitors(); - for (i=0; i<MAX_FX_CANDIDATE_TYPES; i++) { - mainw->fx_candidates[i].delegate=-1; - mainw->fx_candidates[i].list=NULL; - mainw->fx_candidates[i].func=0l; - mainw->fx_candidates[i].rfx=NULL; + for (i = 0; i < MAX_FX_CANDIDATE_TYPES; i++) { + mainw->fx_candidates[i].delegate = -1; + mainw->fx_candidates[i].list = NULL; + mainw->fx_candidates[i].func = 0l; + mainw->fx_candidates[i].rfx = NULL; } - for (i=0; i<MAX_EXT_CNTL; i++) mainw->ext_cntl[i]=FALSE; + for (i = 0; i < MAX_EXT_CNTL; i++) mainw->ext_cntl[i] = FALSE; - prefs->omc_dev_opts=get_int_pref(PREF_OMC_DEV_OPTS); + prefs->omc_dev_opts = get_int_pref(PREF_OMC_DEV_OPTS); - get_pref_utf8(PREF_OMC_JS_FNAME,prefs->omc_js_fname,PATH_MAX); + get_pref_utf8(PREF_OMC_JS_FNAME, prefs->omc_js_fname, PATH_MAX); #ifdef ENABLE_OSC #ifdef OMC_JS_IMPL #ifndef IS_MINGW - if (strlen(prefs->omc_js_fname)==0) { - const char *tmp=get_js_filename(); - if (tmp!=NULL) { - lives_snprintf(prefs->omc_js_fname,PATH_MAX,"%s",tmp); + if (strlen(prefs->omc_js_fname) == 0) { + const char *tmp = get_js_filename(); + if (tmp != NULL) { + lives_snprintf(prefs->omc_js_fname, PATH_MAX, "%s", tmp); } } #endif #endif #endif - get_pref_utf8(PREF_OMC_MIDI_FNAME,prefs->omc_midi_fname,PATH_MAX); + get_pref_utf8(PREF_OMC_MIDI_FNAME, prefs->omc_midi_fname, PATH_MAX); #ifdef ENABLE_OSC #ifdef OMC_MIDI_IMPL #ifndef IS_MINGW - if (strlen(prefs->omc_midi_fname)==0) { - const char *tmp=get_midi_filename(); - if (tmp!=NULL) { - lives_snprintf(prefs->omc_midi_fname,PATH_MAX,"%s",tmp); + if (strlen(prefs->omc_midi_fname) == 0) { + const char *tmp = get_midi_filename(); + if (tmp != NULL) { + lives_snprintf(prefs->omc_midi_fname, PATH_MAX, "%s", tmp); } } #endif @@ -666,42 +646,40 @@ #endif #ifdef ALSA_MIDI - prefs->use_alsa_midi=TRUE; - mainw->seq_handle=NULL; + prefs->use_alsa_midi = TRUE; + mainw->seq_handle = NULL; - if (prefs->omc_dev_opts&OMC_DEV_FORCE_RAW_MIDI) prefs->use_alsa_midi=FALSE; + if (prefs->omc_dev_opts & OMC_DEV_FORCE_RAW_MIDI) prefs->use_alsa_midi = FALSE; #endif - mainw->volume=1.f; - mainw->ccpd_with_sound=TRUE; + mainw->volume = 1.f; + mainw->ccpd_with_sound = TRUE; - mainw->loop=TRUE; - mainw->loop_cont=FALSE; + mainw->loop = TRUE; + mainw->loop_cont = FALSE; #ifdef GUI_GTK - mainw->target_table=target_table; + mainw->target_table = target_table; #endif - prefs->max_modes_per_key=0; - mainw->debug=FALSE; + prefs->max_modes_per_key = 0; + mainw->debug = FALSE; - mainw->next_free_alarm=0; + mainw->next_free_alarm = 0; - for (i=0; i<LIVES_MAX_ALARMS; i++) { - mainw->alarms[i]=LIVES_NO_ALARM_TICKS; + for (i = 0; i < LIVES_MAX_ALARMS; i++) { + mainw->alarms[i] = LIVES_NO_ALARM_TICKS; } - needs_update=needs_update; // stop compiler warnings + needs_update = needs_update; // stop compiler warnings - if (!lives_ascii_strcasecmp(prefs->theme,"none")) return FALSE; + if (!lives_ascii_strcasecmp(prefs->theme, "none")) return FALSE; return TRUE; - } - static void replace_with_delegates(void) { weed_plant_t *filter; @@ -710,57 +688,54 @@ int resize_fx; int deint_idx; - if (mainw->fx_candidates[FX_CANDIDATE_RESIZER].delegate!=-1) { + if (mainw->fx_candidates[FX_CANDIDATE_RESIZER].delegate != -1) { + resize_fx = LIVES_POINTER_TO_INT(lives_list_nth_data(mainw->fx_candidates[FX_CANDIDATE_RESIZER].list, + mainw->fx_candidates[FX_CANDIDATE_RESIZER].delegate)); + filter = get_weed_filter(resize_fx); + rfx = weed_to_rfx(filter, TRUE); - resize_fx=LIVES_POINTER_TO_INT(lives_list_nth_data(mainw->fx_candidates[FX_CANDIDATE_RESIZER].list, - mainw->fx_candidates[FX_CANDIDATE_RESIZER].delegate)); - filter=get_weed_filter(resize_fx); - rfx=weed_to_rfx(filter,TRUE); - - rfx->is_template=FALSE; - rfx->props|=RFX_PROPS_MAY_RESIZE; + rfx->is_template = FALSE; + rfx->props |= RFX_PROPS_MAY_RESIZE; lives_free(rfx->action_desc); - rfx->action_desc=lives_strdup(_("Resizing")); + rfx->action_desc = lives_strdup(_("Resizing")); - rfx->min_frames=1; + rfx->min_frames = 1; lives_free(rfx->menu_text); - if (mainw->resize_menuitem==NULL) { - rfx->menu_text=lives_strdup(_("_Resize All Frames...")); + if (mainw->resize_menuitem == NULL) { + rfx->menu_text = lives_strdup(_("_Resize All Frames...")); mainw->resize_menuitem = lives_menu_item_new_with_mnemonic(rfx->menu_text); lives_widget_show(mainw->resize_menuitem); lives_menu_shell_insert(LIVES_MENU_SHELL(mainw->tools_menu), mainw->resize_menuitem, RFX_TOOL_MENU_POSN); } else { // disconnect old menu entry - lives_signal_handler_disconnect(mainw->resize_menuitem,mainw->fx_candidates[FX_CANDIDATE_RESIZER].func); + lives_signal_handler_disconnect(mainw->resize_menuitem, mainw->fx_candidates[FX_CANDIDATE_RESIZER].func); } // connect new menu entry - mainw->fx_candidates[FX_CANDIDATE_RESIZER].func=lives_signal_connect(LIVES_GUI_OBJECT(mainw->resize_menuitem), LIVES_WIDGET_ACTIVATE_SIGNAL, + mainw->fx_candidates[FX_CANDIDATE_RESIZER].func = lives_signal_connect(LIVES_GUI_OBJECT(mainw->resize_menuitem), + LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(on_render_fx_pre_activate), (livespointer)rfx); - mainw->fx_candidates[FX_CANDIDATE_RESIZER].rfx=rfx; + mainw->fx_candidates[FX_CANDIDATE_RESIZER].rfx = rfx; } - lives_widget_set_sensitive(mainw->resize_menuitem, mainw->current_file>0&&cfile->frames>0); + lives_widget_set_sensitive(mainw->resize_menuitem, mainw->current_file > 0 && cfile->frames > 0); - deint_idx=weed_get_idx_for_hashname("deinterlacedeinterlace",FALSE); - if (deint_idx>-1) { - mainw->fx_candidates[FX_CANDIDATE_DEINTERLACE].list=lives_list_append(mainw->fx_candidates[FX_CANDIDATE_DEINTERLACE].list, + deint_idx = weed_get_idx_for_hashname("deinterlacedeinterlace", FALSE); + if (deint_idx > -1) { + mainw->fx_candidates[FX_CANDIDATE_DEINTERLACE].list = lives_list_append(mainw->fx_candidates[FX_CANDIDATE_DEINTERLACE].list, LIVES_INT_TO_POINTER(deint_idx)); - mainw->fx_candidates[FX_CANDIDATE_DEINTERLACE].delegate=0; + mainw->fx_candidates[FX_CANDIDATE_DEINTERLACE].delegate = 0; } - - } - static void lives_init(_ign_opts *ign_opts) { // init mainwindow data - LiVESList *encoders=NULL; - LiVESList *encoder_capabilities=NULL; + LiVESList *encoders = NULL; + LiVESList *encoder_capabilities = NULL; char buff[256]; char mppath[PATH_MAX]; @@ -776,729 +751,721 @@ boolean needs_free; int randfd; - int naudp=0; + int naudp = 0; register int i; - - for (i=0; i<=MAX_FILES; mainw->files[i++]=NULL); - mainw->fs=FALSE; - mainw->prefs_changed=FALSE; - mainw->last_dprint_file=mainw->current_file=mainw->playing_file=-1; - mainw->first_free_file=1; - mainw->insert_after=TRUE; - mainw->mute=FALSE; - mainw->faded=FALSE; - mainw->save_with_sound=TRUE; - mainw->preview=FALSE; - mainw->selwidth_locked=FALSE; - mainw->untitled_number=mainw->cap_number=1; - mainw->sel_start=0; - mainw->sel_move=SEL_MOVE_AUTO; - mainw->record_foreign=FALSE; - mainw->play_window=NULL; - mainw->opwx=mainw->opwy=-1; - mainw->frame_layer=NULL; - mainw->in_fs_preview=FALSE; - mainw->effects_paused=FALSE; - mainw->play_start=0; - mainw->opening_loc=FALSE; - mainw->toy_type=LIVES_TOY_NONE; - mainw->framedraw=mainw->framedraw_spinbutton=NULL; - mainw->fd_layer=NULL; - mainw->fd_layer_orig=NULL; - mainw->is_processing=FALSE; - mainw->is_rendering=FALSE; - mainw->is_generating=FALSE; - mainw->resizing=FALSE; - mainw->switch_during_pb=FALSE; - mainw->playing_sel=FALSE; - mainw->aframeno=0; - if (capable->byte_order==LIVES_LITTLE_ENDIAN) { - mainw->endian=0; + for (i = 0; i <= MAX_FILES; mainw->files[i++] = NULL); + mainw->fs = FALSE; + mainw->prefs_changed = FALSE; + mainw->last_dprint_file = mainw->current_file = mainw->playing_file = -1; + mainw->first_free_file = 1; + mainw->insert_after = TRUE; + mainw->mute = FALSE; + mainw->faded = FALSE; + mainw->save_with_sound = TRUE; + mainw->preview = FALSE; + mainw->selwidth_locked = FALSE; + mainw->untitled_number = mainw->cap_number = 1; + mainw->sel_start = 0; + mainw->sel_move = SEL_MOVE_AUTO; + mainw->record_foreign = FALSE; + mainw->play_window = NULL; + mainw->opwx = mainw->opwy = -1; + mainw->frame_layer = NULL; + mainw->in_fs_preview = FALSE; + mainw->effects_paused = FALSE; + mainw->play_start = 0; + mainw->opening_loc = FALSE; + mainw->toy_type = LIVES_TOY_NONE; + mainw->framedraw = mainw->framedraw_spinbutton = NULL; + mainw->fd_layer = NULL; + mainw->fd_layer_orig = NULL; + mainw->is_processing = FALSE; + mainw->is_rendering = FALSE; + mainw->is_generating = FALSE; + mainw->resizing = FALSE; + mainw->switch_during_pb = FALSE; + mainw->playing_sel = FALSE; + mainw->aframeno = 0; + if (capable->byte_order == LIVES_LITTLE_ENDIAN) { + mainw->endian = 0; } else { - mainw->endian=AFORM_BIG_ENDIAN; + mainw->endian = AFORM_BIG_ENDIAN; } - mainw->leave_files=TRUE; - mainw->was_set=FALSE; - mainw->toy_go_wild=FALSE; + mainw->leave_files = TRUE; + mainw->was_set = FALSE; + mainw->toy_go_wild = FALSE; - for (i=0; i<FN_KEYS-1; i++) { - mainw->clipstore[i]=0; + for (i = 0; i < FN_KEYS - 1; i++) { + mainw->clipstore[i] = 0; } - mainw->ping_pong=FALSE; + mainw->ping_pong = FALSE; - mainw->nervous=FALSE; - fx_dialog[0]=fx_dialog[1]=NULL; + mainw->nervous = FALSE; + fx_dialog[0] = fx_dialog[1] = NULL; - mainw->rte_keys=-1; - rte_window=NULL; + mainw->rte_keys = -1; + rte_window = NULL; - mainw->rte=EFFECT_NONE; + mainw->rte = EFFECT_NONE; - mainw->must_resize=FALSE; + mainw->must_resize = FALSE; mainw->preview_box = NULL; - mainw->prv_link=PRV_FREE; + mainw->prv_link = PRV_FREE; - mainw->internal_messaging=FALSE; - mainw->progress_fn=NULL; + mainw->internal_messaging = FALSE; + mainw->progress_fn = NULL; - mainw->last_grabbable_effect=-1; - mainw->blend_file=-1; + mainw->last_grabbable_effect = -1; + mainw->blend_file = -1; - mainw->pre_src_file=-2; - mainw->pre_src_audio_file=-1; + mainw->pre_src_file = -2; + mainw->pre_src_audio_file = -1; - mainw->size_warn=FALSE; - mainw->dvgrab_preview=FALSE; + mainw->size_warn = FALSE; + mainw->dvgrab_preview = FALSE; - mainw->file_open_params=NULL; - mainw->whentostop=NEVER_STOP; + mainw->file_open_params = NULL; + mainw->whentostop = NEVER_STOP; - mainw->audio_start=mainw->audio_end=0; - mainw->cliplist=NULL; + mainw->audio_start = mainw->audio_end = 0; + mainw->cliplist = NULL; // rendered_fx number of last transition - mainw->last_transition_idx=-1; - mainw->last_transition_loops=1; - mainw->last_transition_align_start=TRUE; - mainw->last_transition_loop_to_fit=mainw->last_transition_ins_frames=FALSE; - mainw->num_tr_applied=0; - - mainw->blend_factor=0.; - - mainw->fixed_fps_numer=-1; - mainw->fixed_fps_denom=1; - mainw->fixed_fpsd=-1.; - mainw->noswitch=FALSE; - mainw->osc_block=FALSE; + mainw->last_transition_idx = -1; + mainw->last_transition_loops = 1; + mainw->last_transition_align_start = TRUE; + mainw->last_transition_loop_to_fit = mainw->last_transition_ins_frames = FALSE; + mainw->num_tr_applied = 0; + + mainw->blend_factor = 0.; + + mainw->fixed_fps_numer = -1; + mainw->fixed_fps_denom = 1; + mainw->fixed_fpsd = -1.; + mainw->noswitch = FALSE; + mainw->osc_block = FALSE; - mainw->cancelled=CANCEL_NONE; - mainw->cancel_type=CANCEL_KILL; + mainw->cancelled = CANCEL_NONE; + mainw->cancel_type = CANCEL_KILL; - mainw->framedraw_reset=NULL; + mainw->framedraw_reset = NULL; // setting this to TRUE can possibly increase smoothness for lower framerates // needs more testing and a preference - TODO // can now be set through OSC: /output/nodrop/enable - mainw->noframedrop=FALSE; + mainw->noframedrop = FALSE; - prefs->omc_noisy=FALSE; - prefs->omc_events=TRUE; + prefs->omc_noisy = FALSE; + prefs->omc_events = TRUE; if (!ign_opts->ign_osc) { - prefs->osc_udp_started=FALSE; - prefs->osc_udp_port=0; + prefs->osc_udp_started = FALSE; + prefs->osc_udp_port = 0; #ifdef ENABLE_OSC if (!mainw->foreign) { - prefs->osc_udp_port=get_int_pref(PREF_OSC_PORT); - future_prefs->osc_start=prefs->osc_start=get_boolean_pref(PREF_OSC_START); + prefs->osc_udp_port = get_int_pref(PREF_OSC_PORT); + future_prefs->osc_start = prefs->osc_start = get_boolean_pref(PREF_OSC_START); } else { - future_prefs->osc_start=prefs->osc_start=FALSE; + future_prefs->osc_start = prefs->osc_start = FALSE; } #endif } - prefs->ignore_tiny_fps_diffs=1; - prefs->rec_opts=get_int_pref(PREF_RECORD_OPTS); + prefs->ignore_tiny_fps_diffs = 1; + prefs->rec_opts = get_int_pref(PREF_RECORD_OPTS); - if (prefs->rec_opts==-1) { - prefs->rec_opts=REC_FPS|REC_FRAMES|REC_EFFECTS|REC_CLIPS|REC_AUDIO; - set_int_pref(PREF_RECORD_OPTS,prefs->rec_opts); + if (prefs->rec_opts == -1) { + prefs->rec_opts = REC_FPS | REC_FRAMES | REC_EFFECTS | REC_CLIPS | REC_AUDIO; + set_int_pref(PREF_RECORD_OPTS, prefs->rec_opts); } - prefs->rec_opts|=(REC_FPS+REC_FRAMES); + prefs->rec_opts |= (REC_FPS + REC_FRAMES); - prefs->audio_src=get_int_pref(PREF_AUDIO_SRC); + prefs->audio_src = get_int_pref(PREF_AUDIO_SRC); - if (!((prefs->audio_player==AUD_PLAYER_JACK&&capable->has_jackd)||(prefs->audio_player==AUD_PLAYER_PULSE&&capable->has_pulse_audio))) { - prefs->audio_src=AUDIO_SRC_INT; + if (!((prefs->audio_player == AUD_PLAYER_JACK && capable->has_jackd) || (prefs->audio_player == AUD_PLAYER_PULSE && + capable->has_pulse_audio))) { + prefs->audio_src = AUDIO_SRC_INT; } - mainw->new_clip=-1; - mainw->record=FALSE; - mainw->event_list=NULL; - mainw->clip_switched=FALSE; - mainw->scrap_file=-1; - mainw->ascrap_file=-1; - - mainw->multitrack=NULL; - - mainw->jack_can_stop=FALSE; - mainw->jack_can_start=TRUE; + mainw->new_clip = -1; + mainw->record = FALSE; + mainw->event_list = NULL; + mainw->clip_switched = FALSE; + mainw->scrap_file = -1; + mainw->ascrap_file = -1; - mainw->video_seek_ready=FALSE; + mainw->multitrack = NULL; - mainw->filter_map=NULL; // filter map for video rendering - mainw->afilter_map=NULL; // filter map for audio rendering - mainw->audio_event=NULL; + mainw->jack_can_stop = FALSE; + mainw->jack_can_start = TRUE; - mainw->did_rfx_preview=FALSE; + mainw->video_seek_ready = FALSE; - prefsw=NULL; - rdet=NULL; - resaudw=NULL; + mainw->filter_map = NULL; // filter map for video rendering + mainw->afilter_map = NULL; // filter map for audio rendering + mainw->audio_event = NULL; - mainw->actual_frame=0; + mainw->did_rfx_preview = FALSE; - mainw->scratch=SCRATCH_NONE; + prefsw = NULL; + rdet = NULL; + resaudw = NULL; - mainw->clip_index=mainw->frame_index=NULL; + mainw->actual_frame = 0; - mainw->affected_layouts_map=mainw->current_layouts_map=NULL; + mainw->scratch = SCRATCH_NONE; - mainw->recovery_file=lives_strdup_printf("%s/recovery.%d.%d.%d",prefs->workdir,lives_getuid(),lives_getgid(),capable->mainpid); - mainw->leave_recovery=TRUE; + mainw->clip_index = mainw->frame_index = NULL; - mainw->pchains=NULL; + mainw->affected_layouts_map = mainw->current_layouts_map = NULL; - mainw->preview_frame=0; + mainw->recovery_file = lives_strdup_printf("%s/recovery.%d.%d.%d", prefs->workdir, lives_getuid(), lives_getgid(), capable->mainpid); + mainw->leave_recovery = TRUE; - mainw->unordered_blocks=FALSE; + mainw->pchains = NULL; - mainw->only_close=FALSE; + mainw->preview_frame = 0; - mainw->no_exit=FALSE; + mainw->unordered_blocks = FALSE; - mainw->multi_opts.set=FALSE; + mainw->only_close = FALSE; - mainw->clip_header=NULL; + mainw->no_exit = FALSE; - mainw->new_blend_file=-1; + mainw->multi_opts.set = FALSE; - mainw->jackd=mainw->jackd_read=NULL; + mainw->clip_header = NULL; - mainw->pulsed=mainw->pulsed_read=NULL; + mainw->new_blend_file = -1; - mainw->suppress_dprint=FALSE; + mainw->jackd = mainw->jackd_read = NULL; - mainw->opening_frames=-1; + mainw->pulsed = mainw->pulsed_read = NULL; - mainw->show_procd=TRUE; + mainw->suppress_dprint = FALSE; - mainw->framedraw_preview=mainw->framedraw_reset=NULL; + mainw->opening_frames = -1; - mainw->block_param_updates=mainw->no_interp=FALSE; + mainw->show_procd = TRUE; - mainw->cevent_tc=0; + mainw->framedraw_preview = mainw->framedraw_reset = NULL; - mainw->opening_multi=FALSE; + mainw->block_param_updates = mainw->no_interp = FALSE; - mainw->img_concat_clip=-1; + mainw->cevent_tc = 0; - mainw->record_paused=mainw->record_starting=FALSE; + mainw->opening_multi = FALSE; - mainw->gen_to_clipboard=FALSE; + mainw->img_concat_clip = -1; - mainw->open_deint=FALSE; + mainw->record_paused = mainw->record_starting = FALSE; - mainw->write_vpp_file=FALSE; + mainw->gen_to_clipboard = FALSE; - mainw->stream_ticks=-1; + mainw->open_deint = FALSE; - mainw->keep_pre=FALSE; + mainw->write_vpp_file = FALSE; - mainw->reverse_pb=FALSE; + mainw->stream_ticks = -1; - mainw->osc_auto=0; - mainw->osc_enc_width=mainw->osc_enc_height=0; + mainw->keep_pre = FALSE; + mainw->reverse_pb = FALSE; - mainw->no_switch_dprint=FALSE; + mainw->osc_auto = 0; + mainw->osc_enc_width = mainw->osc_enc_height = 0; - mainw->rte_textparm=NULL; + mainw->no_switch_dprint = FALSE; + mainw->rte_textparm = NULL; - mainw->abufs_to_fill=0; + mainw->abufs_to_fill = 0; - mainw->recoverable_layout=FALSE; + mainw->recoverable_layout = FALSE; - mainw->soft_debug=FALSE; + mainw->soft_debug = FALSE; - mainw->iochan=NULL; + mainw->iochan = NULL; + mainw->stored_event_list = NULL; + mainw->stored_event_list_changed = mainw->stored_event_list_auto_changed = FALSE; + mainw->stored_layout_save_all_vals = TRUE; - mainw->stored_event_list=NULL; - mainw->stored_event_list_changed=mainw->stored_event_list_auto_changed=FALSE; - mainw->stored_layout_save_all_vals=TRUE; + mainw->affected_layout_marks = NULL; - mainw->affected_layout_marks=NULL; + mainw->xlays = NULL; - mainw->xlays=NULL; + mainw->stored_layout_undos = NULL; + mainw->sl_undo_mem = NULL; + mainw->sl_undo_buffer_used = 0; + mainw->sl_undo_offset = 0; - mainw->stored_layout_undos=NULL; - mainw->sl_undo_mem=NULL; - mainw->sl_undo_buffer_used=0; - mainw->sl_undo_offset=0; + mainw->go_away = TRUE; - mainw->go_away=TRUE; + mainw->aud_file_to_kill = -1; - mainw->aud_file_to_kill=-1; + mainw->aud_rec_fd = -1; - mainw->aud_rec_fd=-1; + mainw->decoders_loaded = FALSE; + mainw->decoder_list = NULL; - mainw->decoders_loaded=FALSE; - mainw->decoder_list=NULL; + mainw->subt_save_file = NULL; - mainw->subt_save_file=NULL; + mainw->fonts_array = get_font_list(); - mainw->fonts_array=get_font_list(); + mainw->nfonts = 0; + if (mainw->fonts_array != NULL) + while (mainw->fonts_array[mainw->nfonts++] != NULL); - mainw->nfonts=0; - if (mainw->fonts_array!=NULL) - while (mainw->fonts_array[mainw->nfonts++]!=NULL); + mainw->videodevs = NULL; - mainw->videodevs=NULL; - - mainw->camframe=NULL; + mainw->camframe = NULL; if (!ign_opts->ign_vppdefs) - lives_snprintf(mainw->vpp_defs_file,PATH_MAX,"%s/%svpp_defaults",capable->home_dir,LIVES_CONFIG_DIR); + lives_snprintf(mainw->vpp_defs_file, PATH_MAX, "%s/%svpp_defaults", capable->home_dir, LIVES_CONFIG_DIR); - mainw->has_custom_tools=FALSE; - mainw->has_custom_gens=FALSE; - mainw->has_custom_utilities=FALSE; + mainw->has_custom_tools = FALSE; + mainw->has_custom_gens = FALSE; + mainw->has_custom_utilities = FALSE; - mainw->log_fd=-2; + mainw->log_fd = -2; - mainw->last_display_ticks=0; + mainw->last_display_ticks = 0; - mainw->jack_trans_poll=FALSE; + mainw->jack_trans_poll = FALSE; - mainw->toy_alives_pgid=0; - mainw->autolives_reset_fx=FALSE; + mainw->toy_alives_pgid = 0; + mainw->autolives_reset_fx = FALSE; - mainw->aplayer_broken=FALSE; + mainw->aplayer_broken = FALSE; - mainw->com_failed=mainw->read_failed=mainw->write_failed=mainw->chdir_failed=FALSE; + mainw->com_failed = mainw->read_failed = mainw->write_failed = mainw->chdir_failed = FALSE; - mainw->read_failed_file=mainw->write_failed_file=NULL; + mainw->read_failed_file = mainw->write_failed_file = NULL; - mainw->bad_aud_file=NULL; + mainw->bad_aud_file = NULL; - mainw->render_error=LIVES_RENDER_ERROR_NONE; + mainw->render_error = LIVES_RENDER_ERROR_NONE; - mainw->is_exiting=FALSE; + mainw->is_exiting = FALSE; - mainw->add_clear_ds_button=FALSE; - mainw->add_clear_ds_adv=FALSE; - mainw->tried_ds_recover=FALSE; + mainw->add_clear_ds_button = FALSE; + mainw->add_clear_ds_adv = FALSE; + mainw->tried_ds_recover = FALSE; - mainw->foreign_visual=NULL; + mainw->foreign_visual = NULL; - mainw->pconx=NULL; - mainw->cconx=NULL; + mainw->pconx = NULL; + mainw->cconx = NULL; - cached_key=cached_mod=0; + cached_key = cached_mod = 0; - mainw->agen_key=0; - mainw->agen_needs_reinit=FALSE; - mainw->agen_samps_count=0; + mainw->agen_key = 0; + mainw->agen_needs_reinit = FALSE; + mainw->agen_samps_count = 0; - mainw->draw_blocked=FALSE; + mainw->draw_blocked = FALSE; - mainw->ce_frame_height=mainw->ce_frame_width=-1; + mainw->ce_frame_height = mainw->ce_frame_width = -1; - mainw->overflow_height=0; + mainw->overflow_height = 0; - mainw->cursor_style=LIVES_CURSOR_NORMAL; + mainw->cursor_style = LIVES_CURSOR_NORMAL; - mainw->rowstride_alignment=mainw->rowstride_alignment_hint=1; + mainw->rowstride_alignment = mainw->rowstride_alignment_hint = 1; - mainw->sepwin_minwidth=MIN_SEPWIN_WIDTH; - mainw->sepwin_minheight=PREVIEW_BOX_HT; + mainw->sepwin_minwidth = MIN_SEPWIN_WIDTH; + mainw->sepwin_minheight = PREVIEW_BOX_HT; - mainw->signal_caught=0; - mainw->signals_deferred=FALSE; + mainw->signal_caught = 0; + mainw->signals_deferred = FALSE; - mainw->ce_thumbs=FALSE; + mainw->ce_thumbs = FALSE; - mainw->n_screen_areas=SCREEN_AREA_USER_DEFINED1; - mainw->screen_areas=(lives_screen_area_t *)lives_malloc(mainw->n_screen_areas*sizeof(lives_screen_area_t)); - mainw->screen_areas[SCREEN_AREA_FOREGROUND].name=lives_strdup(_("Foreground")); - mainw->screen_areas[SCREEN_AREA_BACKGROUND].name=lives_strdup(_("Background")); + mainw->n_screen_areas = SCREEN_AREA_USER_DEFINED1; + mainw->screen_areas = (lives_screen_area_t *)lives_malloc(mainw->n_screen_areas * sizeof(lives_screen_area_t)); + mainw->screen_areas[SCREEN_AREA_FOREGROUND].name = lives_strdup(_("Foreground")); + mainw->screen_areas[SCREEN_AREA_BACKGROUND].name = lives_strdup(_("Background")); - mainw->active_sa_clips=mainw->active_sa_fx=SCREEN_AREA_FOREGROUND; + mainw->active_sa_clips = mainw->active_sa_fx = SCREEN_AREA_FOREGROUND; - mainw->file_buffers=NULL; + mainw->file_buffers = NULL; - mainw->no_recurse=FALSE; + mainw->no_recurse = FALSE; - mainw->blend_layer=NULL; + mainw->blend_layer = NULL; - mainw->ce_upd_clip=FALSE; + mainw->ce_upd_clip = FALSE; - mainw->clips_group=NULL; + mainw->clips_group = NULL; - mainw->fx_is_auto=FALSE; - mainw->gen_started_play=FALSE; + mainw->fx_is_auto = FALSE; + mainw->gen_started_play = FALSE; - mainw->audio_frame_buffer=NULL; - mainw->afbuffer_clients=0; + mainw->audio_frame_buffer = NULL; + mainw->afbuffer_clients = 0; - memset(mainw->recent_file,0,1); + memset(mainw->recent_file, 0, 1); - mainw->aud_data_written=0; + mainw->aud_data_written = 0; - mainw->rendered_fx=NULL; + mainw->rendered_fx = NULL; /////////////////////////////////////////////////// add new stuff just above here ^^ + memset(mainw->set_name, 0, 1); + mainw->clips_available = 0; - memset(mainw->set_name,0,1); - mainw->clips_available=0; - - prefs->pause_effect_during_preview=FALSE; - - if (capable->smog_version_correct&&capable->can_write_to_workdir) { + prefs->pause_effect_during_preview = FALSE; - int pb_quality=get_int_pref(PREF_PB_QUALITY); + if (capable->smog_version_correct && capable->can_write_to_workdir) { + int pb_quality = get_int_pref(PREF_PB_QUALITY); - prefs->pb_quality=PB_QUALITY_MED; - if (pb_quality==PB_QUALITY_LOW) prefs->pb_quality=PB_QUALITY_LOW; - else if (pb_quality==PB_QUALITY_HIGH) prefs->pb_quality=PB_QUALITY_HIGH; + prefs->pb_quality = PB_QUALITY_MED; + if (pb_quality == PB_QUALITY_LOW) prefs->pb_quality = PB_QUALITY_LOW; + else if (pb_quality == PB_QUALITY_HIGH) prefs->pb_quality = PB_QUALITY_HIGH; - mainw->vpp=NULL; - mainw->ext_playback=mainw->ext_keyboard=FALSE; + mainw->vpp = NULL; + mainw->ext_playback = mainw->ext_keyboard = FALSE; - get_pref(PREF_DEFAULT_IMAGE_FORMAT,buff,256); - if (!strcmp(buff,LIVES_IMAGE_TYPE_JPEG)) lives_snprintf(prefs->image_ext,16,"%s",LIVES_FILE_EXT_JPG); - else lives_snprintf(prefs->image_ext,16,"%s",buff); + get_pref(PREF_DEFAULT_IMAGE_FORMAT, buff, 256); + if (!strcmp(buff, LIVES_IMAGE_TYPE_JPEG)) lives_snprintf(prefs->image_ext, 16, "%s", LIVES_FILE_EXT_JPG); + else lives_snprintf(prefs->image_ext, 16, "%s", buff); - prefs->loop_recording=TRUE; - prefs->no_bandwidth=FALSE; - prefs->ocp=get_int_pref(PREF_OPEN_COMPRESSION_PERCENT); + prefs->loop_recording = TRUE; + prefs->no_bandwidth = FALSE; + prefs->ocp = get_int_pref(PREF_OPEN_COMPRESSION_PERCENT); // we set the theme here in case it got reset to 'none' - set_pref(PREF_GUI_THEME,prefs->theme); - lives_snprintf(future_prefs->theme,64,"%s",prefs->theme); - - prefs->stop_screensaver=get_boolean_pref(PREF_STOP_SCREENSAVER); - prefs->open_maximised=get_boolean_pref(PREF_OPEN_MAXIMISED); - future_prefs->show_tool=prefs->show_tool=get_boolean_pref(PREF_SHOW_TOOLBAR); - memset(future_prefs->vpp_name,0,64); - future_prefs->vpp_argv=NULL; - - if (prefs->gui_monitor!=0) { - int xcen=mainw->mgeom[prefs->gui_monitor-1].x+(mainw->mgeom[prefs->gui_monitor-1].width- - lives_widget_get_allocation_width(mainw->LiVES))/2; - int ycen=mainw->mgeom[prefs->gui_monitor-1].y+(mainw->mgeom[prefs->gui_monitor-1].height- - lives_widget_get_allocation_height(mainw->LiVES))/2; - lives_window_set_screen(LIVES_WINDOW(mainw->LiVES),mainw->mgeom[prefs->gui_monitor-1].screen); - lives_window_move(LIVES_WINDOW(mainw->LiVES),xcen,ycen); + set_pref(PREF_GUI_THEME, prefs->theme); + lives_snprintf(future_prefs->theme, 64, "%s", prefs->theme); + prefs->stop_screensaver = get_boolean_pref(PREF_STOP_SCREENSAVER); + prefs->open_maximised = get_boolean_pref(PREF_OPEN_MAXIMISED); + future_prefs->show_tool = prefs->show_tool = get_boolean_pref(PREF_SHOW_TOOLBAR); + memset(future_prefs->vpp_name, 0, 64); + future_prefs->vpp_argv = NULL; + + if (prefs->gui_monitor != 0) { + int xcen = mainw->mgeom[prefs->gui_monitor - 1].x + (mainw->mgeom[prefs->gui_monitor - 1].width - + lives_widget_get_allocation_width(mainw->LiVES)) / 2; + int ycen = mainw->mgeom[prefs->gui_monitor - 1].y + (mainw->mgeom[prefs->gui_monitor - 1].height - + lives_widget_get_allocation_height(mainw->LiVES)) / 2; + lives_window_set_screen(LIVES_WINDOW(mainw->LiVES), mainw->mgeom[prefs->gui_monitor - 1].screen); + lives_window_move(LIVES_WINDOW(mainw->LiVES), xcen, ycen); } - if (prefs->open_maximised&&prefs->show_gui) { + if (prefs->open_maximised && prefs->show_gui) { lives_window_maximize(LIVES_WINDOW(mainw->LiVES)); } - prefs->default_fps=get_double_pref(PREF_DEFAULT_FPS); - if (prefs->default_fps<1.) prefs->default_fps=1.; - if (prefs->default_fps>FPS_MAX) prefs->default_fps=FPS_MAX; + prefs->default_fps = get_double_pref(PREF_DEFAULT_FPS); + if (prefs->default_fps < 1.) prefs->default_fps = 1.; + if (prefs->default_fps > FPS_MAX) prefs->default_fps = FPS_MAX; - prefs->q_type=Q_SMOOTH; - prefs->bar_height=5; + prefs->q_type = Q_SMOOTH; + prefs->bar_height = 5; - prefs->event_window_show_frame_events=TRUE; - if (!mainw->foreign) prefs->crash_recovery=TRUE; - else prefs->crash_recovery=FALSE; + prefs->event_window_show_frame_events = TRUE; + if (!mainw->foreign) prefs->crash_recovery = TRUE; + else prefs->crash_recovery = FALSE; - prefs->acodec_list=NULL; + prefs->acodec_list = NULL; - prefs->render_audio=TRUE; - prefs->normalise_audio=TRUE; + prefs->render_audio = TRUE; + prefs->normalise_audio = TRUE; - prefs->num_rtaudiobufs=4; + prefs->num_rtaudiobufs = 4; - prefs->safe_symlinks=FALSE; // set to TRUE for dynebolic and other live CDs + prefs->safe_symlinks = FALSE; // set to TRUE for dynebolic and other live CDs - prefs->ce_maxspect=get_boolean_pref(PREF_CE_MAXSPECT); + prefs->ce_maxspect = get_boolean_pref(PREF_CE_MAXSPECT); - prefs->rec_stop_gb=get_int_pref(PREF_REC_STOP_GB); + prefs->rec_stop_gb = get_int_pref(PREF_REC_STOP_GB); - if (prefs->max_modes_per_key==0) prefs->max_modes_per_key=8; + if (prefs->max_modes_per_key == 0) prefs->max_modes_per_key = 8; - get_pref(PREF_DEF_AUTOTRANS,prefs->def_autotrans,256); + get_pref(PREF_DEF_AUTOTRANS, prefs->def_autotrans, 256); - prefs->nfx_threads=get_int_pref(PREF_NFX_THREADS); - if (prefs->nfx_threads==0) prefs->nfx_threads=capable->ncpus; - future_prefs->nfx_threads=prefs->nfx_threads; + prefs->nfx_threads = get_int_pref(PREF_NFX_THREADS); + if (prefs->nfx_threads == 0) prefs->nfx_threads = capable->ncpus; + future_prefs->nfx_threads = prefs->nfx_threads; - prefs->stream_audio_out=get_boolean_pref(PREF_STREAM_AUDIO_OUT); + prefs->stream_audio_out = get_boolean_pref(PREF_STREAM_AUDIO_OUT); - prefs->unstable_fx=FALSE; + prefs->unstable_fx = FALSE; - prefs->disabled_decoders=get_list_pref(PREF_DISABLED_DECODERS); + prefs->disabled_decoders = get_list_pref(PREF_DISABLED_DECODERS); - prefs->enc_letterbox=FALSE; + prefs->enc_letterbox = FALSE; - get_pref(PREF_DS_WARN_LEVEL,buff,256); - if (!strlen(buff)) prefs->ds_warn_level=DEF_DS_WARN_LEVEL; - else prefs->ds_warn_level=strtol(buff,NULL,10); + get_pref(PREF_DS_WARN_LEVEL, buff, 256); + if (!strlen(buff)) prefs->ds_warn_level = DEF_DS_WARN_LEVEL; + else prefs->ds_warn_level = strtol(buff, NULL, 10); - mainw->next_ds_warn_level=prefs->ds_warn_level; + mainw->next_ds_warn_level = prefs->ds_warn_level; - get_pref(PREF_DS_CRIT_LEVEL,buff,256); - if (!strlen(buff)) prefs->ds_crit_level=DEF_DS_CRIT_LEVEL; - else prefs->ds_crit_level=strtol(buff,NULL,10); + get_pref(PREF_DS_CRIT_LEVEL, buff, 256); + if (!strlen(buff)) prefs->ds_crit_level = DEF_DS_CRIT_LEVEL; + else prefs->ds_crit_level = strtol(buff, NULL, 10); - prefs->clear_disk_opts=get_int_pref(PREF_CLEAR_DISK_OPTS); + prefs->clear_disk_opts = get_int_pref(PREF_CLEAR_DISK_OPTS); - prefs->force_system_clock=FALSE; ///< prefer soundcard timing + prefs->force_system_clock = FALSE; ///< prefer soundcard timing - prefs->alpha_post=FALSE; ///< allow pre-multiplied alpha internally + prefs->alpha_post = FALSE; ///< allow pre-multiplied alpha internally - prefs->auto_trim_audio=get_boolean_pref(PREF_AUTO_TRIM_PAD_AUDIO); + prefs->auto_trim_audio = get_boolean_pref(PREF_AUTO_TRIM_PAD_AUDIO); - prefs->force64bit=FALSE; + prefs->force64bit = FALSE; #if LIVES_HAS_GRID_WIDGET - prefs->ce_thumb_mode=get_boolean_pref(PREF_CE_THUMB_MODE); + prefs->ce_thumb_mode = get_boolean_pref(PREF_CE_THUMB_MODE); #else - prefs->ce_thumb_mode=FALSE; + prefs->ce_thumb_mode = FALSE; #endif - prefs->show_button_images=get_boolean_pref(PREF_SHOW_BUTTON_ICONS); + prefs->show_button_images = get_boolean_pref(PREF_SHOW_BUTTON_ICONS); - prefs->push_audio_to_gens=TRUE; + prefs->push_audio_to_gens = TRUE; - prefs->perm_audio_reader=TRUE; + prefs->perm_audio_reader = TRUE; - prefs->max_disp_vtracks=get_int_pref(PREF_MAX_DISP_VTRACKS); + prefs->max_disp_vtracks = get_int_pref(PREF_MAX_DISP_VTRACKS); - prefs->mt_load_fuzzy=FALSE; + prefs->mt_load_fuzzy = FALSE; ////////////////////////////////////////////////////////////////// weed_memory_init(); if (!mainw->foreign) { - - randres=-1; + randres = -1; // try to get randomness from /dev/urandom - randfd=lives_open2("/dev/urandom",O_RDONLY); + randfd = lives_open2("/dev/urandom", O_RDONLY); - if (randfd>-1) { - randres=read(randfd,&rseed,sizint); + if (randfd > -1) { + randres = read(randfd, &rseed, sizint); close(randfd); } - if (randres!=sizint) { - gettimeofday(&tv,NULL); - rseed=tv.tv_sec+tv.tv_usec; + if (randres != sizint) { + gettimeofday(&tv, NULL); + rseed = tv.tv_sec + tv.tv_usec; } lives_srandom(rseed); - randres=-1; + randres = -1; - randfd=lives_open2("/dev/urandom",O_RDONLY); + randfd = lives_open2("/dev/urandom", O_RDONLY); - if (randfd>-1) { - randres=read(randfd,&rseed,sizint); + if (randfd > -1) { + randres = read(randfd, &rseed, sizint); close(randfd); } - if (randres!=sizint) { - gettimeofday(&tv,NULL); - rseed=tv.tv_sec+tv.tv_usec; + if (randres != sizint) { + gettimeofday(&tv, NULL); + rseed = tv.tv_sec + tv.tv_usec; } fastsrand(rseed); - prefs->midi_check_rate=get_int_pref(PREF_MIDI_CHECK_RATE); - if (prefs->midi_check_rate==0) prefs->midi_check_rate=DEF_MIDI_CHECK_RATE; + prefs->midi_check_rate = get_int_pref(PREF_MIDI_CHECK_RATE); + if (prefs->midi_check_rate == 0) prefs->midi_check_rate = DEF_MIDI_CHECK_RATE; - if (prefs->midi_check_rate<1) prefs->midi_check_rate=1; + if (prefs->midi_check_rate < 1) prefs->midi_check_rate = 1; - prefs->midi_rpt=get_int_pref(PREF_MIDI_RPT); - if (prefs->midi_rpt==0) prefs->midi_rpt=DEF_MIDI_RPT; + prefs->midi_rpt = get_int_pref(PREF_MIDI_RPT); + if (prefs->midi_rpt == 0) prefs->midi_rpt = DEF_MIDI_RPT; - prefs->mouse_scroll_clips=get_boolean_pref(PREF_MOUSE_SCROLL_CLIPS); + prefs->mouse_scroll_clips = get_boolean_pref(PREF_MOUSE_SCROLL_CLIPS); - prefs->mt_auto_back=get_int_pref(PREF_MT_AUTO_BACK); + prefs->mt_auto_back = get_int_pref(PREF_MT_AUTO_BACK); - get_pref(PREF_VID_PLAYBACK_PLUGIN,buff,256); - if (strlen(buff)&&strcmp(buff,"(null)")&&strcmp(buff,"none")) { - mainw->vpp=open_vid_playback_plugin(buff,TRUE); + get_pref(PREF_VID_PLAYBACK_PLUGIN, buff, 256); + if (strlen(buff) && strcmp(buff, "(null)") && strcmp(buff, "none")) { + mainw->vpp = open_vid_playback_plugin(buff, TRUE); } - get_pref(PREF_VIDEO_OPEN_COMMAND,prefs->video_open_command,PATH_MAX*2); + get_pref(PREF_VIDEO_OPEN_COMMAND, prefs->video_open_command, PATH_MAX * 2); if (!ign_opts->ign_aplayer) { - get_pref(PREF_AUDIO_PLAY_COMMAND,prefs->audio_play_command,PATH_MAX*2); + get_pref(PREF_AUDIO_PLAY_COMMAND, prefs->audio_play_command, PATH_MAX * 2); } - memset(mppath,0,1); + memset(mppath, 0, 1); - if (!strlen(prefs->video_open_command)&&capable->has_mplayer) { - get_location("mplayer",mppath,PATH_MAX); + if (!strlen(prefs->video_open_command) && capable->has_mplayer) { + get_location("mplayer", mppath, PATH_MAX); } - if (!strlen(prefs->video_open_command)&&capable->has_mplayer2) { - get_location("mplayer2",mppath,PATH_MAX); + if (!strlen(prefs->video_open_command) && capable->has_mplayer2) { + get_location("mplayer2", mppath, PATH_MAX); } - if (!strlen(prefs->video_open_command)&&capable->has_mpv) { - get_location("mpv",mppath,PATH_MAX); + if (!strlen(prefs->video_open_command) && capable->has_mpv) { + get_location("mpv", mppath, PATH_MAX); } if (strlen(mppath)) { - lives_snprintf(prefs->video_open_command,PATH_MAX+2,"\"%s\"",mppath); - set_pref(PREF_VIDEO_OPEN_COMMAND,prefs->video_open_command); + lives_snprintf(prefs->video_open_command, PATH_MAX + 2, "\"%s\"", mppath); + set_pref(PREF_VIDEO_OPEN_COMMAND, prefs->video_open_command); } - prefs->warn_file_size=get_int_pref(PREF_WARN_FILE_SIZE); - if (prefs->warn_file_size==0) { - prefs->warn_file_size=WARN_FILE_SIZE; + prefs->warn_file_size = get_int_pref(PREF_WARN_FILE_SIZE); + if (prefs->warn_file_size == 0) { + prefs->warn_file_size = WARN_FILE_SIZE; } - prefs->rte_keys_virtual=get_int_pref(PREF_RTE_KEYS_VIRTUAL); - if (prefs->rte_keys_virtual<FX_KEYS_PHYSICAL) prefs->rte_keys_virtual=FX_KEYS_PHYSICAL; - if (prefs->rte_keys_virtual>FX_KEYS_MAX_VIRTUAL) prefs->rte_keys_virtual=FX_KEYS_MAX_VIRTUAL; + prefs->rte_keys_virtual = get_int_pref(PREF_RTE_KEYS_VIRTUAL); + if (prefs->rte_keys_virtual < FX_KEYS_PHYSICAL) prefs->rte_keys_virtual = FX_KEYS_PHYSICAL; + if (prefs->rte_keys_virtual > FX_KEYS_MAX_VIRTUAL) prefs->rte_keys_virtual = FX_KEYS_MAX_VIRTUAL; - prefs->show_rdet=TRUE; + prefs->show_rdet = TRUE; - prefs->move_effects=TRUE; + prefs->move_effects = TRUE; - prefs->mt_undo_buf=get_int_pref(PREF_MT_UNDO_BUF); + prefs->mt_undo_buf = get_int_pref(PREF_MT_UNDO_BUF); - prefs->mt_enter_prompt=get_boolean_pref(PREF_MT_ENTER_PROMPT); + prefs->mt_enter_prompt = get_boolean_pref(PREF_MT_ENTER_PROMPT); - prefs->mt_def_width=get_int_pref(PREF_MT_DEF_WIDTH); - prefs->mt_def_height=get_int_pref(PREF_MT_DEF_HEIGHT); - prefs->mt_def_fps=get_double_pref(PREF_MT_DEF_FPS); - prefs->mt_def_arate=get_int_pref(PREF_MT_DEF_ARATE); - prefs->mt_def_achans=get_int_pref(PREF_MT_DEF_ACHANS); - prefs->mt_def_asamps=get_int_pref(PREF_MT_DEF_ASAMPS); - prefs->mt_def_signed_endian=get_int_pref(PREF_MT_DEF_SIGNED_ENDIAN); + prefs->mt_def_width = get_int_pref(PREF_MT_DEF_WIDTH); + prefs->mt_def_height = get_int_pref(PREF_MT_DEF_HEIGHT); + prefs->mt_def_fps = get_double_pref(PREF_MT_DEF_FPS); + prefs->mt_def_arate = get_int_pref(PREF_MT_DEF_ARATE); + prefs->mt_def_achans = get_int_pref(PREF_MT_DEF_ACHANS); + prefs->mt_def_asamps = get_int_pref(PREF_MT_DEF_ASAMPS); + prefs->mt_def_signed_endian = get_int_pref(PREF_MT_DEF_SIGNED_ENDIAN); - if (prefs->mt_def_width==0) prefs->mt_def_width=DEFAULT_FRAME_HSIZE; - if (prefs->mt_def_height==0) prefs->mt_def_height=DEFAULT_FRAME_VSIZE; - if (prefs->mt_def_fps==0.) prefs->mt_def_fps=prefs->default_fps; - if (prefs->mt_def_arate==0) prefs->mt_def_arate=DEFAULT_AUDIO_RATE; - if (prefs->mt_def_asamps==0) prefs->mt_def_asamps=DEFAULT_AUDIO_SAMPS; + if (prefs->mt_def_width == 0) prefs->mt_def_width = DEFAULT_FRAME_HSIZE; + if (prefs->mt_def_height == 0) prefs->mt_def_height = DEFAULT_FRAME_VSIZE; + if (prefs->mt_def_fps == 0.) prefs->mt_def_fps = prefs->default_fps; + if (prefs->mt_def_arate == 0) prefs->mt_def_arate = DEFAULT_AUDIO_RATE; + if (prefs->mt_def_asamps == 0) prefs->mt_def_asamps = DEFAULT_AUDIO_SAMPS; - prefs->mt_exit_render=get_boolean_pref(PREF_MT_EXIT_RENDER); - prefs->render_prompt=get_boolean_pref(PREF_RENDER_PROMPT); + prefs->mt_exit_render = get_boolean_pref(PREF_MT_EXIT_RENDER); + prefs->render_prompt = get_boolean_pref(PREF_RENDER_PROMPT); - prefs->mt_pertrack_audio=get_boolean_pref(PREF_MT_PERTRACK_AUDIO); - prefs->mt_backaudio=get_int_pref(PREF_MT_BACKAUDIO); + prefs->mt_pertrack_audio = get_boolean_pref(PREF_MT_PERTRACK_AUDIO); + prefs->mt_backaudio = get_int_pref(PREF_MT_BACKAUDIO); - prefs->instant_open=get_boolean_pref(PREF_INSTANT_OPEN); - prefs->auto_deint=get_boolean_pref(PREF_AUTO_DEINTERLACE); - prefs->auto_nobord=get_boolean_pref(PREF_AUTO_CUT_BORDERS); + prefs->instant_open = get_boolean_pref(PREF_INSTANT_OPEN); + prefs->auto_deint = get_boolean_pref(PREF_AUTO_DEINTERLACE); + prefs->auto_nobord = get_boolean_pref(PREF_AUTO_CUT_BORDERS); if (!ign_opts->ign_clipset) { - get_pref(PREF_AR_CLIPSET,prefs->ar_clipset_name,128); - if (strlen(prefs->ar_clipset_name)) prefs->ar_clipset=TRUE; - else prefs->ar_clipset=FALSE; + get_pref(PREF_AR_CLIPSET, prefs->ar_clipset_name, 128); + if (strlen(prefs->ar_clipset_name)) prefs->ar_clipset = TRUE; + else prefs->ar_clipset = FALSE; } - get_pref(PREF_AR_LAYOUT,prefs->ar_layout_name,PATH_MAX); - if (strlen(prefs->ar_layout_name)) prefs->ar_layout=TRUE; - else prefs->ar_layout=FALSE; + get_pref(PREF_AR_LAYOUT, prefs->ar_layout_name, PATH_MAX); + if (strlen(prefs->ar_layout_name)) prefs->ar_layout = TRUE; + else prefs->ar_layout = FALSE; - prefs->rec_desktop_audio=get_boolean_pref(PREF_REC_DESKTOP_AUDIO); + prefs->rec_desktop_audio = get_boolean_pref(PREF_REC_DESKTOP_AUDIO); - future_prefs->startup_interface=get_int_pref(PREF_STARTUP_INTERFACE); + future_prefs->startup_interface = get_int_pref(PREF_STARTUP_INTERFACE); if (!ign_opts->ign_stmode) { - prefs->startup_interface=future_prefs->startup_interface; + prefs->startup_interface = future_prefs->startup_interface; } // scan for encoder plugins #ifndef IS_MINGW - if ((encoders=get_plugin_list(PLUGIN_ENCODERS,FALSE,NULL,NULL))!=NULL) { + if ((encoders = get_plugin_list(PLUGIN_ENCODERS, FALSE, NULL, NULL)) != NULL) { #else - if ((encoders=get_plugin_list(PLUGIN_ENCODERS,TRUE,NULL,NULL))!=NULL) { + if ((encoders = get_plugin_list(PLUGIN_ENCODERS, TRUE, NULL, NULL)) != NULL) { #endif - capable->has_encoder_plugins=TRUE; + capable->has_encoder_plugins = TRUE; lives_list_free_all(&encoders); } - memset(prefs->encoder.of_name,0,1); + memset(prefs->encoder.of_name, 0, 1); - if ((prefs->startup_phase==1||prefs->startup_phase==-1)&&capable->has_encoder_plugins&&capable->has_python) { - LiVESList *ofmt_all=NULL; + if ((prefs->startup_phase == 1 || prefs->startup_phase == -1) && capable->has_encoder_plugins && capable->has_python) { + LiVESList *ofmt_all = NULL; char **array; - if (capable->python_version>=3000000) - lives_snprintf(prefs->encoder.name,64,"%s",MULTI_ENCODER3_NAME); + if (capable->python_version >= 3000000) + lives_snprintf(prefs->encoder.name, 64, "%s", MULTI_ENCODER3_NAME); else - lives_snprintf(prefs->encoder.name,64,"%s",MULTI_ENCODER_NAME); + lives_snprintf(prefs->encoder.name, 64, "%s", MULTI_ENCODER_NAME); // need to change the output format - if ((ofmt_all=plugin_request_by_line(PLUGIN_ENCODERS,prefs->encoder.name,"get_formats"))!=NULL) { + if ((ofmt_all = plugin_request_by_line(PLUGIN_ENCODERS, prefs->encoder.name, "get_formats")) != NULL) { + set_pref(PREF_ENCODER, prefs->encoder.name); - set_pref(PREF_ENCODER,prefs->encoder.name); + for (i = 0; i < lives_list_length(ofmt_all); i++) { + if (get_token_count((char *)lives_list_nth_data(ofmt_all, i), '|') > 2) { + array = lives_strsplit((char *)lives_list_nth_data(ofmt_all, i), "|", -1); - for (i=0; i<lives_list_length(ofmt_all); i++) { - if (get_token_count((char *)lives_list_nth_data(ofmt_all,i),'|')>2) { - array=lives_strsplit((char *)lives_list_nth_data(ofmt_all,i),"|",-1); - - if (!strcmp(array[0],HI_THEORA_FORMAT)) { - lives_snprintf(prefs->encoder.of_name,64,"%s",array[0]); + if (!strcmp(array[0], HI_THEORA_FORMAT)) { + lives_snprintf(prefs->encoder.of_name, 64, "%s", array[0]); lives_strfreev(array); break; } - if (!strcmp(array[0],HI_MPEG_FORMAT)) { - lives_snprintf(prefs->encoder.of_name,64,"%s",array[0]); - } else if (!strcmp(array[0],HI_H_MKV_FORMAT)&&strcmp(prefs->encoder.of_name,HI_MPEG_FORMAT)) { - lives_snprintf(prefs->encoder.of_name,64,"%s",array[0]); - } else if (!strcmp(array[0],HI_H_AVI_FORMAT)&&strcmp(prefs->encoder.of_name,HI_MPEG_FORMAT)&& - strcmp(prefs->encoder.of_name,HI_H_MKV_FORMAT)) { - lives_snprintf(prefs->encoder.of_name,64,"%s",array[0]); + if (!strcmp(array[0], HI_MPEG_FORMAT)) { + lives_snprintf(prefs->encoder.of_name, 64, "%s", array[0]); + } else if (!strcmp(array[0], HI_H_MKV_FORMAT) && strcmp(prefs->encoder.of_name, HI_MPEG_FORMAT)) { + lives_snprintf(prefs->encoder.of_name, 64, "%s", array[0]); + } else if (!strcmp(array[0], HI_H_AVI_FORMAT) && strcmp(prefs->encoder.of_name, HI_MPEG_FORMAT) && + strcmp(prefs->encoder.of_name, HI_H_MKV_FORMAT)) { + lives_snprintf(prefs->encoder.of_name, 64, "%s", array[0]); } else if (!strlen(prefs->encoder.of_name)) { - lives_snprintf(prefs->encoder.of_name,64,"%s",array[0]); + lives_snprintf(prefs->encoder.of_name, 64, "%s", array[0]); } lives_strfreev(array); } } - set_pref(PREF_OUTPUT_TYPE,prefs->encoder.of_name); + set_pref(PREF_OUTPUT_TYPE, prefs->encoder.of_name); lives_list_free_all(&ofmt_all); } } if (!strlen(prefs->encoder.of_name)) { - get_pref(PREF_ENCODER,prefs->encoder.name,64); - get_pref(PREF_OUTPUT_TYPE,prefs->encoder.of_name,64); + get_pref(PREF_ENCODER, prefs->encoder.name, 64); + get_pref(PREF_OUTPUT_TYPE, prefs->encoder.of_name, 64); } - future_prefs->encoder.audio_codec=prefs->encoder.audio_codec=get_int_pref(PREF_ENCODER_ACODEC); - prefs->encoder.capabilities=0; - prefs->encoder.of_allowed_acodecs=AUDIO_CODEC_UNKNOWN; + future_prefs->encoder.audio_codec = prefs->encoder.audio_codec = get_int_pref(PREF_ENCODER_ACODEC); + prefs->encoder.capabilities = 0; + prefs->encoder.of_allowed_acodecs = AUDIO_CODEC_UNKNOWN; - lives_snprintf(future_prefs->encoder.name,64,"%s",prefs->encoder.name); + lives_snprintf(future_prefs->encoder.name, 64, "%s", prefs->encoder.name); - memset(future_prefs->encoder.of_restrict,0,1); - memset(prefs->encoder.of_restrict,0,1); + memset(future_prefs->encoder.of_restrict, 0, 1); + memset(prefs->encoder.of_restrict, 0, 1); if (capable->has_encoder_plugins) { char **array; int numtok; - LiVESList *ofmt_all,*dummy_list; + LiVESList *ofmt_all, *dummy_list; - dummy_list=plugin_request("encoders",prefs->encoder.name,"init"); + dummy_list = plugin_request("encoders", prefs->encoder.name, "init"); lives_list_free_all(&dummy_list); - if (!((encoder_capabilities=plugin_request(PLUGIN_ENCODERS,prefs->encoder.name,"get_capabilities"))==NULL)) { - prefs->encoder.capabilities=atoi((char *)lives_list_nth_data(encoder_capabilities,0)); + if (!((encoder_capabilities = plugin_request(PLUGIN_ENCODERS, prefs->encoder.name, "get_capabilities")) == NULL)) { + prefs->encoder.capabilities = atoi((char *)lives_list_nth_data(encoder_capabilities, 0)); lives_list_free_all(&encoder_capabilities); - if ((ofmt_all=plugin_request_by_line(PLUGIN_ENCODERS,prefs->encoder.name,"get_formats"))!=NULL) { + if ((ofmt_all = plugin_request_by_line(PLUGIN_ENCODERS, prefs->encoder.name, "get_formats")) != NULL) { // get any restrictions for the current format - for (i=0; i<lives_list_length(ofmt_all); i++) { - if ((numtok=get_token_count((char *)lives_list_nth_data(ofmt_all,i),'|'))>2) { - array=lives_strsplit((char *)lives_list_nth_data(ofmt_all,i),"|",-1); - if (!strcmp(array[0],prefs->encoder.of_name)) { - if (numtok>1) { - lives_snprintf(prefs->encoder.of_desc,128,"%s",array[1]); + for (i = 0; i < lives_list_length(ofmt_all); i++) { + if ((numtok = get_token_count((char *)lives_list_nth_data(ofmt_all, i), '|')) > 2) { + array = lives_strsplit((char *)lives_list_nth_data(ofmt_all, i), "|", -1); + if (!strcmp(array[0], prefs->encoder.of_name)) { + if (numtok > 1) { + lives_snprintf(prefs->encoder.of_desc, 128, "%s", array[1]); } lives_strfreev(array); break; @@ -1511,144 +1478,144 @@ } } - get_pref_utf8(PREF_VID_LOAD_DIR,prefs->def_vid_load_dir,PATH_MAX); + get_pref_utf8(PREF_VID_LOAD_DIR, prefs->def_vid_load_dir, PATH_MAX); if (!strlen(prefs->def_vid_load_dir)) { #ifdef USE_GLIB -#if GLIB_CHECK_VERSION(2,14,0) - lives_snprintf(prefs->def_vid_load_dir,PATH_MAX,"%s",g_get_user_special_dir(G_USER_DIRECTORY_VIDEOS)); +#if GLIB_CHECK_VERSION(2, 14, 0) + lives_snprintf(prefs->def_vid_load_dir, PATH_MAX, "%s", g_get_user_special_dir(G_USER_DIRECTORY_VIDEOS)); #else - lives_snprintf(prefs->def_vid_load_dir,PATH_MAX,"%s",capable->home_dir); + lives_snprintf(prefs->def_vid_load_dir, PATH_MAX, "%s", capable->home_dir); #endif #endif - set_pref_utf8(PREF_VID_LOAD_DIR,prefs->def_vid_load_dir); + set_pref_utf8(PREF_VID_LOAD_DIR, prefs->def_vid_load_dir); } - lives_snprintf(mainw->vid_load_dir,PATH_MAX,"%s",prefs->def_vid_load_dir); + lives_snprintf(mainw->vid_load_dir, PATH_MAX, "%s", prefs->def_vid_load_dir); ensure_isdir(mainw->vid_load_dir); - get_pref_utf8(PREF_VID_SAVE_DIR,prefs->def_vid_save_dir,PATH_MAX); + get_pref_utf8(PREF_VID_SAVE_DIR, prefs->def_vid_save_dir, PATH_MAX); if (!strlen(prefs->def_vid_save_dir)) { #ifdef USE_GLIB -#if GLIB_CHECK_VERSION(2,14,0) - lives_snprintf(prefs->def_vid_save_dir,PATH_MAX,"%s",g_get_user_special_dir(G_USER_DIRECTORY_VIDEOS)); +#if GLIB_CHECK_VERSION(2, 14, 0) + lives_snprintf(prefs->def_vid_save_dir, PATH_MAX, "%s", g_get_user_special_dir(G_USER_DIRECTORY_VIDEOS)); #else - lives_snprintf(prefs->def_vid_save_dir,PATH_MAX,"%s",capable->home_dir); + lives_snprintf(prefs->def_vid_save_dir, PATH_MAX, "%s", capable->home_dir); #endif #endif - set_pref_utf8(PREF_VID_SAVE_DIR,prefs->def_vid_save_dir); + set_pref_utf8(PREF_VID_SAVE_DIR, prefs->def_vid_save_dir); } - lives_snprintf(mainw->vid_save_dir,PATH_MAX,"%s",prefs->def_vid_save_dir); + lives_snprintf(mainw->vid_save_dir, PATH_MAX, "%s", prefs->def_vid_save_dir); ensure_isdir(mainw->vid_save_dir); - lives_snprintf(mainw->vid_dl_dir,PATH_MAX,"%s",mainw->vid_save_dir); + lives_snprintf(mainw->vid_dl_dir, PATH_MAX, "%s", mainw->vid_save_dir); - get_pref_utf8(PREF_AUDIO_DIR,prefs->def_audio_dir,PATH_MAX); + get_pref_utf8(PREF_AUDIO_DIR, prefs->def_audio_dir, PATH_MAX); if (!strlen(prefs->def_audio_dir)) { #ifdef USE_GLIB -#if GLIB_CHECK_VERSION(2,14,0) - lives_snprintf(prefs->def_audio_dir,PATH_MAX,"%s",g_get_user_special_dir(G_USER_DIRECTORY_MUSIC)); +#if GLIB_CHECK_VERSION(2, 14, 0) + lives_snprintf(prefs->def_audio_dir, PATH_MAX, "%s", g_get_user_special_dir(G_USER_DIRECTORY_MUSIC)); #else - lives_snprintf(prefs->def_audio_dir,PATH_MAX,"%s",capable->home_dir); + lives_snprintf(prefs->def_audio_dir, PATH_MAX, "%s", capable->home_dir); #endif #endif - set_pref_utf8(PREF_AUDIO_DIR,prefs->def_audio_dir); + set_pref_utf8(PREF_AUDIO_DIR, prefs->def_audio_dir); } - lives_snprintf(mainw->audio_dir,PATH_MAX,"%s",prefs->def_audio_dir); + lives_snprintf(mainw->audio_dir, PATH_MAX, "%s", prefs->def_audio_dir); ensure_isdir(mainw->audio_dir); - get_pref_utf8(PREF_IMAGE_DIR,prefs->def_image_dir,PATH_MAX); + get_pref_utf8(PREF_IMAGE_DIR, prefs->def_image_dir, PATH_MAX); if (!strlen(prefs->def_image_dir)) { #ifdef USE_GLIB -#if GLIB_CHECK_VERSION(2,14,0) - lives_snprintf(prefs->def_image_dir,PATH_MAX,"%s",g_get_user_special_dir(G_USER_DIRECTORY_PICTURES)); +#if GLIB_CHECK_VERSION(2, 14, 0) + lives_snprintf(prefs->def_image_dir, PATH_MAX, "%s", g_get_user_special_dir(G_USER_DIRECTORY_PICTURES)); #else - lives_snprintf(prefs->def_image_dir,PATH_MAX,"%s",capable->home_dir); + lives_snprintf(prefs->def_image_dir, PATH_MAX, "%s", capable->home_dir); #endif #endif - set_pref_utf8(PREF_IMAGE_DIR,prefs->def_image_dir); + set_pref_utf8(PREF_IMAGE_DIR, prefs->def_image_dir); } - lives_snprintf(mainw->image_dir,PATH_MAX,"%s",prefs->def_image_dir); + lives_snprintf(mainw->image_dir, PATH_MAX, "%s", prefs->def_image_dir); ensure_isdir(mainw->image_dir); - get_pref_utf8(PREF_PROJ_DIR,prefs->def_proj_dir,PATH_MAX); + get_pref_utf8(PREF_PROJ_DIR, prefs->def_proj_dir, PATH_MAX); if (!strlen(prefs->def_proj_dir)) { - lives_snprintf(prefs->def_proj_dir,PATH_MAX,"%s",capable->home_dir); - set_pref_utf8(PREF_PROJ_DIR,prefs->def_proj_dir); + lives_snprintf(prefs->def_proj_dir, PATH_MAX, "%s", capable->home_dir); + set_pref_utf8(PREF_PROJ_DIR, prefs->def_proj_dir); } - lives_snprintf(mainw->proj_load_dir,PATH_MAX,"%s",prefs->def_proj_dir); + lives_snprintf(mainw->proj_load_dir, PATH_MAX, "%s", prefs->def_proj_dir); ensure_isdir(mainw->proj_load_dir); - lives_snprintf(mainw->proj_save_dir,PATH_MAX,"%s",mainw->proj_load_dir); + lives_snprintf(mainw->proj_save_dir, PATH_MAX, "%s", mainw->proj_load_dir); - prefs->show_player_stats=get_boolean_pref(PREF_SHOW_PLAYER_STATS); + prefs->show_player_stats = get_boolean_pref(PREF_SHOW_PLAYER_STATS); - prefs->dl_bandwidth=get_int_pref(PREF_DL_BANDWIDTH_K); - prefs->fileselmax=get_boolean_pref(PREF_FILESEL_MAXIMISED); + prefs->dl_bandwidth = get_int_pref(PREF_DL_BANDWIDTH_K); + prefs->fileselmax = get_boolean_pref(PREF_FILESEL_MAXIMISED); - prefs->midisynch=get_boolean_pref(PREF_MIDISYNCH); - if (prefs->midisynch&&!capable->has_midistartstop) { - set_boolean_pref(PREF_MIDISYNCH,FALSE); - prefs->midisynch=FALSE; + prefs->midisynch = get_boolean_pref(PREF_MIDISYNCH); + if (prefs->midisynch && !capable->has_midistartstop) { + set_boolean_pref(PREF_MIDISYNCH, FALSE); + prefs->midisynch = FALSE; } - - prefs->discard_tv=FALSE; + prefs->discard_tv = FALSE; // conserve disk space ? - prefs->conserve_space=get_boolean_pref(PREF_CONSERVE_SPACE); - prefs->ins_resample=get_boolean_pref(PREF_INSERT_RESAMPLE); + prefs->conserve_space = get_boolean_pref(PREF_CONSERVE_SPACE); + prefs->ins_resample = get_boolean_pref(PREF_INSERT_RESAMPLE); // need better control of audio channels first - prefs->pause_during_pb=FALSE; + prefs->pause_during_pb = FALSE; // should we always use the last directory ? // TODO - add to GUI - prefs->save_directories=get_boolean_pref(PREF_SAVE_DIRECTORIES); - prefs->antialias=get_boolean_pref(PREF_ANTIALIAS); + prefs->save_directories = get_boolean_pref(PREF_SAVE_DIRECTORIES); + prefs->antialias = get_boolean_pref(PREF_ANTIALIAS); - prefs->concat_images=get_boolean_pref(PREF_CONCAT_IMAGES); + prefs->concat_images = get_boolean_pref(PREF_CONCAT_IMAGES); - prefs->safer_preview=TRUE; + prefs->safer_preview = TRUE; - prefs->fxdefsfile=NULL; - prefs->fxsizesfile=NULL; - - needs_free=FALSE; - weed_plugin_path=getenv("WEED_PLUGIN_PATH"); - if (weed_plugin_path==NULL) { - get_pref(PREF_WEED_PLUGIN_PATH,prefs->weed_plugin_path,PATH_MAX); - if (strlen(prefs->weed_plugin_path)==0) weed_plugin_path=lives_build_filename(prefs->lib_dir,PLUGIN_EXEC_DIR,PLUGIN_WEED_FX_BUILTIN,NULL); - else weed_plugin_path=lives_strdup(prefs->weed_plugin_path); - lives_setenv("WEED_PLUGIN_PATH",weed_plugin_path); - needs_free=TRUE; + prefs->fxdefsfile = NULL; + prefs->fxsizesfile = NULL; + + needs_free = FALSE; + weed_plugin_path = getenv("WEED_PLUGIN_PATH"); + if (weed_plugin_path == NULL) { + get_pref(PREF_WEED_PLUGIN_PATH, prefs->weed_plugin_path, PATH_MAX); + if (strlen(prefs->weed_plugin_path) == 0) weed_plugin_path = lives_build_filename(prefs->lib_dir, PLUGIN_EXEC_DIR, PLUGIN_WEED_FX_BUILTIN, + NULL); + else weed_plugin_path = lives_strdup(prefs->weed_plugin_path); + lives_setenv("WEED_PLUGIN_PATH", weed_plugin_path); + needs_free = TRUE; } - lives_snprintf(prefs->weed_plugin_path,PATH_MAX,"%s",weed_plugin_path); + lives_snprintf(prefs->weed_plugin_path, PATH_MAX, "%s", weed_plugin_path); if (needs_free) lives_free(weed_plugin_path); - needs_free=FALSE; - frei0r_path=getenv("FREI0R_PATH"); - if (frei0r_path==NULL) { - get_pref(PREF_FREI0R_PATH,prefs->frei0r_path,PATH_MAX); - if (strlen(prefs->frei0r_path)==0) frei0r_path=lives_strdup_printf("/usr/lib/frei0r-1:/usr/local/lib/frei0r-1:%s/frei0r-1", + needs_free = FALSE; + frei0r_path = getenv("FREI0R_PATH"); + if (frei0r_path == NULL) { + get_pref(PREF_FREI0R_PATH, prefs->frei0r_path, PATH_MAX); + if (strlen(prefs->frei0r_path) == 0) frei0r_path = lives_strdup_printf("/usr/lib/frei0r-1:/usr/local/lib/frei0r-1:%s/frei0r-1", capable->home_dir); - else frei0r_path=lives_strdup(prefs->frei0r_path); - lives_setenv("FREI0R_PATH",frei0r_path); - needs_free=TRUE; + else frei0r_path = lives_strdup(prefs->frei0r_path); + lives_setenv("FREI0R_PATH", frei0r_path); + needs_free = TRUE; } - lives_snprintf(prefs->frei0r_path,PATH_MAX,"%s",frei0r_path); + lives_snprintf(prefs->frei0r_path, PATH_MAX, "%s", frei0r_path); if (needs_free) lives_free(frei0r_path); - needs_free=FALSE; - ladspa_path=getenv("LADSPA_PATH"); - if (ladspa_path==NULL||strlen(ladspa_path)==0) { - get_pref(PREF_LADSPA_PATH,prefs->ladspa_path,PATH_MAX); - if (strlen(prefs->ladspa_path)==0) ladspa_path=lives_build_filename(prefs->lib_dir,"ladspa",NULL); - else ladspa_path=lives_strdup(prefs->ladspa_path); - lives_setenv("LADSPA_PATH",ladspa_path); - needs_free=TRUE; + needs_free = FALSE; + ladspa_path = getenv("LADSPA_PATH"); + if (ladspa_path == NULL || strlen(ladspa_path) == 0) { + get_pref(PREF_LADSPA_PATH, prefs->ladspa_path, PATH_MAX); + if (strlen(prefs->ladspa_path) == 0) ladspa_path = lives_build_filename(prefs->lib_dir, "ladspa", NULL); + else ladspa_path = lives_strdup(prefs->ladspa_path); + lives_setenv("LADSPA_PATH", ladspa_path); + needs_free = TRUE; } - lives_snprintf(prefs->ladspa_path,PATH_MAX,"%s",ladspa_path); + lives_snprintf(prefs->ladspa_path, PATH_MAX, "%s", ladspa_path); if (needs_free) lives_free(ladspa_path); - splash_msg(_("Loading realtime effect plugins..."),SPLASH_LEVEL_LOAD_RTE); + splash_msg(_("Loading realtime effect plugins..."), SPLASH_LEVEL_LOAD_RTE); weed_load_all(); // replace any multi choice effects with their delegates @@ -1658,178 +1625,171 @@ load_default_keymap(); threaded_dialog_spin(0.); - prefs->audio_opts=get_int_pref(PREF_AUDIO_OPTS); + prefs->audio_opts = get_int_pref(PREF_AUDIO_OPTS); #ifdef ENABLE_JACK - lives_snprintf(prefs->jack_aserver,PATH_MAX,"%s/.jackdrc",capable->home_dir); - lives_snprintf(prefs->jack_tserver,PATH_MAX,"%s/.jackdrc",capable->home_dir); + lives_snprintf(prefs->jack_aserver, PATH_MAX, "%s/.jackdrc", capable->home_dir); + lives_snprintf(prefs->jack_tserver, PATH_MAX, "%s/.jackdrc", capable->home_dir); #endif - get_pref(PREF_CURRENT_AUTOTRANS,buff,256); - if (strlen(buff)==0) prefs->atrans_fx=-1; - else prefs->atrans_fx=weed_get_idx_for_hashname(buff,FALSE); + get_pref(PREF_CURRENT_AUTOTRANS, buff, 256); + if (strlen(buff) == 0) prefs->atrans_fx = -1; + else prefs->atrans_fx = weed_get_idx_for_hashname(buff, FALSE); - if ((prefs->startup_phase==1||prefs->startup_phase==-1)) { + if ((prefs->startup_phase == 1 || prefs->startup_phase == -1)) { splash_end(); // get initial workdir if (!do_workdir_query()) { lives_exit(0); } - prefs->startup_phase=2; - set_int_pref(PREF_STARTUP_PHASE,2); + prefs->startup_phase = 2; + set_int_pref(PREF_STARTUP_PHASE, 2); } - - if (prefs->startup_phase>0&&prefs->startup_phase<3) { + if (prefs->startup_phase > 0 && prefs->startup_phase < 3) { splash_end(); if (!do_startup_tests(FALSE)) { lives_exit(0); } - prefs->startup_phase=3; - set_int_pref(PREF_STARTUP_PHASE,3); + prefs->startup_phase = 3; + set_int_pref(PREF_STARTUP_PHASE, 3); } - if (capable->has_jackd) naudp++; if (capable->has_pulse_audio) naudp++; if (capable->has_sox_play) naudp++; if (capable->has_mplayer) naudp++; if (capable->has_mplayer2) naudp++; - if (naudp>1) { - if (prefs->startup_phase>0&&prefs->startup_phase<=4) { + if (naudp > 1) { + if (prefs->startup_phase > 0 && prefs->startup_phase <= 4) { splash_end(); if (!do_audio_choice_dialog(prefs->startup_phase)) { lives_exit(0); } - if (prefs->audio_player==AUD_PLAYER_JACK) future_prefs->jack_opts=prefs->jack_opts=JACK_OPTS_START_ASERVER; - else future_prefs->jack_opts=prefs->jack_opts=0; - set_int_pref(PREF_JACK_OPTS,prefs->jack_opts); + if (prefs->audio_player == AUD_PLAYER_JACK) future_prefs->jack_opts = prefs->jack_opts = JACK_OPTS_START_ASERVER; + else future_prefs->jack_opts = prefs->jack_opts = 0; + set_int_pref(PREF_JACK_OPTS, prefs->jack_opts); - prefs->startup_phase=4; - set_int_pref(PREF_STARTUP_PHASE,4); + prefs->startup_phase = 4; + set_int_pref(PREF_STARTUP_PHASE, 4); } #ifdef ENABLE_JACK - if (prefs->jack_opts&JACK_OPTS_TRANSPORT_MASTER||prefs->jack_opts&JACK_OPTS_TRANSPORT_CLIENT||prefs->jack_opts&JACK_OPTS_START_ASERVER|| - prefs->jack_opts&JACK_OPTS_START_TSERVER) { + if (prefs->jack_opts & JACK_OPTS_TRANSPORT_MASTER || prefs->jack_opts & JACK_OPTS_TRANSPORT_CLIENT || + prefs->jack_opts & JACK_OPTS_START_ASERVER || + prefs->jack_opts & JACK_OPTS_START_TSERVER) { // start jack transport polling - if (prefs->jack_opts&JACK_OPTS_START_ASERVER) splash_msg(_("Starting jack audio server..."),SPLASH_LEVEL_LOAD_APLAYER); + if (prefs->jack_opts & JACK_OPTS_START_ASERVER) splash_msg(_("Starting jack audio server..."), SPLASH_LEVEL_LOAD_APLAYER); else { - if (prefs->jack_opts&JACK_OPTS_START_TSERVER) splash_msg(_("Starting jack transport server..."),SPLASH_LEVEL_LOAD_APLAYER); - else splash_msg(_("Connecting to jack transport server..."),SPLASH_LEVEL_LOAD_APLAYER); + if (prefs->jack_opts & JACK_OPTS_START_TSERVER) splash_msg(_("Starting jack transport server..."), SPLASH_LEVEL_LOAD_APLAYER); + else splash_msg(_("Connecting to jack transport server..."), SPLASH_LEVEL_LOAD_APLAYER); } if (!lives_jack_init()) { - if ((prefs->jack_opts&JACK_OPTS_START_ASERVER)||(prefs->jack_opts&JACK_OPTS_START_TSERVER)) do_jack_noopen_warn(); + if ((prefs->jack_opts & JACK_OPTS_START_ASERVER) || (prefs->jack_opts & JACK_OPTS_START_TSERVER)) do_jack_noopen_warn(); else do_jack_noopen_warn3(); - if (prefs->startup_phase==4) { + if (prefs->startup_phase == 4) { do_jack_noopen_warn2(); } - future_prefs->jack_opts=0; // jack is causing hassle, get rid of it - set_int_pref(PREF_JACK_OPTS,0); + future_prefs->jack_opts = 0; // jack is causing hassle, get rid of it + set_int_pref(PREF_JACK_OPTS, 0); lives_exit(0); } } - if (prefs->audio_player==AUD_PLAYER_JACK) { + if (prefs->audio_player == AUD_PLAYER_JACK) { jack_audio_init(); jack_audio_read_init(); - mainw->jackd=jack_get_driver(0,TRUE); - if (mainw->jackd!=NULL) { - if (jack_open_device(mainw->jackd)) mainw->jackd=NULL; + mainw->jackd = jack_get_driver(0, TRUE); + if (mainw->jackd != NULL) { + if (jack_open_device(mainw->jackd)) mainw->jackd = NULL; - if (mainw->jackd==NULL&&prefs->startup_phase==0) { + if (mainw->jackd == NULL && prefs->startup_phase == 0) { #ifdef HAVE_PULSE_AUDIO - char *otherbit=lives_strdup("\"lives -aplayer pulse\"."); + char *otherbit = lives_strdup("\"lives -aplayer pulse\"."); #else - char *otherbit=lives_strdup("\"lives -aplayer sox\"."); + char *otherbit = lives_strdup("\"lives -aplayer sox\"."); #endif char *tmp; - char *msg=lives_strdup_printf( - _("\n\nManual start of jackd required. Please make sure jackd is running, \n" - "or else change the value of <jack_opts> in %s to 16\nand restart LiVES.\n\n" - "Alternatively, try to start lives with either \"lives -jackopts 16\", or "), - (tmp=lives_filename_to_utf8(capable->rcfile,-1,NULL,NULL,NULL))); - lives_printerr("%s%s\n\n",msg,otherbit); + char *msg = lives_strdup_printf( + _("\n\nManual start of jackd required. Please make sure jackd is running, \n" + "or else change the value of <jack_opts> in %s to 16\nand restart LiVES.\n\n" + "Alternatively, try to start lives with either \"lives -jackopts 16\", or "), + (tmp = lives_filename_to_utf8(capable->rcfile, -1, NULL, NULL, NULL))); + lives_printerr("%s%s\n\n", msg, otherbit); lives_free(msg); lives_free(tmp); lives_free(otherbit); - } - if (mainw->jackd==NULL) { + if (mainw->jackd == NULL) { do_jack_noopen_warn3(); - if (prefs->startup_phase==4) { + if (prefs->startup_phase == 4) { do_jack_noopen_warn2(); } else do_jack_noopen_warn4(); lives_exit(0); } - mainw->jackd->whentostop=&mainw->whentostop; - mainw->jackd->cancelled=&mainw->cancelled; - mainw->jackd->in_use=FALSE; - mainw->jackd->play_when_stopped=(prefs->jack_opts&JACK_OPTS_NOPLAY_WHEN_PAUSED)?FALSE:TRUE; + mainw->jackd->whentostop = &mainw->whentostop; + mainw->jackd->cancelled = &mainw->cancelled; + mainw->jackd->in_use = FALSE; + mainw->jackd->play_when_stopped = (prefs->jack_opts & JACK_OPTS_NOPLAY_WHEN_PAUSED) ? FALSE : TRUE; - if (prefs->perm_audio_reader&&prefs->audio_src==AUDIO_SRC_EXT) { + if (prefs->perm_audio_reader && prefs->audio_src == AUDIO_SRC_EXT) { // create reader connection now, if permanent - jack_rec_audio_to_clip(-1,-1,RECA_EXTERNAL); + jack_rec_audio_to_clip(-1, -1, RECA_EXTERNAL); } - } } #endif } - #ifdef HAVE_PULSE_AUDIO - if (prefs->audio_player==AUD_PLAYER_PULSE) { - splash_msg(_("Starting pulse audio server..."),SPLASH_LEVEL_LOAD_APLAYER); + if (prefs->audio_player == AUD_PLAYER_PULSE) { + splash_msg(_("Starting pulse audio server..."), SPLASH_LEVEL_LOAD_APLAYER); if (!lives_pulse_init(prefs->startup_phase)) { - if (prefs->startup_phase==4) { + if (prefs->startup_phase == 4) { lives_exit(0); } } else { pulse_audio_init(); pulse_audio_read_init(); - mainw->pulsed=pulse_get_driver(TRUE); + mainw->pulsed = pulse_get_driver(TRUE); - mainw->pulsed->whentostop=&mainw->whentostop; - mainw->pulsed->cancelled=&mainw->cancelled; - mainw->pulsed->in_use=FALSE; - if (prefs->perm_audio_reader&&prefs->audio_src==AUDIO_SRC_EXT) { + mainw->pulsed->whentostop = &mainw->whentostop; + mainw->pulsed->cancelled = &mainw->cancelled; + mainw->pulsed->in_use = FALSE; + if (prefs->perm_audio_reader && prefs->audio_src == AUDIO_SRC_EXT) { // create reader connection now, if permanent - pulse_rec_audio_to_clip(-1,-1,RECA_EXTERNAL); + pulse_rec_audio_to_clip(-1, -1, RECA_EXTERNAL); } - } } #endif - } - - if (prefs->startup_phase!=0) { + if (prefs->startup_phase != 0) { char *txt; splash_end(); - set_int_pref(PREF_STARTUP_PHASE,5); - prefs->startup_phase=5; + set_int_pref(PREF_STARTUP_PHASE, 5); + prefs->startup_phase = 5; do_startup_interface_query(); - txt=get_new_install_msg(); + txt = get_new_install_msg(); startup_message_info(txt); lives_free(txt); - set_int_pref(PREF_STARTUP_PHASE,100); // tell backend to delete this - prefs->startup_phase=100; + set_int_pref(PREF_STARTUP_PHASE, 100); // tell backend to delete this + prefs->startup_phase = 100; if (prefs->show_splash) { splash_init(); } } - if (mainw->vpp!=NULL&&mainw->vpp->get_audio_fmts!=NULL) mainw->vpp->audio_codec=get_best_audio(mainw->vpp); + if (mainw->vpp != NULL && mainw->vpp->get_audio_fmts != NULL) mainw->vpp->audio_codec = get_best_audio(mainw->vpp); // toolbar buttons lives_widget_set_bg_color(mainw->tb_hbox, LIVES_WIDGET_STATE_NORMAL, &palette->fade_colour); @@ -1844,78 +1804,80 @@ lives_widget_set_bg_color(mainw->t_forward, LIVES_WIDGET_STATE_PRELIGHT, &palette->fade_colour); lives_widget_set_bg_color(mainw->t_back, LIVES_WIDGET_STATE_PRELIGHT, &palette->fade_colour); lives_widget_set_bg_color(mainw->t_infobutton, LIVES_WIDGET_STATE_PRELIGHT, &palette->fade_colour); - - } } static void show_detected_or_not(boolean cap, const char *pname) { char *msg; - if (cap) msg=lives_strdup_printf(_("%s...detected... "),pname); - else msg=lives_strdup_printf(_("%s...NOT DETECTED... "),pname); + if (cap) msg = lives_strdup_printf(_("%s...detected... "), pname); + else msg = lives_strdup_printf(_("%s...NOT DETECTED... "), pname); d_print(msg); lives_free(msg); } - void do_start_messages(void) { char *endian; d_print("\n"); d_print(_("Checking optional dependencies: ")); - - show_detected_or_not(capable->has_mplayer,"mplayer"); - show_detected_or_not(capable->has_mplayer2,"mplayer2"); + show_detected_or_not(capable->has_mplayer, "mplayer"); + show_detected_or_not(capable->has_mplayer2, "mplayer2"); #ifdef ALLOW_MPV - show_detected_or_not(capable->has_mpv,"mpv"); + show_detected_or_not(capable->has_mpv, "mpv"); +#endif + show_detected_or_not(capable->has_convert, "convert"); + show_detected_or_not(capable->has_composite, "composite"); + show_detected_or_not(capable->has_sox_sox, "sox"); + show_detected_or_not(capable->has_cdda2wav, "cdda2wav/icedax"); + show_detected_or_not(capable->has_jackd, "jackd"); + show_detected_or_not(capable->has_pulse_audio, "pulse audio"); + show_detected_or_not(capable->has_python, "python"); + show_detected_or_not(capable->has_dvgrab, "dvgrab"); + show_detected_or_not(capable->has_xwininfo, "xwininfo"); + + prefs->wm = NULL; + +#ifdef GDK_WINDOWING_WAYLAND + if (GDK_IS_WAYLAND_DISPLAY(mainw->mgeom[0].disp)) + prefs->wm = lives_strdup("Wayland"); #endif - show_detected_or_not(capable->has_convert,"convert"); - show_detected_or_not(capable->has_composite,"composite"); - show_detected_or_not(capable->has_sox_sox,"sox"); - show_detected_or_not(capable->has_cdda2wav,"cdda2wav/icedax"); - show_detected_or_not(capable->has_jackd,"jackd"); - show_detected_or_not(capable->has_pulse_audio,"pulse audio"); - show_detected_or_not(capable->has_python,"python"); - show_detected_or_not(capable->has_dvgrab,"dvgrab"); - show_detected_or_not(capable->has_xwininfo,"xwininfo"); - #ifdef GDK_WINDOWING_X11 - prefs->wm=lives_strdup(gdk_x11_screen_get_window_manager_name(gdk_screen_get_default())); -#else -#ifdef IS_MINGW - prefs->wm=lives_strdup_printf(_("Windows version %04X"),WINVER); -#else - prefs->wm=lives_strdup((_("UNKNOWN - please patch me !"))); + if (GDK_IS_X11_DISPLAY(mainw->mgeom[0].disp)) + prefs->wm = lives_strdup(gdk_x11_screen_get_window_manager_name(gdk_screen_get_default())); #endif +#ifdef IS_MINGW + prefs->wm = lives_strdup_printf(_("Windows version %04X"), WINVER); #endif + if (prefs->wm == NULL) + prefs->wm = lives_strdup((_("UNKNOWN - please patch me !"))); - lives_snprintf(mainw->msg,512,_("\n\nWindow manager reports as \"%s\"; "),prefs->wm); + lives_snprintf(mainw->msg, 512, _("\n\nWindow manager reports as \"%s\"; "), prefs->wm); d_print(mainw->msg); - lives_snprintf(mainw->msg,512,_("number of monitors detected: %d\n"),capable->nmonitors); + lives_snprintf(mainw->msg, 512, _("number of monitors detected: %d\n"), capable->nmonitors); d_print(mainw->msg); - lives_snprintf(mainw->msg,512,_("Number of CPUs detected: %d "),capable->ncpus); + lives_snprintf(mainw->msg, 512, _("Number of CPUs detected: %d "), capable->ncpus); d_print(mainw->msg); - if (capable->byte_order==LIVES_LITTLE_ENDIAN) endian=lives_strdup(_("little endian")); - else endian=lives_strdup(_("big endian")); - lives_snprintf(mainw->msg,512,_("(%d bits, %s)\n"),capable->cpu_bits,endian); + if (capable->byte_order == LIVES_LITTLE_ENDIAN) endian = lives_strdup(_("little endian")); + else endian = lives_strdup(_("big endian")); + lives_snprintf(mainw->msg, 512, _("(%d bits, %s)\n"), capable->cpu_bits, endian); d_print(mainw->msg); lives_free(endian); - lives_snprintf(mainw->msg,512,"%s",_("GUI type is: ")); + lives_snprintf(mainw->msg, 512, "%s", _("GUI type is: ")); d_print(mainw->msg); #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - lives_snprintf(mainw->msg,512,_("GTK+ " - "version %d.%d.%d (" - "compiled with %d.%d.%d" - ")"), +#if GTK_CHECK_VERSION(3, 0, 0) + lives_snprintf(mainw->msg, 512, _("GTK+ " + "version %d.%d.%d (" + "compiled with %d.%d.%d" + ")"), gtk_get_major_version(), gtk_get_minor_version(), gtk_get_micro_version(), @@ -1924,9 +1886,9 @@ GTK_MICRO_VERSION ); #else - lives_snprintf(mainw->msg,512,_("GTK+ " - "(compiled with %d.%d.%d" - ")"), + lives_snprintf(mainw->msg, 512, _("GTK+ " + "(compiled with %d.%d.%d" + ")"), GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION @@ -1936,14 +1898,14 @@ #endif #ifdef PAINTER_CAIRO - lives_snprintf(mainw->msg,512,"%s",_(", with cairo support")); + lives_snprintf(mainw->msg, 512, "%s", _(", with cairo support")); d_print(mainw->msg); #endif - lives_snprintf(mainw->msg,512,"\n"); + lives_snprintf(mainw->msg, 512, "\n"); d_print(mainw->msg); - lives_snprintf(mainw->msg,512,_("Temp directory is %s\n"),prefs->workdir); + lives_snprintf(mainw->msg, 512, _("Temp directory is %s\n"), prefs->workdir); d_print(mainw->msg); #ifndef RT_AUDIO @@ -1957,191 +1919,188 @@ #endif #endif - lives_snprintf(mainw->msg,512,_("Welcome to LiVES version %s.\n\n"),LiVES_VERSION); + lives_snprintf(mainw->msg, 512, _("Welcome to LiVES version %s.\n\n"), LiVES_VERSION); d_print(mainw->msg); } - boolean set_palette_colours(boolean force_reload) { // force_reload should only be set when the theme changes in prefs. lives_colRGBA64_t lcol; - char *themedir,*themefile,*tmp; + char *themedir, *themefile, *tmp; char pstyle[8]; - boolean is_OK=TRUE; + boolean is_OK = TRUE; - lcol.alpha=65535; + lcol.alpha = 65535; // set configurable colours and theme colours for the app - lcol.red=lcol.green=lcol.blue=0; - lives_rgba_to_widget_color(&palette->black,&lcol); + lcol.red = lcol.green = lcol.blue = 0; + lives_rgba_to_widget_color(&palette->black, &lcol); - lcol.red=lcol.green=lcol.blue=65535; - lives_rgba_to_widget_color(&palette->white,&lcol); + lcol.red = lcol.green = lcol.blue = 65535; + lives_rgba_to_widget_color(&palette->white, &lcol); // salmon - lcol.red=64250; - lcol.green=64250; - lcol.blue=64250; - lives_rgba_to_widget_color(&palette->light_red,&lcol); + lcol.red = 64250; + lcol.green = 64250; + lcol.blue = 64250; + lives_rgba_to_widget_color(&palette->light_red, &lcol); // SeaGreen3 - lcol.red=17219; - lcol.green=52685; - lcol.blue=32896; - lives_rgba_to_widget_color(&palette->light_green,&lcol); + lcol.red = 17219; + lcol.green = 52685; + lcol.blue = 32896; + lives_rgba_to_widget_color(&palette->light_green, &lcol); // dark red - lcol.red=35723; - lcol.green=0; - lcol.blue=0; - lives_rgba_to_widget_color(&palette->dark_red,&lcol); + lcol.red = 35723; + lcol.green = 0; + lcol.blue = 0; + lives_rgba_to_widget_color(&palette->dark_red, &lcol); // darkorange4 - lcol.red=35723; - lcol.green=17733; - lcol.blue=0; - lives_rgba_to_widget_color(&palette->dark_orange,&lcol); + lcol.red = 35723; + lcol.green = 17733; + lcol.blue = 0; + lives_rgba_to_widget_color(&palette->dark_orange, &lcol); - lives_widget_color_copy(&palette->fade_colour,&palette->black); - lives_widget_color_copy(&palette->banner_fade_text,&palette->white); + lives_widget_color_copy(&palette->fade_colour, &palette->black); + lives_widget_color_copy(&palette->banner_fade_text, &palette->white); - palette->style=STYLE_PLAIN; + palette->style = STYLE_PLAIN; // defaults - palette->frame_surround.red=palette->frame_surround.green=palette->frame_surround.blue=palette->frame_surround.alpha=65535; + palette->frame_surround.red = palette->frame_surround.green = palette->frame_surround.blue = palette->frame_surround.alpha = 65535; - palette->audcol.blue=palette->audcol.red=16384; - palette->audcol.green=palette->audcol.alpha=65535; + palette->audcol.blue = palette->audcol.red = 16384; + palette->audcol.green = palette->audcol.alpha = 65535; - palette->vidcol.red=0; - palette->vidcol.green=16384; - palette->vidcol.blue=palette->vidcol.alpha=65535; + palette->vidcol.red = 0; + palette->vidcol.green = 16384; + palette->vidcol.blue = palette->vidcol.alpha = 65535; - palette->fxcol.red=palette->fxcol.alpha=65535; - palette->fxcol.green=palette->fxcol.blue=0; + palette->fxcol.red = palette->fxcol.alpha = 65535; + palette->fxcol.green = palette->fxcol.blue = 0; - palette->mt_mark.red=palette->mt_mark.green=0; - palette->mt_mark.blue=palette->mt_mark.alpha=65535; + palette->mt_mark.red = palette->mt_mark.green = 0; + palette->mt_mark.blue = palette->mt_mark.alpha = 65535; - palette->mt_timeline_reg.red=palette->mt_timeline_reg.green=palette->mt_timeline_reg.blue=0; - palette->mt_timeline_reg.alpha=65535; + palette->mt_timeline_reg.red = palette->mt_timeline_reg.green = palette->mt_timeline_reg.blue = 0; + palette->mt_timeline_reg.alpha = 65535; - palette->mt_evbox.red=palette->mt_evbox.green=palette->mt_evbox.blue=palette->mt_evbox.alpha=65535; + palette->mt_evbox.red = palette->mt_evbox.green = palette->mt_evbox.blue = palette->mt_evbox.alpha = 65535; - if (palette->style&STYLE_3||palette->style==STYLE_PLAIN) { // light style - palette->ce_unsel.red=palette->ce_unsel.green=palette->ce_unsel.blue=0; + if (palette->style & STYLE_3 || palette->style == STYLE_PLAIN) { // light style + palette->ce_unsel.red = palette->ce_unsel.green = palette->ce_unsel.blue = 0; } else { - palette->ce_unsel.red=palette->ce_unsel.green=palette->ce_unsel.blue=6554; + palette->ce_unsel.red = palette->ce_unsel.green = palette->ce_unsel.blue = 6554; } - palette->ce_unsel.alpha=65535; + palette->ce_unsel.alpha = 65535; - palette->ce_sel.red=palette->ce_sel.green=palette->ce_sel.blue=palette->ce_sel.alpha=65535; + palette->ce_sel.red = palette->ce_sel.green = palette->ce_sel.blue = palette->ce_sel.alpha = 65535; - lives_widget_color_copy(&palette->mt_timecode_bg,&palette->black); - lives_widget_color_copy(&palette->mt_timecode_fg,&palette->light_green); + lives_widget_color_copy(&palette->mt_timecode_bg, &palette->black); + lives_widget_color_copy(&palette->mt_timecode_fg, &palette->light_green); - lcol.red=0; + lcol.red = 0; // if theme is not "none" we dont find stuff in prefs then we must reload - if (lives_ascii_strcasecmp(future_prefs->theme,mainw->string_constants[LIVES_STRING_CONSTANT_NONE])&& - !get_colour_pref(THEME_DETAIL_STYLE,&lcol)) { - force_reload=TRUE; + if (lives_ascii_strcasecmp(future_prefs->theme, mainw->string_constants[LIVES_STRING_CONSTANT_NONE]) && + !get_colour_pref(THEME_DETAIL_STYLE, &lcol)) { + force_reload = TRUE; } else { // pull our colours from normal prefs - palette->style=lcol.red; + palette->style = lcol.red; - if (lives_ascii_strcasecmp(future_prefs->theme,mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) { - get_pref(THEME_DETAIL_SEPWIN_IMAGE,mainw->sepimg_path,PATH_MAX); - get_pref(THEME_DETAIL_FRAMEBLANK_IMAGE,mainw->frameblank_path,PATH_MAX); + if (lives_ascii_strcasecmp(future_prefs->theme, mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) { + get_pref(THEME_DETAIL_SEPWIN_IMAGE, mainw->sepimg_path, PATH_MAX); + get_pref(THEME_DETAIL_FRAMEBLANK_IMAGE, mainw->frameblank_path, PATH_MAX); - get_colour_pref(THEME_DETAIL_NORMAL_FORE,&lcol); - lives_rgba_to_widget_color(&palette->normal_fore,&lcol); + get_colour_pref(THEME_DETAIL_NORMAL_FORE, &lcol); + lives_rgba_to_widget_color(&palette->normal_fore, &lcol); - get_colour_pref(THEME_DETAIL_NORMAL_BACK,&lcol); - lives_rgba_to_widget_color(&palette->normal_back,&lcol); + get_colour_pref(THEME_DETAIL_NORMAL_BACK, &lcol); + lives_rgba_to_widget_color(&palette->normal_back, &lcol); - get_colour_pref(THEME_DETAIL_ALT_FORE,&lcol); - lives_rgba_to_widget_color(&palette->menu_and_bars_fore,&lcol); + get_colour_pref(THEME_DETAIL_ALT_FORE, &lcol); + lives_rgba_to_widget_color(&palette->menu_and_bars_fore, &lcol); - get_colour_pref(THEME_DETAIL_ALT_BACK,&lcol); - lives_rgba_to_widget_color(&palette->menu_and_bars,&lcol); + get_colour_pref(THEME_DETAIL_ALT_BACK, &lcol); + lives_rgba_to_widget_color(&palette->menu_and_bars, &lcol); - get_colour_pref(THEME_DETAIL_INFO_TEXT,&lcol); - lives_rgba_to_widget_color(&palette->info_text,&lcol); + get_colour_pref(THEME_DETAIL_INFO_TEXT, &lcol); + lives_rgba_to_widget_color(&palette->info_text, &lcol); - get_colour_pref(THEME_DETAIL_INFO_BASE,&lcol); - lives_rgba_to_widget_color(&palette->info_base,&lcol); + get_colour_pref(THEME_DETAIL_INFO_BASE, &lcol); + lives_rgba_to_widget_color(&palette->info_base, &lcol); } // extended colours - get_colour_pref(THEME_DETAIL_MT_TCFG,&lcol); - lives_rgba_to_widget_color(&palette->mt_timecode_fg,&lcol); + get_colour_pref(THEME_DETAIL_MT_TCFG, &lcol); + lives_rgba_to_widget_color(&palette->mt_timecode_fg, &lcol); - get_colour_pref(THEME_DETAIL_MT_TCBG,&lcol); - lives_rgba_to_widget_color(&palette->mt_timecode_bg,&lcol); + get_colour_pref(THEME_DETAIL_MT_TCBG, &lcol); + lives_rgba_to_widget_color(&palette->mt_timecode_bg, &lcol); - get_colour_pref(THEME_DETAIL_AUDCOL,&palette->audcol); - get_colour_pref(THEME_DETAIL_VIDCOL,&palette->vidcol); - get_colour_pref(THEME_DETAIL_FXCOL,&palette->fxcol); + get_colour_pref(THEME_DETAIL_AUDCOL, &palette->audcol); + get_colour_pref(THEME_DETAIL_VIDCOL, &palette->vidcol); + get_colour_pref(THEME_DETAIL_FXCOL, &palette->fxcol); - get_colour_pref(THEME_DETAIL_MT_TLREG,&palette->mt_timeline_reg); - get_colour_pref(THEME_DETAIL_MT_MARK,&palette->mt_mark); - get_colour_pref(THEME_DETAIL_MT_EVBOX,&palette->mt_evbox); + get_colour_pref(THEME_DETAIL_MT_TLREG, &palette->mt_timeline_reg); + get_colour_pref(THEME_DETAIL_MT_MARK, &palette->mt_mark); + get_colour_pref(THEME_DETAIL_MT_EVBOX, &palette->mt_evbox); - get_colour_pref(THEME_DETAIL_FRAME_SURROUND,&palette->frame_surround); + get_colour_pref(THEME_DETAIL_FRAME_SURROUND, &palette->frame_surround); - get_colour_pref(THEME_DETAIL_CE_SEL,&palette->ce_sel); - get_colour_pref(THEME_DETAIL_CE_UNSEL,&palette->ce_unsel); + get_colour_pref(THEME_DETAIL_CE_SEL, &palette->ce_sel); + get_colour_pref(THEME_DETAIL_CE_UNSEL, &palette->ce_unsel); } - if (force_reload) { // check if theme is custom: - themedir=lives_build_filename(capable->home_dir,LIVES_CONFIG_DIR,PLUGIN_THEMES,prefs->theme,NULL); + themedir = lives_build_filename(capable->home_dir, LIVES_CONFIG_DIR, PLUGIN_THEMES, prefs->theme, NULL); - if (!lives_file_test(themedir,LIVES_FILE_TEST_IS_DIR)) { + if (!lives_file_test(themedir, LIVES_FILE_TEST_IS_DIR)) { lives_free(themedir); // if not custom, check if builtin - themedir=lives_build_filename(prefs->prefix_dir,THEME_DIR,prefs->theme,NULL); - if (!lives_file_test(themedir,LIVES_FILE_TEST_IS_DIR)) { - is_OK=FALSE; + themedir = lives_build_filename(prefs->prefix_dir, THEME_DIR, prefs->theme, NULL); + if (!lives_file_test(themedir, LIVES_FILE_TEST_IS_DIR)) { + is_OK = FALSE; } } - tmp=lives_build_filename(themedir,"main.jpg",NULL); - lives_snprintf(mainw->sepimg_path,PATH_MAX,"%s",tmp); + tmp = lives_build_filename(themedir, "main.jpg", NULL); + lives_snprintf(mainw->sepimg_path, PATH_MAX, "%s", tmp); lives_free(tmp); - tmp=lives_build_filename(themedir,"frame.jpg",NULL); - lives_snprintf(mainw->frameblank_path,PATH_MAX,"%s",tmp); + tmp = lives_build_filename(themedir, "frame.jpg", NULL); + lives_snprintf(mainw->frameblank_path, PATH_MAX, "%s", tmp); lives_free(tmp); - // load from file - themefile=lives_build_filename(themedir,"header.theme",NULL); + themefile = lives_build_filename(themedir, "header.theme", NULL); #ifdef GUI_GTK -#if !GTK_CHECK_VERSION(3,0,0) +#if !GTK_CHECK_VERSION(3, 0, 0) lives_free(themefile); - themefile=lives_build_filename(themedir,"header.theme_gtk2",NULL); + themefile = lives_build_filename(themedir, "header.theme_gtk2", NULL); #endif #endif if (!lives_file_test(themefile, LIVES_FILE_TEST_EXISTS)) { lives_free(themefile); - themefile=lives_build_filename(themedir,"header.theme_gtk2",NULL); + themefile = lives_build_filename(themedir, "header.theme_gtk2", NULL); #ifdef GUI_GTK -#if !GTK_CHECK_VERSION(3,0,0) +#if !GTK_CHECK_VERSION(3, 0, 0) lives_free(themefile); - themefile=lives_build_filename(themedir,"header.theme",NULL); + themefile = lives_build_filename(themedir, "header.theme", NULL); #endif #endif if (!lives_file_test(themefile, LIVES_FILE_TEST_EXISTS)) { - is_OK=FALSE; + is_OK = FALSE; } } @@ -2149,36 +2108,35 @@ // mandatory for themes - if (!is_OK||get_pref_from_file(themefile,THEME_DETAIL_STYLE,pstyle,8)!=LIVES_RESPONSE_NONE) { - is_OK=FALSE; + if (!is_OK || get_pref_from_file(themefile, THEME_DETAIL_STYLE, pstyle, 8) != LIVES_RESPONSE_NONE) { + is_OK = FALSE; } else { - palette->style=atoi(pstyle); + palette->style = atoi(pstyle); } - if (!is_OK||!get_theme_colour_pref(themefile,THEME_DETAIL_NORMAL_FORE,&lcol)) { - is_OK=FALSE; - } else lives_rgba_to_widget_color(&palette->normal_fore,&lcol); - - if (!is_OK||!get_theme_colour_pref(themefile,THEME_DETAIL_NORMAL_BACK,&lcol)) { - is_OK=FALSE; - } else lives_rgba_to_widget_color(&palette->normal_back,&lcol); + if (!is_OK || !get_theme_colour_pref(themefile, THEME_DETAIL_NORMAL_FORE, &lcol)) { + is_OK = FALSE; + } else lives_rgba_to_widget_color(&palette->normal_fore, &lcol); - if (!is_OK||!get_theme_colour_pref(themefile,THEME_DETAIL_ALT_FORE,&lcol)) { - is_OK=FALSE; - } else lives_rgba_to_widget_color(&palette->menu_and_bars_fore,&lcol); + if (!is_OK || !get_theme_colour_pref(themefile, THEME_DETAIL_NORMAL_BACK, &lcol)) { + is_OK = FALSE; + } else lives_rgba_to_widget_color(&palette->normal_back, &lcol); - if (!is_OK||!get_theme_colour_pref(themefile,THEME_DETAIL_ALT_BACK,&lcol)) { - is_OK=FALSE; - } else lives_rgba_to_widget_color(&palette->menu_and_bars,&lcol); + if (!is_OK || !get_theme_colour_pref(themefile, THEME_DETAIL_ALT_FORE, &lcol)) { + is_OK = FALSE; + } else lives_rgba_to_widget_color(&palette->menu_and_bars_fore, &lcol); - if (!is_OK||!get_theme_colour_pref(themefile,THEME_DETAIL_INFO_TEXT,&lcol)) { - is_OK=FALSE; - } else lives_rgba_to_widget_color(&palette->info_text,&lcol); + if (!is_OK || !get_theme_colour_pref(themefile, THEME_DETAIL_ALT_BACK, &lcol)) { + is_OK = FALSE; + } else lives_rgba_to_widget_color(&palette->menu_and_bars, &lcol); - if (!is_OK||!get_theme_colour_pref(themefile,THEME_DETAIL_INFO_BASE,&lcol)) { - is_OK=FALSE; - } else lives_rgba_to_widget_color(&palette->info_base,&lcol); + if (!is_OK || !get_theme_colour_pref(themefile, THEME_DETAIL_INFO_TEXT, &lcol)) { + is_OK = FALSE; + } else lives_rgba_to_widget_color(&palette->info_text, &lcol); + if (!is_OK || !get_theme_colour_pref(themefile, THEME_DETAIL_INFO_BASE, &lcol)) { + is_OK = FALSE; + } else lives_rgba_to_widget_color(&palette->info_base, &lcol); if (!is_OK) { do_bad_theme_error(themefile); @@ -2186,40 +2144,37 @@ return FALSE; } - // get optional elements - if (get_theme_colour_pref(themefile,THEME_DETAIL_MT_TCFG,&lcol)) { - lives_rgba_to_widget_color(&palette->mt_timecode_fg,&lcol); + if (get_theme_colour_pref(themefile, THEME_DETAIL_MT_TCFG, &lcol)) { + lives_rgba_to_widget_color(&palette->mt_timecode_fg, &lcol); } - if (get_theme_colour_pref(themefile,THEME_DETAIL_MT_TCBG,&lcol)) { - lives_rgba_to_widget_color(&palette->mt_timecode_bg,&lcol); + if (get_theme_colour_pref(themefile, THEME_DETAIL_MT_TCBG, &lcol)) { + lives_rgba_to_widget_color(&palette->mt_timecode_bg, &lcol); } - get_theme_colour_pref(themefile,THEME_DETAIL_AUDCOL,&palette->audcol); - get_theme_colour_pref(themefile,THEME_DETAIL_VIDCOL,&palette->vidcol); - get_theme_colour_pref(themefile,THEME_DETAIL_FXCOL,&palette->fxcol); + get_theme_colour_pref(themefile, THEME_DETAIL_AUDCOL, &palette->audcol); + get_theme_colour_pref(themefile, THEME_DETAIL_VIDCOL, &palette->vidcol); + get_theme_colour_pref(themefile, THEME_DETAIL_FXCOL, &palette->fxcol); - get_theme_colour_pref(themefile,THEME_DETAIL_MT_TLREG,&palette->mt_timeline_reg); - get_theme_colour_pref(themefile,THEME_DETAIL_MT_MARK,&palette->mt_mark); - get_theme_colour_pref(themefile,THEME_DETAIL_MT_EVBOX,&palette->mt_evbox); + get_theme_colour_pref(themefile, THEME_DETAIL_MT_TLREG, &palette->mt_timeline_reg); + get_theme_colour_pref(themefile, THEME_DETAIL_MT_MARK, &palette->mt_mark); + get_theme_colour_pref(themefile, THEME_DETAIL_MT_EVBOX, &palette->mt_evbox); - get_theme_colour_pref(themefile,THEME_DETAIL_FRAME_SURROUND,&palette->frame_surround); + get_theme_colour_pref(themefile, THEME_DETAIL_FRAME_SURROUND, &palette->frame_surround); - get_theme_colour_pref(themefile,THEME_DETAIL_CE_SEL,&palette->ce_sel); - get_theme_colour_pref(themefile,THEME_DETAIL_CE_UNSEL,&palette->ce_unsel); + get_theme_colour_pref(themefile, THEME_DETAIL_CE_SEL, &palette->ce_sel); + get_theme_colour_pref(themefile, THEME_DETAIL_CE_UNSEL, &palette->ce_unsel); lives_free(themefile); // set details in prefs set_palette_prefs(); - } return TRUE; } - capability *get_capabilities(void) { // get capabilities of backend system FILE *bootfile; @@ -2229,7 +2184,7 @@ char *safer_bfile; char *tmp; - char buffer[4096+PATH_MAX]; + char buffer[4096 + PATH_MAX]; char string[256]; int err; @@ -2247,35 +2202,32 @@ #endif #endif - - capable=(capability *)lives_malloc(sizeof(capability)); - + capable = (capability *)lives_malloc(sizeof(capability)); // this is _compile time_ bits, not runtime bits - capable->cpu_bits=32; - if (sizeof(void *)==8) capable->cpu_bits=64; + capable->cpu_bits = 32; + if (sizeof(void *) == 8) capable->cpu_bits = 64; // _runtime_ byte order if (IS_BIG_ENDIAN) - capable->byte_order=LIVES_BIG_ENDIAN; + capable->byte_order = LIVES_BIG_ENDIAN; else - capable->byte_order=LIVES_LITTLE_ENDIAN; + capable->byte_order = LIVES_LITTLE_ENDIAN; - capable->has_smogrify=FALSE; - capable->smog_version_correct=FALSE; + capable->has_smogrify = FALSE; + capable->smog_version_correct = FALSE; - capable->mainpid=lives_getpid(); + capable->mainpid = lives_getpid(); // this is the version we should pass into mkdir #ifndef IS_MINGW - capable->umask=umask(0); + capable->umask = umask(0); umask(capable->umask); - capable->umask=(0777&~capable->umask); + capable->umask = (0777 & ~capable->umask); #else - capable->umask=0775; + capable->umask = 0775; #endif - #ifndef IS_MINGW get_location("rm", capable->rm_cmd, PATH_MAX); get_location("rmdir", capable->rmdir_cmd, PATH_MAX); @@ -2288,130 +2240,129 @@ get_location("echo", capable->echo_cmd, PATH_MAX); get_location("eject", capable->eject_cmd, PATH_MAX); #else - lives_snprintf(capable->rm_cmd,PATH_MAX,"rm.exe"); - lives_snprintf(capable->rmdir_cmd,PATH_MAX,"rmdir.exe"); - lives_snprintf(capable->cp_cmd,PATH_MAX,"cp.exe"); - lives_snprintf(capable->mv_cmd,PATH_MAX,"mv.exe"); - lives_snprintf(capable->touch_cmd,PATH_MAX,"touch.exe"); + lives_snprintf(capable->rm_cmd, PATH_MAX, "rm.exe"); + lives_snprintf(capable->rmdir_cmd, PATH_MAX, "rmdir.exe"); + lives_snprintf(capable->cp_cmd, PATH_MAX, "cp.exe"); + lives_snprintf(capable->mv_cmd, PATH_MAX, "mv.exe"); + lives_snprintf(capable->touch_cmd, PATH_MAX, "touch.exe"); // no ln_cmd !!!! - lives_snprintf(capable->chmod_cmd,PATH_MAX,"chmod.exe"); - lives_snprintf(capable->cat_cmd,PATH_MAX,"cat.exe"); - lives_snprintf(capable->echo_cmd,PATH_MAX,"echo.exe"); - lives_snprintf(capable->eject_cmd,PATH_MAX,"eject.exe"); // does it exist ? + lives_snprintf(capable->chmod_cmd, PATH_MAX, "chmod.exe"); + lives_snprintf(capable->cat_cmd, PATH_MAX, "cat.exe"); + lives_snprintf(capable->echo_cmd, PATH_MAX, "echo.exe"); + lives_snprintf(capable->eject_cmd, PATH_MAX, "eject.exe"); // does it exist ? #endif // required - capable->can_write_to_home=FALSE; - capable->can_write_to_workdir=FALSE; - capable->can_write_to_config=FALSE; - capable->can_read_from_config=FALSE; + capable->can_write_to_home = FALSE; + capable->can_write_to_workdir = FALSE; + capable->can_write_to_config = FALSE; + capable->can_read_from_config = FALSE; #ifdef GUI_GTK #ifndef IS_MINGW - lives_snprintf(capable->home_dir,PATH_MAX,"%s",g_get_home_dir()); + lives_snprintf(capable->home_dir, PATH_MAX, "%s", g_get_home_dir()); #else // TODO/REG - we will get from registry - lives_snprintf(capable->home_dir,PATH_MAX,"%s\\Application Data\\LiVES",g_get_home_dir()); + lives_snprintf(capable->home_dir, PATH_MAX, "%s\\Application Data\\LiVES", g_get_home_dir()); #endif #endif #ifdef GUI_QT QStringList qsl = QStandardPaths::standardLocations(QStandardPaths::HomeLocation); - lives_snprintf(capable->home_dir,PATH_MAX,"%s",qsl.at(0).toLocal8Bit().constData()); + lives_snprintf(capable->home_dir, PATH_MAX, "%s", qsl.at(0).toLocal8Bit().constData()); qsl = QStandardPaths::standardLocations(QStandardPaths::TempLocation); - lives_snprintf(capable->system_workdir,PATH_MAX,"%s",qsl.at(0).toLocal8Bit().constData()); + lives_snprintf(capable->system_workdir, PATH_MAX, "%s", qsl.at(0).toLocal8Bit().constData()); #endif - memset(capable->startup_msg,0,1); + memset(capable->startup_msg, 0, 1); // optional - capable->has_mplayer=FALSE; - capable->has_mplayer2=FALSE; - capable->has_mpv=FALSE; - capable->has_convert=FALSE; - capable->has_composite=FALSE; - capable->has_identify=FALSE; - capable->has_sox_play=FALSE; - capable->has_sox_sox=FALSE; - capable->has_dvgrab=FALSE; - capable->has_cdda2wav=FALSE; - capable->has_autolives=FALSE; - capable->has_jackd=FALSE; - capable->has_gdb=FALSE; - capable->has_pulse_audio=FALSE; - capable->has_xwininfo=FALSE; - capable->has_midistartstop=FALSE; - capable->has_encoder_plugins=FALSE; - capable->has_python=FALSE; - capable->python_version=0; - capable->has_stderr=TRUE; - capable->has_gconftool_2=FALSE; - capable->has_xdg_screensaver=FALSE; + capable->has_mplayer = FALSE; + capable->has_mplayer2 = FALSE; + capable->has_mpv = FALSE; + capable->has_convert = FALSE; + capable->has_composite = FALSE; + capable->has_identify = FALSE; + capable->has_sox_play = FALSE; + capable->has_sox_sox = FALSE; + capable->has_dvgrab = FALSE; + capable->has_cdda2wav = FALSE; + capable->has_autolives = FALSE; + capable->has_jackd = FALSE; + capable->has_gdb = FALSE; + capable->has_pulse_audio = FALSE; + capable->has_xwininfo = FALSE; + capable->has_midistartstop = FALSE; + capable->has_encoder_plugins = FALSE; + capable->has_python = FALSE; + capable->python_version = 0; + capable->has_stderr = TRUE; + capable->has_gconftool_2 = FALSE; + capable->has_xdg_screensaver = FALSE; - safer_bfile=lives_strdup_printf("%s"LIVES_DIR_SEP LIVES_BFILE_NAME".%d.%d",capable->home_dir,lives_getuid(),lives_getgid()); + safer_bfile = lives_strdup_printf("%s"LIVES_DIR_SEP LIVES_BFILE_NAME".%d.%d", capable->home_dir, lives_getuid(), lives_getgid()); lives_rm(safer_bfile); // check that we can write to /tmp - if (!check_file(safer_bfile,FALSE)) return capable; - capable->can_write_to_home=TRUE; + if (!check_file(safer_bfile, FALSE)) return capable; + capable->can_write_to_home = TRUE; #ifndef IS_MINGW - lives_snprintf(prefs->backend_sync,PATH_MAX,"%s","smogrify"); - lives_snprintf(prefs->backend,PATH_MAX,"%s","smogrify"); - if ((tmp=lives_find_program_in_path("smogrify"))==NULL) return capable; + lives_snprintf(prefs->backend_sync, PATH_MAX, "%s", "smogrify"); + lives_snprintf(prefs->backend, PATH_MAX, "%s", "smogrify"); + if ((tmp = lives_find_program_in_path("smogrify")) == NULL) return capable; lives_free(tmp); #else - lives_snprintf(prefs->backend_sync,PATH_MAX,"perl \"%s\\smogrify\"",prefs->prefix_dir); - lives_snprintf(prefs->backend,PATH_MAX,"START /MIN /B perl \"%s\\smogrify\"",prefs->prefix_dir); + lives_snprintf(prefs->backend_sync, PATH_MAX, "perl \"%s\\smogrify\"", prefs->prefix_dir); + lives_snprintf(prefs->backend, PATH_MAX, "START /MIN /B perl \"%s\\smogrify\"", prefs->prefix_dir); #endif - lives_snprintf(string,256,"%s report \"%s\" 2>%s",prefs->backend_sync, - (tmp=lives_filename_from_utf8(safer_bfile,-1,NULL,NULL,NULL)), + lives_snprintf(string, 256, "%s report \"%s\" 2>%s", prefs->backend_sync, + (tmp = lives_filename_from_utf8(safer_bfile, -1, NULL, NULL, NULL)), LIVES_DEVNULL); lives_free(tmp); - err=lives_system(string,TRUE); + err = lives_system(string, TRUE); - if (err==32512||err==32256) { + if (err == 32512 || err == 32256) { return capable; } - capable->has_smogrify=TRUE; + capable->has_smogrify = TRUE; - if (err==512) { + if (err == 512) { return capable; } - capable->can_read_from_config=TRUE; + capable->can_read_from_config = TRUE; - if (err==768) { + if (err == 768) { return capable; } - capable->can_write_to_config=TRUE; + capable->can_write_to_config = TRUE; - if (err==1024) { + if (err == 1024) { return capable; } - - if (err!=1280) { - capable->can_write_to_workdir=TRUE; + if (err != 1280) { + capable->can_write_to_workdir = TRUE; } - if (!(bootfile=fopen(safer_bfile,"r"))) { + if (!(bootfile = fopen(safer_bfile, "r"))) { lives_free(safer_bfile); return capable; } - mainw->read_failed=FALSE; - lives_fgets(buffer,8192,bootfile); + mainw->read_failed = FALSE; + lives_fgets(buffer, 8192, bootfile); fclose(bootfile); lives_rm(safer_bfile); @@ -2420,42 +2371,42 @@ if (mainw->read_failed) return capable; // get backend version, workdir, and any startup message - numtok=get_token_count(buffer,'|'); - array=lives_strsplit(buffer,"|",numtok); + numtok = get_token_count(buffer, '|'); + array = lives_strsplit(buffer, "|", numtok); - lives_snprintf(string,256,"%s",array[0]); + lives_snprintf(string, 256, "%s", array[0]); - if (strcmp(string,LiVES_VERSION)) { + if (strcmp(string, LiVES_VERSION)) { lives_strfreev(array); return capable; } - capable->smog_version_correct=TRUE; + capable->smog_version_correct = TRUE; - lives_snprintf(prefs->workdir,PATH_MAX,"%s",array[1]); - lives_snprintf(future_prefs->workdir,PATH_MAX,"%s",prefs->workdir); + lives_snprintf(prefs->workdir, PATH_MAX, "%s", array[1]); + lives_snprintf(future_prefs->workdir, PATH_MAX, "%s", prefs->workdir); - prefs->startup_phase=atoi(array[2]); + prefs->startup_phase = atoi(array[2]); - if (numtok>3&&strlen(array[3])) { - startup_msgtype=1; - if (!strcmp(array[3],"!updmsg2")) { - startup_msgtype=2; - } - if (!strncmp(array[3],"!updmsg",7)) { - char *text=get_upd_msg(startup_msgtype); - lives_snprintf(capable->startup_msg,256,"%s\n\n",text); - info_only=TRUE; + if (numtok > 3 && strlen(array[3])) { + startup_msgtype = 1; + if (!strcmp(array[3], "!updmsg2")) { + startup_msgtype = 2; + } + if (!strncmp(array[3], "!updmsg", 7)) { + char *text = get_upd_msg(startup_msgtype); + lives_snprintf(capable->startup_msg, 256, "%s\n\n", text); + info_only = TRUE; lives_free(text); - if (numtok>4&&strlen(array[4])) { - info_only=FALSE; - lives_strappend(capable->startup_msg,256,array[4]); + if (numtok > 4 && strlen(array[4])) { + info_only = FALSE; + lives_strappend(capable->startup_msg, 256, array[4]); } } else { - lives_snprintf(capable->startup_msg,256,"%s\n\n",array[3]); - if (numtok>4&&strlen(array[4])) { - lives_strappend(capable->startup_msg,256,array[4]); + lives_snprintf(capable->startup_msg, 256, "%s\n\n", array[3]); + if (numtok > 4 && strlen(array[4])) { + lives_strappend(capable->startup_msg, 256, array[4]); } } } @@ -2463,88 +2414,88 @@ if (!capable->can_write_to_workdir) return capable; - get_location(AUDIO_PLAYER_MPLAYER,string,256); - if (strlen(string)) capable->has_mplayer=TRUE; + get_location(AUDIO_PLAYER_MPLAYER, string, 256); + if (strlen(string)) capable->has_mplayer = TRUE; - get_location(AUDIO_PLAYER_MPLAYER2,string,256); - if (strlen(string)) capable->has_mplayer2=TRUE; + get_location(AUDIO_PLAYER_MPLAYER2, string, 256); + if (strlen(string)) capable->has_mplayer2 = TRUE; #ifdef ALLOW_MPV - get_location("mpv",string,256); - if (strlen(string)) capable->has_mpv=TRUE; + get_location("mpv", string, 256); + if (strlen(string)) capable->has_mpv = TRUE; #endif #ifndef IS_MINGW - get_location("convert",string,256); + get_location("convert", string, 256); #else - get_location("mgkvert",string,256); + get_location("mgkvert", string, 256); #endif - if (strlen(string)) capable->has_convert=TRUE; + if (strlen(string)) capable->has_convert = TRUE; - get_location("composite",string,256); - if (strlen(string)) capable->has_composite=TRUE; + get_location("composite", string, 256); + if (strlen(string)) capable->has_composite = TRUE; - get_location("identify",string,256); - if (strlen(string)) capable->has_identify=TRUE; + get_location("identify", string, 256); + if (strlen(string)) capable->has_identify = TRUE; /////////////////////////////////////////////////////// - get_location("play",string,256); - if (strlen(string)) capable->has_sox_play=TRUE; + get_location("play", string, 256); + if (strlen(string)) capable->has_sox_play = TRUE; - get_location(AUDIO_PLAYER_SOX,string,256); - if (strlen(string)) capable->has_sox_sox=TRUE; + get_location(AUDIO_PLAYER_SOX, string, 256); + if (strlen(string)) capable->has_sox_sox = TRUE; - get_location("dvgrab",string,256); - if (strlen(string)) capable->has_dvgrab=TRUE; + get_location("dvgrab", string, 256); + if (strlen(string)) capable->has_dvgrab = TRUE; - get_location("cdda2wav",string,256); - if (strlen(string)) capable->has_cdda2wav=TRUE; + get_location("cdda2wav", string, 256); + if (strlen(string)) capable->has_cdda2wav = TRUE; else { - get_location("icedax",string,256); - if (strlen(string)) capable->has_cdda2wav=TRUE; + get_location("icedax", string, 256); + if (strlen(string)) capable->has_cdda2wav = TRUE; } - get_location("jackd",string,256); - if (strlen(string)) capable->has_jackd=TRUE; + get_location("jackd", string, 256); + if (strlen(string)) capable->has_jackd = TRUE; - get_location("gdb",string,256); - if (strlen(string)) capable->has_gdb=TRUE; + get_location("gdb", string, 256); + if (strlen(string)) capable->has_gdb = TRUE; - get_location("pulseaudio",string,256); - if (strlen(string)) capable->has_pulse_audio=TRUE; + get_location("pulseaudio", string, 256); + if (strlen(string)) capable->has_pulse_audio = TRUE; - get_location("python",string,256); + get_location("python", string, 256); if (strlen(string)) { - capable->has_python=TRUE; - capable->python_version=get_version_hash("python -V 2>&1"," ",1); + capable->has_python = TRUE; + capable->python_version = get_version_hash("python -V 2>&1", " ", 1); } - get_location("xwininfo",string,256); - if (strlen(string)) capable->has_xwininfo=TRUE; + get_location("xwininfo", string, 256); + if (strlen(string)) capable->has_xwininfo = TRUE; - get_location("gconftool-2",string,256); - if (strlen(string)) capable->has_gconftool_2=TRUE; + get_location("gconftool-2", string, 256); + if (strlen(string)) capable->has_gconftool_2 = TRUE; - get_location("xdg-screensaver",string,256); - if (strlen(string)) capable->has_xdg_screensaver=TRUE; + get_location("xdg-screensaver", string, 256); + if (strlen(string)) capable->has_xdg_screensaver = TRUE; - get_location("midistart",string,256); + get_location("midistart", string, 256); if (strlen(string)) { - get_location("midistop",string,256); + get_location("midistop", string, 256); if (strlen(string)) { - capable->has_midistartstop=TRUE; + capable->has_midistartstop = TRUE; } } - capable->ncpus=0; + capable->ncpus = 0; #ifdef IS_DARWIN kerr = host_processor_info(mach_host_self(), PROCESSOR_BASIC_INFO, &numProcessors, &processorInfo, &numProcessorInfo); if (kerr == KERN_SUCCESS) { vm_deallocate(mach_task_self(), (vm_address_t) processorInfo, numProcessorInfo * sizint); } - capable->ncpus=(int)numProcessors; + capable->ncpus = (int)numProcessors; #else #ifdef IS_MINGW @@ -2553,22 +2504,23 @@ //capable->ncpus=lives_win32_get_num_logical_cpus(); #else - tfile=popen("cat /proc/cpuinfo 2>/dev/null | grep processor 2>/dev/null | wc -l 2>/dev/null","r"); - len=fread((void *)buffer,1,1024,tfile); + tfile = popen("cat /proc/cpuinfo 2>/dev/null | grep processor 2>/dev/null | wc -l 2>/dev/null", "r"); + len = fread((void *)buffer, 1, 1024, tfile); pclose(tfile); - memset(buffer+len,0,1); - capable->ncpus=atoi(buffer); + memset(buffer + len, 0, 1); + capable->ncpus = atoi(buffer); #endif #endif - if (capable->ncpus==0) capable->ncpus=1; + if (capable->ncpus == 0) capable->ncpus = 1; return capable; } + void print_notice() { - lives_printerr("\nLiVES %s\n",LiVES_VERSION); + lives_printerr("\nLiVES %s\n", LiVES_VERSION); lives_printerr("Copyright "LIVES_COPYRIGHT_YEARS" Gabriel Finch ("LIVES_AUTHOR_EMAIL") and others.\n"); lives_printerr("LiVES comes with ABSOLUTELY NO WARRANTY\nThis is free software, and you are welcome to redistribute it\n" "under certain conditions;" @@ -2578,70 +2530,69 @@ void print_opthelp(void) { print_notice(); - lives_printerr(_("\nStartup syntax is: %s [opts] [filename [start_time] [frames]]\n"),capable->myname); - lives_printerr("%s",_("Where: filename is the name of a media file or backup file.\n")); - lives_printerr("%s",_("start_time : filename start time in seconds\n")); - lives_printerr("%s",_("frames : maximum number of frames to open\n")); - lives_printerr("%s","\n"); - lives_printerr("%s",_("opts can be:\n")); - lives_printerr("%s",_("-help : show this help text and exit\n")); - lives_printerr("%s",_("-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n")); - lives_printerr("%s",_("-set <setname> : autoload clip set setname\n")); - lives_printerr("%s",_("-noset : do not load any set on startup\n")); - lives_printerr("%s",_("-norecover : force no-loading of crash recovery\n")); - lives_printerr("%s",_("-recover : force loading of crash recovery\n")); - lives_printerr("%s",_("-nothreaddialog : does nothing - retained for backwards compatibility\n")); - lives_printerr("%s",_("-nogui : do not show the gui\n")); - lives_printerr("%s",_("-nosplash : do not show the splash window\n")); - lives_printerr("%s",_("-noplaywin : do not show the play window\n")); - lives_printerr("%s",_("-noninteractive : disable menu interactivity\n")); - lives_printerr("%s",_("-startup-ce : start in clip editor mode\n")); - lives_printerr("%s",_("-startup-mt : start in multitrack mode\n")); - lives_printerr("%s",_("-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is 8)\n")); + lives_printerr(_("\nStartup syntax is: %s [opts] [filename [start_time] [frames]]\n"), capable->myname); + lives_printerr("%s", _("Where: filename is the name of a media file or backup file.\n")); + lives_printerr("%s", _("start_time : filename start time in seconds\n")); + lives_printerr("%s", _("frames : maximum number of frames to open\n")); + lives_printerr("%s", "\n"); + lives_printerr("%s", _("opts can be:\n")); + lives_printerr("%s", _("-help : show this help text and exit\n")); + lives_printerr("%s", _("-tmpdir <tempdir>: use alternate working directory (e.g /var/ramdisk)\n")); + lives_printerr("%s", _("-set <setname> : autoload clip set setname\n")); + lives_printerr("%s", _("-noset : do not load any set on startup\n")); + lives_printerr("%s", _("-norecover : force no-loading of crash recovery\n")); + lives_printerr("%s", _("-recover : force loading of crash recovery\n")); + lives_printerr("%s", _("-nothreaddialog : does nothing - retained for backwards compatibility\n")); + lives_printerr("%s", _("-nogui : do not show the gui\n")); + lives_printerr("%s", _("-nosplash : do not show the splash window\n")); + lives_printerr("%s", _("-noplaywin : do not show the play window\n")); + lives_printerr("%s", _("-noninteractive : disable menu interactivity\n")); + lives_printerr("%s", _("-startup-ce : start in clip editor mode\n")); + lives_printerr("%s", _("-startup-mt : start in multitrack mode\n")); + lives_printerr("%s", _("-fxmodesmax <n> : allow <n> modes per effect key (minimum is 1, default is 8)\n")); #ifdef ENABLE_OSC - lives_printerr("%s",_("-oscstart <port> : start OSC listener on UDP port <port>\n")); - lives_printerr("%s",_("-nooscstart : do not start OSC listener\n")); + lives_printerr("%s", _("-oscstart <port> : start OSC listener on UDP port <port>\n")); + lives_printerr("%s", _("-nooscstart : do not start OSC listener\n")); #endif - lives_printerr("%s",_("-aplayer <ap> : start with selected audio player. <ap> can be mplayer, mplayer2")); + lives_printerr("%s", _("-aplayer <ap> : start with selected audio player. <ap> can be mplayer, mplayer2")); #ifdef HAVE_PULSE_AUDIO // TRANSLATORS: pulse (audio) - lives_printerr("%s",_(", pulse")); + lives_printerr("%s", _(", pulse")); #endif #ifdef ENABLE_JACK - lives_printerr("%s",_(", sox or jack\n")); + lives_printerr("%s", _(", sox or jack\n")); lives_printerr("%s", _("-jackopts <opts> : opts is a bitmap of jack startup options [1 = jack transport client," "2 = jack transport master, 4 = start jack transport server, 8 = pause audio when video paused," "16 = start jack audio server] \n")); #else - lives_printerr("%s",_(" or sox\n")); + lives_printerr("%s", _(" or sox\n")); #endif - lives_printerr("%s",_("-devicemap <mapname> : autoload devicemap\n")); + lives_printerr("%s", _("-devicemap <mapname> : autoload devicemap\n")); lives_printerr("%s", _("-vppdefaults <file> : load video playback plugin defaults from <file> (Note: only sets the settings, not the plugin type)\n")); - lives_printerr("%s",_("-debug : try to debug crashes (requires 'gdb' installed)\n")); + lives_printerr("%s", _("-debug : try to debug crashes (requires 'gdb' installed)\n")); - lives_printerr("%s","\n"); + lives_printerr("%s", "\n"); } //// things to do - on startup #ifdef HAVE_YUV4MPEG static boolean open_yuv4m_startup(livespointer data) { - on_open_yuv4m_activate(NULL,data); + on_open_yuv4m_activate(NULL, data); return FALSE; } #endif - ///////////////////////////////// static boolean lives_startup(livespointer data) { #ifdef GUI_GTK - LiVESError *gerr=NULL; + LiVESError *gerr = NULL; char *icon; #endif - boolean got_files=FALSE; + boolean got_files = FALSE; char *tmp; if (!mainw->foreign) { @@ -2649,11 +2600,11 @@ print_notice(); } - splash_msg(_("Starting GUI..."),SPLASH_LEVEL_BEGIN); + splash_msg(_("Starting GUI..."), SPLASH_LEVEL_BEGIN); - if (palette->style&STYLE_1) widget_opts.apply_theme=TRUE; + if (palette->style & STYLE_1) widget_opts.apply_theme = TRUE; create_LiVES(); - widget_opts.apply_theme=FALSE; + widget_opts.apply_theme = FALSE; set_interactive(mainw->interactive); @@ -2661,33 +2612,34 @@ lives_widget_context_update(); #ifdef GUI_GTK - icon=lives_build_filename(prefs->prefix_dir,DESKTOP_ICON_DIR,"lives.png",NULL); - gtk_window_set_default_icon_from_file(icon,&gerr); + icon = lives_build_filename(prefs->prefix_dir, DESKTOP_ICON_DIR, "lives.png", NULL); + gtk_window_set_default_icon_from_file(icon, &gerr); lives_free(icon); - if (gerr!=NULL) lives_error_free(gerr); + if (gerr != NULL) lives_error_free(gerr); #endif lives_widget_queue_draw(mainw->LiVES); lives_widget_context_update(); - mainw->startup_error=FALSE; + mainw->startup_error = FALSE; if (capable->smog_version_correct) { - if (theme_expected&&palette->style==STYLE_PLAIN&&!mainw->foreign) { + if (theme_expected && palette->style == STYLE_PLAIN && !mainw->foreign) { // non-fatal errors char *tmp2; - char *err=lives_strdup_printf( - _("\n\nThe theme you requested could not be located. Please make sure you have the themes installed in\n%s/%s.\n" - "(Maybe you need to change the value of <prefix_dir> in your %s file)\n"), - (tmp=lives_filename_to_utf8(prefs->prefix_dir,-1,NULL,NULL,NULL)),THEME_DIR,(tmp2=lives_filename_to_utf8(capable->rcfile,-1,NULL,NULL, - NULL))); + char *err = lives_strdup_printf( + _("\n\nThe theme you requested could not be located. Please make sure you have the themes installed in\n%s/%s.\n" + "(Maybe you need to change the value of <prefix_dir> in your %s file)\n"), + (tmp = lives_filename_to_utf8(prefs->prefix_dir, -1, NULL, NULL, NULL)), THEME_DIR, (tmp2 = lives_filename_to_utf8(capable->rcfile, -1, + NULL, NULL, + NULL))); lives_free(tmp2); lives_free(tmp); startup_message_nonfatal(err); lives_free(err); - lives_snprintf(prefs->theme,64,"none"); - upgrade_error=TRUE; + lives_snprintf(prefs->theme, 64, "none"); + upgrade_error = TRUE; } lives_init(&ign_opts); } @@ -2695,31 +2647,31 @@ if (!mainw->foreign) { // fatal errors if (!capable->can_write_to_home) { - startup_message_fatal((tmp=lives_strdup_printf( - _("\nLiVES was unable to write a small file to %s\nPlease make sure you have write access to %s and try again.\n"), - capable->home_dir))); + startup_message_fatal((tmp = lives_strdup_printf( + _("\nLiVES was unable to write a small file to %s\nPlease make sure you have write access to %s and try again.\n"), + capable->home_dir))); lives_free(tmp); } else { if (!capable->has_smogrify) { - char *err=lives_strdup( - _("\n`smogrify` must be in your path, and be executable\n\n" - "Please review the README file which came with this package\nbefore running LiVES.\n")); + char *err = lives_strdup( + _("\n`smogrify` must be in your path, and be executable\n\n" + "Please review the README file which came with this package\nbefore running LiVES.\n")); startup_message_fatal(err); lives_free(err); } else { if (!capable->can_read_from_config) { - char *err=lives_strdup_printf( - _("\nLiVES was unable to read from its configuration file\n%s\n\nPlease check the file permissions for this file and try again.\n"), - (tmp=lives_filename_to_utf8(capable->rcfile,-1,NULL,NULL,NULL))); + char *err = lives_strdup_printf( + _("\nLiVES was unable to read from its configuration file\n%s\n\nPlease check the file permissions for this file and try again.\n"), + (tmp = lives_filename_to_utf8(capable->rcfile, -1, NULL, NULL, NULL))); lives_free(tmp); startup_message_fatal(err); lives_free(err); } else { if (!capable->can_write_to_config) { - char *err=lives_strdup_printf( - _("\nLiVES was unable to write to its configuration file\n%s\n\n" - "Please check the file permissions for this file and directory\nand try again.\n"), - (tmp=lives_filename_to_utf8(capable->rcfile,-1,NULL,NULL,NULL))); + char *err = lives_strdup_printf( + _("\nLiVES was unable to write to its configuration file\n%s\n\n" + "Please check the file permissions for this file and directory\nand try again.\n"), + (tmp = lives_filename_to_utf8(capable->rcfile, -1, NULL, NULL, NULL))); lives_free(tmp); startup_message_fatal(err); lives_free(err); @@ -2728,14 +2680,14 @@ char *extrabit; char *err; if (!mainw->has_session_workdir) { - extrabit=lives_strdup_printf(_("Please check the <tempdir> setting in \n%s\nand try again.\n"), - (tmp=lives_filename_to_utf8(capable->rcfile,-1,NULL,NULL,NULL))); + extrabit = lives_strdup_printf(_("Please check the <tempdir> setting in \n%s\nand try again.\n"), + (tmp = lives_filename_to_utf8(capable->rcfile, -1, NULL, NULL, NULL))); lives_free(tmp); } else - extrabit=lives_strdup(""); + extrabit = lives_strdup(""); - err=lives_strdup_printf(_("\nLiVES was unable to use the working directory\n%s\n\n%s"), - prefs->workdir,extrabit); + err = lives_strdup_printf(_("\nLiVES was unable to use the working directory\n%s\n\n%s"), + prefs->workdir, extrabit); lives_free(extrabit); startup_message_fatal(err); lives_free(err); @@ -2746,31 +2698,31 @@ "Please review the README file which came with this package\nbefore running LiVES.\n\nThankyou.\n")); } else { #ifndef IS_MINGW - if ((!capable->has_sox_sox||!capable->has_sox_play)&&!capable->has_mplayer&&!capable->has_mplayer2&&!capable->has_mpv) { + if ((!capable->has_sox_sox || !capable->has_sox_play) && !capable->has_mplayer && !capable->has_mplayer2 && !capable->has_mpv) { startup_message_fatal( _("\nLiVES currently requires 'mplayer', 'mplayer2' or 'sox' to function. Please install one or other of these, and try again.\n")); } #else - if (!capable->has_sox_sox||(!capable->has_mplayer&&!capable->has_mplayer2&&!capable->has_mpv)) { + if (!capable->has_sox_sox || (!capable->has_mplayer && !capable->has_mplayer2 && !capable->has_mpv)) { startup_message_fatal( _("\nLiVES currently requires both 'mplayer' or 'mplayer2' and 'sox' to function. Please install these, and try again.\n")); } #endif else { if (strlen(capable->startup_msg)) { - if (startup_msgtype==2) startup_message_choice(capable->startup_msg,startup_msgtype); + if (startup_msgtype == 2) startup_message_choice(capable->startup_msg, startup_msgtype); else if (info_only) startup_message_info(capable->startup_msg); else startup_message_nonfatal(capable->startup_msg); } else { // non-fatal errors #ifdef ALLOW_MPV - if (!capable->has_mplayer&&!capable->has_mplayer2&&!capable->has_mpv&&!(prefs->warning_mask&WARN_MASK_NO_MPLAYER)) { + if (!capable->has_mplayer && !capable->has_mplayer2 && !capable->has_mpv && !(prefs->warning_mask & WARN_MASK_NO_MPLAYER)) { startup_message_nonfatal_dismissable( _("\nLiVES was unable to locate 'mplayer','mplayer2' or 'mpv'. " "You may wish to install one of these to use LiVES more fully.\n"), WARN_MASK_NO_MPLAYER); #else - if (!capable->has_mplayer&&!capable->has_mplayer2&&!(prefs->warning_mask&WARN_MASK_NO_MPLAYER)) { + if (!capable->has_mplayer && !capable->has_mplayer2 && !(prefs->warning_mask & WARN_MASK_NO_MPLAYER)) { startup_message_nonfatal_dismissable( _("\nLiVES was unable to locate 'mplayer' or 'mplayer2'. " "You may wish to install one of these to use LiVES more fully.\n"), @@ -2793,35 +2745,35 @@ WARN_MASK_NO_MPLAYER); } if (!capable->has_encoder_plugins) { - char *err=lives_strdup_printf( - _("\nLiVES was unable to find any encoder plugins.\n" - "Please check that you have them installed correctly in\n%s%s%s/\n" - "You will not be able to 'Save' without them.\nYou may need to change the value of <lib_dir> in %s\n"), - prefs->lib_dir,PLUGIN_EXEC_DIR,PLUGIN_ENCODERS,(tmp=lives_filename_to_utf8(capable->rcfile,-1,NULL,NULL,NULL))); + char *err = lives_strdup_printf( + _("\nLiVES was unable to find any encoder plugins.\n" + "Please check that you have them installed correctly in\n%s%s%s/\n" + "You will not be able to 'Save' without them.\nYou may need to change the value of <lib_dir> in %s\n"), + prefs->lib_dir, PLUGIN_EXEC_DIR, PLUGIN_ENCODERS, (tmp = lives_filename_to_utf8(capable->rcfile, -1, NULL, NULL, NULL))); lives_free(tmp); - startup_message_nonfatal_dismissable(err,WARN_MASK_NO_ENCODERS); + startup_message_nonfatal_dismissable(err, WARN_MASK_NO_ENCODERS); lives_free(err); - upgrade_error=TRUE; + upgrade_error = TRUE; } - if (mainw->next_ds_warn_level>0) { + if (mainw->next_ds_warn_level > 0) { uint64_t dsval; - lives_storage_status_t ds=get_storage_status(prefs->workdir,mainw->next_ds_warn_level,&dsval); - if (ds==LIVES_STORAGE_STATUS_WARNING) { + lives_storage_status_t ds = get_storage_status(prefs->workdir, mainw->next_ds_warn_level, &dsval); + if (ds == LIVES_STORAGE_STATUS_WARNING) { char *err; - uint64_t curr_ds_warn=mainw->next_ds_warn_level; - mainw->next_ds_warn_level>>=1; - if (mainw->next_ds_warn_level>(dsval>>1)) mainw->next_ds_warn_level=dsval>>1; - if (mainw->next_ds_warn_level<prefs->ds_crit_level) mainw->next_ds_warn_level=prefs->ds_crit_level; - tmp=ds_warning_msg(prefs->workdir,dsval,curr_ds_warn,mainw->next_ds_warn_level); - err=lives_strdup_printf("\n%s\n",tmp); + uint64_t curr_ds_warn = mainw->next_ds_warn_level; + mainw->next_ds_warn_level >>= 1; + if (mainw->next_ds_warn_level > (dsval >> 1)) mainw->next_ds_warn_level = dsval >> 1; + if (mainw->next_ds_warn_level < prefs->ds_crit_level) mainw->next_ds_warn_level = prefs->ds_crit_level; + tmp = ds_warning_msg(prefs->workdir, dsval, curr_ds_warn, mainw->next_ds_warn_level); + err = lives_strdup_printf("\n%s\n", tmp); lives_free(tmp); startup_message_nonfatal(err); lives_free(err); - } else if (ds==LIVES_STORAGE_STATUS_CRITICAL) { + } else if (ds == LIVES_STORAGE_STATUS_CRITICAL) { char *err; - tmp=ds_critical_msg(prefs->workdir,dsval); - err=lives_strdup_printf("\n%s\n",tmp); + tmp = ds_critical_msg(prefs->workdir, dsval); + err = lives_strdup_printf("\n%s\n", tmp); lives_free(tmp); startup_message_fatal(err); lives_free(err); @@ -2829,12 +2781,12 @@ } } - if (!mainw->foreign&&capable->smog_version_correct) { - splash_msg(_("Loading rendered effect plugins..."),SPLASH_LEVEL_LOAD_RFX); + if (!mainw->foreign && capable->smog_version_correct) { + splash_msg(_("Loading rendered effect plugins..."), SPLASH_LEVEL_LOAD_RFX); add_rfx_effects(); } - if (prefs->startup_interface!=STARTUP_MT) { + if (prefs->startup_interface != STARTUP_MT) { if (prefs->show_gui) { // mainw->ready gets set here show_lives(); @@ -2851,53 +2803,55 @@ else { // capture mode - mainw->foreign_key=atoi(zargv[2]); + mainw->foreign_key = atoi(zargv[2]); -#if GTK_CHECK_VERSION(3,0,0) || defined GUI_QT - mainw->foreign_id=(Window)atoi(zargv[3]); +#if GTK_CHECK_VERSION(3, 0, 0) || defined GUI_QT + mainw->foreign_id = (Window)atoi(zargv[3]); #else - mainw->foreign_id=(GdkNativeWindow)atoi(zargv[3]); + mainw->foreign_id = (GdkNativeWindow)atoi(zargv[3]); #endif - mainw->foreign_width=atoi(zargv[4]); - mainw->foreign_height=atoi(zargv[5]); - lives_snprintf(prefs->image_ext,16,"%s",zargv[6]); - mainw->foreign_bpp=atoi(zargv[7]); - mainw->rec_vid_frames=atoi(zargv[8]); - mainw->rec_fps=strtod(zargv[9],NULL); - mainw->rec_arate=atoi(zargv[10]); - mainw->rec_asamps=atoi(zargv[11]); - mainw->rec_achans=atoi(zargv[12]); - mainw->rec_signed_endian=atoi(zargv[13]); - - if (zargc>14) { - mainw->foreign_visual=lives_strdup(zargv[14]); - if (!strcmp(mainw->foreign_visual,"(null)")) { + mainw->foreign_width = atoi(zargv[4]); + mainw->foreign_height = atoi(zargv[5]); + lives_snprintf(prefs->image_ext, 16, "%s", zargv[6]); + mainw->foreign_bpp = atoi(zargv[7]); + mainw->rec_vid_frames = atoi(zargv[8]); + mainw->rec_fps = strtod(zargv[9], NULL); + mainw->rec_arate = atoi(zargv[10]); + mainw->rec_asamps = atoi(zargv[11]); + mainw->rec_achans = atoi(zargv[12]); + mainw->rec_signed_endian = atoi(zargv[13]); + + if (zargc > 14) { + mainw->foreign_visual = lives_strdup(zargv[14]); + if (!strcmp(mainw->foreign_visual, "(null)")) { lives_free(mainw->foreign_visual); - mainw->foreign_visual=NULL; + mainw->foreign_visual = NULL; } } #ifdef ENABLE_JACK - if (prefs->audio_player==AUD_PLAYER_JACK&&capable->has_jackd&&mainw->rec_achans>0) { + if (prefs->audio_player == AUD_PLAYER_JACK && capable->has_jackd && mainw->rec_achans > 0) { lives_jack_init(); jack_audio_read_init(); } #endif #ifdef HAVE_PULSE_AUDIO - if (prefs->audio_player==AUD_PLAYER_PULSE&&capable->has_pulse_audio&&mainw->rec_achans>0) { + if (prefs->audio_player == AUD_PLAYER_PULSE && capable->has_pulse_audio && mainw->rec_achans > 0) { lives_pulse_init(0); pulse_audio_read_init(); } #endif lives_widget_show(mainw->LiVES); + lives_widget_context_update(); + mainw->go_away = FALSE; on_capture2_activate(); // exits } #ifdef NOTTY if (!mainw->foreign) { close(2); - capable->has_stderr=FALSE; + capable->has_stderr = FALSE; } #endif @@ -2907,52 +2861,51 @@ if (!prefs->show_gui) lives_widget_hide(mainw->LiVES); - if (prefs->startup_phase==100) { + if (prefs->startup_phase == 100) { #ifndef IS_MINGW if (upgrade_error) { do_upgrade_error_dialog(); } #endif - prefs->startup_phase=0; + prefs->startup_phase = 0; } // splash_end() will start up multirack if in STARTUP_MT mode - if (strlen(start_file)&&strcmp(start_file,"-")) { + if (strlen(start_file) && strcmp(start_file, "-")) { splash_end(); - deduce_file(start_file,start,end); - got_files=TRUE; + deduce_file(start_file, start, end); + got_files = TRUE; } else { - set_main_title(NULL,0); + set_main_title(NULL, 0); } splash_end(); - if (prefs->crash_recovery&&!no_recover) got_files=check_for_recovery_files(auto_recover); + if (prefs->crash_recovery && !no_recover) got_files = check_for_recovery_files(auto_recover); - if (!mainw->foreign&&!got_files&&prefs->ar_clipset) { - char *msg=lives_strdup_printf(_("Autoloading set %s..."),prefs->ar_clipset_name); + if (!mainw->foreign && !got_files && prefs->ar_clipset) { + char *msg = lives_strdup_printf(_("Autoloading set %s..."), prefs->ar_clipset_name); d_print(msg); lives_free(msg); - if (!reload_set(prefs->ar_clipset_name) || mainw->current_file==-1) { - set_pref(PREF_AR_CLIPSET,""); - prefs->ar_clipset=FALSE; + if (!reload_set(prefs->ar_clipset_name) || mainw->current_file == -1) { + set_pref(PREF_AR_CLIPSET, ""); + prefs->ar_clipset = FALSE; } } - #ifdef ENABLE_OSC - if (prefs->osc_start) prefs->osc_udp_started=lives_osc_init(prefs->osc_udp_port); + if (prefs->osc_start) prefs->osc_udp_started = lives_osc_init(prefs->osc_udp_port); #endif if (mainw->recoverable_layout) do_layout_recover_dialog(); - if (!prefs->show_gui&&prefs->startup_interface==STARTUP_CE) mainw->is_ready=TRUE; + if (!prefs->show_gui && prefs->startup_interface == STARTUP_CE) mainw->is_ready = TRUE; - mainw->kb_timer_end=FALSE; - mainw->kb_timer=lives_timer_add(KEY_RPT_INTERVAL,&ext_triggers_poll,NULL); + mainw->kb_timer_end = FALSE; + mainw->kb_timer = lives_timer_add(KEY_RPT_INTERVAL, &ext_triggers_poll, NULL); #ifdef HAVE_YUV4MPEG - if (strlen(prefs->yuvin)>0) lives_idle_add(open_yuv4m_startup,NULL); + if (strlen(prefs->yuvin) > 0) lives_idle_add(open_yuv4m_startup, NULL); #endif #ifdef GUI_GTK @@ -2968,15 +2921,15 @@ #endif #endif -#if GTK_CHECK_VERSION(3,0,0) - if (!mainw->foreign&&prefs->show_gui) { +#if GTK_CHECK_VERSION(3, 0, 0) + if (!mainw->foreign && prefs->show_gui) { calibrate_sepwin_size(); } #endif - mainw->go_away=FALSE; + mainw->go_away = FALSE; - lives_notify(LIVES_OSC_NOTIFY_MODE_CHANGED,(tmp=lives_strdup_printf("%d",STARTUP_CE))); + lives_notify(LIVES_OSC_NOTIFY_MODE_CHANGED, (tmp = lives_strdup_printf("%d", STARTUP_CE))); lives_free(tmp); return FALSE; @@ -2991,15 +2944,14 @@ sigemptyset(&smask); - sigaddset(&smask,LIVES_SIGINT); - sigaddset(&smask,LIVES_SIGTERM); - sigaddset(&smask,LIVES_SIGSEGV); - sigaddset(&smask,LIVES_SIGABRT); - - sact.sa_handler=sigfunc; - sact.sa_flags=0; - sact.sa_mask=smask; - + sigaddset(&smask, LIVES_SIGINT); + sigaddset(&smask, LIVES_SIGTERM); + sigaddset(&smask, LIVES_SIGSEGV); + sigaddset(&smask, LIVES_SIGABRT); + + sact.sa_handler = sigfunc; + sact.sa_flags = 0; + sact.sa_mask = smask; sigaction(LIVES_SIGINT, &sact, NULL); sigaction(LIVES_SIGTERM, &sact, NULL); @@ -3017,13 +2969,12 @@ previousHandler = previousHandler; // shut gcc up #endif - if (mainw!=NULL) { - if (sigfunc==defer_sigint) mainw->signals_deferred=TRUE; - else mainw->signals_deferred=FALSE; + if (mainw != NULL) { + if (sigfunc == defer_sigint) mainw->signals_deferred = TRUE; + else mainw->signals_deferred = FALSE; } } - int real_main(int argc, char *argv[], pthread_t *gtk_thread, ulong id) { #ifdef ENABLE_OSC #ifdef IS_MINGW @@ -3037,15 +2988,15 @@ char *tmp; #ifdef GUI_QT - qapp = new QApplication(argc,argv); + qapp = new QApplication(argc, argv); qtime = new QTime(); qtime->start(); #endif - mainw=NULL; + mainw = NULL; set_signal_handlers((SignalHandlerPointer)catch_sigint); - ign_opts.ign_clipset=ign_opts.ign_osc=ign_opts.ign_aplayer=ign_opts.ign_stmode=ign_opts.ign_vppdefs=FALSE; + ign_opts.ign_clipset = ign_opts.ign_osc = ign_opts.ign_aplayer = ign_opts.ign_stmode = ign_opts.ign_vppdefs = FALSE; #ifdef ENABLE_OIL oil_init(); @@ -3055,13 +3006,13 @@ orc_init(); #endif - zargc=argc; - zargv=argv; + zargc = argc; + zargv = argv; - mainw=NULL; + mainw = NULL; #ifdef ENABLE_NLS - trString=NULL; + trString = NULL; bindtextdomain(GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR); #ifdef UTF8_CHARSET bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); @@ -3076,7 +3027,7 @@ #ifdef IS_MINGW // Initialize Winsock - iResult = WSAStartup(MAKEWORD(2,2), &wsaData); + iResult = WSAStartup(MAKEWORD(2, 2), &wsaData); if (iResult != 0) { printf("WSAStartup failed: %d\n", iResult); exit(1); @@ -3092,56 +3043,54 @@ #ifdef GUI_GTK #ifdef LIVES_NO_DEBUG // don't crash on GTK+ fatals - //g_log_set_always_fatal((GLogLevelFlags)0); + g_log_set_always_fatal((GLogLevelFlags)0); //gtk_window_set_interactive_debugging(TRUE); #endif - g_log_set_default_handler(lives_log_handler,NULL); + g_log_set_default_handler(lives_log_handler, NULL); #endif - theme_expected=pre_init(); + theme_expected = pre_init(); // mainw->foreign is set if we are grabbing an external window - mainw->foreign=FALSE; - memset(start_file,0,1); - mainw->has_session_workdir=FALSE; + mainw->foreign = FALSE; + memset(start_file, 0, 1); + mainw->has_session_workdir = FALSE; - mainw->libthread=gtk_thread; - mainw->id=id; + mainw->libthread = gtk_thread; + mainw->id = id; - lives_snprintf(mainw->first_info_file,PATH_MAX,"%s"LIVES_DIR_SEP LIVES_INFO_FILE_NAME".%d",prefs->workdir,capable->mainpid); + lives_snprintf(mainw->first_info_file, PATH_MAX, "%s"LIVES_DIR_SEP LIVES_INFO_FILE_NAME".%d", prefs->workdir, capable->mainpid); // what's my name ? - capable->myname_full=lives_find_program_in_path(argv[0]); + capable->myname_full = lives_find_program_in_path(argv[0]); - if ((mynsize=lives_readlink(capable->myname_full,fbuff,PATH_MAX))!=-1) { + if ((mynsize = lives_readlink(capable->myname_full, fbuff, PATH_MAX)) != -1) { // no. i mean, what's my real name ? - memset(fbuff+mynsize,0,1); + memset(fbuff + mynsize, 0, 1); lives_free(capable->myname_full); - capable->myname_full=lives_strdup(fbuff); + capable->myname_full = lives_strdup(fbuff); } // what's my short name (without the path) ? - lives_snprintf(fbuff,PATH_MAX,"%s",capable->myname_full); + lives_snprintf(fbuff, PATH_MAX, "%s", capable->myname_full); get_basename(fbuff); - capable->myname=lives_strdup(fbuff); - + capable->myname = lives_strdup(fbuff); /* TRANSLATORS: localised name may be used here */ lives_set_application_name(_("LiVES")); - // format is: // lives [opts] [filename [start_time] [frames]] - if (argc>1) { - if (!strcmp(argv[1],"-capture")) { + if (argc > 1) { + if (!strcmp(argv[1], "-capture")) { // special mode for grabbing external window - mainw->foreign=TRUE; - } else if (!strcmp(argv[1],"-help")||!strcmp(argv[1],"--help")) { + mainw->foreign = TRUE; + } else if (!strcmp(argv[1], "-help") || !strcmp(argv[1], "--help")) { print_opthelp(); exit(0); - } else if (!strcmp(argv[1],"-version")||!strcmp(argv[1],"--version")) { + } else if (!strcmp(argv[1], "-version") || !strcmp(argv[1], "--version")) { print_notice(); exit(0); } else { @@ -3176,60 +3125,60 @@ #endif {0, 0, 0, 0} }; - int option_index=0; + int option_index = 0; const char *charopt; int c; while (1) { - c=getopt_long_only(argc,argv,"",longopts,&option_index); - if (c==-1) break; // end of options - charopt=longopts[option_index].name; - if (!strcmp(charopt,"norecover")) { + c = getopt_long_only(argc, argv, "", longopts, &option_index); + if (c == -1) break; // end of options + charopt = longopts[option_index].name; + if (!strcmp(charopt, "norecover")) { // auto no-recovery - no_recover=TRUE; + no_recover = TRUE; continue; } - if (!strcmp(charopt,"debug")) { + if (!strcmp(charopt, "debug")) { // debug crashes - mainw->debug=TRUE; + mainw->debug = TRUE; continue; } - if (!strcmp(charopt,"recover")) { + if (!strcmp(charopt, "recover")) { // auto recovery - auto_recover=TRUE; + auto_recover = TRUE; continue; } - if (!strcmp(charopt,"tmpdir")) { - mainw->has_session_workdir=TRUE; + if (!strcmp(charopt, "tmpdir")) { + mainw->has_session_workdir = TRUE; // override tempdir (workdir) setting - lives_snprintf(prefs->workdir,PATH_MAX,"%s",optarg); - lives_snprintf(future_prefs->workdir,PATH_MAX,"%s",prefs->workdir); - set_pref(PREF_SESSION_WORKDIR,prefs->workdir); + lives_snprintf(prefs->workdir, PATH_MAX, "%s", optarg); + lives_snprintf(future_prefs->workdir, PATH_MAX, "%s", prefs->workdir); + set_pref(PREF_SESSION_WORKDIR, prefs->workdir); - if (lives_mkdir_with_parents(prefs->workdir,capable->umask)==-1) { + if (lives_mkdir_with_parents(prefs->workdir, capable->umask) == -1) { if (!check_dir_access(prefs->workdir)) { // abort if we cannot create the new subdir LIVES_ERROR("Could not create directory"); LIVES_ERROR(prefs->workdir); } - capable->can_write_to_workdir=FALSE; + capable->can_write_to_workdir = FALSE; } else { LIVES_INFO("Created directory"); LIVES_INFO(prefs->workdir); } - mainw->com_failed=FALSE; + mainw->com_failed = FALSE; continue; } - if (!strcmp(charopt,"yuvin")) { + if (!strcmp(charopt, "yuvin")) { #ifdef HAVE_YUV4MPEG char *dir; - lives_snprintf(prefs->yuvin,PATH_MAX,"%s",optarg); - prefs->startup_interface=STARTUP_CE; - ign_opts.ign_stmode=TRUE; + lives_snprintf(prefs->yuvin, PATH_MAX, "%s", optarg); + prefs->startup_interface = STARTUP_CE; + ign_opts.ign_stmode = TRUE; - dir=get_dir(prefs->yuvin); + dir = get_dir(prefs->yuvin); get_basename(prefs->yuvin); - lives_snprintf(prefs->yuvin,PATH_MAX,"%s",(tmp=lives_build_filename(dir,prefs->yuvin,NULL))); + lives_snprintf(prefs->yuvin, PATH_MAX, "%s", (tmp = lives_build_filename(dir, prefs->yuvin, NULL))); lives_free(tmp); lives_free(dir); @@ -3238,178 +3187,178 @@ #endif continue; } - if (!strcmp(charopt,"noset")) { + if (!strcmp(charopt, "noset")) { // override clipset loading - memset(prefs->ar_clipset_name,0,1); - prefs->ar_clipset=FALSE; - ign_opts.ign_clipset=TRUE; + memset(prefs->ar_clipset_name, 0, 1); + prefs->ar_clipset = FALSE; + ign_opts.ign_clipset = TRUE; continue; } - if (!strcmp(charopt,"set")&&optarg!=NULL) { + if (!strcmp(charopt, "set") && optarg != NULL) { // force clipset loading - lives_snprintf(prefs->ar_clipset_name,128,"%s",optarg); - prefs->ar_clipset=TRUE; - ign_opts.ign_clipset=TRUE; + lives_snprintf(prefs->ar_clipset_name, 128, "%s", optarg); + prefs->ar_clipset = TRUE; + ign_opts.ign_clipset = TRUE; continue; } #ifdef ENABLE_OSC - if (!strcmp(charopt,"devicemap")&&optarg!=NULL) { + if (!strcmp(charopt, "devicemap") && optarg != NULL) { // force devicemap loading char *dir; char devmap[PATH_MAX]; - lives_snprintf(devmap,PATH_MAX,"%s",optarg); - dir=get_dir(devmap); + lives_snprintf(devmap, PATH_MAX, "%s", optarg); + dir = get_dir(devmap); get_basename(devmap); - lives_snprintf(devmap,PATH_MAX,"%s",(tmp=lives_build_filename(dir,devmap,NULL))); + lives_snprintf(devmap, PATH_MAX, "%s", (tmp = lives_build_filename(dir, devmap, NULL))); lives_free(tmp); lives_free(dir); on_midi_load_activate(NULL, devmap); continue; } #endif - if (!strcmp(charopt,"vppdefaults")&&optarg!=NULL) { + if (!strcmp(charopt, "vppdefaults") && optarg != NULL) { char *dir; // load alternate vpp file - lives_snprintf(mainw->vpp_defs_file,PATH_MAX,"%s",optarg); - ign_opts.ign_vppdefs=TRUE; + lives_snprintf(mainw->vpp_defs_file, PATH_MAX, "%s", optarg); + ign_opts.ign_vppdefs = TRUE; - dir=get_dir(mainw->vpp_defs_file); + dir = get_dir(mainw->vpp_defs_file); get_basename(mainw->vpp_defs_file); - lives_snprintf(mainw->vpp_defs_file,PATH_MAX,"%s",(tmp=lives_build_filename(dir,mainw->vpp_defs_file,NULL))); + lives_snprintf(mainw->vpp_defs_file, PATH_MAX, "%s", (tmp = lives_build_filename(dir, mainw->vpp_defs_file, NULL))); lives_free(tmp); lives_free(dir); continue; } - if (!strcmp(charopt,"aplayer")) { + if (!strcmp(charopt, "aplayer")) { char buff[256]; - boolean apl_valid=FALSE; + boolean apl_valid = FALSE; - lives_snprintf(buff,256,"%s",optarg); + lives_snprintf(buff, 256, "%s", optarg); // override aplayer default - if (!strcmp(buff,AUDIO_PLAYER_SOX)) { + if (!strcmp(buff, AUDIO_PLAYER_SOX)) { switch_aud_to_sox(TRUE); - apl_valid=TRUE; + apl_valid = TRUE; } - if (!strcmp(buff,AUDIO_PLAYER_MPLAYER)) { + if (!strcmp(buff, AUDIO_PLAYER_MPLAYER)) { switch_aud_to_mplayer(TRUE); - apl_valid=TRUE; + apl_valid = TRUE; } - if (!strcmp(buff,AUDIO_PLAYER_MPLAYER2)) { + if (!strcmp(buff, AUDIO_PLAYER_MPLAYER2)) { switch_aud_to_mplayer2(TRUE); - apl_valid=TRUE; + apl_valid = TRUE; } - if (!strcmp(buff,AUDIO_PLAYER_JACK)) { + if (!strcmp(buff, AUDIO_PLAYER_JACK)) { #ifdef ENABLE_JACK - prefs->audio_player=AUD_PLAYER_JACK; - lives_snprintf(prefs->aplayer,512,"%s",AUDIO_PLAYER_JACK); - set_pref(PREF_AUDIO_PLAYER,AUDIO_PLAYER_JACK); - apl_valid=TRUE; + prefs->audio_player = AUD_PLAYER_JACK; + lives_snprintf(prefs->aplayer, 512, "%s", AUDIO_PLAYER_JACK); + set_pref(PREF_AUDIO_PLAYER, AUDIO_PLAYER_JACK); + apl_valid = TRUE; #endif } - if (!strcmp(buff,AUDIO_PLAYER_PULSE)) { + if (!strcmp(buff, AUDIO_PLAYER_PULSE)) { #ifdef HAVE_PULSE_AUDIO - prefs->audio_player=AUD_PLAYER_PULSE; - set_pref(PREF_AUDIO_PLAYER,AUDIO_PLAYER_PULSE); - lives_snprintf(prefs->aplayer,512,"%s",AUDIO_PLAYER_PULSE); - apl_valid=TRUE; + prefs->audio_player = AUD_PLAYER_PULSE; + set_pref(PREF_AUDIO_PLAYER, AUDIO_PLAYER_PULSE); + lives_snprintf(prefs->aplayer, 512, "%s", AUDIO_PLAYER_PULSE); + apl_valid = TRUE; #endif } - if (apl_valid) ign_opts.ign_aplayer=TRUE; - else lives_printerr(_("Invalid audio player %s\n"),buff); + if (apl_valid) ign_opts.ign_aplayer = TRUE; + else lives_printerr(_("Invalid audio player %s\n"), buff); continue; } - if (!strcmp(charopt,"nogui")) { + if (!strcmp(charopt, "nogui")) { // force headless mode - prefs->show_gui=FALSE; + prefs->show_gui = FALSE; continue; } - if (!strcmp(charopt,"nosplash")) { + if (!strcmp(charopt, "nosplash")) { // do not show splash - prefs->show_splash=FALSE; + prefs->show_splash = FALSE; continue; } - if (!strcmp(charopt,"noplaywin")) { + if (!strcmp(charopt, "noplaywin")) { // do not show the play window - prefs->show_playwin=FALSE; + prefs->show_playwin = FALSE; continue; } - if (!strcmp(charopt,"noninteractive")) { + if (!strcmp(charopt, "noninteractive")) { // disable menu/toolbar interactivity - mainw->interactive=FALSE; + mainw->interactive = FALSE; continue; } - if (!strcmp(charopt,"nothreaddialog")) { + if (!strcmp(charopt, "nothreaddialog")) { // disable threaded dialog (does nothing now) continue; } - if (!strcmp(charopt,"fxmodesmax")&&optarg!=NULL) { + if (!strcmp(charopt, "fxmodesmax") && optarg != NULL) { // set number of fx modes - prefs->max_modes_per_key=atoi(optarg); - if (prefs->max_modes_per_key<1) prefs->max_modes_per_key=1; - ign_opts.ign_osc=TRUE; + prefs->max_modes_per_key = atoi(optarg); + if (prefs->max_modes_per_key < 1) prefs->max_modes_per_key = 1; + ign_opts.ign_osc = TRUE; continue; } - if (!strcmp(charopt,"bigendbug")) { - if (optarg!=NULL) { + if (!strcmp(charopt, "bigendbug")) { + if (optarg != NULL) { // set bigendbug - prefs->bigendbug=atoi(optarg); - } else prefs->bigendbug=1; + prefs->bigendbug = atoi(optarg); + } else prefs->bigendbug = 1; continue; } #ifdef ENABLE_OSC - if (!strcmp(charopt,"oscstart")&&optarg!=NULL) { + if (!strcmp(charopt, "oscstart") && optarg != NULL) { // force OSC start - prefs->osc_udp_port=atoi(optarg); - prefs->osc_start=TRUE; - ign_opts.ign_osc=TRUE; + prefs->osc_udp_port = atoi(optarg); + prefs->osc_start = TRUE; + ign_opts.ign_osc = TRUE; continue; } - if (!strcmp(charopt,"nooscstart")) { + if (!strcmp(charopt, "nooscstart")) { // force no OSC start - prefs->osc_start=FALSE; - ign_opts.ign_osc=TRUE; + prefs->osc_start = FALSE; + ign_opts.ign_osc = TRUE; continue; } #endif #ifdef ENABLE_JACK - if (!strcmp(charopt,"jackopts")&&optarg!=NULL) { + if (!strcmp(charopt, "jackopts") && optarg != NULL) { // override jackopts in config file - prefs->jack_opts=atoi(optarg); + prefs->jack_opts = atoi(optarg); continue; } #endif - if (!strcmp(charopt,"startup-ce")) { + if (!strcmp(charopt, "startup-ce")) { // force start in clip editor mode if (!ign_opts.ign_stmode) { - prefs->startup_interface=STARTUP_CE; - ign_opts.ign_stmode=TRUE; + prefs->startup_interface = STARTUP_CE; + ign_opts.ign_stmode = TRUE; } continue; } - if (!strcmp(charopt,"startup-mt")) { + if (!strcmp(charopt, "startup-mt")) { // force start in multitrack mode if (!ign_opts.ign_stmode) { - prefs->startup_interface=STARTUP_MT; - ign_opts.ign_stmode=TRUE; + prefs->startup_interface = STARTUP_MT; + ign_opts.ign_stmode = TRUE; } continue; } } - if (optind<argc) { + if (optind < argc) { // remaining opts are filename [start_time] [end_frame] char *dir; - lives_snprintf(start_file,PATH_MAX,"%s",argv[optind++]); // filename - if (optind<argc) start=lives_strtod(argv[optind++],NULL); // start time (seconds) - if (optind<argc) end=atoi(argv[optind++]); // number of frames + lives_snprintf(start_file, PATH_MAX, "%s", argv[optind++]); // filename + if (optind < argc) start = lives_strtod(argv[optind++], NULL); // start time (seconds) + if (optind < argc) end = atoi(argv[optind++]); // number of frames - if (lives_strrstr(start_file,"://")==NULL) { + if (lives_strrstr(start_file, "://") == NULL) { // prepend current directory if needed (unless file contains :// - eg. dvd:// or http://) - dir=get_dir(start_file); + dir = get_dir(start_file); get_basename(start_file); - lives_snprintf(start_file,PATH_MAX,"%s",(tmp=lives_build_filename(dir,start_file,NULL))); + lives_snprintf(start_file, PATH_MAX, "%s", (tmp = lives_build_filename(dir, start_file, NULL))); lives_free(tmp); lives_free(dir); } @@ -3417,15 +3366,13 @@ } } - - lives_idle_add(lives_startup,NULL); - + lives_idle_add(lives_startup, NULL); #ifdef GUI_GTK - if (gtk_thread==NULL) { + if (gtk_thread == NULL) { gtk_main(); } else { - pthread_create(gtk_thread,NULL,gtk_thread_wrapper,NULL); + pthread_create(gtk_thread, NULL, gtk_thread_wrapper, NULL); } #endif @@ -3437,85 +3384,85 @@ } - - boolean startup_message_fatal(const char *msg) { splash_end(); do_blocking_error_dialog(msg); - mainw->startup_error=TRUE; + mainw->startup_error = TRUE; lives_exit(0); return TRUE; } + boolean startup_message_nonfatal(const char *msg) { - if (palette->style&STYLE_1) widget_opts.apply_theme=TRUE; + if (palette->style & STYLE_1) widget_opts.apply_theme = TRUE; do_error_dialog(msg); - widget_opts.apply_theme=FALSE; + widget_opts.apply_theme = FALSE; return TRUE; } boolean startup_message_choice(const char *msg, int msg_type) { boolean res; - if (palette->style&STYLE_1) widget_opts.apply_theme=TRUE; - res=do_yesno_dialog(msg); - widget_opts.apply_theme=FALSE; - if (res&&msg_type==2) { + if (palette->style & STYLE_1) widget_opts.apply_theme = TRUE; + res = do_yesno_dialog(msg); + widget_opts.apply_theme = FALSE; + if (res && msg_type == 2) { // do chmod - char *mode=lives_strdup_printf("-R %o",capable->umask); - lives_chmod(prefs->workdir,mode); + char *mode = lives_strdup_printf("-R %o", capable->umask); + lives_chmod(prefs->workdir, mode); lives_free(mode); } return TRUE; } + boolean startup_message_info(const char *msg) { - if (palette->style&STYLE_1) widget_opts.apply_theme=TRUE; + if (palette->style & STYLE_1) widget_opts.apply_theme = TRUE; do_info_dialog(msg); - widget_opts.apply_theme=FALSE; + widget_opts.apply_theme = FALSE; return TRUE; } + boolean startup_message_nonfatal_dismissable(const char *msg, int warning_mask) { - if (palette->style&STYLE_1) widget_opts.apply_theme=TRUE; + if (palette->style & STYLE_1) widget_opts.apply_theme = TRUE; do_error_dialog_with_check(msg, warning_mask); - widget_opts.apply_theme=FALSE; + widget_opts.apply_theme = FALSE; return TRUE; } void set_main_title(const char *file, int untitled) { - char *title,*tmp; + char *title, *tmp; char short_file[256]; - if (file!=NULL) { - if (untitled) title=lives_strdup_printf(_("LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps"),LiVES_VERSION,untitled, - cfile->hsize,cfile->vsize,cfile->frames,cfile->bpp,cfile->fps); + if (file != NULL) { + if (untitled) title = lives_strdup_printf(_("LiVES-%s: <Untitled%d> %dx%d : %d frames %d bpp %.3f fps"), LiVES_VERSION, untitled, + cfile->hsize, cfile->vsize, cfile->frames, cfile->bpp, cfile->fps); else { - lives_snprintf(short_file,256,"%s",file); - if (cfile->restoring||(cfile->opening&&cfile->frames==123456789)) { - title=lives_strdup_printf(_("LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps"),LiVES_VERSION, - (tmp=lives_path_get_basename(file)),cfile->hsize,cfile->vsize,cfile->fps); + lives_snprintf(short_file, 256, "%s", file); + if (cfile->restoring || (cfile->opening && cfile->frames == 123456789)) { + title = lives_strdup_printf(_("LiVES-%s: <%s> %dx%d : ??? frames ??? bpp %.3f fps"), LiVES_VERSION, + (tmp = lives_path_get_basename(file)), cfile->hsize, cfile->vsize, cfile->fps); } else { - title=lives_strdup_printf(_("LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps"),LiVES_VERSION, - cfile->clip_type!=CLIP_TYPE_VIDEODEV?(tmp=lives_path_get_basename(file)) - :(tmp=lives_strdup(file)),cfile->hsize,cfile->vsize,cfile->frames,cfile->bpp,cfile->fps); + title = lives_strdup_printf(_("LiVES-%s: <%s> %dx%d : %d frames %d bpp %.3f fps"), LiVES_VERSION, + cfile->clip_type != CLIP_TYPE_VIDEODEV ? (tmp = lives_path_get_basename(file)) + : (tmp = lives_strdup(file)), cfile->hsize, cfile->vsize, cfile->frames, cfile->bpp, cfile->fps); } lives_free(tmp); } } else { - title=lives_strdup_printf(_("LiVES-%s: <No File>"),LiVES_VERSION); + title = lives_strdup_printf(_("LiVES-%s: <No File>"), LiVES_VERSION); } - tmp=widget_opts.title_prefix; - widget_opts.title_prefix=""; + tmp = widget_opts.title_prefix; + widget_opts.title_prefix = ""; lives_window_set_title(LIVES_WINDOW(mainw->LiVES), title); - widget_opts.title_prefix=tmp; + widget_opts.title_prefix = tmp; lives_free(title); - if (mainw->playing_file==-1&&mainw->play_window!=NULL) play_window_set_title(); - + if (mainw->playing_file == -1 && mainw->play_window != NULL) play_window_set_title(); } @@ -3524,7 +3471,7 @@ // READY MODE int i; - if (mainw->multitrack!=NULL) return; + if (mainw->multitrack != NULL) return; lives_widget_set_sensitive(mainw->open, TRUE); lives_widget_set_sensitive(mainw->open_sel, TRUE); @@ -3537,107 +3484,106 @@ lives_widget_set_sensitive(mainw->open_device_menu, TRUE); lives_widget_set_sensitive(mainw->restore, TRUE); lives_widget_set_sensitive(mainw->recent_menu, TRUE); - lives_widget_set_sensitive(mainw->save_as, mainw->current_file>0&&capable->has_encoder_plugins); - lives_widget_set_sensitive(mainw->backup, mainw->current_file>0); - lives_widget_set_sensitive(mainw->save_selection, mainw->current_file>0&&cfile->frames>0&&capable->has_encoder_plugins); + lives_widget_set_sensitive(mainw->save_as, mainw->current_file > 0 && capable->has_encoder_plugins); + lives_widget_set_sensitive(mainw->backup, mainw->current_file > 0); + lives_widget_set_sensitive(mainw->save_selection, mainw->current_file > 0 && cfile->frames > 0 && capable->has_encoder_plugins); lives_widget_set_sensitive(mainw->clear_ds, TRUE); lives_widget_set_sensitive(mainw->load_cdtrack, TRUE); - lives_widget_set_sensitive(mainw->playsel, mainw->current_file>0&&cfile->frames>0); - lives_widget_set_sensitive(mainw->copy, mainw->current_file>0&&cfile->frames>0); - lives_widget_set_sensitive(mainw->cut, mainw->current_file>0&&cfile->frames>0); - lives_widget_set_sensitive(mainw->rev_clipboard, !(clipboard==NULL)); - lives_widget_set_sensitive(mainw->playclip, !(clipboard==NULL)); - lives_widget_set_sensitive(mainw->paste_as_new, !(clipboard==NULL)); - lives_widget_set_sensitive(mainw->insert, !(clipboard==NULL)); - lives_widget_set_sensitive(mainw->merge,(clipboard!=NULL&&cfile->frames>0)); - lives_widget_set_sensitive(mainw->xdelete, mainw->current_file>0&&cfile->frames>0); - lives_widget_set_sensitive(mainw->playall, mainw->current_file>0); - lives_widget_set_sensitive(mainw->m_playbutton, mainw->current_file>0); - lives_widget_set_sensitive(mainw->m_playselbutton, mainw->current_file>0&&cfile->frames>0); - lives_widget_set_sensitive(mainw->m_rewindbutton, mainw->current_file>0&&cfile->pointer_time>0.); + lives_widget_set_sensitive(mainw->playsel, mainw->current_file > 0 && cfile->frames > 0); + lives_widget_set_sensitive(mainw->copy, mainw->current_file > 0 && cfile->frames > 0); + lives_widget_set_sensitive(mainw->cut, mainw->current_file > 0 && cfile->frames > 0); + lives_widget_set_sensitive(mainw->rev_clipboard, !(clipboard == NULL)); + lives_widget_set_sensitive(mainw->playclip, !(clipboard == NULL)); + lives_widget_set_sensitive(mainw->paste_as_new, !(clipboard == NULL)); + lives_widget_set_sensitive(mainw->insert, !(clipboard == NULL)); + lives_widget_set_sensitive(mainw->merge, (clipboard != NULL && cfile->frames > 0)); + lives_widget_set_sensitive(mainw->xdelete, mainw->current_file > 0 && cfile->frames > 0); + lives_widget_set_sensitive(mainw->playall, mainw->current_file > 0); + lives_widget_set_sensitive(mainw->m_playbutton, mainw->current_file > 0); + lives_widget_set_sensitive(mainw->m_playselbutton, mainw->current_file > 0 && cfile->frames > 0); + lives_widget_set_sensitive(mainw->m_rewindbutton, mainw->current_file > 0 && cfile->pointer_time > 0.); lives_widget_set_sensitive(mainw->m_loopbutton, TRUE); lives_widget_set_sensitive(mainw->m_mutebutton, TRUE); - if (mainw->preview_box!=NULL) { - lives_widget_set_sensitive(mainw->p_playbutton, mainw->current_file>0); - lives_widget_set_sensitive(mainw->p_playselbutton, mainw->current_file>0&&cfile->frames>0); - lives_widget_set_sensitive(mainw->p_rewindbutton, mainw->current_file>0&&cfile->pointer_time>0.); + if (mainw->preview_box != NULL) { + lives_widget_set_sensitive(mainw->p_playbutton, mainw->current_file > 0); + lives_widget_set_sensitive(mainw->p_playselbutton, mainw->current_file > 0 && cfile->frames > 0); + lives_widget_set_sensitive(mainw->p_rewindbutton, mainw->current_file > 0 && cfile->pointer_time > 0.); lives_widget_set_sensitive(mainw->p_loopbutton, TRUE); lives_widget_set_sensitive(mainw->p_mutebutton, TRUE); } - lives_widget_set_sensitive(mainw->rewind, mainw->current_file>0&&cfile->pointer_time>0.); - lives_widget_set_sensitive(mainw->show_file_info, mainw->current_file>0); - lives_widget_set_sensitive(mainw->show_file_comments, mainw->current_file>0); + lives_widget_set_sensitive(mainw->rewind, mainw->current_file > 0 && cfile->pointer_time > 0.); + lives_widget_set_sensitive(mainw->show_file_info, mainw->current_file > 0); + lives_widget_set_sensitive(mainw->show_file_comments, mainw->current_file > 0); lives_widget_set_sensitive(mainw->full_screen, TRUE); lives_widget_set_sensitive(mainw->mt_menu, TRUE); - lives_widget_set_sensitive(mainw->unicap,TRUE); - lives_widget_set_sensitive(mainw->firewire,TRUE); - lives_widget_set_sensitive(mainw->tvdev,TRUE); + lives_widget_set_sensitive(mainw->unicap, TRUE); + lives_widget_set_sensitive(mainw->firewire, TRUE); + lives_widget_set_sensitive(mainw->tvdev, TRUE); - lives_widget_set_sensitive(mainw->export_proj, mainw->current_file>0); - lives_widget_set_sensitive(mainw->import_proj, mainw->current_file==-1); + lives_widget_set_sensitive(mainw->export_proj, mainw->current_file > 0); + lives_widget_set_sensitive(mainw->import_proj, mainw->current_file == -1); if (!mainw->foreign) { - for (i=1; i<=mainw->num_rendered_effects_builtin+mainw->num_rendered_effects_custom+ + for (i = 1; i <= mainw->num_rendered_effects_builtin + mainw->num_rendered_effects_custom + mainw->num_rendered_effects_test; i++) - if (mainw->rendered_fx[i].menuitem!=NULL&&mainw->rendered_fx[i].min_frames>=0) - lives_widget_set_sensitive(mainw->rendered_fx[i].menuitem,mainw->current_file>0&&cfile->frames>0); + if (mainw->rendered_fx[i].menuitem != NULL && mainw->rendered_fx[i].min_frames >= 0) + lives_widget_set_sensitive(mainw->rendered_fx[i].menuitem, mainw->current_file > 0 && cfile->frames > 0); - if (mainw->current_file>0&&((has_video_filters(FALSE)&&!has_video_filters(TRUE))|| - (cfile->achans>0&&prefs->audio_src==AUDIO_SRC_INT&&has_audio_filters(AF_TYPE_ANY))|| - mainw->agen_key!=0)) { - - lives_widget_set_sensitive(mainw->rendered_fx[0].menuitem,TRUE); - } else lives_widget_set_sensitive(mainw->rendered_fx[0].menuitem,FALSE); + if (mainw->current_file > 0 && ((has_video_filters(FALSE) && !has_video_filters(TRUE)) || + (cfile->achans > 0 && prefs->audio_src == AUDIO_SRC_INT && has_audio_filters(AF_TYPE_ANY)) || + mainw->agen_key != 0)) { + lives_widget_set_sensitive(mainw->rendered_fx[0].menuitem, TRUE); + } else lives_widget_set_sensitive(mainw->rendered_fx[0].menuitem, FALSE); } - if (mainw->num_rendered_effects_test>0) { - lives_widget_set_sensitive(mainw->run_test_rfx_submenu,TRUE); + if (mainw->num_rendered_effects_test > 0) { + lives_widget_set_sensitive(mainw->run_test_rfx_submenu, TRUE); } if (mainw->has_custom_gens) { - lives_widget_set_sensitive(mainw->custom_gens_submenu,TRUE); + lives_widget_set_sensitive(mainw->custom_gens_submenu, TRUE); } if (mainw->has_custom_tools) { - lives_widget_set_sensitive(mainw->custom_tools_submenu,TRUE); + lives_widget_set_sensitive(mainw->custom_tools_submenu, TRUE); } - lives_widget_set_sensitive(mainw->custom_effects_submenu,TRUE); + lives_widget_set_sensitive(mainw->custom_effects_submenu, TRUE); - if (mainw->resize_menuitem!=NULL) { - lives_widget_set_sensitive(mainw->resize_menuitem, mainw->current_file>0&&cfile->frames>0); + if (mainw->resize_menuitem != NULL) { + lives_widget_set_sensitive(mainw->resize_menuitem, mainw->current_file > 0 && cfile->frames > 0); } lives_widget_set_sensitive(mainw->record_perf, TRUE); - lives_widget_set_sensitive(mainw->export_submenu, mainw->current_file>0&&(cfile->achans>0)); + lives_widget_set_sensitive(mainw->export_submenu, mainw->current_file > 0 && (cfile->achans > 0)); lives_widget_set_sensitive(mainw->recaudio_submenu, TRUE); - lives_widget_set_sensitive(mainw->recaudio_sel, mainw->current_file>0&&cfile->frames>0); - lives_widget_set_sensitive(mainw->append_audio, mainw->current_file>0&&cfile->achans>0); - lives_widget_set_sensitive(mainw->trim_submenu, mainw->current_file>0&&cfile->achans>0); - lives_widget_set_sensitive(mainw->fade_aud_in, mainw->current_file>0&&cfile->achans>0); - lives_widget_set_sensitive(mainw->fade_aud_out, mainw->current_file>0&&cfile->achans>0); - lives_widget_set_sensitive(mainw->trim_audio, mainw->current_file>0&&(cfile->achans*cfile->frames>0)); - lives_widget_set_sensitive(mainw->trim_to_pstart, mainw->current_file>0&&(cfile->achans&&cfile->pointer_time>0.)); - lives_widget_set_sensitive(mainw->delaudio_submenu, mainw->current_file>0&&cfile->achans>0); - lives_widget_set_sensitive(mainw->delsel_audio, mainw->current_file>0&&cfile->frames>0); - lives_widget_set_sensitive(mainw->resample_audio, mainw->current_file>0&&(cfile->achans>0&&capable->has_sox_sox)); + lives_widget_set_sensitive(mainw->recaudio_sel, mainw->current_file > 0 && cfile->frames > 0); + lives_widget_set_sensitive(mainw->append_audio, mainw->current_file > 0 && cfile->achans > 0); + lives_widget_set_sensitive(mainw->trim_submenu, mainw->current_file > 0 && cfile->achans > 0); + lives_widget_set_sensitive(mainw->fade_aud_in, mainw->current_file > 0 && cfile->achans > 0); + lives_widget_set_sensitive(mainw->fade_aud_out, mainw->current_file > 0 && cfile->achans > 0); + lives_widget_set_sensitive(mainw->trim_audio, mainw->current_file > 0 && (cfile->achans * cfile->frames > 0)); + lives_widget_set_sensitive(mainw->trim_to_pstart, mainw->current_file > 0 && (cfile->achans && cfile->pointer_time > 0.)); + lives_widget_set_sensitive(mainw->delaudio_submenu, mainw->current_file > 0 && cfile->achans > 0); + lives_widget_set_sensitive(mainw->delsel_audio, mainw->current_file > 0 && cfile->frames > 0); + lives_widget_set_sensitive(mainw->resample_audio, mainw->current_file > 0 && (cfile->achans > 0 && capable->has_sox_sox)); lives_widget_set_sensitive(mainw->dsize, !(mainw->fs)); lives_widget_set_sensitive(mainw->fade, !(mainw->fs)); lives_widget_set_sensitive(mainw->mute_audio, TRUE); - lives_widget_set_sensitive(mainw->loop_video, mainw->current_file>0&&(cfile->achans>0&&cfile->frames>0)); + lives_widget_set_sensitive(mainw->loop_video, mainw->current_file > 0 && (cfile->achans > 0 && cfile->frames > 0)); lives_widget_set_sensitive(mainw->loop_continue, TRUE); lives_widget_set_sensitive(mainw->load_audio, TRUE); - lives_widget_set_sensitive(mainw->load_subs, mainw->current_file>0); - lives_widget_set_sensitive(mainw->erase_subs, mainw->current_file>0&&cfile->subt!=NULL); - if (capable->has_cdda2wav&&strlen(prefs->cdplay_device)) lives_widget_set_sensitive(mainw->load_cdtrack, TRUE); - lives_widget_set_sensitive(mainw->rename, mainw->current_file>0&&!cfile->opening); - lives_widget_set_sensitive(mainw->change_speed, mainw->current_file>0); - lives_widget_set_sensitive(mainw->resample_video, mainw->current_file>0&&cfile->frames>0); - lives_widget_set_sensitive(mainw->ins_silence, mainw->current_file>0&&cfile->frames>0); - lives_widget_set_sensitive(mainw->close, mainw->current_file>0); - lives_widget_set_sensitive(mainw->select_submenu, mainw->current_file>0&&!mainw->selwidth_locked&&cfile->frames>0); - lives_widget_set_sensitive(mainw->select_all, mainw->current_file>0); + lives_widget_set_sensitive(mainw->load_subs, mainw->current_file > 0); + lives_widget_set_sensitive(mainw->erase_subs, mainw->current_file > 0 && cfile->subt != NULL); + if (capable->has_cdda2wav && strlen(prefs->cdplay_device)) lives_widget_set_sensitive(mainw->load_cdtrack, TRUE); + lives_widget_set_sensitive(mainw->rename, mainw->current_file > 0 && !cfile->opening); + lives_widget_set_sensitive(mainw->change_speed, mainw->current_file > 0); + lives_widget_set_sensitive(mainw->resample_video, mainw->current_file > 0 && cfile->frames > 0); + lives_widget_set_sensitive(mainw->ins_silence, mainw->current_file > 0 && cfile->frames > 0); + lives_widget_set_sensitive(mainw->close, mainw->current_file > 0); + lives_widget_set_sensitive(mainw->select_submenu, mainw->current_file > 0 && !mainw->selwidth_locked && cfile->frames > 0); + lives_widget_set_sensitive(mainw->select_all, mainw->current_file > 0); lives_widget_set_sensitive(mainw->select_start_only, TRUE); lives_widget_set_sensitive(mainw->select_end_only, TRUE); lives_widget_set_sensitive(mainw->select_from_start, TRUE); @@ -3646,14 +3592,14 @@ lives_widget_set_sensitive(mainw->open_yuv4m, TRUE); #endif - lives_widget_set_sensitive(mainw->select_new, mainw->current_file>0&&(cfile->insert_start>0)); - lives_widget_set_sensitive(mainw->select_last, mainw->current_file>0&&(cfile->undo_start>0)); - lives_widget_set_sensitive(mainw->lock_selwidth, mainw->current_file>0&&cfile->frames>0); - lives_widget_set_sensitive(mainw->undo, mainw->current_file>0&&cfile->undoable); - lives_widget_set_sensitive(mainw->redo, mainw->current_file>0&&cfile->redoable); - lives_widget_set_sensitive(mainw->show_clipboard_info, !(clipboard==NULL)); - lives_widget_set_sensitive(mainw->capture,TRUE); - lives_widget_set_sensitive(mainw->vj_save_set, mainw->current_file>0); + lives_widget_set_sensitive(mainw->select_new, mainw->current_file > 0 && (cfile->insert_start > 0)); + lives_widget_set_sensitive(mainw->select_last, mainw->current_file > 0 && (cfile->undo_start > 0)); + lives_widget_set_sensitive(mainw->lock_selwidth, mainw->current_file > 0 && cfile->frames > 0); + lives_widget_set_sensitive(mainw->undo, mainw->current_file > 0 && cfile->undoable); + lives_widget_set_sensitive(mainw->redo, mainw->current_file > 0 && cfile->redoable); + lives_widget_set_sensitive(mainw->show_clipboard_info, !(clipboard == NULL)); + lives_widget_set_sensitive(mainw->capture, TRUE); + lives_widget_set_sensitive(mainw->vj_save_set, mainw->current_file > 0); lives_widget_set_sensitive(mainw->vj_load_set, !mainw->was_set); lives_widget_set_sensitive(mainw->midi_learn, TRUE); lives_widget_set_sensitive(mainw->midi_save, TRUE); @@ -3664,43 +3610,42 @@ lives_widget_set_sensitive(mainw->gens_submenu, TRUE); lives_widget_set_sensitive(mainw->troubleshoot, TRUE); - if (mainw->current_file>0&&(cfile->start==1||cfile->end==cfile->frames)&&!(cfile->start==1&&cfile->end==cfile->frames)) { - lives_widget_set_sensitive(mainw->select_invert,TRUE); + if (mainw->current_file > 0 && (cfile->start == 1 || cfile->end == cfile->frames) && !(cfile->start == 1 && cfile->end == cfile->frames)) { + lives_widget_set_sensitive(mainw->select_invert, TRUE); } else { - lives_widget_set_sensitive(mainw->select_invert,FALSE); + lives_widget_set_sensitive(mainw->select_invert, FALSE); } - if (mainw->current_file>0&&!(cfile->menuentry==NULL)) { - lives_signal_handler_block(mainw->spinbutton_end,mainw->spin_end_func); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->spinbutton_end),1,cfile->frames); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end),cfile->end); - lives_signal_handler_unblock(mainw->spinbutton_end,mainw->spin_end_func); - - lives_signal_handler_block(mainw->spinbutton_start,mainw->spin_start_func); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->spinbutton_start),1,cfile->frames); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start),cfile->start); - lives_signal_handler_unblock(mainw->spinbutton_start,mainw->spin_start_func); + if (mainw->current_file > 0 && !(cfile->menuentry == NULL)) { + lives_signal_handler_block(mainw->spinbutton_end, mainw->spin_end_func); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->spinbutton_end), 1, cfile->frames); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end), cfile->end); + lives_signal_handler_unblock(mainw->spinbutton_end, mainw->spin_end_func); + + lives_signal_handler_block(mainw->spinbutton_start, mainw->spin_start_func); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->spinbutton_start), 1, cfile->frames); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start), cfile->start); + lives_signal_handler_unblock(mainw->spinbutton_start, mainw->spin_start_func); if (mainw->interactive) { - lives_widget_set_sensitive(mainw->spinbutton_start,TRUE); - lives_widget_set_sensitive(mainw->spinbutton_end,TRUE); + lives_widget_set_sensitive(mainw->spinbutton_start, TRUE); + lives_widget_set_sensitive(mainw->spinbutton_end, TRUE); } - if (mainw->play_window!=NULL&&(mainw->prv_link==PRV_START||mainw->prv_link==PRV_END)) { + if (mainw->play_window != NULL && (mainw->prv_link == PRV_START || mainw->prv_link == PRV_END)) { // unblock spinbutton in play window - lives_widget_set_sensitive(mainw->preview_spinbutton,TRUE); + lives_widget_set_sensitive(mainw->preview_spinbutton, TRUE); } } // clips menu - for (i=1; i<MAX_FILES; i++) { - if (!(mainw->files[i]==NULL)) { - if (!(mainw->files[i]->menuentry==NULL)) { + for (i = 1; i < MAX_FILES; i++) { + if (!(mainw->files[i] == NULL)) { + if (!(mainw->files[i]->menuentry == NULL)) { lives_widget_set_sensitive(mainw->files[i]->menuentry, TRUE); } } } - } @@ -3708,7 +3653,7 @@ // desensitize the main window when we are playing/processing a clip int i; - if (mainw->multitrack!=NULL) return; + if (mainw->multitrack != NULL) return; //lives_widget_set_sensitive (mainw->open, mainw->playing_file>-1); lives_widget_set_sensitive(mainw->open, FALSE); @@ -3724,8 +3669,8 @@ lives_widget_set_sensitive(mainw->open_yuv4m, FALSE); #endif - lives_widget_set_sensitive(mainw->firewire,FALSE); - lives_widget_set_sensitive(mainw->tvdev,FALSE); + lives_widget_set_sensitive(mainw->firewire, FALSE); + lives_widget_set_sensitive(mainw->tvdev, FALSE); lives_widget_set_sensitive(mainw->recent_menu, FALSE); lives_widget_set_sensitive(mainw->restore, FALSE); @@ -3746,30 +3691,31 @@ if (!prefs->pause_during_pb) { lives_widget_set_sensitive(mainw->playall, FALSE); } - lives_widget_set_sensitive(mainw->rewind,FALSE); + lives_widget_set_sensitive(mainw->rewind, FALSE); if (!mainw->foreign) { - for (i=0; i<=mainw->num_rendered_effects_builtin+mainw->num_rendered_effects_custom+ + for (i = 0; i <= mainw->num_rendered_effects_builtin + mainw->num_rendered_effects_custom + mainw->num_rendered_effects_test; i++) - if (mainw->rendered_fx[i].menuitem!=NULL&&mainw->rendered_fx[i].menuitem!=NULL&& - mainw->rendered_fx[i].min_frames>=0) - lives_widget_set_sensitive(mainw->rendered_fx[i].menuitem,FALSE); + if (mainw->rendered_fx[i].menuitem != NULL && mainw->rendered_fx[i].menuitem != NULL && + mainw->rendered_fx[i].min_frames >= 0) + lives_widget_set_sensitive(mainw->rendered_fx[i].menuitem, FALSE); } - if (mainw->resize_menuitem!=NULL) { - lives_widget_set_sensitive(mainw->resize_menuitem,FALSE); + if (mainw->resize_menuitem != NULL) { + lives_widget_set_sensitive(mainw->resize_menuitem, FALSE); } - lives_widget_set_sensitive(mainw->run_test_rfx_submenu,FALSE); + lives_widget_set_sensitive(mainw->run_test_rfx_submenu, FALSE); if (mainw->has_custom_gens) { - lives_widget_set_sensitive(mainw->custom_gens_submenu,FALSE); + lives_widget_set_sensitive(mainw->custom_gens_submenu, FALSE); } if (mainw->has_custom_tools) { - lives_widget_set_sensitive(mainw->custom_tools_submenu,FALSE); + lives_widget_set_sensitive(mainw->custom_tools_submenu, FALSE); } - lives_widget_set_sensitive(mainw->custom_effects_submenu,FALSE); + if (!mainw->foreign) + lives_widget_set_sensitive(mainw->custom_effects_submenu, FALSE); lives_widget_set_sensitive(mainw->export_submenu, FALSE); lives_widget_set_sensitive(mainw->recaudio_submenu, FALSE); @@ -3782,7 +3728,7 @@ lives_widget_set_sensitive(mainw->fade_aud_in, FALSE); lives_widget_set_sensitive(mainw->fade_aud_out, FALSE); lives_widget_set_sensitive(mainw->ins_silence, FALSE); - lives_widget_set_sensitive(mainw->loop_video, is_realtime_aplayer(prefs->audio_player==AUD_PLAYER_JACK)); + lives_widget_set_sensitive(mainw->loop_video, is_realtime_aplayer(prefs->audio_player == AUD_PLAYER_JACK)); if (!is_realtime_aplayer(prefs->audio_player)) lives_widget_set_sensitive(mainw->mute_audio, FALSE); lives_widget_set_sensitive(mainw->load_audio, FALSE); lives_widget_set_sensitive(mainw->load_subs, FALSE); @@ -3800,16 +3746,16 @@ lives_widget_set_sensitive(mainw->vj_load_set, FALSE); lives_widget_set_sensitive(mainw->export_proj, FALSE); lives_widget_set_sensitive(mainw->import_proj, FALSE); - lives_widget_set_sensitive(mainw->recaudio_sel,FALSE); - lives_widget_set_sensitive(mainw->mt_menu,FALSE); + lives_widget_set_sensitive(mainw->recaudio_sel, FALSE); + lives_widget_set_sensitive(mainw->mt_menu, FALSE); - if (mainw->current_file>=0&&(mainw->playing_file==-1||mainw->foreign)) { + if (mainw->current_file >= 0 && (mainw->playing_file == -1 || mainw->foreign)) { // if (!cfile->opening||mainw->dvgrab_preview||mainw->preview||cfile->opening_only_audio) { // disable the 'clips' menu entries - for (i=1; i<MAX_FILES; i++) { - if (!(mainw->files[i]==NULL)) { - if (!(mainw->files[i]->menuentry==NULL)) { - if (!(i==mainw->current_file)) { + for (i = 1; i < MAX_FILES; i++) { + if (!(mainw->files[i] == NULL)) { + if (!(mainw->files[i]->menuentry == NULL)) { + if (!(i == mainw->current_file)) { lives_widget_set_sensitive(mainw->files[i]->menuentry, FALSE); } } @@ -3825,23 +3771,23 @@ int current_file; - if (mainw->multitrack!=NULL) return; + if (mainw->multitrack != NULL) return; - if (mainw->current_file>0&&(cfile->menuentry!=NULL||cfile->opening)&&!mainw->preview) { + if (mainw->current_file > 0 && (cfile->menuentry != NULL || cfile->opening) && !mainw->preview) { // an effect etc, - lives_widget_set_sensitive(mainw->loop_video, cfile->achans>0&&cfile->frames>0); + lives_widget_set_sensitive(mainw->loop_video, cfile->achans > 0 && cfile->frames > 0); lives_widget_set_sensitive(mainw->loop_continue, TRUE); - if (cfile->achans>0&&cfile->frames>0) { - mainw->loop=lives_check_menu_item_get_active(LIVES_CHECK_MENU_ITEM(mainw->loop_video)); + if (cfile->achans > 0 && cfile->frames > 0) { + mainw->loop = lives_check_menu_item_get_active(LIVES_CHECK_MENU_ITEM(mainw->loop_video)); } - if (cfile->achans>0&&cfile->frames>0) { - mainw->mute=lives_check_menu_item_get_active(LIVES_CHECK_MENU_ITEM(mainw->mute_audio)); + if (cfile->achans > 0 && cfile->frames > 0) { + mainw->mute = lives_check_menu_item_get_active(LIVES_CHECK_MENU_ITEM(mainw->mute_audio)); } } - if (mainw->current_file>0&&cfile->menuentry==NULL) { + if (mainw->current_file > 0 && cfile->menuentry == NULL) { lives_widget_set_sensitive(mainw->rename, FALSE); - if (cfile->opening||cfile->restoring) { + if (cfile->opening || cfile->restoring) { // loading, restoring etc lives_widget_set_sensitive(mainw->lock_selwidth, FALSE); lives_widget_set_sensitive(mainw->show_file_comments, FALSE); @@ -3851,26 +3797,26 @@ } } - current_file=mainw->current_file; - if (current_file>-1&&cfile!=NULL&&cfile->cb_src!=-1) mainw->current_file=cfile->cb_src; + current_file = mainw->current_file; + if (current_file > -1 && cfile != NULL && cfile->cb_src != -1) mainw->current_file = cfile->cb_src; // stop the start and end from being changed // better to clamp the range than make insensitive, this way we stop // other widgets (like the video bar) updating it - lives_signal_handler_block(mainw->spinbutton_end,mainw->spin_end_func); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->spinbutton_end),cfile->end,cfile->end); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end),cfile->end); - lives_signal_handler_unblock(mainw->spinbutton_end,mainw->spin_end_func); - lives_signal_handler_block(mainw->spinbutton_start,mainw->spin_start_func); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->spinbutton_start),cfile->start,cfile->start); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start),cfile->start); - lives_signal_handler_unblock(mainw->spinbutton_start,mainw->spin_start_func); + lives_signal_handler_block(mainw->spinbutton_end, mainw->spin_end_func); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->spinbutton_end), cfile->end, cfile->end); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end), cfile->end); + lives_signal_handler_unblock(mainw->spinbutton_end, mainw->spin_end_func); + lives_signal_handler_block(mainw->spinbutton_start, mainw->spin_start_func); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->spinbutton_start), cfile->start, cfile->start); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start), cfile->start); + lives_signal_handler_unblock(mainw->spinbutton_start, mainw->spin_start_func); - mainw->current_file=current_file; + mainw->current_file = current_file; - if (mainw->play_window!=NULL&&(mainw->prv_link==PRV_START||mainw->prv_link==PRV_END)) { + if (mainw->play_window != NULL && (mainw->prv_link == PRV_START || mainw->prv_link == PRV_END)) { // block spinbutton in play window - lives_widget_set_sensitive(mainw->preview_spinbutton,FALSE); + lives_widget_set_sensitive(mainw->preview_spinbutton, FALSE); } lives_widget_set_sensitive(mainw->select_submenu, FALSE); @@ -3881,67 +3827,60 @@ lives_widget_set_sensitive(mainw->load_cdtrack, FALSE); lives_widget_set_sensitive(mainw->open_lives2lives, FALSE); lives_widget_set_sensitive(mainw->record_perf, FALSE); - lives_widget_set_sensitive(mainw->unicap,FALSE); + lives_widget_set_sensitive(mainw->unicap, FALSE); - if (mainw->current_file>0&&cfile->nopreview) { + if (mainw->current_file > 0 && cfile->nopreview) { lives_widget_set_sensitive(mainw->m_playbutton, FALSE); - if (mainw->preview_box!=NULL) lives_widget_set_sensitive(mainw->p_playbutton, FALSE); + if (mainw->preview_box != NULL) lives_widget_set_sensitive(mainw->p_playbutton, FALSE); lives_widget_set_sensitive(mainw->m_playselbutton, FALSE); - if (mainw->preview_box!=NULL) lives_widget_set_sensitive(mainw->p_playselbutton, FALSE); + if (mainw->preview_box != NULL) lives_widget_set_sensitive(mainw->p_playselbutton, FALSE); } } - - void set_ce_frame_from_pixbuf(LiVESImage *image, LiVESPixbuf *pixbuf, lives_painter_t *cairo) { -#if GTK_CHECK_VERSION(3,0,0) - - int rwidth=lives_widget_get_allocation_width(LIVES_WIDGET(image)); - int rheight=lives_widget_get_allocation_height(LIVES_WIDGET(image)); +#if GTK_CHECK_VERSION(3, 0, 0) + int rwidth = lives_widget_get_allocation_width(LIVES_WIDGET(image)); + int rheight = lives_widget_get_allocation_height(LIVES_WIDGET(image)); lives_painter_t *cr; - if (cairo==NULL) cr=lives_painter_create_from_widget(LIVES_WIDGET(image)); - else cr=cairo; + if (cairo == NULL) cr = lives_painter_create_from_widget(LIVES_WIDGET(image)); + else cr = cairo; - if (cr==NULL) return; - if (pixbuf!=NULL) { - int width=lives_pixbuf_get_width(pixbuf); - int height=lives_pixbuf_get_height(pixbuf); - int cx=(rwidth-width)/2; - int cy=(rheight-height)/2; + if (cr == NULL) return; + if (pixbuf != NULL) { + int width = lives_pixbuf_get_width(pixbuf); + int height = lives_pixbuf_get_height(pixbuf); + int cx = (rwidth - width) / 2; + int cy = (rheight - height) / 2; if (prefs->funky_widgets) { lives_painter_set_source_rgb_from_lives_rgba(cr, &palette->frame_surround); - lives_painter_rectangle(cr,cx-1,cy-1, - width+2, - height+2); + lives_painter_rectangle(cr, cx - 1, cy - 1, + width + 2, + height + 2); lives_painter_stroke(cr); } lives_painter_set_source_pixbuf(cr, pixbuf, cx, cy); - lives_painter_rectangle(cr,cx,cy, + lives_painter_rectangle(cr, cx, cy, width, height); } else { - lives_painter_render_background(LIVES_WIDGET(image),cr,0,0,rwidth,rheight); + lives_painter_render_background(LIVES_WIDGET(image), cr, 0, 0, rwidth, rheight); } lives_painter_fill(cr); - if (cairo==NULL) lives_painter_destroy(cr); + if (cairo == NULL) lives_painter_destroy(cr); #else - lives_image_set_from_pixbuf(image,pixbuf); + lives_image_set_from_pixbuf(image, pixbuf); #endif } - - - - void load_start_image(int frame) { - LiVESPixbuf *start_pixbuf=NULL; + LiVESPixbuf *start_pixbuf = NULL; weed_plant_t *layer; @@ -3949,338 +3888,338 @@ LiVESInterpType interp; - boolean noswitch=mainw->noswitch; - int rwidth,rheight,width,height; + boolean noswitch = mainw->noswitch; + int rwidth, rheight, width, height; if (!prefs->show_gui) return; - if (mainw->multitrack!=NULL) return; + if (mainw->multitrack != NULL) return; -#if GTK_CHECK_VERSION(3,0,0) - lives_signal_handlers_block_by_func(mainw->start_image,(livespointer)expose_sim,NULL); +#if GTK_CHECK_VERSION(3, 0, 0) + lives_signal_handlers_block_by_func(mainw->start_image, (livespointer)expose_sim, NULL); #endif - if (mainw->current_file>-1&&cfile!=NULL&&(cfile->clip_type==CLIP_TYPE_YUV4MPEG||cfile->clip_type==CLIP_TYPE_VIDEODEV)) { - if (mainw->camframe==NULL) { - LiVESError *error=NULL; - char *tmp=lives_build_filename(prefs->prefix_dir,THEME_DIR,"camera","frame.jpg",NULL); - mainw->camframe=lives_pixbuf_new_from_file(tmp,&error); - if (mainw->camframe!=NULL) lives_pixbuf_saturate_and_pixelate(mainw->camframe,mainw->camframe,0.0,FALSE); + if (mainw->current_file > -1 && cfile != NULL && (cfile->clip_type == CLIP_TYPE_YUV4MPEG || cfile->clip_type == CLIP_TYPE_VIDEODEV)) { + if (mainw->camframe == NULL) { + LiVESError *error = NULL; + char *tmp = lives_build_filename(prefs->prefix_dir, THEME_DIR, "camera", "frame.jpg", NULL); + mainw->camframe = lives_pixbuf_new_from_file(tmp, &error); + if (mainw->camframe != NULL) lives_pixbuf_saturate_and_pixelate(mainw->camframe, mainw->camframe, 0.0, FALSE); lives_free(tmp); } - set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->start_image),mainw->camframe,NULL); -#if GTK_CHECK_VERSION(3,0,0) - lives_signal_handlers_unblock_by_func(mainw->start_image,(livespointer)expose_sim,NULL); - lives_signal_stop_emission_by_name(mainw->start_image,LIVES_WIDGET_EXPOSE_EVENT); + set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->start_image), mainw->camframe, NULL); +#if GTK_CHECK_VERSION(3, 0, 0) + lives_signal_handlers_unblock_by_func(mainw->start_image, (livespointer)expose_sim, NULL); + lives_signal_stop_emission_by_name(mainw->start_image, LIVES_WIDGET_EXPOSE_EVENT); #endif return; } - if (mainw->current_file<0||cfile==NULL||frame<1||frame>cfile->frames|| - (cfile->clip_type!=CLIP_TYPE_DISK&&cfile->clip_type!=CLIP_TYPE_FILE)) { + if (mainw->current_file < 0 || cfile == NULL || frame < 1 || frame > cfile->frames || + (cfile->clip_type != CLIP_TYPE_DISK && cfile->clip_type != CLIP_TYPE_FILE)) { threaded_dialog_spin(0.); - if (!(mainw->imframe==NULL)) { - set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->start_image),mainw->imframe,NULL); + if (!(mainw->imframe == NULL)) { + set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->start_image), mainw->imframe, NULL); } else { - set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->start_image),NULL,NULL); + set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->start_image), NULL, NULL); } threaded_dialog_spin(0.); -#if GTK_CHECK_VERSION(3,0,0) - lives_signal_handlers_unblock_by_func(mainw->start_image,(livespointer)expose_sim,NULL); - lives_signal_stop_emission_by_name(mainw->start_image,LIVES_WIDGET_EXPOSE_EVENT); +#if GTK_CHECK_VERSION(3, 0, 0) + lives_signal_handlers_unblock_by_func(mainw->start_image, (livespointer)expose_sim, NULL); + lives_signal_stop_emission_by_name(mainw->start_image, LIVES_WIDGET_EXPOSE_EVENT); #endif return; } - tc=((frame-1.))/cfile->fps*U_SECL; + tc = ((frame - 1.)) / cfile->fps * U_SECL; - if (!prefs->ce_maxspect||(mainw->double_size&&mainw->playing_file>-1)) { + if (!prefs->ce_maxspect || (mainw->double_size && mainw->playing_file > -1)) { threaded_dialog_spin(0.); // if we are not playing, and it would be slow to seek to the frame, convert it to an image - if (mainw->playing_file==-1&&cfile->clip_type==CLIP_TYPE_FILE&&is_virtual_frame(mainw->current_file,frame)&&cfile->ext_src!=NULL) { - lives_clip_data_t *cdata=((lives_decoder_t *)cfile->ext_src)->cdata; - if (cdata!=NULL&&!(cdata->seek_flag&LIVES_SEEK_FAST)) { - boolean resb=virtual_to_images(mainw->current_file,frame,frame,FALSE,NULL); - resb=resb; // dont care (much) if it fails + if (mainw->playing_file == -1 && cfile->clip_type == CLIP_TYPE_FILE && is_virtual_frame(mainw->current_file, frame) && + cfile->ext_src != NULL) { + lives_clip_data_t *cdata = ((lives_decoder_t *)cfile->ext_src)->cdata; + if (cdata != NULL && !(cdata->seek_flag & LIVES_SEEK_FAST)) { + boolean resb = virtual_to_images(mainw->current_file, frame, frame, FALSE, NULL); + resb = resb; // dont care (much) if it fails } } - layer=weed_plant_new(WEED_PLANT_CHANNEL); - weed_set_int_value(layer,WEED_LEAF_CLIP,mainw->current_file); - weed_set_int_value(layer,WEED_LEAF_FRAME,frame); - if (pull_frame_at_size(layer,get_image_ext_for_type(cfile->img_type),tc,cfile->hsize,cfile->vsize, + layer = weed_plant_new(WEED_PLANT_CHANNEL); + weed_set_int_value(layer, WEED_LEAF_CLIP, mainw->current_file); + weed_set_int_value(layer, WEED_LEAF_FRAME, frame); + if (pull_frame_at_size(layer, get_image_ext_for_type(cfile->img_type), tc, cfile->hsize, cfile->vsize, WEED_PALETTE_RGB24)) { - interp=get_interp_value(prefs->pb_quality); - resize_layer(layer,cfile->hsize,cfile->vsize,interp,WEED_PALETTE_RGB24,0); - convert_layer_palette(layer,WEED_PALETTE_RGB24,0); - start_pixbuf=layer_to_pixbuf(layer); + interp = get_interp_value(prefs->pb_quality); + resize_layer(layer, cfile->hsize, cfile->vsize, interp, WEED_PALETTE_RGB24, 0); + convert_layer_palette(layer, WEED_PALETTE_RGB24, 0); + start_pixbuf = layer_to_pixbuf(layer); } weed_plant_free(layer); if (LIVES_IS_PIXBUF(start_pixbuf)) { - set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->start_image),start_pixbuf,NULL); + set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->start_image), start_pixbuf, NULL); } - if (start_pixbuf!=NULL) { + if (start_pixbuf != NULL) { if (LIVES_IS_WIDGET_OBJECT(start_pixbuf)) { lives_object_unref(start_pixbuf); } } threaded_dialog_spin(0.); -#if GTK_CHECK_VERSION(3,0,0) - lives_signal_handlers_unblock_by_func(mainw->start_image,(livespointer)expose_sim,NULL); - lives_signal_stop_emission_by_name(mainw->start_image,LIVES_WIDGET_EXPOSE_EVENT); +#if GTK_CHECK_VERSION(3, 0, 0) + lives_signal_handlers_unblock_by_func(mainw->start_image, (livespointer)expose_sim, NULL); + lives_signal_stop_emission_by_name(mainw->start_image, LIVES_WIDGET_EXPOSE_EVENT); #endif return; } - mainw->noswitch=TRUE; + mainw->noswitch = TRUE; threaded_dialog_spin(0.); do { - width=cfile->hsize; - height=cfile->vsize; + width = cfile->hsize; + height = cfile->vsize; // TODO *** - if width*height==0, show broken frame image - -#if GTK_CHECK_VERSION(3,0,0) - rwidth=mainw->ce_frame_width-H_RESIZE_ADJUST*2; - rheight=mainw->ce_frame_height-V_RESIZE_ADJUST*2; +#if GTK_CHECK_VERSION(3, 0, 0) + rwidth = mainw->ce_frame_width - H_RESIZE_ADJUST * 2; + rheight = mainw->ce_frame_height - V_RESIZE_ADJUST * 2; #else - rwidth=lives_widget_get_allocation_width(mainw->start_image); - rheight=lives_widget_get_allocation_height(mainw->start_image); + rwidth = lives_widget_get_allocation_width(mainw->start_image); + rheight = lives_widget_get_allocation_height(mainw->start_image); #endif - calc_maxspect(rwidth,rheight,&width,&height); + calc_maxspect(rwidth, rheight, &width, &height); // if we are not playing, and it would be slow to seek to the frame, convert it to an image - if (mainw->playing_file==-1&&cfile->clip_type==CLIP_TYPE_FILE&&is_virtual_frame(mainw->current_file,frame)&&cfile->ext_src!=NULL) { - lives_clip_data_t *cdata=((lives_decoder_t *)cfile->ext_src)->cdata; - if (cdata!=NULL&&!(cdata->seek_flag&LIVES_SEEK_FAST)) { - boolean resb=virtual_to_images(mainw->current_file,frame,frame,FALSE,NULL); - resb=resb; // dont care (much) if it fails + if (mainw->playing_file == -1 && cfile->clip_type == CLIP_TYPE_FILE && is_virtual_frame(mainw->current_file, frame) && + cfile->ext_src != NULL) { + lives_clip_data_t *cdata = ((lives_decoder_t *)cfile->ext_src)->cdata; + if (cdata != NULL && !(cdata->seek_flag & LIVES_SEEK_FAST)) { + boolean resb = virtual_to_images(mainw->current_file, frame, frame, FALSE, NULL); + resb = resb; // dont care (much) if it fails } } - layer=weed_plant_new(WEED_PLANT_CHANNEL); - weed_set_int_value(layer,WEED_LEAF_CLIP,mainw->current_file); - weed_set_int_value(layer,WEED_LEAF_FRAME,frame); + layer = weed_plant_new(WEED_PLANT_CHANNEL); + weed_set_int_value(layer, WEED_LEAF_CLIP, mainw->current_file); + weed_set_int_value(layer, WEED_LEAF_FRAME, frame); - if (pull_frame_at_size(layer,get_image_ext_for_type(cfile->img_type),tc,width,height,WEED_PALETTE_RGB24)) { - interp=get_interp_value(prefs->pb_quality); - resize_layer(layer,width,height,interp,WEED_PALETTE_RGB24,0); - convert_layer_palette(layer,WEED_PALETTE_RGB24,0); - start_pixbuf=layer_to_pixbuf(layer); + if (pull_frame_at_size(layer, get_image_ext_for_type(cfile->img_type), tc, width, height, WEED_PALETTE_RGB24)) { + interp = get_interp_value(prefs->pb_quality); + resize_layer(layer, width, height, interp, WEED_PALETTE_RGB24, 0); + convert_layer_palette(layer, WEED_PALETTE_RGB24, 0); + start_pixbuf = layer_to_pixbuf(layer); } weed_plant_free(layer); if (LIVES_IS_PIXBUF(start_pixbuf)) { - set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->start_image),start_pixbuf,NULL); + set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->start_image), start_pixbuf, NULL); } - if (start_pixbuf!=NULL) { + if (start_pixbuf != NULL) { if (LIVES_IS_WIDGET_OBJECT(start_pixbuf)) { lives_object_unref(start_pixbuf); } } - start_pixbuf=NULL; + start_pixbuf = NULL; -#if !GTK_CHECK_VERSION(3,0,0) +#if !GTK_CHECK_VERSION(3, 0, 0) lives_widget_queue_resize(mainw->start_image); lives_widget_context_update(); - if (mainw->current_file==-1) { + if (mainw->current_file == -1) { // user may close file load_start_image(0); return; } - } while (rwidth!=lives_widget_get_allocation_width(mainw->start_image)||rheight!=lives_widget_get_allocation_height(mainw->start_image)); + } while (rwidth != lives_widget_get_allocation_width(mainw->start_image) || + rheight != lives_widget_get_allocation_height(mainw->start_image)); #else } while (FALSE); #endif threaded_dialog_spin(0.); - mainw->noswitch=noswitch; + mainw->noswitch = noswitch; -#if GTK_CHECK_VERSION(3,0,0) - lives_signal_handlers_unblock_by_func(mainw->start_image,(livespointer)expose_sim,NULL); - lives_signal_stop_emission_by_name(mainw->start_image,LIVES_WIDGET_EXPOSE_EVENT); +#if GTK_CHECK_VERSION(3, 0, 0) + lives_signal_handlers_unblock_by_func(mainw->start_image, (livespointer)expose_sim, NULL); + lives_signal_stop_emission_by_name(mainw->start_image, LIVES_WIDGET_EXPOSE_EVENT); #endif - } - void load_end_image(int frame) { - LiVESPixbuf *end_pixbuf=NULL; + LiVESPixbuf *end_pixbuf = NULL; weed_plant_t *layer; weed_timecode_t tc; - int rwidth,rheight,width,height; - boolean noswitch=mainw->noswitch; + int rwidth, rheight, width, height; + boolean noswitch = mainw->noswitch; LiVESInterpType interp; if (!prefs->show_gui) return; - if (mainw->multitrack!=NULL) return; + if (mainw->multitrack != NULL) return; -#if GTK_CHECK_VERSION(3,0,0) - lives_signal_handlers_block_by_func(mainw->end_image,(livespointer)expose_eim,NULL); +#if GTK_CHECK_VERSION(3, 0, 0) + lives_signal_handlers_block_by_func(mainw->end_image, (livespointer)expose_eim, NULL); #endif - if (mainw->current_file>-1&&cfile!=NULL&&(cfile->clip_type==CLIP_TYPE_YUV4MPEG||cfile->clip_type==CLIP_TYPE_VIDEODEV)) { - if (mainw->camframe==NULL) { - LiVESError *error=NULL; - char *tmp=lives_build_filename(prefs->prefix_dir,THEME_DIR,"camera","frame.jpg",NULL); - mainw->camframe=lives_pixbuf_new_from_file(tmp,&error); - if (mainw->camframe!=NULL) lives_pixbuf_saturate_and_pixelate(mainw->camframe,mainw->camframe,0.0,FALSE); + if (mainw->current_file > -1 && cfile != NULL && (cfile->clip_type == CLIP_TYPE_YUV4MPEG || cfile->clip_type == CLIP_TYPE_VIDEODEV)) { + if (mainw->camframe == NULL) { + LiVESError *error = NULL; + char *tmp = lives_build_filename(prefs->prefix_dir, THEME_DIR, "camera", "frame.jpg", NULL); + mainw->camframe = lives_pixbuf_new_from_file(tmp, &error); + if (mainw->camframe != NULL) lives_pixbuf_saturate_and_pixelate(mainw->camframe, mainw->camframe, 0.0, FALSE); lives_free(tmp); } - set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->end_image),mainw->camframe,NULL); -#if GTK_CHECK_VERSION(3,0,0) - lives_signal_handlers_unblock_by_func(mainw->end_image,(livespointer)expose_eim,NULL); - lives_signal_stop_emission_by_name(mainw->end_image,LIVES_WIDGET_EXPOSE_EVENT); + set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->end_image), mainw->camframe, NULL); +#if GTK_CHECK_VERSION(3, 0, 0) + lives_signal_handlers_unblock_by_func(mainw->end_image, (livespointer)expose_eim, NULL); + lives_signal_stop_emission_by_name(mainw->end_image, LIVES_WIDGET_EXPOSE_EVENT); #endif return; } - if (mainw->current_file<0||cfile==NULL||frame<1||frame>cfile->frames|| - (cfile->clip_type!=CLIP_TYPE_DISK&&cfile->clip_type!=CLIP_TYPE_FILE)) { + if (mainw->current_file < 0 || cfile == NULL || frame < 1 || frame > cfile->frames || + (cfile->clip_type != CLIP_TYPE_DISK && cfile->clip_type != CLIP_TYPE_FILE)) { threaded_dialog_spin(0.); - if (!(mainw->imframe==NULL)) { - set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->end_image),mainw->imframe,NULL); + if (!(mainw->imframe == NULL)) { + set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->end_image), mainw->imframe, NULL); } else { - set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->end_image),NULL,NULL); + set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->end_image), NULL, NULL); } threaded_dialog_spin(0.); -#if GTK_CHECK_VERSION(3,0,0) - lives_signal_handlers_unblock_by_func(mainw->end_image,(livespointer)expose_eim,NULL); - lives_signal_stop_emission_by_name(mainw->end_image,LIVES_WIDGET_EXPOSE_EVENT); +#if GTK_CHECK_VERSION(3, 0, 0) + lives_signal_handlers_unblock_by_func(mainw->end_image, (livespointer)expose_eim, NULL); + lives_signal_stop_emission_by_name(mainw->end_image, LIVES_WIDGET_EXPOSE_EVENT); #endif return; } + tc = ((frame - 1.)) / cfile->fps * U_SECL; - tc=((frame-1.))/cfile->fps*U_SECL; - - if (!prefs->ce_maxspect||(mainw->double_size&&mainw->playing_file>-1)) { + if (!prefs->ce_maxspect || (mainw->double_size && mainw->playing_file > -1)) { threaded_dialog_spin(0.); // if we are not playing, and it would be slow to seek to the frame, convert it to an image - if (mainw->playing_file==-1&&cfile->clip_type==CLIP_TYPE_FILE&&is_virtual_frame(mainw->current_file,frame)&&cfile->ext_src!=NULL) { - lives_clip_data_t *cdata=((lives_decoder_t *)cfile->ext_src)->cdata; - if (cdata!=NULL&&!(cdata->seek_flag&LIVES_SEEK_FAST)) { - boolean resb=virtual_to_images(mainw->current_file,frame,frame,FALSE,NULL); - resb=resb; // dont care (much) if it fails + if (mainw->playing_file == -1 && cfile->clip_type == CLIP_TYPE_FILE && is_virtual_frame(mainw->current_file, frame) && + cfile->ext_src != NULL) { + lives_clip_data_t *cdata = ((lives_decoder_t *)cfile->ext_src)->cdata; + if (cdata != NULL && !(cdata->seek_flag & LIVES_SEEK_FAST)) { + boolean resb = virtual_to_images(mainw->current_file, frame, frame, FALSE, NULL); + resb = resb; // dont care (much) if it fails } } - layer=weed_plant_new(WEED_PLANT_CHANNEL); - weed_set_int_value(layer,WEED_LEAF_CLIP,mainw->current_file); - weed_set_int_value(layer,WEED_LEAF_FRAME,frame); + layer = weed_plant_new(WEED_PLANT_CHANNEL); + weed_set_int_value(layer, WEED_LEAF_CLIP, mainw->current_file); + weed_set_int_value(layer, WEED_LEAF_FRAME, frame); - if (pull_frame_at_size(layer,get_image_ext_for_type(cfile->img_type),tc,cfile->hsize,cfile->vsize, + if (pull_frame_at_size(layer, get_image_ext_for_type(cfile->img_type), tc, cfile->hsize, cfile->vsize, WEED_PALETTE_RGB24)) { - interp=get_interp_value(prefs->pb_quality); - resize_layer(layer,cfile->hsize,cfile->vsize,interp,WEED_PALETTE_RGB24,0); - convert_layer_palette(layer,WEED_PALETTE_RGB24,0); - end_pixbuf=layer_to_pixbuf(layer); + interp = get_interp_value(prefs->pb_quality); + resize_layer(layer, cfile->hsize, cfile->vsize, interp, WEED_PALETTE_RGB24, 0); + convert_layer_palette(layer, WEED_PALETTE_RGB24, 0); + end_pixbuf = layer_to_pixbuf(layer); } weed_plant_free(layer); if (LIVES_IS_PIXBUF(end_pixbuf)) { - set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->end_image),end_pixbuf,NULL); + set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->end_image), end_pixbuf, NULL); } - if (end_pixbuf!=NULL) { + if (end_pixbuf != NULL) { if (LIVES_IS_WIDGET_OBJECT(end_pixbuf)) { lives_object_unref(end_pixbuf); } } threaded_dialog_spin(0.); -#if GTK_CHECK_VERSION(3,0,0) - lives_signal_handlers_unblock_by_func(mainw->end_image,(livespointer)expose_eim,NULL); - lives_signal_stop_emission_by_name(mainw->end_image,LIVES_WIDGET_EXPOSE_EVENT); +#if GTK_CHECK_VERSION(3, 0, 0) + lives_signal_handlers_unblock_by_func(mainw->end_image, (livespointer)expose_eim, NULL); + lives_signal_stop_emission_by_name(mainw->end_image, LIVES_WIDGET_EXPOSE_EVENT); #endif return; } - mainw->noswitch=TRUE; + mainw->noswitch = TRUE; threaded_dialog_spin(0.); do { - width=cfile->hsize; - height=cfile->vsize; + width = cfile->hsize; + height = cfile->vsize; -#if GTK_CHECK_VERSION(3,0,0) - rwidth=mainw->ce_frame_width-H_RESIZE_ADJUST*2; - rheight=mainw->ce_frame_height-V_RESIZE_ADJUST*2; +#if GTK_CHECK_VERSION(3, 0, 0) + rwidth = mainw->ce_frame_width - H_RESIZE_ADJUST * 2; + rheight = mainw->ce_frame_height - V_RESIZE_ADJUST * 2; #else - rwidth=lives_widget_get_allocation_width(mainw->end_image); - rheight=lives_widget_get_allocation_height(mainw->end_image); + rwidth = lives_widget_get_allocation_width(mainw->end_image); + rheight = lives_widget_get_allocation_height(mainw->end_image); #endif - calc_maxspect(rwidth,rheight,&width,&height); + calc_maxspect(rwidth, rheight, &width, &height); // if we are not playing, and it would be slow to seek to the frame, convert it to an image - if (mainw->playing_file==-1&&cfile->clip_type==CLIP_TYPE_FILE&&is_virtual_frame(mainw->current_file,frame)&&cfile->ext_src!=NULL) { - lives_clip_data_t *cdata=((lives_decoder_t *)cfile->ext_src)->cdata; - if (cdata!=NULL&&!(cdata->seek_flag&LIVES_SEEK_FAST)) { - boolean resb=virtual_to_images(mainw->current_file,frame,frame,FALSE,NULL); - resb=resb; // dont care (much) if it fails + if (mainw->playing_file == -1 && cfile->clip_type == CLIP_TYPE_FILE && is_virtual_frame(mainw->current_file, frame) && + cfile->ext_src != NULL) { + lives_clip_data_t *cdata = ((lives_decoder_t *)cfile->ext_src)->cdata; + if (cdata != NULL && !(cdata->seek_flag & LIVES_SEEK_FAST)) { + boolean resb = virtual_to_images(mainw->current_file, frame, frame, FALSE, NULL); + resb = resb; // dont care (much) if it fails } } - layer=weed_plant_new(WEED_PLANT_CHANNEL); - weed_set_int_value(layer,WEED_LEAF_CLIP,mainw->current_file); - weed_set_int_value(layer,WEED_LEAF_FRAME,frame); - - if (pull_frame_at_size(layer,get_image_ext_for_type(cfile->img_type),tc,width,height,WEED_PALETTE_RGB24)) { - interp=get_interp_value(prefs->pb_quality); - resize_layer(layer,width,height,interp,WEED_PALETTE_RGB24,0); - convert_layer_palette(layer,WEED_PALETTE_RGB24,0); - end_pixbuf=layer_to_pixbuf(layer); + layer = weed_plant_new(WEED_PLANT_CHANNEL); + weed_set_int_value(layer, WEED_LEAF_CLIP, mainw->current_file); + weed_set_int_value(layer, WEED_LEAF_FRAME, frame); + + if (pull_frame_at_size(layer, get_image_ext_for_type(cfile->img_type), tc, width, height, WEED_PALETTE_RGB24)) { + interp = get_interp_value(prefs->pb_quality); + resize_layer(layer, width, height, interp, WEED_PALETTE_RGB24, 0); + convert_layer_palette(layer, WEED_PALETTE_RGB24, 0); + end_pixbuf = layer_to_pixbuf(layer); } weed_plant_free(layer); if (LIVES_IS_PIXBUF(end_pixbuf)) { - set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->end_image),end_pixbuf,NULL); + set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->end_image), end_pixbuf, NULL); } - if (end_pixbuf!=NULL) { + if (end_pixbuf != NULL) { if (LIVES_IS_WIDGET_OBJECT(end_pixbuf)) { lives_object_unref(end_pixbuf); } } - end_pixbuf=NULL; + end_pixbuf = NULL; -#if !GTK_CHECK_VERSION(3,0,0) +#if !GTK_CHECK_VERSION(3, 0, 0) lives_widget_queue_resize(mainw->end_image); lives_widget_context_update(); - if (mainw->current_file==-1) { + if (mainw->current_file == -1) { // user may close file load_end_image(0); return; } - } while (rwidth!=lives_widget_get_allocation_width(mainw->end_image)||rheight!=lives_widget_get_allocation_height(mainw->end_image)); + } while (rwidth != lives_widget_get_allocation_width(mainw->end_image) || rheight != lives_widget_get_allocation_height(mainw->end_image)); #else } while (FALSE); #endif threaded_dialog_spin(0.); - mainw->noswitch=noswitch; + mainw->noswitch = noswitch; -#if GTK_CHECK_VERSION(3,0,0) - lives_signal_handlers_unblock_by_func(mainw->end_image,(livespointer)expose_eim,NULL); - lives_signal_stop_emission_by_name(mainw->end_image,LIVES_WIDGET_EXPOSE_EVENT); +#if GTK_CHECK_VERSION(3, 0, 0) + lives_signal_handlers_unblock_by_func(mainw->end_image, (livespointer)expose_eim, NULL); + lives_signal_stop_emission_by_name(mainw->end_image, LIVES_WIDGET_EXPOSE_EVENT); #endif - } @@ -4294,57 +4233,56 @@ void load_preview_image(boolean update_always) { // this is for the sepwin preview // update_always==TRUE = update widgets from mainw->preview_frame - LiVESPixbuf *pixbuf=NULL; + LiVESPixbuf *pixbuf = NULL; int preview_frame; if (!prefs->show_gui) return; - if (mainw->playing_file>-1) return; + if (mainw->playing_file > -1) return; -#if GTK_CHECK_VERSION(3,0,0) - lives_signal_handlers_block_by_func(mainw->preview_image,(livespointer)expose_pim,NULL); +#if GTK_CHECK_VERSION(3, 0, 0) + lives_signal_handlers_block_by_func(mainw->preview_image, (livespointer)expose_pim, NULL); #endif - if (mainw->current_file>-1&&cfile!=NULL&&(cfile->clip_type==CLIP_TYPE_YUV4MPEG||cfile->clip_type==CLIP_TYPE_VIDEODEV)) { - if (mainw->camframe==NULL) { - LiVESError *error=NULL; - char *tmp=lives_build_filename(prefs->prefix_dir,THEME_DIR,"camera","frame.jpg",NULL); - mainw->camframe=lives_pixbuf_new_from_file(tmp,&error); - if (mainw->camframe!=NULL) lives_pixbuf_saturate_and_pixelate(mainw->camframe,mainw->camframe,0.0,FALSE); + if (mainw->current_file > -1 && cfile != NULL && (cfile->clip_type == CLIP_TYPE_YUV4MPEG || cfile->clip_type == CLIP_TYPE_VIDEODEV)) { + if (mainw->camframe == NULL) { + LiVESError *error = NULL; + char *tmp = lives_build_filename(prefs->prefix_dir, THEME_DIR, "camera", "frame.jpg", NULL); + mainw->camframe = lives_pixbuf_new_from_file(tmp, &error); + if (mainw->camframe != NULL) lives_pixbuf_saturate_and_pixelate(mainw->camframe, mainw->camframe, 0.0, FALSE); lives_free(tmp); } - pixbuf=lives_pixbuf_scale_simple(mainw->camframe,mainw->pwidth,mainw->pheight,LIVES_INTERP_BEST); - set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->preview_image),pixbuf,NULL); - if (pixbuf!=NULL) lives_object_unref(pixbuf); - mainw->preview_frame=1; - lives_signal_handler_block(mainw->preview_spinbutton,mainw->preview_spin_func); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->preview_spinbutton),1,1); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->preview_spinbutton),1); - lives_signal_handler_unblock(mainw->preview_spinbutton,mainw->preview_spin_func); - lives_widget_set_size_request(mainw->preview_image,mainw->pwidth,mainw->pheight); -#if GTK_CHECK_VERSION(3,0,0) - lives_signal_handlers_unblock_by_func(mainw->preview_image,(livespointer)expose_pim,NULL); - lives_signal_stop_emission_by_name(mainw->preview_image,LIVES_WIDGET_EXPOSE_EVENT); + pixbuf = lives_pixbuf_scale_simple(mainw->camframe, mainw->pwidth, mainw->pheight, LIVES_INTERP_BEST); + set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->preview_image), pixbuf, NULL); + if (pixbuf != NULL) lives_object_unref(pixbuf); + mainw->preview_frame = 1; + lives_signal_handler_block(mainw->preview_spinbutton, mainw->preview_spin_func); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->preview_spinbutton), 1, 1); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->preview_spinbutton), 1); + lives_signal_handler_unblock(mainw->preview_spinbutton, mainw->preview_spin_func); + lives_widget_set_size_request(mainw->preview_image, mainw->pwidth, mainw->pheight); +#if GTK_CHECK_VERSION(3, 0, 0) + lives_signal_handlers_unblock_by_func(mainw->preview_image, (livespointer)expose_pim, NULL); + lives_signal_stop_emission_by_name(mainw->preview_image, LIVES_WIDGET_EXPOSE_EVENT); #endif return; } - if (mainw->current_file<0||cfile==NULL||!cfile->frames||(cfile->clip_type!=CLIP_TYPE_DISK&& - cfile->clip_type!=CLIP_TYPE_FILE)) { - - mainw->preview_frame=0; - lives_signal_handler_block(mainw->preview_spinbutton,mainw->preview_spin_func); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->preview_spinbutton),0,0); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->preview_spinbutton),0); - lives_signal_handler_unblock(mainw->preview_spinbutton,mainw->preview_spin_func); - if (mainw->imframe!=NULL) { - lives_widget_set_size_request(mainw->preview_image,lives_pixbuf_get_width(mainw->imframe),lives_pixbuf_get_height(mainw->imframe)); + if (mainw->current_file < 0 || cfile == NULL || !cfile->frames || (cfile->clip_type != CLIP_TYPE_DISK && + cfile->clip_type != CLIP_TYPE_FILE)) { + mainw->preview_frame = 0; + lives_signal_handler_block(mainw->preview_spinbutton, mainw->preview_spin_func); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->preview_spinbutton), 0, 0); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->preview_spinbutton), 0); + lives_signal_handler_unblock(mainw->preview_spinbutton, mainw->preview_spin_func); + if (mainw->imframe != NULL) { + lives_widget_set_size_request(mainw->preview_image, lives_pixbuf_get_width(mainw->imframe), lives_pixbuf_get_height(mainw->imframe)); set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->preview_image), mainw->imframe, NULL); } else set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->preview_image), NULL, NULL); -#if GTK_CHECK_VERSION(3,0,0) - lives_signal_handlers_unblock_by_func(mainw->preview_image,(livespointer)expose_pim,NULL); - lives_signal_stop_emission_by_name(mainw->preview_image,LIVES_WIDGET_EXPOSE_EVENT); +#if GTK_CHECK_VERSION(3, 0, 0) + lives_signal_handlers_unblock_by_func(mainw->preview_image, (livespointer)expose_pim, NULL); + lives_signal_stop_emission_by_name(mainw->preview_image, LIVES_WIDGET_EXPOSE_EVENT); #endif return; } @@ -4354,71 +4292,71 @@ // set mainw->preview_frame to 0 before calling to force an update (e.g after a clip switch) switch (mainw->prv_link) { case PRV_END: - preview_frame=cfile->end; + preview_frame = cfile->end; break; case PRV_PTR: - preview_frame=calc_frame_from_time(mainw->current_file,cfile->pointer_time); + preview_frame = calc_frame_from_time(mainw->current_file, cfile->pointer_time); break; case PRV_START: - preview_frame=cfile->start; + preview_frame = cfile->start; break; default: - preview_frame=mainw->preview_frame>0?mainw->preview_frame:1; - if (preview_frame>cfile->frames) preview_frame=cfile->frames; + preview_frame = mainw->preview_frame > 0 ? mainw->preview_frame : 1; + if (preview_frame > cfile->frames) preview_frame = cfile->frames; break; } - lives_signal_handler_block(mainw->preview_spinbutton,mainw->preview_spin_func); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->preview_spinbutton),1,cfile->frames); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->preview_spinbutton),preview_frame); - lives_signal_handler_unblock(mainw->preview_spinbutton,mainw->preview_spin_func); + lives_signal_handler_block(mainw->preview_spinbutton, mainw->preview_spin_func); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->preview_spinbutton), 1, cfile->frames); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->preview_spinbutton), preview_frame); + lives_signal_handler_unblock(mainw->preview_spinbutton, mainw->preview_spin_func); - mainw->preview_frame=preview_frame; + mainw->preview_frame = preview_frame; } - if (mainw->preview_frame<1||mainw->preview_frame>cfile->frames) { - pixbuf=lives_pixbuf_scale_simple(mainw->imframe,cfile->hsize,cfile->vsize,LIVES_INTERP_BEST); + if (mainw->preview_frame < 1 || mainw->preview_frame > cfile->frames) { + pixbuf = lives_pixbuf_scale_simple(mainw->imframe, cfile->hsize, cfile->vsize, LIVES_INTERP_BEST); } else { - weed_plant_t *layer=weed_plant_new(WEED_PLANT_CHANNEL); - weed_timecode_t tc=((mainw->preview_frame-1.))/cfile->fps*U_SECL; + weed_plant_t *layer = weed_plant_new(WEED_PLANT_CHANNEL); + weed_timecode_t tc = ((mainw->preview_frame - 1.)) / cfile->fps * U_SECL; // if we are not playing, and it would be slow to seek to the frame, convert it to an image - if (mainw->playing_file==-1&&cfile->clip_type==CLIP_TYPE_FILE&& - is_virtual_frame(mainw->current_file,mainw->preview_frame)&&cfile->ext_src!=NULL) { - lives_clip_data_t *cdata=((lives_decoder_t *)cfile->ext_src)->cdata; - if (cdata!=NULL&&!(cdata->seek_flag&LIVES_SEEK_FAST)) { - boolean resb=virtual_to_images(mainw->current_file,mainw->preview_frame,mainw->preview_frame,FALSE,NULL); - resb=resb; // dont care (much) if it fails + if (mainw->playing_file == -1 && cfile->clip_type == CLIP_TYPE_FILE && + is_virtual_frame(mainw->current_file, mainw->preview_frame) && cfile->ext_src != NULL) { + lives_clip_data_t *cdata = ((lives_decoder_t *)cfile->ext_src)->cdata; + if (cdata != NULL && !(cdata->seek_flag & LIVES_SEEK_FAST)) { + boolean resb = virtual_to_images(mainw->current_file, mainw->preview_frame, mainw->preview_frame, FALSE, NULL); + resb = resb; // dont care (much) if it fails } } - weed_set_int_value(layer,WEED_LEAF_CLIP,mainw->current_file); - weed_set_int_value(layer,WEED_LEAF_FRAME,mainw->preview_frame); - if (pull_frame_at_size(layer,get_image_ext_for_type(cfile->img_type),tc,mainw->pwidth,mainw->pheight, + weed_set_int_value(layer, WEED_LEAF_CLIP, mainw->current_file); + weed_set_int_value(layer, WEED_LEAF_FRAME, mainw->preview_frame); + if (pull_frame_at_size(layer, get_image_ext_for_type(cfile->img_type), tc, mainw->pwidth, mainw->pheight, WEED_PALETTE_RGB24)) { - LiVESInterpType interp=get_interp_value(prefs->pb_quality); - resize_layer(layer,mainw->pwidth,mainw->pheight,interp,WEED_PALETTE_RGB24,0); - convert_layer_palette(layer,WEED_PALETTE_RGB24,0); - pixbuf=layer_to_pixbuf(layer); + LiVESInterpType interp = get_interp_value(prefs->pb_quality); + resize_layer(layer, mainw->pwidth, mainw->pheight, interp, WEED_PALETTE_RGB24, 0); + convert_layer_palette(layer, WEED_PALETTE_RGB24, 0); + pixbuf = layer_to_pixbuf(layer); } weed_plant_free(layer); } set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->preview_image), pixbuf, NULL); - lives_widget_set_size_request(mainw->preview_image,MAX(mainw->pwidth,mainw->sepwin_minwidth),mainw->pheight); + lives_widget_set_size_request(mainw->preview_image, MAX(mainw->pwidth, mainw->sepwin_minwidth), mainw->pheight); if (update_always) { // set spins from current frame switch (mainw->prv_link) { case PRV_PTR: //cf. hrule_reset - cfile->pointer_time=calc_time_from_frame(mainw->current_file,mainw->preview_frame); - lives_ruler_set_value(LIVES_RULER(mainw->hruler),cfile->pointer_time); - if (cfile->pointer_time>0.) { + cfile->pointer_time = calc_time_from_frame(mainw->current_file, mainw->preview_frame); + lives_ruler_set_value(LIVES_RULER(mainw->hruler), cfile->pointer_time); + if (cfile->pointer_time > 0.) { lives_widget_set_sensitive(mainw->rewind, TRUE); - lives_widget_set_sensitive(mainw->trim_to_pstart, cfile->achans>0); + lives_widget_set_sensitive(mainw->trim_to_pstart, cfile->achans > 0); lives_widget_set_sensitive(mainw->m_rewindbutton, TRUE); - if (mainw->preview_box!=NULL) { + if (mainw->preview_box != NULL) { lives_widget_set_sensitive(mainw->p_rewindbutton, TRUE); } get_play_times(); @@ -4426,16 +4364,15 @@ break; case PRV_START: - if (cfile->start!=mainw->preview_frame) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start),mainw->preview_frame); + if (cfile->start != mainw->preview_frame) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start), mainw->preview_frame); get_play_times(); } break; - case PRV_END: - if (cfile->end!=mainw->preview_frame) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end),mainw->preview_frame); + if (cfile->end != mainw->preview_frame) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end), mainw->preview_frame); get_play_times(); } break; @@ -4444,18 +4381,17 @@ lives_widget_set_sensitive(mainw->rewind, FALSE); lives_widget_set_sensitive(mainw->trim_to_pstart, FALSE); lives_widget_set_sensitive(mainw->m_rewindbutton, FALSE); - if (mainw->preview_box!=NULL) { + if (mainw->preview_box != NULL) { lives_widget_set_sensitive(mainw->p_rewindbutton, FALSE); } break; } } - if (pixbuf!=NULL) lives_object_unref(pixbuf); -#if GTK_CHECK_VERSION(3,0,0) - lives_signal_handlers_unblock_by_func(mainw->preview_image,(livespointer)expose_pim,NULL); - lives_signal_stop_emission_by_name(mainw->preview_image,LIVES_WIDGET_EXPOSE_EVENT); + if (pixbuf != NULL) lives_object_unref(pixbuf); +#if GTK_CHECK_VERSION(3, 0, 0) + lives_signal_handlers_unblock_by_func(mainw->preview_image, (livespointer)expose_pim, NULL); + lives_signal_stop_emission_by_name(mainw->preview_image, LIVES_WIDGET_EXPOSE_EVENT); #endif - } @@ -4464,38 +4400,33 @@ png_uint_32 row, int pass) { sched_yield(); } - #endif #ifndef NO_PROG_LOAD #ifdef GUI_GTK static void pbsize_set(GdkPixbufLoader *pbload, int width, int height, livespointer ptr) { - if (xxwidth*xxheight>0) gdk_pixbuf_loader_set_size(pbload,xxwidth,xxheight); + if (xxwidth * xxheight > 0) gdk_pixbuf_loader_set_size(pbload, xxwidth, xxheight); } #endif #endif - - - #ifdef USE_LIBPNG - boolean layer_from_png(FILE *fp, weed_plant_t *layer, boolean prog) { png_structp png_ptr; png_infop info_ptr; unsigned char buff[8]; - unsigned char *mem,*ptr; + unsigned char *mem, *ptr; unsigned char **row_ptrs; - size_t bsize=fread(buff,1,8,fp),framesize; + size_t bsize = fread(buff, 1, 8, fp), framesize; boolean is_png = !png_sig_cmp(buff, 0, bsize); - float screen_gamma=SCREEN_GAMMA; - float pref_gamma = SCREEN_GAMMA*1.0; // a larger value is brighter + float screen_gamma = SCREEN_GAMMA; + float pref_gamma = SCREEN_GAMMA * 1.0; // a larger value is brighter double file_gamma; @@ -4520,7 +4451,6 @@ return FALSE; } - if (setjmp(png_jmpbuf(png_ptr))) { // libpng will longjump to here on error png_destroy_read_struct(&png_ptr, &info_ptr, @@ -4540,7 +4470,7 @@ if (png_get_gAMA(png_ptr, info_ptr, &file_gamma)) png_set_gamma(png_ptr, screen_gamma, file_gamma); else - png_set_gamma(png_ptr, pref_gamma, 1./screen_gamma); + png_set_gamma(png_ptr, pref_gamma, 1. / screen_gamma); // read header info png_read_info(png_ptr, info_ptr); @@ -4562,7 +4492,6 @@ color_type == PNG_COLOR_TYPE_GRAY_ALPHA) png_set_gray_to_rgb(png_ptr); - if (bit_depth == 16) { #if PNG_LIBPNG_VER >= 10504 png_set_scale_16(png_ptr); @@ -4573,13 +4502,12 @@ #ifndef ALLOW_PNG24 if (color_type != PNG_COLOR_TYPE_RGB_ALPHA && - color_type !=PNG_COLOR_TYPE_GRAY_ALPHA) + color_type != PNG_COLOR_TYPE_GRAY_ALPHA) png_set_add_alpha(png_ptr, 255, PNG_FILLER_AFTER); #endif png_set_interlace_handling(png_ptr); - // read updated info with the new palette png_read_update_info(png_ptr, info_ptr); @@ -4589,31 +4517,29 @@ height = png_get_image_height(png_ptr, info_ptr); *rowstrides = png_get_rowbytes(png_ptr, info_ptr); - weed_set_int_value(layer,WEED_LEAF_WIDTH,width); - weed_set_int_value(layer,WEED_LEAF_HEIGHT,height); - weed_set_int_value(layer,WEED_LEAF_ROWSTRIDES,*rowstrides); - + weed_set_int_value(layer, WEED_LEAF_WIDTH, width); + weed_set_int_value(layer, WEED_LEAF_HEIGHT, height); + weed_set_int_value(layer, WEED_LEAF_ROWSTRIDES, *rowstrides); - if (color_type==PNG_COLOR_TYPE_RGB_ALPHA) - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_RGBA32); + if (color_type == PNG_COLOR_TYPE_RGB_ALPHA) + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_RGBA32); else - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_RGB24); - + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_RGB24); // here we allocate ourselves, instead of calling create_empty_pixel data - in case rowbytes is different // some things, like swscale, expect all frames to be a multiple of 32 bytes // so here we round up - framesize=CEIL(*rowstrides*height,32); + framesize = CEIL(*rowstrides * height, 32); - ptr=mem=(unsigned char *)lives_malloc(framesize+64); + ptr = mem = (unsigned char *)lives_malloc(framesize + 64); weed_set_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, mem); // libpng needs pointers to each row - row_ptrs=(unsigned char **)lives_malloc(height*sizeof(unsigned char *)); - for (i=0; i<height; i++) { - row_ptrs[i]=ptr; - ptr+=*rowstrides; + row_ptrs = (unsigned char **)lives_malloc(height * sizeof(unsigned char *)); + for (i = 0; i < height; i++) { + row_ptrs[i] = ptr; + ptr += *rowstrides; } // read in the image @@ -4627,18 +4553,17 @@ png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL); - - if (color_type==PNG_COLOR_TYPE_RGB_ALPHA) { + if (color_type == PNG_COLOR_TYPE_RGB_ALPHA) { if (prefs->alpha_post) { // un-premultiply the alpha - alpha_unpremult(layer,TRUE); + alpha_unpremult(layer, TRUE); } else { - int flags=0,error; - if (weed_plant_has_leaf(layer,WEED_LEAF_FLAGS)) - flags=weed_get_int_value(layer,WEED_LEAF_FLAGS,&error); + int flags = 0, error; + if (weed_plant_has_leaf(layer, WEED_LEAF_FLAGS)) + flags = weed_get_int_value(layer, WEED_LEAF_FLAGS, &error); - flags|=WEED_CHANNEL_ALPHA_PREMULT; - weed_set_int_value(layer,WEED_LEAF_FLAGS,flags); + flags |= WEED_CHANNEL_ALPHA_PREMULT; + weed_set_int_value(layer, WEED_LEAF_FLAGS, flags); } } @@ -4646,8 +4571,6 @@ } - - boolean save_to_png(FILE *fp, weed_plant_t *layer, int comp) { // comp is 0 (none) - 9 (full) png_structp png_ptr; @@ -4655,14 +4578,14 @@ unsigned char *ptr; - float screen_gamma=SCREEN_GAMMA; + float screen_gamma = SCREEN_GAMMA; - int width, height, palette, flags=0, error; + int width, height, palette, flags = 0, error; int rowstride; register int i; - png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING,(png_voidp)NULL, NULL, NULL); + png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, (png_voidp)NULL, NULL, NULL); if (!png_ptr) return FALSE; @@ -4673,7 +4596,6 @@ return FALSE; } - if (setjmp(png_jmpbuf(png_ptr))) { // libpng will longjump to here on error if (info_ptr != NULL) png_free_data(png_ptr, info_ptr, PNG_FREE_ALL, -1); @@ -4683,18 +4605,17 @@ png_init_io(png_ptr, fp); - width=weed_get_int_value(layer,WEED_LEAF_WIDTH,&error); - height=weed_get_int_value(layer,WEED_LEAF_HEIGHT,&error); - rowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - palette=weed_get_int_value(layer,WEED_LEAF_CURRENT_PALETTE,&error); - + width = weed_get_int_value(layer, WEED_LEAF_WIDTH, &error); + height = weed_get_int_value(layer, WEED_LEAF_HEIGHT, &error); + rowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + palette = weed_get_int_value(layer, WEED_LEAF_CURRENT_PALETTE, &error); // unpremult the alpha - if (weed_plant_has_leaf(layer,WEED_LEAF_FLAGS)) - flags=weed_get_int_value(layer,WEED_LEAF_FLAGS,&error); + if (weed_plant_has_leaf(layer, WEED_LEAF_FLAGS)) + flags = weed_get_int_value(layer, WEED_LEAF_FLAGS, &error); - if (flags&WEED_CHANNEL_ALPHA_PREMULT) { - alpha_unpremult(layer,TRUE); + if (flags & WEED_CHANNEL_ALPHA_PREMULT) { + alpha_unpremult(layer, TRUE); } switch (palette) { @@ -4723,16 +4644,16 @@ png_set_alpha_mode(png_ptr, PNG_ALPHA_STANDARD, PNG_DEFAULT_sRGB); #endif - png_set_gamma(png_ptr, screen_gamma, 1.0/screen_gamma); + png_set_gamma(png_ptr, screen_gamma, 1.0 / screen_gamma); png_write_info(png_ptr, info_ptr); - ptr=(unsigned char *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); + ptr = (unsigned char *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); // Write image data - for (i=0 ; i<height ; i++) { - png_write_row(png_ptr,ptr); - ptr+=rowstride; + for (i = 0 ; i < height ; i++) { + png_write_row(png_ptr, ptr); + ptr += rowstride; } // end write @@ -4743,7 +4664,7 @@ if (!prefs->alpha_post) { // premultiply the alpha - alpha_unpremult(layer,FALSE); + alpha_unpremult(layer, FALSE); } fflush(fp); @@ -4756,11 +4677,9 @@ static boolean weed_layer_new_from_file_progressive(weed_plant_t *layer, const char *fname, int width, int height, const char *img_ext) { + LiVESPixbuf *pixbuf = NULL; - - LiVESPixbuf *pixbuf=NULL; - - LiVESError *gerror=NULL; + LiVESError *gerror = NULL; #ifndef NO_PROG_LOAD #ifdef GUI_GTK @@ -4769,41 +4688,40 @@ uint8_t buff[IMG_BUFF_SIZE]; size_t bsize; - int fd=lives_open2(fname,O_RDONLY); - if (fd<0) return FALSE; + int fd = lives_open2(fname, O_RDONLY); + if (fd < 0) return FALSE; #ifdef HAVE_POSIX_FADVISE posix_fadvise(fd, 0, 0, POSIX_FADV_SEQUENTIAL); #endif - xxwidth=width; - xxheight=height; + xxwidth = width; + xxheight = height; - if (!strcmp(img_ext,LIVES_FILE_EXT_PNG)) { + if (!strcmp(img_ext, LIVES_FILE_EXT_PNG)) { #ifdef USE_LIBPNG - FILE *fp=fdopen(fd,"rb"); - boolean ret=layer_from_png(fp,layer,TRUE); + FILE *fp = fdopen(fd, "rb"); + boolean ret = layer_from_png(fp, layer, TRUE); fclose(fp); return ret; #endif #ifdef GUI_GTK - pbload=gdk_pixbuf_loader_new_with_type("png",&gerror); + pbload = gdk_pixbuf_loader_new_with_type("png", &gerror); #endif } #ifdef GUI_GTK - else if (!strcmp(img_ext,LIVES_FILE_EXT_JPG)) pbload=gdk_pixbuf_loader_new_with_type("jpeg",&gerror); - else pbload=gdk_pixbuf_loader_new(); + else if (!strcmp(img_ext, LIVES_FILE_EXT_JPG)) pbload = gdk_pixbuf_loader_new_with_type("jpeg", &gerror); + else pbload = gdk_pixbuf_loader_new(); lives_signal_connect(LIVES_WIDGET_OBJECT(pbload), LIVES_WIDGET_SIZE_PREPARED_SIGNAL, LIVES_GUI_CALLBACK(pbsize_set), NULL); - while (1) { - if (!(bsize=read(fd,buff,IMG_BUFF_SIZE))) break; + if (!(bsize = read(fd, buff, IMG_BUFF_SIZE))) break; sched_yield(); - if (!gdk_pixbuf_loader_write(pbload,buff,bsize,&gerror)) { + if (!gdk_pixbuf_loader_write(pbload, buff, bsize, &gerror)) { close(fd); return FALSE; } @@ -4815,10 +4733,10 @@ close(fd); - if (!gdk_pixbuf_loader_close(pbload,&gerror)) return FALSE; + if (!gdk_pixbuf_loader_close(pbload, &gerror)) return FALSE; - pixbuf=(LiVESPixbuf *)lives_object_ref(gdk_pixbuf_loader_get_pixbuf(pbload)); - if (pbload!=NULL) lives_object_unref(pbload); + pixbuf = (LiVESPixbuf *)lives_object_ref(gdk_pixbuf_loader_get_pixbuf(pbload)); + if (pbload != NULL) lives_object_unref(pbload); #endif # else //PROG_LOAD @@ -4827,45 +4745,43 @@ { FILE *fp; boolean ret; - int fd=lives_open2(fname,O_RDONLY); - if (fd<0) return FALSE; + int fd = lives_open2(fname, O_RDONLY); + if (fd < 0) return FALSE; #ifdef HAVE_POSIX_FADVISE posix_fadvise(fd, 0, 0, POSIX_FADV_SEQUENTIAL); #endif - fp=fdopen(fd,"rb"); - ret=layer_from_png(fp,layer,FALSE); + fp = fdopen(fd, "rb"); + ret = layer_from_png(fp, layer, FALSE); fclose(fp); return ret; } #endif - pixbuf=lives_pixbuf_new_from_file_at_scale(fname,width>0?width:-1,height>0?height:-1,FALSE,gerror); + pixbuf = lives_pixbuf_new_from_file_at_scale(fname, width > 0 ? width : -1, height > 0 ? height : -1, FALSE, gerror); #endif - if (gerror!=NULL) { + if (gerror != NULL) { lives_error_free(gerror); - pixbuf=NULL; + pixbuf = NULL; } - if (pixbuf==NULL) return FALSE; + if (pixbuf == NULL) return FALSE; if (lives_pixbuf_get_has_alpha(pixbuf)) { /* unfortunately gdk pixbuf loader does not preserve the original alpha channel, instead it adds its own. We need to hence reset it back to opaque */ lives_pixbuf_set_opaque(pixbuf); - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_RGBA32); - } else weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_RGB24); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_RGBA32); + } else weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_RGB24); - if (!pixbuf_to_layer(layer,pixbuf)) { + if (!pixbuf_to_layer(layer, pixbuf)) { lives_object_unref(pixbuf); } return TRUE; - } - static weed_plant_t *render_subs_from_file(lives_clip_t *sfile, double xtime, weed_plant_t *layer) { // render subtitles from whatever (.srt or .sub) file // uses default values for colours, fonts, size, etc. @@ -4873,24 +4789,24 @@ // TODO - allow prefs settings for colours, fonts, size, alpha //char *sfont=mainw->font_list[prefs->sub_font]; - const char *sfont="Sans"; - lives_colRGBA64_t col_white,col_black_a; + const char *sfont = "Sans"; + lives_colRGBA64_t col_white, col_black_a; - int error,size; + int error, size; - xtime-=(double)sfile->subt->offset/sfile->fps; + xtime -= (double)sfile->subt->offset / sfile->fps; // round to 2 dp - xtime=(double)((int)(xtime*100.+.5))/100.; + xtime = (double)((int)(xtime * 100. + .5)) / 100.; - if (xtime<0.||(sfile->subt->last_time>-1.&&xtime>sfile->subt->last_time)) return layer; + if (xtime < 0. || (sfile->subt->last_time > -1. && xtime > sfile->subt->last_time)) return layer; switch (sfile->subt->type) { case SUBTITLE_TYPE_SRT: - get_srt_text(sfile,xtime); + get_srt_text(sfile, xtime); break; case SUBTITLE_TYPE_SUB: - get_sub_text(sfile,xtime); + get_sub_text(sfile, xtime); break; default: return layer; @@ -4898,25 +4814,23 @@ /////////// use plugin ////////////// - size=weed_get_int_value(layer,WEED_LEAF_WIDTH,&error)/32; + size = weed_get_int_value(layer, WEED_LEAF_WIDTH, &error) / 32; - col_white.red=col_white.green=col_white.blue=col_white.alpha=65535; - col_black_a.red=col_black_a.green=col_black_a.blue=0; - col_black_a.alpha=20480; + col_white.red = col_white.green = col_white.blue = col_white.alpha = 65535; + col_black_a.red = col_black_a.green = col_black_a.blue = 0; + col_black_a.alpha = 20480; - if (sfile->subt->text!=NULL) { + if (sfile->subt->text != NULL) { char *tmp; - layer=render_text_to_layer(layer,(tmp=lives_strdup_printf(" %s ",sfile->subt->text)),sfont,size, - LIVES_TEXT_MODE_FOREGROUND_AND_BACKGROUND,&col_white,&col_black_a,TRUE,TRUE,0.); + layer = render_text_to_layer(layer, (tmp = lives_strdup_printf(" %s ", sfile->subt->text)), sfont, size, + LIVES_TEXT_MODE_FOREGROUND_AND_BACKGROUND, &col_white, &col_black_a, TRUE, TRUE, 0.); lives_free(tmp); } - return layer; } - boolean pull_frame_at_size(weed_plant_t *layer, const char *image_ext, weed_timecode_t tc, int width, int height, int target_palette) { // pull a frame from an external source into a layer @@ -4930,96 +4844,95 @@ weed_plant_t *vlayer; void **pixel_data; - lives_clip_t *sfile=NULL; + lives_clip_t *sfile = NULL; int *rowstrides; int error; - int clip=weed_get_int_value(layer,WEED_LEAF_CLIP,&error); - int frame=weed_get_int_value(layer,WEED_LEAF_FRAME,&error); + int clip = weed_get_int_value(layer, WEED_LEAF_CLIP, &error); + int frame = weed_get_int_value(layer, WEED_LEAF_FRAME, &error); int clip_type; #ifdef HAVE_POSIX_FADVISE int fd; #endif - boolean is_thread=FALSE; + boolean is_thread = FALSE; - if (weed_plant_has_leaf(layer,WEED_LEAF_HOST_PTHREAD)) is_thread=TRUE; + if (weed_plant_has_leaf(layer, WEED_LEAF_HOST_PTHREAD)) is_thread = TRUE; - weed_set_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,NULL); + weed_set_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, NULL); - mainw->osc_block=TRUE; // block OSC until we are done + mainw->osc_block = TRUE; // block OSC until we are done - if (clip<0&&frame==0) clip_type=CLIP_TYPE_DISK; + if (clip < 0 && frame == 0) clip_type = CLIP_TYPE_DISK; else { - sfile=mainw->files[clip]; - if (sfile==NULL) { - mainw->osc_block=FALSE; + sfile = mainw->files[clip]; + if (sfile == NULL) { + mainw->osc_block = FALSE; return FALSE; } - clip_type=sfile->clip_type; + clip_type = sfile->clip_type; } - switch (clip_type) { case CLIP_TYPE_DISK: case CLIP_TYPE_FILE: // frame number can be 0 during rendering - if (frame==0) { - mainw->osc_block=FALSE; - if ((width==0||height==0)&&weed_plant_has_leaf(layer,WEED_LEAF_WIDTH)&&weed_plant_has_leaf(layer,WEED_LEAF_HEIGHT)) { - width=weed_get_int_value(layer,WEED_LEAF_WIDTH,&error); - height=weed_get_int_value(layer,WEED_LEAF_HEIGHT,&error); - } - if (width==0) width=4; - if (height==0) height=4; - weed_set_int_value(layer,WEED_LEAF_WIDTH,width); - weed_set_int_value(layer,WEED_LEAF_HEIGHT,height); - if (!weed_plant_has_leaf(layer,WEED_LEAF_CURRENT_PALETTE)) { - if (image_ext==NULL||!strcmp(image_ext,LIVES_FILE_EXT_JPG)) weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_RGB24); - else weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,WEED_PALETTE_RGBA32); + if (frame == 0) { + mainw->osc_block = FALSE; + if ((width == 0 || height == 0) && weed_plant_has_leaf(layer, WEED_LEAF_WIDTH) && weed_plant_has_leaf(layer, WEED_LEAF_HEIGHT)) { + width = weed_get_int_value(layer, WEED_LEAF_WIDTH, &error); + height = weed_get_int_value(layer, WEED_LEAF_HEIGHT, &error); + } + if (width == 0) width = 4; + if (height == 0) height = 4; + weed_set_int_value(layer, WEED_LEAF_WIDTH, width); + weed_set_int_value(layer, WEED_LEAF_HEIGHT, height); + if (!weed_plant_has_leaf(layer, WEED_LEAF_CURRENT_PALETTE)) { + if (image_ext == NULL || !strcmp(image_ext, LIVES_FILE_EXT_JPG)) weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_RGB24); + else weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, WEED_PALETTE_RGBA32); } - create_empty_pixel_data(layer,TRUE,TRUE); + create_empty_pixel_data(layer, TRUE, TRUE); return TRUE; - } else if (clip==mainw->scrap_file) { - return load_from_scrap_file(layer,frame); + } else if (clip == mainw->scrap_file) { + return load_from_scrap_file(layer, frame); } else { - if (sfile->clip_type==CLIP_TYPE_FILE&&sfile->frame_index!=NULL&&frame>0&& - frame<=sfile->frames&&is_virtual_frame(clip,frame)) { + if (sfile->clip_type == CLIP_TYPE_FILE && sfile->frame_index != NULL && frame > 0 && + frame <= sfile->frames && is_virtual_frame(clip, frame)) { // pull frame from video clip // this could be threaded, so we must not use any gtk functions here - boolean res=TRUE; + boolean res = TRUE; lives_decoder_t *dplug; - if (weed_plant_has_leaf(layer,WEED_LEAF_HOST_DECODER)) { - dplug=(lives_decoder_t *)weed_get_voidptr_value(layer,WEED_LEAF_HOST_DECODER,&error); - } else dplug=(lives_decoder_t *)sfile->ext_src; - if (dplug==NULL||dplug->cdata==NULL) return FALSE; - if (target_palette!=dplug->cdata->current_palette) { + if (weed_plant_has_leaf(layer, WEED_LEAF_HOST_DECODER)) { + dplug = (lives_decoder_t *)weed_get_voidptr_value(layer, WEED_LEAF_HOST_DECODER, &error); + } else dplug = (lives_decoder_t *)sfile->ext_src; + if (dplug == NULL || dplug->cdata == NULL) return FALSE; + if (target_palette != dplug->cdata->current_palette) { // try to switch palette - if (decplugin_supports_palette(dplug,target_palette)) { + if (decplugin_supports_palette(dplug, target_palette)) { // switch palettes and re-read clip_data - int oldpal=dplug->cdata->current_palette; - dplug->cdata->current_palette=target_palette; - if (dplug->decoder->set_palette!=NULL) { + int oldpal = dplug->cdata->current_palette; + dplug->cdata->current_palette = target_palette; + if (dplug->decoder->set_palette != NULL) { if (!(*dplug->decoder->set_palette)(dplug->cdata)) { - dplug->cdata->current_palette=oldpal; + dplug->cdata->current_palette = oldpal; (*dplug->decoder->set_palette)(dplug->cdata); } } } else { - if (dplug->cdata->current_palette!=dplug->cdata->palettes[0]&& - ((weed_palette_is_rgb_palette(target_palette)&& - weed_palette_is_rgb_palette(dplug->cdata->palettes[0]))|| - (weed_palette_is_yuv_palette(target_palette)&& + if (dplug->cdata->current_palette != dplug->cdata->palettes[0] && + ((weed_palette_is_rgb_palette(target_palette) && + weed_palette_is_rgb_palette(dplug->cdata->palettes[0])) || + (weed_palette_is_yuv_palette(target_palette) && weed_palette_is_yuv_palette(dplug->cdata->palettes[0])))) { - int oldpal=dplug->cdata->current_palette; - dplug->cdata->current_palette=dplug->cdata->palettes[0]; - if (dplug->decoder->set_palette!=NULL) { + int oldpal = dplug->cdata->current_palette; + dplug->cdata->current_palette = dplug->cdata->palettes[0]; + if (dplug->decoder->set_palette != NULL) { if (!(*dplug->decoder->set_palette)(dplug->cdata)) { - dplug->cdata->current_palette=oldpal; + dplug->cdata->current_palette = oldpal; (*dplug->decoder->set_palette)(dplug->cdata); } } @@ -5029,79 +4942,78 @@ // TODO *** - check for auto-border : we might use width,height instead of frame_width,frame_height, and handle this in the plugin if (!prefs->auto_nobord) { - width=dplug->cdata->frame_width/weed_palette_get_pixels_per_macropixel(dplug->cdata->current_palette); - height=dplug->cdata->frame_height; + width = dplug->cdata->frame_width / weed_palette_get_pixels_per_macropixel(dplug->cdata->current_palette); + height = dplug->cdata->frame_height; } else { - width=dplug->cdata->width/weed_palette_get_pixels_per_macropixel(dplug->cdata->current_palette); - height=dplug->cdata->height; + width = dplug->cdata->width / weed_palette_get_pixels_per_macropixel(dplug->cdata->current_palette); + height = dplug->cdata->height; } - weed_set_int_value(layer,WEED_LEAF_WIDTH,width); - weed_set_int_value(layer,WEED_LEAF_HEIGHT,height); - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,dplug->cdata->current_palette); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width); + weed_set_int_value(layer, WEED_LEAF_HEIGHT, height); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, dplug->cdata->current_palette); if (weed_palette_is_yuv_palette(dplug->cdata->current_palette)) { - weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,dplug->cdata->YUV_sampling); - weed_set_int_value(layer,WEED_LEAF_YUV_CLAMPING,dplug->cdata->YUV_clamping); - weed_set_int_value(layer,WEED_LEAF_YUV_SUBSPACE,dplug->cdata->YUV_subspace); + weed_set_int_value(layer, WEED_LEAF_YUV_SAMPLING, dplug->cdata->YUV_sampling); + weed_set_int_value(layer, WEED_LEAF_YUV_CLAMPING, dplug->cdata->YUV_clamping); + weed_set_int_value(layer, WEED_LEAF_YUV_SUBSPACE, dplug->cdata->YUV_subspace); } - create_empty_pixel_data(layer,FALSE,TRUE); + create_empty_pixel_data(layer, FALSE, TRUE); - pixel_data=weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - rowstrides=weed_get_int_array(layer,WEED_LEAF_ROWSTRIDES,&error); + pixel_data = weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + rowstrides = weed_get_int_array(layer, WEED_LEAF_ROWSTRIDES, &error); // try to pull frame from decoder plugin - if (!(*dplug->decoder->get_frame)(dplug->cdata,(int64_t)(sfile->frame_index[frame-1]), - rowstrides,sfile->vsize,pixel_data)) { - + if (!(*dplug->decoder->get_frame)(dplug->cdata, (int64_t)(sfile->frame_index[frame - 1]), + rowstrides, sfile->vsize, pixel_data)) { // if get_frame fails, return a black frame if (!is_thread) { weed_layer_pixel_data_free(layer); - create_empty_pixel_data(layer,TRUE,TRUE); + create_empty_pixel_data(layer, TRUE, TRUE); } - res=FALSE; + res = FALSE; } lives_free(pixel_data); lives_free(rowstrides); // deinterlace - if (sfile->deinterlace||(prefs->auto_deint&&dplug->cdata->interlace!=LIVES_INTERLACE_NONE)) { + if (sfile->deinterlace || (prefs->auto_deint && dplug->cdata->interlace != LIVES_INTERLACE_NONE)) { if (!is_thread) { - deinterlace_frame(layer,tc); - } else weed_set_boolean_value(layer,WEED_LEAF_HOST_DEINTERLACE,WEED_TRUE); + deinterlace_frame(layer, tc); + } else weed_set_boolean_value(layer, WEED_LEAF_HOST_DEINTERLACE, WEED_TRUE); } - mainw->osc_block=FALSE; + mainw->osc_block = FALSE; return res; } else { // pull frame from decoded images boolean ret; - char *fname=make_image_file_name(sfile,frame,image_ext); - if (height*width==0) { - ret=weed_layer_new_from_file_progressive(layer,fname,0,0,image_ext); + char *fname = make_image_file_name(sfile, frame, image_ext); + if (height * width == 0) { + ret = weed_layer_new_from_file_progressive(layer, fname, 0, 0, image_ext); } else { - ret=weed_layer_new_from_file_progressive(layer,fname,width,height,image_ext); + ret = weed_layer_new_from_file_progressive(layer, fname, width, height, image_ext); } lives_free(fname); #ifdef HAVE_POSIX_FADVISE // advise that we will read the next frame - if (sfile->pb_fps>0.) - fname=make_image_file_name(sfile,frame+1,image_ext); + if (sfile->pb_fps > 0.) + fname = make_image_file_name(sfile, frame + 1, image_ext); else - fname=make_image_file_name(sfile,frame-1,image_ext); + fname = make_image_file_name(sfile, frame - 1, image_ext); - fd=open(fname,O_RDONLY); - if (fd>-1) { + fd = open(fname, O_RDONLY); + if (fd > -1) { posix_fadvise(fd, 0, 0, POSIX_FADV_WILLNEED); close(fd); } lives_free(fname); #endif - mainw->osc_block=FALSE; - if (ret==FALSE) return FALSE; + mainw->osc_block = FALSE; + if (ret == FALSE) return FALSE; } } break; @@ -5110,51 +5022,51 @@ #ifdef HAVE_YUV4MPEG case CLIP_TYPE_YUV4MPEG: - weed_layer_set_from_yuv4m(layer,sfile); + weed_layer_set_from_yuv4m(layer, sfile); if (sfile->deinterlace) { if (!is_thread) { - deinterlace_frame(layer,tc); - } else weed_set_boolean_value(layer,WEED_LEAF_HOST_DEINTERLACE,WEED_TRUE); + deinterlace_frame(layer, tc); + } else weed_set_boolean_value(layer, WEED_LEAF_HOST_DEINTERLACE, WEED_TRUE); } - mainw->osc_block=FALSE; + mainw->osc_block = FALSE; return TRUE; #endif #ifdef HAVE_UNICAP case CLIP_TYPE_VIDEODEV: - weed_layer_set_from_lvdev(layer,sfile,4./cfile->pb_fps); + weed_layer_set_from_lvdev(layer, sfile, 4. / cfile->pb_fps); if (sfile->deinterlace) { if (!is_thread) { - deinterlace_frame(layer,tc); - } else weed_set_boolean_value(layer,WEED_LEAF_HOST_DEINTERLACE,WEED_TRUE); + deinterlace_frame(layer, tc); + } else weed_set_boolean_value(layer, WEED_LEAF_HOST_DEINTERLACE, WEED_TRUE); } - mainw->osc_block=FALSE; + mainw->osc_block = FALSE; return TRUE; #endif case CLIP_TYPE_LIVES2LIVES: - weed_layer_set_from_lives2lives(layer,clip,(lives_vstream_t *)sfile->ext_src); - mainw->osc_block=FALSE; + weed_layer_set_from_lives2lives(layer, clip, (lives_vstream_t *)sfile->ext_src); + mainw->osc_block = FALSE; return TRUE; case CLIP_TYPE_GENERATOR: // special handling for clips where host controls size // Note: vlayer is actually the out channel of the generator, so we should // never free it - vlayer=weed_layer_new_from_generator((weed_plant_t *)sfile->ext_src,tc); - weed_layer_copy(layer,vlayer); // layer is non-NULL, so copy by reference - weed_set_voidptr_value(vlayer,WEED_LEAF_PIXEL_DATA,NULL); - mainw->osc_block=FALSE; + vlayer = weed_layer_new_from_generator((weed_plant_t *)sfile->ext_src, tc); + weed_layer_copy(layer, vlayer); // layer is non-NULL, so copy by reference + weed_set_voidptr_value(vlayer, WEED_LEAF_PIXEL_DATA, NULL); + mainw->osc_block = FALSE; return TRUE; default: - mainw->osc_block=FALSE; + mainw->osc_block = FALSE; return FALSE; } - mainw->osc_block=FALSE; + mainw->osc_block = FALSE; if (!is_thread) { // render subtitles from file - if (prefs->show_subtitles&&sfile->subt!=NULL&&sfile->subt->tfile!=NULL) { - double xtime=(double)(frame-1)/sfile->fps; - layer=render_subs_from_file(sfile,xtime,layer); + if (prefs->show_subtitles && sfile->subt != NULL && sfile->subt->tfile != NULL) { + double xtime = (double)(frame - 1) / sfile->fps; + layer = render_subs_from_file(sfile, xtime, layer); } } @@ -5168,7 +5080,7 @@ // tc is used instead of WEED_LEAF_FRAME for some sources (e.g. generator plugins) // image_ext is used if the source is an image file (eg. "jpg" or "png") - return pull_frame_at_size(layer,image_ext,tc,0,0,WEED_PALETTE_END); + return pull_frame_at_size(layer, image_ext, tc, 0, 0, WEED_PALETTE_END); } @@ -5180,34 +5092,34 @@ int error; lives_clip_t *sfile; - if (layer==NULL) return; - if (weed_plant_has_leaf(layer,WEED_LEAF_HOST_PTHREAD)) { - pthread_t *frame_thread=(pthread_t *)weed_get_voidptr_value(layer,WEED_LEAF_HOST_PTHREAD,&error); - pthread_join(*frame_thread,NULL); - weed_leaf_delete(layer,WEED_LEAF_HOST_PTHREAD); + if (layer == NULL) return; + if (weed_plant_has_leaf(layer, WEED_LEAF_HOST_PTHREAD)) { + pthread_t *frame_thread = (pthread_t *)weed_get_voidptr_value(layer, WEED_LEAF_HOST_PTHREAD, &error); + pthread_join(*frame_thread, NULL); + weed_leaf_delete(layer, WEED_LEAF_HOST_PTHREAD); free(frame_thread); - if (weed_plant_has_leaf(layer,WEED_LEAF_HOST_DEINTERLACE)&&weed_get_boolean_value(layer,WEED_LEAF_HOST_DEINTERLACE,&error)==WEED_TRUE) { + if (weed_plant_has_leaf(layer, WEED_LEAF_HOST_DEINTERLACE) && + weed_get_boolean_value(layer, WEED_LEAF_HOST_DEINTERLACE, &error) == WEED_TRUE) { int error; - weed_timecode_t tc=weed_get_int64_value(layer,WEED_LEAF_HOST_TC,&error); - deinterlace_frame(layer,tc); - weed_set_boolean_value(layer,WEED_LEAF_HOST_DEINTERLACE,WEED_FALSE); + weed_timecode_t tc = weed_get_int64_value(layer, WEED_LEAF_HOST_TC, &error); + deinterlace_frame(layer, tc); + weed_set_boolean_value(layer, WEED_LEAF_HOST_DEINTERLACE, WEED_FALSE); } - clip=weed_get_int_value(layer,WEED_LEAF_CLIP,&error); - frame=weed_get_int_value(layer,WEED_LEAF_FRAME,&error); + clip = weed_get_int_value(layer, WEED_LEAF_CLIP, &error); + frame = weed_get_int_value(layer, WEED_LEAF_FRAME, &error); - if (clip!=-1) { - sfile=mainw->files[clip]; + if (clip != -1) { + sfile = mainw->files[clip]; // render subtitles from file - if (prefs->show_subtitles&&sfile->subt!=NULL&&sfile->subt->tfile!=NULL) { - double xtime=(double)(frame-1)/sfile->fps; - layer=render_subs_from_file(sfile,xtime,layer); + if (prefs->show_subtitles && sfile->subt != NULL && sfile->subt->tfile != NULL) { + double xtime = (double)(frame - 1) / sfile->fps; + layer = render_subs_from_file(sfile, xtime, layer); } } } - } @@ -5219,17 +5131,16 @@ static void *pft_thread(void *in) { - pft_priv_data *data=(pft_priv_data *)in; - weed_plant_t *layer=data->layer; - weed_timecode_t tc=data->tc; - const char *img_ext=data->img_ext; + pft_priv_data *data = (pft_priv_data *)in; + weed_plant_t *layer = data->layer; + weed_timecode_t tc = data->tc; + const char *img_ext = data->img_ext; lives_free(in); - pull_frame_at_size(layer,img_ext,tc,0,0,WEED_PALETTE_END); + pull_frame_at_size(layer, img_ext, tc, 0, 0, WEED_PALETTE_END); return NULL; } - void pull_frame_threaded(weed_plant_t *layer, const char *img_ext, weed_timecode_t tc) { // pull a frame from an external source into a layer // the WEED_LEAF_CLIP and WEED_LEAF_FRAME leaves must be set in layer @@ -5239,21 +5150,21 @@ // may only be used on "virtual" frames //#define NO_FRAME_THREAD #ifdef NO_FRAME_THREAD - pull_frame(layer,img_ext,tc); + pull_frame(layer, img_ext, tc); return; #else - pft_priv_data *in=(pft_priv_data *)lives_malloc(sizeof(pft_priv_data)); - pthread_t *frame_thread=(pthread_t *)calloc(sizeof(pthread_t),1); + pft_priv_data *in = (pft_priv_data *)lives_malloc(sizeof(pft_priv_data)); + pthread_t *frame_thread = (pthread_t *)calloc(sizeof(pthread_t), 1); - weed_set_int64_value(layer,WEED_LEAF_HOST_TC,tc); - weed_set_boolean_value(layer,WEED_LEAF_HOST_DEINTERLACE,WEED_FALSE); - weed_set_voidptr_value(layer,WEED_LEAF_HOST_PTHREAD,(void *)frame_thread); - in->img_ext=img_ext; - in->layer=layer; - in->tc=tc; + weed_set_int64_value(layer, WEED_LEAF_HOST_TC, tc); + weed_set_boolean_value(layer, WEED_LEAF_HOST_DEINTERLACE, WEED_FALSE); + weed_set_voidptr_value(layer, WEED_LEAF_HOST_PTHREAD, (void *)frame_thread); + in->img_ext = img_ext; + in->layer = layer; + in->tc = tc; - pthread_create(frame_thread,NULL,pft_thread,(void *)in); + pthread_create(frame_thread, NULL, pft_thread, (void *)in); #endif } @@ -5265,192 +5176,206 @@ // image_ext is used if the source is an image file (eg. "jpg" or "png") // pixbuf will be sized to width x height pixels using interp - LiVESPixbuf *pixbuf=NULL; - weed_plant_t *layer=weed_plant_new(WEED_PLANT_CHANNEL); + LiVESPixbuf *pixbuf = NULL; + weed_plant_t *layer = weed_plant_new(WEED_PLANT_CHANNEL); int palette; - weed_set_int_value(layer,WEED_LEAF_CLIP,clip); - weed_set_int_value(layer,WEED_LEAF_FRAME,frame); + weed_set_int_value(layer, WEED_LEAF_CLIP, clip); + weed_set_int_value(layer, WEED_LEAF_FRAME, frame); #ifndef ALLOW_PNG24 - if (!strcmp(image_ext,LIVES_FILE_EXT_PNG)) palette=WEED_PALETTE_RGBA32; - else palette=WEED_PALETTE_RGB24; + if (!strcmp(image_ext, LIVES_FILE_EXT_PNG)) palette = WEED_PALETTE_RGBA32; + else palette = WEED_PALETTE_RGB24; #else - palette=WEED_PALETTE_END; + palette = WEED_PALETTE_END; #endif - if (pull_frame_at_size(layer,image_ext,tc,width,height,palette)) { - if (palette!=WEED_PALETTE_END) convert_layer_palette(layer,palette,0); - pixbuf=layer_to_pixbuf(layer); + if (pull_frame_at_size(layer, image_ext, tc, width, height, palette)) { + if (palette != WEED_PALETTE_END) convert_layer_palette(layer, palette, 0); + pixbuf = layer_to_pixbuf(layer); } weed_plant_free(layer); - if (pixbuf!=NULL&&((width!=0&&lives_pixbuf_get_width(pixbuf)!=width) - ||(height!=0&&lives_pixbuf_get_height(pixbuf)!=height))) { + if (pixbuf != NULL && ((width != 0 && lives_pixbuf_get_width(pixbuf) != width) + || (height != 0 && lives_pixbuf_get_height(pixbuf) != height))) { LiVESPixbuf *pixbuf2; threaded_dialog_spin(0.); // TODO - could use resize plugin here - pixbuf2=lives_pixbuf_scale_simple(pixbuf,width,height,interp); - if (pixbuf!=NULL) lives_object_unref(pixbuf); + pixbuf2 = lives_pixbuf_scale_simple(pixbuf, width, height, interp); + if (pixbuf != NULL) lives_object_unref(pixbuf); threaded_dialog_spin(0.); - pixbuf=pixbuf2; + pixbuf = pixbuf2; } + return pixbuf; } + LIVES_INLINE LiVESPixbuf *pull_lives_pixbuf(int clip, int frame, const char *image_ext, weed_timecode_t tc) { - return pull_lives_pixbuf_at_size(clip,frame,image_ext,tc,0,0,LIVES_INTERP_NORMAL); + return pull_lives_pixbuf_at_size(clip, frame, image_ext, tc, 0, 0, LIVES_INTERP_NORMAL); } + static void get_max_opsize(int *opwidth, int *opheight) { // calc max output size for display // if we are rendering or saving to disk int pmonitor; - if (mainw->multitrack!=NULL) { - if (mainw->multitrack->is_rendering) { - *opwidth=cfile->hsize; - *opheight=cfile->vsize; - } else { - if (!mainw->fs||mainw->play_window==NULL||mainw->ext_playback) { - if (mainw->play_window==NULL) { - *opwidth=mainw->files[mainw->multitrack->render_file]->hsize; - *opheight=mainw->files[mainw->multitrack->render_file]->vsize; - calc_maxspect(mainw->multitrack->play_width,mainw->multitrack->play_height,opwidth,opheight); - } else { - *opwidth=cfile->hsize; - *opheight=cfile->vsize; - } - - if (!mainw->fs&&mainw->play_window!=NULL&&(mainw->pwidth<*opwidth||mainw->pheight<*opheight)) { - *opwidth=mainw->pwidth; - *opheight=mainw->pheight; - } - } else { - if (prefs->play_monitor==0) { - *opwidth=mainw->scr_width; - *opheight=mainw->scr_height; - if (capable->nmonitors>1) { + if (mainw->ext_playback) { + // playback plugin + if (mainw->vpp->capabilities & VPP_LOCAL_DISPLAY) { + if (mainw->vpp->capabilities & VPP_CAN_RESIZE) { + // plugin can resize. Set whichever is smaller of screen size, clip size. + if (prefs->play_monitor == 0) { + *opwidth = mainw->scr_width; + *opheight = mainw->scr_height; + if (capable->nmonitors > 1) { // spread over all monitors - *opwidth=lives_screen_get_width(mainw->mgeom[0].screen); - *opheight=lives_screen_get_height(mainw->mgeom[0].screen); + *opwidth = lives_screen_get_width(mainw->mgeom[0].screen); + *opheight = lives_screen_get_height(mainw->mgeom[0].screen); } } else { - if (mainw->play_window!=NULL) pmonitor=prefs->play_monitor; - else pmonitor=prefs->gui_monitor; - *opwidth=mainw->mgeom[pmonitor-1].width; - *opheight=mainw->mgeom[pmonitor-1].height; + *opwidth = mainw->mgeom[prefs->play_monitor - 1].width; + *opheight = mainw->mgeom[prefs->play_monitor - 1].height; } + + // use smaller of clip size, screen size + if (cfile->hsize < *opwidth) *opwidth = cfile->hsize; + if (cfile->vsize < *opheight) *opheight = cfile->vsize; + + } else { + // ext plugin can't resize, use its fixed size + *opwidth = mainw->vpp->fwidth; + *opheight = mainw->vpp->fheight; + } + } else { + // remote display + if (!(mainw->vpp->capabilities & VPP_CAN_RESIZE)) { + *opwidth = mainw->vpp->fwidth; + *opheight = mainw->vpp->fheight; + } else { + *opwidth = cfile->hsize; + *opheight = cfile->vsize; } } } - if (mainw->ext_playback) { - if (mainw->vpp->capabilities&VPP_LOCAL_DISPLAY) { - if (mainw->vpp->capabilities&VPP_CAN_RESIZE) { - if (mainw->fs) { - if (prefs->play_monitor==0) { - *opwidth=mainw->scr_width; - *opheight=mainw->scr_height; - if (capable->nmonitors>1) { - // spread over all monitors - *opwidth=lives_screen_get_width(mainw->mgeom[0].screen); - *opheight=lives_screen_get_height(mainw->mgeom[0].screen); - } - } else { - *opwidth=mainw->mgeom[prefs->play_monitor-1].width; - *opheight=mainw->mgeom[prefs->play_monitor-1].height; + + if (mainw->multitrack != NULL) { + // multitrack mode + if (mainw->multitrack->is_rendering) { + // if we are rendering, use the clip size + *opwidth = cfile->hsize; + *opheight = cfile->vsize; + } else if (!mainw->ext_playback) { + // not rendering or using playback plugin + if (!mainw->fs || mainw->play_window == NULL) { + // not full screen, or inset + *opwidth = mainw->files[mainw->multitrack->render_file]->hsize; + *opheight = mainw->files[mainw->multitrack->render_file]->vsize; + calc_maxspect(mainw->multitrack->play_width, mainw->multitrack->play_height, opwidth, opheight); + } else { + // fullscreen, sepwin + // use screen size. We dealt with pb plugins above + if (prefs->play_monitor == 0) { + *opwidth = mainw->scr_width; + *opheight = mainw->scr_height; + if (capable->nmonitors > 1 && !prefs->force_single_monitor) { + // spread over all monitors + *opwidth = lives_screen_get_width(mainw->mgeom[0].screen); + *opheight = lives_screen_get_height(mainw->mgeom[0].screen); } + } else { + if (mainw->play_window != NULL) pmonitor = prefs->play_monitor; + else pmonitor = prefs->gui_monitor; + *opwidth = mainw->mgeom[pmonitor - 1].width; + *opheight = mainw->mgeom[pmonitor - 1].height; } - } else { - // ext plugin can't resize - *opwidth=mainw->vpp->fwidth; - *opheight=mainw->vpp->fheight; - } - } else { - if (!(mainw->vpp->capabilities&VPP_CAN_RESIZE)) { - *opwidth=mainw->vpp->fwidth; - *opheight=mainw->vpp->fheight; } } - } - if (mainw->multitrack==NULL) { - // no playback plugin - if (mainw->fs&&!mainw->is_rendering) { + } else { + // clip edit mode + if (mainw->fs && !mainw->is_rendering) { if (!mainw->sep_win) { do { - *opwidth=lives_widget_get_allocation_width(mainw->playframe); - *opheight=lives_widget_get_allocation_height(mainw->playframe); - if (*opwidth **opheight==0) { + *opwidth = lives_widget_get_allocation_width(mainw->playframe); + *opheight = lives_widget_get_allocation_height(mainw->playframe); + if (*opwidth **opheight == 0) { lives_widget_context_update(); } } while (*opwidth **opheight == 0); } else { - if (prefs->play_monitor==0) { - if (capable->nmonitors==1) { - if (mainw->scr_width>*opwidth) *opwidth=mainw->scr_width; - if (mainw->scr_height>*opheight) *opheight=mainw->scr_height; + // sep win full screen + if (!mainw->ext_playback) { + if (prefs->play_monitor == 0) { + if (capable->nmonitors == 1) { + *opwidth = mainw->scr_width; + *opheight = mainw->scr_height; + } else { + // spread over all monitors + *opwidth = lives_screen_get_width(mainw->mgeom[0].screen); + *opheight = lives_screen_get_height(mainw->mgeom[0].screen); + } } else { - // spread over all monitors - if (lives_screen_get_width(mainw->mgeom[0].screen)>*opwidth) *opwidth=lives_screen_get_width(mainw->mgeom[0].screen); - if (lives_screen_get_height(mainw->mgeom[0].screen)>*opheight) *opheight=lives_screen_get_height(mainw->mgeom[0].screen); + if (mainw->play_window != NULL) pmonitor = prefs->play_monitor; + else pmonitor = prefs->gui_monitor; + *opwidth = mainw->mgeom[pmonitor - 1].width; + *opheight = mainw->mgeom[pmonitor - 1].height; } - } else { - if (mainw->play_window!=NULL) pmonitor=prefs->play_monitor; - else pmonitor=prefs->gui_monitor; - if (mainw->mgeom[pmonitor-1].width>*opwidth) *opwidth=mainw->mgeom[pmonitor-1].width; - if (mainw->mgeom[pmonitor-1].height>*opheight) *opheight=mainw->mgeom[pmonitor-1].height; } } } else { if (mainw->is_rendering) { - if (cfile->hsize>*opwidth) *opwidth=cfile->hsize; - if (cfile->vsize>*opheight) *opheight=cfile->vsize; + if (cfile->hsize > *opwidth) *opwidth = cfile->hsize; + if (cfile->vsize > *opheight) *opheight = cfile->vsize; } else { + // not full screen + if (!mainw->sep_win) { -#if GTK_CHECK_VERSION(3,0,0) - int rwidth=mainw->ce_frame_width; - int rheight=mainw->ce_frame_height; - *opwidth=cfile->hsize; - *opheight=cfile->vsize; - calc_maxspect(rwidth,rheight,opwidth,opheight); + // in GUI +#if GTK_CHECK_VERSION(3, 0, 0) + int rwidth = mainw->ce_frame_width; + int rheight = mainw->ce_frame_height; + *opwidth = cfile->hsize; + *opheight = cfile->vsize; + calc_maxspect(rwidth, rheight, opwidth, opheight); #else do { - *opwidth=lives_widget_get_allocation_width(mainw->playframe); - *opheight=lives_widget_get_allocation_height(mainw->playframe); - if (*opwidth **opheight==0) { + *opwidth = lives_widget_get_allocation_width(mainw->playframe); + *opheight = lives_widget_get_allocation_height(mainw->playframe); + if (*opwidth **opheight == 0) { lives_widget_context_update(); } } while (*opwidth **opheight == 0); #endif } else { - if (mainw->pwidth<*opwidth||mainw->pheight<*opheight||*opwidth==0||*opheight==0) { - *opwidth=mainw->pwidth; - *opheight=mainw->pheight; + // in sep. window + if (mainw->pwidth < *opwidth || mainw->pheight < *opheight || *opwidth == 0 || *opheight == 0) { + *opwidth = mainw->pwidth; + *opheight = mainw->pheight; } } } } } - } void init_track_decoders(void) { register int i; - for (i=0; i<MAX_TRACKS; i++) { - mainw->track_decoders[i]=NULL; - mainw->old_active_track_list[i]=mainw->active_track_list[i]=0; + for (i = 0; i < MAX_TRACKS; i++) { + mainw->track_decoders[i] = NULL; + mainw->old_active_track_list[i] = mainw->active_track_list[i] = 0; } - for (i=0; i<MAX_FILES; i++) mainw->ext_src_used[i]=FALSE; + for (i = 0; i < MAX_FILES; i++) mainw->ext_src_used[i] = FALSE; } void free_track_decoders(void) { register int i; - for (i=0; i<MAX_TRACKS; i++) { - if (mainw->track_decoders[i]!=NULL && - (mainw->active_track_list[i]<=0||mainw->track_decoders[i]!=mainw->files[mainw->active_track_list[i]]->ext_src)) + for (i = 0; i < MAX_TRACKS; i++) { + if (mainw->track_decoders[i] != NULL && + (mainw->active_track_list[i] <= 0 || mainw->track_decoders[i] != mainw->files[mainw->active_track_list[i]]->ext_src)) close_decoder_plugin(mainw->track_decoders[i]); } } @@ -5459,24 +5384,22 @@ static void load_frame_cleanup(boolean noswitch) { char *tmp; - if (mainw->frame_layer!=NULL) weed_layer_free(mainw->frame_layer); - mainw->frame_layer=NULL; - mainw->noswitch=noswitch; - - if (!mainw->faded&&(!mainw->fs||prefs->gui_monitor!=prefs->play_monitor)&& - mainw->current_file!=mainw->scrap_file) get_play_times(); - if (mainw->multitrack!=NULL&&!cfile->opening) animate_multitrack(mainw->multitrack); + if (mainw->frame_layer != NULL) weed_layer_free(mainw->frame_layer); + mainw->frame_layer = NULL; + mainw->noswitch = noswitch; + + if (!mainw->faded && (!mainw->fs || (prefs->gui_monitor != prefs->play_monitor && prefs->play_monitor != 0 && capable->nmonitors > 1)) && + mainw->current_file != mainw->scrap_file) get_play_times(); + if (mainw->multitrack != NULL && !cfile->opening) animate_multitrack(mainw->multitrack); // format is now msg|timecode|fgclip|fgframe|fgfps| - lives_notify(LIVES_OSC_NOTIFY_FRAME_SYNCH,(const char *) - (tmp=lives_strdup_printf("%.8f|%d|%d|%.3f|",(double)mainw->currticks/U_SEC, - mainw->current_file,mainw->actual_frame,cfile->pb_fps))); + lives_notify(LIVES_OSC_NOTIFY_FRAME_SYNCH, (const char *) + (tmp = lives_strdup_printf("%.8f|%d|%d|%.3f|", (double)mainw->currticks / U_SEC, + mainw->current_file, mainw->actual_frame, cfile->pb_fps))); lives_free(tmp); } - - void load_frame_image(int frame) { // this is where we do the actual load/record of a playback frame // it is called every 1/fps from do_progress_dialog() via process_one() in dialogs.c @@ -5484,65 +5407,60 @@ // for the multitrack window we set mainw->frame_image; this is used to display the // preview image - - - // NOTE: we should be careful if load_frame_image() is called from anywhere inside load_frame_image() // e.g. by calling g_main_context_iteration() --> user presses sepwin button --> load_frame_image() is called // this is because mainw->frame_layer is global and gets freed() before exit from load_frame_image() // - we should never call load_frame_image() if mainw->noswitch is TRUE - void **pd_array,**retdata=NULL; + void **pd_array, **retdata = NULL; - LiVESPixbuf *pixbuf=NULL; + LiVESPixbuf *pixbuf = NULL; - char *framecount=NULL,*tmp; - char *fname_next=NULL,*info_file=NULL; - const char *img_ext=NULL; + char *framecount = NULL, *tmp; + char *fname_next = NULL, *info_file = NULL; + const char *img_ext = NULL; LiVESInterpType interp; boolean was_preview; - boolean rec_after_pb=FALSE; + boolean rec_after_pb = FALSE; int weed_error; int retval; - int layer_palette,cpal; + int layer_palette, cpal; - int opwidth=0,opheight=0; - boolean noswitch=mainw->noswitch; + int opwidth = 0, opheight = 0; + boolean noswitch = mainw->noswitch; int pmonitor; - int pwidth,pheight; - int lb_width=0,lb_height=0; - int bad_frame_count=0; + int pwidth, pheight; + int lb_width = 0, lb_height = 0; + int bad_frame_count = 0; #define BFC_LIMIT 1000 - if (LIVES_UNLIKELY(cfile->frames==0&&!mainw->foreign&&!mainw->is_rendering)) { - if (mainw->record&&!mainw->record_paused) { + if (LIVES_UNLIKELY(cfile->frames == 0 && !mainw->foreign && !mainw->is_rendering)) { + if (mainw->record && !mainw->record_paused) { // add blank frame - weed_plant_t *event=get_last_event(mainw->event_list); - weed_plant_t *event_list=insert_blank_frame_event_at(mainw->event_list,mainw->currticks,&event); - if (mainw->rec_aclip!=-1&&(prefs->rec_opts&REC_AUDIO)&&!mainw->record_starting&&prefs->audio_src==AUDIO_SRC_INT&& + weed_plant_t *event = get_last_event(mainw->event_list); + weed_plant_t *event_list = insert_blank_frame_event_at(mainw->event_list, mainw->currticks, &event); + if (mainw->rec_aclip != -1 && (prefs->rec_opts & REC_AUDIO) && !mainw->record_starting && prefs->audio_src == AUDIO_SRC_INT && !(has_audio_filters(AF_TYPE_NONA))) { // we are recording, and the audio clip changed; add audio - if (mainw->event_list==NULL) mainw->event_list=event_list; - insert_audio_event_at(mainw->event_list,event,-1,mainw->rec_aclip,mainw->rec_aseek,mainw->rec_avel); - mainw->rec_aclip=-1; + if (mainw->event_list == NULL) mainw->event_list = event_list; + insert_audio_event_at(mainw->event_list, event, -1, mainw->rec_aclip, mainw->rec_aseek, mainw->rec_avel); + mainw->rec_aclip = -1; } } get_play_times(); return; } - - mainw->rowstride_alignment=mainw->rowstride_alignment_hint; - mainw->rowstride_alignment_hint=1; + mainw->rowstride_alignment = mainw->rowstride_alignment_hint; + mainw->rowstride_alignment_hint = 1; if (!mainw->foreign) { - mainw->actual_frame=cfile->last_frameno=frame; - - if (!(was_preview=mainw->preview)||mainw->is_rendering) { + mainw->actual_frame = cfile->last_frameno = frame; + if (!(was_preview = mainw->preview) || mainw->is_rendering) { ///////////////////////////////////////////////////////// // normal play @@ -5550,447 +5468,443 @@ if (LIVES_UNLIKELY(mainw->nervous)) { // nervous mode - if ((mainw->actual_frame+=(-10+(int)(21.*rand()/(RAND_MAX+1.0))))>cfile->frames|| - mainw->actual_frame<1) mainw->actual_frame=frame; + if ((mainw->actual_frame += (-10 + (int)(21.*rand() / (RAND_MAX + 1.0)))) > cfile->frames || + mainw->actual_frame < 1) mainw->actual_frame = frame; else { - frame=mainw->actual_frame; + frame = mainw->actual_frame; #ifdef ENABLE_JACK - if (prefs->audio_player==AUD_PLAYER_JACK&&(prefs->audio_opts&AUDIO_OPTS_FOLLOW_FPS)&& - mainw->jackd!=NULL&&cfile->achans>0 && - !(prefs->audio_src==AUDIO_SRC_EXT||mainw->agen_key!=0)) { - if (mainw->jackd->playing_file!=-1&&!jack_audio_seek_frame(mainw->jackd,frame)) { - if (jack_try_reconnect()) jack_audio_seek_frame(mainw->jackd,frame); + if (prefs->audio_player == AUD_PLAYER_JACK && (prefs->audio_opts & AUDIO_OPTS_FOLLOW_FPS) && + mainw->jackd != NULL && cfile->achans > 0 && + !(prefs->audio_src == AUDIO_SRC_EXT || mainw->agen_key != 0)) { + if (mainw->jackd->playing_file != -1 && !jack_audio_seek_frame(mainw->jackd, frame)) { + if (jack_try_reconnect()) jack_audio_seek_frame(mainw->jackd, frame); } - if (!(mainw->record&&!mainw->record_paused)&&has_audio_filters(AF_TYPE_NONA)) { - mainw->rec_aclip=mainw->current_file; - mainw->rec_avel=cfile->pb_fps/cfile->fps; - mainw->rec_aseek=cfile->aseek_pos/(cfile->arate*cfile->achans*cfile->asampsize/8); + if (!(mainw->record && !mainw->record_paused) && has_audio_filters(AF_TYPE_NONA)) { + mainw->rec_aclip = mainw->current_file; + mainw->rec_avel = cfile->pb_fps / cfile->fps; + mainw->rec_aseek = cfile->aseek_pos / (cfile->arate * cfile->achans * cfile->asampsize / 8); } } #endif #ifdef HAVE_PULSE_AUDIO - if (prefs->audio_player==AUD_PLAYER_PULSE&&(prefs->audio_opts&AUDIO_OPTS_FOLLOW_FPS)&& - mainw->pulsed!=NULL&&cfile->achans>0 && - !(prefs->audio_src==AUDIO_SRC_EXT||mainw->agen_key!=0)) { - - if (mainw->pulsed->playing_file!=-1&&!pulse_audio_seek_frame(mainw->pulsed,mainw->play_start)) { - if (pulse_try_reconnect()) pulse_audio_seek_frame(mainw->pulsed,mainw->play_start); - else mainw->aplayer_broken=TRUE; + if (prefs->audio_player == AUD_PLAYER_PULSE && (prefs->audio_opts & AUDIO_OPTS_FOLLOW_FPS) && + mainw->pulsed != NULL && cfile->achans > 0 && + !(prefs->audio_src == AUDIO_SRC_EXT || mainw->agen_key != 0)) { + if (mainw->pulsed->playing_file != -1 && !pulse_audio_seek_frame(mainw->pulsed, mainw->play_start)) { + if (pulse_try_reconnect()) pulse_audio_seek_frame(mainw->pulsed, mainw->play_start); + else mainw->aplayer_broken = TRUE; } - if (!(mainw->record&&!mainw->record_paused)&&has_audio_filters(AF_TYPE_NONA)) { - mainw->rec_aclip=mainw->current_file; - mainw->rec_avel=cfile->pb_fps/cfile->fps; - mainw->rec_aseek=cfile->aseek_pos/(cfile->arate*cfile->achans*cfile->asampsize/8); + if (!(mainw->record && !mainw->record_paused) && has_audio_filters(AF_TYPE_NONA)) { + mainw->rec_aclip = mainw->current_file; + mainw->rec_avel = cfile->pb_fps / cfile->fps; + mainw->rec_aseek = cfile->aseek_pos / (cfile->arate * cfile->achans * cfile->asampsize / 8); } } #endif } } - if (mainw->opening_loc||(cfile->clip_type!=CLIP_TYPE_DISK&&cfile->clip_type!=CLIP_TYPE_FILE)) { - framecount=lives_strdup_printf("%9d",mainw->actual_frame); + if (mainw->opening_loc || (cfile->clip_type != CLIP_TYPE_DISK && cfile->clip_type != CLIP_TYPE_FILE)) { + framecount = lives_strdup_printf("%9d", mainw->actual_frame); } else { - framecount=lives_strdup_printf("%9d/%d",mainw->actual_frame,cfile->frames); + framecount = lives_strdup_printf("%9d/%d", mainw->actual_frame, cfile->frames); } - mainw->noswitch=TRUE; + mainw->noswitch = TRUE; ///////////////////////////////////////////////// // record performance - if ((mainw->record&&!mainw->record_paused)||mainw->record_starting) { - int fg_file=mainw->current_file; - int fg_frame=mainw->actual_frame; - int bg_file=mainw->blend_file>0&&mainw->blend_file!=mainw->current_file&& - mainw->files[mainw->blend_file]!=NULL?mainw->blend_file:-1; - int bg_frame=bg_file>0&&bg_file!=mainw->current_file?mainw->files[bg_file]->frameno:0; + if ((mainw->record && !mainw->record_paused) || mainw->record_starting) { + int fg_file = mainw->current_file; + int fg_frame = mainw->actual_frame; + int bg_file = mainw->blend_file > 0 && mainw->blend_file != mainw->current_file && + mainw->files[mainw->blend_file] != NULL ? mainw->blend_file : -1; + int bg_frame = bg_file > 0 && bg_file != mainw->current_file ? mainw->files[bg_file]->frameno : 0; int numframes; - int *clips,*frames; + int *clips, *frames; weed_plant_t *event_list; // should we record the output from the playback plugin ? - if (mainw->record && (prefs->rec_opts&REC_AFTER_PB) && mainw->ext_playback && - (mainw->vpp->capabilities&VPP_CAN_RETURN)) { - rec_after_pb=TRUE; + if (mainw->record && (prefs->rec_opts & REC_AFTER_PB) && mainw->ext_playback && + (mainw->vpp->capabilities & VPP_CAN_RETURN)) { + rec_after_pb = TRUE; } - if (rec_after_pb||(cfile->clip_type!=CLIP_TYPE_DISK&&cfile->clip_type!=CLIP_TYPE_FILE)|| - (prefs->rec_opts&REC_EFFECTS&&bg_file!=-1&&(mainw->files[bg_file]->clip_type!=CLIP_TYPE_DISK&& - mainw->files[bg_file]->clip_type!=CLIP_TYPE_FILE))) { + if (rec_after_pb || (cfile->clip_type != CLIP_TYPE_DISK && cfile->clip_type != CLIP_TYPE_FILE) || + (prefs->rec_opts & REC_EFFECTS && bg_file != -1 && (mainw->files[bg_file]->clip_type != CLIP_TYPE_DISK && + mainw->files[bg_file]->clip_type != CLIP_TYPE_FILE))) { // TODO - handle non-opening of scrap_file - if (mainw->scrap_file==-1) open_scrap_file(); - fg_file=mainw->scrap_file; - fg_frame=mainw->files[mainw->scrap_file]->frames+1; - bg_file=-1; - bg_frame=0; + if (mainw->scrap_file == -1) open_scrap_file(); + fg_file = mainw->scrap_file; + fg_frame = mainw->files[mainw->scrap_file]->frames + 1; + bg_file = -1; + bg_frame = 0; } if (mainw->record_starting) { // mark record start //pthread_mutex_lock(&mainw->event_list_mutex); - event_list=append_marker_event(mainw->event_list, mainw->currticks, EVENT_MARKER_RECORD_START); - if (mainw->event_list==NULL) mainw->event_list=event_list; + event_list = append_marker_event(mainw->event_list, mainw->currticks, EVENT_MARKER_RECORD_START); + if (mainw->event_list == NULL) mainw->event_list = event_list; - if (prefs->rec_opts&REC_EFFECTS) { + if (prefs->rec_opts & REC_EFFECTS) { // add init events and pchanges for all active fx - add_filter_init_events(mainw->event_list,mainw->currticks); + add_filter_init_events(mainw->event_list, mainw->currticks); } //pthread_mutex_unlock(&mainw->event_list_mutex); #ifdef ENABLE_JACK - if (prefs->audio_player==AUD_PLAYER_JACK&&mainw->jackd!=NULL&& - (prefs->rec_opts&REC_AUDIO)&&prefs->audio_src==AUDIO_SRC_INT&&mainw->rec_aclip!=mainw->ascrap_file) { + if (prefs->audio_player == AUD_PLAYER_JACK && mainw->jackd != NULL && + (prefs->rec_opts & REC_AUDIO) && prefs->audio_src == AUDIO_SRC_INT && mainw->rec_aclip != mainw->ascrap_file) { // get current seek postion jack_get_rec_avals(mainw->jackd); } #endif #ifdef HAVE_PULSE_AUDIO - if (prefs->audio_player==AUD_PLAYER_PULSE&&mainw->pulsed!=NULL&& - (prefs->rec_opts&REC_AUDIO)&&prefs->audio_src==AUDIO_SRC_INT&&mainw->rec_aclip!=mainw->ascrap_file) { + if (prefs->audio_player == AUD_PLAYER_PULSE && mainw->pulsed != NULL && + (prefs->rec_opts & REC_AUDIO) && prefs->audio_src == AUDIO_SRC_INT && mainw->rec_aclip != mainw->ascrap_file) { // get current seek postion pulse_get_rec_avals(mainw->pulsed); } #endif - mainw->record=TRUE; - mainw->record_paused=FALSE; - mainw->record_starting=FALSE; - } - - numframes=(bg_file==-1)?1:2; - clips=(int *)lives_malloc(numframes*sizint); - frames=(int *)lives_malloc(numframes*sizint); - - clips[0]=fg_file; - frames[0]=fg_frame; - if (numframes==2) { - clips[1]=bg_file; - frames[1]=bg_frame; + mainw->record = TRUE; + mainw->record_paused = FALSE; + mainw->record_starting = FALSE; + } + + numframes = (bg_file == -1) ? 1 : 2; + clips = (int *)lives_malloc(numframes * sizint); + frames = (int *)lives_malloc(numframes * sizint); + + clips[0] = fg_file; + frames[0] = fg_frame; + if (numframes == 2) { + clips[1] = bg_file; + frames[1] = bg_frame; } - if (framecount!=NULL) lives_free(framecount); + if (framecount != NULL) lives_free(framecount); pthread_mutex_lock(&mainw->event_list_mutex); - if ((event_list=append_frame_event(mainw->event_list,mainw->currticks,numframes,clips,frames))!=NULL) { - if (mainw->event_list==NULL) mainw->event_list=event_list; - if (mainw->rec_aclip!=-1&&((prefs->rec_opts&REC_AUDIO))) { - weed_plant_t *event=get_last_frame_event(mainw->event_list); - - if (mainw->rec_aclip==mainw->ascrap_file) { - mainw->rec_aseek=(double)mainw->files[mainw->ascrap_file]->aseek_pos/ - (double)(mainw->files[mainw->ascrap_file]->arps*mainw->files[mainw->ascrap_file]->achans* - mainw->files[mainw->ascrap_file]->asampsize>>3); + if ((event_list = append_frame_event(mainw->event_list, mainw->currticks, numframes, clips, frames)) != NULL) { + if (mainw->event_list == NULL) mainw->event_list = event_list; + if (mainw->rec_aclip != -1 && ((prefs->rec_opts & REC_AUDIO))) { + weed_plant_t *event = get_last_frame_event(mainw->event_list); + + if (mainw->rec_aclip == mainw->ascrap_file) { + mainw->rec_aseek = (double)mainw->files[mainw->ascrap_file]->aseek_pos / + (double)(mainw->files[mainw->ascrap_file]->arps * mainw->files[mainw->ascrap_file]->achans * + mainw->files[mainw->ascrap_file]->asampsize >> 3); } - insert_audio_event_at(mainw->event_list,event,-1,mainw->rec_aclip,mainw->rec_aseek,mainw->rec_avel); - mainw->rec_aclip=-1; + insert_audio_event_at(mainw->event_list, event, -1, mainw->rec_aclip, mainw->rec_aseek, mainw->rec_avel); + mainw->rec_aclip = -1; } pthread_mutex_unlock(&mainw->event_list_mutex); /* TRANSLATORS: rec(ord) */ - framecount=lives_strdup_printf(_("rec %9d/%d"),mainw->actual_frame, - cfile->frames>mainw->actual_frame?cfile->frames:mainw->actual_frame); + framecount = lives_strdup_printf(_("rec %9d/%d"), mainw->actual_frame, + cfile->frames > mainw->actual_frame ? cfile->frames : mainw->actual_frame); } else { pthread_mutex_unlock(&mainw->event_list_mutex); /* TRANSLATORS: out of memory (rec(ord)) */ - (framecount=lives_strdup_printf(_("!rec %9d/%d"),mainw->actual_frame,cfile->frames)); + (framecount = lives_strdup_printf(_("!rec %9d/%d"), mainw->actual_frame, cfile->frames)); } lives_free(clips); lives_free(frames); } else { - if (mainw->toy_type!=LIVES_TOY_NONE) { - if (mainw->toy_type==LIVES_TOY_MAD_FRAMES&&!mainw->fs&&(cfile->clip_type==CLIP_TYPE_DISK|| - cfile->clip_type==CLIP_TYPE_FILE)) { - int current_file=mainw->current_file; + if (mainw->toy_type != LIVES_TOY_NONE) { + if (mainw->toy_type == LIVES_TOY_MAD_FRAMES && !mainw->fs && (cfile->clip_type == CLIP_TYPE_DISK || + cfile->clip_type == CLIP_TYPE_FILE)) { + int current_file = mainw->current_file; if (mainw->toy_go_wild) { - int i,other_file; - for (i=0; i<11; i++) { - other_file=(1+(int)((double)(mainw->clips_available)*rand()/(RAND_MAX+1.0))); - other_file=LIVES_POINTER_TO_INT(lives_list_nth_data(mainw->cliplist,other_file)); - if (mainw->files[other_file]!=NULL) { + int i, other_file; + for (i = 0; i < 11; i++) { + other_file = (1 + (int)((double)(mainw->clips_available) * rand() / (RAND_MAX + 1.0))); + other_file = LIVES_POINTER_TO_INT(lives_list_nth_data(mainw->cliplist, other_file)); + if (mainw->files[other_file] != NULL) { // steal a frame from another clip - mainw->current_file=other_file; + mainw->current_file = other_file; } } } - load_start_image(1+(int)((double)cfile->frames*rand()/(RAND_MAX+1.0))); - load_end_image(1+(int)((double)cfile->frames*rand()/(RAND_MAX+1.0))); - mainw->current_file=current_file; + load_start_image(1 + (int)((double)cfile->frames * rand() / (RAND_MAX + 1.0))); + load_end_image(1 + (int)((double)cfile->frames * rand() / (RAND_MAX + 1.0))); + mainw->current_file = current_file; } } } - if ((!mainw->fs||prefs->play_monitor!=prefs->gui_monitor|| - (mainw->ext_playback&&!(mainw->vpp->capabilities&VPP_LOCAL_DISPLAY))) - &&prefs->show_framecount) { - lives_entry_set_text(LIVES_ENTRY(mainw->framecounter),framecount); + if ((!mainw->fs || prefs->play_monitor != prefs->gui_monitor || + (mainw->ext_playback && !(mainw->vpp->capabilities & VPP_LOCAL_DISPLAY))) + && prefs->show_framecount) { + lives_entry_set_text(LIVES_ENTRY(mainw->framecounter), framecount); lives_widget_queue_draw(mainw->framecounter); } lives_freep((void **)&framecount); } if (was_preview) { - info_file=lives_build_filename(prefs->workdir,cfile->handle,LIVES_STATUS_FILE_NAME,NULL); + info_file = lives_build_filename(prefs->workdir, cfile->handle, LIVES_STATUS_FILE_NAME, NULL); // preview - if (prefs->safer_preview&&cfile->proc_ptr!=NULL&&cfile->proc_ptr->frames_done>0&& - frame>=(cfile->proc_ptr->frames_done-cfile->progress_start+cfile->start)) { - mainw->cancelled=CANCEL_PREVIEW_FINISHED; - mainw->noswitch=noswitch; + if (prefs->safer_preview && cfile->proc_ptr != NULL && cfile->proc_ptr->frames_done > 0 && + frame >= (cfile->proc_ptr->frames_done - cfile->progress_start + cfile->start)) { + mainw->cancelled = CANCEL_PREVIEW_FINISHED; + mainw->noswitch = noswitch; lives_freep((void **)&framecount); return; } // play preview - if (cfile->opening||(cfile->next_event!=NULL&&cfile->proc_ptr==NULL)) { - - fname_next=make_image_file_name(cfile,frame+1,get_image_ext_for_type(cfile->img_type)); + if (cfile->opening || (cfile->next_event != NULL && cfile->proc_ptr == NULL)) { + fname_next = make_image_file_name(cfile, frame + 1, get_image_ext_for_type(cfile->img_type)); - if (!mainw->fs&&prefs->show_framecount&&!mainw->is_rendering) { + if (!mainw->fs && prefs->show_framecount && !mainw->is_rendering) { lives_freep((void **)&framecount); - if (cfile->frames>0&&cfile->frames!=123456789) { - framecount=lives_strdup_printf("%9d/%d",frame,cfile->frames); + if (cfile->frames > 0 && cfile->frames != 123456789) { + framecount = lives_strdup_printf("%9d/%d", frame, cfile->frames); } else { - framecount=lives_strdup_printf("%9d",frame); + framecount = lives_strdup_printf("%9d", frame); } - lives_entry_set_text(LIVES_ENTRY(mainw->framecounter),framecount); + lives_entry_set_text(LIVES_ENTRY(mainw->framecounter), framecount); lives_widget_queue_draw(mainw->framecounter); lives_freep((void **)&framecount); } - if (mainw->toy_type!=LIVES_TOY_NONE) { + if (mainw->toy_type != LIVES_TOY_NONE) { // TODO - move into toys.c - if (mainw->toy_type==LIVES_TOY_MAD_FRAMES&&!mainw->fs) { + if (mainw->toy_type == LIVES_TOY_MAD_FRAMES && !mainw->fs) { if (cfile->opening_only_audio) { - load_start_image(1+(int)((double)cfile->frames*rand()/(RAND_MAX+1.0))); - load_end_image(1+(int)((double)cfile->frames*rand()/(RAND_MAX+1.0))); + load_start_image(1 + (int)((double)cfile->frames * rand() / (RAND_MAX + 1.0))); + load_end_image(1 + (int)((double)cfile->frames * rand() / (RAND_MAX + 1.0))); } else { - load_start_image(1+(int)((double)frame*rand()/(RAND_MAX+1.0))); - load_end_image(1+(int)((double)frame*rand()/(RAND_MAX+1.0))); + load_start_image(1 + (int)((double)frame * rand() / (RAND_MAX + 1.0))); + load_end_image(1 + (int)((double)frame * rand() / (RAND_MAX + 1.0))); } } } } else { - if (mainw->is_rendering||mainw->is_generating) { - fname_next=make_image_file_name(cfile,frame+1,get_image_ext_for_type(cfile->img_type)); + if (mainw->is_rendering || mainw->is_generating) { + fname_next = make_image_file_name(cfile, frame + 1, get_image_ext_for_type(cfile->img_type)); } else { if (!mainw->keep_pre) { - img_ext=LIVES_FILE_EXT_MGK; + img_ext = LIVES_FILE_EXT_MGK; } else { - img_ext=LIVES_FILE_EXT_PRE; + img_ext = LIVES_FILE_EXT_PRE; } - fname_next=make_image_file_name(cfile,frame+1,LIVES_FILE_EXT_PRE); + fname_next = make_image_file_name(cfile, frame + 1, LIVES_FILE_EXT_PRE); } } - mainw->actual_frame=frame; + mainw->actual_frame = frame; } // maybe the performance finished and we weren't looping - if ((mainw->actual_frame<1||mainw->actual_frame>cfile->frames)&& - (cfile->clip_type==CLIP_TYPE_DISK||cfile->clip_type==CLIP_TYPE_FILE)&&!mainw->is_rendering) { - mainw->noswitch=noswitch; + if ((mainw->actual_frame < 1 || mainw->actual_frame > cfile->frames) && + (cfile->clip_type == CLIP_TYPE_DISK || cfile->clip_type == CLIP_TYPE_FILE) && !mainw->is_rendering) { + mainw->noswitch = noswitch; lives_freep((void **)&framecount); return; } - // limit max frame size unless we are saving to disk or rendering // frame_layer will in any case be equal to or smaller than this depending on maximum source frame size - if (!(mainw->record&&!mainw->record_paused&&(prefs->rec_opts&REC_EFFECTS)&& - ((cfile->clip_type!=CLIP_TYPE_DISK&&cfile->clip_type!=CLIP_TYPE_FILE)|| - (mainw->blend_file!=-1&&mainw->files[mainw->blend_file]!=NULL&& - mainw->files[mainw->blend_file]->clip_type!=CLIP_TYPE_DISK&& - mainw->files[mainw->blend_file]->clip_type!=CLIP_TYPE_FILE)))) { - get_max_opsize(&opwidth,&opheight); + if (!(mainw->record && !mainw->record_paused && (prefs->rec_opts & REC_EFFECTS) && + ((cfile->clip_type != CLIP_TYPE_DISK && cfile->clip_type != CLIP_TYPE_FILE) || + (mainw->blend_file != -1 && mainw->files[mainw->blend_file] != NULL && + mainw->files[mainw->blend_file]->clip_type != CLIP_TYPE_DISK && + mainw->files[mainw->blend_file]->clip_type != CLIP_TYPE_FILE)))) { + get_max_opsize(&opwidth, &opheight); } //////////////////////////////////////////////////////////// // load a frame from disk buffer do { - if (mainw->frame_layer!=NULL) { + if (mainw->frame_layer != NULL) { check_layer_ready(mainw->frame_layer); weed_layer_free(mainw->frame_layer); - mainw->frame_layer=NULL; + mainw->frame_layer = NULL; } - if (mainw->is_rendering&&!(cfile->proc_ptr!=NULL&&mainw->preview)) { + if (mainw->is_rendering && !(cfile->proc_ptr != NULL && mainw->preview)) { // here if we are rendering from multitrack, previewing a recording, or applying realtime effects to a selection - weed_timecode_t tc=mainw->cevent_tc; + weed_timecode_t tc = mainw->cevent_tc; - if (mainw->clip_index[0]==mainw->scrap_file&&mainw->clip_index[0]>-1&&mainw->num_tracks==1) { + if (mainw->clip_index[0] == mainw->scrap_file && mainw->clip_index[0] > -1 && mainw->num_tracks == 1) { // do not apply fx, just pull frame - mainw->frame_layer=weed_plant_new(WEED_PLANT_CHANNEL); - weed_set_int_value(mainw->frame_layer,WEED_LEAF_CLIP,mainw->clip_index[0]); - weed_set_int_value(mainw->frame_layer,WEED_LEAF_FRAME,mainw->frame_index[0]); - if (!pull_frame(mainw->frame_layer,get_image_ext_for_type(cfile->img_type),tc)) { + mainw->frame_layer = weed_plant_new(WEED_PLANT_CHANNEL); + weed_set_int_value(mainw->frame_layer, WEED_LEAF_CLIP, mainw->clip_index[0]); + weed_set_int_value(mainw->frame_layer, WEED_LEAF_FRAME, mainw->frame_index[0]); + if (!pull_frame(mainw->frame_layer, get_image_ext_for_type(cfile->img_type), tc)) { weed_plant_free(mainw->frame_layer); - mainw->frame_layer=NULL; + mainw->frame_layer = NULL; } } else { - int oclip,nclip; + int oclip, nclip; register int i; - weed_plant_t **layers=(weed_plant_t **)lives_malloc((mainw->num_tracks+1)*sizeof(weed_plant_t *)); + weed_plant_t **layers = (weed_plant_t **)lives_malloc((mainw->num_tracks + 1) * sizeof(weed_plant_t *)); // get list of active tracks from mainw->filter map - get_active_track_list(mainw->clip_index,mainw->num_tracks,mainw->filter_map); - for (i=0; i<mainw->num_tracks; i++) { - oclip=mainw->old_active_track_list[i]; - mainw->ext_src_used[oclip]=FALSE; - if (oclip>0&&oclip==(nclip=mainw->active_track_list[i])) { + get_active_track_list(mainw->clip_index, mainw->num_tracks, mainw->filter_map); + for (i = 0; i < mainw->num_tracks; i++) { + oclip = mainw->old_active_track_list[i]; + mainw->ext_src_used[oclip] = FALSE; + if (oclip > 0 && oclip == (nclip = mainw->active_track_list[i])) { // check if ext_src survives old->new - if (mainw->track_decoders[i]==mainw->files[oclip]->ext_src) mainw->ext_src_used[oclip]=TRUE; + if (mainw->track_decoders[i] == mainw->files[oclip]->ext_src) mainw->ext_src_used[oclip] = TRUE; } } - for (i=0; i<mainw->num_tracks; i++) { - layers[i]=weed_plant_new(WEED_PLANT_CHANNEL); - weed_set_int_value(layers[i],WEED_LEAF_CLIP,mainw->clip_index[i]); - weed_set_int_value(layers[i],WEED_LEAF_FRAME,mainw->frame_index[i]); - weed_set_int_value(layers[i],WEED_LEAF_CURRENT_PALETTE,(mainw->clip_index[i]==-1|| - mainw->files[mainw->clip_index[i]]->img_type== - IMG_TYPE_JPEG)?WEED_PALETTE_RGB24:WEED_PALETTE_RGBA32); + for (i = 0; i < mainw->num_tracks; i++) { + layers[i] = weed_plant_new(WEED_PLANT_CHANNEL); + weed_set_int_value(layers[i], WEED_LEAF_CLIP, mainw->clip_index[i]); + weed_set_int_value(layers[i], WEED_LEAF_FRAME, mainw->frame_index[i]); + weed_set_int_value(layers[i], WEED_LEAF_CURRENT_PALETTE, (mainw->clip_index[i] == -1 || + mainw->files[mainw->clip_index[i]]->img_type == + IMG_TYPE_JPEG) ? WEED_PALETTE_RGB24 : WEED_PALETTE_RGBA32); - if ((oclip=mainw->old_active_track_list[i])!=(nclip=mainw->active_track_list[i])) { + if ((oclip = mainw->old_active_track_list[i]) != (nclip = mainw->active_track_list[i])) { // now using threading, we want to start pulling all pixel_data for all active layers here // however, we may have more than one copy of the same clip - in this case we want to create clones of the decoder plugin // this is to prevent constant seeking between different frames in the clip - if (oclip>0) { - if (mainw->files[oclip]->clip_type==CLIP_TYPE_FILE) { - if (mainw->track_decoders[i]!=(lives_decoder_t *)mainw->files[oclip]->ext_src) { + if (oclip > 0) { + if (mainw->files[oclip]->clip_type == CLIP_TYPE_FILE) { + if (mainw->track_decoders[i] != (lives_decoder_t *)mainw->files[oclip]->ext_src) { // remove the clone for oclip close_decoder_plugin(mainw->track_decoders[i]); } - mainw->track_decoders[i]=NULL; + mainw->track_decoders[i] = NULL; } } - if (nclip>0) { - if (mainw->files[nclip]->clip_type==CLIP_TYPE_FILE) { + if (nclip > 0) { + if (mainw->files[nclip]->clip_type == CLIP_TYPE_FILE) { if (!mainw->ext_src_used[nclip]) { - mainw->track_decoders[i]=(lives_decoder_t *)mainw->files[nclip]->ext_src; - mainw->ext_src_used[nclip]=TRUE; + mainw->track_decoders[i] = (lives_decoder_t *)mainw->files[nclip]->ext_src; + mainw->ext_src_used[nclip] = TRUE; } else { // add new clone for nclip - mainw->track_decoders[i]=clone_decoder(nclip); + mainw->track_decoders[i] = clone_decoder(nclip); } } } } - mainw->old_active_track_list[i]=mainw->active_track_list[i]; + mainw->old_active_track_list[i] = mainw->active_track_list[i]; - if (nclip>0) { - img_ext=get_image_ext_for_type(mainw->files[nclip]->img_type); + if (nclip > 0) { + img_ext = get_image_ext_for_type(mainw->files[nclip]->img_type); // set alt src in layer - weed_set_voidptr_value(layers[i],WEED_LEAF_HOST_DECODER,(void *)mainw->track_decoders[i]); - pull_frame_threaded(layers[i],img_ext,(weed_timecode_t)mainw->currticks); + weed_set_voidptr_value(layers[i], WEED_LEAF_HOST_DECODER, (void *)mainw->track_decoders[i]); + pull_frame_threaded(layers[i], img_ext, (weed_timecode_t)mainw->currticks); } else { - weed_set_voidptr_value(layers[i],WEED_LEAF_PIXEL_DATA,NULL); + weed_set_voidptr_value(layers[i], WEED_LEAF_PIXEL_DATA, NULL); } } - layers[i]=NULL; + layers[i] = NULL; - mainw->frame_layer=weed_apply_effects(layers,mainw->filter_map,tc,opwidth,opheight,mainw->pchains); + mainw->frame_layer = weed_apply_effects(layers, mainw->filter_map, tc, opwidth, opheight, mainw->pchains); - for (i=0; layers[i]!=NULL; i++) if (layers[i]!=mainw->frame_layer) { + for (i = 0; layers[i] != NULL; i++) if (layers[i] != mainw->frame_layer) { check_layer_ready(layers[i]); weed_plant_free(layers[i]); } lives_free(layers); - } if (mainw->internal_messaging) { // this happens if we are calling from multitrack, or apply rte. We get our mainw->frame_layer and exit. - mainw->noswitch=noswitch; + mainw->noswitch = noswitch; lives_freep((void **)&framecount); return; } } else { // normal playback in the clip editor, or applying a non-realtime effect - if (!mainw->preview||cfile->clip_type==CLIP_TYPE_FILE||lives_file_test(fname_next,LIVES_FILE_TEST_EXISTS)) { - mainw->frame_layer=weed_plant_new(WEED_PLANT_CHANNEL); - weed_set_int_value(mainw->frame_layer,WEED_LEAF_CLIP,mainw->current_file); - weed_set_int_value(mainw->frame_layer,WEED_LEAF_FRAME,mainw->actual_frame); - if (img_ext==NULL) img_ext=get_image_ext_for_type(cfile->img_type); - - if (mainw->preview&&mainw->frame_layer==NULL&&(mainw->event_list==NULL||cfile->opening)) { - if (!pull_frame_at_size(mainw->frame_layer,img_ext,(weed_timecode_t)mainw->currticks, - cfile->hsize,cfile->vsize,WEED_PALETTE_END)) { - if (mainw->frame_layer!=NULL) weed_layer_free(mainw->frame_layer); - mainw->frame_layer=NULL; - - if (cfile->opening && cfile->img_type==IMG_TYPE_PNG && sget_file_size(fname_next)==0) { - if (++bad_frame_count>BFC_LIMIT) { - mainw->cancelled=check_for_bad_ffmpeg(); - bad_frame_count=0; + if (!mainw->preview || cfile->clip_type == CLIP_TYPE_FILE || lives_file_test(fname_next, LIVES_FILE_TEST_EXISTS)) { + mainw->frame_layer = weed_plant_new(WEED_PLANT_CHANNEL); + weed_set_int_value(mainw->frame_layer, WEED_LEAF_CLIP, mainw->current_file); + weed_set_int_value(mainw->frame_layer, WEED_LEAF_FRAME, mainw->actual_frame); + if (img_ext == NULL) img_ext = get_image_ext_for_type(cfile->img_type); + + if (mainw->preview && mainw->frame_layer == NULL && (mainw->event_list == NULL || cfile->opening)) { + if (!pull_frame_at_size(mainw->frame_layer, img_ext, (weed_timecode_t)mainw->currticks, + cfile->hsize, cfile->vsize, WEED_PALETTE_END)) { + if (mainw->frame_layer != NULL) weed_layer_free(mainw->frame_layer); + mainw->frame_layer = NULL; + + if (cfile->opening && cfile->img_type == IMG_TYPE_PNG && sget_file_size(fname_next) == 0) { + if (++bad_frame_count > BFC_LIMIT) { + mainw->cancelled = check_for_bad_ffmpeg(); + bad_frame_count = 0; } else lives_usleep(prefs->sleep_time); } } } else { - pull_frame_threaded(mainw->frame_layer,img_ext,(weed_timecode_t)mainw->currticks); + pull_frame_threaded(mainw->frame_layer, img_ext, (weed_timecode_t)mainw->currticks); } } - if ((cfile->next_event==NULL&&mainw->is_rendering&&!mainw->switch_during_pb&& - (mainw->multitrack==NULL||(!mainw->multitrack->is_rendering&&!mainw->is_generating)))|| - ((!mainw->is_rendering||(mainw->multitrack!=NULL&&mainw->multitrack->is_rendering))&& - mainw->preview&&mainw->frame_layer==NULL)) { + if ((cfile->next_event == NULL && mainw->is_rendering && !mainw->switch_during_pb && + (mainw->multitrack == NULL || (!mainw->multitrack->is_rendering && !mainw->is_generating))) || + ((!mainw->is_rendering || (mainw->multitrack != NULL && mainw->multitrack->is_rendering)) && + mainw->preview && mainw->frame_layer == NULL)) { // preview ended - if (!cfile->opening) mainw->cancelled=CANCEL_NO_MORE_PREVIEW; + if (!cfile->opening) mainw->cancelled = CANCEL_NO_MORE_PREVIEW; if (mainw->cancelled) { lives_free(fname_next); lives_free(info_file); - mainw->noswitch=noswitch; + mainw->noswitch = noswitch; lives_freep((void **)&framecount); check_layer_ready(mainw->frame_layer); return; } #ifdef USE_MONOTONIC_TIME - mainw->currticks=(lives_get_monotonic_time()-mainw->origusecs)*U_SEC_RATIO; + mainw->currticks = (lives_get_monotonic_time() - mainw->origusecs) * U_SEC_RATIO; #else gettimeofday(&tv, NULL); - mainw->currticks=U_SECL*(tv.tv_sec-mainw->origsecs)+tv.tv_usec*U_SEC_RATIO-mainw->origusecs*U_SEC_RATIO; + mainw->currticks = U_SECL * (tv.tv_sec - mainw->origsecs) + tv.tv_usec * U_SEC_RATIO - mainw->origusecs * U_SEC_RATIO; #endif - mainw->startticks=mainw->currticks+mainw->deltaticks; + mainw->startticks = mainw->currticks + mainw->deltaticks; } - img_ext=NULL; + img_ext = NULL; if (mainw->internal_messaging) { - mainw->noswitch=noswitch; + mainw->noswitch = noswitch; lives_freep((void **)&framecount); check_layer_ready(mainw->frame_layer); return; } - if (mainw->frame_layer==NULL&&(!mainw->preview||(mainw->multitrack!=NULL&&!cfile->opening))) { - mainw->noswitch=noswitch; + if (mainw->frame_layer == NULL && (!mainw->preview || (mainw->multitrack != NULL && !cfile->opening))) { + mainw->noswitch = noswitch; lives_freep((void **)&framecount); return; } - if (mainw->preview&&mainw->frame_layer==NULL&&(mainw->event_list==NULL||cfile->opening)) { + if (mainw->preview && mainw->frame_layer == NULL && (mainw->event_list == NULL || cfile->opening)) { FILE *fd; // non-realtime effect preview // check effect to see if it finished yet - if ((fd=fopen(info_file,"r"))) { + if ((fd = fopen(info_file, "r"))) { clear_mainw_msg(); do { - retval=0; - mainw->read_failed=FALSE; - lives_fgets(mainw->msg,512,fd); - if (mainw->read_failed) retval=do_read_failed_error_s_with_retry(info_file,NULL,NULL); - } while (retval==LIVES_RESPONSE_RETRY); + retval = 0; + mainw->read_failed = FALSE; + lives_fgets(mainw->msg, 512, fd); + if (mainw->read_failed) retval = do_read_failed_error_s_with_retry(info_file, NULL, NULL); + } while (retval == LIVES_RESPONSE_RETRY); fclose(fd); - if (!strncmp(mainw->msg,"completed",9)||!strncmp(mainw->msg,"error",5)) { + if (!strncmp(mainw->msg, "completed", 9) || !strncmp(mainw->msg, "error", 5)) { // effect completed whilst we were busy playing a preview - if (mainw->preview_box!=NULL) lives_widget_set_tooltip_text(mainw->p_playbutton,_("Play")); - lives_widget_set_tooltip_text(mainw->m_playbutton,_("Play")); - if (cfile->opening&&!cfile->is_loaded) { - if (mainw->toy_type==LIVES_TOY_TV) { - on_toy_activate(NULL,LIVES_INT_TO_POINTER(LIVES_TOY_NONE)); + if (mainw->preview_box != NULL) lives_widget_set_tooltip_text(mainw->p_playbutton, _("Play")); + lives_widget_set_tooltip_text(mainw->m_playbutton, _("Play")); + if (cfile->opening && !cfile->is_loaded) { + if (mainw->toy_type == LIVES_TOY_TV) { + on_toy_activate(NULL, LIVES_INT_TO_POINTER(LIVES_TOY_NONE)); } } - mainw->preview=FALSE; + mainw->preview = FALSE; } else { lives_usleep(prefs->sleep_time); } @@ -5999,35 +5913,33 @@ } // or we reached the end of the preview - if ((!cfile->opening&&frame>=(cfile->proc_ptr->frames_done-cfile->progress_start+cfile->start))|| - (cfile->opening&&(mainw->toy_type==LIVES_TOY_TV||!mainw->preview||mainw->effects_paused))) { - if (mainw->toy_type==LIVES_TOY_TV) { + if ((!cfile->opening && frame >= (cfile->proc_ptr->frames_done - cfile->progress_start + cfile->start)) || + (cfile->opening && (mainw->toy_type == LIVES_TOY_TV || !mainw->preview || mainw->effects_paused))) { + if (mainw->toy_type == LIVES_TOY_TV) { // force a loop (set mainw->cancelled to 100 to play selection again) - mainw->cancelled=CANCEL_KEEP_LOOPING; - } else mainw->cancelled=CANCEL_NO_MORE_PREVIEW; + mainw->cancelled = CANCEL_KEEP_LOOPING; + } else mainw->cancelled = CANCEL_NO_MORE_PREVIEW; lives_free(info_file); lives_free(fname_next); check_layer_ready(mainw->frame_layer); - if (mainw->frame_layer!=NULL) weed_layer_free(mainw->frame_layer); - mainw->frame_layer=NULL; - mainw->noswitch=noswitch; + if (mainw->frame_layer != NULL) weed_layer_free(mainw->frame_layer); + mainw->frame_layer = NULL; + mainw->noswitch = noswitch; lives_freep((void **)&framecount); return; - } else if (mainw->preview||cfile->opening) lives_widget_context_update(); + } else if (mainw->preview || cfile->opening) lives_widget_context_update(); } } - } while (mainw->frame_layer==NULL&&mainw->cancelled==CANCEL_NONE&&cfile->clip_type==CLIP_TYPE_DISK); - + } while (mainw->frame_layer == NULL && mainw->cancelled == CANCEL_NONE && cfile->clip_type == CLIP_TYPE_DISK); // from this point onwards we don't need to keep mainw->frame_layer around when we return - if (LIVES_UNLIKELY((mainw->frame_layer==NULL)||mainw->cancelled>0)) { - + if (LIVES_UNLIKELY((mainw->frame_layer == NULL) || mainw->cancelled > 0)) { check_layer_ready(mainw->frame_layer); - if (mainw->frame_layer!=NULL) weed_layer_free(mainw->frame_layer); - mainw->frame_layer=NULL; - mainw->noswitch=noswitch; + if (mainw->frame_layer != NULL) weed_layer_free(mainw->frame_layer); + mainw->frame_layer = NULL; + mainw->noswitch = noswitch; lives_freep((void **)&framecount); return; } @@ -6049,40 +5961,39 @@ // Finally we may want to end up with a GkdPixbuf (unless the playback plugin is VPP_DISPLAY_LOCAL // and we are in full screen mode). - if ((mainw->current_file!=mainw->scrap_file||mainw->multitrack!=NULL)&& - !(mainw->is_rendering&&!(cfile->proc_ptr!=NULL&&mainw->preview))&&!(mainw->multitrack!=NULL&&cfile->opening)) { - boolean size_ok=FALSE; - if (is_virtual_frame(mainw->current_file,mainw->actual_frame)||(cfile->clip_type!=CLIP_TYPE_DISK&&cfile->clip_type!=CLIP_TYPE_FILE)) { - size_ok=TRUE; + if ((mainw->current_file != mainw->scrap_file || mainw->multitrack != NULL) && + !(mainw->is_rendering && !(cfile->proc_ptr != NULL && mainw->preview)) && !(mainw->multitrack != NULL && cfile->opening)) { + boolean size_ok = FALSE; + if (is_virtual_frame(mainw->current_file, mainw->actual_frame) || (cfile->clip_type != CLIP_TYPE_DISK && + cfile->clip_type != CLIP_TYPE_FILE)) { + size_ok = TRUE; } else { check_layer_ready(mainw->frame_layer); - if ((weed_get_int_value(mainw->frame_layer,WEED_LEAF_HEIGHT,&weed_error)==cfile->vsize)&& - (weed_get_int_value(mainw->frame_layer,WEED_LEAF_WIDTH,&weed_error)* - weed_palette_get_pixels_per_macropixel(weed_layer_get_palette(mainw->frame_layer)))==cfile->hsize) { - size_ok=TRUE; + if ((weed_get_int_value(mainw->frame_layer, WEED_LEAF_HEIGHT, &weed_error) == cfile->vsize) && + (weed_get_int_value(mainw->frame_layer, WEED_LEAF_WIDTH, &weed_error)* + weed_palette_get_pixels_per_macropixel(weed_layer_get_palette(mainw->frame_layer))) == cfile->hsize) { + size_ok = TRUE; } } if (size_ok) { - if ((mainw->rte!=0||mainw->is_rendering)&&(mainw->current_file!=mainw->scrap_file||mainw->multitrack!=NULL)) { - - mainw->frame_layer=on_rte_apply(mainw->frame_layer, opwidth, opheight, (weed_timecode_t)mainw->currticks); + if ((mainw->rte != 0 || mainw->is_rendering) && (mainw->current_file != mainw->scrap_file || mainw->multitrack != NULL)) { + mainw->frame_layer = on_rte_apply(mainw->frame_layer, opwidth, opheight, (weed_timecode_t)mainw->currticks); } } else { - if (!mainw->resizing&&!cfile->opening) { + if (!mainw->resizing && !cfile->opening) { // warn the user after playback that badly sized frames were found - mainw->size_warn=TRUE; + mainw->size_warn = TRUE; } } } - //////////////////////// #ifdef ENABLE_JACK - if (!mainw->foreign&&mainw->jackd!=NULL&&prefs->audio_player==AUD_PLAYER_JACK) { + if (!mainw->foreign && mainw->jackd != NULL && prefs->audio_player == AUD_PLAYER_JACK) { boolean timeout; - int alarm_handle=lives_alarm_set(LIVES_DEFAULT_TIMEOUT); - while (!(timeout=lives_alarm_get(alarm_handle))&&jack_get_msgq(mainw->jackd)!=NULL) { + int alarm_handle = lives_alarm_set(LIVES_DEFAULT_TIMEOUT); + while (!(timeout = lives_alarm_get(alarm_handle)) && jack_get_msgq(mainw->jackd) != NULL) { sched_yield(); // wait for seek } if (timeout) jack_try_reconnect(); @@ -6091,10 +6002,10 @@ } #endif #ifdef HAVE_PULSE_AUDIO - if (!mainw->foreign&&mainw->pulsed!=NULL&&prefs->audio_player==AUD_PLAYER_PULSE) { + if (!mainw->foreign && mainw->pulsed != NULL && prefs->audio_player == AUD_PLAYER_PULSE) { boolean timeout; - int alarm_handle=lives_alarm_set(LIVES_DEFAULT_TIMEOUT); - while (!(timeout=lives_alarm_get(alarm_handle))&&pulse_get_msgq(mainw->pulsed)!=NULL) { + int alarm_handle = lives_alarm_set(LIVES_DEFAULT_TIMEOUT); + while (!(timeout = lives_alarm_get(alarm_handle)) && pulse_get_msgq(mainw->pulsed) != NULL) { sched_yield(); // wait for seek } @@ -6106,137 +6017,135 @@ #endif // save to scrap_file now if we have to - if (mainw->record&&!rec_after_pb&&!mainw->record_paused&&(prefs->rec_opts&REC_EFFECTS)&& - ((cfile->clip_type!=CLIP_TYPE_DISK&&cfile->clip_type!=CLIP_TYPE_FILE)|| - (mainw->blend_file!=-1&&mainw->files[mainw->blend_file]!=NULL&& - mainw->files[mainw->blend_file]->clip_type!=CLIP_TYPE_DISK&& - mainw->files[mainw->blend_file]->clip_type!=CLIP_TYPE_FILE))) { + if (mainw->record && !rec_after_pb && !mainw->record_paused && (prefs->rec_opts & REC_EFFECTS) && + ((cfile->clip_type != CLIP_TYPE_DISK && cfile->clip_type != CLIP_TYPE_FILE) || + (mainw->blend_file != -1 && mainw->files[mainw->blend_file] != NULL && + mainw->files[mainw->blend_file]->clip_type != CLIP_TYPE_DISK && + mainw->files[mainw->blend_file]->clip_type != CLIP_TYPE_FILE))) { if (!rec_after_pb) { check_layer_ready(mainw->frame_layer); save_to_scrap_file(mainw->frame_layer); } - get_max_opsize(&opwidth,&opheight); + get_max_opsize(&opwidth, &opheight); } - if (mainw->playing_file>-1&&prefs->letterbox&&mainw->fs&& - (mainw->multitrack==NULL||mainw->sep_win)&& - (!mainw->ext_playback||(mainw->vpp->capabilities&VPP_LOCAL_DISPLAY))) { + if (mainw->playing_file > -1 && prefs->letterbox && mainw->fs && + (mainw->multitrack == NULL || mainw->sep_win) && + (!mainw->ext_playback || (mainw->vpp->capabilities & VPP_LOCAL_DISPLAY))) { // consider letterboxing - lb_width=cfile->hsize; - lb_height=cfile->vsize; + lb_width = cfile->hsize; + lb_height = cfile->vsize; - if (mainw->multitrack==NULL&&mainw->is_rendering&& - !(cfile->proc_ptr!=NULL&&mainw->preview)&&mainw->clip_index[0]>-1) { - if (mainw->clip_index[0]==mainw->scrap_file&&mainw->num_tracks==1) { + if (mainw->multitrack == NULL && mainw->is_rendering && + !(cfile->proc_ptr != NULL && mainw->preview) && mainw->clip_index[0] > -1) { + if (mainw->clip_index[0] == mainw->scrap_file && mainw->num_tracks == 1) { // scrap file playback - use original clip size check_layer_ready(mainw->frame_layer); - lb_width=weed_get_int_value(mainw->frame_layer,WEED_LEAF_WIDTH,&weed_error); - lb_height=weed_get_int_value(mainw->frame_layer,WEED_LEAF_HEIGHT,&weed_error); + lb_width = weed_get_int_value(mainw->frame_layer, WEED_LEAF_WIDTH, &weed_error); + lb_height = weed_get_int_value(mainw->frame_layer, WEED_LEAF_HEIGHT, &weed_error); } else { // playing from event list, use original clip size - lb_width=mainw->files[mainw->clip_index[0]]->hsize; - lb_height=mainw->files[mainw->clip_index[0]]->vsize; + lb_width = mainw->files[mainw->clip_index[0]]->hsize; + lb_height = mainw->files[mainw->clip_index[0]]->vsize; } } // calc inner frame size - calc_maxspect(opwidth,opheight,&lb_width,&lb_height); - if (lb_width==opwidth&&lb_height==opheight) lb_width=lb_height=0; + calc_maxspect(opwidth, opheight, &lb_width, &lb_height); + if (lb_width == opwidth && lb_height == opheight) lb_width = lb_height = 0; } - if (mainw->ext_playback&&(mainw->vpp->capabilities&VPP_CAN_RESIZE)&&lb_width==0) { - + if (mainw->ext_playback && (mainw->vpp->capabilities & VPP_CAN_RESIZE) && lb_width == 0) { // here we are outputting video through a video playback plugin which can resize: thus we just send whatever we have // we need only to convert the palette to whatever was agreed with the plugin when we called set_palette() // in plugins.c // // if we want letterboxing we do this ourselves, later in code - - weed_plant_t *frame_layer=NULL; - weed_plant_t *return_layer=NULL; + weed_plant_t *frame_layer = NULL; + weed_plant_t *return_layer = NULL; check_layer_ready(mainw->frame_layer); - layer_palette=weed_layer_get_palette(mainw->frame_layer); + layer_palette = weed_layer_get_palette(mainw->frame_layer); - if (!(mainw->vpp->capabilities&VPP_LOCAL_DISPLAY) && + if (!(mainw->vpp->capabilities & VPP_LOCAL_DISPLAY) && ((weed_palette_is_rgb_palette(layer_palette) && !(weed_palette_is_rgb_palette(mainw->vpp->palette))) || - (weed_palette_is_lower_quality(mainw->vpp->palette,layer_palette)))) { + (weed_palette_is_lower_quality(mainw->vpp->palette, layer_palette)))) { // mainw->frame_layer is RGB and so is our screen, but plugin is YUV // so copy layer and convert, retaining original - frame_layer=weed_layer_copy(NULL,mainw->frame_layer); - } else frame_layer=mainw->frame_layer; + frame_layer = weed_layer_copy(NULL, mainw->frame_layer); + } else frame_layer = mainw->frame_layer; - convert_layer_palette(frame_layer,mainw->vpp->palette,mainw->vpp->YUV_clamping); + convert_layer_palette(frame_layer, mainw->vpp->palette, mainw->vpp->YUV_clamping); // vid plugin expects compacted rowstrides (i.e. no padding/alignment after pixel row) compact_rowstrides(frame_layer); - pd_array=weed_get_voidptr_array(frame_layer,WEED_LEAF_PIXEL_DATA,&weed_error); + pd_array = weed_get_voidptr_array(frame_layer, WEED_LEAF_PIXEL_DATA, &weed_error); - if (mainw->stream_ticks==-1) mainw->stream_ticks=(mainw->currticks); + if (mainw->stream_ticks == -1) mainw->stream_ticks = (mainw->currticks); if (rec_after_pb) { // record output from playback plugin - int retwidth=mainw->pwidth/weed_palette_get_pixels_per_macropixel(mainw->vpp->palette); - int retheight=mainw->pheight; + int retwidth = mainw->pwidth / weed_palette_get_pixels_per_macropixel(mainw->vpp->palette); + int retheight = mainw->pheight; - return_layer=weed_layer_new(retwidth,retheight,NULL,mainw->vpp->palette); + return_layer = weed_layer_new(retwidth, retheight, NULL, mainw->vpp->palette); if (weed_palette_is_yuv_palette(mainw->vpp->palette)) { - weed_set_int_value(return_layer,WEED_LEAF_YUV_CLAMPING,mainw->vpp->YUV_clamping); - weed_set_int_value(return_layer,WEED_LEAF_YUV_SUBSPACE,mainw->vpp->YUV_subspace); - weed_set_int_value(return_layer,WEED_LEAF_YUV_SAMPLING,mainw->vpp->YUV_sampling); + weed_set_int_value(return_layer, WEED_LEAF_YUV_CLAMPING, mainw->vpp->YUV_clamping); + weed_set_int_value(return_layer, WEED_LEAF_YUV_SUBSPACE, mainw->vpp->YUV_subspace); + weed_set_int_value(return_layer, WEED_LEAF_YUV_SAMPLING, mainw->vpp->YUV_sampling); } - create_empty_pixel_data(return_layer,FALSE,TRUE); + create_empty_pixel_data(return_layer, FALSE, TRUE); // vid plugin expects compacted rowstrides (i.e. no padding/alignment after pixel row) compact_rowstrides(return_layer); - retdata=weed_get_voidptr_array(return_layer,WEED_LEAF_PIXEL_DATA,&weed_error); + retdata = weed_get_voidptr_array(return_layer, WEED_LEAF_PIXEL_DATA, &weed_error); } // chain any data to the playback plugin - if (!(mainw->preview||mainw->is_rendering)) { + if (!(mainw->preview || mainw->is_rendering)) { // chain any data pipelines - if (mainw->pconx!=NULL) { - pconx_chain_data(-2,0); + if (mainw->pconx != NULL) { + pconx_chain_data(-2, 0); } - if (mainw->cconx!=NULL) cconx_chain_data(-2,0); + if (mainw->cconx != NULL) cconx_chain_data(-2, 0); } - if (!(*mainw->vpp->render_frame)(weed_get_int_value(frame_layer,WEED_LEAF_WIDTH,&weed_error), - weed_get_int_value(mainw->frame_layer,WEED_LEAF_HEIGHT,&weed_error), - mainw->currticks-mainw->stream_ticks,pd_array,retdata,mainw->vpp->play_params)) { + if (!(*mainw->vpp->render_frame)(weed_get_int_value(frame_layer, WEED_LEAF_WIDTH, &weed_error), + weed_get_int_value(mainw->frame_layer, WEED_LEAF_HEIGHT, &weed_error), + mainw->currticks - mainw->stream_ticks, pd_array, retdata, mainw->vpp->play_params)) { vid_playback_plugin_exit(); - if (return_layer!=NULL) weed_layer_free(return_layer); + if (return_layer != NULL) weed_layer_free(return_layer); lives_free(retdata); - return_layer=NULL; + return_layer = NULL; } lives_free(pd_array); - if (frame_layer!=mainw->frame_layer) { + if (frame_layer != mainw->frame_layer) { weed_layer_free(frame_layer); } - if (return_layer!=NULL) { - int width=MIN(weed_get_int_value(frame_layer,WEED_LEAF_WIDTH,&weed_error), - weed_get_int_value(return_layer,WEED_LEAF_WIDTH,&weed_error)); - int height=MIN(weed_get_int_value(mainw->frame_layer,WEED_LEAF_HEIGHT,&weed_error), - weed_get_int_value(return_layer,WEED_LEAF_HEIGHT,&weed_error)); - resize_layer(return_layer,width,height,LIVES_INTERP_FAST,WEED_PALETTE_END,0); + if (return_layer != NULL) { + int width = MIN(weed_get_int_value(frame_layer, WEED_LEAF_WIDTH, &weed_error), + weed_get_int_value(return_layer, WEED_LEAF_WIDTH, &weed_error)); + int height = MIN(weed_get_int_value(mainw->frame_layer, WEED_LEAF_HEIGHT, &weed_error), + weed_get_int_value(return_layer, WEED_LEAF_HEIGHT, &weed_error)); + resize_layer(return_layer, width, height, LIVES_INTERP_FAST, WEED_PALETTE_END, 0); save_to_scrap_file(return_layer); weed_layer_free(return_layer); lives_free(retdata); - return_layer=NULL; + return_layer = NULL; } - if (mainw->vpp->capabilities&VPP_LOCAL_DISPLAY) { + if (mainw->vpp->capabilities & VPP_LOCAL_DISPLAY) { load_frame_cleanup(noswitch); lives_freep((void **)&framecount); return; @@ -6244,101 +6153,98 @@ } - if ((mainw->multitrack==NULL&&mainw->double_size&&(!prefs->ce_maxspect||mainw->sep_win))|| - (mainw->fs&&(!mainw->ext_playback||!(mainw->vpp->capabilities&VPP_CAN_RESIZE)))|| - (mainw->must_resize&&((mainw->multitrack==NULL&&mainw->sep_win)|| - (mainw->multitrack!=NULL&&!mainw->sep_win)))) { - if (!mainw->ext_playback||(mainw->pwidth!=mainw->vpp->fwidth||mainw->pheight!=mainw->vpp->fheight)) { - if (mainw->multitrack!=NULL) { - if (!mainw->fs||mainw->play_window==NULL) { - if (mainw->play_window==NULL) { - mainw->pwidth=mainw->files[mainw->multitrack->render_file]->hsize; - mainw->pheight=mainw->files[mainw->multitrack->render_file]->vsize; - calc_maxspect(mainw->multitrack->play_width,mainw->multitrack->play_height,&mainw->pwidth,&mainw->pheight); + if ((mainw->multitrack == NULL && mainw->double_size && (!prefs->ce_maxspect || mainw->sep_win)) || + (mainw->fs && (!mainw->ext_playback || !(mainw->vpp->capabilities & VPP_CAN_RESIZE))) || + (mainw->must_resize && ((mainw->multitrack == NULL && mainw->sep_win) || + (mainw->multitrack != NULL && !mainw->sep_win)))) { + if (!mainw->ext_playback || (mainw->pwidth != mainw->vpp->fwidth || mainw->pheight != mainw->vpp->fheight)) { + if (mainw->multitrack != NULL) { + if (!mainw->fs || mainw->play_window == NULL) { + if (mainw->play_window == NULL) { + mainw->pwidth = mainw->files[mainw->multitrack->render_file]->hsize; + mainw->pheight = mainw->files[mainw->multitrack->render_file]->vsize; + calc_maxspect(mainw->multitrack->play_width, mainw->multitrack->play_height, &mainw->pwidth, &mainw->pheight); } else { - mainw->pwidth=cfile->hsize; - mainw->pheight=cfile->vsize; + mainw->pwidth = cfile->hsize; + mainw->pheight = cfile->vsize; } } else { - if (prefs->play_monitor==0) { - mainw->pwidth=mainw->scr_width; - mainw->pheight=mainw->scr_height; - if (capable->nmonitors>1) { + if (prefs->play_monitor == 0) { + mainw->pwidth = mainw->scr_width; + mainw->pheight = mainw->scr_height; + if (capable->nmonitors > 1) { // spread over all monitors - mainw->pwidth=lives_screen_get_width(mainw->mgeom[0].screen); - mainw->pheight=lives_screen_get_height(mainw->mgeom[0].screen); + mainw->pwidth = lives_screen_get_width(mainw->mgeom[0].screen); + mainw->pheight = lives_screen_get_height(mainw->mgeom[0].screen); } } else { - if (mainw->play_window!=NULL) pmonitor=prefs->play_monitor; - else pmonitor=prefs->gui_monitor; - mainw->pwidth=mainw->mgeom[pmonitor-1].width; - mainw->pheight=mainw->mgeom[pmonitor-1].height; + if (mainw->play_window != NULL) pmonitor = prefs->play_monitor; + else pmonitor = prefs->gui_monitor; + mainw->pwidth = mainw->mgeom[pmonitor - 1].width; + mainw->pheight = mainw->mgeom[pmonitor - 1].height; } } } } } else { + boolean size_ok = FALSE; - boolean size_ok=FALSE; - - pmonitor=prefs->play_monitor; + pmonitor = prefs->play_monitor; - mainw->pwidth=cfile->hsize; - mainw->pheight=cfile->vsize; + mainw->pwidth = cfile->hsize; + mainw->pheight = cfile->vsize; if (!mainw->is_rendering) { do { - if (pmonitor==0) { - if (mainw->pwidth>mainw->scr_width-SCR_WIDTH_SAFETY|| - mainw->pheight>mainw->scr_height-SCR_HEIGHT_SAFETY) { - mainw->pheight=(mainw->pheight>>2)<<1; - mainw->pwidth=(mainw->pwidth>>2)<<1; - mainw->sepwin_scale/=2.; - } else size_ok=TRUE; + if (pmonitor == 0) { + if (mainw->pwidth > mainw->scr_width - SCR_WIDTH_SAFETY || + mainw->pheight > mainw->scr_height - SCR_HEIGHT_SAFETY) { + mainw->pheight = (mainw->pheight >> 2) << 1; + mainw->pwidth = (mainw->pwidth >> 2) << 1; + mainw->sepwin_scale /= 2.; + } else size_ok = TRUE; } else { - if (mainw->pwidth>mainw->mgeom[pmonitor-1].width-SCR_WIDTH_SAFETY|| - mainw->pheight>mainw->mgeom[pmonitor-1].height-SCR_HEIGHT_SAFETY) { - mainw->pheight=(mainw->pheight>>2)<<1; - mainw->pwidth=(mainw->pwidth>>2)<<1; - mainw->sepwin_scale/=2.; - } else size_ok=TRUE; + if (mainw->pwidth > mainw->mgeom[pmonitor - 1].width - SCR_WIDTH_SAFETY || + mainw->pheight > mainw->mgeom[pmonitor - 1].height - SCR_HEIGHT_SAFETY) { + mainw->pheight = (mainw->pheight >> 2) << 1; + mainw->pwidth = (mainw->pwidth >> 2) << 1; + mainw->sepwin_scale /= 2.; + } else size_ok = TRUE; } } while (!size_ok); } - if (mainw->multitrack==NULL&&mainw->play_window==NULL&&prefs->ce_maxspect) { -#if GTK_CHECK_VERSION(3,0,0) - int rwidth=mainw->ce_frame_width-H_RESIZE_ADJUST*2; - int rheight=mainw->ce_frame_height-V_RESIZE_ADJUST*2; + if (mainw->multitrack == NULL && mainw->play_window == NULL && prefs->ce_maxspect) { +#if GTK_CHECK_VERSION(3, 0, 0) + int rwidth = mainw->ce_frame_width - H_RESIZE_ADJUST * 2; + int rheight = mainw->ce_frame_height - V_RESIZE_ADJUST * 2; if (mainw->double_size) { - rwidth*=4; - rheight*=4; + rwidth *= 4; + rheight *= 4; } #else - int rwidth=lives_widget_get_allocation_width(mainw->play_image); - int rheight=lives_widget_get_allocation_height(mainw->play_image); + int rwidth = lives_widget_get_allocation_width(mainw->play_image); + int rheight = lives_widget_get_allocation_height(mainw->play_image); #endif if (mainw->double_size) { - mainw->pwidth=(mainw->pwidth-H_RESIZE_ADJUST)*4+H_RESIZE_ADJUST; - mainw->pheight=(mainw->pheight-V_RESIZE_ADJUST)*4+H_RESIZE_ADJUST; - - if (mainw->pwidth<2) mainw->pwidth=weed_get_int_value(mainw->frame_layer,WEED_LEAF_WIDTH,&weed_error); - if (mainw->pheight<2) mainw->pheight=weed_get_int_value(mainw->frame_layer,WEED_LEAF_HEIGHT,&weed_error); + mainw->pwidth = (mainw->pwidth - H_RESIZE_ADJUST) * 4 + H_RESIZE_ADJUST; + mainw->pheight = (mainw->pheight - V_RESIZE_ADJUST) * 4 + H_RESIZE_ADJUST; + if (mainw->pwidth < 2) mainw->pwidth = weed_get_int_value(mainw->frame_layer, WEED_LEAF_WIDTH, &weed_error); + if (mainw->pheight < 2) mainw->pheight = weed_get_int_value(mainw->frame_layer, WEED_LEAF_HEIGHT, &weed_error); } - calc_maxspect(rwidth,rheight,&mainw->pwidth,&mainw->pheight); + calc_maxspect(rwidth, rheight, &mainw->pwidth, &mainw->pheight); check_layer_ready(mainw->frame_layer); - if (mainw->pwidth<2) mainw->pwidth=weed_get_int_value(mainw->frame_layer,WEED_LEAF_WIDTH,&weed_error); - if (mainw->pheight<2) mainw->pheight=weed_get_int_value(mainw->frame_layer,WEED_LEAF_HEIGHT,&weed_error); + if (mainw->pwidth < 2) mainw->pwidth = weed_get_int_value(mainw->frame_layer, WEED_LEAF_WIDTH, &weed_error); + if (mainw->pheight < 2) mainw->pheight = weed_get_int_value(mainw->frame_layer, WEED_LEAF_HEIGHT, &weed_error); } - } - if (mainw->ext_playback&&(!(mainw->vpp->capabilities&VPP_CAN_RESIZE)||lb_width!=0)) { + if (mainw->ext_playback && (!(mainw->vpp->capabilities & VPP_CAN_RESIZE) || lb_width != 0)) { // here we are playing through an external video playback plugin which cannot resize // we must resize to whatever width and height we set when we called init_screen() in the plugin // i.e. mainw->vpp->fwidth, mainw->vpp fheight @@ -6348,147 +6254,145 @@ // - this is also used if we are letterboxing to fullscreen with an external plugin - weed_plant_t *frame_layer=NULL; - weed_plant_t *return_layer=NULL; + weed_plant_t *frame_layer = NULL; + weed_plant_t *return_layer = NULL; check_layer_ready(mainw->frame_layer); - layer_palette=weed_layer_get_palette(mainw->frame_layer); + layer_palette = weed_layer_get_palette(mainw->frame_layer); - interp=get_interp_value(prefs->pb_quality); + interp = get_interp_value(prefs->pb_quality); - if (!(mainw->vpp->capabilities&VPP_LOCAL_DISPLAY) && mainw->vpp->fwidth>0 && mainw->vpp->fheight>0 && - ((mainw->vpp->fwidth/weed_palette_get_pixels_per_macropixel(layer_palette)< + if (!(mainw->vpp->capabilities & VPP_LOCAL_DISPLAY) && mainw->vpp->fwidth > 0 && mainw->vpp->fheight > 0 && + ((mainw->vpp->fwidth / weed_palette_get_pixels_per_macropixel(layer_palette) < mainw->pwidth) || - (mainw->vpp->fheight/weed_palette_get_pixels_per_macropixel(layer_palette)< + (mainw->vpp->fheight / weed_palette_get_pixels_per_macropixel(layer_palette) < mainw->pheight))) { // mainw->frame_layer will be downsized for the plugin but upsized for screen // so copy layer and convert, retaining original - frame_layer=weed_layer_copy(NULL,mainw->frame_layer); - } else frame_layer=mainw->frame_layer; + frame_layer = weed_layer_copy(NULL, mainw->frame_layer); + } else frame_layer = mainw->frame_layer; - if (frame_layer==mainw->frame_layer && !(mainw->vpp->capabilities&VPP_LOCAL_DISPLAY) && + if (frame_layer == mainw->frame_layer && !(mainw->vpp->capabilities & VPP_LOCAL_DISPLAY) && ((weed_palette_is_rgb_palette(layer_palette) && !(weed_palette_is_rgb_palette(mainw->vpp->palette))) || - (weed_palette_is_lower_quality(mainw->vpp->palette,layer_palette)))) { + (weed_palette_is_lower_quality(mainw->vpp->palette, layer_palette)))) { // mainw->frame_layer is RGB and so is our screen, but plugin is YUV // so copy layer and convert, retaining original - frame_layer=weed_layer_copy(NULL,mainw->frame_layer); + frame_layer = weed_layer_copy(NULL, mainw->frame_layer); } - if ((mainw->vpp->fwidth>0&&mainw->vpp->fheight>0)&&lb_width==0) { - resize_layer(frame_layer,mainw->vpp->fwidth/weed_palette_get_pixels_per_macropixel(layer_palette), - mainw->vpp->fheight,interp,mainw->vpp->palette,mainw->vpp->YUV_clamping); + if ((mainw->vpp->fwidth > 0 && mainw->vpp->fheight > 0) && lb_width == 0) { + resize_layer(frame_layer, mainw->vpp->fwidth / weed_palette_get_pixels_per_macropixel(layer_palette), + mainw->vpp->fheight, interp, mainw->vpp->palette, mainw->vpp->YUV_clamping); } // resize_layer can change palette - layer_palette=weed_get_int_value(frame_layer,WEED_LEAF_CURRENT_PALETTE,&weed_error); + layer_palette = weed_get_int_value(frame_layer, WEED_LEAF_CURRENT_PALETTE, &weed_error); - if (frame_layer==mainw->frame_layer && !(mainw->vpp->capabilities&VPP_LOCAL_DISPLAY) && + if (frame_layer == mainw->frame_layer && !(mainw->vpp->capabilities & VPP_LOCAL_DISPLAY) && ((weed_palette_is_rgb_palette(layer_palette) && !(weed_palette_is_rgb_palette(mainw->vpp->palette))) || - (weed_palette_is_lower_quality(mainw->vpp->palette,layer_palette)))) { + (weed_palette_is_lower_quality(mainw->vpp->palette, layer_palette)))) { // mainw->frame_layer is RGB and so is our screen, but plugin is YUV // so copy layer and convert, retaining original - frame_layer=weed_layer_copy(NULL,mainw->frame_layer); + frame_layer = weed_layer_copy(NULL, mainw->frame_layer); } - pwidth=weed_get_int_value(frame_layer,WEED_LEAF_WIDTH,&weed_error)* - weed_palette_get_pixels_per_macropixel(layer_palette); - pheight=weed_get_int_value(frame_layer,WEED_LEAF_HEIGHT,&weed_error); + pwidth = weed_get_int_value(frame_layer, WEED_LEAF_WIDTH, &weed_error) * + weed_palette_get_pixels_per_macropixel(layer_palette); + pheight = weed_get_int_value(frame_layer, WEED_LEAF_HEIGHT, &weed_error); - if (mainw->fs&&(mainw->vpp->capabilities&VPP_LOCAL_DISPLAY)) { - mainw->vpp->fwidth=mainw->scr_width; - mainw->vpp->fheight=mainw->scr_height; + if (mainw->fs && (mainw->vpp->capabilities & VPP_LOCAL_DISPLAY)) { + mainw->vpp->fwidth = mainw->scr_width; + mainw->vpp->fheight = mainw->scr_height; } - convert_layer_palette(frame_layer,mainw->vpp->palette,mainw->vpp->YUV_clamping); - - if (mainw->vpp->fwidth!=pwidth||mainw->vpp->fheight!=pheight||lb_width!=0) { + convert_layer_palette(frame_layer, mainw->vpp->palette, mainw->vpp->YUV_clamping); - if (lb_width==0) { - lb_width=pwidth; - lb_height=pheight; + if (mainw->vpp->fwidth != pwidth || mainw->vpp->fheight != pheight || lb_width != 0) { + if (lb_width == 0) { + lb_width = pwidth; + lb_height = pheight; - calc_maxspect(mainw->vpp->fwidth,mainw->vpp->fheight,&lb_width,&lb_height); + calc_maxspect(mainw->vpp->fwidth, mainw->vpp->fheight, &lb_width, &lb_height); } - - letterbox_layer(frame_layer,lb_width/ + letterbox_layer(frame_layer, lb_width / weed_palette_get_pixels_per_macropixel(mainw->vpp->palette), - lb_height,mainw->vpp->fwidth/ + lb_height, mainw->vpp->fwidth / weed_palette_get_pixels_per_macropixel(mainw->vpp->palette), mainw->vpp->fheight); } - if (mainw->stream_ticks==-1) mainw->stream_ticks=(mainw->currticks); + if (mainw->stream_ticks == -1) mainw->stream_ticks = (mainw->currticks); // vid plugin expects compacted rowstrides (i.e. no padding/alignment after pixel row) compact_rowstrides(frame_layer); if (rec_after_pb) { // record output from playback plugin - int retwidth=mainw->pwidth/weed_palette_get_pixels_per_macropixel(mainw->vpp->palette); - int retheight=mainw->pheight; + int retwidth = mainw->pwidth / weed_palette_get_pixels_per_macropixel(mainw->vpp->palette); + int retheight = mainw->pheight; - return_layer=weed_layer_new(retwidth,retheight,NULL,mainw->vpp->palette); + return_layer = weed_layer_new(retwidth, retheight, NULL, mainw->vpp->palette); if (weed_palette_is_yuv_palette(mainw->vpp->palette)) { - weed_set_int_value(return_layer,WEED_LEAF_YUV_CLAMPING,mainw->vpp->YUV_clamping); - weed_set_int_value(return_layer,WEED_LEAF_YUV_SUBSPACE,mainw->vpp->YUV_subspace); - weed_set_int_value(return_layer,WEED_LEAF_YUV_SAMPLING,mainw->vpp->YUV_sampling); + weed_set_int_value(return_layer, WEED_LEAF_YUV_CLAMPING, mainw->vpp->YUV_clamping); + weed_set_int_value(return_layer, WEED_LEAF_YUV_SUBSPACE, mainw->vpp->YUV_subspace); + weed_set_int_value(return_layer, WEED_LEAF_YUV_SAMPLING, mainw->vpp->YUV_sampling); } - create_empty_pixel_data(return_layer,FALSE,TRUE); + create_empty_pixel_data(return_layer, FALSE, TRUE); // vid plugin expects compacted rowstrides (i.e. no padding/alignment after pixel row) compact_rowstrides(return_layer); - retdata=weed_get_voidptr_array(return_layer,WEED_LEAF_PIXEL_DATA,&weed_error); + retdata = weed_get_voidptr_array(return_layer, WEED_LEAF_PIXEL_DATA, &weed_error); } // chain any data to the playback plugin - if (!(mainw->preview||mainw->is_rendering)) { + if (!(mainw->preview || mainw->is_rendering)) { // chain any data pipelines - if (mainw->pconx!=NULL) { - pconx_chain_data(-2,0); + if (mainw->pconx != NULL) { + pconx_chain_data(-2, 0); } - if (mainw->cconx!=NULL) cconx_chain_data(-2,0); + if (mainw->cconx != NULL) cconx_chain_data(-2, 0); } - if (!(*mainw->vpp->render_frame)(weed_get_int_value(frame_layer,WEED_LEAF_WIDTH,&weed_error), - weed_get_int_value(frame_layer,WEED_LEAF_HEIGHT,&weed_error), - mainw->currticks-mainw->stream_ticks, - (pd_array=weed_get_voidptr_array(frame_layer,WEED_LEAF_PIXEL_DATA,&weed_error)), - retdata,mainw->vpp->play_params)) { + if (!(*mainw->vpp->render_frame)(weed_get_int_value(frame_layer, WEED_LEAF_WIDTH, &weed_error), + weed_get_int_value(frame_layer, WEED_LEAF_HEIGHT, &weed_error), + mainw->currticks - mainw->stream_ticks, + (pd_array = weed_get_voidptr_array(frame_layer, WEED_LEAF_PIXEL_DATA, &weed_error)), + retdata, mainw->vpp->play_params)) { vid_playback_plugin_exit(); - if (return_layer!=NULL) { + if (return_layer != NULL) { weed_layer_free(return_layer); lives_free(retdata); - return_layer=NULL; + return_layer = NULL; } } lives_free(pd_array); - if (frame_layer!=mainw->frame_layer) { + if (frame_layer != mainw->frame_layer) { weed_layer_free(frame_layer); } - if (return_layer!=NULL) { - int width=MIN(weed_get_int_value(frame_layer,WEED_LEAF_WIDTH,&weed_error), - weed_get_int_value(return_layer,WEED_LEAF_WIDTH,&weed_error)); - int height=MIN(weed_get_int_value(mainw->frame_layer,WEED_LEAF_HEIGHT,&weed_error), - weed_get_int_value(return_layer,WEED_LEAF_HEIGHT,&weed_error)); - resize_layer(return_layer,width,height,LIVES_INTERP_FAST,WEED_PALETTE_END,0); + if (return_layer != NULL) { + int width = MIN(weed_get_int_value(frame_layer, WEED_LEAF_WIDTH, &weed_error), + weed_get_int_value(return_layer, WEED_LEAF_WIDTH, &weed_error)); + int height = MIN(weed_get_int_value(mainw->frame_layer, WEED_LEAF_HEIGHT, &weed_error), + weed_get_int_value(return_layer, WEED_LEAF_HEIGHT, &weed_error)); + resize_layer(return_layer, width, height, LIVES_INTERP_FAST, WEED_PALETTE_END, 0); save_to_scrap_file(return_layer); weed_layer_free(return_layer); lives_free(retdata); - return_layer=NULL; + return_layer = NULL; } - if (mainw->vpp->capabilities&VPP_LOCAL_DISPLAY) { + if (mainw->vpp->capabilities & VPP_LOCAL_DISPLAY) { load_frame_cleanup(noswitch); lives_freep((void **)&framecount); return; @@ -6502,93 +6406,93 @@ check_layer_ready(mainw->frame_layer); - if ((mainw->sep_win&&!prefs->show_playwin)||(!mainw->sep_win&&!prefs->show_gui)) { + if ((mainw->sep_win && !prefs->show_playwin) || (!mainw->sep_win && !prefs->show_gui)) { load_frame_cleanup(noswitch); lives_freep((void **)&framecount); return; } - layer_palette=weed_layer_get_palette(mainw->frame_layer); + layer_palette = weed_layer_get_palette(mainw->frame_layer); - if (cfile->img_type==IMG_TYPE_JPEG||!weed_palette_has_alpha_channel(layer_palette)) cpal=WEED_PALETTE_RGB24; - else cpal=WEED_PALETTE_RGBA32; + if (cfile->img_type == IMG_TYPE_JPEG || !weed_palette_has_alpha_channel(layer_palette)) cpal = WEED_PALETTE_RGB24; + else cpal = WEED_PALETTE_RGBA32; - if (mainw->fs&&!mainw->ext_playback&&(mainw->multitrack==NULL||mainw->sep_win)) { + if (mainw->fs && !mainw->ext_playback && (mainw->multitrack == NULL || mainw->sep_win)) { // set again, in case vpp was turned off because of preview conditions if (!mainw->sep_win) { do { - mainw->pwidth=lives_widget_get_allocation_width(mainw->playframe); - mainw->pheight=lives_widget_get_allocation_height(mainw->playframe); - if (mainw->pwidth * mainw->pheight==0) { + mainw->pwidth = lives_widget_get_allocation_width(mainw->playframe); + mainw->pheight = lives_widget_get_allocation_height(mainw->playframe); + if (mainw->pwidth * mainw->pheight == 0) { lives_widget_context_update(); } } while (mainw->pwidth * mainw->pheight == 0); } else { - if (prefs->play_monitor==0) { - mainw->pwidth=mainw->scr_width; - mainw->pheight=mainw->scr_height; - if (capable->nmonitors>1) { + if (prefs->play_monitor == 0) { + mainw->pwidth = mainw->scr_width; + mainw->pheight = mainw->scr_height; + if (capable->nmonitors > 1) { // spread over all monitors - mainw->pwidth=lives_screen_get_width(mainw->mgeom[0].screen); - mainw->pheight=lives_screen_get_height(mainw->mgeom[0].screen); + mainw->pwidth = lives_screen_get_width(mainw->mgeom[0].screen); + mainw->pheight = lives_screen_get_height(mainw->mgeom[0].screen); } } else { - if (mainw->play_window!=NULL) pmonitor=prefs->play_monitor; - else pmonitor=prefs->gui_monitor; - mainw->pwidth=mainw->mgeom[pmonitor-1].width; - mainw->pheight=mainw->mgeom[pmonitor-1].height; + if (mainw->play_window != NULL) pmonitor = prefs->play_monitor; + else pmonitor = prefs->gui_monitor; + mainw->pwidth = mainw->mgeom[pmonitor - 1].width; + mainw->pheight = mainw->mgeom[pmonitor - 1].height; } } } - if (mainw->play_window!=NULL&&!mainw->fs) { - mainw->pwidth=lives_widget_get_allocation_width(mainw->play_window); - mainw->pheight=lives_widget_get_allocation_height(mainw->play_window); - } else if (!mainw->fs||(mainw->multitrack!=NULL&&!mainw->sep_win)) { - if (mainw->pwidth>lives_widget_get_allocation_width(mainw->play_image)-widget_opts.border_width*2) - mainw->pwidth=lives_widget_get_allocation_width(mainw->play_image)-widget_opts.border_width*2; - if (mainw->pheight>lives_widget_get_allocation_height(mainw->play_image)-widget_opts.border_width*2) - mainw->pheight=lives_widget_get_allocation_height(mainw->play_image)-widget_opts.border_width*2; + if (mainw->play_window != NULL && !mainw->fs) { + mainw->pwidth = lives_widget_get_allocation_width(mainw->play_window); + mainw->pheight = lives_widget_get_allocation_height(mainw->play_window); + } else if (!mainw->fs || (mainw->multitrack != NULL && !mainw->sep_win)) { + if (mainw->pwidth > lives_widget_get_allocation_width(mainw->play_image) - widget_opts.border_width * 2) + mainw->pwidth = lives_widget_get_allocation_width(mainw->play_image) - widget_opts.border_width * 2; + if (mainw->pheight > lives_widget_get_allocation_height(mainw->play_image) - widget_opts.border_width * 2) + mainw->pheight = lives_widget_get_allocation_height(mainw->play_image) - widget_opts.border_width * 2; } - pwidth=weed_get_int_value(mainw->frame_layer,WEED_LEAF_WIDTH,&weed_error)* - weed_palette_get_pixels_per_macropixel(layer_palette); - pheight=weed_get_int_value(mainw->frame_layer,WEED_LEAF_HEIGHT,&weed_error)* - weed_palette_get_pixels_per_macropixel(layer_palette); + pwidth = weed_get_int_value(mainw->frame_layer, WEED_LEAF_WIDTH, &weed_error) * + weed_palette_get_pixels_per_macropixel(layer_palette); + pheight = weed_get_int_value(mainw->frame_layer, WEED_LEAF_HEIGHT, &weed_error) * + weed_palette_get_pixels_per_macropixel(layer_palette); - if (pwidth!=mainw->pwidth||pheight!=mainw->pheight||lb_width!=0) { - if (lb_width!=0) { - convert_layer_palette(mainw->frame_layer,cpal,0); + if (pwidth != mainw->pwidth || pheight != mainw->pheight || lb_width != 0) { + if (lb_width != 0) { + convert_layer_palette(mainw->frame_layer, cpal, 0); - letterbox_layer(mainw->frame_layer,lb_width/ + letterbox_layer(mainw->frame_layer, lb_width / weed_palette_get_pixels_per_macropixel(layer_palette), - lb_height,mainw->pwidth/ + lb_height, mainw->pwidth / weed_palette_get_pixels_per_macropixel(layer_palette), mainw->pheight); } else { - interp=get_interp_value(prefs->pb_quality); - resize_layer(mainw->frame_layer,mainw->pwidth/weed_palette_get_pixels_per_macropixel(layer_palette), - mainw->pheight,interp,cpal,0); - convert_layer_palette(mainw->frame_layer,cpal,0); + interp = get_interp_value(prefs->pb_quality); + resize_layer(mainw->frame_layer, mainw->pwidth / weed_palette_get_pixels_per_macropixel(layer_palette), + mainw->pheight, interp, cpal, 0); + convert_layer_palette(mainw->frame_layer, cpal, 0); } } else { - if (mainw->play_window!=NULL&&LIVES_IS_XWINDOW(lives_widget_get_xwindow(mainw->play_window))) { - interp=get_interp_value(prefs->pb_quality); - resize_layer(mainw->frame_layer,mainw->pwidth/weed_palette_get_pixels_per_macropixel(layer_palette), - mainw->pheight,interp,cpal,0); - convert_layer_palette(mainw->frame_layer,cpal,0); + if (mainw->play_window != NULL && LIVES_IS_XWINDOW(lives_widget_get_xwindow(mainw->play_window))) { + interp = get_interp_value(prefs->pb_quality); + resize_layer(mainw->frame_layer, mainw->pwidth / weed_palette_get_pixels_per_macropixel(layer_palette), + mainw->pheight, interp, cpal, 0); + convert_layer_palette(mainw->frame_layer, cpal, 0); } } - pixbuf=layer_to_pixbuf(mainw->frame_layer); + pixbuf = layer_to_pixbuf(mainw->frame_layer); weed_plant_free(mainw->frame_layer); - mainw->frame_layer=NULL; + mainw->frame_layer = NULL; - mainw->noswitch=noswitch; + mainw->noswitch = noswitch; // internal player, double size or fullscreen, or multitrack - if (mainw->play_window!=NULL&&LIVES_IS_XWINDOW(lives_widget_get_xwindow(mainw->play_window))) { + if (mainw->play_window != NULL && LIVES_IS_XWINDOW(lives_widget_get_xwindow(mainw->play_window))) { lives_painter_t *cr = lives_painter_create_from_widget(mainw->play_window); block_expose(); @@ -6597,21 +6501,22 @@ lives_painter_destroy(cr); unblock_expose(); - } else set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->play_image),pixbuf,NULL); + } else set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->play_image), pixbuf, NULL); - if (mainw->multitrack!=NULL&&!cfile->opening) animate_multitrack(mainw->multitrack); + if (mainw->multitrack != NULL && !cfile->opening) animate_multitrack(mainw->multitrack); - else if (!mainw->faded&&(!mainw->fs||prefs->gui_monitor!=prefs->play_monitor|| - (mainw->ext_playback&&!(mainw->vpp->capabilities&VPP_LOCAL_DISPLAY)))&& - mainw->current_file!=mainw->scrap_file) + else if (!mainw->faded && (!mainw->fs || (prefs->gui_monitor != prefs->play_monitor && prefs->play_monitor != 0 && + capable->nmonitors > 1) || + (mainw->ext_playback && !(mainw->vpp->capabilities & VPP_LOCAL_DISPLAY))) && + mainw->current_file != mainw->scrap_file) get_play_times(); - if (pixbuf!=NULL) lives_object_unref(pixbuf); + if (pixbuf != NULL) lives_object_unref(pixbuf); // format is now msg|timecode|fgclip|fgframe|fgfps| - lives_notify(LIVES_OSC_NOTIFY_FRAME_SYNCH,(const char *) - (tmp=lives_strdup_printf("%.8f|%d|%d|%.3f|",(double)mainw->currticks/U_SEC, - mainw->current_file,mainw->actual_frame,cfile->pb_fps))); + lives_notify(LIVES_OSC_NOTIFY_FRAME_SYNCH, (const char *) + (tmp = lives_strdup_printf("%.8f|%d|%d|%.3f|", (double)mainw->currticks / U_SEC, + mainw->current_file, mainw->actual_frame, cfile->pb_fps))); lives_free(tmp); lives_freep((void **)&framecount); @@ -6621,41 +6526,43 @@ // record external window if (mainw->record_foreign) { char fname[PATH_MAX]; - int xwidth,xheight; - LiVESError *gerror=NULL; + int xwidth, xheight; + LiVESError *gerror = NULL; lives_painter_t *cr = lives_painter_create_from_widget(mainw->playarea); - if (mainw->rec_vid_frames==-1) { - lives_entry_set_text(LIVES_ENTRY(mainw->framecounter),(tmp=lives_strdup_printf("%9d",frame))); + if (cr == NULL) return; + + if (mainw->rec_vid_frames == -1) { + lives_entry_set_text(LIVES_ENTRY(mainw->framecounter), (tmp = lives_strdup_printf("%9d", frame))); lives_widget_queue_draw(mainw->framecounter); } else { - if (frame>mainw->rec_vid_frames) { - mainw->cancelled=CANCEL_KEEP; - if (cfile->frames>0) cfile->frames=mainw->rec_vid_frames; + if (frame > mainw->rec_vid_frames) { + mainw->cancelled = CANCEL_KEEP; + if (cfile->frames > 0) cfile->frames = mainw->rec_vid_frames; return; } - lives_entry_set_text(LIVES_ENTRY(mainw->framecounter),(tmp=lives_strdup_printf("%9d/%9d",frame,mainw->rec_vid_frames))); + lives_entry_set_text(LIVES_ENTRY(mainw->framecounter), (tmp = lives_strdup_printf("%9d/%9d", frame, mainw->rec_vid_frames))); lives_widget_queue_draw(mainw->framecounter); lives_free(tmp); } #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - xwidth=gdk_window_get_width(mainw->foreign_window); - xheight=gdk_window_get_height(mainw->foreign_window); - if ((pixbuf=gdk_pixbuf_get_from_window(mainw->foreign_window, - 0,0, - xwidth, - xheight - ))!=NULL) { -#else - gdk_window_get_size(mainw->foreign_window,&xwidth,&xheight); - if ((pixbuf=gdk_pixbuf_get_from_drawable(NULL,GDK_DRAWABLE(mainw->foreign_window), - mainw->foreign_cmap,0,0,0,0, - xwidth, - xheight - ))!=NULL) { +#if GTK_CHECK_VERSION(3, 0, 0) + xwidth = gdk_window_get_width(mainw->foreign_window); + xheight = gdk_window_get_height(mainw->foreign_window); + if ((pixbuf = gdk_pixbuf_get_from_window(mainw->foreign_window, + 0, 0, + xwidth, + xheight + )) != NULL) { +#else + gdk_window_get_size(mainw->foreign_window, &xwidth, &xheight); + if ((pixbuf = gdk_pixbuf_get_from_drawable(NULL, GDK_DRAWABLE(mainw->foreign_window), + mainw->foreign_cmap, 0, 0, 0, 0, + xwidth, + xheight + )) != NULL) { #endif #endif #ifdef GUI_QT @@ -6665,36 +6572,35 @@ QPixmap qp = qscreen->grabWindow(mainw->foreign_id, 0, 0, xwidth, xheight); if (0) { // TODO #endif - tmp=make_image_file_name(cfile,frame,get_image_ext_for_type(cfile->img_type)); - lives_snprintf(fname,PATH_MAX,"%s",tmp); + tmp = make_image_file_name(cfile, frame, get_image_ext_for_type(cfile->img_type)); + lives_snprintf(fname, PATH_MAX, "%s", tmp); lives_free(tmp); do { - if (gerror!=NULL) lives_error_free(gerror); + if (gerror != NULL) lives_error_free(gerror); lives_pixbuf_save(pixbuf, fname, cfile->img_type, 100, FALSE, &gerror); - } while (gerror!=NULL); + } while (gerror != NULL); lives_painter_set_source_pixbuf(cr, pixbuf, 0, 0); lives_painter_paint(cr); lives_painter_destroy(cr); - if (pixbuf!=NULL) lives_object_unref(pixbuf); - cfile->frames=frame; + if (pixbuf != NULL) lives_object_unref(pixbuf); + cfile->frames = frame; } else { do_error_dialog(_("LiVES was unable to capture this image\n\n")); - mainw->cancelled=CANCEL_CAPTURE_ERROR; + mainw->cancelled = CANCEL_CAPTURE_ERROR; } - if (frame==mainw->rec_vid_frames) mainw->cancelled=CANCEL_KEEP; + if (frame == mainw->rec_vid_frames) mainw->cancelled = CANCEL_KEEP; } lives_freep((void **)&framecount); } - /** Save a pixbuf to a file using the specified imgtype and the specified quality/compression value */ - LiVESError *lives_pixbuf_save(LiVESPixbuf *pixbuf, char *fname, lives_image_type_t imgtype, int quality, boolean do_chmod, + LiVESError *lives_pixbuf_save(LiVESPixbuf * pixbuf, char *fname, lives_image_type_t imgtype, int quality, boolean do_chmod, LiVESError **gerrorptr) { // CALLER should check for errors @@ -6702,9 +6608,8 @@ // do_chmod is ignored now - - if (imgtype==IMG_TYPE_JPEG) { - char *qstr=lives_strdup_printf("%d",quality); + if (imgtype == IMG_TYPE_JPEG) { + char *qstr = lives_strdup_printf("%d", quality); #ifdef GUI_GTK gdk_pixbuf_save(pixbuf, fname, "jpeg", gerrorptr, "quality", qstr, NULL); #endif @@ -6712,13 +6617,13 @@ qt_jpeg_save(pixbuf, fname, gerrorptr, quality); #endif lives_free(qstr); - } else if (imgtype==IMG_TYPE_PNG) { - char *cstr=lives_strdup_printf("%d",(int)((100.-(double)quality+5.)/10.)); + } else if (imgtype == IMG_TYPE_PNG) { + char *cstr = lives_strdup_printf("%d", (int)((100. - (double)quality + 5.) / 10.)); #ifdef GUI_GTK gdk_pixbuf_save(pixbuf, fname, "png", gerrorptr, "compression", cstr, NULL); #endif #ifdef GUI_QT - qt_png_save(pixbuf, fname, gerrorptr, (int)((100.-(double)quality+5.)/10.)); + qt_png_save(pixbuf, fname, gerrorptr, (int)((100. - (double)quality + 5.) / 10.)); #endif lives_free(cstr); } else { @@ -6729,23 +6634,22 @@ } - void close_current_file(int file_to_switch_to) { // close the current file, and free the file struct and all sub storage char *com; LiVESList *list_index; - int index=-1; - int old_file=mainw->current_file; - boolean need_new_blend_file=FALSE; + int index = -1; + int old_file = mainw->current_file; + boolean need_new_blend_file = FALSE; - if (mainw->playing_file==-1) { - if (mainw->current_file!=mainw->scrap_file) desensitize(); + if (mainw->playing_file == -1) { + if (mainw->current_file != mainw->scrap_file) desensitize(); lives_widget_set_sensitive(mainw->playall, FALSE); lives_widget_set_sensitive(mainw->m_playbutton, FALSE); lives_widget_set_sensitive(mainw->m_playselbutton, FALSE); lives_widget_set_sensitive(mainw->m_loopbutton, FALSE); lives_widget_set_sensitive(mainw->m_rewindbutton, FALSE); - if (mainw->preview_box!=NULL) { + if (mainw->preview_box != NULL) { lives_widget_set_sensitive(mainw->p_playbutton, FALSE); lives_widget_set_sensitive(mainw->p_playselbutton, FALSE); lives_widget_set_sensitive(mainw->p_loopbutton, FALSE); @@ -6763,10 +6667,10 @@ lives_widget_set_sensitive(mainw->capture, TRUE); lives_widget_set_sensitive(mainw->preferences, TRUE); lives_widget_set_sensitive(mainw->dsize, !mainw->fs); - lives_widget_set_sensitive(mainw->rev_clipboard, !(clipboard==NULL)); - lives_widget_set_sensitive(mainw->show_clipboard_info, !(clipboard==NULL)); - lives_widget_set_sensitive(mainw->playclip, !(clipboard==NULL)); - lives_widget_set_sensitive(mainw->paste_as_new, !(clipboard==NULL)); + lives_widget_set_sensitive(mainw->rev_clipboard, !(clipboard == NULL)); + lives_widget_set_sensitive(mainw->show_clipboard_info, !(clipboard == NULL)); + lives_widget_set_sensitive(mainw->playclip, !(clipboard == NULL)); + lives_widget_set_sensitive(mainw->paste_as_new, !(clipboard == NULL)); lives_widget_set_sensitive(mainw->open_sel, TRUE); lives_widget_set_sensitive(mainw->recaudio_submenu, TRUE); lives_widget_set_sensitive(mainw->open_vcd_menu, TRUE); @@ -6788,57 +6692,57 @@ lives_widget_set_sensitive(mainw->midi_save, TRUE); lives_widget_set_sensitive(mainw->gens_submenu, TRUE); lives_widget_set_sensitive(mainw->mt_menu, TRUE); - lives_widget_set_sensitive(mainw->unicap,TRUE); - lives_widget_set_sensitive(mainw->firewire,TRUE); - lives_widget_set_sensitive(mainw->tvdev,TRUE); + lives_widget_set_sensitive(mainw->unicap, TRUE); + lives_widget_set_sensitive(mainw->firewire, TRUE); + lives_widget_set_sensitive(mainw->tvdev, TRUE); lives_widget_set_sensitive(mainw->troubleshoot, TRUE); #ifdef HAVE_YUV4MPEG lives_widget_set_sensitive(mainw->open_yuv4m, TRUE); #endif } //update the bar text - if (mainw->current_file>-1) { + if (mainw->current_file > -1) { register int i; - if (cfile->clip_type!=CLIP_TYPE_GENERATOR&&mainw->current_file!=mainw->scrap_file&& - mainw->current_file!=mainw->ascrap_file&& - (mainw->multitrack==NULL||mainw->current_file!=mainw->multitrack->render_file)) { - d_print(_("Closed file %s\n"),cfile->file_name); + if (cfile->clip_type != CLIP_TYPE_GENERATOR && mainw->current_file != mainw->scrap_file && + mainw->current_file != mainw->ascrap_file && + (mainw->multitrack == NULL || mainw->current_file != mainw->multitrack->render_file)) { + d_print(_("Closed file %s\n"), cfile->file_name); - lives_notify(LIVES_OSC_NOTIFY_CLIP_CLOSED,""); + lives_notify(LIVES_OSC_NOTIFY_CLIP_CLOSED, ""); } // resize frame widgets to default - cfile->hsize=mainw->def_width-H_RESIZE_ADJUST; - cfile->vsize=mainw->def_height-V_RESIZE_ADJUST; + cfile->hsize = mainw->def_width - H_RESIZE_ADJUST; + cfile->vsize = mainw->def_height - V_RESIZE_ADJUST; - for (i=0; i<FN_KEYS-1; i++) { - if (mainw->clipstore[i]==mainw->current_file) mainw->clipstore[i]=0; + for (i = 0; i < FN_KEYS - 1; i++) { + if (mainw->clipstore[i] == mainw->current_file) mainw->clipstore[i] = 0; } // this must all be done last... - if (cfile->menuentry!=NULL) { + if (cfile->menuentry != NULL) { // c.f. on_prevclip_activate - list_index=lives_list_find(mainw->cliplist, LIVES_INT_TO_POINTER(mainw->current_file)); + list_index = lives_list_find(mainw->cliplist, LIVES_INT_TO_POINTER(mainw->current_file)); do { - if ((list_index=lives_list_previous(list_index))==NULL) list_index=lives_list_last(mainw->cliplist); - index=LIVES_POINTER_TO_INT(lives_list_nth_data(list_index,0)); - } while ((mainw->files[index]==NULL||mainw->files[index]->opening||mainw->files[index]->restoring|| - (index==mainw->scrap_file&&index>-1)||(!mainw->files[index]->frames&&mainw->playing_file>-1))&& - index!=mainw->current_file); - if (index==mainw->current_file) index=-1; - if (mainw->current_file!=mainw->scrap_file) remove_from_clipmenu(); + if ((list_index = lives_list_previous(list_index)) == NULL) list_index = lives_list_last(mainw->cliplist); + index = LIVES_POINTER_TO_INT(lives_list_nth_data(list_index, 0)); + } while ((mainw->files[index] == NULL || mainw->files[index]->opening || mainw->files[index]->restoring || + (index == mainw->scrap_file && index > -1) || (!mainw->files[index]->frames && mainw->playing_file > -1)) && + index != mainw->current_file); + if (index == mainw->current_file) index = -1; + if (mainw->current_file != mainw->scrap_file) remove_from_clipmenu(); } - if ((cfile->clip_type==CLIP_TYPE_FILE||cfile->clip_type==CLIP_TYPE_DISK)&&cfile->ext_src!=NULL) { - char *cwd=lives_get_current_dir(); - char *ppath=lives_build_filename(prefs->workdir,cfile->handle,NULL); - lives_chdir(ppath,FALSE); + if ((cfile->clip_type == CLIP_TYPE_FILE || cfile->clip_type == CLIP_TYPE_DISK) && cfile->ext_src != NULL) { + char *cwd = lives_get_current_dir(); + char *ppath = lives_build_filename(prefs->workdir, cfile->handle, NULL); + lives_chdir(ppath, FALSE); lives_free(ppath); close_decoder_plugin((lives_decoder_t *)cfile->ext_src); - cfile->ext_src=NULL; + cfile->ext_src = NULL; - lives_chdir(cwd,FALSE); + lives_chdir(cwd, FALSE); lives_free(cwd); } @@ -6847,124 +6751,118 @@ lives_freep((void **)&cfile->op_dir); - if (cfile->clip_type!=CLIP_TYPE_GENERATOR&&!mainw->only_close) { - + if (cfile->clip_type != CLIP_TYPE_GENERATOR && !mainw->only_close) { #ifdef IS_MINGW // kill any active processes: for other OSes the backend does this - lives_kill_subprocesses(cfile->handle,TRUE); + lives_kill_subprocesses(cfile->handle, TRUE); #endif - com=lives_strdup_printf("%s close \"%s\"",prefs->backend_sync,cfile->handle); - lives_system(com,TRUE); + com = lives_strdup_printf("%s close \"%s\"", prefs->backend_sync, cfile->handle); + lives_system(com, TRUE); lives_free(com); - if (cfile->event_list_back!=NULL) event_list_free(cfile->event_list_back); - if (cfile->event_list!=NULL) event_list_free(cfile->event_list); + if (cfile->event_list_back != NULL) event_list_free(cfile->event_list_back); + if (cfile->event_list != NULL) event_list_free(cfile->event_list); lives_list_free_all(&cfile->layout_map); - } - if (cfile->subt!=NULL) subtitles_free(cfile); + if (cfile->subt != NULL) subtitles_free(cfile); - if (cfile->clip_type==CLIP_TYPE_YUV4MPEG) { + if (cfile->clip_type == CLIP_TYPE_YUV4MPEG) { #ifdef HAVE_YUV4MPEG lives_yuv_stream_stop_read((lives_yuv4m_t *)cfile->ext_src); lives_free(cfile->ext_src); #endif } - if (cfile->clip_type==CLIP_TYPE_VIDEODEV) { + if (cfile->clip_type == CLIP_TYPE_VIDEODEV) { #ifdef HAVE_UNICAP lives_vdev_free((lives_vdev_t *)cfile->ext_src); lives_free(cfile->ext_src); #endif } - if (cfile->laudio_drawable!=NULL) { + if (cfile->laudio_drawable != NULL) { lives_painter_surface_destroy(cfile->laudio_drawable); } - if (cfile->raudio_drawable!=NULL) { + if (cfile->raudio_drawable != NULL) { lives_painter_surface_destroy(cfile->raudio_drawable); } lives_freep((void **)&cfile); - if (mainw->multitrack!=NULL&&mainw->current_file!=mainw->multitrack->render_file) { - mt_delete_clips(mainw->multitrack,mainw->current_file); + if (mainw->multitrack != NULL && mainw->current_file != mainw->multitrack->render_file) { + mt_delete_clips(mainw->multitrack, mainw->current_file); } - if (mainw->first_free_file==-1||mainw->first_free_file>mainw->current_file) - mainw->first_free_file=mainw->current_file; + if (mainw->first_free_file == -1 || mainw->first_free_file > mainw->current_file) + mainw->first_free_file = mainw->current_file; if (!mainw->only_close) { - if (file_to_switch_to>0&&mainw->files[file_to_switch_to]!=NULL) { - if (mainw->playing_file==-1) { - switch_to_file((mainw->current_file=0),file_to_switch_to); + if (file_to_switch_to > 0 && mainw->files[file_to_switch_to] != NULL) { + if (mainw->playing_file == -1) { + switch_to_file((mainw->current_file = 0), file_to_switch_to); d_print(""); } else do_quick_switch(file_to_switch_to); - if (mainw->multitrack!=NULL&&old_file!=mainw->multitrack->render_file) { - mt_clip_select(mainw->multitrack,TRUE); + if (mainw->multitrack != NULL && old_file != mainw->multitrack->render_file) { + mt_clip_select(mainw->multitrack, TRUE); } - return; } } - if (mainw->current_file==mainw->blend_file) { - need_new_blend_file=TRUE; + if (mainw->current_file == mainw->blend_file) { + need_new_blend_file = TRUE; } - mainw->preview_frame=0; + mainw->preview_frame = 0; if (!mainw->only_close) { // find another clip to switch to - if (index>-1) { - if (mainw->playing_file==-1) { - switch_to_file((mainw->current_file=0),index); + if (index > -1) { + if (mainw->playing_file == -1) { + switch_to_file((mainw->current_file = 0), index); d_print(""); } else do_quick_switch(index); - if (need_new_blend_file) mainw->blend_file=mainw->current_file; + if (need_new_blend_file) mainw->blend_file = mainw->current_file; - if (mainw->multitrack!=NULL) { - mainw->multitrack->clip_selected=-mainw->multitrack->clip_selected; - mt_clip_select(mainw->multitrack,TRUE); + if (mainw->multitrack != NULL) { + mainw->multitrack->clip_selected = -mainw->multitrack->clip_selected; + mt_clip_select(mainw->multitrack, TRUE); } - return; } - if (mainw->clips_available>0) { - for (i=mainw->current_file-1; i>0; i--) { - if (!(mainw->files[i]==NULL)) { - if (mainw->playing_file==-1) { - switch_to_file((mainw->current_file=0),i); + if (mainw->clips_available > 0) { + for (i = mainw->current_file - 1; i > 0; i--) { + if (!(mainw->files[i] == NULL)) { + if (mainw->playing_file == -1) { + switch_to_file((mainw->current_file = 0), i); d_print(""); } else do_quick_switch(index); - if (need_new_blend_file) mainw->blend_file=mainw->current_file; + if (need_new_blend_file) mainw->blend_file = mainw->current_file; - if (mainw->multitrack!=NULL) { - mainw->multitrack->clip_selected=-mainw->multitrack->clip_selected; - mt_clip_select(mainw->multitrack,TRUE); + if (mainw->multitrack != NULL) { + mainw->multitrack->clip_selected = -mainw->multitrack->clip_selected; + mt_clip_select(mainw->multitrack, TRUE); } - return; } } - for (i=1; i<MAX_FILES; i++) { - if (!(mainw->files[i]==NULL)) { - if (mainw->playing_file==-1) { - switch_to_file((mainw->current_file=0),i); + for (i = 1; i < MAX_FILES; i++) { + if (!(mainw->files[i] == NULL)) { + if (mainw->playing_file == -1) { + switch_to_file((mainw->current_file = 0), i); d_print(""); } else do_quick_switch(index); - if (need_new_blend_file) mainw->blend_file=mainw->current_file; + if (need_new_blend_file) mainw->blend_file = mainw->current_file; - if (mainw->multitrack!=NULL) { - mainw->multitrack->clip_selected=-mainw->multitrack->clip_selected; - mt_clip_select(mainw->multitrack,TRUE); + if (mainw->multitrack != NULL) { + mainw->multitrack->clip_selected = -mainw->multitrack->clip_selected; + mt_clip_select(mainw->multitrack, TRUE); } - return; } } @@ -6972,35 +6870,34 @@ } // no other clips - mainw->current_file=-1; - mainw->blend_file=-1; - set_main_title(NULL,0); + mainw->current_file = -1; + mainw->blend_file = -1; + set_main_title(NULL, 0); lives_widget_set_sensitive(mainw->vj_save_set, FALSE); lives_widget_set_sensitive(mainw->vj_load_set, TRUE); lives_widget_set_sensitive(mainw->export_proj, FALSE); lives_widget_set_sensitive(mainw->import_proj, FALSE); - if (mainw->multitrack!=NULL) lives_widget_set_sensitive(mainw->multitrack->load_set,TRUE); + if (mainw->multitrack != NULL) lives_widget_set_sensitive(mainw->multitrack->load_set, TRUE); // can't use set_undoable, as we don't have a cfile - set_menu_text(mainw->undo,_("_Undo"),TRUE); - set_menu_text(mainw->redo,_("_Redo"),TRUE); + set_menu_text(mainw->undo, _("_Undo"), TRUE); + set_menu_text(mainw->redo, _("_Redo"), TRUE); lives_widget_hide(mainw->redo); lives_widget_show(mainw->undo); - lives_widget_set_sensitive(mainw->undo,FALSE); - + lives_widget_set_sensitive(mainw->undo, FALSE); if (!mainw->is_ready) return; - if (mainw->playing_file==-1&&mainw->play_window!=NULL) { + if (mainw->playing_file == -1 && mainw->play_window != NULL) { // if the clip is loaded - if (mainw->preview_box==NULL) { + if (mainw->preview_box == NULL) { // create the preview box that shows frames... make_preview_box(); } // add it the play window... - if (lives_widget_get_parent(mainw->preview_box)==NULL) { + if (lives_widget_get_parent(mainw->preview_box) == NULL) { lives_widget_queue_draw(mainw->play_window); lives_container_add(LIVES_CONTAINER(mainw->play_window), mainw->preview_box); lives_widget_grab_focus(mainw->preview_spinbutton); @@ -7016,7 +6913,7 @@ load_preview_image(FALSE); } - if (mainw->multitrack==NULL) { + if (mainw->multitrack == NULL) { resize(1); load_start_image(0); load_end_image(0); @@ -7025,15 +6922,15 @@ set_sel_label(mainw->sel_label); - lives_label_set_text(LIVES_LABEL(mainw->vidbar),_("Video")); - lives_label_set_text(LIVES_LABEL(mainw->laudbar),_("Left Audio")); - lives_label_set_text(LIVES_LABEL(mainw->raudbar),_("Right Audio")); + lives_label_set_text(LIVES_LABEL(mainw->vidbar), _("Video")); + lives_label_set_text(LIVES_LABEL(mainw->laudbar), _("Left Audio")); + lives_label_set_text(LIVES_LABEL(mainw->raudbar), _("Right Audio")); zero_spinbuttons(); lives_widget_hide(mainw->hruler); lives_widget_hide(mainw->eventbox5); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_hide(mainw->vidbar); lives_widget_hide(mainw->laudbar); lives_widget_hide(mainw->raudbar); @@ -7044,36 +6941,34 @@ } if (!mainw->only_close) { lives_widget_queue_draw(mainw->LiVES); - if (mainw->playing_file==-1) d_print(""); + if (mainw->playing_file == -1) d_print(""); - if (mainw->multitrack!=NULL) { - mainw->multitrack->clip_selected=-mainw->multitrack->clip_selected; - mt_clip_select(mainw->multitrack,TRUE); + if (mainw->multitrack != NULL) { + mainw->multitrack->clip_selected = -mainw->multitrack->clip_selected; + mt_clip_select(mainw->multitrack, TRUE); } } - } - void switch_to_file(int old_file, int new_file) { // this function is used for full clip switching (during non-playback or non fs) // calling this function directly is now deprecated in favour of switch_clip() char title[256]; - int orig_file=mainw->current_file; + int orig_file = mainw->current_file; // should use close_current_file - if (new_file==-1||new_file>MAX_FILES) { - lives_printerr("warning - attempt to switch to invalid clip %d\n",new_file); + if (new_file == -1 || new_file > MAX_FILES) { + lives_printerr("warning - attempt to switch to invalid clip %d\n", new_file); return; } - if (mainw->files[new_file]==NULL) return; + if (mainw->files[new_file] == NULL) return; - if (cfile!=NULL&&old_file*new_file>0&&cfile->opening) { - if (prefs->audio_player==AUD_PLAYER_MPLAYER||prefs->audio_player==AUD_PLAYER_MPLAYER2) { + if (cfile != NULL && old_file > 0 && new_file > 0 && cfile->opening) { + if (prefs->audio_player == AUD_PLAYER_MPLAYER || prefs->audio_player == AUD_PLAYER_MPLAYER2) { do_error_dialog( _("\n\nLiVES cannot switch clips whilst opening if the audio player is set to mplayer or mplayer2.\n" "Please adjust the playback options in Preferences and try again.\n")); @@ -7081,29 +6976,29 @@ } } - mainw->current_file=new_file; + mainw->current_file = new_file; - if (mainw->playing_file==-1&&mainw->multitrack!=NULL) return; + if (mainw->playing_file == -1 && mainw->multitrack != NULL) return; if (cfile->frames) { - mainw->pwidth=cfile->hsize; - mainw->pheight=cfile->vsize; + mainw->pwidth = cfile->hsize; + mainw->pheight = cfile->vsize; - mainw->play_start=1; - mainw->play_end=cfile->frames; + mainw->play_start = 1; + mainw->play_end = cfile->frames; - if (mainw->playing_file>-1) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps),cfile->pb_fps); + if (mainw->playing_file > -1) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps), cfile->pb_fps); changed_fps_during_pb(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps), NULL); } - if ((cfile->clip_type!=CLIP_TYPE_DISK&&cfile->clip_type!=CLIP_TYPE_FILE)||(mainw->event_list!=NULL&&!mainw->record)) - mainw->play_end=INT_MAX; + if ((cfile->clip_type != CLIP_TYPE_DISK && cfile->clip_type != CLIP_TYPE_FILE) || (mainw->event_list != NULL && !mainw->record)) + mainw->play_end = INT_MAX; } - if (old_file!=new_file) { - if (old_file*new_file) mainw->preview_frame=0; - if (old_file!=-1) { + if (old_file != new_file) { + if (old_file != 0 && new_file != 0) mainw->preview_frame = 0; + if (old_file != -1) { // TODO - indicate "opening" in clipmenu // if (old_file>0&&mainw->files[old_file]!=NULL&&mainw->files[old_file]->menuentry!=NULL&& @@ -7113,16 +7008,16 @@ //set_menu_text(mainw->files[old_file]->menuentry,menutext,FALSE); //} - lives_widget_set_sensitive(mainw->select_new, (cfile->insert_start>0)); - lives_widget_set_sensitive(mainw->select_last, (cfile->undo_start>0)); - if ((cfile->start==1||cfile->end==cfile->frames)&&!(cfile->start==1&&cfile->end==cfile->frames)) { - lives_widget_set_sensitive(mainw->select_invert,TRUE); + lives_widget_set_sensitive(mainw->select_new, (cfile->insert_start > 0)); + lives_widget_set_sensitive(mainw->select_last, (cfile->undo_start > 0)); + if ((cfile->start == 1 || cfile->end == cfile->frames) && !(cfile->start == 1 && cfile->end == cfile->frames)) { + lives_widget_set_sensitive(mainw->select_invert, TRUE); } else { - lives_widget_set_sensitive(mainw->select_invert,FALSE); + lives_widget_set_sensitive(mainw->select_invert, FALSE); } - if (new_file*old_file>0&&mainw->files[old_file]!=NULL&&mainw->files[old_file]->opening) { + if (new_file * old_file > 0 && mainw->files[old_file] != NULL && mainw->files[old_file]->opening) { // switch while opening - come out of processing dialog - if (!(mainw->files[old_file]->proc_ptr==NULL)) { + if (!(mainw->files[old_file]->proc_ptr == NULL)) { lives_widget_destroy(mainw->files[old_file]->proc_ptr->processing); lives_freep((void **)&mainw->files[old_file]->proc_ptr); } @@ -7130,19 +7025,19 @@ } } - if (!mainw->switch_during_pb&&!cfile->opening) { + if (!mainw->switch_during_pb && !cfile->opening) { sensitize(); } - if ((mainw->playing_file==-1&&mainw->play_window!=NULL&&cfile->is_loaded) - &&orig_file!=new_file) { + if ((mainw->playing_file == -1 && mainw->play_window != NULL && cfile->is_loaded) + && orig_file != new_file) { // if the clip is loaded - if (mainw->preview_box==NULL) { + if (mainw->preview_box == NULL) { // create the preview box that shows frames... make_preview_box(); } // add it the play window... - if (lives_widget_get_parent(mainw->preview_box)==NULL) { + if (lives_widget_get_parent(mainw->preview_box) == NULL) { lives_widget_queue_draw(mainw->play_window); lives_container_add(LIVES_CONTAINER(mainw->play_window), mainw->preview_box); lives_widget_grab_focus(mainw->preview_spinbutton); @@ -7159,61 +7054,59 @@ load_preview_image(FALSE); } - if (new_file>0) { - lives_ruler_set_value(LIVES_RULER(mainw->hruler),cfile->pointer_time); + if (new_file > 0) { + lives_ruler_set_value(LIVES_RULER(mainw->hruler), cfile->pointer_time); } - if (cfile->opening||!(cfile->clip_type==CLIP_TYPE_DISK||cfile->clip_type==CLIP_TYPE_FILE)) { + if (cfile->opening || !(cfile->clip_type == CLIP_TYPE_DISK || cfile->clip_type == CLIP_TYPE_FILE)) { load_start_image(0); load_end_image(0); lives_widget_set_sensitive(mainw->rename, FALSE); } - - if (cfile->menuentry!=NULL) { + if (cfile->menuentry != NULL) { reset_clipmenu(); } - if (cfile->clip_type==CLIP_TYPE_DISK||cfile->clip_type==CLIP_TYPE_FILE) { + if (cfile->clip_type == CLIP_TYPE_DISK || cfile->clip_type == CLIP_TYPE_FILE) { reget_afilesize(mainw->current_file); /* if (cfile->afilesize>0&&cfile->achans==0) { - char *msgx=lives_strdup_printf("Audio file but no channels, %s",cfile->handle); - LIVES_WARN(msgx); - lives_free(msgx); - }*/ + char *msgx=lives_strdup_printf("Audio file but no channels, %s",cfile->handle); + LIVES_WARN(msgx); + lives_free(msgx); + }*/ } - if (!mainw->switch_during_pb) { // switch on/off loop video if we have/don't have audio - if (cfile->achans==0) { - mainw->loop=FALSE; + if (cfile->achans == 0) { + mainw->loop = FALSE; } else { - mainw->loop=lives_check_menu_item_get_active(LIVES_CHECK_MENU_ITEM(mainw->loop_video)); + mainw->loop = lives_check_menu_item_get_active(LIVES_CHECK_MENU_ITEM(mainw->loop_video)); } lives_widget_set_sensitive(mainw->undo, cfile->undoable); lives_widget_set_sensitive(mainw->redo, cfile->redoable); - lives_widget_set_sensitive(mainw->export_submenu, (cfile->achans>0)); + lives_widget_set_sensitive(mainw->export_submenu, (cfile->achans > 0)); lives_widget_set_sensitive(mainw->recaudio_submenu, TRUE); - lives_widget_set_sensitive(mainw->recaudio_sel, (cfile->frames>0)); - lives_widget_set_sensitive(mainw->export_selaudio, (cfile->frames>0)); - lives_widget_set_sensitive(mainw->append_audio, (cfile->achans>0)); - lives_widget_set_sensitive(mainw->trim_submenu, (cfile->achans>0)); - lives_widget_set_sensitive(mainw->trim_audio, mainw->current_file>0&&(cfile->achans*cfile->frames>0)); - lives_widget_set_sensitive(mainw->trim_to_pstart, (cfile->achans>0&&cfile->pointer_time>0.)); - lives_widget_set_sensitive(mainw->delaudio_submenu, (cfile->achans>0)); - lives_widget_set_sensitive(mainw->delsel_audio, (cfile->frames>0)); - lives_widget_set_sensitive(mainw->resample_audio, (cfile->achans>0&&capable->has_sox_sox)); - lives_widget_set_sensitive(mainw->fade_aud_in, cfile->achans>0); - lives_widget_set_sensitive(mainw->fade_aud_out, cfile->achans>0); - lives_widget_set_sensitive(mainw->loop_video, (cfile->achans>0&&cfile->frames>0)); + lives_widget_set_sensitive(mainw->recaudio_sel, (cfile->frames > 0)); + lives_widget_set_sensitive(mainw->export_selaudio, (cfile->frames > 0)); + lives_widget_set_sensitive(mainw->append_audio, (cfile->achans > 0)); + lives_widget_set_sensitive(mainw->trim_submenu, (cfile->achans > 0)); + lives_widget_set_sensitive(mainw->trim_audio, mainw->current_file > 0 && (cfile->achans * cfile->frames > 0)); + lives_widget_set_sensitive(mainw->trim_to_pstart, (cfile->achans > 0 && cfile->pointer_time > 0.)); + lives_widget_set_sensitive(mainw->delaudio_submenu, (cfile->achans > 0)); + lives_widget_set_sensitive(mainw->delsel_audio, (cfile->frames > 0)); + lives_widget_set_sensitive(mainw->resample_audio, (cfile->achans > 0 && capable->has_sox_sox)); + lives_widget_set_sensitive(mainw->fade_aud_in, cfile->achans > 0); + lives_widget_set_sensitive(mainw->fade_aud_out, cfile->achans > 0); + lives_widget_set_sensitive(mainw->loop_video, (cfile->achans > 0 && cfile->frames > 0)); } - set_menu_text(mainw->undo,cfile->undo_text,TRUE); - set_menu_text(mainw->redo,cfile->redo_text,TRUE); + set_menu_text(mainw->undo, cfile->undo_text, TRUE); + set_menu_text(mainw->redo, cfile->redo_text, TRUE); set_sel_label(mainw->sel_label); @@ -7223,7 +7116,7 @@ lives_widget_show(mainw->vidbar); lives_widget_show(mainw->laudbar); - if (cfile->achans<2) { + if (cfile->achans < 2) { lives_widget_hide(mainw->raudbar); } else { lives_widget_show(mainw->raudbar); @@ -7237,33 +7130,33 @@ lives_widget_show(mainw->undo); } - if (new_file>0) { - if (cfile->menuentry!=NULL) { - get_menu_text(cfile->menuentry,title); - set_main_title(title,0); - } else set_main_title(cfile->file_name,0); + if (new_file > 0) { + if (cfile->menuentry != NULL) { + get_menu_text(cfile->menuentry, title); + set_main_title(title, 0); + } else set_main_title(cfile->file_name, 0); } - if (cfile->frames==0) { + if (cfile->frames == 0) { zero_spinbuttons(); } - if (mainw->multitrack==NULL) resize(1); + if (mainw->multitrack == NULL) resize(1); - if (mainw->playing_file>-1) { + if (mainw->playing_file > -1) { if (mainw->fs) { //on_full_screen_activate (NULL,LIVES_INT_TO_POINTER (1)); } else { - if (!mainw->faded&&cfile->frames>0) { - lives_signal_handler_block(mainw->spinbutton_end,mainw->spin_end_func); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->spinbutton_end),1,cfile->frames); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end),cfile->end); - lives_signal_handler_unblock(mainw->spinbutton_end,mainw->spin_end_func); - - lives_signal_handler_block(mainw->spinbutton_start,mainw->spin_start_func); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->spinbutton_start),1,cfile->frames); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start),cfile->start); - lives_signal_handler_unblock(mainw->spinbutton_start,mainw->spin_start_func); + if (!mainw->faded && cfile->frames > 0) { + lives_signal_handler_block(mainw->spinbutton_end, mainw->spin_end_func); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->spinbutton_end), 1, cfile->frames); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end), cfile->end); + lives_signal_handler_unblock(mainw->spinbutton_end, mainw->spin_end_func); + + lives_signal_handler_block(mainw->spinbutton_start, mainw->spin_start_func); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->spinbutton_start), 1, cfile->frames); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start), cfile->start); + lives_signal_handler_unblock(mainw->spinbutton_start, mainw->spin_start_func); load_start_image(cfile->start); load_end_image(cfile->end); load_frame_image(cfile->frameno); @@ -7288,97 +7181,95 @@ void switch_audio_clip(int new_file, boolean activate) { - - if (prefs->audio_player==AUD_PLAYER_JACK) { + if (prefs->audio_player == AUD_PLAYER_JACK) { #ifdef ENABLE_JACK - if (mainw->jackd!=NULL) { + if (mainw->jackd != NULL) { boolean timeout; - int alarm_handle=lives_alarm_set(LIVES_DEFAULT_TIMEOUT); - if (!activate) mainw->jackd->in_use=FALSE; + int alarm_handle = lives_alarm_set(LIVES_DEFAULT_TIMEOUT); + if (!activate) mainw->jackd->in_use = FALSE; - if (mainw->jackd->playing_file==new_file) return; + if (mainw->jackd->playing_file == new_file) return; - while (!(timeout=lives_alarm_get(alarm_handle))&&jack_get_msgq(mainw->jackd)!=NULL) { + while (!(timeout = lives_alarm_get(alarm_handle)) && jack_get_msgq(mainw->jackd) != NULL) { sched_yield(); // wait for seek } if (timeout) jack_try_reconnect(); lives_alarm_clear(alarm_handle); - if (mainw->jackd->playing_file>0) { - jack_message.command=ASERVER_CMD_FILE_CLOSE; - jack_message.data=NULL; - jack_message.next=NULL; - mainw->jackd->msgq=&jack_message; + if (mainw->jackd->playing_file > 0) { + jack_message.command = ASERVER_CMD_FILE_CLOSE; + jack_message.data = NULL; + jack_message.next = NULL; + mainw->jackd->msgq = &jack_message; lives_alarm_set(LIVES_DEFAULT_TIMEOUT); - while (!(timeout=lives_alarm_get(alarm_handle))&&jack_get_msgq(mainw->jackd)!=NULL) { + while (!(timeout = lives_alarm_get(alarm_handle)) && jack_get_msgq(mainw->jackd) != NULL) { sched_yield(); // wait for seek } if (timeout) jack_try_reconnect(); lives_alarm_clear(alarm_handle); - } - if (new_file<0||mainw->files[new_file]==NULL) { - mainw->jackd->in_use=FALSE; + if (new_file < 0 || mainw->files[new_file] == NULL) { + mainw->jackd->in_use = FALSE; return; } - if (activate) mainw->jackd->in_use=TRUE; + if (activate) mainw->jackd->in_use = TRUE; - if (mainw->files[new_file]->achans>0) { - int asigned=!(mainw->files[new_file]->signed_endian&AFORM_UNSIGNED); - int aendian=!(mainw->files[new_file]->signed_endian&AFORM_BIG_ENDIAN); - mainw->jackd->num_input_channels=mainw->files[new_file]->achans; - mainw->jackd->bytes_per_channel=mainw->files[new_file]->asampsize/8; - if (activate&&(prefs->audio_opts&AUDIO_OPTS_FOLLOW_FPS)) { + if (mainw->files[new_file]->achans > 0) { + int asigned = !(mainw->files[new_file]->signed_endian & AFORM_UNSIGNED); + int aendian = !(mainw->files[new_file]->signed_endian & AFORM_BIG_ENDIAN); + mainw->jackd->num_input_channels = mainw->files[new_file]->achans; + mainw->jackd->bytes_per_channel = mainw->files[new_file]->asampsize / 8; + if (activate && (prefs->audio_opts & AUDIO_OPTS_FOLLOW_FPS)) { if (!mainw->files[new_file]->play_paused) - mainw->jackd->sample_in_rate=mainw->files[new_file]->arate*mainw->files[new_file]->pb_fps/ - mainw->files[new_file]->fps; - else mainw->jackd->sample_in_rate=mainw->files[new_file]->arate*mainw->files[new_file]->freeze_fps/ - mainw->files[new_file]->fps; - } else mainw->jackd->sample_in_rate=mainw->files[new_file]->arate; - mainw->jackd->usigned=!asigned; - mainw->jackd->seek_end=mainw->files[new_file]->afilesize; - - if ((aendian&&(capable->byte_order==LIVES_BIG_ENDIAN))|| - (!aendian&&(capable->byte_order==LIVES_LITTLE_ENDIAN))) - mainw->jackd->reverse_endian=TRUE; - else mainw->jackd->reverse_endian=FALSE; + mainw->jackd->sample_in_rate = mainw->files[new_file]->arate * mainw->files[new_file]->pb_fps / + mainw->files[new_file]->fps; + else mainw->jackd->sample_in_rate = mainw->files[new_file]->arate * mainw->files[new_file]->freeze_fps / + mainw->files[new_file]->fps; + } else mainw->jackd->sample_in_rate = mainw->files[new_file]->arate; + mainw->jackd->usigned = !asigned; + mainw->jackd->seek_end = mainw->files[new_file]->afilesize; + + if ((aendian && (capable->byte_order == LIVES_BIG_ENDIAN)) || + (!aendian && (capable->byte_order == LIVES_LITTLE_ENDIAN))) + mainw->jackd->reverse_endian = TRUE; + else mainw->jackd->reverse_endian = FALSE; - if (mainw->ping_pong) mainw->jackd->loop=AUDIO_LOOP_PINGPONG; - else mainw->jackd->loop=AUDIO_LOOP_FORWARD; + if (mainw->ping_pong) mainw->jackd->loop = AUDIO_LOOP_PINGPONG; + else mainw->jackd->loop = AUDIO_LOOP_FORWARD; // tell jack server to open audio file and start playing it - jack_message.command=ASERVER_CMD_FILE_OPEN; + jack_message.command = ASERVER_CMD_FILE_OPEN; - jack_message.data=lives_strdup_printf("%d",new_file); + jack_message.data = lives_strdup_printf("%d", new_file); - jack_message2.command=ASERVER_CMD_FILE_SEEK; - jack_message.next=&jack_message2; - jack_message2.data=lives_strdup_printf("%"PRId64,mainw->files[new_file]->aseek_pos); - jack_message2.next=NULL; - - mainw->jackd->msgq=&jack_message; - mainw->jackd->in_use=TRUE; - - if (mainw->agen_key==0&&!mainw->agen_needs_reinit) { - if (prefs->audio_opts&AUDIO_OPTS_FOLLOW_FPS) { - mainw->jackd->is_paused=mainw->files[new_file]->play_paused; - mainw->jackd->is_silent=FALSE; + jack_message2.command = ASERVER_CMD_FILE_SEEK; + jack_message.next = &jack_message2; + jack_message2.data = lives_strdup_printf("%"PRId64, mainw->files[new_file]->aseek_pos); + jack_message2.next = NULL; + + mainw->jackd->msgq = &jack_message; + mainw->jackd->in_use = TRUE; + + if (mainw->agen_key == 0 && !mainw->agen_needs_reinit) { + if (prefs->audio_opts & AUDIO_OPTS_FOLLOW_FPS) { + mainw->jackd->is_paused = mainw->files[new_file]->play_paused; + mainw->jackd->is_silent = FALSE; } - mainw->rec_aclip=new_file; - mainw->rec_avel=mainw->files[new_file]->pb_fps/mainw->files[new_file]->fps; - mainw->rec_aseek=(double)mainw->files[new_file]->aseek_pos/ - (double)(mainw->files[new_file]->arate*mainw->files[new_file]->achans*mainw->files[new_file]->asampsize/8); + mainw->rec_aclip = new_file; + mainw->rec_avel = mainw->files[new_file]->pb_fps / mainw->files[new_file]->fps; + mainw->rec_aseek = (double)mainw->files[new_file]->aseek_pos / + (double)(mainw->files[new_file]->arate * mainw->files[new_file]->achans * mainw->files[new_file]->asampsize / 8); } } else { - if (mainw->agen_key==0&&!mainw->agen_needs_reinit) { - mainw->rec_aclip=mainw->current_file; - mainw->rec_avel=0.; - mainw->rec_aseek=0.; + if (mainw->agen_key == 0 && !mainw->agen_needs_reinit) { + mainw->rec_aclip = mainw->current_file; + mainw->rec_avel = 0.; + mainw->rec_aseek = 0.; } } } @@ -7386,99 +7277,99 @@ } // switch audio clip - if (prefs->audio_player==AUD_PLAYER_PULSE) { + if (prefs->audio_player == AUD_PLAYER_PULSE) { #ifdef HAVE_PULSE_AUDIO - if (mainw->pulsed!=NULL) { + if (mainw->pulsed != NULL) { boolean timeout; int alarm_handle; - if (mainw->pulsed->playing_file==new_file) return; + if (mainw->pulsed->playing_file == new_file) return; - alarm_handle=lives_alarm_set(LIVES_DEFAULT_TIMEOUT); + alarm_handle = lives_alarm_set(LIVES_DEFAULT_TIMEOUT); - while (!(timeout=lives_alarm_get(alarm_handle))&&pulse_get_msgq(mainw->pulsed)!=NULL) { + while (!(timeout = lives_alarm_get(alarm_handle)) && pulse_get_msgq(mainw->pulsed) != NULL) { sched_yield(); // wait for seek } if (timeout) pulse_try_reconnect(); lives_alarm_clear(alarm_handle); - if (mainw->pulsed->fd>0) { - pulse_message.command=ASERVER_CMD_FILE_CLOSE; - pulse_message.data=NULL; - pulse_message.next=NULL; - mainw->pulsed->msgq=&pulse_message; + if (mainw->pulsed->fd > 0) { + pulse_message.command = ASERVER_CMD_FILE_CLOSE; + pulse_message.data = NULL; + pulse_message.next = NULL; + mainw->pulsed->msgq = &pulse_message; lives_alarm_set(LIVES_DEFAULT_TIMEOUT); - while (!(timeout=lives_alarm_get(alarm_handle))&&pulse_get_msgq(mainw->pulsed)!=NULL) { + while (!(timeout = lives_alarm_get(alarm_handle)) && pulse_get_msgq(mainw->pulsed) != NULL) { sched_yield(); // wait for seek } if (timeout) pulse_try_reconnect(); lives_alarm_clear(alarm_handle); } - if (new_file<0||mainw->files[new_file]==NULL) { - mainw->pulsed->in_use=FALSE; + if (new_file < 0 || mainw->files[new_file] == NULL) { + mainw->pulsed->in_use = FALSE; return; } - mainw->pulsed->in_use=TRUE; + mainw->pulsed->in_use = TRUE; - if (mainw->files[new_file]->achans>0) { - int asigned=!(mainw->files[new_file]->signed_endian&AFORM_UNSIGNED); - int aendian=!(mainw->files[new_file]->signed_endian&AFORM_BIG_ENDIAN); - mainw->pulsed->in_achans=mainw->files[new_file]->achans; - mainw->pulsed->in_asamps=mainw->files[new_file]->asampsize; - if (activate&&(prefs->audio_opts&AUDIO_OPTS_FOLLOW_FPS)) { + if (mainw->files[new_file]->achans > 0) { + int asigned = !(mainw->files[new_file]->signed_endian & AFORM_UNSIGNED); + int aendian = !(mainw->files[new_file]->signed_endian & AFORM_BIG_ENDIAN); + mainw->pulsed->in_achans = mainw->files[new_file]->achans; + mainw->pulsed->in_asamps = mainw->files[new_file]->asampsize; + if (activate && (prefs->audio_opts & AUDIO_OPTS_FOLLOW_FPS)) { if (!mainw->files[new_file]->play_paused) - mainw->pulsed->in_arate=mainw->files[new_file]->arate*mainw->files[new_file]->pb_fps/ - mainw->files[new_file]->fps; - else mainw->pulsed->in_arate=mainw->files[new_file]->arate*mainw->files[new_file]->freeze_fps/ - mainw->files[new_file]->fps; - } else mainw->pulsed->in_arate=mainw->files[new_file]->arate; - mainw->pulsed->usigned=!asigned; - mainw->pulsed->seek_end=mainw->files[new_file]->afilesize; - if (mainw->files[new_file]->opening) mainw->pulsed->is_opening=TRUE; - else mainw->pulsed->is_opening=FALSE; - - if ((aendian&&(capable->byte_order==LIVES_BIG_ENDIAN))|| - (!aendian&&(capable->byte_order==LIVES_LITTLE_ENDIAN))) - mainw->pulsed->reverse_endian=TRUE; - else mainw->pulsed->reverse_endian=FALSE; + mainw->pulsed->in_arate = mainw->files[new_file]->arate * mainw->files[new_file]->pb_fps / + mainw->files[new_file]->fps; + else mainw->pulsed->in_arate = mainw->files[new_file]->arate * mainw->files[new_file]->freeze_fps / + mainw->files[new_file]->fps; + } else mainw->pulsed->in_arate = mainw->files[new_file]->arate; + mainw->pulsed->usigned = !asigned; + mainw->pulsed->seek_end = mainw->files[new_file]->afilesize; + if (mainw->files[new_file]->opening) mainw->pulsed->is_opening = TRUE; + else mainw->pulsed->is_opening = FALSE; + + if ((aendian && (capable->byte_order == LIVES_BIG_ENDIAN)) || + (!aendian && (capable->byte_order == LIVES_LITTLE_ENDIAN))) + mainw->pulsed->reverse_endian = TRUE; + else mainw->pulsed->reverse_endian = FALSE; - if (mainw->ping_pong) mainw->pulsed->loop=AUDIO_LOOP_PINGPONG; - else mainw->pulsed->loop=AUDIO_LOOP_FORWARD; + if (mainw->ping_pong) mainw->pulsed->loop = AUDIO_LOOP_PINGPONG; + else mainw->pulsed->loop = AUDIO_LOOP_FORWARD; // tell pulse server to open audio file and start playing it - pulse_message.command=ASERVER_CMD_FILE_OPEN; + pulse_message.command = ASERVER_CMD_FILE_OPEN; if (mainw->files[new_file]->opening) { - mainw->pulsed->is_opening=TRUE; + mainw->pulsed->is_opening = TRUE; } - pulse_message.data=lives_strdup_printf("%d",new_file); + pulse_message.data = lives_strdup_printf("%d", new_file); - pulse_message2.command=ASERVER_CMD_FILE_SEEK; - pulse_message.next=&pulse_message2; - pulse_message2.data=lives_strdup_printf("%"PRId64,mainw->files[new_file]->aseek_pos); - pulse_message2.next=NULL; - mainw->pulsed->msgq=&pulse_message; - mainw->pulsed->in_use=TRUE; - - if (mainw->agen_key==0&&!mainw->agen_needs_reinit) { - if (prefs->audio_opts&AUDIO_OPTS_FOLLOW_FPS) { - mainw->pulsed->is_paused=mainw->files[new_file]->play_paused; + pulse_message2.command = ASERVER_CMD_FILE_SEEK; + pulse_message.next = &pulse_message2; + pulse_message2.data = lives_strdup_printf("%"PRId64, mainw->files[new_file]->aseek_pos); + pulse_message2.next = NULL; + mainw->pulsed->msgq = &pulse_message; + mainw->pulsed->in_use = TRUE; + + if (mainw->agen_key == 0 && !mainw->agen_needs_reinit) { + if (prefs->audio_opts & AUDIO_OPTS_FOLLOW_FPS) { + mainw->pulsed->is_paused = mainw->files[new_file]->play_paused; } - mainw->rec_aclip=new_file; - mainw->rec_avel=mainw->files[new_file]->pb_fps/mainw->files[new_file]->fps; - mainw->rec_aseek=(double)mainw->files[new_file]->aseek_pos/ - (double)(mainw->files[new_file]->arate*mainw->files[new_file]->achans*mainw->files[new_file]->asampsize/8); + mainw->rec_aclip = new_file; + mainw->rec_avel = mainw->files[new_file]->pb_fps / mainw->files[new_file]->fps; + mainw->rec_aseek = (double)mainw->files[new_file]->aseek_pos / + (double)(mainw->files[new_file]->arate * mainw->files[new_file]->achans * mainw->files[new_file]->asampsize / 8); } } else { - if (mainw->agen_key==0&&!mainw->agen_needs_reinit) { - mainw->rec_aclip=mainw->current_file; - mainw->rec_avel=0.; - mainw->rec_aseek=0.; + if (mainw->agen_key == 0 && !mainw->agen_needs_reinit) { + mainw->rec_aclip = mainw->current_file; + mainw->rec_avel = 0.; + mainw->rec_aseek = 0.; } } } @@ -7487,252 +7378,247 @@ } - void do_quick_switch(int new_file) { // handle clip switching during playback // calling this function directly is now deprecated in favour of switch_clip() - int ovsize=mainw->pheight; - int ohsize=mainw->pwidth; + int ovsize = mainw->pheight; + int ohsize = mainw->pwidth; boolean osc_block; - if (mainw->current_file<1||mainw->files[new_file]==NULL) return; + if (mainw->current_file < 1 || mainw->files[new_file] == NULL) return; - if (mainw->noswitch||(mainw->record&&!mainw->record_paused&&!(prefs->rec_opts&REC_CLIPS))|| - mainw->foreign||(mainw->preview&&!mainw->is_rendering&&mainw->multitrack==NULL)) return; + if (mainw->noswitch || (mainw->record && !mainw->record_paused && !(prefs->rec_opts & REC_CLIPS)) || + mainw->foreign || (mainw->preview && !mainw->is_rendering && mainw->multitrack == NULL)) return; - if (!mainw->sep_win&&mainw->multitrack==NULL) { + if (!mainw->sep_win && mainw->multitrack == NULL) { lives_widget_show(mainw->playframe); } - if (new_file==mainw->current_file&&(mainw->playing_file==-1||mainw->playing_file==mainw->current_file)) { - if (!((mainw->fs&&prefs->gui_monitor==prefs->play_monitor)||(mainw->faded&&mainw->double_size)|| - mainw->multitrack!=NULL)) { - switch_to_file(mainw->current_file=0, new_file); - if (mainw->play_window!=NULL&&!mainw->double_size&&!mainw->fs&&mainw->current_file!=-1&&cfile!=NULL&& - (ohsize!=cfile->hsize||ovsize!=cfile->vsize)) { + if (new_file == mainw->current_file && (mainw->playing_file == -1 || mainw->playing_file == mainw->current_file)) { + if (!((mainw->fs && prefs->gui_monitor == prefs->play_monitor) || (mainw->faded && mainw->double_size) || + mainw->multitrack != NULL)) { + switch_to_file(mainw->current_file = 0, new_file); + if (mainw->play_window != NULL && !mainw->double_size && !mainw->fs && mainw->current_file != -1 && cfile != NULL && + (ohsize != cfile->hsize || ovsize != cfile->vsize)) { // for single size sepwin, we resize frames to fit the window - mainw->must_resize=TRUE; - mainw->pheight=ovsize; - mainw->pwidth=ohsize; - } else if (mainw->multitrack==NULL) mainw->must_resize=FALSE; + mainw->must_resize = TRUE; + mainw->pheight = ovsize; + mainw->pwidth = ohsize; + } else if (mainw->multitrack == NULL) mainw->must_resize = FALSE; } return; } // reset old info file - if (cfile!=NULL) { + if (cfile != NULL) { char *tmp; - tmp=lives_build_filename(prefs->workdir,cfile->handle,LIVES_STATUS_FILE_NAME,NULL); - lives_snprintf(cfile->info_file,PATH_MAX,"%s",tmp); + tmp = lives_build_filename(prefs->workdir, cfile->handle, LIVES_STATUS_FILE_NAME, NULL); + lives_snprintf(cfile->info_file, PATH_MAX, "%s", tmp); lives_free(tmp); } - osc_block=mainw->osc_block; - mainw->osc_block=TRUE; + osc_block = mainw->osc_block; + mainw->osc_block = TRUE; // switch audio clip - if (is_realtime_aplayer(prefs->audio_player)&&(prefs->audio_opts&AUDIO_OPTS_FOLLOW_CLIPS) - &&!mainw->is_rendering&&(mainw->preview||!(mainw->agen_key!=0||prefs->audio_src==AUDIO_SRC_EXT))) { - switch_audio_clip(new_file,TRUE); + if (is_realtime_aplayer(prefs->audio_player) && (prefs->audio_opts & AUDIO_OPTS_FOLLOW_CLIPS) + && !mainw->is_rendering && (mainw->preview || !(mainw->agen_key != 0 || prefs->audio_src == AUDIO_SRC_EXT))) { + switch_audio_clip(new_file, TRUE); } - mainw->whentostop=NEVER_STOP; + mainw->whentostop = NEVER_STOP; - if (cfile!=NULL&&cfile->clip_type==CLIP_TYPE_GENERATOR&&new_file!=mainw->current_file&& - new_file!=mainw->blend_file&&!mainw->is_rendering) { - if (mainw->files[new_file]->clip_type==CLIP_TYPE_DISK||mainw->files[new_file]->clip_type==CLIP_TYPE_FILE) - mainw->pre_src_file=new_file; + if (cfile != NULL && cfile->clip_type == CLIP_TYPE_GENERATOR && new_file != mainw->current_file && + new_file != mainw->blend_file && !mainw->is_rendering) { + if (mainw->files[new_file]->clip_type == CLIP_TYPE_DISK || mainw->files[new_file]->clip_type == CLIP_TYPE_FILE) + mainw->pre_src_file = new_file; - if (rte_window!=NULL) rtew_set_keych(rte_fg_gen_key(),FALSE); - if (mainw->ce_thumbs) ce_thumbs_set_keych(rte_fg_gen_key(),FALSE); - if (mainw->current_file==mainw->blend_file) mainw->new_blend_file=new_file; + if (rte_window != NULL) rtew_set_keych(rte_fg_gen_key(), FALSE); + if (mainw->ce_thumbs) ce_thumbs_set_keych(rte_fg_gen_key(), FALSE); + if (mainw->current_file == mainw->blend_file) mainw->new_blend_file = new_file; weed_generator_end((weed_plant_t *)cfile->ext_src); - if (mainw->current_file==-1) { - mainw->osc_block=osc_block; + if (mainw->current_file == -1) { + mainw->osc_block = osc_block; return; } } - mainw->switch_during_pb=TRUE; - mainw->clip_switched=TRUE; + mainw->switch_during_pb = TRUE; + mainw->clip_switched = TRUE; - if (mainw->fs||(mainw->faded&&mainw->double_size)||mainw->multitrack!=NULL) { - mainw->current_file=new_file; + if (mainw->fs || (mainw->faded && mainw->double_size) || mainw->multitrack != NULL) { + mainw->current_file = new_file; if (!mainw->sep_win) { - if (mainw->faded&&mainw->double_size) resize(2); - if (cfile->menuentry!=NULL) { + if (mainw->faded && mainw->double_size) resize(2); + if (cfile->menuentry != NULL) { char title[256]; - get_menu_text(cfile->menuentry,title); - set_main_title(title,0); - } else set_main_title(cfile->file_name,0); + get_menu_text(cfile->menuentry, title); + set_main_title(title, 0); + } else set_main_title(cfile->file_name, 0); } } else { // force update of labels, prevent widgets becoming sensitized switch_to_file(mainw->current_file, new_file); } - if (mainw->ce_thumbs&&mainw->active_sa_clips==SCREEN_AREA_FOREGROUND) ce_thumbs_highlight_current_clip(); + if (mainw->ce_thumbs && mainw->active_sa_clips == SCREEN_AREA_FOREGROUND) ce_thumbs_highlight_current_clip(); - mainw->play_start=1; - mainw->play_end=cfile->frames; + mainw->play_start = 1; + mainw->play_end = cfile->frames; - if (mainw->play_window!=NULL) { + if (mainw->play_window != NULL) { play_window_set_title(); - if (mainw->double_size&&!mainw->fs&&(ohsize!=cfile->hsize||ovsize!=cfile->vsize)) { + if (mainw->double_size && !mainw->fs && (ohsize != cfile->hsize || ovsize != cfile->vsize)) { // for single size sepwin, we resize frames to fit the window - mainw->must_resize=TRUE; - mainw->pheight=ovsize; - mainw->pwidth=ohsize; + mainw->must_resize = TRUE; + mainw->pheight = ovsize; + mainw->pwidth = ohsize; } - } else if (mainw->multitrack==NULL) mainw->must_resize=FALSE; + } else if (mainw->multitrack == NULL) mainw->must_resize = FALSE; - if ((cfile->clip_type!=CLIP_TYPE_DISK&&cfile->clip_type!=CLIP_TYPE_FILE)||(mainw->event_list!=NULL&&!mainw->record)) - mainw->play_end=INT_MAX; + if ((cfile->clip_type != CLIP_TYPE_DISK && cfile->clip_type != CLIP_TYPE_FILE) || (mainw->event_list != NULL && !mainw->record)) + mainw->play_end = INT_MAX; // act like we are not playing a selection (but we will try to keep to // selection bounds) - mainw->playing_sel=FALSE; + mainw->playing_sel = FALSE; - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps),cfile->pb_fps); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps), cfile->pb_fps); changed_fps_during_pb(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps), NULL); - if (!cfile->frameno&&cfile->frames) cfile->frameno=1; - cfile->last_frameno=cfile->frameno; + if (!cfile->frameno && cfile->frames) cfile->frameno = 1; + cfile->last_frameno = cfile->frameno; - mainw->playing_file=new_file; + mainw->playing_file = new_file; - cfile->next_event=NULL; - mainw->deltaticks=0; - mainw->startticks=mainw->currticks; + cfile->next_event = NULL; + mainw->deltaticks = 0; + mainw->startticks = mainw->currticks; // force loading of a frame from the new clip - if (!mainw->noswitch&&(cfile->clip_type==CLIP_TYPE_DISK||cfile->clip_type==CLIP_TYPE_FILE)) { - weed_plant_t *frame_layer=mainw->frame_layer; - mainw->frame_layer=NULL; + if (!mainw->noswitch && (cfile->clip_type == CLIP_TYPE_DISK || cfile->clip_type == CLIP_TYPE_FILE)) { + weed_plant_t *frame_layer = mainw->frame_layer; + mainw->frame_layer = NULL; load_frame_image(cfile->frameno); - mainw->frame_layer=frame_layer; + mainw->frame_layer = frame_layer; } - if (mainw->play_window!=NULL&&prefs->show_playwin) { + if (mainw->play_window != NULL && prefs->show_playwin) { lives_window_present(LIVES_WINDOW(mainw->play_window)); lives_xwindow_raise(lives_widget_get_xwindow(mainw->play_window)); } - mainw->switch_during_pb=FALSE; - mainw->osc_block=osc_block; + mainw->switch_during_pb = FALSE; + mainw->osc_block = osc_block; } - - - void resize(double scale) { // resize the frame widgets // set scale<0. to _force_ the playback frame to expand (for external capture) LiVESPixbuf *sepbuf; - double oscale=scale; + double oscale = scale; int xsize; - int bx,by; + int bx, by; - int hspace=((sepbuf=lives_image_get_pixbuf(LIVES_IMAGE(mainw->sep_image)))!=NULL)?lives_pixbuf_get_height(sepbuf):0; + int hspace = ((sepbuf = lives_image_get_pixbuf(LIVES_IMAGE(mainw->sep_image))) != NULL) ? lives_pixbuf_get_height(sepbuf) : 0; // maximum values - int hsize,vsize; - int w,h,scr_width,scr_height; + int hsize, vsize; + int w, h, scr_width, scr_height; - if (!prefs->show_gui||mainw->multitrack!=NULL) return; - get_border_size(mainw->LiVES,&bx,&by); + if (!prefs->show_gui || mainw->multitrack != NULL) return; + get_border_size(mainw->LiVES, &bx, &by); - if (prefs->gui_monitor==0) { - scr_width=mainw->scr_width; - scr_height=mainw->scr_height; + if (prefs->gui_monitor == 0) { + scr_width = mainw->scr_width; + scr_height = mainw->scr_height; } else { - scr_width=mainw->mgeom[prefs->gui_monitor-1].width; - scr_height=mainw->mgeom[prefs->gui_monitor-1].height; + scr_width = mainw->mgeom[prefs->gui_monitor - 1].width; + scr_height = mainw->mgeom[prefs->gui_monitor - 1].height; } - hsize=(scr_width-(V_RESIZE_ADJUST*2+bx))/3; // yes this is correct (V_RESIZE_ADJUST) - vsize=(scr_height-(CE_FRAME_HSPACE+hspace+by)); + hsize = (scr_width - (V_RESIZE_ADJUST * 2 + bx)) / 3; // yes this is correct (V_RESIZE_ADJUST) + vsize = (scr_height - (CE_FRAME_HSPACE + hspace + by)); - if (scale<0.) { + if (scale < 0.) { // foreign capture - scale=-scale; - hsize=(scr_width-H_RESIZE_ADJUST-bx)/scale; - vsize=(scr_height-V_RESIZE_ADJUST-by)/scale; + scale = -scale; + hsize = (scr_width - H_RESIZE_ADJUST - bx) / scale; + vsize = (scr_height - V_RESIZE_ADJUST - by) / scale; } - if (mainw->current_file==-1||cfile==NULL||cfile->hsize==0) { - hsize=mainw->def_width-H_RESIZE_ADJUST; + if (mainw->current_file == -1 || cfile == NULL || cfile->hsize == 0) { + hsize = mainw->def_width - H_RESIZE_ADJUST; } else { - if (cfile->hsize<hsize) { - hsize=cfile->hsize; + if (cfile->hsize < hsize) { + hsize = cfile->hsize; } } - if (mainw->current_file==-1||cfile==NULL||cfile->vsize==0) { - vsize=mainw->def_height-V_RESIZE_ADJUST; + if (mainw->current_file == -1 || cfile == NULL || cfile->vsize == 0) { + vsize = mainw->def_height - V_RESIZE_ADJUST; } else { - if (cfile->hsize>0&&(cfile->vsize*hsize/cfile->hsize<vsize)) { - vsize=cfile->vsize*hsize/cfile->hsize; + if (cfile->hsize > 0 && (cfile->vsize * hsize / cfile->hsize < vsize)) { + vsize = cfile->vsize * hsize / cfile->hsize; } } - mainw->ce_frame_width=hsize; - mainw->ce_frame_height=vsize; + mainw->ce_frame_width = hsize; + mainw->ce_frame_height = vsize; //if (!mainw->is_ready) return; - lives_widget_set_size_request(mainw->playframe, (int)hsize*scale+H_RESIZE_ADJUST, (int)vsize*scale+V_RESIZE_ADJUST); + lives_widget_set_size_request(mainw->playframe, (int)hsize * scale + H_RESIZE_ADJUST, (int)vsize * scale + V_RESIZE_ADJUST); - if (oscale==2.) { - if (hsize*4<scr_width-70) { - scale=1.; + if (oscale == 2.) { + if (hsize * 4 < scr_width - 70) { + scale = 1.; } } - if (oscale>0.) { - mainw->ce_frame_width=(int)hsize/scale+H_RESIZE_ADJUST; - mainw->ce_frame_height=vsize/scale+V_RESIZE_ADJUST; + if (oscale > 0.) { + mainw->ce_frame_width = (int)hsize / scale + H_RESIZE_ADJUST; + mainw->ce_frame_height = vsize / scale + V_RESIZE_ADJUST; - if (mainw->current_file>-1&&cfile!=NULL) { - if (cfile->clip_type==CLIP_TYPE_YUV4MPEG||cfile->clip_type==CLIP_TYPE_VIDEODEV) { - if (mainw->camframe==NULL) { - LiVESError *error=NULL; - char *tmp=lives_build_filename(prefs->prefix_dir,THEME_DIR,"camera","frame.jpg",NULL); - mainw->camframe=lives_pixbuf_new_from_file(tmp,&error); - if (mainw->camframe!=NULL) lives_pixbuf_saturate_and_pixelate(mainw->camframe,mainw->camframe,0.0,FALSE); + if (mainw->current_file > -1 && cfile != NULL) { + if (cfile->clip_type == CLIP_TYPE_YUV4MPEG || cfile->clip_type == CLIP_TYPE_VIDEODEV) { + if (mainw->camframe == NULL) { + LiVESError *error = NULL; + char *tmp = lives_build_filename(prefs->prefix_dir, THEME_DIR, "camera", "frame.jpg", NULL); + mainw->camframe = lives_pixbuf_new_from_file(tmp, &error); + if (mainw->camframe != NULL) lives_pixbuf_saturate_and_pixelate(mainw->camframe, mainw->camframe, 0.0, FALSE); lives_free(tmp); } - if (mainw->camframe==NULL) { - hsize=mainw->def_width-H_RESIZE_ADJUST; - vsize=mainw->def_height-V_RESIZE_ADJUST; + if (mainw->camframe == NULL) { + hsize = mainw->def_width - H_RESIZE_ADJUST; + vsize = mainw->def_height - V_RESIZE_ADJUST; } else { - hsize=lives_pixbuf_get_width(mainw->camframe); - vsize=lives_pixbuf_get_height(mainw->camframe); + hsize = lives_pixbuf_get_width(mainw->camframe); + vsize = lives_pixbuf_get_height(mainw->camframe); } } } - lives_widget_set_size_request(mainw->frame1, (int)hsize/scale+H_RESIZE_ADJUST, vsize/scale+V_RESIZE_ADJUST); - lives_widget_set_size_request(mainw->eventbox3, (int)hsize/scale+H_RESIZE_ADJUST, vsize+V_RESIZE_ADJUST); - lives_widget_set_size_request(mainw->frame2, (int)hsize/scale+H_RESIZE_ADJUST, vsize/scale+V_RESIZE_ADJUST); - lives_widget_set_size_request(mainw->eventbox4, (int)hsize/scale+H_RESIZE_ADJUST, vsize+V_RESIZE_ADJUST); - + lives_widget_set_size_request(mainw->frame1, (int)hsize / scale + H_RESIZE_ADJUST, vsize / scale + V_RESIZE_ADJUST); + lives_widget_set_size_request(mainw->eventbox3, (int)hsize / scale + H_RESIZE_ADJUST, vsize + V_RESIZE_ADJUST); + lives_widget_set_size_request(mainw->frame2, (int)hsize / scale + H_RESIZE_ADJUST, vsize / scale + V_RESIZE_ADJUST); + lives_widget_set_size_request(mainw->eventbox4, (int)hsize / scale + H_RESIZE_ADJUST, vsize + V_RESIZE_ADJUST); } else { - xsize=(scr_width-hsize*-oscale-H_RESIZE_ADJUST)/2; - if (xsize>0) { - lives_widget_set_size_request(mainw->frame1, xsize/scale, vsize+V_RESIZE_ADJUST); - lives_widget_set_size_request(mainw->eventbox3, xsize/scale, vsize+V_RESIZE_ADJUST); - lives_widget_set_size_request(mainw->frame2, xsize/scale, vsize+V_RESIZE_ADJUST); - lives_widget_set_size_request(mainw->eventbox4, xsize/scale, vsize+V_RESIZE_ADJUST); - mainw->ce_frame_width=xsize/scale; - mainw->ce_frame_height=vsize+V_RESIZE_ADJUST; + xsize = (scr_width - hsize * -oscale - H_RESIZE_ADJUST) / 2; + if (xsize > 0) { + lives_widget_set_size_request(mainw->frame1, xsize / scale, vsize + V_RESIZE_ADJUST); + lives_widget_set_size_request(mainw->eventbox3, xsize / scale, vsize + V_RESIZE_ADJUST); + lives_widget_set_size_request(mainw->frame2, xsize / scale, vsize + V_RESIZE_ADJUST); + lives_widget_set_size_request(mainw->eventbox4, xsize / scale, vsize + V_RESIZE_ADJUST); + mainw->ce_frame_width = xsize / scale; + mainw->ce_frame_height = vsize + V_RESIZE_ADJUST; } else { // this is for foreign capture lives_widget_hide(mainw->frame1); @@ -7743,26 +7629,22 @@ } } - w=lives_widget_get_allocation_width(mainw->LiVES); - h=lives_widget_get_allocation_height(mainw->LiVES); + w = lives_widget_get_allocation_width(mainw->LiVES); + h = lives_widget_get_allocation_height(mainw->LiVES); - if (prefs->open_maximised||w>scr_width-bx||h>scr_height-by) { - lives_window_resize(LIVES_WINDOW(mainw->LiVES),scr_width-bx,scr_height-by); + if (prefs->open_maximised || w > scr_width - bx || h > scr_height - by) { + lives_window_resize(LIVES_WINDOW(mainw->LiVES), scr_width - bx, scr_height - by); lives_window_maximize(LIVES_WINDOW(mainw->LiVES)); lives_widget_queue_resize(mainw->LiVES); } - if (!mainw->foreign&&mainw->playing_file==-1&&mainw->current_file>0&&cfile!=NULL&&(!cfile->opening||cfile->clip_type==CLIP_TYPE_FILE)) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start),cfile->start); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end),cfile->end); + if (!mainw->foreign && mainw->playing_file == -1 && mainw->current_file > 0 && cfile != NULL && (!cfile->opening || + cfile->clip_type == CLIP_TYPE_FILE)) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start), cfile->start); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end), cfile->end); load_start_image(cfile->start); load_end_image(cfile->end); } - } - - - -
View file
LiVES-2.8.4.tar.bz2/src/main.h -> LiVES-2.8.6.tar.bz2/src/main.h
Changed
@@ -74,7 +74,7 @@ #include <gtk/gtk.h> #include <gdk/gdkkeysyms.h> -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) #ifdef ENABLE_GIW #define ENABLE_GIW_3 #endif @@ -82,6 +82,16 @@ #endif +#ifdef HAVE_WAYLAND +#include <gdk/gdkwayland.h> +#endif + +#ifdef GDK_WINDOWING_WAYLAND +#ifndef GDK_IS_WAYLAND_DISPLAY +#define GDK_IS_WAYLAND_DISPLAY(a) FALSE +#endif +#endif + #ifdef IS_MINGW #ifndef WINVER @@ -104,7 +114,6 @@ #endif #endif - #else // IS_MINGW #ifdef GUI_GTK @@ -114,18 +123,14 @@ #else #include <sys/types.h> #include <unistd.h> + #endif // GUI_GTK typedef pid_t lives_pid_t; typedef int lives_pgid_t; - #endif // IS_MINGW - - - - #include <sys/stat.h> #include <stdlib.h> #include <stdio.h> @@ -145,15 +150,12 @@ #include <stdint.h> #include <stdarg.h> - #ifndef ulong #define ulong unsigned long #endif - #define QUOTEME(x) #x - /// max files is actually 1 more than this, since file 0 is the clipboard #define MAX_FILES 65535 @@ -173,8 +175,6 @@ #define PREFIX PREFIX_DEFAULT #endif - - #ifndef IS_MINGW #define LIVES_DIR_SEP "/" #define LIVES_STATUS_FILE_NAME ".status" @@ -321,7 +321,6 @@ uint16_t alpha; } lives_colRGBA64_t; - #include "widget-helper.h" typedef void *(*fn_ptr)(void *ptr); @@ -352,16 +351,12 @@ boolean is_ready; } xprocess; - - - typedef struct { int afile; double seek; double vel; } lives_audio_track_state_t; - #if HAVE_SYSTEM_WEED #include <weed/weed.h> #include <weed/weed-events.h> @@ -381,7 +376,7 @@ #endif typedef enum { - UNDO_NONE=0, + UNDO_NONE = 0, UNDO_EFFECT, UNDO_RESIZABLE, UNDO_MERGE, @@ -411,19 +406,17 @@ UNDO_INSERT_WITH_AUDIO } lives_undo_t; - /// which stream end should cause playback to finish ? typedef enum { - NEVER_STOP=0, + NEVER_STOP = 0, STOP_ON_VID_END, STOP_ON_AUD_END } lives_whentostop_t; - /// cancel reason typedef enum { /// no cancel - CANCEL_NONE=FALSE, + CANCEL_NONE = FALSE, /// user pressed stop CANCEL_USER, @@ -465,19 +458,14 @@ CANCEL_USER_PAUSED, /// special cancel for TV toy - CANCEL_KEEP_LOOPING=CANCEL_NONE+100 - + CANCEL_KEEP_LOOPING = CANCEL_NONE + 100 } lives_cancel_t; - typedef enum { - CANCEL_KILL=0, ///< normal - kill background processes working on current clip + CANCEL_KILL = 0, ///< normal - kill background processes working on current clip CANCEL_SOFT ///< just cancel in GUI (for keep, etc) } lives_cancel_type_t; - - - typedef enum { CLIP_TYPE_DISK, ///< imported video, broken into frames CLIP_TYPE_YUV4MPEG, ///< yuv4mpeg stream @@ -487,16 +475,14 @@ CLIP_TYPE_VIDEODEV ///< frames from video device } lives_clip_type_t; - typedef enum { - IMG_TYPE_UNKNOWN=0, + IMG_TYPE_UNKNOWN = 0, IMG_TYPE_JPEG, IMG_TYPE_PNG } lives_image_type_t; #define IMG_TYPE_BEST IMG_TYPE_PNG - #define AFORM_SIGNED 0 #define AFORM_LITTLE_ENDIAN 0 @@ -504,14 +490,12 @@ #define AFORM_BIG_ENDIAN (1<<1) #define AFORM_UNKNOWN 65536 - typedef enum { - LIVES_INTERLACE_NONE=0, - LIVES_INTERLACE_BOTTOM_FIRST=1, - LIVES_INTERLACE_TOP_FIRST=2 + LIVES_INTERLACE_NONE = 0, + LIVES_INTERLACE_BOTTOM_FIRST = 1, + LIVES_INTERLACE_TOP_FIRST = 2 } lives_interlace_t; - #include "pangotext.h" #define WEED_LEAF_HOST_DEINTERLACE "host_deinterlace" // frame needs deinterlacing @@ -610,12 +594,9 @@ int frameno; int last_frameno; - - ///////////////////////////////////////////////////////////// // see resample.c for new events system - // events event *events[1]; ///<for block resampler @@ -680,7 +661,6 @@ char mime_type[256]; - boolean deinterlace; ///< auto deinterlace lives_image_type_t img_type; @@ -710,8 +690,6 @@ boolean needs_update; ///< loaded values were incorrect, update header } lives_clip_t; - - typedef struct { // the following can be assumed TRUE, they are checked on startup boolean has_smogrify; @@ -769,7 +747,6 @@ short cpu_bits; - char *myname_full; char *myname; @@ -784,10 +761,8 @@ pid_t mainpid; mode_t umask; - } capability; - /// some shared structures extern capability *capable; @@ -823,7 +798,6 @@ # define PRIu64 __PRI64_PREFIX "u" #endif // ifndef PRI64d - // common defs for mainwindow (retain this order) #include "plugins.h" #include "colourspace.h" @@ -835,17 +809,13 @@ extern mainwindow *mainw; - // internal player clock #include <sys/time.h> struct timeval tv; - /// type sizes extern ssize_t sizint, sizdbl, sizshrt; - - typedef enum { CLIP_DETAILS_BPP, CLIP_DETAILS_FPS, @@ -872,10 +842,8 @@ CLIP_DETAILS_DECODER_NAME } lives_clip_details_t; - // some useful functions - // dialogs.c boolean do_progress_dialog(boolean visible, boolean cancellable, const char *text); boolean do_warning_dialog(const char *text); @@ -897,9 +865,8 @@ int do_info_dialog_with_transient(const char *text, boolean is_blocking, LiVESWindow *transient); LiVESWidget *create_message_dialog(lives_dialog_t diat, const char *text, LiVESWindow *transient, int warn_mask_number, boolean is_blocking); - LiVESWidget *create_question_dialog(const char *title, const char *text, LiVESWindow *parent); - +LiVESWindow *get_transient_full(); void do_system_failed_error(const char *com, int retval, const char *addinfo); int do_write_failed_error_s_with_retry(const char *fname, const char *errtext, LiVESWindow *transient) WARN_UNUSED; void do_write_failed_error_s(const char *filename, const char *addinfo); @@ -1015,7 +982,6 @@ void do_splash_progress(void); - // d_print shortcuts void d_print_cancelled(void); void d_print_failed(void); @@ -1029,7 +995,7 @@ boolean read_file_details(const char *file_name, boolean only_check_for_audio); boolean add_file_info(const char *check_handle, boolean aud_only); boolean save_file_comments(int fileno); -boolean reload_clip(int fileno,int maxframe); +boolean reload_clip(int fileno, int maxframe); void wait_for_bg_audio_sync(lives_clip_t *sfile); void reget_afilesize(int fileno); ulong deduce_file(const char *filename, double start_time, int end); @@ -1064,7 +1030,6 @@ // saveplay.c sets void open_set_file(const char *set_name, int clipnum); - // saveplay.c scrap file boolean open_scrap_file(void); boolean open_ascrap_file(void); @@ -1076,7 +1041,6 @@ boolean check_for_disk_space(void); - // main.c typedef void (*SignalHandlerPointer)(int); @@ -1153,17 +1117,13 @@ void splash_msg(const char *msg, double pct); void add_message_scroller(LiVESWidget *conter); void resize_widgets_for_monitor(boolean get_play_times); -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) void calibrate_sepwin_size(void); boolean expose_pim(LiVESWidget *widget, lives_painter_t *cr, livespointer user_data); boolean expose_sim(LiVESWidget *widget, lives_painter_t *cr, livespointer user_data); boolean expose_eim(LiVESWidget *widget, lives_painter_t *cr, livespointer user_data); #endif - - - - // system calls in utils.c int lives_system(const char *com, boolean allow_error); lives_pid_t lives_fork(const char *com); @@ -1216,7 +1176,6 @@ int lives_echo(const char *text, const char *to, boolean append); int lives_ln(const char *from, const char *to); - int lives_utf8_strcasecmp(const char *s1, const char *s2); char *filename_from_fd(char *val, int fd); @@ -1232,7 +1191,7 @@ void lives_alarm_clear(int alarm_handle); lives_storage_status_t get_storage_status(const char *dir, uint64_t warn_level, uint64_t *dsval); char *lives_format_storage_space_string(uint64_t space); - +char *lives_datetime(struct timeval *tv); int myround(double n); void get_dirname(char *filename); @@ -1333,7 +1292,7 @@ void find_when_to_stop(void); int calc_new_playback_position(int fileno, uint64_t otc, uint64_t *ntc); void calc_aframeno(int fileno); -void minimise_aspect_delta(double allowed_aspect,int hblock,int vblock,int hsize,int vsize,int *width,int *height); +void minimise_aspect_delta(double allowed_aspect, int hblock, int vblock, int hsize, int vsize, int *width, int *height); LiVESInterpType get_interp_value(short quality); LiVESList *lives_list_move_to_first(LiVESList *list, LiVESList *item) WARN_UNUSED; @@ -1360,11 +1319,9 @@ //callbacks.c - // paramspecial.c LiVESPixbuf *mt_framedraw(lives_mt *, LiVESPixbuf *); - // effects-weed.c livespointer _lives_malloc(size_t size) GNU_MALLOC; livespointer lives_memcpy(livespointer dest, livesconstpointer src, size_t n); @@ -1373,7 +1330,6 @@ livespointer lives_calloc(size_t n_blocks, size_t n_block_bytes); livespointer _lives_realloc(livespointer ptr, size_t new_size); - // pangotext.c boolean subtitles_init(lives_clip_t *sfile, char *fname, lives_subtitle_type_t); void subtitles_free(lives_clip_t *sfile); @@ -1392,9 +1348,8 @@ #define LIVES_TV_CHANNEL1 "http://www.serverwillprovide.com/sorteal/livestvclips/livestv.ogm" - // round (double) a up to next (integer) multiple of (double) b -#define CEIL(a,b) ((int)(((double)a+(double)b-.000000001)/((double)b))*b) +#define CEIL(a, b) ((int)(((double)a + (double)b - .000000001) / ((double)b)) * b) #ifdef NEED_ENDIAN_TEST #undef NEED_ENDIAN_TEST @@ -1402,7 +1357,6 @@ #define IS_BIG_ENDIAN (((char *)&testint)[0] == 0x12) #endif - char *dummychar; void break_me(void); @@ -1448,6 +1402,5 @@ #endif // LIVES_NO_FATAL #endif // LIVES_FATAL - #endif // #ifndef HAS_LIVES_MAIN_H
View file
LiVES-2.8.4.tar.bz2/src/mainwindow.h -> LiVES-2.8.6.tar.bz2/src/mainwindow.h
Changed
@@ -55,7 +55,7 @@ #define V_RESIZE_ADJUST ((W_PACKING_WIDTH+2)*3) #define H_RESIZE_ADJUST ((W_PACKING_HEIGHT+2)*2) -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) #define CE_FRAME_HSPACE ((int)(320.*widget_opts.scale)) #else #define CE_FRAME_HSPACE ((int)(420.*widget_opts.scale)) @@ -124,7 +124,7 @@ #define MAX_MSG_WIDTH_CHARS ((int)(100.*widget_opts.scale)) ///< max width of text on warning/error labels /// size of the fx dialog windows scrollwindow -#define RFX_WINSIZE_H ((int)(mainw->scr_width>=1024?(820.*widget_opts.scale):640)) +#define RFX_WINSIZE_H ((int)(mainw->scr_width >= 1024 ? (820.*widget_opts.scale) : 640)) #define RFX_WINSIZE_V ((int)(480.*widget_opts.scale)) #define DEF_BUTTON_WIDTH ((int)(80.*widget_opts.scale)) @@ -132,6 +132,7 @@ #define DEF_DIALOG_WIDTH RFX_WINSIZE_H #define DEF_DIALOG_HEIGHT RFX_WINSIZE_V +#define LIVES_MAIN_WINDOW_WIDGET (mainw->multitrack == NULL ? mainw->LiVES : mainw->multitrack->window) //////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -160,15 +161,15 @@ /// external control types typedef enum { - EXT_CNTL_NONE=-1, ///< not used - EXT_CNTL_JS=0, - EXT_CNTL_MIDI=1 + EXT_CNTL_NONE = -1, ///< not used + EXT_CNTL_JS = 0, + EXT_CNTL_MIDI = 1 } lives_ext_cntl_t; /// timebase sources typedef enum { - LIVES_TIME_SOURCE_NONE=0, + LIVES_TIME_SOURCE_NONE = 0, LIVES_TIME_SOURCE_SYSTEM, LIVES_TIME_SOURCE_SOUNDCARD, LIVES_TIME_SOURCE_EXTERNAL @@ -177,7 +178,7 @@ typedef enum { - LIVES_TOY_NONE=0, + LIVES_TOY_NONE = 0, LIVES_TOY_MAD_FRAMES, LIVES_TOY_TV, LIVES_TOY_AUTOLIVES @@ -197,7 +198,7 @@ /// various return conditions from rendering (multitrack or after recording) typedef enum { - LIVES_RENDER_ERROR_NONE=0, + LIVES_RENDER_ERROR_NONE = 0, LIVES_RENDER_READY, LIVES_RENDER_PROCESSING, LIVES_RENDER_EFFECTS_PAUSED, @@ -213,7 +214,7 @@ /// disk/storage status values typedef enum { - LIVES_STORAGE_STATUS_UNKNOWN=0, + LIVES_STORAGE_STATUS_UNKNOWN = 0, LIVES_STORAGE_STATUS_NORMAL, LIVES_STORAGE_STATUS_WARNING, LIVES_STORAGE_STATUS_CRITICAL, @@ -226,7 +227,7 @@ #define DVD_AUDIO_CHAN_MAX 159 enum { - LIVES_DEVICE_CD=0, + LIVES_DEVICE_CD = 0, LIVES_DEVICE_DVD, // 1 LIVES_DEVICE_VCD, // 2 LIVES_DEVICE_INTERNAL, // 2 @@ -309,8 +310,6 @@ lives_colRGBA64_t ce_sel; lives_colRGBA64_t ce_unsel; - - } _palette; /// screen details @@ -326,7 +325,7 @@ /// constant strings enum { - LIVES_STRING_CONSTANT_ANY=0, + LIVES_STRING_CONSTANT_ANY = 0, LIVES_STRING_CONSTANT_NONE, LIVES_STRING_CONSTANT_RECOMMENDED, LIVES_STRING_CONSTANT_DISABLED, @@ -367,8 +366,9 @@ // filters -#define LIVES_SUBS_FILTER {"*.srt","*.sub",NULL} -#define LIVES_AUDIO_LOAD_FILTER {"*.it","*.mp3","*.wav","*.ogg","*.mod","*.xm","*.wma","*.flac",NULL} +#define LIVES_SUBS_FILTER {"*.srt", "*.sub", NULL} +#define LIVES_AUDIO_LOAD_FILTER {"*.it", "*.mp3", "*.wav", "*.ogg", "*.mod", "*.xm", "*.wma", "*.flac", NULL} +#define LIVES_TV_CARD_TYPES {"v4l2", "v4l", "bsdbt848", "dummy", "*autodetect", "yv12", "*", "rgb32", "rgb24", "rgb16", "rgb15", "uyvy", "yuy2", "i2420", NULL} typedef struct { @@ -396,7 +396,7 @@ // files int current_file; int first_free_file; - lives_clip_t *files[MAX_FILES+1]; ///< +1 for the clipboard + lives_clip_t *files[MAX_FILES + 1]; ///< +1 for the clipboard char vid_load_dir[PATH_MAX]; char vid_save_dir[PATH_MAX]; char vid_dl_dir[PATH_MAX]; @@ -498,7 +498,7 @@ #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) Window foreign_id; #else GdkNativeWindow foreign_id; @@ -730,7 +730,7 @@ boolean hrule_blocked; /// stored clips - int clipstore[FN_KEYS-1]; + int clipstore[FN_KEYS - 1]; /// key function for autorepeat ctrl-arrows uint32_t ksnoop; @@ -1327,9 +1327,7 @@ char sepimg_path[PATH_MAX]; uint64_t aud_data_written; - //////////////////// - } mainwindow; extern _palette *palette; @@ -1349,7 +1347,6 @@ int *list_to_rfx_index; LiVESList *trans_list; - } _merge_opts; extern _merge_opts *merge_opts;
View file
LiVES-2.8.4.tar.bz2/src/merge.c -> LiVES-2.8.6.tar.bz2/src/merge.c
Changed
@@ -44,31 +44,31 @@ char *txt; - int idx=0; + int idx = 0; - int scrw,scrh,width,height; + int scrw, scrh, width, height; - int cb_frames=clipboard->frames; - int defstart=0; + int cb_frames = clipboard->frames; + int defstart = 0; register int i; - merge_opts=(_merge_opts *)(lives_malloc(sizeof(_merge_opts))); - merge_opts->list_to_rfx_index=(int *)lives_malloc(sizint*(mainw->num_rendered_effects_builtin+ - mainw->num_rendered_effects_custom+ - mainw->num_rendered_effects_test)); - merge_opts->trans_list=NULL; - - merge_opts->spinbutton_loops=NULL; - - for (i=0; i<mainw->num_rendered_effects_builtin+mainw->num_rendered_effects_custom+mainw->num_rendered_effects_test; i++) { - if ((rfx=&mainw->rendered_fx[i])->num_in_channels==2) { - if (i==mainw->last_transition_idx) defstart=idx; - merge_opts->list_to_rfx_index[idx++]=i; - if (rfx->status==RFX_STATUS_CUSTOM) { - merge_opts->trans_list = lives_list_append(merge_opts->trans_list,lives_strconcat(_(rfx->menu_text)," (custom)",NULL)); - } else if (rfx->status==RFX_STATUS_TEST) { - merge_opts->trans_list = lives_list_append(merge_opts->trans_list,lives_strconcat(_(rfx->menu_text)," (test)",NULL)); + merge_opts = (_merge_opts *)(lives_malloc(sizeof(_merge_opts))); + merge_opts->list_to_rfx_index = (int *)lives_malloc(sizint * (mainw->num_rendered_effects_builtin + + mainw->num_rendered_effects_custom + + mainw->num_rendered_effects_test)); + merge_opts->trans_list = NULL; + + merge_opts->spinbutton_loops = NULL; + + for (i = 0; i < mainw->num_rendered_effects_builtin + mainw->num_rendered_effects_custom + mainw->num_rendered_effects_test; i++) { + if ((rfx = &mainw->rendered_fx[i])->num_in_channels == 2) { + if (i == mainw->last_transition_idx) defstart = idx; + merge_opts->list_to_rfx_index[idx++] = i; + if (rfx->status == RFX_STATUS_CUSTOM) { + merge_opts->trans_list = lives_list_append(merge_opts->trans_list, lives_strconcat(_(rfx->menu_text), " (custom)", NULL)); + } else if (rfx->status == RFX_STATUS_TEST) { + merge_opts->trans_list = lives_list_append(merge_opts->trans_list, lives_strconcat(_(rfx->menu_text), " (test)", NULL)); } else { merge_opts->trans_list = lives_list_append(merge_opts->trans_list, lives_strdup(_(rfx->menu_text))); } @@ -82,25 +82,25 @@ return; } - if (prefs->gui_monitor!=0) { - scrw=mainw->mgeom[prefs->gui_monitor-1].width; - scrh=mainw->mgeom[prefs->gui_monitor-1].height; + if (prefs->gui_monitor != 0) { + scrw = mainw->mgeom[prefs->gui_monitor - 1].width; + scrh = mainw->mgeom[prefs->gui_monitor - 1].height; } else { - scrw=mainw->scr_width; - scrh=mainw->scr_height; + scrw = mainw->scr_width; + scrh = mainw->scr_height; } - height=scrh-SCR_HEIGHT_SAFETY; - width=scrw-SCR_WIDTH_SAFETY; + height = scrh - SCR_HEIGHT_SAFETY; + width = scrw - SCR_WIDTH_SAFETY; - merge_opts->merge_dialog = lives_standard_dialog_new(_("Merge"),FALSE,width,height); - lives_signal_handlers_disconnect_by_func(merge_opts->merge_dialog,return_true,NULL); + merge_opts->merge_dialog = lives_standard_dialog_new(_("Merge"), FALSE, width, height); + lives_signal_handlers_disconnect_by_func(merge_opts->merge_dialog, return_true, NULL); accel_group = LIVES_ACCEL_GROUP(lives_accel_group_new()); lives_window_add_accel_group(LIVES_WINDOW(merge_opts->merge_dialog), accel_group); if (prefs->show_gui) { - lives_window_set_transient_for(LIVES_WINDOW(merge_opts->merge_dialog),LIVES_WINDOW(mainw->LiVES)); + lives_window_set_transient_for(LIVES_WINDOW(merge_opts->merge_dialog), LIVES_WINDOW(mainw->LiVES)); } dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(merge_opts->merge_dialog)); @@ -109,15 +109,16 @@ lives_box_pack_start(LIVES_BOX(dialog_vbox), vbox, TRUE, TRUE, 0); hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height*2); + lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height * 2); - txt=lives_strdup_printf(_("Merge Clipboard [ %d Frames ] With Selection [ %d Frames ]"),clipboard->frames,cfile->end-cfile->start+1); - if (prefs->ins_resample&&clipboard->fps!=cfile->fps) { - cb_frames=count_resampled_frames(clipboard->frames,clipboard->fps,cfile->fps); - if (!(cb_frames==clipboard->frames)) { + txt = lives_strdup_printf(_("Merge Clipboard [ %d Frames ] With Selection [ %d Frames ]"), clipboard->frames, + cfile->end - cfile->start + 1); + if (prefs->ins_resample && clipboard->fps != cfile->fps) { + cb_frames = count_resampled_frames(clipboard->frames, clipboard->fps, cfile->fps); + if (!(cb_frames == clipboard->frames)) { lives_free(txt); - txt=lives_strdup_printf(_("Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]"),cb_frames, - cfile->end-cfile->start+1); + txt = lives_strdup_printf(_("Merge Clipboard [ %d Frames (resampled) ] With Selection [ %d Frames ]"), cb_frames, + cfile->end - cfile->start + 1); } } @@ -128,49 +129,49 @@ add_fill_to_box(LIVES_BOX(hbox)); - align_start_button = lives_standard_radio_button_new(_("Align _Starts"),TRUE,radiobutton_align_group,LIVES_BOX(hbox),NULL); + align_start_button = lives_standard_radio_button_new(_("Align _Starts"), TRUE, radiobutton_align_group, LIVES_BOX(hbox), NULL); radiobutton_align_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(align_start_button)); add_fill_to_box(LIVES_BOX(hbox)); - align_end_button = lives_standard_radio_button_new(_("Align _Ends"),TRUE,radiobutton_align_group,LIVES_BOX(hbox),NULL); + align_end_button = lives_standard_radio_button_new(_("Align _Ends"), TRUE, radiobutton_align_group, LIVES_BOX(hbox), NULL); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(align_end_button),!mainw->last_transition_align_start); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(align_end_button), !mainw->last_transition_align_start); hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, TRUE, widget_opts.packing_height*2); + lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, TRUE, widget_opts.packing_height * 2); - if ((cfile->end-cfile->start+1)<cb_frames) { + if ((cfile->end - cfile->start + 1) < cb_frames) { // hide loop controls if selection is smaller than clipboard label = lives_standard_label_new(_("What to do with extra clipboard frames -")); lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, FALSE, 0); - merge_opts->ins_frame_button=lives_standard_radio_button_new(_("_Insert Frames"),TRUE,radiobutton_insdrop_group,LIVES_BOX(hbox),NULL); + merge_opts->ins_frame_button = lives_standard_radio_button_new(_("_Insert Frames"), TRUE, radiobutton_insdrop_group, LIVES_BOX(hbox), NULL); radiobutton_insdrop_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(merge_opts->ins_frame_button)); - merge_opts->ins_frame_function=lives_signal_connect(LIVES_GUI_OBJECT(merge_opts->ins_frame_button), - LIVES_WIDGET_TOGGLED_SIGNAL,LIVES_GUI_CALLBACK(on_ins_frames_toggled),NULL); + merge_opts->ins_frame_function = lives_signal_connect(LIVES_GUI_OBJECT(merge_opts->ins_frame_button), + LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(on_ins_frames_toggled), NULL); - merge_opts->drop_frame_button=lives_standard_radio_button_new(_("_Drop Frames"),TRUE,radiobutton_insdrop_group,LIVES_BOX(hbox),NULL); + merge_opts->drop_frame_button = lives_standard_radio_button_new(_("_Drop Frames"), TRUE, radiobutton_insdrop_group, LIVES_BOX(hbox), NULL); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(merge_opts->drop_frame_button),!mainw->last_transition_ins_frames); - } else if ((cfile->end-cfile->start+1)>cb_frames) { + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(merge_opts->drop_frame_button), !mainw->last_transition_ins_frames); + } else if ((cfile->end - cfile->start + 1) > cb_frames) { merge_opts->spinbutton_loops = lives_standard_spin_button_new - (_("Number of Times to Loop Clipboard"),FALSE,1.,1., - (int)((cfile->end-cfile->start+1)/cb_frames), 1., 10., 0, LIVES_BOX(hbox), NULL); + (_("Number of Times to Loop Clipboard"), FALSE, 1., 1., + (int)((cfile->end - cfile->start + 1) / cb_frames), 1., 10., 0, LIVES_BOX(hbox), NULL); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(merge_opts->spinbutton_loops),mainw->last_transition_loops); - lives_widget_set_sensitive(merge_opts->spinbutton_loops,!mainw->last_transition_loop_to_fit); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(merge_opts->spinbutton_loops), mainw->last_transition_loops); + lives_widget_set_sensitive(merge_opts->spinbutton_loops, !mainw->last_transition_loop_to_fit); lives_signal_connect_after(LIVES_GUI_OBJECT(merge_opts->spinbutton_loops), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(after_spinbutton_loops_changed), NULL); - fit_button = lives_standard_check_button_new(_("_Loop Clipboard to Fit Selection"),TRUE,LIVES_BOX(hbox),NULL); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(fit_button),mainw->last_transition_loop_to_fit); + fit_button = lives_standard_check_button_new(_("_Loop Clipboard to Fit Selection"), TRUE, LIVES_BOX(hbox), NULL); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(fit_button), mainw->last_transition_loop_to_fit); lives_signal_connect(LIVES_GUI_OBJECT(fit_button), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(on_fit_toggled), @@ -182,30 +183,30 @@ hbox = lives_hbox_new(TRUE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - transition_combo = lives_standard_combo_new(_("_Transition Method:"),TRUE,merge_opts->trans_list,LIVES_BOX(hbox),NULL); + transition_combo = lives_standard_combo_new(_("_Transition Method:"), TRUE, merge_opts->trans_list, LIVES_BOX(hbox), NULL); - lives_combo_set_active_index(LIVES_COMBO(transition_combo),defstart); + lives_combo_set_active_index(LIVES_COMBO(transition_combo), defstart); - mainw->last_transition_idx=merge_opts->list_to_rfx_index[defstart]; + mainw->last_transition_idx = merge_opts->list_to_rfx_index[defstart]; add_hsep_to_box(LIVES_BOX(vbox)); // now the dynamic part... merge_opts->param_vbox = lives_vbox_new(FALSE, 0); - lives_container_set_border_width(LIVES_CONTAINER(merge_opts->param_vbox), widget_opts.border_width>>1); + lives_container_set_border_width(LIVES_CONTAINER(merge_opts->param_vbox), widget_opts.border_width >> 1); lives_box_pack_start(LIVES_BOX(vbox), merge_opts->param_vbox, TRUE, TRUE, 0); - rfx=&mainw->rendered_fx[mainw->last_transition_idx]; - mainw->overflow_height=900; + rfx = &mainw->rendered_fx[mainw->last_transition_idx]; + mainw->overflow_height = 900; make_param_box(LIVES_VBOX(merge_opts->param_vbox), rfx); - mainw->overflow_height=0; + mainw->overflow_height = 0; lives_widget_show_all(merge_opts->param_vbox); - retvals=do_onchange_init(rfx); + retvals = do_onchange_init(rfx); - if (retvals!=NULL) { + if (retvals != NULL) { // now apply visually anything we got from onchange_init //param_demarshall (rfx,retvals,TRUE,TRUE); lives_list_free_all(&retvals); @@ -214,11 +215,11 @@ // done ! - cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL,NULL); + cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(merge_opts->merge_dialog), cancelbutton, LIVES_RESPONSE_CANCEL); - lives_widget_set_can_focus(cancelbutton,TRUE); + lives_widget_set_can_focus(cancelbutton, TRUE); - okbutton = lives_button_new_from_stock(LIVES_STOCK_OK,NULL); + okbutton = lives_button_new_from_stock(LIVES_STOCK_OK, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(merge_opts->merge_dialog), okbutton, LIVES_RESPONSE_OK); lives_widget_set_can_focus_and_default(okbutton); lives_widget_grab_default(okbutton); @@ -236,7 +237,7 @@ LIVES_GUI_CALLBACK(on_merge_ok_clicked), rfx); - lives_signal_connect(LIVES_GUI_OBJECT(transition_combo),LIVES_WIDGET_CHANGED_SIGNAL,LIVES_GUI_CALLBACK(on_trans_method_changed),NULL); + lives_signal_connect(LIVES_GUI_OBJECT(transition_combo), LIVES_WIDGET_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(on_trans_method_changed), NULL); lives_signal_connect(LIVES_GUI_OBJECT(align_start_button), LIVES_WIDGET_TOGGLED_SIGNAL, @@ -259,7 +260,7 @@ LiVESList *retvals; - char *txt=lives_combo_get_active_text(combo); + char *txt = lives_combo_get_active_text(combo); int idx; @@ -268,31 +269,31 @@ return; } - rfx=&mainw->rendered_fx[mainw->last_transition_idx]; + rfx = &mainw->rendered_fx[mainw->last_transition_idx]; - lives_container_foreach(LIVES_CONTAINER(merge_opts->param_vbox),bang,NULL); - on_paramwindow_cancel_clicked(NULL,rfx); + lives_container_foreach(LIVES_CONTAINER(merge_opts->param_vbox), bang, NULL); + on_paramwindow_cancel_clicked(NULL, rfx); - idx=lives_list_strcmp_index(merge_opts->trans_list,txt); + idx = lives_list_strcmp_index(merge_opts->trans_list, txt); lives_free(txt); - mainw->last_transition_idx=merge_opts->list_to_rfx_index[idx]; - rfx=&mainw->rendered_fx[mainw->last_transition_idx]; + mainw->last_transition_idx = merge_opts->list_to_rfx_index[idx]; + rfx = &mainw->rendered_fx[mainw->last_transition_idx]; make_param_box(LIVES_VBOX(merge_opts->param_vbox), rfx); lives_widget_show_all(merge_opts->param_vbox); - retvals=do_onchange_init(rfx); + retvals = do_onchange_init(rfx); - if (retvals!=NULL) { + if (retvals != NULL) { // now apply visually anything we got from onchange_init - param_demarshall(rfx,retvals,TRUE,TRUE); + param_demarshall(rfx, retvals, TRUE, TRUE); lives_list_free_all(&retvals); } - merge_opts->align_start=!merge_opts->align_start; - on_align_start_end_toggled(NULL,NULL); + merge_opts->align_start = !merge_opts->align_start; + on_align_start_end_toggled(NULL, NULL); } @@ -301,25 +302,25 @@ void on_merge_activate(LiVESMenuItem *menuitem, livespointer user_data) { create_merge_dialog(); - merge_opts->loop_to_fit=mainw->last_transition_loop_to_fit; - merge_opts->ins_frames=mainw->last_transition_ins_frames; - merge_opts->align_start=!mainw->last_transition_align_start; + merge_opts->loop_to_fit = mainw->last_transition_loop_to_fit; + merge_opts->ins_frames = mainw->last_transition_ins_frames; + merge_opts->align_start = !mainw->last_transition_align_start; - on_align_start_end_toggled(NULL,NULL); + on_align_start_end_toggled(NULL, NULL); } void on_merge_cancel_clicked(LiVESButton *button, livespointer user_data) { - lives_rfx_t *rfx=(lives_rfx_t *)user_data; - on_paramwindow_cancel_clicked(NULL,rfx); - if (merge_opts->spinbutton_loops!=NULL) - mainw->last_transition_loops=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(merge_opts->spinbutton_loops)); + lives_rfx_t *rfx = (lives_rfx_t *)user_data; + on_paramwindow_cancel_clicked(NULL, rfx); + if (merge_opts->spinbutton_loops != NULL) + mainw->last_transition_loops = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(merge_opts->spinbutton_loops)); lives_widget_destroy(merge_opts->merge_dialog); lives_widget_context_update(); - mainw->last_transition_loop_to_fit=merge_opts->loop_to_fit; - mainw->last_transition_ins_frames=merge_opts->ins_frames; - mainw->last_transition_align_start=merge_opts->align_start; + mainw->last_transition_loop_to_fit = merge_opts->loop_to_fit; + mainw->last_transition_ins_frames = merge_opts->ins_frames; + mainw->last_transition_align_start = merge_opts->align_start; lives_list_free_all(&merge_opts->trans_list); lives_free(merge_opts->list_to_rfx_index); lives_free(merge_opts); @@ -330,33 +331,33 @@ void on_merge_ok_clicked(LiVESButton *button, livespointer user_data) { - int start,end; + int start, end; - int cb_start=1; - boolean cb_video_change=FALSE; - int current_file=mainw->current_file; - int old_frames=clipboard->frames; + int cb_start = 1; + boolean cb_video_change = FALSE; + int current_file = mainw->current_file; + int old_frames = clipboard->frames; // save original values in case we cancel - int oundo_start=cfile->undo_start; - int oundo_end=cfile->undo_end; - int cb_end,excess_frames; - int times_to_loop=1; + int oundo_start = cfile->undo_start; + int oundo_end = cfile->undo_end; + int cb_end, excess_frames; + int times_to_loop = 1; lives_rfx_t *rfx; - if (merge_opts->spinbutton_loops!=NULL) - mainw->last_transition_loops=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(merge_opts->spinbutton_loops)); + if (merge_opts->spinbutton_loops != NULL) + mainw->last_transition_loops = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(merge_opts->spinbutton_loops)); - mainw->last_transition_loop_to_fit=merge_opts->loop_to_fit; - mainw->last_transition_ins_frames=merge_opts->ins_frames; - mainw->last_transition_align_start=merge_opts->align_start; + mainw->last_transition_loop_to_fit = merge_opts->loop_to_fit; + mainw->last_transition_ins_frames = merge_opts->ins_frames; + mainw->last_transition_align_start = merge_opts->align_start; - rfx=&mainw->rendered_fx[mainw->last_transition_idx]; + rfx = &mainw->rendered_fx[mainw->last_transition_idx]; - if (cfile->fps!=clipboard->fps) { + if (cfile->fps != clipboard->fps) { if (!do_clipboard_fps_warning()) { - on_paramwindow_cancel_clicked(NULL,rfx); + on_paramwindow_cancel_clicked(NULL, rfx); lives_widget_destroy(merge_opts->merge_dialog); lives_widget_context_update(); lives_list_free(merge_opts->trans_list); @@ -366,12 +367,12 @@ } } - if (merge_opts->spinbutton_loops!=NULL) - times_to_loop=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(merge_opts->spinbutton_loops)); + if (merge_opts->spinbutton_loops != NULL) + times_to_loop = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(merge_opts->spinbutton_loops)); else - times_to_loop=1; + times_to_loop = 1; - on_paramwindow_cancel_clicked(NULL,rfx); + on_paramwindow_cancel_clicked(NULL, rfx); lives_widget_destroy(merge_opts->merge_dialog); lives_widget_context_update(); lives_list_free(merge_opts->trans_list); @@ -379,42 +380,42 @@ lives_free(merge_opts); // if pref is set, resample clipboard video - if (prefs->ins_resample&&cfile->fps!=clipboard->fps) { + if (prefs->ins_resample && cfile->fps != clipboard->fps) { if (!resample_clipboard(cfile->fps)) return; } - if ((cfile->end-cfile->start+1)<=clipboard->frames) { - times_to_loop=1; + if ((cfile->end - cfile->start + 1) <= clipboard->frames) { + times_to_loop = 1; } d_print(_("Merging clipboard with selection...")); - excess_frames=clipboard->frames-(cfile->end-cfile->start+1); - if (excess_frames<0) excess_frames=0; + excess_frames = clipboard->frames - (cfile->end - cfile->start + 1); + if (excess_frames < 0) excess_frames = 0; - cfile->insert_start=0; - cfile->insert_end=0; + cfile->insert_start = 0; + cfile->insert_end = 0; - cfile->redoable=FALSE; - lives_widget_set_sensitive(mainw->redo,FALSE); + cfile->redoable = FALSE; + lives_widget_set_sensitive(mainw->redo, FALSE); - mainw->fx2_bool=FALSE; + mainw->fx2_bool = FALSE; // dummy values - used for 'fit to audio' in insert - mainw->fx1_bool=FALSE; - mainw->fx1_val=1; // times to insert + mainw->fx1_bool = FALSE; + mainw->fx1_val = 1; // times to insert // insert pre-frames - if (!mainw->last_transition_align_start&&excess_frames>0&&mainw->last_transition_ins_frames) { - mainw->insert_after=FALSE; - d_print(P_("inserting %d extra frame before merge\n","inserting %d extra frames before merge\n",excess_frames),excess_frames); + if (!mainw->last_transition_align_start && excess_frames > 0 && mainw->last_transition_ins_frames) { + mainw->insert_after = FALSE; + d_print(P_("inserting %d extra frame before merge\n", "inserting %d extra frames before merge\n", excess_frames), excess_frames); // fx1_start and fx2_start indicate the clipboard start/end values, fx2_bool is insert_with_audio // TODO - allow this to be cancelled - mainw->fx1_start=1; - mainw->fx2_start=excess_frames; - mainw->fx2_bool=FALSE; - on_insert_activate(NULL,NULL); + mainw->fx1_start = 1; + mainw->fx2_start = excess_frames; + mainw->fx2_bool = FALSE; + on_insert_activate(NULL, NULL); if (mainw->error) { d_print_failed(); return; @@ -427,7 +428,7 @@ // these should be the original values, maybe shifted if frames were inserted // now the merge section - mainw->effects_paused=FALSE; + mainw->effects_paused = FALSE; // There are 6 possibilities: @@ -441,74 +442,74 @@ // number of frames to merge, must be <= selection length if (!mainw->last_transition_loop_to_fit) { - cb_end=(clipboard->frames-excess_frames)*times_to_loop; + cb_end = (clipboard->frames - excess_frames) * times_to_loop; } else { //loop_to_fit_audio - cb_end=cfile->end-cfile->start+1; + cb_end = cfile->end - cfile->start + 1; } // here we use undo_start and undo_end to mark the merged section, // insert_start and insert_end to mark the inserted section (if any) if (mainw->last_transition_align_start) { - cfile->undo_start=cfile->start; - cfile->undo_end=cfile->start+(cb_end*times_to_loop)-1; + cfile->undo_start = cfile->start; + cfile->undo_end = cfile->start + (cb_end * times_to_loop) - 1; } else { - cfile->undo_start=cfile->end-(cb_end*times_to_loop)+1; - cfile->undo_end=cfile->end; - cb_start=excess_frames+1; + cfile->undo_start = cfile->end - (cb_end * times_to_loop) + 1; + cfile->undo_end = cfile->end; + cb_start = excess_frames + 1; if (mainw->last_transition_loop_to_fit) { // make sure last frames are lined up - cb_start-=cb_end; - cb_end=(int)((cb_end+clipboard->frames-1)/clipboard->frames)*clipboard->frames; - cb_start+=cb_end; + cb_start -= cb_end; + cb_end = (int)((cb_end + clipboard->frames - 1) / clipboard->frames) * clipboard->frames; + cb_start += cb_end; } } if (!mainw->last_transition_loop_to_fit) { if (mainw->last_transition_align_start) { - cfile->progress_end=cb_end-cb_start+cfile->start+excess_frames*!mainw->last_transition_align_start; - cfile->progress_start=cfile->start; + cfile->progress_end = cb_end - cb_start + cfile->start + excess_frames * !mainw->last_transition_align_start; + cfile->progress_start = cfile->start; } else { - cfile->progress_end=cfile->end; - cfile->progress_start=cfile->end-cb_end+1; + cfile->progress_end = cfile->end; + cfile->progress_start = cfile->end - cb_end + 1; } } else { - cfile->progress_start=cfile->start; - cfile->progress_end=cfile->end; + cfile->progress_start = cfile->start; + cfile->progress_end = cfile->end; } // do the actual merge - if (!do_effect(rfx,FALSE)) { + if (!do_effect(rfx, FALSE)) { // cancelled // delete pre-inserted frames - if (!mainw->last_transition_align_start&&excess_frames>0) { - start=cfile->start; - end=cfile->end; - cfile->start=cfile->insert_start; - cfile->end=cfile->insert_end; - on_delete_activate(NULL,NULL); + if (!mainw->last_transition_align_start && excess_frames > 0) { + start = cfile->start; + end = cfile->end; + cfile->start = cfile->insert_start; + cfile->end = cfile->insert_end; + on_delete_activate(NULL, NULL); // reset to original values - cfile->start=start; - cfile->end=end; + cfile->start = start; + cfile->end = end; } - cfile->undo_start=oundo_start; - cfile->undo_end=oundo_end; - cfile->insert_start=cfile->insert_end=0; + cfile->undo_start = oundo_start; + cfile->undo_end = oundo_end; + cfile->insert_start = cfile->insert_end = 0; if (cb_video_change) { - mainw->current_file=0; - on_undo_activate(NULL,NULL); - switch_to_file(0,current_file); + mainw->current_file = 0; + on_undo_activate(NULL, NULL); + switch_to_file(0, current_file); } set_undoable(NULL, FALSE); - if (!mainw->last_transition_align_start&&excess_frames>0) { + if (!mainw->last_transition_align_start && excess_frames > 0) { // we've added and now deleted frames, we need to redraw everything... - cfile->start-=excess_frames; - cfile->end-=excess_frames; - switch_to_file(mainw->current_file,mainw->current_file); + cfile->start -= excess_frames; + cfile->end -= excess_frames; + switch_to_file(mainw->current_file, mainw->current_file); } else { sensitize(); get_play_times(); @@ -517,46 +518,46 @@ } // insert any post frames - if (mainw->last_transition_align_start&&excess_frames>0&&mainw->last_transition_ins_frames) { - mainw->insert_after=TRUE; - d_print(P_("now inserting %d extra frame\n","now inserting %d extra frames\n",excess_frames),excess_frames); + if (mainw->last_transition_align_start && excess_frames > 0 && mainw->last_transition_ins_frames) { + mainw->insert_after = TRUE; + d_print(P_("now inserting %d extra frame\n", "now inserting %d extra frames\n", excess_frames), excess_frames); // fx1_start and fx2_start hold the clipboard start/end values - mainw->fx1_start=clipboard->frames-excess_frames+1; - mainw->fx2_start=clipboard->frames; + mainw->fx1_start = clipboard->frames - excess_frames + 1; + mainw->fx2_start = clipboard->frames; - on_insert_activate(NULL,LIVES_INT_TO_POINTER(1)); + on_insert_activate(NULL, LIVES_INT_TO_POINTER(1)); } - if (excess_frames==0||!mainw->last_transition_ins_frames) { + if (excess_frames == 0 || !mainw->last_transition_ins_frames) { d_print_done(); } else { d_print(_("Merge done.\n")); } if (cb_video_change) { - clipboard->old_frames=old_frames; - mainw->current_file=0; - on_undo_activate(NULL,NULL); - mainw->current_file=current_file; + clipboard->old_frames = old_frames; + mainw->current_file = 0; + on_undo_activate(NULL, NULL); + mainw->current_file = current_file; } - cfile->undo_action=UNDO_MERGE; + cfile->undo_action = UNDO_MERGE; // can get overwritten by undo insert - set_undoable(_(rfx->menu_text),TRUE); + set_undoable(_(rfx->menu_text), TRUE); - if (cfile->insert_start==0) { - cfile->insert_start=cfile->undo_start; - cfile->insert_end=cfile->undo_end; + if (cfile->insert_start == 0) { + cfile->insert_start = cfile->undo_start; + cfile->insert_end = cfile->undo_end; } - if (cfile->undo_end>cfile->insert_end) { - cfile->insert_end=cfile->undo_end; + if (cfile->undo_end > cfile->insert_end) { + cfile->insert_end = cfile->undo_end; } - if (cfile->undo_start<cfile->insert_start) { - cfile->insert_start=cfile->undo_start; + if (cfile->undo_start < cfile->insert_start) { + cfile->insert_start = cfile->undo_start; } - switch_to_file(mainw->current_file,mainw->current_file); + switch_to_file(mainw->current_file, mainw->current_file); } @@ -566,18 +567,18 @@ void on_align_start_end_toggled(LiVESToggleButton *togglebutton, livespointer user_data) { - merge_opts->align_start=!merge_opts->align_start; + merge_opts->align_start = !merge_opts->align_start; setmergealign(); } void on_fit_toggled(LiVESToggleButton *togglebutton, livespointer user_data) { - merge_opts->loop_to_fit=!merge_opts->loop_to_fit; - lives_widget_set_sensitive(merge_opts->spinbutton_loops,!merge_opts->loop_to_fit); + merge_opts->loop_to_fit = !merge_opts->loop_to_fit; + lives_widget_set_sensitive(merge_opts->spinbutton_loops, !merge_opts->loop_to_fit); setmergealign(); } void on_ins_frames_toggled(LiVESToggleButton *togglebutton, livespointer user_data) { - merge_opts->ins_frames=!merge_opts->ins_frames; + merge_opts->ins_frames = !merge_opts->ins_frames; }
View file
LiVES-2.8.4.tar.bz2/src/multitrack.c -> LiVES-2.8.6.tar.bz2/src/multitrack.c
Changed
@@ -1,6 +1,6 @@ // multitrack.c // LiVES -// (c) G. Finch 2005 - 2016 <salsaman@gmail.com> +// (c) G. Finch 2005 - 2017 <salsaman@gmail.com> // released under the GNU GPL 3 or later // see file ../COPYING for licensing details @@ -26,7 +26,6 @@ //#define DEBUG_TTABLE - #ifdef HAVE_SYSTEM_WEED #include <weed/weed.h> #include <weed/weed-palettes.h> @@ -53,7 +52,6 @@ #include "cvirtual.h" #include "pangotext.h" - #ifdef ENABLE_GIW #include "giw/giwvslider.h" #include "giw/giwled.h" @@ -72,14 +70,8 @@ #define WEED_AUDIO_BIG_ENDIAN 1 #endif - -#if GTK_CHECK_VERSION(3,0,0) -static boolean expose_timeline_reg_event(LiVESWidget *, lives_painter_t *cr, livespointer mt); -static boolean mt_expose_audtrack_event(LiVESWidget *ebox, lives_painter_t *, livespointer mt); -#else -static boolean expose_timeline_reg_event(LiVESWidget *, LiVESXEventExpose *, livespointer mt); -static boolean mt_expose_audtrack_event(LiVESWidget *ebox, LiVESXEventExpose *, livespointer mt); -#endif +static EXPOSE_FN_PROTOTYPE(expose_timeline_reg_event) +static EXPOSE_FN_PROTOTYPE(mt_expose_audtrack_event) static boolean mt_add_block_effect_idle(livespointer mt); static boolean mt_add_region_effect_idle(livespointer mt); @@ -90,20 +82,19 @@ static int *update_layout_map(weed_plant_t *event_list); static double *update_layout_map_audio(weed_plant_t *event_list); - /// used to match clips from the event recorder with renumbered clips (without gaps) -static int renumbered_clips[MAX_FILES+1]; -static double lfps[MAX_FILES+1]; ///< table of layout fps +static int renumbered_clips[MAX_FILES + 1]; +static double lfps[MAX_FILES + 1]; ///< table of layout fps static void **pchain; ///< param chain for currently being edited filter -static int xachans,xarate,xasamps,xse; +static int xachans, xarate, xasamps, xse; static boolean ptaud; static int btaud; static int aofile; static int afd; -static int dclick_time=0; +static int dclick_time = 0; static boolean force_pertrack_audio; static int force_backing_tracks; @@ -111,17 +102,17 @@ static int clips_to_files[MAX_FILES]; static boolean pb_audio_needs_prerender; -static weed_plant_t *pb_loop_event,*pb_filter_map,*pb_afilter_map; +static weed_plant_t *pb_loop_event, *pb_filter_map, *pb_afilter_map; static boolean mainw_was_ready; -static boolean nb_ignore=FALSE; +static boolean nb_ignore = FALSE; static LiVESWidget *dummy_menuitem; -static boolean doubleclick=FALSE; +static boolean doubleclick = FALSE; -static uint32_t last_press_time=0; +static uint32_t last_press_time = 0; static int ce_sepwin_type; @@ -179,181 +170,181 @@ #define LIVES_AVOL_SCALE ((double)1000000.) + static LIVES_INLINE int mt_file_from_clip(lives_mt *mt, int clip) { return clips_to_files[clip]; } + static LIVES_INLINE int mt_clip_from_file(lives_mt *mt, int file) { register int i; - for (i=0; i<MAX_FILES; i++) { - if (clips_to_files[i]==file) return i; + for (i = 0; i < MAX_FILES; i++) { + if (clips_to_files[i] == file) return i; } return -1; } + /// return track number for a given block int get_track_for_block(track_rect *block) { - return LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox),"layer_number")); + return LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox), "layer_number")); } - static LIVES_INLINE boolean is_empty_track(LiVESObject *track) { - return (lives_widget_object_get_data(track, "blocks")==NULL); + return (lives_widget_object_get_data(track, "blocks") == NULL); } double get_mixer_track_vol(lives_mt *mt, int trackno) { - double vol=(double)(LIVES_POINTER_TO_INT(lives_list_nth_data(mt->audio_vols,trackno))); - return vol/LIVES_AVOL_SCALE; + double vol = (double)(LIVES_POINTER_TO_INT(lives_list_nth_data(mt->audio_vols, trackno))); + return vol / LIVES_AVOL_SCALE; } + void set_mixer_track_vol(lives_mt *mt, int trackno, double vol) { - int x=vol*LIVES_AVOL_SCALE; - lives_list_nth(mt->audio_vols,trackno)->data=LIVES_INT_TO_POINTER(x); + int x = vol * LIVES_AVOL_SCALE; + lives_list_nth(mt->audio_vols, trackno)->data = LIVES_INT_TO_POINTER(x); } static boolean save_event_list_inner(lives_mt *mt, int fd, weed_plant_t *event_list, unsigned char **mem) { weed_plant_t *event; - void **ievs=NULL; + void **ievs = NULL; - void *next,*prev; + void *next, *prev; int64_t *uievs; - int64_t iev=0l; + int64_t iev = 0l; - int count=0; - int nivs=0; + int count = 0; + int nivs = 0; int error; register int i; + if (event_list == NULL) return TRUE; - if (event_list==NULL) return TRUE; - - event=get_first_event(event_list); + event = get_first_event(event_list); threaded_dialog_spin(0.); - weed_set_int_value(event_list,WEED_LEAF_WIDTH,cfile->hsize); - weed_set_int_value(event_list,WEED_LEAF_HEIGHT,cfile->vsize); - weed_set_int_value(event_list,WEED_LEAF_AUDIO_CHANNELS,cfile->achans); - weed_set_int_value(event_list,WEED_LEAF_AUDIO_RATE,cfile->arate); - weed_set_int_value(event_list,WEED_LEAF_AUDIO_SAMPLE_SIZE,cfile->asampsize); + weed_set_int_value(event_list, WEED_LEAF_WIDTH, cfile->hsize); + weed_set_int_value(event_list, WEED_LEAF_HEIGHT, cfile->vsize); + weed_set_int_value(event_list, WEED_LEAF_AUDIO_CHANNELS, cfile->achans); + weed_set_int_value(event_list, WEED_LEAF_AUDIO_RATE, cfile->arate); + weed_set_int_value(event_list, WEED_LEAF_AUDIO_SAMPLE_SIZE, cfile->asampsize); - weed_set_int_value(event_list,WEED_LEAF_WEED_EVENT_API_VERSION,WEED_EVENT_API_VERSION); + weed_set_int_value(event_list, WEED_LEAF_WEED_EVENT_API_VERSION, WEED_EVENT_API_VERSION); - if (cfile->signed_endian&AFORM_UNSIGNED) weed_set_boolean_value(event_list,WEED_LEAF_AUDIO_SIGNED,WEED_FALSE); - else weed_set_boolean_value(event_list,WEED_LEAF_AUDIO_SIGNED,WEED_TRUE); + if (cfile->signed_endian & AFORM_UNSIGNED) weed_set_boolean_value(event_list, WEED_LEAF_AUDIO_SIGNED, WEED_FALSE); + else weed_set_boolean_value(event_list, WEED_LEAF_AUDIO_SIGNED, WEED_TRUE); - if (cfile->signed_endian&AFORM_BIG_ENDIAN) weed_set_int_value(event_list,WEED_LEAF_AUDIO_ENDIAN,WEED_AUDIO_BIG_ENDIAN); - else weed_set_int_value(event_list,WEED_LEAF_AUDIO_ENDIAN,WEED_AUDIO_LITTLE_ENDIAN); + if (cfile->signed_endian & AFORM_BIG_ENDIAN) weed_set_int_value(event_list, WEED_LEAF_AUDIO_ENDIAN, WEED_AUDIO_BIG_ENDIAN); + else weed_set_int_value(event_list, WEED_LEAF_AUDIO_ENDIAN, WEED_AUDIO_LITTLE_ENDIAN); - if (mt!=NULL&&mt->audio_vols!=NULL&&mt->audio_draws!=NULL) { - int natracks=lives_list_length(mt->audio_draws); + if (mt != NULL && mt->audio_vols != NULL && mt->audio_draws != NULL) { + int natracks = lives_list_length(mt->audio_draws); - int *atracks=(int *)lives_malloc(natracks*sizint); + int *atracks = (int *)lives_malloc(natracks * sizint); double *avols; int navols; - for (i=0; i<natracks; i++) { - atracks[i]=i-mt->opts.back_audio_tracks; + for (i = 0; i < natracks; i++) { + atracks[i] = i - mt->opts.back_audio_tracks; } - weed_set_int_array(event_list,WEED_LEAF_AUDIO_VOLUME_TRACKS,natracks,atracks); + weed_set_int_array(event_list, WEED_LEAF_AUDIO_VOLUME_TRACKS, natracks, atracks); lives_free(atracks); - if (mt->opts.gang_audio) navols=1+mt->opts.back_audio_tracks; - else navols=natracks; + if (mt->opts.gang_audio) navols = 1 + mt->opts.back_audio_tracks; + else navols = natracks; - avols=(double *)lives_malloc(navols*sizeof(double)); - for (i=0; i<navols; i++) { - avols[i]=get_mixer_track_vol(mt,i); + avols = (double *)lives_malloc(navols * sizeof(double)); + for (i = 0; i < navols; i++) { + avols[i] = get_mixer_track_vol(mt, i); } - weed_set_double_array(event_list,WEED_LEAF_AUDIO_VOLUME_VALUES,navols,avols); + weed_set_double_array(event_list, WEED_LEAF_AUDIO_VOLUME_VALUES, navols, avols); lives_free(avols); } + if (mt != NULL) { + int nvtracks = lives_list_length(mt->video_draws); - if (mt!=NULL) { - int nvtracks=lives_list_length(mt->video_draws); - - int *vtracks=(int *)lives_malloc(nvtracks*sizint); - char **const labels=(char **)lives_malloc(nvtracks*sizeof(char *)); + int *vtracks = (int *)lives_malloc(nvtracks * sizint); + char **const labels = (char **)lives_malloc(nvtracks * sizeof(char *)); - for (i=0; i<nvtracks; i++) { - LiVESWidget *ebox=get_eventbox_for_track(mt,i); - const char *tname=(const char *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(ebox),"track_name"); - labels[i]=(char *)tname; - vtracks[i]=i; + for (i = 0; i < nvtracks; i++) { + LiVESWidget *ebox = get_eventbox_for_track(mt, i); + const char *tname = (const char *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(ebox), "track_name"); + labels[i] = (char *)tname; + vtracks[i] = i; } - weed_set_int_array(event_list,WEED_LEAF_TRACK_LABEL_TRACKS,nvtracks,vtracks); + weed_set_int_array(event_list, WEED_LEAF_TRACK_LABEL_TRACKS, nvtracks, vtracks); lives_free(vtracks); - weed_set_string_array(event_list,WEED_LEAF_TRACK_LABEL_VALUES,nvtracks,labels); + weed_set_string_array(event_list, WEED_LEAF_TRACK_LABEL_VALUES, nvtracks, labels); lives_free(labels); - } - if (mem==NULL&&fd<0) return TRUE; + if (mem == NULL && fd < 0) return TRUE; threaded_dialog_spin(0.); - mainw->write_failed=FALSE; - weed_plant_serialise(fd,event_list,mem); + mainw->write_failed = FALSE; + weed_plant_serialise(fd, event_list, mem); - while (!mainw->write_failed&&event!=NULL) { + while (!mainw->write_failed && event != NULL) { - next=weed_get_voidptr_value(event,WEED_LEAF_NEXT,&error); - weed_leaf_delete(event,WEED_LEAF_NEXT); + next = weed_get_voidptr_value(event, WEED_LEAF_NEXT, &error); + weed_leaf_delete(event, WEED_LEAF_NEXT); - prev=weed_get_voidptr_value(event,WEED_LEAF_PREVIOUS,&error); - weed_leaf_delete(event,WEED_LEAF_PREVIOUS); + prev = weed_get_voidptr_value(event, WEED_LEAF_PREVIOUS, &error); + weed_leaf_delete(event, WEED_LEAF_PREVIOUS); if (WEED_EVENT_IS_FILTER_INIT(event)) { - weed_leaf_delete(event,WEED_LEAF_EVENT_ID); - weed_set_int64_value(event,WEED_LEAF_EVENT_ID,(int64_t)(uint64_t)((void *)event)); - } else if (WEED_EVENT_IS_FILTER_DEINIT(event)||WEED_EVENT_IS_PARAM_CHANGE(event)) { - iev=(int64_t)(uint64_t)weed_get_voidptr_value(event,WEED_LEAF_INIT_EVENT,&error); - weed_leaf_delete(event,WEED_LEAF_INIT_EVENT); - weed_set_int64_value(event,WEED_LEAF_INIT_EVENT,iev); + weed_leaf_delete(event, WEED_LEAF_EVENT_ID); + weed_set_int64_value(event, WEED_LEAF_EVENT_ID, (int64_t)(uint64_t)((void *)event)); + } else if (WEED_EVENT_IS_FILTER_DEINIT(event) || WEED_EVENT_IS_PARAM_CHANGE(event)) { + iev = (int64_t)(uint64_t)weed_get_voidptr_value(event, WEED_LEAF_INIT_EVENT, &error); + weed_leaf_delete(event, WEED_LEAF_INIT_EVENT); + weed_set_int64_value(event, WEED_LEAF_INIT_EVENT, iev); } else if (WEED_EVENT_IS_FILTER_MAP(event)) { - nivs=weed_leaf_num_elements(event,WEED_LEAF_INIT_EVENTS); - ievs=weed_get_voidptr_array(event,WEED_LEAF_INIT_EVENTS,&error); - uievs=(int64_t *)lives_malloc(nivs*8); - for (i=0; i<nivs; i++) { - uievs[i]=(int64_t)(uint64_t)ievs[i]; + nivs = weed_leaf_num_elements(event, WEED_LEAF_INIT_EVENTS); + ievs = weed_get_voidptr_array(event, WEED_LEAF_INIT_EVENTS, &error); + uievs = (int64_t *)lives_malloc(nivs * 8); + for (i = 0; i < nivs; i++) { + uievs[i] = (int64_t)(uint64_t)ievs[i]; } - weed_leaf_delete(event,WEED_LEAF_INIT_EVENTS); - weed_set_int64_array(event,WEED_LEAF_INIT_EVENTS,nivs,uievs); + weed_leaf_delete(event, WEED_LEAF_INIT_EVENTS); + weed_set_int64_array(event, WEED_LEAF_INIT_EVENTS, nivs, uievs); lives_free(uievs); } - weed_plant_serialise(fd,event,mem); + weed_plant_serialise(fd, event, mem); if (WEED_EVENT_IS_FILTER_INIT(event)) { - weed_leaf_delete(event,WEED_LEAF_EVENT_ID); + weed_leaf_delete(event, WEED_LEAF_EVENT_ID); } - if (WEED_EVENT_IS_FILTER_DEINIT(event)||WEED_EVENT_IS_PARAM_CHANGE(event)) { - weed_leaf_delete(event,WEED_LEAF_INIT_EVENT); - weed_set_voidptr_value(event,WEED_LEAF_INIT_EVENT,(void *)iev); + if (WEED_EVENT_IS_FILTER_DEINIT(event) || WEED_EVENT_IS_PARAM_CHANGE(event)) { + weed_leaf_delete(event, WEED_LEAF_INIT_EVENT); + weed_set_voidptr_value(event, WEED_LEAF_INIT_EVENT, (void *)iev); } else if (WEED_EVENT_IS_FILTER_MAP(event)) { - weed_leaf_delete(event,WEED_LEAF_INIT_EVENTS); - weed_set_voidptr_array(event,WEED_LEAF_INIT_EVENTS,nivs,ievs); + weed_leaf_delete(event, WEED_LEAF_INIT_EVENTS); + weed_set_voidptr_array(event, WEED_LEAF_INIT_EVENTS, nivs, ievs); lives_free(ievs); } - weed_set_voidptr_value(event,WEED_LEAF_NEXT,next); - weed_set_voidptr_value(event,WEED_LEAF_PREVIOUS,prev); + weed_set_voidptr_value(event, WEED_LEAF_NEXT, next); + weed_set_voidptr_value(event, WEED_LEAF_PREVIOUS, prev); - event=get_next_event(event); - if (++count==100) { - count=0; + event = get_next_event(event); + if (++count == 100) { + count = 0; threaded_dialog_spin(0.); } } @@ -365,83 +356,81 @@ LiVESPixbuf *make_thumb(lives_mt *mt, int file, int width, int height, int frame, boolean noblanks) { - LiVESPixbuf *thumbnail=NULL,*pixbuf; - LiVESError *error=NULL; + LiVESPixbuf *thumbnail = NULL, *pixbuf; + LiVESError *error = NULL; char *buf; - boolean tried_all=FALSE; - boolean needs_idlefunc=FALSE; + boolean tried_all = FALSE; + boolean needs_idlefunc = FALSE; - int nframe,oframe=frame; + int nframe, oframe = frame; - if (file<1) { + if (file < 1) { LIVES_WARN("Warning - make thumb for file -1"); return NULL; } - if (width<2||height<2) return NULL; + if (width < 2 || height < 2) return NULL; - if (mt!=NULL&&mt->idlefunc>0) { - needs_idlefunc=TRUE; + if (mt != NULL && mt->idlefunc > 0) { + needs_idlefunc = TRUE; lives_source_remove(mt->idlefunc); - mt->idlefunc=0; + mt->idlefunc = 0; } do { - if (mainw->files[file]->frames>0) { - weed_timecode_t tc=(frame-1.)/mainw->files[file]->fps*U_SECL; - if (mainw->files[file]->frames>0&&mainw->files[file]->clip_type==CLIP_TYPE_FILE) { - lives_clip_data_t *cdata=((lives_decoder_t *)mainw->files[file]->ext_src)->cdata; - if (cdata!=NULL&&!(cdata->seek_flag&LIVES_SEEK_FAST)&& - is_virtual_frame(file,frame)) { - boolean resb=virtual_to_images(file,frame,frame,FALSE,NULL); - resb=resb; // dont care (much) if it fails + if (mainw->files[file]->frames > 0) { + weed_timecode_t tc = (frame - 1.) / mainw->files[file]->fps * U_SECL; + if (mainw->files[file]->frames > 0 && mainw->files[file]->clip_type == CLIP_TYPE_FILE) { + lives_clip_data_t *cdata = ((lives_decoder_t *)mainw->files[file]->ext_src)->cdata; + if (cdata != NULL && !(cdata->seek_flag & LIVES_SEEK_FAST) && + is_virtual_frame(file, frame)) { + boolean resb = virtual_to_images(file, frame, frame, FALSE, NULL); + resb = resb; // dont care (much) if it fails } } - thumbnail=pull_lives_pixbuf_at_size(file,frame,get_image_ext_for_type(mainw->files[file]->img_type),tc, - width,height,LIVES_INTERP_BEST); + thumbnail = pull_lives_pixbuf_at_size(file, frame, get_image_ext_for_type(mainw->files[file]->img_type), tc, + width, height, LIVES_INTERP_BEST); } else { - buf=lives_build_filename(prefs->prefix_dir,ICON_DIR,"audio.png",NULL); - pixbuf=lives_pixbuf_new_from_file_at_scale(buf,width,height,FALSE,&error); + buf = lives_build_filename(prefs->prefix_dir, ICON_DIR, "audio.png", NULL); + pixbuf = lives_pixbuf_new_from_file_at_scale(buf, width, height, FALSE, &error); // ...at_scale is inaccurate ! lives_free(buf); - if (error!=NULL||pixbuf==NULL) { + if (error != NULL || pixbuf == NULL) { lives_error_free(error); if (needs_idlefunc) { - mt->idlefunc=mt_idle_add(mt); + mt->idlefunc = mt_idle_add(mt); } return NULL; } - if (lives_pixbuf_get_width(pixbuf)!=width||lives_pixbuf_get_height(pixbuf)!=height) { + if (lives_pixbuf_get_width(pixbuf) != width || lives_pixbuf_get_height(pixbuf) != height) { // ...at_scale is inaccurate - thumbnail=lives_pixbuf_scale_simple(pixbuf,width,height,LIVES_INTERP_BEST); + thumbnail = lives_pixbuf_scale_simple(pixbuf, width, height, LIVES_INTERP_BEST); lives_object_unref(pixbuf); - } else thumbnail=pixbuf; + } else thumbnail = pixbuf; } - if (tried_all) noblanks=FALSE; + if (tried_all) noblanks = FALSE; - if (noblanks&&thumbnail!=NULL&&!lives_pixbuf_is_all_black(thumbnail)) noblanks=FALSE; + if (noblanks && thumbnail != NULL && !lives_pixbuf_is_all_black(thumbnail)) noblanks = FALSE; if (noblanks) { - nframe=frame+mainw->files[file]->frames/10.; - if (nframe==frame) nframe++; - if (nframe>mainw->files[file]->frames) { - nframe=oframe; - tried_all=TRUE; - } - frame=nframe; - if (thumbnail!=NULL) lives_object_unref(thumbnail); - thumbnail=NULL; + nframe = frame + mainw->files[file]->frames / 10.; + if (nframe == frame) nframe++; + if (nframe > mainw->files[file]->frames) { + nframe = oframe; + tried_all = TRUE; + } + frame = nframe; + if (thumbnail != NULL) lives_object_unref(thumbnail); + thumbnail = NULL; } - - } while (noblanks); if (needs_idlefunc) { - mt->idlefunc=mt_idle_add(mt); + mt->idlefunc = mt_idle_add(mt); } return thumbnail; @@ -449,29 +438,29 @@ LiVESPixbuf *make_thumb_fast_between(lives_mt *mt, int fileno, int width, int height, int tframe, int range) { - int nvframe=-1; + int nvframe = -1; register int i; - if (fileno<1) { + if (fileno < 1) { LIVES_WARN("Warning - make thumb for file -1"); return NULL; } - if (width<2||height<2) return NULL; + if (width < 2 || height < 2) return NULL; - for (i=1; i<=range; i++) { - if (tframe-i>0&&!is_virtual_frame(fileno,tframe-i)) { - nvframe=tframe-i; + for (i = 1; i <= range; i++) { + if (tframe - i > 0 && !is_virtual_frame(fileno, tframe - i)) { + nvframe = tframe - i; break; } - if (tframe+i<=mainw->files[fileno]->frames&&!is_virtual_frame(fileno,tframe+i)) { - nvframe=tframe+i; + if (tframe + i <= mainw->files[fileno]->frames && !is_virtual_frame(fileno, tframe + i)) { + nvframe = tframe + i; break; } } - if (nvframe!=-1) { - return make_thumb(mt,fileno,width,height,nvframe,FALSE); + if (nvframe != -1) { + return make_thumb(mt, fileno, width, height, nvframe, FALSE); } return NULL; @@ -482,72 +471,72 @@ LiVESXCursor *cursor; LiVESXDisplay *disp; - LiVESPixbuf *pixbuf=NULL; - LiVESPixbuf *thumbnail=NULL; + LiVESPixbuf *pixbuf = NULL; + LiVESPixbuf *thumbnail = NULL; - uint8_t *cpixels,*tpixels; + uint8_t *cpixels, *tpixels; - lives_clip_t *sfile=mainw->files[clip]; + lives_clip_t *sfile = mainw->files[clip]; double frames_width; - unsigned int cwidth,cheight; + unsigned int cwidth, cheight; - int twidth=0,twidth3,twidth4,trow; + int twidth = 0, twidth3, twidth4, trow; int frame_start; - register int i,j,k; + register int i, j, k; - disp=lives_widget_get_display(mt->window); + disp = lives_widget_get_display(mt->window); #ifdef GUI_GTK - gdk_display_get_maximal_cursor_size(disp,&cwidth,&cheight); + gdk_display_get_maximal_cursor_size(disp, &cwidth, &cheight); #endif #ifdef GUI_QT cwidth = MAX_CURSOR_WIDTH; #endif - if (width>cwidth) width=cwidth; + if (width > cwidth) width = cwidth; - mt->cursor_style=cstyle; + mt->cursor_style = cstyle; switch (cstyle) { case LIVES_CURSOR_BLOCK: - if (sfile!=NULL&&sfile->frames>0) { - frame_start=mt->opts.ign_ins_sel?1:sfile->start; - frames_width=(double)(mt->opts.ign_ins_sel?sfile->frames:sfile->end-sfile->start+1.); + if (sfile != NULL && sfile->frames > 0) { + frame_start = mt->opts.ign_ins_sel ? 1 : sfile->start; + frames_width = (double)(mt->opts.ign_ins_sel ? sfile->frames : sfile->end - sfile->start + 1.); - pixbuf=lives_pixbuf_new(TRUE, width, height); + pixbuf = lives_pixbuf_new(TRUE, width, height); - for (i=0; i<width; i+=BLOCK_THUMB_WIDTH) { + for (i = 0; i < width; i += BLOCK_THUMB_WIDTH) { // create a small thumb - twidth=BLOCK_THUMB_WIDTH; - if ((i+twidth)>width) twidth=width-i; - if (twidth>=2) { - thumbnail=make_thumb(mt,clip,twidth,height,frame_start+(int)((double)i/(double)width*frames_width),FALSE); + twidth = BLOCK_THUMB_WIDTH; + if ((i + twidth) > width) twidth = width - i; + if (twidth >= 2) { + thumbnail = make_thumb(mt, clip, twidth, height, frame_start + (int)((double)i / (double)width * frames_width), FALSE); // render it in the eventbox - if (thumbnail!=NULL) { - trow=lives_pixbuf_get_rowstride(thumbnail); - twidth=lives_pixbuf_get_width(thumbnail); - cpixels=lives_pixbuf_get_pixels(pixbuf)+(i*4); - tpixels=lives_pixbuf_get_pixels(thumbnail); + if (thumbnail != NULL) { + trow = lives_pixbuf_get_rowstride(thumbnail); + twidth = lives_pixbuf_get_width(thumbnail); + cpixels = lives_pixbuf_get_pixels(pixbuf) + (i * 4); + tpixels = lives_pixbuf_get_pixels(thumbnail); if (!lives_pixbuf_get_has_alpha(thumbnail)) { - twidth3=twidth*3; - for (j=0; j<height; j++) { - for (k=0; k<twidth3; k+=3) { - lives_memcpy(cpixels,&tpixels[k],3); - memset(cpixels+3,0xFF,1); - cpixels+=4; + twidth3 = twidth * 3; + for (j = 0; j < height; j++) { + for (k = 0; k < twidth3; k += 3) { + lives_memcpy(cpixels, &tpixels[k], 3); + memset(cpixels + 3, 0xFF, 1); + cpixels += 4; } - tpixels+=trow; - cpixels+=(width-twidth)<<2; + tpixels += trow; + cpixels += (width - twidth) << 2; } } else { - twidth4=twidth*4; - for (j=0; j<height; j++) { - lives_memcpy(cpixels,tpixels,twidth4); - tpixels+=trow; - cpixels+=width<<2; + twidth4 = twidth * 4; + for (j = 0; j < height; j++) { + lives_memcpy(cpixels, tpixels, twidth4); + tpixels += trow; + cpixels += width << 2; } } lives_object_unref(thumbnail); @@ -558,48 +547,48 @@ } // fallthrough case LIVES_CURSOR_AUDIO_BLOCK: - pixbuf=lives_pixbuf_new(TRUE, width, height); - trow=lives_pixbuf_get_rowstride(pixbuf); - cpixels=lives_pixbuf_get_pixels(pixbuf); - for (j=0; j<height; j++) { - for (k=0; k<width; k++) { - cpixels[0]=palette->audcol.red>>8; - cpixels[1]=palette->audcol.green>>8; - cpixels[2]=palette->audcol.blue>>8; - cpixels[3]=palette->audcol.alpha>>8; - cpixels+=4; + pixbuf = lives_pixbuf_new(TRUE, width, height); + trow = lives_pixbuf_get_rowstride(pixbuf); + cpixels = lives_pixbuf_get_pixels(pixbuf); + for (j = 0; j < height; j++) { + for (k = 0; k < width; k++) { + cpixels[0] = palette->audcol.red >> 8; + cpixels[1] = palette->audcol.green >> 8; + cpixels[2] = palette->audcol.blue >> 8; + cpixels[3] = palette->audcol.alpha >> 8; + cpixels += 4; } - cpixels+=(trow-width*4); + cpixels += (trow - width * 4); } break; case LIVES_CURSOR_VIDEO_BLOCK: - pixbuf=lives_pixbuf_new(TRUE, width, height); - trow=lives_pixbuf_get_rowstride(pixbuf); - cpixels=lives_pixbuf_get_pixels(pixbuf); - for (j=0; j<height; j++) { - for (k=0; k<width; k++) { - cpixels[0]=palette->vidcol.red>>8; - cpixels[1]=palette->vidcol.green>>8; - cpixels[2]=palette->vidcol.blue>>8; - cpixels[3]=palette->vidcol.alpha>>8; - cpixels+=4; + pixbuf = lives_pixbuf_new(TRUE, width, height); + trow = lives_pixbuf_get_rowstride(pixbuf); + cpixels = lives_pixbuf_get_pixels(pixbuf); + for (j = 0; j < height; j++) { + for (k = 0; k < width; k++) { + cpixels[0] = palette->vidcol.red >> 8; + cpixels[1] = palette->vidcol.green >> 8; + cpixels[2] = palette->vidcol.blue >> 8; + cpixels[3] = palette->vidcol.alpha >> 8; + cpixels += 4; } - cpixels+=(trow-width*4); + cpixels += (trow - width * 4); } break; case LIVES_CURSOR_FX_BLOCK: - pixbuf=lives_pixbuf_new(TRUE, width, height); - trow=lives_pixbuf_get_rowstride(pixbuf); - cpixels=lives_pixbuf_get_pixels(pixbuf); - for (j=0; j<height; j++) { - for (k=0; k<width; k++) { - cpixels[0]=palette->fxcol.red>>8; - cpixels[1]=palette->fxcol.green>>8; - cpixels[2]=palette->fxcol.blue>>8; - cpixels[3]=palette->fxcol.alpha>>8; - cpixels+=4; + pixbuf = lives_pixbuf_new(TRUE, width, height); + trow = lives_pixbuf_get_rowstride(pixbuf); + cpixels = lives_pixbuf_get_pixels(pixbuf); + for (j = 0; j < height; j++) { + for (k = 0; k < width; k++) { + cpixels[0] = palette->fxcol.red >> 8; + cpixels[1] = palette->fxcol.green >> 8; + cpixels[2] = palette->fxcol.blue >> 8; + cpixels[3] = palette->fxcol.alpha >> 8; + cpixels += 4; } - cpixels+=(trow-width*4); + cpixels += (trow - width * 4); } break; default: @@ -609,53 +598,52 @@ cursor = lives_cursor_new_from_pixbuf(disp, pixbuf, hsx, hsy); lives_xwindow_set_cursor(lives_widget_get_xwindow(mt->window), cursor); - if (pixbuf!=NULL) lives_object_unref(pixbuf); - if (cursor!=NULL) lives_cursor_unref(cursor); + if (pixbuf != NULL) lives_object_unref(pixbuf); + if (cursor != NULL) lives_cursor_unref(cursor); } - boolean write_backup_layout_numbering(lives_mt *mt) { // link clip numbers in the auto save event_list to actual clip numbers - int fd,i,vali,hdlsize; + int fd, i, vali, hdlsize; double vald; - char *asave_file=lives_strdup_printf("%s/layout_numbering.%d.%d.%d",prefs->workdir,lives_getuid(),lives_getgid(), - capable->mainpid); - LiVESList *clist=mainw->cliplist; + char *asave_file = lives_strdup_printf("%s/layout_numbering.%d.%d.%d", prefs->workdir, lives_getuid(), lives_getgid(), + capable->mainpid); + LiVESList *clist = mainw->cliplist; - fd=lives_creat_buffered(asave_file,DEF_FILE_PERMS); + fd = lives_creat_buffered(asave_file, DEF_FILE_PERMS); lives_free(asave_file); - mainw->write_failed=FALSE; + mainw->write_failed = FALSE; - if (fd!=-1) { - while (mainw->write_failed&&clist!=NULL) { - i=LIVES_POINTER_TO_INT(clist->data); - if (mainw->files[i]->clip_type!=CLIP_TYPE_DISK&&mainw->files[i]->clip_type!=CLIP_TYPE_FILE) { - clist=clist->next; + if (fd != -1) { + while (mainw->write_failed && clist != NULL) { + i = LIVES_POINTER_TO_INT(clist->data); + if (mainw->files[i]->clip_type != CLIP_TYPE_DISK && mainw->files[i]->clip_type != CLIP_TYPE_FILE) { + clist = clist->next; continue; } - if (mt!=NULL) { - lives_write_le_buffered(fd,&i,4,TRUE); - vald=mainw->files[i]->fps; - lives_write_le_buffered(fd,&vald,8,TRUE); - hdlsize=strlen(mainw->files[i]->handle); - lives_write_le_buffered(fd,&hdlsize,4,TRUE); - lives_write_buffered(fd,(const char *)&mainw->files[i]->handle,hdlsize,TRUE); + if (mt != NULL) { + lives_write_le_buffered(fd, &i, 4, TRUE); + vald = mainw->files[i]->fps; + lives_write_le_buffered(fd, &vald, 8, TRUE); + hdlsize = strlen(mainw->files[i]->handle); + lives_write_le_buffered(fd, &hdlsize, 4, TRUE); + lives_write_buffered(fd, (const char *)&mainw->files[i]->handle, hdlsize, TRUE); } else { - vali=mainw->files[i]->stored_layout_idx; - if (vali!=-1) { - lives_write_le_buffered(fd,&vali,4,TRUE); - vald=mainw->files[i]->fps; - lives_write_le_buffered(fd,&vald,8,TRUE); - hdlsize=strlen(mainw->files[i]->handle); - lives_write_le_buffered(fd,&hdlsize,4,TRUE); - lives_write_buffered(fd,(const char *)&mainw->files[i]->handle,hdlsize,TRUE); + vali = mainw->files[i]->stored_layout_idx; + if (vali != -1) { + lives_write_le_buffered(fd, &vali, 4, TRUE); + vald = mainw->files[i]->fps; + lives_write_le_buffered(fd, &vald, 8, TRUE); + hdlsize = strlen(mainw->files[i]->handle); + lives_write_le_buffered(fd, &hdlsize, 4, TRUE); + lives_write_buffered(fd, (const char *)&mainw->files[i]->handle, hdlsize, TRUE); } } - clist=clist->next; + clist = clist->next; } lives_close_buffered(fd); @@ -663,18 +651,18 @@ if (mainw->write_failed) return FALSE; return TRUE; - } + static void upd_layout_maps(weed_plant_t *event_list) { int *layout_map; double *layout_map_audio; // update layout maps for files from global layout map - layout_map=update_layout_map(event_list); - layout_map_audio=update_layout_map_audio(event_list); + layout_map = update_layout_map(event_list); + layout_map_audio = update_layout_map_audio(event_list); - save_layout_map(layout_map,layout_map_audio,NULL,NULL); + save_layout_map(layout_map, layout_map_audio, NULL, NULL); lives_free(layout_map); lives_free(layout_map_audio); @@ -682,7 +670,6 @@ } - static void renumber_from_backup_layout_numbering(lives_mt *mt) { // this is used only for crash recovery @@ -691,38 +678,38 @@ //but the numbering may have changed (for example we started last time in mt mode, this time in ce mode) - int fd,vari,clipn,offs; + int fd, vari, clipn, offs; double vard; - char *aload_file=lives_strdup_printf("%s/layout_numbering.%d.%d.%d",prefs->workdir,lives_getuid(),lives_getgid(), - capable->mainpid); - boolean isfirst=TRUE; + char *aload_file = lives_strdup_printf("%s/layout_numbering.%d.%d.%d", prefs->workdir, lives_getuid(), lives_getgid(), + capable->mainpid); + boolean isfirst = TRUE; char buf[256]; // ensure file layouts are updated upd_layout_maps(NULL); - fd=lives_open_buffered_rdonly(aload_file); + fd = lives_open_buffered_rdonly(aload_file); - if (fd!=-1) { + if (fd != -1) { while (1) { - if (lives_read_le_buffered(fd,&clipn,4,TRUE)==4) { - if (isfirst) offs=-clipn+1; - else isfirst=FALSE; - if (lives_read_le_buffered(fd,&vard,8,TRUE)==8) { + if (lives_read_le_buffered(fd, &clipn, 4, TRUE) == 4) { + if (isfirst) offs = -clipn + 1; + else isfirst = FALSE; + if (lives_read_le_buffered(fd, &vard, 8, TRUE) == 8) { - if (lives_read_le_buffered(fd,&vari,4,TRUE)==4) { + if (lives_read_le_buffered(fd, &vari, 4, TRUE) == 4) { // compare the handle - assume clip ordering has not changed - if (vari>255) vari=255; - if (lives_read_buffered(fd,buf,vari,TRUE)==vari) { - memset(buf+vari,0,1); - while (mainw->files[clipn+offs]!=NULL&&strcmp(mainw->files[clipn+offs]->handle,buf)) { + if (vari > 255) vari = 255; + if (lives_read_buffered(fd, buf, vari, TRUE) == vari) { + memset(buf + vari, 0, 1); + while (mainw->files[clipn + offs] != NULL && strcmp(mainw->files[clipn + offs]->handle, buf)) { offs++; } - if (mainw->files[clipn+offs]==NULL) break; + if (mainw->files[clipn + offs] == NULL) break; // got a match - index the current clip order -> clip order in layout - renumbered_clips[clipn]=clipn+offs; + renumbered_clips[clipn] = clipn + offs; // lfps contains the fps at the time of the crash - lfps[clipn+offs]=vard; + lfps[clipn + offs] = vard; } else break; } else break; } else break; @@ -733,26 +720,21 @@ } - - - static void save_mt_autoback(lives_mt *mt, int64_t stime) { // auto backup of the current layout // this is called from an idle funtion - if the specified amount of time has passed and // the clip has been altered - -#ifndef USE_MONOTONIC_TIME struct timeval otv; -#endif - - int fd; - char *asave_file=lives_strdup_printf("%s/layout.%d.%d.%d",prefs->workdir,lives_getuid(),lives_getgid(),capable->mainpid); lives_mt_poly_state_t poly_state; - boolean retval=TRUE; + char *asave_file = lives_strdup_printf("%s/layout.%d.%d.%d", prefs->workdir, lives_getuid(), lives_getgid(), capable->mainpid); + char *tmp; + + boolean retval = TRUE; int retval2; + int fd; mt_desensitise(mt); @@ -760,18 +742,18 @@ lives_widget_context_update(); do { - retval2=0; - mainw->write_failed=FALSE; + retval2 = 0; + mainw->write_failed = FALSE; - fd=lives_creat_buffered(asave_file,DEF_FILE_PERMS); - if (fd>=0) { + fd = lives_creat_buffered(asave_file, DEF_FILE_PERMS); + if (fd >= 0) { - add_markers(mt,mt->event_list,FALSE); - do_threaded_dialog(_("Auto backup"),FALSE); + add_markers(mt, mt->event_list, FALSE); + do_threaded_dialog(_("Auto backup"), FALSE); set_signal_handlers((SignalHandlerPointer)defer_sigint); - retval=save_event_list_inner(mt,fd,mt->event_list,NULL); + retval = save_event_list_inner(mt, fd, mt->event_list, NULL); if (mainw->signal_caught) catch_sigint(mainw->signal_caught); @@ -779,80 +761,80 @@ end_threaded_dialog(); - if (retval) retval=write_backup_layout_numbering(mt); + if (retval) retval = write_backup_layout_numbering(mt); remove_markers(mt->event_list); lives_close_buffered(fd); - } else mainw->write_failed=TRUE; + } else mainw->write_failed = TRUE; - poly_state=mt->poly_state; - if (mt->poly_state!=POLY_IN_OUT) mt->poly_state=POLY_NONE; + poly_state = mt->poly_state; + if (mt->poly_state != POLY_IN_OUT) mt->poly_state = POLY_NONE; mt_sensitise(mt); - mt->poly_state=poly_state; + mt->poly_state = poly_state; - if (!mainw->write_failed) mt->auto_changed=FALSE; - else mainw->write_failed=FALSE; + if (!mainw->write_failed) mt->auto_changed = FALSE; + else mainw->write_failed = FALSE; - if (!retval||mainw->write_failed) { - retval2=do_write_failed_error_s_with_retry(asave_file,NULL,NULL); + if (!retval || mainw->write_failed) { + retval2 = do_write_failed_error_s_with_retry(asave_file, NULL, NULL); } - } while (retval2==LIVES_RESPONSE_RETRY); + } while (retval2 == LIVES_RESPONSE_RETRY); lives_free(asave_file); - if (stime==0) { + gettimeofday(&otv, NULL); + + if (stime == 0) { #ifdef USE_MONOTONIC_TIME - stime=lives_get_monotonic_time()/1000000.; + stime = lives_get_monotonic_time() / 1000000.; #else - gettimeofday(&otv, NULL); - stime=otv.tv_sec; + stime = otv.tv_sec; #endif } - mt->auto_back_time=stime; - + mt->auto_back_time = stime; + tmp = lives_datetime(&otv); + d_print("Auto backup of timeline at %s\n", tmp); + lives_free(tmp); } - boolean mt_auto_backup(livespointer user_data) { - #ifndef USE_MONOTONIC_TIME struct timeval otv; #endif - int64_t stime,diff; + int64_t stime, diff; - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; - if (!mt->auto_changed||mt->event_list==NULL||prefs->mt_auto_back<0) { - mt->idlefunc=0; + if (!mt->auto_changed || mt->event_list == NULL || prefs->mt_auto_back < 0) { + mt->idlefunc = 0; return FALSE; } - if (mt->idlefunc!=0) { - lives_source_remove(mt->idlefunc); - mt->idlefunc=0; - } - #ifdef USE_MONOTONIC_TIME - stime=lives_get_monotonic_time()/1000000.; + stime = lives_get_monotonic_time() / 1000000.; #else gettimeofday(&otv, NULL); - stime=otv.tv_sec; + stime = otv.tv_sec; #endif - if (mt->auto_back_time==0) mt->auto_back_time=stime; + if (mt->auto_back_time == 0) mt->auto_back_time = stime; - diff=stime-mt->auto_back_time; - if (diff>=prefs->mt_auto_back) { - save_mt_autoback(mt,stime); - mt->auto_changed=FALSE; + diff = stime - mt->auto_back_time; + if (diff >= prefs->mt_auto_back) { + // time to back up the event_list + if (mt->idlefunc != 0) { + lives_source_remove(mt->idlefunc); + mt->idlefunc = 0; + } + save_mt_autoback(mt, stime); + mt->auto_changed = FALSE; + mt->idlefunc = mt_idle_add(mt); } - mt->idlefunc=mt_idle_add(mt); - return TRUE; } @@ -860,137 +842,131 @@ uint32_t mt_idle_add(lives_mt *mt) { uint32_t retval; - if (prefs->mt_auto_back<=0) return 0; + if (prefs->mt_auto_back <= 0) return 0; - if (mt->idlefunc>0) return mt->idlefunc; + if (mt->idlefunc > 0) return mt->idlefunc; set_signal_handlers((SignalHandlerPointer)defer_sigint); - retval=lives_idle_add_full(G_PRIORITY_LOW,mt_auto_backup,mt,NULL); + retval = lives_idle_add_full(G_PRIORITY_LOW, mt_auto_backup, mt, NULL); if (mainw->signal_caught) catch_sigint(mainw->signal_caught); set_signal_handlers((SignalHandlerPointer)catch_sigint); return retval; - } void recover_layout_cancelled(boolean is_startup) { - char *eload_file=lives_strdup_printf("%s/layout.%d.%d.%d",prefs->workdir,lives_getuid(),lives_getgid(),capable->mainpid); + char *eload_file = lives_strdup_printf("%s/layout.%d.%d.%d", prefs->workdir, lives_getuid(), lives_getgid(), capable->mainpid); - if (is_startup) mainw->recoverable_layout=FALSE; + if (is_startup) mainw->recoverable_layout = FALSE; lives_rm(eload_file); lives_free(eload_file); - eload_file=lives_strdup_printf("%s/layout_numbering.%d.%d.%d",prefs->workdir,lives_getuid(),lives_getgid(),capable->mainpid); + eload_file = lives_strdup_printf("%s/layout_numbering.%d.%d.%d", prefs->workdir, lives_getuid(), lives_getgid(), capable->mainpid); lives_rm(eload_file); lives_free(eload_file); if (is_startup) do_after_crash_warning(); - } - static void mt_load_recovery_layout(lives_mt *mt) { - char *aload_file=lives_strdup_printf("%s/layout_numbering.%d.%d.%d",prefs->workdir,lives_getuid(),lives_getgid(), - capable->mainpid); - char *eload_file=lives_strdup_printf("%s/layout.%d.%d.%d",prefs->workdir,lives_getuid(),lives_getgid(),capable->mainpid); - - mt->auto_reloading=TRUE; - mainw->event_list=mt->event_list=load_event_list(mt,eload_file); - mt->auto_reloading=FALSE; - if (mt->event_list!=NULL) { + char *aload_file = lives_strdup_printf("%s/layout_numbering.%d.%d.%d", prefs->workdir, lives_getuid(), lives_getgid(), + capable->mainpid); + char *eload_file = lives_strdup_printf("%s/layout.%d.%d.%d", prefs->workdir, lives_getuid(), lives_getgid(), capable->mainpid); + + mt->auto_reloading = TRUE; + mainw->event_list = mt->event_list = load_event_list(mt, eload_file); + mt->auto_reloading = FALSE; + if (mt->event_list != NULL) { lives_rm(eload_file); lives_rm(aload_file); - mt_init_tracks(mt,TRUE); + mt_init_tracks(mt, TRUE); remove_markers(mt->event_list); - save_mt_autoback(mt,0); + save_mt_autoback(mt, 0); } else { // failed to load // keep the faulty layout for forensic purposes - char *uldir=lives_build_filename(prefs->workdir,"unrecoverable_layouts",LIVES_DIR_SEP,NULL); - lives_mkdir_with_parents(uldir,capable->umask); - if (lives_file_test(eload_file,LIVES_FILE_TEST_EXISTS)) { - lives_mv(eload_file,uldir); + char *uldir = lives_build_filename(prefs->workdir, "unrecoverable_layouts", LIVES_DIR_SEP, NULL); + lives_mkdir_with_parents(uldir, capable->umask); + if (lives_file_test(eload_file, LIVES_FILE_TEST_EXISTS)) { + lives_mv(eload_file, uldir); } - if (lives_file_test(aload_file,LIVES_FILE_TEST_EXISTS)) { - lives_mv(aload_file,uldir); + if (lives_file_test(aload_file, LIVES_FILE_TEST_EXISTS)) { + lives_mv(aload_file, uldir); } - mt->fps=prefs->mt_def_fps; + mt->fps = prefs->mt_def_fps; lives_free(uldir); } lives_free(eload_file); lives_free(aload_file); - } void recover_layout(void) { - if (prefs->startup_interface==STARTUP_CE) { - if (!on_multitrack_activate(NULL,NULL)) { - multitrack_delete(mainw->multitrack,FALSE); + if (prefs->startup_interface == STARTUP_CE) { + if (!on_multitrack_activate(NULL, NULL)) { + multitrack_delete(mainw->multitrack, FALSE); do_bad_layout_error(); } } else { - mainw->multitrack->auto_reloading=TRUE; - set_pref(PREF_AR_LAYOUT,""); // in case we crash... + mainw->multitrack->auto_reloading = TRUE; + set_pref(PREF_AR_LAYOUT, ""); // in case we crash... mt_load_recovery_layout(mainw->multitrack); - mainw->multitrack->auto_reloading=FALSE; + mainw->multitrack->auto_reloading = FALSE; mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); - if (prefs->mt_auto_back==0) mt_auto_backup(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); + if (prefs->mt_auto_back == 0) mt_auto_backup(mainw->multitrack); } - mainw->recoverable_layout=FALSE; + mainw->recoverable_layout = FALSE; do_after_crash_warning(); - } - - void **mt_get_pchain(void) { return pchain; } -LIVES_INLINE char *get_track_name(lives_mt *mt, int track_num, boolean is_audio) { +char *get_track_name(lives_mt *mt, int track_num, boolean is_audio) { + // not const return because of translation issues LiVESWidget *xeventbox; - if (track_num<0) return lives_strdup(_("Backing audio")); - if (!is_audio) xeventbox=(LiVESWidget *)lives_list_nth_data(mt->video_draws,track_num); - else xeventbox=(LiVESWidget *)lives_list_nth_data(mt->audio_draws,track_num+mt->opts.back_audio_tracks); - return lives_strdup((char *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox),"track_name")); + if (track_num < 0) return lives_strdup(_("Backing audio")); + if (!is_audio) xeventbox = (LiVESWidget *)lives_list_nth_data(mt->video_draws, track_num); + else xeventbox = (LiVESWidget *)lives_list_nth_data(mt->audio_draws, track_num + mt->opts.back_audio_tracks); + return lives_strdup((char *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox), "track_name")); } -LIVES_INLINE double get_time_from_x(lives_mt *mt, int x) { - double time=(double)x/(double)lives_widget_get_allocation_width(mt->timeline)*(mt->tl_max-mt->tl_min)+mt->tl_min; - if (time<0.) time=0.; - else if (time>mt->end_secs+1./mt->fps) time=mt->end_secs+1./mt->fps; - return q_dbl(time,mt->fps)/U_SEC; +static LIVES_INLINE double get_time_from_x(lives_mt *mt, int x) { + double time = (double)x / (double)lives_widget_get_allocation_width(mt->timeline) * (mt->tl_max - mt->tl_min) + mt->tl_min; + if (time < 0.) time = 0.; + else if (time > mt->end_secs + 1. / mt->fps) time = mt->end_secs + 1. / mt->fps; + return q_dbl(time, mt->fps) / U_SEC; } -LIVES_INLINE void set_params_unchanged(lives_rfx_t *rfx) { +static LIVES_INLINE void set_params_unchanged(lives_rfx_t *rfx) { int i; - for (i=0; i<rfx->num_params; i++) rfx->params[i].changed=FALSE; + for (i = 0; i < rfx->num_params; i++) rfx->params[i].changed = FALSE; } static int get_track_height(lives_mt *mt) { LiVESWidget *eventbox; - LiVESList *list=mt->video_draws; + LiVESList *list = mt->video_draws; - while (list!=NULL) { - eventbox=(LiVESWidget *)list->data; - if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"hidden"))==0) + while (list != NULL) { + eventbox = (LiVESWidget *)list->data; + if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "hidden")) == 0) return lives_widget_get_allocation_height(eventbox); - list=list->next; + list = list->next; } return 0; @@ -998,7 +974,7 @@ static boolean is_audio_eventbox(LiVESWidget *ebox) { - return LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(ebox),"is_audio")); + return LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(ebox), "is_audio")); } @@ -1007,29 +983,29 @@ // x1 is start point of drawing area (in pixels), x2 is width of drawing area (in pixels) lives_painter_t *cr; - weed_plant_t *event=block->start_event; + weed_plant_t *event = block->start_event; - weed_timecode_t tc=get_event_timecode(event); + weed_timecode_t tc = get_event_timecode(event); - LiVESWidget *eventbox=block->eventbox; + LiVESWidget *eventbox = block->eventbox; - LiVESPixbuf *thumbnail=NULL; + LiVESPixbuf *thumbnail = NULL; - double tl_span=mt->tl_max-mt->tl_min; - double offset_startd=tc/U_SEC; + double tl_span = mt->tl_max - mt->tl_min; + double offset_startd = tc / U_SEC; double offset_endd; - boolean needs_text=TRUE; - boolean is_audio=FALSE; + boolean needs_text = TRUE; + boolean is_audio = FALSE; int offset_start; int offset_end; - int filenum,track; + int filenum, track; - int framenum,last_framenum; - int width=BLOCK_THUMB_WIDTH; + int framenum, last_framenum; + int width = BLOCK_THUMB_WIDTH; - int hidden=(int)LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "hidden")); + int hidden = (int)LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "hidden")); register int i; @@ -1038,152 +1014,150 @@ if (hidden) return; // block to right of screen - if (offset_startd>=mt->tl_max) return; + if (offset_startd >= mt->tl_max) return; // block to right of drawing area - offset_start=(int)((offset_startd-mt->tl_min)/tl_span*lives_widget_get_allocation_width(eventbox)+.5); - if ((x1>0||x2>0)&&offset_start>(x1+x2)) return; + offset_start = (int)((offset_startd - mt->tl_min) / tl_span * lives_widget_get_allocation_width(eventbox) + .5); + if ((x1 > 0 || x2 > 0) && offset_start > (x1 + x2)) return; - offset_endd=get_event_timecode(block->end_event)/U_SEC+(!is_audio_eventbox(eventbox))/cfile->fps; - offset_end=(offset_endd-mt->tl_min)/tl_span*lives_widget_get_allocation_width(eventbox); + offset_endd = get_event_timecode(block->end_event) / U_SEC + (!is_audio_eventbox(eventbox)) / cfile->fps; + offset_end = (offset_endd - mt->tl_min) / tl_span * lives_widget_get_allocation_width(eventbox); //if (offset_end+offset_start>eventbox->allocation.width) offset_end=eventbox->allocation.width-offset_start; // end of block before drawing area - if (offset_end<x1) return; + if (offset_end < x1) return; - if (surf==NULL) cr=cairo; - else cr=lives_painter_create(surf); + if (surf == NULL) cr = cairo; + else cr = lives_painter_create(surf); - if (cr==NULL) return; + if (cr == NULL) return; - lives_painter_set_line_width(cr,1.); + lives_painter_set_line_width(cr, 1.); - track=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"layer_number")); - is_audio=is_audio_eventbox(eventbox); - if (track<0) is_audio=TRUE; + track = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "layer_number")); + is_audio = is_audio_eventbox(eventbox); + if (track < 0) is_audio = TRUE; - if (!is_audio) filenum=get_frame_event_clip(block->start_event,track); - else filenum=get_audio_frame_clip(block->start_event,track); + if (!is_audio) filenum = get_frame_event_clip(block->start_event, track); + else filenum = get_audio_frame_clip(block->start_event, track); switch (block->state) { case BLOCK_UNSELECTED: - if (BLOCK_DRAW_TYPE==BLOCK_DRAW_SIMPLE) { - lives_painter_set_source_rgb_from_lives_rgba(cr,&palette->vidcol); + if (BLOCK_DRAW_TYPE == BLOCK_DRAW_SIMPLE) { + lives_painter_set_source_rgb_from_lives_rgba(cr, &palette->vidcol); lives_painter_new_path(cr); - lives_painter_rectangle(cr,offset_start, 0, offset_end-offset_start, lives_widget_get_allocation_height(eventbox)); + lives_painter_rectangle(cr, offset_start, 0, offset_end - offset_start, lives_widget_get_allocation_height(eventbox)); - lives_painter_move_to(cr,offset_start,0); - lives_painter_line_to(cr,offset_end, lives_widget_get_allocation_height(eventbox)); + lives_painter_move_to(cr, offset_start, 0); + lives_painter_line_to(cr, offset_end, lives_widget_get_allocation_height(eventbox)); - lives_painter_move_to(cr,offset_end,0); - lives_painter_line_to(cr,offset_start, lives_widget_get_allocation_height(eventbox)); + lives_painter_move_to(cr, offset_end, 0); + lives_painter_line_to(cr, offset_start, lives_widget_get_allocation_height(eventbox)); lives_painter_stroke(cr); } else { - if (!is_audio&&track>-1) { - last_framenum=-1; - for (i=offset_start; i<offset_end; i+=BLOCK_THUMB_WIDTH) { - if (i>x2-x1) break; - tc+=tl_span/lives_widget_get_allocation_width(eventbox)*width*U_SEC; - if (i+BLOCK_THUMB_WIDTH<x1) continue; - event=get_frame_event_at(mt->event_list,tc,event,FALSE); - if (i+width>=0) { + if (!is_audio && track > -1) { + last_framenum = -1; + for (i = offset_start; i < offset_end; i += BLOCK_THUMB_WIDTH) { + if (i > x2 - x1) break; + tc += tl_span / lives_widget_get_allocation_width(eventbox) * width * U_SEC; + if (i + BLOCK_THUMB_WIDTH < x1) continue; + event = get_frame_event_at(mt->event_list, tc, event, FALSE); + if (i + width >= 0) { // create a small thumb - framenum=get_frame_event_frame(event,track); - - if (thumbnail!=NULL) lives_object_unref(thumbnail); - thumbnail=NULL; + framenum = get_frame_event_frame(event, track); + if (thumbnail != NULL) lives_object_unref(thumbnail); + thumbnail = NULL; - if (filenum>-1&&mainw->files[filenum]!=NULL&&framenum!=last_framenum) { - if (mainw->files[filenum]->frames>0&&mainw->files[filenum]->clip_type==CLIP_TYPE_FILE) { - lives_clip_data_t *cdata=((lives_decoder_t *)mainw->files[filenum]->ext_src)->cdata; - if (cdata!=NULL&&!(cdata->seek_flag&LIVES_SEEK_FAST)&& - is_virtual_frame(filenum,framenum)) { - thumbnail=make_thumb_fast_between(mt,filenum,width, - lives_widget_get_allocation_height(eventbox), - framenum,last_framenum==-1?0:framenum-last_framenum); + if (filenum > -1 && mainw->files[filenum] != NULL && framenum != last_framenum) { + if (mainw->files[filenum]->frames > 0 && mainw->files[filenum]->clip_type == CLIP_TYPE_FILE) { + lives_clip_data_t *cdata = ((lives_decoder_t *)mainw->files[filenum]->ext_src)->cdata; + if (cdata != NULL && !(cdata->seek_flag & LIVES_SEEK_FAST) && + is_virtual_frame(filenum, framenum)) { + thumbnail = make_thumb_fast_between(mt, filenum, width, + lives_widget_get_allocation_height(eventbox), + framenum, last_framenum == -1 ? 0 : framenum - last_framenum); } else { - thumbnail=make_thumb(mt,filenum,width, - lives_widget_get_allocation_height(eventbox), - framenum,FALSE); + thumbnail = make_thumb(mt, filenum, width, + lives_widget_get_allocation_height(eventbox), + framenum, FALSE); } } else { - thumbnail=make_thumb(mt,filenum,width, - lives_widget_get_allocation_height(eventbox), - framenum,FALSE); + thumbnail = make_thumb(mt, filenum, width, + lives_widget_get_allocation_height(eventbox), + framenum, FALSE); } } - last_framenum=framenum; + last_framenum = framenum; // render it in the eventbox - if (thumbnail!=NULL) { + if (thumbnail != NULL) { lives_painter_set_source_pixbuf(cr, thumbnail, i, 0); - if (i+width>offset_end) { - width=offset_end-i; + if (i + width > offset_end) { + width = offset_end - i; // crop to width lives_painter_new_path(cr); - lives_painter_rectangle(cr,i,0,width,lives_widget_get_allocation_height(eventbox)); + lives_painter_rectangle(cr, i, 0, width, lives_widget_get_allocation_height(eventbox)); lives_painter_clip(cr); } lives_painter_paint(cr); } else { - if (i+width>offset_end) width=offset_end-i; - lives_painter_set_source_rgb_from_lives_rgba(cr,&palette->vidcol); + if (i + width > offset_end) width = offset_end - i; + lives_painter_set_source_rgb_from_lives_rgba(cr, &palette->vidcol); lives_painter_new_path(cr); - lives_painter_rectangle(cr,i,0,width,lives_widget_get_allocation_height(eventbox)); + lives_painter_rectangle(cr, i, 0, width, lives_widget_get_allocation_height(eventbox)); lives_painter_fill(cr); } - if (mainw->playing_file>-1) { - mt->no_expose=TRUE; + if (mainw->playing_file > -1) { + mt->no_expose = TRUE; // expose is not re-entrant due to bgimg refs unpaint_lines(mt); - mt->no_expose=FALSE; + mt->no_expose = FALSE; } - mt->redraw_block=TRUE; // stop drawing cursor during playback - if (mainw->playing_file>-1&&mainw->cancelled==CANCEL_NONE) { + mt->redraw_block = TRUE; // stop drawing cursor during playback + if (mainw->playing_file > -1 && mainw->cancelled == CANCEL_NONE) { // expose is not re-entrant - mt->no_expose=TRUE; + mt->no_expose = TRUE; process_one(FALSE); - mt->no_expose=FALSE; + mt->no_expose = FALSE; } - mt->redraw_block=FALSE; + mt->redraw_block = FALSE; } } - if (thumbnail!=NULL) lives_object_unref(thumbnail); + if (thumbnail != NULL) lives_object_unref(thumbnail); } else { - lives_painter_set_source_rgb_from_lives_rgba(cr,&palette->audcol); + lives_painter_set_source_rgb_from_lives_rgba(cr, &palette->audcol); lives_painter_new_path(cr); - lives_painter_rectangle(cr,offset_start,0,offset_end-offset_start,lives_widget_get_allocation_height(eventbox)); + lives_painter_rectangle(cr, offset_start, 0, offset_end - offset_start, lives_widget_get_allocation_height(eventbox)); lives_painter_fill(cr); } lives_painter_set_source_rgb(cr, 0., 0., 0.); ///< opaque black lives_painter_new_path(cr); - lives_painter_rectangle(cr,offset_start, 0, offset_end-offset_start, lives_widget_get_allocation_height(eventbox)); + lives_painter_rectangle(cr, offset_start, 0, offset_end - offset_start, lives_widget_get_allocation_height(eventbox)); lives_painter_stroke(cr); if (needs_text) { - const char *sfont="Sans"; - char *fname=lives_path_get_basename(mainw->files[filenum]->name); - lives_colRGBA64_t col_white,col_black; + const char *sfont = "Sans"; + char *fname = lives_path_get_basename(mainw->files[filenum]->name); + lives_colRGBA64_t col_white, col_black; LingoLayout *layout; lives_painter_surface_t *surface; - int text_start=offset_start+2,text_end=offset_end; + int text_start = offset_start + 2, text_end = offset_end; - if (text_start<2) text_start=2; + if (text_start < 2) text_start = 2; - surface=lives_painter_get_target(cr); + surface = lives_painter_get_target(cr); lives_painter_surface_flush(surface); - col_white.red=col_white.green=col_white.blue=col_white.alpha=col_black.alpha=65535; - col_black.red=col_black.green=col_black.blue=0; - + col_white.red = col_white.green = col_white.blue = col_white.alpha = col_black.alpha = 65535; + col_black.red = col_black.green = col_black.blue = 0; - layout=render_text_to_cr(NULL,cr,fname,sfont,10., - LIVES_TEXT_MODE_FOREGROUND_ONLY,&col_white,&col_white,FALSE,FALSE,0.2,text_start, - text_end-text_start,lives_widget_get_allocation_height(eventbox)); + layout = render_text_to_cr(NULL, cr, fname, sfont, 10., + LIVES_TEXT_MODE_FOREGROUND_ONLY, &col_white, &col_white, FALSE, FALSE, 0.2, text_start, + text_end - text_start, lives_widget_get_allocation_height(eventbox)); lingo_painter_show_layout(cr, layout); @@ -1194,18 +1168,18 @@ lives_painter_fill(cr); } - if (mainw->playing_file>-1) { - mt->no_expose=TRUE; // expose is not re-entrant due to bgimg refs. + if (mainw->playing_file > -1) { + mt->no_expose = TRUE; // expose is not re-entrant due to bgimg refs. unpaint_lines(mt); - mt->no_expose=FALSE; + mt->no_expose = FALSE; } - mt->redraw_block=TRUE; // stop drawing cursor during playback - if (mainw->playing_file>-1&&mainw->cancelled==CANCEL_NONE) { - mt->no_expose=TRUE; + mt->redraw_block = TRUE; // stop drawing cursor during playback + if (mainw->playing_file > -1 && mainw->cancelled == CANCEL_NONE) { + mt->no_expose = TRUE; process_one(FALSE); - mt->no_expose=FALSE; + mt->no_expose = FALSE; } - mt->redraw_block=FALSE; + mt->redraw_block = FALSE; } break; case BLOCK_SELECTED: @@ -1217,30 +1191,29 @@ 0., 0., 0.6); - lives_painter_rectangle(cr,offset_start, 0, offset_end-offset_start, lives_widget_get_allocation_height(eventbox)); + lives_painter_rectangle(cr, offset_start, 0, offset_end - offset_start, lives_widget_get_allocation_height(eventbox)); lives_painter_fill(cr); lives_painter_set_source_rgb(cr, 0., 0., 0.); ///< opaque black lives_painter_new_path(cr); - lives_painter_rectangle(cr,offset_start, 0, offset_end-offset_start, lives_widget_get_allocation_height(eventbox)); + lives_painter_rectangle(cr, offset_start, 0, offset_end - offset_start, lives_widget_get_allocation_height(eventbox)); - lives_painter_move_to(cr,offset_start,0); - lives_painter_line_to(cr,offset_end, lives_widget_get_allocation_height(eventbox)); + lives_painter_move_to(cr, offset_start, 0); + lives_painter_line_to(cr, offset_end, lives_widget_get_allocation_height(eventbox)); - lives_painter_move_to(cr,offset_end,0); - lives_painter_line_to(cr,offset_start, lives_widget_get_allocation_height(eventbox)); + lives_painter_move_to(cr, offset_end, 0); + lives_painter_line_to(cr, offset_start, lives_widget_get_allocation_height(eventbox)); lives_painter_stroke(cr); break; } - if (surf!=NULL) lives_painter_destroy(cr); + if (surf != NULL) lives_painter_destroy(cr); } - static void draw_aparams(lives_mt *mt, LiVESWidget *eventbox, lives_painter_t *cr, LiVESList *param_list, weed_plant_t *init_event, int startx, int width) { // draw audio parameters : currently we overlay coloured lines on the audio track to show the level of @@ -1249,110 +1222,110 @@ LiVESList *plist; - weed_plant_t **in_params,*param,*ptmpl; - weed_plant_t *filter,*inst,*deinit_event; + weed_plant_t **in_params, *param, *ptmpl; + weed_plant_t *filter, *inst, *deinit_event; - weed_timecode_t tc,start_tc,end_tc; + weed_timecode_t tc, start_tc, end_tc; - double tl_span=mt->tl_max-mt->tl_min; + double tl_span = mt->tl_max - mt->tl_min; double dtime; double ratio; - double vald,mind,maxd,*valds; + double vald, mind, maxd, *valds; double y; - int vali,mini,maxi,*valis; - int i,error,pnum; + int vali, mini, maxi, *valis; + int i, error, pnum; int hint; - int offset_start,offset_end,startpos; + int offset_start, offset_end, startpos; int track; char *fhash; - void **pchainx=NULL; + void **pchainx = NULL; - fhash=weed_get_string_value(init_event,WEED_LEAF_FILTER,&error); + fhash = weed_get_string_value(init_event, WEED_LEAF_FILTER, &error); - if (fhash==NULL) { + if (fhash == NULL) { return; } - filter=get_weed_filter(weed_get_idx_for_hashname(fhash,TRUE)); + filter = get_weed_filter(weed_get_idx_for_hashname(fhash, TRUE)); lives_free(fhash); - inst=weed_instance_from_filter(filter); - in_params=weed_get_plantptr_array(inst,WEED_LEAF_IN_PARAMETERS,&error); + inst = weed_instance_from_filter(filter); + in_params = weed_get_plantptr_array(inst, WEED_LEAF_IN_PARAMETERS, &error); - deinit_event=(weed_plant_t *)weed_get_voidptr_value(init_event,WEED_LEAF_DEINIT_EVENT,&error); + deinit_event = (weed_plant_t *)weed_get_voidptr_value(init_event, WEED_LEAF_DEINIT_EVENT, &error); - start_tc=get_event_timecode(init_event); - end_tc=get_event_timecode(deinit_event); + start_tc = get_event_timecode(init_event); + end_tc = get_event_timecode(deinit_event); - offset_start=(int)((start_tc/U_SEC-mt->tl_min)/tl_span*lives_widget_get_allocation_width(eventbox)+.5); - offset_end=(int)((end_tc/U_SEC-mt->tl_min+1./mt->fps)/tl_span*lives_widget_get_allocation_width(eventbox)+.5); + offset_start = (int)((start_tc / U_SEC - mt->tl_min) / tl_span * lives_widget_get_allocation_width(eventbox) + .5); + offset_end = (int)((end_tc / U_SEC - mt->tl_min + 1. / mt->fps) / tl_span * lives_widget_get_allocation_width(eventbox) + .5); - if (offset_end<0||offset_start>lives_widget_get_allocation_width(eventbox)) { + if (offset_end < 0 || offset_start > lives_widget_get_allocation_width(eventbox)) { lives_free(in_params); return; } - if (offset_start>startx) startpos=offset_start; - else startpos=startx; + if (offset_start > startx) startpos = offset_start; + else startpos = startx; - track=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"layer_number"))+mt->opts.back_audio_tracks; + track = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "layer_number")) + mt->opts.back_audio_tracks; - lives_painter_set_line_width(cr,1.); + lives_painter_set_line_width(cr, 1.); lives_painter_set_source_rgb(cr, 0., 0., 0.); ///< opaque black - if (weed_plant_has_leaf(init_event,WEED_LEAF_IN_PARAMETERS)) { - if (weed_leaf_num_elements(init_event,WEED_LEAF_IN_PARAMETERS)>0) - pchainx=weed_get_voidptr_array(init_event,WEED_LEAF_IN_PARAMETERS,&error); + if (weed_plant_has_leaf(init_event, WEED_LEAF_IN_PARAMETERS)) { + if (weed_leaf_num_elements(init_event, WEED_LEAF_IN_PARAMETERS) > 0) + pchainx = weed_get_voidptr_array(init_event, WEED_LEAF_IN_PARAMETERS, &error); } //lives_painter_set_operator (cr, LIVES_PAINTER_OPERATOR_DEST_OVER); - for (i=startpos; i<startx+width; i++) { - dtime=get_time_from_x(mt,i); - tc=dtime*U_SEC; - if (tc>=end_tc) break; - - if (pchainx!=NULL) interpolate_params(inst,pchainx,tc); - - plist=param_list; - while (plist!=NULL) { - pnum=LIVES_POINTER_TO_INT(plist->data); - param=in_params[pnum]; - ptmpl=weed_get_plantptr_value(param,WEED_LEAF_TEMPLATE,&error); - hint=weed_get_int_value(ptmpl,WEED_LEAF_HINT,&error); + for (i = startpos; i < startx + width; i++) { + dtime = get_time_from_x(mt, i); + tc = dtime * U_SEC; + if (tc >= end_tc) break; + + if (pchainx != NULL) interpolate_params(inst, pchainx, tc); + + plist = param_list; + while (plist != NULL) { + pnum = LIVES_POINTER_TO_INT(plist->data); + param = in_params[pnum]; + ptmpl = weed_get_plantptr_value(param, WEED_LEAF_TEMPLATE, &error); + hint = weed_get_int_value(ptmpl, WEED_LEAF_HINT, &error); switch (hint) { case WEED_HINT_INTEGER: - valis=weed_get_int_array(param,WEED_LEAF_VALUE,&error); - if (is_perchannel_multiw(in_params[pnum])) vali=valis[track]; - else vali=valis[0]; - mini=weed_get_int_value(ptmpl,WEED_LEAF_MIN,&error); - maxi=weed_get_int_value(ptmpl,WEED_LEAF_MAX,&error); - ratio=(double)(vali-mini)/(double)(maxi-mini); + valis = weed_get_int_array(param, WEED_LEAF_VALUE, &error); + if (is_perchannel_multiw(in_params[pnum])) vali = valis[track]; + else vali = valis[0]; + mini = weed_get_int_value(ptmpl, WEED_LEAF_MIN, &error); + maxi = weed_get_int_value(ptmpl, WEED_LEAF_MAX, &error); + ratio = (double)(vali - mini) / (double)(maxi - mini); lives_free(valis); break; case WEED_HINT_FLOAT: - valds=weed_get_double_array(param,WEED_LEAF_VALUE,&error); - if (is_perchannel_multiw(in_params[pnum])) vald=valds[track]; - else vald=valds[0]; - mind=weed_get_double_value(ptmpl,WEED_LEAF_MIN,&error); - maxd=weed_get_double_value(ptmpl,WEED_LEAF_MAX,&error); - ratio=(vald-mind)/(maxd-mind); + valds = weed_get_double_array(param, WEED_LEAF_VALUE, &error); + if (is_perchannel_multiw(in_params[pnum])) vald = valds[track]; + else vald = valds[0]; + mind = weed_get_double_value(ptmpl, WEED_LEAF_MIN, &error); + maxd = weed_get_double_value(ptmpl, WEED_LEAF_MAX, &error); + ratio = (vald - mind) / (maxd - mind); lives_free(valds); break; default: continue; } - y=(1.-ratio)*(double)lives_widget_get_allocation_height(eventbox); + y = (1. - ratio) * (double)lives_widget_get_allocation_height(eventbox); - lives_painter_move_to(cr, i-1, y-1); + lives_painter_move_to(cr, i - 1, y - 1); lives_painter_line_to(cr, i, y); - plist=plist->next; + plist = plist->next; } } @@ -1364,24 +1337,22 @@ } - static void redraw_eventbox(lives_mt *mt, LiVESWidget *eventbox) { - if (!LIVES_IS_WIDGET_OBJECT(eventbox)) return; - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"drawn",LIVES_INT_TO_POINTER(FALSE)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "drawn", LIVES_INT_TO_POINTER(FALSE)); lives_widget_queue_draw(eventbox); // redraw the track if (is_audio_eventbox(eventbox)) { // handle expanded audio LiVESWidget *xeventbox; - if (cfile->achans>0) { - xeventbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"achan0"); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(xeventbox), "drawn",LIVES_INT_TO_POINTER(FALSE)); + if (cfile->achans > 0) { + xeventbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "achan0"); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(xeventbox), "drawn", LIVES_INT_TO_POINTER(FALSE)); lives_widget_queue_draw(xeventbox); // redraw the track - if (cfile->achans>1) { - xeventbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"achan1"); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(xeventbox), "drawn",LIVES_INT_TO_POINTER(FALSE)); + if (cfile->achans > 1) { + xeventbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "achan1"); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(xeventbox), "drawn", LIVES_INT_TO_POINTER(FALSE)); lives_widget_queue_draw(xeventbox); // redraw the track } } @@ -1389,166 +1360,174 @@ } -#if GTK_CHECK_VERSION(3,0,0) -static boolean expose_track_event(LiVESWidget *eventbox, lives_painter_t *cairo, livespointer user_data) { -#else -static boolean expose_track_event(LiVESWidget *eventbox, LiVESXEventExpose *event, livespointer user_data) { - lives_painter_t *cairo=NULL; -#endif - - lives_painter_t *cr=cairo; +static EXPOSE_FN_DECL(expose_track_event, eventbox) { + lives_painter_t *cr; - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; track_rect *block; - track_rect *sblock=NULL; + track_rect *sblock = NULL; ulong idlefunc; lives_painter_surface_t *bgimage; - int startx,starty,width,height; + int startx, starty, width, height; int hidden; if (mt->no_expose) return TRUE; -#if !GTK_CHECK_VERSION(3,0,0) - if (event!=NULL&&event->count>0) { - return TRUE; + if (event != NULL) { + if (event->count > 0) { + return TRUE; + } + startx = event->area.x; + starty = event->area.y; + width = event->area.width; + height = event->area.height; + } else { + startx = starty = 0; + width = lives_widget_get_allocation_width(eventbox); + height = lives_widget_get_allocation_height(eventbox); } - startx=event->area.x; - starty=event->area.y; - width=event->area.width; - height=event->area.height; -#else - startx=starty=0; - width=lives_widget_get_allocation_width(eventbox); - height=lives_widget_get_allocation_height(eventbox); -#endif - if (width==0) return FALSE; + if (width == 0) return FALSE; - hidden=(int)LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "hidden")); - if (hidden!=0) { - LiVESWidget *label=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "label"); + hidden = (int)LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "hidden")); + if (hidden != 0) { + LiVESWidget *label = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "label"); lives_widget_hide(eventbox); lives_widget_hide(lives_widget_get_parent(label)); return FALSE; } - idlefunc=mt->idlefunc; - if (mt->idlefunc>0) { - lives_source_remove(mt->idlefunc); - mt->idlefunc=0; + idlefunc = mt->idlefunc; + if (mt->idlefunc > 0) { + mt->idlefunc = 0; + lives_source_remove(idlefunc); } - if (width>lives_widget_get_allocation_width(eventbox)-startx) width=lives_widget_get_allocation_width(eventbox)-startx; + if (width > lives_widget_get_allocation_width(eventbox) - startx) width = lives_widget_get_allocation_width(eventbox) - startx; + + if (cairo == NULL) cr = lives_painter_create_from_widget(eventbox); + else cr = cairo; - if (cairo==NULL) cr = lives_painter_create_from_widget(eventbox); - bgimage=(lives_painter_surface_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "bgimg"); + bgimage = (lives_painter_surface_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "bgimg"); draw1: if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "drawn"))) { - if (bgimage!=NULL&&lives_painter_image_surface_get_width(bgimage)>0) { + if (bgimage != NULL && lives_painter_image_surface_get_width(bgimage) > 0) { lives_painter_set_source_surface(cr, bgimage, startx, starty); - lives_painter_rectangle(cr,startx,starty,width,height); + lives_painter_rectangle(cr, startx, starty, width, height); lives_painter_fill(cr); - if (mt->block_selected!=NULL&&mt->block_selected->eventbox==eventbox) { - draw_block(mt,cr,NULL,mt->block_selected,-1,-1); + if (mt->block_selected != NULL && mt->block_selected->eventbox == eventbox) { + draw_block(mt, cr, NULL, mt->block_selected, -1, -1); } - if (is_audio_eventbox(eventbox)&&mt->avol_init_event!=NULL&&mt->opts.aparam_view_list!=NULL) - draw_aparams(mt,eventbox,cr,mt->opts.aparam_view_list,mt->avol_init_event,startx,width); + if (is_audio_eventbox(eventbox) && mt->avol_init_event != NULL && mt->opts.aparam_view_list != NULL) + draw_aparams(mt, eventbox, cr, mt->opts.aparam_view_list, mt->avol_init_event, startx, width); - if (idlefunc>0) { - mt->idlefunc=mt_idle_add(mt); + if (idlefunc > 0) { + mt->idlefunc = mt_idle_add(mt); } - if (cairo==NULL) lives_painter_destroy(cr); + if (cairo == NULL) lives_painter_destroy(cr); return TRUE; } } + width = lives_widget_get_allocation_width(eventbox); + height = lives_widget_get_allocation_height(eventbox); + if (cairo == NULL) lives_painter_destroy(cr); + + if (bgimage != NULL) lives_painter_surface_destroy(bgimage); + + bgimage = lives_painter_image_surface_create(LIVES_PAINTER_FORMAT_ARGB32, + width, + height); + + if (bgimage != NULL && lives_painter_image_surface_get_width(bgimage) > 0) { + lives_set_cursor_style(LIVES_CURSOR_BUSY, NULL); + + if (palette->style & STYLE_1) { + lives_painter_t *crx = lives_painter_create(bgimage); + lives_colRGBA64_t lcol; + if (palette->style & STYLE_3) { + widget_color_to_lives_rgba(&lcol, &palette->menu_and_bars); + } else { + widget_color_to_lives_rgba(&lcol, &palette->normal_fore); + } + lives_painter_set_source_rgb_from_lives_rgba(crx, &lcol); + lives_painter_rectangle(crx, 0., 0., width, height); + lives_painter_fill(crx); + lives_painter_paint(crx); + lives_painter_destroy(crx); + } -#if !GTK_CHECK_VERSION(3,0,0) - width=lives_widget_get_allocation_width(eventbox); - height=lives_widget_get_allocation_height(eventbox); -#endif - - if (bgimage!=NULL) lives_painter_surface_destroy(bgimage); - - bgimage=lives_painter_image_surface_create(LIVES_PAINTER_FORMAT_ARGB32, - width, - height); - - if (bgimage!=NULL&&lives_painter_image_surface_get_width(bgimage)>0) { - lives_set_cursor_style(LIVES_CURSOR_BUSY,NULL); - - if (mt->block_selected!=NULL) { - sblock=mt->block_selected; - sblock->state=BLOCK_UNSELECTED; + if (mt->block_selected != NULL) { + sblock = mt->block_selected; + sblock->state = BLOCK_UNSELECTED; } - block=(track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "blocks"); + block = (track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "blocks"); - while (block!=NULL) { - draw_block(mt,NULL,bgimage,block,startx,width); - block=block->next; - mt->redraw_block=TRUE; // stop drawing cursor during playback - if (mainw->playing_file>-1&&mainw->cancelled==CANCEL_NONE) { - mt->no_expose=TRUE; + while (block != NULL) { + draw_block(mt, NULL, bgimage, block, startx, width); + block = block->next; + mt->redraw_block = TRUE; // stop drawing cursor during playback + if (mainw->playing_file > -1 && mainw->cancelled == CANCEL_NONE) { + mt->no_expose = TRUE; process_one(FALSE); - mt->no_expose=FALSE; + mt->no_expose = FALSE; } - mt->redraw_block=FALSE; + mt->redraw_block = FALSE; } - if (sblock!=NULL) { - mt->block_selected=sblock; - sblock->state=BLOCK_SELECTED; + if (sblock != NULL) { + mt->block_selected = sblock; + sblock->state = BLOCK_SELECTED; } - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); - } else if (bgimage!=NULL) { + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); + } else if (bgimage != NULL) { lives_painter_surface_destroy(bgimage); - bgimage=NULL; + bgimage = NULL; } - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"bgimg",(livespointer)bgimage); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"drawn",LIVES_INT_TO_POINTER(bgimage!=NULL)); - - if (bgimage!=NULL&&lives_painter_image_surface_get_width(bgimage)>0) goto draw1; + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "bgimg", (livespointer)bgimage); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "drawn", LIVES_INT_TO_POINTER(bgimage != NULL)); - if (cairo==NULL) lives_painter_destroy(cr); + if (bgimage != NULL && lives_painter_image_surface_get_width(bgimage) > 0) goto draw1; - if (idlefunc>0) { - mt->idlefunc=mt_idle_add(mt); + if (idlefunc > 0) { + mt->idlefunc = mt_idle_add(mt); } return TRUE; } - +} static char *mt_params_label(lives_mt *mt) { - char *fname=weed_filter_idx_get_name(mt->current_fx); + char *fname = weed_filter_idx_get_name(mt->current_fx); char *layer_name; char *ltext; if (has_perchannel_multiw(get_weed_filter(mt->current_fx))) { - layer_name=get_track_name(mt,mt->current_track,mt->aud_track_selected); - ltext=lives_strdup_printf(_("%s : parameters for %s"),fname,layer_name); + layer_name = get_track_name(mt, mt->current_track, mt->aud_track_selected); + ltext = lives_strdup_printf(_("%s : parameters for %s"), fname, layer_name); lives_free(layer_name); - } else ltext=lives_strdup(fname); + } else ltext = lives_strdup(fname); lives_free(fname); return ltext; } -double mt_get_effect_time(lives_mt *mt) { - return q_gint64(lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->node_spinbutton))*U_SEC,mt->fps)/U_SEC; + +LIVES_INLINE double mt_get_effect_time(lives_mt *mt) { + return q_gint64(lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->node_spinbutton)) * U_SEC, mt->fps) / U_SEC; } @@ -1564,45 +1543,45 @@ weed_timecode_t tc; - double fx_start_time,fx_end_time; - double cur_time=mt->ptr_time; + double fx_start_time, fx_end_time; + double cur_time = mt->ptr_time; char *ltext; - boolean res=FALSE; + boolean res = FALSE; int error; - int dph=widget_opts.packing_height; - int dbw=widget_opts.border_width; + int dph = widget_opts.packing_height; + int dbw = widget_opts.border_width; - tc=get_event_timecode((weed_plant_t *)mt->init_event); - deinit_event=(weed_plant_t *)weed_get_voidptr_value(mt->init_event,WEED_LEAF_DEINIT_EVENT,&error); + tc = get_event_timecode((weed_plant_t *)mt->init_event); + deinit_event = (weed_plant_t *)weed_get_voidptr_value(mt->init_event, WEED_LEAF_DEINIT_EVENT, &error); - fx_start_time=tc/U_SEC; - fx_end_time=get_event_timecode(deinit_event)/U_SEC; + fx_start_time = tc / U_SEC; + fx_end_time = get_event_timecode(deinit_event) / U_SEC; - if (mt->fx_box!=NULL) { + if (mt->fx_box != NULL) { lives_widget_destroy(mt->fx_box); } - mt->fx_box=lives_vbox_new(FALSE,0); - lives_box_pack_end(LIVES_BOX(mt->fx_base_box),mt->fx_box,TRUE,TRUE,0); + mt->fx_box = lives_vbox_new(FALSE, 0); + lives_box_pack_end(LIVES_BOX(mt->fx_base_box), mt->fx_box, TRUE, TRUE, 0); - ltext=mt_params_label(mt); + ltext = mt_params_label(mt); - lives_signal_handlers_block_by_func(mt->node_spinbutton,(livespointer)on_node_spin_value_changed,(livespointer)mt); - lives_spin_button_configure(LIVES_SPIN_BUTTON(mt->node_spinbutton), cur_time-fx_start_time, 0., - fx_end_time-fx_start_time, 1./mt->fps, 10./mt->fps); - lives_signal_handlers_unblock_by_func(mt->node_spinbutton,(livespointer)on_node_spin_value_changed,(livespointer)mt); - - widget_opts.packing_height=2.*widget_opts.scale; - widget_opts.border_width=2.*widget_opts.scale; - res=make_param_box(LIVES_VBOX(mt->fx_box), mt->current_rfx); - widget_opts.packing_height=dph; - widget_opts.border_width=dbw; + lives_signal_handlers_block_by_func(mt->node_spinbutton, (livespointer)on_node_spin_value_changed, (livespointer)mt); + lives_spin_button_configure(LIVES_SPIN_BUTTON(mt->node_spinbutton), cur_time - fx_start_time, 0., + fx_end_time - fx_start_time, 1. / mt->fps, 10. / mt->fps); + lives_signal_handlers_unblock_by_func(mt->node_spinbutton, (livespointer)on_node_spin_value_changed, (livespointer)mt); + + widget_opts.packing_height = 2.*widget_opts.scale; + widget_opts.border_width = 2.*widget_opts.scale; + res = make_param_box(LIVES_VBOX(mt->fx_box), mt->current_rfx); + widget_opts.packing_height = dph; + widget_opts.border_width = dbw; - lives_label_set_text(LIVES_LABEL(mt->fx_params_label),ltext); + lives_label_set_text(LIVES_LABEL(mt->fx_params_label), ltext); lives_free(ltext); @@ -1611,23 +1590,23 @@ if (res) lives_widget_show(mt->fx_contents_box); else lives_widget_hide(mt->fx_contents_box); - mt->prev_fx_time=mt_get_effect_time(mt); + mt->prev_fx_time = mt_get_effect_time(mt); return res; } static track_rect *get_block_from_time(LiVESWidget *eventbox, double time, lives_mt *mt) { // return block (track_rect) at seconds time in eventbox - weed_timecode_t tc=time*U_SECL; + weed_timecode_t tc = time * U_SECL; track_rect *block; - block=(track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"blocks"); - tc=q_gint64(tc,mt->fps); + block = (track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "blocks"); + tc = q_gint64(tc, mt->fps); - while (block!=NULL) { - if (get_event_timecode(block->start_event)>tc) return NULL; - if (q_gint64(get_event_timecode(block->end_event)+(!is_audio_eventbox(eventbox))*U_SEC/mt->fps,mt->fps)>tc) break; - block=block->next; + while (block != NULL) { + if (get_event_timecode(block->start_event) > tc) return NULL; + if (q_gint64(get_event_timecode(block->end_event) + (!is_audio_eventbox(eventbox))*U_SEC / mt->fps, mt->fps) > tc) break; + block = block->next; } return block; } @@ -1640,18 +1619,17 @@ // note that a track could be mapped to multiple channels; we return only the first instance we find - - int error,ntracks=weed_leaf_num_elements(ievent,WEED_LEAF_IN_TRACKS); + int error, ntracks = weed_leaf_num_elements(ievent, WEED_LEAF_IN_TRACKS); int *in_tracks; register int i; - if (ntracks==0) return -1; + if (ntracks == 0) return -1; - in_tracks=weed_get_int_array(ievent,WEED_LEAF_IN_TRACKS,&error); + in_tracks = weed_get_int_array(ievent, WEED_LEAF_IN_TRACKS, &error); - for (i=0; i<ntracks; i++) { - if (in_tracks[i]==track) { + for (i = 0; i < ntracks; i++) { + if (in_tracks[i] == track) { lives_free(in_tracks); return i; } @@ -1661,66 +1639,65 @@ } - static boolean get_track_index(lives_mt *mt, weed_timecode_t tc) { // set mt->track_index to the in_channel index of mt->current_track in WEED_LEAF_IN_TRACKS in mt->init_event // set -1 if there is no frame for that in_channel, or if mt->current_track lies outside the WEED_LEAF_IN_TRACKS of mt->init_event // return TRUE if mt->fx_box is redrawn - int *clips,*in_tracks,numtracks; - weed_plant_t *event=get_frame_event_at(mt->event_list,tc,NULL,TRUE); + int *clips, *in_tracks, numtracks; + weed_plant_t *event = get_frame_event_at(mt->event_list, tc, NULL, TRUE); - boolean retval=FALSE; + boolean retval = FALSE; int error; int num_in_tracks; - int opwidth,opheight; + int opwidth, opheight; - int track_index=mt->track_index; + int track_index = mt->track_index; int chindx; register int i; - mt->track_index=-1; - mt->inwidth=mt->inheight=0; + mt->track_index = -1; + mt->inwidth = mt->inheight = 0; - if (event==NULL) return retval; + if (event == NULL) return retval; - opwidth=cfile->hsize; - opheight=cfile->vsize; - calc_maxspect(mt->play_width,mt->play_height,&opwidth,&opheight); + opwidth = cfile->hsize; + opheight = cfile->vsize; + calc_maxspect(mt->play_width, mt->play_height, &opwidth, &opheight); - numtracks=weed_leaf_num_elements(event,WEED_LEAF_CLIPS); - clips=weed_get_int_array(event,WEED_LEAF_CLIPS,&error); + numtracks = weed_leaf_num_elements(event, WEED_LEAF_CLIPS); + clips = weed_get_int_array(event, WEED_LEAF_CLIPS, &error); - chindx=track_to_channel(mt->init_event,mt->current_track); + chindx = track_to_channel(mt->init_event, mt->current_track); - if (mt->current_track<numtracks&&clips[mt->current_track]<1&& - (mt->current_rfx==NULL||mt->init_event==NULL||mt->current_rfx->source==NULL||chindx==-1|| - !is_audio_channel_in((weed_plant_t *)mt->current_rfx->source,chindx))) { - if (track_index!=-1&&mt->fx_box!=NULL) { + if (mt->current_track < numtracks && clips[mt->current_track] < 1 && + (mt->current_rfx == NULL || mt->init_event == NULL || mt->current_rfx->source == NULL || chindx == -1 || + !is_audio_channel_in((weed_plant_t *)mt->current_rfx->source, chindx))) { + if (track_index != -1 && mt->fx_box != NULL) { add_mt_param_box(mt); - retval=TRUE; + retval = TRUE; } lives_free(clips); return retval; } - if ((num_in_tracks=weed_leaf_num_elements(mt->init_event,WEED_LEAF_IN_TRACKS))>0) { - in_tracks=weed_get_int_array(mt->init_event,WEED_LEAF_IN_TRACKS,&error); - for (i=0; i<num_in_tracks; i++) { - if (in_tracks[i]==mt->current_track) { - mt->track_index=i; - if (mt->current_track>=0&&mt->current_track<numtracks&& - (clips[mt->current_track]>-1)) { - mt->inwidth=mainw->files[clips[mt->current_track]]->hsize*opwidth/cfile->hsize; - mt->inheight=mainw->files[clips[mt->current_track]]->vsize*opheight/cfile->vsize; + if ((num_in_tracks = weed_leaf_num_elements(mt->init_event, WEED_LEAF_IN_TRACKS)) > 0) { + in_tracks = weed_get_int_array(mt->init_event, WEED_LEAF_IN_TRACKS, &error); + for (i = 0; i < num_in_tracks; i++) { + if (in_tracks[i] == mt->current_track) { + mt->track_index = i; + if (mt->current_track >= 0 && mt->current_track < numtracks && + (clips[mt->current_track] > -1)) { + mt->inwidth = mainw->files[clips[mt->current_track]]->hsize * opwidth / cfile->hsize; + mt->inheight = mainw->files[clips[mt->current_track]]->vsize * opheight / cfile->vsize; } - if (track_index==-1&&mt->fx_box!=NULL) { + if (track_index == -1 && mt->fx_box != NULL) { add_mt_param_box(mt); - retval=TRUE; + retval = TRUE; } break; } @@ -1728,69 +1705,66 @@ lives_free(in_tracks); } lives_free(clips); - if (track_index!=-1&&mt->track_index==-1&&mt->fx_box!=NULL) { + if (track_index != -1 && mt->track_index == -1 && mt->fx_box != NULL) { add_mt_param_box(mt); - retval=TRUE; + retval = TRUE; } return retval; } - - void track_select(lives_mt *mt) { - LiVESWidget *labelbox,*label,*hbox,*dummy,*ahbox,*arrow,*eventbox,*oeventbox,*checkbutton=NULL; + LiVESWidget *labelbox, *label, *hbox, *dummy, *ahbox, *arrow, *eventbox, *oeventbox, *checkbutton = NULL; weed_timecode_t tc; - int hidden=0; + int hidden = 0; register int i; - if (mt->current_track<0) { + if (mt->current_track < 0) { // back aud sel - lives_widget_set_sensitive(mt->select_track,FALSE); - lives_widget_set_sensitive(mt->rename_track,FALSE); + lives_widget_set_sensitive(mt->select_track, FALSE); + lives_widget_set_sensitive(mt->rename_track, FALSE); lives_widget_set_sensitive(mt->insert, FALSE); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->select_track),FALSE); - - lives_widget_set_sensitive(mt->cback_audio,FALSE); - lives_widget_set_sensitive(mt->audio_insert, mt->file_selected>0&& - mainw->files[mt->file_selected]->achans>0&& - mainw->files[mt->file_selected]->laudio_time>0.); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->select_track), FALSE); + lives_widget_set_sensitive(mt->cback_audio, FALSE); + lives_widget_set_sensitive(mt->audio_insert, mt->file_selected > 0 && + mainw->files[mt->file_selected]->achans > 0 && + mainw->files[mt->file_selected]->laudio_time > 0.); } else { // vid sel - lives_widget_set_sensitive(mt->select_track,TRUE); - lives_widget_set_sensitive(mt->rename_track,TRUE); - lives_widget_set_sensitive(mt->cback_audio,TRUE); + lives_widget_set_sensitive(mt->select_track, TRUE); + lives_widget_set_sensitive(mt->rename_track, TRUE); + lives_widget_set_sensitive(mt->cback_audio, TRUE); - lives_widget_set_sensitive(mt->insert, mt->file_selected>0&&mainw->files[mt->file_selected]->frames>0); - lives_widget_set_sensitive(mt->adjust_start_end, mt->file_selected>0); + lives_widget_set_sensitive(mt->insert, mt->file_selected > 0 && mainw->files[mt->file_selected]->frames > 0); + lives_widget_set_sensitive(mt->adjust_start_end, mt->file_selected > 0); lives_widget_set_sensitive(mt->audio_insert, FALSE); } - if (palette->style&STYLE_1) { - if (cfile->achans>0) { - for (i=0; i<lives_list_length(mt->audio_draws); i++) { - eventbox=(LiVESWidget *)lives_list_nth_data(mt->audio_draws,i); - if ((oeventbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"owner"))!=NULL) - hidden=!LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(oeventbox),"expanded")); - if (hidden==0) hidden=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"hidden")); - if (hidden==0) { - labelbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"labelbox"); - label=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"label"); - dummy=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"dummy"); - ahbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"ahbox"); - arrow=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"arrow"); - if (mt->current_track==i-mt->opts.back_audio_tracks&&(mt->current_track<0||mt->aud_track_selected)) { + if (palette->style & STYLE_1) { + if (cfile->achans > 0) { + for (i = 0; i < lives_list_length(mt->audio_draws); i++) { + eventbox = (LiVESWidget *)lives_list_nth_data(mt->audio_draws, i); + if ((oeventbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "owner")) != NULL) + hidden = !LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(oeventbox), "expanded")); + if (hidden == 0) hidden = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "hidden")); + if (hidden == 0) { + labelbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "labelbox"); + label = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "label"); + dummy = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "dummy"); + ahbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "ahbox"); + arrow = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "arrow"); + if (mt->current_track == i - mt->opts.back_audio_tracks && (mt->current_track < 0 || mt->aud_track_selected)) { // audio track is selected - if (labelbox!=NULL) { + if (labelbox != NULL) { lives_widget_set_bg_color(labelbox, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_fg_color(labelbox, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); } - if (ahbox!=NULL) { + if (ahbox != NULL) { lives_widget_set_bg_color(ahbox, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_fg_color(ahbox, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); } @@ -1801,14 +1775,14 @@ lives_widget_set_bg_color(arrow, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_fg_color(arrow, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); - lives_widget_set_sensitive(mt->jumpback, lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"blocks")!=NULL); - lives_widget_set_sensitive(mt->jumpnext, lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"blocks")!=NULL); + lives_widget_set_sensitive(mt->jumpback, lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "blocks") != NULL); + lives_widget_set_sensitive(mt->jumpnext, lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "blocks") != NULL); } else { - if (labelbox!=NULL) { + if (labelbox != NULL) { lives_widget_set_bg_color(labelbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); lives_widget_set_fg_color(labelbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); } - if (ahbox!=NULL) { + if (ahbox != NULL) { lives_widget_set_bg_color(ahbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); lives_widget_set_fg_color(ahbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); } @@ -1822,27 +1796,26 @@ } } } - } - for (i=0; i<mt->num_video_tracks; i++) { - eventbox=(LiVESWidget *)lives_list_nth_data(mt->video_draws,i); - hidden=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"hidden")); - if (hidden==0) { - labelbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"labelbox"); - label=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"label"); - hbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"hbox"); - ahbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"ahbox"); - arrow=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"arrow"); - checkbutton=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "checkbutton"); - if (i==mt->current_track) { - if (palette->style&STYLE_1) { + for (i = 0; i < mt->num_video_tracks; i++) { + eventbox = (LiVESWidget *)lives_list_nth_data(mt->video_draws, i); + hidden = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "hidden")); + if (hidden == 0) { + labelbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "labelbox"); + label = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "label"); + hbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "hbox"); + ahbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "ahbox"); + arrow = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "arrow"); + checkbutton = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "checkbutton"); + if (i == mt->current_track) { + if (palette->style & STYLE_1) { if (!mt->aud_track_selected) { - if (labelbox!=NULL) { + if (labelbox != NULL) { lives_widget_set_bg_color(labelbox, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_fg_color(labelbox, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); } - if (ahbox!=NULL) { + if (ahbox != NULL) { lives_widget_set_bg_color(ahbox, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_fg_color(ahbox, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); } @@ -1853,14 +1826,14 @@ lives_widget_set_fg_color(label, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); lives_widget_set_fg_color(arrow, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); - lives_widget_set_sensitive(mt->jumpback, lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"blocks")!=NULL); - lives_widget_set_sensitive(mt->jumpnext, lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"blocks")!=NULL); + lives_widget_set_sensitive(mt->jumpback, lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "blocks") != NULL); + lives_widget_set_sensitive(mt->jumpnext, lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "blocks") != NULL); } else { - if (labelbox!=NULL) { + if (labelbox != NULL) { lives_widget_set_bg_color(labelbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); lives_widget_set_fg_color(labelbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); } - if (ahbox!=NULL) { + if (ahbox != NULL) { lives_widget_set_bg_color(ahbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); lives_widget_set_fg_color(ahbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); } @@ -1874,7 +1847,7 @@ } #ifdef ENABLE_GIW - if ((prefs->lamp_buttons&&!giw_led_get_mode(GIW_LED(checkbutton)))||(!prefs->lamp_buttons&& + if ((prefs->lamp_buttons && !giw_led_get_mode(GIW_LED(checkbutton))) || (!prefs->lamp_buttons && #else if ( #endif @@ -1885,20 +1858,20 @@ { // set other widgets if (lives_check_menu_item_get_active(LIVES_CHECK_MENU_ITEM(mt->select_track))) { - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->select_track),FALSE); - } else on_seltrack_activate(LIVES_MENU_ITEM(mt->select_track),mt); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->select_track), FALSE); + } else on_seltrack_activate(LIVES_MENU_ITEM(mt->select_track), mt); } else { if (!lives_check_menu_item_get_active(LIVES_CHECK_MENU_ITEM(mt->select_track))) - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->select_track),TRUE); - else on_seltrack_activate(LIVES_MENU_ITEM(mt->select_track),mt); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->select_track), TRUE); + else on_seltrack_activate(LIVES_MENU_ITEM(mt->select_track), mt); } } else { - if (palette->style&STYLE_1) { - if (labelbox!=NULL) { + if (palette->style & STYLE_1) { + if (labelbox != NULL) { lives_widget_set_bg_color(labelbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); lives_widget_set_fg_color(labelbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); } - if (ahbox!=NULL) { + if (ahbox != NULL) { lives_widget_set_bg_color(ahbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); lives_widget_set_fg_color(ahbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); } @@ -1913,211 +1886,203 @@ } } - - if (mt->poly_state==POLY_FX_STACK) polymorph(mt,POLY_FX_STACK); - else if (mt->current_rfx!=NULL&&mt->init_event!=NULL&&mt->poly_state==POLY_PARAMS&& - weed_plant_has_leaf(mt->init_event,WEED_LEAF_IN_TRACKS)) { + if (mt->poly_state == POLY_FX_STACK) polymorph(mt, POLY_FX_STACK); + else if (mt->current_rfx != NULL && mt->init_event != NULL && mt->poly_state == POLY_PARAMS && + weed_plant_has_leaf(mt->init_event, WEED_LEAF_IN_TRACKS)) { boolean xx; - weed_timecode_t init_tc=get_event_timecode(mt->init_event); - tc=q_gint64(lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->node_spinbutton))*U_SEC+init_tc,mt->fps); + weed_timecode_t init_tc = get_event_timecode(mt->init_event); + tc = q_gint64(lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->node_spinbutton)) * U_SEC + init_tc, mt->fps); // must be done in this order: interpolate, update, preview - xx=get_track_index(mt,tc); - if (mt->track_index!=-1) { - if (mt->current_track>=0) { - interpolate_params((weed_plant_t *)mt->current_rfx->source,pchain,tc); + xx = get_track_index(mt, tc); + if (mt->track_index != -1) { + if (mt->current_track >= 0) { + interpolate_params((weed_plant_t *)mt->current_rfx->source, pchain, tc); } if (!xx) { - boolean aprev=mt->opts.fx_auto_preview; - mt->opts.fx_auto_preview=FALSE; - mainw->block_param_updates=TRUE; - update_visual_params(mt->current_rfx,FALSE); - mainw->block_param_updates=FALSE; - mt->opts.fx_auto_preview=aprev; + boolean aprev = mt->opts.fx_auto_preview; + mt->opts.fx_auto_preview = FALSE; + mainw->block_param_updates = TRUE; + update_visual_params(mt->current_rfx, FALSE); + mainw->block_param_updates = FALSE; + mt->opts.fx_auto_preview = aprev; } - if (mt->current_track>=0) { + if (mt->current_track >= 0) { set_params_unchanged(mt->current_rfx); mt_show_current_frame(mt, FALSE); } - if (mt->fx_params_label!=NULL) { - char *ltext=mt_params_label(mt); - lives_label_set_text(LIVES_LABEL(mt->fx_params_label),ltext); + if (mt->fx_params_label != NULL) { + char *ltext = mt_params_label(mt); + lives_label_set_text(LIVES_LABEL(mt->fx_params_label), ltext); lives_free(ltext); } - } else polymorph(mt,POLY_FX_STACK); + } else polymorph(mt, POLY_FX_STACK); } - } static void show_track_info(lives_mt *mt, LiVESWidget *eventbox, int track, double timesecs) { - char *tmp,*tmp1; - track_rect *block=get_block_from_time(eventbox,timesecs,mt); + char *tmp, *tmp1; + track_rect *block = get_block_from_time(eventbox, timesecs, mt); int filenum; clear_context(mt); if (!is_audio_eventbox(eventbox)) add_context_label - (mt,(tmp=lives_strdup_printf - (_("Current track: %s (layer %d)\n"), - lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), - "track_name"),track))); + (mt, (tmp = lives_strdup_printf + (_("Current track: %s (layer %d)\n"), + lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), + "track_name"), track))); else { - if (track==-1) add_context_label(mt,(tmp=lives_strdup(_("Current track: Backing audio\n")))); - else add_context_label(mt,(tmp=lives_strdup_printf(_("Current track: Layer %d audio\n"),track))); + if (track == -1) add_context_label(mt, (tmp = lives_strdup(_("Current track: Backing audio\n")))); + else add_context_label(mt, (tmp = lives_strdup_printf(_("Current track: Layer %d audio\n"), track))); } lives_free(tmp); - add_context_label(mt,(tmp=lives_strdup_printf(_("%.2f sec.\n"),timesecs))); + add_context_label(mt, (tmp = lives_strdup_printf(_("%.2f sec.\n"), timesecs))); lives_free(tmp); - if (block!=NULL) { - if (!is_audio_eventbox(eventbox)) filenum=get_frame_event_clip(block->start_event,track); - else filenum=get_audio_frame_clip(block->start_event,track); - add_context_label(mt,(tmp=lives_strdup_printf(_("Source: %s"),(tmp1=lives_path_get_basename(mainw->files[filenum]->name))))); + if (block != NULL) { + if (!is_audio_eventbox(eventbox)) filenum = get_frame_event_clip(block->start_event, track); + else filenum = get_audio_frame_clip(block->start_event, track); + add_context_label(mt, (tmp = lives_strdup_printf(_("Source: %s"), (tmp1 = lives_path_get_basename(mainw->files[filenum]->name))))); lives_free(tmp); lives_free(tmp1); - add_context_label(mt,(_("Right click for context menu.\n"))); + add_context_label(mt, (_("Right click for context menu.\n"))); } - add_context_label(mt,(_("Double click on a block\nto select it."))); + add_context_label(mt, (_("Double click on a block\nto select it."))); } static boolean atrack_ebox_pressed(LiVESWidget *labelbox, LiVESXEventButton *event, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - int current_track=mt->current_track; + lives_mt *mt = (lives_mt *)user_data; + int current_track = mt->current_track; if (!mainw->interactive) return FALSE; - mt->current_track=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(labelbox),"layer_number")); - if (current_track!=mt->current_track) mt->fm_edit_event=NULL; - mt->aud_track_selected=TRUE; + mt->current_track = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(labelbox), "layer_number")); + if (current_track != mt->current_track) mt->fm_edit_event = NULL; + mt->aud_track_selected = TRUE; track_select(mt); - show_track_info(mt,(LiVESWidget *)lives_list_nth_data(mt->audio_draws,mt->current_track+mt->opts.back_audio_tracks), - mt->current_track,mt->ptr_time); + show_track_info(mt, (LiVESWidget *)lives_list_nth_data(mt->audio_draws, mt->current_track + mt->opts.back_audio_tracks), + mt->current_track, mt->ptr_time); return FALSE; } - - static boolean track_ebox_pressed(LiVESWidget *labelbox, LiVESXEventButton *event, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - int current_track=mt->current_track; + lives_mt *mt = (lives_mt *)user_data; + int current_track = mt->current_track; if (!mainw->interactive) return FALSE; - mt->current_track=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(labelbox),"layer_number")); - if (current_track!=mt->current_track) mt->fm_edit_event=NULL; - mt->aud_track_selected=FALSE; + mt->current_track = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(labelbox), "layer_number")); + if (current_track != mt->current_track) mt->fm_edit_event = NULL; + mt->aud_track_selected = FALSE; track_select(mt); - show_track_info(mt,(LiVESWidget *)lives_list_nth_data(mt->video_draws,mt->current_track),mt->current_track,mt->ptr_time); + show_track_info(mt, (LiVESWidget *)lives_list_nth_data(mt->video_draws, mt->current_track), mt->current_track, mt->ptr_time); return FALSE; } - static boolean on_mt_timeline_scroll(LiVESWidget *widget, LiVESXEventScroll *event, livespointer user_data) { // scroll timeline up/down with mouse wheel - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; int cval; if (!lives_window_has_toplevel_focus(LIVES_WINDOW(mainw->multitrack->window))) return FALSE; - cval=lives_adjustment_get_value(lives_range_get_adjustment(LIVES_RANGE(mt->scrollbar))); + cval = lives_adjustment_get_value(lives_range_get_adjustment(LIVES_RANGE(mt->scrollbar))); - if (event->direction==LIVES_SCROLL_UP) { - if (--cval<0) return FALSE; - } else if (event->direction==LIVES_SCROLL_DOWN) { - if (++cval>=lives_list_length(mt->video_draws)) return FALSE; + if (event->direction == LIVES_SCROLL_UP) { + if (--cval < 0) return FALSE; + } else if (event->direction == LIVES_SCROLL_DOWN) { + if (++cval >= lives_list_length(mt->video_draws)) return FALSE; } - lives_range_set_value(LIVES_RANGE(mt->scrollbar),cval); + lives_range_set_value(LIVES_RANGE(mt->scrollbar), cval); return FALSE; } - static int get_top_track_for(lives_mt *mt, int track) { // find top track such that all of track fits at the bottom LiVESWidget *eventbox; LiVESList *vdraw; - int extras=prefs->max_disp_vtracks-1; - int hidden,expanded; + int extras = prefs->max_disp_vtracks - 1; + int hidden, expanded; - if (mt->opts.back_audio_tracks>0&&mt->audio_draws==NULL) mt->opts.back_audio_tracks=0; - if (cfile->achans>0&&mt->opts.back_audio_tracks>0) { - eventbox=(LiVESWidget *)mt->audio_draws->data; - hidden=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"hidden")); + if (mt->opts.back_audio_tracks > 0 && mt->audio_draws == NULL) mt->opts.back_audio_tracks = 0; + if (cfile->achans > 0 && mt->opts.back_audio_tracks > 0) { + eventbox = (LiVESWidget *)mt->audio_draws->data; + hidden = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "hidden")); if (!hidden) { extras--; - expanded=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"expanded")); + expanded = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "expanded")); if (expanded) { - extras-=cfile->achans; + extras -= cfile->achans; } } } - if (extras<0) return track; + if (extras < 0) return track; - vdraw=lives_list_nth(mt->video_draws,track); - eventbox=(LiVESWidget *)vdraw->data; - expanded=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"expanded")); + vdraw = lives_list_nth(mt->video_draws, track); + eventbox = (LiVESWidget *)vdraw->data; + expanded = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "expanded")); if (expanded) { - eventbox=(LiVESWidget *)(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"atrack")); + eventbox = (LiVESWidget *)(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "atrack")); extras--; - expanded=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"expanded")); + expanded = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "expanded")); if (expanded) { - extras-=cfile->achans; + extras -= cfile->achans; } } - if (extras<0) return track; + if (extras < 0) return track; - vdraw=vdraw->prev; + vdraw = vdraw->prev; - while (vdraw!=NULL) { - eventbox=(LiVESWidget *)vdraw->data; - hidden=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"hidden"))&TRACK_I_HIDDEN_USER; - expanded=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"expanded")); + while (vdraw != NULL) { + eventbox = (LiVESWidget *)vdraw->data; + hidden = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "hidden"))&TRACK_I_HIDDEN_USER; + expanded = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "expanded")); extras--; if (expanded) { - eventbox=(LiVESWidget *)(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"atrack")); + eventbox = (LiVESWidget *)(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "atrack")); extras--; - expanded=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"expanded")); + expanded = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "expanded")); if (expanded) { - extras-=cfile->achans; + extras -= cfile->achans; } } - if (extras<0) break; - vdraw=vdraw->prev; + if (extras < 0) break; + vdraw = vdraw->prev; track--; } - if (track<0) track=0; + if (track < 0) track = 0; return track; - } static void redraw_all_event_boxes(lives_mt *mt) { LiVESList *slist; - slist=mt->audio_draws; - while (slist!=NULL) { - redraw_eventbox(mt,(LiVESWidget *)slist->data); - slist=slist->next; + slist = mt->audio_draws; + while (slist != NULL) { + redraw_eventbox(mt, (LiVESWidget *)slist->data); + slist = slist->next; } - slist=mt->video_draws; - while (slist!=NULL) { - redraw_eventbox(mt,(LiVESWidget *)slist->data); - slist=slist->next; + slist = mt->video_draws; + while (slist != NULL) { + redraw_eventbox(mt, (LiVESWidget *)slist->data); + slist = slist->next; } + paint_lines(mt, mt->ptr_time, TRUE); } - - void scroll_tracks(lives_mt *mt, int top_track, boolean set_value) { - LiVESList *vdraws=mt->video_draws; - LiVESList *table_children,*xlist; + LiVESList *vdraws = mt->video_draws; + LiVESList *table_children, *xlist; LiVESWidget *eventbox; LiVESWidget *label; @@ -2127,98 +2092,97 @@ LiVESWidget *labelbox; LiVESWidget *hbox; LiVESWidget *ahbox; - LiVESWidget *xeventbox,*aeventbox; + LiVESWidget *xeventbox, *aeventbox; LiVESWidgetColor col; boolean expanded; - int rows=0; - int aud_tracks=0; + int rows = 0; + int aud_tracks = 0; int hidden; - lives_rgba_to_widget_color(&col,&palette->mt_evbox); + lives_rgba_to_widget_color(&col, &palette->mt_evbox); - lives_adjustment_set_page_size(LIVES_ADJUSTMENT(mt->vadjustment),(double)prefs->max_disp_vtracks); - lives_adjustment_set_upper(LIVES_ADJUSTMENT(mt->vadjustment),(double)(mt->num_video_tracks*2-1)); + lives_adjustment_set_page_size(LIVES_ADJUSTMENT(mt->vadjustment), (double)prefs->max_disp_vtracks); + lives_adjustment_set_upper(LIVES_ADJUSTMENT(mt->vadjustment), (double)(mt->num_video_tracks * 2 - 1)); if (set_value) - lives_adjustment_set_value(LIVES_ADJUSTMENT(mt->vadjustment),(double)top_track); + lives_adjustment_set_value(LIVES_ADJUSTMENT(mt->vadjustment), (double)top_track); - if (top_track<0) top_track=0; - if (top_track>=lives_list_length(mt->video_draws)) top_track=lives_list_length(mt->video_draws)-1; + if (top_track < 0) top_track = 0; + if (top_track >= lives_list_length(mt->video_draws)) top_track = lives_list_length(mt->video_draws) - 1; - mt->top_track=top_track; + mt->top_track = top_track; // first set all tracks to hidden - while (vdraws!=NULL) { - eventbox=(LiVESWidget *)vdraws->data; - hidden=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"hidden")); - hidden|=TRACK_I_HIDDEN_SCROLLED; - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"hidden",LIVES_INT_TO_POINTER(hidden)); + while (vdraws != NULL) { + eventbox = (LiVESWidget *)vdraws->data; + hidden = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "hidden")); + hidden |= TRACK_I_HIDDEN_SCROLLED; + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "hidden", LIVES_INT_TO_POINTER(hidden)); - aeventbox=LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"atrack")); + aeventbox = LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "atrack")); - if (aeventbox!=NULL) { - hidden=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(aeventbox),"hidden")); - hidden|=TRACK_I_HIDDEN_SCROLLED; - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(aeventbox),"hidden",LIVES_INT_TO_POINTER(hidden)); + if (aeventbox != NULL) { + hidden = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(aeventbox), "hidden")); + hidden |= TRACK_I_HIDDEN_SCROLLED; + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(aeventbox), "hidden", LIVES_INT_TO_POINTER(hidden)); + xeventbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(aeventbox), "achan0"); - xeventbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(aeventbox),"achan0"); - - if (xeventbox!=NULL) { - hidden=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox),"hidden")); - hidden|=TRACK_I_HIDDEN_SCROLLED; - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(xeventbox),"hidden",LIVES_INT_TO_POINTER(hidden)); - + if (xeventbox != NULL) { + hidden = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox), "hidden")); + hidden |= TRACK_I_HIDDEN_SCROLLED; + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(xeventbox), "hidden", LIVES_INT_TO_POINTER(hidden)); } - xeventbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(aeventbox),"achan1"); + xeventbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(aeventbox), "achan1"); - if (xeventbox!=NULL) { - hidden=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox),"hidden")); - hidden|=TRACK_I_HIDDEN_SCROLLED; - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(xeventbox),"hidden",LIVES_INT_TO_POINTER(hidden)); + if (xeventbox != NULL) { + hidden = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox), "hidden")); + hidden |= TRACK_I_HIDDEN_SCROLLED; + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(xeventbox), "hidden", LIVES_INT_TO_POINTER(hidden)); } } - vdraws=vdraws->next; + vdraws = vdraws->next; } - if (mt->timeline_table!=NULL) { + if (mt->timeline_table != NULL) { lives_widget_destroy(mt->timeline_table); } mt->timeline_table = lives_table_new(prefs->max_disp_vtracks, TIMELINE_TABLE_COLUMNS, TRUE); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(mt->timeline_table), "has_line", LIVES_INT_TO_POINTER(-1)); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(LIVES_WIDGET(mt->timeline_table), LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); } lives_container_add(LIVES_CONTAINER(mt->tl_eventbox), mt->timeline_table); - lives_table_set_row_spacings(LIVES_TABLE(mt->timeline_table),widget_opts.packing_height>>1); - lives_table_set_col_spacings(LIVES_TABLE(mt->timeline_table),0); + lives_table_set_row_spacings(LIVES_TABLE(mt->timeline_table), widget_opts.packing_height >> 1); + lives_table_set_col_spacings(LIVES_TABLE(mt->timeline_table), 0); - lives_widget_set_vexpand(mt->timeline_table,FALSE); + lives_widget_set_vexpand(mt->timeline_table, FALSE); - if (mt->opts.back_audio_tracks>0&&mt->audio_draws==NULL) mt->opts.back_audio_tracks=0; + if (mt->opts.back_audio_tracks > 0 && mt->audio_draws == NULL) mt->opts.back_audio_tracks = 0; - if (cfile->achans>0&&mt->opts.back_audio_tracks>0) { + if (cfile->achans > 0 && mt->opts.back_audio_tracks > 0) { // show our float audio - if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data),"hidden"))==0) { + if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data), "hidden")) == 0) { aud_tracks++; - expanded=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data),"expanded")); + expanded = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data), "expanded")); - label=(LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data),"label"))); - dummy=(LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data),"dummy"))); - arrow=(LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data),"arrow"))); - - labelbox=lives_event_box_new(); - hbox=lives_hbox_new(FALSE,widget_opts.packing_width); - ahbox=lives_event_box_new(); + label = (LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data), "label"))); + dummy = (LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data), "dummy"))); + arrow = (LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data), "arrow"))); + + labelbox = lives_event_box_new(); + hbox = lives_hbox_new(FALSE, widget_opts.packing_width); + ahbox = lives_event_box_new(); lives_container_add(LIVES_CONTAINER(labelbox), hbox); lives_box_pack_start(LIVES_BOX(hbox), label, TRUE, TRUE, 0); @@ -2228,12 +2192,12 @@ lives_table_attach(LIVES_TABLE(mt->timeline_table), labelbox, 2, 6, 0, 1, LIVES_FILL, (LiVESAttachOptions)0, 0, 0); lives_table_attach(LIVES_TABLE(mt->timeline_table), ahbox, 6, 7, 0, 1, LIVES_FILL, (LiVESAttachOptions)0, 0, 0); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data),"labelbox",labelbox); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data),"label",label); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data),"dummy",dummy); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data),"ahbox",ahbox); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(ahbox),"eventbox",(livespointer)mt->audio_draws->data); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(labelbox),"layer_number",LIVES_INT_TO_POINTER(-1)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data), "labelbox", labelbox); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data), "label", label); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data), "dummy", dummy); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data), "ahbox", ahbox); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(ahbox), "eventbox", (livespointer)mt->audio_draws->data); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(labelbox), "layer_number", LIVES_INT_TO_POINTER(-1)); lives_signal_connect(LIVES_GUI_OBJECT(labelbox), LIVES_WIDGET_BUTTON_PRESS_EVENT, LIVES_GUI_CALLBACK(atrack_ebox_pressed), @@ -2255,101 +2219,99 @@ (livespointer)mt); lives_widget_set_bg_color(LIVES_WIDGET(mt->audio_draws->data), LIVES_WIDGET_STATE_NORMAL, &col); - lives_widget_set_app_paintable(LIVES_WIDGET(mt->audio_draws->data),TRUE); + lives_widget_set_app_paintable(LIVES_WIDGET(mt->audio_draws->data), TRUE); lives_signal_connect(LIVES_GUI_OBJECT(mt->audio_draws->data), LIVES_WIDGET_EXPOSE_EVENT, LIVES_GUI_CALLBACK(expose_track_event), (livespointer)mt); if (expanded) { - xeventbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data),"achan0"); + xeventbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data), "achan0"); lives_table_attach(LIVES_TABLE(mt->timeline_table), xeventbox, 7, TIMELINE_TABLE_COLUMNS, 1, 2, (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL), (LiVESAttachOptions)(LIVES_FILL), 0, 0); lives_widget_set_bg_color(xeventbox, LIVES_WIDGET_STATE_NORMAL, &col); - lives_widget_set_app_paintable(xeventbox,TRUE); + lives_widget_set_app_paintable(xeventbox, TRUE); lives_signal_connect(LIVES_GUI_OBJECT(xeventbox), LIVES_WIDGET_EXPOSE_EVENT, LIVES_GUI_CALLBACK(mt_expose_audtrack_event), (livespointer)mt); - if (cfile->achans>1) { - xeventbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data),"achan1"); + if (cfile->achans > 1) { + xeventbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data), "achan1"); lives_table_attach(LIVES_TABLE(mt->timeline_table), xeventbox, 7, TIMELINE_TABLE_COLUMNS, 2, 3, (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL), (LiVESAttachOptions)(LIVES_FILL), 0, 0); lives_widget_set_bg_color(xeventbox, LIVES_WIDGET_STATE_NORMAL, &col); - lives_widget_set_app_paintable(xeventbox,TRUE); + lives_widget_set_app_paintable(xeventbox, TRUE); lives_signal_connect(LIVES_GUI_OBJECT(xeventbox), LIVES_WIDGET_EXPOSE_EVENT, LIVES_GUI_CALLBACK(mt_expose_audtrack_event), (livespointer)mt); } - aud_tracks+=cfile->achans; + aud_tracks += cfile->achans; } } } - lives_adjustment_set_page_size(LIVES_ADJUSTMENT(mt->vadjustment), - (double)((int)(lives_adjustment_get_page_size(LIVES_ADJUSTMENT(mt->vadjustment)))-aud_tracks)); + (double)((int)(lives_adjustment_get_page_size(LIVES_ADJUSTMENT(mt->vadjustment))) - aud_tracks)); - vdraws=lives_list_nth(mt->video_draws,top_track); + vdraws = lives_list_nth(mt->video_draws, top_track); - rows+=aud_tracks; + rows += aud_tracks; - while (vdraws!=NULL&&rows<prefs->max_disp_vtracks) { - eventbox=(LiVESWidget *)vdraws->data; + while (vdraws != NULL && rows < prefs->max_disp_vtracks) { + eventbox = (LiVESWidget *)vdraws->data; - hidden=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"hidden"))&TRACK_I_HIDDEN_USER; - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"hidden",LIVES_INT_TO_POINTER(hidden)); + hidden = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "hidden"))&TRACK_I_HIDDEN_USER; + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "hidden", LIVES_INT_TO_POINTER(hidden)); - if (hidden==0) { + if (hidden == 0) { - label=(LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"label"))); - arrow=(LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"arrow"))); - checkbutton=(LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"checkbutton"))); - labelbox=lives_event_box_new(); - hbox=lives_hbox_new(FALSE,widget_opts.packing_width); - ahbox=lives_event_box_new(); + label = (LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "label"))); + arrow = (LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "arrow"))); + checkbutton = (LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "checkbutton"))); + labelbox = lives_event_box_new(); + hbox = lives_hbox_new(FALSE, widget_opts.packing_width); + ahbox = lives_event_box_new(); // seems to need doing twice... lives_widget_set_bg_color(LIVES_WIDGET(eventbox), LIVES_WIDGET_STATE_NORMAL, &col); #ifdef ENABLE_GIW if (prefs->lamp_buttons) { -#if GTK_CHECK_VERSION(3,0,0) - giw_led_set_rgba(GIW_LED(checkbutton),palette->light_green,palette->dark_red); +#if GTK_CHECK_VERSION(3, 0, 0) + giw_led_set_rgba(GIW_LED(checkbutton), palette->light_green, palette->dark_red); #else - giw_led_set_colors(GIW_LED(checkbutton),palette->light_green,palette->dark_red); + giw_led_set_colors(GIW_LED(checkbutton), palette->light_green, palette->dark_red); #endif } #endif - - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(labelbox),"layer_number", + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(labelbox), "layer_number", LIVES_INT_TO_POINTER(LIVES_POINTER_TO_INT (lives_widget_object_get_data - (LIVES_WIDGET_OBJECT(eventbox),"layer_number")))); + (LIVES_WIDGET_OBJECT(eventbox), "layer_number")))); lives_container_add(LIVES_CONTAINER(labelbox), hbox); lives_box_pack_start(LIVES_BOX(hbox), checkbutton, FALSE, FALSE, 0); lives_box_pack_start(LIVES_BOX(hbox), label, TRUE, TRUE, 0); lives_container_add(LIVES_CONTAINER(ahbox), arrow); - lives_table_attach(LIVES_TABLE(mt->timeline_table), labelbox, 0, 6, rows, rows+1, LIVES_FILL, (LiVESAttachOptions)0, 0, 0); - lives_table_attach(LIVES_TABLE(mt->timeline_table), ahbox, 6, 7, rows, rows+1, LIVES_FILL, (LiVESAttachOptions)0, 0, 0); + lives_table_attach(LIVES_TABLE(mt->timeline_table), labelbox, 0, 6, rows, rows + 1, LIVES_FILL, (LiVESAttachOptions)0, 0, 0); + lives_table_attach(LIVES_TABLE(mt->timeline_table), ahbox, 6, 7, rows, rows + 1, LIVES_FILL, (LiVESAttachOptions)0, 0, 0); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"labelbox",labelbox); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"label",label); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"hbox",hbox); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"ahbox",ahbox); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"arrow",arrow); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(ahbox),"eventbox",eventbox); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "labelbox", labelbox); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "label", label); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "hbox", hbox); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "ahbox", ahbox); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "arrow", arrow); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(ahbox), "eventbox", eventbox); - lives_table_attach(LIVES_TABLE(mt->timeline_table), eventbox, 7, TIMELINE_TABLE_COLUMNS, rows, rows+1, + lives_table_attach(LIVES_TABLE(mt->timeline_table), eventbox, 7, TIMELINE_TABLE_COLUMNS, rows, rows + 1, (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL), (LiVESAttachOptions)(LIVES_FILL), 0, 0); @@ -2368,7 +2330,7 @@ (livespointer)mt); lives_widget_set_bg_color(eventbox, LIVES_WIDGET_STATE_NORMAL, &col); - lives_widget_set_app_paintable(eventbox,TRUE); + lives_widget_set_app_paintable(eventbox, TRUE); lives_signal_connect(LIVES_GUI_OBJECT(eventbox), LIVES_WIDGET_EXPOSE_EVENT, LIVES_GUI_CALLBACK(expose_track_event), (livespointer)mt); @@ -2385,30 +2347,28 @@ (livespointer)mt); rows++; - if (rows==prefs->max_disp_vtracks) break; + if (rows == prefs->max_disp_vtracks) break; + if (mt->opts.pertrack_audio && lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "expanded")) { - if (mt->opts.pertrack_audio&&lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"expanded")) { + aeventbox = LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "atrack")); - aeventbox=LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"atrack")); + hidden = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(aeventbox), "hidden"))&TRACK_I_HIDDEN_USER; + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(aeventbox), "hidden", LIVES_INT_TO_POINTER(hidden)); - hidden=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(aeventbox),"hidden"))&TRACK_I_HIDDEN_USER; - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(aeventbox),"hidden",LIVES_INT_TO_POINTER(hidden)); - - - if (hidden==0) { + if (hidden == 0) { lives_adjustment_set_page_size(LIVES_ADJUSTMENT(mt->vadjustment), - (double)((int)lives_adjustment_get_page_size(LIVES_ADJUSTMENT(mt->vadjustment))-1)); + (double)((int)lives_adjustment_get_page_size(LIVES_ADJUSTMENT(mt->vadjustment)) - 1)); - expanded=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(aeventbox),"expanded")); + expanded = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(aeventbox), "expanded")); - label=(LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(aeventbox),"label"))); - dummy=(LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(aeventbox),"dummy"))); - arrow=(LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(aeventbox),"arrow"))); + label = (LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(aeventbox), "label"))); + dummy = (LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(aeventbox), "dummy"))); + arrow = (LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(aeventbox), "arrow"))); - labelbox=lives_event_box_new(); - hbox=lives_hbox_new(FALSE,widget_opts.packing_width); - ahbox=lives_event_box_new(); + labelbox = lives_event_box_new(); + hbox = lives_hbox_new(FALSE, widget_opts.packing_width); + ahbox = lives_event_box_new(); lives_widget_set_bg_color(LIVES_WIDGET(aeventbox), LIVES_WIDGET_STATE_NORMAL, &col); @@ -2417,20 +2377,20 @@ lives_container_add(LIVES_CONTAINER(ahbox), arrow); // for gtk+2.x have 0,2...5,7 ? - lives_table_attach(LIVES_TABLE(mt->timeline_table), dummy, 0, 2, rows, rows+1, LIVES_FILL, (LiVESAttachOptions)0, 0, 0); - lives_table_attach(LIVES_TABLE(mt->timeline_table), labelbox, 2, 6, rows, rows+1, LIVES_FILL, (LiVESAttachOptions)0, 0, 0); - lives_table_attach(LIVES_TABLE(mt->timeline_table), ahbox, 6, 7, rows, rows+1, LIVES_FILL, (LiVESAttachOptions)0, 0, 0); - - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(aeventbox),"labelbox",labelbox); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(aeventbox),"label",label); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(aeventbox),"dummy",dummy); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(aeventbox),"hbox",label); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(aeventbox),"ahbox",ahbox); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(ahbox),"eventbox",aeventbox); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(labelbox),"layer_number", + lives_table_attach(LIVES_TABLE(mt->timeline_table), dummy, 0, 2, rows, rows + 1, LIVES_FILL, (LiVESAttachOptions)0, 0, 0); + lives_table_attach(LIVES_TABLE(mt->timeline_table), labelbox, 2, 6, rows, rows + 1, LIVES_FILL, (LiVESAttachOptions)0, 0, 0); + lives_table_attach(LIVES_TABLE(mt->timeline_table), ahbox, 6, 7, rows, rows + 1, LIVES_FILL, (LiVESAttachOptions)0, 0, 0); + + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(aeventbox), "labelbox", labelbox); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(aeventbox), "label", label); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(aeventbox), "dummy", dummy); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(aeventbox), "hbox", label); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(aeventbox), "ahbox", ahbox); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(ahbox), "eventbox", aeventbox); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(labelbox), "layer_number", LIVES_INT_TO_POINTER(LIVES_POINTER_TO_INT (lives_widget_object_get_data - (LIVES_WIDGET_OBJECT(eventbox),"layer_number")))); + (LIVES_WIDGET_OBJECT(eventbox), "layer_number")))); lives_signal_connect(LIVES_GUI_OBJECT(labelbox), LIVES_WIDGET_BUTTON_PRESS_EVENT, LIVES_GUI_CALLBACK(atrack_ebox_pressed), @@ -2440,7 +2400,7 @@ LIVES_GUI_CALLBACK(track_arrow_pressed), (livespointer)mt); - lives_table_attach(LIVES_TABLE(mt->timeline_table), aeventbox, 7, TIMELINE_TABLE_COLUMNS, rows, rows+1, + lives_table_attach(LIVES_TABLE(mt->timeline_table), aeventbox, 7, TIMELINE_TABLE_COLUMNS, rows, rows + 1, (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL), (LiVESAttachOptions)(LIVES_FILL), 0, 0); @@ -2452,125 +2412,117 @@ (livespointer)mt); lives_widget_set_bg_color(aeventbox, LIVES_WIDGET_STATE_NORMAL, &col); - lives_widget_set_app_paintable(aeventbox,TRUE); + lives_widget_set_app_paintable(aeventbox, TRUE); lives_signal_connect(LIVES_GUI_OBJECT(aeventbox), LIVES_WIDGET_EXPOSE_EVENT, LIVES_GUI_CALLBACK(expose_track_event), (livespointer)mt); - rows++; - if (rows==prefs->max_disp_vtracks) break; + if (rows == prefs->max_disp_vtracks) break; if (expanded) { - xeventbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(aeventbox),"achan0"); - hidden=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox),"hidden"))&TRACK_I_HIDDEN_USER; - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(xeventbox),"hidden",LIVES_INT_TO_POINTER(hidden)); + xeventbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(aeventbox), "achan0"); + hidden = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox), "hidden"))&TRACK_I_HIDDEN_USER; + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(xeventbox), "hidden", LIVES_INT_TO_POINTER(hidden)); - if (hidden==0) { + if (hidden == 0) { lives_adjustment_set_page_size(LIVES_ADJUSTMENT(mt->vadjustment), - (double)((int)lives_adjustment_get_page_size(LIVES_ADJUSTMENT(mt->vadjustment))-1)); + (double)((int)lives_adjustment_get_page_size(LIVES_ADJUSTMENT(mt->vadjustment)) - 1)); - - lives_table_attach(LIVES_TABLE(mt->timeline_table), xeventbox, 7, TIMELINE_TABLE_COLUMNS, rows, rows+1, + lives_table_attach(LIVES_TABLE(mt->timeline_table), xeventbox, 7, TIMELINE_TABLE_COLUMNS, rows, rows + 1, (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL), (LiVESAttachOptions)(LIVES_FILL), 0, 0); lives_widget_set_bg_color(xeventbox, LIVES_WIDGET_STATE_NORMAL, &col); - lives_widget_set_app_paintable(xeventbox,TRUE); + lives_widget_set_app_paintable(xeventbox, TRUE); lives_signal_connect(LIVES_GUI_OBJECT(xeventbox), LIVES_WIDGET_EXPOSE_EVENT, LIVES_GUI_CALLBACK(mt_expose_audtrack_event), (livespointer)mt); rows++; - if (rows==prefs->max_disp_vtracks) break; + if (rows == prefs->max_disp_vtracks) break; } - if (cfile->achans>1) { - xeventbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(aeventbox),"achan1"); - hidden=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox),"hidden"))&TRACK_I_HIDDEN_USER; - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(xeventbox),"hidden",LIVES_INT_TO_POINTER(hidden)); + if (cfile->achans > 1) { + xeventbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(aeventbox), "achan1"); + hidden = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox), "hidden"))&TRACK_I_HIDDEN_USER; + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(xeventbox), "hidden", LIVES_INT_TO_POINTER(hidden)); - if (hidden==0) { + if (hidden == 0) { lives_adjustment_set_page_size(LIVES_ADJUSTMENT(mt->vadjustment), - (double)((int)lives_adjustment_get_page_size(LIVES_ADJUSTMENT(mt->vadjustment))-1)); + (double)((int)lives_adjustment_get_page_size(LIVES_ADJUSTMENT(mt->vadjustment)) - 1)); - lives_table_attach(LIVES_TABLE(mt->timeline_table), xeventbox, 7, TIMELINE_TABLE_COLUMNS, rows, rows+1, + lives_table_attach(LIVES_TABLE(mt->timeline_table), xeventbox, 7, TIMELINE_TABLE_COLUMNS, rows, rows + 1, (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL), (LiVESAttachOptions)(LIVES_FILL), 0, 0); lives_widget_set_bg_color(xeventbox, LIVES_WIDGET_STATE_NORMAL, &col); - lives_widget_set_app_paintable(xeventbox,TRUE); + lives_widget_set_app_paintable(xeventbox, TRUE); lives_signal_connect(LIVES_GUI_OBJECT(xeventbox), LIVES_WIDGET_EXPOSE_EVENT, LIVES_GUI_CALLBACK(mt_expose_audtrack_event), (livespointer)mt); - rows++; - if (rows==prefs->max_disp_vtracks) break; - + if (rows == prefs->max_disp_vtracks) break; } } } } } } - vdraws=vdraws->next; + vdraws = vdraws->next; } - - if (lives_adjustment_get_page_size(LIVES_ADJUSTMENT(mt->vadjustment))<1.) - lives_adjustment_set_page_size(LIVES_ADJUSTMENT(mt->vadjustment),1.); + if (lives_adjustment_get_page_size(LIVES_ADJUSTMENT(mt->vadjustment)) < 1.) + lives_adjustment_set_page_size(LIVES_ADJUSTMENT(mt->vadjustment), 1.); lives_adjustment_set_upper(LIVES_ADJUSTMENT(mt->vadjustment), - (double)(get_top_track_for(mt,mt->num_video_tracks-1)+ + (double)(get_top_track_for(mt, mt->num_video_tracks - 1) + (int)lives_adjustment_get_page_size(LIVES_ADJUSTMENT(mt->vadjustment)))); - - if (lives_adjustment_get_value(LIVES_ADJUSTMENT(mt->vadjustment))+lives_adjustment_get_page_size(LIVES_ADJUSTMENT(mt->vadjustment))> + if (lives_adjustment_get_value(LIVES_ADJUSTMENT(mt->vadjustment)) + lives_adjustment_get_page_size(LIVES_ADJUSTMENT(mt->vadjustment)) > lives_adjustment_get_upper(LIVES_ADJUSTMENT(mt->vadjustment))) - lives_adjustment_set_upper(LIVES_ADJUSTMENT(mt->vadjustment),lives_adjustment_get_value(LIVES_ADJUSTMENT(mt->vadjustment))+ + lives_adjustment_set_upper(LIVES_ADJUSTMENT(mt->vadjustment), lives_adjustment_get_value(LIVES_ADJUSTMENT(mt->vadjustment)) + lives_adjustment_get_page_size(LIVES_ADJUSTMENT(mt->vadjustment))); - xlist=table_children=lives_container_get_children(LIVES_CONTAINER(mt->timeline_table)); + xlist = table_children = lives_container_get_children(LIVES_CONTAINER(mt->timeline_table)); - while (table_children!=NULL) { + while (table_children != NULL) { //LiVESRequisition req; - LiVESWidget *child=(LiVESWidget *)table_children->data; + LiVESWidget *child = (LiVESWidget *)table_children->data; //req=child->requisition; - lives_widget_set_size_request(child,-1,MT_TRACK_HEIGHT); - table_children=table_children->next; + lives_widget_set_size_request(child, -1, MT_TRACK_HEIGHT); + table_children = table_children->next; } - if (xlist!=NULL) lives_list_free(xlist); + if (xlist != NULL) lives_list_free(xlist); lives_widget_show_all(mt->timeline_table); lives_widget_queue_draw(mt->vpaned); if (mt->is_ready) { - mt->no_expose=FALSE; + mt->no_expose = FALSE; lives_widget_context_update(); } - } - boolean track_arrow_pressed(LiVESWidget *ebox, LiVESXEventButton *event, livespointer user_data) { - LiVESWidget *eventbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(ebox),"eventbox"); - LiVESWidget *arrow=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"arrow"),*new_arrow; - lives_mt *mt=(lives_mt *)user_data; - boolean expanded=!(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"expanded")); + LiVESWidget *eventbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(ebox), "eventbox"); + LiVESWidget *arrow = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "arrow"), *new_arrow; + lives_mt *mt = (lives_mt *)user_data; + boolean expanded = !(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "expanded")); if (!mainw->interactive) return FALSE; - if (mt->audio_draws==NULL||(!mt->opts.pertrack_audio&&(mt->opts.back_audio_tracks==0|| - eventbox!=mt->audio_draws->data))) { - track_ebox_pressed(eventbox,NULL,mt); + if (mt->audio_draws == NULL || (!mt->opts.pertrack_audio && (mt->opts.back_audio_tracks == 0 || + eventbox != mt->audio_draws->data))) { + track_ebox_pressed(eventbox, NULL, mt); return FALSE; } - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"expanded",LIVES_INT_TO_POINTER(expanded)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "expanded", LIVES_INT_TO_POINTER(expanded)); if (!expanded) { new_arrow = lives_arrow_new(LIVES_ARROW_RIGHT, LIVES_SHADOW_OUT); @@ -2578,53 +2530,52 @@ new_arrow = lives_arrow_new(LIVES_ARROW_DOWN, LIVES_SHADOW_OUT); } - lives_object_ref(new_arrow); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"arrow",new_arrow); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "arrow", new_arrow); - lives_tooltips_copy(new_arrow,arrow); + lives_tooltips_copy(new_arrow, arrow); // must do this after we update object data, to avoid a race condition lives_object_unref(arrow); lives_widget_destroy(arrow); - scroll_tracks(mt,mt->top_track,FALSE); + scroll_tracks(mt, mt->top_track, FALSE); track_select(mt); return FALSE; } - void multitrack_view_clips(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - polymorph(mt,POLY_CLIPS); + lives_mt *mt = (lives_mt *)user_data; + polymorph(mt, POLY_CLIPS); } void multitrack_view_in_out(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - if (mt->block_selected==NULL) return; + lives_mt *mt = (lives_mt *)user_data; + if (mt->block_selected == NULL) return; if (!nb_ignore) { // workaround for...you guessed it....the wonderful gtk+ - polymorph(mt,POLY_IN_OUT); - polymorph(mt,POLY_CLIPS); - polymorph(mt,POLY_IN_OUT); + polymorph(mt, POLY_IN_OUT); + polymorph(mt, POLY_CLIPS); + polymorph(mt, POLY_IN_OUT); } } + static void time_to_string(lives_mt *mt, double secs, int length) { - int hours,mins,rest; + int hours, mins, rest; char *string; - hours=secs/3600; - secs-=hours*3600.; - mins=secs/60; - secs-=mins*60.; - rest=(secs-((int)secs)*1.)*100.+.5; - secs=(int)secs*1.; - string=lives_strdup_printf(" %02d:%02d:%02d.%02d",hours,mins,(int)secs,rest); - lives_entry_set_text(LIVES_ENTRY(mt->timecode),string); + hours = secs / 3600; + secs -= hours * 3600.; + mins = secs / 60; + secs -= mins * 60.; + rest = (secs - ((int)secs) * 1.) * 100. + .5; + secs = (int)secs * 1.; + string = lives_strdup_printf(" %02d:%02d:%02d.%02d", hours, mins, (int)secs, rest); + lives_entry_set_text(LIVES_ENTRY(mt->timecode), string); lives_free(string); } @@ -2640,79 +2591,74 @@ // called once when we enter multitrack mode int cclip; - int i=1,j; + int i = 1, j; LiVESList *clist; - boolean bad_header=FALSE; + boolean bad_header = FALSE; - renumbered_clips[0]=0; + renumbered_clips[0] = 0; // walk through files mainw->files[cclip] // mainw->files[i] points to next non-NULL clip // if we find a gap we move i to cclip + for (cclip = 1; i <= MAX_FILES; cclip++) { + if (mainw->files[cclip] == NULL) { - for (cclip=1; i<=MAX_FILES; cclip++) { - if (mainw->files[cclip]==NULL) { + if (i != cclip) { + mainw->files[cclip] = mainw->files[i]; - if (i!=cclip) { - mainw->files[cclip]=mainw->files[i]; - - for (j=0; j<FN_KEYS-1; j++) { - if (mainw->clipstore[j]==i) mainw->clipstore[j]=cclip; + for (j = 0; j < FN_KEYS - 1; j++) { + if (mainw->clipstore[j] == i) mainw->clipstore[j] = cclip; } // we need to change the entries in mainw->cliplist - clist=mainw->cliplist; - while (clist!=NULL) { - if (LIVES_POINTER_TO_INT(clist->data)==i) { - clist->data=LIVES_INT_TO_POINTER(cclip); + clist = mainw->cliplist; + while (clist != NULL) { + if (LIVES_POINTER_TO_INT(clist->data) == i) { + clist->data = LIVES_INT_TO_POINTER(cclip); break; } - clist=clist->next; + clist = clist->next; } - mainw->files[i]=NULL; + mainw->files[i] = NULL; - if (mainw->scrap_file==i) mainw->scrap_file=cclip; - if (mainw->ascrap_file==i) mainw->ascrap_file=cclip; - if (mainw->current_file==i) mainw->current_file=cclip; + if (mainw->scrap_file == i) mainw->scrap_file = cclip; + if (mainw->ascrap_file == i) mainw->ascrap_file = cclip; + if (mainw->current_file == i) mainw->current_file = cclip; - if (mainw->first_free_file==cclip) mainw->first_free_file++; + if (mainw->first_free_file == cclip) mainw->first_free_file++; - renumbered_clips[i]=cclip; + renumbered_clips[i] = cclip; } // process this clip again else cclip--; + } else { + renumbered_clips[cclip] = cclip; + if (i == cclip) i++; } - else { - renumbered_clips[cclip]=cclip; - if (i==cclip) i++; - } - - if (mainw->files[cclip]!=NULL&&cclip!=mainw->scrap_file&&cclip!=mainw->ascrap_file&& - (mainw->files[cclip]->clip_type==CLIP_TYPE_DISK||mainw->files[cclip]->clip_type==CLIP_TYPE_FILE)&& - mainw->files[cclip]->unique_id==0l) { - mainw->files[cclip]->unique_id=lives_random(); - save_clip_value(cclip,CLIP_DETAILS_UNIQUE_ID,&mainw->files[cclip]->unique_id); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; + if (mainw->files[cclip] != NULL && cclip != mainw->scrap_file && cclip != mainw->ascrap_file && + (mainw->files[cclip]->clip_type == CLIP_TYPE_DISK || mainw->files[cclip]->clip_type == CLIP_TYPE_FILE) && + mainw->files[cclip]->unique_id == 0l) { + mainw->files[cclip]->unique_id = lives_random(); + save_clip_value(cclip, CLIP_DETAILS_UNIQUE_ID, &mainw->files[cclip]->unique_id); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; if (bad_header) do_header_write_error(cclip); } - for (; i<=MAX_FILES; i++) { - if (mainw->files[i]!=NULL) break; + for (; i <= MAX_FILES; i++) { + if (mainw->files[i] != NULL) break; } } } - - static void rerenumber_clips(const char *lfile, weed_plant_t *event_list) { // we loaded an event_list, now we match clip numbers in event_list with our current clips, using the layout map file // the renumbering is used for translations in event_list_rectify @@ -2721,125 +2667,122 @@ // this means if we save again, the clip numbers in the disk event list (*.lay file) may be updated // however, since we also have a layout map file (*.map) for the set, this should not be too big an issue - - LiVESList *lmap; - int i,rnc; char **array; + int rnc; + register int i; // ensure file layouts are updated upd_layout_maps(event_list); - renumbered_clips[0]=0; + renumbered_clips[0] = 0; - for (i=1; i<=MAX_FILES&&mainw->files[i]!=NULL; i++) { - renumbered_clips[i]=0; - if (mainw->files[i]!=NULL) lfps[i]=mainw->files[i]->fps; - else lfps[i]=cfile->fps; + for (i = 1; i <= MAX_FILES && mainw->files[i] != NULL; i++) { + renumbered_clips[i] = 0; + if (mainw->files[i] != NULL) lfps[i] = mainw->files[i]->fps; + else lfps[i] = cfile->fps; } - if (lfile!=NULL) { + if (lfile != NULL) { // lfile is supplied layout file name - for (i=1; i<=MAX_FILES&&mainw->files[i]!=NULL; i++) { - lmap=mainw->files[i]->layout_map; - while (lmap!=NULL) { + for (i = 1; i <= MAX_FILES && mainw->files[i] != NULL; i++) { + lmap = mainw->files[i]->layout_map; + while (lmap != NULL) { // lmap->data starts with layout name - if (!strncmp((char *)lmap->data,lfile,strlen(lfile))) { + if (!strncmp((char *)lmap->data, lfile, strlen(lfile))) { threaded_dialog_spin(0.); - array=lives_strsplit((char *)lmap->data,"|",-1); + array = lives_strsplit((char *)lmap->data, "|", -1); threaded_dialog_spin(0.); // piece 2 is the clip number - rnc=atoi(array[1]); + rnc = atoi(array[1]); - renumbered_clips[rnc]=i; + renumbered_clips[rnc] = i; // original fps - lfps[i]=strtod(array[3],NULL); + lfps[i] = strtod(array[3], NULL); threaded_dialog_spin(0.); lives_strfreev(array); threaded_dialog_spin(0.); } - lmap=lmap->next; + lmap = lmap->next; } } } else { // current event_list - for (i=1; i<=MAX_FILES&&mainw->files[i]!=NULL; i++) { - if (mainw->files[i]->stored_layout_idx!=-1) { - renumbered_clips[mainw->files[i]->stored_layout_idx]=i; + for (i = 1; i <= MAX_FILES && mainw->files[i] != NULL; i++) { + if (mainw->files[i]->stored_layout_idx != -1) { + renumbered_clips[mainw->files[i]->stored_layout_idx] = i; } - lfps[i]=mainw->files[i]->stored_layout_fps; + lfps[i] = mainw->files[i]->stored_layout_fps; } } - } - void mt_clip_select(lives_mt *mt, boolean scroll) { - LiVESList *list=lives_container_get_children(LIVES_CONTAINER(mt->clip_inner_box)); - LiVESWidget *clipbox=NULL; + LiVESList *list = lives_container_get_children(LIVES_CONTAINER(mt->clip_inner_box)); + LiVESWidget *clipbox = NULL; int len; int i; - boolean was_neg=FALSE; - mt->file_selected=-1; + boolean was_neg = FALSE; + mt->file_selected = -1; - if (list==NULL) return; + if (list == NULL) return; - if (mt->poly_state==POLY_FX_STACK&&mt->event_list!=NULL) { + if (mt->poly_state == POLY_FX_STACK && mt->event_list != NULL) { if (!mt->was_undo_redo) { - polymorph(mt,POLY_FX_STACK); + polymorph(mt, POLY_FX_STACK); } - } else polymorph(mt,POLY_CLIPS); + } else polymorph(mt, POLY_CLIPS); - if (mt->clip_selected<0) { - was_neg=TRUE; - mt->clip_selected=-mt->clip_selected; + if (mt->clip_selected < 0) { + was_neg = TRUE; + mt->clip_selected = -mt->clip_selected; } - if (mt->clip_selected>=(len=lives_list_length(list))&&!was_neg) mt->clip_selected=0; + if (mt->clip_selected >= (len = lives_list_length(list)) && !was_neg) mt->clip_selected = 0; if (was_neg) mt->clip_selected--; - if (mt->clip_selected<0||(was_neg&&mt->clip_selected==0)) mt->clip_selected=len-1; + if (mt->clip_selected < 0 || (was_neg && mt->clip_selected == 0)) mt->clip_selected = len - 1; - if (mt->clip_selected<0) { - mt->file_selected=-1; + if (mt->clip_selected < 0) { + mt->file_selected = -1; lives_list_free(list); return; } - mt->file_selected=mt_file_from_clip(mt,mt->clip_selected); + mt->file_selected = mt_file_from_clip(mt, mt->clip_selected); - for (i=0; i<len; i++) { - clipbox=(LiVESWidget *)lives_list_nth_data(list,i); - if (i==mt->clip_selected) { + for (i = 0; i < len; i++) { + clipbox = (LiVESWidget *)lives_list_nth_data(list, i); + if (i == mt->clip_selected) { LiVESAdjustment *adj; - int value=lives_adjustment_get_upper((adj=lives_scrolled_window_get_hadjustment(LIVES_SCROLLED_WINDOW(mt->clip_scroll)))) - *(mt->clip_selected+.5)/len; - if (scroll) lives_adjustment_clamp_page(adj,value-lives_adjustment_get_page_size(adj)/2, - value+lives_adjustment_get_page_size(adj)/2); - - if (palette->style&STYLE_1) { - lives_widget_set_bg_color(clipbox,LIVES_WIDGET_STATE_NORMAL,&palette->menu_and_bars); - lives_widget_set_fg_color(clipbox,LIVES_WIDGET_STATE_NORMAL,&palette->menu_and_bars_fore); - set_child_alt_colour(clipbox,FALSE); + int value = lives_adjustment_get_upper((adj = lives_scrolled_window_get_hadjustment(LIVES_SCROLLED_WINDOW(mt->clip_scroll)))) + * (mt->clip_selected + .5) / len; + if (scroll) lives_adjustment_clamp_page(adj, value - lives_adjustment_get_page_size(adj) / 2, + value + lives_adjustment_get_page_size(adj) / 2); + + if (palette->style & STYLE_1) { + lives_widget_set_bg_color(clipbox, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); + lives_widget_set_fg_color(clipbox, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); + set_child_alt_colour(clipbox, FALSE); } - lives_widget_set_sensitive(mt->adjust_start_end, mainw->files[mt->file_selected]->frames>0); - if (mt->current_track>-1) { - lives_widget_set_sensitive(mt->insert, mainw->files[mt->file_selected]->frames>0); + lives_widget_set_sensitive(mt->adjust_start_end, mainw->files[mt->file_selected]->frames > 0); + if (mt->current_track > -1) { + lives_widget_set_sensitive(mt->insert, mainw->files[mt->file_selected]->frames > 0); lives_widget_set_sensitive(mt->audio_insert, FALSE); } else { - lives_widget_set_sensitive(mt->audio_insert, mainw->files[mt->file_selected]->achans>0); + lives_widget_set_sensitive(mt->audio_insert, mainw->files[mt->file_selected]->achans > 0); lives_widget_set_sensitive(mt->insert, FALSE); } } else { - if (palette->style&STYLE_1) { - lives_widget_set_bg_color(clipbox,LIVES_WIDGET_STATE_NORMAL,&palette->normal_back); - lives_widget_set_fg_color(clipbox,LIVES_WIDGET_STATE_NORMAL,&palette->normal_fore); - set_child_colour(clipbox,FALSE); + if (palette->style & STYLE_1) { + lives_widget_set_bg_color(clipbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); + lives_widget_set_fg_color(clipbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); + set_child_colour(clipbox, FALSE); } } } @@ -2848,94 +2791,92 @@ boolean mt_prevclip(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; if (!mainw->interactive) return TRUE; mt->clip_selected--; - polymorph(mt,POLY_CLIPS); - mt_clip_select(mt,TRUE); + polymorph(mt, POLY_CLIPS); + mt_clip_select(mt, TRUE); return TRUE; } + boolean mt_nextclip(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; if (!mainw->interactive) return TRUE; mt->clip_selected++; - polymorph(mt,POLY_CLIPS); - mt_clip_select(mt,TRUE); + polymorph(mt, POLY_CLIPS); + mt_clip_select(mt, TRUE); return TRUE; } static void set_time_scrollbar(lives_mt *mt) { - double page=mt->tl_max-mt->tl_min; - if (mt->end_secs==0.) mt->end_secs=DEF_TIME; + double page = mt->tl_max - mt->tl_min; + if (mt->end_secs == 0.) mt->end_secs = DEF_TIME; - if (mt->tl_max>mt->end_secs) mt->end_secs=mt->tl_max; + if (mt->tl_max > mt->end_secs) mt->end_secs = mt->tl_max; lives_object_freeze_notify(LIVES_WIDGET_OBJECT(mt->hadjustment)); - lives_range_set_range(LIVES_RANGE(mt->time_scrollbar),0.,mt->end_secs); - lives_range_set_increments(LIVES_RANGE(mt->time_scrollbar),page/4.,page); - lives_adjustment_set_page_size(LIVES_ADJUSTMENT(mt->hadjustment),(double)page); - lives_adjustment_set_value(LIVES_ADJUSTMENT(mt->hadjustment),(double)mt->tl_min); + lives_range_set_range(LIVES_RANGE(mt->time_scrollbar), 0., mt->end_secs); + lives_range_set_increments(LIVES_RANGE(mt->time_scrollbar), page / 4., page); + lives_adjustment_set_page_size(LIVES_ADJUSTMENT(mt->hadjustment), page); + lives_adjustment_set_value(LIVES_ADJUSTMENT(mt->hadjustment), mt->tl_min); lives_object_thaw_notify(LIVES_WIDGET_OBJECT(mt->hadjustment)); lives_widget_queue_draw(mt->time_scrollbar); - } void set_timeline_end_secs(lives_mt *mt, double secs) { - double pos=mt->ptr_time; + double pos = mt->ptr_time; - mt->end_secs=secs; + mt->end_secs = secs; - lives_ruler_set_range(LIVES_RULER(mt->timeline), mt->tl_min, mt->tl_max, mt->tl_min, mt->end_secs+1./mt->fps); + lives_ruler_set_range(LIVES_RULER(mt->timeline), mt->tl_min, mt->tl_max, mt->tl_min, mt->end_secs + 1. / mt->fps); lives_widget_queue_draw(mt->timeline); lives_widget_queue_draw(mt->timeline_table); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_start),0.,mt->end_secs); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_end),0.,mt->end_secs+1./mt->fps); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_start), 0., mt->end_secs); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_end), 0., mt->end_secs + 1. / mt->fps); set_time_scrollbar(mt); - lives_ruler_set_value(LIVES_RULER(mt->timeline),pos); + lives_ruler_set_value(LIVES_RULER(mt->timeline), pos); redraw_all_event_boxes(mt); } - - static weed_timecode_t set_play_position(lives_mt *mt) { // get start event - boolean has_pb_loop_event=FALSE; + boolean has_pb_loop_event = FALSE; weed_timecode_t tc; #ifdef ENABLE_JACK_TRANSPORT - weed_timecode_t end_tc=event_list_get_end_tc(mt->event_list); + weed_timecode_t end_tc = event_list_get_end_tc(mt->event_list); #endif - mainw->cancelled=CANCEL_NONE; + mainw->cancelled = CANCEL_NONE; #ifdef ENABLE_JACK_TRANSPORT // if we have jack transport enabled, we get our playback start time from there - if (mainw->jack_can_stop&&(prefs->jack_opts&JACK_OPTS_TIMEBASE_START)&&(prefs->jack_opts&JACK_OPTS_TRANSPORT_CLIENT)) { - mt->pb_loop_event=get_first_frame_event(mt->event_list); - has_pb_loop_event=TRUE; - tc=q_gint64(U_SEC*jack_transport_get_time(),cfile->fps); + if (mainw->jack_can_stop && (prefs->jack_opts & JACK_OPTS_TIMEBASE_START) && (prefs->jack_opts & JACK_OPTS_TRANSPORT_CLIENT)) { + mt->pb_loop_event = get_first_frame_event(mt->event_list); + has_pb_loop_event = TRUE; + tc = q_gint64(U_SEC * jack_transport_get_time(), cfile->fps); if (!mainw->loop_cont) { - if (tc>end_tc) { - mainw->cancelled=CANCEL_VID_END; + if (tc > end_tc) { + mainw->cancelled = CANCEL_VID_END; return 0; } } - tc%=end_tc; - mt->is_paused=FALSE; + tc %= end_tc; + mt->is_paused = FALSE; } else { #endif ////////////////////////////////////////// // set actual playback start time, from mt->ptr_time - tc=q_gint64(mt->ptr_time*U_SEC,cfile->fps); - mt->pb_start_time=mt->ptr_time; + tc = q_gint64(mt->ptr_time * U_SEC, cfile->fps); + mt->pb_start_time = mt->ptr_time; ////////////////////////////////// #ifdef ENABLE_JACK_TRANSPORT @@ -2943,19 +2884,18 @@ #endif // get the start event to play from - if (tc>event_list_get_end_tc(mt->event_list)||tc==0) mt->pb_start_event=get_first_frame_event(mt->event_list); + if (tc > event_list_get_end_tc(mt->event_list) || tc == 0) mt->pb_start_event = get_first_frame_event(mt->event_list); else { - mt->pb_start_event=get_frame_event_at(mt->event_list,tc,NULL,TRUE); + mt->pb_start_event = get_frame_event_at(mt->event_list, tc, NULL, TRUE); } - if (!has_pb_loop_event) mt->pb_loop_event=mt->pb_start_event; + if (!has_pb_loop_event) mt->pb_loop_event = mt->pb_start_event; // return timecode of start event return get_event_timecode(mt->pb_start_event); } - void mt_show_current_frame(lives_mt *mt, boolean return_layer) { // show preview of current frame in play_box and/or play_window @@ -2963,74 +2903,74 @@ weed_timecode_t curr_tc; - double ptr_time=mt->ptr_time; + double ptr_time = mt->ptr_time; - weed_plant_t *frame_layer=mainw->frame_layer; + weed_plant_t *frame_layer = mainw->frame_layer; int current_file; int actual_frame; int error; - boolean is_rendering=mainw->is_rendering; - boolean internal_messaging=mainw->internal_messaging; - boolean needs_idlefunc=FALSE; + boolean is_rendering = mainw->is_rendering; + boolean internal_messaging = mainw->internal_messaging; + boolean needs_idlefunc = FALSE; - if (mt->idlefunc>0) { + if (mt->idlefunc > 0) { lives_source_remove(mt->idlefunc); - mt->idlefunc=0; - needs_idlefunc=TRUE; + mt->idlefunc = 0; + needs_idlefunc = TRUE; } if (!return_layer) { // show frame image in window if (!mt->mt_frame_preview) { - boolean sep_win=mainw->sep_win; - mt->mt_frame_preview=TRUE; + boolean sep_win = mainw->sep_win; + mt->mt_frame_preview = TRUE; - if (lives_widget_get_parent(mt->play_blank)!=NULL) { + if (lives_widget_get_parent(mt->play_blank) != NULL) { lives_object_ref(mt->play_blank); - lives_container_remove(LIVES_CONTAINER(mt->play_box),mt->play_blank); + lives_container_remove(LIVES_CONTAINER(mt->play_box), mt->play_blank); } - if (mainw->plug!=NULL) { - lives_container_remove(LIVES_CONTAINER(mainw->plug),mainw->play_image); + if (mainw->plug != NULL) { + lives_container_remove(LIVES_CONTAINER(mainw->plug), mainw->play_image); lives_widget_destroy(mainw->plug); - mainw->plug=NULL; + mainw->plug = NULL; } if (LIVES_IS_WIDGET(mainw->playarea)) lives_widget_destroy(mainw->playarea); - mainw->playarea = lives_hbox_new(FALSE,0); + mainw->playarea = lives_hbox_new(FALSE, 0); lives_widget_show(mainw->playarea); lives_container_add(LIVES_CONTAINER(mt->play_box), mainw->playarea); if (mt->is_ready) lives_widget_context_update(); - mainw->sep_win=FALSE; + mainw->sep_win = FALSE; add_to_playframe(); - mainw->sep_win=sep_win; + mainw->sep_win = sep_win; } } - if (mainw->playing_file>-1) { - if (mainw->play_window!=NULL&&LIVES_IS_XWINDOW(lives_widget_get_xwindow(mainw->play_window))) { -#if GTK_CHECK_VERSION(3,0,0) - if (mt->frame_pixbuf==NULL||mt->frame_pixbuf!=mainw->imframe) { - if (mt->frame_pixbuf!=NULL) lives_object_unref(mt->frame_pixbuf); + if (mainw->playing_file > -1) { + if (mainw->play_window != NULL && LIVES_IS_XWINDOW(lives_widget_get_xwindow(mainw->play_window))) { +#if GTK_CHECK_VERSION(3, 0, 0) + if (mt->frame_pixbuf == NULL || mt->frame_pixbuf != mainw->imframe) { + if (mt->frame_pixbuf != NULL) lives_object_unref(mt->frame_pixbuf); // set frame_pixbuf, this gets painted in in expose_event - mt->frame_pixbuf=mainw->imframe; + mt->frame_pixbuf = mainw->imframe; } #else - set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->play_image),mainw->imframe,NULL); + set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->play_image), mainw->imframe, NULL); #endif } else { -#if GTK_CHECK_VERSION(3,0,0) - if (mt->frame_pixbuf!=mainw->imframe) { - if (mt->frame_pixbuf!=NULL) lives_object_unref(mt->frame_pixbuf); - mt->frame_pixbuf=NULL; +#if GTK_CHECK_VERSION(3, 0, 0) + if (mt->frame_pixbuf != mainw->imframe) { + if (mt->frame_pixbuf != NULL) lives_object_unref(mt->frame_pixbuf); + mt->frame_pixbuf = NULL; } #else - set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->play_image),NULL,NULL); + set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->play_image), NULL, NULL); #endif } lives_widget_queue_draw(mt->play_box); @@ -3038,304 +2978,290 @@ } // start "playback" at mt->ptr_time; we just "render" one frame - curr_tc=set_play_position(mt); - actual_frame=(int)((double)(curr_tc/U_SECL)*cfile->fps+1.4999); - mainw->frame_layer=NULL; + curr_tc = set_play_position(mt); + actual_frame = (int)((double)(curr_tc / U_SECL) * cfile->fps + 1.4999); + mainw->frame_layer = NULL; - if (mt->is_rendering&&actual_frame<=cfile->frames) { + if (mt->is_rendering && actual_frame <= cfile->frames) { // get the actual frame if it has already been rendered - mainw->frame_layer=weed_plant_new(WEED_PLANT_CHANNEL); - weed_set_int_value(mainw->frame_layer,WEED_LEAF_CLIP,mainw->current_file); - weed_set_int_value(mainw->frame_layer,WEED_LEAF_FRAME,actual_frame); - pull_frame(mainw->frame_layer,get_image_ext_for_type(cfile->img_type),curr_tc); + mainw->frame_layer = weed_plant_new(WEED_PLANT_CHANNEL); + weed_set_int_value(mainw->frame_layer, WEED_LEAF_CLIP, mainw->current_file); + weed_set_int_value(mainw->frame_layer, WEED_LEAF_FRAME, actual_frame); + pull_frame(mainw->frame_layer, get_image_ext_for_type(cfile->img_type), curr_tc); } else { - mainw->is_rendering=TRUE; + mainw->is_rendering = TRUE; - if (mt->pb_start_event!=NULL) { + if (mt->pb_start_event != NULL) { // "play" a single frame - current_file=mainw->current_file; - mainw->internal_messaging=TRUE; // stop load_frame from showing image - cfile->next_event=mt->pb_start_event; + current_file = mainw->current_file; + mainw->internal_messaging = TRUE; // stop load_frame from showing image + cfile->next_event = mt->pb_start_event; if (is_rendering) { backup_weed_instances(); - backup_host_tags(mt->event_list,curr_tc); + backup_host_tags(mt->event_list, curr_tc); } // pass quickly through events_list, switching on and off effects an interpolating at current time - get_audio_and_effects_state_at(mt->event_list,mt->pb_start_event,FALSE,mt->exact_preview); + get_audio_and_effects_state_at(mt->event_list, mt->pb_start_event, FALSE, mt->exact_preview); // if we are previewing a specific effect we also need to init it - if (mt->current_rfx!=NULL&&mt->init_event!=NULL) { - if (mt->current_rfx->source_type==LIVES_RFX_SOURCE_WEED&&mt->current_rfx->source!=NULL) { - weed_plant_t *inst=(weed_plant_t *)mt->current_rfx->source; + if (mt->current_rfx != NULL && mt->init_event != NULL) { + if (mt->current_rfx->source_type == LIVES_RFX_SOURCE_WEED && mt->current_rfx->source != NULL) { + weed_plant_t *inst = (weed_plant_t *)mt->current_rfx->source; do { weed_call_init_func(inst); - } while (weed_plant_has_leaf(inst,WEED_LEAF_HOST_NEXT_INSTANCE)&& - (inst=weed_get_plantptr_value(inst,WEED_LEAF_HOST_NEXT_INSTANCE,&error))!=NULL); + } while (weed_plant_has_leaf(inst, WEED_LEAF_HOST_NEXT_INSTANCE) && + (inst = weed_get_plantptr_value(inst, WEED_LEAF_HOST_NEXT_INSTANCE, &error)) != NULL); } } - mainw->last_display_ticks=0; + mainw->last_display_ticks = 0; // start decoder plugins, one per track init_track_decoders(); // render one frame - process_events(mt->pb_start_event,FALSE,0); + process_events(mt->pb_start_event, FALSE, 0); free_track_decoders(); - mainw->internal_messaging=internal_messaging; - mainw->current_file=current_file; + mainw->internal_messaging = internal_messaging; + mainw->current_file = current_file; deinit_render_effects(); // if we are previewing an effect we now need to deinit it - if (mt->current_rfx!=NULL&&mt->init_event!=NULL) { - if (mt->current_rfx->source_type==LIVES_RFX_SOURCE_WEED&&mt->current_rfx->source!=NULL) { - weed_plant_t *inst=(weed_plant_t *)mt->current_rfx->source; + if (mt->current_rfx != NULL && mt->init_event != NULL) { + if (mt->current_rfx->source_type == LIVES_RFX_SOURCE_WEED && mt->current_rfx->source != NULL) { + weed_plant_t *inst = (weed_plant_t *)mt->current_rfx->source; do { weed_call_deinit_func(inst); - } while (weed_plant_has_leaf(inst,WEED_LEAF_HOST_NEXT_INSTANCE)&& - (inst=weed_get_plantptr_value(inst,WEED_LEAF_HOST_NEXT_INSTANCE,&error))!=NULL); + } while (weed_plant_has_leaf(inst, WEED_LEAF_HOST_NEXT_INSTANCE) && + (inst = weed_get_plantptr_value(inst, WEED_LEAF_HOST_NEXT_INSTANCE, &error)) != NULL); } } if (is_rendering) { restore_weed_instances(); - restore_host_tags(mt->event_list,curr_tc); + restore_host_tags(mt->event_list, curr_tc); } - cfile->next_event=NULL; - mainw->is_rendering=is_rendering; + cfile->next_event = NULL; + mainw->is_rendering = is_rendering; } } if (return_layer) return; -#if GTK_CHECK_VERSION(3,0,0) - if (mt->frame_pixbuf!=NULL&&mt->frame_pixbuf!=mainw->imframe) { +#if GTK_CHECK_VERSION(3, 0, 0) + if (mt->frame_pixbuf != NULL && mt->frame_pixbuf != mainw->imframe) { lives_object_unref(mt->frame_pixbuf); - mt->frame_pixbuf=NULL; + mt->frame_pixbuf = NULL; } #endif - mt->outwidth=cfile->hsize; - mt->outheight=cfile->vsize; - calc_maxspect(mt->play_width,mt->play_height,&mt->outwidth,&mt->outheight); + mt->outwidth = cfile->hsize; + mt->outheight = cfile->vsize; + calc_maxspect(mt->play_width, mt->play_height, &mt->outwidth, &mt->outheight); - if (lives_widget_get_allocation_width(mainw->play_image)-widget_opts.border_width*2>0) { + if (lives_widget_get_allocation_width(mainw->play_image) - widget_opts.border_width * 2 > 0) { // make sure we are consistent with main.c - if (mt->outwidth>lives_widget_get_allocation_width(mainw->play_image)-widget_opts.border_width*2) - mt->outwidth=lives_widget_get_allocation_width(mainw->play_image)-widget_opts.border_width*2; - if (mt->outheight>lives_widget_get_allocation_height(mainw->play_image)-widget_opts.border_width*2) - mt->outheight=lives_widget_get_allocation_height(mainw->play_image)-widget_opts.border_width*2; - needs_clear=FALSE; - } else needs_clear=TRUE; + if (mt->outwidth > lives_widget_get_allocation_width(mainw->play_image) - widget_opts.border_width * 2) + mt->outwidth = lives_widget_get_allocation_width(mainw->play_image) - widget_opts.border_width * 2; + if (mt->outheight > lives_widget_get_allocation_height(mainw->play_image) - widget_opts.border_width * 2) + mt->outheight = lives_widget_get_allocation_height(mainw->play_image) - widget_opts.border_width * 2; + needs_clear = FALSE; + } else needs_clear = TRUE; - if (mainw->frame_layer!=NULL) { + if (mainw->frame_layer != NULL) { LiVESPixbuf *pixbuf; int weed_error; - mainw->pwidth=mt->outwidth; - mainw->pheight=mt->outheight; + mainw->pwidth = mt->outwidth; + mainw->pheight = mt->outheight; - if ((mt->outwidth!=(weed_get_int_value(mainw->frame_layer,WEED_LEAF_WIDTH,&weed_error))|| - mt->outheight!=weed_get_int_value(mainw->frame_layer,WEED_LEAF_HEIGHT,&weed_error))) - resize_layer(mainw->frame_layer,mt->outwidth,mt->outheight,LIVES_INTERP_BEST,WEED_PALETTE_RGB24,0); + if ((mt->outwidth != (weed_get_int_value(mainw->frame_layer, WEED_LEAF_WIDTH, &weed_error)) || + mt->outheight != weed_get_int_value(mainw->frame_layer, WEED_LEAF_HEIGHT, &weed_error))) + resize_layer(mainw->frame_layer, mt->outwidth, mt->outheight, LIVES_INTERP_BEST, WEED_PALETTE_RGB24, 0); - convert_layer_palette(mainw->frame_layer,WEED_PALETTE_RGB24,0); + convert_layer_palette(mainw->frame_layer, WEED_PALETTE_RGB24, 0); - pixbuf=layer_to_pixbuf(mainw->frame_layer); + pixbuf = layer_to_pixbuf(mainw->frame_layer); weed_plant_free(mainw->frame_layer); - mainw->frame_layer=NULL; + mainw->frame_layer = NULL; - if (mt->framedraw!=NULL) pixbuf=mt_framedraw(mt,pixbuf); + if (mt->framedraw != NULL) pixbuf = mt_framedraw(mt, pixbuf); -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) // set frame_pixbuf, this gets painted in in expose_event - mt->frame_pixbuf=pixbuf; + mt->frame_pixbuf = pixbuf; #else - set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->play_image),pixbuf,NULL); + set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->play_image), pixbuf, NULL); #endif lives_widget_queue_draw(mt->play_box); } else { // no frame - show blank -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) // set frame_pixbuf, this gets painted in in expose_event - mt->frame_pixbuf=mainw->imframe; + mt->frame_pixbuf = mainw->imframe; #else - set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->play_image),mainw->imframe,NULL); + set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->play_image), mainw->imframe, NULL); #endif lives_widget_queue_draw(mt->play_box); } - mainw->frame_layer=frame_layer; + mainw->frame_layer = frame_layer; - lives_ruler_set_value(LIVES_RULER(mt->timeline),ptr_time); + lives_ruler_set_value(LIVES_RULER(mt->timeline), ptr_time); lives_widget_queue_draw(mt->timeline); if (needs_idlefunc) { - mt->idlefunc=mt_idle_add(mt); + mt->idlefunc = mt_idle_add(mt); } - } - void mt_tl_move(lives_mt *mt, double pos) { - int ebwidth,offset,offset_old; - - if (mainw->playing_file>-1) return; - - ebwidth=lives_widget_get_allocation_width(mt->timeline); + if (mainw->playing_file > -1) return; - offset_old=(lives_ruler_get_value(LIVES_RULER(mt->timeline))-mt->tl_min)/(mt->tl_max-mt->tl_min)*(double)ebwidth; + if (mt->is_ready) unpaint_lines(mt); - pos=q_dbl(pos,mt->fps)/U_SEC; - if (pos<0.) pos=0.; + pos = q_dbl(pos, mt->fps) / U_SEC; + if (pos < 0.) pos = 0.; // need to reference ONLY mt->ptr_time, since it may be outside the range of mt->timeline - mt->ptr_time=lives_ruler_set_value(LIVES_RULER(mt->timeline),pos); + mt->ptr_time = lives_ruler_set_value(LIVES_RULER(mt->timeline), pos); - if (pos>0.) { - lives_widget_set_sensitive(mt->rewind,TRUE); + if (pos > 0.) { + lives_widget_set_sensitive(mt->rewind, TRUE); lives_widget_set_sensitive(mainw->m_rewindbutton, TRUE); } else { - lives_widget_set_sensitive(mt->rewind,FALSE); + lives_widget_set_sensitive(mt->rewind, FALSE); lives_widget_set_sensitive(mainw->m_rewindbutton, FALSE); } if (mt->is_paused) { - mt->is_paused=FALSE; + mt->is_paused = FALSE; lives_widget_set_sensitive(mainw->stop, FALSE); lives_widget_set_sensitive(mainw->m_stopbutton, FALSE); } lives_widget_queue_draw(mt->timeline); - if (mt->init_event!=NULL&&mt->poly_state==POLY_PARAMS&&!mt->block_node_spin) { - mt->block_tl_move=TRUE; - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->node_spinbutton),pos-get_event_timecode(mt->init_event)/U_SEC); - mt->block_tl_move=FALSE; + if (mt->init_event != NULL && mt->poly_state == POLY_PARAMS && !mt->block_node_spin) { + mt->block_tl_move = TRUE; + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->node_spinbutton), pos - get_event_timecode(mt->init_event) / U_SEC); + mt->block_tl_move = FALSE; } - time_to_string(mt,pos,TIMECODE_LENGTH); + time_to_string(mt, pos, TIMECODE_LENGTH); - if (pos>mt->region_end-1./mt->fps) lives_widget_set_sensitive(mt->tc_to_rs,FALSE); - else lives_widget_set_sensitive(mt->tc_to_rs,TRUE); - if (pos<mt->region_start+1./mt->fps) lives_widget_set_sensitive(mt->tc_to_re,FALSE); - else lives_widget_set_sensitive(mt->tc_to_re,TRUE); + if (pos > mt->region_end - 1. / mt->fps) lives_widget_set_sensitive(mt->tc_to_rs, FALSE); + else lives_widget_set_sensitive(mt->tc_to_rs, TRUE); + if (pos < mt->region_start + 1. / mt->fps) lives_widget_set_sensitive(mt->tc_to_re, FALSE); + else lives_widget_set_sensitive(mt->tc_to_re, TRUE); - mt->fx_order=FX_ORD_NONE; + mt->fx_order = FX_ORD_NONE; - if (mt->selected_init_event!=NULL) { + if (mt->selected_init_event != NULL) { int error; - weed_timecode_t tc=q_gint64(pos*U_SEC,mt->fps); - weed_plant_t *deinit_event=(weed_plant_t *)weed_get_voidptr_value(mt->selected_init_event,WEED_LEAF_DEINIT_EVENT,&error); - if (tc<get_event_timecode(mt->selected_init_event)||tc>get_event_timecode(deinit_event)) { - mt->selected_init_event=NULL; + weed_timecode_t tc = q_gint64(pos * U_SEC, mt->fps); + weed_plant_t *deinit_event = (weed_plant_t *)weed_get_voidptr_value(mt->selected_init_event, WEED_LEAF_DEINIT_EVENT, &error); + if (tc < get_event_timecode(mt->selected_init_event) || tc > get_event_timecode(deinit_event)) { + mt->selected_init_event = NULL; } } - if (mt->poly_state==POLY_FX_STACK) polymorph(mt,POLY_FX_STACK); - if (mt->is_ready) mt_show_current_frame(mt, FALSE); - - offset=(pos-mt->tl_min)/(mt->tl_max-mt->tl_min)*(double)ebwidth; - - if (offset==offset_old) return; - - paint_lines(mt,pos,TRUE); - + if (mt->poly_state == POLY_FX_STACK) polymorph(mt, POLY_FX_STACK); + if (mt->is_ready) { + mt_show_current_frame(mt, FALSE); + paint_lines(mt, pos, TRUE); + } } -LIVES_INLINE void mt_tl_move_relative(lives_mt *mt, double pos_rel) { - mt_tl_move(mt,mt->ptr_time+pos_rel); +static LIVES_INLINE void mt_tl_move_relative(lives_mt *mt, double pos_rel) { + mt_tl_move(mt, mt->ptr_time + pos_rel); } boolean mt_tlfor(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; if (!mainw->interactive) return TRUE; - mt->fm_edit_event=NULL; - mt_tl_move_relative(mt,1.); + mt->fm_edit_event = NULL; + mt_tl_move_relative(mt, 1.); return TRUE; } + boolean mt_tlfor_frame(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; if (!mainw->interactive) return TRUE; - mt->fm_edit_event=NULL; - mt_tl_move_relative(mt,1./mt->fps); + mt->fm_edit_event = NULL; + mt_tl_move_relative(mt, 1. / mt->fps); return TRUE; } boolean mt_tlback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; if (!mainw->interactive) return TRUE; - mt->fm_edit_event=NULL; - mt_tl_move_relative(mt,-1.); + mt->fm_edit_event = NULL; + mt_tl_move_relative(mt, -1.); return TRUE; } boolean mt_tlback_frame(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; if (!mainw->interactive) return TRUE; - mt->fm_edit_event=NULL; - mt_tl_move_relative(mt,-1./mt->fps); + mt->fm_edit_event = NULL; + mt_tl_move_relative(mt, -1. / mt->fps); return TRUE; } - static void scroll_track_on_screen(lives_mt *mt, int track) { - if (track>mt->top_track) track=get_top_track_for(mt,track); - scroll_tracks(mt,track,track!=mt->top_track); + if (track > mt->top_track) track = get_top_track_for(mt, track); + scroll_tracks(mt, track, track != mt->top_track); return; } - - void scroll_track_by_scrollbar(LiVESScrollbar *sbar, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - scroll_tracks(mt,lives_adjustment_get_value(lives_range_get_adjustment(LIVES_RANGE(sbar))),FALSE); + lives_mt *mt = (lives_mt *)user_data; + scroll_tracks(mt, lives_adjustment_get_value(lives_range_get_adjustment(LIVES_RANGE(sbar))), FALSE); track_select(mt); } - - static void mt_zoom(lives_mt *mt, double scale) { // ABS(scale) < 1.0 == zoom in // scale < 0.0 = center on screen middle // scale > 0.0 = center on cursor - double tl_span=(mt->tl_max-mt->tl_min)/2.; + double tl_span = (mt->tl_max - mt->tl_min) / 2.; double tl_cur; - - if (scale>0.) tl_cur=mt->ptr_time; // center on cursor - else { - tl_cur=mt->tl_min+tl_span; // center on middle of screen - scale=-scale; + if (scale > 0.) { + tl_cur = mt->ptr_time; + } else { + tl_cur = mt->tl_min + tl_span; // center on middle of screen + scale = -scale; } - mt->tl_min=tl_cur-tl_span*scale; // new min - mt->tl_max=tl_cur+tl_span*scale; // new max + mt->tl_min = tl_cur - tl_span * scale; // new min + mt->tl_max = tl_cur + tl_span * scale; // new max - if (mt->tl_min<0.) { - mt->tl_max-=mt->tl_min; - mt->tl_min=0.; + if (mt->tl_min < 0.) { + mt->tl_max -= mt->tl_min; + mt->tl_min = 0.; } - mt->tl_min=q_gint64(mt->tl_min*U_SEC,mt->fps)/U_SEC; - mt->tl_max=q_gint64(mt->tl_max*U_SEC,mt->fps)/U_SEC; + mt->tl_min = q_gint64(mt->tl_min * U_SEC, mt->fps) / U_SEC; + mt->tl_max = q_gint64(mt->tl_max * U_SEC, mt->fps) / U_SEC; - if (mt->tl_min==mt->tl_max) mt->tl_max=mt->tl_min+1./mt->fps; + if (mt->tl_min == mt->tl_max) mt->tl_max = mt->tl_min + 1. / mt->fps; - lives_ruler_set_upper(LIVES_RULER(mt->timeline),mt->tl_max); - lives_ruler_set_lower(LIVES_RULER(mt->timeline),mt->tl_min); + lives_ruler_set_upper(LIVES_RULER(mt->timeline), mt->tl_max); + lives_ruler_set_lower(LIVES_RULER(mt->timeline), mt->tl_min); set_time_scrollbar(mt); @@ -3348,46 +3274,46 @@ static void scroll_time_by_scrollbar(LiVESHScrollbar *sbar, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - mt->tl_min=lives_adjustment_get_value(lives_range_get_adjustment(LIVES_RANGE(sbar))); - mt->tl_max=lives_adjustment_get_value(lives_range_get_adjustment(LIVES_RANGE(sbar))) - +lives_adjustment_get_page_size(lives_range_get_adjustment(LIVES_RANGE(sbar))); - mt_zoom(mt,-1.); - paint_lines(mt,mt->ptr_time,TRUE); + lives_mt *mt = (lives_mt *)user_data; + mt->tl_min = lives_adjustment_get_value(lives_range_get_adjustment(LIVES_RANGE(sbar))); + mt->tl_max = lives_adjustment_get_value(lives_range_get_adjustment(LIVES_RANGE(sbar))) + + lives_adjustment_get_page_size(lives_range_get_adjustment(LIVES_RANGE(sbar))); + mt_zoom(mt, -1.); + paint_lines(mt, mt->ptr_time, TRUE); } boolean mt_trdown(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; if (!mainw->interactive) return TRUE; - if (mt->current_track>=0&&mt->opts.pertrack_audio&&!mt->aud_track_selected) { - LiVESWidget *eventbox=(LiVESWidget *)lives_list_nth_data(mt->video_draws,mt->current_track); - mt->aud_track_selected=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"expanded")); - if (!mt->aud_track_selected&&mt->current_track==mt->num_video_tracks-1) return TRUE; + if (mt->current_track >= 0 && mt->opts.pertrack_audio && !mt->aud_track_selected) { + LiVESWidget *eventbox = (LiVESWidget *)lives_list_nth_data(mt->video_draws, mt->current_track); + mt->aud_track_selected = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "expanded")); + if (!mt->aud_track_selected && mt->current_track == mt->num_video_tracks - 1) return TRUE; } else { - if (mt->current_track==mt->num_video_tracks-1) return TRUE; - mt->aud_track_selected=FALSE; + if (mt->current_track == mt->num_video_tracks - 1) return TRUE; + mt->aud_track_selected = FALSE; } - if (!mt->aud_track_selected||mt->current_track==-1) { - if (mt->current_track>-1) mt->current_track++; + if (!mt->aud_track_selected || mt->current_track == -1) { + if (mt->current_track > -1) mt->current_track++; else { - int i=0; - LiVESList *llist=mt->video_draws; - while (llist!=NULL) { - if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(llist->data),"hidden"))==0) { - mt->current_track=i; + int i = 0; + LiVESList *llist = mt->video_draws; + while (llist != NULL) { + if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(llist->data), "hidden")) == 0) { + mt->current_track = i; break; } - llist=llist->next; + llist = llist->next; i++; } - mt->current_track=i; + mt->current_track = i; } } - mt->selected_init_event=NULL; - scroll_track_on_screen(mt,mt->current_track); + mt->selected_init_event = NULL; + scroll_track_on_screen(mt, mt->current_track); track_select(mt); return TRUE; @@ -3395,20 +3321,20 @@ boolean mt_trup(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - if (mt->current_track==-1||(mt->current_track==0&&!mt->aud_track_selected&&!mt->opts.show_audio)) return TRUE; + lives_mt *mt = (lives_mt *)user_data; + if (mt->current_track == -1 || (mt->current_track == 0 && !mt->aud_track_selected && !mt->opts.show_audio)) return TRUE; if (!mainw->interactive) return TRUE; - if (mt->aud_track_selected) mt->aud_track_selected=FALSE; + if (mt->aud_track_selected) mt->aud_track_selected = FALSE; else { mt->current_track--; - if (mt->current_track>=0&&mt->opts.pertrack_audio) { - LiVESWidget *eventbox=(LiVESWidget *)lives_list_nth_data(mt->video_draws,mt->current_track); - mt->aud_track_selected=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"expanded")); + if (mt->current_track >= 0 && mt->opts.pertrack_audio) { + LiVESWidget *eventbox = (LiVESWidget *)lives_list_nth_data(mt->video_draws, mt->current_track); + mt->aud_track_selected = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "expanded")); } } - mt->selected_init_event=NULL; - if (mt->current_track!=-1) scroll_track_on_screen(mt,mt->current_track); + mt->selected_init_event = NULL; + if (mt->current_track != -1) scroll_track_on_screen(mt, mt->current_track); track_select(mt); return TRUE; @@ -3416,54 +3342,55 @@ -LIVES_INLINE int poly_page_to_tab(uint32_t page) { +static LIVES_INLINE int poly_page_to_tab(uint32_t page) { return ++page; } -LIVES_INLINE int poly_tab_to_page(uint32_t tab) { + +static LIVES_INLINE int poly_tab_to_page(uint32_t tab) { return --tab; } -LIVES_INLINE lives_mt_poly_state_t get_poly_state_from_page(lives_mt *mt) { +static LIVES_INLINE lives_mt_poly_state_t get_poly_state_from_page(lives_mt *mt) { return (lives_mt_poly_state_t)poly_page_to_tab(lives_notebook_get_current_page(LIVES_NOTEBOOK(mt->nb))); } static void notebook_error(LiVESNotebook *nb, uint32_t tab, lives_mt_nb_error_t err, lives_mt *mt) { - uint32_t page=poly_tab_to_page(tab); + uint32_t page = poly_tab_to_page(tab); - if (mt->nb_label!=NULL) lives_widget_destroy(mt->nb_label); - mt->nb_label=NULL; + if (mt->nb_label != NULL) lives_widget_destroy(mt->nb_label); + mt->nb_label = NULL; - widget_opts.justify=LIVES_JUSTIFY_CENTER; + widget_opts.justify = LIVES_JUSTIFY_CENTER; switch (err) { case NB_ERROR_SEL: - mt->nb_label=lives_standard_label_new(_("\n\nPlease select a block\nin the timeline by\nright or double clicking on it.\n")); + mt->nb_label = lives_standard_label_new(_("\n\nPlease select a block\nin the timeline by\nright or double clicking on it.\n")); break; case NB_ERROR_NOEFFECT: - mt->nb_label=lives_standard_label_new(_("\n\nNo effect selected.\nSelect an effect in FX stack first to view its parameters.\n")); + mt->nb_label = lives_standard_label_new(_("\n\nNo effect selected.\nSelect an effect in FX stack first to view its parameters.\n")); break; case NB_ERROR_NOCLIP: - mt->nb_label=lives_standard_label_new(_("\n\nNo clips loaded.\n")); + mt->nb_label = lives_standard_label_new(_("\n\nNo clips loaded.\n")); break; case NB_ERROR_NOTRANS: - mt->nb_label=lives_standard_label_new( - _("You must select two video tracks\nand a time region\nto apply transitions.\n\n" - "Alternately, you can enable Autotransitions from the Effects menu\nbefore inserting clips into the timeline.")); + mt->nb_label = lives_standard_label_new( + _("You must select two video tracks\nand a time region\nto apply transitions.\n\n" + "Alternately, you can enable Autotransitions from the Effects menu\nbefore inserting clips into the timeline.")); break; case NB_ERROR_NOCOMP: - mt->nb_label=lives_standard_label_new(_("\n\nYou must select at least one video track\nand a time region\nto apply compositors.\n")); + mt->nb_label = lives_standard_label_new(_("\n\nYou must select at least one video track\nand a time region\nto apply compositors.\n")); break; } - widget_opts.justify=widget_opts.default_justify; + widget_opts.justify = widget_opts.default_justify; - lives_widget_set_hexpand(mt->nb_label,TRUE); + lives_widget_set_hexpand(mt->nb_label, TRUE); // add label to notebook page - lives_container_add(LIVES_CONTAINER(lives_notebook_get_nth_page(LIVES_NOTEBOOK(nb),page)),mt->nb_label); + lives_container_add(LIVES_CONTAINER(lives_notebook_get_nth_page(LIVES_NOTEBOOK(nb), page)), mt->nb_label); lives_widget_show(mt->nb_label); // hide the poly box @@ -3475,35 +3402,35 @@ static void fubar(lives_mt *mt) { - int npch,i,error; + int npch, i, error; int num_in_tracks; int *in_tracks; void **pchainx; char *fhash; - mt->init_event=mt->selected_init_event; + mt->init_event = mt->selected_init_event; - mt->track_index=-1; + mt->track_index = -1; - if ((num_in_tracks=weed_leaf_num_elements(mt->init_event,WEED_LEAF_IN_TRACKS))>0) { - in_tracks=weed_get_int_array(mt->init_event,WEED_LEAF_IN_TRACKS,&error); + if ((num_in_tracks = weed_leaf_num_elements(mt->init_event, WEED_LEAF_IN_TRACKS)) > 0) { + in_tracks = weed_get_int_array(mt->init_event, WEED_LEAF_IN_TRACKS, &error); // set track_index (for special widgets) - for (i=0; i<num_in_tracks; i++) { - if (mt->current_track==in_tracks[i]) mt->track_index=i; + for (i = 0; i < num_in_tracks; i++) { + if (mt->current_track == in_tracks[i]) mt->track_index = i; } lives_free(in_tracks); } - fhash=weed_get_string_value(mt->init_event,WEED_LEAF_FILTER,&error); - mt->current_fx=weed_get_idx_for_hashname(fhash,TRUE); + fhash = weed_get_string_value(mt->init_event, WEED_LEAF_FILTER, &error); + mt->current_fx = weed_get_idx_for_hashname(fhash, TRUE); lives_free(fhash); - if (weed_plant_has_leaf(mt->selected_init_event,WEED_LEAF_IN_PARAMETERS)&& - weed_get_voidptr_value(mt->selected_init_event,WEED_LEAF_IN_PARAMETERS,&error)!=NULL) { - npch=weed_leaf_num_elements(mt->init_event,WEED_LEAF_IN_PARAMETERS); - pchainx=weed_get_voidptr_array(mt->init_event,WEED_LEAF_IN_PARAMETERS,&error); - pchain=(void **)lives_malloc(npch*sizeof(void *)); - for (i=0; i<npch; i++) pchain[i]=pchainx[i]; + if (weed_plant_has_leaf(mt->selected_init_event, WEED_LEAF_IN_PARAMETERS) && + weed_get_voidptr_value(mt->selected_init_event, WEED_LEAF_IN_PARAMETERS, &error) != NULL) { + npch = weed_leaf_num_elements(mt->init_event, WEED_LEAF_IN_PARAMETERS); + pchainx = weed_get_voidptr_array(mt->init_event, WEED_LEAF_IN_PARAMETERS, &error); + pchain = (void **)lives_malloc(npch * sizeof(void *)); + for (i = 0; i < npch; i++) pchain[i] = pchainx[i]; lives_free(pchainx); } } @@ -3514,82 +3441,81 @@ // (via set_poly_tab(), lives_notebook_set_current_page() ) uint32_t page; - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; - if (nbp!=NULL) { - page=tab; - tab=poly_page_to_tab(page); + if (nbp != NULL) { + page = tab; + tab = poly_page_to_tab(page); } else { // should never be NULL i think - page=poly_tab_to_page(tab); + page = poly_tab_to_page(tab); } // destroy the label that was in the page - if (mt->nb_label!=NULL) lives_widget_destroy(mt->nb_label); - mt->nb_label=NULL; + if (mt->nb_label != NULL) lives_widget_destroy(mt->nb_label); + mt->nb_label = NULL; lives_widget_show(mt->poly_box); - lives_widget_show(lives_notebook_get_nth_page(LIVES_NOTEBOOK(mt->nb),page)); - + lives_widget_show(lives_notebook_get_nth_page(LIVES_NOTEBOOK(mt->nb), page)); // we reparent the poly_box in the current tab switch (tab) { case POLY_CLIPS: - if (mt->clip_labels==NULL) { - notebook_error(LIVES_NOTEBOOK(mt->nb),tab,NB_ERROR_NOCLIP,mt); + if (mt->clip_labels == NULL) { + notebook_error(LIVES_NOTEBOOK(mt->nb), tab, NB_ERROR_NOCLIP, mt); return FALSE; } - if (mt->poly_state!=POLY_CLIPS&&nb!=NULL) polymorph(mt,POLY_CLIPS); - else lives_widget_reparent(mt->poly_box,lives_notebook_get_nth_page(LIVES_NOTEBOOK(mt->nb),page)); + if (mt->poly_state != POLY_CLIPS && nb != NULL) polymorph(mt, POLY_CLIPS); + else lives_widget_reparent(mt->poly_box, lives_notebook_get_nth_page(LIVES_NOTEBOOK(mt->nb), page)); break; case POLY_IN_OUT: - if (mt->block_selected==NULL&&mt->poly_state!=POLY_IN_OUT) { - notebook_error(LIVES_NOTEBOOK(mt->nb),tab,NB_ERROR_SEL,mt); + if (mt->block_selected == NULL && mt->poly_state != POLY_IN_OUT) { + notebook_error(LIVES_NOTEBOOK(mt->nb), tab, NB_ERROR_SEL, mt); return FALSE; } - if (mt->poly_state!=POLY_IN_OUT) polymorph(mt,POLY_IN_OUT); - else lives_widget_reparent(mt->poly_box,lives_notebook_get_nth_page(LIVES_NOTEBOOK(mt->nb),page)); + if (mt->poly_state != POLY_IN_OUT) polymorph(mt, POLY_IN_OUT); + else lives_widget_reparent(mt->poly_box, lives_notebook_get_nth_page(LIVES_NOTEBOOK(mt->nb), page)); break; case POLY_FX_STACK: - if (mt->poly_state!=POLY_FX_STACK) polymorph(mt,POLY_FX_STACK); - else lives_widget_reparent(mt->poly_box,lives_notebook_get_nth_page(LIVES_NOTEBOOK(mt->nb),page)); + if (mt->poly_state != POLY_FX_STACK) polymorph(mt, POLY_FX_STACK); + else lives_widget_reparent(mt->poly_box, lives_notebook_get_nth_page(LIVES_NOTEBOOK(mt->nb), page)); break; case POLY_EFFECTS: - if (mt->block_selected==NULL&&mt->poly_state!=POLY_EFFECTS) { - notebook_error(LIVES_NOTEBOOK(mt->nb),tab,NB_ERROR_SEL,mt); + if (mt->block_selected == NULL && mt->poly_state != POLY_EFFECTS) { + notebook_error(LIVES_NOTEBOOK(mt->nb), tab, NB_ERROR_SEL, mt); return FALSE; } - if (mt->poly_state!=POLY_EFFECTS) polymorph(mt,POLY_EFFECTS); - else lives_widget_reparent(mt->poly_box,lives_notebook_get_nth_page(LIVES_NOTEBOOK(mt->nb),page)); + if (mt->poly_state != POLY_EFFECTS) polymorph(mt, POLY_EFFECTS); + else lives_widget_reparent(mt->poly_box, lives_notebook_get_nth_page(LIVES_NOTEBOOK(mt->nb), page)); break; case POLY_TRANS: - if (lives_list_length(mt->selected_tracks)!=2||mt->region_start==mt->region_end) { - notebook_error(LIVES_NOTEBOOK(mt->nb),tab,NB_ERROR_NOTRANS,mt); + if (lives_list_length(mt->selected_tracks) != 2 || mt->region_start == mt->region_end) { + notebook_error(LIVES_NOTEBOOK(mt->nb), tab, NB_ERROR_NOTRANS, mt); return FALSE; } - if (mt->poly_state!=POLY_TRANS) polymorph(mt,POLY_TRANS); + if (mt->poly_state != POLY_TRANS) polymorph(mt, POLY_TRANS); else { - lives_widget_reparent(mt->poly_box,lives_notebook_get_nth_page(LIVES_NOTEBOOK(mt->nb),page)); + lives_widget_reparent(mt->poly_box, lives_notebook_get_nth_page(LIVES_NOTEBOOK(mt->nb), page)); } break; case POLY_COMP: - if (mt->selected_tracks==NULL||mt->region_start==mt->region_end) { - notebook_error(LIVES_NOTEBOOK(mt->nb),tab,NB_ERROR_NOCOMP,mt); + if (mt->selected_tracks == NULL || mt->region_start == mt->region_end) { + notebook_error(LIVES_NOTEBOOK(mt->nb), tab, NB_ERROR_NOCOMP, mt); return FALSE; } - if (mt->poly_state!=POLY_COMP) polymorph(mt,POLY_COMP); - else lives_widget_reparent(mt->poly_box,lives_notebook_get_nth_page(LIVES_NOTEBOOK(mt->nb),page)); + if (mt->poly_state != POLY_COMP) polymorph(mt, POLY_COMP); + else lives_widget_reparent(mt->poly_box, lives_notebook_get_nth_page(LIVES_NOTEBOOK(mt->nb), page)); break; case POLY_PARAMS: - if (mt->poly_state!=POLY_PARAMS&&mt->selected_init_event==NULL) { - notebook_error(LIVES_NOTEBOOK(mt->nb),tab,NB_ERROR_NOEFFECT,mt); + if (mt->poly_state != POLY_PARAMS && mt->selected_init_event == NULL) { + notebook_error(LIVES_NOTEBOOK(mt->nb), tab, NB_ERROR_NOEFFECT, mt); return FALSE; } - lives_widget_reparent(mt->poly_box,lives_notebook_get_nth_page(LIVES_NOTEBOOK(mt->nb),page)); - if (mt->selected_init_event!=NULL&&mt->poly_state!=POLY_PARAMS) { + lives_widget_reparent(mt->poly_box, lives_notebook_get_nth_page(LIVES_NOTEBOOK(mt->nb), page)); + if (mt->selected_init_event != NULL && mt->poly_state != POLY_PARAMS) { fubar(mt); - polymorph(mt,POLY_PARAMS); + polymorph(mt, POLY_PARAMS); } break; } @@ -3599,155 +3525,155 @@ static void set_poly_tab(lives_mt *mt, uint32_t tab) { - int page=poly_tab_to_page(tab); - lives_widget_show(lives_notebook_get_nth_page(LIVES_NOTEBOOK(mt->nb),page)); - if (page!=lives_notebook_get_current_page(LIVES_NOTEBOOK(mt->nb))) { - lives_notebook_set_current_page(LIVES_NOTEBOOK(mt->nb),page); + int page = poly_tab_to_page(tab); + lives_widget_show(lives_notebook_get_nth_page(LIVES_NOTEBOOK(mt->nb), page)); + if (page != lives_notebook_get_current_page(LIVES_NOTEBOOK(mt->nb))) { + lives_notebook_set_current_page(LIVES_NOTEBOOK(mt->nb), page); } else { - notebook_page(mt->nb,lives_notebook_get_nth_page(LIVES_NOTEBOOK(mt->nb),page),page,mt); + notebook_page(mt->nb, lives_notebook_get_nth_page(LIVES_NOTEBOOK(mt->nb), page), page, mt); } } - static void select_block(lives_mt *mt) { - track_rect *block=mt->putative_block; + track_rect *block = mt->putative_block; int track; int filenum; - char *tmp,*tmp2; + char *tmp, *tmp2; - if (block!=NULL) { - LiVESWidget *eventbox=block->eventbox; + if (block != NULL) { + LiVESWidget *eventbox = block->eventbox; - if (cfile->achans==0||mt->audio_draws==NULL||(mt->opts.back_audio_tracks==0||eventbox!=mt->audio_draws->data)) - track=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"layer_number")); - else track=-1; - - if (!is_audio_eventbox(eventbox)) filenum=get_frame_event_clip(block->start_event,track); - else filenum=get_audio_frame_clip(block->start_event,track); - block->state=BLOCK_SELECTED; - mt->block_selected=block; + if (cfile->achans == 0 || mt->audio_draws == NULL || (mt->opts.back_audio_tracks == 0 || eventbox != mt->audio_draws->data)) + track = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "layer_number")); + else track = -1; + + if (!is_audio_eventbox(eventbox)) filenum = get_frame_event_clip(block->start_event, track); + else filenum = get_audio_frame_clip(block->start_event, track); + block->state = BLOCK_SELECTED; + mt->block_selected = block; clear_context(mt); - if (cfile->achans==0||mt->audio_draws==NULL||(mt->opts.back_audio_tracks==0||eventbox!=mt->audio_draws->data)) - add_context_label(mt,(tmp2=lives_strdup_printf(_("Current track: %s (layer %d)\n"), - lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"track_name"),track))); - else add_context_label(mt,(tmp2=lives_strdup(_("Current track: Backing audio\n")))); + if (cfile->achans == 0 || mt->audio_draws == NULL || (mt->opts.back_audio_tracks == 0 || eventbox != mt->audio_draws->data)) + add_context_label(mt, (tmp2 = lives_strdup_printf(_("Current track: %s (layer %d)\n"), + lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "track_name"), track))); + else add_context_label(mt, (tmp2 = lives_strdup(_("Current track: Backing audio\n")))); lives_free(tmp2); - add_context_label(mt,(tmp2=lives_strdup_printf(_("%.2f sec. to %.2f sec.\n"),get_event_timecode(block->start_event)/U_SEC, - get_event_timecode(block->end_event)/U_SEC+1./mt->fps))); + add_context_label(mt, (tmp2 = lives_strdup_printf(_("%.2f sec. to %.2f sec.\n"), get_event_timecode(block->start_event) / U_SEC, + get_event_timecode(block->end_event) / U_SEC + 1. / mt->fps))); lives_free(tmp2); - add_context_label(mt,(tmp2=lives_strdup_printf(_("Source: %s"),(tmp=lives_path_get_basename(mainw->files[filenum]->name))))); + add_context_label(mt, (tmp2 = lives_strdup_printf(_("Source: %s"), (tmp = lives_path_get_basename(mainw->files[filenum]->name))))); lives_free(tmp2); - add_context_label(mt,(_("Right click for context menu.\n"))); - add_context_label(mt,(_("Single click on timeline\nto select a frame.\n"))); + add_context_label(mt, (_("Right click for context menu.\n"))); + add_context_label(mt, (_("Single click on timeline\nto select a frame.\n"))); lives_free(tmp); - lives_widget_set_sensitive(mt->view_in_out,TRUE); + lives_widget_set_sensitive(mt->view_in_out, TRUE); lives_widget_set_sensitive(mt->fx_block, TRUE); lives_widget_set_sensitive(mt->fx_blockv, TRUE); - if (cfile->achans>0) lives_widget_set_sensitive(mt->fx_blocka, TRUE); + if (cfile->achans > 0) lives_widget_set_sensitive(mt->fx_blocka, TRUE); - redraw_eventbox(mt,eventbox); + redraw_eventbox(mt, eventbox); - multitrack_view_in_out(NULL,mt); + multitrack_view_in_out(NULL, mt); + paint_lines(mt, mt->ptr_time, TRUE); } - mt->context_time=-1.; - + mt->context_time = -1.; } static boolean on_drag_filter_end(LiVESWidget *widget, LiVESXEventButton *event, livespointer user_data) { LiVESXWindow *window; - LiVESWidget *eventbox=NULL,*oeventbox; + LiVESWidget *eventbox = NULL, *oeventbox; LiVESWidget *labelbox; LiVESWidget *ahbox; - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; - double timesecs=0.; + double timesecs = 0.; - int win_x,win_y,nins; + int win_x, win_y, nins; - int tchan=0; + int tchan = 0; - boolean ok=FALSE; + boolean ok = FALSE; register int i; - if (mt->cursor_style!=LIVES_CURSOR_FX_BLOCK) { - mt->selected_filter=-1; + if (mt->cursor_style != LIVES_CURSOR_FX_BLOCK) { + mt->selected_filter = -1; return FALSE; } - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); - if (mt->is_rendering||mainw->playing_file>-1||mt->selected_filter==-1) { - mt->selected_filter=-1; + if (mt->is_rendering || mainw->playing_file > -1 || mt->selected_filter == -1) { + mt->selected_filter = -1; return FALSE; } - window=lives_display_get_window_at_pointer - ((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].mouse_device, - mt->display,&win_x,&win_y); - - if (cfile->achans>0&&enabled_in_channels(get_weed_filter(mt->selected_filter),TRUE)==1) { - for (i=0; i<lives_list_length(mt->audio_draws); i++) { - eventbox=(LiVESWidget *)lives_list_nth_data(mt->audio_draws,i); - if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"hidden"))!=0) continue; - labelbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"labelbox"); - if (lives_widget_get_xwindow(eventbox)==window||lives_widget_get_xwindow(labelbox)==window) { - if (lives_widget_get_xwindow(labelbox)!=window) { - lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].mouse_device, + window = lives_display_get_window_at_pointer + ((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].mouse_device, + mt->display, &win_x, &win_y); + + if (cfile->achans > 0 && enabled_in_channels(get_weed_filter(mt->selected_filter), TRUE) == 1) { + for (i = 0; i < lives_list_length(mt->audio_draws); i++) { + eventbox = (LiVESWidget *)lives_list_nth_data(mt->audio_draws, i); + if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "hidden")) != 0) continue; + labelbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "labelbox"); + if (lives_widget_get_xwindow(eventbox) == window || lives_widget_get_xwindow(labelbox) == window) { + if (lives_widget_get_xwindow(labelbox) != window) { + lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].mouse_device, mt->timeline, &mt->sel_x, &mt->sel_y); - timesecs=get_time_from_x(mt,mt->sel_x); + timesecs = get_time_from_x(mt, mt->sel_x); } - tchan=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"layer_number")); - if ((oeventbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"owner"))!=NULL) { - eventbox=oeventbox; + tchan = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "layer_number")); + if ((oeventbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "owner")) != NULL) { + eventbox = oeventbox; } - ok=TRUE; + ok = TRUE; break; } } } if (!ok) { - for (i=0; i<lives_list_length(mt->video_draws); i++) { - eventbox=(LiVESWidget *)lives_list_nth_data(mt->video_draws,i); - if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"hidden"))!=0) continue; - labelbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"labelbox"); - ahbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"ahbox"); - if (lives_widget_get_xwindow(eventbox)==window||lives_widget_get_xwindow(labelbox)==window||lives_widget_get_xwindow(ahbox)==window) { - if (lives_widget_get_xwindow(labelbox)!=window) { - lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].mouse_device, + for (i = 0; i < lives_list_length(mt->video_draws); i++) { + eventbox = (LiVESWidget *)lives_list_nth_data(mt->video_draws, i); + if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "hidden")) != 0) continue; + labelbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "labelbox"); + ahbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "ahbox"); + if (lives_widget_get_xwindow(eventbox) == window || lives_widget_get_xwindow(labelbox) == window || + lives_widget_get_xwindow(ahbox) == window) { + if (lives_widget_get_xwindow(labelbox) != window) { + lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].mouse_device, mt->timeline, &mt->sel_x, &mt->sel_y); - timesecs=get_time_from_x(mt,mt->sel_x); + timesecs = get_time_from_x(mt, mt->sel_x); } - tchan=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"layer_number")); - ok=TRUE; + tchan = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "layer_number")); + ok = TRUE; break; } } } if (!ok) { - mt->selected_filter=-1; + mt->selected_filter = -1; return FALSE; } - mt->current_fx=mt->selected_filter; - mt->selected_filter=-1; + mt->current_fx = mt->selected_filter; + mt->selected_filter = -1; // create dummy menuitem - dummy_menuitem=lives_menu_item_new(); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(dummy_menuitem),"idx",LIVES_INT_TO_POINTER(mt->current_fx)); + dummy_menuitem = lives_menu_item_new(); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(dummy_menuitem), "idx", LIVES_INT_TO_POINTER(mt->current_fx)); - nins=enabled_in_channels(get_weed_filter(mt->current_fx),TRUE); - if (nins==1) { + nins = enabled_in_channels(get_weed_filter(mt->current_fx), TRUE); + if (nins == 1) { /* // filter - either we drop on a region or on a block if (lives_list_length(mt->selected_tracks)==1&&mt->region_start!=mt->region_end) { // apply to region @@ -3757,42 +3683,42 @@ // always apply to block track_rect *block; - if (tchan==-1&&!is_pure_audio(get_weed_filter(mt->current_fx),FALSE)) { + if (tchan == -1 && !is_pure_audio(get_weed_filter(mt->current_fx), FALSE)) { // can only apply audio filters to backing audio lives_widget_destroy(dummy_menuitem); return FALSE; } - block=get_block_from_time(eventbox,timesecs,mt); - if (block==NULL) { + block = get_block_from_time(eventbox, timesecs, mt); + if (block == NULL) { lives_widget_destroy(dummy_menuitem); return FALSE; } - nb_ignore=TRUE; + nb_ignore = TRUE; unselect_all(mt); - mt->putative_block=block; + mt->putative_block = block; - mt->current_track=get_track_for_block(mt->putative_block); - if (mt->current_track<0) mt->aud_track_selected=TRUE; - else mt->aud_track_selected=FALSE; + mt->current_track = get_track_for_block(mt->putative_block); + if (mt->current_track < 0) mt->aud_track_selected = TRUE; + else mt->aud_track_selected = FALSE; track_select(mt); select_block(mt); - nb_ignore=FALSE; + nb_ignore = FALSE; // apply to block - mt->putative_block=NULL; - lives_idle_add_full(G_PRIORITY_HIGH,mt_add_block_effect_idle,mt,NULL); // work around bug in gtk+ - } else if (nins==2) { + mt->putative_block = NULL; + lives_idle_add_full(G_PRIORITY_HIGH, mt_add_block_effect_idle, mt, NULL); // work around bug in gtk+ + } else if (nins == 2) { // transition - if (lives_list_length(mt->selected_tracks)==2&&mt->region_start!=mt->region_end) { + if (lives_list_length(mt->selected_tracks) == 2 && mt->region_start != mt->region_end) { // apply to region - lives_idle_add_full(G_PRIORITY_HIGH,mt_add_region_effect_idle,mt,NULL); + lives_idle_add_full(G_PRIORITY_HIGH, mt_add_region_effect_idle, mt, NULL); } - } else if (nins>=1000000) { + } else if (nins >= 1000000) { // compositor - if (mt->selected_tracks!=NULL&&mt->region_start!=mt->region_end) { + if (mt->selected_tracks != NULL && mt->region_start != mt->region_end) { // apply to region - lives_idle_add_full(G_PRIORITY_HIGH,mt_add_region_effect_idle,mt,NULL); + lives_idle_add_full(G_PRIORITY_HIGH, mt_add_region_effect_idle, mt, NULL); } } @@ -3801,26 +3727,25 @@ } - static boolean filter_ebox_pressed(LiVESWidget *eventbox, LiVESXEventButton *event, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; if (mt->is_rendering) return FALSE; - mt->selected_filter=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"fxid")); + mt->selected_filter = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "fxid")); - if (event->type!=LIVES_BUTTON_PRESS) { + if (event->type != LIVES_BUTTON_PRESS) { // double click return FALSE; } - if (mainw->playing_file==-1) { + if (mainw->playing_file == -1) { // change cursor to mini block - if (mt->video_draws==NULL&&mt->audio_draws==NULL) { + if (mt->video_draws == NULL && mt->audio_draws == NULL) { return FALSE; } else { - mt_set_cursor_style(mt,LIVES_CURSOR_FX_BLOCK,FX_BLOCK_WIDTH,FX_BLOCK_HEIGHT,0,0,FX_BLOCK_HEIGHT/2); - mt->hotspot_x=mt->hotspot_y=0; + mt_set_cursor_style(mt, LIVES_CURSOR_FX_BLOCK, FX_BLOCK_WIDTH, FX_BLOCK_HEIGHT, 0, 0, FX_BLOCK_HEIGHT / 2); + mt->hotspot_x = mt->hotspot_y = 0; } } @@ -3828,79 +3753,73 @@ } - - - - - - static void populate_filter_box(LiVESWidget *box, int ninchans, lives_mt *mt) { - LiVESWidget *eventbox=NULL,*xeventbox,*vbox,*label; + LiVESWidget *eventbox = NULL, *xeventbox, *vbox, *label; char *txt; char *tmp; - lives_fx_cat_t cat,subcat; + lives_fx_cat_t cat, subcat; - int nfilts=rte_get_numfilters(FALSE); - int error,nins; + int nfilts = rte_get_numfilters(FALSE); + int error, nins; register int i; - if (mt->block_selected==NULL&&ninchans==1) return; + if (mt->block_selected == NULL && ninchans == 1) return; - if (mt->block_selected) eventbox=mt->block_selected->eventbox; + if (mt->block_selected) eventbox = mt->block_selected->eventbox; - for (i=0; i<nfilts; i++) { - weed_plant_t *filter=get_weed_filter(i); - if (filter!=NULL&&!weed_plant_has_leaf(filter,WEED_LEAF_HOST_MENU_HIDE)) { + for (i = 0; i < nfilts; i++) { + weed_plant_t *filter = get_weed_filter(i); + if (filter != NULL && !weed_plant_has_leaf(filter, WEED_LEAF_HOST_MENU_HIDE)) { - if ((is_pure_audio(filter,FALSE)&&(eventbox==NULL||!is_audio_eventbox(eventbox)))|| - (!is_pure_audio(filter,FALSE)&&eventbox!=NULL&&is_audio_eventbox(eventbox))) continue; + if ((is_pure_audio(filter, FALSE) && (eventbox == NULL || !is_audio_eventbox(eventbox))) || + (!is_pure_audio(filter, FALSE) && eventbox != NULL && is_audio_eventbox(eventbox))) continue; - nins=enabled_in_channels(filter,TRUE); + nins = enabled_in_channels(filter, TRUE); - if ((nins==ninchans||(ninchans==1000000&&nins>=ninchans))&&enabled_out_channels(filter,FALSE)==1) { - if (weed_plant_has_leaf(filter,WEED_LEAF_PLUGIN_UNSTABLE)&& - weed_get_boolean_value(filter,WEED_LEAF_PLUGIN_UNSTABLE,&error)==WEED_TRUE) { + if ((nins == ninchans || (ninchans == 1000000 && nins >= ninchans)) && enabled_out_channels(filter, FALSE) == 1) { + if (weed_plant_has_leaf(filter, WEED_LEAF_PLUGIN_UNSTABLE) && + weed_get_boolean_value(filter, WEED_LEAF_PLUGIN_UNSTABLE, &error) == WEED_TRUE) { if (!prefs->unstable_fx) continue; - tmp=weed_filter_idx_get_name(i); - txt=lives_strdup_printf(_("%s [unstable]"),tmp); + tmp = weed_filter_idx_get_name(i); + txt = lives_strdup_printf(_("%s [unstable]"), tmp); lives_free(tmp); - } else txt=weed_filter_idx_get_name(i); + } else txt = weed_filter_idx_get_name(i); - cat=weed_filter_categorise(filter,enabled_in_channels(filter,TRUE),enabled_out_channels(filter,FALSE)); - if ((subcat=weed_filter_subcategorise(filter,cat,(cat==LIVES_FX_CAT_COMPOSITOR)))!=0) { - tmp=lives_strdup_printf("%s (%s)",txt,lives_fx_cat_to_text(subcat,FALSE)); + cat = weed_filter_categorise(filter, enabled_in_channels(filter, TRUE), enabled_out_channels(filter, FALSE)); + if ((subcat = weed_filter_subcategorise(filter, cat, (cat == LIVES_FX_CAT_COMPOSITOR))) != 0) { + tmp = lives_strdup_printf("%s (%s)", txt, lives_fx_cat_to_text(subcat, FALSE)); lives_free(txt); - txt=tmp; + txt = tmp; } - xeventbox=lives_event_box_new(); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(xeventbox),"fxid",LIVES_INT_TO_POINTER(i)); + xeventbox = lives_event_box_new(); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(xeventbox), "fxid", LIVES_INT_TO_POINTER(i)); lives_widget_add_events(xeventbox, LIVES_BUTTON_RELEASE_MASK | LIVES_BUTTON_PRESS_MASK); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(xeventbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); } - vbox=lives_vbox_new(FALSE,0); + vbox = lives_vbox_new(FALSE, 0); - lives_container_set_border_width(LIVES_CONTAINER(vbox), widget_opts.border_width>>1); + lives_container_set_border_width(LIVES_CONTAINER(vbox), widget_opts.border_width >> 1); lives_container_add(LIVES_CONTAINER(xeventbox), vbox); - label=lives_standard_label_new(txt); + label = lives_standard_label_new(txt); lives_free(txt); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_fg_color(label, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); lives_widget_set_fg_color(xeventbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); lives_widget_set_fg_color(vbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); lives_widget_set_fg_color(box, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); } - lives_container_set_border_width(LIVES_CONTAINER(xeventbox), widget_opts.border_width>>1); + lives_container_set_border_width(LIVES_CONTAINER(xeventbox), widget_opts.border_width >> 1); lives_box_pack_start(LIVES_BOX(vbox), label, FALSE, FALSE, 0); // pack a/v transitions first - if (get_transition_param(filter,FALSE)==-1||!has_video_chans_in(filter,FALSE)) + if (get_transition_param(filter, FALSE) == -1 || !has_video_chans_in(filter, FALSE)) lives_box_pack_end(LIVES_BOX(box), xeventbox, FALSE, FALSE, 0); else lives_box_pack_start(LIVES_BOX(box), xeventbox, FALSE, FALSE, 0); @@ -3916,21 +3835,20 @@ } - static void mt_selblock(LiVESMenuItem *menuitem, livespointer user_data) { // ctrl-Enter - select block at current time/track - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; LiVESWidget *eventbox; - double timesecs=mt->ptr_time; - boolean desel=TRUE; + double timesecs = mt->ptr_time; + boolean desel = TRUE; - if (mt->current_track==-1||mt->aud_track_selected) - eventbox=(LiVESWidget *)lives_list_nth_data(mt->audio_draws,mt->current_track+mt->opts.back_audio_tracks); - else eventbox=(LiVESWidget *)lives_list_nth_data(mt->video_draws,mt->current_track); + if (mt->current_track == -1 || mt->aud_track_selected) + eventbox = (LiVESWidget *)lives_list_nth_data(mt->audio_draws, mt->current_track + mt->opts.back_audio_tracks); + else eventbox = (LiVESWidget *)lives_list_nth_data(mt->video_draws, mt->current_track); - mt->putative_block=get_block_from_time(eventbox,timesecs,mt); + mt->putative_block = get_block_from_time(eventbox, timesecs, mt); - if (mt->putative_block!=NULL&&mt->putative_block->state==BLOCK_UNSELECTED) desel=FALSE; + if (mt->putative_block != NULL && mt->putative_block->state == BLOCK_UNSELECTED) desel = FALSE; unselect_all(mt); if (!desel) select_block((lives_mt *)user_data); @@ -3938,227 +3856,222 @@ void mt_center_on_cursor(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - mt_zoom(mt,1.); - paint_lines(mt,mt->ptr_time,TRUE); + lives_mt *mt = (lives_mt *)user_data; + mt_zoom(mt, 1.); + paint_lines(mt, mt->ptr_time, TRUE); } + void mt_zoom_in(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - mt_zoom(mt,-0.5); - if (mainw->playing_file>-1&&mt->opts.follow_playback) { - mt_zoom(mt,1.); + lives_mt *mt = (lives_mt *)user_data; + mt_zoom(mt, 0.5); + if (mainw->playing_file > -1 && mt->opts.follow_playback) { + mt_zoom(mt, 1.); } - paint_lines(mt,mt->ptr_time,TRUE); + paint_lines(mt, mt->ptr_time, TRUE); } + void mt_zoom_out(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - mt_zoom(mt,-2.); - if (mainw->playing_file>-1&&mt->opts.follow_playback) { - mt_zoom(mt,1.); + lives_mt *mt = (lives_mt *)user_data; + mt_zoom(mt, 2.); + if (mainw->playing_file > -1 && mt->opts.follow_playback) { + mt_zoom(mt, 1.); } - paint_lines(mt,mt->ptr_time,TRUE); + paint_lines(mt, mt->ptr_time, TRUE); } static void paned_pos(LiVESWidget *paned, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; lives_widget_queue_draw(mt->timeline_table); } + static void hpaned_pos(LiVESWidget *paned, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; lives_widget_queue_draw(mt->hbox); } static void no_time_selected(lives_mt *mt) { clear_context(mt); - add_context_label(mt,_("You can click and drag\nbelow the timeline")); - add_context_label(mt,_("to select a time region.\n")); + add_context_label(mt, _("You can click and drag\nbelow the timeline")); + add_context_label(mt, _("to select a time region.\n")); } - void mt_spin_start_value_changed(LiVESSpinButton *spinbutton, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - boolean has_region=(mt->region_start!=mt->region_end); + lives_mt *mt = (lives_mt *)user_data; + boolean has_region = (mt->region_start != mt->region_end); if (!mainw->interactive) return; - lives_signal_handler_block(mt->spinbutton_start,mt->spin_start_func); - mt->region_start=q_dbl(lives_spin_button_get_value(spinbutton),mt->fps)/U_SEC; - lives_spin_button_set_value(spinbutton,mt->region_start); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_end),mt->region_start,mt->end_secs); + lives_signal_handler_block(mt->spinbutton_start, mt->spin_start_func); + mt->region_start = q_dbl(lives_spin_button_get_value(spinbutton), mt->fps) / U_SEC; + lives_spin_button_set_value(spinbutton, mt->region_start); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_end), mt->region_start, mt->end_secs); lives_widget_queue_draw(mt->timeline_reg); - lives_widget_process_updates(mt->timeline_reg,FALSE); + lives_widget_process_updates(mt->timeline_reg, FALSE); draw_region(mt); do_sel_context(mt); - if ((((mt->region_start!=mt->region_end&&!has_region)||(mt->region_start==mt->region_end&&has_region)))&& - mt->event_list!=NULL&&get_first_event(mt->event_list)!=NULL) { - lives_mt_poly_state_t statep=get_poly_state_from_page(mt); - if (mt->selected_tracks!=NULL) { - lives_widget_set_sensitive(mt->split_sel,TRUE); - if (mt->region_start!=mt->region_end) { - lives_widget_set_sensitive(mt->playsel,TRUE); - lives_widget_set_sensitive(mt->ins_gap_sel,TRUE); + if ((((mt->region_start != mt->region_end && !has_region) || (mt->region_start == mt->region_end && has_region))) && + mt->event_list != NULL && get_first_event(mt->event_list) != NULL) { + lives_mt_poly_state_t statep = get_poly_state_from_page(mt); + if (mt->selected_tracks != NULL) { + lives_widget_set_sensitive(mt->split_sel, TRUE); + if (mt->region_start != mt->region_end) { + lives_widget_set_sensitive(mt->playsel, TRUE); + lives_widget_set_sensitive(mt->ins_gap_sel, TRUE); lives_widget_set_sensitive(mt->remove_first_gaps, TRUE); - lives_widget_set_sensitive(mt->fx_region,TRUE); - lives_widget_set_sensitive(mt->fx_region_3,TRUE); + lives_widget_set_sensitive(mt->fx_region, TRUE); + lives_widget_set_sensitive(mt->fx_region_3, TRUE); switch (lives_list_length(mt->selected_tracks)) { case 1: - lives_widget_set_sensitive(mt->fx_region_1,TRUE); + lives_widget_set_sensitive(mt->fx_region_1, TRUE); break; case 2: - lives_widget_set_sensitive(mt->fx_region_2,TRUE); + lives_widget_set_sensitive(mt->fx_region_2, TRUE); if (mt->opts.pertrack_audio) - lives_widget_set_sensitive(mt->fx_region_2a,TRUE); - lives_widget_set_sensitive(mt->fx_region_2v,TRUE); - lives_widget_set_sensitive(mt->fx_region_2av,TRUE); + lives_widget_set_sensitive(mt->fx_region_2a, TRUE); + lives_widget_set_sensitive(mt->fx_region_2v, TRUE); + lives_widget_set_sensitive(mt->fx_region_2av, TRUE); break; default: break; } } // update labels - if (statep==POLY_TRANS||statep==POLY_COMP) { - polymorph(mt,POLY_NONE); - polymorph(mt,statep); + if (statep == POLY_TRANS || statep == POLY_COMP) { + polymorph(mt, POLY_NONE); + polymorph(mt, statep); } } } - if (mt->region_start==mt->region_end) no_time_selected(mt); + if (mt->region_start == mt->region_end) no_time_selected(mt); - lives_signal_handler_unblock(mt->spinbutton_start,mt->spin_start_func); + lives_signal_handler_unblock(mt->spinbutton_start, mt->spin_start_func); } - void mt_spin_end_value_changed(LiVESSpinButton *spinbutton, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - boolean has_region=(mt->region_start!=mt->region_end); + lives_mt *mt = (lives_mt *)user_data; + boolean has_region = (mt->region_start != mt->region_end); if (!mainw->interactive) return; - lives_signal_handler_block(mt->spinbutton_end,mt->spin_end_func); - mt->region_end=q_dbl(lives_spin_button_get_value(spinbutton),mt->fps)/U_SEC; - lives_spin_button_set_value(spinbutton,mt->region_end); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_start),0.,mt->region_end); + lives_signal_handler_block(mt->spinbutton_end, mt->spin_end_func); + mt->region_end = q_dbl(lives_spin_button_get_value(spinbutton), mt->fps) / U_SEC; + lives_spin_button_set_value(spinbutton, mt->region_end); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_start), 0., mt->region_end); lives_widget_queue_draw(mt->timeline_reg); - lives_widget_process_updates(mt->timeline_reg,FALSE); + lives_widget_process_updates(mt->timeline_reg, FALSE); draw_region(mt); do_sel_context(mt); - if ((((mt->region_start!=mt->region_end&&!has_region)||(mt->region_start==mt->region_end&&has_region)))&& - mt->event_list!=NULL&&get_first_event(mt->event_list)!=NULL) { - lives_mt_poly_state_t statep=get_poly_state_from_page(mt); - if (mt->selected_tracks!=NULL) { - lives_widget_set_sensitive(mt->split_sel,TRUE); - if (mt->region_start!=mt->region_end) { - lives_widget_set_sensitive(mt->playsel,TRUE); - lives_widget_set_sensitive(mt->ins_gap_sel,TRUE); + if ((((mt->region_start != mt->region_end && !has_region) || (mt->region_start == mt->region_end && has_region))) && + mt->event_list != NULL && get_first_event(mt->event_list) != NULL) { + lives_mt_poly_state_t statep = get_poly_state_from_page(mt); + if (mt->selected_tracks != NULL) { + lives_widget_set_sensitive(mt->split_sel, TRUE); + if (mt->region_start != mt->region_end) { + lives_widget_set_sensitive(mt->playsel, TRUE); + lives_widget_set_sensitive(mt->ins_gap_sel, TRUE); lives_widget_set_sensitive(mt->remove_gaps, TRUE); lives_widget_set_sensitive(mt->remove_first_gaps, TRUE); - lives_widget_set_sensitive(mt->fx_region,TRUE); - lives_widget_set_sensitive(mt->fx_region_3,TRUE); + lives_widget_set_sensitive(mt->fx_region, TRUE); + lives_widget_set_sensitive(mt->fx_region_3, TRUE); switch (lives_list_length(mt->selected_tracks)) { case 1: - lives_widget_set_sensitive(mt->fx_region_1,TRUE); + lives_widget_set_sensitive(mt->fx_region_1, TRUE); break; case 2: - lives_widget_set_sensitive(mt->fx_region_2,TRUE); + lives_widget_set_sensitive(mt->fx_region_2, TRUE); if (mt->opts.pertrack_audio) - lives_widget_set_sensitive(mt->fx_region_2a,TRUE); - lives_widget_set_sensitive(mt->fx_region_2v,TRUE); - lives_widget_set_sensitive(mt->fx_region_2av,TRUE); + lives_widget_set_sensitive(mt->fx_region_2a, TRUE); + lives_widget_set_sensitive(mt->fx_region_2v, TRUE); + lives_widget_set_sensitive(mt->fx_region_2av, TRUE); break; default: break; } } // update labels - if (statep==POLY_TRANS||statep==POLY_COMP) { - polymorph(mt,POLY_NONE); - polymorph(mt,statep); + if (statep == POLY_TRANS || statep == POLY_COMP) { + polymorph(mt, POLY_NONE); + polymorph(mt, statep); } } } - if (mt->region_start==mt->region_end) no_time_selected(mt); + if (mt->region_start == mt->region_end) no_time_selected(mt); - lives_signal_handler_unblock(mt->spinbutton_end,mt->spin_end_func); + lives_signal_handler_unblock(mt->spinbutton_end, mt->spin_end_func); } static boolean in_out_ebox_pressed(LiVESWidget *eventbox, LiVESXEventButton *event, livespointer user_data) { - int height; double width; int ebwidth; lives_clip_t *sfile; int file; - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; if (!mainw->interactive) return FALSE; - if (mt->block_selected!=NULL) return FALSE; + if (mt->block_selected != NULL) return FALSE; - ebwidth=lives_widget_get_allocation_width(mt->timeline); - file=mt_file_from_clip(mt,mt->clip_selected); - sfile=mainw->files[file]; + ebwidth = lives_widget_get_allocation_width(mt->timeline); + file = mt_file_from_clip(mt, mt->clip_selected); + sfile = mainw->files[file]; // change cursor to block - if (mt->video_draws==NULL&&mt->audio_draws==NULL) { + if (mt->video_draws == NULL && mt->audio_draws == NULL) { return FALSE; } else { - if (sfile->frames>0) { + if (sfile->frames > 0) { if (!mt->opts.ign_ins_sel) { - width=(sfile->end-sfile->start+1.)/sfile->fps; + width = (sfile->end - sfile->start + 1.) / sfile->fps; } else { - width=sfile->frames/sfile->fps; + width = sfile->frames / sfile->fps; } - } else width=sfile->laudio_time; - if (width==0) return FALSE; - width=width/(mt->tl_max-mt->tl_min)*(double)ebwidth; - if (width>ebwidth) width=ebwidth; - if (width<2) width=2; - height=get_track_height(mt); + } else width = sfile->laudio_time; + if (width == 0) return FALSE; + width = width / (mt->tl_max - mt->tl_min) * (double)ebwidth; + if (width > ebwidth) width = ebwidth; + if (width < 2) width = 2; + height = get_track_height(mt); - lives_set_cursor_style(LIVES_CURSOR_NORMAL,eventbox); - mt_set_cursor_style(mt,LIVES_CURSOR_BLOCK,width,height,file,0,height/2); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, eventbox); + mt_set_cursor_style(mt, LIVES_CURSOR_BLOCK, width, height, file, 0, height / 2); - mt->hotspot_x=mt->hotspot_y=0; + mt->hotspot_x = mt->hotspot_y = 0; } - return FALSE; - } - - static void do_clip_context(lives_mt *mt, LiVESXEventButton *event, lives_clip_t *sfile) { // pop up a context menu when clip is right clicked on - LiVESWidget *edit_start_end,*edit_clipedit,*close_clip,*show_clipinfo; - LiVESWidget *menu=lives_menu_new(); + LiVESWidget *edit_start_end, *edit_clipedit, *close_clip, *show_clipinfo; + LiVESWidget *menu = lives_menu_new(); if (!mainw->interactive) return; - lives_menu_set_title(LIVES_MENU(menu),_("Selected Clip")); + lives_menu_set_title(LIVES_MENU(menu), _("Selected Clip")); - if (sfile->frames>0) { + if (sfile->frames > 0) { edit_start_end = lives_menu_item_new_with_mnemonic(_("_Adjust Start and End Points")); lives_signal_connect(LIVES_GUI_OBJECT(edit_start_end), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(edit_start_end_cb), (livespointer)mt); lives_container_add(LIVES_CONTAINER(menu), edit_start_end); - } edit_clipedit = lives_menu_item_new_with_mnemonic(_("_Edit/Encode in Clip Editor")); @@ -4182,7 +4095,7 @@ lives_container_add(LIVES_CONTAINER(menu), close_clip); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { set_child_alt_colour(menu, TRUE); lives_widget_set_bg_color(menu, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_fg_color(menu, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); @@ -4190,80 +4103,76 @@ lives_widget_show_all(menu); lives_menu_popup(LIVES_MENU(menu), event); - } - static boolean clip_ebox_pressed(LiVESWidget *eventbox, LiVESXEventButton *event, livespointer user_data) { - - int height; + lives_mt *mt = (lives_mt *)user_data; + lives_clip_t *sfile; double width; + int height; int ebwidth; - lives_clip_t *sfile; int file; - lives_mt *mt=(lives_mt *)user_data; if (!mt->is_ready) return FALSE; if (!mainw->interactive) return FALSE; - if (event->type!=LIVES_BUTTON_PRESS&&!mt->is_rendering) { - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); + if (event->type != LIVES_BUTTON_PRESS && !mt->is_rendering) { + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); // double click, open up in clip editor - if (mainw->playing_file==-1) multitrack_delete(mt,!(prefs->warning_mask&WARN_MASK_EXIT_MT)); + if (mainw->playing_file == -1) multitrack_delete(mt, !(prefs->warning_mask & WARN_MASK_EXIT_MT)); return FALSE; } - mt->clip_selected=get_box_child_index(LIVES_BOX(mt->clip_inner_box),eventbox); - mt_clip_select(mt,FALSE); + mt->clip_selected = get_box_child_index(LIVES_BOX(mt->clip_inner_box), eventbox); + mt_clip_select(mt, FALSE); - ebwidth=lives_widget_get_allocation_width(mt->timeline); - file=mt_file_from_clip(mt,mt->clip_selected); - sfile=mainw->files[file]; + ebwidth = lives_widget_get_allocation_width(mt->timeline); + file = mt_file_from_clip(mt, mt->clip_selected); + sfile = mainw->files[file]; - if (event->button==3) { - do_clip_context(mt,event,sfile); + if (event->button == 3) { + do_clip_context(mt, event, sfile); return FALSE; } // change cursor to block - if (mt->video_draws==NULL&&mt->audio_draws==NULL) { + if (mt->video_draws == NULL && mt->audio_draws == NULL) { return FALSE; } else { - if (sfile->frames>0) { + if (sfile->frames > 0) { if (!mt->opts.ign_ins_sel) { - width=(sfile->end-sfile->start+1.)/sfile->fps; + width = (sfile->end - sfile->start + 1.) / sfile->fps; } else { - width=sfile->frames/sfile->fps; + width = sfile->frames / sfile->fps; } - } else width=sfile->laudio_time; - if (width==0) return FALSE; - width=width/(mt->tl_max-mt->tl_min)*(double)ebwidth; - if (width>ebwidth) width=ebwidth; - if (width<2) width=2; - height=get_track_height(mt); - lives_set_cursor_style(LIVES_CURSOR_NORMAL,eventbox); - mt_set_cursor_style(mt,LIVES_CURSOR_BLOCK,width,height,file,0,height/2); - mt->hotspot_x=mt->hotspot_y=0; + } else width = sfile->laudio_time; + if (width == 0) return FALSE; + width = width / (mt->tl_max - mt->tl_min) * (double)ebwidth; + if (width > ebwidth) width = ebwidth; + if (width < 2) width = 2; + height = get_track_height(mt); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, eventbox); + mt_set_cursor_style(mt, LIVES_CURSOR_BLOCK, width, height, file, 0, height / 2); + mt->hotspot_x = mt->hotspot_y = 0; } return FALSE; } - static boolean on_drag_clip_end(LiVESWidget *widget, LiVESXEventButton *event, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; LiVESXWindow *window; LiVESWidget *eventbox; LiVESWidget *labelbox; LiVESWidget *ahbox; - double timesecs,osecs; + double timesecs, osecs; - int win_x,win_y; + int win_x, win_y; register int i; @@ -4271,109 +4180,109 @@ if (mt->is_rendering) return FALSE; - if (mt->cursor_style!=LIVES_CURSOR_BLOCK) return FALSE; + if (mt->cursor_style != LIVES_CURSOR_BLOCK) return FALSE; - osecs=mt->ptr_time; + osecs = mt->ptr_time; - lives_set_cursor_style(LIVES_CURSOR_BUSY,NULL); + lives_set_cursor_style(LIVES_CURSOR_BUSY, NULL); - window=lives_display_get_window_at_pointer - ((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].mouse_device, - mt->display,&win_x,&win_y); + window = lives_display_get_window_at_pointer + ((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].mouse_device, + mt->display, &win_x, &win_y); - if (cfile->achans>0&&mt->opts.back_audio_tracks>0&& - LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data),"hidden"))==0) { - labelbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data),"labelbox"); - ahbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data),"ahbox"); + if (cfile->achans > 0 && mt->opts.back_audio_tracks > 0 && + LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data), "hidden")) == 0) { + labelbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data), "labelbox"); + ahbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data), "ahbox"); - if (lives_widget_get_xwindow(LIVES_WIDGET(mt->audio_draws->data))==window|| - lives_widget_get_xwindow(labelbox)==window||lives_widget_get_xwindow(ahbox)==window) { + if (lives_widget_get_xwindow(LIVES_WIDGET(mt->audio_draws->data)) == window || + lives_widget_get_xwindow(labelbox) == window || lives_widget_get_xwindow(ahbox) == window) { // insert in backing audio - if (lives_widget_get_xwindow(labelbox)==window||lives_widget_get_xwindow(ahbox)==window) timesecs=0.; + if (lives_widget_get_xwindow(labelbox) == window || lives_widget_get_xwindow(ahbox) == window) timesecs = 0.; else { - lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].mouse_device, + lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].mouse_device, mt->timeline, &mt->sel_x, &mt->sel_y); - timesecs=get_time_from_x(mt,mt->sel_x); + timesecs = get_time_from_x(mt, mt->sel_x); } - mt->current_track=-1; + mt->current_track = -1; track_select(mt); - if (mainw->playing_file==-1) { - mt->ptr_time=lives_ruler_set_value(LIVES_RULER(mt->timeline),timesecs); + if (mainw->playing_file == -1) { + mt->ptr_time = lives_ruler_set_value(LIVES_RULER(mt->timeline), timesecs); if (!mt->is_paused) { - if (mt->poly_state==POLY_FX_STACK) { - polymorph(mt,POLY_FX_STACK); + if (mt->poly_state == POLY_FX_STACK) { + polymorph(mt, POLY_FX_STACK); } mt_show_current_frame(mt, FALSE); - if (timesecs>0.) { - lives_widget_set_sensitive(mt->rewind,TRUE); + if (timesecs > 0.) { + lives_widget_set_sensitive(mt->rewind, TRUE); lives_widget_set_sensitive(mainw->m_rewindbutton, TRUE); } } lives_widget_queue_draw(mt->timeline); } - if (mainw->playing_file==-1&&(mainw->files[mt->file_selected]->laudio_time> - ((mainw->files[mt->file_selected]->start-1.)/mainw->files[mt->file_selected]->fps)|| - (mainw->files[mt->file_selected]->laudio_time>0.&&mt->opts.ign_ins_sel))) - insert_audio_here_cb(NULL,(livespointer)mt); - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); - if (mt->is_paused) mt->ptr_time=lives_ruler_set_value(LIVES_RULER(mt->timeline),osecs); + if (mainw->playing_file == -1 && (mainw->files[mt->file_selected]->laudio_time > + ((mainw->files[mt->file_selected]->start - 1.) / mainw->files[mt->file_selected]->fps) || + (mainw->files[mt->file_selected]->laudio_time > 0. && mt->opts.ign_ins_sel))) + insert_audio_here_cb(NULL, (livespointer)mt); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); + if (mt->is_paused) mt->ptr_time = lives_ruler_set_value(LIVES_RULER(mt->timeline), osecs); return FALSE; } } - for (i=0; i<lives_list_length(mt->video_draws); i++) { - eventbox=(LiVESWidget *)lives_list_nth_data(mt->video_draws,i); - if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"hidden"))!=0) continue; - labelbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"labelbox"); - ahbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"ahbox"); - if (lives_widget_get_xwindow(eventbox)==window||lives_widget_get_xwindow(labelbox)==window||lives_widget_get_xwindow(ahbox)==window) { - if (lives_widget_get_xwindow(labelbox)==window||lives_widget_get_xwindow(ahbox)==window) timesecs=0.; + for (i = 0; i < lives_list_length(mt->video_draws); i++) { + eventbox = (LiVESWidget *)lives_list_nth_data(mt->video_draws, i); + if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "hidden")) != 0) continue; + labelbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "labelbox"); + ahbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "ahbox"); + if (lives_widget_get_xwindow(eventbox) == window || lives_widget_get_xwindow(labelbox) == window || + lives_widget_get_xwindow(ahbox) == window) { + if (lives_widget_get_xwindow(labelbox) == window || lives_widget_get_xwindow(ahbox) == window) timesecs = 0.; else { - lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].mouse_device, + lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].mouse_device, mt->timeline, &mt->sel_x, &mt->sel_y); - timesecs=get_time_from_x(mt,mt->sel_x); + timesecs = get_time_from_x(mt, mt->sel_x); } - mt->current_track=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"layer_number")); - mt->aud_track_selected=FALSE; + mt->current_track = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "layer_number")); + mt->aud_track_selected = FALSE; track_select(mt); - if (mainw->playing_file==-1) { - mt->ptr_time=lives_ruler_set_value(LIVES_RULER(mt->timeline),timesecs); + if (mainw->playing_file == -1) { + mt->ptr_time = lives_ruler_set_value(LIVES_RULER(mt->timeline), timesecs); if (!mt->is_paused) { mt_show_current_frame(mt, FALSE); - if (timesecs>0.) { - lives_widget_set_sensitive(mt->rewind,TRUE); + if (timesecs > 0.) { + lives_widget_set_sensitive(mt->rewind, TRUE); lives_widget_set_sensitive(mainw->m_rewindbutton, TRUE); } } lives_widget_queue_draw(mt->timeline); } - if (mainw->playing_file==-1&&mainw->files[mt->file_selected]->frames>0) insert_here_cb(NULL,mt); + if (mainw->playing_file == -1 && mainw->files[mt->file_selected]->frames > 0) insert_here_cb(NULL, mt); break; } } - if (mt->is_paused) mt->ptr_time=lives_ruler_set_value(LIVES_RULER(mt->timeline),osecs); + if (mt->is_paused) mt->ptr_time = lives_ruler_set_value(LIVES_RULER(mt->timeline), osecs); - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); return FALSE; } static boolean on_clipbox_enter(LiVESWidget *widget, LiVESXEventCrossing *event, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - if (mt->cursor_style!=LIVES_CURSOR_NORMAL) return FALSE; - lives_set_cursor_style(LIVES_CURSOR_HAND2,widget); + lives_mt *mt = (lives_mt *)user_data; + if (mt->cursor_style != LIVES_CURSOR_NORMAL) return FALSE; + lives_set_cursor_style(LIVES_CURSOR_HAND2, widget); return FALSE; } - void mt_init_start_end_spins(lives_mt *mt) { LiVESWidget *hbox; @@ -4385,53 +4294,53 @@ lives_box_pack_start(LIVES_BOX(mt->top_vbox), hbox, FALSE, FALSE, 6); mt->amixb_eventbox = lives_event_box_new(); - lives_box_pack_start(LIVES_BOX(hbox), mt->amixb_eventbox, FALSE, FALSE, widget_opts.packing_width*2); + lives_box_pack_start(LIVES_BOX(hbox), mt->amixb_eventbox, FALSE, FALSE, widget_opts.packing_width * 2); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(mt->amixb_eventbox, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_fg_color(mt->amixb_eventbox, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); } - mt->btoolbar=lives_toolbar_new(); + mt->btoolbar = lives_toolbar_new(); lives_container_add(LIVES_CONTAINER(mt->amixb_eventbox), mt->btoolbar); - lives_toolbar_set_show_arrow(LIVES_TOOLBAR(mt->btoolbar),FALSE); + lives_toolbar_set_show_arrow(LIVES_TOOLBAR(mt->btoolbar), FALSE); lives_toolbar_set_style(LIVES_TOOLBAR(mt->btoolbar), LIVES_TOOLBAR_TEXT); - mt->amixer_button=LIVES_WIDGET(lives_tool_button_new(NULL,NULL)); + mt->amixer_button = LIVES_WIDGET(lives_tool_button_new(NULL, NULL)); - mt->amix_label=lives_standard_label_new(_("Audio Mixer (ctrl-m)")); - lives_tool_button_set_label_widget(LIVES_TOOL_BUTTON(mt->amixer_button),mt->amix_label); + mt->amix_label = lives_standard_label_new(_("Audio Mixer (ctrl-m)")); + lives_tool_button_set_label_widget(LIVES_TOOL_BUTTON(mt->amixer_button), mt->amix_label); - lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbar),LIVES_TOOL_ITEM(mt->amixer_button),-1); + lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbar), LIVES_TOOL_ITEM(mt->amixer_button), -1); lives_widget_add_accelerator(mt->amixer_button, LIVES_WIDGET_CLICKED_SIGNAL, mt->accel_group, LIVES_KEY_m, LIVES_CONTROL_MASK, LIVES_ACCEL_VISIBLE); - if (cfile->achans==0||!mt->opts.pertrack_audio) lives_widget_set_sensitive(mt->amixer_button,FALSE); + if (cfile->achans == 0 || !mt->opts.pertrack_audio) lives_widget_set_sensitive(mt->amixer_button, FALSE); lives_signal_connect(LIVES_GUI_OBJECT(mt->amixer_button), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(amixer_show), (livespointer)mt); - woat=widget_opts.apply_theme; - dpw=widget_opts.packing_width; + woat = widget_opts.apply_theme; + dpw = widget_opts.packing_width; - widget_opts.apply_theme=FALSE; - widget_opts.packing_width=MAIN_SPIN_SPACER; - mt->spinbutton_start = lives_standard_spin_button_new(NULL,FALSE,0., 0., 0., 1./mt->fps, 1./mt->fps, 3, - NULL,NULL); - widget_opts.apply_theme=woat; - widget_opts.packing_width=dpw; + widget_opts.apply_theme = FALSE; + widget_opts.packing_width = MAIN_SPIN_SPACER; + mt->spinbutton_start = lives_standard_spin_button_new(NULL, FALSE, 0., 0., 0., 1. / mt->fps, 1. / mt->fps, 3, + NULL, NULL); + widget_opts.apply_theme = woat; + widget_opts.packing_width = dpw; lives_box_pack_start(LIVES_BOX(hbox), mt->spinbutton_start, TRUE, FALSE, MAIN_SPIN_SPACER); mt->l_sel_arrow = lives_arrow_new(LIVES_ARROW_LEFT, LIVES_SHADOW_OUT); lives_box_pack_start(LIVES_BOX(hbox), mt->l_sel_arrow, FALSE, FALSE, 0); - lives_entry_set_width_chars(LIVES_ENTRY(mt->spinbutton_start),SPBWIDTHCHARS); + lives_entry_set_width_chars(LIVES_ENTRY(mt->spinbutton_start), SPBWIDTHCHARS); mt->sel_label = lives_standard_label_new(NULL); set_sel_label(mt->sel_label); @@ -4440,49 +4349,47 @@ mt->r_sel_arrow = lives_arrow_new(LIVES_ARROW_RIGHT, LIVES_SHADOW_OUT); lives_box_pack_start(LIVES_BOX(hbox), mt->r_sel_arrow, FALSE, FALSE, 3); - widget_opts.apply_theme=FALSE; - widget_opts.packing_width=MAIN_SPIN_SPACER; - mt->spinbutton_end = lives_standard_spin_button_new(NULL,FALSE,0., 0., 0., 1./mt->fps, 1./mt->fps, 3, - NULL,NULL); + widget_opts.apply_theme = FALSE; + widget_opts.packing_width = MAIN_SPIN_SPACER; + mt->spinbutton_end = lives_standard_spin_button_new(NULL, FALSE, 0., 0., 0., 1. / mt->fps, 1. / mt->fps, 3, + NULL, NULL); - widget_opts.apply_theme=woat; - widget_opts.packing_width=dpw; + widget_opts.apply_theme = woat; + widget_opts.packing_width = dpw; - lives_entry_set_width_chars(LIVES_ENTRY(mt->spinbutton_end),SPBWIDTHCHARS); + lives_entry_set_width_chars(LIVES_ENTRY(mt->spinbutton_end), SPBWIDTHCHARS); lives_box_pack_start(LIVES_BOX(hbox), mt->spinbutton_end, TRUE, FALSE, MAIN_SPIN_SPACER); + mt->spin_start_func = lives_signal_connect_after(LIVES_GUI_OBJECT(mt->spinbutton_start), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, + LIVES_GUI_CALLBACK(mt_spin_start_value_changed), + (livespointer)mt); - mt->spin_start_func=lives_signal_connect_after(LIVES_GUI_OBJECT(mt->spinbutton_start), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, - LIVES_GUI_CALLBACK(mt_spin_start_value_changed), + mt->spin_end_func = lives_signal_connect_after(LIVES_GUI_OBJECT(mt->spinbutton_end), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, + LIVES_GUI_CALLBACK(mt_spin_end_value_changed), (livespointer)mt); - - mt->spin_end_func=lives_signal_connect_after(LIVES_GUI_OBJECT(mt->spinbutton_end), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, - LIVES_GUI_CALLBACK(mt_spin_end_value_changed), - (livespointer)mt); } - void mouse_mode_context(lives_mt *mt) { clear_context(mt); - if (mt->opts.mouse_mode==MOUSE_MODE_MOVE) { - add_context_label(mt,(_("Single click on timeline"))); - add_context_label(mt,(_("to select a frame."))); - add_context_label(mt,(_("Double click or right click on timeline"))); - add_context_label(mt,(_("to select a block."))); - add_context_label(mt,(_("Clips can be dragged"))); - add_context_label(mt,(_("onto the timeline."))); - - add_context_label(mt,(_("Mouse mode is: Move"))); - add_context_label(mt,(_("clips can be moved around."))); - } else if (mt->opts.mouse_mode==MOUSE_MODE_SELECT) { + if (mt->opts.mouse_mode == MOUSE_MODE_MOVE) { + add_context_label(mt, (_("Single click on timeline"))); + add_context_label(mt, (_("to select a frame."))); + add_context_label(mt, (_("Double click or right click on timeline"))); + add_context_label(mt, (_("to select a block."))); + add_context_label(mt, (_("Clips can be dragged"))); + add_context_label(mt, (_("onto the timeline."))); + + add_context_label(mt, (_("Mouse mode is: Move"))); + add_context_label(mt, (_("clips can be moved around."))); + } else if (mt->opts.mouse_mode == MOUSE_MODE_SELECT) { clear_context(mt); - add_context_label(mt,(_("Mouse mode is: Select."))); - add_context_label(mt,(_("Drag with mouse on timeline"))); - add_context_label(mt,(_("to select tracks and time."))); + add_context_label(mt, (_("Mouse mode is: Select."))); + add_context_label(mt, (_("Drag with mouse on timeline"))); + add_context_label(mt, (_("to select tracks and time."))); } } @@ -4490,137 +4397,131 @@ void update_insert_mode(lives_mt *mt) { char text[255]; - if (mt->opts.insert_mode==INSERT_MODE_NORMAL) { - get_menu_text(mt->ins_normal,text); + if (mt->opts.insert_mode == INSERT_MODE_NORMAL) { + get_menu_text(mt->ins_normal, text); } - if (mt->ins_label==NULL) { - set_menu_text(mt->ins_menuitem,text,TRUE); + if (mt->ins_label == NULL) { + set_menu_text(mt->ins_menuitem, text, TRUE); } else { - lives_label_set_text(LIVES_LABEL(mt->ins_label),text); + lives_label_set_text(LIVES_LABEL(mt->ins_label), text); } - lives_signal_handler_block(mt->ins_normal,mt->ins_normal_func); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->ins_normal),mt->opts.insert_mode==INSERT_MODE_NORMAL); - lives_signal_handler_unblock(mt->ins_normal,mt->ins_normal_func); + lives_signal_handler_block(mt->ins_normal, mt->ins_normal_func); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->ins_normal), mt->opts.insert_mode == INSERT_MODE_NORMAL); + lives_signal_handler_unblock(mt->ins_normal, mt->ins_normal_func); } - static void on_insert_mode_changed(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; if (!mainw->interactive) return; - if (menuitem==(LiVESMenuItem *)mt->ins_normal) { - mt->opts.insert_mode=INSERT_MODE_NORMAL; + if (menuitem == (LiVESMenuItem *)mt->ins_normal) { + mt->opts.insert_mode = INSERT_MODE_NORMAL; } update_insert_mode(mt); } static void on_mouse_mode_changed(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; char text[255]; if (!mainw->interactive) return; - if (menuitem==(LiVESMenuItem *)mt->mm_move) { - mt->opts.mouse_mode=MOUSE_MODE_MOVE; - } else if (menuitem==(LiVESMenuItem *)mt->mm_select) { - mt->opts.mouse_mode=MOUSE_MODE_SELECT; + if (menuitem == (LiVESMenuItem *)mt->mm_move) { + mt->opts.mouse_mode = MOUSE_MODE_MOVE; + } else if (menuitem == (LiVESMenuItem *)mt->mm_select) { + mt->opts.mouse_mode = MOUSE_MODE_SELECT; } - get_menu_text(LIVES_WIDGET(menuitem),text); + get_menu_text(LIVES_WIDGET(menuitem), text); - if (mt->ins_label==NULL) { - set_menu_text(mt->mm_menuitem,text,TRUE); + if (mt->ins_label == NULL) { + set_menu_text(mt->mm_menuitem, text, TRUE); } else { - lives_label_set_text(LIVES_LABEL(mt->mm_label),text); + lives_label_set_text(LIVES_LABEL(mt->mm_label), text); } mouse_mode_context(mt); - lives_signal_handler_block(mt->mm_move,mt->mm_move_func); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->mm_move),mt->opts.mouse_mode==MOUSE_MODE_MOVE); - lives_signal_handler_unblock(mt->mm_move,mt->mm_move_func); - - lives_signal_handler_block(mt->mm_select,mt->mm_select_func); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->mm_select),mt->opts.mouse_mode==MOUSE_MODE_SELECT); - lives_signal_handler_unblock(mt->mm_select,mt->mm_select_func); - - + lives_signal_handler_block(mt->mm_move, mt->mm_move_func); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->mm_move), mt->opts.mouse_mode == MOUSE_MODE_MOVE); + lives_signal_handler_unblock(mt->mm_move, mt->mm_move_func); + + lives_signal_handler_block(mt->mm_select, mt->mm_select_func); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->mm_select), mt->opts.mouse_mode == MOUSE_MODE_SELECT); + lives_signal_handler_unblock(mt->mm_select, mt->mm_select_func); } - void update_grav_mode(lives_mt *mt) { // update GUI after grav mode change char text[255]; - if (mt->opts.grav_mode==GRAV_MODE_NORMAL) { - get_menu_text(mt->grav_normal,text); - } else if (mt->opts.grav_mode==GRAV_MODE_LEFT) { - get_menu_text(mt->grav_left,text); + if (mt->opts.grav_mode == GRAV_MODE_NORMAL) { + get_menu_text(mt->grav_normal, text); + } else if (mt->opts.grav_mode == GRAV_MODE_LEFT) { + get_menu_text(mt->grav_left, text); } - if (mt->opts.grav_mode==GRAV_MODE_RIGHT) { - get_menu_text(mt->grav_right,text); - set_menu_text(mt->remove_first_gaps,_("Close _last gap(s) in selected tracks/time"),TRUE); + if (mt->opts.grav_mode == GRAV_MODE_RIGHT) { + get_menu_text(mt->grav_right, text); + set_menu_text(mt->remove_first_gaps, _("Close _last gap(s) in selected tracks/time"), TRUE); } else { - set_menu_text(mt->remove_first_gaps,_("Close _first gap(s) in selected tracks/time"),TRUE); + set_menu_text(mt->remove_first_gaps, _("Close _first gap(s) in selected tracks/time"), TRUE); } - lives_label_set_text(LIVES_LABEL(mt->grav_label),text); + lives_label_set_text(LIVES_LABEL(mt->grav_label), text); - lives_signal_handler_block(mt->grav_normal,mt->grav_normal_func); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->grav_normal),mt->opts.grav_mode==GRAV_MODE_NORMAL); - lives_signal_handler_unblock(mt->grav_normal,mt->grav_normal_func); + lives_signal_handler_block(mt->grav_normal, mt->grav_normal_func); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->grav_normal), mt->opts.grav_mode == GRAV_MODE_NORMAL); + lives_signal_handler_unblock(mt->grav_normal, mt->grav_normal_func); - lives_signal_handler_block(mt->grav_left,mt->grav_left_func); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->grav_left),mt->opts.grav_mode==GRAV_MODE_LEFT); - lives_signal_handler_unblock(mt->grav_left,mt->grav_left_func); - - lives_signal_handler_block(mt->grav_right,mt->grav_right_func); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->grav_right),mt->opts.grav_mode==GRAV_MODE_RIGHT); - lives_signal_handler_unblock(mt->grav_right,mt->grav_right_func); + lives_signal_handler_block(mt->grav_left, mt->grav_left_func); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->grav_left), mt->opts.grav_mode == GRAV_MODE_LEFT); + lives_signal_handler_unblock(mt->grav_left, mt->grav_left_func); + lives_signal_handler_block(mt->grav_right, mt->grav_right_func); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->grav_right), mt->opts.grav_mode == GRAV_MODE_RIGHT); + lives_signal_handler_unblock(mt->grav_right, mt->grav_right_func); } - static void on_grav_mode_changed(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; if (!mainw->interactive) return; - if (menuitem==(LiVESMenuItem *)mt->grav_normal) { - mt->opts.grav_mode=GRAV_MODE_NORMAL; - } else if (menuitem==(LiVESMenuItem *)mt->grav_left) { - mt->opts.grav_mode=GRAV_MODE_LEFT; - } else if (menuitem==(LiVESMenuItem *)mt->grav_right) { - mt->opts.grav_mode=GRAV_MODE_RIGHT; + if (menuitem == (LiVESMenuItem *)mt->grav_normal) { + mt->opts.grav_mode = GRAV_MODE_NORMAL; + } else if (menuitem == (LiVESMenuItem *)mt->grav_left) { + mt->opts.grav_mode = GRAV_MODE_LEFT; + } else if (menuitem == (LiVESMenuItem *)mt->grav_right) { + mt->opts.grav_mode = GRAV_MODE_RIGHT; } update_grav_mode(mt); } - static size_t estimate_space(lives_mt *mt, int undo_type) { - size_t needed=sizeof(mt_undo); + size_t needed = sizeof(mt_undo); switch (undo_type) { case MT_UNDO_NONE: break; default: - needed+=event_list_get_byte_size(mt,mt->event_list,NULL); + needed += event_list_get_byte_size(mt, mt->event_list, NULL); break; } return needed; } + static char *get_undo_text(int action, void *extra) { - char *filtname,*ret; + char *filtname, *ret; int error; switch (action) { @@ -4639,13 +4540,13 @@ case MT_UNDO_SPLIT: return lives_strdup(_("Split block")); case MT_UNDO_APPLY_FILTER: - filtname=weed_get_string_value((weed_plant_t *)extra,WEED_LEAF_NAME,&error); - ret=lives_strdup_printf(_("Apply %s"),filtname); + filtname = weed_get_string_value((weed_plant_t *)extra, WEED_LEAF_NAME, &error); + ret = lives_strdup_printf(_("Apply %s"), filtname); lives_free(filtname); return ret; case MT_UNDO_DELETE_FILTER: - filtname=weed_get_string_value((weed_plant_t *)extra,WEED_LEAF_NAME,&error); - ret=lives_strdup_printf(_("Delete %s"),filtname); + filtname = weed_get_string_value((weed_plant_t *)extra, WEED_LEAF_NAME, &error); + ret = lives_strdup_printf(_("Delete %s"), filtname); lives_free(filtname); return ret; case MT_UNDO_INSERT_BLOCK: @@ -4661,89 +4562,83 @@ } - - - static void mt_set_undoable(lives_mt *mt, int what, void *extra, boolean sensitive) { - mt->undoable=sensitive; - if (what!=MT_UNDO_NONE) { + mt->undoable = sensitive; + if (what != MT_UNDO_NONE) { char *what_safe; - char *text=get_undo_text(what,extra); - what_safe=lives_strdelimit(lives_strdup(text),"_",' '); - lives_snprintf(mt->undo_text,32,_("_Undo %s"),what_safe); + char *text = get_undo_text(what, extra); + what_safe = lives_strdelimit(lives_strdup(text), "_", ' '); + lives_snprintf(mt->undo_text, 32, _("_Undo %s"), what_safe); lives_free(what_safe); lives_free(text); } else { - mt->undoable=FALSE; - lives_snprintf(mt->undo_text,32,"%s",_("_Undo")); + mt->undoable = FALSE; + lives_snprintf(mt->undo_text, 32, "%s", _("_Undo")); } - set_menu_text(mt->undo,mt->undo_text,TRUE); - - lives_widget_set_sensitive(mt->undo,sensitive); + set_menu_text(mt->undo, mt->undo_text, TRUE); + lives_widget_set_sensitive(mt->undo, sensitive); } static void mt_set_redoable(lives_mt *mt, int what, void *extra, boolean sensitive) { - mt->redoable=sensitive; - if (what!=MT_UNDO_NONE) { + mt->redoable = sensitive; + if (what != MT_UNDO_NONE) { char *what_safe; - char *text=get_undo_text(what,extra); - what_safe=lives_strdelimit(lives_strdup(text),"_",' '); - lives_snprintf(mt->redo_text,32,_("_Redo %s"),what_safe); + char *text = get_undo_text(what, extra); + what_safe = lives_strdelimit(lives_strdup(text), "_", ' '); + lives_snprintf(mt->redo_text, 32, _("_Redo %s"), what_safe); lives_free(what_safe); lives_free(text); } else { - mt->redoable=FALSE; - lives_snprintf(mt->redo_text,32,"%s",_("_Redo")); + mt->redoable = FALSE; + lives_snprintf(mt->redo_text, 32, "%s", _("_Redo")); } - set_menu_text(mt->redo,mt->redo_text,TRUE); - - lives_widget_set_sensitive(mt->redo,sensitive); + set_menu_text(mt->redo, mt->redo_text, TRUE); + lives_widget_set_sensitive(mt->redo, sensitive); } - boolean make_backup_space(lives_mt *mt, size_t space_needed) { // read thru mt->undos and eliminate that space until we have space_needed - size_t space_avail=(size_t)(prefs->mt_undo_buf*1024*1024)-mt->undo_buffer_used; - size_t space_freed=0; - LiVESList *xundo=mt->undos,*ulist; - int count=0; + size_t space_avail = (size_t)(prefs->mt_undo_buf * 1024 * 1024) - mt->undo_buffer_used; + size_t space_freed = 0; + LiVESList *xundo = mt->undos, *ulist; + int count = 0; mt_undo *undo; - while (xundo!=NULL) { + while (xundo != NULL) { count++; - undo=(mt_undo *)(xundo->data); - space_freed+=undo->data_len; - if ((space_avail+space_freed)>=space_needed) { - memmove(mt->undo_mem,mt->undo_mem+space_freed,mt->undo_buffer_used-space_freed); - ulist=lives_list_copy(lives_list_nth(mt->undos,count)); - if (ulist!=NULL) ulist->prev=NULL; + undo = (mt_undo *)(xundo->data); + space_freed += undo->data_len; + if ((space_avail + space_freed) >= space_needed) { + memmove(mt->undo_mem, mt->undo_mem + space_freed, mt->undo_buffer_used - space_freed); + ulist = lives_list_copy(lives_list_nth(mt->undos, count)); + if (ulist != NULL) ulist->prev = NULL; lives_list_free(mt->undos); - mt->undos=ulist; - while (ulist!=NULL) { - ulist->data=(unsigned char *)(ulist->data)-space_freed; - ulist=ulist->next; - } - mt->undo_buffer_used-=space_freed; - if (mt->undo_offset>lives_list_length(mt->undos)) { - mt->undo_offset=lives_list_length(mt->undos); - mt_set_undoable(mt,MT_UNDO_NONE,NULL,FALSE); - mt_set_redoable(mt,((mt_undo *)(mt->undos->data))->action,NULL,TRUE); + mt->undos = ulist; + while (ulist != NULL) { + ulist->data = (unsigned char *)(ulist->data) - space_freed; + ulist = ulist->next; + } + mt->undo_buffer_used -= space_freed; + if (mt->undo_offset > lives_list_length(mt->undos)) { + mt->undo_offset = lives_list_length(mt->undos); + mt_set_undoable(mt, MT_UNDO_NONE, NULL, FALSE); + mt_set_redoable(mt, ((mt_undo *)(mt->undos->data))->action, NULL, TRUE); } return TRUE; } - xundo=xundo->next; + xundo = xundo->next; } - mt->undo_buffer_used=0; + mt->undo_buffer_used = 0; lives_list_free(mt->undos); - mt->undos=NULL; - mt->undo_offset=0; - mt_set_undoable(mt,MT_UNDO_NONE,NULL,FALSE); - mt_set_redoable(mt,MT_UNDO_NONE,NULL,FALSE); + mt->undos = NULL; + mt->undo_offset = 0; + mt_set_undoable(mt, MT_UNDO_NONE, NULL, FALSE); + mt_set_redoable(mt, MT_UNDO_NONE, NULL, FALSE); return FALSE; } @@ -4751,100 +4646,99 @@ void mt_backup(lives_mt *mt, int undo_type, weed_timecode_t tc) { // backup an operation in the undo/redo list - size_t space_needed=0; + size_t space_needed = 0; mt_undo *undo; mt_undo *last_valid_undo; unsigned char *memblock; + mt->did_backup = FALSE; - mt->did_backup=TRUE; + mt->changed = mt->auto_changed = TRUE; - mt->changed=mt->auto_changed=TRUE; + if (mt->undo_mem == NULL) return; - if (mt->undo_mem==NULL) return; - - if (mt->undos!=NULL&&mt->undo_offset!=0) { + if (mt->undos != NULL && mt->undo_offset != 0) { // invalidate redo's - we are backing up, so we can't redo any more // invalidate from lives_list_length-undo_offset onwards - if ((lives_list_length(mt->undos))==mt->undo_offset) { - mt->undos=NULL; - mt->undo_buffer_used=0; + if ((lives_list_length(mt->undos)) == mt->undo_offset) { + mt->undos = NULL; + mt->undo_buffer_used = 0; } else { - int i=0; - LiVESList *ulist=mt->undos; - while (i<((int)lives_list_length(mt->undos)-1-mt->undo_offset)) { - ulist=ulist->next; + int i = 0; + LiVESList *ulist = mt->undos; + while (i < ((int)lives_list_length(mt->undos) - 1 - mt->undo_offset)) { + ulist = ulist->next; i++; } - if (ulist!=NULL) { - memblock=(unsigned char *)ulist->data; - last_valid_undo=(mt_undo *)memblock; - memblock+=last_valid_undo->data_len; - mt->undo_buffer_used=memblock-mt->undo_mem; - if (ulist->next!=NULL) { - ulist=ulist->next; - ulist->prev->next=NULL; + if (ulist != NULL) { + memblock = (unsigned char *)ulist->data; + last_valid_undo = (mt_undo *)memblock; + memblock += last_valid_undo->data_len; + mt->undo_buffer_used = memblock - mt->undo_mem; + if (ulist->next != NULL) { + ulist = ulist->next; + ulist->prev->next = NULL; lives_list_free(ulist); } } } - mt_set_redoable(mt,MT_UNDO_NONE,NULL,FALSE); - mt->undo_offset=0; + mt_set_redoable(mt, MT_UNDO_NONE, NULL, FALSE); + mt->undo_offset = 0; } - undo=(mt_undo *)lives_malloc(sizeof(mt_undo)); - undo->action=(lives_mt_undo_t)undo_type; - undo->extra=NULL; + undo = (mt_undo *)lives_malloc(sizeof(mt_undo)); + undo->action = (lives_mt_undo_t)undo_type; + undo->extra = NULL; switch (undo_type) { case MT_UNDO_NONE: break; case MT_UNDO_APPLY_FILTER: case MT_UNDO_DELETE_FILTER: - undo->extra=get_weed_filter(mt->current_fx); + undo->extra = get_weed_filter(mt->current_fx); break; case MT_UNDO_FILTER_MAP_CHANGE: - undo->tc=tc; + undo->tc = tc; break; default: break; } - add_markers(mt,mt->event_list,TRUE); - if ((space_needed=estimate_space(mt,undo_type)+sizeof(mt_undo))> - ((size_t)(prefs->mt_undo_buf*1024*1024)-mt->undo_buffer_used)) { - if (!make_backup_space(mt,space_needed)) { + add_markers(mt, mt->event_list, TRUE); + if ((space_needed = estimate_space(mt, undo_type) + sizeof(mt_undo)) > + ((size_t)(prefs->mt_undo_buf * 1024 * 1024) - mt->undo_buffer_used)) { + if (!make_backup_space(mt, space_needed)) { remove_markers(mt->event_list); - do_mt_backup_space_error(mt,(int)((space_needed*3)>>20)); + do_mt_backup_space_error(mt, (int)((space_needed * 3) >> 20)); return; } - memblock=(unsigned char *)(mt->undo_mem+mt->undo_buffer_used+sizeof(mt_undo)); + memblock = (unsigned char *)(mt->undo_mem + mt->undo_buffer_used + sizeof(mt_undo)); } - undo->data_len=space_needed; - memblock=(unsigned char *)(mt->undo_mem+mt->undo_buffer_used+sizeof(mt_undo)); - save_event_list_inner(NULL,0,mt->event_list,&memblock); + undo->data_len = space_needed; + memblock = (unsigned char *)(mt->undo_mem + mt->undo_buffer_used + sizeof(mt_undo)); + save_event_list_inner(NULL, 0, mt->event_list, &memblock); remove_markers(mt->event_list); - memcpy(mt->undo_mem+mt->undo_buffer_used,undo,sizeof(mt_undo)); - mt->undos=lives_list_append(mt->undos,mt->undo_mem+mt->undo_buffer_used); - mt->undo_buffer_used+=space_needed; - mt_set_undoable(mt,undo->action,undo->extra,TRUE); + memcpy(mt->undo_mem + mt->undo_buffer_used, undo, sizeof(mt_undo)); + mt->undos = lives_list_append(mt->undos, mt->undo_mem + mt->undo_buffer_used); + mt->undo_buffer_used += space_needed; + mt_set_undoable(mt, undo->action, undo->extra, TRUE); lives_free(undo); - } + void mt_aparam_view_toggled(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - int which=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(menuitem),"pnum")); + lives_mt *mt = (lives_mt *)user_data; + int which = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(menuitem), "pnum")); register int i; if (lives_check_menu_item_get_active(LIVES_CHECK_MENU_ITEM(menuitem))) - mt->opts.aparam_view_list=lives_list_append(mt->opts.aparam_view_list,LIVES_INT_TO_POINTER(which)); - else mt->opts.aparam_view_list=lives_list_remove(mt->opts.aparam_view_list,LIVES_INT_TO_POINTER(which)); - for (i=0; i<lives_list_length(mt->audio_draws); i++) { - lives_widget_queue_draw((LiVESWidget *)lives_list_nth_data(mt->audio_draws,i)); + mt->opts.aparam_view_list = lives_list_append(mt->opts.aparam_view_list, LIVES_INT_TO_POINTER(which)); + else mt->opts.aparam_view_list = lives_list_remove(mt->opts.aparam_view_list, LIVES_INT_TO_POINTER(which)); + for (i = 0; i < lives_list_length(mt->audio_draws); i++) { + lives_widget_queue_draw((LiVESWidget *)lives_list_nth_data(mt->audio_draws, i)); } } @@ -4854,7 +4748,6 @@ } - void add_aparam_menuitems(lives_mt *mt) { // add menuitems for avol_fx to the View/Audio parameters submenu LiVESWidget *menuitem; @@ -4862,9 +4755,9 @@ lives_rfx_t *rfx; register int i; - lives_container_foreach(LIVES_CONTAINER(mt->aparam_submenu),destroy_widget,NULL); + lives_container_foreach(LIVES_CONTAINER(mt->aparam_submenu), destroy_widget, NULL); - if (mt->avol_fx==-1||mt->audio_draws==NULL) { + if (mt->avol_fx == -1 || mt->audio_draws == NULL) { lives_widget_hide(mt->insa_checkbutton); lives_widget_hide(mt->aparam_separator); lives_widget_hide(mt->aparam_menuitem); @@ -4875,9 +4768,9 @@ lives_widget_hide(mt->render_vid); lives_widget_hide(mt->render_sep); - if (mt->opts.aparam_view_list!=NULL&&mainw->multi_opts.aparam_view_list==NULL) { + if (mt->opts.aparam_view_list != NULL && mainw->multi_opts.aparam_view_list == NULL) { lives_list_free(mt->opts.aparam_view_list); - mt->opts.aparam_view_list=NULL; + mt->opts.aparam_view_list = NULL; } return; } @@ -4894,18 +4787,18 @@ lives_widget_show(mt->aparam_menuitem); lives_widget_show(mt->aparam_submenu); - filter=get_weed_filter(mt->avol_fx); - rfx=weed_to_rfx(filter,FALSE); - for (i=0; i<rfx->num_params; i++) { + filter = get_weed_filter(mt->avol_fx); + rfx = weed_to_rfx(filter, FALSE); + for (i = 0; i < rfx->num_params; i++) { // TODO - check rfx->params[i].multi - if ((rfx->params[i].hidden|HIDDEN_MULTI)==HIDDEN_MULTI&&rfx->params[i].type==LIVES_PARAM_NUM) { + if ((rfx->params[i].hidden | HIDDEN_MULTI) == HIDDEN_MULTI && rfx->params[i].type == LIVES_PARAM_NUM) { menuitem = lives_check_menu_item_new_with_label(rfx->params[i].name); - if (mt->opts.aparam_view_list!=NULL&&lives_list_find(mt->opts.aparam_view_list,LIVES_INT_TO_POINTER(i))) - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(menuitem),TRUE); - else lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(menuitem),FALSE); + if (mt->opts.aparam_view_list != NULL && lives_list_find(mt->opts.aparam_view_list, LIVES_INT_TO_POINTER(i))) + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(menuitem), TRUE); + else lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(menuitem), FALSE); lives_container_add(LIVES_CONTAINER(mt->aparam_submenu), menuitem); lives_widget_show(menuitem); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(menuitem),"pnum",LIVES_INT_TO_POINTER(i)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(menuitem), "pnum", LIVES_INT_TO_POINTER(i)); lives_signal_connect(LIVES_GUI_OBJECT(menuitem), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(mt_aparam_view_toggled), (livespointer)mt); @@ -4920,7 +4813,7 @@ // apply audio volume effect from 0 to last frame event // since audio off occurs on a frame event this should cover the whole timeline - weed_plant_t *init_event=mt->avol_init_event,*new_end_event; + weed_plant_t *init_event = mt->avol_init_event, *new_end_event; weed_plant_t *deinit_event; weed_timecode_t new_tc; @@ -4928,91 +4821,90 @@ register int i; - if (mt->opts.back_audio_tracks==0&&!mt->opts.pertrack_audio) return; + if (mt->opts.back_audio_tracks == 0 && !mt->opts.pertrack_audio) return; - new_end_event=get_last_frame_event(mt->event_list); + new_end_event = get_last_frame_event(mt->event_list); - if (new_end_event==NULL&&init_event!=NULL) { - remove_filter_from_event_list(mt->event_list,init_event); - if (mt->opts.aparam_view_list!=NULL) { - for (i=0; i<lives_list_length(mt->audio_draws); i++) { - lives_widget_queue_draw((LiVESWidget *)lives_list_nth_data(mt->audio_draws,i)); + if (new_end_event == NULL && init_event != NULL) { + remove_filter_from_event_list(mt->event_list, init_event); + if (mt->opts.aparam_view_list != NULL) { + for (i = 0; i < lives_list_length(mt->audio_draws); i++) { + lives_widget_queue_draw((LiVESWidget *)lives_list_nth_data(mt->audio_draws, i)); } } return; } - if (mt->opts.pertrack_audio) lives_widget_set_sensitive(mt->prerender_aud,TRUE); + if (mt->opts.pertrack_audio) lives_widget_set_sensitive(mt->prerender_aud, TRUE); - if (init_event==NULL) { - LiVESList *slist=lives_list_copy(mt->selected_tracks); + if (init_event == NULL) { + LiVESList *slist = lives_list_copy(mt->selected_tracks); - weed_plant_t *old_mt_init=mt->init_event; + weed_plant_t *old_mt_init = mt->init_event; - double region_start=mt->region_start; - double region_end=mt->region_end; + double region_start = mt->region_start; + double region_end = mt->region_end; - boolean did_backup=mt->did_backup; - boolean needs_idlefunc=FALSE; + boolean did_backup = mt->did_backup; + boolean needs_idlefunc = FALSE; - int current_fx=mt->current_fx; + int current_fx = mt->current_fx; - - if (!did_backup&&mt->idlefunc>0) { - needs_idlefunc=TRUE; + if (!did_backup && mt->idlefunc > 0) { + needs_idlefunc = TRUE; lives_source_remove(mt->idlefunc); - mt->idlefunc=0; + mt->idlefunc = 0; } - mt->region_start=0.; - mt->region_end=(get_event_timecode(new_end_event)+U_SEC/mt->fps)/U_SEC; - if (mt->selected_tracks!=NULL) { + mt->region_start = 0.; + mt->region_end = (get_event_timecode(new_end_event) + U_SEC / mt->fps) / U_SEC; + if (mt->selected_tracks != NULL) { lives_list_free(mt->selected_tracks); - mt->selected_tracks=NULL; + mt->selected_tracks = NULL; } - if (mt->opts.back_audio_tracks>0) mt->selected_tracks=lives_list_append(mt->selected_tracks,LIVES_INT_TO_POINTER(-1)); + if (mt->opts.back_audio_tracks > 0) mt->selected_tracks = lives_list_append(mt->selected_tracks, LIVES_INT_TO_POINTER(-1)); if (mt->opts.pertrack_audio) { - for (i=0; i<mt->num_video_tracks; i++) { - mt->selected_tracks=lives_list_append(mt->selected_tracks,LIVES_INT_TO_POINTER(i)); + for (i = 0; i < mt->num_video_tracks; i++) { + mt->selected_tracks = lives_list_append(mt->selected_tracks, LIVES_INT_TO_POINTER(i)); } } - mt->current_fx=mt->avol_fx; + mt->current_fx = mt->avol_fx; - mt->did_backup=TRUE; - mt_add_region_effect(NULL,mt); - mt->avol_init_event=mt->init_event; + mt->did_backup = TRUE; + mt_add_region_effect(NULL, mt); + mt->avol_init_event = mt->init_event; - mt->region_start=region_start; - mt->region_end=region_end; + mt->region_start = region_start; + mt->region_end = region_end; lives_list_free(mt->selected_tracks); - mt->selected_tracks=lives_list_copy(slist); - if (slist!=NULL) lives_list_free(slist); - mt->current_fx=current_fx; - mt->init_event=old_mt_init; + mt->selected_tracks = lives_list_copy(slist); + if (slist != NULL) lives_list_free(slist); + mt->current_fx = current_fx; + mt->init_event = old_mt_init; - mt->did_backup=did_backup; + mt->did_backup = did_backup; - if (mt->opts.aparam_view_list!=NULL) { - for (i=0; i<lives_list_length(mt->audio_draws); i++) { - lives_widget_queue_draw((LiVESWidget *)lives_list_nth_data(mt->audio_draws,i)); + if (mt->opts.aparam_view_list != NULL) { + for (i = 0; i < lives_list_length(mt->audio_draws); i++) { + lives_widget_queue_draw((LiVESWidget *)lives_list_nth_data(mt->audio_draws, i)); } } - if (!did_backup&&needs_idlefunc) mt->idlefunc=mt_idle_add(mt); - if (!did_backup&&prefs->mt_auto_back==0) mt_auto_backup(mt); + if (!did_backup && needs_idlefunc) mt->idlefunc = mt_idle_add(mt); + if (!did_backup && prefs->mt_auto_back == 0) mt_auto_backup(mt); return; } // init event is already there - we will move the deinit event to tc==new_end event - deinit_event=(weed_plant_t *)weed_get_voidptr_value(init_event,WEED_LEAF_DEINIT_EVENT,&error); - new_tc=get_event_timecode(new_end_event); + deinit_event = (weed_plant_t *)weed_get_voidptr_value(init_event, WEED_LEAF_DEINIT_EVENT, &error); + new_tc = get_event_timecode(new_end_event); - move_filter_deinit_event(mt->event_list,new_tc,deinit_event,mt->fps,FALSE); + move_filter_deinit_event(mt->event_list, new_tc, deinit_event, mt->fps, FALSE); - if (mt->opts.aparam_view_list!=NULL) { - for (i=0; i<lives_list_length(mt->audio_draws); i++) { - lives_widget_queue_draw((LiVESWidget *)lives_list_nth_data(mt->audio_draws,i)); + if (mt->opts.aparam_view_list != NULL) { + for (i = 0; i < lives_list_length(mt->audio_draws); i++) { + lives_widget_queue_draw((LiVESWidget *)lives_list_nth_data(mt->audio_draws, i)); } } } @@ -5026,273 +4918,272 @@ // TODO - in future we may have more audio filters weed_plant_t *inst; - weed_plant_t **in_channels,**out_channels; + weed_plant_t **in_channels, **out_channels; - int num_in,num_out; - int i,error; + int num_in, num_out; + int i, error; add_aparam_menuitems(mt); - if (mt->current_rfx==NULL||mt->current_fx==-1||mt->current_fx!=mt->avol_fx) return; + if (mt->current_rfx == NULL || mt->current_fx == -1 || mt->current_fx != mt->avol_fx) return; - inst=(weed_plant_t *)mt->current_rfx->source; - if (weed_plant_has_leaf(inst,WEED_LEAF_IN_CHANNELS)&&(num_in=weed_leaf_num_elements(inst,WEED_LEAF_IN_CHANNELS))) { - in_channels=weed_get_plantptr_array(inst,WEED_LEAF_IN_CHANNELS,&error); - for (i=0; i<num_in; i++) { - weed_set_int_value(in_channels[i],WEED_LEAF_AUDIO_CHANNELS,cfile->achans); - weed_set_int_value(in_channels[i],WEED_LEAF_AUDIO_RATE,cfile->arate); + inst = (weed_plant_t *)mt->current_rfx->source; + if (weed_plant_has_leaf(inst, WEED_LEAF_IN_CHANNELS) && (num_in = weed_leaf_num_elements(inst, WEED_LEAF_IN_CHANNELS))) { + in_channels = weed_get_plantptr_array(inst, WEED_LEAF_IN_CHANNELS, &error); + for (i = 0; i < num_in; i++) { + weed_set_int_value(in_channels[i], WEED_LEAF_AUDIO_CHANNELS, cfile->achans); + weed_set_int_value(in_channels[i], WEED_LEAF_AUDIO_RATE, cfile->arate); } } - if (weed_plant_has_leaf(inst,WEED_LEAF_OUT_CHANNELS)&&(num_out=weed_leaf_num_elements(inst,WEED_LEAF_OUT_CHANNELS))) { - out_channels=weed_get_plantptr_array(inst,WEED_LEAF_OUT_CHANNELS,&error); - for (i=0; i<num_out; i++) { - weed_set_int_value(out_channels[i],WEED_LEAF_AUDIO_CHANNELS,cfile->achans); - weed_set_int_value(out_channels[i],WEED_LEAF_AUDIO_RATE,cfile->arate); + if (weed_plant_has_leaf(inst, WEED_LEAF_OUT_CHANNELS) && (num_out = weed_leaf_num_elements(inst, WEED_LEAF_OUT_CHANNELS))) { + out_channels = weed_get_plantptr_array(inst, WEED_LEAF_OUT_CHANNELS, &error); + for (i = 0; i < num_out; i++) { + weed_set_int_value(out_channels[i], WEED_LEAF_AUDIO_CHANNELS, cfile->achans); + weed_set_int_value(out_channels[i], WEED_LEAF_AUDIO_RATE, cfile->arate); } } - mt->changed=mt->auto_changed=TRUE; - - weed_reinit_effect(inst,TRUE); - polymorph(mt,POLY_PARAMS); + mt->changed = mt->auto_changed = TRUE; + weed_reinit_effect(inst, TRUE); + polymorph(mt, POLY_PARAMS); } - static char *mt_set_vals_string(void) { char sendian[128]; - if (cfile->signed_endian&AFORM_UNSIGNED) lives_snprintf(sendian,128,"%s",_("unsigned ")); - else lives_snprintf(sendian,128,"%s",_("signed ")); + if (cfile->signed_endian & AFORM_UNSIGNED) lives_snprintf(sendian, 128, "%s", _("unsigned ")); + else lives_snprintf(sendian, 128, "%s", _("signed ")); - if (cfile->signed_endian&AFORM_BIG_ENDIAN) lives_strappend(sendian,128,_("big endian")); - else lives_strappend(sendian,128,_("little endian")); + if (cfile->signed_endian & AFORM_BIG_ENDIAN) lives_strappend(sendian, 128, _("big endian")); + else lives_strappend(sendian, 128, _("little endian")); return lives_strdup_printf( - _("Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, audio rate %d, audio sample size %d, %s.\n"),cfile->fps, - cfile->hsize,cfile->vsize,cfile->achans,cfile->arate,cfile->asampsize,sendian); + _("Multitrack values set to %.3f fps, frame size %d x %d, audio channels %d, audio rate %d, audio sample size %d, %s.\n"), cfile->fps, + cfile->hsize, cfile->vsize, cfile->achans, cfile->arate, cfile->asampsize, sendian); } static void set_mt_play_sizes(lives_mt *mt, int width, int height) { if (!mt->opts.show_ctx) { - mt->play_width=MIN(width,MT_PLAY_WIDTH_EXP); - mt->play_height=MIN(height,MT_PLAY_HEIGHT_EXP); - mt->play_window_width=MT_PLAY_WIDTH_EXP; - mt->play_window_height=MT_PLAY_HEIGHT_EXP; - } else { - mt->play_width=MIN(width,MT_PLAY_WIDTH_SMALL); - mt->play_height=MIN(height,MT_PLAY_HEIGHT_SMALL); - mt->play_window_width=MT_PLAY_WIDTH_SMALL; - mt->play_window_height=MT_PLAY_HEIGHT_SMALL; + mt->play_width = MIN(width, MT_PLAY_WIDTH_EXP); + mt->play_height = MIN(height, MT_PLAY_HEIGHT_EXP); + mt->play_window_width = MT_PLAY_WIDTH_EXP; + mt->play_window_height = MT_PLAY_HEIGHT_EXP; + } else { + mt->play_width = MIN(width, MT_PLAY_WIDTH_SMALL); + mt->play_height = MIN(height, MT_PLAY_HEIGHT_SMALL); + mt->play_window_width = MT_PLAY_WIDTH_SMALL; + mt->play_window_height = MT_PLAY_HEIGHT_SMALL; } } + static weed_plant_t *load_event_list_inner(lives_mt *mt, int fd, boolean show_errors, int *num_events, unsigned char **mem, unsigned char *mem_end) { - weed_plant_t *event,*eventprev=NULL; + weed_plant_t *event, *eventprev = NULL; weed_plant_t *event_list; int error; - double fps=-1; + double fps = -1; char *msg; - if (fd>0||mem!=NULL) event_list=weed_plant_deserialise(fd,mem); - else event_list=mainw->stored_event_list; + if (fd > 0 || mem != NULL) event_list = weed_plant_deserialise(fd, mem); + else event_list = mainw->stored_event_list; - if (mt!=NULL) mt->layout_set_properties=FALSE; + if (mt != NULL) mt->layout_set_properties = FALSE; - if (event_list==NULL||!WEED_PLANT_IS_EVENT_LIST(event_list)) { + if (event_list == NULL || !WEED_PLANT_IS_EVENT_LIST(event_list)) { if (show_errors) d_print(_("invalid event list. Failed.\n")); return NULL; } - if (show_errors&&(!weed_plant_has_leaf(event_list,WEED_LEAF_FPS)||(fps=weed_get_double_value(event_list,WEED_LEAF_FPS,&error))<1.|| - fps>FPS_MAX)) { + if (show_errors && (!weed_plant_has_leaf(event_list, WEED_LEAF_FPS) || + (fps = weed_get_double_value(event_list, WEED_LEAF_FPS, &error)) < 1. || + fps > FPS_MAX)) { d_print(_("event list has invalid fps. Failed.\n")); return NULL; } - - if (weed_plant_has_leaf(event_list,WEED_LEAF_NEEDS_SET)) { + if (weed_plant_has_leaf(event_list, WEED_LEAF_NEEDS_SET)) { if (show_errors) { - char *set_needed=weed_get_string_value(event_list,WEED_LEAF_NEEDS_SET,&error); + char *set_needed = weed_get_string_value(event_list, WEED_LEAF_NEEDS_SET, &error); char *err; - char *tmp=NULL; - if (!mainw->was_set||strcmp((tmp=U82F(set_needed)),mainw->set_name)) { - if (tmp!=NULL) lives_free(tmp); - err=lives_strdup_printf( - _("\nThis layout requires the set \"%s\"\nIn order to load it you must return to the Clip Editor, \n" - "close the current set,\nthen load in the new set from the File menu.\n"), - set_needed); + char *tmp = NULL; + if (!mainw->was_set || strcmp((tmp = U82F(set_needed)), mainw->set_name)) { + if (tmp != NULL) lives_free(tmp); + err = lives_strdup_printf( + _("\nThis layout requires the set \"%s\"\nIn order to load it you must return to the Clip Editor, \n" + "close the current set,\nthen load in the new set from the File menu.\n"), + set_needed); d_print(err); - do_error_dialog_with_check_transient(err,TRUE,0,LIVES_WINDOW(mt->window)); + do_error_dialog_with_check_transient(err, TRUE, 0, LIVES_WINDOW(mt->window)); lives_free(err); lives_free(set_needed); return NULL; } - if (tmp!=NULL) lives_free(tmp); + if (tmp != NULL) lives_free(tmp); lives_free(set_needed); } - } else if (!show_errors&&mem==NULL) return NULL; // no change needed + } else if (!show_errors && mem == NULL) return NULL; // no change needed - - if (event_list==mainw->stored_event_list||(mt!=NULL&&!mt->ignore_load_vals)) { - if (fps>-1) { - cfile->fps=cfile->pb_fps=fps; - if (mt!=NULL) mt->fps=cfile->fps; - cfile->ratio_fps=check_for_ratio_fps(cfile->fps); + if (event_list == mainw->stored_event_list || (mt != NULL && !mt->ignore_load_vals)) { + if (fps > -1) { + cfile->fps = cfile->pb_fps = fps; + if (mt != NULL) mt->fps = cfile->fps; + cfile->ratio_fps = check_for_ratio_fps(cfile->fps); } // check for optional leaves - if (weed_plant_has_leaf(event_list,WEED_LEAF_WIDTH)) { - int width=weed_get_int_value(event_list,WEED_LEAF_WIDTH,&error); - if (width>0) { - cfile->hsize=width; - if (mt!=NULL) mt->layout_set_properties=TRUE; + if (weed_plant_has_leaf(event_list, WEED_LEAF_WIDTH)) { + int width = weed_get_int_value(event_list, WEED_LEAF_WIDTH, &error); + if (width > 0) { + cfile->hsize = width; + if (mt != NULL) mt->layout_set_properties = TRUE; } } - if (weed_plant_has_leaf(event_list,WEED_LEAF_HEIGHT)) { - int height=weed_get_int_value(event_list,WEED_LEAF_HEIGHT,&error); - if (height>0) { - cfile->vsize=height; - if (mt!=NULL) mt->layout_set_properties=TRUE; + if (weed_plant_has_leaf(event_list, WEED_LEAF_HEIGHT)) { + int height = weed_get_int_value(event_list, WEED_LEAF_HEIGHT, &error); + if (height > 0) { + cfile->vsize = height; + if (mt != NULL) mt->layout_set_properties = TRUE; } } - if (weed_plant_has_leaf(event_list,WEED_LEAF_AUDIO_CHANNELS)) { - int achans=weed_get_int_value(event_list,WEED_LEAF_AUDIO_CHANNELS,&error); - if (achans>=0&&mt!=NULL) { - if (achans>2) { - char *err=lives_strdup_printf(_("\nThis has an invalid number of audio channels (%d) for LiVES.\nIt cannot be loaded.\n"),achans); + if (weed_plant_has_leaf(event_list, WEED_LEAF_AUDIO_CHANNELS)) { + int achans = weed_get_int_value(event_list, WEED_LEAF_AUDIO_CHANNELS, &error); + if (achans >= 0 && mt != NULL) { + if (achans > 2) { + char *err = lives_strdup_printf(_("\nThis has an invalid number of audio channels (%d) for LiVES.\nIt cannot be loaded.\n"), achans); d_print(err); - do_error_dialog_with_check_transient(err,TRUE,0,LIVES_WINDOW(mt->window)); + do_error_dialog_with_check_transient(err, TRUE, 0, LIVES_WINDOW(mt->window)); lives_free(err); return NULL; } - cfile->achans=achans; - if (mt!=NULL) mt->layout_set_properties=TRUE; + cfile->achans = achans; + if (mt != NULL) mt->layout_set_properties = TRUE; } } - if (weed_plant_has_leaf(event_list,WEED_LEAF_AUDIO_RATE)) { - int arate=weed_get_int_value(event_list,WEED_LEAF_AUDIO_RATE,&error); - if (arate>0) { - cfile->arate=cfile->arps=arate; - if (mt!=NULL) mt->layout_set_properties=TRUE; + if (weed_plant_has_leaf(event_list, WEED_LEAF_AUDIO_RATE)) { + int arate = weed_get_int_value(event_list, WEED_LEAF_AUDIO_RATE, &error); + if (arate > 0) { + cfile->arate = cfile->arps = arate; + if (mt != NULL) mt->layout_set_properties = TRUE; } } - if (weed_plant_has_leaf(event_list,WEED_LEAF_AUDIO_SAMPLE_SIZE)) { - int asamps=weed_get_int_value(event_list,WEED_LEAF_AUDIO_SAMPLE_SIZE,&error); - if (asamps==8||asamps==16) { - cfile->asampsize=asamps; - if (mt!=NULL) mt->layout_set_properties=TRUE; - } else if (cfile->achans>0) lives_printerr("Layout has invalid sample size %d\n",asamps); + if (weed_plant_has_leaf(event_list, WEED_LEAF_AUDIO_SAMPLE_SIZE)) { + int asamps = weed_get_int_value(event_list, WEED_LEAF_AUDIO_SAMPLE_SIZE, &error); + if (asamps == 8 || asamps == 16) { + cfile->asampsize = asamps; + if (mt != NULL) mt->layout_set_properties = TRUE; + } else if (cfile->achans > 0) lives_printerr("Layout has invalid sample size %d\n", asamps); } - if (weed_plant_has_leaf(event_list,WEED_LEAF_AUDIO_SIGNED)) { - int asigned=weed_get_boolean_value(event_list,WEED_LEAF_AUDIO_SIGNED,&error); - if (asigned==WEED_TRUE) { - if (cfile->signed_endian&AFORM_UNSIGNED) cfile->signed_endian^=AFORM_UNSIGNED; + if (weed_plant_has_leaf(event_list, WEED_LEAF_AUDIO_SIGNED)) { + int asigned = weed_get_boolean_value(event_list, WEED_LEAF_AUDIO_SIGNED, &error); + if (asigned == WEED_TRUE) { + if (cfile->signed_endian & AFORM_UNSIGNED) cfile->signed_endian ^= AFORM_UNSIGNED; } else { - if (!(cfile->signed_endian&AFORM_UNSIGNED)) cfile->signed_endian|=AFORM_UNSIGNED; + if (!(cfile->signed_endian & AFORM_UNSIGNED)) cfile->signed_endian |= AFORM_UNSIGNED; } - if (mt!=NULL) mt->layout_set_properties=TRUE; + if (mt != NULL) mt->layout_set_properties = TRUE; } - if (weed_plant_has_leaf(event_list,WEED_LEAF_AUDIO_ENDIAN)) { - int aendian=weed_get_int_value(event_list,WEED_LEAF_AUDIO_ENDIAN,&error); - if (aendian==WEED_AUDIO_LITTLE_ENDIAN) { - if (cfile->signed_endian&AFORM_BIG_ENDIAN) cfile->signed_endian^=AFORM_BIG_ENDIAN; + if (weed_plant_has_leaf(event_list, WEED_LEAF_AUDIO_ENDIAN)) { + int aendian = weed_get_int_value(event_list, WEED_LEAF_AUDIO_ENDIAN, &error); + if (aendian == WEED_AUDIO_LITTLE_ENDIAN) { + if (cfile->signed_endian & AFORM_BIG_ENDIAN) cfile->signed_endian ^= AFORM_BIG_ENDIAN; } else { - if (!(cfile->signed_endian&AFORM_BIG_ENDIAN)) cfile->signed_endian|=AFORM_BIG_ENDIAN; + if (!(cfile->signed_endian & AFORM_BIG_ENDIAN)) cfile->signed_endian |= AFORM_BIG_ENDIAN; } - if (mt!=NULL) mt->layout_set_properties=TRUE; + if (mt != NULL) mt->layout_set_properties = TRUE; } } else { - if (mt!=NULL) { - msg=set_values_from_defs(mt,FALSE); - if (msg!=NULL) { - if (mt!=NULL) mt->layout_set_properties=TRUE; + if (mt != NULL) { + msg = set_values_from_defs(mt, FALSE); + if (msg != NULL) { + if (mt != NULL) mt->layout_set_properties = TRUE; lives_free(msg); } - cfile->fps=cfile->pb_fps; - if (mt!=NULL) mt->fps=cfile->fps; - cfile->ratio_fps=check_for_ratio_fps(cfile->fps); + cfile->fps = cfile->pb_fps; + if (mt != NULL) mt->fps = cfile->fps; + cfile->ratio_fps = check_for_ratio_fps(cfile->fps); } } - if (event_list==mainw->stored_event_list) return event_list; + if (event_list == mainw->stored_event_list) return event_list; - if (weed_plant_has_leaf(event_list,WEED_LEAF_FIRST)) weed_leaf_delete(event_list,WEED_LEAF_FIRST); - if (weed_plant_has_leaf(event_list,WEED_LEAF_LAST)) weed_leaf_delete(event_list,WEED_LEAF_LAST); + if (weed_plant_has_leaf(event_list, WEED_LEAF_FIRST)) weed_leaf_delete(event_list, WEED_LEAF_FIRST); + if (weed_plant_has_leaf(event_list, WEED_LEAF_LAST)) weed_leaf_delete(event_list, WEED_LEAF_LAST); - weed_set_voidptr_value(event_list,WEED_LEAF_FIRST,NULL); - weed_set_voidptr_value(event_list,WEED_LEAF_LAST,NULL); + weed_set_voidptr_value(event_list, WEED_LEAF_FIRST, NULL); + weed_set_voidptr_value(event_list, WEED_LEAF_LAST, NULL); // force 64 bit ptrs when reading layouts (for compatibility) - prefs->force64bit=FALSE; + prefs->force64bit = FALSE; - if (weed_plant_has_leaf(event_list,WEED_LEAF_WEED_EVENT_API_VERSION)) { - if (weed_get_int_value(event_list,WEED_LEAF_WEED_EVENT_API_VERSION,&error)>=110) prefs->force64bit=TRUE; + if (weed_plant_has_leaf(event_list, WEED_LEAF_WEED_EVENT_API_VERSION)) { + if (weed_get_int_value(event_list, WEED_LEAF_WEED_EVENT_API_VERSION, &error) >= 110) prefs->force64bit = TRUE; } else { - if (weed_plant_has_leaf(event_list,WEED_LEAF_PTRSIZE)) { - if (weed_get_int_value(event_list,WEED_LEAF_PTRSIZE,&error)==8) prefs->force64bit=TRUE; + if (weed_plant_has_leaf(event_list, WEED_LEAF_PTRSIZE)) { + if (weed_get_int_value(event_list, WEED_LEAF_PTRSIZE, &error) == 8) prefs->force64bit = TRUE; } } do { - if (mem!=NULL&&(*mem)>=mem_end) break; - event=weed_plant_deserialise(fd,mem); - if (event!=NULL) { + if (mem != NULL && (*mem) >= mem_end) break; + event = weed_plant_deserialise(fd, mem); + if (event != NULL) { #ifdef DEBUG_TTABLE uint64_t event_id; - if (weed_plant_has_leaf(event,WEED_LEAF_INIT_EVENT)) { - if (weed_leaf_seed_type(event,WEED_LEAF_INIT_EVENT)==WEED_SEED_INT64) - event_id=(uint64_t)(weed_get_int64_value(event,WEED_LEAF_INIT_EVENT,&error)); + if (weed_plant_has_leaf(event, WEED_LEAF_INIT_EVENT)) { + if (weed_leaf_seed_type(event, WEED_LEAF_INIT_EVENT) == WEED_SEED_INT64) + event_id = (uint64_t)(weed_get_int64_value(event, WEED_LEAF_INIT_EVENT, &error)); else - event_id=(uint64_t)((weed_plant_t *)weed_get_voidptr_value(event,WEED_LEAF_INIT_EVENT,&error)); - g_print("got eid is %ld\n",event_id); + event_id = (uint64_t)((weed_plant_t *)weed_get_voidptr_value(event, WEED_LEAF_INIT_EVENT, &error)); + g_print("got eid is %ld\n", event_id); } #endif - if (weed_plant_has_leaf(event,WEED_LEAF_PREVIOUS)) weed_leaf_delete(event,WEED_LEAF_PREVIOUS); - if (weed_plant_has_leaf(event,WEED_LEAF_NEXT)) weed_leaf_delete(event,WEED_LEAF_NEXT); - if (eventprev!=NULL) weed_set_voidptr_value(eventprev,WEED_LEAF_NEXT,event); - weed_set_voidptr_value(event,WEED_LEAF_PREVIOUS,eventprev); - weed_set_voidptr_value(event,WEED_LEAF_NEXT,NULL); - if (get_first_event(event_list)==NULL) { - weed_set_voidptr_value(event_list,WEED_LEAF_FIRST,event); + if (weed_plant_has_leaf(event, WEED_LEAF_PREVIOUS)) weed_leaf_delete(event, WEED_LEAF_PREVIOUS); + if (weed_plant_has_leaf(event, WEED_LEAF_NEXT)) weed_leaf_delete(event, WEED_LEAF_NEXT); + if (eventprev != NULL) weed_set_voidptr_value(eventprev, WEED_LEAF_NEXT, event); + weed_set_voidptr_value(event, WEED_LEAF_PREVIOUS, eventprev); + weed_set_voidptr_value(event, WEED_LEAF_NEXT, NULL); + if (get_first_event(event_list) == NULL) { + weed_set_voidptr_value(event_list, WEED_LEAF_FIRST, event); } - weed_set_voidptr_value(event_list,WEED_LEAF_LAST,event); - weed_add_plant_flags(event,WEED_LEAF_READONLY_PLUGIN); - eventprev=event; - if (num_events!=NULL)(*num_events)++; + weed_set_voidptr_value(event_list, WEED_LEAF_LAST, event); + weed_add_plant_flags(event, WEED_LEAF_READONLY_PLUGIN); + eventprev = event; + if (num_events != NULL)(*num_events)++; } - } while (event!=NULL); + } while (event != NULL); - weed_add_plant_flags(event_list,WEED_LEAF_READONLY_PLUGIN); + weed_add_plant_flags(event_list, WEED_LEAF_READONLY_PLUGIN); return event_list; } static void on_insa_toggled(LiVESToggleButton *tbutton, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; if (!mainw->interactive) return; - mt->opts.insert_audio=lives_toggle_button_get_active(tbutton); + mt->opts.insert_audio = lives_toggle_button_get_active(tbutton); if (prefs->lamp_buttons) { if (mt->opts.insert_audio) lives_widget_set_bg_color(LIVES_WIDGET(tbutton), LIVES_WIDGET_STATE_ACTIVE, &palette->light_green); else lives_widget_set_bg_color(LIVES_WIDGET(tbutton), LIVES_WIDGET_STATE_NORMAL, &palette->dark_red); } } + static void on_snapo_toggled(LiVESToggleButton *tbutton, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; if (!mainw->interactive) return; - mt->opts.snap_over=lives_toggle_button_get_active(tbutton); + mt->opts.snap_over = lives_toggle_button_get_active(tbutton); if (prefs->lamp_buttons) { if (mt->opts.snap_over) lives_widget_set_bg_color(LIVES_WIDGET(tbutton), LIVES_WIDGET_STATE_ACTIVE, &palette->light_green); else lives_widget_set_bg_color(LIVES_WIDGET(tbutton), LIVES_WIDGET_STATE_NORMAL, &palette->dark_red); @@ -5300,62 +5191,61 @@ } - char *set_values_from_defs(lives_mt *mt, boolean from_prefs) { // set various multitrack state flags from either defaults or user preferences - char *retval=NULL; + char *retval = NULL; - int hsize=cfile->hsize; - int vsize=cfile->vsize; - int arate=cfile->arate; - int achans=cfile->achans; - int asamps=cfile->asampsize; - int ase=cfile->signed_endian; - - if (mainw->stored_event_list!=NULL) { - load_event_list_inner(mt,-1,TRUE,NULL,NULL,NULL); - mt->user_width=cfile->hsize; - mt->user_height=cfile->vsize; - cfile->pb_fps=mt->fps=mt->user_fps=cfile->fps; - cfile->arps=mt->user_arate=cfile->arate; - mt->user_achans=cfile->achans; - mt->user_asamps=cfile->asampsize; - mt->user_signed_endian=cfile->signed_endian; + int hsize = cfile->hsize; + int vsize = cfile->vsize; + int arate = cfile->arate; + int achans = cfile->achans; + int asamps = cfile->asampsize; + int ase = cfile->signed_endian; + + if (mainw->stored_event_list != NULL) { + load_event_list_inner(mt, -1, TRUE, NULL, NULL, NULL); + mt->user_width = cfile->hsize; + mt->user_height = cfile->vsize; + cfile->pb_fps = mt->fps = mt->user_fps = cfile->fps; + cfile->arps = mt->user_arate = cfile->arate; + mt->user_achans = cfile->achans; + mt->user_asamps = cfile->asampsize; + mt->user_signed_endian = cfile->signed_endian; } else { if (!from_prefs) { - cfile->hsize=mt->user_width; - cfile->vsize=mt->user_height; - cfile->pb_fps=cfile->fps=mt->fps=mt->user_fps; - cfile->arps=cfile->arate=mt->user_arate; - cfile->achans=mt->user_achans; - cfile->asampsize=mt->user_asamps; - cfile->signed_endian=mt->user_signed_endian; + cfile->hsize = mt->user_width; + cfile->vsize = mt->user_height; + cfile->pb_fps = cfile->fps = mt->fps = mt->user_fps; + cfile->arps = cfile->arate = mt->user_arate; + cfile->achans = mt->user_achans; + cfile->asampsize = mt->user_asamps; + cfile->signed_endian = mt->user_signed_endian; } else { - mt->user_width=cfile->hsize=prefs->mt_def_width; - mt->user_height=cfile->vsize=prefs->mt_def_height; - mt->user_fps=cfile->pb_fps=cfile->fps=mt->fps=prefs->mt_def_fps; - mt->user_arate=cfile->arate=cfile->arps=prefs->mt_def_arate; - mt->user_achans=cfile->achans=prefs->mt_def_achans; - mt->user_asamps=cfile->asampsize=prefs->mt_def_asamps; - mt->user_signed_endian=cfile->signed_endian=prefs->mt_def_signed_endian; + mt->user_width = cfile->hsize = prefs->mt_def_width; + mt->user_height = cfile->vsize = prefs->mt_def_height; + mt->user_fps = cfile->pb_fps = cfile->fps = mt->fps = prefs->mt_def_fps; + mt->user_arate = cfile->arate = cfile->arps = prefs->mt_def_arate; + mt->user_achans = cfile->achans = prefs->mt_def_achans; + mt->user_asamps = cfile->asampsize = prefs->mt_def_asamps; + mt->user_signed_endian = cfile->signed_endian = prefs->mt_def_signed_endian; } } - cfile->ratio_fps=check_for_ratio_fps(cfile->fps); + cfile->ratio_fps = check_for_ratio_fps(cfile->fps); - if (cfile->hsize!=hsize||cfile->vsize!=vsize||cfile->arate!=arate||cfile->achans!=achans|| - cfile->asampsize!=asamps||cfile->signed_endian!=ase) { - retval=mt_set_vals_string(); + if (cfile->hsize != hsize || cfile->vsize != vsize || cfile->arate != arate || cfile->achans != achans || + cfile->asampsize != asamps || cfile->signed_endian != ase) { + retval = mt_set_vals_string(); } - if (mt->is_ready) scroll_tracks(mt,0,TRUE); + if (mt->is_ready) scroll_tracks(mt, 0, TRUE); - if (cfile->achans==0) { - mt->avol_fx=-1; - mt->avol_init_event=NULL; + if (cfile->achans == 0) { + mt->avol_fx = -1; + mt->avol_init_event = NULL; } - set_mt_play_sizes(mt,cfile->hsize,cfile->vsize); + set_mt_play_sizes(mt, cfile->hsize, cfile->vsize); set_audio_filter_channel_values(mt); @@ -5363,107 +5253,99 @@ } - void event_list_free_undos(lives_mt *mt) { - if (mt==NULL) return; + if (mt == NULL) return; - if (mt->undos!=NULL) lives_list_free(mt->undos); - mt->undos=NULL; - mt->undo_buffer_used=0; - mt->undo_offset=0; + if (mt->undos != NULL) lives_list_free(mt->undos); + mt->undos = NULL; + mt->undo_buffer_used = 0; + mt->undo_offset = 0; if (mainw->is_exiting) return; - mt_set_undoable(mt,MT_UNDO_NONE,NULL,FALSE); - mt_set_redoable(mt,MT_UNDO_NONE,NULL,FALSE); + mt_set_undoable(mt, MT_UNDO_NONE, NULL, FALSE); + mt_set_redoable(mt, MT_UNDO_NONE, NULL, FALSE); } - - - - void stored_event_list_free_undos(void) { - if (mainw->stored_layout_undos!=NULL) lives_list_free(mainw->stored_layout_undos); - mainw->stored_layout_undos=NULL; + if (mainw->stored_layout_undos != NULL) lives_list_free(mainw->stored_layout_undos); + mainw->stored_layout_undos = NULL; lives_freep((void **)&mainw->sl_undo_mem); - mainw->sl_undo_buffer_used=0; - mainw->sl_undo_offset=0; + mainw->sl_undo_buffer_used = 0; + mainw->sl_undo_offset = 0; } - - void remove_current_from_affected_layouts(lives_mt *mt) { // remove from affected layouts map - if (mainw->affected_layouts_map!=NULL) { - LiVESList *found=lives_list_find_custom(mainw->affected_layouts_map,mainw->string_constants[LIVES_STRING_CONSTANT_CL], - (LiVESCompareFunc)strcmp); - if (found!=NULL) { + if (mainw->affected_layouts_map != NULL) { + LiVESList *found = lives_list_find_custom(mainw->affected_layouts_map, mainw->string_constants[LIVES_STRING_CONSTANT_CL], + (LiVESCompareFunc)strcmp); + if (found != NULL) { lives_free((livespointer)found->data); - mainw->affected_layouts_map=lives_list_delete_link(mainw->affected_layouts_map,found); + mainw->affected_layouts_map = lives_list_delete_link(mainw->affected_layouts_map, found); } } - if (mainw->affected_layouts_map==NULL) { + if (mainw->affected_layouts_map == NULL) { lives_widget_set_sensitive(mainw->show_layout_errors, FALSE); - if (mt!=NULL) lives_widget_set_sensitive(mt->show_layout_errors, FALSE); + if (mt != NULL) lives_widget_set_sensitive(mt->show_layout_errors, FALSE); } recover_layout_cancelled(FALSE); - if (mt!=NULL) { - if (mt->event_list!=NULL) { + if (mt != NULL) { + if (mt->event_list != NULL) { event_list_free(mt->event_list); - mt->event_list=NULL; + mt->event_list = NULL; } - mt_clear_timeline(mt); } // remove some text - if (mainw->layout_textbuffer!=NULL) { - LiVESTextIter iter1,iter2; - LiVESList *markmap=mainw->affected_layout_marks; - while (markmap!=NULL) { - lives_text_buffer_get_iter_at_mark(LIVES_TEXT_BUFFER(mainw->layout_textbuffer),&iter1,(LiVESTextMark *)markmap->data); - lives_text_buffer_get_iter_at_mark(LIVES_TEXT_BUFFER(mainw->layout_textbuffer),&iter2,(LiVESTextMark *)markmap->next->data); - lives_text_buffer_delete(LIVES_TEXT_BUFFER(mainw->layout_textbuffer),&iter1,&iter2); - - lives_text_buffer_delete_mark(LIVES_TEXT_BUFFER(mainw->layout_textbuffer),(LiVESTextMark *)markmap->data); - lives_text_buffer_delete_mark(LIVES_TEXT_BUFFER(mainw->layout_textbuffer),(LiVESTextMark *)markmap->next->data); - markmap=markmap->next->next; + if (mainw->layout_textbuffer != NULL) { + LiVESTextIter iter1, iter2; + LiVESList *markmap = mainw->affected_layout_marks; + while (markmap != NULL) { + lives_text_buffer_get_iter_at_mark(LIVES_TEXT_BUFFER(mainw->layout_textbuffer), &iter1, (LiVESTextMark *)markmap->data); + lives_text_buffer_get_iter_at_mark(LIVES_TEXT_BUFFER(mainw->layout_textbuffer), &iter2, (LiVESTextMark *)markmap->next->data); + lives_text_buffer_delete(LIVES_TEXT_BUFFER(mainw->layout_textbuffer), &iter1, &iter2); + + lives_text_buffer_delete_mark(LIVES_TEXT_BUFFER(mainw->layout_textbuffer), (LiVESTextMark *)markmap->data); + lives_text_buffer_delete_mark(LIVES_TEXT_BUFFER(mainw->layout_textbuffer), (LiVESTextMark *)markmap->next->data); + markmap = markmap->next->next; } - mainw->affected_layout_marks=NULL; + mainw->affected_layout_marks = NULL; } } - void stored_event_list_free_all(boolean wiped) { - int i; + register int i; - for (i=0; i<MAX_FILES; i++) { - if (mainw->files[i]!=NULL) { - mainw->files[i]->stored_layout_frame=0; - mainw->files[i]->stored_layout_audio=0.; - mainw->files[i]->stored_layout_fps=0.; - mainw->files[i]->stored_layout_idx=-1; + for (i = 0; i < MAX_FILES; i++) { + if (mainw->files[i] != NULL) { + mainw->files[i]->stored_layout_frame = 0; + mainw->files[i]->stored_layout_audio = 0.; + mainw->files[i]->stored_layout_fps = 0.; + mainw->files[i]->stored_layout_idx = -1; } } stored_event_list_free_undos(); - if (mainw->stored_event_list!=NULL) event_list_free(mainw->stored_event_list); - mainw->stored_event_list=NULL; + if (mainw->stored_event_list != NULL) event_list_free(mainw->stored_event_list); + mainw->stored_event_list = NULL; if (wiped) { remove_current_from_affected_layouts(NULL); - mainw->stored_event_list_changed=FALSE; + mainw->stored_event_list_changed = FALSE; } } + static LIVES_INLINE void print_layout_wiped(void) { d_print(_("Layout was wiped.\n")); } @@ -5472,55 +5354,54 @@ boolean check_for_layout_del(lives_mt *mt, boolean exiting) { // save or wipe event_list // returns FALSE if cancelled - int resp=2; + int resp = 2; - if ((mt==NULL||mt->event_list==NULL||get_first_event(mt->event_list)==NULL)&& - (mainw->stored_event_list==NULL||get_first_event(mainw->stored_event_list)==NULL)) return TRUE; + if ((mt == NULL || mt->event_list == NULL || get_first_event(mt->event_list) == NULL) && + (mainw->stored_event_list == NULL || get_first_event(mainw->stored_event_list) == NULL)) return TRUE; - if (((mt!=NULL&&(mt->changed||mainw->scrap_file!=-1||mainw->ascrap_file!=-1))||(mainw->stored_event_list!=NULL&& + if (((mt != NULL && (mt->changed || mainw->scrap_file != -1 || mainw->ascrap_file != -1)) || (mainw->stored_event_list != NULL && mainw->stored_event_list_changed))) { - int type=((mainw->scrap_file==-1&&mainw->ascrap_file==-1)||mt==NULL)?3*(!exiting):4; - _entryw *cdsw=create_cds_dialog(type); + int type = ((mainw->scrap_file == -1 && mainw->ascrap_file == -1) || mt == NULL) ? 3 * (!exiting) : 4; + _entryw *cdsw = create_cds_dialog(type); do { - resp=lives_dialog_run(LIVES_DIALOG(cdsw->dialog)); - if (resp==2) { + resp = lives_dialog_run(LIVES_DIALOG(cdsw->dialog)); + if (resp == 2) { // save - mainw->cancelled=CANCEL_NONE; - on_save_event_list_activate(NULL,mt); - if (mainw->cancelled==CANCEL_NONE) { + mainw->cancelled = CANCEL_NONE; + on_save_event_list_activate(NULL, mt); + if (mainw->cancelled == CANCEL_NONE) { break; - } else mainw->cancelled=CANCEL_NONE; + } else mainw->cancelled = CANCEL_NONE; } - } while (resp==2); + } while (resp == 2); lives_widget_destroy(cdsw->dialog); lives_free(cdsw); - if (resp==LIVES_RESPONSE_CANCEL) { + if (resp == LIVES_RESPONSE_CANCEL) { // cancel return FALSE; } recover_layout_cancelled(FALSE); - if (resp==1&&!exiting) { + if (resp == 1 && !exiting) { // wipe - prefs->ar_layout=FALSE; - set_pref(PREF_AR_LAYOUT,""); - memset(prefs->ar_layout_name,0,1); + prefs->ar_layout = FALSE; + set_pref(PREF_AR_LAYOUT, ""); + memset(prefs->ar_layout_name, 0, 1); } } - - if (mainw->stored_event_list!=NULL||mainw->sl_undo_mem!=NULL) { + if (mainw->stored_event_list != NULL || mainw->sl_undo_mem != NULL) { stored_event_list_free_all(TRUE); print_layout_wiped(); - } else if (mt!=NULL&&mt->event_list!=NULL&&(exiting||resp==1)) { + } else if (mt != NULL && mt->event_list != NULL && (exiting || resp == 1)) { event_list_free(mt->event_list); event_list_free_undos(mt); - mt->event_list=NULL; + mt->event_list = NULL; mt_clear_timeline(mt); close_scrap_file(); close_ascrap_file(); @@ -5532,169 +5413,168 @@ static LIVES_INLINE void on_comp_exp(LiVESButton *button, livespointer user_data) { - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(user_data),!lives_check_menu_item_get_active(LIVES_CHECK_MENU_ITEM(user_data))); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(user_data), !lives_check_menu_item_get_active(LIVES_CHECK_MENU_ITEM(user_data))); } void delete_audio_tracks(lives_mt *mt, LiVESList *list, boolean full) { - LiVESList *slist=list; - while (slist!=NULL) { - delete_audio_track(mt,(LiVESWidget *)slist->data,full); - slist=slist->next; + LiVESList *slist = list; + while (slist != NULL) { + delete_audio_track(mt, (LiVESWidget *)slist->data, full); + slist = slist->next; } lives_list_free(list); } - - void mt_quit_activate(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; - if (!check_for_layout_del(mt,FALSE)) return; + if (!check_for_layout_del(mt, FALSE)) return; - if (mt->idlefunc>0) lives_source_remove(mt->idlefunc); - mt->idlefunc=0; + if (mt->idlefunc > 0) lives_source_remove(mt->idlefunc); + mt->idlefunc = 0; - on_quit_activate(menuitem,NULL); + on_quit_activate(menuitem, NULL); } + static void set_mt_title(lives_mt *mt) { - char *wtxt=lives_strdup_printf(_("LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps"),LiVES_VERSION,cfile->hsize,cfile->vsize,cfile->bpp, - cfile->fps); - char *oldtit=widget_opts.title_prefix; - widget_opts.title_prefix=""; + char *wtxt = lives_strdup_printf(_("LiVES-%s: Multitrack %dx%d : %d bpp %.3f fps"), LiVES_VERSION, cfile->hsize, cfile->vsize, cfile->bpp, + cfile->fps); + char *oldtit = widget_opts.title_prefix; + widget_opts.title_prefix = ""; lives_window_set_title(LIVES_WINDOW(mt->window), wtxt); - widget_opts.title_prefix=oldtit; + widget_opts.title_prefix = oldtit; lives_free(wtxt); } static boolean timecode_string_validate(LiVESEntry *entry, lives_mt *mt) { - const char *etext=lives_entry_get_text(entry); + const char *etext = lives_entry_get_text(entry); char **array; double secs; - double tl_range,pos; + double tl_range, pos; - int hrs,mins; + int hrs, mins; - if (get_token_count((char *)etext,':')!=3) return FALSE; + if (get_token_count((char *)etext, ':') != 3) return FALSE; - array=lives_strsplit(etext,":",3); + array = lives_strsplit(etext, ":", 3); - if (get_token_count(array[2],'.')!=2) { + if (get_token_count(array[2], '.') != 2) { lives_strfreev(array); return FALSE; } - hrs=atoi(array[0]); - mins=atoi(array[1]); - if (mins>59) mins=59; - secs=lives_strtod(array[2],NULL); + hrs = atoi(array[0]); + mins = atoi(array[1]); + if (mins > 59) mins = 59; + secs = lives_strtod(array[2], NULL); lives_strfreev(array); - secs=secs+mins*60.+hrs*3600.; + secs = secs + mins * 60. + hrs * 3600.; - if (secs>mt->end_secs) { - tl_range=mt->tl_max-mt->tl_min; - set_timeline_end_secs(mt,secs); + if (secs > mt->end_secs) { + tl_range = mt->tl_max - mt->tl_min; + set_timeline_end_secs(mt, secs); - mt->tl_min=secs-tl_range/2; - mt->tl_max=secs+tl_range/2; + mt->tl_min = secs - tl_range / 2; + mt->tl_max = secs + tl_range / 2; - if (mt->tl_max>mt->end_secs) { - mt->tl_min-=(mt->tl_max-mt->end_secs); - mt->tl_max=mt->end_secs; + if (mt->tl_max > mt->end_secs) { + mt->tl_min -= (mt->tl_max - mt->end_secs); + mt->tl_max = mt->end_secs; } - } - mt_tl_move(mt,secs); + mt_tl_move(mt, secs); lives_widget_context_update(); - pos=mt->ptr_time; + pos = mt->ptr_time; - pos=q_dbl(pos,mt->fps)/U_SEC; - if (pos<0.) pos=0.; + pos = q_dbl(pos, mt->fps) / U_SEC; + if (pos < 0.) pos = 0.; - time_to_string(mt,pos,TIMECODE_LENGTH); + time_to_string(mt, pos, TIMECODE_LENGTH); return TRUE; } + static boolean on_mt_delete_event(LiVESWidget *widget, LiVESXEventDelete *event, livespointer user_data) { if (!mainw->interactive) return TRUE; - mt_quit_activate(NULL,user_data); + mt_quit_activate(NULL, user_data); return FALSE; } static void cmi_set_inactive(LiVESWidget *widget, livespointer data) { - if (widget==data) return; + if (widget == data) return; lives_object_freeze_notify(LIVES_WIDGET_OBJECT(widget)); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(widget),FALSE); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(widget), FALSE); lives_object_thaw_notify(LIVES_WIDGET_OBJECT(widget)); } void mt_set_autotrans(int idx) { char *atrans_hash; - prefs->atrans_fx=idx; + prefs->atrans_fx = idx; // set pref - atrans_hash=make_weed_hashname(prefs->atrans_fx,FALSE,FALSE); - set_pref(PREF_CURRENT_AUTOTRANS,atrans_hash); + atrans_hash = make_weed_hashname(prefs->atrans_fx, FALSE, FALSE); + set_pref(PREF_CURRENT_AUTOTRANS, atrans_hash); lives_free(atrans_hash); } static void mt_set_atrans_effect(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; if (!lives_check_menu_item_get_active(LIVES_CHECK_MENU_ITEM(menuitem))) return; - lives_container_foreach(LIVES_CONTAINER(mt->submenu_atransfx),cmi_set_inactive,menuitem); + lives_container_foreach(LIVES_CONTAINER(mt->submenu_atransfx), cmi_set_inactive, menuitem); - mt_set_autotrans(LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(menuitem),"idx"))); + mt_set_autotrans(LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(menuitem), "idx"))); } static void after_timecode_changed(LiVESWidget *entry, LiVESXEventFocus *dir, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; double pos; - if (!timecode_string_validate(LIVES_ENTRY(entry),mt)) { - pos=mt->ptr_time; - pos=q_dbl(pos,mt->fps)/U_SEC; - if (pos<0.) pos=0.; - time_to_string(mt,pos,TIMECODE_LENGTH); + if (!timecode_string_validate(LIVES_ENTRY(entry), mt)) { + pos = mt->ptr_time; + pos = q_dbl(pos, mt->fps) / U_SEC; + if (pos < 0.) pos = 0.; + time_to_string(mt, pos, TIMECODE_LENGTH); } - } -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) static boolean expose_pb(LiVESWidget *widget, lives_painter_t *cr, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - if (mainw->playing_file>-1) return TRUE; - set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->play_image),mt->frame_pixbuf,cr); + lives_mt *mt = (lives_mt *)user_data; + if (mainw->playing_file > -1) return TRUE; + set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->play_image), mt->frame_pixbuf, cr); return TRUE; } + static boolean draw_cool_toggle(LiVESWidget *widget, lives_painter_t *cr, livespointer user_data) { - double rwidth=(double)lives_widget_get_allocation_width(LIVES_WIDGET(widget)); - double rheight=(double)lives_widget_get_allocation_height(LIVES_WIDGET(widget)); + double rwidth = (double)lives_widget_get_allocation_width(LIVES_WIDGET(widget)); + double rheight = (double)lives_widget_get_allocation_height(LIVES_WIDGET(widget)); double rad; - double scalex=1.; - double scaley=.8; + double scalex = 1.; + double scaley = .8; - lives_painter_translate(cr,rwidth*(1.-scalex)/2.,rheight*(1.-scaley)/2.); + lives_painter_translate(cr, rwidth * (1. - scalex) / 2., rheight * (1. - scaley) / 2.); - rwidth*=scalex; - rheight*=scaley; + rwidth *= scalex; + rheight *= scaley; // draw the inside @@ -5707,94 +5587,93 @@ } // draw rounded rctangle - lives_painter_rectangle(cr,0,rwidth/4, + lives_painter_rectangle(cr, 0, rwidth / 4, rwidth, - rheight-rwidth/2); + rheight - rwidth / 2); lives_painter_fill(cr); - lives_painter_rectangle(cr,rwidth/4,0, - rwidth/2, - rwidth/4); + lives_painter_rectangle(cr, rwidth / 4, 0, + rwidth / 2, + rwidth / 4); lives_painter_fill(cr); - lives_painter_rectangle(cr,rwidth/4,rheight-rwidth/4, - rwidth/2, - rwidth/4); + lives_painter_rectangle(cr, rwidth / 4, rheight - rwidth / 4, + rwidth / 2, + rwidth / 4); lives_painter_fill(cr); - rad=rwidth/4.; + rad = rwidth / 4.; - lives_painter_move_to(cr,rwidth/4.,rwidth/4.); - lives_painter_line_to(cr,0.,rwidth/4.); - lives_painter_arc(cr,rwidth/4.,rwidth/4.,rad,M_PI,1.5*M_PI); - lives_painter_line_to(cr,rwidth/4.,rwidth/4.); + lives_painter_move_to(cr, rwidth / 4., rwidth / 4.); + lives_painter_line_to(cr, 0., rwidth / 4.); + lives_painter_arc(cr, rwidth / 4., rwidth / 4., rad, M_PI, 1.5 * M_PI); + lives_painter_line_to(cr, rwidth / 4., rwidth / 4.); lives_painter_fill(cr); - lives_painter_move_to(cr,rwidth/4.*3.,rwidth/4.); - lives_painter_line_to(cr,rwidth/4.*3.,0.); - lives_painter_arc(cr,rwidth/4.*3.,rwidth/4.,rad,-M_PI/2.,0.); - lives_painter_line_to(cr,rwidth/4.*3.,rwidth/4.); + lives_painter_move_to(cr, rwidth / 4.*3., rwidth / 4.); + lives_painter_line_to(cr, rwidth / 4.*3., 0.); + lives_painter_arc(cr, rwidth / 4.*3., rwidth / 4., rad, -M_PI / 2., 0.); + lives_painter_line_to(cr, rwidth / 4.*3., rwidth / 4.); lives_painter_fill(cr); - lives_painter_move_to(cr,rwidth/4.,rheight-rwidth/4.); - lives_painter_line_to(cr,rwidth/4.,rheight); - lives_painter_arc(cr,rwidth/4.,rheight-rwidth/4.,rad,M_PI/2.,M_PI); - lives_painter_line_to(cr,rwidth/4.,rheight-rwidth/4.); + lives_painter_move_to(cr, rwidth / 4., rheight - rwidth / 4.); + lives_painter_line_to(cr, rwidth / 4., rheight); + lives_painter_arc(cr, rwidth / 4., rheight - rwidth / 4., rad, M_PI / 2., M_PI); + lives_painter_line_to(cr, rwidth / 4., rheight - rwidth / 4.); lives_painter_fill(cr); - lives_painter_move_to(cr,rwidth/4.*3.,rheight-rwidth/4.); - lives_painter_line_to(cr,rwidth,rheight-rwidth/4.); - lives_painter_arc(cr,rwidth/4.*3.,rheight-rwidth/4.,rad,0.,M_PI/2.); - lives_painter_line_to(cr,rwidth/4.*3.,rheight-rwidth/4.); + lives_painter_move_to(cr, rwidth / 4.*3., rheight - rwidth / 4.); + lives_painter_line_to(cr, rwidth, rheight - rwidth / 4.); + lives_painter_arc(cr, rwidth / 4.*3., rheight - rwidth / 4., rad, 0., M_PI / 2.); + lives_painter_line_to(cr, rwidth / 4.*3., rheight - rwidth / 4.); lives_painter_fill(cr); - // draw the surround lives_painter_new_path(cr); lives_painter_set_source_rgba(cr, 0., 0., 0., .8); - lives_painter_set_line_width(cr,1.); + lives_painter_set_line_width(cr, 1.); - lives_painter_arc(cr,rwidth/4.,rwidth/4.,rad,M_PI,1.5*M_PI); + lives_painter_arc(cr, rwidth / 4., rwidth / 4., rad, M_PI, 1.5 * M_PI); lives_painter_stroke(cr); - lives_painter_arc(cr,rwidth/4.*3.,rwidth/4.,rad,-M_PI/2.,0.); + lives_painter_arc(cr, rwidth / 4.*3., rwidth / 4., rad, -M_PI / 2., 0.); lives_painter_stroke(cr); - lives_painter_arc(cr,rwidth/4.,rheight-rwidth/4.,rad,M_PI/2.,M_PI); + lives_painter_arc(cr, rwidth / 4., rheight - rwidth / 4., rad, M_PI / 2., M_PI); lives_painter_stroke(cr); - lives_painter_arc(cr,rwidth/4.*3.,rheight-rwidth/4.,rad,0.,M_PI/2.); + lives_painter_arc(cr, rwidth / 4.*3., rheight - rwidth / 4., rad, 0., M_PI / 2.); lives_painter_stroke(cr); - lives_painter_move_to(cr,rwidth/4.,0); - lives_painter_line_to(cr,rwidth/4.*3.,0); + lives_painter_move_to(cr, rwidth / 4., 0); + lives_painter_line_to(cr, rwidth / 4.*3., 0); lives_painter_stroke(cr); - lives_painter_move_to(cr,rwidth/4.,rheight); - lives_painter_line_to(cr,rwidth/4.*3.,rheight); + lives_painter_move_to(cr, rwidth / 4., rheight); + lives_painter_line_to(cr, rwidth / 4.*3., rheight); lives_painter_stroke(cr); - lives_painter_move_to(cr,0.,rwidth/4.); - lives_painter_line_to(cr,0.,rheight-rwidth/4.); + lives_painter_move_to(cr, 0., rwidth / 4.); + lives_painter_line_to(cr, 0., rheight - rwidth / 4.); lives_painter_stroke(cr); - lives_painter_move_to(cr,rwidth,rwidth/4.); - lives_painter_line_to(cr,rwidth,rheight-rwidth/4.); + lives_painter_move_to(cr, rwidth, rwidth / 4.); + lives_painter_line_to(cr, rwidth, rheight - rwidth / 4.); lives_painter_stroke(cr); if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(widget))) { lives_painter_set_source_rgba(cr, 1., 1., 1., .6); - lives_painter_move_to(cr,rwidth/4.,rwidth/4.); - lives_painter_line_to(cr,rwidth/4.*3.,rheight-rwidth/4.); + lives_painter_move_to(cr, rwidth / 4., rwidth / 4.); + lives_painter_line_to(cr, rwidth / 4.*3., rheight - rwidth / 4.); lives_painter_stroke(cr); - lives_painter_move_to(cr,rwidth/4.,rheight-rwidth/4.); - lives_painter_line_to(cr,rwidth/4.*3.,rwidth/4.); + lives_painter_move_to(cr, rwidth / 4., rheight - rwidth / 4.); + lives_painter_line_to(cr, rwidth / 4.*3., rwidth / 4.); lives_painter_stroke(cr); } @@ -5813,11 +5692,11 @@ case POLY_FX_STACK: return lives_strdup(_("FX stack")); case POLY_EFFECTS: - return lives_fx_cat_to_text(LIVES_FX_CAT_EFFECT,TRUE); // effects + return lives_fx_cat_to_text(LIVES_FX_CAT_EFFECT, TRUE); // effects case POLY_TRANS: - return lives_fx_cat_to_text(LIVES_FX_CAT_TRANSITION,TRUE); // transitions + return lives_fx_cat_to_text(LIVES_FX_CAT_TRANSITION, TRUE); // transitions case POLY_COMP: - return lives_fx_cat_to_text(LIVES_FX_CAT_COMPOSITOR,TRUE); // compositors + return lives_fx_cat_to_text(LIVES_FX_CAT_COMPOSITOR, TRUE); // compositors case POLY_PARAMS: return lives_strdup(_("Params.")); default: @@ -5837,7 +5716,7 @@ lives_widget_set_base_color(mt->timecode, LIVES_WIDGET_STATE_INSENSITIVE, &palette->mt_timecode_bg); lives_widget_set_text_color(mt->timecode, LIVES_WIDGET_STATE_INSENSITIVE, &palette->mt_timecode_fg); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(mt->window, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); lives_widget_set_fg_color(mt->window, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); @@ -5851,9 +5730,9 @@ lives_widget_set_bg_color(mt->scroll_label, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); lives_widget_set_fg_color(mt->scroll_label, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); - if (mt->dumlabel1!=NULL) + if (mt->dumlabel1 != NULL) lives_widget_set_bg_color(mt->dumlabel1, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); - if (mt->dumlabel2!=NULL) + if (mt->dumlabel2 != NULL) lives_widget_set_bg_color(mt->dumlabel2, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); lives_widget_set_bg_color(mt->preview_frame, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); @@ -5877,18 +5756,18 @@ set_child_colour(mt->in_out_box, FALSE); - if (palette->style&STYLE_4) { + if (palette->style & STYLE_4) { lives_widget_show(mt->hseparator); lives_widget_set_fg_color(mt->hseparator, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_bg_color(mt->hseparator, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); - if (mt->hseparator2!=NULL) { + if (mt->hseparator2 != NULL) { lives_widget_show(mt->hseparator2); lives_widget_set_fg_color(mt->hseparator2, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_bg_color(mt->hseparator2, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); } } else { lives_widget_hide(mt->hseparator); - if (mt->hseparator2!=NULL) { + if (mt->hseparator2 != NULL) { lives_widget_hide(mt->hseparator2); } } @@ -5903,17 +5782,17 @@ lives_widget_set_bg_color(LIVES_WIDGET(mt->sep1), LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_fg_color(LIVES_WIDGET(mt->sep1), LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); - if (mt->sep2!=NULL) { + if (mt->sep2 != NULL) { lives_widget_set_bg_color(LIVES_WIDGET(mt->sep2), LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_fg_color(LIVES_WIDGET(mt->sep2), LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); } - if (mt->sep3!=NULL) { + if (mt->sep3 != NULL) { lives_widget_set_bg_color(LIVES_WIDGET(mt->sep3), LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_fg_color(LIVES_WIDGET(mt->sep3), LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); } - if (mt->sep4!=NULL) { + if (mt->sep4 != NULL) { lives_widget_set_bg_color(LIVES_WIDGET(mt->sep4), LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_fg_color(LIVES_WIDGET(mt->sep4), LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); } @@ -5927,7 +5806,7 @@ lives_widget_set_fg_color(mt->tlx_eventbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); lives_widget_set_bg_color(mt->tlx_eventbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) // m & b for gtk 3.x lives_widget_set_fg_color(mt->time_label, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); lives_widget_set_bg_color(mt->time_label, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); @@ -5940,7 +5819,7 @@ lives_widget_set_bg_color(mt->time_label, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); #endif - if (mt->tl_label!=NULL) + if (mt->tl_label != NULL) lives_widget_set_fg_color(mt->tl_label, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); // needed for gtk+ 2.x @@ -5968,12 +5847,12 @@ lives_widget_set_bg_color(mt->grav_label, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_fg_color(mt->grav_label, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); - if (mt->ins_label!=NULL) { + if (mt->ins_label != NULL) { lives_widget_set_bg_color(mt->ins_label, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_fg_color(mt->ins_label, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); } - if (mt->mm_label!=NULL) { + if (mt->mm_label != NULL) { lives_widget_set_bg_color(mt->mm_label, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_fg_color(mt->mm_label, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); } @@ -6007,14 +5886,14 @@ lives_widget_set_fg_color(lives_frame_get_label_widget(LIVES_FRAME(mt->context_frame)), LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); // gtk+ 2.x - if ((mt->poly_state==POLY_FX_STACK||mt->poly_state==POLY_EFFECTS||mt->poly_state==POLY_TRANS||mt->poly_state==POLY_COMP) \ - &&LIVES_IS_BIN(mt->fx_list_scroll)&&lives_bin_get_child(LIVES_BIN(mt->fx_list_scroll))!=NULL) + if ((mt->poly_state == POLY_FX_STACK || mt->poly_state == POLY_EFFECTS || mt->poly_state == POLY_TRANS || mt->poly_state == POLY_COMP) \ + && LIVES_IS_BIN(mt->fx_list_scroll) && lives_bin_get_child(LIVES_BIN(mt->fx_list_scroll)) != NULL) lives_widget_set_bg_color(lives_bin_get_child(LIVES_BIN(mt->fx_list_scroll)), LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); lives_widget_set_fg_color(lives_bin_get_child(LIVES_BIN(mt->context_scroll)), LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); lives_widget_set_bg_color(lives_bin_get_child(LIVES_BIN(mt->context_scroll)), LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); - set_child_colour(mt->context_box,FALSE); + set_child_colour(mt->context_box, FALSE); lives_widget_set_bg_color(mt->vpaned, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); lives_widget_set_fg_color(mt->vpaned, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); @@ -6024,21 +5903,22 @@ lives_widget_set_bg_color(LIVES_WIDGET(mt->timeline_table_header), LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); - if (palette->style&STYLE_3) { - if (mt->timeline!=NULL) { - lives_widget_set_fg_color(mt->timeline, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); - lives_widget_set_bg_color(mt->timeline, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); - } - if (mt->timeline_eb!=NULL) { + if (mt->timeline != NULL) { + lives_widget_set_fg_color(mt->timeline, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); + lives_widget_set_bg_color(mt->timeline, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); + } + + if (palette->style & STYLE_3) { + if (mt->timeline_eb != NULL) { lives_widget_set_bg_color(mt->timeline_eb, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_fg_color(mt->timeline_eb, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); } - if (mt->timeline_reg!=NULL) { + if (mt->timeline_reg != NULL) { lives_widget_set_bg_color(mt->timeline_reg, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_fg_color(mt->timeline_reg, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); } } else { - if (mt->timeline_reg!=NULL) { + if (mt->timeline_reg != NULL) { lives_widget_set_bg_color(mt->timeline_reg, LIVES_WIDGET_STATE_NORMAL, &palette->white); lives_widget_set_fg_color(mt->timeline_reg, LIVES_WIDGET_STATE_NORMAL, &palette->black); } @@ -6055,8 +5935,8 @@ lives_widget_set_fg_color(mt->btoolbar, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); - if (palette->style&STYLE_2) { -#if !GTK_CHECK_VERSION(3,0,0) + if (palette->style & STYLE_2) { +#if !GTK_CHECK_VERSION(3, 0, 0) lives_widget_set_base_color(mt->spinbutton_start, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); lives_widget_set_base_color(mt->spinbutton_start, LIVES_WIDGET_STATE_INSENSITIVE, &palette->normal_back); lives_widget_set_base_color(mt->spinbutton_end, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); @@ -6107,11 +5987,10 @@ lives_widget_set_bg_color(mt->nb_label7, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); } + redraw_all_event_boxes(mt); } - - lives_mt *multitrack(weed_plant_t *event_list, int orig_file, double fps) { LiVESWidget *hseparator; LiVESWidget *menuitem; @@ -6177,234 +6056,232 @@ char buff[32768]; char text[255]; - boolean in_menubar=TRUE; + boolean in_menubar = TRUE; - char *cname,*tname,*msg; - char *tmp,*tmp2; - int scr_width,dph; + char *cname, *tname, *msg; + char *tmp, *tmp2; + int scr_width, dph; int num_filters; int error; - int dpw=widget_opts.packing_width; + int dpw = widget_opts.packing_width; register int i; - lives_mt *mt=(lives_mt *)lives_malloc(sizeof(lives_mt)); + lives_mt *mt = (lives_mt *)lives_malloc(sizeof(lives_mt)); - mainw->multitrack=mt; + mainw->multitrack = mt; - mt->frame_pixbuf=NULL; + mt->frame_pixbuf = NULL; - mt->is_ready=FALSE; - mt->tl_marks=NULL; + mt->is_ready = FALSE; + mt->tl_marks = NULL; - mt->idlefunc=0; // idle function for auto backup - mt->auto_back_time=0; + mt->idlefunc = 0; // idle function for auto backup + mt->auto_back_time = 0; - mt->playing_sel=FALSE; + mt->playing_sel = FALSE; - mt->render_file=mainw->current_file; + mt->render_file = mainw->current_file; - if (prefs->gui_monitor==0) scr_width=mainw->scr_width; - else scr_width=mainw->mgeom[prefs->gui_monitor-1].width; + if (prefs->gui_monitor == 0) scr_width = mainw->scr_width; + else scr_width = mainw->mgeom[prefs->gui_monitor - 1].width; - if (mainw->sl_undo_mem==NULL) { - mt->undo_mem=(uint8_t *)lives_try_malloc(prefs->mt_undo_buf*1024*1024); - if (mt->undo_mem==NULL) { + if (mainw->sl_undo_mem == NULL) { + mt->undo_mem = (uint8_t *)lives_try_malloc(prefs->mt_undo_buf * 1024 * 1024); + if (mt->undo_mem == NULL) { do_mt_undo_mem_error(); } - mt->undo_buffer_used=0; - mt->undos=NULL; - mt->undo_offset=0; + mt->undo_buffer_used = 0; + mt->undos = NULL; + mt->undo_offset = 0; } else { - mt->undo_mem=mainw->sl_undo_mem; - mt->undo_buffer_used=mainw->sl_undo_buffer_used; - mt->undos=mainw->stored_layout_undos; - mt->undo_offset=mainw->sl_undo_offset; + mt->undo_mem = mainw->sl_undo_mem; + mt->undo_buffer_used = mainw->sl_undo_buffer_used; + mt->undos = mainw->stored_layout_undos; + mt->undo_offset = mainw->sl_undo_offset; } - mt->apply_fx_button=NULL; + mt->apply_fx_button = NULL; - mt->cursor_style=LIVES_CURSOR_NORMAL; + mt->cursor_style = LIVES_CURSOR_NORMAL; - mt->file_selected=orig_file; + mt->file_selected = orig_file; - mt->auto_changed=mt->changed=FALSE; + mt->auto_changed = mt->changed = FALSE; - mt->was_undo_redo=FALSE; + mt->was_undo_redo = FALSE; - mt->tl_mouse=FALSE; + mt->tl_mouse = FALSE; - mt->clip_labels=NULL; + mt->clip_labels = NULL; - mt->force_load_name=NULL; + mt->force_load_name = NULL; - mt->dumlabel1=mt->dumlabel2=mt->tl_label=mt->timeline=mt->timeline_eb=mt->timeline_reg=NULL; + mt->dumlabel1 = mt->dumlabel2 = mt->tl_label = mt->timeline = mt->timeline_eb = mt->timeline_reg = NULL; if (mainw->multi_opts.set) { - mt->opts.move_effects=mainw->multi_opts.move_effects; - mt->opts.fx_auto_preview=mainw->multi_opts.fx_auto_preview; - mt->opts.snap_over=mainw->multi_opts.snap_over; - mt->opts.mouse_mode=mainw->multi_opts.mouse_mode; - mt->opts.grav_mode=mainw->multi_opts.grav_mode; - mt->opts.insert_mode=mainw->multi_opts.insert_mode; - mt->opts.show_audio=mainw->multi_opts.show_audio; - mt->opts.show_ctx=mainw->multi_opts.show_ctx; - mt->opts.ign_ins_sel=mainw->multi_opts.ign_ins_sel; - mt->opts.follow_playback=mainw->multi_opts.follow_playback; - mt->opts.autocross_audio=mainw->multi_opts.autocross_audio; - mt->opts.render_audp=mainw->multi_opts.render_audp; - mt->opts.render_vidp=mainw->multi_opts.render_vidp; - mt->opts.normalise_audp=mainw->multi_opts.normalise_audp; - mt->opts.aparam_view_list=mainw->multi_opts.aparam_view_list; - } else { - mt->opts.move_effects=TRUE; - mt->opts.fx_auto_preview=TRUE; - mt->opts.snap_over=FALSE; - mt->opts.mouse_mode=MOUSE_MODE_MOVE; - mt->opts.show_audio=TRUE; - mt->opts.show_ctx=TRUE; - mt->opts.ign_ins_sel=FALSE; - mt->opts.follow_playback=TRUE; - mt->opts.grav_mode=GRAV_MODE_NORMAL; - mt->opts.insert_mode=INSERT_MODE_NORMAL; - mt->opts.autocross_audio=TRUE; - mt->opts.render_vidp=TRUE; - mt->opts.render_audp=TRUE; - mt->opts.normalise_audp=TRUE; - mt->opts.aparam_view_list=NULL; - } - - mt->opts.insert_audio=TRUE; - - mt->opts.pertrack_audio=prefs->mt_pertrack_audio; - mt->opts.audio_bleedthru=FALSE; - mt->opts.gang_audio=TRUE; - mt->opts.back_audio_tracks=1; - - if (force_pertrack_audio) mt->opts.pertrack_audio=TRUE; - force_pertrack_audio=FALSE; - - mt->tl_fixed_length=0.; - mt->ptr_time=0.; - mt->video_draws=NULL; - mt->block_selected=NULL; - mt->event_list=event_list; + mt->opts.move_effects = mainw->multi_opts.move_effects; + mt->opts.fx_auto_preview = mainw->multi_opts.fx_auto_preview; + mt->opts.snap_over = mainw->multi_opts.snap_over; + mt->opts.mouse_mode = mainw->multi_opts.mouse_mode; + mt->opts.grav_mode = mainw->multi_opts.grav_mode; + mt->opts.insert_mode = mainw->multi_opts.insert_mode; + mt->opts.show_audio = mainw->multi_opts.show_audio; + mt->opts.show_ctx = mainw->multi_opts.show_ctx; + mt->opts.ign_ins_sel = mainw->multi_opts.ign_ins_sel; + mt->opts.follow_playback = mainw->multi_opts.follow_playback; + mt->opts.autocross_audio = mainw->multi_opts.autocross_audio; + mt->opts.render_audp = mainw->multi_opts.render_audp; + mt->opts.render_vidp = mainw->multi_opts.render_vidp; + mt->opts.normalise_audp = mainw->multi_opts.normalise_audp; + mt->opts.aparam_view_list = mainw->multi_opts.aparam_view_list; + } else { + mt->opts.move_effects = TRUE; + mt->opts.fx_auto_preview = TRUE; + mt->opts.snap_over = FALSE; + mt->opts.mouse_mode = MOUSE_MODE_MOVE; + mt->opts.show_audio = TRUE; + mt->opts.show_ctx = TRUE; + mt->opts.ign_ins_sel = FALSE; + mt->opts.follow_playback = TRUE; + mt->opts.grav_mode = GRAV_MODE_NORMAL; + mt->opts.insert_mode = INSERT_MODE_NORMAL; + mt->opts.autocross_audio = TRUE; + mt->opts.render_vidp = TRUE; + mt->opts.render_audp = TRUE; + mt->opts.normalise_audp = TRUE; + mt->opts.aparam_view_list = NULL; + } + + mt->opts.insert_audio = TRUE; + + mt->opts.pertrack_audio = prefs->mt_pertrack_audio; + mt->opts.audio_bleedthru = FALSE; + mt->opts.gang_audio = TRUE; + mt->opts.back_audio_tracks = 1; + + if (force_pertrack_audio) mt->opts.pertrack_audio = TRUE; + force_pertrack_audio = FALSE; + + mt->tl_fixed_length = 0.; + mt->ptr_time = 0.; + mt->video_draws = NULL; + mt->block_selected = NULL; + mt->event_list = event_list; mt->accel_group = LIVES_ACCEL_GROUP(lives_accel_group_new()); - mt->fps=fps; - mt->hotspot_x=mt->hotspot_y=0; - mt->redraw_block=FALSE; + mt->fps = fps; + mt->hotspot_x = mt->hotspot_y = 0; + mt->redraw_block = FALSE; - mt->region_start=mt->region_end=0.; - mt->region_updating=FALSE; - mt->is_rendering=FALSE; - mt->pr_audio=FALSE; - mt->selected_tracks=NULL; - mt->mt_frame_preview=FALSE; - mt->current_rfx=NULL; - mt->current_fx=-1; - mt->putative_block=NULL; - mt->specific_event=NULL; + mt->region_start = mt->region_end = 0.; + mt->region_updating = FALSE; + mt->is_rendering = FALSE; + mt->pr_audio = FALSE; + mt->selected_tracks = NULL; + mt->mt_frame_preview = FALSE; + mt->current_rfx = NULL; + mt->current_fx = -1; + mt->putative_block = NULL; + mt->specific_event = NULL; - mt->block_tl_move=FALSE; - mt->block_node_spin=FALSE; + mt->block_tl_move = FALSE; + mt->block_node_spin = FALSE; - mt->is_atrans=FALSE; + mt->is_atrans = FALSE; - mt->last_fx_type=MT_LAST_FX_NONE; + mt->last_fx_type = MT_LAST_FX_NONE; - mt->display=mainw->mgeom[prefs->gui_monitor==0?0:prefs->gui_monitor-1].disp; + mt->display = mainw->mgeom[prefs->gui_monitor == 0 ? 0 : prefs->gui_monitor - 1].disp; - mt->moving_block=FALSE; + mt->moving_block = FALSE; - mt->insert_start=mt->insert_end=-1; - mt->insert_avel=1.; + mt->insert_start = mt->insert_end = -1; + mt->insert_avel = 1.; - mt->selected_init_event=mt->init_event=NULL; + mt->selected_init_event = mt->init_event = NULL; - mt->auto_reloading=FALSE; - mt->fm_edit_event=NULL; + mt->auto_reloading = FALSE; + mt->fm_edit_event = NULL; - mt->nb_label=NULL; - mt->fx_list_box=NULL; - mt->fx_list_scroll=NULL; + mt->nb_label = NULL; + mt->fx_list_box = NULL; + mt->fx_list_scroll = NULL; - mt->moving_fx=NULL; - mt->fx_order=FX_ORD_NONE; + mt->moving_fx = NULL; + mt->fx_order = FX_ORD_NONE; - memset(mt->layout_name,0,1); + memset(mt->layout_name, 0, 1); - mt->did_backup=FALSE; - mt->framedraw=NULL; + mt->did_backup = FALSE; + mt->framedraw = NULL; - mt->audio_draws=NULL; - mt->audio_vols=mt->audio_vols_back=NULL; - mt->amixer=NULL; - mt->ignore_load_vals=FALSE; + mt->audio_draws = NULL; + mt->audio_vols = mt->audio_vols_back = NULL; + mt->amixer = NULL; + mt->ignore_load_vals = FALSE; - mt->exact_preview=0; + mt->exact_preview = 0; - mt->context_time=-1.; - mt->use_context=FALSE; + mt->context_time = -1.; + mt->use_context = FALSE; - mt->no_expose=TRUE; + mt->no_expose = TRUE; - mt->is_paused=FALSE; + mt->is_paused = FALSE; - mt->pb_start_event=NULL; + mt->pb_start_event = NULL; - mt->aud_track_selected=FALSE; + mt->aud_track_selected = FALSE; - mt->has_audio_file=FALSE; + mt->has_audio_file = FALSE; - mt->fx_params_label=NULL; - mt->fx_box=NULL; + mt->fx_params_label = NULL; + mt->fx_box = NULL; - mt->selected_filter=-1; + mt->selected_filter = -1; - mt->top_track=0; + mt->top_track = 0; - mt->cb_list=NULL; + mt->cb_list = NULL; - if (mainw->fx_candidates[FX_CANDIDATE_AUDIO_VOL].delegate!=-1) { + if (mainw->fx_candidates[FX_CANDIDATE_AUDIO_VOL].delegate != -1) { // user (or system) has delegated an audio volume filter from the candidates - mt->avol_fx=LIVES_POINTER_TO_INT(lives_list_nth_data(mainw->fx_candidates[FX_CANDIDATE_AUDIO_VOL].list, - mainw->fx_candidates[FX_CANDIDATE_AUDIO_VOL].delegate)); - } else mt->avol_fx=-1; - mt->avol_init_event=NULL; - - if (prefs->mt_enter_prompt&&rdet!=NULL) { - mt->user_width=rdet->width; - mt->user_height=rdet->height; - mt->user_fps=rdet->fps; - mt->user_arate=xarate; - mt->user_achans=xachans; - mt->user_asamps=xasamps; - mt->user_signed_endian=xse; - mt->opts.pertrack_audio=ptaud; - mt->opts.back_audio_tracks=btaud; + mt->avol_fx = LIVES_POINTER_TO_INT(lives_list_nth_data(mainw->fx_candidates[FX_CANDIDATE_AUDIO_VOL].list, + mainw->fx_candidates[FX_CANDIDATE_AUDIO_VOL].delegate)); + } else mt->avol_fx = -1; + mt->avol_init_event = NULL; + + if (prefs->mt_enter_prompt && rdet != NULL) { + mt->user_width = rdet->width; + mt->user_height = rdet->height; + mt->user_fps = rdet->fps; + mt->user_arate = xarate; + mt->user_achans = xachans; + mt->user_asamps = xasamps; + mt->user_signed_endian = xse; + mt->opts.pertrack_audio = ptaud; + mt->opts.back_audio_tracks = btaud; lives_free(rdet->encoder_name); lives_freep((void **)&rdet); lives_freep((void **)&resaudw); } - if (force_backing_tracks>mt->opts.back_audio_tracks) mt->opts.back_audio_tracks=force_backing_tracks; - force_backing_tracks=0; + if (force_backing_tracks > mt->opts.back_audio_tracks) mt->opts.back_audio_tracks = force_backing_tracks; + force_backing_tracks = 0; mt->window = lives_window_new(LIVES_WINDOW_TOPLEVEL); - lives_window_set_hide_titlebar_when_maximized(LIVES_WINDOW(mt->window),FALSE); + lives_window_set_hide_titlebar_when_maximized(LIVES_WINDOW(mt->window), FALSE); #ifdef GUI_GTK - gtk_drag_dest_set(mt->window,GTK_DEST_DEFAULT_ALL,mainw->target_table,2, - (GdkDragAction)(GDK_ACTION_COPY|GDK_ACTION_MOVE|GDK_ACTION_LINK)); + gtk_drag_dest_set(mt->window, GTK_DEST_DEFAULT_ALL, mainw->target_table, 2, + (GdkDragAction)(GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK)); lives_signal_connect(LIVES_GUI_OBJECT(mt->window), LIVES_WIDGET_DRAG_DATA_RECEIVED_SIGNAL, LIVES_GUI_CALLBACK(drag_from_outside), NULL); #endif - - mt->top_vbox = lives_vbox_new(FALSE, 0); lives_container_add(LIVES_CONTAINER(mt->window), mt->top_vbox); @@ -6414,7 +6291,6 @@ mt->menubar = lives_menu_bar_new(); lives_box_pack_start(LIVES_BOX(mt->menu_hbox), mt->menubar, FALSE, FALSE, 0); - // File menuitem = lives_menu_item_new_with_mnemonic(_("_File")); lives_container_add(LIVES_CONTAINER(mt->menubar), menuitem); @@ -6444,12 +6320,11 @@ // TODO, show these options but show error if no mplayer / mplayer2 - #ifdef HAVE_WEBM mt->open_loc_menu = lives_menu_item_new_with_mnemonic(_("Open _Location/Stream...")); lives_container_add(LIVES_CONTAINER(menuitem_menu2), mt->open_loc_menu); - open_loc_submenu=lives_menu_new(); + open_loc_submenu = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mt->open_loc_menu), open_loc_submenu); menuitem = lives_menu_item_new_with_mnemonic(_("Open _Youtube Clip...")); @@ -6473,12 +6348,10 @@ LIVES_GUI_CALLBACK(on_open_loc_activate), NULL); - - #ifdef ENABLE_DVD_GRAB mt->vcd_dvd_menu = lives_menu_item_new_with_mnemonic(_("Import Selection from _dvd/vcd...")); lives_container_add(LIVES_CONTAINER(menuitem_menu2), mt->vcd_dvd_menu); - vcd_dvd_submenu=lives_menu_new(); + vcd_dvd_submenu = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mt->vcd_dvd_menu), vcd_dvd_submenu); menuitem = lives_menu_item_new_with_mnemonic(_("Import Selection from _dvd")); @@ -6488,7 +6361,6 @@ LIVES_GUI_CALLBACK(on_open_vcd_activate), LIVES_INT_TO_POINTER(1)); - # endif menuitem = lives_menu_item_new_with_mnemonic(_("Import Selection from _vcd")); @@ -6503,21 +6375,18 @@ LIVES_GUI_CALLBACK(on_open_vcd_activate), LIVES_INT_TO_POINTER(2)); - - #ifdef HAVE_LDVGRAB mt->device_menu = lives_menu_item_new_with_mnemonic(_("_Import from Device")); lives_container_add(LIVES_CONTAINER(menuitem_menu2), mt->device_menu); - device_submenu=lives_menu_new(); + device_submenu = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mt->device_menu), device_submenu); - if (capable->has_mplayer||capable->has_mplayer2) { + if (capable->has_mplayer || capable->has_mplayer2) { menuitem = lives_menu_item_new_with_mnemonic(_("Import from _Firewire Device (dv)")); lives_container_add(LIVES_CONTAINER(device_submenu), menuitem); - lives_signal_connect(LIVES_GUI_OBJECT(menuitem), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(on_open_fw_activate), LIVES_INT_TO_POINTER(CAM_FORMAT_DV)); @@ -6532,7 +6401,6 @@ #endif - mt->close = lives_menu_item_new_with_mnemonic(_("_Close the Selected Clip")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->close); @@ -6540,8 +6408,7 @@ LIVES_GUI_CALLBACK(on_close_activate), NULL); - lives_widget_set_sensitive(mt->close,FALSE); - + lives_widget_set_sensitive(mt->close, FALSE); lives_widget_add_accelerator(mt->close, LIVES_WIDGET_ACTIVATE_SIGNAL, mt->accel_group, LIVES_KEY_w, LIVES_CONTROL_MASK, @@ -6549,24 +6416,24 @@ mt->recent_menu = lives_menu_item_new_with_mnemonic(_("_Recent Files...")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->recent_menu); - recent_submenu=lives_menu_new(); + recent_submenu = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mt->recent_menu), recent_submenu); - memset(buff,0,1); + memset(buff, 0, 1); - get_pref_utf8(PREF_RECENT1,buff,32768); + get_pref_utf8(PREF_RECENT1, buff, 32768); mt->recent1 = lives_menu_item_new_with_label(buff); - get_pref_utf8(PREF_RECENT2,buff,32768); + get_pref_utf8(PREF_RECENT2, buff, 32768); mt->recent2 = lives_menu_item_new_with_label(buff); - get_pref_utf8(PREF_RECENT3,buff,32768); + get_pref_utf8(PREF_RECENT3, buff, 32768); mt->recent3 = lives_menu_item_new_with_label(buff); - get_pref_utf8(PREF_RECENT4,buff,32768); + get_pref_utf8(PREF_RECENT4, buff, 32768); mt->recent4 = lives_menu_item_new_with_label(buff); @@ -6588,7 +6455,6 @@ LIVES_GUI_CALLBACK(on_recent_activate), LIVES_INT_TO_POINTER(4)); - separator = lives_menu_item_new(); lives_container_add(LIVES_CONTAINER(menuitem_menu), separator); lives_widget_set_sensitive(separator, FALSE); @@ -6622,7 +6488,7 @@ mt->load_event_list = lives_image_menu_item_new_with_mnemonic(_("_Load Layout...")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->load_event_list); - lives_widget_set_sensitive(mt->load_event_list, strlen(mainw->set_name)>0); + lives_widget_set_sensitive(mt->load_event_list, strlen(mainw->set_name) > 0); mt->clear_event_list = lives_image_menu_item_new_with_mnemonic(_("_Wipe/Delete Layout...")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->clear_event_list); @@ -6631,8 +6497,7 @@ LIVES_KEY_d, LIVES_CONTROL_MASK, LIVES_ACCEL_VISIBLE); - lives_widget_set_sensitive(mt->clear_event_list,mt->event_list!=NULL); - + lives_widget_set_sensitive(mt->clear_event_list, mt->event_list != NULL); separator = lives_menu_item_new(); lives_container_add(LIVES_CONTAINER(menuitem_menu), separator); @@ -6651,11 +6516,11 @@ mt->load_vals = lives_check_menu_item_new_with_mnemonic(_("_Ignore Width, Height and Audio Values from Loaded Layouts")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->load_vals); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->load_vals),mt->ignore_load_vals); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->load_vals), mt->ignore_load_vals); mt->aload_subs = lives_check_menu_item_new_with_mnemonic(_("Auto Load _Subtitles with Clips")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->aload_subs); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->aload_subs),prefs->autoload_subs); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->aload_subs), prefs->autoload_subs); separator = lives_menu_item_new(); lives_container_add(LIVES_CONTAINER(menuitem_menu), separator); @@ -6689,10 +6554,10 @@ lives_image_menu_item_set_image(LIVES_IMAGE_MENU_ITEM(mt->undo), image); #endif - if (mt->undo_offset==lives_list_length(mt->undos)) mt_set_undoable(mt,MT_UNDO_NONE,NULL,FALSE); + if (mt->undo_offset == lives_list_length(mt->undos)) mt_set_undoable(mt, MT_UNDO_NONE, NULL, FALSE); else { - mt_undo *undo=(mt_undo *)(lives_list_nth_data(mt->undos,lives_list_length(mt->undos)-mt->undo_offset-1)); - mt_set_undoable(mt,undo->action,undo->extra,TRUE); + mt_undo *undo = (mt_undo *)(lives_list_nth_data(mt->undos, lives_list_length(mt->undos) - mt->undo_offset - 1)); + mt_set_undoable(mt, undo->action, undo->extra, TRUE); } lives_signal_connect(LIVES_GUI_OBJECT(mt->undo), LIVES_WIDGET_ACTIVATE_SIGNAL, @@ -6712,10 +6577,10 @@ lives_image_menu_item_set_image(LIVES_IMAGE_MENU_ITEM(mt->redo), image); #endif - if (mt->undo_offset<=1) mt_set_redoable(mt,MT_UNDO_NONE,NULL,FALSE); + if (mt->undo_offset <= 1) mt_set_redoable(mt, MT_UNDO_NONE, NULL, FALSE); else { - mt_undo *redo=(mt_undo *)(lives_list_nth_data(mt->undos,lives_list_length(mt->undos)-mt->undo_offset)); - mt_set_redoable(mt,redo->action,redo->extra,TRUE); + mt_undo *redo = (mt_undo *)(lives_list_nth_data(mt->undos, lives_list_length(mt->undos) - mt->undo_offset)); + mt_set_redoable(mt, redo->action, redo->extra, TRUE); } lives_signal_connect(LIVES_GUI_OBJECT(mt->redo), LIVES_WIDGET_ACTIVATE_SIGNAL, @@ -6726,7 +6591,6 @@ lives_container_add(LIVES_CONTAINER(menuitem_menu), separator); lives_widget_set_sensitive(separator, FALSE); - mt->clipedit = lives_image_menu_item_new_with_mnemonic(_("_CLIP EDITOR")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->clipedit); @@ -6734,7 +6598,6 @@ LIVES_KEY_e, LIVES_CONTROL_MASK, LIVES_ACCEL_VISIBLE); - separator = lives_menu_item_new(); lives_container_add(LIVES_CONTAINER(menuitem_menu), separator); lives_widget_set_sensitive(separator, FALSE); @@ -6759,7 +6622,6 @@ (LiVESAccelFlags)0); lives_widget_set_sensitive(mt->insert, FALSE); - mt->audio_insert = lives_image_menu_item_new_with_mnemonic(_("_Insert Selected Clip Audio")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->audio_insert); @@ -6768,12 +6630,10 @@ LIVES_ACCEL_VISIBLE); lives_widget_set_sensitive(mt->audio_insert, FALSE); - mt->delblock = lives_image_menu_item_new_with_mnemonic(_("_Delete Selected Block")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->delblock); lives_widget_set_sensitive(mt->delblock, FALSE); - // TODO /* lives_widget_add_accelerator (mt->delblock, LIVES_WIDGET_ACTIVATE_SIGNAL, mt->accel_group, @@ -6805,7 +6665,7 @@ mt->clear_marks = lives_image_menu_item_new_with_mnemonic(_("Clear _Marks from Timeline")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->clear_marks); - lives_widget_set_sensitive(mt->clear_marks,FALSE); + lives_widget_set_sensitive(mt->clear_marks, FALSE); separator = lives_menu_item_new(); lives_container_add(LIVES_CONTAINER(menuitem_menu), separator); @@ -6813,7 +6673,7 @@ ign_ins_sel = lives_check_menu_item_new_with_mnemonic(_("Ignore Selection Limits when Inserting")); lives_container_add(LIVES_CONTAINER(menuitem_menu), ign_ins_sel); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(ign_ins_sel),mt->opts.ign_ins_sel); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(ign_ins_sel), mt->opts.ign_ins_sel); // Play @@ -6829,7 +6689,6 @@ LIVES_ACCEL_VISIBLE); lives_widget_set_sensitive(mt->playall, FALSE); - lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->playall); #if LIVES_HAS_IMAGE_MENU_ITEM @@ -6876,7 +6735,7 @@ full_screen = lives_check_menu_item_new_with_mnemonic(_("_Full Screen")); lives_container_add(LIVES_CONTAINER(menuitem_menu), full_screen); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(full_screen),mainw->fs); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(full_screen), mainw->fs); lives_widget_add_accelerator(full_screen, LIVES_WIDGET_ACTIVATE_SIGNAL, mt->accel_group, LIVES_KEY_f, (LiVESXModifierType)0, @@ -6884,7 +6743,7 @@ mt->sepwin = lives_check_menu_item_new_with_mnemonic(_("Play in _Separate Window")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->sepwin); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->sepwin),mainw->sep_win); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->sepwin), mainw->sep_win); lives_widget_add_accelerator(mt->sepwin, LIVES_WIDGET_ACTIVATE_SIGNAL, mt->accel_group, LIVES_KEY_s, (LiVESXModifierType)0, @@ -6892,7 +6751,7 @@ mt->loop_continue = lives_check_menu_item_new_with_mnemonic(_("L_oop Continuously")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->loop_continue); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->loop_continue),mainw->loop_cont); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->loop_continue), mainw->loop_cont); lives_widget_add_accelerator(mt->loop_continue, LIVES_WIDGET_ACTIVATE_SIGNAL, mt->accel_group, LIVES_KEY_o, (LiVESXModifierType)0, @@ -6900,14 +6759,12 @@ mt->mute_audio = lives_check_menu_item_new_with_mnemonic(_("_Mute")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->mute_audio); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->mute_audio),mainw->mute); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->mute_audio), mainw->mute); lives_widget_add_accelerator(mt->mute_audio, LIVES_WIDGET_ACTIVATE_SIGNAL, mt->accel_group, LIVES_KEY_z, (LiVESXModifierType)0, LIVES_ACCEL_VISIBLE); - - // Effects menuitem = lives_menu_item_new_with_mnemonic(_("Effect_s")); @@ -6918,7 +6775,7 @@ mt->move_fx = lives_check_menu_item_new_with_mnemonic(_("_Move Effects with Blocks")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->move_fx); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->move_fx),mt->opts.move_effects); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->move_fx), mt->opts.move_effects); lives_signal_connect_after(LIVES_GUI_OBJECT(mt->move_fx), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(on_move_fx_changed), @@ -6928,16 +6785,15 @@ lives_container_add(LIVES_CONTAINER(menuitem_menu), separator); lives_widget_set_sensitive(separator, FALSE); - mt->atrans_menuitem = lives_menu_item_new_with_mnemonic(_("Select _Autotransition Effect...")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->atrans_menuitem); - mt->submenu_atransfx=lives_menu_new(); + mt->submenu_atransfx = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mt->atrans_menuitem), mt->submenu_atransfx); mt->ac_audio_check = lives_check_menu_item_new_with_mnemonic(_("Crossfade Audio with Autotransition")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->ac_audio_check); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->ac_audio_check),mt->opts.autocross_audio); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->ac_audio_check), mt->opts.autocross_audio); separator = lives_menu_item_new(); lives_container_add(LIVES_CONTAINER(menuitem_menu), separator); @@ -6945,11 +6801,11 @@ mt->fx_edit = lives_menu_item_new_with_mnemonic(_("View/_Edit Selected Effect")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->fx_edit); - lives_widget_set_sensitive(mt->fx_edit,FALSE); + lives_widget_set_sensitive(mt->fx_edit, FALSE); mt->fx_delete = lives_menu_item_new_with_mnemonic(_("_Delete Selected Effect")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->fx_delete); - lives_widget_set_sensitive(mt->fx_delete,FALSE); + lives_widget_set_sensitive(mt->fx_delete, FALSE); separator = lives_menu_item_new(); lives_container_add(LIVES_CONTAINER(menuitem_menu), separator); @@ -6958,212 +6814,207 @@ mt->fx_block = lives_menu_item_new_with_mnemonic(_("Apply Effect to _Block...")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->fx_block); - submenu_menu=lives_menu_new(); + submenu_menu = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mt->fx_block), submenu_menu); - tname=lives_fx_cat_to_text(LIVES_FX_CAT_VIDEO_EFFECT,TRUE); // video effects - cname=lives_strdup_printf("_%s...",tname); + tname = lives_fx_cat_to_text(LIVES_FX_CAT_VIDEO_EFFECT, TRUE); // video effects + cname = lives_strdup_printf("_%s...", tname); lives_free(tname); mt->fx_blockv = lives_menu_item_new_with_mnemonic(cname); lives_free(cname); - lives_container_add(LIVES_CONTAINER(submenu_menu), mt->fx_blockv); - submenu_menuv=lives_menu_new(); + submenu_menuv = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mt->fx_blockv), submenu_menuv); - tname=lives_fx_cat_to_text(LIVES_FX_CAT_AUDIO_EFFECT,TRUE); // audio effects - cname=lives_strdup_printf("_%s...",tname); + tname = lives_fx_cat_to_text(LIVES_FX_CAT_AUDIO_EFFECT, TRUE); // audio effects + cname = lives_strdup_printf("_%s...", tname); lives_free(tname); mt->fx_blocka = lives_menu_item_new_with_mnemonic(cname); lives_free(cname); - lives_container_add(LIVES_CONTAINER(submenu_menu), mt->fx_blocka); - submenu_menua=lives_menu_new(); + submenu_menua = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mt->fx_blocka), submenu_menua); - lives_widget_set_sensitive(mt->fx_blockv,FALSE); - lives_widget_set_sensitive(mt->fx_blocka,FALSE); - lives_widget_set_sensitive(mt->fx_block,FALSE); + lives_widget_set_sensitive(mt->fx_blockv, FALSE); + lives_widget_set_sensitive(mt->fx_blocka, FALSE); + lives_widget_set_sensitive(mt->fx_block, FALSE); mt->fx_region = lives_menu_item_new_with_mnemonic(_("Apply Effect to _Region...")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->fx_region); - submenu_menu2=lives_menu_new(); + submenu_menu2 = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mt->fx_region), submenu_menu2); - tname=lives_fx_cat_to_text(LIVES_FX_CAT_EFFECT,TRUE); // effects - cname=lives_strdup_printf("_%s...",tname); + tname = lives_fx_cat_to_text(LIVES_FX_CAT_EFFECT, TRUE); // effects + cname = lives_strdup_printf("_%s...", tname); lives_free(tname); mt->fx_region_1 = lives_menu_item_new_with_mnemonic(cname); lives_free(cname); lives_container_add(LIVES_CONTAINER(submenu_menu2), mt->fx_region_1); - - submenu_menu3=lives_menu_new(); + submenu_menu3 = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mt->fx_region_1), submenu_menu3); - tname=lives_fx_cat_to_text(LIVES_FX_CAT_VIDEO_EFFECT,TRUE); // video effects - cname=lives_strdup_printf("_%s...",tname); + tname = lives_fx_cat_to_text(LIVES_FX_CAT_VIDEO_EFFECT, TRUE); // video effects + cname = lives_strdup_printf("_%s...", tname); lives_free(tname); mt->fx_region_1v = lives_menu_item_new_with_mnemonic(cname); lives_free(cname); lives_container_add(LIVES_CONTAINER(submenu_menu3), mt->fx_region_1v); - submenu_menu4v=lives_menu_new(); + submenu_menu4v = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mt->fx_region_1v), submenu_menu4v); - tname=lives_fx_cat_to_text(LIVES_FX_CAT_AUDIO_EFFECT,TRUE); // audio effects - cname=lives_strdup_printf("_%s...",tname); + tname = lives_fx_cat_to_text(LIVES_FX_CAT_AUDIO_EFFECT, TRUE); // audio effects + cname = lives_strdup_printf("_%s...", tname); lives_free(tname); mt->fx_region_1a = lives_menu_item_new_with_mnemonic(cname); lives_free(cname); lives_container_add(LIVES_CONTAINER(submenu_menu3), mt->fx_region_1a); - submenu_menu4a=lives_menu_new(); + submenu_menu4a = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mt->fx_region_1a), submenu_menu4a); - tname=lives_fx_cat_to_text(LIVES_FX_CAT_TRANSITION,TRUE); // transitions - cname=lives_strdup_printf("_%s...",tname); + tname = lives_fx_cat_to_text(LIVES_FX_CAT_TRANSITION, TRUE); // transitions + cname = lives_strdup_printf("_%s...", tname); lives_free(tname); mt->fx_region_2 = lives_menu_item_new_with_mnemonic(cname); lives_free(cname); lives_container_add(LIVES_CONTAINER(submenu_menu2), mt->fx_region_2); - submenu_menu4=lives_menu_new(); + submenu_menu4 = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mt->fx_region_2), submenu_menu4); - tname=lives_fx_cat_to_text(LIVES_FX_CAT_AV_TRANSITION,TRUE); //audio/video transitions - cname=lives_strdup_printf("_%s...",tname); + tname = lives_fx_cat_to_text(LIVES_FX_CAT_AV_TRANSITION, TRUE); //audio/video transitions + cname = lives_strdup_printf("_%s...", tname); lives_free(tname); mt->fx_region_2av = lives_menu_item_new_with_mnemonic(cname); lives_free(cname); lives_container_add(LIVES_CONTAINER(submenu_menu4), mt->fx_region_2av); - submenu_menu10=lives_menu_new(); + submenu_menu10 = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mt->fx_region_2av), submenu_menu10); - tname=lives_fx_cat_to_text(LIVES_FX_CAT_VIDEO_TRANSITION,TRUE); //video only transitions - cname=lives_strdup_printf("_%s...",tname); + tname = lives_fx_cat_to_text(LIVES_FX_CAT_VIDEO_TRANSITION, TRUE); //video only transitions + cname = lives_strdup_printf("_%s...", tname); lives_free(tname); mt->fx_region_2v = lives_menu_item_new_with_mnemonic(cname); lives_free(cname); lives_container_add(LIVES_CONTAINER(submenu_menu4), mt->fx_region_2v); - submenu_menu11=lives_menu_new(); + submenu_menu11 = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mt->fx_region_2v), submenu_menu11); - tname=lives_fx_cat_to_text(LIVES_FX_CAT_AUDIO_TRANSITION,TRUE); //audio only transitions - cname=lives_strdup_printf("_%s...",tname); + tname = lives_fx_cat_to_text(LIVES_FX_CAT_AUDIO_TRANSITION, TRUE); //audio only transitions + cname = lives_strdup_printf("_%s...", tname); lives_free(tname); mt->fx_region_2a = lives_menu_item_new_with_mnemonic(cname); lives_free(cname); lives_container_add(LIVES_CONTAINER(submenu_menu4), mt->fx_region_2a); - submenu_menu12=lives_menu_new(); + submenu_menu12 = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mt->fx_region_2a), submenu_menu12); - tname=lives_fx_cat_to_text(LIVES_FX_CAT_COMPOSITOR,TRUE); // compositors - cname=lives_strdup_printf("_%s...",tname); + tname = lives_fx_cat_to_text(LIVES_FX_CAT_COMPOSITOR, TRUE); // compositors + cname = lives_strdup_printf("_%s...", tname); lives_free(tname); mt->fx_region_3 = lives_menu_item_new_with_mnemonic(cname); lives_free(cname); lives_container_add(LIVES_CONTAINER(submenu_menu2), mt->fx_region_3); - submenu_menu5=lives_menu_new(); + submenu_menu5 = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mt->fx_region_3), submenu_menu5); - num_filters=rte_get_numfilters(FALSE); - for (i=0; i<num_filters; i++) { - weed_plant_t *filter=get_weed_filter(i); - if (filter!=NULL&&!weed_plant_has_leaf(filter,WEED_LEAF_HOST_MENU_HIDE)) { + num_filters = rte_get_numfilters(FALSE); + for (i = 0; i < num_filters; i++) { + weed_plant_t *filter = get_weed_filter(i); + if (filter != NULL && !weed_plant_has_leaf(filter, WEED_LEAF_HOST_MENU_HIDE)) { LiVESWidget *menuitem; - char *fname=weed_filter_idx_get_name(i),*fxname; - if (weed_plant_has_leaf(filter,WEED_LEAF_PLUGIN_UNSTABLE)&& - weed_get_boolean_value(filter,WEED_LEAF_PLUGIN_UNSTABLE,&error)==WEED_TRUE) { + char *fname = weed_filter_idx_get_name(i), *fxname; + if (weed_plant_has_leaf(filter, WEED_LEAF_PLUGIN_UNSTABLE) && + weed_get_boolean_value(filter, WEED_LEAF_PLUGIN_UNSTABLE, &error) == WEED_TRUE) { if (!prefs->unstable_fx) { lives_free(fname); continue; } - fxname=lives_strdup_printf(_("%s [unstable]"),fname); - } else fxname=lives_strdup(fname); + fxname = lives_strdup_printf(_("%s [unstable]"), fname); + } else fxname = lives_strdup(fname); - if (enabled_in_channels(filter,TRUE)>=1000000&&enabled_out_channels(filter,FALSE)==1) { + if (enabled_in_channels(filter, TRUE) >= 1000000 && enabled_out_channels(filter, FALSE) == 1) { menuitem = lives_image_menu_item_new_with_label(fxname); lives_container_add(LIVES_CONTAINER(submenu_menu5), menuitem); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(menuitem),"idx",LIVES_INT_TO_POINTER(i)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(menuitem), "idx", LIVES_INT_TO_POINTER(i)); lives_signal_connect(LIVES_GUI_OBJECT(menuitem), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(mt_add_region_effect), (livespointer)mt); - } else if (enabled_in_channels(filter,FALSE)==1&&enabled_out_channels(filter,FALSE)==1) { + } else if (enabled_in_channels(filter, FALSE) == 1 && enabled_out_channels(filter, FALSE) == 1) { // add all filter effects to submenus menuitem = lives_image_menu_item_new_with_label(fxname); - if (!is_pure_audio(filter,FALSE)) { + if (!is_pure_audio(filter, FALSE)) { lives_container_add(LIVES_CONTAINER(submenu_menuv), menuitem); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(menuitem),"idx",LIVES_INT_TO_POINTER(i)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(menuitem), "idx", LIVES_INT_TO_POINTER(i)); lives_signal_connect(LIVES_GUI_OBJECT(menuitem), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(mt_add_block_effect), (livespointer)mt); menuitem = lives_image_menu_item_new_with_label(fxname); lives_container_add(LIVES_CONTAINER(submenu_menu4v), menuitem); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(menuitem),"idx",LIVES_INT_TO_POINTER(i)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(menuitem), "idx", LIVES_INT_TO_POINTER(i)); lives_signal_connect(LIVES_GUI_OBJECT(menuitem), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(mt_add_region_effect), (livespointer)mt); } else { lives_container_add(LIVES_CONTAINER(submenu_menua), menuitem); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(menuitem),"idx",LIVES_INT_TO_POINTER(i)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(menuitem), "idx", LIVES_INT_TO_POINTER(i)); lives_signal_connect(LIVES_GUI_OBJECT(menuitem), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(mt_add_block_effect), (livespointer)mt); menuitem = lives_image_menu_item_new_with_label(fxname); lives_container_add(LIVES_CONTAINER(submenu_menu4a), menuitem); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(menuitem),"idx",LIVES_INT_TO_POINTER(i)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(menuitem), "idx", LIVES_INT_TO_POINTER(i)); lives_signal_connect(LIVES_GUI_OBJECT(menuitem), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(mt_add_region_effect), (livespointer)mt); } - - } else if (enabled_in_channels(filter,FALSE)==2&&enabled_out_channels(filter,FALSE)==1) { + } else if (enabled_in_channels(filter, FALSE) == 2 && enabled_out_channels(filter, FALSE) == 1) { // add all transitions to submenus menuitem = lives_image_menu_item_new_with_label(fxname); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(menuitem),"idx",LIVES_INT_TO_POINTER(i)); - if (get_transition_param(filter,FALSE)==-1) lives_container_add(LIVES_CONTAINER(submenu_menu11), menuitem); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(menuitem), "idx", LIVES_INT_TO_POINTER(i)); + if (get_transition_param(filter, FALSE) == -1) lives_container_add(LIVES_CONTAINER(submenu_menu11), menuitem); else { - if (has_video_chans_in(filter,FALSE)) { + if (has_video_chans_in(filter, FALSE)) { /// the autotransitions menu menuitem2 = lives_check_menu_item_new_with_label(fxname); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(menuitem2),prefs->atrans_fx==i); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(menuitem2),"idx",LIVES_INT_TO_POINTER(i)); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(menuitem2), prefs->atrans_fx == i); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(menuitem2), "idx", LIVES_INT_TO_POINTER(i)); lives_signal_connect(LIVES_GUI_OBJECT(menuitem2), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(mt_set_atrans_effect), (livespointer)mt); - - if (!strcmp(fname,prefs->def_autotrans)) { - lives_menu_shell_prepend(LIVES_MENU_SHELL(mt->submenu_atransfx),menuitem2); - } else lives_menu_shell_append(LIVES_MENU_SHELL(mt->submenu_atransfx),menuitem2); + if (!strcmp(fname, prefs->def_autotrans)) { + lives_menu_shell_prepend(LIVES_MENU_SHELL(mt->submenu_atransfx), menuitem2); + } else lives_menu_shell_append(LIVES_MENU_SHELL(mt->submenu_atransfx), menuitem2); /// apply block effect menu lives_container_add(LIVES_CONTAINER(submenu_menu10), menuitem); } else lives_container_add(LIVES_CONTAINER(submenu_menu12), menuitem); @@ -7179,26 +7030,20 @@ /// None autotransition menuitem2 = lives_check_menu_item_new_with_label(mainw->string_constants[LIVES_STRING_CONSTANT_NONE]); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(menuitem2),"idx",LIVES_INT_TO_POINTER(-1)); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(menuitem2),prefs->atrans_fx==-1); - lives_menu_shell_prepend(LIVES_MENU_SHELL(mt->submenu_atransfx),menuitem2); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(menuitem2), "idx", LIVES_INT_TO_POINTER(-1)); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(menuitem2), prefs->atrans_fx == -1); + lives_menu_shell_prepend(LIVES_MENU_SHELL(mt->submenu_atransfx), menuitem2); lives_signal_connect(LIVES_GUI_OBJECT(menuitem2), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(mt_set_atrans_effect), (livespointer)mt); + lives_widget_set_sensitive(mt->fx_region, FALSE); + lives_widget_set_sensitive(mt->fx_region_1, FALSE); + lives_widget_set_sensitive(mt->fx_region_1v, FALSE); + lives_widget_set_sensitive(mt->fx_region_1a, FALSE); - - - - - lives_widget_set_sensitive(mt->fx_region,FALSE); - lives_widget_set_sensitive(mt->fx_region_1,FALSE); - lives_widget_set_sensitive(mt->fx_region_1v,FALSE); - lives_widget_set_sensitive(mt->fx_region_1a,FALSE); - - if (!mt->opts.pertrack_audio) lives_widget_set_sensitive(mt->fx_region_2a,FALSE); - + if (!mt->opts.pertrack_audio) lives_widget_set_sensitive(mt->fx_region_2a, FALSE); // Tracks @@ -7215,7 +7060,6 @@ lives_container_add(LIVES_CONTAINER(menuitem_menu), separator); lives_widget_set_sensitive(separator, FALSE); - mt->cback_audio = lives_image_menu_item_new_with_mnemonic(_("Make _Backing Audio Current Track")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->cback_audio); @@ -7239,15 +7083,13 @@ lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->add_vid_front); lives_widget_add_accelerator(mt->add_vid_front, LIVES_WIDGET_ACTIVATE_SIGNAL, mt->accel_group, - LIVES_KEY_t, (LiVESXModifierType)(LIVES_CONTROL_MASK|LIVES_SHIFT_MASK), + LIVES_KEY_t, (LiVESXModifierType)(LIVES_CONTROL_MASK | LIVES_SHIFT_MASK), LIVES_ACCEL_VISIBLE); - separator = lives_menu_item_new(); lives_container_add(LIVES_CONTAINER(menuitem_menu), separator); lives_widget_set_sensitive(separator, FALSE); - menuitem = lives_menu_item_new_with_mnemonic(_("_Split Current Track at Cursor")); lives_container_add(LIVES_CONTAINER(menuitem_menu), menuitem); @@ -7259,7 +7101,6 @@ LIVES_KEY_s, (LiVESXModifierType)LIVES_CONTROL_MASK, LIVES_ACCEL_VISIBLE); - mt->split_sel = lives_menu_item_new_with_mnemonic(_("_Split Selected Video Tracks")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->split_sel); lives_widget_set_sensitive(mt->split_sel, FALSE); @@ -7268,7 +7109,6 @@ LIVES_GUI_CALLBACK(on_split_sel_activate), (livespointer)mt); - separator = lives_menu_item_new(); lives_container_add(LIVES_CONTAINER(menuitem_menu), separator); lives_widget_set_sensitive(separator, FALSE); @@ -7315,8 +7155,6 @@ LIVES_KEY_f, LIVES_CONTROL_MASK, LIVES_ACCEL_VISIBLE); - - // Selection menuitem = lives_menu_item_new_with_mnemonic(_("Se_lection")); @@ -7405,8 +7243,8 @@ LIVES_GUI_CALLBACK(re_to_tc), (livespointer)mt); - lives_widget_set_sensitive(mt->rs_to_tc,FALSE); - lives_widget_set_sensitive(mt->re_to_tc,FALSE); + lives_widget_set_sensitive(mt->rs_to_tc, FALSE); + lives_widget_set_sensitive(mt->re_to_tc, FALSE); separator = lives_menu_item_new(); lives_container_add(LIVES_CONTAINER(menuitem_menu), separator); @@ -7438,12 +7276,10 @@ LIVES_GUI_CALLBACK(mt_change_vals_activate), (livespointer)mt); - separator = lives_menu_item_new(); lives_container_add(LIVES_CONTAINER(menuitem_menu), separator); lives_widget_set_sensitive(separator, FALSE); - mt->gens_submenu = lives_menu_item_new_with_mnemonic(_("_Generate")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->gens_submenu); @@ -7452,21 +7288,17 @@ lives_menu_item_set_submenu(LIVES_MENU_ITEM(mt->gens_submenu), mainw->gens_menu); - mt->capture = lives_menu_item_new_with_mnemonic(_("Capture _External Window... ")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->capture); - lives_signal_connect(LIVES_GUI_OBJECT(mt->capture), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(on_capture_activate), NULL); - separator = lives_menu_item_new(); lives_container_add(LIVES_CONTAINER(menuitem_menu), separator); lives_widget_set_sensitive(separator, FALSE); - menuitem = lives_image_menu_item_new_with_mnemonic(_("_Preferences...")); lives_container_add(LIVES_CONTAINER(menuitem_menu), menuitem); lives_widget_add_accelerator(menuitem, LIVES_WIDGET_ACTIVATE_SIGNAL, mt->accel_group, @@ -7482,8 +7314,6 @@ LIVES_GUI_CALLBACK(on_preferences_activate), NULL); - - // Render menuitem = lives_menu_item_new_with_mnemonic(_("_Render")); @@ -7502,15 +7332,13 @@ // TODO - render selected time - mt->render_sep = lives_menu_item_new(); lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->render_sep); lives_widget_set_sensitive(mt->render_sep, FALSE); mt->render_vid = lives_check_menu_item_new_with_mnemonic(_("Render _Video")); lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->render_vid), mt->opts.render_vidp); - lives_widget_set_sensitive(mt->render_vid,mt->opts.render_audp); - + lives_widget_set_sensitive(mt->render_vid, mt->opts.render_audp); lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->render_vid); @@ -7526,19 +7354,15 @@ mt->normalise_aud = lives_check_menu_item_new_with_mnemonic(_("_Normalise Rendered Audio")); lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->normalise_aud), mt->opts.normalise_audp); - lives_widget_set_sensitive(mt->normalise_aud,mt->opts.render_audp); + lives_widget_set_sensitive(mt->normalise_aud, mt->opts.render_audp); lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->normalise_aud); - - mt->prerender_aud = lives_menu_item_new_with_mnemonic(_("_Pre-render Audio")); lives_widget_set_sensitive(mt->prerender_aud, FALSE); //lives_container_add (LIVES_CONTAINER (menuitem_menu), mt->prerender_aud); - - // View menuitem = lives_menu_item_new_with_mnemonic(_("_View")); @@ -7561,7 +7385,7 @@ LIVES_KEY_n, (LiVESXModifierType)0, LIVES_ACCEL_VISIBLE); - lives_widget_set_sensitive(mt->view_in_out,FALSE); + lives_widget_set_sensitive(mt->view_in_out, FALSE); mt->view_effects = lives_menu_item_new_with_mnemonic(_("_Effects at Current")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->view_effects); @@ -7584,7 +7408,7 @@ mt->aparam_menuitem = lives_menu_item_new_with_mnemonic(_("Audio Parameters")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->aparam_menuitem); - mt->aparam_submenu=lives_menu_new(); + mt->aparam_submenu = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mt->aparam_menuitem), mt->aparam_submenu); mt->view_audio = lives_check_menu_item_new_with_mnemonic(_("Show Backing _Audio Track")); @@ -7635,7 +7459,6 @@ LIVES_KEY_Minus, (LiVESXModifierType)LIVES_CONTROL_MASK, LIVES_ACCEL_VISIBLE); - separator = lives_menu_item_new(); lives_container_add(LIVES_CONTAINER(menuitem_menu), separator); lives_widget_set_sensitive(separator, FALSE); @@ -7643,10 +7466,9 @@ view_mt_details = lives_menu_item_new_with_mnemonic(_("Multitrack _Details")); lives_container_add(LIVES_CONTAINER(menuitem_menu), view_mt_details); - mt->show_layout_errors = lives_image_menu_item_new_with_mnemonic(_("Show _Layout Errors")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->show_layout_errors); - lives_widget_set_sensitive(mt->show_layout_errors, mainw->affected_layouts_map!=NULL); + lives_widget_set_sensitive(mt->show_layout_errors, mainw->affected_layouts_map != NULL); separator = lives_menu_item_new(); lives_container_add(LIVES_CONTAINER(menuitem_menu), separator); @@ -7662,7 +7484,7 @@ show_frame_events = lives_check_menu_item_new_with_mnemonic(_("_Show FRAME Events")); lives_container_add(LIVES_CONTAINER(menuitem_menu), show_frame_events); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(show_frame_events),prefs->event_window_show_frame_events); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(show_frame_events), prefs->event_window_show_frame_events); // help menuitem = lives_menu_item_new_with_mnemonic(_("_Help")); @@ -7702,13 +7524,12 @@ separator = lives_menu_add_separator(LIVES_MENU(menuitem_menu)); - mt->troubleshoot=lives_menu_item_new_with_mnemonic(_("_Troubleshoot")); + mt->troubleshoot = lives_menu_item_new_with_mnemonic(_("_Troubleshoot")); lives_container_add(LIVES_CONTAINER(menuitem_menu), mt->troubleshoot); about = lives_menu_item_new_with_mnemonic(_("_About")); lives_container_add(LIVES_CONTAINER(menuitem_menu), about); - lives_signal_connect(LIVES_GUI_OBJECT(mt->quit), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(mt_quit_activate), (livespointer)mt); @@ -7769,18 +7590,18 @@ lives_signal_connect(LIVES_GUI_OBJECT(mt->rewind), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(on_rewind_activate), NULL); - mt->sepwin_func=lives_signal_connect(LIVES_GUI_OBJECT(mt->sepwin), LIVES_WIDGET_ACTIVATE_SIGNAL, - LIVES_GUI_CALLBACK(on_sepwin_activate), - NULL); + mt->sepwin_func = lives_signal_connect(LIVES_GUI_OBJECT(mt->sepwin), LIVES_WIDGET_ACTIVATE_SIGNAL, + LIVES_GUI_CALLBACK(on_sepwin_activate), + NULL); lives_signal_connect(LIVES_GUI_OBJECT(full_screen), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(on_full_screen_activate), NULL); - mt->loop_cont_func=lives_signal_connect(LIVES_GUI_OBJECT(mt->loop_continue), LIVES_WIDGET_ACTIVATE_SIGNAL, - LIVES_GUI_CALLBACK(on_loop_cont_activate), - NULL); - mt->mute_audio_func=lives_signal_connect(LIVES_GUI_OBJECT(mt->mute_audio), LIVES_WIDGET_ACTIVATE_SIGNAL, - LIVES_GUI_CALLBACK(on_mute_activate), - NULL); + mt->loop_cont_func = lives_signal_connect(LIVES_GUI_OBJECT(mt->loop_continue), LIVES_WIDGET_ACTIVATE_SIGNAL, + LIVES_GUI_CALLBACK(on_loop_cont_activate), + NULL); + mt->mute_audio_func = lives_signal_connect(LIVES_GUI_OBJECT(mt->mute_audio), LIVES_WIDGET_ACTIVATE_SIGNAL, + LIVES_GUI_CALLBACK(on_mute_activate), + NULL); lives_signal_connect(LIVES_GUI_OBJECT(mt->rename_track), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(on_rename_track_activate), (livespointer)mt); @@ -7853,9 +7674,9 @@ lives_signal_connect(LIVES_GUI_OBJECT(zoom_out), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(mt_zoom_out), (livespointer)mt); - mt->seltrack_func=lives_signal_connect(LIVES_GUI_OBJECT(mt->select_track), LIVES_WIDGET_ACTIVATE_SIGNAL, - LIVES_GUI_CALLBACK(on_seltrack_activate), - (livespointer)mt); + mt->seltrack_func = lives_signal_connect(LIVES_GUI_OBJECT(mt->select_track), LIVES_WIDGET_ACTIVATE_SIGNAL, + LIVES_GUI_CALLBACK(on_seltrack_activate), + (livespointer)mt); lives_signal_connect(LIVES_GUI_OBJECT(show_manual), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(show_manual_activate), @@ -7903,123 +7724,119 @@ (livespointer)mt); lives_accel_group_connect(LIVES_ACCEL_GROUP(mt->accel_group), LIVES_KEY_m, (LiVESXModifierType)0, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(mt_mark_callback),(livespointer)mt,NULL)); + lives_cclosure_new(LIVES_GUI_CALLBACK(mt_mark_callback), (livespointer)mt, NULL)); - mt->top_eventbox=lives_event_box_new(); + mt->top_eventbox = lives_event_box_new(); lives_box_pack_start(LIVES_BOX(mt->top_vbox), mt->top_eventbox, FALSE, FALSE, 0); hbox = lives_hbox_new(FALSE, 0); - lives_container_add(LIVES_CONTAINER(mt->top_eventbox),hbox); + lives_container_add(LIVES_CONTAINER(mt->top_eventbox), hbox); - mt->btoolbar2=lives_toolbar_new(); + mt->btoolbar2 = lives_toolbar_new(); lives_box_pack_start(LIVES_BOX(hbox), mt->btoolbar2, FALSE, FALSE, 0); - widget_opts.apply_theme=FALSE; - widget_opts.expand=LIVES_EXPAND_NONE; - mt->timecode=lives_standard_entry_new(NULL,FALSE,NULL,TIMECODE_LENGTH,TIMECODE_LENGTH,LIVES_BOX(hbox),NULL); - widget_opts.expand=LIVES_EXPAND_DEFAULT; - - dpw=widget_opts.packing_width; - widget_opts.packing_width=2.*widget_opts.scale; - mt->insa_checkbutton = lives_standard_check_button_new((tmp=lives_strdup(_("Insert With _Audio"))),TRUE,LIVES_BOX(hbox), - (tmp2=lives_strdup(_("Select whether video clips are inserted and moved with their audio or not")))); - widget_opts.packing_width=dpw; + widget_opts.apply_theme = FALSE; + widget_opts.expand = LIVES_EXPAND_NONE; + mt->timecode = lives_standard_entry_new(NULL, FALSE, NULL, TIMECODE_LENGTH, TIMECODE_LENGTH, LIVES_BOX(hbox), NULL); + widget_opts.expand = LIVES_EXPAND_DEFAULT; + + dpw = widget_opts.packing_width; + widget_opts.packing_width = 2.*widget_opts.scale; + mt->insa_checkbutton = lives_standard_check_button_new((tmp = lives_strdup(_("Insert With _Audio"))), TRUE, LIVES_BOX(hbox), + (tmp2 = lives_strdup(_("Select whether video clips are inserted and moved with their audio or not")))); + widget_opts.packing_width = dpw; lives_free(tmp); lives_free(tmp2); - mt->insa_label=widget_opts.last_label; + mt->insa_label = widget_opts.last_label; // must do this here to set cfile->hsize, cfile->vsize; and we must have created aparam_submenu and insa_eventbox and insa_checkbutton - msg=set_values_from_defs(mt,!prefs->mt_enter_prompt||(mainw->recoverable_layout&&prefs->startup_interface==STARTUP_CE)); + msg = set_values_from_defs(mt, !prefs->mt_enter_prompt || (mainw->recoverable_layout && prefs->startup_interface == STARTUP_CE)); lives_freep((void **)&msg); // play buttons - lives_toolbar_set_show_arrow(LIVES_TOOLBAR(mt->btoolbar2),FALSE); + lives_toolbar_set_show_arrow(LIVES_TOOLBAR(mt->btoolbar2), FALSE); lives_toolbar_set_style(LIVES_TOOLBAR(mt->btoolbar2), LIVES_TOOLBAR_ICONS); - lives_toolbar_set_icon_size(LIVES_TOOLBAR(mt->btoolbar2),LIVES_ICON_SIZE_SMALL_TOOLBAR); + lives_toolbar_set_icon_size(LIVES_TOOLBAR(mt->btoolbar2), LIVES_ICON_SIZE_SMALL_TOOLBAR); lives_object_ref(mainw->m_sepwinbutton); lives_widget_unparent(mainw->m_sepwinbutton); - lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbar2),LIVES_TOOL_ITEM(mainw->m_sepwinbutton),-1); + lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbar2), LIVES_TOOL_ITEM(mainw->m_sepwinbutton), -1); lives_object_unref(mainw->m_sepwinbutton); lives_object_ref(mainw->m_rewindbutton); lives_widget_unparent(mainw->m_rewindbutton); - lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbar2),LIVES_TOOL_ITEM(mainw->m_rewindbutton),-1); + lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbar2), LIVES_TOOL_ITEM(mainw->m_rewindbutton), -1); lives_object_unref(mainw->m_rewindbutton); lives_object_ref(mainw->m_playbutton); lives_widget_unparent(mainw->m_playbutton); - lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbar2),LIVES_TOOL_ITEM(mainw->m_playbutton),-1); + lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbar2), LIVES_TOOL_ITEM(mainw->m_playbutton), -1); lives_object_unref(mainw->m_playbutton); lives_object_ref(mainw->m_stopbutton); lives_widget_unparent(mainw->m_stopbutton); - lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbar2),LIVES_TOOL_ITEM(mainw->m_stopbutton),-1); + lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbar2), LIVES_TOOL_ITEM(mainw->m_stopbutton), -1); lives_object_unref(mainw->m_stopbutton); lives_object_ref(mainw->m_loopbutton); lives_widget_unparent(mainw->m_loopbutton); - lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbar2),LIVES_TOOL_ITEM(mainw->m_loopbutton),-1); + lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbar2), LIVES_TOOL_ITEM(mainw->m_loopbutton), -1); lives_object_unref(mainw->m_loopbutton); + time_to_string(mt, 0., TIMECODE_LENGTH); + lives_widget_add_events(mt->timecode, LIVES_FOCUS_CHANGE_MASK); + lives_widget_set_sensitive(mt->timecode, FALSE); - time_to_string(mt,0.,TIMECODE_LENGTH); - - lives_widget_add_events(mt->timecode,LIVES_FOCUS_CHANGE_MASK); - lives_widget_set_sensitive(mt->timecode,FALSE); - - mt->tc_func=lives_signal_connect_after(LIVES_WIDGET_OBJECT(mt->timecode),LIVES_WIDGET_FOCUS_OUT_EVENT, - LIVES_GUI_CALLBACK(after_timecode_changed), (livespointer) mt); + mt->tc_func = lives_signal_connect_after(LIVES_WIDGET_OBJECT(mt->timecode), LIVES_WIDGET_FOCUS_OUT_EVENT, + LIVES_GUI_CALLBACK(after_timecode_changed), (livespointer) mt); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(mt->insa_checkbutton),mt->opts.insert_audio); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(mt->insa_checkbutton), mt->opts.insert_audio); lives_signal_connect_after(LIVES_GUI_OBJECT(mt->insa_checkbutton), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(on_insa_toggled), mt); - if (prefs->lamp_buttons) { - on_insa_toggled(LIVES_TOGGLE_BUTTON(mt->insa_checkbutton),mt); - lives_toggle_button_set_mode(LIVES_TOGGLE_BUTTON(mt->insa_checkbutton),FALSE); + on_insa_toggled(LIVES_TOGGLE_BUTTON(mt->insa_checkbutton), mt); + lives_toggle_button_set_mode(LIVES_TOGGLE_BUTTON(mt->insa_checkbutton), FALSE); lives_widget_set_bg_color(mt->insa_checkbutton, LIVES_WIDGET_STATE_ACTIVE, &palette->light_green); lives_widget_set_bg_color(mt->insa_checkbutton, LIVES_WIDGET_STATE_NORMAL, &palette->dark_red); -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) lives_signal_connect(LIVES_GUI_OBJECT(mt->insa_checkbutton), LIVES_WIDGET_EXPOSE_EVENT, LIVES_GUI_CALLBACK(draw_cool_toggle), NULL); #endif - } - dpw=widget_opts.packing_width; - widget_opts.packing_width=2.*widget_opts.scale; + dpw = widget_opts.packing_width; + widget_opts.packing_width = 2.*widget_opts.scale; - mt->snapo_checkbutton = lives_standard_check_button_new((tmp=lives_strdup(_("Select _Overlap"))),TRUE,LIVES_BOX(hbox), - (tmp2=lives_strdup(_("Select whether timeline selection snaps to overlap between selected tracks or not")))); - widget_opts.packing_width=dpw; + mt->snapo_checkbutton = lives_standard_check_button_new((tmp = lives_strdup(_("Select _Overlap"))), TRUE, LIVES_BOX(hbox), + (tmp2 = lives_strdup(_("Select whether timeline selection snaps to overlap between selected tracks or not")))); + widget_opts.packing_width = dpw; lives_free(tmp); lives_free(tmp2); - if (palette->style&STYLE_1) widget_opts.apply_theme=TRUE; + if (palette->style & STYLE_1) widget_opts.apply_theme = TRUE; - mt->overlap_label=widget_opts.last_label; + mt->overlap_label = widget_opts.last_label; - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(mt->snapo_checkbutton),mt->opts.snap_over); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(mt->snapo_checkbutton), mt->opts.snap_over); lives_signal_connect_after(LIVES_GUI_OBJECT(mt->snapo_checkbutton), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(on_snapo_toggled), mt); if (prefs->lamp_buttons) { - lives_toggle_button_set_mode(LIVES_TOGGLE_BUTTON(mt->snapo_checkbutton),FALSE); -#if GTK_CHECK_VERSION(3,0,0) + lives_toggle_button_set_mode(LIVES_TOGGLE_BUTTON(mt->snapo_checkbutton), FALSE); +#if GTK_CHECK_VERSION(3, 0, 0) lives_signal_connect(LIVES_GUI_OBJECT(mt->snapo_checkbutton), LIVES_WIDGET_EXPOSE_EVENT, LIVES_GUI_CALLBACK(draw_cool_toggle), NULL); @@ -8027,7 +7844,7 @@ lives_widget_set_bg_color(mt->snapo_checkbutton, LIVES_WIDGET_STATE_ACTIVE, &palette->light_green); lives_widget_set_bg_color(mt->snapo_checkbutton, LIVES_WIDGET_STATE_NORMAL, &palette->dark_red); - on_snapo_toggled(LIVES_TOGGLE_BUTTON(mt->snapo_checkbutton),mt); + on_snapo_toggled(LIVES_TOGGLE_BUTTON(mt->snapo_checkbutton), mt); } // TODO - add a vbox with two hboxes @@ -8043,54 +7860,49 @@ lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar),LIVES_TOOL_ITEM(mainw->vol_label),7); */ - - // compact view and expanded view buttons - mt->btoolbarx=lives_toolbar_new(); - lives_box_pack_start(LIVES_BOX(hbox), mt->btoolbarx, FALSE, FALSE, widget_opts.packing_width*2); + mt->btoolbarx = lives_toolbar_new(); + lives_box_pack_start(LIVES_BOX(hbox), mt->btoolbarx, FALSE, FALSE, widget_opts.packing_width * 2); - lives_toolbar_set_show_arrow(LIVES_TOOLBAR(mt->btoolbarx),FALSE); + lives_toolbar_set_show_arrow(LIVES_TOOLBAR(mt->btoolbarx), FALSE); lives_toolbar_set_style(LIVES_TOOLBAR(mt->btoolbarx), LIVES_TOOLBAR_TEXT); - mt->eview_button=lives_tool_button_new(NULL,NULL); + mt->eview_button = lives_tool_button_new(NULL, NULL); - mt->eview_label=lives_label_new(_("Expanded View (d)")); - lives_tool_button_set_label_widget(LIVES_TOOL_BUTTON(mt->eview_button),mt->eview_label); + mt->eview_label = lives_label_new(_("Expanded View (d)")); + lives_tool_button_set_label_widget(LIVES_TOOL_BUTTON(mt->eview_button), mt->eview_label); - if (!mt->opts.show_ctx) lives_label_set_text(LIVES_LABEL(mt->eview_label),_("Compact View (d)")); + if (!mt->opts.show_ctx) lives_label_set_text(LIVES_LABEL(mt->eview_label), _("Compact View (d)")); - lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbarx),LIVES_TOOL_ITEM(mt->eview_button),-1); + lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbarx), LIVES_TOOL_ITEM(mt->eview_button), -1); lives_signal_connect(LIVES_GUI_OBJECT(mt->eview_button), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_comp_exp), (livespointer)view_ctx); - - - - mt->btoolbar3=lives_toolbar_new(); + mt->btoolbar3 = lives_toolbar_new(); lives_box_pack_start(LIVES_BOX(hbox), mt->btoolbar3, FALSE, FALSE, 0); - lives_toolbar_set_show_arrow(LIVES_TOOLBAR(mt->btoolbar3),FALSE); + lives_toolbar_set_show_arrow(LIVES_TOOLBAR(mt->btoolbar3), FALSE); lives_toolbar_set_style(LIVES_TOOLBAR(mt->btoolbar3), LIVES_TOOLBAR_TEXT); - mt->sep1=gtk_separator_tool_item_new(); - lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbar3),mt->sep1,-1); + mt->sep1 = gtk_separator_tool_item_new(); + lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbar3), mt->sep1, -1); - mt->grav_menuitem = lives_menu_tool_button_new(NULL,NULL); - lives_tool_button_set_use_underline(LIVES_TOOL_BUTTON(mt->grav_menuitem),TRUE); + mt->grav_menuitem = lives_menu_tool_button_new(NULL, NULL); + lives_tool_button_set_use_underline(LIVES_TOOL_BUTTON(mt->grav_menuitem), TRUE); mt->grav_normal = lives_check_menu_item_new_with_mnemonic(_("Gravity: _Normal")); - get_menu_text(mt->grav_normal,text); + get_menu_text(mt->grav_normal, text); - mt->grav_label=lives_label_new(text); - lives_tool_button_set_label_widget(LIVES_TOOL_BUTTON(mt->grav_menuitem),mt->grav_label); + mt->grav_label = lives_label_new(text); + lives_tool_button_set_label_widget(LIVES_TOOL_BUTTON(mt->grav_menuitem), mt->grav_label); - lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbar3),LIVES_TOOL_ITEM(mt->grav_menuitem),-1); + lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbar3), LIVES_TOOL_ITEM(mt->grav_menuitem), -1); mt->grav_submenu = lives_menu_new(); @@ -8098,162 +7910,151 @@ lives_container_add(LIVES_CONTAINER(mt->grav_submenu), mt->grav_normal); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->grav_normal),mt->opts.grav_mode==GRAV_MODE_NORMAL); - - mt->grav_normal_func=lives_signal_connect(LIVES_GUI_OBJECT(mt->grav_normal), LIVES_WIDGET_TOGGLED_SIGNAL, - LIVES_GUI_CALLBACK(on_grav_mode_changed), - (livespointer)mt); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->grav_normal), mt->opts.grav_mode == GRAV_MODE_NORMAL); + mt->grav_normal_func = lives_signal_connect(LIVES_GUI_OBJECT(mt->grav_normal), LIVES_WIDGET_TOGGLED_SIGNAL, + LIVES_GUI_CALLBACK(on_grav_mode_changed), + (livespointer)mt); mt->grav_left = lives_check_menu_item_new_with_mnemonic(_("Gravity: _Left")); lives_container_add(LIVES_CONTAINER(mt->grav_submenu), mt->grav_left); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->grav_left),mt->opts.grav_mode==GRAV_MODE_LEFT); - - mt->grav_left_func=lives_signal_connect(LIVES_GUI_OBJECT(mt->grav_left), LIVES_WIDGET_TOGGLED_SIGNAL, - LIVES_GUI_CALLBACK(on_grav_mode_changed), - (livespointer)mt); - + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->grav_left), mt->opts.grav_mode == GRAV_MODE_LEFT); + mt->grav_left_func = lives_signal_connect(LIVES_GUI_OBJECT(mt->grav_left), LIVES_WIDGET_TOGGLED_SIGNAL, + LIVES_GUI_CALLBACK(on_grav_mode_changed), + (livespointer)mt); mt->grav_right = lives_check_menu_item_new_with_mnemonic(_("Gravity: _Right")); lives_container_add(LIVES_CONTAINER(mt->grav_submenu), mt->grav_right); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->grav_right),mt->opts.grav_mode==GRAV_MODE_RIGHT); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->grav_right), mt->opts.grav_mode == GRAV_MODE_RIGHT); - mt->grav_right_func=lives_signal_connect(LIVES_GUI_OBJECT(mt->grav_right), LIVES_WIDGET_TOGGLED_SIGNAL, - LIVES_GUI_CALLBACK(on_grav_mode_changed), - (livespointer)mt); + mt->grav_right_func = lives_signal_connect(LIVES_GUI_OBJECT(mt->grav_right), LIVES_WIDGET_TOGGLED_SIGNAL, + LIVES_GUI_CALLBACK(on_grav_mode_changed), + (livespointer)mt); lives_widget_show_all(mt->grav_submenu); // needed - if (mainw->mgeom[prefs->gui_monitor-1].width>MENUBAR_MIN) in_menubar=FALSE; - + if (mainw->mgeom[prefs->gui_monitor - 1].width > MENUBAR_MIN) in_menubar = FALSE; if (in_menubar) { menuitemsep = lives_menu_item_new_with_label("|"); - lives_widget_set_sensitive(menuitemsep,FALSE); + lives_widget_set_sensitive(menuitemsep, FALSE); lives_container_add(LIVES_CONTAINER(mt->menubar), menuitemsep); - mt->sep2=NULL; + mt->sep2 = NULL; } else { - mt->sep2=gtk_separator_tool_item_new(); - lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbar3),mt->sep2,-1); + mt->sep2 = gtk_separator_tool_item_new(); + lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbar3), mt->sep2, -1); } mt->mm_submenu = lives_menu_new(); mt->mm_move = lives_check_menu_item_new_with_mnemonic(_("Mouse Mode: _Move")); - mt->mm_label=NULL; + mt->mm_label = NULL; if (in_menubar) { mt->mm_menuitem = lives_menu_item_new_with_label(""); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mt->mm_menuitem), mt->mm_submenu); lives_container_add(LIVES_CONTAINER(mt->menubar), mt->mm_menuitem); } else { - mt->mm_menuitem = LIVES_WIDGET(lives_menu_tool_button_new(NULL,NULL)); - lives_tool_button_set_use_underline(LIVES_TOOL_BUTTON(mt->mm_menuitem),TRUE); + mt->mm_menuitem = LIVES_WIDGET(lives_menu_tool_button_new(NULL, NULL)); + lives_tool_button_set_use_underline(LIVES_TOOL_BUTTON(mt->mm_menuitem), TRUE); - get_menu_text(mt->mm_move,text); - mt->mm_label=lives_label_new(text); - lives_tool_button_set_label_widget(LIVES_TOOL_BUTTON(mt->mm_menuitem),mt->mm_label); - lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbar3),LIVES_TOOL_ITEM(mt->mm_menuitem),-1); - lives_menu_tool_button_set_menu(LIVES_MENU_TOOL_BUTTON(mt->mm_menuitem),mt->mm_submenu); + get_menu_text(mt->mm_move, text); + mt->mm_label = lives_label_new(text); + lives_tool_button_set_label_widget(LIVES_TOOL_BUTTON(mt->mm_menuitem), mt->mm_label); + lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbar3), LIVES_TOOL_ITEM(mt->mm_menuitem), -1); + lives_menu_tool_button_set_menu(LIVES_MENU_TOOL_BUTTON(mt->mm_menuitem), mt->mm_submenu); } - - lives_container_add(LIVES_CONTAINER(mt->mm_submenu), mt->mm_move); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->mm_move),mt->opts.mouse_mode==MOUSE_MODE_MOVE); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->mm_move), mt->opts.mouse_mode == MOUSE_MODE_MOVE); - mt->mm_move_func=lives_signal_connect(LIVES_GUI_OBJECT(mt->mm_move), LIVES_WIDGET_TOGGLED_SIGNAL, - LIVES_GUI_CALLBACK(on_mouse_mode_changed), - (livespointer)mt); + mt->mm_move_func = lives_signal_connect(LIVES_GUI_OBJECT(mt->mm_move), LIVES_WIDGET_TOGGLED_SIGNAL, + LIVES_GUI_CALLBACK(on_mouse_mode_changed), + (livespointer)mt); mt->mm_select = lives_check_menu_item_new_with_mnemonic(_("Mouse Mode: _Select")); lives_container_add(LIVES_CONTAINER(mt->mm_submenu), mt->mm_select); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->mm_select),mt->opts.mouse_mode==MOUSE_MODE_SELECT); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->mm_select), mt->opts.mouse_mode == MOUSE_MODE_SELECT); - mt->mm_select_func=lives_signal_connect(LIVES_GUI_OBJECT(mt->mm_select), LIVES_WIDGET_TOGGLED_SIGNAL, - LIVES_GUI_CALLBACK(on_mouse_mode_changed), - (livespointer)mt); + mt->mm_select_func = lives_signal_connect(LIVES_GUI_OBJECT(mt->mm_select), LIVES_WIDGET_TOGGLED_SIGNAL, + LIVES_GUI_CALLBACK(on_mouse_mode_changed), + (livespointer)mt); lives_widget_show_all(mt->mm_submenu); // needed if (in_menubar) { menuitemsep = lives_menu_item_new_with_label("|"); - lives_widget_set_sensitive(menuitemsep,FALSE); + lives_widget_set_sensitive(menuitemsep, FALSE); lives_container_add(LIVES_CONTAINER(mt->menubar), menuitemsep); - mt->sep3=NULL; + mt->sep3 = NULL; } else { - mt->sep3=gtk_separator_tool_item_new(); - lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbar3),mt->sep3,-1); + mt->sep3 = gtk_separator_tool_item_new(); + lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbar3), mt->sep3, -1); } - mt->ins_submenu = lives_menu_new(); mt->ins_normal = lives_check_menu_item_new_with_mnemonic(_("Insert Mode: _Normal")); if (in_menubar) { mt->ins_menuitem = lives_menu_item_new_with_label(""); - mt->ins_label=NULL; + mt->ins_label = NULL; lives_menu_item_set_submenu(LIVES_MENU_ITEM(mt->ins_menuitem), mt->ins_submenu); lives_container_add(LIVES_CONTAINER(mt->menubar), mt->ins_menuitem); } else { - mt->ins_menuitem = LIVES_WIDGET(lives_menu_tool_button_new(NULL,NULL)); - lives_tool_button_set_use_underline(LIVES_TOOL_BUTTON(mt->ins_menuitem),TRUE); - get_menu_text(mt->ins_normal,text); - mt->ins_label=lives_label_new(text); - lives_tool_button_set_label_widget(LIVES_TOOL_BUTTON(mt->ins_menuitem),mt->ins_label); - lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbar3),LIVES_TOOL_ITEM(mt->ins_menuitem),-1); - lives_menu_tool_button_set_menu(LIVES_MENU_TOOL_BUTTON(mt->ins_menuitem),mt->ins_submenu); + mt->ins_menuitem = LIVES_WIDGET(lives_menu_tool_button_new(NULL, NULL)); + lives_tool_button_set_use_underline(LIVES_TOOL_BUTTON(mt->ins_menuitem), TRUE); + get_menu_text(mt->ins_normal, text); + mt->ins_label = lives_label_new(text); + lives_tool_button_set_label_widget(LIVES_TOOL_BUTTON(mt->ins_menuitem), mt->ins_label); + lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbar3), LIVES_TOOL_ITEM(mt->ins_menuitem), -1); + lives_menu_tool_button_set_menu(LIVES_MENU_TOOL_BUTTON(mt->ins_menuitem), mt->ins_submenu); } - - lives_container_add(LIVES_CONTAINER(mt->ins_submenu), mt->ins_normal); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->ins_normal),mt->opts.insert_mode==INSERT_MODE_NORMAL); - - mt->ins_normal_func=lives_signal_connect(LIVES_GUI_OBJECT(mt->ins_normal), LIVES_WIDGET_TOGGLED_SIGNAL, - LIVES_GUI_CALLBACK(on_insert_mode_changed), - (livespointer)mt); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->ins_normal), mt->opts.insert_mode == INSERT_MODE_NORMAL); + mt->ins_normal_func = lives_signal_connect(LIVES_GUI_OBJECT(mt->ins_normal), LIVES_WIDGET_TOGGLED_SIGNAL, + LIVES_GUI_CALLBACK(on_insert_mode_changed), + (livespointer)mt); lives_widget_show_all(mt->ins_submenu); // needed if (!in_menubar) { - mt->sep4=gtk_separator_tool_item_new(); - lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbar3),mt->sep4,-1); - } else mt->sep4=NULL; + mt->sep4 = gtk_separator_tool_item_new(); + lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbar3), mt->sep4, -1); + } else mt->sep4 = NULL; - mt->btoolbary=lives_toolbar_new(); + mt->btoolbary = lives_toolbar_new(); lives_box_pack_start(LIVES_BOX(hbox), mt->btoolbary, TRUE, TRUE, 0); - lives_toolbar_set_show_arrow(LIVES_TOOLBAR(mt->btoolbary),FALSE); + lives_toolbar_set_show_arrow(LIVES_TOOLBAR(mt->btoolbary), FALSE); lives_toolbar_set_style(LIVES_TOOLBAR(mt->btoolbary), LIVES_TOOLBAR_ICONS); - lives_toolbar_set_icon_size(LIVES_TOOLBAR(mt->btoolbary),LIVES_ICON_SIZE_SMALL_TOOLBAR); + lives_toolbar_set_icon_size(LIVES_TOOLBAR(mt->btoolbary), LIVES_ICON_SIZE_SMALL_TOOLBAR); lives_object_ref(mainw->m_mutebutton); lives_widget_unparent(mainw->m_mutebutton); - lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbary),LIVES_TOOL_ITEM(mainw->m_mutebutton),-1); + lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbary), LIVES_TOOL_ITEM(mainw->m_mutebutton), -1); lives_object_unref(mainw->m_mutebutton); - if (!lives_scale_button_set_orientation(LIVES_SCALE_BUTTON(mainw->volume_scale),LIVES_ORIENTATION_VERTICAL)) { - if (mainw->vol_label!=NULL) { + if (!lives_scale_button_set_orientation(LIVES_SCALE_BUTTON(mainw->volume_scale), LIVES_ORIENTATION_VERTICAL)) { + if (mainw->vol_label != NULL) { lives_object_ref(mainw->vol_label); lives_widget_unparent(mainw->vol_label); - lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbary),LIVES_TOOL_ITEM(mainw->vol_label),-1); + lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbary), LIVES_TOOL_ITEM(mainw->vol_label), -1); lives_object_unref(mainw->vol_label); } } lives_object_ref(mainw->vol_toolitem); lives_widget_unparent(mainw->vol_toolitem); - lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbary),LIVES_TOOL_ITEM(mainw->vol_toolitem),-1); + lives_toolbar_insert(LIVES_TOOLBAR(mt->btoolbary), LIVES_TOOL_ITEM(mainw->vol_toolitem), -1); lives_object_unref(mainw->vol_toolitem); - hseparator = lives_hseparator_new(); lives_box_pack_start(LIVES_BOX(mt->top_vbox), hseparator, FALSE, FALSE, 0); @@ -8261,21 +8062,20 @@ lives_box_pack_start(LIVES_BOX(mt->top_vbox), mt->hbox, TRUE, TRUE, widget_opts.border_width); mt->play_blank = lives_image_new_from_pixbuf(mainw->imframe); - mt->preview_frame = lives_standard_frame_new(_("Preview"),0.5,FALSE); + mt->preview_frame = lives_standard_frame_new(_("Preview"), 0.5, FALSE); lives_box_pack_start(LIVES_BOX(mt->hbox), mt->preview_frame, FALSE, FALSE, 0); - mt->fd_frame=mt->preview_frame; + mt->fd_frame = mt->preview_frame; - mt->preview_eventbox=lives_event_box_new(); + mt->preview_eventbox = lives_event_box_new(); lives_widget_set_size_request(mt->preview_eventbox, mt->play_window_width, mt->play_window_height); mt->play_box = lives_vbox_new(FALSE, widget_opts.border_width); - lives_widget_set_app_paintable(mt->preview_eventbox,TRUE); + lives_widget_set_app_paintable(mt->preview_eventbox, TRUE); lives_widget_set_size_request(mt->play_box, mt->play_window_width, mt->play_window_height); - lives_widget_set_hexpand(mt->play_box,FALSE); - lives_widget_set_vexpand(mt->play_box,FALSE); + lives_widget_set_hexpand(mt->play_box, FALSE); + lives_widget_set_vexpand(mt->play_box, FALSE); - -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) lives_signal_connect(LIVES_GUI_OBJECT(mt->play_box), LIVES_WIDGET_EXPOSE_EVENT, LIVES_GUI_CALLBACK(expose_pb), (livespointer)mt); @@ -8286,7 +8086,6 @@ lives_container_add(LIVES_CONTAINER(mt->play_box), mt->play_blank); - lives_widget_add_events(mt->preview_eventbox, LIVES_BUTTON1_MOTION_MASK | LIVES_BUTTON_RELEASE_MASK | LIVES_BUTTON_PRESS_MASK | LIVES_ENTER_NOTIFY_MASK); @@ -8299,17 +8098,15 @@ lives_signal_connect(LIVES_GUI_OBJECT(mt->preview_eventbox), LIVES_WIDGET_BUTTON_PRESS_EVENT, LIVES_GUI_CALLBACK(on_framedraw_mouse_start), NULL); - lives_signal_connect(LIVES_GUI_OBJECT(mt->preview_eventbox), LIVES_WIDGET_ENTER_EVENT,LIVES_GUI_CALLBACK(on_framedraw_enter),NULL); + lives_signal_connect(LIVES_GUI_OBJECT(mt->preview_eventbox), LIVES_WIDGET_ENTER_EVENT, LIVES_GUI_CALLBACK(on_framedraw_enter), NULL); - - mt->hpaned=lives_hpaned_new(); + mt->hpaned = lives_hpaned_new(); lives_box_pack_start(LIVES_BOX(mt->hbox), mt->hpaned, TRUE, TRUE, 0); lives_signal_connect(LIVES_GUI_OBJECT(mt->hpaned), LIVES_WIDGET_ACCEPT_POSITION_SIGNAL, LIVES_GUI_CALLBACK(hpaned_pos), (livespointer)mt); - mt->nb = lives_notebook_new(); hbox = lives_hbox_new(FALSE, 0); @@ -8317,26 +8114,25 @@ // add a page lives_container_add(LIVES_CONTAINER(mt->nb), hbox); - tname=get_tab_name(POLY_CLIPS); - mt->nb_label1=lives_standard_label_new(tname); + tname = get_tab_name(POLY_CLIPS); + mt->nb_label1 = lives_standard_label_new(tname); lives_free(tname); // prepare polymorph box mt->poly_box = lives_vbox_new(FALSE, 0); - lives_widget_set_vexpand(mt->poly_box,FALSE); - lives_widget_set_hexpand(mt->poly_box,TRUE); + lives_widget_set_vexpand(mt->poly_box, FALSE); + lives_widget_set_hexpand(mt->poly_box, TRUE); lives_container_add(LIVES_CONTAINER(hbox), mt->poly_box); lives_notebook_set_tab_label(LIVES_NOTEBOOK(mt->nb), lives_notebook_get_nth_page(LIVES_NOTEBOOK(mt->nb), 0), mt->nb_label1); - // poly box is first page in notebook // notebook goes in paned: so we have paned -> nb-> poly_box - lives_paned_pack(1,LIVES_PANED(mt->hpaned), mt->nb, TRUE, FALSE); - lives_paned_set_position(LIVES_PANED(mt->hpaned),scr_width/2); + lives_paned_pack(1, LIVES_PANED(mt->hpaned), mt->nb, TRUE, FALSE); + lives_paned_set_position(LIVES_PANED(mt->hpaned), scr_width / 2); // poly clip scroll mt->clip_scroll = lives_scrolled_window_new(NULL, NULL); @@ -8348,112 +8144,106 @@ lives_scrolled_window_set_policy(LIVES_SCROLLED_WINDOW(mt->clip_scroll), LIVES_POLICY_AUTOMATIC, LIVES_POLICY_NEVER); - lives_widget_set_hexpand(mt->clip_scroll,TRUE); + lives_widget_set_hexpand(mt->clip_scroll, TRUE); mt->clip_inner_box = lives_hbox_new(FALSE, widget_opts.packing_width); lives_scrolled_window_add_with_viewport(LIVES_SCROLLED_WINDOW(mt->clip_scroll), mt->clip_inner_box); - // add a dummy hbox to nb (adds a tab with a label) - tname=get_tab_name(POLY_IN_OUT); - mt->nb_label2=lives_label_new(tname); + tname = get_tab_name(POLY_IN_OUT); + mt->nb_label2 = lives_label_new(tname); lives_free(tname); - hbox = lives_hbox_new(FALSE, 0); - lives_widget_set_hexpand(hbox,TRUE); - lives_widget_set_vexpand(hbox,TRUE); + lives_widget_set_hexpand(hbox, TRUE); + lives_widget_set_vexpand(hbox, TRUE); lives_container_add(LIVES_CONTAINER(mt->nb), hbox); lives_notebook_set_tab_label(LIVES_NOTEBOOK(mt->nb), lives_notebook_get_nth_page(LIVES_NOTEBOOK(mt->nb), 1), mt->nb_label2); - // add a dummy hbox to nb (adds a tab with label) - tname=get_tab_name(POLY_FX_STACK); - mt->nb_label3=lives_label_new(tname); + tname = get_tab_name(POLY_FX_STACK); + mt->nb_label3 = lives_label_new(tname); lives_free(tname); hbox = lives_hbox_new(FALSE, 0); - lives_widget_set_hexpand(hbox,TRUE); - lives_widget_set_vexpand(hbox,TRUE); + lives_widget_set_hexpand(hbox, TRUE); + lives_widget_set_vexpand(hbox, TRUE); lives_container_add(LIVES_CONTAINER(mt->nb), hbox); lives_notebook_set_tab_label(LIVES_NOTEBOOK(mt->nb), lives_notebook_get_nth_page(LIVES_NOTEBOOK(mt->nb), 2), mt->nb_label3); - // add a dummy hbox to nb - tname=get_tab_name(POLY_EFFECTS); - mt->nb_label4=lives_label_new(tname); + tname = get_tab_name(POLY_EFFECTS); + mt->nb_label4 = lives_label_new(tname); lives_free(tname); hbox = lives_hbox_new(FALSE, 0); - lives_widget_set_hexpand(hbox,TRUE); - lives_widget_set_vexpand(hbox,TRUE); + lives_widget_set_hexpand(hbox, TRUE); + lives_widget_set_vexpand(hbox, TRUE); lives_container_add(LIVES_CONTAINER(mt->nb), hbox); lives_notebook_set_tab_label(LIVES_NOTEBOOK(mt->nb), lives_notebook_get_nth_page(LIVES_NOTEBOOK(mt->nb), 3), mt->nb_label4); // add a dummy hbox to nb - - tname=get_tab_name(POLY_TRANS); - mt->nb_label5=lives_label_new(tname); + tname = get_tab_name(POLY_TRANS); + mt->nb_label5 = lives_label_new(tname); lives_free(tname); hbox = lives_hbox_new(FALSE, 0); - lives_widget_set_hexpand(hbox,TRUE); - lives_widget_set_vexpand(hbox,TRUE); + lives_widget_set_hexpand(hbox, TRUE); + lives_widget_set_vexpand(hbox, TRUE); lives_container_add(LIVES_CONTAINER(mt->nb), hbox); lives_notebook_set_tab_label(LIVES_NOTEBOOK(mt->nb), lives_notebook_get_nth_page(LIVES_NOTEBOOK(mt->nb), 4), mt->nb_label5); // add a dummy hbox to nb - tname=get_tab_name(POLY_COMP); - mt->nb_label6=lives_label_new(tname); + tname = get_tab_name(POLY_COMP); + mt->nb_label6 = lives_label_new(tname); lives_free(tname); hbox = lives_hbox_new(FALSE, 0); - lives_widget_set_hexpand(hbox,TRUE); - lives_widget_set_vexpand(hbox,TRUE); + lives_widget_set_hexpand(hbox, TRUE); + lives_widget_set_vexpand(hbox, TRUE); lives_container_add(LIVES_CONTAINER(mt->nb), hbox); lives_notebook_set_tab_label(LIVES_NOTEBOOK(mt->nb), lives_notebook_get_nth_page(LIVES_NOTEBOOK(mt->nb), 5), mt->nb_label6); // add a dummy hbox to nb - tname=get_tab_name(POLY_PARAMS); - mt->nb_label7=lives_label_new(tname); + tname = get_tab_name(POLY_PARAMS); + mt->nb_label7 = lives_label_new(tname); lives_free(tname); hbox = lives_hbox_new(FALSE, 0); - lives_widget_set_hexpand(hbox,TRUE); - lives_widget_set_vexpand(hbox,TRUE); + lives_widget_set_hexpand(hbox, TRUE); + lives_widget_set_vexpand(hbox, TRUE); lives_container_add(LIVES_CONTAINER(mt->nb), hbox); lives_notebook_set_tab_label(LIVES_NOTEBOOK(mt->nb), lives_notebook_get_nth_page(LIVES_NOTEBOOK(mt->nb), 6), mt->nb_label7); - // params contents mt->fx_base_box = lives_vbox_new(FALSE, 0); lives_object_ref(mt->fx_base_box); - mt->fx_contents_box=lives_vbox_new(FALSE,2); + mt->fx_contents_box = lives_vbox_new(FALSE, 2); - dph=widget_opts.packing_height; - widget_opts.packing_height=0; + dph = widget_opts.packing_height; + widget_opts.packing_height = 0; add_hsep_to_box(LIVES_BOX(mt->fx_contents_box)); - widget_opts.packing_height=dph; + widget_opts.packing_height = dph; lives_box_pack_end(LIVES_BOX(mt->fx_base_box), mt->fx_contents_box, FALSE, FALSE, 0); - hbox=lives_hbox_new(FALSE,widget_opts.packing_width); + hbox = lives_hbox_new(FALSE, widget_opts.packing_width); lives_box_pack_end(LIVES_BOX(mt->fx_contents_box), hbox, FALSE, FALSE, 0); mt->apply_fx_button = lives_button_new_with_mnemonic(_("_Apply")); @@ -8463,34 +8253,32 @@ LIVES_GUI_CALLBACK(on_set_pvals_clicked), (livespointer)mt); + mt->node_adj = (LiVESObject *)lives_adjustment_new(0., 0., 0., 1. / mt->fps, 10. / mt->fps, 0.); - mt->node_adj = (LiVESObject *)lives_adjustment_new(0., 0., 0., 1./mt->fps, 10./mt->fps, 0.); - - mt->node_scale=lives_hscale_new(LIVES_ADJUSTMENT(mt->node_adj)); - lives_scale_set_draw_value(LIVES_SCALE(mt->node_scale),FALSE); + mt->node_scale = lives_hscale_new(LIVES_ADJUSTMENT(mt->node_adj)); + lives_scale_set_draw_value(LIVES_SCALE(mt->node_scale), FALSE); mt->node_spinbutton = lives_spin_button_new(LIVES_ADJUSTMENT(mt->node_adj), 0, 3); lives_signal_connect_after(LIVES_GUI_OBJECT(mt->node_spinbutton), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(on_node_spin_value_changed), (livespointer)mt); - lives_box_pack_start(LIVES_BOX(hbox), mt->node_spinbutton, FALSE, TRUE, 0); - mt->time_label=lives_standard_label_new(_("Time")); + mt->time_label = lives_standard_label_new(_("Time")); lives_box_pack_start(LIVES_BOX(hbox), mt->time_label, FALSE, TRUE, 0); lives_box_pack_start(LIVES_BOX(hbox), mt->node_scale, TRUE, TRUE, widget_opts.packing_width); - hbox=lives_hbox_new(FALSE,widget_opts.packing_width); + hbox = lives_hbox_new(FALSE, widget_opts.packing_width); lives_box_pack_end(LIVES_BOX(mt->fx_contents_box), hbox, FALSE, FALSE, 0); - mt->fx_params_label=lives_standard_label_new(""); + mt->fx_params_label = lives_standard_label_new(""); lives_box_pack_start(LIVES_BOX(hbox), mt->fx_params_label, TRUE, TRUE, widget_opts.packing_width); mt->del_node_button = lives_button_new_with_mnemonic(_("_Del. node")); lives_box_pack_end(LIVES_BOX(hbox), mt->del_node_button, FALSE, FALSE, 0); - lives_widget_set_sensitive(mt->del_node_button,FALSE); + lives_widget_set_sensitive(mt->del_node_button, FALSE); lives_signal_connect(LIVES_GUI_OBJECT(mt->del_node_button), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_del_node_clicked), @@ -8498,7 +8286,7 @@ mt->next_node_button = lives_button_new_with_mnemonic(_("_Next node")); lives_box_pack_end(LIVES_BOX(hbox), mt->next_node_button, FALSE, FALSE, 0); - lives_widget_set_sensitive(mt->next_node_button,FALSE); + lives_widget_set_sensitive(mt->next_node_button, FALSE); lives_signal_connect(LIVES_GUI_OBJECT(mt->next_node_button), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_next_node_clicked), @@ -8506,79 +8294,70 @@ mt->prev_node_button = lives_button_new_with_mnemonic(_("_Prev node")); lives_box_pack_end(LIVES_BOX(hbox), mt->prev_node_button, FALSE, FALSE, 0); - lives_widget_set_sensitive(mt->prev_node_button,FALSE); + lives_widget_set_sensitive(mt->prev_node_button, FALSE); lives_signal_connect(LIVES_GUI_OBJECT(mt->prev_node_button), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_prev_node_clicked), (livespointer)mt); - - mt->fx_label=lives_standard_label_new(""); - lives_box_pack_end(LIVES_BOX(hbox), mt->fx_label, FALSE, FALSE, widget_opts.packing_width*2); - + mt->fx_label = lives_standard_label_new(""); + lives_box_pack_end(LIVES_BOX(hbox), mt->fx_label, FALSE, FALSE, widget_opts.packing_width * 2); set_mt_title(mt); - mt_init_clips(mt,orig_file,FALSE); - - + mt_init_clips(mt, orig_file, FALSE); // poly audio velocity mt->avel_box = lives_vbox_new(FALSE, 0); lives_object_ref(mt->avel_box); hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(mt->avel_box),hbox,FALSE,FALSE,widget_opts.packing_height>>1); + lives_box_pack_start(LIVES_BOX(mt->avel_box), hbox, FALSE, FALSE, widget_opts.packing_height >> 1); - mt->checkbutton_avel_reverse = lives_standard_check_button_new(_("_Reverse playback "),TRUE,LIVES_BOX(hbox),NULL); + mt->checkbutton_avel_reverse = lives_standard_check_button_new(_("_Reverse playback "), TRUE, LIVES_BOX(hbox), NULL); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(hbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); lives_widget_set_fg_color(hbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); } - mt->check_avel_rev_func=lives_signal_connect_after(LIVES_GUI_OBJECT(mt->checkbutton_avel_reverse), LIVES_WIDGET_TOGGLED_SIGNAL, - LIVES_GUI_CALLBACK(avel_reverse_toggled), - mt); - - + mt->check_avel_rev_func = lives_signal_connect_after(LIVES_GUI_OBJECT(mt->checkbutton_avel_reverse), LIVES_WIDGET_TOGGLED_SIGNAL, + LIVES_GUI_CALLBACK(avel_reverse_toggled), + mt); hbox = lives_hbox_new(FALSE, 8); - lives_box_pack_start(LIVES_BOX(mt->avel_box),hbox,FALSE,FALSE,widget_opts.packing_height); - + lives_box_pack_start(LIVES_BOX(mt->avel_box), hbox, FALSE, FALSE, widget_opts.packing_height); - mt->spinbutton_avel = lives_standard_spin_button_new(_("_Velocity "),TRUE,1.,0.5,2.,.1,1.,2, - LIVES_BOX(hbox),NULL); - - mt->spin_avel_func=lives_signal_connect_after(LIVES_GUI_OBJECT(mt->spinbutton_avel), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, - LIVES_GUI_CALLBACK(avel_spin_changed), - mt); + mt->spinbutton_avel = lives_standard_spin_button_new(_("_Velocity "), TRUE, 1., 0.5, 2., .1, 1., 2, + LIVES_BOX(hbox), NULL); - spinbutton_adj=lives_spin_button_get_adjustment(LIVES_SPIN_BUTTON(mt->spinbutton_avel)); + mt->spin_avel_func = lives_signal_connect_after(LIVES_GUI_OBJECT(mt->spinbutton_avel), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, + LIVES_GUI_CALLBACK(avel_spin_changed), + mt); + spinbutton_adj = lives_spin_button_get_adjustment(LIVES_SPIN_BUTTON(mt->spinbutton_avel)); - mt->avel_scale=lives_hscale_new(LIVES_ADJUSTMENT(spinbutton_adj)); + mt->avel_scale = lives_hscale_new(LIVES_ADJUSTMENT(spinbutton_adj)); lives_box_pack_start(LIVES_BOX(hbox), mt->avel_scale, TRUE, TRUE, widget_opts.packing_width); - lives_scale_set_draw_value(LIVES_SCALE(mt->avel_scale),FALSE); + lives_scale_set_draw_value(LIVES_SCALE(mt->avel_scale), FALSE); // poly in_out_box mt->in_out_box = lives_hbox_new(FALSE, 0); lives_object_ref(mt->in_out_box); - lives_widget_set_hexpand(mt->in_out_box,TRUE); - lives_widget_set_vexpand(mt->in_out_box,TRUE); + lives_widget_set_hexpand(mt->in_out_box, TRUE); + lives_widget_set_vexpand(mt->in_out_box, TRUE); vbox = lives_vbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(mt->in_out_box),vbox,FALSE,TRUE,0); + lives_box_pack_start(LIVES_BOX(mt->in_out_box), vbox, FALSE, TRUE, 0); - mt->in_image=lives_image_new(); - lives_widget_set_hexpand(mt->in_image,TRUE); - lives_widget_set_vexpand(mt->in_image,TRUE); + mt->in_image = lives_image_new(); + lives_widget_set_hexpand(mt->in_image, TRUE); + lives_widget_set_vexpand(mt->in_image, TRUE); - eventbox=lives_event_box_new(); + eventbox = lives_event_box_new(); lives_container_add(LIVES_CONTAINER(eventbox), mt->in_image); - lives_box_pack_start(LIVES_BOX(vbox),eventbox,FALSE,FALSE,0); - + lives_box_pack_start(LIVES_BOX(vbox), eventbox, FALSE, FALSE, 0); lives_signal_connect(LIVES_GUI_OBJECT(eventbox), LIVES_WIDGET_BUTTON_PRESS_EVENT, LIVES_GUI_CALLBACK(in_out_ebox_pressed), @@ -8587,57 +8366,52 @@ LIVES_GUI_CALLBACK(on_drag_clip_end), (livespointer)mt); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_fg_color(eventbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); lives_widget_set_bg_color(eventbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); - lives_widget_set_fg_color(eventbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); } - hbox=lives_hbox_new(FALSE,0); - lives_box_pack_start(LIVES_BOX(vbox),hbox,TRUE,FALSE,0); + hbox = lives_hbox_new(FALSE, 0); + lives_box_pack_start(LIVES_BOX(vbox), hbox, TRUE, FALSE, 0); add_fill_to_box(LIVES_BOX(hbox)); mt->in_hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(hbox),mt->in_hbox,TRUE,TRUE,0); - - dpw=widget_opts.packing_width; - widget_opts.packing_width=0; - mt->spinbutton_in = lives_standard_spin_button_new(NULL,FALSE,0.,0.,1000000.,1./mt->fps,1.,2, - LIVES_BOX(mt->in_hbox),NULL); - widget_opts.packing_width=dpw; + lives_box_pack_start(LIVES_BOX(hbox), mt->in_hbox, TRUE, TRUE, 0); - mt->checkbutton_start_anchored = lives_standard_check_button_new((tmp=lives_strdup(_("Anchor _start"))),TRUE,LIVES_BOX(mt->in_hbox), - (tmp2=lives_strdup(_("Anchor the start point to the timeline")))); + dpw = widget_opts.packing_width; + widget_opts.packing_width = 0; + mt->spinbutton_in = lives_standard_spin_button_new(NULL, FALSE, 0., 0., 1000000., 1. / mt->fps, 1., 2, + LIVES_BOX(mt->in_hbox), NULL); + widget_opts.packing_width = dpw; + mt->checkbutton_start_anchored = lives_standard_check_button_new((tmp = lives_strdup(_("Anchor _start"))), TRUE, LIVES_BOX(mt->in_hbox), + (tmp2 = lives_strdup(_("Anchor the start point to the timeline")))); lives_free(tmp); lives_free(tmp2); add_fill_to_box(LIVES_BOX(hbox)); - mt->spin_in_func=lives_signal_connect_after(LIVES_GUI_OBJECT(mt->spinbutton_in), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, - LIVES_GUI_CALLBACK(in_out_start_changed), - mt); - - mt->check_start_func=lives_signal_connect_after(LIVES_GUI_OBJECT(mt->checkbutton_start_anchored), LIVES_WIDGET_TOGGLED_SIGNAL, - LIVES_GUI_CALLBACK(in_anchor_toggled), - mt); - - + mt->spin_in_func = lives_signal_connect_after(LIVES_GUI_OBJECT(mt->spinbutton_in), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, + LIVES_GUI_CALLBACK(in_out_start_changed), + mt); + mt->check_start_func = lives_signal_connect_after(LIVES_GUI_OBJECT(mt->checkbutton_start_anchored), LIVES_WIDGET_TOGGLED_SIGNAL, + LIVES_GUI_CALLBACK(in_anchor_toggled), + mt); vbox = lives_vbox_new(FALSE, 0); - lives_box_pack_end(LIVES_BOX(mt->in_out_box),vbox,FALSE,TRUE,0); + lives_box_pack_end(LIVES_BOX(mt->in_out_box), vbox, FALSE, TRUE, 0); - mt->out_image=lives_image_new(); - lives_widget_set_hexpand(mt->out_image,TRUE); - lives_widget_set_vexpand(mt->out_image,TRUE); + mt->out_image = lives_image_new(); + lives_widget_set_hexpand(mt->out_image, TRUE); + lives_widget_set_vexpand(mt->out_image, TRUE); - eventbox=lives_event_box_new(); + eventbox = lives_event_box_new(); lives_container_add(LIVES_CONTAINER(eventbox), mt->out_image); - lives_box_pack_start(LIVES_BOX(vbox),eventbox,FALSE,FALSE,0); + lives_box_pack_start(LIVES_BOX(vbox), eventbox, FALSE, FALSE, 0); lives_signal_connect(LIVES_GUI_OBJECT(eventbox), LIVES_WIDGET_BUTTON_PRESS_EVENT, LIVES_GUI_CALLBACK(in_out_ebox_pressed), @@ -8646,72 +8420,65 @@ LIVES_GUI_CALLBACK(on_drag_clip_end), (livespointer)mt); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_fg_color(eventbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); lives_widget_set_bg_color(eventbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); - lives_widget_set_fg_color(eventbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); } - hbox=lives_hbox_new(FALSE,0); - lives_box_pack_start(LIVES_BOX(vbox),hbox,TRUE,FALSE,0); + hbox = lives_hbox_new(FALSE, 0); + lives_box_pack_start(LIVES_BOX(vbox), hbox, TRUE, FALSE, 0); add_fill_to_box(LIVES_BOX(hbox)); mt->out_hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(hbox),mt->out_hbox,TRUE,TRUE,0); + lives_box_pack_start(LIVES_BOX(hbox), mt->out_hbox, TRUE, TRUE, 0); - dpw=widget_opts.packing_width; - widget_opts.packing_width=0; - mt->spinbutton_out = lives_standard_spin_button_new(NULL,FALSE,0.,0.,1000000.,1./mt->fps,1.,2, - LIVES_BOX(mt->out_hbox),NULL); - widget_opts.packing_width=dpw; + dpw = widget_opts.packing_width; + widget_opts.packing_width = 0; + mt->spinbutton_out = lives_standard_spin_button_new(NULL, FALSE, 0., 0., 1000000., 1. / mt->fps, 1., 2, + LIVES_BOX(mt->out_hbox), NULL); + widget_opts.packing_width = dpw; - mt->checkbutton_end_anchored = lives_standard_check_button_new((tmp=lives_strdup(_("Anchor _end"))),TRUE,LIVES_BOX(mt->out_hbox), - (tmp2=lives_strdup(_("Anchor the end point to the timeline")))); + mt->checkbutton_end_anchored = lives_standard_check_button_new((tmp = lives_strdup(_("Anchor _end"))), TRUE, LIVES_BOX(mt->out_hbox), + (tmp2 = lives_strdup(_("Anchor the end point to the timeline")))); lives_free(tmp); lives_free(tmp2); - mt->spin_out_func=lives_signal_connect_after(LIVES_GUI_OBJECT(mt->spinbutton_out), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, - LIVES_GUI_CALLBACK(in_out_end_changed), - mt); - - mt->check_end_func=lives_signal_connect_after(LIVES_GUI_OBJECT(mt->checkbutton_end_anchored), LIVES_WIDGET_TOGGLED_SIGNAL, - LIVES_GUI_CALLBACK(out_anchor_toggled), - mt); - + mt->spin_out_func = lives_signal_connect_after(LIVES_GUI_OBJECT(mt->spinbutton_out), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, + LIVES_GUI_CALLBACK(in_out_end_changed), + mt); - lives_signal_handler_block(mt->spinbutton_in,mt->spin_in_func); - lives_signal_handler_block(mt->spinbutton_out,mt->spin_out_func); + mt->check_end_func = lives_signal_connect_after(LIVES_GUI_OBJECT(mt->checkbutton_end_anchored), LIVES_WIDGET_TOGGLED_SIGNAL, + LIVES_GUI_CALLBACK(out_anchor_toggled), + mt); + lives_signal_handler_block(mt->spinbutton_in, mt->spin_in_func); + lives_signal_handler_block(mt->spinbutton_out, mt->spin_out_func); lives_signal_connect(LIVES_GUI_OBJECT(mt->nb), LIVES_WIDGET_SWITCH_PAGE_SIGNAL, LIVES_GUI_CALLBACK(notebook_page), (livespointer)mt); - - - /////////////////////////////////////////////// + mt->poly_state = POLY_NONE; + polymorph(mt, POLY_CLIPS); - mt->poly_state=POLY_NONE; - polymorph(mt,POLY_CLIPS); - - mt->context_frame = lives_standard_frame_new(_("Info"),0.5,FALSE); + mt->context_frame = lives_standard_frame_new(_("Info"), 0.5, FALSE); lives_paned_pack(2, LIVES_PANED(mt->hpaned), mt->context_frame, TRUE, TRUE); - mt->context_scroll=NULL; + mt->context_scroll = NULL; clear_context(mt); mt->hseparator = lives_hseparator_new(); - if (mainw->imsep==NULL) { + if (mainw->imsep == NULL) { lives_box_pack_start(LIVES_BOX(mt->top_vbox), mt->hseparator, FALSE, FALSE, widget_opts.packing_height); - mt->sep_image=NULL; - mt->hseparator2=NULL; + mt->sep_image = NULL; + mt->hseparator2 = NULL; } else { lives_box_pack_start(LIVES_BOX(mt->top_vbox), mt->hseparator, FALSE, FALSE, 0); mt->sep_image = lives_image_new_from_pixbuf(mainw->imsep); @@ -8722,7 +8489,7 @@ mt_init_start_end_spins(mt); - mt->vpaned=lives_vpaned_new(); + mt->vpaned = lives_vpaned_new(); lives_box_pack_start(LIVES_BOX(mt->top_vbox), mt->vpaned, TRUE, TRUE, 0); lives_signal_connect(LIVES_GUI_OBJECT(mt->vpaned), LIVES_WIDGET_ACCEPT_POSITION_SIGNAL, @@ -8734,11 +8501,10 @@ lives_container_add(LIVES_CONTAINER(mt->vpaned), tl_vbox); - mt->timeline_table_header = lives_table_new(2, TIMELINE_TABLE_COLUMNS, TRUE); - lives_table_set_row_spacings(LIVES_TABLE(mt->timeline_table_header),0); + lives_table_set_row_spacings(LIVES_TABLE(mt->timeline_table_header), 0); - mt->tlx_eventbox=lives_event_box_new(); + mt->tlx_eventbox = lives_event_box_new(); lives_box_pack_start(LIVES_BOX(tl_vbox), mt->tlx_eventbox, FALSE, FALSE, 0); lives_signal_connect(LIVES_GUI_OBJECT(mt->tlx_eventbox), LIVES_WIDGET_BUTTON_PRESS_EVENT, @@ -8750,33 +8516,33 @@ (livespointer)mt); lives_widget_add_events(mt->tlx_eventbox, LIVES_BUTTON1_MOTION_MASK | LIVES_BUTTON_RELEASE_MASK | LIVES_BUTTON_PRESS_MASK); - mt->mouse_mot1=lives_signal_connect(LIVES_GUI_OBJECT(mt->tlx_eventbox), LIVES_WIDGET_MOTION_NOTIFY_EVENT, - LIVES_GUI_CALLBACK(on_track_header_move), - (livespointer)mt); - lives_signal_handler_block(mt->tlx_eventbox,mt->mouse_mot1); + mt->mouse_mot1 = lives_signal_connect(LIVES_GUI_OBJECT(mt->tlx_eventbox), LIVES_WIDGET_MOTION_NOTIFY_EVENT, + LIVES_GUI_CALLBACK(on_track_header_move), + (livespointer)mt); + lives_signal_handler_block(mt->tlx_eventbox, mt->mouse_mot1); hbox = lives_hbox_new(FALSE, 0); lives_container_add(LIVES_CONTAINER(mt->tlx_eventbox), hbox); - vadjustment = (LiVESObject *)lives_adjustment_new(1.0,1.0,1.0,1.0,1.0,1.0); - scrollbar=lives_vscrollbar_new(LIVES_ADJUSTMENT(vadjustment)); - lives_widget_set_sensitive(scrollbar,FALSE); + vadjustment = (LiVESObject *)lives_adjustment_new(1.0, 1.0, 1.0, 1.0, 1.0, 1.0); + scrollbar = lives_vscrollbar_new(LIVES_ADJUSTMENT(vadjustment)); + lives_widget_set_sensitive(scrollbar, FALSE); lives_box_pack_start(LIVES_BOX(hbox), mt->timeline_table_header, TRUE, TRUE, 0); lives_box_pack_end(LIVES_BOX(hbox), scrollbar, FALSE, FALSE, widget_opts.packing_width); mt->tl_hbox = lives_hbox_new(FALSE, 0); lives_container_set_border_width(LIVES_CONTAINER(mt->tl_hbox), 0); - lives_box_pack_start(LIVES_BOX(tl_vbox), mt->tl_hbox, TRUE, TRUE, widget_opts.packing_height>>1); + lives_box_pack_start(LIVES_BOX(tl_vbox), mt->tl_hbox, TRUE, TRUE, widget_opts.packing_height >> 1); - mt->vadjustment = (LiVESObject *)lives_adjustment_new(0.0,0.0,1.0,1.0,prefs->max_disp_vtracks,1.0); - mt->scrollbar=lives_vscrollbar_new(LIVES_ADJUSTMENT(mt->vadjustment)); + mt->vadjustment = (LiVESObject *)lives_adjustment_new(0.0, 0.0, 1.0, 1.0, prefs->max_disp_vtracks, 1.0); + mt->scrollbar = lives_vscrollbar_new(LIVES_ADJUSTMENT(mt->vadjustment)); lives_signal_connect_after(LIVES_GUI_OBJECT(mt->scrollbar), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(scroll_track_by_scrollbar), (livespointer)mt); - mt->tl_eventbox=lives_event_box_new(); + mt->tl_eventbox = lives_event_box_new(); lives_box_pack_start(LIVES_BOX(mt->tl_hbox), mt->tl_eventbox, TRUE, TRUE, 0); lives_signal_connect(LIVES_GUI_OBJECT(mt->tl_eventbox), LIVES_WIDGET_BUTTON_PRESS_EVENT, @@ -8787,15 +8553,13 @@ LIVES_GUI_CALLBACK(on_track_between_release), (livespointer)mt); - - lives_widget_add_events(mt->tl_eventbox, LIVES_BUTTON1_MOTION_MASK | LIVES_BUTTON_RELEASE_MASK | LIVES_BUTTON_PRESS_MASK| + lives_widget_add_events(mt->tl_eventbox, LIVES_BUTTON1_MOTION_MASK | LIVES_BUTTON_RELEASE_MASK | LIVES_BUTTON_PRESS_MASK | LIVES_SCROLL_MASK); - mt->mouse_mot2=lives_signal_connect(LIVES_GUI_OBJECT(mt->tl_eventbox), LIVES_WIDGET_MOTION_NOTIFY_EVENT, - LIVES_GUI_CALLBACK(on_track_move), - (livespointer)mt); - - lives_signal_handler_block(mt->tl_eventbox,mt->mouse_mot2); + mt->mouse_mot2 = lives_signal_connect(LIVES_GUI_OBJECT(mt->tl_eventbox), LIVES_WIDGET_MOTION_NOTIFY_EVENT, + LIVES_GUI_CALLBACK(on_track_move), + (livespointer)mt); + lives_signal_handler_block(mt->tl_eventbox, mt->mouse_mot2); lives_signal_connect(LIVES_GUI_OBJECT(mt->tl_eventbox), LIVES_WIDGET_SCROLL_EVENT, LIVES_GUI_CALLBACK(on_mt_timeline_scroll), @@ -8803,19 +8567,18 @@ lives_box_pack_end(LIVES_BOX(mt->tl_hbox), mt->scrollbar, FALSE, FALSE, widget_opts.packing_width); - mt->eventbox = lives_event_box_new(); - hbox=lives_hbox_new(FALSE,0); + hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(tl_vbox), mt->eventbox, FALSE, FALSE, 4.*widget_opts.scale); lives_container_add(LIVES_CONTAINER(mt->eventbox), hbox); - mt->scroll_label=lives_standard_label_new(_("Scroll")); + mt->scroll_label = lives_standard_label_new(_("Scroll")); lives_box_pack_start(LIVES_BOX(hbox), mt->scroll_label, FALSE, FALSE, widget_opts.packing_width); - mt->hadjustment = (LiVESObject *)lives_adjustment_new(0.0,0.0,1.,0.25,1.,1.); - mt->time_scrollbar=lives_hscrollbar_new(LIVES_ADJUSTMENT(mt->hadjustment)); + mt->hadjustment = (LiVESObject *)lives_adjustment_new(0.0, 0.0, 1., 0.25, 1., 1.); + mt->time_scrollbar = lives_hscrollbar_new(LIVES_ADJUSTMENT(mt->hadjustment)); lives_box_pack_start(LIVES_BOX(hbox), mt->time_scrollbar, TRUE, TRUE, widget_opts.packing_width); @@ -8823,38 +8586,38 @@ LIVES_GUI_CALLBACK(scroll_time_by_scrollbar), (livespointer)mt); - mt->num_video_tracks=0; + mt->num_video_tracks = 0; - mt->timeline_table=NULL; - mt->timeline_eb=NULL; + mt->timeline_table = NULL; + mt->timeline_eb = NULL; - if (prefs->ar_layout&&mt->event_list==NULL&&!mainw->recoverable_layout) { - char *eload_file=lives_build_filename(prefs->workdir,mainw->set_name,"layouts",prefs->ar_layout_name,NULL); - mt->auto_reloading=TRUE; - set_pref(PREF_AR_LAYOUT,""); // in case we crash... - mainw->event_list=mt->event_list=load_event_list(mt,eload_file); - mt->auto_reloading=FALSE; + if (prefs->ar_layout && mt->event_list == NULL && !mainw->recoverable_layout) { + char *eload_file = lives_build_filename(prefs->workdir, mainw->set_name, "layouts", prefs->ar_layout_name, NULL); + mt->auto_reloading = TRUE; + set_pref(PREF_AR_LAYOUT, ""); // in case we crash... + mainw->event_list = mt->event_list = load_event_list(mt, eload_file); + mt->auto_reloading = FALSE; lives_free(eload_file); - if (mt->event_list!=NULL) { - mt_init_tracks(mt,TRUE); + if (mt->event_list != NULL) { + mt_init_tracks(mt, TRUE); remove_markers(mt->event_list); - set_pref(PREF_AR_LAYOUT,prefs->ar_layout_name); + set_pref(PREF_AR_LAYOUT, prefs->ar_layout_name); } else { - prefs->ar_layout=FALSE; - memset(prefs->ar_layout_name,0,1); - mt_init_tracks(mt,TRUE); - mainw->unordered_blocks=FALSE; + prefs->ar_layout = FALSE; + memset(prefs->ar_layout_name, 0, 1); + mt_init_tracks(mt, TRUE); + mainw->unordered_blocks = FALSE; } } else if (mainw->recoverable_layout) { mt_load_recovery_layout(mt); } else { - mt_init_tracks(mt,TRUE); - mainw->unordered_blocks=FALSE; + mt_init_tracks(mt, TRUE); + mainw->unordered_blocks = FALSE; } add_message_scroller(mt->vpaned); - lives_widget_set_size_request(mt->window, scr_width-widget_opts.border_width, -1); + lives_widget_set_size_request(mt->window, scr_width - widget_opts.border_width, -1); // add info bar @@ -8865,41 +8628,41 @@ (livespointer)mt); lives_accel_group_connect(LIVES_ACCEL_GROUP(mt->accel_group), LIVES_KEY_Page_Up, LIVES_CONTROL_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(mt_prevclip),mt,NULL)); + lives_cclosure_new(LIVES_GUI_CALLBACK(mt_prevclip), mt, NULL)); lives_accel_group_connect(LIVES_ACCEL_GROUP(mt->accel_group), LIVES_KEY_Page_Down, LIVES_CONTROL_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(mt_nextclip),mt,NULL)); + lives_cclosure_new(LIVES_GUI_CALLBACK(mt_nextclip), mt, NULL)); lives_accel_group_connect(LIVES_ACCEL_GROUP(mt->accel_group), LIVES_KEY_Left, LIVES_CONTROL_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(mt_tlback),mt,NULL)); + lives_cclosure_new(LIVES_GUI_CALLBACK(mt_tlback), mt, NULL)); lives_accel_group_connect(LIVES_ACCEL_GROUP(mt->accel_group), LIVES_KEY_Right, LIVES_CONTROL_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(mt_tlfor),mt,NULL)); + lives_cclosure_new(LIVES_GUI_CALLBACK(mt_tlfor), mt, NULL)); lives_accel_group_connect(LIVES_ACCEL_GROUP(mt->accel_group), LIVES_KEY_Left, LIVES_SHIFT_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(mt_tlback_frame),mt,NULL)); + lives_cclosure_new(LIVES_GUI_CALLBACK(mt_tlback_frame), mt, NULL)); lives_accel_group_connect(LIVES_ACCEL_GROUP(mt->accel_group), LIVES_KEY_Right, LIVES_SHIFT_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(mt_tlfor_frame),mt,NULL)); + lives_cclosure_new(LIVES_GUI_CALLBACK(mt_tlfor_frame), mt, NULL)); lives_accel_group_connect(LIVES_ACCEL_GROUP(mt->accel_group), LIVES_KEY_Up, LIVES_CONTROL_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(mt_trup),mt,NULL)); + lives_cclosure_new(LIVES_GUI_CALLBACK(mt_trup), mt, NULL)); lives_accel_group_connect(LIVES_ACCEL_GROUP(mt->accel_group), LIVES_KEY_Down, LIVES_CONTROL_MASK, (LiVESAccelFlags)0, - lives_cclosure_new(LIVES_GUI_CALLBACK(mt_trdown),mt,NULL)); + lives_cclosure_new(LIVES_GUI_CALLBACK(mt_trdown), mt, NULL)); - mt->last_direction=DIRECTION_POSITIVE; + mt->last_direction = DIRECTION_POSITIVE; // set check menuitems - if (mt->opts.mouse_mode==MOUSE_MODE_MOVE) on_mouse_mode_changed(LIVES_MENU_ITEM(mt->mm_move),(livespointer)mt); - else if (mt->opts.mouse_mode==MOUSE_MODE_SELECT) on_mouse_mode_changed(LIVES_MENU_ITEM(mt->mm_select),(livespointer)mt); + if (mt->opts.mouse_mode == MOUSE_MODE_MOVE) on_mouse_mode_changed(LIVES_MENU_ITEM(mt->mm_move), (livespointer)mt); + else if (mt->opts.mouse_mode == MOUSE_MODE_SELECT) on_mouse_mode_changed(LIVES_MENU_ITEM(mt->mm_select), (livespointer)mt); - if (mt->opts.insert_mode==INSERT_MODE_NORMAL) on_insert_mode_changed(LIVES_MENU_ITEM(mt->ins_normal),(livespointer)mt); + if (mt->opts.insert_mode == INSERT_MODE_NORMAL) on_insert_mode_changed(LIVES_MENU_ITEM(mt->ins_normal), (livespointer)mt); - if (mt->opts.grav_mode==GRAV_MODE_NORMAL) on_grav_mode_changed(LIVES_MENU_ITEM(mt->grav_normal),(livespointer)mt); - else if (mt->opts.grav_mode==GRAV_MODE_LEFT) on_grav_mode_changed(LIVES_MENU_ITEM(mt->grav_left),(livespointer)mt); - else if (mt->opts.grav_mode==GRAV_MODE_RIGHT) on_grav_mode_changed(LIVES_MENU_ITEM(mt->grav_right),(livespointer)mt); + if (mt->opts.grav_mode == GRAV_MODE_NORMAL) on_grav_mode_changed(LIVES_MENU_ITEM(mt->grav_normal), (livespointer)mt); + else if (mt->opts.grav_mode == GRAV_MODE_LEFT) on_grav_mode_changed(LIVES_MENU_ITEM(mt->grav_left), (livespointer)mt); + else if (mt->opts.grav_mode == GRAV_MODE_RIGHT) on_grav_mode_changed(LIVES_MENU_ITEM(mt->grav_right), (livespointer)mt); set_mt_colours(mt); mt_sensitise(mt); - mt->is_ready=TRUE; + mt->is_ready = TRUE; lives_widget_grab_focus(mainw->textview1); @@ -8911,45 +8674,45 @@ // WARNING - does not yet delete events from event_list // only deletes visually - track_rect *block=(track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "blocks"),*blocknext; + track_rect *block = (track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "blocks"), *blocknext; - LiVESWidget *label,*labelbox,*arrow,*ahbox,*xeventbox; + LiVESWidget *label, *labelbox, *arrow, *ahbox, *xeventbox; lives_painter_surface_t *bgimg; - while (block!=NULL) { - blocknext=block->next; - if (mt->block_selected==block) mt->block_selected=NULL; + while (block != NULL) { + blocknext = block->next; + if (mt->block_selected == block) mt->block_selected = NULL; lives_free(block); - block=blocknext; + block = blocknext; } - if ((bgimg=(lives_painter_surface_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "bgimg"))!=NULL) { + if ((bgimg = (lives_painter_surface_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "bgimg")) != NULL) { lives_painter_surface_destroy(bgimg); } - label=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "label"); - arrow=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "arrow"); + label = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "label"); + arrow = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "arrow"); lives_widget_destroy(label); lives_widget_destroy(arrow); - if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"hidden"))==0) { - labelbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "labelbox"); - ahbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "ahbox"); - if (labelbox!=NULL) lives_widget_destroy(labelbox); - if (ahbox!=NULL) lives_widget_destroy(ahbox); + if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "hidden")) == 0) { + labelbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "labelbox"); + ahbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "ahbox"); + if (labelbox != NULL) lives_widget_destroy(labelbox); + if (ahbox != NULL) lives_widget_destroy(ahbox); } - xeventbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"achan0"); - if (xeventbox!=NULL) { - if ((bgimg=(lives_painter_surface_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox), "bgimg"))!=NULL) { + xeventbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "achan0"); + if (xeventbox != NULL) { + if ((bgimg = (lives_painter_surface_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox), "bgimg")) != NULL) { lives_painter_surface_destroy(bgimg); } lives_widget_destroy(xeventbox); } - if (cfile->achans>1) { - xeventbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"achan1"); - if (xeventbox!=NULL) { - if ((bgimg=(lives_painter_surface_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox), "bgimg"))!=NULL) { + if (cfile->achans > 1) { + xeventbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "achan1"); + if (xeventbox != NULL) { + if ((bgimg = (lives_painter_surface_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox), "bgimg")) != NULL) { lives_painter_surface_destroy(bgimg); } @@ -8957,12 +8720,11 @@ } } - lives_free(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"track_name")); + lives_free(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "track_name")); lives_widget_destroy(eventbox); } - static int *update_layout_map(weed_plant_t *event_list) { // update our current layout map with the current layout // returns an int * of maximum frame used for each clip that exists, 0 means unused @@ -8970,35 +8732,33 @@ weed_plant_t *event; int i; - used_clips=(int *)lives_malloc((MAX_FILES+1)*sizint); - for (i=1; i<=MAX_FILES; i++) used_clips[i]=0; - - if (event_list==NULL) return used_clips; + used_clips = (int *)lives_malloc((MAX_FILES + 1) * sizint); + for (i = 1; i <= MAX_FILES; i++) used_clips[i] = 0; - event=get_first_event(event_list); + if (event_list == NULL) return used_clips; + event = get_first_event(event_list); - while (event!=NULL) { + while (event != NULL) { if (WEED_EVENT_IS_FRAME(event)) { - int numtracks=weed_leaf_num_elements(event,WEED_LEAF_CLIPS); - if (numtracks>0) { - int i,error; - int *clip_index=weed_get_int_array(event,WEED_LEAF_CLIPS,&error); - int *frame_index=weed_get_int_array(event,WEED_LEAF_FRAMES,&error); - for (i=0; i<numtracks; i++) { - if (clip_index[i]>0&&(frame_index[i]>used_clips[clip_index[i]])) used_clips[clip_index[i]]=frame_index[i]; + int numtracks = weed_leaf_num_elements(event, WEED_LEAF_CLIPS); + if (numtracks > 0) { + int i, error; + int *clip_index = weed_get_int_array(event, WEED_LEAF_CLIPS, &error); + int *frame_index = weed_get_int_array(event, WEED_LEAF_FRAMES, &error); + for (i = 0; i < numtracks; i++) { + if (clip_index[i] > 0 && (frame_index[i] > used_clips[clip_index[i]])) used_clips[clip_index[i]] = frame_index[i]; } lives_free(clip_index); lives_free(frame_index); } } - event=get_next_event(event); + event = get_next_event(event); } return used_clips; } - static double *update_layout_map_audio(weed_plant_t *event_list) { // update our current layout map with the current layout // returns a double * of maximum audio in seconds used for each clip that exists, 0. means unused @@ -9022,58 +8782,56 @@ weed_timecode_t tc; int last_aclip; - used_clips=(double *)lives_malloc((MAX_FILES+1)*sizdbl); - for (i=1; i<=MAX_FILES; i++) used_clips[i]=0.; + used_clips = (double *)lives_malloc((MAX_FILES + 1) * sizdbl); + for (i = 1; i <= MAX_FILES; i++) used_clips[i] = 0.; - if (event_list==NULL) return used_clips; + if (event_list == NULL) return used_clips; - event=get_first_event(event_list); + event = get_first_event(event_list); - for (i=0; i<MAX_AUDIO_TRACKS; i++) { - avel[i]=neg_avel[i]=0.; + for (i = 0; i < MAX_AUDIO_TRACKS; i++) { + avel[i] = neg_avel[i] = 0.; } - - while (event!=NULL) { + while (event != NULL) { if (WEED_EVENT_IS_FRAME(event)) { if (WEED_EVENT_IS_AUDIO_FRAME(event)) { - int numatracks=weed_leaf_num_elements(event,WEED_LEAF_AUDIO_CLIPS); - int i,error; - int *aclip_index=weed_get_int_array(event,WEED_LEAF_AUDIO_CLIPS,&error); - double *aseek_index=weed_get_double_array(event,WEED_LEAF_AUDIO_SEEKS,&error); - for (i=0; i<numatracks; i+=2) { - if (aclip_index[i+1]>0) { - atrack=aclip_index[i]; - tc=get_event_timecode(event); - if (atrack>=0) { - if (atrack>=MAX_AUDIO_TRACKS) { + int numatracks = weed_leaf_num_elements(event, WEED_LEAF_AUDIO_CLIPS); + int i, error; + int *aclip_index = weed_get_int_array(event, WEED_LEAF_AUDIO_CLIPS, &error); + double *aseek_index = weed_get_double_array(event, WEED_LEAF_AUDIO_SEEKS, &error); + for (i = 0; i < numatracks; i += 2) { + if (aclip_index[i + 1] > 0) { + atrack = aclip_index[i]; + tc = get_event_timecode(event); + if (atrack >= 0) { + if (atrack >= MAX_AUDIO_TRACKS) { LIVES_ERROR("invalid atrack"); } else { - if (avel[atrack]!=0.) { - aval=aseek[atrack]+(tc-atc[atrack])/U_SEC*avel[atrack]; - last_aclip=last_aclips[atrack]; - if (aval>used_clips[last_aclip]) used_clips[last_aclip]=aval; + if (avel[atrack] != 0.) { + aval = aseek[atrack] + (tc - atc[atrack]) / U_SEC * avel[atrack]; + last_aclip = last_aclips[atrack]; + if (aval > used_clips[last_aclip]) used_clips[last_aclip] = aval; } - aseek[atrack]=aseek_index[i]; - avel[atrack]=aseek_index[i+1]; - atc[atrack]=tc; - last_aclips[atrack]=aclip_index[i+1]; + aseek[atrack] = aseek_index[i]; + avel[atrack] = aseek_index[i + 1]; + atc[atrack] = tc; + last_aclips[atrack] = aclip_index[i + 1]; } - } else { - atrack=-atrack; - if (atrack>MAX_AUDIO_TRACKS) { + atrack = -atrack; + if (atrack > MAX_AUDIO_TRACKS) { LIVES_ERROR("invalid back atrack"); } else { - if (neg_avel[atrack]!=0.) { - aval=neg_aseek[atrack]+(tc-neg_atc[atrack])/U_SEC*neg_avel[atrack]; - last_aclip=neg_last_aclips[atrack]; - if (aval>used_clips[last_aclip]) used_clips[last_aclip]=aval; + if (neg_avel[atrack] != 0.) { + aval = neg_aseek[atrack] + (tc - neg_atc[atrack]) / U_SEC * neg_avel[atrack]; + last_aclip = neg_last_aclips[atrack]; + if (aval > used_clips[last_aclip]) used_clips[last_aclip] = aval; } - neg_aseek[atrack]=aseek_index[i]; - neg_avel[atrack]=aseek_index[i+1]; - neg_atc[atrack]=tc; - neg_last_aclips[atrack]=aclip_index[i+1]; + neg_aseek[atrack] = aseek_index[i]; + neg_avel[atrack] = aseek_index[i + 1]; + neg_atc[atrack] = tc; + neg_last_aclips[atrack] = aclip_index[i + 1]; } } } @@ -9082,116 +8840,110 @@ lives_free(aseek_index); } } - event=get_next_event(event); + event = get_next_event(event); } return used_clips; } - boolean used_in_current_layout(lives_mt *mt, int file) { // see if <file> is used in current layout int *layout_map; double *layout_map_audio; - boolean retval=FALSE; + boolean retval = FALSE; - if (mainw->stored_event_list!=NULL) { - return (mainw->files[file]->stored_layout_frame>0||mainw->files[file]->stored_layout_audio>0.); + if (mainw->stored_event_list != NULL) { + return (mainw->files[file]->stored_layout_frame > 0 || mainw->files[file]->stored_layout_audio > 0.); } - if (mt!=NULL&&mt->event_list!=NULL) { - layout_map=update_layout_map(mt->event_list); - layout_map_audio=update_layout_map_audio(mt->event_list); + if (mt != NULL && mt->event_list != NULL) { + layout_map = update_layout_map(mt->event_list); + layout_map_audio = update_layout_map_audio(mt->event_list); - if (layout_map[file]>0||layout_map_audio[file]>0.) retval=TRUE; + if (layout_map[file] > 0 || layout_map_audio[file] > 0.) retval = TRUE; lives_freep((void **)&layout_map); lives_freep((void **)&layout_map_audio); } return retval; - } - - - - boolean multitrack_delete(lives_mt *mt, boolean save_layout) { // free lives_mt struct int *layout_map; - double *layout_map_audio=NULL; + double *layout_map_audio = NULL; char *tmp; - boolean transfer_focus=FALSE; - boolean needs_idlefunc=FALSE; + boolean transfer_focus = FALSE; + boolean needs_idlefunc = FALSE; register int i; - mainw->cancelled=CANCEL_NONE; + mainw->cancelled = CANCEL_NONE; - if (mt->idlefunc>0) { - needs_idlefunc=TRUE; + if (mt->idlefunc > 0) { + needs_idlefunc = TRUE; lives_source_remove(mt->idlefunc); - mt->idlefunc=0; + mt->idlefunc = 0; } - if (mt->frame_pixbuf!=NULL&&mt->frame_pixbuf!=mainw->imframe) { + if (mt->frame_pixbuf != NULL && mt->frame_pixbuf != mainw->imframe) { lives_object_unref(mt->frame_pixbuf); - mt->frame_pixbuf=NULL; + mt->frame_pixbuf = NULL; } - if (save_layout||mainw->scrap_file!=-1||mainw->ascrap_file!=-1) { - int file_selected=mt->file_selected; - if (!check_for_layout_del(mt,TRUE)) { - if (needs_idlefunc) mt->idlefunc=mt_idle_add(mt); + if (save_layout || mainw->scrap_file != -1 || mainw->ascrap_file != -1) { + int file_selected = mt->file_selected; + if (!check_for_layout_del(mt, TRUE)) { + if (needs_idlefunc) mt->idlefunc = mt_idle_add(mt); return FALSE; } - mt->file_selected=file_selected; // because init_clips will reset this + mt->file_selected = file_selected; // because init_clips will reset this } else { - if (mt->event_list!=NULL) { + if (mt->event_list != NULL) { - save_event_list_inner(mt,-1,mt->event_list,NULL); // set width, height, fps etc. - add_markers(mt,mt->event_list,FALSE); + save_event_list_inner(mt, -1, mt->event_list, NULL); // set width, height, fps etc. + add_markers(mt, mt->event_list, FALSE); - mainw->stored_event_list=mt->event_list; + mainw->stored_event_list = mt->event_list; #ifdef DEBUG_TTABLE int error; - weed_plant_t *tevent=get_first_event(mt->event_list); - tevent=get_next_event(tevent); - tevent=get_next_event(tevent); - g_print("VALXX is %p\n",weed_get_voidptr_value(tevent,WEED_LEAF_INIT_EVENT,&error)); -#endif - - mt->event_list=NULL; - mainw->stored_event_list_changed=mt->changed; - mainw->stored_event_list_auto_changed=mt->auto_changed; - lives_snprintf(mainw->stored_layout_name,256,"%s",mt->layout_name); - mainw->stored_layout_undos=mt->undos; - mainw->sl_undo_mem=mt->undo_mem; - mainw->sl_undo_buffer_used=mt->undo_buffer_used; - mainw->sl_undo_offset=mt->undo_offset; - mt->undos=NULL; - mt->undo_mem=NULL; + weed_plant_t *tevent = get_first_event(mt->event_list); + tevent = get_next_event(tevent); + tevent = get_next_event(tevent); + g_print("VALXX is %p\n", weed_get_voidptr_value(tevent, WEED_LEAF_INIT_EVENT, &error)); +#endif + + mt->event_list = NULL; + mainw->stored_event_list_changed = mt->changed; + mainw->stored_event_list_auto_changed = mt->auto_changed; + lives_snprintf(mainw->stored_layout_name, 256, "%s", mt->layout_name); + mainw->stored_layout_undos = mt->undos; + mainw->sl_undo_mem = mt->undo_mem; + mainw->sl_undo_buffer_used = mt->undo_buffer_used; + mainw->sl_undo_offset = mt->undo_offset; + mt->undos = NULL; + mt->undo_mem = NULL; // update layout maps (kind of) with the stored_event_list - layout_map=update_layout_map(mainw->stored_event_list); - layout_map_audio=update_layout_map_audio(mainw->stored_event_list); + layout_map = update_layout_map(mainw->stored_event_list); + layout_map_audio = update_layout_map_audio(mainw->stored_event_list); - for (i=1; i<MAX_FILES; i++) { - if (mainw->files[i]!=NULL&&(layout_map[i]!=0||(layout_map_audio!=NULL&&layout_map_audio[i]!=0.))) { - mainw->files[i]->stored_layout_frame=layout_map[i]; - if (layout_map_audio!=NULL) - mainw->files[i]->stored_layout_audio=layout_map_audio[i]; + for (i = 1; i < MAX_FILES; i++) { + if (mainw->files[i] != NULL && (layout_map[i] != 0 || (layout_map_audio != NULL && layout_map_audio[i] != 0.))) { + mainw->files[i]->stored_layout_frame = layout_map[i]; + if (layout_map_audio != NULL) + mainw->files[i]->stored_layout_audio = layout_map_audio[i]; else - mainw->files[i]->stored_layout_audio=0.; - mainw->files[i]->stored_layout_fps=mainw->files[i]->fps; - mainw->files[i]->stored_layout_idx=i; + mainw->files[i]->stored_layout_audio = 0.; + mainw->files[i]->stored_layout_fps = mainw->files[i]->fps; + mainw->files[i]->stored_layout_idx = i; } } @@ -9200,100 +8952,99 @@ } } - if (mt->amixer!=NULL) on_amixer_close_clicked(NULL,mt); + if (mt->amixer != NULL) on_amixer_close_clicked(NULL, mt); - mt->no_expose=TRUE; - mt->is_ready=FALSE; + mt->no_expose = TRUE; + mt->is_ready = FALSE; - mainw->multi_opts.set=TRUE; - mainw->multi_opts.move_effects=mt->opts.move_effects; - mainw->multi_opts.fx_auto_preview=mt->opts.fx_auto_preview; - mainw->multi_opts.snap_over=mt->opts.snap_over; - mainw->multi_opts.grav_mode=mt->opts.grav_mode; - mainw->multi_opts.mouse_mode=mt->opts.mouse_mode; - mainw->multi_opts.insert_mode=mt->opts.insert_mode; - mainw->multi_opts.show_audio=mt->opts.show_audio; - mainw->multi_opts.show_ctx=mt->opts.show_ctx; - mainw->multi_opts.ign_ins_sel=mt->opts.ign_ins_sel; - mainw->multi_opts.follow_playback=mt->opts.follow_playback; - mainw->multi_opts.autocross_audio=mt->opts.autocross_audio; - - mainw->multi_opts.render_audp=mt->opts.render_audp; - mainw->multi_opts.render_vidp=mt->opts.render_vidp; - mainw->multi_opts.normalise_audp=mt->opts.normalise_audp; - mainw->multi_opts.aparam_view_list=mt->opts.aparam_view_list; + mainw->multi_opts.set = TRUE; + mainw->multi_opts.move_effects = mt->opts.move_effects; + mainw->multi_opts.fx_auto_preview = mt->opts.fx_auto_preview; + mainw->multi_opts.snap_over = mt->opts.snap_over; + mainw->multi_opts.grav_mode = mt->opts.grav_mode; + mainw->multi_opts.mouse_mode = mt->opts.mouse_mode; + mainw->multi_opts.insert_mode = mt->opts.insert_mode; + mainw->multi_opts.show_audio = mt->opts.show_audio; + mainw->multi_opts.show_ctx = mt->opts.show_ctx; + mainw->multi_opts.ign_ins_sel = mt->opts.ign_ins_sel; + mainw->multi_opts.follow_playback = mt->opts.follow_playback; + mainw->multi_opts.autocross_audio = mt->opts.autocross_audio; + + mainw->multi_opts.render_audp = mt->opts.render_audp; + mainw->multi_opts.render_vidp = mt->opts.render_vidp; + mainw->multi_opts.normalise_audp = mt->opts.normalise_audp; + mainw->multi_opts.aparam_view_list = mt->opts.aparam_view_list; - if (mt->poly_state==POLY_PARAMS) polymorph(mt,POLY_CLIPS); + if (mt->poly_state == POLY_PARAMS) polymorph(mt, POLY_CLIPS); lives_freep((void **)&mt->undo_mem); - if (mt->undos!=NULL) lives_list_free(mt->undos); + if (mt->undos != NULL) lives_list_free(mt->undos); - if (mt->selected_tracks!=NULL) lives_list_free(mt->selected_tracks); + if (mt->selected_tracks != NULL) lives_list_free(mt->selected_tracks); - if (mainw->event_list==mt->event_list) mainw->event_list=NULL; - if (mt->event_list!=NULL) event_list_free(mt->event_list); - mt->event_list=NULL; + if (mainw->event_list == mt->event_list) mainw->event_list = NULL; + if (mt->event_list != NULL) event_list_free(mt->event_list); + mt->event_list = NULL; - if (mt->clip_selected>=0&&mainw->files[mt_file_from_clip(mt,mt->clip_selected)]!=NULL) - mt_file_from_clip(mt,mt->clip_selected); + if (mt->clip_selected >= 0 && mainw->files[mt_file_from_clip(mt, mt->clip_selected)] != NULL) + mt_file_from_clip(mt, mt->clip_selected); - if (mt->clip_labels!=NULL) lives_list_free(mt->clip_labels); + if (mt->clip_labels != NULL) lives_list_free(mt->clip_labels); add_message_scroller(mainw->message_box); if (prefs->show_gui) { show_lives(); - if (lives_window_has_toplevel_focus(LIVES_WINDOW(mt->window))) transfer_focus=TRUE; + if (lives_window_has_toplevel_focus(LIVES_WINDOW(mt->window))) transfer_focus = TRUE; lives_widget_show(mainw->LiVES); - mainw->is_ready=mainw_was_ready; + mainw->is_ready = mainw_was_ready; unblock_expose(); } lives_window_remove_accel_group(LIVES_WINDOW(mt->window), mt->accel_group); - lives_signal_handler_block(mainw->full_screen,mainw->fullscreen_cb_func); - lives_signal_handler_block(mainw->sepwin,mainw->sepwin_cb_func); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->full_screen),mainw->fs); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->sepwin),mainw->sep_win); - lives_signal_handler_unblock(mainw->full_screen,mainw->fullscreen_cb_func); - lives_signal_handler_unblock(mainw->sepwin,mainw->sepwin_cb_func); + lives_signal_handler_block(mainw->full_screen, mainw->fullscreen_cb_func); + lives_signal_handler_block(mainw->sepwin, mainw->sepwin_cb_func); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->full_screen), mainw->fs); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->sepwin), mainw->sep_win); + lives_signal_handler_unblock(mainw->full_screen, mainw->fullscreen_cb_func); + lives_signal_handler_unblock(mainw->sepwin, mainw->sepwin_cb_func); - if (mainw->play_window!=NULL) { + if (mainw->play_window != NULL) { lives_window_remove_accel_group(LIVES_WINDOW(mainw->play_window), mt->accel_group); lives_window_add_accel_group(LIVES_WINDOW(mainw->play_window), mainw->accel_group); } // put buttons back in mainw->menubar - mt_swap_play_pause(mt,FALSE); - - lives_signal_handler_block(mainw->loop_continue,mainw->loop_cont_func); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->loop_continue),mainw->loop_cont); - lives_signal_handler_unblock(mainw->loop_continue,mainw->loop_cont_func); - - lives_signal_handler_block(mainw->mute_audio,mainw->mute_audio_func); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->mute_audio),mainw->mute); - lives_signal_handler_unblock(mainw->mute_audio,mainw->mute_audio_func); + mt_swap_play_pause(mt, FALSE); + lives_signal_handler_block(mainw->loop_continue, mainw->loop_cont_func); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->loop_continue), mainw->loop_cont); + lives_signal_handler_unblock(mainw->loop_continue, mainw->loop_cont_func); + + lives_signal_handler_block(mainw->mute_audio, mainw->mute_audio_func); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->mute_audio), mainw->mute); + lives_signal_handler_unblock(mainw->mute_audio, mainw->mute_audio_func); lives_object_ref(mainw->m_sepwinbutton); lives_widget_unparent(mainw->m_sepwinbutton); - lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar),LIVES_TOOL_ITEM(mainw->m_sepwinbutton),0); + lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar), LIVES_TOOL_ITEM(mainw->m_sepwinbutton), 0); lives_object_unref(mainw->m_sepwinbutton); lives_object_ref(mainw->m_rewindbutton); lives_widget_unparent(mainw->m_rewindbutton); - lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar),LIVES_TOOL_ITEM(mainw->m_rewindbutton),1); + lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar), LIVES_TOOL_ITEM(mainw->m_rewindbutton), 1); lives_object_unref(mainw->m_rewindbutton); lives_object_ref(mainw->m_playbutton); lives_widget_unparent(mainw->m_playbutton); - lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar),LIVES_TOOL_ITEM(mainw->m_playbutton),2); + lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar), LIVES_TOOL_ITEM(mainw->m_playbutton), 2); lives_object_unref(mainw->m_playbutton); lives_object_ref(mainw->m_stopbutton); lives_widget_unparent(mainw->m_stopbutton); - lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar),LIVES_TOOL_ITEM(mainw->m_stopbutton),3); + lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar), LIVES_TOOL_ITEM(mainw->m_stopbutton), 3); lives_object_unref(mainw->m_stopbutton); /* lives_object_ref(mainw->m_playselbutton); @@ -9303,26 +9054,26 @@ lives_object_ref(mainw->m_loopbutton); lives_widget_unparent(mainw->m_loopbutton); - lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar),LIVES_TOOL_ITEM(mainw->m_loopbutton),5); + lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar), LIVES_TOOL_ITEM(mainw->m_loopbutton), 5); lives_object_unref(mainw->m_loopbutton); lives_object_ref(mainw->m_mutebutton); lives_widget_unparent(mainw->m_mutebutton); - lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar),LIVES_TOOL_ITEM(mainw->m_mutebutton),6); + lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar), LIVES_TOOL_ITEM(mainw->m_mutebutton), 6); lives_object_unref(mainw->m_mutebutton); - if (!lives_scale_button_set_orientation(LIVES_SCALE_BUTTON(mainw->volume_scale),LIVES_ORIENTATION_HORIZONTAL)) { - if (mainw->vol_label!=NULL) { + if (!lives_scale_button_set_orientation(LIVES_SCALE_BUTTON(mainw->volume_scale), LIVES_ORIENTATION_HORIZONTAL)) { + if (mainw->vol_label != NULL) { lives_object_ref(mainw->vol_label); lives_widget_unparent(mainw->vol_label); - lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar),LIVES_TOOL_ITEM(mainw->vol_label),7); + lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar), LIVES_TOOL_ITEM(mainw->vol_label), 7); lives_object_unref(mainw->vol_label); } } lives_object_ref(mainw->vol_toolitem); lives_widget_unparent(mainw->vol_toolitem); - lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar),LIVES_TOOL_ITEM(mainw->vol_toolitem),-1); + lives_toolbar_insert(LIVES_TOOLBAR(mainw->btoolbar), LIVES_TOOL_ITEM(mainw->vol_toolitem), -1); lives_object_unref(mainw->vol_toolitem); lives_object_ref(mainw->gens_menu); @@ -9331,33 +9082,32 @@ lives_menu_item_set_submenu(LIVES_MENU_ITEM(mainw->gens_submenu), mainw->gens_menu); if (mt->mt_frame_preview) { - if (mainw->plug!=NULL) { - lives_container_remove(LIVES_CONTAINER(mainw->plug),mainw->play_image); + if (mainw->plug != NULL) { + lives_container_remove(LIVES_CONTAINER(mainw->plug), mainw->play_image); lives_widget_destroy(mainw->plug); - mainw->plug=NULL; + mainw->plug = NULL; } - mainw->playarea = lives_hbox_new(FALSE,0); + mainw->playarea = lives_hbox_new(FALSE, 0); lives_container_add(LIVES_CONTAINER(mainw->pl_eventbox), mainw->playarea); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(mainw->playframe, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); } lives_widget_show(mainw->playarea); } - // free our track_rects - if (cfile->achans>0) { - delete_audio_tracks(mt,mt->audio_draws,FALSE); - if (mt->audio_vols!=NULL) lives_list_free(mt->audio_vols); + if (cfile->achans > 0) { + delete_audio_tracks(mt, mt->audio_draws, FALSE); + if (mt->audio_vols != NULL) lives_list_free(mt->audio_vols); } - if (cfile->total_time==0.) close_current_file(mt->file_selected); + if (cfile->total_time == 0.) close_current_file(mt->file_selected); - if (mt->video_draws!=NULL) { - for (i=0; i<mt->num_video_tracks; i++) { - delete_video_track(mt,i,FALSE); + if (mt->video_draws != NULL) { + for (i = 0; i < mt->num_video_tracks; i++) { + delete_video_track(mt, i, FALSE); } lives_list_free(mt->video_draws); } @@ -9370,26 +9120,26 @@ lives_widget_destroy(mt->window); - mainw->multitrack=NULL; - mainw->event_list=NULL; + mainw->multitrack = NULL; + mainw->event_list = NULL; - for (i=1; i<MAX_FILES; i++) { - if (mainw->files[i]!=NULL) { - if (mainw->files[i]->event_list!=NULL) { + for (i = 1; i < MAX_FILES; i++) { + if (mainw->files[i] != NULL) { + if (mainw->files[i]->event_list != NULL) { event_list_free(mainw->files[i]->event_list); } - mainw->files[i]->event_list=NULL; + mainw->files[i]->event_list = NULL; } } - if (mainw->current_file>0) sensitize(); + if (mainw->current_file > 0) sensitize(); lives_widget_hide(mainw->playframe); - mainw->is_rendering=FALSE; - if (transfer_focus&&prefs->show_gui) lives_window_present(LIVES_WINDOW(mainw->LiVES)); + mainw->is_rendering = FALSE; + if (transfer_focus && prefs->show_gui) lives_window_present(LIVES_WINDOW(mainw->LiVES)); reset_clipmenu(); - mainw->last_dprint_file=-1; + mainw->last_dprint_file = -1; - if (prefs->gui_monitor>0) { + if (prefs->gui_monitor > 0) { lives_window_center(LIVES_WINDOW(mainw->LiVES)); } @@ -9397,67 +9147,65 @@ d_print(_("\n==============================\nSwitched to Clip Edit mode\n")); - if (mt->file_selected!=-1) { - switch_to_file((mainw->current_file=0),mt->file_selected); + if (mt->file_selected != -1) { + switch_to_file((mainw->current_file = 0), mt->file_selected); } lives_widget_context_update(); - if (prefs->show_gui&&prefs->open_maximised) { - int wx,wy; - lives_window_get_position(LIVES_WINDOW(mainw->LiVES),&wx,&wy); - if (prefs->gui_monitor==0&&(wx>0||wy>0)) lives_window_move(LIVES_WINDOW(mainw->LiVES),0,0); + if (prefs->show_gui && prefs->open_maximised) { + int wx, wy; + lives_window_get_position(LIVES_WINDOW(mainw->LiVES), &wx, &wy); + if (prefs->gui_monitor == 0 && (wx > 0 || wy > 0)) lives_window_move(LIVES_WINDOW(mainw->LiVES), 0, 0); lives_window_maximize(LIVES_WINDOW(mainw->LiVES)); } - if (ce_sepwin_type==SEPWIN_TYPE_STICKY) on_sticky_activate(NULL,NULL); + if (ce_sepwin_type == SEPWIN_TYPE_STICKY) on_sticky_activate(NULL, NULL); lives_widget_context_update(); lives_free(mt); - if (mainw->play_window!=NULL) { - char *xtrabit,*title; + if (mainw->play_window != NULL) { + char *xtrabit, *title; resize_play_window(); - if (mainw->sepwin_scale!=100.) xtrabit=lives_strdup_printf(_(" (%d %% scale)"),(int)mainw->sepwin_scale); - else xtrabit=lives_strdup(""); - title=lives_strdup_printf("%s%s",lives_window_get_title(LIVES_WINDOW(mainw->LiVES)),xtrabit); - lives_window_set_title(LIVES_WINDOW(mainw->play_window),title); + if (mainw->sepwin_scale != 100.) xtrabit = lives_strdup_printf(_(" (%d %% scale)"), (int)mainw->sepwin_scale); + else xtrabit = lives_strdup(""); + title = lives_strdup_printf("%s%s", lives_window_get_title(LIVES_WINDOW(mainw->LiVES)), xtrabit); + lives_window_set_title(LIVES_WINDOW(mainw->play_window), title); lives_free(title); lives_free(xtrabit); } - lives_notify(LIVES_OSC_NOTIFY_MODE_CHANGED,(tmp=lives_strdup_printf("%d",STARTUP_CE))); + lives_notify(LIVES_OSC_NOTIFY_MODE_CHANGED, (tmp = lives_strdup_printf("%d", STARTUP_CE))); lives_free(tmp); return TRUE; } - static void locate_avol_init_event(lives_mt *mt, weed_plant_t *event_list, int avol_fx) { // once we have detected or assigned our audio volume effect, we search for a FILTER_INIT event for it // this becomes our mt->avol_init_event int error; char *filter_hash; - weed_plant_t *event=get_first_event(event_list); + weed_plant_t *event = get_first_event(event_list); - while (event!=NULL) { + while (event != NULL) { if (WEED_EVENT_IS_FILTER_INIT(event)) { - filter_hash=weed_get_string_value(event,WEED_LEAF_FILTER,&error); - if (avol_fx==weed_get_idx_for_hashname(filter_hash,TRUE)) { + filter_hash = weed_get_string_value(event, WEED_LEAF_FILTER, &error); + if (avol_fx == weed_get_idx_for_hashname(filter_hash, TRUE)) { lives_free(filter_hash); - mt->avol_init_event=event; + mt->avol_init_event = event; return; } lives_free(filter_hash); } - event=get_next_event(event); + event = get_next_event(event); } } - static track_rect *add_block_start_point(LiVESWidget *eventbox, weed_timecode_t tc, int filenum, weed_timecode_t offset_start, weed_plant_t *event, boolean ordered) { // each mt->video_draw (eventbox) has a ulong data which points to a linked list of track_rect @@ -9469,44 +9217,44 @@ // note: filenum is unused and may be removed in future - track_rect *block=(track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "blocks"); - track_rect *new_block=(track_rect *)lives_malloc(sizeof(track_rect)); + track_rect *block = (track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "blocks"); + track_rect *new_block = (track_rect *)lives_malloc(sizeof(track_rect)); - new_block->uid=lives_random(); - new_block->next=new_block->prev=NULL; - new_block->state=BLOCK_UNSELECTED; - new_block->start_anchored=new_block->end_anchored=FALSE; - new_block->start_event=event; - new_block->ordered=ordered; - new_block->eventbox=eventbox; - new_block->offset_start=offset_start; + new_block->uid = lives_random(); + new_block->next = new_block->prev = NULL; + new_block->state = BLOCK_UNSELECTED; + new_block->start_anchored = new_block->end_anchored = FALSE; + new_block->start_event = event; + new_block->ordered = ordered; + new_block->eventbox = eventbox; + new_block->offset_start = offset_start; - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"block_last",(livespointer)new_block); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "block_last", (livespointer)new_block); - while (block!=NULL) { - if (get_event_timecode(block->start_event)>tc) { + while (block != NULL) { + if (get_event_timecode(block->start_event) > tc) { // found a block after insertion point - if (block->prev!=NULL) { - block->prev->next=new_block; - new_block->prev=block->prev; + if (block->prev != NULL) { + block->prev->next = new_block; + new_block->prev = block->prev; } // add as first block - else lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"blocks",(livespointer)new_block); - new_block->next=block; - block->prev=new_block; + else lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "blocks", (livespointer)new_block); + new_block->next = block; + block->prev = new_block; break; } - if (block->next==NULL) { + if (block->next == NULL) { // add as last block - block->next=new_block; - new_block->prev=block; + block->next = new_block; + new_block->prev = block; break; } - block=block->next; + block = block->next; } // there were no blocks there - if (block==NULL) lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"blocks",(livespointer)new_block); + if (block == NULL) lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "blocks", (livespointer)new_block); return new_block; } @@ -9514,57 +9262,55 @@ static track_rect *add_block_end_point(LiVESWidget *eventbox, weed_plant_t *event) { // here we add the end point to our last track_rect - track_rect *block=(track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"block_last"); - if (block!=NULL) block->end_event=event; + track_rect *block = (track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "block_last"); + if (block != NULL) block->end_event = event; return block; } static boolean on_tlreg_enter(LiVESWidget *widget, LiVESXEventCrossing *event, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - if (mt->cursor_style!=LIVES_CURSOR_NORMAL) return FALSE; - lives_set_cursor_style(LIVES_CURSOR_SB_H_DOUBLE_ARROW,widget); + lives_mt *mt = (lives_mt *)user_data; + if (mt->cursor_style != LIVES_CURSOR_NORMAL) return FALSE; + lives_set_cursor_style(LIVES_CURSOR_SB_H_DOUBLE_ARROW, widget); return FALSE; } + static boolean on_tleb_enter(LiVESWidget *widget, LiVESXEventCrossing *event, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - if (mt->cursor_style!=LIVES_CURSOR_NORMAL) return FALSE; - lives_set_cursor_style(LIVES_CURSOR_CENTER_PTR,widget); + lives_mt *mt = (lives_mt *)user_data; + if (mt->cursor_style != LIVES_CURSOR_NORMAL) return FALSE; + lives_set_cursor_style(LIVES_CURSOR_CENTER_PTR, widget); return FALSE; } - - static void reset_renumbering(lives_mt *mt) { int i; - for (i=1; i<=MAX_FILES; i++) { - if (mainw->files[i]!=NULL) { - renumbered_clips[i]=i; - } else renumbered_clips[i]=0; + for (i = 1; i <= MAX_FILES; i++) { + if (mainw->files[i] != NULL) { + renumbered_clips[i] = i; + } else renumbered_clips[i] = 0; } } - static void set_track_labels(lives_mt *mt) { int error; register int i; - if (weed_plant_has_leaf(mt->event_list,WEED_LEAF_TRACK_LABEL_TRACKS)) { - int navs=weed_leaf_num_elements(mt->event_list,WEED_LEAF_TRACK_LABEL_TRACKS); - int *navals=weed_get_int_array(mt->event_list,WEED_LEAF_TRACK_LABEL_TRACKS,&error); - - int nlabs=weed_leaf_num_elements(mt->event_list,WEED_LEAF_TRACK_LABEL_VALUES); - char **labs=weed_get_string_array(mt->event_list,WEED_LEAF_TRACK_LABEL_VALUES,&error); - - if (nlabs<navs) navs=nlabs; - - for (i=0; i<navs; i++) { - int nt=navals[i]; - if (nt<mt->num_video_tracks) { - set_track_label_string(mt,nt,labs[i]); + if (weed_plant_has_leaf(mt->event_list, WEED_LEAF_TRACK_LABEL_TRACKS)) { + int navs = weed_leaf_num_elements(mt->event_list, WEED_LEAF_TRACK_LABEL_TRACKS); + int *navals = weed_get_int_array(mt->event_list, WEED_LEAF_TRACK_LABEL_TRACKS, &error); + + int nlabs = weed_leaf_num_elements(mt->event_list, WEED_LEAF_TRACK_LABEL_VALUES); + char **labs = weed_get_string_array(mt->event_list, WEED_LEAF_TRACK_LABEL_VALUES, &error); + + if (nlabs < navs) navs = nlabs; + + for (i = 0; i < navs; i++) { + int nt = navals[i]; + if (nt < mt->num_video_tracks) { + set_track_label_string(mt, nt, labs[i]); } } @@ -9578,77 +9324,77 @@ LiVESWidget *label; LiVESList *tlist; - mt->avol_init_event=NULL; + mt->avol_init_event = NULL; - tlist=mt->audio_draws; + tlist = mt->audio_draws; - while (mt->audio_draws!=NULL) { - if (mt->audio_draws->data!=NULL) lives_widget_destroy((LiVESWidget *)mt->audio_draws->data); - mt->audio_draws=mt->audio_draws->next; + while (mt->audio_draws != NULL) { + if (mt->audio_draws->data != NULL) lives_widget_destroy((LiVESWidget *)mt->audio_draws->data); + mt->audio_draws = mt->audio_draws->next; } lives_list_free(tlist); - tlist=mt->video_draws; + tlist = mt->video_draws; - while (mt->video_draws!=NULL) { - if (mt->video_draws->data!=NULL) lives_widget_destroy((LiVESWidget *)mt->video_draws->data); - mt->video_draws=mt->video_draws->next; + while (mt->video_draws != NULL) { + if (mt->video_draws->data != NULL) lives_widget_destroy((LiVESWidget *)mt->video_draws->data); + mt->video_draws = mt->video_draws->next; } lives_list_free(tlist); - mt->num_video_tracks=0; + mt->num_video_tracks = 0; - mt->tl_label=NULL; + mt->tl_label = NULL; #ifndef ENABLE_GIW_3 - if (mt->timeline_table==NULL) { - mt->tl_label=lives_standard_label_new(_("Timeline (seconds)")); + if (mt->timeline_table == NULL) { + mt->tl_label = lives_standard_label_new(_("Timeline (seconds)")); lives_table_attach(LIVES_TABLE(mt->timeline_table_header), mt->tl_label, 0, 7, 0, 2, LIVES_FILL, (LiVESAttachOptions)0, 0, 0); } #endif - mt->current_track=0; + mt->current_track = 0; - mt->clip_selected=mt_clip_from_file(mt,mt->file_selected); - mt_clip_select(mt,TRUE); + mt->clip_selected = mt_clip_from_file(mt, mt->file_selected); + mt_clip_select(mt, TRUE); - if (cfile->achans>0&&mt->opts.back_audio_tracks>0) { + if (cfile->achans > 0 && mt->opts.back_audio_tracks > 0) { // start with 1 audio track - add_audio_track(mt,-1,FALSE); + add_audio_track(mt, -1, FALSE); } // start with 2 video tracks - add_video_track_behind(NULL,mt); - add_video_track_behind(NULL,mt); + add_video_track_behind(NULL, mt); + add_video_track_behind(NULL, mt); - mt->current_track=0; - mt->block_selected=NULL; + mt->current_track = 0; + mt->block_selected = NULL; - if (mt->timeline_eb==NULL) { + if (mt->timeline_eb == NULL) { #ifdef ENABLE_GIW_3 - mt->timeline=giw_timeline_new(LIVES_ORIENTATION_HORIZONTAL); - giw_timeline_set_unit(GIW_TIMELINE(mt->timeline),GIW_TIME_UNIT_SMH); + mt->timeline = giw_timeline_new(LIVES_ORIENTATION_HORIZONTAL); + giw_timeline_set_unit(GIW_TIMELINE(mt->timeline), GIW_TIME_UNIT_SMH); // need to set this even if theme is none lives_widget_set_bg_color(mt->timeline, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); lives_widget_set_fg_color(mt->timeline, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); #else - mt->timeline=lives_standard_hruler_new(); + mt->timeline = lives_standard_hruler_new(); #endif - mt->timeline_reg=lives_event_box_new(); - label=lives_standard_label_new(""); // dummy label + mt->timeline_reg = lives_event_box_new(); + label = lives_standard_label_new(""); // dummy label lives_container_add(LIVES_CONTAINER(mt->timeline_reg), label); - mt->timeline_eb=lives_event_box_new(); + mt->timeline_eb = lives_event_box_new(); lives_widget_add_events(mt->timeline_eb, LIVES_POINTER_MOTION_MASK | LIVES_BUTTON1_MOTION_MASK | LIVES_BUTTON_RELEASE_MASK | LIVES_BUTTON_PRESS_MASK | LIVES_ENTER_NOTIFY_MASK); - lives_widget_add_events(mt->timeline,LIVES_BUTTON_RELEASE_MASK | LIVES_BUTTON_PRESS_MASK); + lives_widget_add_events(mt->timeline, LIVES_BUTTON_RELEASE_MASK | LIVES_BUTTON_PRESS_MASK); lives_widget_add_events(mt->timeline_reg, LIVES_POINTER_MOTION_MASK | LIVES_BUTTON1_MOTION_MASK | LIVES_BUTTON_RELEASE_MASK | LIVES_BUTTON_PRESS_MASK | LIVES_ENTER_NOTIFY_MASK); - lives_signal_connect(LIVES_GUI_OBJECT(mt->timeline_eb), LIVES_WIDGET_ENTER_EVENT,LIVES_GUI_CALLBACK(on_tleb_enter),(livespointer)mt); - lives_signal_connect(LIVES_GUI_OBJECT(mt->timeline_reg), LIVES_WIDGET_ENTER_EVENT,LIVES_GUI_CALLBACK(on_tlreg_enter),(livespointer)mt); + lives_signal_connect(LIVES_GUI_OBJECT(mt->timeline_eb), LIVES_WIDGET_ENTER_EVENT, LIVES_GUI_CALLBACK(on_tleb_enter), (livespointer)mt); + lives_signal_connect(LIVES_GUI_OBJECT(mt->timeline_reg), LIVES_WIDGET_ENTER_EVENT, LIVES_GUI_CALLBACK(on_tlreg_enter), (livespointer)mt); lives_signal_connect(LIVES_GUI_OBJECT(mt->timeline), LIVES_WIDGET_MOTION_NOTIFY_EVENT, LIVES_GUI_CALLBACK(return_true), @@ -9692,7 +9438,7 @@ lives_container_add(LIVES_CONTAINER(mt->timeline_eb), mt->timeline); - mt->dumlabel1=lives_standard_label_new(""); // dummy label + mt->dumlabel1 = lives_standard_label_new(""); // dummy label lives_table_attach(LIVES_TABLE(mt->timeline_table_header), mt->dumlabel1, 0, 7, 0, 1, (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL), @@ -9702,7 +9448,7 @@ (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL), (LiVESAttachOptions)(LIVES_FILL), 0, 0); - mt->dumlabel2=lives_standard_label_new(""); // dummy label + mt->dumlabel2 = lives_standard_label_new(""); // dummy label lives_table_attach(LIVES_TABLE(mt->timeline_table_header), mt->dumlabel2, 0, 7, 1, 2, (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL), @@ -9713,31 +9459,31 @@ (LiVESAttachOptions)(LIVES_FILL), 0, 0); } - if (mt->event_list!=NULL) { - int last_tracks=1; // number of video tracks on timeline + if (mt->event_list != NULL) { + int last_tracks = 1; // number of video tracks on timeline int *frame_index; - int *clip_index,*new_clip_index,*new_frame_index; - weed_plant_t *event,*last_event=NULL,*next_frame_event; + int *clip_index, *new_clip_index, *new_frame_index; + weed_plant_t *event, *last_event = NULL, *next_frame_event; int num_tracks; int tracks[MAX_VIDEO_TRACKS]; // TODO - use linked list double avels[MAX_AUDIO_TRACKS]; // ditto - int j,error; - weed_timecode_t tc,last_tc; + int j, error; + weed_timecode_t tc, last_tc; int last_valid_frame; weed_timecode_t offset_start; - weed_timecode_t block_marker_tc=-1; - int block_marker_num_tracks=0; - int *block_marker_tracks=NULL; + weed_timecode_t block_marker_tc = -1; + int block_marker_num_tracks = 0; + int *block_marker_tracks = NULL; boolean forced_end; - weed_timecode_t block_marker_uo_tc=-1; - int block_marker_uo_num_tracks=0; - int *block_marker_uo_tracks=NULL; + weed_timecode_t block_marker_uo_tc = -1; + int block_marker_uo_num_tracks = 0; + int *block_marker_uo_tracks = NULL; boolean ordered; - int num_aclips,i; - int navs,maxval; - int *aclips,*navals; + int num_aclips, i; + int navs, maxval; + int *aclips, *navals; double *aseeks; - boolean shown_audio_warn=FALSE; + boolean shown_audio_warn = FALSE; LiVESWidget *audio_draw; @@ -9745,278 +9491,273 @@ track_rect *block; - for (j=0; j<MAX_TRACKS; j++) { - tracks[j]=0; - avels[j]=0.; + for (j = 0; j < MAX_TRACKS; j++) { + tracks[j] = 0; + avels[j] = 0.; } - if (weed_plant_has_leaf(mt->event_list,WEED_LEAF_AUDIO_VOLUME_TRACKS)) { - navs=weed_leaf_num_elements(mt->event_list,WEED_LEAF_AUDIO_VOLUME_TRACKS); - navals=weed_get_int_array(mt->event_list,WEED_LEAF_AUDIO_VOLUME_TRACKS,&error); - maxval=mt->num_video_tracks-1; + if (weed_plant_has_leaf(mt->event_list, WEED_LEAF_AUDIO_VOLUME_TRACKS)) { + navs = weed_leaf_num_elements(mt->event_list, WEED_LEAF_AUDIO_VOLUME_TRACKS); + navals = weed_get_int_array(mt->event_list, WEED_LEAF_AUDIO_VOLUME_TRACKS, &error); + maxval = mt->num_video_tracks - 1; - for (j=0; j<navs; j++) { - if (navals[j]>maxval) maxval=navals[j]; + for (j = 0; j < navs; j++) { + if (navals[j] > maxval) maxval = navals[j]; } - num_tracks=maxval+1; + num_tracks = maxval + 1; - if (num_tracks>mt->num_video_tracks) { - for (j=mt->num_video_tracks; j<num_tracks; j++) { - add_video_track_behind(NULL,mt); + if (num_tracks > mt->num_video_tracks) { + for (j = mt->num_video_tracks; j < num_tracks; j++) { + add_video_track_behind(NULL, mt); } } } - // draw coloured blocks to represent the FRAME events - event=get_first_event(mt->event_list); - while (event!=NULL) { + event = get_first_event(mt->event_list); + while (event != NULL) { if (WEED_EVENT_IS_MARKER(event)) { - if (weed_get_int_value(event,WEED_LEAF_LIVES_TYPE,&error)==EVENT_MARKER_BLOCK_START) { - block_marker_tc=get_event_timecode(event); - block_marker_num_tracks=weed_leaf_num_elements(event,WEED_LEAF_TRACKS); + if (weed_get_int_value(event, WEED_LEAF_LIVES_TYPE, &error) == EVENT_MARKER_BLOCK_START) { + block_marker_tc = get_event_timecode(event); + block_marker_num_tracks = weed_leaf_num_elements(event, WEED_LEAF_TRACKS); lives_freep((void **)&block_marker_tracks); - block_marker_tracks=weed_get_int_array(event,WEED_LEAF_TRACKS,&error); - } else if (weed_get_int_value(event,WEED_LEAF_LIVES_TYPE,&error)==EVENT_MARKER_BLOCK_UNORDERED) { - block_marker_uo_tc=get_event_timecode(event); - block_marker_uo_num_tracks=weed_leaf_num_elements(event,WEED_LEAF_TRACKS); + block_marker_tracks = weed_get_int_array(event, WEED_LEAF_TRACKS, &error); + } else if (weed_get_int_value(event, WEED_LEAF_LIVES_TYPE, &error) == EVENT_MARKER_BLOCK_UNORDERED) { + block_marker_uo_tc = get_event_timecode(event); + block_marker_uo_num_tracks = weed_leaf_num_elements(event, WEED_LEAF_TRACKS); lives_freep((void **)&block_marker_uo_tracks); - block_marker_uo_tracks=weed_get_int_array(event,WEED_LEAF_TRACKS,&error); + block_marker_uo_tracks = weed_get_int_array(event, WEED_LEAF_TRACKS, &error); } } else if (WEED_EVENT_IS_FILTER_INIT(event)) { - if (weed_plant_has_leaf(event,WEED_LEAF_IN_TRACKS)) { - navs=weed_leaf_num_elements(event,WEED_LEAF_IN_TRACKS); - navals=weed_get_int_array(event,WEED_LEAF_IN_TRACKS,&error); - maxval=mt->num_video_tracks-1; + if (weed_plant_has_leaf(event, WEED_LEAF_IN_TRACKS)) { + navs = weed_leaf_num_elements(event, WEED_LEAF_IN_TRACKS); + navals = weed_get_int_array(event, WEED_LEAF_IN_TRACKS, &error); + maxval = mt->num_video_tracks - 1; - for (j=0; j<navs; j++) { - if (navals[j]>maxval) maxval=navals[j]; + for (j = 0; j < navs; j++) { + if (navals[j] > maxval) maxval = navals[j]; } - num_tracks=maxval+1; + num_tracks = maxval + 1; - if (num_tracks>mt->num_video_tracks) { - for (j=mt->num_video_tracks; j<num_tracks; j++) { - add_video_track_behind(NULL,mt); + if (num_tracks > mt->num_video_tracks) { + for (j = mt->num_video_tracks; j < num_tracks; j++) { + add_video_track_behind(NULL, mt); } } } - } - - else if (WEED_EVENT_IS_FRAME(event)) { - tc=get_event_timecode(event); - num_tracks=weed_leaf_num_elements(event,WEED_LEAF_CLIPS); + } else if (WEED_EVENT_IS_FRAME(event)) { + tc = get_event_timecode(event); + num_tracks = weed_leaf_num_elements(event, WEED_LEAF_CLIPS); - clip_index=weed_get_int_array(event,WEED_LEAF_CLIPS,&error); - frame_index=weed_get_int_array(event,WEED_LEAF_FRAMES,&error); + clip_index = weed_get_int_array(event, WEED_LEAF_CLIPS, &error); + frame_index = weed_get_int_array(event, WEED_LEAF_FRAMES, &error); - if (num_tracks<last_tracks) { - for (j=num_tracks; j<last_tracks; j++) { + if (num_tracks < last_tracks) { + for (j = num_tracks; j < last_tracks; j++) { // TODO - tracks should be linked list - if (tracks[j]>0) { - add_block_end_point(LIVES_WIDGET(lives_list_nth_data(mt->video_draws,j)),last_event); // end of previous rectangle - tracks[j]=0; + if (tracks[j] > 0) { + add_block_end_point(LIVES_WIDGET(lives_list_nth_data(mt->video_draws, j)), last_event); // end of previous rectangle + tracks[j] = 0; } } } - if (num_tracks>mt->num_video_tracks) { - for (j=mt->num_video_tracks; j<num_tracks; j++) { - add_video_track_behind(NULL,mt); + if (num_tracks > mt->num_video_tracks) { + for (j = mt->num_video_tracks; j < num_tracks; j++) { + add_video_track_behind(NULL, mt); } } - last_tracks=num_tracks; - new_clip_index=(int *)lives_malloc(num_tracks*sizint); - new_frame_index=(int *)lives_malloc(num_tracks*sizint); - last_valid_frame=0; + last_tracks = num_tracks; + new_clip_index = (int *)lives_malloc(num_tracks * sizint); + new_frame_index = (int *)lives_malloc(num_tracks * sizint); + last_valid_frame = 0; - for (j=0; j<num_tracks; j++) { + for (j = 0; j < num_tracks; j++) { // TODO - tracks should be linked list - if (clip_index[j]>0&&frame_index[j]>-1&&renumbered_clips[clip_index[j]]>0&&frame_index[j]<= + if (clip_index[j] > 0 && frame_index[j] > -1 && renumbered_clips[clip_index[j]] > 0 && frame_index[j] <= mainw->files[renumbered_clips[clip_index[j]]]->frames) { - forced_end=FALSE; - if (tc==block_marker_tc&&int_array_contains_value(block_marker_tracks,block_marker_num_tracks,j)) - forced_end=TRUE; - if ((tracks[j]!=renumbered_clips[clip_index[j]])||forced_end) { + forced_end = FALSE; + if (tc == block_marker_tc && int_array_contains_value(block_marker_tracks, block_marker_num_tracks, j)) + forced_end = TRUE; + if ((tracks[j] != renumbered_clips[clip_index[j]]) || forced_end) { // handling for block end or split blocks - if (tracks[j]>0) { - add_block_end_point(LIVES_WIDGET(lives_list_nth_data(mt->video_draws,j)),last_event); // end of previous rectangle + if (tracks[j] > 0) { + add_block_end_point(LIVES_WIDGET(lives_list_nth_data(mt->video_draws, j)), last_event); // end of previous rectangle } - if (clip_index[j]>0) { - ordered=!mainw->unordered_blocks; - if (tc==block_marker_uo_tc&&int_array_contains_value(block_marker_uo_tracks,block_marker_uo_num_tracks,j)) - ordered=FALSE; + if (clip_index[j] > 0) { + ordered = !mainw->unordered_blocks; + if (tc == block_marker_uo_tc && int_array_contains_value(block_marker_uo_tracks, block_marker_uo_num_tracks, j)) + ordered = FALSE; // start a new rectangle - offset_start=calc_time_from_frame(renumbered_clips[clip_index[j]],frame_index[j])*U_SEC; - add_block_start_point(LIVES_WIDGET(lives_list_nth_data(mt->video_draws,j)),tc, - renumbered_clips[clip_index[j]],offset_start,event,ordered); + offset_start = calc_time_from_frame(renumbered_clips[clip_index[j]], frame_index[j]) * U_SEC; + add_block_start_point(LIVES_WIDGET(lives_list_nth_data(mt->video_draws, j)), tc, + renumbered_clips[clip_index[j]], offset_start, event, ordered); } - tracks[j]=renumbered_clips[clip_index[j]]; + tracks[j] = renumbered_clips[clip_index[j]]; } - new_clip_index[j]=renumbered_clips[clip_index[j]]; - new_frame_index[j]=frame_index[j]; - last_valid_frame=j+1; + new_clip_index[j] = renumbered_clips[clip_index[j]]; + new_frame_index[j] = frame_index[j]; + last_valid_frame = j + 1; } else { // clip has probably been closed, so we remove its frames // TODO - do similar check for audio - new_clip_index[j]=-1; - new_frame_index[j]=0; - if (tracks[j]>0) { - add_block_end_point(LIVES_WIDGET(lives_list_nth_data(mt->video_draws,j)),last_event); // end of previous rectangle - tracks[j]=0; + new_clip_index[j] = -1; + new_frame_index[j] = 0; + if (tracks[j] > 0) { + add_block_end_point(LIVES_WIDGET(lives_list_nth_data(mt->video_draws, j)), last_event); // end of previous rectangle + tracks[j] = 0; } } } - if (last_valid_frame==0) { + if (last_valid_frame == 0) { lives_free(new_clip_index); lives_free(new_frame_index); - new_clip_index=(int *)lives_malloc(sizint); - new_frame_index=(int *)lives_malloc(sizint); - *new_clip_index=-1; - *new_frame_index=0; - num_tracks=1; + new_clip_index = (int *)lives_malloc(sizint); + new_frame_index = (int *)lives_malloc(sizint); + *new_clip_index = -1; + *new_frame_index = 0; + num_tracks = 1; } else { - if (last_valid_frame<num_tracks) { + if (last_valid_frame < num_tracks) { lives_free(new_clip_index); lives_free(new_frame_index); - new_clip_index=(int *)lives_malloc(last_valid_frame*sizint); - new_frame_index=(int *)lives_malloc(last_valid_frame*sizint); - for (j=0; j<last_valid_frame; j++) { - new_clip_index[j]=clip_index[j]; - new_frame_index[j]=frame_index[j]; + new_clip_index = (int *)lives_malloc(last_valid_frame * sizint); + new_frame_index = (int *)lives_malloc(last_valid_frame * sizint); + for (j = 0; j < last_valid_frame; j++) { + new_clip_index[j] = clip_index[j]; + new_frame_index[j] = frame_index[j]; } - num_tracks=last_valid_frame; + num_tracks = last_valid_frame; } } - weed_set_int_array(event,WEED_LEAF_CLIPS,num_tracks,new_clip_index); - weed_set_int_array(event,WEED_LEAF_FRAMES,num_tracks,new_frame_index); + weed_set_int_array(event, WEED_LEAF_CLIPS, num_tracks, new_clip_index); + weed_set_int_array(event, WEED_LEAF_FRAMES, num_tracks, new_frame_index); lives_free(clip_index); lives_free(new_clip_index); lives_free(frame_index); lives_free(new_frame_index); - if (WEED_EVENT_IS_AUDIO_FRAME(event)) { // audio starts or stops here - num_aclips=weed_leaf_num_elements(event,WEED_LEAF_AUDIO_CLIPS); - aclips=weed_get_int_array(event,WEED_LEAF_AUDIO_CLIPS,&error); - aseeks=weed_get_double_array(event,WEED_LEAF_AUDIO_SEEKS,&error); - for (i=0; i<num_aclips; i+=2) { - if (aclips[i+1]>0) { - if (cfile->achans==0) { + num_aclips = weed_leaf_num_elements(event, WEED_LEAF_AUDIO_CLIPS); + aclips = weed_get_int_array(event, WEED_LEAF_AUDIO_CLIPS, &error); + aseeks = weed_get_double_array(event, WEED_LEAF_AUDIO_SEEKS, &error); + for (i = 0; i < num_aclips; i += 2) { + if (aclips[i + 1] > 0) { + if (cfile->achans == 0) { if (!shown_audio_warn) { - shown_audio_warn=TRUE; + shown_audio_warn = TRUE; do_mt_audchan_error(WARN_MASK_MT_ACHANS); } } else { - if (aclips[i]==-1) audio_draw=(LiVESWidget *)mt->audio_draws->data; - else audio_draw=(LiVESWidget *)lives_list_nth_data(mt->audio_draws,aclips[i]+mt->opts.back_audio_tracks); - if (avels[aclips[i]+1]!=0.) { - add_block_end_point(audio_draw,event); + if (aclips[i] == -1) audio_draw = (LiVESWidget *)mt->audio_draws->data; + else audio_draw = (LiVESWidget *)lives_list_nth_data(mt->audio_draws, aclips[i] + mt->opts.back_audio_tracks); + if (avels[aclips[i] + 1] != 0.) { + add_block_end_point(audio_draw, event); } //if (renumbered_clips[clip_index[aclips[i+1]]]>0) { - avels[aclips[i]+1]=aseeks[i+1]; + avels[aclips[i] + 1] = aseeks[i + 1]; //} - if (avels[aclips[i]+1]!=0.) { - add_block_start_point(audio_draw,tc,renumbered_clips[aclips[i+1]],aseeks[i]*U_SEC,event,TRUE); + if (avels[aclips[i] + 1] != 0.) { + add_block_start_point(audio_draw, tc, renumbered_clips[aclips[i + 1]], aseeks[i]*U_SEC, event, TRUE); } } } - if (aclips[i+1]>0) aclips[i+1]=renumbered_clips[aclips[i+1]]; + if (aclips[i + 1] > 0) aclips[i + 1] = renumbered_clips[aclips[i + 1]]; } - weed_set_int_array(event,WEED_LEAF_AUDIO_CLIPS,num_aclips,aclips); + weed_set_int_array(event, WEED_LEAF_AUDIO_CLIPS, num_aclips, aclips); lives_free(aseeks); } - num_aclips=lives_list_length(mt->audio_draws); - for (i=0; i<num_aclips; i++) { + num_aclips = lives_list_length(mt->audio_draws); + for (i = 0; i < num_aclips; i++) { // handling for split blocks - if (tc==block_marker_tc&&int_array_contains_value(block_marker_tracks,block_marker_num_tracks,-i-1)) { - audio_draw=(LiVESWidget *)lives_list_nth_data(mt->audio_draws,i+mt->opts.back_audio_tracks-1); - if (avels[i]!=0.) { + if (tc == block_marker_tc && int_array_contains_value(block_marker_tracks, block_marker_num_tracks, -i - 1)) { + audio_draw = (LiVESWidget *)lives_list_nth_data(mt->audio_draws, i + mt->opts.back_audio_tracks - 1); + if (avels[i] != 0.) { // end the current block and add a new one // note we only add markers here, when drawing the block audio events will be added - block=add_block_end_point(audio_draw,event); - if (block!=NULL) { - last_tc=get_event_timecode(block->start_event); - offset_start=block->offset_start+(weed_timecode_t)((double)(tc-last_tc)*avels[i]+.5); - add_block_start_point(audio_draw,tc,-1,offset_start,event,TRUE); + block = add_block_end_point(audio_draw, event); + if (block != NULL) { + last_tc = get_event_timecode(block->start_event); + offset_start = block->offset_start + (weed_timecode_t)((double)(tc - last_tc) * avels[i] + .5); + add_block_start_point(audio_draw, tc, -1, offset_start, event, TRUE); } } } } - next_frame_event=get_next_frame_event(event); + next_frame_event = get_next_frame_event(event); - if (next_frame_event==NULL) { + if (next_frame_event == NULL) { // this is the last FRAME event, so close all our rectangles - for (j=0; j<mt->num_video_tracks; j++) { - if (tracks[j]>0) { - add_block_end_point(LIVES_WIDGET(lives_list_nth_data(mt->video_draws,j)),event); + for (j = 0; j < mt->num_video_tracks; j++) { + if (tracks[j] > 0) { + add_block_end_point(LIVES_WIDGET(lives_list_nth_data(mt->video_draws, j)), event); } } - slist=mt->audio_draws; - for (j=0; j<lives_list_length(mt->audio_draws); j++) { - if (cfile->achans>0&&avels[j]!=0.) add_block_end_point((LiVESWidget *)slist->data,event); - slist=slist->next; + slist = mt->audio_draws; + for (j = 0; j < lives_list_length(mt->audio_draws); j++) { + if (cfile->achans > 0 && avels[j] != 0.) add_block_end_point((LiVESWidget *)slist->data, event); + slist = slist->next; } } - last_event=event; + last_event = event; } - event=get_next_event(event); + event = get_next_event(event); } - if (!mt->was_undo_redo) remove_end_blank_frames(mt->event_list,TRUE); + if (!mt->was_undo_redo) remove_end_blank_frames(mt->event_list, TRUE); lives_freep((void **)&block_marker_tracks); lives_freep((void **)&block_marker_uo_tracks); - if (cfile->achans>0&&mt->opts.back_audio_tracks>0) lives_widget_show(mt->view_audio); + if (cfile->achans > 0 && mt->opts.back_audio_tracks > 0) lives_widget_show(mt->view_audio); - if (mt->avol_fx!=-1) locate_avol_init_event(mt,mt->event_list,mt->avol_fx); + if (mt->avol_fx != -1) locate_avol_init_event(mt, mt->event_list, mt->avol_fx); - if (!mt->was_undo_redo&&mt->avol_fx!=-1&&mt->audio_draws!=NULL) { + if (!mt->was_undo_redo && mt->avol_fx != -1 && mt->audio_draws != NULL) { apply_avol_filter(mt); } } - mt->end_secs=0.; - if (mt->event_list!=NULL) { - mt->end_secs=event_list_get_end_secs(mt->event_list)*2.; - if (mt->end_secs==0.) LIVES_WARN("got zero length event_list"); + mt->end_secs = 0.; + if (mt->event_list != NULL) { + mt->end_secs = event_list_get_end_secs(mt->event_list) * 2.; + if (mt->end_secs == 0.) LIVES_WARN("got zero length event_list"); } - if (mt->end_secs==0.) mt->end_secs=DEF_TIME; + if (mt->end_secs == 0.) mt->end_secs = DEF_TIME; if (set_min_max) { - mt->tl_min=0.; - mt->tl_max=mt->end_secs; + mt->tl_min = 0.; + mt->tl_max = mt->end_secs; } - set_timeline_end_secs(mt,mt->end_secs); + set_timeline_end_secs(mt, mt->end_secs); if (!mt->was_undo_redo) { set_track_labels(mt); if (mt->is_ready) { - if (mt->current_track!=0) { - mt->current_track=0; + if (mt->current_track != 0) { + mt->current_track = 0; track_select(mt); } - if (mt->region_start!=mt->region_end||mt->region_start!=0.) { - mt->region_start=mt->region_end=0.; + if (mt->region_start != mt->region_end || mt->region_start != 0.) { + mt->region_start = mt->region_end = 0.; draw_region(mt); } } - mt_tl_move(mt,0.); - } else mt->was_undo_redo=FALSE; + mt_tl_move(mt, 0.); + } else mt->was_undo_redo = FALSE; reset_renumbering(mt); - } @@ -10024,41 +9765,40 @@ // WARNING - does not yet delete events from event_list // only deletes visually - LiVESWidget *eventbox=(LiVESWidget *)lives_list_nth_data(mt->video_draws,layer); - track_rect *block=(track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "blocks"),*blocknext; + LiVESWidget *eventbox = (LiVESWidget *)lives_list_nth_data(mt->video_draws, layer); + track_rect *block = (track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "blocks"), *blocknext; LiVESWidget *checkbutton; - LiVESWidget *label,*labelbox,*ahbox,*arrow; + LiVESWidget *label, *labelbox, *ahbox, *arrow; lives_painter_surface_t *bgimg; - while (block!=NULL) { - blocknext=block->next; - if (mt->block_selected==block) mt->block_selected=NULL; + while (block != NULL) { + blocknext = block->next; + if (mt->block_selected == block) mt->block_selected = NULL; lives_free(block); - block=blocknext; + block = blocknext; } - if ((bgimg=(lives_painter_surface_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "bgimg"))!=NULL) { + if ((bgimg = (lives_painter_surface_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "bgimg")) != NULL) { lives_painter_surface_destroy(bgimg); } - checkbutton=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "checkbutton"); - label=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "label"); - arrow=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "arrow"); + checkbutton = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "checkbutton"); + label = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "label"); + arrow = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "arrow"); - mt->cb_list=lives_list_remove(mt->cb_list,(livespointer)checkbutton); + mt->cb_list = lives_list_remove(mt->cb_list, (livespointer)checkbutton); lives_widget_destroy(checkbutton); lives_widget_destroy(label); lives_widget_destroy(arrow); - if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"hidden"))==0) { - labelbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "labelbox"); - ahbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "ahbox"); - if (labelbox!=NULL) lives_widget_destroy(labelbox); - if (ahbox!=NULL) lives_widget_destroy(ahbox); + if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "hidden")) == 0) { + labelbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "labelbox"); + ahbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "ahbox"); + if (labelbox != NULL) lives_widget_destroy(labelbox); + if (ahbox != NULL) lives_widget_destroy(ahbox); } - lives_free(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"track_name")); - + lives_free(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "track_name")); // corresponding audio track will be deleted in delete_audio_track(s) @@ -10069,15 +9809,15 @@ LiVESWidget *add_audio_track(lives_mt *mt, int track, boolean behind) { // add float or pertrack audio track to our timeline_table LiVESObject *adj; - LiVESWidget *label,*dummy; + LiVESWidget *label, *dummy; LiVESWidget *arrow; LiVESWidget *eventbox; LiVESWidget *vbox; - LiVESWidget *audio_draw=lives_event_box_new(); - char *pname,*tname; - int max_disp_vtracks=prefs->max_disp_vtracks-1; - int llen,vol=0; - int nachans=0; + LiVESWidget *audio_draw = lives_event_box_new(); + char *pname, *tname; + int max_disp_vtracks = prefs->max_disp_vtracks - 1; + int llen, vol = 0; + int nachans = 0; int i; lives_object_ref(audio_draw); @@ -10085,51 +9825,51 @@ lives_widget_object_set_data(LIVES_WIDGET_OBJECT(audio_draw), "blocks", (livespointer)NULL); lives_widget_object_set_data(LIVES_WIDGET_OBJECT(audio_draw), "block_last", (livespointer)NULL); lives_widget_object_set_data(LIVES_WIDGET_OBJECT(audio_draw), "hidden", LIVES_INT_TO_POINTER(0)); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(audio_draw), "expanded",LIVES_INT_TO_POINTER(FALSE)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(audio_draw), "expanded", LIVES_INT_TO_POINTER(FALSE)); lives_widget_object_set_data(LIVES_WIDGET_OBJECT(audio_draw), "bgimg", NULL); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(audio_draw), "is_audio",LIVES_INT_TO_POINTER(TRUE)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(audio_draw), "is_audio", LIVES_INT_TO_POINTER(TRUE)); - lives_adjustment_set_upper(LIVES_ADJUSTMENT(mt->vadjustment),(double)mt->num_video_tracks); - lives_adjustment_set_page_size(LIVES_ADJUSTMENT(mt->vadjustment),(double)(max_disp_vtracks>mt->num_video_tracks? - mt->num_video_tracks:max_disp_vtracks)); + lives_adjustment_set_upper(LIVES_ADJUSTMENT(mt->vadjustment), (double)mt->num_video_tracks); + lives_adjustment_set_page_size(LIVES_ADJUSTMENT(mt->vadjustment), (double)(max_disp_vtracks > mt->num_video_tracks ? + mt->num_video_tracks : max_disp_vtracks)); - dummy=lives_event_box_new(); + dummy = lives_event_box_new(); lives_object_ref(dummy); - widget_opts.justify=LIVES_JUSTIFY_LEFT; - if (track==-1) { - label=lives_label_new(_(" Backing audio")); + widget_opts.justify = LIVES_JUSTIFY_LEFT; + if (track == -1) { + label = lives_label_new(_(" Backing audio")); } else { - char *tmp=lives_strdup_printf(_(" Layer %d audio"),track); - label=lives_label_new(tmp); + char *tmp = lives_strdup_printf(_(" Layer %d audio"), track); + label = lives_label_new(tmp); lives_free(tmp); } - lives_label_set_halignment(LIVES_LABEL(label),0.); + lives_label_set_halignment(LIVES_LABEL(label), 0.); - widget_opts.justify=widget_opts.default_justify; + widget_opts.justify = widget_opts.default_justify; lives_object_ref(label); arrow = lives_arrow_new(LIVES_ARROW_RIGHT, LIVES_SHADOW_OUT); lives_widget_set_tooltip_text(arrow, _("Show/hide audio details")); lives_object_ref(arrow); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(audio_draw),"label",label); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(audio_draw),"dummy",dummy); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(audio_draw),"arrow",arrow); - - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(arrow),"layer_number",LIVES_INT_TO_POINTER(track)); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(audio_draw),"layer_number",LIVES_INT_TO_POINTER(track)); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(audio_draw),"track_name",lives_strdup_printf(_("Layer %d audio"),track)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(audio_draw), "label", label); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(audio_draw), "dummy", dummy); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(audio_draw), "arrow", arrow); + + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(arrow), "layer_number", LIVES_INT_TO_POINTER(track)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(audio_draw), "layer_number", LIVES_INT_TO_POINTER(track)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(audio_draw), "track_name", lives_strdup_printf(_("Layer %d audio"), track)); // add channel subtracks - for (i=0; i<cfile->achans; i++) { - eventbox=lives_event_box_new(); + for (i = 0; i < cfile->achans; i++) { + eventbox = lives_event_box_new(); lives_object_ref(eventbox); - pname=lives_strdup_printf("achan%d",i); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(audio_draw),pname,eventbox); + pname = lives_strdup_printf("achan%d", i); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(audio_draw), pname, eventbox); lives_free(pname); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"owner",audio_draw); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "owner", audio_draw); lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "hidden", LIVES_INT_TO_POINTER(0)); lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "bgimg", NULL); lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "channel", LIVES_INT_TO_POINTER(i)); @@ -10139,83 +9879,83 @@ if (!mt->was_undo_redo) { // calc layer volume value - llen=lives_list_length(mt->audio_draws); - if (llen==0) { + llen = lives_list_length(mt->audio_draws); + if (llen == 0) { // set vol to 1.0 - vol=LIVES_AVOL_SCALE; - } else if (llen==1) { - if (mt->opts.back_audio_tracks>0) { - vol=LIVES_AVOL_SCALE/2.; - mt->audio_vols->data=LIVES_INT_TO_POINTER(vol); + vol = LIVES_AVOL_SCALE; + } else if (llen == 1) { + if (mt->opts.back_audio_tracks > 0) { + vol = LIVES_AVOL_SCALE / 2.; + mt->audio_vols->data = LIVES_INT_TO_POINTER(vol); } else { if (mt->opts.gang_audio) { - vol=LIVES_POINTER_TO_INT(lives_list_nth_data(mt->audio_vols,0)); - } else vol=LIVES_AVOL_SCALE; + vol = LIVES_POINTER_TO_INT(lives_list_nth_data(mt->audio_vols, 0)); + } else vol = LIVES_AVOL_SCALE; } } else { if (mt->opts.gang_audio) { - vol=LIVES_POINTER_TO_INT(lives_list_nth_data(mt->audio_vols,mt->opts.back_audio_tracks)); + vol = LIVES_POINTER_TO_INT(lives_list_nth_data(mt->audio_vols, mt->opts.back_audio_tracks)); } else { - if (mt->opts.back_audio_tracks>0) { - vol=LIVES_AVOL_SCALE/2.; + if (mt->opts.back_audio_tracks > 0) { + vol = LIVES_AVOL_SCALE / 2.; } else { - vol=LIVES_AVOL_SCALE; + vol = LIVES_AVOL_SCALE; } } } } - if (!mt->was_undo_redo&&mt->amixer!=NULL&&track>=0) { + if (!mt->was_undo_redo && mt->amixer != NULL && track >= 0) { // if mixer is open add space for another slider LiVESWidget **ch_sliders; ulong *ch_slider_fns; - int j=0; + int j = 0; - nachans=lives_list_length(mt->audio_vols)+1; + nachans = lives_list_length(mt->audio_vols) + 1; - ch_sliders=(LiVESWidget **)lives_malloc(nachans*sizeof(LiVESWidget *)); - ch_slider_fns=(ulong *)lives_malloc(nachans*sizeof(ulong)); + ch_sliders = (LiVESWidget **)lives_malloc(nachans * sizeof(LiVESWidget *)); + ch_slider_fns = (ulong *)lives_malloc(nachans * sizeof(ulong)); // make a gap - for (i=0; i<nachans-1; i++) { - if (!behind&&i==mt->opts.back_audio_tracks) j++; - ch_sliders[j]=mt->amixer->ch_sliders[i]; - ch_slider_fns[j]=mt->amixer->ch_slider_fns[i]; + for (i = 0; i < nachans - 1; i++) { + if (!behind && i == mt->opts.back_audio_tracks) j++; + ch_sliders[j] = mt->amixer->ch_sliders[i]; + ch_slider_fns[j] = mt->amixer->ch_slider_fns[i]; j++; } lives_free(mt->amixer->ch_sliders); lives_free(mt->amixer->ch_slider_fns); - mt->amixer->ch_sliders=ch_sliders; - mt->amixer->ch_slider_fns=ch_slider_fns; + mt->amixer->ch_sliders = ch_sliders; + mt->amixer->ch_slider_fns = ch_slider_fns; } - if (track==-1) { - mt->audio_draws=lives_list_prepend(mt->audio_draws,(livespointer)audio_draw); - if (!mt->was_undo_redo) mt->audio_vols=lives_list_prepend(mt->audio_vols,LIVES_INT_TO_POINTER(vol)); + if (track == -1) { + mt->audio_draws = lives_list_prepend(mt->audio_draws, (livespointer)audio_draw); + if (!mt->was_undo_redo) mt->audio_vols = lives_list_prepend(mt->audio_vols, LIVES_INT_TO_POINTER(vol)); } else if (behind) { - mt->audio_draws=lives_list_append(mt->audio_draws,(livespointer)audio_draw); + mt->audio_draws = lives_list_append(mt->audio_draws, (livespointer)audio_draw); if (!mt->was_undo_redo) { - if (mt->amixer!=NULL) { + if (mt->amixer != NULL) { // if mixer is open add a new track at end - vbox=amixer_add_channel_slider(mt,nachans-1-mt->opts.back_audio_tracks); + vbox = amixer_add_channel_slider(mt, nachans - 1 - mt->opts.back_audio_tracks); lives_box_pack_start(LIVES_BOX(mt->amixer->main_hbox), vbox, FALSE, FALSE, widget_opts.packing_width); lives_widget_show_all(vbox); } - mt->audio_vols=lives_list_append(mt->audio_vols,LIVES_INT_TO_POINTER(vol)); + mt->audio_vols = lives_list_append(mt->audio_vols, LIVES_INT_TO_POINTER(vol)); } } else { - mt->audio_draws=lives_list_insert(mt->audio_draws,(livespointer)audio_draw,mt->opts.back_audio_tracks); + mt->audio_draws = lives_list_insert(mt->audio_draws, (livespointer)audio_draw, mt->opts.back_audio_tracks); if (!mt->was_undo_redo) { - mt->audio_vols=lives_list_insert(mt->audio_vols,LIVES_INT_TO_POINTER(vol),mt->opts.back_audio_tracks); + mt->audio_vols = lives_list_insert(mt->audio_vols, LIVES_INT_TO_POINTER(vol), mt->opts.back_audio_tracks); - if (mt->amixer!=NULL) { + if (mt->amixer != NULL) { // if mixer is open add a new track at posn 0 and update all labels and layer numbers - vbox=amixer_add_channel_slider(mt,0); + vbox = amixer_add_channel_slider(mt, 0); // pack at posn 2 lives_box_pack_start(LIVES_BOX(mt->amixer->main_hbox), vbox, FALSE, FALSE, widget_opts.packing_width); @@ -10224,19 +9964,17 @@ // update labels and layer numbers - for (i=mt->opts.back_audio_tracks+1; i<nachans; i++) { - label=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mt->amixer->ch_sliders[i]),"label"); - tname=get_track_name(mt,i-mt->opts.back_audio_tracks,TRUE); - lives_label_set_text(LIVES_LABEL(label),tname); + for (i = mt->opts.back_audio_tracks + 1; i < nachans; i++) { + label = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mt->amixer->ch_sliders[i]), "label"); + tname = get_track_name(mt, i - mt->opts.back_audio_tracks, TRUE); + lives_label_set_text(LIVES_LABEL(label), tname); lives_free(tname); - adj=(LiVESObject *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mt->amixer->ch_sliders[i]),"adj"); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(adj),"layer",LIVES_INT_TO_POINTER(i)); + adj = (LiVESObject *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mt->amixer->ch_sliders[i]), "adj"); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(adj), "layer", LIVES_INT_TO_POINTER(i)); } - } } - } return audio_draw; @@ -10244,19 +9982,19 @@ static void set_track_label(LiVESEventBox *xeventbox, int tnum) { - LiVESWidget *label=LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox),"label")); - const char *tname=(const char *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox),"track_name"); - char *newtext=lives_strdup_printf(_("%s (layer %d)"),tname,tnum); - lives_label_set_text(LIVES_LABEL(label),newtext); + LiVESWidget *label = LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox), "label")); + const char *tname = (const char *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox), "track_name"); + char *newtext = lives_strdup_printf(_("%s (layer %d)"), tname, tnum); + lives_label_set_text(LIVES_LABEL(label), newtext); lives_free(newtext); } void set_track_label_string(lives_mt *mt, int track, const char *label) { - LiVESWidget *ebox=get_eventbox_for_track(mt,track); - if (ebox==NULL) return; - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(ebox),"track_name",(livespointer)label); - set_track_label(LIVES_EVENT_BOX(ebox),track); + LiVESWidget *ebox = get_eventbox_for_track(mt, track); + if (ebox == NULL) return; + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(ebox), "track_name", (livespointer)label); + set_track_label(LIVES_EVENT_BOX(ebox), track); } @@ -10269,14 +10007,14 @@ LiVESWidget *aeventbox; // each track has optionally an associated audio track, which we store in LiVESList *audio_draws int i; LiVESList *liste; - int max_disp_vtracks=prefs->max_disp_vtracks; + int max_disp_vtracks = prefs->max_disp_vtracks; char *tmp; - if (mt->audio_draws!=NULL&&mt->audio_draws->data!=NULL&&mt->opts.back_audio_tracks>0&& - LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data),"hidden"))==0) { + if (mt->audio_draws != NULL && mt->audio_draws->data != NULL && mt->opts.back_audio_tracks > 0 && + LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data), "hidden")) == 0) { max_disp_vtracks--; if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data), - "expanded"))) max_disp_vtracks-=cfile->achans; + "expanded"))) max_disp_vtracks -= cfile->achans; } mt->num_video_tracks++; @@ -10287,13 +10025,13 @@ checkbutton = lives_check_button_new(); #ifdef ENABLE_GIW } else { - checkbutton=giw_led_new(); - giw_led_enable_mouse(GIW_LED(checkbutton),TRUE); + checkbutton = giw_led_new(); + giw_led_enable_mouse(GIW_LED(checkbutton), TRUE); } #endif lives_object_ref(checkbutton); - mt->cb_list=lives_list_append(mt->cb_list,checkbutton); + mt->cb_list = lives_list_append(mt->cb_list, checkbutton); if (LIVES_IS_WIDGET(checkbutton)) { lives_widget_set_tooltip_text(checkbutton, _("Select track")); @@ -10303,170 +10041,174 @@ lives_widget_set_tooltip_text(arrow, _("Show/hide audio")); lives_object_ref(arrow); - eventbox=lives_event_box_new(); + eventbox = lives_event_box_new(); lives_object_ref(eventbox); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"track_name",lives_strdup_printf(_("Video %d"),mt->num_video_tracks)); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"checkbutton",(livespointer)checkbutton); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"arrow",(livespointer)arrow); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"expanded",LIVES_INT_TO_POINTER(FALSE)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "track_name", lives_strdup_printf(_("Video %d"), mt->num_video_tracks)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "checkbutton", (livespointer)checkbutton); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "arrow", (livespointer)arrow); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "expanded", LIVES_INT_TO_POINTER(FALSE)); lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "blocks", (livespointer)NULL); lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "block_last", (livespointer)NULL); lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "hidden", LIVES_INT_TO_POINTER(0)); lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "bgimg", NULL); - lives_adjustment_set_page_size(LIVES_ADJUSTMENT(mt->vadjustment),(double)(max_disp_vtracks>mt->num_video_tracks? - mt->num_video_tracks:max_disp_vtracks)); - lives_adjustment_set_upper(LIVES_ADJUSTMENT(mt->vadjustment),(double)(mt->num_video_tracks+ + lives_adjustment_set_page_size(LIVES_ADJUSTMENT(mt->vadjustment), (double)(max_disp_vtracks > mt->num_video_tracks ? + mt->num_video_tracks : max_disp_vtracks)); + lives_adjustment_set_upper(LIVES_ADJUSTMENT(mt->vadjustment), (double)(mt->num_video_tracks + (int)lives_adjustment_get_page_size(LIVES_ADJUSTMENT(mt->vadjustment)))); if (!behind) { // track in front of (above) stack // shift all rows down // increment "layer_number"s, change labels - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"layer_number",LIVES_INT_TO_POINTER(0)); - for (i=0; i<mt->num_video_tracks-1; i++) { + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "layer_number", LIVES_INT_TO_POINTER(0)); + for (i = 0; i < mt->num_video_tracks - 1; i++) { char *newtext; - LiVESWidget *xeventbox=(LiVESWidget *)lives_list_nth_data(mt->video_draws,i); - LiVESWidget *xcheckbutton=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox),"checkbutton"); - LiVESWidget *xarrow=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox),"arrow"); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(xeventbox),"layer_number",LIVES_INT_TO_POINTER(i+1)); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(xcheckbutton),"layer_number",LIVES_INT_TO_POINTER(i+1)); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(xarrow),"layer_number",LIVES_INT_TO_POINTER(i+1)); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(xeventbox),"is_audio",LIVES_INT_TO_POINTER(FALSE)); + LiVESWidget *xeventbox = (LiVESWidget *)lives_list_nth_data(mt->video_draws, i); + LiVESWidget *xcheckbutton = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox), "checkbutton"); + LiVESWidget *xarrow = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox), "arrow"); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(xeventbox), "layer_number", LIVES_INT_TO_POINTER(i + 1)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(xcheckbutton), "layer_number", LIVES_INT_TO_POINTER(i + 1)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(xarrow), "layer_number", LIVES_INT_TO_POINTER(i + 1)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(xeventbox), "is_audio", LIVES_INT_TO_POINTER(FALSE)); - - set_track_label(LIVES_EVENT_BOX(xeventbox),i+1); + set_track_label(LIVES_EVENT_BOX(xeventbox), i + 1); if (mt->opts.pertrack_audio) { - LiVESWidget *aeventbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox),"atrack"); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(aeventbox),"layer_number",LIVES_INT_TO_POINTER(i+1)); - xarrow=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(aeventbox),"arrow"); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(xarrow),"layer_number",LIVES_INT_TO_POINTER(i+1)); - label=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(aeventbox),"label"); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(aeventbox),"track_name",lives_strdup_printf(_("Layer %d audio"),i+1)); - newtext=lives_strdup_printf(_(" %s"),lives_widget_object_get_data(LIVES_WIDGET_OBJECT(aeventbox),"track_name")); - lives_label_set_text(LIVES_LABEL(label),newtext); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(aeventbox),"is_audio",LIVES_INT_TO_POINTER(TRUE)); + LiVESWidget *aeventbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox), "atrack"); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(aeventbox), "layer_number", LIVES_INT_TO_POINTER(i + 1)); + xarrow = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(aeventbox), "arrow"); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(xarrow), "layer_number", LIVES_INT_TO_POINTER(i + 1)); + label = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(aeventbox), "label"); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(aeventbox), "track_name", lives_strdup_printf(_("Layer %d audio"), i + 1)); + newtext = lives_strdup_printf(_(" %s"), lives_widget_object_get_data(LIVES_WIDGET_OBJECT(aeventbox), "track_name")); + lives_label_set_text(LIVES_LABEL(label), newtext); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(aeventbox), "is_audio", LIVES_INT_TO_POINTER(TRUE)); } } // add a -1,0 in all frame events // renumber "in_tracks", "out_tracks" in effect_init events - event_list_add_track(mt->event_list,0); + event_list_add_track(mt->event_list, 0); - mt->video_draws=lives_list_prepend(mt->video_draws, (livespointer)eventbox); - mt->current_track=0; + mt->video_draws = lives_list_prepend(mt->video_draws, (livespointer)eventbox); + mt->current_track = 0; //renumber all tracks in mt->selected_tracks - liste=mt->selected_tracks; - while (liste!=NULL) { - liste->data=LIVES_INT_TO_POINTER(LIVES_POINTER_TO_INT(liste->data)+1); - liste=liste->next; + liste = mt->selected_tracks; + while (liste != NULL) { + liste->data = LIVES_INT_TO_POINTER(LIVES_POINTER_TO_INT(liste->data) + 1); + liste = liste->next; } } else { // add track behind (below) stack - mt->video_draws=lives_list_append(mt->video_draws, (livespointer)eventbox); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"layer_number",LIVES_INT_TO_POINTER(mt->num_video_tracks-1)); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(checkbutton),"layer_number",LIVES_INT_TO_POINTER(mt->num_video_tracks-1)); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(arrow),"layer_number",LIVES_INT_TO_POINTER(mt->num_video_tracks-1)); - mt->current_track=mt->num_video_tracks-1; + mt->video_draws = lives_list_append(mt->video_draws, (livespointer)eventbox); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "layer_number", LIVES_INT_TO_POINTER(mt->num_video_tracks - 1)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(checkbutton), "layer_number", LIVES_INT_TO_POINTER(mt->num_video_tracks - 1)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(arrow), "layer_number", LIVES_INT_TO_POINTER(mt->num_video_tracks - 1)); + mt->current_track = mt->num_video_tracks - 1; } - widget_opts.justify=LIVES_JUSTIFY_LEFT; - label=lives_label_new((tmp=lives_strdup_printf(_("%s (layer %d)"), - lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"track_name"), - LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), - "layer_number"))))); - widget_opts.justify=widget_opts.default_justify; + widget_opts.justify = LIVES_JUSTIFY_LEFT; + label = lives_label_new((tmp = lives_strdup_printf(_("%s (layer %d)"), + lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "track_name"), + LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), + "layer_number"))))); + widget_opts.justify = widget_opts.default_justify; lives_free(tmp); lives_object_ref(label); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"label",label); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "label", label); if (mt->opts.pertrack_audio) { - aeventbox=add_audio_track(mt,mt->current_track,behind); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(aeventbox),"owner",eventbox); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"atrack",aeventbox); + aeventbox = add_audio_track(mt, mt->current_track, behind); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(aeventbox), "owner", eventbox); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "atrack", aeventbox); - if (mt->avol_init_event!=NULL) { - weed_plant_t *filter=get_weed_filter(mt->avol_fx); - add_track_to_avol_init(filter,mt->avol_init_event,mt->opts.back_audio_tracks,behind); + if (mt->avol_init_event != NULL) { + weed_plant_t *filter = get_weed_filter(mt->avol_fx); + add_track_to_avol_init(filter, mt->avol_init_event, mt->opts.back_audio_tracks, behind); } } - if (!behind) scroll_track_on_screen(mt,0); - else scroll_track_on_screen(mt,mt->num_video_tracks-1); + if (!behind) scroll_track_on_screen(mt, 0); + else scroll_track_on_screen(mt, mt->num_video_tracks - 1); lives_widget_queue_draw(mt->vpaned); if (!behind) return 0; - else return mt->num_video_tracks-1; + else return mt->num_video_tracks - 1; } + int add_video_track_behind(LiVESMenuItem *menuitem, livespointer user_data) { int tnum; - lives_mt *mt=(lives_mt *)user_data; - if (menuitem!=NULL) mt_desensitise(mt); - tnum=add_video_track(mt,TRUE); - if (menuitem!=NULL) mt_sensitise(mt); + lives_mt *mt = (lives_mt *)user_data; + if (menuitem != NULL) mt_desensitise(mt); + tnum = add_video_track(mt, TRUE); + if (menuitem != NULL) mt_sensitise(mt); return tnum; } + int add_video_track_front(LiVESMenuItem *menuitem, livespointer user_data) { int tnum; - lives_mt *mt=(lives_mt *)user_data; - if (menuitem!=NULL) mt_desensitise(mt); - tnum=add_video_track(mt,FALSE); - if (menuitem!=NULL) mt_sensitise(mt); + lives_mt *mt = (lives_mt *)user_data; + if (menuitem != NULL) mt_desensitise(mt); + tnum = add_video_track(mt, FALSE); + if (menuitem != NULL) mt_sensitise(mt); return tnum; } - void on_mt_fx_edit_activate(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - if (mt->selected_init_event==NULL) return; + lives_mt *mt = (lives_mt *)user_data; + if (mt->selected_init_event == NULL) return; fubar(mt); - polymorph(mt,POLY_PARAMS); - lives_widget_set_sensitive(mt->apply_fx_button,FALSE); + polymorph(mt, POLY_PARAMS); + lives_widget_set_sensitive(mt->apply_fx_button, FALSE); } + static boolean mt_fx_edit_idle(livespointer user_data) { - on_mt_fx_edit_activate(NULL,user_data); + on_mt_fx_edit_activate(NULL, user_data); return FALSE; } + static void mt_avol_quick(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - mt->selected_init_event=mt->avol_init_event; - on_mt_fx_edit_activate(menuitem,user_data); + lives_mt *mt = (lives_mt *)user_data; + mt->selected_init_event = mt->avol_init_event; + on_mt_fx_edit_activate(menuitem, user_data); } + static void rdrw_cb(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; redraw_all_event_boxes(mt); } + void do_effect_context(lives_mt *mt, LiVESXEventButton *event) { // pop up a context menu when a selected block is right clicked on LiVESWidget *edit_effect; LiVESWidget *delete_effect; - LiVESWidget *menu=lives_menu_new(); + LiVESWidget *menu = lives_menu_new(); weed_plant_t *filter; char *fhash; int error; - lives_menu_set_title(LIVES_MENU(menu),_("Selected Effect")); + lives_menu_set_title(LIVES_MENU(menu), _("Selected Effect")); - fhash=weed_get_string_value(mt->selected_init_event,WEED_LEAF_FILTER,&error); - filter=get_weed_filter(weed_get_idx_for_hashname(fhash,TRUE)); + fhash = weed_get_string_value(mt->selected_init_event, WEED_LEAF_FILTER, &error); + filter = get_weed_filter(weed_get_idx_for_hashname(fhash, TRUE)); lives_free(fhash); - if (num_in_params(filter,TRUE,TRUE)>0) { + if (num_in_params(filter, TRUE, TRUE) > 0) { edit_effect = lives_menu_item_new_with_mnemonic(_("_View/Edit this Effect")); } else { edit_effect = lives_menu_item_new_with_mnemonic(_("_View this Effect")); @@ -10478,7 +10220,7 @@ (livespointer)mt); delete_effect = lives_menu_item_new_with_mnemonic(_("_Delete this Effect")); - if (mt->selected_init_event!=mt->avol_init_event) { + if (mt->selected_init_event != mt->avol_init_event) { lives_container_add(LIVES_CONTAINER(menu), delete_effect); lives_signal_connect(LIVES_GUI_OBJECT(delete_effect), LIVES_WIDGET_ACTIVATE_SIGNAL, @@ -10486,7 +10228,7 @@ (livespointer)mt); } - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { set_child_alt_colour(menu, TRUE); lives_widget_set_bg_color(menu, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_fg_color(menu, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); @@ -10494,60 +10236,57 @@ lives_widget_show_all(menu); lives_menu_popup(LIVES_MENU(menu), event); - } - - static boolean fx_ebox_pressed(LiVESWidget *eventbox, LiVESXEventButton *event, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - LiVESList *children,*xlist; - weed_plant_t *osel=mt->selected_init_event; + lives_mt *mt = (lives_mt *)user_data; + LiVESList *children, *xlist; + weed_plant_t *osel = mt->selected_init_event; if (mt->is_rendering) return FALSE; - mt->selected_init_event=(weed_plant_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"init_event"); + mt->selected_init_event = (weed_plant_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "init_event"); - if (event->type==LIVES_BUTTON2_PRESS) { + if (event->type == LIVES_BUTTON2_PRESS) { // double click - mt->moving_fx=NULL; - if (mainw->playing_file==-1) { - lives_idle_add_full(G_PRIORITY_LOW,mt_fx_edit_idle,mt,NULL); // work around bug in gtk+ + mt->moving_fx = NULL; + if (mainw->playing_file == -1) { + lives_idle_add_full(G_PRIORITY_LOW, mt_fx_edit_idle, mt, NULL); // work around bug in gtk+ } return FALSE; } - if (mainw->playing_file==-1) { - if (mt->fx_order!=FX_ORD_NONE) { - if (osel!=mt->selected_init_event&&osel!=mt->avol_init_event) { + if (mainw->playing_file == -1) { + if (mt->fx_order != FX_ORD_NONE) { + if (osel != mt->selected_init_event && osel != mt->avol_init_event) { switch (mt->fx_order) { case FX_ORD_BEFORE: /// backup events and note timecode of filter map - mt_backup(mt,MT_UNDO_FILTER_MAP_CHANGE,get_event_timecode(mt->fm_edit_event)); + mt_backup(mt, MT_UNDO_FILTER_MAP_CHANGE, get_event_timecode(mt->fm_edit_event)); /// move the init event in the filter map - move_init_in_filter_map(mt,mt->event_list,mt->fm_edit_event,osel,mt->selected_init_event, - mt->current_track,FALSE); - mt->did_backup=FALSE; + move_init_in_filter_map(mt, mt->event_list, mt->fm_edit_event, osel, mt->selected_init_event, + mt->current_track, FALSE); + mt->did_backup = FALSE; break; case FX_ORD_AFTER: if (init_event_is_process_last(mt->selected_init_event)) { // cannot insert after a process_last effect clear_context(mt); - add_context_label(mt,_("Cannot insert after this effect")); - mt->selected_init_event=osel; - mt->fx_order=FX_ORD_NONE; + add_context_label(mt, _("Cannot insert after this effect")); + mt->selected_init_event = osel; + mt->fx_order = FX_ORD_NONE; return FALSE; } /// backup events and note timecode of filter map - mt_backup(mt,MT_UNDO_FILTER_MAP_CHANGE,get_event_timecode(mt->fm_edit_event)); + mt_backup(mt, MT_UNDO_FILTER_MAP_CHANGE, get_event_timecode(mt->fm_edit_event)); /// move the init event in the filter map - move_init_in_filter_map(mt,mt->event_list,mt->fm_edit_event,osel,mt->selected_init_event, - mt->current_track,TRUE); - mt->did_backup=FALSE; + move_init_in_filter_map(mt, mt->event_list, mt->fm_edit_event, osel, mt->selected_init_event, + mt->current_track, TRUE); + mt->did_backup = FALSE; break; default: @@ -10555,77 +10294,73 @@ } } - mt->selected_init_event=osel; - mt->fx_order=FX_ORD_NONE; - mt->selected_init_event=NULL; - polymorph(mt,POLY_FX_STACK); + mt->selected_init_event = osel; + mt->fx_order = FX_ORD_NONE; + mt->selected_init_event = NULL; + polymorph(mt, POLY_FX_STACK); mt_show_current_frame(mt, FALSE); ///< show updated preview return FALSE; } - if (mt->fx_order==FX_ORD_NONE&&WEED_EVENT_IS_FILTER_MAP(mt->fm_edit_event)) { + if (mt->fx_order == FX_ORD_NONE && WEED_EVENT_IS_FILTER_MAP(mt->fm_edit_event)) { if (init_event_is_process_last(mt->selected_init_event)) { clear_context(mt); - add_context_label(mt,_("This effect cannot be moved")); - if (mt->fx_ibefore_button!=NULL) lives_widget_set_sensitive(mt->fx_ibefore_button,FALSE); - if (mt->fx_iafter_button!=NULL) lives_widget_set_sensitive(mt->fx_iafter_button,FALSE); + add_context_label(mt, _("This effect cannot be moved")); + if (mt->fx_ibefore_button != NULL) lives_widget_set_sensitive(mt->fx_ibefore_button, FALSE); + if (mt->fx_iafter_button != NULL) lives_widget_set_sensitive(mt->fx_iafter_button, FALSE); } else { do_fx_move_context(mt); - if (mt->fx_ibefore_button!=NULL) lives_widget_set_sensitive(mt->fx_ibefore_button,TRUE); - if (mt->fx_iafter_button!=NULL) lives_widget_set_sensitive(mt->fx_iafter_button,TRUE); + if (mt->fx_ibefore_button != NULL) lives_widget_set_sensitive(mt->fx_ibefore_button, TRUE); + if (mt->fx_iafter_button != NULL) lives_widget_set_sensitive(mt->fx_iafter_button, TRUE); } } - lives_widget_set_sensitive(mt->fx_edit,TRUE); - if (mt->selected_init_event!=mt->avol_init_event) lives_widget_set_sensitive(mt->fx_delete,TRUE); + lives_widget_set_sensitive(mt->fx_edit, TRUE); + if (mt->selected_init_event != mt->avol_init_event) lives_widget_set_sensitive(mt->fx_delete, TRUE); } - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { // set clicked-on widget to selected state and reset all others - xlist=children=lives_container_get_children(LIVES_CONTAINER(mt->fx_list_vbox)); - while (children!=NULL) { - LiVESWidget *child=(LiVESWidget *)children->data; - if (child!=eventbox) { + xlist = children = lives_container_get_children(LIVES_CONTAINER(mt->fx_list_vbox)); + while (children != NULL) { + LiVESWidget *child = (LiVESWidget *)children->data; + if (child != eventbox) { lives_widget_set_bg_color(child, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); lives_widget_set_fg_color(child, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); - set_child_colour(child,TRUE); + set_child_colour(child, TRUE); } else { lives_widget_set_bg_color(child, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_fg_color(child, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); - set_child_alt_colour(child,TRUE); + set_child_alt_colour(child, TRUE); } - children=children->next; + children = children->next; } - if (xlist!=NULL) lives_list_free(xlist); + if (xlist != NULL) lives_list_free(xlist); } - if (event->button==3&&mainw->playing_file==-1) { - do_effect_context(mt,event); + if (event->button == 3 && mainw->playing_file == -1) { + do_effect_context(mt, event); } return FALSE; } - - static void set_clip_labels_variable(lives_mt *mt, int i) { char *tmp; - LiVESLabel *label1,*label2; - lives_clip_t *sfile=mainw->files[i]; + LiVESLabel *label1, *label2; + lives_clip_t *sfile = mainw->files[i]; - if (mt->clip_labels==NULL) return; + if (mt->clip_labels == NULL) return; - i=mt_clip_from_file(mt,i); - i*=2; + i = mt_clip_from_file(mt, i); + i *= 2; - label1=(LiVESLabel *)lives_list_nth_data(mt->clip_labels,i); - label2=(LiVESLabel *)lives_list_nth_data(mt->clip_labels,++i); + label1 = (LiVESLabel *)lives_list_nth_data(mt->clip_labels, i); + label2 = (LiVESLabel *)lives_list_nth_data(mt->clip_labels, ++i); - lives_label_set_text(label1,(tmp=lives_strdup_printf(_(" %d to %d selected "),sfile->start,sfile->end))); + lives_label_set_text(label1, (tmp = lives_strdup_printf(_(" %d to %d selected "), sfile->start, sfile->end))); lives_free(tmp); - lives_label_set_text(label2,(tmp=lives_strdup_printf(_("%.2f sec."),(sfile->end-sfile->start+1.)/sfile->fps))); + lives_label_set_text(label2, (tmp = lives_strdup_printf(_("%.2f sec."), (sfile->end - sfile->start + 1.) / sfile->fps))); lives_free(tmp); - - } @@ -10633,182 +10368,172 @@ int i; char *msg; - for (i=0; i<mt->num_video_tracks; i++) { - delete_video_track(mt,i,FALSE); + for (i = 0; i < mt->num_video_tracks; i++) { + delete_video_track(mt, i, FALSE); } lives_list_free(mt->video_draws); - mt->video_draws=NULL; - mt->num_video_tracks=0; - mainw->event_list=mt->event_list=NULL; + mt->video_draws = NULL; + mt->num_video_tracks = 0; + mainw->event_list = mt->event_list = NULL; - if (mt->selected_tracks!=NULL) lives_list_free(mt->selected_tracks); - mt->selected_tracks=NULL; + if (mt->selected_tracks != NULL) lives_list_free(mt->selected_tracks); + mt->selected_tracks = NULL; - if (mt->amixer!=NULL) on_amixer_close_clicked(NULL,mt); + if (mt->amixer != NULL) on_amixer_close_clicked(NULL, mt); - delete_audio_tracks(mt,mt->audio_draws,FALSE); - mt->audio_draws=NULL; - if (mt->audio_vols!=NULL) lives_list_free(mt->audio_vols); - mt->audio_vols=NULL; + delete_audio_tracks(mt, mt->audio_draws, FALSE); + mt->audio_draws = NULL; + if (mt->audio_vols != NULL) lives_list_free(mt->audio_vols); + mt->audio_vols = NULL; - mt_init_tracks(mt,TRUE); + mt_init_tracks(mt, TRUE); unselect_all(mt); - mt->changed=FALSE; + mt->changed = FALSE; - msg=set_values_from_defs(mt,FALSE); + msg = set_values_from_defs(mt, FALSE); - if (cfile->achans==0) mt->opts.pertrack_audio=FALSE; + if (cfile->achans == 0) mt->opts.pertrack_audio = FALSE; - if (msg!=NULL) { + if (msg != NULL) { d_print(msg); lives_free(msg); set_mt_title(mt); } // reset avol_fx - if (cfile->achans>0&&mainw->fx_candidates[FX_CANDIDATE_AUDIO_VOL].delegate!=-1) { + if (cfile->achans > 0 && mainw->fx_candidates[FX_CANDIDATE_AUDIO_VOL].delegate != -1) { // user (or system) has delegated an audio volume filter from the candidates - mt->avol_fx=LIVES_POINTER_TO_INT(lives_list_nth_data(mainw->fx_candidates[FX_CANDIDATE_AUDIO_VOL].list, - mainw->fx_candidates[FX_CANDIDATE_AUDIO_VOL].delegate)); - } else mt->avol_fx=-1; - mt->avol_init_event=NULL; + mt->avol_fx = LIVES_POINTER_TO_INT(lives_list_nth_data(mainw->fx_candidates[FX_CANDIDATE_AUDIO_VOL].list, + mainw->fx_candidates[FX_CANDIDATE_AUDIO_VOL].delegate)); + } else mt->avol_fx = -1; + mt->avol_init_event = NULL; add_aparam_menuitems(mt); - memset(mt->layout_name,0,1); + memset(mt->layout_name, 0, 1); mt_show_current_frame(mt, FALSE); } - void mt_delete_clips(lives_mt *mt, int file) { // close eventbox(es) for a given file - LiVESList *list=lives_container_get_children(LIVES_CONTAINER(mt->clip_inner_box)),*list_next,*olist=list; + LiVESList *list = lives_container_get_children(LIVES_CONTAINER(mt->clip_inner_box)), *list_next, *olist = list; LiVESWidget *child; - LiVESWidget *label1,*label2; + LiVESWidget *label1, *label2; - int neg=0,i=0; + int neg = 0, i = 0; - boolean removed=FALSE; + boolean removed = FALSE; - while (list!=NULL) { - list_next=list->next; - if (clips_to_files[i]==file) { - removed=TRUE; + while (list != NULL) { + list_next = list->next; + if (clips_to_files[i] == file) { + removed = TRUE; - if (list->prev!=NULL) list->prev->next=list->next; - if (list->next!=NULL) list->next->prev=list->prev; + if (list->prev != NULL) list->prev->next = list->next; + if (list->next != NULL) list->next->prev = list->prev; - child=(LiVESWidget *)list->data; + child = (LiVESWidget *)list->data; lives_widget_destroy(child); - label1=(LiVESWidget *)lives_list_nth_data(mt->clip_labels,i*2); - label2=(LiVESWidget *)lives_list_nth_data(mt->clip_labels,i*2+1); + label1 = (LiVESWidget *)lives_list_nth_data(mt->clip_labels, i * 2); + label2 = (LiVESWidget *)lives_list_nth_data(mt->clip_labels, i * 2 + 1); - mt->clip_labels=lives_list_remove(mt->clip_labels,label1); - mt->clip_labels=lives_list_remove(mt->clip_labels,label2); + mt->clip_labels = lives_list_remove(mt->clip_labels, label1); + mt->clip_labels = lives_list_remove(mt->clip_labels, label2); lives_widget_context_update(); neg++; } - clips_to_files[i]=clips_to_files[i+neg]; - list=list_next; + clips_to_files[i] = clips_to_files[i + neg]; + list = list_next; i++; } - if (olist!=NULL) lives_list_free(olist); + if (olist != NULL) lives_list_free(olist); - if (mt->event_list!=NULL&&used_in_current_layout(mt,file)&&removed) { - int current_file=mainw->current_file; + if (mt->event_list != NULL && used_in_current_layout(mt, file) && removed) { + int current_file = mainw->current_file; - if (!event_list_rectify(mt,mt->event_list)||get_first_event(mt->event_list)==NULL) { + if (!event_list_rectify(mt, mt->event_list) || get_first_event(mt->event_list) == NULL) { // delete the current layout - mainw->current_file=mt->render_file; + mainw->current_file = mt->render_file; remove_current_from_affected_layouts(mt); - mainw->current_file=current_file; + mainw->current_file = current_file; } else { - mainw->current_file=mt->render_file; - mt_init_tracks(mt,FALSE); - mainw->current_file=current_file; + mainw->current_file = mt->render_file; + mt_init_tracks(mt, FALSE); + mainw->current_file = current_file; } } - if (mainw->current_file==-1) { + if (mainw->current_file == -1) { lives_widget_set_sensitive(mt->adjust_start_end, FALSE); } - } - - - - - - void mt_init_clips(lives_mt *mt, int orig_file, boolean add) { // setup clip boxes in the poly window. if add is TRUE then we are just adding a new clip // orig_file is the file we want to select // mt_clip_select() should be called after this - - LiVESWidget *thumb_image=NULL; + LiVESWidget *thumb_image = NULL; LiVESWidget *vbox, *label; LiVESWidget *eventbox; LiVESPixbuf *thumbnail; - LiVESList *cliplist=mainw->cliplist; + LiVESList *cliplist = mainw->cliplist; char filename[PATH_MAX]; char clip_name[CLIP_LABEL_LENGTH]; char *tmp; - int i=1; - int width=CLIP_THUMB_WIDTH,height=CLIP_THUMB_HEIGHT; - int count=lives_list_length(mt->clip_labels)/2; - - mt->clip_selected=-1; - - if (add) i=orig_file; - - while (add||cliplist!=NULL) { - if (add) i=orig_file; - else i=LIVES_POINTER_TO_INT(cliplist->data); - if (mainw->files[i]->clip_type!=CLIP_TYPE_DISK&&mainw->files[i]->clip_type!=CLIP_TYPE_FILE) { - cliplist=cliplist->next; + int i = 1; + int width = CLIP_THUMB_WIDTH, height = CLIP_THUMB_HEIGHT; + int count = lives_list_length(mt->clip_labels) / 2; + + mt->clip_selected = -1; + + if (add) i = orig_file; + + while (add || cliplist != NULL) { + if (add) i = orig_file; + else i = LIVES_POINTER_TO_INT(cliplist->data); + if (mainw->files[i]->clip_type != CLIP_TYPE_DISK && mainw->files[i]->clip_type != CLIP_TYPE_FILE) { + cliplist = cliplist->next; continue; - } - if (i!=mainw->scrap_file&&i!=mainw->ascrap_file) { - if (i==orig_file||(mt->clip_selected==-1&&i==mainw->pre_src_file)) { - if (!add) mt->clip_selected=mt_clip_from_file(mt,i); + if (i != mainw->scrap_file && i != mainw->ascrap_file) { + if (i == orig_file || (mt->clip_selected == -1 && i == mainw->pre_src_file)) { + if (!add) mt->clip_selected = mt_clip_from_file(mt, i); else { - mt->file_selected=i; - mt->clip_selected=count; - renumbered_clips[i]=i; + mt->file_selected = i; + mt->clip_selected = count; + renumbered_clips[i] = i; } } // make a small thumbnail, add it to the clips box - thumbnail=make_thumb(mt,i,width,height,mainw->files[i]->start,TRUE); + thumbnail = make_thumb(mt, i, width, height, mainw->files[i]->start, TRUE); - eventbox=lives_event_box_new(); + eventbox = lives_event_box_new(); lives_widget_add_events(eventbox, LIVES_BUTTON_RELEASE_MASK | LIVES_BUTTON_PRESS_MASK | LIVES_ENTER_NOTIFY_MASK); - lives_signal_connect(LIVES_GUI_OBJECT(eventbox), LIVES_WIDGET_ENTER_EVENT,LIVES_GUI_CALLBACK(on_clipbox_enter),(livespointer)mt); + lives_signal_connect(LIVES_GUI_OBJECT(eventbox), LIVES_WIDGET_ENTER_EVENT, LIVES_GUI_CALLBACK(on_clipbox_enter), (livespointer)mt); - clips_to_files[count]=i; + clips_to_files[count] = i; vbox = lives_vbox_new(FALSE, 6.*widget_opts.scale); - thumb_image=lives_image_new(); - lives_image_set_from_pixbuf(LIVES_IMAGE(thumb_image),thumbnail); - if (thumbnail!=NULL) lives_object_unref(thumbnail); + thumb_image = lives_image_new(); + lives_image_set_from_pixbuf(LIVES_IMAGE(thumb_image), thumbnail); + if (thumbnail != NULL) lives_object_unref(thumbnail); lives_container_add(LIVES_CONTAINER(eventbox), vbox); lives_box_pack_start(LIVES_BOX(mt->clip_inner_box), eventbox, FALSE, FALSE, 0); /* @@ -10817,39 +10542,39 @@ } */ - lives_snprintf(filename,PATH_MAX,"%s",(tmp=lives_path_get_basename(mainw->files[i]->name))); + lives_snprintf(filename, PATH_MAX, "%s", (tmp = lives_path_get_basename(mainw->files[i]->name))); lives_free(tmp); get_basename(filename); - lives_snprintf(clip_name,CLIP_LABEL_LENGTH," %s ",filename); - label=lives_label_new(clip_name); + lives_snprintf(clip_name, CLIP_LABEL_LENGTH, " %s ", filename); + label = lives_label_new(clip_name); lives_box_pack_start(LIVES_BOX(vbox), label, FALSE, FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), thumb_image, FALSE, FALSE, 0); - if (mainw->files[i]->frames>0) { + if (mainw->files[i]->frames > 0) { char *tmp; - label=lives_label_new((tmp=lives_strdup_printf(_("%d frames"),mainw->files[i]->frames))); + label = lives_label_new((tmp = lives_strdup_printf(_("%d frames"), mainw->files[i]->frames))); lives_free(tmp); lives_box_pack_start(LIVES_BOX(vbox), label, FALSE, FALSE, 0); - label=lives_label_new(""); - mt->clip_labels=lives_list_append(mt->clip_labels,label); + label = lives_label_new(""); + mt->clip_labels = lives_list_append(mt->clip_labels, label); lives_box_pack_start(LIVES_BOX(vbox), label, FALSE, FALSE, 0); - label=lives_label_new(""); - mt->clip_labels=lives_list_append(mt->clip_labels,label); + label = lives_label_new(""); + mt->clip_labels = lives_list_append(mt->clip_labels, label); lives_box_pack_start(LIVES_BOX(vbox), label, FALSE, FALSE, 0); - set_clip_labels_variable(mt,i); + set_clip_labels_variable(mt, i); } else { - label=lives_label_new(lives_strdup(_("audio only"))); + label = lives_label_new(lives_strdup(_("audio only"))); lives_box_pack_start(LIVES_BOX(vbox), label, FALSE, FALSE, 0); - mt->clip_labels=lives_list_append(mt->clip_labels,label); + mt->clip_labels = lives_list_append(mt->clip_labels, label); - label=lives_label_new(lives_strdup_printf(_("%.2f sec."),mainw->files[i]->laudio_time)); + label = lives_label_new(lives_strdup_printf(_("%.2f sec."), mainw->files[i]->laudio_time)); lives_box_pack_start(LIVES_BOX(vbox), label, FALSE, FALSE, 0); - mt->clip_labels=lives_list_append(mt->clip_labels,label); + mt->clip_labels = lives_list_append(mt->clip_labels, label); } count++; @@ -10866,43 +10591,43 @@ break; } } - cliplist=cliplist->next; + cliplist = cliplist->next; } } static void set_audio_mixer_vols(lives_mt *mt, weed_plant_t *elist) { - int natracks,navols; + int natracks, navols; int *atracks; double *avols; - int catracks=lives_list_length(mt->audio_vols); - int error,i,xtrack,xavol; + int catracks = lives_list_length(mt->audio_vols); + int error, i, xtrack, xavol; - if (!weed_plant_has_leaf(elist,WEED_LEAF_AUDIO_VOLUME_TRACKS)||!weed_plant_has_leaf(elist,WEED_LEAF_AUDIO_VOLUME_VALUES)) return; + if (!weed_plant_has_leaf(elist, WEED_LEAF_AUDIO_VOLUME_TRACKS) || !weed_plant_has_leaf(elist, WEED_LEAF_AUDIO_VOLUME_VALUES)) return; - natracks=weed_leaf_num_elements(elist,WEED_LEAF_AUDIO_VOLUME_TRACKS); - navols=weed_leaf_num_elements(elist,WEED_LEAF_AUDIO_VOLUME_VALUES); + natracks = weed_leaf_num_elements(elist, WEED_LEAF_AUDIO_VOLUME_TRACKS); + navols = weed_leaf_num_elements(elist, WEED_LEAF_AUDIO_VOLUME_VALUES); - atracks=weed_get_int_array(elist,WEED_LEAF_AUDIO_VOLUME_TRACKS,&error); - if (error!=WEED_NO_ERROR) return; + atracks = weed_get_int_array(elist, WEED_LEAF_AUDIO_VOLUME_TRACKS, &error); + if (error != WEED_NO_ERROR) return; - avols=weed_get_double_array(elist,WEED_LEAF_AUDIO_VOLUME_VALUES,&error); - if (error!=WEED_NO_ERROR) { + avols = weed_get_double_array(elist, WEED_LEAF_AUDIO_VOLUME_VALUES, &error); + if (error != WEED_NO_ERROR) { lives_free(atracks); return; } - for (i=0; i<natracks; i++) { - xtrack=atracks[i]; - if (xtrack<-mt->opts.back_audio_tracks) continue; - if (xtrack>=catracks-mt->opts.back_audio_tracks) continue; - - xavol=i; - if (xavol>=navols) { - mt->opts.gang_audio=TRUE; - xavol=navols-1; + for (i = 0; i < natracks; i++) { + xtrack = atracks[i]; + if (xtrack < -mt->opts.back_audio_tracks) continue; + if (xtrack >= catracks - mt->opts.back_audio_tracks) continue; + + xavol = i; + if (xavol >= navols) { + mt->opts.gang_audio = TRUE; + xavol = navols - 1; } - set_mixer_track_vol(mt,xtrack+mt->opts.back_audio_tracks,avols[xavol]); + set_mixer_track_vol(mt, xtrack + mt->opts.back_audio_tracks, avols[xavol]); } lives_free(atracks); @@ -10911,7 +10636,7 @@ static boolean mt_idle_show_current_frame(livespointer mt) { - mt_show_current_frame((lives_mt *)mt,FALSE); + mt_show_current_frame((lives_mt *)mt, FALSE); return FALSE; } @@ -10925,83 +10650,83 @@ char *tmp; boolean response; - boolean transfer_focus=FALSE; + boolean transfer_focus = FALSE; int orig_file; - xachans=xarate=xasamps=xse=0; - ptaud=prefs->mt_pertrack_audio; - btaud=prefs->mt_backaudio; - - if (mainw->frame_layer!=NULL) weed_layer_free(mainw->frame_layer); - mainw->frame_layer=NULL; - - if (prefs->mt_enter_prompt&&mainw->stored_event_list==NULL&&prefs->show_gui&&!(mainw->recoverable_layout&& - prefs->startup_interface==STARTUP_CE)) { - if (palette->style&STYLE_1) widget_opts.apply_theme=TRUE; - rdet=create_render_details(3); // WARNING !! - rdet is global in events.h - rdet->enc_changed=FALSE; + xachans = xarate = xasamps = xse = 0; + ptaud = prefs->mt_pertrack_audio; + btaud = prefs->mt_backaudio; + + if (mainw->frame_layer != NULL) weed_layer_free(mainw->frame_layer); + mainw->frame_layer = NULL; + + if (prefs->mt_enter_prompt && mainw->stored_event_list == NULL && prefs->show_gui && !(mainw->recoverable_layout && + prefs->startup_interface == STARTUP_CE)) { + if (palette->style & STYLE_1) widget_opts.apply_theme = TRUE; + rdet = create_render_details(3); // WARNING !! - rdet is global in events.h + rdet->enc_changed = FALSE; lives_widget_show_all(rdet->always_hbox); do { - rdet->suggestion_followed=FALSE; - if ((response=lives_dialog_run(LIVES_DIALOG(rdet->dialog)))==LIVES_RESPONSE_OK) { + rdet->suggestion_followed = FALSE; + if ((response = lives_dialog_run(LIVES_DIALOG(rdet->dialog))) == LIVES_RESPONSE_OK) { if (rdet->enc_changed) { - check_encoder_restrictions(FALSE,lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->aud_checkbutton)),TRUE); + check_encoder_restrictions(FALSE, lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->aud_checkbutton)), TRUE); } } - } while (rdet->suggestion_followed||response==LIVES_RESPONSE_RESET); + } while (rdet->suggestion_followed || response == LIVES_RESPONSE_RESET); - xarate=(int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_arate))); - xachans=(int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_achans))); - xasamps=(int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_asamps))); + xarate = (int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_arate))); + xachans = (int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_achans))); + xasamps = (int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_asamps))); if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->rb_unsigned))) { - xse=AFORM_UNSIGNED; + xse = AFORM_UNSIGNED; } if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->rb_bigend))) { - xse|=AFORM_BIG_ENDIAN; + xse |= AFORM_BIG_ENDIAN; } if (!lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->aud_checkbutton))) { - xachans=0; + xachans = 0; } - ptaud=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(rdet->pertrack_checkbutton)); - btaud=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(rdet->backaudio_checkbutton)); + ptaud = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(rdet->pertrack_checkbutton)); + btaud = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(rdet->backaudio_checkbutton)); if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(rdet->always_checkbutton))) { - prefs->mt_enter_prompt=FALSE; - set_boolean_pref(PREF_MT_ENTER_PROMPT,prefs->mt_enter_prompt); - prefs->mt_def_width=rdet->width; - set_int_pref(PREF_MT_DEF_WIDTH,prefs->mt_def_width); - prefs->mt_def_height=rdet->height; - set_int_pref(PREF_MT_DEF_HEIGHT,prefs->mt_def_height); - prefs->mt_def_fps=rdet->fps; - set_double_pref(PREF_MT_DEF_FPS,prefs->mt_def_fps); - prefs->mt_def_arate=xarate; - set_int_pref(PREF_MT_DEF_ARATE,prefs->mt_def_arate); - prefs->mt_def_achans=xachans; - set_int_pref(PREF_MT_DEF_ACHANS,prefs->mt_def_achans); - prefs->mt_def_asamps=xasamps; - set_int_pref(PREF_MT_DEF_ASAMPS,prefs->mt_def_asamps); - prefs->mt_def_signed_endian=xse; - set_int_pref(PREF_MT_DEF_SIGNED_ENDIAN,prefs->mt_def_signed_endian); - prefs->mt_pertrack_audio=ptaud; - set_boolean_pref(PREF_MT_PERTRACK_AUDIO,prefs->mt_pertrack_audio); - prefs->mt_backaudio=btaud; - set_int_pref(PREF_MT_BACKAUDIO,prefs->mt_backaudio); + prefs->mt_enter_prompt = FALSE; + set_boolean_pref(PREF_MT_ENTER_PROMPT, prefs->mt_enter_prompt); + prefs->mt_def_width = rdet->width; + set_int_pref(PREF_MT_DEF_WIDTH, prefs->mt_def_width); + prefs->mt_def_height = rdet->height; + set_int_pref(PREF_MT_DEF_HEIGHT, prefs->mt_def_height); + prefs->mt_def_fps = rdet->fps; + set_double_pref(PREF_MT_DEF_FPS, prefs->mt_def_fps); + prefs->mt_def_arate = xarate; + set_int_pref(PREF_MT_DEF_ARATE, prefs->mt_def_arate); + prefs->mt_def_achans = xachans; + set_int_pref(PREF_MT_DEF_ACHANS, prefs->mt_def_achans); + prefs->mt_def_asamps = xasamps; + set_int_pref(PREF_MT_DEF_ASAMPS, prefs->mt_def_asamps); + prefs->mt_def_signed_endian = xse; + set_int_pref(PREF_MT_DEF_SIGNED_ENDIAN, prefs->mt_def_signed_endian); + prefs->mt_pertrack_audio = ptaud; + set_boolean_pref(PREF_MT_PERTRACK_AUDIO, prefs->mt_pertrack_audio); + prefs->mt_backaudio = btaud; + set_int_pref(PREF_MT_BACKAUDIO, prefs->mt_backaudio); } else { if (!prefs->mt_enter_prompt) { - prefs->mt_enter_prompt=TRUE; - set_boolean_pref(PREF_MT_ENTER_PROMPT,prefs->mt_enter_prompt); + prefs->mt_enter_prompt = TRUE; + set_boolean_pref(PREF_MT_ENTER_PROMPT, prefs->mt_enter_prompt); } } - if (lives_window_has_toplevel_focus(LIVES_WINDOW(rdet->dialog))) transfer_focus=TRUE; + if (lives_window_has_toplevel_focus(LIVES_WINDOW(rdet->dialog))) transfer_focus = TRUE; lives_widget_destroy(rdet->dialog); - if (response==LIVES_RESPONSE_CANCEL) { + if (response == LIVES_RESPONSE_CANCEL) { lives_free(rdet->encoder_name); lives_freep((void **)&rdet); lives_freep((void **)&resaudw); @@ -11009,7 +10734,7 @@ } } - if (mainw->current_file>-1&&cfile!=NULL&&cfile->clip_type==CLIP_TYPE_GENERATOR) { + if (mainw->current_file > -1 && cfile != NULL && cfile->clip_type == CLIP_TYPE_GENERATOR) { weed_generator_end((weed_plant_t *)cfile->ext_src); } @@ -11019,118 +10744,114 @@ // create new file for rendering to renumber_clips(); - orig_file=mainw->current_file; - mainw->current_file=mainw->first_free_file; + orig_file = mainw->current_file; + mainw->current_file = mainw->first_free_file; - if (!get_new_handle(mainw->current_file,NULL)) { - mainw->current_file=orig_file; + if (!get_new_handle(mainw->current_file, NULL)) { + mainw->current_file = orig_file; return FALSE; // show dialog again } - cfile->img_type=IMG_TYPE_BEST; // override the pref + cfile->img_type = IMG_TYPE_BEST; // override the pref - cfile->bpp=cfile->img_type==IMG_TYPE_JPEG?24:32; - cfile->changed=TRUE; - cfile->is_loaded=TRUE; + cfile->bpp = cfile->img_type == IMG_TYPE_JPEG ? 24 : 32; + cfile->changed = TRUE; + cfile->is_loaded = TRUE; - cfile->old_frames=cfile->frames; + cfile->old_frames = cfile->frames; - force_pertrack_audio=FALSE; - force_backing_tracks=0; + force_pertrack_audio = FALSE; + force_backing_tracks = 0; - if (mainw->stored_event_list!=NULL) { - event_list=mainw->stored_event_list; - rerenumber_clips(NULL,event_list); + if (mainw->stored_event_list != NULL) { + event_list = mainw->stored_event_list; + rerenumber_clips(NULL, event_list); } if (prefs->show_gui) { // must check this before event_list_rectify, since it can throw error dialogs - if (lives_window_has_toplevel_focus(LIVES_WINDOW(mainw->LiVES))) transfer_focus=TRUE; + if (lives_window_has_toplevel_focus(LIVES_WINDOW(mainw->LiVES))) transfer_focus = TRUE; } // if we have an existing event list, we will quantise it to the selected fps - if (event_list!=NULL) { - weed_plant_t *qevent_list=quantise_events(event_list,cfile->fps,FALSE); - if (qevent_list==NULL) return FALSE; // memory error - event_list_replace_events(event_list,qevent_list); - weed_set_double_value(event_list,WEED_LEAF_FPS,cfile->fps); - event_list_rectify(NULL,event_list); + if (event_list != NULL) { + weed_plant_t *qevent_list = quantise_events(event_list, cfile->fps, FALSE); + if (qevent_list == NULL) return FALSE; // memory error + event_list_replace_events(event_list, qevent_list); + weed_set_double_value(event_list, WEED_LEAF_FPS, cfile->fps); + event_list_rectify(NULL, event_list); } // in case we are starting up in mt mode #ifdef ENABLE_JACK - if (mainw->jackd!=NULL) { + if (mainw->jackd != NULL) { jack_driver_activate(mainw->jackd); } #endif #ifdef HAVE_PULSE_AUDIO - if (mainw->pulsed!=NULL) { + if (mainw->pulsed != NULL) { pulse_driver_activate(mainw->pulsed); } #endif - if (prefs->show_gui) block_expose(); - ce_sepwin_type=prefs->sepwin_type; - if (ce_sepwin_type==SEPWIN_TYPE_STICKY) on_sticky_activate(NULL,NULL); - - if (palette->style&STYLE_1) widget_opts.apply_theme=TRUE; - multi=multitrack(event_list,orig_file,cfile->fps); + ce_sepwin_type = prefs->sepwin_type; + if (ce_sepwin_type == SEPWIN_TYPE_STICKY) on_sticky_activate(NULL, NULL); + if (palette->style & STYLE_1) widget_opts.apply_theme = TRUE; + multi = multitrack(event_list, orig_file, cfile->fps); - if (mainw->stored_event_list!=NULL) { - mainw->stored_event_list=NULL; - mainw->stored_layout_undos=NULL; - mainw->sl_undo_mem=NULL; + if (mainw->stored_event_list != NULL) { + mainw->stored_event_list = NULL; + mainw->stored_layout_undos = NULL; + mainw->sl_undo_mem = NULL; stored_event_list_free_all(FALSE); - if (multi->event_list==NULL) { - multi->clip_selected=mt_clip_from_file(multi,orig_file); - multi->file_selected=orig_file; + if (multi->event_list == NULL) { + multi->clip_selected = mt_clip_from_file(multi, orig_file); + multi->file_selected = orig_file; if (prefs->show_gui) unblock_expose(); return FALSE; } remove_markers(multi->event_list); - set_audio_mixer_vols(multi,multi->event_list); - lives_snprintf(multi->layout_name,256,"%s",mainw->stored_layout_name); - multi->changed=mainw->stored_event_list_changed; - multi->auto_changed=mainw->stored_event_list_auto_changed; + set_audio_mixer_vols(multi, multi->event_list); + lives_snprintf(multi->layout_name, 256, "%s", mainw->stored_layout_name); + multi->changed = mainw->stored_event_list_changed; + multi->auto_changed = mainw->stored_event_list_auto_changed; } - if (mainw->recoverable_layout&&multi->event_list==NULL&&prefs->startup_interface==STARTUP_CE) { + if (mainw->recoverable_layout && multi->event_list == NULL && prefs->startup_interface == STARTUP_CE) { // failed to load recovery layout - multi->clip_selected=mt_clip_from_file(multi,orig_file); - multi->file_selected=orig_file; + multi->clip_selected = mt_clip_from_file(multi, orig_file); + multi->file_selected = orig_file; return FALSE; } if (prefs->show_gui) { lives_widget_show_all(multi->window); - if (multi->nb_label!=NULL) { + if (multi->nb_label != NULL) { lives_widget_hide(multi->poly_box); lives_widget_queue_resize(multi->nb_label); } - get_menu_text(multi->recent1,buff); + get_menu_text(multi->recent1, buff); if (!strlen(buff)) lives_widget_hide(multi->recent1); - get_menu_text(multi->recent2,buff); + get_menu_text(multi->recent2, buff); if (!strlen(buff)) lives_widget_hide(multi->recent2); - get_menu_text(multi->recent3,buff); + get_menu_text(multi->recent3, buff); if (!strlen(buff)) lives_widget_hide(multi->recent3); - get_menu_text(multi->recent4,buff); + get_menu_text(multi->recent4, buff); if (!strlen(buff)) lives_widget_hide(multi->recent4); - - } - if (cfile->achans==0) { - multi->opts.pertrack_audio=FALSE; + if (cfile->achans == 0) { + multi->opts.pertrack_audio = FALSE; } if (!is_realtime_aplayer(prefs->audio_player)) { lives_widget_hide(mainw->vol_toolitem); - if (mainw->vol_label!=NULL) lives_widget_hide(mainw->vol_label); + if (mainw->vol_label != NULL) lives_widget_hide(mainw->vol_label); } if (!multi->opts.show_ctx) { @@ -11139,9 +10860,9 @@ lives_widget_hide(multi->sep_image); } - if (!(palette->style&STYLE_4)) { + if (!(palette->style & STYLE_4)) { lives_widget_hide(multi->hseparator); - if (multi->hseparator2!=NULL) { + if (multi->hseparator2 != NULL) { lives_widget_hide(multi->hseparator2); } } @@ -11151,64 +10872,59 @@ } track_select(multi); - mt_clip_select(multi,TRUE); // call this again to scroll clip on screen + mt_clip_select(multi, TRUE); // call this again to scroll clip on screen - if (mainw->preview_box!=NULL&&lives_widget_get_parent(mainw->preview_box)!=NULL) { + if (mainw->preview_box != NULL && lives_widget_get_parent(mainw->preview_box) != NULL) { lives_object_unref(mainw->preview_box); lives_container_remove(LIVES_CONTAINER(mainw->play_window), mainw->preview_box); - mainw->preview_box=NULL; + mainw->preview_box = NULL; } - if (mainw->play_window!=NULL) { - char *title,*xtrabit; + if (mainw->play_window != NULL) { + char *title, *xtrabit; lives_window_remove_accel_group(LIVES_WINDOW(mainw->play_window), mainw->accel_group); lives_window_add_accel_group(LIVES_WINDOW(mainw->play_window), multi->accel_group); resize_play_window(); - if (mainw->sepwin_scale!=100.) xtrabit=lives_strdup_printf(_(" (%d %% scale)"),(int)mainw->sepwin_scale); - else xtrabit=lives_strdup(""); - title=lives_strdup_printf("%s%s",lives_window_get_title(LIVES_WINDOW(multi->window)),xtrabit); - lives_window_set_title(LIVES_WINDOW(mainw->play_window),title); + if (mainw->sepwin_scale != 100.) xtrabit = lives_strdup_printf(_(" (%d %% scale)"), (int)mainw->sepwin_scale); + else xtrabit = lives_strdup(""); + title = lives_strdup_printf("%s%s", lives_window_get_title(LIVES_WINDOW(multi->window)), xtrabit); + lives_window_set_title(LIVES_WINDOW(mainw->play_window), title); lives_free(title); lives_free(xtrabit); - - } - d_print(_("\n==============================\nSwitched to Multitrack mode\n")); - - if (cfile->achans>0&&!is_realtime_aplayer(prefs->audio_player)) { + if (cfile->achans > 0 && !is_realtime_aplayer(prefs->audio_player)) { do_mt_no_jack_error(WARN_MASK_MT_NO_JACK); } - if (prefs->gui_monitor!=0) { - int xcen=mainw->mgeom[prefs->gui_monitor-1].x+(mainw->mgeom[prefs->gui_monitor-1].width- - lives_widget_get_allocation_width(multi->window))/2; - int ycen=mainw->mgeom[prefs->gui_monitor-1].y+(mainw->mgeom[prefs->gui_monitor-1].height- - lives_widget_get_allocation_height(multi->window))/2; - lives_window_set_screen(LIVES_WINDOW(multi->window),mainw->mgeom[prefs->gui_monitor-1].screen); - lives_window_move(LIVES_WINDOW(multi->window),xcen,ycen); + if (prefs->gui_monitor != 0) { + int xcen = mainw->mgeom[prefs->gui_monitor - 1].x + (mainw->mgeom[prefs->gui_monitor - 1].width - + lives_widget_get_allocation_width(multi->window)) / 2; + int ycen = mainw->mgeom[prefs->gui_monitor - 1].y + (mainw->mgeom[prefs->gui_monitor - 1].height - + lives_widget_get_allocation_height(multi->window)) / 2; + lives_window_set_screen(LIVES_WINDOW(multi->window), mainw->mgeom[prefs->gui_monitor - 1].screen); + lives_window_move(LIVES_WINDOW(multi->window), xcen, ycen); } - - if ((prefs->gui_monitor!=0||capable->nmonitors<=1)&&prefs->open_maximised) { + if ((prefs->gui_monitor != 0 || capable->nmonitors <= 1) && prefs->open_maximised) { lives_window_maximize(LIVES_WINDOW(multi->window)); } - lives_idle_add(mt_idle_show_current_frame,(livespointer)multi); + lives_idle_add(mt_idle_show_current_frame, (livespointer)multi); - if (transfer_focus&&prefs->show_gui) lives_window_present(LIVES_WINDOW(multi->window)); + if (transfer_focus && prefs->show_gui) lives_window_present(LIVES_WINDOW(multi->window)); - mainw_was_ready=mainw->is_ready; - mainw->is_ready=TRUE; + mainw_was_ready = mainw->is_ready; + mainw->is_ready = TRUE; - lives_notify(LIVES_OSC_NOTIFY_MODE_CHANGED,(tmp=lives_strdup_printf("%d",STARTUP_MT))); + lives_notify(LIVES_OSC_NOTIFY_MODE_CHANGED, (tmp = lives_strdup_printf("%d", STARTUP_MT))); lives_free(tmp); - multi->no_expose=FALSE; + multi->no_expose = FALSE; if (prefs->show_gui) lives_widget_hide(mainw->LiVES); @@ -11219,8 +10935,8 @@ // this must be done right at the end // it slows down every single call to g_main_context_iteration - therefore it should be disabled before calling that - if (multi->idlefunc==0) { - multi->idlefunc=mt_idle_add(multi); + if (multi->idlefunc == 0) { + multi->idlefunc = mt_idle_add(multi); } set_interactive(mainw->interactive); @@ -11232,235 +10948,230 @@ boolean block_overlap(LiVESWidget *eventbox, double time_start, double time_end) { - weed_timecode_t tc_start=time_start*U_SECL; - weed_timecode_t tc_end=time_end*U_SECL; - track_rect *block=(track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"blocks"); - - while (block!=NULL) { - if (get_event_timecode(block->start_event)>tc_end) return FALSE; - if (get_event_timecode(block->end_event)>=tc_start) return TRUE; - block=block->next; + weed_timecode_t tc_start = time_start * U_SECL; + weed_timecode_t tc_end = time_end * U_SECL; + track_rect *block = (track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "blocks"); + + while (block != NULL) { + if (get_event_timecode(block->start_event) > tc_end) return FALSE; + if (get_event_timecode(block->end_event) >= tc_start) return TRUE; + block = block->next; } return FALSE; } - - static track_rect *get_block_before(LiVESWidget *eventbox, double time, boolean allow_cur) { // get the last block which ends before or at time // if allow_cur is TRUE, we may count blocks whose end is after "time" but whose start is // before or at time - weed_timecode_t tc=time*U_SECL; - track_rect *block=(track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"blocks"),*last_block=NULL; + weed_timecode_t tc = time * U_SECL; + track_rect *block = (track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "blocks"), *last_block = NULL; - while (block!=NULL) { - if ((allow_cur&&get_event_timecode(block->start_event)>=tc)||(!allow_cur&&get_event_timecode(block->end_event)>=tc)) break; - last_block=block; - block=block->next; + while (block != NULL) { + if ((allow_cur && get_event_timecode(block->start_event) >= tc) || (!allow_cur && get_event_timecode(block->end_event) >= tc)) break; + last_block = block; + block = block->next; } return last_block; } + static track_rect *get_block_after(LiVESWidget *eventbox, double time, boolean allow_cur) { // return the first block which starts at or after time // if allow_cur is TRUE, we may count blocks whose end is after "time" but whose start is // before or at time - weed_timecode_t tc=time*U_SECL; - track_rect *block=(track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"blocks"); + weed_timecode_t tc = time * U_SECL; + track_rect *block = (track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "blocks"); - while (block!=NULL) { - if (get_event_timecode(block->start_event)>=tc||(allow_cur&&get_event_timecode(block->end_event)>=tc)) break; - block=block->next; + while (block != NULL) { + if (get_event_timecode(block->start_event) >= tc || (allow_cur && get_event_timecode(block->end_event) >= tc)) break; + block = block->next; } return block; } - track_rect *move_block(lives_mt *mt, track_rect *block, double timesecs, int old_track, int new_track) { - weed_timecode_t new_start_tc,end_tc; - weed_timecode_t start_tc=get_event_timecode(block->start_event); + weed_timecode_t new_start_tc, end_tc; + weed_timecode_t start_tc = get_event_timecode(block->start_event); - ulong uid=block->uid; + ulong uid = block->uid; - LiVESWidget *eventbox,*oeventbox; + LiVESWidget *eventbox, *oeventbox; - int clip,current_track=-1; + int clip, current_track = -1; - boolean did_backup=mt->did_backup; + boolean did_backup = mt->did_backup; - if (!did_backup&&mt->idlefunc>0) { + if (!did_backup && mt->idlefunc > 0) { lives_source_remove(mt->idlefunc); - mt->idlefunc=0; + mt->idlefunc = 0; } - - if (is_audio_eventbox(block->eventbox)&&(oeventbox= + if (is_audio_eventbox(block->eventbox) && (oeventbox = (LiVESWidget *)lives_widget_object_get_data - (LIVES_WIDGET_OBJECT(block->eventbox),"owner"))!=NULL) { + (LIVES_WIDGET_OBJECT(block->eventbox), "owner")) != NULL) { // if moving an audio block we move the associated video block first - block=get_block_from_time(oeventbox,start_tc/U_SEC,mt); + block = get_block_from_time(oeventbox, start_tc / U_SEC, mt); } - mt->block_selected=block; - end_tc=get_event_timecode(block->end_event); + mt->block_selected = block; + end_tc = get_event_timecode(block->end_event); - - if (mt->opts.insert_mode==INSERT_MODE_NORMAL) { + if (mt->opts.insert_mode == INSERT_MODE_NORMAL) { // first check if there is space to move the block to, otherwise we will abort the move - weed_plant_t *event=NULL; - weed_timecode_t tc=0,tcnow; - weed_timecode_t tclen=end_tc-start_tc; - while (tc<=tclen) { - tcnow=q_gint64(tc+timesecs*U_SEC,mt->fps); - tc+=U_SEC/mt->fps; - if (old_track==new_track&&tcnow>=start_tc&&tcnow<=end_tc) continue; // ignore ourself ! - event=get_frame_event_at(mt->event_list,tcnow,event,TRUE); - if (event==NULL) break; // must be end of timeline - if (new_track>=0) { + weed_plant_t *event = NULL; + weed_timecode_t tc = 0, tcnow; + weed_timecode_t tclen = end_tc - start_tc; + while (tc <= tclen) { + tcnow = q_gint64(tc + timesecs * U_SEC, mt->fps); + tc += U_SEC / mt->fps; + if (old_track == new_track && tcnow >= start_tc && tcnow <= end_tc) continue; // ignore ourself ! + event = get_frame_event_at(mt->event_list, tcnow, event, TRUE); + if (event == NULL) break; // must be end of timeline + if (new_track >= 0) { // is video track, if we have a non-blank frame, abort - if (get_frame_event_clip(event,new_track)>=0) return NULL; + if (get_frame_event_clip(event, new_track) >= 0) return NULL; } else { // is audio track, see if we are in an audio block - if (tc==start_tc&&get_audio_block_start(mt->event_list,new_track,tcnow,TRUE)!=NULL) return NULL; + if (tc == start_tc && get_audio_block_start(mt->event_list, new_track, tcnow, TRUE) != NULL) return NULL; // or if one starts here - if (get_audio_block_start(mt->event_list,new_track,tcnow,FALSE)!=NULL) return NULL; + if (get_audio_block_start(mt->event_list, new_track, tcnow, FALSE) != NULL) return NULL; } } } - if (!did_backup) { - if (old_track<0) mt_backup(mt,MT_UNDO_MOVE_AUDIO_BLOCK,0); - else mt_backup(mt,MT_UNDO_MOVE_BLOCK,0); + if (old_track < 0) mt_backup(mt, MT_UNDO_MOVE_AUDIO_BLOCK, 0); + else mt_backup(mt, MT_UNDO_MOVE_BLOCK, 0); } - - mt->specific_event=get_prev_event(block->start_event); - while (mt->specific_event!=NULL&&get_event_timecode(mt->specific_event)==start_tc) { - mt->specific_event=get_prev_event(mt->specific_event); + mt->specific_event = get_prev_event(block->start_event); + while (mt->specific_event != NULL && get_event_timecode(mt->specific_event) == start_tc) { + mt->specific_event = get_prev_event(mt->specific_event); } - if (old_track>-1) { - clip=get_frame_event_clip(block->start_event,old_track); - mt->insert_start=block->offset_start; - mt->insert_end=block->offset_start+end_tc-start_tc+q_gint64(U_SEC/mt->fps,mt->fps); + if (old_track > -1) { + clip = get_frame_event_clip(block->start_event, old_track); + mt->insert_start = block->offset_start; + mt->insert_end = block->offset_start + end_tc - start_tc + q_gint64(U_SEC / mt->fps, mt->fps); } else { - clip=get_audio_frame_clip(block->start_event,old_track); - mt->insert_avel=get_audio_frame_vel(block->start_event,old_track); - mt->insert_start=q_gint64(get_audio_frame_seek(block->start_event,old_track)*U_SEC,mt->fps); - mt->insert_end=q_gint64(mt->insert_start+(end_tc-start_tc),mt->fps); + clip = get_audio_frame_clip(block->start_event, old_track); + mt->insert_avel = get_audio_frame_vel(block->start_event, old_track); + mt->insert_start = q_gint64(get_audio_frame_seek(block->start_event, old_track) * U_SEC, mt->fps); + mt->insert_end = q_gint64(mt->insert_start + (end_tc - start_tc), mt->fps); } - mt->moving_block=TRUE; - mt->current_track=old_track; - delete_block_cb(NULL,(livespointer)mt); - mt->block_selected=NULL; - mt->current_track=new_track; + mt->moving_block = TRUE; + mt->current_track = old_track; + delete_block_cb(NULL, (livespointer)mt); + mt->block_selected = NULL; + mt->current_track = new_track; track_select(mt); - mt->clip_selected=mt_clip_from_file(mt,clip); - mt_clip_select(mt,TRUE); - mt_tl_move(mt,timesecs); + mt->clip_selected = mt_clip_from_file(mt, clip); + mt_clip_select(mt, TRUE); + mt_tl_move(mt, timesecs); - if (new_track!=-1) insert_here_cb(NULL,(livespointer)mt); + if (new_track != -1) insert_here_cb(NULL, (livespointer)mt); else { - insert_audio_here_cb(NULL,(livespointer)mt); - mt->insert_avel=1.; + insert_audio_here_cb(NULL, (livespointer)mt); + mt->insert_avel = 1.; } - mt->insert_start=mt->insert_end=-1; + mt->insert_start = mt->insert_end = -1; - new_start_tc=q_gint64(timesecs*U_SEC,mt->fps); + new_start_tc = q_gint64(timesecs * U_SEC, mt->fps); - remove_end_blank_frames(mt->event_list,FALSE); // leave filter inits + remove_end_blank_frames(mt->event_list, FALSE); // leave filter inits // if !move_effects we deleted fx in delete_block, here we move them - if (mt->opts.move_effects) update_filter_events(mt,mt->specific_event,start_tc,end_tc,old_track,new_start_tc,mt->current_track); + if (mt->opts.move_effects) update_filter_events(mt, mt->specific_event, start_tc, end_tc, old_track, new_start_tc, mt->current_track); remove_end_blank_frames(mt->event_list, TRUE); // remove filter inits - mt->moving_block=FALSE; - mt->specific_event=NULL; + mt->moving_block = FALSE; + mt->specific_event = NULL; - if (new_track!=-1) eventbox=(LiVESWidget *)lives_list_nth_data(mt->video_draws,mt->current_track); - else eventbox=(LiVESWidget *)mt->audio_draws->data; - block = (track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"block_last"); - - if (block!=NULL&&(mt->opts.grav_mode==GRAV_MODE_LEFT||(mt->opts.grav_mode==GRAV_MODE_RIGHT&&block->next!=NULL))&&!did_backup) { - double oldr_start=mt->region_start; - double oldr_end=mt->region_end; - LiVESList *tracks_sel=NULL; + if (new_track != -1) eventbox = (LiVESWidget *)lives_list_nth_data(mt->video_draws, mt->current_track); + else eventbox = (LiVESWidget *)mt->audio_draws->data; + block = (track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "block_last"); + + if (block != NULL && (mt->opts.grav_mode == GRAV_MODE_LEFT || (mt->opts.grav_mode == GRAV_MODE_RIGHT && block->next != NULL)) && + !did_backup) { + double oldr_start = mt->region_start; + double oldr_end = mt->region_end; + LiVESList *tracks_sel = NULL; track_rect *lblock; - double rtc=get_event_timecode(block->start_event)/U_SEC-1./mt->fps,rstart=0.,rend; + double rtc = get_event_timecode(block->start_event) / U_SEC - 1. / mt->fps, rstart = 0., rend; - if (mt->opts.grav_mode==GRAV_MODE_LEFT) { + if (mt->opts.grav_mode == GRAV_MODE_LEFT) { // gravity left - move left until we hit another block or time 0 - if (rtc>=0.) { - lblock=block->prev; - if (lblock!=NULL) rstart=get_event_timecode(lblock->end_event)/U_SEC; + if (rtc >= 0.) { + lblock = block->prev; + if (lblock != NULL) rstart = get_event_timecode(lblock->end_event) / U_SEC; } - rend=get_event_timecode(block->end_event)/U_SEC; + rend = get_event_timecode(block->end_event) / U_SEC; } else { // gravity right - move right until we hit the next block - lblock=block->next; - rstart=get_event_timecode(block->start_event)/U_SEC; - rend=get_event_timecode(lblock->start_event)/U_SEC; + lblock = block->next; + rstart = get_event_timecode(block->start_event) / U_SEC; + rend = get_event_timecode(lblock->start_event) / U_SEC; } - mt->region_start=rstart; - mt->region_end=rend; - - if (new_track>-1) { - tracks_sel=lives_list_copy(mt->selected_tracks); - if (mt->selected_tracks!=NULL) lives_list_free(mt->selected_tracks); - mt->selected_tracks=NULL; - mt->selected_tracks=lives_list_append(mt->selected_tracks,LIVES_INT_TO_POINTER(new_track)); + mt->region_start = rstart; + mt->region_end = rend; + + if (new_track > -1) { + tracks_sel = lives_list_copy(mt->selected_tracks); + if (mt->selected_tracks != NULL) lives_list_free(mt->selected_tracks); + mt->selected_tracks = NULL; + mt->selected_tracks = lives_list_append(mt->selected_tracks, LIVES_INT_TO_POINTER(new_track)); } else { - current_track=mt->current_track; - mt->current_track=old_track; + current_track = mt->current_track; + mt->current_track = old_track; } - remove_first_gaps(NULL,mt); - if (old_track>-1) { + remove_first_gaps(NULL, mt); + if (old_track > -1) { lives_list_free(mt->selected_tracks); - mt->selected_tracks=lives_list_copy(tracks_sel); - if (tracks_sel!=NULL) lives_list_free(tracks_sel); - } else mt->current_track=current_track; - mt->region_start=oldr_start; - mt->region_end=oldr_end; + mt->selected_tracks = lives_list_copy(tracks_sel); + if (tracks_sel != NULL) lives_list_free(tracks_sel); + } else mt->current_track = current_track; + mt->region_start = oldr_start; + mt->region_end = oldr_end; mt_sensitise(mt); } // get this again because it could have moved - block = (track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"block_last"); + block = (track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "block_last"); // apply autotransition - if (prefs->atrans_fx!=-1) mt_do_autotransition(mt, block); + if (prefs->atrans_fx != -1) mt_do_autotransition(mt, block); if (!did_backup) { - if (mt->avol_fx!=-1&&(block==NULL||block->next==NULL)&&mt->audio_draws!=NULL&& - mt->audio_draws->data!=NULL&&get_first_event(mt->event_list)!=NULL) { + if (mt->avol_fx != -1 && (block == NULL || block->next == NULL) && mt->audio_draws != NULL && + mt->audio_draws->data != NULL && get_first_event(mt->event_list) != NULL) { apply_avol_filter(mt); } } - mt->did_backup=did_backup; + mt->did_backup = did_backup; - if (!did_backup&&mt->framedraw!=NULL&&mt->current_rfx!=NULL&&mt->init_event!=NULL&& - mt->poly_state==POLY_PARAMS&&weed_plant_has_leaf(mt->init_event,WEED_LEAF_IN_TRACKS)) { - weed_timecode_t tc=q_gint64(lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->node_spinbutton))*U_SEC+ - get_event_timecode(mt->init_event),mt->fps); - get_track_index(mt,tc); + if (!did_backup && mt->framedraw != NULL && mt->current_rfx != NULL && mt->init_event != NULL && + mt->poly_state == POLY_PARAMS && weed_plant_has_leaf(mt->init_event, WEED_LEAF_IN_TRACKS)) { + weed_timecode_t tc = q_gint64(lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->node_spinbutton)) * U_SEC + + get_event_timecode(mt->init_event), mt->fps); + get_track_index(mt, tc); } // give the new block the same uid as the old one - if (block!=NULL) block->uid=uid; + if (block != NULL) block->uid = uid; - if (!did_backup) mt->idlefunc=mt_idle_add(mt); - if (!did_backup&&prefs->mt_auto_back==0) mt_auto_backup(mt); + if (!did_backup) mt->idlefunc = mt_idle_add(mt); + if (!did_backup && prefs->mt_auto_back == 0) mt_auto_backup(mt); return block; } @@ -11472,48 +11183,48 @@ LiVESWidget *eventbox; track_rect *trec; - if (mt->block_selected!=NULL) lives_widget_queue_draw(mt->block_selected->eventbox); + if (mt->block_selected != NULL) lives_widget_queue_draw(mt->block_selected->eventbox); - if (cfile->achans>0) { - for (i=0; i<lives_list_length(mt->audio_draws); i++) { - eventbox=(LiVESWidget *)lives_list_nth_data(mt->audio_draws,i); - if (eventbox!=NULL) { - trec=(track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"blocks"); - while (trec!=NULL) { - trec->state=BLOCK_UNSELECTED; - trec=trec->next; + if (cfile->achans > 0) { + for (i = 0; i < lives_list_length(mt->audio_draws); i++) { + eventbox = (LiVESWidget *)lives_list_nth_data(mt->audio_draws, i); + if (eventbox != NULL) { + trec = (track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "blocks"); + while (trec != NULL) { + trec->state = BLOCK_UNSELECTED; + trec = trec->next; } } } } - for (i=0; i<mt->num_video_tracks; i++) { - eventbox=(LiVESWidget *)lives_list_nth_data(mt->video_draws,i); - if (eventbox!=NULL) { - trec=(track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"blocks"); - while (trec!=NULL) { - trec->state=BLOCK_UNSELECTED; - trec=trec->next; + for (i = 0; i < mt->num_video_tracks; i++) { + eventbox = (LiVESWidget *)lives_list_nth_data(mt->video_draws, i); + if (eventbox != NULL) { + trec = (track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "blocks"); + while (trec != NULL) { + trec->state = BLOCK_UNSELECTED; + trec = trec->next; } } } - mt->block_selected=NULL; - lives_widget_set_sensitive(mt->view_in_out,FALSE); + mt->block_selected = NULL; + lives_widget_set_sensitive(mt->view_in_out, FALSE); lives_widget_set_sensitive(mt->delblock, FALSE); lives_widget_set_sensitive(mt->fx_block, FALSE); lives_widget_set_sensitive(mt->fx_blocka, FALSE); lives_widget_set_sensitive(mt->fx_blockv, FALSE); - if (!nb_ignore&&mt->poly_state!=POLY_FX_STACK) polymorph(mt,POLY_CLIPS); + if (!nb_ignore && mt->poly_state != POLY_FX_STACK) polymorph(mt, POLY_CLIPS); } void clear_context(lives_mt *mt) { - if (mt->context_scroll!=NULL) { + if (mt->context_scroll != NULL) { lives_widget_destroy(mt->context_scroll); } - mt->context_scroll=lives_scrolled_window_new(NULL, NULL); + mt->context_scroll = lives_scrolled_window_new(NULL, NULL); lives_container_add(LIVES_CONTAINER(mt->context_frame), mt->context_scroll); @@ -11525,7 +11236,7 @@ lives_scrolled_window_add_with_viewport(LIVES_SCROLLED_WINDOW(mt->context_scroll), mt->context_box); // Apply theme background to scrolled window - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_fg_color(lives_bin_get_child(LIVES_BIN(mt->context_scroll)), LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); lives_widget_set_bg_color(lives_bin_get_child(LIVES_BIN(mt->context_scroll)), LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); } @@ -11539,32 +11250,31 @@ LiVESWidget *label; - widget_opts.justify=LIVES_JUSTIFY_CENTER; - widget_opts.line_wrap=TRUE; - label=lives_standard_label_new(text); - widget_opts.line_wrap=FALSE; - widget_opts.justify=LIVES_JUSTIFY_DEFAULT; + widget_opts.justify = LIVES_JUSTIFY_CENTER; + widget_opts.line_wrap = TRUE; + label = lives_standard_label_new(text); + widget_opts.line_wrap = FALSE; + widget_opts.justify = LIVES_JUSTIFY_DEFAULT; lives_widget_show(label); lives_box_pack_start(LIVES_BOX(mt->context_box), label, FALSE, FALSE, 0); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(label, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); lives_widget_set_fg_color(label, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); } } - boolean resize_timeline(lives_mt *mt) { double end_secs; - if (mt->event_list==NULL||get_first_event(mt->event_list)==NULL||mt->tl_fixed_length>0.) return FALSE; + if (mt->event_list == NULL || get_first_event(mt->event_list) == NULL || mt->tl_fixed_length > 0.) return FALSE; - end_secs=event_list_get_end_secs(mt->event_list); + end_secs = event_list_get_end_secs(mt->event_list); - if (end_secs>mt->end_secs) { - set_timeline_end_secs(mt,end_secs); + if (end_secs > mt->end_secs) { + set_timeline_end_secs(mt, end_secs); return TRUE; } @@ -11574,58 +11284,57 @@ } - static void set_in_out_spin_ranges(lives_mt *mt, weed_timecode_t start_tc, weed_timecode_t end_tc) { - track_rect *block=mt->block_selected; - weed_timecode_t min_tc=0,max_tc=-1; - weed_timecode_t offset_start=get_event_timecode(block->start_event); + track_rect *block = mt->block_selected; + weed_timecode_t min_tc = 0, max_tc = -1; + weed_timecode_t offset_start = get_event_timecode(block->start_event); int filenum; - double in_val=start_tc/U_SEC,out_val=end_tc/U_SEC,in_start_range=0.,out_start_range=in_val+1./mt->fps; - double out_end_range,real_out_end_range; - double in_end_range=out_val-1./mt->fps,real_in_start_range=in_start_range; - double avel=1.; + double in_val = start_tc / U_SEC, out_val = end_tc / U_SEC, in_start_range = 0., out_start_range = in_val + 1. / mt->fps; + double out_end_range, real_out_end_range; + double in_end_range = out_val - 1. / mt->fps, real_in_start_range = in_start_range; + double avel = 1.; - int track=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox),"layer_number")); + int track = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox), "layer_number")); - lives_signal_handler_block(mt->spinbutton_out,mt->spin_out_func); - lives_signal_handler_block(mt->spinbutton_in,mt->spin_in_func); + lives_signal_handler_block(mt->spinbutton_out, mt->spin_out_func); + lives_signal_handler_block(mt->spinbutton_in, mt->spin_in_func); - if (block->prev!=NULL) min_tc=get_event_timecode(block->prev->end_event)+(double)(track>=0)*U_SEC/mt->fps; - if (block->next!=NULL) max_tc=get_event_timecode(block->next->start_event)-(double)(track>=0)*U_SEC/mt->fps; + if (block->prev != NULL) min_tc = get_event_timecode(block->prev->end_event) + (double)(track >= 0) * U_SEC / mt->fps; + if (block->next != NULL) max_tc = get_event_timecode(block->next->start_event) - (double)(track >= 0) * U_SEC / mt->fps; - if (track>=0) { - filenum=get_frame_event_clip(block->start_event,track); + if (track >= 0) { + filenum = get_frame_event_clip(block->start_event, track); // actually we should quantise this to the mt->fps, but we leave it in case clip has only // one frame -> otherwise we could quantise to zero frames - out_end_range=count_resampled_frames(mainw->files[filenum]->frames,mainw->files[filenum]->fps,mt->fps)/mt->fps; + out_end_range = count_resampled_frames(mainw->files[filenum]->frames, mainw->files[filenum]->fps, mt->fps) / mt->fps; } else { - filenum=get_audio_frame_clip(block->start_event,track); - out_end_range=q_gint64(mainw->files[filenum]->laudio_time*U_SEC,mt->fps)/U_SEC; - avel=get_audio_frame_vel(block->start_event,track); + filenum = get_audio_frame_clip(block->start_event, track); + out_end_range = q_gint64(mainw->files[filenum]->laudio_time * U_SEC, mt->fps) / U_SEC; + avel = get_audio_frame_vel(block->start_event, track); } - real_out_end_range=out_end_range; + real_out_end_range = out_end_range; - if (mt->opts.insert_mode!=INSERT_MODE_OVERWRITE) { - if (!block->end_anchored&&max_tc>-1&&(((max_tc-offset_start)/U_SEC*ABS(avel)+in_val)<out_end_range)) - real_out_end_range=q_gint64((max_tc-offset_start)*ABS(avel)+in_val*U_SEC,mt->fps)/U_SEC; - if (!block->start_anchored&&min_tc>-1&&(((min_tc-offset_start)/U_SEC*ABS(avel)+in_val)>in_start_range)) - real_in_start_range=q_gint64((min_tc-offset_start)*ABS(avel)+in_val*U_SEC,mt->fps)/U_SEC; - if (!block->start_anchored) out_end_range=real_out_end_range; - if (!block->end_anchored) in_start_range=real_in_start_range; + if (mt->opts.insert_mode != INSERT_MODE_OVERWRITE) { + if (!block->end_anchored && max_tc > -1 && (((max_tc - offset_start) / U_SEC * ABS(avel) + in_val) < out_end_range)) + real_out_end_range = q_gint64((max_tc - offset_start) * ABS(avel) + in_val * U_SEC, mt->fps) / U_SEC; + if (!block->start_anchored && min_tc > -1 && (((min_tc - offset_start) / U_SEC * ABS(avel) + in_val) > in_start_range)) + real_in_start_range = q_gint64((min_tc - offset_start) * ABS(avel) + in_val * U_SEC, mt->fps) / U_SEC; + if (!block->start_anchored) out_end_range = real_out_end_range; + if (!block->end_anchored) in_start_range = real_in_start_range; } - if (block->end_anchored&&(out_val-in_val>out_start_range)) out_start_range=in_start_range+out_val-in_val; - if (block->start_anchored&&(out_end_range-out_val+in_val)<in_end_range) in_end_range=out_end_range-out_val+in_val; + if (block->end_anchored && (out_val - in_val > out_start_range)) out_start_range = in_start_range + out_val - in_val; + if (block->start_anchored && (out_end_range - out_val + in_val) < in_end_range) in_end_range = out_end_range - out_val + in_val; - in_end_range=lives_fix(in_end_range,2); - real_out_end_range=lives_fix(real_out_end_range,2); + in_end_range = lives_fix(in_end_range, 2); + real_out_end_range = lives_fix(real_out_end_range, 2); - out_start_range=lives_fix(out_start_range,2); - real_in_start_range=lives_fix(real_in_start_range,2); + out_start_range = lives_fix(out_start_range, 2); + real_in_start_range = lives_fix(real_in_start_range, 2); - if (avel>0.) { + if (avel > 0.) { lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_out), out_start_range, real_out_end_range); lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_in), real_in_start_range, in_end_range); } else { @@ -11633,320 +11342,322 @@ lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_out), real_in_start_range, in_end_range); } - lives_signal_handler_unblock(mt->spinbutton_out,mt->spin_out_func); - lives_signal_handler_unblock(mt->spinbutton_in,mt->spin_in_func); + lives_signal_handler_unblock(mt->spinbutton_out, mt->spin_out_func); + lives_signal_handler_unblock(mt->spinbutton_in, mt->spin_in_func); } static void update_in_image(lives_mt *mt) { LiVESPixbuf *thumb; - track_rect *block=mt->block_selected; + track_rect *block = mt->block_selected; int track; int filenum; int frame_start; - int width=cfile->hsize; - int height=cfile->vsize; + int width = cfile->hsize; + int height = cfile->vsize; - if (block!=NULL) { - track=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox),"layer_number")); - filenum=get_frame_event_clip(block->start_event,track); - frame_start=calc_frame_from_time(filenum,block->offset_start/U_SEC); + if (block != NULL) { + track = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox), "layer_number")); + filenum = get_frame_event_clip(block->start_event, track); + frame_start = calc_frame_from_time(filenum, block->offset_start / U_SEC); } else { - filenum=mt->file_selected; - frame_start=mainw->files[filenum]->start; + filenum = mt->file_selected; + frame_start = mainw->files[filenum]->start; } - calc_maxspect(lives_widget_get_allocation_width(mt->poly_box)/2-widget_opts.packing_width,lives_widget_get_allocation_height(mt->poly_box)- - ((block==NULL||block->ordered)?lives_widget_get_allocation_height(mainw->spinbutton_start):0),&width,&height); + calc_maxspect(lives_widget_get_allocation_width(mt->poly_box) / 2 - widget_opts.packing_width, + lives_widget_get_allocation_height(mt->poly_box) - + ((block == NULL || block->ordered) ? lives_widget_get_allocation_height(mainw->spinbutton_start) : 0), &width, &height); - thumb=make_thumb(mt,filenum,width,height,frame_start,FALSE); - lives_image_set_from_pixbuf(LIVES_IMAGE(mt->in_image),thumb); - if (thumb!=NULL) lives_object_unref(thumb); + thumb = make_thumb(mt, filenum, width, height, frame_start, FALSE); + lives_image_set_from_pixbuf(LIVES_IMAGE(mt->in_image), thumb); + if (thumb != NULL) lives_object_unref(thumb); } static void update_out_image(lives_mt *mt, weed_timecode_t end_tc) { LiVESPixbuf *thumb; - track_rect *block=mt->block_selected; + track_rect *block = mt->block_selected; int track; int filenum; int frame_end; - int width=cfile->hsize; - int height=cfile->vsize; + int width = cfile->hsize; + int height = cfile->vsize; - if (block!=NULL) { - track=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox),"layer_number")); - filenum=get_frame_event_clip(block->start_event,track); - frame_end=calc_frame_from_time(filenum,end_tc/U_SEC-1./mt->fps); + if (block != NULL) { + track = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox), "layer_number")); + filenum = get_frame_event_clip(block->start_event, track); + frame_end = calc_frame_from_time(filenum, end_tc / U_SEC - 1. / mt->fps); } else { - filenum=mt->file_selected; - frame_end=mainw->files[filenum]->end; + filenum = mt->file_selected; + frame_end = mainw->files[filenum]->end; } - calc_maxspect(lives_widget_get_allocation_width(mt->poly_box)/2-widget_opts.packing_width,lives_widget_get_allocation_height(mt->poly_box)- - ((block==NULL||block->ordered)?lives_widget_get_allocation_height(mainw->spinbutton_end):0),&width,&height); + calc_maxspect(lives_widget_get_allocation_width(mt->poly_box) / 2 - widget_opts.packing_width, + lives_widget_get_allocation_height(mt->poly_box) - + ((block == NULL || block->ordered) ? lives_widget_get_allocation_height(mainw->spinbutton_end) : 0), &width, &height); - thumb=make_thumb(mt,filenum,width,height,frame_end,FALSE); - lives_image_set_from_pixbuf(LIVES_IMAGE(mt->out_image),thumb); - if (thumb!=NULL) lives_object_unref(thumb); + thumb = make_thumb(mt, filenum, width, height, frame_end, FALSE); + lives_image_set_from_pixbuf(LIVES_IMAGE(mt->out_image), thumb); + if (thumb != NULL) lives_object_unref(thumb); } void in_out_start_changed(LiVESWidget *widget, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; - track_rect *block=mt->block_selected,*ablock=NULL; + track_rect *block = mt->block_selected, *ablock = NULL; weed_plant_t *event; - weed_plant_t *start_event=NULL,*event_next; + weed_plant_t *start_event = NULL, *event_next; - weed_timecode_t new_start_tc,orig_start_tc,offset_end,tl_start; + weed_timecode_t new_start_tc, orig_start_tc, offset_end, tl_start; weed_timecode_t new_tl_tc; double new_start; - double avel=1.,aseek=0.; + double avel = 1., aseek = 0.; boolean was_moved; boolean start_anchored; int track; int filenum; - int aclip=0; + int aclip = 0; if (!mainw->interactive) return; - if (block==NULL) { + if (block == NULL) { // if no block selected, set for current clip ? - lives_clip_t *sfile=mainw->files[mt->file_selected]; - sfile->start=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(widget)); - set_clip_labels_variable(mt,mt->file_selected); + lives_clip_t *sfile = mainw->files[mt->file_selected]; + sfile->start = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(widget)); + set_clip_labels_variable(mt, mt->file_selected); update_in_image(mt); - if (sfile->end<sfile->start) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_out),(double)sfile->start); + if (sfile->end < sfile->start) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_out), (double)sfile->start); } return; } - new_start=lives_spin_button_get_value(LIVES_SPIN_BUTTON(widget)); + new_start = lives_spin_button_get_value(LIVES_SPIN_BUTTON(widget)); - event=block->start_event; - orig_start_tc=block->offset_start; - track=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox),"layer_number")); - new_start_tc=q_dbl(new_start,mt->fps); + event = block->start_event; + orig_start_tc = block->offset_start; + track = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox), "layer_number")); + new_start_tc = q_dbl(new_start, mt->fps); - if (new_start_tc==orig_start_tc||!block->ordered) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_in),new_start_tc/U_SEC); + if (new_start_tc == orig_start_tc || !block->ordered) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_in), new_start_tc / U_SEC); return; } - tl_start=get_event_timecode(event); + tl_start = get_event_timecode(event); // get the audio block (if exists) - if (track>=0) { + if (track >= 0) { if (!mt->aud_track_selected) { if (mt->opts.pertrack_audio) { - LiVESWidget *aeventbox=LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox),"atrack")); - ablock=get_block_from_time(aeventbox,tl_start/U_SEC,mt); + LiVESWidget *aeventbox = LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox), "atrack")); + ablock = get_block_from_time(aeventbox, tl_start / U_SEC, mt); } - start_anchored=block->start_anchored; + start_anchored = block->start_anchored; } else { - LiVESWidget *eventbox=LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox),"owner")); - ablock=block; - block=get_block_from_time(eventbox,tl_start/U_SEC,mt); - start_anchored=ablock->start_anchored; - } - filenum=get_frame_event_clip(block->start_event,track); - } else { - ablock=block; - start_anchored=block->start_anchored; - avel=get_audio_frame_vel(ablock->start_event,track); - filenum=get_audio_frame_clip(ablock->start_event,track); + LiVESWidget *eventbox = LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox), "owner")); + ablock = block; + block = get_block_from_time(eventbox, tl_start / U_SEC, mt); + start_anchored = ablock->start_anchored; + } + filenum = get_frame_event_clip(block->start_event, track); + } else { + ablock = block; + start_anchored = block->start_anchored; + avel = get_audio_frame_vel(ablock->start_event, track); + filenum = get_audio_frame_clip(ablock->start_event, track); } if (!start_anchored) { - if (new_start_tc>block->offset_start) { - start_event=get_prev_frame_event(block->start_event); + if (new_start_tc > block->offset_start) { + start_event = get_prev_frame_event(block->start_event); // start increased, not anchored - while (event!=NULL) { - if ((get_event_timecode(event)-tl_start)>=(new_start_tc-block->offset_start)/avel) { + while (event != NULL) { + if ((get_event_timecode(event) - tl_start) >= (new_start_tc - block->offset_start) / avel) { //if tc of event - tc of block start event > new start tc (in source file) - offset tc (in source file) // done - if (ablock!=NULL) { - aclip=get_audio_frame_clip(ablock->start_event,track); - aseek=get_audio_frame_seek(ablock->start_event,track); - - if (ablock->prev!=NULL&&ablock->prev->end_event==ablock->start_event) { - int last_aclip=get_audio_frame_clip(ablock->prev->start_event,track); - insert_audio_event_at(mt->event_list,ablock->start_event,track,last_aclip,0.,0.); + if (ablock != NULL) { + aclip = get_audio_frame_clip(ablock->start_event, track); + aseek = get_audio_frame_seek(ablock->start_event, track); + + if (ablock->prev != NULL && ablock->prev->end_event == ablock->start_event) { + int last_aclip = get_audio_frame_clip(ablock->prev->start_event, track); + insert_audio_event_at(mt->event_list, ablock->start_event, track, last_aclip, 0., 0.); } else { - remove_audio_for_track(ablock->start_event,track); + remove_audio_for_track(ablock->start_event, track); } - aseek+=q_gint64(avel*(double)(get_event_timecode(event)-get_event_timecode(ablock->start_event)),mt->fps)/U_SEC; - ablock->start_event=event; - ablock->offset_start=new_start_tc; - } - if (block!=ablock) { - block->start_event=event; - block->offset_start=new_start_tc; + aseek += q_gint64(avel * (double)(get_event_timecode(event) - get_event_timecode(ablock->start_event)), mt->fps) / U_SEC; + ablock->start_event = event; + ablock->offset_start = new_start_tc; + } + if (block != ablock) { + block->start_event = event; + block->offset_start = new_start_tc; } break; } - if (event==block->end_event) return; // should never happen... + if (event == block->end_event) return; // should never happen... - if (track>=0) remove_frame_from_event(mt->event_list,event,track); - event=get_next_frame_event(event); + if (track >= 0) remove_frame_from_event(mt->event_list, event, track); + event = get_next_frame_event(event); } - if (ablock!=NULL) { - insert_audio_event_at(mt->event_list,ablock->start_event,track,aclip,aseek,avel); - ablock->offset_start=q_dbl(aseek*U_SEC,mt->fps)/U_SEC; + if (ablock != NULL) { + insert_audio_event_at(mt->event_list, ablock->start_event, track, aclip, aseek, avel); + ablock->offset_start = q_dbl(aseek * U_SEC, mt->fps) / U_SEC; } // move filter_inits right, and deinits left - new_tl_tc=get_event_timecode(block->start_event); - if (start_event==NULL) event=get_first_event(mt->event_list); - else event=get_next_event(start_event); - while (event!=NULL&&get_event_timecode(event)<tl_start) event=get_next_event(event); - - while (event!=NULL&&get_event_timecode(event)<new_tl_tc) { - event_next=get_next_event(event); - was_moved=FALSE; - if (WEED_EVENT_IS_FILTER_INIT(event)&&event!=mt->avol_init_event) { - if (!move_event_right(mt->event_list,event,TRUE,mt->fps)) { - was_moved=TRUE; - if (event==start_event) start_event=NULL; + new_tl_tc = get_event_timecode(block->start_event); + if (start_event == NULL) event = get_first_event(mt->event_list); + else event = get_next_event(start_event); + while (event != NULL && get_event_timecode(event) < tl_start) event = get_next_event(event); + + while (event != NULL && get_event_timecode(event) < new_tl_tc) { + event_next = get_next_event(event); + was_moved = FALSE; + if (WEED_EVENT_IS_FILTER_INIT(event) && event != mt->avol_init_event) { + if (!move_event_right(mt->event_list, event, TRUE, mt->fps)) { + was_moved = TRUE; + if (event == start_event) start_event = NULL; } } else { if (WEED_EVENT_IS_FILTER_DEINIT(event)) { - if (!move_event_left(mt->event_list,event,TRUE,mt->fps)) { - was_moved=TRUE; + if (!move_event_left(mt->event_list, event, TRUE, mt->fps)) { + was_moved = TRUE; } } } if (was_moved) { - if (start_event==NULL) event=get_first_event(mt->event_list); - else event=get_next_event(start_event); - while (event!=NULL&&get_event_timecode(event)<tl_start) event=get_next_event(event); + if (start_event == NULL) event = get_first_event(mt->event_list); + else event = get_next_event(start_event); + while (event != NULL && get_event_timecode(event) < tl_start) event = get_next_event(event); } else { - event=event_next; - if (WEED_EVENT_IS_FRAME(event)) start_event=event; + event = event_next; + if (WEED_EVENT_IS_FRAME(event)) start_event = event; } } } else { // move start left, not anchored - if (ablock!=NULL) { - aclip=get_audio_frame_clip(ablock->start_event,track); - aseek=get_audio_frame_seek(ablock->start_event,track); + if (ablock != NULL) { + aclip = get_audio_frame_clip(ablock->start_event, track); + aseek = get_audio_frame_seek(ablock->start_event, track); - remove_audio_for_track(ablock->start_event,track); + remove_audio_for_track(ablock->start_event, track); - aseek+=q_gint64(new_start_tc-ablock->offset_start,mt->fps)/U_SEC; - ablock->start_event=get_frame_event_at_or_before(mt->event_list, - q_gint64(tl_start+(new_start_tc-ablock->offset_start)/avel,mt->fps), - get_prev_frame_event(ablock->start_event)); + aseek += q_gint64(new_start_tc - ablock->offset_start, mt->fps) / U_SEC; + ablock->start_event = get_frame_event_at_or_before(mt->event_list, + q_gint64(tl_start + (new_start_tc - ablock->offset_start) / avel, mt->fps), + get_prev_frame_event(ablock->start_event)); - insert_audio_event_at(mt->event_list,ablock->start_event,track,aclip,aseek,avel); - ablock->offset_start=q_dbl(aseek*U_SEC,mt->fps)/U_SEC; + insert_audio_event_at(mt->event_list, ablock->start_event, track, aclip, aseek, avel); + ablock->offset_start = q_dbl(aseek * U_SEC, mt->fps) / U_SEC; } - if (block!=ablock) { + if (block != ablock) { // do an insert from offset_start down - insert_frames(filenum,block->offset_start,new_start_tc,tl_start,DIRECTION_NEGATIVE,block->eventbox,mt,block); - block->offset_start=new_start_tc; + insert_frames(filenum, block->offset_start, new_start_tc, tl_start, DIRECTION_NEGATIVE, block->eventbox, mt, block); + block->offset_start = new_start_tc; } // any filter_inits with this track as owner get moved as far left as possible - new_tl_tc=get_event_timecode(block->start_event); - event=block->start_event; + new_tl_tc = get_event_timecode(block->start_event); + event = block->start_event; - while (event!=NULL&&get_event_timecode(event)<tl_start) { - start_event=event; - event=get_next_event(event); - } - while (event!=NULL&&get_event_timecode(event)==tl_start) { - if (WEED_EVENT_IS_FILTER_INIT(event)&&event!=mt->avol_init_event) { - if (filter_init_has_owner(event,track)) { + while (event != NULL && get_event_timecode(event) < tl_start) { + start_event = event; + event = get_next_event(event); + } + while (event != NULL && get_event_timecode(event) == tl_start) { + if (WEED_EVENT_IS_FILTER_INIT(event) && event != mt->avol_init_event) { + if (filter_init_has_owner(event, track)) { // candidate for moving - move_filter_init_event(mt->event_list,new_tl_tc,event,mt->fps); + move_filter_init_event(mt->event_list, new_tl_tc, event, mt->fps); // account for overlaps - move_event_right(mt->event_list,event,TRUE,mt->fps); - event=start_event; - while (event!=NULL&&get_event_timecode(event)<tl_start) event=get_next_event(event); + move_event_right(mt->event_list, event, TRUE, mt->fps); + event = start_event; + while (event != NULL && get_event_timecode(event) < tl_start) event = get_next_event(event); continue; } } - event=get_next_event(event); + event = get_next_event(event); } } } else { // start is anchored, do a re-insert from start to end - lives_mt_insert_mode_t insert_mode=mt->opts.insert_mode; - offset_end=q_gint64((block->offset_start=new_start_tc)+(weed_timecode_t)(U_SEC/mt->fps)+ - (get_event_timecode(block->end_event)-get_event_timecode(block->start_event)),mt->fps); - mt->opts.insert_mode=INSERT_MODE_OVERWRITE; - if (track>=0) insert_frames(filenum,new_start_tc,offset_end,tl_start,DIRECTION_POSITIVE,block->eventbox,mt,block); - if (ablock!=NULL) { - aclip=get_audio_frame_clip(ablock->start_event,track); - aseek=get_audio_frame_seek(ablock->start_event,track); - aseek+=q_gint64(new_start_tc-orig_start_tc,mt->fps)/U_SEC; - insert_audio_event_at(mt->event_list,ablock->start_event,track,aclip,aseek,avel); - ablock->offset_start=q_gint64(aseek*U_SEC,mt->fps); - } - mt->opts.insert_mode=insert_mode; - } - - offset_end=(new_start_tc=block->offset_start)+(weed_timecode_t)((double)(track>=0)*U_SEC/mt->fps)+ - avel*(get_event_timecode(block->end_event)-get_event_timecode(block->start_event)); - - if (mt->poly_state==POLY_IN_OUT) { - lives_signal_handler_block(mt->spinbutton_out,mt->spin_out_func); - lives_signal_handler_block(mt->spinbutton_in,mt->spin_in_func); - set_in_out_spin_ranges(mt,new_start_tc,offset_end); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_out),offset_end/U_SEC); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_in),new_start_tc/U_SEC); + lives_mt_insert_mode_t insert_mode = mt->opts.insert_mode; + offset_end = q_gint64((block->offset_start = new_start_tc) + (weed_timecode_t)(U_SEC / mt->fps) + + (get_event_timecode(block->end_event) - get_event_timecode(block->start_event)), mt->fps); + mt->opts.insert_mode = INSERT_MODE_OVERWRITE; + if (track >= 0) insert_frames(filenum, new_start_tc, offset_end, tl_start, DIRECTION_POSITIVE, block->eventbox, mt, block); + if (ablock != NULL) { + aclip = get_audio_frame_clip(ablock->start_event, track); + aseek = get_audio_frame_seek(ablock->start_event, track); + aseek += q_gint64(new_start_tc - orig_start_tc, mt->fps) / U_SEC; + insert_audio_event_at(mt->event_list, ablock->start_event, track, aclip, aseek, avel); + ablock->offset_start = q_gint64(aseek * U_SEC, mt->fps); + } + mt->opts.insert_mode = insert_mode; + } + + offset_end = (new_start_tc = block->offset_start) + (weed_timecode_t)((double)(track >= 0) * U_SEC / mt->fps) + + avel * (get_event_timecode(block->end_event) - get_event_timecode(block->start_event)); + + if (mt->poly_state == POLY_IN_OUT) { + lives_signal_handler_block(mt->spinbutton_out, mt->spin_out_func); + lives_signal_handler_block(mt->spinbutton_in, mt->spin_in_func); + set_in_out_spin_ranges(mt, new_start_tc, offset_end); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_out), offset_end / U_SEC); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_in), new_start_tc / U_SEC); lives_spin_button_update(LIVES_SPIN_BUTTON(mt->spinbutton_out)); lives_spin_button_update(LIVES_SPIN_BUTTON(mt->spinbutton_in)); - lives_signal_handler_unblock(mt->spinbutton_out,mt->spin_out_func); - lives_signal_handler_unblock(mt->spinbutton_in,mt->spin_in_func); + lives_signal_handler_unblock(mt->spinbutton_out, mt->spin_out_func); + lives_signal_handler_unblock(mt->spinbutton_in, mt->spin_in_func); - if (track>=0) { + if (track >= 0) { // update images update_in_image(mt); - if (start_anchored) update_out_image(mt,offset_end); + if (start_anchored) update_out_image(mt, offset_end); } } if (!resize_timeline(mt)) { - redraw_eventbox(mt,block->eventbox); + redraw_eventbox(mt, block->eventbox); + paint_lines(mt, mt->ptr_time, TRUE); } - } void in_out_end_changed(LiVESWidget *widget, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; - track_rect *block=mt->block_selected,*ablock=NULL; + track_rect *block = mt->block_selected, *ablock = NULL; - weed_timecode_t offset_end,orig_end_tc; - weed_timecode_t new_end_tc,tl_end; + weed_timecode_t offset_end, orig_end_tc; + weed_timecode_t new_end_tc, tl_end; weed_timecode_t new_tl_tc; - weed_plant_t *event,*prevevent,*shortcut=NULL; - weed_plant_t *start_event,*event_next,*init_event,*new_end_event; + weed_plant_t *event, *prevevent, *shortcut = NULL; + weed_plant_t *start_event, *event_next, *init_event, *new_end_event; - double new_end=lives_spin_button_get_value(LIVES_SPIN_BUTTON(widget)); + double new_end = lives_spin_button_get_value(LIVES_SPIN_BUTTON(widget)); double start_val; - double aseek,avel=1.; + double aseek, avel = 1.; boolean was_moved; boolean end_anchored; @@ -11954,685 +11665,679 @@ int track; int filenum; int error; - int aclip=0; + int aclip = 0; if (!mainw->interactive) return; - if (block==NULL) { - lives_clip_t *sfile=mainw->files[mt->file_selected]; - sfile->end=(int)new_end; - set_clip_labels_variable(mt,mt->file_selected); - update_out_image(mt,0); + if (block == NULL) { + lives_clip_t *sfile = mainw->files[mt->file_selected]; + sfile->end = (int)new_end; + set_clip_labels_variable(mt, mt->file_selected); + update_out_image(mt, 0); - if (sfile->end<sfile->start) lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_in),(double)sfile->end); + if (sfile->end < sfile->start) lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_in), (double)sfile->end); return; } - start_val=block->offset_start/U_SEC; - event=block->end_event; - track=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox),"layer_number")); + start_val = block->offset_start / U_SEC; + event = block->end_event; + track = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox), "layer_number")); - tl_end=get_event_timecode(event); + tl_end = get_event_timecode(event); // get the audio block (if exists) - if (track>=0) { + if (track >= 0) { if (!mt->aud_track_selected) { if (mt->opts.pertrack_audio) { - LiVESWidget *aeventbox=LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox),"atrack")); - ablock=get_block_from_time(aeventbox,tl_end/U_SEC-1./mt->fps,mt); + LiVESWidget *aeventbox = LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox), "atrack")); + ablock = get_block_from_time(aeventbox, tl_end / U_SEC - 1. / mt->fps, mt); } - end_anchored=block->end_anchored; + end_anchored = block->end_anchored; } else { - LiVESWidget *eventbox=LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox),"owner")); - ablock=block; - block=get_block_from_time(eventbox,tl_end/U_SEC-1./mt->fps,mt); - end_anchored=ablock->end_anchored; - } - filenum=get_frame_event_clip(block->start_event,track); - } else { - ablock=block; - end_anchored=block->end_anchored; - avel=get_audio_frame_vel(ablock->start_event,track); - filenum=get_audio_frame_clip(ablock->start_event,track); + LiVESWidget *eventbox = LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox), "owner")); + ablock = block; + block = get_block_from_time(eventbox, tl_end / U_SEC - 1. / mt->fps, mt); + end_anchored = ablock->end_anchored; + } + filenum = get_frame_event_clip(block->start_event, track); + } else { + ablock = block; + end_anchored = block->end_anchored; + avel = get_audio_frame_vel(ablock->start_event, track); + filenum = get_audio_frame_clip(ablock->start_event, track); } // offset_end is timecode of end event within source (scaled for velocity) - offset_end=q_gint64(block->offset_start+(weed_timecode_t)((double)(track>=0)*U_SEC/mt->fps)+ - (weed_timecode_t)((double)(get_event_timecode(block->end_event)- - get_event_timecode(block->start_event))*avel),mt->fps); + offset_end = q_gint64(block->offset_start + (weed_timecode_t)((double)(track >= 0) * U_SEC / mt->fps) + + (weed_timecode_t)((double)(get_event_timecode(block->end_event) - + get_event_timecode(block->start_event)) * avel), mt->fps); - if (track>=0&&new_end>mainw->files[filenum]->frames/mainw->files[filenum]->fps) new_end=mainw->files[filenum]->frames/ + if (track >= 0 && new_end > mainw->files[filenum]->frames / mainw->files[filenum]->fps) new_end = mainw->files[filenum]->frames / mainw->files[filenum]->fps; - new_end_tc=q_gint64(block->offset_start+(new_end-start_val)*U_SEC,mt->fps); - orig_end_tc=offset_end; + new_end_tc = q_gint64(block->offset_start + (new_end - start_val) * U_SEC, mt->fps); + orig_end_tc = offset_end; #ifdef DEBUG_BL_MOVE - g_print("pt a %ld %ld %ld %.4f %ld %ld\n",block->offset_start,get_event_timecode(block->end_event), - get_event_timecode(block->start_event),new_end,orig_end_tc,new_end_tc); + g_print("pt a %ld %ld %ld %.4f %ld %ld\n", block->offset_start, get_event_timecode(block->end_event), + get_event_timecode(block->start_event), new_end, orig_end_tc, new_end_tc); #endif - if (ABS(new_end_tc-orig_end_tc)<(.5*U_SEC)/mt->fps||!block->ordered) { - lives_signal_handler_block(mt->spinbutton_out,mt->spin_out_func); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_out),new_end_tc/U_SEC); - lives_signal_handler_unblock(mt->spinbutton_out,mt->spin_out_func); + if (ABS(new_end_tc - orig_end_tc) < (.5 * U_SEC) / mt->fps || !block->ordered) { + lives_signal_handler_block(mt->spinbutton_out, mt->spin_out_func); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_out), new_end_tc / U_SEC); + lives_signal_handler_unblock(mt->spinbutton_out, mt->spin_out_func); return; } - start_event=get_prev_frame_event(event); + start_event = get_prev_frame_event(event); if (!end_anchored) { - new_tl_tc=q_gint64(get_event_timecode(block->start_event)+(new_end-start_val)*U_SEC/avel- - (double)(track>=0)*U_SEC/mt->fps,mt->fps); - if (track<0) new_tl_tc-=(U_SEC/mt->fps); - + new_tl_tc = q_gint64(get_event_timecode(block->start_event) + (new_end - start_val) * U_SEC / avel - + (double)(track >= 0) * U_SEC / mt->fps, mt->fps); + if (track < 0) new_tl_tc -= (U_SEC / mt->fps); #ifdef DEBUG_BL_MOVE - g_print("new tl tc is %ld %ld %.4f %.4f\n",new_tl_tc,tl_end,new_end,start_val); + g_print("new tl tc is %ld %ld %.4f %.4f\n", new_tl_tc, tl_end, new_end, start_val); #endif - if (tl_end>new_tl_tc) { + if (tl_end > new_tl_tc) { // end decreased, not anchored - while (event!=NULL) { - if (get_event_timecode(event)<=new_tl_tc) { + while (event != NULL) { + if (get_event_timecode(event) <= new_tl_tc) { // done - if (ablock!=NULL) { - if (ablock->next==NULL||ablock->next->start_event!=ablock->end_event) - remove_audio_for_track(ablock->end_event,track); - aclip=get_audio_frame_clip(ablock->start_event,track); + if (ablock != NULL) { + if (ablock->next == NULL || ablock->next->start_event != ablock->end_event) + remove_audio_for_track(ablock->end_event, track); + aclip = get_audio_frame_clip(ablock->start_event, track); } - block->end_event=event; + block->end_event = event; break; } - prevevent=get_prev_frame_event(event); - if (track>=0) remove_frame_from_event(mt->event_list,event,track); - event=prevevent; - } - - if (ablock!=NULL) { - new_end_event=get_next_frame_event(event); - if (new_end_event==NULL) { - weed_plant_t *shortcut=ablock->end_event; - mt->event_list=insert_blank_frame_event_at(mt->event_list, - q_gint64(new_tl_tc+(weed_timecode_t)((double)(track>=0)* - U_SEC/mt->fps),mt->fps), - &shortcut); - ablock->end_event=shortcut; - } else ablock->end_event=new_end_event; - insert_audio_event_at(mt->event_list,ablock->end_event,track,aclip,0.,0.); + prevevent = get_prev_frame_event(event); + if (track >= 0) remove_frame_from_event(mt->event_list, event, track); + event = prevevent; + } + + if (ablock != NULL) { + new_end_event = get_next_frame_event(event); + if (new_end_event == NULL) { + weed_plant_t *shortcut = ablock->end_event; + mt->event_list = insert_blank_frame_event_at(mt->event_list, + q_gint64(new_tl_tc + (weed_timecode_t)((double)(track >= 0) * + U_SEC / mt->fps), mt->fps), + &shortcut); + ablock->end_event = shortcut; + } else ablock->end_event = new_end_event; + insert_audio_event_at(mt->event_list, ablock->end_event, track, aclip, 0., 0.); } // move filter_inits right, and deinits left - new_tl_tc=get_event_timecode(block->end_event); - start_event=block->end_event; - while (event!=NULL&&get_event_timecode(event)<=new_tl_tc) event=get_next_event(event); - - while (event!=NULL&&get_event_timecode(event)<=tl_end) { - event_next=get_next_event(event); - was_moved=FALSE; + new_tl_tc = get_event_timecode(block->end_event); + start_event = block->end_event; + while (event != NULL && get_event_timecode(event) <= new_tl_tc) event = get_next_event(event); + + while (event != NULL && get_event_timecode(event) <= tl_end) { + event_next = get_next_event(event); + was_moved = FALSE; if (WEED_EVENT_IS_FILTER_INIT(event)) { - if (!move_event_right(mt->event_list,event,TRUE,mt->fps)) { - was_moved=TRUE; - if (event==start_event) start_event=NULL; + if (!move_event_right(mt->event_list, event, TRUE, mt->fps)) { + was_moved = TRUE; + if (event == start_event) start_event = NULL; } } else { if (WEED_EVENT_IS_FILTER_DEINIT(event)) { - init_event=(weed_plant_t *)weed_get_voidptr_value(event,WEED_LEAF_INIT_EVENT,&error); - if (init_event!=mt->avol_init_event) { - if (!move_event_left(mt->event_list,event,TRUE,mt->fps)) { - was_moved=TRUE; + init_event = (weed_plant_t *)weed_get_voidptr_value(event, WEED_LEAF_INIT_EVENT, &error); + if (init_event != mt->avol_init_event) { + if (!move_event_left(mt->event_list, event, TRUE, mt->fps)) { + was_moved = TRUE; } } } } if (was_moved) { - if (start_event==NULL) event=get_first_event(mt->event_list); - else event=get_next_event(start_event); - while (event!=NULL&&get_event_timecode(event)<=new_tl_tc) event=get_next_event(event); + if (start_event == NULL) event = get_first_event(mt->event_list); + else event = get_next_event(start_event); + while (event != NULL && get_event_timecode(event) <= new_tl_tc) event = get_next_event(event); } else { - event=event_next; - if (WEED_EVENT_IS_FRAME(event)) start_event=event; + event = event_next; + if (WEED_EVENT_IS_FRAME(event)) start_event = event; } } - remove_end_blank_frames(mt->event_list,TRUE); + remove_end_blank_frames(mt->event_list, TRUE); } else { // end increased, not anchored - if (track>=0) { + if (track >= 0) { // do an insert from end_tc up, starting with end_frame and finishing at new_end - insert_frames(filenum,offset_end,new_end_tc,tl_end+(weed_timecode_t)(U_SEC/mt->fps),DIRECTION_POSITIVE, - block->eventbox,mt,block); - block->end_event=get_frame_event_at(mt->event_list,q_gint64(new_end_tc+tl_end-offset_end,mt->fps), - block->end_event,TRUE); + insert_frames(filenum, offset_end, new_end_tc, tl_end + (weed_timecode_t)(U_SEC / mt->fps), DIRECTION_POSITIVE, + block->eventbox, mt, block); + block->end_event = get_frame_event_at(mt->event_list, q_gint64(new_end_tc + tl_end - offset_end, mt->fps), + block->end_event, TRUE); } else { // for backing audio insert blank frames up to end - weed_plant_t *last_frame_event=get_last_frame_event(mt->event_list); - weed_timecode_t final_tc=get_event_timecode(last_frame_event); - shortcut=last_frame_event; - while (final_tc<new_tl_tc) { - final_tc=q_gint64(final_tc+U_SEC/mt->fps,mt->fps); - mt->event_list=insert_blank_frame_event_at(mt->event_list,final_tc,&shortcut); + weed_plant_t *last_frame_event = get_last_frame_event(mt->event_list); + weed_timecode_t final_tc = get_event_timecode(last_frame_event); + shortcut = last_frame_event; + while (final_tc < new_tl_tc) { + final_tc = q_gint64(final_tc + U_SEC / mt->fps, mt->fps); + mt->event_list = insert_blank_frame_event_at(mt->event_list, final_tc, &shortcut); } - } - if (ablock!=NULL) { - new_end_event=get_frame_event_at(mt->event_list,q_gint64(new_tl_tc+U_SEC/mt->fps,mt->fps),ablock->end_event,TRUE); - if (new_end_event==ablock->end_event) { - lives_signal_handler_block(mt->spinbutton_out,mt->spin_out_func); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_out),orig_end_tc/U_SEC); - lives_signal_handler_unblock(mt->spinbutton_out,mt->spin_out_func); + if (ablock != NULL) { + new_end_event = get_frame_event_at(mt->event_list, q_gint64(new_tl_tc + U_SEC / mt->fps, mt->fps), ablock->end_event, TRUE); + if (new_end_event == ablock->end_event) { + lives_signal_handler_block(mt->spinbutton_out, mt->spin_out_func); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_out), orig_end_tc / U_SEC); + lives_signal_handler_unblock(mt->spinbutton_out, mt->spin_out_func); return; } - remove_audio_for_track(ablock->end_event,track); - if (new_end_event==NULL) { - if (shortcut==NULL) shortcut=ablock->end_event; - mt->event_list=insert_blank_frame_event_at(mt->event_list,q_gint64(new_tl_tc+U_SEC/mt->fps,mt->fps),&shortcut); - ablock->end_event=shortcut; - } else ablock->end_event=new_end_event; + remove_audio_for_track(ablock->end_event, track); + if (new_end_event == NULL) { + if (shortcut == NULL) shortcut = ablock->end_event; + mt->event_list = insert_blank_frame_event_at(mt->event_list, q_gint64(new_tl_tc + U_SEC / mt->fps, mt->fps), &shortcut); + ablock->end_event = shortcut; + } else ablock->end_event = new_end_event; - if (ablock->next==NULL||ablock->next->start_event!=ablock->end_event) { - aclip=get_audio_frame_clip(ablock->start_event,track); - insert_audio_event_at(mt->event_list,ablock->end_event,track,aclip,0.,0.); + if (ablock->next == NULL || ablock->next->start_event != ablock->end_event) { + aclip = get_audio_frame_clip(ablock->start_event, track); + insert_audio_event_at(mt->event_list, ablock->end_event, track, aclip, 0., 0.); } } - new_tl_tc=get_event_timecode(block->end_event); + new_tl_tc = get_event_timecode(block->end_event); - start_event=event; + start_event = event; - while (event!=NULL&&get_event_timecode(event)==tl_end) { + while (event != NULL && get_event_timecode(event) == tl_end) { if (WEED_EVENT_IS_FILTER_DEINIT(event)) { - init_event=(weed_plant_t *)weed_get_voidptr_value(event,WEED_LEAF_INIT_EVENT,&error); - if (init_event!=mt->avol_init_event) { - if (filter_init_has_owner(init_event,track)) { + init_event = (weed_plant_t *)weed_get_voidptr_value(event, WEED_LEAF_INIT_EVENT, &error); + if (init_event != mt->avol_init_event) { + if (filter_init_has_owner(init_event, track)) { // candidate for moving - move_filter_deinit_event(mt->event_list,new_tl_tc,event,mt->fps,TRUE); + move_filter_deinit_event(mt->event_list, new_tl_tc, event, mt->fps, TRUE); // account for overlaps //move_event_left(mt->event_list,event,TRUE,mt->fps); - event=start_event; + event = start_event; continue; } } } - event=get_next_event(event); + event = get_next_event(event); } } } else { // end is anchored, do a re-insert from end to start weed_timecode_t offset_start; - lives_mt_insert_mode_t insert_mode=mt->opts.insert_mode; + lives_mt_insert_mode_t insert_mode = mt->opts.insert_mode; - offset_end=q_gint64((offset_start=block->offset_start+new_end_tc-orig_end_tc)+ - (weed_timecode_t)((double)(track>=0)*U_SEC/mt->fps)+ - (get_event_timecode(block->end_event)-get_event_timecode(block->start_event)),mt->fps); + offset_end = q_gint64((offset_start = block->offset_start + new_end_tc - orig_end_tc) + + (weed_timecode_t)((double)(track >= 0) * U_SEC / mt->fps) + + (get_event_timecode(block->end_event) - get_event_timecode(block->start_event)), mt->fps); - mt->opts.insert_mode=INSERT_MODE_OVERWRITE; + mt->opts.insert_mode = INSERT_MODE_OVERWRITE; // note: audio blocks end at the timecode, video blocks end at tc + U_SEC/mt->fps - if (track>=0) insert_frames(filenum,offset_end,offset_start,tl_end+ - (weed_timecode_t)((double)(track>=0&&!mt->aud_track_selected)*U_SEC/mt->fps), - DIRECTION_NEGATIVE,block->eventbox,mt,block); - - block->offset_start=q_gint64(offset_start,mt->fps); - - if (ablock!=NULL) { - aclip=get_audio_frame_clip(ablock->start_event,track); - aseek=get_audio_frame_seek(ablock->start_event,track); - avel=get_audio_frame_vel(ablock->start_event,track); - aseek+=q_gint64(new_end_tc-orig_end_tc,mt->fps)/U_SEC; - insert_audio_event_at(mt->event_list,ablock->start_event,track,aclip,aseek,avel); - ablock->offset_start=q_gint64(aseek*U_SEC,mt->fps); + if (track >= 0) insert_frames(filenum, offset_end, offset_start, tl_end + + (weed_timecode_t)((double)(track >= 0 && !mt->aud_track_selected)*U_SEC / mt->fps), + DIRECTION_NEGATIVE, block->eventbox, mt, block); + + block->offset_start = q_gint64(offset_start, mt->fps); + + if (ablock != NULL) { + aclip = get_audio_frame_clip(ablock->start_event, track); + aseek = get_audio_frame_seek(ablock->start_event, track); + avel = get_audio_frame_vel(ablock->start_event, track); + aseek += q_gint64(new_end_tc - orig_end_tc, mt->fps) / U_SEC; + insert_audio_event_at(mt->event_list, ablock->start_event, track, aclip, aseek, avel); + ablock->offset_start = q_gint64(aseek * U_SEC, mt->fps); } - mt->opts.insert_mode=insert_mode; + mt->opts.insert_mode = insert_mode; } // get new offset_end - new_end_tc=(block->offset_start+(weed_timecode_t)((double)(track>=0)*U_SEC/mt->fps)+ - (get_event_timecode(block->end_event)-get_event_timecode(block->start_event))*avel); + new_end_tc = (block->offset_start + (weed_timecode_t)((double)(track >= 0) * U_SEC / mt->fps) + + (get_event_timecode(block->end_event) - get_event_timecode(block->start_event)) * avel); #ifdef DEBUG_BL_MOVE - g_print("new end tc is %ld %ld %ld %.4f\n",get_event_timecode(block->end_event), - get_event_timecode(block->start_event),block->offset_start,avel); + g_print("new end tc is %ld %ld %ld %.4f\n", get_event_timecode(block->end_event), + get_event_timecode(block->start_event), block->offset_start, avel); #endif - if (mt->avol_fx!=-1&&mt->avol_init_event!=NULL&&mt->audio_draws!=NULL&& - mt->audio_draws->data!=NULL&&block->next==NULL) { + if (mt->avol_fx != -1 && mt->avol_init_event != NULL && mt->audio_draws != NULL && + mt->audio_draws->data != NULL && block->next == NULL) { apply_avol_filter(mt); } + if (mt->poly_state == POLY_IN_OUT) { + lives_signal_handler_block(mt->spinbutton_out, mt->spin_out_func); + lives_signal_handler_block(mt->spinbutton_in, mt->spin_in_func); + set_in_out_spin_ranges(mt, block->offset_start, new_end_tc); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_in), block->offset_start / U_SEC); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_out), new_end_tc / U_SEC); + lives_signal_handler_unblock(mt->spinbutton_out, mt->spin_out_func); + lives_signal_handler_unblock(mt->spinbutton_in, mt->spin_in_func); - if (mt->poly_state==POLY_IN_OUT) { - lives_signal_handler_block(mt->spinbutton_out,mt->spin_out_func); - lives_signal_handler_block(mt->spinbutton_in,mt->spin_in_func); - set_in_out_spin_ranges(mt,block->offset_start,new_end_tc); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_in), block->offset_start/U_SEC); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_out), new_end_tc/U_SEC); - lives_signal_handler_unblock(mt->spinbutton_out,mt->spin_out_func); - lives_signal_handler_unblock(mt->spinbutton_in,mt->spin_in_func); - - if (track>=0) { + if (track >= 0) { // update image - update_out_image(mt,new_end_tc); + update_out_image(mt, new_end_tc); if (end_anchored) update_in_image(mt); } } #ifdef DEBUG_BL_MOVE - g_print("pt b %ld\n",q_gint64(new_end_tc/avel,mt->fps)); + g_print("pt b %ld\n", q_gint64(new_end_tc / avel, mt->fps)); #endif if (!resize_timeline(mt)) { - redraw_eventbox(mt,block->eventbox); - if (ablock!=NULL&&ablock!=block) redraw_eventbox(mt,block->eventbox); + redraw_eventbox(mt, block->eventbox); + if (ablock != NULL && ablock != block) redraw_eventbox(mt, block->eventbox); + paint_lines(mt, mt->ptr_time, TRUE); // TODO - redraw chans ?? } } void avel_reverse_toggled(LiVESToggleButton *togglebutton, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - track_rect *block=mt->block_selected; - int track=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox),"layer_number")); - double avel=-get_audio_frame_vel(block->start_event,track); - double aseek=get_audio_frame_seek(block->start_event,track),aseek_end; - int aclip=get_audio_frame_clip(block->start_event,track); + lives_mt *mt = (lives_mt *)user_data; + track_rect *block = mt->block_selected; + int track = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox), "layer_number")); + double avel = -get_audio_frame_vel(block->start_event, track); + double aseek = get_audio_frame_seek(block->start_event, track), aseek_end; + int aclip = get_audio_frame_clip(block->start_event, track); - double old_in_val=lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->spinbutton_in)); - double old_out_val=lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->spinbutton_out)); + double old_in_val = lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->spinbutton_in)); + double old_out_val = lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->spinbutton_out)); // update avel and aseek - aseek_end=aseek+(get_event_timecode(block->end_event)-get_event_timecode(block->start_event))/U_SEC*(-avel); - insert_audio_event_at(mt->event_list,block->start_event,track,aclip,aseek_end,avel); + aseek_end = aseek + (get_event_timecode(block->end_event) - get_event_timecode(block->start_event)) / U_SEC * (-avel); + insert_audio_event_at(mt->event_list, block->start_event, track, aclip, aseek_end, avel); + lives_signal_handler_block(mt->spinbutton_out, mt->spin_out_func); + lives_signal_handler_block(mt->spinbutton_in, mt->spin_in_func); - lives_signal_handler_block(mt->spinbutton_out,mt->spin_out_func); - lives_signal_handler_block(mt->spinbutton_in,mt->spin_in_func); + if (avel < 0.) set_in_out_spin_ranges(mt, old_in_val * U_SEC, old_out_val * U_SEC); + else set_in_out_spin_ranges(mt, old_out_val * U_SEC, old_in_val * U_SEC); - if (avel<0.) set_in_out_spin_ranges(mt,old_in_val*U_SEC,old_out_val*U_SEC); - else set_in_out_spin_ranges(mt,old_out_val*U_SEC,old_in_val*U_SEC); - - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_in),old_out_val); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_out),old_in_val); - - lives_signal_handler_unblock(mt->spinbutton_in,mt->spin_in_func); - lives_signal_handler_unblock(mt->spinbutton_out,mt->spin_out_func); - - if (avel<0.) { - lives_widget_set_sensitive(mt->spinbutton_in,FALSE); - lives_widget_set_sensitive(mt->spinbutton_out,FALSE); - lives_widget_set_sensitive(mt->spinbutton_avel,FALSE); - lives_widget_set_sensitive(mt->avel_scale,FALSE); - lives_widget_set_sensitive(mt->checkbutton_start_anchored,FALSE); - lives_widget_set_sensitive(mt->checkbutton_end_anchored,FALSE); - } else { - lives_widget_set_sensitive(mt->spinbutton_in,TRUE); - lives_widget_set_sensitive(mt->spinbutton_out,TRUE); - if (!block->start_anchored||!block->end_anchored) { - lives_widget_set_sensitive(mt->spinbutton_avel,TRUE); - lives_widget_set_sensitive(mt->avel_scale,TRUE); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_in), old_out_val); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_out), old_in_val); + + lives_signal_handler_unblock(mt->spinbutton_in, mt->spin_in_func); + lives_signal_handler_unblock(mt->spinbutton_out, mt->spin_out_func); + + if (avel < 0.) { + lives_widget_set_sensitive(mt->spinbutton_in, FALSE); + lives_widget_set_sensitive(mt->spinbutton_out, FALSE); + lives_widget_set_sensitive(mt->spinbutton_avel, FALSE); + lives_widget_set_sensitive(mt->avel_scale, FALSE); + lives_widget_set_sensitive(mt->checkbutton_start_anchored, FALSE); + lives_widget_set_sensitive(mt->checkbutton_end_anchored, FALSE); + } else { + lives_widget_set_sensitive(mt->spinbutton_in, TRUE); + lives_widget_set_sensitive(mt->spinbutton_out, TRUE); + if (!block->start_anchored || !block->end_anchored) { + lives_widget_set_sensitive(mt->spinbutton_avel, TRUE); + lives_widget_set_sensitive(mt->avel_scale, TRUE); } - lives_widget_set_sensitive(mt->checkbutton_start_anchored,TRUE); - lives_widget_set_sensitive(mt->checkbutton_end_anchored,TRUE); + lives_widget_set_sensitive(mt->checkbutton_start_anchored, TRUE); + lives_widget_set_sensitive(mt->checkbutton_end_anchored, TRUE); } - } void avel_spin_changed(LiVESSpinButton *spinbutton, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - track_rect *block=mt->block_selected; - int track=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox),"layer_number")); - double new_avel=lives_spin_button_get_value(spinbutton); - double aseek=get_audio_frame_seek(block->start_event,track); - int aclip=get_audio_frame_clip(block->start_event,track); - weed_timecode_t new_end_tc,old_tl_tc,start_tc,new_tl_tc,min_tc; - weed_plant_t *new_end_event,*new_start_event; - double orig_end_val,orig_start_val; - boolean was_adjusted=FALSE; + lives_mt *mt = (lives_mt *)user_data; + track_rect *block = mt->block_selected; + int track = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox), "layer_number")); + double new_avel = lives_spin_button_get_value(spinbutton); + double aseek = get_audio_frame_seek(block->start_event, track); + int aclip = get_audio_frame_clip(block->start_event, track); + weed_timecode_t new_end_tc, old_tl_tc, start_tc, new_tl_tc, min_tc; + weed_plant_t *new_end_event, *new_start_event; + double orig_end_val, orig_start_val; + boolean was_adjusted = FALSE; if (!mainw->interactive) return; - if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(mt->checkbutton_avel_reverse))) new_avel=-new_avel; + if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(mt->checkbutton_avel_reverse))) new_avel = -new_avel; - start_tc=block->offset_start; + start_tc = block->offset_start; - orig_end_val=lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->spinbutton_out)); - old_tl_tc=get_event_timecode(block->end_event); + orig_end_val = lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->spinbutton_out)); + old_tl_tc = get_event_timecode(block->end_event); if (!block->end_anchored) { - new_end_tc=q_gint64(start_tc+((orig_end_val= - lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->spinbutton_out)))*U_SEC-start_tc) - /new_avel,mt->fps); + new_end_tc = q_gint64(start_tc + ((orig_end_val = + lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->spinbutton_out))) * U_SEC - start_tc) + / new_avel, mt->fps); - insert_audio_event_at(mt->event_list,block->start_event,track,aclip,aseek,new_avel); + insert_audio_event_at(mt->event_list, block->start_event, track, aclip, aseek, new_avel); - new_tl_tc=q_gint64(get_event_timecode(block->start_event)+(orig_end_val*U_SEC-start_tc)/new_avel,mt->fps); + new_tl_tc = q_gint64(get_event_timecode(block->start_event) + (orig_end_val * U_SEC - start_tc) / new_avel, mt->fps); // move end point (if we can) - if (block->next!=NULL&&new_tl_tc>=get_event_timecode(block->next->start_event)) { - new_end_tc=q_gint64((get_event_timecode(block->next->start_event)- - get_event_timecode(block->start_event))*new_avel+block->offset_start,mt->fps); - lives_signal_handler_block(mt->spinbutton_out,mt->spin_out_func); - lives_signal_handler_block(mt->spinbutton_in,mt->spin_in_func); - set_in_out_spin_ranges(mt,block->offset_start,new_end_tc); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_out),new_end_tc/U_SEC); - lives_signal_handler_unblock(mt->spinbutton_in,mt->spin_in_func); - lives_signal_handler_unblock(mt->spinbutton_out,mt->spin_out_func); + if (block->next != NULL && new_tl_tc >= get_event_timecode(block->next->start_event)) { + new_end_tc = q_gint64((get_event_timecode(block->next->start_event) - + get_event_timecode(block->start_event)) * new_avel + block->offset_start, mt->fps); + lives_signal_handler_block(mt->spinbutton_out, mt->spin_out_func); + lives_signal_handler_block(mt->spinbutton_in, mt->spin_in_func); + set_in_out_spin_ranges(mt, block->offset_start, new_end_tc); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_out), new_end_tc / U_SEC); + lives_signal_handler_unblock(mt->spinbutton_in, mt->spin_in_func); + lives_signal_handler_unblock(mt->spinbutton_out, mt->spin_out_func); return; } - if (new_tl_tc!=old_tl_tc) { + if (new_tl_tc != old_tl_tc) { weed_plant_t *shortcut; - if (new_tl_tc>old_tl_tc) shortcut=block->end_event; - else shortcut=block->start_event; - if (block->next==NULL||block->next->start_event!=block->end_event) remove_audio_for_track(block->end_event,-1); - new_end_event=get_frame_event_at(mt->event_list,new_tl_tc,shortcut,TRUE); - if (new_end_event==block->start_event) return; - block->end_event=new_end_event; - - if (block->end_event==NULL) { - weed_plant_t *last_frame_event=get_last_frame_event(mt->event_list); - add_blank_frames_up_to(mt->event_list,last_frame_event,new_tl_tc,mt->fps); - block->end_event=get_last_frame_event(mt->event_list); + if (new_tl_tc > old_tl_tc) shortcut = block->end_event; + else shortcut = block->start_event; + if (block->next == NULL || block->next->start_event != block->end_event) remove_audio_for_track(block->end_event, -1); + new_end_event = get_frame_event_at(mt->event_list, new_tl_tc, shortcut, TRUE); + if (new_end_event == block->start_event) return; + block->end_event = new_end_event; + + if (block->end_event == NULL) { + weed_plant_t *last_frame_event = get_last_frame_event(mt->event_list); + add_blank_frames_up_to(mt->event_list, last_frame_event, new_tl_tc, mt->fps); + block->end_event = get_last_frame_event(mt->event_list); } - if (block->next==NULL||block->next->start_event!=block->end_event) - insert_audio_event_at(mt->event_list,block->end_event,-1,aclip,0.,0.); + if (block->next == NULL || block->next->start_event != block->end_event) + insert_audio_event_at(mt->event_list, block->end_event, -1, aclip, 0., 0.); lives_widget_queue_draw((LiVESWidget *)mt->audio_draws->data); - new_end_tc=start_tc+(get_event_timecode(block->end_event)-get_event_timecode(block->start_event))*new_avel; - lives_signal_handler_block(mt->spinbutton_out,mt->spin_out_func); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_out),new_end_tc/U_SEC); - lives_signal_handler_unblock(mt->spinbutton_out,mt->spin_out_func); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_out),orig_end_val); + new_end_tc = start_tc + (get_event_timecode(block->end_event) - get_event_timecode(block->start_event)) * new_avel; + lives_signal_handler_block(mt->spinbutton_out, mt->spin_out_func); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_out), new_end_tc / U_SEC); + lives_signal_handler_unblock(mt->spinbutton_out, mt->spin_out_func); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_out), orig_end_val); - remove_end_blank_frames(mt->event_list,TRUE); + remove_end_blank_frames(mt->event_list, TRUE); - if (mt->avol_fx!=-1&&block->next==NULL) { + if (mt->avol_fx != -1 && block->next == NULL) { apply_avol_filter(mt); } } if (!resize_timeline(mt)) { - redraw_eventbox(mt,block->eventbox); + redraw_eventbox(mt, block->eventbox); + paint_lines(mt, mt->ptr_time, TRUE); } return; } // move start point (if we can) - min_tc=0; - if (block->prev!=NULL) min_tc=get_event_timecode(block->prev->end_event); + min_tc = 0; + if (block->prev != NULL) min_tc = get_event_timecode(block->prev->end_event); - new_tl_tc=q_gint64(get_event_timecode(block->end_event)-(orig_end_val*U_SEC-start_tc)/new_avel,mt->fps); - new_end_tc=orig_end_val*U_SEC; + new_tl_tc = q_gint64(get_event_timecode(block->end_event) - (orig_end_val * U_SEC - start_tc) / new_avel, mt->fps); + new_end_tc = orig_end_val * U_SEC; - if (new_tl_tc<min_tc) { - aseek-=(new_tl_tc-min_tc)/U_SEC; - start_tc=block->offset_start=aseek*U_SEC; - new_tl_tc=min_tc; - was_adjusted=TRUE; + if (new_tl_tc < min_tc) { + aseek -= (new_tl_tc - min_tc) / U_SEC; + start_tc = block->offset_start = aseek * U_SEC; + new_tl_tc = min_tc; + was_adjusted = TRUE; } - orig_start_val=lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->spinbutton_in)); + orig_start_val = lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->spinbutton_in)); - if (was_adjusted||new_tl_tc!=old_tl_tc) { + if (was_adjusted || new_tl_tc != old_tl_tc) { weed_plant_t *shortcut; - if (new_tl_tc>old_tl_tc) shortcut=block->start_event; + if (new_tl_tc > old_tl_tc) shortcut = block->start_event; else { - if (block->prev!=NULL) shortcut=block->prev->end_event; - else shortcut=NULL; + if (block->prev != NULL) shortcut = block->prev->end_event; + else shortcut = NULL; } - new_start_event=get_frame_event_at(mt->event_list,new_tl_tc,shortcut,TRUE); - if (new_start_event==block->end_event) return; + new_start_event = get_frame_event_at(mt->event_list, new_tl_tc, shortcut, TRUE); + if (new_start_event == block->end_event) return; - if (block->prev==NULL||block->start_event!=block->prev->end_event) remove_audio_for_track(block->start_event,-1); - else insert_audio_event_at(mt->event_list,block->start_event,-1,aclip,0.,0.); - block->start_event=new_start_event; + if (block->prev == NULL || block->start_event != block->prev->end_event) remove_audio_for_track(block->start_event, -1); + else insert_audio_event_at(mt->event_list, block->start_event, -1, aclip, 0., 0.); + block->start_event = new_start_event; - insert_audio_event_at(mt->event_list,block->start_event,-1,aclip,aseek,new_avel); + insert_audio_event_at(mt->event_list, block->start_event, -1, aclip, aseek, new_avel); lives_widget_queue_draw((LiVESWidget *)mt->audio_draws->data); - lives_signal_handler_block(mt->spinbutton_out,mt->spin_out_func); - lives_signal_handler_block(mt->spinbutton_in,mt->spin_in_func); + lives_signal_handler_block(mt->spinbutton_out, mt->spin_out_func); + lives_signal_handler_block(mt->spinbutton_in, mt->spin_in_func); - set_in_out_spin_ranges(mt,start_tc,new_end_tc); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_in),start_tc/U_SEC); + set_in_out_spin_ranges(mt, start_tc, new_end_tc); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_in), start_tc / U_SEC); - if (!was_adjusted) lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_in),orig_start_val); + if (!was_adjusted) lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_in), orig_start_val); - lives_signal_handler_unblock(mt->spinbutton_in,mt->spin_in_func); - lives_signal_handler_unblock(mt->spinbutton_out,mt->spin_out_func); + lives_signal_handler_unblock(mt->spinbutton_in, mt->spin_in_func); + lives_signal_handler_unblock(mt->spinbutton_out, mt->spin_out_func); - if (mt->avol_fx!=-1&&block->next==NULL) { + if (mt->avol_fx != -1 && block->next == NULL) { apply_avol_filter(mt); } } - } void in_anchor_toggled(LiVESToggleButton *togglebutton, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - track_rect *block=mt->block_selected; + lives_mt *mt = (lives_mt *)user_data; + track_rect *block = mt->block_selected; weed_timecode_t offset_end; - double avel=1.; + double avel = 1.; if (!mainw->interactive) return; - if (mt->current_track<0) { - avel=get_audio_frame_vel(block->start_event,mt->current_track); + if (mt->current_track < 0) { + avel = get_audio_frame_vel(block->start_event, mt->current_track); } - offset_end=block->offset_start+(double)(mt->current_track>=0&&!mt->aud_track_selected)* - (weed_timecode_t)(U_SEC/mt->fps)+((get_event_timecode(block->end_event)- - get_event_timecode(block->start_event)))*avel; - - block->start_anchored=!block->start_anchored; + offset_end = block->offset_start + (double)(mt->current_track >= 0 && !mt->aud_track_selected) * + (weed_timecode_t)(U_SEC / mt->fps) + ((get_event_timecode(block->end_event) - + get_event_timecode(block->start_event))) * avel; + block->start_anchored = !block->start_anchored; - lives_signal_handler_block(mt->spinbutton_out,mt->spin_out_func); - lives_signal_handler_block(mt->spinbutton_in,mt->spin_in_func); - set_in_out_spin_ranges(mt,block->offset_start,offset_end); - lives_signal_handler_unblock(mt->spinbutton_in,mt->spin_in_func); - lives_signal_handler_unblock(mt->spinbutton_out,mt->spin_out_func); + lives_signal_handler_block(mt->spinbutton_out, mt->spin_out_func); + lives_signal_handler_block(mt->spinbutton_in, mt->spin_in_func); + set_in_out_spin_ranges(mt, block->offset_start, offset_end); + lives_signal_handler_unblock(mt->spinbutton_in, mt->spin_in_func); + lives_signal_handler_unblock(mt->spinbutton_out, mt->spin_out_func); - if ((block->start_anchored&&block->end_anchored)||mainw->playing_file>-1) { - lives_widget_set_sensitive(mt->spinbutton_avel,FALSE); - lives_widget_set_sensitive(mt->avel_scale,FALSE); + if ((block->start_anchored && block->end_anchored) || mainw->playing_file > -1) { + lives_widget_set_sensitive(mt->spinbutton_avel, FALSE); + lives_widget_set_sensitive(mt->avel_scale, FALSE); } else { - lives_widget_set_sensitive(mt->spinbutton_avel,TRUE); - lives_widget_set_sensitive(mt->avel_scale,TRUE); + lives_widget_set_sensitive(mt->spinbutton_avel, TRUE); + lives_widget_set_sensitive(mt->avel_scale, TRUE); } - if (mt->current_track>=0&&mt->opts.pertrack_audio) { + if (mt->current_track >= 0 && mt->opts.pertrack_audio) { LiVESWidget *xeventbox; track_rect *xblock; // if video, find the audio track, and vice-versa if (mt->aud_track_selected) { - xeventbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox),"owner"); + xeventbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox), "owner"); } else { - xeventbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox),"atrack"); + xeventbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox), "atrack"); } - if (xeventbox!=NULL) { - xblock=get_block_from_time(xeventbox,get_event_timecode(block->start_event)/U_SEC,mt); - if (xblock!=NULL) xblock->start_anchored=block->start_anchored; + if (xeventbox != NULL) { + xblock = get_block_from_time(xeventbox, get_event_timecode(block->start_event) / U_SEC, mt); + if (xblock != NULL) xblock->start_anchored = block->start_anchored; } } } void out_anchor_toggled(LiVESToggleButton *togglebutton, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - track_rect *block=mt->block_selected; + lives_mt *mt = (lives_mt *)user_data; + track_rect *block = mt->block_selected; weed_timecode_t offset_end; - double avel=1.; + double avel = 1.; if (!mainw->interactive) return; - if (mt->current_track<0) { - avel=get_audio_frame_vel(block->start_event,mt->current_track); + if (mt->current_track < 0) { + avel = get_audio_frame_vel(block->start_event, mt->current_track); } - offset_end=block->offset_start+(double)(mt->current_track>=0&&!mt->aud_track_selected)* - (weed_timecode_t)(U_SEC/mt->fps)+((get_event_timecode(block->end_event)- - get_event_timecode(block->start_event)))*avel; + offset_end = block->offset_start + (double)(mt->current_track >= 0 && !mt->aud_track_selected) * + (weed_timecode_t)(U_SEC / mt->fps) + ((get_event_timecode(block->end_event) - + get_event_timecode(block->start_event))) * avel; - block->end_anchored=!block->end_anchored; + block->end_anchored = !block->end_anchored; - lives_signal_handler_block(mt->spinbutton_out,mt->spin_out_func); - lives_signal_handler_block(mt->spinbutton_in,mt->spin_in_func); - set_in_out_spin_ranges(mt,block->offset_start,offset_end); - lives_signal_handler_unblock(mt->spinbutton_in,mt->spin_in_func); - lives_signal_handler_unblock(mt->spinbutton_out,mt->spin_out_func); + lives_signal_handler_block(mt->spinbutton_out, mt->spin_out_func); + lives_signal_handler_block(mt->spinbutton_in, mt->spin_in_func); + set_in_out_spin_ranges(mt, block->offset_start, offset_end); + lives_signal_handler_unblock(mt->spinbutton_in, mt->spin_in_func); + lives_signal_handler_unblock(mt->spinbutton_out, mt->spin_out_func); - if ((block->start_anchored&&block->end_anchored)||mainw->playing_file>-1) { - lives_widget_set_sensitive(mt->spinbutton_avel,FALSE); - lives_widget_set_sensitive(mt->avel_scale,FALSE); + if ((block->start_anchored && block->end_anchored) || mainw->playing_file > -1) { + lives_widget_set_sensitive(mt->spinbutton_avel, FALSE); + lives_widget_set_sensitive(mt->avel_scale, FALSE); } else { - lives_widget_set_sensitive(mt->spinbutton_avel,TRUE); - lives_widget_set_sensitive(mt->avel_scale,TRUE); + lives_widget_set_sensitive(mt->spinbutton_avel, TRUE); + lives_widget_set_sensitive(mt->avel_scale, TRUE); } - if (mt->current_track>=0&&mt->opts.pertrack_audio) { + if (mt->current_track >= 0 && mt->opts.pertrack_audio) { LiVESWidget *xeventbox; track_rect *xblock; // if video, find the audio track, and vice-versa if (mt->aud_track_selected) { - xeventbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox),"owner"); + xeventbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox), "owner"); } else { - xeventbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox),"atrack"); + xeventbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox), "atrack"); } - if (xeventbox!=NULL) { - xblock=get_block_from_time(xeventbox,get_event_timecode(block->start_event)/U_SEC,mt); - if (xblock!=NULL) xblock->end_anchored=block->end_anchored; + if (xeventbox != NULL) { + xblock = get_block_from_time(xeventbox, get_event_timecode(block->start_event) / U_SEC, mt); + if (xblock != NULL) xblock->end_anchored = block->end_anchored; } } - } void polymorph(lives_mt *mt, lives_mt_poly_state_t poly) { LiVESPixbuf *thumb; - weed_timecode_t offset_end=0; + weed_timecode_t offset_end = 0; weed_timecode_t tc; weed_plant_t *filter; - weed_plant_t *frame_event,*filter_map=NULL; + weed_plant_t *frame_event, *filter_map = NULL; weed_plant_t *init_event; - weed_plant_t *prev_fm_event,*next_fm_event,*shortcut; + weed_plant_t *prev_fm_event, *next_fm_event, *shortcut; - track_rect *block=mt->block_selected; + track_rect *block = mt->block_selected; void **init_events; - int *in_tracks,*out_tracks; + int *in_tracks, *out_tracks; LiVESWidget *bbox; - LiVESWidget *eventbox,*xeventbox,*yeventbox,*label,*vbox; + LiVESWidget *eventbox, *xeventbox, *yeventbox, *label, *vbox; double secs; double out_end_range; - double avel=1.; + double avel = 1.; char *fhash; - char *fname,*otrackname,*txt; + char *fname, *otrackname, *txt; - boolean is_input,is_output; - boolean has_effect=FALSE; + boolean is_input, is_output; + boolean has_effect = FALSE; boolean has_params; - boolean tab_set=FALSE; - boolean start_anchored,end_anchored; + boolean tab_set = FALSE; + boolean start_anchored, end_anchored; - int num_in_tracks,num_out_tracks; - int def_out_track=0; - int num_fx=0; + int num_in_tracks, num_out_tracks; + int def_out_track = 0; + int num_fx = 0; int fidx; int olayer; - int fxcount=0; - int nins=1; - int width=cfile->hsize; - int height=cfile->vsize; + int fxcount = 0; + int nins = 1; + int width = cfile->hsize; + int height = cfile->vsize; int error; - int track,fromtrack; - int frame_start,frame_end=0; + int track, fromtrack; + int frame_start, frame_end = 0; int filenum; - static int xxwidth,xxheight; + static int xxwidth, xxheight; - register int i,j; + register int i, j; - if (poly==mt->poly_state&&poly!=POLY_PARAMS&&poly!=POLY_FX_STACK) { + if (poly == mt->poly_state && poly != POLY_PARAMS && poly != POLY_FX_STACK) { return; } - if (lives_widget_get_allocation_width(mt->poly_box)>1&&lives_widget_get_allocation_height(mt->poly_box)>1) { - calc_maxspect(lives_widget_get_allocation_width(mt->poly_box)/2-widget_opts.packing_width, - lives_widget_get_allocation_height(mt->poly_box)- - ((block==NULL||block->ordered)?lives_widget_get_allocation_height(mainw->spinbutton_start):0),&width,&height); + if (lives_widget_get_allocation_width(mt->poly_box) > 1 && lives_widget_get_allocation_height(mt->poly_box) > 1) { + calc_maxspect(lives_widget_get_allocation_width(mt->poly_box) / 2 - widget_opts.packing_width, + lives_widget_get_allocation_height(mt->poly_box) - + ((block == NULL || block->ordered) ? lives_widget_get_allocation_height(mainw->spinbutton_start) : 0), &width, &height); - xxwidth=width; - xxheight=height; + xxwidth = width; + xxheight = height; } else { - width=xxwidth; - height=xxheight; + width = xxwidth; + height = xxheight; } switch (mt->poly_state) { case (POLY_CLIPS) : - lives_container_remove(LIVES_CONTAINER(mt->poly_box),mt->clip_scroll); + lives_container_remove(LIVES_CONTAINER(mt->poly_box), mt->clip_scroll); break; case (POLY_IN_OUT) : - lives_signal_handler_block(mt->spinbutton_in,mt->spin_in_func); - lives_signal_handler_block(mt->spinbutton_out,mt->spin_out_func); - if (lives_widget_get_parent(mt->in_out_box)!=NULL) lives_widget_unparent(mt->in_out_box); - if (lives_widget_get_parent(mt->avel_box)!=NULL) lives_widget_unparent(mt->avel_box); + lives_signal_handler_block(mt->spinbutton_in, mt->spin_in_func); + lives_signal_handler_block(mt->spinbutton_out, mt->spin_out_func); + if (lives_widget_get_parent(mt->in_out_box) != NULL) lives_widget_unparent(mt->in_out_box); + if (lives_widget_get_parent(mt->avel_box) != NULL) lives_widget_unparent(mt->avel_box); break; case (POLY_PARAMS) : - mt->framedraw=NULL; - if (mt->current_rfx!=NULL) { + mt->framedraw = NULL; + if (mt->current_rfx != NULL) { rfx_free(mt->current_rfx); lives_free(mt->current_rfx); } - mt->current_rfx=NULL; + mt->current_rfx = NULL; - if (mt->fx_box!=NULL) { + if (mt->fx_box != NULL) { lives_widget_destroy(mt->fx_box); - mt->fx_box=NULL; - lives_container_remove(LIVES_CONTAINER(mt->poly_box),mt->fx_base_box); + mt->fx_box = NULL; + lives_container_remove(LIVES_CONTAINER(mt->poly_box), mt->fx_base_box); } if (mt->mt_frame_preview) { // put blank back in preview window lives_object_ref(mainw->playarea); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(mt->fd_frame, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); } } - if (pchain!=NULL&&poly!=POLY_PARAMS) { + if (pchain != NULL && poly != POLY_PARAMS) { // no freep ! lives_free(pchain); - pchain=NULL; + pchain = NULL; } mouse_mode_context(mt); // reset context box text - mt->last_fx_type=MT_LAST_FX_NONE; + mt->last_fx_type = MT_LAST_FX_NONE; - lives_widget_set_sensitive(mt->fx_edit,FALSE); - lives_widget_set_sensitive(mt->fx_delete,FALSE); - if (poly==POLY_PARAMS) { + lives_widget_set_sensitive(mt->fx_edit, FALSE); + lives_widget_set_sensitive(mt->fx_delete, FALSE); + if (poly == POLY_PARAMS) { lives_widget_context_update(); } else { - mt->init_event=NULL; + mt->init_event = NULL; mt_show_current_frame(mt, FALSE); } break; case POLY_FX_STACK: - if (poly!=POLY_FX_STACK) { - mt->selected_init_event=NULL; - mt->fm_edit_event=NULL; - mt->context_time=-1.; + if (poly != POLY_FX_STACK) { + mt->selected_init_event = NULL; + mt->fm_edit_event = NULL; + mt->context_time = -1.; } case POLY_EFFECTS: case POLY_TRANS: @@ -12642,21 +12347,21 @@ break; } - if (mt->fx_list_box!=NULL) lives_widget_unparent(mt->fx_list_box); - mt->fx_list_box=NULL; - if (mt->nb_label!=NULL) lives_widget_destroy(mt->nb_label); - mt->nb_label=NULL; + if (mt->fx_list_box != NULL) lives_widget_unparent(mt->fx_list_box); + mt->fx_list_box = NULL; + if (mt->nb_label != NULL) lives_widget_destroy(mt->nb_label); + mt->nb_label = NULL; - mt->poly_state=poly; + mt->poly_state = poly; - if (mt->poly_state==POLY_NONE) return; // transitional state + if (mt->poly_state == POLY_NONE) return; // transitional state switch (poly) { case (POLY_IN_OUT) : - set_poly_tab(mt,POLY_IN_OUT); + set_poly_tab(mt, POLY_IN_OUT); - mt->init_event=NULL; - if (block==NULL||block->ordered) { + mt->init_event = NULL; + if (block == NULL || block->ordered) { lives_widget_show(mt->in_hbox); lives_widget_show(mt->out_hbox); } else { @@ -12664,164 +12369,163 @@ lives_widget_hide(mt->out_hbox); } - if (block!=NULL) { - track=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox),"layer_number")); + if (block != NULL) { + track = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox), "layer_number")); - offset_end=block->offset_start+(weed_timecode_t)((double)(track>=0)*U_SEC/mt->fps)+ - ((get_event_timecode(block->end_event)-get_event_timecode(block->start_event))*ABS(avel)); + offset_end = block->offset_start + (weed_timecode_t)((double)(track >= 0) * U_SEC / mt->fps) + + ((get_event_timecode(block->end_event) - get_event_timecode(block->start_event)) * ABS(avel)); - start_anchored=block->start_anchored; - end_anchored=block->end_anchored; + start_anchored = block->start_anchored; + end_anchored = block->end_anchored; } else { - track=0; + track = 0; - start_anchored=end_anchored=FALSE; + start_anchored = end_anchored = FALSE; - filenum=mt->file_selected; - - frame_start=mainw->files[filenum]->start; - frame_end=mainw->files[filenum]->end; + filenum = mt->file_selected; + frame_start = mainw->files[filenum]->start; + frame_end = mainw->files[filenum]->end; } - if (track>-1) { + if (track > -1) { LiVESWidget *oeventbox; - if (block!=NULL) { - secs=lives_ruler_get_value(LIVES_RULER(mt->timeline)); - if (mt->context_time!=-1.&&mt->use_context) secs=mt->context_time; - if (is_audio_eventbox(block->eventbox)&&(oeventbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox), - "owner"))!=NULL) { + if (block != NULL) { + secs = lives_ruler_get_value(LIVES_RULER(mt->timeline)); + if (mt->context_time != -1. && mt->use_context) secs = mt->context_time; + if (is_audio_eventbox(block->eventbox) && (oeventbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(block->eventbox), + "owner")) != NULL) { // if moving an audio block we move the associated video block first - block=get_block_from_time(oeventbox,secs,mt); + block = get_block_from_time(oeventbox, secs, mt); } - filenum=get_frame_event_clip(block->start_event,track); + filenum = get_frame_event_clip(block->start_event, track); - frame_start=calc_frame_from_time(filenum,block->offset_start/U_SEC); - frame_end=calc_frame_from_time(filenum,offset_end/U_SEC-1./mt->fps); + frame_start = calc_frame_from_time(filenum, block->offset_start / U_SEC); + frame_end = calc_frame_from_time(filenum, offset_end / U_SEC - 1. / mt->fps); } lives_container_set_border_width(LIVES_CONTAINER(mt->poly_box), 0); - if (mainw->playing_file==filenum) { - mainw->files[filenum]->event_list=mt->event_list; + if (mainw->playing_file == filenum) { + mainw->files[filenum]->event_list = mt->event_list; } // start image - thumb=make_thumb(mt,filenum,width,height,frame_start,FALSE); - lives_image_set_from_pixbuf(LIVES_IMAGE(mt->in_image),thumb); - if (thumb!=NULL) lives_object_unref(thumb); + thumb = make_thumb(mt, filenum, width, height, frame_start, FALSE); + lives_image_set_from_pixbuf(LIVES_IMAGE(mt->in_image), thumb); + if (thumb != NULL) lives_object_unref(thumb); } else { lives_container_set_border_width(LIVES_CONTAINER(mt->poly_box), widget_opts.border_width); - filenum=get_audio_frame_clip(block->start_event,track); - lives_box_pack_start(LIVES_BOX(mt->poly_box),mt->avel_box,TRUE,TRUE,0); + filenum = get_audio_frame_clip(block->start_event, track); + lives_box_pack_start(LIVES_BOX(mt->poly_box), mt->avel_box, TRUE, TRUE, 0); lives_widget_show_all(mt->avel_box); - avel=get_audio_frame_vel(block->start_event,track); - offset_end=block->offset_start+q_gint64((weed_timecode_t)((double)(track>=0)*U_SEC/mt->fps)+ - ((get_event_timecode(block->end_event)- - get_event_timecode(block->start_event))*ABS(avel)),mt->fps); + avel = get_audio_frame_vel(block->start_event, track); + offset_end = block->offset_start + q_gint64((weed_timecode_t)((double)(track >= 0) * U_SEC / mt->fps) + + ((get_event_timecode(block->end_event) - + get_event_timecode(block->start_event)) * ABS(avel)), mt->fps); } - if (block==NULL) { + if (block == NULL) { lives_widget_hide(mt->checkbutton_start_anchored); lives_widget_hide(mt->checkbutton_end_anchored); - lives_spin_button_set_digits(LIVES_SPIN_BUTTON(mt->spinbutton_in),0); - lives_spin_button_set_digits(LIVES_SPIN_BUTTON(mt->spinbutton_out),0); - lives_spin_button_configure(LIVES_SPIN_BUTTON(mt->spinbutton_in),mainw->files[filenum]->start,1., - mainw->files[filenum]->frames,1.,100.); - lives_spin_button_configure(LIVES_SPIN_BUTTON(mt->spinbutton_out),mainw->files[filenum]->end,1., - mainw->files[filenum]->frames,1.,100.); + lives_spin_button_set_digits(LIVES_SPIN_BUTTON(mt->spinbutton_in), 0); + lives_spin_button_set_digits(LIVES_SPIN_BUTTON(mt->spinbutton_out), 0); + lives_spin_button_configure(LIVES_SPIN_BUTTON(mt->spinbutton_in), mainw->files[filenum]->start, 1., + mainw->files[filenum]->frames, 1., 100.); + lives_spin_button_configure(LIVES_SPIN_BUTTON(mt->spinbutton_out), mainw->files[filenum]->end, 1., + mainw->files[filenum]->frames, 1., 100.); } else { lives_widget_show(mt->checkbutton_start_anchored); lives_widget_show(mt->checkbutton_end_anchored); - lives_spin_button_set_digits(LIVES_SPIN_BUTTON(mt->spinbutton_in),2); - lives_spin_button_set_digits(LIVES_SPIN_BUTTON(mt->spinbutton_out),2); - lives_spin_button_configure(LIVES_SPIN_BUTTON(mt->spinbutton_in),0.,0.,0.,1./mt->fps,1.); - lives_spin_button_configure(LIVES_SPIN_BUTTON(mt->spinbutton_out),0.,0.,0.,1./mt->fps,1.); + lives_spin_button_set_digits(LIVES_SPIN_BUTTON(mt->spinbutton_in), 2); + lives_spin_button_set_digits(LIVES_SPIN_BUTTON(mt->spinbutton_out), 2); + lives_spin_button_configure(LIVES_SPIN_BUTTON(mt->spinbutton_in), 0., 0., 0., 1. / mt->fps, 1.); + lives_spin_button_configure(LIVES_SPIN_BUTTON(mt->spinbutton_out), 0., 0., 0., 1. / mt->fps, 1.); } - if (avel>0.) { - if (block!=NULL) { - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_in),0., offset_end/U_SEC-1./mt->fps); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_in),block->offset_start/U_SEC); + if (avel > 0.) { + if (block != NULL) { + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_in), 0., offset_end / U_SEC - 1. / mt->fps); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_in), block->offset_start / U_SEC); } else { - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_in),1., mainw->files[filenum]->frames); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_in),mainw->files[filenum]->start); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_in), 1., mainw->files[filenum]->frames); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_in), mainw->files[filenum]->start); } - lives_signal_handler_block(mt->checkbutton_start_anchored,mt->check_start_func); - lives_signal_handler_block(mt->checkbutton_avel_reverse,mt->check_avel_rev_func); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(mt->checkbutton_start_anchored),start_anchored); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(mt->checkbutton_avel_reverse),FALSE); - lives_signal_handler_unblock(mt->checkbutton_avel_reverse,mt->check_avel_rev_func); - lives_signal_handler_unblock(mt->checkbutton_start_anchored,mt->check_start_func); + lives_signal_handler_block(mt->checkbutton_start_anchored, mt->check_start_func); + lives_signal_handler_block(mt->checkbutton_avel_reverse, mt->check_avel_rev_func); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(mt->checkbutton_start_anchored), start_anchored); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(mt->checkbutton_avel_reverse), FALSE); + lives_signal_handler_unblock(mt->checkbutton_avel_reverse, mt->check_avel_rev_func); + lives_signal_handler_unblock(mt->checkbutton_start_anchored, mt->check_start_func); } else { - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_out),0., offset_end/U_SEC-1./mt->fps); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_out),block->offset_start/U_SEC); - lives_signal_handler_block(mt->checkbutton_start_anchored,mt->check_start_func); - lives_signal_handler_block(mt->checkbutton_avel_reverse,mt->check_avel_rev_func); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(mt->checkbutton_start_anchored),start_anchored); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(mt->checkbutton_avel_reverse),TRUE); - lives_signal_handler_unblock(mt->checkbutton_avel_reverse,mt->check_avel_rev_func); - lives_signal_handler_unblock(mt->checkbutton_start_anchored,mt->check_start_func); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_out), 0., offset_end / U_SEC - 1. / mt->fps); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_out), block->offset_start / U_SEC); + lives_signal_handler_block(mt->checkbutton_start_anchored, mt->check_start_func); + lives_signal_handler_block(mt->checkbutton_avel_reverse, mt->check_avel_rev_func); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(mt->checkbutton_start_anchored), start_anchored); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(mt->checkbutton_avel_reverse), TRUE); + lives_signal_handler_unblock(mt->checkbutton_avel_reverse, mt->check_avel_rev_func); + lives_signal_handler_unblock(mt->checkbutton_start_anchored, mt->check_start_func); } - lives_signal_handler_block(mt->spinbutton_avel,mt->spin_avel_func); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_avel),ABS(avel)); - lives_signal_handler_unblock(mt->spinbutton_avel,mt->spin_avel_func); + lives_signal_handler_block(mt->spinbutton_avel, mt->spin_avel_func); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_avel), ABS(avel)); + lives_signal_handler_unblock(mt->spinbutton_avel, mt->spin_avel_func); - if (track>-1) { + if (track > -1) { // end image - thumb=make_thumb(mt,filenum,width,height,frame_end,FALSE); - lives_image_set_from_pixbuf(LIVES_IMAGE(mt->out_image),thumb); - if (thumb!=NULL) lives_object_unref(thumb); - out_end_range=count_resampled_frames(mainw->files[filenum]->frames,mainw->files[filenum]->fps,mt->fps)/mt->fps; - } else out_end_range=q_gint64(mainw->files[filenum]->laudio_time*U_SEC,mt->fps)/U_SEC; - - if (avel>0.) { - if (block!=NULL) { - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_out), block->offset_start/U_SEC+1./mt->fps, out_end_range); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_out),offset_end/U_SEC); - if (!block->start_anchored||!block->end_anchored) { - lives_widget_set_sensitive(mt->spinbutton_avel,TRUE); - lives_widget_set_sensitive(mt->avel_scale,TRUE); + thumb = make_thumb(mt, filenum, width, height, frame_end, FALSE); + lives_image_set_from_pixbuf(LIVES_IMAGE(mt->out_image), thumb); + if (thumb != NULL) lives_object_unref(thumb); + out_end_range = count_resampled_frames(mainw->files[filenum]->frames, mainw->files[filenum]->fps, mt->fps) / mt->fps; + } else out_end_range = q_gint64(mainw->files[filenum]->laudio_time * U_SEC, mt->fps) / U_SEC; + + if (avel > 0.) { + if (block != NULL) { + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_out), block->offset_start / U_SEC + 1. / mt->fps, out_end_range); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_out), offset_end / U_SEC); + if (!block->start_anchored || !block->end_anchored) { + lives_widget_set_sensitive(mt->spinbutton_avel, TRUE); + lives_widget_set_sensitive(mt->avel_scale, TRUE); } } - lives_widget_set_sensitive(mt->spinbutton_in,TRUE); - lives_widget_set_sensitive(mt->spinbutton_out,TRUE); + lives_widget_set_sensitive(mt->spinbutton_in, TRUE); + lives_widget_set_sensitive(mt->spinbutton_out, TRUE); lives_widget_grab_focus(mt->spinbutton_in); } else { - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_in), block->offset_start/U_SEC+1./mt->fps, out_end_range); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_in),offset_end/U_SEC); - lives_widget_set_sensitive(mt->spinbutton_in,FALSE); - lives_widget_set_sensitive(mt->spinbutton_out,FALSE); - lives_widget_set_sensitive(mt->spinbutton_avel,FALSE); - lives_widget_set_sensitive(mt->avel_scale,FALSE); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_in), block->offset_start / U_SEC + 1. / mt->fps, out_end_range); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_in), offset_end / U_SEC); + lives_widget_set_sensitive(mt->spinbutton_in, FALSE); + lives_widget_set_sensitive(mt->spinbutton_out, FALSE); + lives_widget_set_sensitive(mt->spinbutton_avel, FALSE); + lives_widget_set_sensitive(mt->avel_scale, FALSE); } - lives_signal_handler_block(mt->checkbutton_end_anchored,mt->check_end_func); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(mt->checkbutton_end_anchored),end_anchored); - lives_signal_handler_unblock(mt->checkbutton_end_anchored,mt->check_end_func); - lives_box_pack_start(LIVES_BOX(mt->poly_box),mt->in_out_box,TRUE,TRUE,0); + lives_signal_handler_block(mt->checkbutton_end_anchored, mt->check_end_func); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(mt->checkbutton_end_anchored), end_anchored); + lives_signal_handler_unblock(mt->checkbutton_end_anchored, mt->check_end_func); + lives_box_pack_start(LIVES_BOX(mt->poly_box), mt->in_out_box, TRUE, TRUE, 0); lives_widget_show_all(mt->in_out_box); // not show_all ! - if (track>-1) { + if (track > -1) { lives_widget_hide(mt->avel_box); } else { lives_widget_hide(mt->in_image); lives_widget_hide(mt->out_image); } - if (block==NULL) { + if (block == NULL) { lives_widget_hide(mt->checkbutton_start_anchored); lives_widget_hide(mt->checkbutton_end_anchored); } - lives_signal_handler_unblock(mt->spinbutton_in,mt->spin_in_func); - lives_signal_handler_unblock(mt->spinbutton_out,mt->spin_out_func); + lives_signal_handler_unblock(mt->spinbutton_in, mt->spin_in_func); + lives_signal_handler_unblock(mt->spinbutton_out, mt->spin_out_func); - if (mainw->playing_file>-1) mt_desensitise(mt); + if (mainw->playing_file > -1) mt_desensitise(mt); else { mt_sensitise(mt); lives_widget_grab_focus(mt->spinbutton_in); @@ -12829,125 +12533,125 @@ break; case (POLY_CLIPS) : - set_poly_tab(mt,POLY_CLIPS); - mt->init_event=NULL; - lives_box_pack_start(LIVES_BOX(mt->poly_box),mt->clip_scroll,TRUE,TRUE,0); + set_poly_tab(mt, POLY_CLIPS); + mt->init_event = NULL; + lives_box_pack_start(LIVES_BOX(mt->poly_box), mt->clip_scroll, TRUE, TRUE, 0); if (mt->is_ready) mouse_mode_context(mt); break; case (POLY_PARAMS): - set_poly_tab(mt,POLY_PARAMS); + set_poly_tab(mt, POLY_PARAMS); - lives_box_pack_start(LIVES_BOX(mt->poly_box),mt->fx_base_box,TRUE,TRUE,0); + lives_box_pack_start(LIVES_BOX(mt->poly_box), mt->fx_base_box, TRUE, TRUE, 0); - filter=get_weed_filter(mt->current_fx); + filter = get_weed_filter(mt->current_fx); - if (mt->current_rfx!=NULL) { + if (mt->current_rfx != NULL) { rfx_free(mt->current_rfx); lives_free(mt->current_rfx); } - mt->current_rfx=weed_to_rfx(filter,FALSE); + mt->current_rfx = weed_to_rfx(filter, FALSE); - tc=get_event_timecode(mt->init_event); + tc = get_event_timecode(mt->init_event); - if (fx_dialog[1]!=NULL) { - lives_rfx_t *rfx=(lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"rfx"); + if (fx_dialog[1] != NULL) { + lives_rfx_t *rfx = (lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "rfx"); lives_widget_destroy(fx_dialog[1]); - on_paramwindow_cancel_clicked2(NULL,rfx); + on_paramwindow_cancel_clicked2(NULL, rfx); } - get_track_index(mt,tc); + get_track_index(mt, tc); - mt->prev_fx_time=0; // force redraw in node_spin_val_changed - has_params=add_mt_param_box(mt); + mt->prev_fx_time = 0; // force redraw in node_spin_val_changed + has_params = add_mt_param_box(mt); - if (has_params&&mainw->playing_file<0) { + if (has_params && mainw->playing_file < 0) { lives_widget_context_update(); - mt->block_tl_move=TRUE; - on_node_spin_value_changed(LIVES_SPIN_BUTTON(mt->node_spinbutton),mt); // force parameter interpolation - mt->block_tl_move=FALSE; + mt->block_tl_move = TRUE; + on_node_spin_value_changed(LIVES_SPIN_BUTTON(mt->node_spinbutton), mt); // force parameter interpolation + mt->block_tl_move = FALSE; } clear_context(mt); if (has_params) { - add_context_label(mt,_("Drag the time slider to where you")); - add_context_label(mt,_("want to set effect parameters")); - add_context_label(mt,_("Set parameters, then click \"Apply\"\n")); - add_context_label(mt,_("NODES are points where parameters\nhave been set.\nNodes can be deleted.")); + add_context_label(mt, _("Drag the time slider to where you")); + add_context_label(mt, _("want to set effect parameters")); + add_context_label(mt, _("Set parameters, then click \"Apply\"\n")); + add_context_label(mt, _("NODES are points where parameters\nhave been set.\nNodes can be deleted.")); } else { - add_context_label(mt,_("Effect has no parameters.\n")); + add_context_label(mt, _("Effect has no parameters.\n")); } lives_widget_show_all(mt->fx_box); break; case POLY_FX_STACK: - mt->init_event=NULL; - if (mt->current_track>=0) eventbox=(LiVESWidget *)lives_list_nth_data(mt->video_draws,mt->current_track); - else eventbox=(LiVESWidget *)mt->audio_draws->data; + mt->init_event = NULL; + if (mt->current_track >= 0) eventbox = (LiVESWidget *)lives_list_nth_data(mt->video_draws, mt->current_track); + else eventbox = (LiVESWidget *)mt->audio_draws->data; - if (eventbox==NULL) break; /// < can happen during mt exit + if (eventbox == NULL) break; /// < can happen during mt exit - secs=mt->ptr_time; - if (mt->context_time!=-1.&&mt->use_context) secs=mt->context_time; + secs = mt->ptr_time; + if (mt->context_time != -1. && mt->use_context) secs = mt->context_time; - block=get_block_from_time(eventbox,secs,mt); - if (block==NULL) { - block=get_block_before(eventbox,secs,FALSE); - if (block!=NULL) shortcut=block->end_event; - else shortcut=NULL; - } else shortcut=block->start_event; + block = get_block_from_time(eventbox, secs, mt); + if (block == NULL) { + block = get_block_before(eventbox, secs, FALSE); + if (block != NULL) shortcut = block->end_event; + else shortcut = NULL; + } else shortcut = block->start_event; - tc=q_gint64(secs*U_SEC,mt->fps); + tc = q_gint64(secs * U_SEC, mt->fps); - frame_event=get_frame_event_at(mt->event_list,tc,shortcut,TRUE); + frame_event = get_frame_event_at(mt->event_list, tc, shortcut, TRUE); - if (frame_event!=NULL) - filter_map=mt->fm_edit_event=get_filter_map_before(frame_event,LIVES_TRACK_ANY,NULL); + if (frame_event != NULL) + filter_map = mt->fm_edit_event = get_filter_map_before(frame_event, LIVES_TRACK_ANY, NULL); - mt->fx_list_box=lives_vbox_new(FALSE,0); + mt->fx_list_box = lives_vbox_new(FALSE, 0); mt->fx_list_scroll = lives_scrolled_window_new(NULL, NULL); - lives_widget_set_hexpand(mt->fx_list_scroll,TRUE); + lives_widget_set_hexpand(mt->fx_list_scroll, TRUE); lives_scrolled_window_set_policy(LIVES_SCROLLED_WINDOW(mt->fx_list_scroll), LIVES_POLICY_AUTOMATIC, LIVES_POLICY_AUTOMATIC); lives_box_pack_start(LIVES_BOX(mt->fx_list_box), mt->fx_list_scroll, TRUE, TRUE, 0); - lives_box_pack_start(LIVES_BOX(mt->poly_box),mt->fx_list_box,TRUE,TRUE,0); + lives_box_pack_start(LIVES_BOX(mt->poly_box), mt->fx_list_box, TRUE, TRUE, 0); - mt->fx_list_vbox=lives_vbox_new(FALSE,widget_opts.packing_height); + mt->fx_list_vbox = lives_vbox_new(FALSE, widget_opts.packing_height); lives_container_set_border_width(LIVES_CONTAINER(mt->fx_list_vbox), widget_opts.border_width); lives_scrolled_window_add_with_viewport(LIVES_SCROLLED_WINDOW(mt->fx_list_scroll), mt->fx_list_vbox); lives_widget_set_bg_color(lives_bin_get_child(LIVES_BIN(mt->fx_list_scroll)), LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); - if (filter_map!=NULL) { - if (weed_plant_has_leaf(filter_map,WEED_LEAF_INIT_EVENTS)) num_fx=weed_leaf_num_elements(filter_map,WEED_LEAF_INIT_EVENTS); - if (num_fx>0) { - init_events=weed_get_voidptr_array(filter_map,WEED_LEAF_INIT_EVENTS,&error); - for (i=0; i<num_fx; i++) { - init_event=(weed_plant_t *)init_events[i]; - if (init_event!=NULL) { - - num_in_tracks=0; - is_input=FALSE; - fromtrack=-1; - if (weed_plant_has_leaf(init_event,WEED_LEAF_IN_TRACKS)) { - num_in_tracks=weed_leaf_num_elements(init_event,WEED_LEAF_IN_TRACKS); - if (num_in_tracks>0) { - in_tracks=weed_get_int_array(init_event,WEED_LEAF_IN_TRACKS,&error); - for (j=0; j<num_in_tracks; j++) { - if (in_tracks[j]==mt->current_track) { - is_input=TRUE; - } else if (num_in_tracks==2) fromtrack=in_tracks[j]; + if (filter_map != NULL) { + if (weed_plant_has_leaf(filter_map, WEED_LEAF_INIT_EVENTS)) num_fx = weed_leaf_num_elements(filter_map, WEED_LEAF_INIT_EVENTS); + if (num_fx > 0) { + init_events = weed_get_voidptr_array(filter_map, WEED_LEAF_INIT_EVENTS, &error); + for (i = 0; i < num_fx; i++) { + init_event = (weed_plant_t *)init_events[i]; + if (init_event != NULL) { + + num_in_tracks = 0; + is_input = FALSE; + fromtrack = -1; + if (weed_plant_has_leaf(init_event, WEED_LEAF_IN_TRACKS)) { + num_in_tracks = weed_leaf_num_elements(init_event, WEED_LEAF_IN_TRACKS); + if (num_in_tracks > 0) { + in_tracks = weed_get_int_array(init_event, WEED_LEAF_IN_TRACKS, &error); + for (j = 0; j < num_in_tracks; j++) { + if (in_tracks[j] == mt->current_track) { + is_input = TRUE; + } else if (num_in_tracks == 2) fromtrack = in_tracks[j]; } lives_free(in_tracks); } } - num_out_tracks=0; - is_output=FALSE; - if (weed_plant_has_leaf(init_event,WEED_LEAF_OUT_TRACKS)) { - num_out_tracks=weed_leaf_num_elements(init_event,WEED_LEAF_OUT_TRACKS); - if (num_out_tracks>0) { - out_tracks=weed_get_int_array(init_event,WEED_LEAF_OUT_TRACKS,&error); - def_out_track=out_tracks[0]; - for (j=0; j<num_out_tracks; j++) { - if (out_tracks[j]==mt->current_track) { - is_output=TRUE; + num_out_tracks = 0; + is_output = FALSE; + if (weed_plant_has_leaf(init_event, WEED_LEAF_OUT_TRACKS)) { + num_out_tracks = weed_leaf_num_elements(init_event, WEED_LEAF_OUT_TRACKS); + if (num_out_tracks > 0) { + out_tracks = weed_get_int_array(init_event, WEED_LEAF_OUT_TRACKS, &error); + def_out_track = out_tracks[0]; + for (j = 0; j < num_out_tracks; j++) { + if (out_tracks[j] == mt->current_track) { + is_output = TRUE; break; } } @@ -12955,63 +12659,63 @@ } } - if (!is_input&&!is_output) continue; + if (!is_input && !is_output) continue; - has_effect=TRUE; + has_effect = TRUE; fxcount++; - fhash=weed_get_string_value(init_event,WEED_LEAF_FILTER,&error); - fidx=weed_get_idx_for_hashname(fhash,TRUE); + fhash = weed_get_string_value(init_event, WEED_LEAF_FILTER, &error); + fidx = weed_get_idx_for_hashname(fhash, TRUE); lives_free(fhash); - fname=weed_filter_idx_get_name(fidx); + fname = weed_filter_idx_get_name(fidx); if (!is_input) { - txt=lives_strdup_printf(_("%s output"),fname); - } else if (!is_output&&num_out_tracks>0) { - if (def_out_track>-1) { - yeventbox=(LiVESWidget *)lives_list_nth_data(mt->video_draws,def_out_track); - olayer=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(yeventbox),"layer_number")); - otrackname=lives_strdup_printf(_("layer %d"),olayer); - } else otrackname=lives_strdup(_("audio track")); - txt=lives_strdup_printf(_("%s to %s"),fname,otrackname); + txt = lives_strdup_printf(_("%s output"), fname); + } else if (!is_output && num_out_tracks > 0) { + if (def_out_track > -1) { + yeventbox = (LiVESWidget *)lives_list_nth_data(mt->video_draws, def_out_track); + olayer = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(yeventbox), "layer_number")); + otrackname = lives_strdup_printf(_("layer %d"), olayer); + } else otrackname = lives_strdup(_("audio track")); + txt = lives_strdup_printf(_("%s to %s"), fname, otrackname); lives_free(otrackname); - } else if (num_in_tracks==2&&num_out_tracks>0) { - if (fromtrack>-1) { - yeventbox=(LiVESWidget *)lives_list_nth_data(mt->video_draws,fromtrack); - olayer=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(yeventbox),"layer_number")); - otrackname=lives_strdup_printf(_("layer %d"),olayer); - } else otrackname=lives_strdup(_("audio track")); - txt=lives_strdup_printf(_("%s from %s"),fname,otrackname); + } else if (num_in_tracks == 2 && num_out_tracks > 0) { + if (fromtrack > -1) { + yeventbox = (LiVESWidget *)lives_list_nth_data(mt->video_draws, fromtrack); + olayer = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(yeventbox), "layer_number")); + otrackname = lives_strdup_printf(_("layer %d"), olayer); + } else otrackname = lives_strdup(_("audio track")); + txt = lives_strdup_printf(_("%s from %s"), fname, otrackname); lives_free(otrackname); } else { - txt=lives_strdup(fname); + txt = lives_strdup(fname); } - xeventbox=lives_event_box_new(); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(xeventbox),"init_event",(livespointer)init_event); + xeventbox = lives_event_box_new(); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(xeventbox), "init_event", (livespointer)init_event); lives_widget_add_events(xeventbox, LIVES_BUTTON_RELEASE_MASK | LIVES_BUTTON_PRESS_MASK); - vbox=lives_vbox_new(FALSE,0); + vbox = lives_vbox_new(FALSE, 0); - lives_container_set_border_width(LIVES_CONTAINER(vbox), widget_opts.border_width>>1); + lives_container_set_border_width(LIVES_CONTAINER(vbox), widget_opts.border_width >> 1); lives_container_add(LIVES_CONTAINER(xeventbox), vbox); - label=lives_label_new(txt); + label = lives_label_new(txt); lives_free(txt); lives_free(fname); - lives_container_set_border_width(LIVES_CONTAINER(xeventbox), widget_opts.border_width>>1); + lives_container_set_border_width(LIVES_CONTAINER(xeventbox), widget_opts.border_width >> 1); lives_box_pack_start(LIVES_BOX(vbox), label, FALSE, FALSE, 0); lives_box_pack_start(LIVES_BOX(mt->fx_list_vbox), xeventbox, FALSE, FALSE, 0); - if (init_event==mt->selected_init_event) { + if (init_event == mt->selected_init_event) { lives_widget_set_bg_color(xeventbox, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_fg_color(xeventbox, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); - set_child_alt_colour(xeventbox,TRUE); + set_child_alt_colour(xeventbox, TRUE); } else { lives_widget_set_bg_color(xeventbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); lives_widget_set_fg_color(xeventbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); - set_child_colour(xeventbox,TRUE); + set_child_colour(xeventbox, TRUE); } lives_signal_connect(LIVES_GUI_OBJECT(xeventbox), LIVES_WIDGET_BUTTON_PRESS_EVENT, @@ -13023,26 +12727,26 @@ } } - bbox=lives_hbutton_box_new(); + bbox = lives_hbutton_box_new(); lives_button_box_set_layout(LIVES_BUTTON_BOX(bbox), LIVES_BUTTONBOX_SPREAD); lives_box_pack_end(LIVES_BOX(mt->fx_list_box), bbox, FALSE, FALSE, 0); mt->prev_fm_button = lives_button_new_with_mnemonic(_("_Prev filter map")); // Note to translators: previous filter map lives_box_pack_start(LIVES_BOX(bbox), mt->prev_fm_button, FALSE, FALSE, 0); - lives_widget_set_sensitive(mt->prev_fm_button,(prev_fm_event=get_prev_fm(mt,mt->current_track,frame_event))!=NULL&& - (get_event_timecode(prev_fm_event)!=(get_event_timecode(frame_event)))); + lives_widget_set_sensitive(mt->prev_fm_button, (prev_fm_event = get_prev_fm(mt, mt->current_track, frame_event)) != NULL && + (get_event_timecode(prev_fm_event) != (get_event_timecode(frame_event)))); lives_signal_connect(LIVES_GUI_OBJECT(mt->prev_fm_button), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_prev_fm_clicked), (livespointer)mt); - if (fxcount>1) { + if (fxcount > 1) { mt->fx_ibefore_button = lives_button_new_with_mnemonic(_("Insert _before")); lives_box_pack_start(LIVES_BOX(bbox), mt->fx_ibefore_button, FALSE, FALSE, 0); - lives_widget_set_sensitive(mt->fx_ibefore_button,mt->fx_order==FX_ORD_NONE&& - get_event_timecode(mt->fm_edit_event)==get_event_timecode(frame_event)&& - mt->selected_init_event!=NULL); + lives_widget_set_sensitive(mt->fx_ibefore_button, mt->fx_order == FX_ORD_NONE && + get_event_timecode(mt->fm_edit_event) == get_event_timecode(frame_event) && + mt->selected_init_event != NULL); lives_signal_connect(LIVES_GUI_OBJECT(mt->fx_ibefore_button), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_fx_insb_clicked), @@ -13050,34 +12754,34 @@ mt->fx_iafter_button = lives_button_new_with_mnemonic(_("Insert _after")); lives_box_pack_start(LIVES_BOX(bbox), mt->fx_iafter_button, FALSE, FALSE, 0); - lives_widget_set_sensitive(mt->fx_iafter_button,mt->fx_order==FX_ORD_NONE&& - get_event_timecode(mt->fm_edit_event)==get_event_timecode(frame_event)&& - mt->selected_init_event!=NULL); + lives_widget_set_sensitive(mt->fx_iafter_button, mt->fx_order == FX_ORD_NONE && + get_event_timecode(mt->fm_edit_event) == get_event_timecode(frame_event) && + mt->selected_init_event != NULL); lives_signal_connect(LIVES_GUI_OBJECT(mt->fx_iafter_button), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_fx_insa_clicked), (livespointer)mt); } else { - mt->fx_ibefore_button=mt->fx_iafter_button=NULL; + mt->fx_ibefore_button = mt->fx_iafter_button = NULL; } mt->next_fm_button = lives_button_new_with_mnemonic(_("_Next filter map")); lives_box_pack_end(LIVES_BOX(bbox), mt->next_fm_button, FALSE, FALSE, 0); - lives_widget_set_sensitive(mt->next_fm_button,(next_fm_event=get_next_fm(mt,mt->current_track,frame_event))!=NULL&& - (get_event_timecode(next_fm_event)>get_event_timecode(frame_event))); + lives_widget_set_sensitive(mt->next_fm_button, (next_fm_event = get_next_fm(mt, mt->current_track, frame_event)) != NULL && + (get_event_timecode(next_fm_event) > get_event_timecode(frame_event))); lives_signal_connect(LIVES_GUI_OBJECT(mt->next_fm_button), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_next_fm_clicked), (livespointer)mt); if (has_effect) { - do_fx_list_context(mt,fxcount); + do_fx_list_context(mt, fxcount); } else { - widget_opts.justify=LIVES_JUSTIFY_CENTER; - label=lives_standard_label_new(_("\n\nNo effects at current track,\ncurrent time.\n")); - widget_opts.justify=LIVES_JUSTIFY_DEFAULT; + widget_opts.justify = LIVES_JUSTIFY_CENTER; + label = lives_standard_label_new(_("\n\nNo effects at current track,\ncurrent time.\n")); + widget_opts.justify = LIVES_JUSTIFY_DEFAULT; lives_box_pack_start(LIVES_BOX(mt->fx_list_box), label, TRUE, TRUE, 0); } @@ -13087,44 +12791,44 @@ lives_widget_hide(mt->fx_list_scroll); } - set_poly_tab(mt,POLY_FX_STACK); + set_poly_tab(mt, POLY_FX_STACK); break; case POLY_COMP: - set_poly_tab(mt,POLY_COMP); + set_poly_tab(mt, POLY_COMP); clear_context(mt); - add_context_label(mt,(_("Drag a compositor anywhere\non the timeline\nto apply it to the selected region."))); - tab_set=TRUE; + add_context_label(mt, (_("Drag a compositor anywhere\non the timeline\nto apply it to the selected region."))); + tab_set = TRUE; ++nins; case POLY_TRANS: if (!tab_set) { - set_poly_tab(mt,POLY_TRANS); + set_poly_tab(mt, POLY_TRANS); clear_context(mt); - add_context_label(mt,(_("Drag a transition anywhere\non the timeline\nto apply it to the selected region."))); + add_context_label(mt, (_("Drag a transition anywhere\non the timeline\nto apply it to the selected region."))); } - tab_set=TRUE; + tab_set = TRUE; ++nins; case POLY_EFFECTS: if (!tab_set) { - set_poly_tab(mt,POLY_EFFECTS); + set_poly_tab(mt, POLY_EFFECTS); clear_context(mt); - add_context_label(mt,(_("Effects can be dragged\nonto blocks on the timeline."))); + add_context_label(mt, (_("Effects can be dragged\nonto blocks on the timeline."))); } - mt->fx_list_box=lives_vbox_new(FALSE,0); + mt->fx_list_box = lives_vbox_new(FALSE, 0); mt->fx_list_scroll = lives_scrolled_window_new(NULL, NULL); - lives_widget_set_hexpand(mt->fx_list_scroll,TRUE); + lives_widget_set_hexpand(mt->fx_list_scroll, TRUE); lives_scrolled_window_set_policy(LIVES_SCROLLED_WINDOW(mt->fx_list_scroll), LIVES_POLICY_AUTOMATIC, LIVES_POLICY_AUTOMATIC); lives_box_pack_start(LIVES_BOX(mt->fx_list_box), mt->fx_list_scroll, TRUE, TRUE, 0); - lives_box_pack_start(LIVES_BOX(mt->poly_box),mt->fx_list_box,TRUE,TRUE,0); + lives_box_pack_start(LIVES_BOX(mt->poly_box), mt->fx_list_box, TRUE, TRUE, 0); - mt->fx_list_vbox=lives_vbox_new(FALSE,widget_opts.packing_height); + mt->fx_list_vbox = lives_vbox_new(FALSE, widget_opts.packing_height); lives_container_set_border_width(LIVES_CONTAINER(mt->fx_list_vbox), widget_opts.border_width); lives_scrolled_window_add_with_viewport(LIVES_SCROLLED_WINDOW(mt->fx_list_scroll), mt->fx_list_vbox); lives_widget_set_bg_color(lives_bin_get_child(LIVES_BIN(mt->fx_list_scroll)), LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); - if (mt->poly_state==POLY_COMP) nins=1000000; - populate_filter_box(mt->fx_list_vbox,nins,mt); + if (mt->poly_state == POLY_COMP) nins = 1000000; + populate_filter_box(mt->fx_list_vbox, nins, mt); lives_widget_show_all(mt->fx_list_box); break; @@ -13137,7 +12841,6 @@ if (prefs->open_maximised) { lives_window_maximize(LIVES_WINDOW(mt->window)); } - } @@ -13147,41 +12850,41 @@ if (!mainw->interactive) return; - lives_widget_set_sensitive(mt->mm_menuitem,FALSE); - lives_widget_set_sensitive(mt->view_sel_events,FALSE); + lives_widget_set_sensitive(mt->mm_menuitem, FALSE); + lives_widget_set_sensitive(mt->view_sel_events, FALSE); - lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].mouse_device, + lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].mouse_device, mt->timeline, &mt->sel_x, &mt->sel_y); - timesecs=get_time_from_x(mt,mt->sel_x); - mt->region_start=mt->region_end=mt->region_init=timesecs; + timesecs = get_time_from_x(mt, mt->sel_x); + mt->region_start = mt->region_end = mt->region_init = timesecs; - mt->region_updating=TRUE; - on_timeline_update(mt->timeline_eb,NULL,mt); - mt->region_updating=FALSE; + mt->region_updating = TRUE; + on_timeline_update(mt->timeline_eb, NULL, mt); + mt->region_updating = FALSE; - lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].mouse_device, + lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].mouse_device, mt->tl_eventbox, &mt->sel_x, &mt->sel_y); lives_widget_get_position(mt->timeline_eb, &min_x, NULL); - if (mt->sel_x<min_x) mt->sel_x=min_x; - if (mt->sel_y<0.) mt->sel_y=0.; + if (mt->sel_x < min_x) mt->sel_x = min_x; + if (mt->sel_y < 0.) mt->sel_y = 0.; lives_widget_queue_draw(mt->tl_hbox); lives_widget_queue_draw(mt->timeline); - mt->tl_selecting=TRUE; - + mt->tl_selecting = TRUE; } + static void mouse_select_end(LiVESWidget *widget, LiVESXEventButton *event, lives_mt *mt) { if (!mainw->interactive) return; - mt->tl_selecting=FALSE; - lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].mouse_device, + mt->tl_selecting = FALSE; + lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].mouse_device, mt->timeline, &mt->sel_x, &mt->sel_y); - lives_widget_set_sensitive(mt->mm_menuitem,TRUE); + lives_widget_set_sensitive(mt->mm_menuitem, TRUE); lives_widget_queue_draw(mt->tl_eventbox); - on_timeline_release(mt->timeline_reg,NULL,mt); + on_timeline_release(mt->timeline_reg, NULL, mt); } @@ -13191,112 +12894,112 @@ LiVESWidget *xeventbox; LiVESWidget *checkbutton; - int x,y; - int start_x,start_y,width,height; - int current_track=mt->current_track; + int x, y; + int start_x, start_y, width, height; + int current_track = mt->current_track; - int rel_x,rel_y,min_x; - int offs_y_start,offs_y_end,xheight; + int rel_x, rel_y, min_x; + int offs_y_start, offs_y_end, xheight; register int i; if (!mainw->interactive) return; - if (mt->block_selected!=NULL) unselect_all(mt); + if (mt->block_selected != NULL) unselect_all(mt); - lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].mouse_device, + lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].mouse_device, mt->tl_eventbox, &x, &y); lives_widget_get_position(mt->timeline_eb, &min_x, NULL); - if (x<min_x) x=min_x; - if (y<0.) y=0.; + if (x < min_x) x = min_x; + if (y < 0.) y = 0.; lives_widget_queue_draw(mt->tl_hbox); - lives_widget_process_updates(mt->tl_eventbox,FALSE); + lives_widget_process_updates(mt->tl_eventbox, FALSE); - if (x>=mt->sel_x) { - start_x=mt->sel_x; - width=x-mt->sel_x; + if (x >= mt->sel_x) { + start_x = mt->sel_x; + width = x - mt->sel_x; } else { - start_x=x; - width=mt->sel_x-x; + start_x = x; + width = mt->sel_x - x; } - if (y>=mt->sel_y) { - start_y=mt->sel_y; - height=y-mt->sel_y; + if (y >= mt->sel_y) { + start_y = mt->sel_y; + height = y - mt->sel_y; } else { - start_y=y; - height=mt->sel_y-y; + start_y = y; + height = mt->sel_y - y; } - if (start_x<0) start_x=0; - if (start_y<0) start_y=0; + if (start_x < 0) start_x = 0; + if (start_y < 0) start_y = 0; cr = lives_painter_create_from_widget(mt->tl_eventbox); lives_painter_set_source_rgb(cr, 0., 0., 0.); ///< opaque black - lives_painter_rectangle(cr,start_x,start_y,width,height); + lives_painter_rectangle(cr, start_x, start_y, width, height); lives_painter_fill(cr); - for (i=0; i<mt->num_video_tracks; i++) { - xeventbox=(LiVESWidget *)lives_list_nth_data(mt->video_draws,i); - if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox),"hidden"))==0) { - xheight=lives_widget_get_allocation_height(xeventbox); - checkbutton=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox),"checkbutton"); - lives_widget_get_position(xeventbox,&rel_x,&rel_y); - if (start_y>(rel_y+xheight/2)||(start_y+height)<(rel_y+xheight/2)) { + for (i = 0; i < mt->num_video_tracks; i++) { + xeventbox = (LiVESWidget *)lives_list_nth_data(mt->video_draws, i); + if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox), "hidden")) == 0) { + xheight = lives_widget_get_allocation_height(xeventbox); + checkbutton = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox), "checkbutton"); + lives_widget_get_position(xeventbox, &rel_x, &rel_y); + if (start_y > (rel_y + xheight / 2) || (start_y + height) < (rel_y + xheight / 2)) { #ifdef ENABLE_GIW if (!prefs->lamp_buttons) { #endif if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(checkbutton))) { - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton),FALSE); - mt->current_track=current_track; + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton), FALSE); + mt->current_track = current_track; track_select(mt); } #ifdef ENABLE_GIW } else { if (giw_led_get_mode(GIW_LED(checkbutton))) { - giw_led_set_mode(GIW_LED(checkbutton),FALSE); - mt->current_track=current_track; + giw_led_set_mode(GIW_LED(checkbutton), FALSE); + mt->current_track = current_track; track_select(mt); } } #endif continue; } - offs_y_start=0; - offs_y_end=xheight; + offs_y_start = 0; + offs_y_end = xheight; - if (start_y<rel_y+xheight) { - offs_y_start=start_y-rel_y; - lives_painter_move_to(cr,start_x-rel_x,offs_y_start); - lives_painter_line_to(cr,start_x+width-rel_x-1, offs_y_start); - } - if (start_y+height<rel_y+xheight) { - offs_y_end=start_y-rel_y+height; - lives_painter_move_to(cr,start_x-rel_x,offs_y_end); - lives_painter_line_to(cr,start_x+width-rel_x-1, offs_y_end); - } - - lives_painter_move_to(cr,start_x-rel_x,offs_y_start); - lives_painter_line_to(cr,start_x-rel_x,offs_y_end); - lives_painter_move_to(cr,start_x-rel_x-1,offs_y_start); - lives_painter_line_to(cr,start_x-rel_x-1,offs_y_end); + if (start_y < rel_y + xheight) { + offs_y_start = start_y - rel_y; + lives_painter_move_to(cr, start_x - rel_x, offs_y_start); + lives_painter_line_to(cr, start_x + width - rel_x - 1, offs_y_start); + } + if (start_y + height < rel_y + xheight) { + offs_y_end = start_y - rel_y + height; + lives_painter_move_to(cr, start_x - rel_x, offs_y_end); + lives_painter_line_to(cr, start_x + width - rel_x - 1, offs_y_end); + } + + lives_painter_move_to(cr, start_x - rel_x, offs_y_start); + lives_painter_line_to(cr, start_x - rel_x, offs_y_end); + lives_painter_move_to(cr, start_x - rel_x - 1, offs_y_start); + lives_painter_line_to(cr, start_x - rel_x - 1, offs_y_end); lives_painter_stroke(cr); #ifdef ENABLE_GIW if (!prefs->lamp_buttons) { #endif if (!lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(checkbutton))) { - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton),TRUE); - mt->current_track=current_track; + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton), TRUE); + mt->current_track = current_track; track_select(mt); } #ifdef ENABLE_GIW } else { if (!giw_led_get_mode(GIW_LED(checkbutton))) { - giw_led_set_mode(GIW_LED(checkbutton),TRUE); - mt->current_track=current_track; + giw_led_set_mode(GIW_LED(checkbutton), TRUE); + mt->current_track = current_track; track_select(mt); } } @@ -13306,18 +13009,14 @@ lives_painter_destroy(cr); - if (widget!=mt->timeline_eb) { - mt->region_updating=TRUE; - on_timeline_update(mt->timeline_eb,NULL,mt); - mt->region_updating=FALSE; + if (widget != mt->timeline_eb) { + mt->region_updating = TRUE; + on_timeline_update(mt->timeline_eb, NULL, mt); + mt->region_updating = FALSE; } - - } - - void do_block_context(lives_mt *mt, LiVESXEventButton *event, track_rect *block) { // pop up a context menu when a selected block is right clicked on @@ -13326,14 +13025,14 @@ LiVESWidget *list_fx_here; LiVESWidget *selblock; LiVESWidget *avol; - LiVESWidget *menu=lives_menu_new(); + LiVESWidget *menu = lives_menu_new(); int error; //mouse_select_end(NULL,mt); if (!mainw->interactive) return; - lives_menu_set_title(LIVES_MENU(menu),_("Selected Block/Frame")); + lives_menu_set_title(LIVES_MENU(menu), _("Selected Block/Frame")); selblock = lives_menu_item_new_with_mnemonic(_("_Select this Block")); lives_container_add(LIVES_CONTAINER(menu), selblock); @@ -13342,8 +13041,6 @@ LIVES_GUI_CALLBACK(selblock_cb), (livespointer)mt); - - if (block->ordered) { // TODO split_here = lives_menu_item_new_with_mnemonic(_("_Split Block Here")); lives_container_add(LIVES_CONTAINER(menu), split_here); @@ -13360,9 +13057,9 @@ LIVES_GUI_CALLBACK(list_fx_here_cb), (livespointer)mt); - if (is_audio_eventbox(block->eventbox)&&mt->avol_init_event!=NULL) { - char *avol_fxname=weed_get_string_value(get_weed_filter(mt->avol_fx),WEED_LEAF_NAME,&error); - char *text=lives_strdup_printf(_("_Adjust %s"),avol_fxname); + if (is_audio_eventbox(block->eventbox) && mt->avol_init_event != NULL) { + char *avol_fxname = weed_get_string_value(get_weed_filter(mt->avol_fx), WEED_LEAF_NAME, &error); + char *text = lives_strdup_printf(_("_Adjust %s"), avol_fxname); avol = lives_menu_item_new_with_mnemonic(text); lives_free(avol_fxname); lives_free(text); @@ -13372,20 +13069,18 @@ LIVES_GUI_CALLBACK(mt_avol_quick), (livespointer)mt); - if (mt->event_list==NULL) lives_widget_set_sensitive(avol,FALSE); - + if (mt->event_list == NULL) lives_widget_set_sensitive(avol, FALSE); } - delete_block = lives_menu_item_new_with_mnemonic(_("_Delete this Block")); lives_container_add(LIVES_CONTAINER(menu), delete_block); - if (mt->is_rendering) lives_widget_set_sensitive(delete_block,FALSE); + if (mt->is_rendering) lives_widget_set_sensitive(delete_block, FALSE); lives_signal_connect(LIVES_GUI_OBJECT(delete_block), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(delete_block_cb), (livespointer)mt); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { set_child_alt_colour(menu, TRUE); lives_widget_set_bg_color(menu, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_fg_color(menu, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); @@ -13393,35 +13088,34 @@ lives_widget_show_all(menu); lives_menu_popup(LIVES_MENU(menu), event); - } void do_track_context(lives_mt *mt, LiVESXEventButton *event, double timesecs, int track) { // pop up a context menu when track is right clicked on - LiVESWidget *insert_here,*avol; - LiVESWidget *menu=lives_menu_new(); + LiVESWidget *insert_here, *avol; + LiVESWidget *menu = lives_menu_new(); - boolean has_something=FALSE; - boolean needs_idlefunc=FALSE; + boolean has_something = FALSE; + boolean needs_idlefunc = FALSE; if (!mainw->interactive) return; - if (mt->idlefunc>0) { + if (mt->idlefunc > 0) { lives_source_remove(mt->idlefunc); - mt->idlefunc=0; - needs_idlefunc=TRUE; + mt->idlefunc = 0; + needs_idlefunc = TRUE; } - mouse_select_end(NULL,event,mt); + mouse_select_end(NULL, event, mt); - lives_menu_set_title(LIVES_MENU(menu),_("Selected Frame")); + lives_menu_set_title(LIVES_MENU(menu), _("Selected Frame")); - if (mt->file_selected>0&&((track<0&&mainw->files[mt->file_selected]->achans>0&& - mainw->files[mt->file_selected]->laudio_time>0.)|| - (track>=0&&mainw->files[mt->file_selected]->frames>0))) { - if (track>=0) { + if (mt->file_selected > 0 && ((track < 0 && mainw->files[mt->file_selected]->achans > 0 && + mainw->files[mt->file_selected]->laudio_time > 0.) || + (track >= 0 && mainw->files[mt->file_selected]->frames > 0))) { + if (track >= 0) { insert_here = lives_menu_item_new_with_mnemonic(_("_Insert Here")); lives_signal_connect(LIVES_GUI_OBJECT(insert_here), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(insert_at_ctx_cb), @@ -13433,14 +13127,13 @@ (livespointer)mt); } lives_container_add(LIVES_CONTAINER(menu), insert_here); - has_something=TRUE; + has_something = TRUE; } - - if (mt->audio_draws!=NULL&&(track<0||mt->opts.pertrack_audio)&&mt->event_list!=NULL) { + if (mt->audio_draws != NULL && (track < 0 || mt->opts.pertrack_audio) && mt->event_list != NULL) { int error; - char *avol_fxname=weed_get_string_value(get_weed_filter(mt->avol_fx),WEED_LEAF_NAME,&error); - char *text=lives_strdup_printf(_("_Adjust %s"),avol_fxname); + char *avol_fxname = weed_get_string_value(get_weed_filter(mt->avol_fx), WEED_LEAF_NAME, &error); + char *text = lives_strdup_printf(_("_Adjust %s"), avol_fxname); avol = lives_menu_item_new_with_mnemonic(text); lives_free(avol_fxname); lives_free(text); @@ -13450,15 +13143,13 @@ LIVES_GUI_CALLBACK(mt_avol_quick), (livespointer)mt); - if (mt->event_list==NULL) lives_widget_set_sensitive(avol,FALSE); + if (mt->event_list == NULL) lives_widget_set_sensitive(avol, FALSE); - - has_something=TRUE; + has_something = TRUE; } - if (has_something) { - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { set_child_alt_colour(menu, TRUE); lives_widget_set_bg_color(menu, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_fg_color(menu, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); @@ -13470,21 +13161,17 @@ lives_signal_connect(LIVES_GUI_OBJECT(menu), LIVES_WIDGET_UNMAP_SIGNAL, LIVES_GUI_CALLBACK(rdrw_cb), (livespointer)mt); - - } else lives_widget_destroy(menu); if (needs_idlefunc) { - mt->idlefunc=mt_idle_add(mt); + mt->idlefunc = mt_idle_add(mt); } - - } boolean on_track_release(LiVESWidget *eventbox, LiVESXEventButton *event, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - weed_timecode_t tc,tcpp; + lives_mt *mt = (lives_mt *)user_data; + weed_timecode_t tc, tcpp; LiVESWidget *xeventbox; LiVESWidget *oeventbox; @@ -13494,226 +13181,227 @@ double timesecs; - boolean got_track=FALSE; - boolean needs_idlefunc=FALSE; + boolean got_track = FALSE; + boolean needs_idlefunc = FALSE; - int x,y; - int track=0; + int x, y; + int track = 0; - int win_x,win_y; - int old_track=mt->current_track; + int win_x, win_y; + int old_track = mt->current_track; register int i; if (!mainw->interactive) return FALSE; - if (mt->idlefunc>0) { + if (mt->idlefunc > 0) { lives_source_remove(mt->idlefunc); - mt->idlefunc=0; - needs_idlefunc=TRUE; + mt->idlefunc = 0; + needs_idlefunc = TRUE; } - lives_set_cursor_style(LIVES_CURSOR_BUSY,NULL); + lives_set_cursor_style(LIVES_CURSOR_BUSY, NULL); - lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].mouse_device, + lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].mouse_device, eventbox, &x, &y); - timesecs=get_time_from_x(mt,x); - tc=timesecs*U_SECL; - + timesecs = get_time_from_x(mt, x); + tc = timesecs * U_SECL; - window=lives_display_get_window_at_pointer - ((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].mouse_device, - mt->display,&win_x,&win_y); - - if (cfile->achans>0) { - for (i=0; i<lives_list_length(mt->audio_draws); i++) { - xeventbox=(LiVESWidget *)lives_list_nth_data(mt->audio_draws,i); - oeventbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox),"owner"); - if (i>=mt->opts.back_audio_tracks&&!LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(oeventbox),"expanded"))) continue; - xlabelbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox),"labelbox"); - xahbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox),"ahbox"); - if (lives_widget_get_xwindow(xeventbox)==window||lives_widget_get_xwindow(xlabelbox)==window||lives_widget_get_xwindow(xahbox)==window) { - track=i-1; - got_track=TRUE; - mt->aud_track_selected=TRUE; + window = lives_display_get_window_at_pointer + ((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].mouse_device, + mt->display, &win_x, &win_y); + + if (cfile->achans > 0) { + for (i = 0; i < lives_list_length(mt->audio_draws); i++) { + xeventbox = (LiVESWidget *)lives_list_nth_data(mt->audio_draws, i); + oeventbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox), "owner"); + if (i >= mt->opts.back_audio_tracks && + !LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(oeventbox), "expanded"))) continue; + xlabelbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox), "labelbox"); + xahbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox), "ahbox"); + if (lives_widget_get_xwindow(xeventbox) == window || lives_widget_get_xwindow(xlabelbox) == window || + lives_widget_get_xwindow(xahbox) == window) { + track = i - 1; + got_track = TRUE; + mt->aud_track_selected = TRUE; break; } } } - if (track!=-1) { - for (i=0; i<lives_list_length(mt->video_draws); i++) { - xeventbox=(LiVESWidget *)lives_list_nth_data(mt->video_draws,i); - xlabelbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox),"labelbox"); - xahbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox),"ahbox"); - if (lives_widget_get_xwindow(xeventbox)==window||lives_widget_get_xwindow(xlabelbox)==window||lives_widget_get_xwindow(xahbox)==window) { - track=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox),"layer_number")); - mt->aud_track_selected=FALSE; - got_track=TRUE; + if (track != -1) { + for (i = 0; i < lives_list_length(mt->video_draws); i++) { + xeventbox = (LiVESWidget *)lives_list_nth_data(mt->video_draws, i); + xlabelbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox), "labelbox"); + xahbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox), "ahbox"); + if (lives_widget_get_xwindow(xeventbox) == window || lives_widget_get_xwindow(xlabelbox) == window || + lives_widget_get_xwindow(xahbox) == window) { + track = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox), "layer_number")); + mt->aud_track_selected = FALSE; + got_track = TRUE; break; } } } - if (mt->opts.mouse_mode==MOUSE_MODE_SELECT) { - mouse_select_end(eventbox,event,mt); - lives_signal_handler_block(mt->tl_eventbox,mt->mouse_mot2); - mt->sel_y-=y+2; + if (mt->opts.mouse_mode == MOUSE_MODE_SELECT) { + mouse_select_end(eventbox, event, mt); + lives_signal_handler_block(mt->tl_eventbox, mt->mouse_mot2); + mt->sel_y -= y + 2; } else { - if (mt->hotspot_x!=0||mt->hotspot_y!=0) { + if (mt->hotspot_x != 0 || mt->hotspot_y != 0) { LiVESXScreen *screen; - int abs_x,abs_y; + int abs_x, abs_y; - int height=lives_widget_get_allocation_height(LIVES_WIDGET(lives_list_nth_data(mt->video_draws,0))); - lives_display_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].mouse_device, - mt->display,&screen,&abs_x,&abs_y,NULL); - lives_display_warp_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].mouse_device, - mt->display,screen,abs_x+mt->hotspot_x,abs_y+mt->hotspot_y-height/2); - mt->hotspot_x=mt->hotspot_y=0; + int height = lives_widget_get_allocation_height(LIVES_WIDGET(lives_list_nth_data(mt->video_draws, 0))); + lives_display_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].mouse_device, + mt->display, &screen, &abs_x, &abs_y, NULL); + lives_display_warp_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].mouse_device, + mt->display, screen, abs_x + mt->hotspot_x, abs_y + mt->hotspot_y - height / 2); + mt->hotspot_x = mt->hotspot_y = 0; // we need to call this to warp the pointer lives_widget_context_update(); } if (doubleclick) { // this is a double-click - mt->putative_block=get_block_from_time(eventbox,timesecs,mt); + mt->putative_block = get_block_from_time(eventbox, timesecs, mt); select_block(mt); - mt->putative_block=NULL; - doubleclick=FALSE; + mt->putative_block = NULL; + doubleclick = FALSE; goto track_rel_done; } - if (got_track&&!mt->is_rendering&&mt->putative_block!=NULL&&mainw->playing_file==-1&& - event->button==1) { + if (got_track && !mt->is_rendering && mt->putative_block != NULL && mainw->playing_file == -1 && + event->button == 1) { weed_timecode_t start_tc; mt_desensitise(mt); - start_tc=get_event_timecode(mt->putative_block->start_event); + start_tc = get_event_timecode(mt->putative_block->start_event); // timecodes per pixel - tcpp=U_SEC*((mt->tl_max-mt->tl_min)/ - (double)lives_widget_get_allocation_width(LIVES_WIDGET(lives_list_nth_data(mt->video_draws,0)))); + tcpp = U_SEC * ((mt->tl_max - mt->tl_min) / + (double)lives_widget_get_allocation_width(LIVES_WIDGET(lives_list_nth_data(mt->video_draws, 0)))); // need to move at least 1.5 pixels, or to another track - if ((track!=mt->current_track||(tc-start_tc>(tcpp*3/2))||(start_tc-tc>(tcpp*3/2)))&& - ((old_track<0&&track<0)||(old_track>=0&&track>=0))) { - move_block(mt,mt->putative_block,timesecs,old_track,track); - mt->putative_block=NULL; + if ((track != mt->current_track || (tc - start_tc > (tcpp * 3 / 2)) || (start_tc - tc > (tcpp * 3 / 2))) && + ((old_track < 0 && track < 0) || (old_track >= 0 && track >= 0))) { + move_block(mt, mt->putative_block, timesecs, old_track, track); + mt->putative_block = NULL; - lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].mouse_device, + lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].mouse_device, eventbox, &x, &y); - timesecs=get_time_from_x(mt,x); + timesecs = get_time_from_x(mt, x); - mt_tl_move(mt,timesecs); + mt_tl_move(mt, timesecs); } } - } track_rel_done: - if (mainw->playing_file==-1) mt_sensitise(mt); - mt->hotspot_x=mt->hotspot_y=0; - mt->putative_block=NULL; + if (mainw->playing_file == -1) mt_sensitise(mt); + mt->hotspot_x = mt->hotspot_y = 0; + mt->putative_block = NULL; - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); - lives_widget_set_sensitive(mt->mm_menuitem,TRUE); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); + lives_widget_set_sensitive(mt->mm_menuitem, TRUE); if (needs_idlefunc) { - mt->idlefunc=mt_idle_add(mt); + mt->idlefunc = mt_idle_add(mt); } return TRUE; } - - boolean on_track_header_click(LiVESWidget *widget, LiVESXEventButton *event, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; if (!mainw->interactive) return FALSE; - if (mt->opts.mouse_mode==MOUSE_MODE_SELECT) { - mouse_select_start(widget,event,mt); - lives_signal_handler_unblock(widget,mt->mouse_mot1); + if (mt->opts.mouse_mode == MOUSE_MODE_SELECT) { + mouse_select_start(widget, event, mt); + lives_signal_handler_unblock(widget, mt->mouse_mot1); } return TRUE; } + boolean on_track_header_release(LiVESWidget *widget, LiVESXEventButton *event, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; if (!mainw->interactive) return FALSE; - if (mt->opts.mouse_mode==MOUSE_MODE_SELECT) { - mouse_select_end(widget,event,mt); - lives_signal_handler_block(widget,mt->mouse_mot1); + if (mt->opts.mouse_mode == MOUSE_MODE_SELECT) { + mouse_select_end(widget, event, mt); + lives_signal_handler_block(widget, mt->mouse_mot1); } return TRUE; } + boolean on_track_between_click(LiVESWidget *widget, LiVESXEventButton *event, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; if (!mainw->interactive) return FALSE; - if (mt->opts.mouse_mode==MOUSE_MODE_SELECT) { - mouse_select_start(widget,event,mt); - lives_signal_handler_unblock(mt->tl_eventbox,mt->mouse_mot2); + if (mt->opts.mouse_mode == MOUSE_MODE_SELECT) { + mouse_select_start(widget, event, mt); + lives_signal_handler_unblock(mt->tl_eventbox, mt->mouse_mot2); } return TRUE; } + boolean on_track_between_release(LiVESWidget *widget, LiVESXEventButton *event, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; if (!mainw->interactive) return FALSE; - if (mt->opts.mouse_mode==MOUSE_MODE_SELECT) { - mouse_select_end(widget,event,mt); - lives_signal_handler_block(mt->tl_eventbox,mt->mouse_mot2); + if (mt->opts.mouse_mode == MOUSE_MODE_SELECT) { + mouse_select_end(widget, event, mt); + lives_signal_handler_block(mt->tl_eventbox, mt->mouse_mot2); } return TRUE; } - boolean on_track_click(LiVESWidget *eventbox, LiVESXEventButton *event, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; track_rect *block; double timesecs; - int x,y; + int x, y; int track; - int filenum=-1; + int filenum = -1; //doubleclick=FALSE; if (!mainw->interactive) return FALSE; - mt->aud_track_selected=is_audio_eventbox(eventbox); + mt->aud_track_selected = is_audio_eventbox(eventbox); - lives_widget_set_sensitive(mt->mm_menuitem,FALSE); + lives_widget_set_sensitive(mt->mm_menuitem, FALSE); - lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].mouse_device, + lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].mouse_device, eventbox, &x, &y); - timesecs=get_time_from_x(mt,x+mt->hotspot_x); + timesecs = get_time_from_x(mt, x + mt->hotspot_x); - if (cfile->achans==0||mt->audio_draws==NULL||(mt->opts.back_audio_tracks==0||eventbox!=mt->audio_draws->data)) - track=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"layer_number")); - else track=-1; - block=mt->putative_block=get_block_from_time(eventbox,timesecs,mt); + if (cfile->achans == 0 || mt->audio_draws == NULL || (mt->opts.back_audio_tracks == 0 || eventbox != mt->audio_draws->data)) + track = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "layer_number")); + else track = -1; + block = mt->putative_block = get_block_from_time(eventbox, timesecs, mt); unselect_all(mt); // set all blocks unselected - if (mt->opts.mouse_mode==MOUSE_MODE_SELECT&&event->type==LIVES_BUTTON_PRESS) { - mouse_select_start(eventbox,event,mt); - lives_signal_handler_unblock(mt->tl_eventbox,mt->mouse_mot2); + if (mt->opts.mouse_mode == MOUSE_MODE_SELECT && event->type == LIVES_BUTTON_PRESS) { + mouse_select_start(eventbox, event, mt); + lives_signal_handler_unblock(mt->tl_eventbox, mt->mouse_mot2); } else { - if (lives_event_get_time((LiVESXEvent *)event)-last_press_time<LIVES_DCLICK_TIME) { - doubleclick=TRUE; + if (lives_event_get_time((LiVESXEvent *)event) - last_press_time < LIVES_DCLICK_TIME) { + doubleclick = TRUE; return TRUE; } else { // single click, TODO - locate the frame for the track in event_list - if (mainw->playing_file==-1) { - mt->fm_edit_event=NULL; - mt_tl_move(mt,timesecs); + if (mainw->playing_file == -1) { + mt->fm_edit_event = NULL; + mt_tl_move(mt, timesecs); } // for a double click, gdk normally sends 2 single click events, @@ -13723,611 +13411,488 @@ // the second single click and then we return here // however, this is quite useful as we can skip the next bit - if (event->time!=dclick_time) { - show_track_info(mt,eventbox,track,timesecs); - if (block!=NULL) { + if (event->time != dclick_time) { + show_track_info(mt, eventbox, track, timesecs); + if (block != NULL) { if (!is_audio_eventbox(eventbox)) - filenum=get_frame_event_clip(block->start_event,track); - else filenum=get_audio_frame_clip(block->start_event,-1); - if (filenum!=mainw->scrap_file&&filenum!=mainw->ascrap_file) { - mt->clip_selected=mt_clip_from_file(mt,filenum); - mt_clip_select(mt,TRUE); + filenum = get_frame_event_clip(block->start_event, track); + else filenum = get_audio_frame_clip(block->start_event, -1); + if (filenum != mainw->scrap_file && filenum != mainw->ascrap_file) { + mt->clip_selected = mt_clip_from_file(mt, filenum); + mt_clip_select(mt, TRUE); } - if (event->button!=3&&!mt->is_rendering) { - double start_secs,end_secs; + if (event->button != 3 && !mt->is_rendering) { + double start_secs, end_secs; LiVESXScreen *screen; - int abs_x,abs_y; + int abs_x, abs_y; - int ebwidth=lives_widget_get_allocation_width(mt->timeline); + int ebwidth = lives_widget_get_allocation_width(mt->timeline); - double width=((end_secs=(get_event_timecode(block->end_event)/U_SEC))- - (start_secs=(get_event_timecode(block->start_event)/U_SEC))+1./mt->fps); + double width = ((end_secs = (get_event_timecode(block->end_event) / U_SEC)) - + (start_secs = (get_event_timecode(block->start_event) / U_SEC)) + 1. / mt->fps); int height; // start point must be on timeline to move a block - if (block!=NULL&&(mt->tl_min*U_SEC>get_event_timecode(block->start_event))) { - mt->putative_block=NULL; + if (block != NULL && (mt->tl_min * U_SEC > get_event_timecode(block->start_event))) { + mt->putative_block = NULL; return TRUE; } if (!is_audio_eventbox(eventbox)) - height=lives_widget_get_allocation_height(LIVES_WIDGET(lives_list_nth_data(mt->video_draws,0))); - else height=lives_widget_get_allocation_height(LIVES_WIDGET(mt->audio_draws->data)); + height = lives_widget_get_allocation_height(LIVES_WIDGET(lives_list_nth_data(mt->video_draws, 0))); + else height = lives_widget_get_allocation_height(LIVES_WIDGET(mt->audio_draws->data)); - width=(width/(mt->tl_max-mt->tl_min)*(double)ebwidth); - if (width>ebwidth) width=ebwidth; - if (width<2) width=2; - - mt->hotspot_x=x-(int)((ebwidth*((double)start_secs-mt->tl_min)/(mt->tl_max-mt->tl_min))+.5); - mt->hotspot_y=y; - lives_display_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].mouse_device, - mt->display,&screen,&abs_x,&abs_y,NULL); - lives_display_warp_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].mouse_device, - mt->display,screen,abs_x-mt->hotspot_x,abs_y-y+height/2); - if (track>=0&&!mt->aud_track_selected) { - if (mainw->files[filenum]->clip_type==CLIP_TYPE_FILE) { - lives_clip_data_t *cdata=((lives_decoder_t *)mainw->files[filenum]->ext_src)->cdata; - if (cdata!=NULL&&!(cdata->seek_flag&LIVES_SEEK_FAST)) { - mt_set_cursor_style(mt,LIVES_CURSOR_VIDEO_BLOCK,width,height,filenum,0,height/2); + width = (width / (mt->tl_max - mt->tl_min) * (double)ebwidth); + if (width > ebwidth) width = ebwidth; + if (width < 2) width = 2; + + mt->hotspot_x = x - (int)((ebwidth * ((double)start_secs - mt->tl_min) / (mt->tl_max - mt->tl_min)) + .5); + mt->hotspot_y = y; + lives_display_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].mouse_device, + mt->display, &screen, &abs_x, &abs_y, NULL); + lives_display_warp_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].mouse_device, + mt->display, screen, abs_x - mt->hotspot_x, abs_y - y + height / 2); + if (track >= 0 && !mt->aud_track_selected) { + if (mainw->files[filenum]->clip_type == CLIP_TYPE_FILE) { + lives_clip_data_t *cdata = ((lives_decoder_t *)mainw->files[filenum]->ext_src)->cdata; + if (cdata != NULL && !(cdata->seek_flag & LIVES_SEEK_FAST)) { + mt_set_cursor_style(mt, LIVES_CURSOR_VIDEO_BLOCK, width, height, filenum, 0, height / 2); } else { - mt_set_cursor_style(mt,LIVES_CURSOR_BLOCK,width,height,filenum,0,height/2); + mt_set_cursor_style(mt, LIVES_CURSOR_BLOCK, width, height, filenum, 0, height / 2); } } else { - mt_set_cursor_style(mt,LIVES_CURSOR_BLOCK,width,height,filenum,0,height/2); + mt_set_cursor_style(mt, LIVES_CURSOR_BLOCK, width, height, filenum, 0, height / 2); } - } else mt_set_cursor_style(mt,LIVES_CURSOR_AUDIO_BLOCK,width,height,filenum,0,height/2); + } else mt_set_cursor_style(mt, LIVES_CURSOR_AUDIO_BLOCK, width, height, filenum, 0, height / 2); } } } else { - mt->putative_block=NULL; // please don't move the block + mt->putative_block = NULL; // please don't move the block } } } - mt->current_track=track; + mt->current_track = track; track_select(mt); - if (event->button==3&&mainw->playing_file==-1) { - lives_widget_set_sensitive(mt->mm_menuitem,TRUE); - mt->context_time=timesecs; - if (block!=NULL) { + if (event->button == 3 && mainw->playing_file == -1) { + lives_widget_set_sensitive(mt->mm_menuitem, TRUE); + mt->context_time = timesecs; + if (block != NULL) { // context menu for a selected block - mt->putative_block=block; - do_block_context(mt,event,block); + mt->putative_block = block; + do_block_context(mt, event, block); return TRUE; } else { - do_track_context(mt,event,timesecs,track); + do_track_context(mt, event, timesecs, track); return TRUE; } } - last_press_time=lives_event_get_time((LiVESXEvent *)event); + last_press_time = lives_event_get_time((LiVESXEvent *)event); return TRUE; } + boolean on_track_move(LiVESWidget *widget, LiVESXEventMotion *event, livespointer user_data) { // used for mouse mode SELECT - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; if (!mainw->interactive) return FALSE; - if (mt->opts.mouse_mode==MOUSE_MODE_SELECT) mouse_select_move(widget,event,mt); + if (mt->opts.mouse_mode == MOUSE_MODE_SELECT) mouse_select_move(widget, event, mt); return TRUE; } + boolean on_track_header_move(LiVESWidget *widget, LiVESXEventMotion *event, livespointer user_data) { // used for mouse mode SELECT - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; if (!mainw->interactive) return FALSE; - if (mt->opts.mouse_mode==MOUSE_MODE_SELECT) mouse_select_move(widget,event,mt); + if (mt->opts.mouse_mode == MOUSE_MODE_SELECT) mouse_select_move(widget, event, mt); return TRUE; } -void unpaint_line(lives_mt *mt, LiVESWidget *eventbox) { - uint64_t bth,btl; - - double ocurrtime; +void unpaint_line(lives_mt *mt, LiVESWidget *eventbox) { int xoffset; int ebwidth; if (mt->redraw_block) return; // don't update during expose event, otherwise we might leave lines if (!lives_widget_is_visible(eventbox)) return; + if (!LIVES_IS_WINDOW(mt->window) || !mt->is_ready) return; + if ((xoffset = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "has_line"))) < 0) return; - ebwidth=lives_widget_get_allocation_width(eventbox); + ebwidth = lives_widget_get_allocation_width(mt->timeline); - bth=((uint64_t)((uint32_t)(LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"backup_timepos_h")))))<<32; - btl=(uint64_t)((uint32_t)(LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"backup_timepos_l")))); - ocurrtime=(bth+btl)/U_SEC; - xoffset=(ocurrtime-mt->tl_min)/(mt->tl_max-mt->tl_min)*(double)ebwidth+.5; - - if (xoffset>=0&&xoffset<ebwidth) { - lives_widget_queue_draw_area(eventbox,xoffset-4,0,9,lives_widget_get_allocation_height(eventbox)); - lives_widget_process_updates(eventbox,TRUE); + if (xoffset < ebwidth) { + lives_widget_queue_draw_area(eventbox, xoffset - 4, 0, 9, lives_widget_get_allocation_height(eventbox)); + lives_widget_process_updates(eventbox, TRUE); } + + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "has_line", LIVES_INT_TO_POINTER(-1)); } void unpaint_lines(lives_mt *mt) { - int len=lives_list_length(mt->video_draws); - int i; - LiVESWidget *eventbox,*xeventbox; - boolean is_video=FALSE; - - for (i=-1; i<len; i++) { - if (i==-1) { - if (mt->audio_draws==NULL||(eventbox=(LiVESWidget *)mt->audio_draws->data)==NULL) continue; - } else { - eventbox=(LiVESWidget *)lives_list_nth_data(mt->video_draws,i); - is_video=TRUE; - } - if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"hidden"))==0) { - unpaint_line(mt,eventbox); - } - if (is_video) { - if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"expanded"))) { - eventbox=LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"atrack")); - unpaint_line(mt,eventbox); - } else continue; - } - if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"expanded"))) { - xeventbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"achan0"); - unpaint_line(mt,xeventbox); - if (cfile->achans>1) { - xeventbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"achan1"); - unpaint_line(mt,xeventbox); - } - } - } + if (!mt->is_ready) return; + unpaint_line(mt, mt->timeline_table); + return; } -static void paint_lines(lives_mt *mt, double currtime, boolean unpaint) { +static void paint_line(lives_mt *mt, LiVESWidget *eventbox, int offset, double currtime) { lives_painter_t *cr; - LiVESWidget *eventbox=NULL,*aeventbox=NULL; + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "has_line", LIVES_INT_TO_POINTER(offset)); - boolean expanded=FALSE; - boolean is_video=FALSE; + cr = lives_painter_create_from_widget(eventbox); - int len=lives_list_length(mt->video_draws); - int ebwidth=lives_widget_get_allocation_width(mt->timeline); - int offset; - - register int i; - - if (currtime<mt->tl_min||currtime>mt->tl_max) return; - - offset=(currtime-mt->tl_min)/(mt->tl_max-mt->tl_min)*(double)ebwidth; - - for (i=-mt->opts.back_audio_tracks; i<len; i++) { - if (i==-1) { - if (mt->audio_draws==NULL||((aeventbox=eventbox=(LiVESWidget *)mt->audio_draws->data)==NULL)) continue; - } else { - eventbox=(LiVESWidget *)lives_list_nth_data(mt->video_draws,i); - is_video=TRUE; - } - expanded=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"expanded")); - if (lives_widget_is_visible(eventbox)) { - if (unpaint) unpaint_line(mt,eventbox); - - if (offset>0&&offset<ebwidth) { - - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"backup_timepos_h", - LIVES_INT_TO_POINTER((int)(((uint64_t)(currtime*U_SEC))>>32))); // upper 4 bytes - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"backup_timepos_l", - LIVES_INT_TO_POINTER((uint32_t)(((uint64_t)(currtime*U_SEC))&0XFFFFFFFF))); // lower 4 bytes - - cr = lives_painter_create_from_widget(eventbox); - - - if (lives_painter_set_operator(cr, LIVES_PAINTER_OPERATOR_DIFFERENCE)) - lives_painter_set_source_rgb(cr,1.,1.,1.); - else - lives_painter_set_source_rgb(cr,0.,0.,0.); + if (lives_painter_set_operator(cr, LIVES_PAINTER_OPERATOR_DIFFERENCE)) + lives_painter_set_source_rgb(cr, 1., 1., 1.); + else + lives_painter_set_source_rgb(cr, 0., 0., 0.); - lives_painter_set_line_width(cr,1.); - - lives_painter_move_to(cr,offset,0.); - lives_painter_line_to(cr,offset,lives_widget_get_allocation_height(eventbox)); - - lives_painter_stroke(cr); - lives_painter_destroy(cr); - } - } - if (expanded) { - if (is_video) { - aeventbox=LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"atrack")); - expanded=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(aeventbox),"expanded")); - if (lives_widget_is_visible(aeventbox)) { - if (unpaint) unpaint_line(mt,aeventbox); - - if (offset>0&&offset<ebwidth) { - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(aeventbox),"backup_timepos_h", - LIVES_INT_TO_POINTER((int)(((uint64_t)(currtime*U_SEC))>>32))); // upper 4 bytes - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(aeventbox),"backup_timepos_l", - LIVES_INT_TO_POINTER((uint32_t)(((uint64_t)(currtime*U_SEC))&0XFFFFFFFF))); // lower 4 bytes - - cr = lives_painter_create_from_widget(aeventbox); - - if (lives_painter_set_operator(cr, LIVES_PAINTER_OPERATOR_DIFFERENCE)) - lives_painter_set_source_rgb(cr,1.,1.,1.); - else - lives_painter_set_source_rgb(cr,0.,0.,0.); - - lives_painter_move_to(cr,offset,0.); - lives_painter_line_to(cr,offset,lives_widget_get_allocation_height(aeventbox)); - - lives_painter_stroke(cr); - lives_painter_destroy(cr); - } - } - } - if (expanded) eventbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(aeventbox),"achan0"); - else continue; - if (lives_widget_is_visible(eventbox)) { - if (unpaint) unpaint_line(mt,eventbox); + lives_painter_set_line_width(cr, 1.); - if (offset>0&&offset<ebwidth) { - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"backup_timepos_h", - LIVES_INT_TO_POINTER((int)(((uint64_t)(currtime*U_SEC))>>32))); // upper 4 bytes - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"backup_timepos_l", - LIVES_INT_TO_POINTER((uint32_t)(((uint64_t)(currtime*U_SEC))&0XFFFFFFFF))); // lower 4 bytes + lives_painter_rectangle(cr, offset, 0., 1., lives_widget_get_allocation_height(eventbox)); - cr = lives_painter_create_from_widget(eventbox); - - if (lives_painter_set_operator(cr, LIVES_PAINTER_OPERATOR_DIFFERENCE)) - lives_painter_set_source_rgb(cr,1.,1.,1.); - else - lives_painter_set_source_rgb(cr,0.,0.,0.); + lives_painter_fill(cr); + lives_painter_destroy(cr); +} - lives_painter_move_to(cr,offset,0.); - lives_painter_line_to(cr,offset,lives_widget_get_allocation_height(eventbox)); - lives_painter_stroke(cr); - lives_painter_destroy(cr); +static void paint_lines(lives_mt *mt, double currtime, boolean unpaint) { + int ebwidth; + int offset, off_x; - } - } - // expanded right audio - if (cfile->achans>1) eventbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(aeventbox),"achan1"); - else continue; - if (lives_widget_is_visible(eventbox)) { - if (unpaint) unpaint_line(mt,eventbox); + if (!mt->is_ready) return; - if (offset>0&&offset<ebwidth) { - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"backup_timepos_h", - LIVES_INT_TO_POINTER((int)(((uint64_t)(currtime*U_SEC))>>32))); // upper 4 bytes - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"backup_timepos_l", - LIVES_INT_TO_POINTER((uint32_t)(((uint64_t)(currtime*U_SEC))&0XFFFFFFFF))); // lower 4 bytes + ebwidth = lives_widget_get_allocation_width(mt->timeline); - cr = lives_painter_create_from_widget(eventbox); + if (currtime < mt->tl_min || currtime > mt->tl_max) return; - if (lives_painter_set_operator(cr, LIVES_PAINTER_OPERATOR_DIFFERENCE)) - lives_painter_set_source_rgb(cr,1.,1.,1.); - else - lives_painter_set_source_rgb(cr,0.,0.,0.); + offset = (currtime - mt->tl_min) / (mt->tl_max - mt->tl_min) * (double)ebwidth; - lives_painter_move_to(cr,offset,0.); - lives_painter_line_to(cr,offset,lives_widget_get_allocation_height(eventbox)); + if (unpaint) unpaint_line(mt, mt->timeline_table); + lives_widget_get_position(mt->timeline_eb, &off_x, NULL); + offset += off_x; - lives_painter_stroke(cr); - lives_painter_destroy(cr); - } - } - } + if (offset > off_x && offset < ebwidth) { + paint_line(mt, mt->timeline_table, offset, currtime); } } - - - void animate_multitrack(lives_mt *mt) { // update timeline pointer(s) - double currtime=mainw->currticks/U_SEC; + double currtime = mainw->currticks / U_SEC; double tl_page; - int offset,offset_old; + int offset, offset_old; - int ebwidth=lives_widget_get_allocation_width(mt->timeline); + int ebwidth = lives_widget_get_allocation_width(mt->timeline); - time_to_string(mt,currtime,TIMECODE_LENGTH); + time_to_string(mt, currtime, TIMECODE_LENGTH); - offset=(currtime-mt->tl_min)/(mt->tl_max-mt->tl_min)*(double)ebwidth; - offset_old=(lives_ruler_get_value(LIVES_RULER(mt->timeline))-mt->tl_min)/(mt->tl_max-mt->tl_min)*(double)ebwidth; + offset = (currtime - mt->tl_min) / (mt->tl_max - mt->tl_min) * (double)ebwidth; + offset_old = (lives_ruler_get_value(LIVES_RULER(mt->timeline)) - mt->tl_min) / (mt->tl_max - mt->tl_min) * (double)ebwidth; - mt->ptr_time=lives_ruler_set_value(LIVES_RULER(mt->timeline),currtime); + mt->ptr_time = lives_ruler_set_value(LIVES_RULER(mt->timeline), currtime); - if (offset==offset_old) return; + if (offset == offset_old) return; if (mt->opts.follow_playback) { - if (currtime>(mt->tl_min+((tl_page=mt->tl_max-mt->tl_min))*.85)&&event_list_get_end_secs(mt->event_list)>mt->tl_max) { + if (currtime > (mt->tl_min + ((tl_page = mt->tl_max - mt->tl_min)) * .85) && event_list_get_end_secs(mt->event_list) > mt->tl_max) { // scroll right one page - mt->tl_min+=tl_page*.85; - mt->tl_max+=tl_page*.85; - mt_zoom(mt,-1.); + mt->tl_min += tl_page * .85; + mt->tl_max += tl_page * .85; + mt_zoom(mt, -1.); } } - if ((offset<0.&&offset_old<0.)||(offset>(double)ebwidth&&offset_old>(double)ebwidth)) return; + if ((offset < 0. && offset_old < 0.) || (offset > (double)ebwidth && offset_old > (double)ebwidth)) return; lives_widget_queue_draw(mt->timeline); if (mt->redraw_block) return; // don't update during expose event, otherwise we might leave lines - paint_lines(mt,currtime,TRUE); -} - - - + paint_lines(mt, currtime, TRUE); +} //////////////////////////////////////////////////// // menuitem callbacks - static boolean multitrack_end(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - return multitrack_delete(mt,!(prefs->warning_mask&WARN_MASK_EXIT_MT)||menuitem==NULL); + lives_mt *mt = (lives_mt *)user_data; + return multitrack_delete(mt, !(prefs->warning_mask & WARN_MASK_EXIT_MT) || menuitem == NULL); } - // callbacks for future adding to osc.c void multitrack_end_cb(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; if (mt->is_rendering) return; - multitrack_end(menuitem,user_data); + multitrack_end(menuitem, user_data); } + void insert_here_cb(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; if (mt->is_rendering) return; - multitrack_insert(NULL,user_data); + multitrack_insert(NULL, user_data); } + void insert_at_ctx_cb(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; if (mt->is_rendering) return; - mt->use_context=TRUE; - multitrack_insert(NULL,user_data); + mt->use_context = TRUE; + multitrack_insert(NULL, user_data); } + void edit_start_end_cb(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; if (mt->is_rendering) return; - multitrack_adj_start_end(NULL,user_data); + multitrack_adj_start_end(NULL, user_data); } + void close_clip_cb(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; if (mt->is_rendering) return; - on_close_activate(NULL,NULL); + on_close_activate(NULL, NULL); } + void show_clipinfo_cb(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - int current_file=mainw->current_file; - if (mt->file_selected!=-1) { - mainw->current_file=mt->file_selected; - on_show_file_info_activate(NULL,NULL); - mainw->current_file=current_file; + lives_mt *mt = (lives_mt *)user_data; + int current_file = mainw->current_file; + if (mt->file_selected != -1) { + mainw->current_file = mt->file_selected; + on_show_file_info_activate(NULL, NULL); + mainw->current_file = current_file; } } + void insert_audio_here_cb(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; if (mt->is_rendering) return; - multitrack_audio_insert(NULL,user_data); + multitrack_audio_insert(NULL, user_data); } + void insert_audio_at_ctx_cb(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; if (mt->is_rendering) return; - mt->use_context=TRUE; - multitrack_audio_insert(NULL,user_data); + mt->use_context = TRUE; + multitrack_audio_insert(NULL, user_data); } + void delete_block_cb(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; if (mt->is_rendering) return; - on_delblock_activate(NULL,user_data); + on_delblock_activate(NULL, user_data); } + void selblock_cb(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; select_block(mt); - mt->putative_block=NULL; + mt->putative_block = NULL; } + void list_fx_here_cb(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - mt->context_time=-1.; - on_mt_list_fx_activate(NULL,user_data); + lives_mt *mt = (lives_mt *)user_data; + mt->context_time = -1.; + on_mt_list_fx_activate(NULL, user_data); } - /////////////////////////////////////////////////////////// void tc_to_rs(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - mt->region_start=mt->ptr_time; - on_timeline_release(mt->timeline_reg,NULL,mt); + lives_mt *mt = (lives_mt *)user_data; + mt->region_start = mt->ptr_time; + on_timeline_release(mt->timeline_reg, NULL, mt); } + void tc_to_re(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - mt->region_end=mt->ptr_time; - on_timeline_release(mt->timeline_reg,NULL,mt); + lives_mt *mt = (lives_mt *)user_data; + mt->region_end = mt->ptr_time; + on_timeline_release(mt->timeline_reg, NULL, mt); } void rs_to_tc(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - mt_tl_move(mt,mt->region_start); + lives_mt *mt = (lives_mt *)user_data; + mt_tl_move(mt, mt->region_start); } + void re_to_tc(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - mt_tl_move(mt,mt->region_end); + lives_mt *mt = (lives_mt *)user_data; + mt_tl_move(mt, mt->region_end); } ////////////////////////////////////////////////// - - void on_move_fx_changed(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - mt->opts.move_effects=!mt->opts.move_effects; + lives_mt *mt = (lives_mt *)user_data; + mt->opts.move_effects = !mt->opts.move_effects; } void multitrack_clear_marks(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; lives_list_free(mt->tl_marks); - mt->tl_marks=NULL; - lives_widget_set_sensitive(mt->clear_marks,FALSE); + mt->tl_marks = NULL; + lives_widget_set_sensitive(mt->clear_marks, FALSE); lives_widget_queue_draw(mt->timeline_reg); } void select_all_time(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - mt->region_start=0.; - mt->region_end=get_event_timecode(get_last_event(mt->event_list)); - on_timeline_release(mt->timeline_reg,NULL,mt); + lives_mt *mt = (lives_mt *)user_data; + mt->region_start = 0.; + mt->region_end = get_event_timecode(get_last_event(mt->event_list)); + on_timeline_release(mt->timeline_reg, NULL, mt); } void select_from_zero_time(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - if (mt->region_start==0.&&mt->region_end==0.) mt->region_end=mt->ptr_time; - mt->region_start=0.; - on_timeline_release(mt->timeline_reg,NULL,mt); + lives_mt *mt = (lives_mt *)user_data; + if (mt->region_start == 0. && mt->region_end == 0.) mt->region_end = mt->ptr_time; + mt->region_start = 0.; + on_timeline_release(mt->timeline_reg, NULL, mt); } + void select_to_end_time(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - if (mt->region_start==0.&&mt->region_end==0.) mt->region_start=mt->ptr_time; - mt->region_end=get_event_timecode(get_last_event(mt->event_list)); - on_timeline_release(mt->timeline_reg,NULL,mt); + lives_mt *mt = (lives_mt *)user_data; + if (mt->region_start == 0. && mt->region_end == 0.) mt->region_start = mt->ptr_time; + mt->region_end = get_event_timecode(get_last_event(mt->event_list)); + on_timeline_release(mt->timeline_reg, NULL, mt); } - void select_all_vid(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - LiVESWidget *eventbox,*checkbutton; - LiVESList *vdr=mt->video_draws; + lives_mt *mt = (lives_mt *)user_data; + LiVESWidget *eventbox, *checkbutton; + LiVESList *vdr = mt->video_draws; - int current_track=mt->current_track; - int i=0; + int current_track = mt->current_track; + int i = 0; - lives_signal_handler_block(mt->select_track,mt->seltrack_func); + lives_signal_handler_block(mt->select_track, mt->seltrack_func); if (!lives_check_menu_item_get_active(LIVES_CHECK_MENU_ITEM(mt->select_track))) - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->select_track),TRUE); - lives_signal_handler_unblock(mt->select_track,mt->seltrack_func); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->select_track), TRUE); + lives_signal_handler_unblock(mt->select_track, mt->seltrack_func); - while (vdr!=NULL) { - eventbox=(LiVESWidget *)vdr->data; - checkbutton=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"checkbutton"); + while (vdr != NULL) { + eventbox = (LiVESWidget *)vdr->data; + checkbutton = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "checkbutton"); #ifdef ENABLE_GIW if (!prefs->lamp_buttons) { #endif if (!lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(checkbutton))) - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton),TRUE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton), TRUE); #ifdef ENABLE_GIW } else { - if (!giw_led_get_mode(GIW_LED(checkbutton))) giw_led_set_mode(GIW_LED(checkbutton),TRUE); + if (!giw_led_get_mode(GIW_LED(checkbutton))) giw_led_set_mode(GIW_LED(checkbutton), TRUE); } #endif - mt->current_track=i++; + mt->current_track = i++; // we need to call this since it appears that checkbuttons on hidden tracks don't get updated until shown - on_seltrack_activate(LIVES_MENU_ITEM(mt->select_track),mt); - vdr=vdr->next; + on_seltrack_activate(LIVES_MENU_ITEM(mt->select_track), mt); + vdr = vdr->next; } - mt->current_track=current_track; + mt->current_track = current_track; } void select_no_vid(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - LiVESWidget *eventbox,*checkbutton; - LiVESList *vdr=mt->video_draws; + lives_mt *mt = (lives_mt *)user_data; + LiVESWidget *eventbox, *checkbutton; + LiVESList *vdr = mt->video_draws; - int current_track=mt->current_track; - int i=0; + int current_track = mt->current_track; + int i = 0; - lives_signal_handler_block(mt->select_track,mt->seltrack_func); + lives_signal_handler_block(mt->select_track, mt->seltrack_func); if (lives_check_menu_item_get_active(LIVES_CHECK_MENU_ITEM(mt->select_track))) - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->select_track),FALSE); - lives_signal_handler_unblock(mt->select_track,mt->seltrack_func); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mt->select_track), FALSE); + lives_signal_handler_unblock(mt->select_track, mt->seltrack_func); - while (vdr!=NULL) { - eventbox=(LiVESWidget *)vdr->data; - checkbutton=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"checkbutton"); + while (vdr != NULL) { + eventbox = (LiVESWidget *)vdr->data; + checkbutton = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "checkbutton"); #ifdef ENABLE_GIW if (!prefs->lamp_buttons) { #endif if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(checkbutton))) - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton),FALSE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton), FALSE); #ifdef ENABLE_GIW } else { - if (giw_led_get_mode(GIW_LED(checkbutton))) giw_led_set_mode(GIW_LED(checkbutton),FALSE); + if (giw_led_get_mode(GIW_LED(checkbutton))) giw_led_set_mode(GIW_LED(checkbutton), FALSE); } #endif - mt->current_track=i++; + mt->current_track = i++; // we need to call this since it appears that checkbuttons on hidden tracks don't get updated until shown - on_seltrack_activate(LIVES_MENU_ITEM(mt->select_track),mt); - vdr=vdr->next; + on_seltrack_activate(LIVES_MENU_ITEM(mt->select_track), mt); + vdr = vdr->next; } - mt->current_track=current_track; + mt->current_track = current_track; } void mt_fplay_toggled(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - mt->opts.follow_playback=!mt->opts.follow_playback; - lives_widget_set_sensitive(mt->follow_play,mt->opts.follow_playback); + lives_mt *mt = (lives_mt *)user_data; + mt->opts.follow_playback = !mt->opts.follow_playback; + //lives_widget_set_sensitive(mt->follow_play,mt->opts.follow_playback); } void mt_render_vid_toggled(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - mt->opts.render_vidp=!mt->opts.render_vidp; - lives_widget_set_sensitive(mt->render_aud,mt->opts.render_vidp); + lives_mt *mt = (lives_mt *)user_data; + mt->opts.render_vidp = !mt->opts.render_vidp; + lives_widget_set_sensitive(mt->render_aud, mt->opts.render_vidp); } void mt_render_aud_toggled(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - mt->opts.render_audp=!mt->opts.render_audp; - lives_widget_set_sensitive(mt->render_vid,mt->opts.render_audp); - lives_widget_set_sensitive(mt->normalise_aud,mt->opts.render_audp); + lives_mt *mt = (lives_mt *)user_data; + mt->opts.render_audp = !mt->opts.render_audp; + lives_widget_set_sensitive(mt->render_vid, mt->opts.render_audp); + lives_widget_set_sensitive(mt->normalise_aud, mt->opts.render_audp); } void mt_norm_aud_toggled(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - mt->opts.normalise_audp=!mt->opts.normalise_audp; + lives_mt *mt = (lives_mt *)user_data; + mt->opts.normalise_audp = !mt->opts.normalise_audp; } void mt_view_audio_toggled(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - mt->opts.show_audio=lives_check_menu_item_get_active(LIVES_CHECK_MENU_ITEM(menuitem)); + lives_mt *mt = (lives_mt *)user_data; + mt->opts.show_audio = lives_check_menu_item_get_active(LIVES_CHECK_MENU_ITEM(menuitem)); - if (!mt->opts.show_audio) lives_widget_object_set_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data),"hidden", + if (!mt->opts.show_audio) lives_widget_object_set_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data), "hidden", LIVES_INT_TO_POINTER(TRACK_I_HIDDEN_USER)); - else lives_widget_object_set_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data),"hidden",LIVES_INT_TO_POINTER(0)); + else lives_widget_object_set_data(LIVES_WIDGET_OBJECT(mt->audio_draws->data), "hidden", LIVES_INT_TO_POINTER(0)); - scroll_tracks(mt,mt->top_track,FALSE); + scroll_tracks(mt, mt->top_track, FALSE); track_select(mt); } @@ -14335,28 +13900,28 @@ void mt_view_ctx_toggled(LiVESMenuItem *menuitem, livespointer user_data) { // toggle between compact view and expanded view - lives_mt *mt=(lives_mt *)user_data; - lives_mt_poly_state_t poly_state=mt->poly_state; - boolean needs_idlefunc=FALSE; + lives_mt *mt = (lives_mt *)user_data; + lives_mt_poly_state_t poly_state = mt->poly_state; + boolean needs_idlefunc = FALSE; - mt->opts.show_ctx=lives_check_menu_item_get_active(LIVES_CHECK_MENU_ITEM(menuitem)); + mt->opts.show_ctx = lives_check_menu_item_get_active(LIVES_CHECK_MENU_ITEM(menuitem)); - set_mt_play_sizes(mt,cfile->hsize,cfile->vsize); + set_mt_play_sizes(mt, cfile->hsize, cfile->vsize); mt_show_current_frame(mt, FALSE); - lives_widget_set_size_request(mt->fd_frame, mt->play_window_width, mt->play_window_height+2*widget_opts.border_width); + lives_widget_set_size_request(mt->fd_frame, mt->play_window_width, mt->play_window_height + 2 * widget_opts.border_width); lives_widget_set_size_request(mt->play_box, mt->play_window_width, mt->play_window_height); - lives_widget_set_size_request(mt->hbox, -1, mt->play_window_height+2*widget_opts.border_width); + lives_widget_set_size_request(mt->hbox, -1, mt->play_window_height + 2 * widget_opts.border_width); if (mt->opts.show_ctx) { // set text to expanded - lives_label_set_text(LIVES_LABEL(mt->eview_label),_("Expanded View (d)")); + lives_label_set_text(LIVES_LABEL(mt->eview_label), _("Expanded View (d)")); lives_widget_show(mainw->scrolledwindow); lives_widget_show(mt->sep_image); lives_widget_show(mt->context_frame); } else { - lives_label_set_text(LIVES_LABEL(mt->eview_label),_("Compact View (d)")); + lives_label_set_text(LIVES_LABEL(mt->eview_label), _("Compact View (d)")); lives_widget_hide(mainw->scrolledwindow); lives_widget_hide(mt->sep_image); @@ -14364,22 +13929,22 @@ } // disable auto-backup while we redraw the screen - if (mt->idlefunc>0) { + if (mt->idlefunc > 0) { lives_source_remove(mt->idlefunc); - mt->idlefunc=0; - needs_idlefunc=TRUE; + mt->idlefunc = 0; + needs_idlefunc = TRUE; } - if (poly_state!=POLY_PARAMS) { - polymorph(mt,POLY_NONE); - if (poly_state==POLY_IN_OUT) lives_widget_context_update(); - polymorph(mt,poly_state); - } else polymorph(mt,POLY_PARAMS); + if (poly_state != POLY_PARAMS) { + polymorph(mt, POLY_NONE); + if (poly_state == POLY_IN_OUT) lives_widget_context_update(); + polymorph(mt, poly_state); + } else polymorph(mt, POLY_PARAMS); - if (poly_state!=POLY_IN_OUT) lives_widget_context_update(); + if (poly_state != POLY_IN_OUT) lives_widget_context_update(); //re-enable auto backup if (needs_idlefunc) { - mt->idlefunc=mt_idle_add(mt); + mt->idlefunc = mt_idle_add(mt); } if (prefs->open_maximised) { @@ -14387,12 +13952,12 @@ lives_widget_queue_resize(mt->window); } - mt->play_window_width=lives_widget_get_allocation_width(mt->play_box); - mt->play_window_height=lives_widget_get_allocation_height(mt->play_box); + mt->play_window_width = lives_widget_get_allocation_width(mt->play_box); + mt->play_window_height = lives_widget_get_allocation_height(mt->play_box); redraw_all_event_boxes(mt); - mt_show_current_frame(mt,FALSE); + mt_show_current_frame(mt, FALSE); } @@ -14400,72 +13965,70 @@ void mt_ign_ins_sel_toggled(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - mt->opts.ign_ins_sel=lives_check_menu_item_get_active(LIVES_CHECK_MENU_ITEM(menuitem)); + lives_mt *mt = (lives_mt *)user_data; + mt->opts.ign_ins_sel = lives_check_menu_item_get_active(LIVES_CHECK_MENU_ITEM(menuitem)); } - static void remove_gaps_inner(LiVESMenuItem *menuitem, livespointer user_data, boolean only_first) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; - weed_timecode_t offset=0; - weed_timecode_t tc,new_tc,tc_last,new_tc_last,tc_first,block_tc; + weed_timecode_t offset = 0; + weed_timecode_t tc, new_tc, tc_last, new_tc_last, tc_first, block_tc; - LiVESList *vsel=mt->selected_tracks; + LiVESList *vsel = mt->selected_tracks; LiVESList *track_sel; LiVESWidget *eventbox; - track_rect *block=NULL; + track_rect *block = NULL; - boolean did_backup=mt->did_backup; - boolean audio_done=FALSE; + boolean did_backup = mt->did_backup; + boolean audio_done = FALSE; int track; int filenum; - if (!did_backup&&mt->idlefunc>0) { + if (!did_backup && mt->idlefunc > 0) { lives_source_remove(mt->idlefunc); - mt->idlefunc=0; + mt->idlefunc = 0; } - if (!did_backup) mt_backup(mt,MT_UNDO_REMOVE_GAPS,0); + if (!did_backup) mt_backup(mt, MT_UNDO_REMOVE_GAPS, 0); //go through selected tracks, move each block as far left as possible - tc_last=q_gint64(mt->region_end*U_SEC,mt->fps); + tc_last = q_gint64(mt->region_end * U_SEC, mt->fps); - while (vsel!=NULL||(mt->current_track==-1&&!audio_done)) { - offset=0; - if (mt->current_track>-1) { - track=LIVES_POINTER_TO_INT(vsel->data); - eventbox=(LiVESWidget *)lives_list_nth_data(mt->video_draws,track); + while (vsel != NULL || (mt->current_track == -1 && !audio_done)) { + offset = 0; + if (mt->current_track > -1) { + track = LIVES_POINTER_TO_INT(vsel->data); + eventbox = (LiVESWidget *)lives_list_nth_data(mt->video_draws, track); } else { - track=-1; - eventbox=(LiVESWidget *)mt->audio_draws->data; + track = -1; + eventbox = (LiVESWidget *)mt->audio_draws->data; } - tc=mt->region_start*U_SEC; - tc=q_gint64(tc,mt->fps); + tc = mt->region_start * U_SEC; + tc = q_gint64(tc, mt->fps); - if (mt->opts.grav_mode!=GRAV_MODE_RIGHT) { + if (mt->opts.grav_mode != GRAV_MODE_RIGHT) { // adjust the region so it begins after any first partially contained block - block=get_block_before(eventbox,tc/U_SEC,TRUE); - if (block!=NULL) { - new_tc=q_gint64(get_event_timecode(block->end_event)+(double)(track>-1)*U_SEC/mt->fps,mt->fps); - if (new_tc>tc) tc=new_tc; + block = get_block_before(eventbox, tc / U_SEC, TRUE); + if (block != NULL) { + new_tc = q_gint64(get_event_timecode(block->end_event) + (double)(track > -1) * U_SEC / mt->fps, mt->fps); + if (new_tc > tc) tc = new_tc; } } else { // adjust the region so it ends before any last partially contained block - block=get_block_after(eventbox,tc_last/U_SEC,TRUE); - if (block!=NULL) { - new_tc_last=q_gint64(get_event_timecode(block->start_event)-(double)(track>-1)*U_SEC/mt->fps,mt->fps); - if (new_tc_last<tc_last) tc_last=new_tc_last; + block = get_block_after(eventbox, tc_last / U_SEC, TRUE); + if (block != NULL) { + new_tc_last = q_gint64(get_event_timecode(block->start_event) - (double)(track > -1) * U_SEC / mt->fps, mt->fps); + if (new_tc_last < tc_last) tc_last = new_tc_last; } } - - if (mt->opts.grav_mode!=GRAV_MODE_RIGHT) { + if (mt->opts.grav_mode != GRAV_MODE_RIGHT) { // moving left // what we do here: // find first block in range. move it left to tc @@ -14479,35 +14042,34 @@ // if we remove only first gap, we move the first block, store how far it moved in offset // and then move all other blocks by offset + while (tc <= tc_last) { - while (tc<=tc_last) { + block = get_block_after(eventbox, tc / U_SEC, FALSE); + if (block == NULL) break; - block=get_block_after(eventbox,tc/U_SEC,FALSE); - if (block==NULL) break; + new_tc = get_event_timecode(block->start_event); + if (new_tc > tc_last) break; - new_tc=get_event_timecode(block->start_event); - if (new_tc>tc_last) break; - - if (tc<new_tc) { + if (tc < new_tc) { // move this block to tc - if (offset>0) tc=q_gint64(new_tc-offset,mt->fps); - filenum=get_frame_event_clip(block->start_event,track); - mt->clip_selected=mt_clip_from_file(mt,filenum); - mt_clip_select(mt,FALSE); - if (!mt->did_backup) mt_backup(mt,MT_UNDO_REMOVE_GAPS,0); + if (offset > 0) tc = q_gint64(new_tc - offset, mt->fps); + filenum = get_frame_event_clip(block->start_event, track); + mt->clip_selected = mt_clip_from_file(mt, filenum); + mt_clip_select(mt, FALSE); + if (!mt->did_backup) mt_backup(mt, MT_UNDO_REMOVE_GAPS, 0); // save current selected_tracks, move_block may change this - track_sel=mt->selected_tracks; - mt->selected_tracks=NULL; - block=move_block(mt,block,tc/U_SEC,track,track); - if (mt->selected_tracks!=NULL) lives_list_free(mt->selected_tracks); - mt->selected_tracks=track_sel; - if (only_first&&offset==0) offset=new_tc-tc; + track_sel = mt->selected_tracks; + mt->selected_tracks = NULL; + block = move_block(mt, block, tc / U_SEC, track, track); + if (mt->selected_tracks != NULL) lives_list_free(mt->selected_tracks); + mt->selected_tracks = track_sel; + if (only_first && offset == 0) offset = new_tc - tc; } - tc=q_gint64(get_event_timecode(block->end_event)+(double)(track>-1)*U_SEC/mt->fps,mt->fps); + tc = q_gint64(get_event_timecode(block->end_event) + (double)(track > -1) * U_SEC / mt->fps, mt->fps); } - if (mt->current_track>-1) vsel=vsel->next; - else audio_done=TRUE; + if (mt->current_track > -1) vsel = vsel->next; + else audio_done = TRUE; } else { // moving right // here we do the reverse: @@ -14515,60 +14077,59 @@ // then we adjust tc to the start of the block + 1 frame // and continue until we reach the end of the region - tc_first=tc; - tc=tc_last; - while (tc>=tc_first) { + tc_first = tc; + tc = tc_last; + while (tc >= tc_first) { - block=get_block_before(eventbox,tc/U_SEC,FALSE); - if (block==NULL) break; + block = get_block_before(eventbox, tc / U_SEC, FALSE); + if (block == NULL) break; - new_tc=get_event_timecode(block->end_event); - if (new_tc<tc_first) break; + new_tc = get_event_timecode(block->end_event); + if (new_tc < tc_first) break; // subtract the length of the block to get the start point - block_tc=new_tc-get_event_timecode(block->start_event)+(double)(track>-1)*U_SEC/mt->fps; + block_tc = new_tc - get_event_timecode(block->start_event) + (double)(track > -1) * U_SEC / mt->fps; - if (tc>new_tc) { + if (tc > new_tc) { // move this block to tc - if (offset>0) tc=q_gint64(new_tc-block_tc+offset,mt->fps); - else tc=q_gint64(tc-block_tc,mt->fps); - filenum=get_frame_event_clip(block->start_event,track); - mt->clip_selected=mt_clip_from_file(mt,filenum); - mt_clip_select(mt,FALSE); - if (!mt->did_backup) mt_backup(mt,MT_UNDO_REMOVE_GAPS,0); + if (offset > 0) tc = q_gint64(new_tc - block_tc + offset, mt->fps); + else tc = q_gint64(tc - block_tc, mt->fps); + filenum = get_frame_event_clip(block->start_event, track); + mt->clip_selected = mt_clip_from_file(mt, filenum); + mt_clip_select(mt, FALSE); + if (!mt->did_backup) mt_backup(mt, MT_UNDO_REMOVE_GAPS, 0); // save current selected_tracks, move_block may change this - track_sel=mt->selected_tracks; - mt->selected_tracks=NULL; - block=move_block(mt,block,tc/U_SEC,track,track); - if (mt->selected_tracks!=NULL) lives_list_free(mt->selected_tracks); - mt->selected_tracks=track_sel; - if (only_first&&offset==0) offset=tc-new_tc+block_tc; + track_sel = mt->selected_tracks; + mt->selected_tracks = NULL; + block = move_block(mt, block, tc / U_SEC, track, track); + if (mt->selected_tracks != NULL) lives_list_free(mt->selected_tracks); + mt->selected_tracks = track_sel; + if (only_first && offset == 0) offset = tc - new_tc + block_tc; } - tc=q_gint64(get_event_timecode(block->start_event)-(double)(track>-1)*U_SEC/mt->fps,mt->fps); + tc = q_gint64(get_event_timecode(block->start_event) - (double)(track > -1) * U_SEC / mt->fps, mt->fps); } - if (mt->current_track>-1) vsel=vsel->next; - else audio_done=TRUE; + if (mt->current_track > -1) vsel = vsel->next; + else audio_done = TRUE; } } if (!did_backup) { - if (mt->avol_fx!=-1&&(block==NULL||block->next==NULL)&&mt->audio_draws!=NULL&& - mt->audio_draws->data!=NULL&&get_first_event(mt->event_list)!=NULL) { + if (mt->avol_fx != -1 && (block == NULL || block->next == NULL) && mt->audio_draws != NULL && + mt->audio_draws->data != NULL && get_first_event(mt->event_list) != NULL) { apply_avol_filter(mt); } } - mt->did_backup=did_backup; - if (!did_backup&&mt->framedraw!=NULL&&mt->current_rfx!=NULL&&mt->init_event!=NULL&& - mt->poly_state==POLY_PARAMS&&weed_plant_has_leaf(mt->init_event,WEED_LEAF_IN_TRACKS)) { - tc=q_gint64(lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->node_spinbutton))*U_SEC+get_event_timecode(mt->init_event),mt->fps); - get_track_index(mt,tc); + mt->did_backup = did_backup; + if (!did_backup && mt->framedraw != NULL && mt->current_rfx != NULL && mt->init_event != NULL && + mt->poly_state == POLY_PARAMS && weed_plant_has_leaf(mt->init_event, WEED_LEAF_IN_TRACKS)) { + tc = q_gint64(lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->node_spinbutton)) * U_SEC + get_event_timecode(mt->init_event), mt->fps); + get_track_index(mt, tc); } - if (!did_backup) mt->idlefunc=mt_idle_add(mt); - if (!did_backup&&prefs->mt_auto_back==0) mt_auto_backup(mt); - + if (!did_backup) mt->idlefunc = mt_idle_add(mt); + if (!did_backup && prefs->mt_auto_back == 0) mt_auto_backup(mt); } @@ -14576,79 +14137,77 @@ // remove first gaps in selected time/tracks // if gravity is Right then we remove last gaps instead - remove_gaps_inner(menuitem,user_data,TRUE); + remove_gaps_inner(menuitem, user_data, TRUE); } + void remove_gaps(LiVESMenuItem *menuitem, livespointer user_data) { - remove_gaps_inner(menuitem,user_data,FALSE); + remove_gaps_inner(menuitem, user_data, FALSE); } - static void split_block(lives_mt *mt, track_rect *block, weed_timecode_t tc, int track, boolean no_recurse) { - weed_plant_t *event=block->start_event; - weed_plant_t *start_event=event; - weed_plant_t *old_end_event=block->end_event; - int frame=0,clip; + weed_plant_t *event = block->start_event; + weed_plant_t *start_event = event; + weed_plant_t *old_end_event = block->end_event; + int frame = 0, clip; LiVESWidget *eventbox; track_rect *new_block; weed_timecode_t offset_start; - double seek,new_seek,vel; + double seek, new_seek, vel; - tc=q_gint64(tc,mt->fps); + tc = q_gint64(tc, mt->fps); - if (block==NULL) return; + if (block == NULL) return; - mt->no_expose=TRUE; + mt->no_expose = TRUE; - while (get_event_timecode(event)<tc) event=get_next_event(event); - block->end_event=track>=0?get_prev_event(event):event; - if (!WEED_EVENT_IS_FRAME(block->end_event)) block->end_event=get_prev_frame_event(event); + while (get_event_timecode(event) < tc) event = get_next_event(event); + block->end_event = track >= 0 ? get_prev_event(event) : event; + if (!WEED_EVENT_IS_FRAME(block->end_event)) block->end_event = get_prev_frame_event(event); - if (!WEED_EVENT_IS_FRAME(event)) event=get_next_frame_event(event); - eventbox=block->eventbox; + if (!WEED_EVENT_IS_FRAME(event)) event = get_next_frame_event(event); + eventbox = block->eventbox; if (!is_audio_eventbox(eventbox)) { if (!no_recurse) { // if we have an audio block, split it too - LiVESWidget *aeventbox=LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"atrack")); - if (aeventbox!=NULL) { - track_rect *ablock=get_block_from_time(aeventbox,tc/U_SEC+1./mt->fps,mt); - if (ablock!=NULL) split_block(mt,ablock,tc+U_SEC/mt->fps,track,TRUE); + LiVESWidget *aeventbox = LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "atrack")); + if (aeventbox != NULL) { + track_rect *ablock = get_block_from_time(aeventbox, tc / U_SEC + 1. / mt->fps, mt); + if (ablock != NULL) split_block(mt, ablock, tc + U_SEC / mt->fps, track, TRUE); } } - frame=get_frame_event_frame(event,track); - clip=get_frame_event_clip(event,track); + frame = get_frame_event_frame(event, track); + clip = get_frame_event_clip(event, track); } else { if (!no_recurse) { // if we have a video block, split it too - LiVESWidget *oeventbox=LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"owner")); - if (oeventbox!=NULL) split_block(mt,get_block_from_time(oeventbox,tc/U_SEC-1./mt->fps,mt),tc-U_SEC/mt->fps,track,TRUE); + LiVESWidget *oeventbox = LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "owner")); + if (oeventbox != NULL) split_block(mt, get_block_from_time(oeventbox, tc / U_SEC - 1. / mt->fps, mt), tc - U_SEC / mt->fps, track, TRUE); } - clip=get_audio_frame_clip(start_event,track); - seek=get_audio_frame_seek(start_event,track); - vel=get_audio_frame_vel(start_event,track); - event=block->end_event; - new_seek=seek+(get_event_timecode(event)/U_SEC-get_event_timecode(start_event)/U_SEC)*vel; - insert_audio_event_at(mt->event_list,event,track,clip,new_seek,vel); + clip = get_audio_frame_clip(start_event, track); + seek = get_audio_frame_seek(start_event, track); + vel = get_audio_frame_vel(start_event, track); + event = block->end_event; + new_seek = seek + (get_event_timecode(event) / U_SEC - get_event_timecode(start_event) / U_SEC) * vel; + insert_audio_event_at(mt->event_list, event, track, clip, new_seek, vel); } - if (block->ordered|| - (is_audio_eventbox(eventbox))) offset_start=block->offset_start-get_event_timecode(start_event)+get_event_timecode(event); - else offset_start=calc_time_from_frame(clip,frame)*U_SEC; - - new_block=add_block_start_point(LIVES_WIDGET(eventbox),tc,clip,offset_start,event,block->ordered); - new_block->end_event=old_end_event; + if (block->ordered || + (is_audio_eventbox(eventbox))) offset_start = block->offset_start - get_event_timecode(start_event) + get_event_timecode(event); + else offset_start = calc_time_from_frame(clip, frame) * U_SEC; - mt->no_expose=FALSE; + new_block = add_block_start_point(LIVES_WIDGET(eventbox), tc, clip, offset_start, event, block->ordered); + new_block->end_event = old_end_event; - redraw_eventbox(mt,eventbox); + mt->no_expose = FALSE; + redraw_eventbox(mt, eventbox); + paint_lines(mt, mt->ptr_time, TRUE); } - - static void insgap_inner(lives_mt *mt, int tnum, boolean is_sel, int passnm) { // insert a gap in track tnum @@ -14659,25 +14218,23 @@ // if there is a block at start time, we split it // then we move the frame events for this track, inserting blanks if necessary, and we update all our blocks - // pass 2 // FILTER_INITs and FILTER_DEINITS - we move the filter init/deinit if "move effects with blocks" is selected and all in_tracks are in the tracks to be moved // (transitions may have one non-moving track) - - track_rect *sblock,*block,*ablock=NULL; + track_rect *sblock, *block, *ablock = NULL; LiVESWidget *eventbox; - weed_timecode_t tc,new_tc; - weed_plant_t *event,*new_event=NULL,*last_frame_event; - int xnumclips,numclips,naclips; - int aclip=0,*audio_clips; - double aseek=0.,avel=0.,*audio_seeks; - int clip,frame,*clips,*frames,*new_clips,*new_frames; - int i,error; + weed_timecode_t tc, new_tc; + weed_plant_t *event, *new_event = NULL, *last_frame_event; + int xnumclips, numclips, naclips; + int aclip = 0, *audio_clips; + double aseek = 0., avel = 0., *audio_seeks; + int clip, frame, *clips, *frames, *new_clips, *new_frames; + int i, error; - weed_timecode_t start_tc,new_init_tc,init_tc; - int nintracks,*in_tracks; + weed_timecode_t start_tc, new_init_tc, init_tc; + int nintracks, *in_tracks; weed_plant_t *init_event; LiVESList *slist; boolean found; @@ -14688,199 +14245,199 @@ switch (passnm) { case 1: // frames and blocks - if (tnum>=0) eventbox=(LiVESWidget *)lives_list_nth_data(mt->video_draws,tnum); - else eventbox=(LiVESWidget *)mt->audio_draws->data; - tc=q_dbl(mt->region_start,mt->fps); - sblock=get_block_from_time(eventbox,mt->region_start,mt); - - if (sblock!=NULL) { - split_block(mt,sblock,tc,tnum,FALSE); - sblock=sblock->next; + if (tnum >= 0) eventbox = (LiVESWidget *)lives_list_nth_data(mt->video_draws, tnum); + else eventbox = (LiVESWidget *)mt->audio_draws->data; + tc = q_dbl(mt->region_start, mt->fps); + sblock = get_block_from_time(eventbox, mt->region_start, mt); + + if (sblock != NULL) { + split_block(mt, sblock, tc, tnum, FALSE); + sblock = sblock->next; } else { - sblock=get_block_after(eventbox,mt->region_start,FALSE); + sblock = get_block_after(eventbox, mt->region_start, FALSE); } - if (sblock==NULL) return; + if (sblock == NULL) return; - block=sblock; - while (block->next!=NULL) block=block->next; - event=block->end_event; + block = sblock; + while (block->next != NULL) block = block->next; + event = block->end_event; - if (tnum>=0&&mt->opts.pertrack_audio) { - LiVESWidget *aeventbox=LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"atrack")); - if (aeventbox!=NULL) { - ablock=get_block_after(aeventbox,mt->region_start,FALSE); - if (ablock!=NULL) { - while (ablock->next!=NULL) ablock=ablock->next; - event=ablock->end_event; + if (tnum >= 0 && mt->opts.pertrack_audio) { + LiVESWidget *aeventbox = LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "atrack")); + if (aeventbox != NULL) { + ablock = get_block_after(aeventbox, mt->region_start, FALSE); + if (ablock != NULL) { + while (ablock->next != NULL) ablock = ablock->next; + event = ablock->end_event; } } } - while (event!=NULL) { + while (event != NULL) { if (WEED_EVENT_IS_FRAME(event)) { - tc=get_event_timecode(event); - new_tc=q_gint64(tc+(mt->region_end-mt->region_start)*U_SEC,mt->fps); - new_event=event; + tc = get_event_timecode(event); + new_tc = q_gint64(tc + (mt->region_end - mt->region_start) * U_SEC, mt->fps); + new_event = event; - if (tnum>=0&&tc<=get_event_timecode(block->end_event)) { - frame=get_frame_event_frame(event,tnum); - clip=get_frame_event_clip(event,tnum); + if (tnum >= 0 && tc <= get_event_timecode(block->end_event)) { + frame = get_frame_event_frame(event, tnum); + clip = get_frame_event_clip(event, tnum); - if ((new_event=get_frame_event_at(mt->event_list,new_tc,event,TRUE))==NULL) { - last_frame_event=get_last_frame_event(mt->event_list); - mt->event_list=add_blank_frames_up_to(mt->event_list,last_frame_event,new_tc,mt->fps); - new_event=get_last_frame_event(mt->event_list); + if ((new_event = get_frame_event_at(mt->event_list, new_tc, event, TRUE)) == NULL) { + last_frame_event = get_last_frame_event(mt->event_list); + mt->event_list = add_blank_frames_up_to(mt->event_list, last_frame_event, new_tc, mt->fps); + new_event = get_last_frame_event(mt->event_list); } - remove_frame_from_event(mt->event_list,event,tnum); + remove_frame_from_event(mt->event_list, event, tnum); - xnumclips=numclips=weed_leaf_num_elements(new_event,WEED_LEAF_CLIPS); - if (numclips<tnum+1) xnumclips=tnum+1; + xnumclips = numclips = weed_leaf_num_elements(new_event, WEED_LEAF_CLIPS); + if (numclips < tnum + 1) xnumclips = tnum + 1; - new_clips=(int *)lives_malloc(xnumclips*sizint); - new_frames=(int *)lives_malloc(xnumclips*sizint); + new_clips = (int *)lives_malloc(xnumclips * sizint); + new_frames = (int *)lives_malloc(xnumclips * sizint); - clips=weed_get_int_array(new_event,WEED_LEAF_CLIPS,&error); - frames=weed_get_int_array(new_event,WEED_LEAF_FRAMES,&error); + clips = weed_get_int_array(new_event, WEED_LEAF_CLIPS, &error); + frames = weed_get_int_array(new_event, WEED_LEAF_FRAMES, &error); - for (i=0; i<xnumclips; i++) { - if (i==tnum) { - new_clips[i]=clip; - new_frames[i]=frame; + for (i = 0; i < xnumclips; i++) { + if (i == tnum) { + new_clips[i] = clip; + new_frames[i] = frame; } else { - if (i<numclips) { - new_clips[i]=clips[i]; - new_frames[i]=frames[i]; + if (i < numclips) { + new_clips[i] = clips[i]; + new_frames[i] = frames[i]; } else { - new_clips[i]=-1; - new_frames[i]=0; + new_clips[i] = -1; + new_frames[i] = 0; } } } - weed_set_int_array(new_event,WEED_LEAF_CLIPS,xnumclips,new_clips); - weed_set_int_array(new_event,WEED_LEAF_FRAMES,xnumclips,new_frames); + weed_set_int_array(new_event, WEED_LEAF_CLIPS, xnumclips, new_clips); + weed_set_int_array(new_event, WEED_LEAF_FRAMES, xnumclips, new_frames); lives_free(clips); lives_free(frames); lives_free(new_clips); lives_free(new_frames); - } if (WEED_EVENT_IS_AUDIO_FRAME(event)) { - if ((new_event=get_frame_event_at(mt->event_list,new_tc,event,TRUE))==NULL) { - last_frame_event=get_last_frame_event(mt->event_list); - mt->event_list=add_blank_frames_up_to(mt->event_list,last_frame_event,q_gint64(new_tc,mt->fps),mt->fps); - new_event=get_last_frame_event(mt->event_list); + if ((new_event = get_frame_event_at(mt->event_list, new_tc, event, TRUE)) == NULL) { + last_frame_event = get_last_frame_event(mt->event_list); + mt->event_list = add_blank_frames_up_to(mt->event_list, last_frame_event, q_gint64(new_tc, mt->fps), mt->fps); + new_event = get_last_frame_event(mt->event_list); } - naclips=weed_leaf_num_elements(event,WEED_LEAF_AUDIO_CLIPS); - audio_clips=weed_get_int_array(event,WEED_LEAF_AUDIO_CLIPS,&error); - audio_seeks=weed_get_double_array(event,WEED_LEAF_AUDIO_SEEKS,&error); - - for (i=0; i<naclips; i+=2) { - if (audio_clips[i]==tnum) { - aclip=audio_clips[i+1]; - aseek=audio_seeks[i]; - avel=audio_seeks[i+1]; + naclips = weed_leaf_num_elements(event, WEED_LEAF_AUDIO_CLIPS); + audio_clips = weed_get_int_array(event, WEED_LEAF_AUDIO_CLIPS, &error); + audio_seeks = weed_get_double_array(event, WEED_LEAF_AUDIO_SEEKS, &error); + + for (i = 0; i < naclips; i += 2) { + if (audio_clips[i] == tnum) { + aclip = audio_clips[i + 1]; + aseek = audio_seeks[i]; + avel = audio_seeks[i + 1]; } } lives_free(audio_clips); lives_free(audio_seeks); - remove_audio_for_track(event,tnum); - insert_audio_event_at(mt->event_list,new_event,tnum,aclip,aseek,avel); + remove_audio_for_track(event, tnum); + insert_audio_event_at(mt->event_list, new_event, tnum, aclip, aseek, avel); - if (mt->avol_fx!=-1) { + if (mt->avol_fx != -1) { apply_avol_filter(mt); } } - if (new_event!=event) { + if (new_event != event) { - if (ablock!=NULL) { - if (event==ablock->end_event) ablock->end_event=new_event; - else if (event==ablock->start_event) { - ablock->start_event=new_event; + if (ablock != NULL) { + if (event == ablock->end_event) ablock->end_event = new_event; + else if (event == ablock->start_event) { + ablock->start_event = new_event; } } - if (event==block->end_event) block->end_event=new_event; - else if (event==block->start_event) { - block->start_event=new_event; - if (block==sblock) { - if (tnum<0||ablock!=NULL) { - if (ablock!=NULL) block=ablock; - if (block->prev!=NULL&&block->prev->end_event==event) { + if (event == block->end_event) block->end_event = new_event; + else if (event == block->start_event) { + block->start_event = new_event; + if (block == sblock) { + if (tnum < 0 || ablock != NULL) { + if (ablock != NULL) block = ablock; + if (block->prev != NULL && block->prev->end_event == event) { // audio block was split, need to add a new "audio off" event - insert_audio_event_at(mt->event_list,event,tnum,aclip,0.,0.); + insert_audio_event_at(mt->event_list, event, tnum, aclip, 0., 0.); } - if (mt->avol_fx!=-1) { + if (mt->avol_fx != -1) { apply_avol_filter(mt); } } - mt_fixup_events(mt,event,new_event); - redraw_eventbox(mt,eventbox); + mt_fixup_events(mt, event, new_event); + redraw_eventbox(mt, eventbox); + paint_lines(mt, mt->ptr_time, TRUE); return; } - block=block->prev; + block = block->prev; } - if (ablock!=NULL&&ablock->start_event==new_event) { - ablock=ablock->prev; - if (ablock!=NULL&&event==ablock->end_event) ablock->end_event=new_event; + if (ablock != NULL && ablock->start_event == new_event) { + ablock = ablock->prev; + if (ablock != NULL && event == ablock->end_event) ablock->end_event = new_event; } - mt_fixup_events(mt,event,new_event); + mt_fixup_events(mt, event, new_event); } } - if (tnum>=0) event=get_prev_event(event); + if (tnum >= 0) event = get_prev_event(event); else { - if (new_event==block->end_event) event=block->start_event; - else event=block->end_event; // we will have moved to the previous block + if (new_event == block->end_event) event = block->start_event; + else event = block->end_event; // we will have moved to the previous block } } break; - case 2: // FILTER_INITs - start_tc=q_gint64(mt->region_start*U_SEC,mt->fps); - event=get_last_event(mt->event_list); + start_tc = q_gint64(mt->region_start * U_SEC, mt->fps); + event = get_last_event(mt->event_list); - while (event!=NULL&&(tc=get_event_timecode(event))>=start_tc) { + while (event != NULL && (tc = get_event_timecode(event)) >= start_tc) { if (WEED_EVENT_IS_FILTER_DEINIT(event)) { - init_event=(weed_plant_t *)weed_get_voidptr_value(event,WEED_LEAF_INIT_EVENT,&error); + init_event = (weed_plant_t *)weed_get_voidptr_value(event, WEED_LEAF_INIT_EVENT, &error); - if (init_event==mt->avol_init_event) { - event=get_prev_event(event); + if (init_event == mt->avol_init_event) { + event = get_prev_event(event); continue; } // see if all of this filter`s in_tracks were moved - nintracks=weed_leaf_num_elements(init_event,WEED_LEAF_IN_TRACKS); - in_tracks=weed_get_int_array(init_event,WEED_LEAF_IN_TRACKS,&error); + nintracks = weed_leaf_num_elements(init_event, WEED_LEAF_IN_TRACKS); + in_tracks = weed_get_int_array(init_event, WEED_LEAF_IN_TRACKS, &error); if (!is_sel) { - if ((nintracks==1&&in_tracks[0]!=mt->current_track)||(nintracks==2&&in_tracks[0]!=mt->current_track&&in_tracks[1]!=mt->current_track)) { - event=get_prev_event(event); + if ((nintracks == 1 && in_tracks[0] != mt->current_track) || (nintracks == 2 && in_tracks[0] != mt->current_track && + in_tracks[1] != mt->current_track)) { + event = get_prev_event(event); continue; } } else { - for (i=0; i<nintracks; i++) { - slist=mt->selected_tracks; - found=FALSE; - notmatched=0; - while (slist!=NULL&&!found) { - if (LIVES_POINTER_TO_INT(slist->data)==in_tracks[i]) found=TRUE; - slist=slist->next; + for (i = 0; i < nintracks; i++) { + slist = mt->selected_tracks; + found = FALSE; + notmatched = 0; + while (slist != NULL && !found) { + if (LIVES_POINTER_TO_INT(slist->data) == in_tracks[i]) found = TRUE; + slist = slist->next; } if (!found) { - if (nintracks!=2||notmatched>0) return; - notmatched=1; + if (nintracks != 2 || notmatched > 0) return; + notmatched = 1; } } } @@ -14888,139 +14445,130 @@ lives_free(in_tracks); // move filter_deinit - new_tc=q_gint64(tc+(mt->region_end-mt->region_start)*U_SEC,mt->fps); - move_filter_deinit_event(mt->event_list,new_tc,event,mt->fps,TRUE); + new_tc = q_gint64(tc + (mt->region_end - mt->region_start) * U_SEC, mt->fps); + move_filter_deinit_event(mt->event_list, new_tc, event, mt->fps, TRUE); - init_tc=get_event_timecode(init_event); + init_tc = get_event_timecode(init_event); - if (init_tc>=start_tc) { + if (init_tc >= start_tc) { // move filter init - new_init_tc=q_gint64(init_tc+(mt->region_end-mt->region_start)*U_SEC,mt->fps); - move_filter_init_event(mt->event_list,new_init_tc,init_event,mt->fps); + new_init_tc = q_gint64(init_tc + (mt->region_end - mt->region_start) * U_SEC, mt->fps); + move_filter_init_event(mt->event_list, new_init_tc, init_event, mt->fps); } // for a transition where only one track moved, pack around the overlap - if (nintracks==2) { - move_event_left(mt->event_list,event,TRUE,mt->fps); - if (init_tc>=start_tc&&init_event!=mt->avol_init_event) move_event_right(mt->event_list,init_event,TRUE,mt->fps); + if (nintracks == 2) { + move_event_left(mt->event_list, event, TRUE, mt->fps); + if (init_tc >= start_tc && init_event != mt->avol_init_event) move_event_right(mt->event_list, init_event, TRUE, mt->fps); } } - event=get_prev_event(event); + event = get_prev_event(event); } break; - } - end_secs=event_list_get_end_secs(mt->event_list); - if (end_secs>mt->end_secs) { - set_timeline_end_secs(mt,end_secs); + end_secs = event_list_get_end_secs(mt->event_list); + if (end_secs > mt->end_secs) { + set_timeline_end_secs(mt, end_secs); } } - - - void on_insgap_sel_activate(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - LiVESList *slist=mt->selected_tracks; + lives_mt *mt = (lives_mt *)user_data; + LiVESList *slist = mt->selected_tracks; - boolean did_backup=mt->did_backup; + boolean did_backup = mt->did_backup; int track; - if (!did_backup&&mt->idlefunc>0) { + if (!did_backup && mt->idlefunc > 0) { lives_source_remove(mt->idlefunc); - mt->idlefunc=0; + mt->idlefunc = 0; } - if (!did_backup) mt_backup(mt,MT_UNDO_INSERT_GAP,0); + if (!did_backup) mt_backup(mt, MT_UNDO_INSERT_GAP, 0); - while (slist!=NULL) { - track=LIVES_POINTER_TO_INT(slist->data); - insgap_inner(mt,track,TRUE,1); - slist=slist->next; + while (slist != NULL) { + track = LIVES_POINTER_TO_INT(slist->data); + insgap_inner(mt, track, TRUE, 1); + slist = slist->next; } if (mt->opts.move_effects) { - insgap_inner(mt,0,TRUE,2); + insgap_inner(mt, 0, TRUE, 2); } - mt->did_backup=did_backup; + mt->did_backup = did_backup; mt_show_current_frame(mt, FALSE); - d_print(_("Inserted gap in selected tracks from time %.4f to %.4f\n"),mt->region_start,mt->region_end); - - if (!did_backup) mt->idlefunc=mt_idle_add(mt); - if (!did_backup&&prefs->mt_auto_back==0) mt_auto_backup(mt); + d_print(_("Inserted gap in selected tracks from time %.4f to %.4f\n"), mt->region_start, mt->region_end); + if (!did_backup) mt->idlefunc = mt_idle_add(mt); + if (!did_backup && prefs->mt_auto_back == 0) mt_auto_backup(mt); } - void on_insgap_cur_activate(LiVESMenuItem *menuitem, livespointer user_data) { + lives_mt *mt = (lives_mt *)user_data; - lives_mt *mt=(lives_mt *)user_data; - - boolean did_backup=mt->did_backup; + boolean did_backup = mt->did_backup; char *tname; - if (!did_backup&&mt->idlefunc>0) { + if (!did_backup && mt->idlefunc > 0) { lives_source_remove(mt->idlefunc); - mt->idlefunc=0; + mt->idlefunc = 0; } - if (!did_backup) mt_backup(mt,MT_UNDO_INSERT_GAP,0); + if (!did_backup) mt_backup(mt, MT_UNDO_INSERT_GAP, 0); - insgap_inner(mt,mt->current_track,FALSE,1); + insgap_inner(mt, mt->current_track, FALSE, 1); if (mt->opts.move_effects) { - insgap_inner(mt,mt->current_track,FALSE,2); + insgap_inner(mt, mt->current_track, FALSE, 2); } - mt->did_backup=did_backup; + mt->did_backup = did_backup; mt_show_current_frame(mt, FALSE); - tname=get_track_name(mt,mt->current_track,FALSE); - d_print(_("Inserted gap in track %s from time %.4f to %.4f\n"),tname,mt->region_start,mt->region_end); + tname = get_track_name(mt, mt->current_track, FALSE); + d_print(_("Inserted gap in track %s from time %.4f to %.4f\n"), tname, mt->region_start, mt->region_end); lives_free(tname); - if (!did_backup) mt->idlefunc=mt_idle_add(mt); - if (!did_backup&&prefs->mt_auto_back==0) mt_auto_backup(mt); - + if (!did_backup) mt->idlefunc = mt_idle_add(mt); + if (!did_backup && prefs->mt_auto_back == 0) mt_auto_backup(mt); } - void multitrack_undo(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; - mt_undo *last_undo=(mt_undo *)lives_list_nth_data(mt->undos,lives_list_length(mt->undos)-1-mt->undo_offset); - mt_undo *new_redo=NULL; + mt_undo *last_undo = (mt_undo *)lives_list_nth_data(mt->undos, lives_list_length(mt->undos) - 1 - mt->undo_offset); + mt_undo *new_redo = NULL; LiVESList *slist; - LiVESList *label_list=NULL; - LiVESList *vlist,*llist; - LiVESList *seltracks=NULL; + LiVESList *label_list = NULL; + LiVESList *vlist, *llist; + LiVESList *seltracks = NULL; LiVESList *aparam_view_list; - LiVESWidget *checkbutton,*eventbox,*label; + LiVESWidget *checkbutton, *eventbox, *label; - unsigned char *memblock,*mem_end; + unsigned char *memblock, *mem_end; - size_t space_avail=(size_t)(prefs->mt_undo_buf*1024*1024)-mt->undo_buffer_used; + size_t space_avail = (size_t)(prefs->mt_undo_buf * 1024 * 1024) - mt->undo_buffer_used; size_t space_needed; double end_secs; double ptr_time; - char *utxt,*tmp; + char *utxt, *tmp; char *txt; - boolean block_is_selected=FALSE; - boolean avoid_fx_list=FALSE; + boolean block_is_selected = FALSE; + boolean avoid_fx_list = FALSE; int current_track; int clip_sel; @@ -15029,217 +14577,214 @@ register int i; + if (mt->undo_mem == NULL) return; - if (mt->undo_mem==NULL) return; - - if (mt->idlefunc>0) { + if (mt->idlefunc > 0) { lives_source_remove(mt->idlefunc); - mt->idlefunc=0; + mt->idlefunc = 0; } mt_desensitise(mt); - mt->was_undo_redo=TRUE; - ptr_time=mt->ptr_time; + mt->was_undo_redo = TRUE; + ptr_time = mt->ptr_time; - if (mt->block_selected!=NULL) block_is_selected=TRUE; + if (mt->block_selected != NULL) block_is_selected = TRUE; - if (last_undo->action!=MT_UNDO_NONE) { - if (mt->undo_offset==0) { - add_markers(mt,mt->event_list,TRUE); - if ((space_needed=estimate_space(mt,last_undo->action)+sizeof(mt_undo))>space_avail) { - if (!make_backup_space(mt,space_needed)||mt->undos==NULL) { + if (last_undo->action != MT_UNDO_NONE) { + if (mt->undo_offset == 0) { + add_markers(mt, mt->event_list, TRUE); + if ((space_needed = estimate_space(mt, last_undo->action) + sizeof(mt_undo)) > space_avail) { + if (!make_backup_space(mt, space_needed) || mt->undos == NULL) { remove_markers(mt->event_list); - mt->idlefunc=mt_idle_add(mt); + mt->idlefunc = mt_idle_add(mt); do_mt_undo_buf_error(); mt_sensitise(mt); return; } } - new_redo=(mt_undo *)(mt->undo_mem+mt->undo_buffer_used); - new_redo->action=last_undo->action; + new_redo = (mt_undo *)(mt->undo_mem + mt->undo_buffer_used); + new_redo->action = last_undo->action; - memblock=(unsigned char *)(new_redo)+sizeof(mt_undo); - new_redo->data_len=space_needed; - save_event_list_inner(NULL,0,mt->event_list,&memblock); - mt->undo_buffer_used+=space_needed; - mt->undos=lives_list_append(mt->undos,new_redo); + memblock = (unsigned char *)(new_redo) + sizeof(mt_undo); + new_redo->data_len = space_needed; + save_event_list_inner(NULL, 0, mt->event_list, &memblock); + mt->undo_buffer_used += space_needed; + mt->undos = lives_list_append(mt->undos, new_redo); mt->undo_offset++; } - current_track=mt->current_track; - end_secs=mt->end_secs; - num_tracks=mt->num_video_tracks; - clip_sel=mt->clip_selected; - - seltracks=lives_list_copy(mt->selected_tracks); - - vlist=mt->video_draws; - while (vlist!=NULL) { - eventbox=LIVES_WIDGET(vlist->data); - label=LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"label")); - txt=lives_strdup(lives_label_get_text(LIVES_LABEL(label))); - label_list=lives_list_append(label_list,txt); - vlist=vlist->next; - } - - aparam_view_list=lives_list_copy(mt->opts.aparam_view_list); - avol_fx=mt->avol_fx; - mt->avol_fx=-1; + current_track = mt->current_track; + end_secs = mt->end_secs; + num_tracks = mt->num_video_tracks; + clip_sel = mt->clip_selected; + + seltracks = lives_list_copy(mt->selected_tracks); + + vlist = mt->video_draws; + while (vlist != NULL) { + eventbox = LIVES_WIDGET(vlist->data); + label = LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "label")); + txt = lives_strdup(lives_label_get_text(LIVES_LABEL(label))); + label_list = lives_list_append(label_list, txt); + vlist = vlist->next; + } + + aparam_view_list = lives_list_copy(mt->opts.aparam_view_list); + avol_fx = mt->avol_fx; + mt->avol_fx = -1; - mt->no_expose=TRUE; + mt->no_expose = TRUE; event_list_free(mt->event_list); - last_undo=(mt_undo *)lives_list_nth_data(mt->undos,lives_list_length(mt->undos)-1-mt->undo_offset); - memblock=(unsigned char *)(last_undo)+sizeof(mt_undo); - mem_end=memblock+last_undo->data_len-sizeof(mt_undo); - mt->event_list=load_event_list_inner(mt,-1,FALSE,NULL,&memblock,mem_end); + last_undo = (mt_undo *)lives_list_nth_data(mt->undos, lives_list_length(mt->undos) - 1 - mt->undo_offset); + memblock = (unsigned char *)(last_undo) + sizeof(mt_undo); + mem_end = memblock + last_undo->data_len - sizeof(mt_undo); + mt->event_list = load_event_list_inner(mt, -1, FALSE, NULL, &memblock, mem_end); - if (!event_list_rectify(mt,mt->event_list)) { + if (!event_list_rectify(mt, mt->event_list)) { event_list_free(mt->event_list); - mt->event_list=NULL; + mt->event_list = NULL; } - if (get_first_event(mt->event_list)==NULL) { + if (get_first_event(mt->event_list) == NULL) { event_list_free(mt->event_list); - mt->event_list=NULL; + mt->event_list = NULL; } - for (i=0; i<mt->num_video_tracks; i++) { - delete_video_track(mt,i,FALSE); + for (i = 0; i < mt->num_video_tracks; i++) { + delete_video_track(mt, i, FALSE); } lives_list_free(mt->video_draws); - mt->video_draws=NULL; - mt->num_video_tracks=0; + mt->video_draws = NULL; + mt->num_video_tracks = 0; - delete_audio_tracks(mt,mt->audio_draws,FALSE); - mt->audio_draws=NULL; + delete_audio_tracks(mt, mt->audio_draws, FALSE); + mt->audio_draws = NULL; - mt->fm_edit_event=NULL; // this might have been deleted; etc., c.f. fixup_events - mt->init_event=NULL; - mt->selected_init_event=NULL; - mt->specific_event=NULL; - mt->avol_init_event=NULL; // we will try to relocate this in mt_init_tracks() - - mt_init_tracks(mt,FALSE); - - if (mt->avol_fx==-1) mt->avol_fx=avol_fx; - if (mt->avol_fx!=-1) mt->opts.aparam_view_list=lives_list_copy(aparam_view_list); - if (aparam_view_list!=NULL) lives_list_free(aparam_view_list); + mt->fm_edit_event = NULL; // this might have been deleted; etc., c.f. fixup_events + mt->init_event = NULL; + mt->selected_init_event = NULL; + mt->specific_event = NULL; + mt->avol_init_event = NULL; // we will try to relocate this in mt_init_tracks() + + mt_init_tracks(mt, FALSE); + + if (mt->avol_fx == -1) mt->avol_fx = avol_fx; + if (mt->avol_fx != -1) mt->opts.aparam_view_list = lives_list_copy(aparam_view_list); + if (aparam_view_list != NULL) lives_list_free(aparam_view_list); add_aparam_menuitems(mt); unselect_all(mt); - for (i=mt->num_video_tracks; i<num_tracks; i++) { - add_video_track_behind(NULL,mt); + for (i = mt->num_video_tracks; i < num_tracks; i++) { + add_video_track_behind(NULL, mt); } - mt->clip_selected=clip_sel; - mt_clip_select(mt,FALSE); + mt->clip_selected = clip_sel; + mt_clip_select(mt, FALSE); - vlist=mt->video_draws; - llist=label_list; - while (vlist!=NULL) { - eventbox=LIVES_WIDGET(vlist->data); - label=LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"label")); - lives_label_set_text(LIVES_LABEL(label),(const char *)llist->data); - vlist=vlist->next; - llist=llist->next; + vlist = mt->video_draws; + llist = label_list; + while (vlist != NULL) { + eventbox = LIVES_WIDGET(vlist->data); + label = LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "label")); + lives_label_set_text(LIVES_LABEL(label), (const char *)llist->data); + vlist = vlist->next; + llist = llist->next; } lives_list_free(label_list); - if (mt->event_list!=NULL) remove_markers(mt->event_list); + if (mt->event_list != NULL) remove_markers(mt->event_list); - mt->selected_tracks=lives_list_copy(seltracks); - slist=mt->selected_tracks; - while (slist!=NULL) { - eventbox=(LiVESWidget *)lives_list_nth_data(mt->video_draws,LIVES_POINTER_TO_INT(slist->data)); - checkbutton=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"checkbutton"); + mt->selected_tracks = lives_list_copy(seltracks); + slist = mt->selected_tracks; + while (slist != NULL) { + eventbox = (LiVESWidget *)lives_list_nth_data(mt->video_draws, LIVES_POINTER_TO_INT(slist->data)); + checkbutton = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "checkbutton"); #ifdef ENABLE_GIW if (!prefs->lamp_buttons) { #endif - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton),TRUE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton), TRUE); #ifdef ENABLE_GIW } else { - giw_led_set_mode(GIW_LED(checkbutton),TRUE); + giw_led_set_mode(GIW_LED(checkbutton), TRUE); } #endif - slist=slist->next; + slist = slist->next; } - if (seltracks!=NULL) lives_list_free(seltracks); + if (seltracks != NULL) lives_list_free(seltracks); - mt->current_track=current_track; + mt->current_track = current_track; track_select(mt); - if (mt->end_secs!=end_secs&&event_list_get_end_secs(mt->event_list)<=end_secs) set_timeline_end_secs(mt, end_secs); + if (mt->end_secs != end_secs && event_list_get_end_secs(mt->event_list) <= end_secs) set_timeline_end_secs(mt, end_secs); } - mt->no_expose=FALSE; + mt->no_expose = FALSE; mt->undo_offset++; - if (mt->undo_offset==lives_list_length(mt->undos)) mt_set_undoable(mt,MT_UNDO_NONE,NULL,FALSE); + if (mt->undo_offset == lives_list_length(mt->undos)) mt_set_undoable(mt, MT_UNDO_NONE, NULL, FALSE); else { - mt_undo *undo=(mt_undo *)(lives_list_nth_data(mt->undos,lives_list_length(mt->undos)-mt->undo_offset-1)); - mt_set_undoable(mt,undo->action,undo->extra,TRUE); + mt_undo *undo = (mt_undo *)(lives_list_nth_data(mt->undos, lives_list_length(mt->undos) - mt->undo_offset - 1)); + mt_set_undoable(mt, undo->action, undo->extra, TRUE); } - mt_set_redoable(mt,last_undo->action,last_undo->extra,TRUE); - lives_ruler_set_value(LIVES_RULER(mt->timeline),ptr_time); + mt_set_redoable(mt, last_undo->action, last_undo->extra, TRUE); + lives_ruler_set_value(LIVES_RULER(mt->timeline), ptr_time); lives_widget_queue_draw(mt->timeline); - utxt=lives_utf8_strdown((tmp=get_undo_text(last_undo->action,last_undo->extra)),-1); + utxt = lives_utf8_strdown((tmp = get_undo_text(last_undo->action, last_undo->extra)), -1); lives_free(tmp); - d_print(_("Undid %s\n"),utxt); + d_print(_("Undid %s\n"), utxt); lives_free(utxt); - if (last_undo->action<=1024&&block_is_selected) mt_selblock(NULL, (livespointer)mt); + if (last_undo->action <= 1024 && block_is_selected) mt_selblock(NULL, (livespointer)mt); // TODO - make sure this is the effect which is now deleted/added... - if (mt->poly_state==POLY_PARAMS) { - if (mt->last_fx_type==MT_LAST_FX_BLOCK&&mt->block_selected!=NULL) polymorph(mt,POLY_FX_STACK); - else polymorph(mt,POLY_CLIPS); - avoid_fx_list=TRUE; - } - if ((last_undo->action==MT_UNDO_FILTER_MAP_CHANGE||mt->poly_state==POLY_FX_STACK)&&!avoid_fx_list) { - if (last_undo->action==MT_UNDO_FILTER_MAP_CHANGE) mt_tl_move(mt,last_undo->tc); - polymorph(mt,POLY_FX_STACK); + if (mt->poly_state == POLY_PARAMS) { + if (mt->last_fx_type == MT_LAST_FX_BLOCK && mt->block_selected != NULL) polymorph(mt, POLY_FX_STACK); + else polymorph(mt, POLY_CLIPS); + avoid_fx_list = TRUE; + } + if ((last_undo->action == MT_UNDO_FILTER_MAP_CHANGE || mt->poly_state == POLY_FX_STACK) && !avoid_fx_list) { + if (last_undo->action == MT_UNDO_FILTER_MAP_CHANGE) mt_tl_move(mt, last_undo->tc); + polymorph(mt, POLY_FX_STACK); } - if (mt->poly_state!=POLY_PARAMS) mt_show_current_frame(mt, FALSE); + if (mt->poly_state != POLY_PARAMS) mt_show_current_frame(mt, FALSE); mt_desensitise(mt); mt_sensitise(mt); - if (mt->event_list==NULL) recover_layout_cancelled(FALSE); + if (mt->event_list == NULL) recover_layout_cancelled(FALSE); - mt->idlefunc=mt_idle_add(mt); - if (prefs->mt_auto_back==0) mt_auto_backup(mt); + mt->idlefunc = mt_idle_add(mt); + if (prefs->mt_auto_back == 0) mt_auto_backup(mt); } - void multitrack_redo(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; - mt_undo *last_redo=(mt_undo *)lives_list_nth_data(mt->undos,lives_list_length(mt->undos)+1-mt->undo_offset); + mt_undo *last_redo = (mt_undo *)lives_list_nth_data(mt->undos, lives_list_length(mt->undos) + 1 - mt->undo_offset); - LiVESWidget *checkbutton,*eventbox,*label; + LiVESWidget *checkbutton, *eventbox, *label; LiVESList *slist; - LiVESList *label_list=NULL; - LiVESList *vlist,*llist; - LiVESList *seltracks=NULL; + LiVESList *label_list = NULL; + LiVESList *vlist, *llist; + LiVESList *seltracks = NULL; LiVESList *aparam_view_list; - unsigned char *memblock,*mem_end; + unsigned char *memblock, *mem_end; char *txt; - char *utxt,*tmp; + char *utxt, *tmp; double ptr_time; double end_secs; - int current_track; int num_tracks; int clip_sel; @@ -15247,646 +14792,643 @@ register int i; - if (mt->undo_mem==NULL) return; + if (mt->undo_mem == NULL) return; - if (mt->idlefunc>0) { + if (mt->idlefunc > 0) { lives_source_remove(mt->idlefunc); - mt->idlefunc=0; + mt->idlefunc = 0; } mt_desensitise(mt); //if (mt->block_selected!=NULL) block_is_selected=TRUE; // TODO *** - need to set track and time - mt->was_undo_redo=TRUE; - ptr_time=mt->ptr_time; + mt->was_undo_redo = TRUE; + ptr_time = mt->ptr_time; - if (last_redo->action!=MT_UNDO_NONE) { - current_track=mt->current_track; - end_secs=mt->end_secs; - num_tracks=mt->num_video_tracks; - clip_sel=mt->clip_selected; - - seltracks=lives_list_copy(mt->selected_tracks); - - vlist=mt->video_draws; - while (vlist!=NULL) { - eventbox=LIVES_WIDGET(vlist->data); - label=LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"label")); - txt=lives_strdup(lives_label_get_text(LIVES_LABEL(label))); - label_list=lives_list_append(label_list,txt); - vlist=vlist->next; - } - - aparam_view_list=lives_list_copy(mt->opts.aparam_view_list); - avol_fx=mt->avol_fx; - mt->avol_fx=-1; + if (last_redo->action != MT_UNDO_NONE) { + current_track = mt->current_track; + end_secs = mt->end_secs; + num_tracks = mt->num_video_tracks; + clip_sel = mt->clip_selected; + + seltracks = lives_list_copy(mt->selected_tracks); + + vlist = mt->video_draws; + while (vlist != NULL) { + eventbox = LIVES_WIDGET(vlist->data); + label = LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "label")); + txt = lives_strdup(lives_label_get_text(LIVES_LABEL(label))); + label_list = lives_list_append(label_list, txt); + vlist = vlist->next; + } + + aparam_view_list = lives_list_copy(mt->opts.aparam_view_list); + avol_fx = mt->avol_fx; + mt->avol_fx = -1; - mt->no_expose=TRUE; + mt->no_expose = TRUE; event_list_free(mt->event_list); - memblock=(unsigned char *)(last_redo)+sizeof(mt_undo); - mem_end=memblock+last_redo->data_len-sizeof(mt_undo); - mt->event_list=load_event_list_inner(mt,-1,FALSE,NULL,&memblock,mem_end); - if (!event_list_rectify(mt,mt->event_list)) { + memblock = (unsigned char *)(last_redo) + sizeof(mt_undo); + mem_end = memblock + last_redo->data_len - sizeof(mt_undo); + mt->event_list = load_event_list_inner(mt, -1, FALSE, NULL, &memblock, mem_end); + if (!event_list_rectify(mt, mt->event_list)) { event_list_free(mt->event_list); - mt->event_list=NULL; + mt->event_list = NULL; } - if (get_first_event(mt->event_list)==NULL) { + if (get_first_event(mt->event_list) == NULL) { event_list_free(mt->event_list); - mt->event_list=NULL; + mt->event_list = NULL; } - for (i=0; i<mt->num_video_tracks; i++) { - delete_video_track(mt,i,FALSE); + for (i = 0; i < mt->num_video_tracks; i++) { + delete_video_track(mt, i, FALSE); } lives_list_free(mt->video_draws); - mt->video_draws=NULL; - mt->num_video_tracks=0; + mt->video_draws = NULL; + mt->num_video_tracks = 0; - delete_audio_tracks(mt,mt->audio_draws,FALSE); - mt->audio_draws=NULL; + delete_audio_tracks(mt, mt->audio_draws, FALSE); + mt->audio_draws = NULL; - mt->fm_edit_event=NULL; // this might have been deleted; etc., c.f. fixup_events - mt->init_event=NULL; - mt->selected_init_event=NULL; - mt->specific_event=NULL; - mt->avol_init_event=NULL; // we will try to relocate this in mt_init_tracks() + mt->fm_edit_event = NULL; // this might have been deleted; etc., c.f. fixup_events + mt->init_event = NULL; + mt->selected_init_event = NULL; + mt->specific_event = NULL; + mt->avol_init_event = NULL; // we will try to relocate this in mt_init_tracks() - mt_init_tracks(mt,FALSE); + mt_init_tracks(mt, FALSE); - if (mt->avol_fx==avol_fx) { - mt->opts.aparam_view_list=lives_list_copy(aparam_view_list); + if (mt->avol_fx == avol_fx) { + mt->opts.aparam_view_list = lives_list_copy(aparam_view_list); } - if (aparam_view_list!=NULL) lives_list_free(aparam_view_list); + if (aparam_view_list != NULL) lives_list_free(aparam_view_list); add_aparam_menuitems(mt); unselect_all(mt); - for (i=mt->num_video_tracks; i<num_tracks; i++) { - add_video_track_behind(NULL,mt); + for (i = mt->num_video_tracks; i < num_tracks; i++) { + add_video_track_behind(NULL, mt); } - mt->clip_selected=clip_sel; - mt_clip_select(mt,FALSE); + mt->clip_selected = clip_sel; + mt_clip_select(mt, FALSE); - vlist=mt->video_draws; - llist=label_list; - while (vlist!=NULL) { - eventbox=LIVES_WIDGET(vlist->data); - label=LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"label")); - lives_label_set_text(LIVES_LABEL(label),(const char *)llist->data); - vlist=vlist->next; - llist=llist->next; + vlist = mt->video_draws; + llist = label_list; + while (vlist != NULL) { + eventbox = LIVES_WIDGET(vlist->data); + label = LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "label")); + lives_label_set_text(LIVES_LABEL(label), (const char *)llist->data); + vlist = vlist->next; + llist = llist->next; } lives_list_free(label_list); - if (mt->event_list!=NULL) remove_markers(mt->event_list); + if (mt->event_list != NULL) remove_markers(mt->event_list); - mt->selected_tracks=lives_list_copy(seltracks); - slist=mt->selected_tracks; - while (slist!=NULL) { - eventbox=(LiVESWidget *)lives_list_nth_data(mt->video_draws,LIVES_POINTER_TO_INT(slist->data)); - checkbutton=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"checkbutton"); + mt->selected_tracks = lives_list_copy(seltracks); + slist = mt->selected_tracks; + while (slist != NULL) { + eventbox = (LiVESWidget *)lives_list_nth_data(mt->video_draws, LIVES_POINTER_TO_INT(slist->data)); + checkbutton = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "checkbutton"); #ifdef ENABLE_GIW if (!prefs->lamp_buttons) { #endif - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton),TRUE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton), TRUE); #ifdef ENABLE_GIW } else { - giw_led_set_mode(GIW_LED(checkbutton),TRUE); + giw_led_set_mode(GIW_LED(checkbutton), TRUE); } #endif - slist=slist->next; + slist = slist->next; } - if (seltracks!=NULL) lives_list_free(seltracks); + if (seltracks != NULL) lives_list_free(seltracks); - mt->current_track=current_track; + mt->current_track = current_track; track_select(mt); - if (mt->end_secs!=end_secs&&event_list_get_end_secs(mt->event_list)<=end_secs) set_timeline_end_secs(mt, end_secs); + if (mt->end_secs != end_secs && event_list_get_end_secs(mt->event_list) <= end_secs) set_timeline_end_secs(mt, end_secs); } - mt->no_expose=FALSE; + mt->no_expose = FALSE; mt->undo_offset--; - if (mt->undo_offset<=1) mt_set_redoable(mt,MT_UNDO_NONE,NULL,FALSE); + if (mt->undo_offset <= 1) mt_set_redoable(mt, MT_UNDO_NONE, NULL, FALSE); else { - mt_undo *redo=(mt_undo *)(lives_list_nth_data(mt->undos,lives_list_length(mt->undos)-mt->undo_offset)); - mt_set_redoable(mt,redo->action,redo->extra,TRUE); + mt_undo *redo = (mt_undo *)(lives_list_nth_data(mt->undos, lives_list_length(mt->undos) - mt->undo_offset)); + mt_set_redoable(mt, redo->action, redo->extra, TRUE); } - last_redo=(mt_undo *)lives_list_nth_data(mt->undos,lives_list_length(mt->undos)-1-mt->undo_offset); - mt_set_undoable(mt,last_redo->action,last_redo->extra,TRUE); + last_redo = (mt_undo *)lives_list_nth_data(mt->undos, lives_list_length(mt->undos) - 1 - mt->undo_offset); + mt_set_undoable(mt, last_redo->action, last_redo->extra, TRUE); - lives_ruler_set_value(LIVES_RULER(mt->timeline),ptr_time); + lives_ruler_set_value(LIVES_RULER(mt->timeline), ptr_time); lives_widget_queue_draw(mt->timeline); - // TODO ***** //if (last_redo->action<1024&&block_is_selected) mt_selblock(NULL, NULL, 0, 0, (livespointer)mt); - if (last_redo->action==MT_UNDO_FILTER_MAP_CHANGE||mt->poly_state==POLY_FX_STACK) { - if (last_redo->action==MT_UNDO_FILTER_MAP_CHANGE) mt_tl_move(mt,last_redo->tc); - polymorph(mt,POLY_FX_STACK); + if (last_redo->action == MT_UNDO_FILTER_MAP_CHANGE || mt->poly_state == POLY_FX_STACK) { + if (last_redo->action == MT_UNDO_FILTER_MAP_CHANGE) mt_tl_move(mt, last_redo->tc); + polymorph(mt, POLY_FX_STACK); } - if (mt->poly_state!=POLY_PARAMS) mt_show_current_frame(mt, FALSE); + if (mt->poly_state != POLY_PARAMS) mt_show_current_frame(mt, FALSE); - utxt=lives_utf8_strdown((tmp=get_undo_text(last_redo->action,last_redo->extra)),-1); + utxt = lives_utf8_strdown((tmp = get_undo_text(last_redo->action, last_redo->extra)), -1); lives_free(tmp); - d_print(_("Redid %s\n"),utxt); + d_print(_("Redid %s\n"), utxt); lives_free(utxt); mt_desensitise(mt); mt_sensitise(mt); - if (mt->event_list==NULL) recover_layout_cancelled(FALSE); + if (mt->event_list == NULL) recover_layout_cancelled(FALSE); - mt->idlefunc=mt_idle_add(mt); - if (prefs->mt_auto_back==0) mt_auto_backup(mt); + mt->idlefunc = mt_idle_add(mt); + if (prefs->mt_auto_back == 0) mt_auto_backup(mt); } - void multitrack_view_details(LiVESMenuItem *menuitem, livespointer user_data) { char buff[512]; lives_clipinfo_t *filew; - lives_mt *mt=(lives_mt *)user_data; - lives_clip_t *rfile=mainw->files[mt->render_file]; - uint32_t bsize=0; - double time=0.; - int num_events=0; + lives_mt *mt = (lives_mt *)user_data; + lives_clip_t *rfile = mainw->files[mt->render_file]; + uint32_t bsize = 0; + double time = 0.; + int num_events = 0; - filew = create_clip_info_window(cfile->achans,TRUE); + filew = create_clip_info_window(cfile->achans, TRUE); // type - lives_snprintf(buff,512,"\n Event List"); - lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_type),buff, -1); + lives_snprintf(buff, 512, "\n Event List"); + lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_type), buff, -1); // fps - if (mt->fps>0) { - lives_snprintf(buff,512,"\n %.3f%s",mt->fps,rfile->ratio_fps?"...":""); + if (mt->fps > 0) { + lives_snprintf(buff, 512, "\n %.3f%s", mt->fps, rfile->ratio_fps ? "..." : ""); } else { - lives_snprintf(buff,512,"%s",_("\n (variable)")); + lives_snprintf(buff, 512, "%s", _("\n (variable)")); } - lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_fps),buff, -1); + lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_fps), buff, -1); // image size - lives_snprintf(buff,512,"\n %dx%d",rfile->hsize,rfile->vsize); - lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_size),buff, -1); + lives_snprintf(buff, 512, "\n %dx%d", rfile->hsize, rfile->vsize); + lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_size), buff, -1); // elist time - if (mt->event_list!=NULL) { - bsize=event_list_get_byte_size(mt,mt->event_list,&num_events); - time=event_list_get_end_secs(mt->event_list); + if (mt->event_list != NULL) { + bsize = event_list_get_byte_size(mt, mt->event_list, &num_events); + time = event_list_get_end_secs(mt->event_list); } // events - lives_snprintf(buff,512,"\n %d",num_events); - lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_frames),buff, -1); + lives_snprintf(buff, 512, "\n %d", num_events); + lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_frames), buff, -1); - lives_snprintf(buff,512,"\n %.3f sec",time); - lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_vtime),buff, -1); + lives_snprintf(buff, 512, "\n %.3f sec", time); + lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_vtime), buff, -1); // byte size - lives_snprintf(buff,512,"\n %d bytes",bsize); - lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_fsize),buff, -1); + lives_snprintf(buff, 512, "\n %d bytes", bsize); + lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_fsize), buff, -1); - if (cfile->achans>0) { - lives_snprintf(buff,512,"\n %d Hz %d bit",cfile->arate,cfile->asampsize); - lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_lrate),buff, -1); + if (cfile->achans > 0) { + lives_snprintf(buff, 512, "\n %d Hz %d bit", cfile->arate, cfile->asampsize); + lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_lrate), buff, -1); } - if (cfile->achans>1) { - lives_snprintf(buff,512,"\n %d Hz %d bit",cfile->arate,cfile->asampsize); - lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_rrate),buff, -1); + if (cfile->achans > 1) { + lives_snprintf(buff, 512, "\n %d Hz %d bit", cfile->arate, cfile->asampsize); + lives_text_view_set_text(LIVES_TEXT_VIEW(filew->textview_rrate), buff, -1); } - } - static void add_effect_inner(lives_mt *mt, int num_in_tracks, int *in_tracks, int num_out_tracks, int *out_tracks, weed_plant_t *start_event, weed_plant_t *end_event) { void **init_events; - weed_plant_t *event,*init_event; - weed_plant_t *filter=get_weed_filter(mt->current_fx); + weed_plant_t *event, *init_event; + weed_plant_t *filter = get_weed_filter(mt->current_fx); - double timesecs=mt->ptr_time; + double timesecs = mt->ptr_time; - weed_timecode_t start_tc=get_event_timecode(start_event); - weed_timecode_t end_tc=get_event_timecode(end_event); + weed_timecode_t start_tc = get_event_timecode(start_event); + weed_timecode_t end_tc = get_event_timecode(end_event); - weed_timecode_t tc=q_gint64(timesecs*U_SEC,mt->fps); + weed_timecode_t tc = q_gint64(timesecs * U_SEC, mt->fps); lives_rfx_t *rfx; - boolean did_backup=mt->did_backup; + boolean did_backup = mt->did_backup; boolean has_params; register int i; - if (!did_backup&&mt->idlefunc>0) { + if (!did_backup && mt->idlefunc > 0) { lives_source_remove(mt->idlefunc); - mt->idlefunc=0; + mt->idlefunc = 0; } - if (!did_backup&&mt->current_fx!=mt->avol_fx) mt_backup(mt,MT_UNDO_APPLY_FILTER,0); + if (!did_backup && mt->current_fx != mt->avol_fx) mt_backup(mt, MT_UNDO_APPLY_FILTER, 0); // set track_index (for special widgets) - mt->track_index=-1; - for (i=0; i<num_in_tracks; i++) { - if (mt->current_track==in_tracks[i]) mt->track_index=i; + mt->track_index = -1; + for (i = 0; i < num_in_tracks; i++) { + if (mt->current_track == in_tracks[i]) mt->track_index = i; } // add effect_init event - mt->event_list=append_filter_init_event(mt->event_list,start_tc,mt->current_fx,num_in_tracks,-1,NULL); - mt->init_event=get_last_event(mt->event_list); - unlink_event(mt->event_list,mt->init_event); - weed_set_int_array(mt->init_event,WEED_LEAF_IN_TRACKS,num_in_tracks,in_tracks); - weed_set_int_array(mt->init_event,WEED_LEAF_OUT_TRACKS,num_out_tracks,out_tracks); - insert_filter_init_event_at(mt->event_list,start_event,mt->init_event); + mt->event_list = append_filter_init_event(mt->event_list, start_tc, mt->current_fx, num_in_tracks, -1, NULL); + mt->init_event = get_last_event(mt->event_list); + unlink_event(mt->event_list, mt->init_event); + weed_set_int_array(mt->init_event, WEED_LEAF_IN_TRACKS, num_in_tracks, in_tracks); + weed_set_int_array(mt->init_event, WEED_LEAF_OUT_TRACKS, num_out_tracks, out_tracks); + insert_filter_init_event_at(mt->event_list, start_event, mt->init_event); - if (pchain!=NULL) { + if (pchain != NULL) { // no freep ! lives_free(pchain); - pchain=NULL; + pchain = NULL; } - if (num_in_params(filter,FALSE,FALSE)>0) - pchain=filter_init_add_pchanges(mt->event_list,filter,mt->init_event,num_in_tracks,0); + if (num_in_params(filter, FALSE, FALSE) > 0) + pchain = filter_init_add_pchanges(mt->event_list, filter, mt->init_event, num_in_tracks, 0); // add effect map event - init_events=get_init_events_before(start_event,mt->init_event,TRUE); - mt->event_list=append_filter_map_event(mt->event_list,start_tc,init_events); + init_events = get_init_events_before(start_event, mt->init_event, TRUE); + mt->event_list = append_filter_map_event(mt->event_list, start_tc, init_events); lives_free(init_events); - event=get_last_event(mt->event_list); - unlink_event(mt->event_list,event); - insert_filter_map_event_at(mt->event_list,start_event,event,TRUE); + event = get_last_event(mt->event_list); + unlink_event(mt->event_list, event); + insert_filter_map_event_at(mt->event_list, start_event, event, TRUE); // update all effect maps in block, appending init_event - update_filter_maps(start_event,end_event,mt->init_event); + update_filter_maps(start_event, end_event, mt->init_event); // add effect deinit event - mt->event_list=append_filter_deinit_event(mt->event_list,end_tc,(void *)mt->init_event,pchain); - event=get_last_event(mt->event_list); - unlink_event(mt->event_list,event); - insert_filter_deinit_event_at(mt->event_list,end_event,event); + mt->event_list = append_filter_deinit_event(mt->event_list, end_tc, (void *)mt->init_event, pchain); + event = get_last_event(mt->event_list); + unlink_event(mt->event_list, event); + insert_filter_deinit_event_at(mt->event_list, end_event, event); // zip forward a bit, in case there is a FILTER_MAP at end_tc after our FILTER_DEINIT (e.g. if adding multiple filters) - while (event!=NULL&&get_event_timecode(event)==end_tc) event=get_next_event(event); - if (event==NULL) event=get_last_event(mt->event_list); - else event=get_prev_event(event); + while (event != NULL && get_event_timecode(event) == end_tc) event = get_next_event(event); + if (event == NULL) event = get_last_event(mt->event_list); + else event = get_prev_event(event); // add effect map event - init_events=get_init_events_before(event,mt->init_event,FALSE); // also deletes the effect - mt->event_list=append_filter_map_event(mt->event_list,end_tc,init_events); + init_events = get_init_events_before(event, mt->init_event, FALSE); // also deletes the effect + mt->event_list = append_filter_map_event(mt->event_list, end_tc, init_events); lives_free(init_events); - event=get_last_event(mt->event_list); - unlink_event(mt->event_list,event); - insert_filter_map_event_at(mt->event_list,end_event,event,FALSE); + event = get_last_event(mt->event_list); + unlink_event(mt->event_list, event); + insert_filter_map_event_at(mt->event_list, end_event, event, FALSE); - mt->did_backup=did_backup; - if (mt->event_list!=NULL) lives_widget_set_sensitive(mt->clear_event_list, TRUE); + mt->did_backup = did_backup; + if (mt->event_list != NULL) lives_widget_set_sensitive(mt->clear_event_list, TRUE); - if (mt->current_fx==mt->avol_fx) return; + if (mt->current_fx == mt->avol_fx) return; - if (mt->avol_fx!=-1) { + if (mt->avol_fx != -1) { apply_avol_filter(mt); } if (mt->is_atrans) return; - rfx=weed_to_rfx(filter,FALSE); - get_track_index(mt,tc); + rfx = weed_to_rfx(filter, FALSE); + get_track_index(mt, tc); // here we just check if we have any params to display - has_params=make_param_box(NULL,rfx); + has_params = make_param_box(NULL, rfx); rfx_free(rfx); lives_free(rfx); - init_event=mt->init_event; - mt_tl_move(mt,start_tc/U_SEC); - mt->init_event=init_event; + init_event = mt->init_event; + mt_tl_move(mt, start_tc / U_SEC); + mt->init_event = init_event; if (has_params) { - polymorph(mt,POLY_PARAMS); - lives_widget_set_sensitive(mt->apply_fx_button,FALSE); - } else polymorph(mt,POLY_FX_STACK); - - if (!did_backup) mt->idlefunc=mt_idle_add(mt); - if (!did_backup&&prefs->mt_auto_back==0) mt_auto_backup(mt); + polymorph(mt, POLY_PARAMS); + lives_widget_set_sensitive(mt->apply_fx_button, FALSE); + } else polymorph(mt, POLY_FX_STACK); + if (!did_backup) mt->idlefunc = mt_idle_add(mt); + if (!did_backup && prefs->mt_auto_back == 0) mt_auto_backup(mt); } - - weed_plant_t *add_blank_frames_up_to(weed_plant_t *event_list, weed_plant_t *start_event, weed_timecode_t end_tc, double fps) { // add blank frames from FRAME event (or NULL) start_event up to and including (quantised) end_tc // returns updated event_list weed_timecode_t tc; - weed_plant_t *shortcut=NULL; - weed_timecode_t tl=q_dbl(1./fps,fps); - int blank_clip=-1,blank_frame=0; + weed_plant_t *shortcut = NULL; + weed_timecode_t tl = q_dbl(1. / fps, fps); + int blank_clip = -1, blank_frame = 0; - if (start_event!=NULL) tc=get_event_timecode(start_event)+tl; - else tc=0; + if (start_event != NULL) tc = get_event_timecode(start_event) + tl; + else tc = 0; - for (; tc<=end_tc; tc=q_gint64(tc+tl,fps)) { - event_list=insert_frame_event_at(event_list,tc,1,&blank_clip,&blank_frame,&shortcut); + for (; tc <= end_tc; tc = q_gint64(tc + tl, fps)) { + event_list = insert_frame_event_at(event_list, tc, 1, &blank_clip, &blank_frame, &shortcut); } - weed_set_double_value(event_list,WEED_LEAF_FPS,fps); + weed_set_double_value(event_list, WEED_LEAF_FPS, fps); return event_list; } void mt_add_region_effect(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; LiVESList *llist; weed_plant_t *start_event; weed_plant_t *end_event; - weed_plant_t *last_frame_event=NULL; + weed_plant_t *last_frame_event = NULL; - weed_timecode_t start_tc=q_gint64(mt->region_start*U_SEC,mt->fps); - weed_timecode_t end_tc=q_gint64(mt->region_end*U_SEC-U_SEC/mt->fps,mt->fps); - weed_timecode_t last_frame_tc=0; + weed_timecode_t start_tc = q_gint64(mt->region_start * U_SEC, mt->fps); + weed_timecode_t end_tc = q_gint64(mt->region_end * U_SEC - U_SEC / mt->fps, mt->fps); + weed_timecode_t last_frame_tc = 0; char *filter_name; - char *tname,*track_desc; - char *tmp,*tmp1; + char *tname, *track_desc; + char *tmp, *tmp1; - int numtracks=lives_list_length(mt->selected_tracks); - int tcount=0,tlast=-1000000,tsmall=-1,ctrack; + int numtracks = lives_list_length(mt->selected_tracks); + int tcount = 0, tlast = -1000000, tsmall = -1, ctrack; - int *tracks=(int *)lives_malloc(numtracks*sizint); + int *tracks = (int *)lives_malloc(numtracks * sizint); // sort selected tracks into ascending order - while (tcount<numtracks) { - tsmall=-1000000; - llist=mt->selected_tracks; - while (llist!=NULL) { - ctrack=LIVES_POINTER_TO_INT(llist->data); - if ((tsmall==-1000000||ctrack<tsmall)&&ctrack>tlast) tsmall=ctrack; - llist=llist->next; + while (tcount < numtracks) { + tsmall = -1000000; + llist = mt->selected_tracks; + while (llist != NULL) { + ctrack = LIVES_POINTER_TO_INT(llist->data); + if ((tsmall == -1000000 || ctrack < tsmall) && ctrack > tlast) tsmall = ctrack; + llist = llist->next; } - tracks[tcount++]=tlast=tsmall; + tracks[tcount++] = tlast = tsmall; } // add blank frames up to region end (if necessary) - if (mt->event_list!=NULL&& - ((last_frame_event=get_last_frame_event(mt->event_list))!=NULL)) last_frame_tc=get_event_timecode(last_frame_event); - if (end_tc>last_frame_tc) mt->event_list=add_blank_frames_up_to(mt->event_list,last_frame_event,end_tc-(double)(tracks[0]<0)*U_SEC/mt->fps, + if (mt->event_list != NULL && + ((last_frame_event = get_last_frame_event(mt->event_list)) != NULL)) last_frame_tc = get_event_timecode(last_frame_event); + if (end_tc > last_frame_tc) mt->event_list = add_blank_frames_up_to(mt->event_list, last_frame_event, + end_tc - (double)(tracks[0] < 0) * U_SEC / mt->fps, mt->fps); - if (menuitem!=NULL) mt->current_fx=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(menuitem),"idx")); + if (menuitem != NULL) mt->current_fx = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(menuitem), "idx")); - start_event=get_frame_event_at(mt->event_list,start_tc,NULL,TRUE); - end_event=get_frame_event_at(mt->event_list,end_tc,start_event,TRUE); + start_event = get_frame_event_at(mt->event_list, start_tc, NULL, TRUE); + end_event = get_frame_event_at(mt->event_list, end_tc, start_event, TRUE); - add_effect_inner(mt,numtracks,tracks,1,&tracks[0],start_event,end_event); + add_effect_inner(mt, numtracks, tracks, 1, &tracks[0], start_event, end_event); - if (menuitem==NULL&&!mt->is_atrans) { + if (menuitem == NULL && !mt->is_atrans) { lives_free(tracks); return; } - mt->last_fx_type=MT_LAST_FX_REGION; + mt->last_fx_type = MT_LAST_FX_REGION; // create user message - filter_name=weed_filter_idx_get_name(mt->current_fx); - numtracks=enabled_in_channels(get_weed_filter(mt->current_fx),TRUE); // count repeated channels + filter_name = weed_filter_idx_get_name(mt->current_fx); + numtracks = enabled_in_channels(get_weed_filter(mt->current_fx), TRUE); // count repeated channels switch (numtracks) { case 1: - tname=lives_fx_cat_to_text(LIVES_FX_CAT_EFFECT,FALSE); // effect - track_desc=lives_strdup_printf(_("track %s"),(tmp=get_track_name(mt,tracks[0],FALSE))); + tname = lives_fx_cat_to_text(LIVES_FX_CAT_EFFECT, FALSE); // effect + track_desc = lives_strdup_printf(_("track %s"), (tmp = get_track_name(mt, tracks[0], FALSE))); lives_free(tmp); break; case 2: - tname=lives_fx_cat_to_text(LIVES_FX_CAT_TRANSITION,FALSE); // transition - track_desc=lives_strdup_printf(_("tracks %s and %s"),(tmp1=get_track_name(mt,tracks[0],FALSE)),(tmp=get_track_name(mt,tracks[1],FALSE))); + tname = lives_fx_cat_to_text(LIVES_FX_CAT_TRANSITION, FALSE); // transition + track_desc = lives_strdup_printf(_("tracks %s and %s"), (tmp1 = get_track_name(mt, tracks[0], FALSE)), (tmp = get_track_name(mt, tracks[1], + FALSE))); lives_free(tmp); lives_free(tmp1); break; default: - tname=lives_fx_cat_to_text(LIVES_FX_CAT_COMPOSITOR,FALSE); // compositor - track_desc=lives_strdup(_("selected tracks")); + tname = lives_fx_cat_to_text(LIVES_FX_CAT_COMPOSITOR, FALSE); // compositor + track_desc = lives_strdup(_("selected tracks")); break; } lives_free(tracks); - d_print(_("Added %s %s to %s from %.4f to %.4f\n"),tname,filter_name,track_desc,start_tc/U_SEC,q_gint64(end_tc+U_SEC/mt->fps, - mt->fps)/U_SEC); + d_print(_("Added %s %s to %s from %.4f to %.4f\n"), tname, filter_name, track_desc, start_tc / U_SEC, q_gint64(end_tc + U_SEC / mt->fps, + mt->fps) / U_SEC); lives_free(filter_name); lives_free(tname); lives_free(track_desc); } + static boolean mt_add_region_effect_idle(livespointer user_data) { - mt_add_region_effect(LIVES_MENU_ITEM(dummy_menuitem),user_data); + mt_add_region_effect(LIVES_MENU_ITEM(dummy_menuitem), user_data); lives_widget_destroy(dummy_menuitem); return FALSE; } void mt_add_block_effect(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - weed_plant_t *start_event=mt->block_selected->start_event; - weed_plant_t *end_event=mt->block_selected->end_event; - weed_timecode_t start_tc=get_event_timecode(start_event); - weed_timecode_t end_tc=get_event_timecode(end_event); + lives_mt *mt = (lives_mt *)user_data; + weed_plant_t *start_event = mt->block_selected->start_event; + weed_plant_t *end_event = mt->block_selected->end_event; + weed_timecode_t start_tc = get_event_timecode(start_event); + weed_timecode_t end_tc = get_event_timecode(end_event); char *filter_name; int selected_track; char *tmp; - selected_track=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mt->block_selected->eventbox),"layer_number")); + selected_track = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mt->block_selected->eventbox), "layer_number")); - if (menuitem!=NULL) mt->current_fx=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(menuitem),"idx")); + if (menuitem != NULL) mt->current_fx = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(menuitem), "idx")); - mt->last_fx_type=MT_LAST_FX_BLOCK; - add_effect_inner(mt,1,&selected_track,1,&selected_track,start_event,end_event); + mt->last_fx_type = MT_LAST_FX_BLOCK; + add_effect_inner(mt, 1, &selected_track, 1, &selected_track, start_event, end_event); - filter_name=weed_filter_idx_get_name(mt->current_fx); + filter_name = weed_filter_idx_get_name(mt->current_fx); - d_print(_("Added effect %s to track %s from %.4f to %.4f\n"),filter_name, - (tmp=get_track_name(mt,selected_track,mt->aud_track_selected)), - start_tc/U_SEC,q_gint64(end_tc+U_SEC/mt->fps,mt->fps)/U_SEC); + d_print(_("Added effect %s to track %s from %.4f to %.4f\n"), filter_name, + (tmp = get_track_name(mt, selected_track, mt->aud_track_selected)), + start_tc / U_SEC, q_gint64(end_tc + U_SEC / mt->fps, mt->fps) / U_SEC); lives_free(tmp); lives_free(filter_name); } + static boolean mt_add_block_effect_idle(livespointer user_data) { - mt_add_block_effect(LIVES_MENU_ITEM(dummy_menuitem),user_data); + mt_add_block_effect(LIVES_MENU_ITEM(dummy_menuitem), user_data); lives_widget_destroy(dummy_menuitem); return FALSE; } + void on_mt_list_fx_activate(LiVESMenuItem *menuitem, livespointer user_data) { // list effects at current frame/track - lives_mt *mt=(lives_mt *)user_data; - polymorph(mt,POLY_FX_STACK); + lives_mt *mt = (lives_mt *)user_data; + polymorph(mt, POLY_FX_STACK); } void on_mt_delfx_activate(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; - weed_timecode_t start_tc,end_tc; + weed_timecode_t start_tc, end_tc; - weed_plant_t *deinit_event,*init_event=mt->selected_init_event; + weed_plant_t *deinit_event, *init_event = mt->selected_init_event; int *tracks; - char *fhash,*filter_name; - char *tname,*track_desc; - char *tmp,*tmp1; + char *fhash, *filter_name; + char *tname, *track_desc; + char *tmp, *tmp1; - boolean did_backup=mt->did_backup; + boolean did_backup = mt->did_backup; int numtracks; int error; - if (mt->selected_init_event==NULL) return; + if (mt->selected_init_event == NULL) return; if (mt->is_rendering) return; - if (!did_backup&&mt->idlefunc>0) { + if (!did_backup && mt->idlefunc > 0) { lives_source_remove(mt->idlefunc); - mt->idlefunc=0; + mt->idlefunc = 0; } - fhash=weed_get_string_value(init_event,WEED_LEAF_FILTER,&error); - mt->current_fx=weed_get_idx_for_hashname(fhash,TRUE); + fhash = weed_get_string_value(init_event, WEED_LEAF_FILTER, &error); + mt->current_fx = weed_get_idx_for_hashname(fhash, TRUE); lives_free(fhash); - deinit_event=(weed_plant_t *)weed_get_voidptr_value(init_event,WEED_LEAF_DEINIT_EVENT,&error); - filter_name=weed_filter_idx_get_name(mt->current_fx); - start_tc=get_event_timecode(init_event); - end_tc=get_event_timecode(deinit_event)+U_SEC/mt->fps; + deinit_event = (weed_plant_t *)weed_get_voidptr_value(init_event, WEED_LEAF_DEINIT_EVENT, &error); + filter_name = weed_filter_idx_get_name(mt->current_fx); + start_tc = get_event_timecode(init_event); + end_tc = get_event_timecode(deinit_event) + U_SEC / mt->fps; - numtracks=weed_leaf_num_elements(init_event,WEED_LEAF_IN_TRACKS); - tracks=weed_get_int_array(init_event,WEED_LEAF_IN_TRACKS,&error); + numtracks = weed_leaf_num_elements(init_event, WEED_LEAF_IN_TRACKS); + tracks = weed_get_int_array(init_event, WEED_LEAF_IN_TRACKS, &error); - numtracks=enabled_in_channels(get_weed_filter(mt->current_fx),TRUE); // count repeated channels + numtracks = enabled_in_channels(get_weed_filter(mt->current_fx), TRUE); // count repeated channels switch (numtracks) { case 1: - tname=lives_fx_cat_to_text(LIVES_FX_CAT_EFFECT,FALSE); // effect - track_desc=lives_strdup_printf(_("track %s"),(tmp=get_track_name(mt,tracks[0],FALSE))); + tname = lives_fx_cat_to_text(LIVES_FX_CAT_EFFECT, FALSE); // effect + track_desc = lives_strdup_printf(_("track %s"), (tmp = get_track_name(mt, tracks[0], FALSE))); lives_free(tmp); break; case 2: - tname=lives_fx_cat_to_text(LIVES_FX_CAT_TRANSITION,FALSE); // transition - track_desc=lives_strdup_printf(_("tracks %s and %s"),(tmp1=get_track_name(mt,tracks[0],FALSE)),(tmp=get_track_name(mt,tracks[1],FALSE))); + tname = lives_fx_cat_to_text(LIVES_FX_CAT_TRANSITION, FALSE); // transition + track_desc = lives_strdup_printf(_("tracks %s and %s"), (tmp1 = get_track_name(mt, tracks[0], FALSE)), (tmp = get_track_name(mt, tracks[1], + FALSE))); lives_free(tmp); lives_free(tmp1); break; default: - tname=lives_fx_cat_to_text(LIVES_FX_CAT_COMPOSITOR,FALSE); // compositor - track_desc=lives_strdup(_("selected tracks")); + tname = lives_fx_cat_to_text(LIVES_FX_CAT_COMPOSITOR, FALSE); // compositor + track_desc = lives_strdup(_("selected tracks")); break; } lives_free(tracks); - if (!did_backup) mt_backup(mt,MT_UNDO_DELETE_FILTER,0); + if (!did_backup) mt_backup(mt, MT_UNDO_DELETE_FILTER, 0); - remove_filter_from_event_list(mt->event_list,mt->selected_init_event); - remove_end_blank_frames(mt->event_list,TRUE); + remove_filter_from_event_list(mt->event_list, mt->selected_init_event); + remove_end_blank_frames(mt->event_list, TRUE); - d_print(_("Deleted %s %s from %s from %.4f to %.4f\n"),tname,filter_name,track_desc,start_tc/U_SEC,end_tc/U_SEC); + d_print(_("Deleted %s %s from %s from %.4f to %.4f\n"), tname, filter_name, track_desc, start_tc / U_SEC, end_tc / U_SEC); lives_free(filter_name); lives_free(track_desc); - mt->selected_init_event=NULL; - mt->current_fx=-1; - if (mt->poly_state==POLY_PARAMS) polymorph(mt,POLY_CLIPS); - else if (mt->poly_state==POLY_FX_STACK) polymorph(mt,POLY_FX_STACK); + mt->selected_init_event = NULL; + mt->current_fx = -1; + if (mt->poly_state == POLY_PARAMS) polymorph(mt, POLY_CLIPS); + else if (mt->poly_state == POLY_FX_STACK) polymorph(mt, POLY_FX_STACK); mt_show_current_frame(mt, FALSE); - mt->did_backup=did_backup; - - if (!did_backup) mt->idlefunc=mt_idle_add(mt); - if (!did_backup&&prefs->mt_auto_back==0) mt_auto_backup(mt); + mt->did_backup = did_backup; + if (!did_backup) mt->idlefunc = mt_idle_add(mt); + if (!did_backup && prefs->mt_auto_back == 0) mt_auto_backup(mt); } static void mt_jumpto(lives_mt *mt, lives_direction_t dir) { track_rect *block; - weed_timecode_t tc=q_gint64(mt->ptr_time*U_SEC,mt->fps); - weed_timecode_t start_tc,end_tc; + weed_timecode_t tc = q_gint64(mt->ptr_time * U_SEC, mt->fps); + weed_timecode_t start_tc, end_tc; LiVESWidget *eventbox; - double secs=tc/U_SEC; - double offs=1.; + double secs = tc / U_SEC; + double offs = 1.; - if (mt->current_track>-1&&!mt->aud_track_selected) eventbox=(LiVESWidget *)lives_list_nth_data(mt->video_draws,mt->current_track); + if (mt->current_track > -1 && !mt->aud_track_selected) eventbox = (LiVESWidget *)lives_list_nth_data(mt->video_draws, mt->current_track); else { - eventbox=(LiVESWidget *)lives_list_nth_data(mt->audio_draws,mt->current_track+mt->opts.back_audio_tracks); - offs=0.; + eventbox = (LiVESWidget *)lives_list_nth_data(mt->audio_draws, mt->current_track + mt->opts.back_audio_tracks); + offs = 0.; } - block=get_block_from_time(eventbox,secs,mt); + block = get_block_from_time(eventbox, secs, mt); - if (block!=NULL) { - if (dir==DIRECTION_NEGATIVE) { - if (tc==(start_tc=get_event_timecode(block->start_event))) { - secs-=1./mt->fps; - block=NULL; - } else secs=start_tc/U_SEC; + if (block != NULL) { + if (dir == DIRECTION_NEGATIVE) { + if (tc == (start_tc = get_event_timecode(block->start_event))) { + secs -= 1. / mt->fps; + block = NULL; + } else secs = start_tc / U_SEC; } else { - if (tc==q_gint64((end_tc=get_event_timecode(block->end_event))+(offs*U_SEC)/mt->fps,mt->fps)) { - secs+=1./mt->fps; - block=NULL; - } else secs=end_tc/U_SEC+offs/mt->fps; + if (tc == q_gint64((end_tc = get_event_timecode(block->end_event)) + (offs * U_SEC) / mt->fps, mt->fps)) { + secs += 1. / mt->fps; + block = NULL; + } else secs = end_tc / U_SEC + offs / mt->fps; } } - if (block==NULL) { - if (dir==DIRECTION_NEGATIVE) { - block=get_block_before(eventbox,secs,TRUE); - if (block==NULL) secs=0.; + if (block == NULL) { + if (dir == DIRECTION_NEGATIVE) { + block = get_block_before(eventbox, secs, TRUE); + if (block == NULL) secs = 0.; else { - if (tc==q_gint64((end_tc=get_event_timecode(block->end_event))+(offs*U_SEC)/mt->fps,mt->fps)) { - secs=get_event_timecode(block->start_event)/U_SEC; - } else secs=end_tc/U_SEC+offs/mt->fps; + if (tc == q_gint64((end_tc = get_event_timecode(block->end_event)) + (offs * U_SEC) / mt->fps, mt->fps)) { + secs = get_event_timecode(block->start_event) / U_SEC; + } else secs = end_tc / U_SEC + offs / mt->fps; } } else { - block=get_block_after(eventbox,secs,FALSE); - if (block==NULL) return; - secs=get_event_timecode(block->start_event)/U_SEC; + block = get_block_after(eventbox, secs, FALSE); + if (block == NULL) return; + secs = get_event_timecode(block->start_event) / U_SEC; } } - if (secs<0.) secs=0.; - if (secs>mt->end_secs) set_timeline_end_secs(mt, secs); - mt->fm_edit_event=NULL; - mt_tl_move(mt,secs); + if (secs < 0.) secs = 0.; + if (secs > mt->end_secs) set_timeline_end_secs(mt, secs); + mt->fm_edit_event = NULL; + mt_tl_move(mt, secs); } void on_jumpback_activate(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - mt_jumpto(mt,DIRECTION_NEGATIVE); + lives_mt *mt = (lives_mt *)user_data; + mt_jumpto(mt, DIRECTION_NEGATIVE); } void on_jumpnext_activate(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - mt_jumpto(mt,DIRECTION_POSITIVE); + lives_mt *mt = (lives_mt *)user_data; + mt_jumpto(mt, DIRECTION_POSITIVE); } - void on_rename_track_activate(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; _entryw *rnentry; LiVESWidget *xeventbox; @@ -15894,99 +15436,95 @@ int response; - if (mt->current_track<0) return; + if (mt->current_track < 0) return; - xeventbox=(LiVESWidget *)lives_list_nth_data(mt->video_draws,mt->current_track); + xeventbox = (LiVESWidget *)lives_list_nth_data(mt->video_draws, mt->current_track); - cname=(char *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox),"track_name"); + cname = (char *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(xeventbox), "track_name"); - rnentry=create_rename_dialog(7); + rnentry = create_rename_dialog(7); - response=lives_dialog_run(LIVES_DIALOG(rnentry->dialog)); + response = lives_dialog_run(LIVES_DIALOG(rnentry->dialog)); - if (response==LIVES_RESPONSE_CANCEL) return; // destroyed and freed in a callback + if (response == LIVES_RESPONSE_CANCEL) return; // destroyed and freed in a callback lives_free(cname); - cname=lives_strdup(lives_entry_get_text(LIVES_ENTRY(rnentry->entry))); + cname = lives_strdup(lives_entry_get_text(LIVES_ENTRY(rnentry->entry))); lives_widget_destroy(rnentry->dialog); lives_free(rnentry); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(xeventbox),"track_name",cname); - - set_track_label(LIVES_EVENT_BOX(xeventbox),mt->current_track); - + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(xeventbox), "track_name", cname); + set_track_label(LIVES_EVENT_BOX(xeventbox), mt->current_track); } - void on_cback_audio_activate(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - mt->current_track=-1; + lives_mt *mt = (lives_mt *)user_data; + mt->current_track = -1; track_select(mt); } - boolean on_render_activate(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; char *com; - boolean had_audio=FALSE; - boolean post_reset_ba=FALSE; - boolean post_reset_ca=FALSE; + boolean had_audio = FALSE; + boolean post_reset_ba = FALSE; + boolean post_reset_ca = FALSE; - boolean retval=FALSE; + boolean retval = FALSE; // save these values, because reget_afilesize() can reset them - int arate=cfile->arate; - int arps=cfile->arps; - int asampsize=cfile->asampsize; - int achans=cfile->achans; - int signed_endian=cfile->signed_endian; + int arate = cfile->arate; + int arps = cfile->arps; + int asampsize = cfile->asampsize; + int achans = cfile->achans; + int signed_endian = cfile->signed_endian; int orig_file; register int i; - if (mt->idlefunc>0) { + if (mt->idlefunc > 0) { lives_source_remove(mt->idlefunc); - mt->idlefunc=0; + mt->idlefunc = 0; } - if (menuitem==NULL) { + if (menuitem == NULL) { // pre-render audio (not used currently) - mt->pr_audio=TRUE; - had_audio=mt->has_audio_file; + mt->pr_audio = TRUE; + had_audio = mt->has_audio_file; if (had_audio) { lives_rm(cfile->info_file); - mainw->error=FALSE; - mainw->cancelled=CANCEL_NONE; - com=lives_strdup_printf("%s backup_audio \"%s\"",prefs->backend_sync,cfile->handle); - lives_system(com,FALSE); + mainw->error = FALSE; + mainw->cancelled = CANCEL_NONE; + com = lives_strdup_printf("%s backup_audio \"%s\"", prefs->backend_sync, cfile->handle); + lives_system(com, FALSE); lives_free(com); check_backend_return(cfile); if (mainw->error) return FALSE; } - mt->has_audio_file=TRUE; + mt->has_audio_file = TRUE; } else { - mt->pr_audio=FALSE; + mt->pr_audio = FALSE; } mt_desensitise(mt); - mainw->event_list=mt->event_list; + mainw->event_list = mt->event_list; - mt->is_rendering=TRUE; // use this to test for rendering from mt (not mainw->is_rendering) - lives_widget_set_sensitive(mt->render_vid,FALSE); - lives_widget_set_sensitive(mt->render_aud,FALSE); - lives_widget_set_sensitive(mt->normalise_aud,FALSE); + mt->is_rendering = TRUE; // use this to test for rendering from mt (not mainw->is_rendering) + lives_widget_set_sensitive(mt->render_vid, FALSE); + lives_widget_set_sensitive(mt->render_aud, FALSE); + lives_widget_set_sensitive(mt->normalise_aud, FALSE); - if (mt->poly_state==POLY_PARAMS) polymorph(mt,POLY_FX_STACK); + if (mt->poly_state == POLY_PARAMS) polymorph(mt, POLY_FX_STACK); - mt->pb_start_event=get_first_event(mainw->event_list); + mt->pb_start_event = get_first_event(mainw->event_list); if (mt->opts.normalise_audp) { // Normalise audio (preference) @@ -15995,115 +15533,112 @@ // - although this would be time consuming when clicking or activating "render" in mt // auto-adjust mixer levels: - boolean has_backing_audio=FALSE; - boolean has_channel_audio=FALSE; + boolean has_backing_audio = FALSE; + boolean has_channel_audio = FALSE; // -> if we have either but not both: backing audio or channel audio - if (mt->opts.back_audio_tracks>=1) { + if (mt->opts.back_audio_tracks >= 1) { // check backing track(s) for audio blocks - for (i=0; i<mt->opts.back_audio_tracks; i++) { - if (!is_empty_track(LIVES_WIDGET_OBJECT(lives_list_nth_data(mt->audio_draws,i)))) { - if (get_mixer_track_vol(mt,i)==0.5) { - has_backing_audio=TRUE; + for (i = 0; i < mt->opts.back_audio_tracks; i++) { + if (!is_empty_track(LIVES_WIDGET_OBJECT(lives_list_nth_data(mt->audio_draws, i)))) { + if (get_mixer_track_vol(mt, i) == 0.5) { + has_backing_audio = TRUE; } } } } - for (i=mt->opts.back_audio_tracks; i<lives_list_length(mt->audio_draws); i++) { + for (i = mt->opts.back_audio_tracks; i < lives_list_length(mt->audio_draws); i++) { // check channel track(s) for audio blocks - if (!is_empty_track(LIVES_WIDGET_OBJECT(lives_list_nth_data(mt->audio_draws,i)))) { - if (get_mixer_track_vol(mt,i)==0.5) { - has_channel_audio=TRUE; + if (!is_empty_track(LIVES_WIDGET_OBJECT(lives_list_nth_data(mt->audio_draws, i)))) { + if (get_mixer_track_vol(mt, i) == 0.5) { + has_channel_audio = TRUE; } } } - // first checks done ^ - if (has_backing_audio&&!has_channel_audio) { + if (has_backing_audio && !has_channel_audio) { // backing but no channel audio // -> // if ALL backing levels are at 0.5, set them to 1.0 - for (i=0; i<mt->opts.back_audio_tracks; i++) { - if (!is_empty_track(LIVES_WIDGET_OBJECT(lives_list_nth_data(mt->audio_draws,i)))) { - if (get_mixer_track_vol(mt,i)!=0.5) { - has_backing_audio=FALSE; + for (i = 0; i < mt->opts.back_audio_tracks; i++) { + if (!is_empty_track(LIVES_WIDGET_OBJECT(lives_list_nth_data(mt->audio_draws, i)))) { + if (get_mixer_track_vol(mt, i) != 0.5) { + has_backing_audio = FALSE; break; } } } if (has_backing_audio) { - post_reset_ba=TRUE; // reset levels after rendering - for (i=0; i<mt->opts.back_audio_tracks; i++) { - if (!is_empty_track(LIVES_WIDGET_OBJECT(lives_list_nth_data(mt->audio_draws,i)))) { - set_mixer_track_vol(mt,i,1.0); + post_reset_ba = TRUE; // reset levels after rendering + for (i = 0; i < mt->opts.back_audio_tracks; i++) { + if (!is_empty_track(LIVES_WIDGET_OBJECT(lives_list_nth_data(mt->audio_draws, i)))) { + set_mixer_track_vol(mt, i, 1.0); } } } } - - if (!has_backing_audio&&has_channel_audio) { + if (!has_backing_audio && has_channel_audio) { // channel but no backing audio // -> // if ALL channel levels are at 0.5, set them all to 1.0 - for (i=mt->opts.back_audio_tracks; i<lives_list_length(mt->audio_draws); i++) { + for (i = mt->opts.back_audio_tracks; i < lives_list_length(mt->audio_draws); i++) { // check channel track(s) for audio blocks - if (!is_empty_track(LIVES_WIDGET_OBJECT(lives_list_nth_data(mt->audio_draws,i)))) { - if (get_mixer_track_vol(mt,i)!=0.5) { - has_channel_audio=FALSE; + if (!is_empty_track(LIVES_WIDGET_OBJECT(lives_list_nth_data(mt->audio_draws, i)))) { + if (get_mixer_track_vol(mt, i) != 0.5) { + has_channel_audio = FALSE; } } } if (has_channel_audio) { - post_reset_ca=TRUE; // reset levels after rendering - for (i=mt->opts.back_audio_tracks; i<lives_list_length(mt->audio_draws); i++) { - if (!is_empty_track(LIVES_WIDGET_OBJECT(lives_list_nth_data(mt->audio_draws,i)))) { + post_reset_ca = TRUE; // reset levels after rendering + for (i = mt->opts.back_audio_tracks; i < lives_list_length(mt->audio_draws); i++) { + if (!is_empty_track(LIVES_WIDGET_OBJECT(lives_list_nth_data(mt->audio_draws, i)))) { // set to 1.0 - set_mixer_track_vol(mt,i,1.0); + set_mixer_track_vol(mt, i, 1.0); } } } } } - if (render_to_clip(FALSE)) { // rendering was successful #if 0 if (mt->pr_audio) { - mt->pr_audio=FALSE; + mt->pr_audio = FALSE; d_print_done(); - lives_widget_set_sensitive(mt->render_vid,TRUE); - lives_widget_set_sensitive(mt->render_aud,TRUE); - lives_widget_set_sensitive(mt->normalise_aud,TRUE); - mt->idlefunc=mt_idle_add(mt); + lives_widget_set_sensitive(mt->render_vid, TRUE); + lives_widget_set_sensitive(mt->render_aud, TRUE); + lives_widget_set_sensitive(mt->normalise_aud, TRUE); + mt->idlefunc = mt_idle_add(mt); return FALSE; } #endif - cfile->start=cfile->frames>0?1:0; - cfile->end=cfile->frames; - if (cfile->frames==0) { - cfile->hsize=cfile->vsize=0; + cfile->start = cfile->frames > 0 ? 1 : 0; + cfile->end = cfile->frames; + if (cfile->frames == 0) { + cfile->hsize = cfile->vsize = 0; } - set_undoable(NULL,FALSE); - cfile->changed=TRUE; + set_undoable(NULL, FALSE); + cfile->changed = TRUE; add_to_clipmenu(); - mt->file_selected=orig_file=mainw->current_file; - d_print(_("rendered %d frames to new clip.\n"),cfile->frames); - if (mainw->scrap_file!=-1||mainw->ascrap_file!=-1) mt->changed=FALSE; - mt->is_rendering=FALSE; + mt->file_selected = orig_file = mainw->current_file; + d_print(_("rendered %d frames to new clip.\n"), cfile->frames); + if (mainw->scrap_file != -1 || mainw->ascrap_file != -1) mt->changed = FALSE; + mt->is_rendering = FALSE; save_clip_values(orig_file); @@ -16112,10 +15647,10 @@ if (post_reset_ba) { // reset after normalising backing audio - for (i=0; i<mt->opts.back_audio_tracks; i++) { - if (!is_empty_track(LIVES_WIDGET_OBJECT(lives_list_nth_data(mt->audio_draws,i)))) { - if (get_mixer_track_vol(mt,i)==1.0) { - set_mixer_track_vol(mt,i,0.5); + for (i = 0; i < mt->opts.back_audio_tracks; i++) { + if (!is_empty_track(LIVES_WIDGET_OBJECT(lives_list_nth_data(mt->audio_draws, i)))) { + if (get_mixer_track_vol(mt, i) == 1.0) { + set_mixer_track_vol(mt, i, 0.5); } } } @@ -16123,97 +15658,96 @@ if (post_reset_ca) { // reset after normalising channel audio - for (i=mt->opts.back_audio_tracks; i<lives_list_length(mt->audio_draws); i++) { - if (!is_empty_track(LIVES_WIDGET_OBJECT(lives_list_nth_data(mt->audio_draws,i)))) { - if (get_mixer_track_vol(mt,i)==1.0) { - set_mixer_track_vol(mt,i,0.5); + for (i = mt->opts.back_audio_tracks; i < lives_list_length(mt->audio_draws); i++) { + if (!is_empty_track(LIVES_WIDGET_OBJECT(lives_list_nth_data(mt->audio_draws, i)))) { + if (get_mixer_track_vol(mt, i) == 1.0) { + set_mixer_track_vol(mt, i, 0.5); } } } } - mainw->current_file=mainw->first_free_file; + mainw->current_file = mainw->first_free_file; - if (!get_new_handle(mainw->current_file,NULL)) { - mainw->current_file=orig_file; - if (!multitrack_end(NULL,user_data)) switch_to_file((mainw->current_file=0),orig_file); - mt->idlefunc=mt_idle_add(mt); + if (!get_new_handle(mainw->current_file, NULL)) { + mainw->current_file = orig_file; + if (!multitrack_end(NULL, user_data)) switch_to_file((mainw->current_file = 0), orig_file); + mt->idlefunc = mt_idle_add(mt); return FALSE; } - cfile->hsize=mainw->files[orig_file]->hsize; - cfile->vsize=mainw->files[orig_file]->vsize; + cfile->hsize = mainw->files[orig_file]->hsize; + cfile->vsize = mainw->files[orig_file]->vsize; - cfile->img_type=mainw->files[orig_file]->img_type; + cfile->img_type = mainw->files[orig_file]->img_type; - cfile->pb_fps=cfile->fps=mainw->files[orig_file]->fps; - cfile->ratio_fps=mainw->files[orig_file]->ratio_fps; + cfile->pb_fps = cfile->fps = mainw->files[orig_file]->fps; + cfile->ratio_fps = mainw->files[orig_file]->ratio_fps; - cfile->arate=arate; - cfile->arps=arps; - cfile->asampsize=asampsize; + cfile->arate = arate; + cfile->arps = arps; + cfile->asampsize = asampsize; - cfile->achans=achans; - cfile->signed_endian=signed_endian; + cfile->achans = achans; + cfile->signed_endian = signed_endian; - cfile->bpp=cfile->img_type==IMG_TYPE_JPEG?24:32; - cfile->changed=TRUE; - cfile->is_loaded=TRUE; + cfile->bpp = cfile->img_type == IMG_TYPE_JPEG ? 24 : 32; + cfile->changed = TRUE; + cfile->is_loaded = TRUE; - cfile->old_frames=cfile->frames; + cfile->old_frames = cfile->frames; - mt->render_file=mainw->current_file; + mt->render_file = mainw->current_file; if (prefs->mt_exit_render) { - if (multitrack_end(menuitem,user_data)) return TRUE; + if (multitrack_end(menuitem, user_data)) return TRUE; } - mt_init_clips(mt,orig_file,TRUE); - if (mt->idlefunc>0) lives_source_remove(mt->idlefunc); - mt->idlefunc=0; + mt_init_clips(mt, orig_file, TRUE); + if (mt->idlefunc > 0) lives_source_remove(mt->idlefunc); + mt->idlefunc = 0; lives_widget_context_update(); - mt_clip_select(mt,TRUE); + mt_clip_select(mt, TRUE); - retval=TRUE; + retval = TRUE; } else { char *curworkdir; // rendering failed - clean up - cfile->frames=cfile->start=cfile->end=0; - mt->is_rendering=FALSE; + cfile->frames = cfile->start = cfile->end = 0; + mt->is_rendering = FALSE; - mainw->event_list=NULL; + mainw->event_list = NULL; if (mt->pr_audio) { - com=lives_strdup_printf("%s undo_audio \"%s\"",prefs->backend_sync,cfile->handle); - lives_system(com,FALSE); + com = lives_strdup_printf("%s undo_audio \"%s\"", prefs->backend_sync, cfile->handle); + lives_system(com, FALSE); lives_free(com); - mt->has_audio_file=had_audio; + mt->has_audio_file = had_audio; } else { // remove subdir - do_threaded_dialog(_("Cleaning up..."),FALSE); - curworkdir=lives_build_filename(prefs->workdir,cfile->handle,NULL); - lives_rmdir(curworkdir,TRUE); + do_threaded_dialog(_("Cleaning up..."), FALSE); + curworkdir = lives_build_filename(prefs->workdir, cfile->handle, NULL); + lives_rmdir(curworkdir, TRUE); end_threaded_dialog(); } - } // enable GUI for next rendering - lives_widget_set_sensitive(mt->render_vid,TRUE); - lives_widget_set_sensitive(mt->render_aud,TRUE); - lives_widget_set_sensitive(mt->normalise_aud,TRUE); + lives_widget_set_sensitive(mt->render_vid, TRUE); + lives_widget_set_sensitive(mt->render_aud, TRUE); + lives_widget_set_sensitive(mt->normalise_aud, TRUE); mt_sensitise(mt); - mt->idlefunc=mt_idle_add(mt); + mt->idlefunc = mt_idle_add(mt); return retval; } void on_prerender_aud_activate(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - on_render_activate(menuitem,user_data); - mainw->is_rendering=mainw->internal_messaging=mt->is_rendering=FALSE; + lives_mt *mt = (lives_mt *)user_data; + on_render_activate(menuitem, user_data); + mainw->is_rendering = mainw->internal_messaging = mt->is_rendering = FALSE; mt_sensitise(mt); lives_widget_set_sensitive(mt->prerender_aud, FALSE); } @@ -16244,13 +15778,12 @@ // then, if the deinit event is within the old block, it is moved left until we find the frames for it similarly + LiVESList *moved_events = NULL; - LiVESList *moved_events=NULL; - - weed_plant_t *event,*event_next; - weed_plant_t *init_event,*deinit_event; + weed_plant_t *event, *event_next; + weed_plant_t *init_event, *deinit_event; - weed_timecode_t last_frame_tc=0,event_tc; + weed_timecode_t last_frame_tc = 0, event_tc; boolean was_moved; boolean leave_event; @@ -16260,99 +15793,99 @@ register int i; - event=get_last_frame_event(mt->event_list); - if (event!=NULL) last_frame_tc=get_event_timecode(event); + event = get_last_frame_event(mt->event_list); + if (event != NULL) last_frame_tc = get_event_timecode(event); // find first event inside old block - if (first_event==NULL) event=get_first_event(mt->event_list); - else event=get_next_event(first_event); - while (event!=NULL&&get_event_timecode(event)<start_tc) event=get_next_event(event); + if (first_event == NULL) event = get_first_event(mt->event_list); + else event = get_next_event(first_event); + while (event != NULL && get_event_timecode(event) < start_tc) event = get_next_event(event); - while (event!=NULL&&get_event_timecode(event)<=end_tc) { + while (event != NULL && get_event_timecode(event) <= end_tc) { // step through all events in old block - event_next=get_next_event(event); - was_moved=FALSE; + event_next = get_next_event(event); + was_moved = FALSE; if (WEED_EVENT_IS_FILTER_INIT(event)) { // filter init event - if (event==mt->avol_init_event) { - event=event_next; + if (event == mt->avol_init_event) { + event = event_next; continue; // we move our audio volume effect using a separate mechanism } - if (mt->opts.move_effects&&mt->moving_block) { + if (mt->opts.move_effects && mt->moving_block) { // move effects - if (weed_plant_has_leaf(event,WEED_LEAF_DEINIT_EVENT)&&weed_plant_has_leaf(event,WEED_LEAF_IN_TRACKS)&& - weed_leaf_num_elements(event,WEED_LEAF_IN_TRACKS)==1&&weed_get_int_value(event,WEED_LEAF_IN_TRACKS,&error)==track) { + if (weed_plant_has_leaf(event, WEED_LEAF_DEINIT_EVENT) && weed_plant_has_leaf(event, WEED_LEAF_IN_TRACKS) && + weed_leaf_num_elements(event, WEED_LEAF_IN_TRACKS) == 1 && weed_get_int_value(event, WEED_LEAF_IN_TRACKS, &error) == track) { // this effect has a deinit_event, it has one in_track, which is this one - deinit_event=(weed_plant_t *)weed_get_voidptr_value(event,WEED_LEAF_DEINIT_EVENT,&error); - if (get_event_timecode(deinit_event)<=end_tc) { + deinit_event = (weed_plant_t *)weed_get_voidptr_value(event, WEED_LEAF_DEINIT_EVENT, &error); + if (get_event_timecode(deinit_event) <= end_tc) { //if the effect also ends within the block, we will move it to the new block - if (lives_list_index(moved_events,event)==-1) { + if (lives_list_index(moved_events, event) == -1) { // update owners,in_tracks and out_tracks - weed_set_int_value(event,WEED_LEAF_IN_TRACKS,new_track); // update the in_track to the new one + weed_set_int_value(event, WEED_LEAF_IN_TRACKS, new_track); // update the in_track to the new one - if (weed_plant_has_leaf(event,WEED_LEAF_OUT_TRACKS)) { - int *out_tracks=weed_get_int_array(event,WEED_LEAF_OUT_TRACKS,&error); - int num_tracks=weed_leaf_num_elements(event,WEED_LEAF_OUT_TRACKS); - for (i=0; i<num_tracks; i++) { + if (weed_plant_has_leaf(event, WEED_LEAF_OUT_TRACKS)) { + int *out_tracks = weed_get_int_array(event, WEED_LEAF_OUT_TRACKS, &error); + int num_tracks = weed_leaf_num_elements(event, WEED_LEAF_OUT_TRACKS); + for (i = 0; i < num_tracks; i++) { // update the out_track to the new one - if (out_tracks[i]==track) out_tracks[i]=new_track; + if (out_tracks[i] == track) out_tracks[i] = new_track; } - weed_set_int_array(event,WEED_LEAF_OUT_TRACKS,num_tracks,out_tracks); + weed_set_int_array(event, WEED_LEAF_OUT_TRACKS, num_tracks, out_tracks); lives_free(out_tracks); } // move to new position - if (new_start_tc<start_tc) { + if (new_start_tc < start_tc) { // if moving earlier, we need to move the init_event first, then the deinit_event // this will also update the filter_maps, and param_changes - move_filter_init_event(mt->event_list,get_event_timecode(event)+new_start_tc-start_tc,event,mt->fps); - move_filter_deinit_event(mt->event_list,get_event_timecode(deinit_event)+new_start_tc-start_tc, - deinit_event,mt->fps,TRUE); - if (event==first_event) first_event=NULL; - was_moved=TRUE; - } else if (new_start_tc>start_tc) { + move_filter_init_event(mt->event_list, get_event_timecode(event) + new_start_tc - start_tc, event, mt->fps); + move_filter_deinit_event(mt->event_list, get_event_timecode(deinit_event) + new_start_tc - start_tc, + deinit_event, mt->fps, TRUE); + if (event == first_event) first_event = NULL; + was_moved = TRUE; + } else if (new_start_tc > start_tc) { // if moving later, we need to move the deinit_event first, then the init_event // this will also update the filter_maps, and param_changes - move_filter_deinit_event(mt->event_list,get_event_timecode(deinit_event)+new_start_tc-start_tc, - deinit_event,mt->fps,TRUE); - move_filter_init_event(mt->event_list,get_event_timecode(event)+new_start_tc-start_tc,event,mt->fps); - if (event==first_event) first_event=NULL; - was_moved=TRUE; + move_filter_deinit_event(mt->event_list, get_event_timecode(deinit_event) + new_start_tc - start_tc, + deinit_event, mt->fps, TRUE); + move_filter_init_event(mt->event_list, get_event_timecode(event) + new_start_tc - start_tc, event, mt->fps); + if (event == first_event) first_event = NULL; + was_moved = TRUE; } // add this effect to our list of moved_events, so we don't end up moving it multiple times - moved_events=lives_list_prepend(moved_events,event); + moved_events = lives_list_prepend(moved_events, event); } } } } - if (lives_list_index(moved_events,event)==-1&&event!=mt->avol_init_event) { - if (weed_plant_has_leaf(event,WEED_LEAF_DEINIT_EVENT)&&weed_plant_has_leaf(event,WEED_LEAF_IN_TRACKS)&& - (nins=weed_leaf_num_elements(event,WEED_LEAF_IN_TRACKS))<=2) { + if (lives_list_index(moved_events, event) == -1 && event != mt->avol_init_event) { + if (weed_plant_has_leaf(event, WEED_LEAF_DEINIT_EVENT) && weed_plant_has_leaf(event, WEED_LEAF_IN_TRACKS) && + (nins = weed_leaf_num_elements(event, WEED_LEAF_IN_TRACKS)) <= 2) { - int *in_tracks=weed_get_int_array(event,WEED_LEAF_IN_TRACKS,&error); - if (in_tracks[0]==track||(nins==2&&in_tracks[1]==track)) { + int *in_tracks = weed_get_int_array(event, WEED_LEAF_IN_TRACKS, &error); + if (in_tracks[0] == track || (nins == 2 && in_tracks[1] == track)) { // if the event wasnt moved (either because user chose not to, or block was deleted, or it had 2 tracks) // move the init_event to the right until we find frames from all tracks. If we pass the deinit_event then // the effect is removed. // Effects with one in_track which is other, or effects with >2 in tracks, do not suffer this fate. - deinit_event=(weed_plant_t *)weed_get_voidptr_value(event,WEED_LEAF_DEINIT_EVENT,&error); + deinit_event = (weed_plant_t *)weed_get_voidptr_value(event, WEED_LEAF_DEINIT_EVENT, &error); - if (get_event_timecode(deinit_event)<=end_tc) { - remove_filter_from_event_list(mt->event_list,event); - was_moved=TRUE; - if (event==first_event) first_event=NULL; + if (get_event_timecode(deinit_event) <= end_tc) { + remove_filter_from_event_list(mt->event_list, event); + was_moved = TRUE; + if (event == first_event) first_event = NULL; } else { - if (!move_event_right(mt->event_list,event,TRUE,mt->fps)) { + if (!move_event_right(mt->event_list, event, TRUE, mt->fps)) { // moved event right until it hits a frame from all tracks, if it passed the deinit_event it is removed // param_change events are also scaled in time - was_moved=TRUE; - if (event==first_event) first_event=NULL; + was_moved = TRUE; + if (event == first_event) first_event = NULL; } } } @@ -16360,356 +15893,339 @@ } } } else { - leave_event=TRUE; + leave_event = TRUE; if (WEED_EVENT_IS_FILTER_DEINIT(event)) { // check filter deinit - if (mt->opts.move_effects&&mt->moving_block) { - if (weed_plant_has_leaf(event,WEED_LEAF_INIT_EVENT)) { - init_event=(weed_plant_t *)weed_get_voidptr_value(event,WEED_LEAF_INIT_EVENT,&error); - event_tc=get_event_timecode(event); - if (init_event!=mt->avol_init_event&& - (event_tc>last_frame_tc|| - (lives_list_index(moved_events,init_event)==-1&& - weed_plant_has_leaf(event,WEED_LEAF_IN_TRACKS)&&(nins=weed_leaf_num_elements(event,WEED_LEAF_IN_TRACKS))<=2))) { + if (mt->opts.move_effects && mt->moving_block) { + if (weed_plant_has_leaf(event, WEED_LEAF_INIT_EVENT)) { + init_event = (weed_plant_t *)weed_get_voidptr_value(event, WEED_LEAF_INIT_EVENT, &error); + event_tc = get_event_timecode(event); + if (init_event != mt->avol_init_event && + (event_tc > last_frame_tc || + (lives_list_index(moved_events, init_event) == -1 && + weed_plant_has_leaf(event, WEED_LEAF_IN_TRACKS) && (nins = weed_leaf_num_elements(event, WEED_LEAF_IN_TRACKS)) <= 2))) { // move it if: it is not avol event, and either it is after all frames or init_event was not moved // and it has one or two tracks, one of which is our track - if (event_tc<=last_frame_tc) { - int *in_tracks=weed_get_int_array(event,WEED_LEAF_IN_TRACKS,&error); - if (in_tracks[0]==track||(nins==2&&in_tracks[1]==track)) { - leave_event=FALSE; + if (event_tc <= last_frame_tc) { + int *in_tracks = weed_get_int_array(event, WEED_LEAF_IN_TRACKS, &error); + if (in_tracks[0] == track || (nins == 2 && in_tracks[1] == track)) { + leave_event = FALSE; } lives_free(in_tracks); - } else leave_event=FALSE; + } else leave_event = FALSE; } } } - if (!leave_event&&!move_event_left(mt->event_list,event,TRUE,mt->fps)) { + if (!leave_event && !move_event_left(mt->event_list, event, TRUE, mt->fps)) { // move the event left until it hits a frame from all tracks // if it passes the init_event, it is removed // param change events are also scaled in time - was_moved=TRUE; + was_moved = TRUE; } } } if (was_moved) { // if we moved an event, re-scan from the start of the old block - if (first_event==NULL) event=get_first_event(mt->event_list); - else event=get_next_event(first_event); - while (event!=NULL&&get_event_timecode(event)<start_tc) event=get_next_event(event); + if (first_event == NULL) event = get_first_event(mt->event_list); + else event = get_next_event(first_event); + while (event != NULL && get_event_timecode(event) < start_tc) event = get_next_event(event); } else { - event=event_next; - if (WEED_EVENT_IS_FRAME(event)) first_event=event; + event = event_next; + if (WEED_EVENT_IS_FRAME(event)) first_event = event; } } - if (moved_events!=NULL) lives_list_free(moved_events); + if (moved_events != NULL) lives_list_free(moved_events); } - void on_split_activate(LiVESMenuItem *menuitem, livespointer user_data) { // split current block at current time - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; weed_timecode_t tc; - double timesecs=mt->ptr_time; + double timesecs = mt->ptr_time; - boolean did_backup=mt->did_backup; + boolean did_backup = mt->did_backup; + if (mt->putative_block == NULL) return; - if (mt->putative_block==NULL) return; - - if (!did_backup&&mt->idlefunc>0) { + if (!did_backup && mt->idlefunc > 0) { lives_source_remove(mt->idlefunc); - mt->idlefunc=0; + mt->idlefunc = 0; } - if (mt->context_time!=-1.&&mt->use_context) { - timesecs=mt->context_time; - mt->context_time=-1.; - mt->use_context=FALSE; + if (mt->context_time != -1. && mt->use_context) { + timesecs = mt->context_time; + mt->context_time = -1.; + mt->use_context = FALSE; } - if (!did_backup) mt_backup(mt,MT_UNDO_SPLIT,0); - - tc=q_gint64(timesecs*U_SEC,mt->fps); + if (!did_backup) mt_backup(mt, MT_UNDO_SPLIT, 0); - split_block(mt,mt->putative_block,tc,mt->current_track,FALSE); - mt->did_backup=did_backup; + tc = q_gint64(timesecs * U_SEC, mt->fps); - if (!did_backup) mt->idlefunc=mt_idle_add(mt); - if (!did_backup&&prefs->mt_auto_back==0) mt_auto_backup(mt); + split_block(mt, mt->putative_block, tc, mt->current_track, FALSE); + mt->did_backup = did_backup; + if (!did_backup) mt->idlefunc = mt_idle_add(mt); + if (!did_backup && prefs->mt_auto_back == 0) mt_auto_backup(mt); } - - - void on_split_curr_activate(LiVESMenuItem *menuitem, livespointer user_data) { // split current track at current time - lives_mt *mt=(lives_mt *)user_data; - double timesecs=mt->ptr_time; - boolean did_backup=mt->did_backup; + lives_mt *mt = (lives_mt *)user_data; + double timesecs = mt->ptr_time; + boolean did_backup = mt->did_backup; weed_timecode_t tc; LiVESWidget *eventbox; track_rect *block; - if (mt->idlefunc>0) { + if (mt->idlefunc > 0) { lives_source_remove(mt->idlefunc); - mt->idlefunc=0; + mt->idlefunc = 0; } - if (!did_backup) mt_backup(mt,MT_UNDO_SPLIT,0); - - tc=q_gint64(timesecs*U_SEC,mt->fps); - + if (!did_backup) mt_backup(mt, MT_UNDO_SPLIT, 0); - if (mt->current_track==-1) eventbox=(LiVESWidget *)mt->audio_draws->data; - else eventbox=(LiVESWidget *)lives_list_nth_data(mt->video_draws,mt->current_track); + tc = q_gint64(timesecs * U_SEC, mt->fps); - block=get_block_from_time(eventbox,timesecs,mt); + if (mt->current_track == -1) eventbox = (LiVESWidget *)mt->audio_draws->data; + else eventbox = (LiVESWidget *)lives_list_nth_data(mt->video_draws, mt->current_track); - if (block==NULL) return; + block = get_block_from_time(eventbox, timesecs, mt); - split_block(mt,block,tc,mt->current_track,FALSE); - mt->did_backup=did_backup; + if (block == NULL) return; - if (!did_backup) mt->idlefunc=mt_idle_add(mt); - if (!did_backup&&prefs->mt_auto_back==0) mt_auto_backup(mt); + split_block(mt, block, tc, mt->current_track, FALSE); + mt->did_backup = did_backup; + if (!did_backup) mt->idlefunc = mt_idle_add(mt); + if (!did_backup && prefs->mt_auto_back == 0) mt_auto_backup(mt); } - void on_split_sel_activate(LiVESMenuItem *menuitem, livespointer user_data) { // split selected tracks at current time - lives_mt *mt=(lives_mt *)user_data; - LiVESList *selt=mt->selected_tracks; + lives_mt *mt = (lives_mt *)user_data; + LiVESList *selt = mt->selected_tracks; LiVESWidget *eventbox; int track; track_rect *block; - double timesecs=mt->ptr_time; - boolean did_backup=mt->did_backup; + double timesecs = mt->ptr_time; + boolean did_backup = mt->did_backup; - if (mt->selected_tracks==NULL) return; + if (mt->selected_tracks == NULL) return; - if (!did_backup&&mt->idlefunc>0) { + if (!did_backup && mt->idlefunc > 0) { lives_source_remove(mt->idlefunc); - mt->idlefunc=0; + mt->idlefunc = 0; } - if (!did_backup) mt_backup(mt,MT_UNDO_SPLIT_MULTI,0); + if (!did_backup) mt_backup(mt, MT_UNDO_SPLIT_MULTI, 0); - while (selt!=NULL) { - track=LIVES_POINTER_TO_INT(selt->data); - eventbox=(LiVESWidget *)lives_list_nth_data(mt->video_draws,track); - block=get_block_from_time(eventbox,timesecs,mt); - if (block!=NULL) split_block(mt,block,timesecs*U_SEC,track,FALSE); - selt=selt->next; + while (selt != NULL) { + track = LIVES_POINTER_TO_INT(selt->data); + eventbox = (LiVESWidget *)lives_list_nth_data(mt->video_draws, track); + block = get_block_from_time(eventbox, timesecs, mt); + if (block != NULL) split_block(mt, block, timesecs * U_SEC, track, FALSE); + selt = selt->next; } - mt->did_backup=did_backup; - - if (!did_backup) mt->idlefunc=mt_idle_add(mt); - if (!did_backup&&prefs->mt_auto_back==0) mt_auto_backup(mt); + mt->did_backup = did_backup; + if (!did_backup) mt->idlefunc = mt_idle_add(mt); + if (!did_backup && prefs->mt_auto_back == 0) mt_auto_backup(mt); } - static void on_delblock_activate(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - weed_timecode_t start_tc,end_tc; + lives_mt *mt = (lives_mt *)user_data; + weed_timecode_t start_tc, end_tc; weed_plant_t *first_event; - weed_plant_t *event,*prevevent; + weed_plant_t *event, *prevevent; - track_rect *block,*blockprev,*blocknext; + track_rect *block, *blockprev, *blocknext; - LiVESWidget *eventbox,*aeventbox; + LiVESWidget *eventbox, *aeventbox; char *tmp; - boolean done=FALSE; - boolean did_backup=mt->did_backup; + boolean done = FALSE; + boolean did_backup = mt->did_backup; int track; if (mt->is_rendering) return; - if (!did_backup&&mt->idlefunc>0) { + if (!did_backup && mt->idlefunc > 0) { lives_source_remove(mt->idlefunc); - mt->idlefunc=0; + mt->idlefunc = 0; } - mt->context_time=-1.; + mt->context_time = -1.; if (!did_backup) { - if (mt->current_track!=-1) mt_backup(mt,MT_UNDO_DELETE_BLOCK,0); - else mt_backup(mt,MT_UNDO_DELETE_AUDIO_BLOCK,0); + if (mt->current_track != -1) mt_backup(mt, MT_UNDO_DELETE_BLOCK, 0); + else mt_backup(mt, MT_UNDO_DELETE_AUDIO_BLOCK, 0); } - if (mt->block_selected==NULL) mt->block_selected=mt->putative_block; - block=mt->block_selected; - eventbox=block->eventbox; - - if (mt->current_track!=-1) track=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"layer_number")); - else track=-1; - - if ((aeventbox=LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"atrack")))!=NULL) { - int current_track=mt->current_track; - mt->current_track=track; - mt->block_selected=get_block_from_time(aeventbox,get_event_timecode(block->start_event)/U_SEC,mt); - if (mt->block_selected!=NULL) on_delblock_activate(NULL,user_data); - mt->block_selected=block; - mt->current_track=current_track; + if (mt->block_selected == NULL) mt->block_selected = mt->putative_block; + block = mt->block_selected; + eventbox = block->eventbox; + + if (mt->current_track != -1) track = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "layer_number")); + else track = -1; + + if ((aeventbox = LIVES_WIDGET(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "atrack"))) != NULL) { + int current_track = mt->current_track; + mt->current_track = track; + mt->block_selected = get_block_from_time(aeventbox, get_event_timecode(block->start_event) / U_SEC, mt); + if (mt->block_selected != NULL) on_delblock_activate(NULL, user_data); + mt->block_selected = block; + mt->current_track = current_track; } mt_desensitise(mt); - start_tc=get_event_timecode(block->start_event); - end_tc=get_event_timecode(block->end_event); + start_tc = get_event_timecode(block->start_event); + end_tc = get_event_timecode(block->end_event); - first_event=get_prev_event(block->start_event); - while (first_event!=NULL&&get_event_timecode(first_event)==start_tc) { - first_event=get_prev_event(first_event); + first_event = get_prev_event(block->start_event); + while (first_event != NULL && get_event_timecode(first_event) == start_tc) { + first_event = get_prev_event(first_event); } - event=block->end_event; + event = block->end_event; - if (mt->current_track!=-1&&!is_audio_eventbox(eventbox)) { + if (mt->current_track != -1 && !is_audio_eventbox(eventbox)) { // delete frames - while (event!=NULL&&!done) { - prevevent=get_prev_frame_event(event); - if (event==block->start_event) done=TRUE; - remove_frame_from_event(mt->event_list,event,track); - if (!done) event=prevevent; + while (event != NULL && !done) { + prevevent = get_prev_frame_event(event); + if (event == block->start_event) done = TRUE; + remove_frame_from_event(mt->event_list, event, track); + if (!done) event = prevevent; } } else { // update audio events // if last event in block turns audio off, delete it - if (get_audio_frame_vel(block->end_event,track)==0.) { - remove_audio_for_track(block->end_event,track); + if (get_audio_frame_vel(block->end_event, track) == 0.) { + remove_audio_for_track(block->end_event, track); } // if first event in block is the end of another block, turn audio off (velocity==0) - if (block->prev!=NULL&&block->start_event==block->prev->end_event) { - insert_audio_event_at(mt->event_list,block->start_event,track,1,0.,0.); + if (block->prev != NULL && block->start_event == block->prev->end_event) { + insert_audio_event_at(mt->event_list, block->start_event, track, 1, 0., 0.); } // else we'll delete it else { - remove_audio_for_track(block->start_event,track); + remove_audio_for_track(block->start_event, track); } } - if ((blockprev=block->prev)!=NULL) blockprev->next=block->next; - else lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"blocks",(livespointer)block->next); - if ((blocknext=block->next)!=NULL) blocknext->prev=blockprev; + if ((blockprev = block->prev) != NULL) blockprev->next = block->next; + else lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "blocks", (livespointer)block->next); + if ((blocknext = block->next) != NULL) blocknext->prev = blockprev; lives_free(block); lives_widget_queue_draw(eventbox); - if (cfile->achans>0&&mt->audio_draws!=NULL&&mt->opts.back_audio_tracks>0&&eventbox==mt->audio_draws->data&& - LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"expanded"))) { - LiVESWidget *xeventbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"achan0"); - if (xeventbox!=NULL) lives_widget_queue_draw(xeventbox); - xeventbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"achan1"); - if (xeventbox!=NULL) lives_widget_queue_draw(xeventbox); + if (cfile->achans > 0 && mt->audio_draws != NULL && mt->opts.back_audio_tracks > 0 && eventbox == mt->audio_draws->data && + LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "expanded"))) { + LiVESWidget *xeventbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "achan0"); + if (xeventbox != NULL) lives_widget_queue_draw(xeventbox); + xeventbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "achan1"); + if (xeventbox != NULL) lives_widget_queue_draw(xeventbox); } + tmp = get_track_name(mt, mt->current_track, FALSE); - - tmp=get_track_name(mt,mt->current_track,FALSE); - - if (mt->current_track!=-1&&!is_audio_eventbox(eventbox)) { + if (mt->current_track != -1 && !is_audio_eventbox(eventbox)) { d_print(_("Deleted frames from time %.4f to %.4f on track %s\n"), - (start_tc)/U_SEC,(end_tc)/U_SEC+1./mt->fps,tmp); + (start_tc) / U_SEC, (end_tc) / U_SEC + 1. / mt->fps, tmp); } else { d_print(_("Deleted audio from time %.4f to %.4f on track %s\n"), - (start_tc)/U_SEC,(end_tc)/U_SEC+1./mt->fps,tmp); + (start_tc) / U_SEC, (end_tc) / U_SEC + 1. / mt->fps, tmp); } lives_free(tmp); - - if ((mt->opts.grav_mode==GRAV_MODE_LEFT||mt->opts.grav_mode==GRAV_MODE_RIGHT)&&!mt->moving_block&&!did_backup) { + if ((mt->opts.grav_mode == GRAV_MODE_LEFT || mt->opts.grav_mode == GRAV_MODE_RIGHT) && !mt->moving_block && !did_backup) { // gravity left - remove first gap from old block start to end time // gravity right - remove last gap from 0 to old block end time - - double oldr_start=mt->region_start; - double oldr_end=mt->region_end; - LiVESList *tracks_sel=NULL; - if (mt->current_track!=-1) { - tracks_sel=lives_list_copy(mt->selected_tracks); - if (mt->selected_tracks!=NULL) lives_list_free(mt->selected_tracks); - mt->selected_tracks=NULL; - mt->selected_tracks=lives_list_append(mt->selected_tracks,LIVES_INT_TO_POINTER(mt->current_track)); + double oldr_start = mt->region_start; + double oldr_end = mt->region_end; + LiVESList *tracks_sel = NULL; + if (mt->current_track != -1) { + tracks_sel = lives_list_copy(mt->selected_tracks); + if (mt->selected_tracks != NULL) lives_list_free(mt->selected_tracks); + mt->selected_tracks = NULL; + mt->selected_tracks = lives_list_append(mt->selected_tracks, LIVES_INT_TO_POINTER(mt->current_track)); } - if (mt->opts.grav_mode==GRAV_MODE_LEFT) { - mt->region_start=start_tc/U_SEC; - mt->region_end=mt->end_secs; + if (mt->opts.grav_mode == GRAV_MODE_LEFT) { + mt->region_start = start_tc / U_SEC; + mt->region_end = mt->end_secs; } else { - mt->region_start=0.; - mt->region_end=end_tc/U_SEC; + mt->region_start = 0.; + mt->region_end = end_tc / U_SEC; } - remove_first_gaps(NULL,mt); - if (mt->current_track>-1) { + remove_first_gaps(NULL, mt); + if (mt->current_track > -1) { lives_list_free(mt->selected_tracks); - mt->selected_tracks=lives_list_copy(tracks_sel); - if (tracks_sel!=NULL) lives_list_free(tracks_sel); + mt->selected_tracks = lives_list_copy(tracks_sel); + if (tracks_sel != NULL) lives_list_free(tracks_sel); } - mt->region_start=oldr_start; - mt->region_end=oldr_end; + mt->region_start = oldr_start; + mt->region_end = oldr_end; mt_sensitise(mt); } - remove_end_blank_frames(mt->event_list,FALSE); // leave filter_inits + remove_end_blank_frames(mt->event_list, FALSE); // leave filter_inits - if (!mt->opts.move_effects||!mt->moving_block) { - update_filter_events(mt,first_event,start_tc,end_tc,track,start_tc,track); - if (mt->block_selected==block) { - mt->block_selected=NULL; + if (!mt->opts.move_effects || !mt->moving_block) { + update_filter_events(mt, first_event, start_tc, end_tc, track, start_tc, track); + if (mt->block_selected == block) { + mt->block_selected = NULL; unselect_all(mt); } mt_sensitise(mt); } - remove_end_blank_frames(mt->event_list,TRUE); // remove filter inits + remove_end_blank_frames(mt->event_list, TRUE); // remove filter inits - if ((!mt->moving_block||get_first_frame_event(mt->event_list)==NULL)&&mt->avol_fx!=-1&&blocknext==NULL&& - mt->audio_draws!=NULL&&get_first_event(mt->event_list)!=NULL) { + if ((!mt->moving_block || get_first_frame_event(mt->event_list) == NULL) && mt->avol_fx != -1 && blocknext == NULL && + mt->audio_draws != NULL && get_first_event(mt->event_list) != NULL) { apply_avol_filter(mt); } - mt->did_backup=did_backup; - if (!did_backup&&mt->framedraw!=NULL&&mt->current_rfx!=NULL&&mt->init_event!=NULL&& - mt->poly_state==POLY_PARAMS&&weed_plant_has_leaf(mt->init_event,WEED_LEAF_IN_TRACKS)) { - weed_timecode_t tc=q_gint64(lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->node_spinbutton))*U_SEC+ - get_event_timecode(mt->init_event),mt->fps); - get_track_index(mt,tc); + mt->did_backup = did_backup; + if (!did_backup && mt->framedraw != NULL && mt->current_rfx != NULL && mt->init_event != NULL && + mt->poly_state == POLY_PARAMS && weed_plant_has_leaf(mt->init_event, WEED_LEAF_IN_TRACKS)) { + weed_timecode_t tc = q_gint64(lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->node_spinbutton)) * U_SEC + + get_event_timecode(mt->init_event), mt->fps); + get_track_index(mt, tc); } if (!mt->moving_block) { - redraw_eventbox(mt,eventbox); - paint_lines(mt,mt->ptr_time,TRUE); + redraw_eventbox(mt, eventbox); + paint_lines(mt, mt->ptr_time, TRUE); mt_show_current_frame(mt, FALSE); } - if (!did_backup) mt->idlefunc=mt_idle_add(mt); - if (!did_backup&&prefs->mt_auto_back==0) mt_auto_backup(mt); + if (!did_backup) mt->idlefunc = mt_idle_add(mt); + if (!did_backup && prefs->mt_auto_back == 0) mt_auto_backup(mt); mt_desensitise(mt); mt_sensitise(mt); - if (mt->event_list==NULL) recover_layout_cancelled(FALSE); - + if (mt->event_list == NULL) recover_layout_cancelled(FALSE); } - void on_seltrack_activate(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; LiVESWidget *eventbox; LiVESWidget *checkbutton; @@ -16717,82 +16233,82 @@ lives_mt_poly_state_t statep; - if (mt->current_track==-1) return; + if (mt->current_track == -1) return; - eventbox=(LiVESWidget *)lives_list_nth_data(mt->video_draws,mt->current_track); - checkbutton=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"checkbutton"); + eventbox = (LiVESWidget *)lives_list_nth_data(mt->video_draws, mt->current_track); + checkbutton = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "checkbutton"); - mi_state=lives_check_menu_item_get_active(LIVES_CHECK_MENU_ITEM(menuitem)); + mi_state = lives_check_menu_item_get_active(LIVES_CHECK_MENU_ITEM(menuitem)); if (mi_state) { // selected - if (lives_list_index(mt->selected_tracks,LIVES_INT_TO_POINTER(mt->current_track))==-1) - mt->selected_tracks=lives_list_append(mt->selected_tracks,LIVES_INT_TO_POINTER(mt->current_track)); + if (lives_list_index(mt->selected_tracks, LIVES_INT_TO_POINTER(mt->current_track)) == -1) + mt->selected_tracks = lives_list_append(mt->selected_tracks, LIVES_INT_TO_POINTER(mt->current_track)); } else { // unselected - if (lives_list_index(mt->selected_tracks,LIVES_INT_TO_POINTER(mt->current_track))!=-1) - mt->selected_tracks=lives_list_remove(mt->selected_tracks,LIVES_INT_TO_POINTER(mt->current_track)); + if (lives_list_index(mt->selected_tracks, LIVES_INT_TO_POINTER(mt->current_track)) != -1) + mt->selected_tracks = lives_list_remove(mt->selected_tracks, LIVES_INT_TO_POINTER(mt->current_track)); } #ifdef ENABLE_GIW if (!prefs->lamp_buttons) { #endif - if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(checkbutton))!=mi_state) { - lives_signal_handlers_block_by_func(checkbutton,(livespointer)on_seltrack_toggled,(livespointer)mt); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton),mi_state); - lives_signal_handlers_unblock_by_func(checkbutton,(livespointer)on_seltrack_toggled,(livespointer)mt); + if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(checkbutton)) != mi_state) { + lives_signal_handlers_block_by_func(checkbutton, (livespointer)on_seltrack_toggled, (livespointer)mt); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton), mi_state); + lives_signal_handlers_unblock_by_func(checkbutton, (livespointer)on_seltrack_toggled, (livespointer)mt); } #ifdef ENABLE_GIW } else { - if (giw_led_get_mode(GIW_LED(checkbutton))!=mi_state) { - lives_signal_handlers_block_by_func(checkbutton,(livespointer)on_seltrack_toggled,(livespointer)mt); - giw_led_set_mode(GIW_LED(checkbutton),mi_state); - lives_signal_handlers_unblock_by_func(checkbutton,(livespointer)on_seltrack_toggled,(livespointer)mt); + if (giw_led_get_mode(GIW_LED(checkbutton)) != mi_state) { + lives_signal_handlers_block_by_func(checkbutton, (livespointer)on_seltrack_toggled, (livespointer)mt); + giw_led_set_mode(GIW_LED(checkbutton), mi_state); + lives_signal_handlers_unblock_by_func(checkbutton, (livespointer)on_seltrack_toggled, (livespointer)mt); } } #endif do_sel_context(mt); - lives_widget_set_sensitive(mt->fx_region,FALSE); - lives_widget_set_sensitive(mt->ins_gap_sel,FALSE); + lives_widget_set_sensitive(mt->fx_region, FALSE); + lives_widget_set_sensitive(mt->ins_gap_sel, FALSE); lives_widget_set_sensitive(mt->remove_gaps, FALSE); lives_widget_set_sensitive(mt->remove_first_gaps, FALSE); - lives_widget_set_sensitive(mt->split_sel,FALSE); - lives_widget_set_sensitive(mt->fx_region_1,FALSE); - lives_widget_set_sensitive(mt->fx_region_1a,FALSE); - lives_widget_set_sensitive(mt->fx_region_1v,FALSE); - lives_widget_set_sensitive(mt->fx_region_2,FALSE); - lives_widget_set_sensitive(mt->fx_region_2a,FALSE); - lives_widget_set_sensitive(mt->fx_region_2v,FALSE); - lives_widget_set_sensitive(mt->fx_region_2av,FALSE); - lives_widget_set_sensitive(mt->fx_region_3,FALSE); - - if (mt->selected_tracks!=NULL) { - if (mt->event_list!=NULL&&get_first_event(mt->event_list)!=NULL) { - lives_widget_set_sensitive(mt->split_sel,TRUE); + lives_widget_set_sensitive(mt->split_sel, FALSE); + lives_widget_set_sensitive(mt->fx_region_1, FALSE); + lives_widget_set_sensitive(mt->fx_region_1a, FALSE); + lives_widget_set_sensitive(mt->fx_region_1v, FALSE); + lives_widget_set_sensitive(mt->fx_region_2, FALSE); + lives_widget_set_sensitive(mt->fx_region_2a, FALSE); + lives_widget_set_sensitive(mt->fx_region_2v, FALSE); + lives_widget_set_sensitive(mt->fx_region_2av, FALSE); + lives_widget_set_sensitive(mt->fx_region_3, FALSE); + + if (mt->selected_tracks != NULL) { + if (mt->event_list != NULL && get_first_event(mt->event_list) != NULL) { + lives_widget_set_sensitive(mt->split_sel, TRUE); } - if (mt->region_start!=mt->region_end) { + if (mt->region_start != mt->region_end) { - if (mt->event_list!=NULL&&get_first_event(mt->event_list)!=NULL) { - lives_widget_set_sensitive(mt->ins_gap_sel,TRUE); + if (mt->event_list != NULL && get_first_event(mt->event_list) != NULL) { + lives_widget_set_sensitive(mt->ins_gap_sel, TRUE); lives_widget_set_sensitive(mt->remove_gaps, TRUE); lives_widget_set_sensitive(mt->remove_first_gaps, TRUE); } - lives_widget_set_sensitive(mt->fx_region,TRUE); - lives_widget_set_sensitive(mt->fx_region_3,TRUE); + lives_widget_set_sensitive(mt->fx_region, TRUE); + lives_widget_set_sensitive(mt->fx_region_3, TRUE); switch (lives_list_length(mt->selected_tracks)) { case 1: - lives_widget_set_sensitive(mt->fx_region_1,TRUE); - lives_widget_set_sensitive(mt->fx_region_1v,TRUE); - if (cfile->achans>0) lives_widget_set_sensitive(mt->fx_region_1a,TRUE); + lives_widget_set_sensitive(mt->fx_region_1, TRUE); + lives_widget_set_sensitive(mt->fx_region_1v, TRUE); + if (cfile->achans > 0) lives_widget_set_sensitive(mt->fx_region_1a, TRUE); break; case 2: - lives_widget_set_sensitive(mt->fx_region_2,TRUE); + lives_widget_set_sensitive(mt->fx_region_2, TRUE); if (mt->opts.pertrack_audio) - lives_widget_set_sensitive(mt->fx_region_2a,TRUE); - lives_widget_set_sensitive(mt->fx_region_2v,TRUE); - lives_widget_set_sensitive(mt->fx_region_2av,TRUE); + lives_widget_set_sensitive(mt->fx_region_2a, TRUE); + lives_widget_set_sensitive(mt->fx_region_2v, TRUE); + lives_widget_set_sensitive(mt->fx_region_2av, TRUE); break; default: break; @@ -16801,26 +16317,24 @@ } // update labels - statep=get_poly_state_from_page(mt); - if (statep==POLY_TRANS||statep==POLY_COMP) { - polymorph(mt,POLY_NONE); - polymorph(mt,statep); + statep = get_poly_state_from_page(mt); + if (statep == POLY_TRANS || statep == POLY_COMP) { + polymorph(mt, POLY_NONE); + polymorph(mt, statep); } - } - void on_seltrack_toggled(LiVESWidget *checkbutton, livespointer user_data) { - int track=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(checkbutton),"layer_number")); - lives_mt *mt=(lives_mt *)user_data; + int track = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(checkbutton), "layer_number")); + lives_mt *mt = (lives_mt *)user_data; if (!mainw->interactive) return; - mt->current_track=track; + mt->current_track = track; - if (track>-1) mt->aud_track_selected=FALSE; - else mt->aud_track_selected=TRUE; + if (track > -1) mt->aud_track_selected = FALSE; + else mt->aud_track_selected = TRUE; // track_select will call on_seltrack_activate, which will set our new state track_select(mt); @@ -16828,19 +16342,15 @@ } - -/////////////////////////////////////////////////////////// - - void mt_desensitise(lives_mt *mt) { double val; - lives_widget_set_sensitive(mt->clipedit,FALSE); - lives_widget_set_sensitive(mt->insert,FALSE); - lives_widget_set_sensitive(mt->audio_insert,FALSE); - lives_widget_set_sensitive(mt->playall,FALSE); - lives_widget_set_sensitive(mt->playsel,FALSE); - lives_widget_set_sensitive(mt->view_events,FALSE); - lives_widget_set_sensitive(mt->view_sel_events,FALSE); + lives_widget_set_sensitive(mt->clipedit, FALSE); + lives_widget_set_sensitive(mt->insert, FALSE); + lives_widget_set_sensitive(mt->audio_insert, FALSE); + lives_widget_set_sensitive(mt->playall, FALSE); + lives_widget_set_sensitive(mt->playsel, FALSE); + lives_widget_set_sensitive(mt->view_events, FALSE); + lives_widget_set_sensitive(mt->view_sel_events, FALSE); lives_widget_set_sensitive(mt->render, FALSE); lives_widget_set_sensitive(mt->prerender_aud, FALSE); lives_widget_set_sensitive(mt->delblock, FALSE); @@ -16851,378 +16361,360 @@ lives_widget_set_sensitive(mt->remove_first_gaps, FALSE); lives_widget_set_sensitive(mt->undo, FALSE); lives_widget_set_sensitive(mt->redo, FALSE); - lives_widget_set_sensitive(mt->fx_edit,FALSE); - lives_widget_set_sensitive(mt->fx_delete,FALSE); - lives_widget_set_sensitive(mt->checkbutton_avel_reverse,FALSE); - lives_widget_set_sensitive(mt->spinbutton_avel,FALSE); - lives_widget_set_sensitive(mt->avel_scale,FALSE); - lives_widget_set_sensitive(mt->change_vals,FALSE); - lives_widget_set_sensitive(mt->add_vid_behind,FALSE); - lives_widget_set_sensitive(mt->add_vid_front,FALSE); - lives_widget_set_sensitive(mt->quit,FALSE); - lives_widget_set_sensitive(mt->clear_ds,FALSE); - lives_widget_set_sensitive(mt->open_menu,FALSE); + lives_widget_set_sensitive(mt->fx_edit, FALSE); + lives_widget_set_sensitive(mt->fx_delete, FALSE); + lives_widget_set_sensitive(mt->checkbutton_avel_reverse, FALSE); + lives_widget_set_sensitive(mt->spinbutton_avel, FALSE); + lives_widget_set_sensitive(mt->avel_scale, FALSE); + lives_widget_set_sensitive(mt->change_vals, FALSE); + lives_widget_set_sensitive(mt->add_vid_behind, FALSE); + lives_widget_set_sensitive(mt->add_vid_front, FALSE); + lives_widget_set_sensitive(mt->quit, FALSE); + lives_widget_set_sensitive(mt->clear_ds, FALSE); + lives_widget_set_sensitive(mt->open_menu, FALSE); #ifdef HAVE_WEBM - lives_widget_set_sensitive(mt->open_loc_menu,FALSE); + lives_widget_set_sensitive(mt->open_loc_menu, FALSE); #endif #ifdef ENABLE_DVD_GRAB - lives_widget_set_sensitive(mt->vcd_dvd_menu,FALSE); + lives_widget_set_sensitive(mt->vcd_dvd_menu, FALSE); #endif #ifdef HAVE_LDVGRAB - lives_widget_set_sensitive(mt->device_menu,FALSE); + lives_widget_set_sensitive(mt->device_menu, FALSE); #endif - lives_widget_set_sensitive(mt->recent_menu,FALSE); - lives_widget_set_sensitive(mt->load_set,FALSE); - lives_widget_set_sensitive(mt->save_set,FALSE); - lives_widget_set_sensitive(mt->close,FALSE); - lives_widget_set_sensitive(mt->capture,FALSE); - lives_widget_set_sensitive(mt->gens_submenu,FALSE); + lives_widget_set_sensitive(mt->recent_menu, FALSE); + lives_widget_set_sensitive(mt->load_set, FALSE); + lives_widget_set_sensitive(mt->save_set, FALSE); + lives_widget_set_sensitive(mt->close, FALSE); + lives_widget_set_sensitive(mt->capture, FALSE); + lives_widget_set_sensitive(mt->gens_submenu, FALSE); lives_widget_set_sensitive(mainw->troubleshoot, FALSE); lives_widget_set_sensitive(mt->fx_region, FALSE); lives_widget_set_sensitive(mt->ins_gap_sel, FALSE); lives_widget_set_sensitive(mt->ins_gap_cur, FALSE); - if (mt->poly_state==POLY_IN_OUT) { - if (mt->block_selected!=NULL) { - val=lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->spinbutton_in)); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_in),val,val); + if (mt->poly_state == POLY_IN_OUT) { + if (mt->block_selected != NULL) { + val = lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->spinbutton_in)); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_in), val, val); - val=lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->spinbutton_out)); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_out),val,val); + val = lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->spinbutton_out)); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_out), val, val); } } } void mt_sensitise(lives_mt *mt) { - LiVESWidget *eventbox=NULL; + LiVESWidget *eventbox = NULL; - if (mt->event_list!=NULL&&get_first_event(mt->event_list)!=NULL) { - lives_widget_set_sensitive(mt->playall,TRUE); + if (mt->event_list != NULL && get_first_event(mt->event_list) != NULL) { + lives_widget_set_sensitive(mt->playall, TRUE); lives_widget_set_sensitive(mainw->m_playbutton, TRUE); - lives_widget_set_sensitive(mt->view_events,TRUE); - lives_widget_set_sensitive(mt->view_sel_events,mt->region_start!=mt->region_end); + lives_widget_set_sensitive(mt->view_events, TRUE); + lives_widget_set_sensitive(mt->view_sel_events, mt->region_start != mt->region_end); lives_widget_set_sensitive(mt->render, TRUE); - if (mt->avol_init_event!=NULL&&mt->opts.pertrack_audio&&mainw->files[mt->render_file]->achans>0) + if (mt->avol_init_event != NULL && mt->opts.pertrack_audio && mainw->files[mt->render_file]->achans > 0) lives_widget_set_sensitive(mt->prerender_aud, TRUE); lives_widget_set_sensitive(mt->save_event_list, TRUE); } else { - lives_widget_set_sensitive(mt->playall,FALSE); - lives_widget_set_sensitive(mt->playsel,FALSE); + lives_widget_set_sensitive(mt->playall, FALSE); + lives_widget_set_sensitive(mt->playsel, FALSE); lives_widget_set_sensitive(mainw->m_playbutton, FALSE); - lives_widget_set_sensitive(mt->view_events,FALSE); - lives_widget_set_sensitive(mt->view_sel_events,FALSE); - lives_widget_set_sensitive(mt->render,FALSE); - lives_widget_set_sensitive(mt->save_event_list,FALSE); + lives_widget_set_sensitive(mt->view_events, FALSE); + lives_widget_set_sensitive(mt->view_sel_events, FALSE); + lives_widget_set_sensitive(mt->render, FALSE); + lives_widget_set_sensitive(mt->save_event_list, FALSE); } - if (mt->event_list!=NULL) lives_widget_set_sensitive(mt->clear_event_list, TRUE); - - lives_widget_set_sensitive(mt->add_vid_behind,TRUE); - lives_widget_set_sensitive(mt->add_vid_front,TRUE); - lives_widget_set_sensitive(mt->quit,TRUE); - lives_widget_set_sensitive(mt->clear_ds,TRUE); - lives_widget_set_sensitive(mt->open_menu,TRUE); + if (mt->event_list != NULL) lives_widget_set_sensitive(mt->clear_event_list, TRUE); + + lives_widget_set_sensitive(mt->add_vid_behind, TRUE); + lives_widget_set_sensitive(mt->add_vid_front, TRUE); + lives_widget_set_sensitive(mt->quit, TRUE); + lives_widget_set_sensitive(mt->clear_ds, TRUE); + lives_widget_set_sensitive(mt->open_menu, TRUE); #ifdef HAVE_WEBM - lives_widget_set_sensitive(mt->open_loc_menu,TRUE); + lives_widget_set_sensitive(mt->open_loc_menu, TRUE); #endif #ifdef ENABLE_DVD_GRAB - lives_widget_set_sensitive(mt->vcd_dvd_menu,TRUE); + lives_widget_set_sensitive(mt->vcd_dvd_menu, TRUE); #endif #ifdef HAVE_LDVGRAB - lives_widget_set_sensitive(mt->device_menu,TRUE); + lives_widget_set_sensitive(mt->device_menu, TRUE); #endif - lives_widget_set_sensitive(mt->recent_menu,TRUE); - lives_widget_set_sensitive(mt->capture,TRUE); - lives_widget_set_sensitive(mt->gens_submenu,TRUE); + lives_widget_set_sensitive(mt->recent_menu, TRUE); + lives_widget_set_sensitive(mt->capture, TRUE); + lives_widget_set_sensitive(mt->gens_submenu, TRUE); lives_widget_set_sensitive(mainw->troubleshoot, TRUE); lives_widget_set_sensitive(mainw->m_mutebutton, TRUE); - lives_widget_set_sensitive(mt->load_set,!mainw->was_set); + lives_widget_set_sensitive(mt->load_set, !mainw->was_set); if (mt->undoable) lives_widget_set_sensitive(mt->undo, TRUE); if (mt->redoable) lives_widget_set_sensitive(mt->redo, TRUE); - if (mt->selected_init_event!=NULL) lives_widget_set_sensitive(mt->fx_edit,TRUE); - if (mt->selected_init_event!=NULL) lives_widget_set_sensitive(mt->fx_delete,TRUE); - lives_widget_set_sensitive(mt->checkbutton_avel_reverse,TRUE); + if (mt->selected_init_event != NULL) lives_widget_set_sensitive(mt->fx_edit, TRUE); + if (mt->selected_init_event != NULL) lives_widget_set_sensitive(mt->fx_delete, TRUE); + lives_widget_set_sensitive(mt->checkbutton_avel_reverse, TRUE); - if (mt->block_selected!=NULL&&(!mt->block_selected->start_anchored|| - !mt->block_selected->end_anchored)&&!lives_toggle_button_get_active + if (mt->block_selected != NULL && (!mt->block_selected->start_anchored || + !mt->block_selected->end_anchored) && !lives_toggle_button_get_active (LIVES_TOGGLE_BUTTON(mt->checkbutton_avel_reverse))) { - lives_widget_set_sensitive(mt->spinbutton_avel,TRUE); - lives_widget_set_sensitive(mt->avel_scale,TRUE); + lives_widget_set_sensitive(mt->spinbutton_avel, TRUE); + lives_widget_set_sensitive(mt->avel_scale, TRUE); } - lives_widget_set_sensitive(mt->load_event_list, strlen(mainw->set_name)>0); - lives_widget_set_sensitive(mt->clipedit,TRUE); - if (mt->file_selected>-1) { - if (mainw->files[mt->file_selected]->frames>0) lives_widget_set_sensitive(mt->insert,TRUE); - if (mainw->files[mt->file_selected]->achans>0&&mainw->files[mt->file_selected]->laudio_time>0.) - lives_widget_set_sensitive(mt->audio_insert,TRUE); - lives_widget_set_sensitive(mt->save_set,TRUE); - lives_widget_set_sensitive(mt->close,TRUE); + lives_widget_set_sensitive(mt->load_event_list, strlen(mainw->set_name) > 0); + lives_widget_set_sensitive(mt->clipedit, TRUE); + if (mt->file_selected > -1) { + if (mainw->files[mt->file_selected]->frames > 0) lives_widget_set_sensitive(mt->insert, TRUE); + if (mainw->files[mt->file_selected]->achans > 0 && mainw->files[mt->file_selected]->laudio_time > 0.) + lives_widget_set_sensitive(mt->audio_insert, TRUE); + lives_widget_set_sensitive(mt->save_set, TRUE); + lives_widget_set_sensitive(mt->close, TRUE); lives_widget_set_sensitive(mt->adjust_start_end, TRUE); } - if (mt->video_draws!=NULL&&mt->current_track>-1) eventbox=(LiVESWidget *)lives_list_nth_data(mt->video_draws,mt->current_track); - else if (mt->audio_draws!=NULL) eventbox=(LiVESWidget *)mt->audio_draws->data; + if (mt->video_draws != NULL && mt->current_track > -1) eventbox = (LiVESWidget *)lives_list_nth_data(mt->video_draws, mt->current_track); + else if (mt->audio_draws != NULL) eventbox = (LiVESWidget *)mt->audio_draws->data; - if (eventbox!=NULL) { - lives_widget_set_sensitive(mt->jumpback, lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"blocks")!=NULL); - lives_widget_set_sensitive(mt->jumpnext, lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"blocks")!=NULL); + if (eventbox != NULL) { + lives_widget_set_sensitive(mt->jumpback, lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "blocks") != NULL); + lives_widget_set_sensitive(mt->jumpnext, lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "blocks") != NULL); } - lives_widget_set_sensitive(mt->change_vals,TRUE); + lives_widget_set_sensitive(mt->change_vals, TRUE); if (mt->block_selected) { lives_widget_set_sensitive(mt->delblock, TRUE); - if (mt->poly_state==POLY_IN_OUT&&mt->block_selected->ordered) { - weed_timecode_t offset_end=mt->block_selected->offset_start+(weed_timecode_t)(U_SEC/mt->fps)+ - (get_event_timecode(mt->block_selected->end_event)-get_event_timecode(mt->block_selected->start_event)); - - lives_signal_handler_block(mt->spinbutton_out,mt->spin_out_func); - lives_signal_handler_block(mt->spinbutton_in,mt->spin_in_func); - set_in_out_spin_ranges(mt,mt->block_selected->offset_start,offset_end); - lives_signal_handler_unblock(mt->spinbutton_in,mt->spin_in_func); - lives_signal_handler_unblock(mt->spinbutton_out,mt->spin_out_func); - } - } else if (mt->poly_state==POLY_IN_OUT) { - int filenum=mt_file_from_clip(mt,mt->clip_selected); - lives_signal_handler_block(mt->spinbutton_in,mt->spin_in_func); - lives_signal_handler_block(mt->spinbutton_out,mt->spin_out_func); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_in),1., mainw->files[filenum]->frames); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_out),1., mainw->files[filenum]->frames); + if (mt->poly_state == POLY_IN_OUT && mt->block_selected->ordered) { + weed_timecode_t offset_end = mt->block_selected->offset_start + (weed_timecode_t)(U_SEC / mt->fps) + + (get_event_timecode(mt->block_selected->end_event) - get_event_timecode(mt->block_selected->start_event)); + + lives_signal_handler_block(mt->spinbutton_out, mt->spin_out_func); + lives_signal_handler_block(mt->spinbutton_in, mt->spin_in_func); + set_in_out_spin_ranges(mt, mt->block_selected->offset_start, offset_end); + lives_signal_handler_unblock(mt->spinbutton_in, mt->spin_in_func); + lives_signal_handler_unblock(mt->spinbutton_out, mt->spin_out_func); + } + } else if (mt->poly_state == POLY_IN_OUT) { + int filenum = mt_file_from_clip(mt, mt->clip_selected); + lives_signal_handler_block(mt->spinbutton_in, mt->spin_in_func); + lives_signal_handler_block(mt->spinbutton_out, mt->spin_out_func); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_in), 1., mainw->files[filenum]->frames); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_out), 1., mainw->files[filenum]->frames); - lives_signal_handler_unblock(mt->spinbutton_in,mt->spin_in_func); - lives_signal_handler_unblock(mt->spinbutton_out,mt->spin_out_func); + lives_signal_handler_unblock(mt->spinbutton_in, mt->spin_in_func); + lives_signal_handler_unblock(mt->spinbutton_out, mt->spin_out_func); } - - - - if (mt->region_end>mt->region_start&&mt->event_list!=NULL&&get_first_event(mt->event_list)!=NULL) { - if (mt->selected_tracks!=NULL) { + if (mt->region_end > mt->region_start && mt->event_list != NULL && get_first_event(mt->event_list) != NULL) { + if (mt->selected_tracks != NULL) { lives_widget_set_sensitive(mt->fx_region, TRUE); lives_widget_set_sensitive(mt->ins_gap_sel, TRUE); lives_widget_set_sensitive(mt->remove_gaps, TRUE); lives_widget_set_sensitive(mt->remove_first_gaps, TRUE); } - lives_widget_set_sensitive(mt->playsel,TRUE); + lives_widget_set_sensitive(mt->playsel, TRUE); lives_widget_set_sensitive(mt->ins_gap_cur, TRUE); - lives_widget_set_sensitive(mt->view_sel_events,TRUE); + lives_widget_set_sensitive(mt->view_sel_events, TRUE); } track_select(mt); - } void mt_swap_play_pause(lives_mt *mt, boolean put_pause) { - LiVESWidget *tmp_img=NULL; + LiVESWidget *tmp_img = NULL; if (put_pause) { -#if GTK_CHECK_VERSION(2,6,0) +#if GTK_CHECK_VERSION(2, 6, 0) tmp_img = lives_image_new_from_stock(LIVES_STOCK_MEDIA_PAUSE, lives_toolbar_get_icon_size(LIVES_TOOLBAR(mainw->btoolbar))); #endif - set_menu_text(mt->playall,_("_Pause"),TRUE); - lives_widget_set_tooltip_text(mainw->m_playbutton,_("Pause (p)")); - lives_widget_set_sensitive(mt->playall,TRUE); - lives_widget_set_sensitive(mainw->m_playbutton,TRUE); + set_menu_text(mt->playall, _("_Pause"), TRUE); + lives_widget_set_tooltip_text(mainw->m_playbutton, _("Pause (p)")); + lives_widget_set_sensitive(mt->playall, TRUE); + lives_widget_set_sensitive(mainw->m_playbutton, TRUE); } else { tmp_img = lives_image_new_from_stock(LIVES_STOCK_MEDIA_PLAY, lives_toolbar_get_icon_size(LIVES_TOOLBAR(mainw->btoolbar))); - set_menu_text(mt->playall,_("_Play from Timeline Position"),TRUE); - lives_widget_set_tooltip_text(mainw->m_playbutton,_("Play all (p)")); + set_menu_text(mt->playall, _("_Play from Timeline Position"), TRUE); + lives_widget_set_tooltip_text(mainw->m_playbutton, _("Play all (p)")); } - if (tmp_img!=NULL) lives_widget_show(tmp_img); - lives_tool_button_set_icon_widget(LIVES_TOOL_BUTTON(mainw->m_playbutton),tmp_img); - + if (tmp_img != NULL) lives_widget_show(tmp_img); + lives_tool_button_set_icon_widget(LIVES_TOOL_BUTTON(mainw->m_playbutton), tmp_img); } - - -////////////////////////////////////////////////////////////////// void multitrack_preview_clicked(LiVESWidget *button, livespointer user_data) { //preview during rendering - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; - if (mainw->playing_file==-1) multitrack_playall(mt); - else mainw->cancelled=CANCEL_NO_PROPOGATE; + if (mainw->playing_file == -1) multitrack_playall(mt); + else mainw->cancelled = CANCEL_NO_PROPOGATE; } - - void mt_prepare_for_playback(lives_mt *mt) { // called from on_preview_clicked - pb_loop_event=mt->pb_loop_event; - pb_filter_map=mainw->filter_map; // keep a copy of this, in case we are rendering - pb_afilter_map=mainw->afilter_map; // keep a copy of this, in case we are rendering - pb_audio_needs_prerender=lives_widget_is_sensitive(mt->prerender_aud); + pb_loop_event = mt->pb_loop_event; + pb_filter_map = mainw->filter_map; // keep a copy of this, in case we are rendering + pb_afilter_map = mainw->afilter_map; // keep a copy of this, in case we are rendering + pb_audio_needs_prerender = lives_widget_is_sensitive(mt->prerender_aud); mt_desensitise(mt); if (mt->mt_frame_preview) { // put blank back in preview window - if (palette->style&STYLE_1) { - if (mt->framedraw!=NULL) lives_widget_set_bg_color(mt->fd_frame, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); + if (palette->style & STYLE_1) { + if (mt->framedraw != NULL) lives_widget_set_bg_color(mt->fd_frame, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); } } else { lives_object_ref(mt->play_blank); - lives_container_remove(LIVES_CONTAINER(mt->play_box),mt->play_blank); + lives_container_remove(LIVES_CONTAINER(mt->play_box), mt->play_blank); } - lives_widget_set_sensitive(mt->stop,TRUE); - lives_widget_set_sensitive(mt->rewind,FALSE); + lives_widget_set_sensitive(mt->stop, TRUE); + lives_widget_set_sensitive(mt->rewind, FALSE); lives_widget_set_sensitive(mainw->m_rewindbutton, FALSE); - //if (!mt->is_paused&&!mt->playing_sel) mt->ptr_time=lives_ruler_get_value(LIVES_RULER(mt->timeline)); - mainw->must_resize=TRUE; + mainw->must_resize = TRUE; - if (mainw->play_window==NULL) { - mainw->pwidth=cfile->hsize; - mainw->pheight=cfile->vsize; - calc_maxspect(mt->play_width,mt->play_height,&mainw->pwidth,&mainw->pheight); + if (mainw->play_window == NULL) { + mainw->pwidth = cfile->hsize; + mainw->pheight = cfile->vsize; + calc_maxspect(mt->play_width, mt->play_height, &mainw->pwidth, &mainw->pheight); } else { - mainw->pwidth=cfile->hsize; - mainw->pheight=cfile->vsize; + mainw->pwidth = cfile->hsize; + mainw->pheight = cfile->vsize; } - - } - void mt_post_playback(lives_mt *mt) { // called from on_preview_clicked unhide_cursor(lives_widget_get_xwindow(mainw->playarea)); - mainw->must_resize=FALSE; + mainw->must_resize = FALSE; lives_widget_show(mainw->playarea); - if (mainw->cancelled!=CANCEL_USER_PAUSED&&!((mainw->cancelled==CANCEL_NONE||mainw->cancelled==CANCEL_NO_MORE_PREVIEW)&& + if (mainw->cancelled != CANCEL_USER_PAUSED && !((mainw->cancelled == CANCEL_NONE || mainw->cancelled == CANCEL_NO_MORE_PREVIEW) && mt->is_paused)) { - lives_widget_set_sensitive(mt->stop,FALSE); - mt_tl_move(mt,mt->pb_start_time); + lives_widget_set_sensitive(mt->stop, FALSE); + mt_tl_move(mt, mt->pb_start_time); if (mt->opts.follow_playback) { - double currtime=mt->ptr_time; - if (currtime>mt->tl_max||currtime<mt->tl_min) { - mt_zoom(mt,1.); + double currtime = mt->ptr_time; + if (currtime > mt->tl_max || currtime < mt->tl_min) { + mt_zoom(mt, 1.); } } - } else { double curtime; - mt->is_paused=TRUE; - if ((curtime=mt->ptr_time)>0.) { - lives_widget_set_sensitive(mt->rewind,TRUE); + mt->is_paused = TRUE; + if ((curtime = mt->ptr_time) > 0.) { + lives_widget_set_sensitive(mt->rewind, TRUE); lives_widget_set_sensitive(mainw->m_rewindbutton, TRUE); } + paint_lines(mt, curtime, TRUE); mt_show_current_frame(mt, FALSE); } - mainw->cancelled=CANCEL_NONE; + mainw->cancelled = CANCEL_NONE; if (!mt->is_rendering) { - if (mt->poly_state==POLY_PARAMS) { - if (mt->init_event!=NULL) { + if (mt->poly_state == POLY_PARAMS) { + if (mt->init_event != NULL) { lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->node_spinbutton), - mt->ptr_time-get_event_timecode(mt->init_event)/U_SEC); - lives_widget_set_sensitive(mt->apply_fx_button,FALSE); + mt->ptr_time - get_event_timecode(mt->init_event) / U_SEC); + lives_widget_set_sensitive(mt->apply_fx_button, FALSE); } } - if (mt->poly_state==POLY_FX_STACK) { - polymorph(mt,POLY_FX_STACK); + if (mt->poly_state == POLY_FX_STACK) { + polymorph(mt, POLY_FX_STACK); } } - if (mt->ptr_time>0.) { - lives_widget_set_sensitive(mt->rewind,TRUE); + if (mt->ptr_time > 0.) { + lives_widget_set_sensitive(mt->rewind, TRUE); lives_widget_set_sensitive(mainw->m_rewindbutton, TRUE); } - mainw->filter_map=pb_filter_map; - mainw->afilter_map=pb_afilter_map; + mainw->filter_map = pb_filter_map; + mainw->afilter_map = pb_afilter_map; - if (mt->is_paused) mt->pb_loop_event=pb_loop_event; + if (mt->is_paused) mt->pb_loop_event = pb_loop_event; lives_widget_set_sensitive(mainw->m_playbutton, TRUE); - - } - - void multitrack_playall(lives_mt *mt) { - LiVESWidget *old_context_scroll=mt->context_scroll; + LiVESWidget *old_context_scroll = mt->context_scroll; - if (mainw->current_file<1) return; + if (mainw->current_file < 1) return; - if (mt->idlefunc>0) { + if (mt->idlefunc > 0) { lives_source_remove(mt->idlefunc); - mt->idlefunc=0; + mt->idlefunc = 0; } lives_object_ref(mt->context_scroll); // this allows us to get our old messages back lives_container_remove(LIVES_CONTAINER(mt->context_frame), mt->context_scroll); - mt->context_scroll=NULL; + mt->context_scroll = NULL; clear_context(mt); - add_context_label(mt,_("Press 'm' during playback")); - add_context_label(mt,_("to make a mark on the timeline")); + add_context_label(mt, _("Press 'm' during playback")); + add_context_label(mt, _("to make a mark on the timeline")); if (mt->opts.follow_playback) { - double currtime=mt->ptr_time; - if (currtime>mt->tl_max||currtime<mt->tl_min) { - double page=mt->tl_max-mt->tl_min; - mt->tl_min=currtime-page*.25; - mt->tl_max=currtime+page*.75; - mt_zoom(mt,-1.); + double currtime = mt->ptr_time; + if (currtime > mt->tl_max || currtime < mt->tl_min) { + double page = mt->tl_max - mt->tl_min; + mt->tl_min = currtime - page * .25; + mt->tl_max = currtime + page * .75; + mt_zoom(mt, -1.); } } if (needs_clear) { - set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->play_image),NULL,NULL); - needs_clear=FALSE; + set_ce_frame_from_pixbuf(LIVES_IMAGE(mainw->play_image), NULL, NULL); + needs_clear = FALSE; } if (mt->is_rendering) { // preview during rendering - boolean had_audio=mt->has_audio_file; - mt->pb_start_event=NULL; - mt->has_audio_file=TRUE; - on_preview_clicked(LIVES_BUTTON(cfile->proc_ptr->preview_button),NULL); - mt->has_audio_file=had_audio; + boolean had_audio = mt->has_audio_file; + mt->pb_start_event = NULL; + mt->has_audio_file = TRUE; + on_preview_clicked(LIVES_BUTTON(cfile->proc_ptr->preview_button), NULL); + mt->has_audio_file = had_audio; } else { - if (mt->event_list!=NULL) { - mainw->is_rendering=TRUE; // NOTE : mainw->is_rendering is not the same as mt->is_rendering ! + if (mt->event_list != NULL) { + mainw->is_rendering = TRUE; // NOTE : mainw->is_rendering is not the same as mt->is_rendering ! set_play_position(mt); - if (mainw->cancelled!=CANCEL_VID_END) { + if (mainw->cancelled != CANCEL_VID_END) { // otherwise jack transport set us out of range if (mt->playing_sel) - mt->pb_loop_event=get_frame_event_at(mt->event_list,q_gint64(mt->region_start*U_SEC,mt->fps),NULL,TRUE); - else if (mt->is_paused) mt->pb_loop_event=pb_loop_event; + mt->pb_loop_event = get_frame_event_at(mt->event_list, q_gint64(mt->region_start * U_SEC, mt->fps), NULL, TRUE); + else if (mt->is_paused) mt->pb_loop_event = pb_loop_event; - on_preview_clicked(NULL,LIVES_INT_TO_POINTER(1)); + on_preview_clicked(NULL, LIVES_INT_TO_POINTER(1)); } - mainw->is_rendering=mainw->is_processing=FALSE; + mainw->is_rendering = mainw->is_processing = FALSE; } } - mt_swap_play_pause(mt,FALSE); + mt_swap_play_pause(mt, FALSE); lives_container_remove(LIVES_CONTAINER(mt->context_frame), mt->context_scroll); - mt->context_scroll=old_context_scroll; + mt->context_scroll = old_context_scroll; lives_container_add(LIVES_CONTAINER(mt->context_frame), mt->context_scroll); if (mt->opts.show_ctx) lives_widget_show_all(mt->context_frame); @@ -17231,198 +16723,191 @@ if (!mt->is_rendering) { mt_sensitise(mt); - mt->idlefunc=mt_idle_add(mt); + mt->idlefunc = mt_idle_add(mt); } - if (!pb_audio_needs_prerender) lives_widget_set_sensitive(mt->prerender_aud,FALSE); - - + if (!pb_audio_needs_prerender) lives_widget_set_sensitive(mt->prerender_aud, FALSE); } - void multitrack_play_sel(LiVESMenuItem *menuitem, livespointer user_data) { // get current pointer time; if it is outside the time region jump to start double ptr_time; - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; - ptr_time=mt->ptr_time; + ptr_time = mt->ptr_time; - if (ptr_time<mt->region_start||ptr_time>=mt->region_end) { - mt->ptr_time=lives_ruler_set_value(LIVES_RULER(mt->timeline),mt->region_start); + if (ptr_time < mt->region_start || ptr_time >= mt->region_end) { + mt->ptr_time = lives_ruler_set_value(LIVES_RULER(mt->timeline), mt->region_start); } // set loop start point to region start, and pb_start to current position // set loop end point to region end or tl end, whichever is soonest - mt->playing_sel=TRUE; + mt->playing_sel = TRUE; multitrack_playall(mt); // on return here, return the pointer to its original position, unless paused if (!mt->is_paused) { - mt->playing_sel=FALSE; + mt->playing_sel = FALSE; } } - void multitrack_adj_start_end(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; unselect_all(mt); - polymorph(mt,POLY_IN_OUT); + polymorph(mt, POLY_IN_OUT); } - - - boolean multitrack_insert(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - lives_clip_t *sfile=mainw->files[mt->file_selected]; + lives_mt *mt = (lives_mt *)user_data; + lives_clip_t *sfile = mainw->files[mt->file_selected]; - double secs=mt->ptr_time; + double secs = mt->ptr_time; LiVESWidget *eventbox; - weed_timecode_t ins_start=(sfile->start-1.)/sfile->fps*U_SEC; - weed_timecode_t ins_end=(double)(sfile->end)/sfile->fps*U_SEC; + weed_timecode_t ins_start = (sfile->start - 1.) / sfile->fps * U_SEC; + weed_timecode_t ins_end = (double)(sfile->end) / sfile->fps * U_SEC; - boolean did_backup=mt->did_backup; + boolean did_backup = mt->did_backup; track_rect *block; - if (mt->current_track<0) return multitrack_audio_insert(menuitem,user_data); + if (mt->current_track < 0) return multitrack_audio_insert(menuitem, user_data); - if (sfile->frames==0) return FALSE; + if (sfile->frames == 0) return FALSE; - if (!did_backup&&mt->idlefunc>0) { + if (!did_backup && mt->idlefunc > 0) { lives_source_remove(mt->idlefunc); - mt->idlefunc=0; + mt->idlefunc = 0; } - if (mt->context_time!=-1.&&mt->use_context) { - secs=mt->context_time; - mt->context_time=-1.; - mt->use_context=FALSE; + if (mt->context_time != -1. && mt->use_context) { + secs = mt->context_time; + mt->context_time = -1.; + mt->use_context = FALSE; } - eventbox=(LiVESWidget *)lives_list_nth_data(mt->video_draws,mt->current_track); + eventbox = (LiVESWidget *)lives_list_nth_data(mt->video_draws, mt->current_track); if (mt->opts.ign_ins_sel) { // ignore selection limits - ins_start=0; - ins_end=(double)(sfile->frames)/sfile->fps*U_SEC; + ins_start = 0; + ins_end = (double)(sfile->frames) / sfile->fps * U_SEC; } - if (mt->insert_start!=-1) { + if (mt->insert_start != -1) { // used if we move a block - ins_start=mt->insert_start; - ins_end=mt->insert_end; + ins_start = mt->insert_start; + ins_end = mt->insert_end; } - if (mt->opts.insert_mode==INSERT_MODE_NORMAL) { + if (mt->opts.insert_mode == INSERT_MODE_NORMAL) { // first check if there is space to insert the block to, otherwise we will abort the insert - weed_plant_t *event=NULL; - weed_timecode_t tc=0,tcnow; - weed_timecode_t tclen=ins_end-ins_start; - - while (tc<=tclen) { - tcnow=q_gint64(tc+secs*U_SEC,mt->fps); - tc+=U_SEC/mt->fps; - event=get_frame_event_at(mt->event_list,tcnow,event,TRUE); - if (event==NULL) break; // must be end of timeline + weed_plant_t *event = NULL; + weed_timecode_t tc = 0, tcnow; + weed_timecode_t tclen = ins_end - ins_start; + + while (tc <= tclen) { + tcnow = q_gint64(tc + secs * U_SEC, mt->fps); + tc += U_SEC / mt->fps; + event = get_frame_event_at(mt->event_list, tcnow, event, TRUE); + if (event == NULL) break; // must be end of timeline // is video track, if we have a non-blank frame, abort - if (get_frame_event_clip(event,mt->current_track)>=0) return FALSE; + if (get_frame_event_clip(event, mt->current_track) >= 0) return FALSE; } } - if (!did_backup) mt_backup(mt,MT_UNDO_INSERT_BLOCK,0); + if (!did_backup) mt_backup(mt, MT_UNDO_INSERT_BLOCK, 0); - insert_frames(mt->file_selected,ins_start,ins_end,secs*U_SECL,DIRECTION_POSITIVE,eventbox,mt,NULL); + insert_frames(mt->file_selected, ins_start, ins_end, secs * U_SECL, DIRECTION_POSITIVE, eventbox, mt, NULL); - block=(track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"block_last"); + block = (track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "block_last"); - if (block!=NULL&&(mt->opts.grav_mode==GRAV_MODE_LEFT||(block->next!=NULL&&mt->opts.grav_mode==GRAV_MODE_RIGHT))&& - !(did_backup||mt->moving_block)) { - double oldr_start=mt->region_start; - double oldr_end=mt->region_end; + if (block != NULL && (mt->opts.grav_mode == GRAV_MODE_LEFT || (block->next != NULL && mt->opts.grav_mode == GRAV_MODE_RIGHT)) && + !(did_backup || mt->moving_block)) { + double oldr_start = mt->region_start; + double oldr_end = mt->region_end; LiVESList *tracks_sel; - track_rect *selblock=NULL; - if (mt->block_selected!=block) selblock=mt->block_selected; - tracks_sel=lives_list_copy(mt->selected_tracks); - if (mt->selected_tracks!=NULL) lives_list_free(mt->selected_tracks); - mt->selected_tracks=NULL; - mt->selected_tracks=lives_list_append(mt->selected_tracks,LIVES_INT_TO_POINTER(mt->current_track)); - - if (mt->opts.grav_mode==GRAV_MODE_LEFT) { - if (block->prev!=NULL) mt->region_start=get_event_timecode(block->prev->end_event)/U_SEC; - else mt->region_start=0.; - mt->region_end=get_event_timecode(block->start_event)/U_SEC; + track_rect *selblock = NULL; + if (mt->block_selected != block) selblock = mt->block_selected; + tracks_sel = lives_list_copy(mt->selected_tracks); + if (mt->selected_tracks != NULL) lives_list_free(mt->selected_tracks); + mt->selected_tracks = NULL; + mt->selected_tracks = lives_list_append(mt->selected_tracks, LIVES_INT_TO_POINTER(mt->current_track)); + + if (mt->opts.grav_mode == GRAV_MODE_LEFT) { + if (block->prev != NULL) mt->region_start = get_event_timecode(block->prev->end_event) / U_SEC; + else mt->region_start = 0.; + mt->region_end = get_event_timecode(block->start_event) / U_SEC; } else { - mt->region_start=get_event_timecode(block->end_event)/U_SEC; - mt->region_end=get_event_timecode(block->next->start_event)/U_SEC; + mt->region_start = get_event_timecode(block->end_event) / U_SEC; + mt->region_end = get_event_timecode(block->next->start_event) / U_SEC; } - remove_first_gaps(NULL,mt); + remove_first_gaps(NULL, mt); lives_list_free(mt->selected_tracks); - mt->selected_tracks=lives_list_copy(tracks_sel); - if (tracks_sel!=NULL) lives_list_free(tracks_sel); - mt->region_start=oldr_start; - mt->region_end=oldr_end; + mt->selected_tracks = lives_list_copy(tracks_sel); + if (tracks_sel != NULL) lives_list_free(tracks_sel); + mt->region_start = oldr_start; + mt->region_end = oldr_end; mt_sensitise(mt); - if (selblock!=NULL) mt->block_selected=selblock; + if (selblock != NULL) mt->block_selected = selblock; } // get this again because it could have moved - block=(track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"block_last"); + block = (track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "block_last"); - if (!mt->moving_block&&prefs->atrans_fx!=-1) mt_do_autotransition(mt, block); + if (!mt->moving_block && prefs->atrans_fx != -1) mt_do_autotransition(mt, block); - mt->did_backup=did_backup; + mt->did_backup = did_backup; - if (block!=NULL&&!resize_timeline(mt)&&!did_backup) { - lives_painter_surface_t *bgimage=(lives_painter_surface_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "bgimg"); - if (bgimage!=NULL) { - draw_block(mt,NULL,bgimage,block,0,lives_widget_get_allocation_width(eventbox)); + if (block != NULL && !resize_timeline(mt) && !did_backup) { + lives_painter_surface_t *bgimage = (lives_painter_surface_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "bgimg"); + if (bgimage != NULL) { + draw_block(mt, NULL, bgimage, block, 0, lives_widget_get_allocation_width(eventbox)); lives_widget_queue_draw(eventbox); } } if (!did_backup) { - if (mt->avol_fx!=-1&&block!=NULL&&block->next==NULL&&get_first_event(mt->event_list)!=NULL) { + if (mt->avol_fx != -1 && block != NULL && block->next == NULL && get_first_event(mt->event_list) != NULL) { apply_avol_filter(mt); } } - if (!did_backup&&mt->framedraw!=NULL&&mt->current_rfx!=NULL&&mt->init_event!=NULL&&mt->poly_state==POLY_PARAMS&& - weed_plant_has_leaf(mt->init_event,WEED_LEAF_IN_TRACKS)) { - weed_timecode_t tc=q_gint64(lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->node_spinbutton))* - U_SEC+get_event_timecode(mt->init_event),mt->fps); - get_track_index(mt,tc); + if (!did_backup && mt->framedraw != NULL && mt->current_rfx != NULL && mt->init_event != NULL && mt->poly_state == POLY_PARAMS && + weed_plant_has_leaf(mt->init_event, WEED_LEAF_IN_TRACKS)) { + weed_timecode_t tc = q_gint64(lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->node_spinbutton)) * + U_SEC + get_event_timecode(mt->init_event), mt->fps); + get_track_index(mt, tc); } - mt_tl_move_relative(mt,0.); + mt_tl_move_relative(mt, 0.); - if (!did_backup) mt->idlefunc=mt_idle_add(mt); - if (!did_backup&&prefs->mt_auto_back==0) mt_auto_backup(mt); + if (!did_backup) mt->idlefunc = mt_idle_add(mt); + if (!did_backup && prefs->mt_auto_back == 0) mt_auto_backup(mt); return TRUE; } boolean multitrack_audio_insert(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - lives_clip_t *sfile=mainw->files[mt->file_selected]; + lives_mt *mt = (lives_mt *)user_data; + lives_clip_t *sfile = mainw->files[mt->file_selected]; - double secs=mt->ptr_time; + double secs = mt->ptr_time; - LiVESWidget *eventbox=(LiVESWidget *)mt->audio_draws->data; + LiVESWidget *eventbox = (LiVESWidget *)mt->audio_draws->data; - weed_timecode_t ins_start=q_gint64((sfile->start-1.)/sfile->fps*U_SEC,mt->fps); - weed_timecode_t ins_end=q_gint64((double)sfile->end/sfile->fps*U_SEC,mt->fps); + weed_timecode_t ins_start = q_gint64((sfile->start - 1.) / sfile->fps * U_SEC, mt->fps); + weed_timecode_t ins_end = q_gint64((double)sfile->end / sfile->fps * U_SEC, mt->fps); - boolean did_backup=mt->did_backup; + boolean did_backup = mt->did_backup; track_rect *block; @@ -17430,139 +16915,138 @@ lives_direction_t dir; - if (mt->current_track!=-1||sfile->achans==0) return FALSE; + if (mt->current_track != -1 || sfile->achans == 0) return FALSE; - if (!did_backup&&mt->idlefunc>0) { + if (!did_backup && mt->idlefunc > 0) { lives_source_remove(mt->idlefunc); - mt->idlefunc=0; + mt->idlefunc = 0; } - if (mt->context_time!=-1.&&mt->use_context) { - secs=mt->context_time; - mt->context_time=-1.; - mt->use_context=FALSE; + if (mt->context_time != -1. && mt->use_context) { + secs = mt->context_time; + mt->context_time = -1.; + mt->use_context = FALSE; } - if (sfile->frames==0||mt->opts.ign_ins_sel) { - ins_start=0; - ins_end=q_gint64(sfile->laudio_time*U_SEC,mt->fps); + if (sfile->frames == 0 || mt->opts.ign_ins_sel) { + ins_start = 0; + ins_end = q_gint64(sfile->laudio_time * U_SEC, mt->fps); } - if (ins_start>q_gint64(sfile->laudio_time*U_SEC,mt->fps)) { + if (ins_start > q_gint64(sfile->laudio_time * U_SEC, mt->fps)) { return FALSE; } - if (ins_end>q_gint64(sfile->laudio_time*U_SEC,mt->fps)) { - ins_end=q_gint64(sfile->laudio_time*U_SEC,mt->fps); + if (ins_end > q_gint64(sfile->laudio_time * U_SEC, mt->fps)) { + ins_end = q_gint64(sfile->laudio_time * U_SEC, mt->fps); } - if (mt->insert_start!=-1) { - ins_start=mt->insert_start; - ins_end=mt->insert_end; + if (mt->insert_start != -1) { + ins_start = mt->insert_start; + ins_end = mt->insert_end; } - if (mt->insert_avel>0.) dir=DIRECTION_POSITIVE; - else dir=DIRECTION_NEGATIVE; + if (mt->insert_avel > 0.) dir = DIRECTION_POSITIVE; + else dir = DIRECTION_NEGATIVE; - if (mt->opts.insert_mode==INSERT_MODE_NORMAL) { + if (mt->opts.insert_mode == INSERT_MODE_NORMAL) { // first check if there is space to insert the block to, otherwise we will abort the insert - weed_plant_t *event=NULL; - weed_timecode_t tc=0,tcnow; - weed_timecode_t tclen=ins_end-ins_start; + weed_plant_t *event = NULL; + weed_timecode_t tc = 0, tcnow; + weed_timecode_t tclen = ins_end - ins_start; //if (dir==DIRECTION_NEGATIVE) tc+=U_SEC/mt->fps; // TODO - check if we need this - while (tc<=tclen) { - tcnow=q_gint64(tc+secs*U_SEC,mt->fps); - tc+=U_SEC/mt->fps; - event=get_frame_event_at(mt->event_list,tcnow,event,TRUE); - if (event==NULL) break; // must be end of timeline + while (tc <= tclen) { + tcnow = q_gint64(tc + secs * U_SEC, mt->fps); + tc += U_SEC / mt->fps; + event = get_frame_event_at(mt->event_list, tcnow, event, TRUE); + if (event == NULL) break; // must be end of timeline // is audio track, see if we are in an audio block - if (tc==0&&get_audio_block_start(mt->event_list,mt->current_track,tcnow,TRUE)!=NULL) return FALSE; + if (tc == 0 && get_audio_block_start(mt->event_list, mt->current_track, tcnow, TRUE) != NULL) return FALSE; // or if one starts here - if (get_audio_block_start(mt->event_list,mt->current_track,tcnow,FALSE)!=NULL) return FALSE; + if (get_audio_block_start(mt->event_list, mt->current_track, tcnow, FALSE) != NULL) return FALSE; } } - if (!did_backup) mt_backup(mt,MT_UNDO_INSERT_AUDIO_BLOCK,0); + if (!did_backup) mt_backup(mt, MT_UNDO_INSERT_AUDIO_BLOCK, 0); - insert_audio(mt->file_selected,ins_start,ins_end,secs*U_SECL,mt->insert_avel,dir,eventbox,mt,NULL); + insert_audio(mt->file_selected, ins_start, ins_end, secs * U_SECL, mt->insert_avel, dir, eventbox, mt, NULL); - block=(track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"block_last"); + block = (track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "block_last"); - if (block!=NULL&&(mt->opts.grav_mode==GRAV_MODE_LEFT|| - (mt->opts.grav_mode==GRAV_MODE_RIGHT&&block->next!=NULL)) - &&!(did_backup||mt->moving_block)) { - double oldr_start=mt->region_start; - double oldr_end=mt->region_end; + if (block != NULL && (mt->opts.grav_mode == GRAV_MODE_LEFT || + (mt->opts.grav_mode == GRAV_MODE_RIGHT && block->next != NULL)) + && !(did_backup || mt->moving_block)) { + double oldr_start = mt->region_start; + double oldr_end = mt->region_end; LiVESList *tracks_sel; - track_rect *selblock=NULL; - if (mt->block_selected!=block) selblock=mt->block_selected; - tracks_sel=lives_list_copy(mt->selected_tracks); - if (mt->selected_tracks!=NULL) lives_list_free(mt->selected_tracks); - mt->selected_tracks=NULL; - mt->current_track=-1; - - if (mt->opts.grav_mode==GRAV_MODE_LEFT) { - if (block->prev!=NULL) mt->region_start=get_event_timecode(block->prev->end_event)/U_SEC; - else mt->region_start=0.; - mt->region_end=get_event_timecode(block->start_event)/U_SEC; + track_rect *selblock = NULL; + if (mt->block_selected != block) selblock = mt->block_selected; + tracks_sel = lives_list_copy(mt->selected_tracks); + if (mt->selected_tracks != NULL) lives_list_free(mt->selected_tracks); + mt->selected_tracks = NULL; + mt->current_track = -1; + + if (mt->opts.grav_mode == GRAV_MODE_LEFT) { + if (block->prev != NULL) mt->region_start = get_event_timecode(block->prev->end_event) / U_SEC; + else mt->region_start = 0.; + mt->region_end = get_event_timecode(block->start_event) / U_SEC; } else { - mt->region_start=get_event_timecode(block->end_event)/U_SEC; - mt->region_end=get_event_timecode(block->next->start_event)/U_SEC; + mt->region_start = get_event_timecode(block->end_event) / U_SEC; + mt->region_end = get_event_timecode(block->next->start_event) / U_SEC; } - remove_first_gaps(NULL,mt); + remove_first_gaps(NULL, mt); lives_list_free(mt->selected_tracks); - mt->selected_tracks=lives_list_copy(tracks_sel); - if (tracks_sel!=NULL) lives_list_free(tracks_sel); - mt->region_start=oldr_start; - mt->region_end=oldr_end; - if (selblock!=NULL) mt->block_selected=selblock; + mt->selected_tracks = lives_list_copy(tracks_sel); + if (tracks_sel != NULL) lives_list_free(tracks_sel); + mt->region_start = oldr_start; + mt->region_end = oldr_end; + if (selblock != NULL) mt->block_selected = selblock; } - mt->did_backup=did_backup; + mt->did_backup = did_backup; d_print(_("Inserted audio %.4f to %.4f from clip %s into backing audio from time %.4f to %.4f\n"), - ins_start/U_SEC,ins_end/U_SEC,(tmp=lives_path_get_basename(sfile->name)),secs,secs+(ins_end-ins_start)/U_SEC); + ins_start / U_SEC, ins_end / U_SEC, (tmp = lives_path_get_basename(sfile->name)), secs, secs + (ins_end - ins_start) / U_SEC); lives_free(tmp); - - if (!resize_timeline(mt)&&!did_backup) { - lives_painter_surface_t *bgimage=(lives_painter_surface_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "bgimg"); - if (bgimage!=NULL) { - draw_block(mt,NULL,bgimage,block,0,lives_widget_get_allocation_width(eventbox)); + if (!resize_timeline(mt) && !did_backup) { + lives_painter_surface_t *bgimage = (lives_painter_surface_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "bgimg"); + if (bgimage != NULL) { + draw_block(mt, NULL, bgimage, block, 0, lives_widget_get_allocation_width(eventbox)); lives_widget_queue_draw(eventbox); } - if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"expanded"))) { - LiVESWidget *xeventbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"achan0"); - if (xeventbox!=NULL) lives_widget_queue_draw(xeventbox); - xeventbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"achan1"); - if (xeventbox!=NULL) lives_widget_queue_draw(xeventbox); + if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "expanded"))) { + LiVESWidget *xeventbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "achan0"); + if (xeventbox != NULL) lives_widget_queue_draw(xeventbox); + xeventbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "achan1"); + if (xeventbox != NULL) lives_widget_queue_draw(xeventbox); } } // get this again because it could have moved - block=(track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"block_last"); + block = (track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "block_last"); if (!did_backup) { - if (mt->avol_fx!=-1&&block!=NULL&&block->next==NULL&&get_first_event(mt->event_list)!=NULL) { + if (mt->avol_fx != -1 && block != NULL && block->next == NULL && get_first_event(mt->event_list) != NULL) { apply_avol_filter(mt); } } - mt_tl_move_relative(mt,0.); + mt_tl_move_relative(mt, 0.); - if (!did_backup&&mt->framedraw!=NULL&&mt->current_rfx!=NULL&&mt->init_event!=NULL&& - mt->poly_state==POLY_PARAMS&&weed_plant_has_leaf(mt->init_event,WEED_LEAF_IN_TRACKS)) { - weed_timecode_t tc=q_gint64(lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->node_spinbutton))* - U_SEC+get_event_timecode(mt->init_event),mt->fps); - get_track_index(mt,tc); + if (!did_backup && mt->framedraw != NULL && mt->current_rfx != NULL && mt->init_event != NULL && + mt->poly_state == POLY_PARAMS && weed_plant_has_leaf(mt->init_event, WEED_LEAF_IN_TRACKS)) { + weed_timecode_t tc = q_gint64(lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->node_spinbutton)) * + U_SEC + get_event_timecode(mt->init_event), mt->fps); + get_track_index(mt, tc); } - if (!did_backup) mt->idlefunc=mt_idle_add(mt); - if (!did_backup&&prefs->mt_auto_back==0) mt_auto_backup(mt); + if (!did_backup) mt->idlefunc = mt_idle_add(mt); + if (!did_backup && prefs->mt_auto_back == 0) mt_auto_backup(mt); return TRUE; } @@ -17587,216 +17071,216 @@ // TODO - handle case where frames are overwritten - lives_clip_t *sfile=mainw->files[filenum]; + lives_clip_t *sfile = mainw->files[filenum]; - weed_timecode_t last_tc=0,offset_start_tc,start_tc,last_offset; - weed_timecode_t orig_st=offset_start,orig_end=offset_end; + weed_timecode_t last_tc = 0, offset_start_tc, start_tc, last_offset; + weed_timecode_t orig_st = offset_start, orig_end = offset_end; - int *clips=NULL,*frames=NULL,*rep_clips,*rep_frames,error; + int *clips = NULL, *frames = NULL, *rep_clips, *rep_frames, error; - weed_plant_t *last_frame_event=NULL; - weed_plant_t *event,*shortcut1=NULL,*shortcut2=NULL; + weed_plant_t *last_frame_event = NULL; + weed_plant_t *event, *shortcut1 = NULL, *shortcut2 = NULL; - track_rect *new_block=NULL; + track_rect *new_block = NULL; - LiVESWidget *aeventbox=NULL; + LiVESWidget *aeventbox = NULL; double aseek; double end_secs; - boolean isfirst=TRUE; + boolean isfirst = TRUE; - int frame=((double)(offset_start/U_SEC)*mt->fps+1.4999); - int track=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"layer_number")); - int numframes,i; - int render_file=mainw->current_file; + int frame = ((double)(offset_start / U_SEC) * mt->fps + 1.4999); + int track = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "layer_number")); + int numframes, i; + int render_file = mainw->current_file; mt_desensitise(mt); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"block_last",(livespointer)NULL); - if ((aeventbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"atrack"))!=NULL) - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(aeventbox),"block_last",(livespointer)NULL); - - last_offset=offset_start_tc=q_gint64(offset_start,mt->fps); - offset_end=q_gint64(offset_end,mt->fps); - start_tc=q_gint64(tc,mt->fps); - if (direction==DIRECTION_NEGATIVE) tc-=U_SEC/mt->fps; - last_tc=q_gint64(tc,mt->fps); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "block_last", (livespointer)NULL); + if ((aeventbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "atrack")) != NULL) + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(aeventbox), "block_last", (livespointer)NULL); - if (direction==DIRECTION_POSITIVE) { + last_offset = offset_start_tc = q_gint64(offset_start, mt->fps); + offset_end = q_gint64(offset_end, mt->fps); + start_tc = q_gint64(tc, mt->fps); + if (direction == DIRECTION_NEGATIVE) tc -= U_SEC / mt->fps; + last_tc = q_gint64(tc, mt->fps); + + if (direction == DIRECTION_POSITIVE) { // fill in blank frames in a gap - if (mt->event_list!=NULL) last_frame_event=get_last_frame_event(mt->event_list); - mt->event_list=add_blank_frames_up_to(mt->event_list,last_frame_event,q_gint64(start_tc-1./mt->fps,mt->fps),mt->fps); + if (mt->event_list != NULL) last_frame_event = get_last_frame_event(mt->event_list); + mt->event_list = add_blank_frames_up_to(mt->event_list, last_frame_event, q_gint64(start_tc - 1. / mt->fps, mt->fps), mt->fps); } - mainw->current_file=filenum; + mainw->current_file = filenum; - if (cfile->fps!=mt->fps&&cfile->event_list==NULL) { + if (cfile->fps != mt->fps && cfile->event_list == NULL) { // resample clip to render fps - cfile->undo1_dbl=mt->fps; - on_resample_vid_ok(NULL,NULL); + cfile->undo1_dbl = mt->fps; + on_resample_vid_ok(NULL, NULL); } - mainw->current_file=render_file; + mainw->current_file = render_file; - while (((direction==DIRECTION_POSITIVE&&(offset_start=q_gint64(last_tc-start_tc+offset_start_tc,mt->fps))<offset_end) - ||(direction==DIRECTION_NEGATIVE&&(offset_start=q_gint64(last_tc+offset_start_tc-start_tc,mt->fps))>=offset_end))) { - numframes=0; - clips=rep_clips=NULL; - frames=rep_frames=NULL; + while (((direction == DIRECTION_POSITIVE && (offset_start = q_gint64(last_tc - start_tc + offset_start_tc, mt->fps)) < offset_end) + || (direction == DIRECTION_NEGATIVE && (offset_start = q_gint64(last_tc + offset_start_tc - start_tc, mt->fps)) >= offset_end))) { + numframes = 0; + clips = rep_clips = NULL; + frames = rep_frames = NULL; - if ((event=get_frame_event_at(mt->event_list,last_tc,shortcut1,TRUE))!=NULL) { + if ((event = get_frame_event_at(mt->event_list, last_tc, shortcut1, TRUE)) != NULL) { // TODO - memcheck - numframes=weed_leaf_num_elements(event,WEED_LEAF_CLIPS); - clips=weed_get_int_array(event,WEED_LEAF_CLIPS,&error); - frames=weed_get_int_array(event,WEED_LEAF_FRAMES,&error); - shortcut1=event; - } else if (direction==DIRECTION_POSITIVE&&mt->event_list!=NULL) { - shortcut1=get_last_event(mt->event_list); + numframes = weed_leaf_num_elements(event, WEED_LEAF_CLIPS); + clips = weed_get_int_array(event, WEED_LEAF_CLIPS, &error); + frames = weed_get_int_array(event, WEED_LEAF_FRAMES, &error); + shortcut1 = event; + } else if (direction == DIRECTION_POSITIVE && mt->event_list != NULL) { + shortcut1 = get_last_event(mt->event_list); } - if (numframes<=track) { + if (numframes <= track) { // TODO - memcheck - rep_clips=(int *)lives_malloc(track*sizint+sizint); - rep_frames=(int *)lives_malloc(track*sizint+sizint); + rep_clips = (int *)lives_malloc(track * sizint + sizint); + rep_frames = (int *)lives_malloc(track * sizint + sizint); - for (i=0; i<track; i++) { - if (i<numframes) { - rep_clips[i]=clips[i]; - rep_frames[i]=frames[i]; + for (i = 0; i < track; i++) { + if (i < numframes) { + rep_clips[i] = clips[i]; + rep_frames[i] = frames[i]; } else { - rep_clips[i]=-1; - rep_frames[i]=0; + rep_clips[i] = -1; + rep_frames[i] = 0; } } - numframes=track+1; + numframes = track + 1; } else { - if (mt->opts.insert_mode==INSERT_MODE_NORMAL&&frames[track]>0) { - if (in_block==NULL&&new_block!=NULL) { - if (direction==DIRECTION_POSITIVE) { - shortcut1=get_prev_frame_event(shortcut1); + if (mt->opts.insert_mode == INSERT_MODE_NORMAL && frames[track] > 0) { + if (in_block == NULL && new_block != NULL) { + if (direction == DIRECTION_POSITIVE) { + shortcut1 = get_prev_frame_event(shortcut1); } } lives_freep((void **)&clips); lives_freep((void **)&frames); break; // do not allow overwriting in this mode } - rep_clips=clips; - rep_frames=frames; + rep_clips = clips; + rep_frames = frames; } - if (sfile->event_list!=NULL) event=get_frame_event_at(sfile->event_list,offset_start,shortcut2,TRUE); - if (sfile->event_list!=NULL&&event==NULL) { - if (rep_clips!=clips&&rep_clips!=NULL) lives_free(rep_clips); - if (rep_frames!=frames&&rep_frames!=NULL) lives_free(rep_frames); + if (sfile->event_list != NULL) event = get_frame_event_at(sfile->event_list, offset_start, shortcut2, TRUE); + if (sfile->event_list != NULL && event == NULL) { + if (rep_clips != clips && rep_clips != NULL) lives_free(rep_clips); + if (rep_frames != frames && rep_frames != NULL) lives_free(rep_frames); lives_freep((void **)&clips); lives_freep((void **)&frames); break; // insert finished: ran out of frames in resampled clip } - last_offset=offset_start; - if (sfile->event_list!=NULL) { + last_offset = offset_start; + if (sfile->event_list != NULL) { // frames were resampled, get new frame at the source file timecode - frame=weed_get_int_value(event,WEED_LEAF_FRAMES,&error); - if (direction==DIRECTION_POSITIVE) shortcut2=event; - else shortcut2=get_prev_frame_event(event); // TODO : this is not optimal for the first frame + frame = weed_get_int_value(event, WEED_LEAF_FRAMES, &error); + if (direction == DIRECTION_POSITIVE) shortcut2 = event; + else shortcut2 = get_prev_frame_event(event); // TODO : this is not optimal for the first frame } - rep_clips[track]=filenum; - rep_frames[track]=frame; + rep_clips[track] = filenum; + rep_frames[track] = frame; // TODO - memcheck - mt->event_list=insert_frame_event_at(mt->event_list,last_tc,numframes,rep_clips,rep_frames,&shortcut1); + mt->event_list = insert_frame_event_at(mt->event_list, last_tc, numframes, rep_clips, rep_frames, &shortcut1); - if (rep_clips!=clips&&rep_clips!=NULL) lives_free(rep_clips); - if (rep_frames!=frames&&rep_frames!=NULL) lives_free(rep_frames); + if (rep_clips != clips && rep_clips != NULL) lives_free(rep_clips); + if (rep_frames != frames && rep_frames != NULL) lives_free(rep_frames); if (isfirst) { // TODO - memcheck - if (in_block==NULL) { - new_block=add_block_start_point(eventbox,last_tc,filenum,offset_start,shortcut1,TRUE); - if (aeventbox!=NULL) { - if (cfile->achans>0&&sfile->achans>0&&mt->opts.insert_audio) { + if (in_block == NULL) { + new_block = add_block_start_point(eventbox, last_tc, filenum, offset_start, shortcut1, TRUE); + if (aeventbox != NULL) { + if (cfile->achans > 0 && sfile->achans > 0 && mt->opts.insert_audio) { // insert audio start or end - if (direction==DIRECTION_POSITIVE) { - aseek=(double)(frame-1.)/sfile->fps; + if (direction == DIRECTION_POSITIVE) { + aseek = (double)(frame - 1.) / sfile->fps; - insert_audio_event_at(mt->event_list,shortcut1,track,filenum,aseek,1.); - add_block_start_point(aeventbox,last_tc,filenum,offset_start,shortcut1,TRUE); + insert_audio_event_at(mt->event_list, shortcut1, track, filenum, aseek, 1.); + add_block_start_point(aeventbox, last_tc, filenum, offset_start, shortcut1, TRUE); } else { weed_plant_t *nframe; - if ((nframe=get_next_frame_event(shortcut1))==NULL) { - mt->event_list=insert_blank_frame_event_at(mt->event_list,q_gint64(last_tc+U_SEC/mt->fps,mt->fps),&shortcut1); - nframe=shortcut1; + if ((nframe = get_next_frame_event(shortcut1)) == NULL) { + mt->event_list = insert_blank_frame_event_at(mt->event_list, q_gint64(last_tc + U_SEC / mt->fps, mt->fps), &shortcut1); + nframe = shortcut1; } - insert_audio_event_at(mt->event_list,nframe,track,filenum,0.,0.); + insert_audio_event_at(mt->event_list, nframe, track, filenum, 0., 0.); } } } - isfirst=FALSE; + isfirst = FALSE; } } lives_freep((void **)&clips); lives_freep((void **)&frames); - if (direction==DIRECTION_POSITIVE) { - last_tc+=U_SEC/mt->fps; - last_tc=q_gint64(last_tc,mt->fps); + if (direction == DIRECTION_POSITIVE) { + last_tc += U_SEC / mt->fps; + last_tc = q_gint64(last_tc, mt->fps); } else { - if (last_tc<U_SEC/mt->fps) break; - last_tc-=U_SEC/mt->fps; - last_tc=q_gint64(last_tc,mt->fps); + if (last_tc < U_SEC / mt->fps) break; + last_tc -= U_SEC / mt->fps; + last_tc = q_gint64(last_tc, mt->fps); } - if (sfile->event_list==NULL) if ((direction==DIRECTION_POSITIVE&&(++frame>sfile->frames))|| - (direction==DIRECTION_NEGATIVE&&(--frame<1))) { + if (sfile->event_list == NULL) if ((direction == DIRECTION_POSITIVE && (++frame > sfile->frames)) || + (direction == DIRECTION_NEGATIVE && (--frame < 1))) { break; } } - if (!isfirst||direction==DIRECTION_NEGATIVE) { - if (direction==DIRECTION_POSITIVE) { - if (in_block!=NULL) lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"block_last",(livespointer)in_block); - add_block_end_point(eventbox,shortcut1); + if (!isfirst || direction == DIRECTION_NEGATIVE) { + if (direction == DIRECTION_POSITIVE) { + if (in_block != NULL) lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "block_last", (livespointer)in_block); + add_block_end_point(eventbox, shortcut1); - if (cfile->achans>0&&sfile->achans>0&&mt->opts.insert_audio&&mt->opts.pertrack_audio) { - weed_plant_t *shortcut2=get_next_frame_event(shortcut1); - if (shortcut2==NULL) { - mt->event_list=insert_blank_frame_event_at(mt->event_list,last_tc,&shortcut1); - } else shortcut1=shortcut2; - insert_audio_event_at(mt->event_list,shortcut1,track,filenum,0.,0.); - add_block_end_point(aeventbox,shortcut1); + if (cfile->achans > 0 && sfile->achans > 0 && mt->opts.insert_audio && mt->opts.pertrack_audio) { + weed_plant_t *shortcut2 = get_next_frame_event(shortcut1); + if (shortcut2 == NULL) { + mt->event_list = insert_blank_frame_event_at(mt->event_list, last_tc, &shortcut1); + } else shortcut1 = shortcut2; + insert_audio_event_at(mt->event_list, shortcut1, track, filenum, 0., 0.); + add_block_end_point(aeventbox, shortcut1); } - } else if (in_block!=NULL) { - in_block->offset_start=last_offset; - in_block->start_event=shortcut1; - if (cfile->achans>0&&sfile->achans>0&&mt->opts.insert_audio&&mt->opts.pertrack_audio) { - weed_plant_t *shortcut2=get_next_frame_event(shortcut1); - if (shortcut2==NULL) { - mt->event_list=insert_blank_frame_event_at(mt->event_list,last_tc,&shortcut1); - } else shortcut1=shortcut2; + } else if (in_block != NULL) { + in_block->offset_start = last_offset; + in_block->start_event = shortcut1; + if (cfile->achans > 0 && sfile->achans > 0 && mt->opts.insert_audio && mt->opts.pertrack_audio) { + weed_plant_t *shortcut2 = get_next_frame_event(shortcut1); + if (shortcut2 == NULL) { + mt->event_list = insert_blank_frame_event_at(mt->event_list, last_tc, &shortcut1); + } else shortcut1 = shortcut2; } } } - mt->last_direction=direction; + mt->last_direction = direction; - if (mt->event_list!=NULL) { - weed_set_double_value(mt->event_list,WEED_LEAF_FPS,mainw->files[render_file]->fps); + if (mt->event_list != NULL) { + weed_set_double_value(mt->event_list, WEED_LEAF_FPS, mainw->files[render_file]->fps); } - if (in_block==NULL) { - char *tmp,*tmp1; + if (in_block == NULL) { + char *tmp, *tmp1; d_print(_("Inserted frames %d to %d from clip %s into track %s from time %.4f to %.4f\n"), - sfile->start,sfile->end,(tmp1=lives_path_get_basename(sfile->name)), - (tmp=get_track_name(mt,mt->current_track,FALSE)), - (orig_st+start_tc)/U_SEC,(orig_end+start_tc)/U_SEC); + sfile->start, sfile->end, (tmp1 = lives_path_get_basename(sfile->name)), + (tmp = get_track_name(mt, mt->current_track, FALSE)), + (orig_st + start_tc) / U_SEC, (orig_end + start_tc) / U_SEC); lives_free(tmp); lives_free(tmp1); } - end_secs=event_list_get_end_secs(mt->event_list); - if (end_secs>mt->end_secs) { - set_timeline_end_secs(mt,end_secs); + end_secs = event_list_get_end_secs(mt->event_list); + if (end_secs > mt->end_secs) { + set_timeline_end_secs(mt, end_secs); } mt_sensitise(mt); } @@ -17807,97 +17291,94 @@ lives_mt *mt, track_rect *in_block) { // insert the selected audio from mainw->files[filenum] from source file filenum into mt->event_list starting at timeline timecode tc // if in_block is non-NULL, then we extend (existing) in_block with the new frames; otherwise we create a new block and insert it into eventbox - weed_timecode_t start_tc=q_gint64(tc,mt->fps); - weed_timecode_t end_tc=q_gint64(start_tc+offset_end-offset_start,mt->fps); + weed_timecode_t start_tc = q_gint64(tc, mt->fps); + weed_timecode_t end_tc = q_gint64(start_tc + offset_end - offset_start, mt->fps); weed_plant_t *last_frame_event; track_rect *block; - weed_plant_t *shortcut=NULL; + weed_plant_t *shortcut = NULL; weed_plant_t *frame_event; double end_secs; - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox),"block_last",(livespointer)NULL); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(eventbox), "block_last", (livespointer)NULL); - if (direction==DIRECTION_NEGATIVE) { - weed_timecode_t tmp_tc=offset_end; - offset_end=offset_start; - offset_start=tmp_tc; + if (direction == DIRECTION_NEGATIVE) { + weed_timecode_t tmp_tc = offset_end; + offset_end = offset_start; + offset_start = tmp_tc; } // if already block at tc, return - if ((block=get_block_from_time((LiVESWidget *)mt->audio_draws->data,start_tc/U_SEC,mt))!=NULL&& - get_event_timecode(block->end_event)>start_tc) return; - + if ((block = get_block_from_time((LiVESWidget *)mt->audio_draws->data, start_tc / U_SEC, mt)) != NULL && + get_event_timecode(block->end_event) > start_tc) return; // insert blank frames up to end_tc - last_frame_event=get_last_frame_event(mt->event_list); - mt->event_list=add_blank_frames_up_to(mt->event_list,last_frame_event,end_tc,mt->fps); + last_frame_event = get_last_frame_event(mt->event_list); + mt->event_list = add_blank_frames_up_to(mt->event_list, last_frame_event, end_tc, mt->fps); - block=get_block_before((LiVESWidget *)mt->audio_draws->data,start_tc/U_SEC,TRUE); - if (block!=NULL) shortcut=block->end_event; + block = get_block_before((LiVESWidget *)mt->audio_draws->data, start_tc / U_SEC, TRUE); + if (block != NULL) shortcut = block->end_event; - block=get_block_after((LiVESWidget *)mt->audio_draws->data,start_tc/U_SEC,FALSE); + block = get_block_after((LiVESWidget *)mt->audio_draws->data, start_tc / U_SEC, FALSE); // insert audio seek at tc - frame_event=get_frame_event_at(mt->event_list,start_tc,shortcut,TRUE); + frame_event = get_frame_event_at(mt->event_list, start_tc, shortcut, TRUE); - if (direction==DIRECTION_POSITIVE) { - insert_audio_event_at(mt->event_list,frame_event,-1,filenum,offset_start/U_SEC,avel); + if (direction == DIRECTION_POSITIVE) { + insert_audio_event_at(mt->event_list, frame_event, -1, filenum, offset_start / U_SEC, avel); } else { - insert_audio_event_at(mt->event_list,frame_event,-1,filenum,offset_end/U_SEC,avel); - offset_start=offset_start-offset_end+offset_end*mt->insert_avel; + insert_audio_event_at(mt->event_list, frame_event, -1, filenum, offset_end / U_SEC, avel); + offset_start = offset_start - offset_end + offset_end * mt->insert_avel; } add_block_start_point((LiVESWidget *)mt->audio_draws->data, start_tc, filenum, offset_start, frame_event, TRUE); - if (block==NULL||get_event_timecode(block->start_event)>end_tc) { + if (block == NULL || get_event_timecode(block->start_event) > end_tc) { // if no blocks after end point, insert audio off at end point - frame_event=get_frame_event_at(mt->event_list,end_tc,frame_event,TRUE); - insert_audio_event_at(mt->event_list,frame_event,-1,filenum,0.,0.); + frame_event = get_frame_event_at(mt->event_list, end_tc, frame_event, TRUE); + insert_audio_event_at(mt->event_list, frame_event, -1, filenum, 0., 0.); add_block_end_point((LiVESWidget *)mt->audio_draws->data, frame_event); } else add_block_end_point((LiVESWidget *)mt->audio_draws->data, block->start_event); - end_secs=event_list_get_end_secs(mt->event_list); - if (end_secs>mt->end_secs) { - set_timeline_end_secs(mt,end_secs); + end_secs = event_list_get_end_secs(mt->event_list); + if (end_secs > mt->end_secs) { + set_timeline_end_secs(mt, end_secs); } mt_sensitise(mt); } - void multitrack_view_events(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; LiVESWidget *elist_dialog; - if ((prefs->event_window_show_frame_events&&count_events(mt->event_list,TRUE,0,0)>1000)|| - (!prefs->event_window_show_frame_events&&((count_events(mt->event_list,TRUE,0,0) - -count_events(mt->event_list,FALSE,0,0))>1000))) + if ((prefs->event_window_show_frame_events && count_events(mt->event_list, TRUE, 0, 0) > 1000) || + (!prefs->event_window_show_frame_events && ((count_events(mt->event_list, TRUE, 0, 0) + - count_events(mt->event_list, FALSE, 0, 0)) > 1000))) if (!do_event_list_warning()) return; mt_desensitise(mt); lives_widget_context_update(); - elist_dialog=create_event_list_dialog(mt->event_list,0,0); + elist_dialog = create_event_list_dialog(mt->event_list, 0, 0); lives_dialog_run(LIVES_DIALOG(elist_dialog)); lives_widget_destroy(elist_dialog); mt_sensitise(mt); - } void multitrack_view_sel_events(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; LiVESWidget *elist_dialog; - weed_timecode_t tc_start=q_gint64(mt->region_start*U_SECL,mt->fps); - weed_timecode_t tc_end=q_gint64(mt->region_end*U_SECL,mt->fps); + weed_timecode_t tc_start = q_gint64(mt->region_start * U_SECL, mt->fps); + weed_timecode_t tc_end = q_gint64(mt->region_end * U_SECL, mt->fps); - if ((prefs->event_window_show_frame_events&&count_events(mt->event_list,TRUE,tc_start,tc_end)>1000)|| - (!prefs->event_window_show_frame_events&&((count_events(mt->event_list,TRUE,tc_start,tc_end) - -count_events(mt->event_list,FALSE,tc_start,tc_end))>1000))) + if ((prefs->event_window_show_frame_events && count_events(mt->event_list, TRUE, tc_start, tc_end) > 1000) || + (!prefs->event_window_show_frame_events && ((count_events(mt->event_list, TRUE, tc_start, tc_end) + - count_events(mt->event_list, FALSE, tc_start, tc_end)) > 1000))) if (!do_event_list_warning()) return; mt_desensitise(mt); lives_widget_context_update(); - elist_dialog=create_event_list_dialog(mt->event_list,tc_start,tc_end); + elist_dialog = create_event_list_dialog(mt->event_list, tc_start, tc_end); mt_sensitise(mt); lives_dialog_run(LIVES_DIALOG(elist_dialog)); lives_widget_destroy(elist_dialog); @@ -17910,323 +17391,272 @@ void draw_region(lives_mt *mt) { lives_painter_t *cr; - double start,end; - if (mt->region_start==mt->region_end) return; - + double start, end; + if (mt->region_start == mt->region_end) return; - if (mt->region_start<mt->region_end) { - start=mt->region_start; - end=mt->region_end; + if (mt->region_start < mt->region_end) { + start = mt->region_start; + end = mt->region_end; } else { - start=mt->region_end; - end=mt->region_start; + start = mt->region_end; + end = mt->region_start; } - if (mt->region_start==mt->region_end) { - lives_widget_set_sensitive(mt->rs_to_tc,FALSE); - lives_widget_set_sensitive(mt->re_to_tc,FALSE); + if (mt->region_start == mt->region_end) { + lives_widget_set_sensitive(mt->rs_to_tc, FALSE); + lives_widget_set_sensitive(mt->re_to_tc, FALSE); } else { - lives_widget_set_sensitive(mt->rs_to_tc,TRUE); - lives_widget_set_sensitive(mt->re_to_tc,TRUE); + lives_widget_set_sensitive(mt->rs_to_tc, TRUE); + lives_widget_set_sensitive(mt->re_to_tc, TRUE); } cr = lives_painter_create_from_widget(mt->timeline_reg); - lives_painter_set_source_rgb_from_lives_rgba(cr,&palette->mt_timeline_reg); ///< opaque black - lives_painter_rectangle(cr,(start-mt->tl_min)*lives_widget_get_allocation_width(mt->timeline)/(mt->tl_max-mt->tl_min), + lives_painter_set_source_rgb_from_lives_rgba(cr, &palette->mt_timeline_reg); ///< opaque black + lives_painter_rectangle(cr, (start - mt->tl_min)*lives_widget_get_allocation_width(mt->timeline) / (mt->tl_max - mt->tl_min), 0, - (end-start)*lives_widget_get_allocation_width(mt->timeline)/(mt->tl_max-mt->tl_min), - lives_widget_get_allocation_height(mt->timeline_reg)-2); + (end - start)*lives_widget_get_allocation_width(mt->timeline) / (mt->tl_max - mt->tl_min), + lives_widget_get_allocation_height(mt->timeline_reg) - 2); lives_painter_fill(cr); lives_painter_destroy(cr); } -#if GTK_CHECK_VERSION(3,0,0) -static boolean expose_timeline_reg_event(LiVESWidget *timeline, lives_painter_t *cairo, livespointer user_data) { - LiVESXEventExpose *event=NULL; -#else -static boolean expose_timeline_reg_event(LiVESWidget *timeline, LiVESXEventExpose *event, livespointer user_data) { - lives_painter_t *cairo=NULL; -#endif - - lives_painter_t *cr=cairo; - - lives_mt *mt=(lives_mt *)user_data; - LiVESList *tl_marks=mt->tl_marks; +static EXPOSE_FN_DECL(expose_timeline_reg_event, timeline) { + lives_mt *mt = (lives_mt *)user_data; + LiVESList *tl_marks = mt->tl_marks; double time; int ebwidth; int offset; - if (event!=NULL&&event->count>0) return FALSE; - if (mainw->playing_file>-1||mt->is_rendering) return FALSE; + if (event != NULL && event->count > 0) return FALSE; + if (mainw->playing_file > -1 || mt->is_rendering) return FALSE; draw_region(mt); - if (cairo==NULL) cr=lives_painter_create_from_widget(timeline); + if (event != NULL) cairo = lives_painter_create_from_widget(timeline); - lives_painter_set_source_rgb_from_lives_rgba(cr,&palette->mt_mark); + lives_painter_set_source_rgb_from_lives_rgba(cairo, &palette->mt_mark); - while (tl_marks!=NULL) { - time=strtod((char *)tl_marks->data,NULL); - ebwidth=lives_widget_get_allocation_width(mt->timeline); - offset=(time-mt->tl_min)/(mt->tl_max-mt->tl_min)*(double)ebwidth; + while (tl_marks != NULL) { + time = strtod((char *)tl_marks->data, NULL); + ebwidth = lives_widget_get_allocation_width(mt->timeline); + offset = (time - mt->tl_min) / (mt->tl_max - mt->tl_min) * (double)ebwidth; - lives_painter_move_to(cr,offset,1); - lives_painter_line_to(cr,offset,lives_widget_get_allocation_height(mt->timeline_reg)-2); - lives_painter_stroke(cr); + lives_painter_move_to(cairo, offset, 1); + lives_painter_line_to(cairo, offset, lives_widget_get_allocation_height(mt->timeline_reg) - 2); + lives_painter_stroke(cairo); - tl_marks=tl_marks->next; + tl_marks = tl_marks->next; } - if (cairo==NULL) lives_painter_destroy(cr); + if (event != NULL) lives_painter_destroy(cairo); return TRUE; } - - -static float get_float_audio_val_at_time(int fnum, double secs, int chnum, int chans) { - lives_clip_t *afile=mainw->files[fnum]; - int64_t bytes; - off_t apos; - - uint8_t val8; - uint8_t val8b; - - uint16_t val16; - - float val; - - char *filename; - - bytes=secs*afile->arate*afile->achans*afile->asampsize/8; - if (bytes==0) return 0.; - - apos=((int64_t)(bytes/afile->achans/(afile->asampsize/8)))*afile->achans*(afile->asampsize/8); // quantise - - if (fnum!=aofile) { - // does not make sense to use buffer reads, as we may read very sparsely from the file - if (afd!=-1) close(afd); - filename=lives_build_filename(prefs->workdir,afile->handle,"audio",NULL); - afd=lives_open2(filename,O_RDONLY); - aofile=fnum; - } - - if (afd==-1) { - // deal with read errors after drawing a whole block - mainw->read_failed=TRUE; - return 0.; - } - - apos+=afile->asampsize/8*chnum; - - lseek(afd,apos,SEEK_SET); - - if (afile->asampsize==8) { - // 8 bit sample size - lives_read(afd,&val8,1,FALSE); - if (!(afile->signed_endian&AFORM_UNSIGNED)) val=val8>=128?val8-256:val8; - else val=val8-127; - val/=127.; - } else { - // 16 bit sample size - lives_read(afd,&val8,1,TRUE); - lives_read(afd,&val8b,1,TRUE); - if (afile->signed_endian&AFORM_BIG_ENDIAN) val16=(uint16_t)(val8<<8)+val8b; - else val16=(uint16_t)(val8b<<8)+val8; - if (!(afile->signed_endian&AFORM_UNSIGNED)) val=val16>=32768?val16-65536:val16; - else val=val16-32767; - val/=32767.; - } - return val; } - static void draw_soundwave(LiVESWidget *ebox, lives_painter_surface_t *surf, int chnum, lives_mt *mt) { weed_plant_t *event; weed_timecode_t tc; lives_painter_t *cr = lives_painter_create(surf); - LiVESWidget *eventbox=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(ebox),"owner"); + LiVESWidget *eventbox = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(ebox), "owner"); - track_rect *block=(track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "blocks"); + track_rect *block = (track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "blocks"); - double offset_startd,offset_endd; // time values - double tl_span=mt->tl_max-mt->tl_min; + char *filename; + + double offset_startd, offset_endd; // time values + double tl_span = mt->tl_max - mt->tl_min; double secs; double ypos; - double seek,vel; + double seek, vel; + double awid; - int offset_start,offset_end; // pixel values + int offset_start, offset_end; // pixel values int fnum; - int width=lives_widget_get_allocation_width(ebox); - int track=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"layer_number")); + int width = lives_widget_get_allocation_width(ebox); + int track = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "layer_number")); register int i; - aofile=-1; - afd=-1; + aofile = -1; + afd = -1; - mainw->read_failed=FALSE; + mainw->read_failed = FALSE; - while (block!=NULL) { - event=block->start_event; - tc=get_event_timecode(event); - - offset_startd=tc/U_SEC; - if (offset_startd>mt->tl_max) { - if (afd!=-1) lives_close_buffered(afd); + while (block != NULL) { + event = block->start_event; + tc = get_event_timecode(event); + + offset_startd = tc / U_SEC; + if (offset_startd > mt->tl_max) { + if (afd != -1) lives_close_buffered(afd); return; } - offset_start=(int)((offset_startd-mt->tl_min)/tl_span*lives_widget_get_allocation_width(ebox)+.5); - if (width>0&&offset_start>width) { - if (afd!=-1) lives_close_buffered(afd); + offset_start = (int)((offset_startd - mt->tl_min) / tl_span * lives_widget_get_allocation_width(ebox) + .5); + if (width > 0 && offset_start > width) { + if (afd != -1) lives_close_buffered(afd); return; } - offset_endd=get_event_timecode(block->end_event)/U_SEC;//+1./cfile->fps; - offset_end=(offset_endd-mt->tl_min)/tl_span*lives_widget_get_allocation_width(ebox); + offset_endd = get_event_timecode(block->end_event) / U_SEC; //+1./cfile->fps; + offset_end = (offset_endd - mt->tl_min) / tl_span * lives_widget_get_allocation_width(ebox); - if (offset_end<mt->tl_min) { - block=block->next; + if (offset_end < mt->tl_min) { + block = block->next; continue; } - fnum=get_audio_frame_clip(block->start_event,track); - seek=get_audio_frame_seek(block->start_event,track); - vel=get_audio_frame_vel(block->start_event,track); + fnum = get_audio_frame_clip(block->start_event, track); + seek = get_audio_frame_seek(block->start_event, track); + vel = get_audio_frame_vel(block->start_event, track); - lives_painter_set_source_rgb(cr,1.,1.,1.); - lives_painter_rectangle(cr,offset_start,0,offset_end-offset_start,lives_widget_get_allocation_height(ebox)-1); + lives_painter_set_source_rgb(cr, 1., 1., 1.); + lives_painter_rectangle(cr, offset_start, 0, offset_end - offset_start, lives_widget_get_allocation_height(ebox) - 1); lives_painter_fill(cr); - lives_painter_set_source_rgb(cr,0.,0.,0.); - lives_painter_set_line_width(cr,1.); - lives_painter_rectangle(cr,offset_start,0,offset_end-offset_start,lives_widget_get_allocation_height(ebox)-1); + lives_painter_set_source_rgb(cr, 0., 0., 0.); + lives_painter_set_line_width(cr, 1.); + lives_painter_rectangle(cr, offset_start, 0, offset_end - offset_start, lives_widget_get_allocation_height(ebox) - 1); lives_painter_stroke(cr); - lives_painter_set_source_rgb(cr,0.5,0.5,0.5); + lives_painter_set_source_rgb(cr, 0.5, 0.5, 0.5); // open audio file here - for (i=offset_start; i<=offset_end; i++) { - secs=((double)i/lives_widget_get_allocation_width(ebox)*tl_span+mt->tl_min-offset_startd)*vel; - secs+=seek; - if (secs>mainw->files[fnum]->laudio_time) break; + awid = lives_widget_get_allocation_width(ebox) / (tl_span + mt->tl_min - offset_startd * vel); + + if (fnum != aofile) { + // does not make sense to use buffer reads, as we may read very sparsely from the file + if (afd != -1) close(afd); + filename = lives_build_filename(prefs->workdir, mainw->files[fnum]->handle, "audio", NULL); + afd = lives_open2(filename, O_RDONLY); + lives_free(filename); + aofile = fnum; + } + + for (i = offset_start; i <= offset_end; i++) { + secs = (double)i / awid; + secs += seek; + if (secs > mainw->files[fnum]->laudio_time) break; // seek and read - ypos=get_float_audio_val_at_time(fnum,secs,chnum,cfile->achans)*.5; + ypos = get_float_audio_val_at_time(fnum, afd, secs, chnum, cfile->achans) * .5; - lives_painter_move_to(cr,i,(float)lives_widget_get_allocation_height(ebox)/2.); - lives_painter_line_to(cr,i,(.5-ypos)*(float)lives_widget_get_allocation_height(ebox)); + lives_painter_move_to(cr, i, (float)lives_widget_get_allocation_height(ebox) / 2.); + lives_painter_line_to(cr, i, (.5 - ypos) * (float)lives_widget_get_allocation_height(ebox)); lives_painter_stroke(cr); } - block=block->next; + block = block->next; if (mainw->read_failed) { - char *filename=lives_build_filename(prefs->workdir,mainw->files[fnum]->handle,"audio",NULL); - do_read_failed_error_s(filename,NULL); + filename = lives_build_filename(prefs->workdir, mainw->files[fnum]->handle, "audio", NULL); + do_read_failed_error_s(filename, NULL); lives_free(filename); } } lives_painter_destroy(cr); - if (afd!=-1) close(afd); + if (afd != -1) close(afd); } - - - -#if GTK_CHECK_VERSION(3,0,0) -static boolean mt_expose_audtrack_event(LiVESWidget *ebox, lives_painter_t *cairo, livespointer user_data) { -#else -static boolean mt_expose_audtrack_event(LiVESWidget *ebox, LiVESXEventExpose *event, livespointer user_data) { - lives_painter_t *cairo=NULL; -#endif - - lives_painter_t *cr=cairo; - - lives_mt *mt=(lives_mt *)user_data; +static EXPOSE_FN_DECL(mt_expose_audtrack_event, ebox) { + lives_mt *mt = (lives_mt *)user_data; lives_painter_surface_t *bgimage; - int startx,starty,width,height; + int startx, starty, width, height; int hidden; int channum; if (mt->no_expose) return TRUE; -#if !GTK_CHECK_VERSION(3,0,0) - startx=event->area.x; - starty=event->area.y; - width=event->area.width; - height=event->area.height; - - if (event!=NULL&&event->count>0) { - return TRUE; + if (event != NULL) { + if (event->count > 0) { + return TRUE; + } + startx = event->area.x; + starty = event->area.y; + width = event->area.width; + height = event->area.height; + } else { + startx = starty = 0; + width = lives_widget_get_allocation_width(ebox); + height = lives_widget_get_allocation_height(ebox); } -#else - startx=starty=0; - width=lives_widget_get_allocation_width(ebox); - height=lives_widget_get_allocation_height(ebox); -#endif - if (width==0) return FALSE; + if (width == 0) return FALSE; - hidden=(int)LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(ebox), "hidden")); - if (hidden!=0) { + hidden = (int)LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(ebox), "hidden")); + if (hidden != 0) { return FALSE; } - if (width>lives_widget_get_allocation_width(ebox)-startx) width=lives_widget_get_allocation_width(ebox)-startx; + if (width > lives_widget_get_allocation_width(ebox) - startx) width = lives_widget_get_allocation_width(ebox) - startx; - if (cairo==NULL) cr = lives_painter_create_from_widget(ebox); - bgimage=(lives_painter_surface_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(ebox), "bgimg"); + if (event != NULL) cairo = lives_painter_create_from_widget(ebox); + bgimage = (lives_painter_surface_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(ebox), "bgimg"); if (LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(ebox), "drawn"))) { - - if (bgimage!=NULL&&lives_painter_image_surface_get_width(bgimage)>0) { - lives_painter_set_source_surface(cr, bgimage, startx, starty); - lives_painter_rectangle(cr,startx,starty,width,height); - lives_painter_fill(cr); - if (cairo==NULL) lives_painter_destroy(cr); + if (bgimage != NULL && lives_painter_image_surface_get_width(bgimage) > 0) { + lives_painter_set_source_surface(cairo, bgimage, startx, starty); + lives_painter_rectangle(cairo, startx, starty, width, height); + lives_painter_fill(cairo); + if (event != NULL) lives_painter_destroy(cairo); return TRUE; } } -#if !GTK_CHECK_VERSION(3,0,0) - width=lives_widget_get_allocation_width(ebox); - height=lives_widget_get_allocation_height(ebox); -#endif - - if (bgimage!=NULL) lives_painter_surface_destroy(bgimage); - - bgimage=lives_painter_image_surface_create(LIVES_PAINTER_FORMAT_ARGB32, - width, - height); + if (event != NULL) { + lives_painter_destroy(cairo); + width = lives_widget_get_allocation_width(ebox); + height = lives_widget_get_allocation_height(ebox); + } + + if (bgimage != NULL) lives_painter_surface_destroy(bgimage); + + bgimage = lives_painter_image_surface_create(LIVES_PAINTER_FORMAT_ARGB32, + width, + height); + + if (palette->style & STYLE_1) { + lives_painter_t *crx = lives_painter_create(bgimage); + lives_colRGBA64_t lcol; + if (palette->style & STYLE_3) { + widget_color_to_lives_rgba(&lcol, &palette->menu_and_bars); + } else { + widget_color_to_lives_rgba(&lcol, &palette->normal_fore); + } + lives_painter_set_source_rgb_from_lives_rgba(crx, &lcol); + lives_painter_rectangle(crx, 0., 0., width, height); + lives_painter_fill(crx); + lives_painter_paint(crx); + lives_painter_destroy(crx); + } - channum=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(ebox),"channel")); + channum = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(ebox), "channel")); - if (bgimage!=NULL&&lives_painter_image_surface_get_width(bgimage)>0) { - draw_soundwave(ebox,bgimage,channum,mt); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(ebox),"drawn",LIVES_INT_TO_POINTER(TRUE)); + if (bgimage != NULL && lives_painter_image_surface_get_width(bgimage) > 0) { + draw_soundwave(ebox, bgimage, channum, mt); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(ebox), "drawn", LIVES_INT_TO_POINTER(TRUE)); lives_widget_queue_draw(ebox); - } else if (bgimage!=NULL) { + } else if (bgimage != NULL) { lives_painter_surface_destroy(bgimage); - bgimage=NULL; + bgimage = NULL; } - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(ebox),"bgimg",bgimage); - - if (cairo==NULL) lives_painter_destroy(cr); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(ebox), "bgimg", bgimage); return TRUE; } +} //////////////////////////////////////////////////// @@ -18235,64 +17665,63 @@ boolean on_timeline_update(LiVESWidget *widget, LiVESXEventMotion *event, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; int x; double pos; - if (mainw->playing_file>-1) return TRUE; + if (mainw->playing_file > -1) return TRUE; - lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].mouse_device, + lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].mouse_device, widget, &x, NULL); - pos=get_time_from_x(mt,x); + pos = get_time_from_x(mt, x); if (!mt->region_updating) { if (mt->tl_mouse) { - mt->fm_edit_event=NULL; - mt_tl_move(mt,pos); + mt->fm_edit_event = NULL; + mt_tl_move(mt, pos); } return TRUE; } - if (pos>mt->region_init) { - mt->region_start=mt->region_init; - mt->region_end=pos; + if (pos > mt->region_init) { + mt->region_start = mt->region_init; + mt->region_end = pos; } else { - mt->region_start=pos; - mt->region_end=mt->region_init; + mt->region_start = pos; + mt->region_end = mt->region_init; } - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_start),mt->region_start); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_end),mt->region_end); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_start), mt->region_start); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_end), mt->region_end); - if (mt->opts.mouse_mode==MOUSE_MODE_SELECT&&mt->tl_selecting&&event!=NULL) mouse_select_move(widget,event,mt); + if (mt->opts.mouse_mode == MOUSE_MODE_SELECT && mt->tl_selecting && event != NULL) mouse_select_move(widget, event, mt); return TRUE; } - boolean all_present(weed_plant_t *event, LiVESList *sel) { int *clips; int *frames; - int error,numclips,layer; + int error, numclips, layer; // see if we have an actual clip/frame for each layer in sel - if (event==NULL||sel==NULL) return FALSE; + if (event == NULL || sel == NULL) return FALSE; - numclips=weed_leaf_num_elements(event,WEED_LEAF_CLIPS); + numclips = weed_leaf_num_elements(event, WEED_LEAF_CLIPS); if (!numclips) return FALSE; - clips=weed_get_int_array(event,WEED_LEAF_CLIPS,&error); - frames=weed_get_int_array(event,WEED_LEAF_FRAMES,&error); + clips = weed_get_int_array(event, WEED_LEAF_CLIPS, &error); + frames = weed_get_int_array(event, WEED_LEAF_FRAMES, &error); - while (sel!=NULL) { - layer=LIVES_POINTER_TO_INT(sel->data); - if (layer>=numclips||clips[layer]<1||frames[layer]<1) { + while (sel != NULL) { + layer = LIVES_POINTER_TO_INT(sel->data); + if (layer >= numclips || clips[layer] < 1 || frames[layer] < 1) { lives_free(clips); lives_free(frames); return FALSE; } - sel=sel->next; + sel = sel->next; } lives_free(clips); lives_free(frames); @@ -18305,139 +17734,137 @@ weed_plant_t *event; weed_timecode_t tc; - if (mt->selected_tracks==NULL||mt->event_list==NULL) { - mt->region_start=mt->region_end=0.; + if (mt->selected_tracks == NULL || mt->event_list == NULL) { + mt->region_start = mt->region_end = 0.; return; } - tc=q_gint64(mt->region_start*U_SECL,mt->fps); - event=get_frame_event_at(mt->event_list,tc,NULL,TRUE); + tc = q_gint64(mt->region_start * U_SECL, mt->fps); + event = get_frame_event_at(mt->event_list, tc, NULL, TRUE); - while (all_present(event,mt->selected_tracks)) { + while (all_present(event, mt->selected_tracks)) { // move start to left - event=get_prev_frame_event(event); + event = get_prev_frame_event(event); } - if (event==NULL) { - event=get_first_event(mt->event_list); - if (!WEED_EVENT_IS_FRAME(event)) event=get_next_frame_event(event); + if (event == NULL) { + event = get_first_event(mt->event_list); + if (!WEED_EVENT_IS_FRAME(event)) event = get_next_frame_event(event); } - while (event!=NULL&&!all_present(event,mt->selected_tracks)) { - event=get_next_frame_event(event); + while (event != NULL && !all_present(event, mt->selected_tracks)) { + event = get_next_frame_event(event); } - if (event==NULL) mt->region_start=0.; - else mt->region_start=get_event_timecode(event)/U_SEC; + if (event == NULL) mt->region_start = 0.; + else mt->region_start = get_event_timecode(event) / U_SEC; - tc=q_gint64(mt->region_end*U_SECL,mt->fps); - event=get_frame_event_at(mt->event_list,tc,NULL,TRUE); + tc = q_gint64(mt->region_end * U_SECL, mt->fps); + event = get_frame_event_at(mt->event_list, tc, NULL, TRUE); - while (all_present(event,mt->selected_tracks)) { + while (all_present(event, mt->selected_tracks)) { // move end to right - event=get_next_frame_event(event); + event = get_next_frame_event(event); } - if (event==NULL) { - event=get_last_event(mt->event_list); - if (!WEED_EVENT_IS_FRAME(event)) event=get_prev_frame_event(event); + if (event == NULL) { + event = get_last_event(mt->event_list); + if (!WEED_EVENT_IS_FRAME(event)) event = get_prev_frame_event(event); } - while (event!=NULL&&!all_present(event,mt->selected_tracks)) { - event=get_prev_frame_event(event); + while (event != NULL && !all_present(event, mt->selected_tracks)) { + event = get_prev_frame_event(event); } - if (event==NULL) mt->region_end=0.; - mt->region_end=get_event_timecode(event)/U_SEC+1./mt->fps; + if (event == NULL) mt->region_end = 0.; + mt->region_end = get_event_timecode(event) / U_SEC + 1. / mt->fps; - if (mt->event_list!=NULL&&get_first_event(mt->event_list)!=NULL) { - lives_widget_set_sensitive(mt->view_sel_events,mt->region_start!=mt->region_end); + if (mt->event_list != NULL && get_first_event(mt->event_list) != NULL) { + lives_widget_set_sensitive(mt->view_sel_events, mt->region_start != mt->region_end); } - } void do_sel_context(lives_mt *mt) { char *msg; - if (mt->region_start==mt->region_end||mt->did_backup) return; + if (mt->region_start == mt->region_end || mt->did_backup) return; clear_context(mt); - msg=lives_strdup_printf(_("Time region %.3f to %.3f\nselected.\n"),mt->region_start,mt->region_end); - add_context_label(mt,msg); + msg = lives_strdup_printf(_("Time region %.3f to %.3f\nselected.\n"), mt->region_start, mt->region_end); + add_context_label(mt, msg); lives_free(msg); - if (mt->selected_tracks==NULL) { - msg=lives_strdup_printf(_("select one or more tracks\nto create a region.\n"),lives_list_length(mt->selected_tracks)); - } else msg=lives_strdup_printf(_("%d video tracks selected.\n"),lives_list_length(mt->selected_tracks)); - add_context_label(mt,msg); - add_context_label(mt,_("Double click on timeline\nto deselect time region.")); + if (mt->selected_tracks == NULL) { + msg = lives_strdup_printf(_("select one or more tracks\nto create a region.\n"), lives_list_length(mt->selected_tracks)); + } else msg = lives_strdup_printf(_("%d video tracks selected.\n"), lives_list_length(mt->selected_tracks)); + add_context_label(mt, msg); + add_context_label(mt, _("Double click on timeline\nto deselect time region.")); lives_free(msg); } void do_fx_list_context(lives_mt *mt, int fxcount) { clear_context(mt); - add_context_label(mt,(_("Single click on an effect\nto select it."))); - add_context_label(mt,(_("Double click on an effect\nto edit it."))); - add_context_label(mt,(_("Right click on an effect\nfor context menu.\n"))); - if (fxcount>1) { - add_context_label(mt,(_("Effect order can be changed at\nFILTER MAPS"))); + add_context_label(mt, (_("Single click on an effect\nto select it."))); + add_context_label(mt, (_("Double click on an effect\nto edit it."))); + add_context_label(mt, (_("Right click on an effect\nfor context menu.\n"))); + if (fxcount > 1) { + add_context_label(mt, (_("Effect order can be changed at\nFILTER MAPS"))); } } void do_fx_move_context(lives_mt *mt) { clear_context(mt); - add_context_label(mt,(_("You can select an effect,\nthen use the INSERT BEFORE"))); - add_context_label(mt,(_("or INSERT AFTER buttons to move it."))); + add_context_label(mt, (_("You can select an effect,\nthen use the INSERT BEFORE"))); + add_context_label(mt, (_("or INSERT AFTER buttons to move it."))); } - boolean on_timeline_release(LiVESWidget *eventbox, LiVESXEventButton *event, livespointer user_data) { //button release - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; - double pos=mt->region_end; + double pos = mt->region_end; lives_mt_poly_state_t statep; if (!mainw->interactive) return FALSE; - if (mainw->playing_file>-1) return FALSE; + if (mainw->playing_file > -1) return FALSE; - mt->tl_mouse=FALSE; + mt->tl_mouse = FALSE; - if (eventbox!=mt->timeline_reg) { + if (eventbox != mt->timeline_reg) { return FALSE; } - if (event!=NULL) mt->region_updating=FALSE; + if (event != NULL) mt->region_updating = FALSE; - if (mt->region_start==mt->region_end&&eventbox==mt->timeline_reg) { - mt->region_start=mt->region_end=0; - lives_widget_set_sensitive(mt->view_sel_events,FALSE); - lives_signal_handler_block(mt->spinbutton_start,mt->spin_start_func); - lives_signal_handler_block(mt->spinbutton_end,mt->spin_end_func); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_start),0.,mt->end_secs); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_end),0.,mt->end_secs+1./mt->fps); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_start),0.); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_end),0.); - lives_signal_handler_unblock(mt->spinbutton_start,mt->spin_start_func); - lives_signal_handler_unblock(mt->spinbutton_end,mt->spin_end_func); + if (mt->region_start == mt->region_end && eventbox == mt->timeline_reg) { + mt->region_start = mt->region_end = 0; + lives_widget_set_sensitive(mt->view_sel_events, FALSE); + lives_signal_handler_block(mt->spinbutton_start, mt->spin_start_func); + lives_signal_handler_block(mt->spinbutton_end, mt->spin_end_func); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_start), 0., mt->end_secs); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mt->spinbutton_end), 0., mt->end_secs + 1. / mt->fps); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_start), 0.); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_end), 0.); + lives_signal_handler_unblock(mt->spinbutton_start, mt->spin_start_func); + lives_signal_handler_unblock(mt->spinbutton_end, mt->spin_end_func); lives_widget_queue_draw(mt->timeline_reg); - lives_widget_process_updates(mt->timeline_reg,FALSE); + lives_widget_process_updates(mt->timeline_reg, FALSE); draw_region(mt); no_time_selected(mt); } - if ((mt->region_end!=mt->region_start)&&eventbox==mt->timeline_reg) { + if ((mt->region_end != mt->region_start) && eventbox == mt->timeline_reg) { if (mt->opts.snap_over) get_region_overlap(mt); - if (mt->region_end<mt->region_start) { - mt->region_start-=mt->region_end; - mt->region_end+=mt->region_start; - mt->region_start=mt->region_end-mt->region_start; + if (mt->region_end < mt->region_start) { + mt->region_start -= mt->region_end; + mt->region_end += mt->region_start; + mt->region_start = mt->region_end - mt->region_start; } - if (mt->region_end>mt->region_start&&mt->event_list!=NULL&&get_first_event(mt->event_list)!=NULL) { - if (mt->selected_tracks!=NULL) { + if (mt->region_end > mt->region_start && mt->event_list != NULL && get_first_event(mt->event_list) != NULL) { + if (mt->selected_tracks != NULL) { lives_widget_set_sensitive(mt->fx_region, TRUE); lives_widget_set_sensitive(mt->ins_gap_sel, TRUE); lives_widget_set_sensitive(mt->remove_gaps, TRUE); @@ -18445,62 +17872,62 @@ } else { lives_widget_set_sensitive(mt->fx_region, FALSE); } - lives_widget_set_sensitive(mt->playsel,TRUE); + lives_widget_set_sensitive(mt->playsel, TRUE); lives_widget_set_sensitive(mt->ins_gap_cur, TRUE); - lives_widget_set_sensitive(mt->view_sel_events,TRUE); + lives_widget_set_sensitive(mt->view_sel_events, TRUE); } else { - lives_widget_set_sensitive(mt->playsel,FALSE); + lives_widget_set_sensitive(mt->playsel, FALSE); lives_widget_set_sensitive(mt->fx_region, FALSE); lives_widget_set_sensitive(mt->ins_gap_cur, FALSE); lives_widget_set_sensitive(mt->ins_gap_sel, FALSE); lives_widget_set_sensitive(mt->remove_gaps, FALSE); lives_widget_set_sensitive(mt->remove_first_gaps, FALSE); } - if (mt->region_start==mt->region_end) lives_widget_queue_draw(mt->timeline); + if (mt->region_start == mt->region_end) lives_widget_queue_draw(mt->timeline); } else { - if (eventbox!=mt->timeline_reg) mt_tl_move(mt,pos); + if (eventbox != mt->timeline_reg) mt_tl_move(mt, pos); lives_widget_set_sensitive(mt->fx_region, FALSE); lives_widget_set_sensitive(mt->ins_gap_cur, FALSE); lives_widget_set_sensitive(mt->ins_gap_sel, FALSE); - lives_widget_set_sensitive(mt->playsel,FALSE); + lives_widget_set_sensitive(mt->playsel, FALSE); lives_widget_set_sensitive(mt->remove_gaps, FALSE); lives_widget_set_sensitive(mt->remove_first_gaps, FALSE); - if (mt->init_event!=NULL&&mt->poly_state==POLY_PARAMS) - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->node_spinbutton),pos-get_event_timecode(mt->init_event)/U_SEC); + if (mt->init_event != NULL && mt->poly_state == POLY_PARAMS) + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->node_spinbutton), pos - get_event_timecode(mt->init_event) / U_SEC); } - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_start),mt->region_start); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_end),mt->region_end); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_start), mt->region_start); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->spinbutton_end), mt->region_end); - pos=mt->ptr_time; - if (pos>mt->region_end-1./mt->fps) lives_widget_set_sensitive(mt->tc_to_rs,FALSE); - else lives_widget_set_sensitive(mt->tc_to_rs,TRUE); - if (pos<mt->region_start+1./mt->fps) lives_widget_set_sensitive(mt->tc_to_re,FALSE); - else lives_widget_set_sensitive(mt->tc_to_re,TRUE); - - if (mt->opts.mouse_mode==MOUSE_MODE_SELECT&&event!=NULL) mouse_select_end(eventbox,event,mt); - - lives_widget_set_sensitive(mt->fx_region_1,FALSE); - lives_widget_set_sensitive(mt->fx_region_2,FALSE); - lives_widget_set_sensitive(mt->fx_region_2a,FALSE); - lives_widget_set_sensitive(mt->fx_region_2v,FALSE); - lives_widget_set_sensitive(mt->fx_region_2av,FALSE); - lives_widget_set_sensitive(mt->fx_region_3,FALSE); + pos = mt->ptr_time; + if (pos > mt->region_end - 1. / mt->fps) lives_widget_set_sensitive(mt->tc_to_rs, FALSE); + else lives_widget_set_sensitive(mt->tc_to_rs, TRUE); + if (pos < mt->region_start + 1. / mt->fps) lives_widget_set_sensitive(mt->tc_to_re, FALSE); + else lives_widget_set_sensitive(mt->tc_to_re, TRUE); + + if (mt->opts.mouse_mode == MOUSE_MODE_SELECT && event != NULL) mouse_select_end(eventbox, event, mt); + + lives_widget_set_sensitive(mt->fx_region_1, FALSE); + lives_widget_set_sensitive(mt->fx_region_2, FALSE); + lives_widget_set_sensitive(mt->fx_region_2a, FALSE); + lives_widget_set_sensitive(mt->fx_region_2v, FALSE); + lives_widget_set_sensitive(mt->fx_region_2av, FALSE); + lives_widget_set_sensitive(mt->fx_region_3, FALSE); - if (mt->selected_tracks!=NULL&&mt->region_end!=mt->region_start) { - lives_widget_set_sensitive(mt->fx_region_3,TRUE); + if (mt->selected_tracks != NULL && mt->region_end != mt->region_start) { + lives_widget_set_sensitive(mt->fx_region_3, TRUE); switch (lives_list_length(mt->selected_tracks)) { case 1: - lives_widget_set_sensitive(mt->fx_region_1,TRUE); - lives_widget_set_sensitive(mt->fx_region_1v,TRUE); - if (cfile->achans>0) lives_widget_set_sensitive(mt->fx_region_1a,TRUE); + lives_widget_set_sensitive(mt->fx_region_1, TRUE); + lives_widget_set_sensitive(mt->fx_region_1v, TRUE); + if (cfile->achans > 0) lives_widget_set_sensitive(mt->fx_region_1a, TRUE); break; case 2: - lives_widget_set_sensitive(mt->fx_region_2,TRUE); + lives_widget_set_sensitive(mt->fx_region_2, TRUE); if (mt->opts.pertrack_audio) - lives_widget_set_sensitive(mt->fx_region_2a,TRUE); - lives_widget_set_sensitive(mt->fx_region_2v,TRUE); - lives_widget_set_sensitive(mt->fx_region_2av,TRUE); + lives_widget_set_sensitive(mt->fx_region_2a, TRUE); + lives_widget_set_sensitive(mt->fx_region_2v, TRUE); + lives_widget_set_sensitive(mt->fx_region_2av, TRUE); break; default: break; @@ -18508,10 +17935,10 @@ } // update labels - statep=get_poly_state_from_page(mt); - if (statep==POLY_TRANS||statep==POLY_COMP) { - polymorph(mt,POLY_NONE); - polymorph(mt,statep); + statep = get_poly_state_from_page(mt); + if (statep == POLY_TRANS || statep == POLY_COMP) { + polymorph(mt, POLY_NONE); + polymorph(mt, statep); } return TRUE; @@ -18519,87 +17946,86 @@ boolean on_timeline_press(LiVESWidget *widget, LiVESXEventButton *event, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; int x; double pos; if (!mainw->interactive) return FALSE; - if (mainw->playing_file>-1) return FALSE; + if (mainw->playing_file > -1) return FALSE; - lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].mouse_device, + lives_widget_get_pointer((LiVESXDevice *)mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].mouse_device, widget, &x, NULL); - pos=get_time_from_x(mt,x); - if (widget==mt->timeline_reg) { - mt->region_start=mt->region_end=mt->region_init=pos; - lives_widget_set_sensitive(mt->view_sel_events,FALSE); - mt->region_updating=TRUE; + pos = get_time_from_x(mt, x); + if (widget == mt->timeline_reg) { + mt->region_start = mt->region_end = mt->region_init = pos; + lives_widget_set_sensitive(mt->view_sel_events, FALSE); + mt->region_updating = TRUE; } - if (widget==mt->timeline_eb) { - mt->fm_edit_event=NULL; - mt_tl_move(mt,pos); - mt->tl_mouse=TRUE; + if (widget == mt->timeline_eb) { + mt->fm_edit_event = NULL; + mt_tl_move(mt, pos); + mt->tl_mouse = TRUE; } - if (widget==mt->timeline) { - mt->fm_edit_event=NULL; - mt_tl_move(mt,pos); + if (widget == mt->timeline) { + mt->fm_edit_event = NULL; + mt_tl_move(mt, pos); } - if (mt->opts.mouse_mode==MOUSE_MODE_SELECT) mouse_select_start(widget,event,mt); + if (mt->opts.mouse_mode == MOUSE_MODE_SELECT) mouse_select_start(widget, event, mt); return TRUE; } weed_plant_t *get_prev_fm(lives_mt *mt, int current_track, weed_plant_t *event) { - weed_plant_t *event2,*event3,*eventx; + weed_plant_t *event2, *event3, *eventx; - if (event==NULL) return NULL; + if (event == NULL) return NULL; - eventx=get_filter_map_before(event,current_track,NULL); + eventx = get_filter_map_before(event, current_track, NULL); - if (eventx==NULL) return NULL; + if (eventx == NULL) return NULL; - if (get_event_timecode(eventx)==get_event_timecode(event)) { + if (get_event_timecode(eventx) == get_event_timecode(event)) { // start with a map different from current while (1) { - event2=get_prev_event(eventx); + event2 = get_prev_event(eventx); - if (event2==NULL) return NULL; + if (event2 == NULL) return NULL; - event3=get_filter_map_before(event2,current_track,NULL); + event3 = get_filter_map_before(event2, current_track, NULL); - if (!compare_filter_maps(event3,eventx,current_track)) { - event=event2=event3; + if (!compare_filter_maps(event3, eventx, current_track)) { + event = event2 = event3; break; // continue with event 3 } - eventx=event3; + eventx = event3; } } else { - if ((event2=get_prev_frame_event(event))==NULL) return NULL; + if ((event2 = get_prev_frame_event(event)) == NULL) return NULL; - event2=get_filter_map_before(event2,current_track,NULL); + event2 = get_filter_map_before(event2, current_track, NULL); - if (event2==NULL) return NULL; + if (event2 == NULL) return NULL; } // now find the earliest which is the same while (1) { - event=event2; + event = event2; - event3=get_prev_event(event2); + event3 = get_prev_event(event2); - if (event3==NULL) break; + if (event3 == NULL) break; - event2=get_filter_map_before(event3,current_track,NULL); + event2 = get_filter_map_before(event3, current_track, NULL); - if (event2==NULL) break; - - if (!compare_filter_maps(event2,event,current_track)) break; + if (event2 == NULL) break; + if (!compare_filter_maps(event2, event, current_track)) break; } if (filter_map_after_frame(event)) return get_next_frame_event(event); @@ -18609,28 +18035,27 @@ weed_plant_t *get_next_fm(lives_mt *mt, int current_track, weed_plant_t *event) { - weed_plant_t *event2,*event3; + weed_plant_t *event2, *event3; - if (event==NULL) return NULL; + if (event == NULL) return NULL; - if ((event2=get_filter_map_after(event,current_track))==NULL) return event; + if ((event2 = get_filter_map_after(event, current_track)) == NULL) return event; - event3=get_filter_map_before(event,LIVES_TRACK_ANY,NULL); + event3 = get_filter_map_before(event, LIVES_TRACK_ANY, NULL); - if (event3==NULL) return NULL; + if (event3 == NULL) return NULL; // find the first filter_map which differs from the current while (1) { - if (!compare_filter_maps(event2,event3,current_track)) break; - - event=get_next_event(event2); + if (!compare_filter_maps(event2, event3, current_track)) break; - if (event==NULL) return NULL; + event = get_next_event(event2); - event3=event2; + if (event == NULL) return NULL; - if ((event2=get_filter_map_after(event,current_track))==NULL) return NULL; + event3 = event2; + if ((event2 = get_filter_map_after(event, current_track)) == NULL) return NULL; } if (filter_map_after_frame(event2)) return get_next_frame_event(event2); @@ -18639,38 +18064,35 @@ } - static void add_mark_at(lives_mt *mt, double time) { lives_painter_t *cr; - char *tstring=lives_strdup_printf("%.6f",time); + char *tstring = lives_strdup_printf("%.6f", time); int offset; - lives_widget_set_sensitive(mt->clear_marks,TRUE); - mt->tl_marks=lives_list_append(mt->tl_marks,tstring); - offset=(time-mt->tl_min)/(mt->tl_max-mt->tl_min)*(double)lives_widget_get_allocation_width(mt->timeline); + lives_widget_set_sensitive(mt->clear_marks, TRUE); + mt->tl_marks = lives_list_append(mt->tl_marks, tstring); + offset = (time - mt->tl_min) / (mt->tl_max - mt->tl_min) * (double)lives_widget_get_allocation_width(mt->timeline); cr = lives_painter_create_from_widget(mt->timeline_reg); - lives_painter_set_source_rgb_from_lives_rgba(cr,&palette->mt_mark); + lives_painter_set_source_rgb_from_lives_rgba(cr, &palette->mt_mark); - lives_painter_move_to(cr,offset,1); - lives_painter_line_to(cr,offset,lives_widget_get_allocation_height(mt->timeline_reg)-2); + lives_painter_move_to(cr, offset, 1); + lives_painter_line_to(cr, offset, lives_widget_get_allocation_height(mt->timeline_reg) - 2); lives_painter_stroke(cr); lives_painter_destroy(cr); - } - boolean mt_mark_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; double cur_time; - if (mainw->playing_file==-1) return TRUE; + if (mainw->playing_file == -1) return TRUE; - cur_time=mt->ptr_time; + cur_time = mt->ptr_time; add_mark_at(mt, cur_time); return TRUE; @@ -18678,82 +18100,79 @@ void on_fx_insa_clicked(LiVESWidget *button, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - mt->fx_order=FX_ORD_AFTER; - lives_widget_set_sensitive(mt->fx_ibefore_button,FALSE); - lives_widget_set_sensitive(mt->fx_iafter_button,FALSE); + lives_mt *mt = (lives_mt *)user_data; + mt->fx_order = FX_ORD_AFTER; + lives_widget_set_sensitive(mt->fx_ibefore_button, FALSE); + lives_widget_set_sensitive(mt->fx_iafter_button, FALSE); clear_context(mt); - add_context_label(mt,(_("Click on another effect,"))); - add_context_label(mt,(_("and the selected one\nwill be inserted"))); - add_context_label(mt,(_("after it.\n"))); - + add_context_label(mt, (_("Click on another effect,"))); + add_context_label(mt, (_("and the selected one\nwill be inserted"))); + add_context_label(mt, (_("after it.\n"))); } + void on_fx_insb_clicked(LiVESWidget *button, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - mt->fx_order=FX_ORD_BEFORE; - lives_widget_set_sensitive(mt->fx_ibefore_button,FALSE); - lives_widget_set_sensitive(mt->fx_iafter_button,FALSE); + lives_mt *mt = (lives_mt *)user_data; + mt->fx_order = FX_ORD_BEFORE; + lives_widget_set_sensitive(mt->fx_ibefore_button, FALSE); + lives_widget_set_sensitive(mt->fx_iafter_button, FALSE); clear_context(mt); - add_context_label(mt,(_("Click on another effect,"))); - add_context_label(mt,(_("and the selected one\nwill be inserted"))); - add_context_label(mt,(_("before it.\n"))); + add_context_label(mt, (_("Click on another effect,"))); + add_context_label(mt, (_("and the selected one\nwill be inserted"))); + add_context_label(mt, (_("before it.\n"))); } - void on_prev_fm_clicked(LiVESWidget *button, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; weed_timecode_t tc; - double secs=mt->ptr_time; - tc=q_gint64(secs*U_SEC,mt->fps); + double secs = mt->ptr_time; + tc = q_gint64(secs * U_SEC, mt->fps); weed_plant_t *event; - event=get_frame_event_at(mt->event_list,tc,mt->fm_edit_event,TRUE); + event = get_frame_event_at(mt->event_list, tc, mt->fm_edit_event, TRUE); - event=get_prev_fm(mt,mt->current_track,event); + event = get_prev_fm(mt, mt->current_track, event); - if (event!=NULL) tc=get_event_timecode(event); + if (event != NULL) tc = get_event_timecode(event); - mt_tl_move(mt,tc/U_SEC); + mt_tl_move(mt, tc / U_SEC); } void on_next_fm_clicked(LiVESWidget *button, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; weed_timecode_t tc; weed_plant_t *event; - double secs=mt->ptr_time; - tc=q_gint64(secs*U_SEC,mt->fps); + double secs = mt->ptr_time; + tc = q_gint64(secs * U_SEC, mt->fps); - event=get_frame_event_at(mt->event_list,tc,mt->fm_edit_event,TRUE); + event = get_frame_event_at(mt->event_list, tc, mt->fm_edit_event, TRUE); - event=get_next_fm(mt,mt->current_track,event); + event = get_next_fm(mt, mt->current_track, event); - if (event!=NULL) tc=get_event_timecode(event); - - mt_tl_move(mt,tc/U_SEC); + if (event != NULL) tc = get_event_timecode(event); + mt_tl_move(mt, tc / U_SEC); } - static weed_timecode_t get_prev_node_tc(lives_mt *mt, weed_timecode_t tc) { - int num_params=num_in_params(get_weed_filter(mt->current_fx),FALSE,FALSE); - int i,error; - weed_timecode_t prev_tc=-1; + int num_params = num_in_params(get_weed_filter(mt->current_fx), FALSE, FALSE); + int i, error; + weed_timecode_t prev_tc = -1; weed_plant_t *event; weed_timecode_t ev_tc; - if (pchain==NULL) return tc; + if (pchain == NULL) return tc; - for (i=0; i<num_params; i++) { - event=(weed_plant_t *)pchain[i]; - while (event!=NULL&&(ev_tc=get_event_timecode(event))<tc) { - if (ev_tc>prev_tc) prev_tc=ev_tc; - event=(weed_plant_t *)weed_get_voidptr_value(event,WEED_LEAF_NEXT_CHANGE,&error); + for (i = 0; i < num_params; i++) { + event = (weed_plant_t *)pchain[i]; + while (event != NULL && (ev_tc = get_event_timecode(event)) < tc) { + if (ev_tc > prev_tc) prev_tc = ev_tc; + event = (weed_plant_t *)weed_get_voidptr_value(event, WEED_LEAF_NEXT_CHANGE, &error); } } return prev_tc; @@ -18761,20 +18180,20 @@ static weed_timecode_t get_next_node_tc(lives_mt *mt, weed_timecode_t tc) { - int num_params=num_in_params(get_weed_filter(mt->current_fx),FALSE,FALSE); - int i,error; - weed_timecode_t next_tc=-1; + int num_params = num_in_params(get_weed_filter(mt->current_fx), FALSE, FALSE); + int i, error; + weed_timecode_t next_tc = -1; weed_plant_t *event; weed_timecode_t ev_tc; - if (pchain==NULL) return tc; + if (pchain == NULL) return tc; - for (i=0; i<num_params; i++) { - event=(weed_plant_t *)pchain[i]; - while (event!=NULL&&(ev_tc=get_event_timecode(event))<=tc) - event=(weed_plant_t *)weed_get_voidptr_value(event,WEED_LEAF_NEXT_CHANGE,&error); - if (event!=NULL) { - if (next_tc==-1||ev_tc<next_tc) next_tc=ev_tc; + for (i = 0; i < num_params; i++) { + event = (weed_plant_t *)pchain[i]; + while (event != NULL && (ev_tc = get_event_timecode(event)) <= tc) + event = (weed_plant_t *)weed_get_voidptr_value(event, WEED_LEAF_NEXT_CHANGE, &error); + if (event != NULL) { + if (next_tc == -1 || ev_tc < next_tc) next_tc = ev_tc; } } return next_tc; @@ -18782,400 +18201,396 @@ static boolean is_node_tc(lives_mt *mt, weed_timecode_t tc) { - int num_params=num_in_params(get_weed_filter(mt->current_fx),FALSE,FALSE); - int i,error; + int num_params = num_in_params(get_weed_filter(mt->current_fx), FALSE, FALSE); + int i, error; weed_plant_t *event; weed_timecode_t ev_tc; - for (i=0; i<num_params; i++) { - event=(weed_plant_t *)pchain[i]; - ev_tc=-1; - while (event!=NULL&&(ev_tc=get_event_timecode(event))<tc) event=(weed_plant_t *)weed_get_voidptr_value(event,WEED_LEAF_NEXT_CHANGE,&error); - if (ev_tc==tc) return TRUE; + for (i = 0; i < num_params; i++) { + event = (weed_plant_t *)pchain[i]; + ev_tc = -1; + while (event != NULL && + (ev_tc = get_event_timecode(event)) < tc) event = (weed_plant_t *)weed_get_voidptr_value(event, WEED_LEAF_NEXT_CHANGE, &error); + if (ev_tc == tc) return TRUE; } return FALSE; } - // apply the param changes and update widgets void on_node_spin_value_changed(LiVESSpinButton *spinbutton, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - weed_timecode_t init_tc=get_event_timecode(mt->init_event); - weed_timecode_t otc=lives_spin_button_get_value(spinbutton)*U_SEC+init_tc; - weed_timecode_t tc=q_gint64(otc,mt->fps); + lives_mt *mt = (lives_mt *)user_data; + weed_timecode_t init_tc = get_event_timecode(mt->init_event); + weed_timecode_t otc = lives_spin_button_get_value(spinbutton) * U_SEC + init_tc; + weed_timecode_t tc = q_gint64(otc, mt->fps); double timesecs; - boolean auto_prev=mt->opts.fx_auto_preview; + boolean auto_prev = mt->opts.fx_auto_preview; - lives_signal_handlers_block_by_func(spinbutton,(livespointer)on_node_spin_value_changed,(livespointer)mt); + lives_signal_handlers_block_by_func(spinbutton, (livespointer)on_node_spin_value_changed, (livespointer)mt); if (!mt->block_tl_move) { - timesecs=otc/U_SEC; - mt->block_node_spin=TRUE; - mt_tl_move(mt,timesecs); - mt->block_node_spin=FALSE; + timesecs = otc / U_SEC; + mt->block_node_spin = TRUE; + mt_tl_move(mt, timesecs); + mt->block_node_spin = FALSE; } - if (mt->prev_fx_time==0.||tc==init_tc) { + if (mt->prev_fx_time == 0. || tc == init_tc) { add_mt_param_box(mt); // sensitise/desensitise reinit params - } else mt->prev_fx_time=mt_get_effect_time(mt); + } else mt->prev_fx_time = mt_get_effect_time(mt); - interpolate_params((weed_plant_t *)mt->current_rfx->source,pchain,tc); + interpolate_params((weed_plant_t *)mt->current_rfx->source, pchain, tc); set_params_unchanged(mt->current_rfx); - get_track_index(mt,tc); + get_track_index(mt, tc); - mt->opts.fx_auto_preview=FALSE; // we will preview anyway later, so don't do it twice + mt->opts.fx_auto_preview = FALSE; // we will preview anyway later, so don't do it twice - mainw->block_param_updates=TRUE; - update_visual_params(mt->current_rfx,TRUE); - mainw->block_param_updates=FALSE; + mainw->block_param_updates = TRUE; + update_visual_params(mt->current_rfx, TRUE); + mainw->block_param_updates = FALSE; - mt->opts.fx_auto_preview=auto_prev; + mt->opts.fx_auto_preview = auto_prev; - if (get_prev_node_tc(mt,tc)>-1) lives_widget_set_sensitive(mt->prev_node_button,TRUE); - else lives_widget_set_sensitive(mt->prev_node_button,FALSE); + if (get_prev_node_tc(mt, tc) > -1) lives_widget_set_sensitive(mt->prev_node_button, TRUE); + else lives_widget_set_sensitive(mt->prev_node_button, FALSE); - if (get_next_node_tc(mt,tc)>-1) lives_widget_set_sensitive(mt->next_node_button,TRUE); - else lives_widget_set_sensitive(mt->next_node_button,FALSE); + if (get_next_node_tc(mt, tc) > -1) lives_widget_set_sensitive(mt->next_node_button, TRUE); + else lives_widget_set_sensitive(mt->next_node_button, FALSE); - if (is_node_tc(mt,tc)) { - lives_widget_set_sensitive(mt->del_node_button,TRUE); - lives_widget_set_sensitive(mt->apply_fx_button,FALSE); - } else lives_widget_set_sensitive(mt->del_node_button,FALSE); + if (is_node_tc(mt, tc)) { + lives_widget_set_sensitive(mt->del_node_button, TRUE); + lives_widget_set_sensitive(mt->apply_fx_button, FALSE); + } else lives_widget_set_sensitive(mt->del_node_button, FALSE); - if (mt->current_track>=0) { - if (mt->opts.fx_auto_preview||mainw->play_window!=NULL) mt_show_current_frame(mt, FALSE); + if (mt->current_track >= 0) { + if (mt->opts.fx_auto_preview || mainw->play_window != NULL) mt_show_current_frame(mt, FALSE); } - lives_signal_handlers_unblock_by_func(spinbutton,(livespointer)on_node_spin_value_changed,(livespointer)mt); + lives_signal_handlers_unblock_by_func(spinbutton, (livespointer)on_node_spin_value_changed, (livespointer)mt); } + // node buttons void on_next_node_clicked(LiVESWidget *button, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - weed_timecode_t init_tc=get_event_timecode(mt->init_event); - weed_timecode_t tc=q_gint64(lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->node_spinbutton))*U_SEC+init_tc,mt->fps); - weed_timecode_t next_tc=get_next_node_tc(mt,tc); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->node_spinbutton),(next_tc-init_tc)/U_SEC); - if (mt->current_track>=0) mt_show_current_frame(mt, FALSE); - lives_widget_set_sensitive(mt->apply_fx_button,FALSE); + lives_mt *mt = (lives_mt *)user_data; + weed_timecode_t init_tc = get_event_timecode(mt->init_event); + weed_timecode_t tc = q_gint64(lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->node_spinbutton)) * U_SEC + init_tc, mt->fps); + weed_timecode_t next_tc = get_next_node_tc(mt, tc); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->node_spinbutton), (next_tc - init_tc) / U_SEC); + if (mt->current_track >= 0) mt_show_current_frame(mt, FALSE); + lives_widget_set_sensitive(mt->apply_fx_button, FALSE); } void on_prev_node_clicked(LiVESWidget *button, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - weed_timecode_t init_tc=get_event_timecode(mt->init_event); - weed_timecode_t tc=q_gint64(lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->node_spinbutton))*U_SEC+init_tc,mt->fps); - weed_timecode_t prev_tc=get_prev_node_tc(mt,tc); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->node_spinbutton),(prev_tc-init_tc)/U_SEC); - if (mt->current_track>=0) mt_show_current_frame(mt, FALSE); - lives_widget_set_sensitive(mt->apply_fx_button,FALSE); + lives_mt *mt = (lives_mt *)user_data; + weed_timecode_t init_tc = get_event_timecode(mt->init_event); + weed_timecode_t tc = q_gint64(lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->node_spinbutton)) * U_SEC + init_tc, mt->fps); + weed_timecode_t prev_tc = get_prev_node_tc(mt, tc); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mt->node_spinbutton), (prev_tc - init_tc) / U_SEC); + if (mt->current_track >= 0) mt_show_current_frame(mt, FALSE); + lives_widget_set_sensitive(mt->apply_fx_button, FALSE); } void on_del_node_clicked(LiVESWidget *button, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; int error; - weed_plant_t **in_params=weed_get_plantptr_array((weed_plant_t *)mt->current_rfx->source,WEED_LEAF_IN_PARAMETERS,&error); + weed_plant_t **in_params = weed_get_plantptr_array((weed_plant_t *)mt->current_rfx->source, WEED_LEAF_IN_PARAMETERS, &error); weed_plant_t *event; - weed_plant_t *prev_pchange,*next_pchange; + weed_plant_t *prev_pchange, *next_pchange; weed_timecode_t ev_tc; - weed_timecode_t tc=q_gint64(lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->node_spinbutton))*U_SEC+ - get_event_timecode(mt->init_event),mt->fps); + weed_timecode_t tc = q_gint64(lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->node_spinbutton)) * U_SEC + + get_event_timecode(mt->init_event), mt->fps); char *filter_name; - int num_params=num_in_params((weed_plant_t *)mt->current_rfx->source,FALSE,FALSE); + int num_params = num_in_params((weed_plant_t *)mt->current_rfx->source, FALSE, FALSE); register int i; - - for (i=0; i<num_params; i++) { - event=(weed_plant_t *)pchain[i]; - ev_tc=-1; - while (event!=NULL&&(ev_tc=get_event_timecode(event))<tc) - event=(weed_plant_t *)weed_get_voidptr_value(event,WEED_LEAF_NEXT_CHANGE,&error); - if (ev_tc==tc) { - prev_pchange=(weed_plant_t *)weed_get_voidptr_value(event,WEED_LEAF_PREV_CHANGE,&error); - next_pchange=(weed_plant_t *)weed_get_voidptr_value(event,WEED_LEAF_NEXT_CHANGE,&error); - if (event!=pchain[i]) { - delete_event(mt->event_list,event); - if (prev_pchange!=NULL) weed_set_voidptr_value(prev_pchange,WEED_LEAF_NEXT_CHANGE,next_pchange); - if (next_pchange!=NULL) weed_set_voidptr_value(next_pchange,WEED_LEAF_PREV_CHANGE,prev_pchange); + for (i = 0; i < num_params; i++) { + event = (weed_plant_t *)pchain[i]; + ev_tc = -1; + while (event != NULL && (ev_tc = get_event_timecode(event)) < tc) + event = (weed_plant_t *)weed_get_voidptr_value(event, WEED_LEAF_NEXT_CHANGE, &error); + if (ev_tc == tc) { + prev_pchange = (weed_plant_t *)weed_get_voidptr_value(event, WEED_LEAF_PREV_CHANGE, &error); + next_pchange = (weed_plant_t *)weed_get_voidptr_value(event, WEED_LEAF_NEXT_CHANGE, &error); + if (event != pchain[i]) { + delete_event(mt->event_list, event); + if (prev_pchange != NULL) weed_set_voidptr_value(prev_pchange, WEED_LEAF_NEXT_CHANGE, next_pchange); + if (next_pchange != NULL) weed_set_voidptr_value(next_pchange, WEED_LEAF_PREV_CHANGE, prev_pchange); } else { // is initial pchange, reset to defaults, c.f. paramspecial.c - weed_plant_t *param=in_params[i]; - weed_plant_t *paramtmpl=weed_get_plantptr_value(param,WEED_LEAF_TEMPLATE,&error); - if (weed_plant_has_leaf(paramtmpl,WEED_LEAF_HOST_DEFAULT)) { - weed_leaf_copy(event,WEED_LEAF_VALUE,paramtmpl,WEED_LEAF_HOST_DEFAULT); - } else weed_leaf_copy(event,WEED_LEAF_VALUE,paramtmpl,WEED_LEAF_DEFAULT); + weed_plant_t *param = in_params[i]; + weed_plant_t *paramtmpl = weed_get_plantptr_value(param, WEED_LEAF_TEMPLATE, &error); + if (weed_plant_has_leaf(paramtmpl, WEED_LEAF_HOST_DEFAULT)) { + weed_leaf_copy(event, WEED_LEAF_VALUE, paramtmpl, WEED_LEAF_HOST_DEFAULT); + } else weed_leaf_copy(event, WEED_LEAF_VALUE, paramtmpl, WEED_LEAF_DEFAULT); if (is_perchannel_multiw(param)) { - int num_in_tracks=weed_leaf_num_elements(mt->init_event,WEED_LEAF_IN_TRACKS); - fill_param_vals_to(event,paramtmpl,num_in_tracks-1); + int num_in_tracks = weed_leaf_num_elements(mt->init_event, WEED_LEAF_IN_TRACKS); + fill_param_vals_to(event, paramtmpl, num_in_tracks - 1); } } } } lives_free(in_params); - if (mt->current_fx==mt->avol_fx&&mt->avol_init_event!=NULL&&mt->opts.aparam_view_list!=NULL) { - LiVESList *slist=mt->audio_draws; - while (slist!=NULL) { + if (mt->current_fx == mt->avol_fx && mt->avol_init_event != NULL && mt->opts.aparam_view_list != NULL) { + LiVESList *slist = mt->audio_draws; + while (slist != NULL) { lives_widget_queue_draw((LiVESWidget *)slist->data); - slist=slist->next; + slist = slist->next; } } - filter_name=weed_filter_idx_get_name(mt->current_fx); + filter_name = weed_filter_idx_get_name(mt->current_fx); - d_print(_("Removed parameter values for effect %s at time %.4f\n"),filter_name,tc); + d_print(_("Removed parameter values for effect %s at time %.4f\n"), filter_name, tc); lives_free(filter_name); - mt->block_tl_move=TRUE; - on_node_spin_value_changed(LIVES_SPIN_BUTTON(mt->node_spinbutton),(livespointer)mt); - mt->block_tl_move=FALSE; - lives_widget_set_sensitive(mt->del_node_button,FALSE); - if (mt->current_track>=0) { + mt->block_tl_move = TRUE; + on_node_spin_value_changed(LIVES_SPIN_BUTTON(mt->node_spinbutton), (livespointer)mt); + mt->block_tl_move = FALSE; + lives_widget_set_sensitive(mt->del_node_button, FALSE); + if (mt->current_track >= 0) { mt_show_current_frame(mt, FALSE); } - lives_widget_set_sensitive(mt->apply_fx_button,FALSE); - - mt->changed=mt->auto_changed=TRUE; + lives_widget_set_sensitive(mt->apply_fx_button, FALSE); + mt->changed = mt->auto_changed = TRUE; } void mt_fixup_events(lives_mt *mt, weed_plant_t *old_event, weed_plant_t *new_event) { // if any "notable" events have changed, we should repoint them here - if (mt==NULL) return; + if (mt == NULL) return; - if (mt->fm_edit_event==old_event) { + if (mt->fm_edit_event == old_event) { //g_print("fme event\n"); - mt->fm_edit_event=new_event; + mt->fm_edit_event = new_event; } - if (mt->init_event==old_event) { + if (mt->init_event == old_event) { //g_print("ie event\n"); - mt->init_event=new_event; + mt->init_event = new_event; } - if (mt->selected_init_event==old_event) { + if (mt->selected_init_event == old_event) { //g_print("se event\n"); - mt->selected_init_event=new_event; + mt->selected_init_event = new_event; } - if (mt->avol_init_event==old_event) { + if (mt->avol_init_event == old_event) { //g_print("aie event\n"); - mt->avol_init_event=new_event; + mt->avol_init_event = new_event; } - if (mt->specific_event==old_event) { + if (mt->specific_event == old_event) { //g_print("spec event\n"); - mt->specific_event=new_event; + mt->specific_event = new_event; } } static void combine_ign(weed_plant_t *xnew, weed_plant_t *xold) { - int num,numo,*nign,*oign,i,error; + int num, numo, *nign, *oign, i, error; // combine WEED_LEAF_IGNORE values using NAND - if (!weed_plant_has_leaf(xold,WEED_LEAF_IGNORE)) return; - num=weed_leaf_num_elements(xnew,WEED_LEAF_IGNORE); - numo=weed_leaf_num_elements(xnew,WEED_LEAF_IGNORE); - oign=weed_get_boolean_array(xold,WEED_LEAF_IGNORE,&error); - nign=weed_get_boolean_array(xnew,WEED_LEAF_IGNORE,&error); - for (i=0; i<num; i++) if (i>=numo||oign[i]==WEED_FALSE) nign[i]=WEED_FALSE; - weed_set_boolean_array(xnew,WEED_LEAF_IGNORE,num,nign); + if (!weed_plant_has_leaf(xold, WEED_LEAF_IGNORE)) return; + num = weed_leaf_num_elements(xnew, WEED_LEAF_IGNORE); + numo = weed_leaf_num_elements(xnew, WEED_LEAF_IGNORE); + oign = weed_get_boolean_array(xold, WEED_LEAF_IGNORE, &error); + nign = weed_get_boolean_array(xnew, WEED_LEAF_IGNORE, &error); + for (i = 0; i < num; i++) if (i >= numo || oign[i] == WEED_FALSE) nign[i] = WEED_FALSE; + weed_set_boolean_array(xnew, WEED_LEAF_IGNORE, num, nign); lives_free(oign); lives_free(nign); } - static void add_to_pchain(weed_plant_t *event_list, weed_plant_t *init_event, weed_plant_t *pchange, int index, weed_timecode_t tc) { - weed_plant_t *event=(weed_plant_t *)pchain[index]; - weed_plant_t *last_event=NULL; + weed_plant_t *event = (weed_plant_t *)pchain[index]; + weed_plant_t *last_event = NULL; int error; - while (event!=NULL&&get_event_timecode(event)<tc) { - last_event=event; - event=(weed_plant_t *)weed_get_voidptr_value(event,WEED_LEAF_NEXT_CHANGE,&error); + while (event != NULL && get_event_timecode(event) < tc) { + last_event = event; + event = (weed_plant_t *)weed_get_voidptr_value(event, WEED_LEAF_NEXT_CHANGE, &error); } - if (event!=NULL&&get_event_timecode(event)==tc) { + if (event != NULL && get_event_timecode(event) == tc) { // replace an existing change - weed_plant_t *next_event=(weed_plant_t *)weed_get_voidptr_value(event,WEED_LEAF_NEXT_CHANGE,&error); - if (next_event!=NULL) weed_set_voidptr_value(next_event,WEED_LEAF_PREV_CHANGE,pchange); - weed_set_voidptr_value(pchange,WEED_LEAF_NEXT_CHANGE,next_event); - if (event==pchain[index]) weed_leaf_delete(pchange,WEED_LEAF_IGNORE); // never ignore our init pchanges - if (weed_plant_has_leaf(pchange,WEED_LEAF_IGNORE)) combine_ign(pchange,event); - delete_event(event_list,event); + weed_plant_t *next_event = (weed_plant_t *)weed_get_voidptr_value(event, WEED_LEAF_NEXT_CHANGE, &error); + if (next_event != NULL) weed_set_voidptr_value(next_event, WEED_LEAF_PREV_CHANGE, pchange); + weed_set_voidptr_value(pchange, WEED_LEAF_NEXT_CHANGE, next_event); + if (event == pchain[index]) weed_leaf_delete(pchange, WEED_LEAF_IGNORE); // never ignore our init pchanges + if (weed_plant_has_leaf(pchange, WEED_LEAF_IGNORE)) combine_ign(pchange, event); + delete_event(event_list, event); } else { - weed_set_voidptr_value(pchange,WEED_LEAF_NEXT_CHANGE,event); - if (event!=NULL) weed_set_voidptr_value(event,WEED_LEAF_PREV_CHANGE,pchange); + weed_set_voidptr_value(pchange, WEED_LEAF_NEXT_CHANGE, event); + if (event != NULL) weed_set_voidptr_value(event, WEED_LEAF_PREV_CHANGE, pchange); } - if (last_event!=NULL) weed_set_voidptr_value(last_event,WEED_LEAF_NEXT_CHANGE,pchange); + if (last_event != NULL) weed_set_voidptr_value(last_event, WEED_LEAF_NEXT_CHANGE, pchange); else { // update "in_params" for init_event - int numin=weed_leaf_num_elements(init_event,WEED_LEAF_IN_PARAMETERS); - void **in_params=weed_get_voidptr_array(init_event,WEED_LEAF_IN_PARAMETERS,&error); - in_params[index]=pchain[index]=(void *)pchange; - weed_set_voidptr_array(init_event,WEED_LEAF_IN_PARAMETERS,numin,in_params); + int numin = weed_leaf_num_elements(init_event, WEED_LEAF_IN_PARAMETERS); + void **in_params = weed_get_voidptr_array(init_event, WEED_LEAF_IN_PARAMETERS, &error); + in_params[index] = pchain[index] = (void *)pchange; + weed_set_voidptr_array(init_event, WEED_LEAF_IN_PARAMETERS, numin, in_params); lives_free(in_params); } - weed_set_voidptr_value(pchange,WEED_LEAF_PREV_CHANGE,last_event); + weed_set_voidptr_value(pchange, WEED_LEAF_PREV_CHANGE, last_event); } void activate_mt_preview(lives_mt *mt) { // called from paramwindow.c when a parameter changes - show effect with currently unapplied values - if (mt->poly_state==POLY_PARAMS) { + if (mt->poly_state == POLY_PARAMS) { if (mt->opts.fx_auto_preview) { - mainw->no_interp=TRUE; // no interpolation - parameter is in an uncommited state + mainw->no_interp = TRUE; // no interpolation - parameter is in an uncommited state mt_show_current_frame(mt, FALSE); - mainw->no_interp=FALSE; + mainw->no_interp = FALSE; } - if (mt->apply_fx_button!=NULL) lives_widget_set_sensitive(mt->apply_fx_button,TRUE); + if (mt->apply_fx_button != NULL) lives_widget_set_sensitive(mt->apply_fx_button, TRUE); } else mt_show_current_frame(mt, FALSE); } void on_set_pvals_clicked(LiVESWidget *button, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; - weed_plant_t *inst=(weed_plant_t *)mt->current_rfx->source; - weed_plant_t *param,*pchange,*at_event; + weed_plant_t *inst = (weed_plant_t *)mt->current_rfx->source; + weed_plant_t *param, *pchange, *at_event; int error; - weed_timecode_t tc=q_gint64(lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->node_spinbutton))*U_SEC+ - get_event_timecode(mt->init_event),mt->fps); + weed_timecode_t tc = q_gint64(lives_spin_button_get_value(LIVES_SPIN_BUTTON(mt->node_spinbutton)) * U_SEC + + get_event_timecode(mt->init_event), mt->fps); int *tracks; int *ign; - char *tmp,*tmp2; + char *tmp, *tmp2; char *filter_name; - char *tname,*track_desc; + char *tname, *track_desc; - boolean has_multi=FALSE; - boolean was_changed=FALSE; + boolean has_multi = FALSE; + boolean was_changed = FALSE; int numtracks; register int i; - if (mt->idlefunc>0) { + if (mt->idlefunc > 0) { lives_source_remove(mt->idlefunc); - mt->idlefunc=0; + mt->idlefunc = 0; } - lives_widget_set_sensitive(mt->apply_fx_button,FALSE); + lives_widget_set_sensitive(mt->apply_fx_button, FALSE); - for (i=0; ((param=weed_inst_in_param(inst,i,FALSE,FALSE))!=NULL); i++) { + for (i = 0; ((param = weed_inst_in_param(inst, i, FALSE, FALSE)) != NULL); i++) { if (!mt->current_rfx->params[i].changed) continue; // set only user changed parameters - pchange=weed_plant_new(WEED_PLANT_EVENT); - weed_set_int_value(pchange,WEED_LEAF_HINT,WEED_EVENT_HINT_PARAM_CHANGE); - weed_set_int64_value(pchange,WEED_LEAF_TIMECODE,tc); - weed_set_voidptr_value(pchange,WEED_LEAF_INIT_EVENT,mt->init_event); - weed_set_int_value(pchange,WEED_LEAF_INDEX,i); + pchange = weed_plant_new(WEED_PLANT_EVENT); + weed_set_int_value(pchange, WEED_LEAF_HINT, WEED_EVENT_HINT_PARAM_CHANGE); + weed_set_int64_value(pchange, WEED_LEAF_TIMECODE, tc); + weed_set_voidptr_value(pchange, WEED_LEAF_INIT_EVENT, mt->init_event); + weed_set_int_value(pchange, WEED_LEAF_INDEX, i); if (is_perchannel_multiw(param)) { - int num_vals,j; - if (mt->track_index==-1) { + int num_vals, j; + if (mt->track_index == -1) { weed_plant_free(pchange); continue; } - has_multi=TRUE; - num_vals=weed_leaf_num_elements(param,WEED_LEAF_VALUE); - ign=(int *)lives_malloc(num_vals*sizint); - for (j=0; j<num_vals; j++) { - if (j==mt->track_index) { - ign[j]=WEED_FALSE; - was_changed=TRUE; - } else ign[j]=WEED_TRUE; + has_multi = TRUE; + num_vals = weed_leaf_num_elements(param, WEED_LEAF_VALUE); + ign = (int *)lives_malloc(num_vals * sizint); + for (j = 0; j < num_vals; j++) { + if (j == mt->track_index) { + ign[j] = WEED_FALSE; + was_changed = TRUE; + } else ign[j] = WEED_TRUE; } - weed_set_boolean_array(pchange,WEED_LEAF_IGNORE,num_vals,ign); + weed_set_boolean_array(pchange, WEED_LEAF_IGNORE, num_vals, ign); lives_free(ign); - } else was_changed=TRUE; + } else was_changed = TRUE; - weed_leaf_copy(pchange,WEED_LEAF_VALUE,param,WEED_LEAF_VALUE); - weed_add_plant_flags(pchange,WEED_LEAF_READONLY_PLUGIN); + weed_leaf_copy(pchange, WEED_LEAF_VALUE, param, WEED_LEAF_VALUE); + weed_add_plant_flags(pchange, WEED_LEAF_READONLY_PLUGIN); // set next_change, prev_change - add_to_pchain(mt->event_list,mt->init_event,pchange,i,tc); + add_to_pchain(mt->event_list, mt->init_event, pchange, i, tc); - at_event=get_frame_event_at(mt->event_list,tc,mt->init_event,TRUE); - insert_param_change_event_at(mt->event_list,at_event,pchange); + at_event = get_frame_event_at(mt->event_list, tc, mt->init_event, TRUE); + insert_param_change_event_at(mt->event_list, at_event, pchange); } if (!was_changed) { - mt->idlefunc=mt_idle_add(mt); + mt->idlefunc = mt_idle_add(mt); return; } - filter_name=weed_filter_idx_get_name(mt->current_fx); - tracks=weed_get_int_array(mt->init_event,WEED_LEAF_IN_TRACKS,&error); - numtracks=enabled_in_channels(get_weed_filter(mt->current_fx),TRUE); // count repeated channels + filter_name = weed_filter_idx_get_name(mt->current_fx); + tracks = weed_get_int_array(mt->init_event, WEED_LEAF_IN_TRACKS, &error); + numtracks = enabled_in_channels(get_weed_filter(mt->current_fx), TRUE); // count repeated channels switch (numtracks) { case 1: - tname=lives_fx_cat_to_text(LIVES_FX_CAT_EFFECT,FALSE); // effect - track_desc=lives_strdup_printf(_("track %s"),(tmp=get_track_name(mt,tracks[0],FALSE))); + tname = lives_fx_cat_to_text(LIVES_FX_CAT_EFFECT, FALSE); // effect + track_desc = lives_strdup_printf(_("track %s"), (tmp = get_track_name(mt, tracks[0], FALSE))); lives_free(tmp); break; case 2: - tname=lives_fx_cat_to_text(LIVES_FX_CAT_TRANSITION,FALSE); // transition - track_desc=lives_strdup_printf(_("tracks %s and %s"),(tmp=get_track_name(mt,tracks[0],FALSE)),(tmp2=get_track_name(mt,tracks[1],FALSE))); + tname = lives_fx_cat_to_text(LIVES_FX_CAT_TRANSITION, FALSE); // transition + track_desc = lives_strdup_printf(_("tracks %s and %s"), (tmp = get_track_name(mt, tracks[0], FALSE)), (tmp2 = get_track_name(mt, tracks[1], + FALSE))); lives_free(tmp); lives_free(tmp2); break; default: - tname=lives_fx_cat_to_text(LIVES_FX_CAT_COMPOSITOR,FALSE); // compositor + tname = lives_fx_cat_to_text(LIVES_FX_CAT_COMPOSITOR, FALSE); // compositor if (has_multi) { - track_desc=lives_strdup_printf(_("track %s"),(tmp=get_track_name(mt,mt->current_track,mt->aud_track_selected))); + track_desc = lives_strdup_printf(_("track %s"), (tmp = get_track_name(mt, mt->current_track, mt->aud_track_selected))); lives_free(tmp); - } else track_desc=lives_strdup(_("selected tracks")); + } else track_desc = lives_strdup(_("selected tracks")); break; } lives_free(tracks); - if (mt->current_fx==mt->avol_fx) { + if (mt->current_fx == mt->avol_fx) { lives_free(tname); - tname=lives_strdup(_("audio")); + tname = lives_strdup(_("audio")); } - d_print(_("Set parameter values for %s %s on %s at time %.4f\n"),tname,filter_name,track_desc,tc/U_SEC); + d_print(_("Set parameter values for %s %s on %s at time %.4f\n"), tname, filter_name, track_desc, tc / U_SEC); lives_free(filter_name); lives_free(tname); lives_free(track_desc); - lives_widget_set_sensitive(mt->del_node_button,TRUE); + lives_widget_set_sensitive(mt->del_node_button, TRUE); - if (mt->current_fx==mt->avol_fx&&mt->avol_init_event!=NULL&&mt->opts.aparam_view_list!=NULL) { - LiVESList *slist=mt->audio_draws; - while (slist!=NULL) { + if (mt->current_fx == mt->avol_fx && mt->avol_init_event != NULL && mt->opts.aparam_view_list != NULL) { + LiVESList *slist = mt->audio_draws; + while (slist != NULL) { lives_widget_queue_draw((LiVESWidget *)slist->data); - slist=slist->next; + slist = slist->next; } } - if (mt->current_track>=0) { + if (mt->current_track >= 0) { mt_show_current_frame(mt, FALSE); // show full preview in play window } - mt->changed=mt->auto_changed=TRUE; - mt->idlefunc=mt_idle_add(mt); - + mt->changed = mt->auto_changed = TRUE; + mt->idlefunc = mt_idle_add(mt); } - ////////////////////////////////////////////////////////////////////////// static int free_tt_key; static int elist_errors; - LiVESList *load_layout_map(void) { // load in a layout "map" for the set, [create mainw->current_layouts_map] @@ -19186,76 +18601,75 @@ // one could use a layout.map and a layout file as a template for // rendering many different sets] - // this is called from recover_layout_map() in saveplay.c, where the map entries are assigned // to files (clips) char **array; - LiVESList *lmap=NULL; + LiVESList *lmap = NULL; layout_map *lmap_entry; uint64_t unique_id; ssize_t bytes; - char *lmap_name=lives_build_filename(prefs->workdir,mainw->set_name,"layouts","layout.map",NULL); + char *lmap_name = lives_build_filename(prefs->workdir, mainw->set_name, "layouts", "layout.map", NULL); char *handle; char *entry; char *string; char *name; - int len,nm,i; + int len, nm, i; int fd; int retval; - boolean err=FALSE; + boolean err = FALSE; - if (!lives_file_test(lmap_name,LIVES_FILE_TEST_EXISTS)) { + if (!lives_file_test(lmap_name, LIVES_FILE_TEST_EXISTS)) { lives_free(lmap_name); return NULL; } do { - retval=0; - fd=lives_open2(lmap_name,O_RDONLY); - if (fd<0) { - retval=do_read_failed_error_s_with_retry(lmap_name,NULL,NULL); + retval = 0; + fd = lives_open2(lmap_name, O_RDONLY); + if (fd < 0) { + retval = do_read_failed_error_s_with_retry(lmap_name, NULL, NULL); } else { while (1) { - bytes=lives_read_le_buffered(fd,&len,4,TRUE); - if (bytes<4) { + bytes = lives_read_le_buffered(fd, &len, 4, TRUE); + if (bytes < 4) { break; } - handle=(char *)lives_malloc(len+1); - bytes=lives_read_buffered(fd,handle,len,TRUE); - if (bytes<len) { + handle = (char *)lives_malloc(len + 1); + bytes = lives_read_buffered(fd, handle, len, TRUE); + if (bytes < len) { break; } - memset(handle+len,0,1); - bytes=lives_read_le_buffered(fd,&unique_id,8,TRUE); - if (bytes<8) { + memset(handle + len, 0, 1); + bytes = lives_read_le_buffered(fd, &unique_id, 8, TRUE); + if (bytes < 8) { break; } - bytes=lives_read_le_buffered(fd,&len,4,TRUE); - if (bytes<4) { + bytes = lives_read_le_buffered(fd, &len, 4, TRUE); + if (bytes < 4) { break; } - name=(char *)lives_malloc(len+1); - bytes=lives_read_buffered(fd,name,len,TRUE); - if (bytes<len) { + name = (char *)lives_malloc(len + 1); + bytes = lives_read_buffered(fd, name, len, TRUE); + if (bytes < len) { break; } - memset(name+len,0,1); - bytes=lives_read_le_buffered(fd,&nm,4,TRUE); - if (bytes<4) { + memset(name + len, 0, 1); + bytes = lives_read_le_buffered(fd, &nm, 4, TRUE); + if (bytes < 4) { break; } //////////////////////////////////////////////////////////// // this is one mapping entry (actually only the unique id matters) - lmap_entry=(layout_map *)lives_malloc(sizeof(layout_map)); - lmap_entry->handle=handle; - lmap_entry->unique_id=unique_id; - lmap_entry->name=name; - lmap_entry->list=NULL; + lmap_entry = (layout_map *)lives_malloc(sizeof(layout_map)); + lmap_entry->handle = handle; + lmap_entry->unique_id = unique_id; + lmap_entry->name = name; + lmap_entry->list = NULL; /////////////////////////////////////////// ////////////////////////////////////////////// @@ -19266,48 +18680,46 @@ // here we only add layout_file_filename - for (i=0; i<nm; i++) { - bytes=lives_read_le_buffered(fd,&len,4,TRUE); - if (bytes<sizint) { - err=TRUE; + for (i = 0; i < nm; i++) { + bytes = lives_read_le_buffered(fd, &len, 4, TRUE); + if (bytes < sizint) { + err = TRUE; break; } - entry=(char *)lives_malloc(len+1); - bytes=lives_read_buffered(fd,entry,len,TRUE); - if (bytes<len) { - err=TRUE; + entry = (char *)lives_malloc(len + 1); + bytes = lives_read_buffered(fd, entry, len, TRUE); + if (bytes < len) { + err = TRUE; break; } - memset(entry+len,0,1); - string=repl_workdir(entry,FALSE); // allow relocation of workdir - lmap_entry->list=lives_list_append(lmap_entry->list,lives_strdup(string)); - array=lives_strsplit(string,"|",-1); + memset(entry + len, 0, 1); + string = repl_workdir(entry, FALSE); // allow relocation of workdir + lmap_entry->list = lives_list_append(lmap_entry->list, lives_strdup(string)); + array = lives_strsplit(string, "|", -1); lives_free(string); - mainw->current_layouts_map=lives_list_append_unique(mainw->current_layouts_map,array[0]); + mainw->current_layouts_map = lives_list_append_unique(mainw->current_layouts_map, array[0]); lives_strfreev(array); lives_free(entry); } if (err) break; - lmap=lives_list_append(lmap,lmap_entry); + lmap = lives_list_append(lmap, lmap_entry); } } //////////////////////////////////////////////////////////////////////////// - if (fd>=0) lives_close_buffered(fd); + if (fd >= 0) lives_close_buffered(fd); if (err) { - retval=do_read_failed_error_s_with_retry(lmap_name,NULL,NULL); + retval = do_read_failed_error_s_with_retry(lmap_name, NULL, NULL); } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); lives_free(lmap_name); return lmap; } - - void save_layout_map(int *lmap, double *lmap_audio, const char *file, const char *dir) { // in the file "layout.map", we map each clip used in the set to which layouts (if any) it is used in // we also record the highest frame number used and the max audio time; and the current fps of the clip @@ -19319,10 +18731,8 @@ // this was knocked together very hastily, so it could probably be improved upon - // layout_file_filename|clip_number|max_frame_used|clip fps|max audio time|audio rate - // when we save this to a file, we use the (int32)data_length data // convention // and the format is: @@ -19336,129 +18746,127 @@ // where data is simply a text dump of the above memory format - // lmap[] and lmap_audio[] hold the highest frame numbers and highest audio time respectively // when we save a layout we update these from the current layout - LiVESList *map,*map_next; + LiVESList *map, *map_next; char *new_entry; - char *map_name=NULL,*ldir=NULL; + char *map_name = NULL, *ldir = NULL; char *string; - uint32_t size=0; + uint32_t size = 0; double max_atime; - boolean written=FALSE; + boolean written = FALSE; - boolean write_to_file=TRUE; + boolean write_to_file = TRUE; - int fd=0; + int fd = 0; int len; int retval; int max_frame; register int i; + if (dir == NULL && strlen(mainw->set_name) == 0) return; - if (dir==NULL&&strlen(mainw->set_name)==0) return; - - if (file==NULL) write_to_file=FALSE; + if (file == NULL) write_to_file = FALSE; else { - if (file!=NULL&&(mainw->current_layouts_map==NULL|| - !lives_list_find(mainw->current_layouts_map,file))) - mainw->current_layouts_map=lives_list_append(mainw->current_layouts_map,lives_strdup(file)); - if (dir==NULL) ldir=lives_build_filename(prefs->workdir,mainw->set_name,"layouts",NULL); - else ldir=lives_strdup(dir); + if (file != NULL && (mainw->current_layouts_map == NULL || + !lives_list_find(mainw->current_layouts_map, file))) + mainw->current_layouts_map = lives_list_append(mainw->current_layouts_map, lives_strdup(file)); + if (dir == NULL) ldir = lives_build_filename(prefs->workdir, mainw->set_name, "layouts", NULL); + else ldir = lives_strdup(dir); - map_name=lives_build_filename(ldir,"layout.map",NULL); + map_name = lives_build_filename(ldir, "layout.map", NULL); - lives_mkdir_with_parents(ldir,capable->umask); + lives_mkdir_with_parents(ldir, capable->umask); } do { - retval=0; - if (write_to_file) fd=lives_creat_buffered(map_name,DEF_FILE_PERMS); + retval = 0; + if (write_to_file) fd = lives_creat_buffered(map_name, DEF_FILE_PERMS); - if (fd==-1) { - retval=do_write_failed_error_s_with_retry(map_name,lives_strerror(errno),NULL); + if (fd == -1) { + retval = do_write_failed_error_s_with_retry(map_name, lives_strerror(errno), NULL); } else { - mainw->write_failed=FALSE; + mainw->write_failed = FALSE; - for (i=1; i<=MAX_FILES; i++) { + for (i = 1; i <= MAX_FILES; i++) { // add or update - if (mainw->files[i]!=NULL) { + if (mainw->files[i] != NULL) { - if (mainw->files[i]->layout_map!=NULL) { - map=mainw->files[i]->layout_map; - while (map!=NULL) { - map_next=map->next; - if (map->data!=NULL) { - char **array=lives_strsplit((char *)map->data,"|",-1); - if ((file!=NULL&&!strcmp(array[0],file))||(file==NULL&&dir==NULL&& - !lives_file_test(array[0],LIVES_FILE_TEST_EXISTS))) { + if (mainw->files[i]->layout_map != NULL) { + map = mainw->files[i]->layout_map; + while (map != NULL) { + map_next = map->next; + if (map->data != NULL) { + char **array = lives_strsplit((char *)map->data, "|", -1); + if ((file != NULL && !strcmp(array[0], file)) || (file == NULL && dir == NULL && + !lives_file_test(array[0], LIVES_FILE_TEST_EXISTS))) { // remove prior entry lives_free((livespointer)map->data); - mainw->files[i]->layout_map=lives_list_delete_link(mainw->files[i]->layout_map,map); + mainw->files[i]->layout_map = lives_list_delete_link(mainw->files[i]->layout_map, map); break; } lives_strfreev(array); } - map=map_next; + map = map_next; } } - if (file!=NULL&&((lmap!=NULL&&lmap[i]!=0)||(lmap_audio!=NULL&&lmap_audio[i]!=0.))) { - if (lmap!=NULL) max_frame=lmap[i]; - else max_frame=0; - if (lmap_audio!=NULL) max_atime=lmap_audio[i]; - else max_atime=0.; - - new_entry=lives_strdup_printf("%s|%d|%d|%.8f|%.8f|%.8f",file,i,max_frame,mainw->files[i]->fps, - max_atime,(double)((int)((double)(mainw->files[i]->arps)/ - (double)mainw->files[i]->arate*10000.+.5))/10000.); - mainw->files[i]->layout_map=lives_list_prepend(mainw->files[i]->layout_map,new_entry); - } - - if (write_to_file&&((map=mainw->files[i]->layout_map)!=NULL)) { - written=TRUE; - len=strlen(mainw->files[i]->handle); - lives_write_le_buffered(fd,&len,4,TRUE); - lives_write_buffered(fd,mainw->files[i]->handle,len,TRUE); - lives_write_le_buffered(fd,&mainw->files[i]->unique_id,8,TRUE); - len=strlen(mainw->files[i]->name); - lives_write_le_buffered(fd,&len,4,TRUE); - lives_write_buffered(fd,mainw->files[i]->name,len,TRUE); - len=lives_list_length(map); - lives_write_le_buffered(fd,&len,4,TRUE); - while (map!=NULL) { - string=repl_workdir((char *)map->data,TRUE); // allow relocation of workdir - len=strlen(string); - lives_write_le_buffered(fd,&len,4,TRUE); - lives_write_buffered(fd,string,len,TRUE); + if (file != NULL && ((lmap != NULL && lmap[i] != 0) || (lmap_audio != NULL && lmap_audio[i] != 0.))) { + if (lmap != NULL) max_frame = lmap[i]; + else max_frame = 0; + if (lmap_audio != NULL) max_atime = lmap_audio[i]; + else max_atime = 0.; + + new_entry = lives_strdup_printf("%s|%d|%d|%.8f|%.8f|%.8f", file, i, max_frame, mainw->files[i]->fps, + max_atime, (double)((int)((double)(mainw->files[i]->arps) / + (double)mainw->files[i]->arate * 10000. + .5)) / 10000.); + mainw->files[i]->layout_map = lives_list_prepend(mainw->files[i]->layout_map, new_entry); + } + + if (write_to_file && ((map = mainw->files[i]->layout_map) != NULL)) { + written = TRUE; + len = strlen(mainw->files[i]->handle); + lives_write_le_buffered(fd, &len, 4, TRUE); + lives_write_buffered(fd, mainw->files[i]->handle, len, TRUE); + lives_write_le_buffered(fd, &mainw->files[i]->unique_id, 8, TRUE); + len = strlen(mainw->files[i]->name); + lives_write_le_buffered(fd, &len, 4, TRUE); + lives_write_buffered(fd, mainw->files[i]->name, len, TRUE); + len = lives_list_length(map); + lives_write_le_buffered(fd, &len, 4, TRUE); + while (map != NULL) { + string = repl_workdir((char *)map->data, TRUE); // allow relocation of workdir + len = strlen(string); + lives_write_le_buffered(fd, &len, 4, TRUE); + lives_write_buffered(fd, string, len, TRUE); lives_free(string); - map=map->next; + map = map->next; } } } if (mainw->write_failed) break; } if (mainw->write_failed) { - retval=do_write_failed_error_s_with_retry(map_name,NULL,NULL); - mainw->write_failed=FALSE; + retval = do_write_failed_error_s_with_retry(map_name, NULL, NULL); + mainw->write_failed = FALSE; } } - if (retval==LIVES_RESPONSE_RETRY && fd>=0) lives_close_buffered(fd); - } while (retval==LIVES_RESPONSE_RETRY); + if (retval == LIVES_RESPONSE_RETRY && fd >= 0) lives_close_buffered(fd); + } while (retval == LIVES_RESPONSE_RETRY); - if (write_to_file&&retval!=LIVES_RESPONSE_CANCEL) { + if (write_to_file && retval != LIVES_RESPONSE_CANCEL) { lives_close_buffered(fd); - size=sget_file_size(map_name); + size = sget_file_size(map_name); - if (size==0||!written) { + if (size == 0 || !written) { LIVES_DEBUG("Removing layout map file: "); LIVES_DEBUG(map_name); lives_rm(map_name); @@ -19466,7 +18874,7 @@ LIVES_DEBUG("Removing layout dir: "); LIVES_DEBUG(ldir); - lives_rmdir(ldir,FALSE); + lives_rmdir(ldir, FALSE); } if (write_to_file) { @@ -19476,9 +18884,6 @@ } - - - void add_markers(lives_mt *mt, weed_plant_t *event_list, boolean add_block_ids) { // add "block_start" and "block_unordered" markers to a timeline // this is done when we save an event_list (layout file). @@ -19488,13 +18893,11 @@ // if it is TRUE, we add block start markers for all blocks along with the block uid. // This helps us keep the same block selected for undo/redo. (work in progress) - - // other hosts are not bound to take notice of "marker" events, so these could be absent or misplaced // when the layout is reloaded - LiVESList *track_blocks=NULL; - LiVESList *tlist=mt->video_draws; + LiVESList *track_blocks = NULL; + LiVESList *tlist = mt->video_draws; LiVESList *blist; track_rect *block; weed_timecode_t tc; @@ -19502,49 +18905,48 @@ weed_plant_t *event; int track; - while (tlist!=NULL) { - eventbox=(LiVESWidget *)tlist->data; - block=(track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "blocks"); - track_blocks=lives_list_append(track_blocks,(livespointer)block); - tlist=tlist->next; + while (tlist != NULL) { + eventbox = (LiVESWidget *)tlist->data; + block = (track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "blocks"); + track_blocks = lives_list_append(track_blocks, (livespointer)block); + tlist = tlist->next; } - event=get_first_event(event_list); + event = get_first_event(event_list); - while (event!=NULL) { + while (event != NULL) { if (WEED_EVENT_IS_FRAME(event)) { - tc=get_event_timecode(event); - blist=track_blocks; - track=0; - while (blist!=NULL) { - block=(track_rect *)blist->data; - if (block!=NULL) { - if (block->prev!=NULL&&(get_event_timecode(block->prev->end_event)== - q_gint64(tc-U_SEC/mt->fps,mt->fps))&&(tc==get_event_timecode(block->start_event))&& - (get_frame_event_clip(block->prev->end_event,track)==get_frame_event_clip(block->start_event,track))) { + tc = get_event_timecode(event); + blist = track_blocks; + track = 0; + while (blist != NULL) { + block = (track_rect *)blist->data; + if (block != NULL) { + if (block->prev != NULL && (get_event_timecode(block->prev->end_event) == + q_gint64(tc - U_SEC / mt->fps, mt->fps)) && (tc == get_event_timecode(block->start_event)) && + (get_frame_event_clip(block->prev->end_event, track) == get_frame_event_clip(block->start_event, track))) { - insert_marker_event_at(mt->event_list,event,EVENT_MARKER_BLOCK_START,LIVES_INT_TO_POINTER(track)); + insert_marker_event_at(mt->event_list, event, EVENT_MARKER_BLOCK_START, LIVES_INT_TO_POINTER(track)); - if (mt->audio_draws!=NULL&&lives_list_length(mt->audio_draws)>=track+mt->opts.back_audio_tracks) { + if (mt->audio_draws != NULL && lives_list_length(mt->audio_draws) >= track + mt->opts.back_audio_tracks) { // insert in audio too - insert_marker_event_at(mt->event_list,event,EVENT_MARKER_BLOCK_START, - LIVES_INT_TO_POINTER(-track-mt->opts.back_audio_tracks-1)); + insert_marker_event_at(mt->event_list, event, EVENT_MARKER_BLOCK_START, + LIVES_INT_TO_POINTER(-track - mt->opts.back_audio_tracks - 1)); } } if (!block->ordered) { - insert_marker_event_at(mt->event_list,event,EVENT_MARKER_BLOCK_UNORDERED,LIVES_INT_TO_POINTER(track)); + insert_marker_event_at(mt->event_list, event, EVENT_MARKER_BLOCK_UNORDERED, LIVES_INT_TO_POINTER(track)); } - if (event==block->end_event) blist->data=block->next; + if (event == block->end_event) blist->data = block->next; } track++; - blist=blist->next; + blist = blist->next; } } - event=get_next_event(event); + event = get_next_event(event); } - if (track_blocks!=NULL) lives_list_free(track_blocks); - + if (track_blocks != NULL) lives_list_free(track_blocks); } @@ -19554,40 +18956,40 @@ char *tmp; boolean response; - boolean needs_idlefunc=FALSE; + boolean needs_idlefunc = FALSE; - if (mt!=NULL&&mt->idlefunc>0) { + if (mt != NULL && mt->idlefunc > 0) { lives_source_remove(mt->idlefunc); - mt->idlefunc=0; - needs_idlefunc=TRUE; + mt->idlefunc = 0; + needs_idlefunc = TRUE; } do { // prompt for a set name, advise user to save set - renamew=create_rename_dialog(4); + renamew = create_rename_dialog(4); lives_widget_show(renamew->dialog); - response=lives_dialog_run(LIVES_DIALOG(renamew->dialog)); - if (response==LIVES_RESPONSE_CANCEL) { - mainw->cancelled=CANCEL_USER; - if (mt!=NULL) { - mt->idlefunc=0; - mt->idlefunc=mt_idle_add(mt); + response = lives_dialog_run(LIVES_DIALOG(renamew->dialog)); + if (response == LIVES_RESPONSE_CANCEL) { + mainw->cancelled = CANCEL_USER; + if (mt != NULL) { + mt->idlefunc = 0; + mt->idlefunc = mt_idle_add(mt); mt_sensitise(mt); } return FALSE; } - lives_snprintf(new_set_name,MAX_SET_NAME_LEN,"%s",(tmp=U82F(lives_entry_get_text(LIVES_ENTRY(renamew->entry))))); + lives_snprintf(new_set_name, MAX_SET_NAME_LEN, "%s", (tmp = U82F(lives_entry_get_text(LIVES_ENTRY(renamew->entry))))); lives_widget_destroy(renamew->dialog); lives_freep((void **)&renamew); lives_free(tmp); lives_widget_context_update(); - } while (!is_legal_set_name(new_set_name,FALSE)); + } while (!is_legal_set_name(new_set_name, FALSE)); - lives_snprintf(mainw->set_name,MAX_SET_NAME_LEN,"%s",new_set_name); + lives_snprintf(mainw->set_name, MAX_SET_NAME_LEN, "%s", new_set_name); if (needs_idlefunc) { - mt->idlefunc=0; - mt->idlefunc=mt_idle_add(mt); + mt->idlefunc = 0; + mt->idlefunc = mt_idle_add(mt); mt_sensitise(mt); } @@ -19595,7 +18997,6 @@ } - boolean on_save_event_list_activate(LiVESMenuItem *menuitem, livespointer user_data) { // here we save a layout list (*.lay) file @@ -19605,9 +19006,9 @@ // loading an event list is simply the reverse of this process - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; - char *filt[]= {"*.lay",NULL}; + char *filt[] = {"*.lay", NULL}; int *layout_map; @@ -19624,172 +19025,172 @@ char xlayout_name[PATH_MAX]; - boolean orig_ar_layout=prefs->ar_layout,ar_layout; - boolean was_set=mainw->was_set; - boolean retval=TRUE; - boolean needs_idlefunc=FALSE; + boolean orig_ar_layout = prefs->ar_layout, ar_layout; + boolean was_set = mainw->was_set; + boolean retval = TRUE; + boolean needs_idlefunc = FALSE; int retval2; int fd; - if (mt==NULL) { - event_list=mainw->stored_event_list; - layout_name=mainw->stored_layout_name; + if (mt == NULL) { + event_list = mainw->stored_event_list; + layout_name = mainw->stored_layout_name; } else { mt_desensitise(mt); - event_list=mt->event_list; - layout_name=mt->layout_name; + event_list = mt->event_list; + layout_name = mt->layout_name; } // update layout map - layout_map=update_layout_map(event_list); - layout_map_audio=update_layout_map_audio(event_list); + layout_map = update_layout_map(event_list); + layout_map_audio = update_layout_map_audio(event_list); - if (mainw->scrap_file!=-1&&layout_map[mainw->scrap_file]!=0) { + if (mainw->scrap_file != -1 && layout_map[mainw->scrap_file] != 0) { // can't save if we have generated frames do_layout_scrap_file_error(); lives_free(layout_map); lives_free(layout_map_audio); - mainw->cancelled=CANCEL_USER; - if (mt!=NULL) mt_sensitise(mt); + mainw->cancelled = CANCEL_USER; + if (mt != NULL) mt_sensitise(mt); return FALSE; } - if (mainw->ascrap_file!=-1&&layout_map[mainw->ascrap_file]!=0) { + if (mainw->ascrap_file != -1 && layout_map[mainw->ascrap_file] != 0) { // can't save if we have recorded audio do_layout_ascrap_file_error(); lives_free(layout_map); lives_free(layout_map_audio); - mainw->cancelled=CANCEL_USER; - if (mt!=NULL) mt_sensitise(mt); + mainw->cancelled = CANCEL_USER; + if (mt != NULL) mt_sensitise(mt); return FALSE; } - if (mt!=NULL&&mt->idlefunc>0) { + if (mt != NULL && mt->idlefunc > 0) { lives_source_remove(mt->idlefunc); - mt->idlefunc=0; - needs_idlefunc=TRUE; + mt->idlefunc = 0; + needs_idlefunc = TRUE; } - if (strlen(mainw->set_name)>0) { + if (strlen(mainw->set_name) > 0) { char *tmp; - weed_set_string_value(event_list,WEED_LEAF_NEEDS_SET,(tmp=F2U8(mainw->set_name))); + weed_set_string_value(event_list, WEED_LEAF_NEEDS_SET, (tmp = F2U8(mainw->set_name))); lives_free(tmp); } else if (mainw->interactive) { if (!set_new_set_name(mt)) { if (needs_idlefunc) { - mt->idlefunc=mt_idle_add(mt); + mt->idlefunc = mt_idle_add(mt); } - if (mt!=NULL) mt_sensitise(mt); + if (mt != NULL) mt_sensitise(mt); return FALSE; } } else { if (needs_idlefunc) { - mt->idlefunc=mt_idle_add(mt); + mt->idlefunc = mt_idle_add(mt); } - if (mt!=NULL) mt_sensitise(mt); + if (mt != NULL) mt_sensitise(mt); return FALSE; } - esave_dir=lives_build_filename(prefs->workdir,mainw->set_name,"layouts",LIVES_DIR_SEP,NULL); - lives_mkdir_with_parents(esave_dir,capable->umask); + esave_dir = lives_build_filename(prefs->workdir, mainw->set_name, "layouts", LIVES_DIR_SEP, NULL); + lives_mkdir_with_parents(esave_dir, capable->umask); hbox = lives_hbox_new(FALSE, 0); - ar_checkbutton = lives_standard_check_button_new(_("_Autoreload each time"),TRUE,LIVES_BOX(hbox),NULL); + ar_checkbutton = lives_standard_check_button_new(_("_Autoreload each time"), TRUE, LIVES_BOX(hbox), NULL); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(ar_checkbutton),prefs->ar_layout); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(ar_checkbutton), prefs->ar_layout); lives_signal_connect(LIVES_GUI_OBJECT(ar_checkbutton), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(on_autoreload_toggled), LIVES_INT_TO_POINTER(2)); lives_widget_show_all(hbox); - if (!strlen(layout_name)) esave_file=choose_file(esave_dir,NULL,filt,LIVES_FILE_CHOOSER_ACTION_SAVE,NULL,hbox); - else esave_file=choose_file(esave_dir,layout_name,filt,LIVES_FILE_CHOOSER_ACTION_SAVE,NULL,hbox); + if (!strlen(layout_name)) esave_file = choose_file(esave_dir, NULL, filt, LIVES_FILE_CHOOSER_ACTION_SAVE, NULL, hbox); + else esave_file = choose_file(esave_dir, layout_name, filt, LIVES_FILE_CHOOSER_ACTION_SAVE, NULL, hbox); - ar_layout=prefs->ar_layout; - prefs->ar_layout=orig_ar_layout; + ar_layout = prefs->ar_layout; + prefs->ar_layout = orig_ar_layout; - if (esave_file!=NULL) { + if (esave_file != NULL) { lives_free(esave_dir); - esave_dir=get_dir(esave_file); + esave_dir = get_dir(esave_file); } - if (esave_file==NULL||!check_storage_space(NULL,FALSE)) { + if (esave_file == NULL || !check_storage_space(NULL, FALSE)) { char *cdir; - lives_rmdir(esave_dir,FALSE); + lives_rmdir(esave_dir, FALSE); - cdir=lives_build_filename(prefs->workdir,mainw->set_name,NULL); - lives_rmdir(cdir,FALSE); + cdir = lives_build_filename(prefs->workdir, mainw->set_name, NULL); + lives_rmdir(cdir, FALSE); lives_free(esave_file); lives_free(esave_dir); lives_free(layout_map); lives_free(layout_map_audio); - mainw->was_set=was_set; - if (!was_set) memset(mainw->set_name,0,1); - mainw->cancelled=CANCEL_USER; + mainw->was_set = was_set; + if (!was_set) memset(mainw->set_name, 0, 1); + mainw->cancelled = CANCEL_USER; if (needs_idlefunc) { - mt->idlefunc=mt_idle_add(mt); + mt->idlefunc = mt_idle_add(mt); } - if (mt!=NULL) mt_sensitise(mt); + if (mt != NULL) mt_sensitise(mt); return FALSE; } - esave_file=ensure_extension(esave_file,".lay"); + esave_file = ensure_extension(esave_file, ".lay"); - lives_snprintf(xlayout_name,PATH_MAX,"%s",esave_file); + lives_snprintf(xlayout_name, PATH_MAX, "%s", esave_file); get_basename(xlayout_name); - if (mt!=NULL) add_markers(mt,mt->event_list,FALSE); + if (mt != NULL) add_markers(mt, mt->event_list, FALSE); do { - retval2=0; - retval=TRUE; + retval2 = 0; + retval = TRUE; - fd=lives_creat_buffered(esave_file,DEF_FILE_PERMS); + fd = lives_creat_buffered(esave_file, DEF_FILE_PERMS); - if (fd>=0) { - do_threaded_dialog(_("Saving layout"),FALSE); + if (fd >= 0) { + do_threaded_dialog(_("Saving layout"), FALSE); - retval=save_event_list_inner(mt,fd,event_list,NULL); + retval = save_event_list_inner(mt, fd, event_list, NULL); lives_close_buffered(fd); end_threaded_dialog(); } - if (!retval||fd<0) { - retval2=do_write_failed_error_s_with_retry(esave_file,(fd<0)?lives_strerror(errno):NULL,NULL); - if (retval2==LIVES_RESPONSE_CANCEL) { + if (!retval || fd < 0) { + retval2 = do_write_failed_error_s_with_retry(esave_file, (fd < 0) ? lives_strerror(errno) : NULL, NULL); + if (retval2 == LIVES_RESPONSE_CANCEL) { if (needs_idlefunc) { - mt->idlefunc=mt_idle_add(mt); + mt->idlefunc = mt_idle_add(mt); } - if (mt!=NULL) mt_sensitise(mt); + if (mt != NULL) mt_sensitise(mt); return FALSE; } } - } while (retval2==LIVES_RESPONSE_RETRY); + } while (retval2 == LIVES_RESPONSE_RETRY); - if (retval2!=LIVES_RESPONSE_CANCEL) { - lives_snprintf(mainw->recent_file,PATH_MAX,"%s",xlayout_name); - d_print(_("Saved layout to %s\n"),esave_file); + if (retval2 != LIVES_RESPONSE_CANCEL) { + lives_snprintf(mainw->recent_file, PATH_MAX, "%s", xlayout_name); + d_print(_("Saved layout to %s\n"), esave_file); } // save layout map - save_layout_map(layout_map,layout_map_audio,esave_file,esave_dir); + save_layout_map(layout_map, layout_map_audio, esave_file, esave_dir); - if (mt!=NULL) mt->changed=FALSE; + if (mt != NULL) mt->changed = FALSE; if (!ar_layout) { - prefs->ar_layout=FALSE; - set_pref(PREF_AR_LAYOUT,""); - memset(prefs->ar_layout_name,0,1); - } else { - prefs->ar_layout=TRUE; - set_pref(PREF_AR_LAYOUT,layout_name); - lives_snprintf(prefs->ar_layout_name,PATH_MAX,"%s",xlayout_name); + prefs->ar_layout = FALSE; + set_pref(PREF_AR_LAYOUT, ""); + memset(prefs->ar_layout_name, 0, 1); + } else { + prefs->ar_layout = TRUE; + set_pref(PREF_AR_LAYOUT, layout_name); + lives_snprintf(prefs->ar_layout_name, PATH_MAX, "%s", xlayout_name); } lives_free(esave_file); @@ -19799,10 +19200,10 @@ if (mainw->was_set) recover_layout_cancelled(FALSE); - if (mt!=NULL) { - mt->auto_changed=FALSE; + if (mt != NULL) { + mt->auto_changed = FALSE; if (needs_idlefunc) { - mt->idlefunc=mt_idle_add(mt); + mt->idlefunc = mt_idle_add(mt); } mt_sensitise(mt); } @@ -19822,15 +19223,15 @@ elist_errors++; threaded_dialog_spin(0.); - if (tc==-1) xnew=lives_strdup(msg); // missing timecode + if (tc == -1) xnew = lives_strdup(msg); // missing timecode else { - if (num==-1) xnew=lives_strdup_printf("%s at timecode %"PRId64"\n",msg,tc); - else xnew=lives_strdup_printf("%s %d at timecode %"PRId64"\n",msg,num,tc); + if (num == -1) xnew = lives_strdup_printf("%s at timecode %"PRId64"\n", msg, tc); + else xnew = lives_strdup_printf("%s %d at timecode %"PRId64"\n", msg, num, tc); } - tmp=lives_strconcat(ebuf,xnew,NULL); + tmp = lives_strconcat(ebuf, xnew, NULL); //#define SILENT_EVENT_LIST_LOAD #ifndef SILENT_EVENT_LIST_LOAD - lives_printerr("Rec error: %s",xnew); + lives_printerr("Rec error: %s", xnew); #endif lives_free(ebuf); lives_free(xnew); @@ -19839,23 +19240,23 @@ } - static int get_next_tt_key(ttable *trans_table) { int i; - for (i=free_tt_key; i<FX_KEYS_MAX-FX_KEYS_MAX_VIRTUAL; i++) { - if (trans_table[i].in==0) return i; + for (i = free_tt_key; i < FX_KEYS_MAX - FX_KEYS_MAX_VIRTUAL; i++) { + if (trans_table[i].in == 0) return i; } return -1; } + static void *find_init_event_in_ttable(ttable *trans_table, uint64_t in, boolean normal) { int i; - for (i=0; i<FX_KEYS_MAX-FX_KEYS_MAX_VIRTUAL; i++) { - if (normal&&trans_table[i].in==in) return trans_table[i].out; + for (i = 0; i < FX_KEYS_MAX - FX_KEYS_MAX_VIRTUAL; i++) { + if (normal && trans_table[i].in == in) return trans_table[i].out; /// reverse lookup for past filter_map check - if (!normal&&(uint64_t)trans_table[i].out==in) return (void *)trans_table[i].in; - if (trans_table[i].out==NULL) return NULL; + if (!normal && (uint64_t)trans_table[i].out == in) return (void *)trans_table[i].in; + if (trans_table[i].out == NULL) return NULL; } return NULL; } @@ -19865,161 +19266,156 @@ // remove NULLs from filter_map init_events // old array may be free()d, return value should be freed() unless NULL - int num_nulls=0,i,j=0; + int num_nulls = 0, i, j = 0; void **new_init_events; - if (*num_events==1) return init_events; + if (*num_events == 1) return init_events; - for (i=0; i<*num_events; i++) if (init_events[i]==NULL) num_nulls++; - if (num_nulls==0) return init_events; + for (i = 0; i < *num_events; i++) if (init_events[i] == NULL) num_nulls++; + if (num_nulls == 0) return init_events; - *num_events-=num_nulls; + *num_events -= num_nulls; - if (*num_events==0) new_init_events=NULL; + if (*num_events == 0) new_init_events = NULL; - else new_init_events=(void **)lives_malloc((*num_events)*sizeof(void *)); + else new_init_events = (void **)lives_malloc((*num_events) * sizeof(void *)); - for (i=0; i<*num_events+num_nulls; i++) if (init_events[i]!=NULL) new_init_events[j++]=init_events[i]; + for (i = 0; i < *num_events + num_nulls; i++) if (init_events[i] != NULL) new_init_events[j++] = init_events[i]; lives_free(init_events); - if (*num_events==0) *num_events=1; + if (*num_events == 0) *num_events = 1; return new_init_events; } - - void move_init_in_filter_map(lives_mt *mt, weed_plant_t *event_list, weed_plant_t *event, weed_plant_t *ifrom, weed_plant_t *ito, int track, boolean after) { - int error,i,j; - weed_plant_t *deinit_event=(weed_plant_t *)weed_get_voidptr_value(ifrom,WEED_LEAF_DEINIT_EVENT,&error); - void **events_before=NULL; - void **events_after=NULL; - int num_before=0,j1; - int num_after=0,j2; + int error, i, j; + weed_plant_t *deinit_event = (weed_plant_t *)weed_get_voidptr_value(ifrom, WEED_LEAF_DEINIT_EVENT, &error); + void **events_before = NULL; + void **events_after = NULL; + int num_before = 0, j1; + int num_after = 0, j2; boolean got_after; - void **init_events,**new_init_events; + void **init_events, **new_init_events; int num_inits; - while (event!=deinit_event) { + while (event != deinit_event) { if (!WEED_EVENT_IS_FILTER_MAP(event)) { - event=get_next_event(event); + event = get_next_event(event); continue; } - init_events=weed_get_voidptr_array(event,WEED_LEAF_INIT_EVENTS,&error); - num_inits=weed_leaf_num_elements(event,WEED_LEAF_INIT_EVENTS); - if (events_before==NULL&&events_after==NULL) { - j=0; - for (i=0; i<num_inits; i++) { - if (init_events[i]==ifrom) continue; - if (init_events[i]!=ito&&!init_event_is_relevant((weed_plant_t *)init_events[i],track)) continue; + init_events = weed_get_voidptr_array(event, WEED_LEAF_INIT_EVENTS, &error); + num_inits = weed_leaf_num_elements(event, WEED_LEAF_INIT_EVENTS); + if (events_before == NULL && events_after == NULL) { + j = 0; + for (i = 0; i < num_inits; i++) { + if (init_events[i] == ifrom) continue; + if (init_events[i] != ito && !init_event_is_relevant((weed_plant_t *)init_events[i], track)) continue; j++; - if (init_events[i]==ito) { - num_before=j-1+after; - j=1; + if (init_events[i] == ito) { + num_before = j - 1 + after; + j = 1; } } - num_after=j-after; - if (num_before>0) events_before=(void **)lives_malloc(num_before*sizeof(void *)); - if (num_after>0) events_after=(void **)lives_malloc(num_after*sizeof(void *)); - j1=j2=0; - for (i=0; i<num_inits; i++) { - if (!init_event_is_relevant((weed_plant_t *)init_events[i],track)) continue; - if (init_events[i]==ifrom) continue; - if (j1<num_before) { - events_before[j1]=init_events[i]; + num_after = j - after; + if (num_before > 0) events_before = (void **)lives_malloc(num_before * sizeof(void *)); + if (num_after > 0) events_after = (void **)lives_malloc(num_after * sizeof(void *)); + j1 = j2 = 0; + for (i = 0; i < num_inits; i++) { + if (!init_event_is_relevant((weed_plant_t *)init_events[i], track)) continue; + if (init_events[i] == ifrom) continue; + if (j1 < num_before) { + events_before[j1] = init_events[i]; j1++; } else { - events_after[j2]=init_events[i]; + events_after[j2] = init_events[i]; j2++; } } } // check to see if we can move event without problem - got_after=FALSE; - for (i=0; i<num_inits; i++) { - if (init_events[i]==ifrom) continue; - if (!init_event_is_relevant((weed_plant_t *)init_events[i],track)) continue; - if (!got_after&&init_event_in_list(events_after,num_after,(weed_plant_t *)init_events[i])) got_after=TRUE; - if (got_after&&init_event_in_list(events_before,num_before,(weed_plant_t *)init_events[i])) { + got_after = FALSE; + for (i = 0; i < num_inits; i++) { + if (init_events[i] == ifrom) continue; + if (!init_event_is_relevant((weed_plant_t *)init_events[i], track)) continue; + if (!got_after && init_event_in_list(events_after, num_after, (weed_plant_t *)init_events[i])) got_after = TRUE; + if (got_after && init_event_in_list(events_before, num_before, (weed_plant_t *)init_events[i])) { lives_free(init_events); - if (events_before!=NULL) lives_free(events_before); - if (events_after!=NULL) lives_free(events_after); + if (events_before != NULL) lives_free(events_before); + if (events_after != NULL) lives_free(events_after); return; // order has changed, give up } } - new_init_events=(void **)lives_malloc(num_inits*sizeof(void *)); - got_after=FALSE; - j=0; - for (i=0; i<num_inits; i++) { - if (init_events[i]==ifrom) continue; - if ((init_event_in_list(events_before,num_before,(weed_plant_t *)init_events[i])|| - !init_event_is_relevant((weed_plant_t *)init_events[i],track))&& - !init_event_is_process_last((weed_plant_t *)init_events[i])&&!init_event_is_process_last(ifrom)) - new_init_events[j]=init_events[i]; + new_init_events = (void **)lives_malloc(num_inits * sizeof(void *)); + got_after = FALSE; + j = 0; + for (i = 0; i < num_inits; i++) { + if (init_events[i] == ifrom) continue; + if ((init_event_in_list(events_before, num_before, (weed_plant_t *)init_events[i]) || + !init_event_is_relevant((weed_plant_t *)init_events[i], track)) && + !init_event_is_process_last((weed_plant_t *)init_events[i]) && !init_event_is_process_last(ifrom)) + new_init_events[j] = init_events[i]; else { if (!got_after) { - got_after=TRUE; - new_init_events[j]=ifrom; + got_after = TRUE; + new_init_events[j] = ifrom; i--; j++; continue; } - new_init_events[j]=init_events[i]; + new_init_events[j] = init_events[i]; } j++; } - if (j<num_inits) new_init_events[j]=ifrom; - weed_set_voidptr_array(event,WEED_LEAF_INIT_EVENTS,num_inits,new_init_events); + if (j < num_inits) new_init_events[j] = ifrom; + weed_set_voidptr_array(event, WEED_LEAF_INIT_EVENTS, num_inits, new_init_events); lives_free(new_init_events); lives_free(init_events); - event=get_next_event(event); + event = get_next_event(event); } - if (events_before!=NULL) lives_free(events_before); - if (events_after!=NULL) lives_free(events_after); - + if (events_before != NULL) lives_free(events_before); + if (events_after != NULL) lives_free(events_after); } - boolean compare_filter_maps(weed_plant_t *fm1, weed_plant_t *fm2, int ctrack) { // return TRUE if the maps match exactly; if ctrack is !=LIVES_TRACK_ANY, // then we only compare filter maps where ctrack is an in_track or out_track - int i1,i2,error,num_events1,num_events2; - void **inits1,**inits2; - - if (!weed_plant_has_leaf(fm1,WEED_LEAF_INIT_EVENTS)&&!weed_plant_has_leaf(fm2,WEED_LEAF_INIT_EVENTS)) return TRUE; - if (ctrack==LIVES_TRACK_ANY&&((!weed_plant_has_leaf(fm1,WEED_LEAF_INIT_EVENTS)&& - weed_get_voidptr_value(fm2,WEED_LEAF_INIT_EVENTS,&error)!=NULL)|| - (!weed_plant_has_leaf(fm2,WEED_LEAF_INIT_EVENTS)&& - weed_get_voidptr_value(fm1,WEED_LEAF_INIT_EVENTS,&error)!=NULL))) return FALSE; + int i1, i2, error, num_events1, num_events2; + void **inits1, **inits2; - if (ctrack==LIVES_TRACK_ANY&&(weed_plant_has_leaf(fm1,WEED_LEAF_INIT_EVENTS))&&weed_plant_has_leaf(fm2,WEED_LEAF_INIT_EVENTS)&& - ((weed_get_voidptr_value(fm1,WEED_LEAF_INIT_EVENTS,&error)==NULL&& - weed_get_voidptr_value(fm2,WEED_LEAF_INIT_EVENTS,&error)!=NULL)|| - (weed_get_voidptr_value(fm1,WEED_LEAF_INIT_EVENTS,&error)!=NULL&& - weed_get_voidptr_value(fm2,WEED_LEAF_INIT_EVENTS,&error)==NULL))) return FALSE; + if (!weed_plant_has_leaf(fm1, WEED_LEAF_INIT_EVENTS) && !weed_plant_has_leaf(fm2, WEED_LEAF_INIT_EVENTS)) return TRUE; + if (ctrack == LIVES_TRACK_ANY && ((!weed_plant_has_leaf(fm1, WEED_LEAF_INIT_EVENTS) && + weed_get_voidptr_value(fm2, WEED_LEAF_INIT_EVENTS, &error) != NULL) || + (!weed_plant_has_leaf(fm2, WEED_LEAF_INIT_EVENTS) && + weed_get_voidptr_value(fm1, WEED_LEAF_INIT_EVENTS, &error) != NULL))) return FALSE; + if (ctrack == LIVES_TRACK_ANY && (weed_plant_has_leaf(fm1, WEED_LEAF_INIT_EVENTS)) && weed_plant_has_leaf(fm2, WEED_LEAF_INIT_EVENTS) && + ((weed_get_voidptr_value(fm1, WEED_LEAF_INIT_EVENTS, &error) == NULL && + weed_get_voidptr_value(fm2, WEED_LEAF_INIT_EVENTS, &error) != NULL) || + (weed_get_voidptr_value(fm1, WEED_LEAF_INIT_EVENTS, &error) != NULL && + weed_get_voidptr_value(fm2, WEED_LEAF_INIT_EVENTS, &error) == NULL))) return FALSE; - num_events1=weed_leaf_num_elements(fm1,WEED_LEAF_INIT_EVENTS); - num_events2=weed_leaf_num_elements(fm2,WEED_LEAF_INIT_EVENTS); - if (ctrack==LIVES_TRACK_ANY&&num_events1!=num_events2) return FALSE; + num_events1 = weed_leaf_num_elements(fm1, WEED_LEAF_INIT_EVENTS); + num_events2 = weed_leaf_num_elements(fm2, WEED_LEAF_INIT_EVENTS); + if (ctrack == LIVES_TRACK_ANY && num_events1 != num_events2) return FALSE; - inits1=weed_get_voidptr_array(fm1,WEED_LEAF_INIT_EVENTS,&error); - inits2=weed_get_voidptr_array(fm2,WEED_LEAF_INIT_EVENTS,&error); + inits1 = weed_get_voidptr_array(fm1, WEED_LEAF_INIT_EVENTS, &error); + inits2 = weed_get_voidptr_array(fm2, WEED_LEAF_INIT_EVENTS, &error); - if (inits1==NULL&&inits2==NULL) return TRUE; + if (inits1 == NULL && inits2 == NULL) return TRUE; - i2=0; + i2 = 0; - for (i1=0; i1<num_events1; i1++) { + for (i1 = 0; i1 < num_events1; i1++) { - if (i2<num_events2&&init_event_is_process_last((weed_plant_t *)inits2[i2])) { + if (i2 < num_events2 && init_event_is_process_last((weed_plant_t *)inits2[i2])) { // for process_last we don't care about the exact order - if (init_event_in_list(inits1,num_events1,(weed_plant_t *)inits2[i2])) { + if (init_event_in_list(inits1, num_events1, (weed_plant_t *)inits2[i2])) { i2++; i1--; continue; @@ -20028,37 +19424,33 @@ if (init_event_is_process_last((weed_plant_t *)inits1[i1])) { // for process_last we don't care about the exact order - if (init_event_in_list(inits2,num_events2,(weed_plant_t *)inits1[i1])) { + if (init_event_in_list(inits2, num_events2, (weed_plant_t *)inits1[i1])) { continue; } } - - if (ctrack!=LIVES_TRACK_ANY) { - - if (inits1[i1]!=NULL) { - - if (init_event_is_relevant((weed_plant_t *)inits1[i1],ctrack)) { - if (i2>=num_events2) { + if (ctrack != LIVES_TRACK_ANY) { + if (inits1[i1] != NULL) { + if (init_event_is_relevant((weed_plant_t *)inits1[i1], ctrack)) { + if (i2 >= num_events2) { lives_free(inits1); lives_free(inits2); return FALSE; } } else continue; // skip this one, it doesn't involve ctrack - } else continue; // skip NULLS } - if (i2<num_events2) { - if (ctrack!=LIVES_TRACK_ANY) { - if (inits2[i2]==NULL||!init_event_is_relevant((weed_plant_t *)inits2[i2],ctrack)) { + if (i2 < num_events2) { + if (ctrack != LIVES_TRACK_ANY) { + if (inits2[i2] == NULL || !init_event_is_relevant((weed_plant_t *)inits2[i2], ctrack)) { i2++; i1--; continue; // skip this one, it doesn't involve ctrack } } - if (inits1[i1]!=inits2[i2]) { + if (inits1[i1] != inits2[i2]) { lives_free(inits1); lives_free(inits2); return FALSE; @@ -20067,68 +19459,65 @@ } } - if (i2<num_events2) { - if (ctrack==LIVES_TRACK_ANY) { + if (i2 < num_events2) { + if (ctrack == LIVES_TRACK_ANY) { lives_free(inits1); return FALSE; } - for (; i2<num_events2; i2++) { - if (inits2[i2]!=NULL) { - + for (; i2 < num_events2; i2++) { + if (inits2[i2] != NULL) { if (init_event_is_process_last((weed_plant_t *)inits2[i2])) { // for process_last we don't care about the exact order - if (init_event_in_list(inits1,num_events1,(weed_plant_t *)inits2[i2])) continue; + if (init_event_in_list(inits1, num_events1, (weed_plant_t *)inits2[i2])) continue; } - if (init_event_is_relevant((weed_plant_t *)inits2[i2],ctrack)) { + if (init_event_is_relevant((weed_plant_t *)inits2[i2], ctrack)) { lives_free(inits1); lives_free(inits2); return FALSE; } - } } } - if (inits1!=NULL) lives_free(inits1); - if (inits2!=NULL) lives_free(inits2); + if (inits1 != NULL) lives_free(inits1); + if (inits2 != NULL) lives_free(inits2); return TRUE; } - -static char *filter_map_check(ttable *trans_table,weed_plant_t *filter_map, weed_timecode_t deinit_tc, +static char *filter_map_check(ttable *trans_table, weed_plant_t *filter_map, weed_timecode_t deinit_tc, weed_timecode_t fm_tc, char *ebuf) { int num_init_events; - void **copy_events,**pinit_events; - int error,i; + void **copy_events, **pinit_events; + int error, i; uint64_t *init_events; - if (!weed_plant_has_leaf(filter_map,WEED_LEAF_INIT_EVENTS)) return ebuf; + if (!weed_plant_has_leaf(filter_map, WEED_LEAF_INIT_EVENTS)) return ebuf; // check no deinited events are active - num_init_events=weed_leaf_num_elements(filter_map,WEED_LEAF_INIT_EVENTS); + num_init_events = weed_leaf_num_elements(filter_map, WEED_LEAF_INIT_EVENTS); - if (weed_leaf_seed_type(filter_map,WEED_LEAF_INIT_EVENTS)==WEED_SEED_INT64) { - if (num_init_events==1&&weed_get_int64_value(filter_map,WEED_LEAF_INIT_EVENTS,&error)==0) return ebuf; - init_events=(uint64_t *)(weed_get_int64_array(filter_map,WEED_LEAF_INIT_EVENTS,&error)); - } else { - if (num_init_events==1&&weed_get_voidptr_value(filter_map,WEED_LEAF_INIT_EVENTS,&error)==NULL) return ebuf; - pinit_events=weed_get_voidptr_array(filter_map,WEED_LEAF_INIT_EVENTS,&error); - init_events=(uint64_t *)lives_malloc(num_init_events*sizeof(uint64_t)); - for (i=0; i<num_init_events; i++) init_events[i]=(uint64_t)pinit_events[i]; + if (weed_leaf_seed_type(filter_map, WEED_LEAF_INIT_EVENTS) == WEED_SEED_INT64) { + if (num_init_events == 1 && weed_get_int64_value(filter_map, WEED_LEAF_INIT_EVENTS, &error) == 0) return ebuf; + init_events = (uint64_t *)(weed_get_int64_array(filter_map, WEED_LEAF_INIT_EVENTS, &error)); + } else { + if (num_init_events == 1 && weed_get_voidptr_value(filter_map, WEED_LEAF_INIT_EVENTS, &error) == NULL) return ebuf; + pinit_events = weed_get_voidptr_array(filter_map, WEED_LEAF_INIT_EVENTS, &error); + init_events = (uint64_t *)lives_malloc(num_init_events * sizeof(uint64_t)); + for (i = 0; i < num_init_events; i++) init_events[i] = (uint64_t)pinit_events[i]; lives_free(pinit_events); } - copy_events=(void **)lives_malloc(num_init_events*sizeof(weed_plant_t *)); - for (i=0; i<num_init_events; i++) { - if (find_init_event_in_ttable(trans_table,init_events[i],FALSE)!=NULL) copy_events[i]=(void *)init_events[i]; // !! + copy_events = (void **)lives_malloc(num_init_events * sizeof(weed_plant_t *)); + for (i = 0; i < num_init_events; i++) { + if (find_init_event_in_ttable(trans_table, init_events[i], FALSE) != NULL) copy_events[i] = (void *)init_events[i]; // !! else { - copy_events[i]=NULL; - ebuf=rec_error_add(ebuf,"Filter_map points to invalid filter_init",-1,fm_tc); + copy_events[i] = NULL; + ebuf = rec_error_add(ebuf, "Filter_map points to invalid filter_init", -1, fm_tc); } } - if (num_init_events>1) copy_events=remove_nulls_from_filter_map(copy_events,&num_init_events); + if (num_init_events > 1) copy_events = remove_nulls_from_filter_map(copy_events, &num_init_events); - if (copy_events!=NULL) lives_free(copy_events); + if (copy_events != NULL) lives_free(copy_events); lives_free(init_events); return ebuf; } @@ -20137,35 +19526,35 @@ static char *add_filter_deinits(weed_plant_t *event_list, ttable *trans_table, void ***pchains, weed_timecode_t tc, char *ebuf) { // add filter deinit events for any remaining active filters - int i,j,error,num_params; + int i, j, error, num_params; char *filter_hash; int idx; - weed_plant_t *filter,*init_event,*event; + weed_plant_t *filter, *init_event, *event; void **in_pchanges; - for (i=0; i<FX_KEYS_MAX-FX_KEYS_MAX_VIRTUAL; i++) { - if (trans_table[i].out==NULL) continue; - if (trans_table[i].in!=0) { - event_list=append_filter_deinit_event(event_list,tc,(init_event=(weed_plant_t *)trans_table[i].out),pchains[i]); - event=get_last_event(event_list); - - filter_hash=weed_get_string_value(init_event,WEED_LEAF_FILTER,&error); - if ((idx=weed_get_idx_for_hashname(filter_hash,TRUE))!=-1) { - filter=get_weed_filter(idx); - if ((num_params=num_in_params(filter,FALSE,FALSE))>0) { - in_pchanges=(void **)lives_malloc(num_params*sizeof(void *)); - for (j=0; j<num_params; j++) { + for (i = 0; i < FX_KEYS_MAX - FX_KEYS_MAX_VIRTUAL; i++) { + if (trans_table[i].out == NULL) continue; + if (trans_table[i].in != 0) { + event_list = append_filter_deinit_event(event_list, tc, (init_event = (weed_plant_t *)trans_table[i].out), pchains[i]); + event = get_last_event(event_list); + + filter_hash = weed_get_string_value(init_event, WEED_LEAF_FILTER, &error); + if ((idx = weed_get_idx_for_hashname(filter_hash, TRUE)) != -1) { + filter = get_weed_filter(idx); + if ((num_params = num_in_params(filter, FALSE, FALSE)) > 0) { + in_pchanges = (void **)lives_malloc(num_params * sizeof(void *)); + for (j = 0; j < num_params; j++) { if (!WEED_EVENT_IS_FILTER_INIT((weed_plant_t *)pchains[i][j])) - in_pchanges[j]=(weed_plant_t *)pchains[i][j]; - else in_pchanges[j]=NULL; + in_pchanges[j] = (weed_plant_t *)pchains[i][j]; + else in_pchanges[j] = NULL; } - weed_set_voidptr_array(event,WEED_LEAF_IN_PARAMETERS,num_params,in_pchanges); // set array to last param_changes + weed_set_voidptr_array(event, WEED_LEAF_IN_PARAMETERS, num_params, in_pchanges); // set array to last param_changes lives_free(in_pchanges); lives_free(pchains[i]); } } lives_free(filter_hash); - ebuf=rec_error_add(ebuf,"Added missing filter_deinit",-1,tc); + ebuf = rec_error_add(ebuf, "Added missing filter_deinit", -1, tc); } } return ebuf; @@ -20176,89 +19565,88 @@ int num_events; int error; - if (!weed_plant_has_leaf(last_fm,WEED_LEAF_INIT_EVENTS)) return ebuf; + if (!weed_plant_has_leaf(last_fm, WEED_LEAF_INIT_EVENTS)) return ebuf; - num_events=weed_leaf_num_elements(last_fm,WEED_LEAF_INIT_EVENTS); - if (num_events==1&&weed_get_voidptr_value(last_fm,WEED_LEAF_INIT_EVENTS,&error)==NULL) return ebuf; + num_events = weed_leaf_num_elements(last_fm, WEED_LEAF_INIT_EVENTS); + if (num_events == 1 && weed_get_voidptr_value(last_fm, WEED_LEAF_INIT_EVENTS, &error) == NULL) return ebuf; - event_list=append_filter_map_event(event_list,tc,NULL); + event_list = append_filter_map_event(event_list, tc, NULL); - ebuf=rec_error_add(ebuf,"Added missing empty filter_map",-1,tc); + ebuf = rec_error_add(ebuf, "Added missing empty filter_map", -1, tc); return ebuf; } + static weed_plant_t *duplicate_frame_at(weed_plant_t *event_list, weed_plant_t *src_frame, weed_timecode_t tc) { // tc should be > src_frame tc : i.e. copy is forward in time because insert_frame_event_at searches forward int error; - int *clips,*frames; - int numframes=weed_leaf_num_elements(src_frame,WEED_LEAF_CLIPS); + int *clips, *frames; + int numframes = weed_leaf_num_elements(src_frame, WEED_LEAF_CLIPS); if (!numframes) return src_frame; - clips=weed_get_int_array(src_frame,WEED_LEAF_CLIPS,&error); - frames=weed_get_int_array(src_frame,WEED_LEAF_FRAMES,&error); + clips = weed_get_int_array(src_frame, WEED_LEAF_CLIPS, &error); + frames = weed_get_int_array(src_frame, WEED_LEAF_FRAMES, &error); - event_list=insert_frame_event_at(event_list, tc, numframes, clips, frames, &src_frame); + event_list = insert_frame_event_at(event_list, tc, numframes, clips, frames, &src_frame); lives_free(clips); lives_free(frames); - return get_frame_event_at(event_list,tc,src_frame,TRUE); + return get_frame_event_at(event_list, tc, src_frame, TRUE); } - - static LiVESList *atrack_list; static void add_atrack_to_list(int track, int clip) { // keep record of audio tracks so we can add closures if missing - LiVESList *alist=atrack_list; + LiVESList *alist = atrack_list; char *entry; char **array; - while (alist!=NULL) { - entry=(char *)alist->data; - array=lives_strsplit(entry,"|",-1); - if (atoi(array[0])==track) { + while (alist != NULL) { + entry = (char *)alist->data; + array = lives_strsplit(entry, "|", -1); + if (atoi(array[0]) == track) { lives_free((livespointer)alist->data); - alist->data=lives_strdup_printf("%d|%d",track,clip); + alist->data = lives_strdup_printf("%d|%d", track, clip); lives_strfreev(array); return; } lives_strfreev(array); - alist=alist->next; + alist = alist->next; } - atrack_list=lives_list_append(atrack_list,lives_strdup_printf("%d|%d",track,clip)); + atrack_list = lives_list_append(atrack_list, lives_strdup_printf("%d|%d", track, clip)); } static void remove_atrack_from_list(int track) { // keep record of audio tracks so we can add closures if missing - LiVESList *alist=atrack_list,*alist_next; + LiVESList *alist = atrack_list, *alist_next; char *entry; char **array; - while (alist!=NULL) { - alist_next=alist->next; - entry=(char *)alist->data; - array=lives_strsplit(entry,"|",-1); - if (atoi(array[0])==track) { - atrack_list=lives_list_remove(atrack_list,entry); + while (alist != NULL) { + alist_next = alist->next; + entry = (char *)alist->data; + array = lives_strsplit(entry, "|", -1); + if (atoi(array[0]) == track) { + atrack_list = lives_list_remove(atrack_list, entry); lives_strfreev(array); lives_free(entry); return; } lives_strfreev(array); - alist=alist_next; + alist = alist_next; } } static char *add_missing_atrack_closers(weed_plant_t *event_list, double fps, char *ebuf) { - LiVESList *alist=atrack_list; + LiVESList *alist = atrack_list; char *entry; char **array; - int i=0; + int i = 0; int *aclips; double *aseeks; @@ -20267,37 +19655,37 @@ int num_atracks; weed_timecode_t tc; - if (atrack_list==NULL) return ebuf; + if (atrack_list == NULL) return ebuf; - num_atracks=lives_list_length(atrack_list)*2; + num_atracks = lives_list_length(atrack_list) * 2; - aclips=(int *)lives_malloc(num_atracks*sizint); - aseeks=(double *)lives_malloc(num_atracks*sizdbl); + aclips = (int *)lives_malloc(num_atracks * sizint); + aseeks = (double *)lives_malloc(num_atracks * sizdbl); - last_frame=get_last_frame_event(event_list); - tc=get_event_timecode(last_frame); + last_frame = get_last_frame_event(event_list); + tc = get_event_timecode(last_frame); - if (!is_blank_frame(last_frame,TRUE)) { - weed_plant_t *shortcut=last_frame; - event_list=insert_blank_frame_event_at(event_list,q_gint64(tc+1./U_SEC,fps),&shortcut); + if (!is_blank_frame(last_frame, TRUE)) { + weed_plant_t *shortcut = last_frame; + event_list = insert_blank_frame_event_at(event_list, q_gint64(tc + 1. / U_SEC, fps), &shortcut); } - while (alist!=NULL) { - entry=(char *)alist->data; - array=lives_strsplit(entry,"|",-1); - aclips[i]=atoi(array[0]); - aclips[i+1]=atoi(array[1]); - aseeks[i]=0.; - aseeks[i+1]=0.; + while (alist != NULL) { + entry = (char *)alist->data; + array = lives_strsplit(entry, "|", -1); + aclips[i] = atoi(array[0]); + aclips[i + 1] = atoi(array[1]); + aseeks[i] = 0.; + aseeks[i + 1] = 0.; lives_strfreev(array); - if (aclips[i]>=0) ebuf=rec_error_add(ebuf,"Added missing audio closure",aclips[i],tc); - else ebuf=rec_error_add(ebuf,"Added missing audio closure to backing track",-aclips[i],tc); - i+=2; - alist=alist->next; + if (aclips[i] >= 0) ebuf = rec_error_add(ebuf, "Added missing audio closure", aclips[i], tc); + else ebuf = rec_error_add(ebuf, "Added missing audio closure to backing track", -aclips[i], tc); + i += 2; + alist = alist->next; } - weed_set_int_array(last_frame,WEED_LEAF_AUDIO_CLIPS,num_atracks,aclips); - weed_set_double_array(last_frame,WEED_LEAF_AUDIO_SEEKS,num_atracks,aseeks); + weed_set_int_array(last_frame, WEED_LEAF_AUDIO_CLIPS, num_atracks, aclips); + weed_set_double_array(last_frame, WEED_LEAF_AUDIO_SEEKS, num_atracks, aseeks); lives_free(aclips); lives_free(aseeks); @@ -20308,8 +19696,6 @@ } - - boolean event_list_rectify(lives_mt *mt, weed_plant_t *event_list) { // check and reassemble a newly loaded event_list // reassemply consists of matching init_event(s) to event_id's @@ -20322,53 +19708,53 @@ weed_plant_t **ptmpls; weed_plant_t **ctmpls; - weed_plant_t *event=get_first_event(event_list),*event_next; - weed_plant_t *shortcut=NULL; + weed_plant_t *event = get_first_event(event_list), *event_next; + weed_plant_t *shortcut = NULL; weed_plant_t *last_frame_event; - weed_plant_t *last_filter_map=NULL; - weed_plant_t *filter=NULL; + weed_plant_t *last_filter_map = NULL; + weed_plant_t *filter = NULL; weed_plant_t *last_event; - weed_timecode_t tc=0,last_tc=0; - weed_timecode_t last_frame_tc=-1; - weed_timecode_t last_deinit_tc=-1; - weed_timecode_t last_filter_map_tc=-1; - weed_timecode_t cur_tc=0; + weed_timecode_t tc = 0, last_tc = 0; + weed_timecode_t last_frame_tc = -1; + weed_timecode_t last_deinit_tc = -1; + weed_timecode_t last_filter_map_tc = -1; + weed_timecode_t cur_tc = 0; - char *ebuf=lives_strdup(""); + char *ebuf = lives_strdup(""); char *host_tag_s; char *filter_hash; - char *bit1=lives_strdup(""),*bit2=NULL,*bit3=lives_strdup("."),*msg; + char *bit1 = lives_strdup(""), *bit2 = NULL, *bit3 = lives_strdup("."), *msg; - int *inct,*outct; - int *clip_index,*frame_index,*aclip_index; - int *new_clip_index,*new_frame_index,*new_aclip_index; + int *inct, *outct; + int *clip_index, *frame_index, *aclip_index; + int *new_clip_index, *new_frame_index, *new_aclip_index; int hint; - int i,error,idx,filter_idx,j; + int i, error, idx, filter_idx, j; int host_tag; - int num_ctmpls,num_inct,num_outct; - int pnum,thisct; + int num_ctmpls, num_inct, num_outct; + int pnum, thisct; int num_init_events; int num_params; int pflags; - int num_tracks,num_atracks; + int num_tracks, num_atracks; int last_valid_frame; int marker_type; - int ev_count=0; + int ev_count = 0; - boolean check_filter_map=FALSE; - boolean was_deleted=FALSE; + boolean check_filter_map = FALSE; + boolean was_deleted = FALSE; boolean was_moved; - boolean missing_clips=FALSE,missing_frames=FALSE; + boolean missing_clips = FALSE, missing_frames = FALSE; void *init_event; void **new_init_events; void **in_pchanges; - void **pchains[FX_KEYS_MAX-FX_KEYS_MAX_VIRTUAL]; // parameter chains + void **pchains[FX_KEYS_MAX - FX_KEYS_MAX_VIRTUAL]; // parameter chains - double fps=weed_get_double_value(event_list,WEED_LEAF_FPS,&error); - double *aseek_index,*new_aseek_index; + double fps = weed_get_double_value(event_list, WEED_LEAF_FPS, &error); + double *aseek_index, *new_aseek_index; LiVESWidget *transient; @@ -20376,106 +19762,104 @@ uint64_t *init_events; - ttable trans_table[FX_KEYS_MAX-FX_KEYS_MAX_VIRTUAL]; // translation table for init_events + ttable trans_table[FX_KEYS_MAX - FX_KEYS_MAX_VIRTUAL]; // translation table for init_events - if (mt!=NULL) mt->layout_prompt=FALSE; + if (mt != NULL) mt->layout_prompt = FALSE; - for (i=0; i<FX_KEYS_MAX-FX_KEYS_MAX_VIRTUAL; i++) { - trans_table[i].in=0; - trans_table[i].out=NULL; + for (i = 0; i < FX_KEYS_MAX - FX_KEYS_MAX_VIRTUAL; i++) { + trans_table[i].in = 0; + trans_table[i].out = NULL; } - free_tt_key=0; + free_tt_key = 0; - atrack_list=NULL; + atrack_list = NULL; - while (event!=NULL) { - was_deleted=FALSE; - event_next=get_next_event(event); - if (!weed_plant_has_leaf(event,WEED_LEAF_TIMECODE)) { - ebuf=rec_error_add(ebuf,"Event has no timecode",weed_get_plant_type(event),-1); - delete_event(event_list,event); - event=event_next; + while (event != NULL) { + was_deleted = FALSE; + event_next = get_next_event(event); + if (!weed_plant_has_leaf(event, WEED_LEAF_TIMECODE)) { + ebuf = rec_error_add(ebuf, "Event has no timecode", weed_get_plant_type(event), -1); + delete_event(event_list, event); + event = event_next; continue; } - tc=get_event_timecode(event); - tc=q_gint64(tc+U_SEC/(2.*fps)-1,fps); - weed_set_int64_value(event,WEED_LEAF_TIMECODE,tc); - + tc = get_event_timecode(event); + tc = q_gint64(tc + U_SEC / (2.*fps) - 1, fps); + weed_set_int64_value(event, WEED_LEAF_TIMECODE, tc); ev_count++; - lives_snprintf(mainw->msg,256,"%d|",ev_count); - if ((ev_count%100)==0) threaded_dialog_spin(0.); - + lives_snprintf(mainw->msg, 256, "%d|", ev_count); + if ((ev_count % 100) == 0) threaded_dialog_spin(0.); - if (weed_get_plant_type(event)!=WEED_PLANT_EVENT) { - ebuf=rec_error_add(ebuf,"Invalid plant type",weed_get_plant_type(event),tc); - delete_event(event_list,event); - event=event_next; + if (weed_get_plant_type(event) != WEED_PLANT_EVENT) { + ebuf = rec_error_add(ebuf, "Invalid plant type", weed_get_plant_type(event), tc); + delete_event(event_list, event); + event = event_next; continue; } - if (tc<last_tc) { - ebuf=rec_error_add(ebuf,"Out of order event",-1,tc); - delete_event(event_list,event); - event=event_next; + if (tc < last_tc) { + ebuf = rec_error_add(ebuf, "Out of order event", -1, tc); + delete_event(event_list, event); + event = event_next; continue; } - if (!weed_plant_has_leaf(event,WEED_LEAF_HINT)) { - ebuf=rec_error_add(ebuf,"Event has no hint",weed_get_plant_type(event),tc); - delete_event(event_list,event); - event=event_next; + if (!weed_plant_has_leaf(event, WEED_LEAF_HINT)) { + ebuf = rec_error_add(ebuf, "Event has no hint", weed_get_plant_type(event), tc); + delete_event(event_list, event); + event = event_next; continue; } - hint=get_event_hint(event); + hint = get_event_hint(event); switch (hint) { case WEED_EVENT_HINT_FILTER_INIT: #ifdef DEBUG_TTABLE - g_print("\n\ngot filter init %p\n",event); + g_print("\n\ngot filter init %p\n", event); #endif // set in table - if (!weed_plant_has_leaf(event,WEED_LEAF_EVENT_ID)) { - ebuf=rec_error_add(ebuf,"Filter_init missing event_id",-1,tc); - delete_event(event_list,event); - was_deleted=TRUE; + if (!weed_plant_has_leaf(event, WEED_LEAF_EVENT_ID)) { + ebuf = rec_error_add(ebuf, "Filter_init missing event_id", -1, tc); + delete_event(event_list, event); + was_deleted = TRUE; } else { - if (!weed_plant_has_leaf(event,WEED_LEAF_FILTER)) { - ebuf=rec_error_add(ebuf,"Filter_init missing filter",-1,tc); - delete_event(event_list,event); - was_deleted=TRUE; + if (!weed_plant_has_leaf(event, WEED_LEAF_FILTER)) { + ebuf = rec_error_add(ebuf, "Filter_init missing filter", -1, tc); + delete_event(event_list, event); + was_deleted = TRUE; } else { - filter_hash=weed_get_string_value(event,WEED_LEAF_FILTER,&error); - if ((filter_idx=weed_get_idx_for_hashname(filter_hash,TRUE))!=-1) { - filter=get_weed_filter(filter_idx); - if (weed_plant_has_leaf(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES)) { - if (!weed_plant_has_leaf(event,WEED_LEAF_IN_COUNT)) { - ebuf=rec_error_add(ebuf,"Filter_init missing filter",-1,tc); - delete_event(event_list,event); - was_deleted=TRUE; + filter_hash = weed_get_string_value(event, WEED_LEAF_FILTER, &error); + if ((filter_idx = weed_get_idx_for_hashname(filter_hash, TRUE)) != -1) { + filter = get_weed_filter(filter_idx); + if (weed_plant_has_leaf(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES)) { + if (!weed_plant_has_leaf(event, WEED_LEAF_IN_COUNT)) { + ebuf = rec_error_add(ebuf, "Filter_init missing filter", -1, tc); + delete_event(event_list, event); + was_deleted = TRUE; } else { - num_ctmpls=weed_leaf_num_elements(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES); - num_inct=weed_leaf_num_elements(event,WEED_LEAF_IN_COUNT); - if (num_ctmpls!=num_inct) { - ebuf=rec_error_add(ebuf,"Filter_init has invalid in_count",-1,tc); - delete_event(event_list,event); - was_deleted=TRUE; + num_ctmpls = weed_leaf_num_elements(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES); + num_inct = weed_leaf_num_elements(event, WEED_LEAF_IN_COUNT); + if (num_ctmpls != num_inct) { + ebuf = rec_error_add(ebuf, "Filter_init has invalid in_count", -1, tc); + delete_event(event_list, event); + was_deleted = TRUE; } else { - inct=weed_get_int_array(event,WEED_LEAF_IN_COUNT,&error); - ctmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES,&error); - for (i=0; i<num_ctmpls; i++) { - thisct=inct[i]; - if (thisct==0&&!weed_plant_has_leaf(ctmpls[i],WEED_LEAF_OPTIONAL)) { - ebuf=rec_error_add(ebuf,"Filter_init disables a non-optional in channel",i,tc); - delete_event(event_list,event); - was_deleted=TRUE; + inct = weed_get_int_array(event, WEED_LEAF_IN_COUNT, &error); + ctmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES, &error); + for (i = 0; i < num_ctmpls; i++) { + thisct = inct[i]; + if (thisct == 0 && !weed_plant_has_leaf(ctmpls[i], WEED_LEAF_OPTIONAL)) { + ebuf = rec_error_add(ebuf, "Filter_init disables a non-optional in channel", i, tc); + delete_event(event_list, event); + was_deleted = TRUE; } else { - if (thisct>1&&(!weed_plant_has_leaf(ctmpls[i],WEED_LEAF_MAX_REPEATS)|| - (weed_get_int_value(ctmpls[i],WEED_LEAF_MAX_REPEATS,&error)>0&& - weed_get_int_value(ctmpls[i],WEED_LEAF_MAX_REPEATS,&error)<thisct))) { - ebuf=rec_error_add(ebuf,"Filter_init has too many repeats of in channel",i,tc); - delete_event(event_list,event); - was_deleted=TRUE; + if (thisct > 1 && (!weed_plant_has_leaf(ctmpls[i], WEED_LEAF_MAX_REPEATS) || + (weed_get_int_value(ctmpls[i], WEED_LEAF_MAX_REPEATS, &error) > 0 && + weed_get_int_value(ctmpls[i], WEED_LEAF_MAX_REPEATS, &error) < thisct))) { + ebuf = rec_error_add(ebuf, "Filter_init has too many repeats of in channel", i, tc); + delete_event(event_list, event); + was_deleted = TRUE; } } } @@ -20484,83 +19868,83 @@ lives_free(ctmpls); if (!was_deleted) { - num_ctmpls=weed_leaf_num_elements(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES); - num_outct=weed_leaf_num_elements(event,WEED_LEAF_OUT_COUNT); - if (num_ctmpls!=num_outct) { - ebuf=rec_error_add(ebuf,"Filter_init has invalid out_count",-1,tc); - delete_event(event_list,event); - was_deleted=TRUE; + num_ctmpls = weed_leaf_num_elements(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES); + num_outct = weed_leaf_num_elements(event, WEED_LEAF_OUT_COUNT); + if (num_ctmpls != num_outct) { + ebuf = rec_error_add(ebuf, "Filter_init has invalid out_count", -1, tc); + delete_event(event_list, event); + was_deleted = TRUE; } else { - outct=weed_get_int_array(event,WEED_LEAF_OUT_COUNT,&error); - ctmpls=weed_get_plantptr_array(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES,&error); - for (i=0; i<num_ctmpls; i++) { - thisct=outct[i]; - if (thisct==0&&!weed_plant_has_leaf(ctmpls[i],WEED_LEAF_OPTIONAL)) { - ebuf=rec_error_add(ebuf,"Filter_init disables a non-optional out channel",i,tc); - delete_event(event_list,event); - was_deleted=TRUE; + outct = weed_get_int_array(event, WEED_LEAF_OUT_COUNT, &error); + ctmpls = weed_get_plantptr_array(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES, &error); + for (i = 0; i < num_ctmpls; i++) { + thisct = outct[i]; + if (thisct == 0 && !weed_plant_has_leaf(ctmpls[i], WEED_LEAF_OPTIONAL)) { + ebuf = rec_error_add(ebuf, "Filter_init disables a non-optional out channel", i, tc); + delete_event(event_list, event); + was_deleted = TRUE; } else { - if (thisct>1&&(!weed_plant_has_leaf(ctmpls[i],WEED_LEAF_MAX_REPEATS)|| - (weed_get_int_value(ctmpls[i],WEED_LEAF_MAX_REPEATS,&error)>0&& - weed_get_int_value(ctmpls[i],WEED_LEAF_MAX_REPEATS,&error)<thisct))) { - ebuf=rec_error_add(ebuf,"Filter_init has too many repeats of out channel",i,tc); - delete_event(event_list,event); - was_deleted=TRUE; + if (thisct > 1 && (!weed_plant_has_leaf(ctmpls[i], WEED_LEAF_MAX_REPEATS) || + (weed_get_int_value(ctmpls[i], WEED_LEAF_MAX_REPEATS, &error) > 0 && + weed_get_int_value(ctmpls[i], WEED_LEAF_MAX_REPEATS, &error) < thisct))) { + ebuf = rec_error_add(ebuf, "Filter_init has too many repeats of out channel", i, tc); + delete_event(event_list, event); + was_deleted = TRUE; } else { - if (weed_plant_has_leaf(event,WEED_LEAF_IN_TRACKS)) { - int ntracks=weed_leaf_num_elements(event,WEED_LEAF_IN_TRACKS); - int *trax=weed_get_int_array(event,WEED_LEAF_IN_TRACKS,&error); - for (i=0; i<ntracks; i++) { - if (trax[i]>=0&&!has_video_chans_in(filter,FALSE)) { + if (weed_plant_has_leaf(event, WEED_LEAF_IN_TRACKS)) { + int ntracks = weed_leaf_num_elements(event, WEED_LEAF_IN_TRACKS); + int *trax = weed_get_int_array(event, WEED_LEAF_IN_TRACKS, &error); + for (i = 0; i < ntracks; i++) { + if (trax[i] >= 0 && !has_video_chans_in(filter, FALSE)) { // TODO ** inform user - if (mt!=NULL&&!mt->opts.pertrack_audio) { - lives_widget_set_sensitive(mt->fx_region_2a,TRUE); - mt->opts.pertrack_audio=TRUE; - } else force_pertrack_audio=TRUE; + if (mt != NULL && !mt->opts.pertrack_audio) { + lives_widget_set_sensitive(mt->fx_region_2a, TRUE); + mt->opts.pertrack_audio = TRUE; + } else force_pertrack_audio = TRUE; } - if (trax[i]==-1) { + if (trax[i] == -1) { // TODO ** inform user - if (mt!=NULL&&mt->opts.back_audio_tracks==0) { - mt->opts.back_audio_tracks=1; - ebuf=rec_error_add(ebuf,"Adding backing audio",-1,tc); - } else force_backing_tracks=1; + if (mt != NULL && mt->opts.back_audio_tracks == 0) { + mt->opts.back_audio_tracks = 1; + ebuf = rec_error_add(ebuf, "Adding backing audio", -1, tc); + } else force_backing_tracks = 1; } } lives_free(trax); - ntracks=weed_leaf_num_elements(event,WEED_LEAF_OUT_TRACKS); - trax=weed_get_int_array(event,WEED_LEAF_OUT_TRACKS,&error); - for (i=0; i<ntracks; i++) { - if (trax[i]>=0&&!has_video_chans_out(filter,FALSE)) { + ntracks = weed_leaf_num_elements(event, WEED_LEAF_OUT_TRACKS); + trax = weed_get_int_array(event, WEED_LEAF_OUT_TRACKS, &error); + for (i = 0; i < ntracks; i++) { + if (trax[i] >= 0 && !has_video_chans_out(filter, FALSE)) { // TODO ** inform user - if (mt!=NULL&&!mt->opts.pertrack_audio) { - lives_widget_set_sensitive(mt->fx_region_2a,TRUE); - mt->opts.pertrack_audio=TRUE; - } else force_pertrack_audio=TRUE; + if (mt != NULL && !mt->opts.pertrack_audio) { + lives_widget_set_sensitive(mt->fx_region_2a, TRUE); + mt->opts.pertrack_audio = TRUE; + } else force_pertrack_audio = TRUE; } - if (trax[i]==-1) { + if (trax[i] == -1) { // TODO ** inform user - if (mt!=NULL&&mt->opts.back_audio_tracks==0) { - mt->opts.back_audio_tracks=1; - } else force_backing_tracks=1; + if (mt != NULL && mt->opts.back_audio_tracks == 0) { + mt->opts.back_audio_tracks = 1; + } else force_backing_tracks = 1; } } lives_free(trax); } } // all tests passed - if (tc==0) { - if (mt!=NULL&&mt->avol_fx==-1) { + if (tc == 0) { + if (mt != NULL && mt->avol_fx == -1) { // check if it can be a filter delegate - LiVESList *clist=mainw->fx_candidates[FX_CANDIDATE_AUDIO_VOL].list; - while (clist!=NULL) { - if (LIVES_POINTER_TO_INT(clist->data)==filter_idx) { - mt->avol_fx=filter_idx; - mt->avol_init_event=event; + LiVESList *clist = mainw->fx_candidates[FX_CANDIDATE_AUDIO_VOL].list; + while (clist != NULL) { + if (LIVES_POINTER_TO_INT(clist->data) == filter_idx) { + mt->avol_fx = filter_idx; + mt->avol_init_event = event; break; } - clist=clist->next; + clist = clist->next; } } } @@ -20574,47 +19958,47 @@ } } } else { - lives_printerr("Layout contains unknown filter %s\n",filter_hash); - ebuf=rec_error_add(ebuf,"Layout contains unknown filter",-1,tc); - delete_event(event_list,event); - was_deleted=TRUE; - if (mt!=NULL) mt->layout_prompt=TRUE; + lives_printerr("Layout contains unknown filter %s\n", filter_hash); + ebuf = rec_error_add(ebuf, "Layout contains unknown filter", -1, tc); + delete_event(event_list, event); + was_deleted = TRUE; + if (mt != NULL) mt->layout_prompt = TRUE; } lives_free(filter_hash); if (!was_deleted) { - host_tag=get_next_tt_key(trans_table)+FX_KEYS_MAX_VIRTUAL+1; - if (host_tag==-1) { - ebuf=rec_error_add(ebuf,"Fatal: too many active effects",FX_KEYS_MAX-FX_KEYS_MAX_VIRTUAL,tc); + host_tag = get_next_tt_key(trans_table) + FX_KEYS_MAX_VIRTUAL + 1; + if (host_tag == -1) { + ebuf = rec_error_add(ebuf, "Fatal: too many active effects", FX_KEYS_MAX - FX_KEYS_MAX_VIRTUAL, tc); end_threaded_dialog(); return FALSE; } - host_tag_s=lives_strdup_printf("%d",host_tag); - weed_set_string_value(event,WEED_LEAF_HOST_TAG,host_tag_s); + host_tag_s = lives_strdup_printf("%d", host_tag); + weed_set_string_value(event, WEED_LEAF_HOST_TAG, host_tag_s); lives_free(host_tag_s); - if (weed_leaf_seed_type(event,WEED_LEAF_EVENT_ID)==WEED_SEED_INT64) - event_id=(uint64_t)(weed_get_int64_value(event,WEED_LEAF_EVENT_ID,&error)); + if (weed_leaf_seed_type(event, WEED_LEAF_EVENT_ID) == WEED_SEED_INT64) + event_id = (uint64_t)(weed_get_int64_value(event, WEED_LEAF_EVENT_ID, &error)); else - event_id=(uint64_t)((weed_plant_t *)weed_get_voidptr_value(event,WEED_LEAF_EVENT_ID,&error)); + event_id = (uint64_t)((weed_plant_t *)weed_get_voidptr_value(event, WEED_LEAF_EVENT_ID, &error)); - trans_table[(idx=host_tag-FX_KEYS_MAX_VIRTUAL-1)].in=event_id; - trans_table[idx].out=event; + trans_table[(idx = host_tag - FX_KEYS_MAX_VIRTUAL - 1)].in = event_id; + trans_table[idx].out = event; #ifdef DEBUG_TTABLE - g_print("adding lookup %"PRIu64" -> %p\n",event_id,event); + g_print("adding lookup %"PRIu64" -> %p\n", event_id, event); #endif // use pchain array - if (weed_plant_has_leaf(event,WEED_LEAF_IN_PARAMETERS)) { - num_params=weed_leaf_num_elements(event,WEED_LEAF_IN_PARAMETERS); - pchains[idx]=(void **)lives_malloc(num_params*sizeof(void *)); - in_pchanges=(void **)lives_malloc(num_params*sizeof(void *)); - for (i=0; i<num_params; i++) { - pchains[idx][i]=event; - in_pchanges[i]=NULL; + if (weed_plant_has_leaf(event, WEED_LEAF_IN_PARAMETERS)) { + num_params = weed_leaf_num_elements(event, WEED_LEAF_IN_PARAMETERS); + pchains[idx] = (void **)lives_malloc(num_params * sizeof(void *)); + in_pchanges = (void **)lives_malloc(num_params * sizeof(void *)); + for (i = 0; i < num_params; i++) { + pchains[idx][i] = event; + in_pchanges[i] = NULL; } // set all to NULL, we will re-fill as we go along - weed_leaf_delete(event,WEED_LEAF_IN_PARAMETERS); - weed_set_voidptr_array(event,WEED_LEAF_IN_PARAMETERS,num_params,in_pchanges); + weed_leaf_delete(event, WEED_LEAF_IN_PARAMETERS); + weed_set_voidptr_array(event, WEED_LEAF_IN_PARAMETERS, num_params, in_pchanges); lives_free(in_pchanges); } } @@ -20624,51 +20008,51 @@ case WEED_EVENT_HINT_FILTER_DEINIT: // update "init_event" from table, remove entry; we will check filter_map at end of tc - if (!weed_plant_has_leaf(event,WEED_LEAF_INIT_EVENT)) { - ebuf=rec_error_add(ebuf,"Filter_deinit missing init_event",-1,tc); - delete_event(event_list,event); - was_deleted=TRUE; + if (!weed_plant_has_leaf(event, WEED_LEAF_INIT_EVENT)) { + ebuf = rec_error_add(ebuf, "Filter_deinit missing init_event", -1, tc); + delete_event(event_list, event); + was_deleted = TRUE; } else { - if (weed_leaf_seed_type(event,WEED_LEAF_INIT_EVENT)==WEED_SEED_INT64) - event_id=(uint64_t)(weed_get_int64_value(event,WEED_LEAF_INIT_EVENT,&error)); + if (weed_leaf_seed_type(event, WEED_LEAF_INIT_EVENT) == WEED_SEED_INT64) + event_id = (uint64_t)(weed_get_int64_value(event, WEED_LEAF_INIT_EVENT, &error)); else - event_id=(uint64_t)((weed_plant_t *)weed_get_voidptr_value(event,WEED_LEAF_INIT_EVENT,&error)); + event_id = (uint64_t)((weed_plant_t *)weed_get_voidptr_value(event, WEED_LEAF_INIT_EVENT, &error)); #ifdef DEBUG_TTABLE - g_print("looking for %"PRIu64" in ttable\n",event_id); + g_print("looking for %"PRIu64" in ttable\n", event_id); #endif - init_event=find_init_event_in_ttable(trans_table,event_id,TRUE); + init_event = find_init_event_in_ttable(trans_table, event_id, TRUE); - if (init_event==NULL) { - ebuf=rec_error_add(ebuf,"Filter_deinit has invalid init_event",-1,tc); - delete_event(event_list,event); - was_deleted=TRUE; + if (init_event == NULL) { + ebuf = rec_error_add(ebuf, "Filter_deinit has invalid init_event", -1, tc); + delete_event(event_list, event); + was_deleted = TRUE; } else { - weed_leaf_delete((weed_plant_t *)init_event,WEED_LEAF_DEINIT_EVENT); - weed_set_voidptr_value((weed_plant_t *)init_event,WEED_LEAF_DEINIT_EVENT,event); + weed_leaf_delete((weed_plant_t *)init_event, WEED_LEAF_DEINIT_EVENT); + weed_set_voidptr_value((weed_plant_t *)init_event, WEED_LEAF_DEINIT_EVENT, event); - host_tag_s=weed_get_string_value((weed_plant_t *)init_event,WEED_LEAF_HOST_TAG,&error); - host_tag=atoi(host_tag_s); + host_tag_s = weed_get_string_value((weed_plant_t *)init_event, WEED_LEAF_HOST_TAG, &error); + host_tag = atoi(host_tag_s); lives_free(host_tag_s); - trans_table[(idx=host_tag-FX_KEYS_MAX_VIRTUAL-1)].in=0; - if (idx<free_tt_key) free_tt_key=idx; - weed_leaf_delete(event,WEED_LEAF_INIT_EVENT); - weed_set_voidptr_value(event,WEED_LEAF_INIT_EVENT,init_event); - check_filter_map=TRUE; - last_deinit_tc=tc; - - filter_hash=weed_get_string_value((weed_plant_t *)init_event,WEED_LEAF_FILTER,&error); - if ((filter_idx=weed_get_idx_for_hashname(filter_hash,TRUE))!=-1) { - filter=get_weed_filter(filter_idx); - if ((num_params=num_in_params(filter,FALSE,FALSE))>0) { - in_pchanges=(void **)lives_malloc(num_params*sizeof(void *)); - for (i=0; i<num_params; i++) { + trans_table[(idx = host_tag - FX_KEYS_MAX_VIRTUAL - 1)].in = 0; + if (idx < free_tt_key) free_tt_key = idx; + weed_leaf_delete(event, WEED_LEAF_INIT_EVENT); + weed_set_voidptr_value(event, WEED_LEAF_INIT_EVENT, init_event); + check_filter_map = TRUE; + last_deinit_tc = tc; + + filter_hash = weed_get_string_value((weed_plant_t *)init_event, WEED_LEAF_FILTER, &error); + if ((filter_idx = weed_get_idx_for_hashname(filter_hash, TRUE)) != -1) { + filter = get_weed_filter(filter_idx); + if ((num_params = num_in_params(filter, FALSE, FALSE)) > 0) { + in_pchanges = (void **)lives_malloc(num_params * sizeof(void *)); + for (i = 0; i < num_params; i++) { if (!WEED_EVENT_IS_FILTER_INIT((weed_plant_t *)pchains[idx][i])) - in_pchanges[i]=(weed_plant_t *)pchains[idx][i]; - else in_pchanges[i]=NULL; + in_pchanges[i] = (weed_plant_t *)pchains[idx][i]; + else in_pchanges[i] = NULL; } - weed_leaf_delete(event,WEED_LEAF_IN_PARAMETERS); - weed_set_voidptr_array(event,WEED_LEAF_IN_PARAMETERS,num_params,in_pchanges); // set array to last param_changes + weed_leaf_delete(event, WEED_LEAF_IN_PARAMETERS); + weed_set_voidptr_array(event, WEED_LEAF_IN_PARAMETERS, num_params, in_pchanges); // set array to last param_changes lives_free(in_pchanges); lives_free(pchains[idx]); } @@ -20679,179 +20063,178 @@ break; case WEED_EVENT_HINT_FILTER_MAP: // update "init_events" from table - if (weed_plant_has_leaf(event,WEED_LEAF_INIT_EVENTS)) { - num_init_events=weed_leaf_num_elements(event,WEED_LEAF_INIT_EVENTS); - if (weed_leaf_seed_type(event,WEED_LEAF_INIT_EVENTS)==WEED_SEED_INT64) - init_events=(uint64_t *)weed_get_int64_array(event,WEED_LEAF_INIT_EVENTS,&error); + if (weed_plant_has_leaf(event, WEED_LEAF_INIT_EVENTS)) { + num_init_events = weed_leaf_num_elements(event, WEED_LEAF_INIT_EVENTS); + if (weed_leaf_seed_type(event, WEED_LEAF_INIT_EVENTS) == WEED_SEED_INT64) + init_events = (uint64_t *)weed_get_int64_array(event, WEED_LEAF_INIT_EVENTS, &error); else { - void **pinit_events=weed_get_voidptr_array(event,WEED_LEAF_INIT_EVENTS,&error); - init_events=(uint64_t *)lives_malloc(num_init_events*sizeof(uint64_t)); - for (i=0; i<num_init_events; i++) init_events[i]=(uint64_t)pinit_events[i]; + void **pinit_events = weed_get_voidptr_array(event, WEED_LEAF_INIT_EVENTS, &error); + init_events = (uint64_t *)lives_malloc(num_init_events * sizeof(uint64_t)); + for (i = 0; i < num_init_events; i++) init_events[i] = (uint64_t)pinit_events[i]; lives_free(pinit_events); } - new_init_events=(void **)lives_malloc(num_init_events*sizeof(void *)); - for (i=0; i<num_init_events; i++) { - event_id=(uint64_t)init_events[i]; - if (event_id!=0) { + new_init_events = (void **)lives_malloc(num_init_events * sizeof(void *)); + for (i = 0; i < num_init_events; i++) { + event_id = (uint64_t)init_events[i]; + if (event_id != 0) { - init_event=find_init_event_in_ttable(trans_table,event_id,TRUE); + init_event = find_init_event_in_ttable(trans_table, event_id, TRUE); #ifdef DEBUG_TTABLE - g_print("looking for %"PRIu64" in ttable, got %p\n",event_id,init_event); + g_print("looking for %"PRIu64" in ttable, got %p\n", event_id, init_event); #endif - if (init_event==NULL) { - ebuf=rec_error_add(ebuf,"Filter_map has invalid init_event",-1,tc); - new_init_events[i]=NULL; - } else new_init_events[i]=init_event; - } else new_init_events[i]=NULL; + if (init_event == NULL) { + ebuf = rec_error_add(ebuf, "Filter_map has invalid init_event", -1, tc); + new_init_events[i] = NULL; + } else new_init_events[i] = init_event; + } else new_init_events[i] = NULL; } - new_init_events=remove_nulls_from_filter_map(new_init_events,&num_init_events); + new_init_events = remove_nulls_from_filter_map(new_init_events, &num_init_events); - weed_leaf_delete(event,WEED_LEAF_INIT_EVENTS); + weed_leaf_delete(event, WEED_LEAF_INIT_EVENTS); - if (new_init_events==NULL) weed_set_voidptr_value(event,WEED_LEAF_INIT_EVENTS,NULL); + if (new_init_events == NULL) weed_set_voidptr_value(event, WEED_LEAF_INIT_EVENTS, NULL); else { - weed_set_voidptr_array(event,WEED_LEAF_INIT_EVENTS,num_init_events,new_init_events); + weed_set_voidptr_array(event, WEED_LEAF_INIT_EVENTS, num_init_events, new_init_events); - for (i=0; i<num_init_events; i++) { + for (i = 0; i < num_init_events; i++) { if (init_event_is_process_last((weed_plant_t *)new_init_events[i])) { // reposition process_last events to the end - add_init_event_to_filter_map(event,(weed_plant_t *)new_init_events[i],NULL); + add_init_event_to_filter_map(event, (weed_plant_t *)new_init_events[i], NULL); } } lives_free(new_init_events); } lives_free(init_events); } else { - weed_set_voidptr_value(event,WEED_LEAF_INIT_EVENTS,NULL); + weed_set_voidptr_value(event, WEED_LEAF_INIT_EVENTS, NULL); } - if (last_filter_map!=NULL) { - if (compare_filter_maps(last_filter_map,event,LIVES_TRACK_ANY)) { + if (last_filter_map != NULL) { + if (compare_filter_maps(last_filter_map, event, LIVES_TRACK_ANY)) { // filter map is identical to prior one, we can remove this one - delete_event(event_list,event); - was_deleted=TRUE; + delete_event(event_list, event); + was_deleted = TRUE; } - } else if (weed_leaf_num_elements(event,WEED_LEAF_INIT_EVENTS)==1&&weed_get_voidptr_value(event,WEED_LEAF_INIT_EVENTS,&error)==NULL) { - delete_event(event_list,event); - was_deleted=TRUE; + } else if (weed_leaf_num_elements(event, WEED_LEAF_INIT_EVENTS) == 1 && + weed_get_voidptr_value(event, WEED_LEAF_INIT_EVENTS, &error) == NULL) { + delete_event(event_list, event); + was_deleted = TRUE; } - if (!was_deleted) last_filter_map=event; + if (!was_deleted) last_filter_map = event; break; case WEED_EVENT_HINT_PARAM_CHANGE: - if (!weed_plant_has_leaf(event,WEED_LEAF_INDEX)) { - ebuf=rec_error_add(ebuf,"Param_change has no index",-1,tc); - delete_event(event_list,event); - was_deleted=TRUE; + if (!weed_plant_has_leaf(event, WEED_LEAF_INDEX)) { + ebuf = rec_error_add(ebuf, "Param_change has no index", -1, tc); + delete_event(event_list, event); + was_deleted = TRUE; } else { - if (!weed_plant_has_leaf(event,WEED_LEAF_VALUE)) { - ebuf=rec_error_add(ebuf,"Param_change has no value",-1,tc); - delete_event(event_list,event); - was_deleted=TRUE; + if (!weed_plant_has_leaf(event, WEED_LEAF_VALUE)) { + ebuf = rec_error_add(ebuf, "Param_change has no value", -1, tc); + delete_event(event_list, event); + was_deleted = TRUE; } else { - if (!weed_plant_has_leaf(event,WEED_LEAF_INIT_EVENT)) { - ebuf=rec_error_add(ebuf,"Param_change has no init_event",-1,tc); - delete_event(event_list,event); - was_deleted=TRUE; + if (!weed_plant_has_leaf(event, WEED_LEAF_INIT_EVENT)) { + ebuf = rec_error_add(ebuf, "Param_change has no init_event", -1, tc); + delete_event(event_list, event); + was_deleted = TRUE; } else { - if (weed_leaf_seed_type(event,WEED_LEAF_INIT_EVENT)==WEED_SEED_INT64) - event_id=(uint64_t)(weed_get_int64_value(event,WEED_LEAF_INIT_EVENT,&error)); + if (weed_leaf_seed_type(event, WEED_LEAF_INIT_EVENT) == WEED_SEED_INT64) + event_id = (uint64_t)(weed_get_int64_value(event, WEED_LEAF_INIT_EVENT, &error)); else - event_id=(uint64_t)((weed_plant_t *)weed_get_voidptr_value(event,WEED_LEAF_INIT_EVENT,&error)); + event_id = (uint64_t)((weed_plant_t *)weed_get_voidptr_value(event, WEED_LEAF_INIT_EVENT, &error)); #ifdef DEBUG_TTABLE - g_print("pc looking for %"PRIu64" in ttable %d\n",event_id,error); + g_print("pc looking for %"PRIu64" in ttable %d\n", event_id, error); #endif - if ((init_event=find_init_event_in_ttable(trans_table,event_id,TRUE))==NULL) { - ebuf=rec_error_add(ebuf,"Param_change has invalid init_event",-1,tc); - delete_event(event_list,event); - was_deleted=TRUE; + if ((init_event = find_init_event_in_ttable(trans_table, event_id, TRUE)) == NULL) { + ebuf = rec_error_add(ebuf, "Param_change has invalid init_event", -1, tc); + delete_event(event_list, event); + was_deleted = TRUE; } else { - filter_hash=weed_get_string_value((weed_plant_t *)init_event,WEED_LEAF_FILTER,&error); - if ((filter_idx=weed_get_idx_for_hashname(filter_hash,TRUE))!=-1) { - filter=get_weed_filter(filter_idx); - pnum=weed_get_int_value(event,WEED_LEAF_INDEX,&error); - if (pnum<0||pnum>=(num_params=num_in_params(filter,FALSE,FALSE))) { - ebuf=rec_error_add(ebuf,"Param_change has invalid index",pnum,tc); - delete_event(event_list,event); - was_deleted=TRUE; + filter_hash = weed_get_string_value((weed_plant_t *)init_event, WEED_LEAF_FILTER, &error); + if ((filter_idx = weed_get_idx_for_hashname(filter_hash, TRUE)) != -1) { + filter = get_weed_filter(filter_idx); + pnum = weed_get_int_value(event, WEED_LEAF_INDEX, &error); + if (pnum < 0 || pnum >= (num_params = num_in_params(filter, FALSE, FALSE))) { + ebuf = rec_error_add(ebuf, "Param_change has invalid index", pnum, tc); + delete_event(event_list, event); + was_deleted = TRUE; } else { - ptmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); - if (!weed_plant_has_leaf(event,WEED_LEAF_VALUE)) { - ebuf=rec_error_add(ebuf,"Param_change has no value with index",pnum,tc); - delete_event(event_list,event); - was_deleted=TRUE; + ptmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); + if (!weed_plant_has_leaf(event, WEED_LEAF_VALUE)) { + ebuf = rec_error_add(ebuf, "Param_change has no value with index", pnum, tc); + delete_event(event_list, event); + was_deleted = TRUE; } else { - if (weed_leaf_seed_type(event,WEED_LEAF_VALUE)!=weed_leaf_seed_type(ptmpls[pnum],WEED_LEAF_DEFAULT)) { - ebuf=rec_error_add(ebuf,"Param_change has invalid seed type with index",pnum,tc); - delete_event(event_list,event); - was_deleted=TRUE; + if (weed_leaf_seed_type(event, WEED_LEAF_VALUE) != weed_leaf_seed_type(ptmpls[pnum], WEED_LEAF_DEFAULT)) { + ebuf = rec_error_add(ebuf, "Param_change has invalid seed type with index", pnum, tc); + delete_event(event_list, event); + was_deleted = TRUE; } else { - pflags=weed_get_int_value(ptmpls[pnum],WEED_LEAF_FLAGS,&error); - if (pflags&WEED_PARAMETER_REINIT_ON_VALUE_CHANGE&&! - is_init_pchange((weed_plant_t *)init_event,event)) { + pflags = weed_get_int_value(ptmpls[pnum], WEED_LEAF_FLAGS, &error); + if (pflags & WEED_PARAMETER_REINIT_ON_VALUE_CHANGE && ! + is_init_pchange((weed_plant_t *)init_event, event)) { // check we are not changing a reinit param, unless we immediately follow the filter_init event - ebuf=rec_error_add(ebuf,"Param_change sets a reinit parameter",pnum,tc); - delete_event(event_list,event); - was_deleted=TRUE; + ebuf = rec_error_add(ebuf, "Param_change sets a reinit parameter", pnum, tc); + delete_event(event_list, event); + was_deleted = TRUE; } else { // all checks passed - host_tag_s=weed_get_string_value((weed_plant_t *)init_event,WEED_LEAF_HOST_TAG,&error); - host_tag=atoi(host_tag_s); + host_tag_s = weed_get_string_value((weed_plant_t *)init_event, WEED_LEAF_HOST_TAG, &error); + host_tag = atoi(host_tag_s); lives_free(host_tag_s); - idx=host_tag-FX_KEYS_MAX_VIRTUAL-1; + idx = host_tag - FX_KEYS_MAX_VIRTUAL - 1; - if (pchains[idx][pnum]==init_event) { - if (weed_leaf_seed_type((weed_plant_t *)init_event,WEED_LEAF_IN_PARAMETERS)==WEED_SEED_INT64) { + if (pchains[idx][pnum] == init_event) { + if (weed_leaf_seed_type((weed_plant_t *)init_event, WEED_LEAF_IN_PARAMETERS) == WEED_SEED_INT64) { // leave as int64_t and we will change afterwards - uint64_t *orig_pchanges=(uint64_t *)weed_get_int64_array((weed_plant_t *)init_event, - WEED_LEAF_IN_PARAMETERS,&error); + uint64_t *orig_pchanges = (uint64_t *)weed_get_int64_array((weed_plant_t *)init_event, + WEED_LEAF_IN_PARAMETERS, &error); - uint64_t *pin_pchanges=(uint64_t *)lives_malloc(num_params*sizeof(uint64_t)); + uint64_t *pin_pchanges = (uint64_t *)lives_malloc(num_params * sizeof(uint64_t)); - for (i=0; i<num_params; i++) { - if (orig_pchanges[i]==0&&i==pnum) pin_pchanges[i]=(uint64_t)event; - else pin_pchanges[i]=(uint64_t)orig_pchanges[i]; + for (i = 0; i < num_params; i++) { + if (orig_pchanges[i] == 0 && i == pnum) pin_pchanges[i] = (uint64_t)event; + else pin_pchanges[i] = (uint64_t)orig_pchanges[i]; } - weed_leaf_delete((weed_plant_t *)init_event,WEED_LEAF_IN_PARAMETERS); - weed_set_int64_array((weed_plant_t *)init_event,WEED_LEAF_IN_PARAMETERS,num_params, + weed_leaf_delete((weed_plant_t *)init_event, WEED_LEAF_IN_PARAMETERS); + weed_set_int64_array((weed_plant_t *)init_event, WEED_LEAF_IN_PARAMETERS, num_params, (int64_t *)pin_pchanges); lives_free(pin_pchanges); lives_free(orig_pchanges); - } else { - void **orig_pchanges=weed_get_voidptr_array((weed_plant_t *)init_event, - WEED_LEAF_IN_PARAMETERS,&error); - void **pin_pchanges=(void **)lives_malloc(num_params*sizeof(void *)); - - for (i=0; i<num_params; i++) { - if (orig_pchanges[i]==NULL&&i==pnum) pin_pchanges[i]=(void *)event; - else pin_pchanges[i]=(void *)orig_pchanges[i]; + void **orig_pchanges = weed_get_voidptr_array((weed_plant_t *)init_event, + WEED_LEAF_IN_PARAMETERS, &error); + void **pin_pchanges = (void **)lives_malloc(num_params * sizeof(void *)); + + for (i = 0; i < num_params; i++) { + if (orig_pchanges[i] == NULL && i == pnum) pin_pchanges[i] = (void *)event; + else pin_pchanges[i] = (void *)orig_pchanges[i]; } - weed_leaf_delete((weed_plant_t *)init_event,WEED_LEAF_IN_PARAMETERS); - weed_set_voidptr_array((weed_plant_t *)init_event,WEED_LEAF_IN_PARAMETERS,num_params,pin_pchanges); + weed_leaf_delete((weed_plant_t *)init_event, WEED_LEAF_IN_PARAMETERS); + weed_set_voidptr_array((weed_plant_t *)init_event, WEED_LEAF_IN_PARAMETERS, num_params, pin_pchanges); lives_free(pin_pchanges); lives_free(orig_pchanges); - } - weed_leaf_delete(event,WEED_LEAF_PREV_CHANGE); - weed_set_voidptr_value(event,WEED_LEAF_PREV_CHANGE,NULL); + weed_leaf_delete(event, WEED_LEAF_PREV_CHANGE); + weed_set_voidptr_value(event, WEED_LEAF_PREV_CHANGE, NULL); } else { - weed_leaf_delete(event,WEED_LEAF_NEXT_CHANGE); - weed_set_voidptr_value((weed_plant_t *)pchains[idx][pnum],WEED_LEAF_NEXT_CHANGE,event); - weed_leaf_delete(event,WEED_LEAF_PREV_CHANGE); - weed_set_voidptr_value(event,WEED_LEAF_PREV_CHANGE,pchains[idx][pnum]); + weed_leaf_delete(event, WEED_LEAF_NEXT_CHANGE); + weed_set_voidptr_value((weed_plant_t *)pchains[idx][pnum], WEED_LEAF_NEXT_CHANGE, event); + weed_leaf_delete(event, WEED_LEAF_PREV_CHANGE); + weed_set_voidptr_value(event, WEED_LEAF_PREV_CHANGE, pchains[idx][pnum]); } - weed_leaf_delete(event,WEED_LEAF_NEXT_CHANGE); - weed_set_voidptr_value(event,WEED_LEAF_NEXT_CHANGE,NULL); - weed_leaf_delete(event,WEED_LEAF_INIT_EVENT); - weed_set_voidptr_value(event,WEED_LEAF_INIT_EVENT,init_event); - pchains[idx][pnum]=event; + weed_leaf_delete(event, WEED_LEAF_NEXT_CHANGE); + weed_set_voidptr_value(event, WEED_LEAF_NEXT_CHANGE, NULL); + weed_leaf_delete(event, WEED_LEAF_INIT_EVENT); + weed_set_voidptr_value(event, WEED_LEAF_INIT_EVENT, init_event); + pchains[idx][pnum] = event; } } } @@ -20865,97 +20248,96 @@ } break; case WEED_EVENT_HINT_FRAME: - if (tc==last_frame_tc) { - ebuf=rec_error_add(ebuf,"Duplicate frame event",-1,tc); - delete_event(event_list,event); - was_deleted=TRUE; + if (tc == last_frame_tc) { + ebuf = rec_error_add(ebuf, "Duplicate frame event", -1, tc); + delete_event(event_list, event); + was_deleted = TRUE; } else { - if (!weed_plant_has_leaf(event,WEED_LEAF_CLIPS)) { - weed_set_int_value(event,WEED_LEAF_CLIPS,-1); - weed_set_int_value(event,WEED_LEAF_FRAMES,0); - ebuf=rec_error_add(ebuf,"Frame event missing clips at",-1,tc); + if (!weed_plant_has_leaf(event, WEED_LEAF_CLIPS)) { + weed_set_int_value(event, WEED_LEAF_CLIPS, -1); + weed_set_int_value(event, WEED_LEAF_FRAMES, 0); + ebuf = rec_error_add(ebuf, "Frame event missing clips at", -1, tc); } - last_frame_tc=tc; + last_frame_tc = tc; - num_tracks=weed_leaf_num_elements(event,WEED_LEAF_CLIPS); - clip_index=weed_get_int_array(event,WEED_LEAF_CLIPS,&error); - frame_index=weed_get_int_array(event,WEED_LEAF_FRAMES,&error); + num_tracks = weed_leaf_num_elements(event, WEED_LEAF_CLIPS); + clip_index = weed_get_int_array(event, WEED_LEAF_CLIPS, &error); + frame_index = weed_get_int_array(event, WEED_LEAF_FRAMES, &error); - new_clip_index=(int *)lives_malloc(num_tracks*sizint); - new_frame_index=(int *)lives_malloc(num_tracks*sizint); - last_valid_frame=0; + new_clip_index = (int *)lives_malloc(num_tracks * sizint); + new_frame_index = (int *)lives_malloc(num_tracks * sizint); + last_valid_frame = 0; //#define DEBUG_MISSING_CLIPS #ifdef DEBUG_MISSING_CLIPS - g_print("pt zzz %d\n",num_tracks); + g_print("pt zzz %d\n", num_tracks); #endif - for (i=0; i<num_tracks; i++) { - if (clip_index[i]>0&&(clip_index[i]>MAX_FILES||renumbered_clips[clip_index[i]]<1|| - mainw->files[renumbered_clips[clip_index[i]]]==NULL)) { + for (i = 0; i < num_tracks; i++) { + if (clip_index[i] > 0 && (clip_index[i] > MAX_FILES || renumbered_clips[clip_index[i]] < 1 || + mainw->files[renumbered_clips[clip_index[i]]] == NULL)) { // clip has probably been closed, so we remove its frames - new_clip_index[i]=-1; - new_frame_index[i]=0; - ebuf=rec_error_add(ebuf,"Invalid clip number",clip_index[i],tc); + new_clip_index[i] = -1; + new_frame_index[i] = 0; + ebuf = rec_error_add(ebuf, "Invalid clip number", clip_index[i], tc); #ifdef DEBUG_MISSING_CLIPS - g_print("found invalid clip number %d on track %d, renumbered_clips=%d\n",clip_index[i],i, + g_print("found invalid clip number %d on track %d, renumbered_clips=%d\n", clip_index[i], i, renumbered_clips[clip_index[i]]); #endif - missing_clips=TRUE; + missing_clips = TRUE; } else { // take into account the fact that clip could have been resampled since layout was saved - if (clip_index[i]>0&&frame_index[i]>0) { - new_frame_index[i]=count_resampled_frames(frame_index[i],lfps[renumbered_clips[clip_index[i]]], - mainw->files[renumbered_clips[clip_index[i]]]->fps); - if (new_frame_index[i]>mainw->files[renumbered_clips[clip_index[i]]]->frames) { - ebuf=rec_error_add(ebuf,"Invalid frame number",new_frame_index[i],tc); - new_clip_index[i]=-1; - new_frame_index[i]=0; - missing_frames=TRUE; + if (clip_index[i] > 0 && frame_index[i] > 0) { + new_frame_index[i] = count_resampled_frames(frame_index[i], lfps[renumbered_clips[clip_index[i]]], + mainw->files[renumbered_clips[clip_index[i]]]->fps); + if (new_frame_index[i] > mainw->files[renumbered_clips[clip_index[i]]]->frames) { + ebuf = rec_error_add(ebuf, "Invalid frame number", new_frame_index[i], tc); + new_clip_index[i] = -1; + new_frame_index[i] = 0; + missing_frames = TRUE; } else { - new_clip_index[i]=clip_index[i]; - new_frame_index[i]=frame_index[i]; - last_valid_frame=i+1; + new_clip_index[i] = clip_index[i]; + new_frame_index[i] = frame_index[i]; + last_valid_frame = i + 1; } } else { - new_clip_index[i]=clip_index[i]; - new_frame_index[i]=frame_index[i]; - last_valid_frame=i+1; + new_clip_index[i] = clip_index[i]; + new_frame_index[i] = frame_index[i]; + last_valid_frame = i + 1; } } } - if (last_valid_frame==0) { + if (last_valid_frame == 0) { lives_free(new_clip_index); lives_free(new_frame_index); - new_clip_index=(int *)lives_malloc(sizint); - new_frame_index=(int *)lives_malloc(sizint); - *new_clip_index=-1; - *new_frame_index=0; - num_tracks=1; - weed_set_int_array(event,WEED_LEAF_CLIPS,num_tracks,new_clip_index); - weed_set_int_array(event,WEED_LEAF_FRAMES,num_tracks,new_frame_index); + new_clip_index = (int *)lives_malloc(sizint); + new_frame_index = (int *)lives_malloc(sizint); + *new_clip_index = -1; + *new_frame_index = 0; + num_tracks = 1; + weed_set_int_array(event, WEED_LEAF_CLIPS, num_tracks, new_clip_index); + weed_set_int_array(event, WEED_LEAF_FRAMES, num_tracks, new_frame_index); } else { - if (last_valid_frame<num_tracks) { + if (last_valid_frame < num_tracks) { lives_free(clip_index); lives_free(frame_index); - clip_index=(int *)lives_malloc(last_valid_frame*sizint); - frame_index=(int *)lives_malloc(last_valid_frame*sizint); - for (i=0; i<last_valid_frame; i++) { - clip_index[i]=new_clip_index[i]; - frame_index[i]=new_frame_index[i]; + clip_index = (int *)lives_malloc(last_valid_frame * sizint); + frame_index = (int *)lives_malloc(last_valid_frame * sizint); + for (i = 0; i < last_valid_frame; i++) { + clip_index[i] = new_clip_index[i]; + frame_index[i] = new_frame_index[i]; } - num_tracks=last_valid_frame; - weed_set_int_array(event,WEED_LEAF_CLIPS,num_tracks,clip_index); - weed_set_int_array(event,WEED_LEAF_FRAMES,num_tracks,frame_index); + num_tracks = last_valid_frame; + weed_set_int_array(event, WEED_LEAF_CLIPS, num_tracks, clip_index); + weed_set_int_array(event, WEED_LEAF_FRAMES, num_tracks, frame_index); } else { - weed_set_int_array(event,WEED_LEAF_CLIPS,num_tracks,new_clip_index); - weed_set_int_array(event,WEED_LEAF_FRAMES,num_tracks,new_frame_index); + weed_set_int_array(event, WEED_LEAF_CLIPS, num_tracks, new_clip_index); + weed_set_int_array(event, WEED_LEAF_FRAMES, num_tracks, new_frame_index); } } - lives_free(new_clip_index); lives_free(clip_index); lives_free(new_frame_index); @@ -20963,62 +20345,62 @@ if (WEED_EVENT_IS_AUDIO_FRAME(event)) { // check audio clips - num_atracks=weed_leaf_num_elements(event,WEED_LEAF_AUDIO_CLIPS); - if (num_atracks%2!=0) { - ebuf=rec_error_add(ebuf,"Invalid number of audio_clips",-1,tc); - weed_leaf_delete(event,WEED_LEAF_AUDIO_CLIPS); - weed_leaf_delete(event,WEED_LEAF_AUDIO_SEEKS); + num_atracks = weed_leaf_num_elements(event, WEED_LEAF_AUDIO_CLIPS); + if (num_atracks % 2 != 0) { + ebuf = rec_error_add(ebuf, "Invalid number of audio_clips", -1, tc); + weed_leaf_delete(event, WEED_LEAF_AUDIO_CLIPS); + weed_leaf_delete(event, WEED_LEAF_AUDIO_SEEKS); } else { - if (!weed_plant_has_leaf(event,WEED_LEAF_AUDIO_SEEKS)||weed_leaf_num_elements(event,WEED_LEAF_AUDIO_SEEKS)!=num_atracks) { - ebuf=rec_error_add(ebuf,"Invalid number of audio_seeks",-1,tc); - weed_leaf_delete(event,WEED_LEAF_AUDIO_CLIPS); - weed_leaf_delete(event,WEED_LEAF_AUDIO_SEEKS); + if (!weed_plant_has_leaf(event, WEED_LEAF_AUDIO_SEEKS) || weed_leaf_num_elements(event, WEED_LEAF_AUDIO_SEEKS) != num_atracks) { + ebuf = rec_error_add(ebuf, "Invalid number of audio_seeks", -1, tc); + weed_leaf_delete(event, WEED_LEAF_AUDIO_CLIPS); + weed_leaf_delete(event, WEED_LEAF_AUDIO_SEEKS); } else { - aclip_index=weed_get_int_array(event,WEED_LEAF_AUDIO_CLIPS,&error); - aseek_index=weed_get_double_array(event,WEED_LEAF_AUDIO_SEEKS,&error); - new_aclip_index=(int *)lives_malloc(num_atracks*sizint); - new_aseek_index=(double *)lives_malloc(num_atracks*sizdbl); - j=0; - for (i=0; i<num_atracks; i+=2) { - if (aclip_index[i+1]>0) { - if ((aclip_index[i+1]>MAX_FILES||renumbered_clips[aclip_index[i+1]]<1|| - mainw->files[renumbered_clips[aclip_index[i+1]]]==NULL)&&aseek_index[i+1]!=0.) { + aclip_index = weed_get_int_array(event, WEED_LEAF_AUDIO_CLIPS, &error); + aseek_index = weed_get_double_array(event, WEED_LEAF_AUDIO_SEEKS, &error); + new_aclip_index = (int *)lives_malloc(num_atracks * sizint); + new_aseek_index = (double *)lives_malloc(num_atracks * sizdbl); + j = 0; + for (i = 0; i < num_atracks; i += 2) { + if (aclip_index[i + 1] > 0) { + if ((aclip_index[i + 1] > MAX_FILES || renumbered_clips[aclip_index[i + 1]] < 1 || + mainw->files[renumbered_clips[aclip_index[i + 1]]] == NULL) && aseek_index[i + 1] != 0.) { // clip has probably been closed, so we remove its frames - ebuf=rec_error_add(ebuf,"Invalid audio clip number",aclip_index[i+1],tc); - missing_clips=TRUE; + ebuf = rec_error_add(ebuf, "Invalid audio clip number", aclip_index[i + 1], tc); + missing_clips = TRUE; } else { - new_aclip_index[j]=aclip_index[i]; - new_aclip_index[j+1]=aclip_index[i+1]; - new_aseek_index[j]=aseek_index[i]; - new_aseek_index[j+1]=aseek_index[i+1]; - if (aseek_index[j+1]!=0.) add_atrack_to_list(aclip_index[i],aclip_index[i+1]); + new_aclip_index[j] = aclip_index[i]; + new_aclip_index[j + 1] = aclip_index[i + 1]; + new_aseek_index[j] = aseek_index[i]; + new_aseek_index[j + 1] = aseek_index[i + 1]; + if (aseek_index[j + 1] != 0.) add_atrack_to_list(aclip_index[i], aclip_index[i + 1]); else remove_atrack_from_list(aclip_index[i]); - j+=2; + j += 2; } } - if (aclip_index[i]>-1) { - if (mt!=NULL&&!mt->opts.pertrack_audio) { - mt->opts.pertrack_audio=TRUE; + if (aclip_index[i] > -1) { + if (mt != NULL && !mt->opts.pertrack_audio) { + mt->opts.pertrack_audio = TRUE; // enable audio transitions - lives_widget_set_sensitive(mt->fx_region_2a,TRUE); - ebuf=rec_error_add(ebuf,"Adding pertrack audio",-1,tc); - } else force_pertrack_audio=TRUE; + lives_widget_set_sensitive(mt->fx_region_2a, TRUE); + ebuf = rec_error_add(ebuf, "Adding pertrack audio", -1, tc); + } else force_pertrack_audio = TRUE; // TODO ** inform user } - if (aclip_index[i]==-1) { - if (mt!=NULL&&mt->opts.back_audio_tracks==0) { - mt->opts.back_audio_tracks=1; - ebuf=rec_error_add(ebuf,"Adding backing audio",-1,tc); - } else force_backing_tracks=1; + if (aclip_index[i] == -1) { + if (mt != NULL && mt->opts.back_audio_tracks == 0) { + mt->opts.back_audio_tracks = 1; + ebuf = rec_error_add(ebuf, "Adding backing audio", -1, tc); + } else force_backing_tracks = 1; // TODO ** inform user } } - if (j==0) { - weed_leaf_delete(event,WEED_LEAF_AUDIO_CLIPS); - weed_leaf_delete(event,WEED_LEAF_AUDIO_SEEKS); + if (j == 0) { + weed_leaf_delete(event, WEED_LEAF_AUDIO_CLIPS); + weed_leaf_delete(event, WEED_LEAF_AUDIO_SEEKS); } else { - weed_set_int_array(event,WEED_LEAF_AUDIO_CLIPS,j,new_aclip_index); - weed_set_double_array(event,WEED_LEAF_AUDIO_SEEKS,j,new_aseek_index); + weed_set_int_array(event, WEED_LEAF_AUDIO_CLIPS, j, new_aclip_index); + weed_set_double_array(event, WEED_LEAF_AUDIO_SEEKS, j, new_aseek_index); } lives_free(aclip_index); lives_free(aseek_index); @@ -21031,70 +20413,70 @@ break; case WEED_EVENT_HINT_MARKER: // check marker values - if (!weed_plant_has_leaf(event,WEED_LEAF_LIVES_TYPE)) { - ebuf=rec_error_add(ebuf,"Unknown marker type",-1,tc); - delete_event(event_list,event); - was_deleted=TRUE; + if (!weed_plant_has_leaf(event, WEED_LEAF_LIVES_TYPE)) { + ebuf = rec_error_add(ebuf, "Unknown marker type", -1, tc); + delete_event(event_list, event); + was_deleted = TRUE; } else { - marker_type=weed_get_int_value(event,WEED_LEAF_LIVES_TYPE,&error); - if (marker_type!=EVENT_MARKER_BLOCK_START&&marker_type!=EVENT_MARKER_BLOCK_UNORDERED&& - marker_type!=EVENT_MARKER_RECORD_END&&marker_type!=EVENT_MARKER_RECORD_START) { - ebuf=rec_error_add(ebuf,"Unknown marker type",marker_type,tc); - delete_event(event_list,event); - was_deleted=TRUE; - } - if (marker_type==EVENT_MARKER_BLOCK_START&&!weed_plant_has_leaf(event,WEED_LEAF_TRACKS)) { - ebuf=rec_error_add(ebuf,"Block start marker has no tracks",-1,tc); - delete_event(event_list,event); - was_deleted=TRUE; + marker_type = weed_get_int_value(event, WEED_LEAF_LIVES_TYPE, &error); + if (marker_type != EVENT_MARKER_BLOCK_START && marker_type != EVENT_MARKER_BLOCK_UNORDERED && + marker_type != EVENT_MARKER_RECORD_END && marker_type != EVENT_MARKER_RECORD_START) { + ebuf = rec_error_add(ebuf, "Unknown marker type", marker_type, tc); + delete_event(event_list, event); + was_deleted = TRUE; + } + if (marker_type == EVENT_MARKER_BLOCK_START && !weed_plant_has_leaf(event, WEED_LEAF_TRACKS)) { + ebuf = rec_error_add(ebuf, "Block start marker has no tracks", -1, tc); + delete_event(event_list, event); + was_deleted = TRUE; } } break; default: - ebuf=rec_error_add(ebuf,"Invalid hint",hint,tc); - delete_event(event_list,event); - was_deleted=TRUE; + ebuf = rec_error_add(ebuf, "Invalid hint", hint, tc); + delete_event(event_list, event); + was_deleted = TRUE; } - if (!was_deleted&&check_filter_map&&last_filter_map!=NULL&&\ - (event_next==NULL||get_event_timecode(event_next)>last_deinit_tc)) { + if (!was_deleted && check_filter_map && last_filter_map != NULL && \ + (event_next == NULL || get_event_timecode(event_next) > last_deinit_tc)) { // if our last filter_map refers to filter instances which were deinited, we must add another filter_map here - ebuf=filter_map_check(trans_table,last_filter_map,last_deinit_tc,tc,ebuf); - check_filter_map=FALSE; + ebuf = filter_map_check(trans_table, last_filter_map, last_deinit_tc, tc, ebuf); + check_filter_map = FALSE; } - event=event_next; + event = event_next; if (!was_deleted) { - while (cur_tc<last_frame_tc) { + while (cur_tc < last_frame_tc) { // add blank frames - if (!has_frame_event_at(event_list,cur_tc,&shortcut)) { - if (shortcut!=NULL) { - shortcut=duplicate_frame_at(event_list,shortcut,cur_tc); - ebuf=rec_error_add(ebuf,"Duplicated frame at",-1,cur_tc); + if (!has_frame_event_at(event_list, cur_tc, &shortcut)) { + if (shortcut != NULL) { + shortcut = duplicate_frame_at(event_list, shortcut, cur_tc); + ebuf = rec_error_add(ebuf, "Duplicated frame at", -1, cur_tc); } else { - event_list=insert_blank_frame_event_at(event_list,cur_tc,&shortcut); - ebuf=rec_error_add(ebuf,"Inserted missing blank frame",-1,cur_tc); + event_list = insert_blank_frame_event_at(event_list, cur_tc, &shortcut); + ebuf = rec_error_add(ebuf, "Inserted missing blank frame", -1, cur_tc); } } - cur_tc+=U_SEC/fps; - cur_tc=q_gint64(cur_tc,fps); + cur_tc += U_SEC / fps; + cur_tc = q_gint64(cur_tc, fps); } - last_tc=tc; + last_tc = tc; } } // add any missing filter_deinit events - ebuf=add_filter_deinits(event_list,trans_table,pchains,last_tc,ebuf); + ebuf = add_filter_deinits(event_list, trans_table, pchains, last_tc, ebuf); // check the last filter map - if (last_filter_map!=NULL) ebuf=add_null_filter_map(event_list,last_filter_map,last_tc,ebuf); + if (last_filter_map != NULL) ebuf = add_null_filter_map(event_list, last_filter_map, last_tc, ebuf); - last_event=get_last_event(event_list); - remove_end_blank_frames(event_list,TRUE); + last_event = get_last_event(event_list); + remove_end_blank_frames(event_list, TRUE); - if (get_last_event(event_list)!=last_event) { - last_event=get_last_event(event_list); - last_tc=get_event_timecode(last_event); - ebuf=rec_error_add(ebuf,"Removed final blank frames",-1,last_tc); + if (get_last_event(event_list) != last_event) { + last_event = get_last_event(event_list); + last_tc = get_event_timecode(last_event); + ebuf = rec_error_add(ebuf, "Removed final blank frames", -1, last_tc); } @@ -21102,423 +20484,414 @@ // ensure we have at most 1 FILTER_MAP before each FRAME, and 1 FILTER_MAP after a FRAME // we do this as a second pass since we may have inserted blank frames - last_frame_tc=last_filter_map_tc=-1; - last_frame_event=NULL; + last_frame_tc = last_filter_map_tc = -1; + last_frame_event = NULL; - event=get_first_event(event_list); - while (event!=NULL) { - was_moved=FALSE; - event_next=get_next_event(event); - tc=get_event_timecode(event); - hint=get_event_hint(event); + event = get_first_event(event_list); + while (event != NULL) { + was_moved = FALSE; + event_next = get_next_event(event); + tc = get_event_timecode(event); + hint = get_event_hint(event); switch (hint) { case WEED_EVENT_HINT_FILTER_INIT: // if our in_parameters are int64, convert to void * - if (weed_plant_has_leaf(event,WEED_LEAF_IN_PARAMETERS)) { + if (weed_plant_has_leaf(event, WEED_LEAF_IN_PARAMETERS)) { uint64_t *pin_params; void **nin_params; - num_params=weed_leaf_num_elements(event,WEED_LEAF_IN_PARAMETERS); + num_params = weed_leaf_num_elements(event, WEED_LEAF_IN_PARAMETERS); - if (weed_leaf_seed_type(event,WEED_LEAF_IN_PARAMETERS)==WEED_SEED_INT64) { - pin_params=(uint64_t *)weed_get_int64_array(event,WEED_LEAF_IN_PARAMETERS,&error); - nin_params=(void **)lives_malloc(num_params*sizeof(void *)); - for (i=0; i<num_params; i++) { - nin_params[i]=(void *)pin_params[i]; + if (weed_leaf_seed_type(event, WEED_LEAF_IN_PARAMETERS) == WEED_SEED_INT64) { + pin_params = (uint64_t *)weed_get_int64_array(event, WEED_LEAF_IN_PARAMETERS, &error); + nin_params = (void **)lives_malloc(num_params * sizeof(void *)); + for (i = 0; i < num_params; i++) { + nin_params[i] = (void *)pin_params[i]; } lives_free(pin_params); - weed_leaf_delete(event,WEED_LEAF_IN_PARAMETERS); - weed_set_voidptr_array(event,WEED_LEAF_IN_PARAMETERS,num_params,nin_params); + weed_leaf_delete(event, WEED_LEAF_IN_PARAMETERS); + weed_set_voidptr_array(event, WEED_LEAF_IN_PARAMETERS, num_params, nin_params); lives_free(nin_params); } - filter_hash=weed_get_string_value(event,WEED_LEAF_FILTER,&error); - if ((filter_idx=weed_get_idx_for_hashname(filter_hash,TRUE))!=-1) { + filter_hash = weed_get_string_value(event, WEED_LEAF_FILTER, &error); + if ((filter_idx = weed_get_idx_for_hashname(filter_hash, TRUE)) != -1) { void **pchain; - filter=get_weed_filter(filter_idx); + filter = get_weed_filter(filter_idx); // fill in any newly added params - num_tracks=weed_leaf_num_elements(event,WEED_LEAF_IN_TRACKS); - pchain=filter_init_add_pchanges(event_list,filter,event,num_tracks,num_params); + num_tracks = weed_leaf_num_elements(event, WEED_LEAF_IN_TRACKS); + pchain = filter_init_add_pchanges(event_list, filter, event, num_tracks, num_params); lives_free(pchain); } } - if (mt!=NULL&&event!=mt->avol_init_event) { - if (!move_event_right(event_list,event,last_frame_tc!=tc,fps)) was_moved=TRUE; + if (mt != NULL && event != mt->avol_init_event) { + if (!move_event_right(event_list, event, last_frame_tc != tc, fps)) was_moved = TRUE; } break; case WEED_EVENT_HINT_PARAM_CHANGE: - if (last_frame_tc==tc) if (!move_event_right(event_list,event,FALSE,fps)) was_moved=TRUE; + if (last_frame_tc == tc) if (!move_event_right(event_list, event, FALSE, fps)) was_moved = TRUE; break; case WEED_EVENT_HINT_FILTER_DEINIT: - if (mt!=NULL&&weed_get_voidptr_value(event,WEED_LEAF_INIT_EVENT,&error)!=mt->avol_init_event) { - if (!move_event_left(event_list,event,last_frame_tc==tc,fps)) was_moved=TRUE; + if (mt != NULL && weed_get_voidptr_value(event, WEED_LEAF_INIT_EVENT, &error) != mt->avol_init_event) { + if (!move_event_left(event_list, event, last_frame_tc == tc, fps)) was_moved = TRUE; } break; case WEED_EVENT_HINT_FILTER_MAP: - if (last_filter_map_tc==tc) { + if (last_filter_map_tc == tc) { // remove last filter_map - ebuf=rec_error_add(ebuf,"Duplicate filter maps",-1,tc); - delete_event(event_list,last_filter_map); + ebuf = rec_error_add(ebuf, "Duplicate filter maps", -1, tc); + delete_event(event_list, last_filter_map); } - last_filter_map_tc=tc; - last_filter_map=event; + last_filter_map_tc = tc; + last_filter_map = event; break; case WEED_EVENT_HINT_FRAME: - last_frame_tc=tc; - last_filter_map_tc=-1; - last_frame_event=event; + last_frame_tc = tc; + last_filter_map_tc = -1; + last_frame_event = event; break; } if (was_moved) { - if (last_frame_event!=NULL) event=last_frame_event; - else event=get_first_event(event_list); - } else event=event_next; + if (last_frame_event != NULL) event = last_frame_event; + else event = get_first_event(event_list); + } else event = event_next; } - ebuf=add_missing_atrack_closers(event_list,fps,ebuf); + ebuf = add_missing_atrack_closers(event_list, fps, ebuf); - if (mt==NULL) transient=mainw->LiVES; - else transient=mt->window; + if (mt == NULL) transient = mainw->LiVES; + else transient = mt->window; - if (missing_clips&&missing_frames) { - bit2=lives_strdup(_("clips and frames")); + if (missing_clips && missing_frames) { + bit2 = lives_strdup(_("clips and frames")); } else { if (missing_clips) { - bit2=lives_strdup(_("clips")); + bit2 = lives_strdup(_("clips")); } else if (missing_frames) { - bit2=lives_strdup(_("frames")); + bit2 = lives_strdup(_("frames")); } } end_threaded_dialog(); - if (bit2!=NULL) { - if (mt!=NULL&&mt->auto_reloading) { + if (bit2 != NULL) { + if (mt != NULL && mt->auto_reloading) { lives_free(bit1); lives_free(bit3); - bit1=lives_strdup(_("\nAuto reload layout.\n")); - bit3=lives_strdup_printf("\n%s",prefs->ar_layout_name); + bit1 = lives_strdup(_("\nAuto reload layout.\n")); + bit3 = lives_strdup_printf("\n%s", prefs->ar_layout_name); } - msg=lives_strdup_printf(_("%s\nSome %s are missing from the layout%s\nTherefore it could not be loaded properly.\n"), - bit1,bit2,bit3); - do_error_dialog_with_check_transient(msg,TRUE,0,LIVES_WINDOW(transient)); + msg = lives_strdup_printf(_("%s\nSome %s are missing from the layout%s\nTherefore it could not be loaded properly.\n"), + bit1, bit2, bit3); + do_error_dialog_with_check_transient(msg, TRUE, 0, LIVES_WINDOW(transient)); lives_free(msg); lives_free(bit2); - if (mt!=NULL) mt->layout_prompt=TRUE; + if (mt != NULL) mt->layout_prompt = TRUE; } lives_free(bit1); lives_free(bit3); - lives_free(ebuf); // TODO - allow option of viewing/saving this return TRUE; } - - char *get_eload_filename(lives_mt *mt, boolean allow_auto_reload) { LiVESWidget *hbox; LiVESWidget *ar_checkbutton; - char *filt[]= {"*.lay",NULL}; + char *filt[] = {"*.lay", NULL}; char *eload_dir; char *eload_file; - char *startdir=NULL; + char *startdir = NULL; - boolean needs_idlefunc=FALSE; + boolean needs_idlefunc = FALSE; if (!strlen(mainw->set_name)) { LIVES_ERROR("Loading event list for unknown set"); return NULL; } - eload_dir=lives_build_filename(prefs->workdir,mainw->set_name,"layouts",LIVES_DIR_SEP,NULL); + eload_dir = lives_build_filename(prefs->workdir, mainw->set_name, "layouts", LIVES_DIR_SEP, NULL); - mainw->com_failed=FALSE; - lives_mkdir_with_parents(eload_dir,capable->umask); + mainw->com_failed = FALSE; + lives_mkdir_with_parents(eload_dir, capable->umask); - if (!mainw->recoverable_layout&&!lives_file_test(eload_dir,LIVES_FILE_TEST_IS_DIR)) { + if (!mainw->recoverable_layout && !lives_file_test(eload_dir, LIVES_FILE_TEST_IS_DIR)) { lives_free(eload_dir); return NULL; } - startdir=lives_strdup(eload_dir); + startdir = lives_strdup(eload_dir); hbox = lives_hbox_new(FALSE, 0); if (allow_auto_reload) { - ar_checkbutton = lives_standard_check_button_new(_("_Autoreload each time"),TRUE,LIVES_BOX(hbox),NULL); + ar_checkbutton = lives_standard_check_button_new(_("_Autoreload each time"), TRUE, LIVES_BOX(hbox), NULL); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(ar_checkbutton),prefs->ar_layout); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(ar_checkbutton), prefs->ar_layout); lives_signal_connect(LIVES_GUI_OBJECT(ar_checkbutton), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(on_autoreload_toggled), LIVES_INT_TO_POINTER(2)); } - if (mt->idlefunc>0) { + if (mt->idlefunc > 0) { lives_source_remove(mt->idlefunc); - mt->idlefunc=0; - needs_idlefunc=TRUE; + mt->idlefunc = 0; + needs_idlefunc = TRUE; } lives_widget_show_all(hbox); - eload_file=choose_file(startdir,NULL,filt,LIVES_FILE_CHOOSER_ACTION_OPEN,NULL,hbox); + eload_file = choose_file(startdir, NULL, filt, LIVES_FILE_CHOOSER_ACTION_OPEN, NULL, hbox); lives_free(startdir); - if (eload_file==NULL) { + if (eload_file == NULL) { // if the user cancelled see if we can clear the directories // this will fail if there are any files in the directories char *cdir; - lives_rmdir(eload_dir,FALSE); + lives_rmdir(eload_dir, FALSE); - cdir=lives_build_filename(prefs->workdir,mainw->set_name,NULL); - lives_rmdir(cdir,FALSE); + cdir = lives_build_filename(prefs->workdir, mainw->set_name, NULL); + lives_rmdir(cdir, FALSE); } lives_free(eload_dir); if (needs_idlefunc) - mt->idlefunc=mt_idle_add(mt); + mt->idlefunc = mt_idle_add(mt); return eload_file; } - - weed_plant_t *load_event_list(lives_mt *mt, char *eload_file) { // load (deserialise) a serialised event_list // after loading we perform sophisticated checks on it to detect // and try to repair any errors in it - weed_plant_t *event_list=NULL; + weed_plant_t *event_list = NULL; char *msg; char *eload_name; - boolean free_eload_file=TRUE; - boolean orig_ar_layout=prefs->ar_layout,ar_layout; - boolean retval=TRUE; + boolean free_eload_file = TRUE; + boolean orig_ar_layout = prefs->ar_layout, ar_layout; + boolean retval = TRUE; - int num_events=0; + int num_events = 0; int retval2; - int old_avol_fx=mt->avol_fx; + int old_avol_fx = mt->avol_fx; int fd; - if (mt->idlefunc>0) { + if (mt->idlefunc > 0) { lives_source_remove(mt->idlefunc); - mt->idlefunc=0; + mt->idlefunc = 0; } - if (eload_file==NULL) { - eload_file=get_eload_filename(mt,TRUE); - if (eload_file==NULL) { - mt->idlefunc=mt_idle_add(mt); + if (eload_file == NULL) { + eload_file = get_eload_filename(mt, TRUE); + if (eload_file == NULL) { + mt->idlefunc = mt_idle_add(mt); return NULL; } - } else free_eload_file=FALSE; + } else free_eload_file = FALSE; - ar_layout=prefs->ar_layout; - prefs->ar_layout=orig_ar_layout; + ar_layout = prefs->ar_layout; + prefs->ar_layout = orig_ar_layout; - if (!mainw->recoverable_layout) eload_name=lives_strdup(eload_file); - else eload_name=lives_strdup(_("auto backup")); + if (!mainw->recoverable_layout) eload_name = lives_strdup(eload_file); + else eload_name = lives_strdup(_("auto backup")); - if ((fd=lives_open_buffered_rdonly(eload_file))<0) { - msg=lives_strdup_printf(_("\nUnable to load layout file %s\n"),eload_name); - do_error_dialog_with_check_transient(msg,TRUE,0,LIVES_WINDOW(mt->window)); + if ((fd = lives_open_buffered_rdonly(eload_file)) < 0) { + msg = lives_strdup_printf(_("\nUnable to load layout file %s\n"), eload_name); + do_error_dialog_with_check_transient(msg, TRUE, 0, LIVES_WINDOW(mt->window)); lives_free(msg); lives_free(eload_name); - mt->idlefunc=mt_idle_add(mt); + mt->idlefunc = mt_idle_add(mt); return NULL; } event_list_free_undos(mt); - if (mainw->event_list!=NULL) { + if (mainw->event_list != NULL) { event_list_free(mt->event_list); - mt->event_list=NULL; + mt->event_list = NULL; mt_clear_timeline(mt); } - mainw->no_switch_dprint=TRUE; - d_print(_("Loading layout from %s..."),eload_name); - mainw->no_switch_dprint=FALSE; + mainw->no_switch_dprint = TRUE; + d_print(_("Loading layout from %s..."), eload_name); + mainw->no_switch_dprint = FALSE; mt_desensitise(mt); - mainw->read_failed=FALSE; + mainw->read_failed = FALSE; do { - retval=0; - if ((event_list=load_event_list_inner(mt,fd,TRUE,&num_events,NULL,NULL))==NULL) { + retval = 0; + if ((event_list = load_event_list_inner(mt, fd, TRUE, &num_events, NULL, NULL)) == NULL) { lives_close_buffered(fd); if (mainw->read_failed) { - retval=do_read_failed_error_s_with_retry(eload_name,NULL,NULL); - mainw->read_failed=FALSE; + retval = do_read_failed_error_s_with_retry(eload_name, NULL, NULL); + mainw->read_failed = FALSE; } - if (retval!=LIVES_RESPONSE_RETRY) { + if (retval != LIVES_RESPONSE_RETRY) { if (mt->is_ready) mt_sensitise(mt); lives_free(eload_name); - mt->idlefunc=mt_idle_add(mt); + mt->idlefunc = mt_idle_add(mt); return NULL; } } else lives_close_buffered(fd); - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); lives_free(eload_name); d_print_done(); - d_print(_("Got %d events...processing..."),num_events); + d_print(_("Got %d events...processing..."), num_events); - mt->auto_changed=mt->changed=mainw->recoverable_layout; + mt->auto_changed = mt->changed = mainw->recoverable_layout; lives_widget_context_update(); - cfile->progress_start=1; - cfile->progress_end=num_events; + cfile->progress_start = 1; + cfile->progress_end = num_events; // event list loaded, now we set the pointers for filter_map (init_events), param_change (init_events and param chains), // filter_deinit (init_events) - do_threaded_dialog(_("Checking and rebuilding event list"),FALSE); + do_threaded_dialog(_("Checking and rebuilding event list"), FALSE); - elist_errors=0; + elist_errors = 0; if (!mainw->recoverable_layout) { // re-map clips so our loaded event_list refers to the correct clips and frames - rerenumber_clips(eload_file,NULL); + rerenumber_clips(eload_file, NULL); } else { renumber_from_backup_layout_numbering(mt); } - mt->avol_init_event=NULL; - mt->avol_fx=-1; + mt->avol_init_event = NULL; + mt->avol_fx = -1; - if (!event_list_rectify(mt,event_list)) { + if (!event_list_rectify(mt, event_list)) { event_list_free(event_list); - event_list=NULL; + event_list = NULL; } - if (get_first_event(event_list)==NULL) { + if (get_first_event(event_list) == NULL) { event_list_free(event_list); - event_list=NULL; + event_list = NULL; } - if (event_list!=NULL) { - d_print(_("%d errors detected.\n"),elist_errors); + if (event_list != NULL) { + d_print(_("%d errors detected.\n"), elist_errors); if (!mt->auto_reloading) { - if (!mt->layout_prompt||do_mt_rect_prompt()) { + if (!mt->layout_prompt || do_mt_rect_prompt()) { do { - retval2=0; - retval=TRUE; + retval2 = 0; + retval = TRUE; // resave with corrections/updates - fd=lives_creat_buffered(eload_file,DEF_FILE_PERMS); - if (fd>=0) { - retval=save_event_list_inner(NULL,fd,event_list,NULL); + fd = lives_creat_buffered(eload_file, DEF_FILE_PERMS); + if (fd >= 0) { + retval = save_event_list_inner(NULL, fd, event_list, NULL); lives_close_buffered(fd); } - if (fd<0||!retval) { - retval2=do_write_failed_error_s_with_retry(eload_file,(fd<0)?lives_strerror(errno):NULL,NULL); - if (retval2==LIVES_RESPONSE_CANCEL) d_print_file_error_failed(); + if (fd < 0 || !retval) { + retval2 = do_write_failed_error_s_with_retry(eload_file, (fd < 0) ? lives_strerror(errno) : NULL, NULL); + if (retval2 == LIVES_RESPONSE_CANCEL) d_print_file_error_failed(); } - } while (retval2==LIVES_RESPONSE_RETRY); + } while (retval2 == LIVES_RESPONSE_RETRY); } } } else d_print_failed(); - mt->layout_prompt=FALSE; + mt->layout_prompt = FALSE; - if (mt->avol_fx==-1&&mainw->fx_candidates[FX_CANDIDATE_AUDIO_VOL].delegate!=-1) { + if (mt->avol_fx == -1 && mainw->fx_candidates[FX_CANDIDATE_AUDIO_VOL].delegate != -1) { // user (or system) has delegated an audio volume filter from the candidates - mt->avol_fx=LIVES_POINTER_TO_INT(lives_list_nth_data(mainw->fx_candidates[FX_CANDIDATE_AUDIO_VOL].list, - mainw->fx_candidates[FX_CANDIDATE_AUDIO_VOL].delegate)); + mt->avol_fx = LIVES_POINTER_TO_INT(lives_list_nth_data(mainw->fx_candidates[FX_CANDIDATE_AUDIO_VOL].list, + mainw->fx_candidates[FX_CANDIDATE_AUDIO_VOL].delegate)); } - if (mt->avol_fx!=old_avol_fx&&mt->opts.aparam_view_list!=NULL) { + if (mt->avol_fx != old_avol_fx && mt->opts.aparam_view_list != NULL) { // audio volume effect changed, so we reset which parameters are viewed lives_list_free(mt->opts.aparam_view_list); - mt->opts.aparam_view_list=NULL; + mt->opts.aparam_view_list = NULL; } - if (event_list!=NULL) { + if (event_list != NULL) { if (!mainw->recoverable_layout) { - lives_snprintf(mt->layout_name,PATH_MAX,"%s",eload_file); + lives_snprintf(mt->layout_name, PATH_MAX, "%s", eload_file); get_basename(mt->layout_name); } - if (mt->layout_set_properties) msg=mt_set_vals_string(); - else msg=lives_strdup_printf(_("Multitrack fps set to %.3f\n"),cfile->fps); + if (mt->layout_set_properties) msg = mt_set_vals_string(); + else msg = lives_strdup_printf(_("Multitrack fps set to %.3f\n"), cfile->fps); d_print(msg); lives_free(msg); set_mt_title(mt); if (!ar_layout) { - prefs->ar_layout=FALSE; - set_pref(PREF_AR_LAYOUT,""); - memset(prefs->ar_layout_name,0,1); + prefs->ar_layout = FALSE; + set_pref(PREF_AR_LAYOUT, ""); + memset(prefs->ar_layout_name, 0, 1); } else { if (!mainw->recoverable_layout) { - prefs->ar_layout=TRUE; - set_pref(PREF_AR_LAYOUT,mt->layout_name); - lives_snprintf(prefs->ar_layout_name,128,"%s",mt->layout_name); + prefs->ar_layout = TRUE; + set_pref(PREF_AR_LAYOUT, mt->layout_name); + lives_snprintf(prefs->ar_layout_name, 128, "%s", mt->layout_name); } } - } set_audio_filter_channel_values(mt); - if (mt->opts.back_audio_tracks>0) { + if (mt->opts.back_audio_tracks > 0) { lives_widget_show(mt->view_audio); } if (free_eload_file) lives_free(eload_file); - if (!mainw->recoverable_layout) mt->idlefunc=mt_idle_add(mt); + if (!mainw->recoverable_layout) mt->idlefunc = mt_idle_add(mt); return (event_list); - } void remove_markers(weed_plant_t *event_list) { - weed_plant_t *event=get_first_event(event_list); + weed_plant_t *event = get_first_event(event_list); weed_plant_t *event_next; int marker_type; int error; - while (event!=NULL) { - event_next=get_next_event(event); + while (event != NULL) { + event_next = get_next_event(event); if (WEED_EVENT_IS_MARKER(event)) { - marker_type=weed_get_int_value(event,WEED_LEAF_LIVES_TYPE,&error); - if (marker_type==EVENT_MARKER_BLOCK_START||marker_type==EVENT_MARKER_BLOCK_UNORDERED) { - delete_event(event_list,event); + marker_type = weed_get_int_value(event, WEED_LEAF_LIVES_TYPE, &error); + if (marker_type == EVENT_MARKER_BLOCK_START || marker_type == EVENT_MARKER_BLOCK_UNORDERED) { + delete_event(event_list, event); } } - event=event_next; + event = event_next; } } - void wipe_layout(lives_mt *mt) { - mt_desensitise(mt); - if (mt->idlefunc>0) { + if (mt->idlefunc > 0) { lives_source_remove(mt->idlefunc); - mt->idlefunc=0; + mt->idlefunc = 0; } print_layout_wiped(); @@ -21528,14 +20901,14 @@ recover_layout_cancelled(FALSE); - if (strlen(mt->layout_name)>0&&!strcmp(mt->layout_name,prefs->ar_layout_name)) { - set_pref(PREF_AR_LAYOUT,""); - memset(prefs->ar_layout_name,0,1); - prefs->ar_layout=FALSE; + if (strlen(mt->layout_name) > 0 && !strcmp(mt->layout_name, prefs->ar_layout_name)) { + set_pref(PREF_AR_LAYOUT, ""); + memset(prefs->ar_layout_name, 0, 1); + prefs->ar_layout = FALSE; } event_list_free(mt->event_list); - mt->event_list=NULL; + mt->event_list = NULL; event_list_free_undos(mt); @@ -21543,69 +20916,65 @@ mt_sensitise(mt); - mt->idlefunc=mt_idle_add(mt); + mt->idlefunc = mt_idle_add(mt); } - - void on_clear_event_list_activate(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; _entryw *cdsw; - int resp=2; + int resp = 2; - boolean rev_resp=FALSE; // if TRUE, a return value of 2 means save, otherwise it means delete + boolean rev_resp = FALSE; // if TRUE, a return value of 2 means save, otherwise it means delete - if (mt->idlefunc>0) { + if (mt->idlefunc > 0) { lives_source_remove(mt->idlefunc); - mt->idlefunc=0; + mt->idlefunc = 0; } - if (strlen(mt->layout_name)>0) { + if (strlen(mt->layout_name) > 0) { // delete : 2 // wipe : 1 - cdsw=create_cds_dialog(2); - rev_resp=FALSE; + cdsw = create_cds_dialog(2); + rev_resp = FALSE; } else { // save: 2 // wipe: 1 - cdsw=create_cds_dialog(3); - rev_resp=TRUE; + cdsw = create_cds_dialog(3); + rev_resp = TRUE; } - do { - mainw->cancelled=CANCEL_NONE; - resp=lives_dialog_run(LIVES_DIALOG(cdsw->dialog)); + mainw->cancelled = CANCEL_NONE; + resp = lives_dialog_run(LIVES_DIALOG(cdsw->dialog)); - if (resp==2&&rev_resp) { + if (resp == 2 && rev_resp) { // save - on_save_event_list_activate(NULL,mt); - if (mainw->cancelled==CANCEL_NONE) break; + on_save_event_list_activate(NULL, mt); + if (mainw->cancelled == CANCEL_NONE) break; } - - } while (resp==2&&rev_resp); + } while (resp == 2 && rev_resp); lives_widget_destroy(cdsw->dialog); lives_free(cdsw); - if (resp==LIVES_RESPONSE_CANCEL) { - mt->idlefunc=mt_idle_add(mt); + if (resp == LIVES_RESPONSE_CANCEL) { + mt->idlefunc = mt_idle_add(mt); return; // cancel } - if (resp==2&&!rev_resp) { + if (resp == 2 && !rev_resp) { // delete from disk - LiVESList *layout_map=NULL; + LiVESList *layout_map = NULL; char *lmap_file; if (!do_yesno_dialog("\nLayout will be deleted from the disk.\nAre you sure ?\n")) { - mt->idlefunc=mt_idle_add(mt); + mt->idlefunc = mt_idle_add(mt); return; } - lmap_file=lives_build_filename("workdir",mainw->set_name,"layouts",mt->layout_name,NULL); - layout_map=lives_list_append(layout_map,lmap_file); + lmap_file = lives_build_filename("workdir", mainw->set_name, "layouts", mt->layout_name, NULL); + layout_map = lives_list_append(layout_map, lmap_file); remove_layout_files(layout_map); lives_free(lmap_file); } else { @@ -21613,7 +20982,7 @@ if (mt->changed) { if (!do_yesno_dialog_with_check(_("The current layout has changes which have not been saved.\nAre you sure you wish to wipe it ?\n"), WARN_MASK_LAYOUT_WIPE)) { - mt->idlefunc=mt_idle_add(mt); + mt->idlefunc = mt_idle_add(mt); return; } } @@ -21621,68 +20990,65 @@ // wipe wipe_layout(mt); - } - - boolean on_load_event_list_activate(LiVESMenuItem *menuitem, livespointer user_data) { int i; - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; weed_plant_t *new_event_list; if (mainw->interactive) - if (!check_for_layout_del(mt,FALSE)) return FALSE; + if (!check_for_layout_del(mt, FALSE)) return FALSE; - if (mt->idlefunc>0) { + if (mt->idlefunc > 0) { lives_source_remove(mt->idlefunc); - mt->idlefunc=0; + mt->idlefunc = 0; } - new_event_list=load_event_list(mt,mt->force_load_name); + new_event_list = load_event_list(mt, mt->force_load_name); if (mainw->was_set) recover_layout_cancelled(FALSE); - if (new_event_list==NULL) { + if (new_event_list == NULL) { mt_sensitise(mt); - mt->idlefunc=mt_idle_add(mt); + mt->idlefunc = mt_idle_add(mt); return FALSE; } - if (mt->event_list!=NULL) event_list_free(mt->event_list); - mt->event_list=NULL; + if (mt->event_list != NULL) event_list_free(mt->event_list); + mt->event_list = NULL; - mt->undo_buffer_used=0; - mt->undo_offset=0; + mt->undo_buffer_used = 0; + mt->undo_offset = 0; lives_list_free(mt->undos); - mt->undos=NULL; - mt_set_undoable(mt,MT_UNDO_NONE,NULL,FALSE); - mt_set_redoable(mt,MT_UNDO_NONE,NULL,FALSE); + mt->undos = NULL; + mt_set_undoable(mt, MT_UNDO_NONE, NULL, FALSE); + mt_set_redoable(mt, MT_UNDO_NONE, NULL, FALSE); - for (i=0; i<mt->num_video_tracks; i++) { - delete_video_track(mt,i,FALSE); + for (i = 0; i < mt->num_video_tracks; i++) { + delete_video_track(mt, i, FALSE); } lives_list_free(mt->video_draws); - mt->video_draws=NULL; - mt->num_video_tracks=0; + mt->video_draws = NULL; + mt->num_video_tracks = 0; - if (mt->amixer!=NULL) on_amixer_close_clicked(NULL,mt); + if (mt->amixer != NULL) on_amixer_close_clicked(NULL, mt); - delete_audio_tracks(mt,mt->audio_draws,FALSE); - mt->audio_draws=NULL; + delete_audio_tracks(mt, mt->audio_draws, FALSE); + mt->audio_draws = NULL; - if (mt->audio_vols!=NULL) lives_list_free(mt->audio_vols); - mt->audio_vols=NULL; + if (mt->audio_vols != NULL) lives_list_free(mt->audio_vols); + mt->audio_vols = NULL; - mt->event_list=new_event_list; + mt->event_list = new_event_list; - if (mt->selected_tracks!=NULL) lives_list_free(mt->selected_tracks); - mt->selected_tracks=NULL; + if (mt->selected_tracks != NULL) lives_list_free(mt->selected_tracks); + mt->selected_tracks = NULL; - mt_init_tracks(mt,TRUE); + mt_init_tracks(mt, TRUE); - if (!mt->ignore_load_vals) set_audio_mixer_vols(mt,mt->event_list); + if (!mt->ignore_load_vals) set_audio_mixer_vols(mt, mt->event_list); add_aparam_menuitems(mt); @@ -21691,13 +21057,12 @@ mt_sensitise(mt); mt_show_current_frame(mt, FALSE); - mt->idlefunc=mt_idle_add(mt); + mt->idlefunc = mt_idle_add(mt); return TRUE; } - void migrate_layouts(const char *old_set_name, const char *new_set_name) { // if we change the name of a set, we must also update the layouts - at the very least 2 things need to happen // 1) the WEED_LEAF_NEEDS_SET leaf in each layout must be updated @@ -21708,107 +21073,102 @@ // this last may not be necessary as we are probably closing the set - // on return from here we physically move the layouts, and we append the layout_map to the new one - - // load each event_list in mainw->current_layouts_map - LiVESList *map=mainw->current_layouts_map; + LiVESList *map = mainw->current_layouts_map; int fd; int i; - int retval2=0; + int retval2 = 0; weed_plant_t *event_list; char *tmp; - boolean retval=TRUE; + boolean retval = TRUE; - char *changefrom=NULL; + char *changefrom = NULL; size_t chlen; // TODO - dirsep - if (old_set_name!=NULL) { - changefrom=lives_build_filename(prefs->workdir,old_set_name,"layouts/",NULL); - chlen=strlen(changefrom); - } else chlen=0; + if (old_set_name != NULL) { + changefrom = lives_build_filename(prefs->workdir, old_set_name, "layouts/", NULL); + chlen = strlen(changefrom); + } else chlen = 0; - while (map!=NULL) { - if (old_set_name!=NULL) { + while (map != NULL) { + if (old_set_name != NULL) { // load and save each layout, updating the WEED_LEAF_NEEDS_SET leaf do { - retval2=0; - if ((fd=lives_open_buffered_rdonly((char *)map->data))>-1) { - if ((event_list=load_event_list_inner(NULL,fd,FALSE,NULL,NULL,NULL))!=NULL) { + retval2 = 0; + if ((fd = lives_open_buffered_rdonly((char *)map->data)) > -1) { + if ((event_list = load_event_list_inner(NULL, fd, FALSE, NULL, NULL, NULL)) != NULL) { lives_close_buffered(fd); // adjust the value of WEED_LEAF_NEEDS_SET to new_set_name - weed_set_string_value(event_list,WEED_LEAF_NEEDS_SET,(tmp=F2U8(new_set_name))); + weed_set_string_value(event_list, WEED_LEAF_NEEDS_SET, (tmp = F2U8(new_set_name))); lives_free(tmp); // save the event_list with the same name lives_rm((char *)map->data); do { - retval2=0; - fd=lives_creat_buffered((char *)map->data,DEF_FILE_PERMS); - if (fd>=0) { - retval=save_event_list_inner(NULL,fd,event_list,NULL); + retval2 = 0; + fd = lives_creat_buffered((char *)map->data, DEF_FILE_PERMS); + if (fd >= 0) { + retval = save_event_list_inner(NULL, fd, event_list, NULL); } - if (fd<0||!retval) { - if (fd>0) lives_close_buffered(fd); - retval2=do_write_failed_error_s_with_retry((char *)map->data,(fd<0)?lives_strerror(errno):NULL,NULL); + if (fd < 0 || !retval) { + if (fd > 0) lives_close_buffered(fd); + retval2 = do_write_failed_error_s_with_retry((char *)map->data, (fd < 0) ? lives_strerror(errno) : NULL, NULL); } - } while (retval2==LIVES_RESPONSE_RETRY); + } while (retval2 == LIVES_RESPONSE_RETRY); event_list_free(event_list); } - if (retval2==0) lives_close_buffered(fd); + if (retval2 == 0) lives_close_buffered(fd); } else { - retval2=do_read_failed_error_s_with_retry((char *)map->data,NULL,NULL); + retval2 = do_read_failed_error_s_with_retry((char *)map->data, NULL, NULL); } - - } while (retval2==LIVES_RESPONSE_RETRY); + } while (retval2 == LIVES_RESPONSE_RETRY); } - if (old_set_name!=NULL&&!strncmp((char *)map->data,changefrom,chlen)) { + if (old_set_name != NULL && !strncmp((char *)map->data, changefrom, chlen)) { // update entries in mainw->current_layouts_map - tmp=lives_build_filename(prefs->workdir,new_set_name,"layouts",(char *)map->data+chlen,NULL); - if (lives_file_test(tmp,LIVES_FILE_TEST_EXISTS)) { + tmp = lives_build_filename(prefs->workdir, new_set_name, "layouts", (char *)map->data + chlen, NULL); + if (lives_file_test(tmp, LIVES_FILE_TEST_EXISTS)) { // prevent duplication of layouts lives_free(tmp); - tmp=lives_strdup_printf("%s"LIVES_DIR_SEP"%s"LIVES_DIR_SEP"layouts"LIVES_DIR_SEP"%s-%s", - prefs->workdir,new_set_name,old_set_name,(char *)map->data+chlen); - lives_mv((const char *)map->data,tmp); + tmp = lives_strdup_printf("%s"LIVES_DIR_SEP"%s"LIVES_DIR_SEP"layouts"LIVES_DIR_SEP"%s-%s", + prefs->workdir, new_set_name, old_set_name, (char *)map->data + chlen); + lives_mv((const char *)map->data, tmp); } lives_free((livespointer)map->data); - map->data=tmp; + map->data = tmp; } - map=map->next; + map = map->next; } // update layout_map's in mainw->files - for (i=1; i<=MAX_FILES; i++) { - if (mainw->files[i]!=NULL) { - if (mainw->files[i]->layout_map!=NULL) { - map=mainw->files[i]->layout_map; - while (map!=NULL) { - if (map->data!=NULL) { - if ((old_set_name!=NULL&&!strncmp((char *)map->data,changefrom,chlen))|| - (old_set_name==NULL&&(strstr((char *)map->data,new_set_name)==NULL))) { - - char **array=lives_strsplit((char *)map->data,"|",-1); - size_t origlen=strlen(array[0]); - char *tmp2=lives_build_filename(prefs->workdir,new_set_name,"layouts",array[0]+chlen,NULL); - if (lives_file_test(tmp2,LIVES_FILE_TEST_EXISTS)) { - tmp2=lives_strdup_printf("%s/%s/layouts/%s-%s",prefs->workdir,new_set_name,old_set_name,array[0]+chlen); + for (i = 1; i <= MAX_FILES; i++) { + if (mainw->files[i] != NULL) { + if (mainw->files[i]->layout_map != NULL) { + map = mainw->files[i]->layout_map; + while (map != NULL) { + if (map->data != NULL) { + if ((old_set_name != NULL && !strncmp((char *)map->data, changefrom, chlen)) || + (old_set_name == NULL && (strstr((char *)map->data, new_set_name) == NULL))) { + + char **array = lives_strsplit((char *)map->data, "|", -1); + size_t origlen = strlen(array[0]); + char *tmp2 = lives_build_filename(prefs->workdir, new_set_name, "layouts", array[0] + chlen, NULL); + if (lives_file_test(tmp2, LIVES_FILE_TEST_EXISTS)) { + tmp2 = lives_strdup_printf("%s/%s/layouts/%s-%s", prefs->workdir, new_set_name, old_set_name, array[0] + chlen); } - tmp=lives_strdup_printf("%s%s",tmp2,(char *)map->data+origlen); + tmp = lives_strdup_printf("%s%s", tmp2, (char *)map->data + origlen); lives_free(tmp2); lives_strfreev(array); - lives_free((livespointer)map->data); - map->data=tmp; + map->data = tmp; } - map=map->next; + map = map->next; } } } @@ -21816,87 +21176,85 @@ } // update mainw->affected_layouts_map - map=mainw->affected_layouts_map; - while (map!=NULL) { - if ((old_set_name!=NULL&&!strncmp((char *)map->data,changefrom,chlen))|| - (old_set_name==NULL&&(strstr((char *)map->data,new_set_name)==NULL))) { - if (strcmp(mainw->string_constants[LIVES_STRING_CONSTANT_CL],(char *)map->data+chlen)) { - tmp=lives_build_filename(prefs->workdir,new_set_name,"layouts",(char *)map->data+chlen,NULL); - if (lives_file_test(tmp,LIVES_FILE_TEST_EXISTS)) { + map = mainw->affected_layouts_map; + while (map != NULL) { + if ((old_set_name != NULL && !strncmp((char *)map->data, changefrom, chlen)) || + (old_set_name == NULL && (strstr((char *)map->data, new_set_name) == NULL))) { + if (strcmp(mainw->string_constants[LIVES_STRING_CONSTANT_CL], (char *)map->data + chlen)) { + tmp = lives_build_filename(prefs->workdir, new_set_name, "layouts", (char *)map->data + chlen, NULL); + if (lives_file_test(tmp, LIVES_FILE_TEST_EXISTS)) { lives_free(tmp); - tmp=lives_strdup_printf("%s/%s/layouts/%s-%s",prefs->workdir,new_set_name,old_set_name,(char *)map->data+chlen); + tmp = lives_strdup_printf("%s/%s/layouts/%s-%s", prefs->workdir, new_set_name, old_set_name, (char *)map->data + chlen); } lives_free((livespointer)map->data); - map->data=tmp; + map->data = tmp; } } - map=map->next; + map = map->next; } lives_freep((void **)&changefrom); } - LiVESList *layout_frame_is_affected(int clipno, int frame) { // return list of names of layouts which are affected, or NULL // list and list->data should be freed after use char **array; - LiVESList *lmap=mainw->files[clipno]->layout_map; + LiVESList *lmap = mainw->files[clipno]->layout_map; double orig_fps; int resampled_frame; - if (mainw->stored_event_list!=NULL&&mainw->files[clipno]->stored_layout_frame!=0) { + if (mainw->stored_event_list != NULL && mainw->files[clipno]->stored_layout_frame != 0) { // see if it affects the current layout - resampled_frame=count_resampled_frames(mainw->files[clipno]->stored_layout_frame,mainw->files[clipno]->stored_layout_fps, - mainw->files[clipno]->fps); - if (frame<=resampled_frame) mainw->xlays=lives_list_append_unique(mainw->xlays,mainw->string_constants[LIVES_STRING_CONSTANT_CL]); + resampled_frame = count_resampled_frames(mainw->files[clipno]->stored_layout_frame, mainw->files[clipno]->stored_layout_fps, + mainw->files[clipno]->fps); + if (frame <= resampled_frame) mainw->xlays = lives_list_append_unique(mainw->xlays, mainw->string_constants[LIVES_STRING_CONSTANT_CL]); } - while (lmap!=NULL) { - array=lives_strsplit((char *)lmap->data,"|",-1); - if (atoi(array[2])!=0) { - orig_fps=strtod(array[3],NULL); - resampled_frame=count_resampled_frames(atoi(array[2]),orig_fps,mainw->files[clipno]->fps); - if (array[2]==0) resampled_frame=0; - if (frame<=resampled_frame) { - mainw->xlays=lives_list_append_unique(mainw->xlays,array[0]); + while (lmap != NULL) { + array = lives_strsplit((char *)lmap->data, "|", -1); + if (atoi(array[2]) != 0) { + orig_fps = strtod(array[3], NULL); + resampled_frame = count_resampled_frames(atoi(array[2]), orig_fps, mainw->files[clipno]->fps); + if (array[2] == 0) resampled_frame = 0; + if (frame <= resampled_frame) { + mainw->xlays = lives_list_append_unique(mainw->xlays, array[0]); } } lives_strfreev(array); - lmap=lmap->next; + lmap = lmap->next; } return mainw->xlays; } - LiVESList *layout_audio_is_affected(int clipno, double time) { char **array; - LiVESList *lmap=mainw->files[clipno]->layout_map; + LiVESList *lmap = mainw->files[clipno]->layout_map; double max_time; - if (mainw->files[clipno]->arate==0) return mainw->xlays; + if (mainw->files[clipno]->arate == 0) return mainw->xlays; // adjust time depending on if we have stretched audio - time*=mainw->files[clipno]->arps/mainw->files[clipno]->arate; + time *= mainw->files[clipno]->arps / mainw->files[clipno]->arate; - if (mainw->stored_event_list!=NULL) { + if (mainw->stored_event_list != NULL) { // see if it affects the current layout - if (mainw->files[clipno]->stored_layout_audio>0.&&time<=mainw->files[clipno]->stored_layout_audio) - mainw->xlays=lives_list_append_unique(mainw->xlays,mainw->string_constants[LIVES_STRING_CONSTANT_CL]); + if (mainw->files[clipno]->stored_layout_audio > 0. && time <= mainw->files[clipno]->stored_layout_audio) + mainw->xlays = lives_list_append_unique(mainw->xlays, mainw->string_constants[LIVES_STRING_CONSTANT_CL]); } - while (lmap!=NULL) { - if (get_token_count((char *)lmap->data,'|')<5) continue; - array=lives_strsplit((char *)lmap->data,"|",-1); - max_time=strtod(array[4],NULL); - if (max_time>0.&&time<=max_time) { - mainw->xlays=lives_list_append_unique(mainw->xlays,array[0]); + while (lmap != NULL) { + if (get_token_count((char *)lmap->data, '|') < 5) continue; + array = lives_strsplit((char *)lmap->data, "|", -1); + max_time = strtod(array[4], NULL); + if (max_time > 0. && time <= max_time) { + mainw->xlays = lives_list_append_unique(mainw->xlays, array[0]); } lives_strfreev(array); - lmap=lmap->next; + lmap = lmap->next; } return mainw->xlays; @@ -21904,77 +21262,76 @@ void mt_change_disp_tracks_ok(LiVESButton *button, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - lives_general_button_clicked(button,NULL); - prefs->max_disp_vtracks=mainw->fx1_val; - set_int_pref(PREF_MAX_DISP_VTRACKS,prefs->max_disp_vtracks); - scroll_tracks(mt,mt->top_track,FALSE); + lives_mt *mt = (lives_mt *)user_data; + lives_general_button_clicked(button, NULL); + prefs->max_disp_vtracks = mainw->fx1_val; + set_int_pref(PREF_MAX_DISP_VTRACKS, prefs->max_disp_vtracks); + scroll_tracks(mt, mt->top_track, FALSE); } - /////////////////////////////////////////////// void show_frame_events_activate(LiVESMenuItem *menuitem, livespointer user_data) { - prefs->event_window_show_frame_events=!prefs->event_window_show_frame_events; + prefs->event_window_show_frame_events = !prefs->event_window_show_frame_events; } void mt_change_max_disp_tracks(LiVESMenuItem *menuitem, livespointer user_data) { LiVESWidget *dialog; - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; - mainw->fx1_val=prefs->max_disp_vtracks; - dialog=create_cdtrack_dialog(LIVES_DEVICE_INTERNAL,mt); + mainw->fx1_val = prefs->max_disp_vtracks; + dialog = create_cdtrack_dialog(LIVES_DEVICE_INTERNAL, mt); lives_widget_show(dialog); - } + void mt_load_vals_toggled(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - mt->ignore_load_vals=!mt->ignore_load_vals; + lives_mt *mt = (lives_mt *)user_data; + mt->ignore_load_vals = !mt->ignore_load_vals; } static void mt_ac_audio_toggled(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; - mt->opts.autocross_audio=!mt->opts.autocross_audio; + lives_mt *mt = (lives_mt *)user_data; + mt->opts.autocross_audio = !mt->opts.autocross_audio; } void mt_change_vals_activate(LiVESMenuItem *menuitem, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; boolean response; char *msg; - rdet=create_render_details(4); // WARNING !! - rdet is global in events.h + rdet = create_render_details(4); // WARNING !! - rdet is global in events.h lives_widget_show_all(rdet->always_hbox); - rdet->enc_changed=FALSE; + rdet->enc_changed = FALSE; do { - rdet->suggestion_followed=FALSE; - if ((response=lives_dialog_run(LIVES_DIALOG(rdet->dialog)))==LIVES_RESPONSE_OK) { + rdet->suggestion_followed = FALSE; + if ((response = lives_dialog_run(LIVES_DIALOG(rdet->dialog))) == LIVES_RESPONSE_OK) { if (rdet->enc_changed) { - check_encoder_restrictions(FALSE,FALSE,TRUE); + check_encoder_restrictions(FALSE, FALSE, TRUE); } } } while (rdet->suggestion_followed); - xarate=(int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_arate))); - xachans=(int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_achans))); - xasamps=(int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_asamps))); + xarate = (int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_arate))); + xachans = (int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_achans))); + xasamps = (int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_asamps))); if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->rb_unsigned))) { - xse=AFORM_UNSIGNED; - } else cfile->signed_endian=0; + xse = AFORM_UNSIGNED; + } else cfile->signed_endian = 0; if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->rb_bigend))) { - xse|=AFORM_BIG_ENDIAN; + xse |= AFORM_BIG_ENDIAN; } if (!lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->aud_checkbutton))) { - xachans=0; + xachans = 0; } - if (response==LIVES_RESPONSE_CANCEL) { + if (response == LIVES_RESPONSE_CANCEL) { lives_widget_destroy(rdet->dialog); lives_free(rdet->encoder_name); lives_freep((void **)&rdet); @@ -21982,10 +21339,10 @@ return; } - if (xachans==0&&mt->audio_draws!=NULL) { - LiVESList *slist=mt->audio_draws; - while (slist!=NULL) { - if (lives_widget_object_get_data(LIVES_WIDGET_OBJECT(slist->data),"blocks")!=NULL) { + if (xachans == 0 && mt->audio_draws != NULL) { + LiVESList *slist = mt->audio_draws; + while (slist != NULL) { + if (lives_widget_object_get_data(LIVES_WIDGET_OBJECT(slist->data), "blocks") != NULL) { do_mt_no_audchan_error(); lives_widget_destroy(rdet->dialog); lives_free(rdet->encoder_name); @@ -21993,195 +21350,191 @@ lives_freep((void **)&resaudw); return; } - slist=slist->next; + slist = slist->next; } } if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(rdet->always_checkbutton))) { - prefs->mt_enter_prompt=FALSE; - set_boolean_pref(PREF_MT_ENTER_PROMPT,prefs->mt_enter_prompt); - prefs->mt_def_width=rdet->width; - set_int_pref(PREF_MT_DEF_WIDTH,prefs->mt_def_width); - prefs->mt_def_height=rdet->height; - set_int_pref(PREF_MT_DEF_HEIGHT,prefs->mt_def_height); - prefs->mt_def_fps=rdet->fps; - set_double_pref(PREF_MT_DEF_FPS,prefs->mt_def_fps); - prefs->mt_def_arate=xarate; - set_int_pref(PREF_MT_DEF_ARATE,prefs->mt_def_arate); - prefs->mt_def_achans=xachans; - set_int_pref(PREF_MT_DEF_ACHANS,prefs->mt_def_achans); - prefs->mt_def_asamps=xasamps; - set_int_pref(PREF_MT_DEF_ASAMPS,prefs->mt_def_asamps); - prefs->mt_def_signed_endian=xse; - set_int_pref(PREF_MT_DEF_SIGNED_ENDIAN,prefs->mt_def_signed_endian); - prefs->mt_pertrack_audio=ptaud; - set_boolean_pref(PREF_MT_PERTRACK_AUDIO,prefs->mt_pertrack_audio); - prefs->mt_backaudio=btaud; - set_int_pref(PREF_MT_BACKAUDIO,prefs->mt_backaudio); + prefs->mt_enter_prompt = FALSE; + set_boolean_pref(PREF_MT_ENTER_PROMPT, prefs->mt_enter_prompt); + prefs->mt_def_width = rdet->width; + set_int_pref(PREF_MT_DEF_WIDTH, prefs->mt_def_width); + prefs->mt_def_height = rdet->height; + set_int_pref(PREF_MT_DEF_HEIGHT, prefs->mt_def_height); + prefs->mt_def_fps = rdet->fps; + set_double_pref(PREF_MT_DEF_FPS, prefs->mt_def_fps); + prefs->mt_def_arate = xarate; + set_int_pref(PREF_MT_DEF_ARATE, prefs->mt_def_arate); + prefs->mt_def_achans = xachans; + set_int_pref(PREF_MT_DEF_ACHANS, prefs->mt_def_achans); + prefs->mt_def_asamps = xasamps; + set_int_pref(PREF_MT_DEF_ASAMPS, prefs->mt_def_asamps); + prefs->mt_def_signed_endian = xse; + set_int_pref(PREF_MT_DEF_SIGNED_ENDIAN, prefs->mt_def_signed_endian); + prefs->mt_pertrack_audio = ptaud; + set_boolean_pref(PREF_MT_PERTRACK_AUDIO, prefs->mt_pertrack_audio); + prefs->mt_backaudio = btaud; + set_int_pref(PREF_MT_BACKAUDIO, prefs->mt_backaudio); } else { if (!prefs->mt_enter_prompt) { - prefs->mt_enter_prompt=TRUE; - set_boolean_pref(PREF_MT_ENTER_PROMPT,prefs->mt_enter_prompt); + prefs->mt_enter_prompt = TRUE; + set_boolean_pref(PREF_MT_ENTER_PROMPT, prefs->mt_enter_prompt); } } lives_widget_destroy(rdet->dialog); - mt->user_width=rdet->width; - mt->user_height=rdet->height; - mt->user_fps=rdet->fps; - mt->user_arate=xarate; - mt->user_achans=xachans; - mt->user_asamps=xasamps; - mt->user_signed_endian=xse; + mt->user_width = rdet->width; + mt->user_height = rdet->height; + mt->user_fps = rdet->fps; + mt->user_arate = xarate; + mt->user_achans = xachans; + mt->user_asamps = xasamps; + mt->user_signed_endian = xse; lives_free(rdet->encoder_name); lives_freep((void **)&rdet); lives_freep((void **)&resaudw); - msg=set_values_from_defs(mt,FALSE); - if (msg!=NULL) { + msg = set_values_from_defs(mt, FALSE); + if (msg != NULL) { d_print(msg); lives_free(msg); set_mt_title(mt); } - if (cfile->achans==0) { - delete_audio_tracks(mt,mt->audio_draws,FALSE); - mt->audio_draws=NULL; + if (cfile->achans == 0) { + delete_audio_tracks(mt, mt->audio_draws, FALSE); + mt->audio_draws = NULL; - if (mt->amixer!=NULL) on_amixer_close_clicked(NULL,mt); + if (mt->amixer != NULL) on_amixer_close_clicked(NULL, mt); - if (mt->audio_vols!=NULL) lives_list_free(mt->audio_vols); - mt->audio_vols=NULL; + if (mt->audio_vols != NULL) lives_list_free(mt->audio_vols); + mt->audio_vols = NULL; } - set_interactive(mainw->interactive); - scroll_tracks(mt,mt->top_track,FALSE); + scroll_tracks(mt, mt->top_track, FALSE); } -uint32_t event_list_get_byte_size(lives_mt *mt, weed_plant_t *event_list,int *num_events) { +uint32_t event_list_get_byte_size(lives_mt *mt, weed_plant_t *event_list, int *num_events) { // return serialisation size - int i,j; - uint32_t tot=0; - weed_plant_t *event=get_first_event(event_list); + int i, j; + uint32_t tot = 0; + weed_plant_t *event = get_first_event(event_list); char **leaves; int ne; - int tot_events=0; + int tot_events = 0; // write extra bits in event_list - save_event_list_inner(mt,-1,event_list,NULL); + save_event_list_inner(mt, -1, event_list, NULL); - while (event!=NULL) { + while (event != NULL) { if (WEED_EVENT_IS_FILTER_INIT(event)) { - weed_leaf_delete(event,WEED_LEAF_EVENT_ID); - weed_set_int64_value(event,WEED_LEAF_EVENT_ID,(uint64_t)((void *)event)); + weed_leaf_delete(event, WEED_LEAF_EVENT_ID); + weed_set_int64_value(event, WEED_LEAF_EVENT_ID, (uint64_t)((void *)event)); } tot_events++; - leaves=weed_plant_list_leaves(event); - tot+=sizint; //number of leaves - for (i=0; leaves[i]!=NULL; i++) { - tot+=sizint*3+strlen(leaves[i]); // key_length, seed_type, num_elements - ne=weed_leaf_num_elements(event,leaves[i]); + leaves = weed_plant_list_leaves(event); + tot += sizint; //number of leaves + for (i = 0; leaves[i] != NULL; i++) { + tot += sizint * 3 + strlen(leaves[i]); // key_length, seed_type, num_elements + ne = weed_leaf_num_elements(event, leaves[i]); // sum data_len + data - for (j=0; j<ne; j++) tot+=sizint+weed_leaf_element_size(event,leaves[i],j); + for (j = 0; j < ne; j++) tot += sizint + weed_leaf_element_size(event, leaves[i], j); lives_free(leaves[i]); } lives_free(leaves); - event=get_next_event(event); + event = get_next_event(event); } - event=event_list; - leaves=weed_plant_list_leaves(event); - tot+=sizint; - for (i=0; leaves[i]!=NULL; i++) { - tot+=sizint*3+strlen(leaves[i]); - ne=weed_leaf_num_elements(event,leaves[i]); + event = event_list; + leaves = weed_plant_list_leaves(event); + tot += sizint; + for (i = 0; leaves[i] != NULL; i++) { + tot += sizint * 3 + strlen(leaves[i]); + ne = weed_leaf_num_elements(event, leaves[i]); // sum data_len + data - for (j=0; j<ne; j++) tot+=sizint+weed_leaf_element_size(event,leaves[i],j); + for (j = 0; j < ne; j++) tot += sizint + weed_leaf_element_size(event, leaves[i], j); lives_free(leaves[i]); } lives_free(leaves); - if (num_events!=NULL) *num_events=tot_events; + if (num_events != NULL) *num_events = tot_events; return tot; } void on_amixer_close_clicked(LiVESButton *button, lives_mt *mt) { - lives_amixer_t *amixer=mt->amixer; + lives_amixer_t *amixer = mt->amixer; int i; double val; if (!mainw->interactive) return; - mt->opts.gang_audio=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(amixer->gang_checkbutton)); + mt->opts.gang_audio = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(amixer->gang_checkbutton)); // set vols from slider vals - for (i=0; i<amixer->nchans; i++) { + for (i = 0; i < amixer->nchans; i++) { #if ENABLE_GIW if (prefs->lamp_buttons) { - val=giw_vslider_get_value(GIW_VSLIDER(amixer->ch_sliders[i])); + val = giw_vslider_get_value(GIW_VSLIDER(amixer->ch_sliders[i])); } else { #endif - val=lives_range_get_value(LIVES_RANGE(amixer->ch_sliders[i])); + val = lives_range_get_value(LIVES_RANGE(amixer->ch_sliders[i])); #if ENABLE_GIW } #endif - set_mixer_track_vol(mt,i,val); + set_mixer_track_vol(mt, i, val); } - lives_general_button_clicked(button,NULL); + lives_general_button_clicked(button, NULL); lives_free(amixer->ch_sliders); lives_free(amixer->ch_slider_fns); lives_free(amixer); - mt->amixer=NULL; - if (mt->audio_vols_back!=NULL) lives_list_free(mt->audio_vols_back); + mt->amixer = NULL; + if (mt->audio_vols_back != NULL) lives_list_free(mt->audio_vols_back); //lives_widget_set_sensitive(mt->prerender_aud,TRUE); - } static void on_amixer_reset_clicked(LiVESButton *button, lives_mt *mt) { - lives_amixer_t *amixer=mt->amixer; + lives_amixer_t *amixer = mt->amixer; int i; if (!mainw->interactive) return; - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(amixer->inv_checkbutton),FALSE); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(amixer->gang_checkbutton),mt->opts.gang_audio); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(amixer->inv_checkbutton), FALSE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(amixer->gang_checkbutton), mt->opts.gang_audio); // copy vols to slider vals - for (i=0; i<amixer->nchans; i++) { - + for (i = 0; i < amixer->nchans; i++) { #if ENABLE_GIW if (prefs->lamp_buttons) { - lives_signal_handler_block(giw_vslider_get_adjustment(GIW_VSLIDER(amixer->ch_sliders[i])),amixer->ch_slider_fns[i]); - giw_vslider_set_value(GIW_VSLIDER(amixer->ch_sliders[i]),(double)LIVES_POINTER_TO_INT - (lives_list_nth_data(mt->audio_vols_back,i))/LIVES_AVOL_SCALE); - lives_signal_handler_unblock(giw_vslider_get_adjustment(GIW_VSLIDER(amixer->ch_sliders[i])),amixer->ch_slider_fns[i]); + lives_signal_handler_block(giw_vslider_get_adjustment(GIW_VSLIDER(amixer->ch_sliders[i])), amixer->ch_slider_fns[i]); + giw_vslider_set_value(GIW_VSLIDER(amixer->ch_sliders[i]), (double)LIVES_POINTER_TO_INT + (lives_list_nth_data(mt->audio_vols_back, i)) / LIVES_AVOL_SCALE); + lives_signal_handler_unblock(giw_vslider_get_adjustment(GIW_VSLIDER(amixer->ch_sliders[i])), amixer->ch_slider_fns[i]); } else { #endif - lives_signal_handler_block(lives_range_get_adjustment(LIVES_RANGE(amixer->ch_sliders[i])),amixer->ch_slider_fns[i]); - lives_range_set_value(LIVES_RANGE(amixer->ch_sliders[i]),(double)LIVES_POINTER_TO_INT - (lives_list_nth_data(mt->audio_vols_back,i))/LIVES_AVOL_SCALE); - lives_signal_handler_unblock(lives_range_get_adjustment(LIVES_RANGE(amixer->ch_sliders[i])),amixer->ch_slider_fns[i]); + lives_signal_handler_block(lives_range_get_adjustment(LIVES_RANGE(amixer->ch_sliders[i])), amixer->ch_slider_fns[i]); + lives_range_set_value(LIVES_RANGE(amixer->ch_sliders[i]), (double)LIVES_POINTER_TO_INT + (lives_list_nth_data(mt->audio_vols_back, i)) / LIVES_AVOL_SCALE); + lives_signal_handler_unblock(lives_range_get_adjustment(LIVES_RANGE(amixer->ch_sliders[i])), amixer->ch_slider_fns[i]); #if ENABLE_GIW } #endif } - } static void after_amixer_gang_toggled(LiVESToggleButton *toggle, lives_amixer_t *amixer) { - lives_widget_set_sensitive(amixer->inv_checkbutton,(lives_toggle_button_get_active(toggle))); + lives_widget_set_sensitive(amixer->inv_checkbutton, (lives_toggle_button_get_active(toggle))); if (prefs->lamp_buttons) { if (lives_toggle_button_get_active(toggle)) lives_widget_set_bg_color(LIVES_WIDGET(toggle), LIVES_WIDGET_STATE_ACTIVE, &palette->light_green); @@ -22200,92 +21553,86 @@ void on_amixer_slider_changed(LiVESAdjustment *adj, lives_mt *mt) { - lives_amixer_t *amixer=mt->amixer; - int layer=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(adj),"layer")); - boolean gang=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(amixer->gang_checkbutton)); - boolean inv=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(amixer->inv_checkbutton)); + lives_amixer_t *amixer = mt->amixer; + int layer = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(adj), "layer")); + boolean gang = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(amixer->gang_checkbutton)); + boolean inv = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(amixer->inv_checkbutton)); double val; int i; #if ENABLE_GIW if (prefs->lamp_buttons) { - GiwVSlider *slider=GIW_VSLIDER(amixer->ch_sliders[layer]); - val=giw_vslider_get_value(slider); + GiwVSlider *slider = GIW_VSLIDER(amixer->ch_sliders[layer]); + val = giw_vslider_get_value(slider); } else { #endif if (TRUE) { - LiVESRange *range=LIVES_RANGE(amixer->ch_sliders[layer]); - val=lives_range_get_value(range); + LiVESRange *range = LIVES_RANGE(amixer->ch_sliders[layer]); + val = lives_range_get_value(range); } #if ENABLE_GIW } #endif if (gang) { - if (layer>0) { - for (i=mt->opts.back_audio_tracks; i<amixer->nchans; i++) { + if (layer > 0) { + for (i = mt->opts.back_audio_tracks; i < amixer->nchans; i++) { #if ENABLE_GIW if (prefs->lamp_buttons) { - lives_signal_handler_block(giw_vslider_get_adjustment(GIW_VSLIDER(amixer->ch_sliders[i])),amixer->ch_slider_fns[i]); - giw_vslider_set_value(GIW_VSLIDER(amixer->ch_sliders[i]),val); - lives_signal_handler_unblock(giw_vslider_get_adjustment(GIW_VSLIDER(amixer->ch_sliders[i])),amixer->ch_slider_fns[i]); + lives_signal_handler_block(giw_vslider_get_adjustment(GIW_VSLIDER(amixer->ch_sliders[i])), amixer->ch_slider_fns[i]); + giw_vslider_set_value(GIW_VSLIDER(amixer->ch_sliders[i]), val); + lives_signal_handler_unblock(giw_vslider_get_adjustment(GIW_VSLIDER(amixer->ch_sliders[i])), amixer->ch_slider_fns[i]); } else { #endif - lives_signal_handler_block(lives_range_get_adjustment(LIVES_RANGE(amixer->ch_sliders[i])),amixer->ch_slider_fns[i]); - lives_range_set_value(LIVES_RANGE(amixer->ch_sliders[i]),val); - lives_signal_handler_unblock(lives_range_get_adjustment(LIVES_RANGE(amixer->ch_sliders[i])),amixer->ch_slider_fns[i]); + lives_signal_handler_block(lives_range_get_adjustment(LIVES_RANGE(amixer->ch_sliders[i])), amixer->ch_slider_fns[i]); + lives_range_set_value(LIVES_RANGE(amixer->ch_sliders[i]), val); + lives_signal_handler_unblock(lives_range_get_adjustment(LIVES_RANGE(amixer->ch_sliders[i])), amixer->ch_slider_fns[i]); #if ENABLE_GIW } #endif } - if (inv&&mt->opts.back_audio_tracks>0) { + if (inv && mt->opts.back_audio_tracks > 0) { #if ENABLE_GIW if (prefs->lamp_buttons) { - lives_signal_handler_block(giw_vslider_get_adjustment(GIW_VSLIDER(amixer->ch_sliders[0])),amixer->ch_slider_fns[0]); - giw_vslider_set_value(GIW_VSLIDER(amixer->ch_sliders[0]),1.-val<0.?0.:1.-val); - lives_signal_handler_unblock(giw_vslider_get_adjustment(GIW_VSLIDER(amixer->ch_sliders[0])),amixer->ch_slider_fns[0]); + lives_signal_handler_block(giw_vslider_get_adjustment(GIW_VSLIDER(amixer->ch_sliders[0])), amixer->ch_slider_fns[0]); + giw_vslider_set_value(GIW_VSLIDER(amixer->ch_sliders[0]), 1. - val < 0. ? 0. : 1. - val); + lives_signal_handler_unblock(giw_vslider_get_adjustment(GIW_VSLIDER(amixer->ch_sliders[0])), amixer->ch_slider_fns[0]); } else { #endif - lives_signal_handler_block(lives_range_get_adjustment(LIVES_RANGE(amixer->ch_sliders[0])),amixer->ch_slider_fns[0]); - lives_range_set_value(LIVES_RANGE(amixer->ch_sliders[0]),1.-val); - lives_signal_handler_unblock(lives_range_get_adjustment(LIVES_RANGE(amixer->ch_sliders[0])),amixer->ch_slider_fns[0]); + lives_signal_handler_block(lives_range_get_adjustment(LIVES_RANGE(amixer->ch_sliders[0])), amixer->ch_slider_fns[0]); + lives_range_set_value(LIVES_RANGE(amixer->ch_sliders[0]), 1. - val); + lives_signal_handler_unblock(lives_range_get_adjustment(LIVES_RANGE(amixer->ch_sliders[0])), amixer->ch_slider_fns[0]); #if ENABLE_GIW } #endif } } else { if (inv) { - for (i=1; i<amixer->nchans; i++) { + for (i = 1; i < amixer->nchans; i++) { #if ENABLE_GIW if (prefs->lamp_buttons) { - lives_signal_handler_block(giw_vslider_get_adjustment(GIW_VSLIDER(amixer->ch_sliders[i])),amixer->ch_slider_fns[i]); - giw_vslider_set_value(GIW_VSLIDER(amixer->ch_sliders[i]),1.-val<0.?0.:1.-val); - lives_signal_handler_unblock(giw_vslider_get_adjustment(GIW_VSLIDER(amixer->ch_sliders[i])),amixer->ch_slider_fns[i]); + lives_signal_handler_block(giw_vslider_get_adjustment(GIW_VSLIDER(amixer->ch_sliders[i])), amixer->ch_slider_fns[i]); + giw_vslider_set_value(GIW_VSLIDER(amixer->ch_sliders[i]), 1. - val < 0. ? 0. : 1. - val); + lives_signal_handler_unblock(giw_vslider_get_adjustment(GIW_VSLIDER(amixer->ch_sliders[i])), amixer->ch_slider_fns[i]); } else { #endif - lives_signal_handler_block(lives_range_get_adjustment(LIVES_RANGE(amixer->ch_sliders[i])),amixer->ch_slider_fns[i]); - lives_range_set_value(LIVES_RANGE(amixer->ch_sliders[i]),1.-val); - lives_signal_handler_unblock(lives_range_get_adjustment(LIVES_RANGE(amixer->ch_sliders[i])),amixer->ch_slider_fns[i]); + lives_signal_handler_block(lives_range_get_adjustment(LIVES_RANGE(amixer->ch_sliders[i])), amixer->ch_slider_fns[i]); + lives_range_set_value(LIVES_RANGE(amixer->ch_sliders[i]), 1. - val); + lives_signal_handler_unblock(lives_range_get_adjustment(LIVES_RANGE(amixer->ch_sliders[i])), amixer->ch_slider_fns[i]); #if ENABLE_GIW } #endif - } } } } if (!mt->is_rendering) { - set_mixer_track_vol(mt,layer,val); + set_mixer_track_vol(mt, layer, val); } - } - - - - LiVESWidget *amixer_add_channel_slider(lives_mt *mt, int i) { // add a slider to audio mixer for layer i; i<0 are backing audio tracks // automatically sets the track name and layer number @@ -22294,10 +21641,10 @@ LiVESWidget *spinbutton; LiVESWidget *label; LiVESWidget *vbox; - lives_amixer_t *amixer=mt->amixer; + lives_amixer_t *amixer = mt->amixer; char *tname; - i+=mt->opts.back_audio_tracks; + i += mt->opts.back_audio_tracks; adj = (LiVESObject *)lives_adjustment_new(0.5, 0., 4., 0.01, 0.1, 0.); @@ -22305,43 +21652,43 @@ #if ENABLE_GIW if (prefs->lamp_buttons) { - amixer->ch_sliders[i]=giw_vslider_new(LIVES_ADJUSTMENT(adj)); - giw_vslider_set_legends_digits(GIW_VSLIDER(amixer->ch_sliders[i]),1); - giw_vslider_set_major_ticks_number(GIW_VSLIDER(amixer->ch_sliders[i]),5); - giw_vslider_set_minor_ticks_number(GIW_VSLIDER(amixer->ch_sliders[i]),4); - if (palette->style&STYLE_1) { + amixer->ch_sliders[i] = giw_vslider_new(LIVES_ADJUSTMENT(adj)); + giw_vslider_set_legends_digits(GIW_VSLIDER(amixer->ch_sliders[i]), 1); + giw_vslider_set_major_ticks_number(GIW_VSLIDER(amixer->ch_sliders[i]), 5); + giw_vslider_set_minor_ticks_number(GIW_VSLIDER(amixer->ch_sliders[i]), 4); + if (palette->style & STYLE_1) { lives_widget_set_bg_color(amixer->ch_sliders[i], LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); } } else { #endif - amixer->ch_sliders[i]=lives_vscale_new(LIVES_ADJUSTMENT(adj)); - lives_range_set_inverted(LIVES_RANGE(amixer->ch_sliders[i]),TRUE); - lives_scale_set_digits(LIVES_SCALE(amixer->ch_sliders[i]),2); - lives_scale_set_value_pos(LIVES_SCALE(amixer->ch_sliders[i]),LIVES_POS_BOTTOM); + amixer->ch_sliders[i] = lives_vscale_new(LIVES_ADJUSTMENT(adj)); + lives_range_set_inverted(LIVES_RANGE(amixer->ch_sliders[i]), TRUE); + lives_scale_set_digits(LIVES_SCALE(amixer->ch_sliders[i]), 2); + lives_scale_set_value_pos(LIVES_SCALE(amixer->ch_sliders[i]), LIVES_POS_BOTTOM); #if ENABLE_GIW } #endif - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(amixer->ch_sliders[i]),"adj",adj); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(adj),"layer",LIVES_INT_TO_POINTER(i)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(amixer->ch_sliders[i]), "adj", adj); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(adj), "layer", LIVES_INT_TO_POINTER(i)); - amixer->ch_slider_fns[i]=lives_signal_connect_after(LIVES_GUI_OBJECT(adj), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, - LIVES_GUI_CALLBACK(on_amixer_slider_changed), - (livespointer)mt); + amixer->ch_slider_fns[i] = lives_signal_connect_after(LIVES_GUI_OBJECT(adj), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, + LIVES_GUI_CALLBACK(on_amixer_slider_changed), + (livespointer)mt); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_fg_color(amixer->ch_sliders[i], LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); } - tname=get_track_name(mt,i-mt->opts.back_audio_tracks,TRUE); - label=lives_standard_label_new(tname); + tname = get_track_name(mt, i - mt->opts.back_audio_tracks, TRUE); + label = lives_standard_label_new(tname); lives_free(tname); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(amixer->ch_sliders[i]),"label",label); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(amixer->ch_sliders[i]), "label", label); - vbox = lives_vbox_new(FALSE, widget_opts.packing_height*1.5); + vbox = lives_vbox_new(FALSE, widget_opts.packing_height * 1.5); lives_box_pack_start(LIVES_BOX(vbox), label, FALSE, FALSE, widget_opts.packing_height); - lives_box_pack_start(LIVES_BOX(vbox), amixer->ch_sliders[i], TRUE, TRUE, widget_opts.packing_height*5); + lives_box_pack_start(LIVES_BOX(vbox), amixer->ch_sliders[i], TRUE, TRUE, widget_opts.packing_height * 5); lives_box_pack_start(LIVES_BOX(vbox), spinbutton, FALSE, FALSE, widget_opts.packing_height); amixer->nchans++; @@ -22350,10 +21697,8 @@ } - - void amixer_show(LiVESButton *button, livespointer user_data) { - lives_mt *mt=(lives_mt *)user_data; + lives_mt *mt = (lives_mt *)user_data; LiVESWidget *amixerw; LiVESWidget *top_vbox; LiVESWidget *vbox; @@ -22365,12 +21710,12 @@ LiVESWidget *eventbox; LiVESWidget *close_button; LiVESWidget *reset_button; - LiVESAccelGroup *accel_group=LIVES_ACCEL_GROUP(lives_accel_group_new()); + LiVESAccelGroup *accel_group = LIVES_ACCEL_GROUP(lives_accel_group_new()); - int nachans=lives_list_length(mt->audio_draws); + int nachans = lives_list_length(mt->audio_draws); - int winsize_h,scr_width=mainw->scr_width; - int winsize_v,scr_height=mainw->scr_height; + int winsize_h, scr_width = mainw->scr_width; + int winsize_v, scr_height = mainw->scr_height; int i; @@ -22378,45 +21723,45 @@ if (!mainw->interactive) return; - if (nachans==0) return; + if (nachans == 0) return; - mt->audio_vols_back=lives_list_copy(mt->audio_vols); + mt->audio_vols_back = lives_list_copy(mt->audio_vols); - amixer=mt->amixer=(lives_amixer_t *)lives_malloc(sizeof(lives_amixer_t)); - amixer->nchans=0; + amixer = mt->amixer = (lives_amixer_t *)lives_malloc(sizeof(lives_amixer_t)); + amixer->nchans = 0; - amixer->ch_sliders=(LiVESWidget **)lives_malloc(nachans*sizeof(LiVESWidget *)); - amixer->ch_slider_fns=(ulong *)lives_malloc(nachans*sizeof(ulong)); + amixer->ch_sliders = (LiVESWidget **)lives_malloc(nachans * sizeof(LiVESWidget *)); + amixer->ch_slider_fns = (ulong *)lives_malloc(nachans * sizeof(ulong)); - if (prefs->gui_monitor!=0) { - scr_width=mainw->mgeom[prefs->gui_monitor-1].width; - scr_height=mainw->mgeom[prefs->gui_monitor-1].height; + if (prefs->gui_monitor != 0) { + scr_width = mainw->mgeom[prefs->gui_monitor - 1].width; + scr_height = mainw->mgeom[prefs->gui_monitor - 1].height; } - winsize_h=scr_width*2/3; - winsize_v=scr_height*2/3; + winsize_h = scr_width * 2 / 3; + winsize_v = scr_height * 2 / 3; amixerw = lives_window_new(LIVES_WINDOW_TOPLEVEL); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(amixerw, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_fg_color(amixerw, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); } - lives_window_set_title(LIVES_WINDOW(amixerw),_("Multitrack Audio Mixer")); + lives_window_set_title(LIVES_WINDOW(amixerw), _("Multitrack Audio Mixer")); top_vbox = lives_vbox_new(FALSE, 0); - amixer->main_hbox = lives_hbox_new(FALSE, widget_opts.packing_width*2); + amixer->main_hbox = lives_hbox_new(FALSE, widget_opts.packing_width * 2); scrolledwindow = lives_standard_scrolled_window_new(winsize_h, winsize_v, amixer->main_hbox); - if (prefs->gui_monitor!=0) { - int xcen=mainw->mgeom[prefs->gui_monitor-1].x+(mainw->mgeom[prefs->gui_monitor-1].width- - lives_widget_get_allocation_width(amixerw))/2; - int ycen=mainw->mgeom[prefs->gui_monitor-1].y+(mainw->mgeom[prefs->gui_monitor-1].height- - lives_widget_get_allocation_height(amixerw))/2; - lives_window_set_screen(LIVES_WINDOW(amixerw),mainw->mgeom[prefs->gui_monitor-1].screen); - lives_window_move(LIVES_WINDOW(amixerw),xcen,ycen); + if (prefs->gui_monitor != 0) { + int xcen = mainw->mgeom[prefs->gui_monitor - 1].x + (mainw->mgeom[prefs->gui_monitor - 1].width - + lives_widget_get_allocation_width(amixerw)) / 2; + int ycen = mainw->mgeom[prefs->gui_monitor - 1].y + (mainw->mgeom[prefs->gui_monitor - 1].height - + lives_widget_get_allocation_height(amixerw)) / 2; + lives_window_set_screen(LIVES_WINDOW(amixerw), mainw->mgeom[prefs->gui_monitor - 1].screen); + lives_window_move(LIVES_WINDOW(amixerw), xcen, ycen); } if (prefs->open_maximised) { @@ -22427,7 +21772,7 @@ lives_container_add(LIVES_CONTAINER(amixerw), top_vbox); hbuttonbox = lives_hbutton_box_new(); - lives_box_pack_start(LIVES_BOX(top_vbox), hbuttonbox, FALSE, TRUE, widget_opts.packing_height*2); + lives_box_pack_start(LIVES_BOX(top_vbox), hbuttonbox, FALSE, TRUE, widget_opts.packing_height * 2); lives_button_box_set_layout(LIVES_BUTTON_BOX(hbuttonbox), LIVES_BUTTONBOX_SPREAD); @@ -22443,8 +21788,8 @@ add_fill_to_box(LIVES_BOX(hbuttonbox)); - lives_button_box_set_button_width(LIVES_BUTTON_BOX(hbuttonbox), reset_button, DEF_BUTTON_WIDTH*4); - lives_button_box_set_button_width(LIVES_BUTTON_BOX(hbuttonbox), close_button, DEF_BUTTON_WIDTH*4); + lives_button_box_set_button_width(LIVES_BUTTON_BOX(hbuttonbox), reset_button, DEF_BUTTON_WIDTH * 4); + lives_button_box_set_button_width(LIVES_BUTTON_BOX(hbuttonbox), close_button, DEF_BUTTON_WIDTH * 4); lives_widget_add_accelerator(close_button, LIVES_WIDGET_CLICKED_SIGNAL, accel_group, LIVES_KEY_m, LIVES_CONTROL_MASK, @@ -22452,8 +21797,8 @@ lives_window_add_accel_group(LIVES_WINDOW(amixerw), accel_group); - if (mt->opts.back_audio_tracks>0) { - vbox=amixer_add_channel_slider(mt,-1); + if (mt->opts.back_audio_tracks > 0) { + vbox = amixer_add_channel_slider(mt, -1); lives_box_pack_start(LIVES_BOX(amixer->main_hbox), vbox, FALSE, FALSE, widget_opts.packing_width); } @@ -22465,11 +21810,10 @@ vbox = lives_vbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox2), vbox, TRUE, TRUE, widget_opts.packing_height); - if (prefs->lamp_buttons) { amixer->inv_checkbutton = lives_check_button_new_with_label(" "); - lives_toggle_button_set_mode(LIVES_TOGGLE_BUTTON(amixer->inv_checkbutton),FALSE); -#if GTK_CHECK_VERSION(3,0,0) + lives_toggle_button_set_mode(LIVES_TOGGLE_BUTTON(amixer->inv_checkbutton), FALSE); +#if GTK_CHECK_VERSION(3, 0, 0) lives_signal_connect(LIVES_GUI_OBJECT(amixer->inv_checkbutton), LIVES_WIDGET_EXPOSE_EVENT, LIVES_GUI_CALLBACK(draw_cool_toggle), NULL); @@ -22481,25 +21825,24 @@ LIVES_GUI_CALLBACK(after_amixer_inv_toggled), (livespointer)amixer); - after_amixer_inv_toggled(LIVES_TOGGLE_BUTTON(amixer->inv_checkbutton),amixer); + after_amixer_inv_toggled(LIVES_TOGGLE_BUTTON(amixer->inv_checkbutton), amixer); } else amixer->inv_checkbutton = lives_check_button_new(); - - if (mt->opts.back_audio_tracks>0&&mt->opts.pertrack_audio) { - label=lives_standard_label_new_with_mnemonic(_("_Invert backing audio\nand layer volumes"),amixer->inv_checkbutton); + if (mt->opts.back_audio_tracks > 0 && mt->opts.pertrack_audio) { + label = lives_standard_label_new_with_mnemonic(_("_Invert backing audio\nand layer volumes"), amixer->inv_checkbutton); lives_widget_set_tooltip_text(amixer->inv_checkbutton, _("Adjust backing and layer audio values so that they sum to 1.0")); - eventbox=lives_event_box_new(); - lives_tooltips_copy(eventbox,amixer->inv_checkbutton); - lives_label_set_mnemonic_widget(LIVES_LABEL(label),amixer->inv_checkbutton); + eventbox = lives_event_box_new(); + lives_tooltips_copy(eventbox, amixer->inv_checkbutton); + lives_label_set_mnemonic_widget(LIVES_LABEL(label), amixer->inv_checkbutton); - lives_container_add(LIVES_CONTAINER(eventbox),label); + lives_container_add(LIVES_CONTAINER(eventbox), label); lives_signal_connect(LIVES_GUI_OBJECT(eventbox), LIVES_WIDGET_BUTTON_PRESS_EVENT, LIVES_GUI_CALLBACK(label_act_toggle), amixer->inv_checkbutton); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_fg_color(eventbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); lives_widget_set_bg_color(eventbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); } @@ -22516,11 +21859,10 @@ add_fill_to_box(LIVES_BOX(hbox)); } - if (prefs->lamp_buttons) { amixer->gang_checkbutton = lives_check_button_new_with_label(" "); - lives_toggle_button_set_mode(LIVES_TOGGLE_BUTTON(amixer->gang_checkbutton),FALSE); -#if GTK_CHECK_VERSION(3,0,0) + lives_toggle_button_set_mode(LIVES_TOGGLE_BUTTON(amixer->gang_checkbutton), FALSE); +#if GTK_CHECK_VERSION(3, 0, 0) lives_signal_connect(LIVES_GUI_OBJECT(amixer->gang_checkbutton), LIVES_WIDGET_EXPOSE_EVENT, LIVES_GUI_CALLBACK(draw_cool_toggle), NULL); @@ -22529,22 +21871,21 @@ lives_widget_set_bg_color(amixer->gang_checkbutton, LIVES_WIDGET_STATE_NORMAL, &palette->dark_red); } else amixer->gang_checkbutton = lives_check_button_new(); - if (mt->opts.pertrack_audio) { - label=lives_standard_label_new_with_mnemonic(_("_Gang layer audio"),amixer->gang_checkbutton); + label = lives_standard_label_new_with_mnemonic(_("_Gang layer audio"), amixer->gang_checkbutton); lives_widget_set_tooltip_text(amixer->gang_checkbutton, _("Adjust all layer audio values to the same value")); - eventbox=lives_event_box_new(); - lives_tooltips_copy(eventbox,amixer->gang_checkbutton); + eventbox = lives_event_box_new(); + lives_tooltips_copy(eventbox, amixer->gang_checkbutton); - lives_container_add(LIVES_CONTAINER(eventbox),label); + lives_container_add(LIVES_CONTAINER(eventbox), label); lives_signal_connect(LIVES_GUI_OBJECT(eventbox), LIVES_WIDGET_BUTTON_PRESS_EVENT, LIVES_GUI_CALLBACK(label_act_toggle), amixer->gang_checkbutton); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(amixer->gang_checkbutton),mt->opts.gang_audio); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(amixer->gang_checkbutton), mt->opts.gang_audio); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_fg_color(eventbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); lives_widget_set_bg_color(eventbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); } @@ -22562,8 +21903,8 @@ add_fill_to_box(LIVES_BOX(vbox2)); - for (i=0; i<nachans-mt->opts.back_audio_tracks; i++) { - vbox=amixer_add_channel_slider(mt,i); + for (i = 0; i < nachans - mt->opts.back_audio_tracks; i++) { + vbox = amixer_add_channel_slider(mt, i); lives_box_pack_start(LIVES_BOX(amixer->main_hbox), vbox, FALSE, FALSE, widget_opts.packing_width); } @@ -22578,20 +21919,17 @@ lives_widget_add_accelerator(close_button, LIVES_WIDGET_CLICKED_SIGNAL, accel_group, LIVES_KEY_Escape, (LiVESXModifierType)0, (LiVESAccelFlags)0); - - lives_signal_connect_after(LIVES_GUI_OBJECT(amixer->gang_checkbutton), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(after_amixer_gang_toggled), (livespointer)amixer); - after_amixer_gang_toggled(LIVES_TOGGLE_BUTTON(amixer->gang_checkbutton),amixer); + after_amixer_gang_toggled(LIVES_TOGGLE_BUTTON(amixer->gang_checkbutton), amixer); lives_widget_grab_focus(close_button); - on_amixer_reset_clicked(NULL,mt); + on_amixer_reset_clicked(NULL, mt); lives_widget_show_all(amixerw); - } @@ -22601,12 +21939,12 @@ LiVESWidget *get_eventbox_for_track(lives_mt *mt, int ntrack) { - LiVESWidget *eventbox=NULL; - if (mt!=NULL) { - if (mt_track_is_video(mt,ntrack)) { - eventbox=(LiVESWidget *)lives_list_nth_data(mt->video_draws, ntrack); - } else if (mt_track_is_audio(mt,ntrack)) { - eventbox=(LiVESWidget *)lives_list_nth_data(mt->audio_draws, 1-ntrack); + LiVESWidget *eventbox = NULL; + if (mt != NULL) { + if (mt_track_is_video(mt, ntrack)) { + eventbox = (LiVESWidget *)lives_list_nth_data(mt->video_draws, ntrack); + } else if (mt_track_is_audio(mt, ntrack)) { + eventbox = (LiVESWidget *)lives_list_nth_data(mt->audio_draws, 1 - ntrack); } } return eventbox; @@ -22614,14 +21952,14 @@ static track_rect *get_nth_block_for_track(lives_mt *mt, int itrack, int iblock) { - int count=0; + int count = 0; track_rect *block; - LiVESWidget *eventbox=get_eventbox_for_track(mt,itrack); - if (eventbox==NULL) return NULL; //<invalid track - block=(track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "blocks"); - while (block!=NULL) { - if (count==iblock) return block; - block=block->next; + LiVESWidget *eventbox = get_eventbox_for_track(mt, itrack); + if (eventbox == NULL) return NULL; //<invalid track + block = (track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "blocks"); + while (block != NULL) { + if (count == iblock) return block; + block = block->next; count++; } @@ -22629,77 +21967,73 @@ } - - // remote API helpers - track_rect *find_block_by_uid(lives_mt *mt, ulong uid) { LiVESList *list; track_rect *block; - if (mt == NULL || uid==0l) return NULL; + if (mt == NULL || uid == 0l) return NULL; list = mt->video_draws; - while (list!=NULL) { - block=(track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(list->data), "blocks"); - while (block!=NULL) { - if (block->uid==uid) return block; - block=block->next; + while (list != NULL) { + block = (track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(list->data), "blocks"); + while (block != NULL) { + if (block->uid == uid) return block; + block = block->next; } } list = mt->audio_draws; - while (list!=NULL) { - block=(track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(list->data), "blocks"); - while (block!=NULL) { - if (block->uid==uid) return block; - block=block->next; + while (list != NULL) { + block = (track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(list->data), "blocks"); + while (block != NULL) { + if (block->uid == uid) return block; + block = block->next; } } return NULL; - } boolean mt_track_is_video(lives_mt *mt, int ntrack) { - if (ntrack>=0&&mt->video_draws!=NULL&&ntrack<lives_list_length(mt->video_draws)) return TRUE; + if (ntrack >= 0 && mt->video_draws != NULL && ntrack < lives_list_length(mt->video_draws)) return TRUE; return FALSE; } boolean mt_track_is_audio(lives_mt *mt, int ntrack) { - if (ntrack<=0&&mt->audio_draws!=NULL&&ntrack>=-(lives_list_length(mt->audio_draws))) return TRUE; + if (ntrack <= 0 && mt->audio_draws != NULL && ntrack >= -(lives_list_length(mt->audio_draws))) return TRUE; return FALSE; } ulong mt_get_last_block_uid(lives_mt *mt) { - int track=mt->current_track; + int track = mt->current_track; track_rect *lastblock; - LiVESWidget *eventbox=get_eventbox_for_track(mt,track); - if (eventbox==NULL) return 0l; //<invalid track - lastblock=(track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"block_last"); - if (lastblock==NULL) return 0l; ///< no blocks in track + LiVESWidget *eventbox = get_eventbox_for_track(mt, track); + if (eventbox == NULL) return 0l; //<invalid track + lastblock = (track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "block_last"); + if (lastblock == NULL) return 0l; ///< no blocks in track return lastblock->uid; } int mt_get_block_count(lives_mt *mt, int ntrack) { - int count=0; - track_rect *block,*lastblock; - LiVESWidget *eventbox=get_eventbox_for_track(mt,ntrack); - if (eventbox==NULL) return -1; //<invalid track - lastblock=(track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox),"block_last"); - if (lastblock==NULL) return -1; ///< no blocks in track - block=(track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "blocks"); - while (block!=NULL) { - if (block==lastblock) break; - block=block->next; + int count = 0; + track_rect *block, *lastblock; + LiVESWidget *eventbox = get_eventbox_for_track(mt, ntrack); + if (eventbox == NULL) return -1; //<invalid track + lastblock = (track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "block_last"); + if (lastblock == NULL) return -1; ///< no blocks in track + block = (track_rect *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(eventbox), "blocks"); + while (block != NULL) { + if (block == lastblock) break; + block = block->next; count++; } @@ -22709,70 +22043,65 @@ /// return time in seconds of first frame event in block double mt_get_block_sttime(lives_mt *mt, int ntrack, int iblock) { - track_rect *block=get_nth_block_for_track(mt,ntrack,iblock); - if (block==NULL) return -1; ///< invalid track or block number - return (double)get_event_timecode(block->start_event)/U_SEC; + track_rect *block = get_nth_block_for_track(mt, ntrack, iblock); + if (block == NULL) return -1; ///< invalid track or block number + return (double)get_event_timecode(block->start_event) / U_SEC; } /// return time in seconds of last frame event in block, + event duration double mt_get_block_entime(lives_mt *mt, int ntrack, int iblock) { - track_rect *block=get_nth_block_for_track(mt,ntrack,iblock); - if (block==NULL) return -1; ///< invalid track or block number - return (double)get_event_timecode(block->end_event)/U_SEC+1./mt->fps; + track_rect *block = get_nth_block_for_track(mt, ntrack, iblock); + if (block == NULL) return -1; ///< invalid track or block number + return (double)get_event_timecode(block->end_event) / U_SEC + 1. / mt->fps; } track_rect *get_block_from_track_and_time(lives_mt *mt, int track, double time) { LiVESWidget *ebox; - if (mt==NULL) return NULL; - ebox=get_eventbox_for_track(mt,track); + if (mt == NULL) return NULL; + ebox = get_eventbox_for_track(mt, track); return get_block_from_time(ebox, time, mt); } int get_clip_for_block(track_rect *block) { int track; - if (block==NULL) return -1; - track=get_track_for_block(block); + if (block == NULL) return -1; + track = get_track_for_block(block); return get_frame_event_clip(block->start_event, track); } - - - - //////////////////////////////////// // autotransitions // - void mt_do_autotransition(lives_mt *mt, track_rect *block) { // prefs->atrans_track0 should be the output track (usually the lower of the two) - track_rect *oblock=NULL; - weed_timecode_t sttc,endtc=0; + track_rect *oblock = NULL; + weed_timecode_t sttc, endtc = 0; weed_plant_t **ptmpls; weed_plant_t **oparams; - weed_plant_t *stevent,*enevent; + weed_plant_t *stevent, *enevent; weed_plant_t *filter; weed_plant_t *ptm; - weed_plant_t *old_mt_init=mt->init_event; + weed_plant_t *old_mt_init = mt->init_event; LiVESList *slist; - double region_start=mt->region_start; - double region_end=mt->region_end; + double region_start = mt->region_start; + double region_end = mt->region_end; - boolean did_backup=FALSE; - boolean needs_idle=FALSE; + boolean did_backup = FALSE; + boolean needs_idle = FALSE; - int nvids=lives_list_length(mt->video_draws); - int current_fx=mt->current_fx; + int nvids = lives_list_length(mt->video_draws); + int current_fx = mt->current_fx; int error; int tparam; @@ -22782,189 +22111,188 @@ register int i; - if (block==NULL) return; ///<invalid block + if (block == NULL) return; ///<invalid block - filter=get_weed_filter(prefs->atrans_fx); - if (num_in_params(filter,TRUE,TRUE)==0) return; ///<filter has no (visible) in parameters + filter = get_weed_filter(prefs->atrans_fx); + if (num_in_params(filter, TRUE, TRUE) == 0) return; ///<filter has no (visible) in parameters - tparam=get_transition_param(filter,FALSE); - if (tparam==-1) return; ///< filter has no transition parameter + tparam = get_transition_param(filter, FALSE); + if (tparam == -1) return; ///< filter has no transition parameter - ptmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); - ptm=ptmpls[tparam]; - param_hint=weed_get_int_value(ptm,WEED_LEAF_HINT,&error); + ptmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); + ptm = ptmpls[tparam]; + param_hint = weed_get_int_value(ptm, WEED_LEAF_HINT, &error); - mt->current_fx=prefs->atrans_fx; + mt->current_fx = prefs->atrans_fx; - sttc=get_event_timecode(block->start_event); + sttc = get_event_timecode(block->start_event); - track=get_track_for_block(block); + track = get_track_for_block(block); // part 1 - transition in - slist=lives_list_copy(mt->selected_tracks); + slist = lives_list_copy(mt->selected_tracks); - if (mt->selected_tracks!=NULL) { + if (mt->selected_tracks != NULL) { lives_list_free(mt->selected_tracks); - mt->selected_tracks=NULL; + mt->selected_tracks = NULL; } - for (i=0; i<nvids; i++) { - if (i==track) continue; ///< cannot transition with self ! - oblock=get_block_from_time((LiVESWidget *)lives_list_nth_data(mt->video_draws,i), - (double)sttc/U_SEC+0.5/mt->fps,mt); + for (i = 0; i < nvids; i++) { + if (i == track) continue; ///< cannot transition with self ! + oblock = get_block_from_time((LiVESWidget *)lives_list_nth_data(mt->video_draws, i), + (double)sttc / U_SEC + 0.5 / mt->fps, mt); - if (oblock!=NULL) { - if (get_event_timecode(oblock->end_event)<=get_event_timecode(block->end_event)) { - endtc=q_gint64(get_event_timecode(oblock->end_event)+U_SEC/mt->fps,mt->fps); + if (oblock != NULL) { + if (get_event_timecode(oblock->end_event) <= get_event_timecode(block->end_event)) { + endtc = q_gint64(get_event_timecode(oblock->end_event) + U_SEC / mt->fps, mt->fps); break; - } else oblock=NULL; + } else oblock = NULL; } } - if (!mt->did_backup&&mt->idlefunc>0) { + if (!mt->did_backup && mt->idlefunc > 0) { // freeze auto backups lives_source_remove(mt->idlefunc); - mt->idlefunc=0; - needs_idle=TRUE; + mt->idlefunc = 0; + needs_idle = TRUE; } - mt->is_atrans=TRUE; ///< force some visual changes + mt->is_atrans = TRUE; ///< force some visual changes - if (oblock!=NULL) { - mt->selected_tracks=lives_list_append(mt->selected_tracks,LIVES_INT_TO_POINTER(track)); - mt->selected_tracks=lives_list_append(mt->selected_tracks,LIVES_INT_TO_POINTER(i)); + if (oblock != NULL) { + mt->selected_tracks = lives_list_append(mt->selected_tracks, LIVES_INT_TO_POINTER(track)); + mt->selected_tracks = lives_list_append(mt->selected_tracks, LIVES_INT_TO_POINTER(i)); - mt_backup(mt,MT_UNDO_APPLY_FILTER,0); - did_backup=mt->did_backup=TRUE; - mt->region_start=sttc/U_SEC; - mt->region_end=endtc/U_SEC; + mt_backup(mt, MT_UNDO_APPLY_FILTER, 0); + did_backup = mt->did_backup = TRUE; + mt->region_start = sttc / U_SEC; + mt->region_end = endtc / U_SEC; mt_add_region_effect(NULL, mt); - nparams=weed_leaf_num_elements(mt->init_event,WEED_LEAF_IN_PARAMETERS); - oparams=(weed_plant_t **)weed_get_voidptr_array(mt->init_event,WEED_LEAF_IN_PARAMETERS,&error); + nparams = weed_leaf_num_elements(mt->init_event, WEED_LEAF_IN_PARAMETERS); + oparams = (weed_plant_t **)weed_get_voidptr_array(mt->init_event, WEED_LEAF_IN_PARAMETERS, &error); - for (i=0; i<nparams; i++) { - if (weed_get_int_value(oparams[i],WEED_LEAF_INDEX,&error)==tparam) break; + for (i = 0; i < nparams; i++) { + if (weed_get_int_value(oparams[i], WEED_LEAF_INDEX, &error) == tparam) break; } - stevent=oparams[i]; + stevent = oparams[i]; - enevent=weed_plant_new(WEED_PLANT_EVENT); - weed_set_int_value(enevent,WEED_LEAF_HINT,WEED_EVENT_HINT_PARAM_CHANGE); - weed_set_int64_value(enevent,WEED_LEAF_TIMECODE,endtc); - weed_set_int_value(enevent,WEED_LEAF_INDEX,tparam); + enevent = weed_plant_new(WEED_PLANT_EVENT); + weed_set_int_value(enevent, WEED_LEAF_HINT, WEED_EVENT_HINT_PARAM_CHANGE); + weed_set_int64_value(enevent, WEED_LEAF_TIMECODE, endtc); + weed_set_int_value(enevent, WEED_LEAF_INDEX, tparam); - weed_set_voidptr_value(enevent,WEED_LEAF_INIT_EVENT,mt->init_event); - weed_set_voidptr_value(enevent,WEED_LEAF_NEXT_CHANGE,NULL); - weed_set_voidptr_value(enevent,WEED_LEAF_PREV_CHANGE,stevent); - weed_add_plant_flags(enevent,WEED_LEAF_READONLY_PLUGIN); + weed_set_voidptr_value(enevent, WEED_LEAF_INIT_EVENT, mt->init_event); + weed_set_voidptr_value(enevent, WEED_LEAF_NEXT_CHANGE, NULL); + weed_set_voidptr_value(enevent, WEED_LEAF_PREV_CHANGE, stevent); + weed_add_plant_flags(enevent, WEED_LEAF_READONLY_PLUGIN); - weed_set_voidptr_value(stevent,WEED_LEAF_NEXT_CHANGE,enevent); + weed_set_voidptr_value(stevent, WEED_LEAF_NEXT_CHANGE, enevent); - if (param_hint==WEED_HINT_INTEGER) { - int min=weed_get_int_value(ptm,WEED_LEAF_MIN,&error); - int max=weed_get_int_value(ptm,WEED_LEAF_MAX,&error); - weed_set_int_value(stevent,WEED_LEAF_VALUE,i<track?min:max); - weed_set_int_value(enevent,WEED_LEAF_VALUE,i<track?max:min); + if (param_hint == WEED_HINT_INTEGER) { + int min = weed_get_int_value(ptm, WEED_LEAF_MIN, &error); + int max = weed_get_int_value(ptm, WEED_LEAF_MAX, &error); + weed_set_int_value(stevent, WEED_LEAF_VALUE, i < track ? min : max); + weed_set_int_value(enevent, WEED_LEAF_VALUE, i < track ? max : min); } else { - double min=weed_get_double_value(ptm,WEED_LEAF_MIN,&error); - double max=weed_get_double_value(ptm,WEED_LEAF_MAX,&error); - weed_set_double_value(stevent,WEED_LEAF_VALUE,i<track?min:max); - weed_set_double_value(enevent,WEED_LEAF_VALUE,i<track?max:min); + double min = weed_get_double_value(ptm, WEED_LEAF_MIN, &error); + double max = weed_get_double_value(ptm, WEED_LEAF_MAX, &error); + weed_set_double_value(stevent, WEED_LEAF_VALUE, i < track ? min : max); + weed_set_double_value(enevent, WEED_LEAF_VALUE, i < track ? max : min); } - insert_param_change_event_at(mt->event_list,oblock->end_event,enevent); + insert_param_change_event_at(mt->event_list, oblock->end_event, enevent); lives_free(oparams); } // part 2, check if there is a transition out - oblock=NULL; - endtc=q_gint64(get_event_timecode(block->end_event)+U_SEC/mt->fps,mt->fps); + oblock = NULL; + endtc = q_gint64(get_event_timecode(block->end_event) + U_SEC / mt->fps, mt->fps); - if (mt->selected_tracks!=NULL) { + if (mt->selected_tracks != NULL) { lives_list_free(mt->selected_tracks); - mt->selected_tracks=NULL; + mt->selected_tracks = NULL; } - for (i=0; i<nvids; i++) { - if (i==track) continue; ///< cannot transition with self ! - oblock=get_block_from_time((LiVESWidget *)lives_list_nth_data(mt->video_draws,i), - (double)endtc/U_SEC+0.5/mt->fps,mt); + for (i = 0; i < nvids; i++) { + if (i == track) continue; ///< cannot transition with self ! + oblock = get_block_from_time((LiVESWidget *)lives_list_nth_data(mt->video_draws, i), + (double)endtc / U_SEC + 0.5 / mt->fps, mt); - if (oblock!=NULL) { - sttc=get_event_timecode(oblock->start_event); - if (sttc<get_event_timecode(block->start_event)) oblock=NULL; + if (oblock != NULL) { + sttc = get_event_timecode(oblock->start_event); + if (sttc < get_event_timecode(block->start_event)) oblock = NULL; else break; } } - if (oblock!=NULL) { - mt->selected_tracks=lives_list_append(mt->selected_tracks,LIVES_INT_TO_POINTER(track)); - mt->selected_tracks=lives_list_append(mt->selected_tracks,LIVES_INT_TO_POINTER(i)); - - if (!did_backup) mt_backup(mt,MT_UNDO_APPLY_FILTER,0); - did_backup=mt->did_backup=TRUE; - mt->region_start=sttc/U_SEC; - mt->region_end=endtc/U_SEC; + if (oblock != NULL) { + mt->selected_tracks = lives_list_append(mt->selected_tracks, LIVES_INT_TO_POINTER(track)); + mt->selected_tracks = lives_list_append(mt->selected_tracks, LIVES_INT_TO_POINTER(i)); + + if (!did_backup) mt_backup(mt, MT_UNDO_APPLY_FILTER, 0); + did_backup = mt->did_backup = TRUE; + mt->region_start = sttc / U_SEC; + mt->region_end = endtc / U_SEC; mt_add_region_effect(NULL, mt); - nparams=weed_leaf_num_elements(mt->init_event,WEED_LEAF_IN_PARAMETERS); - oparams=(weed_plant_t **)weed_get_voidptr_array(mt->init_event,WEED_LEAF_IN_PARAMETERS,&error); + nparams = weed_leaf_num_elements(mt->init_event, WEED_LEAF_IN_PARAMETERS); + oparams = (weed_plant_t **)weed_get_voidptr_array(mt->init_event, WEED_LEAF_IN_PARAMETERS, &error); - for (i=0; i<nparams; i++) { - if (weed_get_int_value(oparams[i],WEED_LEAF_INDEX,&error)==tparam) break; + for (i = 0; i < nparams; i++) { + if (weed_get_int_value(oparams[i], WEED_LEAF_INDEX, &error) == tparam) break; } - stevent=oparams[i]; + stevent = oparams[i]; - enevent=weed_plant_new(WEED_PLANT_EVENT); - weed_set_int_value(enevent,WEED_LEAF_HINT,WEED_EVENT_HINT_PARAM_CHANGE); - weed_set_int64_value(enevent,WEED_LEAF_TIMECODE,get_event_timecode(block->end_event)); - weed_set_int_value(enevent,WEED_LEAF_INDEX,tparam); + enevent = weed_plant_new(WEED_PLANT_EVENT); + weed_set_int_value(enevent, WEED_LEAF_HINT, WEED_EVENT_HINT_PARAM_CHANGE); + weed_set_int64_value(enevent, WEED_LEAF_TIMECODE, get_event_timecode(block->end_event)); + weed_set_int_value(enevent, WEED_LEAF_INDEX, tparam); - weed_set_voidptr_value(enevent,WEED_LEAF_INIT_EVENT,mt->init_event); - weed_set_voidptr_value(enevent,WEED_LEAF_NEXT_CHANGE,NULL); - weed_set_voidptr_value(enevent,WEED_LEAF_PREV_CHANGE,stevent); - weed_add_plant_flags(enevent,WEED_LEAF_READONLY_PLUGIN); + weed_set_voidptr_value(enevent, WEED_LEAF_INIT_EVENT, mt->init_event); + weed_set_voidptr_value(enevent, WEED_LEAF_NEXT_CHANGE, NULL); + weed_set_voidptr_value(enevent, WEED_LEAF_PREV_CHANGE, stevent); + weed_add_plant_flags(enevent, WEED_LEAF_READONLY_PLUGIN); - weed_set_voidptr_value(stevent,WEED_LEAF_NEXT_CHANGE,enevent); + weed_set_voidptr_value(stevent, WEED_LEAF_NEXT_CHANGE, enevent); - if (param_hint==WEED_HINT_INTEGER) { - int min=weed_get_int_value(ptm,WEED_LEAF_MIN,&error); - int max=weed_get_int_value(ptm,WEED_LEAF_MAX,&error); - weed_set_int_value(stevent,WEED_LEAF_VALUE,i<track?max:min); - weed_set_int_value(enevent,WEED_LEAF_VALUE,i<track?min:max); + if (param_hint == WEED_HINT_INTEGER) { + int min = weed_get_int_value(ptm, WEED_LEAF_MIN, &error); + int max = weed_get_int_value(ptm, WEED_LEAF_MAX, &error); + weed_set_int_value(stevent, WEED_LEAF_VALUE, i < track ? max : min); + weed_set_int_value(enevent, WEED_LEAF_VALUE, i < track ? min : max); } else { - double min=weed_get_double_value(ptm,WEED_LEAF_MIN,&error); - double max=weed_get_double_value(ptm,WEED_LEAF_MAX,&error); - weed_set_double_value(stevent,WEED_LEAF_VALUE,i<track?max:min); - weed_set_double_value(enevent,WEED_LEAF_VALUE,i<track?min:max); + double min = weed_get_double_value(ptm, WEED_LEAF_MIN, &error); + double max = weed_get_double_value(ptm, WEED_LEAF_MAX, &error); + weed_set_double_value(stevent, WEED_LEAF_VALUE, i < track ? max : min); + weed_set_double_value(enevent, WEED_LEAF_VALUE, i < track ? min : max); } - insert_param_change_event_at(mt->event_list,block->end_event,enevent); + insert_param_change_event_at(mt->event_list, block->end_event, enevent); lives_free(oparams); } // crossfade audio if (mt->opts.autocross_audio) - weed_set_boolean_value(mt->init_event,WEED_LEAF_HOST_AUDIO_TRANSITION,WEED_TRUE); + weed_set_boolean_value(mt->init_event, WEED_LEAF_HOST_AUDIO_TRANSITION, WEED_TRUE); - mt->is_atrans=FALSE; - mt->region_start=region_start; - mt->region_end=region_end; + mt->is_atrans = FALSE; + mt->region_start = region_start; + mt->region_end = region_end; lives_list_free(mt->selected_tracks); - mt->selected_tracks=lives_list_copy(slist); - if (slist!=NULL) lives_list_free(slist); - mt->current_fx=current_fx; - mt->init_event=old_mt_init; + mt->selected_tracks = lives_list_copy(slist); + if (slist != NULL) lives_list_free(slist); + mt->current_fx = current_fx; + mt->init_event = old_mt_init; lives_free(ptmpls); - if (needs_idle) mt->idlefunc=mt_idle_add(mt); - + if (needs_idle) mt->idlefunc = mt_idle_add(mt); }
View file
LiVES-2.8.4.tar.bz2/src/multitrack.h -> LiVES-2.8.6.tar.bz2/src/multitrack.h
Changed
@@ -83,24 +83,24 @@ typedef enum { // undo actions /// no event_list - MT_UNDO_NONE=0, - MT_UNDO_INSERT_BLOCK=1, - MT_UNDO_INSERT_AUDIO_BLOCK=2, + MT_UNDO_NONE = 0, + MT_UNDO_INSERT_BLOCK = 1, + MT_UNDO_INSERT_AUDIO_BLOCK = 2, // minimal event_list - MT_UNDO_APPLY_FILTER=512, - MT_UNDO_DELETE_FILTER=513, - MT_UNDO_SPLIT=514, - MT_UNDO_SPLIT_MULTI=515, - MT_UNDO_FILTER_MAP_CHANGE=516, + MT_UNDO_APPLY_FILTER = 512, + MT_UNDO_DELETE_FILTER = 513, + MT_UNDO_SPLIT = 514, + MT_UNDO_SPLIT_MULTI = 515, + MT_UNDO_FILTER_MAP_CHANGE = 516, // full backups of event_list - MT_UNDO_DELETE_BLOCK=1024, - MT_UNDO_MOVE_BLOCK=1025, - MT_UNDO_REMOVE_GAPS=1026, - MT_UNDO_DELETE_AUDIO_BLOCK=1027, - MT_UNDO_MOVE_AUDIO_BLOCK=1028, - MT_UNDO_INSERT_GAP=1029 + MT_UNDO_DELETE_BLOCK = 1024, + MT_UNDO_MOVE_BLOCK = 1025, + MT_UNDO_REMOVE_GAPS = 1026, + MT_UNDO_DELETE_AUDIO_BLOCK = 1027, + MT_UNDO_MOVE_AUDIO_BLOCK = 1028, + MT_UNDO_INSERT_GAP = 1029 } lives_mt_undo_t; @@ -116,7 +116,7 @@ typedef enum { - POLY_NONE=0, + POLY_NONE = 0, POLY_CLIPS, POLY_IN_OUT, POLY_FX_STACK, @@ -135,14 +135,14 @@ typedef enum { - MT_LAST_FX_NONE=0, + MT_LAST_FX_NONE = 0, MT_LAST_FX_BLOCK, MT_LAST_FX_REGION } lives_mt_last_fx_type_t; typedef enum { - FX_ORD_NONE=0, + FX_ORD_NONE = 0, FX_ORD_BEFORE, FX_ORD_AFTER } lives_mt_fx_order_t; @@ -150,7 +150,7 @@ typedef enum { // block state - BLOCK_UNSELECTED=0, + BLOCK_UNSELECTED = 0, BLOCK_SELECTED } lives_mt_block_state_t; @@ -650,7 +650,6 @@ char *force_load_name; ///< pointer to a string which contains a filename to be force loaded when load_event_list_activate() is called. ///< Normally NULL except when called from language bindings. - }; // lives_mt @@ -700,7 +699,6 @@ LiVESWidget *eventbox; ///< pointer to eventbox widget which contains this block; we can use its "layer_number" to get the track/layer number - }; @@ -775,6 +773,7 @@ weed_plant_t *add_blank_frames_up_to(weed_plant_t *event_list, weed_plant_t *start_event, weed_timecode_t end_tc, double fps); // track functions +char *get_track_name(lives_mt *, int track_num, boolean is_audio); void on_cback_audio_activate(LiVESMenuItem *, livespointer mt); LiVESWidget *add_audio_track(lives_mt *, int trackno, boolean behind); int add_video_track_behind(LiVESMenuItem *, livespointer mt); @@ -792,7 +791,6 @@ void track_select(lives_mt *); ///< must call after setting mt->current_track boolean mt_track_is_audio(lives_mt *, int ntrack); ///< return TRUE if ntrack is a valid backing audio track boolean mt_track_is_video(lives_mt *, int ntrack); ///< return TRUE if ntrack is a valid video track -char *get_track_name(lives_mt *mt, int track_num, boolean is_audio); void mt_do_autotransition(lives_mt *, track_rect *block); ///< call this on a block to apply autotransition on it @@ -845,7 +843,6 @@ // timeline functions boolean resize_timeline(lives_mt *); -void mt_tl_move_relative(lives_mt *, double pos_rel); void mt_tl_move(lives_mt *, double pos_abs); void set_timeline_end_secs(lives_mt *, double secs); boolean on_timeline_press(LiVESWidget *, LiVESXEventButton *, livespointer mt); @@ -987,19 +984,19 @@ typedef enum { /* default to warn about */ - LMAP_ERROR_MISSING_CLIP=1, - LMAP_ERROR_CLOSE_FILE=2, - LMAP_ERROR_DELETE_FRAMES=3, - LMAP_ERROR_DELETE_AUDIO=4, + LMAP_ERROR_MISSING_CLIP = 1, + LMAP_ERROR_CLOSE_FILE = 2, + LMAP_ERROR_DELETE_FRAMES = 3, + LMAP_ERROR_DELETE_AUDIO = 4, /*non-default*/ - LMAP_ERROR_SHIFT_FRAMES=65, - LMAP_ERROR_ALTER_FRAMES=66, - LMAP_ERROR_SHIFT_AUDIO=67, - LMAP_ERROR_ALTER_AUDIO=68, + LMAP_ERROR_SHIFT_FRAMES = 65, + LMAP_ERROR_ALTER_FRAMES = 66, + LMAP_ERROR_SHIFT_AUDIO = 67, + LMAP_ERROR_ALTER_AUDIO = 68, /* info */ - LMAP_INFO_SETNAME_CHANGED=1024 + LMAP_INFO_SETNAME_CHANGED = 1024 } lives_lmap_error_t;
View file
LiVES-2.8.4.tar.bz2/src/omc-learn.c -> LiVES-2.8.6.tar.bz2/src/omc-learn.c
Changed
@@ -63,14 +63,14 @@ static char byarr[OSC_BUF_SIZE]; static lives_omc_macro_t omc_macros[N_OMC_MACROS]; static LiVESSList *omc_node_list; -static boolean omc_macros_inited=FALSE; +static boolean omc_macros_inited = FALSE; ////////////////////////////////////////////////////////////// static void omc_match_node_free(lives_omc_match_node_t *mnode) { - if (mnode->nvars>0) { + if (mnode->nvars > 0) { lives_free(mnode->offs0); lives_free(mnode->scale); lives_free(mnode->offs1); @@ -80,9 +80,9 @@ lives_free(mnode->matchi); } - if (mnode->map!=NULL) lives_free(mnode->map); - if (mnode->fvali!=NULL) lives_free(mnode->fvali); - if (mnode->fvald!=NULL) lives_free(mnode->fvald); + if (mnode->map != NULL) lives_free(mnode->map); + if (mnode->fvali != NULL) lives_free(mnode->fvali); + if (mnode->fvald != NULL) lives_free(mnode->fvald); lives_free(mnode->srch); @@ -94,32 +94,32 @@ static void remove_all_nodes(boolean every, omclearn_w *omclw) { lives_omc_match_node_t *mnode; - LiVESSList *slist_last=NULL,*slist_next; - LiVESSList *slist=omc_node_list; + LiVESSList *slist_last = NULL, *slist_next; + LiVESSList *slist = omc_node_list; - while (slist!=NULL) { - slist_next=slist->next; + while (slist != NULL) { + slist_next = slist->next; - mnode=(lives_omc_match_node_t *)slist->data; + mnode = (lives_omc_match_node_t *)slist->data; - if (every||mnode->macro==-1) { - if (slist_last!=NULL) slist_last->next=slist->next; - else omc_node_list=slist->next; + if (every || mnode->macro == -1) { + if (slist_last != NULL) slist_last->next = slist->next; + else omc_node_list = slist->next; omc_match_node_free(mnode); - } else slist_last=slist; - slist=slist_next; + } else slist_last = slist; + slist = slist_next; } - lives_widget_set_sensitive(omclw->clear_button,FALSE); - if (slist==NULL) lives_widget_set_sensitive(omclw->del_all_button,FALSE); + lives_widget_set_sensitive(omclw->clear_button, FALSE); + if (slist == NULL) lives_widget_set_sensitive(omclw->del_all_button, FALSE); } static LIVES_INLINE int js_index(const char *string) { // js index, or midi channel number - char **array=lives_strsplit(string," ",-1); - int res=atoi(array[1]); + char **array = lives_strsplit(string, " ", -1); + int res = atoi(array[1]); lives_strfreev(array); return res; } @@ -129,10 +129,10 @@ // midi controller number char **array; int res; - if (get_token_count(string,' ')<3) return -1; + if (get_token_count(string, ' ') < 3) return -1; - array=lives_strsplit(string," ",-1); - res=atoi(array[2]); + array = lives_strsplit(string, " ", -1); + res = atoi(array[2]); lives_strfreev(array); return res; } @@ -153,14 +153,14 @@ // OPEN DEVICE FILE // first try to open /dev/input/js js_fname = "/dev/input/js"; - js_fd = open(js_fname, O_RDONLY|O_NONBLOCK); + js_fd = open(js_fname, O_RDONLY | O_NONBLOCK); if (js_fd < 0) { // if it doesn't open, try to open /dev/input/js0 js_fname = "/dev/input/js0"; - js_fd = open(js_fname, O_RDONLY|O_NONBLOCK); + js_fd = open(js_fname, O_RDONLY | O_NONBLOCK); if (js_fd < 0) { js_fname = "/dev/js0"; - js_fd = open(js_fname, O_RDONLY|O_NONBLOCK); + js_fd = open(js_fname, O_RDONLY | O_NONBLOCK); // if no device is found if (js_fd < 0) { return NULL; @@ -174,21 +174,21 @@ boolean js_open(void) { - if (!(prefs->omc_dev_opts&OMC_DEV_JS)) return TRUE; + if (!(prefs->omc_dev_opts & OMC_DEV_JS)) return TRUE; - if (prefs->omc_js_fname!=NULL) { - js_fd = open(prefs->omc_js_fname, O_RDONLY|O_NONBLOCK); + if (prefs->omc_js_fname != NULL) { + js_fd = open(prefs->omc_js_fname, O_RDONLY | O_NONBLOCK); if (js_fd < 0) return FALSE; } else { - const char *tmp=get_js_filename(); - if (tmp!=NULL) { - lives_snprintf(prefs->omc_js_fname,256,"%s",tmp); + const char *tmp = get_js_filename(); + if (tmp != NULL) { + lives_snprintf(prefs->omc_js_fname, 256, "%s", tmp); } } - if (prefs->omc_js_fname==NULL) return FALSE; + if (prefs->omc_js_fname == NULL) return FALSE; - mainw->ext_cntl[EXT_CNTL_JS]=TRUE; - d_print(_("Responding to joystick events from %s\n"),prefs->omc_js_fname); + mainw->ext_cntl[EXT_CNTL_JS] = TRUE; + d_print(_("Responding to joystick events from %s\n"), prefs->omc_js_fname); return TRUE; } @@ -198,7 +198,7 @@ void js_close(void) { if (mainw->ext_cntl[EXT_CNTL_JS]) { close(js_fd); - mainw->ext_cntl[EXT_CNTL_JS]=FALSE; + mainw->ext_cntl[EXT_CNTL_JS] = FALSE; } } @@ -208,22 +208,22 @@ struct js_event jse; size_t bytes; char *ret; - int type=0; + int type = 0; bytes = read(js_fd, &jse, sizeof(jse)); - if (bytes!=sizeof(jse)) return NULL; + if (bytes != sizeof(jse)) return NULL; jse.type &= ~JS_EVENT_INIT; /* ignore synthetic events */ if (jse.type == JS_EVENT_AXIS) { - type=OMC_JS_AXIS; - if (jse.value==0) return NULL; + type = OMC_JS_AXIS; + if (jse.value == 0) return NULL; } else if (jse.type == JS_EVENT_BUTTON) { - if (jse.value==0) return NULL; - type=OMC_JS_BUTTON; + if (jse.value == 0) return NULL; + type = OMC_JS_BUTTON; } - ret=lives_strdup_printf("%d %d %d",type,jse.number,jse.value); + ret = lives_strdup_printf("%d %d %d", type, jse.number, jse.value); return ret; @@ -251,13 +251,13 @@ // OPEN DEVICE FILE midi_fname = "/dev/midi"; - midi_fd = open(midi_fname, O_RDONLY|O_NONBLOCK); + midi_fd = open(midi_fname, O_RDONLY | O_NONBLOCK); if (midi_fd < 0) { midi_fname = "/dev/midi0"; - midi_fd = open(midi_fname, O_RDONLY|O_NONBLOCK); + midi_fd = open(midi_fname, O_RDONLY | O_NONBLOCK); if (midi_fd < 0) { midi_fname = "/dev/midi1"; - midi_fd = open(midi_fname, O_RDONLY|O_NONBLOCK); + midi_fd = open(midi_fname, O_RDONLY | O_NONBLOCK); if (midi_fd < 0) { return NULL; } @@ -271,7 +271,7 @@ boolean midi_open(void) { - if (!(prefs->omc_dev_opts&OMC_DEV_MIDI)) return TRUE; + if (!(prefs->omc_dev_opts & OMC_DEV_MIDI)) return TRUE; #ifdef ALSA_MIDI if (prefs->use_alsa_midi) { @@ -286,8 +286,8 @@ snd_seq_set_client_name(mainw->seq_handle, "LiVES"); if ((mainw->alsa_midi_port = snd_seq_create_simple_port(mainw->seq_handle, "LiVES", - SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE, - SND_SEQ_PORT_TYPE_APPLICATION|SND_SEQ_PORT_TYPE_PORT|SND_SEQ_PORT_TYPE_SOFTWARE)) < 0) { + SND_SEQ_PORT_CAP_WRITE | SND_SEQ_PORT_CAP_SUBS_WRITE, + SND_SEQ_PORT_TYPE_APPLICATION | SND_SEQ_PORT_TYPE_PORT | SND_SEQ_PORT_TYPE_SOFTWARE)) < 0) { d_print_failed(); return FALSE; @@ -299,25 +299,25 @@ #endif #ifndef IS_MINGW - if (prefs->omc_midi_fname!=NULL) { - midi_fd = open(prefs->omc_midi_fname, O_RDONLY|O_NONBLOCK); + if (prefs->omc_midi_fname != NULL) { + midi_fd = open(prefs->omc_midi_fname, O_RDONLY | O_NONBLOCK); if (midi_fd < 0) return FALSE; } else { - const char *tmp=get_midi_filename(); - if (tmp!=NULL) { - lives_snprintf(prefs->omc_midi_fname,256,"%s",tmp); + const char *tmp = get_midi_filename(); + if (tmp != NULL) { + lives_snprintf(prefs->omc_midi_fname, 256, "%s", tmp); } } - if (prefs->omc_midi_fname==NULL) return FALSE; + if (prefs->omc_midi_fname == NULL) return FALSE; - d_print(_("Responding to MIDI events from %s\n"),prefs->omc_midi_fname); + d_print(_("Responding to MIDI events from %s\n"), prefs->omc_midi_fname); #endif #ifdef ALSA_MIDI } #endif - mainw->ext_cntl[EXT_CNTL_MIDI]=TRUE; + mainw->ext_cntl[EXT_CNTL_MIDI] = TRUE; return TRUE; } @@ -328,11 +328,11 @@ if (mainw->ext_cntl[EXT_CNTL_MIDI]) { #ifdef ALSA_MIDI - if (mainw->seq_handle!=NULL) { + if (mainw->seq_handle != NULL) { // close - snd_seq_delete_simple_port(mainw->seq_handle,mainw->alsa_midi_port); + snd_seq_delete_simple_port(mainw->seq_handle, mainw->alsa_midi_port); snd_seq_close(mainw->seq_handle); - mainw->seq_handle=NULL; + mainw->seq_handle = NULL; } else { #endif @@ -343,7 +343,7 @@ } #endif - mainw->ext_cntl[EXT_CNTL_MIDI]=FALSE; + mainw->ext_cntl[EXT_CNTL_MIDI] = FALSE; } } @@ -364,13 +364,13 @@ static int midi_msg_type(const char *string) { - int type=atoi(string); + int type = atoi(string); - if ((type&0XF0)==0X90) return OMC_MIDI_NOTE; - if ((type&0XF0)==0x80) return OMC_MIDI_NOTE_OFF; - if ((type&0XF0)==0xB0) return OMC_MIDI_CONTROLLER; - if ((type&0XF0)==0xC0) return OMC_MIDI_PGM_CHANGE; - if ((type&0XF0)==0xE0) return OMC_MIDI_PITCH_BEND; + if ((type & 0XF0) == 0X90) return OMC_MIDI_NOTE; + if ((type & 0XF0) == 0x80) return OMC_MIDI_NOTE_OFF; + if ((type & 0XF0) == 0xB0) return OMC_MIDI_CONTROLLER; + if ((type & 0XF0) == 0xC0) return OMC_MIDI_PGM_CHANGE; + if ((type & 0XF0) == 0xE0) return OMC_MIDI_PITCH_BEND; // other types are currently ignored @@ -390,120 +390,120 @@ char *midi_mangle(void) { // get MIDI event and process it - char *string=NULL; + char *string = NULL; - ssize_t bytes,tot=0,allowed=prefs->midi_rpt; - unsigned char midbuf[4],xbuf[4]; - int target=1,mtype=0,idx; - boolean got_target=FALSE; + ssize_t bytes, tot = 0, allowed = prefs->midi_rpt; + unsigned char midbuf[4], xbuf[4]; + int target = 1, mtype = 0, idx; + boolean got_target = FALSE; char *str; #ifdef ALSA_MIDI - int npfd=0; - struct pollfd *pfd=NULL; + int npfd = 0; + struct pollfd *pfd = NULL; snd_seq_event_t *ev; int typeNumber; - boolean hasmore=FALSE; + boolean hasmore = FALSE; - if (mainw->seq_handle!=NULL) { + if (mainw->seq_handle != NULL) { - if (snd_seq_event_input_pending(mainw->seq_handle, 0)==0) { + if (snd_seq_event_input_pending(mainw->seq_handle, 0) == 0) { // returns number of poll descriptors npfd = snd_seq_poll_descriptors_count(mainw->seq_handle, POLLIN); - if (npfd<1) return NULL; + if (npfd < 1) return NULL; pfd = (struct pollfd *)lives_malloc(npfd * sizeof(struct pollfd)); // fill our poll descriptors snd_seq_poll_descriptors(mainw->seq_handle, pfd, npfd, POLLIN); - } else hasmore=TRUE; // events remaining from the last call to this function + } else hasmore = TRUE; // events remaining from the last call to this function if (hasmore || poll(pfd, npfd, 0) > 0) { do { - if (snd_seq_event_input(mainw->seq_handle, &ev)<0) { + if (snd_seq_event_input(mainw->seq_handle, &ev) < 0) { break; // an error occured reading from the port } switch (ev->type) { case SND_SEQ_EVENT_CONTROLLER: - typeNumber=176; - string=lives_strdup_printf("%d %d %u %d",typeNumber+ev->data.control.channel, ev->data.control.channel, ev->data.control.param, - ev->data.control.value); + typeNumber = 176; + string = lives_strdup_printf("%d %d %u %d", typeNumber + ev->data.control.channel, ev->data.control.channel, ev->data.control.param, + ev->data.control.value); break; case SND_SEQ_EVENT_PITCHBEND: - typeNumber=224; - string=lives_strdup_printf("%d %d %d",typeNumber+ev->data.control.channel,ev->data.control.channel, ev->data.control.value); + typeNumber = 224; + string = lives_strdup_printf("%d %d %d", typeNumber + ev->data.control.channel, ev->data.control.channel, ev->data.control.value); break; case SND_SEQ_EVENT_NOTEON: - typeNumber=144; - string=lives_strdup_printf("%d %d %d %d",typeNumber+ev->data.note.channel, ev->data.note.channel, ev->data.note.note, - ev->data.note.velocity); + typeNumber = 144; + string = lives_strdup_printf("%d %d %d %d", typeNumber + ev->data.note.channel, ev->data.note.channel, ev->data.note.note, + ev->data.note.velocity); break; case SND_SEQ_EVENT_NOTEOFF: - typeNumber=128; - string=lives_strdup_printf("%d %d %d %d",typeNumber+ev->data.note.channel, ev->data.note.channel, ev->data.note.note, - ev->data.note.off_velocity); + typeNumber = 128; + string = lives_strdup_printf("%d %d %d %d", typeNumber + ev->data.note.channel, ev->data.note.channel, ev->data.note.note, + ev->data.note.off_velocity); break; case SND_SEQ_EVENT_PGMCHANGE: - typeNumber=192; - string=lives_strdup_printf("%d %d %d",typeNumber+ev->data.note.channel, ev->data.note.channel, ev->data.control.value); + typeNumber = 192; + string = lives_strdup_printf("%d %d %d", typeNumber + ev->data.note.channel, ev->data.note.channel, ev->data.control.value); break; } snd_seq_free_event(ev); - } while (snd_seq_event_input_pending(mainw->seq_handle, 0) > 0 && string==NULL); + } while (snd_seq_event_input_pending(mainw->seq_handle, 0) > 0 && string == NULL); } - if (pfd!=NULL) lives_free(pfd); + if (pfd != NULL) lives_free(pfd); } else { #endif - if (midi_fd==-1) return NULL; + if (midi_fd == -1) return NULL; - while (tot<target) { - bytes = read(midi_fd, xbuf, target-tot); + while (tot < target) { + bytes = read(midi_fd, xbuf, target - tot); - if (bytes<1) { - if (--allowed<0) return NULL; + if (bytes < 1) { + if (--allowed < 0) return NULL; continue; } - str=lives_strdup_printf("%d",xbuf[0]); + str = lives_strdup_printf("%d", xbuf[0]); if (!got_target) { - target=get_midi_len((mtype=midi_msg_type(str))); - got_target=TRUE; + target = get_midi_len((mtype = midi_msg_type(str))); + got_target = TRUE; } lives_free(str); //g_print("midi pip %d %02X , tg=%d\n",bytes,xbuf[0],target); - memcpy(midbuf+tot,xbuf,bytes); + memcpy(midbuf + tot, xbuf, bytes); - tot+=bytes; + tot += bytes; } - if (mtype==0) return NULL; + if (mtype == 0) return NULL; - idx=(midbuf[0]&0x0F); + idx = (midbuf[0] & 0x0F); - if (target==2) string=lives_strdup_printf("%u %u %u",midbuf[0],idx,midbuf[1]); - else if (target==3) string=lives_strdup_printf("%u %u %u %u",midbuf[0],idx,midbuf[1],midbuf[2]); - else string=lives_strdup_printf("%u %u %u %u %u",midbuf[0],idx,midbuf[1],midbuf[2],midbuf[3]); + if (target == 2) string = lives_strdup_printf("%u %u %u", midbuf[0], idx, midbuf[1]); + else if (target == 3) string = lives_strdup_printf("%u %u %u %u", midbuf[0], idx, midbuf[1], midbuf[2]); + else string = lives_strdup_printf("%u %u %u %u %u", midbuf[0], idx, midbuf[1], midbuf[2], midbuf[3]); #ifdef ALSA_MIDI @@ -523,16 +523,16 @@ static LIVES_INLINE char *cut_string_elems(const char *string, int nelems) { // remove elements after nelems - char *retval=lives_strdup(string); + char *retval = lives_strdup(string); register int i; - size_t slen=strlen(string); + size_t slen = strlen(string); - if (nelems<0) return retval; + if (nelems < 0) return retval; - for (i=0; i<slen; i++) { - if (!strncmp((string+i)," ",1)) { - if (--nelems==0) { - memset(retval+i,0,1); + for (i = 0; i < slen; i++) { + if (!strncmp((string + i), " ", 1)) { + if (--nelems == 0) { + memset(retval + i, 0, 1); return retval; } } @@ -554,7 +554,7 @@ return lives_strdup(_("data")); case OMC_MIDI_NOTE: case OMC_MIDI_NOTE_OFF: - if (idx==1) return lives_strdup(_("velocity")); + if (idx == 1) return lives_strdup(_("velocity")); return lives_strdup(_("note")); case OMC_JS_AXIS: return lives_strdup(_("value")); @@ -566,15 +566,15 @@ static int omc_learn_get_pvalue(int type, int idx, const char *string) { - char **array=lives_strsplit(string," ",-1); + char **array = lives_strsplit(string, " ", -1); int res; switch (type) { case OMC_MIDI_CONTROLLER: - res=atoi(array[3+idx]); + res = atoi(array[3 + idx]); break; default: - res=atoi(array[2+idx]); + res = atoi(array[2 + idx]); break; } @@ -585,9 +585,9 @@ static void cell1_edited_callback(LiVESCellRenderer *spinbutton, const char *path_string, const char *new_text, livespointer user_data) { - lives_omc_match_node_t *mnode=(lives_omc_match_node_t *)user_data; + lives_omc_match_node_t *mnode = (lives_omc_match_node_t *)user_data; - lives_omc_macro_t omacro=omc_macros[mnode->macro]; + lives_omc_macro_t omacro = omc_macros[mnode->macro]; int vali; double vald; @@ -598,59 +598,59 @@ int *indices; - LiVESTreePath *tpath=lives_tree_path_new_from_string(path_string); + LiVESTreePath *tpath = lives_tree_path_new_from_string(path_string); - if (lives_tree_path_get_depth(tpath)!=2) { + if (lives_tree_path_get_depth(tpath) != 2) { lives_tree_path_free(tpath); return; } - indices=lives_tree_path_get_indices(tpath); - row=indices[1]; + indices = lives_tree_path_get_indices(tpath); + row = indices[1]; - lives_tree_model_get_iter(LIVES_TREE_MODEL(mnode->gtkstore2),&iter,tpath); + lives_tree_model_get_iter(LIVES_TREE_MODEL(mnode->gtkstore2), &iter, tpath); lives_tree_path_free(tpath); - if (row>(omacro.nparams-mnode->nvars)) { + if (row > (omacro.nparams - mnode->nvars)) { // text, so dont alter return; } switch (omacro.ptypes[row]) { case OMC_PARAM_INT: - vali=atoi(new_text); - mnode->fvali[row]=vali; + vali = atoi(new_text); + mnode->fvali[row] = vali; break; case OMC_PARAM_DOUBLE: - vald=lives_strtod(new_text,NULL); - mnode->fvald[row]=vald; + vald = lives_strtod(new_text, NULL); + mnode->fvald[row] = vald; break; } - lives_tree_store_set(mnode->gtkstore2,&iter,VALUE2_COLUMN,new_text,-1); + lives_tree_store_set(mnode->gtkstore2, &iter, VALUE2_COLUMN, new_text, -1); } -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) static void rowexpand(LiVESWidget *tv, LiVESTreeIter *iter, LiVESTreePath *path, livespointer ud) { lives_widget_queue_resize(tv); } #endif static void omc_macro_row_add_params(lives_omc_match_node_t *mnode, int row, omclearn_w *omclw) { - lives_omc_macro_t macro=omc_macros[mnode->macro]; + lives_omc_macro_t macro = omc_macros[mnode->macro]; LiVESCellRenderer *renderer; LiVESTreeViewColumn *column; - LiVESTreeIter iter1,iter2; + LiVESTreeIter iter1, iter2; LiVESAdjustment *adj; - char *strval=NULL,*vname; - char *oldval=NULL,*final=NULL; + char *strval = NULL, *vname; + char *oldval = NULL, *final = NULL; int mfrom; register int i; @@ -658,42 +658,42 @@ mnode->gtkstore2 = lives_tree_store_new(NUM2_COLUMNS, LIVES_COL_TYPE_STRING, LIVES_COL_TYPE_STRING, LIVES_COL_TYPE_OBJECT); - if (macro.nparams==0) return; + if (macro.nparams == 0) return; lives_tree_store_append(mnode->gtkstore2, &iter1, NULL); /* Acquire an iterator */ lives_tree_store_set(mnode->gtkstore2, &iter1, TITLE2_COLUMN, (_("Params.")), -1); - for (i=0; i<macro.nparams; i++) { + for (i = 0; i < macro.nparams; i++) { lives_tree_store_append(mnode->gtkstore2, &iter2, &iter1); /* Acquire a child iterator */ - if (oldval!=NULL) { + if (oldval != NULL) { lives_free(oldval); - oldval=NULL; + oldval = NULL; } - if (final!=NULL) { + if (final != NULL) { lives_free(final); - final=NULL; + final = NULL; } - adj=NULL; + adj = NULL; - if ((mfrom=mnode->map[i])!=-1) strval=lives_strdup(_("variable")); + if ((mfrom = mnode->map[i]) != -1) strval = lives_strdup(_("variable")); else { switch (macro.ptypes[i]) { case OMC_PARAM_INT: - strval=lives_strdup_printf("%d",mnode->fvali[i]); - adj=lives_adjustment_new(mnode->fvali[i],macro.mini[i],macro.maxi[i],1.,1.,0.); + strval = lives_strdup_printf("%d", mnode->fvali[i]); + adj = lives_adjustment_new(mnode->fvali[i], macro.mini[i], macro.maxi[i], 1., 1., 0.); break; case OMC_PARAM_DOUBLE: - strval=lives_strdup_printf("%.*f",OMC_FP_FIX,mnode->fvald[i]); - adj=lives_adjustment_new(mnode->fvald[i],macro.mind[i],macro.maxd[i],1.,1.,0.); + strval = lives_strdup_printf("%.*f", OMC_FP_FIX, mnode->fvald[i]); + adj = lives_adjustment_new(mnode->fvald[i], macro.mind[i], macro.maxd[i], 1., 1., 0.); break; } } - vname=macro.pname[i]; + vname = macro.pname[i]; lives_tree_store_set(mnode->gtkstore2, &iter2, TITLE2_COLUMN, vname, VALUE2_COLUMN, strval, ADJUSTMENT, adj, -1); } @@ -702,7 +702,7 @@ mnode->treev2 = lives_tree_view_new_with_model(LIVES_TREE_MODEL(mnode->gtkstore2)); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_base_color(mnode->treev2, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_text_color(mnode->treev2, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); } @@ -717,7 +717,7 @@ renderer = lives_cell_renderer_spin_new(); - if (renderer!=NULL) { + if (renderer != NULL) { #ifdef GUI_GTK g_object_set(renderer, "width-chars", 7, "mode", GTK_CELL_RENDERER_MODE_EDITABLE, @@ -740,14 +740,14 @@ lives_widget_show(mnode->treev2); -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) lives_signal_connect(LIVES_GUI_OBJECT(mnode->treev2), LIVES_WIDGET_ROW_EXPANDED_SIGNAL, LIVES_GUI_CALLBACK(rowexpand), NULL); #endif - lives_table_attach(LIVES_TABLE(omclw->table), mnode->treev2, 3, 4, row, row+1, - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), + lives_table_attach(LIVES_TABLE(omclw->table), mnode->treev2, 3, 4, row, row + 1, + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), (LiVESAttachOptions)(LIVES_EXPAND), 0, 0); @@ -758,36 +758,36 @@ static void omc_learn_link_params(lives_omc_match_node_t *mnode) { - lives_omc_macro_t omc_macro=omc_macros[mnode->macro]; - int mps=omc_macro.nparams-1; - int lps=mnode->nvars-1; + lives_omc_macro_t omc_macro = omc_macros[mnode->macro]; + int mps = omc_macro.nparams - 1; + int lps = mnode->nvars - 1; int i; - if (mnode->map!=NULL) lives_free(mnode->map); - if (mnode->fvali!=NULL) lives_free(mnode->fvali); - if (mnode->fvald!=NULL) lives_free(mnode->fvald); + if (mnode->map != NULL) lives_free(mnode->map); + if (mnode->fvali != NULL) lives_free(mnode->fvali); + if (mnode->fvald != NULL) lives_free(mnode->fvald); - mnode->map=(int *)lives_malloc(omc_macro.nparams*sizint); - mnode->fvali=(int *)lives_malloc(omc_macro.nparams*sizint); - mnode->fvald=(double *)lives_malloc(omc_macro.nparams*sizdbl); + mnode->map = (int *)lives_malloc(omc_macro.nparams * sizint); + mnode->fvali = (int *)lives_malloc(omc_macro.nparams * sizint); + mnode->fvald = (double *)lives_malloc(omc_macro.nparams * sizdbl); - if (lps>mps) lps=mps; + if (lps > mps) lps = mps; - if (lps>=0) { - for (i=mps; i>=0; i--) { + if (lps >= 0) { + for (i = mps; i >= 0; i--) { if (mnode->matchp[lps]) lps++; // variable is filtered for } } - for (i=mps; i>=0; i--) { - if (lps<0||lps>=mnode->nvars) { + for (i = mps; i >= 0; i--) { + if (lps < 0 || lps >= mnode->nvars) { //g_print("fixed !\n"); - mnode->map[i]=-1; - if (omc_macro.ptypes[i]==OMC_PARAM_INT) mnode->fvali[i]=omc_macro.vali[i]; - else mnode->fvald[i]=omc_macro.vald[i]; + mnode->map[i] = -1; + if (omc_macro.ptypes[i] == OMC_PARAM_INT) mnode->fvali[i] = omc_macro.vali[i]; + else mnode->fvald[i] = omc_macro.vald[i]; } else { // g_print("varied !\n"); - if (!mnode->matchp[lps]) mnode->map[i]=lps; + if (!mnode->matchp[lps]) mnode->map[i] = lps; else i++; } lps--; @@ -808,43 +808,43 @@ int i; - lives_omc_match_node_t *mnode=(lives_omc_match_node_t *)ptr; + lives_omc_match_node_t *mnode = (lives_omc_match_node_t *)ptr; - int row=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(combo),"row")); - omclearn_w *omclw=(omclearn_w *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(combo),"omclw"); + int row = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(combo), "row")); + omclearn_w *omclw = (omclearn_w *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(combo), "omclw"); - macro_text=lives_combo_get_active_text(LIVES_COMBO(combo)); + macro_text = lives_combo_get_active_text(LIVES_COMBO(combo)); - if (mnode->treev2!=NULL) { + if (mnode->treev2 != NULL) { // remove old mapping lives_widget_destroy(mnode->treev2); - mnode->treev2=NULL; + mnode->treev2 = NULL; - mnode->macro=-1; + mnode->macro = -1; lives_free(mnode->map); lives_free(mnode->fvali); lives_free(mnode->fvald); - mnode->map=mnode->fvali=NULL; - mnode->fvald=NULL; + mnode->map = mnode->fvali = NULL; + mnode->fvald = NULL; } - if (!strcmp(macro_text,mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) { + if (!strcmp(macro_text, mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) { lives_free(macro_text); return; } - for (i=0; i<=N_OMC_MACROS; i++) { - if (!strcmp(macro_text,omc_macros[i].macro_text)) break; + for (i = 0; i <= N_OMC_MACROS; i++) { + if (!strcmp(macro_text, omc_macros[i].macro_text)) break; } lives_free(macro_text); - mnode->macro=i; + mnode->macro = i; omc_learn_link_params(mnode); - omc_macro_row_add_params(mnode,row,omclw); + omc_macro_row_add_params(mnode, row, omclw); } @@ -852,41 +852,41 @@ static void cell_toggled_callback(LiVESCellRenderer *toggle, const char *path_string, livespointer user_data) { - lives_omc_match_node_t *mnode=(lives_omc_match_node_t *)user_data; + lives_omc_match_node_t *mnode = (lives_omc_match_node_t *)user_data; int row; char *txt; int *indices; - LiVESTreePath *tpath=lives_tree_path_new_from_string(path_string); + LiVESTreePath *tpath = lives_tree_path_new_from_string(path_string); LiVESTreeIter iter; - if (lives_tree_path_get_depth(tpath)!=2) { + if (lives_tree_path_get_depth(tpath) != 2) { lives_tree_path_free(tpath); return; } - indices=lives_tree_path_get_indices(tpath); - row=indices[1]; + indices = lives_tree_path_get_indices(tpath); + row = indices[1]; - lives_tree_model_get_iter(LIVES_TREE_MODEL(mnode->gtkstore),&iter,tpath); + lives_tree_model_get_iter(LIVES_TREE_MODEL(mnode->gtkstore), &iter, tpath); lives_tree_path_free(tpath); - lives_tree_model_get(LIVES_TREE_MODEL(mnode->gtkstore),&iter,VALUE_COLUMN,&txt,-1); + lives_tree_model_get(LIVES_TREE_MODEL(mnode->gtkstore), &iter, VALUE_COLUMN, &txt, -1); - if (!strcmp(txt,"-")) { + if (!strcmp(txt, "-")) { lives_free(txt); return; } lives_free(txt); - mnode->matchp[row]=!(mnode->matchp[row]); + mnode->matchp[row] = !(mnode->matchp[row]); - lives_tree_store_set(mnode->gtkstore,&iter,FILTER_COLUMN,mnode->matchp[row],-1); + lives_tree_store_set(mnode->gtkstore, &iter, FILTER_COLUMN, mnode->matchp[row], -1); omc_learn_link_params(mnode); @@ -895,9 +895,9 @@ static void cell_edited_callback(LiVESCellRenderer *spinbutton, const char *path_string, const char *new_text, livespointer user_data) { - lives_omc_match_node_t *mnode=(lives_omc_match_node_t *)user_data; + lives_omc_match_node_t *mnode = (lives_omc_match_node_t *)user_data; - int col=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(spinbutton),"colnum")); + int col = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(spinbutton), "colnum")); int vali; double vald; @@ -908,36 +908,36 @@ int *indices; - LiVESTreePath *tpath=lives_tree_path_new_from_string(path_string); + LiVESTreePath *tpath = lives_tree_path_new_from_string(path_string); - if (lives_tree_path_get_depth(tpath)!=2) { + if (lives_tree_path_get_depth(tpath) != 2) { lives_tree_path_free(tpath); return; } - indices=lives_tree_path_get_indices(tpath); - row=indices[1]; + indices = lives_tree_path_get_indices(tpath); + row = indices[1]; - lives_tree_model_get_iter(LIVES_TREE_MODEL(mnode->gtkstore),&iter,tpath); + lives_tree_model_get_iter(LIVES_TREE_MODEL(mnode->gtkstore), &iter, tpath); lives_tree_path_free(tpath); switch (col) { case OFFS1_COLUMN: - vali=atoi(new_text); - mnode->offs0[row]=vali; + vali = atoi(new_text); + mnode->offs0[row] = vali; break; case OFFS2_COLUMN: - vali=atoi(new_text); - mnode->offs1[row]=vali; + vali = atoi(new_text); + mnode->offs1[row] = vali; break; case SCALE_COLUMN: - vald=lives_strtod(new_text,NULL); - mnode->scale[row]=vald; + vald = lives_strtod(new_text, NULL); + mnode->scale[row] = vald; break; } - lives_tree_store_set(mnode->gtkstore,&iter,col,new_text,-1); + lives_tree_store_set(mnode->gtkstore, &iter, col, new_text, -1); } @@ -953,23 +953,23 @@ LiVESWidget *combo; - combo=lives_combo_new(); + combo = lives_combo_new(); - for (i=0; i<N_OMC_MACROS; i++) { - if (omc_macros[i].msg==NULL) break; + for (i = 0; i < N_OMC_MACROS; i++) { + if (omc_macros[i].msg == NULL) break; - lives_combo_append_text(LIVES_COMBO(combo),omc_macros[i].macro_text); + lives_combo_append_text(LIVES_COMBO(combo), omc_macros[i].macro_text); } - if (mnode->macro!=-1) { - lives_combo_set_active_index(LIVES_COMBO(combo),mnode->macro); + if (mnode->macro != -1) { + lives_combo_set_active_index(LIVES_COMBO(combo), mnode->macro); } lives_signal_connect_after(LIVES_WIDGET_OBJECT(combo), LIVES_WIDGET_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(on_omc_combo_entry_changed), mnode); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(combo),"row",LIVES_INT_TO_POINTER(row)); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(combo),"omclw",(livespointer)omclw); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(combo), "row", LIVES_INT_TO_POINTER(row)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(combo), "omclw", (livespointer)omclw); return combo; } @@ -977,23 +977,23 @@ static void omc_learner_add_row(int type, int detail, lives_omc_match_node_t *mnode, const char *string, omclearn_w *omclw) { - LiVESWidget *label,*combo; + LiVESWidget *label, *combo; LiVESObject *spinadj; LiVESCellRenderer *renderer; LiVESTreeViewColumn *column; - LiVESTreeIter iter1,iter2; + LiVESTreeIter iter1, iter2; - char *strval,*strval2,*strval3,*strval4,*vname,*valstr; - char *oldval=NULL,*final=NULL; - char *labelt=NULL; + char *strval, *strval2, *strval3, *strval4, *vname, *valstr; + char *oldval = NULL, *final = NULL; + char *labelt = NULL; - int chan,val; + int chan, val; register int i; omclw->tbl_rows++; - lives_table_resize(LIVES_TABLE(omclw->table),omclw->tbl_rows,4); + lives_table_resize(LIVES_TABLE(omclw->table), omclw->tbl_rows, 4); mnode->gtkstore = lives_tree_store_new(NUM_COLUMNS, LIVES_COL_TYPE_STRING, LIVES_COL_TYPE_STRING, LIVES_COL_TYPE_BOOLEAN, LIVES_COL_TYPE_STRING, @@ -1002,36 +1002,36 @@ lives_tree_store_append(mnode->gtkstore, &iter1, NULL); /* Acquire an iterator */ lives_tree_store_set(mnode->gtkstore, &iter1, TITLE_COLUMN, (_("Vars.")), -1); - for (i=0; i<mnode->nvars; i++) { + for (i = 0; i < mnode->nvars; i++) { lives_tree_store_append(mnode->gtkstore, &iter2, &iter1); /* Acquire a child iterator */ - if (oldval!=NULL) { + if (oldval != NULL) { lives_free(oldval); - oldval=NULL; + oldval = NULL; } - if (final!=NULL) { + if (final != NULL) { lives_free(final); - final=NULL; + final = NULL; } - strval=lives_strdup_printf("%d - %d",mnode->min[i],mnode->max[i]); - strval2=lives_strdup_printf("%d",mnode->offs0[i]); - strval3=lives_strdup_printf("%.*f",OMC_FP_FIX,mnode->scale[i]); - strval4=lives_strdup_printf("%d",mnode->offs1[i]); + strval = lives_strdup_printf("%d - %d", mnode->min[i], mnode->max[i]); + strval2 = lives_strdup_printf("%d", mnode->offs0[i]); + strval3 = lives_strdup_printf("%.*f", OMC_FP_FIX, mnode->scale[i]); + strval4 = lives_strdup_printf("%d", mnode->offs1[i]); - if (type>0) { - vname=omc_learn_get_pname(type,i); - val=omc_learn_get_pvalue(type,i,string); + if (type > 0) { + vname = omc_learn_get_pname(type, i); + val = omc_learn_get_pvalue(type, i, string); - valstr=lives_strdup_printf("%d",val); + valstr = lives_strdup_printf("%d", val); if (!mnode->matchp[i]) { - mnode->matchi[i]=val; + mnode->matchi[i] = val; } } else { - vname=omc_learn_get_pname(-type,i); - if (mnode->matchp[i]) valstr=lives_strdup_printf("%d",mnode->matchi[i]); - else valstr=lives_strdup("-"); + vname = omc_learn_get_pname(-type, i); + if (mnode->matchp[i]) valstr = lives_strdup_printf("%d", mnode->matchi[i]); + else valstr = lives_strdup("-"); } lives_tree_store_set(mnode->gtkstore, &iter2, TITLE_COLUMN, vname, VALUE_COLUMN, valstr, FILTER_COLUMN, mnode->matchp[i], @@ -1047,56 +1047,56 @@ mnode->treev1 = lives_tree_view_new_with_model(LIVES_TREE_MODEL(mnode->gtkstore)); - if (type<0) type=-type; + if (type < 0) type = -type; switch (type) { case OMC_MIDI_NOTE: - chan=js_index(string); - labelt=lives_strdup_printf(_("MIDI ch %d note on"),chan); + chan = js_index(string); + labelt = lives_strdup_printf(_("MIDI ch %d note on"), chan); break; case OMC_MIDI_NOTE_OFF: - chan=js_index(string); - labelt=lives_strdup_printf(_("MIDI ch %d note off"),chan); + chan = js_index(string); + labelt = lives_strdup_printf(_("MIDI ch %d note off"), chan); break; case OMC_MIDI_CONTROLLER: - chan=js_index(string); - labelt=lives_strdup_printf(_("MIDI ch %d controller %d"),chan,detail); + chan = js_index(string); + labelt = lives_strdup_printf(_("MIDI ch %d controller %d"), chan, detail); break; case OMC_MIDI_PITCH_BEND: - chan=js_index(string); - labelt=lives_strdup_printf(_("MIDI ch %d pitch bend"),chan,detail); + chan = js_index(string); + labelt = lives_strdup_printf(_("MIDI ch %d pitch bend"), chan, detail); break; case OMC_MIDI_PGM_CHANGE: - chan=js_index(string); - labelt=lives_strdup_printf(_("MIDI ch %d pgm change"),chan); + chan = js_index(string); + labelt = lives_strdup_printf(_("MIDI ch %d pgm change"), chan); break; case OMC_JS_BUTTON: - labelt=lives_strdup_printf(_("Joystick button %d"),detail); + labelt = lives_strdup_printf(_("Joystick button %d"), detail); break; case OMC_JS_AXIS: - labelt=lives_strdup_printf(_("Joystick axis %d"),detail); + labelt = lives_strdup_printf(_("Joystick axis %d"), detail); break; } label = lives_standard_label_new(labelt); lives_widget_show(label); - if (labelt!=NULL) lives_free(labelt); + if (labelt != NULL) lives_free(labelt); -#if !GTK_CHECK_VERSION(3,0,0) - if (palette->style&STYLE_1) { +#if !GTK_CHECK_VERSION(3, 0, 0) + if (palette->style & STYLE_1) { lives_widget_set_fg_color(label, LIVES_WIDGET_STATE_NORMAL, &palette->black); } #endif omclw->tbl_currow++; - lives_table_attach(LIVES_TABLE(omclw->table), label, 0, 1, omclw->tbl_currow, omclw->tbl_currow+1, + lives_table_attach(LIVES_TABLE(omclw->table), label, 0, 1, omclw->tbl_currow, omclw->tbl_currow + 1, (LiVESAttachOptions)(0), (LiVESAttachOptions)(0), 0, 0); // properties - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_base_color(mnode->treev1, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_text_color(mnode->treev1, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); } @@ -1136,10 +1136,10 @@ renderer = lives_cell_renderer_spin_new(); - if (renderer!=NULL) { + if (renderer != NULL) { lives_widget_object_set_data(LIVES_WIDGET_OBJECT(renderer), "colnum", LIVES_UINT_TO_POINTER(OFFS1_COLUMN)); - spinadj=(LiVESObject *)lives_adjustment_new(0., -100000., 100000., 1., 10., 0); + spinadj = (LiVESObject *)lives_adjustment_new(0., -100000., 100000., 1., 10., 0); #ifdef GUI_GTK g_object_set(renderer, "width-chars", 7, "mode", GTK_CELL_RENDERER_MODE_EDITABLE, @@ -1159,9 +1159,9 @@ renderer = lives_cell_renderer_spin_new(); - if (renderer!=NULL) { + if (renderer != NULL) { - spinadj=(LiVESObject *)lives_adjustment_new(1., -100000., 100000., 1., 10., 0); + spinadj = (LiVESObject *)lives_adjustment_new(1., -100000., 100000., 1., 10., 0); #ifdef GUI_GTK g_object_set(renderer, "width-chars", 12, "mode", GTK_CELL_RENDERER_MODE_EDITABLE, @@ -1183,8 +1183,8 @@ renderer = lives_cell_renderer_spin_new(); - if (renderer!=NULL) { - spinadj=(LiVESObject *)lives_adjustment_new(0., -100000., 100000., 1., 10., 0); + if (renderer != NULL) { + spinadj = (LiVESObject *)lives_adjustment_new(0., -100000., 100000., 1., 10., 0); #ifdef GUI_GTK g_object_set(renderer, "width-chars", 7, "mode", GTK_CELL_RENDERER_MODE_EDITABLE, @@ -1205,30 +1205,30 @@ lives_widget_show(mnode->treev1); #if LIVES_TABLE_IS_GRID - lives_widget_set_size_request(mnode->treev1,-1,TREE_ROW_HEIGHT); + lives_widget_set_size_request(mnode->treev1, -1, TREE_ROW_HEIGHT); #endif - lives_table_attach(LIVES_TABLE(omclw->table), mnode->treev1, 1, 2, omclw->tbl_currow, omclw->tbl_currow+1, - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), + lives_table_attach(LIVES_TABLE(omclw->table), mnode->treev1, 1, 2, omclw->tbl_currow, omclw->tbl_currow + 1, + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), (LiVESAttachOptions)(LIVES_EXPAND), 0, 0); -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) lives_signal_connect(LIVES_GUI_OBJECT(mnode->treev1), LIVES_WIDGET_ROW_EXPANDED_SIGNAL, LIVES_GUI_CALLBACK(rowexpand), NULL); #endif - combo=create_omc_macro_combo(mnode,omclw->tbl_currow,omclw); + combo = create_omc_macro_combo(mnode, omclw->tbl_currow, omclw); lives_widget_show(combo); - lives_table_attach(LIVES_TABLE(omclw->table), combo, 2, 3, omclw->tbl_currow, omclw->tbl_currow+1, + lives_table_attach(LIVES_TABLE(omclw->table), combo, 2, 3, omclw->tbl_currow, omclw->tbl_currow + 1, (LiVESAttachOptions) 0, (LiVESAttachOptions)(0), 0, 0); - if (mnode->macro==-1) lives_widget_set_sensitive(omclw->clear_button,TRUE); - lives_widget_set_sensitive(omclw->del_all_button,TRUE); + if (mnode->macro == -1) lives_widget_set_sensitive(omclw->clear_button, TRUE); + lives_widget_set_sensitive(omclw->del_all_button, TRUE); } @@ -1242,63 +1242,63 @@ static void show_existing(omclearn_w *omclw) { - LiVESSList *slist=omc_node_list; + LiVESSList *slist = omc_node_list; lives_omc_match_node_t *mnode; - int type,supertype; - char **array,*srch; + int type, supertype; + char **array, *srch; int idx; - while (slist!=NULL) { - mnode=(lives_omc_match_node_t *)slist->data; + while (slist != NULL) { + mnode = (lives_omc_match_node_t *)slist->data; - srch=lives_strdup(mnode->srch); - array=lives_strsplit(srch," ",-1); + srch = lives_strdup(mnode->srch); + array = lives_strsplit(srch, " ", -1); - supertype=atoi(array[0]); + supertype = atoi(array[0]); #ifdef OMC_MIDI_IMPL - if (supertype==OMC_MIDI) { + if (supertype == OMC_MIDI) { size_t blen; char *tmp; - type=midi_msg_type(array[1]); - if (get_token_count(srch,' ')>3) idx=atoi(array[3]); - else idx=-1; - srch=lives_strdup(mnode->srch); - tmp=cut_string_elems(srch,1); - blen=strlen(tmp); - tmp=lives_strdup(srch+blen+1); + type = midi_msg_type(array[1]); + if (get_token_count(srch, ' ') > 3) idx = atoi(array[3]); + else idx = -1; + srch = lives_strdup(mnode->srch); + tmp = cut_string_elems(srch, 1); + blen = strlen(tmp); + tmp = lives_strdup(srch + blen + 1); lives_free(srch); - srch=tmp; + srch = tmp; } else { #endif - type=supertype; - idx=atoi(array[1]); + type = supertype; + idx = atoi(array[1]); #ifdef OMC_MIDI_IMPL } #endif lives_strfreev(array); - omc_learner_add_row(-type,idx,mnode,srch,omclw); + omc_learner_add_row(-type, idx, mnode, srch, omclw); lives_free(srch); - omc_macro_row_add_params(mnode,omclw->tbl_currow,omclw); + omc_macro_row_add_params(mnode, omclw->tbl_currow, omclw); - slist=slist->next; + slist = slist->next; } } static void clear_unmatched(LiVESButton *button, livespointer user_data) { - omclearn_w *omclw=(omclearn_w *)user_data; + omclearn_w *omclw = (omclearn_w *)user_data; // destroy everything in table - lives_container_foreach(LIVES_CONTAINER(omclw->table),killit,NULL); + lives_container_foreach(LIVES_CONTAINER(omclw->table), killit, NULL); - omclw->tbl_currow=-1; + omclw->tbl_currow = -1; - remove_all_nodes(FALSE,omclw); + remove_all_nodes(FALSE, omclw); show_existing(omclw); @@ -1306,22 +1306,22 @@ static void del_all(LiVESButton *button, livespointer user_data) { - omclearn_w *omclw=(omclearn_w *)user_data; + omclearn_w *omclw = (omclearn_w *)user_data; if (!do_warning_dialog(_("\nClick OK to delete all entries\n"))) return; // destroy everything in table - lives_container_foreach(LIVES_CONTAINER(omclw->table),killit,NULL); + lives_container_foreach(LIVES_CONTAINER(omclw->table), killit, NULL); - remove_all_nodes(TRUE,omclw); + remove_all_nodes(TRUE, omclw); } static void close_learner_dialog(LiVESButton *button, livespointer user_data) { - mainw->cancelled=CANCEL_USER; + mainw->cancelled = CANCEL_USER; } @@ -1329,37 +1329,37 @@ static omclearn_w *create_omclearn_dialog(void) { LiVESWidget *ok_button; LiVESWidget *scrolledwindow; - int winsize_h,scr_width=mainw->scr_width; - int winsize_v,scr_height=mainw->scr_height; + int winsize_h, scr_width = mainw->scr_width; + int winsize_v, scr_height = mainw->scr_height; - omclearn_w *omclw=(omclearn_w *)lives_malloc(sizeof(omclearn_w)); + omclearn_w *omclw = (omclearn_w *)lives_malloc(sizeof(omclearn_w)); - omclw->tbl_rows=4; - omclw->tbl_currow=-1; + omclw->tbl_rows = 4; + omclw->tbl_currow = -1; - if (prefs->gui_monitor!=0) { - scr_width=mainw->mgeom[prefs->gui_monitor-1].width; - scr_height=mainw->mgeom[prefs->gui_monitor-1].height; + if (prefs->gui_monitor != 0) { + scr_width = mainw->mgeom[prefs->gui_monitor - 1].width; + scr_height = mainw->mgeom[prefs->gui_monitor - 1].height; } - winsize_h=scr_width-SCR_WIDTH_SAFETY; - winsize_v=scr_height-SCR_HEIGHT_SAFETY; + winsize_h = scr_width - SCR_WIDTH_SAFETY; + winsize_v = scr_height - SCR_HEIGHT_SAFETY; - omclw->dialog = lives_standard_dialog_new(_("OMC Learner"),FALSE,winsize_h,winsize_v); - lives_signal_handlers_disconnect_by_func(omclw->dialog,return_true,NULL); + omclw->dialog = lives_standard_dialog_new(_("OMC Learner"), FALSE, winsize_h, winsize_v); + lives_signal_handlers_disconnect_by_func(omclw->dialog, return_true, NULL); omclw->top_vbox = lives_dialog_get_content_area(LIVES_DIALOG(omclw->dialog)); omclw->table = lives_table_new(omclw->tbl_rows, 4, FALSE); - lives_table_set_col_spacings(LIVES_TABLE(omclw->table),widget_opts.packing_width*2); + lives_table_set_col_spacings(LIVES_TABLE(omclw->table), widget_opts.packing_width * 2); - scrolledwindow = lives_standard_scrolled_window_new(winsize_h, winsize_v-SCR_HEIGHT_SAFETY, omclw->table); + scrolledwindow = lives_standard_scrolled_window_new(winsize_h, winsize_v - SCR_HEIGHT_SAFETY, omclw->table); lives_box_pack_start(LIVES_BOX(omclw->top_vbox), scrolledwindow, TRUE, TRUE, 0); - omclw->clear_button = lives_button_new_from_stock(LIVES_STOCK_CLEAR,_("Clear _unmatched")); - lives_widget_set_size_request(omclw->clear_button, DEF_BUTTON_WIDTH*4, -1); + omclw->clear_button = lives_button_new_from_stock(LIVES_STOCK_CLEAR, _("Clear _unmatched")); + lives_widget_set_size_request(omclw->clear_button, DEF_BUTTON_WIDTH * 4, -1); lives_container_set_border_width(LIVES_CONTAINER(omclw->clear_button), widget_opts.border_width); lives_dialog_add_action_widget(LIVES_DIALOG(omclw->dialog), omclw->clear_button, LIVES_RESPONSE_NONE); @@ -1368,10 +1368,10 @@ LIVES_GUI_CALLBACK(clear_unmatched), (livespointer)omclw); - lives_widget_set_sensitive(omclw->clear_button,FALSE); + lives_widget_set_sensitive(omclw->clear_button, FALSE); - omclw->del_all_button = lives_button_new_from_stock(LIVES_STOCK_DELETE,_("_Delete all")); - lives_widget_set_size_request(omclw->del_all_button, DEF_BUTTON_WIDTH*4, -1); + omclw->del_all_button = lives_button_new_from_stock(LIVES_STOCK_DELETE, _("_Delete all")); + lives_widget_set_size_request(omclw->del_all_button, DEF_BUTTON_WIDTH * 4, -1); lives_container_set_border_width(LIVES_CONTAINER(omclw->del_all_button), widget_opts.border_width); lives_dialog_add_action_widget(LIVES_DIALOG(omclw->dialog), omclw->del_all_button, LIVES_RESPONSE_NONE); @@ -1380,11 +1380,11 @@ LIVES_GUI_CALLBACK(del_all), (livespointer)omclw); - lives_widget_set_sensitive(omclw->del_all_button,FALSE); + lives_widget_set_sensitive(omclw->del_all_button, FALSE); - ok_button = lives_button_new_from_stock(LIVES_STOCK_CLOSE,_("_Close Window")); - lives_widget_set_size_request(ok_button, DEF_BUTTON_WIDTH*4, -1); + ok_button = lives_button_new_from_stock(LIVES_STOCK_CLOSE, _("_Close Window")); + lives_widget_set_size_request(ok_button, DEF_BUTTON_WIDTH * 4, -1); lives_container_set_border_width(LIVES_CONTAINER(ok_button), widget_opts.border_width); lives_dialog_add_action_widget(LIVES_DIALOG(omclw->dialog), ok_button, LIVES_RESPONSE_OK); @@ -1397,13 +1397,13 @@ LIVES_GUI_CALLBACK(close_learner_dialog), NULL); - if (prefs->gui_monitor!=0) { - int xcen=mainw->mgeom[prefs->gui_monitor-1].x+(mainw->mgeom[prefs->gui_monitor-1].width - -lives_widget_get_allocation_width(omclw->dialog))/2; - int ycen=mainw->mgeom[prefs->gui_monitor-1].y+(mainw->mgeom[prefs->gui_monitor-1].height - -lives_widget_get_allocation_height(omclw->dialog))/2; - lives_window_set_screen(LIVES_WINDOW(omclw->dialog),mainw->mgeom[prefs->gui_monitor-1].screen); - lives_window_move(LIVES_WINDOW(omclw->dialog),xcen,ycen); + if (prefs->gui_monitor != 0) { + int xcen = mainw->mgeom[prefs->gui_monitor - 1].x + (mainw->mgeom[prefs->gui_monitor - 1].width + - lives_widget_get_allocation_width(omclw->dialog)) / 2; + int ycen = mainw->mgeom[prefs->gui_monitor - 1].y + (mainw->mgeom[prefs->gui_monitor - 1].height + - lives_widget_get_allocation_height(omclw->dialog)) / 2; + lives_window_set_screen(LIVES_WINDOW(omclw->dialog), mainw->mgeom[prefs->gui_monitor - 1].screen); + lives_window_move(LIVES_WINDOW(omclw->dialog), xcen, ycen); } if (prefs->open_maximised) { @@ -1423,129 +1423,129 @@ static void init_omc_macros(void) { int i; - for (i=0; i<N_OMC_MACROS; i++) { - omc_macros[i].macro_text=NULL; - omc_macros[i].info_text=NULL; - omc_macros[i].msg=NULL; - omc_macros[i].nparams=0; - omc_macros[i].pname=NULL; + for (i = 0; i < N_OMC_MACROS; i++) { + omc_macros[i].macro_text = NULL; + omc_macros[i].info_text = NULL; + omc_macros[i].msg = NULL; + omc_macros[i].nparams = 0; + omc_macros[i].pname = NULL; } - omc_macros[0].msg=lives_strdup("/video/play"); - omc_macros[0].macro_text=lives_strdup(_("Start video playback")); + omc_macros[0].msg = lives_strdup("/video/play"); + omc_macros[0].macro_text = lives_strdup(_("Start video playback")); - omc_macros[1].msg=lives_strdup("/video/stop"); - omc_macros[1].macro_text=lives_strdup(_("Stop video playback")); + omc_macros[1].msg = lives_strdup("/video/stop"); + omc_macros[1].macro_text = lives_strdup(_("Stop video playback")); - omc_macros[2].msg=lives_strdup("/clip/foreground/select"); - omc_macros[2].macro_text=lives_strdup(_("Clip select <clipnum>")); - omc_macros[2].info_text=lives_strdup(_("Switch foreground clip to the nth valid clip")); - omc_macros[2].nparams=1; + omc_macros[2].msg = lives_strdup("/clip/foreground/select"); + omc_macros[2].macro_text = lives_strdup(_("Clip select <clipnum>")); + omc_macros[2].info_text = lives_strdup(_("Switch foreground clip to the nth valid clip")); + omc_macros[2].nparams = 1; - omc_macros[3].msg=lives_strdup("/video/play/forwards"); - omc_macros[3].macro_text=lives_strdup(_("Play forwards")); - omc_macros[3].info_text=lives_strdup(_("Play video in a forwards direction")); + omc_macros[3].msg = lives_strdup("/video/play/forwards"); + omc_macros[3].macro_text = lives_strdup(_("Play forwards")); + omc_macros[3].info_text = lives_strdup(_("Play video in a forwards direction")); - omc_macros[4].msg=lives_strdup("/video/play/backwards"); - omc_macros[4].macro_text=lives_strdup(_("Play backwards")); - omc_macros[4].info_text=lives_strdup(_("Play video in a backwards direction")); + omc_macros[4].msg = lives_strdup("/video/play/backwards"); + omc_macros[4].macro_text = lives_strdup(_("Play backwards")); + omc_macros[4].info_text = lives_strdup(_("Play video in a backwards direction")); - omc_macros[5].msg=lives_strdup("/video/play/reverse"); - omc_macros[5].macro_text=lives_strdup(_("Reverse playback direction")); - omc_macros[5].info_text=lives_strdup(_("Reverse direction of video playback")); + omc_macros[5].msg = lives_strdup("/video/play/reverse"); + omc_macros[5].macro_text = lives_strdup(_("Reverse playback direction")); + omc_macros[5].info_text = lives_strdup(_("Reverse direction of video playback")); - omc_macros[6].msg=lives_strdup("/video/play/faster"); - omc_macros[6].macro_text=lives_strdup(_("Play video faster")); - omc_macros[6].info_text=lives_strdup(_("Play video at a slightly faster rate")); + omc_macros[6].msg = lives_strdup("/video/play/faster"); + omc_macros[6].macro_text = lives_strdup(_("Play video faster")); + omc_macros[6].info_text = lives_strdup(_("Play video at a slightly faster rate")); - omc_macros[7].msg=lives_strdup("/video/play/slower"); - omc_macros[7].macro_text=lives_strdup(_("Play video slower")); - omc_macros[7].info_text=lives_strdup(_("Play video at a slightly slower rate")); + omc_macros[7].msg = lives_strdup("/video/play/slower"); + omc_macros[7].macro_text = lives_strdup(_("Play video slower")); + omc_macros[7].info_text = lives_strdup(_("Play video at a slightly slower rate")); - omc_macros[8].msg=lives_strdup("/video/freeze/toggle"); - omc_macros[8].macro_text=lives_strdup(_("Toggle video freeze")); - omc_macros[8].info_text=lives_strdup(_("Freeze video, or if already frozen, unfreeze it")); + omc_macros[8].msg = lives_strdup("/video/freeze/toggle"); + omc_macros[8].macro_text = lives_strdup(_("Toggle video freeze")); + omc_macros[8].info_text = lives_strdup(_("Freeze video, or if already frozen, unfreeze it")); - omc_macros[9].msg=lives_strdup("/video/fps/set"); - omc_macros[9].macro_text=lives_strdup(_("Set video framerate to <fps>")); - omc_macros[9].info_text=lives_strdup(_("Set framerate of foreground clip to <float fps>")); - omc_macros[9].nparams=1; + omc_macros[9].msg = lives_strdup("/video/fps/set"); + omc_macros[9].macro_text = lives_strdup(_("Set video framerate to <fps>")); + omc_macros[9].info_text = lives_strdup(_("Set framerate of foreground clip to <float fps>")); + omc_macros[9].nparams = 1; - omc_macros[10].msg=lives_strdup("/record/enable"); - omc_macros[10].macro_text=lives_strdup(_("Start recording")); + omc_macros[10].msg = lives_strdup("/record/enable"); + omc_macros[10].macro_text = lives_strdup(_("Start recording")); - omc_macros[11].msg=lives_strdup("/record/disable"); - omc_macros[11].macro_text=lives_strdup(_("Stop recording")); + omc_macros[11].msg = lives_strdup("/record/disable"); + omc_macros[11].macro_text = lives_strdup(_("Stop recording")); - omc_macros[12].msg=lives_strdup("/record/toggle"); - omc_macros[12].macro_text=lives_strdup(_("Toggle recording state")); + omc_macros[12].msg = lives_strdup("/record/toggle"); + omc_macros[12].macro_text = lives_strdup(_("Toggle recording state")); - omc_macros[13].msg=lives_strdup("/clip/foreground/background/swap"); - omc_macros[13].macro_text=lives_strdup(_("Swap foreground and background clips")); - omc_macros[14].msg=lives_strdup("/effect_key/reset"); - omc_macros[14].macro_text=lives_strdup(_("Reset effect keys")); - omc_macros[14].info_text=lives_strdup(_("Switch all effects off.")); + omc_macros[13].msg = lives_strdup("/clip/foreground/background/swap"); + omc_macros[13].macro_text = lives_strdup(_("Swap foreground and background clips")); + omc_macros[14].msg = lives_strdup("/effect_key/reset"); + omc_macros[14].macro_text = lives_strdup(_("Reset effect keys")); + omc_macros[14].info_text = lives_strdup(_("Switch all effects off.")); - omc_macros[15].msg=lives_strdup("/effect_key/enable"); - omc_macros[15].macro_text=lives_strdup(_("Enable effect key <key>")); - omc_macros[15].nparams=1; + omc_macros[15].msg = lives_strdup("/effect_key/enable"); + omc_macros[15].macro_text = lives_strdup(_("Enable effect key <key>")); + omc_macros[15].nparams = 1; - omc_macros[16].msg=lives_strdup("/effect_key/disable"); - omc_macros[16].macro_text=lives_strdup(_("Disable effect key <key>")); - omc_macros[16].nparams=1; + omc_macros[16].msg = lives_strdup("/effect_key/disable"); + omc_macros[16].macro_text = lives_strdup(_("Disable effect key <key>")); + omc_macros[16].nparams = 1; - omc_macros[17].msg=lives_strdup("/effect_key/toggle"); - omc_macros[17].macro_text=lives_strdup(_("Toggle effect key <key>")); - omc_macros[17].nparams=1; + omc_macros[17].msg = lives_strdup("/effect_key/toggle"); + omc_macros[17].macro_text = lives_strdup(_("Toggle effect key <key>")); + omc_macros[17].nparams = 1; - omc_macros[18].msg=lives_strdup("/effect_key/nparameter/value/set"); - omc_macros[18].macro_text=lives_strdup(_("Set parameter value <key> <pnum> = <value>")); - omc_macros[18].info_text=lives_strdup(_("Set <value> of pth (numerical) parameter for effect key <key>.")); - omc_macros[18].nparams=3; + omc_macros[18].msg = lives_strdup("/effect_key/nparameter/value/set"); + omc_macros[18].macro_text = lives_strdup(_("Set parameter value <key> <pnum> = <value>")); + omc_macros[18].info_text = lives_strdup(_("Set <value> of pth (numerical) parameter for effect key <key>.")); + omc_macros[18].nparams = 3; - omc_macros[19].msg=lives_strdup("/clip/select/next"); - omc_macros[19].macro_text=lives_strdup(_("Switch foreground to next clip")); + omc_macros[19].msg = lives_strdup("/clip/select/next"); + omc_macros[19].macro_text = lives_strdup(_("Switch foreground to next clip")); - omc_macros[20].msg=lives_strdup("/clip/select/previous"); - omc_macros[20].macro_text=lives_strdup(_("Switch foreground to previous clip")); + omc_macros[20].msg = lives_strdup("/clip/select/previous"); + omc_macros[20].macro_text = lives_strdup(_("Switch foreground to previous clip")); - omc_macros[21].msg=lives_strdup("/video/fps/ratio/set"); - omc_macros[21].macro_text=lives_strdup(_("Set video framerate to ratio <fps_ratio>")); - omc_macros[21].info_text=lives_strdup(_("Set framerate ratio of foreground clip to <float fps_ratio>")); - omc_macros[21].nparams=1; + omc_macros[21].msg = lives_strdup("/video/fps/ratio/set"); + omc_macros[21].macro_text = lives_strdup(_("Set video framerate to ratio <fps_ratio>")); + omc_macros[21].info_text = lives_strdup(_("Set framerate ratio of foreground clip to <float fps_ratio>")); + omc_macros[21].nparams = 1; - omc_macros[22].msg=lives_strdup("/clip/foreground/retrigger"); - omc_macros[22].macro_text=lives_strdup(_("Retrigger clip <clipnum>")); - omc_macros[22].info_text=lives_strdup(_("Switch foreground clip to the nth valid clip, and reset the frame number")); - omc_macros[22].nparams=1; + omc_macros[22].msg = lives_strdup("/clip/foreground/retrigger"); + omc_macros[22].macro_text = lives_strdup(_("Retrigger clip <clipnum>")); + omc_macros[22].info_text = lives_strdup(_("Switch foreground clip to the nth valid clip, and reset the frame number")); + omc_macros[22].nparams = 1; - omc_macros[23].msg=lives_strdup("/effect_key/mode/next"); - omc_macros[23].macro_text=lives_strdup(_("Cycle to next mode for effect key <key>")); - omc_macros[23].nparams=1; + omc_macros[23].msg = lives_strdup("/effect_key/mode/next"); + omc_macros[23].macro_text = lives_strdup(_("Cycle to next mode for effect key <key>")); + omc_macros[23].nparams = 1; - omc_macros[24].msg=lives_strdup("/effect_key/mode/previous"); - omc_macros[24].macro_text=lives_strdup(_("Cycle to previous mode for effect key <key>")); - omc_macros[24].nparams=1; + omc_macros[24].msg = lives_strdup("/effect_key/mode/previous"); + omc_macros[24].macro_text = lives_strdup(_("Cycle to previous mode for effect key <key>")); + omc_macros[24].nparams = 1; - omc_macros[25].msg=lives_strdup("/video/play/parameter/value/set"); - omc_macros[25].macro_text=lives_strdup(_("Set playback plugin parameter value <pnum> = <value>")); - omc_macros[25].info_text=lives_strdup(_("Set <value> of pth parameter for the playback plugin.")); - omc_macros[25].nparams=2; + omc_macros[25].msg = lives_strdup("/video/play/parameter/value/set"); + omc_macros[25].macro_text = lives_strdup(_("Set playback plugin parameter value <pnum> = <value>")); + omc_macros[25].info_text = lives_strdup(_("Set <value> of pth parameter for the playback plugin.")); + omc_macros[25].nparams = 2; - for (i=0; i<N_OMC_MACROS; i++) { - if (omc_macros[i].msg!=NULL) { - if (omc_macros[i].nparams>0) { - omc_macros[i].ptypes=(int *)lives_malloc(omc_macros[i].nparams*sizint); - omc_macros[i].mini=(int *)lives_malloc(omc_macros[i].nparams*sizint); - omc_macros[i].maxi=(int *)lives_malloc(omc_macros[i].nparams*sizint); - omc_macros[i].vali=(int *)lives_malloc(omc_macros[i].nparams*sizint); + for (i = 0; i < N_OMC_MACROS; i++) { + if (omc_macros[i].msg != NULL) { + if (omc_macros[i].nparams > 0) { + omc_macros[i].ptypes = (int *)lives_malloc(omc_macros[i].nparams * sizint); + omc_macros[i].mini = (int *)lives_malloc(omc_macros[i].nparams * sizint); + omc_macros[i].maxi = (int *)lives_malloc(omc_macros[i].nparams * sizint); + omc_macros[i].vali = (int *)lives_malloc(omc_macros[i].nparams * sizint); - omc_macros[i].mind=(double *)lives_malloc(omc_macros[i].nparams*sizdbl); - omc_macros[i].maxd=(double *)lives_malloc(omc_macros[i].nparams*sizdbl); - omc_macros[i].vald=(double *)lives_malloc(omc_macros[i].nparams*sizdbl); - omc_macros[i].pname=(char **)lives_malloc(omc_macros[i].nparams*sizeof(char *)); + omc_macros[i].mind = (double *)lives_malloc(omc_macros[i].nparams * sizdbl); + omc_macros[i].maxd = (double *)lives_malloc(omc_macros[i].nparams * sizdbl); + omc_macros[i].vald = (double *)lives_malloc(omc_macros[i].nparams * sizdbl); + omc_macros[i].pname = (char **)lives_malloc(omc_macros[i].nparams * sizeof(char *)); } } @@ -1553,141 +1553,141 @@ // clip select - omc_macros[2].ptypes[0]=OMC_PARAM_INT; - omc_macros[2].mini[0]=omc_macros[2].vali[0]=1; - omc_macros[2].maxi[0]=100000; + omc_macros[2].ptypes[0] = OMC_PARAM_INT; + omc_macros[2].mini[0] = omc_macros[2].vali[0] = 1; + omc_macros[2].maxi[0] = 100000; // TRANSLATORS: short form of "clip number" - omc_macros[2].pname[0]=lives_strdup(_("clipnum")); + omc_macros[2].pname[0] = lives_strdup(_("clipnum")); // set fps (will be handled to avoid 0.) - omc_macros[9].ptypes[0]=OMC_PARAM_DOUBLE; - omc_macros[9].mind[0]=-200.; - omc_macros[9].vald[0]=25.; - omc_macros[9].maxd[0]=200.; + omc_macros[9].ptypes[0] = OMC_PARAM_DOUBLE; + omc_macros[9].mind[0] = -200.; + omc_macros[9].vald[0] = 25.; + omc_macros[9].maxd[0] = 200.; // TRANSLATORS: short form of "frames per second" - omc_macros[9].pname[0]=lives_strdup(_("fps")); + omc_macros[9].pname[0] = lives_strdup(_("fps")); // effect_key enable,disable, toggle - omc_macros[15].ptypes[0]=OMC_PARAM_INT; - omc_macros[15].mini[0]=1; - omc_macros[15].vali[0]=1; - omc_macros[15].maxi[0]=prefs->rte_keys_virtual; + omc_macros[15].ptypes[0] = OMC_PARAM_INT; + omc_macros[15].mini[0] = 1; + omc_macros[15].vali[0] = 1; + omc_macros[15].maxi[0] = prefs->rte_keys_virtual; // TRANSLATORS: as in keyboard key - omc_macros[15].pname[0]=lives_strdup(_("key")); + omc_macros[15].pname[0] = lives_strdup(_("key")); - omc_macros[16].ptypes[0]=OMC_PARAM_INT; - omc_macros[16].mini[0]=1; - omc_macros[16].vali[0]=1; - omc_macros[16].maxi[0]=prefs->rte_keys_virtual; + omc_macros[16].ptypes[0] = OMC_PARAM_INT; + omc_macros[16].mini[0] = 1; + omc_macros[16].vali[0] = 1; + omc_macros[16].maxi[0] = prefs->rte_keys_virtual; // TRANSLATORS: as in keyboard key - omc_macros[16].pname[0]=lives_strdup(_("key")); + omc_macros[16].pname[0] = lives_strdup(_("key")); - omc_macros[17].ptypes[0]=OMC_PARAM_INT; - omc_macros[17].mini[0]=1; - omc_macros[17].vali[0]=1; - omc_macros[17].maxi[0]=prefs->rte_keys_virtual; + omc_macros[17].ptypes[0] = OMC_PARAM_INT; + omc_macros[17].mini[0] = 1; + omc_macros[17].vali[0] = 1; + omc_macros[17].maxi[0] = prefs->rte_keys_virtual; // TRANSLATORS: as in keyboard key - omc_macros[17].pname[0]=lives_strdup(_("key")); + omc_macros[17].pname[0] = lives_strdup(_("key")); // key - omc_macros[18].ptypes[0]=OMC_PARAM_INT; - omc_macros[18].mini[0]=1; - omc_macros[18].vali[0]=1; - omc_macros[18].maxi[0]=prefs->rte_keys_virtual; + omc_macros[18].ptypes[0] = OMC_PARAM_INT; + omc_macros[18].mini[0] = 1; + omc_macros[18].vali[0] = 1; + omc_macros[18].maxi[0] = prefs->rte_keys_virtual; // TRANSLATORS: as in keyboard key - omc_macros[18].pname[0]=lives_strdup(_("key")); + omc_macros[18].pname[0] = lives_strdup(_("key")); // param (this will be matched with numeric params) - omc_macros[18].ptypes[1]=OMC_PARAM_INT; - omc_macros[18].mini[1]=0; - omc_macros[18].maxi[1]=32; - omc_macros[18].vali[1]=0; + omc_macros[18].ptypes[1] = OMC_PARAM_INT; + omc_macros[18].mini[1] = 0; + omc_macros[18].maxi[1] = 32; + omc_macros[18].vali[1] = 0; // TRANSLATORS: short form of "parameter number" - omc_macros[18].pname[1]=lives_strdup(_("pnum")); + omc_macros[18].pname[1] = lives_strdup(_("pnum")); // value (this will get special handling) // type conversion and auto offset/scaling will be done - omc_macros[18].ptypes[2]=OMC_PARAM_SPECIAL; - omc_macros[18].mind[2]=0.; - omc_macros[18].maxd[2]=0.; - omc_macros[18].vald[2]=0.; - omc_macros[18].pname[2]=lives_strdup(_("value")); + omc_macros[18].ptypes[2] = OMC_PARAM_SPECIAL; + omc_macros[18].mind[2] = 0.; + omc_macros[18].maxd[2] = 0.; + omc_macros[18].vald[2] = 0.; + omc_macros[18].pname[2] = lives_strdup(_("value")); // set ratio fps (will be handled to avoid 0.) - omc_macros[21].ptypes[0]=OMC_PARAM_DOUBLE; - omc_macros[21].mind[0]=-10.; - omc_macros[21].vald[0]=1.; - omc_macros[21].maxd[0]=10.; + omc_macros[21].ptypes[0] = OMC_PARAM_DOUBLE; + omc_macros[21].mind[0] = -10.; + omc_macros[21].vald[0] = 1.; + omc_macros[21].maxd[0] = 10.; // TRANSLATORS: short form of "frames per second" - omc_macros[21].pname[0]=lives_strdup(_("fps_ratio")); + omc_macros[21].pname[0] = lives_strdup(_("fps_ratio")); // clip retrigger - omc_macros[22].ptypes[0]=OMC_PARAM_INT; - omc_macros[22].mini[0]=omc_macros[22].vali[0]=1; - omc_macros[22].maxi[0]=100000; + omc_macros[22].ptypes[0] = OMC_PARAM_INT; + omc_macros[22].mini[0] = omc_macros[22].vali[0] = 1; + omc_macros[22].maxi[0] = 100000; // TRANSLATORS: short form of "clip number" - omc_macros[22].pname[0]=lives_strdup(_("clipnum")); + omc_macros[22].pname[0] = lives_strdup(_("clipnum")); // key - omc_macros[23].ptypes[0]=OMC_PARAM_INT; - omc_macros[23].mini[0]=1; - omc_macros[23].vali[0]=1; - omc_macros[23].maxi[0]=prefs->rte_keys_virtual; + omc_macros[23].ptypes[0] = OMC_PARAM_INT; + omc_macros[23].mini[0] = 1; + omc_macros[23].vali[0] = 1; + omc_macros[23].maxi[0] = prefs->rte_keys_virtual; // TRANSLATORS: as in keyboard key - omc_macros[23].pname[0]=lives_strdup(_("key")); + omc_macros[23].pname[0] = lives_strdup(_("key")); // key - omc_macros[24].ptypes[0]=OMC_PARAM_INT; - omc_macros[24].mini[0]=1; - omc_macros[24].vali[0]=1; - omc_macros[24].maxi[0]=prefs->rte_keys_virtual; + omc_macros[24].ptypes[0] = OMC_PARAM_INT; + omc_macros[24].mini[0] = 1; + omc_macros[24].vali[0] = 1; + omc_macros[24].maxi[0] = prefs->rte_keys_virtual; // TRANSLATORS: as in keyboard key - omc_macros[24].pname[0]=lives_strdup(_("key")); + omc_macros[24].pname[0] = lives_strdup(_("key")); // param - omc_macros[25].ptypes[0]=OMC_PARAM_INT; - omc_macros[25].mini[0]=0; - omc_macros[25].maxi[0]=128; - omc_macros[25].vali[0]=0; + omc_macros[25].ptypes[0] = OMC_PARAM_INT; + omc_macros[25].mini[0] = 0; + omc_macros[25].maxi[0] = 128; + omc_macros[25].vali[0] = 0; // TRANSLATORS: short form of "parameter number" - omc_macros[25].pname[0]=lives_strdup(_("pnum")); + omc_macros[25].pname[0] = lives_strdup(_("pnum")); // value (this will get special handling) // type conversion and auto offset/scaling will be done - omc_macros[25].ptypes[1]=OMC_PARAM_SPECIAL; - omc_macros[25].mind[1]=0.; - omc_macros[25].maxd[1]=0.; - omc_macros[25].vald[1]=0.; - omc_macros[25].pname[1]=lives_strdup(_("value")); + omc_macros[25].ptypes[1] = OMC_PARAM_SPECIAL; + omc_macros[25].mind[1] = 0.; + omc_macros[25].maxd[1] = 0.; + omc_macros[25].vald[1] = 0.; + omc_macros[25].pname[1] = lives_strdup(_("value")); } static int get_nfixed(int type, const char *string) { - int nfixed=0; + int nfixed = 0; switch (type) { case OMC_JS_BUTTON: - nfixed=3; // type, index, value + nfixed = 3; // type, index, value break; case OMC_JS_AXIS: - nfixed=2; // type, index + nfixed = 2; // type, index break; #ifdef OMC_MIDI_IMPL case OMC_MIDI: - type=midi_msg_type(string); - return get_nfixed(type,NULL); + type = midi_msg_type(string); + return get_nfixed(type, NULL); case OMC_MIDI_CONTROLLER: - nfixed=3; // type, channel, cnum + nfixed = 3; // type, channel, cnum break; case OMC_MIDI_NOTE: case OMC_MIDI_NOTE_OFF: case OMC_MIDI_PITCH_BEND: case OMC_MIDI_PGM_CHANGE: - nfixed=2; // type, channel + nfixed = 2; // type, channel break; #endif } @@ -1698,11 +1698,11 @@ static boolean match_filtered_params(lives_omc_match_node_t *mnode, const char *sig, int nfixed) { int i; - char **array=lives_strsplit(sig," ",-1); + char **array = lives_strsplit(sig, " ", -1); - for (i=0; i<mnode->nvars; i++) { + for (i = 0; i < mnode->nvars; i++) { if (mnode->matchp[i]) { - if (mnode->matchi[i]!=atoi(array[nfixed+i])) { + if (mnode->matchi[i] != atoi(array[nfixed + i])) { //g_print("data mismatch %d %d %d\n",mnode->matchi[i],atoi(array[nfixed+i]),nfixed); lives_strfreev(array); return FALSE; @@ -1718,32 +1718,32 @@ static lives_omc_match_node_t *omc_match_sig(int type, int index, const char *sig) { - LiVESSList *nlist=omc_node_list; - char *srch,*cnodex; + LiVESSList *nlist = omc_node_list; + char *srch, *cnodex; lives_omc_match_node_t *cnode; int nfixed; - if (type==OMC_MIDI) { - if (index==-1) srch=lives_strdup_printf("%d %s ",type,sig); - else srch=lives_strdup_printf("%d %d %s ",type,index,sig); - } else srch=lives_strdup_printf("%s ",sig); + if (type == OMC_MIDI) { + if (index == -1) srch = lives_strdup_printf("%d %s ", type, sig); + else srch = lives_strdup_printf("%d %d %s ", type, index, sig); + } else srch = lives_strdup_printf("%s ", sig); - nfixed=get_nfixed(type,sig); + nfixed = get_nfixed(type, sig); - while (nlist!=NULL) { - cnode=(lives_omc_match_node_t *)nlist->data; - cnodex=lives_strdup_printf("%s ",cnode->srch); + while (nlist != NULL) { + cnode = (lives_omc_match_node_t *)nlist->data; + cnodex = lives_strdup_printf("%s ", cnode->srch); //g_print("cf %s and %s\n",cnode->srch,srch); - if (!strncmp(cnodex,srch,strlen(cnodex))) { + if (!strncmp(cnodex, srch, strlen(cnodex))) { // got a possible match // now check the data - if (match_filtered_params(cnode,sig,nfixed)) { + if (match_filtered_params(cnode, sig, nfixed)) { lives_free(srch); lives_free(cnodex); return cnode; } } - nlist=nlist->next; + nlist = nlist->next; lives_free(cnodex); } lives_free(srch); @@ -1784,23 +1784,23 @@ register int i; - int match=0; - int stlen=MIN(strlen(string1),strlen(string2)); + int match = 0; + int stlen = MIN(strlen(string1), strlen(string2)); - for (i=0; i<stlen; i++) { - if (strcmp((string1+i),(string2+i))) return match; - if (!strcmp((string1+i)," ")) match++; + for (i = 0; i < stlen; i++) { + if (strcmp((string1 + i), (string2 + i))) return match; + if (!strcmp((string1 + i), " ")) match++; } - return match+1; + return match + 1; } static LIVES_INLINE int get_nth_elem(const char *string, int idx) { - char **array=lives_strsplit(string," ",-1); - int retval=atoi(array[idx]); + char **array = lives_strsplit(string, " ", -1); + int retval = atoi(array[idx]); lives_strfreev(array); return retval; } @@ -1813,46 +1813,46 @@ int i; char *tmp; char *srch_str; - lives_omc_match_node_t *mnode=(lives_omc_match_node_t *)lives_malloc(sizeof(lives_omc_match_node_t)); + lives_omc_match_node_t *mnode = (lives_omc_match_node_t *)lives_malloc(sizeof(lives_omc_match_node_t)); - if (str_type==OMC_MIDI) { - if (index>-1) srch_str=lives_strdup_printf("%d %d %s",str_type,index,(tmp=cut_string_elems(string,nfixed<0?-1:nfixed))); - else srch_str=lives_strdup_printf("%d %s",str_type,(tmp=cut_string_elems(string,nfixed<0?-1:nfixed))); + if (str_type == OMC_MIDI) { + if (index > -1) srch_str = lives_strdup_printf("%d %d %s", str_type, index, (tmp = cut_string_elems(string, nfixed < 0 ? -1 : nfixed))); + else srch_str = lives_strdup_printf("%d %s", str_type, (tmp = cut_string_elems(string, nfixed < 0 ? -1 : nfixed))); lives_free(tmp); } else { - srch_str=lives_strdup_printf("%s",(tmp=cut_string_elems(string,nfixed<0?-1:nfixed))); + srch_str = lives_strdup_printf("%s", (tmp = cut_string_elems(string, nfixed < 0 ? -1 : nfixed))); lives_free(tmp); } //g_print("srch_str was %d %d .%s. %d\n",str_type,index,srch_str,nfixed); - mnode->srch=srch_str; - mnode->macro=-1; + mnode->srch = srch_str; + mnode->macro = -1; - if (nfixed<0) mnode->nvars=-(nfixed+1); - else mnode->nvars=get_token_count(string,' ')-nfixed; + if (nfixed < 0) mnode->nvars = -(nfixed + 1); + else mnode->nvars = get_token_count(string, ' ') - nfixed; - if (mnode->nvars>0) { - mnode->offs0=(int *)lives_malloc(mnode->nvars*sizint); - mnode->scale=(double *)lives_malloc(mnode->nvars*sizdbl); - mnode->offs1=(int *)lives_malloc(mnode->nvars*sizint); - mnode->min=(int *)lives_malloc(mnode->nvars*sizint); - mnode->max=(int *)lives_malloc(mnode->nvars*sizint); - mnode->matchp=(boolean *)lives_malloc(mnode->nvars*sizeof(boolean)); - mnode->matchi=(int *)lives_malloc(mnode->nvars*sizint); + if (mnode->nvars > 0) { + mnode->offs0 = (int *)lives_malloc(mnode->nvars * sizint); + mnode->scale = (double *)lives_malloc(mnode->nvars * sizdbl); + mnode->offs1 = (int *)lives_malloc(mnode->nvars * sizint); + mnode->min = (int *)lives_malloc(mnode->nvars * sizint); + mnode->max = (int *)lives_malloc(mnode->nvars * sizint); + mnode->matchp = (boolean *)lives_malloc(mnode->nvars * sizeof(boolean)); + mnode->matchi = (int *)lives_malloc(mnode->nvars * sizint); } - for (i=0; i<mnode->nvars; i++) { - mnode->offs0[i]=mnode->offs1[i]=0; - mnode->scale[i]=1.; - mnode->matchp[i]=FALSE; + for (i = 0; i < mnode->nvars; i++) { + mnode->offs0[i] = mnode->offs1[i] = 0; + mnode->scale[i] = 1.; + mnode->matchp[i] = FALSE; } - mnode->map=mnode->fvali=NULL; - mnode->fvald=NULL; + mnode->map = mnode->fvali = NULL; + mnode->fvald = NULL; - mnode->treev1=mnode->treev2=NULL; - mnode->gtkstore=mnode->gtkstore2=NULL; + mnode->treev1 = mnode->treev2 = NULL; + mnode->gtkstore = mnode->gtkstore2 = NULL; return mnode; } @@ -1861,35 +1861,35 @@ static int *omclearn_get_values(const char *string, int nfixed) { - register int i,j; - size_t slen,tslen; - int *retvals,count=0,nvars; + register int i, j; + size_t slen, tslen; + int *retvals, count = 0, nvars; - slen=strlen(string); + slen = strlen(string); - nvars=get_token_count(string,' ')-nfixed; + nvars = get_token_count(string, ' ') - nfixed; - retvals=(int *)lives_malloc(nvars*sizint); + retvals = (int *)lives_malloc(nvars * sizint); - for (i=0; i<slen; i++) { - if (!strncmp((string+i)," ",1)) { - if (--nfixed<=0) { - char *tmp=lives_strdup(string+i+1); - tslen=strlen(tmp); - for (j=0; j<tslen; j++) { - if (!strncmp((tmp+j)," ",1)) { - memset(tmp+j,0,1); - retvals[count++]=atoi(tmp); + for (i = 0; i < slen; i++) { + if (!strncmp((string + i), " ", 1)) { + if (--nfixed <= 0) { + char *tmp = lives_strdup(string + i + 1); + tslen = strlen(tmp); + for (j = 0; j < tslen; j++) { + if (!strncmp((tmp + j), " ", 1)) { + memset(tmp + j, 0, 1); + retvals[count++] = atoi(tmp); lives_free(tmp); break; } } - if (j==tslen) { - retvals[count++]=atoi(tmp); + if (j == tslen) { + retvals[count++] = atoi(tmp); lives_free(tmp); return retvals; } - i+=j; + i += j; } } } @@ -1903,19 +1903,19 @@ void omclearn_match_control(lives_omc_match_node_t *mnode, int str_type, int index, const char *string, int nfixed, omclearn_w *omclw) { - if (nfixed==-1) { + if (nfixed == -1) { // already there : allow user to update return; } - if (index==-1) { - index=get_nth_elem(string,1); + if (index == -1) { + index = get_nth_elem(string, 1); } // add descriptive text on left // add combo box on right - omc_learner_add_row(str_type,index,mnode,string,omclw); + omc_learner_add_row(str_type, index, mnode, string, omclw); } @@ -1942,7 +1942,7 @@ lives_omc_match_node_t *mnode; - int nfixed=get_nfixed(str_type,string); + int nfixed = get_nfixed(str_type, string); switch (str_type) { @@ -1950,30 +1950,30 @@ // display controller and allow it to be matched // then request min - mnode=omc_match_sig(OMC_MIDI,idx,string); + mnode = omc_match_sig(OMC_MIDI, idx, string); //g_print("autoscale !\n"); - if (mnode==NULL||mnode->macro==-1) { - mnode=lives_omc_match_node_new(OMC_MIDI,idx,string,nfixed); - mnode->max[0]=127; - mnode->min[0]=0; - idx=midi_index(string); - omclearn_match_control(mnode,str_type,idx,string,nfixed,omclw); + if (mnode == NULL || mnode->macro == -1) { + mnode = lives_omc_match_node_new(OMC_MIDI, idx, string, nfixed); + mnode->max[0] = 127; + mnode->min[0] = 0; + idx = midi_index(string); + omclearn_match_control(mnode, str_type, idx, string, nfixed, omclw); return mnode; } break; case OMC_MIDI_PGM_CHANGE: // display controller and allow it to be matched - mnode=omc_match_sig(OMC_MIDI,idx,string); + mnode = omc_match_sig(OMC_MIDI, idx, string); //g_print("autoscale !\n"); - if (mnode==NULL||mnode->macro==-1) { - mnode=lives_omc_match_node_new(OMC_MIDI,idx,string,nfixed); - mnode->max[0]=127; - mnode->min[0]=0; - idx=midi_index(string); - omclearn_match_control(mnode,str_type,idx,string,nfixed,omclw); + if (mnode == NULL || mnode->macro == -1) { + mnode = lives_omc_match_node_new(OMC_MIDI, idx, string, nfixed); + mnode->max[0] = 127; + mnode->min[0] = 0; + idx = midi_index(string); + omclearn_match_control(mnode, str_type, idx, string, nfixed, omclw); return mnode; } break; @@ -1981,32 +1981,32 @@ // display controller and allow it to be matched // then request min - mnode=omc_match_sig(OMC_MIDI,idx,string); + mnode = omc_match_sig(OMC_MIDI, idx, string); //g_print("autoscale !\n"); - if (mnode==NULL||mnode->macro==-1) { - mnode=lives_omc_match_node_new(OMC_MIDI,idx,string,nfixed); - mnode->max[0]=8192; - mnode->min[0]=-8192; - omclearn_match_control(mnode,str_type,idx,string,nfixed,omclw); + if (mnode == NULL || mnode->macro == -1) { + mnode = lives_omc_match_node_new(OMC_MIDI, idx, string, nfixed); + mnode->max[0] = 8192; + mnode->min[0] = -8192; + omclearn_match_control(mnode, str_type, idx, string, nfixed, omclw); return mnode; } break; case OMC_MIDI_NOTE: case OMC_MIDI_NOTE_OFF: // display note and allow it to be matched - mnode=omc_match_sig(OMC_MIDI,idx,string); + mnode = omc_match_sig(OMC_MIDI, idx, string); - if (mnode==NULL||mnode->macro==-1) { - mnode=lives_omc_match_node_new(OMC_MIDI,idx,string,nfixed); + if (mnode == NULL || mnode->macro == -1) { + mnode = lives_omc_match_node_new(OMC_MIDI, idx, string, nfixed); - mnode->max[0]=127; - mnode->min[0]=0; + mnode->max[0] = 127; + mnode->min[0] = 0; - mnode->max[1]=127; - mnode->min[1]=0; + mnode->max[1] = 127; + mnode->min[1] = 0; - omclearn_match_control(mnode,str_type,idx,string,nfixed,omclw); + omclearn_match_control(mnode, str_type, idx, string, nfixed, omclw); return mnode; } @@ -2015,25 +2015,25 @@ // display axis and allow it to be matched // then request min - mnode=omc_match_sig(str_type,idx,string); + mnode = omc_match_sig(str_type, idx, string); - if (mnode==NULL||mnode->macro==-1) { - mnode=lives_omc_match_node_new(str_type,idx,string,nfixed); + if (mnode == NULL || mnode->macro == -1) { + mnode = lives_omc_match_node_new(str_type, idx, string, nfixed); - mnode->min[0]=-128; - mnode->max[0]=128; + mnode->min[0] = -128; + mnode->max[0] = 128; - omclearn_match_control(mnode,str_type,idx,string,nfixed,omclw); + omclearn_match_control(mnode, str_type, idx, string, nfixed, omclw); return mnode; } break; case OMC_JS_BUTTON: // display note and allow it to be matched - mnode=omc_match_sig(str_type,idx,string); + mnode = omc_match_sig(str_type, idx, string); - if (mnode==NULL||mnode->macro==-1) { - mnode=lives_omc_match_node_new(str_type,idx,string,nfixed); - omclearn_match_control(mnode,str_type,idx,string,nfixed,omclw); + if (mnode == NULL || mnode->macro == -1) { + mnode = lives_omc_match_node_new(str_type, idx, string, nfixed); + omclearn_match_control(mnode, str_type, idx, string, nfixed, omclw); return mnode; } break; @@ -2060,36 +2060,36 @@ // returns TRUE if we learn new, or if we carry out an action // retruns FALSE otherwise - boolean ret=FALSE; - int type=0,idx=-1; + boolean ret = FALSE; + int type = 0, idx = -1; lives_omc_match_node_t *mnode; - if (string==NULL) return FALSE; + if (string == NULL) return FALSE; switch (supertype) { case OMC_JS: #ifdef OMC_JS_IMPL - supertype=type=js_msg_type(string); - idx=js_index(string); + supertype = type = js_msg_type(string); + idx = js_index(string); #endif break; #ifdef OMC_MIDI_IMPL case OMC_MIDI: - type=midi_msg_type(string); + type = midi_msg_type(string); //idx=midi_index(string); - idx=-1; + idx = -1; #endif } - if (type>0) { + if (type > 0) { if (learn) { // pass to learner - mnode=omc_learn(string,type,idx,omclw); - if (mnode!=NULL) { - ret=TRUE; - omc_node_list=lives_slist_append(omc_node_list,mnode); + mnode = omc_learn(string, type, idx, omclw); + if (mnode != NULL) { + ret = TRUE; + omc_node_list = lives_slist_append(omc_node_list, mnode); } } else { - OSCbuf *oscbuf=omc_learner_decode(supertype,idx,string); + OSCbuf *oscbuf = omc_learner_decode(supertype, idx, string); // if not playing, the only commands we allow are: // /video/play @@ -2101,16 +2101,16 @@ // further checks are performed when enabling/toggling an effect to see whether it is a generator - if (oscbuf!=NULL) { - if (mainw->playing_file==-1 - &&strcmp(oscbuf->buffer,"/video/play") - &&strcmp(oscbuf->buffer,"/clip/foreground/retrigger") - &&strcmp(oscbuf->buffer,"/effect_key/enable") - &&strcmp(oscbuf->buffer,"/effect_key/toggle") + if (oscbuf != NULL) { + if (mainw->playing_file == -1 + && strcmp(oscbuf->buffer, "/video/play") + && strcmp(oscbuf->buffer, "/clip/foreground/retrigger") + && strcmp(oscbuf->buffer, "/effect_key/enable") + && strcmp(oscbuf->buffer, "/effect_key/toggle") ) return FALSE; lives_osc_act(oscbuf); - ret=TRUE; + ret = TRUE; } } } @@ -2122,13 +2122,13 @@ void on_midi_learn_activate(LiVESMenuItem *menuitem, livespointer user_data) { - omclearn_w *omclw=create_omclearn_dialog(); - char *string=NULL; + omclearn_w *omclw = create_omclearn_dialog(); + char *string = NULL; if (!omc_macros_inited) { init_omc_macros(); - omc_macros_inited=TRUE; - OSC_initBuffer(&obuf,OSC_BUF_SIZE,byarr); + omc_macros_inited = TRUE; + OSC_initBuffer(&obuf, OSC_BUF_SIZE, byarr); } #ifdef OMC_MIDI_IMPL @@ -2141,33 +2141,33 @@ lives_widget_show(omclw->dialog); - mainw->cancelled=CANCEL_NONE; + mainw->cancelled = CANCEL_NONE; show_existing(omclw); // read controls and notes - while (mainw->cancelled==CANCEL_NONE) { + while (mainw->cancelled == CANCEL_NONE) { // read from devices #ifdef OMC_JS_IMPL - if (mainw->ext_cntl[EXT_CNTL_JS]) string=js_mangle(); - if (string!=NULL) { - omc_process_string(OMC_JS,string,TRUE,omclw); + if (mainw->ext_cntl[EXT_CNTL_JS]) string = js_mangle(); + if (string != NULL) { + omc_process_string(OMC_JS, string, TRUE, omclw); lives_free(string); - string=NULL; + string = NULL; } else { #endif #ifdef OMC_MIDI_IMPL - if (mainw->ext_cntl[EXT_CNTL_MIDI]) string=midi_mangle(); + if (mainw->ext_cntl[EXT_CNTL_MIDI]) string = midi_mangle(); //#define TEST_OMC_LEARN #ifdef TEST_OMC_LEARN - string=lives_strdup("176 10 0 1"); + string = lives_strdup("176 10 0 1"); #endif - if (string!=NULL) { - omc_process_string(OMC_MIDI,string,TRUE,omclw); + if (string != NULL) { + omc_process_string(OMC_MIDI, string, TRUE, omclw); lives_free(string); - string=NULL; + string = NULL; } #endif @@ -2180,11 +2180,11 @@ lives_widget_context_update(); } - remove_all_nodes(FALSE,omclw); + remove_all_nodes(FALSE, omclw); lives_widget_destroy(omclw->dialog); - mainw->cancelled=CANCEL_NONE; + mainw->cancelled = CANCEL_NONE; lives_free(omclw); @@ -2197,44 +2197,44 @@ static void write_fx_tag(const char *string, int nfixed, lives_omc_match_node_t *mnode, lives_omc_macro_t *omacro, char *typetags) { // get typetag for a filter parameter - int i,j,k; - int *vals=omclearn_get_values(string,nfixed); - int oval0=1,oval1=0; + int i, j, k; + int *vals = omclearn_get_values(string, nfixed); + int oval0 = 1, oval1 = 0; - for (i=0; i<omacro->nparams; i++) { + for (i = 0; i < omacro->nparams; i++) { // get fixed val or map from - j=mnode->map[i]; + j = mnode->map[i]; - if (j>-1) { - if (i==2) { + if (j > -1) { + if (i == 2) { // auto scale for fx param - int error,ntmpls,hint,flags; - int mode=rte_key_getmode(oval0); + int error, ntmpls, hint, flags; + int mode = rte_key_getmode(oval0); weed_plant_t *filter; weed_plant_t **ptmpls; weed_plant_t *ptmpl; - if (mode==-1) return; + if (mode == -1) return; - filter=rte_keymode_get_filter(oval0,mode); + filter = rte_keymode_get_filter(oval0, mode); - ntmpls=weed_leaf_num_elements(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES); + ntmpls = weed_leaf_num_elements(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES); - ptmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); - for (k=0; k<ntmpls; k++) { - ptmpl=ptmpls[k]; - if (weed_plant_has_leaf(ptmpl,WEED_LEAF_HOST_INTERNAL_CONNECTION)) continue; - hint=weed_get_int_value(ptmpl,WEED_LEAF_HINT,&error); - flags=weed_get_int_value(ptmpl,WEED_LEAF_FLAGS,&error); - if (flags&WEED_PARAMETER_VARIABLE_ELEMENTS) flags^=WEED_PARAMETER_VARIABLE_ELEMENTS; - if ((hint==WEED_HINT_INTEGER||hint==WEED_HINT_FLOAT)&&flags==0&&weed_leaf_num_elements(ptmpl,WEED_LEAF_DEFAULT)==1) { - if (oval1==0) { - if (hint==WEED_HINT_INTEGER) { + ptmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); + for (k = 0; k < ntmpls; k++) { + ptmpl = ptmpls[k]; + if (weed_plant_has_leaf(ptmpl, WEED_LEAF_HOST_INTERNAL_CONNECTION)) continue; + hint = weed_get_int_value(ptmpl, WEED_LEAF_HINT, &error); + flags = weed_get_int_value(ptmpl, WEED_LEAF_FLAGS, &error); + if (flags & WEED_PARAMETER_VARIABLE_ELEMENTS) flags ^= WEED_PARAMETER_VARIABLE_ELEMENTS; + if ((hint == WEED_HINT_INTEGER || hint == WEED_HINT_FLOAT) && flags == 0 && weed_leaf_num_elements(ptmpl, WEED_LEAF_DEFAULT) == 1) { + if (oval1 == 0) { + if (hint == WEED_HINT_INTEGER) { // **int - lives_strappend(typetags,OSC_MAX_TYPETAGS,"i"); + lives_strappend(typetags, OSC_MAX_TYPETAGS, "i"); } else { // float - lives_strappend(typetags,OSC_MAX_TYPETAGS,"f"); + lives_strappend(typetags, OSC_MAX_TYPETAGS, "f"); } } oval1--; @@ -2243,16 +2243,16 @@ lives_free(ptmpls); } else { // playback plugin params - if (omacro->ptypes[i]==OMC_PARAM_INT) { - int oval=myround((double)(vals[j]+mnode->offs0[j])*mnode->scale[j])+mnode->offs1[j]; - if (i==0) oval0=oval; - if (i==1) oval1=oval; + if (omacro->ptypes[i] == OMC_PARAM_INT) { + int oval = myround((double)(vals[j] + mnode->offs0[j]) * mnode->scale[j]) + mnode->offs1[j]; + if (i == 0) oval0 = oval; + if (i == 1) oval1 = oval; } } } else { - if (omacro->ptypes[i]==OMC_PARAM_INT) { - if (i==0) oval0=mnode->fvali[i]; - if (i==1) oval1=mnode->fvali[i]; + if (omacro->ptypes[i] == OMC_PARAM_INT) { + if (i == 0) oval0 = mnode->fvali[i]; + if (i == 1) oval1 = mnode->fvali[i]; } } } @@ -2269,123 +2269,123 @@ OSCbuf *omc_learner_decode(int type, int idx, const char *string) { - int macro,nfixed; + int macro, nfixed; lives_omc_match_node_t *mnode; lives_omc_macro_t omacro; - int oval0=1,oval1=0; - int error,ntmpls,hint,flags; + int oval0 = 1, oval1 = 0; + int error, ntmpls, hint, flags; - register int i,j,k; + register int i, j, k; int *vals; char typetags[OSC_MAX_TYPETAGS]; - mnode=omc_match_sig(type,idx,string); + mnode = omc_match_sig(type, idx, string); - if (mnode==NULL) return NULL; + if (mnode == NULL) return NULL; - macro=mnode->macro; + macro = mnode->macro; - if (macro==-1) return NULL; + if (macro == -1) return NULL; - omacro=omc_macros[macro]; + omacro = omc_macros[macro]; - if (omacro.msg==NULL) return NULL; + if (omacro.msg == NULL) return NULL; OSC_resetBuffer(&obuf); - lives_snprintf(typetags,OSC_MAX_TYPETAGS,","); + lives_snprintf(typetags, OSC_MAX_TYPETAGS, ","); - nfixed=get_token_count(string,' ')-mnode->nvars; + nfixed = get_token_count(string, ' ') - mnode->nvars; // get typetags - for (i=0; i<omacro.nparams; i++) { - if (omacro.ptypes[i]==OMC_PARAM_SPECIAL) { - write_fx_tag(string,nfixed,mnode,&omacro,typetags); + for (i = 0; i < omacro.nparams; i++) { + if (omacro.ptypes[i] == OMC_PARAM_SPECIAL) { + write_fx_tag(string, nfixed, mnode, &omacro, typetags); } else { - if (omacro.ptypes[i]==OMC_PARAM_INT) lives_strappend(typetags,OSC_MAX_TYPETAGS,"i"); - else lives_strappend(typetags,OSC_MAX_TYPETAGS,"f"); + if (omacro.ptypes[i] == OMC_PARAM_INT) lives_strappend(typetags, OSC_MAX_TYPETAGS, "i"); + else lives_strappend(typetags, OSC_MAX_TYPETAGS, "f"); } } - OSC_writeAddressAndTypes(&obuf,omacro.msg,typetags); + OSC_writeAddressAndTypes(&obuf, omacro.msg, typetags); - if (omacro.nparams>0) { + if (omacro.nparams > 0) { - vals=omclearn_get_values(string,nfixed); + vals = omclearn_get_values(string, nfixed); - for (i=0; i<omacro.nparams; i++) { + for (i = 0; i < omacro.nparams; i++) { // get fixed val or map from - j=mnode->map[i]; + j = mnode->map[i]; - if (j>-1) { + if (j > -1) { - if (macro==25 && i==1 && mainw->vpp!=NULL && mainw->vpp->play_params!=NULL && oval0<mainw->vpp->num_play_params) { + if (macro == 25 && i == 1 && mainw->vpp != NULL && mainw->vpp->play_params != NULL && oval0 < mainw->vpp->num_play_params) { // auto scale for playback plugin params - weed_plant_t *ptmpl=weed_get_plantptr_value((weed_plant_t *)pp_get_param(mainw->vpp->play_params,oval0),WEED_LEAF_TEMPLATE,&error); - hint=weed_get_int_value(ptmpl,WEED_LEAF_HINT,&error); - if ((hint==WEED_HINT_INTEGER||hint==WEED_HINT_FLOAT)&&weed_leaf_num_elements(ptmpl,WEED_LEAF_DEFAULT)==1) { - if (hint==WEED_HINT_INTEGER) { - int omin=mnode->min[j]; - int omax=mnode->max[j]; - int mini=weed_get_int_value(ptmpl,WEED_LEAF_MIN,&error); - int maxi=weed_get_int_value(ptmpl,WEED_LEAF_MAX,&error); - - int oval=(int)((double)(vals[j]-omin)/(double)(omax-omin)*(double)(maxi-mini))+mini; - OSC_writeIntArg(&obuf,oval); + weed_plant_t *ptmpl = weed_get_plantptr_value((weed_plant_t *)pp_get_param(mainw->vpp->play_params, oval0), WEED_LEAF_TEMPLATE, &error); + hint = weed_get_int_value(ptmpl, WEED_LEAF_HINT, &error); + if ((hint == WEED_HINT_INTEGER || hint == WEED_HINT_FLOAT) && weed_leaf_num_elements(ptmpl, WEED_LEAF_DEFAULT) == 1) { + if (hint == WEED_HINT_INTEGER) { + int omin = mnode->min[j]; + int omax = mnode->max[j]; + int mini = weed_get_int_value(ptmpl, WEED_LEAF_MIN, &error); + int maxi = weed_get_int_value(ptmpl, WEED_LEAF_MAX, &error); + + int oval = (int)((double)(vals[j] - omin) / (double)(omax - omin) * (double)(maxi - mini)) + mini; + OSC_writeIntArg(&obuf, oval); } else { // float - int omin=mnode->min[j]; - int omax=mnode->max[j]; - double minf=weed_get_double_value(ptmpl,WEED_LEAF_MIN,&error); - double maxf=weed_get_double_value(ptmpl,WEED_LEAF_MAX,&error); + int omin = mnode->min[j]; + int omax = mnode->max[j]; + double minf = weed_get_double_value(ptmpl, WEED_LEAF_MIN, &error); + double maxf = weed_get_double_value(ptmpl, WEED_LEAF_MAX, &error); - double oval=(double)(vals[j]-omin)/(double)(omax-omin)*(maxf-minf)+minf; - OSC_writeFloatArg(&obuf,(float)oval); + double oval = (double)(vals[j] - omin) / (double)(omax - omin) * (maxf - minf) + minf; + OSC_writeFloatArg(&obuf, (float)oval); } // end float } } else { - if (macro==18&&i==2) { + if (macro == 18 && i == 2) { // auto scale for fx param - int mode=rte_key_getmode(oval0); + int mode = rte_key_getmode(oval0); weed_plant_t *filter; weed_plant_t **ptmpls; weed_plant_t *ptmpl; - if (mode==-1) return NULL; + if (mode == -1) return NULL; - filter=rte_keymode_get_filter(oval0,mode); + filter = rte_keymode_get_filter(oval0, mode); - ntmpls=weed_leaf_num_elements(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES); + ntmpls = weed_leaf_num_elements(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES); - ptmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); - for (k=0; k<ntmpls; k++) { - ptmpl=ptmpls[k]; - if (weed_plant_has_leaf(ptmpl,WEED_LEAF_HOST_INTERNAL_CONNECTION)) continue; - hint=weed_get_int_value(ptmpl,WEED_LEAF_HINT,&error); - flags=weed_get_int_value(ptmpl,WEED_LEAF_FLAGS,&error); - if ((hint==WEED_HINT_INTEGER||hint==WEED_HINT_FLOAT)&&flags==0&&weed_leaf_num_elements(ptmpl,WEED_LEAF_DEFAULT)==1) { - if (oval1==0) { - if (hint==WEED_HINT_INTEGER) { - int omin=mnode->min[j]; - int omax=mnode->max[j]; - int mini=weed_get_int_value(ptmpl,WEED_LEAF_MIN,&error); - int maxi=weed_get_int_value(ptmpl,WEED_LEAF_MAX,&error); + ptmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); + for (k = 0; k < ntmpls; k++) { + ptmpl = ptmpls[k]; + if (weed_plant_has_leaf(ptmpl, WEED_LEAF_HOST_INTERNAL_CONNECTION)) continue; + hint = weed_get_int_value(ptmpl, WEED_LEAF_HINT, &error); + flags = weed_get_int_value(ptmpl, WEED_LEAF_FLAGS, &error); + if ((hint == WEED_HINT_INTEGER || hint == WEED_HINT_FLOAT) && flags == 0 && weed_leaf_num_elements(ptmpl, WEED_LEAF_DEFAULT) == 1) { + if (oval1 == 0) { + if (hint == WEED_HINT_INTEGER) { + int omin = mnode->min[j]; + int omax = mnode->max[j]; + int mini = weed_get_int_value(ptmpl, WEED_LEAF_MIN, &error); + int maxi = weed_get_int_value(ptmpl, WEED_LEAF_MAX, &error); - int oval=(int)((double)(vals[j]-omin)/(double)(omax-omin)*(double)(maxi-mini))+mini; - OSC_writeIntArg(&obuf,oval); + int oval = (int)((double)(vals[j] - omin) / (double)(omax - omin) * (double)(maxi - mini)) + mini; + OSC_writeIntArg(&obuf, oval); } else { // float - int omin=mnode->min[j]; - int omax=mnode->max[j]; - double minf=weed_get_double_value(ptmpl,WEED_LEAF_MIN,&error); - double maxf=weed_get_double_value(ptmpl,WEED_LEAF_MAX,&error); + int omin = mnode->min[j]; + int omax = mnode->max[j]; + double minf = weed_get_double_value(ptmpl, WEED_LEAF_MIN, &error); + double maxf = weed_get_double_value(ptmpl, WEED_LEAF_MAX, &error); - double oval=(double)(vals[j]-omin)/(double)(omax-omin)*(maxf-minf)+minf; - OSC_writeFloatArg(&obuf,(float)oval); + double oval = (double)(vals[j] - omin) / (double)(omax - omin) * (maxf - minf) + minf; + OSC_writeFloatArg(&obuf, (float)oval); } // end float } oval1--; @@ -2393,24 +2393,24 @@ } lives_free(ptmpls); } else { - if (omacro.ptypes[i]==OMC_PARAM_INT) { - int oval=myround((double)(vals[j]+mnode->offs0[j])*mnode->scale[j])+mnode->offs1[j]; - if (i==0) oval0=oval; - if (i==1) oval1=oval; - OSC_writeIntArg(&obuf,oval); + if (omacro.ptypes[i] == OMC_PARAM_INT) { + int oval = myround((double)(vals[j] + mnode->offs0[j]) * mnode->scale[j]) + mnode->offs1[j]; + if (i == 0) oval0 = oval; + if (i == 1) oval1 = oval; + OSC_writeIntArg(&obuf, oval); } else { - double oval=(double)(vals[j]+mnode->offs0[j])*mnode->scale[j]+(double)mnode->offs1[j]; - OSC_writeFloatArg(&obuf,oval); + double oval = (double)(vals[j] + mnode->offs0[j]) * mnode->scale[j] + (double)mnode->offs1[j]; + OSC_writeFloatArg(&obuf, oval); } } } } else { - if (omacro.ptypes[i]==OMC_PARAM_INT) { - OSC_writeIntArg(&obuf,mnode->fvali[i]); - if (i==0) oval0=mnode->fvali[i]; - if (i==1) oval1=mnode->fvali[i]; + if (omacro.ptypes[i] == OMC_PARAM_INT) { + OSC_writeIntArg(&obuf, mnode->fvali[i]); + if (i == 0) oval0 = mnode->fvali[i]; + if (i == 1) oval1 = mnode->fvali[i]; } else { - OSC_writeFloatArg(&obuf,(float)mnode->fvald[i]); + OSC_writeFloatArg(&obuf, (float)mnode->fvald[i]); } } } @@ -2432,7 +2432,7 @@ void on_midi_save_activate(LiVESMenuItem *menuitem, livespointer user_data) { - LiVESSList *slist=omc_node_list; + LiVESSList *slist = omc_node_list; size_t srchlen; @@ -2448,74 +2448,74 @@ register int i; - save_file=choose_file(NULL,NULL,NULL,LIVES_FILE_CHOOSER_ACTION_SAVE,NULL,NULL); + save_file = choose_file(NULL, NULL, NULL, LIVES_FILE_CHOOSER_ACTION_SAVE, NULL, NULL); - if (save_file==NULL||!strlen(save_file)) return; + if (save_file == NULL || !strlen(save_file)) return; - d_print(_("Saving device mapping to file %s..."),save_file); + d_print(_("Saving device mapping to file %s..."), save_file); do { - retval=0; - if ((fd=open(save_file,O_WRONLY|O_CREAT|O_TRUNC,S_IRUSR|S_IWUSR))<0) { - retval=do_write_failed_error_s_with_retry(save_file,lives_strerror(errno),NULL); - if (retval==LIVES_RESPONSE_CANCEL) { + retval = 0; + if ((fd = open(save_file, O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR)) < 0) { + retval = do_write_failed_error_s_with_retry(save_file, lives_strerror(errno), NULL); + if (retval == LIVES_RESPONSE_CANCEL) { lives_free(save_file); d_print_failed(); return; } } else { - mainw->write_failed=FALSE; + mainw->write_failed = FALSE; - lives_write(fd,OMC_FILE_VSTRING,strlen(OMC_FILE_VSTRING),TRUE); + lives_write(fd, OMC_FILE_VSTRING, strlen(OMC_FILE_VSTRING), TRUE); - nnodes=lives_slist_length(omc_node_list); - lives_write_le(fd,&nnodes,4,TRUE); + nnodes = lives_slist_length(omc_node_list); + lives_write_le(fd, &nnodes, 4, TRUE); - while (slist!=NULL) { + while (slist != NULL) { if (mainw->write_failed) break; - mnode=(lives_omc_match_node_t *)slist->data; - srchlen=strlen(mnode->srch); + mnode = (lives_omc_match_node_t *)slist->data; + srchlen = strlen(mnode->srch); - lives_write_le(fd,&srchlen,4,TRUE); - lives_write(fd,mnode->srch,srchlen,TRUE); + lives_write_le(fd, &srchlen, 4, TRUE); + lives_write(fd, mnode->srch, srchlen, TRUE); - lives_write_le(fd,&mnode->macro,4,TRUE); - lives_write_le(fd,&mnode->nvars,4,TRUE); + lives_write_le(fd, &mnode->macro, 4, TRUE); + lives_write_le(fd, &mnode->nvars, 4, TRUE); - for (i=0; i<mnode->nvars; i++) { + for (i = 0; i < mnode->nvars; i++) { if (mainw->write_failed) break; - lives_write_le(fd,&mnode->offs0[i],4,TRUE); - lives_write_le(fd,&mnode->scale[i],8,TRUE); - lives_write_le(fd,&mnode->offs1[i],4,TRUE); + lives_write_le(fd, &mnode->offs0[i], 4, TRUE); + lives_write_le(fd, &mnode->scale[i], 8, TRUE); + lives_write_le(fd, &mnode->offs1[i], 4, TRUE); - lives_write_le(fd,&mnode->min[i],4,TRUE); - lives_write_le(fd,&mnode->max[i],4,TRUE); + lives_write_le(fd, &mnode->min[i], 4, TRUE); + lives_write_le(fd, &mnode->max[i], 4, TRUE); - lives_write_le(fd,&mnode->matchp[i],4,TRUE); - lives_write_le(fd,&mnode->matchi[i],4,TRUE); + lives_write_le(fd, &mnode->matchp[i], 4, TRUE); + lives_write_le(fd, &mnode->matchi[i], 4, TRUE); } - omacro=omc_macros[mnode->macro]; + omacro = omc_macros[mnode->macro]; - for (i=0; i<omacro.nparams; i++) { + for (i = 0; i < omacro.nparams; i++) { if (mainw->write_failed) break; - lives_write_le(fd,&mnode->map[i],4,TRUE); - lives_write_le(fd,&mnode->fvali[i],4,TRUE); - lives_write_le(fd,&mnode->fvald[i],8,TRUE); + lives_write_le(fd, &mnode->map[i], 4, TRUE); + lives_write_le(fd, &mnode->fvali[i], 4, TRUE); + lives_write_le(fd, &mnode->fvald[i], 8, TRUE); } - slist=slist->next; + slist = slist->next; } close(fd); if (mainw->write_failed) { - retval=do_write_failed_error_s_with_retry(save_file,NULL,NULL); - if (retval==LIVES_RESPONSE_CANCEL) d_print_file_error_failed(); + retval = do_write_failed_error_s_with_retry(save_file, NULL, NULL); + if (retval == LIVES_RESPONSE_CANCEL) d_print_file_error_failed(); } } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); - if (retval!=LIVES_RESPONSE_CANCEL) d_print_done(); + if (retval != LIVES_RESPONSE_CANCEL) d_print_done(); lives_free(save_file); @@ -2523,24 +2523,24 @@ static void omc_node_list_free(LiVESSList *slist) { - while (slist!=NULL) { + while (slist != NULL) { omc_match_node_free((lives_omc_match_node_t *)slist->data); - slist=slist->next; + slist = slist->next; } lives_slist_free(slist); - slist=NULL; + slist = NULL; } static void do_midi_load_error(const char *fname) { - char *msg=lives_strdup_printf(_("\n\nError parsing file\n%s\n"),fname); + char *msg = lives_strdup_printf(_("\n\nError parsing file\n%s\n"), fname); do_blocking_error_dialog(msg); lives_free(msg); d_print_failed(); } static void do_midi_version_error(const char *fname) { - char *msg=lives_strdup_printf(_("\n\nInvalid version in file\n%s\n"),fname); + char *msg = lives_strdup_printf(_("\n\nInvalid version in file\n%s\n"), fname); do_blocking_error_dialog(msg); lives_free(msg); d_print_failed(); @@ -2557,29 +2557,29 @@ char tstring[512]; - char *load_file=NULL; + char *load_file = NULL; char *srch; - uint32_t srchlen,nnodes,macro,nvars,supertype; - int idx=-1; + uint32_t srchlen, nnodes, macro, nvars, supertype; + int idx = -1; int fd; - register int i,j; + register int i, j; #ifdef OMC_MIDI_IMPL size_t blen; char *tmp; #endif - if (user_data==NULL) load_file=choose_file(NULL,NULL,NULL,LIVES_FILE_CHOOSER_ACTION_OPEN,NULL,NULL); - else load_file=lives_strdup((char *)user_data); + if (user_data == NULL) load_file = choose_file(NULL, NULL, NULL, LIVES_FILE_CHOOSER_ACTION_OPEN, NULL, NULL); + else load_file = lives_strdup((char *)user_data); - if (load_file==NULL||!strlen(load_file)) return; + if (load_file == NULL || !strlen(load_file)) return; - d_print(_("Loading device mapping from file %s..."),load_file); + d_print(_("Loading device mapping from file %s..."), load_file); - if ((fd=open(load_file,O_RDONLY))<0) { - char *msg=lives_strdup_printf(_("\n\nUnable to open file\n%s\nError code %d\n"),load_file,errno); + if ((fd = open(load_file, O_RDONLY)) < 0) { + char *msg = lives_strdup_printf(_("\n\nUnable to open file\n%s\nError code %d\n"), load_file, errno); do_blocking_error_dialog(msg); lives_free(msg); lives_free(load_file); @@ -2589,62 +2589,62 @@ if (!omc_macros_inited) { init_omc_macros(); - omc_macros_inited=TRUE; - OSC_initBuffer(&obuf,OSC_BUF_SIZE,byarr); + omc_macros_inited = TRUE; + OSC_initBuffer(&obuf, OSC_BUF_SIZE, byarr); } - bytes=read(fd,tstring,strlen(OMC_FILE_VSTRING)); - if (bytes<strlen(OMC_FILE_VSTRING)) { + bytes = read(fd, tstring, strlen(OMC_FILE_VSTRING)); + if (bytes < strlen(OMC_FILE_VSTRING)) { do_midi_load_error(load_file); lives_free(load_file); close(fd); return; } - if (strncmp(tstring,OMC_FILE_VSTRING,strlen(OMC_FILE_VSTRING))) { + if (strncmp(tstring, OMC_FILE_VSTRING, strlen(OMC_FILE_VSTRING))) { do_midi_version_error(load_file); lives_free(load_file); close(fd); return; } - bytes=lives_read_le(fd,&nnodes,4,TRUE); - if (bytes<4) { + bytes = lives_read_le(fd, &nnodes, 4, TRUE); + if (bytes < 4) { do_midi_load_error(load_file); lives_free(load_file); close(fd); return; } - if (omc_node_list!=NULL) { + if (omc_node_list != NULL) { omc_node_list_free(omc_node_list); - omc_node_list=NULL; + omc_node_list = NULL; } - for (i=0; i<nnodes; i++) { + for (i = 0; i < nnodes; i++) { - bytes=lives_read_le(fd,&srchlen,4,TRUE); - if (bytes<4) { + bytes = lives_read_le(fd, &srchlen, 4, TRUE); + if (bytes < 4) { do_midi_load_error(load_file); lives_free(load_file); close(fd); return; } - srch=(char *)lives_malloc(srchlen+1); + srch = (char *)lives_malloc(srchlen + 1); - bytes=read(fd,srch,srchlen); - if (bytes<srchlen) { + bytes = read(fd, srch, srchlen); + if (bytes < srchlen) { do_midi_load_error(load_file); lives_free(load_file); close(fd); return; } - memset(srch+srchlen,0,1); + memset(srch + srchlen, 0, 1); - bytes=lives_read_le(fd,¯o,4,TRUE); - if (bytes<sizint) { + bytes = lives_read_le(fd, ¯o, 4, TRUE); + if (bytes < sizint) { do_midi_load_error(load_file); lives_free(load_file); lives_free(srch); @@ -2652,8 +2652,8 @@ return; } - bytes=lives_read_le(fd,&nvars,4,TRUE); - if (bytes<4) { + bytes = lives_read_le(fd, &nvars, 4, TRUE); + if (bytes < 4) { do_midi_load_error(load_file); lives_free(load_file); lives_free(srch); @@ -2661,27 +2661,27 @@ return; } - supertype=atoi(srch); + supertype = atoi(srch); switch (supertype) { #ifdef OMC_JS_IMPL case OMC_JS: - supertype=js_msg_type(srch); + supertype = js_msg_type(srch); case OMC_JS_BUTTON: case OMC_JS_AXIS: - idx=js_index(srch); + idx = js_index(srch); break; #endif #ifdef OMC_MIDI_IMPL case OMC_MIDI: - idx=-1; + idx = -1; // cut first value (supertype) as we will be added back in match_node_new - tmp=cut_string_elems(srch,1); - blen=strlen(tmp); - tmp=lives_strdup(srch+blen+1); + tmp = cut_string_elems(srch, 1); + blen = strlen(tmp); + tmp = lives_strdup(srch + blen + 1); lives_free(srch); - srch=tmp; + srch = tmp; break; #endif @@ -2689,58 +2689,58 @@ return; } - mnode=lives_omc_match_node_new(supertype,idx,srch,-(nvars+1)); + mnode = lives_omc_match_node_new(supertype, idx, srch, -(nvars + 1)); lives_free(srch); - mnode->macro=macro; + mnode->macro = macro; - for (j=0; j<nvars; j++) { - bytes=lives_read_le(fd,&mnode->offs0[j],4,TRUE); - if (bytes<4) { + for (j = 0; j < nvars; j++) { + bytes = lives_read_le(fd, &mnode->offs0[j], 4, TRUE); + if (bytes < 4) { do_midi_load_error(load_file); lives_free(load_file); close(fd); return; } - bytes=lives_read_le(fd,&mnode->scale[j],8,TRUE); - if (bytes<8) { + bytes = lives_read_le(fd, &mnode->scale[j], 8, TRUE); + if (bytes < 8) { do_midi_load_error(load_file); lives_free(load_file); close(fd); return; } - bytes=lives_read_le(fd,&mnode->offs1[j],4,TRUE); - if (bytes<4) { + bytes = lives_read_le(fd, &mnode->offs1[j], 4, TRUE); + if (bytes < 4) { do_midi_load_error(load_file); lives_free(load_file); close(fd); return; } - bytes=lives_read_le(fd,&mnode->min[j],4,TRUE); - if (bytes<4) { + bytes = lives_read_le(fd, &mnode->min[j], 4, TRUE); + if (bytes < 4) { do_midi_load_error(load_file); lives_free(load_file); close(fd); return; } - bytes=lives_read_le(fd,&mnode->max[j],4,TRUE); - if (bytes<4) { + bytes = lives_read_le(fd, &mnode->max[j], 4, TRUE); + if (bytes < 4) { do_midi_load_error(load_file); lives_free(load_file); close(fd); return; } - bytes=lives_read_le(fd,&mnode->matchp[j],4,TRUE); - if (bytes<4) { + bytes = lives_read_le(fd, &mnode->matchp[j], 4, TRUE); + if (bytes < 4) { do_midi_load_error(load_file); lives_free(load_file); close(fd); return; } - bytes=lives_read_le(fd,&mnode->matchi[j],4,TRUE); - if (bytes<4) { + bytes = lives_read_le(fd, &mnode->matchi[j], 4, TRUE); + if (bytes < 4) { do_midi_load_error(load_file); lives_free(load_file); close(fd); @@ -2748,36 +2748,36 @@ } } - omacro=omc_macros[macro]; + omacro = omc_macros[macro]; - mnode->map=(int *)lives_malloc(omacro.nparams*sizint); - mnode->fvali=(int *)lives_malloc(omacro.nparams*sizint); - mnode->fvald=(double *)lives_malloc(omacro.nparams*sizdbl); + mnode->map = (int *)lives_malloc(omacro.nparams * sizint); + mnode->fvali = (int *)lives_malloc(omacro.nparams * sizint); + mnode->fvald = (double *)lives_malloc(omacro.nparams * sizdbl); - for (j=0; j<omacro.nparams; j++) { - bytes=lives_read_le(fd,&mnode->map[j],4,TRUE); - if (bytes<4) { + for (j = 0; j < omacro.nparams; j++) { + bytes = lives_read_le(fd, &mnode->map[j], 4, TRUE); + if (bytes < 4) { do_midi_load_error(load_file); lives_free(load_file); close(fd); return; } - bytes=lives_read_le(fd,&mnode->fvali[j],4,TRUE); - if (bytes<4) { + bytes = lives_read_le(fd, &mnode->fvali[j], 4, TRUE); + if (bytes < 4) { do_midi_load_error(load_file); lives_free(load_file); close(fd); return; } - bytes=read(fd,&mnode->fvald[j],8); - if (bytes<8) { + bytes = read(fd, &mnode->fvald[j], 8); + if (bytes < 8) { do_midi_load_error(load_file); lives_free(load_file); close(fd); return; } } - omc_node_list=lives_slist_append(omc_node_list,(livespointer)mnode); + omc_node_list = lives_slist_append(omc_node_list, (livespointer)mnode); } close(fd);
View file
LiVES-2.8.4.tar.bz2/src/omc-learn.h -> LiVES-2.8.6.tar.bz2/src/omc-learn.h
Changed
@@ -60,8 +60,6 @@ double *mind; double *maxd; double *vald; - - } lives_omc_macro_t; @@ -97,7 +95,6 @@ LiVESTreeStore *gtkstore2; int *tmpvals; - } lives_omc_match_node_t;
View file
LiVES-2.8.4.tar.bz2/src/osc.c -> LiVES-2.8.6.tar.bz2/src/osc.c
Changed
@@ -42,23 +42,23 @@ void *status_socket; void *notify_socket; -static lives_osc *livesOSC=NULL; +static lives_osc *livesOSC = NULL; static char constval[OSC_CONSTLEN]; -static boolean via_shortcut=FALSE; +static boolean via_shortcut = FALSE; #define FX_MAX FX_KEYS_MAX_VIRTUAL-1 static boolean osc_playall(livespointer data) { - on_playall_activate(NULL,NULL); + on_playall_activate(NULL, NULL); return FALSE; } static boolean osc_init_generator(livespointer data) { // do this via an idle function, as it will trigger playback and hang - rte_on_off_callback_hook(NULL,data); + rte_on_off_callback_hook(NULL, data); return FALSE; } @@ -66,7 +66,7 @@ /* convert a big endian 32 bit string to an int for internal use */ static int toInt(const char *b) { - if (capable->byte_order==LIVES_LITTLE_ENDIAN) { + if (capable->byte_order == LIVES_LITTLE_ENDIAN) { return (((int) b[3]) & 0xff) + ((((int) b[2]) & 0xff) << 8) + ((((int) b[1]) & 0xff) << 16) + ((((int) b[0]) & 0xff) << 24); } @@ -82,30 +82,30 @@ static int lives_osc_get_num_arguments(const void *vargs) { // check if using type tags and get num_arguments - const char *args=(const char *)vargs; - if (args[0]!=0x2c) return 0; - return strlen(args)-1; + const char *args = (const char *)vargs; + if (args[0] != 0x2c) return 0; + return strlen(args) - 1; } static boolean lives_osc_check_arguments(int arglen, const void *vargs, const char *check_pattern, boolean calc_header_len) { // check if using type tags and get header_len // should be called from each cb that uses parameters - const char *args=(const char *)vargs; + const char *args = (const char *)vargs; int header_len; - osc_header_len=0; - offset=0; + osc_header_len = 0; + offset = 0; - using_types=FALSE; - if (arglen<4||args[0] != 0x2c) return FALSE; // missing comma or typetags - using_types=TRUE; - - header_len=pad4(strlen(check_pattern)+1); - - if (arglen<header_len) return FALSE; - if (!strncmp(check_pattern,++args,strlen(check_pattern))) { - if (calc_header_len) osc_header_len=header_len; + using_types = FALSE; + if (arglen < 4 || args[0] != 0x2c) return FALSE; // missing comma or typetags + using_types = TRUE; + + header_len = pad4(strlen(check_pattern) + 1); + + if (arglen < header_len) return FALSE; + if (!strncmp(check_pattern, ++args, strlen(check_pattern))) { + if (calc_header_len) osc_header_len = header_len; return TRUE; } return FALSE; @@ -124,8 +124,8 @@ static void lives_osc_parse_string_argument(const void *vargs, char *dst) { const char *args = (char *)vargs; - lives_snprintf(dst, OSC_STRING_SIZE, "%s", args+osc_header_len+offset); - offset+=pad4(strlen(dst)); + lives_snprintf(dst, OSC_STRING_SIZE, "%s", args + osc_header_len + offset); + offset += pad4(strlen(dst)); } @@ -133,13 +133,13 @@ static void lives_osc_parse_int_argument(const void *vargs, int *arguments) { const char *args = (char *)vargs; arguments[0] = toInt(args + osc_header_len + offset); - offset+=4; + offset += 4; } static void lives_osc_parse_float_argument(const void *vargs, float *arguments) { const char *args = (char *)vargs; arguments[0] = LEFloat_to_BEFloat(*((float *)(args + osc_header_len + offset))); - offset+=4; + offset += 4; } @@ -156,27 +156,27 @@ // status returns boolean lives_status_send(const char *msg) { - if (status_socket==NULL) return FALSE; + if (status_socket == NULL) return FALSE; else { // note we send the terminating \nul - boolean retval = lives_stream_out(status_socket,strlen(msg)+1,(void *)msg); + boolean retval = lives_stream_out(status_socket, strlen(msg) + 1, (void *)msg); return retval; } } -boolean lives_osc_notify(int msgnumber,const char *msgstring) { - if (notify_socket==NULL) return FALSE; - if (!prefs->omc_events&&(msgnumber!=LIVES_OSC_NOTIFY_SUCCESS - &&msgnumber!=LIVES_OSC_NOTIFY_FAILED)) return FALSE; +boolean lives_osc_notify(int msgnumber, const char *msgstring) { + if (notify_socket == NULL) return FALSE; + if (!prefs->omc_events && (msgnumber != LIVES_OSC_NOTIFY_SUCCESS + && msgnumber != LIVES_OSC_NOTIFY_FAILED)) return FALSE; else { char *msg; boolean retval; - if (msgstring!=NULL) { - msg=lives_strdup_printf("%d|%s\n",msgnumber,msgstring); - } else msg=lives_strdup_printf("%d\n",msgnumber); - retval = lives_stream_out(notify_socket,strlen(msg)+1,(void *)msg); + if (msgstring != NULL) { + msg = lives_strdup_printf("%d|%s\n", msgnumber, msgstring); + } else msg = lives_strdup_printf("%d\n", msgnumber); + retval = lives_stream_out(notify_socket, strlen(msg) + 1, (void *)msg); lives_free(msg); return retval; } @@ -184,13 +184,13 @@ boolean lives_osc_notify_success(const char *msg) { if (prefs->omc_noisy) - lives_osc_notify(LIVES_OSC_NOTIFY_SUCCESS,msg); + lives_osc_notify(LIVES_OSC_NOTIFY_SUCCESS, msg); return TRUE; } boolean lives_osc_notify_failure(void) { if (prefs->omc_noisy) - lives_osc_notify(LIVES_OSC_NOTIFY_FAILED,NULL); + lives_osc_notify(LIVES_OSC_NOTIFY_FAILED, NULL); return FALSE; } @@ -204,19 +204,19 @@ void lives_osc_close_status_socket(void) { - if (status_socket!=NULL) CloseHTMSocket(status_socket); - status_socket=NULL; + if (status_socket != NULL) CloseHTMSocket(status_socket); + status_socket = NULL; } void lives_osc_close_notify_socket(void) { - if (notify_socket!=NULL) CloseHTMSocket(notify_socket); - notify_socket=NULL; + if (notify_socket != NULL) CloseHTMSocket(notify_socket); + notify_socket = NULL; } static LIVES_INLINE const char *get_value_of(const int what) { - lives_snprintf(constval,OSC_CONSTLEN,"%d",what); + lives_snprintf(constval, OSC_CONSTLEN, "%d", what); return (const char *)&constval; } @@ -227,105 +227,105 @@ static const char *get_omc_const(const char *cname) { // looping modes - if (!strcmp(cname,"LIVES_LOOP_MODE_NONE")) return "0"; - if (!strcmp(cname,"LIVES_LOOP_MODE_CONTINUOUS")) return "1"; - if (!strcmp(cname,"LIVES_LOOP_MODE_FIT_AUDIO")) return "2"; + if (!strcmp(cname, "LIVES_LOOP_MODE_NONE")) return "0"; + if (!strcmp(cname, "LIVES_LOOP_MODE_CONTINUOUS")) return "1"; + if (!strcmp(cname, "LIVES_LOOP_MODE_FIT_AUDIO")) return "2"; // interface modes - if (!strcmp(cname,"LIVES_INTERFACE_MODE_CLIPEDIT")) return "0"; - if (!strcmp(cname,"LIVES_INTERFACE_MODE_MULTITRACK")) return "1"; + if (!strcmp(cname, "LIVES_INTERFACE_MODE_CLIPEDIT")) return "0"; + if (!strcmp(cname, "LIVES_INTERFACE_MODE_MULTITRACK")) return "1"; // status - if (!strcmp(cname,"LIVES_STATUS_NOTREADY")) return "0"; - if (!strcmp(cname,"LIVES_STATUS_READY")) return "1"; - if (!strcmp(cname,"LIVES_STATUS_PLAYING")) return "2"; - if (!strcmp(cname,"LIVES_STATUS_PROCESSING")) return "3"; - if (!strcmp(cname,"LIVES_STATUS_PREVIEW")) return "4"; + if (!strcmp(cname, "LIVES_STATUS_NOTREADY")) return "0"; + if (!strcmp(cname, "LIVES_STATUS_READY")) return "1"; + if (!strcmp(cname, "LIVES_STATUS_PLAYING")) return "2"; + if (!strcmp(cname, "LIVES_STATUS_PROCESSING")) return "3"; + if (!strcmp(cname, "LIVES_STATUS_PREVIEW")) return "4"; // parameter types - if (!strcmp(cname,"LIVES_PARAM_TYPE_INTEGER")) + if (!strcmp(cname, "LIVES_PARAM_TYPE_INTEGER")) return get_value_of((const int)WEED_HINT_INTEGER); - if (!strcmp(cname,"LIVES_PARAM_TYPE_FLOAT")) + if (!strcmp(cname, "LIVES_PARAM_TYPE_FLOAT")) return get_value_of((const int)WEED_HINT_FLOAT); - if (!strcmp(cname,"LIVES_PARAM_TYPE_BOOL")) + if (!strcmp(cname, "LIVES_PARAM_TYPE_BOOL")) return get_value_of((const int)WEED_HINT_SWITCH); - if (!strcmp(cname,"LIVES_PARAM_TYPE_STRING")) + if (!strcmp(cname, "LIVES_PARAM_TYPE_STRING")) return get_value_of((const int)WEED_HINT_TEXT); - if (!strcmp(cname,"LIVES_PARAM_TYPE_COLOR")) + if (!strcmp(cname, "LIVES_PARAM_TYPE_COLOR")) return get_value_of((const int)WEED_HINT_COLOR); // colorspaces - if (!strcmp(cname,"LIVES_COLORSPACE_RGB_INT")) + if (!strcmp(cname, "LIVES_COLORSPACE_RGB_INT")) return "1"; - if (!strcmp(cname,"LIVES_COLORSPACE_RGBA_INT")) + if (!strcmp(cname, "LIVES_COLORSPACE_RGBA_INT")) return "2"; - if (!strcmp(cname,"LIVES_COLORSPACE_RGB_FLOAT")) + if (!strcmp(cname, "LIVES_COLORSPACE_RGB_FLOAT")) return "3"; - if (!strcmp(cname,"LIVES_COLORSPACE_RGBA_FLOAT")) + if (!strcmp(cname, "LIVES_COLORSPACE_RGBA_FLOAT")) return "4"; // boolean values - if (!strcmp(cname,"LIVES_TRUE")) return "1"; - if (!strcmp(cname,"LIVES_FALSE")) return "0"; + if (!strcmp(cname, "LIVES_TRUE")) return "1"; + if (!strcmp(cname, "LIVES_FALSE")) return "0"; // parameter flags - if (!strcmp(cname,"LIVES_PARAM_FLAGS_REINIT_ON_VALUE_CHANGE")) + if (!strcmp(cname, "LIVES_PARAM_FLAGS_REINIT_ON_VALUE_CHANGE")) return get_value_of((const int)WEED_PARAMETER_REINIT_ON_VALUE_CHANGE); - if (!strcmp(cname,"LIVES_PARAM_FLAGS_VARIABLE_ELEMENTS")) + if (!strcmp(cname, "LIVES_PARAM_FLAGS_VARIABLE_ELEMENTS")) return get_value_of((const int)WEED_PARAMETER_VARIABLE_ELEMENTS); - if (!strcmp(cname,"LIVES_PARAM_FLAGS_ELEMENT_PER_CHANNEL")) + if (!strcmp(cname, "LIVES_PARAM_FLAGS_ELEMENT_PER_CHANNEL")) return get_value_of((const int)WEED_PARAMETER_ELEMENT_PER_CHANNEL); // notification types - if (!strcmp(cname,"LIVES_OSC_NOTIFY_SUCCESS")) + if (!strcmp(cname, "LIVES_OSC_NOTIFY_SUCCESS")) return get_value_of((const int)LIVES_OSC_NOTIFY_SUCCESS); - if (!strcmp(cname,"LIVES_OSC_NOTIFY_FAILED")) + if (!strcmp(cname, "LIVES_OSC_NOTIFY_FAILED")) return get_value_of((const int)LIVES_OSC_NOTIFY_FAILED); // notification events - if (!strcmp(cname,"LIVES_OSC_NOTIFY_FRAME_SYNCH")) + if (!strcmp(cname, "LIVES_OSC_NOTIFY_FRAME_SYNCH")) return get_value_of((const int)LIVES_OSC_NOTIFY_FRAME_SYNCH); - if (!strcmp(cname,"LIVES_OSC_NOTIFY_PLAYBACK_STARTED")) + if (!strcmp(cname, "LIVES_OSC_NOTIFY_PLAYBACK_STARTED")) return get_value_of((const int)LIVES_OSC_NOTIFY_PLAYBACK_STARTED); - if (!strcmp(cname,"LIVES_OSC_NOTIFY_PLAYBACK_STOPPED")) + if (!strcmp(cname, "LIVES_OSC_NOTIFY_PLAYBACK_STOPPED")) return get_value_of((const int)LIVES_OSC_NOTIFY_PLAYBACK_STOPPED); - if (!strcmp(cname,"LIVES_OSC_NOTIFY_PLAYBACK_STOPPED_RD")) + if (!strcmp(cname, "LIVES_OSC_NOTIFY_PLAYBACK_STOPPED_RD")) return get_value_of((const int)LIVES_OSC_NOTIFY_PLAYBACK_STOPPED_RD); - if (!strcmp(cname,"LIVES_OSC_NOTIFY_RECORD_STARTED")) + if (!strcmp(cname, "LIVES_OSC_NOTIFY_RECORD_STARTED")) return get_value_of((const int)LIVES_OSC_NOTIFY_RECORD_STARTED); - if (!strcmp(cname,"LIVES_OSC_NOTIFY_RECORD_STOPPED")) + if (!strcmp(cname, "LIVES_OSC_NOTIFY_RECORD_STOPPED")) return get_value_of((const int)LIVES_OSC_NOTIFY_RECORD_STOPPED); - if (!strcmp(cname,"LIVES_OSC_NOTIFY_QUIT")) + if (!strcmp(cname, "LIVES_OSC_NOTIFY_QUIT")) return get_value_of((const int)LIVES_OSC_NOTIFY_QUIT); - if (!strcmp(cname,"LIVES_OSC_NOTIFY_CLIP_OPENED")) + if (!strcmp(cname, "LIVES_OSC_NOTIFY_CLIP_OPENED")) return get_value_of((const int)LIVES_OSC_NOTIFY_CLIP_OPENED); - if (!strcmp(cname,"LIVES_OSC_NOTIFY_CLIP_CLOSED")) + if (!strcmp(cname, "LIVES_OSC_NOTIFY_CLIP_CLOSED")) return get_value_of((const int)LIVES_OSC_NOTIFY_CLIP_CLOSED); - if (!strcmp(cname,"LIVES_OSC_NOTIFY_CLIPSET_OPENED")) + if (!strcmp(cname, "LIVES_OSC_NOTIFY_CLIPSET_OPENED")) return get_value_of((const int)LIVES_OSC_NOTIFY_CLIPSET_OPENED); - if (!strcmp(cname,"LIVES_OSC_NOTIFY_CLIPSET_SAVED")) + if (!strcmp(cname, "LIVES_OSC_NOTIFY_CLIPSET_SAVED")) return get_value_of((const int)LIVES_OSC_NOTIFY_CLIPSET_SAVED); - if (!strcmp(cname,"LIVES_OSC_NOTIFY_SUCCESS")) + if (!strcmp(cname, "LIVES_OSC_NOTIFY_SUCCESS")) return get_value_of((const int)LIVES_OSC_NOTIFY_SUCCESS); - if (!strcmp(cname,"LIVES_OSC_NOTIFY_FAILED")) + if (!strcmp(cname, "LIVES_OSC_NOTIFY_FAILED")) return get_value_of((const int)LIVES_OSC_NOTIFY_FAILED); - if (!strcmp(cname,"LIVES_OSC_NOTIFY_CANCELLED")) + if (!strcmp(cname, "LIVES_OSC_NOTIFY_CANCELLED")) return get_value_of((const int)LIVES_OSC_NOTIFY_CANCELLED); - if (!strcmp(cname,"LIVES_OSC_NOTIFY_MODE_CHANGED")) + if (!strcmp(cname, "LIVES_OSC_NOTIFY_MODE_CHANGED")) return get_value_of((const int)LIVES_OSC_NOTIFY_MODE_CHANGED); // audio sources - if (!strcmp(cname,"LIVES_AUDIO_SOURCE_INTERNAL")) + if (!strcmp(cname, "LIVES_AUDIO_SOURCE_INTERNAL")) return get_value_of((const int)AUDIO_SRC_INT); - if (!strcmp(cname,"LIVES_AUDIO_SOURCE_EXTERNAL")) + if (!strcmp(cname, "LIVES_AUDIO_SOURCE_EXTERNAL")) return get_value_of((const int)AUDIO_SRC_EXT); // generic constants - if (!strcmp(cname,"LIVES_FPS_MAX")) + if (!strcmp(cname, "LIVES_FPS_MAX")) return get_value_of((const int)FPS_MAX); - if (!strcmp(cname,"LIVES_DEFAULT_OVERRIDDEN")) + if (!strcmp(cname, "LIVES_DEFAULT_OVERRIDDEN")) return "2"; lives_osc_notify_failure(); @@ -336,54 +336,54 @@ static char *lives_osc_format_result(weed_plant_t *plant, const char *key, int st, int end) { int stype; - int error,i; + int error, i; - char *retval=NULL,*tmp; + char *retval = NULL, *tmp; - if (end==-1) end=weed_leaf_num_elements(plant,key); + if (end == -1) end = weed_leaf_num_elements(plant, key); - if (end<=st) return lives_strdup(""); + if (end <= st) return lives_strdup(""); - stype=weed_leaf_seed_type(plant,key); + stype = weed_leaf_seed_type(plant, key); switch (stype) { case WEED_SEED_INT: { - int *vals=weed_get_int_array(plant,key,&error); - for (i=st; i<end; i++) { - if (retval==NULL) tmp=lives_strdup_printf("%d",vals[i]); + int *vals = weed_get_int_array(plant, key, &error); + for (i = st; i < end; i++) { + if (retval == NULL) tmp = lives_strdup_printf("%d", vals[i]); else { - tmp=lives_strdup_printf("%s,%d",retval,vals[i]); + tmp = lives_strdup_printf("%s,%d", retval, vals[i]); lives_free(retval); } - retval=tmp; + retval = tmp; } lives_free(vals); break; } case WEED_SEED_DOUBLE: { - double *vals=weed_get_double_array(plant,key,&error); - for (i=st; i<end; i++) { - if (retval==NULL) tmp=lives_strdup_printf("%f",vals[i]); + double *vals = weed_get_double_array(plant, key, &error); + for (i = st; i < end; i++) { + if (retval == NULL) tmp = lives_strdup_printf("%f", vals[i]); else { - tmp=lives_strdup_printf("%s,%f",retval,vals[i]); + tmp = lives_strdup_printf("%s,%f", retval, vals[i]); lives_free(retval); } - retval=tmp; + retval = tmp; } lives_free(vals); break; } case WEED_SEED_BOOLEAN: { - int *vals=weed_get_boolean_array(plant,key,&error); - for (i=st; i<end; i++) { - if (retval==NULL) tmp=lives_strdup_printf("%d",vals[i]==WEED_TRUE); + int *vals = weed_get_boolean_array(plant, key, &error); + for (i = st; i < end; i++) { + if (retval == NULL) tmp = lives_strdup_printf("%d", vals[i] == WEED_TRUE); else { - tmp=lives_strdup_printf("%s,%d",retval,vals[i]==WEED_TRUE); + tmp = lives_strdup_printf("%s,%d", retval, vals[i] == WEED_TRUE); lives_free(retval); } - retval=tmp; + retval = tmp; } lives_free(vals); //g_print("get from %p %s %s\n", plant, key, tmp); @@ -392,16 +392,16 @@ } case WEED_SEED_STRING: { - char **vals=weed_get_string_array(plant,key,&error); + char **vals = weed_get_string_array(plant, key, &error); char *tmp2; - for (i=st; i<end; i++) { - if (retval==NULL) tmp=lives_strdup_printf("\"%s\"",(tmp2=subst(vals[i],"\"","\\\""))); + for (i = st; i < end; i++) { + if (retval == NULL) tmp = lives_strdup_printf("\"%s\"", (tmp2 = subst(vals[i], "\"", "\\\""))); else { - tmp=lives_strdup_printf("%s,\"%s\"",retval,(tmp2=subst(vals[i],"\"","\\\""))); + tmp = lives_strdup_printf("%s,\"%s\"", retval, (tmp2 = subst(vals[i], "\"", "\\\""))); lives_free(retval); } lives_free(tmp2); - retval=tmp; + retval = tmp; lives_free(vals[i]); } lives_free(vals); @@ -422,79 +422,79 @@ // TODO - handle clipboard playback boolean lives_osc_cb_test(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - int val=lives_osc_get_num_arguments(vargs); - lives_printerr("got %d\n",val); + int val = lives_osc_get_num_arguments(vargs); + lives_printerr("got %d\n", val); return TRUE; } /* /video/play */ boolean lives_osc_cb_play(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { float ent, stt; - double entd,sttd; + double entd, sttd; if (mainw->go_away) return lives_osc_notify_failure(); - mainw->osc_auto=1; ///< request early notifiction of success + mainw->osc_auto = 1; ///< request early notifiction of success - if (mainw->current_file<=0||mainw->playing_file!=-1) return lives_osc_notify_failure(); + if (mainw->current_file <= 0 || mainw->playing_file != -1) return lives_osc_notify_failure(); - mainw->play_start=calc_frame_from_time(mainw->current_file, - cfile->pointer_time); - mainw->play_end=cfile->frames; + mainw->play_start = calc_frame_from_time(mainw->current_file, + cfile->pointer_time); + mainw->play_end = cfile->frames; - if (!lives_osc_check_arguments(arglen,vargs,"ff",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"f",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"",FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "ff", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "f", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "", FALSE)) { return lives_osc_notify_failure(); } } else { - lives_osc_check_arguments(arglen,vargs,"f",TRUE); - lives_osc_parse_float_argument(vargs,&stt); - sttd=(double)stt; - mainw->play_start=calc_frame_from_time(mainw->current_file, - sttd); + lives_osc_check_arguments(arglen, vargs, "f", TRUE); + lives_osc_parse_float_argument(vargs, &stt); + sttd = (double)stt; + mainw->play_start = calc_frame_from_time(mainw->current_file, + sttd); } } else { - lives_osc_check_arguments(arglen,vargs,"ff",TRUE); - lives_osc_parse_float_argument(vargs,&stt); - lives_osc_parse_float_argument(vargs,&ent); - sttd=(double)stt; - entd=(double)ent; - mainw->play_end=calc_frame_from_time(mainw->current_file, - entd); - mainw->play_start=calc_frame_from_time(mainw->current_file, - sttd); + lives_osc_check_arguments(arglen, vargs, "ff", TRUE); + lives_osc_parse_float_argument(vargs, &stt); + lives_osc_parse_float_argument(vargs, &ent); + sttd = (double)stt; + entd = (double)ent; + mainw->play_end = calc_frame_from_time(mainw->current_file, + entd); + mainw->play_start = calc_frame_from_time(mainw->current_file, + sttd); } - lives_idle_add(osc_playall,NULL); + lives_idle_add(osc_playall, NULL); return lives_osc_notify_success(NULL); } boolean lives_osc_cb_playsel(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { if (mainw->go_away) return lives_osc_notify_failure(); - if (mainw->playing_file==-1&&mainw->current_file>0) { - mainw->osc_auto=1; ///< request early notifiction of success + if (mainw->playing_file == -1 && mainw->current_file > 0) { + mainw->osc_auto = 1; ///< request early notifiction of success // re - add the timer, as we will hang here, and we want to receive messages still during playback lives_timer_remove(mainw->kb_timer); - mainw->kb_timer=lives_timer_add(KEY_RPT_INTERVAL,&ext_triggers_poll,NULL); + mainw->kb_timer = lives_timer_add(KEY_RPT_INTERVAL, &ext_triggers_poll, NULL); - if (mainw->multitrack==NULL) on_playsel_activate(NULL,NULL); + if (mainw->multitrack == NULL) on_playsel_activate(NULL, NULL); else multitrack_play_sel(NULL, mainw->multitrack); - mainw->kb_timer_end=TRUE; - mainw->osc_auto=0; ///< request early notifiction of success + mainw->kb_timer_end = TRUE; + mainw->osc_auto = 0; ///< request early notifiction of success } return TRUE; } boolean lives_osc_cb_play_reverse(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (mainw->current_file<0||((cfile->clip_type!=CLIP_TYPE_DISK&&cfile->clip_type!=CLIP_TYPE_FILE)||mainw->playing_file==-1)) + if (mainw->current_file < 0 || ((cfile->clip_type != CLIP_TYPE_DISK && cfile->clip_type != CLIP_TYPE_FILE) || mainw->playing_file == -1)) lives_osc_notify_failure(); - dirchange_callback(NULL,NULL,0,(LiVESXModifierType)0,LIVES_INT_TO_POINTER(SCREEN_AREA_FOREGROUND)); + dirchange_callback(NULL, NULL, 0, (LiVESXModifierType)0, LIVES_INT_TO_POINTER(SCREEN_AREA_FOREGROUND)); return lives_osc_notify_success(NULL); } @@ -502,16 +502,17 @@ boolean lives_osc_cb_bgplay_reverse(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (mainw->blend_file<1||mainw->files[mainw->blend_file]==NULL||mainw->blend_file==mainw->current_file||mainw->playing_file==-1) + if (mainw->blend_file < 1 || mainw->files[mainw->blend_file] == NULL || mainw->blend_file == mainw->current_file || + mainw->playing_file == -1) lives_osc_notify_failure(); - if (mainw->files[mainw->blend_file]->clip_type!=CLIP_TYPE_DISK&& - mainw->files[mainw->blend_file]->clip_type!=CLIP_TYPE_FILE) + if (mainw->files[mainw->blend_file]->clip_type != CLIP_TYPE_DISK && + mainw->files[mainw->blend_file]->clip_type != CLIP_TYPE_FILE) lives_osc_notify_failure(); - mainw->files[mainw->blend_file]->pb_fps=-mainw->files[mainw->blend_file]->pb_fps; + mainw->files[mainw->blend_file]->pb_fps = -mainw->files[mainw->blend_file]->pb_fps; return lives_osc_notify_success(NULL); @@ -521,16 +522,16 @@ boolean lives_osc_cb_play_forward(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { if (mainw->go_away) lives_osc_notify_failure(); // not ready to play yet - if (mainw->current_file<0||(cfile->clip_type!=CLIP_TYPE_DISK&&cfile->clip_type!=CLIP_TYPE_FILE)) - if (mainw->playing_file==1) lives_osc_notify_failure(); + if (mainw->current_file < 0 || (cfile->clip_type != CLIP_TYPE_DISK && cfile->clip_type != CLIP_TYPE_FILE)) + if (mainw->playing_file == 1) lives_osc_notify_failure(); - if (mainw->playing_file==-1&&mainw->current_file>0) { - lives_idle_add(osc_playall,NULL); + if (mainw->playing_file == -1 && mainw->current_file > 0) { + lives_idle_add(osc_playall, NULL); return lives_osc_notify_success(NULL); - } else if (mainw->current_file>0) { - if (cfile->pb_fps<0||(cfile->play_paused&&cfile->freeze_fps<0)) - dirchange_callback(NULL,NULL,0,(LiVESXModifierType)0,LIVES_INT_TO_POINTER(SCREEN_AREA_FOREGROUND)); - if (cfile->play_paused) freeze_callback(NULL,NULL,0,(LiVESXModifierType)0,NULL); + } else if (mainw->current_file > 0) { + if (cfile->pb_fps < 0 || (cfile->play_paused && cfile->freeze_fps < 0)) + dirchange_callback(NULL, NULL, 0, (LiVESXModifierType)0, LIVES_INT_TO_POINTER(SCREEN_AREA_FOREGROUND)); + if (cfile->play_paused) freeze_callback(NULL, NULL, 0, (LiVESXModifierType)0, NULL); return lives_osc_notify_success(NULL); } @@ -541,18 +542,19 @@ boolean lives_osc_cb_play_backward(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { if (mainw->go_away) lives_osc_notify_failure(); - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (mainw->current_file<0||(cfile->clip_type!=CLIP_TYPE_DISK&&cfile->clip_type!=CLIP_TYPE_FILE)) return lives_osc_notify_failure(); + if (mainw->current_file < 0 || (cfile->clip_type != CLIP_TYPE_DISK && + cfile->clip_type != CLIP_TYPE_FILE)) return lives_osc_notify_failure(); - if (mainw->playing_file==-1&&mainw->current_file>0) { - mainw->reverse_pb=TRUE; - lives_idle_add(osc_playall,NULL); + if (mainw->playing_file == -1 && mainw->current_file > 0) { + mainw->reverse_pb = TRUE; + lives_idle_add(osc_playall, NULL); return lives_osc_notify_success(NULL); - } else if (mainw->current_file>0) { - if (cfile->pb_fps>0||(cfile->play_paused&&cfile->freeze_fps>0)) - dirchange_callback(NULL,NULL,0,(LiVESXModifierType)0,LIVES_INT_TO_POINTER(SCREEN_AREA_FOREGROUND)); - if (cfile->play_paused) freeze_callback(NULL,NULL,0,(LiVESXModifierType)0,NULL); + } else if (mainw->current_file > 0) { + if (cfile->pb_fps > 0 || (cfile->play_paused && cfile->freeze_fps > 0)) + dirchange_callback(NULL, NULL, 0, (LiVESXModifierType)0, LIVES_INT_TO_POINTER(SCREEN_AREA_FOREGROUND)); + if (cfile->play_paused) freeze_callback(NULL, NULL, 0, (LiVESXModifierType)0, NULL); return lives_osc_notify_success(NULL); } @@ -563,10 +565,10 @@ boolean lives_osc_cb_play_faster(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); - if (mainw->playing_file==-1) return lives_osc_notify_failure(); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); + if (mainw->playing_file == -1) return lives_osc_notify_failure(); - on_faster_pressed(NULL,LIVES_INT_TO_POINTER(SCREEN_AREA_FOREGROUND)); + on_faster_pressed(NULL, LIVES_INT_TO_POINTER(SCREEN_AREA_FOREGROUND)); return lives_osc_notify_success(NULL); } @@ -574,12 +576,13 @@ boolean lives_osc_cb_bgplay_faster(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); - if (mainw->playing_file==-1) return lives_osc_notify_failure(); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); + if (mainw->playing_file == -1) return lives_osc_notify_failure(); - if (mainw->blend_file<1||mainw->files[mainw->blend_file]==NULL||mainw->blend_file==mainw->current_file) return lives_osc_notify_failure(); + if (mainw->blend_file < 1 || mainw->files[mainw->blend_file] == NULL || + mainw->blend_file == mainw->current_file) return lives_osc_notify_failure(); - on_faster_pressed(NULL,LIVES_INT_TO_POINTER(SCREEN_AREA_BACKGROUND)); + on_faster_pressed(NULL, LIVES_INT_TO_POINTER(SCREEN_AREA_BACKGROUND)); return lives_osc_notify_success(NULL); } @@ -587,10 +590,10 @@ boolean lives_osc_cb_play_slower(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); - if (mainw->playing_file==-1) return lives_osc_notify_failure(); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); + if (mainw->playing_file == -1) return lives_osc_notify_failure(); - on_slower_pressed(NULL,LIVES_INT_TO_POINTER(SCREEN_AREA_FOREGROUND)); + on_slower_pressed(NULL, LIVES_INT_TO_POINTER(SCREEN_AREA_FOREGROUND)); return lives_osc_notify_success(NULL); } @@ -598,12 +601,13 @@ boolean lives_osc_cb_bgplay_slower(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); - if (mainw->playing_file==-1) return lives_osc_notify_failure(); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); + if (mainw->playing_file == -1) return lives_osc_notify_failure(); - if (mainw->blend_file<1||mainw->files[mainw->blend_file]==NULL||mainw->blend_file==mainw->current_file) return lives_osc_notify_failure(); + if (mainw->blend_file < 1 || mainw->files[mainw->blend_file] == NULL || + mainw->blend_file == mainw->current_file) return lives_osc_notify_failure(); - on_slower_pressed(NULL,LIVES_INT_TO_POINTER(SCREEN_AREA_BACKGROUND)); + on_slower_pressed(NULL, LIVES_INT_TO_POINTER(SCREEN_AREA_BACKGROUND)); return lives_osc_notify_success(NULL); } @@ -612,13 +616,13 @@ boolean lives_osc_cb_play_reset(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); - if (mainw->playing_file==-1) return lives_osc_notify_failure(); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); + if (mainw->playing_file == -1) return lives_osc_notify_failure(); - fps_reset_callback(NULL,NULL,0,(LiVESXModifierType)0,NULL); - if (cfile->pb_fps<0||(cfile->play_paused&& - cfile->freeze_fps<0)) dirchange_callback(NULL,NULL,0,(LiVESXModifierType)0,LIVES_INT_TO_POINTER(SCREEN_AREA_FOREGROUND)); - if (cfile->play_paused) freeze_callback(NULL,NULL,0,(LiVESXModifierType)0,NULL); + fps_reset_callback(NULL, NULL, 0, (LiVESXModifierType)0, NULL); + if (cfile->pb_fps < 0 || (cfile->play_paused && + cfile->freeze_fps < 0)) dirchange_callback(NULL, NULL, 0, (LiVESXModifierType)0, LIVES_INT_TO_POINTER(SCREEN_AREA_FOREGROUND)); + if (cfile->play_paused) freeze_callback(NULL, NULL, 0, (LiVESXModifierType)0, NULL); return lives_osc_notify_success(NULL); @@ -627,17 +631,18 @@ boolean lives_osc_cb_bgplay_reset(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); - if (mainw->playing_file==-1) return lives_osc_notify_failure(); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); + if (mainw->playing_file == -1) return lives_osc_notify_failure(); - if (mainw->blend_file<1||mainw->files[mainw->blend_file]==NULL||mainw->blend_file==mainw->current_file) return lives_osc_notify_failure(); + if (mainw->blend_file < 1 || mainw->files[mainw->blend_file] == NULL || + mainw->blend_file == mainw->current_file) return lives_osc_notify_failure(); if (mainw->files[mainw->blend_file]->play_paused) { - mainw->files[mainw->blend_file]->play_paused=FALSE; + mainw->files[mainw->blend_file]->play_paused = FALSE; } - if (mainw->files[mainw->blend_file]->pb_fps>=0.) mainw->files[mainw->blend_file]->pb_fps=mainw->files[mainw->blend_file]->fps; - else mainw->files[mainw->blend_file]->pb_fps=-mainw->files[mainw->blend_file]->fps; + if (mainw->files[mainw->blend_file]->pb_fps >= 0.) mainw->files[mainw->blend_file]->pb_fps = mainw->files[mainw->blend_file]->fps; + else mainw->files[mainw->blend_file]->pb_fps = -mainw->files[mainw->blend_file]->fps; return lives_osc_notify_success(NULL); } @@ -647,8 +652,8 @@ /* /video/stop */ boolean lives_osc_cb_stop(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - if (mainw->playing_file>-1) { - on_stop_activate(NULL,NULL); // should send play stop event + if (mainw->playing_file > -1) { + on_stop_activate(NULL, NULL); // should send play stop event return lives_osc_notify_success(NULL); } else return lives_osc_notify_failure(); } @@ -658,22 +663,22 @@ boolean lives_osc_cb_set_loop(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { int lmode; - if (lives_osc_check_arguments(arglen,vargs,"i",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"i",TRUE); - lives_osc_parse_int_argument(vargs,&lmode); + if (lives_osc_check_arguments(arglen, vargs, "i", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "i", TRUE); + lives_osc_parse_int_argument(vargs, &lmode); } else return lives_osc_notify_failure(); - if (lmode==atoi(get_omc_const("LIVES_LOOP_MODE_NONE"))) { - if (mainw->loop_cont) on_loop_button_activate(NULL,NULL); - if (mainw->loop) lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->loop_video),!mainw->loop); + if (lmode == atoi(get_omc_const("LIVES_LOOP_MODE_NONE"))) { + if (mainw->loop_cont) on_loop_button_activate(NULL, NULL); + if (mainw->loop) lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->loop_video), !mainw->loop); } else { if (lmode & atoi(get_omc_const("LIVES_LOOP_MODE_CONTINUOUS"))) { - if (!mainw->loop_cont) on_loop_button_activate(NULL,NULL); - } else if (mainw->loop_cont) on_loop_button_activate(NULL,NULL); + if (!mainw->loop_cont) on_loop_button_activate(NULL, NULL); + } else if (mainw->loop_cont) on_loop_button_activate(NULL, NULL); if (lmode & atoi(get_omc_const("LIVES_LOOP_MODE_FIT_AUDIO"))) { - if (mainw->loop) lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->loop_video),!mainw->loop); - } else if (!mainw->loop) lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->loop_video),!mainw->loop); + if (mainw->loop) lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->loop_video), !mainw->loop); + } else if (!mainw->loop) lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->loop_video), !mainw->loop); } return lives_osc_notify_success(NULL); @@ -684,13 +689,13 @@ boolean lives_osc_cb_get_loop(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - int lmode=0; + int lmode = 0; char *lmodes; - if (mainw->loop) lmode|=atoi(get_omc_const("LIVES_LOOP_MODE_FIT_AUDIO")); - if (mainw->loop_cont) lmode|=atoi(get_omc_const("LIVES_LOOP_MODE_CONTINUOUS")); + if (mainw->loop) lmode |= atoi(get_omc_const("LIVES_LOOP_MODE_FIT_AUDIO")); + if (mainw->loop_cont) lmode |= atoi(get_omc_const("LIVES_LOOP_MODE_CONTINUOUS")); - lmodes=lives_strdup_printf("%d",lmode); + lmodes = lives_strdup_printf("%d", lmode); lives_status_send(lmodes); lives_free(lmodes); return TRUE; @@ -701,13 +706,13 @@ int lmode; char *boolstr; - if (lives_osc_check_arguments(arglen,vargs,"i",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"i",TRUE); - lives_osc_parse_int_argument(vargs,&lmode); - boolstr=lives_strdup_printf("%d",lmode); - if (!strcmp(boolstr,get_omc_const("LIVES_TRUE"))) lmode=TRUE; + if (lives_osc_check_arguments(arglen, vargs, "i", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "i", TRUE); + lives_osc_parse_int_argument(vargs, &lmode); + boolstr = lives_strdup_printf("%d", lmode); + if (!strcmp(boolstr, get_omc_const("LIVES_TRUE"))) lmode = TRUE; else { - if (!strcmp(boolstr,get_omc_const("LIVES_FALSE"))) lmode=FALSE; + if (!strcmp(boolstr, get_omc_const("LIVES_FALSE"))) lmode = FALSE; else { lives_free(boolstr); return lives_osc_notify_failure(); @@ -717,7 +722,7 @@ } else return lives_osc_notify_failure(); if ((lmode && !mainw->ping_pong) || (!lmode && mainw->ping_pong)) - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->loop_ping_pong),!mainw->ping_pong); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->loop_ping_pong), !mainw->ping_pong); return lives_osc_notify_success(NULL); } @@ -735,17 +740,17 @@ boolean lives_osc_cb_set_fps(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { int fpsi; float fps; - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); - if (lives_osc_check_arguments(arglen,vargs,"i",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"i",TRUE); - lives_osc_parse_int_argument(vargs,&fpsi); - fps=(float)fpsi; + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); + if (lives_osc_check_arguments(arglen, vargs, "i", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "i", TRUE); + lives_osc_parse_int_argument(vargs, &fpsi); + fps = (float)fpsi; } else { - if (!lives_osc_check_arguments(arglen,vargs,"f",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_float_argument(vargs,&fps); + if (!lives_osc_check_arguments(arglen, vargs, "f", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_float_argument(vargs, &fps); } - if (mainw->playing_file>-1) lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps),(double)(fps)); + if (mainw->playing_file > -1) lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps), (double)(fps)); return lives_osc_notify_success(NULL); } @@ -755,19 +760,20 @@ int fpsi; float fps; - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); - if (mainw->blend_file<1||mainw->files[mainw->blend_file]==NULL||mainw->blend_file==mainw->current_file) return lives_osc_notify_failure(); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); + if (mainw->blend_file < 1 || mainw->files[mainw->blend_file] == NULL || + mainw->blend_file == mainw->current_file) return lives_osc_notify_failure(); - if (lives_osc_check_arguments(arglen,vargs,"i",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"i",TRUE); - lives_osc_parse_int_argument(vargs,&fpsi); - fps=(float)fpsi; + if (lives_osc_check_arguments(arglen, vargs, "i", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "i", TRUE); + lives_osc_parse_int_argument(vargs, &fpsi); + fps = (float)fpsi; } else { - if (!lives_osc_check_arguments(arglen,vargs,"f",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_float_argument(vargs,&fps); + if (!lives_osc_check_arguments(arglen, vargs, "f", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_float_argument(vargs, &fps); } - mainw->files[mainw->blend_file]->pb_fps=(double)fps; + mainw->files[mainw->blend_file]->pb_fps = (double)fps; return lives_osc_notify_success(NULL); } @@ -776,17 +782,17 @@ boolean lives_osc_cb_set_fps_ratio(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { int fpsi; float fps; - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); - if (lives_osc_check_arguments(arglen,vargs,"i",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"i",TRUE); - lives_osc_parse_int_argument(vargs,&fpsi); - fps=(float)fpsi; + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); + if (lives_osc_check_arguments(arglen, vargs, "i", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "i", TRUE); + lives_osc_parse_int_argument(vargs, &fpsi); + fps = (float)fpsi; } else { - if (!lives_osc_check_arguments(arglen,vargs,"f",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_float_argument(vargs,&fps); + if (!lives_osc_check_arguments(arglen, vargs, "f", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_float_argument(vargs, &fps); } - if (mainw->playing_file>-1) lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps), + if (mainw->playing_file > -1) lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps), (double)(fps)*mainw->files[mainw->playing_file]->fps); return lives_osc_notify_success(NULL); @@ -796,34 +802,34 @@ boolean lives_osc_cb_bgset_fps_ratio(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { int fpsi; float fps; - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (mainw->blend_file<1||mainw->files[mainw->blend_file]==NULL||mainw->blend_file==mainw->current_file) + if (mainw->blend_file < 1 || mainw->files[mainw->blend_file] == NULL || mainw->blend_file == mainw->current_file) return lives_osc_notify_failure(); - if (lives_osc_check_arguments(arglen,vargs,"i",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"i",TRUE); - lives_osc_parse_int_argument(vargs,&fpsi); - fps=(float)fpsi; + if (lives_osc_check_arguments(arglen, vargs, "i", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "i", TRUE); + lives_osc_parse_int_argument(vargs, &fpsi); + fps = (float)fpsi; } else { - if (!lives_osc_check_arguments(arglen,vargs,"f",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_float_argument(vargs,&fps); + if (!lives_osc_check_arguments(arglen, vargs, "f", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_float_argument(vargs, &fps); } - mainw->files[mainw->blend_file]->pb_fps=mainw->files[mainw->blend_file]->fps*(double)fps; + mainw->files[mainw->blend_file]->pb_fps = mainw->files[mainw->blend_file]->fps * (double)fps; return lives_osc_notify_success(NULL); } boolean lives_osc_cb_fx_reset(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - if (!mainw->osc_block) rte_on_off_callback_hook(NULL,LIVES_INT_TO_POINTER(0)); + if (!mainw->osc_block) rte_on_off_callback_hook(NULL, LIVES_INT_TO_POINTER(0)); return lives_osc_notify_success(NULL); } boolean lives_osc_cb_fx_map_clear(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - if (!mainw->osc_block) on_clear_all_clicked(NULL,NULL); + if (!mainw->osc_block) on_clear_all_clicked(NULL, NULL); return lives_osc_notify_success(NULL); } @@ -832,11 +838,11 @@ int effect_key; char effect_name[OSC_STRING_SIZE]; - if (!lives_osc_check_arguments(arglen,vargs,"is",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_string_argument(vargs,effect_name); + if (!lives_osc_check_arguments(arglen, vargs, "is", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_string_argument(vargs, effect_name); if (!mainw->osc_block) { - weed_add_effectkey(effect_key,effect_name,FALSE); // allow partial matches + weed_add_effectkey(effect_key, effect_name, FALSE); // allow partial matches return lives_osc_notify_success(NULL); } return lives_osc_notify_failure(); @@ -847,13 +853,13 @@ int effect_key; int mode; - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&mode); + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &mode); mode--; - if (!mainw->osc_block && rte_keymode_valid(effect_key,mode,TRUE)) { - int idx=effect_key*rte_getmodespk()+mode; - on_clear_clicked(NULL,LIVES_INT_TO_POINTER(idx)); + if (!mainw->osc_block && rte_keymode_valid(effect_key, mode, TRUE)) { + int idx = effect_key * rte_getmodespk() + mode; + on_clear_clicked(NULL, LIVES_INT_TO_POINTER(idx)); return lives_osc_notify_success(NULL); } return lives_osc_notify_failure(); @@ -862,22 +868,22 @@ static boolean osc_fx_on(int effect_key) { int count; - int grab=mainw->last_grabbable_effect; + int grab = mainw->last_grabbable_effect; - weed_plant_t *filter=rte_keymode_get_filter(effect_key,rte_key_getmode(effect_key)); + weed_plant_t *filter = rte_keymode_get_filter(effect_key, rte_key_getmode(effect_key)); - if (filter==NULL) return lives_osc_notify_failure(); - count=enabled_in_channels(filter, FALSE); - if (mainw->playing_file==-1&&via_shortcut&&count!=0) return lives_osc_notify_failure(); // is no generator - - if (mainw->playing_file==-1&&count==0) { - if (mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL)||mainw->is_processing|| - mainw->multitrack!=NULL) return lives_osc_notify_failure(); - mainw->error=FALSE; - lives_idle_add(osc_init_generator,LIVES_INT_TO_POINTER(effect_key)); + if (filter == NULL) return lives_osc_notify_failure(); + count = enabled_in_channels(filter, FALSE); + if (mainw->playing_file == -1 && via_shortcut && count != 0) return lives_osc_notify_failure(); // is no generator + + if (mainw->playing_file == -1 && count == 0) { + if (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL) || mainw->is_processing || + mainw->multitrack != NULL) return lives_osc_notify_failure(); + mainw->error = FALSE; + lives_idle_add(osc_init_generator, LIVES_INT_TO_POINTER(effect_key)); } else { - rte_on_off_callback_hook(NULL,LIVES_INT_TO_POINTER(effect_key)); - mainw->last_grabbable_effect=grab; + rte_on_off_callback_hook(NULL, LIVES_INT_TO_POINTER(effect_key)); + mainw->last_grabbable_effect = grab; } return lives_osc_notify_success(NULL); @@ -888,12 +894,12 @@ // if via_shortcut and not playing, we ignore unless a generator starts (which starts playback) int effect_key; - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); if (!mainw->osc_block) { - if (!(mainw->rte&(GU641<<(effect_key-1)))) { + if (!(mainw->rte & (GU641 << (effect_key - 1)))) { return osc_fx_on(effect_key); } } else return lives_osc_notify_failure(); @@ -905,11 +911,11 @@ boolean lives_osc_cb_fx_disable(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { int effect_key; - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - if (mainw->rte&(GU641<<(effect_key-1))) { - if (!mainw->osc_block) rte_on_off_callback_hook(NULL,LIVES_INT_TO_POINTER(effect_key)); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + if (mainw->rte & (GU641 << (effect_key - 1))) { + if (!mainw->osc_block) rte_on_off_callback_hook(NULL, LIVES_INT_TO_POINTER(effect_key)); } return lives_osc_notify_success(NULL); } @@ -919,15 +925,15 @@ int effect_key; - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); - if (!(mainw->rte&(GU641<<(effect_key-1)))) { + if (!(mainw->rte & (GU641 << (effect_key - 1)))) { return osc_fx_on(effect_key); } - if (!mainw->osc_block) rte_on_off_callback_hook(NULL,LIVES_INT_TO_POINTER(effect_key)); + if (!mainw->osc_block) rte_on_off_callback_hook(NULL, LIVES_INT_TO_POINTER(effect_key)); return lives_osc_notify_success(NULL); } @@ -940,17 +946,18 @@ // switch fg clip int clip; - if (mainw->current_file<1||(mainw->preview||(mainw->event_list!=NULL&&(!mainw->record||mainw->playing_file==-1)))||mainw->is_processing|| - mainw->multitrack!=NULL) return lives_osc_notify_failure(); - - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&clip); - - if (clip>0&&clip<MAX_FILES-1) { - if (mainw->files[clip]!=NULL&&(mainw->files[clip]->clip_type==CLIP_TYPE_DISK||mainw->files[clip]->clip_type==CLIP_TYPE_FILE)) { - if (mainw->playing_file!=0) { - char *msg=lives_strdup_printf("%d",clip); - switch_clip(1,clip,FALSE); + if (mainw->current_file < 1 || (mainw->preview || (mainw->event_list != NULL && (!mainw->record || mainw->playing_file == -1))) || + mainw->is_processing || + mainw->multitrack != NULL) return lives_osc_notify_failure(); + + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &clip); + + if (clip > 0 && clip < MAX_FILES - 1) { + if (mainw->files[clip] != NULL && (mainw->files[clip]->clip_type == CLIP_TYPE_DISK || mainw->files[clip]->clip_type == CLIP_TYPE_FILE)) { + if (mainw->playing_file != 0) { + char *msg = lives_strdup_printf("%d", clip); + switch_clip(1, clip, FALSE); lives_osc_notify_success(msg); lives_free(msg); return TRUE; @@ -965,16 +972,17 @@ // switch bg clip int clip; - if (mainw->current_file<1||(mainw->preview||(mainw->event_list!=NULL&&(!mainw->record||mainw->playing_file==-1)))||mainw->is_processing|| - mainw->multitrack!=NULL) return lives_osc_notify_failure(); - - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&clip); - - if (clip>0&&clip<MAX_FILES-1) { - if (mainw->files[clip]!=NULL&&(mainw->files[clip]->clip_type==CLIP_TYPE_DISK||mainw->files[clip]->clip_type==CLIP_TYPE_FILE)) { - char *msg=lives_strdup_printf("%d",clip); - switch_clip(2,clip,FALSE); + if (mainw->current_file < 1 || (mainw->preview || (mainw->event_list != NULL && (!mainw->record || mainw->playing_file == -1))) || + mainw->is_processing || + mainw->multitrack != NULL) return lives_osc_notify_failure(); + + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &clip); + + if (clip > 0 && clip < MAX_FILES - 1) { + if (mainw->files[clip] != NULL && (mainw->files[clip]->clip_type == CLIP_TYPE_DISK || mainw->files[clip]->clip_type == CLIP_TYPE_FILE)) { + char *msg = lives_strdup_printf("%d", clip); + switch_clip(2, clip, FALSE); lives_osc_notify_success(msg); lives_free(msg); return TRUE; @@ -986,27 +994,28 @@ boolean lives_osc_cb_fgclip_select(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { // switch fg clip - int clip,i; - if (mainw->current_file<1||(mainw->preview||(mainw->event_list!=NULL&&(!mainw->record||mainw->playing_file==-1)))||mainw->is_processing|| - mainw->multitrack!=NULL) return lives_osc_notify_failure(); + int clip, i; + if (mainw->current_file < 1 || (mainw->preview || (mainw->event_list != NULL && (!mainw->record || mainw->playing_file == -1))) || + mainw->is_processing || + mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&clip); + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &clip); - if (clip<1||mainw->cliplist==NULL) return lives_osc_notify_failure(); + if (clip < 1 || mainw->cliplist == NULL) return lives_osc_notify_failure(); - if (mainw->scrap_file!=-1&&clip>=mainw->scrap_file) clip++; - if (mainw->ascrap_file!=-1&&clip>=mainw->ascrap_file) clip++; + if (mainw->scrap_file != -1 && clip >= mainw->scrap_file) clip++; + if (mainw->ascrap_file != -1 && clip >= mainw->ascrap_file) clip++; - if (clip>lives_list_length(mainw->cliplist)) return lives_osc_notify_failure(); + if (clip > lives_list_length(mainw->cliplist)) return lives_osc_notify_failure(); - i=LIVES_POINTER_TO_INT(lives_list_nth_data(mainw->cliplist,clip-1)); + i = LIVES_POINTER_TO_INT(lives_list_nth_data(mainw->cliplist, clip - 1)); - if (i==mainw->current_file) return lives_osc_notify_failure(); - if (mainw->playing_file!=0) { + if (i == mainw->current_file) return lives_osc_notify_failure(); + if (mainw->playing_file != 0) { char *msg; - switch_clip(1,i,FALSE); - msg=lives_strdup_printf("%d",i); + switch_clip(1, i, FALSE); + msg = lives_strdup_printf("%d", i); lives_osc_notify_success(msg); lives_free(msg); return TRUE; @@ -1020,31 +1029,32 @@ boolean lives_osc_cb_bgclip_select(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { // switch bg clip char *msg; - int clip,i; + int clip, i; - if (mainw->current_file<1||(mainw->preview||(mainw->event_list!=NULL&&(!mainw->record||mainw->playing_file==-1)))||mainw->is_processing|| - mainw->multitrack!=NULL) return lives_osc_notify_failure(); // etc + if (mainw->current_file < 1 || (mainw->preview || (mainw->event_list != NULL && (!mainw->record || mainw->playing_file == -1))) || + mainw->is_processing || + mainw->multitrack != NULL) return lives_osc_notify_failure(); // etc - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&clip); + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &clip); - if (clip<1||mainw->cliplist==NULL) return lives_osc_notify_failure(); + if (clip < 1 || mainw->cliplist == NULL) return lives_osc_notify_failure(); - if (mainw->scrap_file!=-1&&clip>=mainw->scrap_file) clip++; + if (mainw->scrap_file != -1 && clip >= mainw->scrap_file) clip++; - if (mainw->ascrap_file!=-1&&clip>=mainw->ascrap_file) clip++; + if (mainw->ascrap_file != -1 && clip >= mainw->ascrap_file) clip++; - if (clip>lives_list_length(mainw->cliplist)) return lives_osc_notify_failure(); + if (clip > lives_list_length(mainw->cliplist)) return lives_osc_notify_failure(); - if (mainw->num_tr_applied<1) return lives_osc_notify_failure(); + if (mainw->num_tr_applied < 1) return lives_osc_notify_failure(); - i=LIVES_POINTER_TO_INT(lives_list_nth_data(mainw->cliplist,clip-1)); + i = LIVES_POINTER_TO_INT(lives_list_nth_data(mainw->cliplist, clip - 1)); - if (i==mainw->blend_file) return lives_osc_notify_failure(); + if (i == mainw->blend_file) return lives_osc_notify_failure(); - switch_clip(2,i,FALSE); + switch_clip(2, i, FALSE); - msg=lives_strdup_printf("%d",i); + msg = lives_strdup_printf("%d", i); lives_osc_notify_success(msg); lives_free(msg); return TRUE; @@ -1057,26 +1067,26 @@ float fpsf; double fpsd; - if (mainw->playing_file>-1) return lives_osc_notify_failure(); + if (mainw->playing_file > -1) return lives_osc_notify_failure(); - if (mainw->current_file<1||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))||mainw->is_processing|| - mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if (mainw->current_file < 1 || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->is_processing || + mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (!lives_osc_check_arguments(arglen,vargs,"f",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&fps); - fpsd=(double)(fps*1.); + if (!lives_osc_check_arguments(arglen, vargs, "f", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &fps); + fpsd = (double)(fps * 1.); } else { - lives_osc_check_arguments(arglen,vargs,"f",TRUE); - lives_osc_parse_float_argument(vargs,&fpsf); - fpsd=(double)fpsf; + lives_osc_check_arguments(arglen, vargs, "f", TRUE); + lives_osc_parse_float_argument(vargs, &fpsf); + fpsd = (double)fpsf; } - if (fpsd<1.&&fpsd>FPS_MAX) return lives_osc_notify_failure(); + if (fpsd < 1. && fpsd > FPS_MAX) return lives_osc_notify_failure(); - cfile->undo1_dbl=fpsd; + cfile->undo1_dbl = fpsd; - on_resample_vid_ok(NULL,NULL); + on_resample_vid_ok(NULL, NULL); return lives_osc_notify_success(NULL); } @@ -1084,28 +1094,28 @@ boolean lives_osc_cb_clip_close(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - int noaudio=0; - int clipno=mainw->current_file; - int current_file=clipno; + int noaudio = 0; + int clipno = mainw->current_file; + int current_file = clipno; char *boolstr; - if (mainw->playing_file>-1) return lives_osc_notify_failure(); + if (mainw->playing_file > -1) return lives_osc_notify_failure(); - if (mainw->current_file<1||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))|| + if (mainw->current_file < 1 || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->is_processing) return lives_osc_notify_failure(); - if (lives_osc_check_arguments(arglen,vargs,"i",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"i",TRUE); - lives_osc_parse_int_argument(vargs,&noaudio); - } else if (mainw->multitrack!=NULL||!lives_osc_check_arguments(arglen,vargs,"",TRUE)) { + if (lives_osc_check_arguments(arglen, vargs, "i", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "i", TRUE); + lives_osc_parse_int_argument(vargs, &noaudio); + } else if (mainw->multitrack != NULL || !lives_osc_check_arguments(arglen, vargs, "", TRUE)) { return lives_osc_notify_failure(); } - boolstr=lives_strdup_printf("%d",noaudio); - if (!strcmp(boolstr,get_omc_const("LIVES_TRUE"))) noaudio=TRUE; + boolstr = lives_strdup_printf("%d", noaudio); + if (!strcmp(boolstr, get_omc_const("LIVES_TRUE"))) noaudio = TRUE; else { - if (!strcmp(boolstr,get_omc_const("LIVES_FALSE"))) noaudio=FALSE; + if (!strcmp(boolstr, get_omc_const("LIVES_FALSE"))) noaudio = FALSE; else { lives_free(boolstr); return lives_osc_notify_failure(); @@ -1113,12 +1123,13 @@ } lives_free(boolstr); - if (clipno<1||clipno>MAX_FILES||mainw->files[clipno]==NULL||(mainw->multitrack!=NULL&&clipno==mainw->multitrack->render_file)) + if (clipno < 1 || clipno > MAX_FILES || mainw->files[clipno] == NULL || (mainw->multitrack != NULL && + clipno == mainw->multitrack->render_file)) return lives_osc_notify_failure(); - if (clipno==current_file) current_file=-1; + if (clipno == current_file) current_file = -1; - mainw->current_file=clipno; + mainw->current_file = clipno; close_current_file(current_file); return lives_osc_notify_success(NULL); @@ -1127,31 +1138,31 @@ boolean lives_osc_cb_clip_undo(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - int clipno=mainw->current_file; - int current_file=clipno; + int clipno = mainw->current_file; + int current_file = clipno; - if (mainw->playing_file>-1) return lives_osc_notify_failure(); + if (mainw->playing_file > -1) return lives_osc_notify_failure(); - if (mainw->current_file<1||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))||mainw->is_processing|| - mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if (mainw->current_file < 1 || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->is_processing || + mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (lives_osc_check_arguments(arglen,vargs,"i",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"i",TRUE); - lives_osc_parse_int_argument(vargs,&clipno); - } else if (!lives_osc_check_arguments(arglen,vargs,"",TRUE)) { + if (lives_osc_check_arguments(arglen, vargs, "i", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "i", TRUE); + lives_osc_parse_int_argument(vargs, &clipno); + } else if (!lives_osc_check_arguments(arglen, vargs, "", TRUE)) { return lives_osc_notify_failure(); } - if (clipno<1||clipno>MAX_FILES||mainw->files[clipno]==NULL) + if (clipno < 1 || clipno > MAX_FILES || mainw->files[clipno] == NULL) return lives_osc_notify_failure(); if (!mainw->files[clipno]->undoable) return lives_osc_notify_failure(); - mainw->current_file=clipno; + mainw->current_file = clipno; - on_undo_activate(NULL,NULL); + on_undo_activate(NULL, NULL); - switch_to_file(mainw->current_file=0,current_file); + switch_to_file(mainw->current_file = 0, current_file); return lives_osc_notify_success(NULL); } @@ -1159,31 +1170,31 @@ boolean lives_osc_cb_clip_redo(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - int clipno=mainw->current_file; - int current_file=clipno; + int clipno = mainw->current_file; + int current_file = clipno; - if (mainw->playing_file>-1) return lives_osc_notify_failure(); + if (mainw->playing_file > -1) return lives_osc_notify_failure(); - if (mainw->current_file<1||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))||mainw->is_processing|| - mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if (mainw->current_file < 1 || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->is_processing || + mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (lives_osc_check_arguments(arglen,vargs,"i",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"i",TRUE); - lives_osc_parse_int_argument(vargs,&clipno); - } else if (!lives_osc_check_arguments(arglen,vargs,"",TRUE)) { + if (lives_osc_check_arguments(arglen, vargs, "i", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "i", TRUE); + lives_osc_parse_int_argument(vargs, &clipno); + } else if (!lives_osc_check_arguments(arglen, vargs, "", TRUE)) { return lives_osc_notify_failure(); } - if (clipno<1||clipno>MAX_FILES||mainw->files[clipno]==NULL) + if (clipno < 1 || clipno > MAX_FILES || mainw->files[clipno] == NULL) return lives_osc_notify_failure(); if (!mainw->files[clipno]->redoable) return lives_osc_notify_failure(); - mainw->current_file=clipno; + mainw->current_file = clipno; - on_redo_activate(NULL,NULL); + on_redo_activate(NULL, NULL); - switch_to_file(mainw->current_file=0,current_file); + switch_to_file(mainw->current_file = 0, current_file); return lives_osc_notify_success(NULL); } @@ -1193,33 +1204,33 @@ boolean lives_osc_cb_fgclip_copy(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - int noaudio=0; - int clipno=mainw->current_file; - int start,end,current_file=clipno; + int noaudio = 0; + int clipno = mainw->current_file; + int start, end, current_file = clipno; boolean ccpd; char *boolstr; - if (mainw->playing_file>-1||mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if (mainw->playing_file > -1 || mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (mainw->current_file<1||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))|| + if (mainw->current_file < 1 || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->is_processing) return lives_osc_notify_failure(); - if (lives_osc_check_arguments(arglen,vargs,"ii",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"ii",TRUE); - lives_osc_parse_int_argument(vargs,&noaudio); - lives_osc_parse_int_argument(vargs,&clipno); - } else if (lives_osc_check_arguments(arglen,vargs,"i",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"i",TRUE); - lives_osc_parse_int_argument(vargs,&noaudio); - } else if (!lives_osc_check_arguments(arglen,vargs,"",TRUE)) { + if (lives_osc_check_arguments(arglen, vargs, "ii", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "ii", TRUE); + lives_osc_parse_int_argument(vargs, &noaudio); + lives_osc_parse_int_argument(vargs, &clipno); + } else if (lives_osc_check_arguments(arglen, vargs, "i", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "i", TRUE); + lives_osc_parse_int_argument(vargs, &noaudio); + } else if (!lives_osc_check_arguments(arglen, vargs, "", TRUE)) { return lives_osc_notify_failure(); } - boolstr=lives_strdup_printf("%d",noaudio); - if (!strcmp(boolstr,get_omc_const("LIVES_TRUE"))) noaudio=TRUE; + boolstr = lives_strdup_printf("%d", noaudio); + if (!strcmp(boolstr, get_omc_const("LIVES_TRUE"))) noaudio = TRUE; else { - if (!strcmp(boolstr,get_omc_const("LIVES_FALSE"))) noaudio=FALSE; + if (!strcmp(boolstr, get_omc_const("LIVES_FALSE"))) noaudio = FALSE; else { lives_free(boolstr); return lives_osc_notify_failure(); @@ -1227,28 +1238,28 @@ } lives_free(boolstr); - if (clipno<1||clipno>MAX_FILES||mainw->files[clipno]==NULL||(mainw->files[clipno]->clip_type!=CLIP_TYPE_DISK&& - mainw->files[clipno]->clip_type!=CLIP_TYPE_FILE)) return lives_osc_notify_failure(); + if (clipno < 1 || clipno > MAX_FILES || mainw->files[clipno] == NULL || (mainw->files[clipno]->clip_type != CLIP_TYPE_DISK && + mainw->files[clipno]->clip_type != CLIP_TYPE_FILE)) return lives_osc_notify_failure(); - mainw->current_file=clipno; - start=cfile->start; - end=cfile->end; + mainw->current_file = clipno; + start = cfile->start; + end = cfile->end; - cfile->start=1; - cfile->end=cfile->frames; + cfile->start = 1; + cfile->end = cfile->frames; - ccpd=mainw->ccpd_with_sound; + ccpd = mainw->ccpd_with_sound; - mainw->ccpd_with_sound=!noaudio; + mainw->ccpd_with_sound = !noaudio; - on_copy_activate(NULL,NULL); + on_copy_activate(NULL, NULL); - mainw->ccpd_with_sound=ccpd; + mainw->ccpd_with_sound = ccpd; - cfile->start=start; - cfile->end=end; + cfile->start = start; + cfile->end = end; - mainw->current_file=current_file; + mainw->current_file = current_file; return lives_osc_notify_success(NULL); @@ -1257,29 +1268,29 @@ boolean lives_osc_cb_fgclipsel_rteapply(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - int clipno=mainw->current_file; - int current_file=clipno; + int clipno = mainw->current_file; + int current_file = clipno; - if (mainw->playing_file>-1||mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if (mainw->playing_file > -1 || mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (mainw->current_file<1||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))|| + if (mainw->current_file < 1 || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->is_processing) return lives_osc_notify_failure(); - if (lives_osc_check_arguments(arglen,vargs,"i",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"i",TRUE); - lives_osc_parse_int_argument(vargs,&clipno); - } else if (!lives_osc_check_arguments(arglen,vargs,"",TRUE)) { + if (lives_osc_check_arguments(arglen, vargs, "i", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "i", TRUE); + lives_osc_parse_int_argument(vargs, &clipno); + } else if (!lives_osc_check_arguments(arglen, vargs, "", TRUE)) { return lives_osc_notify_failure(); } - if (clipno<1||clipno>MAX_FILES||mainw->files[clipno]==NULL||(mainw->files[clipno]->clip_type!=CLIP_TYPE_DISK&& - mainw->files[clipno]->clip_type!=CLIP_TYPE_FILE)) return lives_osc_notify_failure(); + if (clipno < 1 || clipno > MAX_FILES || mainw->files[clipno] == NULL || (mainw->files[clipno]->clip_type != CLIP_TYPE_DISK && + mainw->files[clipno]->clip_type != CLIP_TYPE_FILE)) return lives_osc_notify_failure(); - mainw->current_file=clipno; + mainw->current_file = clipno; - on_realfx_activate(NULL,&mainw->rendered_fx[0]); + on_realfx_activate(NULL, &mainw->rendered_fx[0]); - mainw->current_file=current_file; + mainw->current_file = current_file; return lives_osc_notify_success(NULL); } @@ -1289,34 +1300,34 @@ boolean lives_osc_cb_fgclipsel_copy(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - int noaudio=0; - int clipno=mainw->current_file; - int current_file=clipno; + int noaudio = 0; + int clipno = mainw->current_file; + int current_file = clipno; boolean ccpd; char *boolstr; - if (mainw->playing_file>-1||mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if (mainw->playing_file > -1 || mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (mainw->current_file<1||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))|| + if (mainw->current_file < 1 || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->is_processing) return lives_osc_notify_failure(); - if (lives_osc_check_arguments(arglen,vargs,"ii",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"ii",TRUE); - lives_osc_parse_int_argument(vargs,&noaudio); - lives_osc_parse_int_argument(vargs,&clipno); - } else if (lives_osc_check_arguments(arglen,vargs,"i",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"i",TRUE); - lives_osc_parse_int_argument(vargs,&noaudio); - } else if (!lives_osc_check_arguments(arglen,vargs,"",TRUE)) { + if (lives_osc_check_arguments(arglen, vargs, "ii", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "ii", TRUE); + lives_osc_parse_int_argument(vargs, &noaudio); + lives_osc_parse_int_argument(vargs, &clipno); + } else if (lives_osc_check_arguments(arglen, vargs, "i", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "i", TRUE); + lives_osc_parse_int_argument(vargs, &noaudio); + } else if (!lives_osc_check_arguments(arglen, vargs, "", TRUE)) { return lives_osc_notify_failure(); } - boolstr=lives_strdup_printf("%d",noaudio); - if (!strcmp(boolstr,get_omc_const("LIVES_TRUE"))) noaudio=TRUE; + boolstr = lives_strdup_printf("%d", noaudio); + if (!strcmp(boolstr, get_omc_const("LIVES_TRUE"))) noaudio = TRUE; else { - if (!strcmp(boolstr,get_omc_const("LIVES_FALSE"))) noaudio=FALSE; + if (!strcmp(boolstr, get_omc_const("LIVES_FALSE"))) noaudio = FALSE; else { lives_free(boolstr); return lives_osc_notify_failure(); @@ -1324,20 +1335,20 @@ } lives_free(boolstr); - if (clipno<1||clipno>MAX_FILES||mainw->files[clipno]==NULL||(mainw->files[clipno]->clip_type!=CLIP_TYPE_DISK&& - mainw->files[clipno]->clip_type!=CLIP_TYPE_FILE)) return lives_osc_notify_failure(); + if (clipno < 1 || clipno > MAX_FILES || mainw->files[clipno] == NULL || (mainw->files[clipno]->clip_type != CLIP_TYPE_DISK && + mainw->files[clipno]->clip_type != CLIP_TYPE_FILE)) return lives_osc_notify_failure(); - mainw->current_file=clipno; + mainw->current_file = clipno; - ccpd=mainw->ccpd_with_sound; + ccpd = mainw->ccpd_with_sound; - mainw->ccpd_with_sound=!noaudio; + mainw->ccpd_with_sound = !noaudio; - on_copy_activate(NULL,NULL); + on_copy_activate(NULL, NULL); - mainw->ccpd_with_sound=ccpd; + mainw->ccpd_with_sound = ccpd; - mainw->current_file=current_file; + mainw->current_file = current_file; return lives_osc_notify_success(NULL); } @@ -1347,35 +1358,35 @@ boolean lives_osc_cb_fgclipsel_cut(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - int noaudio=0; - int clipno=mainw->current_file; - int current_file=clipno; + int noaudio = 0; + int clipno = mainw->current_file; + int current_file = clipno; boolean ccpd; char *boolstr; - if (mainw->playing_file>-1) return lives_osc_notify_failure(); - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if (mainw->playing_file > -1) return lives_osc_notify_failure(); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (mainw->current_file<1||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))|| + if (mainw->current_file < 1 || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->is_processing) return lives_osc_notify_failure(); - if (lives_osc_check_arguments(arglen,vargs,"ii",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"ii",TRUE); - lives_osc_parse_int_argument(vargs,&noaudio); - lives_osc_parse_int_argument(vargs,&clipno); - } else if (lives_osc_check_arguments(arglen,vargs,"i",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"i",TRUE); - lives_osc_parse_int_argument(vargs,&noaudio); - } else if (!lives_osc_check_arguments(arglen,vargs,"",TRUE)) { + if (lives_osc_check_arguments(arglen, vargs, "ii", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "ii", TRUE); + lives_osc_parse_int_argument(vargs, &noaudio); + lives_osc_parse_int_argument(vargs, &clipno); + } else if (lives_osc_check_arguments(arglen, vargs, "i", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "i", TRUE); + lives_osc_parse_int_argument(vargs, &noaudio); + } else if (!lives_osc_check_arguments(arglen, vargs, "", TRUE)) { return lives_osc_notify_failure(); } - boolstr=lives_strdup_printf("%d",noaudio); - if (!strcmp(boolstr,get_omc_const("LIVES_TRUE"))) noaudio=TRUE; + boolstr = lives_strdup_printf("%d", noaudio); + if (!strcmp(boolstr, get_omc_const("LIVES_TRUE"))) noaudio = TRUE; else { - if (!strcmp(boolstr,get_omc_const("LIVES_FALSE"))) noaudio=FALSE; + if (!strcmp(boolstr, get_omc_const("LIVES_FALSE"))) noaudio = FALSE; else { lives_free(boolstr); return lives_osc_notify_failure(); @@ -1383,22 +1394,22 @@ } lives_free(boolstr); - if (clipno<1||clipno>MAX_FILES||mainw->files[clipno]==NULL||(mainw->files[clipno]->clip_type!=CLIP_TYPE_DISK&& - mainw->files[clipno]->clip_type!=CLIP_TYPE_FILE)) return lives_osc_notify_failure(); + if (clipno < 1 || clipno > MAX_FILES || mainw->files[clipno] == NULL || (mainw->files[clipno]->clip_type != CLIP_TYPE_DISK && + mainw->files[clipno]->clip_type != CLIP_TYPE_FILE)) return lives_osc_notify_failure(); - mainw->current_file=clipno; + mainw->current_file = clipno; - ccpd=mainw->ccpd_with_sound; + ccpd = mainw->ccpd_with_sound; - mainw->ccpd_with_sound=!noaudio; + mainw->ccpd_with_sound = !noaudio; - mainw->osc_auto=1; - on_cut_activate(NULL,NULL); - mainw->osc_auto=0; + mainw->osc_auto = 1; + on_cut_activate(NULL, NULL); + mainw->osc_auto = 0; - mainw->ccpd_with_sound=ccpd; + mainw->ccpd_with_sound = ccpd; - mainw->current_file=current_file; + mainw->current_file = current_file; return lives_osc_notify_success(NULL); @@ -1409,35 +1420,35 @@ boolean lives_osc_cb_fgclipsel_delete(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - int noaudio=0; - int clipno=mainw->current_file; - int current_file=clipno; + int noaudio = 0; + int clipno = mainw->current_file; + int current_file = clipno; boolean ccpd; char *boolstr; - if (mainw->playing_file>-1) return lives_osc_notify_failure(); - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if (mainw->playing_file > -1) return lives_osc_notify_failure(); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (mainw->current_file<1||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))|| + if (mainw->current_file < 1 || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->is_processing) return lives_osc_notify_failure(); - if (lives_osc_check_arguments(arglen,vargs,"ii",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"ii",TRUE); - lives_osc_parse_int_argument(vargs,&noaudio); - lives_osc_parse_int_argument(vargs,&clipno); - } else if (lives_osc_check_arguments(arglen,vargs,"i",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"i",TRUE); - lives_osc_parse_int_argument(vargs,&noaudio); - } else if (!lives_osc_check_arguments(arglen,vargs,"",TRUE)) { + if (lives_osc_check_arguments(arglen, vargs, "ii", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "ii", TRUE); + lives_osc_parse_int_argument(vargs, &noaudio); + lives_osc_parse_int_argument(vargs, &clipno); + } else if (lives_osc_check_arguments(arglen, vargs, "i", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "i", TRUE); + lives_osc_parse_int_argument(vargs, &noaudio); + } else if (!lives_osc_check_arguments(arglen, vargs, "", TRUE)) { return lives_osc_notify_failure(); } - boolstr=lives_strdup_printf("%d",noaudio); - if (!strcmp(boolstr,get_omc_const("LIVES_TRUE"))) noaudio=TRUE; + boolstr = lives_strdup_printf("%d", noaudio); + if (!strcmp(boolstr, get_omc_const("LIVES_TRUE"))) noaudio = TRUE; else { - if (!strcmp(boolstr,get_omc_const("LIVES_FALSE"))) noaudio=FALSE; + if (!strcmp(boolstr, get_omc_const("LIVES_FALSE"))) noaudio = FALSE; else { lives_free(boolstr); return lives_osc_notify_failure(); @@ -1445,22 +1456,22 @@ } lives_free(boolstr); - if (clipno<1||clipno>MAX_FILES||mainw->files[clipno]==NULL||(mainw->files[clipno]->clip_type!=CLIP_TYPE_DISK&& - mainw->files[clipno]->clip_type!=CLIP_TYPE_FILE)) return lives_osc_notify_failure(); + if (clipno < 1 || clipno > MAX_FILES || mainw->files[clipno] == NULL || (mainw->files[clipno]->clip_type != CLIP_TYPE_DISK && + mainw->files[clipno]->clip_type != CLIP_TYPE_FILE)) return lives_osc_notify_failure(); - mainw->current_file=clipno; + mainw->current_file = clipno; - ccpd=mainw->ccpd_with_sound; + ccpd = mainw->ccpd_with_sound; - mainw->ccpd_with_sound=!noaudio; + mainw->ccpd_with_sound = !noaudio; - mainw->osc_auto=1; - on_delete_activate(NULL,NULL); - mainw->osc_auto=0; + mainw->osc_auto = 1; + on_delete_activate(NULL, NULL); + mainw->osc_auto = 0; - mainw->ccpd_with_sound=ccpd; + mainw->ccpd_with_sound = ccpd; - mainw->current_file=current_file; + mainw->current_file = current_file; return lives_osc_notify_success(NULL); } @@ -1469,29 +1480,29 @@ boolean lives_osc_cb_clipbd_paste(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - int noaudio=0; + int noaudio = 0; boolean ccpd; char *boolstr; - if (mainw->playing_file>-1) return lives_osc_notify_failure(); - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if (mainw->playing_file > -1) return lives_osc_notify_failure(); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (clipboard==NULL) return lives_osc_notify_failure(); + if (clipboard == NULL) return lives_osc_notify_failure(); - if (mainw->current_file<1||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))|| + if (mainw->current_file < 1 || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->is_processing) return lives_osc_notify_failure(); - if (lives_osc_check_arguments(arglen,vargs,"i",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"i",TRUE); - lives_osc_parse_int_argument(vargs,&noaudio); - } else if (!lives_osc_check_arguments(arglen,vargs,"",TRUE)) { + if (lives_osc_check_arguments(arglen, vargs, "i", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "i", TRUE); + lives_osc_parse_int_argument(vargs, &noaudio); + } else if (!lives_osc_check_arguments(arglen, vargs, "", TRUE)) { return lives_osc_notify_failure(); } - boolstr=lives_strdup_printf("%d",noaudio); - if (!strcmp(boolstr,get_omc_const("LIVES_TRUE"))) noaudio=TRUE; + boolstr = lives_strdup_printf("%d", noaudio); + if (!strcmp(boolstr, get_omc_const("LIVES_TRUE"))) noaudio = TRUE; else { - if (!strcmp(boolstr,get_omc_const("LIVES_FALSE"))) noaudio=FALSE; + if (!strcmp(boolstr, get_omc_const("LIVES_FALSE"))) noaudio = FALSE; else { lives_free(boolstr); return lives_osc_notify_failure(); @@ -1499,13 +1510,13 @@ } lives_free(boolstr); - ccpd=mainw->ccpd_with_sound; + ccpd = mainw->ccpd_with_sound; - mainw->ccpd_with_sound=!noaudio; + mainw->ccpd_with_sound = !noaudio; - on_paste_as_new_activate(NULL,NULL); + on_paste_as_new_activate(NULL, NULL); - mainw->ccpd_with_sound=ccpd; + mainw->ccpd_with_sound = ccpd; return lives_osc_notify_success(NULL); @@ -1516,40 +1527,40 @@ boolean lives_osc_cb_clipbd_insertb(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - int noaudio=0; - int times=1; - int clipno=mainw->current_file; - int current_file=clipno; + int noaudio = 0; + int times = 1; + int clipno = mainw->current_file; + int current_file = clipno; char *boolstr; - if (mainw->playing_file>-1) return lives_osc_notify_failure(); - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if (mainw->playing_file > -1) return lives_osc_notify_failure(); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (mainw->current_file<1||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))|| + if (mainw->current_file < 1 || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->is_processing) return lives_osc_notify_failure(); - if (lives_osc_check_arguments(arglen,vargs,"iii",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"iii",TRUE); - lives_osc_parse_int_argument(vargs,&noaudio); - lives_osc_parse_int_argument(vargs,×); - lives_osc_parse_int_argument(vargs,&clipno); - } else if (lives_osc_check_arguments(arglen,vargs,"ii",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"ii",TRUE); - lives_osc_parse_int_argument(vargs,&noaudio); - lives_osc_parse_int_argument(vargs,×); - } else if (lives_osc_check_arguments(arglen,vargs,"i",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"i",TRUE); - lives_osc_parse_int_argument(vargs,&noaudio); - } else if (!lives_osc_check_arguments(arglen,vargs,"",TRUE)) { + if (lives_osc_check_arguments(arglen, vargs, "iii", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "iii", TRUE); + lives_osc_parse_int_argument(vargs, &noaudio); + lives_osc_parse_int_argument(vargs, ×); + lives_osc_parse_int_argument(vargs, &clipno); + } else if (lives_osc_check_arguments(arglen, vargs, "ii", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "ii", TRUE); + lives_osc_parse_int_argument(vargs, &noaudio); + lives_osc_parse_int_argument(vargs, ×); + } else if (lives_osc_check_arguments(arglen, vargs, "i", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "i", TRUE); + lives_osc_parse_int_argument(vargs, &noaudio); + } else if (!lives_osc_check_arguments(arglen, vargs, "", TRUE)) { return lives_osc_notify_failure(); } - boolstr=lives_strdup_printf("%d",noaudio); - if (!strcmp(boolstr,get_omc_const("LIVES_TRUE"))) noaudio=TRUE; + boolstr = lives_strdup_printf("%d", noaudio); + if (!strcmp(boolstr, get_omc_const("LIVES_TRUE"))) noaudio = TRUE; else { - if (!strcmp(boolstr,get_omc_const("LIVES_FALSE"))) noaudio=FALSE; + if (!strcmp(boolstr, get_omc_const("LIVES_FALSE"))) noaudio = FALSE; else { lives_free(boolstr); return lives_osc_notify_failure(); @@ -1559,24 +1570,24 @@ - if (clipno<1||clipno>MAX_FILES||mainw->files[clipno]==NULL||(mainw->files[clipno]->clip_type!=CLIP_TYPE_DISK&& - mainw->files[clipno]->clip_type!=CLIP_TYPE_FILE)) return lives_osc_notify_failure(); + if (clipno < 1 || clipno > MAX_FILES || mainw->files[clipno] == NULL || (mainw->files[clipno]->clip_type != CLIP_TYPE_DISK && + mainw->files[clipno]->clip_type != CLIP_TYPE_FILE)) return lives_osc_notify_failure(); - if (times==0||times<-1) return lives_osc_notify_failure(); + if (times == 0 || times < -1) return lives_osc_notify_failure(); - mainw->current_file=clipno; + mainw->current_file = clipno; - mainw->insert_after=FALSE; + mainw->insert_after = FALSE; - if (clipboard->achans==0&&cfile->achans==0) noaudio=TRUE; + if (clipboard->achans == 0 && cfile->achans == 0) noaudio = TRUE; - mainw->fx1_bool=(times==-1); // fit to audio - mainw->fx1_val=times; // times to insert otherwise - mainw->fx2_bool=!noaudio; // with audio + mainw->fx1_bool = (times == -1); // fit to audio + mainw->fx1_val = times; // times to insert otherwise + mainw->fx2_bool = !noaudio; // with audio - on_insert_activate(NULL,NULL); + on_insert_activate(NULL, NULL); - mainw->current_file=current_file; + mainw->current_file = current_file; return lives_osc_notify_success(NULL); } @@ -1587,39 +1598,39 @@ boolean lives_osc_cb_clipbd_inserta(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - int noaudio=0; - int times=1; - int clipno=mainw->current_file; - int current_file=clipno; + int noaudio = 0; + int times = 1; + int clipno = mainw->current_file; + int current_file = clipno; char *boolstr; - if (mainw->playing_file>-1) return lives_osc_notify_failure(); - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if (mainw->playing_file > -1) return lives_osc_notify_failure(); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (mainw->current_file<1||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))|| + if (mainw->current_file < 1 || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->is_processing) return lives_osc_notify_failure(); - if (lives_osc_check_arguments(arglen,vargs,"iii",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"iii",TRUE); - lives_osc_parse_int_argument(vargs,&noaudio); - lives_osc_parse_int_argument(vargs,×); - lives_osc_parse_int_argument(vargs,&clipno); - } else if (lives_osc_check_arguments(arglen,vargs,"ii",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"ii",TRUE); - lives_osc_parse_int_argument(vargs,&noaudio); - lives_osc_parse_int_argument(vargs,×); - } else if (lives_osc_check_arguments(arglen,vargs,"i",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"i",TRUE); - lives_osc_parse_int_argument(vargs,&noaudio); - } else if (!lives_osc_check_arguments(arglen,vargs,"",TRUE)) { + if (lives_osc_check_arguments(arglen, vargs, "iii", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "iii", TRUE); + lives_osc_parse_int_argument(vargs, &noaudio); + lives_osc_parse_int_argument(vargs, ×); + lives_osc_parse_int_argument(vargs, &clipno); + } else if (lives_osc_check_arguments(arglen, vargs, "ii", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "ii", TRUE); + lives_osc_parse_int_argument(vargs, &noaudio); + lives_osc_parse_int_argument(vargs, ×); + } else if (lives_osc_check_arguments(arglen, vargs, "i", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "i", TRUE); + lives_osc_parse_int_argument(vargs, &noaudio); + } else if (!lives_osc_check_arguments(arglen, vargs, "", TRUE)) { return lives_osc_notify_failure(); } - boolstr=lives_strdup_printf("%d",noaudio); - if (!strcmp(boolstr,get_omc_const("LIVES_TRUE"))) noaudio=TRUE; + boolstr = lives_strdup_printf("%d", noaudio); + if (!strcmp(boolstr, get_omc_const("LIVES_TRUE"))) noaudio = TRUE; else { - if (!strcmp(boolstr,get_omc_const("LIVES_FALSE"))) noaudio=FALSE; + if (!strcmp(boolstr, get_omc_const("LIVES_FALSE"))) noaudio = FALSE; else { lives_free(boolstr); return lives_osc_notify_failure(); @@ -1627,27 +1638,27 @@ } lives_free(boolstr); - if (clipno<1||clipno>MAX_FILES||mainw->files[clipno]==NULL||(mainw->files[clipno]->clip_type!=CLIP_TYPE_DISK&& - mainw->files[clipno]->clip_type!=CLIP_TYPE_FILE)) return lives_osc_notify_failure(); + if (clipno < 1 || clipno > MAX_FILES || mainw->files[clipno] == NULL || (mainw->files[clipno]->clip_type != CLIP_TYPE_DISK && + mainw->files[clipno]->clip_type != CLIP_TYPE_FILE)) return lives_osc_notify_failure(); - if (times==0||times<-1) return lives_osc_notify_failure(); + if (times == 0 || times < -1) return lives_osc_notify_failure(); - mainw->current_file=clipno; + mainw->current_file = clipno; - mainw->insert_after=TRUE; + mainw->insert_after = TRUE; - if (clipboard->achans==0&&cfile->achans==0) noaudio=TRUE; + if (clipboard->achans == 0 && cfile->achans == 0) noaudio = TRUE; - mainw->fx1_bool=(times==-1); // fit to audio - mainw->fx1_val=times; // times to insert otherwise - mainw->fx2_bool=!noaudio; // with audio + mainw->fx1_bool = (times == -1); // fit to audio + mainw->fx1_val = times; // times to insert otherwise + mainw->fx2_bool = !noaudio; // with audio - mainw->fx1_start=1; - mainw->fx2_start=count_resampled_frames(clipboard->frames,clipboard->fps,cfile->fps); + mainw->fx1_start = 1; + mainw->fx2_start = count_resampled_frames(clipboard->frames, clipboard->fps, cfile->fps); - on_insert_activate(NULL,NULL); + on_insert_activate(NULL, NULL); - mainw->current_file=current_file; + mainw->current_file = current_file; return lives_osc_notify_success(NULL); @@ -1659,18 +1670,18 @@ boolean lives_osc_cb_fgclip_retrigger(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { // switch fg clip and reset framenumber - if (mainw->playing_file<1||(mainw->preview||(mainw->event_list!=NULL&&!mainw->record))|| + if (mainw->playing_file < 1 || (mainw->preview || (mainw->event_list != NULL && !mainw->record)) || mainw->is_processing) return lives_osc_notify_failure(); - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); - lives_osc_cb_fgclip_select(context,arglen,vargs,when,ra); + lives_osc_cb_fgclip_select(context, arglen, vargs, when, ra); - if (cfile->pb_fps>0.||(cfile->play_paused&&cfile->freeze_fps>0.)) cfile->frameno=cfile->last_frameno=1; - else cfile->frameno=cfile->last_frameno=cfile->frames; + if (cfile->pb_fps > 0. || (cfile->play_paused && cfile->freeze_fps > 0.)) cfile->frameno = cfile->last_frameno = 1; + else cfile->frameno = cfile->last_frameno = cfile->frames; #ifdef RT_AUDIO - if (prefs->audio_opts&AUDIO_OPTS_FOLLOW_FPS) { + if (prefs->audio_opts & AUDIO_OPTS_FOLLOW_FPS) { resync_audio(cfile->frameno); } #endif @@ -1682,19 +1693,20 @@ boolean lives_osc_cb_bgclip_retrigger(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { // switch bg clip and reset framenumber - if (mainw->playing_file<1||(mainw->preview||(mainw->event_list!=NULL&&!mainw->record))|| + if (mainw->playing_file < 1 || (mainw->preview || (mainw->event_list != NULL && !mainw->record)) || mainw->is_processing) return lives_osc_notify_failure(); - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); - lives_osc_cb_bgclip_select(context,arglen,vargs,when,ra); + lives_osc_cb_bgclip_select(context, arglen, vargs, when, ra); - if (mainw->blend_file<1||mainw->files[mainw->blend_file]==NULL||mainw->blend_file==mainw->current_file) return lives_osc_notify_failure(); + if (mainw->blend_file < 1 || mainw->files[mainw->blend_file] == NULL || + mainw->blend_file == mainw->current_file) return lives_osc_notify_failure(); - if (mainw->files[mainw->blend_file]->pb_fps>0.||(mainw->files[mainw->blend_file]->play_paused&& - mainw->files[mainw->blend_file]->freeze_fps>0.)) - mainw->files[mainw->blend_file]->frameno=mainw->files[mainw->blend_file]->last_frameno=1; - else mainw->files[mainw->blend_file]->frameno=mainw->files[mainw->blend_file]->last_frameno=mainw->files[mainw->blend_file]->frames; + if (mainw->files[mainw->blend_file]->pb_fps > 0. || (mainw->files[mainw->blend_file]->play_paused && + mainw->files[mainw->blend_file]->freeze_fps > 0.)) + mainw->files[mainw->blend_file]->frameno = mainw->files[mainw->blend_file]->last_frameno = 1; + else mainw->files[mainw->blend_file]->frameno = mainw->files[mainw->blend_file]->last_frameno = mainw->files[mainw->blend_file]->frames; return lives_osc_notify_success(NULL); } @@ -1704,14 +1716,14 @@ boolean lives_osc_cb_fgclip_select_next(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { // switch fg clip - if (mainw->current_file<1||(mainw->preview||(mainw->event_list!=NULL&&(!mainw->record||mainw->playing_file==-1)))|| + if (mainw->current_file < 1 || (mainw->preview || (mainw->event_list != NULL && (!mainw->record || mainw->playing_file == -1))) || mainw->is_processing) return lives_osc_notify_failure(); // TODO - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); - nextclip_callback(NULL,NULL,0,(LiVESXModifierType)0,LIVES_INT_TO_POINTER(1)); + nextclip_callback(NULL, NULL, 0, (LiVESXModifierType)0, LIVES_INT_TO_POINTER(1)); - if (mainw->playing_file==-1&&prefs->omc_noisy) { - char *msg=lives_strdup_printf("%d",mainw->current_file); + if (mainw->playing_file == -1 && prefs->omc_noisy) { + char *msg = lives_strdup_printf("%d", mainw->current_file); lives_osc_notify_success(msg); lives_free(msg); return TRUE; @@ -1724,15 +1736,15 @@ boolean lives_osc_cb_bgclip_select_next(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { // switch bg clip - if (mainw->current_file<1||(mainw->preview||(mainw->event_list!=NULL&&(!mainw->record||mainw->playing_file==-1)))|| + if (mainw->current_file < 1 || (mainw->preview || (mainw->event_list != NULL && (!mainw->record || mainw->playing_file == -1))) || mainw->is_processing) return lives_osc_notify_failure(); // TODO - if (mainw->blend_file<1||mainw->files[mainw->blend_file]==NULL) return lives_osc_notify_failure(); - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if (mainw->blend_file < 1 || mainw->files[mainw->blend_file] == NULL) return lives_osc_notify_failure(); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); - nextclip_callback(NULL,NULL,0,(LiVESXModifierType)0,LIVES_INT_TO_POINTER(2)); + nextclip_callback(NULL, NULL, 0, (LiVESXModifierType)0, LIVES_INT_TO_POINTER(2)); - if (mainw->playing_file==-1&&prefs->omc_noisy) { - char *msg=lives_strdup_printf("%d",mainw->blend_file); + if (mainw->playing_file == -1 && prefs->omc_noisy) { + char *msg = lives_strdup_printf("%d", mainw->blend_file); lives_osc_notify_success(msg); lives_free(msg); return TRUE; @@ -1745,14 +1757,14 @@ boolean lives_osc_cb_fgclip_select_previous(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { // switch fg clip - if (mainw->current_file<1||(mainw->preview||(mainw->event_list!=NULL&&(!mainw->record||mainw->playing_file==-1)))|| + if (mainw->current_file < 1 || (mainw->preview || (mainw->event_list != NULL && (!mainw->record || mainw->playing_file == -1))) || mainw->is_processing) return lives_osc_notify_failure(); // TODO - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); - prevclip_callback(NULL,NULL,0,(LiVESXModifierType)0,LIVES_INT_TO_POINTER(1)); + prevclip_callback(NULL, NULL, 0, (LiVESXModifierType)0, LIVES_INT_TO_POINTER(1)); - if (mainw->playing_file==-1&&prefs->omc_noisy) { - char *msg=lives_strdup_printf("%d",mainw->current_file); + if (mainw->playing_file == -1 && prefs->omc_noisy) { + char *msg = lives_strdup_printf("%d", mainw->current_file); lives_osc_notify_success(msg); lives_free(msg); return TRUE; @@ -1764,16 +1776,16 @@ boolean lives_osc_cb_bgclip_select_previous(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { // switch bg clip - if (mainw->current_file<1||(mainw->preview||(mainw->event_list!=NULL&&(!mainw->record||mainw->playing_file==-1)))|| + if (mainw->current_file < 1 || (mainw->preview || (mainw->event_list != NULL && (!mainw->record || mainw->playing_file == -1))) || mainw->is_processing) return lives_osc_notify_failure(); // TODO - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (mainw->blend_file<1||mainw->files[mainw->blend_file]==NULL) return lives_osc_notify_failure(); + if (mainw->blend_file < 1 || mainw->files[mainw->blend_file] == NULL) return lives_osc_notify_failure(); - prevclip_callback(NULL,NULL,0,(LiVESXModifierType)0,LIVES_INT_TO_POINTER(2)); + prevclip_callback(NULL, NULL, 0, (LiVESXModifierType)0, LIVES_INT_TO_POINTER(2)); - if (mainw->playing_file==-1) { - char *msg=lives_strdup_printf("%d",mainw->blend_file); + if (mainw->playing_file == -1) { + char *msg = lives_strdup_printf("%d", mainw->blend_file); lives_osc_notify_success(msg); lives_free(msg); return TRUE; @@ -1789,12 +1801,12 @@ boolean lives_osc_cb_quit(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - mainw->only_close=mainw->no_exit=FALSE; - mainw->leave_recovery=FALSE; + mainw->only_close = mainw->no_exit = FALSE; + mainw->leave_recovery = FALSE; if (mainw->was_set) { - on_save_set_activate(NULL,mainw->set_name); - } else mainw->leave_files=FALSE; + on_save_set_activate(NULL, mainw->set_name); + } else mainw->leave_files = FALSE; lives_exit(0); return TRUE; } @@ -1812,8 +1824,8 @@ if (mainw->go_away) return lives_status_send(get_omc_const("LIVES_STATUS_NOTREADY")); if (mainw->playing_file > -1) return lives_status_send(get_omc_const("LIVES_STATUS_PLAYING")); if (mainw->is_processing) return lives_status_send(get_omc_const("LIVES_STATUS_PROCESSING")); - if ((mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL&&(!mainw->record|| - mainw->playing_file==-1)))) return lives_status_send(get_omc_const("LIVES_STATUS_PREVIEW")); + if ((mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL && (!mainw->record || + mainw->playing_file == -1)))) return lives_status_send(get_omc_const("LIVES_STATUS_PREVIEW")); return lives_status_send(get_omc_const("LIVES_STATUS_READY")); } @@ -1822,9 +1834,9 @@ const char *retval; char cname[OSC_STRING_SIZE]; - if (!lives_osc_check_arguments(arglen,vargs,"s",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_string_argument(vargs,cname); - retval=get_omc_const(cname); + if (!lives_osc_check_arguments(arglen, vargs, "s", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_string_argument(vargs, cname); + retval = get_omc_const(cname); return lives_status_send(retval); } @@ -1834,21 +1846,21 @@ char host[OSC_STRING_SIZE]; int port; - if (!lives_osc_check_arguments(arglen,vargs,"si",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); - lives_snprintf(host,OSC_STRING_SIZE,"localhost"); + if (!lives_osc_check_arguments(arglen, vargs, "si", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); + lives_snprintf(host, OSC_STRING_SIZE, "localhost"); } else { - lives_osc_check_arguments(arglen,vargs,"si",TRUE); - lives_osc_parse_string_argument(vargs,host); + lives_osc_check_arguments(arglen, vargs, "si", TRUE); + lives_osc_parse_string_argument(vargs, host); } - lives_osc_parse_int_argument(vargs,&port); + lives_osc_parse_int_argument(vargs, &port); - if (status_socket!=NULL) { + if (status_socket != NULL) { LIVES_INFO("OMC status socket already opened"); return lives_osc_notify_failure(); } - if (!(status_socket=OpenHTMSocket(host,port,TRUE))) { + if (!(status_socket = OpenHTMSocket(host, port, TRUE))) { LIVES_WARN("Unable to open status socket !"); return lives_osc_notify_failure(); } @@ -1862,22 +1874,22 @@ char host[OSC_STRING_SIZE]; int port; - if (!lives_osc_check_arguments(arglen,vargs,"si",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); - lives_snprintf(host,OSC_STRING_SIZE,"localhost"); + if (!lives_osc_check_arguments(arglen, vargs, "si", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); + lives_snprintf(host, OSC_STRING_SIZE, "localhost"); } else { - lives_osc_check_arguments(arglen,vargs,"si",TRUE); - lives_osc_parse_string_argument(vargs,host); + lives_osc_check_arguments(arglen, vargs, "si", TRUE); + lives_osc_parse_string_argument(vargs, host); } - lives_osc_parse_int_argument(vargs,&port); + lives_osc_parse_int_argument(vargs, &port); - if (notify_socket!=NULL) { + if (notify_socket != NULL) { LIVES_INFO("OMC notify socket already opened"); return lives_osc_notify_failure(); } - prefs->omc_noisy=FALSE; // default for confirms is OFF - if (!(notify_socket=OpenHTMSocket(host,port,TRUE))) { + prefs->omc_noisy = FALSE; // default for confirms is OFF + if (!(notify_socket = OpenHTMSocket(host, port, TRUE))) { LIVES_WARN("Unable to open notify socket !"); return lives_osc_notify_failure(); } @@ -1895,19 +1907,19 @@ int state; char *boolstr; - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&state); - boolstr=lives_strdup_printf("%d",state); - if (!strcmp(boolstr,get_omc_const("LIVES_TRUE"))) state=TRUE; + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &state); + boolstr = lives_strdup_printf("%d", state); + if (!strcmp(boolstr, get_omc_const("LIVES_TRUE"))) state = TRUE; else { - if (!strcmp(boolstr,get_omc_const("LIVES_FALSE"))) state=FALSE; + if (!strcmp(boolstr, get_omc_const("LIVES_FALSE"))) state = FALSE; else { lives_free(boolstr); return lives_osc_notify_failure(); } } lives_free(boolstr); - prefs->omc_noisy=state; + prefs->omc_noisy = state; return lives_osc_notify_success(NULL); } @@ -1916,19 +1928,19 @@ int state; char *boolstr; - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&state); - boolstr=lives_strdup_printf("%d",state); - if (!strcmp(boolstr,get_omc_const("LIVES_TRUE"))) state=TRUE; + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &state); + boolstr = lives_strdup_printf("%d", state); + if (!strcmp(boolstr, get_omc_const("LIVES_TRUE"))) state = TRUE; else { - if (!strcmp(boolstr,get_omc_const("LIVES_FALSE"))) state=FALSE; + if (!strcmp(boolstr, get_omc_const("LIVES_FALSE"))) state = FALSE; else { lives_free(boolstr); return lives_osc_notify_failure(); } } lives_free(boolstr); - prefs->omc_events=state; + prefs->omc_events = state; return lives_osc_notify_success(NULL); } @@ -1937,7 +1949,7 @@ boolean lives_osc_cb_clip_count(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { char *tmp; - lives_status_send((tmp=lives_strdup_printf("%d",mainw->clips_available))); + lives_status_send((tmp = lives_strdup_printf("%d", mainw->clips_available))); lives_free(tmp); return TRUE; } @@ -1946,19 +1958,21 @@ boolean lives_osc_cb_clip_goto(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { int frame; - if (mainw->current_file<1||(mainw->preview||(mainw->event_list!=NULL&&(!mainw->record||mainw->playing_file==-1)))||mainw->playing_file<1|| + if (mainw->current_file < 1 || (mainw->preview || (mainw->event_list != NULL && (!mainw->record || mainw->playing_file == -1))) || + mainw->playing_file < 1 || mainw->is_processing) return lives_osc_notify_failure(); - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&frame); + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &frame); - if (frame<1||frame>cfile->frames||(cfile->clip_type!=CLIP_TYPE_DISK&&cfile->clip_type!=CLIP_TYPE_FILE)) return lives_osc_notify_failure(); + if (frame < 1 || frame > cfile->frames || (cfile->clip_type != CLIP_TYPE_DISK && + cfile->clip_type != CLIP_TYPE_FILE)) return lives_osc_notify_failure(); - cfile->last_frameno=cfile->frameno=frame; + cfile->last_frameno = cfile->frameno = frame; #ifdef RT_AUDIO - if (prefs->audio_opts&AUDIO_OPTS_FOLLOW_FPS) { + if (prefs->audio_opts & AUDIO_OPTS_FOLLOW_FPS) { resync_audio(frame); } #endif @@ -1968,10 +1982,10 @@ boolean lives_osc_cb_clip_getframe(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { char *tmp; - if (mainw->current_file<1||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL&&!mainw->record))|| - mainw->playing_file<1) return lives_status_send("0"); + if (mainw->current_file < 1 || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL && !mainw->record)) || + mainw->playing_file < 1) return lives_status_send("0"); else { - lives_status_send((tmp=lives_strdup_printf("%d",mainw->actual_frame))); + lives_status_send((tmp = lives_strdup_printf("%d", mainw->actual_frame))); lives_free(tmp); } return TRUE; @@ -1981,12 +1995,12 @@ boolean lives_osc_cb_clip_getfps(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { char *tmp; - if (mainw->current_file<1) return lives_osc_notify_failure(); + if (mainw->current_file < 1) return lives_osc_notify_failure(); - if (mainw->current_file<0) lives_status_send((tmp=lives_strdup_printf("%.3f",0.))); - else if ((mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL&&!mainw->record))|| - mainw->playing_file<1) lives_status_send((tmp=lives_strdup_printf("%.3f",cfile->fps))); - else lives_status_send((tmp=lives_strdup_printf("%.3f",cfile->pb_fps))); + if (mainw->current_file < 0) lives_status_send((tmp = lives_strdup_printf("%.3f", 0.))); + else if ((mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL && !mainw->record)) || + mainw->playing_file < 1) lives_status_send((tmp = lives_strdup_printf("%.3f", cfile->fps))); + else lives_status_send((tmp = lives_strdup_printf("%.3f", cfile->pb_fps))); lives_free(tmp); return TRUE; } @@ -1995,19 +2009,19 @@ boolean lives_osc_cb_clip_get_ifps(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { char *tmp; lives_clip_t *sfile; - int clip=mainw->current_file; + int clip = mainw->current_file; - if (lives_osc_check_arguments(arglen,vargs,"i",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"i",TRUE); - lives_osc_parse_int_argument(vargs,&clip); + if (lives_osc_check_arguments(arglen, vargs, "i", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "i", TRUE); + lives_osc_parse_int_argument(vargs, &clip); } - if (clip<1||clip>MAX_FILES||mainw->files[clip]==NULL) return lives_osc_notify_failure(); + if (clip < 1 || clip > MAX_FILES || mainw->files[clip] == NULL) return lives_osc_notify_failure(); - sfile=mainw->files[clip]; - if ((mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL&&!mainw->record))|| - mainw->playing_file<1) lives_status_send((tmp=lives_strdup_printf("%.3f",sfile->fps))); - else lives_status_send((tmp=lives_strdup_printf("%.3f",sfile->pb_fps))); + sfile = mainw->files[clip]; + if ((mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL && !mainw->record)) || + mainw->playing_file < 1) lives_status_send((tmp = lives_strdup_printf("%.3f", sfile->fps))); + else lives_status_send((tmp = lives_strdup_printf("%.3f", sfile->pb_fps))); lives_free(tmp); return TRUE; } @@ -2016,12 +2030,12 @@ boolean lives_osc_cb_get_fps_ratio(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { char *tmp; - if (mainw->current_file<1) return lives_osc_notify_failure(); + if (mainw->current_file < 1) return lives_osc_notify_failure(); - if (mainw->current_file<0) lives_status_send((tmp=lives_strdup_printf("%.4f",0.))); - else if ((mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL&&!mainw->record))|| - mainw->playing_file<1) lives_status_send((tmp=lives_strdup_printf("%.4f",1.))); - else lives_status_send((tmp=lives_strdup_printf("%.4f",cfile->pb_fps/cfile->fps))); + if (mainw->current_file < 0) lives_status_send((tmp = lives_strdup_printf("%.4f", 0.))); + else if ((mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL && !mainw->record)) || + mainw->playing_file < 1) lives_status_send((tmp = lives_strdup_printf("%.4f", 1.))); + else lives_status_send((tmp = lives_strdup_printf("%.4f", cfile->pb_fps / cfile->fps))); lives_free(tmp); return TRUE; } @@ -2030,14 +2044,14 @@ boolean lives_osc_cb_bgget_fps_ratio(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { char *tmp; - if (mainw->current_file<1) return lives_osc_notify_failure(); + if (mainw->current_file < 1) return lives_osc_notify_failure(); - if (mainw->current_file<0||mainw->blend_file<0||mainw->files[mainw->blend_file]==NULL) - lives_status_send((tmp=lives_strdup_printf("%.4f",0.))); - else if ((mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL&&!mainw->record))|| - mainw->playing_file<1) lives_status_send((tmp=lives_strdup_printf("%.4f",1.))); - else lives_status_send((tmp=lives_strdup_printf("%.4f",mainw->files[mainw->blend_file]->pb_fps/ - mainw->files[mainw->blend_file]->fps))); + if (mainw->current_file < 0 || mainw->blend_file < 0 || mainw->files[mainw->blend_file] == NULL) + lives_status_send((tmp = lives_strdup_printf("%.4f", 0.))); + else if ((mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL && !mainw->record)) || + mainw->playing_file < 1) lives_status_send((tmp = lives_strdup_printf("%.4f", 1.))); + else lives_status_send((tmp = lives_strdup_printf("%.4f", mainw->files[mainw->blend_file]->pb_fps / + mainw->files[mainw->blend_file]->fps))); lives_free(tmp); return TRUE; } @@ -2046,11 +2060,12 @@ boolean lives_osc_cb_bgclip_getframe(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { char *tmp; - if (mainw->current_file<1||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL&&!mainw->record))||mainw->playing_file<1|| - mainw->blend_file<0|| - mainw->files[mainw->blend_file]==NULL) return lives_status_send("0"); + if (mainw->current_file < 1 || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL && !mainw->record)) || + mainw->playing_file < 1 || + mainw->blend_file < 0 || + mainw->files[mainw->blend_file] == NULL) return lives_status_send("0"); else { - lives_status_send((tmp=lives_strdup_printf("%d",mainw->files[mainw->blend_file]->frameno))); + lives_status_send((tmp = lives_strdup_printf("%d", mainw->files[mainw->blend_file]->frameno))); lives_free(tmp); } return TRUE; @@ -2060,11 +2075,11 @@ boolean lives_osc_cb_bgclip_getfps(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { char *tmp; - if (mainw->current_file<1) return lives_osc_notify_failure(); - if (mainw->blend_file<0||mainw->files[mainw->blend_file]==NULL) lives_status_send((tmp=lives_strdup_printf("%.3f",0.))); - else if ((mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL&&!mainw->record))|| - mainw->playing_file<1) lives_status_send((tmp=lives_strdup_printf("%.3f",mainw->files[mainw->blend_file]->fps))); - else lives_status_send((tmp=lives_strdup_printf("%.3f",mainw->files[mainw->blend_file]->pb_fps))); + if (mainw->current_file < 1) return lives_osc_notify_failure(); + if (mainw->blend_file < 0 || mainw->files[mainw->blend_file] == NULL) lives_status_send((tmp = lives_strdup_printf("%.3f", 0.))); + else if ((mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL && !mainw->record)) || + mainw->playing_file < 1) lives_status_send((tmp = lives_strdup_printf("%.3f", mainw->files[mainw->blend_file]->fps))); + else lives_status_send((tmp = lives_strdup_printf("%.3f", mainw->files[mainw->blend_file]->pb_fps))); lives_free(tmp); return TRUE; } @@ -2089,13 +2104,13 @@ return lives_osc_notify_failure(); } - if (lives_osc_check_arguments(arglen,vargs,"i",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"i",TRUE); - lives_osc_parse_int_argument(vargs,&mute); - boolstr=lives_strdup_printf("%d",mute); - if (!strcmp(boolstr,get_omc_const("LIVES_TRUE"))) mute=TRUE; + if (lives_osc_check_arguments(arglen, vargs, "i", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "i", TRUE); + lives_osc_parse_int_argument(vargs, &mute); + boolstr = lives_strdup_printf("%d", mute); + if (!strcmp(boolstr, get_omc_const("LIVES_TRUE"))) mute = TRUE; else { - if (!strcmp(boolstr,get_omc_const("LIVES_FALSE"))) mute=FALSE; + if (!strcmp(boolstr, get_omc_const("LIVES_FALSE"))) mute = FALSE; else { lives_free(boolstr); return lives_osc_notify_failure(); @@ -2105,7 +2120,7 @@ } else return lives_osc_notify_failure(); if ((mute && !mainw->mute) || (!mute && mainw->mute)) - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->mute_audio),!mainw->mute); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->mute_audio), !mainw->mute); return lives_osc_notify_success(NULL); } @@ -2113,16 +2128,16 @@ boolean lives_osc_cb_set_avol(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { float vol; - if (lives_osc_check_arguments(arglen,vargs,"f",TRUE)) { - lives_osc_parse_float_argument(vargs,&vol); + if (lives_osc_check_arguments(arglen, vargs, "f", TRUE)) { + lives_osc_parse_float_argument(vargs, &vol); } else return lives_osc_notify_failure(); - if (vol<0.||vol>1.) return lives_osc_notify_failure(); + if (vol < 0. || vol > 1.) return lives_osc_notify_failure(); if (LIVES_IS_RANGE(mainw->volume_scale)) { - lives_range_set_value(LIVES_RANGE(mainw->volume_scale),vol); + lives_range_set_value(LIVES_RANGE(mainw->volume_scale), vol); } else { - lives_scale_button_set_value(LIVES_SCALE_BUTTON(mainw->volume_scale),vol); + lives_scale_button_set_value(LIVES_SCALE_BUTTON(mainw->volume_scale), vol); } return lives_osc_notify_success(NULL); @@ -2135,13 +2150,13 @@ char *tmp; if (!is_realtime_aplayer(prefs->audio_player)) { - tmp=lives_strdup("100.00"); + tmp = lives_strdup("100.00"); lives_status_send(tmp); lives_free(tmp); return TRUE; } - tmp=lives_strdup_printf("%.2f",mainw->volume); + tmp = lives_strdup_printf("%.2f", mainw->volume); lives_status_send(tmp); lives_free(tmp); @@ -2152,7 +2167,7 @@ boolean lives_osc_cb_getmode(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - if (mainw->multitrack!=NULL) return lives_status_send(get_omc_const("LIVES_MODE_MULTITRACK")); + if (mainw->multitrack != NULL) return lives_status_send(get_omc_const("LIVES_MODE_MULTITRACK")); else return lives_status_send(get_omc_const("LIVES_MODE_CLIPEDIT")); } @@ -2162,23 +2177,23 @@ boolean lives_osc_cb_setmode(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { char *modes; int mode; - int cliped=atoi(get_omc_const("LIVES_MODE_CLIPEDIT")); // 0 - int mt=atoi(get_omc_const("LIVES_MODE_MULTITRACK")); // 1 + int cliped = atoi(get_omc_const("LIVES_MODE_CLIPEDIT")); // 0 + int mt = atoi(get_omc_const("LIVES_MODE_MULTITRACK")); // 1 - if ((mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))||mainw->is_processing|| - mainw->playing_file>-1) return lives_osc_notify_failure(); + if ((mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->is_processing || + mainw->playing_file > -1) return lives_osc_notify_failure(); - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&mode); + lives_osc_parse_int_argument(vargs, &mode); - if (mode!=cliped && mode!=mt) return lives_osc_notify_failure(); + if (mode != cliped && mode != mt) return lives_osc_notify_failure(); // these two will also send a status changed message - if (mode==mt && mainw->multitrack==NULL) on_multitrack_activate(NULL,NULL); - else if (mode==cliped && mainw->multitrack!=NULL) multitrack_delete(mainw->multitrack,FALSE); + if (mode == mt && mainw->multitrack == NULL) on_multitrack_activate(NULL, NULL); + else if (mode == cliped && mainw->multitrack != NULL) multitrack_delete(mainw->multitrack, FALSE); - modes=lives_strdup_printf("%d",mode); + modes = lives_strdup_printf("%d", mode); lives_osc_notify_success(modes); lives_free(modes); return TRUE; @@ -2186,8 +2201,8 @@ boolean lives_osc_cb_clearlay(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - if (mainw->playing_file>-1||(mainw->preview||(mainw->event_list!=NULL&&!mainw->record))||mainw->is_processing|| - mainw->multitrack==NULL) return lives_osc_notify_failure(); + if (mainw->playing_file > -1 || (mainw->preview || (mainw->event_list != NULL && !mainw->record)) || mainw->is_processing || + mainw->multitrack == NULL) return lives_osc_notify_failure(); wipe_layout(mainw->multitrack); return lives_osc_notify_success(NULL); } @@ -2197,18 +2212,18 @@ char *tmp; int nblocks; int track; - if (mainw->multitrack==NULL) return lives_osc_notify_failure(); + if (mainw->multitrack == NULL) return lives_osc_notify_failure(); - if (lives_osc_check_arguments(arglen,vargs,"i",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"i",TRUE); - lives_osc_parse_int_argument(vargs,&track); - } else if (lives_osc_check_arguments(arglen,vargs,"",TRUE)) { - track=mainw->multitrack->current_track; + if (lives_osc_check_arguments(arglen, vargs, "i", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "i", TRUE); + lives_osc_parse_int_argument(vargs, &track); + } else if (lives_osc_check_arguments(arglen, vargs, "", TRUE)) { + track = mainw->multitrack->current_track; } else return lives_osc_notify_failure(); - nblocks=mt_get_block_count(mainw->multitrack,track); + nblocks = mt_get_block_count(mainw->multitrack, track); - tmp=lives_strdup_printf("%d",nblocks); + tmp = lives_strdup_printf("%d", nblocks); lives_status_send(tmp); lives_free(tmp); return TRUE; @@ -2217,47 +2232,47 @@ boolean lives_osc_cb_blockinsert(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - int ins_audio,oins_audio; - int ign_ins_sel,oign_ins_sel; + int ins_audio, oins_audio; + int ign_ins_sel, oign_ins_sel; int clip; char *tmp; char *boolstr; - if (mainw->playing_file>-1||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))||mainw->is_processing|| - mainw->multitrack==NULL) return lives_osc_notify_failure(); + if (mainw->playing_file > -1 || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->is_processing || + mainw->multitrack == NULL) return lives_osc_notify_failure(); - oins_audio=ins_audio=mainw->multitrack->opts.insert_audio; - oign_ins_sel=ign_ins_sel=mainw->multitrack->opts.ign_ins_sel; + oins_audio = ins_audio = mainw->multitrack->opts.insert_audio; + oign_ins_sel = ign_ins_sel = mainw->multitrack->opts.ign_ins_sel; - if (!ign_ins_sel) ign_ins_sel=0; - else ign_ins_sel=1; + if (!ign_ins_sel) ign_ins_sel = 0; + else ign_ins_sel = 1; - if (!ins_audio) ins_audio=0; - else ins_audio=1; - - if (lives_osc_check_arguments(arglen,vargs,"iii",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"iii",TRUE); - lives_osc_parse_int_argument(vargs,&clip); - lives_osc_parse_int_argument(vargs,&ign_ins_sel); - lives_osc_parse_int_argument(vargs,&ins_audio); - } - if (lives_osc_check_arguments(arglen,vargs,"ii",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"ii",TRUE); - lives_osc_parse_int_argument(vargs,&clip); - lives_osc_parse_int_argument(vargs,&ign_ins_sel); - } else if (lives_osc_check_arguments(arglen,vargs,"i",TRUE)) { - lives_osc_parse_int_argument(vargs,&clip); + if (!ins_audio) ins_audio = 0; + else ins_audio = 1; + + if (lives_osc_check_arguments(arglen, vargs, "iii", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "iii", TRUE); + lives_osc_parse_int_argument(vargs, &clip); + lives_osc_parse_int_argument(vargs, &ign_ins_sel); + lives_osc_parse_int_argument(vargs, &ins_audio); + } + if (lives_osc_check_arguments(arglen, vargs, "ii", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "ii", TRUE); + lives_osc_parse_int_argument(vargs, &clip); + lives_osc_parse_int_argument(vargs, &ign_ins_sel); + } else if (lives_osc_check_arguments(arglen, vargs, "i", TRUE)) { + lives_osc_parse_int_argument(vargs, &clip); } else return lives_osc_notify_failure(); - if (clip<1||mainw->files[clip]==NULL||clip==mainw->current_file||clip==mainw->scrap_file||clip==mainw->ascrap_file) + if (clip < 1 || mainw->files[clip] == NULL || clip == mainw->current_file || clip == mainw->scrap_file || clip == mainw->ascrap_file) return lives_osc_notify_failure(); - boolstr=lives_strdup_printf("%d",ins_audio); - if (!strcmp(boolstr,get_omc_const("LIVES_TRUE"))) ins_audio=TRUE; + boolstr = lives_strdup_printf("%d", ins_audio); + if (!strcmp(boolstr, get_omc_const("LIVES_TRUE"))) ins_audio = TRUE; else { - if (!strcmp(boolstr,get_omc_const("LIVES_FALSE"))) ins_audio=FALSE; + if (!strcmp(boolstr, get_omc_const("LIVES_FALSE"))) ins_audio = FALSE; else { lives_free(boolstr); return lives_osc_notify_failure(); @@ -2265,10 +2280,10 @@ } lives_free(boolstr); - boolstr=lives_strdup_printf("%d",ign_ins_sel); - if (!strcmp(boolstr,get_omc_const("LIVES_TRUE"))) ign_ins_sel=TRUE; + boolstr = lives_strdup_printf("%d", ign_ins_sel); + if (!strcmp(boolstr, get_omc_const("LIVES_TRUE"))) ign_ins_sel = TRUE; else { - if (!strcmp(boolstr,get_omc_const("LIVES_FALSE"))) ign_ins_sel=FALSE; + if (!strcmp(boolstr, get_omc_const("LIVES_FALSE"))) ign_ins_sel = FALSE; else { lives_free(boolstr); return lives_osc_notify_failure(); @@ -2277,18 +2292,18 @@ lives_free(boolstr); - mainw->multitrack->clip_selected=clip-1; - mt_clip_select(mainw->multitrack,TRUE); + mainw->multitrack->clip_selected = clip - 1; + mt_clip_select(mainw->multitrack, TRUE); - mainw->multitrack->opts.insert_audio=ins_audio; - mainw->multitrack->opts.ign_ins_sel=ign_ins_sel; + mainw->multitrack->opts.insert_audio = ins_audio; + mainw->multitrack->opts.ign_ins_sel = ign_ins_sel; - multitrack_insert(NULL,mainw->multitrack); + multitrack_insert(NULL, mainw->multitrack); - mainw->multitrack->opts.insert_audio=oins_audio; - mainw->multitrack->opts.ign_ins_sel=oign_ins_sel; + mainw->multitrack->opts.insert_audio = oins_audio; + mainw->multitrack->opts.ign_ins_sel = oign_ins_sel; - tmp=lives_strdup_printf("%lu",mt_get_last_block_uid(mainw->multitrack)); + tmp = lives_strdup_printf("%lu", mt_get_last_block_uid(mainw->multitrack)); lives_osc_notify_success(tmp); lives_free(tmp); @@ -2300,19 +2315,19 @@ float time; char *msg; - if (mainw->playing_file>-1||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))||mainw->is_processing|| - mainw->multitrack==NULL) return lives_osc_notify_failure(); + if (mainw->playing_file > -1 || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->is_processing || + mainw->multitrack == NULL) return lives_osc_notify_failure(); - if (lives_osc_check_arguments(arglen,vargs,"f",TRUE)) { - lives_osc_parse_float_argument(vargs,&time); + if (lives_osc_check_arguments(arglen, vargs, "f", TRUE)) { + lives_osc_parse_float_argument(vargs, &time); } else return lives_osc_notify_failure(); - if (time<0.) return lives_osc_notify_failure(); + if (time < 0.) return lives_osc_notify_failure(); - time=q_dbl(time,mainw->multitrack->fps)/U_SEC; - mt_tl_move(mainw->multitrack,time); + time = q_dbl(time, mainw->multitrack->fps) / U_SEC; + mt_tl_move(mainw->multitrack, time); - msg=lives_strdup_printf("%.8f",lives_ruler_get_value(LIVES_RULER(mainw->multitrack->timeline))); + msg = lives_strdup_printf("%.8f", lives_ruler_get_value(LIVES_RULER(mainw->multitrack->timeline))); lives_osc_notify_success(msg); lives_free(msg); return TRUE; @@ -2321,9 +2336,9 @@ boolean lives_osc_cb_mtctimeget(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { char *msg; - if (mainw->multitrack==NULL) return lives_osc_notify_failure(); + if (mainw->multitrack == NULL) return lives_osc_notify_failure(); - msg=lives_strdup_printf("%.8f",lives_ruler_get_value(LIVES_RULER(mainw->multitrack->timeline))); + msg = lives_strdup_printf("%.8f", lives_ruler_get_value(LIVES_RULER(mainw->multitrack->timeline))); lives_status_send(msg); lives_free(msg); return TRUE; @@ -2333,17 +2348,17 @@ int track; char *msg; - if (mainw->playing_file>-1||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))||mainw->is_processing|| - mainw->multitrack==NULL) return lives_osc_notify_failure(); + if (mainw->playing_file > -1 || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->is_processing || + mainw->multitrack == NULL) return lives_osc_notify_failure(); - if (lives_osc_check_arguments(arglen,vargs,"i",TRUE)) { - lives_osc_parse_int_argument(vargs,&track); + if (lives_osc_check_arguments(arglen, vargs, "i", TRUE)) { + lives_osc_parse_int_argument(vargs, &track); } else return lives_osc_notify_failure(); - if (mt_track_is_video(mainw->multitrack,track)||mt_track_is_audio(mainw->multitrack,track)) { - mainw->multitrack->current_track=track; + if (mt_track_is_video(mainw->multitrack, track) || mt_track_is_audio(mainw->multitrack, track)) { + mainw->multitrack->current_track = track; track_select(mainw->multitrack); - msg=lives_strdup_printf("%d",track); + msg = lives_strdup_printf("%d", track); lives_osc_notify_success(msg); lives_free(msg); return TRUE; @@ -2353,9 +2368,9 @@ boolean lives_osc_cb_mtctrackget(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { char *msg; - if (mainw->multitrack==NULL) return lives_osc_notify_failure(); + if (mainw->multitrack == NULL) return lives_osc_notify_failure(); - msg=lives_strdup_printf("%d",mainw->multitrack->current_track); + msg = lives_strdup_printf("%d", mainw->multitrack->current_track); lives_status_send(msg); lives_free(msg); return TRUE; @@ -2369,21 +2384,21 @@ int nblock; double sttime; char *tmp; - if (mainw->multitrack==NULL) return lives_osc_notify_failure(); + if (mainw->multitrack == NULL) return lives_osc_notify_failure(); - if (lives_osc_check_arguments(arglen,vargs,"ii",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"ii",TRUE); - lives_osc_parse_int_argument(vargs,&track); - lives_osc_parse_int_argument(vargs,&nblock); - } else if (lives_osc_check_arguments(arglen,vargs,"i",TRUE)) { - track=mainw->multitrack->current_track; - lives_osc_parse_int_argument(vargs,&nblock); + if (lives_osc_check_arguments(arglen, vargs, "ii", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "ii", TRUE); + lives_osc_parse_int_argument(vargs, &track); + lives_osc_parse_int_argument(vargs, &nblock); + } else if (lives_osc_check_arguments(arglen, vargs, "i", TRUE)) { + track = mainw->multitrack->current_track; + lives_osc_parse_int_argument(vargs, &nblock); } else return lives_osc_notify_failure(); - if (mt_track_is_video(mainw->multitrack,track)||mt_track_is_audio(mainw->multitrack,track)) { - sttime=mt_get_block_sttime(mainw->multitrack,track,nblock); - if (sttime<0.) return lives_osc_notify_failure(); - tmp=lives_strdup_printf("%.8f",sttime); + if (mt_track_is_video(mainw->multitrack, track) || mt_track_is_audio(mainw->multitrack, track)) { + sttime = mt_get_block_sttime(mainw->multitrack, track, nblock); + if (sttime < 0.) return lives_osc_notify_failure(); + tmp = lives_strdup_printf("%.8f", sttime); lives_status_send(tmp); lives_free(tmp); return TRUE; @@ -2397,21 +2412,21 @@ int nblock; double entime; char *tmp; - if (mainw->multitrack==NULL) return lives_osc_notify_failure(); + if (mainw->multitrack == NULL) return lives_osc_notify_failure(); - if (lives_osc_check_arguments(arglen,vargs,"ii",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"ii",TRUE); - lives_osc_parse_int_argument(vargs,&track); - lives_osc_parse_int_argument(vargs,&nblock); - } else if (lives_osc_check_arguments(arglen,vargs,"i",TRUE)) { - track=mainw->multitrack->current_track; - lives_osc_parse_int_argument(vargs,&nblock); + if (lives_osc_check_arguments(arglen, vargs, "ii", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "ii", TRUE); + lives_osc_parse_int_argument(vargs, &track); + lives_osc_parse_int_argument(vargs, &nblock); + } else if (lives_osc_check_arguments(arglen, vargs, "i", TRUE)) { + track = mainw->multitrack->current_track; + lives_osc_parse_int_argument(vargs, &nblock); } else return lives_osc_notify_failure(); - if (mt_track_is_video(mainw->multitrack,track)||mt_track_is_audio(mainw->multitrack,track)) { - entime=mt_get_block_entime(mainw->multitrack,track,nblock); - if (entime<0.) return lives_osc_notify_failure(); - tmp=lives_strdup_printf("%.8f",entime); + if (mt_track_is_video(mainw->multitrack, track) || mt_track_is_audio(mainw->multitrack, track)) { + entime = mt_get_block_entime(mainw->multitrack, track, nblock); + if (entime < 0.) return lives_osc_notify_failure(); + tmp = lives_strdup_printf("%.8f", entime); lives_status_send(tmp); lives_free(tmp); return TRUE; @@ -2424,10 +2439,10 @@ boolean lives_osc_cb_get_playtime(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { char *tmp; - if (mainw->current_file<1||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL&&!mainw->record))|| - mainw->playing_file<1) return lives_osc_notify_failure(); + if (mainw->current_file < 1 || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL && !mainw->record)) || + mainw->playing_file < 1) return lives_osc_notify_failure(); - lives_status_send((tmp=lives_strdup_printf("%.8f",(double)mainw->currticks/U_SEC))); + lives_status_send((tmp = lives_strdup_printf("%.8f", (double)mainw->currticks / U_SEC))); lives_free(tmp); return TRUE; } @@ -2436,20 +2451,21 @@ boolean lives_osc_cb_bgclip_goto(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { int frame; - if (mainw->current_file<1||(mainw->preview||(mainw->event_list!=NULL&&!mainw->record))||mainw->playing_file<1|| + if (mainw->current_file < 1 || (mainw->preview || (mainw->event_list != NULL && !mainw->record)) || mainw->playing_file < 1 || mainw->is_processing) return lives_osc_notify_failure(); - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (mainw->blend_file<1||mainw->files[mainw->blend_file]==NULL||mainw->blend_file==mainw->current_file) return lives_osc_notify_failure(); + if (mainw->blend_file < 1 || mainw->files[mainw->blend_file] == NULL || + mainw->blend_file == mainw->current_file) return lives_osc_notify_failure(); - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&frame); + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &frame); - if (frame<1||frame>mainw->files[mainw->blend_file]->frames|| - (mainw->files[mainw->blend_file]->clip_type!=CLIP_TYPE_DISK&& - mainw->files[mainw->blend_file]->clip_type!=CLIP_TYPE_FILE)) return lives_osc_notify_failure(); + if (frame < 1 || frame > mainw->files[mainw->blend_file]->frames || + (mainw->files[mainw->blend_file]->clip_type != CLIP_TYPE_DISK && + mainw->files[mainw->blend_file]->clip_type != CLIP_TYPE_FILE)) return lives_osc_notify_failure(); - mainw->files[mainw->blend_file]->last_frameno=mainw->files[mainw->blend_file]->frameno=frame; + mainw->files[mainw->blend_file]->last_frameno = mainw->files[mainw->blend_file]->frameno = frame; return lives_osc_notify_success(NULL); } @@ -2457,7 +2473,7 @@ boolean lives_osc_cb_clip_get_current(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { char *tmp; - lives_status_send((tmp=lives_strdup_printf("%d",mainw->current_file<0?0:mainw->current_file))); + lives_status_send((tmp = lives_strdup_printf("%d", mainw->current_file < 0 ? 0 : mainw->current_file))); lives_free(tmp); return TRUE; @@ -2467,8 +2483,8 @@ boolean lives_osc_cb_bgclip_get_current(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { char *tmp; - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); - lives_status_send((tmp=lives_strdup_printf("%d",mainw->blend_file<0?0:mainw->blend_file))); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); + lives_status_send((tmp = lives_strdup_printf("%d", mainw->blend_file < 0 ? 0 : mainw->blend_file))); lives_free(tmp); return TRUE; } @@ -2478,44 +2494,44 @@ boolean lives_osc_cb_clip_set_start(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { char *msg; - int current_file=mainw->current_file; - int clip=current_file; + int current_file = mainw->current_file; + int clip = current_file; int frame; - boolean selwidth_locked=mainw->selwidth_locked; + boolean selwidth_locked = mainw->selwidth_locked; lives_clip_t *sfile; - if (mainw->current_file<1||(mainw->preview||(mainw->event_list!=NULL&&(!mainw->record||mainw->playing_file==-1)))|| + if (mainw->current_file < 1 || (mainw->preview || (mainw->event_list != NULL && (!mainw->record || mainw->playing_file == -1))) || mainw->is_processing) return lives_osc_notify_failure(); - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (lives_osc_check_arguments(arglen,vargs,"ii",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"ii",TRUE); - lives_osc_parse_int_argument(vargs,&frame); - lives_osc_parse_int_argument(vargs,&clip); - } else if (lives_osc_check_arguments(arglen,vargs,"i",TRUE)) { - lives_osc_parse_int_argument(vargs,&frame); + if (lives_osc_check_arguments(arglen, vargs, "ii", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "ii", TRUE); + lives_osc_parse_int_argument(vargs, &frame); + lives_osc_parse_int_argument(vargs, &clip); + } else if (lives_osc_check_arguments(arglen, vargs, "i", TRUE)) { + lives_osc_parse_int_argument(vargs, &frame); } else return lives_osc_notify_failure(); - if (clip<1||clip>MAX_FILES||mainw->files[clip]==NULL) return lives_osc_notify_failure(); + if (clip < 1 || clip > MAX_FILES || mainw->files[clip] == NULL) return lives_osc_notify_failure(); - sfile=mainw->files[clip]; + sfile = mainw->files[clip]; - if (frame<1||(sfile->clip_type!=CLIP_TYPE_DISK&&sfile->clip_type!=CLIP_TYPE_FILE)) return lives_osc_notify_failure(); + if (frame < 1 || (sfile->clip_type != CLIP_TYPE_DISK && sfile->clip_type != CLIP_TYPE_FILE)) return lives_osc_notify_failure(); - if (frame>sfile->frames) frame=sfile->frames; + if (frame > sfile->frames) frame = sfile->frames; - mainw->selwidth_locked=FALSE; - if (clip==mainw->current_file) lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start),frame); + mainw->selwidth_locked = FALSE; + if (clip == mainw->current_file) lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start), frame); else { - if (sfile->end<frame) sfile->end=frame; - sfile->start=frame; + if (sfile->end < frame) sfile->end = frame; + sfile->start = frame; } - mainw->selwidth_locked=selwidth_locked; + mainw->selwidth_locked = selwidth_locked; - msg=lives_strdup_printf("%d",frame); + msg = lives_strdup_printf("%d", frame); lives_osc_notify_success(msg); lives_free(msg); @@ -2525,25 +2541,25 @@ boolean lives_osc_cb_clip_get_start(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - int current_file=mainw->current_file; - int clip=current_file; + int current_file = mainw->current_file; + int clip = current_file; char *tmp; lives_clip_t *sfile; - if (mainw->current_file<1) return lives_osc_notify_failure(); - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if (mainw->current_file < 1) return lives_osc_notify_failure(); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (lives_osc_check_arguments(arglen,vargs,"i",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"i",TRUE); - lives_osc_parse_int_argument(vargs,&clip); + if (lives_osc_check_arguments(arglen, vargs, "i", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "i", TRUE); + lives_osc_parse_int_argument(vargs, &clip); } - if (clip<1||clip>MAX_FILES||mainw->files[clip]==NULL) return lives_osc_notify_failure(); + if (clip < 1 || clip > MAX_FILES || mainw->files[clip] == NULL) return lives_osc_notify_failure(); - sfile=mainw->files[clip]; + sfile = mainw->files[clip]; - lives_status_send((tmp=lives_strdup_printf("%d",sfile->start))); + lives_status_send((tmp = lives_strdup_printf("%d", sfile->start))); lives_free(tmp); return TRUE; } @@ -2552,43 +2568,43 @@ boolean lives_osc_cb_clip_set_end(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { char *msg; - int current_file=mainw->current_file; - int clip=current_file; + int current_file = mainw->current_file; + int clip = current_file; int frame; - boolean selwidth_locked=mainw->selwidth_locked; + boolean selwidth_locked = mainw->selwidth_locked; lives_clip_t *sfile; - if (mainw->current_file<1||(mainw->preview||(mainw->event_list!=NULL&&(!mainw->record||mainw->playing_file==-1)))|| + if (mainw->current_file < 1 || (mainw->preview || (mainw->event_list != NULL && (!mainw->record || mainw->playing_file == -1))) || mainw->is_processing) return lives_osc_notify_failure(); - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (lives_osc_check_arguments(arglen,vargs,"ii",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"ii",TRUE); - lives_osc_parse_int_argument(vargs,&frame); - lives_osc_parse_int_argument(vargs,&clip); - } else if (lives_osc_check_arguments(arglen,vargs,"i",TRUE)) { - lives_osc_parse_int_argument(vargs,&frame); + if (lives_osc_check_arguments(arglen, vargs, "ii", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "ii", TRUE); + lives_osc_parse_int_argument(vargs, &frame); + lives_osc_parse_int_argument(vargs, &clip); + } else if (lives_osc_check_arguments(arglen, vargs, "i", TRUE)) { + lives_osc_parse_int_argument(vargs, &frame); } else return lives_osc_notify_failure(); - if (clip<1||clip>MAX_FILES||mainw->files[clip]==NULL) return lives_osc_notify_failure(); + if (clip < 1 || clip > MAX_FILES || mainw->files[clip] == NULL) return lives_osc_notify_failure(); - sfile=mainw->files[clip]; + sfile = mainw->files[clip]; - if (frame<1||(sfile->clip_type!=CLIP_TYPE_DISK&&sfile->clip_type!=CLIP_TYPE_FILE)) return lives_osc_notify_failure(); + if (frame < 1 || (sfile->clip_type != CLIP_TYPE_DISK && sfile->clip_type != CLIP_TYPE_FILE)) return lives_osc_notify_failure(); - if (frame>sfile->frames) frame=sfile->frames; + if (frame > sfile->frames) frame = sfile->frames; - mainw->selwidth_locked=FALSE; - if (clip==mainw->current_file) lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end),frame); + mainw->selwidth_locked = FALSE; + if (clip == mainw->current_file) lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end), frame); else { - if (sfile->start>frame) sfile->start=frame; - sfile->end=frame; + if (sfile->start > frame) sfile->start = frame; + sfile->end = frame; } - mainw->selwidth_locked=selwidth_locked; + mainw->selwidth_locked = selwidth_locked; - msg=lives_strdup_printf("%d",frame); + msg = lives_strdup_printf("%d", frame); lives_osc_notify_success(msg); lives_free(msg); @@ -2597,69 +2613,69 @@ boolean lives_osc_cb_clip_get_end(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - int current_file=mainw->current_file; - int clip=current_file; + int current_file = mainw->current_file; + int clip = current_file; char *tmp; lives_clip_t *sfile; - if (mainw->current_file<1) return lives_osc_notify_failure(); - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if (mainw->current_file < 1) return lives_osc_notify_failure(); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (lives_osc_check_arguments(arglen,vargs,"i",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"i",TRUE); - lives_osc_parse_int_argument(vargs,&clip); + if (lives_osc_check_arguments(arglen, vargs, "i", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "i", TRUE); + lives_osc_parse_int_argument(vargs, &clip); } - if (clip<1||clip>MAX_FILES||mainw->files[clip]==NULL) return lives_osc_notify_failure(); + if (clip < 1 || clip > MAX_FILES || mainw->files[clip] == NULL) return lives_osc_notify_failure(); - sfile=mainw->files[clip]; + sfile = mainw->files[clip]; - lives_status_send((tmp=lives_strdup_printf("%d",sfile->end))); + lives_status_send((tmp = lives_strdup_printf("%d", sfile->end))); lives_free(tmp); return TRUE; } boolean lives_osc_cb_clip_get_size(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - int current_file=mainw->current_file; - int clip=current_file; + int current_file = mainw->current_file; + int clip = current_file; char *tmp; lives_clip_t *sfile; - if (mainw->current_file<1) return lives_osc_notify_failure(); + if (mainw->current_file < 1) return lives_osc_notify_failure(); - if (lives_osc_check_arguments(arglen,vargs,"i",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"i",TRUE); - lives_osc_parse_int_argument(vargs,&clip); + if (lives_osc_check_arguments(arglen, vargs, "i", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "i", TRUE); + lives_osc_parse_int_argument(vargs, &clip); } - if (clip<1||clip>MAX_FILES||mainw->files[clip]==NULL) return lives_osc_notify_failure(); + if (clip < 1 || clip > MAX_FILES || mainw->files[clip] == NULL) return lives_osc_notify_failure(); - sfile=mainw->files[clip]; + sfile = mainw->files[clip]; - lives_status_send((tmp=lives_strdup_printf("%d|%d",sfile->hsize,sfile->vsize))); + lives_status_send((tmp = lives_strdup_printf("%d|%d", sfile->hsize, sfile->vsize))); lives_free(tmp); return TRUE; } boolean lives_osc_cb_clip_get_name(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - int current_file=mainw->current_file; - int clip=current_file; + int current_file = mainw->current_file; + int clip = current_file; lives_clip_t *sfile; - if (mainw->current_file<1) return lives_osc_notify_failure(); + if (mainw->current_file < 1) return lives_osc_notify_failure(); - if (lives_osc_check_arguments(arglen,vargs,"i",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"i",TRUE); - lives_osc_parse_int_argument(vargs,&clip); - } else if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if (lives_osc_check_arguments(arglen, vargs, "i", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "i", TRUE); + lives_osc_parse_int_argument(vargs, &clip); + } else if (mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (clip<1||clip>MAX_FILES||mainw->files[clip]==NULL) return lives_osc_notify_failure(); + if (clip < 1 || clip > MAX_FILES || mainw->files[clip] == NULL) return lives_osc_notify_failure(); - sfile=mainw->files[clip]; + sfile = mainw->files[clip]; return lives_status_send(sfile->name); } @@ -2667,29 +2683,30 @@ boolean lives_osc_cb_clip_set_name(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - int current_file=mainw->current_file; - int clip=current_file; + int current_file = mainw->current_file; + int clip = current_file; char name[OSC_STRING_SIZE]; - if (mainw->current_file<1||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL&&(!mainw->record||mainw->playing_file==-1)))|| + if (mainw->current_file < 1 || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL && (!mainw->record || + mainw->playing_file == -1))) || mainw->is_processing) return lives_osc_notify_failure(); - if (lives_osc_check_arguments(arglen,vargs,"si",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"si",TRUE); - lives_osc_parse_string_argument(vargs,name); - lives_osc_parse_int_argument(vargs,&clip); - } else if (lives_osc_check_arguments(arglen,vargs,"s",TRUE)) { - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); - lives_osc_parse_string_argument(vargs,name); + if (lives_osc_check_arguments(arglen, vargs, "si", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "si", TRUE); + lives_osc_parse_string_argument(vargs, name); + lives_osc_parse_int_argument(vargs, &clip); + } else if (lives_osc_check_arguments(arglen, vargs, "s", TRUE)) { + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); + lives_osc_parse_string_argument(vargs, name); } else return lives_osc_notify_failure(); - if (clip<1||clip>MAX_FILES||mainw->files[clip]==NULL) return lives_osc_notify_failure(); + if (clip < 1 || clip > MAX_FILES || mainw->files[clip] == NULL) return lives_osc_notify_failure(); - mainw->current_file=clip; - on_rename_set_name(NULL,(livespointer)name); + mainw->current_file = clip; + on_rename_set_name(NULL, (livespointer)name); - if (clip==current_file) set_main_title(name,0); - else mainw->current_file=current_file; + if (clip == current_file) set_main_title(name, 0); + else mainw->current_file = current_file; return lives_osc_notify_success(name); @@ -2698,81 +2715,81 @@ boolean lives_osc_cb_clip_get_frames(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - int current_file=mainw->current_file; - int clip=current_file; + int current_file = mainw->current_file; + int clip = current_file; char *tmp; lives_clip_t *sfile; - if (mainw->current_file<1) return lives_osc_notify_failure(); + if (mainw->current_file < 1) return lives_osc_notify_failure(); - if (lives_osc_check_arguments(arglen,vargs,"i",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"i",TRUE); - lives_osc_parse_int_argument(vargs,&clip); - } else if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if (lives_osc_check_arguments(arglen, vargs, "i", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "i", TRUE); + lives_osc_parse_int_argument(vargs, &clip); + } else if (mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (clip<1||clip>MAX_FILES||mainw->files[clip]==NULL) return lives_osc_notify_failure(); + if (clip < 1 || clip > MAX_FILES || mainw->files[clip] == NULL) return lives_osc_notify_failure(); - sfile=mainw->files[clip]; + sfile = mainw->files[clip]; - lives_status_send((tmp=lives_strdup_printf("%d",sfile->frames))); + lives_status_send((tmp = lives_strdup_printf("%d", sfile->frames))); lives_free(tmp); return TRUE; } boolean lives_osc_cb_clip_save_frame(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - int current_file=mainw->current_file; - int clip=current_file; - int frame,width=-1,height=-1; + int current_file = mainw->current_file; + int clip = current_file; + int frame, width = -1, height = -1; char fname[OSC_STRING_SIZE]; boolean retval; lives_clip_t *sfile; - if (mainw->current_file<1) return lives_osc_notify_failure(); - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if (mainw->current_file < 1) return lives_osc_notify_failure(); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (!lives_osc_check_arguments(arglen,vargs,"is",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"iis",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"isii",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"iisii",TRUE)) { + if (!lives_osc_check_arguments(arglen, vargs, "is", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "iis", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "isii", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "iisii", TRUE)) { return lives_osc_notify_failure(); } - lives_osc_parse_int_argument(vargs,&frame); - lives_osc_parse_int_argument(vargs,&clip); - lives_osc_parse_string_argument(vargs,fname); - lives_osc_parse_int_argument(vargs,&width); - lives_osc_parse_int_argument(vargs,&height); + lives_osc_parse_int_argument(vargs, &frame); + lives_osc_parse_int_argument(vargs, &clip); + lives_osc_parse_string_argument(vargs, fname); + lives_osc_parse_int_argument(vargs, &width); + lives_osc_parse_int_argument(vargs, &height); } else { - lives_osc_check_arguments(arglen,vargs,"isii",TRUE); - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&frame); - lives_osc_parse_string_argument(vargs,fname); - lives_osc_parse_int_argument(vargs,&width); - lives_osc_parse_int_argument(vargs,&height); + lives_osc_check_arguments(arglen, vargs, "isii", TRUE); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &frame); + lives_osc_parse_string_argument(vargs, fname); + lives_osc_parse_int_argument(vargs, &width); + lives_osc_parse_int_argument(vargs, &height); } } else { - lives_osc_check_arguments(arglen,vargs,"iis",TRUE); - lives_osc_parse_int_argument(vargs,&frame); - lives_osc_parse_int_argument(vargs,&clip); - lives_osc_parse_string_argument(vargs,fname); + lives_osc_check_arguments(arglen, vargs, "iis", TRUE); + lives_osc_parse_int_argument(vargs, &frame); + lives_osc_parse_int_argument(vargs, &clip); + lives_osc_parse_string_argument(vargs, fname); } } else { - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); - lives_osc_check_arguments(arglen,vargs,"is",TRUE); - lives_osc_parse_int_argument(vargs,&frame); - lives_osc_parse_string_argument(vargs,fname); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); + lives_osc_check_arguments(arglen, vargs, "is", TRUE); + lives_osc_parse_int_argument(vargs, &frame); + lives_osc_parse_string_argument(vargs, fname); } - if (clip<1||clip>MAX_FILES||mainw->files[clip]==NULL) return lives_osc_notify_failure(); - sfile=mainw->files[clip]; + if (clip < 1 || clip > MAX_FILES || mainw->files[clip] == NULL) return lives_osc_notify_failure(); + sfile = mainw->files[clip]; - if (frame<1||frame>sfile->frames||(sfile->clip_type!=CLIP_TYPE_DISK&&sfile->clip_type!=CLIP_TYPE_FILE)) + if (frame < 1 || frame > sfile->frames || (sfile->clip_type != CLIP_TYPE_DISK && sfile->clip_type != CLIP_TYPE_FILE)) return lives_osc_notify_failure(); - retval=save_frame_inner(clip,frame,fname,width,height,TRUE); + retval = save_frame_inner(clip, frame, fname, width, height, TRUE); if (retval) return lives_osc_notify_success(NULL); else return lives_osc_notify_failure(); @@ -2781,15 +2798,16 @@ boolean lives_osc_cb_clip_select_all(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - boolean selwidth_locked=mainw->selwidth_locked; + boolean selwidth_locked = mainw->selwidth_locked; - if (mainw->current_file<1||(mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL&&(!mainw->record||mainw->playing_file==-1)))|| + if (mainw->current_file < 1 || (mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL && (!mainw->record || + mainw->playing_file == -1))) || mainw->is_processing) return lives_osc_notify_failure(); - if ((cfile->clip_type!=CLIP_TYPE_DISK&&cfile->clip_type!=CLIP_TYPE_FILE)||!cfile->frames) return lives_osc_notify_failure(); + if ((cfile->clip_type != CLIP_TYPE_DISK && cfile->clip_type != CLIP_TYPE_FILE) || !cfile->frames) return lives_osc_notify_failure(); - mainw->selwidth_locked=FALSE; - on_select_all_activate(NULL,NULL); - mainw->selwidth_locked=selwidth_locked; + mainw->selwidth_locked = FALSE; + on_select_all_activate(NULL, NULL); + mainw->selwidth_locked = selwidth_locked; return lives_osc_notify_success(NULL); } @@ -2798,11 +2816,11 @@ int clip; - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&clip); + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &clip); - if (clip>0&&clip<MAX_FILES&&mainw->files[clip]!=NULL&&!(mainw->multitrack!=NULL&&clip==mainw->multitrack->render_file)&& - clip!=mainw->scrap_file) + if (clip > 0 && clip < MAX_FILES && mainw->files[clip] != NULL && !(mainw->multitrack != NULL && clip == mainw->multitrack->render_file) && + clip != mainw->scrap_file) return lives_status_send(get_omc_const("LIVES_TRUE")); else return lives_status_send(get_omc_const("LIVES_FALSE")); } @@ -2810,7 +2828,7 @@ boolean lives_osc_cb_rte_count(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { // count realtime effects - (only those assigned to keys for now) char *tmp; - lives_status_send((tmp=lives_strdup_printf("%d",prefs->rte_keys_virtual))); + lives_status_send((tmp = lives_strdup_printf("%d", prefs->rte_keys_virtual))); lives_free(tmp); return TRUE; } @@ -2818,7 +2836,7 @@ boolean lives_osc_cb_rteuser_count(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { // count realtime effects char *tmp; - lives_status_send((tmp=lives_strdup_printf("%d",FX_MAX))); + lives_status_send((tmp = lives_strdup_printf("%d", FX_MAX))); lives_free(tmp); return TRUE; } @@ -2826,11 +2844,11 @@ boolean lives_osc_cb_fssepwin_enable(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { if (!mainw->sep_win) { - on_sepwin_pressed(NULL,NULL); + on_sepwin_pressed(NULL, NULL); } if (!mainw->fs) { - on_full_screen_pressed(NULL,NULL); + on_full_screen_pressed(NULL, NULL); } return lives_osc_notify_success(NULL); } @@ -2839,10 +2857,10 @@ boolean lives_osc_cb_fssepwin_disable(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { if (mainw->fs) { - on_full_screen_pressed(NULL,NULL); + on_full_screen_pressed(NULL, NULL); } if (mainw->sep_win) { - on_sepwin_pressed(NULL,NULL); + on_sepwin_pressed(NULL, NULL); } return lives_osc_notify_success(NULL); } @@ -2851,28 +2869,29 @@ int fps; float fpsf; double fpsd; + char *msg; - if (mainw->fixed_fpsd>0.) return lives_osc_notify_failure(); - if (!lives_osc_check_arguments(arglen,vargs,"f",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&fps); - fpsd=(double)(fps*1.); - } else { - lives_osc_check_arguments(arglen,vargs,"f",TRUE); - lives_osc_parse_float_argument(vargs,&fpsf); - fpsd=(double)fpsf; - } - if (fpsd>0.&&fpsd<=FPS_MAX) { - mainw->fixed_fpsd=fpsd; - d_print(_("Syncing to external framerate of %.8f frames per second.\n"),fpsd); - } else if (fpsd==0.) mainw->fixed_fpsd=-1.; ///< 0. to release - else lives_osc_notify_failure(); - { - char *msg=lives_strdup_printf("%.3f",fpsd); - lives_osc_notify_success(msg); - lives_free(msg); - return TRUE; + if (mainw->fixed_fpsd > 0.) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "f", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &fps); + fpsd = (double)(fps * 1.); + } else { + lives_osc_check_arguments(arglen, vargs, "f", TRUE); + lives_osc_parse_float_argument(vargs, &fpsf); + fpsd = (double)fpsf; + } + if (fpsd > 0. && fpsd <= FPS_MAX) { + mainw->fixed_fpsd = fpsd; + d_print(_("Syncing to external framerate of %.8f frames per second.\n"), fpsd); + } else { + if (fpsd == 0.) mainw->fixed_fpsd = -1.; ///< 0. to release + else lives_osc_notify_failure(); } + msg = lives_strdup_printf("%.3f", fpsd); + lives_osc_notify_success(msg); + lives_free(msg); + return TRUE; } @@ -2880,10 +2899,10 @@ boolean lives_osc_cb_pref_set_audio_source(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { int val; - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&val); - if (val!=AUDIO_SRC_INT&&val!=AUDIO_SRC_EXT) return lives_osc_notify_failure(); - pref_factory_bool(PREF_REC_EXT_AUDIO,val==AUDIO_SRC_EXT); + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &val); + if (val != AUDIO_SRC_INT && val != AUDIO_SRC_EXT) return lives_osc_notify_failure(); + pref_factory_bool(PREF_REC_EXT_AUDIO, val == AUDIO_SRC_EXT); return lives_osc_notify_success(NULL); } @@ -2897,24 +2916,24 @@ boolean lives_osc_cb_freeze(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - if (mainw->playing_file<1) return lives_osc_notify_failure(); + if (mainw->playing_file < 1) return lives_osc_notify_failure(); if (!mainw->osc_block) { - freeze_callback(NULL,NULL,0,(LiVESXModifierType)0,NULL); + freeze_callback(NULL, NULL, 0, (LiVESXModifierType)0, NULL); } return lives_osc_notify_success(NULL); } boolean lives_osc_cb_op_nodrope(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - mainw->noframedrop=TRUE; + mainw->noframedrop = TRUE; return lives_osc_notify_success(NULL); } boolean lives_osc_cb_op_nodropd(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - mainw->noframedrop=FALSE; + mainw->noframedrop = FALSE; return lives_osc_notify_success(NULL); } @@ -2923,12 +2942,12 @@ char *retval; int fidx; - if (lives_osc_check_arguments(arglen,vargs,"i",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"i",TRUE); - lives_osc_parse_int_argument(vargs,&fidx); + if (lives_osc_check_arguments(arglen, vargs, "i", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "i", TRUE); + lives_osc_parse_int_argument(vargs, &fidx); } else return lives_osc_notify_failure(); - retval=make_weed_hashname(fidx, FALSE, FALSE); + retval = make_weed_hashname(fidx, FALSE, FALSE); lives_status_send(retval); @@ -2940,49 +2959,49 @@ boolean lives_osc_cb_clip_encodeas(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { char fname[OSC_STRING_SIZE]; - if (mainw->playing_file>-1||mainw->current_file<1) return lives_osc_notify_failure(); + if (mainw->playing_file > -1 || mainw->current_file < 1) return lives_osc_notify_failure(); - if ((mainw->preview||(mainw->event_list!=NULL))||mainw->is_processing|| - mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if ((mainw->preview || (mainw->event_list != NULL)) || mainw->is_processing || + mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (cfile==NULL || cfile->opening) return lives_osc_notify_failure(); + if (cfile == NULL || cfile->opening) return lives_osc_notify_failure(); - mainw->osc_enc_width=mainw->osc_enc_height=0; - mainw->osc_enc_fps=0.; + mainw->osc_enc_width = mainw->osc_enc_height = 0; + mainw->osc_enc_fps = 0.; - if (!lives_osc_check_arguments(arglen,vargs,"siif",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"sii",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"sf",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"s",TRUE)) + if (!lives_osc_check_arguments(arglen, vargs, "siif", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "sii", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "sf", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "s", TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_string_argument(vargs,fname); + lives_osc_parse_string_argument(vargs, fname); } - lives_osc_check_arguments(arglen,vargs,"sf",TRUE); - lives_osc_parse_string_argument(vargs,fname); - lives_osc_parse_float_argument(vargs,&mainw->osc_enc_fps); + lives_osc_check_arguments(arglen, vargs, "sf", TRUE); + lives_osc_parse_string_argument(vargs, fname); + lives_osc_parse_float_argument(vargs, &mainw->osc_enc_fps); } else { - lives_osc_check_arguments(arglen,vargs,"sii",TRUE); - lives_osc_parse_string_argument(vargs,fname); - lives_osc_parse_int_argument(vargs,&mainw->osc_enc_width); - lives_osc_parse_int_argument(vargs,&mainw->osc_enc_height); + lives_osc_check_arguments(arglen, vargs, "sii", TRUE); + lives_osc_parse_string_argument(vargs, fname); + lives_osc_parse_int_argument(vargs, &mainw->osc_enc_width); + lives_osc_parse_int_argument(vargs, &mainw->osc_enc_height); } } else { - lives_osc_check_arguments(arglen,vargs,"siif",TRUE); - lives_osc_parse_string_argument(vargs,fname); - lives_osc_parse_int_argument(vargs,&mainw->osc_enc_width); - lives_osc_parse_int_argument(vargs,&mainw->osc_enc_height); - lives_osc_parse_float_argument(vargs,&mainw->osc_enc_fps); + lives_osc_check_arguments(arglen, vargs, "siif", TRUE); + lives_osc_parse_string_argument(vargs, fname); + lives_osc_parse_int_argument(vargs, &mainw->osc_enc_width); + lives_osc_parse_int_argument(vargs, &mainw->osc_enc_height); + lives_osc_parse_float_argument(vargs, &mainw->osc_enc_fps); } - if (cfile->frames==0) { + if (cfile->frames == 0) { // TODO - on_export_audio_activate(NULL,NULL); + on_export_audio_activate(NULL, NULL); return lives_osc_notify_success(NULL); } - mainw->osc_auto=1; - save_file(mainw->current_file,1,cfile->frames,fname); - mainw->osc_auto=0; + mainw->osc_auto = 1; + save_file(mainw->current_file, 1, cfile->frames, fname); + mainw->osc_auto = 0; return lives_osc_notify_success(NULL); } @@ -2993,11 +3012,11 @@ int effect_key; int mode; - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&mode); - if (effect_key<1||effect_key>=FX_KEYS_MAX_VIRTUAL||mode<1||mode>rte_getmodespk()) return lives_osc_notify_failure(); - if (!mainw->osc_block) rte_key_setmode(effect_key,mode-1); + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &mode); + if (effect_key < 1 || effect_key >= FX_KEYS_MAX_VIRTUAL || mode < 1 || mode > rte_getmodespk()) return lives_osc_notify_failure(); + if (!mainw->osc_block) rte_key_setmode(effect_key, mode - 1); return lives_osc_notify_success(NULL); } @@ -3007,10 +3026,10 @@ boolean lives_osc_cb_rte_nextmode(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { int effect_key; - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - if (effect_key<1||effect_key>=FX_KEYS_MAX_VIRTUAL) return lives_osc_notify_failure(); - if (!mainw->osc_block) rte_key_setmode(effect_key,-1); + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + if (effect_key < 1 || effect_key >= FX_KEYS_MAX_VIRTUAL) return lives_osc_notify_failure(); + if (!mainw->osc_block) rte_key_setmode(effect_key, -1); return lives_osc_notify_success(NULL); } @@ -3019,10 +3038,10 @@ boolean lives_osc_cb_rte_prevmode(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { int effect_key; - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - if (effect_key<1||effect_key>=FX_KEYS_MAX_VIRTUAL) return lives_osc_notify_failure(); - if (!mainw->osc_block) rte_key_setmode(effect_key,-2); + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + if (effect_key < 1 || effect_key >= FX_KEYS_MAX_VIRTUAL) return lives_osc_notify_failure(); + if (!mainw->osc_block) rte_key_setmode(effect_key, -2); return lives_osc_notify_success(NULL); } @@ -3035,91 +3054,92 @@ // set value of "value" leaf for tparam, or "host_default" for a template // set it to vargs (length nargs) - weed_plant_t *ptmpl,*inst=NULL; + weed_plant_t *ptmpl, *inst = NULL; float valuef; int valuei; - int error,i; - int hint,cspace=-1; - int x=0; - int copyto=-1; + int error, i; + int hint, cspace = -1; + int x = 0; + int copyto = -1; int defargs; - int maxi_r=255,maxi_g=255,maxi_b=255,maxi_a=255,mini_r=0,mini_g=0,mini_b=0,mini_a=0,mini,maxi; - int key=-1; + int maxi_r = 255, maxi_g = 255, maxi_b = 255, maxi_a = 255, mini_r = 0, mini_g = 0, mini_b = 0, mini_a = 0, mini, maxi; + int key = -1; - double maxd_r=1.,maxd_g=1.,maxd_b=1.,maxd_a=1.,mind_r=0.,mind_g=0.,mind_b=0.,mind_a=0.,mind,maxd; + double maxd_r = 1., maxd_g = 1., maxd_b = 1., maxd_a = 1., mind_r = 0., mind_g = 0., mind_b = 0., mind_a = 0., mind, maxd; char values[OSC_STRING_SIZE]; const char *pattern; - if (nargs<=0) return FALSE; // must set at least one value + if (nargs <= 0) return FALSE; // must set at least one value if (WEED_PLANT_IS_FILTER_CLASS(plant)) { - ptmpl=tparam; + ptmpl = tparam; } else { - ptmpl=weed_get_plantptr_value(tparam,WEED_LEAF_TEMPLATE,&error); - inst=plant; - if (weed_plant_has_leaf(inst,WEED_LEAF_HOST_KEY)) key=weed_get_int_value(inst,WEED_LEAF_HOST_KEY,&error); + ptmpl = weed_get_plantptr_value(tparam, WEED_LEAF_TEMPLATE, &error); + inst = plant; + if (weed_plant_has_leaf(inst, WEED_LEAF_HOST_KEY)) key = weed_get_int_value(inst, WEED_LEAF_HOST_KEY, &error); } - hint=weed_get_int_value(ptmpl,WEED_LEAF_HINT,&error); - if (hint==WEED_HINT_COLOR) cspace=weed_get_int_value(ptmpl,WEED_LEAF_COLORSPACE,&error); + hint = weed_get_int_value(ptmpl, WEED_LEAF_HINT, &error); + if (hint == WEED_HINT_COLOR) cspace = weed_get_int_value(ptmpl, WEED_LEAF_COLORSPACE, &error); - if (!(weed_parameter_has_variable_elements_strict(inst,ptmpl))) { - if (nargs>(defargs=weed_leaf_num_elements(ptmpl,WEED_LEAF_DEFAULT))) { - if (!(hint==WEED_HINT_COLOR&&defargs==1&&((cspace==WEED_COLORSPACE_RGB&&(nargs%3==0))||(cspace==WEED_COLORSPACE_RGBA&&(nargs%4==0))))) + if (!(weed_parameter_has_variable_elements_strict(inst, ptmpl))) { + if (nargs > (defargs = weed_leaf_num_elements(ptmpl, WEED_LEAF_DEFAULT))) { + if (!(hint == WEED_HINT_COLOR && defargs == 1 && ((cspace == WEED_COLORSPACE_RGB && (nargs % 3 == 0)) || (cspace == WEED_COLORSPACE_RGBA && + (nargs % 4 == 0))))) // error: parameter does not have variable elements, and the user sent too many values return FALSE; } } - pattern=(char *)vargs+skip; // skip comma,int,(int) + pattern = (char *)vargs + skip; // skip comma,int,(int) switch (hint) { case WEED_HINT_INTEGER: { - int *valuesi=(int *)lives_malloc(nargs*sizint); + int *valuesi = (int *)lives_malloc(nargs * sizint); - while (pattern[x]!=0) { - if (pattern[x]=='f') { + while (pattern[x] != 0) { + if (pattern[x] == 'f') { // we wanted an int but we got a float //so we will round to the nearest value - lives_osc_parse_float_argument(vargs,&valuef); - valuesi[x]=myround(valuef); - } else if (pattern[x]=='i') { - lives_osc_parse_int_argument(vargs,&valuesi[x]); + lives_osc_parse_float_argument(vargs, &valuef); + valuesi[x] = myround(valuef); + } else if (pattern[x] == 'i') { + lives_osc_parse_int_argument(vargs, &valuesi[x]); } else { lives_free(valuesi); return FALSE; } - mini=weed_get_int_value(ptmpl,WEED_LEAF_MIN,&error); - maxi=weed_get_int_value(ptmpl,WEED_LEAF_MAX,&error); + mini = weed_get_int_value(ptmpl, WEED_LEAF_MIN, &error); + maxi = weed_get_int_value(ptmpl, WEED_LEAF_MAX, &error); - if (valuesi[x]<mini) valuesi[x]=mini; - if (valuesi[x]>maxi) valuesi[x]=maxi; + if (valuesi[x] < mini) valuesi[x] = mini; + if (valuesi[x] > maxi) valuesi[x] = maxi; x++; } - if (inst!=NULL) { - copyto=set_copy_to(inst,pnum,FALSE); - if (mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)) { + if (inst != NULL) { + copyto = set_copy_to(inst, pnum, FALSE); + if (mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change(inst,pnum); - if (copyto!=-1) rec_param_change(inst,copyto); + rec_param_change(inst, pnum); + if (copyto != -1) rec_param_change(inst, copyto); } filter_mutex_lock(key); - weed_set_int_array(tparam,WEED_LEAF_VALUE,nargs,valuesi); + weed_set_int_array(tparam, WEED_LEAF_VALUE, nargs, valuesi); filter_mutex_unlock(key); - set_copy_to(inst,pnum,TRUE); + set_copy_to(inst, pnum, TRUE); - if (mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)) { + if (mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change(inst,pnum); - if (copyto!=-1) rec_param_change(inst,copyto); + rec_param_change(inst, pnum); + if (copyto != -1) rec_param_change(inst, copyto); } } else { - weed_set_int_array(tparam,WEED_LEAF_HOST_DEFAULT,nargs,valuesi); + weed_set_int_array(tparam, WEED_LEAF_HOST_DEFAULT, nargs, valuesi); } lives_free(valuesi); @@ -3128,66 +3148,66 @@ } case WEED_HINT_SWITCH: { - int group=0; - int *valuesb=(int *)lives_malloc(nargs*sizint); + int group = 0; + int *valuesb = (int *)lives_malloc(nargs * sizint); - while (pattern[x]!=0) { - if (pattern[x]=='i') { - lives_osc_parse_int_argument(vargs,&valuesb[x]); + while (pattern[x] != 0) { + if (pattern[x] == 'i') { + lives_osc_parse_int_argument(vargs, &valuesb[x]); } else { lives_free(valuesb); return FALSE; } - valuesb[x]=!!valuesb[x]; + valuesb[x] = !!valuesb[x]; x++; } - if (weed_plant_has_leaf(ptmpl,WEED_LEAF_GROUP)) - group=weed_get_int_value(ptmpl,WEED_LEAF_GROUP,&error); + if (weed_plant_has_leaf(ptmpl, WEED_LEAF_GROUP)) + group = weed_get_int_value(ptmpl, WEED_LEAF_GROUP, &error); - if (group!=0&&valuesb[0]==WEED_FALSE) goto grpinvalid; + if (group != 0 && valuesb[0] == WEED_FALSE) goto grpinvalid; - if (inst!=NULL) { + if (inst != NULL) { filter_mutex_lock(key); - weed_set_boolean_array(tparam,WEED_LEAF_VALUE,nargs,valuesb); + weed_set_boolean_array(tparam, WEED_LEAF_VALUE, nargs, valuesb); filter_mutex_unlock(key); - copyto=set_copy_to(inst,pnum,TRUE); + copyto = set_copy_to(inst, pnum, TRUE); - if (mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)) { + if (mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change(inst,pnum); - if (copyto!=-1) rec_param_change(inst,copyto); + rec_param_change(inst, pnum); + if (copyto != -1) rec_param_change(inst, copyto); } - if (group!=0) { + if (group != 0) { // set all other values in group to WEED_FALSE - weed_plant_t *filter=weed_instance_get_filter(inst,FALSE),*xtparam; - int nparams=num_in_params(filter,FALSE,TRUE); + weed_plant_t *filter = weed_instance_get_filter(inst, FALSE), *xtparam; + int nparams = num_in_params(filter, FALSE, TRUE); - for (pnum=0; pnum<nparams; pnum++) { - xtparam=weed_inst_in_param(inst,pnum,FALSE,TRUE); + for (pnum = 0; pnum < nparams; pnum++) { + xtparam = weed_inst_in_param(inst, pnum, FALSE, TRUE); - if (xtparam!=tparam) { - ptmpl=weed_get_plantptr_value(xtparam,WEED_LEAF_TEMPLATE,&error); - hint=weed_get_int_value(ptmpl,WEED_LEAF_HINT,&error); - if (hint==WEED_HINT_SWITCH) { - int xgroup=0; + if (xtparam != tparam) { + ptmpl = weed_get_plantptr_value(xtparam, WEED_LEAF_TEMPLATE, &error); + hint = weed_get_int_value(ptmpl, WEED_LEAF_HINT, &error); + if (hint == WEED_HINT_SWITCH) { + int xgroup = 0; - if (weed_plant_has_leaf(ptmpl,WEED_LEAF_GROUP)) - xgroup=weed_get_int_value(ptmpl,WEED_LEAF_GROUP,&error); + if (weed_plant_has_leaf(ptmpl, WEED_LEAF_GROUP)) + xgroup = weed_get_int_value(ptmpl, WEED_LEAF_GROUP, &error); - if (xgroup==group) { + if (xgroup == group) { filter_mutex_lock(key); - weed_set_boolean_value(xtparam,WEED_LEAF_VALUE,WEED_FALSE); + weed_set_boolean_value(xtparam, WEED_LEAF_VALUE, WEED_FALSE); filter_mutex_unlock(key); - copyto=set_copy_to(inst,pnum,TRUE); + copyto = set_copy_to(inst, pnum, TRUE); - if (mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)) { + if (mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change(inst,pnum); - if (copyto!=-1) rec_param_change(inst,copyto); + rec_param_change(inst, pnum); + if (copyto != -1) rec_param_change(inst, copyto); } } } @@ -3195,26 +3215,26 @@ } } } else { - weed_set_boolean_array(tparam,WEED_LEAF_HOST_DEFAULT,nargs,valuesb); + weed_set_boolean_array(tparam, WEED_LEAF_HOST_DEFAULT, nargs, valuesb); - if (group!=0) { + if (group != 0) { // set all other values in group to WEED_FALSE - weed_plant_t *filter=plant,*xtparam; - int nparams=num_in_params(filter,FALSE,TRUE); + weed_plant_t *filter = plant, *xtparam; + int nparams = num_in_params(filter, FALSE, TRUE); - for (pnum=0; pnum<nparams; pnum++) { - xtparam=weed_filter_in_paramtmpl(inst,pnum,TRUE); + for (pnum = 0; pnum < nparams; pnum++) { + xtparam = weed_filter_in_paramtmpl(inst, pnum, TRUE); - if (xtparam!=tparam) { - hint=weed_get_int_value(xtparam,WEED_LEAF_HINT,&error); - if (hint==WEED_HINT_SWITCH) { - int xgroup=0; + if (xtparam != tparam) { + hint = weed_get_int_value(xtparam, WEED_LEAF_HINT, &error); + if (hint == WEED_HINT_SWITCH) { + int xgroup = 0; - if (weed_plant_has_leaf(ptmpl,WEED_LEAF_GROUP)) - xgroup=weed_get_int_value(ptmpl,WEED_LEAF_GROUP,&error); + if (weed_plant_has_leaf(ptmpl, WEED_LEAF_GROUP)) + xgroup = weed_get_int_value(ptmpl, WEED_LEAF_GROUP, &error); - if (xgroup==group) { - weed_set_boolean_value(tparam,WEED_LEAF_HOST_DEFAULT,WEED_FALSE); + if (xgroup == group) { + weed_set_boolean_value(tparam, WEED_LEAF_HOST_DEFAULT, WEED_FALSE); } } } @@ -3231,51 +3251,51 @@ } case WEED_HINT_FLOAT: { - double *valuesd=(double *)lives_malloc(nargs*sizdbl); + double *valuesd = (double *)lives_malloc(nargs * sizdbl); - while (pattern[x]!=0) { - if (pattern[x]=='i') { + while (pattern[x] != 0) { + if (pattern[x] == 'i') { // we wanted an float but we got an int //so we will convert - lives_osc_parse_int_argument(vargs,&valuei); - valuesd[x]=(double)(valuei); - } else if (pattern[x]=='f') { - lives_osc_parse_float_argument(vargs,&valuef); - valuesd[x]=(double)(valuef); + lives_osc_parse_int_argument(vargs, &valuei); + valuesd[x] = (double)(valuei); + } else if (pattern[x] == 'f') { + lives_osc_parse_float_argument(vargs, &valuef); + valuesd[x] = (double)(valuef); } else { lives_free(valuesd); return FALSE; } - mind=weed_get_double_value(ptmpl,WEED_LEAF_MIN,&error); - maxd=weed_get_double_value(ptmpl,WEED_LEAF_MAX,&error); + mind = weed_get_double_value(ptmpl, WEED_LEAF_MIN, &error); + maxd = weed_get_double_value(ptmpl, WEED_LEAF_MAX, &error); - if (valuesd[x]<mind) valuesd[x]=mind; - if (valuesd[x]>maxd) valuesd[x]=maxd; + if (valuesd[x] < mind) valuesd[x] = mind; + if (valuesd[x] > maxd) valuesd[x] = maxd; x++; } - if (inst!=NULL) { - copyto=set_copy_to(inst,pnum,FALSE); + if (inst != NULL) { + copyto = set_copy_to(inst, pnum, FALSE); - if (mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)) { + if (mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change(inst,pnum); - if (copyto!=-1) rec_param_change(inst,copyto); + rec_param_change(inst, pnum); + if (copyto != -1) rec_param_change(inst, copyto); } filter_mutex_lock(key); - weed_set_double_array(tparam,WEED_LEAF_VALUE,nargs,valuesd); + weed_set_double_array(tparam, WEED_LEAF_VALUE, nargs, valuesd); filter_mutex_unlock(key); - set_copy_to(inst,pnum,TRUE); + set_copy_to(inst, pnum, TRUE); - if (mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)) { + if (mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change(inst,pnum); - if (copyto!=-1) rec_param_change(inst,copyto); + rec_param_change(inst, pnum); + if (copyto != -1) rec_param_change(inst, copyto); } } else { - weed_set_double_array(tparam,WEED_LEAF_HOST_DEFAULT,nargs,valuesd); + weed_set_double_array(tparam, WEED_LEAF_HOST_DEFAULT, nargs, valuesd); } lives_free(valuesd); @@ -3286,24 +3306,24 @@ case WEED_HINT_TEXT: { - char **valuess=(char **)lives_malloc(nargs*sizeof(char *)); + char **valuess = (char **)lives_malloc(nargs * sizeof(char *)); - while (pattern[x]!=0) { - if (pattern[x]=='i') { + while (pattern[x] != 0) { + if (pattern[x] == 'i') { // we wanted a string but we got an int //so we will convert - lives_osc_parse_int_argument(vargs,&valuei); - valuess[x]=lives_strdup_printf("%d",valuei); - } else if (pattern[x]=='f') { + lives_osc_parse_int_argument(vargs, &valuei); + valuess[x] = lives_strdup_printf("%d", valuei); + } else if (pattern[x] == 'f') { // we wanted a string but we got a float //so we will convert - lives_osc_parse_float_argument(vargs,&valuef); - valuess[x]=lives_strdup_printf("%f",valuef); - } else if (pattern[x]=='s') { - lives_osc_parse_string_argument(vargs,values); - valuess[x]=lives_strdup(values); + lives_osc_parse_float_argument(vargs, &valuef); + valuess[x] = lives_strdup_printf("%f", valuef); + } else if (pattern[x] == 's') { + lives_osc_parse_string_argument(vargs, values); + valuess[x] = lives_strdup(values); } else { - for (i=0; i<x; i++) lives_free(valuess[i]); + for (i = 0; i < x; i++) lives_free(valuess[i]); lives_free(valuess); return FALSE; } @@ -3311,23 +3331,23 @@ x++; } - if (inst!=NULL) { + if (inst != NULL) { filter_mutex_lock(key); - weed_set_string_array(tparam,WEED_LEAF_VALUE,nargs,valuess); + weed_set_string_array(tparam, WEED_LEAF_VALUE, nargs, valuess); filter_mutex_unlock(key); - copyto=set_copy_to(inst,pnum,TRUE); + copyto = set_copy_to(inst, pnum, TRUE); - if (mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)) { + if (mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change(inst,pnum); - if (copyto!=-1) rec_param_change(inst,copyto); + rec_param_change(inst, pnum); + if (copyto != -1) rec_param_change(inst, copyto); } } else { - weed_set_string_array(tparam,WEED_LEAF_HOST_DEFAULT,nargs,valuess); + weed_set_string_array(tparam, WEED_LEAF_HOST_DEFAULT, nargs, valuess); } - for (i=0; i<x; i++) lives_free(valuess[i]); + for (i = 0; i < x; i++) lives_free(valuess[i]); lives_free(valuess); break; @@ -3340,202 +3360,202 @@ case WEED_HINT_COLOR: switch (cspace) { case WEED_COLORSPACE_RGB: - if (nargs%3 != 0) return FALSE; //nargs must be a multiple of 3 + if (nargs % 3 != 0) return FALSE; //nargs must be a multiple of 3 - if (weed_leaf_seed_type(ptmpl,WEED_LEAF_DEFAULT)==WEED_SEED_INT) { + if (weed_leaf_seed_type(ptmpl, WEED_LEAF_DEFAULT) == WEED_SEED_INT) { // RGB, int type - int *valuesi=(int *)lives_malloc(nargs*sizint); - int nmins=weed_leaf_num_elements(ptmpl,WEED_LEAF_MIN); - int nmaxs=weed_leaf_num_elements(ptmpl,WEED_LEAF_MAX); - int *minis=NULL,*maxis=NULL; + int *valuesi = (int *)lives_malloc(nargs * sizint); + int nmins = weed_leaf_num_elements(ptmpl, WEED_LEAF_MIN); + int nmaxs = weed_leaf_num_elements(ptmpl, WEED_LEAF_MAX); + int *minis = NULL, *maxis = NULL; // get min and max values - 3 possibilities: 1 value, 3 values or N values - if (nmins==1) { - mini_r=mini_g=mini_b=weed_get_int_value(ptmpl,WEED_LEAF_MIN,&error); + if (nmins == 1) { + mini_r = mini_g = mini_b = weed_get_int_value(ptmpl, WEED_LEAF_MIN, &error); } else { - minis=weed_get_int_array(ptmpl,WEED_LEAF_MIN,&error); - if (nmins==3) { - mini_r=minis[0]; - mini_g=minis[1]; - mini_b=minis[2]; + minis = weed_get_int_array(ptmpl, WEED_LEAF_MIN, &error); + if (nmins == 3) { + mini_r = minis[0]; + mini_g = minis[1]; + mini_b = minis[2]; lives_free(minis); } } - if (nmaxs==1) { - maxi_r=maxi_g=maxi_b=weed_get_int_value(ptmpl,WEED_LEAF_MAX,&error); + if (nmaxs == 1) { + maxi_r = maxi_g = maxi_b = weed_get_int_value(ptmpl, WEED_LEAF_MAX, &error); } else { - maxis=weed_get_int_array(ptmpl,WEED_LEAF_MAX,&error); - if (nmaxs==3) { - maxi_r=maxis[0]; - maxi_g=maxis[1]; - maxi_b=maxis[2]; + maxis = weed_get_int_array(ptmpl, WEED_LEAF_MAX, &error); + if (nmaxs == 3) { + maxi_r = maxis[0]; + maxi_g = maxis[1]; + maxi_b = maxis[2]; lives_free(maxis); } } // read vals from OSC message - while (pattern[x]!=0) { + while (pattern[x] != 0) { // get next 3 values - for (i=0; i<3; i++) { - if (pattern[x+i]=='f') { + for (i = 0; i < 3; i++) { + if (pattern[x + i] == 'f') { // we wanted int but we got floats - lives_osc_parse_float_argument(vargs,&valuef); - valuesi[x+i]=myround(valuef); + lives_osc_parse_float_argument(vargs, &valuef); + valuesi[x + i] = myround(valuef); } else { - lives_osc_parse_int_argument(vargs,&valuesi[x+i]); + lives_osc_parse_int_argument(vargs, &valuesi[x + i]); } } - if (nmins<=3) { - if (valuesi[x]<mini_r) valuesi[x]=mini_r; - if (valuesi[x+1]<mini_g) valuesi[x+1]=mini_g; - if (valuesi[x+2]<mini_b) valuesi[x+2]=mini_b; + if (nmins <= 3) { + if (valuesi[x] < mini_r) valuesi[x] = mini_r; + if (valuesi[x + 1] < mini_g) valuesi[x + 1] = mini_g; + if (valuesi[x + 2] < mini_b) valuesi[x + 2] = mini_b; } else { - if (valuesi[x]<minis[x]) valuesi[x]=minis[x]; - if (valuesi[x+1]<minis[x+1]) valuesi[x+1]=minis[x+1]; - if (valuesi[x+2]<minis[x+2]) valuesi[x+2]=minis[x+2]; + if (valuesi[x] < minis[x]) valuesi[x] = minis[x]; + if (valuesi[x + 1] < minis[x + 1]) valuesi[x + 1] = minis[x + 1]; + if (valuesi[x + 2] < minis[x + 2]) valuesi[x + 2] = minis[x + 2]; } - if (nmaxs<=3) { - if (valuesi[x]>maxi_r) valuesi[x]=maxi_r; - if (valuesi[x+1]>maxi_g) valuesi[x+1]=maxi_g; - if (valuesi[x+2]>maxi_b) valuesi[x+2]=maxi_b; + if (nmaxs <= 3) { + if (valuesi[x] > maxi_r) valuesi[x] = maxi_r; + if (valuesi[x + 1] > maxi_g) valuesi[x + 1] = maxi_g; + if (valuesi[x + 2] > maxi_b) valuesi[x + 2] = maxi_b; } else { - if (valuesi[x]>maxis[x+i]) valuesi[x]=maxis[x+i]; - if (valuesi[x+1]>maxis[x+1]) valuesi[x+1]=maxis[x+1]; - if (valuesi[x+2]>maxis[x+2]) valuesi[x+2]=maxis[x+2]; + if (valuesi[x] > maxis[x + i]) valuesi[x] = maxis[x + i]; + if (valuesi[x + 1] > maxis[x + 1]) valuesi[x + 1] = maxis[x + 1]; + if (valuesi[x + 2] > maxis[x + 2]) valuesi[x + 2] = maxis[x + 2]; } - x+=3; + x += 3; } - if (inst!=NULL) { - copyto=set_copy_to(inst,pnum,FALSE); + if (inst != NULL) { + copyto = set_copy_to(inst, pnum, FALSE); - if (mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)) { + if (mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change(inst,pnum); - if (copyto!=-1) rec_param_change(inst,copyto); + rec_param_change(inst, pnum); + if (copyto != -1) rec_param_change(inst, copyto); } filter_mutex_lock(key); - weed_set_int_array(tparam,WEED_LEAF_VALUE,nargs,valuesi); + weed_set_int_array(tparam, WEED_LEAF_VALUE, nargs, valuesi); filter_mutex_unlock(key); - set_copy_to(inst,pnum,TRUE); + set_copy_to(inst, pnum, TRUE); - if (mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)) { + if (mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change(inst,pnum); - if (copyto!=-1) rec_param_change(inst,copyto); + rec_param_change(inst, pnum); + if (copyto != -1) rec_param_change(inst, copyto); } } else { - weed_set_int_array(tparam,WEED_LEAF_HOST_DEFAULT,nargs,valuesi); + weed_set_int_array(tparam, WEED_LEAF_HOST_DEFAULT, nargs, valuesi); } lives_free(valuesi); - if (nmins>3) lives_free(minis); - if (nmaxs>3) lives_free(maxis); + if (nmins > 3) lives_free(minis); + if (nmaxs > 3) lives_free(maxis); } else { // RGB, float type - double *valuesd=(double *)lives_malloc(nargs*sizeof(double)); - int nmins=weed_leaf_num_elements(ptmpl,WEED_LEAF_MIN); - int nmaxs=weed_leaf_num_elements(ptmpl,WEED_LEAF_MAX); - double *minds=NULL,*maxds=NULL; + double *valuesd = (double *)lives_malloc(nargs * sizeof(double)); + int nmins = weed_leaf_num_elements(ptmpl, WEED_LEAF_MIN); + int nmaxs = weed_leaf_num_elements(ptmpl, WEED_LEAF_MAX); + double *minds = NULL, *maxds = NULL; // get min and max values - 3 possibilities: 1 value, 3 values or N values - if (nmins==1) { - mind_r=mind_g=mind_b=weed_get_double_value(ptmpl,WEED_LEAF_MIN,&error); + if (nmins == 1) { + mind_r = mind_g = mind_b = weed_get_double_value(ptmpl, WEED_LEAF_MIN, &error); } else { - minds=weed_get_double_array(ptmpl,WEED_LEAF_MIN,&error); - if (nmins==3) { - mind_r=minds[0]; - mind_g=minds[1]; - mind_b=minds[2]; + minds = weed_get_double_array(ptmpl, WEED_LEAF_MIN, &error); + if (nmins == 3) { + mind_r = minds[0]; + mind_g = minds[1]; + mind_b = minds[2]; lives_free(minds); } } - if (nmaxs==1) { - maxd_r=maxd_g=maxd_b=weed_get_double_value(ptmpl,WEED_LEAF_MAX,&error); + if (nmaxs == 1) { + maxd_r = maxd_g = maxd_b = weed_get_double_value(ptmpl, WEED_LEAF_MAX, &error); } else { - maxds=weed_get_double_array(ptmpl,WEED_LEAF_MAX,&error); - if (nmaxs==3) { - maxd_r=maxds[0]; - maxd_g=maxds[1]; - maxd_b=maxds[2]; + maxds = weed_get_double_array(ptmpl, WEED_LEAF_MAX, &error); + if (nmaxs == 3) { + maxd_r = maxds[0]; + maxd_g = maxds[1]; + maxd_b = maxds[2]; lives_free(maxds); } } // read vals from OSC message - while (pattern[x]!=0) { + while (pattern[x] != 0) { // get next 3 values - for (i=0; i<3; i++) { - if (pattern[x+i]=='i') { + for (i = 0; i < 3; i++) { + if (pattern[x + i] == 'i') { // we wanted float but we got floats - lives_osc_parse_int_argument(vargs,&valuei); - valuesd[x+i]=(double)valuei; + lives_osc_parse_int_argument(vargs, &valuei); + valuesd[x + i] = (double)valuei; } else { - lives_osc_parse_float_argument(vargs,&valuef); - valuesd[x+i]=(double)valuef; + lives_osc_parse_float_argument(vargs, &valuef); + valuesd[x + i] = (double)valuef; } } - if (nmins<=3) { - if (valuesd[x]<mind_r) valuesd[x]=mind_r; - if (valuesd[x+1]<mind_g) valuesd[x+1]=mind_g; - if (valuesd[x+2]<mind_b) valuesd[x+2]=mind_b; + if (nmins <= 3) { + if (valuesd[x] < mind_r) valuesd[x] = mind_r; + if (valuesd[x + 1] < mind_g) valuesd[x + 1] = mind_g; + if (valuesd[x + 2] < mind_b) valuesd[x + 2] = mind_b; } else { - if (valuesd[x]<minds[x]) valuesd[x]=minds[x]; - if (valuesd[x+1]<minds[x+1]) valuesd[x+1]=minds[x+1]; - if (valuesd[x+2]<minds[x+2]) valuesd[x+2]=minds[x+2]; + if (valuesd[x] < minds[x]) valuesd[x] = minds[x]; + if (valuesd[x + 1] < minds[x + 1]) valuesd[x + 1] = minds[x + 1]; + if (valuesd[x + 2] < minds[x + 2]) valuesd[x + 2] = minds[x + 2]; } - if (nmaxs<=3) { - if (valuesd[x]>maxd_r) valuesd[x]=maxd_r; - if (valuesd[x+1]>maxd_g) valuesd[x+1]=maxd_g; - if (valuesd[x+2]>maxd_b) valuesd[x+2]=maxd_b; + if (nmaxs <= 3) { + if (valuesd[x] > maxd_r) valuesd[x] = maxd_r; + if (valuesd[x + 1] > maxd_g) valuesd[x + 1] = maxd_g; + if (valuesd[x + 2] > maxd_b) valuesd[x + 2] = maxd_b; } else { - if (valuesd[x]>maxds[x]) valuesd[x]=maxds[x]; - if (valuesd[x+1]>maxds[x+1]) valuesd[x+1]=maxds[x+1]; - if (valuesd[x+2]>maxds[x+2]) valuesd[x+2]=maxds[x+2]; + if (valuesd[x] > maxds[x]) valuesd[x] = maxds[x]; + if (valuesd[x + 1] > maxds[x + 1]) valuesd[x + 1] = maxds[x + 1]; + if (valuesd[x + 2] > maxds[x + 2]) valuesd[x + 2] = maxds[x + 2]; } - x+=3; + x += 3; } - if (inst!=NULL) { - copyto=set_copy_to(inst,pnum,FALSE); + if (inst != NULL) { + copyto = set_copy_to(inst, pnum, FALSE); - if (mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)) { + if (mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change(inst,pnum); - if (copyto!=-1) rec_param_change(inst,copyto); + rec_param_change(inst, pnum); + if (copyto != -1) rec_param_change(inst, copyto); } filter_mutex_lock(key); - weed_set_double_array(tparam,WEED_LEAF_VALUE,nargs,valuesd); + weed_set_double_array(tparam, WEED_LEAF_VALUE, nargs, valuesd); filter_mutex_unlock(key); - set_copy_to(inst,pnum,TRUE); + set_copy_to(inst, pnum, TRUE); - if (mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)) { + if (mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change(inst,pnum); - if (copyto!=-1) rec_param_change(inst,copyto); + rec_param_change(inst, pnum); + if (copyto != -1) rec_param_change(inst, copyto); } } else { - weed_set_double_array(tparam,WEED_LEAF_HOST_DEFAULT,nargs,valuesd); + weed_set_double_array(tparam, WEED_LEAF_HOST_DEFAULT, nargs, valuesd); } lives_free(valuesd); - if (nmins>3) lives_free(minds); - if (nmaxs>3) lives_free(maxds); + if (nmins > 3) lives_free(minds); + if (nmaxs > 3) lives_free(maxds); } @@ -3545,216 +3565,216 @@ case WEED_COLORSPACE_RGBA: - if (nargs%4 != 0) return FALSE; //nargs must be a multiple of 4 + if (nargs % 4 != 0) return FALSE; //nargs must be a multiple of 4 - if (weed_leaf_seed_type(ptmpl,WEED_LEAF_DEFAULT)==WEED_SEED_INT) { + if (weed_leaf_seed_type(ptmpl, WEED_LEAF_DEFAULT) == WEED_SEED_INT) { // RGBA, int type - int *valuesi=(int *)lives_malloc(nargs*sizint); - int nmins=weed_leaf_num_elements(ptmpl,WEED_LEAF_MIN); - int nmaxs=weed_leaf_num_elements(ptmpl,WEED_LEAF_MAX); - int *minis=NULL,*maxis=NULL; + int *valuesi = (int *)lives_malloc(nargs * sizint); + int nmins = weed_leaf_num_elements(ptmpl, WEED_LEAF_MIN); + int nmaxs = weed_leaf_num_elements(ptmpl, WEED_LEAF_MAX); + int *minis = NULL, *maxis = NULL; // get min and max values - 3 possibilities: 1 value, 4 values or N values - if (nmins==1) { - mini_r=mini_g=mini_b=mini_a=weed_get_int_value(ptmpl,WEED_LEAF_MIN,&error); + if (nmins == 1) { + mini_r = mini_g = mini_b = mini_a = weed_get_int_value(ptmpl, WEED_LEAF_MIN, &error); } else { - minis=weed_get_int_array(ptmpl,WEED_LEAF_MIN,&error); - if (nmins==4) { - mini_r=minis[0]; - mini_g=minis[1]; - mini_b=minis[2]; - mini_a=minis[3]; + minis = weed_get_int_array(ptmpl, WEED_LEAF_MIN, &error); + if (nmins == 4) { + mini_r = minis[0]; + mini_g = minis[1]; + mini_b = minis[2]; + mini_a = minis[3]; lives_free(minis); } } - if (nmaxs==1) { - maxi_r=maxi_g=maxi_b=maxi_a=weed_get_int_value(ptmpl,WEED_LEAF_MAX,&error); + if (nmaxs == 1) { + maxi_r = maxi_g = maxi_b = maxi_a = weed_get_int_value(ptmpl, WEED_LEAF_MAX, &error); } else { - maxis=weed_get_int_array(ptmpl,WEED_LEAF_MAX,&error); - if (nmaxs==4) { - maxi_r=maxis[0]; - maxi_g=maxis[1]; - maxi_b=maxis[2]; - maxi_a=maxis[3]; + maxis = weed_get_int_array(ptmpl, WEED_LEAF_MAX, &error); + if (nmaxs == 4) { + maxi_r = maxis[0]; + maxi_g = maxis[1]; + maxi_b = maxis[2]; + maxi_a = maxis[3]; lives_free(maxis); } } // read vals from OSC message - while (pattern[x]!=0) { + while (pattern[x] != 0) { // get next 4 values - for (i=0; i<4; i++) { - if (pattern[x]=='f') { + for (i = 0; i < 4; i++) { + if (pattern[x] == 'f') { // we wanted int but we got floats - lives_osc_parse_float_argument(vargs,&valuef); - valuesi[x+i]=myround(valuef); + lives_osc_parse_float_argument(vargs, &valuef); + valuesi[x + i] = myround(valuef); } else { - lives_osc_parse_int_argument(vargs,&valuesi[x+i]); + lives_osc_parse_int_argument(vargs, &valuesi[x + i]); } } - if (nmins<=3) { - if (valuesi[x]<mini_r) valuesi[x]=mini_r; - if (valuesi[x+1]<mini_g) valuesi[x+1]=mini_g; - if (valuesi[x+2]<mini_b) valuesi[x+2]=mini_b; - if (valuesi[x+3]<mini_a) valuesi[x+3]=mini_a; + if (nmins <= 3) { + if (valuesi[x] < mini_r) valuesi[x] = mini_r; + if (valuesi[x + 1] < mini_g) valuesi[x + 1] = mini_g; + if (valuesi[x + 2] < mini_b) valuesi[x + 2] = mini_b; + if (valuesi[x + 3] < mini_a) valuesi[x + 3] = mini_a; } else { - if (valuesi[x]<minis[x]) valuesi[x]=minis[x]; - if (valuesi[x+1]<minis[x+1]) valuesi[x+1]=minis[x+1]; - if (valuesi[x+2]<minis[x+2]) valuesi[x+2]=minis[x+2]; - if (valuesi[x+3]<minis[x+3]) valuesi[x+3]=minis[x+3]; + if (valuesi[x] < minis[x]) valuesi[x] = minis[x]; + if (valuesi[x + 1] < minis[x + 1]) valuesi[x + 1] = minis[x + 1]; + if (valuesi[x + 2] < minis[x + 2]) valuesi[x + 2] = minis[x + 2]; + if (valuesi[x + 3] < minis[x + 3]) valuesi[x + 3] = minis[x + 3]; } - if (nmaxs<=4) { - if (valuesi[x]>maxi_r) valuesi[x]=maxi_r; - if (valuesi[x+1]>maxi_g) valuesi[x+1]=maxi_g; - if (valuesi[x+2]>maxi_b) valuesi[x+2]=maxi_b; - if (valuesi[x+3]>maxi_a) valuesi[x+3]=maxi_a; + if (nmaxs <= 4) { + if (valuesi[x] > maxi_r) valuesi[x] = maxi_r; + if (valuesi[x + 1] > maxi_g) valuesi[x + 1] = maxi_g; + if (valuesi[x + 2] > maxi_b) valuesi[x + 2] = maxi_b; + if (valuesi[x + 3] > maxi_a) valuesi[x + 3] = maxi_a; } else { - if (valuesi[x]>maxis[x]) valuesi[x]=maxis[x]; - if (valuesi[x+1]>maxis[x+1]) valuesi[x+1]=maxis[x+1]; - if (valuesi[x+2]>maxis[x+2]) valuesi[x+2]=maxis[x+2]; - if (valuesi[x+3]>maxis[x+3]) valuesi[x+3]=maxis[x+3]; + if (valuesi[x] > maxis[x]) valuesi[x] = maxis[x]; + if (valuesi[x + 1] > maxis[x + 1]) valuesi[x + 1] = maxis[x + 1]; + if (valuesi[x + 2] > maxis[x + 2]) valuesi[x + 2] = maxis[x + 2]; + if (valuesi[x + 3] > maxis[x + 3]) valuesi[x + 3] = maxis[x + 3]; } - x+=4; + x += 4; } - if (inst!=NULL) { - copyto=set_copy_to(inst,pnum,FALSE); + if (inst != NULL) { + copyto = set_copy_to(inst, pnum, FALSE); - if (mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)) { + if (mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change(inst,pnum); - if (copyto!=-1) rec_param_change(inst,copyto); + rec_param_change(inst, pnum); + if (copyto != -1) rec_param_change(inst, copyto); } filter_mutex_lock(key); - weed_set_int_array(tparam,WEED_LEAF_VALUE,nargs,valuesi); + weed_set_int_array(tparam, WEED_LEAF_VALUE, nargs, valuesi); filter_mutex_unlock(key); - set_copy_to(inst,pnum,TRUE); + set_copy_to(inst, pnum, TRUE); - if (mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)) { + if (mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change(inst,pnum); - if (copyto!=-1) rec_param_change(inst,copyto); + rec_param_change(inst, pnum); + if (copyto != -1) rec_param_change(inst, copyto); } } else { - weed_set_int_array(tparam,WEED_LEAF_HOST_DEFAULT,nargs,valuesi); + weed_set_int_array(tparam, WEED_LEAF_HOST_DEFAULT, nargs, valuesi); } lives_free(valuesi); - if (nmins>4) lives_free(minis); - if (nmaxs>4) lives_free(maxis); + if (nmins > 4) lives_free(minis); + if (nmaxs > 4) lives_free(maxis); } else { // RGBA, float type - double *valuesd=(double *)lives_malloc(nargs*sizdbl); - int nmins=weed_leaf_num_elements(ptmpl,WEED_LEAF_MIN); - int nmaxs=weed_leaf_num_elements(ptmpl,WEED_LEAF_MAX); - double *minds=NULL,*maxds=NULL; + double *valuesd = (double *)lives_malloc(nargs * sizdbl); + int nmins = weed_leaf_num_elements(ptmpl, WEED_LEAF_MIN); + int nmaxs = weed_leaf_num_elements(ptmpl, WEED_LEAF_MAX); + double *minds = NULL, *maxds = NULL; // get min and max values - 3 possibilities: 1 value, 3 values or N values - if (nmins==1) { - mind_r=mind_g=mind_b=mind_a=weed_get_double_value(ptmpl,WEED_LEAF_MIN,&error); + if (nmins == 1) { + mind_r = mind_g = mind_b = mind_a = weed_get_double_value(ptmpl, WEED_LEAF_MIN, &error); } else { - minds=weed_get_double_array(ptmpl,WEED_LEAF_MIN,&error); - if (nmins==4) { - mind_r=minds[0]; - mind_g=minds[1]; - mind_b=minds[2]; - mind_a=minds[3]; + minds = weed_get_double_array(ptmpl, WEED_LEAF_MIN, &error); + if (nmins == 4) { + mind_r = minds[0]; + mind_g = minds[1]; + mind_b = minds[2]; + mind_a = minds[3]; lives_free(minds); } } - if (nmaxs==1) { - maxd_r=maxd_g=maxd_b=mind_a=weed_get_double_value(ptmpl,WEED_LEAF_MAX,&error); + if (nmaxs == 1) { + maxd_r = maxd_g = maxd_b = mind_a = weed_get_double_value(ptmpl, WEED_LEAF_MAX, &error); } else { - maxds=weed_get_double_array(ptmpl,WEED_LEAF_MAX,&error); - if (nmaxs==4) { - maxd_r=maxds[0]; - maxd_g=maxds[1]; - maxd_b=maxds[2]; - maxd_a=maxds[3]; + maxds = weed_get_double_array(ptmpl, WEED_LEAF_MAX, &error); + if (nmaxs == 4) { + maxd_r = maxds[0]; + maxd_g = maxds[1]; + maxd_b = maxds[2]; + maxd_a = maxds[3]; lives_free(maxds); } } // read vals from OSC message - while (pattern[x]!=0) { + while (pattern[x] != 0) { // get next 4 values - for (i=0; i<4; i++) { - if (pattern[x]=='i') { + for (i = 0; i < 4; i++) { + if (pattern[x] == 'i') { // we wanted float but we got floats - lives_osc_parse_int_argument(vargs,&valuei); - valuesd[x+i]=(double)valuei; + lives_osc_parse_int_argument(vargs, &valuei); + valuesd[x + i] = (double)valuei; } else { - lives_osc_parse_float_argument(vargs,&valuef); - valuesd[x+i]=(double)valuef; + lives_osc_parse_float_argument(vargs, &valuef); + valuesd[x + i] = (double)valuef; } } - if (nmins<=4) { - if (valuesd[x]<mind_r) valuesd[x]=mind_r; - if (valuesd[x+1]<mind_g) valuesd[x+1]=mind_g; - if (valuesd[x+2]<mind_b) valuesd[x+2]=mind_b; - if (valuesd[x+3]<mind_a) valuesd[x+3]=mind_a; + if (nmins <= 4) { + if (valuesd[x] < mind_r) valuesd[x] = mind_r; + if (valuesd[x + 1] < mind_g) valuesd[x + 1] = mind_g; + if (valuesd[x + 2] < mind_b) valuesd[x + 2] = mind_b; + if (valuesd[x + 3] < mind_a) valuesd[x + 3] = mind_a; } else { - if (valuesd[x]<minds[x]) valuesd[x]=minds[x]; - if (valuesd[x+1]<minds[x+1]) valuesd[x+1]=minds[x+1]; - if (valuesd[x+2]<minds[x+2]) valuesd[x+2]=minds[x+2]; - if (valuesd[x+3]<minds[x+3]) valuesd[x+3]=minds[x+3]; + if (valuesd[x] < minds[x]) valuesd[x] = minds[x]; + if (valuesd[x + 1] < minds[x + 1]) valuesd[x + 1] = minds[x + 1]; + if (valuesd[x + 2] < minds[x + 2]) valuesd[x + 2] = minds[x + 2]; + if (valuesd[x + 3] < minds[x + 3]) valuesd[x + 3] = minds[x + 3]; } - if (nmaxs<=4) { - if (valuesd[x]>maxd_r) valuesd[x]=maxd_r; - if (valuesd[x+1]>maxd_g) valuesd[x+1]=maxd_g; - if (valuesd[x+2]>maxd_b) valuesd[x+2]=maxd_b; - if (valuesd[x+3]>maxd_a) valuesd[x+3]=maxd_a; + if (nmaxs <= 4) { + if (valuesd[x] > maxd_r) valuesd[x] = maxd_r; + if (valuesd[x + 1] > maxd_g) valuesd[x + 1] = maxd_g; + if (valuesd[x + 2] > maxd_b) valuesd[x + 2] = maxd_b; + if (valuesd[x + 3] > maxd_a) valuesd[x + 3] = maxd_a; } else { - if (valuesd[x]>maxds[x]) valuesd[x]=maxds[x]; - if (valuesd[x+1]>maxds[x+1]) valuesd[x+1]=maxds[x+1]; - if (valuesd[x+2]>maxds[x+2]) valuesd[x+2]=maxds[x+2]; - if (valuesd[x+3]>maxds[x+3]) valuesd[x+3]=maxds[x+3]; + if (valuesd[x] > maxds[x]) valuesd[x] = maxds[x]; + if (valuesd[x + 1] > maxds[x + 1]) valuesd[x + 1] = maxds[x + 1]; + if (valuesd[x + 2] > maxds[x + 2]) valuesd[x + 2] = maxds[x + 2]; + if (valuesd[x + 3] > maxds[x + 3]) valuesd[x + 3] = maxds[x + 3]; } - x+=4; + x += 4; } - if (inst!=NULL) { - copyto=set_copy_to(inst,pnum,FALSE); + if (inst != NULL) { + copyto = set_copy_to(inst, pnum, FALSE); - if (mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)) { + if (mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change(inst,pnum); - if (copyto!=-1) rec_param_change(inst,copyto); + rec_param_change(inst, pnum); + if (copyto != -1) rec_param_change(inst, copyto); } filter_mutex_lock(key); - weed_set_double_array(tparam,WEED_LEAF_VALUE,nargs,valuesd); + weed_set_double_array(tparam, WEED_LEAF_VALUE, nargs, valuesd); filter_mutex_unlock(key); - set_copy_to(inst,pnum,TRUE); + set_copy_to(inst, pnum, TRUE); - if (mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)) { + if (mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change(inst,pnum); - if (copyto!=-1) rec_param_change(inst,copyto); + rec_param_change(inst, pnum); + if (copyto != -1) rec_param_change(inst, copyto); } } else { - weed_set_double_array(tparam,WEED_LEAF_HOST_DEFAULT,nargs,valuesd); + weed_set_double_array(tparam, WEED_LEAF_HOST_DEFAULT, nargs, valuesd); } lives_free(valuesd); - if (nmins>4) lives_free(minds); - if (nmaxs>4) lives_free(maxds); + if (nmins > 4) lives_free(minds); + if (nmaxs > 4) lives_free(maxds); } @@ -3781,7 +3801,7 @@ NetworkReturnAddressPtr ra) { weed_plant_t *filter; weed_plant_t *ptmpl; - int hint,error; + int hint, error; int nparams; int effect_key; int mode; @@ -3792,49 +3812,49 @@ // TODO - handle compound fx - if (!lives_osc_check_arguments(arglen,vargs,"iii",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); - mode=rte_key_getmode(effect_key); - } else { - lives_osc_check_arguments(arglen,vargs,"iii",TRUE); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&mode); - lives_osc_parse_int_argument(vargs,&pnum); - if (mode<1||mode>rte_key_getmaxmode(effect_key)+1) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "iii", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); + mode = rte_key_getmode(effect_key); + } else { + lives_osc_check_arguments(arglen, vargs, "iii", TRUE); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &mode); + lives_osc_parse_int_argument(vargs, &pnum); + if (mode < 1 || mode > rte_key_getmaxmode(effect_key) + 1) return lives_osc_notify_failure(); mode--; } - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,mode); - if (filter==NULL) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(effect_key, mode); + if (filter == NULL) return lives_osc_notify_failure(); - nparams=num_in_params(filter,FALSE,TRUE); - if (nparams==0) return lives_osc_notify_failure(); - if (pnum<0||pnum>=nparams) return lives_osc_notify_failure(); + nparams = num_in_params(filter, FALSE, TRUE); + if (nparams == 0) return lives_osc_notify_failure(); + if (pnum < 0 || pnum >= nparams) return lives_osc_notify_failure(); - ptmpl=weed_filter_in_paramtmpl(filter,pnum,TRUE); + ptmpl = weed_filter_in_paramtmpl(filter, pnum, TRUE); - hint=weed_get_int_value(ptmpl,WEED_LEAF_HINT,&error); + hint = weed_get_int_value(ptmpl, WEED_LEAF_HINT, &error); switch (hint) { case WEED_HINT_INTEGER: - retval=get_omc_const("LIVES_PARAM_TYPE_INT"); + retval = get_omc_const("LIVES_PARAM_TYPE_INT"); break; case WEED_HINT_FLOAT: - retval=get_omc_const("LIVES_PARAM_TYPE_FLOAT"); + retval = get_omc_const("LIVES_PARAM_TYPE_FLOAT"); break; case WEED_HINT_TEXT: - retval=get_omc_const("LIVES_PARAM_TYPE_STRING"); + retval = get_omc_const("LIVES_PARAM_TYPE_STRING"); break; case WEED_HINT_SWITCH: - retval=get_omc_const("LIVES_PARAM_TYPE_BOOL"); + retval = get_omc_const("LIVES_PARAM_TYPE_BOOL"); break; case WEED_HINT_COLOR: - retval=get_omc_const("LIVES_PARAM_TYPE_COLOR"); + retval = get_omc_const("LIVES_PARAM_TYPE_COLOR"); break; default: return lives_osc_notify_failure(); @@ -3849,7 +3869,7 @@ weed_plant_t *filter; weed_plant_t **out_ptmpls; weed_plant_t *ptmpl; - int hint,error; + int hint, error; int nparams; int effect_key; int mode; @@ -3857,51 +3877,51 @@ const char *retval; - if (!lives_osc_check_arguments(arglen,vargs,"iii",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); - mode=rte_key_getmode(effect_key); - } else { - lives_osc_check_arguments(arglen,vargs,"iii",TRUE); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&mode); - lives_osc_parse_int_argument(vargs,&pnum); - if (mode<1||mode>rte_key_getmaxmode(effect_key)+1) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "iii", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); + mode = rte_key_getmode(effect_key); + } else { + lives_osc_check_arguments(arglen, vargs, "iii", TRUE); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &mode); + lives_osc_parse_int_argument(vargs, &pnum); + if (mode < 1 || mode > rte_key_getmaxmode(effect_key) + 1) return lives_osc_notify_failure(); mode--; } - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,mode); - if (filter==NULL) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(effect_key, mode); + if (filter == NULL) return lives_osc_notify_failure(); - if (!weed_plant_has_leaf(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES)) return lives_osc_notify_failure(); - nparams=weed_leaf_num_elements(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES); - if (pnum<0||pnum>=nparams) return lives_osc_notify_failure(); + if (!weed_plant_has_leaf(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES)) return lives_osc_notify_failure(); + nparams = weed_leaf_num_elements(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES); + if (pnum < 0 || pnum >= nparams) return lives_osc_notify_failure(); - out_ptmpls=weed_get_plantptr_array(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES,&error); + out_ptmpls = weed_get_plantptr_array(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES, &error); - ptmpl=out_ptmpls[pnum]; - hint=weed_get_int_value(ptmpl,WEED_LEAF_HINT,&error); + ptmpl = out_ptmpls[pnum]; + hint = weed_get_int_value(ptmpl, WEED_LEAF_HINT, &error); lives_free(out_ptmpls); switch (hint) { case WEED_HINT_INTEGER: - retval=get_omc_const("LIVES_PARAM_TYPE_INT"); + retval = get_omc_const("LIVES_PARAM_TYPE_INT"); break; case WEED_HINT_FLOAT: - retval=get_omc_const("LIVES_PARAM_TYPE_FLOAT"); + retval = get_omc_const("LIVES_PARAM_TYPE_FLOAT"); break; case WEED_HINT_TEXT: - retval=get_omc_const("LIVES_PARAM_TYPE_STRING"); + retval = get_omc_const("LIVES_PARAM_TYPE_STRING"); break; case WEED_HINT_SWITCH: - retval=get_omc_const("LIVES_PARAM_TYPE_BOOL"); + retval = get_omc_const("LIVES_PARAM_TYPE_BOOL"); break; case WEED_HINT_COLOR: - retval=get_omc_const("LIVES_PARAM_TYPE_COLOR"); + retval = get_omc_const("LIVES_PARAM_TYPE_COLOR"); break; default: return lives_osc_notify_failure(); @@ -3915,41 +3935,41 @@ boolean lives_osc_cb_rte_getpparamtype(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { // playback plugin params - weed_plant_t *ptmpl,*param; - int hint,error; + weed_plant_t *ptmpl, *param; + int hint, error; int pnum; const char *retval; - if (mainw->vpp==NULL||mainw->vpp->num_play_params==0) return lives_osc_notify_failure(); + if (mainw->vpp == NULL || mainw->vpp->num_play_params == 0) return lives_osc_notify_failure(); - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&pnum); + lives_osc_parse_int_argument(vargs, &pnum); - if (pnum<0||pnum>=mainw->vpp->num_play_params) return lives_osc_notify_failure(); + if (pnum < 0 || pnum >= mainw->vpp->num_play_params) return lives_osc_notify_failure(); - param=(weed_plant_t *)pp_get_param(mainw->vpp->play_params,pnum); + param = (weed_plant_t *)pp_get_param(mainw->vpp->play_params, pnum); - ptmpl=weed_get_plantptr_value(param,WEED_LEAF_TEMPLATE,&error); + ptmpl = weed_get_plantptr_value(param, WEED_LEAF_TEMPLATE, &error); - hint=weed_get_int_value(ptmpl,WEED_LEAF_HINT,&error); + hint = weed_get_int_value(ptmpl, WEED_LEAF_HINT, &error); switch (hint) { case WEED_HINT_INTEGER: - retval=get_omc_const("LIVES_PARAM_TYPE_INT"); + retval = get_omc_const("LIVES_PARAM_TYPE_INT"); break; case WEED_HINT_FLOAT: - retval=get_omc_const("LIVES_PARAM_TYPE_FLOAT"); + retval = get_omc_const("LIVES_PARAM_TYPE_FLOAT"); break; case WEED_HINT_TEXT: - retval=get_omc_const("LIVES_PARAM_TYPE_STRING"); + retval = get_omc_const("LIVES_PARAM_TYPE_STRING"); break; case WEED_HINT_SWITCH: - retval=get_omc_const("LIVES_PARAM_TYPE_BOOL"); + retval = get_omc_const("LIVES_PARAM_TYPE_BOOL"); break; case WEED_HINT_COLOR: - retval=get_omc_const("LIVES_PARAM_TYPE_COLOR"); + retval = get_omc_const("LIVES_PARAM_TYPE_COLOR"); break; default: return lives_osc_notify_failure(); @@ -3965,37 +3985,37 @@ weed_plant_t *filter; weed_plant_t **in_ptmpls; weed_plant_t *ptmpl; - int hint,error; + int hint, error; int effect_key; - int pnum,i; + int pnum, i; const char *retval; - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,rte_key_getmode(effect_key)); - if (filter==NULL) return lives_osc_notify_failure(); - if (!weed_plant_has_leaf(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES)) return lives_osc_notify_failure(); - i=get_nth_simple_param(filter,pnum); - if (i==-1) return lives_osc_notify_failure(); - in_ptmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); - ptmpl=in_ptmpls[i]; + filter = rte_keymode_get_filter(effect_key, rte_key_getmode(effect_key)); + if (filter == NULL) return lives_osc_notify_failure(); + if (!weed_plant_has_leaf(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES)) return lives_osc_notify_failure(); + i = get_nth_simple_param(filter, pnum); + if (i == -1) return lives_osc_notify_failure(); + in_ptmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); + ptmpl = in_ptmpls[i]; - hint=weed_get_int_value(ptmpl,WEED_LEAF_HINT,&error); + hint = weed_get_int_value(ptmpl, WEED_LEAF_HINT, &error); lives_free(in_ptmpls); switch (hint) { case WEED_HINT_INTEGER: - retval=get_omc_const("LIVES_PARAM_TYPE_INT"); + retval = get_omc_const("LIVES_PARAM_TYPE_INT"); break; case WEED_HINT_FLOAT: - retval=get_omc_const("LIVES_PARAM_TYPE_FLOAT"); + retval = get_omc_const("LIVES_PARAM_TYPE_FLOAT"); break; default: return lives_osc_notify_failure(); @@ -4010,56 +4030,56 @@ NetworkReturnAddressPtr ra) { weed_plant_t *filter; weed_plant_t *ptmpl; - int hint,error; + int hint, error; int nparams; int effect_key; int mode; - int pnum,cspace; + int pnum, cspace; int stype; const char *retval; - if (!lives_osc_check_arguments(arglen,vargs,"iii",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); - mode=rte_key_getmode(effect_key); - } else { - lives_osc_check_arguments(arglen,vargs,"iii",TRUE); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&mode); - lives_osc_parse_int_argument(vargs,&pnum); - if (mode<1||mode>rte_key_getmaxmode(effect_key)+1) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "iii", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); + mode = rte_key_getmode(effect_key); + } else { + lives_osc_check_arguments(arglen, vargs, "iii", TRUE); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &mode); + lives_osc_parse_int_argument(vargs, &pnum); + if (mode < 1 || mode > rte_key_getmaxmode(effect_key) + 1) return lives_osc_notify_failure(); mode--; } - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,mode); - if (filter==NULL) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(effect_key, mode); + if (filter == NULL) return lives_osc_notify_failure(); - nparams=num_in_params(filter,FALSE,TRUE); - if (nparams==0) return lives_osc_notify_failure(); - if (pnum<0||pnum>=nparams) return lives_osc_notify_failure(); + nparams = num_in_params(filter, FALSE, TRUE); + if (nparams == 0) return lives_osc_notify_failure(); + if (pnum < 0 || pnum >= nparams) return lives_osc_notify_failure(); - ptmpl=weed_filter_in_paramtmpl(filter,pnum,TRUE); + ptmpl = weed_filter_in_paramtmpl(filter, pnum, TRUE); - hint=weed_get_int_value(ptmpl,WEED_LEAF_HINT,&error); + hint = weed_get_int_value(ptmpl, WEED_LEAF_HINT, &error); - if (hint!=WEED_HINT_COLOR) { + if (hint != WEED_HINT_COLOR) { return lives_osc_notify_failure(); } - cspace=weed_get_int_value(ptmpl,WEED_LEAF_COLORSPACE,&error); + cspace = weed_get_int_value(ptmpl, WEED_LEAF_COLORSPACE, &error); - stype=weed_leaf_seed_type(ptmpl,WEED_LEAF_DEFAULT); + stype = weed_leaf_seed_type(ptmpl, WEED_LEAF_DEFAULT); - if (cspace==WEED_COLORSPACE_RGB) { - if (stype==WEED_SEED_INT) retval=get_omc_const("LIVES_COLORSPACE_RGB_INT"); - else retval=get_omc_const("LIVES_COLORSPACE_RGB_FLOAT"); + if (cspace == WEED_COLORSPACE_RGB) { + if (stype == WEED_SEED_INT) retval = get_omc_const("LIVES_COLORSPACE_RGB_INT"); + else retval = get_omc_const("LIVES_COLORSPACE_RGB_FLOAT"); } else { - if (stype==WEED_SEED_INT) retval=get_omc_const("LIVES_COLORSPACE_RGBA_INT"); - else retval=get_omc_const("LIVES_COLORSPACE_RGBA_FLOAT"); + if (stype == WEED_SEED_INT) retval = get_omc_const("LIVES_COLORSPACE_RGBA_INT"); + else retval = get_omc_const("LIVES_COLORSPACE_RGBA_FLOAT"); } return lives_status_send(retval); @@ -4071,48 +4091,48 @@ NetworkReturnAddressPtr ra) { weed_plant_t *filter; weed_plant_t *ptmpl; - int hint,error; + int hint, error; int nparams; int effect_key; int mode; - int pnum,grp; + int pnum, grp; char *retval; - if (!lives_osc_check_arguments(arglen,vargs,"iii",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); - mode=rte_key_getmode(effect_key); - } else { - lives_osc_check_arguments(arglen,vargs,"iii",TRUE); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&mode); - lives_osc_parse_int_argument(vargs,&pnum); - if (mode<1||mode>rte_key_getmaxmode(effect_key)+1) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "iii", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); + mode = rte_key_getmode(effect_key); + } else { + lives_osc_check_arguments(arglen, vargs, "iii", TRUE); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &mode); + lives_osc_parse_int_argument(vargs, &pnum); + if (mode < 1 || mode > rte_key_getmaxmode(effect_key) + 1) return lives_osc_notify_failure(); mode--; } - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,mode); - if (filter==NULL) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(effect_key, mode); + if (filter == NULL) return lives_osc_notify_failure(); - nparams=num_in_params(filter,FALSE,TRUE); - if (nparams==0) return lives_osc_notify_failure(); - if (pnum<0||pnum>=nparams) return lives_osc_notify_failure(); + nparams = num_in_params(filter, FALSE, TRUE); + if (nparams == 0) return lives_osc_notify_failure(); + if (pnum < 0 || pnum >= nparams) return lives_osc_notify_failure(); - ptmpl=weed_filter_in_paramtmpl(filter,pnum,TRUE); + ptmpl = weed_filter_in_paramtmpl(filter, pnum, TRUE); - hint=weed_get_int_value(ptmpl,WEED_LEAF_HINT,&error); + hint = weed_get_int_value(ptmpl, WEED_LEAF_HINT, &error); - if (hint!=WEED_HINT_SWITCH) { + if (hint != WEED_HINT_SWITCH) { return lives_osc_notify_failure(); } - grp=weed_get_int_value(ptmpl,WEED_LEAF_GROUP,&error); + grp = weed_get_int_value(ptmpl, WEED_LEAF_GROUP, &error); - retval=lives_strdup_printf("%d",grp); + retval = lives_strdup_printf("%d", grp); lives_status_send(retval); lives_free(retval); @@ -4127,58 +4147,58 @@ weed_plant_t *filter; weed_plant_t **out_ptmpls; weed_plant_t *ptmpl; - int hint,error; + int hint, error; int nparams; int effect_key; int mode; - int pnum,cspace; + int pnum, cspace; int stype; const char *retval; - if (!lives_osc_check_arguments(arglen,vargs,"iii",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); - mode=rte_key_getmode(effect_key); - } else { - lives_osc_check_arguments(arglen,vargs,"iii",TRUE); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&mode); - lives_osc_parse_int_argument(vargs,&pnum); - if (mode<1||mode>rte_key_getmaxmode(effect_key)+1) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "iii", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); + mode = rte_key_getmode(effect_key); + } else { + lives_osc_check_arguments(arglen, vargs, "iii", TRUE); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &mode); + lives_osc_parse_int_argument(vargs, &pnum); + if (mode < 1 || mode > rte_key_getmaxmode(effect_key) + 1) return lives_osc_notify_failure(); mode--; } - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,mode); - if (filter==NULL) return lives_osc_notify_failure(); - if (!weed_plant_has_leaf(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES)) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(effect_key, mode); + if (filter == NULL) return lives_osc_notify_failure(); + if (!weed_plant_has_leaf(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES)) return lives_osc_notify_failure(); - nparams=weed_leaf_num_elements(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES); - if (pnum<0||pnum>=nparams) return lives_osc_notify_failure(); + nparams = weed_leaf_num_elements(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES); + if (pnum < 0 || pnum >= nparams) return lives_osc_notify_failure(); - out_ptmpls=weed_get_plantptr_array(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES,&error); - ptmpl=out_ptmpls[pnum]; + out_ptmpls = weed_get_plantptr_array(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES, &error); + ptmpl = out_ptmpls[pnum]; - hint=weed_get_int_value(ptmpl,WEED_LEAF_HINT,&error); + hint = weed_get_int_value(ptmpl, WEED_LEAF_HINT, &error); - if (hint!=WEED_HINT_COLOR) { + if (hint != WEED_HINT_COLOR) { lives_free(out_ptmpls); return lives_osc_notify_failure(); } - cspace=weed_get_int_value(ptmpl,WEED_LEAF_COLORSPACE,&error); + cspace = weed_get_int_value(ptmpl, WEED_LEAF_COLORSPACE, &error); - stype=weed_leaf_seed_type(ptmpl,WEED_LEAF_DEFAULT); + stype = weed_leaf_seed_type(ptmpl, WEED_LEAF_DEFAULT); - if (cspace==WEED_COLORSPACE_RGB) { - if (stype==WEED_SEED_INT) retval=get_omc_const("LIVES_COLORSPACE_RGB_INT"); - else retval=get_omc_const("LIVES_COLORSPACE_RGB_FLOAT"); + if (cspace == WEED_COLORSPACE_RGB) { + if (stype == WEED_SEED_INT) retval = get_omc_const("LIVES_COLORSPACE_RGB_INT"); + else retval = get_omc_const("LIVES_COLORSPACE_RGB_FLOAT"); } else { - if (stype==WEED_SEED_INT) retval=get_omc_const("LIVES_COLORSPACE_RGBA_INT"); - else retval=get_omc_const("LIVES_COLORSPACE_RGBA_FLOAT"); + if (stype == WEED_SEED_INT) retval = get_omc_const("LIVES_COLORSPACE_RGBA_INT"); + else retval = get_omc_const("LIVES_COLORSPACE_RGBA_FLOAT"); } lives_status_send(retval); @@ -4193,39 +4213,39 @@ boolean lives_osc_cb_rte_getpparamcspace(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { // playback plugin params - weed_plant_t *ptmpl,*param; - int hint,error; - int pnum,cspace; + weed_plant_t *ptmpl, *param; + int hint, error; + int pnum, cspace; int stype; const char *retval; - if (mainw->vpp==NULL||mainw->vpp->num_play_params==0) return lives_osc_notify_failure(); + if (mainw->vpp == NULL || mainw->vpp->num_play_params == 0) return lives_osc_notify_failure(); - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&pnum); + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &pnum); - if (pnum<0||pnum>=mainw->vpp->num_play_params) return lives_osc_notify_failure(); + if (pnum < 0 || pnum >= mainw->vpp->num_play_params) return lives_osc_notify_failure(); - param=(weed_plant_t *)pp_get_param(mainw->vpp->play_params,pnum); + param = (weed_plant_t *)pp_get_param(mainw->vpp->play_params, pnum); - ptmpl=weed_get_plantptr_value(param,WEED_LEAF_TEMPLATE,&error); + ptmpl = weed_get_plantptr_value(param, WEED_LEAF_TEMPLATE, &error); - hint=weed_get_int_value(ptmpl,WEED_LEAF_HINT,&error); + hint = weed_get_int_value(ptmpl, WEED_LEAF_HINT, &error); - if (hint!=WEED_HINT_COLOR) { + if (hint != WEED_HINT_COLOR) { return lives_osc_notify_failure(); } - cspace=weed_get_int_value(ptmpl,WEED_LEAF_COLORSPACE,&error); + cspace = weed_get_int_value(ptmpl, WEED_LEAF_COLORSPACE, &error); - stype=weed_leaf_seed_type(ptmpl,WEED_LEAF_DEFAULT); + stype = weed_leaf_seed_type(ptmpl, WEED_LEAF_DEFAULT); - if (cspace==WEED_COLORSPACE_RGB) { - if (stype==WEED_SEED_INT) retval=get_omc_const("LIVES_COLORSPACE_RGB_INT"); - else retval=get_omc_const("LIVES_COLORSPACE_RGB_FLOAT"); + if (cspace == WEED_COLORSPACE_RGB) { + if (stype == WEED_SEED_INT) retval = get_omc_const("LIVES_COLORSPACE_RGB_INT"); + else retval = get_omc_const("LIVES_COLORSPACE_RGB_FLOAT"); } else { - if (stype==WEED_SEED_INT) retval=get_omc_const("LIVES_COLORSPACE_RGBA_INT"); - else retval=get_omc_const("LIVES_COLORSPACE_RGBA_FLOAT"); + if (stype == WEED_SEED_INT) retval = get_omc_const("LIVES_COLORSPACE_RGBA_INT"); + else retval = get_omc_const("LIVES_COLORSPACE_RGBA_FLOAT"); } return lives_status_send(retval); @@ -4242,40 +4262,40 @@ int nparams; int effect_key; int mode; - int pnum,flags=0; + int pnum, flags = 0; char *retval; - if (!lives_osc_check_arguments(arglen,vargs,"iii",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); - mode=rte_key_getmode(effect_key); - } else { - lives_osc_check_arguments(arglen,vargs,"iii",TRUE); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&mode); - lives_osc_parse_int_argument(vargs,&pnum); - if (mode<1||mode>rte_key_getmaxmode(effect_key)+1) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "iii", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); + mode = rte_key_getmode(effect_key); + } else { + lives_osc_check_arguments(arglen, vargs, "iii", TRUE); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &mode); + lives_osc_parse_int_argument(vargs, &pnum); + if (mode < 1 || mode > rte_key_getmaxmode(effect_key) + 1) return lives_osc_notify_failure(); mode--; } - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,mode); - if (filter==NULL) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(effect_key, mode); + if (filter == NULL) return lives_osc_notify_failure(); - nparams=num_in_params(filter,FALSE,TRUE); - if (nparams==0) return lives_osc_notify_failure(); - if (pnum<0||pnum>=nparams) return lives_osc_notify_failure(); + nparams = num_in_params(filter, FALSE, TRUE); + if (nparams == 0) return lives_osc_notify_failure(); + if (pnum < 0 || pnum >= nparams) return lives_osc_notify_failure(); - ptmpl=weed_filter_in_paramtmpl(filter,pnum,TRUE); + ptmpl = weed_filter_in_paramtmpl(filter, pnum, TRUE); - if (weed_plant_has_leaf(ptmpl,WEED_LEAF_FLAGS)) - flags=weed_get_int_value(ptmpl,WEED_LEAF_FLAGS,&error); + if (weed_plant_has_leaf(ptmpl, WEED_LEAF_FLAGS)) + flags = weed_get_int_value(ptmpl, WEED_LEAF_FLAGS, &error); - retval=lives_strdup_printf("%d",flags); + retval = lives_strdup_printf("%d", flags); lives_status_send(retval); lives_free(retval); return TRUE; @@ -4285,28 +4305,28 @@ boolean lives_osc_cb_rte_getpparamflags(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - weed_plant_t *ptmpl,*param; + weed_plant_t *ptmpl, *param; int error; - int pnum,flags=0; + int pnum, flags = 0; char *retval; - if (!mainw->ext_playback||mainw->vpp->play_params==NULL) return lives_osc_notify_failure(); + if (!mainw->ext_playback || mainw->vpp->play_params == NULL) return lives_osc_notify_failure(); - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&pnum); + lives_osc_parse_int_argument(vargs, &pnum); - if (pnum<0||pnum>=mainw->vpp->num_play_params) return lives_osc_notify_failure(); + if (pnum < 0 || pnum >= mainw->vpp->num_play_params) return lives_osc_notify_failure(); - param=(weed_plant_t *)pp_get_param(mainw->vpp->play_params,pnum); + param = (weed_plant_t *)pp_get_param(mainw->vpp->play_params, pnum); - ptmpl=weed_get_plantptr_value(param,WEED_LEAF_TEMPLATE,&error); + ptmpl = weed_get_plantptr_value(param, WEED_LEAF_TEMPLATE, &error); - if (weed_plant_has_leaf(ptmpl,WEED_LEAF_FLAGS)) - flags=weed_get_int_value(ptmpl,WEED_LEAF_FLAGS,&error); + if (weed_plant_has_leaf(ptmpl, WEED_LEAF_FLAGS)) + flags = weed_get_int_value(ptmpl, WEED_LEAF_FLAGS, &error); - retval=lives_strdup_printf("%d",flags); + retval = lives_strdup_printf("%d", flags); lives_status_send(retval); lives_free(retval); return TRUE; @@ -4325,33 +4345,33 @@ char *retval; - if (!lives_osc_check_arguments(arglen,vargs,"iii",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); - mode=rte_key_getmode(effect_key); - } else { - lives_osc_check_arguments(arglen,vargs,"iii",TRUE); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&mode); - lives_osc_parse_int_argument(vargs,&pnum); - if (mode<1||mode>rte_key_getmaxmode(effect_key)+1) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "iii", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); + mode = rte_key_getmode(effect_key); + } else { + lives_osc_check_arguments(arglen, vargs, "iii", TRUE); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &mode); + lives_osc_parse_int_argument(vargs, &pnum); + if (mode < 1 || mode > rte_key_getmaxmode(effect_key) + 1) return lives_osc_notify_failure(); mode--; } - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,mode); - if (filter==NULL) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(effect_key, mode); + if (filter == NULL) return lives_osc_notify_failure(); - nparams=num_in_params(filter,FALSE,TRUE); - if (nparams==0) return lives_osc_notify_failure(); - if (pnum<0||pnum>=nparams) return lives_osc_notify_failure(); + nparams = num_in_params(filter, FALSE, TRUE); + if (nparams == 0) return lives_osc_notify_failure(); + if (pnum < 0 || pnum >= nparams) return lives_osc_notify_failure(); - ptmpl=weed_filter_in_paramtmpl(filter,pnum,TRUE); + ptmpl = weed_filter_in_paramtmpl(filter, pnum, TRUE); - retval=weed_get_string_value(ptmpl,WEED_LEAF_NAME,&error); + retval = weed_get_string_value(ptmpl, WEED_LEAF_NAME, &error); lives_status_send(retval); @@ -4372,39 +4392,39 @@ int effect_key; int mode; int pnum; - int val=0; + int val = 0; char *retval; - if (!lives_osc_check_arguments(arglen,vargs,"iii",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); - mode=rte_key_getmode(effect_key); - } else { - lives_osc_check_arguments(arglen,vargs,"iii",TRUE); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&mode); - lives_osc_parse_int_argument(vargs,&pnum); - if (mode<1||mode>rte_key_getmaxmode(effect_key)+1) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "iii", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); + mode = rte_key_getmode(effect_key); + } else { + lives_osc_check_arguments(arglen, vargs, "iii", TRUE); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &mode); + lives_osc_parse_int_argument(vargs, &pnum); + if (mode < 1 || mode > rte_key_getmaxmode(effect_key) + 1) return lives_osc_notify_failure(); mode--; } - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,mode); - if (filter==NULL) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(effect_key, mode); + if (filter == NULL) return lives_osc_notify_failure(); - nparams=num_in_params(filter,FALSE,TRUE); - if (nparams==0) return lives_osc_notify_failure(); - if (pnum<0||pnum>=nparams) return lives_osc_notify_failure(); + nparams = num_in_params(filter, FALSE, TRUE); + if (nparams == 0) return lives_osc_notify_failure(); + if (pnum < 0 || pnum >= nparams) return lives_osc_notify_failure(); - ptmpl=weed_filter_in_paramtmpl(filter,pnum,TRUE); + ptmpl = weed_filter_in_paramtmpl(filter, pnum, TRUE); - if (weed_plant_has_leaf(ptmpl,WEED_LEAF_CHOICES)) val=weed_leaf_num_elements(ptmpl,WEED_LEAF_CHOICES); + if (weed_plant_has_leaf(ptmpl, WEED_LEAF_CHOICES)) val = weed_leaf_num_elements(ptmpl, WEED_LEAF_CHOICES); - retval=lives_strdup_printf("%d",val); + retval = lives_strdup_printf("%d", val); lives_status_send(retval); @@ -4422,7 +4442,7 @@ weed_plant_t *filter; weed_plant_t *ptmpl; - boolean ret=FALSE; + boolean ret = FALSE; int error; int nparams; @@ -4431,46 +4451,46 @@ int pnum; int cc; - char *retval=lives_strdup(""); + char *retval = lives_strdup(""); - if (!lives_osc_check_arguments(arglen,vargs,"iiii",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"iii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); - lives_osc_parse_int_argument(vargs,&cc); - mode=rte_key_getmode(effect_key); - } else { - lives_osc_check_arguments(arglen,vargs,"iiii",TRUE); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&mode); - lives_osc_parse_int_argument(vargs,&pnum); - lives_osc_parse_int_argument(vargs,&cc); - if (mode<1||mode>rte_key_getmaxmode(effect_key)+1) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "iiii", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "iii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); + lives_osc_parse_int_argument(vargs, &cc); + mode = rte_key_getmode(effect_key); + } else { + lives_osc_check_arguments(arglen, vargs, "iiii", TRUE); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &mode); + lives_osc_parse_int_argument(vargs, &pnum); + lives_osc_parse_int_argument(vargs, &cc); + if (mode < 1 || mode > rte_key_getmaxmode(effect_key) + 1) return lives_osc_notify_failure(); mode--; } - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,mode); - if (filter==NULL) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(effect_key, mode); + if (filter == NULL) return lives_osc_notify_failure(); - nparams=num_in_params(filter,FALSE,TRUE); - if (nparams==0) return lives_osc_notify_failure(); - if (pnum<0||pnum>=nparams) return lives_osc_notify_failure(); - - ptmpl=weed_filter_in_paramtmpl(filter,pnum,TRUE); - - if (weed_plant_has_leaf(ptmpl,WEED_LEAF_CHOICES)) { - int nc=weed_leaf_num_elements(ptmpl,WEED_LEAF_CHOICES); - if (cc<nc) { - char **choices=weed_get_string_array(ptmpl,WEED_LEAF_CHOICES,&error); + nparams = num_in_params(filter, FALSE, TRUE); + if (nparams == 0) return lives_osc_notify_failure(); + if (pnum < 0 || pnum >= nparams) return lives_osc_notify_failure(); + + ptmpl = weed_filter_in_paramtmpl(filter, pnum, TRUE); + + if (weed_plant_has_leaf(ptmpl, WEED_LEAF_CHOICES)) { + int nc = weed_leaf_num_elements(ptmpl, WEED_LEAF_CHOICES); + if (cc < nc) { + char **choices = weed_get_string_array(ptmpl, WEED_LEAF_CHOICES, &error); register int i; - for (i=0; i<nc; i++) { - if (i==cc) { + for (i = 0; i < nc; i++) { + if (i == cc) { lives_free(retval); - retval=choices[i]; - ret=TRUE; + retval = choices[i]; + ret = TRUE; } else lives_free(choices[i]); } lives_free(choices); @@ -4499,34 +4519,34 @@ char *retval; - if (!lives_osc_check_arguments(arglen,vargs,"iii",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); - mode=rte_key_getmode(effect_key); - } else { - lives_osc_check_arguments(arglen,vargs,"iii",TRUE); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&mode); - lives_osc_parse_int_argument(vargs,&pnum); - if (mode<1||mode>rte_key_getmaxmode(effect_key)+1) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "iii", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); + mode = rte_key_getmode(effect_key); + } else { + lives_osc_check_arguments(arglen, vargs, "iii", TRUE); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &mode); + lives_osc_parse_int_argument(vargs, &pnum); + if (mode < 1 || mode > rte_key_getmaxmode(effect_key) + 1) return lives_osc_notify_failure(); mode--; } - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,mode); - if (filter==NULL) return lives_osc_notify_failure(); - if (!weed_plant_has_leaf(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES)) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(effect_key, mode); + if (filter == NULL) return lives_osc_notify_failure(); + if (!weed_plant_has_leaf(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES)) return lives_osc_notify_failure(); - nparams=weed_leaf_num_elements(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES); - if (pnum<0||pnum>=nparams) return lives_osc_notify_failure(); + nparams = weed_leaf_num_elements(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES); + if (pnum < 0 || pnum >= nparams) return lives_osc_notify_failure(); - out_ptmpls=weed_get_plantptr_array(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES,&error); - ptmpl=out_ptmpls[pnum]; + out_ptmpls = weed_get_plantptr_array(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES, &error); + ptmpl = out_ptmpls[pnum]; - retval=weed_get_string_value(ptmpl,WEED_LEAF_NAME,&error); + retval = weed_get_string_value(ptmpl, WEED_LEAF_NAME, &error); lives_status_send(retval); @@ -4540,25 +4560,25 @@ boolean lives_osc_cb_rte_getpparamname(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - weed_plant_t *ptmpl,*param; + weed_plant_t *ptmpl, *param; int error; int pnum; char *retval; - if (!mainw->ext_playback||mainw->vpp->play_params==NULL) return lives_osc_notify_failure(); + if (!mainw->ext_playback || mainw->vpp->play_params == NULL) return lives_osc_notify_failure(); - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&pnum); + lives_osc_parse_int_argument(vargs, &pnum); - if (pnum<0||pnum>=mainw->vpp->num_play_params) return lives_osc_notify_failure(); + if (pnum < 0 || pnum >= mainw->vpp->num_play_params) return lives_osc_notify_failure(); - param=(weed_plant_t *)pp_get_param(mainw->vpp->play_params,pnum); + param = (weed_plant_t *)pp_get_param(mainw->vpp->play_params, pnum); - ptmpl=weed_get_plantptr_value(param,WEED_LEAF_TEMPLATE,&error); + ptmpl = weed_get_plantptr_value(param, WEED_LEAF_TEMPLATE, &error); - retval=weed_get_string_value(ptmpl,WEED_LEAF_NAME,&error); + retval = weed_get_string_value(ptmpl, WEED_LEAF_NAME, &error); lives_status_send(retval); @@ -4576,29 +4596,29 @@ weed_plant_t *ptmpl; int error; int effect_key; - int pnum,i; + int pnum, i; char *retval; - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,rte_key_getmode(effect_key)); - if (filter==NULL) return lives_osc_notify_failure(); - if (!weed_plant_has_leaf(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES)) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(effect_key, rte_key_getmode(effect_key)); + if (filter == NULL) return lives_osc_notify_failure(); + if (!weed_plant_has_leaf(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES)) return lives_osc_notify_failure(); - i=get_nth_simple_param(filter,pnum); - if (i==-1) return lives_osc_notify_failure(); + i = get_nth_simple_param(filter, pnum); + if (i == -1) return lives_osc_notify_failure(); - in_ptmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); - ptmpl=in_ptmpls[i]; + in_ptmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); + ptmpl = in_ptmpls[i]; - retval=weed_get_string_value(ptmpl,WEED_LEAF_NAME,&error); + retval = weed_get_string_value(ptmpl, WEED_LEAF_NAME, &error); lives_status_send(retval); @@ -4613,56 +4633,56 @@ boolean lives_osc_cb_rte_setparam(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - weed_plant_t *inst,*filter; + weed_plant_t *inst, *filter; weed_plant_t *tparam; int nparams; int effect_key; - int pnum,nargs; + int pnum, nargs; - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); - nargs=lives_osc_get_num_arguments(vargs); - if (nargs<3) return lives_osc_notify_failure(); + nargs = lives_osc_get_num_arguments(vargs); + if (nargs < 3) return lives_osc_notify_failure(); - osc_header_len=pad4(nargs+1); // add comma + osc_header_len = pad4(nargs + 1); // add comma - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,rte_key_getmode(effect_key)); - inst=rte_keymode_get_instance(effect_key,rte_key_getmode(effect_key)); + filter = rte_keymode_get_filter(effect_key, rte_key_getmode(effect_key)); + inst = rte_keymode_get_instance(effect_key, rte_key_getmode(effect_key)); - if (inst==NULL) return lives_osc_notify_failure(); + if (inst == NULL) return lives_osc_notify_failure(); - nparams=num_in_params(filter,FALSE,TRUE); - if (nparams==0) return lives_osc_notify_failure(); - if (pnum<0||pnum>=nparams) return lives_osc_notify_failure(); + nparams = num_in_params(filter, FALSE, TRUE); + if (nparams == 0) return lives_osc_notify_failure(); + if (pnum < 0 || pnum >= nparams) return lives_osc_notify_failure(); - tparam=weed_inst_in_param(inst,pnum,FALSE,TRUE); + tparam = weed_inst_in_param(inst, pnum, FALSE, TRUE); if (!mainw->osc_block) { - if (!setfx(inst,tparam,pnum,nargs-2,vargs,3)) { + if (!setfx(inst, tparam, pnum, nargs - 2, vargs, 3)) { return lives_osc_notify_failure(); } } else { return lives_osc_notify_failure(); } - if (fx_dialog[1]!=NULL) { - lives_rfx_t *rfx=(lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"rfx"); + if (fx_dialog[1] != NULL) { + lives_rfx_t *rfx = (lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "rfx"); if (!rfx->is_template) { - int keyw=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"key")); - int modew=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"mode")); - if (keyw==effect_key&&modew==rte_key_getmode(effect_key)) - mainw->vrfx_update=rfx; + int keyw = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "key")); + int modew = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "mode")); + if (keyw == effect_key && modew == rte_key_getmode(effect_key)) + mainw->vrfx_update = rfx; } } - if (mainw->ce_thumbs) ce_thumbs_register_rfx_change(effect_key,rte_key_getmode(effect_key)); + if (mainw->ce_thumbs) ce_thumbs_register_rfx_change(effect_key, rte_key_getmode(effect_key)); return lives_osc_notify_success(NULL); @@ -4678,44 +4698,44 @@ int effect_key; int mode; - int pnum,nargs,skip; + int pnum, nargs, skip; - nargs=lives_osc_get_num_arguments(vargs); + nargs = lives_osc_get_num_arguments(vargs); - if (!lives_osc_check_arguments(arglen,vargs,"iii",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); - if (nargs<3) return lives_osc_notify_failure(); - osc_header_len=pad4(nargs+1); // add comma - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); - mode=rte_key_getmode(effect_key); - skip=3; - } else { - if (nargs<4) return lives_osc_notify_failure(); - lives_osc_check_arguments(arglen,vargs,"iii",TRUE); - osc_header_len=pad4(nargs+1); // add comma - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&mode); - if (mode<1||mode>rte_key_getmaxmode(effect_key)+1) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&pnum); - skip=4; + if (!lives_osc_check_arguments(arglen, vargs, "iii", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); + if (nargs < 3) return lives_osc_notify_failure(); + osc_header_len = pad4(nargs + 1); // add comma + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); + mode = rte_key_getmode(effect_key); + skip = 3; + } else { + if (nargs < 4) return lives_osc_notify_failure(); + lives_osc_check_arguments(arglen, vargs, "iii", TRUE); + osc_header_len = pad4(nargs + 1); // add comma + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &mode); + if (mode < 1 || mode > rte_key_getmaxmode(effect_key) + 1) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &pnum); + skip = 4; } - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,mode); + filter = rte_keymode_get_filter(effect_key, mode); - if (filter==NULL) return lives_osc_notify_failure(); + if (filter == NULL) return lives_osc_notify_failure(); - nparams=num_in_params(filter,FALSE,TRUE); - if (nparams==0) return lives_osc_notify_failure(); - if (pnum<0||pnum>=nparams) return lives_osc_notify_failure(); + nparams = num_in_params(filter, FALSE, TRUE); + if (nparams == 0) return lives_osc_notify_failure(); + if (pnum < 0 || pnum >= nparams) return lives_osc_notify_failure(); - tptmpl=weed_filter_in_paramtmpl(filter,pnum,TRUE); + tptmpl = weed_filter_in_paramtmpl(filter, pnum, TRUE); - if (!setfx(filter,tptmpl,pnum,nargs-2,vargs,skip)) { + if (!setfx(filter, tptmpl, pnum, nargs - 2, vargs, skip)) { return lives_osc_notify_failure(); } @@ -4729,25 +4749,25 @@ NetworkReturnAddressPtr ra) { // set playback plugin param weed_plant_t *param; - int pnum,nargs; + int pnum, nargs; - if (!mainw->ext_playback||mainw->vpp->play_params==NULL) return lives_osc_notify_failure(); + if (!mainw->ext_playback || mainw->vpp->play_params == NULL) return lives_osc_notify_failure(); - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); - nargs=lives_osc_get_num_arguments(vargs); - if (nargs<2) return lives_osc_notify_failure(); + nargs = lives_osc_get_num_arguments(vargs); + if (nargs < 2) return lives_osc_notify_failure(); - osc_header_len=pad4(nargs+1); // add comma + osc_header_len = pad4(nargs + 1); // add comma - lives_osc_parse_int_argument(vargs,&pnum); + lives_osc_parse_int_argument(vargs, &pnum); - if (pnum<0||pnum>=mainw->vpp->num_play_params) return lives_osc_notify_failure(); + if (pnum < 0 || pnum >= mainw->vpp->num_play_params) return lives_osc_notify_failure(); - param=(weed_plant_t *)pp_get_param(mainw->vpp->play_params,pnum); + param = (weed_plant_t *)pp_get_param(mainw->vpp->play_params, pnum); if (!mainw->osc_block) { - if (!setfx(NULL,param,pnum,nargs-1,vargs,2)) return lives_osc_notify_failure(); + if (!setfx(NULL, param, pnum, nargs - 1, vargs, 2)) return lives_osc_notify_failure(); } else return lives_osc_notify_failure(); return lives_osc_notify_success(NULL); @@ -4759,39 +4779,39 @@ NetworkReturnAddressPtr ra) { int effect_key; - int pnum,i,nargs; + int pnum, i, nargs; int error; // pick pnum which is numeric single valued, non-reinit // i.e. simple numeric parameter - weed_plant_t *inst,*param; + weed_plant_t *inst, *param; weed_plant_t **in_params; - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); - nargs=lives_osc_get_num_arguments(vargs); - if (nargs<3) return lives_osc_notify_failure(); + nargs = lives_osc_get_num_arguments(vargs); + if (nargs < 3) return lives_osc_notify_failure(); - osc_header_len=pad4(nargs+1); // add comma + osc_header_len = pad4(nargs + 1); // add comma - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - inst=rte_keymode_get_instance(effect_key,rte_key_getmode(effect_key)); - if (inst==NULL) return lives_osc_notify_failure(); + inst = rte_keymode_get_instance(effect_key, rte_key_getmode(effect_key)); + if (inst == NULL) return lives_osc_notify_failure(); - in_params=weed_get_plantptr_array(inst,WEED_LEAF_IN_PARAMETERS,&error); + in_params = weed_get_plantptr_array(inst, WEED_LEAF_IN_PARAMETERS, &error); - i=get_nth_simple_param(inst,pnum); + i = get_nth_simple_param(inst, pnum); - param=in_params[i]; + param = in_params[i]; - if (i!=-1 && !mainw->osc_block) { - if (!setfx(inst,param,pnum,nargs-2,vargs,3)) return lives_osc_notify_failure(); + if (i != -1 && !mainw->osc_block) { + if (!setfx(inst, param, pnum, nargs - 2, vargs, 3)) return lives_osc_notify_failure(); } else lives_osc_notify_failure(); return lives_osc_notify_success(NULL); @@ -4810,44 +4830,44 @@ int effect_key; int mode; - int pnum,nargs,skip; + int pnum, nargs, skip; - nargs=lives_osc_get_num_arguments(vargs); + nargs = lives_osc_get_num_arguments(vargs); - if (!lives_osc_check_arguments(arglen,vargs,"iii",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); - if (nargs<3) return lives_osc_notify_failure(); - osc_header_len=pad4(nargs+1); // add comma - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); - mode=rte_key_getmode(effect_key); - skip=3; - } else { - if (nargs<4) return lives_osc_notify_failure(); - lives_osc_check_arguments(arglen,vargs,"iii",TRUE); - osc_header_len=pad4(nargs+1); // add comma - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&mode); - if (mode<1||mode>rte_key_getmaxmode(effect_key)+1) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&pnum); - skip=4; + if (!lives_osc_check_arguments(arglen, vargs, "iii", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); + if (nargs < 3) return lives_osc_notify_failure(); + osc_header_len = pad4(nargs + 1); // add comma + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); + mode = rte_key_getmode(effect_key); + skip = 3; + } else { + if (nargs < 4) return lives_osc_notify_failure(); + lives_osc_check_arguments(arglen, vargs, "iii", TRUE); + osc_header_len = pad4(nargs + 1); // add comma + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &mode); + if (mode < 1 || mode > rte_key_getmaxmode(effect_key) + 1) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &pnum); + skip = 4; } - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,mode); + filter = rte_keymode_get_filter(effect_key, mode); - if (filter==NULL) return lives_osc_notify_failure(); + if (filter == NULL) return lives_osc_notify_failure(); - nparams=num_in_params(filter,FALSE,TRUE); - if (nparams==0) return lives_osc_notify_failure(); - if (pnum<0||pnum>=nparams) return lives_osc_notify_failure(); + nparams = num_in_params(filter, FALSE, TRUE); + if (nparams == 0) return lives_osc_notify_failure(); + if (pnum < 0 || pnum >= nparams) return lives_osc_notify_failure(); - tptmpl=weed_filter_in_paramtmpl(filter,pnum,TRUE); + tptmpl = weed_filter_in_paramtmpl(filter, pnum, TRUE); - if (!setfx(filter,tptmpl,pnum,nargs-2,vargs,skip)) { + if (!setfx(filter, tptmpl, pnum, nargs - 2, vargs, skip)) { return lives_osc_notify_failure(); } @@ -4859,34 +4879,34 @@ boolean lives_osc_cb_rte_paramcount(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - int effect_key,mode; + int effect_key, mode; - int count=0; + int count = 0; weed_plant_t *filter; char *msg; - if (!lives_osc_check_arguments(arglen,vargs,"ii",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - mode=rte_key_getmode(effect_key); - } else { - lives_osc_check_arguments(arglen,vargs,"ii",TRUE); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&mode); - if (mode<1||mode>rte_key_getmaxmode(effect_key)+1) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "ii", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + mode = rte_key_getmode(effect_key); + } else { + lives_osc_check_arguments(arglen, vargs, "ii", TRUE); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &mode); + if (mode < 1 || mode > rte_key_getmaxmode(effect_key) + 1) return lives_osc_notify_failure(); mode--; } - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,mode); - if (filter==NULL) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(effect_key, mode); + if (filter == NULL) return lives_osc_notify_failure(); - count=num_in_params(filter,FALSE,TRUE); + count = num_in_params(filter, FALSE, TRUE); - msg=lives_strdup_printf("%d",count); + msg = lives_strdup_printf("%d", count); lives_status_send(msg); lives_free(msg); return TRUE; @@ -4895,34 +4915,34 @@ boolean lives_osc_cb_rte_oparamcount(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - int effect_key,mode; - int count=0; + int effect_key, mode; + int count = 0; weed_plant_t *filter; char *msg; - if (!lives_osc_check_arguments(arglen,vargs,"ii",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - mode=rte_key_getmode(effect_key); - } else { - lives_osc_check_arguments(arglen,vargs,"ii",TRUE); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&mode); - if (mode<1||mode>rte_key_getmaxmode(effect_key)+1) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "ii", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + mode = rte_key_getmode(effect_key); + } else { + lives_osc_check_arguments(arglen, vargs, "ii", TRUE); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &mode); + if (mode < 1 || mode > rte_key_getmaxmode(effect_key) + 1) return lives_osc_notify_failure(); mode--; } - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,mode); - if (filter==NULL) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(effect_key, mode); + if (filter == NULL) return lives_osc_notify_failure(); - if (weed_plant_has_leaf(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES)) { - count=weed_leaf_num_elements(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES); + if (weed_plant_has_leaf(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES)) { + count = weed_leaf_num_elements(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES); } - msg=lives_strdup_printf("%d",count); + msg = lives_strdup_printf("%d", count); lives_status_send(msg); lives_free(msg); return TRUE; @@ -4932,60 +4952,60 @@ boolean lives_osc_cb_rte_getinpal(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - int effect_key,mode,cnum,count,error; + int effect_key, mode, cnum, count, error; weed_plant_t **ctmpls; - weed_plant_t *filter,*inst,*ctmpl,*chan=NULL; + weed_plant_t *filter, *inst, *ctmpl, *chan = NULL; char *msg; - if (!lives_osc_check_arguments(arglen,vargs,"iii",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&cnum); - mode=rte_key_getmode(effect_key); - } else { - lives_osc_check_arguments(arglen,vargs,"iii",TRUE); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&mode); - if (mode<1||mode>rte_key_getmaxmode(effect_key)+1) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&cnum); + if (!lives_osc_check_arguments(arglen, vargs, "iii", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &cnum); + mode = rte_key_getmode(effect_key); + } else { + lives_osc_check_arguments(arglen, vargs, "iii", TRUE); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &mode); + if (mode < 1 || mode > rte_key_getmaxmode(effect_key) + 1) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &cnum); mode--; } - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - inst=rte_keymode_get_instance(effect_key,mode); + inst = rte_keymode_get_instance(effect_key, mode); - if (inst!=NULL) { - chan=get_enabled_channel(inst,cnum,TRUE); - ctmpl=weed_get_plantptr_value(chan,WEED_LEAF_TEMPLATE,&error); - } else { - filter=rte_keymode_get_filter(effect_key,mode); - if (filter==NULL) return lives_osc_notify_failure(); - - if (!weed_plant_has_leaf(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES)) return lives_osc_notify_failure(); - count=weed_leaf_num_elements(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES); - if (cnum>=count) return lives_osc_notify_failure(); - ctmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES,&error); - ctmpl=ctmpls[cnum]; + if (inst != NULL) { + chan = get_enabled_channel(inst, cnum, TRUE); + ctmpl = weed_get_plantptr_value(chan, WEED_LEAF_TEMPLATE, &error); + } else { + filter = rte_keymode_get_filter(effect_key, mode); + if (filter == NULL) return lives_osc_notify_failure(); + + if (!weed_plant_has_leaf(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES)) return lives_osc_notify_failure(); + count = weed_leaf_num_elements(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES); + if (cnum >= count) return lives_osc_notify_failure(); + ctmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES, &error); + ctmpl = ctmpls[cnum]; lives_free(ctmpls); } - if (weed_plant_has_leaf(ctmpl,WEED_LEAF_IS_AUDIO)) { - msg=lives_strdup_printf("%d",WEED_PALETTE_END); + if (weed_plant_has_leaf(ctmpl, WEED_LEAF_IS_AUDIO)) { + msg = lives_strdup_printf("%d", WEED_PALETTE_END); lives_status_send(msg); lives_free(msg); return TRUE; } - if (inst!=NULL) { - msg=lives_strdup_printf("%d",weed_get_int_value(chan,WEED_LEAF_CURRENT_PALETTE,&error)); + if (inst != NULL) { + msg = lives_strdup_printf("%d", weed_get_int_value(chan, WEED_LEAF_CURRENT_PALETTE, &error)); lives_status_send(msg); lives_free(msg); return TRUE; } - msg=lives_osc_format_result(ctmpl,WEED_LEAF_PALETTE_LIST,0,-1); + msg = lives_osc_format_result(ctmpl, WEED_LEAF_PALETTE_LIST, 0, -1); lives_status_send(msg); lives_free(msg); return TRUE; @@ -4995,60 +5015,60 @@ boolean lives_osc_cb_rte_getoutpal(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - int effect_key,mode,cnum,count,error; + int effect_key, mode, cnum, count, error; weed_plant_t **ctmpls; - weed_plant_t *filter,*inst,*ctmpl,*chan=NULL; + weed_plant_t *filter, *inst, *ctmpl, *chan = NULL; char *msg; - if (!lives_osc_check_arguments(arglen,vargs,"iii",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&cnum); - mode=rte_key_getmode(effect_key); - } else { - lives_osc_check_arguments(arglen,vargs,"iii",TRUE); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&mode); - if (mode<1||mode>rte_key_getmaxmode(effect_key)+1) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&cnum); + if (!lives_osc_check_arguments(arglen, vargs, "iii", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &cnum); + mode = rte_key_getmode(effect_key); + } else { + lives_osc_check_arguments(arglen, vargs, "iii", TRUE); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &mode); + if (mode < 1 || mode > rte_key_getmaxmode(effect_key) + 1) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &cnum); mode--; } - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - inst=rte_keymode_get_instance(effect_key,mode); + inst = rte_keymode_get_instance(effect_key, mode); - if (inst!=NULL) { - chan=get_enabled_channel(inst,cnum,FALSE); - ctmpl=weed_get_plantptr_value(chan,WEED_LEAF_TEMPLATE,&error); - } else { - filter=rte_keymode_get_filter(effect_key,mode); - if (filter==NULL) return lives_osc_notify_failure(); - - if (!weed_plant_has_leaf(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES)) return lives_osc_notify_failure(); - count=weed_leaf_num_elements(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES); - if (cnum>=count) return lives_osc_notify_failure(); - ctmpls=weed_get_plantptr_array(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES,&error); - ctmpl=ctmpls[cnum]; + if (inst != NULL) { + chan = get_enabled_channel(inst, cnum, FALSE); + ctmpl = weed_get_plantptr_value(chan, WEED_LEAF_TEMPLATE, &error); + } else { + filter = rte_keymode_get_filter(effect_key, mode); + if (filter == NULL) return lives_osc_notify_failure(); + + if (!weed_plant_has_leaf(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES)) return lives_osc_notify_failure(); + count = weed_leaf_num_elements(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES); + if (cnum >= count) return lives_osc_notify_failure(); + ctmpls = weed_get_plantptr_array(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES, &error); + ctmpl = ctmpls[cnum]; lives_free(ctmpls); } - if (weed_plant_has_leaf(ctmpl,WEED_LEAF_IS_AUDIO)) { - msg=lives_strdup_printf("%d",WEED_PALETTE_END); + if (weed_plant_has_leaf(ctmpl, WEED_LEAF_IS_AUDIO)) { + msg = lives_strdup_printf("%d", WEED_PALETTE_END); lives_status_send(msg); lives_free(msg); return TRUE; } - if (inst!=NULL) { - msg=lives_strdup_printf("%d",weed_get_int_value(chan,WEED_LEAF_CURRENT_PALETTE,&error)); + if (inst != NULL) { + msg = lives_strdup_printf("%d", weed_get_int_value(chan, WEED_LEAF_CURRENT_PALETTE, &error)); lives_status_send(msg); lives_free(msg); return TRUE; } - msg=lives_osc_format_result(ctmpl,WEED_LEAF_PALETTE_LIST,0,-1); + msg = lives_osc_format_result(ctmpl, WEED_LEAF_PALETTE_LIST, 0, -1); lives_status_send(msg); lives_free(msg); return TRUE; @@ -5060,16 +5080,16 @@ boolean lives_osc_cb_rte_pparamcount(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { // return num playback plugin params - int count=0; + int count = 0; char *msg; - if (mainw->vpp==NULL) { + if (mainw->vpp == NULL) { return lives_status_send("0"); } - count=mainw->vpp->num_play_params; + count = mainw->vpp->num_play_params; - msg=lives_strdup_printf("%d",count); + msg = lives_strdup_printf("%d", count); lives_status_send(msg); lives_free(msg); return TRUE; @@ -5081,7 +5101,7 @@ NetworkReturnAddressPtr ra) { int effect_key; - int count=-1,i; + int count = -1, i; // return number of numeric single valued, non-reinit // i.e. simple numeric parameters @@ -5090,20 +5110,20 @@ char *msg; - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,rte_key_getmode(effect_key)); - if (filter==NULL) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(effect_key, rte_key_getmode(effect_key)); + if (filter == NULL) return lives_osc_notify_failure(); do { - i=get_nth_simple_param(filter,++count); - } while (i!=-1); + i = get_nth_simple_param(filter, ++count); + } while (i != -1); - msg=lives_strdup_printf("%d",count); + msg = lives_strdup_printf("%d", count); lives_status_send(msg); lives_free(msg); return TRUE; @@ -5113,33 +5133,33 @@ boolean lives_osc_cb_rte_getnchannels(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - int effect_key,mode; + int effect_key, mode; int count; weed_plant_t *plant; char *msg; - if (!lives_osc_check_arguments(arglen,vargs,"ii",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - mode=rte_key_getmode(effect_key); - } else { - lives_osc_check_arguments(arglen,vargs,"ii",TRUE); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&mode); - if (mode<0||mode>rte_key_getmaxmode(effect_key)+1) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "ii", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + mode = rte_key_getmode(effect_key); + } else { + lives_osc_check_arguments(arglen, vargs, "ii", TRUE); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &mode); + if (mode < 0 || mode > rte_key_getmaxmode(effect_key) + 1) return lives_osc_notify_failure(); mode--; } - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); - plant=rte_keymode_get_instance(effect_key,mode); - if (plant==NULL) plant=rte_keymode_get_filter(effect_key,mode); - if (plant==NULL) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); + plant = rte_keymode_get_instance(effect_key, mode); + if (plant == NULL) plant = rte_keymode_get_filter(effect_key, mode); + if (plant == NULL) return lives_osc_notify_failure(); - count=enabled_in_channels(plant, FALSE); + count = enabled_in_channels(plant, FALSE); - msg=lives_strdup_printf("%d",count); + msg = lives_strdup_printf("%d", count); lives_status_send(msg); lives_free(msg); return TRUE; @@ -5157,22 +5177,22 @@ char *msg; - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - plant=rte_keymode_get_instance(effect_key,rte_key_getmode(effect_key)); + plant = rte_keymode_get_instance(effect_key, rte_key_getmode(effect_key)); // handle compound fx - if (plant!=NULL) while (weed_plant_has_leaf(plant,WEED_LEAF_HOST_NEXT_INSTANCE)) plant=weed_get_plantptr_value(plant, - WEED_LEAF_HOST_NEXT_INSTANCE,&error); - else plant=rte_keymode_get_filter(effect_key,rte_key_getmode(effect_key)); - if (plant==NULL) return lives_osc_notify_failure(); + if (plant != NULL) while (weed_plant_has_leaf(plant, WEED_LEAF_HOST_NEXT_INSTANCE)) plant = weed_get_plantptr_value(plant, + WEED_LEAF_HOST_NEXT_INSTANCE, &error); + else plant = rte_keymode_get_filter(effect_key, rte_key_getmode(effect_key)); + if (plant == NULL) return lives_osc_notify_failure(); - count=enabled_out_channels(plant, FALSE); + count = enabled_out_channels(plant, FALSE); - msg=lives_strdup_printf("%d",count); + msg = lives_strdup_printf("%d", count); lives_status_send(msg); lives_free(msg); return TRUE; @@ -5193,37 +5213,37 @@ char *msg; - if (!lives_osc_check_arguments(arglen,vargs,"iii",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); - mode=rte_key_getmode(effect_key); - } else { - lives_osc_check_arguments(arglen,vargs,"iii",TRUE); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&mode); - lives_osc_parse_int_argument(vargs,&pnum); - if (mode<1||mode>rte_key_getmaxmode(effect_key)+1) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "iii", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); + mode = rte_key_getmode(effect_key); + } else { + lives_osc_check_arguments(arglen, vargs, "iii", TRUE); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &mode); + lives_osc_parse_int_argument(vargs, &pnum); + if (mode < 1 || mode > rte_key_getmaxmode(effect_key) + 1) return lives_osc_notify_failure(); mode--; } - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,mode); - if (filter==NULL) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(effect_key, mode); + if (filter == NULL) return lives_osc_notify_failure(); - nparams=num_in_params(filter,FALSE,TRUE); - if (nparams==0) return lives_osc_notify_failure(); - if (pnum<0||pnum>=nparams) return lives_osc_notify_failure(); + nparams = num_in_params(filter, FALSE, TRUE); + if (nparams == 0) return lives_osc_notify_failure(); + if (pnum < 0 || pnum >= nparams) return lives_osc_notify_failure(); - ptmpl=weed_filter_in_paramtmpl(filter,pnum,TRUE); + ptmpl = weed_filter_in_paramtmpl(filter, pnum, TRUE); - if (!weed_plant_has_leaf(ptmpl,WEED_LEAF_MIN)) { + if (!weed_plant_has_leaf(ptmpl, WEED_LEAF_MIN)) { return lives_osc_notify_failure(); } - msg=lives_osc_format_result(ptmpl,WEED_LEAF_MIN,0,-1); + msg = lives_osc_format_result(ptmpl, WEED_LEAF_MIN, 0, -1); lives_status_send(msg); lives_free(msg); @@ -5239,48 +5259,48 @@ int mode; int pnum; - int error,nparams; + int error, nparams; weed_plant_t *filter; weed_plant_t **out_ptmpls; weed_plant_t *ptmpl; char *msg; - if (!lives_osc_check_arguments(arglen,vargs,"iii",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); - mode=rte_key_getmode(effect_key); - } else { - lives_osc_check_arguments(arglen,vargs,"iii",TRUE); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&mode); - lives_osc_parse_int_argument(vargs,&pnum); - if (mode<1||mode>rte_key_getmaxmode(effect_key)+1) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "iii", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); + mode = rte_key_getmode(effect_key); + } else { + lives_osc_check_arguments(arglen, vargs, "iii", TRUE); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &mode); + lives_osc_parse_int_argument(vargs, &pnum); + if (mode < 1 || mode > rte_key_getmaxmode(effect_key) + 1) return lives_osc_notify_failure(); mode--; } - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,mode); - if (filter==NULL) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(effect_key, mode); + if (filter == NULL) return lives_osc_notify_failure(); - if (!weed_plant_has_leaf(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES)) return lives_osc_notify_failure(); + if (!weed_plant_has_leaf(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES)) return lives_osc_notify_failure(); - nparams=weed_leaf_num_elements(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES); - if (pnum<0||pnum>=nparams) return lives_osc_notify_failure(); + nparams = weed_leaf_num_elements(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES); + if (pnum < 0 || pnum >= nparams) return lives_osc_notify_failure(); - out_ptmpls=weed_get_plantptr_array(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES,&error); + out_ptmpls = weed_get_plantptr_array(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES, &error); - ptmpl=out_ptmpls[pnum]; + ptmpl = out_ptmpls[pnum]; - if (!weed_plant_has_leaf(ptmpl,WEED_LEAF_MIN)) { + if (!weed_plant_has_leaf(ptmpl, WEED_LEAF_MIN)) { lives_free(out_ptmpls); return lives_osc_notify_failure(); } - msg=lives_osc_format_result(ptmpl,WEED_LEAF_MIN,0,-1); + msg = lives_osc_format_result(ptmpl, WEED_LEAF_MIN, 0, -1); lives_status_send(msg); lives_free(msg); @@ -5297,42 +5317,42 @@ int mode; int pnum; - int error,nparams; + int error, nparams; weed_plant_t *filter; weed_plant_t **out_ptmpls; weed_plant_t *ptmpl; - if (!lives_osc_check_arguments(arglen,vargs,"iii",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); - mode=rte_key_getmode(effect_key); - } else { - lives_osc_check_arguments(arglen,vargs,"iii",TRUE); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&mode); - lives_osc_parse_int_argument(vargs,&pnum); - if (mode<1||mode>rte_key_getmaxmode(effect_key)+1) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "iii", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); + mode = rte_key_getmode(effect_key); + } else { + lives_osc_check_arguments(arglen, vargs, "iii", TRUE); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &mode); + lives_osc_parse_int_argument(vargs, &pnum); + if (mode < 1 || mode > rte_key_getmaxmode(effect_key) + 1) return lives_osc_notify_failure(); mode--; } - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,mode); - if (filter==NULL) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(effect_key, mode); + if (filter == NULL) return lives_osc_notify_failure(); - if (!weed_plant_has_leaf(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES)) return lives_osc_notify_failure(); + if (!weed_plant_has_leaf(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES)) return lives_osc_notify_failure(); - nparams=weed_leaf_num_elements(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES); - if (pnum<0||pnum>=nparams) return lives_osc_notify_failure(); + nparams = weed_leaf_num_elements(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES); + if (pnum < 0 || pnum >= nparams) return lives_osc_notify_failure(); - out_ptmpls=weed_get_plantptr_array(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES,&error); + out_ptmpls = weed_get_plantptr_array(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES, &error); - ptmpl=out_ptmpls[pnum]; + ptmpl = out_ptmpls[pnum]; lives_free(out_ptmpls); - if (!weed_plant_has_leaf(ptmpl,WEED_LEAF_MIN)) return lives_status_send(get_omc_const("LIVES_FALSE")); + if (!weed_plant_has_leaf(ptmpl, WEED_LEAF_MIN)) return lives_status_send(get_omc_const("LIVES_FALSE")); else return lives_status_send(get_omc_const("LIVES_TRUE")); } @@ -5343,26 +5363,26 @@ int pnum; int error; - weed_plant_t *ptmpl,*param; + weed_plant_t *ptmpl, *param; char *msg; - if (!mainw->ext_playback||mainw->vpp->play_params==NULL) return lives_osc_notify_failure(); + if (!mainw->ext_playback || mainw->vpp->play_params == NULL) return lives_osc_notify_failure(); - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&pnum); + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &pnum); - if (pnum<0||pnum>=mainw->vpp->num_play_params) return lives_osc_notify_failure(); + if (pnum < 0 || pnum >= mainw->vpp->num_play_params) return lives_osc_notify_failure(); - param=(weed_plant_t *)pp_get_param(mainw->vpp->play_params,pnum); + param = (weed_plant_t *)pp_get_param(mainw->vpp->play_params, pnum); - ptmpl=weed_get_plantptr_value(param,WEED_LEAF_TEMPLATE,&error); + ptmpl = weed_get_plantptr_value(param, WEED_LEAF_TEMPLATE, &error); - if (!weed_plant_has_leaf(ptmpl,WEED_LEAF_MIN)) { + if (!weed_plant_has_leaf(ptmpl, WEED_LEAF_MIN)) { return lives_osc_notify_failure(); } - msg=lives_osc_format_result(ptmpl,WEED_LEAF_MIN,0,-1); + msg = lives_osc_format_result(ptmpl, WEED_LEAF_MIN, 0, -1); lives_status_send(msg); lives_free(msg); @@ -5382,37 +5402,37 @@ char *msg; - if (!lives_osc_check_arguments(arglen,vargs,"iii",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); - mode=rte_key_getmode(effect_key); - } else { - lives_osc_check_arguments(arglen,vargs,"iii",TRUE); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&mode); - lives_osc_parse_int_argument(vargs,&pnum); - if (mode<1||mode>rte_key_getmaxmode(effect_key)+1) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "iii", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); + mode = rte_key_getmode(effect_key); + } else { + lives_osc_check_arguments(arglen, vargs, "iii", TRUE); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &mode); + lives_osc_parse_int_argument(vargs, &pnum); + if (mode < 1 || mode > rte_key_getmaxmode(effect_key) + 1) return lives_osc_notify_failure(); mode--; } - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,mode); - if (filter==NULL) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(effect_key, mode); + if (filter == NULL) return lives_osc_notify_failure(); - nparams=num_in_params(filter,FALSE,TRUE); - if (nparams==0) return lives_osc_notify_failure(); - if (pnum<0||pnum>=nparams) return lives_osc_notify_failure(); + nparams = num_in_params(filter, FALSE, TRUE); + if (nparams == 0) return lives_osc_notify_failure(); + if (pnum < 0 || pnum >= nparams) return lives_osc_notify_failure(); - ptmpl=weed_filter_in_paramtmpl(filter,pnum,TRUE); + ptmpl = weed_filter_in_paramtmpl(filter, pnum, TRUE); - if (!weed_plant_has_leaf(ptmpl,WEED_LEAF_MAX)) { + if (!weed_plant_has_leaf(ptmpl, WEED_LEAF_MAX)) { return lives_osc_notify_failure(); } - msg=lives_osc_format_result(ptmpl,WEED_LEAF_MAX,0,-1); + msg = lives_osc_format_result(ptmpl, WEED_LEAF_MAX, 0, -1); lives_status_send(msg); lives_free(msg); @@ -5427,47 +5447,47 @@ int mode; int pnum; - int error,nparams; + int error, nparams; weed_plant_t *filter; weed_plant_t **out_ptmpls; weed_plant_t *ptmpl; char *msg; - if (!lives_osc_check_arguments(arglen,vargs,"iii",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); - mode=rte_key_getmode(effect_key); - } else { - lives_osc_check_arguments(arglen,vargs,"iii",TRUE); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&mode); - lives_osc_parse_int_argument(vargs,&pnum); - if (mode<1||mode>rte_key_getmaxmode(effect_key)+1) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "iii", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); + mode = rte_key_getmode(effect_key); + } else { + lives_osc_check_arguments(arglen, vargs, "iii", TRUE); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &mode); + lives_osc_parse_int_argument(vargs, &pnum); + if (mode < 1 || mode > rte_key_getmaxmode(effect_key) + 1) return lives_osc_notify_failure(); mode--; } - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,mode); - if (filter==NULL) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(effect_key, mode); + if (filter == NULL) return lives_osc_notify_failure(); - if (!weed_plant_has_leaf(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES)) return lives_osc_notify_failure(); - nparams=weed_leaf_num_elements(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES); - if (pnum<0||pnum>=nparams) return lives_osc_notify_failure(); + if (!weed_plant_has_leaf(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES)) return lives_osc_notify_failure(); + nparams = weed_leaf_num_elements(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES); + if (pnum < 0 || pnum >= nparams) return lives_osc_notify_failure(); - out_ptmpls=weed_get_plantptr_array(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES,&error); + out_ptmpls = weed_get_plantptr_array(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES, &error); - ptmpl=out_ptmpls[pnum]; + ptmpl = out_ptmpls[pnum]; - if (!weed_plant_has_leaf(ptmpl,WEED_LEAF_MAX)) { + if (!weed_plant_has_leaf(ptmpl, WEED_LEAF_MAX)) { lives_free(out_ptmpls); return lives_osc_notify_failure(); } - msg=lives_osc_format_result(ptmpl,WEED_LEAF_MAX,0,-1); + msg = lives_osc_format_result(ptmpl, WEED_LEAF_MAX, 0, -1); lives_status_send(msg); lives_free(msg); @@ -5483,41 +5503,41 @@ int mode; int pnum; - int error,nparams; + int error, nparams; weed_plant_t *filter; weed_plant_t **out_ptmpls; weed_plant_t *ptmpl; - if (!lives_osc_check_arguments(arglen,vargs,"iii",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); - mode=rte_key_getmode(effect_key); - } else { - lives_osc_check_arguments(arglen,vargs,"iii",TRUE); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&mode); - lives_osc_parse_int_argument(vargs,&pnum); - if (mode<1||mode>rte_key_getmaxmode(effect_key)+1) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "iii", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); + mode = rte_key_getmode(effect_key); + } else { + lives_osc_check_arguments(arglen, vargs, "iii", TRUE); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &mode); + lives_osc_parse_int_argument(vargs, &pnum); + if (mode < 1 || mode > rte_key_getmaxmode(effect_key) + 1) return lives_osc_notify_failure(); mode--; } - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,mode); - if (filter==NULL) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(effect_key, mode); + if (filter == NULL) return lives_osc_notify_failure(); - if (!weed_plant_has_leaf(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES)) return lives_osc_notify_failure(); - nparams=weed_leaf_num_elements(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES); - if (pnum<0||pnum>=nparams) return lives_osc_notify_failure(); + if (!weed_plant_has_leaf(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES)) return lives_osc_notify_failure(); + nparams = weed_leaf_num_elements(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES); + if (pnum < 0 || pnum >= nparams) return lives_osc_notify_failure(); - out_ptmpls=weed_get_plantptr_array(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES,&error); + out_ptmpls = weed_get_plantptr_array(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES, &error); - ptmpl=out_ptmpls[pnum]; + ptmpl = out_ptmpls[pnum]; lives_free(out_ptmpls); - if (!weed_plant_has_leaf(ptmpl,WEED_LEAF_MAX)) return lives_status_send(get_omc_const("LIVES_FALSE")); + if (!weed_plant_has_leaf(ptmpl, WEED_LEAF_MAX)) return lives_status_send(get_omc_const("LIVES_FALSE")); else return lives_status_send(get_omc_const("LIVES_TRUE")); } @@ -5531,26 +5551,26 @@ int pnum; int error; - weed_plant_t *ptmpl,*param; + weed_plant_t *ptmpl, *param; char *msg; - if (!mainw->ext_playback||mainw->vpp->play_params==NULL) return lives_osc_notify_failure(); + if (!mainw->ext_playback || mainw->vpp->play_params == NULL) return lives_osc_notify_failure(); - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&pnum); + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &pnum); - if (pnum<0||pnum>=mainw->vpp->num_play_params) return lives_osc_notify_failure(); + if (pnum < 0 || pnum >= mainw->vpp->num_play_params) return lives_osc_notify_failure(); - param=(weed_plant_t *)pp_get_param(mainw->vpp->play_params,pnum); + param = (weed_plant_t *)pp_get_param(mainw->vpp->play_params, pnum); - ptmpl=weed_get_plantptr_value(param,WEED_LEAF_TEMPLATE,&error); + ptmpl = weed_get_plantptr_value(param, WEED_LEAF_TEMPLATE, &error); - if (!weed_plant_has_leaf(ptmpl,WEED_LEAF_MAX)) { + if (!weed_plant_has_leaf(ptmpl, WEED_LEAF_MAX)) { return lives_osc_notify_failure(); } - msg=lives_osc_format_result(ptmpl,WEED_LEAF_MAX,0,-1); + msg = lives_osc_format_result(ptmpl, WEED_LEAF_MAX, 0, -1); lives_status_send(msg); lives_free(msg); @@ -5564,7 +5584,7 @@ int effect_key; int mode; - int pnum,nvals; + int pnum, nvals; int nparams; weed_plant_t *filter; @@ -5572,41 +5592,41 @@ char *msg; - if (!lives_osc_check_arguments(arglen,vargs,"iii",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); - mode=rte_key_getmode(effect_key); - } else { - lives_osc_check_arguments(arglen,vargs,"iii",TRUE); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&mode); - lives_osc_parse_int_argument(vargs,&pnum); - if (mode<1||mode>rte_key_getmaxmode(effect_key)+1) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "iii", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); + mode = rte_key_getmode(effect_key); + } else { + lives_osc_check_arguments(arglen, vargs, "iii", TRUE); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &mode); + lives_osc_parse_int_argument(vargs, &pnum); + if (mode < 1 || mode > rte_key_getmaxmode(effect_key) + 1) return lives_osc_notify_failure(); mode--; } - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,mode); - if (filter==NULL) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(effect_key, mode); + if (filter == NULL) return lives_osc_notify_failure(); - nparams=num_in_params(filter,FALSE,TRUE); - if (nparams==0) return lives_osc_notify_failure(); - if (pnum<0||pnum>=nparams) return lives_osc_notify_failure(); + nparams = num_in_params(filter, FALSE, TRUE); + if (nparams == 0) return lives_osc_notify_failure(); + if (pnum < 0 || pnum >= nparams) return lives_osc_notify_failure(); - ptmpl=weed_filter_in_paramtmpl(filter,pnum,TRUE); + ptmpl = weed_filter_in_paramtmpl(filter, pnum, TRUE); - if (weed_plant_has_leaf(ptmpl,WEED_LEAF_HOST_DEFAULT)) { - msg=lives_osc_format_result(ptmpl,WEED_LEAF_HOST_DEFAULT,0,-1); + if (weed_plant_has_leaf(ptmpl, WEED_LEAF_HOST_DEFAULT)) { + msg = lives_osc_format_result(ptmpl, WEED_LEAF_HOST_DEFAULT, 0, -1); } else { - nvals=weed_leaf_num_elements(ptmpl,WEED_LEAF_DEFAULT); - if (nvals>0) - msg=lives_osc_format_result(ptmpl,WEED_LEAF_DEFAULT,0,nvals); + nvals = weed_leaf_num_elements(ptmpl, WEED_LEAF_DEFAULT); + if (nvals > 0) + msg = lives_osc_format_result(ptmpl, WEED_LEAF_DEFAULT, 0, nvals); else { // default can have 0 values if param has variable elements; in this case we use WEED_LEAF_NEW_DEFAULT - msg=lives_osc_format_result(ptmpl,WEED_LEAF_NEW_DEFAULT,0,-1); + msg = lives_osc_format_result(ptmpl, WEED_LEAF_NEW_DEFAULT, 0, -1); } } @@ -5622,57 +5642,57 @@ int effect_key; int mode; - int pnum,nvals; + int pnum, nvals; - int error,nparams; + int error, nparams; weed_plant_t *filter; weed_plant_t **out_ptmpls; weed_plant_t *ptmpl; char *msg; - if (!lives_osc_check_arguments(arglen,vargs,"iii",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); - mode=rte_key_getmode(effect_key); - } else { - lives_osc_check_arguments(arglen,vargs,"iii",TRUE); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&mode); - lives_osc_parse_int_argument(vargs,&pnum); - if (mode<1||mode>rte_key_getmaxmode(effect_key)+1) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "iii", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); + mode = rte_key_getmode(effect_key); + } else { + lives_osc_check_arguments(arglen, vargs, "iii", TRUE); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &mode); + lives_osc_parse_int_argument(vargs, &pnum); + if (mode < 1 || mode > rte_key_getmaxmode(effect_key) + 1) return lives_osc_notify_failure(); mode--; } - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,mode); - if (filter==NULL) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(effect_key, mode); + if (filter == NULL) return lives_osc_notify_failure(); - if (!weed_plant_has_leaf(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES)) return lives_osc_notify_failure(); - nparams=weed_leaf_num_elements(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES); - if (pnum<0||pnum>=nparams) return lives_osc_notify_failure(); + if (!weed_plant_has_leaf(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES)) return lives_osc_notify_failure(); + nparams = weed_leaf_num_elements(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES); + if (pnum < 0 || pnum >= nparams) return lives_osc_notify_failure(); - out_ptmpls=weed_get_plantptr_array(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES,&error); + out_ptmpls = weed_get_plantptr_array(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES, &error); - ptmpl=out_ptmpls[pnum]; + ptmpl = out_ptmpls[pnum]; - if (weed_plant_has_leaf(ptmpl,WEED_LEAF_HOST_DEFAULT)) { - msg=lives_osc_format_result(ptmpl,WEED_LEAF_HOST_DEFAULT,0,-1); + if (weed_plant_has_leaf(ptmpl, WEED_LEAF_HOST_DEFAULT)) { + msg = lives_osc_format_result(ptmpl, WEED_LEAF_HOST_DEFAULT, 0, -1); } else { - if (!weed_plant_has_leaf(ptmpl,WEED_LEAF_DEFAULT)) { + if (!weed_plant_has_leaf(ptmpl, WEED_LEAF_DEFAULT)) { lives_free(out_ptmpls); return lives_osc_notify_failure(); } - nvals=weed_leaf_num_elements(ptmpl,WEED_LEAF_DEFAULT); - if (nvals>0) - msg=lives_osc_format_result(ptmpl,WEED_LEAF_DEFAULT,0,nvals); + nvals = weed_leaf_num_elements(ptmpl, WEED_LEAF_DEFAULT); + if (nvals > 0) + msg = lives_osc_format_result(ptmpl, WEED_LEAF_DEFAULT, 0, nvals); else { // default can have 0 values if param has variable elements; in this case we use WEED_LEAF_NEW_DEFAULT - msg=lives_osc_format_result(ptmpl,WEED_LEAF_NEW_DEFAULT,0,-1); + msg = lives_osc_format_result(ptmpl, WEED_LEAF_NEW_DEFAULT, 0, -1); } } @@ -5695,38 +5715,38 @@ weed_plant_t *filter; weed_plant_t *ptmpl; - if (!lives_osc_check_arguments(arglen,vargs,"iii",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); - mode=rte_key_getmode(effect_key); - } else { - lives_osc_check_arguments(arglen,vargs,"iii",TRUE); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&mode); - lives_osc_parse_int_argument(vargs,&pnum); - if (mode<1||mode>rte_key_getmaxmode(effect_key)+1) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "iii", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); + mode = rte_key_getmode(effect_key); + } else { + lives_osc_check_arguments(arglen, vargs, "iii", TRUE); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &mode); + lives_osc_parse_int_argument(vargs, &pnum); + if (mode < 1 || mode > rte_key_getmaxmode(effect_key) + 1) return lives_osc_notify_failure(); mode--; } - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,mode); - if (filter==NULL) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(effect_key, mode); + if (filter == NULL) return lives_osc_notify_failure(); - nparams=num_in_params(filter,FALSE,TRUE); - if (nparams==0) return lives_osc_notify_failure(); - if (pnum<0||pnum>=nparams) return lives_osc_notify_failure(); + nparams = num_in_params(filter, FALSE, TRUE); + if (nparams == 0) return lives_osc_notify_failure(); + if (pnum < 0 || pnum >= nparams) return lives_osc_notify_failure(); - ptmpl=weed_filter_in_paramtmpl(filter,pnum,TRUE); + ptmpl = weed_filter_in_paramtmpl(filter, pnum, TRUE); - if (weed_plant_has_leaf(ptmpl,WEED_LEAF_HOST_DEFAULT)) { - if (weed_leaf_num_elements(ptmpl,WEED_LEAF_HOST_DEFAULT)==0) return lives_status_send(get_omc_const("LIVES_FALSE")); + if (weed_plant_has_leaf(ptmpl, WEED_LEAF_HOST_DEFAULT)) { + if (weed_leaf_num_elements(ptmpl, WEED_LEAF_HOST_DEFAULT) == 0) return lives_status_send(get_omc_const("LIVES_FALSE")); return lives_status_send(get_omc_const("LIVES_DEFAULT_OVERRIDDEN")); } - if (!weed_plant_has_leaf(ptmpl,WEED_LEAF_DEFAULT)|| - weed_leaf_num_elements(ptmpl,WEED_LEAF_DEFAULT)==0) return lives_status_send(get_omc_const("LIVES_FALSE")); + if (!weed_plant_has_leaf(ptmpl, WEED_LEAF_DEFAULT) || + weed_leaf_num_elements(ptmpl, WEED_LEAF_DEFAULT) == 0) return lives_status_send(get_omc_const("LIVES_FALSE")); else return lives_status_send(get_omc_const("LIVES_TRUE")); } @@ -5739,42 +5759,42 @@ int mode; int pnum; - int error,nparams; + int error, nparams; weed_plant_t *filter; weed_plant_t **out_ptmpls; weed_plant_t *ptmpl; - if (!lives_osc_check_arguments(arglen,vargs,"iii",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); - mode=rte_key_getmode(effect_key); - } else { - lives_osc_check_arguments(arglen,vargs,"iii",TRUE); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&mode); - lives_osc_parse_int_argument(vargs,&pnum); - if (mode<1||mode>rte_key_getmaxmode(effect_key)+1) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "iii", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); + mode = rte_key_getmode(effect_key); + } else { + lives_osc_check_arguments(arglen, vargs, "iii", TRUE); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &mode); + lives_osc_parse_int_argument(vargs, &pnum); + if (mode < 1 || mode > rte_key_getmaxmode(effect_key) + 1) return lives_osc_notify_failure(); mode--; } - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,mode); - if (filter==NULL) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(effect_key, mode); + if (filter == NULL) return lives_osc_notify_failure(); - if (!weed_plant_has_leaf(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES)) return lives_osc_notify_failure(); - nparams=weed_leaf_num_elements(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES); - if (pnum<0||pnum>=nparams) return lives_osc_notify_failure(); + if (!weed_plant_has_leaf(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES)) return lives_osc_notify_failure(); + nparams = weed_leaf_num_elements(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES); + if (pnum < 0 || pnum >= nparams) return lives_osc_notify_failure(); - out_ptmpls=weed_get_plantptr_array(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES,&error); + out_ptmpls = weed_get_plantptr_array(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES, &error); - ptmpl=out_ptmpls[pnum]; + ptmpl = out_ptmpls[pnum]; lives_free(out_ptmpls); - if (!weed_plant_has_leaf(ptmpl,WEED_LEAF_HOST_DEFAULT)&& - !weed_plant_has_leaf(ptmpl,WEED_LEAF_DEFAULT)) return lives_status_send(get_omc_const("LIVES_FALSE")); + if (!weed_plant_has_leaf(ptmpl, WEED_LEAF_HOST_DEFAULT) && + !weed_plant_has_leaf(ptmpl, WEED_LEAF_DEFAULT)) return lives_status_send(get_omc_const("LIVES_FALSE")); else return lives_status_send(get_omc_const("LIVES_TRUE")); } @@ -5786,7 +5806,7 @@ NetworkReturnAddressPtr ra) { // default for playback plugin param - int pnum,nvals; + int pnum, nvals; int error; weed_plant_t *param; @@ -5794,25 +5814,25 @@ char *msg; - if (!mainw->ext_playback||mainw->vpp->play_params==NULL) return lives_osc_notify_failure(); + if (!mainw->ext_playback || mainw->vpp->play_params == NULL) return lives_osc_notify_failure(); - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&pnum); + lives_osc_parse_int_argument(vargs, &pnum); - if (pnum<0||pnum>=mainw->vpp->num_play_params) return lives_osc_notify_failure(); + if (pnum < 0 || pnum >= mainw->vpp->num_play_params) return lives_osc_notify_failure(); - param=(weed_plant_t *)pp_get_param(mainw->vpp->play_params,pnum); + param = (weed_plant_t *)pp_get_param(mainw->vpp->play_params, pnum); - ptmpl=weed_get_plantptr_value(param,WEED_LEAF_TEMPLATE,&error); + ptmpl = weed_get_plantptr_value(param, WEED_LEAF_TEMPLATE, &error); - nvals=weed_leaf_num_elements(ptmpl,WEED_LEAF_DEFAULT); - if (nvals>0) - msg=lives_osc_format_result(ptmpl,WEED_LEAF_DEFAULT,0,nvals); + nvals = weed_leaf_num_elements(ptmpl, WEED_LEAF_DEFAULT); + if (nvals > 0) + msg = lives_osc_format_result(ptmpl, WEED_LEAF_DEFAULT, 0, nvals); else { // default can have 0 values if param has variable elements; in this case we use WEED_LEAF_NEW_DEFAULT - msg=lives_osc_format_result(ptmpl,WEED_LEAF_NEW_DEFAULT,0,-1); + msg = lives_osc_format_result(ptmpl, WEED_LEAF_NEW_DEFAULT, 0, -1); } lives_status_send(msg); @@ -5828,55 +5848,55 @@ NetworkReturnAddressPtr ra) { int effect_key; - int pnum,st=0,end=1,hint,cspace; + int pnum, st = 0, end = 1, hint, cspace; - int error,nparams; - weed_plant_t *inst,*filter; - weed_plant_t *param,*ptmpl; + int error, nparams; + weed_plant_t *inst, *filter; + weed_plant_t *param, *ptmpl; char *msg; - if (lives_osc_check_arguments(arglen,vargs,"ii",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"ii",TRUE); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); - } else { - if (!lives_osc_check_arguments(arglen,vargs,"iii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); - lives_osc_parse_int_argument(vargs,&st); - end=st+1; + if (lives_osc_check_arguments(arglen, vargs, "ii", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "ii", TRUE); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); + } else { + if (!lives_osc_check_arguments(arglen, vargs, "iii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); + lives_osc_parse_int_argument(vargs, &st); + end = st + 1; } - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,rte_key_getmode(effect_key)); - if (filter==NULL) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(effect_key, rte_key_getmode(effect_key)); + if (filter == NULL) return lives_osc_notify_failure(); - filter=rte_keymode_get_filter(effect_key,rte_key_getmode(effect_key)); - inst=rte_keymode_get_instance(effect_key,rte_key_getmode(effect_key)); + filter = rte_keymode_get_filter(effect_key, rte_key_getmode(effect_key)); + inst = rte_keymode_get_instance(effect_key, rte_key_getmode(effect_key)); - if (inst==NULL) return lives_osc_notify_failure(); + if (inst == NULL) return lives_osc_notify_failure(); - nparams=num_in_params(filter,FALSE,TRUE); - if (nparams==0) return lives_osc_notify_failure(); - if (pnum<0||pnum>=nparams) return lives_osc_notify_failure(); + nparams = num_in_params(filter, FALSE, TRUE); + if (nparams == 0) return lives_osc_notify_failure(); + if (pnum < 0 || pnum >= nparams) return lives_osc_notify_failure(); - param=weed_inst_in_param(inst,pnum,FALSE,TRUE); - ptmpl=weed_get_plantptr_value(param,WEED_LEAF_TEMPLATE,&error); + param = weed_inst_in_param(inst, pnum, FALSE, TRUE); + ptmpl = weed_get_plantptr_value(param, WEED_LEAF_TEMPLATE, &error); - hint=weed_get_int_value(ptmpl,WEED_LEAF_HINT,&error); - if (hint==WEED_HINT_COLOR) { - int valsize=4; - cspace=weed_get_int_value(ptmpl,WEED_LEAF_COLORSPACE,&error); - if (cspace==WEED_COLORSPACE_RGB) valsize=3; - st*=valsize; - end=st+valsize; + hint = weed_get_int_value(ptmpl, WEED_LEAF_HINT, &error); + if (hint == WEED_HINT_COLOR) { + int valsize = 4; + cspace = weed_get_int_value(ptmpl, WEED_LEAF_COLORSPACE, &error); + if (cspace == WEED_COLORSPACE_RGB) valsize = 3; + st *= valsize; + end = st + valsize; } - if (end>weed_leaf_num_elements(param,WEED_LEAF_VALUE)) return lives_osc_notify_failure(); + if (end > weed_leaf_num_elements(param, WEED_LEAF_VALUE)) return lives_osc_notify_failure(); - msg=lives_osc_format_result(param,WEED_LEAF_VALUE,st,end); + msg = lives_osc_format_result(param, WEED_LEAF_VALUE, st, end); lives_status_send(msg); lives_free(msg); @@ -5889,65 +5909,65 @@ NetworkReturnAddressPtr ra) { int effect_key; - int pnum,st=0,end=1,hint,cspace; + int pnum, st = 0, end = 1, hint, cspace; - int error,nparams; - weed_plant_t *inst,*filter; - weed_plant_t **out_params,**out_ptmpls; - weed_plant_t *param,*ptmpl; + int error, nparams; + weed_plant_t *inst, *filter; + weed_plant_t **out_params, **out_ptmpls; + weed_plant_t *param, *ptmpl; char *msg; - if (lives_osc_check_arguments(arglen,vargs,"ii",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"ii",TRUE); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); - } else { - if (!lives_osc_check_arguments(arglen,vargs,"iii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); - lives_osc_parse_int_argument(vargs,&st); - end=st+1; + if (lives_osc_check_arguments(arglen, vargs, "ii", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "ii", TRUE); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); + } else { + if (!lives_osc_check_arguments(arglen, vargs, "iii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); + lives_osc_parse_int_argument(vargs, &st); + end = st + 1; } - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,rte_key_getmode(effect_key)); - if (filter==NULL) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(effect_key, rte_key_getmode(effect_key)); + if (filter == NULL) return lives_osc_notify_failure(); - if (!weed_plant_has_leaf(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES)) return lives_osc_notify_failure(); - nparams=weed_leaf_num_elements(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES); - if (pnum<0||pnum>=nparams) return lives_osc_notify_failure(); + if (!weed_plant_has_leaf(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES)) return lives_osc_notify_failure(); + nparams = weed_leaf_num_elements(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES); + if (pnum < 0 || pnum >= nparams) return lives_osc_notify_failure(); - inst=rte_keymode_get_instance(effect_key,rte_key_getmode(effect_key)); - if (inst==NULL) return lives_osc_notify_failure(); + inst = rte_keymode_get_instance(effect_key, rte_key_getmode(effect_key)); + if (inst == NULL) return lives_osc_notify_failure(); - out_ptmpls=weed_get_plantptr_array(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES,&error); + out_ptmpls = weed_get_plantptr_array(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES, &error); - ptmpl=out_ptmpls[pnum]; + ptmpl = out_ptmpls[pnum]; - out_params=weed_get_plantptr_array(inst,WEED_LEAF_OUT_PARAMETERS,&error); + out_params = weed_get_plantptr_array(inst, WEED_LEAF_OUT_PARAMETERS, &error); - param=out_params[pnum]; + param = out_params[pnum]; lives_free(out_ptmpls); lives_free(out_params); - hint=weed_get_int_value(ptmpl,WEED_LEAF_HINT,&error); - if (hint==WEED_HINT_COLOR) { - int valsize=4; - cspace=weed_get_int_value(ptmpl,WEED_LEAF_COLORSPACE,&error); - if (cspace==WEED_COLORSPACE_RGB) valsize=3; - st*=valsize; - end=st+valsize; + hint = weed_get_int_value(ptmpl, WEED_LEAF_HINT, &error); + if (hint == WEED_HINT_COLOR) { + int valsize = 4; + cspace = weed_get_int_value(ptmpl, WEED_LEAF_COLORSPACE, &error); + if (cspace == WEED_COLORSPACE_RGB) valsize = 3; + st *= valsize; + end = st + valsize; } - if (end>weed_leaf_num_elements(param,WEED_LEAF_VALUE)) return lives_osc_notify_failure(); + if (end > weed_leaf_num_elements(param, WEED_LEAF_VALUE)) return lives_osc_notify_failure(); - filter_mutex_lock(effect_key-1); + filter_mutex_lock(effect_key - 1); - msg=lives_osc_format_result(param,WEED_LEAF_VALUE,st,end); - filter_mutex_unlock(effect_key-1); + msg = lives_osc_format_result(param, WEED_LEAF_VALUE, st, end); + filter_mutex_unlock(effect_key - 1); lives_status_send(msg); lives_free(msg); @@ -5961,40 +5981,40 @@ boolean lives_osc_cb_rte_getpparamval(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { // playback plugin param value - int pnum,st=0,end=1,hint,cspace; + int pnum, st = 0, end = 1, hint, cspace; int error; - weed_plant_t *param,*ptmpl; + weed_plant_t *param, *ptmpl; char *msg; - if (!mainw->ext_playback||mainw->vpp->play_params==NULL) return lives_osc_notify_failure(); + if (!mainw->ext_playback || mainw->vpp->play_params == NULL) return lives_osc_notify_failure(); - if (lives_osc_check_arguments(arglen,vargs,"i",FALSE)) { - lives_osc_check_arguments(arglen,vargs,"i",TRUE); - lives_osc_parse_int_argument(vargs,&pnum); + if (lives_osc_check_arguments(arglen, vargs, "i", FALSE)) { + lives_osc_check_arguments(arglen, vargs, "i", TRUE); + lives_osc_parse_int_argument(vargs, &pnum); } else { - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&pnum); - lives_osc_parse_int_argument(vargs,&st); - end=st+1; + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &pnum); + lives_osc_parse_int_argument(vargs, &st); + end = st + 1; } - param=(weed_plant_t *)pp_get_param(mainw->vpp->play_params,pnum); + param = (weed_plant_t *)pp_get_param(mainw->vpp->play_params, pnum); - ptmpl=weed_get_plantptr_value(param,WEED_LEAF_TEMPLATE,&error); + ptmpl = weed_get_plantptr_value(param, WEED_LEAF_TEMPLATE, &error); - hint=weed_get_int_value(ptmpl,WEED_LEAF_HINT,&error); - if (hint==WEED_HINT_COLOR) { - int valsize=4; - cspace=weed_get_int_value(ptmpl,WEED_LEAF_COLORSPACE,&error); - if (cspace==WEED_COLORSPACE_RGB) valsize=3; - st*=valsize; - end=st+valsize; + hint = weed_get_int_value(ptmpl, WEED_LEAF_HINT, &error); + if (hint == WEED_HINT_COLOR) { + int valsize = 4; + cspace = weed_get_int_value(ptmpl, WEED_LEAF_COLORSPACE, &error); + if (cspace == WEED_COLORSPACE_RGB) valsize = 3; + st *= valsize; + end = st + valsize; } - if (end>weed_leaf_num_elements(param,WEED_LEAF_VALUE)) return lives_osc_notify_failure(); + if (end > weed_leaf_num_elements(param, WEED_LEAF_VALUE)) return lives_osc_notify_failure(); - msg=lives_osc_format_result(param,WEED_LEAF_VALUE,st,end); + msg = lives_osc_format_result(param, WEED_LEAF_VALUE, st, end); lives_status_send(msg); lives_free(msg); @@ -6006,7 +6026,7 @@ boolean lives_osc_cb_rte_getnparam(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { int effect_key; - int pnum,i; + int pnum, i; // pick pnum which is numeric single valued, non-reinit // i.e. simple numeric parameter @@ -6022,32 +6042,32 @@ char *msg; - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,rte_key_getmode(effect_key)); - if (filter==NULL) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(effect_key, rte_key_getmode(effect_key)); + if (filter == NULL) return lives_osc_notify_failure(); - i=get_nth_simple_param(filter,pnum); + i = get_nth_simple_param(filter, pnum); - if (i==-1) return lives_osc_notify_failure(); + if (i == -1) return lives_osc_notify_failure(); - in_ptmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); + in_ptmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); - ptmpl=in_ptmpls[i]; - hint=weed_get_int_value(ptmpl,WEED_LEAF_HINT,&error); + ptmpl = in_ptmpls[i]; + hint = weed_get_int_value(ptmpl, WEED_LEAF_HINT, &error); - if (hint==WEED_HINT_INTEGER) { - vali=weed_get_int_value(ptmpl,WEED_LEAF_VALUE,&error); - msg=lives_strdup_printf("%d",vali); + if (hint == WEED_HINT_INTEGER) { + vali = weed_get_int_value(ptmpl, WEED_LEAF_VALUE, &error); + msg = lives_strdup_printf("%d", vali); } else { - vald=weed_get_double_value(ptmpl,WEED_LEAF_VALUE,&error); - msg=lives_strdup_printf("%f",vald); + vald = weed_get_double_value(ptmpl, WEED_LEAF_VALUE, &error); + msg = lives_strdup_printf("%f", vald); } lives_status_send(msg); lives_free(msg); @@ -6061,7 +6081,7 @@ boolean lives_osc_cb_rte_getnparammin(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { int effect_key; - int pnum,i; + int pnum, i; // pick pnum which is numeric single valued, non-reinit // i.e. simple numeric parameter @@ -6077,32 +6097,32 @@ char *msg; - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,rte_key_getmode(effect_key)); - if (filter==NULL) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(effect_key, rte_key_getmode(effect_key)); + if (filter == NULL) return lives_osc_notify_failure(); - i=get_nth_simple_param(filter,pnum); + i = get_nth_simple_param(filter, pnum); - if (i==-1) return lives_osc_notify_failure(); + if (i == -1) return lives_osc_notify_failure(); - in_ptmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); + in_ptmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); - ptmpl=in_ptmpls[i]; - hint=weed_get_int_value(ptmpl,WEED_LEAF_HINT,&error); + ptmpl = in_ptmpls[i]; + hint = weed_get_int_value(ptmpl, WEED_LEAF_HINT, &error); - if (hint==WEED_HINT_INTEGER) { - vali=weed_get_int_value(ptmpl,WEED_LEAF_MIN,&error); - msg=lives_strdup_printf("%d",vali); + if (hint == WEED_HINT_INTEGER) { + vali = weed_get_int_value(ptmpl, WEED_LEAF_MIN, &error); + msg = lives_strdup_printf("%d", vali); } else { - vald=weed_get_double_value(ptmpl,WEED_LEAF_MIN,&error); - msg=lives_strdup_printf("%f",vald); + vald = weed_get_double_value(ptmpl, WEED_LEAF_MIN, &error); + msg = lives_strdup_printf("%f", vald); } lives_status_send(msg); lives_free(msg); @@ -6116,7 +6136,7 @@ boolean lives_osc_cb_rte_getnparammax(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { int effect_key; - int pnum,i; + int pnum, i; // pick pnum which is numeric single valued, non-reinit // i.e. simple numeric parameter @@ -6132,32 +6152,32 @@ char *msg; - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,rte_key_getmode(effect_key)); - if (filter==NULL) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(effect_key, rte_key_getmode(effect_key)); + if (filter == NULL) return lives_osc_notify_failure(); - i=get_nth_simple_param(filter,pnum); + i = get_nth_simple_param(filter, pnum); - if (i==-1) return lives_osc_notify_failure(); + if (i == -1) return lives_osc_notify_failure(); - in_ptmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); + in_ptmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); - ptmpl=in_ptmpls[i]; - hint=weed_get_int_value(ptmpl,WEED_LEAF_HINT,&error); + ptmpl = in_ptmpls[i]; + hint = weed_get_int_value(ptmpl, WEED_LEAF_HINT, &error); - if (hint==WEED_HINT_INTEGER) { - vali=weed_get_int_value(ptmpl,WEED_LEAF_MAX,&error); - msg=lives_strdup_printf("%d",vali); + if (hint == WEED_HINT_INTEGER) { + vali = weed_get_int_value(ptmpl, WEED_LEAF_MAX, &error); + msg = lives_strdup_printf("%d", vali); } else { - vald=weed_get_double_value(ptmpl,WEED_LEAF_MAX,&error); - msg=lives_strdup_printf("%f",vald); + vald = weed_get_double_value(ptmpl, WEED_LEAF_MAX, &error); + msg = lives_strdup_printf("%f", vald); } lives_status_send(msg); lives_free(msg); @@ -6169,7 +6189,7 @@ boolean lives_osc_cb_rte_getnparamdef(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { int effect_key; - int pnum,i; + int pnum, i; // pick pnum which is numeric single valued, non-reinit // i.e. simple numeric parameter @@ -6185,34 +6205,34 @@ char *msg; - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,rte_key_getmode(effect_key)); - if (filter==NULL) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(effect_key, rte_key_getmode(effect_key)); + if (filter == NULL) return lives_osc_notify_failure(); - i=get_nth_simple_param(filter,pnum); + i = get_nth_simple_param(filter, pnum); - if (i==-1) return lives_osc_notify_failure(); + if (i == -1) return lives_osc_notify_failure(); - in_ptmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); + in_ptmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); - ptmpl=in_ptmpls[i]; - hint=weed_get_int_value(ptmpl,WEED_LEAF_HINT,&error); + ptmpl = in_ptmpls[i]; + hint = weed_get_int_value(ptmpl, WEED_LEAF_HINT, &error); - if (hint==WEED_HINT_INTEGER) { - if (!weed_plant_has_leaf(ptmpl,WEED_LEAF_HOST_DEFAULT)) vali=weed_get_int_value(ptmpl,WEED_LEAF_DEFAULT,&error); - else vali=weed_get_int_value(ptmpl,WEED_LEAF_HOST_DEFAULT,&error); - msg=lives_strdup_printf("%d",vali); + if (hint == WEED_HINT_INTEGER) { + if (!weed_plant_has_leaf(ptmpl, WEED_LEAF_HOST_DEFAULT)) vali = weed_get_int_value(ptmpl, WEED_LEAF_DEFAULT, &error); + else vali = weed_get_int_value(ptmpl, WEED_LEAF_HOST_DEFAULT, &error); + msg = lives_strdup_printf("%d", vali); } else { - if (!weed_plant_has_leaf(ptmpl,WEED_LEAF_HOST_DEFAULT)) vald=weed_get_double_value(ptmpl,WEED_LEAF_DEFAULT,&error); - else vald=weed_get_double_value(ptmpl,WEED_LEAF_HOST_DEFAULT,&error); - msg=lives_strdup_printf("%f",vald); + if (!weed_plant_has_leaf(ptmpl, WEED_LEAF_HOST_DEFAULT)) vald = weed_get_double_value(ptmpl, WEED_LEAF_DEFAULT, &error); + else vald = weed_get_double_value(ptmpl, WEED_LEAF_HOST_DEFAULT, &error); + msg = lives_strdup_printf("%f", vald); } lives_status_send(msg); @@ -6233,27 +6253,27 @@ weed_plant_t *filter; int nparams; - boolean res=FALSE; + boolean res = FALSE; char *msg; - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,rte_key_getmode(effect_key)); - if (filter==NULL) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(effect_key, rte_key_getmode(effect_key)); + if (filter == NULL) return lives_osc_notify_failure(); - nparams=num_in_params(filter,FALSE,TRUE); - if (pnum<0||pnum>=nparams) return lives_osc_notify_failure(); + nparams = num_in_params(filter, FALSE, TRUE); + if (pnum < 0 || pnum >= nparams) return lives_osc_notify_failure(); - if (pnum==get_transition_param(filter,TRUE)) res=TRUE; + if (pnum == get_transition_param(filter, TRUE)) res = TRUE; - msg=lives_strdup_printf("%d",res); + msg = lives_strdup_printf("%d", res); lives_status_send(msg); lives_free(msg); @@ -6274,38 +6294,39 @@ weed_plant_t *ptmpl; int nparams; - boolean res=FALSE; + boolean res = FALSE; char *msg; - if (!lives_osc_check_arguments(arglen,vargs,"iii",FALSE)) { - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&pnum); - mode=rte_key_getmode(effect_key); - } else { - lives_osc_check_arguments(arglen,vargs,"iii",TRUE); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&mode); - lives_osc_parse_int_argument(vargs,&pnum); - if (mode<1||mode>rte_key_getmaxmode(effect_key)+1) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "iii", FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &pnum); + mode = rte_key_getmode(effect_key); + } else { + lives_osc_check_arguments(arglen, vargs, "iii", TRUE); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &mode); + lives_osc_parse_int_argument(vargs, &pnum); + if (mode < 1 || mode > rte_key_getmaxmode(effect_key) + 1) return lives_osc_notify_failure(); mode--; } - if (effect_key<1||effect_key>FX_MAX) return lives_osc_notify_failure(); + if (effect_key < 1 || effect_key > FX_MAX) return lives_osc_notify_failure(); //g_print("key %d pnum %d",effect_key,pnum); - filter=rte_keymode_get_filter(effect_key,mode); - if (filter==NULL) return lives_osc_notify_failure(); - - nparams=num_in_params(filter,FALSE,TRUE); - if (nparams==0) return lives_osc_notify_failure(); - if (pnum<0||pnum>=nparams) return lives_osc_notify_failure(); - - ptmpl=weed_filter_in_paramtmpl(filter,pnum,TRUE); + filter = rte_keymode_get_filter(effect_key, mode); + if (filter == NULL) return lives_osc_notify_failure(); - if (weed_plant_has_leaf(ptmpl,WEED_LEAF_TRANSITION)&&weed_get_boolean_value(ptmpl,WEED_LEAF_TRANSITION,&error)==WEED_TRUE) res=TRUE; - msg=lives_strdup_printf("%d",res); + nparams = num_in_params(filter, FALSE, TRUE); + if (nparams == 0) return lives_osc_notify_failure(); + if (pnum < 0 || pnum >= nparams) return lives_osc_notify_failure(); + + ptmpl = weed_filter_in_paramtmpl(filter, pnum, TRUE); + + if (weed_plant_has_leaf(ptmpl, WEED_LEAF_TRANSITION) && + weed_get_boolean_value(ptmpl, WEED_LEAF_TRANSITION, &error) == WEED_TRUE) res = TRUE; + msg = lives_strdup_printf("%d", res); lives_status_send(msg); lives_free(msg); @@ -6318,14 +6339,14 @@ int effect_key; - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); - if (effect_key<1||effect_key>FX_MAX) { + if (effect_key < 1 || effect_key > FX_MAX) { return lives_status_send("0"); } - lives_status_send((tmp=lives_strdup_printf("%d",rte_key_getmode(effect_key)+1))); + lives_status_send((tmp = lives_strdup_printf("%d", rte_key_getmode(effect_key) + 1))); lives_free(tmp); return TRUE; @@ -6335,13 +6356,13 @@ boolean lives_osc_cb_rte_getstate(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { int effect_key; - if (!lives_osc_check_arguments(arglen,vargs,"i",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); + if (!lives_osc_check_arguments(arglen, vargs, "i", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); - if (effect_key<1||effect_key>FX_KEYS_MAX_VIRTUAL) { + if (effect_key < 1 || effect_key > FX_KEYS_MAX_VIRTUAL) { return lives_status_send(get_omc_const("LIVES_FALSE")); } - if (rte_keymode_get_instance(effect_key,rte_key_getmode(effect_key))==NULL) return lives_status_send(get_omc_const("LIVES_FALSE")); + if (rte_keymode_get_instance(effect_key, rte_key_getmode(effect_key)) == NULL) return lives_status_send(get_omc_const("LIVES_FALSE")); else return lives_status_send(get_omc_const("LIVES_TRUE")); } @@ -6352,11 +6373,11 @@ int mode; char *tmp; - if (!lives_osc_check_arguments(arglen,vargs,"ii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&effect_key); - lives_osc_parse_int_argument(vargs,&mode); - if (effect_key<1||effect_key>FX_MAX||mode<1||mode>rte_getmodespk()) return lives_osc_notify_failure(); - lives_status_send((tmp=lives_strdup_printf("%s",rte_keymode_get_filter_name(effect_key,mode-1)))); + if (!lives_osc_check_arguments(arglen, vargs, "ii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &effect_key); + lives_osc_parse_int_argument(vargs, &mode); + if (effect_key < 1 || effect_key > FX_MAX || mode < 1 || mode > rte_getmodespk()) return lives_osc_notify_failure(); + lives_status_send((tmp = lives_strdup_printf("%s", rte_keymode_get_filter_name(effect_key, mode - 1)))); lives_free(tmp); return TRUE; } @@ -6367,23 +6388,23 @@ int effect_key; char *tmp; - if (!lives_osc_check_arguments(arglen,vargs,"i",FALSE)) { - if (lives_osc_check_arguments(arglen,vargs,"",TRUE)) { - lives_status_send((tmp=lives_strdup_printf("%d",rte_getmodespk()))); + if (!lives_osc_check_arguments(arglen, vargs, "i", FALSE)) { + if (lives_osc_check_arguments(arglen, vargs, "", TRUE)) { + lives_status_send((tmp = lives_strdup_printf("%d", rte_getmodespk()))); lives_free(tmp); return TRUE; } return lives_osc_notify_failure(); } - lives_osc_check_arguments(arglen,vargs,"i",TRUE); - lives_osc_parse_int_argument(vargs,&effect_key); + lives_osc_check_arguments(arglen, vargs, "i", TRUE); + lives_osc_parse_int_argument(vargs, &effect_key); - if (effect_key>FX_KEYS_MAX_VIRTUAL||effect_key<1) { + if (effect_key > FX_KEYS_MAX_VIRTUAL || effect_key < 1) { return lives_status_send("0"); } - lives_status_send((tmp=lives_strdup_printf("%d",rte_key_getmaxmode(effect_key)+1))); + lives_status_send((tmp = lives_strdup_printf("%d", rte_key_getmaxmode(effect_key) + 1))); lives_free(tmp); return TRUE; @@ -6392,101 +6413,101 @@ boolean lives_osc_cb_rte_addpconnection(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - weed_plant_t *ofilter,*ifilter; + weed_plant_t *ofilter, *ifilter; - int key0,mode0,pnum0; - int key1,mode1,pnum1; + int key0, mode0, pnum0; + int key1, mode1, pnum1; int autoscale; - if (!lives_osc_check_arguments(arglen,vargs,"iiiiiii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&key0); - lives_osc_parse_int_argument(vargs,&mode0); - lives_osc_parse_int_argument(vargs,&pnum0); + if (!lives_osc_check_arguments(arglen, vargs, "iiiiiii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &key0); + lives_osc_parse_int_argument(vargs, &mode0); + lives_osc_parse_int_argument(vargs, &pnum0); - lives_osc_parse_int_argument(vargs,&autoscale); + lives_osc_parse_int_argument(vargs, &autoscale); - lives_osc_parse_int_argument(vargs,&key1); - lives_osc_parse_int_argument(vargs,&mode1); - lives_osc_parse_int_argument(vargs,&pnum1); + lives_osc_parse_int_argument(vargs, &key1); + lives_osc_parse_int_argument(vargs, &mode1); + lives_osc_parse_int_argument(vargs, &pnum1); - if (key0<1||key0>=FX_KEYS_MAX_VIRTUAL||mode0<1||mode0>rte_getmodespk()) return lives_osc_notify_failure(); - if (key1<-2||key1==0||key1>=FX_KEYS_MAX_VIRTUAL||mode1<1||mode1>rte_getmodespk()) return lives_osc_notify_failure(); + if (key0 < 1 || key0 >= FX_KEYS_MAX_VIRTUAL || mode0 < 1 || mode0 > rte_getmodespk()) return lives_osc_notify_failure(); + if (key1 < -2 || key1 == 0 || key1 >= FX_KEYS_MAX_VIRTUAL || mode1 < 1 || mode1 > rte_getmodespk()) return lives_osc_notify_failure(); - if (key0==key1) lives_osc_notify_failure(); + if (key0 == key1) lives_osc_notify_failure(); - if (autoscale!=TRUE&&autoscale!=FALSE) lives_osc_notify_failure(); + if (autoscale != TRUE && autoscale != FALSE) lives_osc_notify_failure(); mode0--; mode1--; - ofilter=rte_keymode_get_filter(key0,mode0); - if (ofilter==NULL) return lives_osc_notify_failure(); + ofilter = rte_keymode_get_filter(key0, mode0); + if (ofilter == NULL) return lives_osc_notify_failure(); - if (pnum0>=num_out_params(ofilter)) return lives_osc_notify_failure(); + if (pnum0 >= num_out_params(ofilter)) return lives_osc_notify_failure(); - if (key1==-1) { + if (key1 == -1) { // connecting to the playback plugin - if (mode1>1||mainw->vpp==NULL||pnum1>=mainw->vpp->num_play_params) return lives_osc_notify_failure(); - } else if (key1==-2) { + if (mode1 > 1 || mainw->vpp == NULL || pnum1 >= mainw->vpp->num_play_params) return lives_osc_notify_failure(); + } else if (key1 == -2) { // connecting to subtitler - if (mode1>1||pnum1>0) return lives_osc_notify_failure(); + if (mode1 > 1 || pnum1 > 0) return lives_osc_notify_failure(); } else { - ifilter=rte_keymode_get_filter(key1,mode1); - if (ifilter==NULL) return lives_osc_notify_failure(); + ifilter = rte_keymode_get_filter(key1, mode1); + if (ifilter == NULL) return lives_osc_notify_failure(); - if (pnum1>=num_in_params(ifilter,FALSE,TRUE)) return lives_osc_notify_failure(); + if (pnum1 >= num_in_params(ifilter, FALSE, TRUE)) return lives_osc_notify_failure(); } - if (pnum0<-EXTRA_PARAMS_OUT||pnum1<-EXTRA_PARAMS_IN) return lives_osc_notify_failure(); + if (pnum0 < -EXTRA_PARAMS_OUT || pnum1 < -EXTRA_PARAMS_IN) return lives_osc_notify_failure(); - if (pconx_check_connection(ofilter,pnum0,key1,mode1,pnum1,FALSE,NULL,NULL,NULL,NULL,NULL)) return lives_osc_notify_failure(); + if (pconx_check_connection(ofilter, pnum0, key1, mode1, pnum1, FALSE, NULL, NULL, NULL, NULL, NULL)) return lives_osc_notify_failure(); key0--; key1--; - pconx_add_connection(key0,mode0,pnum0,key1,mode1,pnum1,autoscale); + pconx_add_connection(key0, mode0, pnum0, key1, mode1, pnum1, autoscale); return lives_osc_notify_success(NULL); } boolean lives_osc_cb_rte_delpconnection(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - int key0,mode0,pnum0; - int key1,mode1,pnum1; + int key0, mode0, pnum0; + int key1, mode1, pnum1; - if (!lives_osc_check_arguments(arglen,vargs,"iiiiii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&key0); - lives_osc_parse_int_argument(vargs,&mode0); - lives_osc_parse_int_argument(vargs,&pnum0); - lives_osc_parse_int_argument(vargs,&key1); - lives_osc_parse_int_argument(vargs,&mode1); - lives_osc_parse_int_argument(vargs,&pnum1); + if (!lives_osc_check_arguments(arglen, vargs, "iiiiii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &key0); + lives_osc_parse_int_argument(vargs, &mode0); + lives_osc_parse_int_argument(vargs, &pnum0); + lives_osc_parse_int_argument(vargs, &key1); + lives_osc_parse_int_argument(vargs, &mode1); + lives_osc_parse_int_argument(vargs, &pnum1); - if (key0<0||key0>=FX_KEYS_MAX_VIRTUAL||mode0<1||mode0>rte_getmodespk()) return lives_osc_notify_failure(); - if (key1<-2||key1>=FX_KEYS_MAX_VIRTUAL||mode1<1||mode1>rte_getmodespk()) return lives_osc_notify_failure(); + if (key0 < 0 || key0 >= FX_KEYS_MAX_VIRTUAL || mode0 < 1 || mode0 > rte_getmodespk()) return lives_osc_notify_failure(); + if (key1 < -2 || key1 >= FX_KEYS_MAX_VIRTUAL || mode1 < 1 || mode1 > rte_getmodespk()) return lives_osc_notify_failure(); - if (pnum0<-EXTRA_PARAMS_OUT||pnum1<-EXTRA_PARAMS_IN) return lives_osc_notify_failure(); + if (pnum0 < -EXTRA_PARAMS_OUT || pnum1 < -EXTRA_PARAMS_IN) return lives_osc_notify_failure(); - pconx_delete(key0==0?FX_DATA_WILDCARD:--key0,--mode0,pnum0,key1==0?FX_DATA_WILDCARD:--key1,--mode1,pnum1); + pconx_delete(key0 == 0 ? FX_DATA_WILDCARD : --key0, --mode0, pnum0, key1 == 0 ? FX_DATA_WILDCARD : --key1, --mode1, pnum1); return lives_osc_notify_success(NULL); } boolean lives_osc_cb_rte_listpconnection(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - int okey,omode,opnum; + int okey, omode, opnum; char *msg; - if (!lives_osc_check_arguments(arglen,vargs,"iii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&okey); - lives_osc_parse_int_argument(vargs,&omode); - lives_osc_parse_int_argument(vargs,&opnum); + if (!lives_osc_check_arguments(arglen, vargs, "iii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &okey); + lives_osc_parse_int_argument(vargs, &omode); + lives_osc_parse_int_argument(vargs, &opnum); - if (okey<1||okey>=FX_KEYS_MAX_VIRTUAL||omode<1||omode>rte_getmodespk()) return lives_osc_notify_failure(); + if (okey < 1 || okey >= FX_KEYS_MAX_VIRTUAL || omode < 1 || omode > rte_getmodespk()) return lives_osc_notify_failure(); - msg=pconx_list(okey,omode,opnum); + msg = pconx_list(okey, omode, opnum); - if (strlen(msg)==0) { + if (strlen(msg) == 0) { lives_free(msg); - msg=lives_strdup("0 0 0 0"); + msg = lives_strdup("0 0 0 0"); } lives_status_send(msg); @@ -6496,87 +6517,87 @@ } boolean lives_osc_cb_rte_addcconnection(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - int key0,mode0,cnum0; - int key1,mode1,cnum1; + int key0, mode0, cnum0; + int key1, mode1, cnum1; weed_plant_t *filter; - if (!lives_osc_check_arguments(arglen,vargs,"iiiiii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&key0); - lives_osc_parse_int_argument(vargs,&mode0); - lives_osc_parse_int_argument(vargs,&cnum0); - lives_osc_parse_int_argument(vargs,&key1); - lives_osc_parse_int_argument(vargs,&mode1); - lives_osc_parse_int_argument(vargs,&cnum1); + if (!lives_osc_check_arguments(arglen, vargs, "iiiiii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &key0); + lives_osc_parse_int_argument(vargs, &mode0); + lives_osc_parse_int_argument(vargs, &cnum0); + lives_osc_parse_int_argument(vargs, &key1); + lives_osc_parse_int_argument(vargs, &mode1); + lives_osc_parse_int_argument(vargs, &cnum1); - if (key0<1||key0>=FX_KEYS_MAX_VIRTUAL||mode0<1||mode0>rte_getmodespk()) return lives_osc_notify_failure(); - if (key1<-1||key1==0||key1>=FX_KEYS_MAX_VIRTUAL||mode1<1||mode1>rte_getmodespk()) return lives_osc_notify_failure(); + if (key0 < 1 || key0 >= FX_KEYS_MAX_VIRTUAL || mode0 < 1 || mode0 > rte_getmodespk()) return lives_osc_notify_failure(); + if (key1 < -1 || key1 == 0 || key1 >= FX_KEYS_MAX_VIRTUAL || mode1 < 1 || mode1 > rte_getmodespk()) return lives_osc_notify_failure(); - if (key0==key1) lives_osc_notify_failure(); + if (key0 == key1) lives_osc_notify_failure(); mode0--; mode1--; - filter=rte_keymode_get_filter(key0,mode0); - if (filter==NULL) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(key0, mode0); + if (filter == NULL) return lives_osc_notify_failure(); - if (cnum0>=enabled_out_channels(filter,FALSE)) return lives_osc_notify_failure(); + if (cnum0 >= enabled_out_channels(filter, FALSE)) return lives_osc_notify_failure(); - if (key1==-1) { + if (key1 == -1) { // connecting to the playback plugin - if (mode1>1||mainw->vpp==NULL||cnum1>=mainw->vpp->num_alpha_chans) return lives_osc_notify_failure(); + if (mode1 > 1 || mainw->vpp == NULL || cnum1 >= mainw->vpp->num_alpha_chans) return lives_osc_notify_failure(); } else { - filter=rte_keymode_get_filter(key1,mode1); - if (filter==NULL) return lives_osc_notify_failure(); + filter = rte_keymode_get_filter(key1, mode1); + if (filter == NULL) return lives_osc_notify_failure(); - if (cnum1>=enabled_in_channels(filter,FALSE)) return lives_osc_notify_failure(); + if (cnum1 >= enabled_in_channels(filter, FALSE)) return lives_osc_notify_failure(); } - if (cconx_check_connection(key1,mode1,cnum1,FALSE,NULL,NULL,NULL,NULL,NULL)) return lives_osc_notify_failure(); + if (cconx_check_connection(key1, mode1, cnum1, FALSE, NULL, NULL, NULL, NULL, NULL)) return lives_osc_notify_failure(); key0--; key1--; - cconx_add_connection(key0,mode0,cnum0,key1,mode1,cnum1); + cconx_add_connection(key0, mode0, cnum0, key1, mode1, cnum1); return lives_osc_notify_success(NULL); } boolean lives_osc_cb_rte_delcconnection(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - int key0,mode0,cnum0; - int key1,mode1,cnum1; + int key0, mode0, cnum0; + int key1, mode1, cnum1; - if (!lives_osc_check_arguments(arglen,vargs,"iiiiii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&key0); - lives_osc_parse_int_argument(vargs,&mode0); - lives_osc_parse_int_argument(vargs,&cnum0); - lives_osc_parse_int_argument(vargs,&key1); - lives_osc_parse_int_argument(vargs,&mode1); - lives_osc_parse_int_argument(vargs,&cnum1); + if (!lives_osc_check_arguments(arglen, vargs, "iiiiii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &key0); + lives_osc_parse_int_argument(vargs, &mode0); + lives_osc_parse_int_argument(vargs, &cnum0); + lives_osc_parse_int_argument(vargs, &key1); + lives_osc_parse_int_argument(vargs, &mode1); + lives_osc_parse_int_argument(vargs, &cnum1); - if (key0<0||key0>=FX_KEYS_MAX_VIRTUAL||mode0<1||mode0>rte_getmodespk()) return lives_osc_notify_failure(); - if (key1<-2||key1>=FX_KEYS_MAX_VIRTUAL||mode1<1||mode1>rte_getmodespk()) return lives_osc_notify_failure(); + if (key0 < 0 || key0 >= FX_KEYS_MAX_VIRTUAL || mode0 < 1 || mode0 > rte_getmodespk()) return lives_osc_notify_failure(); + if (key1 < -2 || key1 >= FX_KEYS_MAX_VIRTUAL || mode1 < 1 || mode1 > rte_getmodespk()) return lives_osc_notify_failure(); - cconx_delete(key0==0?FX_DATA_WILDCARD:--key0,--mode0,cnum0,key1==0?FX_DATA_WILDCARD:--key1,--mode1,cnum1); + cconx_delete(key0 == 0 ? FX_DATA_WILDCARD : --key0, --mode0, cnum0, key1 == 0 ? FX_DATA_WILDCARD : --key1, --mode1, cnum1); return lives_osc_notify_success(NULL); } boolean lives_osc_cb_rte_listcconnection(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - int okey,omode,ocnum; + int okey, omode, ocnum; char *msg; - if (!lives_osc_check_arguments(arglen,vargs,"iii",TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_int_argument(vargs,&okey); - lives_osc_parse_int_argument(vargs,&omode); - lives_osc_parse_int_argument(vargs,&ocnum); + if (!lives_osc_check_arguments(arglen, vargs, "iii", TRUE)) return lives_osc_notify_failure(); + lives_osc_parse_int_argument(vargs, &okey); + lives_osc_parse_int_argument(vargs, &omode); + lives_osc_parse_int_argument(vargs, &ocnum); - if (okey<1||okey>=FX_KEYS_MAX_VIRTUAL||omode<1||omode>rte_getmodespk()) return lives_osc_notify_failure(); + if (okey < 1 || okey >= FX_KEYS_MAX_VIRTUAL || omode < 1 || omode > rte_getmodespk()) return lives_osc_notify_failure(); - msg=cconx_list(okey,omode,ocnum); + msg = cconx_list(okey, omode, ocnum); - if (strlen(msg)==0) { + if (strlen(msg) == 0) { lives_free(msg); - msg=lives_strdup("0 0 0"); + msg = lives_strdup("0 0 0"); } lives_status_send(msg); @@ -6586,29 +6607,29 @@ boolean lives_osc_cb_swap(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); - swap_fg_bg_callback(NULL,NULL,0,(LiVESXModifierType)0,NULL); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); + swap_fg_bg_callback(NULL, NULL, 0, (LiVESXModifierType)0, NULL); return lives_osc_notify_success(NULL); } boolean lives_osc_record_start(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); - record_toggle_callback(NULL,NULL,0,(LiVESXModifierType)0,LIVES_INT_TO_POINTER((int)TRUE)); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); + record_toggle_callback(NULL, NULL, 0, (LiVESXModifierType)0, LIVES_INT_TO_POINTER((int)TRUE)); return lives_osc_notify_success(NULL); // TODO - send record start and record stop events } boolean lives_osc_record_stop(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); - record_toggle_callback(NULL,NULL,0,(LiVESXModifierType)0,LIVES_INT_TO_POINTER((int)FALSE)); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); + record_toggle_callback(NULL, NULL, 0, (LiVESXModifierType)0, LIVES_INT_TO_POINTER((int)FALSE)); return lives_osc_notify_success(NULL); } boolean lives_osc_record_toggle(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { - if (mainw->multitrack!=NULL) return lives_osc_notify_failure(); - record_toggle_callback(NULL,NULL,0,(LiVESXModifierType)0,LIVES_INT_TO_POINTER(!mainw->record)); + if (mainw->multitrack != NULL) return lives_osc_notify_failure(); + record_toggle_callback(NULL, NULL, 0, (LiVESXModifierType)0, LIVES_INT_TO_POINTER(!mainw->record)); return lives_osc_notify_success(NULL); } @@ -6625,32 +6646,32 @@ boolean lives_osc_cb_open_file(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { char filename[OSC_STRING_SIZE]; - float starttime=0.; - int numframes=0; // all frames by default + float starttime = 0.; + int numframes = 0; // all frames by default - int type=0; + int type = 0; - if ((mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))||mainw->is_processing|| - mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if ((mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->is_processing || + mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (mainw->playing_file>-1) return lives_osc_notify_failure(); + if (mainw->playing_file > -1) return lives_osc_notify_failure(); - if (!lives_osc_check_arguments(arglen,vargs,"sfi",FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "sfi", FALSE)) { type++; - if (!lives_osc_check_arguments(arglen,vargs,"sf",FALSE)) { + if (!lives_osc_check_arguments(arglen, vargs, "sf", FALSE)) { type++; - if (!lives_osc_check_arguments(arglen,vargs,"s",TRUE)) return lives_osc_notify_failure(); - } else lives_osc_check_arguments(arglen,vargs,"sf",TRUE); - } else lives_osc_check_arguments(arglen,vargs,"sfi",TRUE); - - lives_osc_parse_string_argument(vargs,filename); - if (type<2) { - lives_osc_parse_float_argument(vargs,&starttime); - if (type<1) { - lives_osc_parse_int_argument(vargs,&numframes); + if (!lives_osc_check_arguments(arglen, vargs, "s", TRUE)) return lives_osc_notify_failure(); + } else lives_osc_check_arguments(arglen, vargs, "sf", TRUE); + } else lives_osc_check_arguments(arglen, vargs, "sfi", TRUE); + + lives_osc_parse_string_argument(vargs, filename); + if (type < 2) { + lives_osc_parse_float_argument(vargs, &starttime); + if (type < 1) { + lives_osc_parse_int_argument(vargs, &numframes); } } - deduce_file(filename,starttime,numframes); + deduce_file(filename, starttime, numframes); return lives_osc_notify_success(NULL); } @@ -6660,24 +6681,24 @@ boolean lives_osc_cb_open_unicap(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { #ifdef HAVE_UNICAP char devname[OSC_STRING_SIZE]; - int deint=FALSE; + int deint = FALSE; char *boolstr; - if ((mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))||mainw->is_processing|| - mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if ((mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->is_processing || + mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (!lives_osc_check_arguments(arglen,vargs,"si",FALSE)) { - if (lives_osc_check_arguments(arglen,vargs,"s",FALSE)) { - lives_osc_parse_string_argument(vargs,devname); + if (!lives_osc_check_arguments(arglen, vargs, "si", FALSE)) { + if (lives_osc_check_arguments(arglen, vargs, "s", FALSE)) { + lives_osc_parse_string_argument(vargs, devname); } else return lives_osc_notify_failure(); } else { - lives_osc_parse_string_argument(vargs,devname); - lives_osc_parse_int_argument(vargs,&deint); - boolstr=lives_strdup_printf("%d",deint); - if (!strcmp(boolstr,get_omc_const("LIVES_TRUE"))) deint=TRUE; + lives_osc_parse_string_argument(vargs, devname); + lives_osc_parse_int_argument(vargs, &deint); + boolstr = lives_strdup_printf("%d", deint); + if (!strcmp(boolstr, get_omc_const("LIVES_TRUE"))) deint = TRUE; else { - if (!strcmp(boolstr,get_omc_const("LIVES_FALSE"))) deint=FALSE; + if (!strcmp(boolstr, get_omc_const("LIVES_FALSE"))) deint = FALSE; else { lives_free(boolstr); return lives_osc_notify_failure(); @@ -6686,7 +6707,7 @@ lives_free(boolstr); } - mainw->open_deint=deint; + mainw->open_deint = deint; on_open_vdev_activate(NULL, (livespointer)devname); @@ -6702,17 +6723,17 @@ boolean lives_osc_cb_new_audio(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { char filename[OSC_STRING_SIZE]; - if ((mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))||mainw->is_processing|| - mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if ((mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->is_processing || + mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (mainw->playing_file>-1) return lives_osc_notify_failure(); + if (mainw->playing_file > -1) return lives_osc_notify_failure(); - if (mainw->current_file<1 || cfile==NULL || cfile->opening || cfile->frames==0) return lives_osc_notify_failure(); + if (mainw->current_file < 1 || cfile == NULL || cfile->opening || cfile->frames == 0) return lives_osc_notify_failure(); - if (!lives_osc_check_arguments(arglen,vargs,"s",TRUE)) return lives_osc_notify_failure(); + if (!lives_osc_check_arguments(arglen, vargs, "s", TRUE)) return lives_osc_notify_failure(); - lives_osc_parse_string_argument(vargs,filename); - on_open_new_audio_clicked(NULL,filename); + lives_osc_parse_string_argument(vargs, filename); + on_open_new_audio_clicked(NULL, filename); return lives_osc_notify_success(NULL); } @@ -6723,25 +6744,25 @@ char *tmp; - if ((mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))||mainw->is_processing|| - mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if ((mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->is_processing || + mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (mainw->playing_file>-1) return lives_osc_notify_failure(); + if (mainw->playing_file > -1) return lives_osc_notify_failure(); - if (strlen(mainw->set_name)>0) return lives_osc_notify_failure(); + if (strlen(mainw->set_name) > 0) return lives_osc_notify_failure(); - if (!lives_osc_check_arguments(arglen,vargs,"s",TRUE)) { + if (!lives_osc_check_arguments(arglen, vargs, "s", TRUE)) { return lives_osc_notify_failure(); } - lives_osc_parse_string_argument(vargs,setname); + lives_osc_parse_string_argument(vargs, setname); - mainw->osc_auto=1; - if (!is_legal_set_name((tmp=U82F(setname)),TRUE)) { - mainw->osc_auto=0; + mainw->osc_auto = 1; + if (!is_legal_set_name((tmp = U82F(setname)), TRUE)) { + mainw->osc_auto = 0; lives_free(tmp); return lives_osc_notify_failure(); } - mainw->osc_auto=0; + mainw->osc_auto = 0; lives_free(tmp); @@ -6753,7 +6774,7 @@ boolean lives_osc_cb_saveset(void *context, int arglen, const void *vargs, OSCTimeTag when, NetworkReturnAddressPtr ra) { boolean ret; - int force_append=FALSE; + int force_append = FALSE; char setname[OSC_STRING_SIZE]; char *tmp; @@ -6761,25 +6782,25 @@ // setname should be in filesystem encoding - lives_memset(setname,0,1); + lives_memset(setname, 0, 1); - if ((mainw->preview||(mainw->multitrack==NULL&&mainw->event_list!=NULL))||mainw->is_processing|| - mainw->multitrack!=NULL) return lives_osc_notify_failure(); + if ((mainw->preview || (mainw->multitrack == NULL && mainw->event_list != NULL)) || mainw->is_processing || + mainw->multitrack != NULL) return lives_osc_notify_failure(); - if (mainw->playing_file>-1) return lives_osc_notify_failure(); + if (mainw->playing_file > -1) return lives_osc_notify_failure(); - if (!lives_osc_check_arguments(arglen,vargs,"s",TRUE)) { - if (!lives_osc_check_arguments(arglen,vargs,"si",TRUE)) { - if (!lives_osc_check_arguments(arglen,vargs,"",TRUE)) { + if (!lives_osc_check_arguments(arglen, vargs, "s", TRUE)) { + if (!lives_osc_check_arguments(arglen, vargs, "si", TRUE)) { + if (!lives_osc_check_arguments(arglen, vargs, "", TRUE)) { return lives_osc_notify_failure(); } } else { - lives_osc_parse_string_argument(vargs,setname); - lives_osc_parse_int_argument(vargs,&force_append); - boolstr=lives_strdup_printf("%d",force_append); - if (!strcmp(boolstr,get_omc_const("LIVES_TRUE"))) force_append=TRUE; + lives_osc_parse_string_argument(vargs, setname); + lives_osc_parse_int_argument(vargs, &force_append); + boolstr = lives_strdup_printf("%d", force_append); + if (!strcmp(boolstr, get_omc_const("LIVES_TRUE"))) force_append = TRUE; else { - if (!strcmp(boolstr,get_omc_const("LIVES_FALSE"))) force_append=FALSE; + if (!strcmp(boolstr, get_omc_const("LIVES_FALSE"))) force_append = FALSE; else { lives_free(boolstr); return lives_osc_notify_failure(); @@ -6788,24 +6809,24 @@ lives_free(boolstr); } } else { - lives_osc_parse_string_argument(vargs,setname); + lives_osc_parse_string_argument(vargs, setname); } - if (strlen(setname)==0) { - mainw->only_close=TRUE; - ret=on_save_set_activate((LiVESMenuItem *)1,NULL); - mainw->only_close=FALSE; + if (strlen(setname) == 0) { + mainw->only_close = TRUE; + ret = on_save_set_activate((LiVESMenuItem *)1, NULL); + mainw->only_close = FALSE; if (ret) return lives_osc_notify_success(NULL); else return lives_osc_notify_failure(); } - if (is_legal_set_name((tmp=U82F(setname)),TRUE)) { - mainw->only_close=TRUE; - if (force_append) mainw->osc_auto=2; - else mainw->osc_auto=1; - ret=on_save_set_activate(NULL,setname); - mainw->osc_auto=0; - mainw->only_close=FALSE; + if (is_legal_set_name((tmp = U82F(setname)), TRUE)) { + mainw->only_close = TRUE; + if (force_append) mainw->osc_auto = 2; + else mainw->osc_auto = 1; + ret = on_save_set_activate(NULL, setname); + mainw->osc_auto = 0; + mainw->only_close = FALSE; lives_free(tmp); if (ret) return lives_osc_notify_success(NULL); else return lives_osc_notify_failure(); @@ -7045,141 +7066,141 @@ int att; // attached to parent number int it; // ??? } osc_cont[] = { - { "/", "", 2, -1,0 }, - { "/video/", "video", 5, -1,0 }, - { "/video/selection/", "selection", 46, 5,0 }, - { "/video/fps/", "fps", 40, 5,0 }, - { "/video/fps/ratio/", "ratio", 65, 40,0 }, - { "/video/play/ start video playback", "play", 36, 5,0 }, - { "/video/play/time", "time", 67, 36,0 }, - { "/video/play/parameter", "parameter", 69, 36,0 }, - { "/video/play/parameter/value", "value", 140, 69,0 }, - { "/video/play/parameter/flags", "flags", 141, 69,0 }, - { "/video/play/parameter/min", "min", 142, 69,0 }, - { "/video/play/parameter/max", "max", 143, 69,0 }, - { "/video/play/parameter/type", "type", 144, 69,0 }, - { "/video/play/parameter/name", "name", 145, 69,0 }, - { "/video/play/parameter/colorspace", "colorspace", 146, 69,0 }, - { "/video/play/parameter/default", "default", 147, 69,0 }, - { "/video/freeze/", "freeze", 37, 5,0 }, - { "/video/loop/", "loop", 38, 5,0 }, - { "/video/pingpong/", "pingpong", 39, 5,0 }, - { "/audio/", "audio", 6, -1,0 }, - { "/audio/mute", "mute", 300, 6,0 }, - { "/audio/volume", "volume", 301, 6,0 }, - { "/audio/source", "source", 302, 6,0 }, - { "/clip/", "clip", 1, -1,0 }, - { "/clip/fps/", "fps", 113, 1,0 }, - { "/clip/foreground/", "foreground", 47, 1,0 }, - { "/clip/foreground/valid/", "valid", 80, 1,0 }, - { "/clip/foreground/background/", "background", 53, 47,0 }, - { "/clip/foreground/frame/", "frame", 60, 47,0 }, - { "/clip/foreground/fps/", "fps", 61, 47,0 }, - { "/clip/foreground/fps/ratio/", "ratio", 64, 61,0 }, - { "/clip/background/", "background", 48, 1,0 }, - { "/clip/background/valid/", "valid", 81, 1,0 }, - { "/clip/background/frame/", "frame", 62, 48,0 }, - { "/clip/background/fps/", "fps", 63, 48,0 }, - { "/clip/background/fps/ratio/", "ratio", 66, 63,0 }, - { "/clip/is_valid/", "is_valid", 49, 1,0 }, - { "/clip/frame/", "frame", 57, 1,0 }, - { "/clip/start/", "start", 50, 1,0 }, - { "/clip/end/", "end", 51, 1,0 }, - { "/clip/select/", "select", 54, 1,0 }, - { "/clip/selection/", "selection", 55, 1,0 }, - { "/clip/size/", "size", 58, 1,0 }, - { "/clip/name/", "name", 59, 1,0 }, - { "/clip/audio/", "audio", 108, 1,0 }, - { "/clipboard/", "clipboard", 70, -1,0 }, - { "/record/", "record", 3, -1,0 }, - { "/effect/" , "effects", 4, -1,0 }, - { "/effect/realtime/" , "realtime", 114, 4,0 }, - { "/effect/realtime/name/" , "name", 115, 114,0 }, - { "/effect_key/" , "effect_key", 25, -1,0 }, - { "/effect_key/inchannel/" , "inchannel", 130, 25,0 }, - { "/effect_key/inchannel/active/" , "active", 131, 130,0 }, - { "/effect_key/inchannel/palette/" , "palette", 132, 130,0 }, - { "/effect_key/parameter/" , "parameter", 41, 25,0 }, - { "/effect_key/parameter/value/" ,"value", 42, 41,0 }, - { "/effect_key/parameter/type/" ,"type", 68, 41,0 }, - { "/effect_key/parameter/name/" ,"name", 71, 41,0 }, - { "/effect_key/parameter/colorspace/" ,"colorspace", 73, 41,0 }, - { "/effect_key/parameter/flags/" ,"flags", 74, 41,0 }, - { "/effect_key/parameter/min/" ,"min", 75, 41,0 }, - { "/effect_key/parameter/max/" ,"max", 76, 41,0 }, - { "/effect_key/parameter/default/" ,"default", 77, 41,0 }, - { "/effect_key/parameter/group/" ,"group", 78, 41,0 }, - { "/effect_key/parameter/gui/" ,"gui", 180, 41,0 }, - { "/effect_key/parameter/gui/choices" ,"choices", 181, 180,0 }, - { "/effect_key/nparameter/" , "nparameter", 91, 25,0 }, - { "/effect_key/nparameter/name/" ,"name", 72, 91,0 }, - { "/effect_key/nparameter/value/" ,"value", 92, 91,0 }, - { "/effect_key/nparameter/type/" ,"type", 116, 91,0 }, - { "/effect_key/nparameter/min/" ,"min", 93, 91,0 }, - { "/effect_key/nparameter/max/" ,"max", 94, 91,0 }, - { "/effect_key/nparameter/default/" ,"default", 95, 91,0 }, - { "/effect_key/map/" , "map", 32, 25,0 }, - { "/effect_key/mode/" , "mode", 43, 25,0 }, - { "/effect_key/name/" , "name", 44, 25,0 }, - { "/effect_key/maxmode/" , "maxmode", 45, 25,0 }, - { "/effect_key/state/" , "state", 56, 25,0 }, - { "/effect_key/outchannel/" , "outchannel", 160, 25,0 }, - { "/effect_key/outchannel/connection/" , "connection", 161, 160,0 }, - { "/effect_key/outchannel/palette/" , "palette", 162, 160,0 }, - { "/effect_key/outchannel/active/" , "active", 171, 160,0 }, - { "/effect_key/outparameter/" , "outparameter", 150, 25,0 }, - { "/effect_key/outparameter/connection/" , "connection", 151, 150,0 }, - { "/effect_key/outparameter/name/" , "name", 152, 150,0 }, - { "/effect_key/outparameter/type/" , "type", 153, 150,0 }, - { "/effect_key/outparameter/colorspace/" , "colorspace", 154, 150,0 }, - { "/effect_key/outparameter/value/" , "value", 155, 150,0 }, - { "/effect_key/outparameter/min/" , "min", 156, 150,0 }, - { "/effect_key/outparameter/max/" , "max", 157, 150,0 }, - { "/effect_key/outparameter/default/" , "default", 158, 150,0 }, - { "/lives/" , "lives", 21, -1,0 }, - { "/lives/version/" , "version", 24, 21,0 }, - { "/lives/mode/" , "mode", 103, 21,0 }, - { "/lives/status/" , "status", 122, 21,0 }, - { "/lives/constant/" , "constant", 120, 21,0 }, - { "/lives/constant/value/" , "value", 121, 120,0 }, - { "/clipset/" , "clipset", 35, -1,0 }, - { "/clipset/name/" , "name", 135, 35,0 }, - { "/app/" , "app", 22, -1,0 }, - { "/app/name/" , "name", 23, 22,0 }, - { "/app/version/" , "version", 125, 22,0 }, - { "/output/" , "output", 27, -1,0 }, - { "/output/fullscreen/" , "fullscreen", 28, 27,0 }, - { "/output/fps/" , "fps", 52, 27,0 }, - { "/output/nodrop/" , "nodrop", 30, 27 ,0 }, - { "/clip/open/", "open", 33, 1,0 }, - { "/notify/", "notify", 100, -1,0 }, - { "/notify/confirmations/", "confirmations", 101, 100,0 }, - { "/notify/events/", "events", 102, 100,0 }, - { "/layout/", "layout", 104, -1,0 }, - { "/block/", "block", 105, -1,0 }, - { "/block/start/", "start", 106, 105,0 }, - { "/block/start/time/", "time", 111, 106,0 }, - { "/block/end/", "end", 107, 105,0 }, - { "/block/end/time/", "time", 112, 107,0 }, - { "/mt/", "mt", 200, -1,0 }, - { "/mt/ctime/", "ctime", 201, 200,0 }, - { "/mt/ctrack/", "ctrack", 202, 200,0 }, - { "/test/", "test", 500, -1,0 }, - { NULL, NULL, 0, -1,0 }, + { "/", "", 2, -1, 0 }, + { "/video/", "video", 5, -1, 0 }, + { "/video/selection/", "selection", 46, 5, 0 }, + { "/video/fps/", "fps", 40, 5, 0 }, + { "/video/fps/ratio/", "ratio", 65, 40, 0 }, + { "/video/play/ start video playback", "play", 36, 5, 0 }, + { "/video/play/time", "time", 67, 36, 0 }, + { "/video/play/parameter", "parameter", 69, 36, 0 }, + { "/video/play/parameter/value", "value", 140, 69, 0 }, + { "/video/play/parameter/flags", "flags", 141, 69, 0 }, + { "/video/play/parameter/min", "min", 142, 69, 0 }, + { "/video/play/parameter/max", "max", 143, 69, 0 }, + { "/video/play/parameter/type", "type", 144, 69, 0 }, + { "/video/play/parameter/name", "name", 145, 69, 0 }, + { "/video/play/parameter/colorspace", "colorspace", 146, 69, 0 }, + { "/video/play/parameter/default", "default", 147, 69, 0 }, + { "/video/freeze/", "freeze", 37, 5, 0 }, + { "/video/loop/", "loop", 38, 5, 0 }, + { "/video/pingpong/", "pingpong", 39, 5, 0 }, + { "/audio/", "audio", 6, -1, 0 }, + { "/audio/mute", "mute", 300, 6, 0 }, + { "/audio/volume", "volume", 301, 6, 0 }, + { "/audio/source", "source", 302, 6, 0 }, + { "/clip/", "clip", 1, -1, 0 }, + { "/clip/fps/", "fps", 113, 1, 0 }, + { "/clip/foreground/", "foreground", 47, 1, 0 }, + { "/clip/foreground/valid/", "valid", 80, 1, 0 }, + { "/clip/foreground/background/", "background", 53, 47, 0 }, + { "/clip/foreground/frame/", "frame", 60, 47, 0 }, + { "/clip/foreground/fps/", "fps", 61, 47, 0 }, + { "/clip/foreground/fps/ratio/", "ratio", 64, 61, 0 }, + { "/clip/background/", "background", 48, 1, 0 }, + { "/clip/background/valid/", "valid", 81, 1, 0 }, + { "/clip/background/frame/", "frame", 62, 48, 0 }, + { "/clip/background/fps/", "fps", 63, 48, 0 }, + { "/clip/background/fps/ratio/", "ratio", 66, 63, 0 }, + { "/clip/is_valid/", "is_valid", 49, 1, 0 }, + { "/clip/frame/", "frame", 57, 1, 0 }, + { "/clip/start/", "start", 50, 1, 0 }, + { "/clip/end/", "end", 51, 1, 0 }, + { "/clip/select/", "select", 54, 1, 0 }, + { "/clip/selection/", "selection", 55, 1, 0 }, + { "/clip/size/", "size", 58, 1, 0 }, + { "/clip/name/", "name", 59, 1, 0 }, + { "/clip/audio/", "audio", 108, 1, 0 }, + { "/clipboard/", "clipboard", 70, -1, 0 }, + { "/record/", "record", 3, -1, 0 }, + { "/effect/" , "effects", 4, -1, 0 }, + { "/effect/realtime/" , "realtime", 114, 4, 0 }, + { "/effect/realtime/name/" , "name", 115, 114, 0 }, + { "/effect_key/" , "effect_key", 25, -1, 0 }, + { "/effect_key/inchannel/" , "inchannel", 130, 25, 0 }, + { "/effect_key/inchannel/active/" , "active", 131, 130, 0 }, + { "/effect_key/inchannel/palette/" , "palette", 132, 130, 0 }, + { "/effect_key/parameter/" , "parameter", 41, 25, 0 }, + { "/effect_key/parameter/value/" , "value", 42, 41, 0 }, + { "/effect_key/parameter/type/" , "type", 68, 41, 0 }, + { "/effect_key/parameter/name/" , "name", 71, 41, 0 }, + { "/effect_key/parameter/colorspace/" , "colorspace", 73, 41, 0 }, + { "/effect_key/parameter/flags/" , "flags", 74, 41, 0 }, + { "/effect_key/parameter/min/" , "min", 75, 41, 0 }, + { "/effect_key/parameter/max/" , "max", 76, 41, 0 }, + { "/effect_key/parameter/default/" , "default", 77, 41, 0 }, + { "/effect_key/parameter/group/" , "group", 78, 41, 0 }, + { "/effect_key/parameter/gui/" , "gui", 180, 41, 0 }, + { "/effect_key/parameter/gui/choices" , "choices", 181, 180, 0 }, + { "/effect_key/nparameter/" , "nparameter", 91, 25, 0 }, + { "/effect_key/nparameter/name/" , "name", 72, 91, 0 }, + { "/effect_key/nparameter/value/" , "value", 92, 91, 0 }, + { "/effect_key/nparameter/type/" , "type", 116, 91, 0 }, + { "/effect_key/nparameter/min/" , "min", 93, 91, 0 }, + { "/effect_key/nparameter/max/" , "max", 94, 91, 0 }, + { "/effect_key/nparameter/default/" , "default", 95, 91, 0 }, + { "/effect_key/map/" , "map", 32, 25, 0 }, + { "/effect_key/mode/" , "mode", 43, 25, 0 }, + { "/effect_key/name/" , "name", 44, 25, 0 }, + { "/effect_key/maxmode/" , "maxmode", 45, 25, 0 }, + { "/effect_key/state/" , "state", 56, 25, 0 }, + { "/effect_key/outchannel/" , "outchannel", 160, 25, 0 }, + { "/effect_key/outchannel/connection/" , "connection", 161, 160, 0 }, + { "/effect_key/outchannel/palette/" , "palette", 162, 160, 0 }, + { "/effect_key/outchannel/active/" , "active", 171, 160, 0 }, + { "/effect_key/outparameter/" , "outparameter", 150, 25, 0 }, + { "/effect_key/outparameter/connection/" , "connection", 151, 150, 0 }, + { "/effect_key/outparameter/name/" , "name", 152, 150, 0 }, + { "/effect_key/outparameter/type/" , "type", 153, 150, 0 }, + { "/effect_key/outparameter/colorspace/" , "colorspace", 154, 150, 0 }, + { "/effect_key/outparameter/value/" , "value", 155, 150, 0 }, + { "/effect_key/outparameter/min/" , "min", 156, 150, 0 }, + { "/effect_key/outparameter/max/" , "max", 157, 150, 0 }, + { "/effect_key/outparameter/default/" , "default", 158, 150, 0 }, + { "/lives/" , "lives", 21, -1, 0 }, + { "/lives/version/" , "version", 24, 21, 0 }, + { "/lives/mode/" , "mode", 103, 21, 0 }, + { "/lives/status/" , "status", 122, 21, 0 }, + { "/lives/constant/" , "constant", 120, 21, 0 }, + { "/lives/constant/value/" , "value", 121, 120, 0 }, + { "/clipset/" , "clipset", 35, -1, 0 }, + { "/clipset/name/" , "name", 135, 35, 0 }, + { "/app/" , "app", 22, -1, 0 }, + { "/app/name/" , "name", 23, 22, 0 }, + { "/app/version/" , "version", 125, 22, 0 }, + { "/output/" , "output", 27, -1, 0 }, + { "/output/fullscreen/" , "fullscreen", 28, 27, 0 }, + { "/output/fps/" , "fps", 52, 27, 0 }, + { "/output/nodrop/" , "nodrop", 30, 27 , 0 }, + { "/clip/open/", "open", 33, 1, 0 }, + { "/notify/", "notify", 100, -1, 0 }, + { "/notify/confirmations/", "confirmations", 101, 100, 0 }, + { "/notify/events/", "events", 102, 100, 0 }, + { "/layout/", "layout", 104, -1, 0 }, + { "/block/", "block", 105, -1, 0 }, + { "/block/start/", "start", 106, 105, 0 }, + { "/block/start/time/", "time", 111, 106, 0 }, + { "/block/end/", "end", 107, 105, 0 }, + { "/block/end/time/", "time", 112, 107, 0 }, + { "/mt/", "mt", 200, -1, 0 }, + { "/mt/ctime/", "ctime", 201, 200, 0 }, + { "/mt/ctrack/", "ctrack", 202, 200, 0 }, + { "/test/", "test", 500, -1, 0 }, + { NULL, NULL, 0, -1, 0 }, }; int lives_osc_build_cont(lives_osc *o) { /* Create containers /video , /clip, /chain and /tag */ register int i; - for (i = 0; osc_cont[i].name != NULL ; i ++) { + for (i = 0; osc_cont[i].name != NULL ; i++) { if (osc_cont[i].it == 0) { o->cqinfo.comment = osc_cont[i].comment; // add a container to a leaf - if ((o->leaves[ osc_cont[i].leave ] = + if ((o->leaves[osc_cont[i].leave] = OSCNewContainer(osc_cont[i].name, - (osc_cont[i].att == -1 ? o->container : o->leaves[ osc_cont[i].att ]), + (osc_cont[i].att == -1 ? o->container : o->leaves[osc_cont[i].att]), &(o->cqinfo))) == 0) { if (osc_cont[i].att == - 1) { lives_printerr("Cannot create container %d (%s) \n", @@ -7198,15 +7219,15 @@ int base = osc_cont[i].leave; register int j; - for (j = 0; j < n ; j ++) { + for (j = 0; j < n ; j++) { sprintf(name, "N%d", j); sprintf(comment, "<%d>", j); lives_printerr("Try cont.%d '%s', %d %d\n", j, name, base + j, base); o->cqinfo.comment = comment; - if ((o->leaves[ base + j ] = OSCNewContainer(name, - o->leaves[ osc_cont[i].att ], - &(o->cqinfo))) == 0) { + if ((o->leaves[base + j] = OSCNewContainer(name, + o->leaves[osc_cont[i].att], + &(o->cqinfo))) == 0) { lives_printerr("Cannot auto numerate container %s \n", osc_cont[i].name); return 0; @@ -7222,13 +7243,13 @@ int lives_osc_attach_methods(lives_osc *o) { int i; - for (i = 0; osc_methods[i].name != NULL ; i ++) { + for (i = 0; osc_methods[i].name != NULL ; i++) { o->ris.description = osc_methods[i].descr; OSCNewMethod(osc_methods[i].name, - o->leaves[ osc_methods[i].leave ], + o->leaves[osc_methods[i].leave], osc_methods[i].cb , NULL, // this is the context which is reurned but it seems to be unused - &(o->ris)); + & (o->ris)); } @@ -7243,10 +7264,10 @@ lives_osc *lives_osc_allocate(int port_id) { lives_osc *o; - if (livesOSC==NULL) { + if (livesOSC == NULL) { o = (lives_osc *)lives_malloc(sizeof(lives_osc)); //o->osc_args = (osc_arg*)lives_malloc(50 * sizeof(*o->osc_args)); - o->osc_args=NULL; + o->osc_args = NULL; o->rt.InitTimeMemoryAllocator = lives_osc_malloc; o->rt.RealTimeMemoryAllocator = lives_osc_malloc; o->rt.receiveBufferSize = 1024; @@ -7279,13 +7300,13 @@ if (!lives_osc_attach_methods(o)) return NULL; - } else o=livesOSC; + } else o = livesOSC; - if (port_id>0) { + if (port_id > 0) { if (NetworkStartUDPServer(o->packet, port_id) != TRUE) { - d_print(_("WARNING: Cannot start OSC server at UDP port %d\n"),port_id); + d_print(_("WARNING: Cannot start OSC server at UDP port %d\n"), port_id); } else { - d_print(_("Started OSC server at UDP port %d\n"),port_id); + d_print(_("Started OSC server at UDP port %d\n"), port_id); } } @@ -7322,7 +7343,7 @@ OSCAcceptPacket(o->packet); #ifdef DEBUG_OSC - g_print("got osc msg %s\n",OSCPacketBufferGetBuffer((OSCPacketBuffer)o->packet)); + g_print("got osc msg %s\n", OSCPacketBufferGetBuffer((OSCPacketBuffer)o->packet)); #endif /* Is this really productive ? */ OSCBeProductiveWhileWaiting(); @@ -7337,15 +7358,15 @@ static void oscbuf_to_packet(OSCbuf *obuf, OSCPacketBuffer packet) { - int *psize=OSCPacketBufferGetSize(packet); - int bufsize=OSC_packetSize(obuf); + int *psize = OSCPacketBufferGetSize(packet); + int bufsize = OSC_packetSize(obuf); - if (bufsize>100) { + if (bufsize > 100) { LIVES_ERROR("error, OSC msglen > 100 !"); } - memcpy(OSCPacketBufferGetBuffer(packet),OSC_getPacket(obuf),bufsize); - *psize=bufsize; + memcpy(OSCPacketBufferGetBuffer(packet), OSC_getPacket(obuf), bufsize); + *psize = bufsize; } @@ -7356,17 +7377,17 @@ OSCPacketBuffer packet; - if (livesOSC==NULL) lives_osc_init(0); + if (livesOSC == NULL) lives_osc_init(0); - packet=livesOSC->packet; + packet = livesOSC->packet; - oscbuf_to_packet(obuf,packet); + oscbuf_to_packet(obuf, packet); OSCAcceptPacket(packet); - via_shortcut=TRUE; + via_shortcut = TRUE; OSCBeProductiveWhileWaiting(); - via_shortcut=FALSE; + via_shortcut = FALSE; return TRUE; } @@ -7376,7 +7397,7 @@ void lives_osc_free(lives_osc *c) { - if (c==NULL) return; + if (c == NULL) return; if (c->leaves) free(c->leaves); if (c) free(c); c = NULL; @@ -7391,20 +7412,20 @@ boolean lives_osc_init(uint32_t udp_port) { - if (livesOSC!=NULL&&udp_port!=0) { + if (livesOSC != NULL && udp_port != 0) { /* OSCPacketBuffer packet=livesOSC->packet; if (shutdown (packet->returnAddr->sockfd,SHUT_RDWR)) { d_print( lives_strdup_printf (_("Cannot shut down OSC/UDP server\n")); } */ if (NetworkStartUDPServer(livesOSC->packet, udp_port) != TRUE) { - d_print(_("Cannot start OSC/UDP server at port %d \n"),udp_port); + d_print(_("Cannot start OSC/UDP server at port %d \n"), udp_port); } } else { - livesOSC=lives_osc_allocate(udp_port); - if (livesOSC==NULL) return FALSE; - status_socket=NULL; - notify_socket=NULL; + livesOSC = lives_osc_allocate(udp_port); + if (livesOSC == NULL) return FALSE; + status_socket = NULL; + notify_socket = NULL; } return TRUE; } @@ -7413,21 +7434,21 @@ boolean lives_osc_poll(livespointer data) { // data is always NULL // must return TRUE - if (!mainw->osc_block&&livesOSC!=NULL) lives_osc_get_packet(livesOSC); + if (!mainw->osc_block && livesOSC != NULL) lives_osc_get_packet(livesOSC); return TRUE; } void lives_osc_end(void) { - if (notify_socket!=NULL) { - lives_osc_notify(LIVES_OSC_NOTIFY_QUIT,""); + if (notify_socket != NULL) { + lives_osc_notify(LIVES_OSC_NOTIFY_QUIT, ""); lives_osc_close_notify_socket(); } - if (status_socket!=NULL) { + if (status_socket != NULL) { lives_osc_close_status_socket(); } - if (livesOSC!=NULL) lives_osc_free(livesOSC); - livesOSC=NULL; + if (livesOSC != NULL) lives_osc_free(livesOSC); + livesOSC = NULL; } #endif
View file
LiVES-2.8.4.tar.bz2/src/pangotext.c -> LiVES-2.8.6.tar.bz2/src/pangotext.c
Changed
@@ -49,16 +49,16 @@ // scale width, height to pixels if (pw) - *pw = ((double)w_)/LINGO_SCALE; + *pw = ((double)w_) / LINGO_SCALE; if (ph) - *ph = ((double)h_)/LINGO_SCALE; + *ph = ((double)h_) / LINGO_SCALE; // xpos (left or centered) if (cent) { - d = ((double)w_)/LINGO_SCALE; + d = ((double)w_) / LINGO_SCALE; d /= 2.0; - d = (width>>1) - d; + d = (width >> 1) - d; } else d = 0.0; if (px) *px = d; @@ -66,7 +66,7 @@ // ypos (adjusted so text goes to bottom) - d = ((double)h_)/LINGO_SCALE; + d = ((double)h_) / LINGO_SCALE; d = height - d; if (py) *py = d; @@ -94,7 +94,7 @@ PangoFontFamily **pff = NULL; pango_font_map_list_families(pfm, &pff, &num); if (num > 0) { - font_list = (char **)lives_malloc((num+1)*sizeof(char *)); + font_list = (char **)lives_malloc((num + 1) * sizeof(char *)); if (font_list) { for (i = 0; i < num; ++i) font_list[i] = strdup(pango_font_family_get_name(pff[i])); @@ -150,34 +150,34 @@ // aligned to left (offs_x), unless "center" is TRUE #ifdef GUI_GTK - PangoFontDescription *font=NULL; + PangoFontDescription *font = NULL; #endif LingoLayout *layout; - double x_pos=0., y_pos=0.; + double x_pos = 0., y_pos = 0.; double x_text, y_text; - double dwidth=width, dheight=height; + double dwidth = width, dheight = height; - double b_alpha=1.; - double f_alpha=1.; + double b_alpha = 1.; + double f_alpha = 1.; - if (bg!=NULL) b_alpha=(double)bg->alpha/65535.; - if (fg!=NULL) f_alpha=(double)fg->alpha/65535.; + if (bg != NULL) b_alpha = (double)bg->alpha / 65535.; + if (fg != NULL) f_alpha = (double)fg->alpha / 65535.; - if (cr==NULL) return NULL; + if (cr == NULL) return NULL; #ifdef GUI_GTK - if (widget!=NULL) { - PangoContext *ctx=gtk_widget_get_pango_context(widget); - layout=pango_layout_new(ctx); + if (widget != NULL) { + PangoContext *ctx = gtk_widget_get_pango_context(widget); + layout = pango_layout_new(ctx); } else { layout = pango_cairo_create_layout(cr); - if (layout==NULL) return NULL; + if (layout == NULL) return NULL; font = pango_font_description_new(); pango_font_description_set_family(font, fontname); - pango_font_description_set_absolute_size(font, size*PANGO_SCALE); + pango_font_description_set_absolute_size(font, size * PANGO_SCALE); pango_layout_set_font_description(layout, font); } @@ -189,13 +189,13 @@ #endif #ifndef GUI_QT - if (rising||center||mode==LIVES_TEXT_MODE_FOREGROUND_AND_BACKGROUND) + if (rising || center || mode == LIVES_TEXT_MODE_FOREGROUND_AND_BACKGROUND) #endif getxypos(layout, &x_pos, &y_pos, width, height, center, &dwidth, &dheight); - if (!rising) y_pos = y_text = height*top; + if (!rising) y_pos = y_text = height * top; - if (!center) x_pos+=offs_x; + if (!center) x_pos += offs_x; x_text = x_pos; y_text = y_pos; @@ -211,7 +211,7 @@ case LIVES_TEXT_MODE_BACKGROUND_ONLY: lingo_layout_set_text(layout, "", -1); case LIVES_TEXT_MODE_FOREGROUND_AND_BACKGROUND: - lives_painter_set_source_rgba(cr,(double)bg->red/66535., (double)bg->green/66535., (double)bg->blue/66535., b_alpha); + lives_painter_set_source_rgba(cr, (double)bg->red / 66535., (double)bg->green / 66535., (double)bg->blue / 66535., b_alpha); fill_bckg(cr, x_pos, y_pos, dwidth, dheight); break; default: @@ -220,14 +220,14 @@ lives_painter_new_path(cr); lives_painter_move_to(cr, x_text, y_text); - lives_painter_set_source_rgba(cr,(double)fg->red/66535., (double)fg->green/66535., (double)fg->blue/66535., f_alpha); + lives_painter_set_source_rgba(cr, (double)fg->red / 66535., (double)fg->green / 66535., (double)fg->blue / 66535., f_alpha); #ifdef GUI_QT lingo_layout_set_coords(layout, x_pos, y_pos, dwidth, dheight); #endif #ifdef GUI_GTK - if (font!=NULL) { + if (font != NULL) { pango_font_description_free(font); } #endif @@ -255,27 +255,27 @@ int width, height, error; - width=weed_get_int_value(layer,WEED_LEAF_WIDTH,&error); - height=weed_get_int_value(layer,WEED_LEAF_HEIGHT,&error); + width = weed_get_int_value(layer, WEED_LEAF_WIDTH, &error); + height = weed_get_int_value(layer, WEED_LEAF_HEIGHT, &error); // do cairo and pango things - cr=layer_to_lives_painter(layer); - if (cr==NULL) return layer; ///< error occured + cr = layer_to_lives_painter(layer); + if (cr == NULL) return layer; ///< error occured - layout = render_text_to_cr(NULL,cr,text,fontname,size,mode,fg_col,bg_col,center,rising,top,0,width,height); + layout = render_text_to_cr(NULL, cr, text, fontname, size, mode, fg_col, bg_col, center, rising, top, 0, width, height); lingo_painter_show_layout(cr, layout); // do not !! //lives_painter_paint(cr); - lives_painter_to_layer(cr,layer); + lives_painter_to_layer(cr, layer); if (layout) lives_object_unref(layout); - surface=lives_painter_get_target(cr); - src=lives_painter_image_surface_get_data(surface); + surface = lives_painter_get_target(cr); + src = lives_painter_image_surface_get_data(surface); lives_free(src); lives_painter_destroy(cr); return layer; @@ -303,12 +303,12 @@ if (!pf || !title) return NULL; - curpos=ftell(pf); + curpos = ftell(pf); if (fseek(pf, title->textpos, SEEK_SET) == -1) return NULL; - while (fgets(data, sizeof(data)-1, pf)) { + while (fgets(data, sizeof(data) - 1, pf)) { // remove \n \r poslf = strstr(data, lf_str); if (poslf) @@ -319,10 +319,10 @@ curlen = strlen(data); if (!curlen) break; - strcat(data,"\n"); + strcat(data, "\n"); curlen = strlen(data); if (!ret) { - ret = (char *)lives_malloc(curlen+1); + ret = (char *)lives_malloc(curlen + 1); if (ret) strcpy(ret, data); else { @@ -330,7 +330,7 @@ return NULL; } } else { - ret = (char *)lives_realloc(ret, curlen+1+strlen(ret)); + ret = (char *)lives_realloc(ret, curlen + 1 + strlen(ret)); if (ret) strcat(ret, data); else { @@ -358,12 +358,12 @@ if (!pf || !title) return NULL; - curpos=ftell(pf); + curpos = ftell(pf); if (fseek(pf, title->textpos, SEEK_SET) == -1) return NULL; - while (fgets(data, sizeof(data)-1, pf)) { + while (fgets(data, sizeof(data) - 1, pf)) { // remove \n \r poslf = strstr(data, lf_str); if (poslf) @@ -374,20 +374,20 @@ curlen = strlen(data); if (!curlen) break; - strcat(data,"\n"); + strcat(data, "\n"); if (!ret) { - ret = subst(data,"[br]","\n"); + ret = subst(data, "[br]", "\n"); if (!ret) { fseek(pf, curpos, SEEK_SET); return NULL; } } else { - retmore = subst(data,"[br]","\n"); + retmore = subst(data, "[br]", "\n"); if (!retmore) { fseek(pf, curpos, SEEK_SET); return NULL; } - ret = (char *)lives_realloc(ret, strlen(retmore)+1+strlen(ret)); + ret = (char *)lives_realloc(ret, strlen(retmore) + 1 + strlen(ret)); if (ret) strcat(ret, retmore); else { @@ -407,13 +407,13 @@ static void sub_get_last_time(lives_subtitles_t *subt) { lives_subtitle_t *xsubt; - if (subt==NULL) return; + if (subt == NULL) return; - if (subt->current!=NULL) xsubt=subt->current; + if (subt->current != NULL) xsubt = subt->current; else xsubt = subt->index; - while (xsubt!=NULL) { - subt->last_time=xsubt->end_time; + while (xsubt != NULL) { + subt->last_time = xsubt->end_time; xsubt = (lives_subtitle_t *)xsubt->next; } } @@ -439,10 +439,10 @@ if (curr && (curr->start_time <= xtime) && (curr->end_time >= xtime)) return (TRUE); - if (sfile->subt->last_time!=-1. && xtime>sfile->subt->last_time) { + if (sfile->subt->last_time != -1. && xtime > sfile->subt->last_time) { // past end of subtitles lives_freep((void **)&sfile->subt->text); - sfile->subt->current=NULL; + sfile->subt->current = NULL; return TRUE; } @@ -461,7 +461,7 @@ if (index_ptr->end_time >= xtime) { sfile->subt->current = index_ptr; lives_freep((void **)&sfile->subt->text); - sfile->subt->text=srt_read_text(sfile->subt->tfile,sfile->subt->current); + sfile->subt->text = srt_read_text(sfile->subt->tfile, sfile->subt->current); return (TRUE); } index_prev = index_ptr; @@ -470,7 +470,7 @@ pf = sfile->subt->tfile; - while (fgets(data,sizeof(data), pf)) { + while (fgets(data, sizeof(data), pf)) { char *poslf = NULL, *poscr = NULL; int hstart, mstart, sstart, fstart; int hend, mend, send, fend; @@ -481,10 +481,10 @@ // data contains subtitle number // - if (!fgets(data,sizeof(data), pf)) { + if (!fgets(data, sizeof(data), pf)) { // EOF lives_freep((void **)&sfile->subt->text); - sfile->subt->current=NULL; + sfile->subt->current = NULL; sub_get_last_time(sfile->subt); return FALSE; } @@ -500,13 +500,13 @@ *poscr = '\0'; // try to parse it (time range) - i = sscanf(data,"%d:%d:%d,%d --> %d:%d:%d,%d",\ - &hstart, &mstart, &sstart, &fstart,\ + i = sscanf(data, "%d:%d:%d,%d --> %d:%d:%d,%d", \ + &hstart, &mstart, &sstart, &fstart, \ &hend, &mend, &send, &fend); if (i == 8) { // parsing ok - starttime = hstart*3600 + mstart*60 + sstart + fstart/1000.; - endtime = hend*3600 + mend*60 + send + fend/1000.; + starttime = hstart * 3600 + mstart * 60 + sstart + fstart / 1000.; + endtime = hend * 3600 + mend * 60 + send + fend / 1000.; node = (lives_subtitle_t *)lives_malloc(sizeof(lives_subtitle_t)); if (node) { node->start_time = starttime; @@ -514,7 +514,7 @@ node->style = NULL; node->next = NULL; node->prev = (lives_subtitle_t *)index_prev; - node->textpos=ftell(pf); + node->textpos = ftell(pf); if (index_prev) index_prev->next = (lives_subtitle_t *)node; else @@ -543,7 +543,7 @@ if (node->end_time >= xtime) { lives_freep((void **)&sfile->subt->text); sfile->subt->current = node; - sfile->subt->text=srt_read_text(sfile->subt->tfile,sfile->subt->current); + sfile->subt->text = srt_read_text(sfile->subt->tfile, sfile->subt->current); return TRUE; } } @@ -554,7 +554,7 @@ } // EOF - sfile->subt->current=NULL; + sfile->subt->current = NULL; lives_freep((void **)&sfile->subt->text); sub_get_last_time(sfile->subt); return FALSE; @@ -584,10 +584,10 @@ if (curr && (curr->start_time <= xtime) && (curr->end_time >= xtime)) return (TRUE); - if (sfile->subt->last_time!=-1. && xtime>sfile->subt->last_time) { + if (sfile->subt->last_time != -1. && xtime > sfile->subt->last_time) { // past end of subtitles lives_freep((void **)&sfile->subt->text); - sfile->subt->current=NULL; + sfile->subt->current = NULL; return TRUE; } @@ -606,7 +606,7 @@ if (index_ptr->end_time >= xtime) { sfile->subt->current = index_ptr; lives_freep((void **)&sfile->subt->text); - sfile->subt->text=sub_read_text(sfile->subt->tfile,sfile->subt->current); + sfile->subt->text = sub_read_text(sfile->subt->tfile, sfile->subt->current); return (TRUE); } index_prev = index_ptr; @@ -615,9 +615,9 @@ pf = sfile->subt->tfile; - starttext = (sfile->subt->index!=NULL); + starttext = (sfile->subt->index != NULL); - while (fgets(data,sizeof(data), pf)) { + while (fgets(data, sizeof(data), pf)) { char *poslf = NULL, *poscr = NULL; int hstart, mstart, sstart, fstart; int hend, mend, send, fend; @@ -629,8 +629,8 @@ } if (!starttext) { - if (!strncmp(data,"[DELAY]",7)) { - sfile->subt->offset=atoi(data+7); + if (!strncmp(data, "[DELAY]", 7)) { + sfile->subt->offset = atoi(data + 7); } continue; } @@ -647,13 +647,13 @@ *poscr = '\0'; // try to parse it (time range) - i = sscanf(data,"%d:%d:%d.%d,%d:%d:%d.%d",\ - &hstart, &mstart, &sstart, &fstart,\ + i = sscanf(data, "%d:%d:%d.%d,%d:%d:%d.%d", \ + &hstart, &mstart, &sstart, &fstart, \ &hend, &mend, &send, &fend); if (i == 8) { // parsing ok - starttime = hstart*3600 + mstart*60 + sstart + fstart/100.; - endtime = hend*3600 + mend*60 + send + fend/100.; + starttime = hstart * 3600 + mstart * 60 + sstart + fstart / 100.; + endtime = hend * 3600 + mend * 60 + send + fend / 100.; node = (lives_subtitle_t *)lives_malloc(sizeof(lives_subtitle_t)); if (node) { node->start_time = starttime; @@ -661,7 +661,7 @@ node->style = NULL; node->next = NULL; node->prev = (lives_subtitle_t *)index_prev; - node->textpos=ftell(pf); + node->textpos = ftell(pf); if (index_prev) index_prev->next = (lives_subtitle_t *)node; else @@ -690,7 +690,7 @@ if (node->end_time >= xtime) { lives_freep((void **)&sfile->subt->text); sfile->subt->current = node; - sfile->subt->text=sub_read_text(sfile->subt->tfile,sfile->subt->current); + sfile->subt->text = sub_read_text(sfile->subt->tfile, sfile->subt->current); return TRUE; } } @@ -700,7 +700,7 @@ } // EOF - sfile->subt->current=NULL; + sfile->subt->current = NULL; lives_freep((void **)&sfile->subt->text); sub_get_last_time(sfile->subt); return TRUE; @@ -709,10 +709,10 @@ /// void subtitles_free(lives_clip_t *sfile) { - if (sfile==NULL) return; - if (sfile->subt==NULL) return; + if (sfile == NULL) return; + if (sfile->subt == NULL) return; - if (sfile->subt->tfile!=NULL) fclose(sfile->subt->tfile); + if (sfile->subt->tfile != NULL) fclose(sfile->subt->tfile); // remove subt->index entries while (sfile->subt->index) { @@ -734,27 +734,27 @@ // fname is the name of the subtitle file FILE *tfile; - if (sfile==NULL) return FALSE; + if (sfile == NULL) return FALSE; - if (sfile->subt!=NULL) subtitles_free(sfile); + if (sfile->subt != NULL) subtitles_free(sfile); - sfile->subt=NULL; + sfile->subt = NULL; - if ((tfile=fopen(fname,"r"))==NULL) return FALSE; + if ((tfile = fopen(fname, "r")) == NULL) return FALSE; - sfile->subt=(lives_subtitles_t *)lives_malloc(sizeof(lives_subtitles_t)); + sfile->subt = (lives_subtitles_t *)lives_malloc(sizeof(lives_subtitles_t)); - sfile->subt->tfile=tfile; + sfile->subt->tfile = tfile; - sfile->subt->current=sfile->subt->index = NULL; + sfile->subt->current = sfile->subt->index = NULL; - sfile->subt->text=NULL; + sfile->subt->text = NULL; - sfile->subt->last_time=-1.; + sfile->subt->last_time = -1.; - sfile->subt->type=subtype; + sfile->subt->type = subtype; - sfile->subt->offset=0; + sfile->subt->offset = 0; return TRUE; } @@ -763,11 +763,11 @@ int ntim = (int)tim; int h, m, s, ms; - h = ntim/3600; - m = (ntim-h*3600)/60; - s = (ntim-h*3600-m*60); - if (fix==3) ms = (int)((tim-ntim)*1000.0+.5); - else ms = (int)((tim-ntim)*100.0+.5); // hundredths + h = ntim / 3600; + m = (ntim - h * 3600) / 60; + s = (ntim - h * 3600 - m * 60); + if (fix == 3) ms = (int)((tim - ntim) * 1000.0 + .5); + else ms = (int)((tim - ntim) * 100.0 + .5); // hundredths if (ph) *ph = h; if (pmin) @@ -779,7 +779,7 @@ } boolean save_srt_subtitles(lives_clip_t *sfile, double start_time, double end_time, double offset_time, const char *filename) { - lives_subtitles_t *subt=NULL; + lives_subtitles_t *subt = NULL; int64_t savepos = 0; FILE *pf; int num_saves; @@ -809,19 +809,19 @@ int h, m, s, ms; double dtim; - if (num_saves>0) fprintf(pf,"\n"); + if (num_saves > 0) fprintf(pf, "\n"); fprintf(pf, "%d\n", ++num_saves); dtim = ptr->start_time; - if (dtim < start_time) dtim=start_time; + if (dtim < start_time) dtim = start_time; dtim += offset_time; parse_double_time(dtim, &h, &m, &s, &ms, 3); fprintf(pf, "%02d:%02d:%02d,%03d --> ", h, m, s, ms); dtim = ptr->end_time; - if (dtim > end_time) dtim=end_time; + if (dtim > end_time) dtim = end_time; dtim += offset_time; parse_double_time(dtim, &h, &m, &s, &ms, 3); @@ -830,7 +830,7 @@ fprintf(pf, "%s", text); lives_free(text); } - } else if (ptr->start_time>=end_time) break; + } else if (ptr->start_time >= end_time) break; ptr = (lives_subtitle_t *)ptr->next; } @@ -845,7 +845,7 @@ } boolean save_sub_subtitles(lives_clip_t *sfile, double start_time, double end_time, double offset_time, const char *filename) { - lives_subtitles_t *subt=NULL; + lives_subtitles_t *subt = NULL; int64_t savepos = 0; FILE *pf; int num_saves; @@ -888,21 +888,21 @@ int h, m, s, ms; double dtim; - if (!strncmp(text+strlen(text)-1,"\n",1)) memset(text+strlen(text)-1,0,1); + if (!strncmp(text + strlen(text) - 1, "\n", 1)) memset(text + strlen(text) - 1, 0, 1); br_text = subst(text, "\n", "[br]"); if (br_text) { - if (num_saves>0) fprintf(pf,"\n"); + if (num_saves > 0) fprintf(pf, "\n"); dtim = ptr->start_time; - if (dtim < start_time) dtim=start_time; + if (dtim < start_time) dtim = start_time; dtim += offset_time; parse_double_time(dtim, &h, &m, &s, &ms, 2); fprintf(pf, "%02d:%02d:%02d.%02d,", h, m, s, ms); dtim = ptr->end_time; - if (dtim > end_time) dtim=end_time; + if (dtim > end_time) dtim = end_time; dtim += offset_time; parse_double_time(dtim, &h, &m, &s, &ms, 2); @@ -913,7 +913,7 @@ } lives_free(text); } - } else if (ptr->start_time>=end_time) break; + } else if (ptr->start_time >= end_time) break; ptr = (lives_subtitle_t *)ptr->next; }
View file
LiVES-2.8.4.tar.bz2/src/pangotext.h -> LiVES-2.8.6.tar.bz2/src/pangotext.h
Changed
@@ -11,7 +11,7 @@ #define LIVES_PANGOTEXT_H typedef enum { - SUBTITLE_TYPE_NONE=0, + SUBTITLE_TYPE_NONE = 0, SUBTITLE_TYPE_SRT, SUBTITLE_TYPE_SUB } lives_subtitle_type_t;
View file
LiVES-2.8.4.tar.bz2/src/paramspecial.c -> LiVES-2.8.6.tar.bz2/src/paramspecial.c
Changed
@@ -33,17 +33,17 @@ void init_special(void) { - framedraw.type=LIVES_PARAM_SPECIAL_TYPE_NONE; - aspect.width_param=aspect.height_param=NULL; - aspect.checkbutton=NULL; - framedraw.xstart_param=framedraw.ystart_param=framedraw.xend_param=framedraw.yend_param=NULL; - framedraw.stdwidgets=0; - framedraw.extra_params=NULL; - framedraw.num_extra=0; - framedraw.added=FALSE; - mergealign.start_param=mergealign.end_param=NULL; - passwd_widgets=NULL; - fileread=NULL; + framedraw.type = LIVES_PARAM_SPECIAL_TYPE_NONE; + aspect.width_param = aspect.height_param = NULL; + aspect.checkbutton = NULL; + framedraw.xstart_param = framedraw.ystart_param = framedraw.xend_param = framedraw.yend_param = NULL; + framedraw.stdwidgets = 0; + framedraw.extra_params = NULL; + framedraw.num_extra = 0; + framedraw.added = FALSE; + mergealign.start_param = mergealign.end_param = NULL; + passwd_widgets = NULL; + fileread = NULL; } @@ -51,8 +51,8 @@ void add_to_special(const char *sp_string, lives_rfx_t *rfx) { - char **array=lives_strsplit(sp_string,"|",-1); - int num_widgets=get_token_count(sp_string,'|')-2; + char **array = lives_strsplit(sp_string, "|", -1); + int num_widgets = get_token_count(sp_string, '|') - 2; int pnum; register int i; @@ -60,93 +60,93 @@ // TODO - assert only one of each of these - if (!strcmp(array[0],"aspect")) { - aspect.width_param=&rfx->params[atoi(array[1])]; - aspect.height_param=&rfx->params[atoi(array[2])]; - } else if (!strcmp(array[0],"mergealign")) { + if (!strcmp(array[0], "aspect")) { + aspect.width_param = &rfx->params[atoi(array[1])]; + aspect.height_param = &rfx->params[atoi(array[2])]; + } else if (!strcmp(array[0], "mergealign")) { // align start/end /* if (fx_dialog[1]!=NULL) { lives_strfreev(array); return; }*/ - mergealign.start_param=&rfx->params[atoi(array[1])]; - mergealign.end_param=&rfx->params[atoi(array[2])]; - mergealign.rfx=rfx; - } else if (!strcmp(array[0],"framedraw")) { - if (fx_dialog[1]!=NULL) { + mergealign.start_param = &rfx->params[atoi(array[1])]; + mergealign.end_param = &rfx->params[atoi(array[2])]; + mergealign.rfx = rfx; + } else if (!strcmp(array[0], "framedraw")) { + if (fx_dialog[1] != NULL) { lives_strfreev(array); return; } - framedraw.rfx=rfx; - if (!strcmp(array[1],"rectdemask")) { - framedraw.type=LIVES_PARAM_SPECIAL_TYPE_RECT_DEMASK; - framedraw.xstart_param=&rfx->params[atoi(array[2])]; - framedraw.ystart_param=&rfx->params[atoi(array[3])]; - framedraw.xend_param=&rfx->params[atoi(array[4])]; - framedraw.yend_param=&rfx->params[atoi(array[5])]; - framedraw.stdwidgets=4; - } else if (!strcmp(array[1],"multrect")) { - framedraw.type=LIVES_PARAM_SPECIAL_TYPE_RECT_MULTRECT; - framedraw.xstart_param=&rfx->params[atoi(array[2])]; - framedraw.ystart_param=&rfx->params[atoi(array[3])]; - framedraw.xend_param=&rfx->params[atoi(array[4])]; - framedraw.yend_param=&rfx->params[atoi(array[5])]; - framedraw.stdwidgets=4; - } else if (!strcmp(array[1],"multirect")) { - framedraw.type=LIVES_PARAM_SPECIAL_TYPE_RECT_MULTIRECT; - framedraw.xstart_param=&rfx->params[atoi(array[2])]; - framedraw.ystart_param=&rfx->params[atoi(array[3])]; - framedraw.xend_param=&rfx->params[atoi(array[4])]; - framedraw.yend_param=&rfx->params[atoi(array[5])]; - framedraw.stdwidgets=4; - } else if (!strcmp(array[1],"singlepoint")) { - framedraw.type=LIVES_PARAM_SPECIAL_TYPE_SINGLEPOINT; - framedraw.xstart_param=&rfx->params[atoi(array[2])]; - framedraw.ystart_param=&rfx->params[atoi(array[3])]; - framedraw.stdwidgets=2; + framedraw.rfx = rfx; + if (!strcmp(array[1], "rectdemask")) { + framedraw.type = LIVES_PARAM_SPECIAL_TYPE_RECT_DEMASK; + framedraw.xstart_param = &rfx->params[atoi(array[2])]; + framedraw.ystart_param = &rfx->params[atoi(array[3])]; + framedraw.xend_param = &rfx->params[atoi(array[4])]; + framedraw.yend_param = &rfx->params[atoi(array[5])]; + framedraw.stdwidgets = 4; + } else if (!strcmp(array[1], "multrect")) { + framedraw.type = LIVES_PARAM_SPECIAL_TYPE_RECT_MULTRECT; + framedraw.xstart_param = &rfx->params[atoi(array[2])]; + framedraw.ystart_param = &rfx->params[atoi(array[3])]; + framedraw.xend_param = &rfx->params[atoi(array[4])]; + framedraw.yend_param = &rfx->params[atoi(array[5])]; + framedraw.stdwidgets = 4; + } else if (!strcmp(array[1], "multirect")) { + framedraw.type = LIVES_PARAM_SPECIAL_TYPE_RECT_MULTIRECT; + framedraw.xstart_param = &rfx->params[atoi(array[2])]; + framedraw.ystart_param = &rfx->params[atoi(array[3])]; + framedraw.xend_param = &rfx->params[atoi(array[4])]; + framedraw.yend_param = &rfx->params[atoi(array[5])]; + framedraw.stdwidgets = 4; + } else if (!strcmp(array[1], "singlepoint")) { + framedraw.type = LIVES_PARAM_SPECIAL_TYPE_SINGLEPOINT; + framedraw.xstart_param = &rfx->params[atoi(array[2])]; + framedraw.ystart_param = &rfx->params[atoi(array[3])]; + framedraw.stdwidgets = 2; } - if (num_widgets>framedraw.stdwidgets) framedraw.extra_params= - (int *)lives_malloc(((framedraw.num_extra=(num_widgets-framedraw.stdwidgets)))*sizint); - - for (i=0; i<num_widgets; i++) { - pnum=atoi(array[i+2]); - if (rfx->status==RFX_STATUS_WEED) { - if (mainw->multitrack!=NULL) { - if (rfx->params[pnum].multi==PVAL_MULTI_PER_CHANNEL) { - if ((rfx->params[pnum].hidden&HIDDEN_MULTI)==HIDDEN_MULTI) { - if (mainw->multitrack->track_index!=-1) { - rfx->params[pnum].hidden^=HIDDEN_MULTI; // multivalues allowed + if (num_widgets > framedraw.stdwidgets) framedraw.extra_params = + (int *)lives_malloc(((framedraw.num_extra = (num_widgets - framedraw.stdwidgets))) * sizint); + + for (i = 0; i < num_widgets; i++) { + pnum = atoi(array[i + 2]); + if (rfx->status == RFX_STATUS_WEED) { + if (mainw->multitrack != NULL) { + if (rfx->params[pnum].multi == PVAL_MULTI_PER_CHANNEL) { + if ((rfx->params[pnum].hidden & HIDDEN_MULTI) == HIDDEN_MULTI) { + if (mainw->multitrack->track_index != -1) { + rfx->params[pnum].hidden ^= HIDDEN_MULTI; // multivalues allowed } else { - rfx->params[pnum].hidden|=HIDDEN_MULTI; // multivalues hidden + rfx->params[pnum].hidden |= HIDDEN_MULTI; // multivalues hidden } } } } } - if (i>=framedraw.stdwidgets) framedraw.extra_params[i-framedraw.stdwidgets]=pnum; + if (i >= framedraw.stdwidgets) framedraw.extra_params[i - framedraw.stdwidgets] = pnum; } - if (mainw->multitrack!=NULL) { - mainw->multitrack->framedraw=&framedraw; + if (mainw->multitrack != NULL) { + mainw->multitrack->framedraw = &framedraw; lives_widget_set_bg_color(mainw->multitrack->fd_frame, LIVES_WIDGET_STATE_NORMAL, &palette->light_red); } } // can be multiple of each of these - else if (!strcmp(array[0],"fileread")) { - int idx=atoi(array[1]); - fileread=lives_list_append(fileread,(livespointer)&rfx->params[idx]); + else if (!strcmp(array[0], "fileread")) { + int idx = atoi(array[1]); + fileread = lives_list_append(fileread, (livespointer)&rfx->params[idx]); // ensure we get an entry and not a text_view - if ((int)rfx->params[idx].max>RFX_TEXT_MAGIC) rfx->params[idx].max=(double)RFX_TEXT_MAGIC; - } else if (!strcmp(array[0],"password")) { - int idx=atoi(array[1]); - passwd_widgets=lives_list_append(passwd_widgets,(livespointer)&rfx->params[idx]); + if ((int)rfx->params[idx].max > RFX_TEXT_MAGIC) rfx->params[idx].max = (double)RFX_TEXT_MAGIC; + } else if (!strcmp(array[0], "password")) { + int idx = atoi(array[1]); + passwd_widgets = lives_list_append(passwd_widgets, (livespointer)&rfx->params[idx]); // ensure we get an entry and not a text_view - if ((int)rfx->params[idx].max>RFX_TEXT_MAGIC) rfx->params[idx].max=(double)RFX_TEXT_MAGIC; + if ((int)rfx->params[idx].max > RFX_TEXT_MAGIC) rfx->params[idx].max = (double)RFX_TEXT_MAGIC; } lives_strfreev(array); @@ -154,24 +154,24 @@ void fd_tweak(lives_rfx_t *rfx) { - if (rfx->props&RFX_PROPS_MAY_RESIZE) { - if (framedraw.type!=LIVES_PARAM_SPECIAL_TYPE_NONE) { + if (rfx->props & RFX_PROPS_MAY_RESIZE) { + if (framedraw.type != LIVES_PARAM_SPECIAL_TYPE_NONE) { // for effects which can resize, and have a special framedraw, we will use original sized image lives_widget_hide(mainw->framedraw_preview); - lives_widget_set_sensitive(mainw->framedraw_spinbutton,TRUE); - lives_widget_set_sensitive(mainw->framedraw_scale,TRUE); + lives_widget_set_sensitive(mainw->framedraw_spinbutton, TRUE); + lives_widget_set_sensitive(mainw->framedraw_scale, TRUE); } } } void fd_connect_spinbutton(lives_rfx_t *rfx) { - framedraw_connect_spinbutton(&framedraw,rfx); + framedraw_connect_spinbutton(&framedraw, rfx); } static void passwd_toggle_vis(LiVESToggleButton *b, livespointer entry) { - lives_entry_set_visibility(LIVES_ENTRY(entry),lives_toggle_button_get_active(b)); + lives_entry_set_visibility(LIVES_ENTRY(entry), lives_toggle_button_get_active(b)); } @@ -183,82 +183,82 @@ LiVESList *slist; - char *tmp,*tmp2; + char *tmp, *tmp2; // check if this parameter is part of a special window // as we are drawing the paramwindow - if (param==framedraw.xstart_param) { - param->special_type=framedraw.type; - param->special_type_index=0; - if (framedraw.type==LIVES_PARAM_SPECIAL_TYPE_RECT_DEMASK) - lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]),0.); + if (param == framedraw.xstart_param) { + param->special_type = framedraw.type; + param->special_type_index = 0; + if (framedraw.type == LIVES_PARAM_SPECIAL_TYPE_RECT_DEMASK) + lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]), 0.); lives_signal_connect_after(LIVES_GUI_OBJECT(param->widgets[0]), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(after_framedraw_widget_changed), &framedraw); } - if (param==framedraw.ystart_param) { - param->special_type=framedraw.type; - param->special_type_index=1; - if (framedraw.type==LIVES_PARAM_SPECIAL_TYPE_RECT_DEMASK) - lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]),0.); + if (param == framedraw.ystart_param) { + param->special_type = framedraw.type; + param->special_type_index = 1; + if (framedraw.type == LIVES_PARAM_SPECIAL_TYPE_RECT_DEMASK) + lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]), 0.); lives_signal_connect_after(LIVES_GUI_OBJECT(param->widgets[0]), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(after_framedraw_widget_changed), &framedraw); } - if (mainw->current_file>-1) { - if (param==framedraw.xend_param) { - param->special_type=framedraw.type; - param->special_type_index=2; - if (framedraw.type==LIVES_PARAM_SPECIAL_TYPE_RECT_DEMASK) - lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]),(double)cfile->hsize); + if (mainw->current_file > -1) { + if (param == framedraw.xend_param) { + param->special_type = framedraw.type; + param->special_type_index = 2; + if (framedraw.type == LIVES_PARAM_SPECIAL_TYPE_RECT_DEMASK) + lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]), (double)cfile->hsize); lives_signal_connect_after(LIVES_GUI_OBJECT(param->widgets[0]), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(after_framedraw_widget_changed), &framedraw); } - if (param==framedraw.yend_param) { - param->special_type=framedraw.type; - param->special_type_index=3; - if (framedraw.type==LIVES_PARAM_SPECIAL_TYPE_RECT_DEMASK) - lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]),(double)cfile->vsize); + if (param == framedraw.yend_param) { + param->special_type = framedraw.type; + param->special_type_index = 3; + if (framedraw.type == LIVES_PARAM_SPECIAL_TYPE_RECT_DEMASK) + lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]), (double)cfile->vsize); lives_signal_connect_after(LIVES_GUI_OBJECT(param->widgets[0]), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(after_framedraw_widget_changed), &framedraw); } - if (framedraw.stdwidgets>0&&!framedraw.added) { - if (framedraw.xstart_param!=NULL&&framedraw.xstart_param->widgets[0]!=NULL&& - framedraw.ystart_param!=NULL&&framedraw.ystart_param->widgets[0]!=NULL) { - if (framedraw.stdwidgets==2||(framedraw.xend_param!=NULL&&framedraw.xend_param->widgets[0]!=NULL&& - framedraw.yend_param!=NULL&&framedraw.yend_param->widgets[0]!=NULL)) { - if (mainw->multitrack==NULL) { - framedraw_connect(&framedraw,cfile->hsize,cfile->vsize,rfx); // turn passive preview->active - framedraw_add_reset(LIVES_VBOX(LIVES_WIDGET(pbox)),&framedraw); + if (framedraw.stdwidgets > 0 && !framedraw.added) { + if (framedraw.xstart_param != NULL && framedraw.xstart_param->widgets[0] != NULL && + framedraw.ystart_param != NULL && framedraw.ystart_param->widgets[0] != NULL) { + if (framedraw.stdwidgets == 2 || (framedraw.xend_param != NULL && framedraw.xend_param->widgets[0] != NULL && + framedraw.yend_param != NULL && framedraw.yend_param->widgets[0] != NULL)) { + if (mainw->multitrack == NULL) { + framedraw_connect(&framedraw, cfile->hsize, cfile->vsize, rfx); // turn passive preview->active + framedraw_add_reset(LIVES_VBOX(LIVES_WIDGET(pbox)), &framedraw); } else { - mainw->framedraw=mainw->play_image; + mainw->framedraw = mainw->play_image; } - framedraw.added=TRUE; + framedraw.added = TRUE; } } } - if (param==aspect.width_param) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]),(double)cfile->hsize); - aspect.width_func=lives_signal_connect_after(LIVES_GUI_OBJECT(param->widgets[0]), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, - LIVES_GUI_CALLBACK(after_aspect_width_changed), - NULL); + if (param == aspect.width_param) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]), (double)cfile->hsize); + aspect.width_func = lives_signal_connect_after(LIVES_GUI_OBJECT(param->widgets[0]), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, + LIVES_GUI_CALLBACK(after_aspect_width_changed), + NULL); } - if (param==aspect.height_param) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]),(double)cfile->vsize); - aspect.height_func=lives_signal_connect_after(LIVES_GUI_OBJECT(param->widgets[0]), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, - LIVES_GUI_CALLBACK(after_aspect_height_changed), - NULL); + if (param == aspect.height_param) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]), (double)cfile->vsize); + aspect.height_func = lives_signal_connect_after(LIVES_GUI_OBJECT(param->widgets[0]), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, + LIVES_GUI_CALLBACK(after_aspect_height_changed), + NULL); box = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(LIVES_WIDGET(pbox)), box, FALSE, FALSE, widget_opts.packing_height*2); + lives_box_pack_start(LIVES_BOX(LIVES_WIDGET(pbox)), box, FALSE, FALSE, widget_opts.packing_height * 2); add_fill_to_box(LIVES_BOX(box)); - checkbutton = lives_standard_check_button_new((tmp=lives_strdup(_("Maintain _Aspect Ratio"))),TRUE, - LIVES_BOX(box),(tmp2=lives_strdup(_("Maintain aspect ratio of original frame")))); + checkbutton = lives_standard_check_button_new((tmp = lives_strdup(_("Maintain _Aspect Ratio"))), TRUE, + LIVES_BOX(box), (tmp2 = lives_strdup(_("Maintain aspect ratio of original frame")))); lives_free(tmp); lives_free(tmp2); @@ -267,74 +267,74 @@ lives_widget_show_all(box); - aspect.checkbutton=checkbutton; + aspect.checkbutton = checkbutton; } } - slist=fileread; - while (slist!=NULL) { - if (param==(lives_param_t *)(slist->data)) { + slist = fileread; + while (slist != NULL) { + if (param == (lives_param_t *)(slist->data)) { int epos; - param->special_type=LIVES_PARAM_SPECIAL_TYPE_FILEREAD; + param->special_type = LIVES_PARAM_SPECIAL_TYPE_FILEREAD; - if (param->widgets[0]==NULL) continue; + if (param->widgets[0] == NULL) continue; - box=lives_widget_get_parent(param->widgets[0]); + box = lives_widget_get_parent(param->widgets[0]); - while (box!=NULL&&!LIVES_IS_HBOX(box)) { - box=lives_widget_get_parent(box); + while (box != NULL && !LIVES_IS_HBOX(box)) { + box = lives_widget_get_parent(box); } - if (box==NULL) return; + if (box == NULL) return; - epos=get_box_child_index(LIVES_BOX(box),param->widgets[0]); + epos = get_box_child_index(LIVES_BOX(box), param->widgets[0]); - buttond = lives_standard_file_button_new(FALSE,lives_get_current_dir()); - lives_box_pack_start(LIVES_BOX(box),buttond,FALSE,FALSE,widget_opts.packing_width); - lives_box_reorder_child(LIVES_BOX(box),buttond,epos); // insert after label, before textbox + buttond = lives_standard_file_button_new(FALSE, lives_get_current_dir()); + lives_box_pack_start(LIVES_BOX(box), buttond, FALSE, FALSE, widget_opts.packing_width); + lives_box_reorder_child(LIVES_BOX(box), buttond, epos); // insert after label, before textbox lives_signal_connect(buttond, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_filesel_button_clicked), (livespointer)param->widgets[0]); - if (!lives_widget_is_sensitive(param->widgets[0])) lives_widget_set_sensitive(buttond,FALSE); + if (!lives_widget_is_sensitive(param->widgets[0])) lives_widget_set_sensitive(buttond, FALSE); if (LIVES_IS_ENTRY(param->widgets[0])) { - lives_entry_set_editable(LIVES_ENTRY(param->widgets[0]),FALSE); - if (param->widgets[1]!=NULL&& - LIVES_IS_LABEL(param->widgets[1])&& - lives_label_get_mnemonic_widget(LIVES_LABEL(param->widgets[1]))!=NULL) - lives_label_set_mnemonic_widget(LIVES_LABEL(param->widgets[1]),buttond); - lives_entry_set_max_length(LIVES_ENTRY(param->widgets[0]),PATH_MAX); + lives_entry_set_editable(LIVES_ENTRY(param->widgets[0]), FALSE); + if (param->widgets[1] != NULL && + LIVES_IS_LABEL(param->widgets[1]) && + lives_label_get_mnemonic_widget(LIVES_LABEL(param->widgets[1])) != NULL) + lives_label_set_mnemonic_widget(LIVES_LABEL(param->widgets[1]), buttond); + lives_entry_set_max_length(LIVES_ENTRY(param->widgets[0]), PATH_MAX); } } - slist=slist->next; + slist = slist->next; } // password fields - slist=passwd_widgets; - while (slist!=NULL) { - if (param==(lives_param_t *)(slist->data)) { - if (param->widgets[0]==NULL) continue; + slist = passwd_widgets; + while (slist != NULL) { + if (param == (lives_param_t *)(slist->data)) { + if (param->widgets[0] == NULL) continue; - box=lives_widget_get_parent(param->widgets[0]); + box = lives_widget_get_parent(param->widgets[0]); - param->special_type=LIVES_PARAM_SPECIAL_TYPE_PASSWORD; + param->special_type = LIVES_PARAM_SPECIAL_TYPE_PASSWORD; while (!LIVES_IS_VBOX(box)) { - box=lives_widget_get_parent(box); - if (box==NULL) continue; + box = lives_widget_get_parent(box); + if (box == NULL) continue; } hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(LIVES_WIDGET(box)), hbox, FALSE, FALSE, widget_opts.packing_height); - checkbutton = lives_standard_check_button_new(_("Display Password"),FALSE,LIVES_BOX(hbox),NULL); + checkbutton = lives_standard_check_button_new(_("Display Password"), FALSE, LIVES_BOX(hbox), NULL); - lives_button_set_focus_on_click(LIVES_BUTTON(checkbutton),FALSE); + lives_button_set_focus_on_click(LIVES_BUTTON(checkbutton), FALSE); - if (!lives_widget_is_sensitive(param->widgets[0])) lives_widget_set_sensitive(checkbutton,FALSE); + if (!lives_widget_is_sensitive(param->widgets[0])) lives_widget_set_sensitive(checkbutton, FALSE); lives_widget_show_all(hbox); lives_signal_connect_after(LIVES_GUI_OBJECT(checkbutton), LIVES_WIDGET_TOGGLED_SIGNAL, @@ -343,10 +343,10 @@ - lives_entry_set_visibility(LIVES_ENTRY(param->widgets[0]),FALSE); + lives_entry_set_visibility(LIVES_ENTRY(param->widgets[0]), FALSE); } - slist=slist->next; + slist = slist->next; } } @@ -354,60 +354,60 @@ void after_aspect_width_changed(LiVESSpinButton *spinbutton, livespointer user_data) { if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(aspect.checkbutton))) { - boolean keepeven=FALSE; - int width=lives_spin_button_get_value_as_int(spinbutton); - int height=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(aspect.height_param->widgets[0])); - lives_signal_handler_block(aspect.height_param->widgets[0],aspect.height_func); + boolean keepeven = FALSE; + int width = lives_spin_button_get_value_as_int(spinbutton); + int height = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(aspect.height_param->widgets[0])); + lives_signal_handler_block(aspect.height_param->widgets[0], aspect.height_func); - if (((cfile->hsize>>1)<<1)==cfile->hsize&&((cfile->vsize>>1)<<1)==cfile->vsize) { + if (((cfile->hsize >> 1) << 1) == cfile->hsize && ((cfile->vsize >> 1) << 1) == cfile->vsize) { // try to keep even - keepeven=TRUE; + keepeven = TRUE; } - height=(int)(width*cfile->vsize/cfile->hsize+.5); + height = (int)(width * cfile->vsize / cfile->hsize + .5); - if (keepeven&&((height>>1)<<1)!=height) { - int owidth=width; + if (keepeven && ((height >> 1) << 1) != height) { + int owidth = width; height--; - width=(int)(height*cfile->hsize/cfile->vsize+.5); - if (width!=owidth) { - height+=2; - width=owidth; + width = (int)(height * cfile->hsize / cfile->vsize + .5); + if (width != owidth) { + height += 2; + width = owidth; } } lives_spin_button_set_value(LIVES_SPIN_BUTTON(aspect.height_param->widgets[0]), (double)height); - lives_signal_handler_unblock(aspect.height_param->widgets[0],aspect.height_func); + lives_signal_handler_unblock(aspect.height_param->widgets[0], aspect.height_func); } } void after_aspect_height_changed(LiVESToggleButton *spinbutton, livespointer user_data) { if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(aspect.checkbutton))) { - boolean keepeven=FALSE; - int height=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); - int width=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(aspect.width_param->widgets[0])); + boolean keepeven = FALSE; + int height = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); + int width = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(aspect.width_param->widgets[0])); - lives_signal_handler_block(aspect.width_param->widgets[0],aspect.width_func); + lives_signal_handler_block(aspect.width_param->widgets[0], aspect.width_func); - if (((cfile->hsize>>1)<<1)==cfile->hsize&&((cfile->vsize>>1)<<1)==cfile->vsize) { + if (((cfile->hsize >> 1) << 1) == cfile->hsize && ((cfile->vsize >> 1) << 1) == cfile->vsize) { // try to keep even - keepeven=TRUE; + keepeven = TRUE; } - width=(int)(height*cfile->hsize/cfile->vsize+.5); + width = (int)(height * cfile->hsize / cfile->vsize + .5); - if (keepeven&&((width>>1)<<1)!=width) { - int oheight=height; + if (keepeven && ((width >> 1) << 1) != width) { + int oheight = height; width--; - height=(int)(width*cfile->vsize/cfile->hsize+.5); - if (height!=oheight) { - width+=2; - height=oheight; + height = (int)(width * cfile->vsize / cfile->hsize + .5); + if (height != oheight) { + width += 2; + height = oheight; } } lives_spin_button_set_value(LIVES_SPIN_BUTTON(aspect.width_param->widgets[0]), (double)width); - lives_signal_handler_unblock(aspect.width_param->widgets[0],aspect.width_func); + lives_signal_handler_unblock(aspect.width_param->widgets[0], aspect.width_func); } } @@ -415,81 +415,81 @@ void special_cleanup(void) { // free some memory now - mainw->framedraw=mainw->framedraw_reset=NULL; - mainw->framedraw_spinbutton=NULL; + mainw->framedraw = mainw->framedraw_reset = NULL; + mainw->framedraw_spinbutton = NULL; - if (mainw->fd_layer!=NULL) weed_layer_free(mainw->fd_layer); - mainw->fd_layer=NULL; + if (mainw->fd_layer != NULL) weed_layer_free(mainw->fd_layer); + mainw->fd_layer = NULL; - if (mainw->fd_layer_orig!=NULL) weed_layer_free(mainw->fd_layer_orig); - mainw->fd_layer_orig=NULL; + if (mainw->fd_layer_orig != NULL) weed_layer_free(mainw->fd_layer_orig); + mainw->fd_layer_orig = NULL; - mainw->framedraw_preview=NULL; + mainw->framedraw_preview = NULL; - if (framedraw.extra_params!=NULL) lives_free(framedraw.extra_params); + if (framedraw.extra_params != NULL) lives_free(framedraw.extra_params); - if (fileread!=NULL) lives_list_free(fileread); - if (passwd_widgets!=NULL) lives_list_free(passwd_widgets); + if (fileread != NULL) lives_list_free(fileread); + if (passwd_widgets != NULL) lives_list_free(passwd_widgets); - framedraw.added=FALSE; + framedraw.added = FALSE; } void set_aspect_ratio_widgets(lives_param_t *w, lives_param_t *h) { - aspect.width_param=w; - aspect.height_param=h; + aspect.width_param = w; + aspect.height_param = h; } void setmergealign(void) { lives_param_t *param; - int cb_frames=clipboard->frames; + int cb_frames = clipboard->frames; - if (prefs->ins_resample&&clipboard->fps!=cfile->fps) { - cb_frames=count_resampled_frames(clipboard->frames,clipboard->fps,cfile->fps); + if (prefs->ins_resample && clipboard->fps != cfile->fps) { + cb_frames = count_resampled_frames(clipboard->frames, clipboard->fps, cfile->fps); } - if (cfile->end-cfile->start+1>(cb_frames*((merge_opts!=NULL&&merge_opts->spinbutton_loops!=NULL)? - lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(merge_opts->spinbutton_loops)):1)) - &&!merge_opts->loop_to_fit) { + if (cfile->end - cfile->start + 1 > (cb_frames * ((merge_opts != NULL && merge_opts->spinbutton_loops != NULL) ? + lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(merge_opts->spinbutton_loops)) : 1)) + && !merge_opts->loop_to_fit) { // set special transalign widgets to their default values - if (mergealign.start_param!=NULL&&mergealign.start_param->widgets[0]!=NULL&&LIVES_IS_SPIN_BUTTON - (mergealign.start_param->widgets[0])&&(param=mergealign.start_param)->type==LIVES_PARAM_NUM) { + if (mergealign.start_param != NULL && mergealign.start_param->widgets[0] != NULL && LIVES_IS_SPIN_BUTTON + (mergealign.start_param->widgets[0]) && (param = mergealign.start_param)->type == LIVES_PARAM_NUM) { if (param->dp) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]),get_double_param(param->def)); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]), get_double_param(param->def)); } else { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]),(double)get_int_param(param->def)); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]), (double)get_int_param(param->def)); } } - if (mergealign.end_param!=NULL&&mergealign.end_param->widgets[0]!=NULL&&LIVES_IS_SPIN_BUTTON - (mergealign.end_param->widgets[0])&&(param=mergealign.end_param)->type==LIVES_PARAM_NUM) { + if (mergealign.end_param != NULL && mergealign.end_param->widgets[0] != NULL && LIVES_IS_SPIN_BUTTON + (mergealign.end_param->widgets[0]) && (param = mergealign.end_param)->type == LIVES_PARAM_NUM) { if (param->dp) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]),get_double_param(param->def)); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]), get_double_param(param->def)); } else { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]),(double)get_int_param(param->def)); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]), (double)get_int_param(param->def)); } } } else { if (merge_opts->align_start) { // set special transalign widgets to min/max values - if (mergealign.start_param!=NULL&&mergealign.start_param->widgets[0]!=NULL&&LIVES_IS_SPIN_BUTTON - (mergealign.start_param->widgets[0])&&(param=mergealign.start_param)->type==LIVES_PARAM_NUM) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]),(double)param->min); + if (mergealign.start_param != NULL && mergealign.start_param->widgets[0] != NULL && LIVES_IS_SPIN_BUTTON + (mergealign.start_param->widgets[0]) && (param = mergealign.start_param)->type == LIVES_PARAM_NUM) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]), (double)param->min); } - if (mergealign.end_param!=NULL&&mergealign.end_param->widgets[0]!=NULL&&LIVES_IS_SPIN_BUTTON - (mergealign.end_param->widgets[0])&&(param=mergealign.end_param)->type==LIVES_PARAM_NUM) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]),(double)param->max); + if (mergealign.end_param != NULL && mergealign.end_param->widgets[0] != NULL && LIVES_IS_SPIN_BUTTON + (mergealign.end_param->widgets[0]) && (param = mergealign.end_param)->type == LIVES_PARAM_NUM) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]), (double)param->max); } } else { // set special transalign widgets to max/min values - if (mergealign.start_param!=NULL&&mergealign.start_param->widgets[0]!=NULL&&LIVES_IS_SPIN_BUTTON - (mergealign.start_param->widgets[0])&&(param=mergealign.start_param)->type==LIVES_PARAM_NUM) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]),(double)param->max); + if (mergealign.start_param != NULL && mergealign.start_param->widgets[0] != NULL && LIVES_IS_SPIN_BUTTON + (mergealign.start_param->widgets[0]) && (param = mergealign.start_param)->type == LIVES_PARAM_NUM) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]), (double)param->max); } - if (mergealign.end_param!=NULL&&mergealign.end_param->widgets[0]!=NULL&&LIVES_IS_SPIN_BUTTON - (mergealign.end_param->widgets[0])&&(param=mergealign.end_param)->type==LIVES_PARAM_NUM) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]),(double)param->min); + if (mergealign.end_param != NULL && mergealign.end_param->widgets[0] != NULL && LIVES_IS_SPIN_BUTTON + (mergealign.end_param->widgets[0]) && (param = mergealign.end_param)->type == LIVES_PARAM_NUM) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]), (double)param->min); } } } @@ -501,7 +501,7 @@ switch (framedraw.type) { case LIVES_PARAM_SPECIAL_TYPE_RECT_MULTRECT: case LIVES_PARAM_SPECIAL_TYPE_RECT_MULTIRECT: - if (mt->track_index==-1) { + if (mt->track_index == -1) { // TODO - hide widgets } else { // @@ -513,11 +513,11 @@ } - framedraw_redraw(&framedraw,TRUE,pixbuf); - pixbuf=layer_to_pixbuf(mainw->fd_layer); + framedraw_redraw(&framedraw, TRUE, pixbuf); + pixbuf = layer_to_pixbuf(mainw->fd_layer); weed_plant_free(mainw->fd_layer); - mainw->fd_layer=NULL; + mainw->fd_layer = NULL; return pixbuf; } @@ -527,7 +527,7 @@ boolean is_perchannel_multi(lives_rfx_t *rfx, int i) { // updated for weed spec 1.1 - if (rfx->params[i].multi==PVAL_MULTI_PER_CHANNEL) return TRUE; + if (rfx->params[i].multi == PVAL_MULTI_PER_CHANNEL) return TRUE; return FALSE; }
View file
LiVES-2.8.4.tar.bz2/src/paramwindow.c -> LiVES-2.8.6.tar.bz2/src/paramwindow.c
Changed
@@ -1,6 +1,6 @@ // paramwindow.c // LiVES -// (c) G. Finch 2004 - 2016 <salsaman@gmail.com> +// (c) G. Finch 2004 - 2017 <salsaman@gmail.com> // released under the GNU GPL 3 or later // see file ../COPYING or www.gnu.org for licensing details @@ -51,38 +51,38 @@ // TODO - // use list of these in case we have multiple windows open // right now this is single threaded because of this -static LiVESSList *usrgrp_to_livesgrp[2]= {NULL,NULL}; // ordered list of lives_widget_group_t +static LiVESSList *usrgrp_to_livesgrp[2] = {NULL, NULL}; // ordered list of lives_widget_group_t LiVESList *do_onchange_init(lives_rfx_t *rfx) { - LiVESList *onchange=NULL; - LiVESList *retvals=NULL; + LiVESList *onchange = NULL; + LiVESList *retvals = NULL; char **array; char *type; register int i; - if (rfx->status==RFX_STATUS_WEED) return NULL; + if (rfx->status == RFX_STATUS_WEED) return NULL; switch (rfx->status) { case RFX_STATUS_BUILTIN: - type=lives_strdup(PLUGIN_RENDERED_EFFECTS_BUILTIN); + type = lives_strdup(PLUGIN_RENDERED_EFFECTS_BUILTIN); break; case RFX_STATUS_CUSTOM: - type=lives_strdup(PLUGIN_RENDERED_EFFECTS_CUSTOM); + type = lives_strdup(PLUGIN_RENDERED_EFFECTS_CUSTOM); break; default: - type=lives_strdup_printf(PLUGIN_RENDERED_EFFECTS_TEST); + type = lives_strdup_printf(PLUGIN_RENDERED_EFFECTS_TEST); break; } - if ((onchange=plugin_request_by_line(type,rfx->name,"get_onchange"))!=NULL) { - for (i=0; i<lives_list_length(onchange); i++) { - array=lives_strsplit((char *)lives_list_nth_data(onchange,i),rfx->delim,-1); - if (!strcmp(array[0],"init")) { + if ((onchange = plugin_request_by_line(type, rfx->name, "get_onchange")) != NULL) { + for (i = 0; i < lives_list_length(onchange); i++) { + array = lives_strsplit((char *)lives_list_nth_data(onchange, i), rfx->delim, -1); + if (!strcmp(array[0], "init")) { // onchange is init // create dummy object with data - LiVESWidget *dummy_widget=lives_label_new(NULL); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(dummy_widget),"param_number",LIVES_INT_TO_POINTER(-1)); - retvals=do_onchange(LIVES_WIDGET_OBJECT(dummy_widget),rfx); + LiVESWidget *dummy_widget = lives_label_new(NULL); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(dummy_widget), "param_number", LIVES_INT_TO_POINTER(-1)); + retvals = do_onchange(LIVES_WIDGET_OBJECT(dummy_widget), rfx); lives_widget_destroy(dummy_widget); lives_strfreev(array); break; @@ -100,56 +100,56 @@ void on_paramwindow_ok_clicked(LiVESButton *button, lives_rfx_t *rfx) { register int i; - if (rfx!=NULL&&rfx->status!=RFX_STATUS_SCRAP) mainw->keep_pre=mainw->did_rfx_preview; + if (rfx != NULL && rfx->status != RFX_STATUS_SCRAP) mainw->keep_pre = mainw->did_rfx_preview; - if (mainw->textwidget_focus!=NULL) { - LiVESWidget *textwidget=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mainw->textwidget_focus),"textwidget"); - after_param_text_changed(textwidget,rfx); + if (mainw->textwidget_focus != NULL) { + LiVESWidget *textwidget = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mainw->textwidget_focus), "textwidget"); + after_param_text_changed(textwidget, rfx); } if (mainw->did_rfx_preview) { - for (i=0; i<rfx->num_params; i++) { + for (i = 0; i < rfx->num_params; i++) { if (rfx->params[i].changed) { - mainw->keep_pre=FALSE; + mainw->keep_pre = FALSE; break; } } if (!mainw->keep_pre) { - lives_kill_subprocesses(cfile->handle,TRUE); + lives_kill_subprocesses(cfile->handle, TRUE); - if (cfile->start==0) { - cfile->start=1; - cfile->end=cfile->frames; + if (cfile->start == 0) { + cfile->start = 1; + cfile->end = cfile->frames; } do_rfx_cleanup(rfx); } - mainw->did_rfx_preview=FALSE; - mainw->show_procd=TRUE; + mainw->did_rfx_preview = FALSE; + mainw->show_procd = TRUE; } - if (button!=NULL) { - lives_general_button_clicked(button,NULL); + if (button != NULL) { + lives_general_button_clicked(button, NULL); } - if (usrgrp_to_livesgrp[0]!=NULL) lives_slist_free(usrgrp_to_livesgrp[0]); - usrgrp_to_livesgrp[0]=NULL; - if (fx_dialog[1]==NULL) special_cleanup(); + if (usrgrp_to_livesgrp[0] != NULL) lives_slist_free(usrgrp_to_livesgrp[0]); + usrgrp_to_livesgrp[0] = NULL; + if (fx_dialog[1] == NULL) special_cleanup(); - if (rfx!=NULL&&rfx->status==RFX_STATUS_SCRAP) return; + if (rfx != NULL && rfx->status == RFX_STATUS_SCRAP) return; - if (rfx->status==RFX_STATUS_WEED) on_realfx_activate(NULL,rfx); - else on_render_fx_activate(NULL,rfx); + if (rfx->status == RFX_STATUS_WEED) on_realfx_activate(NULL, rfx); + else on_render_fx_activate(NULL, rfx); - mainw->keep_pre=FALSE; - mainw->is_generating=FALSE; + mainw->keep_pre = FALSE; + mainw->is_generating = FALSE; - if (mainw->multitrack!=NULL) { - polymorph(mainw->multitrack,POLY_NONE); - polymorph(mainw->multitrack,POLY_CLIPS); + if (mainw->multitrack != NULL) { + polymorph(mainw->multitrack, POLY_NONE); + polymorph(mainw->multitrack, POLY_CLIPS); mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } } @@ -159,67 +159,67 @@ void on_paramwindow_cancel_clicked2(LiVESButton *button, lives_rfx_t *rfx) { // close from rte window - on_paramwindow_cancel_clicked(button,rfx); - fx_dialog[1]=NULL; + on_paramwindow_cancel_clicked(button, rfx); + fx_dialog[1] = NULL; } void on_paramwindow_cancel_clicked(LiVESButton *button, lives_rfx_t *rfx) { - mainw->block_param_updates=TRUE; + mainw->block_param_updates = TRUE; if (mainw->did_rfx_preview) { - lives_kill_subprocesses(cfile->handle,TRUE); + lives_kill_subprocesses(cfile->handle, TRUE); - mainw->did_rfx_preview=FALSE; - mainw->show_procd=TRUE; + mainw->did_rfx_preview = FALSE; + mainw->show_procd = TRUE; - if (cfile->start==0) { - cfile->start=1; - cfile->end=cfile->frames; + if (cfile->start == 0) { + cfile->start = 1; + cfile->end = cfile->frames; } do_rfx_cleanup(rfx); } - if (rfx!=NULL&&rfx->name!=NULL&&rfx->status!=RFX_STATUS_WEED&&rfx->status!=RFX_STATUS_SCRAP&& - rfx->num_in_channels==0&&rfx->min_frames>=0&&!rfx->is_template) { + if (rfx != NULL && rfx->name != NULL && rfx->status != RFX_STATUS_WEED && rfx->status != RFX_STATUS_SCRAP && + rfx->num_in_channels == 0 && rfx->min_frames >= 0 && !rfx->is_template) { // for a generator, we silently close the (now) temporary file we would have generated frames into - mainw->suppress_dprint=TRUE; + mainw->suppress_dprint = TRUE; close_current_file(mainw->pre_src_file); - mainw->suppress_dprint=FALSE; - mainw->is_generating=FALSE; - if (mainw->multitrack!=NULL) mainw->pre_src_file=-1; + mainw->suppress_dprint = FALSE; + mainw->is_generating = FALSE; + if (mainw->multitrack != NULL) mainw->pre_src_file = -1; } - if (button!=NULL) { + if (button != NULL) { // prevent a gtk+ crash by removing the focus before detroying the dialog - LiVESWidget *toplevel=lives_widget_get_toplevel(LIVES_WIDGET(button)); + LiVESWidget *toplevel = lives_widget_get_toplevel(LIVES_WIDGET(button)); if (LIVES_IS_DIALOG(toplevel)) { - LiVESWidget *content_area=lives_dialog_get_content_area(LIVES_DIALOG(toplevel)); - lives_container_set_focus_child(LIVES_CONTAINER(content_area),NULL); + LiVESWidget *content_area = lives_dialog_get_content_area(LIVES_DIALOG(toplevel)); + lives_container_set_focus_child(LIVES_CONTAINER(content_area), NULL); } } - if (button!=NULL) { - lives_general_button_clicked(button,NULL); + if (button != NULL) { + lives_general_button_clicked(button, NULL); } - if (rfx==NULL) { - if (usrgrp_to_livesgrp[1]!=NULL) lives_slist_free(usrgrp_to_livesgrp[1]); - usrgrp_to_livesgrp[1]=NULL; + if (rfx == NULL) { + if (usrgrp_to_livesgrp[1] != NULL) lives_slist_free(usrgrp_to_livesgrp[1]); + usrgrp_to_livesgrp[1] = NULL; } else { - if (usrgrp_to_livesgrp[0]!=NULL) lives_slist_free(usrgrp_to_livesgrp[0]); - usrgrp_to_livesgrp[0]=NULL; - if (rfx->status==RFX_STATUS_WEED&&rfx!=mainw->fx_candidates[FX_CANDIDATE_RESIZER].rfx) { + if (usrgrp_to_livesgrp[0] != NULL) lives_slist_free(usrgrp_to_livesgrp[0]); + usrgrp_to_livesgrp[0] = NULL; + if (rfx->status == RFX_STATUS_WEED && rfx != mainw->fx_candidates[FX_CANDIDATE_RESIZER].rfx) { rfx_free(rfx); lives_free(rfx); } } - if (fx_dialog[1]==NULL) special_cleanup(); + if (fx_dialog[1] == NULL) special_cleanup(); - mainw->block_param_updates=FALSE; + mainw->block_param_updates = FALSE; - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } } @@ -230,7 +230,7 @@ static lives_widget_group_t *get_group(lives_rfx_t *rfx, lives_param_t *param) { - if (rfx->status==RFX_STATUS_WEED) { + if (rfx->status == RFX_STATUS_WEED) { return livesgrp_from_usrgrp(usrgrp_to_livesgrp[1], param->group); } else { return livesgrp_from_usrgrp(usrgrp_to_livesgrp[0], param->group); @@ -240,73 +240,73 @@ void on_render_fx_activate(LiVESMenuItem *menuitem, lives_rfx_t *rfx) { - boolean has_lmap_error=FALSE; + boolean has_lmap_error = FALSE; - if (menuitem!=NULL&&!(prefs->warning_mask&WARN_MASK_LAYOUT_ALTER_FRAMES)&&rfx->num_in_channels>0&& - (mainw->xlays=layout_frame_is_affected(mainw->current_file,1))!=NULL) { + if (menuitem != NULL && !(prefs->warning_mask & WARN_MASK_LAYOUT_ALTER_FRAMES) && rfx->num_in_channels > 0 && + (mainw->xlays = layout_frame_is_affected(mainw->current_file, 1)) != NULL) { if (!do_layout_alter_frames_warning()) { lives_list_free_all(&mainw->xlays); return; } - add_lmap_error(LMAP_ERROR_ALTER_FRAMES,cfile->name,(livespointer)cfile->layout_map,mainw->current_file, - 0,0.,cfile->stored_layout_frame>0); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_ALTER_FRAMES, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, + 0, 0., cfile->stored_layout_frame > 0); + has_lmap_error = TRUE; lives_list_free_all(&mainw->xlays); } // do onchange|init - if (menuitem!=NULL) { - LiVESList *retvals=do_onchange_init(rfx); + if (menuitem != NULL) { + LiVESList *retvals = do_onchange_init(rfx); lives_list_free_all(&retvals); } - if (rfx->min_frames>-1) { - do_effect(rfx,FALSE); + if (rfx->min_frames > -1) { + do_effect(rfx, FALSE); } - if (has_lmap_error) popup_lmap_errors(NULL,NULL); + if (has_lmap_error) popup_lmap_errors(NULL, NULL); } static void gen_width_changed(LiVESSpinButton *spin, livespointer user_data) { - weed_plant_t *ctmpl=(weed_plant_t *)user_data; - int val=lives_spin_button_get_value_as_int(spin); - int error,old_val=0; + weed_plant_t *ctmpl = (weed_plant_t *)user_data; + int val = lives_spin_button_get_value_as_int(spin); + int error, old_val = 0; int step; - if (weed_plant_has_leaf(ctmpl,WEED_LEAF_HOST_WIDTH)) old_val=weed_get_int_value(ctmpl,WEED_LEAF_HOST_WIDTH,&error); + if (weed_plant_has_leaf(ctmpl, WEED_LEAF_HOST_WIDTH)) old_val = weed_get_int_value(ctmpl, WEED_LEAF_HOST_WIDTH, &error); - if (val==old_val) return; - step=1; - if (weed_plant_has_leaf(ctmpl,WEED_LEAF_HSTEP)) step=weed_get_int_value(ctmpl,WEED_LEAF_HSTEP,&error); - - val=step_val(val,step); - weed_set_int_value(ctmpl,WEED_LEAF_HOST_WIDTH,val); - lives_spin_button_set_value(spin,(double)val); + if (val == old_val) return; + step = 1; + if (weed_plant_has_leaf(ctmpl, WEED_LEAF_HSTEP)) step = weed_get_int_value(ctmpl, WEED_LEAF_HSTEP, &error); + + val = step_val(val, step); + weed_set_int_value(ctmpl, WEED_LEAF_HOST_WIDTH, val); + lives_spin_button_set_value(spin, (double)val); } static void gen_height_changed(LiVESSpinButton *spin, livespointer user_data) { - weed_plant_t *ctmpl=(weed_plant_t *)user_data; - int val=lives_spin_button_get_value_as_int(spin); - int error,old_val=0; + weed_plant_t *ctmpl = (weed_plant_t *)user_data; + int val = lives_spin_button_get_value_as_int(spin); + int error, old_val = 0; int step; - if (weed_plant_has_leaf(ctmpl,WEED_LEAF_HOST_HEIGHT)) old_val=weed_get_int_value(ctmpl,WEED_LEAF_HOST_HEIGHT,&error); + if (weed_plant_has_leaf(ctmpl, WEED_LEAF_HOST_HEIGHT)) old_val = weed_get_int_value(ctmpl, WEED_LEAF_HOST_HEIGHT, &error); - if (val==old_val) return; - step=1; - if (weed_plant_has_leaf(ctmpl,WEED_LEAF_HSTEP)) step=weed_get_int_value(ctmpl,WEED_LEAF_HSTEP,&error); - - val=step_val(val,step); - weed_set_int_value(ctmpl,WEED_LEAF_HOST_HEIGHT,val); - lives_spin_button_set_value(spin,(double)val); + if (val == old_val) return; + step = 1; + if (weed_plant_has_leaf(ctmpl, WEED_LEAF_HSTEP)) step = weed_get_int_value(ctmpl, WEED_LEAF_HSTEP, &error); + + val = step_val(val, step); + weed_set_int_value(ctmpl, WEED_LEAF_HOST_HEIGHT, val); + lives_spin_button_set_value(spin, (double)val); } static void gen_fps_changed(LiVESSpinButton *spin, livespointer user_data) { - weed_plant_t *filter=(weed_plant_t *)user_data; - double val=lives_spin_button_get_value(spin); - weed_set_double_value(filter,WEED_LEAF_HOST_FPS,val); + weed_plant_t *filter = (weed_plant_t *)user_data; + double val = lives_spin_button_get_value(spin); + weed_set_double_value(filter, WEED_LEAF_HOST_FPS, val); } @@ -314,50 +314,50 @@ static void trans_in_out_pressed(lives_rfx_t *rfx, boolean in) { weed_plant_t **in_params; - weed_plant_t *inst=(weed_plant_t *)rfx->source; - weed_plant_t *filter=weed_instance_get_filter(inst,TRUE); + weed_plant_t *inst = (weed_plant_t *)rfx->source; + weed_plant_t *filter = weed_instance_get_filter(inst, TRUE); weed_plant_t *tparam; weed_plant_t *tparamtmpl; - int key=-1; - int hint,error,nparams; + int key = -1; + int hint, error, nparams; int old_val; - int trans=get_transition_param(filter,FALSE); + int trans = get_transition_param(filter, FALSE); do { // handle compound fx - if (weed_plant_has_leaf(inst,WEED_LEAF_IN_PARAMETERS)) { - nparams=weed_leaf_num_elements(inst,WEED_LEAF_IN_PARAMETERS); - if (trans<nparams) break; - trans-=nparams; - } - } while (weed_plant_has_leaf(inst,WEED_LEAF_HOST_NEXT_INSTANCE)&& - (inst=weed_get_plantptr_value(inst,WEED_LEAF_HOST_NEXT_INSTANCE,&error))!=NULL); - - in_params=weed_get_plantptr_array(inst,WEED_LEAF_IN_PARAMETERS,&error); - tparam=in_params[trans]; - tparamtmpl=weed_get_plantptr_value(tparam,WEED_LEAF_TEMPLATE,&error); - hint=weed_get_int_value(tparamtmpl,WEED_LEAF_HINT,&error); + if (weed_plant_has_leaf(inst, WEED_LEAF_IN_PARAMETERS)) { + nparams = weed_leaf_num_elements(inst, WEED_LEAF_IN_PARAMETERS); + if (trans < nparams) break; + trans -= nparams; + } + } while (weed_plant_has_leaf(inst, WEED_LEAF_HOST_NEXT_INSTANCE) && + (inst = weed_get_plantptr_value(inst, WEED_LEAF_HOST_NEXT_INSTANCE, &error)) != NULL); + + in_params = weed_get_plantptr_array(inst, WEED_LEAF_IN_PARAMETERS, &error); + tparam = in_params[trans]; + tparamtmpl = weed_get_plantptr_value(tparam, WEED_LEAF_TEMPLATE, &error); + hint = weed_get_int_value(tparamtmpl, WEED_LEAF_HINT, &error); - old_val=get_int_param(rfx->params[trans].value); + old_val = get_int_param(rfx->params[trans].value); - if (weed_plant_has_leaf(inst,WEED_LEAF_HOST_KEY)) key=weed_get_int_value(inst,WEED_LEAF_HOST_KEY,&error); + if (weed_plant_has_leaf(inst, WEED_LEAF_HOST_KEY)) key = weed_get_int_value(inst, WEED_LEAF_HOST_KEY, &error); filter_mutex_lock(key); - if (hint==WEED_HINT_INTEGER) { - if (in) weed_set_int_value(tparam,WEED_LEAF_VALUE,weed_get_int_value(tparamtmpl,WEED_LEAF_MIN,&error)); - else weed_set_int_value(tparam,WEED_LEAF_VALUE,weed_get_int_value(tparamtmpl,WEED_LEAF_MAX,&error)); + if (hint == WEED_HINT_INTEGER) { + if (in) weed_set_int_value(tparam, WEED_LEAF_VALUE, weed_get_int_value(tparamtmpl, WEED_LEAF_MIN, &error)); + else weed_set_int_value(tparam, WEED_LEAF_VALUE, weed_get_int_value(tparamtmpl, WEED_LEAF_MAX, &error)); } else { - if (in) weed_set_double_value(tparam,WEED_LEAF_VALUE,weed_get_double_value(tparamtmpl,WEED_LEAF_MIN,&error)); - else weed_set_double_value(tparam,WEED_LEAF_VALUE,weed_get_double_value(tparamtmpl,WEED_LEAF_MAX,&error)); + if (in) weed_set_double_value(tparam, WEED_LEAF_VALUE, weed_get_double_value(tparamtmpl, WEED_LEAF_MIN, &error)); + else weed_set_double_value(tparam, WEED_LEAF_VALUE, weed_get_double_value(tparamtmpl, WEED_LEAF_MAX, &error)); } filter_mutex_unlock(key); - set_copy_to(inst,trans,TRUE); - update_visual_params(rfx,FALSE); + set_copy_to(inst, trans, TRUE); + update_visual_params(rfx, FALSE); lives_free(in_params); - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { // force parameter update in multitrack - set_int_param(rfx->params[trans].value,old_val); + set_int_param(rfx->params[trans].value, old_val); after_param_value_changed(LIVES_SPIN_BUTTON(rfx->params[trans].widgets[0]), rfx); } @@ -365,24 +365,24 @@ static void transition_in_pressed(LiVESToggleButton *tbut, livespointer rfx) { - trans_in_out_pressed((lives_rfx_t *)rfx,TRUE); + trans_in_out_pressed((lives_rfx_t *)rfx, TRUE); } static void transition_out_pressed(LiVESToggleButton *tbut, livespointer rfx) { - trans_in_out_pressed((lives_rfx_t *)rfx,FALSE); + trans_in_out_pressed((lives_rfx_t *)rfx, FALSE); } static void after_transaudio_toggled(LiVESToggleButton *togglebutton, livespointer rfx) { - weed_plant_t *init_event=mainw->multitrack->init_event; + weed_plant_t *init_event = mainw->multitrack->init_event; if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(togglebutton))) - weed_set_boolean_value(init_event,WEED_LEAF_HOST_AUDIO_TRANSITION,WEED_TRUE); - else weed_set_boolean_value(init_event,WEED_LEAF_HOST_AUDIO_TRANSITION,WEED_FALSE); + weed_set_boolean_value(init_event, WEED_LEAF_HOST_AUDIO_TRANSITION, WEED_TRUE); + else weed_set_boolean_value(init_event, WEED_LEAF_HOST_AUDIO_TRANSITION, WEED_FALSE); } static void gen_cb_toggled(LiVESToggleButton *tbut, livespointer rfx) { - mainw->gen_to_clipboard=!mainw->gen_to_clipboard; + mainw->gen_to_clipboard = !mainw->gen_to_clipboard; } @@ -392,19 +392,19 @@ // add in/out radios for multitrack transitions LiVESWidget *radiobutton_in; LiVESWidget *radiobutton_out; - LiVESWidget *hbox,*hbox2; + LiVESWidget *hbox, *hbox2; LiVESWidget *hseparator; LiVESSList *radiobutton_group = NULL; - char *tmp,*tmp2; + char *tmp, *tmp2; hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_width); - radiobutton_in=lives_standard_radio_button_new((tmp=lives_strdup(_("Transition _In"))),TRUE, - radiobutton_group,LIVES_BOX(hbox), - (tmp2=lives_strdup(_("Click to set the transition parameter to show only the front frame")))); + radiobutton_in = lives_standard_radio_button_new((tmp = lives_strdup(_("Transition _In"))), TRUE, + radiobutton_group, LIVES_BOX(hbox), + (tmp2 = lives_strdup(_("Click to set the transition parameter to show only the front frame")))); lives_free(tmp); lives_free(tmp2); @@ -418,49 +418,49 @@ if (add_audio_check) { int error; - weed_plant_t *filter=weed_instance_get_filter((weed_plant_t *)rfx->source,FALSE); + weed_plant_t *filter = weed_instance_get_filter((weed_plant_t *)rfx->source, FALSE); LiVESWidget *checkbutton; hbox2 = lives_hbox_new(FALSE, 0); - if (has_video_chans_in(filter,FALSE)) + if (has_video_chans_in(filter, FALSE)) lives_box_pack_start(LIVES_BOX(hbox), hbox2, FALSE, FALSE, widget_opts.packing_width); - checkbutton = lives_standard_check_button_new((tmp=lives_strdup(_("Crossfade audio"))),FALSE,LIVES_BOX(hbox2), - (tmp2=lives_strdup(_("Check the box to make audio transition with the video")))); + checkbutton = lives_standard_check_button_new((tmp = lives_strdup(_("Crossfade audio"))), FALSE, LIVES_BOX(hbox2), + (tmp2 = lives_strdup(_("Check the box to make audio transition with the video")))); lives_free(tmp); lives_free(tmp2); - if (!weed_plant_has_leaf(mainw->multitrack->init_event,WEED_LEAF_HOST_AUDIO_TRANSITION)|| - weed_get_boolean_value(mainw->multitrack->init_event,WEED_LEAF_HOST_AUDIO_TRANSITION,&error)==WEED_FALSE) - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton),FALSE); + if (!weed_plant_has_leaf(mainw->multitrack->init_event, WEED_LEAF_HOST_AUDIO_TRANSITION) || + weed_get_boolean_value(mainw->multitrack->init_event, WEED_LEAF_HOST_AUDIO_TRANSITION, &error) == WEED_FALSE) + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton), FALSE); else lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton), TRUE); lives_signal_connect_after(LIVES_GUI_OBJECT(checkbutton), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(after_transaudio_toggled), (livespointer)rfx); - after_transaudio_toggled(LIVES_TOGGLE_BUTTON(checkbutton),(livespointer)rfx); + after_transaudio_toggled(LIVES_TOGGLE_BUTTON(checkbutton), (livespointer)rfx); } - widget_opts.pack_end=TRUE; - radiobutton_out=lives_standard_radio_button_new((tmp=lives_strdup(_("Transition _Out"))),TRUE, - radiobutton_group,LIVES_BOX(hbox), - (tmp2=lives_strdup(_("Click to set the transition parameter to show only the rear frame")))); + widget_opts.pack_end = TRUE; + radiobutton_out = lives_standard_radio_button_new((tmp = lives_strdup(_("Transition _Out"))), TRUE, + radiobutton_group, LIVES_BOX(hbox), + (tmp2 = lives_strdup(_("Click to set the transition parameter to show only the rear frame")))); lives_free(tmp); lives_free(tmp2); - widget_opts.pack_end=FALSE; + widget_opts.pack_end = FALSE; lives_signal_connect_after(LIVES_GUI_OBJECT(radiobutton_out), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(transition_out_pressed), (livespointer)rfx); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_fg_color(hbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); } @@ -476,29 +476,29 @@ static boolean add_sizes(LiVESBox *vbox, boolean add_fps, boolean has_param, lives_rfx_t *rfx) { // add size settings for generators and resize effects - static lives_param_t aspect_width,aspect_height; + static lives_param_t aspect_width, aspect_height; - LiVESWidget *label,*hbox; - LiVESWidget *spinbuttonh=NULL,*spinbuttonw=NULL; + LiVESWidget *label, *hbox; + LiVESWidget *spinbuttonh = NULL, *spinbuttonw = NULL; LiVESWidget *spinbuttonf; int error; - weed_plant_t *filter=weed_instance_get_filter((weed_plant_t *)rfx->source,TRUE),*tmpl; + weed_plant_t *filter = weed_instance_get_filter((weed_plant_t *)rfx->source, TRUE), *tmpl; - weed_plant_t **ctmpls=weed_get_plantptr_array(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES,&error); + weed_plant_t **ctmpls = weed_get_plantptr_array(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES, &error); - double def_fps=0.; + double def_fps = 0.; - char *cname,*ltxt; + char *cname, *ltxt; - boolean added=add_fps; - boolean chk_params=(vbox==NULL); + boolean added = add_fps; + boolean chk_params = (vbox == NULL); - int num_chans=weed_leaf_num_elements(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES); + int num_chans = weed_leaf_num_elements(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES); - int def_width=0,max_width,width_step; - int def_height=0,max_height,height_step; + int def_width = 0, max_width, width_step; + int def_height = 0, max_height, height_step; register int i; @@ -516,17 +516,17 @@ add_hsep_to_box(vbox); hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height*2); + lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height * 2); add_fill_to_box(LIVES_BOX(hbox)); - if (weed_plant_has_leaf(filter,WEED_LEAF_HOST_FPS)) def_fps=weed_get_double_value(filter,WEED_LEAF_HOST_FPS,&error); - else if (weed_plant_has_leaf(filter,WEED_LEAF_TARGET_FPS)) def_fps=weed_get_double_value(filter,WEED_LEAF_TARGET_FPS,&error); + if (weed_plant_has_leaf(filter, WEED_LEAF_HOST_FPS)) def_fps = weed_get_double_value(filter, WEED_LEAF_HOST_FPS, &error); + else if (weed_plant_has_leaf(filter, WEED_LEAF_TARGET_FPS)) def_fps = weed_get_double_value(filter, WEED_LEAF_TARGET_FPS, &error); - if (def_fps==0.) def_fps=prefs->default_fps; + if (def_fps == 0.) def_fps = prefs->default_fps; - spinbuttonf = lives_standard_spin_button_new(_("Target _FPS (plugin may override this)"),TRUE, - def_fps,1.,FPS_MAX,1.,10.,3,LIVES_BOX(hbox),NULL); + spinbuttonf = lives_standard_spin_button_new(_("Target _FPS (plugin may override this)"), TRUE, + def_fps, 1., FPS_MAX, 1., 10., 3, LIVES_BOX(hbox), NULL); lives_signal_connect_after(LIVES_GUI_OBJECT(spinbuttonf), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(gen_fps_changed), @@ -535,30 +535,31 @@ add_fill_to_box(LIVES_BOX(hbox)); } - for (i=0; i<num_chans; i++) { - tmpl=ctmpls[i]; + for (i = 0; i < num_chans; i++) { + tmpl = ctmpls[i]; // TODO ***: allow alteration of "host_disabled" under some circumstances // (e.g. allow enabling a first or second in channel, or first out_channel, or more for alphas) // make this into function called from here and from effects with optional enable-able channels - if (weed_plant_has_leaf(tmpl,WEED_LEAF_HOST_DISABLED)&&weed_get_boolean_value(tmpl,WEED_LEAF_HOST_DISABLED,&error)==WEED_TRUE) continue; - if (weed_plant_has_leaf(tmpl,WEED_LEAF_WIDTH)&&weed_get_int_value(tmpl,WEED_LEAF_WIDTH,&error)!=0) continue; - if (weed_plant_has_leaf(tmpl,WEED_LEAF_HEIGHT)&&weed_get_int_value(tmpl,WEED_LEAF_HEIGHT,&error)!=0) continue; + if (weed_plant_has_leaf(tmpl, WEED_LEAF_HOST_DISABLED) && + weed_get_boolean_value(tmpl, WEED_LEAF_HOST_DISABLED, &error) == WEED_TRUE) continue; + if (weed_plant_has_leaf(tmpl, WEED_LEAF_WIDTH) && weed_get_int_value(tmpl, WEED_LEAF_WIDTH, &error) != 0) continue; + if (weed_plant_has_leaf(tmpl, WEED_LEAF_HEIGHT) && weed_get_int_value(tmpl, WEED_LEAF_HEIGHT, &error) != 0) continue; - added=TRUE; + added = TRUE; if (chk_params) continue; if (rfx->is_template) { - cname=weed_get_string_value(tmpl,WEED_LEAF_NAME,&error); - ltxt=lives_strdup_printf(_("%s : size"),cname); + cname = weed_get_string_value(tmpl, WEED_LEAF_NAME, &error); + ltxt = lives_strdup_printf(_("%s : size"), cname); lives_free(cname); } else { - ltxt=lives_strdup(_("New size (pixels)")); + ltxt = lives_strdup(_("New size (pixels)")); } - label=lives_standard_label_new(ltxt); + label = lives_standard_label_new(ltxt); lives_free(ltxt); hbox = lives_hbox_new(FALSE, 0); @@ -566,42 +567,42 @@ lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, FALSE, widget_opts.packing_width); - if (weed_plant_has_leaf(tmpl,WEED_LEAF_HOST_WIDTH)) def_width=weed_get_int_value(tmpl,WEED_LEAF_HOST_WIDTH,&error); - if (def_width==0) def_width=DEF_GEN_WIDTH; - max_width=INT_MAX; - if (weed_plant_has_leaf(tmpl,WEED_LEAF_MAXWIDTH)) max_width=weed_get_int_value(tmpl,WEED_LEAF_MAXWIDTH,&error); - if (def_width>max_width) def_width=max_width; - width_step=1; - if (weed_plant_has_leaf(tmpl,WEED_LEAF_HSTEP)) width_step=weed_get_int_value(tmpl,WEED_LEAF_HSTEP,&error); - - spinbuttonw = lives_standard_spin_button_new(_("_Width"),TRUE,def_width,4.,max_width,width_step==1?4:width_step, - width_step==1?16:width_step*4,0, - LIVES_BOX(hbox),NULL); + if (weed_plant_has_leaf(tmpl, WEED_LEAF_HOST_WIDTH)) def_width = weed_get_int_value(tmpl, WEED_LEAF_HOST_WIDTH, &error); + if (def_width == 0) def_width = DEF_GEN_WIDTH; + max_width = INT_MAX; + if (weed_plant_has_leaf(tmpl, WEED_LEAF_MAXWIDTH)) max_width = weed_get_int_value(tmpl, WEED_LEAF_MAXWIDTH, &error); + if (def_width > max_width) def_width = max_width; + width_step = 1; + if (weed_plant_has_leaf(tmpl, WEED_LEAF_HSTEP)) width_step = weed_get_int_value(tmpl, WEED_LEAF_HSTEP, &error); + + spinbuttonw = lives_standard_spin_button_new(_("_Width"), TRUE, def_width, 4., max_width, width_step == 1 ? 4 : width_step, + width_step == 1 ? 16 : width_step * 4, 0, + LIVES_BOX(hbox), NULL); lives_signal_connect_after(LIVES_GUI_OBJECT(spinbuttonw), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(gen_width_changed), tmpl); - weed_leaf_delete(tmpl,WEED_LEAF_HOST_WIDTH); // force a reset - gen_width_changed(LIVES_SPIN_BUTTON(spinbuttonw),tmpl); + weed_leaf_delete(tmpl, WEED_LEAF_HOST_WIDTH); // force a reset + gen_width_changed(LIVES_SPIN_BUTTON(spinbuttonw), tmpl); - if (weed_plant_has_leaf(tmpl,WEED_LEAF_HOST_HEIGHT)) def_height=weed_get_int_value(tmpl,WEED_LEAF_HOST_HEIGHT,&error); - if (def_height==0) def_height=DEF_GEN_HEIGHT; - max_height=INT_MAX; - if (weed_plant_has_leaf(tmpl,WEED_LEAF_MAXHEIGHT)) max_height=weed_get_int_value(tmpl,WEED_LEAF_MAXHEIGHT,&error); - if (def_height>max_height) def_height=max_height; - height_step=1; - if (weed_plant_has_leaf(tmpl,WEED_LEAF_VSTEP)) height_step=weed_get_int_value(tmpl,WEED_LEAF_VSTEP,&error); + if (weed_plant_has_leaf(tmpl, WEED_LEAF_HOST_HEIGHT)) def_height = weed_get_int_value(tmpl, WEED_LEAF_HOST_HEIGHT, &error); + if (def_height == 0) def_height = DEF_GEN_HEIGHT; + max_height = INT_MAX; + if (weed_plant_has_leaf(tmpl, WEED_LEAF_MAXHEIGHT)) max_height = weed_get_int_value(tmpl, WEED_LEAF_MAXHEIGHT, &error); + if (def_height > max_height) def_height = max_height; + height_step = 1; + if (weed_plant_has_leaf(tmpl, WEED_LEAF_VSTEP)) height_step = weed_get_int_value(tmpl, WEED_LEAF_VSTEP, &error); - spinbuttonh = lives_standard_spin_button_new(_("_Height"),TRUE,def_height,4.,max_height,height_step==1?4:height_step, - height_step==1?16:height_step*4,0, - LIVES_BOX(hbox),NULL); + spinbuttonh = lives_standard_spin_button_new(_("_Height"), TRUE, def_height, 4., max_height, height_step == 1 ? 4 : height_step, + height_step == 1 ? 16 : height_step * 4, 0, + LIVES_BOX(hbox), NULL); lives_signal_connect_after(LIVES_GUI_OBJECT(spinbuttonh), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(gen_height_changed), tmpl); - weed_leaf_delete(tmpl,WEED_LEAF_HOST_HEIGHT); // force a reset - gen_height_changed(LIVES_SPIN_BUTTON(spinbuttonh),tmpl); + weed_leaf_delete(tmpl, WEED_LEAF_HOST_HEIGHT); // force a reset + gen_height_changed(LIVES_SPIN_BUTTON(spinbuttonh), tmpl); } @@ -611,12 +612,12 @@ // add "aspectratio" widget init_special(); - aspect_width.widgets[0]=spinbuttonw; - aspect_height.widgets[0]=spinbuttonh; + aspect_width.widgets[0] = spinbuttonw; + aspect_height.widgets[0] = spinbuttonh; - set_aspect_ratio_widgets(&aspect_width,&aspect_height); - check_for_special(rfx,&aspect_width,vbox); - check_for_special(rfx,&aspect_height,vbox); + set_aspect_ratio_widgets(&aspect_width, &aspect_height); + check_for_special(rfx, &aspect_width, vbox); + check_for_special(rfx, &aspect_height, vbox); } } @@ -637,24 +638,24 @@ LiVESWidget *hbox = lives_hbox_new(FALSE, 0); - char *tmp,*tmp2; + char *tmp, *tmp2; lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - radiobutton = lives_standard_radio_button_new((tmp=lives_strdup(_("Generate to _Clipboard"))), - TRUE,radiobutton_group,LIVES_BOX(hbox), - (tmp2=lives_strdup(_("Generate frames to the clipboard")))); + radiobutton = lives_standard_radio_button_new((tmp = lives_strdup(_("Generate to _Clipboard"))), + TRUE, radiobutton_group, LIVES_BOX(hbox), + (tmp2 = lives_strdup(_("Generate frames to the clipboard")))); lives_free(tmp); lives_free(tmp2); radiobutton_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(radiobutton)); - widget_opts.pack_end=TRUE; - radiobutton=lives_standard_radio_button_new((tmp=lives_strdup(_("Generate to _New Clip"))), - TRUE,radiobutton_group,LIVES_BOX(hbox), - (tmp2=lives_strdup(_("Generate frames to a new clip")))); - widget_opts.pack_end=FALSE; + widget_opts.pack_end = TRUE; + radiobutton = lives_standard_radio_button_new((tmp = lives_strdup(_("Generate to _New Clip"))), + TRUE, radiobutton_group, LIVES_BOX(hbox), + (tmp2 = lives_strdup(_("Generate frames to a new clip")))); + widget_opts.pack_end = FALSE; lives_free(tmp); lives_free(tmp2); @@ -674,7 +675,7 @@ void on_render_fx_pre_activate(LiVESMenuItem *menuitem, lives_rfx_t *rfx) { - on_fx_pre_activate(rfx,0,NULL); + on_fx_pre_activate(rfx, 0, NULL); } @@ -684,68 +685,68 @@ // 1 == pbox==NULL : standalone window for mapper // pbox != NULL: put params in box - LiVESWidget *top_dialog_vbox=NULL; + LiVESWidget *top_dialog_vbox = NULL; LiVESWidget *cancelbutton; LiVESWidget *okbutton; - LiVESWidget *resetbutton=NULL; + LiVESWidget *resetbutton = NULL; LiVESAccelGroup *fxw_accel_group; - LiVESList *retvals=NULL; + LiVESList *retvals = NULL; char *txt; - boolean no_process=FALSE; + boolean no_process = FALSE; - boolean is_realtime=FALSE; - boolean is_defaults=FALSE; + boolean is_realtime = FALSE; + boolean is_defaults = FALSE; //boolean has_lmap_error=FALSE; boolean has_param; - int scrw,scrh; + int scrw, scrh; - if (didx==0&&!check_storage_space((mainw->current_file>-1)?cfile:NULL,FALSE)) return; + if (didx == 0 && !check_storage_space((mainw->current_file > -1) ? cfile : NULL, FALSE)) return; // TODO - remove this and check in rfx / realfx activate - if (rfx->num_in_channels>0) { - if (didx==0&&!(prefs->warning_mask&WARN_MASK_LAYOUT_ALTER_FRAMES)&& - (mainw->xlays=layout_frame_is_affected(mainw->current_file,1))!=NULL) { + if (rfx->num_in_channels > 0) { + if (didx == 0 && !(prefs->warning_mask & WARN_MASK_LAYOUT_ALTER_FRAMES) && + (mainw->xlays = layout_frame_is_affected(mainw->current_file, 1)) != NULL) { if (!do_layout_alter_frames_warning()) { lives_list_free_all(&mainw->xlays); } } } - if (mainw->multitrack!=NULL) { - if (mainw->multitrack->idlefunc>0) { + if (mainw->multitrack != NULL) { + if (mainw->multitrack->idlefunc > 0) { lives_source_remove(mainw->multitrack->idlefunc); - mainw->multitrack->idlefunc=0; + mainw->multitrack->idlefunc = 0; } mt_desensitise(mainw->multitrack); } - if (didx==1) { - no_process=TRUE; - is_realtime=TRUE; - } else if (rfx->status!=RFX_STATUS_WEED) { - retvals=do_onchange_init(rfx); + if (didx == 1) { + no_process = TRUE; + is_realtime = TRUE; + } else if (rfx->status != RFX_STATUS_WEED) { + retvals = do_onchange_init(rfx); } - if (rfx->min_frames<0) no_process=TRUE; + if (rfx->min_frames < 0) no_process = TRUE; - if (!no_process&&rfx->num_in_channels==0) { + if (!no_process && rfx->num_in_channels == 0) { int new_file; - mainw->pre_src_file=mainw->current_file; + mainw->pre_src_file = mainw->current_file; // create a new file to generate frames into - if (!get_new_handle((new_file=mainw->first_free_file),NULL)) { + if (!get_new_handle((new_file = mainw->first_free_file), NULL)) { - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } lives_list_free_all(&retvals); @@ -753,142 +754,141 @@ return; } - mainw->is_generating=TRUE; - mainw->current_file=new_file; + mainw->is_generating = TRUE; + mainw->current_file = new_file; // dummy values - cfile->progress_start=1; + cfile->progress_start = 1; } - if (!no_process&&rfx->num_in_channels>0) { + if (!no_process && rfx->num_in_channels > 0) { // check we have a real clip open - if (mainw->current_file<=0) { + if (mainw->current_file <= 0) { lives_list_free_all(&retvals); return; } - if (cfile->end-cfile->start+1<rfx->min_frames) { + if (cfile->end - cfile->start + 1 < rfx->min_frames) { lives_list_free_all(&retvals); - txt=lives_strdup_printf(_("\nYou must select at least %d frames to use this effect.\n\n"),rfx->min_frames); + txt = lives_strdup_printf(_("\nYou must select at least %d frames to use this effect.\n\n"), rfx->min_frames); do_blocking_error_dialog(txt); lives_free(txt); return; } // here we invalidate cfile->ohsize, cfile->ovsize - cfile->ohsize=cfile->hsize; - cfile->ovsize=cfile->vsize; + cfile->ohsize = cfile->hsize; + cfile->ovsize = cfile->vsize; - if (cfile->undo_action==UNDO_RESIZABLE) { - set_undoable(NULL,FALSE); + if (cfile->undo_action == UNDO_RESIZABLE) { + set_undoable(NULL, FALSE); } } - if (pbox==NULL) { + if (pbox == NULL) { - if (prefs->gui_monitor!=0) { - scrw=mainw->mgeom[prefs->gui_monitor-1].width; - scrh=mainw->mgeom[prefs->gui_monitor-1].height; + if (prefs->gui_monitor != 0) { + scrw = mainw->mgeom[prefs->gui_monitor - 1].width; + scrh = mainw->mgeom[prefs->gui_monitor - 1].height; } else { - scrw=mainw->scr_width; - scrh=mainw->scr_height; + scrw = mainw->scr_width; + scrh = mainw->scr_height; } - scrh-=SCR_HEIGHT_SAFETY; - scrw-=SCR_WIDTH_SAFETY; + scrh -= SCR_HEIGHT_SAFETY; + scrw -= SCR_WIDTH_SAFETY; - if (rfx->status==RFX_STATUS_WEED||no_process||(rfx->num_in_channels==0&&rfx->props&RFX_PROPS_BATCHG)) scrw=RFX_WINSIZE_H; + if (rfx->status == RFX_STATUS_WEED || no_process || (rfx->num_in_channels == 0 && rfx->props & RFX_PROPS_BATCHG)) scrw = RFX_WINSIZE_H; - widget_opts.non_modal=TRUE; - fx_dialog[didx] = lives_standard_dialog_new(_(rfx->menu_text),FALSE,scrw,RFX_WINSIZE_V); - widget_opts.non_modal=FALSE; + widget_opts.non_modal = TRUE; + fx_dialog[didx] = lives_standard_dialog_new(_(rfx->menu_text), FALSE, scrw, RFX_WINSIZE_V); + widget_opts.non_modal = FALSE; } - if (rfx->status==RFX_STATUS_WEED&&rfx->is_template) is_defaults=TRUE; + if (rfx->status == RFX_STATUS_WEED && rfx->is_template) is_defaults = TRUE; - if (didx==0) { + if (didx == 0) { // activated from the menu for a rendered effect if (prefs->show_gui) { - if (mainw->multitrack==NULL) lives_window_set_transient_for(LIVES_WINDOW(fx_dialog[0]),LIVES_WINDOW(mainw->LiVES)); - else lives_window_set_transient_for(LIVES_WINDOW(fx_dialog[0]),LIVES_WINDOW(mainw->multitrack->window)); + lives_window_set_transient_for(LIVES_WINDOW(fx_dialog[0]), LIVES_WINDOW(LIVES_MAIN_WINDOW_WIDGET)); } } - if (pbox==NULL) { + if (pbox == NULL) { pbox = top_dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(fx_dialog[didx])); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(fx_dialog[didx]),"rfx",rfx); - lives_widget_set_hexpand(pbox,TRUE); - lives_widget_set_vexpand(pbox,TRUE); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(fx_dialog[didx]), "rfx", rfx); + lives_widget_set_hexpand(pbox, TRUE); + lives_widget_set_vexpand(pbox, TRUE); } - if (rfx->status!=RFX_STATUS_WEED&&!no_process) { + if (rfx->status != RFX_STATUS_WEED && !no_process) { // rendered fx preview LiVESWidget *hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(top_dialog_vbox), hbox, TRUE, TRUE, 0); - lives_widget_set_hexpand(hbox,TRUE); - lives_widget_set_vexpand(hbox,TRUE); + lives_widget_set_hexpand(hbox, TRUE); + lives_widget_set_vexpand(hbox, TRUE); pbox = lives_vbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(hbox), pbox, TRUE, TRUE, 0); - lives_widget_set_hexpand(pbox,TRUE); - lives_widget_set_vexpand(pbox,TRUE); + lives_widget_set_hexpand(pbox, TRUE); + lives_widget_set_vexpand(pbox, TRUE); // add preview window - if (rfx->num_in_channels>0) { - mainw->framedraw_frame=cfile->start; - widget_add_framedraw(LIVES_VBOX(pbox),cfile->start,cfile->end,!(rfx->props&RFX_PROPS_MAY_RESIZE), - cfile->hsize,cfile->vsize); + if (rfx->num_in_channels > 0) { + mainw->framedraw_frame = cfile->start; + widget_add_framedraw(LIVES_VBOX(pbox), cfile->start, cfile->end, !(rfx->props & RFX_PROPS_MAY_RESIZE), + cfile->hsize, cfile->vsize); } else { - if (!(rfx->props&RFX_PROPS_BATCHG)) { - mainw->framedraw_frame=0; - widget_add_framedraw(LIVES_VBOX(pbox),1,1,TRUE,MAX_PRE_X,MAX_PRE_Y); + if (!(rfx->props & RFX_PROPS_BATCHG)) { + mainw->framedraw_frame = 0; + widget_add_framedraw(LIVES_VBOX(pbox), 1, 1, TRUE, MAX_PRE_X, MAX_PRE_Y); } } - if (!(rfx->props&RFX_PROPS_BATCHG)) { + if (!(rfx->props & RFX_PROPS_BATCHG)) { // connect spinbutton to preview fd_connect_spinbutton(rfx); } } - has_param=make_param_box(LIVES_VBOX(pbox), rfx); + has_param = make_param_box(LIVES_VBOX(pbox), rfx); // update widgets from onchange_init here - if (top_dialog_vbox!=NULL) { + if (top_dialog_vbox != NULL) { - cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL,NULL); + cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL, NULL); fxw_accel_group = LIVES_ACCEL_GROUP(lives_accel_group_new()); lives_window_add_accel_group(LIVES_WINDOW(fx_dialog[didx]), fxw_accel_group); - if (!no_process||is_defaults||rfx->status==RFX_STATUS_SCRAP) { + if (!no_process || is_defaults || rfx->status == RFX_STATUS_SCRAP) { lives_dialog_add_action_widget(LIVES_DIALOG(fx_dialog[didx]), cancelbutton, LIVES_RESPONSE_CANCEL); lives_widget_add_accelerator(cancelbutton, LIVES_WIDGET_CLICKED_SIGNAL, fxw_accel_group, LIVES_KEY_Escape, (LiVESXModifierType)0, (LiVESAccelFlags)0); if (is_defaults) { - okbutton = lives_button_new_from_stock(LIVES_STOCK_APPLY,_("Set as default")); - if (!has_param) lives_widget_set_sensitive(okbutton,FALSE); - resetbutton = lives_button_new_from_stock(LIVES_STOCK_REVERT_TO_SAVED,_("Reset")); - if (!has_param) lives_widget_set_sensitive(resetbutton,FALSE); + okbutton = lives_button_new_from_stock(LIVES_STOCK_APPLY, _("Set as default")); + if (!has_param) lives_widget_set_sensitive(okbutton, FALSE); + resetbutton = lives_button_new_from_stock(LIVES_STOCK_REVERT_TO_SAVED, _("Reset")); + if (!has_param) lives_widget_set_sensitive(resetbutton, FALSE); lives_dialog_add_action_widget(LIVES_DIALOG(fx_dialog[didx]), resetbutton, LIVES_RESPONSE_RESET); - } else okbutton = lives_button_new_from_stock(LIVES_STOCK_OK,NULL); + } else okbutton = lives_button_new_from_stock(LIVES_STOCK_OK, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(fx_dialog[didx]), okbutton, LIVES_RESPONSE_OK); } else { - okbutton = lives_button_new_from_stock(LIVES_STOCK_APPLY,_("Set as default")); - if (!has_param) lives_widget_set_sensitive(okbutton,FALSE); - cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CLOSE,_("_Close Window")); + okbutton = lives_button_new_from_stock(LIVES_STOCK_APPLY, _("Set as default")); + if (!has_param) lives_widget_set_sensitive(okbutton, FALSE); + cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CLOSE, _("_Close Window")); - if (rfx->status==RFX_STATUS_WEED) { - resetbutton = lives_button_new_from_stock(LIVES_STOCK_REVERT_TO_SAVED,_("Reset")); + if (rfx->status == RFX_STATUS_WEED) { + resetbutton = lives_button_new_from_stock(LIVES_STOCK_REVERT_TO_SAVED, _("Reset")); lives_dialog_add_action_widget(LIVES_DIALOG(fx_dialog[didx]), resetbutton, LIVES_RESPONSE_RESET); lives_dialog_add_action_widget(LIVES_DIALOG(fx_dialog[didx]), okbutton, LIVES_RESPONSE_OK); } @@ -898,22 +898,22 @@ LIVES_KEY_Escape, (LiVESXModifierType)0, (LiVESAccelFlags)0); - if (rfx->status!=RFX_STATUS_WEED&&no_process) { - LiVESWidget *abox=lives_dialog_get_action_area(LIVES_DIALOG(fx_dialog[didx])); -#if !GTK_CHECK_VERSION(3,0,0) - lives_button_box_set_layout(LIVES_BUTTON_BOX(abox),LIVES_BUTTONBOX_CENTER); + if (rfx->status != RFX_STATUS_WEED && no_process) { + LiVESWidget *abox = lives_dialog_get_action_area(LIVES_DIALOG(fx_dialog[didx])); +#if !GTK_CHECK_VERSION(3, 0, 0) + lives_button_box_set_layout(LIVES_BUTTON_BOX(abox), LIVES_BUTTONBOX_CENTER); #else if (LIVES_IS_BOX(abox)) add_fill_to_box(LIVES_BOX(abox)); #endif - lives_widget_set_size_request(cancelbutton, DEF_BUTTON_WIDTH*4, -1); + lives_widget_set_size_request(cancelbutton, DEF_BUTTON_WIDTH * 4, -1); } } - lives_widget_set_can_focus(cancelbutton,TRUE); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(fx_dialog[didx]),"button",cancelbutton); + lives_widget_set_can_focus(cancelbutton, TRUE); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(fx_dialog[didx]), "button", cancelbutton); - if (lives_widget_get_parent(okbutton)!=NULL) { + if (lives_widget_get_parent(okbutton) != NULL) { lives_widget_set_can_focus_and_default(okbutton); lives_widget_grab_default(okbutton); } else { @@ -923,9 +923,9 @@ lives_widget_show_all(fx_dialog[didx]); - if (no_process&&!is_defaults) { + if (no_process && !is_defaults) { if (!is_realtime) { - if (lives_widget_get_parent(okbutton)!=NULL) + if (lives_widget_get_parent(okbutton) != NULL) lives_signal_connect(LIVES_GUI_OBJECT(okbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_paramwindow_cancel_clicked), rfx); @@ -939,7 +939,7 @@ lives_signal_connect(LIVES_GUI_OBJECT(cancelbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_paramwindow_cancel_clicked2), rfx); - if (rfx->status==RFX_STATUS_SCRAP) + if (rfx->status == RFX_STATUS_SCRAP) lives_signal_connect(LIVES_GUI_OBJECT(okbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_paramwindow_cancel_clicked2), rfx); @@ -947,7 +947,7 @@ lives_signal_connect(LIVES_GUI_OBJECT(okbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(rte_set_key_defs), rfx); - if (resetbutton!=NULL) { + if (resetbutton != NULL) { lives_signal_connect_after(LIVES_GUI_OBJECT(resetbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(rte_reset_defs_clicked), rfx); @@ -973,11 +973,11 @@ lives_signal_connect_after(LIVES_GUI_OBJECT(okbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(rte_set_defs_ok), rfx); - if (resetbutton!=NULL) { + if (resetbutton != NULL) { lives_signal_connect_after(LIVES_GUI_OBJECT(resetbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(rte_reset_defs_clicked), rfx); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(resetbutton),"cancelbutton",(livespointer)cancelbutton); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(resetbutton), "cancelbutton", (livespointer)cancelbutton); } lives_signal_connect(LIVES_GUI_OBJECT(cancelbutton), LIVES_WIDGET_CLICKED_SIGNAL, @@ -991,11 +991,11 @@ } // tweak some things to do with framedraw preview - if (mainw->framedraw!=NULL) fd_tweak(rfx); + if (mainw->framedraw != NULL) fd_tweak(rfx); - if (retvals!=NULL) { + if (retvals != NULL) { // now apply visually anything we got from onchange_init - param_demarshall(rfx,retvals,TRUE,TRUE); + param_demarshall(rfx, retvals, TRUE, TRUE); lives_list_free_all(&retvals); } @@ -1005,25 +1005,25 @@ static void check_hidden_gui(weed_plant_t *inst, lives_param_t *param) { int error; - weed_plant_t *wtmpl,*gui; + weed_plant_t *wtmpl, *gui; - if (param->reinit&&(weed_get_int_value(inst,WEED_LEAF_HOST_REFS,&error)==2|| - (mainw->multitrack!=NULL&&mainw->multitrack->fx_box!=NULL&& - mt_get_effect_time(mainw->multitrack)>0.))) { + if (param->reinit && (weed_get_int_value(inst, WEED_LEAF_HOST_REFS, &error) == 2 || + (mainw->multitrack != NULL && mainw->multitrack->fx_box != NULL && + mt_get_effect_time(mainw->multitrack) > 0.))) { // effect is running and user is editing the params (or in multitrack at not at fx time 0.) - param->hidden|=HIDDEN_NEEDS_REINIT; - } else if (param->hidden&HIDDEN_NEEDS_REINIT) param->hidden^=HIDDEN_NEEDS_REINIT; + param->hidden |= HIDDEN_NEEDS_REINIT; + } else if (param->hidden & HIDDEN_NEEDS_REINIT) param->hidden ^= HIDDEN_NEEDS_REINIT; - if ((wtmpl=(weed_plant_t *)param->source)==NULL) return; + if ((wtmpl = (weed_plant_t *)param->source) == NULL) return; - if (!weed_plant_has_leaf(wtmpl,WEED_LEAF_GUI)) return; + if (!weed_plant_has_leaf(wtmpl, WEED_LEAF_GUI)) return; - gui=weed_get_plantptr_value(wtmpl,WEED_LEAF_GUI,&error); + gui = weed_get_plantptr_value(wtmpl, WEED_LEAF_GUI, &error); - if (weed_plant_has_leaf(gui,WEED_LEAF_HIDDEN)) { - int hidden=weed_get_boolean_value(gui,WEED_LEAF_HIDDEN,&error); - if (hidden==WEED_TRUE) param->hidden|=HIDDEN_GUI; - else if (param->hidden&HIDDEN_GUI) param->hidden^=HIDDEN_GUI; + if (weed_plant_has_leaf(gui, WEED_LEAF_HIDDEN)) { + int hidden = weed_get_boolean_value(gui, WEED_LEAF_HIDDEN, &error); + if (hidden == WEED_TRUE) param->hidden |= HIDDEN_GUI; + else if (param->hidden & HIDDEN_GUI) param->hidden ^= HIDDEN_GUI; } } @@ -1032,8 +1032,8 @@ // get number of params for nth instance in a compound effect - gives an offset for param number within the compound int error; - while (--idx>0) inst=weed_get_plantptr_value(inst,WEED_LEAF_HOST_NEXT_INSTANCE,&error); - return weed_leaf_num_elements(inst,WEED_LEAF_IN_PARAMETERS); + while (--idx > 0) inst = weed_get_plantptr_value(inst, WEED_LEAF_HOST_NEXT_INSTANCE, &error); + return weed_leaf_num_elements(inst, WEED_LEAF_IN_PARAMETERS); } @@ -1043,52 +1043,52 @@ // make a dynamic parameter window // returns TRUE if we added any parameters - lives_param_t *param=NULL; + lives_param_t *param = NULL; - LiVESWidget *param_vbox=NULL; - LiVESWidget *top_hbox=NULL; - LiVESWidget *hbox=NULL; + LiVESWidget *param_vbox = NULL; + LiVESWidget *top_hbox = NULL; + LiVESWidget *hbox = NULL; // put whole thing in scrolled window LiVESWidget *scrolledwindow; - LiVESList *hints=NULL; - LiVESList *onchange=NULL; - LiVESList *layout=NULL; + LiVESList *hints = NULL; + LiVESList *onchange = NULL; + LiVESList *layout = NULL; char **array; char label_text[256]; // max length of a label in layout hints char *line; - char *type=NULL; + char *type = NULL; boolean used[rfx->num_params]; - boolean has_box=FALSE; - boolean internal=FALSE; + boolean has_box = FALSE; + boolean internal = FALSE; boolean noslid; - boolean has_param=FALSE; - boolean chk_params=FALSE; - boolean needs_sizes=FALSE; + boolean has_param = FALSE; + boolean chk_params = FALSE; + boolean needs_sizes = FALSE; int pnum; int length; - int poffset=0,inum=0; + int poffset = 0, inum = 0; int num_tok; - register int i,j,k; + register int i, j, k; - if (top_vbox==NULL) { + if (top_vbox == NULL) { // just check how many non-hidden params without displaying - chk_params=TRUE; + chk_params = TRUE; } else { - mainw->textwidget_focus=NULL; + mainw->textwidget_focus = NULL; // initialise special widgets init_special(); - if (rfx->status==RFX_STATUS_WEED) usrgrp_to_livesgrp[1]=NULL; - else usrgrp_to_livesgrp[0]=NULL; + if (rfx->status == RFX_STATUS_WEED) usrgrp_to_livesgrp[1] = NULL; + else usrgrp_to_livesgrp[0] = NULL; // paramwindow start, everything goes in top_hbox @@ -1098,79 +1098,79 @@ param_vbox = lives_vbox_new(FALSE, widget_opts.packing_height); lives_box_pack_start(LIVES_BOX(top_hbox), param_vbox, TRUE, TRUE, widget_opts.packing_width); - lives_box_set_spacing(LIVES_BOX(param_vbox), widget_opts.packing_height/2); + lives_box_set_spacing(LIVES_BOX(param_vbox), widget_opts.packing_height / 2); } switch (rfx->status) { case RFX_STATUS_BUILTIN: - type=lives_strdup(PLUGIN_RENDERED_EFFECTS_BUILTIN); + type = lives_strdup(PLUGIN_RENDERED_EFFECTS_BUILTIN); break; case RFX_STATUS_CUSTOM: - type=lives_strdup(PLUGIN_RENDERED_EFFECTS_CUSTOM); + type = lives_strdup(PLUGIN_RENDERED_EFFECTS_CUSTOM); break; case RFX_STATUS_SCRAP: - type=lives_strdup(PLUGIN_RFX_SCRAP); + type = lives_strdup(PLUGIN_RFX_SCRAP); break; case RFX_STATUS_WEED: - internal=TRUE; + internal = TRUE; break; default: - type=lives_strdup(PLUGIN_RENDERED_EFFECTS_TEST); + type = lives_strdup(PLUGIN_RENDERED_EFFECTS_TEST); break; } // extras for multitrack - if (mainw->multitrack!=NULL&&rfx->status==RFX_STATUS_WEED&&!chk_params) { - weed_plant_t *filter=weed_instance_get_filter((weed_plant_t *)rfx->source,TRUE); - if (enabled_in_channels(filter,FALSE)==2&&get_transition_param(filter,FALSE)!=-1) { + if (mainw->multitrack != NULL && rfx->status == RFX_STATUS_WEED && !chk_params) { + weed_plant_t *filter = weed_instance_get_filter((weed_plant_t *)rfx->source, TRUE); + if (enabled_in_channels(filter, FALSE) == 2 && get_transition_param(filter, FALSE) != -1) { // add in/out for multitrack transition - transition_add_in_out(LIVES_BOX(param_vbox),rfx,(mainw->multitrack->opts.pertrack_audio)); + transition_add_in_out(LIVES_BOX(param_vbox), rfx, (mainw->multitrack->opts.pertrack_audio)); //trans_in_out_pressed(rfx,TRUE); } } // extras for converters - if (internal&&weed_instance_is_resizer((weed_plant_t *)rfx->source)&&!chk_params) { - has_param=add_sizes(LIVES_BOX(param_vbox),FALSE,has_param,rfx); + if (internal && weed_instance_is_resizer((weed_plant_t *)rfx->source) && !chk_params) { + has_param = add_sizes(LIVES_BOX(param_vbox), FALSE, has_param, rfx); } - if (rfx->status!=RFX_STATUS_SCRAP&&!internal&&rfx->num_in_channels==0&&rfx->min_frames>-1&&!chk_params) { - if (mainw->multitrack==NULL) add_gen_to(LIVES_BOX(param_vbox),rfx); - else mainw->gen_to_clipboard=FALSE; + if (rfx->status != RFX_STATUS_SCRAP && !internal && rfx->num_in_channels == 0 && rfx->min_frames > -1 && !chk_params) { + if (mainw->multitrack == NULL) add_gen_to(LIVES_BOX(param_vbox), rfx); + else mainw->gen_to_clipboard = FALSE; } - if (!internal&&!chk_params) { + if (!internal && !chk_params) { // do onchange|init - if ((onchange=plugin_request_by_line(type,rfx->name,"get_onchange"))!=NULL) { - for (i=0; i<lives_list_length(onchange); i++) { - array=lives_strsplit((char *)lives_list_nth_data(onchange,i),rfx->delim,-1); - if (strcmp(array[0],"init")) { + if ((onchange = plugin_request_by_line(type, rfx->name, "get_onchange")) != NULL) { + for (i = 0; i < lives_list_length(onchange); i++) { + array = lives_strsplit((char *)lives_list_nth_data(onchange, i), rfx->delim, -1); + if (strcmp(array[0], "init")) { // note other onchanges so we don't have to keep parsing the list - int which=atoi(array[0]); - if (which>=0&&which<rfx->num_params) { - rfx->params[which].onchange=TRUE; + int which = atoi(array[0]); + if (which >= 0 && which < rfx->num_params) { + rfx->params[which].onchange = TRUE; } } lives_strfreev(array); } lives_list_free_all(&onchange); } - hints=plugin_request_by_line(type,rfx->name,"get_param_window"); + hints = plugin_request_by_line(type, rfx->name, "get_param_window"); lives_free(type); - } else if (!chk_params) hints=get_external_window_hints(rfx); + } else if (!chk_params) hints = get_external_window_hints(rfx); // do param window hints - if (hints!=NULL) { - char *lstring=lives_strconcat("layout",rfx->delim,NULL); - char *sstring=lives_strconcat("special",rfx->delim,NULL); - char *istring=lives_strconcat("internal",rfx->delim,NULL); - for (i=0; i<lives_list_length(hints); i++) { - if (!strncmp((char *)lives_list_nth_data(hints,i),lstring,7)) { - layout=lives_list_append(layout,lives_strdup((char *)lives_list_nth_data(hints,i)+7)); - } else if (!strncmp((char *)lives_list_nth_data(hints,i),istring,9)) { - layout=lives_list_append(layout,lives_strdup((char *)lives_list_nth_data(hints,i)+9)); - } else if (!strncmp((char *)lives_list_nth_data(hints,i),sstring,8)) { - add_to_special((char *)lives_list_nth_data(hints,i)+8,rfx); + if (hints != NULL) { + char *lstring = lives_strconcat("layout", rfx->delim, NULL); + char *sstring = lives_strconcat("special", rfx->delim, NULL); + char *istring = lives_strconcat("internal", rfx->delim, NULL); + for (i = 0; i < lives_list_length(hints); i++) { + if (!strncmp((char *)lives_list_nth_data(hints, i), lstring, 7)) { + layout = lives_list_append(layout, lives_strdup((char *)lives_list_nth_data(hints, i) + 7)); + } else if (!strncmp((char *)lives_list_nth_data(hints, i), istring, 9)) { + layout = lives_list_append(layout, lives_strdup((char *)lives_list_nth_data(hints, i) + 9)); + } else if (!strncmp((char *)lives_list_nth_data(hints, i), sstring, 8)) { + add_to_special((char *)lives_list_nth_data(hints, i) + 8, rfx); } } lives_list_free_all(&hints); @@ -1178,75 +1178,75 @@ lives_free(sstring); } - for (i=0; i<rfx->num_params; i++) { - used[i]=FALSE; - for (j=0; j<MAX_PARAM_WIDGETS; rfx->params[i].widgets[j++]=NULL); + for (i = 0; i < rfx->num_params; i++) { + used[i] = FALSE; + for (j = 0; j < MAX_PARAM_WIDGETS; rfx->params[i].widgets[j++] = NULL); } - mainw->block_param_updates=TRUE; // block framedraw updates until all parameter widgets have been created + mainw->block_param_updates = TRUE; // block framedraw updates until all parameter widgets have been created // use layout hints to build as much as we can - for (i=0; i<lives_list_length(layout); i++) { - has_box=FALSE; - noslid=FALSE; - line=(char *)lives_list_nth_data(layout,i); - num_tok=get_token_count(line,(unsigned int)rfx->delim[0]); + for (i = 0; i < lives_list_length(layout); i++) { + has_box = FALSE; + noslid = FALSE; + line = (char *)lives_list_nth_data(layout, i); + num_tok = get_token_count(line, (unsigned int)rfx->delim[0]); // ignore | inside strings - array=lives_strsplit(line,rfx->delim,num_tok); - if (!strlen(array[num_tok-1])) num_tok--; - for (j=0; j<num_tok; j++) { - if (!strcmp(array[j],"nextfilter")) { + array = lives_strsplit(line, rfx->delim, num_tok); + if (!strlen(array[num_tok - 1])) num_tok--; + for (j = 0; j < num_tok; j++) { + if (!strcmp(array[j], "nextfilter")) { // handling for compound fx - add an offset to the param number - poffset+=num_in_params_for_nth_instance((weed_plant_t *)rfx->source,inum); + poffset += num_in_params_for_nth_instance((weed_plant_t *)rfx->source, inum); inum++; continue; } - if (!strncmp(array[j],"p",1)&&(pnum=atoi((char *)(array[j]+1)))>=0&&(pnum=pnum+poffset)<rfx->num_params&&!used[pnum]) { - param=&rfx->params[pnum]; - if (rfx->source_type==LIVES_RFX_SOURCE_WEED) check_hidden_gui((weed_plant_t *)rfx->source,param); - if ((param->hidden&¶m->hidden!=HIDDEN_NEEDS_REINIT)|| - param->type==LIVES_PARAM_UNDISPLAYABLE) continue; + if (!strncmp(array[j], "p", 1) && (pnum = atoi((char *)(array[j] + 1))) >= 0 && (pnum = pnum + poffset) < rfx->num_params && !used[pnum]) { + param = &rfx->params[pnum]; + if (rfx->source_type == LIVES_RFX_SOURCE_WEED) check_hidden_gui((weed_plant_t *)rfx->source, param); + if ((param->hidden && param->hidden != HIDDEN_NEEDS_REINIT) || + param->type == LIVES_PARAM_UNDISPLAYABLE) continue; // parameter, eg. p1 if (!has_box) { hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(param_vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - has_box=TRUE; - has_param=TRUE; + has_box = TRUE; + has_param = TRUE; } - if (add_param_to_box(LIVES_BOX(hbox),rfx,pnum,(j==(num_tok-1))&&!noslid)) noslid=TRUE; - used[pnum]=TRUE; - has_param=TRUE; - } else if (!j&&!strcmp(array[j],"hseparator")&&has_param) { + if (add_param_to_box(LIVES_BOX(hbox), rfx, pnum, (j == (num_tok - 1)) && !noslid)) noslid = TRUE; + used[pnum] = TRUE; + has_param = TRUE; + } else if (!j && !strcmp(array[j], "hseparator") && has_param) { add_hsep_to_box(LIVES_BOX(param_vbox)); - j=num_tok; // ignore anything after hseparator - } else if (!strncmp(array[j],"fill",4)) { + j = num_tok; // ignore anything after hseparator + } else if (!strncmp(array[j], "fill", 4)) { // can be filln - if (strlen(array[j])==4||!(length=atoi(array[j]+4))) length=1; + if (strlen(array[j]) == 4 || !(length = atoi(array[j] + 4))) length = 1; if (!has_box) { hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(param_vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - has_box=TRUE; + has_box = TRUE; } - for (k=0; k<length; k++) { + for (k = 0; k < length; k++) { add_fill_to_box(LIVES_BOX(hbox)); } - } else if (!strncmp(array[j],"\"",1)) { + } else if (!strncmp(array[j], "\"", 1)) { // label if (!has_box) { hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(param_vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - has_box=TRUE; + has_box = TRUE; } - lives_snprintf(label_text,256,"%s",array[j]+1); - while (strcmp(array[j]+strlen(array[j])-1,"\"")&&j<num_tok-1) { - lives_strappend(label_text,256,array[++j]); - } - if (strlen(label_text)>1) { - if (!strcmp(label_text+strlen(label_text)-1,"\"")) { - memset(label_text+strlen(label_text)-1,0,1); + lives_snprintf(label_text, 256, "%s", array[j] + 1); + while (strcmp(array[j] + strlen(array[j]) - 1, "\"") && j < num_tok - 1) { + lives_strappend(label_text, 256, array[++j]); + } + if (strlen(label_text) > 1) { + if (!strcmp(label_text + strlen(label_text) - 1, "\"")) { + memset(label_text + strlen(label_text) - 1, 0, 1); } - add_param_label_to_box(LIVES_BOX(hbox),TRUE,label_text); + add_param_label_to_box(LIVES_BOX(hbox), TRUE, label_text); } } } @@ -1255,30 +1255,30 @@ lives_list_free_all(&layout); // add any unused parameters - for (i=0; i<rfx->num_params; i++) { - rfx->params[i].changed=FALSE; - if (rfx->source_type==LIVES_RFX_SOURCE_WEED) check_hidden_gui((weed_plant_t *)rfx->source,&rfx->params[i]); - if ((rfx->params[i].hidden&&rfx->params[i].hidden!=HIDDEN_NEEDS_REINIT)|| - rfx->params[i].type==LIVES_PARAM_UNDISPLAYABLE) continue; + for (i = 0; i < rfx->num_params; i++) { + rfx->params[i].changed = FALSE; + if (rfx->source_type == LIVES_RFX_SOURCE_WEED) check_hidden_gui((weed_plant_t *)rfx->source, &rfx->params[i]); + if ((rfx->params[i].hidden && rfx->params[i].hidden != HIDDEN_NEEDS_REINIT) || + rfx->params[i].type == LIVES_PARAM_UNDISPLAYABLE) continue; if (!used[i]) { if (!chk_params) { - add_param_to_box(LIVES_BOX(param_vbox),rfx,i,TRUE); + add_param_to_box(LIVES_BOX(param_vbox), rfx, i, TRUE); } - has_param=TRUE; + has_param = TRUE; } } - if (mainw->multitrack==NULL&&rfx->status==RFX_STATUS_WEED&&rfx->is_template) { - weed_plant_t *filter=weed_instance_get_filter((weed_plant_t *)rfx->source,TRUE); - if (enabled_in_channels(filter,FALSE)==0&&enabled_out_channels(filter,FALSE)>0&&has_video_chans_out(filter,TRUE)) { + if (mainw->multitrack == NULL && rfx->status == RFX_STATUS_WEED && rfx->is_template) { + weed_plant_t *filter = weed_instance_get_filter((weed_plant_t *)rfx->source, TRUE); + if (enabled_in_channels(filter, FALSE) == 0 && enabled_out_channels(filter, FALSE) > 0 && has_video_chans_out(filter, TRUE)) { // out channel size(s) and target_fps for generators if (!chk_params) { - needs_sizes=TRUE; - if (mainw->overflow_height<900) mainw->overflow_height=900; + needs_sizes = TRUE; + if (mainw->overflow_height < 900) mainw->overflow_height = 900; } - chk_params=TRUE; + chk_params = TRUE; } } @@ -1286,31 +1286,31 @@ if (!chk_params) { if (!has_param) { hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(param_vbox), hbox, FALSE, FALSE, widget_opts.packing_height*2); + lives_box_pack_start(LIVES_BOX(param_vbox), hbox, FALSE, FALSE, widget_opts.packing_height * 2); add_fill_to_box(LIVES_BOX(hbox)); - add_param_label_to_box(LIVES_BOX(hbox),FALSE,_("No parameters")); + add_param_label_to_box(LIVES_BOX(hbox), FALSE, _("No parameters")); add_fill_to_box(LIVES_BOX(hbox)); } - if (mainw->multitrack==NULL||rfx->status!=RFX_STATUS_WEED) { - if (mainw->scr_height>=mainw->overflow_height) - scrolledwindow=lives_standard_scrolled_window_new(RFX_WINSIZE_H,RFX_WINSIZE_V,top_hbox); + if (mainw->multitrack == NULL || rfx->status != RFX_STATUS_WEED) { + if (mainw->scr_height >= mainw->overflow_height) + scrolledwindow = lives_standard_scrolled_window_new(RFX_WINSIZE_H, RFX_WINSIZE_V, top_hbox); else - scrolledwindow=lives_standard_scrolled_window_new(RFX_WINSIZE_H,RFX_WINSIZE_V>>1,top_hbox); + scrolledwindow = lives_standard_scrolled_window_new(RFX_WINSIZE_H, RFX_WINSIZE_V >> 1, top_hbox); } else - scrolledwindow=lives_standard_scrolled_window_new(-1,-1,top_hbox); + scrolledwindow = lives_standard_scrolled_window_new(-1, -1, top_hbox); lives_box_pack_start(LIVES_BOX(top_vbox), scrolledwindow, TRUE, TRUE, 0); } if (needs_sizes) { - add_sizes(LIVES_BOX(top_vbox),TRUE,has_param,rfx); - has_param=TRUE; + add_sizes(LIVES_BOX(top_vbox), TRUE, has_param, rfx); + has_param = TRUE; } - mainw->block_param_updates=FALSE; - mainw->overflow_height=0; + mainw->block_param_updates = FALSE; + mainw->overflow_height = 0; return has_param; } @@ -1327,7 +1327,7 @@ LiVESWidget *checkbutton; LiVESWidget *radiobutton; LiVESWidget *spinbutton; - LiVESWidget *scale=NULL; + LiVESWidget *scale = NULL; #ifdef ENABLE_GIW LiVESWidget *scale2; #endif @@ -1335,16 +1335,16 @@ LiVESWidget *spinbutton_green; LiVESWidget *spinbutton_blue; LiVESWidget *cbutton; - LiVESWidget *entry=NULL; + LiVESWidget *entry = NULL; LiVESWidget *hbox; LiVESWidget *combo; - LiVESWidget *dlabel=NULL; - LiVESWidget *textview=NULL; + LiVESWidget *dlabel = NULL; + LiVESWidget *textview = NULL; LiVESWidget *scrolledwindow; LiVESAdjustment *spinbutton_adj; - LiVESTextBuffer *textbuffer=NULL; + LiVESTextBuffer *textbuffer = NULL; lives_param_t *param; lives_widget_group_t *group; @@ -1354,95 +1354,95 @@ lives_colRGBA64_t rgba; char *name; - char *txt,*tmp; + char *txt, *tmp; char *disp_string; boolean use_mnemonic; - boolean was_num=FALSE; + boolean was_num = FALSE; - boolean add_scalers=TRUE; + boolean add_scalers = TRUE; - if (pnum>=rfx->num_params) { - add_param_label_to_box(box,FALSE,(_("Invalid parameter"))); + if (pnum >= rfx->num_params) { + add_param_label_to_box(box, FALSE, (_("Invalid parameter"))); return FALSE; } - param=&rfx->params[pnum]; + param = &rfx->params[pnum]; - name=lives_strdup_printf("%s",param->label); - use_mnemonic=param->use_mnemonic; + name = lives_strdup_printf("%s", param->label); + use_mnemonic = param->use_mnemonic; // reinit can cause the window to be redrawn, which invalidates the slider adjustment...and bang ! // so dont add sliders for such params - if (param->reinit) add_scalers=FALSE; + if (param->reinit) add_scalers = FALSE; // for plugins (encoders and video playback) sliders look silly - if (rfx->flags&RFX_FLAGS_NO_SLIDERS) add_scalers=FALSE; + if (rfx->flags & RFX_FLAGS_NO_SLIDERS) add_scalers = FALSE; if (LIVES_IS_HBOX(LIVES_WIDGET(box))) { - hbox=LIVES_WIDGET(box); + hbox = LIVES_WIDGET(box); } else { hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(box), hbox, FALSE, FALSE, widget_opts.packing_height); } switch (param->type) { - case LIVES_PARAM_BOOL : + case LIVES_PARAM_BOOL: if (!param->group) { - if (rfx->status==RFX_STATUS_WEED&&(disp_string=get_weed_display_string((weed_plant_t *)rfx->source,pnum))!=NULL) { - dlabel=lives_standard_label_new((tmp=lives_strdup_printf("(%s)",_(disp_string)))); + if (rfx->status == RFX_STATUS_WEED && (disp_string = get_weed_display_string((weed_plant_t *)rfx->source, pnum)) != NULL) { + dlabel = lives_standard_label_new((tmp = lives_strdup_printf("(%s)", _(disp_string)))); lives_free(tmp); lives_free(disp_string); lives_box_pack_start(LIVES_BOX(hbox), dlabel, FALSE, FALSE, widget_opts.packing_width); - param->widgets[1]=dlabel; + param->widgets[1] = dlabel; } - checkbutton=lives_standard_check_button_new(name,use_mnemonic,(LiVESBox *)hbox,param->desc); + checkbutton = lives_standard_check_button_new(name, use_mnemonic, (LiVESBox *)hbox, param->desc); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton), get_bool_param(param->value)); lives_signal_connect_after(LIVES_GUI_OBJECT(checkbutton), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(after_boolean_param_toggled), (livespointer)rfx); // store parameter so we know whose trigger to use - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(checkbutton),"param_number",LIVES_INT_TO_POINTER(pnum)); - param->widgets[0]=checkbutton; - if (param->hidden) lives_widget_set_sensitive(checkbutton,FALSE); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(checkbutton), "param_number", LIVES_INT_TO_POINTER(pnum)); + param->widgets[0] = checkbutton; + if (param->hidden) lives_widget_set_sensitive(checkbutton, FALSE); } else { - group=get_group(rfx,param); + group = get_group(rfx, param); - if (rfx->status==RFX_STATUS_WEED&&(disp_string=get_weed_display_string((weed_plant_t *)rfx->source,pnum))!=NULL) { - dlabel=lives_standard_label_new((tmp=lives_strdup_printf("(%s)",_(disp_string)))); + if (rfx->status == RFX_STATUS_WEED && (disp_string = get_weed_display_string((weed_plant_t *)rfx->source, pnum)) != NULL) { + dlabel = lives_standard_label_new((tmp = lives_strdup_printf("(%s)", _(disp_string)))); lives_free(tmp); lives_free(disp_string); lives_box_pack_start(LIVES_BOX(hbox), dlabel, FALSE, FALSE, widget_opts.packing_width); - param->widgets[1]=dlabel; + param->widgets[1] = dlabel; } - if (group!=NULL) rbgroup=group->rbgroup; - else rbgroup=NULL; + if (group != NULL) rbgroup = group->rbgroup; + else rbgroup = NULL; - radiobutton=lives_standard_radio_button_new(name,use_mnemonic,rbgroup,LIVES_BOX(hbox),param->desc); + radiobutton = lives_standard_radio_button_new(name, use_mnemonic, rbgroup, LIVES_BOX(hbox), param->desc); - if (group==NULL) { - if (rfx->status==RFX_STATUS_WEED) { - usrgrp_to_livesgrp[1]=add_usrgrp_to_livesgrp(usrgrp_to_livesgrp[1], - lives_radio_button_get_group(LIVES_RADIO_BUTTON(radiobutton)), - param->group); + if (group == NULL) { + if (rfx->status == RFX_STATUS_WEED) { + usrgrp_to_livesgrp[1] = add_usrgrp_to_livesgrp(usrgrp_to_livesgrp[1], + lives_radio_button_get_group(LIVES_RADIO_BUTTON(radiobutton)), + param->group); } else { - usrgrp_to_livesgrp[0]=add_usrgrp_to_livesgrp(usrgrp_to_livesgrp[0], - lives_radio_button_get_group(LIVES_RADIO_BUTTON(radiobutton)), - param->group); + usrgrp_to_livesgrp[0] = add_usrgrp_to_livesgrp(usrgrp_to_livesgrp[0], + lives_radio_button_get_group(LIVES_RADIO_BUTTON(radiobutton)), + param->group); } } - group=get_group(rfx,param); + group = get_group(rfx, param); - if (group!=NULL) { - group->rbgroup=lives_radio_button_get_group(LIVES_RADIO_BUTTON(radiobutton)); + if (group != NULL) { + group->rbgroup = lives_radio_button_get_group(LIVES_RADIO_BUTTON(radiobutton)); if (get_bool_param(param->value)) { - group->active_param=pnum+1; + group->active_param = pnum + 1; } } else LIVES_WARN("Button group was NULL"); @@ -1453,104 +1453,104 @@ lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(radiobutton), get_bool_param(param->value)); // store parameter so we know whose trigger to use - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(radiobutton),"param_number",LIVES_INT_TO_POINTER(pnum)); - param->widgets[0]=radiobutton; - if (param->hidden) lives_widget_set_sensitive(radiobutton,FALSE); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(radiobutton), "param_number", LIVES_INT_TO_POINTER(pnum)); + param->widgets[0] = radiobutton; + if (param->hidden) lives_widget_set_sensitive(radiobutton, FALSE); } break; - case LIVES_PARAM_NUM : - was_num=TRUE; + case LIVES_PARAM_NUM: + was_num = TRUE; - if (rfx->status==RFX_STATUS_WEED&&(disp_string=get_weed_display_string((weed_plant_t *)rfx->source,pnum))!=NULL) { - dlabel=lives_standard_label_new((tmp=lives_strdup_printf("%s",_(disp_string)))); + if (rfx->status == RFX_STATUS_WEED && (disp_string = get_weed_display_string((weed_plant_t *)rfx->source, pnum)) != NULL) { + dlabel = lives_standard_label_new((tmp = lives_strdup_printf("%s", _(disp_string)))); lives_free(tmp); lives_free(disp_string); lives_box_pack_start(LIVES_BOX(hbox), dlabel, FALSE, FALSE, widget_opts.packing_width); - param->widgets[1]=dlabel; + param->widgets[1] = dlabel; } if (param->dp) { - spinbutton=lives_standard_spin_button_new(name, use_mnemonic, get_double_param(param->value), param->min, - param->max, param->step_size, param->step_size, param->dp, - (LiVESBox *)hbox, param->desc); + spinbutton = lives_standard_spin_button_new(name, use_mnemonic, get_double_param(param->value), param->min, + param->max, param->step_size, param->step_size, param->dp, + (LiVESBox *)hbox, param->desc); } else { - spinbutton=lives_standard_spin_button_new(name, use_mnemonic, (double)get_int_param(param->value), param->min, - param->max, param->step_size, param->step_size, param->dp, - (LiVESBox *)hbox, param->desc); + spinbutton = lives_standard_spin_button_new(name, use_mnemonic, (double)get_int_param(param->value), param->min, + param->max, param->step_size, param->step_size, param->dp, + (LiVESBox *)hbox, param->desc); } - lives_spin_button_set_wrap(LIVES_SPIN_BUTTON(spinbutton),param->wrap); + lives_spin_button_set_wrap(LIVES_SPIN_BUTTON(spinbutton), param->wrap); lives_signal_connect_after(LIVES_GUI_OBJECT(spinbutton), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(after_param_value_changed), (livespointer)rfx); // store parameter so we know whose trigger to use - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(spinbutton),"param_number",LIVES_INT_TO_POINTER(pnum)); - param->widgets[0]=spinbutton; - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(param->widgets[0]),"rfx",rfx); - if (param->hidden) lives_widget_set_sensitive(spinbutton,FALSE); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(spinbutton), "param_number", LIVES_INT_TO_POINTER(pnum)); + param->widgets[0] = spinbutton; + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(param->widgets[0]), "rfx", rfx); + if (param->hidden) lives_widget_set_sensitive(spinbutton, FALSE); if (add_scalers) { - spinbutton_adj=lives_spin_button_get_adjustment(LIVES_SPIN_BUTTON(spinbutton)); + spinbutton_adj = lives_spin_button_get_adjustment(LIVES_SPIN_BUTTON(spinbutton)); #ifdef ENABLE_GIW if (!prefs->lamp_buttons) { #endif if (add_slider) { - scale=lives_hscale_new(LIVES_ADJUSTMENT(spinbutton_adj)); - lives_scale_set_draw_value(LIVES_SCALE(scale),FALSE); + scale = lives_hscale_new(LIVES_ADJUSTMENT(spinbutton_adj)); + lives_scale_set_draw_value(LIVES_SCALE(scale), FALSE); lives_box_pack_start(LIVES_BOX(hbox), scale, TRUE, TRUE, 0); } #ifdef ENABLE_GIW } else { - scale=giw_knob_new(LIVES_ADJUSTMENT(spinbutton_adj)); - giw_knob_set_wrap(GIW_KNOB(scale),param->wrap); - lives_widget_set_size_request(scale,GIW_KNOB_WIDTH,GIW_KNOB_HEIGHT); - giw_knob_set_legends_digits(GIW_KNOB(scale),0); + scale = giw_knob_new(LIVES_ADJUSTMENT(spinbutton_adj)); + giw_knob_set_wrap(GIW_KNOB(scale), param->wrap); + lives_widget_set_size_request(scale, GIW_KNOB_WIDTH, GIW_KNOB_HEIGHT); + giw_knob_set_legends_digits(GIW_KNOB(scale), 0); lives_box_pack_start(LIVES_BOX(hbox), scale, FALSE, FALSE, 0); add_fill_to_box(LIVES_BOX(hbox)); - lives_widget_set_fg_color(scale,LIVES_WIDGET_STATE_NORMAL,&palette->black); - lives_widget_set_fg_color(scale,LIVES_WIDGET_STATE_PRELIGHT,&palette->dark_orange); + lives_widget_set_fg_color(scale, LIVES_WIDGET_STATE_NORMAL, &palette->black); + lives_widget_set_fg_color(scale, LIVES_WIDGET_STATE_PRELIGHT, &palette->dark_orange); if (add_slider) { - scale2=lives_hscale_new(LIVES_ADJUSTMENT(spinbutton_adj)); - lives_scale_set_draw_value(LIVES_SCALE(scale2),FALSE); + scale2 = lives_hscale_new(LIVES_ADJUSTMENT(spinbutton_adj)); + lives_scale_set_draw_value(LIVES_SCALE(scale2), FALSE); lives_box_pack_start(LIVES_BOX(hbox), scale2, TRUE, TRUE, 0); if (!LIVES_IS_HBOX(LIVES_WIDGET(box))) add_fill_to_box(LIVES_BOX(hbox)); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(scale2, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); lives_widget_set_text_color(scale2, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); lives_widget_set_fg_color(scale2, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); } - if (param->desc!=NULL) lives_widget_set_tooltip_text(scale2, param->desc); + if (param->desc != NULL) lives_widget_set_tooltip_text(scale2, param->desc); } } #endif - if (palette->style&STYLE_1&&scale!=NULL) { + if (palette->style & STYLE_1 && scale != NULL) { lives_widget_set_bg_color(scale, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); lives_widget_set_text_color(scale, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); lives_widget_set_fg_color(scale, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); } - if (param->desc!=NULL) lives_widget_set_tooltip_text(scale, param->desc); + if (param->desc != NULL) lives_widget_set_tooltip_text(scale, param->desc); } break; - case LIVES_PARAM_COLRGB24 : - get_colRGB24_param(param->value,&rgb); + case LIVES_PARAM_COLRGB24: + get_colRGB24_param(param->value, &rgb); - rgba.red=rgb.red<<8; - rgba.green=rgb.green<<8; - rgba.blue=rgb.blue<<8; - rgba.alpha=65535; + rgba.red = rgb.red << 8; + rgba.green = rgb.green << 8; + rgba.blue = rgb.blue << 8; + rgba.alpha = 65535; - cbutton = lives_standard_color_button_new(LIVES_BOX(hbox),_(name),use_mnemonic,FALSE,&rgba,&spinbutton_red,&spinbutton_green, - &spinbutton_blue,NULL); + cbutton = lives_standard_color_button_new(LIVES_BOX(hbox), _(name), use_mnemonic, FALSE, &rgba, &spinbutton_red, &spinbutton_green, + &spinbutton_blue, NULL); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(cbutton),"param_number",LIVES_INT_TO_POINTER(pnum)); - if (param->desc!=NULL) lives_widget_set_tooltip_text(cbutton, param->desc); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(cbutton), "param_number", LIVES_INT_TO_POINTER(pnum)); + if (param->desc != NULL) lives_widget_set_tooltip_text(cbutton, param->desc); lives_signal_connect_after(LIVES_GUI_OBJECT(spinbutton_red), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(after_param_red_changed), @@ -1567,61 +1567,58 @@ (livespointer)rfx); // store parameter so we know whose trigger to use - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(spinbutton_red),"param_number",LIVES_INT_TO_POINTER(pnum)); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(spinbutton_green),"param_number",LIVES_INT_TO_POINTER(pnum)); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(spinbutton_blue),"param_number",LIVES_INT_TO_POINTER(pnum)); - - param->widgets[0]=spinbutton_red; - param->widgets[1]=spinbutton_green; - param->widgets[2]=spinbutton_blue; + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(spinbutton_red), "param_number", LIVES_INT_TO_POINTER(pnum)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(spinbutton_green), "param_number", LIVES_INT_TO_POINTER(pnum)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(spinbutton_blue), "param_number", LIVES_INT_TO_POINTER(pnum)); + + param->widgets[0] = spinbutton_red; + param->widgets[1] = spinbutton_green; + param->widgets[2] = spinbutton_blue; //param->widgets[3]=spinbutton_alpha; - param->widgets[4]=cbutton; + param->widgets[4] = cbutton; if (param->hidden) { - lives_widget_set_sensitive(spinbutton_red,FALSE); - lives_widget_set_sensitive(spinbutton_green,FALSE); - lives_widget_set_sensitive(spinbutton_blue,FALSE); + lives_widget_set_sensitive(spinbutton_red, FALSE); + lives_widget_set_sensitive(spinbutton_green, FALSE); + lives_widget_set_sensitive(spinbutton_blue, FALSE); //lives_widget_set_sensitive(spinbutton_alpha,FALSE); - lives_widget_set_sensitive(cbutton,FALSE); + lives_widget_set_sensitive(cbutton, FALSE); } break; case LIVES_PARAM_STRING: - - if (rfx->status==RFX_STATUS_WEED&&(disp_string=get_weed_display_string((weed_plant_t *)rfx->source,pnum))!=NULL) { - if (param->max==0.) txt=lives_strdup(disp_string); - else txt=lives_strndup(disp_string,(int)param->max); + if (rfx->status == RFX_STATUS_WEED && (disp_string = get_weed_display_string((weed_plant_t *)rfx->source, pnum)) != NULL) { + if (param->max == 0.) txt = lives_strdup(disp_string); + else txt = lives_strndup(disp_string, (int)param->max); lives_free(disp_string); } else { - if (param->max==0.) txt=lives_strdup((char *)param->value); - else txt=lives_strndup((char *)param->value,(int)param->max); + if (param->max == 0.) txt = lives_strdup((char *)param->value); + else txt = lives_strndup((char *)param->value, (int)param->max); } - - - if (((int)param->max>RFX_TEXT_MAGIC||param->max==0.)&& - param->special_type!=LIVES_PARAM_SPECIAL_TYPE_FILEREAD) { + if (((int)param->max > RFX_TEXT_MAGIC || param->max == 0.) && + param->special_type != LIVES_PARAM_SPECIAL_TYPE_FILEREAD) { LiVESWidget *vbox; boolean woat; - widget_opts.justify=LIVES_JUSTIFY_CENTER; - if (use_mnemonic) label = lives_standard_label_new_with_mnemonic(_(name),NULL); + widget_opts.justify = LIVES_JUSTIFY_CENTER; + if (use_mnemonic) label = lives_standard_label_new_with_mnemonic(_(name), NULL); else label = lives_standard_label_new(_(name)); - widget_opts.justify=LIVES_JUSTIFY_DEFAULT; + widget_opts.justify = LIVES_JUSTIFY_DEFAULT; - vbox=lives_vbox_new(FALSE,0); + vbox = lives_vbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(hbox), vbox, TRUE, TRUE, widget_opts.packing_width); - lives_box_pack_start(LIVES_BOX(vbox), label, FALSE, FALSE, widget_opts.packing_height>>1); + lives_box_pack_start(LIVES_BOX(vbox), label, FALSE, FALSE, widget_opts.packing_height >> 1); - hbox=lives_hbox_new(FALSE,0); - lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height>>1); + hbox = lives_hbox_new(FALSE, 0); + lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height >> 1); param->widgets[0] = textview = lives_text_view_new(); - if (param->desc!=NULL) lives_widget_set_tooltip_text(textview, param->desc); - textbuffer=lives_text_view_get_buffer(LIVES_TEXT_VIEW(textview)); + if (param->desc != NULL) lives_widget_set_tooltip_text(textview, param->desc); + textbuffer = lives_text_view_get_buffer(LIVES_TEXT_VIEW(textview)); lives_signal_connect_after(LIVES_WIDGET_OBJECT(textbuffer), LIVES_WIDGET_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(after_param_text_buffer_changed), @@ -1633,76 +1630,75 @@ lives_text_buffer_set_text(textbuffer, txt, -1); - woat=widget_opts.apply_theme; - widget_opts.apply_theme=FALSE; - widget_opts.expand=LIVES_EXPAND_NONE; + woat = widget_opts.apply_theme; + widget_opts.apply_theme = FALSE; + widget_opts.expand = LIVES_EXPAND_EXTRA; scrolledwindow = lives_standard_scrolled_window_new(-1, RFX_TEXT_SCROLL_HEIGHT, textview); - widget_opts.expand=LIVES_EXPAND_DEFAULT; - widget_opts.apply_theme=woat; + widget_opts.expand = LIVES_EXPAND_DEFAULT; + widget_opts.apply_theme = woat; - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_base_color(textview, LIVES_WIDGET_STATE_NORMAL, &palette->white); lives_widget_set_text_color(textview, LIVES_WIDGET_STATE_NORMAL, &palette->black); } lives_box_pack_start(LIVES_BOX(hbox), scrolledwindow, TRUE, TRUE, 0); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(textbuffer),"textview",textview); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(textbuffer), "textview", textview); } else { - if (use_mnemonic) label = lives_standard_label_new_with_mnemonic(_(name),NULL); + if (use_mnemonic) label = lives_standard_label_new_with_mnemonic(_(name), NULL); else label = lives_standard_label_new(_(name)); lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, FALSE, widget_opts.packing_width); - param->widgets[0]=entry=lives_standard_entry_new(NULL,FALSE,txt,(int)param->max,(int)param->max,LIVES_BOX(hbox),param->desc); + param->widgets[0] = entry = lives_standard_entry_new(NULL, FALSE, txt, (int)param->max, (int)param->max, LIVES_BOX(hbox), param->desc); - if (rfx->status==RFX_STATUS_WEED&¶m->special_type!=LIVES_PARAM_SPECIAL_TYPE_FILEREAD) { + if (rfx->status == RFX_STATUS_WEED && param->special_type != LIVES_PARAM_SPECIAL_TYPE_FILEREAD) { lives_signal_connect_after(LIVES_WIDGET_OBJECT(entry), LIVES_WIDGET_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(after_param_text_changed), (livespointer) rfx); } } - if (param->desc!=NULL) lives_widget_set_tooltip_text(label, param->desc); + if (param->desc != NULL) lives_widget_set_tooltip_text(label, param->desc); lives_signal_connect_after(LIVES_WIDGET_OBJECT(hbox), LIVES_WIDGET_SET_FOCUS_CHILD_SIGNAL, LIVES_GUI_CALLBACK(after_param_text_focus_changed), (livespointer) rfx); - if (param->hidden) lives_widget_set_sensitive(param->widgets[0],FALSE); - if (use_mnemonic) lives_label_set_mnemonic_widget(LIVES_LABEL(label),param->widgets[0]); + if (param->hidden) lives_widget_set_sensitive(param->widgets[0], FALSE); + if (use_mnemonic) lives_label_set_mnemonic_widget(LIVES_LABEL(label), param->widgets[0]); lives_free(txt); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(hbox),"textwidget",(livespointer)param->widgets[0]); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(param->widgets[0]),"param_number",LIVES_INT_TO_POINTER(pnum)); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(param->widgets[0]),"rfx",rfx); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(hbox), "textwidget", (livespointer)param->widgets[0]); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(param->widgets[0]), "param_number", LIVES_INT_TO_POINTER(pnum)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(param->widgets[0]), "rfx", rfx); - param->widgets[1]=label; + param->widgets[1] = label; break; case LIVES_PARAM_STRING_LIST: + widget_opts.expand = LIVES_EXPAND_EXTRA; + combo = lives_standard_combo_new(name, use_mnemonic, param->list, (LiVESBox *)hbox, param->desc); + widget_opts.expand = LIVES_EXPAND_DEFAULT; - widget_opts.expand=LIVES_EXPAND_EXTRA; - combo=lives_standard_combo_new(name, use_mnemonic, param->list, (LiVESBox *)hbox, param->desc); - widget_opts.expand=LIVES_EXPAND_DEFAULT; - - if (rfx->status==RFX_STATUS_WEED&&(disp_string=get_weed_display_string((weed_plant_t *)rfx->source,pnum))!=NULL) { - lives_combo_set_active_string(LIVES_COMBO(combo),disp_string); + if (rfx->status == RFX_STATUS_WEED && (disp_string = get_weed_display_string((weed_plant_t *)rfx->source, pnum)) != NULL) { + lives_combo_set_active_string(LIVES_COMBO(combo), disp_string); lives_free(disp_string); - } else if (param->list!=NULL) { + } else if (param->list != NULL) { lives_combo_set_active_string(LIVES_COMBO(combo), - (char *)lives_list_nth_data(param->list,get_int_param(param->value))); + (char *)lives_list_nth_data(param->list, get_int_param(param->value))); } lives_signal_connect_after(LIVES_WIDGET_OBJECT(combo), LIVES_WIDGET_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(after_string_list_changed), (livespointer) rfx); // store parameter so we know whose trigger to use - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(combo),"param_number",LIVES_INT_TO_POINTER(pnum)); - param->widgets[0]=combo; - if (param->hidden) lives_widget_set_sensitive(combo,FALSE); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(combo), "param_number", LIVES_INT_TO_POINTER(pnum)); + param->widgets[0] = combo; + if (param->hidden) lives_widget_set_sensitive(combo, FALSE); break; default: @@ -1712,7 +1708,7 @@ // see if there were any 'special' hints - check_for_special(rfx,param,LIVES_BOX(lives_widget_get_parent(LIVES_WIDGET(box)))); + check_for_special(rfx, param, LIVES_BOX(lives_widget_get_parent(LIVES_WIDGET(box)))); lives_free(name); return was_num; @@ -1722,21 +1718,21 @@ void add_param_label_to_box(LiVESBox *box, boolean do_trans, const char *text) { LiVESWidget *label; - lives_box_set_homogeneous(LIVES_BOX(box),FALSE); + lives_box_set_homogeneous(LIVES_BOX(box), FALSE); if (do_trans) { char *markup; #ifdef GUI_GTK - markup=g_markup_printf_escaped("<span weight=\"bold\" style=\"italic\"> %s </span>",_(text)); + markup = g_markup_printf_escaped("<span weight=\"bold\" style=\"italic\"> %s </span>", _(text)); #endif #ifdef GUI_QT QString qs = QString("<span weight=\"bold\" style=\"italic\"> %s </span>").arg(_(text)); - markup=strdup((const char *)qs.toHtmlEscaped().constData()); + markup = strdup((const char *)qs.toHtmlEscaped().constData()); #endif label = lives_standard_label_new(NULL); - lives_label_set_markup_with_mnemonic(LIVES_LABEL(label),markup); + lives_label_set_markup_with_mnemonic(LIVES_LABEL(label), markup); lives_free(markup); - } else label = lives_standard_label_new_with_mnemonic(text,NULL); + } else label = lives_standard_label_new_with_mnemonic(text, NULL); if (LIVES_IS_HBOX(LIVES_WIDGET(box))) lives_box_pack_start(box, label, FALSE, FALSE, widget_opts.packing_width); @@ -1746,11 +1742,11 @@ } LiVESSList *add_usrgrp_to_livesgrp(LiVESSList *u2l, LiVESSList *rbgroup, int usr_number) { - lives_widget_group_t *wgroup=(lives_widget_group_t *)lives_malloc(sizeof(lives_widget_group_t)); - wgroup->usr_number=usr_number; - wgroup->rbgroup=rbgroup; - wgroup->active_param=0; - u2l=lives_slist_append(u2l, (livespointer)wgroup); + lives_widget_group_t *wgroup = (lives_widget_group_t *)lives_malloc(sizeof(lives_widget_group_t)); + wgroup->usr_number = usr_number; + wgroup->rbgroup = rbgroup; + wgroup->active_param = 0; + u2l = lives_slist_append(u2l, (livespointer)wgroup); return u2l; } @@ -1761,9 +1757,9 @@ int i; lives_widget_group_t *group; - for (i=0; i<lives_slist_length(u2l); i++) { - group=(lives_widget_group_t *)lives_slist_nth_data(u2l,i); - if (group->usr_number==usrgrp) return group; + for (i = 0; i < lives_slist_length(u2l); i++) { + group = (lives_widget_group_t *)lives_slist_nth_data(u2l, i); + if (group->usr_number == usrgrp) return group; } return NULL; } @@ -1776,339 +1772,339 @@ void after_boolean_param_toggled(LiVESToggleButton *togglebutton, lives_rfx_t *rfx) { - int param_number=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(togglebutton),"param_number")); + int param_number = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(togglebutton), "param_number")); - LiVESList *retvals=NULL; + LiVESList *retvals = NULL; - lives_param_t *param=&rfx->params[param_number]; + lives_param_t *param = &rfx->params[param_number]; - boolean old_bool=get_bool_param(param->value),new_bool; - boolean was_reinited=FALSE; + boolean old_bool = get_bool_param(param->value), new_bool; + boolean was_reinited = FALSE; - int copyto=-1; + int copyto = -1; if (mainw->block_param_updates) return; // updates are blocked until all params are ready - new_bool=lives_toggle_button_get_active(togglebutton); + new_bool = lives_toggle_button_get_active(togglebutton); - if (old_bool==new_bool) return; + if (old_bool == new_bool) return; - set_bool_param(param->value,new_bool); + set_bool_param(param->value, new_bool); - if (mainw->framedraw_preview!=NULL) lives_widget_set_sensitive(mainw->framedraw_preview,TRUE); + if (mainw->framedraw_preview != NULL) lives_widget_set_sensitive(mainw->framedraw_preview, TRUE); - if (rfx->status==RFX_STATUS_WEED) { + if (rfx->status == RFX_STATUS_WEED) { int error; - weed_plant_t *inst=(weed_plant_t *)rfx->source; - if (inst!=NULL&&weed_get_int_value(inst,WEED_LEAF_TYPE,&error)==WEED_PLANT_FILTER_INSTANCE) { + weed_plant_t *inst = (weed_plant_t *)rfx->source; + if (inst != NULL && weed_get_int_value(inst, WEED_LEAF_TYPE, &error) == WEED_PLANT_FILTER_INSTANCE) { char *disp_string; - weed_plant_t *wparam=weed_inst_in_param(inst,param_number,FALSE,FALSE); - int index=0,numvals; - int key=-1; + weed_plant_t *wparam = weed_inst_in_param(inst, param_number, FALSE, FALSE); + int index = 0, numvals; + int key = -1; int *valis; - if (mainw->multitrack!=NULL&&is_perchannel_multi(rfx,param_number)) { - index=mainw->multitrack->track_index; + if (mainw->multitrack != NULL && is_perchannel_multi(rfx, param_number)) { + index = mainw->multitrack->track_index; } - numvals=weed_leaf_num_elements(wparam,WEED_LEAF_VALUE); + numvals = weed_leaf_num_elements(wparam, WEED_LEAF_VALUE); - if (index>=numvals) { - weed_plant_t *paramtmpl=weed_get_plantptr_value(wparam,WEED_LEAF_TEMPLATE,&error); - fill_param_vals_to(wparam,paramtmpl,index); - numvals=index+1; + if (index >= numvals) { + weed_plant_t *paramtmpl = weed_get_plantptr_value(wparam, WEED_LEAF_TEMPLATE, &error); + fill_param_vals_to(wparam, paramtmpl, index); + numvals = index + 1; } - valis=weed_get_boolean_array(wparam,WEED_LEAF_VALUE,&error); - valis[index]=new_bool; - if (weed_plant_has_leaf(inst,WEED_LEAF_HOST_KEY)) key=weed_get_int_value(inst,WEED_LEAF_HOST_KEY,&error); + valis = weed_get_boolean_array(wparam, WEED_LEAF_VALUE, &error); + valis[index] = new_bool; + if (weed_plant_has_leaf(inst, WEED_LEAF_HOST_KEY)) key = weed_get_int_value(inst, WEED_LEAF_HOST_KEY, &error); filter_mutex_lock(key); - weed_set_boolean_array(wparam,WEED_LEAF_VALUE,numvals,valis); + weed_set_boolean_array(wparam, WEED_LEAF_VALUE, numvals, valis); filter_mutex_unlock(key); - copyto=set_copy_to(inst,param_number,TRUE); + copyto = set_copy_to(inst, param_number, TRUE); lives_free(valis); - if (mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)) { + if (mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change(inst,param_number); - if (copyto!=-1) rec_param_change(inst,copyto); + rec_param_change(inst, param_number); + if (copyto != -1) rec_param_change(inst, copyto); } - disp_string=get_weed_display_string(inst,param_number); - if (disp_string!=NULL) { - lives_label_set_text(LIVES_LABEL(param->widgets[1]),disp_string); + disp_string = get_weed_display_string(inst, param_number); + if (disp_string != NULL) { + lives_label_set_text(LIVES_LABEL(param->widgets[1]), disp_string); lives_free(disp_string); } - if (param->reinit||(copyto!=-1&&rfx->params[copyto].reinit)) { - weed_reinit_effect(inst,FALSE); - was_reinited=TRUE; + if (param->reinit || (copyto != -1 && rfx->params[copyto].reinit)) { + weed_reinit_effect(inst, FALSE); + was_reinited = TRUE; } } } - if (get_bool_param(param->value)!=old_bool&¶m->onchange) { - param->change_blocked=TRUE; - retvals=do_onchange(LIVES_WIDGET_OBJECT(togglebutton), rfx); + if (get_bool_param(param->value) != old_bool && param->onchange) { + param->change_blocked = TRUE; + retvals = do_onchange(LIVES_WIDGET_OBJECT(togglebutton), rfx); lives_list_free_all(&retvals); lives_widget_context_update(); - param->change_blocked=FALSE; + param->change_blocked = FALSE; } - if (!was_reinited&©to!=-1) update_visual_params(rfx,FALSE); - if (mainw->multitrack!=NULL) { + if (!was_reinited && copyto != -1) update_visual_params(rfx, FALSE); + if (mainw->multitrack != NULL) { activate_mt_preview(mainw->multitrack); } - param->changed=TRUE; + param->changed = TRUE; } void after_param_value_changed(LiVESSpinButton *spinbutton, lives_rfx_t *rfx) { - int param_number=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(spinbutton),"param_number")); - lives_param_t *param=&rfx->params[param_number]; + int param_number = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(spinbutton), "param_number")); + lives_param_t *param = &rfx->params[param_number]; - LiVESList *retvals=NULL; + LiVESList *retvals = NULL; - double new_double=0.,old_double=0.; + double new_double = 0., old_double = 0.; - boolean was_reinited=FALSE; + boolean was_reinited = FALSE; - int new_int=0,old_int=0; - int copyto=-1; + int new_int = 0, old_int = 0; + int copyto = -1; if (mainw->block_param_updates) return; // updates are blocked until all params are ready - if (mainw->framedraw_preview!=NULL) lives_widget_set_sensitive(mainw->framedraw_preview,TRUE); + if (mainw->framedraw_preview != NULL) lives_widget_set_sensitive(mainw->framedraw_preview, TRUE); - if (rfx->status==RFX_STATUS_WEED&&mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&& - (prefs->rec_opts&REC_EFFECTS)) { + if (rfx->status == RFX_STATUS_WEED && mainw->record && !mainw->record_paused && mainw->playing_file > -1 && + (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this (pre)change to our event_list // however, we need to use the actual instance and not the one generated for the rte_window - rec_param_change((weed_plant_t *)rfx->source,param_number); - copyto=set_copy_to((weed_plant_t *)rfx->source,param_number,FALSE); - if (copyto!=-1) rec_param_change((weed_plant_t *)rfx->source,copyto); + rec_param_change((weed_plant_t *)rfx->source, param_number); + copyto = set_copy_to((weed_plant_t *)rfx->source, param_number, FALSE); + if (copyto != -1) rec_param_change((weed_plant_t *)rfx->source, copyto); } - if (param->dp>0) { - old_double=get_double_param(param->value); - new_double=lives_spin_button_get_value(LIVES_SPIN_BUTTON(spinbutton)); - if (old_double==new_double) return; - set_double_param(param->value,new_double); + if (param->dp > 0) { + old_double = get_double_param(param->value); + new_double = lives_spin_button_get_value(LIVES_SPIN_BUTTON(spinbutton)); + if (old_double == new_double) return; + set_double_param(param->value, new_double); } else { - old_int=get_int_param(param->value); - new_int=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); - if (old_int==new_int) return; - set_int_param(param->value,new_int); + old_int = get_int_param(param->value); + new_int = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); + if (old_int == new_int) return; + set_int_param(param->value, new_int); } - if (rfx->status==RFX_STATUS_WEED) { + if (rfx->status == RFX_STATUS_WEED) { int error; - weed_plant_t *inst=(weed_plant_t *)rfx->source; - if (inst!=NULL&&weed_get_int_value(inst,WEED_LEAF_TYPE,&error)==WEED_PLANT_FILTER_INSTANCE) { + weed_plant_t *inst = (weed_plant_t *)rfx->source; + if (inst != NULL && weed_get_int_value(inst, WEED_LEAF_TYPE, &error) == WEED_PLANT_FILTER_INSTANCE) { char *disp_string; - weed_plant_t *wparam=weed_inst_in_param(inst,param_number,FALSE,FALSE); - int index=0,numvals; - int key=-1; + weed_plant_t *wparam = weed_inst_in_param(inst, param_number, FALSE, FALSE); + int index = 0, numvals; + int key = -1; double *valds; int *valis; - if (mainw->multitrack!=NULL&&is_perchannel_multi(rfx,param_number)) { - index=mainw->multitrack->track_index; + if (mainw->multitrack != NULL && is_perchannel_multi(rfx, param_number)) { + index = mainw->multitrack->track_index; } - numvals=weed_leaf_num_elements(wparam,WEED_LEAF_VALUE); - if (index>=numvals) { - weed_plant_t *paramtmpl=weed_get_plantptr_value(wparam,WEED_LEAF_TEMPLATE,&error); - fill_param_vals_to(wparam,paramtmpl,index); - numvals=index+1; - } - - if (weed_plant_has_leaf(inst,WEED_LEAF_HOST_KEY)) key=weed_get_int_value(inst,WEED_LEAF_HOST_KEY,&error); - - if (weed_leaf_seed_type(wparam,WEED_LEAF_VALUE)==WEED_SEED_DOUBLE) { - valds=weed_get_double_array(wparam,WEED_LEAF_VALUE,&error); - if (param->dp>0) valds[index]=new_double; - else valds[index]=(double)new_int; + numvals = weed_leaf_num_elements(wparam, WEED_LEAF_VALUE); + if (index >= numvals) { + weed_plant_t *paramtmpl = weed_get_plantptr_value(wparam, WEED_LEAF_TEMPLATE, &error); + fill_param_vals_to(wparam, paramtmpl, index); + numvals = index + 1; + } + + if (weed_plant_has_leaf(inst, WEED_LEAF_HOST_KEY)) key = weed_get_int_value(inst, WEED_LEAF_HOST_KEY, &error); + + if (weed_leaf_seed_type(wparam, WEED_LEAF_VALUE) == WEED_SEED_DOUBLE) { + valds = weed_get_double_array(wparam, WEED_LEAF_VALUE, &error); + if (param->dp > 0) valds[index] = new_double; + else valds[index] = (double)new_int; filter_mutex_lock(key); - weed_set_double_array(wparam,WEED_LEAF_VALUE,numvals,valds); + weed_set_double_array(wparam, WEED_LEAF_VALUE, numvals, valds); filter_mutex_unlock(key); - copyto=set_copy_to(inst,param_number,TRUE); + copyto = set_copy_to(inst, param_number, TRUE); lives_free(valds); } else { - valis=weed_get_int_array(wparam,WEED_LEAF_VALUE,&error); - valis[index]=new_int; + valis = weed_get_int_array(wparam, WEED_LEAF_VALUE, &error); + valis[index] = new_int; filter_mutex_lock(key); - weed_set_int_array(wparam,WEED_LEAF_VALUE,numvals,valis); + weed_set_int_array(wparam, WEED_LEAF_VALUE, numvals, valis); filter_mutex_unlock(key); - copyto=set_copy_to(inst,param_number,TRUE); + copyto = set_copy_to(inst, param_number, TRUE); lives_free(valis); } - if (mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)) { + if (mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change(inst,param_number); - if (copyto!=-1) rec_param_change(inst,copyto); + rec_param_change(inst, param_number); + if (copyto != -1) rec_param_change(inst, copyto); } - disp_string=get_weed_display_string(inst,param_number); - if (disp_string!=NULL) { - lives_label_set_text(LIVES_LABEL(param->widgets[1]),disp_string); + disp_string = get_weed_display_string(inst, param_number); + if (disp_string != NULL) { + lives_label_set_text(LIVES_LABEL(param->widgets[1]), disp_string); lives_free(disp_string); } - if (param->reinit||(copyto!=-1&&rfx->params[copyto].reinit)) { - weed_reinit_effect(inst,FALSE); - was_reinited=TRUE; + if (param->reinit || (copyto != -1 && rfx->params[copyto].reinit)) { + weed_reinit_effect(inst, FALSE); + was_reinited = TRUE; } } } - if (((param->dp>0&&(get_double_param(param->value)!=old_double))||(param->dp==0&& - (get_int_param(param->value)!=old_int)))&& + if (((param->dp > 0 && (get_double_param(param->value) != old_double)) || (param->dp == 0 && + (get_int_param(param->value) != old_int))) && param->onchange) { - param->change_blocked=TRUE; - retvals=do_onchange(LIVES_WIDGET_OBJECT(spinbutton), rfx); + param->change_blocked = TRUE; + retvals = do_onchange(LIVES_WIDGET_OBJECT(spinbutton), rfx); lives_list_free_all(&retvals); lives_widget_context_update(); - param->change_blocked=FALSE; + param->change_blocked = FALSE; } - if (!was_reinited&©to!=-1) update_visual_params(rfx,FALSE); + if (!was_reinited && copyto != -1) update_visual_params(rfx, FALSE); - if (fx_dialog[1]!=NULL) { + if (fx_dialog[1] != NULL) { // transfer param changes from rte_window to ce_thumbs window, and vice-versa - lives_rfx_t *rte_rfx=(lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"rfx"); - int key=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"key")); - int mode=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"mode")); - mainw->block_param_updates=TRUE; - if (rfx==rte_rfx&&mainw->ce_thumbs) ce_thumbs_update_visual_params(key); - else if (mode==rte_key_getmode(key+1)) ce_thumbs_check_for_rte(rfx,rte_rfx,key); - mainw->block_param_updates=FALSE; + lives_rfx_t *rte_rfx = (lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "rfx"); + int key = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "key")); + int mode = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "mode")); + mainw->block_param_updates = TRUE; + if (rfx == rte_rfx && mainw->ce_thumbs) ce_thumbs_update_visual_params(key); + else if (mode == rte_key_getmode(key + 1)) ce_thumbs_check_for_rte(rfx, rte_rfx, key); + mainw->block_param_updates = FALSE; } - if (mainw->multitrack!=NULL&&rfx->status==RFX_STATUS_WEED) { + if (mainw->multitrack != NULL && rfx->status == RFX_STATUS_WEED) { if (was_reinited) add_mt_param_box(mainw->multitrack); activate_mt_preview(mainw->multitrack); } - param->changed=TRUE; + param->changed = TRUE; } void update_weed_color_value(weed_plant_t *plant, int pnum, int c1, int c2, int c3, int c4) { weed_plant_t *ptmpl; - weed_plant_t *param=NULL; + weed_plant_t *param = NULL; - int *maxs=NULL,*mins=NULL; - int cols[4]= {c1,c2,c3,c4}; + int *maxs = NULL, *mins = NULL; + int cols[4] = {c1, c2, c3, c4}; int cspace; - int rmax,rmin,gmax,gmin,bmax,bmin; + int rmax, rmin, gmax, gmin, bmax, bmin; int error; - boolean is_default=WEED_PLANT_IS_FILTER_CLASS(plant); + boolean is_default = WEED_PLANT_IS_FILTER_CLASS(plant); boolean is_int; - double *maxds=NULL,*minds=NULL; + double *maxds = NULL, *minds = NULL; double colds[4]; - double rmaxd,rmind,gmaxd,gmind,bmaxd,bmind; + double rmaxd, rmind, gmaxd, gmind, bmaxd, bmind; if (!is_default) { - param=weed_inst_in_param(plant,pnum,FALSE,FALSE); - ptmpl=weed_get_plantptr_value(param,WEED_LEAF_TEMPLATE,&error); + param = weed_inst_in_param(plant, pnum, FALSE, FALSE); + ptmpl = weed_get_plantptr_value(param, WEED_LEAF_TEMPLATE, &error); } else { // called only from rte_set_defs_ok - ptmpl=weed_filter_in_paramtmpl(plant,pnum,FALSE); + ptmpl = weed_filter_in_paramtmpl(plant, pnum, FALSE); } if (mainw->block_param_updates) return; // updates are blocked until all params are ready - is_int=(weed_leaf_seed_type(ptmpl,WEED_LEAF_DEFAULT)==WEED_SEED_INT); - cspace=weed_get_int_value(ptmpl,WEED_LEAF_COLORSPACE,&error); + is_int = (weed_leaf_seed_type(ptmpl, WEED_LEAF_DEFAULT) == WEED_SEED_INT); + cspace = weed_get_int_value(ptmpl, WEED_LEAF_COLORSPACE, &error); switch (cspace) { // TODO - other cspaces case WEED_COLORSPACE_RGB: if (is_int) { - if (weed_leaf_num_elements(ptmpl,WEED_LEAF_MAX)==3) { - maxs=weed_get_int_array(ptmpl,WEED_LEAF_MAX,&error); - rmax=maxs[0]; - gmax=maxs[1]; - bmax=maxs[2]; + if (weed_leaf_num_elements(ptmpl, WEED_LEAF_MAX) == 3) { + maxs = weed_get_int_array(ptmpl, WEED_LEAF_MAX, &error); + rmax = maxs[0]; + gmax = maxs[1]; + bmax = maxs[2]; lives_free(maxs); - } else rmax=gmax=bmax=weed_get_int_value(ptmpl,WEED_LEAF_MAX,&error); - if (weed_leaf_num_elements(ptmpl,WEED_LEAF_MIN)==3) { - mins=weed_get_int_array(ptmpl,WEED_LEAF_MIN,&error); - rmin=mins[0]; - gmin=mins[1]; - bmin=mins[2]; + } else rmax = gmax = bmax = weed_get_int_value(ptmpl, WEED_LEAF_MAX, &error); + if (weed_leaf_num_elements(ptmpl, WEED_LEAF_MIN) == 3) { + mins = weed_get_int_array(ptmpl, WEED_LEAF_MIN, &error); + rmin = mins[0]; + gmin = mins[1]; + bmin = mins[2]; lives_free(mins); - } else rmin=gmin=bmin=weed_get_int_value(ptmpl,WEED_LEAF_MIN,&error); + } else rmin = gmin = bmin = weed_get_int_value(ptmpl, WEED_LEAF_MIN, &error); - cols[0]=rmin+(int)((double)cols[0]/255.*(double)(rmax-rmin)); - cols[1]=gmin+(int)((double)cols[1]/255.*(double)(gmax-gmin)); - cols[2]=bmin+(int)((double)cols[2]/255.*(double)(bmax-bmin)); + cols[0] = rmin + (int)((double)cols[0] / 255.*(double)(rmax - rmin)); + cols[1] = gmin + (int)((double)cols[1] / 255.*(double)(gmax - gmin)); + cols[2] = bmin + (int)((double)cols[2] / 255.*(double)(bmax - bmin)); if (is_default) { - weed_set_int_array(ptmpl,WEED_LEAF_HOST_DEFAULT,3,cols); + weed_set_int_array(ptmpl, WEED_LEAF_HOST_DEFAULT, 3, cols); } else { - int index=0,numvals; + int index = 0, numvals; int *valis; - if (mainw->multitrack!=NULL&&is_perchannel_multiw(ptmpl)) { - index=mainw->multitrack->track_index; + if (mainw->multitrack != NULL && is_perchannel_multiw(ptmpl)) { + index = mainw->multitrack->track_index; } - numvals=weed_leaf_num_elements(param,WEED_LEAF_VALUE); - if (index*3>=numvals) { - weed_plant_t *paramtmpl=weed_get_plantptr_value(param,WEED_LEAF_TEMPLATE,&error); - fill_param_vals_to(param,paramtmpl,index); - numvals=(index+1)*3; + numvals = weed_leaf_num_elements(param, WEED_LEAF_VALUE); + if (index * 3 >= numvals) { + weed_plant_t *paramtmpl = weed_get_plantptr_value(param, WEED_LEAF_TEMPLATE, &error); + fill_param_vals_to(param, paramtmpl, index); + numvals = (index + 1) * 3; } - valis=weed_get_int_array(param,WEED_LEAF_VALUE,&error); - valis[index*3]=cols[0]; - valis[index*3+1]=cols[1]; - valis[index*3+2]=cols[2]; - weed_set_int_array(param,WEED_LEAF_VALUE,numvals,valis); + valis = weed_get_int_array(param, WEED_LEAF_VALUE, &error); + valis[index * 3] = cols[0]; + valis[index * 3 + 1] = cols[1]; + valis[index * 3 + 2] = cols[2]; + weed_set_int_array(param, WEED_LEAF_VALUE, numvals, valis); lives_free(valis); } break; } else { // double - if (weed_leaf_num_elements(ptmpl,WEED_LEAF_MAX)==3) { - maxds=weed_get_double_array(ptmpl,WEED_LEAF_MAX,&error); - rmaxd=maxds[0]; - gmaxd=maxds[1]; - bmaxd=maxds[2]; + if (weed_leaf_num_elements(ptmpl, WEED_LEAF_MAX) == 3) { + maxds = weed_get_double_array(ptmpl, WEED_LEAF_MAX, &error); + rmaxd = maxds[0]; + gmaxd = maxds[1]; + bmaxd = maxds[2]; lives_free(maxds); - } else rmaxd=gmaxd=bmaxd=weed_get_double_value(ptmpl,WEED_LEAF_MAX,&error); - if (weed_leaf_num_elements(ptmpl,WEED_LEAF_MIN)==3) { - minds=weed_get_double_array(ptmpl,WEED_LEAF_MIN,&error); - rmind=minds[0]; - gmind=minds[1]; - bmind=minds[2]; + } else rmaxd = gmaxd = bmaxd = weed_get_double_value(ptmpl, WEED_LEAF_MAX, &error); + if (weed_leaf_num_elements(ptmpl, WEED_LEAF_MIN) == 3) { + minds = weed_get_double_array(ptmpl, WEED_LEAF_MIN, &error); + rmind = minds[0]; + gmind = minds[1]; + bmind = minds[2]; lives_free(minds); - } else rmind=gmind=bmind=weed_get_double_value(ptmpl,WEED_LEAF_MIN,&error); - colds[0]=rmind+(double)cols[0]/255.*(rmaxd-rmind); - colds[1]=gmind+(double)cols[1]/255.*(gmaxd-gmind); - colds[2]=bmind+(double)cols[2]/255.*(bmaxd-bmind); + } else rmind = gmind = bmind = weed_get_double_value(ptmpl, WEED_LEAF_MIN, &error); + colds[0] = rmind + (double)cols[0] / 255.*(rmaxd - rmind); + colds[1] = gmind + (double)cols[1] / 255.*(gmaxd - gmind); + colds[2] = bmind + (double)cols[2] / 255.*(bmaxd - bmind); if (is_default) { - weed_set_double_array(ptmpl,WEED_LEAF_HOST_DEFAULT,3,colds); + weed_set_double_array(ptmpl, WEED_LEAF_HOST_DEFAULT, 3, colds); } else { - int index=0,numvals; + int index = 0, numvals; double *valds; - if (mainw->multitrack!=NULL&&is_perchannel_multiw(ptmpl)) { - index=mainw->multitrack->track_index; + if (mainw->multitrack != NULL && is_perchannel_multiw(ptmpl)) { + index = mainw->multitrack->track_index; } - numvals=weed_leaf_num_elements(param,WEED_LEAF_VALUE); - if (index*3>=numvals) { - weed_plant_t *paramtmpl=weed_get_plantptr_value(param,WEED_LEAF_TEMPLATE,&error); - fill_param_vals_to(param,paramtmpl,index); - numvals=(index+1)*3; + numvals = weed_leaf_num_elements(param, WEED_LEAF_VALUE); + if (index * 3 >= numvals) { + weed_plant_t *paramtmpl = weed_get_plantptr_value(param, WEED_LEAF_TEMPLATE, &error); + fill_param_vals_to(param, paramtmpl, index); + numvals = (index + 1) * 3; } - valds=weed_get_double_array(param,WEED_LEAF_VALUE,&error); - valds[index*3]=colds[0]; - valds[index*3+1]=colds[1]; - valds[index*3+2]=colds[2]; - weed_set_double_array(param,WEED_LEAF_VALUE,numvals,valds); + valds = weed_get_double_array(param, WEED_LEAF_VALUE, &error); + valds[index * 3] = colds[0]; + valds[index * 3 + 1] = colds[1]; + valds[index * 3 + 2] = colds[2]; + weed_set_double_array(param, WEED_LEAF_VALUE, numvals, valds); lives_free(valds); } } @@ -2119,260 +2115,260 @@ void after_param_red_changed(LiVESSpinButton *spinbutton, lives_rfx_t *rfx) { - LiVESList *retvals=NULL; + LiVESList *retvals = NULL; lives_colRGB48_t old_value; - int param_number=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(spinbutton),"param_number")); + int param_number = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(spinbutton), "param_number")); int new_red; - int copyto=-1; + int copyto = -1; - boolean was_reinited=FALSE; + boolean was_reinited = FALSE; - lives_param_t *param=&rfx->params[param_number]; + lives_param_t *param = &rfx->params[param_number]; if (mainw->block_param_updates) return; // updates are blocked until all params are ready - get_colRGB24_param(param->value,&old_value); - new_red=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); - if (old_value.red==new_red) return; + get_colRGB24_param(param->value, &old_value); + new_red = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); + if (old_value.red == new_red) return; - if (rfx->status==RFX_STATUS_WEED&&mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&& - (prefs->rec_opts&REC_EFFECTS)) { + if (rfx->status == RFX_STATUS_WEED && mainw->record && !mainw->record_paused && mainw->playing_file > -1 && + (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change((weed_plant_t *)rfx->source,param_number); - copyto=set_copy_to((weed_plant_t *)rfx->source,param_number,FALSE); - if (copyto!=-1) rec_param_change((weed_plant_t *)rfx->source,copyto); + rec_param_change((weed_plant_t *)rfx->source, param_number); + copyto = set_copy_to((weed_plant_t *)rfx->source, param_number, FALSE); + if (copyto != -1) rec_param_change((weed_plant_t *)rfx->source, copyto); } - set_colRGB24_param(param->value,new_red,old_value.green,old_value.blue); + set_colRGB24_param(param->value, new_red, old_value.green, old_value.blue); - if (mainw->framedraw_preview!=NULL) lives_widget_set_sensitive(mainw->framedraw_preview,TRUE); + if (mainw->framedraw_preview != NULL) lives_widget_set_sensitive(mainw->framedraw_preview, TRUE); - if (rfx->status==RFX_STATUS_WEED) { + if (rfx->status == RFX_STATUS_WEED) { int error; - weed_plant_t *inst=(weed_plant_t *)rfx->source; + weed_plant_t *inst = (weed_plant_t *)rfx->source; - if (inst!=NULL&&weed_get_int_value(inst,WEED_LEAF_TYPE,&error)==WEED_PLANT_FILTER_INSTANCE) { - update_weed_color_value(inst,param_number, - new_red,old_value.green,old_value.blue,0); - copyto=set_copy_to(inst,param_number,TRUE); + if (inst != NULL && weed_get_int_value(inst, WEED_LEAF_TYPE, &error) == WEED_PLANT_FILTER_INSTANCE) { + update_weed_color_value(inst, param_number, + new_red, old_value.green, old_value.blue, 0); + copyto = set_copy_to(inst, param_number, TRUE); - if (mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)) { + if (mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change(inst,param_number); - if (copyto!=-1) rec_param_change(inst,copyto); + rec_param_change(inst, param_number); + if (copyto != -1) rec_param_change(inst, copyto); } - if (param->reinit||(copyto!=-1&&rfx->params[copyto].reinit)) { - weed_reinit_effect(inst,FALSE); - was_reinited=TRUE; + if (param->reinit || (copyto != -1 && rfx->params[copyto].reinit)) { + weed_reinit_effect(inst, FALSE); + was_reinited = TRUE; } } } - if (new_red!=old_value.red&¶m->onchange) { - param->change_blocked=TRUE; - retvals=do_onchange(LIVES_WIDGET_OBJECT(spinbutton), rfx); + if (new_red != old_value.red && param->onchange) { + param->change_blocked = TRUE; + retvals = do_onchange(LIVES_WIDGET_OBJECT(spinbutton), rfx); lives_list_free_all(&retvals); lives_widget_context_update(); - param->change_blocked=FALSE; + param->change_blocked = FALSE; } - if (!was_reinited&©to!=-1) update_visual_params(rfx,FALSE); - if (mainw->multitrack!=NULL&&rfx->status==RFX_STATUS_WEED) { + if (!was_reinited && copyto != -1) update_visual_params(rfx, FALSE); + if (mainw->multitrack != NULL && rfx->status == RFX_STATUS_WEED) { activate_mt_preview(mainw->multitrack); } - param->changed=TRUE; + param->changed = TRUE; } void after_param_green_changed(LiVESSpinButton *spinbutton, lives_rfx_t *rfx) { - LiVESList *retvals=NULL; + LiVESList *retvals = NULL; lives_colRGB48_t old_value; int new_green; - int copyto=-1; + int copyto = -1; - int param_number=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(spinbutton),"param_number")); + int param_number = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(spinbutton), "param_number")); - boolean was_reinited=FALSE; + boolean was_reinited = FALSE; - lives_param_t *param=&rfx->params[param_number]; + lives_param_t *param = &rfx->params[param_number]; if (mainw->block_param_updates) return; // updates are blocked until all params are ready - get_colRGB24_param(param->value,&old_value); - new_green=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); - if (old_value.green==new_green) return; + get_colRGB24_param(param->value, &old_value); + new_green = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); + if (old_value.green == new_green) return; - if (rfx->status==RFX_STATUS_WEED&&mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&& - (prefs->rec_opts&REC_EFFECTS)) { + if (rfx->status == RFX_STATUS_WEED && mainw->record && !mainw->record_paused && mainw->playing_file > -1 && + (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change((weed_plant_t *)rfx->source,param_number); - copyto=set_copy_to((weed_plant_t *)rfx->source,param_number,FALSE); - if (copyto!=-1) rec_param_change((weed_plant_t *)rfx->source,copyto); + rec_param_change((weed_plant_t *)rfx->source, param_number); + copyto = set_copy_to((weed_plant_t *)rfx->source, param_number, FALSE); + if (copyto != -1) rec_param_change((weed_plant_t *)rfx->source, copyto); } - set_colRGB24_param(param->value,old_value.red,new_green,old_value.blue); + set_colRGB24_param(param->value, old_value.red, new_green, old_value.blue); - if (mainw->framedraw_preview!=NULL) lives_widget_set_sensitive(mainw->framedraw_preview,TRUE); + if (mainw->framedraw_preview != NULL) lives_widget_set_sensitive(mainw->framedraw_preview, TRUE); - if (rfx->status==RFX_STATUS_WEED) { + if (rfx->status == RFX_STATUS_WEED) { int error; - weed_plant_t *inst=(weed_plant_t *)rfx->source; + weed_plant_t *inst = (weed_plant_t *)rfx->source; - if (inst!=NULL&&weed_get_int_value(inst,WEED_LEAF_TYPE,&error)==WEED_PLANT_FILTER_INSTANCE) { - update_weed_color_value(inst,param_number,old_value.red,new_green,old_value.blue,0); + if (inst != NULL && weed_get_int_value(inst, WEED_LEAF_TYPE, &error) == WEED_PLANT_FILTER_INSTANCE) { + update_weed_color_value(inst, param_number, old_value.red, new_green, old_value.blue, 0); - copyto=set_copy_to(inst,param_number,TRUE); + copyto = set_copy_to(inst, param_number, TRUE); - if (mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)) { + if (mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change(inst,param_number); - if (copyto!=-1) rec_param_change(inst,copyto); + rec_param_change(inst, param_number); + if (copyto != -1) rec_param_change(inst, copyto); } - if (param->reinit||(copyto!=-1&&rfx->params[copyto].reinit)) { - weed_reinit_effect(inst,FALSE); - was_reinited=TRUE; + if (param->reinit || (copyto != -1 && rfx->params[copyto].reinit)) { + weed_reinit_effect(inst, FALSE); + was_reinited = TRUE; } } } - if (new_green!=old_value.green&¶m->onchange) { - param->change_blocked=TRUE; - retvals=do_onchange(LIVES_WIDGET_OBJECT(spinbutton), rfx); + if (new_green != old_value.green && param->onchange) { + param->change_blocked = TRUE; + retvals = do_onchange(LIVES_WIDGET_OBJECT(spinbutton), rfx); lives_list_free_all(&retvals); lives_widget_context_update(); - param->change_blocked=FALSE; + param->change_blocked = FALSE; } - if (!was_reinited&©to!=-1) update_visual_params(rfx,FALSE); - if (mainw->multitrack!=NULL&&rfx->status==RFX_STATUS_WEED) { + if (!was_reinited && copyto != -1) update_visual_params(rfx, FALSE); + if (mainw->multitrack != NULL && rfx->status == RFX_STATUS_WEED) { activate_mt_preview(mainw->multitrack); } - param->changed=TRUE; + param->changed = TRUE; } void after_param_blue_changed(LiVESSpinButton *spinbutton, lives_rfx_t *rfx) { - LiVESList *retvals=NULL; + LiVESList *retvals = NULL; lives_colRGB48_t old_value; int new_blue; - int copyto=-1; - int param_number=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(spinbutton),"param_number")); + int copyto = -1; + int param_number = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(spinbutton), "param_number")); - boolean was_reinited=FALSE; + boolean was_reinited = FALSE; - lives_param_t *param=&rfx->params[param_number]; + lives_param_t *param = &rfx->params[param_number]; if (mainw->block_param_updates) return; // updates are blocked until all params are ready - get_colRGB24_param(param->value,&old_value); - new_blue=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); - if (old_value.blue==new_blue) return; + get_colRGB24_param(param->value, &old_value); + new_blue = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); + if (old_value.blue == new_blue) return; - if (rfx->status==RFX_STATUS_WEED&&mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&& - (prefs->rec_opts&REC_EFFECTS)) { + if (rfx->status == RFX_STATUS_WEED && mainw->record && !mainw->record_paused && mainw->playing_file > -1 && + (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change((weed_plant_t *)rfx->source,param_number); - copyto=set_copy_to((weed_plant_t *)rfx->source,param_number,FALSE); - if (copyto!=-1) rec_param_change((weed_plant_t *)rfx->source,copyto); + rec_param_change((weed_plant_t *)rfx->source, param_number); + copyto = set_copy_to((weed_plant_t *)rfx->source, param_number, FALSE); + if (copyto != -1) rec_param_change((weed_plant_t *)rfx->source, copyto); } - set_colRGB24_param(param->value,old_value.red,old_value.green,new_blue); + set_colRGB24_param(param->value, old_value.red, old_value.green, new_blue); - if (mainw->framedraw_preview!=NULL) lives_widget_set_sensitive(mainw->framedraw_preview,TRUE); + if (mainw->framedraw_preview != NULL) lives_widget_set_sensitive(mainw->framedraw_preview, TRUE); - if (rfx->status==RFX_STATUS_WEED) { + if (rfx->status == RFX_STATUS_WEED) { int error; - weed_plant_t *inst=(weed_plant_t *)rfx->source; + weed_plant_t *inst = (weed_plant_t *)rfx->source; - if (inst!=NULL&&weed_get_int_value(inst,WEED_LEAF_TYPE,&error)==WEED_PLANT_FILTER_INSTANCE) { - update_weed_color_value(inst,param_number,old_value.red,old_value.green,new_blue,0); - copyto=set_copy_to(inst,param_number,TRUE); + if (inst != NULL && weed_get_int_value(inst, WEED_LEAF_TYPE, &error) == WEED_PLANT_FILTER_INSTANCE) { + update_weed_color_value(inst, param_number, old_value.red, old_value.green, new_blue, 0); + copyto = set_copy_to(inst, param_number, TRUE); - if (mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)) { + if (mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change(inst,param_number); - if (copyto!=-1) rec_param_change(inst,copyto); + rec_param_change(inst, param_number); + if (copyto != -1) rec_param_change(inst, copyto); } - if (param->reinit||(copyto!=-1&&rfx->params[copyto].reinit)) { - weed_reinit_effect(inst,FALSE); - was_reinited=TRUE; + if (param->reinit || (copyto != -1 && rfx->params[copyto].reinit)) { + weed_reinit_effect(inst, FALSE); + was_reinited = TRUE; } } } - if (new_blue!=old_value.blue&¶m->onchange) { - param->change_blocked=TRUE; - retvals=do_onchange(LIVES_WIDGET_OBJECT(spinbutton), rfx); + if (new_blue != old_value.blue && param->onchange) { + param->change_blocked = TRUE; + retvals = do_onchange(LIVES_WIDGET_OBJECT(spinbutton), rfx); lives_list_free_all(&retvals); lives_widget_context_update(); - param->change_blocked=FALSE; + param->change_blocked = FALSE; } - if (!was_reinited&©to!=-1) update_visual_params(rfx,FALSE); - if (mainw->multitrack!=NULL&&rfx->status==RFX_STATUS_WEED) { + if (!was_reinited && copyto != -1) update_visual_params(rfx, FALSE); + if (mainw->multitrack != NULL && rfx->status == RFX_STATUS_WEED) { activate_mt_preview(mainw->multitrack); } - param->changed=TRUE; + param->changed = TRUE; } void after_param_alpha_changed(LiVESSpinButton *spinbutton, lives_rfx_t *rfx) { // not used yet - int param_number=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(spinbutton),"param_number")); + int param_number = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(spinbutton), "param_number")); - LiVESList *retvals=NULL; + LiVESList *retvals = NULL; - lives_param_t *param=&rfx->params[param_number]; + lives_param_t *param = &rfx->params[param_number]; lives_colRGBA64_t old_value; - int new_alpha=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); + int new_alpha = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); - int copyto=-1; + int copyto = -1; if (mainw->block_param_updates) return; // updates are blocked until all params are ready - if (rfx->status==RFX_STATUS_WEED&&mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&& - (prefs->rec_opts&REC_EFFECTS)) { + if (rfx->status == RFX_STATUS_WEED && mainw->record && !mainw->record_paused && mainw->playing_file > -1 && + (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change((weed_plant_t *)rfx->source,param_number); - copyto=set_copy_to((weed_plant_t *)rfx->source,param_number,FALSE); - if (copyto!=-1) rec_param_change((weed_plant_t *)rfx->source,copyto); + rec_param_change((weed_plant_t *)rfx->source, param_number); + copyto = set_copy_to((weed_plant_t *)rfx->source, param_number, FALSE); + if (copyto != -1) rec_param_change((weed_plant_t *)rfx->source, copyto); } - get_colRGBA32_param(param->value,&old_value); + get_colRGBA32_param(param->value, &old_value); - if (mainw->framedraw_preview!=NULL) lives_widget_set_sensitive(mainw->framedraw_preview,TRUE); + if (mainw->framedraw_preview != NULL) lives_widget_set_sensitive(mainw->framedraw_preview, TRUE); - set_colRGBA32_param(param->value,old_value.red,old_value.green,old_value.blue,new_alpha); + set_colRGBA32_param(param->value, old_value.red, old_value.green, old_value.blue, new_alpha); - if (rfx->status==RFX_STATUS_WEED&&mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&& - (prefs->rec_opts&REC_EFFECTS)) { + if (rfx->status == RFX_STATUS_WEED && mainw->record && !mainw->record_paused && mainw->playing_file > -1 && + (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change((weed_plant_t *)rfx->source,param_number); - if (copyto!=-1) rec_param_change((weed_plant_t *)rfx->source,copyto); + rec_param_change((weed_plant_t *)rfx->source, param_number); + if (copyto != -1) rec_param_change((weed_plant_t *)rfx->source, copyto); } - if (new_alpha!=old_value.alpha&¶m->onchange) { - param->change_blocked=TRUE; - retvals=do_onchange(LIVES_WIDGET_OBJECT(spinbutton), rfx); + if (new_alpha != old_value.alpha && param->onchange) { + param->change_blocked = TRUE; + retvals = do_onchange(LIVES_WIDGET_OBJECT(spinbutton), rfx); lives_list_free_all(&retvals); lives_widget_context_update(); - param->change_blocked=FALSE; + param->change_blocked = FALSE; } - if (mainw->multitrack!=NULL&&rfx->status==RFX_STATUS_WEED) { + if (mainw->multitrack != NULL && rfx->status == RFX_STATUS_WEED) { activate_mt_preview(mainw->multitrack); } - param->changed=TRUE; + param->changed = TRUE; } @@ -2383,23 +2379,22 @@ LiVESWidget *textwidget; - if (rfx==NULL) return FALSE; + if (rfx == NULL) return FALSE; - if (mainw->multitrack!=NULL) { - if (child!=NULL) - lives_window_remove_accel_group(LIVES_WINDOW(mainw->multitrack->window),mainw->multitrack->accel_group); + if (mainw->multitrack != NULL) { + if (child != NULL) + lives_window_remove_accel_group(LIVES_WINDOW(mainw->multitrack->window), mainw->multitrack->accel_group); else - lives_window_add_accel_group(LIVES_WINDOW(mainw->multitrack->window),mainw->multitrack->accel_group); - + lives_window_add_accel_group(LIVES_WINDOW(mainw->multitrack->window), mainw->multitrack->accel_group); } - if (mainw->textwidget_focus!=NULL) { - textwidget=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mainw->textwidget_focus),"textwidget"); - after_param_text_changed(textwidget,rfx); + if (mainw->textwidget_focus != NULL) { + textwidget = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mainw->textwidget_focus), "textwidget"); + after_param_text_changed(textwidget, rfx); } - if (hbox!=NULL) { - mainw->textwidget_focus=hbox; + if (hbox != NULL) { + mainw->textwidget_focus = hbox; } return FALSE; @@ -2407,207 +2402,207 @@ void after_param_text_changed(LiVESWidget *textwidget, lives_rfx_t *rfx) { - LiVESTextBuffer *textbuffer=NULL; + LiVESTextBuffer *textbuffer = NULL; - LiVESList *retvals=NULL; + LiVESList *retvals = NULL; lives_param_t *param; char *old_text; const char *new_text; - boolean was_reinited=FALSE; + boolean was_reinited = FALSE; - int copyto=-1; + int copyto = -1; int param_number; - if (rfx==NULL||rfx->params==NULL||textwidget==NULL) return; + if (rfx == NULL || rfx->params == NULL || textwidget == NULL) return; - param_number=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(textwidget),"param_number")); + param_number = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(textwidget), "param_number")); - param=&rfx->params[param_number]; + param = &rfx->params[param_number]; - old_text=(char *)param->value; + old_text = (char *)param->value; if (mainw->block_param_updates) return; // updates are blocked until all params are ready if (LIVES_IS_TEXT_VIEW(textwidget)) { - new_text=lives_text_view_get_text(LIVES_TEXT_VIEW(textwidget)); - if (!strcmp(new_text,old_text)) return; - param->value=lives_strdup(new_text); + new_text = lives_text_view_get_text(LIVES_TEXT_VIEW(textwidget)); + if (!strcmp(new_text, old_text)) return; + param->value = lives_strdup(new_text); } else { - new_text=lives_entry_get_text(LIVES_ENTRY(textwidget)); - if (!strcmp(new_text,old_text)) return; - param->value=lives_strdup(new_text); + new_text = lives_entry_get_text(LIVES_ENTRY(textwidget)); + if (!strcmp(new_text, old_text)) return; + param->value = lives_strdup(new_text); } - if (mainw->framedraw_preview!=NULL) lives_widget_set_sensitive(mainw->framedraw_preview,TRUE); - - if (rfx->status==RFX_STATUS_WEED) { - int error,i; - weed_plant_t *inst=(weed_plant_t *)rfx->source; - if (inst!=NULL&&weed_get_int_value(inst,WEED_LEAF_TYPE,&error)==WEED_PLANT_FILTER_INSTANCE) { - char *disp_string=get_weed_display_string(inst,param_number); - weed_plant_t *wparam=weed_inst_in_param(inst,param_number,FALSE,FALSE); - int index=0,numvals; - int key=-1; + if (mainw->framedraw_preview != NULL) lives_widget_set_sensitive(mainw->framedraw_preview, TRUE); + + if (rfx->status == RFX_STATUS_WEED) { + int error, i; + weed_plant_t *inst = (weed_plant_t *)rfx->source; + if (inst != NULL && weed_get_int_value(inst, WEED_LEAF_TYPE, &error) == WEED_PLANT_FILTER_INSTANCE) { + char *disp_string = get_weed_display_string(inst, param_number); + weed_plant_t *wparam = weed_inst_in_param(inst, param_number, FALSE, FALSE); + int index = 0, numvals; + int key = -1; char **valss; - if (mainw->multitrack!=NULL&&is_perchannel_multi(rfx,param_number)) { - index=mainw->multitrack->track_index; + if (mainw->multitrack != NULL && is_perchannel_multi(rfx, param_number)) { + index = mainw->multitrack->track_index; } - numvals=weed_leaf_num_elements(wparam,WEED_LEAF_VALUE); - if (index>=numvals) { - weed_plant_t *paramtmpl=weed_get_plantptr_value(wparam,WEED_LEAF_TEMPLATE,&error); - fill_param_vals_to(wparam,paramtmpl,index); - numvals=index+1; + numvals = weed_leaf_num_elements(wparam, WEED_LEAF_VALUE); + if (index >= numvals) { + weed_plant_t *paramtmpl = weed_get_plantptr_value(wparam, WEED_LEAF_TEMPLATE, &error); + fill_param_vals_to(wparam, paramtmpl, index); + numvals = index + 1; } - valss=weed_get_string_array(wparam,WEED_LEAF_VALUE,&error); - valss[index]=lives_strdup((char *)param->value); - if (weed_plant_has_leaf(inst,WEED_LEAF_HOST_KEY)) key=weed_get_int_value(inst,WEED_LEAF_HOST_KEY,&error); + valss = weed_get_string_array(wparam, WEED_LEAF_VALUE, &error); + valss[index] = lives_strdup((char *)param->value); + if (weed_plant_has_leaf(inst, WEED_LEAF_HOST_KEY)) key = weed_get_int_value(inst, WEED_LEAF_HOST_KEY, &error); filter_mutex_lock(key); - weed_set_string_array(wparam,WEED_LEAF_VALUE,numvals,valss); + weed_set_string_array(wparam, WEED_LEAF_VALUE, numvals, valss); filter_mutex_unlock(key); - copyto=set_copy_to(inst,param_number,TRUE); - for (i=0; i<numvals; i++) lives_free(valss[i]); + copyto = set_copy_to(inst, param_number, TRUE); + for (i = 0; i < numvals; i++) lives_free(valss[i]); lives_free(valss); - if (mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)) { + if (mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change(inst,param_number); - if (copyto!=-1) rec_param_change(inst,copyto); + rec_param_change(inst, param_number); + if (copyto != -1) rec_param_change(inst, copyto); } - if (disp_string!=NULL) { - if ((int)param->max>RFX_TEXT_MAGIC||param->max==0.) { + if (disp_string != NULL) { + if ((int)param->max > RFX_TEXT_MAGIC || param->max == 0.) { lives_text_buffer_set_text(LIVES_TEXT_BUFFER(textbuffer), (char *)param->value, -1); } else { - lives_entry_set_text(LIVES_ENTRY(textwidget),disp_string); + lives_entry_set_text(LIVES_ENTRY(textwidget), disp_string); } lives_free(disp_string); } - if (param->reinit||(copyto!=-1&&rfx->params[copyto].reinit)) { - weed_reinit_effect(inst,FALSE); - was_reinited=TRUE; + if (param->reinit || (copyto != -1 && rfx->params[copyto].reinit)) { + weed_reinit_effect(inst, FALSE); + was_reinited = TRUE; } } } - if (strcmp(old_text,(char *)param->value)&¶m->onchange) { - param->change_blocked=TRUE; - retvals=do_onchange(LIVES_WIDGET_OBJECT(textwidget), rfx); + if (strcmp(old_text, (char *)param->value) && param->onchange) { + param->change_blocked = TRUE; + retvals = do_onchange(LIVES_WIDGET_OBJECT(textwidget), rfx); lives_list_free_all(&retvals); lives_widget_context_update(); - param->change_blocked=FALSE; + param->change_blocked = FALSE; } lives_free(old_text); - if (!was_reinited&©to!=-1) update_visual_params(rfx,FALSE); - if (mainw->multitrack!=NULL&&rfx->status==RFX_STATUS_WEED) { + if (!was_reinited && copyto != -1) update_visual_params(rfx, FALSE); + if (mainw->multitrack != NULL && rfx->status == RFX_STATUS_WEED) { activate_mt_preview(mainw->multitrack); } - param->changed=TRUE; + param->changed = TRUE; } static void after_param_text_buffer_changed(LiVESTextBuffer *textbuffer, lives_rfx_t *rfx) { - LiVESWidget *textview=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(textbuffer),"textview"); - after_param_text_changed(textview,rfx); + LiVESWidget *textview = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(textbuffer), "textview"); + after_param_text_changed(textview, rfx); } void after_string_list_changed(LiVESCombo *combo, lives_rfx_t *rfx) { - int param_number=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(combo),"param_number")); + int param_number = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(combo), "param_number")); - LiVESList *retvals=NULL; + LiVESList *retvals = NULL; - lives_param_t *param=&rfx->params[param_number]; + lives_param_t *param = &rfx->params[param_number]; - char *txt=lives_combo_get_active_text(combo); + char *txt = lives_combo_get_active_text(combo); - boolean was_reinited=FALSE; + boolean was_reinited = FALSE; - int old_index=get_int_param(param->value); - int new_index=lives_list_strcmp_index(param->list,txt); - int copyto=-1; + int old_index = get_int_param(param->value); + int new_index = lives_list_strcmp_index(param->list, txt); + int copyto = -1; lives_free(txt); if (mainw->block_param_updates) return; // updates are blocked until all params are ready - if (new_index==-1) return; + if (new_index == -1) return; - if (new_index==old_index) return; + if (new_index == old_index) return; - set_int_param(param->value,new_index); + set_int_param(param->value, new_index); - if (mainw->framedraw_preview!=NULL) lives_widget_set_sensitive(mainw->framedraw_preview,TRUE); + if (mainw->framedraw_preview != NULL) lives_widget_set_sensitive(mainw->framedraw_preview, TRUE); - if (rfx->status==RFX_STATUS_WEED) { + if (rfx->status == RFX_STATUS_WEED) { int error; - weed_plant_t *inst=(weed_plant_t *)rfx->source; - if (inst!=NULL&&weed_get_int_value(inst,WEED_LEAF_TYPE,&error)==WEED_PLANT_FILTER_INSTANCE) { - char *disp_string=get_weed_display_string(inst,param_number); - weed_plant_t *wparam=weed_inst_in_param(inst,param_number,FALSE,FALSE); - int index=0,numvals; - int key=-1; + weed_plant_t *inst = (weed_plant_t *)rfx->source; + if (inst != NULL && weed_get_int_value(inst, WEED_LEAF_TYPE, &error) == WEED_PLANT_FILTER_INSTANCE) { + char *disp_string = get_weed_display_string(inst, param_number); + weed_plant_t *wparam = weed_inst_in_param(inst, param_number, FALSE, FALSE); + int index = 0, numvals; + int key = -1; int *valis; - if (mainw->multitrack!=NULL&&is_perchannel_multi(rfx,param_number)) { - index=mainw->multitrack->track_index; + if (mainw->multitrack != NULL && is_perchannel_multi(rfx, param_number)) { + index = mainw->multitrack->track_index; } - numvals=weed_leaf_num_elements(wparam,WEED_LEAF_VALUE); - if (index>=numvals) { - weed_plant_t *paramtmpl=weed_get_plantptr_value(wparam,WEED_LEAF_TEMPLATE,&error); - fill_param_vals_to(wparam,paramtmpl,index); - numvals=index+1; + numvals = weed_leaf_num_elements(wparam, WEED_LEAF_VALUE); + if (index >= numvals) { + weed_plant_t *paramtmpl = weed_get_plantptr_value(wparam, WEED_LEAF_TEMPLATE, &error); + fill_param_vals_to(wparam, paramtmpl, index); + numvals = index + 1; } - valis=weed_get_int_array(wparam,WEED_LEAF_VALUE,&error); - valis[index]=new_index; - if (weed_plant_has_leaf(inst,WEED_LEAF_HOST_KEY)) key=weed_get_int_value(inst,WEED_LEAF_HOST_KEY,&error); + valis = weed_get_int_array(wparam, WEED_LEAF_VALUE, &error); + valis[index] = new_index; + if (weed_plant_has_leaf(inst, WEED_LEAF_HOST_KEY)) key = weed_get_int_value(inst, WEED_LEAF_HOST_KEY, &error); filter_mutex_lock(key); - weed_set_int_array(wparam,WEED_LEAF_VALUE,numvals,valis); + weed_set_int_array(wparam, WEED_LEAF_VALUE, numvals, valis); filter_mutex_unlock(key); - copyto=set_copy_to(inst,param_number,TRUE); + copyto = set_copy_to(inst, param_number, TRUE); lives_free(valis); - if (mainw->record&&!mainw->record_paused&&mainw->playing_file>-1&&(prefs->rec_opts&REC_EFFECTS)) { + if (mainw->record && !mainw->record_paused && mainw->playing_file > -1 && (prefs->rec_opts & REC_EFFECTS)) { // if we are recording, add this change to our event_list - rec_param_change(inst,param_number); - if (copyto!=-1) rec_param_change(inst,copyto); + rec_param_change(inst, param_number); + if (copyto != -1) rec_param_change(inst, copyto); } - if (disp_string!=NULL) { - lives_signal_handlers_block_by_func(combo,(livespointer)after_string_list_changed,(livespointer)rfx); - lives_combo_set_active_string(LIVES_COMBO(combo),disp_string); - lives_signal_handlers_unblock_by_func(combo,(livespointer)after_string_list_changed,(livespointer)rfx); + if (disp_string != NULL) { + lives_signal_handlers_block_by_func(combo, (livespointer)after_string_list_changed, (livespointer)rfx); + lives_combo_set_active_string(LIVES_COMBO(combo), disp_string); + lives_signal_handlers_unblock_by_func(combo, (livespointer)after_string_list_changed, (livespointer)rfx); lives_free(disp_string); } - if (param->reinit||(copyto!=-1&&rfx->params[copyto].reinit)) { - weed_reinit_effect(inst,FALSE); - was_reinited=TRUE; + if (param->reinit || (copyto != -1 && rfx->params[copyto].reinit)) { + weed_reinit_effect(inst, FALSE); + was_reinited = TRUE; } } } - if (old_index!=new_index&¶m->onchange) { - param->change_blocked=TRUE; - retvals=do_onchange(LIVES_WIDGET_OBJECT(combo), rfx); + if (old_index != new_index && param->onchange) { + param->change_blocked = TRUE; + retvals = do_onchange(LIVES_WIDGET_OBJECT(combo), rfx); lives_list_free_all(&retvals); lives_widget_context_update(); - param->change_blocked=FALSE; + param->change_blocked = FALSE; } - if (!was_reinited&©to!=-1) update_visual_params(rfx,FALSE); - if (mainw->multitrack!=NULL&&rfx->status==RFX_STATUS_WEED) { + if (!was_reinited && copyto != -1) update_visual_params(rfx, FALSE); + if (mainw->multitrack != NULL && rfx->status == RFX_STATUS_WEED) { activate_mt_preview(mainw->multitrack); } - param->changed=TRUE; + param->changed = TRUE; } @@ -2620,41 +2615,41 @@ lives_colRGB48_t rgb; - char **argv=(char **)lives_malloc((rfx->num_params+1)*(sizeof(char *))); + char **argv = (char **)lives_malloc((rfx->num_params + 1) * (sizeof(char *))); char *tmp; register int i; - for (i=0; i<rfx->num_params; i++) { + for (i = 0; i < rfx->num_params; i++) { switch (rfx->params[i].type) { case LIVES_PARAM_COLRGB24: - get_colRGB24_param(rfx->params[i].value,&rgb); - argv[i]=lives_strdup_printf("%u",(((rgb.red<<8)+rgb.green)<<8)+rgb.blue); + get_colRGB24_param(rfx->params[i].value, &rgb); + argv[i] = lives_strdup_printf("%u", (((rgb.red << 8) + rgb.green) << 8) + rgb.blue); break; case LIVES_PARAM_STRING: // escape strings - argv[i]=lives_strdup_printf("%s",(tmp=U82L((char *)rfx->params[i].value))); + argv[i] = lives_strdup_printf("%s", (tmp = U82L((char *)rfx->params[i].value))); lives_free(tmp); break; case LIVES_PARAM_STRING_LIST: // escape strings - argv[i]=lives_strdup_printf("%d",get_int_param(rfx->params[i].value)); + argv[i] = lives_strdup_printf("%d", get_int_param(rfx->params[i].value)); break; default: if (rfx->params[i].dp) { - char *return_pattern=lives_strdup_printf("%%.%df",rfx->params[i].dp); - argv[i]=lives_strdup_printf(return_pattern,get_double_param(rfx->params[i].value)); + char *return_pattern = lives_strdup_printf("%%.%df", rfx->params[i].dp); + argv[i] = lives_strdup_printf(return_pattern, get_double_param(rfx->params[i].value)); lives_free(return_pattern); } else { - argv[i]=lives_strdup_printf("%d",get_int_param(rfx->params[i].value)); + argv[i] = lives_strdup_printf("%d", get_int_param(rfx->params[i].value)); } } } - argv[i]=NULL; + argv[i] = NULL; return argv; } @@ -2672,109 +2667,109 @@ // the returned string should be lives_free()'ed after use lives_colRGB48_t rgb; - char *new_return=lives_strdup(""); - char *old_return=new_return; + char *new_return = lives_strdup(""); + char *old_return = new_return; char *return_pattern; - char *tmp,*mysubst,*mysubst2; + char *tmp, *mysubst, *mysubst2; register int i; - for (i=0; i<rfx->num_params; i++) { + for (i = 0; i < rfx->num_params; i++) { switch (rfx->params[i].type) { case LIVES_PARAM_COLRGB24: - get_colRGB24_param(rfx->params[i].value,&rgb); + get_colRGB24_param(rfx->params[i].value, &rgb); if (!with_min_max) { - new_return=lives_strdup_printf("%s %u",old_return,(((rgb.red<<8)+rgb.green)<<8)+rgb.blue); + new_return = lives_strdup_printf("%s %u", old_return, (((rgb.red << 8) + rgb.green) << 8) + rgb.blue); } else { - new_return=lives_strdup_printf("%s %d %d %d",old_return,rgb.red,rgb.green,rgb.blue); + new_return = lives_strdup_printf("%s %d %d %d", old_return, rgb.red, rgb.green, rgb.blue); } lives_free(old_return); - old_return=new_return; + old_return = new_return; break; case LIVES_PARAM_STRING: // we need to doubly escape strings - mysubst=subst((char *)rfx->params[i].value,"\\","\\\\\\\\"); - mysubst2=subst(mysubst,"\"","\\\\\\\""); + mysubst = subst((char *)rfx->params[i].value, "\\", "\\\\\\\\"); + mysubst2 = subst(mysubst, "\"", "\\\\\\\""); lives_free(mysubst); - mysubst=subst(mysubst2,"`","\\`"); + mysubst = subst(mysubst2, "`", "\\`"); lives_free(mysubst2); - mysubst2=subst(mysubst,"'","\\`"); + mysubst2 = subst(mysubst, "'", "\\`"); lives_free(mysubst); - new_return=lives_strdup_printf("%s \"%s\"",old_return,(tmp=U82L(mysubst2))); + new_return = lives_strdup_printf("%s \"%s\"", old_return, (tmp = U82L(mysubst2))); lives_free(tmp); lives_free(mysubst2); lives_free(old_return); - old_return=new_return; + old_return = new_return; break; case LIVES_PARAM_STRING_LIST: - new_return=lives_strdup_printf("%s %d",old_return,get_int_param(rfx->params[i].value)); + new_return = lives_strdup_printf("%s %d", old_return, get_int_param(rfx->params[i].value)); lives_free(old_return); - old_return=new_return; + old_return = new_return; break; default: if (rfx->params[i].dp) { - return_pattern=lives_strdup_printf("%%s %%.%df",rfx->params[i].dp); - new_return=lives_strdup_printf(return_pattern,old_return,get_double_param(rfx->params[i].value)); + return_pattern = lives_strdup_printf("%%s %%.%df", rfx->params[i].dp); + new_return = lives_strdup_printf(return_pattern, old_return, get_double_param(rfx->params[i].value)); if (with_min_max) { lives_free(old_return); - old_return=new_return; - new_return=lives_strdup_printf(return_pattern,old_return,rfx->params[i].min); + old_return = new_return; + new_return = lives_strdup_printf(return_pattern, old_return, rfx->params[i].min); lives_free(old_return); - old_return=new_return; - new_return=lives_strdup_printf(return_pattern,old_return,rfx->params[i].max); + old_return = new_return; + new_return = lives_strdup_printf(return_pattern, old_return, rfx->params[i].max); } lives_free(return_pattern); } else { - new_return=lives_strdup_printf("%s %d",old_return,get_int_param(rfx->params[i].value)); - if (with_min_max&&rfx->params[i].type!=LIVES_PARAM_BOOL) { + new_return = lives_strdup_printf("%s %d", old_return, get_int_param(rfx->params[i].value)); + if (with_min_max && rfx->params[i].type != LIVES_PARAM_BOOL) { lives_free(old_return); - old_return=new_return; - new_return=lives_strdup_printf("%s %d",old_return,(int)rfx->params[i].min); + old_return = new_return; + new_return = lives_strdup_printf("%s %d", old_return, (int)rfx->params[i].min); lives_free(old_return); - old_return=new_return; - new_return=lives_strdup_printf("%s %d",old_return,(int)rfx->params[i].max); + old_return = new_return; + new_return = lives_strdup_printf("%s %d", old_return, (int)rfx->params[i].max); } } lives_free(old_return); - old_return=new_return; + old_return = new_return; } } - if (mainw->current_file>0&&with_min_max) { - if (rfx->num_in_channels<2) { - new_return=lives_strdup_printf("%s %d %d %d %d %d",old_return,cfile->hsize,cfile->vsize,cfile->start, - cfile->end,cfile->frames); + if (mainw->current_file > 0 && with_min_max) { + if (rfx->num_in_channels < 2) { + new_return = lives_strdup_printf("%s %d %d %d %d %d", old_return, cfile->hsize, cfile->vsize, cfile->start, + cfile->end, cfile->frames); } else { // for transitions, change the end to indicate the merge section // this is better for length calculations - int cb_frames=clipboard->frames; - int start=cfile->start,end=cfile->end,ttl; + int cb_frames = clipboard->frames; + int start = cfile->start, end = cfile->end, ttl; - if (prefs->ins_resample&&clipboard->fps!=cfile->fps) { - cb_frames=count_resampled_frames(clipboard->frames,clipboard->fps,cfile->fps); + if (prefs->ins_resample && clipboard->fps != cfile->fps) { + cb_frames = count_resampled_frames(clipboard->frames, clipboard->fps, cfile->fps); } - if (merge_opts->spinbutton_loops!=NULL&& - cfile->end-cfile->start+1>(cb_frames*(ttl=lives_spin_button_get_value_as_int - (LIVES_SPIN_BUTTON(merge_opts->spinbutton_loops))))&& + if (merge_opts->spinbutton_loops != NULL && + cfile->end - cfile->start + 1 > (cb_frames * (ttl = lives_spin_button_get_value_as_int + (LIVES_SPIN_BUTTON(merge_opts->spinbutton_loops)))) && !merge_opts->loop_to_fit) { - end=cb_frames*ttl; + end = cb_frames * ttl; if (!merge_opts->align_start) { - start=cfile->end-end+1; - end=cfile->end; + start = cfile->end - end + 1; + end = cfile->end; } else { - start=cfile->start; - end+=start-1; + start = cfile->start; + end += start - 1; } } - new_return=lives_strdup_printf("%s %d %d %d %d %d %d %d",old_return,cfile->hsize,cfile->vsize,start,end, - cfile->frames,clipboard->hsize,clipboard->vsize); + new_return = lives_strdup_printf("%s %d %d %d %d %d %d %d", old_return, cfile->hsize, cfile->vsize, start, end, + cfile->frames, clipboard->hsize, clipboard->vsize); } } else { - new_return=lives_strdup(old_return); + new_return = lives_strdup(old_return); } lives_free(old_return); @@ -2787,48 +2782,48 @@ // concat list entries to get reconstruct // replace \" with " - char *word=NULL; - char *ret=lives_strdup(""),*ret2; + char *word = NULL; + char *ret = lives_strdup(""), *ret2; char *tmp; - boolean lastword=FALSE; + boolean lastword = FALSE; register int i; - word=L2U8((char *)lives_list_nth_data(plist,start)); + word = L2U8((char *)lives_list_nth_data(plist, start)); - if (word==NULL||!strlen(word)||word[0]!='\"') { - if (word!=NULL) lives_free(word); + if (word == NULL || !strlen(word) || word[0] != '\"') { + if (word != NULL) lives_free(word); return 0; } word++; - for (i=start; i<lives_list_length(plist); i++) { + for (i = start; i < lives_list_length(plist); i++) { if (strlen(word)) { - if ((word[strlen(word)-1]=='\"')&&(strlen(word)==1||word[strlen(word)-2]!='\\')) { - lastword=TRUE; - memset(word+strlen(word)-1,0,1); + if ((word[strlen(word) - 1] == '\"') && (strlen(word) == 1 || word[strlen(word) - 2] != '\\')) { + lastword = TRUE; + memset(word + strlen(word) - 1, 0, 1); } } - ret2=lives_strconcat(ret,(tmp=subst(word,"\\\"","\""))," ",NULL); + ret2 = lives_strconcat(ret, (tmp = subst(word, "\\\"", "\"")), " ", NULL); lives_free(tmp); - if (ret2!=ret) lives_free(ret); - ret=ret2; + if (ret2 != ret) lives_free(ret); + ret = ret2; - if (i==start) word--; + if (i == start) word--; lives_free(word); if (lastword) break; - if (i<lives_list_length(plist)-1) word=L2U8((char *)lives_list_nth_data(plist,i+1)); + if (i < lives_list_length(plist) - 1) word = L2U8((char *)lives_list_nth_data(plist, i + 1)); } - set_int_param(offs,i-start+1); + set_int_param(offs, i - start + 1); // remove trailing space - memset(ret+strlen(ret)-1,0,1); + memset(ret + strlen(ret) - 1, 0, 1); return ret; } @@ -2836,40 +2831,40 @@ void param_demarshall(lives_rfx_t *rfx, LiVESList *plist, boolean with_min_max, boolean upd) { int i; - int pnum=0; + int pnum = 0; lives_param_t *param; // here we take a LiVESList * of param values, set them in rfx, and if upd is TRUE we also update their visual appearance // param->widgets[n] are only valid if upd==TRUE - if (plist==NULL) return; + if (plist == NULL) return; - for (i=0; i<rfx->num_params; i++) { - param=&rfx->params[i]; - pnum=set_param_from_list(plist,param,pnum,with_min_max,upd); + for (i = 0; i < rfx->num_params; i++) { + param = &rfx->params[i]; + pnum = set_param_from_list(plist, param, pnum, with_min_max, upd); } } LiVESList *argv_to_marshalled_list(lives_rfx_t *rfx, int argc, char **argv) { - LiVESList *plist=NULL; + LiVESList *plist = NULL; - char *tmp,*tmp2,*tmp3; + char *tmp, *tmp2, *tmp3; register int i; - if (argc==0) return plist; + if (argc == 0) return plist; - for (i=0; i<=argc&&argv[i]!=NULL; i++) { - if (rfx->params[i].type==LIVES_PARAM_STRING) { - tmp=lives_strdup_printf("\"%s\"",(tmp2=U82L(tmp3=subst(argv[i],"\"","\\\"")))); - plist=lives_list_append(plist,tmp); + for (i = 0; i <= argc && argv[i] != NULL; i++) { + if (rfx->params[i].type == LIVES_PARAM_STRING) { + tmp = lives_strdup_printf("\"%s\"", (tmp2 = U82L(tmp3 = subst(argv[i], "\"", "\\\"")))); + plist = lives_list_append(plist, tmp); lives_free(tmp2); lives_free(tmp3); } else { - plist=lives_list_append(plist,lives_strdup(argv[i])); + plist = lives_list_append(plist, lives_strdup(argv[i])); } } return plist; @@ -2888,11 +2883,11 @@ // (other types dont have a min/max anyway) char *tmp; // work around some weirdness in glib - int red,green,blue; - int offs=0; - int maxlen=lives_list_length(plist)-1; + int red, green, blue; + int offs = 0; + int maxlen = lives_list_length(plist) - 1; - if (ABS(pnum)>maxlen) return 0; + if (ABS(pnum) > maxlen) return 0; switch (param->type) { case LIVES_PARAM_BOOL: @@ -2900,138 +2895,138 @@ pnum++; break; } - tmp=lives_strdup((char *)lives_list_nth_data(plist,pnum++)); - set_bool_param(param->value,(atoi(tmp))); + tmp = lives_strdup((char *)lives_list_nth_data(plist, pnum++)); + set_bool_param(param->value, (atoi(tmp))); if (upd) { - if (param->widgets[0]&&LIVES_IS_TOGGLE_BUTTON(param->widgets[0])) { - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(param->widgets[0]),get_bool_param(param->value)); + if (param->widgets[0] && LIVES_IS_TOGGLE_BUTTON(param->widgets[0])) { + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(param->widgets[0]), get_bool_param(param->value)); } - } else set_bool_param(param->def,(atoi(tmp))); + } else set_bool_param(param->def, (atoi(tmp))); lives_free(tmp); break; case LIVES_PARAM_NUM: if (param->change_blocked) { pnum++; - if (with_min_max) pnum+=2; + if (with_min_max) pnum += 2; break; } if (param->dp) { double double_val; - tmp=lives_strdup((char *)lives_list_nth_data(plist,pnum++)); - double_val=lives_strtod(tmp,NULL); + tmp = lives_strdup((char *)lives_list_nth_data(plist, pnum++)); + double_val = lives_strtod(tmp, NULL); lives_free(tmp); if (with_min_max) { - if (ABS(pnum)>maxlen) return 1; - tmp=lives_strdup((char *)lives_list_nth_data(plist,pnum++)); - param->min=lives_strtod(tmp,NULL); + if (ABS(pnum) > maxlen) return 1; + tmp = lives_strdup((char *)lives_list_nth_data(plist, pnum++)); + param->min = lives_strtod(tmp, NULL); lives_free(tmp); - if (ABS(pnum)>maxlen) return 2; - tmp=lives_strdup((char *)lives_list_nth_data(plist,pnum++)); - param->max=lives_strtod(tmp,NULL); + if (ABS(pnum) > maxlen) return 2; + tmp = lives_strdup((char *)lives_list_nth_data(plist, pnum++)); + param->max = lives_strtod(tmp, NULL); lives_free(tmp); - if (double_val<param->min) double_val=param->min; - if (double_val>param->max) double_val=param->max; + if (double_val < param->min) double_val = param->min; + if (double_val > param->max) double_val = param->max; } - set_double_param(param->value,double_val); + set_double_param(param->value, double_val); if (upd) { - if (param->widgets[0]&&LIVES_IS_SPIN_BUTTON(param->widgets[0])) { - lives_rfx_t *rfx=(lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(param->widgets[0]),"rfx"); - lives_signal_handlers_block_by_func(param->widgets[0],(livespointer)after_param_value_changed,(livespointer)rfx); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(param->widgets[0]),(double)param->min,(double)param->max); + if (param->widgets[0] && LIVES_IS_SPIN_BUTTON(param->widgets[0])) { + lives_rfx_t *rfx = (lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(param->widgets[0]), "rfx"); + lives_signal_handlers_block_by_func(param->widgets[0], (livespointer)after_param_value_changed, (livespointer)rfx); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(param->widgets[0]), (double)param->min, (double)param->max); lives_spin_button_update(LIVES_SPIN_BUTTON(param->widgets[0])); - lives_signal_handlers_unblock_by_func(param->widgets[0],(livespointer)after_param_value_changed,(livespointer)rfx); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]),get_double_param(param->value)); + lives_signal_handlers_unblock_by_func(param->widgets[0], (livespointer)after_param_value_changed, (livespointer)rfx); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]), get_double_param(param->value)); lives_spin_button_update(LIVES_SPIN_BUTTON(param->widgets[0])); } - } else set_double_param(param->def,double_val); + } else set_double_param(param->def, double_val); } else { int int_value; - tmp=lives_strdup((char *)lives_list_nth_data(plist,pnum++)); - int_value=atoi(tmp); + tmp = lives_strdup((char *)lives_list_nth_data(plist, pnum++)); + int_value = atoi(tmp); lives_free(tmp); if (with_min_max) { - int int_min,int_max; - if (ABS(pnum)>maxlen) return 1; - tmp=lives_strdup((char *)lives_list_nth_data(plist,pnum++)); - int_min=atoi(tmp); + int int_min, int_max; + if (ABS(pnum) > maxlen) return 1; + tmp = lives_strdup((char *)lives_list_nth_data(plist, pnum++)); + int_min = atoi(tmp); lives_free(tmp); - if (ABS(pnum)>maxlen) return 2; - tmp=lives_strdup((char *)lives_list_nth_data(plist,pnum++)); - int_max=atoi(tmp); + if (ABS(pnum) > maxlen) return 2; + tmp = lives_strdup((char *)lives_list_nth_data(plist, pnum++)); + int_max = atoi(tmp); lives_free(tmp); - if (int_value<int_min) int_value=int_min; - if (int_value>int_max) int_value=int_max; - param->min=(double)int_min; - param->max=(double)int_max; + if (int_value < int_min) int_value = int_min; + if (int_value > int_max) int_value = int_max; + param->min = (double)int_min; + param->max = (double)int_max; } - set_int_param(param->value,int_value); + set_int_param(param->value, int_value); if (upd) { - if (param->widgets[0]&&LIVES_IS_SPIN_BUTTON(param->widgets[0])) { - lives_rfx_t *rfx=(lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(param->widgets[0]),"rfx"); - lives_signal_handlers_block_by_func(param->widgets[0],(livespointer)after_param_value_changed,(livespointer)rfx); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(param->widgets[0]),(double)param->min,(double)param->max); + if (param->widgets[0] && LIVES_IS_SPIN_BUTTON(param->widgets[0])) { + lives_rfx_t *rfx = (lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(param->widgets[0]), "rfx"); + lives_signal_handlers_block_by_func(param->widgets[0], (livespointer)after_param_value_changed, (livespointer)rfx); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(param->widgets[0]), (double)param->min, (double)param->max); lives_spin_button_update(LIVES_SPIN_BUTTON(param->widgets[0])); - lives_signal_handlers_unblock_by_func(param->widgets[0],(livespointer)after_param_value_changed,(livespointer)rfx); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]),(double)get_int_param(param->value)); + lives_signal_handlers_unblock_by_func(param->widgets[0], (livespointer)after_param_value_changed, (livespointer)rfx); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]), (double)get_int_param(param->value)); lives_spin_button_update(LIVES_SPIN_BUTTON(param->widgets[0])); } - } else set_int_param(param->def,int_value); + } else set_int_param(param->def, int_value); } break; case LIVES_PARAM_COLRGB24: - tmp=lives_strdup((char *)lives_list_nth_data(plist,pnum++)); - red=atoi(tmp); + tmp = lives_strdup((char *)lives_list_nth_data(plist, pnum++)); + red = atoi(tmp); lives_free(tmp); - if (ABS(pnum)>maxlen) return 1; - tmp=lives_strdup((char *)lives_list_nth_data(plist,pnum++)); - green=atoi(tmp); + if (ABS(pnum) > maxlen) return 1; + tmp = lives_strdup((char *)lives_list_nth_data(plist, pnum++)); + green = atoi(tmp); lives_free(tmp); - if (ABS(pnum)>maxlen) return 2; - tmp=lives_strdup((char *)lives_list_nth_data(plist,pnum++)); - blue=atoi(tmp); + if (ABS(pnum) > maxlen) return 2; + tmp = lives_strdup((char *)lives_list_nth_data(plist, pnum++)); + blue = atoi(tmp); lives_free(tmp); if (param->change_blocked) break; - set_colRGB24_param(param->value,red,green,blue); + set_colRGB24_param(param->value, red, green, blue); if (upd) { - if (param->widgets[0]&&LIVES_IS_SPIN_BUTTON(param->widgets[0])) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]),(double)red); + if (param->widgets[0] && LIVES_IS_SPIN_BUTTON(param->widgets[0])) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]), (double)red); } - if (param->widgets[1]&&LIVES_IS_SPIN_BUTTON(param->widgets[1])) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[1]),(double)green); + if (param->widgets[1] && LIVES_IS_SPIN_BUTTON(param->widgets[1])) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[1]), (double)green); } - if (param->widgets[2]&&LIVES_IS_SPIN_BUTTON(param->widgets[2])) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[2]),(double)blue); + if (param->widgets[2] && LIVES_IS_SPIN_BUTTON(param->widgets[2])) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[2]), (double)blue); } - } else set_colRGB24_param(param->def,red,green,blue); + } else set_colRGB24_param(param->def, red, green, blue); break; case LIVES_PARAM_STRING: - if (param->value!=NULL) lives_free(param->value); - param->value=reconstruct_string(plist,pnum,&offs); + if (param->value != NULL) lives_free(param->value); + param->value = reconstruct_string(plist, pnum, &offs); if (upd) { - if (param->widgets[0]!=NULL) { + if (param->widgets[0] != NULL) { if (LIVES_IS_TEXT_VIEW(param->widgets[0])) { - char *string=lives_strdup((char *)param->value); // work around bug in glib ??? + char *string = lives_strdup((char *)param->value); // work around bug in glib ??? lives_text_view_set_text(LIVES_TEXT_VIEW(param->widgets[0]), string, -1); lives_free(string); } else { - lives_entry_set_text(LIVES_ENTRY(param->widgets[0]),(char *)param->value); + lives_entry_set_text(LIVES_ENTRY(param->widgets[0]), (char *)param->value); } } - } else param->def=(void *)lives_strdup((char *)param->value); - pnum+=offs; + } else param->def = (void *)lives_strdup((char *)param->value); + pnum += offs; break; case LIVES_PARAM_STRING_LIST: { int int_value; - tmp=lives_strdup((char *)lives_list_nth_data(plist,pnum++)); - int_value=atoi(tmp); + tmp = lives_strdup((char *)lives_list_nth_data(plist, pnum++)); + int_value = atoi(tmp); lives_free(tmp); if (param->change_blocked) break; - set_int_param(param->value,int_value); - if (upd&¶m->widgets[0]!=NULL&&LIVES_IS_COMBO(param->widgets[0])&&int_value<lives_list_length(param->list)) - lives_combo_set_active_string(LIVES_COMBO(param->widgets[0]),(char *)lives_list_nth_data(param->list,int_value)); - if (!upd) set_int_param(param->def,int_value); + set_int_param(param->value, int_value); + if (upd && param->widgets[0] != NULL && LIVES_IS_COMBO(param->widgets[0]) && int_value < lives_list_length(param->list)) + lives_combo_set_active_string(LIVES_COMBO(param->widgets[0]), (char *)lives_list_nth_data(param->list, int_value)); + if (!upd) set_int_param(param->def, int_value); break; } @@ -3045,68 +3040,68 @@ LiVESList *do_onchange(LiVESObject *object, lives_rfx_t *rfx) { LiVESList *retvals; - int which=LIVES_POINTER_TO_INT(lives_widget_object_get_data(object,"param_number")); - int width=0,height=0; + int which = LIVES_POINTER_TO_INT(lives_widget_object_get_data(object, "param_number")); + int width = 0, height = 0; - const char *handle=""; + const char *handle = ""; char *plugdir; - char *com,*tmp; + char *com, *tmp; // weed plugins do not have triggers - if (rfx->status==RFX_STATUS_WEED) return NULL; + if (rfx->status == RFX_STATUS_WEED) return NULL; - if (which<0) { + if (which < 0) { // init switch (rfx->status) { case RFX_STATUS_BUILTIN: - plugdir=lives_build_filename(prefs->lib_dir,PLUGIN_EXEC_DIR,PLUGIN_RENDERED_EFFECTS_BUILTIN,NULL); + plugdir = lives_build_filename(prefs->lib_dir, PLUGIN_EXEC_DIR, PLUGIN_RENDERED_EFFECTS_BUILTIN, NULL); break; case RFX_STATUS_CUSTOM: - plugdir=lives_build_filename(capable->home_dir,LIVES_CONFIG_DIR,PLUGIN_RENDERED_EFFECTS_CUSTOM,NULL); + plugdir = lives_build_filename(capable->home_dir, LIVES_CONFIG_DIR, PLUGIN_RENDERED_EFFECTS_CUSTOM, NULL); break; case RFX_STATUS_TEST: - plugdir=lives_build_filename(capable->home_dir,LIVES_CONFIG_DIR,PLUGIN_RENDERED_EFFECTS_TEST,NULL); + plugdir = lives_build_filename(capable->home_dir, LIVES_CONFIG_DIR, PLUGIN_RENDERED_EFFECTS_TEST, NULL); break; default: - plugdir=lives_strdup_printf("%s",prefs->workdir); + plugdir = lives_strdup_printf("%s", prefs->workdir); } - if (mainw->current_file>0) { - width=cfile->hsize; - height=cfile->vsize; - handle=cfile->handle; + if (mainw->current_file > 0) { + width = cfile->hsize; + height = cfile->vsize; + handle = cfile->handle; } - com=lives_strdup_printf("%s \"fxinit_%s\" \"%s\" \"%s\" %d %d %s",prefs->backend_sync,rfx->name,handle,plugdir, - width,height,(tmp=param_marshall(rfx,TRUE))); - retvals=plugin_request_by_space(NULL,NULL,com); + com = lives_strdup_printf("%s \"fxinit_%s\" \"%s\" \"%s\" %d %d %s", prefs->backend_sync, rfx->name, handle, plugdir, + width, height, (tmp = param_marshall(rfx, TRUE))); + retvals = plugin_request_by_space(NULL, NULL, com); lives_free(tmp); lives_free(plugdir); } else { - com=lives_strdup_printf("onchange_%d%s",which,param_marshall(rfx,TRUE)); + com = lives_strdup_printf("onchange_%d%s", which, param_marshall(rfx, TRUE)); switch (rfx->status) { case RFX_STATUS_BUILTIN: - retvals=plugin_request_by_space(PLUGIN_RENDERED_EFFECTS_BUILTIN,rfx->name,com); + retvals = plugin_request_by_space(PLUGIN_RENDERED_EFFECTS_BUILTIN, rfx->name, com); break; case RFX_STATUS_CUSTOM: - retvals=plugin_request_by_space(PLUGIN_RENDERED_EFFECTS_CUSTOM,rfx->name,com); + retvals = plugin_request_by_space(PLUGIN_RENDERED_EFFECTS_CUSTOM, rfx->name, com); break; case RFX_STATUS_TEST: - retvals=plugin_request_by_space(PLUGIN_RENDERED_EFFECTS_TEST,rfx->name,com); + retvals = plugin_request_by_space(PLUGIN_RENDERED_EFFECTS_TEST, rfx->name, com); break; default: - retvals=plugin_request_by_space(PLUGIN_RFX_SCRAP,rfx->name,com); + retvals = plugin_request_by_space(PLUGIN_RFX_SCRAP, rfx->name, com); } } - if (retvals!=NULL) { - param_demarshall(rfx,retvals,TRUE,which>=0); + if (retvals != NULL) { + param_demarshall(rfx, retvals, TRUE, which >= 0); } else { - if (which<=0&&mainw->error) { - mainw->error=FALSE; - do_blocking_error_dialog(lives_strdup_printf("\n\n%s\n\n",mainw->msg)); + if (which <= 0 && mainw->error) { + mainw->error = FALSE; + do_blocking_error_dialog(lives_strdup_printf("\n\n%s\n\n", mainw->msg)); } } lives_free(com); @@ -3120,23 +3115,23 @@ void on_pwcolsel(LiVESButton *button, lives_rfx_t *rfx) { LiVESWidgetColor selected; - int pnum=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(button),"param_number")); - int r,g,b; + int pnum = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(button), "param_number")); + int r, g, b; - lives_param_t *param=&rfx->params[pnum]; + lives_param_t *param = &rfx->params[pnum]; - lives_color_button_get_color(LIVES_COLOR_BUTTON(button),&selected); + lives_color_button_get_color(LIVES_COLOR_BUTTON(button), &selected); - r=(int)((double)(selected.red+LIVES_WIDGET_COLOR_SCALE_255(0.5))/(double)LIVES_WIDGET_COLOR_SCALE_255(1.)); - g=(int)((double)(selected.green+LIVES_WIDGET_COLOR_SCALE_255(0.5))/(double)LIVES_WIDGET_COLOR_SCALE_255(1.)); - b=(int)((double)(selected.blue+LIVES_WIDGET_COLOR_SCALE_255(0.5))/(double)LIVES_WIDGET_COLOR_SCALE_255(1.)); + r = (int)((double)(selected.red + LIVES_WIDGET_COLOR_SCALE_255(0.5)) / (double)LIVES_WIDGET_COLOR_SCALE_255(1.)); + g = (int)((double)(selected.green + LIVES_WIDGET_COLOR_SCALE_255(0.5)) / (double)LIVES_WIDGET_COLOR_SCALE_255(1.)); + b = (int)((double)(selected.blue + LIVES_WIDGET_COLOR_SCALE_255(0.5)) / (double)LIVES_WIDGET_COLOR_SCALE_255(1.)); - set_colRGB24_param(param->value,r,g,b); + set_colRGB24_param(param->value, r, g, b); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]),(double)r); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[1]),(double)g); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[2]),(double)b); - lives_color_button_set_color(LIVES_COLOR_BUTTON(param->widgets[4]),&selected); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[0]), (double)r); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[1]), (double)g); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(param->widgets[2]), (double)b); + lives_color_button_set_color(LIVES_COLOR_BUTTON(param->widgets[4]), &selected); } @@ -3146,135 +3141,135 @@ // update parameters visually from an rfx object LiVESList *list; - weed_plant_t **in_params,*in_param; - weed_plant_t *inst=(weed_plant_t *)rfx->source; + weed_plant_t **in_params, *in_param; + weed_plant_t *inst = (weed_plant_t *)rfx->source; weed_plant_t *paramtmpl; - int *colsi,*colsis,*valis; - int *maxis=NULL,*minis=NULL; + int *colsi, *colsis, *valis; + int *maxis = NULL, *minis = NULL; - double *colsd,*colsds,*valds; - double *maxds=NULL,*minds=NULL; + double *colsd, *colsds, *valds; + double *maxds = NULL, *minds = NULL; - double red_maxd,green_maxd,blue_maxd; - double red_mind,green_mind,blue_mind; - double vald,mind,maxd; + double red_maxd, green_maxd, blue_maxd; + double red_mind, green_mind, blue_mind; + double vald, mind, maxd; char **valss; - char *vals,*pattern; - char *tmp,*tmp2; + char *vals, *pattern; + char *tmp, *tmp2; int cspace; int error; - int num_params=0; + int num_params = 0; int param_hint; - int vali,mini,maxi; + int vali, mini, maxi; - int red_max,green_max,blue_max; - int red_min,green_min,blue_min; + int red_max, green_max, blue_max; + int red_min, green_min, blue_min; - int index,numvals; - int key=-1; + int index, numvals; + int key = -1; - register int i,j; + register int i, j; - if (weed_plant_has_leaf(inst,WEED_LEAF_IN_PARAMETERS)) num_params=weed_leaf_num_elements(inst,WEED_LEAF_IN_PARAMETERS); - if (num_params==0) return; + if (weed_plant_has_leaf(inst, WEED_LEAF_IN_PARAMETERS)) num_params = weed_leaf_num_elements(inst, WEED_LEAF_IN_PARAMETERS); + if (num_params == 0) return; - if (weed_plant_has_leaf(inst,WEED_LEAF_HOST_KEY)) key=weed_get_int_value(inst,WEED_LEAF_HOST_KEY,&error); + if (weed_plant_has_leaf(inst, WEED_LEAF_HOST_KEY)) key = weed_get_int_value(inst, WEED_LEAF_HOST_KEY, &error); - in_params=weed_get_plantptr_array(inst,WEED_LEAF_IN_PARAMETERS,&error); - for (i=0; i<num_params; i++) { - if (!is_hidden_param(inst,i)||update_hidden) { + in_params = weed_get_plantptr_array(inst, WEED_LEAF_IN_PARAMETERS, &error); + for (i = 0; i < num_params; i++) { + if (!is_hidden_param(inst, i) || update_hidden) { // by default we dont update hidden or reinit params - in_param=in_params[i]; - paramtmpl=weed_get_plantptr_value(in_param,WEED_LEAF_TEMPLATE,&error); - param_hint=weed_get_int_value(paramtmpl,WEED_LEAF_HINT,&error); - list=NULL; + in_param = in_params[i]; + paramtmpl = weed_get_plantptr_value(in_param, WEED_LEAF_TEMPLATE, &error); + param_hint = weed_get_int_value(paramtmpl, WEED_LEAF_HINT, &error); + list = NULL; // assume index is 0, unless we are a framedraw multi parameter // most of the time this will be ok, as other such multivalued parameters should be hidden - index=0; + index = 0; - if (mainw->multitrack!=NULL&&is_perchannel_multi(rfx,i)) { - index=mainw->multitrack->track_index; + if (mainw->multitrack != NULL && is_perchannel_multi(rfx, i)) { + index = mainw->multitrack->track_index; } filter_mutex_lock(key); - numvals=weed_leaf_num_elements(in_param,WEED_LEAF_VALUE); + numvals = weed_leaf_num_elements(in_param, WEED_LEAF_VALUE); - if (param_hint!=WEED_HINT_COLOR&&index>=numvals) { - fill_param_vals_to(in_param,paramtmpl,index); - numvals=index+1; + if (param_hint != WEED_HINT_COLOR && index >= numvals) { + fill_param_vals_to(in_param, paramtmpl, index); + numvals = index + 1; } switch (param_hint) { case WEED_HINT_INTEGER: - valis=weed_get_int_array(in_param,WEED_LEAF_VALUE,&error); - vali=valis[index]; + valis = weed_get_int_array(in_param, WEED_LEAF_VALUE, &error); + vali = valis[index]; lives_free(valis); - mini=weed_get_int_value(paramtmpl,WEED_LEAF_MIN,&error); - maxi=weed_get_int_value(paramtmpl,WEED_LEAF_MAX,&error); + mini = weed_get_int_value(paramtmpl, WEED_LEAF_MIN, &error); + maxi = weed_get_int_value(paramtmpl, WEED_LEAF_MAX, &error); - list=lives_list_append(list,lives_strdup_printf("%d",vali)); - list=lives_list_append(list,lives_strdup_printf("%d",mini)); - list=lives_list_append(list,lives_strdup_printf("%d",maxi)); - set_param_from_list(list,&rfx->params[i],0,TRUE,TRUE); + list = lives_list_append(list, lives_strdup_printf("%d", vali)); + list = lives_list_append(list, lives_strdup_printf("%d", mini)); + list = lives_list_append(list, lives_strdup_printf("%d", maxi)); + set_param_from_list(list, &rfx->params[i], 0, TRUE, TRUE); lives_list_free_all(&list); break; case WEED_HINT_FLOAT: - valds=weed_get_double_array(in_param,WEED_LEAF_VALUE,&error); - vald=valds[index]; + valds = weed_get_double_array(in_param, WEED_LEAF_VALUE, &error); + vald = valds[index]; lives_free(valds); - mind=weed_get_double_value(paramtmpl,WEED_LEAF_MIN,&error); - maxd=weed_get_double_value(paramtmpl,WEED_LEAF_MAX,&error); + mind = weed_get_double_value(paramtmpl, WEED_LEAF_MIN, &error); + maxd = weed_get_double_value(paramtmpl, WEED_LEAF_MAX, &error); - pattern=lives_strdup("%.2f"); + pattern = lives_strdup("%.2f"); - if (weed_plant_has_leaf(paramtmpl,WEED_LEAF_GUI)) { - weed_plant_t *gui=weed_get_plantptr_value(paramtmpl,WEED_LEAF_GUI,&error); - if (weed_plant_has_leaf(gui,WEED_LEAF_DECIMALS)) { - int dp=weed_get_int_value(gui,WEED_LEAF_DECIMALS,&error); + if (weed_plant_has_leaf(paramtmpl, WEED_LEAF_GUI)) { + weed_plant_t *gui = weed_get_plantptr_value(paramtmpl, WEED_LEAF_GUI, &error); + if (weed_plant_has_leaf(gui, WEED_LEAF_DECIMALS)) { + int dp = weed_get_int_value(gui, WEED_LEAF_DECIMALS, &error); lives_free(pattern); - pattern=lives_strdup_printf("%%.%df",dp); + pattern = lives_strdup_printf("%%.%df", dp); } } - list=lives_list_append(list,lives_strdup_printf(pattern,vald)); - list=lives_list_append(list,lives_strdup_printf(pattern,mind)); - list=lives_list_append(list,lives_strdup_printf(pattern,maxd)); + list = lives_list_append(list, lives_strdup_printf(pattern, vald)); + list = lives_list_append(list, lives_strdup_printf(pattern, mind)); + list = lives_list_append(list, lives_strdup_printf(pattern, maxd)); lives_free(pattern); - set_param_from_list(list,&rfx->params[i],0,TRUE,TRUE); + set_param_from_list(list, &rfx->params[i], 0, TRUE, TRUE); lives_list_free_all(&list); break; case WEED_HINT_SWITCH: - valis=weed_get_boolean_array(in_param,WEED_LEAF_VALUE,&error); - vali=valis[index]; + valis = weed_get_boolean_array(in_param, WEED_LEAF_VALUE, &error); + vali = valis[index]; lives_free(valis); - list=lives_list_append(list,lives_strdup_printf("%d",vali)); - set_param_from_list(list,&rfx->params[i],0,FALSE,TRUE); + list = lives_list_append(list, lives_strdup_printf("%d", vali)); + set_param_from_list(list, &rfx->params[i], 0, FALSE, TRUE); lives_list_free_all(&list); break; case WEED_HINT_TEXT: - valss=weed_get_string_array(in_param,WEED_LEAF_VALUE,&error); - vals=valss[index]; + valss = weed_get_string_array(in_param, WEED_LEAF_VALUE, &error); + vals = valss[index]; - list=lives_list_append(list,lives_strdup_printf("\"%s\"",(tmp=U82L(tmp2=subst(vals,"\"","\\\""))))); + list = lives_list_append(list, lives_strdup_printf("\"%s\"", (tmp = U82L(tmp2 = subst(vals, "\"", "\\\""))))); lives_free(tmp); lives_free(tmp2); - set_param_from_list(list,&rfx->params[i],0,FALSE,TRUE); - for (j=0; j<numvals; j++) { + set_param_from_list(list, &rfx->params[i], 0, FALSE, TRUE); + for (j = 0; j < numvals; j++) { lives_free(valss[j]); } lives_free(valss); @@ -3282,93 +3277,93 @@ break; case WEED_HINT_COLOR: - cspace=weed_get_int_value(paramtmpl,WEED_LEAF_COLORSPACE,&error); + cspace = weed_get_int_value(paramtmpl, WEED_LEAF_COLORSPACE, &error); switch (cspace) { case WEED_COLORSPACE_RGB: - numvals=weed_leaf_num_elements(in_param,WEED_LEAF_VALUE); - if (index*3>=numvals) fill_param_vals_to(in_param,paramtmpl,index); + numvals = weed_leaf_num_elements(in_param, WEED_LEAF_VALUE); + if (index * 3 >= numvals) fill_param_vals_to(in_param, paramtmpl, index); - if (weed_leaf_seed_type(paramtmpl,WEED_LEAF_DEFAULT)==WEED_SEED_INT) { - colsis=weed_get_int_array(in_param,WEED_LEAF_VALUE,&error); - colsi=&colsis[3*index]; + if (weed_leaf_seed_type(paramtmpl, WEED_LEAF_DEFAULT) == WEED_SEED_INT) { + colsis = weed_get_int_array(in_param, WEED_LEAF_VALUE, &error); + colsi = &colsis[3 * index]; - if (weed_leaf_num_elements(paramtmpl,WEED_LEAF_MAX)==1) { - red_max=green_max=blue_max=weed_get_int_value(paramtmpl,WEED_LEAF_MAX,&error); + if (weed_leaf_num_elements(paramtmpl, WEED_LEAF_MAX) == 1) { + red_max = green_max = blue_max = weed_get_int_value(paramtmpl, WEED_LEAF_MAX, &error); } else { - maxis=weed_get_int_array(paramtmpl,WEED_LEAF_MAX,&error); - red_max=maxis[0]; - green_max=maxis[1]; - blue_max=maxis[2]; + maxis = weed_get_int_array(paramtmpl, WEED_LEAF_MAX, &error); + red_max = maxis[0]; + green_max = maxis[1]; + blue_max = maxis[2]; } - if (weed_leaf_num_elements(paramtmpl,WEED_LEAF_MIN)==1) { - red_min=green_min=blue_min=weed_get_int_value(paramtmpl,WEED_LEAF_MIN,&error); + if (weed_leaf_num_elements(paramtmpl, WEED_LEAF_MIN) == 1) { + red_min = green_min = blue_min = weed_get_int_value(paramtmpl, WEED_LEAF_MIN, &error); } else { - minis=weed_get_int_array(paramtmpl,WEED_LEAF_MIN,&error); - red_min=minis[0]; - green_min=minis[1]; - blue_min=minis[2]; + minis = weed_get_int_array(paramtmpl, WEED_LEAF_MIN, &error); + red_min = minis[0]; + green_min = minis[1]; + blue_min = minis[2]; } - colsi[0]=(int)((double)(colsi[0]-red_min)/(double)(red_max-red_min)*255.+.5); - colsi[1]=(int)((double)(colsi[1]-green_min)/(double)(green_max-green_min)*255.+.5); - colsi[2]=(int)((double)(colsi[2]-blue_min)/(double)(blue_max-blue_min)*255.+.5); - - if (colsi[0]<red_min) colsi[0]=red_min; - if (colsi[1]<green_min) colsi[1]=green_min; - if (colsi[2]<blue_min) colsi[2]=blue_min; - if (colsi[0]>red_max) colsi[0]=red_max; - if (colsi[1]>green_max) colsi[1]=green_max; - if (colsi[2]>blue_max) colsi[2]=blue_max; - - list=lives_list_append(list,lives_strdup_printf("%d",colsi[0])); - list=lives_list_append(list,lives_strdup_printf("%d",colsi[1])); - list=lives_list_append(list,lives_strdup_printf("%d",colsi[2])); + colsi[0] = (int)((double)(colsi[0] - red_min) / (double)(red_max - red_min) * 255. + .5); + colsi[1] = (int)((double)(colsi[1] - green_min) / (double)(green_max - green_min) * 255. + .5); + colsi[2] = (int)((double)(colsi[2] - blue_min) / (double)(blue_max - blue_min) * 255. + .5); + + if (colsi[0] < red_min) colsi[0] = red_min; + if (colsi[1] < green_min) colsi[1] = green_min; + if (colsi[2] < blue_min) colsi[2] = blue_min; + if (colsi[0] > red_max) colsi[0] = red_max; + if (colsi[1] > green_max) colsi[1] = green_max; + if (colsi[2] > blue_max) colsi[2] = blue_max; + + list = lives_list_append(list, lives_strdup_printf("%d", colsi[0])); + list = lives_list_append(list, lives_strdup_printf("%d", colsi[1])); + list = lives_list_append(list, lives_strdup_printf("%d", colsi[2])); - set_param_from_list(list,&rfx->params[i],0,FALSE,TRUE); + set_param_from_list(list, &rfx->params[i], 0, FALSE, TRUE); lives_list_free_all(&list); lives_free(colsis); - if (maxis!=NULL) lives_free(maxis); - if (minis!=NULL) lives_free(minis); + if (maxis != NULL) lives_free(maxis); + if (minis != NULL) lives_free(minis); } else { - colsds=weed_get_double_array(in_param,WEED_LEAF_VALUE,&error); - colsd=&colsds[3*index]; - if (weed_leaf_num_elements(paramtmpl,WEED_LEAF_MAX)==1) { - red_maxd=green_maxd=blue_maxd=weed_get_double_value(paramtmpl,WEED_LEAF_MAX,&error); + colsds = weed_get_double_array(in_param, WEED_LEAF_VALUE, &error); + colsd = &colsds[3 * index]; + if (weed_leaf_num_elements(paramtmpl, WEED_LEAF_MAX) == 1) { + red_maxd = green_maxd = blue_maxd = weed_get_double_value(paramtmpl, WEED_LEAF_MAX, &error); } else { - maxds=weed_get_double_array(paramtmpl,WEED_LEAF_MAX,&error); - red_maxd=maxds[0]; - green_maxd=maxds[1]; - blue_maxd=maxds[2]; + maxds = weed_get_double_array(paramtmpl, WEED_LEAF_MAX, &error); + red_maxd = maxds[0]; + green_maxd = maxds[1]; + blue_maxd = maxds[2]; } - if (weed_leaf_num_elements(paramtmpl,WEED_LEAF_MIN)==1) { - red_mind=green_mind=blue_mind=weed_get_double_value(paramtmpl,WEED_LEAF_MIN,&error); + if (weed_leaf_num_elements(paramtmpl, WEED_LEAF_MIN) == 1) { + red_mind = green_mind = blue_mind = weed_get_double_value(paramtmpl, WEED_LEAF_MIN, &error); } else { - minds=weed_get_double_array(paramtmpl,WEED_LEAF_MIN,&error); - red_mind=minds[0]; - green_mind=minds[1]; - blue_mind=minds[2]; + minds = weed_get_double_array(paramtmpl, WEED_LEAF_MIN, &error); + red_mind = minds[0]; + green_mind = minds[1]; + blue_mind = minds[2]; } - colsd[0]=(colsd[0]-red_mind)/(red_maxd-red_mind)*255.+.5; - colsd[1]=(colsd[1]-green_mind)/(green_maxd-green_mind)*255.+.5; - colsd[2]=(colsd[2]-blue_mind)/(blue_maxd-blue_mind)*255.+.5; - - if (colsd[0]<red_mind) colsd[0]=red_mind; - if (colsd[1]<green_mind) colsd[1]=green_mind; - if (colsd[2]<blue_mind) colsd[2]=blue_mind; - if (colsd[0]>red_maxd) colsd[0]=red_maxd; - if (colsd[1]>green_maxd) colsd[1]=green_maxd; - if (colsd[2]>blue_maxd) colsd[2]=blue_maxd; - - list=lives_list_append(list,lives_strdup_printf("%.2f",colsd[0])); - list=lives_list_append(list,lives_strdup_printf("%.2f",colsd[1])); - list=lives_list_append(list,lives_strdup_printf("%.2f",colsd[2])); - set_param_from_list(list,&rfx->params[i],0,FALSE,TRUE); + colsd[0] = (colsd[0] - red_mind) / (red_maxd - red_mind) * 255. + .5; + colsd[1] = (colsd[1] - green_mind) / (green_maxd - green_mind) * 255. + .5; + colsd[2] = (colsd[2] - blue_mind) / (blue_maxd - blue_mind) * 255. + .5; + + if (colsd[0] < red_mind) colsd[0] = red_mind; + if (colsd[1] < green_mind) colsd[1] = green_mind; + if (colsd[2] < blue_mind) colsd[2] = blue_mind; + if (colsd[0] > red_maxd) colsd[0] = red_maxd; + if (colsd[1] > green_maxd) colsd[1] = green_maxd; + if (colsd[2] > blue_maxd) colsd[2] = blue_maxd; + + list = lives_list_append(list, lives_strdup_printf("%.2f", colsd[0])); + list = lives_list_append(list, lives_strdup_printf("%.2f", colsd[1])); + list = lives_list_append(list, lives_strdup_printf("%.2f", colsd[2])); + set_param_from_list(list, &rfx->params[i], 0, FALSE, TRUE); lives_list_free_all(&list); lives_free(colsds); - if (maxds!=NULL) lives_free(maxds); - if (minds!=NULL) lives_free(minds); + if (maxds != NULL) lives_free(maxds); + if (minds != NULL) lives_free(minds); } break; // TODO - other color spaces, e.g. RGBA24
View file
LiVES-2.8.4.tar.bz2/src/plugins.c -> LiVES-2.8.6.tar.bz2/src/plugins.c
Changed
@@ -31,7 +31,7 @@ #include "rfx-builder.h" #include "paramwindow.h" -const char *anames[AUDIO_CODEC_MAX]= {"mp3","pcm","mp2","vorbis","AC3","AAC","AMR_NB","raw","wma2",""}; +const char *anames[AUDIO_CODEC_MAX] = {"mp3", "pcm", "mp2", "vorbis", "AC3", "AAC", "AMR_NB", "raw", "wma2", ""}; static boolean list_plugins; @@ -42,17 +42,17 @@ static LiVESList *get_plugin_result(const char *command, const char *delim, boolean allow_blanks) { - LiVESList *list=NULL; + LiVESList *list = NULL; char **array; - ssize_t bytes=0; + ssize_t bytes = 0; int pieces; - int outfile_fd,i; + int outfile_fd, i; int retval; int alarm_handle; int error; boolean timeout; - char *msg,*buf; + char *msg, *buf; char *outfile; char *com; @@ -60,32 +60,32 @@ threaded_dialog_spin(0.); - outfile=lives_strdup_printf("%s"LIVES_DIR_SEP LIVES_SMOGPLUGIN_FILE_NAME".%d",prefs->workdir,capable->mainpid); + outfile = lives_strdup_printf("%s"LIVES_DIR_SEP LIVES_SMOGPLUGIN_FILE_NAME".%d", prefs->workdir, capable->mainpid); lives_rm(outfile); - com=lives_strconcat(command," > \"",outfile,"\"",NULL); + com = lives_strconcat(command, " > \"", outfile, "\"", NULL); - mainw->error=FALSE; + mainw->error = FALSE; - if ((error=lives_system(com,TRUE))!=0&&error!=126*256&&error!=256) { + if ((error = lives_system(com, TRUE)) != 0 && error != 126 * 256 && error != 256) { if (!list_plugins) { char *msg2; lives_free(com); if (mainw->is_ready) { - if ((outfile_fd=lives_open2(outfile,O_RDONLY))>-1) { - bytes=read(outfile_fd,&buffer,65535); - if (bytes<0) bytes=0; + if ((outfile_fd = lives_open2(outfile, O_RDONLY)) > -1) { + bytes = read(outfile_fd, &buffer, 65535); + if (bytes < 0) bytes = 0; close(outfile_fd); lives_rm(outfile); - memset(buffer+bytes,0,1); + memset(buffer + bytes, 0, 1); } - msg=lives_strdup_printf(_("\nPlugin error: %s failed with code %d"),command,error/256); + msg = lives_strdup_printf(_("\nPlugin error: %s failed with code %d"), command, error / 256); if (bytes) { - msg2=lives_strconcat(msg,lives_strdup_printf(_(" : message was %s\n"),buffer),NULL); - lives_snprintf(mainw->msg,512,"%s",buffer); + msg2 = lives_strconcat(msg, lives_strdup_printf(_(" : message was %s\n"), buffer), NULL); + lives_snprintf(mainw->msg, 512, "%s", buffer); } else { - msg2=lives_strconcat(msg,"\n",NULL); + msg2 = lives_strconcat(msg, "\n", NULL); } d_print(msg2); lives_free(msg2); @@ -106,61 +106,61 @@ threaded_dialog_spin(0.); do { - retval=0; - timeout=FALSE; + retval = 0; + timeout = FALSE; - alarm_handle=lives_alarm_set(LIVES_LONGER_TIMEOUT); + alarm_handle = lives_alarm_set(LIVES_LONGER_TIMEOUT); - while ((outfile_fd=lives_open2(outfile,O_RDONLY))==-1&&!(timeout=lives_alarm_get(alarm_handle))) { + while ((outfile_fd = lives_open2(outfile, O_RDONLY)) == -1 && !(timeout = lives_alarm_get(alarm_handle))) { lives_usleep(prefs->sleep_time); } lives_alarm_clear(alarm_handle); if (timeout) { - msg=lives_strdup_printf(("Plugin timed out on message %s"),command); + msg = lives_strdup_printf(("Plugin timed out on message %s"), command); LIVES_ERROR(msg); lives_free(msg); - retval=do_read_failed_error_s_with_retry(outfile,NULL,NULL); + retval = do_read_failed_error_s_with_retry(outfile, NULL, NULL); } else { - bytes=read(outfile_fd,&buffer,65535); + bytes = read(outfile_fd, &buffer, 65535); close(outfile_fd); lives_rm(outfile); - if (bytes<0) { - retval=do_read_failed_error_s_with_retry(outfile,NULL,NULL); + if (bytes < 0) { + retval = do_read_failed_error_s_with_retry(outfile, NULL, NULL); } else { threaded_dialog_spin(0.); - memset(buffer+bytes,0,1); + memset(buffer + bytes, 0, 1); } } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); lives_rm(outfile); lives_free(outfile); - if (retval==LIVES_RESPONSE_CANCEL) { + if (retval == LIVES_RESPONSE_CANCEL) { threaded_dialog_spin(0.); return list; } #ifdef DEBUG_PLUGINS - lives_printerr("plugin msg: %s %d\n",buffer,error); + lives_printerr("plugin msg: %s %d\n", buffer, error); #endif - if (error==256) { - mainw->error=TRUE; - lives_snprintf(mainw->msg,512,"%s",buffer); + if (error == 256) { + mainw->error = TRUE; + lives_snprintf(mainw->msg, 512, "%s", buffer); return list; } - pieces=get_token_count(buffer,delim[0]); - array=lives_strsplit(buffer,delim,pieces); - for (i=0; i<pieces; i++) { - if (array[i]!=NULL) { - buf=lives_strdup(lives_strstrip(array[i])); - if (strlen(buf)||allow_blanks) { - list=lives_list_append(list, buf); + pieces = get_token_count(buffer, delim[0]); + array = lives_strsplit(buffer, delim, pieces); + for (i = 0; i < pieces; i++) { + if (array[i] != NULL) { + buf = lives_strdup(lives_strstrip(array[i])); + if (strlen(buf) || allow_blanks) { + list = lives_list_append(list, buf); } else lives_free(buf); } } @@ -198,59 +198,59 @@ // instead, caller should ensure that any strings in *request are suitably escaped and quoted // e.g. by calling param_marshall() - LiVESList *reslist=NULL; - char *com,*comfile; + LiVESList *reslist = NULL; + char *com, *comfile; #ifdef IS_MINGW - char *ext,*cmd; + char *ext, *cmd; #endif - if (plugin_type!=NULL) { + if (plugin_type != NULL) { - if (plugin_name==NULL||!strlen(plugin_name)) { + if (plugin_name == NULL || !strlen(plugin_name)) { return reslist; } // some types live in home directory... - if (!strcmp(plugin_type,PLUGIN_RENDERED_EFFECTS_CUSTOM)||!strcmp(plugin_type,PLUGIN_RENDERED_EFFECTS_TEST)) { - comfile=lives_build_filename(capable->home_dir,LIVES_CONFIG_DIR,plugin_type,plugin_name,NULL); - } else if (!strcmp(plugin_type,PLUGIN_RFX_SCRAP)) { + if (!strcmp(plugin_type, PLUGIN_RENDERED_EFFECTS_CUSTOM) || !strcmp(plugin_type, PLUGIN_RENDERED_EFFECTS_TEST)) { + comfile = lives_build_filename(capable->home_dir, LIVES_CONFIG_DIR, plugin_type, plugin_name, NULL); + } else if (!strcmp(plugin_type, PLUGIN_RFX_SCRAP)) { // scraps are in the workdir - comfile=lives_build_filename(prefs->workdir,plugin_name,NULL); + comfile = lives_build_filename(prefs->workdir, plugin_name, NULL); } else { - comfile=lives_build_filename(prefs->lib_dir,PLUGIN_EXEC_DIR,plugin_type,plugin_name,NULL); + comfile = lives_build_filename(prefs->lib_dir, PLUGIN_EXEC_DIR, plugin_type, plugin_name, NULL); } #ifndef IS_MINGW //#define DEBUG_PLUGINS #ifdef DEBUG_PLUGINS - com=lives_strdup_printf("\"%s\" %s",comfile,request); - lives_printerr("will run: %s\n",com); + com = lives_strdup_printf("\"%s\" %s", comfile, request); + lives_printerr("will run: %s\n", com); #else - com=lives_strdup_printf("\"%s\" %s 2>/dev/null",comfile,request); + com = lives_strdup_printf("\"%s\" %s 2>/dev/null", comfile, request); #endif #else // check by file extension - ext=get_extension(comfile); - if (!strcmp(ext,"py")) { + ext = get_extension(comfile); + if (!strcmp(ext, "py")) { if (!capable->has_python) { lives_free(ext); lives_free(comfile); return reslist; } - cmd=lives_strdup("python"); + cmd = lives_strdup("python"); } - else cmd=lives_strdup("perl"); + else cmd = lives_strdup("perl"); //#define DEBUG_PLUGINS #ifdef DEBUG_PLUGINS - com=lives_strdup_printf("%s \"%s\" %s",cmd,comfile,request); - lives_printerr("will run: %s\n",com); + com = lives_strdup_printf("%s \"%s\" %s", cmd, comfile, request); + lives_printerr("will run: %s\n", com); #else - com=lives_strdup_printf("%s \"%s\" %s 2>NUL",cmd,comfile,request); + com = lives_strdup_printf("%s \"%s\" %s 2>NUL", cmd, comfile, request); #endif lives_free(ext); @@ -259,9 +259,9 @@ #endif lives_free(comfile); - } else com=lives_strdup(request); - list_plugins=FALSE; - reslist=get_plugin_result(com,delim,allow_blanks); + } else com = lives_strdup(request); + list_plugins = FALSE; + reslist = get_plugin_result(com, delim, allow_blanks); lives_free(com); threaded_dialog_spin(0.); return reslist; @@ -280,49 +280,49 @@ // TODO - use enum for plugin_type - char *com,*tmp; + char *com, *tmp; LiVESList *pluglist; - const char *ext=(filter_ext==NULL)?"":filter_ext; + const char *ext = (filter_ext == NULL) ? "" : filter_ext; - if (!strcmp(plugin_type,PLUGIN_THEMES)) { + if (!strcmp(plugin_type, PLUGIN_THEMES)) { // must not allow_nonex, otherwise we get splash image etc (just want dirs) - com=lives_strdup_printf("%s list_plugins 0 1 \"%s%s\" \"\"",prefs->backend_sync,prefs->prefix_dir,THEME_DIR); - } else if (!strcmp(plugin_type,PLUGIN_RENDERED_EFFECTS_CUSTOM_SCRIPTS)|| - !strcmp(plugin_type,PLUGIN_RENDERED_EFFECTS_TEST_SCRIPTS)|| - !strcmp(plugin_type,PLUGIN_RENDERED_EFFECTS_CUSTOM)|| - !strcmp(plugin_type,PLUGIN_RENDERED_EFFECTS_TEST)|| - !strcmp(plugin_type,PLUGIN_COMPOUND_EFFECTS_CUSTOM) + com = lives_strdup_printf("%s list_plugins 0 1 \"%s%s\" \"\"", prefs->backend_sync, prefs->prefix_dir, THEME_DIR); + } else if (!strcmp(plugin_type, PLUGIN_RENDERED_EFFECTS_CUSTOM_SCRIPTS) || + !strcmp(plugin_type, PLUGIN_RENDERED_EFFECTS_TEST_SCRIPTS) || + !strcmp(plugin_type, PLUGIN_RENDERED_EFFECTS_CUSTOM) || + !strcmp(plugin_type, PLUGIN_RENDERED_EFFECTS_TEST) || + !strcmp(plugin_type, PLUGIN_COMPOUND_EFFECTS_CUSTOM) ) { // look in home - com=lives_strdup_printf("%s list_plugins %d 0 \"%s"LIVES_DIR_SEP"%s%s\" \"%s\"",prefs->backend_sync,allow_nonex,capable->home_dir, - LIVES_CONFIG_DIR,plugin_type,ext); - } else if (!strcmp(plugin_type,PLUGIN_THEMES_CUSTOM)) { - com=lives_strdup_printf("%s list_plugins 0 1 \"%s"LIVES_DIR_SEP"%s%s\"",prefs->backend_sync,capable->home_dir, - LIVES_CONFIG_DIR,PLUGIN_THEMES); - } else if (!strcmp(plugin_type,PLUGIN_EFFECTS_WEED)) { - com=lives_strdup_printf("%s list_plugins 1 1 \"%s\" \"%s\"",prefs->backend_sync, - (tmp=lives_filename_from_utf8((char *)plugdir,-1,NULL,NULL,NULL)),ext); + com = lives_strdup_printf("%s list_plugins %d 0 \"%s"LIVES_DIR_SEP"%s%s\" \"%s\"", prefs->backend_sync, allow_nonex, capable->home_dir, + LIVES_CONFIG_DIR, plugin_type, ext); + } else if (!strcmp(plugin_type, PLUGIN_THEMES_CUSTOM)) { + com = lives_strdup_printf("%s list_plugins 0 1 \"%s"LIVES_DIR_SEP"%s%s\"", prefs->backend_sync, capable->home_dir, + LIVES_CONFIG_DIR, PLUGIN_THEMES); + } else if (!strcmp(plugin_type, PLUGIN_EFFECTS_WEED)) { + com = lives_strdup_printf("%s list_plugins 1 1 \"%s\" \"%s\"", prefs->backend_sync, + (tmp = lives_filename_from_utf8((char *)plugdir, -1, NULL, NULL, NULL)), ext); lives_free(tmp); - } else if (!strcmp(plugin_type,PLUGIN_DECODERS)) { - com=lives_strdup_printf("%s list_plugins 1 0 \"%s\" \"%s\"",prefs->backend_sync, - (tmp=lives_filename_from_utf8((char *)plugdir,-1,NULL,NULL,NULL)),ext); + } else if (!strcmp(plugin_type, PLUGIN_DECODERS)) { + com = lives_strdup_printf("%s list_plugins 1 0 \"%s\" \"%s\"", prefs->backend_sync, + (tmp = lives_filename_from_utf8((char *)plugdir, -1, NULL, NULL, NULL)), ext); lives_free(tmp); - } else if (!strcmp(plugin_type,PLUGIN_RENDERED_EFFECTS_BUILTIN_SCRIPTS)) { - com=lives_strdup_printf("%s list_plugins %d 0 \"%s%s%s\" \"%s\"",prefs->backend_sync,allow_nonex,prefs->prefix_dir, - PLUGIN_SCRIPTS_DIR,plugin_type,ext); - } else if (!strcmp(plugin_type,PLUGIN_COMPOUND_EFFECTS_BUILTIN)) { - com=lives_strdup_printf("%s list_plugins %d 0 \"%s%s%s\" \"%s\"",prefs->backend_sync,allow_nonex,prefs->prefix_dir, - PLUGIN_COMPOUND_DIR,plugin_type,ext); + } else if (!strcmp(plugin_type, PLUGIN_RENDERED_EFFECTS_BUILTIN_SCRIPTS)) { + com = lives_strdup_printf("%s list_plugins %d 0 \"%s%s%s\" \"%s\"", prefs->backend_sync, allow_nonex, prefs->prefix_dir, + PLUGIN_SCRIPTS_DIR, plugin_type, ext); + } else if (!strcmp(plugin_type, PLUGIN_COMPOUND_EFFECTS_BUILTIN)) { + com = lives_strdup_printf("%s list_plugins %d 0 \"%s%s%s\" \"%s\"", prefs->backend_sync, allow_nonex, prefs->prefix_dir, + PLUGIN_COMPOUND_DIR, plugin_type, ext); } else { - com=lives_strdup_printf("%s list_plugins %d 0 \"%s%s%s\" \"%s\"",prefs->backend_sync,allow_nonex,prefs->lib_dir, - PLUGIN_EXEC_DIR,plugin_type,ext); + com = lives_strdup_printf("%s list_plugins %d 0 \"%s%s%s\" \"%s\"", prefs->backend_sync, allow_nonex, prefs->lib_dir, + PLUGIN_EXEC_DIR, plugin_type, ext); } - list_plugins=TRUE; + list_plugins = TRUE; //g_print("\n\n\nLIST CMD: %s\n",com); - pluglist=get_plugin_result(com,"|",FALSE); + pluglist = get_plugin_result(com, "|", FALSE); lives_free(com); threaded_dialog_spin(0.); return pluglist; @@ -362,56 +362,56 @@ const char *version; int i; char *msg; - int intzero=0; - double dblzero=0.; + int intzero = 0; + double dblzero = 0.; - if (mainw->vpp==NULL) { + if (mainw->vpp == NULL) { lives_rm(vpp_file); return; } - if ((fd=lives_open3(vpp_file,O_WRONLY|O_CREAT|O_TRUNC,S_IRUSR|S_IWUSR))==-1) { - msg=lives_strdup_printf(_("\n\nUnable to write video playback plugin defaults file\n%s\nError code %d\n"),vpp_file,errno); + if ((fd = lives_open3(vpp_file, O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR)) == -1) { + msg = lives_strdup_printf(_("\n\nUnable to write video playback plugin defaults file\n%s\nError code %d\n"), vpp_file, errno); LIVES_ERROR(msg); lives_free(msg); return; } - msg=lives_strdup_printf(_("Updating video playback plugin defaults in %s\n"),vpp_file); + msg = lives_strdup_printf(_("Updating video playback plugin defaults in %s\n"), vpp_file); LIVES_INFO(msg); lives_free(msg); - msg=lives_strdup("LiVES vpp defaults file version 2\n"); - if (!lives_write(fd,msg,strlen(msg),FALSE)) return; + msg = lives_strdup("LiVES vpp defaults file version 2\n"); + if (!lives_write(fd, msg, strlen(msg), FALSE)) return; lives_free(msg); - len=strlen(mainw->vpp->name); - if (lives_write_le(fd,&len,4,FALSE)<4) return; - if (lives_write(fd,mainw->vpp->name,len,FALSE)<len) return; - - version=(*mainw->vpp->version)(); - len=strlen(version); - if (lives_write_le(fd,&len,4,FALSE)<4) return; - if (lives_write(fd,version,len,FALSE)<len) return; - - if (lives_write_le(fd,&(mainw->vpp->palette),4,FALSE)<4) return; - if (lives_write_le(fd,&(mainw->vpp->YUV_sampling),4,FALSE)<4) return; - if (lives_write_le(fd,&(mainw->vpp->YUV_clamping),4,FALSE)<4) return; - if (lives_write_le(fd,&(mainw->vpp->YUV_subspace),4,FALSE)<4) return; - - if (lives_write_le(fd,mainw->vpp->fwidth<=0?&intzero:&(mainw->vpp->fwidth),4,FALSE)<4) return; - if (lives_write_le(fd,mainw->vpp->fheight<=0?&intzero:&(mainw->vpp->fheight),4,FALSE)<4) return; - - if (lives_write_le(fd,mainw->vpp->fixed_fpsd<=0.?&dblzero:&(mainw->vpp->fixed_fpsd),8,FALSE)<8) return; - if (lives_write_le(fd,mainw->vpp->fixed_fps_numer<=0?&intzero:&(mainw->vpp->fixed_fps_numer),4,FALSE)<4) return; - if (lives_write_le(fd,mainw->vpp->fixed_fps_denom<=0?&intzero:&(mainw->vpp->fixed_fps_denom),4,FALSE)<4) return; - - if (lives_write_le(fd,&(mainw->vpp->extra_argc),4,FALSE)<4) return; - - for (i=0; i<mainw->vpp->extra_argc; i++) { - len=strlen(mainw->vpp->extra_argv[i]); - if (lives_write_le(fd,&len,4,FALSE)<4) return; - if (lives_write(fd,mainw->vpp->extra_argv[i],len,FALSE)<len) return; + len = strlen(mainw->vpp->name); + if (lives_write_le(fd, &len, 4, FALSE) < 4) return; + if (lives_write(fd, mainw->vpp->name, len, FALSE) < len) return; + + version = (*mainw->vpp->version)(); + len = strlen(version); + if (lives_write_le(fd, &len, 4, FALSE) < 4) return; + if (lives_write(fd, version, len, FALSE) < len) return; + + if (lives_write_le(fd, &(mainw->vpp->palette), 4, FALSE) < 4) return; + if (lives_write_le(fd, &(mainw->vpp->YUV_sampling), 4, FALSE) < 4) return; + if (lives_write_le(fd, &(mainw->vpp->YUV_clamping), 4, FALSE) < 4) return; + if (lives_write_le(fd, &(mainw->vpp->YUV_subspace), 4, FALSE) < 4) return; + + if (lives_write_le(fd, mainw->vpp->fwidth <= 0 ? &intzero : & (mainw->vpp->fwidth), 4, FALSE) < 4) return; + if (lives_write_le(fd, mainw->vpp->fheight <= 0 ? &intzero : & (mainw->vpp->fheight), 4, FALSE) < 4) return; + + if (lives_write_le(fd, mainw->vpp->fixed_fpsd <= 0. ? &dblzero : & (mainw->vpp->fixed_fpsd), 8, FALSE) < 8) return; + if (lives_write_le(fd, mainw->vpp->fixed_fps_numer <= 0 ? &intzero : & (mainw->vpp->fixed_fps_numer), 4, FALSE) < 4) return; + if (lives_write_le(fd, mainw->vpp->fixed_fps_denom <= 0 ? &intzero : & (mainw->vpp->fixed_fps_denom), 4, FALSE) < 4) return; + + if (lives_write_le(fd, &(mainw->vpp->extra_argc), 4, FALSE) < 4) return; + + for (i = 0; i < mainw->vpp->extra_argc; i++) { + len = strlen(mainw->vpp->extra_argv[i]); + if (lives_write_le(fd, &len, 4, FALSE) < 4) return; + if (lives_write(fd, mainw->vpp->extra_argv[i], len, FALSE) < len) return; } close(fd); @@ -432,34 +432,34 @@ register int i; - if (!lives_file_test(vpp_file,LIVES_FILE_TEST_EXISTS)) { + if (!lives_file_test(vpp_file, LIVES_FILE_TEST_EXISTS)) { return; } - d_print(_("Loading video playback plugin defaults from %s..."),vpp_file); + d_print(_("Loading video playback plugin defaults from %s..."), vpp_file); do { - retval=0; - if ((fd=lives_open2(vpp_file,O_RDONLY))==-1) { - retval=do_read_failed_error_s_with_retry(vpp_file,lives_strerror(errno),NULL); - if (retval==LIVES_RESPONSE_CANCEL) { - mainw->vpp=NULL; + retval = 0; + if ((fd = lives_open2(vpp_file, O_RDONLY)) == -1) { + retval = do_read_failed_error_s_with_retry(vpp_file, lives_strerror(errno), NULL); + if (retval == LIVES_RESPONSE_CANCEL) { + mainw->vpp = NULL; return; } } else { do { // only do this loop once, so we can use break to escape it - mainw->read_failed=FALSE; - msg=lives_strdup("LiVES vpp defaults file version 2\n"); - len=lives_read(fd,buf,strlen(msg),FALSE); - if (len<0) len=0; - memset(buf+len,0,1); + mainw->read_failed = FALSE; + msg = lives_strdup("LiVES vpp defaults file version 2\n"); + len = lives_read(fd, buf, strlen(msg), FALSE); + if (len < 0) len = 0; + memset(buf + len, 0, 1); if (mainw->read_failed) break; // identifier string - if (strcmp(msg,buf)) { + if (strcmp(msg, buf)) { lives_free(msg); d_print_file_error_failed(); close(fd); @@ -468,14 +468,14 @@ lives_free(msg); // plugin name - lives_read_le(fd,&len,4,FALSE); + lives_read_le(fd, &len, 4, FALSE); if (mainw->read_failed) break; - lives_read(fd,buf,len,FALSE); - memset(buf+len,0,1); + lives_read(fd, buf, len, FALSE); + memset(buf + len, 0, 1); if (mainw->read_failed) break; - if (strcmp(buf,mainw->vpp->name)) { + if (strcmp(buf, mainw->vpp->name)) { d_print_file_error_failed(); close(fd); return; @@ -483,20 +483,20 @@ // version string - version=(*mainw->vpp->version)(); - lives_read_le(fd,&len,4,FALSE); + version = (*mainw->vpp->version)(); + lives_read_le(fd, &len, 4, FALSE); if (mainw->read_failed) break; - lives_read(fd,buf,len,FALSE); + lives_read(fd, buf, len, FALSE); if (mainw->read_failed) break; - memset(buf+len,0,1); + memset(buf + len, 0, 1); - if (strcmp(buf,version)) { - msg=lives_strdup_printf( - _("\nThe %s video playback plugin has been updated.\nPlease check your settings in\n" - "Tools|Preferences|Playback|Playback Plugins Advanced\n\n"), - mainw->vpp->name); + if (strcmp(buf, version)) { + msg = lives_strdup_printf( + _("\nThe %s video playback plugin has been updated.\nPlease check your settings in\n" + "Tools|Preferences|Playback|Playback Plugins Advanced\n\n"), + mainw->vpp->name); do_error_dialog(msg); lives_free(msg); lives_rm(vpp_file); @@ -506,57 +506,57 @@ } - lives_read_le(fd,&(mainw->vpp->palette),4,FALSE); - lives_read_le(fd,&(mainw->vpp->YUV_sampling),4,FALSE); - lives_read_le(fd,&(mainw->vpp->YUV_clamping),4,FALSE); - lives_read_le(fd,&(mainw->vpp->YUV_subspace),4,FALSE); - lives_read_le(fd,&(mainw->vpp->fwidth),4,FALSE); - lives_read_le(fd,&(mainw->vpp->fheight),4,FALSE); - lives_read_le(fd,&(mainw->vpp->fixed_fpsd),8,FALSE); - lives_read_le(fd,&(mainw->vpp->fixed_fps_numer),4,FALSE); - lives_read_le(fd,&(mainw->vpp->fixed_fps_denom),4,FALSE); + lives_read_le(fd, &(mainw->vpp->palette), 4, FALSE); + lives_read_le(fd, &(mainw->vpp->YUV_sampling), 4, FALSE); + lives_read_le(fd, &(mainw->vpp->YUV_clamping), 4, FALSE); + lives_read_le(fd, &(mainw->vpp->YUV_subspace), 4, FALSE); + lives_read_le(fd, &(mainw->vpp->fwidth), 4, FALSE); + lives_read_le(fd, &(mainw->vpp->fheight), 4, FALSE); + lives_read_le(fd, &(mainw->vpp->fixed_fpsd), 8, FALSE); + lives_read_le(fd, &(mainw->vpp->fixed_fps_numer), 4, FALSE); + lives_read_le(fd, &(mainw->vpp->fixed_fps_denom), 4, FALSE); if (mainw->read_failed) break; - lives_read_le(fd,&(mainw->vpp->extra_argc),4,FALSE); + lives_read_le(fd, &(mainw->vpp->extra_argc), 4, FALSE); if (mainw->read_failed) break; - if (vpp->extra_argv!=NULL) { - for (i=0; vpp->extra_argv[i]!=NULL; i++) { + if (vpp->extra_argv != NULL) { + for (i = 0; vpp->extra_argv[i] != NULL; i++) { lives_free(vpp->extra_argv[i]); } lives_free(vpp->extra_argv); } - mainw->vpp->extra_argv=(char **)lives_malloc((mainw->vpp->extra_argc+1)*(sizeof(char *))); + mainw->vpp->extra_argv = (char **)lives_malloc((mainw->vpp->extra_argc + 1) * (sizeof(char *))); - for (i=0; i<mainw->vpp->extra_argc; i++) { - lives_read_le(fd,&len,4,FALSE); + for (i = 0; i < mainw->vpp->extra_argc; i++) { + lives_read_le(fd, &len, 4, FALSE); if (mainw->read_failed) break; - mainw->vpp->extra_argv[i]=(char *)lives_malloc(len+1); - lives_read(fd,mainw->vpp->extra_argv[i],len,FALSE); + mainw->vpp->extra_argv[i] = (char *)lives_malloc(len + 1); + lives_read(fd, mainw->vpp->extra_argv[i], len, FALSE); if (mainw->read_failed) break; - memset((mainw->vpp->extra_argv[i])+len,0,1); + memset((mainw->vpp->extra_argv[i]) + len, 0, 1); } - mainw->vpp->extra_argv[i]=NULL; + mainw->vpp->extra_argv[i] = NULL; close(fd); } while (FALSE); if (mainw->read_failed) { close(fd); - retval=do_read_failed_error_s_with_retry(vpp_file,NULL,NULL); - if (retval==LIVES_RESPONSE_CANCEL) { - mainw->read_failed=FALSE; - mainw->vpp=NULL; + retval = do_read_failed_error_s_with_retry(vpp_file, NULL, NULL); + if (retval == LIVES_RESPONSE_CANCEL) { + mainw->read_failed = FALSE; + mainw->vpp = NULL; d_print_file_error_failed(); return; } } } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); d_print_done(); @@ -564,24 +564,24 @@ void on_vppa_cancel_clicked(LiVESButton *button, livespointer user_data) { - _vppaw *vppw=(_vppaw *)user_data; - _vid_playback_plugin *vpp=vppw->plugin; + _vppaw *vppw = (_vppaw *)user_data; + _vid_playback_plugin *vpp = vppw->plugin; lives_widget_destroy(vppw->dialog); lives_widget_context_update(); - if (vpp!=NULL&&vpp!=mainw->vpp) { + if (vpp != NULL && vpp != mainw->vpp) { // close the temp current vpp close_vid_playback_plugin(vpp); } - if (vppw->rfx!=NULL) { + if (vppw->rfx != NULL) { rfx_free(vppw->rfx); lives_free(vppw->rfx); } lives_free(vppw); - if (prefsw!=NULL) { + if (prefsw != NULL) { lives_window_present(LIVES_WINDOW(prefsw->prefs_dialog)); lives_xwindow_raise(lives_widget_get_xwindow(prefsw->prefs_dialog)); } @@ -589,128 +589,126 @@ void on_vppa_ok_clicked(LiVESButton *button, livespointer user_data) { - _vppaw *vppw=(_vppaw *)user_data; - const char *fixed_fps=NULL; - char *cur_pal=NULL; + _vppaw *vppw = (_vppaw *)user_data; + const char *fixed_fps = NULL; + char *cur_pal = NULL; const char *tmp; - int *pal_list,i=0; + int *pal_list, i = 0; - uint64_t xwinid=0; + uint64_t xwinid = 0; - _vid_playback_plugin *vpp=vppw->plugin; + _vid_playback_plugin *vpp = vppw->plugin; - if (vpp==mainw->vpp) { - if (vppw->spinbuttonw!=NULL) mainw->vpp->fwidth=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(vppw->spinbuttonw)); - if (vppw->spinbuttonh!=NULL) mainw->vpp->fheight=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(vppw->spinbuttonh)); - if (vppw->fps_entry!=NULL) fixed_fps=lives_entry_get_text(LIVES_ENTRY(vppw->fps_entry)); - if (vppw->pal_entry!=NULL) { - cur_pal=lives_strdup(lives_entry_get_text(LIVES_ENTRY(vppw->pal_entry))); - - if (get_token_count(cur_pal,' ')>1) { - char **array=lives_strsplit(cur_pal," ",2); - char *clamping=lives_strdup(array[1]+1); + if (vpp == mainw->vpp) { + if (vppw->spinbuttonw != NULL) mainw->vpp->fwidth = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(vppw->spinbuttonw)); + if (vppw->spinbuttonh != NULL) mainw->vpp->fheight = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(vppw->spinbuttonh)); + if (vppw->fps_entry != NULL) fixed_fps = lives_entry_get_text(LIVES_ENTRY(vppw->fps_entry)); + if (vppw->pal_entry != NULL) { + cur_pal = lives_strdup(lives_entry_get_text(LIVES_ENTRY(vppw->pal_entry))); + + if (get_token_count(cur_pal, ' ') > 1) { + char **array = lives_strsplit(cur_pal, " ", 2); + char *clamping = lives_strdup(array[1] + 1); lives_free(cur_pal); - cur_pal=lives_strdup(array[0]); - memset(clamping+strlen(clamping)-1,0,1); + cur_pal = lives_strdup(array[0]); + memset(clamping + strlen(clamping) - 1, 0, 1); do { - tmp=weed_yuv_clamping_get_name(i); - if (tmp!=NULL&&!strcmp(clamping,tmp)) { - vpp->YUV_clamping=i; + tmp = weed_yuv_clamping_get_name(i); + if (tmp != NULL && !strcmp(clamping, tmp)) { + vpp->YUV_clamping = i; break; } i++; - } while (tmp!=NULL); + } while (tmp != NULL); lives_strfreev(array); lives_free(clamping); } } - if (vppw->fps_entry!=NULL) { + if (vppw->fps_entry != NULL) { if (!strlen(fixed_fps)) { - mainw->vpp->fixed_fpsd=-1.; - mainw->vpp->fixed_fps_numer=0; + mainw->vpp->fixed_fpsd = -1.; + mainw->vpp->fixed_fps_numer = 0; } else { - if (get_token_count((char *)fixed_fps,':')>1) { - char **array=lives_strsplit(fixed_fps,":",2); - mainw->vpp->fixed_fps_numer=atoi(array[0]); - mainw->vpp->fixed_fps_denom=atoi(array[1]); + if (get_token_count((char *)fixed_fps, ':') > 1) { + char **array = lives_strsplit(fixed_fps, ":", 2); + mainw->vpp->fixed_fps_numer = atoi(array[0]); + mainw->vpp->fixed_fps_denom = atoi(array[1]); lives_strfreev(array); - mainw->vpp->fixed_fpsd=get_ratio_fps((char *)fixed_fps); + mainw->vpp->fixed_fpsd = get_ratio_fps((char *)fixed_fps); } else { - mainw->vpp->fixed_fpsd=lives_strtod(fixed_fps,NULL); - mainw->vpp->fixed_fps_numer=0; + mainw->vpp->fixed_fpsd = lives_strtod(fixed_fps, NULL); + mainw->vpp->fixed_fps_numer = 0; } } } else { - mainw->vpp->fixed_fpsd=-1.; - mainw->vpp->fixed_fps_numer=0; + mainw->vpp->fixed_fpsd = -1.; + mainw->vpp->fixed_fps_numer = 0; } - if (mainw->vpp->fixed_fpsd>0.&&(mainw->fixed_fpsd>0.|| - (mainw->vpp->set_fps!=NULL&& - !((*mainw->vpp->set_fps)(mainw->vpp->fixed_fpsd))))) { + if (mainw->vpp->fixed_fpsd > 0. && (mainw->fixed_fpsd > 0. || + (mainw->vpp->set_fps != NULL && + !((*mainw->vpp->set_fps)(mainw->vpp->fixed_fpsd))))) { do_vpp_fps_error(); - mainw->error=TRUE; - mainw->vpp->fixed_fpsd=-1.; - mainw->vpp->fixed_fps_numer=0; + mainw->error = TRUE; + mainw->vpp->fixed_fpsd = -1.; + mainw->vpp->fixed_fps_numer = 0; } - if (vppw->pal_entry!=NULL) { - if (vpp->get_palette_list!=NULL&&(pal_list=(*vpp->get_palette_list)())!=NULL) { - for (i=0; pal_list[i]!=WEED_PALETTE_END; i++) { - if (!strcmp(cur_pal,weed_palette_get_name(pal_list[i]))) { - vpp->palette=pal_list[i]; + if (vppw->pal_entry != NULL) { + if (vpp->get_palette_list != NULL && (pal_list = (*vpp->get_palette_list)()) != NULL) { + for (i = 0; pal_list[i] != WEED_PALETTE_END; i++) { + if (!strcmp(cur_pal, weed_palette_get_name(pal_list[i]))) { + vpp->palette = pal_list[i]; if (mainw->ext_playback) { lives_grab_remove(mainw->LiVES); - mainw->ext_keyboard=FALSE; - if (mainw->vpp->exit_screen!=NULL) { - (*mainw->vpp->exit_screen)(mainw->ptr_x,mainw->ptr_y); + mainw->ext_keyboard = FALSE; + if (mainw->vpp->exit_screen != NULL) { + (*mainw->vpp->exit_screen)(mainw->ptr_x, mainw->ptr_y); } #ifdef RT_AUDIO stop_audio_stream(); #endif - mainw->stream_ticks=-1; - mainw->vpp->palette=pal_list[i]; + mainw->stream_ticks = -1; + mainw->vpp->palette = pal_list[i]; if (!(*vpp->set_palette)(vpp->palette)) { do_vpp_palette_error(); - mainw->error=TRUE; + mainw->error = TRUE; } - if (prefs->play_monitor!=0) { - if (mainw->play_window!=NULL) { - xwinid=lives_widget_get_xwinid(mainw->play_window,"Unsupported display type for playback plugin"); - if (xwinid==-1) return; + if (prefs->play_monitor != 0) { + if (mainw->play_window != NULL) { + xwinid = lives_widget_get_xwinid(mainw->play_window, "Unsupported display type for playback plugin"); + if (xwinid == -1) return; } } #ifdef RT_AUDIO - if (vpp->set_yuv_palette_clamping!=NULL)(*vpp->set_yuv_palette_clamping)(vpp->YUV_clamping); + if (vpp->set_yuv_palette_clamping != NULL)(*vpp->set_yuv_palette_clamping)(vpp->YUV_clamping); - if (mainw->vpp->audio_codec!=AUDIO_CODEC_NONE&&prefs->stream_audio_out) { + if (mainw->vpp->audio_codec != AUDIO_CODEC_NONE && prefs->stream_audio_out) { start_audio_stream(); } #endif - - - if (vpp->init_screen!=NULL) { - (*vpp->init_screen)(mainw->pwidth,mainw->pheight,TRUE,xwinid,vpp->extra_argc,vpp->extra_argv); + if (vpp->init_screen != NULL) { + (*vpp->init_screen)(mainw->pwidth, mainw->pheight, TRUE, xwinid, vpp->extra_argc, vpp->extra_argv); } - if (mainw->vpp->capabilities&VPP_LOCAL_DISPLAY&&prefs->play_monitor==0) { - lives_window_set_keep_below(LIVES_WINDOW(mainw->play_window),TRUE); - mainw->ext_keyboard=TRUE; - lives_grab_add(mainw->LiVES); + if (mainw->vpp->capabilities & VPP_LOCAL_DISPLAY && prefs->play_monitor == 0) { + lives_window_set_keep_below(LIVES_WINDOW(mainw->play_window), TRUE); + mainw->ext_keyboard = TRUE; + lives_grab_add(LIVES_MAIN_WINDOW_WIDGET); } } else { - mainw->vpp->palette=pal_list[i]; + mainw->vpp->palette = pal_list[i]; if (!(*vpp->set_palette)(vpp->palette)) { do_vpp_palette_error(); - mainw->error=TRUE; + mainw->error = TRUE; } - if (vpp->set_yuv_palette_clamping!=NULL)(*vpp->set_yuv_palette_clamping)(vpp->YUV_clamping); + if (vpp->set_yuv_palette_clamping != NULL)(*vpp->set_yuv_palette_clamping)(vpp->YUV_clamping); } break; } @@ -718,117 +716,117 @@ } lives_free(cur_pal); } - if (vpp->extra_argv!=NULL) { - for (i=0; vpp->extra_argv[i]!=NULL; i++) lives_free(vpp->extra_argv[i]); + if (vpp->extra_argv != NULL) { + for (i = 0; vpp->extra_argv[i] != NULL; i++) lives_free(vpp->extra_argv[i]); lives_free(vpp->extra_argv); - vpp->extra_argv=NULL; + vpp->extra_argv = NULL; } - vpp->extra_argc=0; - if (vppw->rfx!=NULL) { - vpp->extra_argv=param_marshall_to_argv(vppw->rfx); - for (i=0; vpp->extra_argv[i]!=NULL; vpp->extra_argc=++i); + vpp->extra_argc = 0; + if (vppw->rfx != NULL) { + vpp->extra_argv = param_marshall_to_argv(vppw->rfx); + for (i = 0; vpp->extra_argv[i] != NULL; vpp->extra_argc = ++i); } - mainw->write_vpp_file=TRUE; + mainw->write_vpp_file = TRUE; } else { - if (vppw->spinbuttonw!=NULL) - future_prefs->vpp_fwidth=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(vppw->spinbuttonw)); - else future_prefs->vpp_fwidth=-1; - if (vppw->spinbuttonh!=NULL) - future_prefs->vpp_fheight=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(vppw->spinbuttonh)); - else future_prefs->vpp_fheight=-1; - if (vppw->fps_entry!=NULL) fixed_fps=lives_entry_get_text(LIVES_ENTRY(vppw->fps_entry)); - if (vppw->pal_entry!=NULL) { - cur_pal=lives_strdup(lives_entry_get_text(LIVES_ENTRY(vppw->pal_entry))); - - if (get_token_count(cur_pal,' ')>1) { - char **array=lives_strsplit(cur_pal," ",2); - char *clamping=lives_strdup(array[1]+1); + if (vppw->spinbuttonw != NULL) + future_prefs->vpp_fwidth = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(vppw->spinbuttonw)); + else future_prefs->vpp_fwidth = -1; + if (vppw->spinbuttonh != NULL) + future_prefs->vpp_fheight = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(vppw->spinbuttonh)); + else future_prefs->vpp_fheight = -1; + if (vppw->fps_entry != NULL) fixed_fps = lives_entry_get_text(LIVES_ENTRY(vppw->fps_entry)); + if (vppw->pal_entry != NULL) { + cur_pal = lives_strdup(lives_entry_get_text(LIVES_ENTRY(vppw->pal_entry))); + + if (get_token_count(cur_pal, ' ') > 1) { + char **array = lives_strsplit(cur_pal, " ", 2); + char *clamping = lives_strdup(array[1] + 1); lives_free(cur_pal); - cur_pal=lives_strdup(array[0]); - memset(clamping+strlen(clamping)-1,0,1); + cur_pal = lives_strdup(array[0]); + memset(clamping + strlen(clamping) - 1, 0, 1); do { - tmp=weed_yuv_clamping_get_name(i); - if (tmp!=NULL&&!strcmp(clamping,tmp)) { - future_prefs->vpp_YUV_clamping=i; + tmp = weed_yuv_clamping_get_name(i); + if (tmp != NULL && !strcmp(clamping, tmp)) { + future_prefs->vpp_YUV_clamping = i; break; } i++; - } while (tmp!=NULL); + } while (tmp != NULL); lives_strfreev(array); lives_free(clamping); } } - if (fixed_fps!=NULL) { - if (get_token_count((char *)fixed_fps,':')>1) { - char **array=lives_strsplit(fixed_fps,":",2); - future_prefs->vpp_fixed_fps_numer=atoi(array[0]); - future_prefs->vpp_fixed_fps_denom=atoi(array[1]); + if (fixed_fps != NULL) { + if (get_token_count((char *)fixed_fps, ':') > 1) { + char **array = lives_strsplit(fixed_fps, ":", 2); + future_prefs->vpp_fixed_fps_numer = atoi(array[0]); + future_prefs->vpp_fixed_fps_denom = atoi(array[1]); lives_strfreev(array); - future_prefs->vpp_fixed_fpsd=get_ratio_fps((char *)fixed_fps); + future_prefs->vpp_fixed_fpsd = get_ratio_fps((char *)fixed_fps); } else { - future_prefs->vpp_fixed_fpsd=lives_strtod(fixed_fps,NULL); - future_prefs->vpp_fixed_fps_numer=0; + future_prefs->vpp_fixed_fpsd = lives_strtod(fixed_fps, NULL); + future_prefs->vpp_fixed_fps_numer = 0; } } else { - future_prefs->vpp_fixed_fpsd=-1.; - future_prefs->vpp_fixed_fps_numer=0; + future_prefs->vpp_fixed_fpsd = -1.; + future_prefs->vpp_fixed_fps_numer = 0; } - if (cur_pal!=NULL) { - if (vpp->get_palette_list!=NULL&&(pal_list=(*vpp->get_palette_list)())!=NULL) { - for (i=0; pal_list[i]!=WEED_PALETTE_END; i++) { - if (!strcmp(cur_pal,weed_palette_get_name(pal_list[i]))) { - future_prefs->vpp_palette=pal_list[i]; + if (cur_pal != NULL) { + if (vpp->get_palette_list != NULL && (pal_list = (*vpp->get_palette_list)()) != NULL) { + for (i = 0; pal_list[i] != WEED_PALETTE_END; i++) { + if (!strcmp(cur_pal, weed_palette_get_name(pal_list[i]))) { + future_prefs->vpp_palette = pal_list[i]; break; } } } lives_free(cur_pal); - } else future_prefs->vpp_palette=WEED_PALETTE_END; + } else future_prefs->vpp_palette = WEED_PALETTE_END; - if (future_prefs->vpp_argv!=NULL) { - for (i=0; future_prefs->vpp_argv[i]!=NULL; i++) lives_free(future_prefs->vpp_argv[i]); + if (future_prefs->vpp_argv != NULL) { + for (i = 0; future_prefs->vpp_argv[i] != NULL; i++) lives_free(future_prefs->vpp_argv[i]); lives_free(future_prefs->vpp_argv); - future_prefs->vpp_argv=NULL; + future_prefs->vpp_argv = NULL; } - future_prefs->vpp_argc=0; - if (vppw->rfx!=NULL) { - future_prefs->vpp_argv=param_marshall_to_argv(vppw->rfx); - if (future_prefs->vpp_argv!=NULL) { - for (i=0; future_prefs->vpp_argv[i]!=NULL; future_prefs->vpp_argc=++i); + future_prefs->vpp_argc = 0; + if (vppw->rfx != NULL) { + future_prefs->vpp_argv = param_marshall_to_argv(vppw->rfx); + if (future_prefs->vpp_argv != NULL) { + for (i = 0; future_prefs->vpp_argv[i] != NULL; future_prefs->vpp_argc = ++i); } } else { - future_prefs->vpp_argv=vpp->extra_argv; - vpp->extra_argv=NULL; - vpp->extra_argc=0; + future_prefs->vpp_argv = vpp->extra_argv; + vpp->extra_argv = NULL; + vpp->extra_argc = 0; } } - if (button!=NULL&&!mainw->error) on_vppa_cancel_clicked(button,user_data); - if (button!=NULL) mainw->error=FALSE; + if (button != NULL && !mainw->error) on_vppa_cancel_clicked(button, user_data); + if (button != NULL) mainw->error = FALSE; } void on_vppa_save_clicked(LiVESButton *button, livespointer user_data) { - _vppaw *vppw=(_vppaw *)user_data; - _vid_playback_plugin *vpp=vppw->plugin; + _vppaw *vppw = (_vppaw *)user_data; + _vid_playback_plugin *vpp = vppw->plugin; char *save_file; // apply - mainw->error=FALSE; - on_vppa_ok_clicked(NULL,user_data); + mainw->error = FALSE; + on_vppa_ok_clicked(NULL, user_data); if (mainw->error) { - mainw->error=FALSE; + mainw->error = FALSE; return; } // get filename - save_file=choose_file(NULL,NULL,NULL,LIVES_FILE_CHOOSER_ACTION_SAVE,NULL,NULL); - if (save_file==NULL) return; + save_file = choose_file(NULL, NULL, NULL, LIVES_FILE_CHOOSER_ACTION_SAVE, NULL, NULL); + if (save_file == NULL) return; // save - d_print(_("Saving playback plugin defaults to %s..."),save_file); + d_print(_("Saving playback plugin defaults to %s..."), save_file); save_vpp_defaults(vpp, save_file); d_print_done(); lives_free(save_file); @@ -856,8 +854,8 @@ int *pal_list; - LiVESList *fps_list_strings=NULL; - LiVESList *pal_list_strings=NULL; + LiVESList *fps_list_strings = NULL; + LiVESList *pal_list_strings = NULL; const char *string; const char *pversion; @@ -865,91 +863,87 @@ const char *fps_list; char *title; - char *tmp,*tmp2; + char *tmp, *tmp2; - char *ctext=NULL; + char *ctext = NULL; char *com; // TODO - set default values from tmpvpp if (strlen(future_prefs->vpp_name)) { - if ((tmpvpp=open_vid_playback_plugin(future_prefs->vpp_name, FALSE))==NULL) return NULL; + if ((tmpvpp = open_vid_playback_plugin(future_prefs->vpp_name, FALSE)) == NULL) return NULL; } else { - if (mainw->vpp==NULL) return NULL; - tmpvpp=mainw->vpp; + if (mainw->vpp == NULL) return NULL; + tmpvpp = mainw->vpp; } - vppa=(_vppaw *)(lives_malloc(sizeof(_vppaw))); + vppa = (_vppaw *)(lives_malloc(sizeof(_vppaw))); - vppa->plugin=tmpvpp; + vppa->plugin = tmpvpp; - vppa->spinbuttonh=vppa->spinbuttonw=NULL; - vppa->pal_entry=vppa->fps_entry=NULL; + vppa->spinbuttonh = vppa->spinbuttonw = NULL; + vppa->pal_entry = vppa->fps_entry = NULL; - pversion=(tmpvpp->version)(); + pversion = (tmpvpp->version)(); - title=lives_strdup_printf("%s",pversion); + title = lives_strdup_printf("%s", pversion); - vppa->dialog = lives_standard_dialog_new(title,FALSE,DEF_DIALOG_WIDTH,DEF_DIALOG_HEIGHT); + vppa->dialog = lives_standard_dialog_new(title, FALSE, DEF_DIALOG_WIDTH, DEF_DIALOG_HEIGHT); lives_free(title); accel_group = LIVES_ACCEL_GROUP(lives_accel_group_new()); lives_window_add_accel_group(LIVES_WINDOW(vppa->dialog), accel_group); if (prefs->show_gui) { - if (prefsw!=NULL) lives_window_set_transient_for(LIVES_WINDOW(vppa->dialog),LIVES_WINDOW(prefsw->prefs_dialog)); - else { - if (mainw->multitrack==NULL) lives_window_set_transient_for(LIVES_WINDOW(vppa->dialog),LIVES_WINDOW(mainw->LiVES)); - else lives_window_set_transient_for(LIVES_WINDOW(vppa->dialog),LIVES_WINDOW(mainw->multitrack->window)); - } + lives_window_set_transient_for(LIVES_WINDOW(vppa->dialog), get_transient_full()); } dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(vppa->dialog)); // the filling... - if (tmpvpp->get_description!=NULL) { - desc=(tmpvpp->get_description)(); - if (desc!=NULL) { + if (tmpvpp->get_description != NULL) { + desc = (tmpvpp->get_description)(); + if (desc != NULL) { label = lives_standard_label_new(desc); lives_box_pack_start(LIVES_BOX(dialog_vbox), label, FALSE, FALSE, widget_opts.packing_height); } } - if (tmpvpp->get_fps_list!=NULL&&(fps_list=(*tmpvpp->get_fps_list)(tmpvpp->palette))!=NULL) { - int nfps,i; - char **array=lives_strsplit(fps_list,"|",-1); - - nfps=get_token_count((char *)fps_list,'|'); - for (i=0; i<nfps; i++) { - if (strlen(array[i])&&strcmp(array[i],"\n")) { - if (get_token_count(array[i],':')==0) { - fps_list_strings=lives_list_append(fps_list_strings, remove_trailing_zeroes(lives_strtod(array[i],NULL))); - } else fps_list_strings=lives_list_append(fps_list_strings,lives_strdup(array[i])); + if (tmpvpp->get_fps_list != NULL && (fps_list = (*tmpvpp->get_fps_list)(tmpvpp->palette)) != NULL) { + int nfps, i; + char **array = lives_strsplit(fps_list, "|", -1); + + nfps = get_token_count((char *)fps_list, '|'); + for (i = 0; i < nfps; i++) { + if (strlen(array[i]) && strcmp(array[i], "\n")) { + if (get_token_count(array[i], ':') == 0) { + fps_list_strings = lives_list_append(fps_list_strings, remove_trailing_zeroes(lives_strtod(array[i], NULL))); + } else fps_list_strings = lives_list_append(fps_list_strings, lives_strdup(array[i])); } } // fps - combo = lives_standard_combo_new((tmp=lives_strdup(_("_FPS"))),TRUE,fps_list_strings, - LIVES_BOX(dialog_vbox),(tmp2=lives_strdup(_("Fixed framerate for plugin.\n")))); + combo = lives_standard_combo_new((tmp = lives_strdup(_("_FPS"))), TRUE, fps_list_strings, + LIVES_BOX(dialog_vbox), (tmp2 = lives_strdup(_("Fixed framerate for plugin.\n")))); lives_free(tmp); lives_free(tmp2); - vppa->fps_entry=lives_combo_get_entry(LIVES_COMBO(combo)); + vppa->fps_entry = lives_combo_get_entry(LIVES_COMBO(combo)); lives_entry_set_width_chars(LIVES_ENTRY(lives_combo_get_entry(LIVES_COMBO(combo))), SPBWIDTHCHARS); lives_list_free_all(&fps_list_strings); lives_strfreev(array); - if (tmpvpp->fixed_fps_numer>0) { - char *tmp=lives_strdup_printf("%d:%d",tmpvpp->fixed_fps_numer,tmpvpp->fixed_fps_denom); - lives_entry_set_text(LIVES_ENTRY(vppa->fps_entry),tmp); + if (tmpvpp->fixed_fps_numer > 0) { + char *tmp = lives_strdup_printf("%d:%d", tmpvpp->fixed_fps_numer, tmpvpp->fixed_fps_denom); + lives_entry_set_text(LIVES_ENTRY(vppa->fps_entry), tmp); lives_free(tmp); } else { - char *tmp=remove_trailing_zeroes(tmpvpp->fixed_fpsd); - lives_entry_set_text(LIVES_ENTRY(vppa->fps_entry),tmp); + char *tmp = remove_trailing_zeroes(tmpvpp->fixed_fpsd); + lives_entry_set_text(LIVES_ENTRY(vppa->fps_entry), tmp); lives_free(tmp); } } @@ -957,21 +951,21 @@ // frame size - if (!(tmpvpp->capabilities&VPP_LOCAL_DISPLAY)) { + if (!(tmpvpp->capabilities & VPP_LOCAL_DISPLAY)) { hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, FALSE, FALSE, widget_opts.packing_height); add_fill_to_box(LIVES_BOX(hbox)); - vppa->spinbuttonw = lives_standard_spin_button_new(_("_Width"),TRUE, - tmpvpp->fwidth>0?tmpvpp->fwidth:DEF_VPP_HSIZE, - 4., MAX_FRAME_WIDTH, 4., 4., 0, LIVES_BOX(hbox),NULL); + vppa->spinbuttonw = lives_standard_spin_button_new(_("_Width"), TRUE, + tmpvpp->fwidth > 0 ? tmpvpp->fwidth : DEF_VPP_HSIZE, + 4., MAX_FRAME_WIDTH, 4., 4., 0, LIVES_BOX(hbox), NULL); add_fill_to_box(LIVES_BOX(hbox)); - vppa->spinbuttonh = lives_standard_spin_button_new(_("_Height"),TRUE, - tmpvpp->fheight>0?tmpvpp->fheight:DEF_VPP_VSIZE, - 4., MAX_FRAME_HEIGHT, 4., 4., 0, LIVES_BOX(hbox),NULL); + vppa->spinbuttonh = lives_standard_spin_button_new(_("_Height"), TRUE, + tmpvpp->fheight > 0 ? tmpvpp->fheight : DEF_VPP_VSIZE, + 4., MAX_FRAME_HEIGHT, 4., 4., 0, LIVES_BOX(hbox), NULL); add_fill_to_box(LIVES_BOX(hbox)); } @@ -979,78 +973,78 @@ // palette - if (tmpvpp->get_palette_list!=NULL&&(pal_list=(*tmpvpp->get_palette_list)())!=NULL) { + if (tmpvpp->get_palette_list != NULL && (pal_list = (*tmpvpp->get_palette_list)()) != NULL) { int i; - for (i=0; pal_list[i]!=WEED_PALETTE_END; i++) { - int j=0; - string=weed_palette_get_name(pal_list[i]); - if (weed_palette_is_yuv_palette(pal_list[i])&&tmpvpp->get_yuv_palette_clamping!=NULL) { - int *clampings=(*tmpvpp->get_yuv_palette_clamping)(pal_list[i]); - while (clampings[j]!=-1) { - char *string2=lives_strdup_printf("%s (%s)",string,weed_yuv_clamping_get_name(clampings[j])); - pal_list_strings=lives_list_append(pal_list_strings, string2); + for (i = 0; pal_list[i] != WEED_PALETTE_END; i++) { + int j = 0; + string = weed_palette_get_name(pal_list[i]); + if (weed_palette_is_yuv_palette(pal_list[i]) && tmpvpp->get_yuv_palette_clamping != NULL) { + int *clampings = (*tmpvpp->get_yuv_palette_clamping)(pal_list[i]); + while (clampings[j] != -1) { + char *string2 = lives_strdup_printf("%s (%s)", string, weed_yuv_clamping_get_name(clampings[j])); + pal_list_strings = lives_list_append(pal_list_strings, string2); j++; } } - if (j==0) { - pal_list_strings=lives_list_append(pal_list_strings, lives_strdup(string)); + if (j == 0) { + pal_list_strings = lives_list_append(pal_list_strings, lives_strdup(string)); } } - combo = lives_standard_combo_new((tmp=lives_strdup(_("_Colourspace"))),TRUE,pal_list_strings, - LIVES_BOX(dialog_vbox),tmp2=lives_strdup(_("Colourspace input to the plugin.\n"))); + combo = lives_standard_combo_new((tmp = lives_strdup(_("_Colourspace"))), TRUE, pal_list_strings, + LIVES_BOX(dialog_vbox), tmp2 = lives_strdup(_("Colourspace input to the plugin.\n"))); lives_free(tmp); lives_free(tmp2); - vppa->pal_entry=lives_combo_get_entry(LIVES_COMBO(combo)); + vppa->pal_entry = lives_combo_get_entry(LIVES_COMBO(combo)); - if (tmpvpp->get_yuv_palette_clamping!=NULL&&weed_palette_is_yuv_palette(tmpvpp->palette)) { - int *clampings=tmpvpp->get_yuv_palette_clamping(tmpvpp->palette); - if (clampings[0]!=-1) - ctext=lives_strdup_printf("%s (%s)",weed_palette_get_name(tmpvpp->palette), - weed_yuv_clamping_get_name(tmpvpp->YUV_clamping)); + if (tmpvpp->get_yuv_palette_clamping != NULL && weed_palette_is_yuv_palette(tmpvpp->palette)) { + int *clampings = tmpvpp->get_yuv_palette_clamping(tmpvpp->palette); + if (clampings[0] != -1) + ctext = lives_strdup_printf("%s (%s)", weed_palette_get_name(tmpvpp->palette), + weed_yuv_clamping_get_name(tmpvpp->YUV_clamping)); } - if (ctext==NULL) ctext=lives_strdup(weed_palette_get_name(tmpvpp->palette)); - lives_entry_set_text(LIVES_ENTRY(vppa->pal_entry),ctext); + if (ctext == NULL) ctext = lives_strdup(weed_palette_get_name(tmpvpp->palette)); + lives_entry_set_text(LIVES_ENTRY(vppa->pal_entry), ctext); lives_free(ctext); lives_list_free_all(&pal_list_strings); } // extra params - if (tmpvpp->get_init_rfx!=NULL) { - LiVESWidget *vbox=lives_vbox_new(FALSE, 0); - LiVESWidget *scrolledwindow = lives_standard_scrolled_window_new(RFX_WINSIZE_H, RFX_WINSIZE_V/2, vbox); + if (tmpvpp->get_init_rfx != NULL) { + LiVESWidget *vbox = lives_vbox_new(FALSE, 0); + LiVESWidget *scrolledwindow = lives_standard_scrolled_window_new(RFX_WINSIZE_H, RFX_WINSIZE_V / 2, vbox); lives_box_pack_start(LIVES_BOX(dialog_vbox), scrolledwindow, TRUE, TRUE, 0); - com=lives_strdup_printf("%s -e \"%s\"",capable->echo_cmd,(*tmpvpp->get_init_rfx)()); - plugin_run_param_window(com,LIVES_VBOX(vbox),&(vppa->rfx)); + com = lives_strdup_printf("%s -e \"%s\"", capable->echo_cmd, (*tmpvpp->get_init_rfx)()); + plugin_run_param_window(com, LIVES_VBOX(vbox), &(vppa->rfx)); lives_free(com); - if (tmpvpp->extra_argv!=NULL&&tmpvpp->extra_argc>0) { + if (tmpvpp->extra_argv != NULL && tmpvpp->extra_argc > 0) { // update with defaults - LiVESList *plist=argv_to_marshalled_list(vppa->rfx,tmpvpp->extra_argc,tmpvpp->extra_argv); - param_demarshall(vppa->rfx,plist,FALSE,FALSE); // set defaults - param_demarshall(vppa->rfx,plist,FALSE,TRUE); // update widgets + LiVESList *plist = argv_to_marshalled_list(vppa->rfx, tmpvpp->extra_argc, tmpvpp->extra_argv); + param_demarshall(vppa->rfx, plist, FALSE, FALSE); // set defaults + param_demarshall(vppa->rfx, plist, FALSE, TRUE); // update widgets lives_list_free_all(&plist); } } else { - vppa->rfx=NULL; + vppa->rfx = NULL; } - cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL,NULL); + cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(vppa->dialog), cancelbutton, LIVES_RESPONSE_CANCEL); - lives_widget_set_can_focus(cancelbutton,TRUE); + lives_widget_set_can_focus(cancelbutton, TRUE); lives_widget_add_accelerator(cancelbutton, LIVES_WIDGET_CLICKED_SIGNAL, accel_group, LIVES_KEY_Escape, (LiVESXModifierType)0, (LiVESAccelFlags)0); - savebutton = lives_button_new_from_stock(LIVES_STOCK_SAVE_AS,NULL); + savebutton = lives_button_new_from_stock(LIVES_STOCK_SAVE_AS, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(vppa->dialog), savebutton, 1); - lives_widget_set_can_focus(savebutton,TRUE); + lives_widget_set_can_focus(savebutton, TRUE); lives_widget_set_tooltip_text(savebutton, _("Save settings to an alternate file.\n")); - okbutton = lives_button_new_from_stock(LIVES_STOCK_OK,NULL); + okbutton = lives_button_new_from_stock(LIVES_STOCK_OK, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(vppa->dialog), okbutton, LIVES_RESPONSE_OK); lives_widget_set_can_focus_and_default(okbutton); @@ -1079,34 +1073,34 @@ void close_vid_playback_plugin(_vid_playback_plugin *vpp) { register int i; - if (vpp!=NULL) { - if (vpp==mainw->vpp) { - mainw->ext_keyboard=FALSE; + if (vpp != NULL) { + if (vpp == mainw->vpp) { + mainw->ext_keyboard = FALSE; lives_grab_remove(mainw->LiVES); if (mainw->ext_playback) { - if (mainw->vpp->exit_screen!=NULL) - (*mainw->vpp->exit_screen)(mainw->ptr_x,mainw->ptr_y); + if (mainw->vpp->exit_screen != NULL) + (*mainw->vpp->exit_screen)(mainw->ptr_x, mainw->ptr_y); #ifdef RT_AUDIO stop_audio_stream(); #endif - if (mainw->vpp->capabilities&VPP_LOCAL_DISPLAY) - if (mainw->play_window!=NULL&&prefs->play_monitor==0) - lives_window_set_keep_below(LIVES_WINDOW(mainw->play_window),FALSE); + if (mainw->vpp->capabilities & VPP_LOCAL_DISPLAY) + if (mainw->play_window != NULL && prefs->play_monitor == 0) + lives_window_set_keep_below(LIVES_WINDOW(mainw->play_window), FALSE); } - mainw->stream_ticks=-1; - mainw->vpp=NULL; + mainw->stream_ticks = -1; + mainw->vpp = NULL; } - if (vpp->module_unload!=NULL)(vpp->module_unload)(); + if (vpp->module_unload != NULL)(vpp->module_unload)(); dlclose(vpp->handle); - if (vpp->extra_argv!=NULL) { - for (i=0; vpp->extra_argv[i]!=NULL; i++) { + if (vpp->extra_argv != NULL) { + for (i = 0; vpp->extra_argv[i] != NULL; i++) { lives_free(vpp->extra_argv[i]); } lives_free(vpp->extra_argv); } - for (i=0; i<vpp->num_play_params+vpp->num_alpha_chans; i++) { + for (i = 0; i < vpp->num_play_params + vpp->num_alpha_chans; i++) { weed_plant_free(vpp->play_params[i]); } @@ -1118,10 +1112,10 @@ const weed_plant_t *pp_get_param(weed_plant_t **pparams, int idx) { - register int i=0; - while (pparams[i]!=NULL) { + register int i = 0; + while (pparams[i] != NULL) { if (WEED_PLANT_IS_PARAMETER(pparams[i])) { - if (--idx<0) return pparams[i]; + if (--idx < 0) return pparams[i]; } i++; } @@ -1130,10 +1124,10 @@ const weed_plant_t *pp_get_chan(weed_plant_t **pparams, int idx) { - register int i=0; - while (pparams[i]!=NULL) { + register int i = 0; + while (pparams[i] != NULL) { if (WEED_PLANT_IS_CHANNEL(pparams[i])) { - if (--idx<0) return pparams[i]; + if (--idx < 0) return pparams[i]; } i++; } @@ -1150,11 +1144,11 @@ // TODO - if in_use, get fixed_fps,fwidth,fheight,palette,argc and argv from a file // TODO - dirsep - char *plugname=lives_strdup_printf("%s%s%s"LIVES_DIR_SEP"%s."DLL_NAME,prefs->lib_dir,PLUGIN_EXEC_DIR,PLUGIN_VID_PLAYBACK,name); + char *plugname = lives_strdup_printf("%s%s%s"LIVES_DIR_SEP"%s."DLL_NAME, prefs->lib_dir, PLUGIN_EXEC_DIR, PLUGIN_VID_PLAYBACK, name); - void *handle=dlopen(plugname,RTLD_LAZY); - boolean OK=TRUE; - char *msg,*tmp; + void *handle = dlopen(plugname, RTLD_LAZY); + boolean OK = TRUE; + char *msg, *tmp; char **array; const char *fps_list; const char *pl_error; @@ -1162,9 +1156,9 @@ int *palette_list; _vid_playback_plugin *vpp; - if (handle==NULL) { - char *msg=lives_strdup_printf(_("\n\nFailed to open playback plugin %s\nError was %s\n"),plugname,dlerror()); - if (prefsw!=NULL) do_error_dialog_with_check_transient(msg,TRUE,0,prefsw!=NULL?LIVES_WINDOW(prefsw->prefs_dialog): + if (handle == NULL) { + char *msg = lives_strdup_printf(_("\n\nFailed to open playback plugin %s\nError was %s\n"), plugname, dlerror()); + if (prefsw != NULL) do_error_dialog_with_check_transient(msg, TRUE, 0, prefsw != NULL ? LIVES_WINDOW(prefsw->prefs_dialog) : LIVES_WINDOW(mainw->LiVES)); else do_error_dialog(msg); lives_free(msg); @@ -1173,177 +1167,177 @@ } - vpp=(_vid_playback_plugin *) lives_malloc(sizeof(_vid_playback_plugin)); + vpp = (_vid_playback_plugin *) lives_malloc(sizeof(_vid_playback_plugin)); - vpp->play_paramtmpls=NULL; - vpp->play_params=NULL; - vpp->alpha_chans=NULL; - vpp->num_play_params=vpp->num_alpha_chans=0; - vpp->extra_argv=NULL; + vpp->play_paramtmpls = NULL; + vpp->play_params = NULL; + vpp->alpha_chans = NULL; + vpp->num_play_params = vpp->num_alpha_chans = 0; + vpp->extra_argv = NULL; - if ((vpp->module_check_init=(const char *(*)())dlsym(handle,"module_check_init"))==NULL) { - OK=FALSE; + if ((vpp->module_check_init = (const char *(*)())dlsym(handle, "module_check_init")) == NULL) { + OK = FALSE; } - if ((vpp->version=(const char *(*)())dlsym(handle,"version"))==NULL) { - OK=FALSE; + if ((vpp->version = (const char *(*)())dlsym(handle, "version")) == NULL) { + OK = FALSE; } - if ((vpp->get_palette_list=(int *(*)())dlsym(handle,"get_palette_list"))==NULL) { - OK=FALSE; + if ((vpp->get_palette_list = (int *(*)())dlsym(handle, "get_palette_list")) == NULL) { + OK = FALSE; } - if ((vpp->set_palette=(boolean(*)(int))dlsym(handle,"set_palette"))==NULL) { - OK=FALSE; + if ((vpp->set_palette = (boolean(*)(int))dlsym(handle, "set_palette")) == NULL) { + OK = FALSE; } - if ((vpp->get_capabilities=(uint64_t (*)(int))dlsym(handle,"get_capabilities"))==NULL) { - OK=FALSE; + if ((vpp->get_capabilities = (uint64_t (*)(int))dlsym(handle, "get_capabilities")) == NULL) { + OK = FALSE; } - if ((vpp->render_frame=(boolean(*)(int, int, int64_t, void **, void **, weed_plant_t **)) - dlsym(handle,"render_frame"))==NULL) { - OK=FALSE; + if ((vpp->render_frame = (boolean(*)(int, int, int64_t, void **, void **, weed_plant_t **)) + dlsym(handle, "render_frame")) == NULL) { + OK = FALSE; } - if ((vpp->get_fps_list=(const char *(*)(int))dlsym(handle,"get_fps_list"))!=NULL) { - if ((vpp->set_fps=(boolean(*)(double))dlsym(handle,"set_fps"))==NULL) { - OK=FALSE; + if ((vpp->get_fps_list = (const char *(*)(int))dlsym(handle, "get_fps_list")) != NULL) { + if ((vpp->set_fps = (boolean(*)(double))dlsym(handle, "set_fps")) == NULL) { + OK = FALSE; } } if (!OK) { - char *msg=lives_strdup_printf - (_("\n\nPlayback module %s\nis missing a mandatory function.\nUnable to use it.\n"),plugname); - set_pref(PREF_VID_PLAYBACK_PLUGIN,"none"); - do_error_dialog_with_check_transient(msg,TRUE,0,prefsw!=NULL?LIVES_WINDOW(prefsw->prefs_dialog): + char *msg = lives_strdup_printf + (_("\n\nPlayback module %s\nis missing a mandatory function.\nUnable to use it.\n"), plugname); + set_pref(PREF_VID_PLAYBACK_PLUGIN, "none"); + do_error_dialog_with_check_transient(msg, TRUE, 0, prefsw != NULL ? LIVES_WINDOW(prefsw->prefs_dialog) : LIVES_WINDOW(mainw->LiVES)); lives_free(msg); dlclose(handle); lives_free(vpp); - vpp=NULL; + vpp = NULL; lives_free(plugname); return NULL; } - if ((pl_error=(*vpp->module_check_init)())!=NULL) { - msg=lives_strdup_printf(_("Video playback plugin failed to initialise.\nError was: %s\n"),pl_error); - do_error_dialog_with_check_transient(msg,TRUE,0,prefsw!=NULL?LIVES_WINDOW(prefsw->prefs_dialog): + if ((pl_error = (*vpp->module_check_init)()) != NULL) { + msg = lives_strdup_printf(_("Video playback plugin failed to initialise.\nError was: %s\n"), pl_error); + do_error_dialog_with_check_transient(msg, TRUE, 0, prefsw != NULL ? LIVES_WINDOW(prefsw->prefs_dialog) : LIVES_WINDOW(mainw->LiVES)); lives_free(msg); dlclose(handle); lives_free(vpp); - vpp=NULL; + vpp = NULL; lives_free(plugname); return NULL; } // now check for optional functions - vpp->get_description=(const char *(*)())dlsym(handle,"get_description"); - vpp->get_init_rfx=(const char *(*)())dlsym(handle,"get_init_rfx"); + vpp->get_description = (const char *(*)())dlsym(handle, "get_description"); + vpp->get_init_rfx = (const char *(*)())dlsym(handle, "get_init_rfx"); - vpp->get_play_params=(const weed_plant_t **(*)(weed_bootstrap_f))dlsym(handle,"get_play_params"); + vpp->get_play_params = (const weed_plant_t **(*)(weed_bootstrap_f))dlsym(handle, "get_play_params"); - vpp->get_yuv_palette_clamping=(int *(*)(int))dlsym(handle,"get_yuv_palette_clamping"); - vpp->set_yuv_palette_clamping=(int (*)(int))dlsym(handle,"set_yuv_palette_clamping"); - vpp->get_audio_fmts=(int *(*)())dlsym(handle,"get_audio_fmts"); - vpp->init_screen=(boolean(*)(int, int, boolean, uint64_t, int, char **))dlsym(handle,"init_screen"); - vpp->exit_screen=(void (*)(uint16_t, uint16_t))dlsym(handle,"exit_screen"); - vpp->module_unload=(void (*)())dlsym(handle,"module_unload"); - - vpp->YUV_sampling=0; - vpp->YUV_subspace=0; - - palette_list=(*vpp->get_palette_list)(); - - if (future_prefs->vpp_argv!=NULL) { - vpp->palette=future_prefs->vpp_palette; - vpp->YUV_clamping=future_prefs->vpp_YUV_clamping; + vpp->get_yuv_palette_clamping = (int *(*)(int))dlsym(handle, "get_yuv_palette_clamping"); + vpp->set_yuv_palette_clamping = (int (*)(int))dlsym(handle, "set_yuv_palette_clamping"); + vpp->get_audio_fmts = (int *(*)())dlsym(handle, "get_audio_fmts"); + vpp->init_screen = (boolean(*)(int, int, boolean, uint64_t, int, char **))dlsym(handle, "init_screen"); + vpp->exit_screen = (void (*)(uint16_t, uint16_t))dlsym(handle, "exit_screen"); + vpp->module_unload = (void (*)())dlsym(handle, "module_unload"); + + vpp->YUV_sampling = 0; + vpp->YUV_subspace = 0; + + palette_list = (*vpp->get_palette_list)(); + + if (future_prefs->vpp_argv != NULL) { + vpp->palette = future_prefs->vpp_palette; + vpp->YUV_clamping = future_prefs->vpp_YUV_clamping; } else { - if (!in_use&&mainw->vpp!=NULL&&!(strcmp(name,mainw->vpp->name))) { - vpp->palette=mainw->vpp->palette; - vpp->YUV_clamping=mainw->vpp->YUV_clamping; + if (!in_use && mainw->vpp != NULL && !(strcmp(name, mainw->vpp->name))) { + vpp->palette = mainw->vpp->palette; + vpp->YUV_clamping = mainw->vpp->YUV_clamping; } else { - vpp->palette=palette_list[0]; - vpp->YUV_clamping=-1; + vpp->palette = palette_list[0]; + vpp->YUV_clamping = -1; } } - vpp->audio_codec=AUDIO_CODEC_NONE; - vpp->capabilities=(*vpp->get_capabilities)(vpp->palette); + vpp->audio_codec = AUDIO_CODEC_NONE; + vpp->capabilities = (*vpp->get_capabilities)(vpp->palette); - if (vpp->capabilities&VPP_CAN_RESIZE) { - vpp->fwidth=vpp->fheight=-1; + if (vpp->capabilities & VPP_CAN_RESIZE) { + vpp->fwidth = vpp->fheight = -1; } else { - vpp->fwidth=vpp->fheight=0; + vpp->fwidth = vpp->fheight = 0; } - if (future_prefs->vpp_argv!=NULL) { - vpp->fwidth=future_prefs->vpp_fwidth; - vpp->fheight=future_prefs->vpp_fheight; - } else if (!in_use&&mainw->vpp!=NULL&&!(strcmp(name,mainw->vpp->name))) { - vpp->fwidth=mainw->vpp->fwidth; - vpp->fheight=mainw->vpp->fheight; - } - - vpp->fixed_fpsd=-1.; - vpp->fixed_fps_numer=0; - - if (future_prefs->vpp_argv!=NULL) { - vpp->fixed_fpsd=future_prefs->vpp_fixed_fpsd; - vpp->fixed_fps_numer=future_prefs->vpp_fixed_fps_numer; - vpp->fixed_fps_denom=future_prefs->vpp_fixed_fps_denom; - } else if (!in_use&&mainw->vpp!=NULL&&!(strcmp(name,mainw->vpp->name))) { - vpp->fixed_fpsd=mainw->vpp->fixed_fpsd; - vpp->fixed_fps_numer=mainw->vpp->fixed_fps_numer; - vpp->fixed_fps_denom=mainw->vpp->fixed_fps_denom; - } - - vpp->handle=handle; - lives_snprintf(vpp->name,256,"%s",name); - - if (future_prefs->vpp_argv!=NULL) { - vpp->extra_argc=future_prefs->vpp_argc; - vpp->extra_argv=(char **)lives_malloc((vpp->extra_argc+1)*(sizeof(char *))); - for (i=0; i<=vpp->extra_argc; i++) vpp->extra_argv[i]=lives_strdup(future_prefs->vpp_argv[i]); + if (future_prefs->vpp_argv != NULL) { + vpp->fwidth = future_prefs->vpp_fwidth; + vpp->fheight = future_prefs->vpp_fheight; + } else if (!in_use && mainw->vpp != NULL && !(strcmp(name, mainw->vpp->name))) { + vpp->fwidth = mainw->vpp->fwidth; + vpp->fheight = mainw->vpp->fheight; + } + + vpp->fixed_fpsd = -1.; + vpp->fixed_fps_numer = 0; + + if (future_prefs->vpp_argv != NULL) { + vpp->fixed_fpsd = future_prefs->vpp_fixed_fpsd; + vpp->fixed_fps_numer = future_prefs->vpp_fixed_fps_numer; + vpp->fixed_fps_denom = future_prefs->vpp_fixed_fps_denom; + } else if (!in_use && mainw->vpp != NULL && !(strcmp(name, mainw->vpp->name))) { + vpp->fixed_fpsd = mainw->vpp->fixed_fpsd; + vpp->fixed_fps_numer = mainw->vpp->fixed_fps_numer; + vpp->fixed_fps_denom = mainw->vpp->fixed_fps_denom; + } + + vpp->handle = handle; + lives_snprintf(vpp->name, 256, "%s", name); + + if (future_prefs->vpp_argv != NULL) { + vpp->extra_argc = future_prefs->vpp_argc; + vpp->extra_argv = (char **)lives_malloc((vpp->extra_argc + 1) * (sizeof(char *))); + for (i = 0; i <= vpp->extra_argc; i++) vpp->extra_argv[i] = lives_strdup(future_prefs->vpp_argv[i]); } else { - if (!in_use&&mainw->vpp!=NULL&&!(strcmp(name,mainw->vpp->name))) { - vpp->extra_argc=mainw->vpp->extra_argc; - vpp->extra_argv=(char **)lives_malloc((mainw->vpp->extra_argc+1)*(sizeof(char *))); - for (i=0; i<=vpp->extra_argc; i++) vpp->extra_argv[i]=lives_strdup(mainw->vpp->extra_argv[i]); + if (!in_use && mainw->vpp != NULL && !(strcmp(name, mainw->vpp->name))) { + vpp->extra_argc = mainw->vpp->extra_argc; + vpp->extra_argv = (char **)lives_malloc((mainw->vpp->extra_argc + 1) * (sizeof(char *))); + for (i = 0; i <= vpp->extra_argc; i++) vpp->extra_argv[i] = lives_strdup(mainw->vpp->extra_argv[i]); } else { - vpp->extra_argc=0; - vpp->extra_argv=(char **)lives_malloc(sizeof(char *)); - vpp->extra_argv[0]=NULL; + vpp->extra_argc = 0; + vpp->extra_argv = (char **)lives_malloc(sizeof(char *)); + vpp->extra_argv[0] = NULL; } } // see if plugin is using fixed fps - if (vpp->fixed_fpsd<=0.&&vpp->get_fps_list!=NULL) { + if (vpp->fixed_fpsd <= 0. && vpp->get_fps_list != NULL) { // fixed fps - if ((fps_list=(*vpp->get_fps_list)(vpp->palette))!=NULL) { - array=lives_strsplit(fps_list,"|",-1); - if (get_token_count(array[0],':')>1) { - char **array2=lives_strsplit(array[0],":",2); - vpp->fixed_fps_numer=atoi(array2[0]); - vpp->fixed_fps_denom=atoi(array2[1]); + if ((fps_list = (*vpp->get_fps_list)(vpp->palette)) != NULL) { + array = lives_strsplit(fps_list, "|", -1); + if (get_token_count(array[0], ':') > 1) { + char **array2 = lives_strsplit(array[0], ":", 2); + vpp->fixed_fps_numer = atoi(array2[0]); + vpp->fixed_fps_denom = atoi(array2[1]); lives_strfreev(array2); - vpp->fixed_fpsd=get_ratio_fps(array[0]); + vpp->fixed_fpsd = get_ratio_fps(array[0]); } else { - vpp->fixed_fpsd=lives_strtod(array[0],NULL); - vpp->fixed_fps_numer=0; + vpp->fixed_fpsd = lives_strtod(array[0], NULL); + vpp->fixed_fps_numer = 0; } lives_strfreev(array); } } - if (vpp->YUV_clamping==-1) { - vpp->YUV_clamping=WEED_YUV_CLAMPING_CLAMPED; + if (vpp->YUV_clamping == -1) { + vpp->YUV_clamping = WEED_YUV_CLAMPING_CLAMPED; - if (vpp->get_yuv_palette_clamping!=NULL&&weed_palette_is_yuv_palette(vpp->palette)) { - int *yuv_clamping_types=(*vpp->get_yuv_palette_clamping)(vpp->palette); - if (yuv_clamping_types[0]!=-1) vpp->YUV_clamping=yuv_clamping_types[0]; + if (vpp->get_yuv_palette_clamping != NULL && weed_palette_is_yuv_palette(vpp->palette)) { + int *yuv_clamping_types = (*vpp->get_yuv_palette_clamping)(vpp->palette); + if (yuv_clamping_types[0] != -1) vpp->YUV_clamping = yuv_clamping_types[0]; } } - if (vpp->get_audio_fmts!=NULL&&mainw->is_ready) vpp->audio_codec=get_best_audio(vpp); - if (prefsw!=NULL) { + if (vpp->get_audio_fmts != NULL && mainw->is_ready) vpp->audio_codec = get_best_audio(vpp); + if (prefsw != NULL) { prefsw_set_astream_settings(vpp); prefsw_set_rec_after_settings(vpp); } @@ -1351,15 +1345,15 @@ if (!in_use) return vpp; if (!mainw->is_ready) { - double fixed_fpsd=vpp->fixed_fpsd; - int fwidth=vpp->fwidth; - int fheight=vpp->fheight; + double fixed_fpsd = vpp->fixed_fpsd; + int fwidth = vpp->fwidth; + int fheight = vpp->fheight; - mainw->vpp=vpp; + mainw->vpp = vpp; load_vpp_defaults(vpp, mainw->vpp_defs_file); - if (fixed_fpsd<0.) vpp->fixed_fpsd=fixed_fpsd; - if (fwidth<0) vpp->fwidth=fwidth; - if (fheight<0) vpp->fheight=fheight; + if (fixed_fpsd < 0.) vpp->fixed_fpsd = fixed_fpsd; + if (fwidth < 0) vpp->fwidth = fwidth; + if (fheight < 0) vpp->fheight = fheight; } if (!(*vpp->set_palette)(vpp->palette)) { @@ -1369,48 +1363,48 @@ return NULL; } - if (vpp->set_yuv_palette_clamping!=NULL)(*vpp->set_yuv_palette_clamping)(vpp->YUV_clamping); + if (vpp->set_yuv_palette_clamping != NULL)(*vpp->set_yuv_palette_clamping)(vpp->YUV_clamping); - if (vpp->get_fps_list!=NULL) { - if (mainw->fixed_fpsd>0.||(vpp->fixed_fpsd>0.&&vpp->set_fps!=NULL&& - !((*vpp->set_fps)(vpp->fixed_fpsd)))) { + if (vpp->get_fps_list != NULL) { + if (mainw->fixed_fpsd > 0. || (vpp->fixed_fpsd > 0. && vpp->set_fps != NULL && + !((*vpp->set_fps)(vpp->fixed_fpsd)))) { do_vpp_fps_error(); - vpp->fixed_fpsd=-1.; - vpp->fixed_fps_numer=0; + vpp->fixed_fpsd = -1.; + vpp->fixed_fps_numer = 0; } } // get the play parameters (and alpha channels) if any and convert to weed params - if (vpp->get_play_params!=NULL) { - vpp->play_paramtmpls=(*vpp->get_play_params)(weed_bootstrap_func); + if (vpp->get_play_params != NULL) { + vpp->play_paramtmpls = (*vpp->get_play_params)(weed_bootstrap_func); } // create vpp->play_params - if (vpp->play_paramtmpls!=NULL) { + if (vpp->play_paramtmpls != NULL) { weed_plant_t *ptmpl; - for (i=0; (ptmpl=(weed_plant_t *)vpp->play_paramtmpls[i])!=NULL; i++) { - vpp->play_params=(weed_plant_t **)lives_realloc(vpp->play_params,(i+2)*sizeof(weed_plant_t *)); + for (i = 0; (ptmpl = (weed_plant_t *)vpp->play_paramtmpls[i]) != NULL; i++) { + vpp->play_params = (weed_plant_t **)lives_realloc(vpp->play_params, (i + 2) * sizeof(weed_plant_t *)); if (WEED_PLANT_IS_PARAMETER_TEMPLATE(ptmpl)) { // is param template, create a param - vpp->play_params[i]=weed_plant_new(WEED_PLANT_PARAMETER); - weed_leaf_copy(vpp->play_params[i],WEED_LEAF_VALUE,ptmpl,WEED_LEAF_DEFAULT); - weed_set_plantptr_value(vpp->play_params[i],WEED_LEAF_TEMPLATE,ptmpl); + vpp->play_params[i] = weed_plant_new(WEED_PLANT_PARAMETER); + weed_leaf_copy(vpp->play_params[i], WEED_LEAF_VALUE, ptmpl, WEED_LEAF_DEFAULT); + weed_set_plantptr_value(vpp->play_params[i], WEED_LEAF_TEMPLATE, ptmpl); vpp->num_play_params++; } else { // must be an alpha channel - vpp->play_params[i]=weed_plant_new(WEED_PLANT_CHANNEL); - weed_set_plantptr_value(vpp->play_params[i],WEED_LEAF_TEMPLATE,ptmpl); + vpp->play_params[i] = weed_plant_new(WEED_PLANT_CHANNEL); + weed_set_plantptr_value(vpp->play_params[i], WEED_LEAF_TEMPLATE, ptmpl); vpp->num_alpha_chans++; } } - vpp->play_params[i]=NULL; + vpp->play_params[i] = NULL; } - cached_key=cached_mod=0; + cached_key = cached_mod = 0; - d_print(_("*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). ***\n"),name, - vpp->palette,(tmp=weed_palette_get_name_full(vpp->palette,vpp->YUV_clamping, - WEED_YUV_SUBSPACE_YCBCR))); + d_print(_("*** Using %s plugin for fs playback, agreed to use palette type %d ( %s ). ***\n"), name, + vpp->palette, (tmp = weed_palette_get_name_full(vpp->palette, vpp->YUV_clamping, + WEED_YUV_SUBSPACE_YCBCR))); lives_free(tmp); lives_free(plugname); @@ -1418,7 +1412,7 @@ lives_usleep(prefs->sleep_time); } - if (mainw->is_ready&&in_use&&mainw->vpp!=NULL) { + if (mainw->is_ready && in_use && mainw->vpp != NULL) { close_vid_playback_plugin(mainw->vpp); } @@ -1429,21 +1423,21 @@ void vid_playback_plugin_exit(void) { // external plugin if (mainw->ext_playback) { - mainw->ext_keyboard=FALSE; + mainw->ext_keyboard = FALSE; lives_grab_remove(mainw->LiVES); - if (mainw->vpp->exit_screen!=NULL)(*mainw->vpp->exit_screen)(mainw->ptr_x,mainw->ptr_y); + if (mainw->vpp->exit_screen != NULL)(*mainw->vpp->exit_screen)(mainw->ptr_x, mainw->ptr_y); #ifdef RT_AUDIO stop_audio_stream(); #endif - mainw->ext_playback=FALSE; - if (mainw->vpp->capabilities&VPP_LOCAL_DISPLAY) - if (mainw->play_window!=NULL&&prefs->play_monitor==0) - lives_window_set_keep_below(LIVES_WINDOW(mainw->play_window),FALSE); + mainw->ext_playback = FALSE; + if (mainw->vpp->capabilities & VPP_LOCAL_DISPLAY) + if (mainw->play_window != NULL && prefs->play_monitor == 0) + lives_window_set_keep_below(LIVES_WINDOW(mainw->play_window), FALSE); } - mainw->stream_ticks=-1; + mainw->stream_ticks = -1; - if (mainw->playing_file>-1&&mainw->fs&&mainw->sep_win) lives_window_fullscreen(LIVES_WINDOW(mainw->play_window)); - if (mainw->play_window!=NULL) { + if (mainw->playing_file > -1 && mainw->fs && mainw->sep_win) lives_window_fullscreen(LIVES_WINDOW(mainw->play_window)); + if (mainw->play_window != NULL) { play_window_set_title(); } } @@ -1454,85 +1448,85 @@ // i.e. cross-check video list with astreamer list - int *fmts,*sfmts; - int ret=AUDIO_CODEC_NONE; - int i,j=0,nfmts; + int *fmts, *sfmts; + int ret = AUDIO_CODEC_NONE; + int i, j = 0, nfmts; size_t rlen; - char *astreamer,*com; + char *astreamer, *com; char buf[1024]; char **array; FILE *rfile; - if (vpp!=NULL&&vpp->get_audio_fmts!=NULL) { - fmts=(*vpp->get_audio_fmts)(); // const, so do not free() + if (vpp != NULL && vpp->get_audio_fmts != NULL) { + fmts = (*vpp->get_audio_fmts)(); // const, so do not free() // make audiostream plugin name - astreamer=lives_build_filename(prefs->lib_dir,PLUGIN_EXEC_DIR,PLUGIN_AUDIO_STREAM,AUDIO_STREAMER_NAME,NULL); + astreamer = lives_build_filename(prefs->lib_dir, PLUGIN_EXEC_DIR, PLUGIN_AUDIO_STREAM, AUDIO_STREAMER_NAME, NULL); // create sfmts array and nfmts - com=lives_strdup_printf("\"%s\" get_formats",astreamer); + com = lives_strdup_printf("\"%s\" get_formats", astreamer); - rfile=popen(com,"r"); - rlen=fread(buf,1,1023,rfile); + rfile = popen(com, "r"); + rlen = fread(buf, 1, 1023, rfile); pclose(rfile); - memset(buf+rlen,0,1); + memset(buf + rlen, 0, 1); lives_free(com); - nfmts=get_token_count(buf,'|'); - array=lives_strsplit(buf,"|",nfmts); - sfmts=(int *)lives_malloc(nfmts*sizint); + nfmts = get_token_count(buf, '|'); + array = lives_strsplit(buf, "|", nfmts); + sfmts = (int *)lives_malloc(nfmts * sizint); - for (i=0; i<nfmts; i++) { - if (array[i]!=NULL&&strlen(array[i])>0) sfmts[j++]=atoi(array[i]); + for (i = 0; i < nfmts; i++) { + if (array[i] != NULL && strlen(array[i]) > 0) sfmts[j++] = atoi(array[i]); } - nfmts=j; + nfmts = j; lives_strfreev(array); - for (i=0; fmts[i]!=-1; i++) { + for (i = 0; fmts[i] != -1; i++) { // traverse video list and see if audiostreamer supports each one - if (int_array_contains_value(sfmts,nfmts,fmts[i])) { + if (int_array_contains_value(sfmts, nfmts, fmts[i])) { - com=lives_strdup_printf("\"%s\" check %d",astreamer,fmts[i]); + com = lives_strdup_printf("\"%s\" check %d", astreamer, fmts[i]); - rfile=popen(com,"r"); + rfile = popen(com, "r"); if (!rfile) { // command failed - do_system_failed_error(com,0,NULL); + do_system_failed_error(com, 0, NULL); lives_free(astreamer); lives_free(com); lives_free(sfmts); return ret; } - rlen=fread(buf,1,1023,rfile); + rlen = fread(buf, 1, 1023, rfile); pclose(rfile); - memset(buf+rlen,0,1); + memset(buf + rlen, 0, 1); lives_free(com); - if (strlen(buf)>0) { - if (i==0&&prefsw!=NULL) { + if (strlen(buf) > 0) { + if (i == 0 && prefsw != NULL) { do_error_dialog_with_check_transient - (buf,TRUE,0,LIVES_WINDOW(prefsw->prefs_dialog)); - d_print(_("Audio stream unable to use preferred format '%s'\n"),anames[fmts[i]]); + (buf, TRUE, 0, LIVES_WINDOW(prefsw->prefs_dialog)); + d_print(_("Audio stream unable to use preferred format '%s'\n"), anames[fmts[i]]); } continue; } - if (i>0&&prefsw!=NULL) { - d_print(_("Using format '%s' instead.\n"),anames[fmts[i]]); + if (i > 0 && prefsw != NULL) { + d_print(_("Using format '%s' instead.\n"), anames[fmts[i]]); } - ret=fmts[i]; + ret = fmts[i]; break; } } - if (fmts[i]==-1) { + if (fmts[i] == -1) { //none suitable, stick with first - for (i=0; fmts[i]!=-1; i++) { + for (i = 0; fmts[i] != -1; i++) { // traverse video list and see if audiostreamer supports each one - if (int_array_contains_value(sfmts,nfmts,fmts[i])) { - ret=fmts[i]; + if (int_array_contains_value(sfmts, nfmts, fmts[i])) { + ret = fmts[i]; break; } } @@ -1552,25 +1546,25 @@ void do_plugin_encoder_error(const char *plugin_name) { - char *msg,*tmp; + char *msg, *tmp; - if (plugin_name==NULL) { - msg=lives_strdup_printf( - _("LiVES was unable to find its encoder plugins. Please make sure you have the plugins installed in\n" - "%s%s%s\nor change the value of <lib_dir> in %s\n"), - prefs->lib_dir,PLUGIN_EXEC_DIR,PLUGIN_ENCODERS,(tmp=lives_filename_to_utf8(capable->rcfile,-1,NULL,NULL,NULL))); + if (plugin_name == NULL) { + msg = lives_strdup_printf( + _("LiVES was unable to find its encoder plugins. Please make sure you have the plugins installed in\n" + "%s%s%s\nor change the value of <lib_dir> in %s\n"), + prefs->lib_dir, PLUGIN_EXEC_DIR, PLUGIN_ENCODERS, (tmp = lives_filename_to_utf8(capable->rcfile, -1, NULL, NULL, NULL))); lives_free(tmp); - if (rdet!=NULL) do_error_dialog_with_check_transient(msg,FALSE,0,LIVES_WINDOW(rdet->dialog)); + if (rdet != NULL) do_error_dialog_with_check_transient(msg, FALSE, 0, LIVES_WINDOW(rdet->dialog)); else do_error_dialog(msg); lives_free(msg); return; } - msg=lives_strdup_printf( - _("LiVES did not receive a response from the encoder plugin called '%s'.\n" - "Please make sure you have that plugin installed correctly in\n%s%s%s\n" - "or switch to another plugin using Tools|Preferences|Encoding\n"), - plugin_name,prefs->lib_dir,PLUGIN_EXEC_DIR,PLUGIN_ENCODERS); + msg = lives_strdup_printf( + _("LiVES did not receive a response from the encoder plugin called '%s'.\n" + "Please make sure you have that plugin installed correctly in\n%s%s%s\n" + "or switch to another plugin using Tools|Preferences|Encoding\n"), + plugin_name, prefs->lib_dir, PLUGIN_EXEC_DIR, PLUGIN_ENCODERS); do_blocking_error_dialog(msg); lives_free(msg); } @@ -1578,75 +1572,75 @@ boolean check_encoder_restrictions(boolean get_extension, boolean user_audio, boolean save_all) { char **checks; - char **array=NULL; + char **array = NULL; char **array2; - int pieces,numtok; - boolean calc_aspect=FALSE; + int pieces, numtok; + boolean calc_aspect = FALSE; char aspect_buffer[512]; - int hblock=2,vblock=2; - int i,r,val; - LiVESList *ofmt_all=NULL; - boolean sizer=FALSE; + int hblock = 2, vblock = 2; + int i, r, val; + LiVESList *ofmt_all = NULL; + boolean sizer = FALSE; // for auto resizing/resampling - double best_fps=0.; - int best_arate=0; - int width,owidth; - int height,oheight; - - double best_fps_delta=0.; - int best_arate_delta=0; - boolean allow_aspect_override=FALSE; + double best_fps = 0.; + int best_arate = 0; + int width, owidth; + int height, oheight; + + double best_fps_delta = 0.; + int best_arate_delta = 0; + boolean allow_aspect_override = FALSE; - int best_fps_num=0,best_fps_denom=0; + int best_fps_num = 0, best_fps_denom = 0; double fps; - int arate,achans,asampsize,asigned=0; + int arate, achans, asampsize, asigned = 0; - boolean swap_endian=FALSE; + boolean swap_endian = FALSE; - if (rdet==NULL) { - width=owidth=cfile->hsize; - height=oheight=cfile->vsize; - fps=cfile->fps; + if (rdet == NULL) { + width = owidth = cfile->hsize; + height = oheight = cfile->vsize; + fps = cfile->fps; } else { - width=owidth=rdet->width; - height=oheight=rdet->height; - fps=rdet->fps; - rdet->suggestion_followed=FALSE; + width = owidth = rdet->width; + height = oheight = rdet->height; + fps = rdet->fps; + rdet->suggestion_followed = FALSE; } if (mainw->osc_auto) { - if (mainw->osc_enc_width>0) { - width=mainw->osc_enc_width; - height=mainw->osc_enc_height; + if (mainw->osc_enc_width > 0) { + width = mainw->osc_enc_width; + height = mainw->osc_enc_height; } - if (mainw->osc_enc_fps!=0.) fps=mainw->osc_enc_fps; + if (mainw->osc_enc_fps != 0.) fps = mainw->osc_enc_fps; } // TODO - allow lists for size - lives_snprintf(prefs->encoder.of_restrict,5,"none"); - if ((ofmt_all=plugin_request_by_line(PLUGIN_ENCODERS,prefs->encoder.name,"get_formats"))!=NULL) { + lives_snprintf(prefs->encoder.of_restrict, 5, "none"); + if ((ofmt_all = plugin_request_by_line(PLUGIN_ENCODERS, prefs->encoder.name, "get_formats")) != NULL) { // get any restrictions for the current format - for (i=0; i<lives_list_length(ofmt_all); i++) { - if ((numtok=get_token_count((char *)lives_list_nth_data(ofmt_all,i),'|'))>2) { - array=lives_strsplit((char *)lives_list_nth_data(ofmt_all,i),"|",-1); - if (!strcmp(array[0],prefs->encoder.of_name)) { - if (numtok>5) { - lives_snprintf(prefs->encoder.ptext,512,"%s",array[5]); + for (i = 0; i < lives_list_length(ofmt_all); i++) { + if ((numtok = get_token_count((char *)lives_list_nth_data(ofmt_all, i), '|')) > 2) { + array = lives_strsplit((char *)lives_list_nth_data(ofmt_all, i), "|", -1); + if (!strcmp(array[0], prefs->encoder.of_name)) { + if (numtok > 5) { + lives_snprintf(prefs->encoder.ptext, 512, "%s", array[5]); } else { - memset(prefs->encoder.ptext,0,1); + memset(prefs->encoder.ptext, 0, 1); } - if (numtok>4) { - lives_snprintf(prefs->encoder.of_def_ext,16,"%s",array[4]); + if (numtok > 4) { + lives_snprintf(prefs->encoder.of_def_ext, 16, "%s", array[4]); } else { - memset(prefs->encoder.of_def_ext,0,1); + memset(prefs->encoder.of_def_ext, 0, 1); } - if (numtok>3) { - lives_snprintf(prefs->encoder.of_restrict,128,"%s",array[3]); + if (numtok > 3) { + lives_snprintf(prefs->encoder.of_restrict, 128, "%s", array[3]); } else { - lives_snprintf(prefs->encoder.of_restrict,128,"none"); + lives_snprintf(prefs->encoder.of_restrict, 128, "none"); } - prefs->encoder.of_allowed_acodecs=atoi(array[2]); + prefs->encoder.of_allowed_acodecs = atoi(array[2]); lives_list_free_all(&ofmt_all); lives_strfreev(array); break; @@ -1660,184 +1654,184 @@ return TRUE; // just wanted file extension } - if (rdet==NULL&&mainw->save_with_sound&&prefs->encoder.audio_codec!=AUDIO_CODEC_NONE) { - if (!(prefs->encoder.of_allowed_acodecs&(1<<prefs->encoder.audio_codec))) { + if (rdet == NULL && mainw->save_with_sound && prefs->encoder.audio_codec != AUDIO_CODEC_NONE) { + if (!(prefs->encoder.of_allowed_acodecs & (1 << prefs->encoder.audio_codec))) { do_encoder_acodec_error(); return FALSE; } } - if (user_audio&&future_prefs->encoder.of_allowed_acodecs==0) best_arate=-1; + if (user_audio && future_prefs->encoder.of_allowed_acodecs == 0) best_arate = -1; - if ((strlen(prefs->encoder.of_restrict)==0||!strcmp(prefs->encoder.of_restrict,"none"))&&best_arate>-1) { + if ((strlen(prefs->encoder.of_restrict) == 0 || !strcmp(prefs->encoder.of_restrict, "none")) && best_arate > -1) { return TRUE; } - if (rdet==NULL) { - arate=cfile->arate; - achans=cfile->achans; - asampsize=cfile->asampsize; + if (rdet == NULL) { + arate = cfile->arate; + achans = cfile->achans; + asampsize = cfile->asampsize; } else { - arate=rdet->arate; - achans=rdet->achans; - asampsize=rdet->asamps; + arate = rdet->arate; + achans = rdet->achans; + asampsize = rdet->asamps; } // audio endianness check - what should we do for big-endian machines ? - if (((mainw->save_with_sound||rdet!=NULL)&&(resaudw==NULL||resaudw->aud_checkbutton==NULL|| + if (((mainw->save_with_sound || rdet != NULL) && (resaudw == NULL || resaudw->aud_checkbutton == NULL || lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->aud_checkbutton)))) - &&prefs->encoder.audio_codec!=AUDIO_CODEC_NONE&&(arate*achans*asampsize)) { - if (rdet!=NULL&&!rdet->is_encoding) { - if (mainw->endian!=AFORM_BIG_ENDIAN && (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->rb_bigend)))) - swap_endian=TRUE; + && prefs->encoder.audio_codec != AUDIO_CODEC_NONE && (arate * achans * asampsize)) { + if (rdet != NULL && !rdet->is_encoding) { + if (mainw->endian != AFORM_BIG_ENDIAN && (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->rb_bigend)))) + swap_endian = TRUE; } else { - if (mainw->endian!=AFORM_BIG_ENDIAN && (cfile->signed_endian&AFORM_BIG_ENDIAN)) swap_endian=TRUE; + if (mainw->endian != AFORM_BIG_ENDIAN && (cfile->signed_endian & AFORM_BIG_ENDIAN)) swap_endian = TRUE; //if (mainw->endian==AFORM_BIG_ENDIAN && (cfile->signed_endian&AFORM_BIG_ENDIAN)) swap_endian=TRUE; // needs test } } - if (strlen(prefs->encoder.of_restrict)>0) { + if (strlen(prefs->encoder.of_restrict) > 0) { - pieces=get_token_count(prefs->encoder.of_restrict,','); - checks=lives_strsplit(prefs->encoder.of_restrict,",",pieces); + pieces = get_token_count(prefs->encoder.of_restrict, ','); + checks = lives_strsplit(prefs->encoder.of_restrict, ",", pieces); - for (r=0; r<pieces; r++) { + for (r = 0; r < pieces; r++) { // check each restriction in turn - if (!strncmp(checks[r],"fps=",4)) { + if (!strncmp(checks[r], "fps=", 4)) { double allowed_fps; - int mbest_num=0,mbest_denom=0; + int mbest_num = 0, mbest_denom = 0; int numparts; char *fixer; - best_fps_delta=1000000000.; - array=lives_strsplit(checks[r],"=",2); - numtok=get_token_count(array[1],';'); - array2=lives_strsplit(array[1],";",numtok); - for (i=0; i<numtok; i++) { - mbest_num=mbest_denom=0; - if ((numparts=get_token_count(array2[i],':'))>1) { - char **array3=lives_strsplit(array2[i],":",2); - mbest_num=atoi(array3[0]); - mbest_denom=atoi(array3[1]); + best_fps_delta = 1000000000.; + array = lives_strsplit(checks[r], "=", 2); + numtok = get_token_count(array[1], ';'); + array2 = lives_strsplit(array[1], ";", numtok); + for (i = 0; i < numtok; i++) { + mbest_num = mbest_denom = 0; + if ((numparts = get_token_count(array2[i], ':')) > 1) { + char **array3 = lives_strsplit(array2[i], ":", 2); + mbest_num = atoi(array3[0]); + mbest_denom = atoi(array3[1]); lives_strfreev(array3); - if (mbest_denom==0) continue; - allowed_fps=(mbest_num*1.)/(mbest_denom*1.); - } else allowed_fps=lives_strtod(array2[i],NULL); + if (mbest_denom == 0) continue; + allowed_fps = (mbest_num * 1.) / (mbest_denom * 1.); + } else allowed_fps = lives_strtod(array2[i], NULL); // convert to 8dp - fixer=lives_strdup_printf("%.8f %.8f",allowed_fps,fps); + fixer = lives_strdup_printf("%.8f %.8f", allowed_fps, fps); lives_free(fixer); - if (allowed_fps>=fps) { - if (allowed_fps-fps<best_fps_delta) { - best_fps_delta=allowed_fps-fps; - if (mbest_denom>0) { - best_fps_num=mbest_num; - best_fps_denom=mbest_denom; - best_fps=0.; - if (rdet==NULL) cfile->ratio_fps=TRUE; - else rdet->ratio_fps=TRUE; + if (allowed_fps >= fps) { + if (allowed_fps - fps < best_fps_delta) { + best_fps_delta = allowed_fps - fps; + if (mbest_denom > 0) { + best_fps_num = mbest_num; + best_fps_denom = mbest_denom; + best_fps = 0.; + if (rdet == NULL) cfile->ratio_fps = TRUE; + else rdet->ratio_fps = TRUE; } else { - best_fps_num=best_fps_denom=0; - best_fps=allowed_fps; - if (rdet==NULL) cfile->ratio_fps=FALSE; - else rdet->ratio_fps=FALSE; + best_fps_num = best_fps_denom = 0; + best_fps = allowed_fps; + if (rdet == NULL) cfile->ratio_fps = FALSE; + else rdet->ratio_fps = FALSE; } } - } else if ((best_fps_denom==0&&allowed_fps>best_fps)||(best_fps_denom>0&&allowed_fps>(best_fps_num*1.)/ - (best_fps_denom*1.))) { - best_fps_delta=fps-allowed_fps; - if (mbest_denom>0) { - best_fps_num=mbest_num; - best_fps_denom=mbest_denom; - best_fps=0.; - if (rdet==NULL) cfile->ratio_fps=TRUE; - else rdet->ratio_fps=TRUE; + } else if ((best_fps_denom == 0 && allowed_fps > best_fps) || (best_fps_denom > 0 && allowed_fps > (best_fps_num * 1.) / + (best_fps_denom * 1.))) { + best_fps_delta = fps - allowed_fps; + if (mbest_denom > 0) { + best_fps_num = mbest_num; + best_fps_denom = mbest_denom; + best_fps = 0.; + if (rdet == NULL) cfile->ratio_fps = TRUE; + else rdet->ratio_fps = TRUE; } else { - best_fps=allowed_fps; - best_fps_num=best_fps_denom=0; - if (rdet==NULL) cfile->ratio_fps=FALSE; - else rdet->ratio_fps=FALSE; + best_fps = allowed_fps; + best_fps_num = best_fps_denom = 0; + if (rdet == NULL) cfile->ratio_fps = FALSE; + else rdet->ratio_fps = FALSE; } } - if (best_fps_delta<(.0005*prefs->ignore_tiny_fps_diffs)) { - best_fps_delta=0.; - best_fps_denom=best_fps_num=0; + if (best_fps_delta < (.0005 * prefs->ignore_tiny_fps_diffs)) { + best_fps_delta = 0.; + best_fps_denom = best_fps_num = 0; } - if (best_fps_delta==0.) break; + if (best_fps_delta == 0.) break; } lives_strfreev(array); lives_strfreev(array2); continue; } - if (!strncmp(checks[r],"size=",5)) { + if (!strncmp(checks[r], "size=", 5)) { // TODO - allow list for size - array=lives_strsplit(checks[r],"=",2); - array2=lives_strsplit(array[1],"x",2); - width=atoi(array2[0]); - height=atoi(array2[1]); + array = lives_strsplit(checks[r], "=", 2); + array2 = lives_strsplit(array[1], "x", 2); + width = atoi(array2[0]); + height = atoi(array2[1]); lives_strfreev(array2); lives_strfreev(array); - sizer=TRUE; + sizer = TRUE; continue; } - if (!strncmp(checks[r],"minw=",5)) { - array=lives_strsplit(checks[r],"=",2); - val=atoi(array[1]); - if (width<val) width=val; + if (!strncmp(checks[r], "minw=", 5)) { + array = lives_strsplit(checks[r], "=", 2); + val = atoi(array[1]); + if (width < val) width = val; lives_strfreev(array); continue; } - if (!strncmp(checks[r],"minh=",5)) { - array=lives_strsplit(checks[r],"=",2); - val=atoi(array[1]); - if (height<val) height=val; + if (!strncmp(checks[r], "minh=", 5)) { + array = lives_strsplit(checks[r], "=", 2); + val = atoi(array[1]); + if (height < val) height = val; lives_strfreev(array); continue; } - if (!strncmp(checks[r],"maxh=",5)) { - array=lives_strsplit(checks[r],"=",2); - val=atoi(array[1]); - if (height>val) height=val; + if (!strncmp(checks[r], "maxh=", 5)) { + array = lives_strsplit(checks[r], "=", 2); + val = atoi(array[1]); + if (height > val) height = val; lives_strfreev(array); continue; } - if (!strncmp(checks[r],"maxw=",5)) { - array=lives_strsplit(checks[r],"=",2); - val=atoi(array[1]); - if (width>val) width=val; + if (!strncmp(checks[r], "maxw=", 5)) { + array = lives_strsplit(checks[r], "=", 2); + val = atoi(array[1]); + if (width > val) width = val; lives_strfreev(array); continue; } - if (!strncmp(checks[r],"asigned=",8)&& - ((mainw->save_with_sound||rdet!=NULL)&&(resaudw==NULL|| - resaudw->aud_checkbutton==NULL|| + if (!strncmp(checks[r], "asigned=", 8) && + ((mainw->save_with_sound || rdet != NULL) && (resaudw == NULL || + resaudw->aud_checkbutton == NULL || lives_toggle_button_get_active - (LIVES_TOGGLE_BUTTON(resaudw->aud_checkbutton))))&& - prefs->encoder.audio_codec!=AUDIO_CODEC_NONE - &&(arate*achans*asampsize)) { - array=lives_strsplit(checks[r],"=",2); - if (!strcmp(array[1],"signed")) { - asigned=1; + (LIVES_TOGGLE_BUTTON(resaudw->aud_checkbutton)))) && + prefs->encoder.audio_codec != AUDIO_CODEC_NONE + && (arate * achans * asampsize)) { + array = lives_strsplit(checks[r], "=", 2); + if (!strcmp(array[1], "signed")) { + asigned = 1; } - if (!strcmp(array[1],"unsigned")) { - asigned=2; + if (!strcmp(array[1], "unsigned")) { + asigned = 2; } lives_strfreev(array); - if (asigned!=0&&!capable->has_sox_sox) { + if (asigned != 0 && !capable->has_sox_sox) { do_encoder_sox_error(); lives_strfreev(checks); return FALSE; @@ -1846,29 +1840,29 @@ } - if (!strncmp(checks[r],"arate=",6)&&((mainw->save_with_sound||rdet!=NULL)&&(resaudw==NULL|| - resaudw->aud_checkbutton==NULL|| - lives_toggle_button_get_active - (LIVES_TOGGLE_BUTTON - (resaudw->aud_checkbutton))))&& - prefs->encoder.audio_codec!=AUDIO_CODEC_NONE&&(arate*achans*asampsize)) { + if (!strncmp(checks[r], "arate=", 6) && ((mainw->save_with_sound || rdet != NULL) && (resaudw == NULL || + resaudw->aud_checkbutton == NULL || + lives_toggle_button_get_active + (LIVES_TOGGLE_BUTTON + (resaudw->aud_checkbutton)))) && + prefs->encoder.audio_codec != AUDIO_CODEC_NONE && (arate * achans * asampsize)) { // we only perform this test if we are encoding with audio // find next highest allowed rate from list, // if none are higher, use the highest int allowed_arate; - best_arate_delta=1000000000; + best_arate_delta = 1000000000; - array=lives_strsplit(checks[r],"=",2); - numtok=get_token_count(array[1],';'); - array2=lives_strsplit(array[1],";",numtok); - for (i=0; i<numtok; i++) { - allowed_arate=atoi(array2[i]); - if (allowed_arate>=arate) { - if (allowed_arate-arate<best_arate_delta) { - best_arate_delta=allowed_arate-arate; - best_arate=allowed_arate; + array = lives_strsplit(checks[r], "=", 2); + numtok = get_token_count(array[1], ';'); + array2 = lives_strsplit(array[1], ";", numtok); + for (i = 0; i < numtok; i++) { + allowed_arate = atoi(array2[i]); + if (allowed_arate >= arate) { + if (allowed_arate - arate < best_arate_delta) { + best_arate_delta = allowed_arate - arate; + best_arate = allowed_arate; } - } else if (allowed_arate>best_arate) best_arate=allowed_arate; + } else if (allowed_arate > best_arate) best_arate = allowed_arate; } lives_strfreev(array2); lives_strfreev(array); @@ -1881,30 +1875,30 @@ continue; } - if (!strncmp(checks[r],"hblock=",7)) { + if (!strncmp(checks[r], "hblock=", 7)) { // width must be a multiple of this - array=lives_strsplit(checks[r],"=",2); - hblock=atoi(array[1]); - width=(int)(width/hblock+.5)*hblock; + array = lives_strsplit(checks[r], "=", 2); + hblock = atoi(array[1]); + width = (int)(width / hblock + .5) * hblock; lives_strfreev(array); continue; } - if (!strncmp(checks[r],"vblock=",7)) { + if (!strncmp(checks[r], "vblock=", 7)) { // height must be a multiple of this - array=lives_strsplit(checks[r],"=",2); - vblock=atoi(array[1]); - height=(int)(height/vblock+.5)*vblock; + array = lives_strsplit(checks[r], "=", 2); + vblock = atoi(array[1]); + height = (int)(height / vblock + .5) * vblock; lives_strfreev(array); continue; } - if (!strncmp(checks[r],"aspect=",7)) { + if (!strncmp(checks[r], "aspect=", 7)) { // we calculate the nearest smaller frame size using aspect, // hblock and vblock - calc_aspect=TRUE; - array=lives_strsplit(checks[r],"=",2); - lives_snprintf(aspect_buffer,512,"%s",array[1]); + calc_aspect = TRUE; + array = lives_strsplit(checks[r], "=", 2); + lives_snprintf(aspect_buffer, 512, "%s", array[1]); lives_strfreev(array); continue; } @@ -1913,39 +1907,39 @@ /// end restrictions lives_strfreev(checks); - if (!mainw->osc_auto&&calc_aspect&&!sizer) { + if (!mainw->osc_auto && calc_aspect && !sizer) { // we calculate this last, after getting hblock and vblock sizes char **array3; double allowed_aspect; - int xwidth=width; - int xheight=height; + int xwidth = width; + int xheight = height; - width=height=1000000; + width = height = 1000000; - numtok=get_token_count(aspect_buffer,';'); - array2=lives_strsplit(aspect_buffer,";",numtok); + numtok = get_token_count(aspect_buffer, ';'); + array2 = lives_strsplit(aspect_buffer, ";", numtok); // see if we can get a width:height which is nearer an aspect than // current width:height - for (i=0; i<numtok; i++) { - array3=lives_strsplit(array2[i],":",2); - allowed_aspect=lives_strtod(array3[0],NULL)/lives_strtod(array3[1],NULL); + for (i = 0; i < numtok; i++) { + array3 = lives_strsplit(array2[i], ":", 2); + allowed_aspect = lives_strtod(array3[0], NULL) / lives_strtod(array3[1], NULL); lives_strfreev(array3); - minimise_aspect_delta(allowed_aspect,hblock,vblock,xwidth,xheight,&width,&height); + minimise_aspect_delta(allowed_aspect, hblock, vblock, xwidth, xheight, &width, &height); } lives_strfreev(array2); // allow override if current width and height are integer multiples of blocks - if (owidth%hblock==0&&oheight%vblock==0) allow_aspect_override=TRUE; + if (owidth % hblock == 0 && oheight % vblock == 0) allow_aspect_override = TRUE; // end recheck } // fps can't be altered if we have a multitrack event_list - if (mainw->multitrack!=NULL&&mainw->multitrack->event_list!=NULL) best_fps_delta=0.; + if (mainw->multitrack != NULL && mainw->multitrack->event_list != NULL) best_fps_delta = 0.; - if (sizer) allow_aspect_override=FALSE; + if (sizer) allow_aspect_override = FALSE; } @@ -1954,78 +1948,78 @@ // if we have min or max size, make sure we fit within that - if (((width!=owidth||height!=oheight)&&width*height>0)||(best_fps_delta>0.)||(best_arate_delta>0&&best_arate>0)|| - best_arate<0||asigned!=0||swap_endian) { - boolean ofx1_bool=mainw->fx1_bool; - mainw->fx1_bool=FALSE; - if ((width!=owidth||height!=oheight)&&width*height>0) { - if (!capable->has_convert&&rdet==NULL&&mainw->fx_candidates[FX_CANDIDATE_RESIZER].delegate==-1) { + if (((width != owidth || height != oheight) && width * height > 0) || (best_fps_delta > 0.) || (best_arate_delta > 0 && best_arate > 0) || + best_arate < 0 || asigned != 0 || swap_endian) { + boolean ofx1_bool = mainw->fx1_bool; + mainw->fx1_bool = FALSE; + if ((width != owidth || height != oheight) && width * height > 0) { + if (!capable->has_convert && rdet == NULL && mainw->fx_candidates[FX_CANDIDATE_RESIZER].delegate == -1) { if (allow_aspect_override) { - width=owidth; - height=oheight; + width = owidth; + height = oheight; } } } - if (rdet!=NULL&&!rdet->is_encoding) { - rdet->arate=(int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_arate))); - rdet->achans=(int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_achans))); - rdet->asamps=(int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_asamps))); - rdet->aendian=get_signed_endian(lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->rb_unsigned)), - lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->rb_littleend))); + if (rdet != NULL && !rdet->is_encoding) { + rdet->arate = (int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_arate))); + rdet->achans = (int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_achans))); + rdet->asamps = (int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_asamps))); + rdet->aendian = get_signed_endian(lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->rb_unsigned)), + lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->rb_littleend))); - if (swap_endian||width!=rdet->width||height!=rdet->height||best_fps_delta!=0.||best_arate!=rdet->arate|| - ((asigned==1&&(rdet->aendian&AFORM_UNSIGNED))||(asigned==2&&!(rdet->aendian&AFORM_SIGNED)))) { + if (swap_endian || width != rdet->width || height != rdet->height || best_fps_delta != 0. || best_arate != rdet->arate || + ((asigned == 1 && (rdet->aendian & AFORM_UNSIGNED)) || (asigned == 2 && !(rdet->aendian & AFORM_SIGNED)))) { - if (rdet_suggest_values(width,height,best_fps,best_fps_num,best_fps_denom,best_arate,asigned,swap_endian, - allow_aspect_override,(best_fps_delta==0.))) { + if (rdet_suggest_values(width, height, best_fps, best_fps_num, best_fps_denom, best_arate, asigned, swap_endian, + allow_aspect_override, (best_fps_delta == 0.))) { char *arate_string; - rdet->width=width; - rdet->height=height; - if (best_arate!=-1) rdet->arate=best_arate; - else lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(resaudw->aud_checkbutton),FALSE); + rdet->width = width; + rdet->height = height; + if (best_arate != -1) rdet->arate = best_arate; + else lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(resaudw->aud_checkbutton), FALSE); - if (asigned==1) lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(resaudw->rb_signed),TRUE); - else if (asigned==2) lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(resaudw->rb_unsigned),TRUE); + if (asigned == 1) lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(resaudw->rb_signed), TRUE); + else if (asigned == 2) lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(resaudw->rb_unsigned), TRUE); if (swap_endian) { if (!lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->rb_bigend))) - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(resaudw->rb_bigend),TRUE); - else lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(resaudw->rb_littleend),TRUE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(resaudw->rb_bigend), TRUE); + else lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(resaudw->rb_littleend), TRUE); } - if (best_fps_delta>0.) { - if (best_fps_denom>0) { - rdet->fps=(best_fps_num*1.)/(best_fps_denom*1.); - } else rdet->fps=best_fps; - lives_spin_button_set_value(LIVES_SPIN_BUTTON(rdet->spinbutton_fps),rdet->fps); + if (best_fps_delta > 0.) { + if (best_fps_denom > 0) { + rdet->fps = (best_fps_num * 1.) / (best_fps_denom * 1.); + } else rdet->fps = best_fps; + lives_spin_button_set_value(LIVES_SPIN_BUTTON(rdet->spinbutton_fps), rdet->fps); } - lives_spin_button_set_value(LIVES_SPIN_BUTTON(rdet->spinbutton_width),rdet->width); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(rdet->spinbutton_height),rdet->height); - if (best_arate!=-1) { - arate_string=lives_strdup_printf("%d",best_arate); - lives_entry_set_text(LIVES_ENTRY(resaudw->entry_arate),arate_string); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(rdet->spinbutton_width), rdet->width); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(rdet->spinbutton_height), rdet->height); + if (best_arate != -1) { + arate_string = lives_strdup_printf("%d", best_arate); + lives_entry_set_text(LIVES_ENTRY(resaudw->entry_arate), arate_string); lives_free(arate_string); } - rdet->suggestion_followed=TRUE; + rdet->suggestion_followed = TRUE; return TRUE; } } return FALSE; } - if (mainw->osc_auto||do_encoder_restrict_dialog(width,height,best_fps,best_fps_num,best_fps_denom,best_arate, - asigned,swap_endian,allow_aspect_override,save_all)) { - if (!mainw->fx1_bool&&mainw->osc_enc_width==0) { - width=owidth; - height=oheight; + if (mainw->osc_auto || do_encoder_restrict_dialog(width, height, best_fps, best_fps_num, best_fps_denom, best_arate, + asigned, swap_endian, allow_aspect_override, save_all)) { + if (!mainw->fx1_bool && mainw->osc_enc_width == 0) { + width = owidth; + height = oheight; } - if (!auto_resample_resize(width,height,best_fps,best_fps_num,best_fps_denom,best_arate,asigned,swap_endian)) { - mainw->fx1_bool=ofx1_bool; + if (!auto_resample_resize(width, height, best_fps, best_fps_num, best_fps_denom, best_arate, asigned, swap_endian)) { + mainw->fx1_bool = ofx1_bool; return FALSE; } } else { - mainw->fx1_bool=ofx1_bool; + mainw->fx1_bool = ofx1_bool; return FALSE; } } @@ -2036,63 +2030,63 @@ LiVESList *filter_encoders_by_img_ext(LiVESList *encoders, const char *img_ext) { - LiVESList *encoder_capabilities=NULL; - LiVESList *list=encoders,*listnext; + LiVESList *encoder_capabilities = NULL; + LiVESList *list = encoders, *listnext; int caps; register int i; - char *blacklist[]= { + char *blacklist[] = { NULL, NULL }; // something broke as of python 2.7.2, and python 3 files now just hang - if (capable->python_version<3000000) blacklist[0]=lives_strdup("multi_encoder3"); + if (capable->python_version < 3000000) blacklist[0] = lives_strdup("multi_encoder3"); - while (list!=NULL) { - boolean skip=FALSE; - i=0; + while (list != NULL) { + boolean skip = FALSE; + i = 0; - listnext=list->next; + listnext = list->next; - while (blacklist[i]!=NULL) { - if (strlen((char *)list->data)==strlen(blacklist[i])&&!strcmp((char *)list->data,blacklist[i])) { + while (blacklist[i] != NULL) { + if (strlen((char *)list->data) == strlen(blacklist[i]) && !strcmp((char *)list->data, blacklist[i])) { // skip blacklisted encoders lives_free((livespointer)list->data); - encoders=lives_list_delete_link(encoders,list); - skip=TRUE; + encoders = lives_list_delete_link(encoders, list); + skip = TRUE; break; } i++; } if (skip) { - list=listnext; + list = listnext; continue; } - if (!strcmp(img_ext,LIVES_FILE_EXT_JPG)) { - list=listnext; + if (!strcmp(img_ext, LIVES_FILE_EXT_JPG)) { + list = listnext; continue; } - if ((encoder_capabilities=plugin_request(PLUGIN_ENCODERS,(char *)list->data,"get_capabilities"))==NULL) { + if ((encoder_capabilities = plugin_request(PLUGIN_ENCODERS, (char *)list->data, "get_capabilities")) == NULL) { lives_free((livespointer)list->data); - encoders=lives_list_delete_link(encoders,list); + encoders = lives_list_delete_link(encoders, list); } else { - caps=atoi((char *)lives_list_nth_data(encoder_capabilities,0)); - if (!(caps&CAN_ENCODE_PNG)&&!strcmp(img_ext,LIVES_FILE_EXT_PNG)) { + caps = atoi((char *)lives_list_nth_data(encoder_capabilities, 0)); + if (!(caps & CAN_ENCODE_PNG) && !strcmp(img_ext, LIVES_FILE_EXT_PNG)) { lives_free((livespointer)list->data); - encoders=lives_list_delete_link(encoders,list); + encoders = lives_list_delete_link(encoders, list); } lives_list_free_all(&encoder_capabilities); } - list=listnext; + list = listnext; } - for (i=0; blacklist[i]!=NULL; i++) lives_free(blacklist[i]); + for (i = 0; blacklist[i] != NULL; i++) lives_free(blacklist[i]); return encoders; @@ -2105,9 +2099,9 @@ LIVES_INLINE boolean decplugin_supports_palette(const lives_decoder_t *dplug, int palette) { - register int i=0; + register int i = 0; int cpal; - while ((cpal=dplug->cdata->palettes[i++])!=WEED_PALETTE_END) if (cpal==palette) return TRUE; + while ((cpal = dplug->cdata->palettes[i++]) != WEED_PALETTE_END) if (cpal == palette) return TRUE; return FALSE; } @@ -2115,12 +2109,12 @@ static LiVESList *load_decoders(void) { lives_decoder_sys_t *dplug; - char *decplugdir=lives_strdup_printf("%s%s%s",prefs->lib_dir,PLUGIN_EXEC_DIR,PLUGIN_DECODERS); - LiVESList *dlist=NULL; - LiVESList *decoder_plugins_o=get_plugin_list(PLUGIN_DECODERS,TRUE,decplugdir,"-"DLL_NAME); - LiVESList *decoder_plugins=decoder_plugins_o; + char *decplugdir = lives_strdup_printf("%s%s%s", prefs->lib_dir, PLUGIN_EXEC_DIR, PLUGIN_DECODERS); + LiVESList *dlist = NULL; + LiVESList *decoder_plugins_o = get_plugin_list(PLUGIN_DECODERS, TRUE, decplugdir, "-"DLL_NAME); + LiVESList *decoder_plugins = decoder_plugins_o; - char *blacklist[2]= { + char *blacklist[2] = { "zyavformat_decoder", NULL }; @@ -2130,28 +2124,28 @@ register int i; - while (decoder_plugins!=NULL) { - skip=FALSE; - dplugname=(char *)decoder_plugins->data; - for (i=0; blacklist[i]!=NULL; i++) { - if (!strcmp(dplugname,blacklist[i])) { + while (decoder_plugins != NULL) { + skip = FALSE; + dplugname = (char *)decoder_plugins->data; + for (i = 0; blacklist[i] != NULL; i++) { + if (!strcmp(dplugname, blacklist[i])) { // skip blacklisted decoders - skip=TRUE; + skip = TRUE; break; } } if (!skip) { - dplug=open_decoder_plugin((char *)decoder_plugins->data); - if (dplug!=NULL) dlist=lives_list_append(dlist,(livespointer)dplug); + dplug = open_decoder_plugin((char *)decoder_plugins->data); + if (dplug != NULL) dlist = lives_list_append(dlist, (livespointer)dplug); } lives_free((livespointer)decoder_plugins->data); - decoder_plugins=decoder_plugins->next; + decoder_plugins = decoder_plugins->next; } lives_list_free(decoder_plugins_o); - if (dlist==NULL) { - char *msg=lives_strdup_printf(_("\n\nNo decoders found in %s !\n"),decplugdir); + if (dlist == NULL) { + char *msg = lives_strdup_printf(_("\n\nNo decoders found in %s !\n"), decplugdir); LIVES_WARN(msg); d_print(msg); lives_free(msg); @@ -2164,12 +2158,12 @@ static boolean sanity_check_cdata(lives_clip_data_t *cdata) { - if (cdata->nframes<=0 || cdata->nframes >= INT_MAX) { + if (cdata->nframes <= 0 || cdata->nframes >= INT_MAX) { return FALSE; } // no usable palettes found - if (cdata->palettes[0]==WEED_PALETTE_END) return FALSE; + if (cdata->palettes[0] == WEED_PALETTE_END) return FALSE; // all checks passed - OK return TRUE; @@ -2189,64 +2183,64 @@ const lives_decoder_sys_t *dpsys; lives_clip_data_t *cdata; - if (mainw->files[fileno]==NULL||mainw->files[fileno]->ext_src==NULL) return NULL; + if (mainw->files[fileno] == NULL || mainw->files[fileno]->ext_src == NULL) return NULL; - cdata=((lives_decoder_sys_t *)((lives_decoder_t *)mainw->files[fileno]->ext_src)->decoder)->get_clip_data - (NULL,((lives_decoder_t *)mainw->files[fileno]->ext_src)->cdata); + cdata = ((lives_decoder_sys_t *)((lives_decoder_t *)mainw->files[fileno]->ext_src)->decoder)->get_clip_data + (NULL, ((lives_decoder_t *)mainw->files[fileno]->ext_src)->cdata); - if (cdata==NULL) return NULL; + if (cdata == NULL) return NULL; - dplug=(lives_decoder_t *)lives_malloc(sizeof(lives_decoder_t)); + dplug = (lives_decoder_t *)lives_malloc(sizeof(lives_decoder_t)); - dpsys=((lives_decoder_t *)mainw->files[fileno]->ext_src)->decoder; + dpsys = ((lives_decoder_t *)mainw->files[fileno]->ext_src)->decoder; - dplug->decoder=dpsys; - dplug->cdata=cdata; + dplug->decoder = dpsys; + dplug->cdata = cdata; return dplug; } static lives_decoder_t *try_decoder_plugins(char *file_name, LiVESList *disabled, const lives_clip_data_t *fake_cdata) { - lives_decoder_t *dplug=(lives_decoder_t *)lives_malloc(sizeof(lives_decoder_t)); - LiVESList *decoder_plugin=mainw->decoder_list; + lives_decoder_t *dplug = (lives_decoder_t *)lives_malloc(sizeof(lives_decoder_t)); + LiVESList *decoder_plugin = mainw->decoder_list; - while (decoder_plugin!=NULL) { - lives_decoder_sys_t *dpsys=(lives_decoder_sys_t *)decoder_plugin->data; + while (decoder_plugin != NULL) { + lives_decoder_sys_t *dpsys = (lives_decoder_sys_t *)decoder_plugin->data; - if (lives_list_strcmp_index(disabled,dpsys->name)!=-1) { + if (lives_list_strcmp_index(disabled, dpsys->name) != -1) { // check if (user) disabled this decoder - decoder_plugin=decoder_plugin->next; + decoder_plugin = decoder_plugin->next; continue; } //#define DEBUG_DECPLUG #ifdef DEBUG_DECPLUG - g_print("trying decoder %s\n",dpsys->name); + g_print("trying decoder %s\n", dpsys->name); #endif - dplug->cdata=(dpsys->get_clip_data)(file_name,fake_cdata); + dplug->cdata = (dpsys->get_clip_data)(file_name, fake_cdata); - if (dplug->cdata!=NULL) { + if (dplug->cdata != NULL) { // check for sanity if (!sanity_check_cdata(dplug->cdata)) { - decoder_plugin=decoder_plugin->next; + decoder_plugin = decoder_plugin->next; continue; } ////////////////////// - dplug->decoder=dpsys; + dplug->decoder = dpsys; - if (strncmp(dpsys->name,"zz",2)) { - mainw->decoder_list=lives_list_move_to_first(mainw->decoder_list, decoder_plugin); + if (strncmp(dpsys->name, "zz", 2)) { + mainw->decoder_list = lives_list_move_to_first(mainw->decoder_list, decoder_plugin); } break; } - decoder_plugin=decoder_plugin->next; + decoder_plugin = decoder_plugin->next; } - if (decoder_plugin==NULL) { + if (decoder_plugin == NULL) { lives_freep((void **)&dplug); } @@ -2271,77 +2265,77 @@ lives_decoder_t *dplug; - LiVESList *dlist=NULL,*xdisabled; + LiVESList *dlist = NULL, *xdisabled; - lives_clip_t *sfile=mainw->files[fileno]; + lives_clip_t *sfile = mainw->files[fileno]; char decplugname[PATH_MAX]; - mainw->error=FALSE; + mainw->error = FALSE; if (!lives_file_test(sfile->file_name, LIVES_FILE_TEST_EXISTS)) { - mainw->error=TRUE; + mainw->error = TRUE; return NULL; } - memset(decplugname,0,1); + memset(decplugname, 0, 1); // check sfile->file_name against each decoder plugin, // until we get non-NULL cdata - sfile->ext_src=NULL; + sfile->ext_src = NULL; - lives_set_cursor_style(LIVES_CURSOR_BUSY,NULL); + lives_set_cursor_style(LIVES_CURSOR_BUSY, NULL); if (!mainw->decoders_loaded) { - mainw->decoder_list=load_decoders(); - mainw->decoders_loaded=TRUE; + mainw->decoder_list = load_decoders(); + mainw->decoders_loaded = TRUE; } - xdisabled=lives_list_copy(disabled); + xdisabled = lives_list_copy(disabled); - if (fake_cdata!=NULL) { - get_clip_value(fileno,CLIP_DETAILS_DECODER_NAME,decplugname,PATH_MAX); + if (fake_cdata != NULL) { + get_clip_value(fileno, CLIP_DETAILS_DECODER_NAME, decplugname, PATH_MAX); if (strlen(decplugname)) { - LiVESList *decoder_plugin=mainw->decoder_list; - if (!strncmp(decplugname,"zz",2)) { - dlist=lives_list_copy(mainw->decoder_list); + LiVESList *decoder_plugin = mainw->decoder_list; + if (!strncmp(decplugname, "zz", 2)) { + dlist = lives_list_copy(mainw->decoder_list); } - while (decoder_plugin!=NULL) { - lives_decoder_sys_t *dpsys=(lives_decoder_sys_t *)decoder_plugin->data; - if (!strcmp(dpsys->name,decplugname)) { - mainw->decoder_list=lives_list_move_to_first(mainw->decoder_list, decoder_plugin); + while (decoder_plugin != NULL) { + lives_decoder_sys_t *dpsys = (lives_decoder_sys_t *)decoder_plugin->data; + if (!strcmp(dpsys->name, decplugname)) { + mainw->decoder_list = lives_list_move_to_first(mainw->decoder_list, decoder_plugin); break; } - decoder_plugin=decoder_plugin->next; + decoder_plugin = decoder_plugin->next; } - xdisabled=lives_list_remove(disabled,decplugname); + xdisabled = lives_list_remove(disabled, decplugname); } } - dplug=try_decoder_plugins(fake_cdata==NULL?sfile->file_name:NULL,xdisabled,fake_cdata); + dplug = try_decoder_plugins(fake_cdata == NULL ? sfile->file_name : NULL, xdisabled, fake_cdata); if (strlen(decplugname)) { - if (!strncmp(decplugname,"zz",2)) { - if (mainw->decoder_list!=NULL) lives_list_free(mainw->decoder_list); - mainw->decoder_list=dlist; + if (!strncmp(decplugname, "zz", 2)) { + if (mainw->decoder_list != NULL) lives_list_free(mainw->decoder_list); + mainw->decoder_list = dlist; } } - if (xdisabled!=NULL) lives_list_free(xdisabled); + if (xdisabled != NULL) lives_list_free(xdisabled); - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); - if (dplug!=NULL) { - d_print(_(" using %s"),dplug->decoder->version()); - sfile->ext_src=dplug; + if (dplug != NULL) { + d_print(_(" using %s"), dplug->decoder->version()); + sfile->ext_src = dplug; return dplug->cdata; } - if (dplug!=NULL) return dplug->cdata; + if (dplug != NULL) return dplug->cdata; return NULL; } @@ -2354,11 +2348,11 @@ void close_decoder_plugin(lives_decoder_t *dplug) { lives_clip_data_t *cdata; - if (dplug==NULL) return; + if (dplug == NULL) return; - cdata=dplug->cdata; + cdata = dplug->cdata; - if (cdata!=NULL)(*dplug->decoder->clip_data_free)(cdata); + if (cdata != NULL)(*dplug->decoder->clip_data_free)(cdata); lives_free(dplug); @@ -2366,7 +2360,7 @@ static void unload_decoder_plugin(lives_decoder_sys_t *dplug) { - if (dplug->module_unload!=NULL)(*dplug->module_unload)(); + if (dplug->module_unload != NULL)(*dplug->module_unload)(); lives_freep((void **)&dplug->name); @@ -2376,16 +2370,16 @@ void unload_decoder_plugins(void) { - LiVESList *dplugs=mainw->decoder_list; + LiVESList *dplugs = mainw->decoder_list; - while (dplugs!=NULL) { + while (dplugs != NULL) { unload_decoder_plugin((lives_decoder_sys_t *)dplugs->data); - dplugs=dplugs->next; + dplugs = dplugs->next; } lives_list_free(mainw->decoder_list); - mainw->decoder_list=NULL; - mainw->decoders_loaded=FALSE; + mainw->decoder_list = NULL; + mainw->decoders_loaded = FALSE; } @@ -2394,71 +2388,71 @@ lives_decoder_sys_t *dplug; char *plugname; - boolean OK=TRUE; + boolean OK = TRUE; const char *err; - if (!strcmp(plname,"ogg_theora_decoder")) { + if (!strcmp(plname, "ogg_theora_decoder")) { // no longer compatible return NULL; } - dplug=(lives_decoder_sys_t *)lives_malloc(sizeof(lives_decoder_sys_t)); + dplug = (lives_decoder_sys_t *)lives_malloc(sizeof(lives_decoder_sys_t)); - dplug->name=NULL; + dplug->name = NULL; - plugname=lives_strdup_printf("%s%s%s"LIVES_DIR_SEP"%s."DLL_NAME,prefs->lib_dir,PLUGIN_EXEC_DIR,PLUGIN_DECODERS,plname); + plugname = lives_strdup_printf("%s%s%s"LIVES_DIR_SEP"%s."DLL_NAME, prefs->lib_dir, PLUGIN_EXEC_DIR, PLUGIN_DECODERS, plname); - dplug->handle=dlopen(plugname,RTLD_LAZY); + dplug->handle = dlopen(plugname, RTLD_LAZY); lives_free(plugname); - if (dplug->handle==NULL) { - d_print(_("\n\nFailed to open decoder plugin %s\nError was %s\n"),plname,dlerror()); + if (dplug->handle == NULL) { + d_print(_("\n\nFailed to open decoder plugin %s\nError was %s\n"), plname, dlerror()); lives_free(dplug); return NULL; } - if ((dplug->version=(const char *(*)())dlsym(dplug->handle,"version"))==NULL) { - OK=FALSE; + if ((dplug->version = (const char *(*)())dlsym(dplug->handle, "version")) == NULL) { + OK = FALSE; } - if ((dplug->get_clip_data=(lives_clip_data_t *(*)(char *, const lives_clip_data_t *)) - dlsym(dplug->handle,"get_clip_data"))==NULL) { - OK=FALSE; - } - if ((dplug->get_frame=(boolean(*)(const lives_clip_data_t *, int64_t, int *, int, void **)) - dlsym(dplug->handle,"get_frame"))==NULL) { - OK=FALSE; + if ((dplug->get_clip_data = (lives_clip_data_t *(*)(char *, const lives_clip_data_t *)) + dlsym(dplug->handle, "get_clip_data")) == NULL) { + OK = FALSE; + } + if ((dplug->get_frame = (boolean(*)(const lives_clip_data_t *, int64_t, int *, int, void **)) + dlsym(dplug->handle, "get_frame")) == NULL) { + OK = FALSE; } - if ((dplug->clip_data_free=(void (*)(lives_clip_data_t *))dlsym(dplug->handle,"clip_data_free"))==NULL) { - OK=FALSE; + if ((dplug->clip_data_free = (void (*)(lives_clip_data_t *))dlsym(dplug->handle, "clip_data_free")) == NULL) { + OK = FALSE; } if (!OK) { - d_print(_("\n\nDecoder plugin %s\nis missing a mandatory function.\nUnable to use it.\n"),plname); + d_print(_("\n\nDecoder plugin %s\nis missing a mandatory function.\nUnable to use it.\n"), plname); unload_decoder_plugin(dplug); lives_free(dplug); return NULL; } // optional - dplug->module_check_init=(const char *(*)())dlsym(dplug->handle,"module_check_init"); - dplug->set_palette=(boolean(*)(lives_clip_data_t *))dlsym(dplug->handle,"set_palette"); - dplug->module_unload=(void (*)())dlsym(dplug->handle,"module_unload"); - dplug->rip_audio=(int64_t (*)(const lives_clip_data_t *, const char *, int64_t, int64_t, unsigned char **)) - dlsym(dplug->handle,"rip_audio"); - dplug->rip_audio_cleanup=(void (*)(const lives_clip_data_t *))dlsym(dplug->handle,"rip_audio_cleanup"); + dplug->module_check_init = (const char *(*)())dlsym(dplug->handle, "module_check_init"); + dplug->set_palette = (boolean(*)(lives_clip_data_t *))dlsym(dplug->handle, "set_palette"); + dplug->module_unload = (void (*)())dlsym(dplug->handle, "module_unload"); + dplug->rip_audio = (int64_t (*)(const lives_clip_data_t *, const char *, int64_t, int64_t, unsigned char **)) + dlsym(dplug->handle, "rip_audio"); + dplug->rip_audio_cleanup = (void (*)(const lives_clip_data_t *))dlsym(dplug->handle, "rip_audio_cleanup"); - if (dplug->module_check_init!=NULL) { - err=(*dplug->module_check_init)(); + if (dplug->module_check_init != NULL) { + err = (*dplug->module_check_init)(); - if (err!=NULL) { - lives_snprintf(mainw->msg,512,"%s",err); + if (err != NULL) { + lives_snprintf(mainw->msg, 512, "%s", err); unload_decoder_plugin(dplug); lives_free(dplug); return NULL; } } - dplug->name=lives_strdup(plname); + dplug->name = lives_strdup(plname); return dplug; } @@ -2468,50 +2462,50 @@ void get_mime_type(char *text, int maxlen, const lives_clip_data_t *cdata) { char *audname; - if (cdata->container_name==NULL||!strlen(cdata->container_name)) lives_snprintf(text,40,"%s",_("unknown")); - else lives_snprintf(text,40,"%s",cdata->container_name); + if (cdata->container_name == NULL || !strlen(cdata->container_name)) lives_snprintf(text, 40, "%s", _("unknown")); + else lives_snprintf(text, 40, "%s", cdata->container_name); - if ((cdata->video_name==NULL||!strlen(cdata->video_name))&&(cdata->audio_name==NULL||!strlen(cdata->audio_name))) return; + if ((cdata->video_name == NULL || !strlen(cdata->video_name)) && (cdata->audio_name == NULL || !strlen(cdata->audio_name))) return; - if (cdata->video_name==NULL) lives_strappend(text,40,_("/unknown")); + if (cdata->video_name == NULL) lives_strappend(text, 40, _("/unknown")); else { - char *vidname=lives_strdup_printf("/%s",cdata->video_name); - lives_strappend(text,40,vidname); + char *vidname = lives_strdup_printf("/%s", cdata->video_name); + lives_strappend(text, 40, vidname); lives_free(vidname); } - if (cdata->audio_name==NULL||!strlen(cdata->audio_name)) { - if (cfile->achans==0) return; - audname=lives_strdup_printf("/%s",_("unknown")); + if (cdata->audio_name == NULL || !strlen(cdata->audio_name)) { + if (cfile->achans == 0) return; + audname = lives_strdup_printf("/%s", _("unknown")); } else - audname=lives_strdup_printf("/%s",cdata->audio_name); - lives_strappend(text,40,audname); + audname = lives_strdup_printf("/%s", cdata->audio_name); + lives_strappend(text, 40, audname); lives_free(audname); } static void dpa_ok_clicked(LiVESButton *button, livespointer user_data) { - lives_general_button_clicked(button,NULL); + lives_general_button_clicked(button, NULL); - if (prefsw!=NULL) { + if (prefsw != NULL) { lives_window_present(LIVES_WINDOW(prefsw->prefs_dialog)); lives_xwindow_raise(lives_widget_get_xwindow(prefsw->prefs_dialog)); - if (string_lists_differ(future_prefs->disabled_decoders,future_prefs->disabled_decoders_new)) - apply_button_set_enabled(NULL,NULL); + if (string_lists_differ(future_prefs->disabled_decoders, future_prefs->disabled_decoders_new)) + apply_button_set_enabled(NULL, NULL); } lives_list_free_all(&future_prefs->disabled_decoders); - future_prefs->disabled_decoders=future_prefs->disabled_decoders_new; + future_prefs->disabled_decoders = future_prefs->disabled_decoders_new; } static void dpa_cancel_clicked(LiVESButton *button, livespointer user_data) { - lives_general_button_clicked(button,NULL); + lives_general_button_clicked(button, NULL); - if (prefsw!=NULL) { + if (prefsw != NULL) { lives_window_present(LIVES_WINDOW(prefsw->prefs_dialog)); lives_xwindow_raise(lives_widget_get_xwindow(prefsw->prefs_dialog)); } @@ -2524,9 +2518,9 @@ static void on_dpa_cb_toggled(LiVESToggleButton *button, char *decname) { if (!lives_toggle_button_get_active(button)) // unchecked is disabled - future_prefs->disabled_decoders_new=lives_list_append(future_prefs->disabled_decoders_new,lives_strdup(decname)); + future_prefs->disabled_decoders_new = lives_list_append(future_prefs->disabled_decoders_new, lives_strdup(decname)); else - future_prefs->disabled_decoders_new=lives_list_delete_string(future_prefs->disabled_decoders_new,decname); + future_prefs->disabled_decoders_new = lives_list_delete_string(future_prefs->disabled_decoders_new, decname); } @@ -2544,23 +2538,19 @@ LiVESWidget *okbutton; char *ltext; - char *decplugdir=lives_strdup_printf("%s%s%s",prefs->lib_dir,PLUGIN_EXEC_DIR,PLUGIN_DECODERS); + char *decplugdir = lives_strdup_printf("%s%s%s", prefs->lib_dir, PLUGIN_EXEC_DIR, PLUGIN_DECODERS); if (!mainw->decoders_loaded) { - mainw->decoder_list=load_decoders(); - mainw->decoders_loaded=TRUE; + mainw->decoder_list = load_decoders(); + mainw->decoders_loaded = TRUE; } - decoder_plugin=mainw->decoder_list; + decoder_plugin = mainw->decoder_list; - dialog = lives_standard_dialog_new(_("Decoder Plugins"),FALSE,DEF_DIALOG_WIDTH,DEF_DIALOG_HEIGHT); + dialog = lives_standard_dialog_new(_("Decoder Plugins"), FALSE, DEF_DIALOG_WIDTH, DEF_DIALOG_HEIGHT); if (prefs->show_gui) { - if (prefsw!=NULL) lives_window_set_transient_for(LIVES_WINDOW(dialog),LIVES_WINDOW(prefsw->prefs_dialog)); - else { - if (mainw->multitrack==NULL) lives_window_set_transient_for(LIVES_WINDOW(dialog),LIVES_WINDOW(mainw->LiVES)); - else lives_window_set_transient_for(LIVES_WINDOW(dialog),LIVES_WINDOW(mainw->multitrack->window)); - } + lives_window_set_transient_for(LIVES_WINDOW(dialog), get_transient_full()); } dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(dialog)); @@ -2571,34 +2561,34 @@ lives_container_add(LIVES_CONTAINER(dialog_vbox), scrolledwindow); - label=lives_standard_label_new(_("Enabled Video Decoders (uncheck to disable)")); + label = lives_standard_label_new(_("Enabled Video Decoders (uncheck to disable)")); lives_box_pack_start(LIVES_BOX(vbox), label, FALSE, FALSE, widget_opts.packing_height); - while (decoder_plugin!=NULL) { - lives_decoder_sys_t *dpsys=(lives_decoder_sys_t *)decoder_plugin->data; + while (decoder_plugin != NULL) { + lives_decoder_sys_t *dpsys = (lives_decoder_sys_t *)decoder_plugin->data; hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - ltext=lives_strdup_printf("%s (%s)",dpsys->name,(*dpsys->version)()); + ltext = lives_strdup_printf("%s (%s)", dpsys->name, (*dpsys->version)()); - checkbutton=lives_standard_check_button_new(ltext,FALSE,LIVES_BOX(hbox),NULL); + checkbutton = lives_standard_check_button_new(ltext, FALSE, LIVES_BOX(hbox), NULL); lives_free(ltext); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(checkbutton), - lives_list_strcmp_index(future_prefs->disabled_decoders,dpsys->name)==-1); + lives_list_strcmp_index(future_prefs->disabled_decoders, dpsys->name) == -1); lives_signal_connect_after(LIVES_GUI_OBJECT(checkbutton), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(on_dpa_cb_toggled), dpsys->name); - decoder_plugin=decoder_plugin->next; + decoder_plugin = decoder_plugin->next; } - cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL,NULL); + cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(dialog), cancelbutton, LIVES_RESPONSE_CANCEL); - okbutton = lives_button_new_from_stock(LIVES_STOCK_OK,NULL); + okbutton = lives_button_new_from_stock(LIVES_STOCK_OK, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(dialog), okbutton, LIVES_RESPONSE_OK); lives_widget_set_can_focus_and_default(okbutton); @@ -2614,7 +2604,7 @@ lives_window_present(LIVES_WINDOW(dialog)); lives_xwindow_raise(lives_widget_get_xwindow(dialog)); - future_prefs->disabled_decoders_new=lives_list_copy_strings(future_prefs->disabled_decoders); + future_prefs->disabled_decoders_new = lives_list_copy_strings(future_prefs->disabled_decoders); lives_free(decplugdir); } @@ -2626,8 +2616,8 @@ boolean check_rfx_for_lives(lives_rfx_t *rfx) { // check that an RFX is suitable for loading (cf. check_for_lives in effects-weed.c) - if (rfx->num_in_channels==2&&rfx->props&RFX_PROPS_MAY_RESIZE) { - d_print(_("Failed to load %s, transitions may not resize.\n"),rfx->name); + if (rfx->num_in_channels == 2 && rfx->props & RFX_PROPS_MAY_RESIZE) { + d_print(_("Failed to load %s, transitions may not resize.\n"), rfx->name); return FALSE; } return TRUE; @@ -2635,28 +2625,28 @@ void do_rfx_cleanup(lives_rfx_t *rfx) { char *com; - char *dir=NULL; + char *dir = NULL; - if (rfx==&mainw->rendered_fx[0]) return; + if (rfx == &mainw->rendered_fx[0]) return; switch (rfx->status) { case RFX_STATUS_BUILTIN: - dir=lives_build_filename(prefs->lib_dir,PLUGIN_EXEC_DIR,NULL); - com=lives_strdup_printf("%s plugin_clear \"%s\" %d %d \"%s\" \"%s\" \"%s\"",prefs->backend_sync, - cfile->handle,cfile->start,cfile->end,dir, - PLUGIN_RENDERED_EFFECTS_BUILTIN,rfx->name); + dir = lives_build_filename(prefs->lib_dir, PLUGIN_EXEC_DIR, NULL); + com = lives_strdup_printf("%s plugin_clear \"%s\" %d %d \"%s\" \"%s\" \"%s\"", prefs->backend_sync, + cfile->handle, cfile->start, cfile->end, dir, + PLUGIN_RENDERED_EFFECTS_BUILTIN, rfx->name); break; case RFX_STATUS_CUSTOM: - dir=lives_build_filename(capable->home_dir,LIVES_CONFIG_DIR,NULL); - com=lives_strdup_printf("%s plugin_clear \"%s\" %d %d \"%s\" \"%s\" \"%s\"",prefs->backend_sync, - cfile->handle,cfile->start,cfile->end,dir, - PLUGIN_RENDERED_EFFECTS_CUSTOM,rfx->name); + dir = lives_build_filename(capable->home_dir, LIVES_CONFIG_DIR, NULL); + com = lives_strdup_printf("%s plugin_clear \"%s\" %d %d \"%s\" \"%s\" \"%s\"", prefs->backend_sync, + cfile->handle, cfile->start, cfile->end, dir, + PLUGIN_RENDERED_EFFECTS_CUSTOM, rfx->name); break; case RFX_STATUS_TEST: - dir=lives_build_filename(capable->home_dir,LIVES_CONFIG_DIR,NULL); - com=lives_strdup_printf("%s plugin_clear \"%s\" %d %d \"%s\" \"%s\" \"%s\"",prefs->backend_sync, - cfile->handle,cfile->start,cfile->end,dir, - PLUGIN_RENDERED_EFFECTS_TEST,rfx->name); + dir = lives_build_filename(capable->home_dir, LIVES_CONFIG_DIR, NULL); + com = lives_strdup_printf("%s plugin_clear \"%s\" %d %d \"%s\" \"%s\" \"%s\"", prefs->backend_sync, + cfile->handle, cfile->start, cfile->end, dir, + PLUGIN_RENDERED_EFFECTS_TEST, rfx->name); break; default: return; @@ -2665,7 +2655,7 @@ lives_freep((void **)&dir); // if the command fails we just give a warning - lives_system(com,FALSE); + lives_system(com, FALSE); lives_free(com); } @@ -2676,7 +2666,7 @@ void render_fx_get_params(lives_rfx_t *rfx, const char *plugin_name, short status) { // create lives_param_t array from plugin supplied values LiVESList *parameter_list; - int param_idx,i; + int param_idx, i; lives_param_t *cparam; char **param_array; char *line; @@ -2684,158 +2674,158 @@ switch (status) { case RFX_STATUS_BUILTIN: - parameter_list=plugin_request_by_line(PLUGIN_RENDERED_EFFECTS_BUILTIN,plugin_name,"get_parameters"); + parameter_list = plugin_request_by_line(PLUGIN_RENDERED_EFFECTS_BUILTIN, plugin_name, "get_parameters"); break; case RFX_STATUS_CUSTOM: - parameter_list=plugin_request_by_line(PLUGIN_RENDERED_EFFECTS_CUSTOM,plugin_name,"get_parameters"); + parameter_list = plugin_request_by_line(PLUGIN_RENDERED_EFFECTS_CUSTOM, plugin_name, "get_parameters"); break; case RFX_STATUS_SCRAP: - parameter_list=plugin_request_by_line(PLUGIN_RFX_SCRAP,plugin_name,"get_parameters"); + parameter_list = plugin_request_by_line(PLUGIN_RFX_SCRAP, plugin_name, "get_parameters"); break; default: - parameter_list=plugin_request_by_line(PLUGIN_RENDERED_EFFECTS_TEST,plugin_name,"get_parameters"); + parameter_list = plugin_request_by_line(PLUGIN_RENDERED_EFFECTS_TEST, plugin_name, "get_parameters"); break; } - if (parameter_list==NULL) { - rfx->num_params=0; - rfx->params=NULL; + if (parameter_list == NULL) { + rfx->num_params = 0; + rfx->params = NULL; return; } threaded_dialog_spin(0.); - rfx->num_params=lives_list_length(parameter_list); - rfx->params=(lives_param_t *)lives_malloc(rfx->num_params*sizeof(lives_param_t)); + rfx->num_params = lives_list_length(parameter_list); + rfx->params = (lives_param_t *)lives_malloc(rfx->num_params * sizeof(lives_param_t)); - for (param_idx=0; param_idx<rfx->num_params; param_idx++) { + for (param_idx = 0; param_idx < rfx->num_params; param_idx++) { - line=(char *)lives_list_nth_data(parameter_list,param_idx); + line = (char *)lives_list_nth_data(parameter_list, param_idx); - len=get_token_count(line,(unsigned int)rfx->delim[0]); + len = get_token_count(line, (unsigned int)rfx->delim[0]); - if (len<3) continue; - - param_array=lives_strsplit(line,rfx->delim,-1); - - cparam=&rfx->params[param_idx]; - cparam->name=lives_strdup(param_array[0]); - cparam->label=lives_strdup(param_array[1]); - cparam->desc=NULL; - cparam->use_mnemonic=TRUE; - cparam->interp_func=NULL; - cparam->display_func=NULL; - cparam->hidden=0; - cparam->wrap=FALSE; - cparam->transition=FALSE; - cparam->step_size=1.; - cparam->group=0; - cparam->max=0.; - cparam->reinit=FALSE; - cparam->changed=FALSE; - cparam->change_blocked=FALSE; - cparam->source=NULL; - cparam->source_type=LIVES_RFX_SOURCE_RFX; - cparam->special_type=LIVES_PARAM_SPECIAL_TYPE_NONE; - cparam->special_type_index=0; + if (len < 3) continue; + + param_array = lives_strsplit(line, rfx->delim, -1); + + cparam = &rfx->params[param_idx]; + cparam->name = lives_strdup(param_array[0]); + cparam->label = lives_strdup(param_array[1]); + cparam->desc = NULL; + cparam->use_mnemonic = TRUE; + cparam->interp_func = NULL; + cparam->display_func = NULL; + cparam->hidden = 0; + cparam->wrap = FALSE; + cparam->transition = FALSE; + cparam->step_size = 1.; + cparam->group = 0; + cparam->max = 0.; + cparam->reinit = FALSE; + cparam->changed = FALSE; + cparam->change_blocked = FALSE; + cparam->source = NULL; + cparam->source_type = LIVES_RFX_SOURCE_RFX; + cparam->special_type = LIVES_PARAM_SPECIAL_TYPE_NONE; + cparam->special_type_index = 0; #ifdef DEBUG_RENDER_FX_P - lives_printerr("Got parameter %s\n",cparam->name); + lives_printerr("Got parameter %s\n", cparam->name); #endif - cparam->dp=0; - cparam->list=NULL; + cparam->dp = 0; + cparam->list = NULL; - if (!strncmp(param_array[2],"num",3)) { - cparam->dp=atoi(param_array[2]+3); - cparam->type=LIVES_PARAM_NUM; - } else if (!strncmp(param_array[2],"bool",4)) { - cparam->type=LIVES_PARAM_BOOL; - } else if (!strncmp(param_array[2],"colRGB24",8)) { - cparam->type=LIVES_PARAM_COLRGB24; - } else if (!strncmp(param_array[2],"string",8)) { - cparam->type=LIVES_PARAM_STRING; - } else if (!strncmp(param_array[2],"string_list",8)) { - cparam->type=LIVES_PARAM_STRING_LIST; + if (!strncmp(param_array[2], "num", 3)) { + cparam->dp = atoi(param_array[2] + 3); + cparam->type = LIVES_PARAM_NUM; + } else if (!strncmp(param_array[2], "bool", 4)) { + cparam->type = LIVES_PARAM_BOOL; + } else if (!strncmp(param_array[2], "colRGB24", 8)) { + cparam->type = LIVES_PARAM_COLRGB24; + } else if (!strncmp(param_array[2], "string", 8)) { + cparam->type = LIVES_PARAM_STRING; + } else if (!strncmp(param_array[2], "string_list", 8)) { + cparam->type = LIVES_PARAM_STRING_LIST; } else continue; if (cparam->dp) { double val; - if (len<6) continue; - val=lives_strtod(param_array[3],NULL); - cparam->value=lives_malloc(sizdbl); - cparam->def=lives_malloc(sizdbl); - set_double_param(cparam->def,val); - set_double_param(cparam->value,val); - cparam->min=lives_strtod(param_array[4],NULL); - cparam->max=lives_strtod(param_array[5],NULL); - if (len>6) { - cparam->step_size=lives_strtod(param_array[6],NULL); - if (cparam->step_size==0.) cparam->step_size=1./(double)lives_10pow(cparam->dp); - else if (cparam->step_size<0.) { - cparam->step_size=-cparam->step_size; - cparam->wrap=TRUE; + if (len < 6) continue; + val = lives_strtod(param_array[3], NULL); + cparam->value = lives_malloc(sizdbl); + cparam->def = lives_malloc(sizdbl); + set_double_param(cparam->def, val); + set_double_param(cparam->value, val); + cparam->min = lives_strtod(param_array[4], NULL); + cparam->max = lives_strtod(param_array[5], NULL); + if (len > 6) { + cparam->step_size = lives_strtod(param_array[6], NULL); + if (cparam->step_size == 0.) cparam->step_size = 1. / (double)lives_10pow(cparam->dp); + else if (cparam->step_size < 0.) { + cparam->step_size = -cparam->step_size; + cparam->wrap = TRUE; } } - } else if (cparam->type==LIVES_PARAM_COLRGB24) { + } else if (cparam->type == LIVES_PARAM_COLRGB24) { short red; short green; short blue; - if (len<6) continue; - red=(short)atoi(param_array[3]); - green=(short)atoi(param_array[4]); - blue=(short)atoi(param_array[5]); - cparam->value=lives_malloc(sizeof(lives_colRGB48_t)); - cparam->def=lives_malloc(sizeof(lives_colRGB48_t)); - set_colRGB24_param(cparam->def,red,green,blue); - set_colRGB24_param(cparam->value,red,green,blue); - } else if (cparam->type==LIVES_PARAM_STRING) { - if (len<4) continue; - cparam->value=lives_strdup(_(param_array[3])); - cparam->def=lives_strdup(_(param_array[3])); - if (len>4) cparam->max=(double)atoi(param_array[4]); - if (cparam->max==0.||cparam->max>RFX_MAXSTRINGLEN) cparam->max=RFX_MAXSTRINGLEN; - } else if (cparam->type==LIVES_PARAM_STRING_LIST) { - if (len<4) continue; - cparam->value=lives_malloc(sizint); - cparam->def=lives_malloc(sizint); - *(int *)cparam->def=atoi(param_array[3]); - if (len>4) { - cparam->list=array_to_string_list(param_array,3,len); + if (len < 6) continue; + red = (short)atoi(param_array[3]); + green = (short)atoi(param_array[4]); + blue = (short)atoi(param_array[5]); + cparam->value = lives_malloc(sizeof(lives_colRGB48_t)); + cparam->def = lives_malloc(sizeof(lives_colRGB48_t)); + set_colRGB24_param(cparam->def, red, green, blue); + set_colRGB24_param(cparam->value, red, green, blue); + } else if (cparam->type == LIVES_PARAM_STRING) { + if (len < 4) continue; + cparam->value = lives_strdup(_(param_array[3])); + cparam->def = lives_strdup(_(param_array[3])); + if (len > 4) cparam->max = (double)atoi(param_array[4]); + if (cparam->max == 0. || cparam->max > RFX_MAXSTRINGLEN) cparam->max = RFX_MAXSTRINGLEN; + } else if (cparam->type == LIVES_PARAM_STRING_LIST) { + if (len < 4) continue; + cparam->value = lives_malloc(sizint); + cparam->def = lives_malloc(sizint); + *(int *)cparam->def = atoi(param_array[3]); + if (len > 4) { + cparam->list = array_to_string_list(param_array, 3, len); } else { - set_int_param(cparam->def,0); + set_int_param(cparam->def, 0); } - set_int_param(cparam->value,get_int_param(cparam->def)); + set_int_param(cparam->value, get_int_param(cparam->def)); } else { // int or bool int val; - if (len<4) continue; - val=atoi(param_array[3]); - cparam->value=lives_malloc(sizint); - cparam->def=lives_malloc(sizint); - set_int_param(cparam->def,val); - set_int_param(cparam->value,val); - if (cparam->type==LIVES_PARAM_BOOL) { - cparam->min=0; - cparam->max=1; - if (len>4) cparam->group=atoi(param_array[4]); + if (len < 4) continue; + val = atoi(param_array[3]); + cparam->value = lives_malloc(sizint); + cparam->def = lives_malloc(sizint); + set_int_param(cparam->def, val); + set_int_param(cparam->value, val); + if (cparam->type == LIVES_PARAM_BOOL) { + cparam->min = 0; + cparam->max = 1; + if (len > 4) cparam->group = atoi(param_array[4]); } else { - if (len<6) continue; - cparam->min=(double)atoi(param_array[4]); - cparam->max=(double)atoi(param_array[5]); - if (len>6) { - cparam->step_size=(double)atoi(param_array[6]); - if (cparam->step_size==0.) cparam->step_size=1.; - else if (cparam->step_size<0.) { - cparam->step_size=-cparam->step_size; - cparam->wrap=TRUE; + if (len < 6) continue; + cparam->min = (double)atoi(param_array[4]); + cparam->max = (double)atoi(param_array[5]); + if (len > 6) { + cparam->step_size = (double)atoi(param_array[6]); + if (cparam->step_size == 0.) cparam->step_size = 1.; + else if (cparam->step_size < 0.) { + cparam->step_size = -cparam->step_size; + cparam->wrap = TRUE; } } } } - for (i=0; i<MAX_PARAM_WIDGETS; i++) { - cparam->widgets[i]=NULL; + for (i = 0; i < MAX_PARAM_WIDGETS; i++) { + cparam->widgets[i] = NULL; } - cparam->onchange=FALSE; + cparam->onchange = FALSE; lives_strfreev(param_array); } lives_list_free_all(¶meter_list); @@ -2847,16 +2837,16 @@ // build a LiVESList from an array. int i; - char *string,*tmp; - LiVESList *slist=NULL; + char *string, *tmp; + LiVESList *slist = NULL; - for (i=offset+1; i<len; i++) { - string=subst((tmp=L2U8(array[i])),"\\n","\n"); + for (i = offset + 1; i < len; i++) { + string = subst((tmp = L2U8(array[i])), "\\n", "\n"); lives_free(tmp); // omit a last empty string - if (i<len-1||strlen(string)) { - slist=lives_list_append(slist, string); + if (i < len - 1 || strlen(string)) { + slist = lives_list_append(slist, string); } else lives_free(string); } @@ -2874,72 +2864,72 @@ lives_rfx_t *rfx; #ifdef GUI_GTK - char *min_string=NULL; + char *min_string = NULL; #endif - char *tmp=NULL; + char *tmp = NULL; boolean used[num]; - int start=1,min_val=0; - int sorted=1; + int start = 1, min_val = 0; + int sorted = 1; register int i; - for (i=0; i<num; i++) { - used[i]=FALSE; + for (i = 0; i < num; i++) { + used[i] = FALSE; } - rfx=mainw->rendered_fx=(lives_rfx_t *)lives_malloc((num+1)*sizeof(lives_rfx_t)); + rfx = mainw->rendered_fx = (lives_rfx_t *)lives_malloc((num + 1) * sizeof(lives_rfx_t)); - rfx->name=lives_strdup(in[0].name); - rfx->menu_text=lives_strdup(in[0].menu_text); - rfx->action_desc=lives_strdup(in[0].action_desc); - rfx->props=in[0].props; - rfx->num_params=0; - rfx->min_frames=1; - rfx->params=NULL; - rfx->source=NULL; - rfx->source_type=LIVES_RFX_SOURCE_RFX; - rfx->is_template=FALSE; - rfx->extra=NULL; - rfx->flags=0; - - while (sorted<=num) { - for (i=start; i<=num; i++) { - if (!used[i-1]) { - if (min_string==NULL) { + rfx->name = lives_strdup(in[0].name); + rfx->menu_text = lives_strdup(in[0].menu_text); + rfx->action_desc = lives_strdup(in[0].action_desc); + rfx->props = in[0].props; + rfx->num_params = 0; + rfx->min_frames = 1; + rfx->params = NULL; + rfx->source = NULL; + rfx->source_type = LIVES_RFX_SOURCE_RFX; + rfx->is_template = FALSE; + rfx->extra = NULL; + rfx->flags = 0; + + while (sorted <= num) { + for (i = start; i <= num; i++) { + if (!used[i - 1]) { + if (min_string == NULL) { #ifdef GUI_GTK - min_string=g_utf8_collate_key(in[i].menu_text,-1); + min_string = g_utf8_collate_key(in[i].menu_text, -1); #endif #ifdef GUI_QT min_string = QString::fromUtf8(in[i].menu_text); #endif - min_val=i; + min_val = i; } else { #ifdef GUI_GTK - if (strcmp(min_string,(tmp=g_utf8_collate_key(in[i].menu_text,-1)))==1) { + if (strcmp(min_string, (tmp = g_utf8_collate_key(in[i].menu_text, -1))) == 1) { lives_free(min_string); - min_string=g_utf8_collate_key(in[i].menu_text,-1); + min_string = g_utf8_collate_key(in[i].menu_text, -1); #endif #ifdef GUI_QT str = QString::fromUtf8(in[i].menu_text); if (str.compare(min_string) < 0) { min_string = str; #endif - min_val=i; + min_val = i; } lives_freep((void **)&tmp); } } } - rfx_copy(&in[min_val],&mainw->rendered_fx[sorted++],FALSE); - used[min_val-1]=TRUE; + rfx_copy(&in[min_val], &mainw->rendered_fx[sorted++], FALSE); + used[min_val - 1] = TRUE; #ifdef GUI_GTK lives_freep((void **)&min_string); #endif } - for (i=0; i<=num; i++) { + for (i = 0; i <= num; i++) { rfx_free(&in[i]); } } @@ -2947,25 +2937,25 @@ void rfx_copy(lives_rfx_t *src, lives_rfx_t *dest, boolean full) { // Warning, does not copy all fields (full will do that) - dest->name=lives_strdup(src->name); - dest->menu_text=lives_strdup(src->menu_text); - dest->action_desc=lives_strdup(src->action_desc); - dest->min_frames=src->min_frames; - dest->num_in_channels=src->num_in_channels; - dest->status=src->status; - dest->props=src->props; - dest->source_type=src->source_type; - dest->source=src->source; - dest->is_template=src->is_template; - lives_memcpy(dest->delim,src->delim,2); + dest->name = lives_strdup(src->name); + dest->menu_text = lives_strdup(src->menu_text); + dest->action_desc = lives_strdup(src->action_desc); + dest->min_frames = src->min_frames; + dest->num_in_channels = src->num_in_channels; + dest->status = src->status; + dest->props = src->props; + dest->source_type = src->source_type; + dest->source = src->source; + dest->is_template = src->is_template; + lives_memcpy(dest->delim, src->delim, 2); if (!full) return; } void rfx_params_free(lives_rfx_t *rfx) { register int i; - for (i=0; i<rfx->num_params; i++) { - if (rfx->params[i].type==LIVES_PARAM_UNDISPLAYABLE) continue; + for (i = 0; i < rfx->num_params; i++) { + if (rfx->params[i].type == LIVES_PARAM_UNDISPLAYABLE) continue; lives_free(rfx->params[i].name); lives_freep((void **)&rfx->params[i].def); lives_freep((void **)&rfx->params[i].value); @@ -2978,22 +2968,22 @@ void rfx_free(lives_rfx_t *rfx) { - if (rfx==NULL) return; + if (rfx == NULL) return; - if (mainw->vrfx_update==rfx) mainw->vrfx_update=NULL; + if (mainw->vrfx_update == rfx) mainw->vrfx_update = NULL; lives_freep((void **)&rfx->name); lives_freep((void **)&rfx->menu_text); lives_freep((void **)&rfx->action_desc); - if (rfx->params!=NULL) { + if (rfx->params != NULL) { rfx_params_free(rfx); lives_free(rfx->params); } - if (rfx->extra!=NULL) { + if (rfx->extra != NULL) { free(rfx->extra); } - if (rfx->source_type==LIVES_RFX_SOURCE_WEED&&rfx->source!=NULL) { + if (rfx->source_type == LIVES_RFX_SOURCE_WEED && rfx->source != NULL) { weed_instance_unref((weed_plant_t *)rfx->source); } } @@ -3001,7 +2991,7 @@ void rfx_free_all(void) { register int i; - for (i=0; i<=mainw->num_rendered_effects_builtin+mainw->num_rendered_effects_custom+mainw->num_rendered_effects_test; i++) { + for (i = 0; i <= mainw->num_rendered_effects_builtin + mainw->num_rendered_effects_custom + mainw->num_rendered_effects_test; i++) { rfx_free(&mainw->rendered_fx[i]); } lives_freep((void **)&mainw->rendered_fx); @@ -3011,44 +3001,44 @@ void param_copy(lives_param_t *src, lives_param_t *dest, boolean full) { // rfxbuilder.c uses this to copy params to a temporary copy and back again - dest->name=lives_strdup(src->name); - dest->label=lives_strdup(src->label); - dest->group=src->group; - dest->onchange=src->onchange; - dest->type=src->type; - dest->dp=src->dp; - dest->min=src->min; - dest->max=src->max; - dest->step_size=src->step_size; - dest->wrap=src->wrap; - dest->source=src->source; - dest->reinit=src->reinit; - dest->source_type=src->source_type; - dest->list=NULL; + dest->name = lives_strdup(src->name); + dest->label = lives_strdup(src->label); + dest->group = src->group; + dest->onchange = src->onchange; + dest->type = src->type; + dest->dp = src->dp; + dest->min = src->min; + dest->max = src->max; + dest->step_size = src->step_size; + dest->wrap = src->wrap; + dest->source = src->source; + dest->reinit = src->reinit; + dest->source_type = src->source_type; + dest->list = NULL; switch (dest->type) { case LIVES_PARAM_BOOL: - dest->dp=0; + dest->dp = 0; case LIVES_PARAM_NUM: if (!dest->dp) { - dest->def=lives_malloc(sizint); - lives_memcpy(dest->def,src->def,sizint); + dest->def = lives_malloc(sizint); + lives_memcpy(dest->def, src->def, sizint); } else { - dest->def=lives_malloc(sizdbl); - lives_memcpy(dest->def,src->def,sizdbl); + dest->def = lives_malloc(sizdbl); + lives_memcpy(dest->def, src->def, sizdbl); } break; case LIVES_PARAM_COLRGB24: - dest->def=lives_malloc(sizeof(lives_colRGB48_t)); - lives_memcpy(dest->def,src->def,sizeof(lives_colRGB48_t)); + dest->def = lives_malloc(sizeof(lives_colRGB48_t)); + lives_memcpy(dest->def, src->def, sizeof(lives_colRGB48_t)); break; case LIVES_PARAM_STRING: - dest->def=lives_strdup((char *)src->def); + dest->def = lives_strdup((char *)src->def); break; case LIVES_PARAM_STRING_LIST: - dest->def=lives_malloc(sizint); - set_int_param(dest->def,get_int_param(src->def)); - if (src->list!=NULL) dest->list=lives_list_copy(src->list); + dest->def = lives_malloc(sizint); + set_int_param(dest->def, get_int_param(src->def)); + if (src->list != NULL) dest->list = lives_list_copy(src->list); break; default: break; @@ -3060,64 +3050,64 @@ boolean get_bool_param(void *value) { boolean ret; - lives_memcpy(&ret,value,4); + lives_memcpy(&ret, value, 4); return ret; } int get_int_param(void *value) { int ret; - lives_memcpy(&ret,value,sizint); + lives_memcpy(&ret, value, sizint); return ret; } double get_double_param(void *value) { double ret; - lives_memcpy(&ret,value,sizdbl); + lives_memcpy(&ret, value, sizdbl); return ret; } void get_colRGB24_param(void *value, lives_colRGB48_t *rgb) { - lives_memcpy(rgb,value,sizeof(lives_colRGB48_t)); + lives_memcpy(rgb, value, sizeof(lives_colRGB48_t)); } void get_colRGBA32_param(void *value, lives_colRGBA64_t *rgba) { - lives_memcpy(rgba,value,sizeof(lives_colRGBA64_t)); + lives_memcpy(rgba, value, sizeof(lives_colRGBA64_t)); } void set_bool_param(void *value, boolean _const) { - set_int_param(value,!!_const); + set_int_param(value, !!_const); } void set_int_param(void *value, int _const) { - lives_memcpy(value,&_const,sizint); + lives_memcpy(value, &_const, sizint); } void set_double_param(void *value, double _const) { - lives_memcpy(value,&_const,sizdbl); + lives_memcpy(value, &_const, sizdbl); } void set_colRGB24_param(void *value, short red, short green, short blue) { - lives_colRGB48_t *rgbp=(lives_colRGB48_t *)value; + lives_colRGB48_t *rgbp = (lives_colRGB48_t *)value; - if (red<0) red=0; - if (red>255) red=255; - if (green<0) green=0; - if (green>255) green=255; - if (blue<0) blue=0; - if (blue>255) blue=255; - - rgbp->red=red; - rgbp->green=green; - rgbp->blue=blue; + if (red < 0) red = 0; + if (red > 255) red = 255; + if (green < 0) green = 0; + if (green > 255) green = 255; + if (blue < 0) blue = 0; + if (blue > 255) blue = 255; + + rgbp->red = red; + rgbp->green = green; + rgbp->blue = blue; } void set_colRGBA32_param(void *value, short red, short green, short blue, short alpha) { - lives_colRGBA64_t *rgbap=(lives_colRGBA64_t *)value; - rgbap->red=red; - rgbap->green=green; - rgbap->blue=blue; - rgbap->alpha=alpha; + lives_colRGBA64_t *rgbap = (lives_colRGBA64_t *)value; + rgbap->red = red; + rgbap->green = green; + rgbap->blue = blue; + rgbap->alpha = alpha; } @@ -3129,10 +3119,10 @@ int find_rfx_plugin_by_name(const char *name, short status) { int i; - for (i=1; i<mainw->num_rendered_effects_builtin+mainw->num_rendered_effects_custom+ + for (i = 1; i < mainw->num_rendered_effects_builtin + mainw->num_rendered_effects_custom + mainw->num_rendered_effects_test; i++) { - if (mainw->rendered_fx[i].name!=NULL&&!strcmp(mainw->rendered_fx[i].name,name) - &&mainw->rendered_fx[i].status==status) + if (mainw->rendered_fx[i].name != NULL && !strcmp(mainw->rendered_fx[i].name, name) + && mainw->rendered_fx[i].status == status) return (int)i; } return -1; @@ -3141,304 +3131,305 @@ lives_param_t *weed_params_to_rfx(int npar, weed_plant_t *inst, boolean show_reinits) { - int i,j; - lives_param_t *rpar=(lives_param_t *)lives_malloc(npar*sizeof(lives_param_t)); + int i, j; + lives_param_t *rpar = (lives_param_t *)lives_malloc(npar * sizeof(lives_param_t)); int param_hint; char **list; - LiVESList *gtk_list=NULL; + LiVESList *gtk_list = NULL; char *string; int error; int vali; double vald; - weed_plant_t *gui=NULL; + weed_plant_t *gui = NULL; int listlen; - int cspace,*cols=NULL,red_min=0,red_max=255,green_min=0,green_max=255,blue_min=0,blue_max=255,*maxi=NULL,*mini=NULL; + int cspace, *cols = NULL, red_min = 0, red_max = 255, green_min = 0, green_max = 255, blue_min = 0, blue_max = 255, *maxi = NULL, + *mini = NULL; double *colsd; - double red_mind=0.,red_maxd=1.,green_mind=0.,green_maxd=1.,blue_mind=0.,blue_maxd=1.,*maxd=NULL,*mind=NULL; - int flags=0; - int nwpars=0,poffset=0; + double red_mind = 0., red_maxd = 1., green_mind = 0., green_maxd = 1., blue_mind = 0., blue_maxd = 1., *maxd = NULL, *mind = NULL; + int flags = 0; + int nwpars = 0, poffset = 0; boolean col_int; weed_plant_t *wtmpl; - weed_plant_t **wpars=NULL,*wpar=NULL; + weed_plant_t **wpars = NULL, *wpar = NULL; - weed_plant_t *chann,*ctmpl; + weed_plant_t *chann, *ctmpl; - if (weed_plant_has_leaf(inst,WEED_LEAF_IN_PARAMETERS)) nwpars=weed_leaf_num_elements(inst,WEED_LEAF_IN_PARAMETERS); - if (nwpars>0) wpars=weed_get_plantptr_array(inst,WEED_LEAF_IN_PARAMETERS,&error); + if (weed_plant_has_leaf(inst, WEED_LEAF_IN_PARAMETERS)) nwpars = weed_leaf_num_elements(inst, WEED_LEAF_IN_PARAMETERS); + if (nwpars > 0) wpars = weed_get_plantptr_array(inst, WEED_LEAF_IN_PARAMETERS, &error); - for (i=0; i<npar; i++) { - if (i-poffset>=nwpars) { + for (i = 0; i < npar; i++) { + if (i - poffset >= nwpars) { // handling for compound fx - poffset+=nwpars; - if (wpars!=NULL) lives_free(wpars); - inst=weed_get_plantptr_value(inst,WEED_LEAF_HOST_NEXT_INSTANCE,&error); - if (weed_plant_has_leaf(inst,WEED_LEAF_IN_PARAMETERS)) nwpars=weed_leaf_num_elements(inst,WEED_LEAF_IN_PARAMETERS); - else nwpars=0; - if (nwpars>0) wpars=weed_get_plantptr_array(inst,WEED_LEAF_IN_PARAMETERS,&error); - else wpars=NULL; + poffset += nwpars; + if (wpars != NULL) lives_free(wpars); + inst = weed_get_plantptr_value(inst, WEED_LEAF_HOST_NEXT_INSTANCE, &error); + if (weed_plant_has_leaf(inst, WEED_LEAF_IN_PARAMETERS)) nwpars = weed_leaf_num_elements(inst, WEED_LEAF_IN_PARAMETERS); + else nwpars = 0; + if (nwpars > 0) wpars = weed_get_plantptr_array(inst, WEED_LEAF_IN_PARAMETERS, &error); + else wpars = NULL; i--; continue; } - wpar=wpars[i-poffset]; - wtmpl=weed_get_plantptr_value(wpar,WEED_LEAF_TEMPLATE,&error); + wpar = wpars[i - poffset]; + wtmpl = weed_get_plantptr_value(wpar, WEED_LEAF_TEMPLATE, &error); - if (weed_plant_has_leaf(wtmpl,WEED_LEAF_FLAGS)) flags=weed_get_int_value(wtmpl,WEED_LEAF_FLAGS,&error); - else flags=0; + if (weed_plant_has_leaf(wtmpl, WEED_LEAF_FLAGS)) flags = weed_get_int_value(wtmpl, WEED_LEAF_FLAGS, &error); + else flags = 0; - rpar[i].flags=flags; + rpar[i].flags = flags; - gui=NULL; - - if (weed_plant_has_leaf(wtmpl,WEED_LEAF_GUI)) gui=weed_get_plantptr_value(wtmpl,WEED_LEAF_GUI,&error); - - rpar[i].group=0; - - rpar[i].use_mnemonic=FALSE; - rpar[i].interp_func=rpar[i].display_func=NULL; - rpar[i].hidden=0; - rpar[i].step_size=1.; - rpar[i].transition=FALSE; - rpar[i].wrap=FALSE; - rpar[i].reinit=FALSE; - rpar[i].change_blocked=FALSE; - rpar[i].source=wtmpl; - rpar[i].source_type=LIVES_RFX_SOURCE_WEED; - rpar[i].special_type=LIVES_PARAM_SPECIAL_TYPE_NONE; - rpar[i].special_type_index=0; - - if (flags&WEED_PARAMETER_VARIABLE_ELEMENTS&&!(flags&WEED_PARAMETER_ELEMENT_PER_CHANNEL)) { - rpar[i].hidden|=HIDDEN_MULTI; - rpar[i].multi=PVAL_MULTI_ANY; - } else if (flags&WEED_PARAMETER_ELEMENT_PER_CHANNEL) { - rpar[i].hidden|=HIDDEN_MULTI; - rpar[i].multi=PVAL_MULTI_PER_CHANNEL; - } else rpar[i].multi=PVAL_MULTI_NONE; + gui = NULL; + + if (weed_plant_has_leaf(wtmpl, WEED_LEAF_GUI)) gui = weed_get_plantptr_value(wtmpl, WEED_LEAF_GUI, &error); + + rpar[i].group = 0; + + rpar[i].use_mnemonic = FALSE; + rpar[i].interp_func = rpar[i].display_func = NULL; + rpar[i].hidden = 0; + rpar[i].step_size = 1.; + rpar[i].transition = FALSE; + rpar[i].wrap = FALSE; + rpar[i].reinit = FALSE; + rpar[i].change_blocked = FALSE; + rpar[i].source = wtmpl; + rpar[i].source_type = LIVES_RFX_SOURCE_WEED; + rpar[i].special_type = LIVES_PARAM_SPECIAL_TYPE_NONE; + rpar[i].special_type_index = 0; + + if (flags & WEED_PARAMETER_VARIABLE_ELEMENTS && !(flags & WEED_PARAMETER_ELEMENT_PER_CHANNEL)) { + rpar[i].hidden |= HIDDEN_MULTI; + rpar[i].multi = PVAL_MULTI_ANY; + } else if (flags & WEED_PARAMETER_ELEMENT_PER_CHANNEL) { + rpar[i].hidden |= HIDDEN_MULTI; + rpar[i].multi = PVAL_MULTI_PER_CHANNEL; + } else rpar[i].multi = PVAL_MULTI_NONE; - chann=get_enabled_channel(inst,0,TRUE); - ctmpl=weed_get_plantptr_value(chann,WEED_LEAF_TEMPLATE,&error); + chann = get_enabled_channel(inst, 0, TRUE); + ctmpl = weed_get_plantptr_value(chann, WEED_LEAF_TEMPLATE, &error); - if (weed_plant_has_leaf(ctmpl,WEED_LEAF_IS_AUDIO)&&weed_get_boolean_value(ctmpl,WEED_LEAF_IS_AUDIO,&error)==WEED_TRUE) { + if (weed_plant_has_leaf(ctmpl, WEED_LEAF_IS_AUDIO) && weed_get_boolean_value(ctmpl, WEED_LEAF_IS_AUDIO, &error) == WEED_TRUE) { // dont hide multivalued params for audio effects - rpar[i].hidden=0; + rpar[i].hidden = 0; } - rpar[i].dp=0; - rpar[i].min=0.; - rpar[i].max=0.; - rpar[i].list=NULL; - - if (flags&WEED_PARAMETER_REINIT_ON_VALUE_CHANGE) { - rpar[i].reinit=TRUE; - if (!show_reinits) rpar[i].hidden|=HIDDEN_NEEDS_REINIT; - } else rpar[i].reinit=FALSE; + rpar[i].dp = 0; + rpar[i].min = 0.; + rpar[i].max = 0.; + rpar[i].list = NULL; + + if (flags & WEED_PARAMETER_REINIT_ON_VALUE_CHANGE) { + rpar[i].reinit = TRUE; + if (!show_reinits) rpar[i].hidden |= HIDDEN_NEEDS_REINIT; + } else rpar[i].reinit = FALSE; // hide internally connected params for compound fx - if (weed_plant_has_leaf(wpar,WEED_LEAF_HOST_INTERNAL_CONNECTION)) rpar[i].hidden|=HIDDEN_COMPOUND_INTERNAL; + if (weed_plant_has_leaf(wpar, WEED_LEAF_HOST_INTERNAL_CONNECTION)) rpar[i].hidden |= HIDDEN_COMPOUND_INTERNAL; /////////////////////////////// - param_hint=weed_get_int_value(wtmpl,WEED_LEAF_HINT,&error); + param_hint = weed_get_int_value(wtmpl, WEED_LEAF_HINT, &error); switch (param_hint) { case WEED_HINT_SWITCH: - if (weed_plant_has_leaf(wtmpl,WEED_LEAF_DEFAULT)&&weed_leaf_num_elements(wtmpl,WEED_LEAF_DEFAULT)>1) { - rpar[i].hidden|=HIDDEN_MULTI; + if (weed_plant_has_leaf(wtmpl, WEED_LEAF_DEFAULT) && weed_leaf_num_elements(wtmpl, WEED_LEAF_DEFAULT) > 1) { + rpar[i].hidden |= HIDDEN_MULTI; } - rpar[i].type=LIVES_PARAM_BOOL; - rpar[i].value=lives_malloc(sizint); - rpar[i].def=lives_malloc(sizint); - if (weed_plant_has_leaf(wtmpl,WEED_LEAF_HOST_DEFAULT)) vali=weed_get_boolean_value(wtmpl,WEED_LEAF_HOST_DEFAULT,&error); - else if (weed_leaf_num_elements(wtmpl,WEED_LEAF_DEFAULT)>0) vali=weed_get_boolean_value(wtmpl,WEED_LEAF_DEFAULT,&error); - else vali=weed_get_boolean_value(wtmpl,WEED_LEAF_NEW_DEFAULT,&error); - set_int_param(rpar[i].def,vali); - vali=weed_get_boolean_value(wpar,WEED_LEAF_VALUE,&error); - set_int_param(rpar[i].value,vali); - if (weed_plant_has_leaf(wtmpl,WEED_LEAF_GROUP)) rpar[i].group=weed_get_int_value(wtmpl,WEED_LEAF_GROUP,&error); + rpar[i].type = LIVES_PARAM_BOOL; + rpar[i].value = lives_malloc(sizint); + rpar[i].def = lives_malloc(sizint); + if (weed_plant_has_leaf(wtmpl, WEED_LEAF_HOST_DEFAULT)) vali = weed_get_boolean_value(wtmpl, WEED_LEAF_HOST_DEFAULT, &error); + else if (weed_leaf_num_elements(wtmpl, WEED_LEAF_DEFAULT) > 0) vali = weed_get_boolean_value(wtmpl, WEED_LEAF_DEFAULT, &error); + else vali = weed_get_boolean_value(wtmpl, WEED_LEAF_NEW_DEFAULT, &error); + set_int_param(rpar[i].def, vali); + vali = weed_get_boolean_value(wpar, WEED_LEAF_VALUE, &error); + set_int_param(rpar[i].value, vali); + if (weed_plant_has_leaf(wtmpl, WEED_LEAF_GROUP)) rpar[i].group = weed_get_int_value(wtmpl, WEED_LEAF_GROUP, &error); break; case WEED_HINT_INTEGER: - if (weed_plant_has_leaf(wtmpl,WEED_LEAF_DEFAULT)&&weed_leaf_num_elements(wtmpl,WEED_LEAF_DEFAULT)>1) { - rpar[i].hidden|=HIDDEN_MULTI; + if (weed_plant_has_leaf(wtmpl, WEED_LEAF_DEFAULT) && weed_leaf_num_elements(wtmpl, WEED_LEAF_DEFAULT) > 1) { + rpar[i].hidden |= HIDDEN_MULTI; } - rpar[i].type=LIVES_PARAM_NUM; - rpar[i].value=lives_malloc(sizint); - rpar[i].def=lives_malloc(sizint); - if (weed_plant_has_leaf(wtmpl,WEED_LEAF_HOST_DEFAULT)) { - vali=weed_get_int_value(wtmpl,WEED_LEAF_HOST_DEFAULT,&error); - } else if (weed_leaf_num_elements(wtmpl,WEED_LEAF_DEFAULT)>0) vali=weed_get_int_value(wtmpl,WEED_LEAF_DEFAULT,&error); - else vali=weed_get_int_value(wtmpl,WEED_LEAF_NEW_DEFAULT,&error); - set_int_param(rpar[i].def,vali); - vali=weed_get_int_value(wpar,WEED_LEAF_VALUE,&error); - set_int_param(rpar[i].value,vali); - rpar[i].min=(double)weed_get_int_value(wtmpl,WEED_LEAF_MIN,&error); - rpar[i].max=(double)weed_get_int_value(wtmpl,WEED_LEAF_MAX,&error); - if (weed_plant_has_leaf(wtmpl,WEED_LEAF_WRAP)&&weed_get_boolean_value(wtmpl,WEED_LEAF_WRAP,&error)==WEED_TRUE) rpar[i].wrap=TRUE; - if (gui!=NULL) { - if (weed_plant_has_leaf(gui,WEED_LEAF_CHOICES)) { - listlen=weed_leaf_num_elements(gui,WEED_LEAF_CHOICES); - list=weed_get_string_array(gui,WEED_LEAF_CHOICES,&error); - for (j=0; j<listlen; j++) { - gtk_list=lives_list_append(gtk_list,lives_strdup(list[j])); + rpar[i].type = LIVES_PARAM_NUM; + rpar[i].value = lives_malloc(sizint); + rpar[i].def = lives_malloc(sizint); + if (weed_plant_has_leaf(wtmpl, WEED_LEAF_HOST_DEFAULT)) { + vali = weed_get_int_value(wtmpl, WEED_LEAF_HOST_DEFAULT, &error); + } else if (weed_leaf_num_elements(wtmpl, WEED_LEAF_DEFAULT) > 0) vali = weed_get_int_value(wtmpl, WEED_LEAF_DEFAULT, &error); + else vali = weed_get_int_value(wtmpl, WEED_LEAF_NEW_DEFAULT, &error); + set_int_param(rpar[i].def, vali); + vali = weed_get_int_value(wpar, WEED_LEAF_VALUE, &error); + set_int_param(rpar[i].value, vali); + rpar[i].min = (double)weed_get_int_value(wtmpl, WEED_LEAF_MIN, &error); + rpar[i].max = (double)weed_get_int_value(wtmpl, WEED_LEAF_MAX, &error); + if (weed_plant_has_leaf(wtmpl, WEED_LEAF_WRAP) && weed_get_boolean_value(wtmpl, WEED_LEAF_WRAP, &error) == WEED_TRUE) rpar[i].wrap = TRUE; + if (gui != NULL) { + if (weed_plant_has_leaf(gui, WEED_LEAF_CHOICES)) { + listlen = weed_leaf_num_elements(gui, WEED_LEAF_CHOICES); + list = weed_get_string_array(gui, WEED_LEAF_CHOICES, &error); + for (j = 0; j < listlen; j++) { + gtk_list = lives_list_append(gtk_list, lives_strdup(list[j])); lives_free(list[j]); } lives_free(list); - rpar[i].list=lives_list_copy(gtk_list); + rpar[i].list = lives_list_copy(gtk_list); lives_list_free(gtk_list); - gtk_list=NULL; - rpar[i].type=LIVES_PARAM_STRING_LIST; - rpar[i].max=listlen; - } else if (weed_plant_has_leaf(gui,WEED_LEAF_STEP_SIZE)) - rpar[i].step_size=(double)weed_get_int_value(gui,WEED_LEAF_STEP_SIZE,&error); - if (rpar[i].step_size==0.) rpar[i].step_size=1.; + gtk_list = NULL; + rpar[i].type = LIVES_PARAM_STRING_LIST; + rpar[i].max = listlen; + } else if (weed_plant_has_leaf(gui, WEED_LEAF_STEP_SIZE)) + rpar[i].step_size = (double)weed_get_int_value(gui, WEED_LEAF_STEP_SIZE, &error); + if (rpar[i].step_size == 0.) rpar[i].step_size = 1.; } break; case WEED_HINT_FLOAT: - if (weed_plant_has_leaf(wtmpl,WEED_LEAF_DEFAULT)&&weed_leaf_num_elements(wtmpl,WEED_LEAF_DEFAULT)>1) { - rpar[i].hidden|=HIDDEN_MULTI; + if (weed_plant_has_leaf(wtmpl, WEED_LEAF_DEFAULT) && weed_leaf_num_elements(wtmpl, WEED_LEAF_DEFAULT) > 1) { + rpar[i].hidden |= HIDDEN_MULTI; } - rpar[i].type=LIVES_PARAM_NUM; - rpar[i].value=lives_malloc(sizdbl); - rpar[i].def=lives_malloc(sizdbl); - if (weed_plant_has_leaf(wtmpl,WEED_LEAF_HOST_DEFAULT)) vald=weed_get_double_value(wtmpl,WEED_LEAF_HOST_DEFAULT,&error); - else if (weed_leaf_num_elements(wtmpl,WEED_LEAF_DEFAULT)>0) vald=weed_get_double_value(wtmpl,WEED_LEAF_DEFAULT,&error); - else vald=weed_get_double_value(wtmpl,WEED_LEAF_NEW_DEFAULT,&error); - set_double_param(rpar[i].def,vald); - vald=weed_get_double_value(wpar,WEED_LEAF_VALUE,&error); - set_double_param(rpar[i].value,vald); - rpar[i].min=weed_get_double_value(wtmpl,WEED_LEAF_MIN,&error); - rpar[i].max=weed_get_double_value(wtmpl,WEED_LEAF_MAX,&error); - if (weed_plant_has_leaf(wtmpl,WEED_LEAF_WRAP)&&weed_get_boolean_value(wtmpl,WEED_LEAF_WRAP,&error)==WEED_TRUE) rpar[i].wrap=TRUE; - rpar[i].step_size=0.; - rpar[i].dp=2; - if (gui!=NULL) { - if (weed_plant_has_leaf(gui,WEED_LEAF_STEP_SIZE)) rpar[i].step_size=weed_get_double_value(gui,WEED_LEAF_STEP_SIZE,&error); - if (weed_plant_has_leaf(gui,WEED_LEAF_DECIMALS)) rpar[i].dp=weed_get_int_value(gui,WEED_LEAF_DECIMALS,&error); - } - if (rpar[i].step_size==0.) { - if (rpar[i].max-rpar[i].min>1.) rpar[i].step_size=1.; - else rpar[i].step_size=1./(double)lives_10pow(rpar[i].dp); + rpar[i].type = LIVES_PARAM_NUM; + rpar[i].value = lives_malloc(sizdbl); + rpar[i].def = lives_malloc(sizdbl); + if (weed_plant_has_leaf(wtmpl, WEED_LEAF_HOST_DEFAULT)) vald = weed_get_double_value(wtmpl, WEED_LEAF_HOST_DEFAULT, &error); + else if (weed_leaf_num_elements(wtmpl, WEED_LEAF_DEFAULT) > 0) vald = weed_get_double_value(wtmpl, WEED_LEAF_DEFAULT, &error); + else vald = weed_get_double_value(wtmpl, WEED_LEAF_NEW_DEFAULT, &error); + set_double_param(rpar[i].def, vald); + vald = weed_get_double_value(wpar, WEED_LEAF_VALUE, &error); + set_double_param(rpar[i].value, vald); + rpar[i].min = weed_get_double_value(wtmpl, WEED_LEAF_MIN, &error); + rpar[i].max = weed_get_double_value(wtmpl, WEED_LEAF_MAX, &error); + if (weed_plant_has_leaf(wtmpl, WEED_LEAF_WRAP) && weed_get_boolean_value(wtmpl, WEED_LEAF_WRAP, &error) == WEED_TRUE) rpar[i].wrap = TRUE; + rpar[i].step_size = 0.; + rpar[i].dp = 2; + if (gui != NULL) { + if (weed_plant_has_leaf(gui, WEED_LEAF_STEP_SIZE)) rpar[i].step_size = weed_get_double_value(gui, WEED_LEAF_STEP_SIZE, &error); + if (weed_plant_has_leaf(gui, WEED_LEAF_DECIMALS)) rpar[i].dp = weed_get_int_value(gui, WEED_LEAF_DECIMALS, &error); + } + if (rpar[i].step_size == 0.) { + if (rpar[i].max - rpar[i].min > 1.) rpar[i].step_size = 1.; + else rpar[i].step_size = 1. / (double)lives_10pow(rpar[i].dp); } break; case WEED_HINT_TEXT: - if (weed_plant_has_leaf(wtmpl,WEED_LEAF_DEFAULT)&&weed_leaf_num_elements(wtmpl,WEED_LEAF_DEFAULT)>1) { - rpar[i].hidden|=HIDDEN_MULTI; + if (weed_plant_has_leaf(wtmpl, WEED_LEAF_DEFAULT) && weed_leaf_num_elements(wtmpl, WEED_LEAF_DEFAULT) > 1) { + rpar[i].hidden |= HIDDEN_MULTI; } - rpar[i].type=LIVES_PARAM_STRING; - if (weed_plant_has_leaf(wtmpl,WEED_LEAF_HOST_DEFAULT)) string=weed_get_string_value(wtmpl,WEED_LEAF_HOST_DEFAULT,&error); - else if (weed_leaf_num_elements(wtmpl,WEED_LEAF_DEFAULT)>0) string=weed_get_string_value(wtmpl,WEED_LEAF_DEFAULT,&error); - else string=weed_get_string_value(wtmpl,WEED_LEAF_NEW_DEFAULT,&error); - rpar[i].def=lives_strdup(string); + rpar[i].type = LIVES_PARAM_STRING; + if (weed_plant_has_leaf(wtmpl, WEED_LEAF_HOST_DEFAULT)) string = weed_get_string_value(wtmpl, WEED_LEAF_HOST_DEFAULT, &error); + else if (weed_leaf_num_elements(wtmpl, WEED_LEAF_DEFAULT) > 0) string = weed_get_string_value(wtmpl, WEED_LEAF_DEFAULT, &error); + else string = weed_get_string_value(wtmpl, WEED_LEAF_NEW_DEFAULT, &error); + rpar[i].def = lives_strdup(string); lives_free(string); - string=weed_get_string_value(wpar,WEED_LEAF_VALUE,&error); - rpar[i].value=lives_strdup(string); + string = weed_get_string_value(wpar, WEED_LEAF_VALUE, &error); + rpar[i].value = lives_strdup(string); lives_free(string); - rpar[i].max=0.; - if (gui!=NULL&&weed_plant_has_leaf(gui,WEED_LEAF_MAXCHARS)) { - rpar[i].max=(double)weed_get_int_value(gui,WEED_LEAF_MAXCHARS,&error); - if (rpar[i].max<0.) rpar[i].max=0.; + rpar[i].max = 0.; + if (gui != NULL && weed_plant_has_leaf(gui, WEED_LEAF_MAXCHARS)) { + rpar[i].max = (double)weed_get_int_value(gui, WEED_LEAF_MAXCHARS, &error); + if (rpar[i].max < 0.) rpar[i].max = 0.; } break; case WEED_HINT_COLOR: - cspace=weed_get_int_value(wtmpl,WEED_LEAF_COLORSPACE,&error); + cspace = weed_get_int_value(wtmpl, WEED_LEAF_COLORSPACE, &error); switch (cspace) { case WEED_COLORSPACE_RGB: - if (weed_leaf_num_elements(wtmpl,WEED_LEAF_DEFAULT)>3) { - rpar[i].hidden|=HIDDEN_MULTI; + if (weed_leaf_num_elements(wtmpl, WEED_LEAF_DEFAULT) > 3) { + rpar[i].hidden |= HIDDEN_MULTI; } - rpar[i].type=LIVES_PARAM_COLRGB24; - rpar[i].value=lives_malloc(3*sizint); - rpar[i].def=lives_malloc(3*sizint); - - if (weed_leaf_seed_type(wtmpl,WEED_LEAF_DEFAULT)==WEED_SEED_INT) { - if (weed_plant_has_leaf(wtmpl,WEED_LEAF_HOST_DEFAULT)) { - cols=weed_get_int_array(wtmpl,WEED_LEAF_HOST_DEFAULT,&error); - } else if (weed_leaf_num_elements(wtmpl,WEED_LEAF_DEFAULT)>0) cols=weed_get_int_array(wtmpl,WEED_LEAF_DEFAULT,&error); - else cols=weed_get_int_array(wtmpl,WEED_LEAF_NEW_DEFAULT,&error); - if (weed_leaf_num_elements(wtmpl,WEED_LEAF_MAX)==1) { - red_max=green_max=blue_max=weed_get_int_value(wtmpl,WEED_LEAF_MAX,&error); + rpar[i].type = LIVES_PARAM_COLRGB24; + rpar[i].value = lives_malloc(3 * sizint); + rpar[i].def = lives_malloc(3 * sizint); + + if (weed_leaf_seed_type(wtmpl, WEED_LEAF_DEFAULT) == WEED_SEED_INT) { + if (weed_plant_has_leaf(wtmpl, WEED_LEAF_HOST_DEFAULT)) { + cols = weed_get_int_array(wtmpl, WEED_LEAF_HOST_DEFAULT, &error); + } else if (weed_leaf_num_elements(wtmpl, WEED_LEAF_DEFAULT) > 0) cols = weed_get_int_array(wtmpl, WEED_LEAF_DEFAULT, &error); + else cols = weed_get_int_array(wtmpl, WEED_LEAF_NEW_DEFAULT, &error); + if (weed_leaf_num_elements(wtmpl, WEED_LEAF_MAX) == 1) { + red_max = green_max = blue_max = weed_get_int_value(wtmpl, WEED_LEAF_MAX, &error); } else { - maxi=weed_get_int_array(wtmpl,WEED_LEAF_MAX,&error); - red_max=maxi[0]; - green_max=maxi[1]; - blue_max=maxi[2]; + maxi = weed_get_int_array(wtmpl, WEED_LEAF_MAX, &error); + red_max = maxi[0]; + green_max = maxi[1]; + blue_max = maxi[2]; } - if (weed_leaf_num_elements(wtmpl,WEED_LEAF_MIN)==1) { - red_min=green_min=blue_min=weed_get_int_value(wtmpl,WEED_LEAF_MIN,&error); + if (weed_leaf_num_elements(wtmpl, WEED_LEAF_MIN) == 1) { + red_min = green_min = blue_min = weed_get_int_value(wtmpl, WEED_LEAF_MIN, &error); } else { - mini=weed_get_int_array(wtmpl,WEED_LEAF_MIN,&error); - red_min=mini[0]; - green_min=mini[1]; - blue_min=mini[2]; + mini = weed_get_int_array(wtmpl, WEED_LEAF_MIN, &error); + red_min = mini[0]; + green_min = mini[1]; + blue_min = mini[2]; } - if (cols[0]<red_min) cols[0]=red_min; - if (cols[1]<green_min) cols[1]=green_min; - if (cols[2]<blue_min) cols[2]=blue_min; - if (cols[0]>red_max) cols[0]=red_max; - if (cols[1]>green_max) cols[1]=green_max; - if (cols[2]>blue_max) cols[2]=blue_max; - cols[0]=(double)(cols[0]-red_min)/(double)(red_max-red_min)*255.+.49999; - cols[1]=(double)(cols[1]-green_min)/(double)(green_max-green_min)*255.+.49999; - cols[2]=(double)(cols[2]-blue_min)/(double)(blue_max-blue_min)*255.+.49999; - col_int=TRUE; + if (cols[0] < red_min) cols[0] = red_min; + if (cols[1] < green_min) cols[1] = green_min; + if (cols[2] < blue_min) cols[2] = blue_min; + if (cols[0] > red_max) cols[0] = red_max; + if (cols[1] > green_max) cols[1] = green_max; + if (cols[2] > blue_max) cols[2] = blue_max; + cols[0] = (double)(cols[0] - red_min) / (double)(red_max - red_min) * 255. + .49999; + cols[1] = (double)(cols[1] - green_min) / (double)(green_max - green_min) * 255. + .49999; + cols[2] = (double)(cols[2] - blue_min) / (double)(blue_max - blue_min) * 255. + .49999; + col_int = TRUE; } else { - if (weed_plant_has_leaf(wtmpl,WEED_LEAF_HOST_DEFAULT)) colsd=weed_get_double_array(wtmpl,WEED_LEAF_HOST_DEFAULT,&error); - else if (weed_leaf_num_elements(wtmpl,WEED_LEAF_DEFAULT)>0) colsd=weed_get_double_array(wtmpl,WEED_LEAF_DEFAULT,&error); - else colsd=weed_get_double_array(wtmpl,WEED_LEAF_DEFAULT,&error); - if (weed_leaf_num_elements(wtmpl,WEED_LEAF_MAX)==1) { - red_maxd=green_maxd=blue_maxd=weed_get_double_value(wtmpl,WEED_LEAF_MAX,&error); + if (weed_plant_has_leaf(wtmpl, WEED_LEAF_HOST_DEFAULT)) colsd = weed_get_double_array(wtmpl, WEED_LEAF_HOST_DEFAULT, &error); + else if (weed_leaf_num_elements(wtmpl, WEED_LEAF_DEFAULT) > 0) colsd = weed_get_double_array(wtmpl, WEED_LEAF_DEFAULT, &error); + else colsd = weed_get_double_array(wtmpl, WEED_LEAF_DEFAULT, &error); + if (weed_leaf_num_elements(wtmpl, WEED_LEAF_MAX) == 1) { + red_maxd = green_maxd = blue_maxd = weed_get_double_value(wtmpl, WEED_LEAF_MAX, &error); } else { - maxd=weed_get_double_array(wtmpl,WEED_LEAF_MAX,&error); - red_maxd=maxd[0]; - green_maxd=maxd[1]; - blue_maxd=maxd[2]; + maxd = weed_get_double_array(wtmpl, WEED_LEAF_MAX, &error); + red_maxd = maxd[0]; + green_maxd = maxd[1]; + blue_maxd = maxd[2]; } - if (weed_leaf_num_elements(wtmpl,WEED_LEAF_MIN)==1) { - red_mind=green_mind=blue_mind=weed_get_double_value(wtmpl,WEED_LEAF_MIN,&error); + if (weed_leaf_num_elements(wtmpl, WEED_LEAF_MIN) == 1) { + red_mind = green_mind = blue_mind = weed_get_double_value(wtmpl, WEED_LEAF_MIN, &error); } else { - mind=weed_get_double_array(wtmpl,WEED_LEAF_MIN,&error); - red_mind=mind[0]; - green_mind=mind[1]; - blue_mind=mind[2]; + mind = weed_get_double_array(wtmpl, WEED_LEAF_MIN, &error); + red_mind = mind[0]; + green_mind = mind[1]; + blue_mind = mind[2]; } - if (colsd[0]<red_mind) colsd[0]=red_mind; - if (colsd[1]<green_mind) colsd[1]=green_mind; - if (colsd[2]<blue_mind) colsd[2]=blue_mind; - if (colsd[0]>red_maxd) colsd[0]=red_maxd; - if (colsd[1]>green_maxd) colsd[1]=green_maxd; - if (colsd[2]>blue_maxd) colsd[2]=blue_maxd; - cols=(int *)lives_malloc(3*sizshrt); - cols[0]=(colsd[0]-red_mind)/(red_maxd-red_mind)*255.+.49999; - cols[1]=(colsd[1]-green_mind)/(green_maxd-green_mind)*255.+.49999; - cols[2]=(colsd[2]-blue_mind)/(blue_maxd-blue_mind)*255.+.49999; - col_int=FALSE; + if (colsd[0] < red_mind) colsd[0] = red_mind; + if (colsd[1] < green_mind) colsd[1] = green_mind; + if (colsd[2] < blue_mind) colsd[2] = blue_mind; + if (colsd[0] > red_maxd) colsd[0] = red_maxd; + if (colsd[1] > green_maxd) colsd[1] = green_maxd; + if (colsd[2] > blue_maxd) colsd[2] = blue_maxd; + cols = (int *)lives_malloc(3 * sizshrt); + cols[0] = (colsd[0] - red_mind) / (red_maxd - red_mind) * 255. + .49999; + cols[1] = (colsd[1] - green_mind) / (green_maxd - green_mind) * 255. + .49999; + cols[2] = (colsd[2] - blue_mind) / (blue_maxd - blue_mind) * 255. + .49999; + col_int = FALSE; } - set_colRGB24_param(rpar[i].def,cols[0],cols[1],cols[2]); + set_colRGB24_param(rpar[i].def, cols[0], cols[1], cols[2]); if (col_int) { lives_free(cols); - cols=weed_get_int_array(wpar,WEED_LEAF_VALUE,&error); - if (cols[0]<red_min) cols[0]=red_min; - if (cols[1]<green_min) cols[1]=green_min; - if (cols[2]<blue_min) cols[2]=blue_min; - if (cols[0]>red_max) cols[0]=red_max; - if (cols[1]>green_max) cols[1]=green_max; - if (cols[2]>blue_max) cols[2]=blue_max; - cols[0]=(double)(cols[0]-red_min)/(double)(red_max-red_min)*255.+.49999; - cols[1]=(double)(cols[1]-green_min)/(double)(green_max-green_min)*255.+.49999; - cols[2]=(double)(cols[2]-blue_min)/(double)(blue_max-blue_min)*255.+.49999; + cols = weed_get_int_array(wpar, WEED_LEAF_VALUE, &error); + if (cols[0] < red_min) cols[0] = red_min; + if (cols[1] < green_min) cols[1] = green_min; + if (cols[2] < blue_min) cols[2] = blue_min; + if (cols[0] > red_max) cols[0] = red_max; + if (cols[1] > green_max) cols[1] = green_max; + if (cols[2] > blue_max) cols[2] = blue_max; + cols[0] = (double)(cols[0] - red_min) / (double)(red_max - red_min) * 255. + .49999; + cols[1] = (double)(cols[1] - green_min) / (double)(green_max - green_min) * 255. + .49999; + cols[2] = (double)(cols[2] - blue_min) / (double)(blue_max - blue_min) * 255. + .49999; } else { - colsd=weed_get_double_array(wpar,WEED_LEAF_VALUE,&error); - if (colsd[0]<red_mind) colsd[0]=red_mind; - if (colsd[1]<green_mind) colsd[1]=green_mind; - if (colsd[2]<blue_mind) colsd[2]=blue_mind; - if (colsd[0]>red_maxd) colsd[0]=red_maxd; - if (colsd[1]>green_maxd) colsd[1]=green_maxd; - if (colsd[2]>blue_maxd) colsd[2]=blue_maxd; - cols[0]=(colsd[0]-red_mind)/(red_maxd-red_mind)*255.+.49999; - cols[1]=(colsd[1]-green_mind)/(green_maxd-green_mind)*255.+.49999; - cols[2]=(colsd[2]-blue_mind)/(blue_maxd-blue_mind)*255.+.49999; + colsd = weed_get_double_array(wpar, WEED_LEAF_VALUE, &error); + if (colsd[0] < red_mind) colsd[0] = red_mind; + if (colsd[1] < green_mind) colsd[1] = green_mind; + if (colsd[2] < blue_mind) colsd[2] = blue_mind; + if (colsd[0] > red_maxd) colsd[0] = red_maxd; + if (colsd[1] > green_maxd) colsd[1] = green_maxd; + if (colsd[2] > blue_maxd) colsd[2] = blue_maxd; + cols[0] = (colsd[0] - red_mind) / (red_maxd - red_mind) * 255. + .49999; + cols[1] = (colsd[1] - green_mind) / (green_maxd - green_mind) * 255. + .49999; + cols[2] = (colsd[2] - blue_mind) / (blue_maxd - blue_mind) * 255. + .49999; } - set_colRGB24_param(rpar[i].value,(short)cols[0],(short)cols[1],(short)cols[2]); + set_colRGB24_param(rpar[i].value, (short)cols[0], (short)cols[1], (short)cols[2]); lives_free(cols); lives_freep((void **)&maxi); @@ -3450,52 +3441,52 @@ break; default: - rpar[i].type=LIVES_PARAM_UNKNOWN; // TODO - try to get default + rpar[i].type = LIVES_PARAM_UNKNOWN; // TODO - try to get default } - string=weed_get_string_value(wtmpl,WEED_LEAF_NAME,&error); - rpar[i].name=lives_strdup(string); - rpar[i].label=lives_strdup(string); + string = weed_get_string_value(wtmpl, WEED_LEAF_NAME, &error); + rpar[i].name = lives_strdup(string); + rpar[i].label = lives_strdup(string); lives_free(string); - if (weed_plant_has_leaf(wtmpl,WEED_LEAF_DESCRIPTION)) { - string=weed_get_string_value(wtmpl,WEED_LEAF_DESCRIPTION,&error); - rpar[i].desc=lives_strdup(string); + if (weed_plant_has_leaf(wtmpl, WEED_LEAF_DESCRIPTION)) { + string = weed_get_string_value(wtmpl, WEED_LEAF_DESCRIPTION, &error); + rpar[i].desc = lives_strdup(string); lives_free(string); - } else rpar[i].desc=NULL; + } else rpar[i].desc = NULL; // gui part ///////////////////// - if (gui!=NULL) { - if (weed_plant_has_leaf(gui,WEED_LEAF_LABEL)) { - string=weed_get_string_value(gui,WEED_LEAF_LABEL,&error); + if (gui != NULL) { + if (weed_plant_has_leaf(gui, WEED_LEAF_LABEL)) { + string = weed_get_string_value(gui, WEED_LEAF_LABEL, &error); lives_free(rpar[i].label); - rpar[i].label=lives_strdup(string); + rpar[i].label = lives_strdup(string); lives_free(string); } - if (weed_plant_has_leaf(gui,WEED_LEAF_USE_MNEMONIC)) rpar[i].use_mnemonic=weed_get_boolean_value(gui,WEED_LEAF_USE_MNEMONIC,&error); - if (weed_plant_has_leaf(gui,WEED_LEAF_HIDDEN)) - rpar[i].hidden|=((weed_get_boolean_value(gui,WEED_LEAF_HIDDEN,&error)==WEED_TRUE)*HIDDEN_GUI); - if (weed_plant_has_leaf(gui,WEED_LEAF_DISPLAY_FUNC)) { + if (weed_plant_has_leaf(gui, WEED_LEAF_USE_MNEMONIC)) rpar[i].use_mnemonic = weed_get_boolean_value(gui, WEED_LEAF_USE_MNEMONIC, &error); + if (weed_plant_has_leaf(gui, WEED_LEAF_HIDDEN)) + rpar[i].hidden |= ((weed_get_boolean_value(gui, WEED_LEAF_HIDDEN, &error) == WEED_TRUE) * HIDDEN_GUI); + if (weed_plant_has_leaf(gui, WEED_LEAF_DISPLAY_FUNC)) { weed_display_f *display_func_ptr_ptr; weed_display_f display_func; - weed_leaf_get(gui,WEED_LEAF_DISPLAY_FUNC,0,(void *)&display_func_ptr_ptr); - display_func=*display_func_ptr_ptr; - rpar[i].display_func=(fn_ptr)display_func; + weed_leaf_get(gui, WEED_LEAF_DISPLAY_FUNC, 0, (void *)&display_func_ptr_ptr); + display_func = *display_func_ptr_ptr; + rpar[i].display_func = (fn_ptr)display_func; } - if (weed_plant_has_leaf(gui,WEED_LEAF_INTERPOLATE_FUNC)) { + if (weed_plant_has_leaf(gui, WEED_LEAF_INTERPOLATE_FUNC)) { weed_interpolate_f *interp_func_ptr_ptr; weed_interpolate_f interp_func; - weed_leaf_get(gui,WEED_LEAF_INTERPOLATE_FUNC,0,(void *)&interp_func_ptr_ptr); - interp_func=*interp_func_ptr_ptr; - rpar[i].interp_func=(fn_ptr)interp_func; + weed_leaf_get(gui, WEED_LEAF_INTERPOLATE_FUNC, 0, (void *)&interp_func_ptr_ptr); + interp_func = *interp_func_ptr_ptr; + rpar[i].interp_func = (fn_ptr)interp_func; } } - for (j=0; j<MAX_PARAM_WIDGETS; j++) { - rpar[i].widgets[j]=NULL; + for (j = 0; j < MAX_PARAM_WIDGETS; j++) { + rpar[i].widgets[j] = NULL; } - rpar[i].onchange=FALSE; + rpar[i].onchange = FALSE; } lives_free(wpars); @@ -3508,102 +3499,102 @@ lives_rfx_t *weed_to_rfx(weed_plant_t *plant, boolean show_reinits) { // return an RFX for a weed effect; set rfx->source to an INSTANCE of the filter (first instance for compound fx) int error; - weed_plant_t *filter,*inst; + weed_plant_t *filter, *inst; char *string; - lives_rfx_t *rfx=(lives_rfx_t *)lives_malloc(sizeof(lives_rfx_t)); - rfx->is_template=FALSE; - if (weed_get_int_value(plant,WEED_LEAF_TYPE,&error)==WEED_PLANT_FILTER_INSTANCE) { - filter=weed_instance_get_filter(plant,TRUE); - inst=plant; + lives_rfx_t *rfx = (lives_rfx_t *)lives_malloc(sizeof(lives_rfx_t)); + rfx->is_template = FALSE; + if (weed_get_int_value(plant, WEED_LEAF_TYPE, &error) == WEED_PLANT_FILTER_INSTANCE) { + filter = weed_instance_get_filter(plant, TRUE); + inst = plant; } else { - filter=plant; - inst=weed_instance_from_filter(filter); + filter = plant; + inst = weed_instance_from_filter(filter); // init and deinit the effect to allow the plugin to hide parameters, etc. - weed_reinit_effect(inst,TRUE); - rfx->is_template=TRUE; + weed_reinit_effect(inst, TRUE); + rfx->is_template = TRUE; } - string=weed_get_string_value(filter,WEED_LEAF_NAME,&error); - rfx->name=lives_strdup(string); - rfx->menu_text=lives_strdup(string); + string = weed_get_string_value(filter, WEED_LEAF_NAME, &error); + rfx->name = lives_strdup(string); + rfx->menu_text = lives_strdup(string); lives_free(string); - rfx->action_desc=lives_strdup("no action"); - rfx->min_frames=-1; - rfx->num_in_channels=enabled_in_channels(filter,FALSE); - rfx->status=RFX_STATUS_WEED; - rfx->props=0; - rfx->menuitem=NULL; - if (!weed_plant_has_leaf(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES)|| - weed_get_plantptr_value(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error)==NULL) rfx->num_params=0; - else rfx->num_params=weed_leaf_num_elements(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES); - if (rfx->num_params>0) rfx->params=weed_params_to_rfx(rfx->num_params,inst,show_reinits); - else rfx->params=NULL; - rfx->source=(void *)inst; - rfx->source_type=LIVES_RFX_SOURCE_WEED; - rfx->extra=NULL; - rfx->flags=0; + rfx->action_desc = lives_strdup("no action"); + rfx->min_frames = -1; + rfx->num_in_channels = enabled_in_channels(filter, FALSE); + rfx->status = RFX_STATUS_WEED; + rfx->props = 0; + rfx->menuitem = NULL; + if (!weed_plant_has_leaf(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES) || + weed_get_plantptr_value(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error) == NULL) rfx->num_params = 0; + else rfx->num_params = weed_leaf_num_elements(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES); + if (rfx->num_params > 0) rfx->params = weed_params_to_rfx(rfx->num_params, inst, show_reinits); + else rfx->params = NULL; + rfx->source = (void *)inst; + rfx->source_type = LIVES_RFX_SOURCE_WEED; + rfx->extra = NULL; + rfx->flags = 0; return rfx; } LiVESList *get_external_window_hints(lives_rfx_t *rfx) { - LiVESList *hints=NULL; + LiVESList *hints = NULL; - if (rfx->status==RFX_STATUS_WEED) { - int nfilters,error; + if (rfx->status == RFX_STATUS_WEED) { + int nfilters, error; int num_hints; weed_plant_t *gui; - weed_plant_t *inst=(weed_plant_t *)rfx->source; - weed_plant_t *filter=weed_instance_get_filter(inst,TRUE); - int *filters=NULL; - char *string,**rfx_strings,*delim; + weed_plant_t *inst = (weed_plant_t *)rfx->source; + weed_plant_t *filter = weed_instance_get_filter(inst, TRUE); + int *filters = NULL; + char *string, **rfx_strings, *delim; register int i; - if ((nfilters=num_compound_fx(filter))>1) { + if ((nfilters = num_compound_fx(filter)) > 1) { // handle compound fx - filters=weed_get_int_array(filter,WEED_LEAF_HOST_FILTER_LIST,&error); + filters = weed_get_int_array(filter, WEED_LEAF_HOST_FILTER_LIST, &error); } - for (i=0; i<nfilters; i++) { + for (i = 0; i < nfilters; i++) { - if (filters!=NULL) { - filter=get_weed_filter(filters[i]); + if (filters != NULL) { + filter = get_weed_filter(filters[i]); } - if (!weed_plant_has_leaf(filter,WEED_LEAF_GUI)) continue; - gui=weed_get_plantptr_value(filter,WEED_LEAF_GUI,&error); + if (!weed_plant_has_leaf(filter, WEED_LEAF_GUI)) continue; + gui = weed_get_plantptr_value(filter, WEED_LEAF_GUI, &error); - if (!weed_plant_has_leaf(gui,WEED_LEAF_LAYOUT_SCHEME)) continue; + if (!weed_plant_has_leaf(gui, WEED_LEAF_LAYOUT_SCHEME)) continue; - string=weed_get_string_value(gui,WEED_LEAF_LAYOUT_SCHEME,&error); - if (strcmp(string,"RFX")) { + string = weed_get_string_value(gui, WEED_LEAF_LAYOUT_SCHEME, &error); + if (strcmp(string, "RFX")) { lives_free(string); continue; } lives_free(string); - if (!weed_plant_has_leaf(gui,WEED_LEAF_RFX_DELIM)) continue; - delim=weed_get_string_value(gui,WEED_LEAF_RFX_DELIM,&error); - lives_snprintf(rfx->delim,2,"%s",delim); + if (!weed_plant_has_leaf(gui, WEED_LEAF_RFX_DELIM)) continue; + delim = weed_get_string_value(gui, WEED_LEAF_RFX_DELIM, &error); + lives_snprintf(rfx->delim, 2, "%s", delim); lives_free(delim); - if (!weed_plant_has_leaf(gui,WEED_LEAF_RFX_STRINGS)) continue; + if (!weed_plant_has_leaf(gui, WEED_LEAF_RFX_STRINGS)) continue; - num_hints=weed_leaf_num_elements(gui,WEED_LEAF_RFX_STRINGS); + num_hints = weed_leaf_num_elements(gui, WEED_LEAF_RFX_STRINGS); - if (num_hints==0) continue; - rfx_strings=weed_get_string_array(gui,WEED_LEAF_RFX_STRINGS,&error); + if (num_hints == 0) continue; + rfx_strings = weed_get_string_array(gui, WEED_LEAF_RFX_STRINGS, &error); - for (i=0; i<num_hints; i++) { - hints=lives_list_append(hints,lives_strdup(rfx_strings[i])); + for (i = 0; i < num_hints; i++) { + hints = lives_list_append(hints, lives_strdup(rfx_strings[i])); lives_free(rfx_strings[i]); } lives_free(rfx_strings); - if (filters!=NULL) hints=lives_list_append(hints,lives_strdup("internal|nextfilter")); + if (filters != NULL) hints = lives_list_append(hints, lives_strdup("internal|nextfilter")); } @@ -3619,7 +3610,7 @@ - char *plugin_run_param_window(const char *get_com, LiVESVBox *vbox, lives_rfx_t **ret_rfx) { + char *plugin_run_param_window(const char *get_com, LiVESVBox * vbox, lives_rfx_t **ret_rfx) { // here we create an rfx script from some fixed values and values from the plugin; // we will then compile the script to an rfx scrap and use the scrap to get info @@ -3642,46 +3633,46 @@ FILE *sfile; - lives_rfx_t *rfx=(lives_rfx_t *)lives_malloc(sizeof(lives_rfx_t)); + lives_rfx_t *rfx = (lives_rfx_t *)lives_malloc(sizeof(lives_rfx_t)); char *string; - char *rfx_scrapname=lives_strdup_printf("rfx.%d",capable->mainpid); - char *rfxfile=lives_strdup_printf("%s/.%s.script",prefs->workdir,rfx_scrapname); + char *rfx_scrapname = lives_strdup_printf("rfx.%d", capable->mainpid); + char *rfxfile = lives_strdup_printf("%s/.%s.script", prefs->workdir, rfx_scrapname); char *com; - char *fnamex=NULL; - char *res_string=NULL; + char *fnamex = NULL; + char *res_string = NULL; char buff[32]; int res; int retval; - string=lives_strdup_printf("<name>\n%s\n</name>\n",rfx_scrapname); + string = lives_strdup_printf("<name>\n%s\n</name>\n", rfx_scrapname); do { - retval=0; - sfile=fopen(rfxfile,"w"); - if (sfile==NULL) { - retval=do_write_failed_error_s_with_retry(rfxfile,lives_strerror(errno),NULL); - if (retval==LIVES_RESPONSE_CANCEL) { + retval = 0; + sfile = fopen(rfxfile, "w"); + if (sfile == NULL) { + retval = do_write_failed_error_s_with_retry(rfxfile, lives_strerror(errno), NULL); + if (retval == LIVES_RESPONSE_CANCEL) { lives_free(string); return NULL; } } else { - mainw->write_failed=FALSE; - lives_fputs(string,sfile); + mainw->write_failed = FALSE; + lives_fputs(string, sfile); fclose(sfile); lives_free(string); if (mainw->write_failed) { - retval=do_write_failed_error_s_with_retry(rfxfile,NULL,NULL); - if (retval==LIVES_RESPONSE_CANCEL) return NULL; + retval = do_write_failed_error_s_with_retry(rfxfile, NULL, NULL); + if (retval == LIVES_RESPONSE_CANCEL) return NULL; } } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); - com=lives_strdup_printf("%s >> \"%s\"", get_com, rfxfile); - retval=lives_system(com,FALSE); + com = lives_strdup_printf("%s >> \"%s\"", get_com, rfxfile); + retval = lives_system(com, FALSE); lives_free(com); // command failed @@ -3694,36 +3685,36 @@ // OK, we should now have an RFX fragment in a file, we can compile it, then build a parameter window from it // call RFX_BUILDER program to compile the script, passing parameters input_filename and output_directory - com=lives_strdup_printf("\"%s\" \"%s\" \"%s\" >%s",RFX_BUILDER,rfxfile,prefs->workdir,LIVES_DEVNULL); - res=lives_system(com,TRUE); + com = lives_strdup_printf("\"%s\" \"%s\" \"%s\" >%s", RFX_BUILDER, rfxfile, prefs->workdir, LIVES_DEVNULL); + res = lives_system(com, TRUE); lives_free(com); lives_rm(rfxfile); lives_free(rfxfile); - if (res==0) { + if (res == 0) { // the script compiled correctly // now we pop up the parameter window, get the values of our parameters, and marshall them as extra_params // first create a lives_rfx_t from the scrap - rfx->name=lives_strdup(rfx_scrapname); - rfx->menu_text=NULL; - rfx->action_desc=NULL; - rfx->extra=NULL; - rfx->flags=0; - rfx->status=RFX_STATUS_SCRAP; + rfx->name = lives_strdup(rfx_scrapname); + rfx->menu_text = NULL; + rfx->action_desc = NULL; + rfx->extra = NULL; + rfx->flags = 0; + rfx->status = RFX_STATUS_SCRAP; - rfx->num_in_channels=0; - rfx->min_frames=-1; + rfx->num_in_channels = 0; + rfx->min_frames = -1; - rfx->flags=RFX_FLAGS_NO_SLIDERS; + rfx->flags = RFX_FLAGS_NO_SLIDERS; // get the delimiter - rfxfile=lives_strdup_printf("%ssmdef.%d",prefs->workdir,capable->mainpid); - fnamex=lives_build_filename(prefs->workdir,rfx_scrapname,NULL); - com=lives_strdup_printf("\"%s\" get_define > \"%s\"",fnamex,rfxfile); - retval=lives_system(com,FALSE); + rfxfile = lives_strdup_printf("%ssmdef.%d", prefs->workdir, capable->mainpid); + fnamex = lives_build_filename(prefs->workdir, rfx_scrapname, NULL); + com = lives_strdup_printf("\"%s\" get_define > \"%s\"", fnamex, rfxfile); + retval = lives_system(com, FALSE); lives_free(com); // command to get_define failed @@ -3736,77 +3727,76 @@ } do { - retval=0; - sfile=fopen(rfxfile,"r"); + retval = 0; + sfile = fopen(rfxfile, "r"); if (!sfile) { - retval=do_read_failed_error_s_with_retry(rfxfile,lives_strerror(errno),NULL); + retval = do_read_failed_error_s_with_retry(rfxfile, lives_strerror(errno), NULL); } else { - mainw->read_failed=FALSE; - lives_fgets(buff,32,sfile); + mainw->read_failed = FALSE; + lives_fgets(buff, 32, sfile); fclose(sfile); } if (mainw->read_failed) { - retval=do_read_failed_error_s_with_retry(rfxfile,NULL,NULL); + retval = do_read_failed_error_s_with_retry(rfxfile, NULL, NULL); } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); lives_rm(rfxfile); lives_free(rfxfile); - if (retval==LIVES_RESPONSE_CANCEL) { + if (retval == LIVES_RESPONSE_CANCEL) { lives_rm(fnamex); lives_free(fnamex); return NULL; } - lives_snprintf(rfx->delim,2,"%s",buff); + lives_snprintf(rfx->delim, 2, "%s", buff); // ok, this might need adjusting afterwards - rfx->menu_text=(vbox==NULL?lives_strdup_printf(_("%s advanced settings"),prefs->encoder.of_desc):lives_strdup("")); - rfx->is_template=FALSE; + rfx->menu_text = (vbox == NULL ? lives_strdup_printf(_("%s advanced settings"), prefs->encoder.of_desc) : lives_strdup("")); + rfx->is_template = FALSE; - rfx->source=NULL; - rfx->source_type=LIVES_RFX_SOURCE_RFX; + rfx->source = NULL; + rfx->source_type = LIVES_RFX_SOURCE_RFX; - render_fx_get_params(rfx,rfx_scrapname,RFX_STATUS_SCRAP); + render_fx_get_params(rfx, rfx_scrapname, RFX_STATUS_SCRAP); // now we build our window and get param values - if (vbox==NULL) { - on_fx_pre_activate(rfx,1,NULL); + if (vbox == NULL) { + on_fx_pre_activate(rfx, 1, NULL); if (prefs->show_gui) { - if (mainw->multitrack==NULL) lives_window_set_transient_for(LIVES_WINDOW(fx_dialog[1]),LIVES_WINDOW(mainw->LiVES)); - else lives_window_set_transient_for(LIVES_WINDOW(fx_dialog[1]),LIVES_WINDOW(mainw->multitrack->window)); + lives_window_set_transient_for(LIVES_WINDOW(fx_dialog[1]), LIVES_WINDOW(LIVES_MAIN_WINDOW_WIDGET)); } lives_window_set_modal(LIVES_WINDOW(fx_dialog[1]), TRUE); - if (lives_dialog_run(LIVES_DIALOG(fx_dialog[1]))==LIVES_RESPONSE_OK) { + if (lives_dialog_run(LIVES_DIALOG(fx_dialog[1])) == LIVES_RESPONSE_OK) { // marshall our params for passing to the plugin - res_string=param_marshall(rfx,FALSE); + res_string = param_marshall(rfx, FALSE); } } else { - make_param_box(vbox,rfx); + make_param_box(vbox, rfx); } - if (ret_rfx!=NULL) { - *ret_rfx=rfx; + if (ret_rfx != NULL) { + *ret_rfx = rfx; } else { rfx_free(rfx); lives_free(rfx); } } else { - if (ret_rfx!=NULL) { - *ret_rfx=NULL; + if (ret_rfx != NULL) { + *ret_rfx = NULL; } else { - res_string=lives_strdup(""); + res_string = lives_strdup(""); } - if (rfx!=NULL) { + if (rfx != NULL) { lives_free(rfx); } } - if (fnamex!=NULL) { + if (fnamex != NULL) { lives_rm(fnamex); lives_free(fnamex); }
View file
LiVES-2.8.4.tar.bz2/src/plugins.h -> LiVES-2.8.6.tar.bz2/src/plugins.h
Changed
@@ -101,7 +101,7 @@ #define VPP_CAN_RETURN (1<<1) #define VPP_LOCAL_DISPLAY (1<<2) - int fwidth,fheight; + int fwidth, fheight; int palette; int YUV_sampling; @@ -120,7 +120,6 @@ weed_plant_t **alpha_chans; int num_play_params; int num_alpha_chans; - } _vid_playback_plugin; @@ -276,7 +275,6 @@ void *priv; ///< private data for demuxer/decoder - host should not touch this - } lives_clip_data_t; @@ -313,7 +311,6 @@ unsigned char **abuff); void (*rip_audio_cleanup)(const lives_clip_data_t *cdata); void (*module_unload)(void); - } lives_decoder_sys_t; @@ -368,8 +365,7 @@ typedef enum { - - LIVES_PARAM_UNKNOWN=0, + LIVES_PARAM_UNKNOWN = 0, LIVES_PARAM_NUM, LIVES_PARAM_BOOL, LIVES_PARAM_COLRGB24, @@ -377,19 +373,18 @@ LIVES_PARAM_STRING_LIST, LIVES_PARAM_COLRGBA32, - LIVES_PARAM_UNDISPLAYABLE=65536 - + LIVES_PARAM_UNDISPLAYABLE = 65536 } lives_param_type_t; typedef enum { - LIVES_RFX_SOURCE_RFX=0, + LIVES_RFX_SOURCE_RFX = 0, LIVES_RFX_SOURCE_WEED } lives_rfx_source_t; typedef enum { - LIVES_PARAM_SPECIAL_TYPE_NONE=0, // normal parameter type + LIVES_PARAM_SPECIAL_TYPE_NONE = 0, // normal parameter type // framedraw types LIVES_PARAM_SPECIAL_TYPE_RECT_DEMASK, ///< type may be used in framedraw @@ -404,7 +399,6 @@ // misc types LIVES_PARAM_SPECIAL_TYPE_MERGEALIGN, LIVES_PARAM_SPECIAL_TYPE_ASPECT_RATIO - } lives_param_special_t; @@ -468,21 +462,20 @@ // this may change lives_param_special_t special_type; // the visual modification type (see paramspecial.h) int special_type_index; // index within special_type (e.g for DEMASK, 0==left, 1==top, 2==width, 3==height) - } lives_param_t; typedef enum { - RFX_STATUS_BUILTIN=0, ///< factory presets - RFX_STATUS_CUSTOM=1, ///< custom effects in the custom menu - RFX_STATUS_TEST=2, ///< test effects in the advanced menu - RFX_STATUS_ANY=3, ///< indicates free choice of statuses - RFX_STATUS_WEED=4, ///< indicates an internal RFX, created from a weed instance - RFX_STATUS_SCRAP=5, ///< used for parsing RFX scraps from external apps + RFX_STATUS_BUILTIN = 0, ///< factory presets + RFX_STATUS_CUSTOM = 1, ///< custom effects in the custom menu + RFX_STATUS_TEST = 2, ///< test effects in the advanced menu + RFX_STATUS_ANY = 3, ///< indicates free choice of statuses + RFX_STATUS_WEED = 4, ///< indicates an internal RFX, created from a weed instance + RFX_STATUS_SCRAP = 5, ///< used for parsing RFX scraps from external apps // these are only used when prompting for a name - RFX_STATUS_COPY=128, ///< indicates a copy operation to test - RFX_STATUS_RENAME=129 ///< indicates a copy operation to test + RFX_STATUS_COPY = 128, ///< indicates a copy operation to test + RFX_STATUS_RENAME = 129 ///< indicates a copy operation to test } lives_rfx_status_t; @@ -520,7 +513,6 @@ void *extra; ///< for future use char delim[2]; boolean is_template; - } lives_rfx_t;
View file
LiVES-2.8.4.tar.bz2/src/preferences.c -> LiVES-2.8.6.tar.bz2/src/preferences.c
Changed
@@ -1,6 +1,6 @@ // preferences.c // LiVES (lives-exe) -// (c) G. Finch 2004 - 2016 +// (c) G. Finch 2004 - 2017 // released under the GNU GPL 3 or later // see file ../COPYING or www.gnu.org for licensing details @@ -37,16 +37,15 @@ #ifdef ENABLE_OSC static void on_osc_enable_toggled(LiVESToggleButton *t1, livespointer t2) { if (prefs->osc_udp_started) return; - lives_widget_set_sensitive(prefsw->spinbutton_osc_udp,lives_toggle_button_get_active(t1)|| + lives_widget_set_sensitive(prefsw->spinbutton_osc_udp, lives_toggle_button_get_active(t1) || lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(t2))); } #endif static void instopen_toggled(LiVESToggleButton *t1, LiVESWidget *button) { - lives_widget_set_sensitive(button,lives_toggle_button_get_active(t1)); + lives_widget_set_sensitive(button, lives_toggle_button_get_active(t1)); } - static int get_pref_inner(const char *filename, const char *key, char *val, int maxlen) { FILE *valfile; char *vfile; @@ -55,45 +54,44 @@ int alarm_handle; boolean timeout; - memset(val,0,maxlen); - + memset(val, 0, maxlen); - if (filename==NULL) { - if (mainw->cached_list!=NULL) { - char *prefval=get_val_from_cached_list(key,maxlen); - if (prefval!=NULL) { - lives_snprintf(val,maxlen,"%s",prefval); + if (filename == NULL) { + if (mainw->cached_list != NULL) { + char *prefval = get_val_from_cached_list(key, maxlen); + if (prefval != NULL) { + lives_snprintf(val, maxlen, "%s", prefval); lives_free(prefval); } return LIVES_RESPONSE_NONE; } - com=lives_strdup_printf("%s get_pref \"%s\" %d %d",prefs->backend_sync,key,lives_getuid(),capable->mainpid); + com = lives_strdup_printf("%s get_pref \"%s\" %d %d", prefs->backend_sync, key, lives_getuid(), capable->mainpid); } else { - com=lives_strdup_printf("%s get_clip_value \"%s\" %d %d \"%s\"",prefs->backend_sync,key, - lives_getuid(),capable->mainpid,filename); + com = lives_strdup_printf("%s get_clip_value \"%s\" %d %d \"%s\"", prefs->backend_sync, key, + lives_getuid(), capable->mainpid, filename); } - if (lives_system(com,TRUE)) { + if (lives_system(com, TRUE)) { workdir_warning(); lives_free(com); return LIVES_RESPONSE_INVALID; } - vfile=lives_strdup_printf("%s"LIVES_DIR_SEP LIVES_SMOGVAL_FILE_NAME".%d.%d",prefs->workdir,lives_getuid(),capable->mainpid); + vfile = lives_strdup_printf("%s"LIVES_DIR_SEP LIVES_SMOGVAL_FILE_NAME".%d.%d", prefs->workdir, lives_getuid(), capable->mainpid); do { - retval=LIVES_RESPONSE_NONE; - alarm_handle=lives_alarm_set(LIVES_DEFAULT_TIMEOUT); - timeout=FALSE; - mainw->read_failed=FALSE; - - while (!((valfile=fopen(vfile,"r"))&&!(timeout=lives_alarm_get(alarm_handle)))) { - if (mainw!=NULL) { - weed_plant_t *frame_layer=mainw->frame_layer; - mainw->frame_layer=NULL; + retval = LIVES_RESPONSE_NONE; + alarm_handle = lives_alarm_set(LIVES_DEFAULT_TIMEOUT); + timeout = FALSE; + mainw->read_failed = FALSE; + + while (!((valfile = fopen(vfile, "r")) && !(timeout = lives_alarm_get(alarm_handle)))) { + if (mainw != NULL) { + weed_plant_t *frame_layer = mainw->frame_layer; + mainw->frame_layer = NULL; lives_widget_context_update(); - mainw->frame_layer=frame_layer; + mainw->frame_layer = frame_layer; lives_usleep(prefs->sleep_time); } } @@ -101,17 +99,17 @@ lives_alarm_clear(alarm_handle); if (timeout) { - if (mainw!=NULL) retval=do_read_failed_error_s_with_retry(vfile,NULL,NULL); + if (mainw != NULL) retval = do_read_failed_error_s_with_retry(vfile, NULL, NULL); } else { - if (mainw!=NULL) mainw->read_failed=FALSE; - lives_fgets(val,maxlen,valfile); + if (mainw != NULL) mainw->read_failed = FALSE; + lives_fgets(val, maxlen, valfile); fclose(valfile); lives_rm(vfile); - if (mainw!=NULL&&mainw->read_failed) { - retval=do_read_failed_error_s_with_retry(vfile,NULL,NULL); + if (mainw != NULL && mainw->read_failed) { + retval = do_read_failed_error_s_with_retry(vfile, NULL, NULL); } } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); lives_free(vfile); lives_free(com); @@ -121,43 +119,41 @@ int get_pref(const char *key, char *val, int maxlen) { - return get_pref_inner(NULL,key,val,maxlen); + return get_pref_inner(NULL, key, val, maxlen); } int get_pref_from_file(const char *filename, const char *key, char *val, int maxlen) { - return get_pref_inner(filename,key,val,maxlen); + return get_pref_inner(filename, key, val, maxlen); } - int get_pref_utf8(const char *key, char *val, int maxlen) { // get a pref in locale encoding, then convert it to utf8 char *tmp; - int retval=get_pref(key,val,maxlen); - tmp=lives_filename_to_utf8(val,-1,NULL,NULL,NULL); - lives_snprintf(val,maxlen,"%s",tmp); + int retval = get_pref(key, val, maxlen); + tmp = lives_filename_to_utf8(val, -1, NULL, NULL, NULL); + lives_snprintf(val, maxlen, "%s", tmp); lives_free(tmp); return retval; } - LiVESList *get_list_pref(const char *key) { // get a list of values from a preference char **array; char buf[65536]; - int nvals,i; + int nvals, i; - LiVESList *retlist=NULL; + LiVESList *retlist = NULL; - if (get_pref(key,buf,65535)!=LIVES_RESPONSE_NONE) return NULL; + if (get_pref(key, buf, 65535) != LIVES_RESPONSE_NONE) return NULL; if (!strlen(buf)) return NULL; - nvals=get_token_count(buf,'\n'); - array=lives_strsplit(buf,"\n",-1); - for (i=0; i<nvals; i++) { - retlist=lives_list_append(retlist,lives_strdup(array[i])); + nvals = get_token_count(buf, '\n'); + array = lives_strsplit(buf, "\n", -1); + for (i = 0; i < nvals; i++) { + retlist = lives_list_append(retlist, lives_strdup(array[i])); } lives_strfreev(array); @@ -166,42 +162,38 @@ } - - - void get_pref_default(const char *key, char *val, int maxlen) { FILE *valfile; char *vfile; - char *com=lives_strdup_printf("%s get_pref_default \"%s\"",prefs->backend_sync,key); + char *com = lives_strdup_printf("%s get_pref_default \"%s\"", prefs->backend_sync, key); int retval; int alarm_handle; boolean timeout; - memset(val,0,1); + memset(val, 0, 1); - if (lives_system(com,TRUE)) { + if (lives_system(com, TRUE)) { workdir_warning(); lives_free(com); return; } - vfile=lives_strdup_printf("%s"LIVES_DIR_SEP LIVES_SMOGVAL_FILE_NAME".%d.%d",prefs->workdir,lives_getuid(),capable->mainpid); - + vfile = lives_strdup_printf("%s"LIVES_DIR_SEP LIVES_SMOGVAL_FILE_NAME".%d.%d", prefs->workdir, lives_getuid(), capable->mainpid); do { - retval=0; - timeout=FALSE; - mainw->read_failed=FALSE; - - alarm_handle=lives_alarm_set(LIVES_DEFAULT_TIMEOUT); - - while (!((valfile=fopen(vfile,"r"))&&!(timeout=lives_alarm_get(alarm_handle)))) { - if (mainw!=NULL) { - weed_plant_t *frame_layer=mainw->frame_layer; - mainw->frame_layer=NULL; + retval = 0; + timeout = FALSE; + mainw->read_failed = FALSE; + + alarm_handle = lives_alarm_set(LIVES_DEFAULT_TIMEOUT); + + while (!((valfile = fopen(vfile, "r")) && !(timeout = lives_alarm_get(alarm_handle)))) { + if (mainw != NULL) { + weed_plant_t *frame_layer = mainw->frame_layer; + mainw->frame_layer = NULL; lives_widget_context_update(); - mainw->frame_layer=frame_layer; + mainw->frame_layer = frame_layer; lives_usleep(prefs->sleep_time); } } @@ -209,19 +201,19 @@ lives_alarm_clear(alarm_handle); if (timeout) { - if (mainw!=NULL) retval=do_read_failed_error_s_with_retry(vfile,NULL,NULL); + if (mainw != NULL) retval = do_read_failed_error_s_with_retry(vfile, NULL, NULL); } else { - if (mainw!=NULL) mainw->read_failed=FALSE; - lives_fgets(val,maxlen,valfile); + if (mainw != NULL) mainw->read_failed = FALSE; + lives_fgets(val, maxlen, valfile); fclose(valfile); lives_rm(vfile); - if (mainw!=NULL&&mainw->read_failed) { - retval=do_read_failed_error_s_with_retry(vfile,NULL,NULL); + if (mainw != NULL && mainw->read_failed) { + retval = do_read_failed_error_s_with_retry(vfile, NULL, NULL); } } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); - if (!strcmp(val,"NULL")) memset(val,0,1); + if (!strcmp(val, "NULL")) memset(val, 0, 1); lives_free(vfile); lives_free(com); @@ -230,26 +222,28 @@ boolean get_boolean_pref(const char *key) { char buffer[16]; - buffer[0]=0; - get_pref(key,buffer,16); - if (!strcmp(buffer,"true")) return TRUE; + buffer[0] = 0; + get_pref(key, buffer, 16); + if (!strcmp(buffer, "true")) return TRUE; return FALSE; } + int get_int_pref(const char *key) { char buffer[64]; - buffer[0]=0; - get_pref(key,buffer,64); - if (strlen(buffer)==0) return 0; + buffer[0] = 0; + get_pref(key, buffer, 64); + if (strlen(buffer) == 0) return 0; return atoi(buffer); } + double get_double_pref(const char *key) { char buffer[64]; - buffer[0]=0; - get_pref(key,buffer,64); - if (strlen(buffer)==0) return 0.; - return strtod(buffer,NULL); + buffer[0] = 0; + get_pref(key, buffer, 64); + if (strlen(buffer) == 0) return 0.; + return strtod(buffer, NULL); } @@ -257,15 +251,15 @@ char buffer[64]; char **array; - if (get_pref(key,buffer,64)!=LIVES_RESPONSE_NONE) return FALSE; - if (strlen(buffer)==0) return FALSE; - if (get_token_count(buffer,' ')<4) return FALSE; - - array=lives_strsplit(buffer," ",4); - lcol->red=atoi(array[0]); - lcol->green=atoi(array[1]); - lcol->blue=atoi(array[2]); - lcol->alpha=atoi(array[3]); + if (get_pref(key, buffer, 64) != LIVES_RESPONSE_NONE) return FALSE; + if (strlen(buffer) == 0) return FALSE; + if (get_token_count(buffer, ' ') < 4) return FALSE; + + array = lives_strsplit(buffer, " ", 4); + lcol->red = atoi(array[0]); + lcol->green = atoi(array[1]); + lcol->blue = atoi(array[2]); + lcol->alpha = atoi(array[3]); lives_strfreev(array); return TRUE; @@ -276,33 +270,33 @@ char buffer[64]; char **array; - if (get_pref_from_file(themefile,key,buffer,64)!=LIVES_RESPONSE_NONE) return FALSE; - if (strlen(buffer)==0) return FALSE; - if (get_token_count(buffer,' ')<4) return FALSE; - - array=lives_strsplit(buffer," ",4); - lcol->red=atoi(array[0]); - lcol->green=atoi(array[1]); - lcol->blue=atoi(array[2]); - lcol->alpha=atoi(array[3]); + if (get_pref_from_file(themefile, key, buffer, 64) != LIVES_RESPONSE_NONE) return FALSE; + if (strlen(buffer) == 0) return FALSE; + if (get_token_count(buffer, ' ') < 4) return FALSE; + + array = lives_strsplit(buffer, " ", 4); + lcol->red = atoi(array[0]); + lcol->green = atoi(array[1]); + lcol->blue = atoi(array[2]); + lcol->alpha = atoi(array[3]); lives_strfreev(array); return TRUE; } - void delete_pref(const char *key) { - char *com=lives_strdup_printf("%s delete_pref \"%s\"",prefs->backend_sync,key); - if (lives_system(com,TRUE)) { + char *com = lives_strdup_printf("%s delete_pref \"%s\"", prefs->backend_sync, key); + if (lives_system(com, TRUE)) { workdir_warning(); } lives_free(com); } + void set_pref(const char *key, const char *value) { - char *com=lives_strdup_printf("%s set_pref \"%s\" \"%s\"",prefs->backend_sync,key,value); - if (lives_system(com,TRUE)) { + char *com = lives_strdup_printf("%s set_pref \"%s\" \"%s\"", prefs->backend_sync, key, value); + if (lives_system(com, TRUE)) { workdir_warning(); } lives_free(com); @@ -311,9 +305,9 @@ void set_pref_utf8(const char *key, const char *value) { // convert to locale encoding - char *tmp=U82F(value); - char *com=lives_strdup_printf("%s set_pref \"%s\" \"%s\"",prefs->backend_sync,key,tmp); - if (lives_system(com,TRUE)) { + char *tmp = U82F(value); + char *com = lives_strdup_printf("%s set_pref \"%s\" \"%s\"", prefs->backend_sync, key, tmp); + if (lives_system(com, TRUE)) { workdir_warning(); } lives_free(com); @@ -322,8 +316,8 @@ void set_theme_pref(const char *themefile, const char *key, const char *value) { - char *com=lives_strdup_printf("%s set_clip_value \"%s\" \"%s\" \"%s\"",prefs->backend_sync,themefile,key,value); - if (lives_system(com,TRUE)) { + char *com = lives_strdup_printf("%s set_clip_value \"%s\" \"%s\" \"%s\"", prefs->backend_sync, themefile, key, value); + if (lives_system(com, TRUE)) { workdir_warning(); } lives_free(com); @@ -331,8 +325,8 @@ void set_int_pref(const char *key, int value) { - char *com=lives_strdup_printf("%s set_pref \"%s\" %d",prefs->backend_sync,key,value); - if (lives_system(com,TRUE)) { + char *com = lives_strdup_printf("%s set_pref \"%s\" %d", prefs->backend_sync, key, value); + if (lives_system(com, TRUE)) { workdir_warning(); } lives_free(com); @@ -341,8 +335,8 @@ void set_int64_pref(const char *key, int64_t value) { // not used - char *com=lives_strdup_printf("%s set_pref \"%s\" %"PRId64,prefs->backend_sync,key,value); - if (lives_system(com,TRUE)) { + char *com = lives_strdup_printf("%s set_pref \"%s\" %"PRId64, prefs->backend_sync, key, value); + if (lives_system(com, TRUE)) { workdir_warning(); } lives_free(com); @@ -350,8 +344,8 @@ void set_double_pref(const char *key, double value) { - char *com=lives_strdup_printf("%s set_pref \"%s\" %.3f",prefs->backend_sync,key,value); - if (lives_system(com,TRUE)) { + char *com = lives_strdup_printf("%s set_pref \"%s\" %.3f", prefs->backend_sync, key, value); + if (lives_system(com, TRUE)) { workdir_warning(); } lives_free(com); @@ -362,210 +356,202 @@ char *com; if (value) { - com=lives_strdup_printf("%s set_pref \"%s\" true",prefs->backend_sync,key); + com = lives_strdup_printf("%s set_pref \"%s\" true", prefs->backend_sync, key); } else { - com=lives_strdup_printf("%s set_pref \"%s\" false",prefs->backend_sync,key); + com = lives_strdup_printf("%s set_pref \"%s\" false", prefs->backend_sync, key); } - if (lives_system(com,TRUE)) { + if (lives_system(com, TRUE)) { workdir_warning(); } lives_free(com); } - void set_list_pref(const char *key, LiVESList *values) { // set pref from a list of values - LiVESList *xlist=values; - char *string=NULL,*tmp; + LiVESList *xlist = values; + char *string = NULL, *tmp; - while (xlist!=NULL) { - if (string==NULL) string=lives_strdup((char *)xlist->data); + while (xlist != NULL) { + if (string == NULL) string = lives_strdup((char *)xlist->data); else { - tmp=lives_strdup_printf("%s\n%s",string,(char *)xlist->data); + tmp = lives_strdup_printf("%s\n%s", string, (char *)xlist->data); lives_free(string); - string=tmp; + string = tmp; } - xlist=xlist->next; + xlist = xlist->next; } - if (string==NULL) string=lives_strdup(""); + if (string == NULL) string = lives_strdup(""); - set_pref(key,string); + set_pref(key, string); lives_free(string); } - - void set_theme_colour_pref(const char *themefile, const char *key, lives_colRGBA64_t *lcol) { char *com; char *myval; - myval=lives_strdup_printf("%d %d %d %d",lcol->red,lcol->green,lcol->blue,lcol->alpha); - com=lives_strdup_printf("%s set_clip_value \"%s\" \"%s\" \"%s\"",prefs->backend_sync,themefile,key,myval); - lives_system(com,FALSE); + myval = lives_strdup_printf("%d %d %d %d", lcol->red, lcol->green, lcol->blue, lcol->alpha); + com = lives_strdup_printf("%s set_clip_value \"%s\" \"%s\" \"%s\"", prefs->backend_sync, themefile, key, myval); + lives_system(com, FALSE); lives_free(com); lives_free(myval); } - void set_colour_pref(const char *key, lives_colRGBA64_t *lcol) { char *com; char *myval; - myval=lives_strdup_printf("%d %d %d %d",lcol->red,lcol->green,lcol->blue,lcol->alpha); - com=lives_strdup_printf("%s set_pref \"%s\" \"%s\"",prefs->backend_sync,key,myval); - lives_system(com,FALSE); + myval = lives_strdup_printf("%d %d %d %d", lcol->red, lcol->green, lcol->blue, lcol->alpha); + com = lives_strdup_printf("%s set_pref \"%s\" \"%s\"", prefs->backend_sync, key, myval); + lives_system(com, FALSE); lives_free(com); lives_free(myval); } - - void set_palette_prefs(void) { lives_colRGBA64_t lcol; - lcol.red=palette->style; - lcol.green=lcol.blue=lcol.alpha=0; + lcol.red = palette->style; + lcol.green = lcol.blue = lcol.alpha = 0; - set_colour_pref(THEME_DETAIL_STYLE,&lcol); + set_colour_pref(THEME_DETAIL_STYLE, &lcol); - set_pref(THEME_DETAIL_SEPWIN_IMAGE,mainw->sepimg_path); - set_pref(THEME_DETAIL_FRAMEBLANK_IMAGE,mainw->frameblank_path); + set_pref(THEME_DETAIL_SEPWIN_IMAGE, mainw->sepimg_path); + set_pref(THEME_DETAIL_FRAMEBLANK_IMAGE, mainw->frameblank_path); - widget_color_to_lives_rgba(&lcol,&palette->normal_fore); - set_colour_pref(THEME_DETAIL_NORMAL_FORE,&lcol); + widget_color_to_lives_rgba(&lcol, &palette->normal_fore); + set_colour_pref(THEME_DETAIL_NORMAL_FORE, &lcol); - widget_color_to_lives_rgba(&lcol,&palette->normal_back); - set_colour_pref(THEME_DETAIL_NORMAL_BACK,&lcol); + widget_color_to_lives_rgba(&lcol, &palette->normal_back); + set_colour_pref(THEME_DETAIL_NORMAL_BACK, &lcol); - widget_color_to_lives_rgba(&lcol,&palette->menu_and_bars_fore); - set_colour_pref(THEME_DETAIL_ALT_FORE,&lcol); + widget_color_to_lives_rgba(&lcol, &palette->menu_and_bars_fore); + set_colour_pref(THEME_DETAIL_ALT_FORE, &lcol); - widget_color_to_lives_rgba(&lcol,&palette->menu_and_bars); - set_colour_pref(THEME_DETAIL_ALT_BACK,&lcol); + widget_color_to_lives_rgba(&lcol, &palette->menu_and_bars); + set_colour_pref(THEME_DETAIL_ALT_BACK, &lcol); - widget_color_to_lives_rgba(&lcol,&palette->info_text); - set_colour_pref(THEME_DETAIL_INFO_TEXT,&lcol); + widget_color_to_lives_rgba(&lcol, &palette->info_text); + set_colour_pref(THEME_DETAIL_INFO_TEXT, &lcol); - widget_color_to_lives_rgba(&lcol,&palette->info_base); - set_colour_pref(THEME_DETAIL_INFO_BASE,&lcol); + widget_color_to_lives_rgba(&lcol, &palette->info_base); + set_colour_pref(THEME_DETAIL_INFO_BASE, &lcol); - widget_color_to_lives_rgba(&lcol,&palette->mt_timecode_fg); - set_colour_pref(THEME_DETAIL_MT_TCFG,&lcol); + widget_color_to_lives_rgba(&lcol, &palette->mt_timecode_fg); + set_colour_pref(THEME_DETAIL_MT_TCFG, &lcol); - widget_color_to_lives_rgba(&lcol,&palette->mt_timecode_bg); - set_colour_pref(THEME_DETAIL_MT_TCBG,&lcol); + widget_color_to_lives_rgba(&lcol, &palette->mt_timecode_bg); + set_colour_pref(THEME_DETAIL_MT_TCBG, &lcol); - set_colour_pref(THEME_DETAIL_AUDCOL,&palette->audcol); - set_colour_pref(THEME_DETAIL_VIDCOL,&palette->vidcol); - set_colour_pref(THEME_DETAIL_FXCOL,&palette->fxcol); + set_colour_pref(THEME_DETAIL_AUDCOL, &palette->audcol); + set_colour_pref(THEME_DETAIL_VIDCOL, &palette->vidcol); + set_colour_pref(THEME_DETAIL_FXCOL, &palette->fxcol); - set_colour_pref(THEME_DETAIL_MT_TLREG,&palette->mt_timeline_reg); - set_colour_pref(THEME_DETAIL_MT_MARK,&palette->mt_mark); - set_colour_pref(THEME_DETAIL_MT_EVBOX,&palette->mt_evbox); + set_colour_pref(THEME_DETAIL_MT_TLREG, &palette->mt_timeline_reg); + set_colour_pref(THEME_DETAIL_MT_MARK, &palette->mt_mark); + set_colour_pref(THEME_DETAIL_MT_EVBOX, &palette->mt_evbox); - set_colour_pref(THEME_DETAIL_FRAME_SURROUND,&palette->frame_surround); + set_colour_pref(THEME_DETAIL_FRAME_SURROUND, &palette->frame_surround); - set_colour_pref(THEME_DETAIL_CE_SEL,&palette->ce_sel); - set_colour_pref(THEME_DETAIL_CE_UNSEL,&palette->ce_unsel); + set_colour_pref(THEME_DETAIL_CE_SEL, &palette->ce_sel); + set_colour_pref(THEME_DETAIL_CE_UNSEL, &palette->ce_unsel); - set_pref(THEME_DETAIL_SEPWIN_IMAGE,mainw->sepimg_path); - set_pref(THEME_DETAIL_FRAMEBLANK_IMAGE,mainw->frameblank_path); + set_pref(THEME_DETAIL_SEPWIN_IMAGE, mainw->sepimg_path); + set_pref(THEME_DETAIL_FRAMEBLANK_IMAGE, mainw->frameblank_path); } - void set_vpp(boolean set_in_prefs) { // Video Playback Plugin if (strlen(future_prefs->vpp_name)) { - if (!lives_ascii_strcasecmp(future_prefs->vpp_name,mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) { - if (mainw->vpp!=NULL) { + if (!lives_ascii_strcasecmp(future_prefs->vpp_name, mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) { + if (mainw->vpp != NULL) { if (mainw->ext_playback) vid_playback_plugin_exit(); close_vid_playback_plugin(mainw->vpp); - mainw->vpp=NULL; - if (set_in_prefs) set_pref(PREF_VID_PLAYBACK_PLUGIN,"none"); + mainw->vpp = NULL; + if (set_in_prefs) set_pref(PREF_VID_PLAYBACK_PLUGIN, "none"); } } else { _vid_playback_plugin *vpp; - if ((vpp=open_vid_playback_plugin(future_prefs->vpp_name,TRUE))!=NULL) { - mainw->vpp=vpp; + if ((vpp = open_vid_playback_plugin(future_prefs->vpp_name, TRUE)) != NULL) { + mainw->vpp = vpp; if (set_in_prefs) { - set_pref(PREF_VID_PLAYBACK_PLUGIN,mainw->vpp->name); + set_pref(PREF_VID_PLAYBACK_PLUGIN, mainw->vpp->name); if (!mainw->ext_playback) do_error_dialog_with_check_transient (_("\n\nVideo playback plugins are only activated in\nfull screen, separate window (fs) mode\n"), - TRUE,0,prefsw!=NULL?LIVES_WINDOW(prefsw->prefs_dialog):LIVES_WINDOW(mainw->LiVES)); + TRUE, 0, prefsw != NULL ? LIVES_WINDOW(prefsw->prefs_dialog) : LIVES_WINDOW(mainw->LiVES)); } } } - if (set_in_prefs) mainw->write_vpp_file=TRUE; + if (set_in_prefs) mainw->write_vpp_file = TRUE; } - if (future_prefs->vpp_argv!=NULL&&mainw->vpp!=NULL) { - mainw->vpp->fwidth=future_prefs->vpp_fwidth; - mainw->vpp->fheight=future_prefs->vpp_fheight; - mainw->vpp->palette=future_prefs->vpp_palette; - mainw->vpp->fixed_fpsd=future_prefs->vpp_fixed_fpsd; - mainw->vpp->fixed_fps_numer=future_prefs->vpp_fixed_fps_numer; - mainw->vpp->fixed_fps_denom=future_prefs->vpp_fixed_fps_denom; - if (mainw->vpp->fixed_fpsd>0.) { - if (mainw->fixed_fpsd!=-1.||!((*mainw->vpp->set_fps)(mainw->vpp->fixed_fpsd))) { + if (future_prefs->vpp_argv != NULL && mainw->vpp != NULL) { + mainw->vpp->fwidth = future_prefs->vpp_fwidth; + mainw->vpp->fheight = future_prefs->vpp_fheight; + mainw->vpp->palette = future_prefs->vpp_palette; + mainw->vpp->fixed_fpsd = future_prefs->vpp_fixed_fpsd; + mainw->vpp->fixed_fps_numer = future_prefs->vpp_fixed_fps_numer; + mainw->vpp->fixed_fps_denom = future_prefs->vpp_fixed_fps_denom; + if (mainw->vpp->fixed_fpsd > 0.) { + if (mainw->fixed_fpsd != -1. || !((*mainw->vpp->set_fps)(mainw->vpp->fixed_fpsd))) { do_vpp_fps_error(); - mainw->vpp->fixed_fpsd=-1.; - mainw->vpp->fixed_fps_numer=0; + mainw->vpp->fixed_fpsd = -1.; + mainw->vpp->fixed_fps_numer = 0; } } if (!(*mainw->vpp->set_palette)(mainw->vpp->palette)) { do_vpp_palette_error(); } - mainw->vpp->YUV_clamping=future_prefs->vpp_YUV_clamping; + mainw->vpp->YUV_clamping = future_prefs->vpp_YUV_clamping; - if (mainw->vpp->set_yuv_palette_clamping!=NULL)(*mainw->vpp->set_yuv_palette_clamping)(mainw->vpp->YUV_clamping); + if (mainw->vpp->set_yuv_palette_clamping != NULL)(*mainw->vpp->set_yuv_palette_clamping)(mainw->vpp->YUV_clamping); - mainw->vpp->extra_argc=future_prefs->vpp_argc; - mainw->vpp->extra_argv=future_prefs->vpp_argv; - if (set_in_prefs) mainw->write_vpp_file=TRUE; + mainw->vpp->extra_argc = future_prefs->vpp_argc; + mainw->vpp->extra_argv = future_prefs->vpp_argv; + if (set_in_prefs) mainw->write_vpp_file = TRUE; } - memset(future_prefs->vpp_name,0,64); - future_prefs->vpp_argv=NULL; + memset(future_prefs->vpp_name, 0, 64); + future_prefs->vpp_argv = NULL; } - static void set_workdir_label_text(LiVESLabel *label) { char *free_ds; - char *tmpx1,*tmpx2; - char *dir=future_prefs->workdir; + char *tmpx1, *tmpx2; + char *dir = future_prefs->workdir; char *markup; // use lives_strdup* since the translation string is auto-freed() if (!is_writeable_dir(dir)) { - tmpx2=lives_strdup(_("\n\n\n(Free space = UNKNOWN)")); + tmpx2 = lives_strdup(_("\n\n\n(Free space = UNKNOWN)")); } else { - free_ds=lives_format_storage_space_string(get_fs_free(dir)); - tmpx2=lives_strdup_printf(_("\n\n\n(Free space = %s)"),free_ds); + free_ds = lives_format_storage_space_string(get_fs_free(dir)); + tmpx2 = lives_strdup_printf(_("\n\n\n(Free space = %s)"), free_ds); lives_free(free_ds); } - tmpx1=lives_strdup( - _("The work directory is LiVES working directory where opened clips and sets are stored.\nIt should be in a partition with plenty of free disk space.\n")); + tmpx1 = lives_strdup( + _("The work directory is LiVES working directory where opened clips and sets are stored.\nIt should be in a partition with plenty of free disk space.\n")); #ifdef GUI_GTK - markup = g_markup_printf_escaped("<span background=\"white\" foreground=\"red\"><b>%s</b></span>%s",tmpx1,tmpx2); + markup = g_markup_printf_escaped("<span background=\"white\" foreground=\"red\"><b>%s</b></span>%s", tmpx1, tmpx2); #endif #ifdef GUI_QT QString qs = QString("<span background=\"white\" foreground=\"red\"><b>%s</b></span>%s").arg(tmpx1).arg(tmpx2); - markup=strdup((const char *)qs.toHtmlEscaped().constData()); + markup = strdup((const char *)qs.toHtmlEscaped().constData()); #endif lives_label_set_markup(LIVES_LABEL(label), markup); @@ -575,629 +561,613 @@ } - void pref_factory_bool(const char *prefidx, boolean newval) { // this is called from lbindings.c which in turn is called from liblives.cpp // can also be called from other places - if (prefsw!=NULL) - prefsw->ignore_apply=TRUE; + if (prefsw != NULL) + prefsw->ignore_apply = TRUE; - if (!strcmp(prefidx,PREF_REC_EXT_AUDIO)) { - boolean rec_ext_audio=newval; - if (rec_ext_audio&&prefs->audio_src==AUDIO_SRC_INT) { - prefs->audio_src=AUDIO_SRC_EXT; - set_int_pref(PREF_AUDIO_SRC,AUDIO_SRC_EXT); + if (!strcmp(prefidx, PREF_REC_EXT_AUDIO)) { + boolean rec_ext_audio = newval; + if (rec_ext_audio && prefs->audio_src == AUDIO_SRC_INT) { + prefs->audio_src = AUDIO_SRC_EXT; + set_int_pref(PREF_AUDIO_SRC, AUDIO_SRC_EXT); - if (prefs->audio_player==AUD_PLAYER_JACK) { + if (prefs->audio_player == AUD_PLAYER_JACK) { #ifdef ENABLE_JACK if (prefs->perm_audio_reader) { // create reader connection now, if permanent - jack_rec_audio_to_clip(-1,-1,RECA_EXTERNAL); + jack_rec_audio_to_clip(-1, -1, RECA_EXTERNAL); } #endif } - if (prefs->audio_player==AUD_PLAYER_PULSE) { + if (prefs->audio_player == AUD_PLAYER_PULSE) { #ifdef HAVE_PULSE_AUDIO if (prefs->perm_audio_reader) { // create reader connection now, if permanent - pulse_rec_audio_to_clip(-1,-1,RECA_EXTERNAL); + pulse_rec_audio_to_clip(-1, -1, RECA_EXTERNAL); } #endif } + } else if (!rec_ext_audio && prefs->audio_src == AUDIO_SRC_EXT) { + prefs->audio_src = AUDIO_SRC_INT; + set_int_pref(PREF_AUDIO_SRC, AUDIO_SRC_INT); - } else if (!rec_ext_audio&&prefs->audio_src==AUDIO_SRC_EXT) { - prefs->audio_src=AUDIO_SRC_INT; - set_int_pref(PREF_AUDIO_SRC,AUDIO_SRC_INT); - - mainw->aud_rec_fd=-1; + mainw->aud_rec_fd = -1; if (prefs->perm_audio_reader) { #ifdef ENABLE_JACK - jack_rec_audio_end(TRUE,TRUE); + jack_rec_audio_end(TRUE, TRUE); #endif #ifdef HAVE_PULSE_AUDIO - pulse_rec_audio_end(TRUE,TRUE); + pulse_rec_audio_end(TRUE, TRUE); #endif } - } - if (prefsw!=NULL) { - if (prefs->audio_src==AUDIO_SRC_EXT) - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->rextaudio),TRUE); + if (prefsw != NULL) { + if (prefs->audio_src == AUDIO_SRC_EXT) + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->rextaudio), TRUE); else - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->rintaudio),TRUE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->rintaudio), TRUE); } } - if (!strcmp(prefidx,PREF_SEPWIN_STICKY)) { - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->sticky),newval); + if (!strcmp(prefidx, PREF_SEPWIN_STICKY)) { + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->sticky), newval); } - if (!strcmp(prefidx,PREF_MT_EXIT_RENDER)) { - prefs->mt_exit_render=newval; - if (prefsw!=NULL) + if (!strcmp(prefidx, PREF_MT_EXIT_RENDER)) { + prefs->mt_exit_render = newval; + if (prefsw != NULL) lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_mt_exit_render), prefs->mt_exit_render); } - - if (prefsw!=NULL) { + if (prefsw != NULL) { lives_widget_context_update(); - prefsw->ignore_apply=FALSE; + prefsw->ignore_apply = FALSE; } } void pref_factory_int(const char *prefidx, int newval) { // TODO - if (prefsw!=NULL) - prefsw->ignore_apply=TRUE; - - + if (prefsw != NULL) + prefsw->ignore_apply = TRUE; // ... - - if (prefsw!=NULL) { + if (prefsw != NULL) { lives_widget_context_update(); - prefsw->ignore_apply=FALSE; + prefsw->ignore_apply = FALSE; } - } - void pref_factory_bitmapped(const char *prefidx, int bitfield, boolean newval) { + if (prefsw != NULL) + prefsw->ignore_apply = TRUE; - if (prefsw!=NULL) - prefsw->ignore_apply=TRUE; - - if (!strcmp(prefidx,PREF_MT_EXIT_RENDER)) { - if (newval&&!(prefs->audio_opts&bitfield)) prefs->audio_opts&=bitfield; - else if (!newval&&(prefs->audio_opts&bitfield)) prefs->audio_opts^=bitfield; - if (prefsw!=NULL) { - if (bitfield==AUDIO_OPTS_FOLLOW_FPS) - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_afollow),(prefs->audio_opts&AUDIO_OPTS_FOLLOW_FPS)?TRUE:FALSE); - else if (bitfield==AUDIO_OPTS_FOLLOW_CLIPS) - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_aclips),(prefs->audio_opts&AUDIO_OPTS_FOLLOW_CLIPS)?TRUE:FALSE); + if (!strcmp(prefidx, PREF_MT_EXIT_RENDER)) { + if (newval && !(prefs->audio_opts & bitfield)) prefs->audio_opts &= bitfield; + else if (!newval && (prefs->audio_opts & bitfield)) prefs->audio_opts ^= bitfield; + if (prefsw != NULL) { + if (bitfield == AUDIO_OPTS_FOLLOW_FPS) + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_afollow), + (prefs->audio_opts & AUDIO_OPTS_FOLLOW_FPS) ? TRUE : FALSE); + else if (bitfield == AUDIO_OPTS_FOLLOW_CLIPS) + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_aclips), + (prefs->audio_opts & AUDIO_OPTS_FOLLOW_CLIPS) ? TRUE : FALSE); } } - if (prefsw!=NULL) { + if (prefsw != NULL) { lives_widget_context_update(); - prefsw->ignore_apply=FALSE; + prefsw->ignore_apply = FALSE; } } - boolean apply_prefs(boolean skip_warn) { // set current prefs from prefs dialog - const char *video_open_command=lives_entry_get_text(LIVES_ENTRY(prefsw->video_open_entry)); - const char *audio_play_command=lives_entry_get_text(LIVES_ENTRY(prefsw->audio_command_entry)); - const char *def_vid_load_dir=lives_entry_get_text(LIVES_ENTRY(prefsw->vid_load_dir_entry)); - const char *def_vid_save_dir=lives_entry_get_text(LIVES_ENTRY(prefsw->vid_save_dir_entry)); - const char *def_audio_dir=lives_entry_get_text(LIVES_ENTRY(prefsw->audio_dir_entry)); - const char *def_image_dir=lives_entry_get_text(LIVES_ENTRY(prefsw->image_dir_entry)); - const char *def_proj_dir=lives_entry_get_text(LIVES_ENTRY(prefsw->proj_dir_entry)); - const char *wp_path=lives_entry_get_text(LIVES_ENTRY(prefsw->wpp_entry)); - const char *frei0r_path=lives_entry_get_text(LIVES_ENTRY(prefsw->frei0r_entry)); - const char *ladspa_path=lives_entry_get_text(LIVES_ENTRY(prefsw->ladspa_entry)); + const char *video_open_command = lives_entry_get_text(LIVES_ENTRY(prefsw->video_open_entry)); + const char *audio_play_command = lives_entry_get_text(LIVES_ENTRY(prefsw->audio_command_entry)); + const char *def_vid_load_dir = lives_entry_get_text(LIVES_ENTRY(prefsw->vid_load_dir_entry)); + const char *def_vid_save_dir = lives_entry_get_text(LIVES_ENTRY(prefsw->vid_save_dir_entry)); + const char *def_audio_dir = lives_entry_get_text(LIVES_ENTRY(prefsw->audio_dir_entry)); + const char *def_image_dir = lives_entry_get_text(LIVES_ENTRY(prefsw->image_dir_entry)); + const char *def_proj_dir = lives_entry_get_text(LIVES_ENTRY(prefsw->proj_dir_entry)); + const char *wp_path = lives_entry_get_text(LIVES_ENTRY(prefsw->wpp_entry)); + const char *frei0r_path = lives_entry_get_text(LIVES_ENTRY(prefsw->frei0r_entry)); + const char *ladspa_path = lives_entry_get_text(LIVES_ENTRY(prefsw->ladspa_entry)); - const char *sepimg_path=lives_entry_get_text(LIVES_ENTRY(prefsw->sepimg_entry)); - const char *frameblank_path=lives_entry_get_text(LIVES_ENTRY(prefsw->frameblank_entry)); + const char *sepimg_path = lives_entry_get_text(LIVES_ENTRY(prefsw->sepimg_entry)); + const char *frameblank_path = lives_entry_get_text(LIVES_ENTRY(prefsw->frameblank_entry)); char workdir[PATH_MAX]; char *theme = lives_combo_get_active_text(LIVES_COMBO(prefsw->theme_combo)); char *audp = lives_combo_get_active_text(LIVES_COMBO(prefsw->audp_combo)); - char *audio_codec=NULL; + char *audio_codec = NULL; char *pb_quality = lives_combo_get_active_text(LIVES_COMBO(prefsw->pbq_combo)); - LiVESWidgetColor colf,colb,colf2,colb2,coli,colt,col,coltcfg,coltcbg; + LiVESWidgetColor colf, colb, colf2, colb2, coli, colt, col, coltcfg, coltcbg; lives_colRGBA64_t lcol; - int pbq=PB_QUALITY_MED; + int pbq = PB_QUALITY_MED; int idx; - boolean needs_restart=FALSE; + boolean needs_restart = FALSE; - double default_fps=lives_spin_button_get_value(LIVES_SPIN_BUTTON(prefsw->spinbutton_def_fps)); + double default_fps = lives_spin_button_get_value(LIVES_SPIN_BUTTON(prefsw->spinbutton_def_fps)); - boolean antialias=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_antialias)); - boolean fx_threads=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_threads)); + boolean antialias = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_antialias)); + boolean fx_threads = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_threads)); - int nfx_threads=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(prefsw->spinbutton_nfx_threads)); + int nfx_threads = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(prefsw->spinbutton_nfx_threads)); - boolean stop_screensaver=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->stop_screensaver_check)); - boolean open_maximised=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->open_maximised_check)); - boolean fs_maximised=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->fs_max_check)); - boolean show_recent=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->recent_check)); - boolean stream_audio_out=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_stream_audio)); - boolean rec_after_pb=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_rec_after_pb)); - - uint64_t ds_warn_level=(uint64_t)lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(prefsw->spinbutton_warn_ds))*1000000; - uint64_t ds_crit_level=(uint64_t)lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(prefsw->spinbutton_crit_ds))*1000000; - - boolean warn_fps=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_fps)); - boolean warn_save_set=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_save_set)); - boolean warn_fsize=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_fsize)); - boolean warn_mplayer=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_mplayer)); - boolean warn_rendered_fx=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_rendered_fx)); - boolean warn_encoders=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_encoders)); - boolean warn_duplicate_set=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_dup_set)); - boolean warn_layout_missing_clips=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_clips)); - boolean warn_layout_close=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_close)); - boolean warn_layout_delete=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_delete)); - boolean warn_layout_shift=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_shift)); - boolean warn_layout_alter=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_alter)); - boolean warn_discard_layout=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_discard_layout)); - boolean warn_after_dvgrab= + boolean stop_screensaver = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->stop_screensaver_check)); + boolean open_maximised = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->open_maximised_check)); + boolean fs_maximised = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->fs_max_check)); + boolean show_recent = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->recent_check)); + boolean stream_audio_out = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_stream_audio)); + boolean rec_after_pb = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_rec_after_pb)); + + uint64_t ds_warn_level = (uint64_t)lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(prefsw->spinbutton_warn_ds)) * 1000000; + uint64_t ds_crit_level = (uint64_t)lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(prefsw->spinbutton_crit_ds)) * 1000000; + + boolean warn_fps = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_fps)); + boolean warn_save_set = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_save_set)); + boolean warn_fsize = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_fsize)); + boolean warn_mplayer = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_mplayer)); + boolean warn_rendered_fx = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_rendered_fx)); + boolean warn_encoders = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_encoders)); + boolean warn_duplicate_set = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_dup_set)); + boolean warn_layout_missing_clips = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_clips)); + boolean warn_layout_close = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_close)); + boolean warn_layout_delete = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_delete)); + boolean warn_layout_shift = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_shift)); + boolean warn_layout_alter = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_alter)); + boolean warn_discard_layout = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_discard_layout)); + boolean warn_after_dvgrab = #ifdef HAVE_LDVGRAB lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_after_dvgrab)); #else - !(prefs->warning_mask&WARN_MASK_AFTER_DVGRAB); + !(prefs->warning_mask & WARN_MASK_AFTER_DVGRAB); #endif - boolean warn_mt_achans=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_mt_achans)); - boolean warn_mt_no_jack=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_mt_no_jack)); - boolean warn_yuv4m_open= + boolean warn_mt_achans = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_mt_achans)); + boolean warn_mt_no_jack = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_mt_no_jack)); + boolean warn_yuv4m_open = #ifdef HAVE_YUV4MPEG lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_yuv4m_open)); #else - !(prefs->warning_mask&WARN_MASK_OPEN_YUV4M); + !(prefs->warning_mask & WARN_MASK_OPEN_YUV4M); #endif - boolean warn_layout_adel=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_adel)); - boolean warn_layout_ashift=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_ashift)); - boolean warn_layout_aalt=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_aalt)); - boolean warn_layout_popup=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_popup)); - boolean warn_mt_backup_space=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_mt_backup_space)); - boolean warn_after_crash=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_after_crash)); - boolean warn_no_pulse=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_no_pulse)); - boolean warn_layout_wipe=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_wipe)); - - boolean midisynch=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->check_midi)); - boolean instant_open=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_instant_open)); - boolean auto_deint=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_auto_deint)); - boolean auto_trim=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_auto_trim)); - boolean auto_nobord=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_nobord)); - boolean concat_images=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_concat_images)); - boolean ins_speed=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->ins_speed)); - boolean show_player_stats=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_show_stats)); - boolean ext_jpeg=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->jpeg)); - boolean show_tool=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->show_tool)); - boolean mouse_scroll=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->mouse_scroll)); - boolean ce_maxspect=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_ce_maxspect)); - boolean show_button_icons=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_button_icons)); - - int fsize_to_warn=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(prefsw->spinbutton_warn_fsize)); - int dl_bwidth=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(prefsw->spinbutton_bwidth)); - int ocp=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(prefsw->spinbutton_ocp)); - - boolean rec_frames=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->rframes)); - boolean rec_fps=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->rfps)); - boolean rec_effects=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->reffects)); - boolean rec_clips=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->rclips)); - boolean rec_audio=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->raudio)); - boolean rec_ext_audio=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->rextaudio)); + boolean warn_layout_adel = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_adel)); + boolean warn_layout_ashift = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_ashift)); + boolean warn_layout_aalt = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_aalt)); + boolean warn_layout_popup = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_popup)); + boolean warn_mt_backup_space = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_mt_backup_space)); + boolean warn_after_crash = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_after_crash)); + boolean warn_no_pulse = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_no_pulse)); + boolean warn_layout_wipe = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_wipe)); + + boolean midisynch = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->check_midi)); + boolean instant_open = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_instant_open)); + boolean auto_deint = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_auto_deint)); + boolean auto_trim = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_auto_trim)); + boolean auto_nobord = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_nobord)); + boolean concat_images = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_concat_images)); + boolean ins_speed = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->ins_speed)); + boolean show_player_stats = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_show_stats)); + boolean ext_jpeg = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->jpeg)); + boolean show_tool = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->show_tool)); + boolean mouse_scroll = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->mouse_scroll)); + boolean ce_maxspect = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_ce_maxspect)); + boolean show_button_icons = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_button_icons)); + + int fsize_to_warn = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(prefsw->spinbutton_warn_fsize)); + int dl_bwidth = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(prefsw->spinbutton_bwidth)); + int ocp = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(prefsw->spinbutton_ocp)); + + boolean rec_frames = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->rframes)); + boolean rec_fps = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->rfps)); + boolean rec_effects = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->reffects)); + boolean rec_clips = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->rclips)); + boolean rec_audio = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->raudio)); + boolean rec_ext_audio = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->rextaudio)); #ifdef RT_AUDIO - boolean rec_desk_audio=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->rdesk_audio)); + boolean rec_desk_audio = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->rdesk_audio)); #endif - boolean mt_enter_prompt=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->mt_enter_prompt)); - boolean render_prompt=!lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_render_prompt)); + boolean mt_enter_prompt = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->mt_enter_prompt)); + boolean render_prompt = !lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_render_prompt)); - int mt_def_width=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(prefsw->spinbutton_mt_def_width)); - int mt_def_height=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(prefsw->spinbutton_mt_def_height)); - int mt_def_fps=lives_spin_button_get_value(LIVES_SPIN_BUTTON(prefsw->spinbutton_mt_def_fps)); - int mt_def_arate=atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_arate))); - int mt_def_achans=atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_achans))); - int mt_def_asamps=atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_asamps))); - int mt_def_signed_endian=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->rb_unsigned))* - AFORM_UNSIGNED+lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->rb_bigend))*AFORM_BIG_ENDIAN; - int mt_undo_buf=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(prefsw->spinbutton_mt_undo_buf)); - - boolean mt_exit_render=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_mt_exit_render)); - boolean mt_enable_audio=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->aud_checkbutton)); - boolean mt_pertrack_audio=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->pertrack_checkbutton)); - boolean mt_backaudio=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->backaudio_checkbutton)); - - boolean mt_autoback_always=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->mt_autoback_always)); - boolean mt_autoback_never=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->mt_autoback_never)); - - int mt_autoback_time=lives_spin_button_get_value(LIVES_SPIN_BUTTON(prefsw->spinbutton_mt_ab_time)); - int max_disp_vtracks=lives_spin_button_get_value(LIVES_SPIN_BUTTON(prefsw->spinbutton_max_disp_vtracks)); - int gui_monitor=lives_spin_button_get_value(LIVES_SPIN_BUTTON(prefsw->spinbutton_gmoni)); - int play_monitor=lives_spin_button_get_value(LIVES_SPIN_BUTTON(prefsw->spinbutton_pmoni)); + int mt_def_width = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(prefsw->spinbutton_mt_def_width)); + int mt_def_height = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(prefsw->spinbutton_mt_def_height)); + int mt_def_fps = lives_spin_button_get_value(LIVES_SPIN_BUTTON(prefsw->spinbutton_mt_def_fps)); + int mt_def_arate = atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_arate))); + int mt_def_achans = atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_achans))); + int mt_def_asamps = atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_asamps))); + int mt_def_signed_endian = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->rb_unsigned)) * + AFORM_UNSIGNED + lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->rb_bigend)) * AFORM_BIG_ENDIAN; + int mt_undo_buf = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(prefsw->spinbutton_mt_undo_buf)); + + boolean mt_exit_render = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_mt_exit_render)); + boolean mt_enable_audio = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->aud_checkbutton)); + boolean mt_pertrack_audio = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->pertrack_checkbutton)); + boolean mt_backaudio = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->backaudio_checkbutton)); + + boolean mt_autoback_always = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->mt_autoback_always)); + boolean mt_autoback_never = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->mt_autoback_never)); + + int mt_autoback_time = lives_spin_button_get_value(LIVES_SPIN_BUTTON(prefsw->spinbutton_mt_ab_time)); + int max_disp_vtracks = lives_spin_button_get_value(LIVES_SPIN_BUTTON(prefsw->spinbutton_max_disp_vtracks)); + int gui_monitor = lives_spin_button_get_value(LIVES_SPIN_BUTTON(prefsw->spinbutton_gmoni)); + int play_monitor = lives_spin_button_get_value(LIVES_SPIN_BUTTON(prefsw->spinbutton_pmoni)); - boolean ce_thumbs=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->ce_thumbs)); - - boolean forcesmon=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->forcesmon)); - boolean startup_ce=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->rb_startup_ce)); + boolean ce_thumbs = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->ce_thumbs)); + boolean forcesmon = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->forcesmon)); + boolean startup_ce = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->rb_startup_ce)); #ifdef ENABLE_JACK_TRANSPORT - boolean jack_tstart=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_start_tjack)); - boolean jack_master=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_jack_master)); - boolean jack_client=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_jack_client)); - boolean jack_tb_start=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_jack_tb_start)); - boolean jack_tb_client=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_jack_tb_client)); + boolean jack_tstart = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_start_tjack)); + boolean jack_master = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_jack_master)); + boolean jack_client = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_jack_client)); + boolean jack_tb_start = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_jack_tb_start)); + boolean jack_tb_client = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_jack_tb_client)); #else #ifdef ENABLE_JACK - boolean jack_tstart=FALSE; - boolean jack_master=FALSE; - boolean jack_client=FALSE; - boolean jack_tb_start=FALSE; - boolean jack_tb_client=FALSE; + boolean jack_tstart = FALSE; + boolean jack_master = FALSE; + boolean jack_client = FALSE; + boolean jack_tb_start = FALSE; + boolean jack_tb_client = FALSE; #endif #endif #ifdef ENABLE_JACK - boolean jack_astart=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_start_ajack)); - boolean jack_pwp=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_jack_pwp)); - boolean jack_read_autocon=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_jack_read_autocon)); - uint32_t jack_opts=(JACK_OPTS_TRANSPORT_CLIENT*jack_client+JACK_OPTS_TRANSPORT_MASTER*jack_master+ - JACK_OPTS_START_TSERVER*jack_tstart+JACK_OPTS_START_ASERVER*jack_astart+ - JACK_OPTS_NOPLAY_WHEN_PAUSED*!jack_pwp+JACK_OPTS_TIMEBASE_START*jack_tb_start+ - JACK_OPTS_TIMEBASE_CLIENT*jack_tb_client+JACK_OPTS_NO_READ_AUTOCON*!jack_read_autocon); + boolean jack_astart = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_start_ajack)); + boolean jack_pwp = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_jack_pwp)); + boolean jack_read_autocon = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_jack_read_autocon)); + uint32_t jack_opts = (JACK_OPTS_TRANSPORT_CLIENT * jack_client + JACK_OPTS_TRANSPORT_MASTER * jack_master + + JACK_OPTS_START_TSERVER * jack_tstart + JACK_OPTS_START_ASERVER * jack_astart + + JACK_OPTS_NOPLAY_WHEN_PAUSED * !jack_pwp + JACK_OPTS_TIMEBASE_START * jack_tb_start + + JACK_OPTS_TIMEBASE_CLIENT * jack_tb_client + JACK_OPTS_NO_READ_AUTOCON * !jack_read_autocon); #endif #ifdef RT_AUDIO - boolean audio_follow_fps=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_afollow)); - boolean audio_follow_clips=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_aclips)); - uint32_t audio_opts=(AUDIO_OPTS_FOLLOW_FPS*audio_follow_fps+AUDIO_OPTS_FOLLOW_CLIPS*audio_follow_clips); + boolean audio_follow_fps = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_afollow)); + boolean audio_follow_clips = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_aclips)); + uint32_t audio_opts = (AUDIO_OPTS_FOLLOW_FPS * audio_follow_fps + AUDIO_OPTS_FOLLOW_CLIPS * audio_follow_clips); #endif #ifdef ENABLE_OSC - uint32_t osc_udp_port=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(prefsw->spinbutton_osc_udp)); - boolean osc_start=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->enable_OSC_start)); - boolean osc_enable=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->enable_OSC)); + uint32_t osc_udp_port = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(prefsw->spinbutton_osc_udp)); + boolean osc_start = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->enable_OSC_start)); + boolean osc_enable = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->enable_OSC)); #endif - int rte_keys_virtual=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(prefsw->spinbutton_rte_keys)); + int rte_keys_virtual = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(prefsw->spinbutton_rte_keys)); #ifdef ENABLE_OSC #ifdef OMC_JS_IMPL - boolean omc_js_enable=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_omc_js)); - const char *omc_js_fname=lives_entry_get_text(LIVES_ENTRY(prefsw->omc_js_entry)); + boolean omc_js_enable = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_omc_js)); + const char *omc_js_fname = lives_entry_get_text(LIVES_ENTRY(prefsw->omc_js_entry)); #endif - #ifdef OMC_MIDI_IMPL - boolean omc_midi_enable=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_omc_midi)); - const char *omc_midi_fname=lives_entry_get_text(LIVES_ENTRY(prefsw->omc_midi_entry)); - int midicr=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(prefsw->spinbutton_midicr)); - int midirpt=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(prefsw->spinbutton_midirpt)); + boolean omc_midi_enable = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_omc_midi)); + const char *omc_midi_fname = lives_entry_get_text(LIVES_ENTRY(prefsw->omc_midi_entry)); + int midicr = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(prefsw->spinbutton_midicr)); + int midirpt = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(prefsw->spinbutton_midirpt)); #ifdef ALSA_MIDI - boolean use_alsa_midi=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->alsa_midi)); + boolean use_alsa_midi = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->alsa_midi)); #endif #endif #endif boolean pstyle2; - boolean pstyle3=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->theme_style3)); - boolean pstyle4=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->theme_style4)); + boolean pstyle3 = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->theme_style3)); + boolean pstyle4 = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->theme_style4)); - int rec_gb=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(prefsw->spinbutton_rec_gb)); + int rec_gb = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(prefsw->spinbutton_rec_gb)); char audio_player[256]; - int listlen=lives_list_length(prefs->acodec_list); - int rec_opts=rec_frames*REC_FRAMES+rec_fps*REC_FPS+rec_effects*REC_EFFECTS+rec_clips*REC_CLIPS+rec_audio*REC_AUDIO - +rec_after_pb*REC_AFTER_PB; + int listlen = lives_list_length(prefs->acodec_list); + int rec_opts = rec_frames * REC_FRAMES + rec_fps * REC_FPS + rec_effects * REC_EFFECTS + rec_clips * REC_CLIPS + rec_audio * REC_AUDIO + + rec_after_pb * REC_AFTER_PB; uint32_t warn_mask; unsigned char *new_undo_buf; LiVESList *ulist; - #ifdef ENABLE_OSC - boolean set_omc_dev_opts=FALSE; + boolean set_omc_dev_opts = FALSE; #ifdef OMC_MIDI_IMPL - boolean needs_midi_restart=FALSE; + boolean needs_midi_restart = FALSE; #endif #endif char *tmp; - char *cdplay_device=lives_filename_from_utf8((char *)lives_entry_get_text(LIVES_ENTRY(prefsw->cdplay_entry)),-1,NULL,NULL,NULL); - + char *cdplay_device = lives_filename_from_utf8((char *)lives_entry_get_text(LIVES_ENTRY(prefsw->cdplay_entry)), -1, NULL, NULL, NULL); // TODO: move all into pref_factory_* functions - - if (prefsw->theme_style2!=NULL) - pstyle2=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->theme_style2)); + if (prefsw->theme_style2 != NULL) + pstyle2 = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->theme_style2)); else - pstyle2=0; + pstyle2 = 0; - lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_fore),&colf); - lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_back),&colb); - lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_mabf),&colf2); - lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_mab),&colb2); - lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_infob),&coli); - lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_infot),&colt); - - if (lives_ascii_strcasecmp(future_prefs->theme,"none")) { - if (!lives_widget_color_equal(&colf,&palette->normal_fore)|| - !lives_widget_color_equal(&colb,&palette->normal_back)|| - !lives_widget_color_equal(&colf2,&palette->menu_and_bars_fore)|| - !lives_widget_color_equal(&colb2,&palette->menu_and_bars)|| - !lives_widget_color_equal(&colt,&palette->info_text)|| - !lives_widget_color_equal(&coli,&palette->info_base)|| - ((pstyle2*STYLE_2)!=(palette->style&STYLE_2))|| - ((pstyle3*STYLE_3)!=(palette->style&STYLE_3))|| - ((pstyle4*STYLE_4)!=(palette->style&STYLE_4)) - ) { + lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_fore), &colf); + lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_back), &colb); + lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_mabf), &colf2); + lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_mab), &colb2); + lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_infob), &coli); + lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_infot), &colt); - lives_widget_color_copy(&palette->normal_fore,&colf); - lives_widget_color_copy(&palette->normal_back,&colb); - lives_widget_color_copy(&palette->menu_and_bars_fore,&colf2); - lives_widget_color_copy(&palette->menu_and_bars,&colb2); - lives_widget_color_copy(&palette->info_base,&coli); - lives_widget_color_copy(&palette->info_text,&colt); + if (lives_ascii_strcasecmp(future_prefs->theme, "none")) { + if (!lives_widget_color_equal(&colf, &palette->normal_fore) || + !lives_widget_color_equal(&colb, &palette->normal_back) || + !lives_widget_color_equal(&colf2, &palette->menu_and_bars_fore) || + !lives_widget_color_equal(&colb2, &palette->menu_and_bars) || + !lives_widget_color_equal(&colt, &palette->info_text) || + !lives_widget_color_equal(&coli, &palette->info_base) || + ((pstyle2 * STYLE_2) != (palette->style & STYLE_2)) || + ((pstyle3 * STYLE_3) != (palette->style & STYLE_3)) || + ((pstyle4 * STYLE_4) != (palette->style & STYLE_4)) + ) { - palette->style=STYLE_1|(pstyle2*STYLE_2)|(pstyle3*STYLE_3)|(pstyle4*STYLE_4); - mainw->prefs_changed|=PREFS_COLOURS_CHANGED; + lives_widget_color_copy(&palette->normal_fore, &colf); + lives_widget_color_copy(&palette->normal_back, &colb); + lives_widget_color_copy(&palette->menu_and_bars_fore, &colf2); + lives_widget_color_copy(&palette->menu_and_bars, &colb2); + lives_widget_color_copy(&palette->info_base, &coli); + lives_widget_color_copy(&palette->info_text, &colt); + palette->style = STYLE_1 | (pstyle2 * STYLE_2) | (pstyle3 * STYLE_3) | (pstyle4 * STYLE_4); + mainw->prefs_changed |= PREFS_COLOURS_CHANGED; } } - lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_cesel),&col); - widget_color_to_lives_rgba(&lcol,&col); - if (!lives_rgba_equal(&lcol,&palette->ce_sel)) { - lives_rgba_copy(&palette->ce_sel,&lcol); - mainw->prefs_changed|=PREFS_XCOLOURS_CHANGED; + lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_cesel), &col); + widget_color_to_lives_rgba(&lcol, &col); + if (!lives_rgba_equal(&lcol, &palette->ce_sel)) { + lives_rgba_copy(&palette->ce_sel, &lcol); + mainw->prefs_changed |= PREFS_XCOLOURS_CHANGED; } - lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_ceunsel),&col); - widget_color_to_lives_rgba(&lcol,&col); - if (!lives_rgba_equal(&lcol,&palette->ce_unsel)) { - lives_rgba_copy(&palette->ce_unsel,&lcol); - mainw->prefs_changed|=PREFS_XCOLOURS_CHANGED; + lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_ceunsel), &col); + widget_color_to_lives_rgba(&lcol, &col); + if (!lives_rgba_equal(&lcol, &palette->ce_unsel)) { + lives_rgba_copy(&palette->ce_unsel, &lcol); + mainw->prefs_changed |= PREFS_XCOLOURS_CHANGED; } - lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_fsur),&col); - widget_color_to_lives_rgba(&lcol,&col); - if (!lives_rgba_equal(&lcol,&palette->frame_surround)) { - lives_rgba_copy(&palette->frame_surround,&lcol); - mainw->prefs_changed|=PREFS_XCOLOURS_CHANGED; + lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_fsur), &col); + widget_color_to_lives_rgba(&lcol, &col); + if (!lives_rgba_equal(&lcol, &palette->frame_surround)) { + lives_rgba_copy(&palette->frame_surround, &lcol); + mainw->prefs_changed |= PREFS_XCOLOURS_CHANGED; } - lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_tcfg),&coltcfg); - if (!lives_widget_color_equal(&coltcfg,&palette->mt_timecode_fg)) { - lives_widget_color_copy(&palette->mt_timecode_fg,&coltcfg); - mainw->prefs_changed|=PREFS_XCOLOURS_CHANGED; + lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_tcfg), &coltcfg); + if (!lives_widget_color_equal(&coltcfg, &palette->mt_timecode_fg)) { + lives_widget_color_copy(&palette->mt_timecode_fg, &coltcfg); + mainw->prefs_changed |= PREFS_XCOLOURS_CHANGED; } - lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_tcbg),&coltcbg); - if (!lives_widget_color_equal(&coltcbg,&palette->mt_timecode_bg)) { - lives_widget_color_copy(&palette->mt_timecode_bg,&coltcbg); - mainw->prefs_changed|=PREFS_XCOLOURS_CHANGED; + lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_tcbg), &coltcbg); + if (!lives_widget_color_equal(&coltcbg, &palette->mt_timecode_bg)) { + lives_widget_color_copy(&palette->mt_timecode_bg, &coltcbg); + mainw->prefs_changed |= PREFS_XCOLOURS_CHANGED; } - lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_mtmark),&col); - widget_color_to_lives_rgba(&lcol,&col); - if (!lives_rgba_equal(&lcol,&palette->mt_mark)) { - lives_rgba_copy(&palette->mt_mark,&lcol); - mainw->prefs_changed|=PREFS_XCOLOURS_CHANGED; + lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_mtmark), &col); + widget_color_to_lives_rgba(&lcol, &col); + if (!lives_rgba_equal(&lcol, &palette->mt_mark)) { + lives_rgba_copy(&palette->mt_mark, &lcol); + mainw->prefs_changed |= PREFS_XCOLOURS_CHANGED; } - lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_evbox),&col); - widget_color_to_lives_rgba(&lcol,&col); - if (!lives_rgba_equal(&lcol,&palette->mt_evbox)) { - lives_rgba_copy(&palette->mt_evbox,&lcol); - mainw->prefs_changed|=PREFS_XCOLOURS_CHANGED; + lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_evbox), &col); + widget_color_to_lives_rgba(&lcol, &col); + if (!lives_rgba_equal(&lcol, &palette->mt_evbox)) { + lives_rgba_copy(&palette->mt_evbox, &lcol); + mainw->prefs_changed |= PREFS_XCOLOURS_CHANGED; } - lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_tlreg),&col); - widget_color_to_lives_rgba(&lcol,&col); - if (!lives_rgba_equal(&lcol,&palette->mt_timeline_reg)) { - lives_rgba_copy(&palette->mt_timeline_reg,&lcol); - mainw->prefs_changed|=PREFS_XCOLOURS_CHANGED; + lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_tlreg), &col); + widget_color_to_lives_rgba(&lcol, &col); + if (!lives_rgba_equal(&lcol, &palette->mt_timeline_reg)) { + lives_rgba_copy(&palette->mt_timeline_reg, &lcol); + mainw->prefs_changed |= PREFS_XCOLOURS_CHANGED; } - lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_vidcol),&col); - widget_color_to_lives_rgba(&lcol,&col); - if (!lives_rgba_equal(&lcol,&palette->vidcol)) { - lives_rgba_copy(&palette->vidcol,&lcol); - mainw->prefs_changed|=PREFS_XCOLOURS_CHANGED; + lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_vidcol), &col); + widget_color_to_lives_rgba(&lcol, &col); + if (!lives_rgba_equal(&lcol, &palette->vidcol)) { + lives_rgba_copy(&palette->vidcol, &lcol); + mainw->prefs_changed |= PREFS_XCOLOURS_CHANGED; } - lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_audcol),&col); - widget_color_to_lives_rgba(&lcol,&col); - if (!lives_rgba_equal(&lcol,&palette->audcol)) { - lives_rgba_copy(&palette->audcol,&lcol); - mainw->prefs_changed|=PREFS_XCOLOURS_CHANGED; + lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_audcol), &col); + widget_color_to_lives_rgba(&lcol, &col); + if (!lives_rgba_equal(&lcol, &palette->audcol)) { + lives_rgba_copy(&palette->audcol, &lcol); + mainw->prefs_changed |= PREFS_XCOLOURS_CHANGED; } - lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_fxcol),&col); - widget_color_to_lives_rgba(&lcol,&col); - if (!lives_rgba_equal(&lcol,&palette->fxcol)) { - lives_rgba_copy(&palette->fxcol,&lcol); - mainw->prefs_changed|=PREFS_XCOLOURS_CHANGED; + lives_color_button_get_color(LIVES_COLOR_BUTTON(prefsw->cbutton_fxcol), &col); + widget_color_to_lives_rgba(&lcol, &col); + if (!lives_rgba_equal(&lcol, &palette->fxcol)) { + lives_rgba_copy(&palette->fxcol, &lcol); + mainw->prefs_changed |= PREFS_XCOLOURS_CHANGED; } - - if (capable->has_encoder_plugins) { audio_codec = lives_combo_get_active_text(LIVES_COMBO(prefsw->acodec_combo)); - for (idx=0; idx<listlen&&strcmp((char *)lives_list_nth_data(prefs->acodec_list,idx),audio_codec); idx++); + for (idx = 0; idx < listlen && strcmp((char *)lives_list_nth_data(prefs->acodec_list, idx), audio_codec); idx++); lives_free(audio_codec); - if (idx==listlen) future_prefs->encoder.audio_codec=0; - else future_prefs->encoder.audio_codec=prefs->acodec_list_to_format[idx]; - } else future_prefs->encoder.audio_codec=0; + if (idx == listlen) future_prefs->encoder.audio_codec = 0; + else future_prefs->encoder.audio_codec = prefs->acodec_list_to_format[idx]; + } else future_prefs->encoder.audio_codec = 0; - lives_snprintf(workdir,PATH_MAX,"%s",(tmp=lives_filename_from_utf8((char *)lives_entry_get_text(LIVES_ENTRY(prefsw->workdir_entry)), - -1,NULL,NULL,NULL))); + lives_snprintf(workdir, PATH_MAX, "%s", (tmp = lives_filename_from_utf8((char *)lives_entry_get_text(LIVES_ENTRY(prefsw->workdir_entry)), + -1, NULL, NULL, NULL))); lives_free(tmp); - if (audp==NULL) memset(audio_player,0,1); - else if (!strncmp(audp,AUDIO_PLAYER_MPLAYER,7)) lives_snprintf(audio_player,256,AUDIO_PLAYER_MPLAYER); - else if (!strncmp(audp,AUDIO_PLAYER_MPLAYER2,8)) lives_snprintf(audio_player,256,AUDIO_PLAYER_MPLAYER2); - else if (!strncmp(audp,AUDIO_PLAYER_JACK,4)) lives_snprintf(audio_player,256,AUDIO_PLAYER_JACK); - else if (!strncmp(audp,AUDIO_PLAYER_SOX,3)) lives_snprintf(audio_player,256,AUDIO_PLAYER_SOX); - else if (!strncmp(audp,AUDIO_PLAYER_PULSE_AUDIO,11)) lives_snprintf(audio_player,256,AUDIO_PLAYER_PULSE); + if (audp == NULL) memset(audio_player, 0, 1); + else if (!strncmp(audp, AUDIO_PLAYER_MPLAYER, 7)) lives_snprintf(audio_player, 256, AUDIO_PLAYER_MPLAYER); + else if (!strncmp(audp, AUDIO_PLAYER_MPLAYER2, 8)) lives_snprintf(audio_player, 256, AUDIO_PLAYER_MPLAYER2); + else if (!strncmp(audp, AUDIO_PLAYER_JACK, 4)) lives_snprintf(audio_player, 256, AUDIO_PLAYER_JACK); + else if (!strncmp(audp, AUDIO_PLAYER_SOX, 3)) lives_snprintf(audio_player, 256, AUDIO_PLAYER_SOX); + else if (!strncmp(audp, AUDIO_PLAYER_PULSE_AUDIO, 11)) lives_snprintf(audio_player, 256, AUDIO_PLAYER_PULSE); lives_free(audp); - if (!((prefs->audio_player==AUD_PLAYER_JACK&&capable->has_jackd)||(prefs->audio_player==AUD_PLAYER_PULSE&&capable->has_pulse_audio))) { - if (prefs->audio_src==AUDIO_SRC_EXT) prefs->audio_src=AUDIO_SRC_INT; + if (!((prefs->audio_player == AUD_PLAYER_JACK && capable->has_jackd) || (prefs->audio_player == AUD_PLAYER_PULSE && + capable->has_pulse_audio))) { + if (prefs->audio_src == AUDIO_SRC_EXT) prefs->audio_src = AUDIO_SRC_INT; } - if (rec_opts!=prefs->rec_opts) { - prefs->rec_opts=rec_opts; - set_int_pref(PREF_RECORD_OPTS,prefs->rec_opts); + if (rec_opts != prefs->rec_opts) { + prefs->rec_opts = rec_opts; + set_int_pref(PREF_RECORD_OPTS, prefs->rec_opts); } pref_factory_bool(PREF_REC_EXT_AUDIO, rec_ext_audio); - warn_mask=!warn_fps*WARN_MASK_FPS+!warn_save_set*WARN_MASK_SAVE_SET+!warn_fsize*WARN_MASK_FSIZE+!warn_mplayer* - WARN_MASK_NO_MPLAYER+!warn_rendered_fx*WARN_MASK_RENDERED_FX+!warn_encoders* - WARN_MASK_NO_ENCODERS+!warn_layout_missing_clips*WARN_MASK_LAYOUT_MISSING_CLIPS+!warn_duplicate_set* - WARN_MASK_DUPLICATE_SET+!warn_layout_close*WARN_MASK_LAYOUT_CLOSE_FILE+!warn_layout_delete* - WARN_MASK_LAYOUT_DELETE_FRAMES+!warn_layout_shift*WARN_MASK_LAYOUT_SHIFT_FRAMES+!warn_layout_alter* - WARN_MASK_LAYOUT_ALTER_FRAMES+!warn_discard_layout*WARN_MASK_EXIT_MT+!warn_after_dvgrab* - WARN_MASK_AFTER_DVGRAB+!warn_mt_achans*WARN_MASK_MT_ACHANS+!warn_mt_no_jack* - WARN_MASK_MT_NO_JACK+!warn_layout_adel*WARN_MASK_LAYOUT_DELETE_AUDIO+!warn_layout_ashift* - WARN_MASK_LAYOUT_SHIFT_AUDIO+!warn_layout_aalt*WARN_MASK_LAYOUT_ALTER_AUDIO+!warn_layout_popup* - WARN_MASK_LAYOUT_POPUP+!warn_yuv4m_open*WARN_MASK_OPEN_YUV4M+!warn_mt_backup_space* - WARN_MASK_MT_BACKUP_SPACE+!warn_after_crash*WARN_MASK_CLEAN_AFTER_CRASH+!warn_no_pulse*WARN_MASK_NO_PULSE_CONNECT - +!warn_layout_wipe*WARN_MASK_LAYOUT_WIPE; + warn_mask = !warn_fps * WARN_MASK_FPS + !warn_save_set * WARN_MASK_SAVE_SET + !warn_fsize * WARN_MASK_FSIZE + !warn_mplayer * + WARN_MASK_NO_MPLAYER + !warn_rendered_fx * WARN_MASK_RENDERED_FX + !warn_encoders * + WARN_MASK_NO_ENCODERS + !warn_layout_missing_clips * WARN_MASK_LAYOUT_MISSING_CLIPS + !warn_duplicate_set * + WARN_MASK_DUPLICATE_SET + !warn_layout_close * WARN_MASK_LAYOUT_CLOSE_FILE + !warn_layout_delete * + WARN_MASK_LAYOUT_DELETE_FRAMES + !warn_layout_shift * WARN_MASK_LAYOUT_SHIFT_FRAMES + !warn_layout_alter * + WARN_MASK_LAYOUT_ALTER_FRAMES + !warn_discard_layout * WARN_MASK_EXIT_MT + !warn_after_dvgrab * + WARN_MASK_AFTER_DVGRAB + !warn_mt_achans * WARN_MASK_MT_ACHANS + !warn_mt_no_jack * + WARN_MASK_MT_NO_JACK + !warn_layout_adel * WARN_MASK_LAYOUT_DELETE_AUDIO + !warn_layout_ashift * + WARN_MASK_LAYOUT_SHIFT_AUDIO + !warn_layout_aalt * WARN_MASK_LAYOUT_ALTER_AUDIO + !warn_layout_popup * + WARN_MASK_LAYOUT_POPUP + !warn_yuv4m_open * WARN_MASK_OPEN_YUV4M + !warn_mt_backup_space * + WARN_MASK_MT_BACKUP_SPACE + !warn_after_crash * WARN_MASK_CLEAN_AFTER_CRASH + !warn_no_pulse * WARN_MASK_NO_PULSE_CONNECT + + !warn_layout_wipe * WARN_MASK_LAYOUT_WIPE; - if (warn_mask!=prefs->warning_mask) { - prefs->warning_mask=warn_mask; - set_int_pref(PREF_LIVES_WARNING_MASK,prefs->warning_mask); + if (warn_mask != prefs->warning_mask) { + prefs->warning_mask = warn_mask; + set_int_pref(PREF_LIVES_WARNING_MASK, prefs->warning_mask); } - if (fsize_to_warn!=(prefs->warn_file_size)) { - prefs->warn_file_size=fsize_to_warn; - set_int_pref(PREF_WARN_FILE_SIZE,fsize_to_warn); + if (fsize_to_warn != (prefs->warn_file_size)) { + prefs->warn_file_size = fsize_to_warn; + set_int_pref(PREF_WARN_FILE_SIZE, fsize_to_warn); } - if (dl_bwidth!=(prefs->dl_bandwidth)) { - prefs->dl_bandwidth=dl_bwidth; - set_int_pref(PREF_DL_BANDWIDTH_K,dl_bwidth); + if (dl_bwidth != (prefs->dl_bandwidth)) { + prefs->dl_bandwidth = dl_bwidth; + set_int_pref(PREF_DL_BANDWIDTH_K, dl_bwidth); } - if (ocp!=(prefs->ocp)) { - prefs->ocp=ocp; - set_int_pref(PREF_OPEN_COMPRESSION_PERCENT,ocp); + if (ocp != (prefs->ocp)) { + prefs->ocp = ocp; + set_int_pref(PREF_OPEN_COMPRESSION_PERCENT, ocp); } - if (show_tool!=(future_prefs->show_tool)) { - future_prefs->show_tool=prefs->show_tool=show_tool; - set_boolean_pref(PREF_SHOW_TOOLBAR,show_tool); + if (show_tool != (future_prefs->show_tool)) { + future_prefs->show_tool = prefs->show_tool = show_tool; + set_boolean_pref(PREF_SHOW_TOOLBAR, show_tool); } - if (mouse_scroll!=(prefs->mouse_scroll_clips)) { - prefs->mouse_scroll_clips=mouse_scroll; - set_boolean_pref(PREF_MOUSE_SCROLL_CLIPS,mouse_scroll); + if (mouse_scroll != (prefs->mouse_scroll_clips)) { + prefs->mouse_scroll_clips = mouse_scroll; + set_boolean_pref(PREF_MOUSE_SCROLL_CLIPS, mouse_scroll); } - if (show_button_icons!=(prefs->show_button_images)) { - prefs->show_button_images=show_button_icons; - set_boolean_pref(PREF_SHOW_BUTTON_ICONS,show_button_icons); + if (show_button_icons != (prefs->show_button_images)) { + prefs->show_button_images = show_button_icons; + set_boolean_pref(PREF_SHOW_BUTTON_ICONS, show_button_icons); } - if (ce_maxspect!=(prefs->ce_maxspect)) { - prefs->ce_maxspect=ce_maxspect; - set_boolean_pref(PREF_CE_MAXSPECT,ce_maxspect); - if (mainw->current_file>-1) { - int current_file=mainw->current_file; - switch_to_file((mainw->current_file=0),current_file); + if (ce_maxspect != (prefs->ce_maxspect)) { + prefs->ce_maxspect = ce_maxspect; + set_boolean_pref(PREF_CE_MAXSPECT, ce_maxspect); + if (mainw->current_file > -1) { + int current_file = mainw->current_file; + switch_to_file((mainw->current_file = 0), current_file); } } - if (strcmp(wp_path,prefs->weed_plugin_path)) { - set_pref(PREF_WEED_PLUGIN_PATH,wp_path); - lives_snprintf(prefs->weed_plugin_path,PATH_MAX,"%s",wp_path); + if (strcmp(wp_path, prefs->weed_plugin_path)) { + set_pref(PREF_WEED_PLUGIN_PATH, wp_path); + lives_snprintf(prefs->weed_plugin_path, PATH_MAX, "%s", wp_path); } - if (strcmp(frei0r_path,prefs->frei0r_path)) { - set_pref(PREF_FREI0R_PATH,frei0r_path); - lives_snprintf(prefs->frei0r_path,PATH_MAX,"%s",frei0r_path); + if (strcmp(frei0r_path, prefs->frei0r_path)) { + set_pref(PREF_FREI0R_PATH, frei0r_path); + lives_snprintf(prefs->frei0r_path, PATH_MAX, "%s", frei0r_path); } - if (strcmp(ladspa_path,prefs->ladspa_path)) { - set_pref(PREF_LADSPA_PATH,ladspa_path); - lives_snprintf(prefs->ladspa_path,PATH_MAX,"%s",ladspa_path); + if (strcmp(ladspa_path, prefs->ladspa_path)) { + set_pref(PREF_LADSPA_PATH, ladspa_path); + lives_snprintf(prefs->ladspa_path, PATH_MAX, "%s", ladspa_path); } - if (strcmp(sepimg_path,mainw->sepimg_path)) { - lives_snprintf(mainw->sepimg_path,PATH_MAX,"%s",sepimg_path); - mainw->prefs_changed|=PREFS_IMAGES_CHANGED; + if (strcmp(sepimg_path, mainw->sepimg_path)) { + lives_snprintf(mainw->sepimg_path, PATH_MAX, "%s", sepimg_path); + mainw->prefs_changed |= PREFS_IMAGES_CHANGED; } - if (strcmp(frameblank_path,mainw->frameblank_path)) { - lives_snprintf(mainw->frameblank_path,PATH_MAX,"%s",frameblank_path); - mainw->prefs_changed|=PREFS_IMAGES_CHANGED; + if (strcmp(frameblank_path, mainw->frameblank_path)) { + lives_snprintf(mainw->frameblank_path, PATH_MAX, "%s", frameblank_path); + mainw->prefs_changed |= PREFS_IMAGES_CHANGED; } ensure_isdir(workdir); ensure_isdir(prefs->workdir); ensure_isdir(future_prefs->workdir); - if (strcmp(prefs->workdir,workdir)||strcmp(future_prefs->workdir,workdir)) { - size_t chklen=strlen(LIVES_WORK_NAME)+strlen(LIVES_DIR_SEP)*2; - if (lives_file_test(workdir, LIVES_FILE_TEST_EXISTS)&&(strlen(workdir)<chklen|| - strncmp(workdir+strlen(workdir)-chklen,LIVES_DIR_SEP LIVES_WORK_NAME LIVES_DIR_SEP,chklen))) - lives_strappend(workdir,PATH_MAX,LIVES_WORK_NAME LIVES_DIR_SEP); + if (strcmp(prefs->workdir, workdir) || strcmp(future_prefs->workdir, workdir)) { + size_t chklen = strlen(LIVES_WORK_NAME) + strlen(LIVES_DIR_SEP) * 2; + if (lives_file_test(workdir, LIVES_FILE_TEST_EXISTS) && (strlen(workdir) < chklen || + strncmp(workdir + strlen(workdir) - chklen, LIVES_DIR_SEP LIVES_WORK_NAME LIVES_DIR_SEP, chklen))) + lives_strappend(workdir, PATH_MAX, LIVES_WORK_NAME LIVES_DIR_SEP); - if (strcmp(prefs->workdir,workdir)||strcmp(future_prefs->workdir,workdir)) { + if (strcmp(prefs->workdir, workdir) || strcmp(future_prefs->workdir, workdir)) { char *msg; if (!check_dir_access(workdir)) { - tmp=lives_filename_to_utf8(workdir,-1,NULL,NULL,NULL); + tmp = lives_filename_to_utf8(workdir, -1, NULL, NULL, NULL); #ifndef IS_MINGW - msg=lives_strdup_printf( - _("Unable to create or write to the new working directory.\nYou may need to create it as the root user first, e.g:\n\nsudo mkdir -p %s; " - "\n\nThe directory will not be changed now.\n"), - tmp,tmp); + msg = lives_strdup_printf( + _("Unable to create or write to the new working directory.\nYou may need to create it as the root user first, e.g:\n\nsudo mkdir -p %s; " + "\n\nThe directory will not be changed now.\n"), + tmp, tmp); #else - msg=lives_strdup_printf( - _("Unable to create or write to the new working directory.\n%s\nPlease try another directory or contact your system administrator." - "\n\nThe directory will not be changed now.\n"), - tmp); + msg = lives_strdup_printf( + _("Unable to create or write to the new working directory.\n%s\nPlease try another directory or contact your system administrator." + "\n\nThe directory will not be changed now.\n"), + tmp); #endif lives_free(tmp); do_blocking_error_dialog(msg); } else { - lives_snprintf(future_prefs->workdir,PATH_MAX,"%s",workdir); + lives_snprintf(future_prefs->workdir, PATH_MAX, "%s", workdir); set_workdir_label_text(LIVES_LABEL(prefsw->workdir_label)); lives_widget_queue_draw(prefsw->workdir_label); lives_widget_context_update(); // update prefs window before showing confirmation box - msg=lives_strdup( - _("You have chosen to change the working directory.\nPlease make sure you have no other copies of LiVES open.\n\n" - "If you do have other copies of LiVES open, please close them now, *before* pressing OK.\n\n" - "Alternatively, press Cancel to restore the working directory to its original setting.")); + msg = lives_strdup( + _("You have chosen to change the working directory.\nPlease make sure you have no other copies of LiVES open.\n\n" + "If you do have other copies of LiVES open, please close them now, *before* pressing OK.\n\n" + "Alternatively, press Cancel to restore the working directory to its original setting.")); if (do_warning_dialog(msg)) { - mainw->prefs_changed=PREFS_WORKDIR_CHANGED; - needs_restart=TRUE; + mainw->prefs_changed = PREFS_WORKDIR_CHANGED; + needs_restart = TRUE; } else { - lives_snprintf(future_prefs->workdir,PATH_MAX,"%s",prefs->workdir); + lives_snprintf(future_prefs->workdir, PATH_MAX, "%s", prefs->workdir); lives_entry_set_text(LIVES_ENTRY(prefsw->workdir_entry), prefs->workdir); } } @@ -1206,254 +1176,250 @@ } // disabled_decoders - if (string_lists_differ(prefs->disabled_decoders,future_prefs->disabled_decoders)) { + if (string_lists_differ(prefs->disabled_decoders, future_prefs->disabled_decoders)) { lives_list_free_all(&prefs->disabled_decoders); - prefs->disabled_decoders=lives_list_copy_strings(future_prefs->disabled_decoders); - if (prefs->disabled_decoders!=NULL) set_list_pref(PREF_DISABLED_DECODERS,prefs->disabled_decoders); + prefs->disabled_decoders = lives_list_copy_strings(future_prefs->disabled_decoders); + if (prefs->disabled_decoders != NULL) set_list_pref(PREF_DISABLED_DECODERS, prefs->disabled_decoders); else delete_pref(PREF_DISABLED_DECODERS); } - // stop xscreensaver - if (prefs->stop_screensaver!=stop_screensaver) { - prefs->stop_screensaver=stop_screensaver; - set_boolean_pref(PREF_STOP_SCREENSAVER,prefs->stop_screensaver); + if (prefs->stop_screensaver != stop_screensaver) { + prefs->stop_screensaver = stop_screensaver; + set_boolean_pref(PREF_STOP_SCREENSAVER, prefs->stop_screensaver); } // antialias - if (prefs->antialias!=antialias) { - prefs->antialias=antialias; - set_boolean_pref(PREF_ANTIALIAS,antialias); + if (prefs->antialias != antialias) { + prefs->antialias = antialias; + set_boolean_pref(PREF_ANTIALIAS, antialias); } // fx_threads - if (!fx_threads) nfx_threads=1; - if (prefs->nfx_threads!=nfx_threads) { - future_prefs->nfx_threads=nfx_threads; - set_int_pref(PREF_NFX_THREADS,nfx_threads); + if (!fx_threads) nfx_threads = 1; + if (prefs->nfx_threads != nfx_threads) { + future_prefs->nfx_threads = nfx_threads; + set_int_pref(PREF_NFX_THREADS, nfx_threads); } // open maximised - if (prefs->open_maximised!=open_maximised) { - prefs->open_maximised=open_maximised; - set_boolean_pref(PREF_OPEN_MAXIMISED,open_maximised); + if (prefs->open_maximised != open_maximised) { + prefs->open_maximised = open_maximised; + set_boolean_pref(PREF_OPEN_MAXIMISED, open_maximised); } // filesel maximised - if (prefs->fileselmax!=fs_maximised) { - prefs->fileselmax=fs_maximised; - set_boolean_pref(PREF_FILESEL_MAXIMISED,fs_maximised); + if (prefs->fileselmax != fs_maximised) { + prefs->fileselmax = fs_maximised; + set_boolean_pref(PREF_FILESEL_MAXIMISED, fs_maximised); } - // monitors - if (forcesmon!=prefs->force_single_monitor) { - prefs->force_single_monitor=forcesmon; - set_boolean_pref(PREF_FORCE_SINGLE_MONITOR,forcesmon); + if (forcesmon != prefs->force_single_monitor) { + prefs->force_single_monitor = forcesmon; + set_boolean_pref(PREF_FORCE_SINGLE_MONITOR, forcesmon); get_monitors(); - if (capable->nmonitors==0) resize_widgets_for_monitor(TRUE); + if (capable->nmonitors == 0) resize_widgets_for_monitor(TRUE); } - if (capable->nmonitors>1) { - if (gui_monitor!=prefs->gui_monitor||play_monitor!=prefs->play_monitor) { - char *str=lives_strdup_printf("%d,%d",gui_monitor,play_monitor); - set_pref(PREF_MONITORS,str); - prefs->gui_monitor=gui_monitor; - prefs->play_monitor=play_monitor; + if (capable->nmonitors > 1) { + if (gui_monitor != prefs->gui_monitor || play_monitor != prefs->play_monitor) { + char *str = lives_strdup_printf("%d,%d", gui_monitor, play_monitor); + set_pref(PREF_MONITORS, str); + prefs->gui_monitor = gui_monitor; + prefs->play_monitor = play_monitor; resize_widgets_for_monitor(TRUE); } } - if (ce_thumbs!=prefs->ce_thumb_mode) { - prefs->ce_thumb_mode=ce_thumbs; - set_boolean_pref(PREF_CE_THUMB_MODE,ce_thumbs); + if (ce_thumbs != prefs->ce_thumb_mode) { + prefs->ce_thumb_mode = ce_thumbs; + set_boolean_pref(PREF_CE_THUMB_MODE, ce_thumbs); } - // fps stats - if (prefs->show_player_stats!=show_player_stats) { - prefs->show_player_stats=show_player_stats; - set_boolean_pref(PREF_SHOW_PLAYER_STATS,show_player_stats); + if (prefs->show_player_stats != show_player_stats) { + prefs->show_player_stats = show_player_stats; + set_boolean_pref(PREF_SHOW_PLAYER_STATS, show_player_stats); } - if (prefs->stream_audio_out!=stream_audio_out) { - prefs->stream_audio_out=stream_audio_out; - set_boolean_pref(PREF_STREAM_AUDIO_OUT,stream_audio_out); + if (prefs->stream_audio_out != stream_audio_out) { + prefs->stream_audio_out = stream_audio_out; + set_boolean_pref(PREF_STREAM_AUDIO_OUT, stream_audio_out); } // show recent - if (prefs->show_recent!=show_recent) { - prefs->show_recent=show_recent; - set_boolean_pref(PREF_SHOW_RECENT_FILES,show_recent); + if (prefs->show_recent != show_recent) { + prefs->show_recent = show_recent; + set_boolean_pref(PREF_SHOW_RECENT_FILES, show_recent); if (prefs->show_recent) { lives_widget_show(mainw->recent_menu); - if (mainw->multitrack!=NULL) lives_widget_show(mainw->multitrack->recent_menu); + if (mainw->multitrack != NULL) lives_widget_show(mainw->multitrack->recent_menu); } else { lives_widget_hide(mainw->recent_menu); - if (mainw->multitrack!=NULL) lives_widget_hide(mainw->multitrack->recent_menu); + if (mainw->multitrack != NULL) lives_widget_hide(mainw->multitrack->recent_menu); } } // midi synch - if (prefs->midisynch!=midisynch) { - prefs->midisynch=midisynch; - set_boolean_pref(PREF_MIDISYNCH,midisynch); + if (prefs->midisynch != midisynch) { + prefs->midisynch = midisynch; + set_boolean_pref(PREF_MIDISYNCH, midisynch); } // jpeg/png - if (strcmp(prefs->image_ext,LIVES_FILE_EXT_JPG)&&ext_jpeg) { - set_pref(PREF_DEFAULT_IMAGE_FORMAT,LIVES_IMAGE_TYPE_JPEG); - lives_snprintf(prefs->image_ext,16,LIVES_FILE_EXT_JPG); - } else if (!strcmp(prefs->image_ext,LIVES_FILE_EXT_JPG)&&!ext_jpeg) { - set_pref(PREF_DEFAULT_IMAGE_FORMAT,LIVES_IMAGE_TYPE_PNG); - lives_snprintf(prefs->image_ext,16,LIVES_FILE_EXT_PNG); + if (strcmp(prefs->image_ext, LIVES_FILE_EXT_JPG) && ext_jpeg) { + set_pref(PREF_DEFAULT_IMAGE_FORMAT, LIVES_IMAGE_TYPE_JPEG); + lives_snprintf(prefs->image_ext, 16, LIVES_FILE_EXT_JPG); + } else if (!strcmp(prefs->image_ext, LIVES_FILE_EXT_JPG) && !ext_jpeg) { + set_pref(PREF_DEFAULT_IMAGE_FORMAT, LIVES_IMAGE_TYPE_PNG); + lives_snprintf(prefs->image_ext, 16, LIVES_FILE_EXT_PNG); } // instant open - if (prefs->instant_open!=instant_open) { - set_boolean_pref(PREF_INSTANT_OPEN,(prefs->instant_open=instant_open)); + if (prefs->instant_open != instant_open) { + set_boolean_pref(PREF_INSTANT_OPEN, (prefs->instant_open = instant_open)); } // auto deinterlace - if (prefs->auto_deint!=auto_deint) { - set_boolean_pref(PREF_AUTO_DEINTERLACE,(prefs->auto_deint=auto_deint)); + if (prefs->auto_deint != auto_deint) { + set_boolean_pref(PREF_AUTO_DEINTERLACE, (prefs->auto_deint = auto_deint)); } // auto deinterlace - if (prefs->auto_trim_audio!=auto_trim) { - set_boolean_pref(PREF_AUTO_TRIM_PAD_AUDIO,(prefs->auto_trim_audio=auto_trim)); + if (prefs->auto_trim_audio != auto_trim) { + set_boolean_pref(PREF_AUTO_TRIM_PAD_AUDIO, (prefs->auto_trim_audio = auto_trim)); } // auto border cut - if (prefs->auto_nobord!=auto_nobord) { - set_boolean_pref(PREF_AUTO_CUT_BORDERS,(prefs->auto_nobord=auto_nobord)); + if (prefs->auto_nobord != auto_nobord) { + set_boolean_pref(PREF_AUTO_CUT_BORDERS, (prefs->auto_nobord = auto_nobord)); } // concat images - if (prefs->concat_images!=concat_images) { - set_boolean_pref(PREF_CONCAT_IMAGES,(prefs->concat_images=concat_images)); + if (prefs->concat_images != concat_images) { + set_boolean_pref(PREF_CONCAT_IMAGES, (prefs->concat_images = concat_images)); } - // encoder - if (strcmp(prefs->encoder.name,future_prefs->encoder.name)) { - lives_snprintf(prefs->encoder.name,64,"%s",future_prefs->encoder.name); - set_pref(PREF_ENCODER,prefs->encoder.name); - lives_snprintf(prefs->encoder.of_restrict,1024,"%s",future_prefs->encoder.of_restrict); - prefs->encoder.of_allowed_acodecs=future_prefs->encoder.of_allowed_acodecs; + if (strcmp(prefs->encoder.name, future_prefs->encoder.name)) { + lives_snprintf(prefs->encoder.name, 64, "%s", future_prefs->encoder.name); + set_pref(PREF_ENCODER, prefs->encoder.name); + lives_snprintf(prefs->encoder.of_restrict, 1024, "%s", future_prefs->encoder.of_restrict); + prefs->encoder.of_allowed_acodecs = future_prefs->encoder.of_allowed_acodecs; } // output format - if (strcmp(prefs->encoder.of_name,future_prefs->encoder.of_name)) { - lives_snprintf(prefs->encoder.of_name,64,"%s",future_prefs->encoder.of_name); - lives_snprintf(prefs->encoder.of_restrict,1024,"%s",future_prefs->encoder.of_restrict); - lives_snprintf(prefs->encoder.of_desc,128,"%s",future_prefs->encoder.of_desc); - prefs->encoder.of_allowed_acodecs=future_prefs->encoder.of_allowed_acodecs; - set_pref(PREF_OUTPUT_TYPE,prefs->encoder.of_name); + if (strcmp(prefs->encoder.of_name, future_prefs->encoder.of_name)) { + lives_snprintf(prefs->encoder.of_name, 64, "%s", future_prefs->encoder.of_name); + lives_snprintf(prefs->encoder.of_restrict, 1024, "%s", future_prefs->encoder.of_restrict); + lives_snprintf(prefs->encoder.of_desc, 128, "%s", future_prefs->encoder.of_desc); + prefs->encoder.of_allowed_acodecs = future_prefs->encoder.of_allowed_acodecs; + set_pref(PREF_OUTPUT_TYPE, prefs->encoder.of_name); } - if (prefs->encoder.audio_codec!=future_prefs->encoder.audio_codec) { - prefs->encoder.audio_codec=future_prefs->encoder.audio_codec; - if (prefs->encoder.audio_codec<AUDIO_CODEC_UNKNOWN) { - set_int_pref(PREF_ENCODER_ACODEC,prefs->encoder.audio_codec); + if (prefs->encoder.audio_codec != future_prefs->encoder.audio_codec) { + prefs->encoder.audio_codec = future_prefs->encoder.audio_codec; + if (prefs->encoder.audio_codec < AUDIO_CODEC_UNKNOWN) { + set_int_pref(PREF_ENCODER_ACODEC, prefs->encoder.audio_codec); } } // pb quality - if (!strcmp(pb_quality,(char *)lives_list_nth_data(prefsw->pbq_list,0))) pbq=PB_QUALITY_LOW; - if (!strcmp(pb_quality,(char *)lives_list_nth_data(prefsw->pbq_list,1))) pbq=PB_QUALITY_MED; - if (!strcmp(pb_quality,(char *)lives_list_nth_data(prefsw->pbq_list,2))) pbq=PB_QUALITY_HIGH; + if (!strcmp(pb_quality, (char *)lives_list_nth_data(prefsw->pbq_list, 0))) pbq = PB_QUALITY_LOW; + if (!strcmp(pb_quality, (char *)lives_list_nth_data(prefsw->pbq_list, 1))) pbq = PB_QUALITY_MED; + if (!strcmp(pb_quality, (char *)lives_list_nth_data(prefsw->pbq_list, 2))) pbq = PB_QUALITY_HIGH; lives_free(pb_quality); - if (pbq!=prefs->pb_quality) { - prefs->pb_quality=pbq; - set_int_pref(PREF_PB_QUALITY,pbq); + if (pbq != prefs->pb_quality) { + prefs->pb_quality = pbq; + set_int_pref(PREF_PB_QUALITY, pbq); } // video open command - if (strcmp(prefs->video_open_command,video_open_command)) { - lives_snprintf(prefs->video_open_command,PATH_MAX*2,"%s",video_open_command); - set_pref(PREF_VIDEO_OPEN_COMMAND,prefs->video_open_command); + if (strcmp(prefs->video_open_command, video_open_command)) { + lives_snprintf(prefs->video_open_command, PATH_MAX * 2, "%s", video_open_command); + set_pref(PREF_VIDEO_OPEN_COMMAND, prefs->video_open_command); } //playback plugin set_vpp(TRUE); // audio play command - if (strcmp(prefs->audio_play_command,audio_play_command)) { - lives_snprintf(prefs->audio_play_command,PATH_MAX*2,"%s",audio_play_command); - set_pref(PREF_AUDIO_PLAY_COMMAND,prefs->audio_play_command); + if (strcmp(prefs->audio_play_command, audio_play_command)) { + lives_snprintf(prefs->audio_play_command, PATH_MAX * 2, "%s", audio_play_command); + set_pref(PREF_AUDIO_PLAY_COMMAND, prefs->audio_play_command); } // cd play device - if (strcmp(prefs->cdplay_device,cdplay_device)) { - lives_snprintf(prefs->cdplay_device,PATH_MAX,"%s",cdplay_device); - set_pref(PREF_CDPLAY_DEVICE,prefs->cdplay_device); + if (strcmp(prefs->cdplay_device, cdplay_device)) { + lives_snprintf(prefs->cdplay_device, PATH_MAX, "%s", cdplay_device); + set_pref(PREF_CDPLAY_DEVICE, prefs->cdplay_device); } lives_free(cdplay_device); // default video load directory - if (strcmp(prefs->def_vid_load_dir,def_vid_load_dir)) { - lives_snprintf(prefs->def_vid_load_dir,PATH_MAX,"%s/",def_vid_load_dir); + if (strcmp(prefs->def_vid_load_dir, def_vid_load_dir)) { + lives_snprintf(prefs->def_vid_load_dir, PATH_MAX, "%s/", def_vid_load_dir); get_dirname(prefs->def_vid_load_dir); - set_pref_utf8(PREF_VID_LOAD_DIR,prefs->def_vid_load_dir); - lives_snprintf(mainw->vid_load_dir,PATH_MAX,"%s",prefs->def_vid_load_dir); + set_pref_utf8(PREF_VID_LOAD_DIR, prefs->def_vid_load_dir); + lives_snprintf(mainw->vid_load_dir, PATH_MAX, "%s", prefs->def_vid_load_dir); } // default video save directory - if (strcmp(prefs->def_vid_save_dir,def_vid_save_dir)) { - lives_snprintf(prefs->def_vid_save_dir,PATH_MAX,"%s/",def_vid_save_dir); + if (strcmp(prefs->def_vid_save_dir, def_vid_save_dir)) { + lives_snprintf(prefs->def_vid_save_dir, PATH_MAX, "%s/", def_vid_save_dir); get_dirname(prefs->def_vid_save_dir); - set_pref_utf8(PREF_VID_SAVE_DIR,prefs->def_vid_save_dir); - lives_snprintf(mainw->vid_save_dir,PATH_MAX,"%s",prefs->def_vid_save_dir); + set_pref_utf8(PREF_VID_SAVE_DIR, prefs->def_vid_save_dir); + lives_snprintf(mainw->vid_save_dir, PATH_MAX, "%s", prefs->def_vid_save_dir); } // default audio directory - if (strcmp(prefs->def_audio_dir,def_audio_dir)) { - lives_snprintf(prefs->def_audio_dir,PATH_MAX,"%s/",def_audio_dir); + if (strcmp(prefs->def_audio_dir, def_audio_dir)) { + lives_snprintf(prefs->def_audio_dir, PATH_MAX, "%s/", def_audio_dir); get_dirname(prefs->def_audio_dir); - set_pref_utf8(PREF_AUDIO_DIR,prefs->def_audio_dir); - lives_snprintf(mainw->audio_dir,PATH_MAX,"%s",prefs->def_audio_dir); + set_pref_utf8(PREF_AUDIO_DIR, prefs->def_audio_dir); + lives_snprintf(mainw->audio_dir, PATH_MAX, "%s", prefs->def_audio_dir); } // default image directory - if (strcmp(prefs->def_image_dir,def_image_dir)) { - lives_snprintf(prefs->def_image_dir,PATH_MAX,"%s/",def_image_dir); + if (strcmp(prefs->def_image_dir, def_image_dir)) { + lives_snprintf(prefs->def_image_dir, PATH_MAX, "%s/", def_image_dir); get_dirname(prefs->def_image_dir); - set_pref_utf8(PREF_IMAGE_DIR,prefs->def_image_dir); - lives_snprintf(mainw->image_dir,PATH_MAX,"%s",prefs->def_image_dir); + set_pref_utf8(PREF_IMAGE_DIR, prefs->def_image_dir); + lives_snprintf(mainw->image_dir, PATH_MAX, "%s", prefs->def_image_dir); } // default project directory - for backup and restore - if (strcmp(prefs->def_proj_dir,def_proj_dir)) { - lives_snprintf(prefs->def_proj_dir,PATH_MAX,"%s/",def_proj_dir); + if (strcmp(prefs->def_proj_dir, def_proj_dir)) { + lives_snprintf(prefs->def_proj_dir, PATH_MAX, "%s/", def_proj_dir); get_dirname(prefs->def_proj_dir); - set_pref_utf8(PREF_PROJ_DIR,prefs->def_proj_dir); - lives_snprintf(mainw->proj_load_dir,PATH_MAX,"%s",prefs->def_proj_dir); - lives_snprintf(mainw->proj_save_dir,PATH_MAX,"%s",prefs->def_proj_dir); + set_pref_utf8(PREF_PROJ_DIR, prefs->def_proj_dir); + lives_snprintf(mainw->proj_load_dir, PATH_MAX, "%s", prefs->def_proj_dir); + lives_snprintf(mainw->proj_save_dir, PATH_MAX, "%s", prefs->def_proj_dir); } // the theme - if (strcmp(future_prefs->theme,theme)&&!(!lives_ascii_strcasecmp(future_prefs->theme,"none")&& - !strcmp(theme,mainw->string_constants[LIVES_STRING_CONSTANT_NONE]))) { - if (strcmp(theme,mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) { - lives_snprintf(prefs->theme,64,"%s",theme); - lives_snprintf(future_prefs->theme,64,"%s",theme); - set_pref(PREF_GUI_THEME,future_prefs->theme); - widget_opts.apply_theme=TRUE; + if (strcmp(future_prefs->theme, theme) && !(!lives_ascii_strcasecmp(future_prefs->theme, "none") && + !strcmp(theme, mainw->string_constants[LIVES_STRING_CONSTANT_NONE]))) { + if (strcmp(theme, mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) { + lives_snprintf(prefs->theme, 64, "%s", theme); + lives_snprintf(future_prefs->theme, 64, "%s", theme); + set_pref(PREF_GUI_THEME, future_prefs->theme); + widget_opts.apply_theme = TRUE; set_palette_colours(TRUE); - if (mainw->multitrack!=NULL) { - if (mainw->multitrack->frame_pixbuf==mainw->imframe) mainw->multitrack->frame_pixbuf=NULL; + if (mainw->multitrack != NULL) { + if (mainw->multitrack->frame_pixbuf == mainw->imframe) mainw->multitrack->frame_pixbuf = NULL; } load_theme_images(); - mainw->prefs_changed|=PREFS_COLOURS_CHANGED|PREFS_IMAGES_CHANGED; + mainw->prefs_changed |= PREFS_COLOURS_CHANGED | PREFS_IMAGES_CHANGED; } else { - lives_snprintf(future_prefs->theme,64,"none"); - set_pref(PREF_GUI_THEME,future_prefs->theme); + lives_snprintf(future_prefs->theme, 64, "none"); + set_pref(PREF_GUI_THEME, future_prefs->theme); delete_pref(THEME_DETAIL_STYLE); delete_pref(THEME_DETAIL_SEPWIN_IMAGE); delete_pref(THEME_DETAIL_FRAMEBLANK_IMAGE); @@ -1463,133 +1429,129 @@ delete_pref(THEME_DETAIL_ALT_BACK); delete_pref(THEME_DETAIL_INFO_TEXT); delete_pref(THEME_DETAIL_INFO_BASE); - mainw->prefs_changed|=PREFS_THEME_CHANGED; + mainw->prefs_changed |= PREFS_THEME_CHANGED; } } lives_free(theme); // default fps - if (prefs->default_fps!=default_fps) { - prefs->default_fps=default_fps; - set_double_pref(PREF_DEFAULT_FPS,prefs->default_fps); + if (prefs->default_fps != default_fps) { + prefs->default_fps = default_fps; + set_double_pref(PREF_DEFAULT_FPS, prefs->default_fps); } // virtual rte keys - if (prefs->rte_keys_virtual!=rte_keys_virtual) { + if (prefs->rte_keys_virtual != rte_keys_virtual) { // if we are showing the rte window, we must destroy and recreate it refresh_rte_window(); - prefs->rte_keys_virtual=rte_keys_virtual; - set_int_pref(PREF_RTE_KEYS_VIRTUAL,prefs->rte_keys_virtual); + prefs->rte_keys_virtual = rte_keys_virtual; + set_int_pref(PREF_RTE_KEYS_VIRTUAL, prefs->rte_keys_virtual); } - - if (prefs->rec_stop_gb!=rec_gb) { + if (prefs->rec_stop_gb != rec_gb) { // disk free level at which we must stop recording - prefs->rec_stop_gb=rec_gb; - set_int_pref(PREF_REC_STOP_GB,prefs->rec_stop_gb); + prefs->rec_stop_gb = rec_gb; + set_int_pref(PREF_REC_STOP_GB, prefs->rec_stop_gb); } - if (ins_speed==prefs->ins_resample) { - prefs->ins_resample=!ins_speed; - set_boolean_pref(PREF_INSERT_RESAMPLE,prefs->ins_resample); + if (ins_speed == prefs->ins_resample) { + prefs->ins_resample = !ins_speed; + set_boolean_pref(PREF_INSERT_RESAMPLE, prefs->ins_resample); } - - if (ds_warn_level!=prefs->ds_warn_level) { - prefs->ds_warn_level=ds_warn_level; - mainw->next_ds_warn_level=prefs->ds_warn_level; - set_int64_pref(PREF_DS_WARN_LEVEL,ds_warn_level); + if (ds_warn_level != prefs->ds_warn_level) { + prefs->ds_warn_level = ds_warn_level; + mainw->next_ds_warn_level = prefs->ds_warn_level; + set_int64_pref(PREF_DS_WARN_LEVEL, ds_warn_level); } - - if (ds_crit_level!=prefs->ds_crit_level) { - prefs->ds_crit_level=ds_crit_level; - set_int64_pref(PREF_DS_CRIT_LEVEL,ds_crit_level); + if (ds_crit_level != prefs->ds_crit_level) { + prefs->ds_crit_level = ds_crit_level; + set_int64_pref(PREF_DS_CRIT_LEVEL, ds_crit_level); } - #ifdef ENABLE_OSC if (osc_enable) { - if (prefs->osc_udp_started&&osc_udp_port!=prefs->osc_udp_port) { + if (prefs->osc_udp_started && osc_udp_port != prefs->osc_udp_port) { // port number changed lives_osc_end(); - prefs->osc_udp_started=FALSE; + prefs->osc_udp_started = FALSE; } - prefs->osc_udp_port=osc_udp_port; + prefs->osc_udp_port = osc_udp_port; // try to start on new port number - if (!prefs->osc_udp_started) prefs->osc_udp_started=lives_osc_init(prefs->osc_udp_port); + if (!prefs->osc_udp_started) prefs->osc_udp_started = lives_osc_init(prefs->osc_udp_port); } else { if (prefs->osc_udp_started) { lives_osc_end(); - prefs->osc_udp_started=FALSE; + prefs->osc_udp_started = FALSE; } } if (osc_start) { if (!future_prefs->osc_start) { - set_boolean_pref(PREF_OSC_START,TRUE); - future_prefs->osc_start=TRUE; + set_boolean_pref(PREF_OSC_START, TRUE); + future_prefs->osc_start = TRUE; } } else { if (future_prefs->osc_start) { - set_boolean_pref(PREF_OSC_START,FALSE); - future_prefs->osc_start=FALSE; + set_boolean_pref(PREF_OSC_START, FALSE); + future_prefs->osc_start = FALSE; } } - if (prefs->osc_udp_port!=osc_udp_port) { - prefs->osc_udp_port=osc_udp_port; - set_int_pref(PREF_OSC_PORT,osc_udp_port); + if (prefs->osc_udp_port != osc_udp_port) { + prefs->osc_udp_port = osc_udp_port; + set_int_pref(PREF_OSC_PORT, osc_udp_port); } #endif #ifdef RT_AUDIO - if (prefs->audio_opts!=audio_opts) { - prefs->audio_opts=audio_opts; - set_int_pref(PREF_AUDIO_OPTS,audio_opts); + if (prefs->audio_opts != audio_opts) { + prefs->audio_opts = audio_opts; + set_int_pref(PREF_AUDIO_OPTS, audio_opts); #ifdef ENABLE_JACK - if (prefs->audio_player==AUD_PLAYER_JACK&&mainw->jackd!=NULL&&mainw->loop_cont) { - if (mainw->ping_pong&&prefs->audio_opts&AUDIO_OPTS_FOLLOW_FPS) mainw->jackd->loop=AUDIO_LOOP_PINGPONG; - else mainw->jackd->loop=AUDIO_LOOP_FORWARD; + if (prefs->audio_player == AUD_PLAYER_JACK && mainw->jackd != NULL && mainw->loop_cont) { + if (mainw->ping_pong && prefs->audio_opts & AUDIO_OPTS_FOLLOW_FPS) mainw->jackd->loop = AUDIO_LOOP_PINGPONG; + else mainw->jackd->loop = AUDIO_LOOP_FORWARD; } #endif #ifdef HAVE_PULSE_AUDIO - if (prefs->audio_player==AUD_PLAYER_PULSE&&mainw->pulsed!=NULL&&mainw->loop_cont) { - if (mainw->ping_pong&&prefs->audio_opts&AUDIO_OPTS_FOLLOW_FPS) mainw->pulsed->loop=AUDIO_LOOP_PINGPONG; - else mainw->pulsed->loop=AUDIO_LOOP_FORWARD; + if (prefs->audio_player == AUD_PLAYER_PULSE && mainw->pulsed != NULL && mainw->loop_cont) { + if (mainw->ping_pong && prefs->audio_opts & AUDIO_OPTS_FOLLOW_FPS) mainw->pulsed->loop = AUDIO_LOOP_PINGPONG; + else mainw->pulsed->loop = AUDIO_LOOP_FORWARD; } #endif } - if (rec_desk_audio!=prefs->rec_desktop_audio) { - prefs->rec_desktop_audio=rec_desk_audio; - set_boolean_pref(PREF_REC_DESKTOP_AUDIO,rec_desk_audio); + if (rec_desk_audio != prefs->rec_desktop_audio) { + prefs->rec_desktop_audio = rec_desk_audio; + set_boolean_pref(PREF_REC_DESKTOP_AUDIO, rec_desk_audio); } #endif - if (prefs->audio_player==AUD_PLAYER_JACK&&!capable->has_jackd) { + if (prefs->audio_player == AUD_PLAYER_JACK && !capable->has_jackd) { do_error_dialog_with_check_transient - ((tmp=lives_strdup_printf(_("\nUnable to switch audio players to jack\n" - "jackd must be installed first.\nSee %s\n"),JACK_URL)), - TRUE,0,prefsw!=NULL?LIVES_WINDOW(prefsw->prefs_dialog):LIVES_WINDOW(mainw->LiVES)); + ((tmp = lives_strdup_printf(_("\nUnable to switch audio players to jack\n" + "jackd must be installed first.\nSee %s\n"), JACK_URL)), + TRUE, 0, prefsw != NULL ? LIVES_WINDOW(prefsw->prefs_dialog) : LIVES_WINDOW(mainw->LiVES)); lives_free(tmp); } else { - if (prefs->audio_player==AUD_PLAYER_JACK&&strcmp(audio_player,AUDIO_PLAYER_JACK)) { + if (prefs->audio_player == AUD_PLAYER_JACK && strcmp(audio_player, AUDIO_PLAYER_JACK)) { do_error_dialog_with_check_transient (_("\nSwitching audio players requires restart (jackd must not be running)\n"), - TRUE,0,prefsw!=NULL?LIVES_WINDOW(prefsw->prefs_dialog):LIVES_WINDOW(mainw->LiVES)); + TRUE, 0, prefsw != NULL ? LIVES_WINDOW(prefsw->prefs_dialog) : LIVES_WINDOW(mainw->LiVES)); } // switch to sox - if (!(strcmp(audio_player,AUDIO_PLAYER_SOX))&&prefs->audio_player!=AUD_PLAYER_SOX) { + if (!(strcmp(audio_player, AUDIO_PLAYER_SOX)) && prefs->audio_player != AUD_PLAYER_SOX) { switch_aud_to_sox(TRUE); } // switch to jack - else if (!(strcmp(audio_player,AUDIO_PLAYER_JACK))&&prefs->audio_player!=AUD_PLAYER_JACK) { + else if (!(strcmp(audio_player, AUDIO_PLAYER_JACK)) && prefs->audio_player != AUD_PLAYER_JACK) { // may fail if (!switch_aud_to_jack()) { do_jack_noopen_warn(); @@ -1598,17 +1560,17 @@ } // switch to mplayer audio - else if (!(strcmp(audio_player,AUDIO_PLAYER_MPLAYER))&&prefs->audio_player!=AUD_PLAYER_MPLAYER) { + else if (!(strcmp(audio_player, AUDIO_PLAYER_MPLAYER)) && prefs->audio_player != AUD_PLAYER_MPLAYER) { switch_aud_to_mplayer(TRUE); } // switch to pulse audio - else if (!(strcmp(audio_player,AUDIO_PLAYER_PULSE))&&prefs->audio_player!=AUD_PLAYER_PULSE) { + else if (!(strcmp(audio_player, AUDIO_PLAYER_PULSE)) && prefs->audio_player != AUD_PLAYER_PULSE) { if (!capable->has_pulse_audio) { do_error_dialog_with_check_transient - ((tmp=lives_strdup_printf(_("\nUnable to switch audio players to pulse audio\n" - "pulseaudio must be installed first.\nSee %s\n"),PULSE_AUDIO_URL)), - TRUE,0,prefsw!=NULL?LIVES_WINDOW(prefsw->prefs_dialog):LIVES_WINDOW(mainw->LiVES)); + ((tmp = lives_strdup_printf(_("\nUnable to switch audio players to pulse audio\n" + "pulseaudio must be installed first.\nSee %s\n"), PULSE_AUDIO_URL)), + TRUE, 0, prefsw != NULL ? LIVES_WINDOW(prefsw->prefs_dialog) : LIVES_WINDOW(mainw->LiVES)); lives_free(tmp); } else { if (!switch_aud_to_pulse()) { @@ -1619,215 +1581,211 @@ } // switch to mplayer2 audio - else if (!(strcmp(audio_player,AUDIO_PLAYER_MPLAYER2))&&prefs->audio_player!=AUD_PLAYER_MPLAYER2) { + else if (!(strcmp(audio_player, AUDIO_PLAYER_MPLAYER2)) && prefs->audio_player != AUD_PLAYER_MPLAYER2) { switch_aud_to_mplayer2(TRUE); } // - } #ifdef ENABLE_JACK - if (future_prefs->jack_opts!=jack_opts) { - set_int_pref(PREF_JACK_OPTS,jack_opts); - future_prefs->jack_opts=prefs->jack_opts=jack_opts; + if (future_prefs->jack_opts != jack_opts) { + set_int_pref(PREF_JACK_OPTS, jack_opts); + future_prefs->jack_opts = prefs->jack_opts = jack_opts; } #endif - - #ifdef ENABLE_OSC #ifdef OMC_JS_IMPL - if (strcmp(omc_js_fname,prefs->omc_js_fname)) { - lives_snprintf(prefs->omc_js_fname,PATH_MAX,"%s",omc_js_fname); - set_pref_utf8(PREF_OMC_JS_FNAME,omc_js_fname); + if (strcmp(omc_js_fname, prefs->omc_js_fname)) { + lives_snprintf(prefs->omc_js_fname, PATH_MAX, "%s", omc_js_fname); + set_pref_utf8(PREF_OMC_JS_FNAME, omc_js_fname); } - if (omc_js_enable!=((prefs->omc_dev_opts&OMC_DEV_JS)/OMC_DEV_JS)) { + if (omc_js_enable != ((prefs->omc_dev_opts & OMC_DEV_JS) / OMC_DEV_JS)) { if (omc_js_enable) { - prefs->omc_dev_opts|=OMC_DEV_JS; + prefs->omc_dev_opts |= OMC_DEV_JS; js_open(); } else { - prefs->omc_dev_opts^=OMC_DEV_JS; + prefs->omc_dev_opts ^= OMC_DEV_JS; js_close(); } - set_omc_dev_opts=TRUE; + set_omc_dev_opts = TRUE; } #endif - #ifdef OMC_MIDI_IMPL - if (strcmp(omc_midi_fname,prefs->omc_midi_fname)) { - lives_snprintf(prefs->omc_midi_fname,PATH_MAX,"%s",omc_midi_fname); - set_pref_utf8(PREF_OMC_MIDI_FNAME,omc_midi_fname); + if (strcmp(omc_midi_fname, prefs->omc_midi_fname)) { + lives_snprintf(prefs->omc_midi_fname, PATH_MAX, "%s", omc_midi_fname); + set_pref_utf8(PREF_OMC_MIDI_FNAME, omc_midi_fname); } - if (midicr!=prefs->midi_check_rate) { - prefs->midi_check_rate=midicr; - set_int_pref(PREF_MIDI_CHECK_RATE,prefs->midi_check_rate); + if (midicr != prefs->midi_check_rate) { + prefs->midi_check_rate = midicr; + set_int_pref(PREF_MIDI_CHECK_RATE, prefs->midi_check_rate); } - if (midirpt!=prefs->midi_rpt) { - prefs->midi_rpt=midirpt; - set_int_pref(PREF_MIDI_RPT,prefs->midi_rpt); + if (midirpt != prefs->midi_rpt) { + prefs->midi_rpt = midirpt; + set_int_pref(PREF_MIDI_RPT, prefs->midi_rpt); } - if (omc_midi_enable!=((prefs->omc_dev_opts&OMC_DEV_MIDI)/OMC_DEV_MIDI)) { + if (omc_midi_enable != ((prefs->omc_dev_opts & OMC_DEV_MIDI) / OMC_DEV_MIDI)) { if (omc_midi_enable) { - prefs->omc_dev_opts|=OMC_DEV_MIDI; - needs_midi_restart=TRUE; + prefs->omc_dev_opts |= OMC_DEV_MIDI; + needs_midi_restart = TRUE; } else { - prefs->omc_dev_opts^=OMC_DEV_MIDI; + prefs->omc_dev_opts ^= OMC_DEV_MIDI; midi_close(); } - set_omc_dev_opts=TRUE; + set_omc_dev_opts = TRUE; } #ifdef ALSA_MIDI - if (use_alsa_midi==((prefs->omc_dev_opts&OMC_DEV_FORCE_RAW_MIDI)/OMC_DEV_FORCE_RAW_MIDI)) { + if (use_alsa_midi == ((prefs->omc_dev_opts & OMC_DEV_FORCE_RAW_MIDI) / OMC_DEV_FORCE_RAW_MIDI)) { if (!needs_midi_restart) { - needs_midi_restart=(mainw->ext_cntl[EXT_CNTL_MIDI]); + needs_midi_restart = (mainw->ext_cntl[EXT_CNTL_MIDI]); if (needs_midi_restart) midi_close(); } if (!use_alsa_midi) { - prefs->omc_dev_opts|=OMC_DEV_FORCE_RAW_MIDI; - prefs->use_alsa_midi=FALSE; + prefs->omc_dev_opts |= OMC_DEV_FORCE_RAW_MIDI; + prefs->use_alsa_midi = FALSE; } else { - prefs->omc_dev_opts^=OMC_DEV_FORCE_RAW_MIDI; - prefs->use_alsa_midi=TRUE; + prefs->omc_dev_opts ^= OMC_DEV_FORCE_RAW_MIDI; + prefs->use_alsa_midi = TRUE; } - set_omc_dev_opts=TRUE; + set_omc_dev_opts = TRUE; } #endif if (needs_midi_restart) midi_open(); #endif - if (set_omc_dev_opts) set_int_pref(PREF_OMC_DEV_OPTS,prefs->omc_dev_opts); + if (set_omc_dev_opts) set_int_pref(PREF_OMC_DEV_OPTS, prefs->omc_dev_opts); #endif - if (mt_enter_prompt!=prefs->mt_enter_prompt) { - prefs->mt_enter_prompt=mt_enter_prompt; - set_boolean_pref(PREF_MT_ENTER_PROMPT,mt_enter_prompt); + if (mt_enter_prompt != prefs->mt_enter_prompt) { + prefs->mt_enter_prompt = mt_enter_prompt; + set_boolean_pref(PREF_MT_ENTER_PROMPT, mt_enter_prompt); } - if (mt_exit_render!=prefs->mt_exit_render) { - prefs->mt_exit_render=mt_exit_render; - set_boolean_pref(PREF_MT_EXIT_RENDER,mt_exit_render); + if (mt_exit_render != prefs->mt_exit_render) { + prefs->mt_exit_render = mt_exit_render; + set_boolean_pref(PREF_MT_EXIT_RENDER, mt_exit_render); } - if (render_prompt!=prefs->render_prompt) { - prefs->render_prompt=render_prompt; - set_boolean_pref(PREF_RENDER_PROMPT,render_prompt); + if (render_prompt != prefs->render_prompt) { + prefs->render_prompt = render_prompt; + set_boolean_pref(PREF_RENDER_PROMPT, render_prompt); } - if (mt_pertrack_audio!=prefs->mt_pertrack_audio) { - prefs->mt_pertrack_audio=mt_pertrack_audio; - set_boolean_pref(PREF_MT_PERTRACK_AUDIO,mt_pertrack_audio); + if (mt_pertrack_audio != prefs->mt_pertrack_audio) { + prefs->mt_pertrack_audio = mt_pertrack_audio; + set_boolean_pref(PREF_MT_PERTRACK_AUDIO, mt_pertrack_audio); } - if (mt_backaudio!=prefs->mt_backaudio) { - prefs->mt_backaudio=mt_backaudio; - set_int_pref(PREF_MT_BACKAUDIO,mt_backaudio); + if (mt_backaudio != prefs->mt_backaudio) { + prefs->mt_backaudio = mt_backaudio; + set_int_pref(PREF_MT_BACKAUDIO, mt_backaudio); } - if (mt_def_width!=prefs->mt_def_width) { - prefs->mt_def_width=mt_def_width; - set_int_pref(PREF_MT_DEF_WIDTH,mt_def_width); + if (mt_def_width != prefs->mt_def_width) { + prefs->mt_def_width = mt_def_width; + set_int_pref(PREF_MT_DEF_WIDTH, mt_def_width); } - if (mt_def_height!=prefs->mt_def_height) { - prefs->mt_def_height=mt_def_height; - set_int_pref(PREF_MT_DEF_HEIGHT,mt_def_height); + if (mt_def_height != prefs->mt_def_height) { + prefs->mt_def_height = mt_def_height; + set_int_pref(PREF_MT_DEF_HEIGHT, mt_def_height); } - if (mt_def_fps!=prefs->mt_def_fps) { - prefs->mt_def_fps=mt_def_fps; - set_double_pref(PREF_MT_DEF_FPS,mt_def_fps); + if (mt_def_fps != prefs->mt_def_fps) { + prefs->mt_def_fps = mt_def_fps; + set_double_pref(PREF_MT_DEF_FPS, mt_def_fps); } - if (!mt_enable_audio) mt_def_achans=0; - if (mt_def_achans!=prefs->mt_def_achans) { - prefs->mt_def_achans=mt_def_achans; - set_int_pref(PREF_MT_DEF_ACHANS,mt_def_achans); + if (!mt_enable_audio) mt_def_achans = 0; + if (mt_def_achans != prefs->mt_def_achans) { + prefs->mt_def_achans = mt_def_achans; + set_int_pref(PREF_MT_DEF_ACHANS, mt_def_achans); } - if (mt_def_asamps!=prefs->mt_def_asamps) { - prefs->mt_def_asamps=mt_def_asamps; - set_int_pref(PREF_MT_DEF_ASAMPS,mt_def_asamps); + if (mt_def_asamps != prefs->mt_def_asamps) { + prefs->mt_def_asamps = mt_def_asamps; + set_int_pref(PREF_MT_DEF_ASAMPS, mt_def_asamps); } - if (mt_def_arate!=prefs->mt_def_arate) { - prefs->mt_def_arate=mt_def_arate; - set_int_pref(PREF_MT_DEF_ARATE,mt_def_arate); + if (mt_def_arate != prefs->mt_def_arate) { + prefs->mt_def_arate = mt_def_arate; + set_int_pref(PREF_MT_DEF_ARATE, mt_def_arate); } - if (mt_def_signed_endian!=prefs->mt_def_signed_endian) { - prefs->mt_def_signed_endian=mt_def_signed_endian; - set_int_pref(PREF_MT_DEF_SIGNED_ENDIAN,mt_def_signed_endian); + if (mt_def_signed_endian != prefs->mt_def_signed_endian) { + prefs->mt_def_signed_endian = mt_def_signed_endian; + set_int_pref(PREF_MT_DEF_SIGNED_ENDIAN, mt_def_signed_endian); } - if (mt_undo_buf!=prefs->mt_undo_buf) { - if ((new_undo_buf=(unsigned char *)lives_try_malloc(mt_undo_buf*1024*1024))==NULL) { - do_mt_set_mem_error(mainw->multitrack!=NULL,skip_warn); + if (mt_undo_buf != prefs->mt_undo_buf) { + if ((new_undo_buf = (unsigned char *)lives_try_malloc(mt_undo_buf * 1024 * 1024)) == NULL) { + do_mt_set_mem_error(mainw->multitrack != NULL, skip_warn); } else { - if (mainw->multitrack!=NULL) { - if (mainw->multitrack->undo_mem!=NULL) { - if (mt_undo_buf<prefs->mt_undo_buf) { - ssize_t space_needed=mainw->multitrack->undo_buffer_used-(size_t)(mt_undo_buf*1024*1024); - if (space_needed>0) make_backup_space(mainw->multitrack,space_needed); - memcpy(new_undo_buf,mainw->multitrack->undo_mem,mt_undo_buf*1024*1024); - } else memcpy(new_undo_buf,mainw->multitrack->undo_mem,prefs->mt_undo_buf*1024*1024); - ulist=mainw->multitrack->undos; - while (ulist!=NULL) { - ulist->data=new_undo_buf+((unsigned char *)ulist->data-mainw->multitrack->undo_mem); - ulist=ulist->next; + if (mainw->multitrack != NULL) { + if (mainw->multitrack->undo_mem != NULL) { + if (mt_undo_buf < prefs->mt_undo_buf) { + ssize_t space_needed = mainw->multitrack->undo_buffer_used - (size_t)(mt_undo_buf * 1024 * 1024); + if (space_needed > 0) make_backup_space(mainw->multitrack, space_needed); + memcpy(new_undo_buf, mainw->multitrack->undo_mem, mt_undo_buf * 1024 * 1024); + } else memcpy(new_undo_buf, mainw->multitrack->undo_mem, prefs->mt_undo_buf * 1024 * 1024); + ulist = mainw->multitrack->undos; + while (ulist != NULL) { + ulist->data = new_undo_buf + ((unsigned char *)ulist->data - mainw->multitrack->undo_mem); + ulist = ulist->next; } lives_free(mainw->multitrack->undo_mem); - mainw->multitrack->undo_mem=new_undo_buf; + mainw->multitrack->undo_mem = new_undo_buf; } else { - mainw->multitrack->undo_mem=(unsigned char *)lives_try_malloc(mt_undo_buf*1024*1024); - if (mainw->multitrack->undo_mem==NULL) { - do_mt_set_mem_error(TRUE,skip_warn); + mainw->multitrack->undo_mem = (unsigned char *)lives_try_malloc(mt_undo_buf * 1024 * 1024); + if (mainw->multitrack->undo_mem == NULL) { + do_mt_set_mem_error(TRUE, skip_warn); } else { - mainw->multitrack->undo_buffer_used=0; - mainw->multitrack->undos=NULL; - mainw->multitrack->undo_offset=0; + mainw->multitrack->undo_buffer_used = 0; + mainw->multitrack->undos = NULL; + mainw->multitrack->undo_offset = 0; } } } - prefs->mt_undo_buf=mt_undo_buf; - set_int_pref(PREF_MT_UNDO_BUF,mt_undo_buf); + prefs->mt_undo_buf = mt_undo_buf; + set_int_pref(PREF_MT_UNDO_BUF, mt_undo_buf); } } - if (mt_autoback_always) mt_autoback_time=0; - else if (mt_autoback_never) mt_autoback_time=-1; + if (mt_autoback_always) mt_autoback_time = 0; + else if (mt_autoback_never) mt_autoback_time = -1; - if (mt_autoback_time!=prefs->mt_auto_back) { - if (mainw->multitrack!=NULL) { - if (mt_autoback_time<=0&&prefs->mt_auto_back>0&&mainw->multitrack->idlefunc>0) { + if (mt_autoback_time != prefs->mt_auto_back) { + if (mainw->multitrack != NULL) { + if (mt_autoback_time <= 0 && prefs->mt_auto_back > 0 && mainw->multitrack->idlefunc > 0) { lives_source_remove(mainw->multitrack->idlefunc); - mainw->multitrack->idlefunc=0; + mainw->multitrack->idlefunc = 0; mt_auto_backup(mainw->multitrack); } - if (mt_autoback_time>0&&prefs->mt_auto_back<=0&&mainw->multitrack->idlefunc>0) { - prefs->mt_auto_back=mt_autoback_time; - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + if (mt_autoback_time > 0 && prefs->mt_auto_back <= 0 && mainw->multitrack->idlefunc > 0) { + prefs->mt_auto_back = mt_autoback_time; + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } } - prefs->mt_auto_back=mt_autoback_time; - set_int_pref(PREF_MT_AUTO_BACK,mt_autoback_time); + prefs->mt_auto_back = mt_autoback_time; + set_int_pref(PREF_MT_AUTO_BACK, mt_autoback_time); } - if (max_disp_vtracks!=prefs->max_disp_vtracks) { - prefs->max_disp_vtracks=max_disp_vtracks; - set_int_pref(PREF_MAX_DISP_VTRACKS,max_disp_vtracks); - if (mainw->multitrack!=NULL) scroll_tracks(mainw->multitrack,mainw->multitrack->top_track,FALSE); + if (max_disp_vtracks != prefs->max_disp_vtracks) { + prefs->max_disp_vtracks = max_disp_vtracks; + set_int_pref(PREF_MAX_DISP_VTRACKS, max_disp_vtracks); + if (mainw->multitrack != NULL) scroll_tracks(mainw->multitrack, mainw->multitrack->top_track, FALSE); } - if (startup_ce&&future_prefs->startup_interface!=STARTUP_CE) { - future_prefs->startup_interface=STARTUP_CE; - set_int_pref(PREF_STARTUP_INTERFACE,STARTUP_CE); - if ((mainw->multitrack!=NULL&&mainw->multitrack->event_list!=NULL)||mainw->stored_event_list!=NULL) + if (startup_ce && future_prefs->startup_interface != STARTUP_CE) { + future_prefs->startup_interface = STARTUP_CE; + set_int_pref(PREF_STARTUP_INTERFACE, STARTUP_CE); + if ((mainw->multitrack != NULL && mainw->multitrack->event_list != NULL) || mainw->stored_event_list != NULL) write_backup_layout_numbering(mainw->multitrack); - } else if (!startup_ce&&future_prefs->startup_interface!=STARTUP_MT) { - future_prefs->startup_interface=STARTUP_MT; - set_int_pref(PREF_STARTUP_INTERFACE,STARTUP_MT); - if ((mainw->multitrack!=NULL&&mainw->multitrack->event_list!=NULL)||mainw->stored_event_list!=NULL) + } else if (!startup_ce && future_prefs->startup_interface != STARTUP_MT) { + future_prefs->startup_interface = STARTUP_MT; + set_int_pref(PREF_STARTUP_INTERFACE, STARTUP_MT); + if ((mainw->multitrack != NULL && mainw->multitrack->event_list != NULL) || mainw->stored_event_list != NULL) write_backup_layout_numbering(mainw->multitrack); } @@ -1835,91 +1793,83 @@ } - - void save_future_prefs(void) { // save future prefs on exit, if they have changed // show_recent is a special case, future prefs has our original value - if (!prefs->show_recent&&future_prefs->show_recent) { - set_pref(PREF_RECENT1,""); - set_pref(PREF_RECENT2,""); - set_pref(PREF_RECENT3,""); - set_pref(PREF_RECENT4,""); + if (!prefs->show_recent && future_prefs->show_recent) { + set_pref(PREF_RECENT1, ""); + set_pref(PREF_RECENT2, ""); + set_pref(PREF_RECENT3, ""); + set_pref(PREF_RECENT4, ""); } - if (strncmp(future_prefs->workdir,"NULL",4)) { - set_pref(PREF_WORKING_DIR,future_prefs->workdir); + if (strncmp(future_prefs->workdir, "NULL", 4)) { + set_pref(PREF_WORKING_DIR, future_prefs->workdir); } - if (prefs->show_tool!=future_prefs->show_tool) { - set_boolean_pref(PREF_SHOW_TOOLBAR,future_prefs->show_tool); + if (prefs->show_tool != future_prefs->show_tool) { + set_boolean_pref(PREF_SHOW_TOOLBAR, future_prefs->show_tool); } - - } void rdet_acodec_changed(LiVESCombo *acodec_combo, livespointer user_data) { - int listlen=lives_list_length(prefs->acodec_list); + int listlen = lives_list_length(prefs->acodec_list); int idx; char *audio_codec = lives_combo_get_active_text(acodec_combo); - if (!strcmp(audio_codec,mainw->string_constants[LIVES_STRING_CONSTANT_ANY])) { + if (!strcmp(audio_codec, mainw->string_constants[LIVES_STRING_CONSTANT_ANY])) { lives_free(audio_codec); return; } - for (idx=0; idx<listlen&&strcmp((char *)lives_list_nth_data(prefs->acodec_list,idx),audio_codec); idx++); + for (idx = 0; idx < listlen && strcmp((char *)lives_list_nth_data(prefs->acodec_list, idx), audio_codec); idx++); lives_free(audio_codec); - if (idx==listlen) future_prefs->encoder.audio_codec=0; - else future_prefs->encoder.audio_codec=prefs->acodec_list_to_format[idx]; + if (idx == listlen) future_prefs->encoder.audio_codec = 0; + else future_prefs->encoder.audio_codec = prefs->acodec_list_to_format[idx]; - if (prefs->encoder.audio_codec!=future_prefs->encoder.audio_codec) { - prefs->encoder.audio_codec=future_prefs->encoder.audio_codec; - if (prefs->encoder.audio_codec<AUDIO_CODEC_UNKNOWN) { - set_int_pref(PREF_ENCODER_ACODEC,prefs->encoder.audio_codec); + if (prefs->encoder.audio_codec != future_prefs->encoder.audio_codec) { + prefs->encoder.audio_codec = future_prefs->encoder.audio_codec; + if (prefs->encoder.audio_codec < AUDIO_CODEC_UNKNOWN) { + set_int_pref(PREF_ENCODER_ACODEC, prefs->encoder.audio_codec); } } } - - - void set_acodec_list_from_allowed(_prefsw *prefsw, render_details *rdet) { // could be done better, but no time... // get settings for current format + int count = 0, idx; + boolean is_allowed = FALSE; - int count=0,idx; - boolean is_allowed=FALSE; - - if (prefs->acodec_list!=NULL) { + if (prefs->acodec_list != NULL) { lives_list_free(prefs->acodec_list); - prefs->acodec_list=NULL; + prefs->acodec_list = NULL; } - if (future_prefs->encoder.of_allowed_acodecs==0) { + if (future_prefs->encoder.of_allowed_acodecs == 0) { prefs->acodec_list = lives_list_append(prefs->acodec_list, lives_strdup(mainw->string_constants[LIVES_STRING_CONSTANT_NONE])); - future_prefs->encoder.audio_codec=prefs->acodec_list_to_format[0]=AUDIO_CODEC_NONE; + future_prefs->encoder.audio_codec = prefs->acodec_list_to_format[0] = AUDIO_CODEC_NONE; - if (prefsw!=NULL) { + if (prefsw != NULL) { lives_combo_populate(LIVES_COMBO(prefsw->acodec_combo), prefs->acodec_list); lives_combo_set_active_index(LIVES_COMBO(prefsw->acodec_combo), 0); } - if (rdet!=NULL) { + if (rdet != NULL) { lives_combo_populate(LIVES_COMBO(rdet->acodec_combo), prefs->acodec_list); lives_combo_set_active_index(LIVES_COMBO(rdet->acodec_combo), 0); } return; } - for (idx=0; strlen(anames[idx]); idx++) { - if (future_prefs->encoder.of_allowed_acodecs&(1<<idx)) { - if (idx==AUDIO_CODEC_PCM) prefs->acodec_list=lives_list_append(prefs->acodec_list, + for (idx = 0; strlen(anames[idx]); idx++) { + if (future_prefs->encoder.of_allowed_acodecs & (1 << idx)) { + if (idx == AUDIO_CODEC_PCM) prefs->acodec_list = lives_list_append(prefs->acodec_list, lives_strdup(_("PCM (highest quality; largest files)"))); - else prefs->acodec_list=lives_list_append(prefs->acodec_list,lives_strdup(anames[idx])); - prefs->acodec_list_to_format[count++]=idx; - if (future_prefs->encoder.audio_codec==idx) is_allowed=TRUE; + else prefs->acodec_list = lives_list_append(prefs->acodec_list, lives_strdup(anames[idx])); + prefs->acodec_list_to_format[count++] = idx; + if (future_prefs->encoder.audio_codec == idx) is_allowed = TRUE; } } @@ -1930,15 +1880,15 @@ lives_combo_populate(LIVES_COMBO(rdet->acodec_combo), prefs->acodec_list); } if (!is_allowed) { - future_prefs->encoder.audio_codec=prefs->acodec_list_to_format[0]; + future_prefs->encoder.audio_codec = prefs->acodec_list_to_format[0]; } - for (idx=0; idx < lives_list_length(prefs->acodec_list); idx++) { - if (prefs->acodec_list_to_format[idx]==future_prefs->encoder.audio_codec) { - if (prefsw!=NULL) { + for (idx = 0; idx < lives_list_length(prefs->acodec_list); idx++) { + if (prefs->acodec_list_to_format[idx] == future_prefs->encoder.audio_codec) { + if (prefsw != NULL) { lives_combo_set_active_index(LIVES_COMBO(prefsw->acodec_combo), idx); } - if (rdet!=NULL) { + if (rdet != NULL) { lives_combo_set_active_index(LIVES_COMBO(rdet->acodec_combo), idx); } break; @@ -1948,89 +1898,90 @@ void after_vpp_changed(LiVESWidget *vpp_combo, livespointer advbutton) { - char *newvpp=lives_combo_get_active_text(LIVES_COMBO(vpp_combo)); + char *newvpp = lives_combo_get_active_text(LIVES_COMBO(vpp_combo)); _vid_playback_plugin *tmpvpp; - if (!lives_ascii_strcasecmp(newvpp,mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) { + if (!lives_ascii_strcasecmp(newvpp, mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) { lives_widget_set_sensitive(LIVES_WIDGET(advbutton), FALSE); } else { lives_widget_set_sensitive(LIVES_WIDGET(advbutton), TRUE); // will call set_astream_settings - if ((tmpvpp=open_vid_playback_plugin(newvpp, FALSE))==NULL) { + if ((tmpvpp = open_vid_playback_plugin(newvpp, FALSE)) == NULL) { lives_free(newvpp); return; } close_vid_playback_plugin(tmpvpp); } - lives_snprintf(future_prefs->vpp_name,64,"%s",newvpp); + lives_snprintf(future_prefs->vpp_name, 64, "%s", newvpp); lives_free(newvpp); - if (future_prefs->vpp_argv!=NULL) { + if (future_prefs->vpp_argv != NULL) { register int i; - for (i=0; future_prefs->vpp_argv[i]!=NULL; lives_free(future_prefs->vpp_argv[i++])); + for (i = 0; future_prefs->vpp_argv[i] != NULL; lives_free(future_prefs->vpp_argv[i++])); lives_free(future_prefs->vpp_argv); - future_prefs->vpp_argv=NULL; + future_prefs->vpp_argv = NULL; } - future_prefs->vpp_argc=0; - - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_stream_audio),FALSE); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_rec_after_pb),FALSE); + future_prefs->vpp_argc = 0; + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_stream_audio), FALSE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_rec_after_pb), FALSE); } - static void on_forcesmon_toggled(LiVESToggleButton *tbutton, livespointer user_data) { - int gui_monitor=lives_spin_button_get_value(LIVES_SPIN_BUTTON(prefsw->spinbutton_gmoni)); - int play_monitor=lives_spin_button_get_value(LIVES_SPIN_BUTTON(prefsw->spinbutton_pmoni)); - lives_widget_set_sensitive(prefsw->spinbutton_gmoni,!lives_toggle_button_get_active(tbutton)); - lives_widget_set_sensitive(prefsw->spinbutton_pmoni,!lives_toggle_button_get_active(tbutton)); - lives_widget_set_sensitive(prefsw->ce_thumbs,!lives_toggle_button_get_active(tbutton)&& - play_monitor!=gui_monitor&& - play_monitor!=0&&capable->nmonitors>0); + int gui_monitor = lives_spin_button_get_value(LIVES_SPIN_BUTTON(prefsw->spinbutton_gmoni)); + int play_monitor = lives_spin_button_get_value(LIVES_SPIN_BUTTON(prefsw->spinbutton_pmoni)); + lives_widget_set_sensitive(prefsw->spinbutton_gmoni, !lives_toggle_button_get_active(tbutton)); + lives_widget_set_sensitive(prefsw->spinbutton_pmoni, !lives_toggle_button_get_active(tbutton)); + lives_widget_set_sensitive(prefsw->ce_thumbs, !lives_toggle_button_get_active(tbutton) && + play_monitor != gui_monitor && + play_monitor != 0 && capable->nmonitors > 0); } + static void pmoni_gmoni_changed(LiVESWidget *sbut, livespointer user_data) { - int gui_monitor=lives_spin_button_get_value(LIVES_SPIN_BUTTON(prefsw->spinbutton_gmoni)); - int play_monitor=lives_spin_button_get_value(LIVES_SPIN_BUTTON(prefsw->spinbutton_pmoni)); - lives_widget_set_sensitive(prefsw->ce_thumbs,play_monitor!=gui_monitor&& - play_monitor!=0&&!lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->forcesmon))&& - capable->nmonitors>0); + int gui_monitor = lives_spin_button_get_value(LIVES_SPIN_BUTTON(prefsw->spinbutton_gmoni)); + int play_monitor = lives_spin_button_get_value(LIVES_SPIN_BUTTON(prefsw->spinbutton_pmoni)); + lives_widget_set_sensitive(prefsw->ce_thumbs, play_monitor != gui_monitor && + play_monitor != 0 && !lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->forcesmon)) && + capable->nmonitors > 0); } + static void on_mtbackevery_toggled(LiVESToggleButton *tbutton, livespointer user_data) { _prefsw *xprefsw; - if (user_data!=NULL) xprefsw=(_prefsw *)user_data; - else xprefsw=prefsw; + if (user_data != NULL) xprefsw = (_prefsw *)user_data; + else xprefsw = prefsw; - lives_widget_set_sensitive(xprefsw->spinbutton_mt_ab_time,lives_toggle_button_get_active(tbutton)); + lives_widget_set_sensitive(xprefsw->spinbutton_mt_ab_time, lives_toggle_button_get_active(tbutton)); } + #ifdef ENABLE_JACK_TRANSPORT static void after_jack_client_toggled(LiVESToggleButton *tbutton, livespointer user_data) { if (!lives_toggle_button_get_active(tbutton)) { - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_jack_tb_start),FALSE); - lives_widget_set_sensitive(prefsw->checkbutton_jack_tb_start,FALSE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_jack_tb_start), FALSE); + lives_widget_set_sensitive(prefsw->checkbutton_jack_tb_start, FALSE); } else { - lives_widget_set_sensitive(prefsw->checkbutton_jack_tb_start,TRUE); + lives_widget_set_sensitive(prefsw->checkbutton_jack_tb_start, TRUE); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_jack_tb_start), - (future_prefs->jack_opts&JACK_OPTS_TIMEBASE_START)?TRUE:FALSE); + (future_prefs->jack_opts & JACK_OPTS_TIMEBASE_START) ? TRUE : FALSE); } } -static void after_jack_tb_start_toggled(LiVESToggleButton *tbutton, livespointer user_data) { +static void after_jack_tb_start_toggled(LiVESToggleButton *tbutton, livespointer user_data) { if (!lives_toggle_button_get_active(tbutton)) { - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_jack_tb_client),FALSE); - lives_widget_set_sensitive(prefsw->checkbutton_jack_tb_client,FALSE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_jack_tb_client), FALSE); + lives_widget_set_sensitive(prefsw->checkbutton_jack_tb_client, FALSE); } else { - lives_widget_set_sensitive(prefsw->checkbutton_jack_tb_client,TRUE); + lives_widget_set_sensitive(prefsw->checkbutton_jack_tb_client, TRUE); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_jack_tb_client), - (future_prefs->jack_opts&JACK_OPTS_TIMEBASE_CLIENT)?TRUE:FALSE); + (future_prefs->jack_opts & JACK_OPTS_TIMEBASE_CLIENT) ? TRUE : FALSE); } } #endif @@ -2042,13 +1993,13 @@ static void on_alsa_midi_toggled(LiVESToggleButton *tbutton, livespointer user_data) { _prefsw *xprefsw; - if (user_data!=NULL) xprefsw=(_prefsw *)user_data; - else xprefsw=prefsw; + if (user_data != NULL) xprefsw = (_prefsw *)user_data; + else xprefsw = prefsw; - lives_widget_set_sensitive(xprefsw->button_midid,!lives_toggle_button_get_active(tbutton)); - lives_widget_set_sensitive(xprefsw->omc_midi_entry,!lives_toggle_button_get_active(tbutton)); - lives_widget_set_sensitive(xprefsw->spinbutton_midicr,!lives_toggle_button_get_active(tbutton)); - lives_widget_set_sensitive(xprefsw->spinbutton_midirpt,!lives_toggle_button_get_active(tbutton)); + lives_widget_set_sensitive(xprefsw->button_midid, !lives_toggle_button_get_active(tbutton)); + lives_widget_set_sensitive(xprefsw->omc_midi_entry, !lives_toggle_button_get_active(tbutton)); + lives_widget_set_sensitive(xprefsw->spinbutton_midicr, !lives_toggle_button_get_active(tbutton)); + lives_widget_set_sensitive(xprefsw->spinbutton_midirpt, !lives_toggle_button_get_active(tbutton)); } #endif #endif @@ -2058,12 +2009,12 @@ static void on_audp_entry_changed(LiVESWidget *audp_combo, livespointer ptr) { char *audp = lives_combo_get_active_text(LIVES_COMBO(audp_combo)); - if (!strlen(audp)||!strcmp(audp,prefsw->audp_name)) { + if (!strlen(audp) || !strcmp(audp, prefsw->audp_name)) { lives_free(audp); return; } - if (mainw->playing_file>-1) { + if (mainw->playing_file > -1) { do_aud_during_play_error(); lives_signal_handler_block(audp_combo, prefsw->audp_entry_func); @@ -2076,34 +2027,33 @@ } #ifdef RT_AUDIO - if (!strncmp(audp,AUDIO_PLAYER_JACK,4)||!strncmp(audp,AUDIO_PLAYER_PULSE,5)) { - lives_widget_set_sensitive(prefsw->checkbutton_aclips,TRUE); - lives_widget_set_sensitive(prefsw->checkbutton_afollow,TRUE); + if (!strncmp(audp, AUDIO_PLAYER_JACK, 4) || !strncmp(audp, AUDIO_PLAYER_PULSE, 5)) { + lives_widget_set_sensitive(prefsw->checkbutton_aclips, TRUE); + lives_widget_set_sensitive(prefsw->checkbutton_afollow, TRUE); } else { - lives_widget_set_sensitive(prefsw->checkbutton_aclips,FALSE); - lives_widget_set_sensitive(prefsw->checkbutton_afollow,FALSE); - lives_widget_set_sensitive(prefsw->raudio,FALSE); - lives_widget_set_sensitive(prefsw->rextaudio,FALSE); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->rextaudio),FALSE); - } - if (!strncmp(audp,AUDIO_PLAYER_JACK,4)) { - lives_widget_set_sensitive(prefsw->checkbutton_jack_pwp,TRUE); - lives_widget_set_sensitive(prefsw->checkbutton_jack_read_autocon,TRUE); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_start_ajack),TRUE); + lives_widget_set_sensitive(prefsw->checkbutton_aclips, FALSE); + lives_widget_set_sensitive(prefsw->checkbutton_afollow, FALSE); + lives_widget_set_sensitive(prefsw->raudio, FALSE); + lives_widget_set_sensitive(prefsw->rextaudio, FALSE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->rextaudio), FALSE); + } + if (!strncmp(audp, AUDIO_PLAYER_JACK, 4)) { + lives_widget_set_sensitive(prefsw->checkbutton_jack_pwp, TRUE); + lives_widget_set_sensitive(prefsw->checkbutton_jack_read_autocon, TRUE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_start_ajack), TRUE); lives_widget_show(prefsw->jack_int_label); } else { - lives_widget_set_sensitive(prefsw->checkbutton_jack_pwp,FALSE); - lives_widget_set_sensitive(prefsw->checkbutton_jack_read_autocon,FALSE); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_start_ajack),FALSE); + lives_widget_set_sensitive(prefsw->checkbutton_jack_pwp, FALSE); + lives_widget_set_sensitive(prefsw->checkbutton_jack_read_autocon, FALSE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_start_ajack), FALSE); lives_widget_hide(prefsw->jack_int_label); } #endif lives_free(prefsw->audp_name); - prefsw->audp_name=lives_combo_get_active_text(LIVES_COMBO(audp_combo)); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_stream_audio),FALSE); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_rec_after_pb),FALSE); + prefsw->audp_name = lives_combo_get_active_text(LIVES_COMBO(audp_combo)); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_stream_audio), FALSE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_rec_after_pb), FALSE); lives_free(audp); - } @@ -2113,17 +2063,17 @@ if (lives_toggle_button_get_active(togglebutton)) { // init vpp, get audio codec, check requisites _vid_playback_plugin *tmpvpp; - uint32_t orig_acodec=AUDIO_CODEC_NONE; + uint32_t orig_acodec = AUDIO_CODEC_NONE; if (strlen(future_prefs->vpp_name)) { - if ((tmpvpp=open_vid_playback_plugin(future_prefs->vpp_name, FALSE))==NULL) return; + if ((tmpvpp = open_vid_playback_plugin(future_prefs->vpp_name, FALSE)) == NULL) return; } else { - tmpvpp=mainw->vpp; - orig_acodec=mainw->vpp->audio_codec; + tmpvpp = mainw->vpp; + orig_acodec = mainw->vpp->audio_codec; get_best_audio(mainw->vpp); // check again because audio player may differ } - if (tmpvpp->audio_codec!=AUDIO_CODEC_NONE) { + if (tmpvpp->audio_codec != AUDIO_CODEC_NONE) { // make audiostream plugin name FILE *rfile; size_t rlen; @@ -2131,63 +2081,61 @@ char buf[1024]; char *com; - char *astreamer=lives_build_filename(prefs->lib_dir,PLUGIN_EXEC_DIR,PLUGIN_AUDIO_STREAM,AUDIO_STREAMER_NAME,NULL); + char *astreamer = lives_build_filename(prefs->lib_dir, PLUGIN_EXEC_DIR, PLUGIN_AUDIO_STREAM, AUDIO_STREAMER_NAME, NULL); - com=lives_strdup_printf("\"%s\" check %d",astreamer,tmpvpp->audio_codec); + com = lives_strdup_printf("\"%s\" check %d", astreamer, tmpvpp->audio_codec); lives_free(astreamer); - rfile=popen(com,"r"); + rfile = popen(com, "r"); if (!rfile) { // command failed - do_system_failed_error(com,0,NULL); + do_system_failed_error(com, 0, NULL); lives_free(com); return; } - rlen=fread(buf,1,1023,rfile); + rlen = fread(buf, 1, 1023, rfile); pclose(rfile); - memset(buf+rlen,0,1); + memset(buf + rlen, 0, 1); lives_free(com); - if (rlen>0) { + if (rlen > 0) { lives_toggle_button_set_active(togglebutton, FALSE); } } - if (tmpvpp!=NULL) { - if (tmpvpp!=mainw->vpp) { + if (tmpvpp != NULL) { + if (tmpvpp != mainw->vpp) { // close the temp current vpp close_vid_playback_plugin(tmpvpp); } else { // restore current codec - mainw->vpp->audio_codec=orig_acodec; + mainw->vpp->audio_codec = orig_acodec; } } - } - } void prefsw_set_astream_settings(_vid_playback_plugin *vpp) { - if (vpp!=NULL&&vpp->audio_codec!=AUDIO_CODEC_NONE) { - lives_widget_set_sensitive(prefsw->checkbutton_stream_audio,TRUE); + if (vpp != NULL && vpp->audio_codec != AUDIO_CODEC_NONE) { + lives_widget_set_sensitive(prefsw->checkbutton_stream_audio, TRUE); //lives_toggle_button_set_active (LIVES_TOGGLE_BUTTON (prefsw->checkbutton_stream_audio),future_prefs->stream_audio_out); } else { - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_stream_audio),FALSE); - lives_widget_set_sensitive(prefsw->checkbutton_stream_audio,FALSE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_stream_audio), FALSE); + lives_widget_set_sensitive(prefsw->checkbutton_stream_audio, FALSE); } } void prefsw_set_rec_after_settings(_vid_playback_plugin *vpp) { - if (vpp!=NULL&&(vpp->capabilities&VPP_CAN_RETURN)) { - lives_widget_set_sensitive(prefsw->checkbutton_rec_after_pb,TRUE); + if (vpp != NULL && (vpp->capabilities & VPP_CAN_RETURN)) { + lives_widget_set_sensitive(prefsw->checkbutton_rec_after_pb, TRUE); //lives_toggle_button_set_active (LIVES_TOGGLE_BUTTON (prefsw->checkbutton_stream_audio),future_prefs->stream_audio_out); } else { - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_rec_after_pb),FALSE); - lives_widget_set_sensitive(prefsw->checkbutton_rec_after_pb,FALSE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_rec_after_pb), FALSE); + lives_widget_set_sensitive(prefsw->checkbutton_rec_after_pb, FALSE); } } @@ -2213,9 +2161,9 @@ store = lives_list_store_new(N_COLUMNS, LIVES_COL_TYPE_PIXBUF, LIVES_COL_TYPE_STRING, LIVES_COL_TYPE_UINT); lives_tree_view_set_model(LIVES_TREE_VIEW(list), LIVES_TREE_MODEL(store)); - } + /* * Adds entry to preferences dialog list */ @@ -2229,6 +2177,7 @@ lives_list_store_set(store, &iter, LIST_ICON, pix, LIST_ITEM, str, LIST_NUM, idx, -1); } + /* * Callback function called when preferences list row changed */ @@ -2238,16 +2187,15 @@ register int i; - for (i=0; i<2; i++) { + for (i = 0; i < 2; i++) { // for some reason gtk+ needs us to do this twice.. if (lives_tree_selection_get_selected(widget, &model, &iter)) { lives_tree_model_get(model, &iter, LIST_NUM, &prefs_current_page, -1); - // + // Hide currently shown widget if (prefsw->right_shown) { lives_widget_hide(prefsw->right_shown); } - // switch (prefs_current_page) { case LIST_ENTRY_MULTITRACK: @@ -2302,7 +2250,7 @@ lives_widget_hide(prefsw->jack_int_label); #ifdef ENABLE_JACK - if (prefs->audio_player==AUD_PLAYER_JACK) { + if (prefs->audio_player == AUD_PLAYER_JACK) { lives_widget_show(prefsw->jack_int_label); } #endif @@ -2323,13 +2271,13 @@ lives_widget_show_all(prefsw->scrollw_right_gui); prefsw->right_shown = prefsw->scrollw_right_gui; lives_widget_show_all(prefsw->scrollw_right_gui); - if (nmons<=1) { + if (nmons <= 1) { lives_widget_hide(prefsw->forcesmon_hbox); #if !LIVES_HAS_GRID_WIDGET lives_widget_hide(prefsw->ce_thumbs); #endif } - prefs_current_page=LIST_ENTRY_GUI; + prefs_current_page = LIST_ENTRY_GUI; } } } @@ -2337,6 +2285,7 @@ lives_widget_queue_draw(prefsw->prefs_dialog); } + /* * Function makes apply button sensitive */ @@ -2347,22 +2296,23 @@ lives_widget_set_sensitive(LIVES_WIDGET(prefsw->closebutton), FALSE); } + // toggle sets other widget sensitive/insensitive static void toggle_set_sensitive(LiVESWidget *widget, livespointer func_data) { lives_widget_set_sensitive(LIVES_WIDGET(func_data), lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(widget))); } + // toggle sets other widget insensitive/sensitive static void toggle_set_insensitive(LiVESWidget *widget, livespointer func_data) { lives_widget_set_sensitive(LIVES_WIDGET(func_data), !lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(widget))); } - static void spinbutton_crit_ds_value_changed(LiVESSpinButton *crit_ds, livespointer user_data) { - double myval=lives_spin_button_get_value(crit_ds); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(prefsw->spinbutton_warn_ds),myval,DS_WARN_CRIT_MAX); - apply_button_set_enabled(NULL,NULL); + double myval = lives_spin_button_get_value(crit_ds); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(prefsw->spinbutton_warn_ds), myval, DS_WARN_CRIT_MAX); + apply_button_set_enabled(NULL, NULL); } @@ -2408,7 +2358,7 @@ LiVESWidget *advbutton; - LiVESWidget *sp_red,*sp_green,*sp_blue; + LiVESWidget *sp_red, *sp_green, *sp_blue; #ifdef ENABLE_OSC #ifdef OMC_MIDI_IMPL @@ -2434,9 +2384,9 @@ LiVESSList *autoback_group = NULL; LiVESSList *st_interface_group = NULL; - LiVESSList *asrc_group=NULL; + LiVESSList *asrc_group = NULL; - LiVESAccelGroup *accel_group=LIVES_ACCEL_GROUP(lives_accel_group_new()); + LiVESAccelGroup *accel_group = LIVES_ACCEL_GROUP(lives_accel_group_new()); // drop down lists LiVESList *themes = NULL; @@ -2449,7 +2399,7 @@ lives_colRGBA64_t rgba; char **array; - char *tmp,*tmp2,*tmp3; + char *tmp, *tmp2, *tmp3; char *theme; boolean pfsm; @@ -2465,17 +2415,16 @@ mainw->prefs_need_restart = FALSE; // Create new modal dialog window and set some attributes - prefsw->prefs_dialog = lives_standard_dialog_new(_("Preferences"),FALSE,PREFWIN_WIDTH,PREFWIN_HEIGHT); + prefsw->prefs_dialog = lives_standard_dialog_new(_("Preferences"), FALSE, PREFWIN_WIDTH, PREFWIN_HEIGHT); lives_window_add_accel_group(LIVES_WINDOW(prefsw->prefs_dialog), accel_group); - lives_window_set_default_size(LIVES_WINDOW(prefsw->prefs_dialog),PREFWIN_WIDTH,PREFWIN_HEIGHT); + lives_window_set_default_size(LIVES_WINDOW(prefsw->prefs_dialog), PREFWIN_WIDTH, PREFWIN_HEIGHT); if (prefs->show_gui) { - if (mainw->multitrack==NULL) lives_window_set_transient_for(LIVES_WINDOW(prefsw->prefs_dialog),LIVES_WINDOW(mainw->LiVES)); - else lives_window_set_transient_for(LIVES_WINDOW(prefsw->prefs_dialog),LIVES_WINDOW(mainw->multitrack->window)); + lives_window_set_transient_for(LIVES_WINDOW(prefsw->prefs_dialog), LIVES_WINDOW(LIVES_MAIN_WINDOW_WIDGET)); } - prefsw->ignore_apply=FALSE; + prefsw->ignore_apply = FALSE; // Get dialog's vbox and show it dialog_vbox_main = lives_dialog_get_content_area(LIVES_DIALOG(prefsw->prefs_dialog)); @@ -2485,22 +2434,19 @@ dialog_hpaned = lives_hpaned_new(); lives_widget_show(dialog_hpaned); - - // Create dialog table for the right panel controls placement dialog_table = lives_table_new(1, 1, FALSE); lives_widget_show(dialog_table); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(dialog_hpaned, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); } - // Create preferences list with invisible headers prefsw->prefs_list = lives_tree_view_new(); lives_widget_show(prefsw->prefs_list); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(prefsw->prefs_list, LIVES_WIDGET_STATE_SELECTED, &palette->normal_back); lives_widget_set_fg_color(prefsw->prefs_list, LIVES_WIDGET_STATE_SELECTED, &palette->normal_fore); } @@ -2518,7 +2464,7 @@ lives_scrolled_window_set_policy(LIVES_SCROLLED_WINDOW(list_scroll), LIVES_POLICY_AUTOMATIC, LIVES_POLICY_AUTOMATIC); lives_container_add(LIVES_CONTAINER(list_scroll), prefsw->prefs_list); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(prefsw->prefs_list, LIVES_WIDGET_STATE_NORMAL, &palette->info_base); lives_widget_set_fg_color(prefsw->prefs_list, LIVES_WIDGET_STATE_NORMAL, &palette->info_text); } @@ -2528,107 +2474,85 @@ lives_paned_pack(2, LIVES_PANED(dialog_hpaned), dialog_table, TRUE, FALSE); - - lives_paned_set_position(LIVES_PANED(dialog_hpaned),PREFS_PANED_POS); + lives_paned_set_position(LIVES_PANED(dialog_hpaned), PREFS_PANED_POS); // -------------------, // gui controls | // -------------------' prefsw->vbox_right_gui = lives_vbox_new(FALSE, widget_opts.packing_height); - prefsw->scrollw_right_gui = lives_standard_scrolled_window_new(0,0,prefsw->vbox_right_gui); + prefsw->scrollw_right_gui = lives_standard_scrolled_window_new(0, 0, prefsw->vbox_right_gui); lives_widget_show(prefsw->vbox_right_gui); prefsw->right_shown = prefsw->vbox_right_gui; - lives_container_set_border_width(LIVES_CONTAINER(prefsw->vbox_right_gui), widget_opts.packing_width*2); + lives_container_set_border_width(LIVES_CONTAINER(prefsw->vbox_right_gui), widget_opts.packing_width * 2); - // --- hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_gui), hbox, FALSE, FALSE, widget_opts.packing_height); - // --- prefsw->fs_max_check = - lives_standard_check_button_new(_("Open file selection maximised"),TRUE,LIVES_BOX(hbox),NULL); + lives_standard_check_button_new(_("Open file selection maximised"), TRUE, LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->fs_max_check), prefs->fileselmax); - // --- add_fill_to_box(LIVES_BOX(hbox)); prefsw->recent_check = - lives_standard_check_button_new(_("Show recent files in the File menu"),TRUE,LIVES_BOX(hbox),NULL); + lives_standard_check_button_new(_("Show recent files in the File menu"), TRUE, LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->recent_check), prefs->show_recent); - - // --- hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_gui), hbox, FALSE, FALSE, widget_opts.packing_height); prefsw->stop_screensaver_check = - lives_standard_check_button_new(_("Stop screensaver on playback "),TRUE,LIVES_BOX(hbox),NULL); + lives_standard_check_button_new(_("Stop screensaver on playback "), TRUE, LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->stop_screensaver_check), prefs->stop_screensaver); add_fill_to_box(LIVES_BOX(hbox)); - // --- - - prefsw->open_maximised_check=lives_standard_check_button_new(_("Open main window maximised"),TRUE,LIVES_BOX(hbox),NULL); + prefsw->open_maximised_check = lives_standard_check_button_new(_("Open main window maximised"), TRUE, LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->open_maximised_check), prefs->open_maximised); - // -- hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_gui), hbox, FALSE, FALSE, widget_opts.packing_height); prefsw->show_tool = - lives_standard_check_button_new(_("Show toolbar when background is blanked"),TRUE,LIVES_BOX(hbox),NULL); + lives_standard_check_button_new(_("Show toolbar when background is blanked"), TRUE, LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->show_tool), future_prefs->show_tool); add_fill_to_box(LIVES_BOX(hbox)); - // --- - prefsw->mouse_scroll = - lives_standard_check_button_new(_("Allow mouse wheel to switch clips"),TRUE,LIVES_BOX(hbox),NULL); + lives_standard_check_button_new(_("Allow mouse wheel to switch clips"), TRUE, LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->mouse_scroll), prefs->mouse_scroll_clips); - - // --- hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_gui), hbox, FALSE, FALSE, widget_opts.packing_height); - // --- - prefsw->checkbutton_ce_maxspect = - lives_standard_check_button_new(_("Shrink previews to fit in interface"),TRUE,LIVES_BOX(hbox),NULL); + lives_standard_check_button_new(_("Shrink previews to fit in interface"), TRUE, LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_ce_maxspect), prefs->ce_maxspect); add_fill_to_box(LIVES_BOX(hbox)); - prefsw->checkbutton_button_icons = - lives_standard_check_button_new(_("Show icons in buttons"),TRUE,LIVES_BOX(hbox),NULL); + lives_standard_check_button_new(_("Show icons in buttons"), TRUE, LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_button_icons), prefs->show_button_images); - - // --- hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_gui), hbox, FALSE, FALSE, widget_opts.packing_height); - // --- label = lives_standard_label_new(_("Startup mode:")); lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, TRUE, 0); - // --- - prefsw->rb_startup_ce = lives_standard_radio_button_new(_("_Clip editor"),TRUE,st_interface_group,LIVES_BOX(hbox),NULL); + prefsw->rb_startup_ce = lives_standard_radio_button_new(_("_Clip editor"), TRUE, st_interface_group, LIVES_BOX(hbox), NULL); st_interface_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(prefsw->rb_startup_ce)); - // --- - prefsw->rb_startup_mt = lives_standard_radio_button_new(_("_Multitrack mode"),TRUE,st_interface_group,LIVES_BOX(hbox),NULL); + prefsw->rb_startup_mt = lives_standard_radio_button_new(_("_Multitrack mode"), TRUE, st_interface_group, LIVES_BOX(hbox), NULL); - // --- - if (future_prefs->startup_interface==STARTUP_MT) { - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->rb_startup_mt),TRUE); + if (future_prefs->startup_interface == STARTUP_MT) { + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->rb_startup_mt), TRUE); } else { - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->rb_startup_ce),TRUE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->rb_startup_ce), TRUE); } add_fill_to_box(LIVES_BOX(hbox)); @@ -2637,52 +2561,42 @@ // multihead support (inside Gui part) // - pfsm=prefs->force_single_monitor; - prefs->force_single_monitor=FALSE; + pfsm = prefs->force_single_monitor; + prefs->force_single_monitor = FALSE; get_monitors(); - nmons=capable->nmonitors; + nmons = capable->nmonitors; - // --- add_hsep_to_box(LIVES_BOX(prefsw->vbox_right_gui)); - // --- + label = lives_standard_label_new(_("Multi-head support")); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_gui), label, FALSE, FALSE, widget_opts.packing_height); - // --- - hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_gui), hbox, FALSE, FALSE, widget_opts.packing_height*2); - // --- + hbox = lives_hbox_new(FALSE, 0); + lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_gui), hbox, FALSE, FALSE, widget_opts.packing_height * 2); prefsw->spinbutton_gmoni = lives_standard_spin_button_new(_(" monitor number for LiVES interface"), TRUE, prefs->gui_monitor, 1, nmons, - 1., 1., 0, LIVES_BOX(hbox),NULL); + 1., 1., 0, LIVES_BOX(hbox), NULL); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_gui), hbox, FALSE, FALSE, widget_opts.packing_height); prefsw->spinbutton_pmoni = lives_standard_spin_button_new(_(" monitor number for playback"), TRUE, prefs->play_monitor, 0, - nmons==1?0:nmons, - 1., 1., 0, LIVES_BOX(hbox),NULL); - + nmons == 1 ? 0 : nmons, + 1., 1., 0, LIVES_BOX(hbox), NULL); - - prefs->force_single_monitor=pfsm; + prefs->force_single_monitor = pfsm; get_monitors(); - - // --- - label = lives_standard_label_new(_("A setting of 0 means use all available monitors (only works with some playback plugins).")); lives_box_pack_start(LIVES_BOX(hbox), label, TRUE, TRUE, 0); - // --- - - // --- prefsw->forcesmon_hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_gui), prefsw->forcesmon_hbox, FALSE, FALSE, widget_opts.packing_height*2); + lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_gui), prefsw->forcesmon_hbox, FALSE, FALSE, widget_opts.packing_height * 2); - prefsw->forcesmon = lives_standard_check_button_new((tmp=lives_strdup(_("Force single monitor"))),FALSE,LIVES_BOX(prefsw->forcesmon_hbox), - (tmp2=lives_strdup(_("Ignore all except the first monitor.")))); + prefsw->forcesmon = lives_standard_check_button_new((tmp = lives_strdup(_("Force single monitor"))), FALSE, + LIVES_BOX(prefsw->forcesmon_hbox), + (tmp2 = lives_strdup(_("Ignore all except the first monitor.")))); lives_free(tmp); lives_free(tmp2); @@ -2690,30 +2604,28 @@ lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->forcesmon), prefs->force_single_monitor); - // --- - if (nmons<=1) { - lives_widget_set_sensitive(prefsw->spinbutton_gmoni,FALSE); - lives_widget_set_sensitive(prefsw->spinbutton_pmoni,FALSE); + if (nmons <= 1) { + lives_widget_set_sensitive(prefsw->spinbutton_gmoni, FALSE); + lives_widget_set_sensitive(prefsw->spinbutton_pmoni, FALSE); } lives_signal_connect(LIVES_GUI_OBJECT(prefsw->forcesmon), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(on_forcesmon_toggled), NULL); - hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_gui), hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->ce_thumbs = lives_standard_check_button_new(_("Show clip thumbnails during playback"),TRUE, - LIVES_BOX(hbox),NULL); + prefsw->ce_thumbs = lives_standard_check_button_new(_("Show clip thumbnails during playback"), TRUE, + LIVES_BOX(hbox), NULL); - lives_widget_set_sensitive(prefsw->ce_thumbs, prefs->play_monitor!=prefs->gui_monitor&& - prefs->play_monitor!=0&&!prefs->force_single_monitor&& - capable->nmonitors>0); + lives_widget_set_sensitive(prefsw->ce_thumbs, prefs->play_monitor != prefs->gui_monitor && + prefs->play_monitor != 0 && !prefs->force_single_monitor && + capable->nmonitors > 0); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->ce_thumbs), prefs->ce_thumb_mode); - pmoni_gmoni_changed(NULL,NULL); + pmoni_gmoni_changed(NULL, NULL); icon = lives_build_filename(prefs->prefix_dir, ICON_DIR, "pref_gui.png", NULL); pixbuf_gui = lives_pixbuf_new_from_file(icon, NULL); @@ -2729,151 +2641,123 @@ prefsw->vbox_right_multitrack = lives_vbox_new(FALSE, 0); lives_container_set_border_width(LIVES_CONTAINER(prefsw->vbox_right_multitrack), widget_opts.border_width); - prefsw->scrollw_right_multitrack = lives_standard_scrolled_window_new(0,0,prefsw->vbox_right_multitrack); + prefsw->scrollw_right_multitrack = lives_standard_scrolled_window_new(0, 0, prefsw->vbox_right_multitrack); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_multitrack), hbox, FALSE, FALSE, widget_opts.packing_height); label = lives_standard_label_new(_("When entering Multitrack mode:")); lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, FALSE, widget_opts.packing_width); - // --- + add_fill_to_box(LIVES_BOX(hbox)); - // --- + hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_multitrack), hbox, FALSE, FALSE, widget_opts.packing_height); - // --- - prefsw->mt_enter_prompt = lives_standard_radio_button_new(_("_Prompt me for width, height, fps and audio settings"),TRUE, - mt_enter_prompt,LIVES_BOX(hbox),NULL); + prefsw->mt_enter_prompt = lives_standard_radio_button_new(_("_Prompt me for width, height, fps and audio settings"), TRUE, + mt_enter_prompt, LIVES_BOX(hbox), NULL); mt_enter_prompt = lives_radio_button_get_group(LIVES_RADIO_BUTTON(prefsw->mt_enter_prompt)); - - // --- - mt_enter_defs = lives_standard_radio_button_new(_("_Always use the following values:"),TRUE, - mt_enter_prompt,LIVES_BOX(hbox),NULL); + mt_enter_defs = lives_standard_radio_button_new(_("_Always use the following values:"), TRUE, + mt_enter_prompt, LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(mt_enter_defs), !prefs->mt_enter_prompt); - hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_multitrack), hbox, FALSE, FALSE, 0); - prefsw->checkbutton_render_prompt = lives_standard_check_button_new(_("Use these same _values for rendering a new clip"),TRUE, - LIVES_BOX(hbox),NULL); + prefsw->checkbutton_render_prompt = lives_standard_check_button_new(_("Use these same _values for rendering a new clip"), TRUE, + LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_render_prompt), !prefs->render_prompt); - - - - frame=add_video_options(&prefsw->spinbutton_mt_def_width,prefs->mt_def_width,&prefsw->spinbutton_mt_def_height, - prefs->mt_def_height,&prefsw->spinbutton_mt_def_fps,prefs->mt_def_fps,FALSE); - + frame = add_video_options(&prefsw->spinbutton_mt_def_width, prefs->mt_def_width, &prefsw->spinbutton_mt_def_height, + prefs->mt_def_height, &prefsw->spinbutton_mt_def_fps, prefs->mt_def_fps, FALSE); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_multitrack), frame, FALSE, FALSE, widget_opts.packing_height); + hbox = add_audio_options(&prefsw->backaudio_checkbutton, &prefsw->pertrack_checkbutton); - - hbox=add_audio_options(&prefsw->backaudio_checkbutton,&prefsw->pertrack_checkbutton); - - - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->backaudio_checkbutton), prefs->mt_backaudio>0); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->backaudio_checkbutton), prefs->mt_backaudio > 0); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->pertrack_checkbutton), prefs->mt_pertrack_audio); - // must be done after creating check buttons - resaudw=create_resaudw(4, NULL, prefsw->vbox_right_multitrack); - // --- - + resaudw = create_resaudw(4, NULL, prefsw->vbox_right_multitrack); // must be done after resaudw lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_multitrack), hbox, FALSE, FALSE, widget_opts.packing_height); - lives_widget_set_sensitive(prefsw->backaudio_checkbutton, lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->aud_checkbutton))); lives_widget_set_sensitive(prefsw->pertrack_checkbutton, lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->aud_checkbutton))); - // --- add_hsep_to_box(LIVES_BOX(prefsw->vbox_right_multitrack)); - // --- + hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_multitrack), hbox, FALSE, FALSE, widget_opts.packing_height); - // --- - prefsw->spinbutton_mt_undo_buf = lives_standard_spin_button_new(_(" _Undo buffer size (MB) "),TRUE, - prefs->mt_undo_buf, 0., LIVES_MAXSIZE/(1024.*1024.), 1., 1., 0, - LIVES_BOX(hbox),NULL); - + prefsw->spinbutton_mt_undo_buf = lives_standard_spin_button_new(_(" _Undo buffer size (MB) "), TRUE, + prefs->mt_undo_buf, 0., LIVES_MAXSIZE / (1024.*1024.), 1., 1., 0, + LIVES_BOX(hbox), NULL); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_multitrack), hbox, FALSE, FALSE, widget_opts.packing_height); - // --- - prefsw->checkbutton_mt_exit_render = lives_standard_check_button_new(_("_Exit multitrack mode after rendering"),TRUE,LIVES_BOX(hbox),NULL); + prefsw->checkbutton_mt_exit_render = lives_standard_check_button_new(_("_Exit multitrack mode after rendering"), TRUE, LIVES_BOX(hbox), + NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_mt_exit_render), prefs->mt_exit_render); - // --- hbox2 = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_multitrack), hbox2, FALSE, FALSE, widget_opts.packing_height); - // --- + label = lives_standard_label_new(_("Auto backup layouts")); lives_box_pack_start(LIVES_BOX(hbox2), label, FALSE, TRUE, 0); - // --- hbox = lives_hbox_new(FALSE, 0); - prefsw->mt_autoback_every = lives_standard_radio_button_new(_("_Every"),TRUE,autoback_group,LIVES_BOX(hbox),NULL); + prefsw->mt_autoback_every = lives_standard_radio_button_new(_("_Every"), TRUE, autoback_group, LIVES_BOX(hbox), NULL); autoback_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(prefsw->mt_autoback_every)); lives_box_pack_start(LIVES_BOX(hbox2), hbox, TRUE, TRUE, 0); - // --- - hbox = lives_hbox_new(FALSE, 0); - widget_opts.swap_label=TRUE; - prefsw->spinbutton_mt_ab_time = lives_standard_spin_button_new(_("seconds"),FALSE,120.,10.,1800.,1.,10.,0,LIVES_BOX(hbox),NULL); - widget_opts.swap_label=FALSE; + widget_opts.swap_label = TRUE; + prefsw->spinbutton_mt_ab_time = lives_standard_spin_button_new(_("seconds"), FALSE, 120., 10., 1800., 1., 10., 0, LIVES_BOX(hbox), NULL); + widget_opts.swap_label = FALSE; lives_box_pack_start(LIVES_BOX(hbox2), hbox, TRUE, TRUE, 0); add_fill_to_box(LIVES_BOX(hbox2)); - // --- hbox = lives_hbox_new(FALSE, 0); - prefsw->mt_autoback_always = lives_standard_radio_button_new(_("After every _change"),TRUE,autoback_group,LIVES_BOX(hbox),NULL); + prefsw->mt_autoback_always = lives_standard_radio_button_new(_("After every _change"), TRUE, autoback_group, LIVES_BOX(hbox), NULL); autoback_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(prefsw->mt_autoback_always)); lives_box_pack_start(LIVES_BOX(hbox2), hbox, TRUE, TRUE, 0); - // --- hbox = lives_hbox_new(FALSE, 0); - prefsw->mt_autoback_never = lives_standard_radio_button_new(_("_Never"),TRUE,autoback_group,LIVES_BOX(hbox),NULL); + prefsw->mt_autoback_never = lives_standard_radio_button_new(_("_Never"), TRUE, autoback_group, LIVES_BOX(hbox), NULL); autoback_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(prefsw->mt_autoback_never)); lives_box_pack_start(LIVES_BOX(hbox2), hbox, TRUE, TRUE, 0); - - // --- lives_signal_connect(LIVES_GUI_OBJECT(prefsw->mt_autoback_every), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(on_mtbackevery_toggled), prefsw); - if (prefs->mt_auto_back==0) { - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->mt_autoback_always),TRUE); - } else if (prefs->mt_auto_back==-1) { - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->mt_autoback_never),TRUE); + if (prefs->mt_auto_back == 0) { + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->mt_autoback_always), TRUE); + } else if (prefs->mt_auto_back == -1) { + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->mt_autoback_never), TRUE); } else { - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->mt_autoback_every),TRUE); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(prefsw->spinbutton_mt_ab_time),prefs->mt_auto_back); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->mt_autoback_every), TRUE); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(prefsw->spinbutton_mt_ab_time), prefs->mt_auto_back); } - hbox2 = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_multitrack), hbox2, FALSE, FALSE, widget_opts.packing_height); - prefsw->spinbutton_max_disp_vtracks=lives_standard_spin_button_new(_("Maximum number of visible tracks"), FALSE, prefs->max_disp_vtracks, - 5., 15., - 1., 1., 0, LIVES_BOX(hbox2),NULL); + prefsw->spinbutton_max_disp_vtracks = lives_standard_spin_button_new(_("Maximum number of visible tracks"), FALSE, prefs->max_disp_vtracks, + 5., 15., + 1., 1., 0, LIVES_BOX(hbox2), NULL); - // --- icon = lives_build_filename(prefs->prefix_dir, ICON_DIR, "pref_multitrack.png", NULL); pixbuf_multitrack = lives_pixbuf_new_from_file(icon, NULL); lives_free(icon); @@ -2881,155 +2765,126 @@ prefs_add_to_list(prefsw->prefs_list, pixbuf_multitrack, _("Multitrack/Render"), LIST_ENTRY_MULTITRACK); lives_container_add(LIVES_CONTAINER(dialog_table), prefsw->scrollw_right_multitrack); - // ---------------, // decoding | // ---------------' prefsw->vbox_right_decoding = lives_vbox_new(FALSE, 0); - lives_container_set_border_width(LIVES_CONTAINER(prefsw->vbox_right_decoding), widget_opts.border_width*2); + lives_container_set_border_width(LIVES_CONTAINER(prefsw->vbox_right_decoding), widget_opts.border_width * 2); - prefsw->scrollw_right_decoding = lives_standard_scrolled_window_new(0,0,prefsw->vbox_right_decoding); + prefsw->scrollw_right_decoding = lives_standard_scrolled_window_new(0, 0, prefsw->vbox_right_decoding); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_decoding), hbox, FALSE, FALSE, widget_opts.packing_height); - // --- - - prefsw->checkbutton_instant_open = lives_standard_check_button_new((tmp=lives_strdup(_("Use instant opening when possible"))),FALSE, + prefsw->checkbutton_instant_open = lives_standard_check_button_new((tmp = lives_strdup(_("Use instant opening when possible"))), FALSE, LIVES_BOX(hbox), - (tmp2=lives_strdup(_("Enable instant opening of some file types using decoder plugins")))); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_instant_open),prefs->instant_open); + (tmp2 = lives_strdup(_("Enable instant opening of some file types using decoder plugins")))); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_instant_open), prefs->instant_open); lives_free(tmp); lives_free(tmp2); // advanced instant opening - advbutton = lives_button_new_from_stock(LIVES_STOCK_PREFERENCES,_("_Advanced")); - lives_box_pack_start(LIVES_BOX(hbox), advbutton, FALSE, FALSE, widget_opts.packing_width*4); + advbutton = lives_button_new_from_stock(LIVES_STOCK_PREFERENCES, _("_Advanced")); + lives_box_pack_start(LIVES_BOX(hbox), advbutton, FALSE, FALSE, widget_opts.packing_width * 4); lives_signal_connect(LIVES_GUI_OBJECT(advbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_decplug_advanced_clicked), NULL); - lives_widget_set_sensitive(advbutton,prefs->instant_open); + lives_widget_set_sensitive(advbutton, prefs->instant_open); lives_signal_connect(LIVES_GUI_OBJECT(prefsw->checkbutton_instant_open), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(instopen_toggled), advbutton); - hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_decoding), hbox, FALSE, FALSE, widget_opts.packing_height); - // --- - prefsw->video_open_entry = lives_standard_entry_new(_("Video open command (fallback)"),FALSE, - prefs->video_open_command,-1,PATH_MAX*2, - LIVES_BOX(hbox),NULL); - + prefsw->video_open_entry = lives_standard_entry_new(_("Video open command (fallback)"), FALSE, + prefs->video_open_command, -1, PATH_MAX * 2, + LIVES_BOX(hbox), NULL); - // --- hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_decoding), hbox, FALSE, FALSE, widget_opts.packing_height); - // --- label = lives_standard_label_new(_("Fallback image format")); lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, FALSE, widget_opts.packing_width); - // --- - prefsw->jpeg = lives_standard_radio_button_new(_("_jpeg"),TRUE,jpeg_png,LIVES_BOX(hbox),NULL); + + prefsw->jpeg = lives_standard_radio_button_new(_("_jpeg"), TRUE, jpeg_png, LIVES_BOX(hbox), NULL); jpeg_png = lives_radio_button_get_group(LIVES_RADIO_BUTTON(prefsw->jpeg)); - png = lives_standard_radio_button_new(_("_png"),TRUE,jpeg_png,LIVES_BOX(hbox),NULL); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(png),!strcmp(prefs->image_ext,LIVES_FILE_EXT_PNG)); + png = lives_standard_radio_button_new(_("_png"), TRUE, jpeg_png, LIVES_BOX(hbox), NULL); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(png), !strcmp(prefs->image_ext, LIVES_FILE_EXT_PNG)); - // --- hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_decoding), hbox, FALSE, FALSE, widget_opts.packing_height*2); - // --- + lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_decoding), hbox, FALSE, FALSE, widget_opts.packing_height * 2); + label = lives_standard_label_new(_("(Check Help/Troubleshoot to see which image formats are supported)")); lives_box_pack_start(LIVES_BOX(hbox), label, TRUE, TRUE, 0); + if (prefs->ocp == -1) prefs->ocp = get_int_pref(PREF_OPEN_COMPRESSION_PERCENT); - - - - - if (prefs->ocp==-1) prefs->ocp=get_int_pref(PREF_OPEN_COMPRESSION_PERCENT); - - // --- hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_decoding), hbox, FALSE, FALSE, widget_opts.packing_height); - // --- prefsw->spinbutton_ocp = lives_standard_spin_button_new(_("Open/render compression"), FALSE, prefs->ocp, 0., 100., 1., 5., 0, - LIVES_BOX(hbox),NULL); + LIVES_BOX(hbox), NULL); label = lives_standard_label_new(_(" % ( lower = slower, larger files; for jpeg, higher quality )")); - lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, FALSE, widget_opts.packing_width>>1); + lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, FALSE, widget_opts.packing_width >> 1); - // --- add_hsep_to_box(LIVES_BOX(prefsw->vbox_right_decoding)); - // --- - // --- hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_decoding), hbox, FALSE, FALSE, widget_opts.packing_height); - // --- - prefsw->checkbutton_auto_deint = lives_standard_check_button_new((tmp=lives_strdup(_("Enable automatic deinterlacing when possible"))), + prefsw->checkbutton_auto_deint = lives_standard_check_button_new((tmp = lives_strdup(_("Enable automatic deinterlacing when possible"))), FALSE, LIVES_BOX(hbox), - (tmp2=lives_strdup(_("Automatically deinterlace frames when a plugin suggests it")))); + (tmp2 = lives_strdup(_("Automatically deinterlace frames when a plugin suggests it")))); lives_free(tmp); lives_free(tmp2); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_auto_deint),prefs->auto_deint); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_auto_deint), prefs->auto_deint); - - // --- hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_decoding), hbox, FALSE, FALSE, widget_opts.packing_height); - // --- - prefsw->checkbutton_auto_trim = lives_standard_check_button_new((tmp=lives_strdup( - _("Automatic trimming / padding of audio when possible"))),FALSE, + prefsw->checkbutton_auto_trim = lives_standard_check_button_new((tmp = lives_strdup( + _("Automatic trimming / padding of audio when possible"))), FALSE, LIVES_BOX(hbox), - (tmp2=lives_strdup(_("Automatically trim or pad audio when a plugin suggests it")))); + (tmp2 = lives_strdup(_("Automatically trim or pad audio when a plugin suggests it")))); lives_free(tmp); lives_free(tmp2); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_auto_trim),prefs->auto_trim_audio); - + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_auto_trim), prefs->auto_trim_audio); - // --- hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_decoding), hbox, FALSE, FALSE, widget_opts.packing_height); - // --- - prefsw->checkbutton_nobord = lives_standard_check_button_new((tmp=lives_strdup(_("Ignore blank borders when possible"))),FALSE, + prefsw->checkbutton_nobord = lives_standard_check_button_new((tmp = lives_strdup(_("Ignore blank borders when possible"))), FALSE, LIVES_BOX(hbox), - (tmp2=lives_strdup(_("Clip any blank borders from frames where possible")))); + (tmp2 = lives_strdup(_("Clip any blank borders from frames where possible")))); lives_free(tmp); lives_free(tmp2); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_nobord),prefs->auto_nobord); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_nobord), prefs->auto_nobord); - // --- add_hsep_to_box(LIVES_BOX(prefsw->vbox_right_decoding)); - // --- + hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_decoding), hbox, FALSE, FALSE, widget_opts.packing_height); prefsw->checkbutton_concat_images = lives_standard_check_button_new(_("When opening multiple files, concatenate images into one clip"), - FALSE,LIVES_BOX(hbox),NULL); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_concat_images),prefs->concat_images); + FALSE, LIVES_BOX(hbox), NULL); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_concat_images), prefs->concat_images); - // --- icon = lives_build_filename(prefs->prefix_dir, ICON_DIR, "pref_decoding.png", NULL); pixbuf_decoding = lives_pixbuf_new_from_file(icon, NULL); lives_free(icon); - prefs_add_to_list(prefsw->prefs_list, pixbuf_decoding, _("Decoding"), LIST_ENTRY_DECODING); lives_container_add(LIVES_CONTAINER(dialog_table), prefsw->scrollw_right_decoding); @@ -3039,30 +2894,30 @@ // ---------------' prefsw->vbox_right_playback = lives_vbox_new(FALSE, widget_opts.packing_height); - lives_container_set_border_width(LIVES_CONTAINER(prefsw->vbox_right_playback), widget_opts.border_width*2); + lives_container_set_border_width(LIVES_CONTAINER(prefsw->vbox_right_playback), widget_opts.border_width * 2); - prefsw->scrollw_right_playback = lives_standard_scrolled_window_new(0,0,prefsw->vbox_right_playback); + prefsw->scrollw_right_playback = lives_standard_scrolled_window_new(0, 0, prefsw->vbox_right_playback); - frame = lives_standard_frame_new(_("VIDEO"),0.,FALSE); + frame = lives_standard_frame_new(_("VIDEO"), 0., FALSE); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_playback), frame, FALSE, FALSE, widget_opts.packing_height); - vbox=lives_vbox_new(FALSE, 0); + vbox = lives_vbox_new(FALSE, 0); lives_container_add(LIVES_CONTAINER(frame), vbox); lives_container_set_border_width(LIVES_CONTAINER(vbox), widget_opts.border_width); - prefsw->pbq_list=NULL; + prefsw->pbq_list = NULL; // TRANSLATORS: video quality, max len 50 - prefsw->pbq_list=lives_list_append(prefsw->pbq_list,lives_strdup(_("Low - can improve performance on slower machines"))); + prefsw->pbq_list = lives_list_append(prefsw->pbq_list, lives_strdup(_("Low - can improve performance on slower machines"))); // TRANSLATORS: video quality, max len 50 - prefsw->pbq_list=lives_list_append(prefsw->pbq_list,lives_strdup(_("Normal - recommended for most users"))); + prefsw->pbq_list = lives_list_append(prefsw->pbq_list, lives_strdup(_("Normal - recommended for most users"))); // TRANSLATORS: video quality, max len 50 - prefsw->pbq_list=lives_list_append(prefsw->pbq_list,lives_strdup(_("High - can improve quality on very fast machines"))); + prefsw->pbq_list = lives_list_append(prefsw->pbq_list, lives_strdup(_("High - can improve quality on very fast machines"))); - widget_opts.expand=LIVES_EXPAND_EXTRA; - prefsw->pbq_combo = lives_standard_combo_new((tmp=lives_strdup(_("Preview _quality"))),TRUE,prefsw->pbq_list,LIVES_BOX(vbox), - (tmp2=lives_strdup(_("The preview quality for video playback - affects resizing")))); - widget_opts.expand=LIVES_EXPAND_DEFAULT; + widget_opts.expand = LIVES_EXPAND_EXTRA; + prefsw->pbq_combo = lives_standard_combo_new((tmp = lives_strdup(_("Preview _quality"))), TRUE, prefsw->pbq_list, LIVES_BOX(vbox), + (tmp2 = lives_strdup(_("The preview quality for video playback - affects resizing")))); + widget_opts.expand = LIVES_EXPAND_DEFAULT; lives_free(tmp); lives_free(tmp2); @@ -3075,34 +2930,28 @@ lives_combo_set_active_index(LIVES_COMBO(prefsw->pbq_combo), 1); } - // --- + prefsw->checkbutton_show_stats = lives_standard_check_button_new(_("_Show FPS statistics"), TRUE, LIVES_BOX(vbox), NULL); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_show_stats), prefs->show_player_stats); - prefsw->checkbutton_show_stats = lives_standard_check_button_new(_("_Show FPS statistics"),TRUE,LIVES_BOX(vbox),NULL); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_show_stats),prefs->show_player_stats); - - // --- add_hsep_to_box(LIVES_BOX(vbox)); - // --- hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - // --- vid_playback_plugins = get_plugin_list(PLUGIN_VID_PLAYBACK, TRUE, NULL, "-"DLL_NAME); vid_playback_plugins = lives_list_prepend(vid_playback_plugins, lives_strdup(mainw->string_constants[LIVES_STRING_CONSTANT_NONE])); - widget_opts.expand=LIVES_EXPAND_EXTRA; - pp_combo = lives_standard_combo_new(_("_Plugin"),TRUE,vid_playback_plugins,LIVES_BOX(hbox),NULL); - widget_opts.expand=LIVES_EXPAND_DEFAULT; + widget_opts.expand = LIVES_EXPAND_EXTRA; + pp_combo = lives_standard_combo_new(_("_Plugin"), TRUE, vid_playback_plugins, LIVES_BOX(hbox), NULL); + widget_opts.expand = LIVES_EXPAND_DEFAULT; - advbutton = lives_button_new_from_stock(LIVES_STOCK_PREFERENCES,_("_Advanced")); + advbutton = lives_button_new_from_stock(LIVES_STOCK_PREFERENCES, _("_Advanced")); lives_box_pack_start(LIVES_BOX(hbox), advbutton, FALSE, FALSE, 40); lives_signal_connect(LIVES_GUI_OBJECT(advbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_vpp_advanced_clicked), NULL); - if (mainw->vpp != NULL) { lives_combo_set_active_string(LIVES_COMBO(pp_combo), mainw->vpp->name); } else { @@ -3115,45 +2964,40 @@ (livespointer) advbutton); prefsw->checkbutton_stream_audio = - lives_standard_check_button_new((tmp=lives_strdup(_("Stream audio"))), - TRUE,LIVES_BOX(vbox), - (tmp2=lives_strdup - (_("Stream audio to playback plugin")))); + lives_standard_check_button_new((tmp = lives_strdup(_("Stream audio"))), + TRUE, LIVES_BOX(vbox), + (tmp2 = lives_strdup + (_("Stream audio to playback plugin")))); lives_free(tmp); lives_free(tmp2); - - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_stream_audio),prefs->stream_audio_out); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_stream_audio), prefs->stream_audio_out); prefsw_set_astream_settings(mainw->vpp); lives_signal_connect(LIVES_GUI_OBJECT(prefsw->checkbutton_stream_audio), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(stream_audio_toggled), NULL); - - prefsw->checkbutton_rec_after_pb = - lives_standard_check_button_new((tmp=lives_strdup(_("Record player output"))), - TRUE,LIVES_BOX(vbox), - (tmp2=lives_strdup - (_("Record output from player instead of input to player")))); + lives_standard_check_button_new((tmp = lives_strdup(_("Record player output"))), + TRUE, LIVES_BOX(vbox), + (tmp2 = lives_strdup + (_("Record output from player instead of input to player")))); lives_free(tmp); lives_free(tmp2); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_rec_after_pb),(prefs->rec_opts&REC_AFTER_PB)); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_rec_after_pb), (prefs->rec_opts & REC_AFTER_PB)); prefsw_set_rec_after_settings(mainw->vpp); - - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(frame, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); lives_widget_set_fg_color(frame, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); } - //- - frame = lives_standard_frame_new(_("AUDIO"),0.,FALSE); + frame = lives_standard_frame_new(_("AUDIO"), 0., FALSE); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_playback), frame, TRUE, TRUE, 0); @@ -3161,21 +3005,21 @@ lives_container_add(LIVES_CONTAINER(frame), vbox); #ifdef HAVE_PULSE_AUDIO - audp = lives_list_append(audp, lives_strdup_printf("%s (%s)",AUDIO_PLAYER_PULSE_AUDIO, + audp = lives_list_append(audp, lives_strdup_printf("%s (%s)", AUDIO_PLAYER_PULSE_AUDIO, mainw->string_constants[LIVES_STRING_CONSTANT_RECOMMENDED])); - has_ap_rec=TRUE; + has_ap_rec = TRUE; #endif #ifdef ENABLE_JACK - if (!has_ap_rec) audp = lives_list_append(audp, lives_strdup_printf("%s (%s)",AUDIO_PLAYER_JACK, + if (!has_ap_rec) audp = lives_list_append(audp, lives_strdup_printf("%s (%s)", AUDIO_PLAYER_JACK, mainw->string_constants[LIVES_STRING_CONSTANT_RECOMMENDED])); else audp = lives_list_append(audp, lives_strdup_printf(AUDIO_PLAYER_JACK)); - has_ap_rec=TRUE; + has_ap_rec = TRUE; #endif if (capable->has_sox_play) { if (has_ap_rec) audp = lives_list_append(audp, lives_strdup(AUDIO_PLAYER_SOX)); - else audp = lives_list_append(audp, lives_strdup_printf("%s (%s)",AUDIO_PLAYER_SOX, + else audp = lives_list_append(audp, lives_strdup_printf("%s (%s)", AUDIO_PLAYER_SOX, mainw->string_constants[LIVES_STRING_CONSTANT_RECOMMENDED])); } @@ -3187,106 +3031,103 @@ audp = lives_list_append(audp, lives_strdup(AUDIO_PLAYER_MPLAYER2)); } - widget_opts.expand=LIVES_EXPAND_EXTRA; - prefsw->audp_combo = lives_standard_combo_new(_("_Player"),TRUE,audp,LIVES_BOX(vbox),NULL); - widget_opts.expand=LIVES_EXPAND_DEFAULT; + widget_opts.expand = LIVES_EXPAND_EXTRA; + prefsw->audp_combo = lives_standard_combo_new(_("_Player"), TRUE, audp, LIVES_BOX(vbox), NULL); + widget_opts.expand = LIVES_EXPAND_DEFAULT; - has_ap_rec=FALSE; + has_ap_rec = FALSE; - prefsw->jack_int_label=lives_standard_label_new(_("(See also the Jack Integration tab for jack startup options)")); + prefsw->jack_int_label = lives_standard_label_new(_("(See also the Jack Integration tab for jack startup options)")); lives_box_pack_start(LIVES_BOX(vbox), prefsw->jack_int_label, FALSE, FALSE, widget_opts.packing_height); - prefsw->audp_name=NULL; + prefsw->audp_name = NULL; #ifdef HAVE_PULSE_AUDIO - if (prefs->audio_player==AUD_PLAYER_PULSE) { - prefsw->audp_name=lives_strdup_printf("%s (%s)",AUDIO_PLAYER_PULSE_AUDIO,mainw->string_constants[LIVES_STRING_CONSTANT_RECOMMENDED]); + if (prefs->audio_player == AUD_PLAYER_PULSE) { + prefsw->audp_name = lives_strdup_printf("%s (%s)", AUDIO_PLAYER_PULSE_AUDIO, mainw->string_constants[LIVES_STRING_CONSTANT_RECOMMENDED]); } - has_ap_rec=TRUE; + has_ap_rec = TRUE; #endif #ifdef ENABLE_JACK - if (prefs->audio_player==AUD_PLAYER_JACK) { + if (prefs->audio_player == AUD_PLAYER_JACK) { if (!has_ap_rec) - prefsw->audp_name=lives_strdup_printf("%s (%s)",AUDIO_PLAYER_JACK,mainw->string_constants[LIVES_STRING_CONSTANT_RECOMMENDED]); - else prefsw->audp_name=lives_strdup_printf(AUDIO_PLAYER_JACK); + prefsw->audp_name = lives_strdup_printf("%s (%s)", AUDIO_PLAYER_JACK, mainw->string_constants[LIVES_STRING_CONSTANT_RECOMMENDED]); + else prefsw->audp_name = lives_strdup_printf(AUDIO_PLAYER_JACK); } - has_ap_rec=TRUE; + has_ap_rec = TRUE; #endif - if (prefs->audio_player==AUD_PLAYER_SOX) { - if (!has_ap_rec) prefsw->audp_name=lives_strdup_printf("%s (%s)",AUDIO_PLAYER_SOX, - mainw->string_constants[LIVES_STRING_CONSTANT_RECOMMENDED]); - else prefsw->audp_name=lives_strdup_printf(AUDIO_PLAYER_SOX); + if (prefs->audio_player == AUD_PLAYER_SOX) { + if (!has_ap_rec) prefsw->audp_name = lives_strdup_printf("%s (%s)", AUDIO_PLAYER_SOX, + mainw->string_constants[LIVES_STRING_CONSTANT_RECOMMENDED]); + else prefsw->audp_name = lives_strdup_printf(AUDIO_PLAYER_SOX); } - if (prefs->audio_player==AUD_PLAYER_MPLAYER) { - prefsw->audp_name=lives_strdup(_(AUDIO_PLAYER_MPLAYER)); + if (prefs->audio_player == AUD_PLAYER_MPLAYER) { + prefsw->audp_name = lives_strdup(_(AUDIO_PLAYER_MPLAYER)); } - // --- - if (prefsw->audp_name!=NULL) - lives_combo_set_active_string(LIVES_COMBO(prefsw->audp_combo), prefsw->audp_name); - prefsw->orig_audp_name=lives_strdup(prefsw->audp_name); + if (prefsw->audp_name != NULL) + lives_combo_set_active_string(LIVES_COMBO(prefsw->audp_combo), prefsw->audp_name); + prefsw->orig_audp_name = lives_strdup(prefsw->audp_name); //--- - if (prefs->audio_player==AUD_PLAYER_MPLAYER2) { - prefsw->audp_name=lives_strdup(_(AUDIO_PLAYER_MPLAYER2)); + if (prefs->audio_player == AUD_PLAYER_MPLAYER2) { + prefsw->audp_name = lives_strdup(_(AUDIO_PLAYER_MPLAYER2)); } - // --- - prefsw->audio_command_entry = lives_standard_entry_new(_("Audio play _command"),TRUE,"",-1,PATH_MAX*2,LIVES_BOX(vbox),NULL); + prefsw->audio_command_entry = lives_standard_entry_new(_("Audio play _command"), TRUE, "", -1, PATH_MAX * 2, LIVES_BOX(vbox), NULL); // get from prefs if (!is_realtime_aplayer(prefs->audio_player)) - lives_entry_set_text(LIVES_ENTRY(prefsw->audio_command_entry),prefs->audio_play_command); + lives_entry_set_text(LIVES_ENTRY(prefsw->audio_command_entry), prefs->audio_play_command); else { - lives_entry_set_text(LIVES_ENTRY(prefsw->audio_command_entry),(_("- internal -"))); - lives_widget_set_sensitive(prefsw->audio_command_entry,FALSE); + lives_entry_set_text(LIVES_ENTRY(prefsw->audio_command_entry), (_("- internal -"))); + lives_widget_set_sensitive(prefsw->audio_command_entry, FALSE); } - hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - // --- - prefsw->checkbutton_afollow = lives_standard_check_button_new(_("Audio follows video _rate/direction"),TRUE,LIVES_BOX(hbox),NULL); + prefsw->checkbutton_afollow = lives_standard_check_button_new(_("Audio follows video _rate/direction"), TRUE, LIVES_BOX(hbox), NULL); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_afollow),(prefs->audio_opts&AUDIO_OPTS_FOLLOW_FPS)?TRUE:FALSE); - lives_widget_set_sensitive(prefsw->checkbutton_afollow,is_realtime_aplayer(prefs->audio_player)); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_afollow), + (prefs->audio_opts & AUDIO_OPTS_FOLLOW_FPS) ? TRUE : FALSE); + lives_widget_set_sensitive(prefsw->checkbutton_afollow, is_realtime_aplayer(prefs->audio_player)); add_fill_to_box(LIVES_BOX(hbox)); - // --- - prefsw->checkbutton_aclips = lives_standard_check_button_new(_("Audio follows _clip switches"),TRUE,LIVES_BOX(hbox),NULL); + prefsw->checkbutton_aclips = lives_standard_check_button_new(_("Audio follows _clip switches"), TRUE, LIVES_BOX(hbox), NULL); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_aclips),(prefs->audio_opts&AUDIO_OPTS_FOLLOW_CLIPS)?TRUE:FALSE); - lives_widget_set_sensitive(prefsw->checkbutton_aclips,is_realtime_aplayer(prefs->audio_player)); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_aclips), + (prefs->audio_opts & AUDIO_OPTS_FOLLOW_CLIPS) ? TRUE : FALSE); + lives_widget_set_sensitive(prefsw->checkbutton_aclips, is_realtime_aplayer(prefs->audio_player)); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - label=lives_standard_label_new(_("Source:")); - lives_box_pack_start(LIVES_BOX(hbox),label,FALSE,FALSE,widget_opts.packing_width); + label = lives_standard_label_new(_("Source:")); + lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, FALSE, widget_opts.packing_width); add_fill_to_box(LIVES_BOX(hbox)); - prefsw->rintaudio=lives_standard_radio_button_new(_("_Internal"),TRUE,asrc_group,LIVES_BOX(hbox),NULL); + prefsw->rintaudio = lives_standard_radio_button_new(_("_Internal"), TRUE, asrc_group, LIVES_BOX(hbox), NULL); - asrc_group=lives_radio_button_get_group(LIVES_RADIO_BUTTON(prefsw->rintaudio)); + asrc_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(prefsw->rintaudio)); add_fill_to_box(LIVES_BOX(hbox)); prefsw->rextaudio = lives_standard_radio_button_new(_("_External (requires jack or pulse audio player)"), - TRUE,asrc_group,LIVES_BOX(hbox),NULL); + TRUE, asrc_group, LIVES_BOX(hbox), NULL); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->rextaudio),prefs->audio_src==AUDIO_SRC_EXT); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->rextaudio), prefs->audio_src == AUDIO_SRC_EXT); add_fill_to_box(LIVES_BOX(hbox)); - if (mainw->playing_file>0&&mainw->record) { - lives_widget_set_sensitive(prefsw->rextaudio,FALSE); + if (mainw->playing_file > 0 && mainw->record) { + lives_widget_set_sensitive(prefsw->rextaudio, FALSE); } if (!is_realtime_aplayer(prefs->audio_player)) { - lives_widget_set_sensitive(prefsw->rextaudio,FALSE); + lives_widget_set_sensitive(prefsw->rextaudio, FALSE); } lives_signal_connect(LIVES_GUI_OBJECT(prefsw->rextaudio), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(toggle_set_insensitive), @@ -3294,9 +3135,6 @@ lives_signal_connect(LIVES_GUI_OBJECT(prefsw->rextaudio), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(toggle_set_insensitive), prefsw->checkbutton_afollow); - - - icon = lives_build_filename(prefs->prefix_dir, ICON_DIR, "pref_playback.png", NULL); pixbuf_playback = lives_pixbuf_new_from_file(icon, NULL); lives_free(icon); @@ -3304,129 +3142,110 @@ prefs_add_to_list(prefsw->prefs_list, pixbuf_playback, _("Playback"), LIST_ENTRY_PLAYBACK); lives_container_add(LIVES_CONTAINER(dialog_table), prefsw->scrollw_right_playback); - lives_widget_hide(prefsw->jack_int_label); #ifdef ENABLE_JACK - if (prefs->audio_player==AUD_PLAYER_JACK) { + if (prefs->audio_player == AUD_PLAYER_JACK) { lives_widget_show(prefsw->jack_int_label); } #endif - // ---------------, // recording | // ---------------' prefsw->vbox_right_recording = lives_vbox_new(FALSE, 0); - lives_container_set_border_width(LIVES_CONTAINER(prefsw->vbox_right_recording), widget_opts.border_width*2); + lives_container_set_border_width(LIVES_CONTAINER(prefsw->vbox_right_recording), widget_opts.border_width * 2); - prefsw->scrollw_right_recording = lives_standard_scrolled_window_new(0,0,prefsw->vbox_right_recording); + prefsw->scrollw_right_recording = lives_standard_scrolled_window_new(0, 0, prefsw->vbox_right_recording); hbox = lives_hbox_new(FALSE, 0); prefsw->rdesk_audio = lives_standard_check_button_new(_("Record audio when capturing an e_xternal window\n (requires jack or pulse audio)"), - TRUE,LIVES_BOX(hbox),NULL); - + TRUE, LIVES_BOX(hbox), NULL); #ifndef RT_AUDIO - lives_widget_set_sensitive(prefsw->rdesk_audio,FALSE); + lives_widget_set_sensitive(prefsw->rdesk_audio, FALSE); #endif lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_recording), hbox, FALSE, FALSE, widget_opts.packing_height); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->rdesk_audio),prefs->rec_desktop_audio); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->rdesk_audio), prefs->rec_desktop_audio); - // --- add_hsep_to_box(LIVES_BOX(prefsw->vbox_right_recording)); - // --- label = lives_standard_label_new(_(" What to record when 'r' is pressed ")); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_recording), label, FALSE, FALSE, widget_opts.packing_height); - // --- hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_recording), hbox, FALSE, FALSE, widget_opts.packing_height); - // --- - prefsw->rframes = lives_standard_check_button_new(_("_Frame changes"),TRUE,LIVES_BOX(hbox),NULL); + prefsw->rframes = lives_standard_check_button_new(_("_Frame changes"), TRUE, LIVES_BOX(hbox), NULL); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->rframes),prefs->rec_opts&REC_FRAMES); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->rframes), prefs->rec_opts & REC_FRAMES); - // --- - if (prefs->rec_opts&REC_FPS||prefs->rec_opts&REC_CLIPS) { - lives_widget_set_sensitive(prefsw->rframes,FALSE); // we must record these if recording fps changes or clip switches + if (prefs->rec_opts & REC_FPS || prefs->rec_opts & REC_CLIPS) { + lives_widget_set_sensitive(prefsw->rframes, FALSE); // we must record these if recording fps changes or clip switches } - if (mainw->playing_file>0&&mainw->record) { - lives_widget_set_sensitive(prefsw->rframes,FALSE); + if (mainw->playing_file > 0 && mainw->record) { + lives_widget_set_sensitive(prefsw->rframes, FALSE); } add_fill_to_box(LIVES_BOX(hbox)); - // --- - prefsw->rfps = lives_standard_check_button_new(_("F_PS changes"),TRUE,LIVES_BOX(hbox),NULL); + prefsw->rfps = lives_standard_check_button_new(_("F_PS changes"), TRUE, LIVES_BOX(hbox), NULL); - // --- - if (prefs->rec_opts&REC_CLIPS) { - lives_widget_set_sensitive(prefsw->rfps,FALSE); // we must record these if recording clip switches + if (prefs->rec_opts & REC_CLIPS) { + lives_widget_set_sensitive(prefsw->rfps, FALSE); // we must record these if recording clip switches } - if (mainw->playing_file>0&&mainw->record) { - lives_widget_set_sensitive(prefsw->rfps,FALSE); + if (mainw->playing_file > 0 && mainw->record) { + lives_widget_set_sensitive(prefsw->rfps, FALSE); } - // --- - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->rfps),prefs->rec_opts&REC_FPS); - // --- + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->rfps), prefs->rec_opts & REC_FPS); + hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_recording), hbox, FALSE, FALSE, widget_opts.packing_height); - // --- - prefsw->reffects = lives_standard_check_button_new(_("_Real time effects"),TRUE,LIVES_BOX(hbox),NULL); + prefsw->reffects = lives_standard_check_button_new(_("_Real time effects"), TRUE, LIVES_BOX(hbox), NULL); - if (mainw->playing_file>0&&mainw->record) { - lives_widget_set_sensitive(prefsw->reffects,FALSE); + if (mainw->playing_file > 0 && mainw->record) { + lives_widget_set_sensitive(prefsw->reffects, FALSE); } add_fill_to_box(LIVES_BOX(hbox)); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->reffects),prefs->rec_opts&REC_EFFECTS); - // --- + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->reffects), prefs->rec_opts & REC_EFFECTS); - prefsw->rclips = lives_standard_check_button_new(_("_Clip switches"),TRUE,LIVES_BOX(hbox),NULL); + prefsw->rclips = lives_standard_check_button_new(_("_Clip switches"), TRUE, LIVES_BOX(hbox), NULL); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->rclips),prefs->rec_opts&REC_CLIPS); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->rclips), prefs->rec_opts & REC_CLIPS); - if (mainw->playing_file>0&&mainw->record) { - lives_widget_set_sensitive(prefsw->rclips,FALSE); + if (mainw->playing_file > 0 && mainw->record) { + lives_widget_set_sensitive(prefsw->rclips, FALSE); } - - // --- - prefsw->raudio = lives_standard_check_button_new(_("_Audio (requires jack or pulse audio player)"), - TRUE,LIVES_BOX(prefsw->vbox_right_recording),NULL); + TRUE, LIVES_BOX(prefsw->vbox_right_recording), NULL); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->raudio),prefs->rec_opts&REC_AUDIO); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->raudio), prefs->rec_opts & REC_AUDIO); - if (mainw->playing_file>0&&mainw->record) { - lives_widget_set_sensitive(prefsw->raudio,FALSE); + if (mainw->playing_file > 0 && mainw->record) { + lives_widget_set_sensitive(prefsw->raudio, FALSE); } if (!is_realtime_aplayer(prefs->audio_player)) { - lives_widget_set_sensitive(prefsw->raudio,FALSE); + lives_widget_set_sensitive(prefsw->raudio, FALSE); } - // --- add_hsep_to_box(LIVES_BOX(prefsw->vbox_right_recording)); - // --- - hbox = lives_hbox_new(FALSE,0); - lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_recording), hbox, FALSE, FALSE, widget_opts.packing_height*4); + hbox = lives_hbox_new(FALSE, 0); + lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_recording), hbox, FALSE, FALSE, widget_opts.packing_height * 4); - prefsw->spinbutton_rec_gb = lives_standard_spin_button_new(_("Pause recording if free disk space falls below"),FALSE, + prefsw->spinbutton_rec_gb = lives_standard_spin_button_new(_("Pause recording if free disk space falls below"), FALSE, prefs->rec_stop_gb, 0., 1024., 1., 10., 0, - LIVES_BOX(hbox),NULL); - + LIVES_BOX(hbox), NULL); // TRANSLATORS: gigabytes label = lives_standard_label_new(_("GB")); @@ -3443,10 +3262,10 @@ // encoding | // ---------------' - prefsw->vbox_right_encoding = lives_vbox_new(FALSE, widget_opts.packing_height*4); + prefsw->vbox_right_encoding = lives_vbox_new(FALSE, widget_opts.packing_height * 4); lives_container_set_border_width(LIVES_CONTAINER(prefsw->vbox_right_encoding), widget_opts.border_width); - prefsw->scrollw_right_encoding = lives_standard_scrolled_window_new(0,0,prefsw->vbox_right_encoding); + prefsw->scrollw_right_encoding = lives_standard_scrolled_window_new(0, 0, prefsw->vbox_right_encoding); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_encoding), hbox, FALSE, FALSE, widget_opts.packing_height); @@ -3454,21 +3273,20 @@ label = lives_standard_label_new(_("You can also change these values when encoding a clip")); lives_box_pack_start(LIVES_BOX(hbox), label, TRUE, TRUE, 0); - // --- + add_fill_to_box(LIVES_BOX(hbox)); if (capable->has_encoder_plugins) { // scan for encoder plugins - encoders=get_plugin_list(PLUGIN_ENCODERS,TRUE,NULL,NULL); + encoders = get_plugin_list(PLUGIN_ENCODERS, TRUE, NULL, NULL); } - widget_opts.expand=LIVES_EXPAND_EXTRA; - prefsw->encoder_combo = lives_standard_combo_new(_("Encoder"),FALSE,encoders, - LIVES_BOX(prefsw->vbox_right_encoding),NULL); - widget_opts.expand=LIVES_EXPAND_DEFAULT; + widget_opts.expand = LIVES_EXPAND_EXTRA; + prefsw->encoder_combo = lives_standard_combo_new(_("Encoder"), FALSE, encoders, + LIVES_BOX(prefsw->vbox_right_encoding), NULL); + widget_opts.expand = LIVES_EXPAND_DEFAULT; - - if (encoders!=NULL) { + if (encoders != NULL) { lives_combo_set_active_string(LIVES_COMBO(prefsw->encoder_combo), prefs->encoder.name); lives_list_free_all(&encoders); } @@ -3477,44 +3295,43 @@ if (capable->has_encoder_plugins) { // reqest formats from the encoder plugin - if ((ofmt_all=plugin_request_by_line(PLUGIN_ENCODERS,prefs->encoder.name,"get_formats"))!=NULL) { - for (i=0; i<lives_list_length(ofmt_all); i++) { - if (get_token_count((char *)lives_list_nth_data(ofmt_all,i),'|')>2) { - array=lives_strsplit((char *)lives_list_nth_data(ofmt_all,i),"|",-1); - if (!strcmp(array[0],prefs->encoder.of_name)) { - prefs->encoder.of_allowed_acodecs=atoi(array[2]); - lives_snprintf(prefs->encoder.of_restrict,1024,"%s",array[3]); + if ((ofmt_all = plugin_request_by_line(PLUGIN_ENCODERS, prefs->encoder.name, "get_formats")) != NULL) { + for (i = 0; i < lives_list_length(ofmt_all); i++) { + if (get_token_count((char *)lives_list_nth_data(ofmt_all, i), '|') > 2) { + array = lives_strsplit((char *)lives_list_nth_data(ofmt_all, i), "|", -1); + if (!strcmp(array[0], prefs->encoder.of_name)) { + prefs->encoder.of_allowed_acodecs = atoi(array[2]); + lives_snprintf(prefs->encoder.of_restrict, 1024, "%s", array[3]); } ofmt = lives_list_append(ofmt, lives_strdup(array[1])); lives_strfreev(array); } } - lives_memcpy(&future_prefs->encoder,&prefs->encoder,sizeof(_encoder)); + lives_memcpy(&future_prefs->encoder, &prefs->encoder, sizeof(_encoder)); } else { do_plugin_encoder_error(prefs->encoder.name); - future_prefs->encoder.of_allowed_acodecs=0; + future_prefs->encoder.of_allowed_acodecs = 0; } + widget_opts.expand = LIVES_EXPAND_EXTRA; + prefsw->ofmt_combo = lives_standard_combo_new(_("Output format"), FALSE, ofmt, LIVES_BOX(prefsw->vbox_right_encoding), NULL); + widget_opts.expand = LIVES_EXPAND_DEFAULT; - widget_opts.expand=LIVES_EXPAND_EXTRA; - prefsw->ofmt_combo = lives_standard_combo_new(_("Output format"),FALSE,ofmt,LIVES_BOX(prefsw->vbox_right_encoding),NULL); - widget_opts.expand=LIVES_EXPAND_DEFAULT; - - if (ofmt!=NULL) { + if (ofmt != NULL) { lives_combo_set_active_string(LIVES_COMBO(prefsw->ofmt_combo), prefs->encoder.of_desc); lives_list_free_all(&ofmt); } lives_list_free_all(&ofmt_all); - widget_opts.expand=LIVES_EXPAND_EXTRA; - prefsw->acodec_combo = lives_standard_combo_new(_("Audio codec"),FALSE,NULL,LIVES_BOX(prefsw->vbox_right_encoding),NULL); - widget_opts.expand=LIVES_EXPAND_DEFAULT; - prefs->acodec_list=NULL; + widget_opts.expand = LIVES_EXPAND_EXTRA; + prefsw->acodec_combo = lives_standard_combo_new(_("Audio codec"), FALSE, NULL, LIVES_BOX(prefsw->vbox_right_encoding), NULL); + widget_opts.expand = LIVES_EXPAND_DEFAULT; + prefs->acodec_list = NULL; set_acodec_list_from_allowed(prefsw, rdet); - } else prefsw->acodec_combo=NULL; + } else prefsw->acodec_combo = NULL; icon = lives_build_filename(prefs->prefix_dir, ICON_DIR, "pref_encoding.png", NULL); pixbuf_encoding = lives_pixbuf_new_from_file(icon, NULL); @@ -3530,73 +3347,68 @@ prefsw->vbox_right_effects = lives_vbox_new(FALSE, 0); lives_container_set_border_width(LIVES_CONTAINER(prefsw->vbox_right_effects), widget_opts.border_width); - prefsw->scrollw_right_effects = lives_standard_scrolled_window_new(0,0,prefsw->vbox_right_effects); + prefsw->scrollw_right_effects = lives_standard_scrolled_window_new(0, 0, prefsw->vbox_right_effects); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_effects), hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->checkbutton_antialias = lives_standard_check_button_new(_("Use _antialiasing when resizing"),TRUE,LIVES_BOX(hbox),NULL); + prefsw->checkbutton_antialias = lives_standard_check_button_new(_("Use _antialiasing when resizing"), TRUE, LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_antialias), prefs->antialias); - // - hbox = lives_hbox_new(FALSE,0); + hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_effects), hbox, FALSE, FALSE, widget_opts.packing_height); prefsw->spinbutton_rte_keys = lives_standard_spin_button_new - ((tmp=lives_strdup(_("Number of _real time effect keys"))),TRUE,prefs->rte_keys_virtual, FX_KEYS_PHYSICAL, + ((tmp = lives_strdup(_("Number of _real time effect keys"))), TRUE, prefs->rte_keys_virtual, FX_KEYS_PHYSICAL, FX_KEYS_MAX_VIRTUAL, 1., 1., 0, LIVES_BOX(hbox), - (tmp2=lives_strdup( - _("The number of \"virtual\" real time effect keys. They can be controlled through the real time effects window, or via network (OSC).")))); + (tmp2 = lives_strdup( + _("The number of \"virtual\" real time effect keys. They can be controlled through the real time effects window, or via network (OSC).")))); lives_free(tmp); lives_free(tmp2); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_effects), hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->checkbutton_threads = lives_standard_check_button_new(_("Use _threads where possible when applying effects"),TRUE,LIVES_BOX(hbox), + prefsw->checkbutton_threads = lives_standard_check_button_new(_("Use _threads where possible when applying effects"), TRUE, LIVES_BOX(hbox), NULL); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_threads), future_prefs->nfx_threads>1); - - // + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_threads), future_prefs->nfx_threads > 1); add_fill_to_box(LIVES_BOX(hbox)); - prefsw->spinbutton_nfx_threads = lives_standard_spin_button_new(_("Number of _threads"),TRUE,future_prefs->nfx_threads, 2., 65536., 1., 1., + prefsw->spinbutton_nfx_threads = lives_standard_spin_button_new(_("Number of _threads"), TRUE, future_prefs->nfx_threads, 2., 65536., 1., + 1., 0, - LIVES_BOX(hbox),NULL); + LIVES_BOX(hbox), NULL); add_fill_to_box(LIVES_BOX(hbox)); - if (future_prefs->nfx_threads==1) lives_widget_set_sensitive(prefsw->spinbutton_nfx_threads,FALSE); + if (future_prefs->nfx_threads == 1) lives_widget_set_sensitive(prefsw->spinbutton_nfx_threads, FALSE); add_hsep_to_box(LIVES_BOX(prefsw->vbox_right_effects)); - hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_effects), hbox, FALSE, FALSE, widget_opts.packing_height); label = lives_standard_label_new(_("Restart is required if any of the following paths are changed:")); lives_box_pack_start(LIVES_BOX(hbox), label, TRUE, TRUE, 0); - // --- - add_fill_to_box(LIVES_BOX(hbox)); - - dph=widget_opts.packing_height; - widget_opts.packing_height*=4; + add_fill_to_box(LIVES_BOX(hbox)); - prefsw->wpp_entry=lives_standard_entry_new(_("Weed plugin path"),TRUE,prefs->weed_plugin_path,-1,PATH_MAX, - LIVES_BOX(prefsw->vbox_right_effects),NULL); + dph = widget_opts.packing_height; + widget_opts.packing_height *= 4; - prefsw->frei0r_entry=lives_standard_entry_new(_("Frei0r plugin path"),TRUE,prefs->frei0r_path,-1,PATH_MAX, - LIVES_BOX(prefsw->vbox_right_effects),NULL); + prefsw->wpp_entry = lives_standard_entry_new(_("Weed plugin path"), TRUE, prefs->weed_plugin_path, -1, PATH_MAX, + LIVES_BOX(prefsw->vbox_right_effects), NULL); - prefsw->ladspa_entry=lives_standard_entry_new(_("LADSPA plugin path"),TRUE,prefs->ladspa_path,-1,PATH_MAX, - LIVES_BOX(prefsw->vbox_right_effects),NULL); + prefsw->frei0r_entry = lives_standard_entry_new(_("Frei0r plugin path"), TRUE, prefs->frei0r_path, -1, PATH_MAX, + LIVES_BOX(prefsw->vbox_right_effects), NULL); - widget_opts.packing_height=dph; + prefsw->ladspa_entry = lives_standard_entry_new(_("LADSPA plugin path"), TRUE, prefs->ladspa_path, -1, PATH_MAX, + LIVES_BOX(prefsw->vbox_right_effects), NULL); + widget_opts.packing_height = dph; icon = lives_build_filename(prefs->prefix_dir, ICON_DIR, "pref_effects.png", NULL); pixbuf_effects = lives_pixbuf_new_from_file(icon, NULL); @@ -3610,11 +3422,11 @@ // -------------------' prefsw->table_right_directories = lives_table_new(10, 3, FALSE); - lives_container_set_border_width(LIVES_CONTAINER(prefsw->table_right_directories), widget_opts.border_width*2); + lives_container_set_border_width(LIVES_CONTAINER(prefsw->table_right_directories), widget_opts.border_width * 2); lives_table_set_col_spacings(LIVES_TABLE(prefsw->table_right_directories), widget_opts.packing_width); - lives_table_set_row_spacings(LIVES_TABLE(prefsw->table_right_directories), widget_opts.packing_height*4); + lives_table_set_row_spacings(LIVES_TABLE(prefsw->table_right_directories), widget_opts.packing_height * 4); - prefsw->scrollw_right_directories = lives_standard_scrolled_window_new(0,0,prefsw->table_right_directories); + prefsw->scrollw_right_directories = lives_standard_scrolled_window_new(0, 0, prefsw->table_right_directories); label = lives_standard_label_new(_(" Video load directory (default) ")); lives_table_attach(LIVES_TABLE(prefsw->table_right_directories), label, 0, 1, 4, 5, @@ -3652,72 +3464,66 @@ (LiVESAttachOptions)(0), 0, 0); lives_label_set_halignment(LIVES_LABEL(label), 0.); - prefsw->vid_load_dir_entry = lives_entry_new(); - lives_entry_set_max_length(LIVES_ENTRY(prefsw->vid_load_dir_entry),PATH_MAX); + lives_entry_set_max_length(LIVES_ENTRY(prefsw->vid_load_dir_entry), PATH_MAX); lives_table_attach(LIVES_TABLE(prefsw->table_right_directories), prefsw->vid_load_dir_entry, 1, 2, 4, 5, (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL), (LiVESAttachOptions)(0), 0, 0); lives_widget_set_tooltip_text(prefsw->vid_load_dir_entry, _("The default directory for loading video clips from")); - - // workdir warning label - - widget_opts.justify=LIVES_JUSTIFY_CENTER; + widget_opts.justify = LIVES_JUSTIFY_CENTER; label = lives_standard_label_new(""); - widget_opts.justify=LIVES_JUSTIFY_DEFAULT; + widget_opts.justify = LIVES_JUSTIFY_DEFAULT; set_workdir_label_text(LIVES_LABEL(label)); lives_table_attach(LIVES_TABLE(prefsw->table_right_directories), label, 0, 3, 0, 2, (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL), (LiVESAttachOptions)(0), 0, 0); lives_label_set_halignment(LIVES_LABEL(label), 0.65); - prefsw->workdir_label=label; - + prefsw->workdir_label = label; // get from prefs - lives_entry_set_text(LIVES_ENTRY(prefsw->vid_load_dir_entry),prefs->def_vid_load_dir); - + lives_entry_set_text(LIVES_ENTRY(prefsw->vid_load_dir_entry), prefs->def_vid_load_dir); - - prefsw->vid_save_dir_entry = lives_standard_entry_new(NULL,FALSE,prefs->def_vid_save_dir,-1,PATH_MAX, - NULL,_("The default directory for saving encoded clips to")); + prefsw->vid_save_dir_entry = lives_standard_entry_new(NULL, FALSE, prefs->def_vid_save_dir, -1, PATH_MAX, + NULL, _("The default directory for saving encoded clips to")); lives_table_attach(LIVES_TABLE(prefsw->table_right_directories), prefsw->vid_save_dir_entry, 1, 2, 5, 6, (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL), (LiVESAttachOptions)(0), 0, 0); - lives_entry_set_editable(LIVES_ENTRY(prefsw->vid_save_dir_entry),FALSE); + lives_entry_set_editable(LIVES_ENTRY(prefsw->vid_save_dir_entry), FALSE); - prefsw->audio_dir_entry = lives_standard_entry_new(NULL,FALSE,prefs->def_audio_dir,-1,PATH_MAX, - NULL,_("The default directory for loading and saving audio")); + prefsw->audio_dir_entry = lives_standard_entry_new(NULL, FALSE, prefs->def_audio_dir, -1, PATH_MAX, + NULL, _("The default directory for loading and saving audio")); lives_table_attach(LIVES_TABLE(prefsw->table_right_directories), prefsw->audio_dir_entry, 1, 2, 6, 7, (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL), (LiVESAttachOptions)(0), 0, 0); - lives_entry_set_editable(LIVES_ENTRY(prefsw->audio_dir_entry),FALSE); + lives_entry_set_editable(LIVES_ENTRY(prefsw->audio_dir_entry), FALSE); - prefsw->image_dir_entry = lives_standard_entry_new(NULL,FALSE,prefs->def_image_dir,-1,PATH_MAX, - NULL,_("The default directory for saving frameshots to")); + prefsw->image_dir_entry = lives_standard_entry_new(NULL, FALSE, prefs->def_image_dir, -1, PATH_MAX, + NULL, _("The default directory for saving frameshots to")); lives_table_attach(LIVES_TABLE(prefsw->table_right_directories), prefsw->image_dir_entry, 1, 2, 7, 8, (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL), (LiVESAttachOptions)(0), 0, 0); - lives_entry_set_editable(LIVES_ENTRY(prefsw->image_dir_entry),FALSE); + lives_entry_set_editable(LIVES_ENTRY(prefsw->image_dir_entry), FALSE); - prefsw->proj_dir_entry = lives_standard_entry_new(NULL,FALSE,prefs->def_proj_dir,-1,PATH_MAX, - NULL,_("The default directory for backing up/restoring single clips")); + prefsw->proj_dir_entry = lives_standard_entry_new(NULL, FALSE, prefs->def_proj_dir, -1, PATH_MAX, + NULL, _("The default directory for backing up/restoring single clips")); lives_table_attach(LIVES_TABLE(prefsw->table_right_directories), prefsw->proj_dir_entry, 1, 2, 8, 9, (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL), (LiVESAttachOptions)(0), 0, 0); - lives_entry_set_editable(LIVES_ENTRY(prefsw->proj_dir_entry),FALSE); + lives_entry_set_editable(LIVES_ENTRY(prefsw->proj_dir_entry), FALSE); - prefsw->workdir_entry = lives_standard_entry_new(NULL,FALSE,(tmp=lives_filename_to_utf8(future_prefs->workdir,-1,NULL,NULL,NULL)),-1, + prefsw->workdir_entry = lives_standard_entry_new(NULL, FALSE, (tmp = lives_filename_to_utf8(future_prefs->workdir, -1, NULL, NULL, NULL)), + -1, PATH_MAX, - NULL,(tmp2=lives_strdup(_("LiVES working directory.")))); + NULL, (tmp2 = lives_strdup(_("LiVES working directory.")))); lives_table_attach(LIVES_TABLE(prefsw->table_right_directories), prefsw->workdir_entry, 1, 2, 3, 4, (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL), @@ -3726,60 +3532,55 @@ lives_free(tmp); lives_free(tmp2); - lives_entry_set_editable(LIVES_ENTRY(prefsw->workdir_entry),FALSE); + lives_entry_set_editable(LIVES_ENTRY(prefsw->workdir_entry), FALSE); - dirbutton = lives_standard_file_button_new(TRUE,NULL); + dirbutton = lives_standard_file_button_new(TRUE, NULL); lives_table_attach(LIVES_TABLE(prefsw->table_right_directories), dirbutton, 2, 3, 4, 5, (LiVESAttachOptions)(0), (LiVESAttachOptions)(0), 0, 0); - lives_signal_connect(dirbutton, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_filesel_button_clicked),prefsw->vid_load_dir_entry); - + lives_signal_connect(dirbutton, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_filesel_button_clicked), prefsw->vid_load_dir_entry); - dirbutton = lives_standard_file_button_new(TRUE,NULL); + dirbutton = lives_standard_file_button_new(TRUE, NULL); lives_table_attach(LIVES_TABLE(prefsw->table_right_directories), dirbutton, 2, 3, 5, 6, (LiVESAttachOptions)(0), (LiVESAttachOptions)(0), 0, 0); - lives_signal_connect(dirbutton, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_filesel_button_clicked),prefsw->vid_save_dir_entry); + lives_signal_connect(dirbutton, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_filesel_button_clicked), prefsw->vid_save_dir_entry); - - dirbutton = lives_standard_file_button_new(TRUE,NULL); + dirbutton = lives_standard_file_button_new(TRUE, NULL); lives_table_attach(LIVES_TABLE(prefsw->table_right_directories), dirbutton, 2, 3, 6, 7, (LiVESAttachOptions)(0), (LiVESAttachOptions)(0), 0, 0); - lives_signal_connect(dirbutton, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_filesel_button_clicked),prefsw->audio_dir_entry); - + lives_signal_connect(dirbutton, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_filesel_button_clicked), prefsw->audio_dir_entry); - dirbutton = lives_standard_file_button_new(TRUE,NULL); + dirbutton = lives_standard_file_button_new(TRUE, NULL); lives_table_attach(LIVES_TABLE(prefsw->table_right_directories), dirbutton, 2, 3, 7, 8, (LiVESAttachOptions)(0), (LiVESAttachOptions)(0), 0, 0); - lives_signal_connect(dirbutton, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_filesel_button_clicked),prefsw->image_dir_entry); - + lives_signal_connect(dirbutton, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_filesel_button_clicked), prefsw->image_dir_entry); - dirbutton = lives_standard_file_button_new(TRUE,NULL); + dirbutton = lives_standard_file_button_new(TRUE, NULL); lives_table_attach(LIVES_TABLE(prefsw->table_right_directories), dirbutton, 2, 3, 8, 9, (LiVESAttachOptions)(0), (LiVESAttachOptions)(0), 0, 0); - lives_signal_connect(dirbutton, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_filesel_button_clicked),prefsw->proj_dir_entry); + lives_signal_connect(dirbutton, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_filesel_button_clicked), prefsw->proj_dir_entry); - - dirbutton = lives_standard_file_button_new(TRUE,NULL); + dirbutton = lives_standard_file_button_new(TRUE, NULL); lives_table_attach(LIVES_TABLE(prefsw->table_right_directories), dirbutton, 2, 3, 3, 4, (LiVESAttachOptions)(0), (LiVESAttachOptions)(0), 0, 0); - lives_signal_connect(dirbutton, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_filesel_complex_clicked),prefsw->workdir_entry); + lives_signal_connect(dirbutton, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_filesel_complex_clicked), prefsw->workdir_entry); icon = lives_build_filename(prefs->prefix_dir, ICON_DIR, "pref_directory.png", NULL); pixbuf_directories = lives_pixbuf_new_from_file(icon, NULL); @@ -3794,329 +3595,277 @@ prefsw->vbox_right_warnings = lives_vbox_new(FALSE, 0); - prefsw->scrollw_right_warnings = lives_standard_scrolled_window_new(0,0,prefsw->vbox_right_warnings); + prefsw->scrollw_right_warnings = lives_standard_scrolled_window_new(0, 0, prefsw->vbox_right_warnings); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height); - // --- - prefsw->spinbutton_warn_ds = lives_standard_spin_button_new(_("Warn if diskspace falls below: "),FALSE, - (double)prefs->ds_warn_level/1000000., - (double)prefs->ds_crit_level/1000000., + prefsw->spinbutton_warn_ds = lives_standard_spin_button_new(_("Warn if diskspace falls below: "), FALSE, + (double)prefs->ds_warn_level / 1000000., + (double)prefs->ds_crit_level / 1000000., DS_WARN_CRIT_MAX, 1., 10., 0, - LIVES_BOX(hbox),NULL); + LIVES_BOX(hbox), NULL); label = lives_standard_label_new(_(" MB [set to 0 to disable]")); - lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, FALSE, widget_opts.packing_width>>1); - - // --- + lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, FALSE, widget_opts.packing_width >> 1); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height); - // --- - prefsw->spinbutton_crit_ds = lives_standard_spin_button_new(_("Diskspace critical level: "),FALSE, - (double)prefs->ds_crit_level/1000000., 0., + prefsw->spinbutton_crit_ds = lives_standard_spin_button_new(_("Diskspace critical level: "), FALSE, + (double)prefs->ds_crit_level / 1000000., 0., DS_WARN_CRIT_MAX, 1., 10., 0, - LIVES_BOX(hbox),NULL); + LIVES_BOX(hbox), NULL); label = lives_standard_label_new(_(" MB [set to 0 to disable]")); - lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, FALSE, widget_opts.packing_width>>1); - - - // --- + lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, FALSE, widget_opts.packing_width >> 1); add_hsep_to_box(LIVES_BOX(prefsw->vbox_right_warnings)); - - hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height>>1); + lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height >> 1); prefsw->checkbutton_warn_fps = lives_standard_check_button_new( _("Warn on Insert / Merge if _frame rate of clipboard does not match frame rate of selection"), - TRUE,LIVES_BOX(hbox),NULL); + TRUE, LIVES_BOX(hbox), NULL); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_fps), !(prefs->warning_mask&WARN_MASK_FPS)); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_fps), !(prefs->warning_mask & WARN_MASK_FPS)); - // --- hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height>>1); + lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height >> 1); - // --- - prefsw->checkbutton_warn_fsize = lives_standard_check_button_new(_("Warn on Open if file _size exceeds "),TRUE,LIVES_BOX(hbox),NULL); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_fsize), !(prefs->warning_mask&WARN_MASK_FSIZE)); + prefsw->checkbutton_warn_fsize = lives_standard_check_button_new(_("Warn on Open if file _size exceeds "), TRUE, LIVES_BOX(hbox), NULL); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_fsize), !(prefs->warning_mask & WARN_MASK_FSIZE)); - prefsw->spinbutton_warn_fsize = lives_standard_spin_button_new(NULL,FALSE, + prefsw->spinbutton_warn_fsize = lives_standard_spin_button_new(NULL, FALSE, prefs->warn_file_size, 1., 2048., 1., 10., 0, - LIVES_BOX(hbox),NULL); - + LIVES_BOX(hbox), NULL); label = lives_standard_label_new(_(" MB")); - lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, FALSE, widget_opts.packing_width>>1); + lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, FALSE, widget_opts.packing_width >> 1); - // --- hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height>>1); + lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height >> 1); prefsw->checkbutton_warn_save_set = lives_standard_check_button_new(_("Show a warning before saving a se_t"), - TRUE,LIVES_BOX(hbox),NULL); + TRUE, LIVES_BOX(hbox), NULL); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_save_set), !(prefs->warning_mask&WARN_MASK_SAVE_SET)); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_save_set), !(prefs->warning_mask & WARN_MASK_SAVE_SET)); - // --- hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height>>1); + lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height >> 1); prefsw->checkbutton_warn_mplayer = lives_standard_check_button_new (_("Show a warning if _mplayer/mplayer2, sox, composite or convert is not found when LiVES is started."), - TRUE,LIVES_BOX(hbox),NULL); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_mplayer), !(prefs->warning_mask&WARN_MASK_NO_MPLAYER)); - + TRUE, LIVES_BOX(hbox), NULL); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_mplayer), !(prefs->warning_mask & WARN_MASK_NO_MPLAYER)); - // --- hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height>>1); + lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height >> 1); prefsw->checkbutton_warn_rendered_fx = lives_standard_check_button_new (_("Show a warning if no _rendered effects are found at startup."), - TRUE,LIVES_BOX(hbox),NULL); - - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_rendered_fx), !(prefs->warning_mask&WARN_MASK_RENDERED_FX)); + TRUE, LIVES_BOX(hbox), NULL); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_rendered_fx), !(prefs->warning_mask & WARN_MASK_RENDERED_FX)); - // --- hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height>>1); - + lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height >> 1); prefsw->checkbutton_warn_encoders = lives_standard_check_button_new (_("Show a warning if no _encoder plugins are found at startup."), - TRUE,LIVES_BOX(hbox),NULL); + TRUE, LIVES_BOX(hbox), NULL); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_encoders), !(prefs->warning_mask&WARN_MASK_NO_ENCODERS)); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_encoders), !(prefs->warning_mask & WARN_MASK_NO_ENCODERS)); - // --- hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height>>1); + lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height >> 1); prefsw->checkbutton_warn_dup_set = lives_standard_check_button_new (_("Show a warning if a _duplicate set name is entered."), - TRUE,LIVES_BOX(hbox),NULL); + TRUE, LIVES_BOX(hbox), NULL); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_dup_set), !(prefs->warning_mask&WARN_MASK_DUPLICATE_SET)); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_dup_set), !(prefs->warning_mask & WARN_MASK_DUPLICATE_SET)); - // --- hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height>>1); - + lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height >> 1); prefsw->checkbutton_warn_layout_clips = lives_standard_check_button_new (_("When a set is loaded, warn if clips are missing from _layouts."), - TRUE,LIVES_BOX(hbox),NULL); + TRUE, LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_clips), - !(prefs->warning_mask&WARN_MASK_LAYOUT_MISSING_CLIPS)); + !(prefs->warning_mask & WARN_MASK_LAYOUT_MISSING_CLIPS)); - // --- hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height>>1); + lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height >> 1); prefsw->checkbutton_warn_layout_close = lives_standard_check_button_new (_("Warn if a clip used in a layout is about to be closed."), - TRUE,LIVES_BOX(hbox),NULL); + TRUE, LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_close), - !(prefs->warning_mask&WARN_MASK_LAYOUT_CLOSE_FILE)); + !(prefs->warning_mask & WARN_MASK_LAYOUT_CLOSE_FILE)); - // --- hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height>>1); + lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height >> 1); prefsw->checkbutton_warn_layout_delete = lives_standard_check_button_new (_("Warn if frames used in a layout are about to be deleted."), - TRUE,LIVES_BOX(hbox),NULL); + TRUE, LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_delete), - !(prefs->warning_mask&WARN_MASK_LAYOUT_DELETE_FRAMES)); + !(prefs->warning_mask & WARN_MASK_LAYOUT_DELETE_FRAMES)); - // --- hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height>>1); + lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height >> 1); prefsw->checkbutton_warn_layout_shift = lives_standard_check_button_new (_("Warn if frames used in a layout are about to be shifted."), - TRUE,LIVES_BOX(hbox),NULL); + TRUE, LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_shift), - !(prefs->warning_mask&WARN_MASK_LAYOUT_SHIFT_FRAMES)); + !(prefs->warning_mask & WARN_MASK_LAYOUT_SHIFT_FRAMES)); - // --- hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height>>1); + lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height >> 1); prefsw->checkbutton_warn_layout_alter = lives_standard_check_button_new (_("Warn if frames used in a layout are about to be altered."), - TRUE,LIVES_BOX(hbox),NULL); + TRUE, LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_alter), - !(prefs->warning_mask&WARN_MASK_LAYOUT_ALTER_FRAMES)); + !(prefs->warning_mask & WARN_MASK_LAYOUT_ALTER_FRAMES)); - // --- hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height>>1); + lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height >> 1); prefsw->checkbutton_warn_layout_adel = lives_standard_check_button_new (_("Warn if audio used in a layout is about to be deleted."), - TRUE,LIVES_BOX(hbox),NULL); + TRUE, LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_adel), - !(prefs->warning_mask&WARN_MASK_LAYOUT_DELETE_AUDIO)); - - // --- + !(prefs->warning_mask & WARN_MASK_LAYOUT_DELETE_AUDIO)); hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height>>1); + lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height >> 1); prefsw->checkbutton_warn_layout_ashift = lives_standard_check_button_new (_("Warn if audio used in a layout is about to be shifted."), - TRUE,LIVES_BOX(hbox),NULL); + TRUE, LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_ashift), - !(prefs->warning_mask&WARN_MASK_LAYOUT_SHIFT_AUDIO)); + !(prefs->warning_mask & WARN_MASK_LAYOUT_SHIFT_AUDIO)); - // --- hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height>>1); + lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height >> 1); prefsw->checkbutton_warn_layout_aalt = lives_standard_check_button_new (_("Warn if audio used in a layout is about to be altered."), - TRUE,LIVES_BOX(hbox),NULL); + TRUE, LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_aalt), - !(prefs->warning_mask&WARN_MASK_LAYOUT_ALTER_AUDIO)); + !(prefs->warning_mask & WARN_MASK_LAYOUT_ALTER_AUDIO)); - // --- hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height>>1); + lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height >> 1); prefsw->checkbutton_warn_layout_popup = lives_standard_check_button_new (_("Popup layout errors after clip changes."), - TRUE,LIVES_BOX(hbox),NULL); - - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_popup), !(prefs->warning_mask&WARN_MASK_LAYOUT_POPUP)); + TRUE, LIVES_BOX(hbox), NULL); - // --- + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_popup), !(prefs->warning_mask & WARN_MASK_LAYOUT_POPUP)); hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height>>1); + lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height >> 1); prefsw->checkbutton_warn_discard_layout = lives_standard_check_button_new (_("Warn if the layout has not been saved when leaving multitrack mode."), - TRUE,LIVES_BOX(hbox),NULL); + TRUE, LIVES_BOX(hbox), NULL); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_discard_layout), !(prefs->warning_mask&WARN_MASK_EXIT_MT)); - - // --- + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_discard_layout), !(prefs->warning_mask & WARN_MASK_EXIT_MT)); hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height>>1); + lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height >> 1); prefsw->checkbutton_warn_mt_achans = lives_standard_check_button_new (_("Warn if multitrack has no audio channels, and a layout with audio is loaded."), - TRUE,LIVES_BOX(hbox),NULL); + TRUE, LIVES_BOX(hbox), NULL); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_mt_achans), !(prefs->warning_mask&WARN_MASK_MT_ACHANS)); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_mt_achans), !(prefs->warning_mask & WARN_MASK_MT_ACHANS)); - // --- hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height>>1); + lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height >> 1); prefsw->checkbutton_warn_mt_no_jack = lives_standard_check_button_new (_("Warn if multitrack has audio channels, and your audio player is not \"jack\" or \"pulse audio\"."), - TRUE,LIVES_BOX(hbox),NULL); - - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_mt_no_jack), !(prefs->warning_mask&WARN_MASK_MT_NO_JACK)); + TRUE, LIVES_BOX(hbox), NULL); - // --- + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_mt_no_jack), !(prefs->warning_mask & WARN_MASK_MT_NO_JACK)); #ifdef HAVE_LDVGRAB hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height>>1); + lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height >> 1); prefsw->checkbutton_warn_after_dvgrab = lives_standard_check_button_new (_("Show info message after importing from firewire device."), - TRUE,LIVES_BOX(hbox),NULL); + TRUE, LIVES_BOX(hbox), NULL); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_after_dvgrab), !(prefs->warning_mask&WARN_MASK_AFTER_DVGRAB)); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_after_dvgrab), !(prefs->warning_mask & WARN_MASK_AFTER_DVGRAB)); #else prefsw->checkbutton_warn_after_dvgrab = NULL; #endif - // --- - #ifdef HAVE_YUV4MPEG hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height>>1); + lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height >> 1); prefsw->checkbutton_warn_yuv4m_open = lives_standard_check_button_new (_("Show a warning before opening a yuv4mpeg stream (advanced)."), - TRUE,LIVES_BOX(hbox),NULL); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_yuv4m_open), !(prefs->warning_mask&WARN_MASK_OPEN_YUV4M)); + TRUE, LIVES_BOX(hbox), NULL); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_yuv4m_open), !(prefs->warning_mask & WARN_MASK_OPEN_YUV4M)); #else prefsw->checkbutton_warn_yuv4m_open = NULL; #endif - - // --- hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height>>1); + lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height >> 1); prefsw->checkbutton_warn_mt_backup_space = lives_standard_check_button_new (_("Show a warning when multitrack is low on backup space."), - TRUE,LIVES_BOX(hbox),NULL); + TRUE, LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_mt_backup_space), - !(prefs->warning_mask&WARN_MASK_MT_BACKUP_SPACE)); - - // --- + !(prefs->warning_mask & WARN_MASK_MT_BACKUP_SPACE)); hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height>>1); + lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height >> 1); prefsw->checkbutton_warn_after_crash = lives_standard_check_button_new (_("Show a warning advising cleaning of disk space after a crash."), - TRUE,LIVES_BOX(hbox),NULL); + TRUE, LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_after_crash), - !(prefs->warning_mask&WARN_MASK_CLEAN_AFTER_CRASH)); - - // --- + !(prefs->warning_mask & WARN_MASK_CLEAN_AFTER_CRASH)); hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height>>1); + lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height >> 1); prefsw->checkbutton_warn_no_pulse = lives_standard_check_button_new (_("Show a warning if unable to connect to pulseaudio player."), - TRUE,LIVES_BOX(hbox),NULL); - - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_no_pulse), !(prefs->warning_mask&WARN_MASK_NO_PULSE_CONNECT)); - - // --- + TRUE, LIVES_BOX(hbox), NULL); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_no_pulse), !(prefs->warning_mask & WARN_MASK_NO_PULSE_CONNECT)); hbox = lives_hbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height>>1); + lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_warnings), hbox, FALSE, FALSE, widget_opts.packing_height >> 1); prefsw->checkbutton_warn_layout_wipe = lives_standard_check_button_new (_("Show a warning before wiping a layout which has unsaved changes."), - TRUE,LIVES_BOX(hbox),NULL); - - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_wipe), !(prefs->warning_mask&WARN_MASK_LAYOUT_WIPE)); - - // --- + TRUE, LIVES_BOX(hbox), NULL); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_warn_layout_wipe), !(prefs->warning_mask & WARN_MASK_LAYOUT_WIPE)); icon = lives_build_filename(prefs->prefix_dir, ICON_DIR, "pref_warning.png", NULL); pixbuf_warnings = lives_pixbuf_new_from_file(icon, NULL); @@ -4125,75 +3874,65 @@ prefs_add_to_list(prefsw->prefs_list, pixbuf_warnings, _("Warnings"), LIST_ENTRY_WARNINGS); lives_container_add(LIVES_CONTAINER(dialog_table), prefsw->scrollw_right_warnings); - // -----------, // Misc | // -----------' - prefsw->vbox_right_misc = lives_vbox_new(FALSE, widget_opts.packing_height*4); - lives_container_set_border_width(LIVES_CONTAINER(prefsw->vbox_right_misc), widget_opts.border_width*2); + prefsw->vbox_right_misc = lives_vbox_new(FALSE, widget_opts.packing_height * 4); + lives_container_set_border_width(LIVES_CONTAINER(prefsw->vbox_right_misc), widget_opts.border_width * 2); - prefsw->scrollw_right_misc = lives_standard_scrolled_window_new(0,0,prefsw->vbox_right_misc); + prefsw->scrollw_right_misc = lives_standard_scrolled_window_new(0, 0, prefsw->vbox_right_misc); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_misc), hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->check_midi = lives_standard_check_button_new (_("Midi synch (requires the files midistart and midistop)"), - TRUE,LIVES_BOX(hbox),NULL); + TRUE, LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->check_midi), prefs->midisynch); - lives_widget_set_sensitive(prefsw->check_midi,capable->has_midistartstop); - - + lives_widget_set_sensitive(prefsw->check_midi, capable->has_midistartstop); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_misc), hbox, FALSE, FALSE, widget_opts.packing_height); label = lives_standard_label_new(_("When inserting/merging frames: ")); - lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, FALSE, widget_opts.packing_width*2); + lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, FALSE, widget_opts.packing_width * 2); - prefsw->ins_speed = lives_standard_radio_button_new(_("_Speed Up/Slow Down Insertion"),TRUE,rb_group2,LIVES_BOX(hbox),NULL); + prefsw->ins_speed = lives_standard_radio_button_new(_("_Speed Up/Slow Down Insertion"), TRUE, rb_group2, LIVES_BOX(hbox), NULL); rb_group2 = lives_radio_button_get_group(LIVES_RADIO_BUTTON(prefsw->ins_speed)); - // --- - ins_resample = lives_standard_radio_button_new(_("_Resample Insertion"),TRUE,rb_group2,LIVES_BOX(hbox),NULL); - - // --- + ins_resample = lives_standard_radio_button_new(_("_Resample Insertion"), TRUE, rb_group2, LIVES_BOX(hbox), NULL); prefsw->cdda_hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_misc), prefsw->cdda_hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->cdplay_entry = lives_standard_entry_new((tmp=lives_strdup(_("CD device "))),FALSE, - (tmp2=lives_filename_to_utf8(prefs->cdplay_device,-1,NULL,NULL,NULL)), - -1,PATH_MAX,LIVES_BOX(prefsw->cdda_hbox), - (tmp3=lives_strdup(_("LiVES can load audio tracks from this CD")))); + prefsw->cdplay_entry = lives_standard_entry_new((tmp = lives_strdup(_("CD device "))), FALSE, + (tmp2 = lives_filename_to_utf8(prefs->cdplay_device, -1, NULL, NULL, NULL)), + -1, PATH_MAX, LIVES_BOX(prefsw->cdda_hbox), + (tmp3 = lives_strdup(_("LiVES can load audio tracks from this CD")))); lives_free(tmp); lives_free(tmp2); lives_free(tmp3); - buttond = lives_standard_file_button_new(FALSE,LIVES_DEVICE_DIR); - lives_box_pack_start(LIVES_BOX(prefsw->cdda_hbox),buttond,FALSE,FALSE,widget_opts.packing_width); + buttond = lives_standard_file_button_new(FALSE, LIVES_DEVICE_DIR); + lives_box_pack_start(LIVES_BOX(prefsw->cdda_hbox), buttond, FALSE, FALSE, widget_opts.packing_width); lives_signal_connect(buttond, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_filesel_button_clicked), (livespointer)prefsw->cdplay_entry); - - hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_misc), hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->spinbutton_def_fps = lives_standard_spin_button_new((tmp=lives_strdup(_("Default FPS "))),TRUE, + prefsw->spinbutton_def_fps = lives_standard_spin_button_new((tmp = lives_strdup(_("Default FPS "))), TRUE, prefs->default_fps, 1., FPS_MAX, 1., 1., 3, LIVES_BOX(hbox), - (tmp2=lives_strdup(_("Frames per second to use when none is specified")))); + (tmp2 = lives_strdup(_("Frames per second to use when none is specified")))); lives_free(tmp); lives_free(tmp2); - icon = lives_strdup_printf("%s%s/pref_misc.png", prefs->prefix_dir, ICON_DIR); pixbuf_misc = lives_pixbuf_new_from_file(icon, NULL); lives_free(icon); @@ -4201,20 +3940,18 @@ prefs_add_to_list(prefsw->prefs_list, pixbuf_misc, _("Misc"), LIST_ENTRY_MISC); lives_container_add(LIVES_CONTAINER(dialog_table), prefsw->scrollw_right_misc); - if (!capable->has_cdda2wav) { lives_widget_hide(prefsw->cdda_hbox); } - // -----------, // Themes | // -----------' prefsw->vbox_right_themes = lives_vbox_new(FALSE, widget_opts.packing_height); - lives_container_set_border_width(LIVES_CONTAINER(prefsw->vbox_right_themes), widget_opts.border_width*2); + lives_container_set_border_width(LIVES_CONTAINER(prefsw->vbox_right_themes), widget_opts.border_width * 2); - prefsw->scrollw_right_themes = lives_standard_scrolled_window_new(0,0,prefsw->vbox_right_themes); + prefsw->scrollw_right_themes = lives_standard_scrolled_window_new(0, 0, prefsw->vbox_right_themes); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_themes), hbox, TRUE, FALSE, widget_opts.packing_height); @@ -4222,42 +3959,40 @@ // scan for themes themes = get_plugin_list(PLUGIN_THEMES_CUSTOM, TRUE, NULL, NULL); - themes = lives_list_concat(themes,get_plugin_list(PLUGIN_THEMES, TRUE, NULL, NULL)); + themes = lives_list_concat(themes, get_plugin_list(PLUGIN_THEMES, TRUE, NULL, NULL)); themes = lives_list_prepend(themes, lives_strdup(mainw->string_constants[LIVES_STRING_CONSTANT_NONE])); - prefsw->theme_combo = lives_standard_combo_new(_("New theme: "),FALSE,themes,LIVES_BOX(hbox),NULL); - + prefsw->theme_combo = lives_standard_combo_new(_("New theme: "), FALSE, themes, LIVES_BOX(hbox), NULL); if (lives_ascii_strcasecmp(future_prefs->theme, "none")) { theme = lives_strdup(future_prefs->theme); } else theme = lives_strdup(mainw->string_constants[LIVES_STRING_CONSTANT_NONE]); - // --- + lives_combo_set_active_string(LIVES_COMBO(prefsw->theme_combo), theme); - //--- + lives_free(theme); lives_list_free_all(&themes); - // - frame = lives_standard_frame_new(_("Main Theme Details"),0.,FALSE); + frame = lives_standard_frame_new(_("Main Theme Details"), 0., FALSE); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_themes), frame, TRUE, TRUE, widget_opts.packing_height); - vbox=lives_vbox_new(FALSE, 0); + vbox = lives_vbox_new(FALSE, 0); lives_container_add(LIVES_CONTAINER(frame), vbox); lives_container_set_border_width(LIVES_CONTAINER(vbox), widget_opts.border_width); - /////////////////// hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - widget_color_to_lives_rgba(&rgba,&palette->normal_fore); - prefsw->cbutton_fore = lives_standard_color_button_new(LIVES_BOX(hbox),_(" _Foreground Color"),TRUE,FALSE,&rgba,&sp_red,&sp_green, - &sp_blue,NULL); - if (!lives_ascii_strcasecmp(future_prefs->theme,mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) { - lives_widget_set_sensitive(prefsw->cbutton_fore,FALSE); - lives_widget_set_sensitive(sp_red,FALSE); - lives_widget_set_sensitive(sp_green,FALSE); - lives_widget_set_sensitive(sp_blue,FALSE); + widget_color_to_lives_rgba(&rgba, &palette->normal_fore); + prefsw->cbutton_fore = lives_standard_color_button_new(LIVES_BOX(hbox), _(" _Foreground Color"), TRUE, FALSE, &rgba, &sp_red, + &sp_green, + &sp_blue, NULL); + if (!lives_ascii_strcasecmp(future_prefs->theme, mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) { + lives_widget_set_sensitive(prefsw->cbutton_fore, FALSE); + lives_widget_set_sensitive(sp_red, FALSE); + lives_widget_set_sensitive(sp_green, FALSE); + lives_widget_set_sensitive(sp_blue, FALSE); } lives_signal_connect(LIVES_GUI_OBJECT(sp_red), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(apply_button_set_enabled), NULL); @@ -4266,17 +4001,17 @@ lives_signal_connect(LIVES_GUI_OBJECT(sp_blue), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(apply_button_set_enabled), NULL); - hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - widget_color_to_lives_rgba(&rgba,&palette->normal_back); - prefsw->cbutton_back = lives_standard_color_button_new(LIVES_BOX(hbox),_(" _Background Color"),TRUE,FALSE,&rgba,&sp_red,&sp_green, - &sp_blue,NULL); - if (!lives_ascii_strcasecmp(future_prefs->theme,mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) { - lives_widget_set_sensitive(prefsw->cbutton_back,FALSE); - lives_widget_set_sensitive(sp_red,FALSE); - lives_widget_set_sensitive(sp_green,FALSE); - lives_widget_set_sensitive(sp_blue,FALSE); + widget_color_to_lives_rgba(&rgba, &palette->normal_back); + prefsw->cbutton_back = lives_standard_color_button_new(LIVES_BOX(hbox), _(" _Background Color"), TRUE, FALSE, &rgba, &sp_red, + &sp_green, + &sp_blue, NULL); + if (!lives_ascii_strcasecmp(future_prefs->theme, mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) { + lives_widget_set_sensitive(prefsw->cbutton_back, FALSE); + lives_widget_set_sensitive(sp_red, FALSE); + lives_widget_set_sensitive(sp_green, FALSE); + lives_widget_set_sensitive(sp_blue, FALSE); } lives_signal_connect(LIVES_GUI_OBJECT(sp_red), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(apply_button_set_enabled), NULL); @@ -4287,14 +4022,14 @@ hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - widget_color_to_lives_rgba(&rgba,&palette->menu_and_bars_fore); - prefsw->cbutton_mabf = lives_standard_color_button_new(LIVES_BOX(hbox),_("_Alt Foreground Color"),TRUE,FALSE,&rgba,&sp_red,&sp_green, - &sp_blue,NULL); - if (!lives_ascii_strcasecmp(future_prefs->theme,mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) { - lives_widget_set_sensitive(prefsw->cbutton_mabf,FALSE); - lives_widget_set_sensitive(sp_red,FALSE); - lives_widget_set_sensitive(sp_green,FALSE); - lives_widget_set_sensitive(sp_blue,FALSE); + widget_color_to_lives_rgba(&rgba, &palette->menu_and_bars_fore); + prefsw->cbutton_mabf = lives_standard_color_button_new(LIVES_BOX(hbox), _("_Alt Foreground Color"), TRUE, FALSE, &rgba, &sp_red, &sp_green, + &sp_blue, NULL); + if (!lives_ascii_strcasecmp(future_prefs->theme, mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) { + lives_widget_set_sensitive(prefsw->cbutton_mabf, FALSE); + lives_widget_set_sensitive(sp_red, FALSE); + lives_widget_set_sensitive(sp_green, FALSE); + lives_widget_set_sensitive(sp_blue, FALSE); } lives_signal_connect(LIVES_GUI_OBJECT(sp_red), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(apply_button_set_enabled), NULL); @@ -4305,14 +4040,14 @@ hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - widget_color_to_lives_rgba(&rgba,&palette->menu_and_bars); - prefsw->cbutton_mab = lives_standard_color_button_new(LIVES_BOX(hbox),_("_Alt Background Color"),TRUE,FALSE,&rgba,&sp_red,&sp_green, - &sp_blue,NULL); - if (!lives_ascii_strcasecmp(future_prefs->theme,mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) { - lives_widget_set_sensitive(prefsw->cbutton_mab,FALSE); - lives_widget_set_sensitive(sp_red,FALSE); - lives_widget_set_sensitive(sp_green,FALSE); - lives_widget_set_sensitive(sp_blue,FALSE); + widget_color_to_lives_rgba(&rgba, &palette->menu_and_bars); + prefsw->cbutton_mab = lives_standard_color_button_new(LIVES_BOX(hbox), _("_Alt Background Color"), TRUE, FALSE, &rgba, &sp_red, &sp_green, + &sp_blue, NULL); + if (!lives_ascii_strcasecmp(future_prefs->theme, mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) { + lives_widget_set_sensitive(prefsw->cbutton_mab, FALSE); + lives_widget_set_sensitive(sp_red, FALSE); + lives_widget_set_sensitive(sp_green, FALSE); + lives_widget_set_sensitive(sp_blue, FALSE); } lives_signal_connect(LIVES_GUI_OBJECT(sp_red), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(apply_button_set_enabled), NULL); @@ -4323,15 +4058,15 @@ hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - widget_color_to_lives_rgba(&rgba,&palette->info_text); - prefsw->cbutton_infot = lives_standard_color_button_new(LIVES_BOX(hbox),_(" Info _Text Color"),TRUE,FALSE,&rgba,&sp_red, - &sp_green,&sp_blue, + widget_color_to_lives_rgba(&rgba, &palette->info_text); + prefsw->cbutton_infot = lives_standard_color_button_new(LIVES_BOX(hbox), _(" Info _Text Color"), TRUE, FALSE, &rgba, &sp_red, + &sp_green, &sp_blue, NULL); - if (!lives_ascii_strcasecmp(future_prefs->theme,mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) { - lives_widget_set_sensitive(prefsw->cbutton_infot,FALSE); - lives_widget_set_sensitive(sp_red,FALSE); - lives_widget_set_sensitive(sp_green,FALSE); - lives_widget_set_sensitive(sp_blue,FALSE); + if (!lives_ascii_strcasecmp(future_prefs->theme, mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) { + lives_widget_set_sensitive(prefsw->cbutton_infot, FALSE); + lives_widget_set_sensitive(sp_red, FALSE); + lives_widget_set_sensitive(sp_green, FALSE); + lives_widget_set_sensitive(sp_blue, FALSE); } lives_signal_connect(LIVES_GUI_OBJECT(sp_red), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(apply_button_set_enabled), NULL); @@ -4342,15 +4077,15 @@ hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - widget_color_to_lives_rgba(&rgba,&palette->info_base); - prefsw->cbutton_infob = lives_standard_color_button_new(LIVES_BOX(hbox),_(" Info _Base Color"),TRUE,FALSE,&rgba,&sp_red, - &sp_green,&sp_blue, + widget_color_to_lives_rgba(&rgba, &palette->info_base); + prefsw->cbutton_infob = lives_standard_color_button_new(LIVES_BOX(hbox), _(" Info _Base Color"), TRUE, FALSE, &rgba, &sp_red, + &sp_green, &sp_blue, NULL); - if (!lives_ascii_strcasecmp(future_prefs->theme,mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) { - lives_widget_set_sensitive(prefsw->cbutton_infob,FALSE); - lives_widget_set_sensitive(sp_red,FALSE); - lives_widget_set_sensitive(sp_green,FALSE); - lives_widget_set_sensitive(sp_blue,FALSE); + if (!lives_ascii_strcasecmp(future_prefs->theme, mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) { + lives_widget_set_sensitive(prefsw->cbutton_infob, FALSE); + lives_widget_set_sensitive(sp_red, FALSE); + lives_widget_set_sensitive(sp_green, FALSE); + lives_widget_set_sensitive(sp_blue, FALSE); } lives_signal_connect(LIVES_GUI_OBJECT(sp_red), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(apply_button_set_enabled), NULL); @@ -4361,94 +4096,90 @@ hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->theme_style3=lives_standard_check_button_new((tmp=lives_strdup(_("Theme is _light"))),TRUE,LIVES_BOX(hbox), - (tmp2=lives_strdup(_("Affects some contrast details of the timeline")))); + prefsw->theme_style3 = lives_standard_check_button_new((tmp = lives_strdup(_("Theme is _light"))), TRUE, LIVES_BOX(hbox), + (tmp2 = lives_strdup(_("Affects some contrast details of the timeline")))); lives_free(tmp); lives_free(tmp2); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->theme_style3), palette->style&STYLE_3); - if (!lives_ascii_strcasecmp(future_prefs->theme,mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) - lives_widget_set_sensitive(prefsw->theme_style3,FALSE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->theme_style3), palette->style & STYLE_3); + if (!lives_ascii_strcasecmp(future_prefs->theme, mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) + lives_widget_set_sensitive(prefsw->theme_style3, FALSE); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); -#if !GTK_CHECK_VERSION(3,0,0) - prefsw->theme_style2=lives_standard_check_button_new(_("Color the start/end frame spinbuttons (requires restart)"),FALSE,LIVES_BOX(hbox), - NULL); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->theme_style2), palette->style&STYLE_2); - if (!lives_ascii_strcasecmp(future_prefs->theme,mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) - lives_widget_set_sensitive(prefsw->theme_style3,FALSE); +#if !GTK_CHECK_VERSION(3, 0, 0) + prefsw->theme_style2 = lives_standard_check_button_new(_("Color the start/end frame spinbuttons (requires restart)"), FALSE, + LIVES_BOX(hbox), + NULL); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->theme_style2), palette->style & STYLE_2); + if (!lives_ascii_strcasecmp(future_prefs->theme, mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) + lives_widget_set_sensitive(prefsw->theme_style3, FALSE); #else - prefsw->theme_style2=NULL; + prefsw->theme_style2 = NULL; #endif hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->theme_style4=lives_standard_check_button_new(_("Highlight horizontal separators in multitrack"),FALSE,LIVES_BOX(hbox),NULL); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->theme_style4), (palette->style&STYLE_4)); - if (!lives_ascii_strcasecmp(future_prefs->theme,mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) - lives_widget_set_sensitive(prefsw->theme_style4,FALSE); + prefsw->theme_style4 = lives_standard_check_button_new(_("Highlight horizontal separators in multitrack"), FALSE, LIVES_BOX(hbox), NULL); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->theme_style4), (palette->style & STYLE_4)); + if (!lives_ascii_strcasecmp(future_prefs->theme, mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) + lives_widget_set_sensitive(prefsw->theme_style4, FALSE); - - // hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->frameblank_entry = lives_standard_entry_new((tmp=lives_strdup(_("Frame blank image"))),TRUE,mainw->frameblank_path, - -1,PATH_MAX,LIVES_BOX(hbox), - (tmp2=lives_strdup(_("The frame image which is shown when there is no clip loaded.")))); + prefsw->frameblank_entry = lives_standard_entry_new((tmp = lives_strdup(_("Frame blank image"))), TRUE, mainw->frameblank_path, + -1, PATH_MAX, LIVES_BOX(hbox), + (tmp2 = lives_strdup(_("The frame image which is shown when there is no clip loaded.")))); lives_free(tmp); lives_free(tmp2); - if (!lives_ascii_strcasecmp(future_prefs->theme,mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) - lives_widget_set_sensitive(prefsw->frameblank_entry,FALSE); + if (!lives_ascii_strcasecmp(future_prefs->theme, mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) + lives_widget_set_sensitive(prefsw->frameblank_entry, FALSE); - filebutton = lives_standard_file_button_new(FALSE,prefs->def_image_dir); + filebutton = lives_standard_file_button_new(FALSE, prefs->def_image_dir); lives_box_pack_start(LIVES_BOX(hbox), filebutton, FALSE, FALSE, widget_opts.packing_width); - if (!lives_ascii_strcasecmp(future_prefs->theme,mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) - lives_widget_set_sensitive(filebutton,FALSE); - - lives_signal_connect(filebutton, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_filesel_button_clicked),prefsw->frameblank_entry); + if (!lives_ascii_strcasecmp(future_prefs->theme, mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) + lives_widget_set_sensitive(filebutton, FALSE); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(filebutton),"filter",widget_opts.image_filter); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(filebutton),"filesel_type",LIVES_INT_TO_POINTER(LIVES_FILE_SELECTION_IMAGE_ONLY)); + lives_signal_connect(filebutton, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_filesel_button_clicked), prefsw->frameblank_entry); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(filebutton), "filter", widget_opts.image_filter); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(filebutton), "filesel_type", LIVES_INT_TO_POINTER(LIVES_FILE_SELECTION_IMAGE_ONLY)); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->sepimg_entry = lives_standard_entry_new((tmp=lives_strdup(_("Separator image"))),TRUE,mainw->sepimg_path, - -1,PATH_MAX,LIVES_BOX(hbox), - (tmp2=lives_strdup(_("The image shown in the center of the interface.")))); + prefsw->sepimg_entry = lives_standard_entry_new((tmp = lives_strdup(_("Separator image"))), TRUE, mainw->sepimg_path, + -1, PATH_MAX, LIVES_BOX(hbox), + (tmp2 = lives_strdup(_("The image shown in the center of the interface.")))); lives_free(tmp); lives_free(tmp2); - if (!lives_ascii_strcasecmp(future_prefs->theme,mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) - lives_widget_set_sensitive(prefsw->sepimg_entry,FALSE); + if (!lives_ascii_strcasecmp(future_prefs->theme, mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) + lives_widget_set_sensitive(prefsw->sepimg_entry, FALSE); - filebutton = lives_standard_file_button_new(FALSE,prefs->def_image_dir); + filebutton = lives_standard_file_button_new(FALSE, prefs->def_image_dir); lives_box_pack_start(LIVES_BOX(hbox), filebutton, FALSE, FALSE, widget_opts.packing_width); - if (!lives_ascii_strcasecmp(future_prefs->theme,mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) - lives_widget_set_sensitive(filebutton,FALSE); + if (!lives_ascii_strcasecmp(future_prefs->theme, mainw->string_constants[LIVES_STRING_CONSTANT_NONE])) + lives_widget_set_sensitive(filebutton, FALSE); - lives_signal_connect(filebutton, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_filesel_button_clicked),prefsw->sepimg_entry); + lives_signal_connect(filebutton, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_filesel_button_clicked), prefsw->sepimg_entry); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(filebutton),"filter",widget_opts.image_filter); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(filebutton),"filesel_type",LIVES_INT_TO_POINTER(LIVES_FILE_SELECTION_IMAGE_ONLY)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(filebutton), "filter", widget_opts.image_filter); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(filebutton), "filesel_type", LIVES_INT_TO_POINTER(LIVES_FILE_SELECTION_IMAGE_ONLY)); - - frame = lives_standard_frame_new(_("Extended Theme Details"),0.,FALSE); + frame = lives_standard_frame_new(_("Extended Theme Details"), 0., FALSE); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_themes), frame, TRUE, TRUE, widget_opts.packing_height); - vbox=lives_vbox_new(FALSE, 0); + vbox = lives_vbox_new(FALSE, 0); lives_container_add(LIVES_CONTAINER(frame), vbox); lives_container_set_border_width(LIVES_CONTAINER(vbox), widget_opts.border_width); - /////////////////// hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->cbutton_cesel = lives_standard_color_button_new(LIVES_BOX(hbox),(tmp=lives_strdup(_("Selected frames/audio (clip editor)"))), - TRUE,FALSE,&palette->ce_sel,&sp_red,&sp_green,&sp_blue,NULL); + prefsw->cbutton_cesel = lives_standard_color_button_new(LIVES_BOX(hbox), (tmp = lives_strdup(_("Selected frames/audio (clip editor)"))), + TRUE, FALSE, &palette->ce_sel, &sp_red, &sp_green, &sp_blue, NULL); lives_signal_connect(LIVES_GUI_OBJECT(sp_red), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(apply_button_set_enabled), NULL); lives_signal_connect(LIVES_GUI_OBJECT(sp_green), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, @@ -4456,11 +4187,10 @@ lives_signal_connect(LIVES_GUI_OBJECT(sp_blue), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(apply_button_set_enabled), NULL); - hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->cbutton_ceunsel = lives_standard_color_button_new(LIVES_BOX(hbox),(tmp=lives_strdup(_("Unselected frames/audio (clip editor)"))), - TRUE,FALSE,&palette->ce_unsel,&sp_red,&sp_green,&sp_blue,NULL); + prefsw->cbutton_ceunsel = lives_standard_color_button_new(LIVES_BOX(hbox), (tmp = lives_strdup(_("Unselected frames/audio (clip editor)"))), + TRUE, FALSE, &palette->ce_unsel, &sp_red, &sp_green, &sp_blue, NULL); lives_signal_connect(LIVES_GUI_OBJECT(sp_red), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(apply_button_set_enabled), NULL); lives_signal_connect(LIVES_GUI_OBJECT(sp_green), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, @@ -4468,11 +4198,10 @@ lives_signal_connect(LIVES_GUI_OBJECT(sp_blue), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(apply_button_set_enabled), NULL); - hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->cbutton_evbox = lives_standard_color_button_new(LIVES_BOX(hbox),(tmp=lives_strdup(_("Track background (multitrack)"))), - TRUE,FALSE,&palette->mt_evbox,&sp_red,&sp_green,&sp_blue,NULL); + prefsw->cbutton_evbox = lives_standard_color_button_new(LIVES_BOX(hbox), (tmp = lives_strdup(_("Track background (multitrack)"))), + TRUE, FALSE, &palette->mt_evbox, &sp_red, &sp_green, &sp_blue, NULL); lives_signal_connect(LIVES_GUI_OBJECT(sp_red), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(apply_button_set_enabled), NULL); lives_signal_connect(LIVES_GUI_OBJECT(sp_green), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, @@ -4482,8 +4211,8 @@ hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->cbutton_vidcol = lives_standard_color_button_new(LIVES_BOX(hbox),(tmp=lives_strdup(_("Video block (multitrack)"))), - TRUE,FALSE,&palette->vidcol,&sp_red,&sp_green,&sp_blue,NULL); + prefsw->cbutton_vidcol = lives_standard_color_button_new(LIVES_BOX(hbox), (tmp = lives_strdup(_("Video block (multitrack)"))), + TRUE, FALSE, &palette->vidcol, &sp_red, &sp_green, &sp_blue, NULL); lives_signal_connect(LIVES_GUI_OBJECT(sp_red), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(apply_button_set_enabled), NULL); lives_signal_connect(LIVES_GUI_OBJECT(sp_green), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, @@ -4493,8 +4222,8 @@ hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->cbutton_audcol = lives_standard_color_button_new(LIVES_BOX(hbox),(tmp=lives_strdup(_("Audio block (multitrack)"))), - TRUE,FALSE,&palette->audcol,&sp_red,&sp_green,&sp_blue,NULL); + prefsw->cbutton_audcol = lives_standard_color_button_new(LIVES_BOX(hbox), (tmp = lives_strdup(_("Audio block (multitrack)"))), + TRUE, FALSE, &palette->audcol, &sp_red, &sp_green, &sp_blue, NULL); lives_signal_connect(LIVES_GUI_OBJECT(sp_red), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(apply_button_set_enabled), NULL); lives_signal_connect(LIVES_GUI_OBJECT(sp_green), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, @@ -4504,8 +4233,8 @@ hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->cbutton_fxcol = lives_standard_color_button_new(LIVES_BOX(hbox),(tmp=lives_strdup(_("Effects block (multitrack)"))), - TRUE,FALSE,&palette->fxcol,&sp_red,&sp_green,&sp_blue,NULL); + prefsw->cbutton_fxcol = lives_standard_color_button_new(LIVES_BOX(hbox), (tmp = lives_strdup(_("Effects block (multitrack)"))), + TRUE, FALSE, &palette->fxcol, &sp_red, &sp_green, &sp_blue, NULL); lives_signal_connect(LIVES_GUI_OBJECT(sp_red), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(apply_button_set_enabled), NULL); lives_signal_connect(LIVES_GUI_OBJECT(sp_green), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, @@ -4515,8 +4244,8 @@ hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->cbutton_mtmark = lives_standard_color_button_new(LIVES_BOX(hbox),(tmp=lives_strdup(_("Timeline mark (multitrack)"))), - TRUE,FALSE,&palette->mt_mark,&sp_red,&sp_green,&sp_blue,NULL); + prefsw->cbutton_mtmark = lives_standard_color_button_new(LIVES_BOX(hbox), (tmp = lives_strdup(_("Timeline mark (multitrack)"))), + TRUE, FALSE, &palette->mt_mark, &sp_red, &sp_green, &sp_blue, NULL); lives_signal_connect(LIVES_GUI_OBJECT(sp_red), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(apply_button_set_enabled), NULL); lives_signal_connect(LIVES_GUI_OBJECT(sp_green), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, @@ -4526,8 +4255,8 @@ hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->cbutton_tlreg = lives_standard_color_button_new(LIVES_BOX(hbox),(tmp=lives_strdup(_("Timeline selection (multitrack)"))), - TRUE,FALSE,&palette->mt_timeline_reg,&sp_red,&sp_green,&sp_blue,NULL); + prefsw->cbutton_tlreg = lives_standard_color_button_new(LIVES_BOX(hbox), (tmp = lives_strdup(_("Timeline selection (multitrack)"))), + TRUE, FALSE, &palette->mt_timeline_reg, &sp_red, &sp_green, &sp_blue, NULL); lives_signal_connect(LIVES_GUI_OBJECT(sp_red), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(apply_button_set_enabled), NULL); lives_signal_connect(LIVES_GUI_OBJECT(sp_green), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, @@ -4537,9 +4266,9 @@ hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - widget_color_to_lives_rgba(&rgba,&palette->mt_timecode_bg); - prefsw->cbutton_tcbg = lives_standard_color_button_new(LIVES_BOX(hbox),(tmp=lives_strdup(_("Timecode background (multitrack)"))), - TRUE,FALSE,&rgba,&sp_red,&sp_green,&sp_blue,NULL); + widget_color_to_lives_rgba(&rgba, &palette->mt_timecode_bg); + prefsw->cbutton_tcbg = lives_standard_color_button_new(LIVES_BOX(hbox), (tmp = lives_strdup(_("Timecode background (multitrack)"))), + TRUE, FALSE, &rgba, &sp_red, &sp_green, &sp_blue, NULL); lives_signal_connect(LIVES_GUI_OBJECT(sp_red), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(apply_button_set_enabled), NULL); lives_signal_connect(LIVES_GUI_OBJECT(sp_green), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, @@ -4549,9 +4278,9 @@ hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - widget_color_to_lives_rgba(&rgba,&palette->mt_timecode_fg); - prefsw->cbutton_tcfg = lives_standard_color_button_new(LIVES_BOX(hbox),(tmp=lives_strdup(_("Timecode foreground (multitrack)"))), - TRUE,FALSE,&rgba,&sp_red,&sp_green,&sp_blue,NULL); + widget_color_to_lives_rgba(&rgba, &palette->mt_timecode_fg); + prefsw->cbutton_tcfg = lives_standard_color_button_new(LIVES_BOX(hbox), (tmp = lives_strdup(_("Timecode foreground (multitrack)"))), + TRUE, FALSE, &rgba, &sp_red, &sp_green, &sp_blue, NULL); lives_signal_connect(LIVES_GUI_OBJECT(sp_red), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(apply_button_set_enabled), NULL); lives_signal_connect(LIVES_GUI_OBJECT(sp_green), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, @@ -4559,11 +4288,10 @@ lives_signal_connect(LIVES_GUI_OBJECT(sp_blue), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(apply_button_set_enabled), NULL); - hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->cbutton_fsur = lives_standard_color_button_new(LIVES_BOX(hbox),(tmp=lives_strdup(_("Frame surround"))), - TRUE,FALSE,&palette->frame_surround,&sp_red,&sp_green,&sp_blue,NULL); + prefsw->cbutton_fsur = lives_standard_color_button_new(LIVES_BOX(hbox), (tmp = lives_strdup(_("Frame surround"))), + TRUE, FALSE, &palette->frame_surround, &sp_red, &sp_green, &sp_blue, NULL); lives_signal_connect(LIVES_GUI_OBJECT(sp_red), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(apply_button_set_enabled), NULL); lives_signal_connect(LIVES_GUI_OBJECT(sp_green), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, @@ -4571,10 +4299,6 @@ lives_signal_connect(LIVES_GUI_OBJECT(sp_blue), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(apply_button_set_enabled), NULL); - - - - icon = lives_build_filename(prefs->prefix_dir, ICON_DIR, "pref_themes.png", NULL); pixbuf_themes = lives_pixbuf_new_from_file(icon, NULL); lives_free(icon); @@ -4582,23 +4306,21 @@ prefs_add_to_list(prefsw->prefs_list, pixbuf_themes, _("Themes/Colors"), LIST_ENTRY_THEMES); lives_container_add(LIVES_CONTAINER(dialog_table), prefsw->scrollw_right_themes); - // --------------------------, // streaming/networking | // --------------------------' - prefsw->vbox_right_net = lives_vbox_new(FALSE, widget_opts.packing_height*4); + prefsw->vbox_right_net = lives_vbox_new(FALSE, widget_opts.packing_height * 4); lives_container_set_border_width(LIVES_CONTAINER(prefsw->vbox_right_net), widget_opts.border_width); - prefsw->scrollw_right_net = lives_standard_scrolled_window_new(0,0,prefsw->vbox_right_net); + prefsw->scrollw_right_net = lives_standard_scrolled_window_new(0, 0, prefsw->vbox_right_net); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_net), hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->spinbutton_bwidth = lives_standard_spin_button_new(_("Download bandwidth (Kb/s) "),FALSE, + prefsw->spinbutton_bwidth = lives_standard_spin_button_new(_("Download bandwidth (Kb/s) "), FALSE, prefs->dl_bandwidth, 0, 100000, 1, 10, 0, - LIVES_BOX(hbox),NULL); - + LIVES_BOX(hbox), NULL); add_hsep_to_box(LIVES_BOX(prefsw->vbox_right_net)); @@ -4613,36 +4335,32 @@ hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(hbox1), hbox, FALSE, FALSE, 0); - prefsw->enable_OSC = lives_standard_check_button_new(_("OMC remote control enabled"),FALSE,LIVES_BOX(hbox),NULL); - + prefsw->enable_OSC = lives_standard_check_button_new(_("OMC remote control enabled"), FALSE, LIVES_BOX(hbox), NULL); #ifndef ENABLE_OSC - lives_widget_set_sensitive(prefsw->enable_OSC,FALSE); + lives_widget_set_sensitive(prefsw->enable_OSC, FALSE); #endif - // --- - prefsw->spinbutton_osc_udp = lives_standard_spin_button_new(_("UDP port "),FALSE, + prefsw->spinbutton_osc_udp = lives_standard_spin_button_new(_("UDP port "), FALSE, prefs->osc_udp_port, 1., 65535., 1., 10., 0, - LIVES_BOX(hbox),NULL); - + LIVES_BOX(hbox), NULL); - // --- hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_net), hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->enable_OSC_start = lives_standard_check_button_new(_("Start OMC on startup"),FALSE,LIVES_BOX(hbox),NULL); + prefsw->enable_OSC_start = lives_standard_check_button_new(_("Start OMC on startup"), FALSE, LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->enable_OSC_start), future_prefs->osc_start); #ifndef ENABLE_OSC - lives_widget_set_sensitive(prefsw->spinbutton_osc_udp,FALSE); - lives_widget_set_sensitive(prefsw->enable_OSC_start,FALSE); - lives_widget_set_sensitive(label,FALSE); + lives_widget_set_sensitive(prefsw->spinbutton_osc_udp, FALSE); + lives_widget_set_sensitive(prefsw->enable_OSC_start, FALSE); + lives_widget_set_sensitive(label, FALSE); #else if (prefs->osc_udp_started) { lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->enable_OSC), TRUE); - lives_widget_set_sensitive(prefsw->spinbutton_osc_udp,FALSE); - lives_widget_set_sensitive(prefsw->enable_OSC,FALSE); + lives_widget_set_sensitive(prefsw->spinbutton_osc_udp, FALSE); + lives_widget_set_sensitive(prefsw->enable_OSC, FALSE); } #endif @@ -4658,9 +4376,9 @@ // ----------' prefsw->vbox_right_jack = lives_vbox_new(FALSE, 0); - lives_container_set_border_width(LIVES_CONTAINER(prefsw->vbox_right_jack), widget_opts.packing_width*2); + lives_container_set_border_width(LIVES_CONTAINER(prefsw->vbox_right_jack), widget_opts.packing_width * 2); - prefsw->scrollw_right_jack = lives_standard_scrolled_window_new(0,0,prefsw->vbox_right_jack); + prefsw->scrollw_right_jack = lives_standard_scrolled_window_new(0, 0, prefsw->vbox_right_jack); label = lives_standard_label_new(_("Jack transport")); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_jack), label, FALSE, FALSE, widget_opts.packing_height); @@ -4669,58 +4387,50 @@ label = lives_standard_label_new(_("LiVES must be compiled with jack/transport.h and jack/jack.h present to use jack transport")); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_jack), label, FALSE, FALSE, widget_opts.packing_height); #else - hbox = lives_hbox_new(FALSE,0); + hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_jack), hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->jack_tserver_entry = lives_standard_entry_new(_("Jack _transport config file"),TRUE,prefs->jack_tserver,-1,PATH_MAX,LIVES_BOX(hbox), + prefsw->jack_tserver_entry = lives_standard_entry_new(_("Jack _transport config file"), TRUE, prefs->jack_tserver, -1, PATH_MAX, + LIVES_BOX(hbox), NULL); - lives_widget_set_sensitive(prefsw->jack_tserver_entry,FALSE); // unused for now + lives_widget_set_sensitive(prefsw->jack_tserver_entry, FALSE); // unused for now - - // - - - prefsw->checkbutton_start_tjack=lives_standard_check_button_new(_("Start _server on LiVES startup"),TRUE,LIVES_BOX(hbox),NULL); + prefsw->checkbutton_start_tjack = lives_standard_check_button_new(_("Start _server on LiVES startup"), TRUE, LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_start_tjack), - (future_prefs->jack_opts&JACK_OPTS_START_TSERVER)?TRUE:FALSE); - + (future_prefs->jack_opts & JACK_OPTS_START_TSERVER) ? TRUE : FALSE); - - // --- - hbox = lives_hbox_new(FALSE,0); + hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_jack), hbox, FALSE, FALSE, widget_opts.packing_height); - // --- - prefsw->checkbutton_jack_master=lives_standard_check_button_new(_("Jack transport _master (start and stop)"),TRUE,LIVES_BOX(hbox),NULL); + prefsw->checkbutton_jack_master = lives_standard_check_button_new(_("Jack transport _master (start and stop)"), TRUE, LIVES_BOX(hbox), + NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_jack_master), - (future_prefs->jack_opts&JACK_OPTS_TRANSPORT_MASTER)?TRUE:FALSE); + (future_prefs->jack_opts & JACK_OPTS_TRANSPORT_MASTER) ? TRUE : FALSE); - - // --- - hbox = lives_hbox_new(FALSE,0); + hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_jack), hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->checkbutton_jack_client=lives_standard_check_button_new(_("Jack transport _client (start and stop)"),TRUE,LIVES_BOX(hbox),NULL); + prefsw->checkbutton_jack_client = lives_standard_check_button_new(_("Jack transport _client (start and stop)"), TRUE, LIVES_BOX(hbox), + NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_jack_client), - (future_prefs->jack_opts&JACK_OPTS_TRANSPORT_CLIENT)?TRUE:FALSE); - + (future_prefs->jack_opts & JACK_OPTS_TRANSPORT_CLIENT) ? TRUE : FALSE); lives_signal_connect_after(LIVES_GUI_OBJECT(prefsw->checkbutton_jack_client), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(after_jack_client_toggled), NULL); - // --- - hbox = lives_hbox_new(FALSE,0); + hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_jack), hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->checkbutton_jack_tb_start=lives_standard_check_button_new(_("Jack transport sets start position"),TRUE,LIVES_BOX(hbox),NULL); + prefsw->checkbutton_jack_tb_start = lives_standard_check_button_new(_("Jack transport sets start position"), TRUE, LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_jack_tb_start), - (future_prefs->jack_opts&JACK_OPTS_TIMEBASE_START)? - (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_jack_client))):FALSE); + (future_prefs->jack_opts & JACK_OPTS_TIMEBASE_START) ? + (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_jack_client))) : FALSE); lives_widget_set_sensitive(prefsw->checkbutton_jack_tb_start, lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_jack_client))); @@ -4729,21 +4439,17 @@ LIVES_GUI_CALLBACK(after_jack_tb_start_toggled), NULL); - // --- - add_fill_to_box(LIVES_BOX(hbox)); - prefsw->checkbutton_jack_tb_client=lives_standard_check_button_new(_("Jack transport timebase slave"),TRUE,LIVES_BOX(hbox),NULL); + prefsw->checkbutton_jack_tb_client = lives_standard_check_button_new(_("Jack transport timebase slave"), TRUE, LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_jack_tb_client), - (future_prefs->jack_opts&JACK_OPTS_TIMEBASE_CLIENT)? - (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_jack_tb_start))):FALSE); + (future_prefs->jack_opts & JACK_OPTS_TIMEBASE_CLIENT) ? + (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_jack_tb_start))) : FALSE); lives_widget_set_sensitive(prefsw->checkbutton_jack_tb_client, lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_jack_tb_start))); - - // --- label = lives_standard_label_new(_("(See also Playback -> Audio follows video rate/direction)")); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_jack), label, FALSE, FALSE, widget_opts.packing_height); @@ -4751,7 +4457,6 @@ add_hsep_to_box(LIVES_BOX(prefsw->vbox_right_jack)); - label = lives_standard_label_new(_("Jack audio")); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_jack), label, FALSE, FALSE, widget_opts.packing_height); @@ -4762,41 +4467,39 @@ label = lives_standard_label_new(_("You MUST set the audio player to \"jack\" in the Playback tab to use jack audio")); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_jack), label, FALSE, FALSE, widget_opts.packing_height); - hbox = lives_hbox_new(FALSE,0); + hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_jack), hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->jack_aserver_entry = lives_standard_entry_new(_("Jack _audio server config file"),TRUE,prefs->jack_aserver,-1,PATH_MAX, + prefsw->jack_aserver_entry = lives_standard_entry_new(_("Jack _audio server config file"), TRUE, prefs->jack_aserver, -1, PATH_MAX, LIVES_BOX(hbox), NULL); - lives_widget_set_sensitive(prefsw->jack_aserver_entry,FALSE); + lives_widget_set_sensitive(prefsw->jack_aserver_entry, FALSE); - // --- - prefsw->checkbutton_start_ajack = lives_standard_check_button_new(_("Start _server on LiVES startup"),TRUE,LIVES_BOX(hbox),NULL); + prefsw->checkbutton_start_ajack = lives_standard_check_button_new(_("Start _server on LiVES startup"), TRUE, LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_start_ajack), - (future_prefs->jack_opts&JACK_OPTS_START_ASERVER)?TRUE:FALSE); - // --- - hbox = lives_hbox_new(FALSE,0); + (future_prefs->jack_opts & JACK_OPTS_START_ASERVER) ? TRUE : FALSE); + + hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_jack), hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->checkbutton_jack_pwp = lives_standard_check_button_new(_("Play audio even when transport is _paused"),TRUE,LIVES_BOX(hbox),NULL); + prefsw->checkbutton_jack_pwp = lives_standard_check_button_new(_("Play audio even when transport is _paused"), TRUE, LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_jack_pwp), - (future_prefs->jack_opts&JACK_OPTS_NOPLAY_WHEN_PAUSED)?FALSE:TRUE); + (future_prefs->jack_opts & JACK_OPTS_NOPLAY_WHEN_PAUSED) ? FALSE : TRUE); - lives_widget_set_sensitive(prefsw->checkbutton_jack_pwp, prefs->audio_player==AUD_PLAYER_JACK); + lives_widget_set_sensitive(prefsw->checkbutton_jack_pwp, prefs->audio_player == AUD_PLAYER_JACK); - // --- - hbox = lives_hbox_new(FALSE,0); + hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_jack), hbox, FALSE, FALSE, widget_opts.packing_height); prefsw->checkbutton_jack_read_autocon = lives_standard_check_button_new - (_("Automatically connect to System Out ports when 'playing' External Audio"),FALSE,LIVES_BOX(hbox),NULL); + (_("Automatically connect to System Out ports when 'playing' External Audio"), FALSE, LIVES_BOX(hbox), NULL); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_jack_read_autocon), - (future_prefs->jack_opts&JACK_OPTS_NO_READ_AUTOCON)?FALSE:TRUE); + (future_prefs->jack_opts & JACK_OPTS_NO_READ_AUTOCON) ? FALSE : TRUE); - lives_widget_set_sensitive(prefsw->checkbutton_jack_read_autocon, prefs->audio_player==AUD_PLAYER_JACK); + lives_widget_set_sensitive(prefsw->checkbutton_jack_read_autocon, prefs->audio_player == AUD_PLAYER_JACK); #endif @@ -4811,12 +4514,11 @@ // MIDI/js learner | // ----------------------' - prefsw->vbox_right_midi = lives_vbox_new(FALSE, 0); - prefsw->scrollw_right_midi = lives_standard_scrolled_window_new(0,0,prefsw->vbox_right_midi); + prefsw->scrollw_right_midi = lives_standard_scrolled_window_new(0, 0, prefsw->vbox_right_midi); - lives_container_set_border_width(LIVES_CONTAINER(prefsw->vbox_right_midi), widget_opts.border_width*2); + lives_container_set_border_width(LIVES_CONTAINER(prefsw->vbox_right_midi), widget_opts.border_width * 2); label = lives_standard_label_new(_("Events to respond to:")); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_midi), label, FALSE, FALSE, widget_opts.packing_height); @@ -4827,9 +4529,9 @@ hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_midi), hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->checkbutton_omc_js = lives_standard_check_button_new(_("_Joystick events"),TRUE,LIVES_BOX(hbox),NULL); + prefsw->checkbutton_omc_js = lives_standard_check_button_new(_("_Joystick events"), TRUE, LIVES_BOX(hbox), NULL); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_omc_js), prefs->omc_dev_opts&OMC_DEV_JS); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_omc_js), prefs->omc_dev_opts & OMC_DEV_JS); label = lives_standard_label_new(_("Leave blank to use defaults")); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_midi), label, FALSE, FALSE, widget_opts.packing_height); @@ -4837,14 +4539,14 @@ hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_midi), hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->omc_js_entry = lives_standard_entry_new((tmp=lives_strdup(_("_Joystick device"))) - ,TRUE,prefs->omc_js_fname,-1,PATH_MAX,LIVES_BOX(hbox), - (tmp2=lives_strdup(_("The joystick device, e.g. /dev/input/js0")))); + prefsw->omc_js_entry = lives_standard_entry_new((tmp = lives_strdup(_("_Joystick device"))) + , TRUE, prefs->omc_js_fname, -1, PATH_MAX, LIVES_BOX(hbox), + (tmp2 = lives_strdup(_("The joystick device, e.g. /dev/input/js0")))); lives_free(tmp); lives_free(tmp2); - buttond = lives_standard_file_button_new(FALSE,LIVES_DEVICE_DIR); - lives_box_pack_start(LIVES_BOX(hbox),buttond,FALSE,FALSE,widget_opts.packing_width); + buttond = lives_standard_file_button_new(FALSE, LIVES_DEVICE_DIR); + lives_box_pack_start(LIVES_BOX(hbox), buttond, FALSE, FALSE, widget_opts.packing_width); lives_signal_connect(buttond, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_filesel_button_clicked), (livespointer)prefsw->omc_js_entry); @@ -4859,50 +4561,45 @@ hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_midi), hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->checkbutton_omc_midi = lives_standard_check_button_new(_("_MIDI events"),TRUE,LIVES_BOX(hbox),NULL); - - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_omc_midi), prefs->omc_dev_opts&OMC_DEV_MIDI); + prefsw->checkbutton_omc_midi = lives_standard_check_button_new(_("_MIDI events"), TRUE, LIVES_BOX(hbox), NULL); - // --- + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->checkbutton_omc_midi), prefs->omc_dev_opts & OMC_DEV_MIDI); prefsw->midi_hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_midi), prefsw->midi_hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->alsa_midi = lives_standard_radio_button_new((tmp=lives_strdup(_("Use _ALSA MIDI (recommended)"))),TRUE,alsa_midi_group, + prefsw->alsa_midi = lives_standard_radio_button_new((tmp = lives_strdup(_("Use _ALSA MIDI (recommended)"))), TRUE, alsa_midi_group, LIVES_BOX(prefsw->midi_hbox), - (tmp2=lives_strdup(_("Create an ALSA MIDI port which other MIDI devices can be connected to")))); + (tmp2 = lives_strdup(_("Create an ALSA MIDI port which other MIDI devices can be connected to")))); lives_free(tmp); lives_free(tmp2); alsa_midi_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(prefsw->alsa_midi)); - // --- - - raw_midi_button = lives_standard_radio_button_new((tmp=lives_strdup(_("Use _raw MIDI"))),TRUE,alsa_midi_group, + raw_midi_button = lives_standard_radio_button_new((tmp = lives_strdup(_("Use _raw MIDI"))), TRUE, alsa_midi_group, LIVES_BOX(prefsw->midi_hbox), - (tmp2=lives_strdup(_("Read directly from the MIDI device")))); + (tmp2 = lives_strdup(_("Read directly from the MIDI device")))); lives_free(tmp); lives_free(tmp2); #ifdef ALSA_MIDI - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(raw_midi_button),!prefs->use_alsa_midi); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(raw_midi_button), !prefs->use_alsa_midi); #endif - hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_midi), hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->omc_midi_entry = lives_standard_entry_new((tmp=lives_strdup(_("_MIDI device"))),TRUE,prefs->omc_midi_fname, - -1,PATH_MAX,LIVES_BOX(hbox), - (tmp2=lives_strdup(_("The MIDI device, e.g. /dev/input/midi0")))); + prefsw->omc_midi_entry = lives_standard_entry_new((tmp = lives_strdup(_("_MIDI device"))), TRUE, prefs->omc_midi_fname, + -1, PATH_MAX, LIVES_BOX(hbox), + (tmp2 = lives_strdup(_("The MIDI device, e.g. /dev/input/midi0")))); lives_free(tmp); lives_free(tmp2); - prefsw->button_midid = lives_standard_file_button_new(FALSE,LIVES_DEVICE_DIR); - lives_box_pack_start(LIVES_BOX(hbox),prefsw->button_midid,FALSE,FALSE,widget_opts.packing_width); + prefsw->button_midid = lives_standard_file_button_new(FALSE, LIVES_DEVICE_DIR); + lives_box_pack_start(LIVES_BOX(hbox), prefsw->button_midid, FALSE, FALSE, widget_opts.packing_width); lives_widget_show(prefsw->button_midid); lives_signal_connect(prefsw->button_midid, LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_filesel_button_clicked), @@ -4913,25 +4610,24 @@ label = lives_standard_label_new(_("Advanced")); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_midi), label, FALSE, FALSE, widget_opts.packing_height); - hbox = lives_hbox_new(FALSE,0); + hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(prefsw->vbox_right_midi), hbox, FALSE, FALSE, widget_opts.packing_height); - prefsw->spinbutton_midicr = lives_standard_spin_button_new((tmp=lives_strdup(_("MIDI check _rate"))),TRUE, + prefsw->spinbutton_midicr = lives_standard_spin_button_new((tmp = lives_strdup(_("MIDI check _rate"))), TRUE, prefs->midi_check_rate, 1., 2000., 10., 100., 0, LIVES_BOX(hbox), - (tmp2=lives_strdup( - _("Number of MIDI checks per keyboard tick. Increasing this may improve MIDI responsiveness, but may slow down playback.")))); + (tmp2 = lives_strdup( + _("Number of MIDI checks per keyboard tick. Increasing this may improve MIDI responsiveness, but may slow down playback.")))); lives_free(tmp); lives_free(tmp2); - add_fill_to_box(LIVES_BOX(hbox)); - prefsw->spinbutton_midirpt = lives_standard_spin_button_new((tmp=lives_strdup(_("MIDI repeat"))),FALSE, + prefsw->spinbutton_midirpt = lives_standard_spin_button_new((tmp = lives_strdup(_("MIDI repeat"))), FALSE, prefs->midi_rpt, 1., 10000., 100., 1000., 0, LIVES_BOX(hbox), - (tmp2=lives_strdup(_("Number of non-reads allowed between succesive reads.")))); + (tmp2 = lives_strdup(_("Number of non-reads allowed between succesive reads.")))); lives_free(tmp); lives_free(tmp2); @@ -4944,7 +4640,7 @@ LIVES_GUI_CALLBACK(on_alsa_midi_toggled), NULL); - on_alsa_midi_toggled(LIVES_TOGGLE_BUTTON(prefsw->alsa_midi),prefsw); + on_alsa_midi_toggled(LIVES_TOGGLE_BUTTON(prefsw->alsa_midi), prefsw); #endif #endif @@ -4957,34 +4653,28 @@ prefs_add_to_list(prefsw->prefs_list, pixbuf_midi, _("MIDI/Joystick learner"), LIST_ENTRY_MIDI); lives_container_add(LIVES_CONTAINER(dialog_table), prefsw->scrollw_right_midi); - - - prefsw->selection = lives_tree_view_get_selection(LIVES_TREE_VIEW(prefsw->prefs_list)); lives_tree_selection_set_mode(prefsw->selection, LIVES_SELECTION_SINGLE); lives_signal_connect(prefsw->selection, LIVES_WIDGET_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(on_prefDomainChanged), NULL); - // - // Preferences 'Revert' button - prefsw->cancelbutton = lives_button_new_from_stock(LIVES_STOCK_REVERT_TO_SAVED,NULL); + prefsw->cancelbutton = lives_button_new_from_stock(LIVES_STOCK_REVERT_TO_SAVED, NULL); lives_widget_show(prefsw->cancelbutton); lives_dialog_add_action_widget(LIVES_DIALOG(prefsw->prefs_dialog), prefsw->cancelbutton, LIVES_RESPONSE_CANCEL); - lives_widget_set_size_request(prefsw->cancelbutton, DEF_BUTTON_WIDTH*2, -1); + lives_widget_set_size_request(prefsw->cancelbutton, DEF_BUTTON_WIDTH * 2, -1); lives_container_set_border_width(LIVES_CONTAINER(prefsw->cancelbutton), widget_opts.border_width); - - lives_widget_set_can_focus(prefsw->cancelbutton,TRUE); + lives_widget_set_can_focus(prefsw->cancelbutton, TRUE); // Set 'Close' button as inactive since there are no changes yet lives_widget_set_sensitive(prefsw->cancelbutton, FALSE); // Preferences 'Apply' button - prefsw->applybutton = lives_button_new_from_stock(LIVES_STOCK_APPLY,NULL); + prefsw->applybutton = lives_button_new_from_stock(LIVES_STOCK_APPLY, NULL); lives_widget_show(prefsw->applybutton); lives_dialog_add_action_widget(LIVES_DIALOG(prefsw->prefs_dialog), prefsw->applybutton, 0); - lives_widget_set_size_request(prefsw->applybutton, DEF_BUTTON_WIDTH*2, -1); + lives_widget_set_size_request(prefsw->applybutton, DEF_BUTTON_WIDTH * 2, -1); lives_container_set_border_width(LIVES_CONTAINER(prefsw->applybutton), widget_opts.border_width); lives_widget_set_can_focus_and_default(prefsw->applybutton); @@ -4992,10 +4682,10 @@ lives_widget_set_sensitive(prefsw->applybutton, FALSE); // Preferences 'Close' button - prefsw->closebutton = lives_button_new_from_stock(LIVES_STOCK_CLOSE,NULL); + prefsw->closebutton = lives_button_new_from_stock(LIVES_STOCK_CLOSE, NULL); lives_widget_show(prefsw->closebutton); lives_dialog_add_action_widget(LIVES_DIALOG(prefsw->prefs_dialog), prefsw->closebutton, LIVES_RESPONSE_OK); - lives_widget_set_size_request(prefsw->closebutton, DEF_BUTTON_WIDTH*2, -1); + lives_widget_set_size_request(prefsw->closebutton, DEF_BUTTON_WIDTH * 2, -1); lives_container_set_border_width(LIVES_CONTAINER(prefsw->closebutton), widget_opts.border_width); lives_widget_set_can_focus_and_default(prefsw->closebutton); @@ -5003,7 +4693,6 @@ lives_widget_add_accelerator(prefsw->closebutton, LIVES_WIDGET_CLICKED_SIGNAL, accel_group, LIVES_KEY_Escape, (LiVESXModifierType)0, (LiVESAccelFlags)0); - // Connect signals for 'Apply' button activity handling lives_signal_connect(LIVES_GUI_OBJECT(prefsw->cbutton_fore), LIVES_WIDGET_COLOR_SET_SIGNAL, LIVES_GUI_CALLBACK(apply_button_set_enabled), NULL); @@ -5039,7 +4728,7 @@ NULL); lives_signal_connect(LIVES_GUI_OBJECT(prefsw->cbutton_fxcol), LIVES_WIDGET_COLOR_SET_SIGNAL, LIVES_GUI_CALLBACK(apply_button_set_enabled), NULL); - if (prefsw->theme_style2!=NULL) + if (prefsw->theme_style2 != NULL) lives_signal_connect(LIVES_GUI_OBJECT(prefsw->theme_style2), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(apply_button_set_enabled), NULL); lives_signal_connect(LIVES_GUI_OBJECT(prefsw->theme_style3), LIVES_WIDGET_TOGGLED_SIGNAL, @@ -5047,7 +4736,6 @@ lives_signal_connect(LIVES_GUI_OBJECT(prefsw->theme_style4), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(apply_button_set_enabled), NULL); - lives_signal_connect(LIVES_GUI_OBJECT(prefsw->wpp_entry), LIVES_WIDGET_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(apply_button_set_enabled), NULL); lives_signal_connect(LIVES_GUI_OBJECT(prefsw->frei0r_entry), LIVES_WIDGET_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(apply_button_set_enabled), NULL); @@ -5183,7 +4871,7 @@ NULL); lives_signal_connect(LIVES_GUI_OBJECT(prefsw->ofmt_combo), LIVES_WIDGET_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(apply_button_set_enabled), NULL); - if (prefsw->acodec_combo!=NULL) + if (prefsw->acodec_combo != NULL) lives_signal_connect(LIVES_GUI_OBJECT(prefsw->acodec_combo), LIVES_WIDGET_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(apply_button_set_enabled), NULL); lives_signal_connect(LIVES_GUI_OBJECT(prefsw->checkbutton_antialias), LIVES_WIDGET_TOGGLED_SIGNAL, @@ -5359,7 +5047,7 @@ if (capable->has_encoder_plugins) { prefsw->encoder_name_fn = lives_signal_connect(LIVES_GUI_OBJECT(LIVES_COMBO(prefsw->encoder_combo)), LIVES_WIDGET_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(on_encoder_entry_changed), NULL); - // --- + prefsw->encoder_ofmt_fn = lives_signal_connect(LIVES_GUI_OBJECT(LIVES_COMBO(prefsw->ofmt_combo)), LIVES_WIDGET_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(on_encoder_ofmt_changed), NULL); } @@ -5376,7 +5064,6 @@ LIVES_GUI_CALLBACK(on_prefs_revert_clicked), NULL); - lives_signal_connect(LIVES_GUI_OBJECT(prefsw->closebutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_prefs_close_clicked), prefsw); @@ -5385,18 +5072,16 @@ LIVES_GUI_CALLBACK(on_prefs_apply_clicked), NULL); - lives_list_free_all(&audp); - - if (prefs_current_page==-1) { + if (prefs_current_page == -1) { if (mainw->multitrack == NULL) select_pref_list_row(LIST_ENTRY_GUI); else select_pref_list_row(LIST_ENTRY_MULTITRACK); } else select_pref_list_row(prefs_current_page); - on_prefDomainChanged(prefsw->selection,NULL); + on_prefDomainChanged(prefsw->selection, NULL); lives_widget_queue_draw(prefsw->prefs_list); return prefsw; @@ -5404,7 +5089,7 @@ void on_preferences_activate(LiVESMenuItem *menuitem, livespointer user_data) { - if (menuitem!=NULL) prefs_current_page=-1; + if (menuitem != NULL) prefs_current_page = -1; if (prefsw != NULL && prefsw->prefs_dialog != NULL) { lives_window_present(LIVES_WINDOW(prefsw->prefs_dialog)); @@ -5412,7 +5097,7 @@ return; } - future_prefs->disabled_decoders=lives_list_copy_strings(prefs->disabled_decoders); + future_prefs->disabled_decoders = lives_list_copy_strings(prefs->disabled_decoders); prefsw = create_prefs_dialog(); lives_widget_show(prefsw->prefs_dialog); @@ -5420,6 +5105,7 @@ } + /*! * Closes preferences dialog window */ @@ -5432,28 +5118,27 @@ lives_general_button_clicked(button, user_data); - prefsw=NULL; + prefsw = NULL; if (mainw->prefs_need_restart) { do_blocking_info_dialog( _("\nLiVES will now shut down. You need to restart it for the directory change to take effect.\nClick OK to continue.\n")); - on_quit_activate(NULL,NULL); + on_quit_activate(NULL, NULL); } } - void pref_change_images(void) { if (prefs->show_gui) { - if (mainw->current_file==-1) { + if (mainw->current_file == -1) { load_start_image(0); load_end_image(0); - if (mainw->preview_box!=NULL) load_preview_image(FALSE); + if (mainw->preview_box != NULL) load_preview_image(FALSE); } lives_widget_queue_draw(mainw->LiVES); - if (mainw->multitrack!=NULL) { - lives_image_set_from_pixbuf(LIVES_IMAGE(mainw->multitrack->sep_image),mainw->imsep); - mt_show_current_frame(mainw->multitrack,FALSE); + if (mainw->multitrack != NULL) { + lives_image_set_from_pixbuf(LIVES_IMAGE(mainw->multitrack->sep_image), mainw->imsep); + mt_show_current_frame(mainw->multitrack, FALSE); lives_widget_queue_draw(mainw->multitrack->window); } } @@ -5463,7 +5148,7 @@ void pref_change_xcolours(void) { // minor colours changed if (prefs->show_gui) { - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { resize_timeline(mainw->multitrack); set_mt_colours(mainw->multitrack); } else { @@ -5474,35 +5159,31 @@ void pref_change_colours(void) { - - if (mainw->preview_box!=NULL) { + if (mainw->preview_box != NULL) { set_preview_box_colours(); } if (prefs->show_gui) { - set_colours(&palette->normal_fore,&palette->normal_back,&palette->menu_and_bars_fore,&palette->menu_and_bars, \ - &palette->info_base,&palette->info_text); + set_colours(&palette->normal_fore, &palette->normal_back, &palette->menu_and_bars_fore, &palette->menu_and_bars, \ + &palette->info_base, &palette->info_text); - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { set_mt_colours(mainw->multitrack); - scroll_tracks(mainw->multitrack,mainw->multitrack->top_track,FALSE); + scroll_tracks(mainw->multitrack, mainw->multitrack->top_track, FALSE); track_select(mainw->multitrack); - mt_clip_select(mainw->multitrack,FALSE); + mt_clip_select(mainw->multitrack, FALSE); } } - } - - /*! * */ void on_prefs_apply_clicked(LiVESButton *button, livespointer user_data) { boolean needs_restart; - lives_set_cursor_style(LIVES_CURSOR_BUSY,prefsw->prefs_dialog); + lives_set_cursor_style(LIVES_CURSOR_BUSY, prefsw->prefs_dialog); lives_widget_set_sensitive(LIVES_WIDGET(prefsw->applybutton), FALSE); lives_widget_set_sensitive(LIVES_WIDGET(prefsw->cancelbutton), FALSE); @@ -5511,7 +5192,6 @@ // Apply preferences needs_restart = apply_prefs(FALSE); - if (!mainw->prefs_need_restart) { mainw->prefs_need_restart = needs_restart; } @@ -5521,20 +5201,18 @@ } if (mainw->prefs_changed & PREFS_THEME_CHANGED) { - lives_widget_set_sensitive(mainw->export_theme,FALSE); + lives_widget_set_sensitive(mainw->export_theme, FALSE); do_blocking_info_dialog(_("Disabling the theme will not take effect until the next time you start LiVES.")); } else - lives_widget_set_sensitive(mainw->export_theme,TRUE); - + lives_widget_set_sensitive(mainw->export_theme, TRUE); if (mainw->prefs_changed & PREFS_JACK_CHANGED) { do_blocking_info_dialog(_("Jack options will not take effect until the next time you start LiVES.")); } - - if (!(mainw->prefs_changed & PREFS_THEME_CHANGED)&& - ((mainw->prefs_changed & PREFS_IMAGES_CHANGED)|| - (mainw->prefs_changed & PREFS_XCOLOURS_CHANGED)|| + if (!(mainw->prefs_changed & PREFS_THEME_CHANGED) && + ((mainw->prefs_changed & PREFS_IMAGES_CHANGED) || + (mainw->prefs_changed & PREFS_XCOLOURS_CHANGED) || (mainw->prefs_changed & PREFS_COLOURS_CHANGED))) { // set details in prefs set_palette_prefs(); @@ -5555,17 +5233,17 @@ // major coulours changed // force reshow of window pref_change_colours(); - on_prefs_revert_clicked(button,NULL); - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); - } else lives_set_cursor_style(LIVES_CURSOR_NORMAL,prefsw->prefs_dialog); + on_prefs_revert_clicked(button, NULL); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); + } else lives_set_cursor_style(LIVES_CURSOR_NORMAL, prefsw->prefs_dialog); lives_widget_set_sensitive(LIVES_WIDGET(prefsw->closebutton), TRUE); mainw->prefs_changed = 0; - } + /* * Function is used to select particular row in preferences selection list * selection is performed according to provided index which is one of LIST_ENTRY_* constants @@ -5594,7 +5272,7 @@ void on_prefs_revert_clicked(LiVESButton *button, livespointer user_data) { register int i; - lives_set_cursor_style(LIVES_CURSOR_BUSY,NULL); + lives_set_cursor_style(LIVES_CURSOR_BUSY, NULL); if (future_prefs->vpp_argv != NULL) { for (i = 0; future_prefs->vpp_argv[i] != NULL; lives_free(future_prefs->vpp_argv[i++])); @@ -5619,7 +5297,7 @@ lives_widget_destroy(lives_widget_get_toplevel(LIVES_WIDGET(button))); - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); }
View file
LiVES-2.8.4.tar.bz2/src/preferences.h -> LiVES-2.8.6.tar.bz2/src/preferences.h
Changed
@@ -34,6 +34,7 @@ _encoder encoder; ///< from main.h short audio_player; +#define AUD_PLAYER_NONE 0 #define AUD_PLAYER_SOX 1 #define AUD_PLAYER_MPLAYER 2 #define AUD_PLAYER_JACK 3 @@ -122,9 +123,9 @@ #define WARN_MASK_LAYOUT_WIPE (1<<26) char cmd_log[PATH_MAX]; - char effect_command[PATH_MAX*2]; - char video_open_command[PATH_MAX*2]; - char audio_play_command[PATH_MAX*2]; + char effect_command[PATH_MAX * 2]; + char video_open_command[PATH_MAX * 2]; + char audio_play_command[PATH_MAX * 2]; char cdplay_device[PATH_MAX]; ///< locale encoding double default_fps; int bar_height; @@ -371,7 +372,6 @@ int max_disp_vtracks; boolean mt_load_fuzzy; - } _prefs; enum { @@ -642,7 +642,6 @@ LiVESList *disabled_decoders; LiVESList *disabled_decoders_new; - } _future_prefs; _prefs *prefs;
View file
LiVES-2.8.4.tar.bz2/src/pulse.c -> LiVES-2.8.6.tar.bz2/src/pulse.c
Changed
@@ -1,3 +1,4 @@ + // pulse.c // LiVES (lives-exe) // (c) G. Finch 2005 - 2014 @@ -19,18 +20,18 @@ static pulse_driver_t pulsed; static pulse_driver_t pulsed_reader; -static pa_threaded_mainloop *pa_mloop=NULL; -static pa_context *pcon=NULL; +static pa_threaded_mainloop *pa_mloop = NULL; +static pa_context *pcon = NULL; static pa_cvolume out_vol; -static uint32_t pulse_server_rate=0; +static uint32_t pulse_server_rate = 0; #define PULSE_READ_BYTES 48000 -static uint8_t prbuf[PULSE_READ_BYTES*2]; +static uint8_t prbuf[PULSE_READ_BYTES * 2]; -static size_t prb=0; +static size_t prb = 0; static boolean seek_err; @@ -45,73 +46,73 @@ } -static void pulse_server_cb(pa_context *c,const pa_server_info *info, void *userdata) { - if (info==NULL) { - pulse_server_rate=0; +static void pulse_server_cb(pa_context *c, const pa_server_info *info, void *userdata) { + if (info == NULL) { + pulse_server_rate = 0; return; } - pulse_server_rate=info->sample_spec.rate; + pulse_server_rate = info->sample_spec.rate; } boolean lives_pulse_init(short startup_phase) { // startup pulse audio server - char *msg,*msg2; + char *msg, *msg2; - int64_t ntime=0,stime; + int64_t ntime = 0, stime; pa_context_state_t pa_state; - if (pa_mloop!=NULL) return TRUE; + if (pa_mloop != NULL) return TRUE; - pa_mloop=pa_threaded_mainloop_new(); - pcon=pa_context_new(pa_threaded_mainloop_get_api(pa_mloop),"LiVES"); - pa_context_connect(pcon,NULL,(pa_context_flags_t)0,NULL); + pa_mloop = pa_threaded_mainloop_new(); + pcon = pa_context_new(pa_threaded_mainloop_get_api(pa_mloop), "LiVES"); + pa_context_connect(pcon, NULL, (pa_context_flags_t)0, NULL); pa_threaded_mainloop_start(pa_mloop); - pa_state=pa_context_get_state(pcon); + pa_state = pa_context_get_state(pcon); - stime=lives_get_current_ticks(); + stime = lives_get_current_ticks(); - while (pa_state!=PA_CONTEXT_READY&&ntime<LIVES_SHORT_TIMEOUT) { + while (pa_state != PA_CONTEXT_READY && ntime < LIVES_SHORT_TIMEOUT) { lives_usleep(prefs->sleep_time); sched_yield(); - pa_state=pa_context_get_state(pcon); - ntime=lives_get_current_ticks()-stime; + pa_state = pa_context_get_state(pcon); + ntime = lives_get_current_ticks() - stime; } - if (ntime>=LIVES_SHORT_TIMEOUT) { + if (ntime >= LIVES_SHORT_TIMEOUT) { pa_context_unref(pcon); - pcon=NULL; + pcon = NULL; pulse_shutdown(); LIVES_WARN("Unable to connect to pulseaudio server"); if (!mainw->foreign) { - if (startup_phase==0&&capable->has_sox_play) { + if (startup_phase == 0 && capable->has_sox_play) { do_error_dialog_with_check( _("\nUnable to connect to pulse audio server.\nFalling back to sox audio player.\nYou can change this in Preferences/Playback.\n"), WARN_MASK_NO_PULSE_CONNECT); - switch_aud_to_sox(prefs->warning_mask&WARN_MASK_NO_PULSE_CONNECT); - } else if (startup_phase==0) { + switch_aud_to_sox(prefs->warning_mask & WARN_MASK_NO_PULSE_CONNECT); + } else if (startup_phase == 0) { if (capable->has_mplayer) { do_error_dialog_with_check( _("\nUnable to connect to pulse audio server.\nFalling back to mplayer audio player.\nYou can change this in Preferences/Playback.\n"), WARN_MASK_NO_PULSE_CONNECT); - switch_aud_to_mplayer(prefs->warning_mask&WARN_MASK_NO_PULSE_CONNECT); + switch_aud_to_mplayer(prefs->warning_mask & WARN_MASK_NO_PULSE_CONNECT); } else if (capable->has_mplayer2) { do_error_dialog_with_check( _("\nUnable to connect to pulse audio server.\nFalling back to mplayer2 audio player.\nYou can change this in Preferences/Playback.\n"), WARN_MASK_NO_PULSE_CONNECT); - switch_aud_to_mplayer2(prefs->warning_mask&WARN_MASK_NO_PULSE_CONNECT); + switch_aud_to_mplayer2(prefs->warning_mask & WARN_MASK_NO_PULSE_CONNECT); } } else { - msg=lives_strdup(_("\nUnable to connect to pulse audio server.\n")); - if (startup_phase!=2) { + msg = lives_strdup(_("\nUnable to connect to pulse audio server.\n")); + if (startup_phase != 2) { do_blocking_error_dialog(msg); - mainw->aplayer_broken=TRUE; + mainw->aplayer_broken = TRUE; } else { - msg2=lives_strdup_printf("%s%s",msg,_("LiVES will exit and you can choose another audio player.\n")); + msg2 = lives_strdup_printf("%s%s", msg, _("LiVES will exit and you can choose another audio player.\n")); do_blocking_error_dialog(msg2); lives_free(msg2); } @@ -126,20 +127,20 @@ void pulse_get_rec_avals(pulse_driver_t *pulsed) { - mainw->rec_aclip=pulsed->playing_file; - if (mainw->rec_aclip!=-1) { - mainw->rec_aseek=pulsed->seek_pos/(double)(afile->arate*afile->achans*afile->asampsize/8); - mainw->rec_avel=afile->pb_fps/afile->fps; + mainw->rec_aclip = pulsed->playing_file; + if (mainw->rec_aclip != -1) { + mainw->rec_aseek = pulsed->seek_pos / (double)(afile->arate * afile->achans * afile->asampsize / 8); + mainw->rec_avel = afile->pb_fps / afile->fps; } } static void pulse_set_rec_avals(pulse_driver_t *pulsed, boolean is_forward) { // record direction change - mainw->rec_aclip=pulsed->playing_file; - if (mainw->rec_aclip!=-1) { - mainw->rec_avel=ABS(afile->pb_fps/afile->fps); - if (!is_forward) mainw->rec_avel=-mainw->rec_avel; - mainw->rec_aseek=(double)pulsed->seek_pos/(double)(afile->arate*afile->achans*afile->asampsize/8); + mainw->rec_aclip = pulsed->playing_file; + if (mainw->rec_aclip != -1) { + mainw->rec_avel = ABS(afile->pb_fps / afile->fps); + if (!is_forward) mainw->rec_avel = -mainw->rec_avel; + mainw->rec_aseek = (double)pulsed->seek_pos / (double)(afile->arate * afile->achans * afile->asampsize / 8); } } @@ -151,33 +152,33 @@ static void sample_silence_pulse(pulse_driver_t *pdriver, size_t nbytes, size_t xbytes) { uint8_t *buff; - if (xbytes<=0) return; + if (xbytes <= 0) return; if (mainw->aplayer_broken) return; - while (nbytes>0) { - if (nbytes<xbytes) xbytes=nbytes; - buff=(uint8_t *)lives_try_malloc0(xbytes); + while (nbytes > 0) { + if (nbytes < xbytes) xbytes = nbytes; + buff = (uint8_t *)lives_try_malloc0(xbytes); if (!buff) return; - if (pdriver->astream_fd!=-1) audio_stream(buff,xbytes,pdriver->astream_fd); - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { + if (pdriver->astream_fd != -1) audio_stream(buff, xbytes, pdriver->astream_fd); + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { pthread_mutex_lock(&mainw->abuf_frame_mutex); - append_to_audio_buffer16(mainw->audio_frame_buffer,buff,xbytes/2,0); - mainw->audio_frame_buffer->samples_filled+=xbytes/2; + append_to_audio_buffer16(mainw->audio_frame_buffer, buff, xbytes / 2, 0); + mainw->audio_frame_buffer->samples_filled += xbytes / 2; pthread_mutex_unlock(&mainw->abuf_frame_mutex); } - pa_stream_write(pdriver->pstream,buff,xbytes,pulse_buff_free,0,PA_SEEK_RELATIVE); - nbytes-=xbytes; + pa_stream_write(pdriver->pstream, buff, xbytes, pulse_buff_free, 0, PA_SEEK_RELATIVE); + nbytes -= xbytes; } } -static short *shortbuffer=NULL; +static short *shortbuffer = NULL; static void pulse_audio_write_process_dummy(pa_stream *pstream, size_t nbytes, void *arg) { pulse_driver_t *pulsed = (pulse_driver_t *)arg; - uint64_t nframes=nbytes/pulsed->out_achans/(pulsed->out_asamps>>3); - size_t xbytes=pa_stream_writable_size(pstream); - sample_silence_pulse(pulsed,nframes*pulsed->out_achans*(pulsed->out_asamps>>3),xbytes); + uint64_t nframes = nbytes / pulsed->out_achans / (pulsed->out_asamps >> 3); + size_t xbytes = pa_stream_writable_size(pstream); + sample_silence_pulse(pulsed, nframes * pulsed->out_achans * (pulsed->out_asamps >> 3), xbytes); //g_print("pt a1 %ld\n",nframes); return; } @@ -192,105 +193,105 @@ // note also, the buffer size can, and does, change on each call, making it inefficient to use ringbuffers - static float old_volume=-1.; + static float old_volume = -1.; pulse_driver_t *pulsed = (pulse_driver_t *)arg; - uint64_t nframes=nbytes/pulsed->out_achans/(pulsed->out_asamps>>3); + uint64_t nframes = nbytes / pulsed->out_achans / (pulsed->out_asamps >> 3); aserver_message_t *msg; - int64_t seek,xseek; + int64_t seek, xseek; int new_file; char *filename; - boolean from_memory=FALSE; + boolean from_memory = FALSE; uint8_t *buffer; - size_t xbytes=pa_stream_writable_size(pstream); + size_t xbytes = pa_stream_writable_size(pstream); - boolean needs_free=FALSE; + boolean needs_free = FALSE; - size_t offs=0; + size_t offs = 0; pa_volume_t pavol; - pulsed->pstream=pstream; + pulsed->pstream = pstream; - if (xbytes>nbytes) xbytes=nbytes; + if (xbytes > nbytes) xbytes = nbytes; - if (!mainw->is_ready||pulsed==NULL||(mainw->playing_file==-1&&pulsed->msgq==NULL)||nbytes>1000000) { - sample_silence_pulse(pulsed,nframes*pulsed->out_achans*(pulsed->out_asamps>>3),xbytes); + if (!mainw->is_ready || pulsed == NULL || (mainw->playing_file == -1 && pulsed->msgq == NULL) || nbytes > 1000000) { + sample_silence_pulse(pulsed, nframes * pulsed->out_achans * (pulsed->out_asamps >> 3), xbytes); //g_print("pt a1 %ld\n",nframes); return; } - while ((msg=(aserver_message_t *)pulsed->msgq)!=NULL) { + while ((msg = (aserver_message_t *)pulsed->msgq) != NULL) { switch (msg->command) { case ASERVER_CMD_FILE_OPEN: - new_file=atoi((char *)msg->data); - if (pulsed->playing_file!=new_file) { - if (pulsed->is_opening) filename=lives_build_filename(prefs->workdir,mainw->files[new_file]->handle, - "audiodump.pcm",NULL); - else filename=lives_build_filename(prefs->workdir,mainw->files[new_file]->handle,"audio",NULL); - pulsed->fd=lives_open2(filename,O_RDONLY); - if (pulsed->fd==-1) { + new_file = atoi((char *)msg->data); + if (pulsed->playing_file != new_file) { + if (pulsed->is_opening) filename = lives_build_filename(prefs->workdir, mainw->files[new_file]->handle, + "audiodump.pcm", NULL); + else filename = lives_build_filename(prefs->workdir, mainw->files[new_file]->handle, "audio", NULL); + pulsed->fd = lives_open2(filename, O_RDONLY); + if (pulsed->fd == -1) { // dont show gui errors - we are running in realtime thread LIVES_ERROR("pulsed: error opening"); LIVES_ERROR(filename); - pulsed->playing_file=-1; + pulsed->playing_file = -1; } else { - pulsed->seek_pos=0; - pulsed->playing_file=new_file; - pulsed->audio_ticks=mainw->currticks; - pulsed->frames_written=0; - pulsed->usec_start=0; + pulsed->seek_pos = 0; + pulsed->playing_file = new_file; + pulsed->audio_ticks = mainw->currticks; + pulsed->frames_written = 0; + pulsed->usec_start = 0; } lives_free(filename); } break; case ASERVER_CMD_FILE_CLOSE: - if (pulsed->fd>=0) close(pulsed->fd); - pulsed->fd=-1; + if (pulsed->fd >= 0) close(pulsed->fd); + pulsed->fd = -1; lives_freep((void **)&pulsed->aPlayPtr->data); - pulsed->aPlayPtr->max_size=0; - pulsed->aPlayPtr->size=0; - pulsed->playing_file=-1; + pulsed->aPlayPtr->max_size = 0; + pulsed->aPlayPtr->size = 0; + pulsed->playing_file = -1; break; case ASERVER_CMD_FILE_SEEK: - if (pulsed->fd<0) break; - xseek=seek=atol((char *)msg->data); - if (seek<0.) xseek=0.; - if (mainw->agen_key==0&&!mainw->agen_needs_reinit) { - lseek(pulsed->fd,xseek,SEEK_SET); + if (pulsed->fd < 0) break; + xseek = seek = atol((char *)msg->data); + if (seek < 0.) xseek = 0.; + if (mainw->agen_key == 0 && !mainw->agen_needs_reinit) { + lseek(pulsed->fd, xseek, SEEK_SET); } - pulsed->seek_pos=seek; - pulsed->audio_ticks=mainw->currticks; - pulsed->frames_written=0; - pulsed->usec_start=0; + pulsed->seek_pos = seek; + pulsed->audio_ticks = mainw->currticks; + pulsed->frames_written = 0; + pulsed->usec_start = 0; break; default: - msg->data=NULL; + msg->data = NULL; } lives_freep((void **)&msg->data); - msg->command=ASERVER_CMD_PROCESSED; - if (msg->next==NULL) pulsed->msgq=NULL; + msg->command = ASERVER_CMD_PROCESSED; + if (msg->next == NULL) pulsed->msgq = NULL; else pulsed->msgq = msg->next; } - if (pulsed->chunk_size!=nbytes) pulsed->chunk_size = nbytes; + if (pulsed->chunk_size != nbytes) pulsed->chunk_size = nbytes; - pulsed->state=pa_context_get_state(pulsed->con); + pulsed->state = pa_context_get_state(pulsed->con); - if (pulsed->state==PA_CONTEXT_READY) { + if (pulsed->state == PA_CONTEXT_READY) { uint64_t pulseFramesAvailable = nframes; uint64_t inputFramesAvailable; uint64_t numFramesToWrite; - int64_t in_frames=0; - uint64_t in_bytes=0,xin_bytes=0; - float shrink_factor=1.f; + int64_t in_frames = 0; + uint64_t in_bytes = 0, xin_bytes = 0; + float shrink_factor = 1.f; int swap_sign; - lives_clip_t *xfile=afile; + lives_clip_t *xfile = afile; #ifdef DEBUG_PULSE lives_printerr("playing... pulseFramesAvailable = %ld\n", pulseFramesAvailable); @@ -298,254 +299,254 @@ pulsed->num_calls++; - if (!pulsed->in_use||(((pulsed->fd<0||pulsed->seek_pos<0.)&&pulsed->read_abuf<0)&& - ((mainw->agen_key==0&&!mainw->agen_needs_reinit)||mainw->multitrack!=NULL)) - ||pulsed->is_paused) { + if (!pulsed->in_use || (((pulsed->fd < 0 || pulsed->seek_pos < 0.) && pulsed->read_abuf < 0) && + ((mainw->agen_key == 0 && !mainw->agen_needs_reinit) || mainw->multitrack != NULL)) + || pulsed->is_paused) { - sample_silence_pulse(pulsed,nframes*pulsed->out_achans*(pulsed->out_asamps>>3),xbytes); + sample_silence_pulse(pulsed, nframes * pulsed->out_achans * (pulsed->out_asamps >> 3), xbytes); - if (!pulsed->is_paused) pulsed->frames_written+=nframes; - if (pulsed->seek_pos<0.&&pulsed->playing_file>-1&&afile!=NULL) { - pulsed->seek_pos+=nframes*afile->achans*afile->asampsize/8; - if (pulsed->seek_pos>=0) pulse_audio_seek_bytes(pulsed,pulsed->seek_pos); + if (!pulsed->is_paused) pulsed->frames_written += nframes; + if (pulsed->seek_pos < 0. && pulsed->playing_file > -1 && afile != NULL) { + pulsed->seek_pos += nframes * afile->achans * afile->asampsize / 8; + if (pulsed->seek_pos >= 0) pulse_audio_seek_bytes(pulsed, pulsed->seek_pos); } //g_print("pt a3 %d\n",pulsed->in_use); return; } - if (LIVES_LIKELY(pulseFramesAvailable>0&&(pulsed->read_abuf>-1|| - (pulsed->aPlayPtr!=NULL - &&pulsed->in_achans>0)|| - ((mainw->agen_key!=0||mainw->agen_needs_reinit)&&mainw->multitrack==NULL) - ))) { + if (LIVES_LIKELY(pulseFramesAvailable > 0 && (pulsed->read_abuf > -1 || + (pulsed->aPlayPtr != NULL + && pulsed->in_achans > 0) || + ((mainw->agen_key != 0 || mainw->agen_needs_reinit) && mainw->multitrack == NULL) + ))) { - if (mainw->playing_file>-1&&pulsed->read_abuf>-1) { + if (mainw->playing_file > -1 && pulsed->read_abuf > -1) { // playing back from memory buffers instead of from file // this is used in multitrack - from_memory=TRUE; + from_memory = TRUE; - numFramesToWrite=pulseFramesAvailable; - pulsed->frames_written+=numFramesToWrite; - pulseFramesAvailable-=numFramesToWrite; + numFramesToWrite = pulseFramesAvailable; + pulsed->frames_written += numFramesToWrite; + pulseFramesAvailable -= numFramesToWrite; } else { - if (LIVES_LIKELY(pulsed->fd>=0)) { + if (LIVES_LIKELY(pulsed->fd >= 0)) { - if ((pulsed->playing_file==mainw->ascrap_file&&!mainw->preview)&&mainw->playing_file>=-1 - &&mainw->files[mainw->playing_file]->achans>0) { - xfile=mainw->files[mainw->playing_file]; + if ((pulsed->playing_file == mainw->ascrap_file && !mainw->preview) && mainw->playing_file >= -1 + && mainw->files[mainw->playing_file]->achans > 0) { + xfile = mainw->files[mainw->playing_file]; } - pulsed->aPlayPtr->size=0; - in_bytes=ABS((in_frames=((double)pulsed->in_arate/(double)pulsed->out_arate* - (double)pulseFramesAvailable+((double)fastrand()/(double)LIVES_MAXUINT32)))) - *pulsed->in_achans*(pulsed->in_asamps>>3); + pulsed->aPlayPtr->size = 0; + in_bytes = ABS((in_frames = ((double)pulsed->in_arate / (double)pulsed->out_arate * + (double)pulseFramesAvailable + ((double)fastrand() / (double)LIVES_MAXUINT32)))) + * pulsed->in_achans * (pulsed->in_asamps >> 3); //g_print("in bytes=%ld %ld %ld %ld %d %d\n",in_bytes,pulsed->in_arate,pulsed->out_arate,pulseFramesAvailable,pulsed->in_achans,pulsed->in_asamps); - if ((shrink_factor=(float)in_frames/(float)pulseFramesAvailable)<0.f) { + if ((shrink_factor = (float)in_frames / (float)pulseFramesAvailable) < 0.f) { // reverse playback - if ((pulsed->seek_pos-=in_bytes)<0) { - if (pulsed->loop==AUDIO_LOOP_NONE) { - if (*pulsed->whentostop==STOP_ON_AUD_END) { - *pulsed->cancelled=CANCEL_AUD_END; + if ((pulsed->seek_pos -= in_bytes) < 0) { + if (pulsed->loop == AUDIO_LOOP_NONE) { + if (*pulsed->whentostop == STOP_ON_AUD_END) { + *pulsed->cancelled = CANCEL_AUD_END; } - pulsed->in_use=FALSE; - pulse_set_rec_avals(pulsed,FALSE); + pulsed->in_use = FALSE; + pulse_set_rec_avals(pulsed, FALSE); } else { - if (pulsed->loop==AUDIO_LOOP_PINGPONG) { - pulsed->in_arate=-pulsed->in_arate; - shrink_factor=-shrink_factor; - pulsed->seek_pos=0; - pulse_set_rec_avals(pulsed,TRUE); - } else pulsed->seek_pos=pulsed->seek_end-in_bytes; - pulse_set_rec_avals(pulsed,FALSE); + if (pulsed->loop == AUDIO_LOOP_PINGPONG) { + pulsed->in_arate = -pulsed->in_arate; + shrink_factor = -shrink_factor; + pulsed->seek_pos = 0; + pulse_set_rec_avals(pulsed, TRUE); + } else pulsed->seek_pos = pulsed->seek_end - in_bytes; + pulse_set_rec_avals(pulsed, FALSE); } } // rewind by in_bytes - if ((mainw->agen_key==0&&!mainw->agen_needs_reinit)||mainw->multitrack!=NULL) - lseek(pulsed->fd,pulsed->seek_pos,SEEK_SET); + if ((mainw->agen_key == 0 && !mainw->agen_needs_reinit) || mainw->multitrack != NULL) + lseek(pulsed->fd, pulsed->seek_pos, SEEK_SET); } - if (LIVES_UNLIKELY((in_bytes>pulsed->aPlayPtr->max_size && !(*pulsed->cancelled) && ABS(shrink_factor)<=100.f))) { - pulsed->aPlayPtr->data=lives_try_realloc(pulsed->aPlayPtr->data,in_bytes); - if (pulsed->aPlayPtr->data!=NULL) { - memset(pulsed->aPlayPtr->data,0,in_bytes); - pulsed->aPlayPtr->max_size=in_bytes; + if (LIVES_UNLIKELY((in_bytes > pulsed->aPlayPtr->max_size && !(*pulsed->cancelled) && ABS(shrink_factor) <= 100.f))) { + pulsed->aPlayPtr->data = lives_try_realloc(pulsed->aPlayPtr->data, in_bytes); + if (pulsed->aPlayPtr->data != NULL) { + memset(pulsed->aPlayPtr->data, 0, in_bytes); + pulsed->aPlayPtr->max_size = in_bytes; } } else { - pulsed->aPlayPtr->max_size=0; + pulsed->aPlayPtr->max_size = 0; } - if (pulsed->mute||(pulsed->aPlayPtr->data==NULL&&((mainw->agen_key==0&&!mainw->agen_needs_reinit)|| - mainw->multitrack!=NULL))) { - if (shrink_factor>0.f) pulsed->seek_pos+=in_bytes; - if (pulsed->seek_pos>=pulsed->seek_end) { - if (*pulsed->whentostop==STOP_ON_AUD_END) { - *pulsed->cancelled=CANCEL_AUD_END; + if (pulsed->mute || (pulsed->aPlayPtr->data == NULL && ((mainw->agen_key == 0 && !mainw->agen_needs_reinit) || + mainw->multitrack != NULL))) { + if (shrink_factor > 0.f) pulsed->seek_pos += in_bytes; + if (pulsed->seek_pos >= pulsed->seek_end) { + if (*pulsed->whentostop == STOP_ON_AUD_END) { + *pulsed->cancelled = CANCEL_AUD_END; } else { - if (pulsed->loop==AUDIO_LOOP_PINGPONG) { - pulsed->in_arate=-pulsed->in_arate; - pulsed->seek_pos-=in_bytes; + if (pulsed->loop == AUDIO_LOOP_PINGPONG) { + pulsed->in_arate = -pulsed->in_arate; + pulsed->seek_pos -= in_bytes; } else { - pulsed->seek_pos=0; + pulsed->seek_pos = 0; } } } - sample_silence_pulse(pulsed,nframes*pulsed->out_achans* - (pulsed->out_asamps>>3),xbytes); - pulsed->frames_written+=nframes; + sample_silence_pulse(pulsed, nframes * pulsed->out_achans * + (pulsed->out_asamps >> 3), xbytes); + pulsed->frames_written += nframes; //g_print("pt a4\n"); return; } else { boolean loop_restart; do { - loop_restart=FALSE; - if (in_bytes>0) { + loop_restart = FALSE; + if (in_bytes > 0) { // playing from a file - if (!(*pulsed->cancelled)&&ABS(shrink_factor)<=100.f) { - if (((((mainw->agen_key==0&&!mainw->agen_needs_reinit)||mainw->multitrack!=NULL)&& - (pulsed->aPlayPtr->size=read(pulsed->fd,pulsed->aPlayPtr->data,in_bytes))==0))|| - (((mainw->agen_key!=0||mainw->agen_needs_reinit)&&mainw->multitrack==NULL&& - pulsed->seek_pos+in_bytes>=xfile->afilesize))) { - if (*pulsed->whentostop==STOP_ON_AUD_END) { - *pulsed->cancelled=CANCEL_AUD_END; + if (!(*pulsed->cancelled) && ABS(shrink_factor) <= 100.f) { + if (((((mainw->agen_key == 0 && !mainw->agen_needs_reinit) || mainw->multitrack != NULL) && + (pulsed->aPlayPtr->size = read(pulsed->fd, pulsed->aPlayPtr->data, in_bytes)) == 0)) || + (((mainw->agen_key != 0 || mainw->agen_needs_reinit) && mainw->multitrack == NULL && + pulsed->seek_pos + in_bytes >= xfile->afilesize))) { + if (*pulsed->whentostop == STOP_ON_AUD_END) { + *pulsed->cancelled = CANCEL_AUD_END; } else { - loop_restart=TRUE; - if (pulsed->loop==AUDIO_LOOP_PINGPONG) { - pulsed->in_arate=-pulsed->in_arate; - if ((mainw->agen_key==0&&!mainw->agen_needs_reinit)||mainw->multitrack!=NULL) - lseek(pulsed->fd,(pulsed->seek_pos-=in_bytes),SEEK_SET); - else pulsed->seek_pos-=in_bytes; - pulse_set_rec_avals(pulsed,FALSE); + loop_restart = TRUE; + if (pulsed->loop == AUDIO_LOOP_PINGPONG) { + pulsed->in_arate = -pulsed->in_arate; + if ((mainw->agen_key == 0 && !mainw->agen_needs_reinit) || mainw->multitrack != NULL) + lseek(pulsed->fd, (pulsed->seek_pos -= in_bytes), SEEK_SET); + else pulsed->seek_pos -= in_bytes; + pulse_set_rec_avals(pulsed, FALSE); } else { - if (pulsed->loop!=AUDIO_LOOP_NONE) { - seek=0; - if ((mainw->agen_key==0&&!mainw->agen_needs_reinit)||mainw->multitrack!=NULL) - lseek(pulsed->fd,(pulsed->seek_pos=seek),SEEK_SET); - else pulsed->seek_pos=seek; - pulse_set_rec_avals(pulsed,TRUE); + if (pulsed->loop != AUDIO_LOOP_NONE) { + seek = 0; + if ((mainw->agen_key == 0 && !mainw->agen_needs_reinit) || mainw->multitrack != NULL) + lseek(pulsed->fd, (pulsed->seek_pos = seek), SEEK_SET); + else pulsed->seek_pos = seek; + pulse_set_rec_avals(pulsed, TRUE); } else { - if (mainw->agen_key==0&&!mainw->agen_needs_reinit) pulsed->in_use=FALSE; - loop_restart=FALSE; - pulse_set_rec_avals(pulsed,TRUE); + if (mainw->agen_key == 0 && !mainw->agen_needs_reinit) pulsed->in_use = FALSE; + loop_restart = FALSE; + pulse_set_rec_avals(pulsed, TRUE); } } } } else { - if (pulsed->aPlayPtr->size<0&&((mainw->agen_key==0&&!mainw->agen_needs_reinit)|| - mainw->multitrack!=NULL)) { + if (pulsed->aPlayPtr->size < 0 && ((mainw->agen_key == 0 && !mainw->agen_needs_reinit) || + mainw->multitrack != NULL)) { // read error...output silence - sample_silence_pulse(pulsed,nframes*pulsed->out_achans* - (pulsed->out_asamps>>3),xbytes); - if (!pulsed->is_paused) pulsed->frames_written+=nframes; + sample_silence_pulse(pulsed, nframes * pulsed->out_achans * + (pulsed->out_asamps >> 3), xbytes); + if (!pulsed->is_paused) pulsed->frames_written += nframes; return; } - if (shrink_factor<0.f) { + if (shrink_factor < 0.f) { // reverse play - rewind again by in_bytes - if ((mainw->agen_key==0&&!mainw->agen_needs_reinit)||mainw->multitrack!=NULL) - lseek(pulsed->fd,pulsed->seek_pos,SEEK_SET); + if ((mainw->agen_key == 0 && !mainw->agen_needs_reinit) || mainw->multitrack != NULL) + lseek(pulsed->fd, pulsed->seek_pos, SEEK_SET); } else { - if ((mainw->agen_key==0&&!mainw->agen_needs_reinit)||mainw->multitrack!=NULL) - pulsed->seek_pos+=pulsed->aPlayPtr->size; + if ((mainw->agen_key == 0 && !mainw->agen_needs_reinit) || mainw->multitrack != NULL) + pulsed->seek_pos += pulsed->aPlayPtr->size; else - pulsed->seek_pos+=in_bytes; + pulsed->seek_pos += in_bytes; } } } } } while (loop_restart); } - xin_bytes=in_bytes; + xin_bytes = in_bytes; } - if (mainw->agen_key!=0&&mainw->multitrack==NULL) { - in_bytes=pulseFramesAvailable*pulsed->out_achans*2; - if (xin_bytes==0) xin_bytes=in_bytes; + if (mainw->agen_key != 0 && mainw->multitrack == NULL) { + in_bytes = pulseFramesAvailable * pulsed->out_achans * 2; + if (xin_bytes == 0) xin_bytes = in_bytes; } - if (!pulsed->in_use||in_bytes==0||pulsed->mute) { + if (!pulsed->in_use || in_bytes == 0 || pulsed->mute) { // reached end of audio with no looping - sample_silence_pulse(pulsed,nframes*pulsed->out_achans* - (pulsed->out_asamps>>3),xbytes); - if (!pulsed->is_paused) pulsed->frames_written+=nframes; - if (pulsed->seek_pos<0.&&pulsed->playing_file>-1&&afile!=NULL) { - pulsed->seek_pos+=nframes*afile->achans*afile->asampsize/8; - if (pulsed->seek_pos>=0) pulse_audio_seek_bytes(pulsed,pulsed->seek_pos); + sample_silence_pulse(pulsed, nframes * pulsed->out_achans * + (pulsed->out_asamps >> 3), xbytes); + if (!pulsed->is_paused) pulsed->frames_written += nframes; + if (pulsed->seek_pos < 0. && pulsed->playing_file > -1 && afile != NULL) { + pulsed->seek_pos += nframes * afile->achans * afile->asampsize / 8; + if (pulsed->seek_pos >= 0) pulse_audio_seek_bytes(pulsed, pulsed->seek_pos); } //g_print("pt a5 %d %d\n",pulsed->in_use,in_bytes); return; } - if ((mainw->agen_key==0&&!mainw->agen_needs_reinit)||mainw->multitrack!=NULL) { - swap_sign=afile->signed_endian&AFORM_UNSIGNED; + if ((mainw->agen_key == 0 && !mainw->agen_needs_reinit) || mainw->multitrack != NULL) { + swap_sign = afile->signed_endian & AFORM_UNSIGNED; - inputFramesAvailable = pulsed->aPlayPtr->size / (pulsed->in_achans * (pulsed->in_asamps>>3)); + inputFramesAvailable = pulsed->aPlayPtr->size / (pulsed->in_achans * (pulsed->in_asamps >> 3)); #ifdef DEBUG_PULSE lives_printerr("%ld inputFramesAvailable == %ld, %ld, %ld %ld,pulseFramesAvailable == %ld\n", pulsed->aPlayPtr->size, inputFramesAvailable, - in_frames, pulsed->in_arate,pulsed->out_arate,pulseFramesAvailable); + in_frames, pulsed->in_arate, pulsed->out_arate, pulseFramesAvailable); #endif buffer = (uint8_t *)pulsed->aPlayPtr->data; - numFramesToWrite = MIN(pulseFramesAvailable, (inputFramesAvailable/ABS(shrink_factor)+.001)); + numFramesToWrite = MIN(pulseFramesAvailable, (inputFramesAvailable / ABS(shrink_factor) + .001)); #ifdef DEBUG_PULSE - lives_printerr("inputFramesAvailable after conversion %d\n",(uint64_t)((double)inputFramesAvailable/shrink_factor+.001)); + lives_printerr("inputFramesAvailable after conversion %d\n", (uint64_t)((double)inputFramesAvailable / shrink_factor + .001)); lives_printerr("nframes == %ld, pulseFramesAvailable == %ld,\n\tpulsed->num_input_channels == %ld, pulsed->out_achans == %ld\n", nframes, pulseFramesAvailable, pulsed->in_achans, pulsed->out_achans); #endif - if (pulsed->in_asamps==pulsed->out_asamps&&shrink_factor==1.&&pulsed->in_achans==pulsed->out_achans&& - !pulsed->reverse_endian&&!swap_sign) { + if (pulsed->in_asamps == pulsed->out_asamps && shrink_factor == 1. && pulsed->in_achans == pulsed->out_achans && + !pulsed->reverse_endian && !swap_sign) { // no transformation needed - pulsed->sound_buffer=buffer; + pulsed->sound_buffer = buffer; } else { - pulsed->sound_buffer=(uint8_t *)lives_try_malloc0(pulsed->chunk_size); + pulsed->sound_buffer = (uint8_t *)lives_try_malloc0(pulsed->chunk_size); if (!pulsed->sound_buffer) { - sample_silence_pulse(pulsed,nframes*pulsed->out_achans* - (pulsed->out_asamps>>3),xbytes); - if (!pulsed->is_paused) pulsed->frames_written+=nframes; + sample_silence_pulse(pulsed, nframes * pulsed->out_achans * + (pulsed->out_asamps >> 3), xbytes); + if (!pulsed->is_paused) pulsed->frames_written += nframes; return; } - if (pulsed->in_asamps==8) { - sample_move_d8_d16((short *)(pulsed->sound_buffer),(uint8_t *)buffer, numFramesToWrite, in_bytes, - shrink_factor, pulsed->out_achans, pulsed->in_achans, swap_sign?SWAP_U_TO_S:0); + if (pulsed->in_asamps == 8) { + sample_move_d8_d16((short *)(pulsed->sound_buffer), (uint8_t *)buffer, numFramesToWrite, in_bytes, + shrink_factor, pulsed->out_achans, pulsed->in_achans, swap_sign ? SWAP_U_TO_S : 0); } else { sample_move_d16_d16((short *)pulsed->sound_buffer, (short *)buffer, numFramesToWrite, in_bytes, shrink_factor, - pulsed->out_achans, pulsed->in_achans, pulsed->reverse_endian?SWAP_X_TO_L:0, - swap_sign?SWAP_U_TO_S:0); + pulsed->out_achans, pulsed->in_achans, pulsed->reverse_endian ? SWAP_X_TO_L : 0, + swap_sign ? SWAP_U_TO_S : 0); } } - if (has_audio_filters(AF_TYPE_ANY)&&(pulsed->playing_file!=mainw->ascrap_file)) { - boolean memok=TRUE; - float **fltbuf=(float **)lives_malloc(pulsed->out_achans*sizeof(float *)); + if (has_audio_filters(AF_TYPE_ANY) && (pulsed->playing_file != mainw->ascrap_file)) { + boolean memok = TRUE; + float **fltbuf = (float **)lives_malloc(pulsed->out_achans * sizeof(float *)); register int i; // we have audio filters; convert to float, pass through any audio filters, then back to s16 - for (i=0; i<pulsed->out_achans; i++) { + for (i = 0; i < pulsed->out_achans; i++) { // convert s16 to non-interleaved float - fltbuf[i]=(float *)lives_try_malloc(numFramesToWrite*sizeof(float)); - if (fltbuf[i]==NULL) { - memok=FALSE; - for (--i; i>=0; i--) { + fltbuf[i] = (float *)lives_try_malloc(numFramesToWrite * sizeof(float)); + if (fltbuf[i] == NULL) { + memok = FALSE; + for (--i; i >= 0; i--) { lives_free(fltbuf[i]); } break; } - sample_move_d16_float(fltbuf[i],(short *)pulsed->sound_buffer+i,numFramesToWrite,pulsed->out_achans,FALSE,FALSE,1.0); + sample_move_d16_float(fltbuf[i], (short *)pulsed->sound_buffer + i, numFramesToWrite, pulsed->out_achans, FALSE, FALSE, 1.0); } if (memok) { - int64_t tc=pulsed->audio_ticks+(int64_t)(pulsed->frames_written/(double)pulsed->out_arate*U_SEC); + int64_t tc = pulsed->audio_ticks + (int64_t)(pulsed->frames_written / (double)pulsed->out_arate * U_SEC); // apply any audio effects with in_channels - weed_apply_audio_effects_rt(fltbuf,pulsed->out_achans,numFramesToWrite,pulsed->out_arate,tc,FALSE); + weed_apply_audio_effects_rt(fltbuf, pulsed->out_achans, numFramesToWrite, pulsed->out_arate, tc, FALSE); // convert float audio back to s16 - sample_move_float_int(pulsed->sound_buffer,fltbuf,numFramesToWrite,1.0,pulsed->out_achans,16,0, - (capable->byte_order==LIVES_LITTLE_ENDIAN),FALSE,1.0); + sample_move_float_int(pulsed->sound_buffer, fltbuf, numFramesToWrite, 1.0, pulsed->out_achans, 16, 0, + (capable->byte_order == LIVES_LITTLE_ENDIAN), FALSE, 1.0); - for (i=0; i<pulsed->out_achans; i++) { + for (i = 0; i < pulsed->out_achans; i++) { lives_free(fltbuf[i]); } } @@ -556,72 +557,72 @@ } else { // audio generator // get float audio from gen, convert it to S16 - float *fbuffer=NULL; - boolean pl_error=FALSE; - xbytes=nbytes; - numFramesToWrite=pulseFramesAvailable; + float *fbuffer = NULL; + boolean pl_error = FALSE; + xbytes = nbytes; + numFramesToWrite = pulseFramesAvailable; - if (mainw->agen_needs_reinit) pl_error=TRUE; + if (mainw->agen_needs_reinit) pl_error = TRUE; else { - fbuffer=(float *)lives_malloc(numFramesToWrite*pulsed->out_achans*sizeof(float)); - if (!get_audio_from_plugin(fbuffer,pulsed->out_achans,pulsed->out_arate,numFramesToWrite)) { - pl_error=TRUE; + fbuffer = (float *)lives_malloc(numFramesToWrite * pulsed->out_achans * sizeof(float)); + if (!get_audio_from_plugin(fbuffer, pulsed->out_achans, pulsed->out_arate, numFramesToWrite)) { + pl_error = TRUE; } } if (!pl_error) { - if (LIVES_UNLIKELY(nbytes>pulsed->aPlayPtr->max_size)) { - pulsed->aPlayPtr->data=lives_try_realloc(pulsed->aPlayPtr->data,nbytes); - if (pulsed->aPlayPtr->data!=NULL) { - memset(pulsed->aPlayPtr->data,0,nbytes); - pulsed->aPlayPtr->max_size=nbytes; - } else pl_error=TRUE; + if (LIVES_UNLIKELY(nbytes > pulsed->aPlayPtr->max_size)) { + pulsed->aPlayPtr->data = lives_try_realloc(pulsed->aPlayPtr->data, nbytes); + if (pulsed->aPlayPtr->data != NULL) { + memset(pulsed->aPlayPtr->data, 0, nbytes); + pulsed->aPlayPtr->max_size = nbytes; + } else pl_error = TRUE; } - pulsed->aPlayPtr->size=nbytes; + pulsed->aPlayPtr->size = nbytes; } // get back non-interleaved float fbuffer; rate and channels should match - if (pl_error) nbytes=0; + if (pl_error) nbytes = 0; else { register int i; - boolean memok=FALSE; - float **fp=(float **)lives_malloc(pulsed->out_achans*sizeof(float *)); + boolean memok = FALSE; + float **fp = (float **)lives_malloc(pulsed->out_achans * sizeof(float *)); void *buf; - pulsed->sound_buffer=(uint8_t *)pulsed->aPlayPtr->data; - buf=(void *)pulsed->sound_buffer; + pulsed->sound_buffer = (uint8_t *)pulsed->aPlayPtr->data; + buf = (void *)pulsed->sound_buffer; if (has_audio_filters(AF_TYPE_ANY)) { register int i; - memok=TRUE; + memok = TRUE; // we have audio filters; convert to float, pass through any audio filters, then back to s16 - for (i=0; i<pulsed->out_achans; i++) { + for (i = 0; i < pulsed->out_achans; i++) { // convert s16 to non-interleaved float - fp[i]=(float *)lives_try_malloc(numFramesToWrite*sizeof(float)); - if (fp[i]==NULL) { - memok=FALSE; - for (--i; i>=0; i--) { + fp[i] = (float *)lives_try_malloc(numFramesToWrite * sizeof(float)); + if (fp[i] == NULL) { + memok = FALSE; + for (--i; i >= 0; i--) { lives_free(fp[i]); } break; } - lives_memcpy(fp[i],&fbuffer[i*numFramesToWrite],numFramesToWrite*sizeof(float)); + lives_memcpy(fp[i], &fbuffer[i * numFramesToWrite], numFramesToWrite * sizeof(float)); } if (memok) { - int64_t tc=pulsed->audio_ticks+(int64_t)(pulsed->frames_written/(double)pulsed->out_arate*U_SEC); + int64_t tc = pulsed->audio_ticks + (int64_t)(pulsed->frames_written / (double)pulsed->out_arate * U_SEC); // apply any audio effects with in_channels - weed_apply_audio_effects_rt(fp,pulsed->out_achans,numFramesToWrite,pulsed->out_arate,tc,FALSE); + weed_apply_audio_effects_rt(fp, pulsed->out_achans, numFramesToWrite, pulsed->out_arate, tc, FALSE); // convert float audio to s16 - sample_move_float_int(buf,fp,numFramesToWrite,1.0,pulsed->out_achans,16,FALSE, - (capable->byte_order==LIVES_LITTLE_ENDIAN),FALSE,1.0); + sample_move_float_int(buf, fp, numFramesToWrite, 1.0, pulsed->out_achans, 16, FALSE, + (capable->byte_order == LIVES_LITTLE_ENDIAN), FALSE, 1.0); - for (i=0; i<pulsed->out_achans; i++) { + for (i = 0; i < pulsed->out_achans; i++) { lives_free(fp[i]); } } @@ -629,28 +630,28 @@ if (!memok) { // no audio effects; or memory allocation error - for (i=0; i<pulsed->out_achans; i++) { - fp[i]=fbuffer+(i*numFramesToWrite); + for (i = 0; i < pulsed->out_achans; i++) { + fp[i] = fbuffer + (i * numFramesToWrite); } - sample_move_float_int(buf,fp,numFramesToWrite,1.0, - pulsed->out_achans,16,0,(capable->byte_order==LIVES_LITTLE_ENDIAN),FALSE,1.0); + sample_move_float_int(buf, fp, numFramesToWrite, 1.0, + pulsed->out_achans, 16, 0, (capable->byte_order == LIVES_LITTLE_ENDIAN), FALSE, 1.0); } lives_freep((void **)&fbuffer); free(fp); - if (mainw->record&&mainw->ascrap_file!=-1&&mainw->playing_file>0) { + if (mainw->record && mainw->ascrap_file != -1 && mainw->playing_file > 0) { // write generated audio to ascrap_file - size_t rbytes=numFramesToWrite*mainw->files[mainw->ascrap_file]->achans* - mainw->files[mainw->ascrap_file]->asampsize>>3; - pulse_flush_read_data(pulsed,mainw->ascrap_file,nbytes,mainw->files[mainw->ascrap_file]->signed_endian&AFORM_BIG_ENDIAN,buf); - mainw->files[mainw->ascrap_file]->aseek_pos+=rbytes; + size_t rbytes = numFramesToWrite * mainw->files[mainw->ascrap_file]->achans * + mainw->files[mainw->ascrap_file]->asampsize >> 3; + pulse_flush_read_data(pulsed, mainw->ascrap_file, nbytes, mainw->files[mainw->ascrap_file]->signed_endian & AFORM_BIG_ENDIAN, buf); + mainw->files[mainw->ascrap_file]->aseek_pos += rbytes; } } } - pulsed->frames_written+=numFramesToWrite; - pulseFramesAvailable-=numFramesToWrite; + pulsed->frames_written += numFramesToWrite; + pulseFramesAvailable -= numFramesToWrite; #ifdef DEBUG_PULSE lives_printerr("pulseFramesAvailable == %ld\n", pulseFramesAvailable); @@ -659,64 +660,64 @@ // playback from memory or file - if (mainw->volume!=old_volume) { + if (mainw->volume != old_volume) { pa_operation *pa_op; - pavol=pa_sw_volume_from_linear(mainw->volume); - pa_cvolume_set(&out_vol,pulsed->out_achans,pavol); - pa_op=pa_context_set_sink_input_volume(pulsed->con,pa_stream_get_index(pulsed->pstream),&out_vol,NULL,NULL); + pavol = pa_sw_volume_from_linear(mainw->volume); + pa_cvolume_set(&out_vol, pulsed->out_achans, pavol); + pa_op = pa_context_set_sink_input_volume(pulsed->con, pa_stream_get_index(pulsed->pstream), &out_vol, NULL, NULL); pa_operation_unref(pa_op); - old_volume=mainw->volume; + old_volume = mainw->volume; } - while (nbytes>0) { - if (nbytes<xbytes) xbytes=nbytes; + while (nbytes > 0) { + if (nbytes < xbytes) xbytes = nbytes; if (!from_memory) { - if (xbytes/pulsed->out_achans/(pulsed->out_asamps>>3)<=numFramesToWrite&&offs==0) { - buffer=pulsed->sound_buffer; + if (xbytes / pulsed->out_achans / (pulsed->out_asamps >> 3) <= numFramesToWrite && offs == 0) { + buffer = pulsed->sound_buffer; } else { - buffer=(uint8_t *)lives_try_malloc(xbytes); + buffer = (uint8_t *)lives_try_malloc(xbytes); if (!buffer) { - sample_silence_pulse(pulsed,nframes*pulsed->out_achans* - (pulsed->out_asamps>>3),xbytes); - if (!pulsed->is_paused) pulsed->frames_written+=nframes; + sample_silence_pulse(pulsed, nframes * pulsed->out_achans * + (pulsed->out_asamps >> 3), xbytes); + if (!pulsed->is_paused) pulsed->frames_written += nframes; return; } - if (pulsed->sound_buffer) lives_memcpy(buffer,pulsed->sound_buffer+offs,xbytes); - offs+=xbytes; - needs_free=TRUE; + if (pulsed->sound_buffer) lives_memcpy(buffer, pulsed->sound_buffer + offs, xbytes); + offs += xbytes; + needs_free = TRUE; } - if (pulsed->astream_fd!=-1) audio_stream(buffer,xbytes,pulsed->astream_fd); - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { + if (pulsed->astream_fd != -1) audio_stream(buffer, xbytes, pulsed->astream_fd); + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { pthread_mutex_lock(&mainw->abuf_frame_mutex); - append_to_audio_buffer16(mainw->audio_frame_buffer,buffer,xbytes/2,0); - mainw->audio_frame_buffer->samples_filled+=xbytes/2; + append_to_audio_buffer16(mainw->audio_frame_buffer, buffer, xbytes / 2, 0); + mainw->audio_frame_buffer->samples_filled += xbytes / 2; pthread_mutex_unlock(&mainw->abuf_frame_mutex); } - pa_stream_write(pulsed->pstream,buffer,xbytes,buffer==pulsed->aPlayPtr->data?NULL: - pulse_buff_free,0,PA_SEEK_RELATIVE); + pa_stream_write(pulsed->pstream, buffer, xbytes, buffer == pulsed->aPlayPtr->data ? NULL : + pulse_buff_free, 0, PA_SEEK_RELATIVE); } else { - if (pulsed->read_abuf>-1&&!pulsed->mute) { - shortbuffer=(short *)lives_try_malloc0(xbytes); + if (pulsed->read_abuf > -1 && !pulsed->mute) { + shortbuffer = (short *)lives_try_malloc0(xbytes); if (!shortbuffer) return; - sample_move_abuf_int16(shortbuffer,pulsed->out_achans,(xbytes>>1)/pulsed->out_achans,pulsed->out_arate); - if (pulsed->astream_fd!=-1) audio_stream(shortbuffer,xbytes,pulsed->astream_fd); - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src!=AUDIO_SRC_EXT) { + sample_move_abuf_int16(shortbuffer, pulsed->out_achans, (xbytes >> 1) / pulsed->out_achans, pulsed->out_arate); + if (pulsed->astream_fd != -1) audio_stream(shortbuffer, xbytes, pulsed->astream_fd); + if (mainw->audio_frame_buffer != NULL && prefs->audio_src != AUDIO_SRC_EXT) { pthread_mutex_lock(&mainw->abuf_frame_mutex); - append_to_audio_buffer16(mainw->audio_frame_buffer,shortbuffer,xbytes/2,0); - mainw->audio_frame_buffer->samples_filled+=xbytes/2; + append_to_audio_buffer16(mainw->audio_frame_buffer, shortbuffer, xbytes / 2, 0); + mainw->audio_frame_buffer->samples_filled += xbytes / 2; pthread_mutex_unlock(&mainw->abuf_frame_mutex); } - pa_stream_write(pulsed->pstream,shortbuffer,xbytes,pulse_buff_free,0,PA_SEEK_RELATIVE); + pa_stream_write(pulsed->pstream, shortbuffer, xbytes, pulse_buff_free, 0, PA_SEEK_RELATIVE); } else { - sample_silence_pulse(pulsed,xbytes,xbytes); + sample_silence_pulse(pulsed, xbytes, xbytes); } } - nbytes-=xbytes; + nbytes -= xbytes; } - if (needs_free&&pulsed->sound_buffer!=pulsed->aPlayPtr->data&&pulsed->sound_buffer!=NULL) { + if (needs_free && pulsed->sound_buffer != pulsed->aPlayPtr->data && pulsed->sound_buffer != NULL) { lives_freep((void **)&pulsed->sound_buffer); } } @@ -726,15 +727,15 @@ #ifdef DEBUG_PULSE lives_printerr("buffer underrun of %ld frames\n", pulseFramesAvailable); #endif - xbytes=pa_stream_writable_size(pstream); - sample_silence_pulse(pulsed,pulseFramesAvailable*pulsed->out_achans - *(pulsed->out_asamps>>3),xbytes); + xbytes = pa_stream_writable_size(pstream); + sample_silence_pulse(pulsed, pulseFramesAvailable * pulsed->out_achans + * (pulsed->out_asamps >> 3), xbytes); } } else { #ifdef DEBUG_PULSE lives_printerr("PAUSED or STOPPED or CLOSED, outputting silence\n"); #endif - sample_silence_pulse(pulsed,nframes*pulsed->out_achans*(pulsed->out_asamps>>3),xbytes); + sample_silence_pulse(pulsed, nframes * pulsed->out_achans * (pulsed->out_asamps >> 3), xbytes); //g_print("pt a6\n"); } //g_print("pt a7\n"); @@ -749,7 +750,7 @@ size_t pulse_flush_read_data(pulse_driver_t *pulsed, int fileno, size_t rbytes, boolean rev_endian, void *data) { short *gbuf; - size_t bytes_out,frames_out,bytes=0; + size_t bytes_out, frames_out, bytes = 0; void *holding_buff; float out_scale; @@ -758,71 +759,72 @@ lives_clip_t *ofile; - if (mainw->agen_key==0&&!mainw->agen_needs_reinit) { - if (prb==0||mainw->rec_samples==0) return 0; - if (prb<=PULSE_READ_BYTES*2&&rbytes>0) { - gbuf=(short *)data; + if (mainw->agen_key == 0 && !mainw->agen_needs_reinit) { + if (prb == 0 || mainw->rec_samples == 0) return 0; + if (prb <= PULSE_READ_BYTES * 2 && rbytes > 0) { + gbuf = (short *)data; } else { - gbuf=(short *)lives_try_malloc(prb); + gbuf = (short *)lives_try_malloc(prb); if (!gbuf) return 0; - lives_memcpy(gbuf,prbuf,prb-rbytes); - if (rbytes>0) lives_memcpy(gbuf+(prb-rbytes)/sizeof(short),data,rbytes); + lives_memcpy(gbuf, prbuf, prb - rbytes); + if (rbytes > 0) lives_memcpy(gbuf + (prb - rbytes) / sizeof(short), data, rbytes); } - ofile=afile; + ofile = afile; } else { - if (rbytes==0) return 0; - if (fileno==-1) return 0; - gbuf=(short *)data; - prb=rbytes; - ofile=mainw->files[fileno]; + if (rbytes == 0) return 0; + if (fileno == -1) return 0; + gbuf = (short *)data; + prb = rbytes; + ofile = mainw->files[fileno]; } - out_scale=(float)pulsed->in_arate/(float)ofile->arate; - swap_sign=ofile->signed_endian&AFORM_UNSIGNED; + out_scale = (float)pulsed->in_arate / (float)ofile->arate; + swap_sign = ofile->signed_endian & AFORM_UNSIGNED; - frames_out=(size_t)((double)((prb/(ofile->asampsize>>3)/ofile->achans))/out_scale+.5); + frames_out = (size_t)((double)((prb / (ofile->asampsize >> 3) / ofile->achans)) / out_scale + .5); - if (mainw->agen_key==0&&!mainw->agen_needs_reinit) { + if (mainw->agen_key == 0 && !mainw->agen_needs_reinit) { if (frames_out != pulsed->chunk_size) pulsed->chunk_size = frames_out; } - bytes_out=frames_out*ofile->achans*(ofile->asampsize>>3); + bytes_out = frames_out * ofile->achans * (ofile->asampsize >> 3); - holding_buff=lives_try_malloc(bytes_out); + holding_buff = lives_try_malloc(bytes_out); if (!holding_buff) return 0; - if (ofile->asampsize==16) { - sample_move_d16_d16((short *)holding_buff,gbuf,frames_out,prb,out_scale,ofile->achans,pulsed->in_achans, - pulsed->reverse_endian?SWAP_L_TO_X:0,swap_sign?SWAP_S_TO_U:0); + if (ofile->asampsize == 16) { + sample_move_d16_d16((short *)holding_buff, gbuf, frames_out, prb, out_scale, ofile->achans, pulsed->in_achans, + pulsed->reverse_endian ? SWAP_L_TO_X : 0, swap_sign ? SWAP_S_TO_U : 0); } else { - sample_move_d16_d8((uint8_t *)holding_buff,gbuf,frames_out,prb,out_scale,ofile->achans,pulsed->in_achans,swap_sign?SWAP_S_TO_U:0); + sample_move_d16_d8((uint8_t *)holding_buff, gbuf, frames_out, prb, out_scale, ofile->achans, pulsed->in_achans, + swap_sign ? SWAP_S_TO_U : 0); } - if (gbuf!=(short *)data) { + if (gbuf != (short *)data) { lives_free(gbuf); } - prb=0; + prb = 0; - if (mainw->rec_samples>0) { - if (frames_out>mainw->rec_samples) frames_out=mainw->rec_samples; - mainw->rec_samples-=frames_out; + if (mainw->rec_samples > 0) { + if (frames_out > mainw->rec_samples) frames_out = mainw->rec_samples; + mainw->rec_samples -= frames_out; } - if (mainw->bad_aud_file==NULL) { - size_t target=frames_out*(ofile->asampsize/8)*ofile->achans,bytes; + if (mainw->bad_aud_file == NULL) { + size_t target = frames_out * (ofile->asampsize / 8) * ofile->achans, bytes; // use write not lives_write - because of potential threading issues - bytes=write(mainw->aud_rec_fd,holding_buff,target); - if (bytes>0) { - mainw->aud_data_written+=bytes; - if (mainw->ascrap_file!=-1&&mainw->files[mainw->ascrap_file]!=NULL&&mainw->aud_rec_fd==mainw->files[mainw->ascrap_file]->cb_src) + bytes = write(mainw->aud_rec_fd, holding_buff, target); + if (bytes > 0) { + mainw->aud_data_written += bytes; + if (mainw->ascrap_file != -1 && mainw->files[mainw->ascrap_file] != NULL && mainw->aud_rec_fd == mainw->files[mainw->ascrap_file]->cb_src) add_to_ascrap_mb(bytes); - if (mainw->aud_data_written>AUD_WRITTEN_CHECK) { - mainw->aud_data_written=0; + if (mainw->aud_data_written > AUD_WRITTEN_CHECK) { + mainw->aud_data_written = 0; check_for_disk_space(); } - if (bytes<target) mainw->bad_aud_file=filename_from_fd(NULL,mainw->aud_rec_fd); + if (bytes < target) mainw->bad_aud_file = filename_from_fd(NULL, mainw->aud_rec_fd); } } @@ -840,38 +842,38 @@ pulse_driver_t *pulsed = (pulse_driver_t *)arg; float out_scale; - size_t frames_out,nframes; + size_t frames_out, nframes; void *data; - size_t rbytes=nbytes; + size_t rbytes = nbytes; if (!pulsed->in_use) return; - if (mainw->playing_file<0&&prefs->audio_src==AUDIO_SRC_EXT) return; + if (mainw->playing_file < 0 && prefs->audio_src == AUDIO_SRC_EXT) return; if (mainw->effects_paused) return; // pause during record ??? - pa_stream_peek(pulsed->pstream,(const void **)&data,&rbytes); + pa_stream_peek(pulsed->pstream, (const void **)&data, &rbytes); - if (data==NULL) return; + if (data == NULL) return; - if (pulsed->playing_file==-1) { - out_scale=1.0; // just listening, no recording + if (pulsed->playing_file == -1) { + out_scale = 1.0; // just listening, no recording } else { - out_scale=(float)afile->arate/(float)pulsed->in_arate; // recording to ascrap_file - prb+=rbytes; + out_scale = (float)afile->arate / (float)pulsed->in_arate; // recording to ascrap_file + prb += rbytes; } - if (pulsed->playing_file==-1||(mainw->record&&mainw->record_paused)) prb=0; + if (pulsed->playing_file == -1 || (mainw->record && mainw->record_paused)) prb = 0; - frames_out=(size_t)((double)((prb/(pulsed->in_asamps>>3)/pulsed->in_achans))/out_scale+.5); + frames_out = (size_t)((double)((prb / (pulsed->in_asamps >> 3) / pulsed->in_achans)) / out_scale + .5); - nframes=(size_t)((double)((rbytes/(pulsed->in_asamps>>3)/pulsed->in_achans))/out_scale+.5); + nframes = (size_t)((double)((rbytes / (pulsed->in_asamps >> 3) / pulsed->in_achans)) / out_scale + .5); // should really be frames_read here - pulsed->frames_written+=nframes; + pulsed->frames_written += nframes; - if (prefs->audio_src==AUDIO_SRC_EXT&&(pulsed->playing_file==-1||pulsed->playing_file==mainw->ascrap_file)) { + if (prefs->audio_src == AUDIO_SRC_EXT && (pulsed->playing_file == -1 || pulsed->playing_file == mainw->ascrap_file)) { // - (do not call this when recording ext window or voiceover) // in this case we read external audio, but maybe not record it @@ -879,41 +881,41 @@ if (has_audio_filters(AF_TYPE_A)) { // convert to float, apply any analysers - boolean memok=TRUE; - float **fltbuf=(float **)lives_malloc(pulsed->in_achans*sizeof(float *)); + boolean memok = TRUE; + float **fltbuf = (float **)lives_malloc(pulsed->in_achans * sizeof(float *)); register int i; - size_t xnframes=(size_t)(rbytes/(pulsed->in_asamps>>3)/pulsed->in_achans); + size_t xnframes = (size_t)(rbytes / (pulsed->in_asamps >> 3) / pulsed->in_achans); - for (i=0; i<pulsed->in_achans; i++) { + for (i = 0; i < pulsed->in_achans; i++) { // convert s16 to non-interleaved float - fltbuf[i]=(float *)lives_try_malloc(xnframes*sizeof(float)); - if (fltbuf[i]==NULL) { - memok=FALSE; - for (--i; i>=0; i--) { + fltbuf[i] = (float *)lives_try_malloc(xnframes * sizeof(float)); + if (fltbuf[i] == NULL) { + memok = FALSE; + for (--i; i >= 0; i--) { lives_free(fltbuf[i]); } break; } - sample_move_d16_float(fltbuf[i],(short *)data+i,xnframes,pulsed->in_achans,FALSE,FALSE,1.0); + sample_move_d16_float(fltbuf[i], (short *)data + i, xnframes, pulsed->in_achans, FALSE, FALSE, 1.0); - if (mainw->audio_frame_buffer!=NULL&&prefs->audio_src==AUDIO_SRC_EXT) { + if (mainw->audio_frame_buffer != NULL && prefs->audio_src == AUDIO_SRC_EXT) { // if we have audio triggered gens., push audio to it pthread_mutex_lock(&mainw->abuf_frame_mutex); - append_to_audio_bufferf(mainw->audio_frame_buffer,fltbuf[i],xnframes,i); - mainw->audio_frame_buffer->samples_filled+=xnframes; + append_to_audio_bufferf(mainw->audio_frame_buffer, fltbuf[i], xnframes, i); + mainw->audio_frame_buffer->samples_filled += xnframes; pthread_mutex_unlock(&mainw->abuf_frame_mutex); } } if (memok) { - int64_t tc=pulsed->audio_ticks+(int64_t)(pulsed->frames_written/(double)pulsed->in_arate*U_SEC); + int64_t tc = pulsed->audio_ticks + (int64_t)(pulsed->frames_written / (double)pulsed->in_arate * U_SEC); // apply any audio effects with in channels but no out channels - weed_apply_audio_effects_rt(fltbuf,pulsed->in_achans,xnframes,pulsed->in_arate,tc,TRUE); + weed_apply_audio_effects_rt(fltbuf, pulsed->in_achans, xnframes, pulsed->in_arate, tc, TRUE); - for (i=0; i<pulsed->in_achans; i++) { + for (i = 0; i < pulsed->in_achans; i++) { lives_free(fltbuf[i]); } } @@ -924,68 +926,68 @@ } - if (pulsed->playing_file==-1||(mainw->record&&mainw->record_paused)) { + if (pulsed->playing_file == -1 || (mainw->record && mainw->record_paused)) { pa_stream_drop(pulsed->pstream); - if (pulsed->playing_file==-1) { - pa_operation *paop=pa_stream_flush(pulsed->pstream,NULL,NULL); // if not recording, flush the rest of audio (to reduce latency) + if (pulsed->playing_file == -1) { + pa_operation *paop = pa_stream_flush(pulsed->pstream, NULL, NULL); // if not recording, flush the rest of audio (to reduce latency) pa_operation_unref(paop); } return; } - if (mainw->playing_file!=mainw->ascrap_file) { - if (mainw->playing_file!=-1) mainw->files[mainw->playing_file]->aseek_pos+=rbytes; - if (mainw->ascrap_file!=-1&&!mainw->record_paused) mainw->files[mainw->ascrap_file]->aseek_pos+=rbytes; - } else if (mainw->ascrap_file!=-1&&!mainw->record_paused) mainw->files[mainw->ascrap_file]->aseek_pos+=rbytes; + if (mainw->playing_file != mainw->ascrap_file) { + if (mainw->playing_file != -1) mainw->files[mainw->playing_file]->aseek_pos += rbytes; + if (mainw->ascrap_file != -1 && !mainw->record_paused) mainw->files[mainw->ascrap_file]->aseek_pos += rbytes; + } else if (mainw->ascrap_file != -1 && !mainw->record_paused) mainw->files[mainw->ascrap_file]->aseek_pos += rbytes; - pulsed->seek_pos+=rbytes; + pulsed->seek_pos += rbytes; - if (prb<PULSE_READ_BYTES&&(mainw->rec_samples==-1||frames_out<mainw->rec_samples)) { + if (prb < PULSE_READ_BYTES && (mainw->rec_samples == -1 || frames_out < mainw->rec_samples)) { // buffer until we have enough - lives_memcpy(&prbuf[prb-rbytes],data,rbytes); + lives_memcpy(&prbuf[prb - rbytes], data, rbytes); pa_stream_drop(pulsed->pstream); return; } - if (prb<=PULSE_READ_BYTES*2) { - lives_memcpy(&prbuf[prb-rbytes],data,rbytes); - pulse_flush_read_data(pulsed,mainw->playing_file,prb,pulsed->reverse_endian,prbuf); - } else pulse_flush_read_data(pulsed,mainw->playing_file,rbytes,pulsed->reverse_endian,data); + if (prb <= PULSE_READ_BYTES * 2) { + lives_memcpy(&prbuf[prb - rbytes], data, rbytes); + pulse_flush_read_data(pulsed, mainw->playing_file, prb, pulsed->reverse_endian, prbuf); + } else pulse_flush_read_data(pulsed, mainw->playing_file, rbytes, pulsed->reverse_endian, data); pa_stream_drop(pulsed->pstream); - if (mainw->rec_samples==0&&mainw->cancelled==CANCEL_NONE) { - mainw->cancelled=CANCEL_KEEP; // we wrote the required # + if (mainw->rec_samples == 0 && mainw->cancelled == CANCEL_NONE) { + mainw->cancelled = CANCEL_KEEP; // we wrote the required # } } void pulse_shutdown(void) { - if (pa_mloop!=NULL) pa_threaded_mainloop_stop(pa_mloop); - if (pcon!=NULL) { + if (pa_mloop != NULL) pa_threaded_mainloop_stop(pa_mloop); + if (pcon != NULL) { pa_context_disconnect(pcon); pa_context_unref(pcon); } - if (pa_mloop!=NULL) pa_threaded_mainloop_free(pa_mloop); - pcon=NULL; - pa_mloop=NULL; + if (pa_mloop != NULL) pa_threaded_mainloop_free(pa_mloop); + pcon = NULL; + pa_mloop = NULL; } void pulse_close_client(pulse_driver_t *pdriver) { - if (pdriver->pstream!=NULL) { + if (pdriver->pstream != NULL) { pa_threaded_mainloop_lock(pa_mloop); - pa_stream_set_write_callback(pdriver->pstream,NULL,NULL); - pa_stream_set_read_callback(pdriver->pstream,NULL,NULL); + pa_stream_set_write_callback(pdriver->pstream, NULL, NULL); + pa_stream_set_read_callback(pdriver->pstream, NULL, NULL); pa_stream_disconnect(pdriver->pstream); pa_threaded_mainloop_unlock(pa_mloop); } - if (pdriver->pa_props!=NULL) pa_proplist_free(pdriver->pa_props); - pdriver->pa_props=NULL; - pdriver->pstream=NULL; + if (pdriver->pa_props != NULL) pa_proplist_free(pdriver->pa_props); + pdriver->pa_props = NULL; + pdriver->pstream = NULL; } @@ -995,37 +997,37 @@ // initialise variables int j; - pulsed.in_use=FALSE; - pulsed.mloop=pa_mloop; - pulsed.con=pcon; - - for (j=0; j<PULSE_MAX_OUTPUT_CHANS; j++) pulsed.volume[j]=1.0f; - pulsed.state=(pa_context_state_t)PA_STREAM_UNCONNECTED; - pulsed.in_arate=44100; - pulsed.fd=-1; - pulsed.seek_pos=pulsed.seek_end=0; - pulsed.msgq=NULL; - pulsed.num_calls=0; - pulsed.chunk_size=0; - pulsed.astream_fd=-1; - pulsed.pulsed_died=FALSE; - pulsed.aPlayPtr=(audio_buffer_t *)lives_malloc(sizeof(audio_buffer_t)); - pulsed.aPlayPtr->data=NULL; - pulsed.aPlayPtr->size=0; - pulsed.aPlayPtr->max_size=0; + pulsed.in_use = FALSE; + pulsed.mloop = pa_mloop; + pulsed.con = pcon; + + for (j = 0; j < PULSE_MAX_OUTPUT_CHANS; j++) pulsed.volume[j] = 1.0f; + pulsed.state = (pa_context_state_t)PA_STREAM_UNCONNECTED; + pulsed.in_arate = 44100; + pulsed.fd = -1; + pulsed.seek_pos = pulsed.seek_end = 0; + pulsed.msgq = NULL; + pulsed.num_calls = 0; + pulsed.chunk_size = 0; + pulsed.astream_fd = -1; + pulsed.pulsed_died = FALSE; + pulsed.aPlayPtr = (audio_buffer_t *)lives_malloc(sizeof(audio_buffer_t)); + pulsed.aPlayPtr->data = NULL; + pulsed.aPlayPtr->size = 0; + pulsed.aPlayPtr->max_size = 0; gettimeofday(&pulsed.last_reconnect_attempt, 0); - pulsed.in_achans=2; - pulsed.out_achans=2; - pulsed.out_asamps=16; - pulsed.mute=FALSE; - pulsed.out_chans_available=PULSE_MAX_OUTPUT_CHANS; - pulsed.is_output=TRUE; - pulsed.read_abuf=-1; - pulsed.is_paused=FALSE; - pulsed.pstream=NULL; - pulsed.pa_props=NULL; - pulsed.playing_file=-1; - pulsed.sound_buffer=NULL; + pulsed.in_achans = 2; + pulsed.out_achans = 2; + pulsed.out_asamps = 16; + pulsed.mute = FALSE; + pulsed.out_chans_available = PULSE_MAX_OUTPUT_CHANS; + pulsed.is_output = TRUE; + pulsed.read_abuf = -1; + pulsed.is_paused = FALSE; + pulsed.pstream = NULL; + pulsed.pa_props = NULL; + pulsed.playing_file = -1; + pulsed.sound_buffer = NULL; return 0; } @@ -1034,36 +1036,36 @@ // initialise variables int j; - pulsed_reader.in_use=FALSE; - pulsed_reader.mloop=pa_mloop; - pulsed_reader.con=pcon; - - for (j=0; j<PULSE_MAX_OUTPUT_CHANS; j++) pulsed_reader.volume[j]=1.0f; - pulsed_reader.state=(pa_context_state_t)PA_STREAM_UNCONNECTED; - pulsed_reader.fd=-1; - pulsed_reader.seek_pos=pulsed_reader.seek_end=0; - pulsed_reader.msgq=NULL; - pulsed_reader.num_calls=0; - pulsed_reader.chunk_size=0; - pulsed_reader.astream_fd=-1; - pulsed_reader.pulsed_died=FALSE; + pulsed_reader.in_use = FALSE; + pulsed_reader.mloop = pa_mloop; + pulsed_reader.con = pcon; + + for (j = 0; j < PULSE_MAX_OUTPUT_CHANS; j++) pulsed_reader.volume[j] = 1.0f; + pulsed_reader.state = (pa_context_state_t)PA_STREAM_UNCONNECTED; + pulsed_reader.fd = -1; + pulsed_reader.seek_pos = pulsed_reader.seek_end = 0; + pulsed_reader.msgq = NULL; + pulsed_reader.num_calls = 0; + pulsed_reader.chunk_size = 0; + pulsed_reader.astream_fd = -1; + pulsed_reader.pulsed_died = FALSE; gettimeofday(&pulsed_reader.last_reconnect_attempt, 0); - pulsed_reader.in_achans=2; - pulsed_reader.in_asamps=16; - pulsed_reader.mute=FALSE; - pulsed_reader.is_output=FALSE; - pulsed_reader.is_paused=FALSE; - pulsed_reader.pstream=NULL; - pulsed_reader.pa_props=NULL; - pulsed_reader.sound_buffer=NULL; + pulsed_reader.in_achans = 2; + pulsed_reader.in_asamps = 16; + pulsed_reader.mute = FALSE; + pulsed_reader.is_output = FALSE; + pulsed_reader.is_paused = FALSE; + pulsed_reader.pstream = NULL; + pulsed_reader.pa_props = NULL; + pulsed_reader.sound_buffer = NULL; return 0; } void set_process_callback_pulse(pulse_driver_t *pdriver, boolean activate) { - if (activate) pa_stream_set_write_callback(pdriver->pstream,pulse_audio_write_process,pdriver); - else pa_stream_set_write_callback(pdriver->pstream,pulse_audio_write_process_dummy,pdriver); + if (activate) pa_stream_set_write_callback(pdriver->pstream, pulse_audio_write_process, pdriver); + else pa_stream_set_write_callback(pdriver->pstream, pulse_audio_write_process_dummy, pdriver); } @@ -1080,20 +1082,20 @@ pa_volume_t pavol; - if (pdriver->pstream!=NULL) return 0; + if (pdriver->pstream != NULL) return 0; if (mainw->aplayer_broken) return 2; if (pdriver->is_output) { - pa_clientname="LiVES_audio_out"; + pa_clientname = "LiVES_audio_out"; } else { - pa_clientname="LiVES_audio_in"; + pa_clientname = "LiVES_audio_in"; } - mypid=lives_strdup_printf("%d",capable->mainpid); + mypid = lives_strdup_printf("%d", capable->mainpid); - pdriver->pa_props=pa_proplist_new(); + pdriver->pa_props = pa_proplist_new(); pa_proplist_sets(pdriver->pa_props, PA_PROP_APPLICATION_ICON_NAME, lives_get_application_name()); pa_proplist_sets(pdriver->pa_props, PA_PROP_APPLICATION_ID, lives_get_application_name()); @@ -1114,83 +1116,83 @@ pa_channel_map_init_stereo(&pa_map); - pa_spec.format=PA_SAMPLE_S16NE; + pa_spec.format = PA_SAMPLE_S16NE; - pa_spec.channels=pdriver->out_achans=pdriver->in_achans; + pa_spec.channels = pdriver->out_achans = pdriver->in_achans; - pdriver->in_asamps=pdriver->out_asamps=16; - pdriver->out_signed=0; + pdriver->in_asamps = pdriver->out_asamps = 16; + pdriver->out_signed = 0; - if (capable->byte_order==LIVES_BIG_ENDIAN) pdriver->out_endian=AFORM_BIG_ENDIAN; - else pdriver->out_endian=AFORM_LITTLE_ENDIAN; + if (capable->byte_order == LIVES_BIG_ENDIAN) pdriver->out_endian = AFORM_BIG_ENDIAN; + else pdriver->out_endian = AFORM_LITTLE_ENDIAN; if (pdriver->is_output) { - pa_battr.maxlength=LIVES_PA_BUFF_MAXLEN; - pa_battr.tlength=LIVES_PA_BUFF_TARGET; + pa_battr.maxlength = LIVES_PA_BUFF_MAXLEN; + pa_battr.tlength = LIVES_PA_BUFF_TARGET; } else { - pa_battr.maxlength=(uint32_t)-1; - pa_battr.tlength=(uint32_t)-1; - pa_battr.fragsize=LIVES_PA_BUFF_FRAGSIZE; + pa_battr.maxlength = (uint32_t) - 1; + pa_battr.tlength = (uint32_t) - 1; + pa_battr.fragsize = LIVES_PA_BUFF_FRAGSIZE; } - pa_battr.minreq=(uint32_t)-1; - pa_battr.prebuf=0; + pa_battr.minreq = (uint32_t) - 1; + pa_battr.prebuf = 0; - if (pulse_server_rate==0) { - pa_op=pa_context_get_server_info(pdriver->con,pulse_server_cb,NULL); + if (pulse_server_rate == 0) { + pa_op = pa_context_get_server_info(pdriver->con, pulse_server_cb, NULL); - while (pa_operation_get_state(pa_op)!=PA_OPERATION_DONE) { + while (pa_operation_get_state(pa_op) != PA_OPERATION_DONE) { lives_usleep(prefs->sleep_time); } pa_operation_unref(pa_op); } - if (pulse_server_rate==0) { + if (pulse_server_rate == 0) { LIVES_WARN("Problem getting pulseaudio rate...expect more problems ahead."); return 1; } - pa_spec.rate=pdriver->out_arate=pdriver->in_arate=pulse_server_rate; + pa_spec.rate = pdriver->out_arate = pdriver->in_arate = pulse_server_rate; - pdriver->pstream=pa_stream_new_with_proplist(pdriver->con,pa_clientname,&pa_spec,&pa_map,pdriver->pa_props); + pdriver->pstream = pa_stream_new_with_proplist(pdriver->con, pa_clientname, &pa_spec, &pa_map, pdriver->pa_props); if (pdriver->is_output) { - pavol=pa_sw_volume_from_linear(mainw->volume); - pa_cvolume_set(&out_vol,pdriver->out_achans,pavol); + pavol = pa_sw_volume_from_linear(mainw->volume); + pa_cvolume_set(&out_vol, pdriver->out_achans, pavol); // set write callback - set_process_callback_pulse(pdriver,TRUE); + set_process_callback_pulse(pdriver, TRUE); #ifdef PA_STREAM_START_UNMUTED - pa_stream_connect_playback(pdriver->pstream,NULL,&pa_battr, - (pa_stream_flags_t)(PA_STREAM_START_UNMUTED|PA_STREAM_ADJUST_LATENCY| - PA_STREAM_INTERPOLATE_TIMING|PA_STREAM_AUTO_TIMING_UPDATE), - &out_vol,NULL); + pa_stream_connect_playback(pdriver->pstream, NULL, &pa_battr, + (pa_stream_flags_t)(PA_STREAM_START_UNMUTED | PA_STREAM_ADJUST_LATENCY | + PA_STREAM_INTERPOLATE_TIMING | PA_STREAM_AUTO_TIMING_UPDATE), + &out_vol, NULL); #else - pa_stream_connect_playback(pdriver->pstream,NULL,&pa_battr,(pa_stream_flags_t)(PA_STREAM_ADJUST_LATENCY| - PA_STREAM_INTERPOLATE_TIMING| + pa_stream_connect_playback(pdriver->pstream, NULL, &pa_battr, (pa_stream_flags_t)(PA_STREAM_ADJUST_LATENCY | + PA_STREAM_INTERPOLATE_TIMING | PA_STREAM_AUTO_TIMING_UPDATE), - &out_vol,NULL); + &out_vol, NULL); #endif - while (pa_stream_get_state(pdriver->pstream)!=PA_STREAM_READY) { + while (pa_stream_get_state(pdriver->pstream) != PA_STREAM_READY) { lives_usleep(prefs->sleep_time); } } else { // set read callback - pdriver->audio_ticks=0; - pdriver->frames_written=0; - pdriver->usec_start=0; - pdriver->in_use=FALSE; - prb=0; + pdriver->audio_ticks = 0; + pdriver->frames_written = 0; + pdriver->usec_start = 0; + pdriver->in_use = FALSE; + prb = 0; - pa_stream_set_read_callback(pdriver->pstream,pulse_audio_read_process,pdriver); + pa_stream_set_read_callback(pdriver->pstream, pulse_audio_read_process, pdriver); - pa_stream_connect_record(pdriver->pstream,NULL,&pa_battr, - (pa_stream_flags_t)(PA_STREAM_START_CORKED|PA_STREAM_EARLY_REQUESTS)); + pa_stream_connect_record(pdriver->pstream, NULL, &pa_battr, + (pa_stream_flags_t)(PA_STREAM_START_CORKED | PA_STREAM_EARLY_REQUESTS)); - while (pa_stream_get_state(pdriver->pstream)!=PA_STREAM_READY) { + while (pa_stream_get_state(pdriver->pstream) != PA_STREAM_READY) { lives_usleep(prefs->sleep_time); } @@ -1203,7 +1205,7 @@ void pulse_driver_uncork(pulse_driver_t *pdriver) { - pa_stream_cork(pdriver->pstream,0,NULL,NULL); + pa_stream_cork(pdriver->pstream, 0, NULL, NULL); } @@ -1219,9 +1221,9 @@ volatile aserver_message_t *pulse_get_msgq(pulse_driver_t *pulsed) { // force update - "volatile" doesn't seem to work... - char *tmp=lives_strdup_printf("%p %d",pulsed->msgq,pulsed->pulsed_died); + char *tmp = lives_strdup_printf("%p %d", pulsed->msgq, pulsed->pulsed_died); lives_free(tmp); - if (pulsed->pulsed_died||mainw->aplayer_broken) return NULL; + if (pulsed->pulsed_died || mainw->aplayer_broken) return NULL; return pulsed->msgq; } @@ -1230,33 +1232,33 @@ int64_t lives_pulse_get_time(pulse_driver_t *pulsed, boolean absolute) { // get the time in ticks since either playback started or since last seek - volatile aserver_message_t *msg=pulsed->msgq; + volatile aserver_message_t *msg = pulsed->msgq; double frames_written; int64_t xtime; - if (msg!=NULL&&msg->command==ASERVER_CMD_FILE_SEEK) { + if (msg != NULL && msg->command == ASERVER_CMD_FILE_SEEK) { boolean timeout; - int alarm_handle=lives_alarm_set(LIVES_DEFAULT_TIMEOUT); - while (!(timeout=lives_alarm_get(alarm_handle))&&pulse_get_msgq(pulsed)!=NULL) { + int alarm_handle = lives_alarm_set(LIVES_DEFAULT_TIMEOUT); + while (!(timeout = lives_alarm_get(alarm_handle)) && pulse_get_msgq(pulsed) != NULL) { sched_yield(); // wait for seek } if (timeout) return -1; lives_alarm_clear(alarm_handle); } - frames_written=pulsed->frames_written; - if (frames_written<0.) frames_written=0.; + frames_written = pulsed->frames_written; + if (frames_written < 0.) frames_written = 0.; #ifdef USE_PA_INTERP_TIME { pa_usec_t usec; - pa_stream_get_time(pulsed->pstream,&usec); - return pulsed->audio_ticks*absolute+(int64_t)((usec-pulsed->usec_start)*U_SEC_RATIO); + pa_stream_get_time(pulsed->pstream, &usec); + return pulsed->audio_ticks * absolute + (int64_t)((usec - pulsed->usec_start) * U_SEC_RATIO); } #else - if (pulsed->is_output) xtime = pulsed->audio_ticks*absolute+(int64_t)(frames_written/(double)pulsed->out_arate*U_SEC); - else xtime = pulsed->audio_ticks*absolute+(int64_t)(frames_written/(double)afile->arate*U_SEC); + if (pulsed->is_output) xtime = pulsed->audio_ticks * absolute + (int64_t)(frames_written / (double)pulsed->out_arate * U_SEC); + else xtime = pulsed->audio_ticks * absolute + (int64_t)(frames_written / (double)afile->arate * U_SEC); return xtime; #endif @@ -1264,7 +1266,7 @@ double lives_pulse_get_pos(pulse_driver_t *pulsed) { // get current time position (seconds) in audio file - return pulsed->seek_pos/(double)(afile->arate*afile->achans*afile->asampsize/8); + return pulsed->seek_pos / (double)(afile->arate * afile->achans * afile->asampsize / 8); } @@ -1274,28 +1276,28 @@ // position will be adjusted to (floor) nearest sample int64_t seekstart; volatile aserver_message_t *pmsg; - int alarm_handle=lives_alarm_set(LIVES_DEFAULT_TIMEOUT); + int alarm_handle = lives_alarm_set(LIVES_DEFAULT_TIMEOUT); boolean timeout; - if (alarm_handle==-1) { + if (alarm_handle == -1) { LIVES_WARN("Invalid alarm handle"); return FALSE; } - if (frame<1) frame=1; + if (frame < 1) frame = 1; do { - pmsg=pulse_get_msgq(pulsed); - } while (!(timeout=lives_alarm_get(alarm_handle))&&pmsg!=NULL&&pmsg->command!=ASERVER_CMD_FILE_SEEK); - if (timeout||pulsed->playing_file==-1) { + pmsg = pulse_get_msgq(pulsed); + } while (!(timeout = lives_alarm_get(alarm_handle)) && pmsg != NULL && pmsg->command != ASERVER_CMD_FILE_SEEK); + if (timeout || pulsed->playing_file == -1) { if (timeout) LIVES_WARN("PA connect timed out"); lives_alarm_clear(alarm_handle); return FALSE; } lives_alarm_clear(alarm_handle); - if (frame>afile->frames) frame=afile->frames; - seekstart=(int64_t)((double)(frame-1.)/afile->fps*afile->arate)*afile->achans*(afile->asampsize/8); - pulse_audio_seek_bytes(pulsed,seekstart); + if (frame > afile->frames) frame = afile->frames; + seekstart = (int64_t)((double)(frame - 1.) / afile->fps * afile->arate) * afile->achans * (afile->asampsize / 8); + pulse_audio_seek_bytes(pulsed, seekstart); return TRUE; } @@ -1308,44 +1310,44 @@ volatile aserver_message_t *pmsg; boolean timeout; - int alarm_handle=lives_alarm_set(LIVES_DEFAULT_TIMEOUT); + int alarm_handle = lives_alarm_set(LIVES_DEFAULT_TIMEOUT); int64_t seekstart; - if (alarm_handle==-1) { + if (alarm_handle == -1) { LIVES_WARN("Invalid alarm handle"); return 0; } do { - pmsg=pulse_get_msgq(pulsed); - } while (!(timeout=lives_alarm_get(alarm_handle))&&pmsg!=NULL&&pmsg->command!=ASERVER_CMD_FILE_SEEK); + pmsg = pulse_get_msgq(pulsed); + } while (!(timeout = lives_alarm_get(alarm_handle)) && pmsg != NULL && pmsg->command != ASERVER_CMD_FILE_SEEK); - if (timeout||pulsed->playing_file==-1) { + if (timeout || pulsed->playing_file == -1) { lives_alarm_clear(alarm_handle); if (timeout) LIVES_WARN("PA connect timed out"); return 0; } lives_alarm_clear(alarm_handle); - seekstart=((int64_t)(bytes/afile->achans/(afile->asampsize/8)))*afile->achans*(afile->asampsize/8); + seekstart = ((int64_t)(bytes / afile->achans / (afile->asampsize / 8))) * afile->achans * (afile->asampsize / 8); - if (seekstart<0) seekstart=0; - if (seekstart>afile->afilesize) seekstart=afile->afilesize; - pulse_message.command=ASERVER_CMD_FILE_SEEK; - pulse_message.next=NULL; - pulse_message.data=lives_strdup_printf("%"PRId64,seekstart); - pulsed->msgq=&pulse_message; + if (seekstart < 0) seekstart = 0; + if (seekstart > afile->afilesize) seekstart = afile->afilesize; + pulse_message.command = ASERVER_CMD_FILE_SEEK; + pulse_message.next = NULL; + pulse_message.data = lives_strdup_printf("%"PRId64, seekstart); + pulsed->msgq = &pulse_message; return seekstart; } boolean pulse_try_reconnect(void) { - mainw->pulsed=NULL; - pa_mloop=NULL; + mainw->pulsed = NULL; + pa_mloop = NULL; if (!lives_pulse_init(9999)) goto err123; // init server pulse_audio_init(); // reset vars pulse_audio_read_init(); // reset vars - mainw->pulsed=pulse_get_driver(TRUE); + mainw->pulsed = pulse_get_driver(TRUE); if (pulse_driver_activate(mainw->pulsed)) { // activate driver goto err123; } @@ -1353,8 +1355,8 @@ return TRUE; err123: - mainw->aplayer_broken=TRUE; - mainw->pulsed=NULL; + mainw->aplayer_broken = TRUE; + mainw->pulsed = NULL; do_pulse_lost_conn_error(); return FALSE; } @@ -1368,45 +1370,45 @@ // - set loop mode // - check if we need to reconnect // - set vals - char *tmpfilename=NULL; - lives_clip_t *sfile=mainw->files[fileno]; - int asigned=!(sfile->signed_endian&AFORM_UNSIGNED); - int aendian=!(sfile->signed_endian&AFORM_BIG_ENDIAN); + char *tmpfilename = NULL; + lives_clip_t *sfile = mainw->files[fileno]; + int asigned = !(sfile->signed_endian & AFORM_UNSIGNED); + int aendian = !(sfile->signed_endian & AFORM_BIG_ENDIAN); // called at pb start and rec stop (after rec_ext_audio) - if (mainw->pulsed!=NULL&&mainw->aud_rec_fd==-1) { - mainw->pulsed->is_paused=FALSE; - mainw->pulsed->mute=mainw->mute; - if (mainw->loop_cont&&!mainw->preview) { - if (mainw->ping_pong&&prefs->audio_opts&AUDIO_OPTS_FOLLOW_FPS&&mainw->multitrack==NULL) - mainw->pulsed->loop=AUDIO_LOOP_PINGPONG; - else mainw->pulsed->loop=AUDIO_LOOP_FORWARD; - } else mainw->pulsed->loop=AUDIO_LOOP_NONE; - if (sfile->achans>0&&(!mainw->preview||(mainw->preview&&mainw->is_processing))&& - (sfile->laudio_time>0.||sfile->opening|| - (mainw->multitrack!=NULL&&mainw->multitrack->is_rendering&& - lives_file_test((tmpfilename=lives_build_filename(prefs->workdir,sfile->handle,"audio",NULL)), + if (mainw->pulsed != NULL && mainw->aud_rec_fd == -1) { + mainw->pulsed->is_paused = FALSE; + mainw->pulsed->mute = mainw->mute; + if (mainw->loop_cont && !mainw->preview) { + if (mainw->ping_pong && prefs->audio_opts & AUDIO_OPTS_FOLLOW_FPS && mainw->multitrack == NULL) + mainw->pulsed->loop = AUDIO_LOOP_PINGPONG; + else mainw->pulsed->loop = AUDIO_LOOP_FORWARD; + } else mainw->pulsed->loop = AUDIO_LOOP_NONE; + if (sfile->achans > 0 && (!mainw->preview || (mainw->preview && mainw->is_processing)) && + (sfile->laudio_time > 0. || sfile->opening || + (mainw->multitrack != NULL && mainw->multitrack->is_rendering && + lives_file_test((tmpfilename = lives_build_filename(prefs->workdir, sfile->handle, "audio", NULL)), LIVES_FILE_TEST_EXISTS)))) { boolean timeout; int alarm_handle; lives_freep((void **)&tmpfilename); - mainw->pulsed->in_achans=sfile->achans; - mainw->pulsed->in_asamps=sfile->asampsize; - mainw->pulsed->in_arate=sfile->arate; - mainw->pulsed->usigned=!asigned; - mainw->pulsed->seek_end=sfile->afilesize; - if (sfile->opening) mainw->pulsed->is_opening=TRUE; - else mainw->pulsed->is_opening=FALSE; - - if ((aendian&&(capable->byte_order==LIVES_BIG_ENDIAN))||(!aendian&&(capable->byte_order==LIVES_LITTLE_ENDIAN))) - mainw->pulsed->reverse_endian=TRUE; - else mainw->pulsed->reverse_endian=FALSE; - - alarm_handle=lives_alarm_set(LIVES_DEFAULT_TIMEOUT); - while (!(timeout=lives_alarm_get(alarm_handle))&&pulse_get_msgq(mainw->pulsed)!=NULL) { + mainw->pulsed->in_achans = sfile->achans; + mainw->pulsed->in_asamps = sfile->asampsize; + mainw->pulsed->in_arate = sfile->arate; + mainw->pulsed->usigned = !asigned; + mainw->pulsed->seek_end = sfile->afilesize; + if (sfile->opening) mainw->pulsed->is_opening = TRUE; + else mainw->pulsed->is_opening = FALSE; + + if ((aendian && (capable->byte_order == LIVES_BIG_ENDIAN)) || (!aendian && (capable->byte_order == LIVES_LITTLE_ENDIAN))) + mainw->pulsed->reverse_endian = TRUE; + else mainw->pulsed->reverse_endian = FALSE; + + alarm_handle = lives_alarm_set(LIVES_DEFAULT_TIMEOUT); + while (!(timeout = lives_alarm_get(alarm_handle)) && pulse_get_msgq(mainw->pulsed) != NULL) { sched_yield(); // wait for seek } @@ -1414,25 +1416,25 @@ lives_alarm_clear(alarm_handle); - if ((mainw->multitrack==NULL||mainw->multitrack->is_rendering|| - sfile->opening)&&(mainw->event_list==NULL||mainw->record||(mainw->preview&&mainw->is_processing))) { + if ((mainw->multitrack == NULL || mainw->multitrack->is_rendering || + sfile->opening) && (mainw->event_list == NULL || mainw->record || (mainw->preview && mainw->is_processing))) { // tell pulse server to open audio file and start playing it - pulse_message.command=ASERVER_CMD_FILE_OPEN; - pulse_message.data=lives_strdup_printf("%d",fileno); - pulse_message.next=NULL; - mainw->pulsed->msgq=&pulse_message; + pulse_message.command = ASERVER_CMD_FILE_OPEN; + pulse_message.data = lives_strdup_printf("%d", fileno); + pulse_message.next = NULL; + mainw->pulsed->msgq = &pulse_message; - pulse_audio_seek_bytes(mainw->pulsed,sfile->aseek_pos); + pulse_audio_seek_bytes(mainw->pulsed, sfile->aseek_pos); if (seek_err) { - if (pulse_try_reconnect()) pulse_audio_seek_bytes(mainw->pulsed,sfile->aseek_pos); + if (pulse_try_reconnect()) pulse_audio_seek_bytes(mainw->pulsed, sfile->aseek_pos); } - mainw->pulsed->in_use=TRUE; - mainw->rec_aclip=fileno; - mainw->rec_avel=sfile->pb_fps/sfile->fps; - mainw->rec_aseek=(double)sfile->aseek_pos/(double)(sfile->arate*sfile->achans*(sfile->asampsize/8)); + mainw->pulsed->in_use = TRUE; + mainw->rec_aclip = fileno; + mainw->rec_avel = sfile->pb_fps / sfile->fps; + mainw->rec_aseek = (double)sfile->aseek_pos / (double)(sfile->arate * sfile->achans * (sfile->asampsize / 8)); } } - if (mainw->agen_key!=0&&mainw->multitrack==NULL) mainw->pulsed->in_use=TRUE; // audio generator is active + if (mainw->agen_key != 0 && mainw->multitrack == NULL) mainw->pulsed->in_use = TRUE; // audio generator is active } }
View file
LiVES-2.8.4.tar.bz2/src/pulse.h -> LiVES-2.8.6.tar.bz2/src/pulse.h
Changed
@@ -101,7 +101,6 @@ uint64_t chunk_size; volatile int astream_fd; - } pulse_driver_t;
View file
LiVES-2.8.4.tar.bz2/src/resample.c -> LiVES-2.8.6.tar.bz2/src/resample.c
Changed
@@ -24,428 +24,428 @@ #include "audio.h" #include "cvirtual.h" -static int reorder_width=0; -static int reorder_height=0; -static boolean reorder_leave_back=FALSE; +static int reorder_width = 0; +static int reorder_height = 0; +static boolean reorder_leave_back = FALSE; ///////////////////////////////////////////////////// LIVES_INLINE weed_timecode_t q_gint64(weed_timecode_t in, double fps) { // quantise timecode to fps - if (in>(weed_timecode_t)0) return ((weed_timecode_t)((long double)in/(long double)U_SEC*(long double)fps+(long double).5)/ - (long double)fps)*(weed_timecode_t)U_SECL; // quantise to frame timing - if (in<(weed_timecode_t)0) return ((weed_timecode_t)((long double)in/(long double)U_SEC*(long double)fps-(long double).5)/ - (long double)fps)*(weed_timecode_t)U_SECL; // quantise to frame timing + if (in > (weed_timecode_t)0) return ((weed_timecode_t)((long double)in / (long double)U_SEC * (long double)fps + (long double).5) / + (long double)fps) * (weed_timecode_t)U_SECL; // quantise to frame timing + if (in < (weed_timecode_t)0) return ((weed_timecode_t)((long double)in / (long double)U_SEC * (long double)fps - (long double).5) / + (long double)fps) * (weed_timecode_t)U_SECL; // quantise to frame timing return (weed_timecode_t)0; } LIVES_INLINE weed_timecode_t q_gint64_floor(weed_timecode_t in, double fps) { - if (in!=(weed_timecode_t)0) return ((weed_timecode_t)((long double)in/(long double)U_SEC*(long double)fps)/(long double)fps)* - (weed_timecode_t)U_SECL; // quantise to frame timing + if (in != (weed_timecode_t)0) return ((weed_timecode_t)((long double)in / (long double)U_SEC * (long double)fps) / (long double)fps) * + (weed_timecode_t)U_SECL; // quantise to frame timing return (weed_timecode_t)0; } LIVES_INLINE weed_timecode_t q_dbl(double in, double fps) { // quantise (double)in to fps - if (in>0.) return ((weed_timecode_t)((long double)in*(long double)fps+(long double).5)/(long double)fps)* - (weed_timecode_t)U_SECL; // quantise to frame timing - if (in<0.) return ((weed_timecode_t)((long double)in*(long double)fps-(long double).5)/(long double)fps)* - (weed_timecode_t)U_SECL; // quantise to frame timing + if (in > 0.) return ((weed_timecode_t)((long double)in * (long double)fps + (long double).5) / (long double)fps) * + (weed_timecode_t)U_SECL; // quantise to frame timing + if (in < 0.) return ((weed_timecode_t)((long double)in * (long double)fps - (long double).5) / (long double)fps) * + (weed_timecode_t)U_SECL; // quantise to frame timing return (weed_timecode_t)0; } LIVES_INLINE int count_resampled_frames(int in_frames, double orig_fps, double resampled_fps) { int res_frames; - if (resampled_fps<orig_fps) return ((res_frames=(int)((double)in_frames/orig_fps*resampled_fps))<1)?1:res_frames; - else return ((res_frames=(int)((double)in_frames/orig_fps*resampled_fps+.49999))<1)?1:res_frames; + if (resampled_fps < orig_fps) return ((res_frames = (int)((double)in_frames / orig_fps * resampled_fps)) < 1) ? 1 : res_frames; + else return ((res_frames = (int)((double)in_frames / orig_fps * resampled_fps + .49999)) < 1) ? 1 : res_frames; } ///////////////////////////////////////////////////// -boolean auto_resample_resize(int width,int height,double fps,int fps_num,int fps_denom, int arate, +boolean auto_resample_resize(int width, int height, double fps, int fps_num, int fps_denom, int arate, int asigned, boolean swap_endian) { // do a block atomic: resample audio, then resample video/resize or joint resample/resize - char *com,*msg=NULL; - int current_file=mainw->current_file; - boolean audio_resampled=FALSE; - boolean video_resampled=FALSE; - boolean video_resized=FALSE; - boolean bad_header=FALSE; + char *com, *msg = NULL; + int current_file = mainw->current_file; + boolean audio_resampled = FALSE; + boolean video_resampled = FALSE; + boolean video_resized = FALSE; + boolean bad_header = FALSE; - int frames=cfile->frames; + int frames = cfile->frames; - reorder_leave_back=FALSE; + reorder_leave_back = FALSE; - if (asigned!=0||(arate>0&&arate!=cfile->arate)||swap_endian) { - cfile->undo1_int=arate; - cfile->undo2_int=cfile->achans; - cfile->undo3_int=cfile->asampsize; - cfile->undo1_uint=cfile->signed_endian; + if (asigned != 0 || (arate > 0 && arate != cfile->arate) || swap_endian) { + cfile->undo1_int = arate; + cfile->undo2_int = cfile->achans; + cfile->undo3_int = cfile->asampsize; + cfile->undo1_uint = cfile->signed_endian; - if (asigned==1&&(cfile->signed_endian&AFORM_UNSIGNED)==AFORM_UNSIGNED) cfile->undo1_uint^=AFORM_UNSIGNED; - else if (asigned==2&&(cfile->signed_endian&AFORM_UNSIGNED)!=AFORM_UNSIGNED) cfile->undo1_uint|=AFORM_UNSIGNED; + if (asigned == 1 && (cfile->signed_endian & AFORM_UNSIGNED) == AFORM_UNSIGNED) cfile->undo1_uint ^= AFORM_UNSIGNED; + else if (asigned == 2 && (cfile->signed_endian & AFORM_UNSIGNED) != AFORM_UNSIGNED) cfile->undo1_uint |= AFORM_UNSIGNED; if (swap_endian) { - if (cfile->signed_endian&AFORM_BIG_ENDIAN) cfile->undo1_uint^=AFORM_BIG_ENDIAN; - else cfile->undo1_uint|=AFORM_BIG_ENDIAN; + if (cfile->signed_endian & AFORM_BIG_ENDIAN) cfile->undo1_uint ^= AFORM_BIG_ENDIAN; + else cfile->undo1_uint |= AFORM_BIG_ENDIAN; } - on_resaudio_ok_clicked(NULL,NULL); + on_resaudio_ok_clicked(NULL, NULL); if (mainw->error) return FALSE; - audio_resampled=TRUE; + audio_resampled = TRUE; } else { - cfile->undo1_int=cfile->arate; - cfile->undo2_int=cfile->achans; - cfile->undo3_int=cfile->asampsize; - cfile->undo4_int=cfile->arps; - cfile->undo1_uint=cfile->signed_endian; + cfile->undo1_int = cfile->arate; + cfile->undo2_int = cfile->achans; + cfile->undo3_int = cfile->asampsize; + cfile->undo4_int = cfile->arps; + cfile->undo1_uint = cfile->signed_endian; } - if (fps_denom>0) { - fps=(fps_num*1.)/(fps_denom*1.); + if (fps_denom > 0) { + fps = (fps_num * 1.) / (fps_denom * 1.); } - if (fps>0.&&fps!=cfile->fps) { + if (fps > 0. && fps != cfile->fps) { // FPS CHANGE... - if ((width!=cfile->hsize||height!=cfile->vsize)&&width*height>0) { + if ((width != cfile->hsize || height != cfile->vsize) && width * height > 0) { // CHANGING SIZE.. // TODO: check if we have convert / composite installed - if (fps>cfile->fps) { + if (fps > cfile->fps) { boolean rs_builtin; lives_rfx_t *resize_rfx; // we will have more frames... // ...do resize first - if (mainw->fx_candidates[FX_CANDIDATE_RESIZER].delegate==-1||prefs->enc_letterbox) { + if (mainw->fx_candidates[FX_CANDIDATE_RESIZER].delegate == -1 || prefs->enc_letterbox) { - if (prefs->enc_letterbox&&LETTERBOX_NEEDS_COMPOSITE&&!capable->has_composite) { + if (prefs->enc_letterbox && LETTERBOX_NEEDS_COMPOSITE && !capable->has_composite) { do_lb_composite_error(); - on_undo_activate(NULL,NULL); + on_undo_activate(NULL, NULL); return FALSE; } - if (prefs->enc_letterbox&&LETTERBOX_NEEDS_CONVERT&&!capable->has_convert) { + if (prefs->enc_letterbox && LETTERBOX_NEEDS_CONVERT && !capable->has_convert) { do_lb_convert_error(); - on_undo_activate(NULL,NULL); + on_undo_activate(NULL, NULL); return FALSE; } - if (!prefs->enc_letterbox&&RESIZE_ALL_NEEDS_CONVERT&&!capable->has_convert) { + if (!prefs->enc_letterbox && RESIZE_ALL_NEEDS_CONVERT && !capable->has_convert) { do_ra_convert_error(); - on_undo_activate(NULL,NULL); + on_undo_activate(NULL, NULL); return FALSE; } - cfile->ohsize=cfile->hsize; - cfile->ovsize=cfile->vsize; + cfile->ohsize = cfile->hsize; + cfile->ovsize = cfile->vsize; - if (cfile->clip_type==CLIP_TYPE_FILE) { - cfile->fx_frame_pump=1; + if (cfile->clip_type == CLIP_TYPE_FILE) { + cfile->fx_frame_pump = 1; } if (!prefs->enc_letterbox) { - com=lives_strdup_printf("%s resize_all \"%s\" %d %d %d \"%s\"",prefs->backend, - cfile->handle,cfile->frames,width,height, - get_image_ext_for_type(cfile->img_type)); - msg=lives_strdup_printf(_("Resizing frames 1 to %d"),cfile->frames); + com = lives_strdup_printf("%s resize_all \"%s\" %d %d %d \"%s\"", prefs->backend, + cfile->handle, cfile->frames, width, height, + get_image_ext_for_type(cfile->img_type)); + msg = lives_strdup_printf(_("Resizing frames 1 to %d"), cfile->frames); } else { - int iwidth=cfile->hsize,iheight=cfile->vsize; - calc_maxspect(width,height,&iwidth,&iheight); + int iwidth = cfile->hsize, iheight = cfile->vsize; + calc_maxspect(width, height, &iwidth, &iheight); - if (iwidth==cfile->hsize&&iheight==cfile->vsize) { - iwidth=-iwidth; - iheight=-iheight; + if (iwidth == cfile->hsize && iheight == cfile->vsize) { + iwidth = -iwidth; + iheight = -iheight; } - reorder_leave_back=TRUE; - com=lives_strdup_printf("%s resize_all \"%s\" %d %d %d \"%s\" %d %d",prefs->backend,cfile->handle, - cfile->frames,width,height, - get_image_ext_for_type(cfile->img_type),iwidth,iheight); - msg=lives_strdup_printf(_("Resizing/letterboxing frames 1 to %d"),cfile->frames); + reorder_leave_back = TRUE; + com = lives_strdup_printf("%s resize_all \"%s\" %d %d %d \"%s\" %d %d", prefs->backend, cfile->handle, + cfile->frames, width, height, + get_image_ext_for_type(cfile->img_type), iwidth, iheight); + msg = lives_strdup_printf(_("Resizing/letterboxing frames 1 to %d"), cfile->frames); } - cfile->progress_start=1; - cfile->progress_end=cfile->frames; + cfile->progress_start = 1; + cfile->progress_end = cfile->frames; lives_rm(cfile->info_file); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) return FALSE; - mainw->resizing=TRUE; - rs_builtin=TRUE; + mainw->resizing = TRUE; + rs_builtin = TRUE; } else { // use resize plugin int error; weed_plant_t *first_out; weed_plant_t *ctmpl; - rs_builtin=FALSE; - resize_rfx=mainw->fx_candidates[FX_CANDIDATE_RESIZER].rfx; - first_out=get_enabled_channel((weed_plant_t *)resize_rfx->source,0,FALSE); - ctmpl=weed_get_plantptr_value(first_out,WEED_LEAF_TEMPLATE,&error); - weed_set_int_value(ctmpl,WEED_LEAF_HOST_WIDTH,width); - weed_set_int_value(ctmpl,WEED_LEAF_HOST_HEIGHT,height); + rs_builtin = FALSE; + resize_rfx = mainw->fx_candidates[FX_CANDIDATE_RESIZER].rfx; + first_out = get_enabled_channel((weed_plant_t *)resize_rfx->source, 0, FALSE); + ctmpl = weed_get_plantptr_value(first_out, WEED_LEAF_TEMPLATE, &error); + weed_set_int_value(ctmpl, WEED_LEAF_HOST_WIDTH, width); + weed_set_int_value(ctmpl, WEED_LEAF_HOST_HEIGHT, height); } - cfile->nokeep=TRUE; + cfile->nokeep = TRUE; - if ((rs_builtin&&!do_progress_dialog(TRUE,TRUE,msg))||(!rs_builtin&&!on_realfx_activate_inner(1,resize_rfx))) { - mainw->resizing=FALSE; + if ((rs_builtin && !do_progress_dialog(TRUE, TRUE, msg)) || (!rs_builtin && !on_realfx_activate_inner(1, resize_rfx))) { + mainw->resizing = FALSE; lives_free(msg); - cfile->undo_action=UNDO_ATOMIC_RESAMPLE_RESIZE; + cfile->undo_action = UNDO_ATOMIC_RESAMPLE_RESIZE; - cfile->hsize=width; - cfile->vsize=height; + cfile->hsize = width; + cfile->vsize = height; - cfile->undo1_dbl=cfile->fps; - cfile->undo_start=1; - cfile->undo_end=cfile->frames; - cfile->fx_frame_pump=0; - on_undo_activate(NULL,NULL); - cfile->nokeep=FALSE; + cfile->undo1_dbl = cfile->fps; + cfile->undo_start = 1; + cfile->undo_end = cfile->frames; + cfile->fx_frame_pump = 0; + on_undo_activate(NULL, NULL); + cfile->nokeep = FALSE; return FALSE; } lives_free(msg); - mainw->resizing=FALSE; - cfile->fx_frame_pump=0; + mainw->resizing = FALSE; + cfile->fx_frame_pump = 0; - cfile->hsize=width; - cfile->vsize=height; + cfile->hsize = width; + cfile->vsize = height; - save_clip_value(mainw->current_file,CLIP_DETAILS_WIDTH,&cfile->hsize); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_HEIGHT,&cfile->vsize); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_WIDTH, &cfile->hsize); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_HEIGHT, &cfile->vsize); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; if (bad_header) do_header_write_error(mainw->current_file); - cfile->undo1_dbl=fps; - cfile->undo_start=1; - cfile->undo_end=frames; + cfile->undo1_dbl = fps; + cfile->undo_start = 1; + cfile->undo_end = frames; // now resample // special "cheat" mode for LiVES - reorder_leave_back=TRUE; + reorder_leave_back = TRUE; - reorder_width=width; - reorder_height=height; + reorder_width = width; + reorder_height = height; - mainw->resizing=TRUE; - on_resample_vid_ok(NULL,NULL); + mainw->resizing = TRUE; + on_resample_vid_ok(NULL, NULL); - reorder_leave_back=FALSE; - cfile->undo_action=UNDO_ATOMIC_RESAMPLE_RESIZE; + reorder_leave_back = FALSE; + cfile->undo_action = UNDO_ATOMIC_RESAMPLE_RESIZE; if (mainw->error) { - on_undo_activate(NULL,NULL); + on_undo_activate(NULL, NULL); return FALSE; } - video_resized=TRUE; - video_resampled=TRUE; + video_resized = TRUE; + video_resampled = TRUE; } else { // fewer frames // do resample *with* resize - cfile->ohsize=cfile->hsize; - cfile->ovsize=cfile->vsize; - cfile->undo1_dbl=fps; + cfile->ohsize = cfile->hsize; + cfile->ovsize = cfile->vsize; + cfile->undo1_dbl = fps; // another special "cheat" mode for LiVES - reorder_width=width; - reorder_height=height; + reorder_width = width; + reorder_height = height; - mainw->resizing=TRUE; - on_resample_vid_ok(NULL,NULL); - mainw->resizing=FALSE; + mainw->resizing = TRUE; + on_resample_vid_ok(NULL, NULL); + mainw->resizing = FALSE; - reorder_width=reorder_height=0; - cfile->undo_action=UNDO_ATOMIC_RESAMPLE_RESIZE; - cfile->hsize=width; - cfile->vsize=height; + reorder_width = reorder_height = 0; + cfile->undo_action = UNDO_ATOMIC_RESAMPLE_RESIZE; + cfile->hsize = width; + cfile->vsize = height; if (mainw->error) { - on_undo_activate(NULL,NULL); + on_undo_activate(NULL, NULL); return FALSE; } - save_clip_value(mainw->current_file,CLIP_DETAILS_WIDTH,&cfile->hsize); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_HEIGHT,&cfile->vsize); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_WIDTH, &cfile->hsize); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_HEIGHT, &cfile->vsize); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; if (bad_header) do_header_write_error(mainw->current_file); - video_resampled=TRUE; - video_resized=TRUE; + video_resampled = TRUE; + video_resized = TRUE; } } else { ////////////////////////////////////////////////////////////////////////////////// - cfile->undo1_dbl=fps; - cfile->undo_start=1; - cfile->undo_end=cfile->frames; + cfile->undo1_dbl = fps; + cfile->undo_start = 1; + cfile->undo_end = cfile->frames; - reorder_width=width; - reorder_height=height; + reorder_width = width; + reorder_height = height; - on_resample_vid_ok(NULL,NULL); + on_resample_vid_ok(NULL, NULL); - reorder_width=reorder_height=0; - reorder_leave_back=FALSE; + reorder_width = reorder_height = 0; + reorder_leave_back = FALSE; - if (audio_resampled) cfile->undo_action=UNDO_ATOMIC_RESAMPLE_RESIZE; + if (audio_resampled) cfile->undo_action = UNDO_ATOMIC_RESAMPLE_RESIZE; if (mainw->error) { - on_undo_activate(NULL,NULL); + on_undo_activate(NULL, NULL); return FALSE; } ////////////////////////////////////////////////////////////////////////////////////// - video_resampled=TRUE; + video_resampled = TRUE; } } else { - boolean rs_builtin=TRUE; + boolean rs_builtin = TRUE; lives_rfx_t *resize_rfx; // NO FPS CHANGE - if ((width!=cfile->hsize||height!=cfile->vsize)&&width*height>0) { + if ((width != cfile->hsize || height != cfile->vsize) && width * height > 0) { // no fps change - just a normal resize - cfile->undo_start=1; - cfile->undo_end=cfile->frames; + cfile->undo_start = 1; + cfile->undo_end = cfile->frames; - if (mainw->fx_candidates[FX_CANDIDATE_RESIZER].delegate==-1||prefs->enc_letterbox) { + if (mainw->fx_candidates[FX_CANDIDATE_RESIZER].delegate == -1 || prefs->enc_letterbox) { // use builtin resize - if (prefs->enc_letterbox&&LETTERBOX_NEEDS_COMPOSITE&&!capable->has_composite) { + if (prefs->enc_letterbox && LETTERBOX_NEEDS_COMPOSITE && !capable->has_composite) { do_lb_composite_error(); - on_undo_activate(NULL,NULL); + on_undo_activate(NULL, NULL); return FALSE; } - if (prefs->enc_letterbox&&LETTERBOX_NEEDS_CONVERT&&!capable->has_convert) { + if (prefs->enc_letterbox && LETTERBOX_NEEDS_CONVERT && !capable->has_convert) { do_lb_convert_error(); - on_undo_activate(NULL,NULL); + on_undo_activate(NULL, NULL); return FALSE; } - if (!prefs->enc_letterbox&&RESIZE_ALL_NEEDS_CONVERT&&!capable->has_convert) { + if (!prefs->enc_letterbox && RESIZE_ALL_NEEDS_CONVERT && !capable->has_convert) { do_ra_convert_error(); - on_undo_activate(NULL,NULL); + on_undo_activate(NULL, NULL); return FALSE; } - if (cfile->clip_type==CLIP_TYPE_FILE) { - cfile->fx_frame_pump=1; + if (cfile->clip_type == CLIP_TYPE_FILE) { + cfile->fx_frame_pump = 1; } if (!prefs->enc_letterbox) { - com=lives_strdup_printf("%s resize_all \"%s\" %d %d %d \"%s\"",prefs->backend, - cfile->handle,cfile->frames,width,height, - get_image_ext_for_type(cfile->img_type)); - msg=lives_strdup_printf(_("Resizing frames 1 to %d"),cfile->frames); + com = lives_strdup_printf("%s resize_all \"%s\" %d %d %d \"%s\"", prefs->backend, + cfile->handle, cfile->frames, width, height, + get_image_ext_for_type(cfile->img_type)); + msg = lives_strdup_printf(_("Resizing frames 1 to %d"), cfile->frames); } else { - int iwidth=cfile->hsize,iheight=cfile->vsize; - calc_maxspect(width,height,&iwidth,&iheight); + int iwidth = cfile->hsize, iheight = cfile->vsize; + calc_maxspect(width, height, &iwidth, &iheight); - if (iwidth==cfile->hsize&&iheight==cfile->vsize) { - iwidth=-iwidth; - iheight=-iheight; + if (iwidth == cfile->hsize && iheight == cfile->vsize) { + iwidth = -iwidth; + iheight = -iheight; } - com=lives_strdup_printf("%s resize_all \"%s\" %d %d %d \"%s\" %d %d",prefs->backend, - cfile->handle,cfile->frames,width,height, - get_image_ext_for_type(cfile->img_type),iwidth,iheight); - msg=lives_strdup_printf(_("Resizing/letterboxing frames 1 to %d"),cfile->frames); + com = lives_strdup_printf("%s resize_all \"%s\" %d %d %d \"%s\" %d %d", prefs->backend, + cfile->handle, cfile->frames, width, height, + get_image_ext_for_type(cfile->img_type), iwidth, iheight); + msg = lives_strdup_printf(_("Resizing/letterboxing frames 1 to %d"), cfile->frames); } - cfile->progress_start=1; - cfile->progress_end=cfile->frames; + cfile->progress_start = 1; + cfile->progress_end = cfile->frames; - cfile->ohsize=cfile->hsize; - cfile->ovsize=cfile->vsize; + cfile->ohsize = cfile->hsize; + cfile->ovsize = cfile->vsize; - cfile->undo1_dbl=cfile->fps; + cfile->undo1_dbl = cfile->fps; lives_rm(cfile->info_file); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) return FALSE; - mainw->resizing=TRUE; + mainw->resizing = TRUE; } else { int error; weed_plant_t *first_out; weed_plant_t *ctmpl; - rs_builtin=FALSE; - resize_rfx=mainw->fx_candidates[FX_CANDIDATE_RESIZER].rfx; - first_out=get_enabled_channel((weed_plant_t *)resize_rfx->source,0,FALSE); - ctmpl=weed_get_plantptr_value(first_out,WEED_LEAF_TEMPLATE,&error); - weed_set_int_value(ctmpl,WEED_LEAF_HOST_WIDTH,width); - weed_set_int_value(ctmpl,WEED_LEAF_HOST_HEIGHT,height); + rs_builtin = FALSE; + resize_rfx = mainw->fx_candidates[FX_CANDIDATE_RESIZER].rfx; + first_out = get_enabled_channel((weed_plant_t *)resize_rfx->source, 0, FALSE); + ctmpl = weed_get_plantptr_value(first_out, WEED_LEAF_TEMPLATE, &error); + weed_set_int_value(ctmpl, WEED_LEAF_HOST_WIDTH, width); + weed_set_int_value(ctmpl, WEED_LEAF_HOST_HEIGHT, height); } - cfile->nokeep=TRUE; + cfile->nokeep = TRUE; - if ((rs_builtin&&!do_progress_dialog(TRUE,TRUE,msg))||(!rs_builtin&&!on_realfx_activate_inner(1,resize_rfx))) { - mainw->resizing=FALSE; - if (msg!=NULL) lives_free(msg); - cfile->hsize=width; - cfile->vsize=height; - if (audio_resampled) cfile->undo_action=UNDO_ATOMIC_RESAMPLE_RESIZE; + if ((rs_builtin && !do_progress_dialog(TRUE, TRUE, msg)) || (!rs_builtin && !on_realfx_activate_inner(1, resize_rfx))) { + mainw->resizing = FALSE; + if (msg != NULL) lives_free(msg); + cfile->hsize = width; + cfile->vsize = height; + if (audio_resampled) cfile->undo_action = UNDO_ATOMIC_RESAMPLE_RESIZE; else { - cfile->undo_action=UNDO_RESIZABLE; - set_undoable(_("Resize"),TRUE); + cfile->undo_action = UNDO_RESIZABLE; + set_undoable(_("Resize"), TRUE); } - cfile->fx_frame_pump=0; - on_undo_activate(NULL,NULL); - cfile->nokeep=FALSE; + cfile->fx_frame_pump = 0; + on_undo_activate(NULL, NULL); + cfile->nokeep = FALSE; return FALSE; } - cfile->hsize=width; - cfile->vsize=height; + cfile->hsize = width; + cfile->vsize = height; lives_free(msg); - mainw->resizing=FALSE; - cfile->fx_frame_pump=0; + mainw->resizing = FALSE; + cfile->fx_frame_pump = 0; - save_clip_value(mainw->current_file,CLIP_DETAILS_WIDTH,&cfile->hsize); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_HEIGHT,&cfile->vsize); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_WIDTH, &cfile->hsize); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_HEIGHT, &cfile->vsize); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; if (bad_header) do_header_write_error(mainw->current_file); - if (audio_resampled) cfile->undo_action=UNDO_ATOMIC_RESAMPLE_RESIZE; + if (audio_resampled) cfile->undo_action = UNDO_ATOMIC_RESAMPLE_RESIZE; else { - cfile->undo_action=UNDO_RESIZABLE; - set_undoable(_("Resize"),TRUE); + cfile->undo_action = UNDO_RESIZABLE; + set_undoable(_("Resize"), TRUE); } - video_resized=TRUE; - switch_to_file((mainw->current_file=0),current_file); + video_resized = TRUE; + switch_to_file((mainw->current_file = 0), current_file); } } - if (cfile->undo_action==UNDO_ATOMIC_RESAMPLE_RESIZE) { + if (cfile->undo_action == UNDO_ATOMIC_RESAMPLE_RESIZE) { // just in case we missed anything... - set_undoable(_("Resample/Resize"),TRUE); + set_undoable(_("Resample/Resize"), TRUE); if (!video_resized) { - cfile->ohsize=cfile->hsize; - cfile->ovsize=cfile->vsize; + cfile->ohsize = cfile->hsize; + cfile->ovsize = cfile->vsize; } if (!video_resampled) { - cfile->undo1_dbl=cfile->fps; + cfile->undo1_dbl = cfile->fps; } - cfile->undo_start=1; - cfile->undo_end=frames; + cfile->undo_start = 1; + cfile->undo_end = frames; } return TRUE; } @@ -464,200 +464,200 @@ // only FRAME events are moved, other event types retain the same timecodes weed_plant_t *out_list; - weed_plant_t *last_audio_event=NULL; - weed_plant_t *event,*last_frame_event,*penultimate_frame_event,*next_frame_event,*shortcut=NULL; - weed_timecode_t out_tc=0,in_tc=-1,nearest_tc=LONG_MAX; - boolean is_first=TRUE; - weed_timecode_t tc_end,tp; - int *out_clips=NULL,*out_frames=NULL; - int numframes=0; - weed_timecode_t tl=q_dbl(1./qfps,qfps); + weed_plant_t *last_audio_event = NULL; + weed_plant_t *event, *last_frame_event, *penultimate_frame_event, *next_frame_event, *shortcut = NULL; + weed_timecode_t out_tc = 0, in_tc = -1, nearest_tc = LONG_MAX; + boolean is_first = TRUE; + weed_timecode_t tc_end, tp; + int *out_clips = NULL, *out_frames = NULL; + int numframes = 0; + weed_timecode_t tl = q_dbl(1. / qfps, qfps); int error; - boolean needs_audio=FALSE,add_audio=FALSE; - int *aclips=NULL; - double *aseeks=NULL; - int num_aclips=0; + boolean needs_audio = FALSE, add_audio = FALSE; + int *aclips = NULL; + double *aseeks = NULL; + int num_aclips = 0; - if (in_list==NULL) return NULL; + if (in_list == NULL) return NULL; - out_list=weed_plant_new(WEED_PLANT_EVENT_LIST); - weed_add_plant_flags(out_list,WEED_LEAF_READONLY_PLUGIN); - weed_set_voidptr_value(out_list,WEED_LEAF_FIRST,NULL); - weed_set_voidptr_value(out_list,WEED_LEAF_LAST,NULL); - weed_set_double_value(out_list,WEED_LEAF_FPS,qfps); + out_list = weed_plant_new(WEED_PLANT_EVENT_LIST); + weed_add_plant_flags(out_list, WEED_LEAF_READONLY_PLUGIN); + weed_set_voidptr_value(out_list, WEED_LEAF_FIRST, NULL); + weed_set_voidptr_value(out_list, WEED_LEAF_LAST, NULL); + weed_set_double_value(out_list, WEED_LEAF_FPS, qfps); - last_frame_event=get_last_frame_event(in_list); + last_frame_event = get_last_frame_event(in_list); - tc_end=get_event_timecode(last_frame_event); + tc_end = get_event_timecode(last_frame_event); - penultimate_frame_event=get_prev_frame_event(last_frame_event); + penultimate_frame_event = get_prev_frame_event(last_frame_event); // tp is the duration of the last frame - if (penultimate_frame_event!=NULL) { - tp=get_event_timecode(penultimate_frame_event); - tp=tc_end-tp; + if (penultimate_frame_event != NULL) { + tp = get_event_timecode(penultimate_frame_event); + tp = tc_end - tp; } else { // only one event, use cfile->fps - tp=(weed_timecode_t)(U_SEC/cfile->fps); + tp = (weed_timecode_t)(U_SEC / cfile->fps); } - tc_end+=tp; + tc_end += tp; - event=get_first_event(in_list); + event = get_first_event(in_list); #ifdef RESAMPLE_USE_MIDPOINTS // our "slot" is the middle of the out frame - tl/=2; + tl /= 2; #endif // length of old clip is assumed as last timecode + (last timecode - previous timecode) // we fill out frames until the new slot>=old length - while ((out_tc+tl)<=tc_end) { + while ((out_tc + tl) <= tc_end) { // walk list of in events - while (event!=NULL&&!WEED_EVENT_IS_FRAME(event)) { + while (event != NULL && !WEED_EVENT_IS_FRAME(event)) { // copy non-FRAME events - if (event_copy_and_insert(event,out_list)==NULL) { + if (event_copy_and_insert(event, out_list) == NULL) { do_memory_error_dialog(); event_list_free(out_list); return NULL; } - is_first=FALSE; - event=get_next_event(event); + is_first = FALSE; + event = get_next_event(event); } // now we are dealing with a FRAME event - if (event!=NULL) { - if (last_audio_event!=event&&WEED_EVENT_IS_AUDIO_FRAME(event)) { - last_audio_event=event; - needs_audio=TRUE; - if (aclips!=NULL) lives_free(aclips); - if (aseeks!=NULL) lives_free(aseeks); - num_aclips=weed_leaf_num_elements(event,WEED_LEAF_AUDIO_CLIPS); - aclips=weed_get_int_array(event,WEED_LEAF_AUDIO_CLIPS,&error); - aseeks=weed_get_double_array(event,WEED_LEAF_AUDIO_SEEKS,&error); + if (event != NULL) { + if (last_audio_event != event && WEED_EVENT_IS_AUDIO_FRAME(event)) { + last_audio_event = event; + needs_audio = TRUE; + if (aclips != NULL) lives_free(aclips); + if (aseeks != NULL) lives_free(aseeks); + num_aclips = weed_leaf_num_elements(event, WEED_LEAF_AUDIO_CLIPS); + aclips = weed_get_int_array(event, WEED_LEAF_AUDIO_CLIPS, &error); + aseeks = weed_get_double_array(event, WEED_LEAF_AUDIO_SEEKS, &error); } - in_tc=get_event_timecode(event); - if ((next_frame_event=get_next_frame_event(event))!=NULL) { - tp=get_event_timecode(next_frame_event); - tp-=in_tc; + in_tc = get_event_timecode(event); + if ((next_frame_event = get_next_frame_event(event)) != NULL) { + tp = get_event_timecode(next_frame_event); + tp -= in_tc; } else { // only one event, use cfile->fps - tp=(weed_timecode_t)(U_SEC/cfile->fps); + tp = (weed_timecode_t)(U_SEC / cfile->fps); } #ifdef RESAMPLE_USE_MIDPOINTS // calc mid-point of in frame - in_tc+=tp/2; + in_tc += tp / 2; #else - in_tc+=tp; + in_tc += tp; #endif } - if (in_tc<=(out_tc+tl)&&event!=NULL) { + if (in_tc <= (out_tc + tl) && event != NULL) { // event is before slot, note it and get next event - if (out_clips!=NULL) lives_free(out_clips); - if (out_frames!=NULL) lives_free(out_frames); - - numframes=weed_leaf_num_elements(event,WEED_LEAF_CLIPS); - out_clips=weed_get_int_array(event,WEED_LEAF_CLIPS,&error); - out_frames=weed_get_int_array(event,WEED_LEAF_FRAMES,&error); - if (last_audio_event==event&&needs_audio) add_audio=TRUE; - if (error==WEED_ERROR_MEMORY_ALLOCATION) { + if (out_clips != NULL) lives_free(out_clips); + if (out_frames != NULL) lives_free(out_frames); + + numframes = weed_leaf_num_elements(event, WEED_LEAF_CLIPS); + out_clips = weed_get_int_array(event, WEED_LEAF_CLIPS, &error); + out_frames = weed_get_int_array(event, WEED_LEAF_FRAMES, &error); + if (last_audio_event == event && needs_audio) add_audio = TRUE; + if (error == WEED_ERROR_MEMORY_ALLOCATION) { do_memory_error_dialog(); event_list_free(out_list); return NULL; } - nearest_tc=(out_tc+tl)-in_tc; - if (event!=NULL) event=get_next_event(event); - allow_gap=FALSE; + nearest_tc = (out_tc + tl) - in_tc; + if (event != NULL) event = get_next_event(event); + allow_gap = FALSE; } else { // event is after slot, or we reached the end of in_list // in some cases we allow a gap before writing our first FRAME out event - if (!(is_first&&allow_gap)) { - if (in_tc-(out_tc+tl)<nearest_tc) { - if (event!=NULL) { - if (out_clips!=NULL) lives_free(out_clips); - if (out_frames!=NULL) lives_free(out_frames); - - numframes=weed_leaf_num_elements(event,WEED_LEAF_CLIPS); - out_clips=weed_get_int_array(event,WEED_LEAF_CLIPS,&error); - out_frames=weed_get_int_array(event,WEED_LEAF_FRAMES,&error); - if (last_audio_event==event&&needs_audio) add_audio=TRUE; - if (error==WEED_ERROR_MEMORY_ALLOCATION) { + if (!(is_first && allow_gap)) { + if (in_tc - (out_tc + tl) < nearest_tc) { + if (event != NULL) { + if (out_clips != NULL) lives_free(out_clips); + if (out_frames != NULL) lives_free(out_frames); + + numframes = weed_leaf_num_elements(event, WEED_LEAF_CLIPS); + out_clips = weed_get_int_array(event, WEED_LEAF_CLIPS, &error); + out_frames = weed_get_int_array(event, WEED_LEAF_FRAMES, &error); + if (last_audio_event == event && needs_audio) add_audio = TRUE; + if (error == WEED_ERROR_MEMORY_ALLOCATION) { do_memory_error_dialog(); event_list_free(out_list); return NULL; } } } - if (out_clips!=NULL) { - if (insert_frame_event_at(out_list,out_tc,numframes,out_clips,out_frames,&shortcut)==NULL) { + if (out_clips != NULL) { + if (insert_frame_event_at(out_list, out_tc, numframes, out_clips, out_frames, &shortcut) == NULL) { do_memory_error_dialog(); event_list_free(out_list); return NULL; } if (add_audio) { - weed_set_int_array(shortcut,WEED_LEAF_AUDIO_CLIPS,num_aclips,aclips); - weed_set_double_array(shortcut,WEED_LEAF_AUDIO_SEEKS,num_aclips,aseeks); - needs_audio=add_audio=FALSE; + weed_set_int_array(shortcut, WEED_LEAF_AUDIO_CLIPS, num_aclips, aclips); + weed_set_double_array(shortcut, WEED_LEAF_AUDIO_SEEKS, num_aclips, aseeks); + needs_audio = add_audio = FALSE; } - nearest_tc=LONG_MAX; + nearest_tc = LONG_MAX; if (is_first) { - weed_set_voidptr_value(out_list,WEED_LEAF_FIRST,get_last_event(out_list)); - is_first=FALSE; + weed_set_voidptr_value(out_list, WEED_LEAF_FIRST, get_last_event(out_list)); + is_first = FALSE; } } } #ifdef RESAMPLE_USE_MIDPOINTS - out_tc+=tl*2; + out_tc += tl * 2; #else - out_tc+=tl; + out_tc += tl; #endif - out_tc=q_gint64(out_tc,qfps); + out_tc = q_gint64(out_tc, qfps); } } - if (event!=NULL&&WEED_EVENT_IS_FRAME(event)) event=get_next_event(event); + if (event != NULL && WEED_EVENT_IS_FRAME(event)) event = get_next_event(event); - while (event!=NULL&&!WEED_EVENT_IS_FRAME(event)) { + while (event != NULL && !WEED_EVENT_IS_FRAME(event)) { // copy remaining non-FRAME events - if (event_copy_and_insert(event,out_list)==NULL) { + if (event_copy_and_insert(event, out_list) == NULL) { do_memory_error_dialog(); event_list_free(out_list); return NULL; } - event=get_next_event(event); + event = get_next_event(event); } - if (get_first_frame_event(out_list)==NULL) { + if (get_first_frame_event(out_list) == NULL) { // make sure we have at least one frame - if ((event=get_last_frame_event(in_list))!=NULL) { + if ((event = get_last_frame_event(in_list)) != NULL) { - if (out_clips!=NULL) lives_free(out_clips); - if (out_frames!=NULL) lives_free(out_frames); + if (out_clips != NULL) lives_free(out_clips); + if (out_frames != NULL) lives_free(out_frames); - numframes=weed_leaf_num_elements(event,WEED_LEAF_CLIPS); - out_clips=weed_get_int_array(event,WEED_LEAF_CLIPS,&error); - out_frames=weed_get_int_array(event,WEED_LEAF_FRAMES,&error); + numframes = weed_leaf_num_elements(event, WEED_LEAF_CLIPS); + out_clips = weed_get_int_array(event, WEED_LEAF_CLIPS, &error); + out_frames = weed_get_int_array(event, WEED_LEAF_FRAMES, &error); - if (insert_frame_event_at(out_list,0.,numframes,out_clips,out_frames,NULL)==NULL) { + if (insert_frame_event_at(out_list, 0., numframes, out_clips, out_frames, NULL) == NULL) { do_memory_error_dialog(); event_list_free(out_list); return NULL; } - if (get_first_event(out_list)==NULL) weed_set_voidptr_value(out_list,WEED_LEAF_FIRST,get_last_event(out_list)); + if (get_first_event(out_list) == NULL) weed_set_voidptr_value(out_list, WEED_LEAF_FIRST, get_last_event(out_list)); } } - if (out_clips!=NULL) lives_free(out_clips); - if (out_frames!=NULL) lives_free(out_frames); + if (out_clips != NULL) lives_free(out_clips); + if (out_frames != NULL) lives_free(out_frames); - if (aclips!=NULL) lives_free(aclips); - if (aseeks!=NULL) lives_free(aseeks); + if (aclips != NULL) lives_free(aclips); + if (aseeks != NULL) lives_free(aseeks); return out_list; } @@ -668,62 +668,63 @@ static void on_reorder_activate(int rwidth, int rheight) { char *msg; - boolean has_lmap_error=FALSE; + boolean has_lmap_error = FALSE; - if (!(prefs->warning_mask&WARN_MASK_LAYOUT_ALTER_FRAMES)&&(mainw->xlays=layout_frame_is_affected(mainw->current_file,1))!=NULL) { + if (!(prefs->warning_mask & WARN_MASK_LAYOUT_ALTER_FRAMES) && (mainw->xlays = layout_frame_is_affected(mainw->current_file, 1)) != NULL) { if (!do_layout_alter_frames_warning()) { lives_list_free_all(&mainw->xlays); return; } - add_lmap_error(LMAP_ERROR_ALTER_FRAMES,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0,0.,cfile->stored_layout_frame>0); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_ALTER_FRAMES, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, 0., + cfile->stored_layout_frame > 0); + has_lmap_error = TRUE; lives_list_free_all(&mainw->xlays); } - cfile->old_frames=cfile->frames; + cfile->old_frames = cfile->frames; // we do the reorder in reorder_frames() // this will clear event_list and set it in event_list_back - if ((cfile->frames=reorder_frames(rwidth,rheight))<0) { + if ((cfile->frames = reorder_frames(rwidth, rheight)) < 0) { // reordering error - if (!(cfile->undo_action==UNDO_RESAMPLE)) { - cfile->frames=-cfile->frames; + if (!(cfile->undo_action == UNDO_RESAMPLE)) { + cfile->frames = -cfile->frames; } return; } - if (mainw->cancelled!=CANCEL_NONE) { + if (mainw->cancelled != CANCEL_NONE) { return; } - if (cfile->start>cfile->frames) { - cfile->start=cfile->frames; + if (cfile->start > cfile->frames) { + cfile->start = cfile->frames; } - if (cfile->end>cfile->frames) { - cfile->end=cfile->frames; + if (cfile->end > cfile->frames) { + cfile->end = cfile->frames; } - cfile->event_list=NULL; - cfile->next_event=NULL; + cfile->event_list = NULL; + cfile->next_event = NULL; - save_clip_value(mainw->current_file,CLIP_DETAILS_FRAMES,&cfile->frames); - if (mainw->com_failed||mainw->write_failed) do_header_write_error(mainw->current_file); + save_clip_value(mainw->current_file, CLIP_DETAILS_FRAMES, &cfile->frames); + if (mainw->com_failed || mainw->write_failed) do_header_write_error(mainw->current_file); - switch_to_file(mainw->current_file,mainw->current_file); - if (mainw->current_file>0) { + switch_to_file(mainw->current_file, mainw->current_file); + if (mainw->current_file > 0) { d_print_done(); - msg=lives_strdup_printf(_("Length of video is now %d frames.\n"),cfile->frames); + msg = lives_strdup_printf(_("Length of video is now %d frames.\n"), cfile->frames); } else { - msg=lives_strdup_printf(_("Clipboard was resampled to %d frames.\n"),cfile->frames); + msg = lives_strdup_printf(_("Clipboard was resampled to %d frames.\n"), cfile->frames); } d_print(msg); lives_free(msg); - if (has_lmap_error) popup_lmap_errors(NULL,NULL); + if (has_lmap_error) popup_lmap_errors(NULL, NULL); - if (mainw->sl_undo_mem!=NULL&&cfile->stored_layout_frame!=0) { + if (mainw->sl_undo_mem != NULL && cfile->stored_layout_frame != 0) { // need to invalidate undo/redo stack, in case file was used in some layout undo stored_event_list_free_undos(); } @@ -736,11 +737,11 @@ void on_resample_audio_activate(LiVESMenuItem *menuitem, livespointer user_data) { // show the playback rate - real audio rate is cfile->arps - mainw->fx1_val=cfile->arate; - mainw->fx2_val=cfile->achans; - mainw->fx3_val=cfile->asampsize; - mainw->fx4_val=cfile->signed_endian; - resaudw=create_resaudw(1,NULL,NULL); + mainw->fx1_val = cfile->arate; + mainw->fx2_val = cfile->achans; + mainw->fx3_val = cfile->asampsize; + mainw->fx4_val = cfile->signed_endian; + resaudw = create_resaudw(1, NULL, NULL); lives_widget_show(resaudw->dialog); } @@ -749,145 +750,145 @@ void on_resaudio_ok_clicked(LiVESButton *button, LiVESEntry *entry) { char *com; - boolean noswitch=mainw->noswitch; - boolean has_lmap_error=FALSE; + boolean noswitch = mainw->noswitch; + boolean has_lmap_error = FALSE; - int arate,achans,asampsize,arps; - int asigned=1,aendian=1; - int cur_signed,cur_endian; + int arate, achans, asampsize, arps; + int asigned = 1, aendian = 1; + int cur_signed, cur_endian; - if (button!=NULL) { - arps=arate=(int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_arate))); - achans=(int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_achans))); - asampsize=(int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_asamps))); + if (button != NULL) { + arps = arate = (int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_arate))); + achans = (int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_achans))); + asampsize = (int)atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_asamps))); if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->rb_unsigned))) { - asigned=0; + asigned = 0; } if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(resaudw->rb_bigend))) { - aendian=0; + aendian = 0; } lives_widget_destroy(resaudw->dialog); - mainw->noswitch=TRUE; + mainw->noswitch = TRUE; lives_widget_context_update(); - mainw->noswitch=noswitch; + mainw->noswitch = noswitch; lives_free(resaudw); - if (arate<=0) { + if (arate <= 0) { do_error_dialog(_("\n\nNew rate must be greater than 0\n")); return; } } else { // called from on_redo or other places - arate=arps=cfile->undo1_int; - achans=cfile->undo2_int; - asampsize=cfile->undo3_int; - asigned=!(cfile->undo1_uint&AFORM_UNSIGNED); - aendian=!(cfile->undo1_uint&AFORM_BIG_ENDIAN); + arate = arps = cfile->undo1_int; + achans = cfile->undo2_int; + asampsize = cfile->undo3_int; + asigned = !(cfile->undo1_uint & AFORM_UNSIGNED); + aendian = !(cfile->undo1_uint & AFORM_BIG_ENDIAN); } - if (!(prefs->warning_mask&WARN_MASK_LAYOUT_ALTER_AUDIO)&&(mainw->xlays=layout_audio_is_affected - (mainw->current_file,0.))) { + if (!(prefs->warning_mask & WARN_MASK_LAYOUT_ALTER_AUDIO) && (mainw->xlays = layout_audio_is_affected + (mainw->current_file, 0.))) { if (!do_layout_alter_audio_warning()) { lives_list_free_all(&mainw->xlays); return; } - add_lmap_error(LMAP_ERROR_ALTER_AUDIO,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0,0., - cfile->stored_layout_audio>0.); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_ALTER_AUDIO, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, 0., + cfile->stored_layout_audio > 0.); + has_lmap_error = TRUE; lives_list_free_all(&mainw->xlays); } // store old values for undo/redo - cfile->undo1_int=cfile->arate; - cfile->undo2_int=cfile->achans; - cfile->undo3_int=cfile->asampsize; - cfile->undo4_int=cfile->arps; - cfile->undo1_uint=cfile->signed_endian; - - cur_signed=!(cfile->signed_endian&AFORM_UNSIGNED); - cur_endian=!(cfile->signed_endian&AFORM_BIG_ENDIAN); - - if (!(arate==cfile->arate&&arps==cfile->arps&&achans==cfile->achans&&asampsize==cfile->asampsize&& - asigned==cur_signed&&aendian==cur_endian)) { - if (cfile->arps!=cfile->arate) { - double audio_stretch=(double)cfile->arps/(double)cfile->arate; + cfile->undo1_int = cfile->arate; + cfile->undo2_int = cfile->achans; + cfile->undo3_int = cfile->asampsize; + cfile->undo4_int = cfile->arps; + cfile->undo1_uint = cfile->signed_endian; + + cur_signed = !(cfile->signed_endian & AFORM_UNSIGNED); + cur_endian = !(cfile->signed_endian & AFORM_BIG_ENDIAN); + + if (!(arate == cfile->arate && arps == cfile->arps && achans == cfile->achans && asampsize == cfile->asampsize && + asigned == cur_signed && aendian == cur_endian)) { + if (cfile->arps != cfile->arate) { + double audio_stretch = (double)cfile->arps / (double)cfile->arate; // pb rate != real rate - stretch to pb rate and resample lives_rm(cfile->info_file); - com=lives_strdup_printf("%s resample_audio \"%s\" %d %d %d %d %d %d %d %d %d %d %.4f",prefs->backend, - cfile->handle,cfile->arps, - cfile->achans,cfile->asampsize,cur_signed,cur_endian,arps,cfile->achans,cfile->asampsize, - cur_signed,cur_endian,audio_stretch); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + com = lives_strdup_printf("%s resample_audio \"%s\" %d %d %d %d %d %d %d %d %d %d %.4f", prefs->backend, + cfile->handle, cfile->arps, + cfile->achans, cfile->asampsize, cur_signed, cur_endian, arps, cfile->achans, cfile->asampsize, + cur_signed, cur_endian, audio_stretch); + mainw->com_failed = FALSE; + lives_system(com, FALSE); if (mainw->com_failed) return; - do_progress_dialog(TRUE,FALSE,_("Resampling audio")); // TODO - allow cancel ?? + do_progress_dialog(TRUE, FALSE, _("Resampling audio")); // TODO - allow cancel ?? lives_free(com); - cfile->arate=cfile->arps=arps; + cfile->arate = cfile->arps = arps; } else { lives_rm(cfile->info_file); - com=lives_strdup_printf("%s resample_audio \"%s\" %d %d %d %d %d %d %d %d %d %d",prefs->backend, - cfile->handle,cfile->arps, - cfile->achans,cfile->asampsize,cur_signed,cur_endian,arps,achans,asampsize,asigned,aendian); - mainw->com_failed=FALSE; - mainw->cancelled=CANCEL_NONE; - mainw->error=FALSE; + com = lives_strdup_printf("%s resample_audio \"%s\" %d %d %d %d %d %d %d %d %d %d", prefs->backend, + cfile->handle, cfile->arps, + cfile->achans, cfile->asampsize, cur_signed, cur_endian, arps, achans, asampsize, asigned, aendian); + mainw->com_failed = FALSE; + mainw->cancelled = CANCEL_NONE; + mainw->error = FALSE; lives_rm(cfile->info_file); - lives_system(com,FALSE); + lives_system(com, FALSE); check_backend_return(cfile); if (mainw->com_failed) return; - do_progress_dialog(TRUE,FALSE,_("Resampling audio")); + do_progress_dialog(TRUE, FALSE, _("Resampling audio")); lives_free(com); } } - cfile->arate=arate; - cfile->achans=achans; - cfile->asampsize=asampsize; - cfile->arps=arps; - cfile->signed_endian=get_signed_endian(asigned, aendian); - cfile->changed=TRUE; + cfile->arate = arate; + cfile->achans = achans; + cfile->asampsize = asampsize; + cfile->arps = arps; + cfile->signed_endian = get_signed_endian(asigned, aendian); + cfile->changed = TRUE; - cfile->undo_action=UNDO_AUDIO_RESAMPLE; - mainw->error=FALSE; + cfile->undo_action = UNDO_AUDIO_RESAMPLE; + mainw->error = FALSE; reget_afilesize(mainw->current_file); - if (cfile->afilesize==0l) { + if (cfile->afilesize == 0l) { do_error_dialog(_("LiVES was unable to resample the audio as requested.\n")); - on_undo_activate(NULL,NULL); - set_undoable(_("Resample Audio"),FALSE); - mainw->error=TRUE; + on_undo_activate(NULL, NULL); + set_undoable(_("Resample Audio"), FALSE); + mainw->error = TRUE; return; } - set_undoable(_("Resample Audio"),!prefs->conserve_space); + set_undoable(_("Resample Audio"), !prefs->conserve_space); save_clip_values(mainw->current_file); - switch_to_file(mainw->current_file,mainw->current_file); + switch_to_file(mainw->current_file, mainw->current_file); d_print(""); // force printing of switch message - d_print(_("Audio was resampled to %d Hz, %d channels, %d bit"),arate,achans,asampsize); + d_print(_("Audio was resampled to %d Hz, %d channels, %d bit"), arate, achans, asampsize); - if (cur_signed!=asigned) { - if (asigned==1) { + if (cur_signed != asigned) { + if (asigned == 1) { d_print(_(", signed")); } else { d_print(_(", unsigned")); } } - if (cur_endian!=aendian) { - if (aendian==1) { + if (cur_endian != aendian) { + if (aendian == 1) { d_print(_(", little-endian")); } else { d_print(_(", big-endian")); } } d_print("\n"); - if (has_lmap_error) popup_lmap_errors(NULL,NULL); + if (has_lmap_error) popup_lmap_errors(NULL, NULL); - if (mainw->sl_undo_mem!=NULL&&cfile->stored_layout_audio>0.) { + if (mainw->sl_undo_mem != NULL && cfile->stored_layout_audio > 0.) { // need to invalidate undo/redo stack, in case file was used in some layout undo stored_event_list_free_undos(); } @@ -898,47 +899,47 @@ static void on_resaudw_achans_changed(LiVESWidget *widg, livespointer user_data) { - _resaudw *resaudw=(_resaudw *)user_data; + _resaudw *resaudw = (_resaudw *)user_data; char *tmp; if (!lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(widg))) { - lives_widget_set_sensitive(resaudw->rb_signed,FALSE); - lives_widget_set_sensitive(resaudw->rb_unsigned,FALSE); - lives_widget_set_sensitive(resaudw->rb_bigend,FALSE); - lives_widget_set_sensitive(resaudw->rb_littleend,FALSE); - lives_widget_set_sensitive(resaudw->entry_arate,FALSE); - lives_widget_set_sensitive(resaudw->entry_asamps,FALSE); - lives_widget_set_sensitive(resaudw->entry_achans,FALSE); - if (prefsw!=NULL) { - lives_widget_set_sensitive(prefsw->pertrack_checkbutton,FALSE); - lives_widget_set_sensitive(prefsw->backaudio_checkbutton,FALSE); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->pertrack_checkbutton),FALSE); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->backaudio_checkbutton),FALSE); - } else if (rdet!=NULL) { - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(rdet->pertrack_checkbutton),FALSE); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(rdet->backaudio_checkbutton),FALSE); - lives_widget_set_sensitive(rdet->pertrack_checkbutton,FALSE); - lives_widget_set_sensitive(rdet->backaudio_checkbutton,FALSE); + lives_widget_set_sensitive(resaudw->rb_signed, FALSE); + lives_widget_set_sensitive(resaudw->rb_unsigned, FALSE); + lives_widget_set_sensitive(resaudw->rb_bigend, FALSE); + lives_widget_set_sensitive(resaudw->rb_littleend, FALSE); + lives_widget_set_sensitive(resaudw->entry_arate, FALSE); + lives_widget_set_sensitive(resaudw->entry_asamps, FALSE); + lives_widget_set_sensitive(resaudw->entry_achans, FALSE); + if (prefsw != NULL) { + lives_widget_set_sensitive(prefsw->pertrack_checkbutton, FALSE); + lives_widget_set_sensitive(prefsw->backaudio_checkbutton, FALSE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->pertrack_checkbutton), FALSE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(prefsw->backaudio_checkbutton), FALSE); + } else if (rdet != NULL) { + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(rdet->pertrack_checkbutton), FALSE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(rdet->backaudio_checkbutton), FALSE); + lives_widget_set_sensitive(rdet->pertrack_checkbutton, FALSE); + lives_widget_set_sensitive(rdet->backaudio_checkbutton, FALSE); } } else { - if (atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_asamps)))!=8) { - lives_widget_set_sensitive(resaudw->rb_bigend,TRUE); - lives_widget_set_sensitive(resaudw->rb_littleend,TRUE); + if (atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_asamps))) != 8) { + lives_widget_set_sensitive(resaudw->rb_bigend, TRUE); + lives_widget_set_sensitive(resaudw->rb_littleend, TRUE); } - lives_widget_set_sensitive(resaudw->entry_arate,TRUE); - lives_widget_set_sensitive(resaudw->entry_asamps,TRUE); - lives_widget_set_sensitive(resaudw->entry_achans,TRUE); - if (prefsw!=NULL) { - lives_widget_set_sensitive(prefsw->pertrack_checkbutton,TRUE); - lives_widget_set_sensitive(prefsw->backaudio_checkbutton,TRUE); + lives_widget_set_sensitive(resaudw->entry_arate, TRUE); + lives_widget_set_sensitive(resaudw->entry_asamps, TRUE); + lives_widget_set_sensitive(resaudw->entry_achans, TRUE); + if (prefsw != NULL) { + lives_widget_set_sensitive(prefsw->pertrack_checkbutton, TRUE); + lives_widget_set_sensitive(prefsw->backaudio_checkbutton, TRUE); } - if (rdet!=NULL) { - lives_widget_set_sensitive(rdet->backaudio_checkbutton,TRUE); - lives_widget_set_sensitive(rdet->pertrack_checkbutton,TRUE); + if (rdet != NULL) { + lives_widget_set_sensitive(rdet->backaudio_checkbutton, TRUE); + lives_widget_set_sensitive(rdet->pertrack_checkbutton, TRUE); } - tmp=lives_strdup_printf("%d",DEFAULT_AUDIO_CHANS); - lives_entry_set_text(LIVES_ENTRY(resaudw->entry_achans),tmp); + tmp = lives_strdup_printf("%d", DEFAULT_AUDIO_CHANS); + lives_entry_set_text(LIVES_ENTRY(resaudw->entry_achans), tmp); lives_free(tmp); } @@ -948,19 +949,19 @@ void on_resaudw_asamps_changed(LiVESWidget *irrelevant, livespointer rubbish) { - if (atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_asamps)))==8) { - lives_widget_set_sensitive(resaudw->rb_bigend,FALSE); - lives_widget_set_sensitive(resaudw->rb_littleend,FALSE); - lives_widget_set_sensitive(resaudw->rb_signed,FALSE); - lives_widget_set_sensitive(resaudw->rb_unsigned,TRUE); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(resaudw->rb_unsigned),TRUE); + if (atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_asamps))) == 8) { + lives_widget_set_sensitive(resaudw->rb_bigend, FALSE); + lives_widget_set_sensitive(resaudw->rb_littleend, FALSE); + lives_widget_set_sensitive(resaudw->rb_signed, FALSE); + lives_widget_set_sensitive(resaudw->rb_unsigned, TRUE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(resaudw->rb_unsigned), TRUE); } else { - lives_widget_set_sensitive(resaudw->rb_bigend,TRUE); - lives_widget_set_sensitive(resaudw->rb_littleend,TRUE); - if (atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_asamps)))==16) { - lives_widget_set_sensitive(resaudw->rb_signed,TRUE); - lives_widget_set_sensitive(resaudw->rb_unsigned,FALSE); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(resaudw->rb_signed),TRUE); + lives_widget_set_sensitive(resaudw->rb_bigend, TRUE); + lives_widget_set_sensitive(resaudw->rb_littleend, TRUE); + if (atoi(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_asamps))) == 16) { + lives_widget_set_sensitive(resaudw->rb_signed, TRUE); + lives_widget_set_sensitive(resaudw->rb_unsigned, FALSE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(resaudw->rb_signed), TRUE); } } } @@ -970,7 +971,7 @@ void on_resample_video_activate(LiVESMenuItem *menuitem, livespointer user_data) { // change speed from the menu create_new_pb_speed(2); - mainw->fx1_val=cfile->fps; + mainw->fx1_val = cfile->fps; } @@ -978,127 +979,127 @@ void on_resample_vid_ok(LiVESButton *button, LiVESEntry *entry) { int i; int old_frames; - int ostart=cfile->start; - int oend=cfile->end; - double oundo1_dbl=cfile->undo1_dbl; + int ostart = cfile->start; + int oend = cfile->end; + double oundo1_dbl = cfile->undo1_dbl; char *msg; - weed_timecode_t in_time=0; - double old_fps=cfile->fps; + weed_timecode_t in_time = 0; + double old_fps = cfile->fps; boolean ratio_fps; - boolean bad_header=FALSE; - weed_plant_t *real_back_list=NULL; - weed_plant_t *new_event_list=NULL; + boolean bad_header = FALSE; + weed_plant_t *real_back_list = NULL; + weed_plant_t *new_event_list = NULL; - mainw->error=FALSE; + mainw->error = FALSE; - if (button!=NULL) { - lives_general_button_clicked(button,NULL); - if (mainw->fx1_val==0.) mainw->fx1_val=1.; + if (button != NULL) { + lives_general_button_clicked(button, NULL); + if (mainw->fx1_val == 0.) mainw->fx1_val = 1.; } else { - mainw->fx1_val=cfile->undo1_dbl; + mainw->fx1_val = cfile->undo1_dbl; } - if (mainw->current_file<0||cfile->frames==0) return; + if (mainw->current_file < 0 || cfile->frames == 0) return; - if (mainw->fx1_val==cfile->fps&&cfile->event_list==NULL) return; + if (mainw->fx1_val == cfile->fps && cfile->event_list == NULL) return; - real_back_list=cfile->event_list; + real_back_list = cfile->event_list; - if (cfile->event_list==NULL) { - for (i=1; i<=cfile->frames; i++) { - new_event_list=append_frame_event(new_event_list,in_time,1,&(mainw->current_file),&i); - if (new_event_list==NULL) { + if (cfile->event_list == NULL) { + for (i = 1; i <= cfile->frames; i++) { + new_event_list = append_frame_event(new_event_list, in_time, 1, &(mainw->current_file), &i); + if (new_event_list == NULL) { do_memory_error_dialog(); return; } - in_time+=(weed_timecode_t)(1./cfile->fps*U_SEC+.5); + in_time += (weed_timecode_t)(1. / cfile->fps * U_SEC + .5); } - cfile->event_list=new_event_list; + cfile->event_list = new_event_list; } - cfile->undo1_dbl=cfile->fps; + cfile->undo1_dbl = cfile->fps; - if (cfile->event_list_back!=NULL) event_list_free(cfile->event_list_back); - cfile->event_list_back=cfile->event_list; + if (cfile->event_list_back != NULL) event_list_free(cfile->event_list_back); + cfile->event_list_back = cfile->event_list; //QUANTISE - new_event_list=quantise_events(cfile->event_list_back,mainw->fx1_val,real_back_list!=NULL); - if (new_event_list==NULL) return; // memory error - cfile->event_list=new_event_list; + new_event_list = quantise_events(cfile->event_list_back, mainw->fx1_val, real_back_list != NULL); + if (new_event_list == NULL) return; // memory error + cfile->event_list = new_event_list; - if (real_back_list==NULL) event_list_free(cfile->event_list_back); - cfile->event_list_back=NULL; + if (real_back_list == NULL) event_list_free(cfile->event_list_back); + cfile->event_list_back = NULL; // TODO - end_threaded_dialog - if (cfile->event_list==NULL) { + if (cfile->event_list == NULL) { do_memory_error_dialog(); - cfile->event_list=real_back_list; - cfile->undo1_dbl=oundo1_dbl; - mainw->error=TRUE; + cfile->event_list = real_back_list; + cfile->undo1_dbl = oundo1_dbl; + mainw->error = TRUE; return; } - if (mainw->multitrack!=NULL) return; + if (mainw->multitrack != NULL) return; - ratio_fps=check_for_ratio_fps(mainw->fx1_val); + ratio_fps = check_for_ratio_fps(mainw->fx1_val); // we have now quantised to fixed fps; we have come here from reorder if (ratio_fps) { // got a ratio - msg=lives_strdup_printf(_("Resampling video at %.8f frames per second..."),mainw->fx1_val); + msg = lives_strdup_printf(_("Resampling video at %.8f frames per second..."), mainw->fx1_val); } else { - msg=lives_strdup_printf(_("Resampling video at %.3f frames per second..."),mainw->fx1_val); + msg = lives_strdup_printf(_("Resampling video at %.3f frames per second..."), mainw->fx1_val); } - if (mainw->current_file>0) { + if (mainw->current_file > 0) { d_print(msg); } lives_free(msg); - old_frames=cfile->frames; + old_frames = cfile->frames; // must set these before calling reorder - cfile->start=(int)((cfile->start-1.)/old_fps*mainw->fx1_val+1.); - if ((cfile->end=(int)((cfile->end*mainw->fx1_val)/old_fps+.49999))<cfile->start) cfile->end=cfile->start; + cfile->start = (int)((cfile->start - 1.) / old_fps * mainw->fx1_val + 1.); + if ((cfile->end = (int)((cfile->end * mainw->fx1_val) / old_fps + .49999)) < cfile->start) cfile->end = cfile->start; - cfile->undo_action=UNDO_RESAMPLE; + cfile->undo_action = UNDO_RESAMPLE; // REORDER // this calls reorder_frames, which sets event_list_back==event_list, and clears event_list - on_reorder_activate(reorder_width,reorder_height); + on_reorder_activate(reorder_width, reorder_height); - if (cfile->frames<=0||mainw->cancelled!=CANCEL_NONE) { + if (cfile->frames <= 0 || mainw->cancelled != CANCEL_NONE) { // reordering error... - cfile->event_list=real_back_list; - if (cfile->event_list_back!=NULL) event_list_free(cfile->event_list_back); - cfile->event_list_back=NULL; - cfile->frames=old_frames; - cfile->start=ostart; - cfile->end=oend; + cfile->event_list = real_back_list; + if (cfile->event_list_back != NULL) event_list_free(cfile->event_list_back); + cfile->event_list_back = NULL; + cfile->frames = old_frames; + cfile->start = ostart; + cfile->end = oend; load_start_image(cfile->start); load_end_image(cfile->end); - cfile->undo1_dbl=oundo1_dbl; + cfile->undo1_dbl = oundo1_dbl; sensitize(); - mainw->error=TRUE; - if (cfile->frames<0) do_error_dialog(_("Reordering error !\n")); + mainw->error = TRUE; + if (cfile->frames < 0) do_error_dialog(_("Reordering error !\n")); return; } - if (cfile->event_list_back!=NULL) event_list_free(cfile->event_list_back); - cfile->event_list_back=real_back_list; + if (cfile->event_list_back != NULL) event_list_free(cfile->event_list_back); + cfile->event_list_back = real_back_list; - cfile->ratio_fps=ratio_fps; - cfile->pb_fps=cfile->fps=mainw->fx1_val; - cfile->old_frames=old_frames; + cfile->ratio_fps = ratio_fps; + cfile->pb_fps = cfile->fps = mainw->fx1_val; + cfile->old_frames = old_frames; - set_undoable(_("Resample"),TRUE); + set_undoable(_("Resample"), TRUE); - save_clip_value(mainw->current_file,CLIP_DETAILS_FPS,&cfile->fps); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_PB_FPS,&cfile->fps); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_FPS, &cfile->fps); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_PB_FPS, &cfile->fps); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; if (bad_header) do_header_write_error(mainw->current_file); - switch_to_file(mainw->current_file,mainw->current_file); + switch_to_file(mainw->current_file, mainw->current_file); } @@ -1121,7 +1122,7 @@ // type 10 == change inside multitrack // type 11 == rte audio gen as rfx - LiVESWidget *dialog_vbox=NULL; + LiVESWidget *dialog_vbox = NULL; LiVESWidget *vboxx; LiVESWidget *vbox2; LiVESWidget *frame; @@ -1145,39 +1146,39 @@ LiVESWidget *hbox; LiVESWidget *hbox2; - LiVESAccelGroup *accel_group=NULL; + LiVESAccelGroup *accel_group = NULL; - LiVESSList *s1_group=NULL; - LiVESSList *e1_group=NULL; - LiVESSList *s2_group=NULL; - LiVESSList *e2_group=NULL; + LiVESSList *s1_group = NULL; + LiVESSList *e1_group = NULL; + LiVESSList *s2_group = NULL; + LiVESSList *e2_group = NULL; LiVESSList *rbgroup = NULL; LiVESList *channels = NULL; LiVESList *sampsize = NULL; LiVESList *rate = NULL; - double secs=0.; + double secs = 0.; char *tmp; - int hours=0,mins=0; + int hours = 0, mins = 0; int aendian; - boolean chans_fixed=FALSE; + boolean chans_fixed = FALSE; boolean is_8bit; - _resaudw *resaudw=(_resaudw *)(lives_malloc(sizeof(_resaudw))); + _resaudw *resaudw = (_resaudw *)(lives_malloc(sizeof(_resaudw))); - if (type==10) { - if (mainw->multitrack!=NULL) chans_fixed=TRUE; // TODO * - type=3; + if (type == 10) { + if (mainw->multitrack != NULL) chans_fixed = TRUE; // TODO * + type = 3; } - if (type>5&&type!=11&&mainw->rec_end_time!=-1.) { - hours=(int)(mainw->rec_end_time/3600.); - mins=(int)((mainw->rec_end_time-(hours*3600.))/60.); - secs=mainw->rec_end_time-hours*3600.-mins*60.; + if (type > 5 && type != 11 && mainw->rec_end_time != -1.) { + hours = (int)(mainw->rec_end_time / 3600.); + mins = (int)((mainw->rec_end_time - (hours * 3600.)) / 60.); + secs = mainw->rec_end_time - hours * 3600. - mins * 60.; } channels = lives_list_append(channels, (livespointer)"1"); @@ -1197,28 +1198,28 @@ rate = lives_list_append(rate, (livespointer)"96000"); rate = lives_list_append(rate, (livespointer)"128000"); - if (type<3||type>4) { - char *title=NULL; - - if (type==1) { - title=lives_strdup(_("Resample Audio")); - } else if (type==2) { - title=lives_strdup(_("Insert Silence")); - } else if (type==5||type==11||type==6||type==7) { - title=lives_strdup(_("New Clip Audio")); - } else if (type==9||type==8) { - title=lives_strdup(_("External Clip Settings")); + if (type < 3 || type > 4) { + char *title = NULL; + + if (type == 1) { + title = lives_strdup(_("Resample Audio")); + } else if (type == 2) { + title = lives_strdup(_("Insert Silence")); + } else if (type == 5 || type == 11 || type == 6 || type == 7) { + title = lives_strdup(_("New Clip Audio")); + } else if (type == 9 || type == 8) { + title = lives_strdup(_("External Clip Settings")); } - resaudw->dialog = lives_standard_dialog_new(title,FALSE,DEF_DIALOG_WIDTH,DEF_DIALOG_HEIGHT); - lives_signal_handlers_disconnect_by_func(resaudw->dialog,return_true,NULL); + resaudw->dialog = lives_standard_dialog_new(title, FALSE, DEF_DIALOG_WIDTH, DEF_DIALOG_HEIGHT); + lives_signal_handlers_disconnect_by_func(resaudw->dialog, return_true, NULL); lives_free(title); accel_group = LIVES_ACCEL_GROUP(lives_accel_group_new()); lives_window_add_accel_group(LIVES_WINDOW(resaudw->dialog), accel_group); if (prefs->show_gui) { - lives_window_set_transient_for(LIVES_WINDOW(resaudw->dialog),LIVES_WINDOW(mainw->LiVES)); + lives_window_set_transient_for(LIVES_WINDOW(resaudw->dialog), LIVES_WINDOW(mainw->LiVES)); } dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(resaudw->dialog)); @@ -1226,10 +1227,10 @@ vboxx = lives_vbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(dialog_vbox), vboxx, TRUE, TRUE, 0); - } else vboxx=top_vbox; + } else vboxx = top_vbox; - if (type==1) { - frame = lives_standard_frame_new(_("Current"),0.,FALSE); + if (type == 1) { + frame = lives_standard_frame_new(_("Current"), 0., FALSE); lives_box_pack_start(LIVES_BOX(vboxx), frame, TRUE, TRUE, 0); @@ -1237,23 +1238,23 @@ lives_container_add(LIVES_CONTAINER(frame), hbox2); lives_container_set_border_width(LIVES_CONTAINER(hbox2), widget_opts.packing_width); - tmp=lives_strdup_printf("%d",(int)mainw->fx1_val); + tmp = lives_strdup_printf("%d", (int)mainw->fx1_val); - combo_entry2 = lives_standard_entry_new(_("Rate (Hz) "),FALSE,tmp,10,6,LIVES_BOX(hbox2),NULL); + combo_entry2 = lives_standard_entry_new(_("Rate (Hz) "), FALSE, tmp, 10, 6, LIVES_BOX(hbox2), NULL); lives_free(tmp); lives_editable_set_editable(LIVES_EDITABLE(combo_entry2), FALSE); lives_widget_set_can_focus(combo_entry2, FALSE); - tmp=lives_strdup_printf("%d",(int)mainw->fx2_val); - combo_entry3 = lives_standard_entry_new(_("Channels"),FALSE,tmp,6,2,LIVES_BOX(hbox2),NULL); + tmp = lives_strdup_printf("%d", (int)mainw->fx2_val); + combo_entry3 = lives_standard_entry_new(_("Channels"), FALSE, tmp, 6, 2, LIVES_BOX(hbox2), NULL); lives_free(tmp); lives_editable_set_editable(LIVES_EDITABLE(combo_entry3), FALSE); lives_widget_set_can_focus(combo_entry3, FALSE); - tmp=lives_strdup_printf("%d",(int)mainw->fx3_val); - combo_entry1 = lives_standard_entry_new(_("Sample Size "),FALSE,tmp,6,2,LIVES_BOX(hbox2),NULL); + tmp = lives_strdup_printf("%d", (int)mainw->fx3_val); + combo_entry1 = lives_standard_entry_new(_("Sample Size "), FALSE, tmp, 6, 2, LIVES_BOX(hbox2), NULL); lives_free(tmp); lives_editable_set_editable(LIVES_EDITABLE(combo_entry1), FALSE); @@ -1268,17 +1269,17 @@ hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - radiobutton_s1 = lives_standard_radio_button_new(_("Signed"),FALSE,s1_group,LIVES_BOX(hbox),NULL); + radiobutton_s1 = lives_standard_radio_button_new(_("Signed"), FALSE, s1_group, LIVES_BOX(hbox), NULL); s1_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(radiobutton_s1)); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - radiobutton_u1 = lives_standard_radio_button_new(_("Unsigned"),FALSE,s1_group,LIVES_BOX(hbox),NULL); + radiobutton_u1 = lives_standard_radio_button_new(_("Unsigned"), FALSE, s1_group, LIVES_BOX(hbox), NULL); - aendian=mainw->fx4_val; + aendian = mainw->fx4_val; - if (aendian&AFORM_UNSIGNED) { + if (aendian & AFORM_UNSIGNED) { lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(radiobutton_u1), TRUE); } else { lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(radiobutton_s1), TRUE); @@ -1296,15 +1297,15 @@ hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - radiobutton_l1 = lives_standard_radio_button_new(_("Little Endian"),FALSE,e1_group,LIVES_BOX(hbox),NULL); + radiobutton_l1 = lives_standard_radio_button_new(_("Little Endian"), FALSE, e1_group, LIVES_BOX(hbox), NULL); e1_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(radiobutton_l1)); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - radiobutton_b1 = lives_standard_radio_button_new(_("Big Endian"),FALSE,e1_group,LIVES_BOX(hbox),NULL); + radiobutton_b1 = lives_standard_radio_button_new(_("Big Endian"), FALSE, e1_group, LIVES_BOX(hbox), NULL); - if (aendian&AFORM_BIG_ENDIAN) { + if (aendian & AFORM_BIG_ENDIAN) { lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(radiobutton_b1), TRUE); } else { lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(radiobutton_l1), TRUE); @@ -1317,28 +1318,28 @@ resaudw->aud_checkbutton = NULL; - if (type<9||type==11) { - if (type>=3&&type!=11) tmp=lives_strdup(_("Audio")); - else if (type==2) tmp=lives_strdup(_("New Audio Details")); - else tmp=lives_strdup(_("New")); + if (type < 9 || type == 11) { + if (type >= 3 && type != 11) tmp = lives_strdup(_("Audio")); + else if (type == 2) tmp = lives_strdup(_("New Audio Details")); + else tmp = lives_strdup(_("New")); - frame = lives_standard_frame_new(tmp,0.,FALSE); + frame = lives_standard_frame_new(tmp, 0., FALSE); lives_free(tmp); - if (type==4) lives_box_pack_start(LIVES_BOX(vboxx), frame, FALSE, FALSE, widget_opts.packing_height); + if (type == 4) lives_box_pack_start(LIVES_BOX(vboxx), frame, FALSE, FALSE, widget_opts.packing_height); else lives_box_pack_start(LIVES_BOX(vboxx), frame, TRUE, TRUE, 0); vbox2 = lives_vbox_new(FALSE, 0); lives_container_add(LIVES_CONTAINER(frame), vbox2); - if (type>2&&type<5) { + if (type > 2 && type < 5) { resaudw->aud_hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox2), resaudw->aud_hbox, FALSE, FALSE, 0); - resaudw->aud_checkbutton = lives_standard_check_button_new(_("_Enable audio"),TRUE,LIVES_BOX(resaudw->aud_hbox),NULL); + resaudw->aud_checkbutton = lives_standard_check_button_new(_("_Enable audio"), TRUE, LIVES_BOX(resaudw->aud_hbox), NULL); - if (rdet!=NULL) lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(resaudw->aud_checkbutton), rdet->achans>0); - else lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(resaudw->aud_checkbutton), prefs->mt_def_achans>0); + if (rdet != NULL) lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(resaudw->aud_checkbutton), rdet->achans > 0); + else lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(resaudw->aud_checkbutton), prefs->mt_def_achans > 0); } else resaudw->aud_checkbutton = lives_check_button_new(); hbox2 = lives_hbox_new(FALSE, 0); @@ -1352,92 +1353,92 @@ lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); lives_container_set_border_width(LIVES_CONTAINER(hbox), widget_opts.border_width); - combo4 = lives_standard_combo_new(_("Rate (Hz) "),type>=3&&type!=11,rate,LIVES_BOX(hbox),NULL); + combo4 = lives_standard_combo_new(_("Rate (Hz) "), type >= 3 && type != 11, rate, LIVES_BOX(hbox), NULL); resaudw->entry_arate = lives_combo_get_entry(LIVES_COMBO(combo4)); lives_entry_set_width_chars(LIVES_ENTRY(resaudw->entry_arate), 6); - if (type==7) lives_widget_set_sensitive(combo4,FALSE); + if (type == 7) lives_widget_set_sensitive(combo4, FALSE); - if (type<3||(type>4&&type<8)||type==11) tmp=lives_strdup_printf("%d",(int)mainw->fx1_val); - else if (type==8) tmp=lives_strdup_printf("%d",DEFAULT_AUDIO_RATE); - else if (type==3) tmp=lives_strdup_printf("%d",rdet->arate); - else tmp=lives_strdup_printf("%d",prefs->mt_def_arate); - lives_entry_set_text(LIVES_ENTRY(resaudw->entry_arate),tmp); + if (type < 3 || (type > 4 && type < 8) || type == 11) tmp = lives_strdup_printf("%d", (int)mainw->fx1_val); + else if (type == 8) tmp = lives_strdup_printf("%d", DEFAULT_AUDIO_RATE); + else if (type == 3) tmp = lives_strdup_printf("%d", rdet->arate); + else tmp = lives_strdup_printf("%d", prefs->mt_def_arate); + lives_entry_set_text(LIVES_ENTRY(resaudw->entry_arate), tmp); lives_free(tmp); - combo5 = lives_standard_combo_new((type>=3&&type!=11?(_("_Channels")):(_("Channels"))),type>=3&&type!=11, - channels,LIVES_BOX(hbox),NULL); + combo5 = lives_standard_combo_new((type >= 3 && type != 11 ? (_("_Channels")) : (_("Channels"))), type >= 3 && type != 11, + channels, LIVES_BOX(hbox), NULL); - if (type==7) lives_widget_set_sensitive(combo5,FALSE); + if (type == 7) lives_widget_set_sensitive(combo5, FALSE); resaudw->entry_achans = lives_combo_get_entry(LIVES_COMBO(combo5)); lives_entry_set_width_chars(LIVES_ENTRY(resaudw->entry_achans), 2); - if (type<3||(type>4&&type<8)||type==11) tmp=lives_strdup_printf("%d",(int)mainw->fx2_val); - else if (type==8) tmp=lives_strdup_printf("%d",DEFAULT_AUDIO_CHANS); - else if (type==3) tmp=lives_strdup_printf("%d",rdet->achans); - else tmp=lives_strdup_printf("%d",prefs->mt_def_achans==0?DEFAULT_AUDIO_CHANS:prefs->mt_def_achans); - lives_entry_set_text(LIVES_ENTRY(resaudw->entry_achans),tmp); + if (type < 3 || (type > 4 && type < 8) || type == 11) tmp = lives_strdup_printf("%d", (int)mainw->fx2_val); + else if (type == 8) tmp = lives_strdup_printf("%d", DEFAULT_AUDIO_CHANS); + else if (type == 3) tmp = lives_strdup_printf("%d", rdet->achans); + else tmp = lives_strdup_printf("%d", prefs->mt_def_achans == 0 ? DEFAULT_AUDIO_CHANS : prefs->mt_def_achans); + lives_entry_set_text(LIVES_ENTRY(resaudw->entry_achans), tmp); lives_free(tmp); if (chans_fixed) { - lives_widget_set_sensitive(resaudw->entry_achans,FALSE); - lives_widget_set_sensitive(combo5,FALSE); + lives_widget_set_sensitive(resaudw->entry_achans, FALSE); + lives_widget_set_sensitive(combo5, FALSE); } - combo6 = lives_standard_combo_new((type>=3&&type!=11?(_("_Sample Size")):(_("Sample Size"))),type>=3&&type!=11, - sampsize,LIVES_BOX(hbox),NULL); + combo6 = lives_standard_combo_new((type >= 3 && type != 11 ? (_("_Sample Size")) : (_("Sample Size"))), type >= 3 && type != 11, + sampsize, LIVES_BOX(hbox), NULL); - if (type==7) lives_widget_set_sensitive(combo6,FALSE); + if (type == 7) lives_widget_set_sensitive(combo6, FALSE); resaudw->entry_asamps = lives_combo_get_entry(LIVES_COMBO(combo6)); lives_entry_set_max_length(LIVES_ENTRY(resaudw->entry_asamps), 2); lives_editable_set_editable(LIVES_EDITABLE(resaudw->entry_asamps), FALSE); lives_entry_set_width_chars(LIVES_ENTRY(resaudw->entry_asamps), 2); - if (type<3||(type>4&&type<8)||type==11) tmp=lives_strdup_printf("%d",(int)mainw->fx3_val); - else if (type==8) tmp=lives_strdup_printf("%d",DEFAULT_AUDIO_SAMPS); - else if (type==3) tmp=lives_strdup_printf("%d",rdet->asamps); - else tmp=lives_strdup_printf("%d",prefs->mt_def_asamps); - lives_entry_set_text(LIVES_ENTRY(resaudw->entry_asamps),tmp); + if (type < 3 || (type > 4 && type < 8) || type == 11) tmp = lives_strdup_printf("%d", (int)mainw->fx3_val); + else if (type == 8) tmp = lives_strdup_printf("%d", DEFAULT_AUDIO_SAMPS); + else if (type == 3) tmp = lives_strdup_printf("%d", rdet->asamps); + else tmp = lives_strdup_printf("%d", prefs->mt_def_asamps); + lives_entry_set_text(LIVES_ENTRY(resaudw->entry_asamps), tmp); - if (!strcmp(tmp,"8")) is_8bit=TRUE; - else is_8bit=FALSE; + if (!strcmp(tmp, "8")) is_8bit = TRUE; + else is_8bit = FALSE; lives_free(tmp); vseparator = lives_vseparator_new(); - if (type!=4) lives_box_pack_start(LIVES_BOX(hbox2), vseparator, FALSE, FALSE, widget_opts.packing_width); + if (type != 4) lives_box_pack_start(LIVES_BOX(hbox2), vseparator, FALSE, FALSE, widget_opts.packing_width); vbox = lives_vbox_new(FALSE, 0); - if (type!=4) lives_box_pack_start(LIVES_BOX(hbox2), vbox, FALSE, FALSE, 0); + if (type != 4) lives_box_pack_start(LIVES_BOX(hbox2), vbox, FALSE, FALSE, 0); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - resaudw->rb_signed = lives_standard_radio_button_new(_("Signed"),FALSE,s2_group,LIVES_BOX(hbox),NULL); + resaudw->rb_signed = lives_standard_radio_button_new(_("Signed"), FALSE, s2_group, LIVES_BOX(hbox), NULL); s2_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(resaudw->rb_signed)); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(resaudw->rb_signed), TRUE); - if (type==7||is_8bit) lives_widget_set_sensitive(resaudw->rb_signed,FALSE); + if (type == 7 || is_8bit) lives_widget_set_sensitive(resaudw->rb_signed, FALSE); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - resaudw->rb_unsigned = lives_standard_radio_button_new(_("Unsigned"),FALSE,s2_group,LIVES_BOX(hbox),NULL); + resaudw->rb_unsigned = lives_standard_radio_button_new(_("Unsigned"), FALSE, s2_group, LIVES_BOX(hbox), NULL); - if (type==7||!is_8bit) lives_widget_set_sensitive(resaudw->rb_unsigned,FALSE); + if (type == 7 || !is_8bit) lives_widget_set_sensitive(resaudw->rb_unsigned, FALSE); - if (type<3||(type>4&&type<8)||type==11) aendian=mainw->fx4_val; - else if (type==8) aendian=DEFAULT_AUDIO_SIGNED16|((capable->byte_order==LIVES_BIG_ENDIAN)?AFORM_BIG_ENDIAN:0); - else if (type==3) aendian=rdet->aendian; - else aendian=prefs->mt_def_signed_endian; + if (type < 3 || (type > 4 && type < 8) || type == 11) aendian = mainw->fx4_val; + else if (type == 8) aendian = DEFAULT_AUDIO_SIGNED16 | ((capable->byte_order == LIVES_BIG_ENDIAN) ? AFORM_BIG_ENDIAN : 0); + else if (type == 3) aendian = rdet->aendian; + else aendian = prefs->mt_def_signed_endian; - if (aendian&AFORM_UNSIGNED) { + if (aendian & AFORM_UNSIGNED) { lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(resaudw->rb_unsigned), TRUE); } else { lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(resaudw->rb_signed), TRUE); @@ -1452,25 +1453,25 @@ hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - resaudw->rb_littleend = lives_standard_radio_button_new(_("Little Endian"),FALSE,e2_group,LIVES_BOX(hbox),NULL); + resaudw->rb_littleend = lives_standard_radio_button_new(_("Little Endian"), FALSE, e2_group, LIVES_BOX(hbox), NULL); e2_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(resaudw->rb_littleend)); - if (type==7) lives_widget_set_sensitive(resaudw->rb_littleend,FALSE); + if (type == 7) lives_widget_set_sensitive(resaudw->rb_littleend, FALSE); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - resaudw->rb_bigend = lives_standard_radio_button_new(_("Big Endian"),FALSE,e2_group,LIVES_BOX(hbox),NULL); + resaudw->rb_bigend = lives_standard_radio_button_new(_("Big Endian"), FALSE, e2_group, LIVES_BOX(hbox), NULL); - if (type==7) lives_widget_set_sensitive(resaudw->rb_bigend,FALSE); + if (type == 7) lives_widget_set_sensitive(resaudw->rb_bigend, FALSE); - if (aendian&AFORM_BIG_ENDIAN) { + if (aendian & AFORM_BIG_ENDIAN) { lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(resaudw->rb_bigend), TRUE); } else { lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(resaudw->rb_littleend), TRUE); } - if (!strcmp(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_asamps)),"8")) { + if (!strcmp(lives_entry_get_text(LIVES_ENTRY(resaudw->entry_asamps)), "8")) { lives_widget_set_sensitive(resaudw->rb_littleend, FALSE); lives_widget_set_sensitive(resaudw->rb_bigend, FALSE); } @@ -1482,8 +1483,8 @@ } - if (type>7&&type!=11) { - frame = lives_standard_frame_new(_("Video"),0.,FALSE); + if (type > 7 && type != 11) { + frame = lives_standard_frame_new(_("Video"), 0., FALSE); lives_box_pack_start(LIVES_BOX(vboxx), frame, TRUE, TRUE, 0); hbox = lives_hbox_new(FALSE, 0); @@ -1491,90 +1492,90 @@ lives_container_set_border_width(LIVES_CONTAINER(hbox), widget_opts.border_width); - resaudw->fps_spinbutton = lives_standard_spin_button_new(_("_Frames Per Second "),TRUE, - prefs->default_fps,1.,FPS_MAX,1.,1.,3,LIVES_BOX(hbox),NULL); + resaudw->fps_spinbutton = lives_standard_spin_button_new(_("_Frames Per Second "), TRUE, + prefs->default_fps, 1., FPS_MAX, 1., 1., 3, LIVES_BOX(hbox), NULL); } - if (type>4&&type!=11) { - lives_box_set_spacing(LIVES_BOX(dialog_vbox),widget_opts.packing_height*3); + if (type > 4 && type != 11) { + lives_box_set_spacing(LIVES_BOX(dialog_vbox), widget_opts.packing_height * 3); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, TRUE, TRUE, widget_opts.packing_height); - if (type!=6&&type!=7) { + if (type != 6 && type != 7) { - radiobutton=lives_standard_radio_button_new(_("Record for maximum: "),FALSE,rbgroup,LIVES_BOX(hbox),NULL); + radiobutton = lives_standard_radio_button_new(_("Record for maximum: "), FALSE, rbgroup, LIVES_BOX(hbox), NULL); rbgroup = lives_radio_button_get_group(LIVES_RADIO_BUTTON(radiobutton)); - resaudw->hour_spinbutton = lives_standard_spin_button_new(_(" hours "),FALSE,hours, - 0.,hours>23?hours:23,1.,1.,0,LIVES_BOX(hbox),NULL); + resaudw->hour_spinbutton = lives_standard_spin_button_new(_(" hours "), FALSE, hours, + 0., hours > 23 ? hours : 23, 1., 1., 0, LIVES_BOX(hbox), NULL); - resaudw->minute_spinbutton = lives_standard_spin_button_new(_(" minutes "),FALSE,mins,0.,59.,1.,1.,0,LIVES_BOX(hbox),NULL); + resaudw->minute_spinbutton = lives_standard_spin_button_new(_(" minutes "), FALSE, mins, 0., 59., 1., 1., 0, LIVES_BOX(hbox), NULL); - resaudw->second_spinbutton = lives_standard_spin_button_new(_(" seconds "),FALSE,secs,0.,59.,1.,1.,0,LIVES_BOX(hbox),NULL); + resaudw->second_spinbutton = lives_standard_spin_button_new(_(" seconds "), FALSE, secs, 0., 59., 1., 1., 0, LIVES_BOX(hbox), NULL); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, TRUE, TRUE, widget_opts.packing_height); - resaudw->unlim_radiobutton=lives_standard_radio_button_new(_("Unlimited"),FALSE,rbgroup,LIVES_BOX(hbox),NULL); + resaudw->unlim_radiobutton = lives_standard_radio_button_new(_("Unlimited"), FALSE, rbgroup, LIVES_BOX(hbox), NULL); rbgroup = lives_radio_button_get_group(LIVES_RADIO_BUTTON(resaudw->unlim_radiobutton)); lives_signal_connect(LIVES_GUI_OBJECT(radiobutton), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(on_rb_audrec_time_toggled), (livespointer)resaudw); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(resaudw->unlim_radiobutton),(type==5||type>7)&&type!=11); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(resaudw->unlim_radiobutton), (type == 5 || type > 7) && type != 11); } - if (type<8||type==11) { + if (type < 8 || type == 11) { hseparator = lives_hseparator_new(); lives_box_pack_start(LIVES_BOX(dialog_vbox), hseparator, TRUE, TRUE, 0); - label=lives_standard_label_new(_("Click OK to begin recording, or Cancel to quit.")); + label = lives_standard_label_new(_("Click OK to begin recording, or Cancel to quit.")); lives_box_pack_start(LIVES_BOX(dialog_vbox), label, TRUE, TRUE, 0); } } - if (type<3||type>4) { + if (type < 3 || type > 4) { - cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL,NULL); + cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(resaudw->dialog), cancelbutton, LIVES_RESPONSE_CANCEL); lives_widget_set_can_focus_and_default(cancelbutton); - if (accel_group!=NULL) lives_widget_add_accelerator(cancelbutton, LIVES_WIDGET_CLICKED_SIGNAL, accel_group, + if (accel_group != NULL) lives_widget_add_accelerator(cancelbutton, LIVES_WIDGET_CLICKED_SIGNAL, accel_group, LIVES_KEY_Escape, (LiVESXModifierType)0, (LiVESAccelFlags)0); - okbutton = lives_button_new_from_stock(LIVES_STOCK_OK,NULL); + okbutton = lives_button_new_from_stock(LIVES_STOCK_OK, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(resaudw->dialog), okbutton, LIVES_RESPONSE_OK); lives_widget_set_can_focus_and_default(okbutton); lives_widget_grab_default(okbutton); - if (type<8||type==11) { + if (type < 8 || type == 11) { lives_signal_connect(LIVES_GUI_OBJECT(cancelbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(lives_general_button_clicked), resaudw); - if (type==1) { + if (type == 1) { lives_signal_connect(LIVES_GUI_OBJECT(okbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_resaudio_ok_clicked), NULL); - } else if (type==2||type==11) { + } else if (type == 2 || type == 11) { lives_signal_connect(LIVES_GUI_OBJECT(okbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_ins_silence_details_clicked), NULL); - } else if (type==5) { + } else if (type == 5) { lives_signal_connect(LIVES_GUI_OBJECT(okbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_recaudclip_ok_clicked), LIVES_INT_TO_POINTER(0)); - } else if (type==6||type==7) { + } else if (type == 6 || type == 7) { lives_signal_connect(LIVES_GUI_OBJECT(okbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_recaudclip_ok_clicked), LIVES_INT_TO_POINTER(1)); @@ -1585,11 +1586,11 @@ lives_widget_show_all(resaudw->dialog); } else { - if (type>2&&type<5) { + if (type > 2 && type < 5) { lives_signal_connect_after(LIVES_GUI_OBJECT(resaudw->aud_checkbutton), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(on_resaudw_achans_changed), (livespointer)resaudw); - on_resaudw_achans_changed(resaudw->aud_checkbutton,(livespointer)resaudw); + on_resaudw_achans_changed(resaudw->aud_checkbutton, (livespointer)resaudw); } } @@ -1615,10 +1616,10 @@ LiVESWidget *ca_hbox; LiVESWidget *label; LiVESWidget *label2; - LiVESWidget *radiobutton1=NULL; - LiVESWidget *radiobutton2=NULL; + LiVESWidget *radiobutton1 = NULL; + LiVESWidget *radiobutton2 = NULL; LiVESWidget *spinbutton_pb_speed; - LiVESWidget *spinbutton_pb_time=NULL; + LiVESWidget *spinbutton_pb_time = NULL; LiVESWidget *cancelbutton; LiVESWidget *change_pb_ok; LiVESWidget *change_audio_speed; @@ -1629,70 +1630,70 @@ char label_text[256]; - char *title=NULL; + char *title = NULL; - if (type==1) { - title=lives_strdup(_("Change Playback Speed")); + if (type == 1) { + title = lives_strdup(_("Change Playback Speed")); } else { - title=lives_strdup(_("Resample Video")); + title = lives_strdup(_("Resample Video")); } - new_pb_speed = lives_standard_dialog_new(title,FALSE,-1,-1); - lives_signal_handlers_disconnect_by_func(new_pb_speed,return_true,NULL); + new_pb_speed = lives_standard_dialog_new(title, FALSE, -1, -1); + lives_signal_handlers_disconnect_by_func(new_pb_speed, return_true, NULL); lives_free(title); accel_group = LIVES_ACCEL_GROUP(lives_accel_group_new()); lives_window_add_accel_group(LIVES_WINDOW(new_pb_speed), accel_group); if (prefs->show_gui) { - lives_window_set_transient_for(LIVES_WINDOW(new_pb_speed),LIVES_WINDOW(mainw->LiVES)); + lives_window_set_transient_for(LIVES_WINDOW(new_pb_speed), LIVES_WINDOW(mainw->LiVES)); } dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(new_pb_speed)); vbox = lives_vbox_new(FALSE, 0); - lives_box_pack_start(LIVES_BOX(dialog_vbox), vbox, TRUE, TRUE, widget_opts.packing_height*2); + lives_box_pack_start(LIVES_BOX(dialog_vbox), vbox, TRUE, TRUE, widget_opts.packing_height * 2); - if (type==1) { - lives_snprintf(label_text,256, + if (type == 1) { + lives_snprintf(label_text, 256, _("\n\nCurrent playback speed is %.3f frames per second.\n\nPlease enter the desired playback speed\nin _frames per second"), cfile->fps); - } else if (type==2) { - lives_snprintf(label_text,256, + } else if (type == 2) { + lives_snprintf(label_text, 256, _("\n\nCurrent playback speed is %.3f frames per second.\n\nPlease enter the _resampled rate\nin frames per second"), cfile->fps); } - label=lives_standard_label_new_with_mnemonic(label_text,NULL); + label = lives_standard_label_new_with_mnemonic(label_text, NULL); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), label, FALSE, FALSE, widget_opts.packing_height); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - if (type==2) { + if (type == 2) { add_fill_to_box(LIVES_BOX(hbox)); - spinbutton_pb_speed = lives_standard_spin_button_new(NULL,FALSE,cfile->fps,1.,FPS_MAX,.01,.1,3,LIVES_BOX(hbox),NULL); + spinbutton_pb_speed = lives_standard_spin_button_new(NULL, FALSE, cfile->fps, 1., FPS_MAX, .01, .1, 3, LIVES_BOX(hbox), NULL); add_fill_to_box(LIVES_BOX(hbox)); } else { - radiobutton1 = lives_standard_radio_button_new(NULL,FALSE,rbgroup,LIVES_BOX(hbox),NULL); - rbgroup=lives_radio_button_get_group(LIVES_RADIO_BUTTON(radiobutton1)); + radiobutton1 = lives_standard_radio_button_new(NULL, FALSE, rbgroup, LIVES_BOX(hbox), NULL); + rbgroup = lives_radio_button_get_group(LIVES_RADIO_BUTTON(radiobutton1)); - spinbutton_pb_speed = lives_standard_spin_button_new(NULL,FALSE,cfile->fps,1.,FPS_MAX,.01,.1,3,LIVES_BOX(hbox),NULL); + spinbutton_pb_speed = lives_standard_spin_button_new(NULL, FALSE, cfile->fps, 1., FPS_MAX, .01, .1, 3, LIVES_BOX(hbox), NULL); - label2=lives_standard_label_new_with_mnemonic(_("OR enter the desired clip length in _seconds"),NULL); + label2 = lives_standard_label_new_with_mnemonic(_("OR enter the desired clip length in _seconds"), NULL); lives_box_pack_start(LIVES_BOX(vbox), label2, TRUE, TRUE, widget_opts.packing_height); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - radiobutton2 = lives_standard_radio_button_new(NULL,FALSE,rbgroup,LIVES_BOX(hbox),NULL); + radiobutton2 = lives_standard_radio_button_new(NULL, FALSE, rbgroup, LIVES_BOX(hbox), NULL); - spinbutton_pb_time = lives_standard_spin_button_new(NULL,FALSE, - (double)((int)(cfile->frames/cfile->fps*100.))/100., - 1./FPS_MAX, cfile->frames, 1., 10., 2, LIVES_BOX(hbox),NULL); + spinbutton_pb_time = lives_standard_spin_button_new(NULL, FALSE, + (double)((int)(cfile->frames / cfile->fps * 100.)) / 100., + 1. / FPS_MAX, cfile->frames, 1., 10., 2, LIVES_BOX(hbox), NULL); lives_label_set_mnemonic_widget(LIVES_LABEL(label2), spinbutton_pb_time); @@ -1703,26 +1704,26 @@ ca_hbox = lives_hbox_new(FALSE, 0); change_audio_speed = lives_standard_check_button_new - (_("Change the _audio speed as well"),TRUE,LIVES_BOX(ca_hbox),NULL); + (_("Change the _audio speed as well"), TRUE, LIVES_BOX(ca_hbox), NULL); lives_box_pack_start(LIVES_BOX(vbox), ca_hbox, TRUE, TRUE, widget_opts.packing_height); - cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL,NULL); + cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(new_pb_speed), cancelbutton, LIVES_RESPONSE_CANCEL); - lives_widget_set_can_focus(cancelbutton,TRUE); + lives_widget_set_can_focus(cancelbutton, TRUE); lives_widget_add_accelerator(cancelbutton, LIVES_WIDGET_CLICKED_SIGNAL, accel_group, LIVES_KEY_Escape, (LiVESXModifierType)0, (LiVESAccelFlags)0); - change_pb_ok = lives_button_new_from_stock(LIVES_STOCK_OK,NULL); + change_pb_ok = lives_button_new_from_stock(LIVES_STOCK_OK, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(new_pb_speed), change_pb_ok, LIVES_RESPONSE_OK); lives_widget_set_can_focus_and_default(change_pb_ok); lives_widget_grab_default(change_pb_ok); lives_widget_grab_focus(spinbutton_pb_speed); - reorder_leave_back=FALSE; + reorder_leave_back = FALSE; lives_signal_connect(LIVES_GUI_OBJECT(change_audio_speed), LIVES_WIDGET_TOGGLED_SIGNAL, LIVES_GUI_CALLBACK(on_boolean_toggled), @@ -1730,11 +1731,11 @@ lives_signal_connect(LIVES_GUI_OBJECT(cancelbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(lives_general_button_clicked), NULL); - if (type==1) { + if (type == 1) { lives_signal_connect(LIVES_GUI_OBJECT(change_pb_ok), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_change_speed_ok_clicked), NULL); - } else if (type==2) { + } else if (type == 2) { lives_signal_connect(LIVES_GUI_OBJECT(change_pb_ok), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_resample_vid_ok), NULL); @@ -1743,7 +1744,7 @@ LIVES_GUI_CALLBACK(on_spin_value_changed), LIVES_INT_TO_POINTER(1)); - if (type==1) { + if (type == 1) { lives_signal_connect_after(LIVES_GUI_OBJECT(spinbutton_pb_time), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(on_spin_value_changed), LIVES_INT_TO_POINTER(2)); @@ -1760,7 +1761,7 @@ lives_widget_show_all(new_pb_speed); - if (type!=1||cfile->achans==0) { + if (type != 1 || cfile->achans == 0) { lives_widget_hide(ca_hbox); } @@ -1771,143 +1772,148 @@ void on_change_speed_activate(LiVESMenuItem *menuitem, livespointer user_data) { // change speed from the menu create_new_pb_speed(1); - mainw->fx1_bool=mainw->fx2_bool=FALSE; - mainw->fx1_val=cfile->fps; + mainw->fx1_bool = mainw->fx2_bool = FALSE; + mainw->fx1_val = cfile->fps; } void on_change_speed_ok_clicked(LiVESButton *button, livespointer user_data) { - double arate=cfile->arate/cfile->fps; + double arate = cfile->arate / cfile->fps; char *msg; - boolean has_lmap_error=FALSE; - boolean bad_header=FALSE; + boolean has_lmap_error = FALSE; + boolean bad_header = FALSE; // change playback rate - if (button!=NULL) { - lives_general_button_clicked(button,NULL); + if (button != NULL) { + lives_general_button_clicked(button, NULL); } if (mainw->fx2_bool) { - mainw->fx1_val=(double)((int)((double)cfile->frames/mainw->fx2_val*1000.+.5))/1000.; - if (mainw->fx1_val<1.) mainw->fx1_val=1.; - if (mainw->fx1_val>FPS_MAX) mainw->fx1_val=FPS_MAX; + mainw->fx1_val = (double)((int)((double)cfile->frames / mainw->fx2_val * 1000. + .5)) / 1000.; + if (mainw->fx1_val < 1.) mainw->fx1_val = 1.; + if (mainw->fx1_val > FPS_MAX) mainw->fx1_val = FPS_MAX; } - if (!(prefs->warning_mask&WARN_MASK_LAYOUT_DELETE_FRAMES)&&mainw->fx1_val>cfile->fps) { - int new_frames=count_resampled_frames(cfile->frames,mainw->fx1_val,cfile->fps); - if ((mainw->xlays=layout_frame_is_affected(mainw->current_file,new_frames))!=NULL) { + if (!(prefs->warning_mask & WARN_MASK_LAYOUT_DELETE_FRAMES) && mainw->fx1_val > cfile->fps) { + int new_frames = count_resampled_frames(cfile->frames, mainw->fx1_val, cfile->fps); + if ((mainw->xlays = layout_frame_is_affected(mainw->current_file, new_frames)) != NULL) { if (!do_warning_dialog( _("\nSpeeding up the clip will cause missing frames in some multitrack layouts.\nAre you sure you wish to change the speed ?\n"))) { lives_list_free_all(&mainw->xlays); return; } - add_lmap_error(LMAP_ERROR_DELETE_FRAMES,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,new_frames,0., - new_frames<=count_resampled_frames(cfile->stored_layout_frame,cfile->stored_layout_fps,cfile->fps)); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_DELETE_FRAMES, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, new_frames, 0., + new_frames <= count_resampled_frames(cfile->stored_layout_frame, cfile->stored_layout_fps, cfile->fps)); + has_lmap_error = TRUE; lives_list_free_all(&mainw->xlays); } } - if (mainw->fx1_bool&&!(prefs->warning_mask&WARN_MASK_LAYOUT_DELETE_AUDIO)&&mainw->fx1_val>cfile->fps) { - int new_frames=count_resampled_frames(cfile->frames,mainw->fx1_val,cfile->fps); - if ((mainw->xlays=layout_audio_is_affected(mainw->current_file,(new_frames-1.)/cfile->fps))!=NULL) { + if (mainw->fx1_bool && !(prefs->warning_mask & WARN_MASK_LAYOUT_DELETE_AUDIO) && mainw->fx1_val > cfile->fps) { + int new_frames = count_resampled_frames(cfile->frames, mainw->fx1_val, cfile->fps); + if ((mainw->xlays = layout_audio_is_affected(mainw->current_file, (new_frames - 1.) / cfile->fps)) != NULL) { if (!do_warning_dialog( _("\nSpeeding up the clip will cause missing audio in some multitrack layouts.\nAre you sure you wish to change the speed ?\n"))) { lives_list_free_all(&mainw->xlays); return; } - add_lmap_error(LMAP_ERROR_DELETE_AUDIO,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0,(new_frames-1.)/cfile->fps, - (new_frames-1.)/cfile->fps<cfile->stored_layout_audio); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_DELETE_AUDIO, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, + (new_frames - 1.) / cfile->fps, + (new_frames - 1.) / cfile->fps < cfile->stored_layout_audio); + has_lmap_error = TRUE; lives_list_free_all(&mainw->xlays); } } - if (!has_lmap_error&&!(prefs->warning_mask&WARN_MASK_LAYOUT_SHIFT_FRAMES)&& - (mainw->xlays=layout_frame_is_affected(mainw->current_file,1))!=NULL) { + if (!has_lmap_error && !(prefs->warning_mask & WARN_MASK_LAYOUT_SHIFT_FRAMES) && + (mainw->xlays = layout_frame_is_affected(mainw->current_file, 1)) != NULL) { if (!do_warning_dialog( _("\nChanging the speed will cause frames to shift in some multitrack layouts.\nAre you sure you wish to continue ?\n"))) { lives_list_free_all(&mainw->xlays); return; } - add_lmap_error(LMAP_ERROR_SHIFT_FRAMES,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0,0.,cfile->stored_layout_frame>0); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_SHIFT_FRAMES, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, 0., + cfile->stored_layout_frame > 0); + has_lmap_error = TRUE; lives_list_free_all(&mainw->xlays); } - if (mainw->fx1_bool&&!has_lmap_error&&!(prefs->warning_mask&WARN_MASK_LAYOUT_SHIFT_AUDIO)&& - (mainw->xlays=layout_audio_is_affected(mainw->current_file,0.))!=NULL) { + if (mainw->fx1_bool && !has_lmap_error && !(prefs->warning_mask & WARN_MASK_LAYOUT_SHIFT_AUDIO) && + (mainw->xlays = layout_audio_is_affected(mainw->current_file, 0.)) != NULL) { if (!do_warning_dialog( _("\nChanging the speed will cause audio to shift in some multitrack layouts.\nAre you sure you wish to continue ?\n"))) { lives_list_free_all(&mainw->xlays); lives_list_free(mainw->xlays); - mainw->xlays=NULL; + mainw->xlays = NULL; return; } - add_lmap_error(LMAP_ERROR_SHIFT_AUDIO,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0,0.,cfile->stored_layout_audio>0.); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_SHIFT_AUDIO, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, 0., + cfile->stored_layout_audio > 0.); + has_lmap_error = TRUE; lives_list_free_all(&mainw->xlays); } - if (!has_lmap_error&&!(prefs->warning_mask&WARN_MASK_LAYOUT_ALTER_FRAMES)&& - (mainw->xlays=layout_frame_is_affected(mainw->current_file,1))!=NULL) { + if (!has_lmap_error && !(prefs->warning_mask & WARN_MASK_LAYOUT_ALTER_FRAMES) && + (mainw->xlays = layout_frame_is_affected(mainw->current_file, 1)) != NULL) { if (!do_layout_alter_frames_warning()) { lives_list_free_all(&mainw->xlays); return; } - add_lmap_error(LMAP_ERROR_ALTER_FRAMES,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0,0.,cfile->stored_layout_frame>0); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_ALTER_FRAMES, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, 0., + cfile->stored_layout_frame > 0); + has_lmap_error = TRUE; lives_list_free_all(&mainw->xlays); } - if (mainw->fx1_bool&&!has_lmap_error&&!(prefs->warning_mask&WARN_MASK_LAYOUT_ALTER_AUDIO)&& - (mainw->xlays=layout_audio_is_affected(mainw->current_file,0.))!=NULL) { + if (mainw->fx1_bool && !has_lmap_error && !(prefs->warning_mask & WARN_MASK_LAYOUT_ALTER_AUDIO) && + (mainw->xlays = layout_audio_is_affected(mainw->current_file, 0.)) != NULL) { if (!do_layout_alter_audio_warning()) { lives_list_free_all(&mainw->xlays); return; } - add_lmap_error(LMAP_ERROR_ALTER_AUDIO,cfile->name,(livespointer)cfile->layout_map,mainw->current_file,0,0.,cfile->stored_layout_audio>0.); - has_lmap_error=TRUE; + add_lmap_error(LMAP_ERROR_ALTER_AUDIO, cfile->name, (livespointer)cfile->layout_map, mainw->current_file, 0, 0., + cfile->stored_layout_audio > 0.); + has_lmap_error = TRUE; lives_list_free_all(&mainw->xlays); } - if (button==NULL) { - mainw->fx1_bool=!(cfile->undo1_int==cfile->arate); - mainw->fx1_val=cfile->undo1_dbl; + if (button == NULL) { + mainw->fx1_bool = !(cfile->undo1_int == cfile->arate); + mainw->fx1_val = cfile->undo1_dbl; } - set_undoable(_("Speed Change"),TRUE); - cfile->undo1_dbl=cfile->fps; - cfile->undo1_int=cfile->arate; - cfile->undo_action=UNDO_CHANGE_SPEED; + set_undoable(_("Speed Change"), TRUE); + cfile->undo1_dbl = cfile->fps; + cfile->undo1_int = cfile->arate; + cfile->undo_action = UNDO_CHANGE_SPEED; - if (mainw->fx1_val==0.) mainw->fx1_val=1.; - cfile->pb_fps=cfile->fps=mainw->fx1_val; + if (mainw->fx1_val == 0.) mainw->fx1_val = 1.; + cfile->pb_fps = cfile->fps = mainw->fx1_val; if (mainw->fx1_bool) { - cfile->arate=(int)(arate*cfile->fps+.5); - msg=lives_strdup_printf(_("Changed playback speed to %.3f frames per second and audio to %d Hz.\n"),cfile->fps,cfile->arate); + cfile->arate = (int)(arate * cfile->fps + .5); + msg = lives_strdup_printf(_("Changed playback speed to %.3f frames per second and audio to %d Hz.\n"), cfile->fps, cfile->arate); } else { - msg=lives_strdup_printf(_("Changed playback speed to %.3f frames per second.\n"),cfile->fps); + msg = lives_strdup_printf(_("Changed playback speed to %.3f frames per second.\n"), cfile->fps); } d_print(msg); lives_free(msg); - cfile->ratio_fps=FALSE; + cfile->ratio_fps = FALSE; - save_clip_value(mainw->current_file,CLIP_DETAILS_FPS,&cfile->fps); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_PB_FPS,&cfile->fps); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(mainw->current_file,CLIP_DETAILS_PB_ARATE,&cfile->arate); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_FPS, &cfile->fps); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_PB_FPS, &cfile->fps); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(mainw->current_file, CLIP_DETAILS_PB_ARATE, &cfile->arate); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; if (bad_header) do_header_write_error(mainw->current_file); - switch_to_file(mainw->current_file,mainw->current_file); + switch_to_file(mainw->current_file, mainw->current_file); - if (has_lmap_error) popup_lmap_errors(NULL,NULL); + if (has_lmap_error) popup_lmap_errors(NULL, NULL); - if (mainw->sl_undo_mem!=NULL&&cfile->stored_layout_frame!=0) { + if (mainw->sl_undo_mem != NULL && cfile->stored_layout_frame != 0) { // need to invalidate undo/redo stack, in case file was used in some layout undo stored_event_list_free_undos(); } @@ -1920,101 +1926,101 @@ int reorder_frames(int rwidth, int rheight) { - int new_frames=cfile->old_frames; - int cur_frames=cfile->frames; + int new_frames = cfile->old_frames; + int cur_frames = cfile->frames; char **array; char *com; - if (rwidth*rheight==0) com=lives_strdup_printf("%s reorder \"%s\" \"%s\" %d 0 0 %d %d",prefs->backend,cfile->handle, - get_image_ext_for_type(cfile->img_type),!mainw->endian, - reorder_leave_back,cfile->frames); + if (rwidth * rheight == 0) com = lives_strdup_printf("%s reorder \"%s\" \"%s\" %d 0 0 %d %d", prefs->backend, cfile->handle, + get_image_ext_for_type(cfile->img_type), !mainw->endian, + reorder_leave_back, cfile->frames); else { if (!prefs->enc_letterbox) { - com=lives_strdup_printf("%s reorder \"%s\" \"%s\" %d %d %d 0 %d",prefs->backend,cfile->handle, - get_image_ext_for_type(cfile->img_type),!mainw->endian,rwidth,rheight,cfile->frames); + com = lives_strdup_printf("%s reorder \"%s\" \"%s\" %d %d %d 0 %d", prefs->backend, cfile->handle, + get_image_ext_for_type(cfile->img_type), !mainw->endian, rwidth, rheight, cfile->frames); } else { - int iwidth=cfile->hsize,iheight=cfile->vsize; - calc_maxspect(rwidth,rheight,&iwidth,&iheight); + int iwidth = cfile->hsize, iheight = cfile->vsize; + calc_maxspect(rwidth, rheight, &iwidth, &iheight); - if (iwidth==cfile->hsize&&iheight==cfile->vsize) { - iwidth=-iwidth; - iheight=-iheight; + if (iwidth == cfile->hsize && iheight == cfile->vsize) { + iwidth = -iwidth; + iheight = -iheight; } else { - if (LETTERBOX_NEEDS_COMPOSITE&&!capable->has_composite) { + if (LETTERBOX_NEEDS_COMPOSITE && !capable->has_composite) { do_lb_composite_error(); return -cur_frames; } - if (LETTERBOX_NEEDS_CONVERT&&!capable->has_convert) { + if (LETTERBOX_NEEDS_CONVERT && !capable->has_convert) { do_lb_convert_error(); return -cur_frames; } } - com=lives_strdup_printf("%s reorder \"%s\" \"%s\" %d %d %d %d %d %d %d",prefs->backend,cfile->handle, - get_image_ext_for_type(cfile->img_type),!mainw->endian,rwidth,rheight, - reorder_leave_back,cfile->frames,iwidth,iheight); + com = lives_strdup_printf("%s reorder \"%s\" \"%s\" %d %d %d %d %d %d %d", prefs->backend, cfile->handle, + get_image_ext_for_type(cfile->img_type), !mainw->endian, rwidth, rheight, + reorder_leave_back, cfile->frames, iwidth, iheight); } } - cfile->frames=0; + cfile->frames = 0; - cfile->progress_start=1; - cfile->progress_end=save_event_frames(); // we convert cfile->event_list to a block and save it + cfile->progress_start = 1; + cfile->progress_end = save_event_frames(); // we convert cfile->event_list to a block and save it - if (cfile->progress_end==-1) return -cur_frames; // save_event_frames failed + if (cfile->progress_end == -1) return -cur_frames; // save_event_frames failed - if (cur_frames>cfile->progress_end) cfile->progress_end=cur_frames; + if (cur_frames > cfile->progress_end) cfile->progress_end = cur_frames; - cfile->next_event=NULL; - if (cfile->event_list!=NULL) { - if (cfile->event_list_back!=NULL) event_list_free(cfile->event_list_back); - cfile->event_list_back=cfile->event_list; - cfile->event_list=NULL; + cfile->next_event = NULL; + if (cfile->event_list != NULL) { + if (cfile->event_list_back != NULL) event_list_free(cfile->event_list_back); + cfile->event_list_back = cfile->event_list; + cfile->event_list = NULL; } lives_rm(cfile->info_file); - mainw->error=FALSE; - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->error = FALSE; + mainw->com_failed = FALSE; + lives_system(com, FALSE); if (mainw->com_failed) return -cur_frames; - if (cfile->undo_action==UNDO_RESAMPLE) { - if (mainw->current_file>0) { - cfile->nopreview=cfile->nokeep=TRUE; - if (!do_progress_dialog(TRUE,TRUE,_("Resampling video"))) { - cfile->nopreview=cfile->nokeep=FALSE; + if (cfile->undo_action == UNDO_RESAMPLE) { + if (mainw->current_file > 0) { + cfile->nopreview = cfile->nokeep = TRUE; + if (!do_progress_dialog(TRUE, TRUE, _("Resampling video"))) { + cfile->nopreview = cfile->nokeep = FALSE; return cur_frames; } - cfile->nopreview=cfile->nokeep=FALSE; + cfile->nopreview = cfile->nokeep = FALSE; } else { - do_progress_dialog(TRUE,FALSE,_("Resampling clipboard video")); + do_progress_dialog(TRUE, FALSE, _("Resampling clipboard video")); } } else { - cfile->nopreview=cfile->nokeep=TRUE; - if (!do_progress_dialog(TRUE,TRUE,_("Reordering frames"))) { - cfile->nopreview=cfile->nokeep=FALSE; + cfile->nopreview = cfile->nokeep = TRUE; + if (!do_progress_dialog(TRUE, TRUE, _("Reordering frames"))) { + cfile->nopreview = cfile->nokeep = FALSE; return cur_frames; } - cfile->nopreview=cfile->nokeep=FALSE; + cfile->nopreview = cfile->nokeep = FALSE; } lives_free(com); if (mainw->error) { - if (mainw->cancelled!=CANCEL_ERROR) do_error_dialog(_("\n\nLiVES was unable to reorder the frames.")); - deorder_frames(new_frames,FALSE); - new_frames=-new_frames; + if (mainw->cancelled != CANCEL_ERROR) do_error_dialog(_("\n\nLiVES was unable to reorder the frames.")); + deorder_frames(new_frames, FALSE); + new_frames = -new_frames; } else { - array=lives_strsplit(mainw->msg,"|",2); + array = lives_strsplit(mainw->msg, "|", 2); - new_frames=atoi(array[1]); + new_frames = atoi(array[1]); lives_strfreev(array); - if (cfile->frames>new_frames) { - new_frames=cfile->frames; + if (cfile->frames > new_frames) { + new_frames = cfile->frames; } } @@ -2026,41 +2032,41 @@ int deorder_frames(int old_frames, boolean leave_bak) { char *com; weed_timecode_t time_start; - int perf_start,perf_end; + int perf_start, perf_end; - if (cfile->event_list!=NULL) return cfile->frames; + if (cfile->event_list != NULL) return cfile->frames; - cfile->event_list=cfile->event_list_back; - cfile->event_list_back=NULL; + cfile->event_list = cfile->event_list_back; + cfile->event_list_back = NULL; - if (cfile->event_list==NULL) { - perf_start=1; - perf_end=old_frames; + if (cfile->event_list == NULL) { + perf_start = 1; + perf_end = old_frames; } else { - time_start=get_event_timecode(get_first_event(cfile->event_list)); - perf_start=(int)(cfile->fps*(double)time_start/U_SEC)+1; - perf_end=perf_start+count_events(cfile->event_list,FALSE,0,0)-1; + time_start = get_event_timecode(get_first_event(cfile->event_list)); + perf_start = (int)(cfile->fps * (double)time_start / U_SEC) + 1; + perf_end = perf_start + count_events(cfile->event_list, FALSE, 0, 0) - 1; } - com=lives_strdup_printf("%s deorder \"%s\" %d %d %d \"%s\" %d",prefs->backend,cfile->handle, - perf_start,cfile->frames,perf_end, - get_image_ext_for_type(cfile->img_type),leave_bak); + com = lives_strdup_printf("%s deorder \"%s\" %d %d %d \"%s\" %d", prefs->backend, cfile->handle, + perf_start, cfile->frames, perf_end, + get_image_ext_for_type(cfile->img_type), leave_bak); lives_rm(cfile->info_file); - mainw->com_failed=FALSE; - lives_system(com,TRUE); + mainw->com_failed = FALSE; + lives_system(com, TRUE); if (mainw->com_failed) return cfile->frames; - do_progress_dialog(TRUE,FALSE,_("Deordering frames")); + do_progress_dialog(TRUE, FALSE, _("Deordering frames")); lives_free(com); // check for EOF - if (cfile->frame_index_back!=NULL) { - int current_frames=cfile->frames; - cfile->frames=old_frames; + if (cfile->frame_index_back != NULL) { + int current_frames = cfile->frames; + cfile->frames = old_frames; restore_frame_index_back(mainw->current_file); - cfile->frames=current_frames; + cfile->frames = current_frames; } return old_frames; @@ -2070,83 +2076,83 @@ boolean resample_clipboard(double new_fps) { // resample the clipboard video - if we already did it once, it is // quicker the second time - char *msg,*com; - int current_file=mainw->current_file; + char *msg, *com; + int current_file = mainw->current_file; - mainw->no_switch_dprint=TRUE; + mainw->no_switch_dprint = TRUE; - if (clipboard->undo1_dbl==new_fps&&!prefs->conserve_space) { + if (clipboard->undo1_dbl == new_fps && !prefs->conserve_space) { int new_frames; - double old_fps=clipboard->fps; + double old_fps = clipboard->fps; - if (new_fps==clipboard->fps) { - mainw->no_switch_dprint=FALSE; + if (new_fps == clipboard->fps) { + mainw->no_switch_dprint = FALSE; return TRUE; } // we already resampled to this fps - new_frames=count_resampled_frames(clipboard->frames,clipboard->fps,new_fps); + new_frames = count_resampled_frames(clipboard->frames, clipboard->fps, new_fps); - mainw->current_file=0; + mainw->current_file = 0; // copy .mgk to .img_ext and .img_ext to .bak (i.e redo the resample) - com=lives_strdup_printf("%s redo \"%s\" %d %d \"%s\"",prefs->backend,cfile->handle,1,new_frames, - get_image_ext_for_type(cfile->img_type)); + com = lives_strdup_printf("%s redo \"%s\" %d %d \"%s\"", prefs->backend, cfile->handle, 1, new_frames, + get_image_ext_for_type(cfile->img_type)); lives_rm(cfile->info_file); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); if (mainw->com_failed) { - mainw->no_switch_dprint=FALSE; + mainw->no_switch_dprint = FALSE; d_print_failed(); return FALSE; } - cfile->progress_start=1; - cfile->progress_end=new_frames; - cfile->old_frames=cfile->frames; + cfile->progress_start = 1; + cfile->progress_end = new_frames; + cfile->old_frames = cfile->frames; // show a progress dialog, not cancellable - do_progress_dialog(TRUE,FALSE,_("Resampling clipboard video")); + do_progress_dialog(TRUE, FALSE, _("Resampling clipboard video")); lives_free(com); - cfile->frames=new_frames; - cfile->undo_action=UNDO_RESAMPLE; - cfile->fps=cfile->undo1_dbl; - cfile->undo1_dbl=old_fps; - msg=lives_strdup_printf(_("Clipboard was resampled to %d frames.\n"),cfile->frames); + cfile->frames = new_frames; + cfile->undo_action = UNDO_RESAMPLE; + cfile->fps = cfile->undo1_dbl; + cfile->undo1_dbl = old_fps; + msg = lives_strdup_printf(_("Clipboard was resampled to %d frames.\n"), cfile->frames); d_print(msg); lives_free(msg); - mainw->current_file=current_file; + mainw->current_file = current_file; } else { - if (clipboard->undo1_dbl<clipboard->fps) { - int old_frames=count_resampled_frames(clipboard->frames,clipboard->fps,clipboard->undo1_dbl); - mainw->current_file=0; - com=lives_strdup_printf("%s undo \"%s\" %d %d \"%s\"",prefs->backend,cfile->handle,old_frames+1,cfile->frames, - get_image_ext_for_type(cfile->img_type)); + if (clipboard->undo1_dbl < clipboard->fps) { + int old_frames = count_resampled_frames(clipboard->frames, clipboard->fps, clipboard->undo1_dbl); + mainw->current_file = 0; + com = lives_strdup_printf("%s undo \"%s\" %d %d \"%s\"", prefs->backend, cfile->handle, old_frames + 1, cfile->frames, + get_image_ext_for_type(cfile->img_type)); lives_rm(cfile->info_file); - lives_system(com,FALSE); - cfile->progress_start=old_frames+1; - cfile->progress_end=cfile->frames; + lives_system(com, FALSE); + cfile->progress_start = old_frames + 1; + cfile->progress_end = cfile->frames; // show a progress dialog, not cancellable - do_progress_dialog(TRUE,FALSE,_("Resampling clipboard video")); + do_progress_dialog(TRUE, FALSE, _("Resampling clipboard video")); lives_free(com); } // resample to cfile fps - mainw->current_file=current_file; - clipboard->undo1_dbl=new_fps; + mainw->current_file = current_file; + clipboard->undo1_dbl = new_fps; - if (new_fps==clipboard->fps) { - mainw->no_switch_dprint=FALSE; + if (new_fps == clipboard->fps) { + mainw->no_switch_dprint = FALSE; return TRUE; } - mainw->current_file=0; - on_resample_vid_ok(NULL,NULL); - mainw->current_file=current_file; - if (clipboard->fps!=new_fps) { + mainw->current_file = 0; + on_resample_vid_ok(NULL, NULL); + mainw->current_file = current_file; + if (clipboard->fps != new_fps) { d_print(_("resampling error...")); - mainw->error=1; - mainw->no_switch_dprint=FALSE; + mainw->error = 1; + mainw->no_switch_dprint = FALSE; return FALSE; } // clipboard->fps now holds new_fps, clipboard->undo1_dbl holds orig fps @@ -2155,6 +2161,6 @@ } - mainw->no_switch_dprint=FALSE; + mainw->no_switch_dprint = FALSE; return TRUE; }
View file
LiVES-2.8.4.tar.bz2/src/rfx-builder.c -> LiVES-2.8.6.tar.bz2/src/rfx-builder.c
Changed
@@ -23,54 +23,54 @@ rfx_build_window_t *rfxbuilder; if (!check_builder_programs()) return; - rfxbuilder=make_rfx_build_window(NULL,RFX_STATUS_ANY); + rfxbuilder = make_rfx_build_window(NULL, RFX_STATUS_ANY); lives_widget_show(rfxbuilder->dialog); } void on_edit_rfx_activate(LiVESMenuItem *menuitem, livespointer user_data) { rfx_build_window_t *rfxbuilder; char *script_name; - short status=LIVES_POINTER_TO_INT(user_data); + short status = LIVES_POINTER_TO_INT(user_data); if (!check_builder_programs()) return; - if (status!=RFX_STATUS_TEST) return; // we only edit test effects currently + if (status != RFX_STATUS_TEST) return; // we only edit test effects currently - if ((script_name=prompt_for_script_name(NULL,RFX_STATUS_TEST))==NULL) return; + if ((script_name = prompt_for_script_name(NULL, RFX_STATUS_TEST)) == NULL) return; if (!strlen(script_name)) { lives_free(script_name); return; } - if ((rfxbuilder=make_rfx_build_window(script_name,RFX_STATUS_TEST))==NULL) { + if ((rfxbuilder = make_rfx_build_window(script_name, RFX_STATUS_TEST)) == NULL) { lives_free(script_name); return; // script not loaded } lives_free(script_name); - rfxbuilder->mode=RFX_BUILDER_MODE_EDIT; - rfxbuilder->oname=lives_strdup(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->name_entry))); + rfxbuilder->mode = RFX_BUILDER_MODE_EDIT; + rfxbuilder->oname = lives_strdup(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->name_entry))); lives_widget_show(rfxbuilder->dialog); } void on_copy_rfx_activate(LiVESMenuItem *menuitem, livespointer user_data) { - short status=LIVES_POINTER_TO_INT(user_data); + short status = LIVES_POINTER_TO_INT(user_data); if (!check_builder_programs()) return; - if (status!=RFX_STATUS_TEST) return; // we only copy to test effects currently + if (status != RFX_STATUS_TEST) return; // we only copy to test effects currently // prompt_for_script_name will create our builder window from the input // script and set the name : note, we have no rfxbuilder reference // TODO - use RFXBUILDER_MODE-* - prompt_for_script_name(NULL,RFX_STATUS_COPY); + prompt_for_script_name(NULL, RFX_STATUS_COPY); } void on_rename_rfx_activate(LiVESMenuItem *menuitem, livespointer user_data) { - short status=LIVES_POINTER_TO_INT(user_data); + short status = LIVES_POINTER_TO_INT(user_data); - if (status!=RFX_STATUS_TEST) return; // we only copy to test effects currently + if (status != RFX_STATUS_TEST) return; // we only copy to test effects currently - prompt_for_script_name(NULL,RFX_STATUS_RENAME); + prompt_for_script_name(NULL, RFX_STATUS_RENAME); } @@ -89,71 +89,71 @@ LiVESWidget *top_vbox; LiVESSList *radiobutton_type_group = NULL; - LiVESList *langc=NULL; + LiVESList *langc = NULL; - rfx_build_window_t *rfxbuilder=(rfx_build_window_t *)lives_malloc(sizeof(rfx_build_window_t)); + rfx_build_window_t *rfxbuilder = (rfx_build_window_t *)lives_malloc(sizeof(rfx_build_window_t)); - LiVESAccelGroup *accel_group=LIVES_ACCEL_GROUP(lives_accel_group_new()); + LiVESAccelGroup *accel_group = LIVES_ACCEL_GROUP(lives_accel_group_new()); - int winsize_h,winsize_v; + int winsize_h, winsize_v; - char *tmp,*tmp2,*title,*string; + char *tmp, *tmp2, *title, *string; - rfxbuilder->rfx_version=lives_strdup(RFX_VERSION); + rfxbuilder->rfx_version = lives_strdup(RFX_VERSION); - rfxbuilder->type=RFX_BUILD_TYPE_EFFECT1; // the default + rfxbuilder->type = RFX_BUILD_TYPE_EFFECT1; // the default - rfxbuilder->num_reqs=0; - rfxbuilder->num_params=0; - rfxbuilder->num_paramw_hints=0; + rfxbuilder->num_reqs = 0; + rfxbuilder->num_params = 0; + rfxbuilder->num_paramw_hints = 0; - rfxbuilder->num_triggers=0; + rfxbuilder->num_triggers = 0; - rfxbuilder->has_init_trigger=FALSE; - rfxbuilder->props=0; + rfxbuilder->has_init_trigger = FALSE; + rfxbuilder->props = 0; - rfxbuilder->plugin_version=1; + rfxbuilder->plugin_version = 1; - rfxbuilder->pre_code=lives_strdup(""); - rfxbuilder->loop_code=lives_strdup(""); - rfxbuilder->post_code=lives_strdup(""); + rfxbuilder->pre_code = lives_strdup(""); + rfxbuilder->loop_code = lives_strdup(""); + rfxbuilder->post_code = lives_strdup(""); - rfxbuilder->field_delim=lives_strdup("|"); + rfxbuilder->field_delim = lives_strdup("|"); - rfxbuilder->script_name=NULL; // use default name.script - rfxbuilder->oname=NULL; + rfxbuilder->script_name = NULL; // use default name.script + rfxbuilder->oname = NULL; - rfxbuilder->mode=RFX_BUILDER_MODE_NEW; + rfxbuilder->mode = RFX_BUILDER_MODE_NEW; - rfxbuilder->table_swap_row1=-1; + rfxbuilder->table_swap_row1 = -1; ///////////////////////////////////////////////////////// - if (script_name==NULL) { - title=lives_strdup(_("New Test RFX")); + if (script_name == NULL) { + title = lives_strdup(_("New Test RFX")); } else { - title=lives_strdup(_("Edit Test RFX")); + title = lives_strdup(_("Edit Test RFX")); } - winsize_h=(PREF_RFXDIALOG_W<mainw->scr_width-SCR_WIDTH_SAFETY/5.)?PREF_RFXDIALOG_W:mainw->scr_width-SCR_WIDTH_SAFETY/5.; - winsize_v=(PREF_RFXDIALOG_H<mainw->scr_height-SCR_HEIGHT_SAFETY/2.)?PREF_RFXDIALOG_H:mainw->scr_height-SCR_HEIGHT_SAFETY/2.; + winsize_h = (PREF_RFXDIALOG_W < mainw->scr_width - SCR_WIDTH_SAFETY / 5.) ? PREF_RFXDIALOG_W : mainw->scr_width - SCR_WIDTH_SAFETY / 5.; + winsize_v = (PREF_RFXDIALOG_H < mainw->scr_height - SCR_HEIGHT_SAFETY / 2.) ? PREF_RFXDIALOG_H : mainw->scr_height - SCR_HEIGHT_SAFETY / 2.; - rfxbuilder->dialog = lives_standard_dialog_new(title,FALSE,winsize_h,winsize_v); + rfxbuilder->dialog = lives_standard_dialog_new(title, FALSE, winsize_h, winsize_v); lives_free(title); if (prefs->show_gui) { - lives_window_set_transient_for(LIVES_WINDOW(rfxbuilder->dialog),LIVES_WINDOW(mainw->LiVES)); + lives_window_set_transient_for(LIVES_WINDOW(rfxbuilder->dialog), LIVES_WINDOW(mainw->LiVES)); } lives_window_add_accel_group(LIVES_WINDOW(rfxbuilder->dialog), accel_group); dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(rfxbuilder->dialog)); - lives_container_set_border_width(LIVES_CONTAINER(lives_widget_get_parent(dialog_vbox)), widget_opts.border_width>>1); + lives_container_set_border_width(LIVES_CONTAINER(lives_widget_get_parent(dialog_vbox)), widget_opts.border_width >> 1); top_vbox = lives_vbox_new(FALSE, 0); - scrollw = lives_standard_scrolled_window_new(winsize_h,winsize_v,top_vbox); + scrollw = lives_standard_scrolled_window_new(winsize_h, winsize_v, top_vbox); lives_box_pack_start(LIVES_BOX(dialog_vbox), scrollw, TRUE, TRUE, 0); @@ -165,32 +165,32 @@ label = lives_standard_label_new(_("Type:")); lives_box_pack_start(LIVES_BOX(hbox), label, TRUE, FALSE, widget_opts.packing_width); - string=lives_fx_cat_to_text(LIVES_FX_CAT_EFFECT,FALSE); - rfxbuilder->type_effect1_radiobutton = lives_standard_radio_button_new(string,FALSE,radiobutton_type_group,LIVES_BOX(hbox),NULL); + string = lives_fx_cat_to_text(LIVES_FX_CAT_EFFECT, FALSE); + rfxbuilder->type_effect1_radiobutton = lives_standard_radio_button_new(string, FALSE, radiobutton_type_group, LIVES_BOX(hbox), NULL); radiobutton_type_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(rfxbuilder->type_effect1_radiobutton)); lives_free(string); - string=lives_fx_cat_to_text(LIVES_FX_CAT_TRANSITION,FALSE); - rfxbuilder->type_effect2_radiobutton = lives_standard_radio_button_new(string,FALSE,radiobutton_type_group,LIVES_BOX(hbox),NULL); + string = lives_fx_cat_to_text(LIVES_FX_CAT_TRANSITION, FALSE); + rfxbuilder->type_effect2_radiobutton = lives_standard_radio_button_new(string, FALSE, radiobutton_type_group, LIVES_BOX(hbox), NULL); radiobutton_type_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(rfxbuilder->type_effect2_radiobutton)); lives_free(string); - string=lives_fx_cat_to_text(LIVES_FX_CAT_VIDEO_GENERATOR,FALSE); - rfxbuilder->type_effect0_radiobutton = lives_standard_radio_button_new(string,FALSE,radiobutton_type_group,LIVES_BOX(hbox),NULL); + string = lives_fx_cat_to_text(LIVES_FX_CAT_VIDEO_GENERATOR, FALSE); + rfxbuilder->type_effect0_radiobutton = lives_standard_radio_button_new(string, FALSE, radiobutton_type_group, LIVES_BOX(hbox), NULL); radiobutton_type_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(rfxbuilder->type_effect0_radiobutton)); lives_free(string); - rfxbuilder->type_tool_radiobutton = lives_standard_radio_button_new(_("tool"),FALSE,radiobutton_type_group,LIVES_BOX(hbox),NULL); + rfxbuilder->type_tool_radiobutton = lives_standard_radio_button_new(_("tool"), FALSE, radiobutton_type_group, LIVES_BOX(hbox), NULL); radiobutton_type_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(rfxbuilder->type_tool_radiobutton)); lives_widget_show(label); - rfxbuilder->type_utility_radiobutton = lives_standard_radio_button_new(_("utility"),FALSE,radiobutton_type_group,LIVES_BOX(hbox),NULL); + rfxbuilder->type_utility_radiobutton = lives_standard_radio_button_new(_("utility"), FALSE, radiobutton_type_group, LIVES_BOX(hbox), NULL); // name - rfxbuilder->name_entry = lives_standard_entry_new((tmp=lives_strdup(_("Name: "))),FALSE,NULL,-1,-1, - LIVES_BOX(top_vbox),(tmp2=lives_strdup(_("The name of the plugin. No spaces allowed."))) + rfxbuilder->name_entry = lives_standard_entry_new((tmp = lives_strdup(_("Name: "))), FALSE, NULL, -1, -1, + LIVES_BOX(top_vbox), (tmp2 = lives_strdup(_("The name of the plugin. No spaces allowed."))) ); lives_free(tmp); lives_free(tmp2); @@ -199,9 +199,9 @@ hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(top_vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - rfxbuilder->spinbutton_version = lives_standard_spin_button_new((tmp=lives_strdup(_("Version: "))),FALSE, + rfxbuilder->spinbutton_version = lives_standard_spin_button_new((tmp = lives_strdup(_("Version: "))), FALSE, rfxbuilder->plugin_version, rfxbuilder->plugin_version, 1000000., 1., 1., 0, - LIVES_BOX(hbox),(tmp2=lives_strdup(_("The script version."))) + LIVES_BOX(hbox), (tmp2 = lives_strdup(_("The script version."))) ); lives_free(tmp); lives_free(tmp2); @@ -209,16 +209,16 @@ // author - rfxbuilder->author_entry = lives_standard_entry_new((tmp=lives_strdup(_(" Author: "))),FALSE,NULL,-1,-1, - LIVES_BOX(hbox),(tmp2=lives_strdup(_("The script author."))) + rfxbuilder->author_entry = lives_standard_entry_new((tmp = lives_strdup(_(" Author: "))), FALSE, NULL, -1, -1, + LIVES_BOX(hbox), (tmp2 = lives_strdup(_("The script author."))) ); lives_free(tmp); lives_free(tmp2); // URL - rfxbuilder->url_entry = lives_standard_entry_new((tmp=lives_strdup(_(" URL (optional): "))),FALSE,NULL,-1,-1, - LIVES_BOX(top_vbox),(tmp2=lives_strdup(_("URL for the plugin maintainer."))) + rfxbuilder->url_entry = lives_standard_entry_new((tmp = lives_strdup(_(" URL (optional): "))), FALSE, NULL, -1, -1, + LIVES_BOX(top_vbox), (tmp2 = lives_strdup(_("URL for the plugin maintainer."))) ); lives_free(tmp); lives_free(tmp2); @@ -227,8 +227,8 @@ // menu entry - rfxbuilder->menu_text_entry = lives_standard_entry_new((tmp=lives_strdup(_("Menu text: "))),FALSE,NULL,-1,-1, - LIVES_BOX(top_vbox),(tmp2=lives_strdup(_("The text to show in the menu."))) + rfxbuilder->menu_text_entry = lives_standard_entry_new((tmp = lives_strdup(_("Menu text: "))), FALSE, NULL, -1, -1, + LIVES_BOX(top_vbox), (tmp2 = lives_strdup(_("The text to show in the menu."))) ); lives_free(tmp); lives_free(tmp2); @@ -241,49 +241,49 @@ rfxbuilder->action_desc_hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(top_vbox), rfxbuilder->action_desc_hbox, FALSE, FALSE, widget_opts.packing_height); - rfxbuilder->action_desc_entry = lives_standard_entry_new((tmp=lives_strdup(_("Action description: "))),FALSE,NULL,-1,-1, + rfxbuilder->action_desc_entry = lives_standard_entry_new((tmp = lives_strdup(_("Action description: "))), FALSE, NULL, -1, -1, LIVES_BOX(rfxbuilder->action_desc_hbox), - (tmp2=lives_strdup(_("Describe what the plugin is doing. E.g. \"Edge detecting\""))) + (tmp2 = lives_strdup(_("Describe what the plugin is doing. E.g. \"Edge detecting\""))) ); - rfxbuilder->spinbutton_min_frames = lives_standard_spin_button_new((tmp=lives_strdup(_("Minimum frames:"))),FALSE, + rfxbuilder->spinbutton_min_frames = lives_standard_spin_button_new((tmp = lives_strdup(_("Minimum frames:"))), FALSE, 1., 1., 1000., 1., 1., 0, LIVES_BOX(top_vbox), - (tmp2=lives_strdup(_("Minimum number of frames this effect/tool can be applied to. Normally 1."))) + (tmp2 = lives_strdup(_("Minimum number of frames this effect/tool can be applied to. Normally 1."))) ); - rfxbuilder->min_frames_label=widget_opts.last_label; + rfxbuilder->min_frames_label = widget_opts.last_label; // requirements add_hsep_to_box(LIVES_BOX(top_vbox)); - rfxbuilder->requirements_button=lives_button_new_with_mnemonic(_("_Requirements...")); + rfxbuilder->requirements_button = lives_button_new_with_mnemonic(_("_Requirements...")); lives_box_pack_start(LIVES_BOX(top_vbox), rfxbuilder->requirements_button, TRUE, TRUE, 0); lives_widget_set_tooltip_text(rfxbuilder->requirements_button, (_("Enter any binaries required by the plugin."))); add_hsep_to_box(LIVES_BOX(top_vbox)); - rfxbuilder->properties_button=lives_button_new_with_mnemonic(_("_Properties...")); + rfxbuilder->properties_button = lives_button_new_with_mnemonic(_("_Properties...")); lives_box_pack_start(LIVES_BOX(top_vbox), rfxbuilder->properties_button, TRUE, TRUE, 0); lives_widget_set_tooltip_text(rfxbuilder->properties_button, (_("Set properties for the plugin. Optional."))); add_hsep_to_box(LIVES_BOX(top_vbox)); - rfxbuilder->params_button=lives_button_new_with_mnemonic(_("_Parameters...")); + rfxbuilder->params_button = lives_button_new_with_mnemonic(_("_Parameters...")); lives_box_pack_start(LIVES_BOX(top_vbox), rfxbuilder->params_button, TRUE, TRUE, 0); lives_widget_set_tooltip_text(rfxbuilder->params_button, (_("Set up parameters used in pre/loop/post/trigger code. Optional."))); add_hsep_to_box(LIVES_BOX(top_vbox)); - rfxbuilder->param_window_button=lives_button_new_with_mnemonic(_("Parameter _Window Hints...")); + rfxbuilder->param_window_button = lives_button_new_with_mnemonic(_("Parameter _Window Hints...")); lives_box_pack_start(LIVES_BOX(top_vbox), rfxbuilder->param_window_button, TRUE, TRUE, 0); lives_widget_set_tooltip_text(rfxbuilder->param_window_button, (_("Set hints about how to lay out the parameter window. Optional."))); @@ -292,8 +292,8 @@ langc = lives_list_append(langc, (livespointer)"0xF0 - LiVES-Perl"); - rfxbuilder->langc_combo = lives_standard_combo_new((tmp=lives_strdup(_("_Language code:"))),TRUE,langc,LIVES_BOX(top_vbox), - (tmp2=lives_strdup(_("Language for pre/loop/post/triggers. Optional.")))); + rfxbuilder->langc_combo = lives_standard_combo_new((tmp = lives_strdup(_("_Language code:"))), TRUE, langc, LIVES_BOX(top_vbox), + (tmp2 = lives_strdup(_("Language for pre/loop/post/triggers. Optional.")))); lives_free(tmp); lives_free(tmp2); @@ -302,37 +302,37 @@ add_hsep_to_box(LIVES_BOX(top_vbox)); - rfxbuilder->pre_button=lives_button_new_with_mnemonic(_("_Pre loop code...")); + rfxbuilder->pre_button = lives_button_new_with_mnemonic(_("_Pre loop code...")); lives_box_pack_start(LIVES_BOX(top_vbox), rfxbuilder->pre_button, TRUE, TRUE, 0); lives_widget_set_tooltip_text(rfxbuilder->pre_button, (_("Code to be executed before the loop. Optional."))); add_hsep_to_box(LIVES_BOX(top_vbox)); - rfxbuilder->loop_button=lives_button_new_with_mnemonic(_("_Loop code...")); + rfxbuilder->loop_button = lives_button_new_with_mnemonic(_("_Loop code...")); lives_box_pack_start(LIVES_BOX(top_vbox), rfxbuilder->loop_button, TRUE, TRUE, 0); lives_widget_set_tooltip_text(rfxbuilder->loop_button, (_("Loop code to be applied to each frame."))); add_hsep_to_box(LIVES_BOX(top_vbox)); - rfxbuilder->post_button=lives_button_new_with_mnemonic(_("_Post loop code...")); + rfxbuilder->post_button = lives_button_new_with_mnemonic(_("_Post loop code...")); lives_box_pack_start(LIVES_BOX(top_vbox), rfxbuilder->post_button, TRUE, TRUE, 0); lives_widget_set_tooltip_text(rfxbuilder->post_button, (_("Code to be executed after the loop. Optional."))); add_hsep_to_box(LIVES_BOX(top_vbox)); - rfxbuilder->trigger_button=lives_button_new_with_mnemonic(_("_Trigger code...")); + rfxbuilder->trigger_button = lives_button_new_with_mnemonic(_("_Trigger code...")); lives_box_pack_start(LIVES_BOX(top_vbox), rfxbuilder->trigger_button, TRUE, TRUE, 0); lives_widget_set_tooltip_text(rfxbuilder->trigger_button, (_("Set trigger code for when the parameter window is shown, or when a parameter is changed. Optional (except for Utilities)."))); - cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL,NULL); + cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(rfxbuilder->dialog), cancelbutton, LIVES_RESPONSE_CANCEL); - okbutton = lives_button_new_from_stock(LIVES_STOCK_OK,NULL); + okbutton = lives_button_new_from_stock(LIVES_STOCK_OK, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(rfxbuilder->dialog), okbutton, LIVES_RESPONSE_OK); lives_widget_set_can_focus_and_default(okbutton); @@ -401,26 +401,26 @@ // edit mode - if (script_name!=NULL) { + if (script_name != NULL) { // we assume the name is valid char *script_file; switch (status) { case RFX_STATUS_CUSTOM: - script_file=lives_build_filename(capable->home_dir,LIVES_CONFIG_DIR, - PLUGIN_RENDERED_EFFECTS_CUSTOM_SCRIPTS,script_name,NULL); + script_file = lives_build_filename(capable->home_dir, LIVES_CONFIG_DIR, + PLUGIN_RENDERED_EFFECTS_CUSTOM_SCRIPTS, script_name, NULL); break; case RFX_STATUS_BUILTIN: - script_file=lives_build_filename(prefs->prefix_dir,PLUGIN_SCRIPTS_DIR, - PLUGIN_RENDERED_EFFECTS_BUILTIN_SCRIPTS,script_name,NULL); + script_file = lives_build_filename(prefs->prefix_dir, PLUGIN_SCRIPTS_DIR, + PLUGIN_RENDERED_EFFECTS_BUILTIN_SCRIPTS, script_name, NULL); break; default: - script_file=lives_build_filename(capable->home_dir,LIVES_CONFIG_DIR, - PLUGIN_RENDERED_EFFECTS_TEST_SCRIPTS,script_name,NULL); + script_file = lives_build_filename(capable->home_dir, LIVES_CONFIG_DIR, + PLUGIN_RENDERED_EFFECTS_TEST_SCRIPTS, script_name, NULL); break; } - if (!script_to_rfxbuilder(rfxbuilder,script_file)) { - char *msg=lives_strdup_printf(_("\n\nUnable to parse the script file:\n%s\n%s\n"),script_file,mainw->msg); + if (!script_to_rfxbuilder(rfxbuilder, script_file)) { + char *msg = lives_strdup_printf(_("\n\nUnable to parse the script file:\n%s\n%s\n"), script_file, mainw->msg); // must use blocking error dialogs as the scriptname window is modal do_blocking_error_dialog(msg); lives_free(msg); @@ -431,16 +431,16 @@ lives_free(script_file); switch (rfxbuilder->type) { case RFX_BUILD_TYPE_TOOL: - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(rfxbuilder->type_tool_radiobutton),TRUE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(rfxbuilder->type_tool_radiobutton), TRUE); break; case RFX_BUILD_TYPE_EFFECT0: - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(rfxbuilder->type_effect0_radiobutton),TRUE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(rfxbuilder->type_effect0_radiobutton), TRUE); break; case RFX_BUILD_TYPE_UTILITY: - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(rfxbuilder->type_utility_radiobutton),TRUE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(rfxbuilder->type_utility_radiobutton), TRUE); break; case RFX_BUILD_TYPE_EFFECT2: - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(rfxbuilder->type_effect2_radiobutton),TRUE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(rfxbuilder->type_effect2_radiobutton), TRUE); break; default: break; @@ -456,40 +456,40 @@ void after_rfxbuilder_type_toggled(LiVESToggleButton *togglebutton, livespointer user_data) { - rfx_build_window_t *rfxbuilder=(rfx_build_window_t *)user_data; + rfx_build_window_t *rfxbuilder = (rfx_build_window_t *)user_data; - lives_widget_set_sensitive(rfxbuilder->pre_button,TRUE); - lives_widget_set_sensitive(rfxbuilder->loop_button,TRUE); - lives_widget_set_sensitive(rfxbuilder->post_button,TRUE); - lives_widget_set_sensitive(rfxbuilder->requirements_button,TRUE); - lives_widget_set_sensitive(rfxbuilder->properties_button,TRUE); + lives_widget_set_sensitive(rfxbuilder->pre_button, TRUE); + lives_widget_set_sensitive(rfxbuilder->loop_button, TRUE); + lives_widget_set_sensitive(rfxbuilder->post_button, TRUE); + lives_widget_set_sensitive(rfxbuilder->requirements_button, TRUE); + lives_widget_set_sensitive(rfxbuilder->properties_button, TRUE); lives_widget_show(rfxbuilder->spinbutton_min_frames); lives_widget_show(rfxbuilder->min_frames_label); lives_widget_show(rfxbuilder->action_desc_hbox); lives_widget_show(rfxbuilder->action_desc_hsep); - if (togglebutton==LIVES_TOGGLE_BUTTON(rfxbuilder->type_effect1_radiobutton)) { - rfxbuilder->type=RFX_BUILD_TYPE_EFFECT1; - } else if (togglebutton==LIVES_TOGGLE_BUTTON(rfxbuilder->type_effect2_radiobutton)) { - rfxbuilder->type=RFX_BUILD_TYPE_EFFECT2; - lives_widget_set_sensitive(rfxbuilder->properties_button,FALSE); - } else if (togglebutton==LIVES_TOGGLE_BUTTON(rfxbuilder->type_effect0_radiobutton)) { - rfxbuilder->type=RFX_BUILD_TYPE_EFFECT0; + if (togglebutton == LIVES_TOGGLE_BUTTON(rfxbuilder->type_effect1_radiobutton)) { + rfxbuilder->type = RFX_BUILD_TYPE_EFFECT1; + } else if (togglebutton == LIVES_TOGGLE_BUTTON(rfxbuilder->type_effect2_radiobutton)) { + rfxbuilder->type = RFX_BUILD_TYPE_EFFECT2; + lives_widget_set_sensitive(rfxbuilder->properties_button, FALSE); + } else if (togglebutton == LIVES_TOGGLE_BUTTON(rfxbuilder->type_effect0_radiobutton)) { + rfxbuilder->type = RFX_BUILD_TYPE_EFFECT0; lives_widget_hide(rfxbuilder->spinbutton_min_frames); lives_widget_hide(rfxbuilder->min_frames_label); - } else if (togglebutton==LIVES_TOGGLE_BUTTON(rfxbuilder->type_tool_radiobutton)) { - rfxbuilder->type=RFX_BUILD_TYPE_TOOL; + } else if (togglebutton == LIVES_TOGGLE_BUTTON(rfxbuilder->type_tool_radiobutton)) { + rfxbuilder->type = RFX_BUILD_TYPE_TOOL; lives_widget_hide(rfxbuilder->spinbutton_min_frames); - lives_widget_set_sensitive(rfxbuilder->properties_button,FALSE); + lives_widget_set_sensitive(rfxbuilder->properties_button, FALSE); lives_widget_hide(rfxbuilder->min_frames_label); - } else if (togglebutton==LIVES_TOGGLE_BUTTON(rfxbuilder->type_utility_radiobutton)) { - rfxbuilder->type=RFX_BUILD_TYPE_UTILITY; + } else if (togglebutton == LIVES_TOGGLE_BUTTON(rfxbuilder->type_utility_radiobutton)) { + rfxbuilder->type = RFX_BUILD_TYPE_UTILITY; lives_widget_hide(rfxbuilder->spinbutton_min_frames); - lives_widget_set_sensitive(rfxbuilder->properties_button,FALSE); - lives_widget_set_sensitive(rfxbuilder->requirements_button,FALSE); - lives_widget_set_sensitive(rfxbuilder->pre_button,FALSE); - lives_widget_set_sensitive(rfxbuilder->loop_button,FALSE); - lives_widget_set_sensitive(rfxbuilder->post_button,FALSE); + lives_widget_set_sensitive(rfxbuilder->properties_button, FALSE); + lives_widget_set_sensitive(rfxbuilder->requirements_button, FALSE); + lives_widget_set_sensitive(rfxbuilder->pre_button, FALSE); + lives_widget_set_sensitive(rfxbuilder->loop_button, FALSE); + lives_widget_set_sensitive(rfxbuilder->post_button, FALSE); lives_widget_hide(rfxbuilder->min_frames_label); lives_widget_hide(rfxbuilder->action_desc_hbox); lives_widget_hide(rfxbuilder->action_desc_hsep); @@ -513,151 +513,151 @@ LiVESWidget *scrolledwindow; LiVESWidget *cancelbutton; - LiVESAccelGroup *accel_group=LIVES_ACCEL_GROUP(lives_accel_group_new()); + LiVESAccelGroup *accel_group = LIVES_ACCEL_GROUP(lives_accel_group_new()); - char *title=NULL; + char *title = NULL; - rfx_build_window_t *rfxbuilder=(rfx_build_window_t *)user_data; + rfx_build_window_t *rfxbuilder = (rfx_build_window_t *)user_data; register int i; - if (button==LIVES_BUTTON(rfxbuilder->requirements_button)) { - rfxbuilder->table_type=RFX_TABLE_TYPE_REQUIREMENTS; - } else if (button==LIVES_BUTTON(rfxbuilder->params_button)) { - rfxbuilder->table_type=RFX_TABLE_TYPE_PARAMS; - } else if (button==LIVES_BUTTON(rfxbuilder->param_window_button)) { - rfxbuilder->table_type=RFX_TABLE_TYPE_PARAM_WINDOW; - } else if (button==LIVES_BUTTON(rfxbuilder->trigger_button)) { - rfxbuilder->table_type=RFX_TABLE_TYPE_TRIGGERS; + if (button == LIVES_BUTTON(rfxbuilder->requirements_button)) { + rfxbuilder->table_type = RFX_TABLE_TYPE_REQUIREMENTS; + } else if (button == LIVES_BUTTON(rfxbuilder->params_button)) { + rfxbuilder->table_type = RFX_TABLE_TYPE_PARAMS; + } else if (button == LIVES_BUTTON(rfxbuilder->param_window_button)) { + rfxbuilder->table_type = RFX_TABLE_TYPE_PARAM_WINDOW; + } else if (button == LIVES_BUTTON(rfxbuilder->trigger_button)) { + rfxbuilder->table_type = RFX_TABLE_TYPE_TRIGGERS; } - if (rfxbuilder->table_type==RFX_TABLE_TYPE_REQUIREMENTS) { - title=lives_strdup(_("RFX Requirements")); - rfxbuilder->onum_reqs=rfxbuilder->num_reqs; - } else if (rfxbuilder->table_type==RFX_TABLE_TYPE_PARAMS) { - title=lives_strdup(_("RFX Parameters")); - rfxbuilder->onum_params=rfxbuilder->num_params; - } else if (rfxbuilder->table_type==RFX_TABLE_TYPE_PARAM_WINDOW) { - title=lives_strdup(_("RFX Parameter Window Hints")); - rfxbuilder->onum_paramw_hints=rfxbuilder->num_paramw_hints; - } else if (rfxbuilder->table_type==RFX_TABLE_TYPE_TRIGGERS) { - title=lives_strdup(_("RFX Triggers")); - rfxbuilder->onum_triggers=rfxbuilder->num_triggers; + if (rfxbuilder->table_type == RFX_TABLE_TYPE_REQUIREMENTS) { + title = lives_strdup(_("RFX Requirements")); + rfxbuilder->onum_reqs = rfxbuilder->num_reqs; + } else if (rfxbuilder->table_type == RFX_TABLE_TYPE_PARAMS) { + title = lives_strdup(_("RFX Parameters")); + rfxbuilder->onum_params = rfxbuilder->num_params; + } else if (rfxbuilder->table_type == RFX_TABLE_TYPE_PARAM_WINDOW) { + title = lives_strdup(_("RFX Parameter Window Hints")); + rfxbuilder->onum_paramw_hints = rfxbuilder->num_paramw_hints; + } else if (rfxbuilder->table_type == RFX_TABLE_TYPE_TRIGGERS) { + title = lives_strdup(_("RFX Triggers")); + rfxbuilder->onum_triggers = rfxbuilder->num_triggers; } //dialog = lives_standard_dialog_new(title,FALSE,RFX_WINSIZE_H*5/6,RFX_WINSIZE_V/4); - dialog = lives_standard_dialog_new(title,FALSE,DEF_DIALOG_WIDTH,DEF_DIALOG_HEIGHT); + dialog = lives_standard_dialog_new(title, FALSE, DEF_DIALOG_WIDTH, DEF_DIALOG_HEIGHT); //lives_widget_set_size_request(dialog,DEF_DIALOG_WIDTH,DEF_DIALOG_HEIGHT); - lives_signal_handlers_disconnect_by_func(dialog,return_true,NULL); + lives_signal_handlers_disconnect_by_func(dialog, return_true, NULL); - if (title!=NULL) lives_free(title); + if (title != NULL) lives_free(title); lives_window_add_accel_group(LIVES_WINDOW(dialog), accel_group); if (prefs->show_gui) { - lives_window_set_transient_for(LIVES_WINDOW(dialog),LIVES_WINDOW(mainw->LiVES)); + lives_window_set_transient_for(LIVES_WINDOW(dialog), LIVES_WINDOW(mainw->LiVES)); } dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(dialog)); // create table and add rows - rfxbuilder->table_rows=0; + rfxbuilder->table_rows = 0; - if (rfxbuilder->table_type==RFX_TABLE_TYPE_REQUIREMENTS) { - rfxbuilder->table=lives_table_new(rfxbuilder->num_reqs,1,FALSE); - for (i=0; i<rfxbuilder->num_reqs; i++) { - on_table_add_row(NULL,(livespointer)rfxbuilder); - lives_entry_set_text(LIVES_ENTRY(rfxbuilder->entry[i]),rfxbuilder->reqs[i]); - } - } else if (rfxbuilder->table_type==RFX_TABLE_TYPE_PARAMS) { - rfxbuilder->copy_params=(lives_param_t *)lives_malloc(RFXBUILD_MAX_PARAMS*sizeof(lives_param_t)); - rfxbuilder->table=lives_table_new(rfxbuilder->num_params,3,FALSE); - for (i=0; i<rfxbuilder->num_params; i++) { - param_copy(&rfxbuilder->params[i],&rfxbuilder->copy_params[i],FALSE); - on_table_add_row(NULL,(livespointer)rfxbuilder); - } - } else if (rfxbuilder->table_type==RFX_TABLE_TYPE_PARAM_WINDOW) { - rfxbuilder->table=lives_table_new(rfxbuilder->table_rows,2,FALSE); - for (i=0; i<rfxbuilder->num_paramw_hints; i++) { - on_table_add_row(NULL,(livespointer)rfxbuilder); - } - } else if (rfxbuilder->table_type==RFX_TABLE_TYPE_TRIGGERS) { - rfxbuilder->copy_triggers=(rfx_trigger_t *)lives_malloc((RFXBUILD_MAX_PARAMS+1)*sizeof(rfx_trigger_t)); - rfxbuilder->table=lives_table_new(rfxbuilder->table_rows,1,FALSE); - for (i=0; i<rfxbuilder->num_triggers; i++) { - rfxbuilder->copy_triggers[i].when=rfxbuilder->triggers[i].when; - rfxbuilder->copy_triggers[i].code=lives_strdup(rfxbuilder->triggers[i].code); - on_table_add_row(NULL,(livespointer)rfxbuilder); + if (rfxbuilder->table_type == RFX_TABLE_TYPE_REQUIREMENTS) { + rfxbuilder->table = lives_table_new(rfxbuilder->num_reqs, 1, FALSE); + for (i = 0; i < rfxbuilder->num_reqs; i++) { + on_table_add_row(NULL, (livespointer)rfxbuilder); + lives_entry_set_text(LIVES_ENTRY(rfxbuilder->entry[i]), rfxbuilder->reqs[i]); + } + } else if (rfxbuilder->table_type == RFX_TABLE_TYPE_PARAMS) { + rfxbuilder->copy_params = (lives_param_t *)lives_malloc(RFXBUILD_MAX_PARAMS * sizeof(lives_param_t)); + rfxbuilder->table = lives_table_new(rfxbuilder->num_params, 3, FALSE); + for (i = 0; i < rfxbuilder->num_params; i++) { + param_copy(&rfxbuilder->params[i], &rfxbuilder->copy_params[i], FALSE); + on_table_add_row(NULL, (livespointer)rfxbuilder); + } + } else if (rfxbuilder->table_type == RFX_TABLE_TYPE_PARAM_WINDOW) { + rfxbuilder->table = lives_table_new(rfxbuilder->table_rows, 2, FALSE); + for (i = 0; i < rfxbuilder->num_paramw_hints; i++) { + on_table_add_row(NULL, (livespointer)rfxbuilder); + } + } else if (rfxbuilder->table_type == RFX_TABLE_TYPE_TRIGGERS) { + rfxbuilder->copy_triggers = (rfx_trigger_t *)lives_malloc((RFXBUILD_MAX_PARAMS + 1) * sizeof(rfx_trigger_t)); + rfxbuilder->table = lives_table_new(rfxbuilder->table_rows, 1, FALSE); + for (i = 0; i < rfxbuilder->num_triggers; i++) { + rfxbuilder->copy_triggers[i].when = rfxbuilder->triggers[i].when; + rfxbuilder->copy_triggers[i].code = lives_strdup(rfxbuilder->triggers[i].code); + on_table_add_row(NULL, (livespointer)rfxbuilder); } } - hbox = lives_hbox_new(FALSE,0); + hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, TRUE, TRUE, widget_opts.packing_height); - scrolledwindow = lives_standard_scrolled_window_new(RFX_WINSIZE_H,RFX_WINSIZE_V/4,rfxbuilder->table); + scrolledwindow = lives_standard_scrolled_window_new(RFX_WINSIZE_H, RFX_WINSIZE_V / 4, rfxbuilder->table); - lives_box_pack_start(LIVES_BOX(hbox),scrolledwindow,TRUE,TRUE,widget_opts.packing_width); + lives_box_pack_start(LIVES_BOX(hbox), scrolledwindow, TRUE, TRUE, widget_opts.packing_width); add_vsep_to_box(LIVES_BOX(hbox)); // button box on right - button_box=lives_vbutton_box_new(); + button_box = lives_vbutton_box_new(); lives_button_box_set_layout(LIVES_BUTTON_BOX(button_box), LIVES_BUTTONBOX_START); lives_box_pack_start(LIVES_BOX(hbox), button_box, FALSE, FALSE, 0); - rfxbuilder->new_entry_button=lives_button_new_with_mnemonic(_("_New Entry")); + rfxbuilder->new_entry_button = lives_button_new_with_mnemonic(_("_New Entry")); lives_box_pack_start(LIVES_BOX(button_box), rfxbuilder->new_entry_button, FALSE, FALSE, widget_opts.packing_height); lives_container_set_border_width(LIVES_CONTAINER(rfxbuilder->new_entry_button), widget_opts.border_width); - rfxbuilder->edit_entry_button=lives_button_new_with_mnemonic(_("_Edit Entry")); + rfxbuilder->edit_entry_button = lives_button_new_with_mnemonic(_("_Edit Entry")); lives_box_pack_start(LIVES_BOX(button_box), rfxbuilder->edit_entry_button, FALSE, FALSE, widget_opts.packing_height); lives_container_set_border_width(LIVES_CONTAINER(rfxbuilder->edit_entry_button), widget_opts.border_width); - rfxbuilder->remove_entry_button=lives_button_new_with_mnemonic(_("_Remove Entry")); + rfxbuilder->remove_entry_button = lives_button_new_with_mnemonic(_("_Remove Entry")); lives_box_pack_start(LIVES_BOX(button_box), rfxbuilder->remove_entry_button, FALSE, FALSE, widget_opts.packing_height); lives_container_set_border_width(LIVES_CONTAINER(rfxbuilder->remove_entry_button), widget_opts.border_width); - if (rfxbuilder->table_type==RFX_TABLE_TYPE_PARAM_WINDOW) { - rfxbuilder->move_up_button=lives_button_new_with_mnemonic(_("Move _Up")); + if (rfxbuilder->table_type == RFX_TABLE_TYPE_PARAM_WINDOW) { + rfxbuilder->move_up_button = lives_button_new_with_mnemonic(_("Move _Up")); lives_box_pack_start(LIVES_BOX(button_box), rfxbuilder->move_up_button, FALSE, FALSE, widget_opts.packing_height); lives_container_set_border_width(LIVES_CONTAINER(rfxbuilder->move_up_button), widget_opts.border_width); - rfxbuilder->move_down_button=lives_button_new_with_mnemonic(_("Move _Down")); + rfxbuilder->move_down_button = lives_button_new_with_mnemonic(_("Move _Down")); lives_box_pack_start(LIVES_BOX(button_box), rfxbuilder->move_down_button, FALSE, FALSE, widget_opts.packing_height); lives_container_set_border_width(LIVES_CONTAINER(rfxbuilder->move_down_button), widget_opts.border_width); - lives_widget_set_sensitive(rfxbuilder->move_up_button,FALSE); - lives_widget_set_sensitive(rfxbuilder->move_down_button,FALSE); + lives_widget_set_sensitive(rfxbuilder->move_up_button, FALSE); + lives_widget_set_sensitive(rfxbuilder->move_down_button, FALSE); } else { - rfxbuilder->move_up_button=rfxbuilder->move_down_button=NULL; + rfxbuilder->move_up_button = rfxbuilder->move_down_button = NULL; } - lives_widget_set_sensitive(rfxbuilder->edit_entry_button,FALSE); - lives_widget_set_sensitive(rfxbuilder->remove_entry_button,FALSE); + lives_widget_set_sensitive(rfxbuilder->edit_entry_button, FALSE); + lives_widget_set_sensitive(rfxbuilder->remove_entry_button, FALSE); - if (rfxbuilder->table_type==RFX_TABLE_TYPE_TRIGGERS) { - if (rfxbuilder->num_triggers>rfxbuilder->num_params) { - lives_widget_set_sensitive(rfxbuilder->new_entry_button,FALSE); + if (rfxbuilder->table_type == RFX_TABLE_TYPE_TRIGGERS) { + if (rfxbuilder->num_triggers > rfxbuilder->num_params) { + lives_widget_set_sensitive(rfxbuilder->new_entry_button, FALSE); } } - cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL,NULL); + cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(dialog), cancelbutton, LIVES_RESPONSE_CANCEL); lives_widget_add_accelerator(cancelbutton, LIVES_WIDGET_CLICKED_SIGNAL, accel_group, LIVES_KEY_Escape, (LiVESXModifierType)0, (LiVESAccelFlags)0); - okbutton = lives_button_new_from_stock(LIVES_STOCK_OK,NULL); + okbutton = lives_button_new_from_stock(LIVES_STOCK_OK, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(dialog), okbutton, LIVES_RESPONSE_OK); lives_widget_set_can_focus_and_default(okbutton); - if (rfxbuilder->table_type==RFX_TABLE_TYPE_REQUIREMENTS) { + if (rfxbuilder->table_type == RFX_TABLE_TYPE_REQUIREMENTS) { lives_signal_connect(LIVES_GUI_OBJECT(okbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_requirements_ok), user_data); @@ -665,7 +665,7 @@ lives_signal_connect(LIVES_GUI_OBJECT(cancelbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_requirements_cancel), user_data); - } else if (rfxbuilder->table_type==RFX_TABLE_TYPE_PARAMS) { + } else if (rfxbuilder->table_type == RFX_TABLE_TYPE_PARAMS) { lives_signal_connect(LIVES_GUI_OBJECT(okbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_params_ok), user_data); @@ -673,7 +673,7 @@ lives_signal_connect(LIVES_GUI_OBJECT(cancelbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_params_cancel), user_data); - } else if (rfxbuilder->table_type==RFX_TABLE_TYPE_PARAM_WINDOW) { + } else if (rfxbuilder->table_type == RFX_TABLE_TYPE_PARAM_WINDOW) { lives_signal_connect(LIVES_GUI_OBJECT(okbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_param_window_ok), user_data); @@ -681,7 +681,7 @@ lives_signal_connect(LIVES_GUI_OBJECT(cancelbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_param_window_cancel), user_data); - } else if (rfxbuilder->table_type==RFX_TABLE_TYPE_TRIGGERS) { + } else if (rfxbuilder->table_type == RFX_TABLE_TYPE_TRIGGERS) { lives_signal_connect(LIVES_GUI_OBJECT(okbutton), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_triggers_ok), user_data); @@ -705,7 +705,7 @@ LIVES_GUI_CALLBACK(on_table_delete_row), user_data); - if (rfxbuilder->table_type==RFX_TABLE_TYPE_PARAM_WINDOW) { + if (rfxbuilder->table_type == RFX_TABLE_TYPE_PARAM_WINDOW) { lives_signal_connect(LIVES_GUI_OBJECT(rfxbuilder->move_up_button), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(on_table_swap_row), user_data); @@ -716,169 +716,170 @@ } lives_widget_show_all(dialog); - table_select_row(rfxbuilder,-1); + table_select_row(rfxbuilder, -1); } void on_requirements_ok(LiVESButton *button, livespointer user_data) { - rfx_build_window_t *rfxbuilder=(rfx_build_window_t *)user_data; + rfx_build_window_t *rfxbuilder = (rfx_build_window_t *)user_data; int i; - for (i=0; i<rfxbuilder->onum_reqs; i++) { + for (i = 0; i < rfxbuilder->onum_reqs; i++) { lives_free(rfxbuilder->reqs[i]); } - for (i=0; i<rfxbuilder->num_reqs; i++) { - rfxbuilder->reqs[i]=lives_strdup(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->entry[i]))); + for (i = 0; i < rfxbuilder->num_reqs; i++) { + rfxbuilder->reqs[i] = lives_strdup(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->entry[i]))); } - lives_general_button_clicked(button,NULL); + lives_general_button_clicked(button, NULL); } void on_requirements_cancel(LiVESButton *button, livespointer user_data) { - rfx_build_window_t *rfxbuilder=(rfx_build_window_t *)user_data; + rfx_build_window_t *rfxbuilder = (rfx_build_window_t *)user_data; - rfxbuilder->num_reqs=rfxbuilder->onum_reqs; - lives_general_button_clicked(button,NULL); + rfxbuilder->num_reqs = rfxbuilder->onum_reqs; + lives_general_button_clicked(button, NULL); } void on_properties_ok(LiVESButton *button, livespointer user_data) { - rfx_build_window_t *rfxbuilder=(rfx_build_window_t *)user_data; + rfx_build_window_t *rfxbuilder = (rfx_build_window_t *)user_data; - if (rfxbuilder->type!=RFX_BUILD_TYPE_EFFECT0) { + if (rfxbuilder->type != RFX_BUILD_TYPE_EFFECT0) { if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(rfxbuilder->prop_slow))) { - rfxbuilder->props|=RFX_PROPS_SLOW; - } else if (rfxbuilder->props&RFX_PROPS_SLOW) { - rfxbuilder->props^=RFX_PROPS_SLOW; + rfxbuilder->props |= RFX_PROPS_SLOW; + } else if (rfxbuilder->props & RFX_PROPS_SLOW) { + rfxbuilder->props ^= RFX_PROPS_SLOW; } } else { if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(rfxbuilder->prop_batchg))) { - rfxbuilder->props|=RFX_PROPS_BATCHG; - } else if (rfxbuilder->props&RFX_PROPS_BATCHG) { - rfxbuilder->props^=RFX_PROPS_BATCHG; + rfxbuilder->props |= RFX_PROPS_BATCHG; + } else if (rfxbuilder->props & RFX_PROPS_BATCHG) { + rfxbuilder->props ^= RFX_PROPS_BATCHG; } } - lives_general_button_clicked(button,NULL); + lives_general_button_clicked(button, NULL); } void on_params_ok(LiVESButton *button, livespointer user_data) { - rfx_build_window_t *rfxbuilder=(rfx_build_window_t *)user_data; + rfx_build_window_t *rfxbuilder = (rfx_build_window_t *)user_data; int i; - for (i=0; i<rfxbuilder->onum_params; i++) { + for (i = 0; i < rfxbuilder->onum_params; i++) { lives_free(rfxbuilder->params[i].name); lives_free(rfxbuilder->params[i].label); - if (rfxbuilder->params[i].type==LIVES_PARAM_STRING_LIST) { - if (rfxbuilder->params[i].list!=NULL) lives_list_free(rfxbuilder->params[i].list); + if (rfxbuilder->params[i].type == LIVES_PARAM_STRING_LIST) { + if (rfxbuilder->params[i].list != NULL) lives_list_free(rfxbuilder->params[i].list); } - if (rfxbuilder->copy_params[i].def!=NULL) lives_free(rfxbuilder->params[i].def); + if (rfxbuilder->copy_params[i].def != NULL) lives_free(rfxbuilder->params[i].def); } if (rfxbuilder->onum_params) { lives_free(rfxbuilder->params); } - rfxbuilder->params=(lives_param_t *)lives_malloc(rfxbuilder->num_params*sizeof(lives_param_t)); - for (i=0; i<rfxbuilder->num_params; i++) { - param_copy(&rfxbuilder->copy_params[i],&rfxbuilder->params[i],FALSE); + rfxbuilder->params = (lives_param_t *)lives_malloc(rfxbuilder->num_params * sizeof(lives_param_t)); + for (i = 0; i < rfxbuilder->num_params; i++) { + param_copy(&rfxbuilder->copy_params[i], &rfxbuilder->params[i], FALSE); // this is the only place these should be freed lives_free(rfxbuilder->copy_params[i].name); lives_free(rfxbuilder->copy_params[i].label); - if (rfxbuilder->copy_params[i].type==LIVES_PARAM_STRING_LIST) { - if (rfxbuilder->copy_params[i].list!=NULL) lives_list_free(rfxbuilder->copy_params[i].list); + if (rfxbuilder->copy_params[i].type == LIVES_PARAM_STRING_LIST) { + if (rfxbuilder->copy_params[i].list != NULL) lives_list_free(rfxbuilder->copy_params[i].list); } - if (rfxbuilder->copy_params[i].def!=NULL) lives_free(rfxbuilder->copy_params[i].def); + if (rfxbuilder->copy_params[i].def != NULL) lives_free(rfxbuilder->copy_params[i].def); } if (rfxbuilder->num_params) { lives_free(rfxbuilder->copy_params); } - lives_general_button_clicked(button,NULL); + lives_general_button_clicked(button, NULL); } void on_params_cancel(LiVESButton *button, livespointer user_data) { - rfx_build_window_t *rfxbuilder=(rfx_build_window_t *)user_data; + rfx_build_window_t *rfxbuilder = (rfx_build_window_t *)user_data; int i; - for (i=0; i<rfxbuilder->num_params; i++) { + for (i = 0; i < rfxbuilder->num_params; i++) { // this is the only place these should be freed lives_free(rfxbuilder->copy_params[i].name); lives_free(rfxbuilder->copy_params[i].label); - if (rfxbuilder->copy_params[i].type==LIVES_PARAM_STRING_LIST) { - if (rfxbuilder->copy_params[i].list!=NULL) lives_list_free(rfxbuilder->copy_params[i].list); + if (rfxbuilder->copy_params[i].type == LIVES_PARAM_STRING_LIST) { + if (rfxbuilder->copy_params[i].list != NULL) lives_list_free(rfxbuilder->copy_params[i].list); } - if (rfxbuilder->copy_params[i].def!=NULL) lives_free(rfxbuilder->copy_params[i].def); + if (rfxbuilder->copy_params[i].def != NULL) lives_free(rfxbuilder->copy_params[i].def); } if (rfxbuilder->num_params) { lives_free(rfxbuilder->copy_params); } - rfxbuilder->num_params=rfxbuilder->onum_params; - lives_general_button_clicked(button,NULL); + rfxbuilder->num_params = rfxbuilder->onum_params; + lives_general_button_clicked(button, NULL); } void on_param_window_ok(LiVESButton *button, livespointer user_data) { - rfx_build_window_t *rfxbuilder=(rfx_build_window_t *)user_data; + rfx_build_window_t *rfxbuilder = (rfx_build_window_t *)user_data; int i; - for (i=0; i<rfxbuilder->onum_paramw_hints; i++) { + for (i = 0; i < rfxbuilder->onum_paramw_hints; i++) { lives_free(rfxbuilder->paramw_hints[i]); } - for (i=0; i<rfxbuilder->num_paramw_hints; i++) { - rfxbuilder->paramw_hints[i]=lives_strdup_printf("%s%s%s",lives_entry_get_text(LIVES_ENTRY(rfxbuilder->entry[i])),rfxbuilder->field_delim, - lives_entry_get_text(LIVES_ENTRY(rfxbuilder->entry2[i]))); + for (i = 0; i < rfxbuilder->num_paramw_hints; i++) { + rfxbuilder->paramw_hints[i] = lives_strdup_printf("%s%s%s", lives_entry_get_text(LIVES_ENTRY(rfxbuilder->entry[i])), + rfxbuilder->field_delim, + lives_entry_get_text(LIVES_ENTRY(rfxbuilder->entry2[i]))); } - lives_general_button_clicked(button,NULL); + lives_general_button_clicked(button, NULL); } void on_param_window_cancel(LiVESButton *button, livespointer user_data) { - rfx_build_window_t *rfxbuilder=(rfx_build_window_t *)user_data; + rfx_build_window_t *rfxbuilder = (rfx_build_window_t *)user_data; - rfxbuilder->num_paramw_hints=rfxbuilder->onum_paramw_hints; - lives_general_button_clicked(button,NULL); + rfxbuilder->num_paramw_hints = rfxbuilder->onum_paramw_hints; + lives_general_button_clicked(button, NULL); } void on_code_ok(LiVESButton *button, livespointer user_data) { - rfx_build_window_t *rfxbuilder=(rfx_build_window_t *)user_data; + rfx_build_window_t *rfxbuilder = (rfx_build_window_t *)user_data; switch (rfxbuilder->codetype) { case RFX_CODE_TYPE_PRE: lives_free(rfxbuilder->pre_code); - rfxbuilder->pre_code=lives_text_view_get_text(LIVES_TEXT_VIEW(rfxbuilder->code_textview)); + rfxbuilder->pre_code = lives_text_view_get_text(LIVES_TEXT_VIEW(rfxbuilder->code_textview)); break; case RFX_CODE_TYPE_LOOP: lives_free(rfxbuilder->loop_code); - rfxbuilder->loop_code=lives_text_view_get_text(LIVES_TEXT_VIEW(rfxbuilder->code_textview)); + rfxbuilder->loop_code = lives_text_view_get_text(LIVES_TEXT_VIEW(rfxbuilder->code_textview)); break; case RFX_CODE_TYPE_POST: lives_free(rfxbuilder->post_code); - rfxbuilder->post_code=lives_text_view_get_text(LIVES_TEXT_VIEW(rfxbuilder->code_textview)); + rfxbuilder->post_code = lives_text_view_get_text(LIVES_TEXT_VIEW(rfxbuilder->code_textview)); break; case RFX_CODE_TYPE_STRDEF: { - int maxlen=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max)); + int maxlen = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max)); char buf[++maxlen]; - if (rfxbuilder->copy_params[rfxbuilder->edit_param].def!=NULL) lives_free(rfxbuilder->copy_params[rfxbuilder->edit_param].def); - lives_snprintf(buf,maxlen,"%s",lives_text_view_get_text(LIVES_TEXT_VIEW(rfxbuilder->code_textview))); + if (rfxbuilder->copy_params[rfxbuilder->edit_param].def != NULL) lives_free(rfxbuilder->copy_params[rfxbuilder->edit_param].def); + lives_snprintf(buf, maxlen, "%s", lives_text_view_get_text(LIVES_TEXT_VIEW(rfxbuilder->code_textview))); - rfxbuilder->copy_params[rfxbuilder->edit_param].def=subst(buf,rfxbuilder->field_delim,""); + rfxbuilder->copy_params[rfxbuilder->edit_param].def = subst(buf, rfxbuilder->field_delim, ""); break; } case RFX_CODE_TYPE_STRING_LIST: { - char *values=lives_text_view_get_text(LIVES_TEXT_VIEW(rfxbuilder->code_textview)); - char **lines=lives_strsplit(values,"\n",-1); - int numlines=get_token_count(values,'\n'); + char *values = lives_text_view_get_text(LIVES_TEXT_VIEW(rfxbuilder->code_textview)); + char **lines = lives_strsplit(values, "\n", -1); + int numlines = get_token_count(values, '\n'); int i; - int defindex=get_int_param(rfxbuilder->copy_params[rfxbuilder->edit_param].def); + int defindex = get_int_param(rfxbuilder->copy_params[rfxbuilder->edit_param].def); - if (rfxbuilder->copy_params[rfxbuilder->edit_param].list!=NULL) { + if (rfxbuilder->copy_params[rfxbuilder->edit_param].list != NULL) { lives_list_free(rfxbuilder->copy_params[rfxbuilder->edit_param].list); - rfxbuilder->copy_params[rfxbuilder->edit_param].list=NULL; + rfxbuilder->copy_params[rfxbuilder->edit_param].list = NULL; } - for (i=0; i<numlines; i++) { - if (i<numlines-1||strlen(lines[i])) { - rfxbuilder->copy_params[rfxbuilder->edit_param].list=lives_list_append - (rfxbuilder->copy_params[rfxbuilder->edit_param].list,lives_strdup(lines[i])); + for (i = 0; i < numlines; i++) { + if (i < numlines - 1 || strlen(lines[i])) { + rfxbuilder->copy_params[rfxbuilder->edit_param].list = lives_list_append + (rfxbuilder->copy_params[rfxbuilder->edit_param].list, lives_strdup(lines[i])); } } lives_strfreev(lines); @@ -886,88 +887,88 @@ // set "default" combo - TODO - try to retain old default using string matching lives_combo_populate(LIVES_COMBO(rfxbuilder->param_def_combo), rfxbuilder->copy_params[rfxbuilder->edit_param].list); - if (rfxbuilder->copy_params[rfxbuilder->edit_param].list==NULL|| - defindex>lives_list_length(rfxbuilder->copy_params[rfxbuilder->edit_param].list)) { - set_int_param(rfxbuilder->copy_params[rfxbuilder->edit_param].def,(defindex=0)); + if (rfxbuilder->copy_params[rfxbuilder->edit_param].list == NULL || + defindex > lives_list_length(rfxbuilder->copy_params[rfxbuilder->edit_param].list)) { + set_int_param(rfxbuilder->copy_params[rfxbuilder->edit_param].def, (defindex = 0)); } - if (rfxbuilder->copy_params[rfxbuilder->edit_param].list!=NULL) { + if (rfxbuilder->copy_params[rfxbuilder->edit_param].list != NULL) { lives_combo_set_active_string(LIVES_COMBO(rfxbuilder->param_def_combo), - (char *)lives_list_nth_data(rfxbuilder->copy_params[rfxbuilder->edit_param].list,defindex)); + (char *)lives_list_nth_data(rfxbuilder->copy_params[rfxbuilder->edit_param].list, defindex)); } } } - lives_general_button_clicked(button,NULL); + lives_general_button_clicked(button, NULL); } void on_triggers_ok(LiVESButton *button, livespointer user_data) { - rfx_build_window_t *rfxbuilder=(rfx_build_window_t *)user_data; + rfx_build_window_t *rfxbuilder = (rfx_build_window_t *)user_data; int i; - for (i=0; i<rfxbuilder->onum_triggers; i++) { + for (i = 0; i < rfxbuilder->onum_triggers; i++) { lives_free(rfxbuilder->triggers[i].code); } if (rfxbuilder->onum_triggers) { lives_free(rfxbuilder->triggers); } - rfxbuilder->triggers=(rfx_trigger_t *)lives_malloc(rfxbuilder->num_triggers*sizeof(rfx_trigger_t)); - for (i=0; i<rfxbuilder->num_triggers; i++) { - rfxbuilder->triggers[i].when=rfxbuilder->copy_triggers[i].when; - rfxbuilder->triggers[i].code=lives_strdup(rfxbuilder->copy_triggers[i].code); + rfxbuilder->triggers = (rfx_trigger_t *)lives_malloc(rfxbuilder->num_triggers * sizeof(rfx_trigger_t)); + for (i = 0; i < rfxbuilder->num_triggers; i++) { + rfxbuilder->triggers[i].when = rfxbuilder->copy_triggers[i].when; + rfxbuilder->triggers[i].code = lives_strdup(rfxbuilder->copy_triggers[i].code); lives_free(rfxbuilder->copy_triggers[i].code); } if (rfxbuilder->num_triggers) { lives_free(rfxbuilder->copy_triggers); } - lives_general_button_clicked(button,NULL); + lives_general_button_clicked(button, NULL); } void on_triggers_cancel(LiVESButton *button, livespointer user_data) { - rfx_build_window_t *rfxbuilder=(rfx_build_window_t *)user_data; + rfx_build_window_t *rfxbuilder = (rfx_build_window_t *)user_data; - uint8_t *valid_triggers=NULL; + uint8_t *valid_triggers = NULL; - boolean init_trigger_valid=FALSE; + boolean init_trigger_valid = FALSE; int i; - if (rfxbuilder->num_params>0) - valid_triggers=(uint8_t *)lives_malloc0(rfxbuilder->num_params); + if (rfxbuilder->num_params > 0) + valid_triggers = (uint8_t *)lives_malloc0(rfxbuilder->num_params); - for (i=0; i<rfxbuilder->num_triggers; i++) { + for (i = 0; i < rfxbuilder->num_triggers; i++) { lives_free(rfxbuilder->copy_triggers[i].code); } if (rfxbuilder->num_triggers) { lives_free(rfxbuilder->copy_triggers); } - rfxbuilder->num_triggers=rfxbuilder->onum_triggers; + rfxbuilder->num_triggers = rfxbuilder->onum_triggers; - for (i=0; i<rfxbuilder->num_triggers; i++) { - int when=rfxbuilder->triggers[i].when; - if (when==0) init_trigger_valid=1; - else valid_triggers[when-1]=1; + for (i = 0; i < rfxbuilder->num_triggers; i++) { + int when = rfxbuilder->triggers[i].when; + if (when == 0) init_trigger_valid = 1; + else valid_triggers[when - 1] = 1; } // reset onchange for anything not in triggers - for (i=0; i<rfxbuilder->num_params; i++) { + for (i = 0; i < rfxbuilder->num_params; i++) { if (!valid_triggers[i]) { - rfxbuilder->params[i].onchange=FALSE; + rfxbuilder->params[i].onchange = FALSE; } else { - rfxbuilder->params[i].onchange=TRUE; + rfxbuilder->params[i].onchange = TRUE; } } - if (valid_triggers!=NULL) lives_free(valid_triggers); + if (valid_triggers != NULL) lives_free(valid_triggers); if (!init_trigger_valid) { - rfxbuilder->has_init_trigger=FALSE; + rfxbuilder->has_init_trigger = FALSE; } else { - rfxbuilder->has_init_trigger=TRUE; + rfxbuilder->has_init_trigger = TRUE; } - lives_general_button_clicked(button,NULL); + lives_general_button_clicked(button, NULL); } @@ -977,41 +978,41 @@ LiVESWidget *cancelbutton; LiVESWidget *okbutton; - LiVESAccelGroup *accel_group=LIVES_ACCEL_GROUP(lives_accel_group_new()); + LiVESAccelGroup *accel_group = LIVES_ACCEL_GROUP(lives_accel_group_new()); - rfx_build_window_t *rfxbuilder=(rfx_build_window_t *)user_data; + rfx_build_window_t *rfxbuilder = (rfx_build_window_t *)user_data; - dialog = lives_standard_dialog_new(_("RFX Properties"),FALSE,-1,-1); + dialog = lives_standard_dialog_new(_("RFX Properties"), FALSE, -1, -1); lives_window_add_accel_group(LIVES_WINDOW(dialog), accel_group); if (prefs->show_gui) { - lives_window_set_transient_for(LIVES_WINDOW(dialog),LIVES_WINDOW(rfxbuilder->dialog)); + lives_window_set_transient_for(LIVES_WINDOW(dialog), LIVES_WINDOW(rfxbuilder->dialog)); } dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(dialog)); - rfxbuilder->prop_slow= lives_standard_check_button_new(_("_Slow (hint to GUI)"),TRUE,LIVES_BOX(dialog_vbox),NULL); + rfxbuilder->prop_slow = lives_standard_check_button_new(_("_Slow (hint to GUI)"), TRUE, LIVES_BOX(dialog_vbox), NULL); - if (rfxbuilder->type!=RFX_BUILD_TYPE_EFFECT0) { + if (rfxbuilder->type != RFX_BUILD_TYPE_EFFECT0) { lives_widget_show(rfxbuilder->prop_slow); } - if (rfxbuilder->props&RFX_PROPS_SLOW) { - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(rfxbuilder->prop_slow),TRUE); + if (rfxbuilder->props & RFX_PROPS_SLOW) { + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(rfxbuilder->prop_slow), TRUE); } - if (rfxbuilder->type==RFX_BUILD_TYPE_EFFECT0) { - rfxbuilder->prop_batchg=lives_standard_check_button_new(_("_Batch mode generator"),TRUE,LIVES_BOX(dialog_vbox),NULL); - if (rfxbuilder->props&RFX_PROPS_BATCHG) { - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(rfxbuilder->prop_batchg),TRUE); + if (rfxbuilder->type == RFX_BUILD_TYPE_EFFECT0) { + rfxbuilder->prop_batchg = lives_standard_check_button_new(_("_Batch mode generator"), TRUE, LIVES_BOX(dialog_vbox), NULL); + if (rfxbuilder->props & RFX_PROPS_BATCHG) { + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(rfxbuilder->prop_batchg), TRUE); } } - cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL,NULL); + cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(dialog), cancelbutton, LIVES_RESPONSE_CANCEL); - okbutton = lives_button_new_from_stock(LIVES_STOCK_OK,NULL); + okbutton = lives_button_new_from_stock(LIVES_STOCK_OK, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(dialog), okbutton, LIVES_RESPONSE_OK); lives_widget_set_can_focus_and_default(okbutton); @@ -1040,31 +1041,31 @@ static void table_select_row(rfx_build_window_t *rfxbuilder, int row) { register int i; - for (i=0; i<rfxbuilder->table_rows; i++) { - if (i==row) { - lives_widget_set_sensitive(rfxbuilder->edit_entry_button,TRUE); - lives_widget_set_sensitive(rfxbuilder->remove_entry_button,TRUE); - if (rfxbuilder->move_up_button!=NULL) lives_widget_set_sensitive(rfxbuilder->move_up_button,i!=0); - if (rfxbuilder->move_down_button!=NULL) lives_widget_set_sensitive(rfxbuilder->move_down_button,i<rfxbuilder->table_rows-1); - - lives_widget_set_sensitive(rfxbuilder->entry[i],TRUE); - if (rfxbuilder->entry2[i]!=NULL) { - lives_widget_set_sensitive(rfxbuilder->entry2[i],TRUE); + for (i = 0; i < rfxbuilder->table_rows; i++) { + if (i == row) { + lives_widget_set_sensitive(rfxbuilder->edit_entry_button, TRUE); + lives_widget_set_sensitive(rfxbuilder->remove_entry_button, TRUE); + if (rfxbuilder->move_up_button != NULL) lives_widget_set_sensitive(rfxbuilder->move_up_button, i != 0); + if (rfxbuilder->move_down_button != NULL) lives_widget_set_sensitive(rfxbuilder->move_down_button, i < rfxbuilder->table_rows - 1); + + lives_widget_set_sensitive(rfxbuilder->entry[i], TRUE); + if (rfxbuilder->entry2[i] != NULL) { + lives_widget_set_sensitive(rfxbuilder->entry2[i], TRUE); } - if (rfxbuilder->entry3[i]!=NULL) { - lives_widget_set_sensitive(rfxbuilder->entry3[i],TRUE); + if (rfxbuilder->entry3[i] != NULL) { + lives_widget_set_sensitive(rfxbuilder->entry3[i], TRUE); } } else { - lives_editable_select_region(LIVES_EDITABLE(rfxbuilder->entry[i]),0,0); - lives_widget_set_sensitive(rfxbuilder->entry[i],FALSE); - lives_entry_set_editable(LIVES_ENTRY(rfxbuilder->entry[i]),FALSE); - if (rfxbuilder->entry2[i]!=NULL) { - lives_editable_select_region(LIVES_EDITABLE(rfxbuilder->entry2[i]),0,0); - lives_widget_set_sensitive(rfxbuilder->entry2[i],FALSE); - } - if (rfxbuilder->entry3[i]!=NULL) { - lives_editable_select_region(LIVES_EDITABLE(rfxbuilder->entry3[i]),0,0); - lives_widget_set_sensitive(rfxbuilder->entry3[i],FALSE); + lives_editable_select_region(LIVES_EDITABLE(rfxbuilder->entry[i]), 0, 0); + lives_widget_set_sensitive(rfxbuilder->entry[i], FALSE); + lives_entry_set_editable(LIVES_ENTRY(rfxbuilder->entry[i]), FALSE); + if (rfxbuilder->entry2[i] != NULL) { + lives_editable_select_region(LIVES_EDITABLE(rfxbuilder->entry2[i]), 0, 0); + lives_widget_set_sensitive(rfxbuilder->entry2[i], FALSE); + } + if (rfxbuilder->entry3[i] != NULL) { + lives_editable_select_region(LIVES_EDITABLE(rfxbuilder->entry3[i]), 0, 0); + lives_widget_set_sensitive(rfxbuilder->entry3[i], FALSE); } } } @@ -1075,17 +1076,17 @@ static boolean on_entry_click(LiVESWidget *widget, LiVESXEventButton *event, livespointer user_data) { - rfx_build_window_t *rfxbuilder=(rfx_build_window_t *)user_data; + rfx_build_window_t *rfxbuilder = (rfx_build_window_t *)user_data; register int i; - widget=lives_bin_get_child(LIVES_BIN(widget)); - for (i=0; i<rfxbuilder->table_rows; i++) { - if (widget==rfxbuilder->entry[i]||widget==rfxbuilder->entry2[i]||widget==rfxbuilder->entry3[i]) { - table_select_row(rfxbuilder,i); + widget = lives_bin_get_child(LIVES_BIN(widget)); + for (i = 0; i < rfxbuilder->table_rows; i++) { + if (widget == rfxbuilder->entry[i] || widget == rfxbuilder->entry2[i] || widget == rfxbuilder->entry3[i]) { + table_select_row(rfxbuilder, i); - if (event->type!=LIVES_BUTTON_PRESS) { + if (event->type != LIVES_BUTTON_PRESS) { //double click - on_table_edit_row(NULL,rfxbuilder); + on_table_edit_row(NULL, rfxbuilder); } return TRUE; } @@ -1096,52 +1097,52 @@ void on_table_add_row(LiVESButton *button, livespointer user_data) { - LiVESWidget *entry=NULL,*entry2=NULL,*entry3=NULL; - LiVESWidget *param_dialog=NULL; - LiVESWidget *param_window_dialog=NULL; - LiVESWidget *trigger_dialog=NULL; + LiVESWidget *entry = NULL, *entry2 = NULL, *entry3 = NULL; + LiVESWidget *param_dialog = NULL; + LiVESWidget *param_window_dialog = NULL; + LiVESWidget *trigger_dialog = NULL; - rfx_build_window_t *rfxbuilder=(rfx_build_window_t *)user_data; - lives_param_t *param=NULL; + rfx_build_window_t *rfxbuilder = (rfx_build_window_t *)user_data; + lives_param_t *param = NULL; register int i; char *tmpx; char *ctext; - LiVESWidget *ebox,*ebox2=NULL,*ebox3=NULL; + LiVESWidget *ebox, *ebox2 = NULL, *ebox3 = NULL; - rfxbuilder->entry2[rfxbuilder->table_rows]=rfxbuilder->entry3[rfxbuilder->table_rows]=NULL; + rfxbuilder->entry2[rfxbuilder->table_rows] = rfxbuilder->entry3[rfxbuilder->table_rows] = NULL; switch (rfxbuilder->table_type) { case RFX_TABLE_TYPE_REQUIREMENTS: - if (rfxbuilder->table_rows>=RFXBUILD_MAX_REQ) return; + if (rfxbuilder->table_rows >= RFXBUILD_MAX_REQ) return; - for (i=0; i<rfxbuilder->table_rows; i++) { + for (i = 0; i < rfxbuilder->table_rows; i++) { lives_entry_set_editable(LIVES_ENTRY(rfxbuilder->entry[i]), FALSE); } entry = rfxbuilder->entry[rfxbuilder->table_rows] = lives_entry_new(); - if (button!=NULL) + if (button != NULL) lives_entry_set_editable(LIVES_ENTRY(entry), TRUE); else lives_entry_set_editable(LIVES_ENTRY(entry), FALSE); - ebox=lives_event_box_new(); + ebox = lives_event_box_new(); lives_widget_set_events(ebox, LIVES_BUTTON_PRESS_MASK); - lives_container_add(LIVES_CONTAINER(ebox),entry); + lives_container_add(LIVES_CONTAINER(ebox), entry); - lives_table_resize(LIVES_TABLE(rfxbuilder->table),++rfxbuilder->table_rows,1); - lives_table_attach(LIVES_TABLE(rfxbuilder->table), ebox, 0, 1, rfxbuilder->table_rows-1, + lives_table_resize(LIVES_TABLE(rfxbuilder->table), ++rfxbuilder->table_rows, 1); + lives_table_attach(LIVES_TABLE(rfxbuilder->table), ebox, 0, 1, rfxbuilder->table_rows - 1, rfxbuilder->table_rows, - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); lives_widget_context_update(); lives_widget_grab_focus(entry); - if (button!=NULL) { + if (button != NULL) { rfxbuilder->num_reqs++; } else goto add_row_done; break; @@ -1150,46 +1151,46 @@ entry = rfxbuilder->entry[rfxbuilder->table_rows] = lives_entry_new(); entry2 = rfxbuilder->entry2[rfxbuilder->table_rows] = lives_entry_new(); - if (button!=NULL) { - boolean param_ok=FALSE; - param=&rfxbuilder->copy_params[rfxbuilder->num_params]; - - param->def=NULL; - param->list=NULL; - param->type=LIVES_PARAM_UNKNOWN; + if (button != NULL) { + boolean param_ok = FALSE; + param = &rfxbuilder->copy_params[rfxbuilder->num_params]; + + param->def = NULL; + param->list = NULL; + param->type = LIVES_PARAM_UNKNOWN; - param_dialog=make_param_dialog(-1,rfxbuilder); + param_dialog = make_param_dialog(-1, rfxbuilder); do { - if (lives_dialog_run(LIVES_DIALOG(param_dialog))==LIVES_RESPONSE_CANCEL) { + if (lives_dialog_run(LIVES_DIALOG(param_dialog)) == LIVES_RESPONSE_CANCEL) { lives_free(param->def); lives_widget_destroy(entry); lives_widget_destroy(entry2); lives_widget_destroy(param_dialog); return; } - param_ok=perform_param_checks(rfxbuilder,rfxbuilder->num_params,rfxbuilder->num_params+1); + param_ok = perform_param_checks(rfxbuilder, rfxbuilder->num_params, rfxbuilder->num_params + 1); } while (!param_ok); rfxbuilder->num_params++; - lives_entry_set_text(LIVES_ENTRY(entry2),lives_entry_get_text(LIVES_ENTRY(rfxbuilder->param_name_entry))); + lives_entry_set_text(LIVES_ENTRY(entry2), lives_entry_get_text(LIVES_ENTRY(rfxbuilder->param_name_entry))); } else { - lives_entry_set_text(LIVES_ENTRY(entry2),rfxbuilder->params[rfxbuilder->table_rows].name); + lives_entry_set_text(LIVES_ENTRY(entry2), rfxbuilder->params[rfxbuilder->table_rows].name); } - lives_entry_set_text(LIVES_ENTRY(entry),(tmpx=lives_strdup_printf("p%d",rfxbuilder->table_rows))); + lives_entry_set_text(LIVES_ENTRY(entry), (tmpx = lives_strdup_printf("p%d", rfxbuilder->table_rows))); lives_free(tmpx); lives_entry_set_editable(LIVES_ENTRY(entry), FALSE); - ebox=lives_event_box_new(); + ebox = lives_event_box_new(); lives_widget_set_events(ebox, LIVES_BUTTON_PRESS_MASK); - lives_container_add(LIVES_CONTAINER(ebox),entry); + lives_container_add(LIVES_CONTAINER(ebox), entry); - lives_table_resize(LIVES_TABLE(rfxbuilder->table),++rfxbuilder->table_rows,3); + lives_table_resize(LIVES_TABLE(rfxbuilder->table), ++rfxbuilder->table_rows, 3); - lives_table_attach(LIVES_TABLE(rfxbuilder->table), ebox, 0, 1, rfxbuilder->table_rows-1, + lives_table_attach(LIVES_TABLE(rfxbuilder->table), ebox, 0, 1, rfxbuilder->table_rows - 1, rfxbuilder->table_rows, (LiVESAttachOptions)(0), (LiVESAttachOptions)(0), 0, 0); @@ -1199,39 +1200,39 @@ lives_entry_set_editable(LIVES_ENTRY(entry2), FALSE); - ebox2=lives_event_box_new(); + ebox2 = lives_event_box_new(); lives_widget_set_events(ebox2, LIVES_BUTTON_PRESS_MASK); - lives_container_add(LIVES_CONTAINER(ebox2),entry2); + lives_container_add(LIVES_CONTAINER(ebox2), entry2); - lives_table_attach(LIVES_TABLE(rfxbuilder->table), ebox2, 1, 2, rfxbuilder->table_rows-1, + lives_table_attach(LIVES_TABLE(rfxbuilder->table), ebox2, 1, 2, rfxbuilder->table_rows - 1, rfxbuilder->table_rows, - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); - entry3 = rfxbuilder->entry3[rfxbuilder->table_rows-1] = lives_entry_new(); + entry3 = rfxbuilder->entry3[rfxbuilder->table_rows - 1] = lives_entry_new(); - if (button==NULL) { - param=&rfxbuilder->params[rfxbuilder->table_rows-1]; + if (button == NULL) { + param = &rfxbuilder->params[rfxbuilder->table_rows - 1]; } else { - param_set_from_dialog((param=&rfxbuilder->copy_params[rfxbuilder->table_rows-1]),rfxbuilder); + param_set_from_dialog((param = &rfxbuilder->copy_params[rfxbuilder->table_rows - 1]), rfxbuilder); } switch (param->type) { case LIVES_PARAM_NUM: - lives_entry_set_text(LIVES_ENTRY(entry3),(tmpx=lives_strdup_printf("num%d",param->dp))); + lives_entry_set_text(LIVES_ENTRY(entry3), (tmpx = lives_strdup_printf("num%d", param->dp))); lives_free(tmpx); break; case LIVES_PARAM_BOOL: - lives_entry_set_text(LIVES_ENTRY(entry3),"bool"); + lives_entry_set_text(LIVES_ENTRY(entry3), "bool"); break; case LIVES_PARAM_COLRGB24: - lives_entry_set_text(LIVES_ENTRY(entry3),"colRGB24"); + lives_entry_set_text(LIVES_ENTRY(entry3), "colRGB24"); break; case LIVES_PARAM_STRING: - lives_entry_set_text(LIVES_ENTRY(entry3),"string"); + lives_entry_set_text(LIVES_ENTRY(entry3), "string"); break; case LIVES_PARAM_STRING_LIST: - lives_entry_set_text(LIVES_ENTRY(entry3),"string_list"); + lives_entry_set_text(LIVES_ENTRY(entry3), "string_list"); break; default: break; @@ -1239,16 +1240,16 @@ lives_entry_set_editable(LIVES_ENTRY(entry3), FALSE); - ebox3=lives_event_box_new(); + ebox3 = lives_event_box_new(); lives_widget_set_events(ebox3, LIVES_BUTTON_PRESS_MASK); - lives_container_add(LIVES_CONTAINER(ebox3),entry3); + lives_container_add(LIVES_CONTAINER(ebox3), entry3); - lives_table_attach(LIVES_TABLE(rfxbuilder->table), ebox3, 2, 3, rfxbuilder->table_rows-1, + lives_table_attach(LIVES_TABLE(rfxbuilder->table), ebox3, 2, 3, rfxbuilder->table_rows - 1, rfxbuilder->table_rows, (LiVESAttachOptions)(LIVES_FILL), (LiVESAttachOptions)(0), 0, 0); - if (button==NULL) goto add_row_done; + if (button == NULL) goto add_row_done; lives_widget_queue_resize(lives_widget_get_parent(LIVES_WIDGET(rfxbuilder->table))); lives_widget_destroy(param_dialog); @@ -1256,76 +1257,76 @@ case RFX_TABLE_TYPE_PARAM_WINDOW: - if (button!=NULL) { - param_window_dialog=make_param_window_dialog(-1,rfxbuilder); - if (lives_dialog_run(LIVES_DIALOG(param_window_dialog))==LIVES_RESPONSE_CANCEL) { + if (button != NULL) { + param_window_dialog = make_param_window_dialog(-1, rfxbuilder); + if (lives_dialog_run(LIVES_DIALOG(param_window_dialog)) == LIVES_RESPONSE_CANCEL) { lives_widget_destroy(param_window_dialog); return; } entry = rfxbuilder->entry[rfxbuilder->table_rows] = lives_entry_new(); - ctext=lives_combo_get_active_text(LIVES_COMBO(rfxbuilder->paramw_kw_combo)); - lives_entry_set_text(LIVES_ENTRY(entry),ctext); + ctext = lives_combo_get_active_text(LIVES_COMBO(rfxbuilder->paramw_kw_combo)); + lives_entry_set_text(LIVES_ENTRY(entry), ctext); lives_free(ctext); rfxbuilder->num_paramw_hints++; } else { - char **array=lives_strsplit(rfxbuilder->paramw_hints[rfxbuilder->table_rows],rfxbuilder->field_delim,2); + char **array = lives_strsplit(rfxbuilder->paramw_hints[rfxbuilder->table_rows], rfxbuilder->field_delim, 2); entry = rfxbuilder->entry[rfxbuilder->table_rows] = lives_entry_new(); - lives_entry_set_text(LIVES_ENTRY(entry),array[0]); + lives_entry_set_text(LIVES_ENTRY(entry), array[0]); lives_strfreev(array); } lives_entry_set_editable(LIVES_ENTRY(entry), FALSE); - ebox=lives_event_box_new(); + ebox = lives_event_box_new(); lives_widget_set_events(ebox, LIVES_BUTTON_PRESS_MASK); - lives_container_add(LIVES_CONTAINER(ebox),entry); + lives_container_add(LIVES_CONTAINER(ebox), entry); - lives_table_resize(LIVES_TABLE(rfxbuilder->table),++rfxbuilder->table_rows,2); - lives_table_attach(LIVES_TABLE(rfxbuilder->table), ebox, 0, 1, rfxbuilder->table_rows-1, + lives_table_resize(LIVES_TABLE(rfxbuilder->table), ++rfxbuilder->table_rows, 2); + lives_table_attach(LIVES_TABLE(rfxbuilder->table), ebox, 0, 1, rfxbuilder->table_rows - 1, rfxbuilder->table_rows, (LiVESAttachOptions)(LIVES_FILL), (LiVESAttachOptions)(0), 0, 0); - entry2 = rfxbuilder->entry2[rfxbuilder->table_rows-1] = lives_entry_new(); + entry2 = rfxbuilder->entry2[rfxbuilder->table_rows - 1] = lives_entry_new(); - if (button!=NULL) { - if (!strcmp(lives_entry_get_text(LIVES_ENTRY(entry)),"layout")) { - lives_entry_set_text(LIVES_ENTRY(entry2),lives_entry_get_text(LIVES_ENTRY(rfxbuilder->paramw_rest_entry))); + if (button != NULL) { + if (!strcmp(lives_entry_get_text(LIVES_ENTRY(entry)), "layout")) { + lives_entry_set_text(LIVES_ENTRY(entry2), lives_entry_get_text(LIVES_ENTRY(rfxbuilder->paramw_rest_entry))); } else { // TODO - use lives_rfx_special_t->has_subtype,name,num_params - ctext=lives_combo_get_active_text(LIVES_COMBO(rfxbuilder->paramw_sp_combo)); - if (!strcmp(ctext,"framedraw")) { - char *ctext2=lives_combo_get_active_text(LIVES_COMBO(rfxbuilder->paramw_spsub_combo)); - lives_entry_set_text(LIVES_ENTRY(entry2),(tmpx=lives_strdup_printf("%s%s%s%s%s",ctext,rfxbuilder->field_delim,ctext2, + ctext = lives_combo_get_active_text(LIVES_COMBO(rfxbuilder->paramw_sp_combo)); + if (!strcmp(ctext, "framedraw")) { + char *ctext2 = lives_combo_get_active_text(LIVES_COMBO(rfxbuilder->paramw_spsub_combo)); + lives_entry_set_text(LIVES_ENTRY(entry2), (tmpx = lives_strdup_printf("%s%s%s%s%s", ctext, rfxbuilder->field_delim, ctext2, rfxbuilder->field_delim, lives_entry_get_text(LIVES_ENTRY(rfxbuilder->paramw_rest_entry))))); lives_free(ctext2); } else { - lives_entry_set_text(LIVES_ENTRY(entry2),(tmpx=lives_strdup_printf("%s%s%s",ctext,rfxbuilder->field_delim, + lives_entry_set_text(LIVES_ENTRY(entry2), (tmpx = lives_strdup_printf("%s%s%s", ctext, rfxbuilder->field_delim, lives_entry_get_text(LIVES_ENTRY(rfxbuilder->paramw_rest_entry))))); } lives_free(tmpx); lives_free(ctext); } } else { - char **array=lives_strsplit(rfxbuilder->paramw_hints[rfxbuilder->table_rows-1],rfxbuilder->field_delim,2); - lives_entry_set_text(LIVES_ENTRY(entry2),array[1]); + char **array = lives_strsplit(rfxbuilder->paramw_hints[rfxbuilder->table_rows - 1], rfxbuilder->field_delim, 2); + lives_entry_set_text(LIVES_ENTRY(entry2), array[1]); lives_strfreev(array); } lives_entry_set_editable(LIVES_ENTRY(entry2), FALSE); - ebox2=lives_event_box_new(); + ebox2 = lives_event_box_new(); lives_widget_set_events(ebox2, LIVES_BUTTON_PRESS_MASK); - lives_container_add(LIVES_CONTAINER(ebox2),entry2); + lives_container_add(LIVES_CONTAINER(ebox2), entry2); - lives_table_attach(LIVES_TABLE(rfxbuilder->table), ebox2, 1, 2, rfxbuilder->table_rows-1, + lives_table_attach(LIVES_TABLE(rfxbuilder->table), ebox2, 1, 2, rfxbuilder->table_rows - 1, rfxbuilder->table_rows, - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); - if (button==NULL) goto add_row_done; + if (button == NULL) goto add_row_done; lives_widget_destroy(param_window_dialog); lives_widget_queue_resize(lives_widget_get_parent(LIVES_WIDGET(rfxbuilder->table))); @@ -1336,50 +1337,50 @@ case RFX_TABLE_TYPE_TRIGGERS: entry = rfxbuilder->entry[rfxbuilder->table_rows] = lives_entry_new(); - if (button!=NULL) { - trigger_dialog=make_trigger_dialog(-1,rfxbuilder); - if (lives_dialog_run(LIVES_DIALOG(trigger_dialog))==LIVES_RESPONSE_CANCEL) { + if (button != NULL) { + trigger_dialog = make_trigger_dialog(-1, rfxbuilder); + if (lives_dialog_run(LIVES_DIALOG(trigger_dialog)) == LIVES_RESPONSE_CANCEL) { lives_widget_destroy(trigger_dialog); return; } - lives_entry_set_text(LIVES_ENTRY(entry),lives_entry_get_text(LIVES_ENTRY(rfxbuilder->trigger_when_entry))); + lives_entry_set_text(LIVES_ENTRY(entry), lives_entry_get_text(LIVES_ENTRY(rfxbuilder->trigger_when_entry))); rfxbuilder->num_triggers++; } else { - char *tmpx2=NULL; - lives_entry_set_text(LIVES_ENTRY(entry),rfxbuilder->triggers[rfxbuilder->table_rows].when? - (tmpx2=lives_strdup_printf("%d",rfxbuilder->triggers[rfxbuilder->table_rows].when-1)):"init"); - if (tmpx2!=NULL) lives_free(tmpx2); + char *tmpx2 = NULL; + lives_entry_set_text(LIVES_ENTRY(entry), rfxbuilder->triggers[rfxbuilder->table_rows].when ? + (tmpx2 = lives_strdup_printf("%d", rfxbuilder->triggers[rfxbuilder->table_rows].when - 1)) : "init"); + if (tmpx2 != NULL) lives_free(tmpx2); } lives_entry_set_editable(LIVES_ENTRY(entry), FALSE); - ebox=lives_event_box_new(); + ebox = lives_event_box_new(); lives_widget_set_events(ebox, LIVES_BUTTON_PRESS_MASK); - lives_container_add(LIVES_CONTAINER(ebox),entry); + lives_container_add(LIVES_CONTAINER(ebox), entry); - lives_table_resize(LIVES_TABLE(rfxbuilder->table),++rfxbuilder->table_rows,1); - lives_table_attach(LIVES_TABLE(rfxbuilder->table), ebox, 0, 1, rfxbuilder->table_rows-1, + lives_table_resize(LIVES_TABLE(rfxbuilder->table), ++rfxbuilder->table_rows, 1); + lives_table_attach(LIVES_TABLE(rfxbuilder->table), ebox, 0, 1, rfxbuilder->table_rows - 1, rfxbuilder->table_rows, - (LiVESAttachOptions)(LIVES_FILL|LIVES_EXPAND), + (LiVESAttachOptions)(LIVES_FILL | LIVES_EXPAND), (LiVESAttachOptions)(0), 0, 0); - if (button==NULL) goto add_row_done; + if (button == NULL) goto add_row_done; - if (rfxbuilder->num_triggers>rfxbuilder->num_params) { - lives_widget_set_sensitive(rfxbuilder->new_entry_button,FALSE); + if (rfxbuilder->num_triggers > rfxbuilder->num_params) { + lives_widget_set_sensitive(rfxbuilder->new_entry_button, FALSE); } - rfxbuilder->copy_triggers[rfxbuilder->table_rows-1].code=lives_text_view_get_text(LIVES_TEXT_VIEW(rfxbuilder->code_textview)); + rfxbuilder->copy_triggers[rfxbuilder->table_rows - 1].code = lives_text_view_get_text(LIVES_TEXT_VIEW(rfxbuilder->code_textview)); - rfxbuilder->copy_triggers[rfxbuilder->table_rows-1].when=atoi(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->trigger_when_entry)))+1; - if (!strcmp(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->trigger_when_entry)),"init")) - rfxbuilder->copy_triggers[rfxbuilder->table_rows-1].when=0; + rfxbuilder->copy_triggers[rfxbuilder->table_rows - 1].when = atoi(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->trigger_when_entry))) + 1; + if (!strcmp(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->trigger_when_entry)), "init")) + rfxbuilder->copy_triggers[rfxbuilder->table_rows - 1].when = 0; - if (!rfxbuilder->copy_triggers[rfxbuilder->table_rows-1].when) { - rfxbuilder->has_init_trigger=TRUE; + if (!rfxbuilder->copy_triggers[rfxbuilder->table_rows - 1].when) { + rfxbuilder->has_init_trigger = TRUE; } else { - rfxbuilder->params[rfxbuilder->copy_triggers[rfxbuilder->table_rows-1].when-1].onchange=TRUE; + rfxbuilder->params[rfxbuilder->copy_triggers[rfxbuilder->table_rows - 1].when - 1].onchange = TRUE; } lives_widget_destroy(trigger_dialog); @@ -1396,14 +1397,14 @@ lives_widget_show_all(rfxbuilder->table); - lives_event_box_set_above_child(LIVES_EVENT_BOX(ebox),TRUE); + lives_event_box_set_above_child(LIVES_EVENT_BOX(ebox), TRUE); lives_signal_connect(LIVES_GUI_OBJECT(ebox), LIVES_WIDGET_BUTTON_PRESS_EVENT, LIVES_GUI_CALLBACK(on_entry_click), (livespointer)rfxbuilder); - if (palette->style&STYLE_1) { - if (palette->style&STYLE_3) { + if (palette->style & STYLE_1) { + if (palette->style & STYLE_3) { lives_widget_set_bg_color(entry, LIVES_WIDGET_STATE_INSENSITIVE, &palette->menu_and_bars); lives_widget_set_fg_color(entry, LIVES_WIDGET_STATE_INSENSITIVE, &palette->menu_and_bars_fore); } else { @@ -1412,15 +1413,15 @@ } } - if (entry2!=NULL) { - lives_event_box_set_above_child(LIVES_EVENT_BOX(ebox2),TRUE); + if (entry2 != NULL) { + lives_event_box_set_above_child(LIVES_EVENT_BOX(ebox2), TRUE); lives_signal_connect(LIVES_GUI_OBJECT(ebox2), LIVES_WIDGET_BUTTON_PRESS_EVENT, LIVES_GUI_CALLBACK(on_entry_click), (livespointer)rfxbuilder); - if (palette->style&STYLE_1) { - if (palette->style&STYLE_3) { + if (palette->style & STYLE_1) { + if (palette->style & STYLE_3) { lives_widget_set_bg_color(entry2, LIVES_WIDGET_STATE_INSENSITIVE, &palette->menu_and_bars); lives_widget_set_fg_color(entry2, LIVES_WIDGET_STATE_INSENSITIVE, &palette->menu_and_bars_fore); } else { @@ -1430,15 +1431,15 @@ } } - if (entry3!=NULL) { - lives_event_box_set_above_child(LIVES_EVENT_BOX(ebox3),TRUE); + if (entry3 != NULL) { + lives_event_box_set_above_child(LIVES_EVENT_BOX(ebox3), TRUE); lives_signal_connect(LIVES_GUI_OBJECT(ebox3), LIVES_WIDGET_BUTTON_PRESS_EVENT, LIVES_GUI_CALLBACK(on_entry_click), (livespointer)rfxbuilder); - if (palette->style&STYLE_1) { - if (palette->style&STYLE_3) { + if (palette->style & STYLE_1) { + if (palette->style & STYLE_3) { lives_widget_set_bg_color(entry3, LIVES_WIDGET_STATE_INSENSITIVE, &palette->menu_and_bars); lives_widget_set_fg_color(entry3, LIVES_WIDGET_STATE_INSENSITIVE, &palette->menu_and_bars_fore); } else { @@ -1448,11 +1449,11 @@ } } - if (button!=NULL) { - table_select_row(rfxbuilder, rfxbuilder->table_rows-1); + if (button != NULL) { + table_select_row(rfxbuilder, rfxbuilder->table_rows - 1); - if (rfxbuilder->table_type==RFX_TABLE_TYPE_REQUIREMENTS) { - on_table_edit_row(NULL,user_data); + if (rfxbuilder->table_type == RFX_TABLE_TYPE_REQUIREMENTS) { + on_table_edit_row(NULL, user_data); } } @@ -1463,68 +1464,68 @@ void param_set_from_dialog(lives_param_t *copy_param, rfx_build_window_t *rfxbuilder) { // set parameter values from param_dialog // this is called after adding a new copy_param or editing an existing one - char *ctext=lives_combo_get_active_text(LIVES_COMBO(rfxbuilder->param_type_combo)); + char *ctext = lives_combo_get_active_text(LIVES_COMBO(rfxbuilder->param_type_combo)); - copy_param->name=lives_strdup(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->param_name_entry))); - copy_param->label=lives_strdup(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->param_label_entry))); + copy_param->name = lives_strdup(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->param_name_entry))); + copy_param->label = lives_strdup(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->param_label_entry))); - if (!strcmp(ctext,"num")) { - copy_param->type=LIVES_PARAM_NUM; - } else if (!strcmp(ctext,"bool")) { - copy_param->type=LIVES_PARAM_BOOL; - } else if (!strcmp(ctext,"colRGB24")) { - copy_param->type=LIVES_PARAM_COLRGB24; - } else if (!strcmp(ctext,"string")) { - copy_param->type=LIVES_PARAM_STRING; - } else if (!strcmp(ctext,"string_list")) { - copy_param->type=LIVES_PARAM_STRING_LIST; + if (!strcmp(ctext, "num")) { + copy_param->type = LIVES_PARAM_NUM; + } else if (!strcmp(ctext, "bool")) { + copy_param->type = LIVES_PARAM_BOOL; + } else if (!strcmp(ctext, "colRGB24")) { + copy_param->type = LIVES_PARAM_COLRGB24; + } else if (!strcmp(ctext, "string")) { + copy_param->type = LIVES_PARAM_STRING; + } else if (!strcmp(ctext, "string_list")) { + copy_param->type = LIVES_PARAM_STRING_LIST; } lives_free(ctext); - copy_param->dp=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_dp)); - copy_param->group=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_group)); - copy_param->onchange=FALSE; // no trigger assigned yet + copy_param->dp = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_dp)); + copy_param->group = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_group)); + copy_param->onchange = FALSE; // no trigger assigned yet // TODO - check - if (copy_param->type!=LIVES_PARAM_STRING&©_param->def!=NULL) lives_free(copy_param->def); - if (copy_param->type!=LIVES_PARAM_STRING_LIST&©_param->list!=NULL) lives_list_free(copy_param->list); + if (copy_param->type != LIVES_PARAM_STRING && copy_param->def != NULL) lives_free(copy_param->def); + if (copy_param->type != LIVES_PARAM_STRING_LIST && copy_param->list != NULL) lives_list_free(copy_param->list); switch (copy_param->type) { case LIVES_PARAM_NUM: - copy_param->min=lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min)); - copy_param->max=lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max)); - copy_param->step_size=lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_step)); - copy_param->wrap=lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(rfxbuilder->param_wrap_checkbutton)); + copy_param->min = lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min)); + copy_param->max = lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max)); + copy_param->step_size = lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_step)); + copy_param->wrap = lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(rfxbuilder->param_wrap_checkbutton)); if (!copy_param->dp) { - copy_param->def=lives_malloc(sizint); - set_int_param(copy_param->def,lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def))); + copy_param->def = lives_malloc(sizint); + set_int_param(copy_param->def, lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def))); } else { - copy_param->def=lives_malloc(sizdbl); - set_double_param(copy_param->def,lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def))); + copy_param->def = lives_malloc(sizdbl); + set_double_param(copy_param->def, lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def))); } break; case LIVES_PARAM_BOOL: - copy_param->def=lives_malloc(sizint); - set_bool_param(copy_param->def,lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def))); - copy_param->dp=0; + copy_param->def = lives_malloc(sizint); + set_bool_param(copy_param->def, lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def))); + copy_param->dp = 0; break; case LIVES_PARAM_STRING: - copy_param->max=lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max)); - copy_param->dp=0; + copy_param->max = lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max)); + copy_param->dp = 0; break; case LIVES_PARAM_STRING_LIST: - copy_param->dp=0; - copy_param->def=lives_malloc(sizdbl); - set_int_param(copy_param->def,lives_list_strcmp_index(copy_param->list, + copy_param->dp = 0; + copy_param->def = lives_malloc(sizdbl); + set_int_param(copy_param->def, lives_list_strcmp_index(copy_param->list, lives_combo_get_active_text(LIVES_COMBO(rfxbuilder->param_def_combo)))); break; case LIVES_PARAM_COLRGB24: - copy_param->def=lives_malloc(3*sizint); - set_colRGB24_param(copy_param->def,lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def)), + copy_param->def = lives_malloc(3 * sizint); + set_colRGB24_param(copy_param->def, lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def)), lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min)), lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max))); - copy_param->dp=0; + copy_param->dp = 0; break; default: break; @@ -1540,28 +1541,28 @@ LiVESWidget *paramw_dialog; LiVESWidget *trigger_dialog; - rfx_build_window_t *rfxbuilder=(rfx_build_window_t *)user_data; + rfx_build_window_t *rfxbuilder = (rfx_build_window_t *)user_data; lives_param_t *param; int i; - int found=-1; - boolean param_ok=FALSE; + int found = -1; + boolean param_ok = FALSE; char *tmpx; char *ctext; - for (i=0; i<rfxbuilder->table_rows&&found==-1; i++) { + for (i = 0; i < rfxbuilder->table_rows && found == -1; i++) { if (lives_widget_is_sensitive(rfxbuilder->entry[i])) { - found=i; + found = i; break; } } - if (found==-1) return; + if (found == -1) return; switch (rfxbuilder->table_type) { case RFX_TABLE_TYPE_REQUIREMENTS: - for (i=0; i<rfxbuilder->table_rows; i++) { - if (found==i) { + for (i = 0; i < rfxbuilder->table_rows; i++) { + if (found == i) { lives_entry_set_editable(LIVES_ENTRY(rfxbuilder->entry[i]), TRUE); lives_widget_context_update(); lives_widget_grab_focus(rfxbuilder->entry[i]); @@ -1572,33 +1573,33 @@ break; case RFX_TABLE_TYPE_PARAMS: - param_dialog=make_param_dialog(found,rfxbuilder); + param_dialog = make_param_dialog(found, rfxbuilder); do { - if (lives_dialog_run(LIVES_DIALOG(param_dialog))==LIVES_RESPONSE_CANCEL) { + if (lives_dialog_run(LIVES_DIALOG(param_dialog)) == LIVES_RESPONSE_CANCEL) { lives_widget_destroy(param_dialog); return; } - param_ok=perform_param_checks(rfxbuilder,found,rfxbuilder->num_params); + param_ok = perform_param_checks(rfxbuilder, found, rfxbuilder->num_params); } while (!param_ok); - param_set_from_dialog((param=&rfxbuilder->copy_params[found]),rfxbuilder); - lives_entry_set_text(LIVES_ENTRY(rfxbuilder->entry2[found]),param->name); + param_set_from_dialog((param = &rfxbuilder->copy_params[found]), rfxbuilder); + lives_entry_set_text(LIVES_ENTRY(rfxbuilder->entry2[found]), param->name); switch (param->type) { case LIVES_PARAM_NUM: - lives_entry_set_text(LIVES_ENTRY(rfxbuilder->entry3[found]),(tmpx=lives_strdup_printf("num%d",param->dp))); + lives_entry_set_text(LIVES_ENTRY(rfxbuilder->entry3[found]), (tmpx = lives_strdup_printf("num%d", param->dp))); lives_free(tmpx); break; case LIVES_PARAM_BOOL: - lives_entry_set_text(LIVES_ENTRY(rfxbuilder->entry3[found]),"bool"); + lives_entry_set_text(LIVES_ENTRY(rfxbuilder->entry3[found]), "bool"); break; case LIVES_PARAM_COLRGB24: - lives_entry_set_text(LIVES_ENTRY(rfxbuilder->entry3[found]),"colRGB24"); + lives_entry_set_text(LIVES_ENTRY(rfxbuilder->entry3[found]), "colRGB24"); break; case LIVES_PARAM_STRING: - lives_entry_set_text(LIVES_ENTRY(rfxbuilder->entry3[found]),"string"); + lives_entry_set_text(LIVES_ENTRY(rfxbuilder->entry3[found]), "string"); break; case LIVES_PARAM_STRING_LIST: - lives_entry_set_text(LIVES_ENTRY(rfxbuilder->entry3[found]),"string_list"); + lives_entry_set_text(LIVES_ENTRY(rfxbuilder->entry3[found]), "string_list"); break; default: break; @@ -1607,29 +1608,29 @@ break; case RFX_TABLE_TYPE_PARAM_WINDOW: - paramw_dialog=make_param_window_dialog(found,rfxbuilder); - if (lives_dialog_run(LIVES_DIALOG(paramw_dialog))==LIVES_RESPONSE_CANCEL) { + paramw_dialog = make_param_window_dialog(found, rfxbuilder); + if (lives_dialog_run(LIVES_DIALOG(paramw_dialog)) == LIVES_RESPONSE_CANCEL) { lives_widget_destroy(paramw_dialog); return; } - ctext=lives_combo_get_active_text(LIVES_COMBO(rfxbuilder->paramw_kw_combo)); - lives_entry_set_text(LIVES_ENTRY(rfxbuilder->entry[found]),ctext); + ctext = lives_combo_get_active_text(LIVES_COMBO(rfxbuilder->paramw_kw_combo)); + lives_entry_set_text(LIVES_ENTRY(rfxbuilder->entry[found]), ctext); lives_free(ctext); - if (!strcmp(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->entry[found])),"layout")) { - lives_entry_set_text(LIVES_ENTRY(rfxbuilder->entry2[found]),lives_entry_get_text(LIVES_ENTRY(rfxbuilder->paramw_rest_entry))); + if (!strcmp(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->entry[found])), "layout")) { + lives_entry_set_text(LIVES_ENTRY(rfxbuilder->entry2[found]), lives_entry_get_text(LIVES_ENTRY(rfxbuilder->paramw_rest_entry))); } else { // TODO - use lives_rfx_special_t->has_subtype,name,num_params - ctext=lives_combo_get_active_text(LIVES_COMBO(rfxbuilder->paramw_sp_combo)); - if (!strcmp(ctext,"framedraw")) { - char *ctext2=lives_combo_get_active_text(LIVES_COMBO(rfxbuilder->paramw_spsub_combo)); + ctext = lives_combo_get_active_text(LIVES_COMBO(rfxbuilder->paramw_sp_combo)); + if (!strcmp(ctext, "framedraw")) { + char *ctext2 = lives_combo_get_active_text(LIVES_COMBO(rfxbuilder->paramw_spsub_combo)); lives_entry_set_text(LIVES_ENTRY(rfxbuilder->entry2[found]), - (tmpx=lives_strdup_printf("%s%s%s%s%s",ctext,rfxbuilder->field_delim,ctext2,rfxbuilder->field_delim, - lives_entry_get_text(LIVES_ENTRY(rfxbuilder->paramw_rest_entry))))); + (tmpx = lives_strdup_printf("%s%s%s%s%s", ctext, rfxbuilder->field_delim, ctext2, rfxbuilder->field_delim, + lives_entry_get_text(LIVES_ENTRY(rfxbuilder->paramw_rest_entry))))); lives_free(ctext2); } else { lives_entry_set_text(LIVES_ENTRY(rfxbuilder->entry2[found]), - (tmpx=lives_strdup_printf("%s%s%s",ctext,rfxbuilder->field_delim,lives_entry_get_text - (LIVES_ENTRY(rfxbuilder->paramw_rest_entry))))); + (tmpx = lives_strdup_printf("%s%s%s", ctext, rfxbuilder->field_delim, lives_entry_get_text + (LIVES_ENTRY(rfxbuilder->paramw_rest_entry))))); } lives_free(ctext); lives_free(tmpx); @@ -1638,14 +1639,14 @@ break; case RFX_TABLE_TYPE_TRIGGERS: - trigger_dialog=make_trigger_dialog(found,rfxbuilder); - if (lives_dialog_run(LIVES_DIALOG(trigger_dialog))==LIVES_RESPONSE_CANCEL) { + trigger_dialog = make_trigger_dialog(found, rfxbuilder); + if (lives_dialog_run(LIVES_DIALOG(trigger_dialog)) == LIVES_RESPONSE_CANCEL) { lives_widget_destroy(trigger_dialog); return; } lives_free(rfxbuilder->copy_triggers[found].code); - rfxbuilder->copy_triggers[found].code=lives_text_view_get_text(LIVES_TEXT_VIEW(rfxbuilder->code_textview)); + rfxbuilder->copy_triggers[found].code = lives_text_view_get_text(LIVES_TEXT_VIEW(rfxbuilder->code_textview)); lives_widget_destroy(trigger_dialog); break; @@ -1656,131 +1657,131 @@ void on_table_swap_row(LiVESButton *button, livespointer user_data) { char *entry_text; - rfx_build_window_t *rfxbuilder=(rfx_build_window_t *)user_data; + rfx_build_window_t *rfxbuilder = (rfx_build_window_t *)user_data; - int found=-1; + int found = -1; register int i; - for (i=0; i<rfxbuilder->table_rows&&found==-1; i++) { + for (i = 0; i < rfxbuilder->table_rows && found == -1; i++) { if (!(lives_widget_get_state(rfxbuilder->entry[i])&LIVES_WIDGET_STATE_INSENSITIVE)) { - found=i; + found = i; break; } } - if (found==-1) if ((found=rfxbuilder->table_swap_row1)==-1) return; + if (found == -1) if ((found = rfxbuilder->table_swap_row1) == -1) return; switch (rfxbuilder->table_type) { case RFX_TABLE_TYPE_PARAM_WINDOW: - if (button==LIVES_BUTTON(rfxbuilder->move_up_button)) { - rfxbuilder->table_swap_row2=found-1; - } else if (button==LIVES_BUTTON(rfxbuilder->move_down_button)) { - rfxbuilder->table_swap_row2=found+1; + if (button == LIVES_BUTTON(rfxbuilder->move_up_button)) { + rfxbuilder->table_swap_row2 = found - 1; + } else if (button == LIVES_BUTTON(rfxbuilder->move_down_button)) { + rfxbuilder->table_swap_row2 = found + 1; } - if (rfxbuilder->table_swap_row2<0||rfxbuilder->table_swap_row2>=rfxbuilder->table_rows) return; + if (rfxbuilder->table_swap_row2 < 0 || rfxbuilder->table_swap_row2 >= rfxbuilder->table_rows) return; - entry_text=lives_strdup(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->entry[found]))); + entry_text = lives_strdup(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->entry[found]))); lives_entry_set_text(LIVES_ENTRY(rfxbuilder->entry[found]), lives_entry_get_text(LIVES_ENTRY(rfxbuilder->entry[rfxbuilder->table_swap_row2]))); - lives_entry_set_text(LIVES_ENTRY(rfxbuilder->entry[rfxbuilder->table_swap_row2]),entry_text); + lives_entry_set_text(LIVES_ENTRY(rfxbuilder->entry[rfxbuilder->table_swap_row2]), entry_text); lives_free(entry_text); - entry_text=lives_strdup(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->entry2[found]))); + entry_text = lives_strdup(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->entry2[found]))); lives_entry_set_text(LIVES_ENTRY(rfxbuilder->entry2[found]), lives_entry_get_text(LIVES_ENTRY(rfxbuilder->entry2[rfxbuilder->table_swap_row2]))); - lives_entry_set_text(LIVES_ENTRY(rfxbuilder->entry2[rfxbuilder->table_swap_row2]),entry_text); + lives_entry_set_text(LIVES_ENTRY(rfxbuilder->entry2[rfxbuilder->table_swap_row2]), entry_text); lives_free(entry_text); break; default: break; } - rfxbuilder->table_swap_row1=rfxbuilder->table_swap_row2; - table_select_row(rfxbuilder,rfxbuilder->table_swap_row1); + rfxbuilder->table_swap_row1 = rfxbuilder->table_swap_row2; + table_select_row(rfxbuilder, rfxbuilder->table_swap_row1); } void on_table_delete_row(LiVESButton *button, livespointer user_data) { - rfx_build_window_t *rfxbuilder=(rfx_build_window_t *)user_data; + rfx_build_window_t *rfxbuilder = (rfx_build_window_t *)user_data; LiVESWidget *ebox; #if !LIVES_TABLE_IS_GRID - LiVESWidget *ebox2=NULL,*ebox3=NULL,*ebox4=NULL; + LiVESWidget *ebox2 = NULL, *ebox3 = NULL, *ebox4 = NULL; #else - LiVESWidget *entry=NULL,*entry2; + LiVESWidget *entry = NULL, *entry2; #endif - int move=0; - boolean triggers_adjusted=FALSE; + int move = 0; + boolean triggers_adjusted = FALSE; register int i; switch (rfxbuilder->table_type) { case RFX_TABLE_TYPE_REQUIREMENTS: - for (i=0; i<rfxbuilder->table_rows; i++) { - if (move>0) { + for (i = 0; i < rfxbuilder->table_rows; i++) { + if (move > 0) { #if !LIVES_TABLE_IS_GRID - if (i<rfxbuilder->table_rows-1) ebox2=lives_widget_get_parent(rfxbuilder->entry[i]); - lives_widget_reparent(rfxbuilder->entry[i],ebox); - ebox=ebox2; + if (i < rfxbuilder->table_rows - 1) ebox2 = lives_widget_get_parent(rfxbuilder->entry[i]); + lives_widget_reparent(rfxbuilder->entry[i], ebox); + ebox = ebox2; #endif - rfxbuilder->entry[i-1]=rfxbuilder->entry[i]; + rfxbuilder->entry[i - 1] = rfxbuilder->entry[i]; } else if (!(lives_widget_get_state(rfxbuilder->entry[i])&LIVES_WIDGET_STATE_INSENSITIVE)) { #if LIVES_TABLE_IS_GRID - lives_grid_remove_row(LIVES_GRID(rfxbuilder->table),i); + lives_grid_remove_row(LIVES_GRID(rfxbuilder->table), i); #else - ebox=lives_widget_get_parent(rfxbuilder->entry[i]); - if (rfxbuilder->table_rows>1) { - lives_table_resize(LIVES_TABLE(rfxbuilder->table),rfxbuilder->table_rows-1,1); + ebox = lives_widget_get_parent(rfxbuilder->entry[i]); + if (rfxbuilder->table_rows > 1) { + lives_table_resize(LIVES_TABLE(rfxbuilder->table), rfxbuilder->table_rows - 1, 1); } lives_widget_destroy(rfxbuilder->entry[i]); #endif - move=i+1; + move = i + 1; } } - if (move==0) return; + if (move == 0) return; rfxbuilder->table_rows--; rfxbuilder->num_reqs--; break; case RFX_TABLE_TYPE_PARAMS: - for (i=0; i<rfxbuilder->table_rows; i++) { - if (move>0) { + for (i = 0; i < rfxbuilder->table_rows; i++) { + if (move > 0) { // note - parameters become renumbered here #if !LIVES_TABLE_IS_GRID // move everything up except p%d - if (i<rfxbuilder->table_rows-1) { - ebox3=lives_widget_get_parent(rfxbuilder->entry2[i]); - ebox4=lives_widget_get_parent(rfxbuilder->entry3[i]); + if (i < rfxbuilder->table_rows - 1) { + ebox3 = lives_widget_get_parent(rfxbuilder->entry2[i]); + ebox4 = lives_widget_get_parent(rfxbuilder->entry3[i]); } - lives_widget_reparent(rfxbuilder->entry2[i],ebox); - lives_widget_reparent(rfxbuilder->entry3[i],ebox2); - ebox=ebox3; - ebox2=ebox4; + lives_widget_reparent(rfxbuilder->entry2[i], ebox); + lives_widget_reparent(rfxbuilder->entry3[i], ebox2); + ebox = ebox3; + ebox2 = ebox4; #else // move p%d up so when we remove the row the numbering is ok - entry2=rfxbuilder->entry[i]; - ebox=lives_widget_get_parent(rfxbuilder->entry[i]); + entry2 = rfxbuilder->entry[i]; + ebox = lives_widget_get_parent(rfxbuilder->entry[i]); lives_object_ref(entry2); lives_widget_unparent(entry2); - lives_container_add(LIVES_CONTAINER(ebox),entry); + lives_container_add(LIVES_CONTAINER(ebox), entry); lives_object_unref(entry); - entry=entry2; + entry = entry2; #endif - rfxbuilder->entry2[i-1]=rfxbuilder->entry2[i]; - rfxbuilder->entry3[i-1]=rfxbuilder->entry3[i]; - param_copy(&rfxbuilder->copy_params[i],&rfxbuilder->copy_params[i-1],FALSE); + rfxbuilder->entry2[i - 1] = rfxbuilder->entry2[i]; + rfxbuilder->entry3[i - 1] = rfxbuilder->entry3[i]; + param_copy(&rfxbuilder->copy_params[i], &rfxbuilder->copy_params[i - 1], FALSE); lives_free(rfxbuilder->copy_params[i].name); lives_free(rfxbuilder->copy_params[i].label); lives_free(rfxbuilder->copy_params[i].def); @@ -1792,43 +1793,43 @@ } #if LIVES_TABLE_IS_GRID - entry=rfxbuilder->entry[i]; + entry = rfxbuilder->entry[i]; lives_object_ref(entry); lives_widget_unparent(entry); - lives_grid_remove_row(LIVES_GRID(rfxbuilder->table),i); + lives_grid_remove_row(LIVES_GRID(rfxbuilder->table), i); #else - ebox=lives_widget_get_parent(rfxbuilder->entry2[i]); - ebox2=lives_widget_get_parent(rfxbuilder->entry3[i]); + ebox = lives_widget_get_parent(rfxbuilder->entry2[i]); + ebox2 = lives_widget_get_parent(rfxbuilder->entry3[i]); - lives_widget_destroy(rfxbuilder->entry[rfxbuilder->table_rows-1]); + lives_widget_destroy(rfxbuilder->entry[rfxbuilder->table_rows - 1]); lives_widget_destroy(rfxbuilder->entry2[i]); lives_widget_destroy(rfxbuilder->entry3[i]); - if (rfxbuilder->table_rows>1) { - lives_table_resize(LIVES_TABLE(rfxbuilder->table),rfxbuilder->table_rows-1,3); + if (rfxbuilder->table_rows > 1) { + lives_table_resize(LIVES_TABLE(rfxbuilder->table), rfxbuilder->table_rows - 1, 3); } #endif lives_free(rfxbuilder->copy_params[i].name); lives_free(rfxbuilder->copy_params[i].label); lives_free(rfxbuilder->copy_params[i].def); - move=i+1; + move = i + 1; } } #if LIVES_TABLE_IS_GRID - if (entry!=NULL) lives_widget_destroy(entry); + if (entry != NULL) lives_widget_destroy(entry); #endif - if (move==0) return; + if (move == 0) return; rfxbuilder->table_rows--; rfxbuilder->num_params--; - for (i=0; i<rfxbuilder->num_triggers; i++) { - if (rfxbuilder->triggers[i].when>move) { - rfxbuilder->params[rfxbuilder->triggers[i].when-1].onchange=FALSE; - rfxbuilder->params[--rfxbuilder->triggers[i].when-1].onchange=TRUE; + for (i = 0; i < rfxbuilder->num_triggers; i++) { + if (rfxbuilder->triggers[i].when > move) { + rfxbuilder->params[rfxbuilder->triggers[i].when - 1].onchange = FALSE; + rfxbuilder->params[--rfxbuilder->triggers[i].when - 1].onchange = TRUE; } - triggers_adjusted=TRUE; + triggers_adjusted = TRUE; } if (triggers_adjusted) { do_blocking_error_dialog(_("\n\nSome triggers were adjusted.\nPlease check the trigger code.\n")); @@ -1836,84 +1837,84 @@ break; case RFX_TABLE_TYPE_PARAM_WINDOW: - for (i=0; i<rfxbuilder->table_rows; i++) { - if (move>0) { + for (i = 0; i < rfxbuilder->table_rows; i++) { + if (move > 0) { #if !LIVES_TABLE_IS_GRID - if (i<rfxbuilder->table_rows-1) { - ebox3=lives_widget_get_parent(rfxbuilder->entry[i]); - ebox4=lives_widget_get_parent(rfxbuilder->entry2[i]); + if (i < rfxbuilder->table_rows - 1) { + ebox3 = lives_widget_get_parent(rfxbuilder->entry[i]); + ebox4 = lives_widget_get_parent(rfxbuilder->entry2[i]); } - lives_widget_reparent(rfxbuilder->entry[i],ebox); - lives_widget_reparent(rfxbuilder->entry2[i],ebox2); - ebox=ebox3; - ebox2=ebox4; + lives_widget_reparent(rfxbuilder->entry[i], ebox); + lives_widget_reparent(rfxbuilder->entry2[i], ebox2); + ebox = ebox3; + ebox2 = ebox4; #endif - rfxbuilder->entry[i-1]=rfxbuilder->entry[i]; - rfxbuilder->entry2[i-1]=rfxbuilder->entry2[i]; + rfxbuilder->entry[i - 1] = rfxbuilder->entry[i]; + rfxbuilder->entry2[i - 1] = rfxbuilder->entry2[i]; } else if (!(lives_widget_get_state(rfxbuilder->entry[i])&LIVES_WIDGET_STATE_INSENSITIVE)) { #if LIVES_TABLE_IS_GRID - lives_grid_remove_row(LIVES_GRID(rfxbuilder->table),i); + lives_grid_remove_row(LIVES_GRID(rfxbuilder->table), i); #else - ebox=lives_widget_get_parent(rfxbuilder->entry[i]); - ebox2=lives_widget_get_parent(rfxbuilder->entry2[i]); + ebox = lives_widget_get_parent(rfxbuilder->entry[i]); + ebox2 = lives_widget_get_parent(rfxbuilder->entry2[i]); lives_widget_destroy(rfxbuilder->entry[i]); lives_widget_destroy(rfxbuilder->entry2[i]); - if (rfxbuilder->table_rows>1) { - lives_table_resize(LIVES_TABLE(rfxbuilder->table),rfxbuilder->table_rows-1,1); + if (rfxbuilder->table_rows > 1) { + lives_table_resize(LIVES_TABLE(rfxbuilder->table), rfxbuilder->table_rows - 1, 1); } #endif - move=i+1; + move = i + 1; } } - if (move==0) return; + if (move == 0) return; rfxbuilder->table_rows--; rfxbuilder->num_paramw_hints--; break; case RFX_TABLE_TYPE_TRIGGERS: - for (i=0; i<rfxbuilder->table_rows; i++) { - if (move>0) { + for (i = 0; i < rfxbuilder->table_rows; i++) { + if (move > 0) { #if !LIVES_TABLE_IS_GRID - if (i<rfxbuilder->table_rows-1) ebox2=lives_widget_get_parent(rfxbuilder->entry[i]); - lives_widget_reparent(rfxbuilder->entry[i],ebox); - ebox=ebox2; + if (i < rfxbuilder->table_rows - 1) ebox2 = lives_widget_get_parent(rfxbuilder->entry[i]); + lives_widget_reparent(rfxbuilder->entry[i], ebox); + ebox = ebox2; #endif - rfxbuilder->entry[i-1]=rfxbuilder->entry[i]; - rfxbuilder->copy_triggers[i-1].when=rfxbuilder->copy_triggers[i].when; - rfxbuilder->copy_triggers[i-1].code=lives_strdup(rfxbuilder->copy_triggers[i].code); + rfxbuilder->entry[i - 1] = rfxbuilder->entry[i]; + rfxbuilder->copy_triggers[i - 1].when = rfxbuilder->copy_triggers[i].when; + rfxbuilder->copy_triggers[i - 1].code = lives_strdup(rfxbuilder->copy_triggers[i].code); lives_free(rfxbuilder->copy_triggers[i].code); } else if (!(lives_widget_get_state(rfxbuilder->entry[i])&LIVES_WIDGET_STATE_INSENSITIVE)) { - int when=atoi(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->entry[i])))+1; + int when = atoi(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->entry[i]))) + 1; - if (!strcmp(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->entry[i])),"init")) rfxbuilder->has_init_trigger=FALSE; - else rfxbuilder->params[when-1].onchange=FALSE; + if (!strcmp(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->entry[i])), "init")) rfxbuilder->has_init_trigger = FALSE; + else rfxbuilder->params[when - 1].onchange = FALSE; lives_free(rfxbuilder->copy_triggers[i].code); #if LIVES_TABLE_IS_GRID - lives_grid_remove_row(LIVES_GRID(rfxbuilder->table),i); + lives_grid_remove_row(LIVES_GRID(rfxbuilder->table), i); #else - ebox=lives_widget_get_parent(rfxbuilder->entry[i]); - if (rfxbuilder->table_rows>1) { - lives_table_resize(LIVES_TABLE(rfxbuilder->table),rfxbuilder->table_rows-1,1); + ebox = lives_widget_get_parent(rfxbuilder->entry[i]); + if (rfxbuilder->table_rows > 1) { + lives_table_resize(LIVES_TABLE(rfxbuilder->table), rfxbuilder->table_rows - 1, 1); } lives_widget_destroy(rfxbuilder->entry[i]); #endif - move=i+1; + move = i + 1; } } - if (move==0) return; + if (move == 0) return; rfxbuilder->table_rows--; rfxbuilder->num_triggers--; - if (rfxbuilder->table_rows<=rfxbuilder->num_params) { - lives_widget_set_sensitive(rfxbuilder->new_entry_button,TRUE); + if (rfxbuilder->table_rows <= rfxbuilder->num_params) { + lives_widget_set_sensitive(rfxbuilder->new_entry_button, TRUE); } break; @@ -1921,14 +1922,14 @@ return; } - if (rfxbuilder->table_rows==0) { - lives_widget_set_sensitive(rfxbuilder->edit_entry_button,FALSE); - lives_widget_set_sensitive(rfxbuilder->remove_entry_button,FALSE); - if (rfxbuilder->move_up_button!=NULL) lives_widget_set_sensitive(rfxbuilder->move_up_button,FALSE); - if (rfxbuilder->move_down_button!=NULL) lives_widget_set_sensitive(rfxbuilder->move_down_button,FALSE); + if (rfxbuilder->table_rows == 0) { + lives_widget_set_sensitive(rfxbuilder->edit_entry_button, FALSE); + lives_widget_set_sensitive(rfxbuilder->remove_entry_button, FALSE); + if (rfxbuilder->move_up_button != NULL) lives_widget_set_sensitive(rfxbuilder->move_up_button, FALSE); + if (rfxbuilder->move_down_button != NULL) lives_widget_set_sensitive(rfxbuilder->move_down_button, FALSE); } else { - if (move>=rfxbuilder->table_rows) move=rfxbuilder->table_rows-1; - table_select_row(rfxbuilder,move); + if (move >= rfxbuilder->table_rows) move = rfxbuilder->table_rows - 1; + table_select_row(rfxbuilder, move); } } @@ -1938,39 +1939,39 @@ LiVESWidget *dialog; LiVESWidget *dialog_vbox; - LiVESAccelGroup *accel_group=LIVES_ACCEL_GROUP(lives_accel_group_new()); + LiVESAccelGroup *accel_group = LIVES_ACCEL_GROUP(lives_accel_group_new()); - LiVESList *typelist=NULL; + LiVESList *typelist = NULL; lives_colRGB48_t rgb; - char *tmp,*tmp2,*title; + char *tmp, *tmp2, *title; - if (pnum<0) { - title=lives_strdup(_("New RFX Parameter")); + if (pnum < 0) { + title = lives_strdup(_("New RFX Parameter")); } else { - title=lives_strdup(_("Edit RFX Parameter")); + title = lives_strdup(_("Edit RFX Parameter")); } - dialog = lives_standard_dialog_new(title,TRUE,-1,-1); + dialog = lives_standard_dialog_new(title, TRUE, -1, -1); lives_free(title); lives_window_add_accel_group(LIVES_WINDOW(dialog), accel_group); if (prefs->show_gui) { - lives_window_set_transient_for(LIVES_WINDOW(dialog),LIVES_WINDOW(mainw->LiVES)); + lives_window_set_transient_for(LIVES_WINDOW(dialog), LIVES_WINDOW(mainw->LiVES)); } dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(dialog)); // name - rfxbuilder->param_name_entry = lives_standard_entry_new((tmp=lives_strdup(_("_Name: "))),TRUE, - pnum>=0?rfxbuilder->copy_params[pnum].name:NULL, - 60.*widget_opts.scale,-1,LIVES_BOX(dialog_vbox), - (tmp2=lives_strdup((_("Name of the parameter, must be unique in the plugin."))))); + rfxbuilder->param_name_entry = lives_standard_entry_new((tmp = lives_strdup(_("_Name: "))), TRUE, + pnum >= 0 ? rfxbuilder->copy_params[pnum].name : NULL, + 60.*widget_opts.scale, -1, LIVES_BOX(dialog_vbox), + (tmp2 = lives_strdup((_("Name of the parameter, must be unique in the plugin."))))); - if (pnum<0) lives_widget_grab_focus(rfxbuilder->param_name_entry); + if (pnum < 0) lives_widget_grab_focus(rfxbuilder->param_name_entry); lives_free(tmp); @@ -1978,10 +1979,10 @@ // label - rfxbuilder->param_label_entry = lives_standard_entry_new((tmp=lives_strdup(_("_Label: "))),TRUE, - pnum>=0?rfxbuilder->copy_params[pnum].label:NULL, - 60.*widget_opts.scale,-1,LIVES_BOX(dialog_vbox), - (tmp2=lives_strdup(_("Label to be shown by the parameter. An underscore represents mnemonic accelerator.")))); + rfxbuilder->param_label_entry = lives_standard_entry_new((tmp = lives_strdup(_("_Label: "))), TRUE, + pnum >= 0 ? rfxbuilder->copy_params[pnum].label : NULL, + 60.*widget_opts.scale, -1, LIVES_BOX(dialog_vbox), + (tmp2 = lives_strdup(_("Label to be shown by the parameter. An underscore represents mnemonic accelerator.")))); lives_free(tmp); lives_free(tmp2); @@ -1993,50 +1994,52 @@ typelist = lives_list_append(typelist, (livespointer)"colRGB24"); typelist = lives_list_append(typelist, (livespointer)"string_list"); - rfxbuilder->param_type_combo = lives_standard_combo_new((tmp=lives_strdup(_("_Type: "))),TRUE,typelist, - LIVES_BOX(dialog_vbox),(tmp2=lives_strdup(_("Parameter type (select from list).")))); + rfxbuilder->param_type_combo = lives_standard_combo_new((tmp = lives_strdup(_("_Type: "))), TRUE, typelist, + LIVES_BOX(dialog_vbox), (tmp2 = lives_strdup(_("Parameter type (select from list).")))); lives_free(tmp); lives_free(tmp2); lives_list_free(typelist); - rfxbuilder->edit_param=pnum; + rfxbuilder->edit_param = pnum; - if (pnum>=0) { + if (pnum >= 0) { switch (rfxbuilder->copy_params[pnum].type) { case LIVES_PARAM_NUM: - lives_combo_set_active_index(LIVES_COMBO(rfxbuilder->param_type_combo),0); + lives_combo_set_active_index(LIVES_COMBO(rfxbuilder->param_type_combo), 0); break; case LIVES_PARAM_BOOL: - lives_combo_set_active_index(LIVES_COMBO(rfxbuilder->param_type_combo),1); + lives_combo_set_active_index(LIVES_COMBO(rfxbuilder->param_type_combo), 1); break; case LIVES_PARAM_STRING: - lives_combo_set_active_index(LIVES_COMBO(rfxbuilder->param_type_combo),2); + lives_combo_set_active_index(LIVES_COMBO(rfxbuilder->param_type_combo), 2); break; case LIVES_PARAM_COLRGB24: - lives_combo_set_active_index(LIVES_COMBO(rfxbuilder->param_type_combo),3); + lives_combo_set_active_index(LIVES_COMBO(rfxbuilder->param_type_combo), 3); break; case LIVES_PARAM_STRING_LIST: - lives_combo_set_active_index(LIVES_COMBO(rfxbuilder->param_type_combo),4); + lives_combo_set_active_index(LIVES_COMBO(rfxbuilder->param_type_combo), 4); break; default: break; } - } else rfxbuilder->edit_param=rfxbuilder->num_params; + } else rfxbuilder->edit_param = rfxbuilder->num_params; // dp - rfxbuilder->spinbutton_param_dp = lives_standard_spin_button_new(_("Decimal _places: "),TRUE,pnum>=0?rfxbuilder->copy_params[pnum].dp:0., + rfxbuilder->spinbutton_param_dp = lives_standard_spin_button_new(_("Decimal _places: "), TRUE, + pnum >= 0 ? rfxbuilder->copy_params[pnum].dp : 0., 0., 16., 1., 1., 0, - LIVES_BOX(dialog_vbox),NULL); + LIVES_BOX(dialog_vbox), NULL); rfxbuilder->param_dp_label = widget_opts.last_label; add_hsep_to_box(LIVES_BOX(dialog_vbox)); // default val - rfxbuilder->spinbutton_param_def = lives_standard_spin_button_new(_("_Default value: "),TRUE, 0., -LIVES_MAXINT, LIVES_MAXINT, 1., 1., 0, - LIVES_BOX(dialog_vbox),NULL); + rfxbuilder->spinbutton_param_def = lives_standard_spin_button_new(_("_Default value: "), TRUE, 0., -LIVES_MAXINT, LIVES_MAXINT, 1., 1., + 0, + LIVES_BOX(dialog_vbox), NULL); rfxbuilder->param_def_label = widget_opts.last_label; // extra bits for string/string_list @@ -2045,17 +2048,17 @@ lives_box_pack_start(LIVES_BOX(dialog_vbox), rfxbuilder->param_strdef_hbox, TRUE, TRUE, widget_opts.packing_height); rfxbuilder->param_strdef_button = lives_button_new(); - lives_button_set_use_underline(LIVES_BUTTON(rfxbuilder->param_strdef_button),TRUE); + lives_button_set_use_underline(LIVES_BUTTON(rfxbuilder->param_strdef_button), TRUE); lives_box_pack_start(LIVES_BOX(rfxbuilder->param_strdef_hbox), rfxbuilder->param_strdef_button, TRUE, TRUE, widget_opts.packing_width); rfxbuilder->param_strlist_hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(dialog_vbox), rfxbuilder->param_strlist_hbox, FALSE, FALSE, widget_opts.packing_width); - rfxbuilder->param_def_combo = lives_standard_combo_new(_("_Default: "),TRUE,NULL,LIVES_BOX(rfxbuilder->param_strlist_hbox),NULL); + rfxbuilder->param_def_combo = lives_standard_combo_new(_("_Default: "), TRUE, NULL, LIVES_BOX(rfxbuilder->param_strlist_hbox), NULL); - lives_label_set_mnemonic_widget(LIVES_LABEL(rfxbuilder->param_def_label),rfxbuilder->param_def_combo); + lives_label_set_mnemonic_widget(LIVES_LABEL(rfxbuilder->param_def_label), rfxbuilder->param_def_combo); - if (pnum>=0) { + if (pnum >= 0) { switch (rfxbuilder->copy_params[pnum].type) { case LIVES_PARAM_NUM: if (!rfxbuilder->copy_params[pnum].dp) { @@ -2071,8 +2074,8 @@ (double)get_bool_param(rfxbuilder->copy_params[pnum].def)); break; case LIVES_PARAM_COLRGB24: - get_colRGB24_param(rfxbuilder->copy_params[pnum].def,&rgb); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def),(double)rgb.red); + get_colRGB24_param(rfxbuilder->copy_params[pnum].def, &rgb); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def), (double)rgb.red); break; default: break; @@ -2084,25 +2087,26 @@ rfxbuilder->hbox_bg = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(dialog_vbox), rfxbuilder->hbox_bg, FALSE, FALSE, widget_opts.packing_height); - rfxbuilder->spinbutton_param_group = lives_standard_spin_button_new((tmp=lives_strdup(_("Button _Group: "))),TRUE,0., 0., 16., 1., 1., 0, + rfxbuilder->spinbutton_param_group = lives_standard_spin_button_new((tmp = lives_strdup(_("Button _Group: "))), TRUE, 0., 0., 16., 1., 1., + 0, LIVES_BOX(rfxbuilder->hbox_bg), - (tmp2=lives_strdup(_("A non-zero value can be used to group radio buttons.")))); + (tmp2 = lives_strdup(_("A non-zero value can be used to group radio buttons.")))); - if (pnum>=0) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_group),(double)rfxbuilder->copy_params[pnum].group); + if (pnum >= 0) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_group), (double)rfxbuilder->copy_params[pnum].group); } // min - rfxbuilder->spinbutton_param_min = lives_standard_spin_button_new(_("_Minimum value: "),TRUE,0., -LIVES_MAXINT, LIVES_MAXINT, 1., 1., 0, - LIVES_BOX(dialog_vbox),NULL); + rfxbuilder->spinbutton_param_min = lives_standard_spin_button_new(_("_Minimum value: "), TRUE, 0., -LIVES_MAXINT, LIVES_MAXINT, 1., 1., 0, + LIVES_BOX(dialog_vbox), NULL); rfxbuilder->param_min_label = widget_opts.last_label; // max - rfxbuilder->spinbutton_param_max = lives_standard_spin_button_new(_("Ma_ximum value: "),TRUE, RFX_DEF_NUM_MAX, -LIVES_MAXINT, LIVES_MAXINT, + rfxbuilder->spinbutton_param_max = lives_standard_spin_button_new(_("Ma_ximum value: "), TRUE, RFX_DEF_NUM_MAX, -LIVES_MAXINT, LIVES_MAXINT, 1., 1., 0, - LIVES_BOX(dialog_vbox),NULL); + LIVES_BOX(dialog_vbox), NULL); rfxbuilder->param_max_label = widget_opts.last_label; @@ -2110,10 +2114,11 @@ - rfxbuilder->spinbutton_param_step = lives_standard_spin_button_new((tmp=lives_strdup(_(" _Step size: "))),TRUE,1., 1., LIVES_MAXINT, + rfxbuilder->spinbutton_param_step = lives_standard_spin_button_new((tmp = lives_strdup(_(" _Step size: "))), TRUE, 1., 1., + LIVES_MAXINT, 1., 1., 0, LIVES_BOX(dialog_vbox), - (tmp2=lives_strdup(_( + (tmp2 = lives_strdup(_( "How much the parameter is adjusted when the spinbutton arrows are pressed." )))); rfxbuilder->param_step_label = widget_opts.last_label; @@ -2126,9 +2131,9 @@ rfxbuilder->param_wrap_hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(dialog_vbox), rfxbuilder->param_wrap_hbox, TRUE, TRUE, widget_opts.packing_height); - rfxbuilder->param_wrap_checkbutton = lives_standard_check_button_new((tmp=lives_strdup(_("_Wrap value"))),TRUE, + rfxbuilder->param_wrap_checkbutton = lives_standard_check_button_new((tmp = lives_strdup(_("_Wrap value"))), TRUE, LIVES_BOX(rfxbuilder->param_wrap_hbox), - (tmp2=lives_strdup(_("Whether the value wraps max->min and min->max.")))); + (tmp2 = lives_strdup(_("Whether the value wraps max->min and min->max.")))); lives_free(tmp); lives_free(tmp2); @@ -2139,132 +2144,133 @@ LIVES_GUI_CALLBACK(on_code_clicked), (livespointer)rfxbuilder); - lives_signal_connect(LIVES_GUI_OBJECT(rfxbuilder->param_type_combo),LIVES_WIDGET_CHANGED_SIGNAL,LIVES_GUI_CALLBACK(on_param_type_changed), + lives_signal_connect(LIVES_GUI_OBJECT(rfxbuilder->param_type_combo), LIVES_WIDGET_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(on_param_type_changed), (livespointer)rfxbuilder); lives_signal_connect_after(LIVES_GUI_OBJECT(rfxbuilder->spinbutton_param_dp), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(after_param_dp_changed), (livespointer)rfxbuilder); - rfxbuilder->def_spin_f=lives_signal_connect_after(LIVES_GUI_OBJECT(rfxbuilder->spinbutton_param_def), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, - LIVES_GUI_CALLBACK(after_param_def_changed), - (livespointer)rfxbuilder); + rfxbuilder->def_spin_f = lives_signal_connect_after(LIVES_GUI_OBJECT(rfxbuilder->spinbutton_param_def), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, + LIVES_GUI_CALLBACK(after_param_def_changed), + (livespointer)rfxbuilder); - rfxbuilder->min_spin_f=lives_signal_connect_after(LIVES_GUI_OBJECT(rfxbuilder->spinbutton_param_min), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, - LIVES_GUI_CALLBACK(after_param_min_changed), - (livespointer)rfxbuilder); + rfxbuilder->min_spin_f = lives_signal_connect_after(LIVES_GUI_OBJECT(rfxbuilder->spinbutton_param_min), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, + LIVES_GUI_CALLBACK(after_param_min_changed), + (livespointer)rfxbuilder); - rfxbuilder->max_spin_f=lives_signal_connect_after(LIVES_GUI_OBJECT(rfxbuilder->spinbutton_param_max), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, - LIVES_GUI_CALLBACK(after_param_max_changed), - (livespointer)rfxbuilder); + rfxbuilder->max_spin_f = lives_signal_connect_after(LIVES_GUI_OBJECT(rfxbuilder->spinbutton_param_max), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, + LIVES_GUI_CALLBACK(after_param_max_changed), + (livespointer)rfxbuilder); - if (pnum>=0) { + if (pnum >= 0) { switch (rfxbuilder->copy_params[pnum].type) { case LIVES_PARAM_NUM: - lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min),rfxbuilder->copy_params[pnum].min); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max),rfxbuilder->copy_params[pnum].max); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min), rfxbuilder->copy_params[pnum].min); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max), rfxbuilder->copy_params[pnum].max); lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_step), rfxbuilder->copy_params[pnum].step_size); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(rfxbuilder->param_wrap_checkbutton), rfxbuilder->copy_params[pnum].wrap); break; case LIVES_PARAM_COLRGB24: - lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min),(double)rgb.green); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max),(double)rgb.blue); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min), (double)rgb.green); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max), (double)rgb.blue); break; case LIVES_PARAM_STRING: - lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max),rfxbuilder->copy_params[pnum].max); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max), rfxbuilder->copy_params[pnum].max); break; default: break; } } lives_widget_show_all(dialog); - on_param_type_changed(LIVES_COMBO(rfxbuilder->param_type_combo),(livespointer)rfxbuilder); - after_param_dp_changed(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_dp),(livespointer)rfxbuilder); + on_param_type_changed(LIVES_COMBO(rfxbuilder->param_type_combo), (livespointer)rfxbuilder); + after_param_dp_changed(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_dp), (livespointer)rfxbuilder); return dialog; } void after_param_dp_changed(LiVESSpinButton *spinbutton, livespointer user_data) { - rfx_build_window_t *rfxbuilder=(rfx_build_window_t *)user_data; - char *ctext=lives_combo_get_active_text(LIVES_COMBO(rfxbuilder->param_type_combo)); + rfx_build_window_t *rfxbuilder = (rfx_build_window_t *)user_data; + char *ctext = lives_combo_get_active_text(LIVES_COMBO(rfxbuilder->param_type_combo)); int dp; - if (strcmp(ctext,"num")) { + if (strcmp(ctext, "num")) { lives_free(ctext); return; } lives_free(ctext); - dp=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); + dp = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); - lives_spin_button_set_digits(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def),dp); - lives_spin_button_set_digits(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min),dp); - lives_spin_button_set_digits(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max),dp); - lives_spin_button_set_digits(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_step),dp); - - if (dp>0) { - double max=lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max)); - double min=lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min)); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def),-LIVES_MAXFLOAT,LIVES_MAXFLOAT); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min),-LIVES_MAXFLOAT,LIVES_MAXFLOAT); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max),-LIVES_MAXFLOAT,LIVES_MAXFLOAT); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_step),1./(double)lives_10pow(dp),(max-min)>1.?(max-min):1.); - - lives_entry_set_width_chars(LIVES_ENTRY(rfxbuilder->spinbutton_param_step),MAXFLOATLEN+dp); - lives_entry_set_width_chars(LIVES_ENTRY(rfxbuilder->spinbutton_param_def),MAXFLOATLEN+dp); - lives_entry_set_width_chars(LIVES_ENTRY(rfxbuilder->spinbutton_param_min),MAXFLOATLEN+dp); - lives_entry_set_width_chars(LIVES_ENTRY(rfxbuilder->spinbutton_param_max),MAXFLOATLEN+dp); + lives_spin_button_set_digits(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def), dp); + lives_spin_button_set_digits(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min), dp); + lives_spin_button_set_digits(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max), dp); + lives_spin_button_set_digits(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_step), dp); + + if (dp > 0) { + double max = lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max)); + double min = lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min)); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def), -LIVES_MAXFLOAT, LIVES_MAXFLOAT); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min), -LIVES_MAXFLOAT, LIVES_MAXFLOAT); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max), -LIVES_MAXFLOAT, LIVES_MAXFLOAT); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_step), 1. / (double)lives_10pow(dp), + (max - min) > 1. ? (max - min) : 1.); + + lives_entry_set_width_chars(LIVES_ENTRY(rfxbuilder->spinbutton_param_step), MAXFLOATLEN + dp); + lives_entry_set_width_chars(LIVES_ENTRY(rfxbuilder->spinbutton_param_def), MAXFLOATLEN + dp); + lives_entry_set_width_chars(LIVES_ENTRY(rfxbuilder->spinbutton_param_min), MAXFLOATLEN + dp); + lives_entry_set_width_chars(LIVES_ENTRY(rfxbuilder->spinbutton_param_max), MAXFLOATLEN + dp); } else { - int max=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max)); - int min=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min)); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def),-LIVES_MAXINT,LIVES_MAXINT); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min),-LIVES_MAXINT,LIVES_MAXINT); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max),-LIVES_MAXINT,LIVES_MAXINT); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_step),1,(max-min)>1?(max-min):1); - - lives_entry_set_width_chars(LIVES_ENTRY(rfxbuilder->spinbutton_param_step),MAXINTLEN); - lives_entry_set_width_chars(LIVES_ENTRY(rfxbuilder->spinbutton_param_def),MAXINTLEN); - lives_entry_set_width_chars(LIVES_ENTRY(rfxbuilder->spinbutton_param_min),MAXINTLEN); - lives_entry_set_width_chars(LIVES_ENTRY(rfxbuilder->spinbutton_param_max),MAXINTLEN); + int max = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max)); + int min = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min)); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def), -LIVES_MAXINT, LIVES_MAXINT); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min), -LIVES_MAXINT, LIVES_MAXINT); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max), -LIVES_MAXINT, LIVES_MAXINT); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_step), 1, (max - min) > 1 ? (max - min) : 1); + + lives_entry_set_width_chars(LIVES_ENTRY(rfxbuilder->spinbutton_param_step), MAXINTLEN); + lives_entry_set_width_chars(LIVES_ENTRY(rfxbuilder->spinbutton_param_def), MAXINTLEN); + lives_entry_set_width_chars(LIVES_ENTRY(rfxbuilder->spinbutton_param_min), MAXINTLEN); + lives_entry_set_width_chars(LIVES_ENTRY(rfxbuilder->spinbutton_param_max), MAXINTLEN); } } void after_param_min_changed(LiVESSpinButton *spinbutton, livespointer user_data) { - rfx_build_window_t *rfxbuilder=(rfx_build_window_t *)user_data; + rfx_build_window_t *rfxbuilder = (rfx_build_window_t *)user_data; int dp; - char *ctext=lives_combo_get_active_text(LIVES_COMBO(rfxbuilder->param_type_combo)); + char *ctext = lives_combo_get_active_text(LIVES_COMBO(rfxbuilder->param_type_combo)); - if (strcmp(ctext,"num")) { + if (strcmp(ctext, "num")) { lives_free(ctext); return; } lives_free(ctext); - lives_signal_handler_block(rfxbuilder->spinbutton_param_max,rfxbuilder->max_spin_f); - lives_signal_handler_block(rfxbuilder->spinbutton_param_def,rfxbuilder->def_spin_f); + lives_signal_handler_block(rfxbuilder->spinbutton_param_max, rfxbuilder->max_spin_f); + lives_signal_handler_block(rfxbuilder->spinbutton_param_def, rfxbuilder->def_spin_f); - if ((dp=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_dp)))>0) { - if (lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def))< + if ((dp = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_dp))) > 0) { + if (lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def)) < lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min))) { lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def), lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min))); } lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max), - lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min)),LIVES_MAXFLOAT); + lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min)), LIVES_MAXFLOAT); lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_step), - 1./(double)lives_10pow(dp),lives_spin_button_get_value - (LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max))- + 1. / (double)lives_10pow(dp), lives_spin_button_get_value + (LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max)) - lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min))); } else { - if (lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def))< + if (lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def)) < lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min))) { lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def), lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min))); @@ -2273,71 +2279,71 @@ lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max), lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min)), LIVES_MAXINT); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_step),1, - lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max))- + lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_step), 1, + lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max)) - lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min))); } - lives_signal_handler_unblock(rfxbuilder->spinbutton_param_max,rfxbuilder->max_spin_f); - lives_signal_handler_unblock(rfxbuilder->spinbutton_param_def,rfxbuilder->def_spin_f); + lives_signal_handler_unblock(rfxbuilder->spinbutton_param_max, rfxbuilder->max_spin_f); + lives_signal_handler_unblock(rfxbuilder->spinbutton_param_def, rfxbuilder->def_spin_f); } void after_param_max_changed(LiVESSpinButton *spinbutton, livespointer user_data) { - rfx_build_window_t *rfxbuilder=(rfx_build_window_t *)user_data; + rfx_build_window_t *rfxbuilder = (rfx_build_window_t *)user_data; int dp; - char *ctext=lives_combo_get_active_text(LIVES_COMBO(rfxbuilder->param_type_combo)); + char *ctext = lives_combo_get_active_text(LIVES_COMBO(rfxbuilder->param_type_combo)); - if (strcmp(ctext,"num")) { + if (strcmp(ctext, "num")) { lives_free(ctext); return; } lives_free(ctext); - lives_signal_handler_block(rfxbuilder->spinbutton_param_min,rfxbuilder->min_spin_f); - lives_signal_handler_block(rfxbuilder->spinbutton_param_def,rfxbuilder->def_spin_f); + lives_signal_handler_block(rfxbuilder->spinbutton_param_min, rfxbuilder->min_spin_f); + lives_signal_handler_block(rfxbuilder->spinbutton_param_def, rfxbuilder->def_spin_f); - if ((dp=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_dp)))>0) { - if (lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def))> + if ((dp = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_dp))) > 0) { + if (lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def)) > lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max))) { lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def), lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max))); } - lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min),-LIVES_MAXFLOAT, + lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min), -LIVES_MAXFLOAT, lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max))); lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_step), - 1./(double)lives_10pow(dp), - lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max))- + 1. / (double)lives_10pow(dp), + lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max)) - lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min))); } else { - if (lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def))> + if (lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def)) > lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max))) { lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def), lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max))); } - lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min),-LIVES_MAXINT, + lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min), -LIVES_MAXINT, lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max))); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_step),1, + lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_step), 1, lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max)) - -lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min))); + - lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min))); } - lives_signal_handler_unblock(rfxbuilder->spinbutton_param_min,rfxbuilder->min_spin_f); - lives_signal_handler_unblock(rfxbuilder->spinbutton_param_def,rfxbuilder->def_spin_f); + lives_signal_handler_unblock(rfxbuilder->spinbutton_param_min, rfxbuilder->min_spin_f); + lives_signal_handler_unblock(rfxbuilder->spinbutton_param_def, rfxbuilder->def_spin_f); } void after_param_def_changed(LiVESSpinButton *spinbutton, livespointer user_data) { - rfx_build_window_t *rfxbuilder=(rfx_build_window_t *)user_data; - char *ctext=lives_combo_get_active_text(LIVES_COMBO(rfxbuilder->param_type_combo)); + rfx_build_window_t *rfxbuilder = (rfx_build_window_t *)user_data; + char *ctext = lives_combo_get_active_text(LIVES_COMBO(rfxbuilder->param_type_combo)); - if (strcmp(ctext,"num")) { + if (strcmp(ctext, "num")) { lives_free(ctext); return; } @@ -2345,18 +2351,18 @@ lives_free(ctext); if (lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_dp))) { - double dbl_def=lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def)); - if (dbl_def<lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min))) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min),dbl_def); - } else if (dbl_def>lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max))) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max),dbl_def); + double dbl_def = lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def)); + if (dbl_def < lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min))) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min), dbl_def); + } else if (dbl_def > lives_spin_button_get_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max))) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max), dbl_def); } } else { - int int_def=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def)); - if (int_def<lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min))) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min),(double)int_def); - } else if (int_def>lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max))) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max),(double)int_def); + int int_def = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def)); + if (int_def < lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min))) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min), (double)int_def); + } else if (int_def > lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max))) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max), (double)int_def); } } } @@ -2364,10 +2370,10 @@ void on_param_type_changed(LiVESCombo *param_type_combo, livespointer user_data) { - rfx_build_window_t *rfxbuilder=(rfx_build_window_t *)user_data; - int pnum=rfxbuilder->edit_param; + rfx_build_window_t *rfxbuilder = (rfx_build_window_t *)user_data; + int pnum = rfxbuilder->edit_param; - char *ctext=lives_combo_get_active_text(LIVES_COMBO(rfxbuilder->param_type_combo)); + char *ctext = lives_combo_get_active_text(LIVES_COMBO(rfxbuilder->param_type_combo)); lives_widget_show(rfxbuilder->param_min_label); lives_widget_show(rfxbuilder->param_max_label); @@ -2385,31 +2391,31 @@ lives_widget_hide(rfxbuilder->param_step_label); lives_widget_hide(rfxbuilder->param_wrap_hbox); - if (pnum<0) return; + if (pnum < 0) return; - if (!strcmp(ctext,"string_list")) { + if (!strcmp(ctext, "string_list")) { int defindex; - if (rfxbuilder->copy_params[pnum].type!=LIVES_PARAM_STRING_LIST) { - if (rfxbuilder->copy_params[pnum].def!=NULL) { + if (rfxbuilder->copy_params[pnum].type != LIVES_PARAM_STRING_LIST) { + if (rfxbuilder->copy_params[pnum].def != NULL) { lives_free(rfxbuilder->copy_params[pnum].def); } - rfxbuilder->copy_params[pnum].def=lives_malloc(sizint); - set_int_param(rfxbuilder->copy_params[pnum].def,0); + rfxbuilder->copy_params[pnum].def = lives_malloc(sizint); + set_int_param(rfxbuilder->copy_params[pnum].def, 0); } - rfxbuilder->copy_params[pnum].type=LIVES_PARAM_STRING_LIST; - defindex=get_int_param(rfxbuilder->copy_params[pnum].def); + rfxbuilder->copy_params[pnum].type = LIVES_PARAM_STRING_LIST; + defindex = get_int_param(rfxbuilder->copy_params[pnum].def); lives_combo_populate(LIVES_COMBO(rfxbuilder->param_def_combo), rfxbuilder->copy_params[pnum].list); - if (rfxbuilder->copy_params[pnum].list==NULL||defindex>lives_list_length(rfxbuilder->copy_params[pnum].list)) { - set_int_param(rfxbuilder->copy_params[pnum].def,(defindex=0)); + if (rfxbuilder->copy_params[pnum].list == NULL || defindex > lives_list_length(rfxbuilder->copy_params[pnum].list)) { + set_int_param(rfxbuilder->copy_params[pnum].def, (defindex = 0)); } - if (rfxbuilder->copy_params[pnum].list!=NULL) { + if (rfxbuilder->copy_params[pnum].list != NULL) { lives_combo_set_active_string(LIVES_COMBO(rfxbuilder->param_def_combo), - (char *)lives_list_nth_data(rfxbuilder->copy_params[pnum].list,defindex)); + (char *)lives_list_nth_data(rfxbuilder->copy_params[pnum].list, defindex)); } lives_widget_hide(rfxbuilder->spinbutton_param_dp); @@ -2421,30 +2427,30 @@ lives_widget_hide(rfxbuilder->spinbutton_param_max); lives_widget_hide(rfxbuilder->param_max_label); - lives_button_set_label(LIVES_BUTTON(rfxbuilder->param_strdef_button),(_("Set _values"))); + lives_button_set_label(LIVES_BUTTON(rfxbuilder->param_strdef_button), (_("Set _values"))); lives_widget_show(rfxbuilder->param_strdef_hbox); lives_widget_show(rfxbuilder->param_strlist_hbox); } else { - if (!strcmp(ctext,"num")) { - rfxbuilder->copy_params[pnum].type=LIVES_PARAM_NUM; - lives_label_set_text_with_mnemonic(LIVES_LABEL(rfxbuilder->param_def_label),(_("_Default value: "))); - lives_label_set_text_with_mnemonic(LIVES_LABEL(rfxbuilder->param_min_label),(_("_Minimum value: "))); - lives_label_set_text_with_mnemonic(LIVES_LABEL(rfxbuilder->param_max_label),(_("Ma_ximum value: "))); + if (!strcmp(ctext, "num")) { + rfxbuilder->copy_params[pnum].type = LIVES_PARAM_NUM; + lives_label_set_text_with_mnemonic(LIVES_LABEL(rfxbuilder->param_def_label), (_("_Default value: "))); + lives_label_set_text_with_mnemonic(LIVES_LABEL(rfxbuilder->param_min_label), (_("_Minimum value: "))); + lives_label_set_text_with_mnemonic(LIVES_LABEL(rfxbuilder->param_max_label), (_("Ma_ximum value: "))); lives_widget_show(rfxbuilder->spinbutton_param_step); lives_widget_show(rfxbuilder->param_step_label); lives_widget_show_all(rfxbuilder->param_wrap_hbox); - after_param_dp_changed(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_dp),(livespointer)rfxbuilder); + after_param_dp_changed(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_dp), (livespointer)rfxbuilder); - if (pnum<0) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min),0.); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max),RFX_DEF_NUM_MAX); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def),0.); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_step),1.); - } - } else if (!strcmp(ctext,"bool")) { - rfxbuilder->copy_params[pnum].type=LIVES_PARAM_BOOL; - lives_label_set_text_with_mnemonic(LIVES_LABEL(rfxbuilder->param_def_label),(_("_Default value: "))); + if (pnum < 0) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min), 0.); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max), RFX_DEF_NUM_MAX); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def), 0.); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_step), 1.); + } + } else if (!strcmp(ctext, "bool")) { + rfxbuilder->copy_params[pnum].type = LIVES_PARAM_BOOL; + lives_label_set_text_with_mnemonic(LIVES_LABEL(rfxbuilder->param_def_label), (_("_Default value: "))); lives_widget_hide(rfxbuilder->param_min_label); lives_widget_hide(rfxbuilder->param_max_label); lives_widget_hide(rfxbuilder->spinbutton_param_min); @@ -2452,50 +2458,50 @@ lives_widget_hide(rfxbuilder->spinbutton_param_dp); lives_widget_hide(rfxbuilder->param_dp_label); lives_widget_show(rfxbuilder->hbox_bg); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def),0,1); - lives_spin_button_set_digits(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def),0); - lives_spin_button_set_digits(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min),0); - lives_spin_button_set_digits(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max),0); - } else if (!strcmp(ctext,"colRGB24")) { - rfxbuilder->copy_params[pnum].type=LIVES_PARAM_COLRGB24; + lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def), 0, 1); + lives_spin_button_set_digits(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def), 0); + lives_spin_button_set_digits(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min), 0); + lives_spin_button_set_digits(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max), 0); + } else if (!strcmp(ctext, "colRGB24")) { + rfxbuilder->copy_params[pnum].type = LIVES_PARAM_COLRGB24; lives_widget_hide(rfxbuilder->spinbutton_param_dp); lives_widget_hide(rfxbuilder->param_dp_label); - lives_label_set_text_with_mnemonic(LIVES_LABEL(rfxbuilder->param_def_label),(_("Default _Red: "))); - lives_label_set_text_with_mnemonic(LIVES_LABEL(rfxbuilder->param_min_label),(_("Default _Green:"))); - lives_label_set_text_with_mnemonic(LIVES_LABEL(rfxbuilder->param_max_label),(_("Default _Blue: "))); - lives_entry_set_width_chars(LIVES_ENTRY(rfxbuilder->spinbutton_param_def),4); - lives_entry_set_width_chars(LIVES_ENTRY(rfxbuilder->spinbutton_param_min),4); - lives_entry_set_width_chars(LIVES_ENTRY(rfxbuilder->spinbutton_param_max),4); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def),0,255); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min),0,255); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max),0,255); - lives_spin_button_set_digits(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def),0); - lives_spin_button_set_digits(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min),0); - lives_spin_button_set_digits(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max),0); - if (pnum<0) { - lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max),0.); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min),0.); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def),0.); + lives_label_set_text_with_mnemonic(LIVES_LABEL(rfxbuilder->param_def_label), (_("Default _Red: "))); + lives_label_set_text_with_mnemonic(LIVES_LABEL(rfxbuilder->param_min_label), (_("Default _Green:"))); + lives_label_set_text_with_mnemonic(LIVES_LABEL(rfxbuilder->param_max_label), (_("Default _Blue: "))); + lives_entry_set_width_chars(LIVES_ENTRY(rfxbuilder->spinbutton_param_def), 4); + lives_entry_set_width_chars(LIVES_ENTRY(rfxbuilder->spinbutton_param_min), 4); + lives_entry_set_width_chars(LIVES_ENTRY(rfxbuilder->spinbutton_param_max), 4); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def), 0, 255); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min), 0, 255); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max), 0, 255); + lives_spin_button_set_digits(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def), 0); + lives_spin_button_set_digits(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min), 0); + lives_spin_button_set_digits(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max), 0); + if (pnum < 0) { + lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max), 0.); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_min), 0.); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def), 0.); } - } else if (!strcmp(ctext,"string")) { - rfxbuilder->copy_params[pnum].type=LIVES_PARAM_STRING; + } else if (!strcmp(ctext, "string")) { + rfxbuilder->copy_params[pnum].type = LIVES_PARAM_STRING; lives_widget_hide(rfxbuilder->spinbutton_param_dp); lives_widget_hide(rfxbuilder->param_dp_label); lives_widget_hide(rfxbuilder->spinbutton_param_min); lives_widget_hide(rfxbuilder->param_min_label); lives_widget_hide(rfxbuilder->spinbutton_param_def); - lives_button_set_label(LIVES_BUTTON(rfxbuilder->param_strdef_button),(_("Set _default"))); + lives_button_set_label(LIVES_BUTTON(rfxbuilder->param_strdef_button), (_("Set _default"))); lives_widget_show(rfxbuilder->param_strdef_hbox); - lives_label_set_text(LIVES_LABEL(rfxbuilder->param_def_label),(_("Default value: "))); - lives_label_set_text(LIVES_LABEL(rfxbuilder->param_max_label),(_("Maximum length (chars): "))); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max),1,RFX_MAXSTRINGLEN); - if (pnum<0) lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max),RFX_TEXT_MAGIC); - lives_spin_button_set_digits(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def),0); - lives_spin_button_set_digits(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max),0); + lives_label_set_text(LIVES_LABEL(rfxbuilder->param_def_label), (_("Default value: "))); + lives_label_set_text(LIVES_LABEL(rfxbuilder->param_max_label), (_("Maximum length (chars): "))); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max), 1, RFX_MAXSTRINGLEN); + if (pnum < 0) lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max), RFX_TEXT_MAGIC); + lives_spin_button_set_digits(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_def), 0); + lives_spin_button_set_digits(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max), 0); - if (rfxbuilder->copy_params[pnum].def==NULL) { - rfxbuilder->copy_params[pnum].def=lives_strdup(""); + if (rfxbuilder->copy_params[pnum].def == NULL) { + rfxbuilder->copy_params[pnum].def = lives_strdup(""); } } } @@ -2512,50 +2518,50 @@ LiVESWidget *dialog; LiVESWidget *dialog_vbox; - LiVESList *kwlist=NULL; - LiVESList *splist=NULL; - LiVESList *spsublist=NULL; - - char *kw=NULL; - char *sp=NULL; - char *spsub=NULL; - char *rest=NULL; + LiVESList *kwlist = NULL; + LiVESList *splist = NULL; + LiVESList *spsublist = NULL; + + char *kw = NULL; + char *sp = NULL; + char *spsub = NULL; + char *rest = NULL; char *title; - if (pnum<0) { - title=lives_strdup(_("New RFX Parameter Window Hint")); + if (pnum < 0) { + title = lives_strdup(_("New RFX Parameter Window Hint")); } else { - title=lives_strdup(_("Edit RFX Parameter Window Hint")); + title = lives_strdup(_("Edit RFX Parameter Window Hint")); } - dialog = lives_standard_dialog_new(title,TRUE,-1,-1); + dialog = lives_standard_dialog_new(title, TRUE, -1, -1); lives_free(title); if (prefs->show_gui) { - lives_window_set_transient_for(LIVES_WINDOW(dialog),LIVES_WINDOW(mainw->LiVES)); + lives_window_set_transient_for(LIVES_WINDOW(dialog), LIVES_WINDOW(mainw->LiVES)); } dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(dialog)); - if (pnum>=0) { - kw=lives_strdup(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->entry[pnum]))); - if (!strcmp(kw,"layout")) { - rest=lives_strdup(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->entry2[pnum]))); - } else if (!strcmp(kw,"special")) { - int numtok=get_token_count(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->entry2[pnum])), - (int)rfxbuilder->field_delim[0]); - char **array=lives_strsplit(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->entry2[pnum])),rfxbuilder->field_delim,3); - sp=lives_strdup(array[0]); - if (!strcmp(sp,"framedraw")) { - if (numtok>1) { - spsub=lives_strdup(array[1]); + if (pnum >= 0) { + kw = lives_strdup(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->entry[pnum]))); + if (!strcmp(kw, "layout")) { + rest = lives_strdup(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->entry2[pnum]))); + } else if (!strcmp(kw, "special")) { + int numtok = get_token_count(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->entry2[pnum])), + (int)rfxbuilder->field_delim[0]); + char **array = lives_strsplit(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->entry2[pnum])), rfxbuilder->field_delim, 3); + sp = lives_strdup(array[0]); + if (!strcmp(sp, "framedraw")) { + if (numtok > 1) { + spsub = lives_strdup(array[1]); } - if (numtok>2) { - rest=lives_strdup(array[2]); + if (numtok > 2) { + rest = lives_strdup(array[2]); } } else { - if (numtok>1) { - rest=lives_strdup(array[1]); + if (numtok > 1) { + rest = lives_strdup(array[1]); } } lives_strfreev(array); @@ -2566,11 +2572,11 @@ kwlist = lives_list_append(kwlist, (livespointer)"layout"); kwlist = lives_list_append(kwlist, (livespointer)"special"); - rfxbuilder->paramw_kw_combo = lives_standard_combo_new(_("_Keyword: "),TRUE,kwlist,LIVES_BOX(dialog_vbox),NULL); + rfxbuilder->paramw_kw_combo = lives_standard_combo_new(_("_Keyword: "), TRUE, kwlist, LIVES_BOX(dialog_vbox), NULL); lives_list_free(kwlist); - if (pnum>=0&&kw!=NULL) { - lives_combo_set_active_string(LIVES_COMBO(rfxbuilder->paramw_kw_combo),kw); + if (pnum >= 0 && kw != NULL) { + lives_combo_set_active_string(LIVES_COMBO(rfxbuilder->paramw_kw_combo), kw); } @@ -2579,59 +2585,59 @@ splist = lives_list_append(splist, (livespointer)"framedraw"); splist = lives_list_append(splist, (livespointer)"fileread"); splist = lives_list_append(splist, (livespointer)"password"); - if (rfxbuilder->type==RFX_BUILD_TYPE_EFFECT2) { + if (rfxbuilder->type == RFX_BUILD_TYPE_EFFECT2) { splist = lives_list_append(splist, (livespointer)"mergealign"); } - rfxbuilder->paramw_sp_combo = lives_standard_combo_new(_("Special _Type: "),TRUE,splist,LIVES_BOX(dialog_vbox),NULL); + rfxbuilder->paramw_sp_combo = lives_standard_combo_new(_("Special _Type: "), TRUE, splist, LIVES_BOX(dialog_vbox), NULL); lives_list_free(splist); - if (pnum>=0&&sp!=NULL) { - lives_combo_set_active_string(LIVES_COMBO(rfxbuilder->paramw_sp_combo),sp); + if (pnum >= 0 && sp != NULL) { + lives_combo_set_active_string(LIVES_COMBO(rfxbuilder->paramw_sp_combo), sp); } // subtype spsublist = lives_list_append(spsublist, (livespointer)"rectdemask"); - if (pnum>=0&&spsub!=NULL) { + if (pnum >= 0 && spsub != NULL) { // deprecated value - if (!strcmp(spsub,"multrect")) spsublist = lives_list_append(spsublist, (livespointer)"multrect"); + if (!strcmp(spsub, "multrect")) spsublist = lives_list_append(spsublist, (livespointer)"multrect"); } else spsublist = lives_list_append(spsublist, (livespointer)"multirect"); spsublist = lives_list_append(spsublist, (livespointer)"singlepoint"); - rfxbuilder->paramw_spsub_combo = lives_standard_combo_new(_("Special _Subtype: "),TRUE,spsublist,LIVES_BOX(dialog_vbox),NULL); + rfxbuilder->paramw_spsub_combo = lives_standard_combo_new(_("Special _Subtype: "), TRUE, spsublist, LIVES_BOX(dialog_vbox), NULL); lives_list_free(spsublist); - if (pnum>=0&&spsub!=NULL) { - lives_combo_set_active_string(LIVES_COMBO(rfxbuilder->paramw_spsub_combo),spsub); + if (pnum >= 0 && spsub != NULL) { + lives_combo_set_active_string(LIVES_COMBO(rfxbuilder->paramw_spsub_combo), spsub); } // paramwindow rest - rfxbuilder->paramw_rest_entry = lives_standard_entry_new(_("Row: "),TRUE,pnum>=0&&rest!=NULL?rest:NULL, - -1,-1,LIVES_BOX(dialog_vbox),NULL); - rfxbuilder->paramw_rest_label=widget_opts.last_label; - - if (kw!=NULL) lives_free(kw); - if (sp!=NULL) lives_free(sp); - if (spsub!=NULL) lives_free(spsub); - if (rest!=NULL) lives_free(rest); + rfxbuilder->paramw_rest_entry = lives_standard_entry_new(_("Row: "), TRUE, pnum >= 0 && rest != NULL ? rest : NULL, + -1, -1, LIVES_BOX(dialog_vbox), NULL); + rfxbuilder->paramw_rest_label = widget_opts.last_label; + + if (kw != NULL) lives_free(kw); + if (sp != NULL) lives_free(sp); + if (spsub != NULL) lives_free(spsub); + if (rest != NULL) lives_free(rest); lives_widget_grab_focus(rfxbuilder->paramw_rest_entry); - lives_signal_connect(LIVES_GUI_OBJECT(rfxbuilder->paramw_kw_combo),LIVES_WIDGET_CHANGED_SIGNAL, - LIVES_GUI_CALLBACK(on_paramw_kw_changed),(livespointer)rfxbuilder); + lives_signal_connect(LIVES_GUI_OBJECT(rfxbuilder->paramw_kw_combo), LIVES_WIDGET_CHANGED_SIGNAL, + LIVES_GUI_CALLBACK(on_paramw_kw_changed), (livespointer)rfxbuilder); - lives_signal_connect(LIVES_GUI_OBJECT(rfxbuilder->paramw_sp_combo),LIVES_WIDGET_CHANGED_SIGNAL, - LIVES_GUI_CALLBACK(on_paramw_sp_changed),(livespointer)rfxbuilder); + lives_signal_connect(LIVES_GUI_OBJECT(rfxbuilder->paramw_sp_combo), LIVES_WIDGET_CHANGED_SIGNAL, + LIVES_GUI_CALLBACK(on_paramw_sp_changed), (livespointer)rfxbuilder); - lives_signal_connect(LIVES_GUI_OBJECT(rfxbuilder->paramw_spsub_combo),LIVES_WIDGET_CHANGED_SIGNAL, - LIVES_GUI_CALLBACK(on_paramw_spsub_changed),(livespointer)rfxbuilder); + lives_signal_connect(LIVES_GUI_OBJECT(rfxbuilder->paramw_spsub_combo), LIVES_WIDGET_CHANGED_SIGNAL, + LIVES_GUI_CALLBACK(on_paramw_spsub_changed), (livespointer)rfxbuilder); lives_widget_show_all(dialog); - on_paramw_kw_changed(LIVES_COMBO(rfxbuilder->paramw_kw_combo),(livespointer)rfxbuilder); + on_paramw_kw_changed(LIVES_COMBO(rfxbuilder->paramw_kw_combo), (livespointer)rfxbuilder); return dialog; } @@ -2640,15 +2646,15 @@ void on_paramw_kw_changed(LiVESCombo *combo, livespointer user_data) { - rfx_build_window_t *rfxbuilder=(rfx_build_window_t *)user_data; - char *ctext=lives_combo_get_active_text(combo); + rfx_build_window_t *rfxbuilder = (rfx_build_window_t *)user_data; + char *ctext = lives_combo_get_active_text(combo); - if (!strcmp(ctext,"special")) { + if (!strcmp(ctext, "special")) { lives_widget_show_all(lives_widget_get_parent(rfxbuilder->paramw_sp_combo)); - on_paramw_sp_changed(LIVES_COMBO(rfxbuilder->paramw_sp_combo),(livespointer)rfxbuilder); + on_paramw_sp_changed(LIVES_COMBO(rfxbuilder->paramw_sp_combo), (livespointer)rfxbuilder); lives_widget_grab_focus(lives_combo_get_entry(LIVES_COMBO(rfxbuilder->paramw_sp_combo))); } else { - lives_label_set_text(LIVES_LABEL(rfxbuilder->paramw_rest_label),(_("Row: "))); + lives_label_set_text(LIVES_LABEL(rfxbuilder->paramw_rest_label), (_("Row: "))); lives_widget_hide(lives_widget_get_parent(rfxbuilder->paramw_sp_combo)); lives_widget_hide(lives_widget_get_parent(rfxbuilder->paramw_spsub_combo)); lives_widget_grab_focus(rfxbuilder->paramw_rest_entry); @@ -2660,20 +2666,20 @@ void on_paramw_sp_changed(LiVESCombo *combo, livespointer user_data) { - rfx_build_window_t *rfxbuilder=(rfx_build_window_t *)user_data; + rfx_build_window_t *rfxbuilder = (rfx_build_window_t *)user_data; int npars; char *tmpx; - char *ctext=lives_combo_get_active_text(combo); + char *ctext = lives_combo_get_active_text(combo); - if (!strcmp(ctext,"framedraw")) { + if (!strcmp(ctext, "framedraw")) { lives_widget_show_all(lives_widget_get_parent(rfxbuilder->paramw_spsub_combo)); - on_paramw_spsub_changed(LIVES_COMBO(rfxbuilder->paramw_spsub_combo),(livespointer)rfxbuilder); + on_paramw_spsub_changed(LIVES_COMBO(rfxbuilder->paramw_spsub_combo), (livespointer)rfxbuilder); lives_widget_grab_focus(lives_combo_get_entry(LIVES_COMBO(rfxbuilder->paramw_spsub_combo))); } else { - if (!strcmp(ctext,"fileread")||!strcmp(ctext,"password")) npars=1; - else npars=2; + if (!strcmp(ctext, "fileread") || !strcmp(ctext, "password")) npars = 1; + else npars = 2; lives_label_set_text(LIVES_LABEL(rfxbuilder->paramw_rest_label), - (tmpx=lives_strdup_printf(_("Linked parameters (%d): "),npars))); + (tmpx = lives_strdup_printf(_("Linked parameters (%d): "), npars))); lives_free(tmpx); lives_widget_hide(lives_widget_get_parent(rfxbuilder->paramw_spsub_combo)); lives_widget_grab_focus(rfxbuilder->paramw_rest_entry); @@ -2685,14 +2691,14 @@ void on_paramw_spsub_changed(LiVESCombo *combo, livespointer user_data) { - rfx_build_window_t *rfxbuilder=(rfx_build_window_t *)user_data; - char *ctext=lives_combo_get_active_text(combo); + rfx_build_window_t *rfxbuilder = (rfx_build_window_t *)user_data; + char *ctext = lives_combo_get_active_text(combo); - if (!strcmp(ctext,"rectdemask")|| - !strcmp(ctext,"multrect")||!strcmp(ctext,"multirect")) { - lives_label_set_text(LIVES_LABEL(rfxbuilder->paramw_rest_label),(_("Linked parameters (4): "))); - } else if (!strcmp(ctext,"singlepoint")) { - lives_label_set_text(LIVES_LABEL(rfxbuilder->paramw_rest_label),(_("Linked parameters (2): "))); + if (!strcmp(ctext, "rectdemask") || + !strcmp(ctext, "multrect") || !strcmp(ctext, "multirect")) { + lives_label_set_text(LIVES_LABEL(rfxbuilder->paramw_rest_label), (_("Linked parameters (4): "))); + } else if (!strcmp(ctext, "singlepoint")) { + lives_label_set_text(LIVES_LABEL(rfxbuilder->paramw_rest_label), (_("Linked parameters (2): "))); } lives_free(ctext); @@ -2708,7 +2714,7 @@ LiVESWidget *combo; LiVESWidget *scrolledwindow; - LiVESList *whenlist=NULL; + LiVESList *whenlist = NULL; char *title; @@ -2716,41 +2722,41 @@ register int i; - if (tnum<0) { - title=lives_strdup(_("New RFX Trigger")); + if (tnum < 0) { + title = lives_strdup(_("New RFX Trigger")); } else { - title=lives_strdup(_("Edit RFX Trigger")); + title = lives_strdup(_("Edit RFX Trigger")); } - dialog = lives_standard_dialog_new(title,TRUE,PREF_RFXDIALOG_W,PREF_RFXDIALOG_H); + dialog = lives_standard_dialog_new(title, TRUE, PREF_RFXDIALOG_W, PREF_RFXDIALOG_H); lives_free(title); if (prefs->show_gui) { - lives_window_set_transient_for(LIVES_WINDOW(dialog),LIVES_WINDOW(mainw->LiVES)); + lives_window_set_transient_for(LIVES_WINDOW(dialog), LIVES_WINDOW(mainw->LiVES)); } dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(dialog)); // when - if (tnum>=0) whenlist = lives_list_append(whenlist, (livespointer)(rfxbuilder->copy_triggers[tnum].when? - lives_strdup_printf("%d",rfxbuilder->copy_triggers[tnum]. - when-1):"init")); + if (tnum >= 0) whenlist = lives_list_append(whenlist, (livespointer)(rfxbuilder->copy_triggers[tnum].when ? + lives_strdup_printf("%d", rfxbuilder->copy_triggers[tnum]. + when - 1) : "init")); else { if (!rfxbuilder->has_init_trigger) { whenlist = lives_list_append(whenlist, (livespointer)"init"); } - for (i=0; i<rfxbuilder->num_params; i++) { + for (i = 0; i < rfxbuilder->num_params; i++) { if (!rfxbuilder->params[i].onchange) { - whenlist = lives_list_append(whenlist, lives_strdup_printf("%d",i)); + whenlist = lives_list_append(whenlist, lives_strdup_printf("%d", i)); } } } - combo = lives_standard_combo_new(_("When: "),FALSE,whenlist,LIVES_BOX(dialog_vbox),NULL); + combo = lives_standard_combo_new(_("When: "), FALSE, whenlist, LIVES_BOX(dialog_vbox), NULL); lives_list_free(whenlist); - rfxbuilder->trigger_when_entry=lives_combo_get_entry(LIVES_COMBO(combo)); + rfxbuilder->trigger_when_entry = lives_combo_get_entry(LIVES_COMBO(combo)); // code area @@ -2759,26 +2765,26 @@ lives_text_view_set_wrap_mode(LIVES_TEXT_VIEW(rfxbuilder->code_textview), LIVES_WRAP_WORD); lives_text_view_set_cursor_visible(LIVES_TEXT_VIEW(rfxbuilder->code_textview), TRUE); - woat=widget_opts.apply_theme; - widget_opts.apply_theme=FALSE; - widget_opts.expand=LIVES_EXPAND_NONE; // prevent centering - scrolledwindow = lives_standard_scrolled_window_new(RFX_WINSIZE_H*2./3.,RFX_WINSIZE_V/4.,rfxbuilder->code_textview); - widget_opts.expand=LIVES_EXPAND_DEFAULT; - widget_opts.apply_theme=woat; + woat = widget_opts.apply_theme; + widget_opts.apply_theme = FALSE; + widget_opts.expand = LIVES_EXPAND_EXTRA; // prevent centering + scrolledwindow = lives_standard_scrolled_window_new(RFX_WINSIZE_H * 2. / 3., RFX_WINSIZE_V / 4., rfxbuilder->code_textview); + widget_opts.expand = LIVES_EXPAND_DEFAULT; + widget_opts.apply_theme = woat; - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_base_color(rfxbuilder->code_textview, LIVES_WIDGET_STATE_NORMAL, &palette->white); lives_widget_set_text_color(rfxbuilder->code_textview, LIVES_WIDGET_STATE_NORMAL, &palette->black); } lives_box_pack_start(LIVES_BOX(dialog_vbox), scrolledwindow, TRUE, TRUE, 0); - if (tnum>=0) { + if (tnum >= 0) { lives_text_view_set_text(LIVES_TEXT_VIEW(rfxbuilder->code_textview), - rfxbuilder->copy_triggers[tnum].code,-1); + rfxbuilder->copy_triggers[tnum].code, -1); } - if (tnum>=0||rfxbuilder->num_params==0) lives_widget_grab_focus(rfxbuilder->code_textview); + if (tnum >= 0 || rfxbuilder->num_params == 0) lives_widget_grab_focus(rfxbuilder->code_textview); lives_widget_show_all(dialog); @@ -2795,16 +2801,16 @@ LiVESWidget *okbutton; LiVESWidget *scrolledwindow; - rfx_build_window_t *rfxbuilder=(rfx_build_window_t *)user_data; + rfx_build_window_t *rfxbuilder = (rfx_build_window_t *)user_data; boolean woat; char *tmpx; - dialog = lives_standard_dialog_new(NULL,FALSE,PREF_RFXDIALOG_W,PREF_RFXDIALOG_H); + dialog = lives_standard_dialog_new(NULL, FALSE, PREF_RFXDIALOG_W, PREF_RFXDIALOG_H); if (prefs->show_gui) { - lives_window_set_transient_for(LIVES_WINDOW(dialog),LIVES_WINDOW(mainw->LiVES)); + lives_window_set_transient_for(LIVES_WINDOW(dialog), LIVES_WINDOW(mainw->LiVES)); } dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(dialog)); @@ -2812,14 +2818,14 @@ // code area rfxbuilder->code_textview = lives_text_view_new(); - woat=widget_opts.apply_theme; - widget_opts.apply_theme=FALSE; - widget_opts.expand=LIVES_EXPAND_NONE; // prevent centering - scrolledwindow = lives_standard_scrolled_window_new(RFX_WINSIZE_H,RFX_WINSIZE_V,rfxbuilder->code_textview); - widget_opts.expand=LIVES_EXPAND_DEFAULT; - widget_opts.apply_theme=woat; + woat = widget_opts.apply_theme; + widget_opts.apply_theme = FALSE; + widget_opts.expand = LIVES_EXPAND_EXTRA; // prevent centering + scrolledwindow = lives_standard_scrolled_window_new(RFX_WINSIZE_H, RFX_WINSIZE_V, rfxbuilder->code_textview); + widget_opts.expand = LIVES_EXPAND_DEFAULT; + widget_opts.apply_theme = woat; - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_base_color(rfxbuilder->code_textview, LIVES_WIDGET_STATE_NORMAL, &palette->white); lives_widget_set_text_color(rfxbuilder->code_textview, LIVES_WIDGET_STATE_NORMAL, &palette->black); } @@ -2840,69 +2846,69 @@ lives_text_view_set_accepts_tab (LIVES_TEXT_VIEW (rfxbuilder->code_textview),TRUE); } */ - if (button==LIVES_BUTTON(rfxbuilder->pre_button)) { - rfxbuilder->codetype=RFX_CODE_TYPE_PRE; + if (button == LIVES_BUTTON(rfxbuilder->pre_button)) { + rfxbuilder->codetype = RFX_CODE_TYPE_PRE; lives_window_set_title(LIVES_WINDOW(dialog), _("Pre Loop Code")); lives_text_view_set_text(LIVES_TEXT_VIEW(rfxbuilder->code_textview), - rfxbuilder->pre_code,-1); + rfxbuilder->pre_code, -1); } - else if (button==LIVES_BUTTON(rfxbuilder->loop_button)) { - rfxbuilder->codetype=RFX_CODE_TYPE_LOOP; + else if (button == LIVES_BUTTON(rfxbuilder->loop_button)) { + rfxbuilder->codetype = RFX_CODE_TYPE_LOOP; lives_window_set_title(LIVES_WINDOW(dialog), _("Loop Code")); lives_text_view_set_text(LIVES_TEXT_VIEW(rfxbuilder->code_textview), - rfxbuilder->loop_code,-1); + rfxbuilder->loop_code, -1); } - else if (button==LIVES_BUTTON(rfxbuilder->post_button)) { - rfxbuilder->codetype=RFX_CODE_TYPE_POST; + else if (button == LIVES_BUTTON(rfxbuilder->post_button)) { + rfxbuilder->codetype = RFX_CODE_TYPE_POST; lives_window_set_title(LIVES_WINDOW(dialog), _("Post Loop Code")); lives_text_view_set_text(LIVES_TEXT_VIEW(rfxbuilder->code_textview), - rfxbuilder->post_code,-1); + rfxbuilder->post_code, -1); } - else if (button==LIVES_BUTTON(rfxbuilder->param_strdef_button)) { - if (rfxbuilder->copy_params[rfxbuilder->edit_param].type!=LIVES_PARAM_STRING_LIST) { - int len,maxlen=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max)); + else if (button == LIVES_BUTTON(rfxbuilder->param_strdef_button)) { + if (rfxbuilder->copy_params[rfxbuilder->edit_param].type != LIVES_PARAM_STRING_LIST) { + int len, maxlen = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_param_max)); - if ((len=strlen((char *)rfxbuilder->copy_params[rfxbuilder->edit_param].def))>maxlen) len=maxlen; + if ((len = strlen((char *)rfxbuilder->copy_params[rfxbuilder->edit_param].def)) > maxlen) len = maxlen; - rfxbuilder->codetype=RFX_CODE_TYPE_STRDEF; - lives_window_set_title(LIVES_WINDOW(dialog), (tmpx=lives_strdup_printf - (_("Default text (max length %d)"),maxlen))); + rfxbuilder->codetype = RFX_CODE_TYPE_STRDEF; + lives_window_set_title(LIVES_WINDOW(dialog), (tmpx = lives_strdup_printf + (_("Default text (max length %d)"), maxlen))); lives_free(tmpx); - lives_text_view_set_wrap_mode(LIVES_TEXT_VIEW(rfxbuilder->code_textview),LIVES_WRAP_WORD); + lives_text_view_set_wrap_mode(LIVES_TEXT_VIEW(rfxbuilder->code_textview), LIVES_WRAP_WORD); lives_text_view_set_text(LIVES_TEXT_VIEW(rfxbuilder->code_textview), - (char *)rfxbuilder->copy_params[rfxbuilder->edit_param].def,len); + (char *)rfxbuilder->copy_params[rfxbuilder->edit_param].def, len); } else { LiVESTextIter start_iter; - char *string=lives_strdup(""),*string_new; + char *string = lives_strdup(""), *string_new; register int i; - rfxbuilder->codetype=RFX_CODE_TYPE_STRING_LIST; - lives_window_set_title(LIVES_WINDOW(dialog), (tmpx=lives_strdup(_("Enter values, one per line")))); + rfxbuilder->codetype = RFX_CODE_TYPE_STRING_LIST; + lives_window_set_title(LIVES_WINDOW(dialog), (tmpx = lives_strdup(_("Enter values, one per line")))); lives_free(tmpx); - if (rfxbuilder->copy_params[rfxbuilder->edit_param].list!=NULL) { - for (i=0; i<lives_list_length(rfxbuilder->copy_params[rfxbuilder->edit_param].list); i++) { - string_new=lives_strconcat(string, (char *)lives_list_nth_data(rfxbuilder->copy_params[rfxbuilder->edit_param].list,i), - "\n",NULL); - if (string!=string_new) lives_free(string); - string=string_new; + if (rfxbuilder->copy_params[rfxbuilder->edit_param].list != NULL) { + for (i = 0; i < lives_list_length(rfxbuilder->copy_params[rfxbuilder->edit_param].list); i++) { + string_new = lives_strconcat(string, (char *)lives_list_nth_data(rfxbuilder->copy_params[rfxbuilder->edit_param].list, i), + "\n", NULL); + if (string != string_new) lives_free(string); + string = string_new; } - lives_text_view_set_text(LIVES_TEXT_VIEW(rfxbuilder->code_textview), string, strlen(string)-1); + lives_text_view_set_text(LIVES_TEXT_VIEW(rfxbuilder->code_textview), string, strlen(string) - 1); lives_free(string); - lives_text_buffer_get_start_iter(lives_text_view_get_buffer(LIVES_TEXT_VIEW(rfxbuilder->code_textview)),&start_iter); + lives_text_buffer_get_start_iter(lives_text_view_get_buffer(LIVES_TEXT_VIEW(rfxbuilder->code_textview)), &start_iter); lives_text_buffer_place_cursor(lives_text_view_get_buffer(LIVES_TEXT_VIEW(rfxbuilder->code_textview)), &start_iter); } } } - cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL,NULL); + cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(dialog), cancelbutton, LIVES_RESPONSE_CANCEL); lives_widget_set_can_focus_and_default(cancelbutton); - okbutton = lives_button_new_from_stock(LIVES_STOCK_OK,NULL); + okbutton = lives_button_new_from_stock(LIVES_STOCK_OK, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(dialog), okbutton, LIVES_RESPONSE_OK); lives_widget_set_can_focus_and_default(okbutton); @@ -2922,19 +2928,19 @@ void on_rfxbuilder_ok(LiVESButton *button, livespointer user_data) { - rfx_build_window_t *rfxbuilder=(rfx_build_window_t *)user_data; + rfx_build_window_t *rfxbuilder = (rfx_build_window_t *)user_data; if (!perform_rfxbuilder_checks(rfxbuilder)) return; if (!rfxbuilder_to_script(rfxbuilder)) return; - lives_general_button_clicked(button,NULL); + lives_general_button_clicked(button, NULL); rfxbuilder_destroy(rfxbuilder); } void on_rfxbuilder_cancel(LiVESButton *button, livespointer user_data) { - rfx_build_window_t *rfxbuilder=(rfx_build_window_t *)user_data; + rfx_build_window_t *rfxbuilder = (rfx_build_window_t *)user_data; - lives_general_button_clicked(button,NULL); + lives_general_button_clicked(button, NULL); rfxbuilder_destroy(rfxbuilder); } @@ -2943,24 +2949,24 @@ void rfxbuilder_destroy(rfx_build_window_t *rfxbuilder) { register int i; - for (i=0; i<rfxbuilder->num_reqs; i++) { + for (i = 0; i < rfxbuilder->num_reqs; i++) { lives_free(rfxbuilder->reqs[i]); } - for (i=0; i<rfxbuilder->num_params; i++) { + for (i = 0; i < rfxbuilder->num_params; i++) { lives_free(rfxbuilder->params[i].name); lives_free(rfxbuilder->params[i].label); - if (rfxbuilder->params[i].type==LIVES_PARAM_STRING_LIST) { - if (rfxbuilder->params[i].list!=NULL)lives_list_free(rfxbuilder->params[i].list); + if (rfxbuilder->params[i].type == LIVES_PARAM_STRING_LIST) { + if (rfxbuilder->params[i].list != NULL)lives_list_free(rfxbuilder->params[i].list); } lives_free(rfxbuilder->params[i].def); } if (rfxbuilder->num_params) { lives_free(rfxbuilder->params); } - for (i=0; i<rfxbuilder->num_paramw_hints; i++) { + for (i = 0; i < rfxbuilder->num_paramw_hints; i++) { lives_free(rfxbuilder->paramw_hints[i]); } - for (i=0; i<rfxbuilder->num_triggers; i++) { + for (i = 0; i < rfxbuilder->num_triggers; i++) { lives_free(rfxbuilder->triggers[i].code); } if (rfxbuilder->num_triggers) { @@ -2973,10 +2979,10 @@ lives_free(rfxbuilder->field_delim); - if (rfxbuilder->script_name!=NULL) { + if (rfxbuilder->script_name != NULL) { lives_free(rfxbuilder->script_name); } - if (rfxbuilder->oname!=NULL) { + if (rfxbuilder->oname != NULL) { lives_free(rfxbuilder->oname); } lives_free(rfxbuilder->rfx_version); @@ -2986,14 +2992,14 @@ boolean perform_rfxbuilder_checks(rfx_build_window_t *rfxbuilder) { - char *name=lives_strdup(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->name_entry))); + char *name = lives_strdup(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->name_entry))); if (!strlen(name)) { do_blocking_error_dialog(_("\n\nName must not be blank.\n")); lives_free(name); return FALSE; } - if (get_token_count(name,' ')>1) { + if (get_token_count(name, ' ') > 1) { do_blocking_error_dialog(_("\n\nName must not contain spaces.\n")); lives_free(name); return FALSE; @@ -3003,8 +3009,8 @@ lives_free(name); return FALSE; } - if (!strlen(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->action_desc_entry)))&& - rfxbuilder->type!=RFX_BUILD_TYPE_UTILITY) { + if (!strlen(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->action_desc_entry))) && + rfxbuilder->type != RFX_BUILD_TYPE_UTILITY) { do_blocking_error_dialog(_("\n\nAction description must not be blank.\n")); lives_free(name); return FALSE; @@ -3015,23 +3021,23 @@ return FALSE; } - if (rfxbuilder->mode!=RFX_BUILDER_MODE_NEW&&!(rfxbuilder->mode==RFX_BUILDER_MODE_EDIT&& - !strcmp(rfxbuilder->oname,name))) { - if (find_rfx_plugin_by_name(name,RFX_STATUS_TEST)>-1||find_rfx_plugin_by_name - (name,RFX_STATUS_CUSTOM)>-1||find_rfx_plugin_by_name(name,RFX_STATUS_BUILTIN)>-1) { + if (rfxbuilder->mode != RFX_BUILDER_MODE_NEW && !(rfxbuilder->mode == RFX_BUILDER_MODE_EDIT && + !strcmp(rfxbuilder->oname, name))) { + if (find_rfx_plugin_by_name(name, RFX_STATUS_TEST) > -1 || find_rfx_plugin_by_name + (name, RFX_STATUS_CUSTOM) > -1 || find_rfx_plugin_by_name(name, RFX_STATUS_BUILTIN) > -1) { do_blocking_error_dialog(_("\n\nThere is already a plugin with this name.\nName must be unique.\n")); lives_free(name); return FALSE; } } - if (!strlen(rfxbuilder->loop_code)&&rfxbuilder->type!=RFX_BUILD_TYPE_UTILITY) { + if (!strlen(rfxbuilder->loop_code) && rfxbuilder->type != RFX_BUILD_TYPE_UTILITY) { do_blocking_error_dialog(_("\n\nLoop code should not be blank.\n")); lives_free(name); return FALSE; } - if (rfxbuilder->num_triggers==0&&rfxbuilder->type==RFX_BUILD_TYPE_UTILITY) { + if (rfxbuilder->num_triggers == 0 && rfxbuilder->type == RFX_BUILD_TYPE_UTILITY) { do_blocking_error_dialog(_("\n\nTrigger code should not be blank for a utility.\n")); lives_free(name); return FALSE; @@ -3048,9 +3054,9 @@ do_blocking_error_dialog(_("\n\nParameter name must not be blank.\n")); return FALSE; } - for (i=0; i<rows; i++) { - if (i!=index&&!(strcmp(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->param_name_entry)), - rfxbuilder->copy_params[i].name))) { + for (i = 0; i < rows; i++) { + if (i != index && !(strcmp(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->param_name_entry)), + rfxbuilder->copy_params[i].name))) { do_blocking_error_dialog(_("\n\nDuplicate parameter name detected. Parameter names must be unique in a plugin.\n\n")); return FALSE; } @@ -3068,318 +3074,318 @@ uint32_t props; - const char *name=lives_entry_get_text(LIVES_ENTRY(rfxbuilder->name_entry)); + const char *name = lives_entry_get_text(LIVES_ENTRY(rfxbuilder->name_entry)); - char *script_file,*script_file_dir; - char *script_name=lives_strdup_printf("%s.%s",name,RFXBUILDER_SCRIPT_SUFFIX); + char *script_file, *script_file_dir; + char *script_name = lives_strdup_printf("%s.%s", name, RFXBUILDER_SCRIPT_SUFFIX); char *new_name; char *buf; - char *tmp,*tmp2; + char *tmp, *tmp2; int retval; - register int i,j; + register int i, j; - if (rfxbuilder->mode!=RFX_BUILDER_MODE_EDIT) { - if (!(new_name=prompt_for_script_name(script_name,RFX_STATUS_TEST))) { + if (rfxbuilder->mode != RFX_BUILDER_MODE_EDIT) { + if (!(new_name = prompt_for_script_name(script_name, RFX_STATUS_TEST))) { lives_free(script_name); return FALSE; } lives_free(script_name); - script_name=new_name; + script_name = new_name; } - mainw->com_failed=FALSE; + mainw->com_failed = FALSE; - script_file_dir=lives_build_filename(capable->home_dir,LIVES_CONFIG_DIR,PLUGIN_RENDERED_EFFECTS_TEST_SCRIPTS,NULL); + script_file_dir = lives_build_filename(capable->home_dir, LIVES_CONFIG_DIR, PLUGIN_RENDERED_EFFECTS_TEST_SCRIPTS, NULL); - if (!lives_file_test(script_file_dir,LIVES_FILE_TEST_IS_DIR)) { - if (lives_mkdir_with_parents(script_file_dir,capable->umask)==-1) { + if (!lives_file_test(script_file_dir, LIVES_FILE_TEST_IS_DIR)) { + if (lives_mkdir_with_parents(script_file_dir, capable->umask) == -1) { lives_free(script_name); return FALSE; } } - script_file=lives_strdup_printf("%s%s",script_file_dir,script_name); + script_file = lives_strdup_printf("%s%s", script_file_dir, script_name); lives_free(script_file_dir); lives_free(script_name); - d_print(_("Writing script file %s..."),script_file); + d_print(_("Writing script file %s..."), script_file); - if (!check_file(script_file,TRUE)) { + if (!check_file(script_file, TRUE)) { lives_free(script_file); d_print_failed(); return FALSE; } do { - retval=0; - if (!(sfile=fopen(script_file,"w"))) { - retval=do_write_failed_error_s_with_retry(script_file,lives_strerror(errno),LIVES_WINDOW(rfxbuilder->dialog)); - if (retval==LIVES_RESPONSE_CANCEL) { + retval = 0; + if (!(sfile = fopen(script_file, "w"))) { + retval = do_write_failed_error_s_with_retry(script_file, lives_strerror(errno), LIVES_WINDOW(rfxbuilder->dialog)); + if (retval == LIVES_RESPONSE_CANCEL) { lives_free(script_file); d_print_failed(); return FALSE; } } else { - mainw->write_failed=FALSE; + mainw->write_failed = FALSE; - lives_fputs("Script file generated from LiVES\n\n",sfile); - lives_fputs("<define>\n",sfile); - lives_fputs(rfxbuilder->field_delim,sfile); - lives_fputs(rfxbuilder->rfx_version,sfile); - lives_fputs("\n</define>\n\n",sfile); - lives_fputs("<name>\n",sfile); - lives_fputs(name,sfile); - lives_fputs("\n</name>\n\n",sfile); - lives_fputs("<version>\n",sfile); - buf=lives_strdup_printf("%d",lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_version))); - lives_fputs(buf,sfile); + lives_fputs("Script file generated from LiVES\n\n", sfile); + lives_fputs("<define>\n", sfile); + lives_fputs(rfxbuilder->field_delim, sfile); + lives_fputs(rfxbuilder->rfx_version, sfile); + lives_fputs("\n</define>\n\n", sfile); + lives_fputs("<name>\n", sfile); + lives_fputs(name, sfile); + lives_fputs("\n</name>\n\n", sfile); + lives_fputs("<version>\n", sfile); + buf = lives_strdup_printf("%d", lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_version))); + lives_fputs(buf, sfile); lives_free(buf); - lives_fputs("\n</version>\n\n",sfile); - lives_fputs("<author>\n",sfile); - lives_fputs(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->author_entry)),sfile); - lives_fputs(rfxbuilder->field_delim,sfile); - lives_fputs(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->url_entry)),sfile); - lives_fputs("\n</author>\n\n",sfile); - lives_fputs("<description>\n",sfile); - lives_fputs(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->menu_text_entry)),sfile); - lives_fputs(rfxbuilder->field_delim,sfile); - lives_fputs(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->action_desc_entry)),sfile); - lives_fputs(rfxbuilder->field_delim,sfile); - if (rfxbuilder->type==RFX_BUILD_TYPE_UTILITY) { - buf=lives_strdup("-1"); + lives_fputs("\n</version>\n\n", sfile); + lives_fputs("<author>\n", sfile); + lives_fputs(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->author_entry)), sfile); + lives_fputs(rfxbuilder->field_delim, sfile); + lives_fputs(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->url_entry)), sfile); + lives_fputs("\n</author>\n\n", sfile); + lives_fputs("<description>\n", sfile); + lives_fputs(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->menu_text_entry)), sfile); + lives_fputs(rfxbuilder->field_delim, sfile); + lives_fputs(lives_entry_get_text(LIVES_ENTRY(rfxbuilder->action_desc_entry)), sfile); + lives_fputs(rfxbuilder->field_delim, sfile); + if (rfxbuilder->type == RFX_BUILD_TYPE_UTILITY) { + buf = lives_strdup("-1"); } else { - buf=lives_strdup_printf("%d",lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_min_frames))); + buf = lives_strdup_printf("%d", lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_min_frames))); } - lives_fputs(buf,sfile); + lives_fputs(buf, sfile); lives_free(buf); - lives_fputs(rfxbuilder->field_delim,sfile); + lives_fputs(rfxbuilder->field_delim, sfile); switch (rfxbuilder->type) { case RFX_BUILD_TYPE_EFFECT2: - buf=lives_strdup("2"); + buf = lives_strdup("2"); break; case RFX_BUILD_TYPE_EFFECT0: - buf=lives_strdup("0"); + buf = lives_strdup("0"); break; default: - buf=lives_strdup("1"); + buf = lives_strdup("1"); } - lives_fputs(buf,sfile); + lives_fputs(buf, sfile); lives_free(buf); - lives_fputs(rfxbuilder->field_delim,sfile); - lives_fputs("\n</description>\n\n",sfile); - lives_fputs("<requires>\n",sfile); - for (i=0; i<rfxbuilder->num_reqs; i++) { - lives_fputs(rfxbuilder->reqs[i],sfile); - if (i<rfxbuilder->num_reqs-1) - lives_fputs("\n",sfile); - } - lives_fputs("\n</requires>\n\n",sfile); - lives_fputs("<params>\n",sfile); - for (i=0; i<rfxbuilder->num_params; i++) { - lives_fputs(rfxbuilder->params[i].name,sfile); - lives_fputs(rfxbuilder->field_delim,sfile); - lives_fputs(rfxbuilder->params[i].label,sfile); - lives_fputs(rfxbuilder->field_delim,sfile); + lives_fputs(rfxbuilder->field_delim, sfile); + lives_fputs("\n</description>\n\n", sfile); + lives_fputs("<requires>\n", sfile); + for (i = 0; i < rfxbuilder->num_reqs; i++) { + lives_fputs(rfxbuilder->reqs[i], sfile); + if (i < rfxbuilder->num_reqs - 1) + lives_fputs("\n", sfile); + } + lives_fputs("\n</requires>\n\n", sfile); + lives_fputs("<params>\n", sfile); + for (i = 0; i < rfxbuilder->num_params; i++) { + lives_fputs(rfxbuilder->params[i].name, sfile); + lives_fputs(rfxbuilder->field_delim, sfile); + lives_fputs(rfxbuilder->params[i].label, sfile); + lives_fputs(rfxbuilder->field_delim, sfile); switch (rfxbuilder->params[i].type) { case LIVES_PARAM_NUM: - stepwrap=rfxbuilder->params[i].step_size; - if (rfxbuilder->params[i].wrap) stepwrap=-stepwrap; - lives_fputs("num",sfile); - buf=lives_strdup_printf("%d",rfxbuilder->params[i].dp); - lives_fputs(buf,sfile); + stepwrap = rfxbuilder->params[i].step_size; + if (rfxbuilder->params[i].wrap) stepwrap = -stepwrap; + lives_fputs("num", sfile); + buf = lives_strdup_printf("%d", rfxbuilder->params[i].dp); + lives_fputs(buf, sfile); lives_free(buf); - lives_fputs(rfxbuilder->field_delim,sfile); + lives_fputs(rfxbuilder->field_delim, sfile); if (!rfxbuilder->params[i].dp) { - buf=lives_strdup_printf("%d",get_int_param(rfxbuilder->params[i].def)); - lives_fputs(buf,sfile); + buf = lives_strdup_printf("%d", get_int_param(rfxbuilder->params[i].def)); + lives_fputs(buf, sfile); lives_free(buf); - lives_fputs(rfxbuilder->field_delim,sfile); - buf=lives_strdup_printf("%d",(int)rfxbuilder->params[i].min); - lives_fputs(buf,sfile); + lives_fputs(rfxbuilder->field_delim, sfile); + buf = lives_strdup_printf("%d", (int)rfxbuilder->params[i].min); + lives_fputs(buf, sfile); lives_free(buf); - lives_fputs(rfxbuilder->field_delim,sfile); - buf=lives_strdup_printf("%d",(int)rfxbuilder->params[i].max); - lives_fputs(buf,sfile); + lives_fputs(rfxbuilder->field_delim, sfile); + buf = lives_strdup_printf("%d", (int)rfxbuilder->params[i].max); + lives_fputs(buf, sfile); lives_free(buf); - lives_fputs(rfxbuilder->field_delim,sfile); - if (stepwrap!=1.) { - buf=lives_strdup_printf("%d",(int)stepwrap); - lives_fputs(buf,sfile); + lives_fputs(rfxbuilder->field_delim, sfile); + if (stepwrap != 1.) { + buf = lives_strdup_printf("%d", (int)stepwrap); + lives_fputs(buf, sfile); lives_free(buf); - lives_fputs(rfxbuilder->field_delim,sfile); + lives_fputs(rfxbuilder->field_delim, sfile); } } else { - char *pattern=lives_strdup_printf("%%.%df",rfxbuilder->params[i].dp); - buf=lives_strdup_printf(pattern,get_double_param(rfxbuilder->params[i].def)); - lives_fputs(buf,sfile); + char *pattern = lives_strdup_printf("%%.%df", rfxbuilder->params[i].dp); + buf = lives_strdup_printf(pattern, get_double_param(rfxbuilder->params[i].def)); + lives_fputs(buf, sfile); lives_free(buf); - lives_fputs(rfxbuilder->field_delim,sfile); - buf=lives_strdup_printf(pattern,rfxbuilder->params[i].min); - lives_fputs(buf,sfile); + lives_fputs(rfxbuilder->field_delim, sfile); + buf = lives_strdup_printf(pattern, rfxbuilder->params[i].min); + lives_fputs(buf, sfile); lives_free(buf); - lives_fputs(rfxbuilder->field_delim,sfile); - buf=lives_strdup_printf(pattern,rfxbuilder->params[i].max); - lives_fputs(buf,sfile); + lives_fputs(rfxbuilder->field_delim, sfile); + buf = lives_strdup_printf(pattern, rfxbuilder->params[i].max); + lives_fputs(buf, sfile); lives_free(buf); - lives_fputs(rfxbuilder->field_delim,sfile); - if (stepwrap!=1.) { - buf=lives_strdup_printf(pattern,stepwrap); - lives_fputs(buf,sfile); + lives_fputs(rfxbuilder->field_delim, sfile); + if (stepwrap != 1.) { + buf = lives_strdup_printf(pattern, stepwrap); + lives_fputs(buf, sfile); lives_free(buf); - lives_fputs(rfxbuilder->field_delim,sfile); + lives_fputs(rfxbuilder->field_delim, sfile); } lives_free(pattern); } break; case LIVES_PARAM_BOOL: - lives_fputs("bool",sfile); - lives_fputs(rfxbuilder->field_delim,sfile); - buf=lives_strdup_printf("%d",get_bool_param(rfxbuilder->params[i].def)); - lives_fputs(buf,sfile); + lives_fputs("bool", sfile); + lives_fputs(rfxbuilder->field_delim, sfile); + buf = lives_strdup_printf("%d", get_bool_param(rfxbuilder->params[i].def)); + lives_fputs(buf, sfile); lives_free(buf); - lives_fputs(rfxbuilder->field_delim,sfile); - if (rfxbuilder->params[i].group!=0) { - buf=lives_strdup_printf("%d",rfxbuilder->params[i].group); - lives_fputs(buf,sfile); + lives_fputs(rfxbuilder->field_delim, sfile); + if (rfxbuilder->params[i].group != 0) { + buf = lives_strdup_printf("%d", rfxbuilder->params[i].group); + lives_fputs(buf, sfile); lives_free(buf); - lives_fputs(rfxbuilder->field_delim,sfile); + lives_fputs(rfxbuilder->field_delim, sfile); } break; case LIVES_PARAM_COLRGB24: - lives_fputs("colRGB24",sfile); - lives_fputs(rfxbuilder->field_delim,sfile); - get_colRGB24_param(rfxbuilder->params[i].def,&rgb); - buf=lives_strdup_printf("%d",rgb.red); - lives_fputs(buf,sfile); + lives_fputs("colRGB24", sfile); + lives_fputs(rfxbuilder->field_delim, sfile); + get_colRGB24_param(rfxbuilder->params[i].def, &rgb); + buf = lives_strdup_printf("%d", rgb.red); + lives_fputs(buf, sfile); lives_free(buf); - lives_fputs(rfxbuilder->field_delim,sfile); - buf=lives_strdup_printf("%d",rgb.green); - lives_fputs(buf,sfile); + lives_fputs(rfxbuilder->field_delim, sfile); + buf = lives_strdup_printf("%d", rgb.green); + lives_fputs(buf, sfile); lives_free(buf); - lives_fputs(rfxbuilder->field_delim,sfile); - buf=lives_strdup_printf("%d",rgb.blue); - lives_fputs(buf,sfile); + lives_fputs(rfxbuilder->field_delim, sfile); + buf = lives_strdup_printf("%d", rgb.blue); + lives_fputs(buf, sfile); lives_free(buf); - lives_fputs(rfxbuilder->field_delim,sfile); + lives_fputs(rfxbuilder->field_delim, sfile); break; case LIVES_PARAM_STRING: - lives_fputs("string",sfile); - lives_fputs(rfxbuilder->field_delim,sfile); - lives_fputs((tmp=U82L(tmp2=subst((char *)rfxbuilder->params[i].def,"\n","\\n"))),sfile); + lives_fputs("string", sfile); + lives_fputs(rfxbuilder->field_delim, sfile); + lives_fputs((tmp = U82L(tmp2 = subst((char *)rfxbuilder->params[i].def, "\n", "\\n"))), sfile); lives_free(tmp); lives_free(tmp2); - lives_fputs(rfxbuilder->field_delim,sfile); - buf=lives_strdup_printf("%d",(int)rfxbuilder->params[i].max); - lives_fputs(buf,sfile); + lives_fputs(rfxbuilder->field_delim, sfile); + buf = lives_strdup_printf("%d", (int)rfxbuilder->params[i].max); + lives_fputs(buf, sfile); lives_free(buf); - lives_fputs(rfxbuilder->field_delim,sfile); + lives_fputs(rfxbuilder->field_delim, sfile); break; case LIVES_PARAM_STRING_LIST: - lives_fputs("string_list",sfile); - lives_fputs(rfxbuilder->field_delim,sfile); - if (rfxbuilder->params[i].def!=NULL) { - buf=lives_strdup_printf("%d",get_bool_param(rfxbuilder->params[i].def)); - lives_fputs(buf,sfile); + lives_fputs("string_list", sfile); + lives_fputs(rfxbuilder->field_delim, sfile); + if (rfxbuilder->params[i].def != NULL) { + buf = lives_strdup_printf("%d", get_bool_param(rfxbuilder->params[i].def)); + lives_fputs(buf, sfile); lives_free(buf); - lives_fputs(rfxbuilder->field_delim,sfile); - for (j=0; j<lives_list_length(rfxbuilder->params[i].list); j++) { - lives_fputs((tmp=U82L(tmp2=subst((char *)lives_list_nth_data - (rfxbuilder->params[i].list,j),"\n","\\n"))),sfile); + lives_fputs(rfxbuilder->field_delim, sfile); + for (j = 0; j < lives_list_length(rfxbuilder->params[i].list); j++) { + lives_fputs((tmp = U82L(tmp2 = subst((char *)lives_list_nth_data + (rfxbuilder->params[i].list, j), "\n", "\\n"))), sfile); lives_free(tmp); lives_free(tmp2); - lives_fputs(rfxbuilder->field_delim,sfile); + lives_fputs(rfxbuilder->field_delim, sfile); } } break; default: break; } - if (i<rfxbuilder->num_params-1) - lives_fputs("\n",sfile); + if (i < rfxbuilder->num_params - 1) + lives_fputs("\n", sfile); } - lives_fputs("\n</params>\n\n",sfile); - lives_fputs("<param_window>\n",sfile); - for (i=0; i<rfxbuilder->num_paramw_hints; i++) { - lives_fputs(rfxbuilder->paramw_hints[i],sfile); - if (strlen(rfxbuilder->paramw_hints[i])>strlen(rfxbuilder->field_delim)&& - strcmp(rfxbuilder->paramw_hints[i]+strlen(rfxbuilder->paramw_hints[i]) - -strlen(rfxbuilder->field_delim),rfxbuilder->field_delim)) - lives_fputs(rfxbuilder->field_delim,sfile); - lives_fputs("\n",sfile); - } - lives_fputs("</param_window>\n\n",sfile); - lives_fputs("<properties>\n",sfile); - if (rfxbuilder->type==RFX_BUILD_TYPE_TOOL) props=rfxbuilder->props|RFX_PROPS_MAY_RESIZE; - else props=rfxbuilder->props; + lives_fputs("\n</params>\n\n", sfile); + lives_fputs("<param_window>\n", sfile); + for (i = 0; i < rfxbuilder->num_paramw_hints; i++) { + lives_fputs(rfxbuilder->paramw_hints[i], sfile); + if (strlen(rfxbuilder->paramw_hints[i]) > strlen(rfxbuilder->field_delim) && + strcmp(rfxbuilder->paramw_hints[i] + strlen(rfxbuilder->paramw_hints[i]) + - strlen(rfxbuilder->field_delim), rfxbuilder->field_delim)) + lives_fputs(rfxbuilder->field_delim, sfile); + lives_fputs("\n", sfile); + } + lives_fputs("</param_window>\n\n", sfile); + lives_fputs("<properties>\n", sfile); + if (rfxbuilder->type == RFX_BUILD_TYPE_TOOL) props = rfxbuilder->props | RFX_PROPS_MAY_RESIZE; + else props = rfxbuilder->props; - if (rfxbuilder->type!=RFX_BUILD_TYPE_EFFECT0&&(rfxbuilder->props&RFX_PROPS_BATCHG)) rfxbuilder->props^=RFX_PROPS_BATCHG; + if (rfxbuilder->type != RFX_BUILD_TYPE_EFFECT0 && (rfxbuilder->props & RFX_PROPS_BATCHG)) rfxbuilder->props ^= RFX_PROPS_BATCHG; - buf=lives_strdup_printf("0x%04X",props); - lives_fputs(buf,sfile); + buf = lives_strdup_printf("0x%04X", props); + lives_fputs(buf, sfile); lives_free(buf); - lives_fputs("\n</properties>\n\n",sfile); - lives_fputs("<language_code>\n",sfile); - array=lives_strsplit(lives_combo_get_active_text(LIVES_COMBO(rfxbuilder->langc_combo))," ",-1); - lives_fputs(array[0],sfile); + lives_fputs("\n</properties>\n\n", sfile); + lives_fputs("<language_code>\n", sfile); + array = lives_strsplit(lives_combo_get_active_text(LIVES_COMBO(rfxbuilder->langc_combo)), " ", -1); + lives_fputs(array[0], sfile); lives_strfreev(array); - lives_fputs("\n</language_code>\n\n",sfile); - lives_fputs("<pre>\n",sfile); - lives_fputs(rfxbuilder->pre_code,sfile); - if (strlen(rfxbuilder->pre_code)&&strcmp(rfxbuilder->pre_code+strlen(rfxbuilder->pre_code)-1,"\n")) - lives_fputs("\n",sfile); - lives_fputs("</pre>\n\n",sfile); - lives_fputs("<loop>\n",sfile); - lives_fputs(rfxbuilder->loop_code,sfile); - if (strlen(rfxbuilder->loop_code)&&strcmp(rfxbuilder->loop_code+strlen(rfxbuilder->loop_code)-1,"\n")) - lives_fputs("\n",sfile); - lives_fputs("</loop>\n\n",sfile); - lives_fputs("<post>\n",sfile); - lives_fputs(rfxbuilder->post_code,sfile); - if (strlen(rfxbuilder->post_code)&&strcmp(rfxbuilder->post_code+strlen(rfxbuilder->post_code)-1,"\n")) - lives_fputs("\n",sfile); - lives_fputs("</post>\n\n",sfile); - lives_fputs("<onchange>\n",sfile); - for (i=0; i<rfxbuilder->num_triggers; i++) { + lives_fputs("\n</language_code>\n\n", sfile); + lives_fputs("<pre>\n", sfile); + lives_fputs(rfxbuilder->pre_code, sfile); + if (strlen(rfxbuilder->pre_code) && strcmp(rfxbuilder->pre_code + strlen(rfxbuilder->pre_code) - 1, "\n")) + lives_fputs("\n", sfile); + lives_fputs("</pre>\n\n", sfile); + lives_fputs("<loop>\n", sfile); + lives_fputs(rfxbuilder->loop_code, sfile); + if (strlen(rfxbuilder->loop_code) && strcmp(rfxbuilder->loop_code + strlen(rfxbuilder->loop_code) - 1, "\n")) + lives_fputs("\n", sfile); + lives_fputs("</loop>\n\n", sfile); + lives_fputs("<post>\n", sfile); + lives_fputs(rfxbuilder->post_code, sfile); + if (strlen(rfxbuilder->post_code) && strcmp(rfxbuilder->post_code + strlen(rfxbuilder->post_code) - 1, "\n")) + lives_fputs("\n", sfile); + lives_fputs("</post>\n\n", sfile); + lives_fputs("<onchange>\n", sfile); + for (i = 0; i < rfxbuilder->num_triggers; i++) { int j; - int numtok=get_token_count(rfxbuilder->triggers[i].code,'\n'); + int numtok = get_token_count(rfxbuilder->triggers[i].code, '\n'); - buf=rfxbuilder->triggers[i].when?lives_strdup_printf("%d",rfxbuilder->triggers[i].when-1):lives_strdup("init"); - array=lives_strsplit(rfxbuilder->triggers[i].code,"\n",-1); - for (j=0; j<numtok; j++) { - lives_fputs(buf,sfile); - lives_fputs(rfxbuilder->field_delim,sfile); - if (array[j]!=NULL) lives_fputs(array[j],sfile); - if (j<numtok-1) - lives_fputs("\n",sfile); + buf = rfxbuilder->triggers[i].when ? lives_strdup_printf("%d", rfxbuilder->triggers[i].when - 1) : lives_strdup("init"); + array = lives_strsplit(rfxbuilder->triggers[i].code, "\n", -1); + for (j = 0; j < numtok; j++) { + lives_fputs(buf, sfile); + lives_fputs(rfxbuilder->field_delim, sfile); + if (array[j] != NULL) lives_fputs(array[j], sfile); + if (j < numtok - 1) + lives_fputs("\n", sfile); } - lives_fputs("\n",sfile); + lives_fputs("\n", sfile); lives_free(buf); lives_strfreev(array); } - lives_fputs("</onchange>\n\n",sfile); + lives_fputs("</onchange>\n\n", sfile); fclose(sfile); if (mainw->write_failed) { - mainw->write_failed=FALSE; - retval=do_write_failed_error_s_with_retry(script_file,NULL,LIVES_WINDOW(rfxbuilder->dialog)); - if (retval==LIVES_RESPONSE_CANCEL) d_print_file_error_failed(); + mainw->write_failed = FALSE; + retval = do_write_failed_error_s_with_retry(script_file, NULL, LIVES_WINDOW(rfxbuilder->dialog)); + if (retval == LIVES_RESPONSE_CANCEL) d_print_file_error_failed(); } } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); lives_free(script_file); - if (retval!=LIVES_RESPONSE_CANCEL) { + if (retval != LIVES_RESPONSE_CANCEL) { d_print_done(); - lives_widget_set_sensitive(mainw->promote_test_rfx,TRUE); - lives_widget_set_sensitive(mainw->delete_test_rfx,TRUE); - lives_widget_set_sensitive(mainw->rename_test_rfx,TRUE); - lives_widget_set_sensitive(mainw->edit_test_rfx,TRUE); + lives_widget_set_sensitive(mainw->promote_test_rfx, TRUE); + lives_widget_set_sensitive(mainw->delete_test_rfx, TRUE); + lives_widget_set_sensitive(mainw->rename_test_rfx, TRUE); + lives_widget_set_sensitive(mainw->edit_test_rfx, TRUE); return TRUE; } @@ -3396,190 +3402,190 @@ char *version; int num_channels; - int tnum,found; - int filled_triggers=0; + int tnum, found; + int filled_triggers = 0; int len; - register int i,j; + register int i, j; - rfxbuilder->type=RFX_BUILD_TYPE_EFFECT1; - if (!(list=get_script_section("define",script_file,TRUE))) { - lives_snprintf(mainw->msg,512,"%s",(_("No <define> section found in script.\n"))); + rfxbuilder->type = RFX_BUILD_TYPE_EFFECT1; + if (!(list = get_script_section("define", script_file, TRUE))) { + lives_snprintf(mainw->msg, 512, "%s", (_("No <define> section found in script.\n"))); return FALSE; } - tmp=(char *)lives_list_nth_data(list,0); - if (strlen(tmp)<2) { + tmp = (char *)lives_list_nth_data(list, 0); + if (strlen(tmp) < 2) { lives_list_free_all(&list); - lives_snprintf(mainw->msg,512,"%s",(_("Bad script version.\n"))); + lives_snprintf(mainw->msg, 512, "%s", (_("Bad script version.\n"))); return FALSE; } - version=lives_strdup(tmp+1); - if (make_version_hash(version)>make_version_hash(RFX_VERSION)) { + version = lives_strdup(tmp + 1); + if (make_version_hash(version) > make_version_hash(RFX_VERSION)) { lives_list_free_all(&list); lives_free(version); - lives_snprintf(mainw->msg,512,"%s",(_("Bad script version.\n"))); + lives_snprintf(mainw->msg, 512, "%s", (_("Bad script version.\n"))); return FALSE; } lives_free(version); - memset(tmp+1,0,1); + memset(tmp + 1, 0, 1); lives_free(rfxbuilder->field_delim); - rfxbuilder->field_delim=lives_strdup(tmp); + rfxbuilder->field_delim = lives_strdup(tmp); lives_list_free_all(&list); - if (!(list=get_script_section("name",script_file,TRUE))) { - lives_snprintf(mainw->msg,512,"%s",(_("No <name> section found in script.\n"))); + if (!(list = get_script_section("name", script_file, TRUE))) { + lives_snprintf(mainw->msg, 512, "%s", (_("No <name> section found in script.\n"))); return FALSE; } - lives_entry_set_text(LIVES_ENTRY(rfxbuilder->name_entry),(char *)lives_list_nth_data(list,0)); + lives_entry_set_text(LIVES_ENTRY(rfxbuilder->name_entry), (char *)lives_list_nth_data(list, 0)); lives_list_free_all(&list); - if (!(list=get_script_section("version",script_file,TRUE))) { - lives_snprintf(mainw->msg,512,"%s",(_("No <version> section found in script.\n"))); + if (!(list = get_script_section("version", script_file, TRUE))) { + lives_snprintf(mainw->msg, 512, "%s", (_("No <version> section found in script.\n"))); return FALSE; } lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_version), - (double)atoi((char *)lives_list_nth_data(list,0))); + (double)atoi((char *)lives_list_nth_data(list, 0))); lives_list_free_all(&list); - if (!(list=get_script_section("author",script_file,TRUE))) { - lives_snprintf(mainw->msg,512,"%s",(_("No <author> section found in script.\n"))); + if (!(list = get_script_section("author", script_file, TRUE))) { + lives_snprintf(mainw->msg, 512, "%s", (_("No <author> section found in script.\n"))); return FALSE; } - array=lives_strsplit((char *)lives_list_nth_data(list,0),rfxbuilder->field_delim,2); - lives_entry_set_text(LIVES_ENTRY(rfxbuilder->author_entry),array[0]); - if (get_token_count((char *)lives_list_nth_data(list,0),(int)rfxbuilder->field_delim[0])>1) { - lives_entry_set_text(LIVES_ENTRY(rfxbuilder->url_entry),array[1]); + array = lives_strsplit((char *)lives_list_nth_data(list, 0), rfxbuilder->field_delim, 2); + lives_entry_set_text(LIVES_ENTRY(rfxbuilder->author_entry), array[0]); + if (get_token_count((char *)lives_list_nth_data(list, 0), (int)rfxbuilder->field_delim[0]) > 1) { + lives_entry_set_text(LIVES_ENTRY(rfxbuilder->url_entry), array[1]); } lives_strfreev(array); lives_list_free_all(&list); - if (!(list=get_script_section("description",script_file,TRUE))) { - lives_snprintf(mainw->msg,512,"%s",(_("No <description> section found in script.\n"))); + if (!(list = get_script_section("description", script_file, TRUE))) { + lives_snprintf(mainw->msg, 512, "%s", (_("No <description> section found in script.\n"))); return FALSE; } - if (get_token_count((char *)lives_list_nth_data(list,0),(int)rfxbuilder->field_delim[0])<4) { - lives_snprintf(mainw->msg,512,(_("Bad description. (%s)\n")),(char *)lives_list_nth_data(list,0)); + if (get_token_count((char *)lives_list_nth_data(list, 0), (int)rfxbuilder->field_delim[0]) < 4) { + lives_snprintf(mainw->msg, 512, (_("Bad description. (%s)\n")), (char *)lives_list_nth_data(list, 0)); lives_list_free_all(&list); return FALSE; } - array=lives_strsplit((char *)lives_list_nth_data(list,0),rfxbuilder->field_delim,-1); + array = lives_strsplit((char *)lives_list_nth_data(list, 0), rfxbuilder->field_delim, -1); lives_list_free_all(&list); - lives_entry_set_text(LIVES_ENTRY(rfxbuilder->menu_text_entry),array[0]); - lives_entry_set_text(LIVES_ENTRY(rfxbuilder->action_desc_entry),array[1]); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_min_frames),(double)atoi(array[2])); - num_channels=atoi(array[3]); + lives_entry_set_text(LIVES_ENTRY(rfxbuilder->menu_text_entry), array[0]); + lives_entry_set_text(LIVES_ENTRY(rfxbuilder->action_desc_entry), array[1]); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(rfxbuilder->spinbutton_min_frames), (double)atoi(array[2])); + num_channels = atoi(array[3]); - if (num_channels==2) { - rfxbuilder->type=RFX_BUILD_TYPE_EFFECT2; + if (num_channels == 2) { + rfxbuilder->type = RFX_BUILD_TYPE_EFFECT2; } - if (num_channels==0) { - rfxbuilder->type=RFX_BUILD_TYPE_EFFECT0; + if (num_channels == 0) { + rfxbuilder->type = RFX_BUILD_TYPE_EFFECT0; } - if (atoi(array[2])==-1) rfxbuilder->type=RFX_BUILD_TYPE_UTILITY; + if (atoi(array[2]) == -1) rfxbuilder->type = RFX_BUILD_TYPE_UTILITY; lives_strfreev(array); - rfxbuilder->script_name=lives_strdup(script_file); + rfxbuilder->script_name = lives_strdup(script_file); - if ((list=get_script_section("requires",script_file,TRUE))) { - rfxbuilder->num_reqs=lives_list_length(list); - for (i=0; i<lives_list_length(list); i++) { - rfxbuilder->reqs[i]=(char *)lives_list_nth_data(list,i); + if ((list = get_script_section("requires", script_file, TRUE))) { + rfxbuilder->num_reqs = lives_list_length(list); + for (i = 0; i < lives_list_length(list); i++) { + rfxbuilder->reqs[i] = (char *)lives_list_nth_data(list, i); } lives_list_free(list); } - rfxbuilder->props=0; + rfxbuilder->props = 0; - if ((list=get_script_section("properties",script_file,TRUE))) { - if (!strncmp((char *)lives_list_nth_data(list,0),"0x",2)||!strncmp((char *)lives_list_nth_data(list,0),"0x",2)) { - rfxbuilder->props=hextodec((char *)lives_list_nth_data(list,0)+2); - } else rfxbuilder->props=atoi((char *)lives_list_nth_data(list,0)); + if ((list = get_script_section("properties", script_file, TRUE))) { + if (!strncmp((char *)lives_list_nth_data(list, 0), "0x", 2) || !strncmp((char *)lives_list_nth_data(list, 0), "0x", 2)) { + rfxbuilder->props = hextodec((char *)lives_list_nth_data(list, 0) + 2); + } else rfxbuilder->props = atoi((char *)lives_list_nth_data(list, 0)); lives_list_free_all(&list); } - if (rfxbuilder->props<0) rfxbuilder->props=0; + if (rfxbuilder->props < 0) rfxbuilder->props = 0; - if (rfxbuilder->props&RFX_PROPS_MAY_RESIZE) rfxbuilder->type=RFX_BUILD_TYPE_TOOL; + if (rfxbuilder->props & RFX_PROPS_MAY_RESIZE) rfxbuilder->type = RFX_BUILD_TYPE_TOOL; - if ((list=get_script_section("params",script_file,TRUE))) { + if ((list = get_script_section("params", script_file, TRUE))) { char *type; - rfxbuilder->num_params=lives_list_length(list); - rfxbuilder->params=(lives_param_t *)lives_malloc(rfxbuilder->num_params*sizeof(lives_param_t)); + rfxbuilder->num_params = lives_list_length(list); + rfxbuilder->params = (lives_param_t *)lives_malloc(rfxbuilder->num_params * sizeof(lives_param_t)); - for (i=0; i<lives_list_length(list); i++) { + for (i = 0; i < lives_list_length(list); i++) { // TODO - error check - line=(char *)lives_list_nth_data(list,i); + line = (char *)lives_list_nth_data(list, i); - len=get_token_count(line,(int)rfxbuilder->field_delim[0]); - array=lives_strsplit(line,rfxbuilder->field_delim,-1); + len = get_token_count(line, (int)rfxbuilder->field_delim[0]); + array = lives_strsplit(line, rfxbuilder->field_delim, -1); lives_free(line); - rfxbuilder->params[i].name=lives_strdup(array[0]); - rfxbuilder->params[i].label=lives_strdup(array[1]); - rfxbuilder->params[i].onchange=FALSE; - rfxbuilder->params[i].dp=0; - rfxbuilder->params[i].group=0; + rfxbuilder->params[i].name = lives_strdup(array[0]); + rfxbuilder->params[i].label = lives_strdup(array[1]); + rfxbuilder->params[i].onchange = FALSE; + rfxbuilder->params[i].dp = 0; + rfxbuilder->params[i].group = 0; //////////////// - rfxbuilder->params[i].desc=NULL; - rfxbuilder->params[i].use_mnemonic=TRUE; - rfxbuilder->params[i].step_size=1.; - rfxbuilder->params[i].interp_func=rfxbuilder->params[i].display_func=NULL; - rfxbuilder->params[i].hidden=FALSE; - rfxbuilder->params[i].transition=FALSE; - rfxbuilder->params[i].wrap=FALSE; + rfxbuilder->params[i].desc = NULL; + rfxbuilder->params[i].use_mnemonic = TRUE; + rfxbuilder->params[i].step_size = 1.; + rfxbuilder->params[i].interp_func = rfxbuilder->params[i].display_func = NULL; + rfxbuilder->params[i].hidden = FALSE; + rfxbuilder->params[i].transition = FALSE; + rfxbuilder->params[i].wrap = FALSE; //////////////// - type=lives_strdup(array[2]); - if (!strncmp(type,"num",3)) { - rfxbuilder->params[i].dp=atoi(type+3); - rfxbuilder->params[i].type=LIVES_PARAM_NUM; + type = lives_strdup(array[2]); + if (!strncmp(type, "num", 3)) { + rfxbuilder->params[i].dp = atoi(type + 3); + rfxbuilder->params[i].type = LIVES_PARAM_NUM; if (rfxbuilder->params[i].dp) { - rfxbuilder->params[i].def=lives_malloc(sizint); - set_double_param(rfxbuilder->params[i].def,lives_strtod(array[3],NULL)); + rfxbuilder->params[i].def = lives_malloc(sizint); + set_double_param(rfxbuilder->params[i].def, lives_strtod(array[3], NULL)); } else { - rfxbuilder->params[i].def=lives_malloc(sizint); - set_int_param(rfxbuilder->params[i].def,atoi(array[3])); + rfxbuilder->params[i].def = lives_malloc(sizint); + set_int_param(rfxbuilder->params[i].def, atoi(array[3])); } - rfxbuilder->params[i].min=lives_strtod(array[4],NULL); - rfxbuilder->params[i].max=lives_strtod(array[5],NULL); - if (len>6) { - rfxbuilder->params[i].step_size=lives_strtod(array[6],NULL); - if (rfxbuilder->params[i].step_size==0.) rfxbuilder->params[i].step_size=1.; - else if (rfxbuilder->params[i].step_size<0.) { - rfxbuilder->params[i].step_size=-rfxbuilder->params[i].step_size; - rfxbuilder->params[i].wrap=TRUE; + rfxbuilder->params[i].min = lives_strtod(array[4], NULL); + rfxbuilder->params[i].max = lives_strtod(array[5], NULL); + if (len > 6) { + rfxbuilder->params[i].step_size = lives_strtod(array[6], NULL); + if (rfxbuilder->params[i].step_size == 0.) rfxbuilder->params[i].step_size = 1.; + else if (rfxbuilder->params[i].step_size < 0.) { + rfxbuilder->params[i].step_size = -rfxbuilder->params[i].step_size; + rfxbuilder->params[i].wrap = TRUE; } } - } else if (!strcmp(type,"colRGB24")) { - rfxbuilder->params[i].type=LIVES_PARAM_COLRGB24; - rfxbuilder->params[i].def=lives_malloc(3*sizint); - set_colRGB24_param(rfxbuilder->params[i].def,(short)atoi(array[3]), - (short)atoi(array[4]),(short)atoi(array[5])); - } else if (!strcmp(type,"string")) { - rfxbuilder->params[i].type=LIVES_PARAM_STRING; - rfxbuilder->params[i].def=subst((tmp=L2U8(array[3])),"\\n","\n"); + } else if (!strcmp(type, "colRGB24")) { + rfxbuilder->params[i].type = LIVES_PARAM_COLRGB24; + rfxbuilder->params[i].def = lives_malloc(3 * sizint); + set_colRGB24_param(rfxbuilder->params[i].def, (short)atoi(array[3]), + (short)atoi(array[4]), (short)atoi(array[5])); + } else if (!strcmp(type, "string")) { + rfxbuilder->params[i].type = LIVES_PARAM_STRING; + rfxbuilder->params[i].def = subst((tmp = L2U8(array[3])), "\\n", "\n"); lives_free(tmp); - if (len>4) rfxbuilder->params[i].max=(double)atoi(array[4]); - else rfxbuilder->params[i].max=1024; // TODO - } else if (!strcmp(type,"string_list")) { - rfxbuilder->params[i].type=LIVES_PARAM_STRING_LIST; - rfxbuilder->params[i].def=lives_malloc(sizint); - set_int_param(rfxbuilder->params[i].def,atoi(array[3])); - if (len>3) { - rfxbuilder->params[i].list=array_to_string_list(array,3,len); + if (len > 4) rfxbuilder->params[i].max = (double)atoi(array[4]); + else rfxbuilder->params[i].max = 1024; // TODO + } else if (!strcmp(type, "string_list")) { + rfxbuilder->params[i].type = LIVES_PARAM_STRING_LIST; + rfxbuilder->params[i].def = lives_malloc(sizint); + set_int_param(rfxbuilder->params[i].def, atoi(array[3])); + if (len > 3) { + rfxbuilder->params[i].list = array_to_string_list(array, 3, len); } else { - rfxbuilder->params[i].list=NULL; - set_int_param(rfxbuilder->params[i].def,0); + rfxbuilder->params[i].list = NULL; + set_int_param(rfxbuilder->params[i].def, 0); } } else { // default is bool - rfxbuilder->params[i].type=LIVES_PARAM_BOOL; - rfxbuilder->params[i].def=lives_malloc(sizint); - set_bool_param(rfxbuilder->params[i].def,atoi(array[3])); - if (len>4) rfxbuilder->params[i].group=atoi(array[4]); + rfxbuilder->params[i].type = LIVES_PARAM_BOOL; + rfxbuilder->params[i].def = lives_malloc(sizint); + set_bool_param(rfxbuilder->params[i].def, atoi(array[3])); + if (len > 4) rfxbuilder->params[i].group = atoi(array[4]); } lives_free(type); lives_strfreev(array); @@ -3587,75 +3593,75 @@ lives_list_free(list); } - if ((list=get_script_section("param_window",script_file,TRUE))) { - rfxbuilder->num_paramw_hints=lives_list_length(list); - for (i=0; i<lives_list_length(list); i++) { - rfxbuilder->paramw_hints[i]=(char *)lives_list_nth_data(list,i); + if ((list = get_script_section("param_window", script_file, TRUE))) { + rfxbuilder->num_paramw_hints = lives_list_length(list); + for (i = 0; i < lives_list_length(list); i++) { + rfxbuilder->paramw_hints[i] = (char *)lives_list_nth_data(list, i); } lives_list_free(list); } - if ((list=get_script_section("onchange",script_file,TRUE))) { - for (i=0; i<lives_list_length(list); i++) { - array=lives_strsplit((char *)lives_list_nth_data(list,i),rfxbuilder->field_delim,-1); - if (!strcmp(array[0],"init")) { + if ((list = get_script_section("onchange", script_file, TRUE))) { + for (i = 0; i < lives_list_length(list); i++) { + array = lives_strsplit((char *)lives_list_nth_data(list, i), rfxbuilder->field_delim, -1); + if (!strcmp(array[0], "init")) { if (!rfxbuilder->has_init_trigger) { - rfxbuilder->has_init_trigger=TRUE; + rfxbuilder->has_init_trigger = TRUE; rfxbuilder->num_triggers++; } - } else if ((tnum=atoi(array[0])+1)<=rfxbuilder->num_params&&tnum>0) { - if (!rfxbuilder->params[tnum-1].onchange) { - rfxbuilder->params[tnum-1].onchange=TRUE; + } else if ((tnum = atoi(array[0]) + 1) <= rfxbuilder->num_params && tnum > 0) { + if (!rfxbuilder->params[tnum - 1].onchange) { + rfxbuilder->params[tnum - 1].onchange = TRUE; rfxbuilder->num_triggers++; } } else { //invalid trigger - char *msg=lives_strdup_printf(_("\n\nInvalid trigger (%s)\nfound in script.\n\n"),array[0]); + char *msg = lives_strdup_printf(_("\n\nInvalid trigger (%s)\nfound in script.\n\n"), array[0]); do_error_dialog(msg); lives_free(msg); } lives_strfreev(array); } //end pass 1 - rfxbuilder->triggers=(rfx_trigger_t *)lives_malloc(rfxbuilder->num_triggers*sizeof(rfx_trigger_t)); + rfxbuilder->triggers = (rfx_trigger_t *)lives_malloc(rfxbuilder->num_triggers * sizeof(rfx_trigger_t)); - for (i=0; i<rfxbuilder->num_triggers; i++) { - rfxbuilder->triggers[i].when=-1; - rfxbuilder->triggers[i].code=lives_strdup(""); + for (i = 0; i < rfxbuilder->num_triggers; i++) { + rfxbuilder->triggers[i].when = -1; + rfxbuilder->triggers[i].code = lives_strdup(""); } - filled_triggers=0; - for (i=0; i<lives_list_length(list); i++) { - array=lives_strsplit((char *)lives_list_nth_data(list,i),rfxbuilder->field_delim,-1); - if (!strcmp(array[0],"init")) { + filled_triggers = 0; + for (i = 0; i < lives_list_length(list); i++) { + array = lives_strsplit((char *)lives_list_nth_data(list, i), rfxbuilder->field_delim, -1); + if (!strcmp(array[0], "init")) { // find init trigger and concatenate code - found=filled_triggers; - for (j=0; j<filled_triggers&&found==filled_triggers; j++) if (rfxbuilder->triggers[j].when==0) found=j; - if (found==filled_triggers) filled_triggers++; + found = filled_triggers; + for (j = 0; j < filled_triggers && found == filled_triggers; j++) if (rfxbuilder->triggers[j].when == 0) found = j; + if (found == filled_triggers) filled_triggers++; if (!strlen(rfxbuilder->triggers[found].code)) { - tmp=lives_strconcat(rfxbuilder->triggers[found].code,array[1],NULL); + tmp = lives_strconcat(rfxbuilder->triggers[found].code, array[1], NULL); } else { - tmp=lives_strconcat(rfxbuilder->triggers[found].code,"\n",array[1],NULL); + tmp = lives_strconcat(rfxbuilder->triggers[found].code, "\n", array[1], NULL); } lives_free(rfxbuilder->triggers[found].code); - rfxbuilder->triggers[found].when=0; - rfxbuilder->triggers[found].code=lives_strdup(tmp); + rfxbuilder->triggers[found].when = 0; + rfxbuilder->triggers[found].code = lives_strdup(tmp); lives_free(tmp); - } else if ((tnum=atoi(array[0])+1)<=rfxbuilder->num_params&&tnum>0) { + } else if ((tnum = atoi(array[0]) + 1) <= rfxbuilder->num_params && tnum > 0) { // find tnum trigger and concatenate code - found=filled_triggers; + found = filled_triggers; - for (j=0; j<filled_triggers&&found==filled_triggers; j++) if (rfxbuilder->triggers[j].when==tnum) found=j; - if (found==filled_triggers) filled_triggers++; + for (j = 0; j < filled_triggers && found == filled_triggers; j++) if (rfxbuilder->triggers[j].when == tnum) found = j; + if (found == filled_triggers) filled_triggers++; if (!strlen(rfxbuilder->triggers[found].code)) { - tmp=lives_strconcat(rfxbuilder->triggers[found].code,array[1],NULL); + tmp = lives_strconcat(rfxbuilder->triggers[found].code, array[1], NULL); } else { - tmp=lives_strconcat(rfxbuilder->triggers[found].code,"\n",array[1],NULL); + tmp = lives_strconcat(rfxbuilder->triggers[found].code, "\n", array[1], NULL); } lives_free(rfxbuilder->triggers[found].code); - rfxbuilder->triggers[found].when=tnum; - rfxbuilder->triggers[found].code=lives_strdup(tmp); + rfxbuilder->triggers[found].when = tnum; + rfxbuilder->triggers[found].code = lives_strdup(tmp); lives_free(tmp); } lives_strfreev(array); @@ -3663,29 +3669,29 @@ lives_list_free_all(&list); } - if ((list=get_script_section("pre",script_file,FALSE))) { - for (i=0; i<lives_list_length(list); i++) { - tmp=lives_strconcat(rfxbuilder->pre_code,lives_list_nth_data(list,i),NULL); + if ((list = get_script_section("pre", script_file, FALSE))) { + for (i = 0; i < lives_list_length(list); i++) { + tmp = lives_strconcat(rfxbuilder->pre_code, lives_list_nth_data(list, i), NULL); lives_free(rfxbuilder->pre_code); - rfxbuilder->pre_code=tmp; + rfxbuilder->pre_code = tmp; } lives_list_free_all(&list); } - if ((list=get_script_section("loop",script_file,FALSE))) { - for (i=0; i<lives_list_length(list); i++) { - tmp=lives_strconcat(rfxbuilder->loop_code,lives_list_nth_data(list,i),NULL); + if ((list = get_script_section("loop", script_file, FALSE))) { + for (i = 0; i < lives_list_length(list); i++) { + tmp = lives_strconcat(rfxbuilder->loop_code, lives_list_nth_data(list, i), NULL); lives_free(rfxbuilder->loop_code); - rfxbuilder->loop_code=tmp; + rfxbuilder->loop_code = tmp; } lives_list_free_all(&list); } - if ((list=get_script_section("post",script_file,FALSE))) { - for (i=0; i<lives_list_length(list); i++) { - tmp=lives_strconcat(rfxbuilder->post_code,lives_list_nth_data(list,i),NULL); + if ((list = get_script_section("post", script_file, FALSE))) { + for (i = 0; i < lives_list_length(list); i++) { + tmp = lives_strconcat(rfxbuilder->post_code, lives_list_nth_data(list, i), NULL); lives_free(rfxbuilder->post_code); - rfxbuilder->post_code=tmp; + rfxbuilder->post_code = tmp; } lives_list_free_all(&list); } @@ -3698,44 +3704,44 @@ LiVESList *get_script_section(const char *section, const char *file, boolean strip) { FILE *script_file; - LiVESList *list=NULL; + LiVESList *list = NULL; size_t linelen; char buff[65536]; char *line; - char *whole=lives_strdup(""),*whole2; + char *whole = lives_strdup(""), *whole2; - char *outfile=lives_strdup_printf("%s"LIVES_DIR_SEP"rfxsec.%d",prefs->workdir,capable->mainpid); + char *outfile = lives_strdup_printf("%s"LIVES_DIR_SEP"rfxsec.%d", prefs->workdir, capable->mainpid); #ifndef IS_MINGW - char *com=lives_strdup_printf("\"%s\" -get \"%s\" \"%s\" > \"%s\"",RFX_BUILDER,section,file,outfile); + char *com = lives_strdup_printf("\"%s\" -get \"%s\" \"%s\" > \"%s\"", RFX_BUILDER, section, file, outfile); #else - char *com=lives_strdup_printf("perl \"%s\\%s\" -get \"%s\" \"%s\" > \"%s\"",prefs->prefix_dir,RFX_BUILDER, - section,file,outfile); + char *com = lives_strdup_printf("perl \"%s\\%s\" -get \"%s\" \"%s\" > \"%s\"", prefs->prefix_dir, RFX_BUILDER, + section, file, outfile); #endif - mainw->com_failed=FALSE; + mainw->com_failed = FALSE; - lives_system(com,FALSE); + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) return NULL; - if ((script_file=fopen(outfile,"r"))) { - while (fgets(buff,65536,script_file)) { - if (buff!=NULL) { - if (strip) line=(lives_strstrip(buff)); - else line=buff; - if ((linelen=strlen(line))) { - whole2=lives_strconcat(whole,line,NULL); - if (whole2!=whole) lives_free(whole); - whole=whole2; - if (linelen<(size_t)65535) { - list=lives_list_append(list, lives_strdup(whole)); + if ((script_file = fopen(outfile, "r"))) { + while (fgets(buff, 65536, script_file)) { + if (buff != NULL) { + if (strip) line = (lives_strstrip(buff)); + else line = buff; + if ((linelen = strlen(line))) { + whole2 = lives_strconcat(whole, line, NULL); + if (whole2 != whole) lives_free(whole); + whole = whole2; + if (linelen < (size_t)65535) { + list = lives_list_append(list, lives_strdup(whole)); lives_free(whole); - whole=lives_strdup(""); + whole = lives_strdup(""); } } } @@ -3760,21 +3766,21 @@ if (!check_builder_programs()) return; d_print(_("Rebuilding all RFX scripts...builtin...")); - do_threaded_dialog(_("Rebuilding scripts"),FALSE); + do_threaded_dialog(_("Rebuilding scripts"), FALSE); - com=lives_strdup_printf("%s build_rfx_plugins builtinx \"%s%s%s\" \"%s%s%s\" \"%s/bin\"",prefs->backend_sync, - prefs->prefix_dir, - PLUGIN_SCRIPTS_DIR,PLUGIN_RENDERED_EFFECTS_BUILTIN_SCRIPTS, - prefs->lib_dir,PLUGIN_EXEC_DIR,PLUGIN_RENDERED_EFFECTS_BUILTIN,prefs->prefix_dir); - lives_system(com,TRUE); + com = lives_strdup_printf("%s build_rfx_plugins builtinx \"%s%s%s\" \"%s%s%s\" \"%s/bin\"", prefs->backend_sync, + prefs->prefix_dir, + PLUGIN_SCRIPTS_DIR, PLUGIN_RENDERED_EFFECTS_BUILTIN_SCRIPTS, + prefs->lib_dir, PLUGIN_EXEC_DIR, PLUGIN_RENDERED_EFFECTS_BUILTIN, prefs->prefix_dir); + lives_system(com, TRUE); lives_free(com); d_print(_("custom...")); - com=lives_strdup_printf("%s build_rfx_plugins custom",prefs->backend_sync); - lives_system(com,FALSE); + com = lives_strdup_printf("%s build_rfx_plugins custom", prefs->backend_sync); + lives_system(com, FALSE); lives_free(com); d_print(_("test...")); - com=lives_strdup_printf("%s build_rfx_plugins test",prefs->backend_sync); - lives_system(com,FALSE); + com = lives_strdup_printf("%s build_rfx_plugins test", prefs->backend_sync); + lives_system(com, FALSE); lives_free(com); @@ -3803,18 +3809,18 @@ char loc[32]; char *msg; - get_location(RFX_BUILDER,loc,32); + get_location(RFX_BUILDER, loc, 32); if (!strlen(loc)) { - msg=lives_strdup_printf(_("\n\nLiVES was unable to find the program %s.\nPlease check this program is in your path and executable.\n"), - RFX_BUILDER); + msg = lives_strdup_printf(_("\n\nLiVES was unable to find the program %s.\nPlease check this program is in your path and executable.\n"), + RFX_BUILDER); do_blocking_error_dialog(msg); lives_free(msg); return FALSE; } - get_location(RFX_BUILDER_MULTI,loc,32); + get_location(RFX_BUILDER_MULTI, loc, 32); if (!strlen(loc)) { - msg=lives_strdup_printf(_("\n\nLiVES was unable to find the program %s.\nPlease check this program is in your path and executable.\n"), - RFX_BUILDER_MULTI); + msg = lives_strdup_printf(_("\n\nLiVES was unable to find the program %s.\nPlease check this program is in your path and executable.\n"), + RFX_BUILDER_MULTI); do_blocking_error_dialog(msg); lives_free(msg); return FALSE; @@ -3825,25 +3831,25 @@ void on_delete_rfx_activate(LiVESMenuItem *menuitem, livespointer user_data) { - lives_rfx_status_t status=(lives_rfx_status_t)LIVES_POINTER_TO_INT(user_data); + lives_rfx_status_t status = (lives_rfx_status_t)LIVES_POINTER_TO_INT(user_data); int ret; - char *rfx_script_file,*rfx_script_dir; - char *script_name=prompt_for_script_name(NULL,status); + char *rfx_script_file, *rfx_script_dir; + char *script_name = prompt_for_script_name(NULL, status); char *msg; - if (script_name==NULL) return; // user cancelled + if (script_name == NULL) return; // user cancelled if (strlen(script_name)) { switch (status) { case RFX_STATUS_TEST: - rfx_script_dir=lives_build_filename(capable->home_dir,LIVES_CONFIG_DIR, - PLUGIN_RENDERED_EFFECTS_TEST_SCRIPTS,NULL); - rfx_script_file=lives_build_filename(rfx_script_dir,script_name,NULL); + rfx_script_dir = lives_build_filename(capable->home_dir, LIVES_CONFIG_DIR, + PLUGIN_RENDERED_EFFECTS_TEST_SCRIPTS, NULL); + rfx_script_file = lives_build_filename(rfx_script_dir, script_name, NULL); break; case RFX_STATUS_CUSTOM: - rfx_script_dir=lives_build_filename(capable->home_dir,LIVES_CONFIG_DIR, - PLUGIN_RENDERED_EFFECTS_CUSTOM_SCRIPTS,NULL); - rfx_script_file=lives_build_filename(rfx_script_dir,script_name,NULL); + rfx_script_dir = lives_build_filename(capable->home_dir, LIVES_CONFIG_DIR, + PLUGIN_RENDERED_EFFECTS_CUSTOM_SCRIPTS, NULL); + rfx_script_file = lives_build_filename(rfx_script_dir, script_name, NULL); break; default: // we will not delete builtins @@ -3853,7 +3859,7 @@ lives_free(script_name); // double check with user - msg=lives_strdup_printf(_("\n\nReally delete RFX script\n%s ?\n\n"),rfx_script_file); + msg = lives_strdup_printf(_("\n\nReally delete RFX script\n%s ?\n\n"), rfx_script_file); if (!do_warning_dialog(msg)) { lives_free(msg); lives_free(rfx_script_file); @@ -3863,15 +3869,15 @@ lives_free(msg); - d_print(_("Deleting rfx script %s..."),rfx_script_file); + d_print(_("Deleting rfx script %s..."), rfx_script_file); - if (!(ret=lives_rm(rfx_script_file))) { - lives_rmdir(rfx_script_dir,TRUE); + if (!(ret = lives_rm(rfx_script_file))) { + lives_rmdir(rfx_script_dir, TRUE); d_print_done(); - on_rebuild_rfx_activate(NULL,NULL); + on_rebuild_rfx_activate(NULL, NULL); } else { d_print_failed(); - msg=lives_strdup_printf(_("\n\nFailed to delete the script\n%s\nError code was %d\n"),rfx_script_file,ret); + msg = lives_strdup_printf(_("\n\nFailed to delete the script\n%s\nError code was %d\n"), rfx_script_file, ret); do_error_dialog(msg); lives_free(msg); } @@ -3882,33 +3888,33 @@ void on_promote_rfx_activate(LiVESMenuItem *menuitem, livespointer user_data) { - char *rfx_script_from=NULL; - char *rfx_script_to=NULL; - char *rfx_dir_from=NULL; - char *rfx_dir_to=NULL; - char *script_name=prompt_for_script_name(NULL,RFX_STATUS_TEST); + char *rfx_script_from = NULL; + char *rfx_script_to = NULL; + char *rfx_dir_from = NULL; + char *rfx_dir_to = NULL; + char *script_name = prompt_for_script_name(NULL, RFX_STATUS_TEST); char *msg; - int ret=0; - boolean failed=TRUE; + int ret = 0; + boolean failed = TRUE; - if (script_name==NULL) return; // user cancelled + if (script_name == NULL) return; // user cancelled if (strlen(script_name)) { - rfx_dir_from=lives_build_filename(capable->home_dir,LIVES_CONFIG_DIR, - PLUGIN_RENDERED_EFFECTS_TEST_SCRIPTS,NULL); + rfx_dir_from = lives_build_filename(capable->home_dir, LIVES_CONFIG_DIR, + PLUGIN_RENDERED_EFFECTS_TEST_SCRIPTS, NULL); - rfx_script_from=lives_build_filename(rfx_dir_from,script_name,NULL); + rfx_script_from = lives_build_filename(rfx_dir_from, script_name, NULL); - rfx_dir_to=lives_build_filename(capable->home_dir,LIVES_CONFIG_DIR, - PLUGIN_RENDERED_EFFECTS_CUSTOM_SCRIPTS,NULL); + rfx_dir_to = lives_build_filename(capable->home_dir, LIVES_CONFIG_DIR, + PLUGIN_RENDERED_EFFECTS_CUSTOM_SCRIPTS, NULL); - rfx_script_to=lives_build_filename(rfx_dir_to,script_name,NULL); + rfx_script_to = lives_build_filename(rfx_dir_to, script_name, NULL); if (lives_file_test(rfx_script_to, LIVES_FILE_TEST_EXISTS)) { - char *msg=lives_strdup_printf(_("\nCustom script file:\n%s\nalready exists.\nPlease delete it first, or rename the test script.\n"), - script_name); + char *msg = lives_strdup_printf(_("\nCustom script file:\n%s\nalready exists.\nPlease delete it first, or rename the test script.\n"), + script_name); do_blocking_error_dialog(msg); lives_free(msg); lives_free(rfx_dir_from); @@ -3919,28 +3925,28 @@ return; } - d_print(_("Promoting rfx test plugin %s to custom..."),script_name); + d_print(_("Promoting rfx test plugin %s to custom..."), script_name); lives_free(script_name); - lives_mkdir_with_parents(rfx_dir_to,capable->umask); + lives_mkdir_with_parents(rfx_dir_to, capable->umask); - if (!(ret=rename(rfx_script_from,rfx_script_to))) { + if (!(ret = rename(rfx_script_from, rfx_script_to))) { d_print_done(); - on_rebuild_rfx_activate(NULL,NULL); - failed=FALSE; + on_rebuild_rfx_activate(NULL, NULL); + failed = FALSE; } } if (failed) { - lives_rmdir(rfx_dir_to,FALSE); + lives_rmdir(rfx_dir_to, FALSE); d_print_failed(); - msg=lives_strdup_printf(_("\n\nFailed to move the plugin script from\n%s to\n%s\nReturn code was %d (%s)\n"), - rfx_script_from,rfx_script_to,errno,strerror(errno)); + msg = lives_strdup_printf(_("\n\nFailed to move the plugin script from\n%s to\n%s\nReturn code was %d (%s)\n"), + rfx_script_from, rfx_script_to, errno, strerror(errno)); do_error_dialog(msg); lives_free(msg); - } else lives_rmdir(rfx_dir_from,FALSE); + } else lives_rmdir(rfx_dir_from, FALSE); - if (rfx_script_from!=NULL) { + if (rfx_script_from != NULL) { lives_free(rfx_dir_from); lives_free(rfx_script_from); lives_free(rfx_dir_to); @@ -3951,26 +3957,26 @@ void on_export_rfx_activate(LiVESMenuItem *menuitem, livespointer user_data) { - lives_rfx_status_t status=(lives_rfx_status_t)LIVES_POINTER_TO_INT(user_data); + lives_rfx_status_t status = (lives_rfx_status_t)LIVES_POINTER_TO_INT(user_data); - char *script_name=prompt_for_script_name(NULL,status); - char *rfx_script_from,*filename; - char *tmp,*tmp2; + char *script_name = prompt_for_script_name(NULL, status); + char *rfx_script_from, *filename; + char *tmp, *tmp2; - if (script_name==NULL||!strlen(script_name)) return; // user cancelled + if (script_name == NULL || !strlen(script_name)) return; // user cancelled - filename = choose_file(NULL,script_name,NULL,LIVES_FILE_CHOOSER_ACTION_SAVE,_("Export Script"),NULL); + filename = choose_file(NULL, script_name, NULL, LIVES_FILE_CHOOSER_ACTION_SAVE, _("Export Script"), NULL); - if (filename==NULL) return; + if (filename == NULL) return; - rfx_script_from=lives_build_filename(capable->home_dir,LIVES_CONFIG_DIR, - PLUGIN_RENDERED_EFFECTS_CUSTOM_SCRIPTS,script_name,NULL); + rfx_script_from = lives_build_filename(capable->home_dir, LIVES_CONFIG_DIR, + PLUGIN_RENDERED_EFFECTS_CUSTOM_SCRIPTS, script_name, NULL); - d_print(_("Copying %s to %s..."),rfx_script_from,filename); + d_print(_("Copying %s to %s..."), rfx_script_from, filename); - mainw->com_failed=FALSE; - lives_cp((tmp=lives_filename_from_utf8(rfx_script_from,-1,NULL,NULL,NULL)), - (tmp2=lives_filename_from_utf8(filename,-1,NULL,NULL,NULL))); + mainw->com_failed = FALSE; + lives_cp((tmp = lives_filename_from_utf8(rfx_script_from, -1, NULL, NULL, NULL)), + (tmp2 = lives_filename_from_utf8(filename, -1, NULL, NULL, NULL))); if (mainw->com_failed) d_print_failed(); else d_print_done(); @@ -3984,42 +3990,42 @@ void on_import_rfx_activate(LiVESMenuItem *menuitem, livespointer user_data) { - short status=(short)LIVES_POINTER_TO_INT(user_data); - char *rfx_script_to,*rfx_dir_to; - char *tmp,*tmp2,*tmpx; + short status = (short)LIVES_POINTER_TO_INT(user_data); + char *rfx_script_to, *rfx_dir_to; + char *tmp, *tmp2, *tmpx; char basename[PATH_MAX]; - char *filename=choose_file(NULL,NULL,NULL,LIVES_FILE_CHOOSER_ACTION_OPEN,_("Import Script"),NULL); + char *filename = choose_file(NULL, NULL, NULL, LIVES_FILE_CHOOSER_ACTION_OPEN, _("Import Script"), NULL); - if (filename==NULL) return; + if (filename == NULL) return; - lives_snprintf(basename,PATH_MAX,"%s",filename); + lives_snprintf(basename, PATH_MAX, "%s", filename); get_basename(basename); - mainw->com_failed=FALSE; + mainw->com_failed = FALSE; switch (status) { - case RFX_STATUS_TEST : - rfx_dir_to=lives_build_filename(capable->home_dir,LIVES_CONFIG_DIR,PLUGIN_RENDERED_EFFECTS_TEST_SCRIPTS,NULL); + case RFX_STATUS_TEST: + rfx_dir_to = lives_build_filename(capable->home_dir, LIVES_CONFIG_DIR, PLUGIN_RENDERED_EFFECTS_TEST_SCRIPTS, NULL); - lives_mkdir_with_parents((tmp=lives_filename_from_utf8(rfx_dir_to,-1,NULL,NULL,NULL)),capable->umask); + lives_mkdir_with_parents((tmp = lives_filename_from_utf8(rfx_dir_to, -1, NULL, NULL, NULL)), capable->umask); lives_free(tmp); - rfx_script_to=lives_build_filename(rfx_dir_to,basename,NULL); + rfx_script_to = lives_build_filename(rfx_dir_to, basename, NULL); lives_free(rfx_dir_to); break; - case RFX_STATUS_CUSTOM : - rfx_dir_to=lives_build_filename(capable->home_dir,LIVES_CONFIG_DIR,PLUGIN_RENDERED_EFFECTS_CUSTOM_SCRIPTS,NULL); + case RFX_STATUS_CUSTOM: + rfx_dir_to = lives_build_filename(capable->home_dir, LIVES_CONFIG_DIR, PLUGIN_RENDERED_EFFECTS_CUSTOM_SCRIPTS, NULL); - lives_mkdir_with_parents((tmp=lives_filename_from_utf8(rfx_dir_to,-1,NULL,NULL,NULL)),capable->umask); + lives_mkdir_with_parents((tmp = lives_filename_from_utf8(rfx_dir_to, -1, NULL, NULL, NULL)), capable->umask); lives_free(tmp); - rfx_script_to=lives_build_filename(rfx_dir_to,basename,NULL); + rfx_script_to = lives_build_filename(rfx_dir_to, basename, NULL); lives_free(rfx_dir_to); break; - default : - rfx_script_to=lives_build_filename(prefs->prefix_dir,PLUGIN_SCRIPTS_DIR, - PLUGIN_RENDERED_EFFECTS_BUILTIN_SCRIPTS,basename,NULL); + default: + rfx_script_to = lives_build_filename(prefs->prefix_dir, PLUGIN_SCRIPTS_DIR, + PLUGIN_RENDERED_EFFECTS_BUILTIN_SCRIPTS, basename, NULL); break; } @@ -4031,26 +4037,26 @@ if (lives_file_test(rfx_script_to, LIVES_FILE_TEST_EXISTS)) { // needs switch...eventually - do_blocking_error_dialog((tmpx=lives_strdup_printf - (_("\nCustom script file:\n%s\nalready exists.\nPlease delete it first, or rename the import script.\n"),basename))); + do_blocking_error_dialog((tmpx = lives_strdup_printf + (_("\nCustom script file:\n%s\nalready exists.\nPlease delete it first, or rename the import script.\n"), basename))); lives_free(tmpx); lives_free(rfx_script_to); lives_free(filename); return; } - d_print(_("Copying %s to %s..."),filename,rfx_script_to); + d_print(_("Copying %s to %s..."), filename, rfx_script_to); - mainw->com_failed=FALSE; - lives_cp((tmp=lives_filename_from_utf8(filename,-1,NULL,NULL,NULL)), - (tmp2=lives_filename_from_utf8(rfx_script_to,-1,NULL,NULL,NULL))); + mainw->com_failed = FALSE; + lives_cp((tmp = lives_filename_from_utf8(filename, -1, NULL, NULL, NULL)), + (tmp2 = lives_filename_from_utf8(rfx_script_to, -1, NULL, NULL, NULL))); lives_free(tmp); lives_free(tmp2); if (mainw->com_failed) d_print_failed(); else { d_print_done(); - on_rebuild_rfx_activate(NULL,NULL); + on_rebuild_rfx_activate(NULL, NULL); } lives_free(rfx_script_to); lives_free(filename); @@ -4072,7 +4078,7 @@ // in rename mode a test script will be copied to another test script - char *name=NULL; + char *name = NULL; char *from_name; char *from_status; char *rfx_script_from; @@ -4083,31 +4089,31 @@ LiVESWidget *vbox; LiVESWidget *hbox; LiVESWidget *label; - LiVESWidget *script_combo=NULL; - LiVESWidget *name_entry=NULL; - LiVESWidget *script_combo_entry=NULL; - LiVESWidget *status_combo=NULL; - LiVESWidget *status_combo_entry=NULL; + LiVESWidget *script_combo = NULL; + LiVESWidget *name_entry = NULL; + LiVESWidget *script_combo_entry = NULL; + LiVESWidget *status_combo = NULL; + LiVESWidget *status_combo_entry = NULL; LiVESWidget *dialog; LiVESWidget *cancelbutton; - LiVESList *status_list=NULL; + LiVESList *status_list = NULL; - boolean copy_mode=FALSE; - boolean rename_mode=FALSE; + boolean copy_mode = FALSE; + boolean rename_mode = FALSE; boolean OK; - if (status==RFX_STATUS_COPY) { - copy_mode=TRUE; + if (status == RFX_STATUS_COPY) { + copy_mode = TRUE; status_list = lives_list_append(status_list, lives_strdup(mainw->string_constants[LIVES_STRING_CONSTANT_BUILTIN])); status_list = lives_list_append(status_list, lives_strdup(mainw->string_constants[LIVES_STRING_CONSTANT_CUSTOM])); status_list = lives_list_append(status_list, lives_strdup(mainw->string_constants[LIVES_STRING_CONSTANT_TEST])); } - dialog = lives_standard_dialog_new(NULL,FALSE,-1,-1); + dialog = lives_standard_dialog_new(NULL, FALSE, -1, -1); if (prefs->show_gui) { - lives_window_set_transient_for(LIVES_WINDOW(dialog),LIVES_WINDOW(mainw->LiVES)); + lives_window_set_transient_for(LIVES_WINDOW(dialog), LIVES_WINDOW(mainw->LiVES)); } vbox = lives_dialog_get_content_area(LIVES_DIALOG(dialog)); @@ -4128,7 +4134,7 @@ if (copy_mode) { lives_window_set_title(LIVES_WINDOW(dialog), _("Copy RFX Script")); - status_combo = lives_standard_combo_new(_("_From type: "),TRUE,status_list,LIVES_BOX(hbox),NULL); + status_combo = lives_standard_combo_new(_("_From type: "), TRUE, status_list, LIVES_BOX(hbox), NULL); status_combo_entry = lives_combo_get_entry(LIVES_COMBO(status_combo)); @@ -4137,15 +4143,15 @@ label = lives_standard_label_new(_(" Script: ")); lives_widget_show(label); lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, FALSE, widget_opts.packing_width); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_fg_color(label, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); } } else { - if (status==RFX_STATUS_RENAME) { + if (status == RFX_STATUS_RENAME) { lives_window_set_title(LIVES_WINDOW(dialog), _("Rename Test RFX Script")); label = lives_standard_label_new(_("From script: ")); - rename_mode=TRUE; - status=RFX_STATUS_TEST; + rename_mode = TRUE; + status = RFX_STATUS_TEST; } else { lives_window_set_title(LIVES_WINDOW(dialog), _("RFX Script Name")); label = lives_standard_label_new(_("Script name: ")); @@ -4154,110 +4160,110 @@ } - if (sname==NULL||copy_mode||rename_mode) { + if (sname == NULL || copy_mode || rename_mode) { script_combo = lives_combo_new(); name_entry = script_combo_entry = lives_combo_get_entry(LIVES_COMBO(script_combo)); - lives_entry_set_editable(LIVES_ENTRY(name_entry),FALSE); + lives_entry_set_editable(LIVES_ENTRY(name_entry), FALSE); lives_box_pack_start(LIVES_BOX(hbox), script_combo, TRUE, TRUE, widget_opts.packing_width); } - if (sname!=NULL||copy_mode||rename_mode) { + if (sname != NULL || copy_mode || rename_mode) { // name_entry becomes a normal lives_entry - name_entry=lives_entry_new(); + name_entry = lives_entry_new(); if (copy_mode) { - lives_signal_connect(LIVES_GUI_OBJECT(status_combo),LIVES_WIDGET_CHANGED_SIGNAL,LIVES_GUI_CALLBACK(on_script_status_changed), + lives_signal_connect(LIVES_GUI_OBJECT(status_combo), LIVES_WIDGET_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(on_script_status_changed), (livespointer)script_combo); label = lives_standard_label_new(_("New name: ")); } if (rename_mode) { label = lives_standard_label_new(_("New script name: ")); } - if (copy_mode||rename_mode) { + if (copy_mode || rename_mode) { hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, FALSE, widget_opts.packing_width); } else { - lives_entry_set_text(LIVES_ENTRY(name_entry),sname); + lives_entry_set_text(LIVES_ENTRY(name_entry), sname); } lives_box_pack_start(LIVES_BOX(hbox), name_entry, TRUE, TRUE, widget_opts.packing_width); } lives_widget_grab_focus(name_entry); lives_entry_set_activates_default(LIVES_ENTRY(name_entry), TRUE); - cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL,NULL); + cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(dialog), cancelbutton, LIVES_RESPONSE_CANCEL); - copy_script_okbutton = lives_button_new_from_stock(LIVES_STOCK_OK,NULL); + copy_script_okbutton = lives_button_new_from_stock(LIVES_STOCK_OK, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(dialog), copy_script_okbutton, LIVES_RESPONSE_OK); lives_widget_set_can_focus_and_default(copy_script_okbutton); lives_widget_grab_default(copy_script_okbutton); lives_widget_show_all(dialog); - if (status_combo!=NULL) on_script_status_changed(LIVES_COMBO(status_combo),(livespointer)script_combo); - else if (script_combo!=NULL) populate_script_combo(LIVES_COMBO(script_combo), status); + if (status_combo != NULL) on_script_status_changed(LIVES_COMBO(status_combo), (livespointer)script_combo); + else if (script_combo != NULL) populate_script_combo(LIVES_COMBO(script_combo), status); do { - OK=TRUE; - if (lives_dialog_run(LIVES_DIALOG(dialog))==LIVES_RESPONSE_OK) { - if (name!=NULL) lives_free(name); - name=lives_strdup(lives_entry_get_text(LIVES_ENTRY(name_entry))); + OK = TRUE; + if (lives_dialog_run(LIVES_DIALOG(dialog)) == LIVES_RESPONSE_OK) { + if (name != NULL) lives_free(name); + name = lives_strdup(lives_entry_get_text(LIVES_ENTRY(name_entry))); if (copy_mode) { - if (find_rfx_plugin_by_name(name,RFX_STATUS_TEST)>-1|| - find_rfx_plugin_by_name(name,RFX_STATUS_CUSTOM)>-1|| - find_rfx_plugin_by_name(name,RFX_STATUS_BUILTIN)>-1) { + if (find_rfx_plugin_by_name(name, RFX_STATUS_TEST) > -1 || + find_rfx_plugin_by_name(name, RFX_STATUS_CUSTOM) > -1 || + find_rfx_plugin_by_name(name, RFX_STATUS_BUILTIN) > -1) { do_blocking_error_dialog(_("\n\nThere is already a plugin with this name.\nName must be unique.\n")); - OK=FALSE; + OK = FALSE; } //copy selected script to test else { - from_name=lives_strdup(lives_entry_get_text(LIVES_ENTRY(script_combo_entry))); - from_status=lives_strdup(lives_entry_get_text(LIVES_ENTRY(status_combo_entry))); - if (!strcmp(from_status,mainw->string_constants[LIVES_STRING_CONSTANT_BUILTIN])) status=RFX_STATUS_BUILTIN; + from_name = lives_strdup(lives_entry_get_text(LIVES_ENTRY(script_combo_entry))); + from_status = lives_strdup(lives_entry_get_text(LIVES_ENTRY(status_combo_entry))); + if (!strcmp(from_status, mainw->string_constants[LIVES_STRING_CONSTANT_BUILTIN])) status = RFX_STATUS_BUILTIN; else { - if (!strcmp(from_status,mainw->string_constants[LIVES_STRING_CONSTANT_CUSTOM])) status=RFX_STATUS_CUSTOM; - else status=RFX_STATUS_TEST; + if (!strcmp(from_status, mainw->string_constants[LIVES_STRING_CONSTANT_CUSTOM])) status = RFX_STATUS_CUSTOM; + else status = RFX_STATUS_TEST; } - if ((rfxbuilder=make_rfx_build_window(from_name,status))==NULL) { + if ((rfxbuilder = make_rfx_build_window(from_name, status)) == NULL) { // invalid name - OK=FALSE; + OK = FALSE; } lives_free(from_name); lives_free(from_status); if (OK) { - lives_entry_set_text(LIVES_ENTRY(rfxbuilder->name_entry),name); - rfxbuilder->mode=RFX_BUILDER_MODE_COPY; + lives_entry_set_text(LIVES_ENTRY(rfxbuilder->name_entry), name); + rfxbuilder->mode = RFX_BUILDER_MODE_COPY; lives_widget_show(rfxbuilder->dialog); } } } if (rename_mode) { - LiVESList *nmlist=NULL; - char *xname=ensure_extension(name,".script"); + LiVESList *nmlist = NULL; + char *xname = ensure_extension(name, ".script"); - if (name !=NULL&&lives_list_find((nmlist=get_script_list(status)),xname)!=NULL) { + if (name != NULL && lives_list_find((nmlist = get_script_list(status)), xname) != NULL) { do_blocking_error_dialog(_("\n\nThere is already a test script with this name.\nScript name must be unique.\n")); - OK=FALSE; + OK = FALSE; } else { int ret; char *tmp; - from_name=lives_strdup(lives_entry_get_text(LIVES_ENTRY(script_combo_entry))); - rfx_script_from=lives_build_filename(capable->home_dir,LIVES_CONFIG_DIR, - PLUGIN_RENDERED_EFFECTS_TEST_SCRIPTS,from_name,NULL); - rfx_script_to=lives_build_filename(capable->home_dir,LIVES_CONFIG_DIR, - PLUGIN_RENDERED_EFFECTS_TEST_SCRIPTS,xname,NULL); - d_print(_("Renaming RFX test script %s to %s..."),from_name,xname); + from_name = lives_strdup(lives_entry_get_text(LIVES_ENTRY(script_combo_entry))); + rfx_script_from = lives_build_filename(capable->home_dir, LIVES_CONFIG_DIR, + PLUGIN_RENDERED_EFFECTS_TEST_SCRIPTS, from_name, NULL); + rfx_script_to = lives_build_filename(capable->home_dir, LIVES_CONFIG_DIR, + PLUGIN_RENDERED_EFFECTS_TEST_SCRIPTS, xname, NULL); + d_print(_("Renaming RFX test script %s to %s..."), from_name, xname); lives_free(from_name); - if ((ret=rename(rfx_script_from,rfx_script_to))) { + if ((ret = rename(rfx_script_from, rfx_script_to))) { d_print_failed(); - do_error_dialog((tmp=lives_strdup_printf(_("\n\nFailed to move the plugin script from\n%s to\n%s\nReturn code was %d\n"),rfx_script_from, - rfx_script_to,ret))); + do_error_dialog((tmp = lives_strdup_printf(_("\n\nFailed to move the plugin script from\n%s to\n%s\nReturn code was %d\n"), rfx_script_from, + rfx_script_to, ret))); lives_free(tmp); } else { d_print_done(); @@ -4265,7 +4271,7 @@ lives_free(rfx_script_from); lives_free(rfx_script_to); } - if (nmlist!=NULL) { + if (nmlist != NULL) { lives_list_free_all(&nmlist); } lives_free(xname); @@ -4279,34 +4285,34 @@ void populate_script_combo(LiVESCombo *script_combo, lives_rfx_status_t status) { - LiVESList *list=NULL; - lives_combo_populate(script_combo, (list=get_script_list(status))); - if (list!=NULL) { - lives_combo_set_active_index(script_combo,0); - lives_widget_set_sensitive(copy_script_okbutton,TRUE); + LiVESList *list = NULL; + lives_combo_populate(script_combo, (list = get_script_list(status))); + if (list != NULL) { + lives_combo_set_active_index(script_combo, 0); + lives_widget_set_sensitive(copy_script_okbutton, TRUE); lives_list_free_all(&list); } else { - lives_combo_set_active_string(script_combo,""); - lives_widget_set_sensitive(copy_script_okbutton,FALSE); + lives_combo_set_active_string(script_combo, ""); + lives_widget_set_sensitive(copy_script_okbutton, FALSE); } } void on_script_status_changed(LiVESCombo *status_combo, livespointer user_data) { - char *text=lives_combo_get_active_text(status_combo); - LiVESWidget *script_combo=(LiVESWidget *)user_data; + char *text = lives_combo_get_active_text(status_combo); + LiVESWidget *script_combo = (LiVESWidget *)user_data; - if (script_combo==NULL||!LIVES_IS_COMBO(script_combo)) return; + if (script_combo == NULL || !LIVES_IS_COMBO(script_combo)) return; - if (!(strcmp(text,mainw->string_constants[LIVES_STRING_CONSTANT_BUILTIN]))) { - populate_script_combo(LIVES_COMBO(script_combo),RFX_STATUS_BUILTIN); + if (!(strcmp(text, mainw->string_constants[LIVES_STRING_CONSTANT_BUILTIN]))) { + populate_script_combo(LIVES_COMBO(script_combo), RFX_STATUS_BUILTIN); } else { - if (!(strcmp(text,mainw->string_constants[LIVES_STRING_CONSTANT_CUSTOM]))) { - populate_script_combo(LIVES_COMBO(script_combo),RFX_STATUS_CUSTOM); + if (!(strcmp(text, mainw->string_constants[LIVES_STRING_CONSTANT_CUSTOM]))) { + populate_script_combo(LIVES_COMBO(script_combo), RFX_STATUS_CUSTOM); } else { - if (!(strcmp(text,mainw->string_constants[LIVES_STRING_CONSTANT_TEST]))) { - populate_script_combo(LIVES_COMBO(script_combo),RFX_STATUS_TEST); + if (!(strcmp(text, mainw->string_constants[LIVES_STRING_CONSTANT_TEST]))) { + populate_script_combo(LIVES_COMBO(script_combo), RFX_STATUS_TEST); } } } @@ -4315,18 +4321,18 @@ LiVESList *get_script_list(short status) { - LiVESList *script_list=NULL; + LiVESList *script_list = NULL; switch (status) { - case RFX_STATUS_TEST : - script_list=get_plugin_list(PLUGIN_RENDERED_EFFECTS_TEST_SCRIPTS,TRUE,NULL,"script"); + case RFX_STATUS_TEST: + script_list = get_plugin_list(PLUGIN_RENDERED_EFFECTS_TEST_SCRIPTS, TRUE, NULL, "script"); break; - case RFX_STATUS_CUSTOM : - script_list=get_plugin_list(PLUGIN_RENDERED_EFFECTS_CUSTOM_SCRIPTS,TRUE,NULL,"script"); + case RFX_STATUS_CUSTOM: + script_list = get_plugin_list(PLUGIN_RENDERED_EFFECTS_CUSTOM_SCRIPTS, TRUE, NULL, "script"); break; - case RFX_STATUS_BUILTIN : - case RFX_STATUS_COPY : - script_list=get_plugin_list(PLUGIN_RENDERED_EFFECTS_BUILTIN_SCRIPTS,TRUE,NULL,"script"); + case RFX_STATUS_BUILTIN: + case RFX_STATUS_COPY: + script_list = get_plugin_list(PLUGIN_RENDERED_EFFECTS_BUILTIN_SCRIPTS, TRUE, NULL, "script"); break; } return script_list; @@ -4337,12 +4343,12 @@ void add_rfx_effects(void) { // scan render plugin directories, create a rfx array, and add each to the appropriate menu area - LiVESList *rfx_builtin_list=NULL; - LiVESList *rfx_custom_list=NULL; - LiVESList *rfx_test_list=NULL; + LiVESList *rfx_builtin_list = NULL; + LiVESList *rfx_custom_list = NULL; + LiVESList *rfx_test_list = NULL; - lives_rfx_t *rfx=NULL; + lives_rfx_t *rfx = NULL; lives_rfx_t *rendered_fx; char txt[64]; // menu text @@ -4352,28 +4358,28 @@ #endif LiVESWidget *menuitem; - int i,plugin_idx,rfx_slot_count=1; + int i, plugin_idx, rfx_slot_count = 1; - int rc_child=0; + int rc_child = 0; - int tool_posn=RFX_TOOL_MENU_POSN; - int rfx_builtin_list_length=0,rfx_custom_list_length=0,rfx_test_list_length=0,rfx_list_length=0; + int tool_posn = RFX_TOOL_MENU_POSN; + int rfx_builtin_list_length = 0, rfx_custom_list_length = 0, rfx_test_list_length = 0, rfx_list_length = 0; #ifndef NO_RFX boolean allow_nonex; #endif - mainw->has_custom_tools=FALSE; - mainw->has_custom_gens=FALSE; - mainw->has_custom_utilities=FALSE; + mainw->has_custom_tools = FALSE; + mainw->has_custom_gens = FALSE; + mainw->has_custom_utilities = FALSE; // exterminate...all...menuentries.... // TODO - account for case where we only have apply_realtime (i.e add 1 to builtin count) if (mainw->num_rendered_effects_builtin) { - for (i=0; i<=mainw->num_rendered_effects_builtin+mainw->num_rendered_effects_custom - +mainw->num_rendered_effects_test; i++) { - if (mainw->rendered_fx!=NULL) { - if (mainw->rendered_fx[i].menuitem!=NULL) { + for (i = 0; i <= mainw->num_rendered_effects_builtin + mainw->num_rendered_effects_custom + + mainw->num_rendered_effects_test; i++) { + if (mainw->rendered_fx != NULL) { + if (mainw->rendered_fx[i].menuitem != NULL) { lives_widget_destroy(mainw->rendered_fx[i].menuitem); threaded_dialog_spin(0.); } @@ -4382,57 +4388,57 @@ threaded_dialog_spin(0.); - if (mainw->rte_separator!=NULL) { - if (mainw->custom_effects_separator!=NULL) lives_widget_destroy(mainw->custom_effects_separator); - if (mainw->custom_effects_menu!=NULL) lives_widget_destroy(mainw->custom_effects_menu); - if (mainw->custom_effects_submenu!=NULL) lives_widget_destroy(mainw->custom_effects_submenu); - if (mainw->custom_gens_menu!=NULL) lives_widget_destroy(mainw->custom_gens_menu); - if (mainw->custom_gens_submenu!=NULL) lives_widget_destroy(mainw->custom_gens_submenu); - if (mainw->gens_menu!=NULL) lives_widget_destroy(mainw->gens_menu); - - if (mainw->custom_utilities_separator!=NULL) lives_widget_destroy(mainw->custom_utilities_separator); - if (mainw->custom_utilities_menu!=NULL) lives_widget_destroy(mainw->custom_utilities_menu); - if (mainw->custom_utilities_submenu!=NULL) lives_widget_destroy(mainw->custom_utilities_submenu); - if (mainw->custom_tools_menu!=NULL) lives_widget_destroy(mainw->custom_tools_menu); - if (mainw->utilities_menu!=NULL) lives_widget_destroy(mainw->utilities_menu); - if (mainw->run_test_rfx_menu!=NULL) lives_widget_destroy(mainw->run_test_rfx_menu); + if (mainw->rte_separator != NULL) { + if (mainw->custom_effects_separator != NULL) lives_widget_destroy(mainw->custom_effects_separator); + if (mainw->custom_effects_menu != NULL) lives_widget_destroy(mainw->custom_effects_menu); + if (mainw->custom_effects_submenu != NULL) lives_widget_destroy(mainw->custom_effects_submenu); + if (mainw->custom_gens_menu != NULL) lives_widget_destroy(mainw->custom_gens_menu); + if (mainw->custom_gens_submenu != NULL) lives_widget_destroy(mainw->custom_gens_submenu); + if (mainw->gens_menu != NULL) lives_widget_destroy(mainw->gens_menu); + + if (mainw->custom_utilities_separator != NULL) lives_widget_destroy(mainw->custom_utilities_separator); + if (mainw->custom_utilities_menu != NULL) lives_widget_destroy(mainw->custom_utilities_menu); + if (mainw->custom_utilities_submenu != NULL) lives_widget_destroy(mainw->custom_utilities_submenu); + if (mainw->custom_tools_menu != NULL) lives_widget_destroy(mainw->custom_tools_menu); + if (mainw->utilities_menu != NULL) lives_widget_destroy(mainw->utilities_menu); + if (mainw->run_test_rfx_menu != NULL) lives_widget_destroy(mainw->run_test_rfx_menu); } - if (mainw->is_ready&&prefs->show_gui) { + if (mainw->is_ready && prefs->show_gui) { lives_widget_queue_draw(mainw->effects_menu); lives_widget_context_update(); threaded_dialog_spin(0.); } - if (mainw->rendered_fx!=NULL) rfx_free_all(); + if (mainw->rendered_fx != NULL) rfx_free_all(); } - mainw->num_rendered_effects_builtin=mainw->num_rendered_effects_custom=mainw->num_rendered_effects_test=0; + mainw->num_rendered_effects_builtin = mainw->num_rendered_effects_custom = mainw->num_rendered_effects_test = 0; threaded_dialog_spin(0.); make_custom_submenus(); - mainw->run_test_rfx_menu=lives_menu_new(); + mainw->run_test_rfx_menu = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mainw->run_test_rfx_submenu), mainw->run_test_rfx_menu); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(mainw->run_test_rfx_menu, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_fg_color(mainw->run_test_rfx_menu, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); } lives_widget_show(mainw->run_test_rfx_menu); - mainw->custom_effects_menu=lives_menu_new(); + mainw->custom_effects_menu = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mainw->custom_effects_submenu), mainw->custom_effects_menu); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(mainw->custom_effects_menu, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_fg_color(mainw->custom_effects_menu, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); } - mainw->custom_tools_menu=lives_menu_new(); + mainw->custom_tools_menu = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mainw->custom_tools_submenu), mainw->custom_tools_menu); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(mainw->custom_tools_menu, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_fg_color(mainw->custom_tools_menu, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); } @@ -4446,162 +4452,162 @@ // scan rendered effect directories #ifndef IS_MINGW - allow_nonex=FALSE; + allow_nonex = FALSE; #else - allow_nonex=TRUE; + allow_nonex = TRUE; #endif - rfx_custom_list=get_plugin_list(PLUGIN_RENDERED_EFFECTS_CUSTOM,allow_nonex,NULL,NULL); - rfx_custom_list_length=lives_list_length(rfx_custom_list); + rfx_custom_list = get_plugin_list(PLUGIN_RENDERED_EFFECTS_CUSTOM, allow_nonex, NULL, NULL); + rfx_custom_list_length = lives_list_length(rfx_custom_list); - rfx_test_list=get_plugin_list(PLUGIN_RENDERED_EFFECTS_TEST,allow_nonex,NULL,NULL); - rfx_test_list_length=lives_list_length(rfx_test_list); + rfx_test_list = get_plugin_list(PLUGIN_RENDERED_EFFECTS_TEST, allow_nonex, NULL, NULL); + rfx_test_list_length = lives_list_length(rfx_test_list); - if ((rfx_builtin_list=get_plugin_list(PLUGIN_RENDERED_EFFECTS_BUILTIN,allow_nonex,NULL,NULL))==NULL) { + if ((rfx_builtin_list = get_plugin_list(PLUGIN_RENDERED_EFFECTS_BUILTIN, allow_nonex, NULL, NULL)) == NULL) { do_rendered_fx_dialog(); } else { - rfx_builtin_list_length=lives_list_length(rfx_builtin_list); + rfx_builtin_list_length = lives_list_length(rfx_builtin_list); } #endif - rfx_list_length=rfx_builtin_list_length+rfx_custom_list_length+rfx_test_list_length; + rfx_list_length = rfx_builtin_list_length + rfx_custom_list_length + rfx_test_list_length; threaded_dialog_spin(0.); - rendered_fx=(lives_rfx_t *)lives_malloc((rfx_list_length+1)*sizeof(lives_rfx_t)); + rendered_fx = (lives_rfx_t *)lives_malloc((rfx_list_length + 1) * sizeof(lives_rfx_t)); // use rfx[0] as "Apply realtime fx" - rendered_fx[0].name=lives_strdup("realtime_fx"); - rendered_fx[0].menu_text=lives_strdup(_("_Apply Real Time Effects to Selection")); - rendered_fx[0].action_desc=lives_strdup(_("Applying Current Real Time Effects to")); - - rendered_fx[0].props=0; - rendered_fx[0].num_params=0; - rendered_fx[0].num_in_channels=1; - rendered_fx[0].menuitem=NULL; - rendered_fx[0].params=NULL; - rendered_fx[0].flags=0; - rendered_fx[0].extra=NULL; - rendered_fx[0].status=RFX_STATUS_WEED; - rendered_fx[0].is_template=FALSE; - rendered_fx[0].min_frames=1; - rendered_fx[0].source=NULL; - rendered_fx[0].source_type=LIVES_RFX_SOURCE_RFX; + rendered_fx[0].name = lives_strdup("realtime_fx"); + rendered_fx[0].menu_text = lives_strdup(_("_Apply Real Time Effects to Selection")); + rendered_fx[0].action_desc = lives_strdup(_("Applying Current Real Time Effects to")); + + rendered_fx[0].props = 0; + rendered_fx[0].num_params = 0; + rendered_fx[0].num_in_channels = 1; + rendered_fx[0].menuitem = NULL; + rendered_fx[0].params = NULL; + rendered_fx[0].flags = 0; + rendered_fx[0].extra = NULL; + rendered_fx[0].status = RFX_STATUS_WEED; + rendered_fx[0].is_template = FALSE; + rendered_fx[0].min_frames = 1; + rendered_fx[0].source = NULL; + rendered_fx[0].source_type = LIVES_RFX_SOURCE_RFX; if (rfx_list_length) { - LiVESList *define=NULL; - LiVESList *description=NULL; - LiVESList *props=NULL; - LiVESList *rfx_list=rfx_builtin_list; + LiVESList *define = NULL; + LiVESList *description = NULL; + LiVESList *props = NULL; + LiVESList *rfx_list = rfx_builtin_list; - lives_rfx_status_t status=RFX_STATUS_BUILTIN; + lives_rfx_status_t status = RFX_STATUS_BUILTIN; - char *type=lives_strdup(PLUGIN_RENDERED_EFFECTS_BUILTIN); + char *type = lives_strdup(PLUGIN_RENDERED_EFFECTS_BUILTIN); char *plugin_name; - char *def=NULL; + char *def = NULL; char *tmp; - int offset=0; + int offset = 0; - for (plugin_idx=0; plugin_idx<rfx_list_length; plugin_idx++) { + for (plugin_idx = 0; plugin_idx < rfx_list_length; plugin_idx++) { threaded_dialog_spin(0.); - if (mainw->splash_window==NULL) { + if (mainw->splash_window == NULL) { lives_widget_context_update(); } - if (plugin_idx==rfx_builtin_list_length) { + if (plugin_idx == rfx_builtin_list_length) { lives_free(type); - type=lives_strdup_printf(PLUGIN_RENDERED_EFFECTS_CUSTOM); - status=RFX_STATUS_CUSTOM; - rfx_list=rfx_custom_list; - offset=rfx_builtin_list_length; + type = lives_strdup_printf(PLUGIN_RENDERED_EFFECTS_CUSTOM); + status = RFX_STATUS_CUSTOM; + rfx_list = rfx_custom_list; + offset = rfx_builtin_list_length; } - if (plugin_idx==rfx_builtin_list_length+rfx_custom_list_length) { + if (plugin_idx == rfx_builtin_list_length + rfx_custom_list_length) { lives_free(type); - type=lives_strdup(PLUGIN_RENDERED_EFFECTS_TEST); - status=RFX_STATUS_TEST; - rfx_list=rfx_test_list; - offset+=rfx_custom_list_length; + type = lives_strdup(PLUGIN_RENDERED_EFFECTS_TEST); + status = RFX_STATUS_TEST; + rfx_list = rfx_test_list; + offset += rfx_custom_list_length; } - plugin_name=lives_strdup((char *)lives_list_nth_data(rfx_list,plugin_idx-offset)); + plugin_name = lives_strdup((char *)lives_list_nth_data(rfx_list, plugin_idx - offset)); - if (mainw->splash_window!=NULL) { - splash_msg((tmp=lives_strdup_printf(_("Loading rendered effect %s..."),plugin_name)),SPLASH_LEVEL_LOAD_RFX); + if (mainw->splash_window != NULL) { + splash_msg((tmp = lives_strdup_printf(_("Loading rendered effect %s..."), plugin_name)), SPLASH_LEVEL_LOAD_RFX); lives_free(tmp); } #ifdef DEBUG_RENDER_FX - g_print("Checking plugin %s\n",plugin_name); + g_print("Checking plugin %s\n", plugin_name); #endif - if ((define=plugin_request_by_line(type,plugin_name,"get_define"))==NULL) { + if ((define = plugin_request_by_line(type, plugin_name, "get_define")) == NULL) { #ifdef DEBUG_RENDER_FX - g_print("No get_define in %s\n",plugin_name); + g_print("No get_define in %s\n", plugin_name); #endif continue; } - def=lives_strdup((char *)lives_list_nth_data(define,0)); + def = lives_strdup((char *)lives_list_nth_data(define, 0)); lives_list_free_all(&define); - if (strlen(def)<2) { + if (strlen(def) < 2) { #ifdef DEBUG_RENDER_FX - g_print("Invalid get_define in %s\n",plugin_name); + g_print("Invalid get_define in %s\n", plugin_name); #endif lives_free(def); continue; } - if (make_version_hash(def+1)>make_version_hash(RFX_VERSION)) { + if (make_version_hash(def + 1) > make_version_hash(RFX_VERSION)) { #ifdef DEBUG_RENDER_FX - g_print("Invalid version %s instead of %s in %s\n",def+1,RFX_VERSION,plugin_name); + g_print("Invalid version %s instead of %s in %s\n", def + 1, RFX_VERSION, plugin_name); #endif lives_free(def); continue; } - memset(def+1,0,1); + memset(def + 1, 0, 1); - if ((description=plugin_request_common(type,plugin_name,"get_description",def,TRUE))!=NULL&& - (props=plugin_request_common(type,plugin_name,"get_capabilities",def,FALSE))!=NULL&& - lives_list_length(description)>3) { - rfx=&rendered_fx[rfx_slot_count++]; - rfx->name=lives_strdup(plugin_name); - memcpy(rfx->delim,def,2); - rfx->menu_text=lives_strdup((char *)lives_list_nth_data(description,0)); - rfx->action_desc=lives_strdup((char *)lives_list_nth_data(description,1)); - if (!(rfx->min_frames=atoi((char *)lives_list_nth_data(description,2)))) rfx->min_frames=1; - rfx->num_in_channels=atoi((char *)lives_list_nth_data(description,3)); - rfx->status=status; - rfx->props=atoi((char *)lives_list_nth_data(props,0)); - rfx->num_params=0; - rfx->is_template=FALSE; - rfx->params=NULL; - rfx->source=NULL; - rfx->source_type=LIVES_RFX_SOURCE_RFX; - rfx->flags=0; - rfx->extra=NULL; - rfx->is_template=FALSE; + if ((description = plugin_request_common(type, plugin_name, "get_description", def, TRUE)) != NULL && + (props = plugin_request_common(type, plugin_name, "get_capabilities", def, FALSE)) != NULL && + lives_list_length(description) > 3) { + rfx = &rendered_fx[rfx_slot_count++]; + rfx->name = lives_strdup(plugin_name); + memcpy(rfx->delim, def, 2); + rfx->menu_text = lives_strdup((char *)lives_list_nth_data(description, 0)); + rfx->action_desc = lives_strdup((char *)lives_list_nth_data(description, 1)); + if (!(rfx->min_frames = atoi((char *)lives_list_nth_data(description, 2)))) rfx->min_frames = 1; + rfx->num_in_channels = atoi((char *)lives_list_nth_data(description, 3)); + rfx->status = status; + rfx->props = atoi((char *)lives_list_nth_data(props, 0)); + rfx->num_params = 0; + rfx->is_template = FALSE; + rfx->params = NULL; + rfx->source = NULL; + rfx->source_type = LIVES_RFX_SOURCE_RFX; + rfx->flags = 0; + rfx->extra = NULL; + rfx->is_template = FALSE; if (!check_rfx_for_lives(rfx)) rfx_slot_count--; } lives_free(plugin_name); - if (props!=NULL) { + if (props != NULL) { lives_list_free_all(&props); - props=NULL; + props = NULL; } - if (description!=NULL) { + if (description != NULL) { lives_list_free_all(&description); - description=NULL; + description = NULL; } lives_free(def); } - if (rfx_builtin_list!=NULL) { + if (rfx_builtin_list != NULL) { lives_list_free_all(&rfx_builtin_list); } - if (rfx_custom_list!=NULL) { + if (rfx_custom_list != NULL) { lives_list_free_all(&rfx_custom_list); } - if (rfx_test_list!=NULL) { + if (rfx_test_list != NULL) { lives_list_free_all(&rfx_test_list); } lives_free(type); @@ -4611,11 +4617,11 @@ threaded_dialog_spin(0.); // sort menu text by alpha order (apart from [0]) - sort_rfx_array(rendered_fx,rfx_slot_count); + sort_rfx_array(rendered_fx, rfx_slot_count); lives_free(rendered_fx); - if (mainw->rte_separator==NULL) { - mainw->rte_separator=lives_menu_add_separator(LIVES_MENU(mainw->effects_menu)); + if (mainw->rte_separator == NULL) { + mainw->rte_separator = lives_menu_add_separator(LIVES_MENU(mainw->effects_menu)); lives_widget_show(mainw->rte_separator); } @@ -4624,7 +4630,7 @@ // prepend before mainw->rte_separator lives_menu_shell_prepend(LIVES_MENU_SHELL(mainw->effects_menu), menuitem); lives_widget_set_sensitive(menuitem, FALSE); - lives_widget_set_tooltip_text(menuitem,_("See: VJ - show VJ keys. Set the realtime effects, and then apply them here.")); + lives_widget_set_tooltip_text(menuitem, _("See: VJ - show VJ keys. Set the realtime effects, and then apply them here.")); lives_widget_add_accelerator(menuitem, LIVES_WIDGET_ACTIVATE_SIGNAL, mainw->accel_group, LIVES_KEY_e, LIVES_CONTROL_MASK, @@ -4634,35 +4640,35 @@ LIVES_GUI_CALLBACK(on_realfx_activate), &mainw->rendered_fx[0]); - mainw->rendered_fx[0].menuitem=menuitem; - mainw->rendered_fx[0].num_in_channels=1; + mainw->rendered_fx[0].menuitem = menuitem; + mainw->rendered_fx[0].num_in_channels = 1; - if (mainw->is_ready&&mainw->playing_file==-1&&mainw->current_file>0&& - ((has_video_filters(TRUE)&&!has_video_filters(FALSE))|| - (cfile->achans>0&&prefs->audio_src==AUDIO_SRC_INT&&has_audio_filters(AF_TYPE_ANY))|| - mainw->agen_key!=0)) { + if (mainw->is_ready && mainw->playing_file == -1 && mainw->current_file > 0 && + ((has_video_filters(TRUE) && !has_video_filters(FALSE)) || + (cfile->achans > 0 && prefs->audio_src == AUDIO_SRC_INT && has_audio_filters(AF_TYPE_ANY)) || + mainw->agen_key != 0)) { - lives_widget_set_sensitive(mainw->rendered_fx[0].menuitem,TRUE); - } else lives_widget_set_sensitive(mainw->rendered_fx[0].menuitem,FALSE); + lives_widget_set_sensitive(mainw->rendered_fx[0].menuitem, TRUE); + } else lives_widget_set_sensitive(mainw->rendered_fx[0].menuitem, FALSE); lives_container_add(LIVES_CONTAINER(mainw->effects_menu), mainw->custom_effects_submenu); - mainw->custom_effects_separator=lives_menu_add_separator(LIVES_MENU(mainw->effects_menu)); + mainw->custom_effects_separator = lives_menu_add_separator(LIVES_MENU(mainw->effects_menu)); threaded_dialog_spin(0.); // now we need to add to the effects menu and set a callback - for (rfx=&mainw->rendered_fx[(plugin_idx=1)]; plugin_idx<=rfx_slot_count; rfx=&mainw->rendered_fx[++plugin_idx]) { + for (rfx = &mainw->rendered_fx[(plugin_idx = 1)]; plugin_idx <= rfx_slot_count; rfx = &mainw->rendered_fx[++plugin_idx]) { threaded_dialog_spin(0.); - if (mainw->splash_window==NULL) { + if (mainw->splash_window == NULL) { lives_widget_context_update(); } - render_fx_get_params(rfx,rfx->name,rfx->status); + render_fx_get_params(rfx, rfx->name, rfx->status); threaded_dialog_spin(0.); - rfx->source=NULL; - rfx->flags=0; - rfx->extra=NULL; - rfx->menuitem=NULL; + rfx->source = NULL; + rfx->flags = 0; + rfx->extra = NULL; + rfx->menuitem = NULL; switch (rfx->status) { case RFX_STATUS_BUILTIN: @@ -4678,10 +4684,10 @@ break; } - if (!(rfx->props&RFX_PROPS_MAY_RESIZE)&&rfx->min_frames>=0&&rfx->num_in_channels==1) { + if (!(rfx->props & RFX_PROPS_MAY_RESIZE) && rfx->min_frames >= 0 && rfx->num_in_channels == 1) { // add resizing effects to tools menu later - lives_snprintf(txt,61,"_%s",_(rfx->menu_text)); - if (rfx->num_params) lives_strappend(txt,64,"..."); + lives_snprintf(txt, 61, "_%s", _(rfx->menu_text)); + if (rfx->num_params) lives_strappend(txt, 64, "..."); menuitem = lives_image_menu_item_new_with_mnemonic(txt); if (prefs->show_gui) lives_widget_show(menuitem); @@ -4702,8 +4708,8 @@ #if LIVES_HAS_IMAGE_MENU_ITEM - rfx_image=NULL; - if (rfx->props&RFX_PROPS_SLOW) { + rfx_image = NULL; + if (rfx->props & RFX_PROPS_SLOW) { rfx_image = lives_image_new_from_stock(LIVES_STOCK_NO, LIVES_ICON_SIZE_MENU); } else { rfx_image = lives_image_new_from_stock(LIVES_STOCK_YES, LIVES_ICON_SIZE_MENU); @@ -4713,7 +4719,7 @@ if (prefs->show_gui) lives_widget_show(rfx_image); #endif - if (rfx->params==NULL) { + if (rfx->params == NULL) { lives_signal_connect(LIVES_GUI_OBJECT(menuitem), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(on_render_fx_activate), (livespointer)rfx); @@ -4722,8 +4728,8 @@ LIVES_GUI_CALLBACK(on_render_fx_pre_activate), (livespointer)rfx); } - if (rfx->min_frames>=0) lives_widget_set_sensitive(menuitem,FALSE); - rfx->menuitem=menuitem; + if (rfx->min_frames >= 0) lives_widget_set_sensitive(menuitem, FALSE); + rfx->menuitem = menuitem; } } @@ -4731,7 +4737,7 @@ // custom effects if (prefs->show_gui) { - if (rc_child>0) { + if (rc_child > 0) { lives_widget_show(mainw->custom_effects_separator); lives_widget_show(mainw->custom_effects_menu); lives_widget_show(mainw->custom_effects_submenu); @@ -4742,83 +4748,83 @@ } } - mainw->utilities_menu=lives_menu_new(); + mainw->utilities_menu = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mainw->utilities_submenu), mainw->utilities_menu); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(mainw->utilities_menu, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_fg_color(mainw->utilities_menu, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); } - mainw->gens_menu=lives_menu_new(); + mainw->gens_menu = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mainw->gens_submenu), mainw->gens_menu); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(mainw->gens_menu, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_fg_color(mainw->gens_menu, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); } - mainw->custom_gens_menu=lives_menu_new(); + mainw->custom_gens_menu = lives_menu_new(); lives_menu_item_set_submenu(LIVES_MENU_ITEM(mainw->custom_gens_submenu), mainw->custom_gens_menu); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(mainw->custom_gens_menu, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_fg_color(mainw->custom_gens_menu, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); } lives_container_add(LIVES_CONTAINER(mainw->gens_menu), mainw->custom_gens_submenu); - mainw->custom_utilities_menu=lives_menu_new(); + mainw->custom_utilities_menu = lives_menu_new(); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(mainw->custom_utilities_menu, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_fg_color(mainw->custom_utilities_menu, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); } - mainw->custom_utilities_separator=lives_menu_add_separator(LIVES_MENU(mainw->custom_utilities_menu)); + mainw->custom_utilities_separator = lives_menu_add_separator(LIVES_MENU(mainw->custom_utilities_menu)); lives_container_add(LIVES_CONTAINER(mainw->custom_tools_menu), mainw->custom_utilities_submenu); threaded_dialog_spin(0.); - if (mainw->fx_candidates[FX_CANDIDATE_RESIZER].delegate==-1) { - mainw->resize_menuitem=NULL; + if (mainw->fx_candidates[FX_CANDIDATE_RESIZER].delegate == -1) { + mainw->resize_menuitem = NULL; } if (rfx_slot_count) { - for (rfx=&mainw->rendered_fx[(plugin_idx=1)]; plugin_idx<=rfx_slot_count; rfx=&mainw->rendered_fx[++plugin_idx]) { + for (rfx = &mainw->rendered_fx[(plugin_idx = 1)]; plugin_idx <= rfx_slot_count; rfx = &mainw->rendered_fx[++plugin_idx]) { threaded_dialog_spin(0.); - if (mainw->splash_window==NULL&&prefs->show_gui) { + if (mainw->splash_window == NULL && prefs->show_gui) { lives_widget_context_update(); } - if ((rfx->props&RFX_PROPS_MAY_RESIZE&&rfx->num_in_channels==1)||rfx->min_frames<0) { + if ((rfx->props & RFX_PROPS_MAY_RESIZE && rfx->num_in_channels == 1) || rfx->min_frames < 0) { // add resizing effects to tools menu - if (!strcmp(rfx->name,"resize")) { - if (mainw->fx_candidates[FX_CANDIDATE_RESIZER].delegate==-1) { - mainw->resize_menuitem=menuitem; + if (!strcmp(rfx->name, "resize")) { + if (mainw->fx_candidates[FX_CANDIDATE_RESIZER].delegate == -1) { + mainw->resize_menuitem = menuitem; } else continue; } - lives_snprintf(txt,61,"_%s",_(rfx->menu_text)); - if (rfx->num_params) lives_strappend(txt,64,"..."); + lives_snprintf(txt, 61, "_%s", _(rfx->menu_text)); + if (rfx->num_params) lives_strappend(txt, 64, "..."); menuitem = lives_menu_item_new_with_mnemonic(txt); if (prefs->show_gui) lives_widget_show(menuitem); switch (rfx->status) { case RFX_STATUS_BUILTIN: - if (rfx->min_frames>=0) { - lives_menu_shell_insert(LIVES_MENU_SHELL(mainw->tools_menu), menuitem,tool_posn++); + if (rfx->min_frames >= 0) { + lives_menu_shell_insert(LIVES_MENU_SHELL(mainw->tools_menu), menuitem, tool_posn++); } else { lives_container_add(LIVES_CONTAINER(mainw->utilities_menu), menuitem); if (prefs->show_gui) lives_widget_show(mainw->utilities_menu); } break; case RFX_STATUS_CUSTOM: - if (rfx->min_frames>=0) { + if (rfx->min_frames >= 0) { lives_container_add(LIVES_CONTAINER(mainw->custom_tools_menu), menuitem); - mainw->has_custom_tools=TRUE; + mainw->has_custom_tools = TRUE; } else { lives_container_add(LIVES_CONTAINER(mainw->custom_utilities_menu), menuitem); - mainw->has_custom_utilities=TRUE; + mainw->has_custom_utilities = TRUE; } break; case RFX_STATUS_TEST: @@ -4828,8 +4834,8 @@ break; } - if (menuitem!=mainw->resize_menuitem) { - if (rfx->params==NULL) { + if (menuitem != mainw->resize_menuitem) { + if (rfx->params == NULL) { lives_signal_connect(LIVES_GUI_OBJECT(menuitem), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(on_render_fx_activate), (livespointer)rfx); @@ -4839,20 +4845,20 @@ (livespointer)rfx); } } else { - mainw->fx_candidates[FX_CANDIDATE_RESIZER].func=lives_signal_connect(LIVES_GUI_OBJECT(menuitem), LIVES_WIDGET_ACTIVATE_SIGNAL, + mainw->fx_candidates[FX_CANDIDATE_RESIZER].func = lives_signal_connect(LIVES_GUI_OBJECT(menuitem), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(on_render_fx_pre_activate), (livespointer)rfx); } - if (rfx->min_frames>=0) lives_widget_set_sensitive(menuitem,FALSE); - rfx->menuitem=menuitem; + if (rfx->min_frames >= 0) lives_widget_set_sensitive(menuitem, FALSE); + rfx->menuitem = menuitem; } - else if (rfx->num_in_channels==0) { + else if (rfx->num_in_channels == 0) { // non-realtime generator - lives_snprintf(txt,61,"_%s",_(rfx->menu_text)); - if (rfx->num_params) lives_strappend(txt,64,"..."); + lives_snprintf(txt, 61, "_%s", _(rfx->menu_text)); + if (rfx->num_params) lives_strappend(txt, 64, "..."); menuitem = lives_menu_item_new_with_mnemonic(txt); if (prefs->show_gui) lives_widget_show(menuitem); @@ -4863,7 +4869,7 @@ break; case RFX_STATUS_CUSTOM: lives_container_add(LIVES_CONTAINER(mainw->custom_gens_menu), menuitem); - mainw->has_custom_gens=TRUE; + mainw->has_custom_gens = TRUE; break; case RFX_STATUS_TEST: lives_container_add(LIVES_CONTAINER(mainw->run_test_rfx_menu), menuitem); @@ -4872,7 +4878,7 @@ break; } - if (rfx->params==NULL) { + if (rfx->params == NULL) { lives_signal_connect(LIVES_GUI_OBJECT(menuitem), LIVES_WIDGET_ACTIVATE_SIGNAL, LIVES_GUI_CALLBACK(on_render_fx_activate), (livespointer)rfx); @@ -4889,7 +4895,7 @@ if (prefs->show_gui) { threaded_dialog_spin(0.); - if (mainw->has_custom_tools||mainw->has_custom_utilities) { + if (mainw->has_custom_tools || mainw->has_custom_utilities) { lives_widget_show(mainw->custom_tools_separator); lives_widget_show(mainw->custom_tools_menu); lives_widget_show(mainw->custom_tools_submenu); @@ -4921,30 +4927,30 @@ } if (mainw->is_ready) { - if (mainw->num_rendered_effects_custom>0) { - lives_widget_set_sensitive(mainw->delete_custom_rfx,TRUE); - lives_widget_set_sensitive(mainw->export_custom_rfx,TRUE); + if (mainw->num_rendered_effects_custom > 0) { + lives_widget_set_sensitive(mainw->delete_custom_rfx, TRUE); + lives_widget_set_sensitive(mainw->export_custom_rfx, TRUE); } else { - lives_widget_set_sensitive(mainw->delete_custom_rfx,FALSE); - lives_widget_set_sensitive(mainw->export_custom_rfx,FALSE); + lives_widget_set_sensitive(mainw->delete_custom_rfx, FALSE); + lives_widget_set_sensitive(mainw->export_custom_rfx, FALSE); } - if (mainw->num_rendered_effects_test>0) { - lives_widget_set_sensitive(mainw->run_test_rfx_submenu,TRUE); - lives_widget_set_sensitive(mainw->promote_test_rfx,TRUE); - lives_widget_set_sensitive(mainw->delete_test_rfx,TRUE); - lives_widget_set_sensitive(mainw->rename_test_rfx,TRUE); - lives_widget_set_sensitive(mainw->edit_test_rfx,TRUE); + if (mainw->num_rendered_effects_test > 0) { + lives_widget_set_sensitive(mainw->run_test_rfx_submenu, TRUE); + lives_widget_set_sensitive(mainw->promote_test_rfx, TRUE); + lives_widget_set_sensitive(mainw->delete_test_rfx, TRUE); + lives_widget_set_sensitive(mainw->rename_test_rfx, TRUE); + lives_widget_set_sensitive(mainw->edit_test_rfx, TRUE); } else { - lives_widget_set_sensitive(mainw->run_test_rfx_submenu,FALSE); - lives_widget_set_sensitive(mainw->promote_test_rfx,FALSE); - lives_widget_set_sensitive(mainw->delete_test_rfx,FALSE); - lives_widget_set_sensitive(mainw->rename_test_rfx,FALSE); - lives_widget_set_sensitive(mainw->edit_test_rfx,FALSE); + lives_widget_set_sensitive(mainw->run_test_rfx_submenu, FALSE); + lives_widget_set_sensitive(mainw->promote_test_rfx, FALSE); + lives_widget_set_sensitive(mainw->delete_test_rfx, FALSE); + lives_widget_set_sensitive(mainw->rename_test_rfx, FALSE); + lives_widget_set_sensitive(mainw->edit_test_rfx, FALSE); } } - if (mainw->current_file>0&&mainw->playing_file==-1) sensitize(); + if (mainw->current_file > 0 && mainw->playing_file == -1) sensitize(); }
View file
LiVES-2.8.4.tar.bz2/src/rfx-builder.h -> LiVES-2.8.6.tar.bz2/src/rfx-builder.h
Changed
@@ -23,7 +23,7 @@ #define MAXFLOATLEN 11 /// length in chars of G_MAXINT (for display only) -#define MAXINTLEN strlen(lives_strdup_printf("%d",LIVES_MAXINT)) +#define MAXINTLEN strlen(lives_strdup_printf("%d", LIVES_MAXINT)) // advanced menu entries void on_new_rfx_activate(LiVESMenuItem *, livespointer status); @@ -93,7 +93,7 @@ typedef enum { - RFX_BUILDER_MODE_NEW=0, + RFX_BUILDER_MODE_NEW = 0, RFX_BUILDER_MODE_EDIT, RFX_BUILDER_MODE_COPY } lives_rfx_builder_mode_t; @@ -222,7 +222,6 @@ char *rfx_version; int plugin_version; - } rfx_build_window_t; // builder window widgets/callbacks
View file
LiVES-2.8.4.tar.bz2/src/rte_window.c -> LiVES-2.8.6.tar.bz2/src/rte_window.c
Changed
@@ -26,8 +26,8 @@ #include "paramwindow.h" #include "ce_thumbs.h" -static LiVESWidget *rte_window_back=NULL; -static int old_rte_keys_virtual=0; +static LiVESWidget *rte_window_back = NULL; +static int old_rte_keys_virtual = 0; static LiVESWidget **key_checks; static LiVESWidget **key_grabs; @@ -45,22 +45,22 @@ static LiVESWidget *save_keymap_button; static LiVESWidget *load_keymap_button; -static LiVESWidget *datacon_dialog=NULL; +static LiVESWidget *datacon_dialog = NULL; static ulong *ch_fns; static ulong *gr_fns; static ulong *mode_ra_fns; -static int keyw=-1,modew=-1; +static int keyw = -1, modew = -1; -static LiVESList *hash_list=NULL; -static LiVESList *name_list=NULL; -static LiVESList *name_type_list=NULL; +static LiVESList *hash_list = NULL; +static LiVESList *name_list = NULL; +static LiVESList *name_type_list = NULL; static boolean ca_canc; -static char *empty_string=""; +static char *empty_string = ""; ////////////////////////////////////////////////////////////////////////////// @@ -68,36 +68,36 @@ static void check_clear_all_button(void); void rte_window_set_interactive(boolean interactive) { - register int i,j; - int modes=rte_getmodespk(); + register int i, j; + int modes = rte_getmodespk(); int idx; if (!interactive) { - lives_widget_set_sensitive(clear_all_button,FALSE); - lives_widget_set_sensitive(save_keymap_button,FALSE); - lives_widget_set_sensitive(load_keymap_button,FALSE); - for (i=0; i<prefs->rte_keys_virtual; i++) { - for (j=modes-1; j>=0; j--) { - idx=i*modes+j; - lives_widget_set_sensitive(conx_buttons[idx],FALSE); - lives_widget_set_sensitive(param_buttons[idx],FALSE); - lives_widget_set_sensitive(combos[idx],FALSE); - lives_widget_set_sensitive(clear_buttons[idx],FALSE); - lives_widget_set_sensitive(mode_radios[idx],FALSE); + lives_widget_set_sensitive(clear_all_button, FALSE); + lives_widget_set_sensitive(save_keymap_button, FALSE); + lives_widget_set_sensitive(load_keymap_button, FALSE); + for (i = 0; i < prefs->rte_keys_virtual; i++) { + for (j = modes - 1; j >= 0; j--) { + idx = i * modes + j; + lives_widget_set_sensitive(conx_buttons[idx], FALSE); + lives_widget_set_sensitive(param_buttons[idx], FALSE); + lives_widget_set_sensitive(combos[idx], FALSE); + lives_widget_set_sensitive(clear_buttons[idx], FALSE); + lives_widget_set_sensitive(mode_radios[idx], FALSE); } - lives_widget_set_sensitive(key_checks[i],FALSE); - lives_widget_set_sensitive(key_grabs[i],FALSE); + lives_widget_set_sensitive(key_checks[i], FALSE); + lives_widget_set_sensitive(key_grabs[i], FALSE); } } else { - for (i=0; i<prefs->rte_keys_virtual; i++) { - for (j=modes-1; j>=0; j--) { - idx=i*modes+j; - set_param_and_con_buttons(i,j); + for (i = 0; i < prefs->rte_keys_virtual; i++) { + for (j = modes - 1; j >= 0; j--) { + idx = i * modes + j; + set_param_and_con_buttons(i, j); } } check_clear_all_button(); - lives_widget_set_sensitive(save_keymap_button,TRUE); - lives_widget_set_sensitive(load_keymap_button,TRUE); + lives_widget_set_sensitive(save_keymap_button, TRUE); + lives_widget_set_sensitive(load_keymap_button, TRUE); } } @@ -106,33 +106,33 @@ void rtew_set_key_check_state(void) { // set (delayed) keycheck state register int i; - for (i=0; i<prefs->rte_keys_virtual; i++) { - lives_signal_handler_block(key_checks[i],ch_fns[i]); + for (i = 0; i < prefs->rte_keys_virtual; i++) { + lives_signal_handler_block(key_checks[i], ch_fns[i]); lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(key_checks[i]), - LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(key_checks[i]),"active"))); - lives_signal_handler_unblock(key_checks[i],ch_fns[i]); + LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(key_checks[i]), "active"))); + lives_signal_handler_unblock(key_checks[i], ch_fns[i]); } } void type_label_set_text(int key, int mode) { - int modes=rte_getmodespk(); - int idx=key*modes+mode; - char *type=rte_keymode_get_type(key+1,mode); + int modes = rte_getmodespk(); + int idx = key * modes + mode; + char *type = rte_keymode_get_type(key + 1, mode); if (strlen(type)) { - lives_label_set_text(LIVES_LABEL(type_labels[idx]),lives_strdup_printf(_("Type: %s"),type)); - lives_widget_set_sensitive(info_buttons[idx],TRUE); - lives_widget_set_sensitive(clear_buttons[idx],TRUE); - lives_widget_set_sensitive(mode_radios[idx],TRUE); - lives_widget_set_sensitive(nlabels[idx],TRUE); - lives_widget_set_sensitive(type_labels[idx],TRUE); + lives_label_set_text(LIVES_LABEL(type_labels[idx]), lives_strdup_printf(_("Type: %s"), type)); + lives_widget_set_sensitive(info_buttons[idx], TRUE); + lives_widget_set_sensitive(clear_buttons[idx], TRUE); + lives_widget_set_sensitive(mode_radios[idx], TRUE); + lives_widget_set_sensitive(nlabels[idx], TRUE); + lives_widget_set_sensitive(type_labels[idx], TRUE); } else { - lives_widget_set_sensitive(info_buttons[idx],FALSE); - lives_widget_set_sensitive(clear_buttons[idx],FALSE); - lives_widget_set_sensitive(mode_radios[idx],FALSE); - lives_widget_set_sensitive(nlabels[idx],FALSE); - lives_widget_set_sensitive(type_labels[idx],FALSE); + lives_widget_set_sensitive(info_buttons[idx], FALSE); + lives_widget_set_sensitive(clear_buttons[idx], FALSE); + lives_widget_set_sensitive(mode_radios[idx], FALSE); + lives_widget_set_sensitive(nlabels[idx], FALSE); + lives_widget_set_sensitive(type_labels[idx], FALSE); } lives_free(type); } @@ -140,37 +140,37 @@ boolean on_clear_all_clicked(LiVESButton *button, livespointer user_data) { - int modes=rte_getmodespk(); - register int i,j; + int modes = rte_getmodespk(); + register int i, j; - ca_canc=FALSE; + ca_canc = FALSE; // prompt for "are you sure ?" - if (user_data!=NULL) if (!do_warning_dialog_with_check_transient - ((_("\n\nUnbind all effects from all keys/modes.\n\nAre you sure ?\n\n")), - 0,LIVES_WINDOW(rte_window))) { - ca_canc=TRUE; + if (user_data != NULL) if (!do_warning_dialog_with_check_transient + ((_("\n\nUnbind all effects from all keys/modes.\n\nAre you sure ?\n\n")), + 0, LIVES_WINDOW(rte_window))) { + ca_canc = TRUE; return FALSE; } pconx_delete_all(); cconx_delete_all(); - for (i=0; i<prefs->rte_keys_virtual; i++) { - if (rte_window!=NULL) { - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(key_checks[i]),FALSE); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(key_checks[i]),"active",LIVES_INT_TO_POINTER(FALSE)); + for (i = 0; i < prefs->rte_keys_virtual; i++) { + if (rte_window != NULL) { + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(key_checks[i]), FALSE); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(key_checks[i]), "active", LIVES_INT_TO_POINTER(FALSE)); } - for (j=modes-1; j>=0; j--) { - weed_delete_effectkey(i+1,j); - if (rte_window!=NULL) { - rtew_combo_set_text(i,j,""); + for (j = modes - 1; j >= 0; j--) { + weed_delete_effectkey(i + 1, j); + if (rte_window != NULL) { + rtew_combo_set_text(i, j, ""); } } if (mainw->ce_thumbs) ce_thumbs_reset_combo(i); } - if (button!=NULL) lives_widget_set_sensitive(LIVES_WIDGET(button), FALSE); + if (button != NULL) lives_widget_set_sensitive(LIVES_WIDGET(button), FALSE); return FALSE; } @@ -179,50 +179,50 @@ static boolean save_keymap2_file(char *kfname) { // save perkey defaults int slen; - int version=1; - int modes=rte_getmodespk(); + int version = 1; + int modes = rte_getmodespk(); int kfd; int retval; - int i,j; + int i, j; - char *hashname,*tmp; + char *hashname, *tmp; do { - retval=0; - kfd=lives_creat_buffered(kfname,DEF_FILE_PERMS); - if (kfd==-1) { - retval=do_write_failed_error_s_with_retry(kfname,lives_strerror(errno),LIVES_WINDOW(rte_window)); + retval = 0; + kfd = lives_creat_buffered(kfname, DEF_FILE_PERMS); + if (kfd == -1) { + retval = do_write_failed_error_s_with_retry(kfname, lives_strerror(errno), LIVES_WINDOW(rte_window)); } else { - mainw->write_failed=FALSE; + mainw->write_failed = FALSE; - lives_write_le_buffered(kfd,&version,4,TRUE); + lives_write_le_buffered(kfd, &version, 4, TRUE); - for (i=1; i<=prefs->rte_keys_virtual; i++) { + for (i = 1; i <= prefs->rte_keys_virtual; i++) { if (mainw->write_failed) break; - for (j=0; j<modes; j++) { - if (rte_keymode_valid(i,j,TRUE)) { - lives_write_le_buffered(kfd,&i,4,TRUE); + for (j = 0; j < modes; j++) { + if (rte_keymode_valid(i, j, TRUE)) { + lives_write_le_buffered(kfd, &i, 4, TRUE); if (mainw->write_failed) break; - hashname=lives_strdup_printf("Weed%s",(tmp=make_weed_hashname(rte_keymode_get_filter_idx(i,j),TRUE,FALSE))); + hashname = lives_strdup_printf("Weed%s", (tmp = make_weed_hashname(rte_keymode_get_filter_idx(i, j), TRUE, FALSE))); lives_free(tmp); - slen=strlen(hashname); - lives_write_le_buffered(kfd,&slen,4,TRUE); - lives_write_buffered(kfd,hashname,slen,TRUE); + slen = strlen(hashname); + lives_write_le_buffered(kfd, &slen, 4, TRUE); + lives_write_buffered(kfd, hashname, slen, TRUE); lives_free(hashname); - write_key_defaults(kfd,i-1,j); + write_key_defaults(kfd, i - 1, j); } } } lives_close_buffered(kfd); if (mainw->write_failed) { - retval=do_write_failed_error_s_with_retry(kfname,NULL,LIVES_WINDOW(rte_window)); - mainw->write_failed=FALSE; + retval = do_write_failed_error_s_with_retry(kfname, NULL, LIVES_WINDOW(rte_window)); + mainw->write_failed = FALSE; } } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); - if (retval==LIVES_RESPONSE_CANCEL) return FALSE; + if (retval == LIVES_RESPONSE_CANCEL) return FALSE; return TRUE; } @@ -234,83 +234,83 @@ char *hashname; - int version=1; + int version = 1; int slen; int kfd; int retval; - int count=0,totcons,nconns; + int count = 0, totcons, nconns; - register int i,j; + register int i, j; do { - retval=0; - kfd=lives_creat_buffered(kfname,DEF_FILE_PERMS); - if (kfd==-1) { - retval=do_write_failed_error_s_with_retry(kfname,lives_strerror(errno),LIVES_WINDOW(rte_window)); + retval = 0; + kfd = lives_creat_buffered(kfname, DEF_FILE_PERMS); + if (kfd == -1) { + retval = do_write_failed_error_s_with_retry(kfname, lives_strerror(errno), LIVES_WINDOW(rte_window)); } else { - mainw->write_failed=FALSE; + mainw->write_failed = FALSE; - lives_write_le_buffered(kfd,&version,4,TRUE); + lives_write_le_buffered(kfd, &version, 4, TRUE); - if (mainw->cconx!=NULL) { - lives_cconnect_t *cconx=mainw->cconx; + if (mainw->cconx != NULL) { + lives_cconnect_t *cconx = mainw->cconx; int nchans; - while (cconx!=NULL) { + while (cconx != NULL) { count++; - cconx=cconx->next; + cconx = cconx->next; } - lives_write_le_buffered(kfd,&count,4,TRUE); + lives_write_le_buffered(kfd, &count, 4, TRUE); if (mainw->write_failed) goto write_failed1; - cconx=mainw->cconx; - while (cconx!=NULL) { - totcons=0; - j=0; + cconx = mainw->cconx; + while (cconx != NULL) { + totcons = 0; + j = 0; - lives_write_le_buffered(kfd,&cconx->okey,4,TRUE); + lives_write_le_buffered(kfd, &cconx->okey, 4, TRUE); if (mainw->write_failed) goto write_failed1; - lives_write_le_buffered(kfd,&cconx->omode,4,TRUE); + lives_write_le_buffered(kfd, &cconx->omode, 4, TRUE); if (mainw->write_failed) goto write_failed1; - hashname=make_weed_hashname(rte_keymode_get_filter_idx(cconx->okey+1,cconx->omode),TRUE,FALSE); - slen=strlen(hashname); - lives_write_le_buffered(kfd,&slen,4,TRUE); - lives_write_buffered(kfd,hashname,slen,TRUE); + hashname = make_weed_hashname(rte_keymode_get_filter_idx(cconx->okey + 1, cconx->omode), TRUE, FALSE); + slen = strlen(hashname); + lives_write_le_buffered(kfd, &slen, 4, TRUE); + lives_write_buffered(kfd, hashname, slen, TRUE); lives_free(hashname); - nchans=cconx->nchans; - lives_write_le_buffered(kfd,&nchans,4,TRUE); + nchans = cconx->nchans; + lives_write_le_buffered(kfd, &nchans, 4, TRUE); if (mainw->write_failed) goto write_failed1; - for (i=0; i<nchans; i++) { - lives_write_le_buffered(kfd,&cconx->chans[i],4,TRUE); + for (i = 0; i < nchans; i++) { + lives_write_le_buffered(kfd, &cconx->chans[i], 4, TRUE); if (mainw->write_failed) goto write_failed1; - nconns=cconx->nconns[i]; - lives_write_le_buffered(kfd,&nconns,4,TRUE); + nconns = cconx->nconns[i]; + lives_write_le_buffered(kfd, &nconns, 4, TRUE); if (mainw->write_failed) goto write_failed1; - totcons+=nconns; + totcons += nconns; - while (j<totcons) { - lives_write_le_buffered(kfd,&cconx->ikey[j],4,TRUE); + while (j < totcons) { + lives_write_le_buffered(kfd, &cconx->ikey[j], 4, TRUE); if (mainw->write_failed) goto write_failed1; - lives_write_le_buffered(kfd,&cconx->imode[j],4,TRUE); + lives_write_le_buffered(kfd, &cconx->imode[j], 4, TRUE); if (mainw->write_failed) goto write_failed1; - hashname=make_weed_hashname(rte_keymode_get_filter_idx(cconx->ikey[j]+1,cconx->imode[j]),TRUE,FALSE); - slen=strlen(hashname); - lives_write_le_buffered(kfd,&slen,4,TRUE); - lives_write_buffered(kfd,hashname,slen,TRUE); + hashname = make_weed_hashname(rte_keymode_get_filter_idx(cconx->ikey[j] + 1, cconx->imode[j]), TRUE, FALSE); + slen = strlen(hashname); + lives_write_le_buffered(kfd, &slen, 4, TRUE); + lives_write_buffered(kfd, hashname, slen, TRUE); lives_free(hashname); - lives_write_le_buffered(kfd,&cconx->icnum[j],4,TRUE); + lives_write_le_buffered(kfd, &cconx->icnum[j], 4, TRUE); if (mainw->write_failed) goto write_failed1; j++; @@ -318,77 +318,77 @@ } - cconx=cconx->next; + cconx = cconx->next; } } else { - lives_write_le_buffered(kfd,&count,4,TRUE); + lives_write_le_buffered(kfd, &count, 4, TRUE); if (mainw->write_failed) goto write_failed1; } - if (mainw->pconx!=NULL) { - lives_pconnect_t *pconx=mainw->pconx; + if (mainw->pconx != NULL) { + lives_pconnect_t *pconx = mainw->pconx; int nparams; - count=0; + count = 0; - while (pconx!=NULL) { + while (pconx != NULL) { count++; - pconx=pconx->next; + pconx = pconx->next; } - lives_write_le_buffered(kfd,&count,4,TRUE); + lives_write_le_buffered(kfd, &count, 4, TRUE); if (mainw->write_failed) goto write_failed1; - pconx=mainw->pconx; - while (pconx!=NULL) { - totcons=0; - j=0; + pconx = mainw->pconx; + while (pconx != NULL) { + totcons = 0; + j = 0; - lives_write_le_buffered(kfd,&pconx->okey,4,TRUE); + lives_write_le_buffered(kfd, &pconx->okey, 4, TRUE); if (mainw->write_failed) goto write_failed1; - lives_write_le_buffered(kfd,&pconx->omode,4,TRUE); + lives_write_le_buffered(kfd, &pconx->omode, 4, TRUE); if (mainw->write_failed) goto write_failed1; - hashname=make_weed_hashname(rte_keymode_get_filter_idx(pconx->okey+1,pconx->omode),TRUE,FALSE); - slen=strlen(hashname); - lives_write_le_buffered(kfd,&slen,4,TRUE); - lives_write_buffered(kfd,hashname,slen,TRUE); + hashname = make_weed_hashname(rte_keymode_get_filter_idx(pconx->okey + 1, pconx->omode), TRUE, FALSE); + slen = strlen(hashname); + lives_write_le_buffered(kfd, &slen, 4, TRUE); + lives_write_buffered(kfd, hashname, slen, TRUE); lives_free(hashname); - nparams=pconx->nparams; - lives_write_le_buffered(kfd,&nparams,4,TRUE); + nparams = pconx->nparams; + lives_write_le_buffered(kfd, &nparams, 4, TRUE); if (mainw->write_failed) goto write_failed1; - for (i=0; i<nparams; i++) { - lives_write_le_buffered(kfd,&pconx->params[i],4,TRUE); + for (i = 0; i < nparams; i++) { + lives_write_le_buffered(kfd, &pconx->params[i], 4, TRUE); if (mainw->write_failed) goto write_failed1; - nconns=pconx->nconns[i]; - lives_write_le_buffered(kfd,&nconns,4,TRUE); + nconns = pconx->nconns[i]; + lives_write_le_buffered(kfd, &nconns, 4, TRUE); if (mainw->write_failed) goto write_failed1; - totcons+=nconns; + totcons += nconns; - while (j<totcons) { - lives_write_le_buffered(kfd,&pconx->ikey[j],4,TRUE); + while (j < totcons) { + lives_write_le_buffered(kfd, &pconx->ikey[j], 4, TRUE); if (mainw->write_failed) goto write_failed1; - lives_write_le_buffered(kfd,&pconx->imode[j],4,TRUE); + lives_write_le_buffered(kfd, &pconx->imode[j], 4, TRUE); if (mainw->write_failed) goto write_failed1; - hashname=make_weed_hashname(rte_keymode_get_filter_idx(pconx->ikey[j]+1,pconx->imode[j]),TRUE,FALSE); - slen=strlen(hashname); - lives_write_le_buffered(kfd,&slen,4,TRUE); - lives_write_buffered(kfd,hashname,slen,TRUE); + hashname = make_weed_hashname(rte_keymode_get_filter_idx(pconx->ikey[j] + 1, pconx->imode[j]), TRUE, FALSE); + slen = strlen(hashname); + lives_write_le_buffered(kfd, &slen, 4, TRUE); + lives_write_buffered(kfd, hashname, slen, TRUE); lives_free(hashname); - lives_write_le_buffered(kfd,&pconx->ipnum[j],4,TRUE); + lives_write_le_buffered(kfd, &pconx->ipnum[j], 4, TRUE); if (mainw->write_failed) goto write_failed1; - lives_write_le_buffered(kfd,&pconx->autoscale[j],4,TRUE); + lives_write_le_buffered(kfd, &pconx->autoscale[j], 4, TRUE); if (mainw->write_failed) goto write_failed1; j++; @@ -396,11 +396,11 @@ } - pconx=pconx->next; + pconx = pconx->next; } } else { - lives_write_le_buffered(kfd,&count,4,TRUE); + lives_write_le_buffered(kfd, &count, 4, TRUE); if (mainw->write_failed) goto write_failed1; } @@ -409,13 +409,13 @@ lives_close_buffered(kfd); if (mainw->write_failed) { - retval=do_write_failed_error_s_with_retry(kfname,NULL,LIVES_WINDOW(rte_window)); - mainw->write_failed=FALSE; + retval = do_write_failed_error_s_with_retry(kfname, NULL, LIVES_WINDOW(rte_window)); + mainw->write_failed = FALSE; } } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); - if (retval==LIVES_RESPONSE_CANCEL) return FALSE; + if (retval == LIVES_RESPONSE_CANCEL) return FALSE; return TRUE; } @@ -441,57 +441,57 @@ FILE *kfile; - LiVESList *list=NULL; + LiVESList *list = NULL; - char *msg,*tmp; - char *keymap_file=lives_build_filename(capable->home_dir,LIVES_CONFIG_DIR,"default.keymap",NULL); - char *keymap_file2=lives_build_filename(capable->home_dir,LIVES_CONFIG_DIR,"default.keymap2",NULL); - char *keymap_file3=lives_build_filename(capable->home_dir,LIVES_CONFIG_DIR,"default.keymap3",NULL); + char *msg, *tmp; + char *keymap_file = lives_build_filename(capable->home_dir, LIVES_CONFIG_DIR, "default.keymap", NULL); + char *keymap_file2 = lives_build_filename(capable->home_dir, LIVES_CONFIG_DIR, "default.keymap2", NULL); + char *keymap_file3 = lives_build_filename(capable->home_dir, LIVES_CONFIG_DIR, "default.keymap3", NULL); - boolean update=FALSE; + boolean update = FALSE; - int modes=rte_getmodespk(); - int i,j; + int modes = rte_getmodespk(); + int i, j; int retval; - if (button!=NULL) { + if (button != NULL) { if (!do_warning_dialog_with_check_transient - ((_("\n\nClick 'OK' to save this keymap as your default\n\n")),0,LIVES_WINDOW(rte_window))) { + ((_("\n\nClick 'OK' to save this keymap as your default\n\n")), 0, LIVES_WINDOW(rte_window))) { lives_free(keymap_file3); lives_free(keymap_file2); lives_free(keymap_file); return FALSE; } - d_print(_("Saving keymap to %s\n"),keymap_file); + d_print(_("Saving keymap to %s\n"), keymap_file); } else { - update=TRUE; - list=(LiVESList *)user_data; - if (list==NULL) return FALSE; - d_print(_("\nUpdating keymap file %s..."),keymap_file); + update = TRUE; + list = (LiVESList *)user_data; + if (list == NULL) return FALSE; + d_print(_("\nUpdating keymap file %s..."), keymap_file); } do { - retval=0; - if (!(kfile=fopen(keymap_file,"w"))) { - msg=lives_strdup_printf(_("\n\nUnable to write keymap file\n%s\nError was %s\n"),keymap_file,lives_strerror(errno)); - retval=do_abort_cancel_retry_dialog(msg,LIVES_WINDOW(rte_window)); + retval = 0; + if (!(kfile = fopen(keymap_file, "w"))) { + msg = lives_strdup_printf(_("\n\nUnable to write keymap file\n%s\nError was %s\n"), keymap_file, lives_strerror(errno)); + retval = do_abort_cancel_retry_dialog(msg, LIVES_WINDOW(rte_window)); lives_free(msg); } else { - mainw->write_failed=FALSE; - lives_fputs("LiVES keymap file version 4\n",kfile); + mainw->write_failed = FALSE; + lives_fputs("LiVES keymap file version 4\n", kfile); if (!update) { - for (i=1; i<=prefs->rte_keys_virtual; i++) { - for (j=0; j<modes; j++) { - if (rte_keymode_valid(i,j,TRUE)) { - lives_fputs(lives_strdup_printf("%d|Weed%s\n",i,(tmp=make_weed_hashname(rte_keymode_get_filter_idx(i,j),TRUE,FALSE))),kfile); + for (i = 1; i <= prefs->rte_keys_virtual; i++) { + for (j = 0; j < modes; j++) { + if (rte_keymode_valid(i, j, TRUE)) { + lives_fputs(lives_strdup_printf("%d|Weed%s\n", i, (tmp = make_weed_hashname(rte_keymode_get_filter_idx(i, j), TRUE, FALSE))), kfile); lives_free(tmp); } } } } else { - for (i=0; i<lives_list_length(list); i++) { - lives_fputs((char *)lives_list_nth_data(list,i),kfile); + for (i = 0; i < lives_list_length(list); i++) { + lives_fputs((char *)lives_list_nth_data(list, i), kfile); } } @@ -499,25 +499,25 @@ } if (mainw->write_failed) { - retval=do_write_failed_error_s_with_retry(keymap_file,NULL,LIVES_WINDOW(rte_window)); + retval = do_write_failed_error_s_with_retry(keymap_file, NULL, LIVES_WINDOW(rte_window)); } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); // if we have default values, save them if (has_key_defaults()) { if (!save_keymap2_file(keymap_file2)) { lives_rm(keymap_file2); - retval=LIVES_RESPONSE_CANCEL; + retval = LIVES_RESPONSE_CANCEL; } } else lives_rm(keymap_file2); // if we have data connections, save them - if (mainw->pconx!=NULL||mainw->cconx!=NULL) { + if (mainw->pconx != NULL || mainw->cconx != NULL) { if (!save_keymap3_file(keymap_file3)) { lives_rm(keymap_file3); - retval=LIVES_RESPONSE_CANCEL; + retval = LIVES_RESPONSE_CANCEL; } } else lives_rm(keymap_file3); @@ -526,7 +526,7 @@ lives_free(keymap_file2); lives_free(keymap_file); - if (retval==LIVES_RESPONSE_CANCEL) d_print_file_error_failed(); + if (retval == LIVES_RESPONSE_CANCEL) d_print_file_error_failed(); else d_print_done(); return FALSE; @@ -544,75 +544,75 @@ register int i; - if (prefs->fxdefsfile==NULL) { - prefs->fxdefsfile=lives_build_filename(capable->home_dir,LIVES_CONFIG_DIR,"fxdefs",NULL); + if (prefs->fxdefsfile == NULL) { + prefs->fxdefsfile = lives_build_filename(capable->home_dir, LIVES_CONFIG_DIR, "fxdefs", NULL); } - if (prefs->fxsizesfile==NULL) { - prefs->fxsizesfile=lives_build_filename(capable->home_dir,LIVES_CONFIG_DIR,"fxsizes",NULL); + if (prefs->fxsizesfile == NULL) { + prefs->fxsizesfile = lives_build_filename(capable->home_dir, LIVES_CONFIG_DIR, "fxsizes", NULL); } - d_print(_("Saving real time effect defaults to %s..."),prefs->fxdefsfile); + d_print(_("Saving real time effect defaults to %s..."), prefs->fxdefsfile); - numfx=rte_get_numfilters(FALSE); + numfx = rte_get_numfilters(FALSE); do { - retval=0; - if ((fd=lives_creat_buffered(prefs->fxdefsfile,DEF_FILE_PERMS))==-1) { - msg=lives_strdup_printf(_("\n\nUnable to write defaults file\n%s\nError code %d\n"),prefs->fxdefsfile,errno); - retval=do_abort_cancel_retry_dialog(msg,LIVES_WINDOW(rte_window)); + retval = 0; + if ((fd = lives_creat_buffered(prefs->fxdefsfile, DEF_FILE_PERMS)) == -1) { + msg = lives_strdup_printf(_("\n\nUnable to write defaults file\n%s\nError code %d\n"), prefs->fxdefsfile, errno); + retval = do_abort_cancel_retry_dialog(msg, LIVES_WINDOW(rte_window)); lives_free(msg); } else { - msg=lives_strdup("LiVES filter defaults file version 1.1\n"); - mainw->write_failed=FALSE; - lives_write_buffered(fd,msg,strlen(msg),TRUE); + msg = lives_strdup("LiVES filter defaults file version 1.1\n"); + mainw->write_failed = FALSE; + lives_write_buffered(fd, msg, strlen(msg), TRUE); lives_free(msg); if (mainw->write_failed) { - retval=do_write_failed_error_s_with_retry(prefs->fxdefsfile,NULL,LIVES_WINDOW(rte_window)); + retval = do_write_failed_error_s_with_retry(prefs->fxdefsfile, NULL, LIVES_WINDOW(rte_window)); } else { // break on file write error - for (i=0; i<numfx; i++) { - if (!write_filter_defaults(fd,i)) { - retval=do_write_failed_error_s_with_retry(prefs->fxdefsfile,NULL,LIVES_WINDOW(rte_window)); + for (i = 0; i < numfx; i++) { + if (!write_filter_defaults(fd, i)) { + retval = do_write_failed_error_s_with_retry(prefs->fxdefsfile, NULL, LIVES_WINDOW(rte_window)); break; } } } lives_close_buffered(fd); } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); - if (retval==LIVES_RESPONSE_CANCEL) d_print_file_error_failed(); + if (retval == LIVES_RESPONSE_CANCEL) d_print_file_error_failed(); do { - retval=0; - if ((fd=lives_creat_buffered(prefs->fxsizesfile,DEF_FILE_PERMS))==-1) { - retval=do_write_failed_error_s_with_retry(prefs->fxsizesfile,lives_strerror(errno),LIVES_WINDOW(rte_window)); + retval = 0; + if ((fd = lives_creat_buffered(prefs->fxsizesfile, DEF_FILE_PERMS)) == -1) { + retval = do_write_failed_error_s_with_retry(prefs->fxsizesfile, lives_strerror(errno), LIVES_WINDOW(rte_window)); lives_free(msg); } else { - msg=lives_strdup("LiVES generator default sizes file version 2\n"); - mainw->write_failed=FALSE; - lives_write_buffered(fd,msg,strlen(msg),TRUE); + msg = lives_strdup("LiVES generator default sizes file version 2\n"); + mainw->write_failed = FALSE; + lives_write_buffered(fd, msg, strlen(msg), TRUE); lives_free(msg); if (mainw->write_failed) { - retval=do_write_failed_error_s_with_retry(prefs->fxsizesfile,NULL,LIVES_WINDOW(rte_window)); + retval = do_write_failed_error_s_with_retry(prefs->fxsizesfile, NULL, LIVES_WINDOW(rte_window)); } else { - for (i=0; i<numfx; i++) { - if (!write_generator_sizes(fd,i)) { - retval=do_write_failed_error_s_with_retry(prefs->fxsizesfile,NULL,LIVES_WINDOW(rte_window)); + for (i = 0; i < numfx; i++) { + if (!write_generator_sizes(fd, i)) { + retval = do_write_failed_error_s_with_retry(prefs->fxsizesfile, NULL, LIVES_WINDOW(rte_window)); break; } } } lives_close_buffered(fd); } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); - if (retval==LIVES_RESPONSE_CANCEL) { + if (retval == LIVES_RESPONSE_CANCEL) { d_print_file_error_failed(); - mainw->write_failed=FALSE; + mainw->write_failed = FALSE; return; } @@ -632,35 +632,35 @@ int fd; int retval; - if (prefs->fxdefsfile==NULL) { - prefs->fxdefsfile=lives_build_filename(capable->home_dir,LIVES_CONFIG_DIR,"fxdefs",NULL); + if (prefs->fxdefsfile == NULL) { + prefs->fxdefsfile = lives_build_filename(capable->home_dir, LIVES_CONFIG_DIR, "fxdefs", NULL); } - if (lives_file_test(prefs->fxdefsfile,LIVES_FILE_TEST_EXISTS)) { + if (lives_file_test(prefs->fxdefsfile, LIVES_FILE_TEST_EXISTS)) { do { - retval=0; - if ((fd=lives_open_buffered_rdonly(prefs->fxdefsfile))==-1) { - retval=do_read_failed_error_s_with_retry(prefs->fxdefsfile,lives_strerror(errno),NULL); + retval = 0; + if ((fd = lives_open_buffered_rdonly(prefs->fxdefsfile)) == -1) { + retval = do_read_failed_error_s_with_retry(prefs->fxdefsfile, lives_strerror(errno), NULL); } else { - mainw->read_failed=FALSE; - d_print(_("Loading real time effect defaults from %s..."),prefs->fxdefsfile); + mainw->read_failed = FALSE; + d_print(_("Loading real time effect defaults from %s..."), prefs->fxdefsfile); - msg=lives_strdup("LiVES filter defaults file version 1.1\n"); - buf=lives_malloc(strlen(msg)); - bytes=lives_read_buffered(fd,buf,strlen(msg),TRUE); + msg = lives_strdup("LiVES filter defaults file version 1.1\n"); + buf = lives_malloc(strlen(msg)); + bytes = lives_read_buffered(fd, buf, strlen(msg), TRUE); - if (bytes==strlen(msg)&&!strncmp((char *)buf,msg,strlen(msg))) { + if (bytes == strlen(msg) && !strncmp((char *)buf, msg, strlen(msg))) { if (read_filter_defaults(fd)) { d_print_done(); } else { d_print_file_error_failed(); - retval=do_read_failed_error_s_with_retry(prefs->fxdefsfile,NULL,NULL); + retval = do_read_failed_error_s_with_retry(prefs->fxdefsfile, NULL, NULL); } } else { d_print_file_error_failed(); - if (bytes<strlen(msg)) { - retval=do_read_failed_error_s_with_retry(prefs->fxdefsfile,NULL,NULL); + if (bytes < strlen(msg)) { + retval = do_read_failed_error_s_with_retry(prefs->fxdefsfile, NULL, NULL); } } @@ -669,38 +669,38 @@ lives_free(buf); lives_free(msg); } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); } - if (prefs->fxsizesfile==NULL) { - prefs->fxsizesfile=lives_build_filename(capable->home_dir,LIVES_CONFIG_DIR,"fxsizes",NULL); + if (prefs->fxsizesfile == NULL) { + prefs->fxsizesfile = lives_build_filename(capable->home_dir, LIVES_CONFIG_DIR, "fxsizes", NULL); } - if (lives_file_test(prefs->fxsizesfile,LIVES_FILE_TEST_EXISTS)) { + if (lives_file_test(prefs->fxsizesfile, LIVES_FILE_TEST_EXISTS)) { do { - retval=0; - if ((fd=lives_open_buffered_rdonly(prefs->fxsizesfile))==-1) { - retval=do_read_failed_error_s_with_retry(prefs->fxsizesfile,lives_strerror(errno),NULL); - if (retval==LIVES_RESPONSE_CANCEL) return; + retval = 0; + if ((fd = lives_open_buffered_rdonly(prefs->fxsizesfile)) == -1) { + retval = do_read_failed_error_s_with_retry(prefs->fxsizesfile, lives_strerror(errno), NULL); + if (retval == LIVES_RESPONSE_CANCEL) return; } else { - d_print(_("Loading generator default sizes from %s..."),prefs->fxsizesfile); + d_print(_("Loading generator default sizes from %s..."), prefs->fxsizesfile); - msg=lives_strdup("LiVES generator default sizes file version 2\n"); - buf=lives_malloc(strlen(msg)); - bytes=lives_read_buffered(fd,buf,strlen(msg),TRUE); - if (bytes==strlen(msg)&&!strncmp((char *)buf,msg,strlen(msg))) { + msg = lives_strdup("LiVES generator default sizes file version 2\n"); + buf = lives_malloc(strlen(msg)); + bytes = lives_read_buffered(fd, buf, strlen(msg), TRUE); + if (bytes == strlen(msg) && !strncmp((char *)buf, msg, strlen(msg))) { if (read_generator_sizes(fd)) { d_print_done(); } else { d_print_file_error_failed(); - retval=do_read_failed_error_s_with_retry(prefs->fxsizesfile,NULL,NULL); + retval = do_read_failed_error_s_with_retry(prefs->fxsizesfile, NULL, NULL); } } else { d_print_file_error_failed(); - if (bytes<strlen(msg)) { - retval=do_read_failed_error_s_with_retry(prefs->fxsizesfile,NULL,NULL); + if (bytes < strlen(msg)) { + retval = do_read_failed_error_s_with_retry(prefs->fxsizesfile, NULL, NULL); } } lives_close_buffered(fd); @@ -708,7 +708,7 @@ lives_free(buf); lives_free(msg); } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); } return; @@ -716,13 +716,13 @@ static void check_clear_all_button(void) { - int modes=rte_getmodespk(); - int i,j; - boolean hasone=FALSE; + int modes = rte_getmodespk(); + int i, j; + boolean hasone = FALSE; - for (i=0; i<prefs->rte_keys_virtual; i++) { - for (j=modes-1; j>=0; j--) { - if (rte_keymode_valid(i+1,j,TRUE)) hasone=TRUE; + for (i = 0; i < prefs->rte_keys_virtual; i++) { + for (j = modes - 1; j >= 0; j--) { + if (rte_keymode_valid(i + 1, j, TRUE)) hasone = TRUE; } } @@ -733,21 +733,21 @@ static boolean read_perkey_defaults(int kfd, int key, int mode, int version) { - boolean ret=TRUE; + boolean ret = TRUE; int nparams; - ssize_t bytes=lives_read_le_buffered(kfd,&nparams,4,TRUE); + ssize_t bytes = lives_read_le_buffered(kfd, &nparams, 4, TRUE); - if (nparams>65536) { + if (nparams > 65536) { lives_printerr("Too many params, file is probably broken.\n"); return FALSE; } - if (bytes<sizint) { + if (bytes < sizint) { return FALSE; } - if (nparams>0) { - ret=read_key_defaults(kfd,nparams,key,mode,version); + if (nparams > 0) { + ret = read_key_defaults(kfd, nparams, key, mode, version); } return ret; } @@ -756,7 +756,7 @@ static boolean load_datacons(const char *fname, uint8_t **badkeymap) { - weed_plant_t **ochans,**ichans,**iparams; + weed_plant_t **ochans, **ichans, **iparams; weed_plant_t *filter; @@ -764,9 +764,9 @@ char *hashname; - boolean ret=TRUE; - boolean is_valid,is_valid2; - boolean eof=FALSE; + boolean ret = TRUE; + boolean is_valid, is_valid2; + boolean eof = FALSE; int kfd; @@ -774,98 +774,98 @@ int hlen; - int version,nchans,nparams,nconns,ncconx,npconx; + int version, nchans, nparams, nconns, ncconx, npconx; - int nichans,nochans,niparams,noparams,error; + int nichans, nochans, niparams, noparams, error; - int okey,omode,ocnum,opnum,ikey,imode,icnum,ipnum,autoscale; + int okey, omode, ocnum, opnum, ikey, imode, icnum, ipnum, autoscale; - int maxmodes=rte_getmodespk(); + int maxmodes = rte_getmodespk(); - register int i,j,k,count; + register int i, j, k, count; do { - retval=0; - if ((kfd=lives_open_buffered_rdonly(fname))==-1) { - retval=do_read_failed_error_s_with_retry(fname,lives_strerror(errno),NULL); + retval = 0; + if ((kfd = lives_open_buffered_rdonly(fname)) == -1) { + retval = do_read_failed_error_s_with_retry(fname, lives_strerror(errno), NULL); } else { - mainw->read_failed=FALSE; + mainw->read_failed = FALSE; - bytes=lives_read_le_buffered(kfd,&version,4,TRUE); - if (bytes<4) { - eof=TRUE; + bytes = lives_read_le_buffered(kfd, &version, 4, TRUE); + if (bytes < 4) { + eof = TRUE; break; } - bytes=lives_read_le_buffered(kfd,&ncconx,4,TRUE); - if (bytes<4) { - eof=TRUE; + bytes = lives_read_le_buffered(kfd, &ncconx, 4, TRUE); + if (bytes < 4) { + eof = TRUE; break; } - for (count=0; count<ncconx; count++) { - is_valid=TRUE; + for (count = 0; count < ncconx; count++) { + is_valid = TRUE; - bytes=lives_read_le_buffered(kfd,&okey,4,TRUE); - if (bytes<4) { - eof=TRUE; + bytes = lives_read_le_buffered(kfd, &okey, 4, TRUE); + if (bytes < 4) { + eof = TRUE; break; } - if (okey<0||okey>=prefs->rte_keys_virtual) is_valid=FALSE; + if (okey < 0 || okey >= prefs->rte_keys_virtual) is_valid = FALSE; - bytes=lives_read_le_buffered(kfd,&omode,4,TRUE); - if (bytes<4) { - eof=TRUE; + bytes = lives_read_le_buffered(kfd, &omode, 4, TRUE); + if (bytes < 4) { + eof = TRUE; break; } - bytes=lives_read_le_buffered(kfd,&hlen,4,TRUE); - if (bytes<4) { - eof=TRUE; + bytes = lives_read_le_buffered(kfd, &hlen, 4, TRUE); + if (bytes < 4) { + eof = TRUE; break; } - hashname=(char *)lives_try_malloc(hlen+1); + hashname = (char *)lives_try_malloc(hlen + 1); - if (hashname==NULL) { - eof=TRUE; + if (hashname == NULL) { + eof = TRUE; break; } - bytes=lives_read_buffered(kfd,hashname,hlen,TRUE); - if (bytes<hlen) { - eof=TRUE; + bytes = lives_read_buffered(kfd, hashname, hlen, TRUE); + if (bytes < hlen) { + eof = TRUE; lives_free(hashname); break; } - memset(hashname+hlen,0,1); + memset(hashname + hlen, 0, 1); - if (omode<0||omode>maxmodes) is_valid=FALSE; + if (omode < 0 || omode > maxmodes) is_valid = FALSE; if (is_valid) { // if we had bad/missing fx, adjust the omode value - for (i=0; i<omode; i++) omode-=badkeymap[okey][omode]; + for (i = 0; i < omode; i++) omode -= badkeymap[okey][omode]; } - if (omode<0||omode>maxmodes) is_valid=FALSE; + if (omode < 0 || omode > maxmodes) is_valid = FALSE; if (is_valid) { - int fidx=rte_keymode_get_filter_idx(okey+1,omode); - if (fidx==-1) is_valid=FALSE; + int fidx = rte_keymode_get_filter_idx(okey + 1, omode); + if (fidx == -1) is_valid = FALSE; else { - char *hashname2=make_weed_hashname(fidx,TRUE,FALSE); - if (strcmp(hashname,hashname2)) is_valid=FALSE; + char *hashname2 = make_weed_hashname(fidx, TRUE, FALSE); + if (strcmp(hashname, hashname2)) is_valid = FALSE; lives_free(hashname2); if (!is_valid) { - hashname2=make_weed_hashname(fidx,TRUE,TRUE); - if (!strcmp(hashname,hashname2)) is_valid=TRUE; + hashname2 = make_weed_hashname(fidx, TRUE, TRUE); + if (!strcmp(hashname, hashname2)) is_valid = TRUE; lives_free(hashname2); } } @@ -873,92 +873,92 @@ lives_free(hashname); - bytes=lives_read_le_buffered(kfd,&nchans,4,TRUE); - if (bytes<4) { - eof=TRUE; + bytes = lives_read_le_buffered(kfd, &nchans, 4, TRUE); + if (bytes < 4) { + eof = TRUE; break; } - for (i=0; i<nchans; i++) { - is_valid2=is_valid; + for (i = 0; i < nchans; i++) { + is_valid2 = is_valid; - bytes=lives_read_le_buffered(kfd,&ocnum,4,TRUE); - if (bytes<4) { - eof=TRUE; + bytes = lives_read_le_buffered(kfd, &ocnum, 4, TRUE); + if (bytes < 4) { + eof = TRUE; break; } // check ocnum - filter=rte_keymode_get_filter(okey+1,omode); - nochans=weed_leaf_num_elements(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES); - if (ocnum>=nochans) is_valid2=FALSE; + filter = rte_keymode_get_filter(okey + 1, omode); + nochans = weed_leaf_num_elements(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES); + if (ocnum >= nochans) is_valid2 = FALSE; else { - ochans=weed_get_plantptr_array(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES,&error); - if (!has_alpha_palette(ochans[ocnum])) is_valid2=FALSE; + ochans = weed_get_plantptr_array(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES, &error); + if (!has_alpha_palette(ochans[ocnum])) is_valid2 = FALSE; lives_free(ochans); } - bytes=lives_read_le_buffered(kfd,&nconns,4,TRUE); - if (bytes<4) { - eof=TRUE; + bytes = lives_read_le_buffered(kfd, &nconns, 4, TRUE); + if (bytes < 4) { + eof = TRUE; break; } - for (j=0; j<nconns; j++) { - bytes=lives_read_le_buffered(kfd,&ikey,4,TRUE); - if (bytes<4) { - eof=TRUE; + for (j = 0; j < nconns; j++) { + bytes = lives_read_le_buffered(kfd, &ikey, 4, TRUE); + if (bytes < 4) { + eof = TRUE; break; } - bytes=lives_read_le_buffered(kfd,&imode,4,TRUE); - if (bytes<4) { - eof=TRUE; + bytes = lives_read_le_buffered(kfd, &imode, 4, TRUE); + if (bytes < 4) { + eof = TRUE; break; } - bytes=lives_read_le_buffered(kfd,&hlen,4,TRUE); - if (bytes<4) { - eof=TRUE; + bytes = lives_read_le_buffered(kfd, &hlen, 4, TRUE); + if (bytes < 4) { + eof = TRUE; break; } - hashname=(char *)lives_try_malloc(hlen+1); + hashname = (char *)lives_try_malloc(hlen + 1); - if (hashname==NULL) { - eof=TRUE; + if (hashname == NULL) { + eof = TRUE; break; } - bytes=lives_read_buffered(kfd,hashname,hlen,TRUE); - if (bytes<hlen) { - eof=TRUE; + bytes = lives_read_buffered(kfd, hashname, hlen, TRUE); + if (bytes < hlen) { + eof = TRUE; lives_free(hashname); break; } - memset(hashname+hlen,0,1); + memset(hashname + hlen, 0, 1); - if (imode<0||imode>maxmodes) is_valid2=FALSE; + if (imode < 0 || imode > maxmodes) is_valid2 = FALSE; if (is_valid2) { // if we had bad/missing fx, adjust the omode value - for (k=0; k<imode; k++) imode-=badkeymap[ikey][imode]; + for (k = 0; k < imode; k++) imode -= badkeymap[ikey][imode]; } - if (imode<0||imode>maxmodes) is_valid2=FALSE; + if (imode < 0 || imode > maxmodes) is_valid2 = FALSE; if (is_valid2) { - int fidx=rte_keymode_get_filter_idx(ikey+1,imode); - if (fidx==-1) is_valid2=FALSE; + int fidx = rte_keymode_get_filter_idx(ikey + 1, imode); + if (fidx == -1) is_valid2 = FALSE; else { - char *hashname2=make_weed_hashname(fidx,TRUE,FALSE); - if (strcmp(hashname,hashname2)) is_valid2=FALSE; + char *hashname2 = make_weed_hashname(fidx, TRUE, FALSE); + if (strcmp(hashname, hashname2)) is_valid2 = FALSE; lives_free(hashname2); if (!is_valid2) { - hashname2=make_weed_hashname(fidx,TRUE,TRUE); - if (!strcmp(hashname,hashname2)) is_valid2=TRUE; + hashname2 = make_weed_hashname(fidx, TRUE, TRUE); + if (!strcmp(hashname, hashname2)) is_valid2 = TRUE; lives_free(hashname2); } } @@ -966,25 +966,25 @@ lives_free(hashname); - bytes=lives_read_le_buffered(kfd,&icnum,4,TRUE); - if (bytes<4) { - eof=TRUE; + bytes = lives_read_le_buffered(kfd, &icnum, 4, TRUE); + if (bytes < 4) { + eof = TRUE; break; } // check icnum - filter=rte_keymode_get_filter(ikey+1,imode); - nichans=weed_leaf_num_elements(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES); - if (icnum>=nichans) is_valid2=FALSE; + filter = rte_keymode_get_filter(ikey + 1, imode); + nichans = weed_leaf_num_elements(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES); + if (icnum >= nichans) is_valid2 = FALSE; else { - ichans=weed_get_plantptr_array(filter,WEED_LEAF_IN_CHANNEL_TEMPLATES,&error); - if (!has_alpha_palette(ichans[icnum])) is_valid2=FALSE; + ichans = weed_get_plantptr_array(filter, WEED_LEAF_IN_CHANNEL_TEMPLATES, &error); + if (!has_alpha_palette(ichans[icnum])) is_valid2 = FALSE; lives_free(ichans); } - if (is_valid2) cconx_add_connection(okey,omode,ocnum,ikey,imode,icnum); + if (is_valid2) cconx_add_connection(okey, omode, ocnum, ikey, imode, icnum); @@ -1006,73 +1006,73 @@ - bytes=lives_read_le_buffered(kfd,&npconx,4,TRUE); - if (bytes<4) { - eof=TRUE; + bytes = lives_read_le_buffered(kfd, &npconx, 4, TRUE); + if (bytes < 4) { + eof = TRUE; break; } - for (count=0; count<npconx; count++) { - is_valid=TRUE; + for (count = 0; count < npconx; count++) { + is_valid = TRUE; - bytes=lives_read_le_buffered(kfd,&okey,4,TRUE); - if (bytes<4) { - eof=TRUE; + bytes = lives_read_le_buffered(kfd, &okey, 4, TRUE); + if (bytes < 4) { + eof = TRUE; break; } - if (okey<0||okey>=prefs->rte_keys_virtual) is_valid=FALSE; + if (okey < 0 || okey >= prefs->rte_keys_virtual) is_valid = FALSE; - bytes=lives_read_le_buffered(kfd,&omode,4,TRUE); - if (bytes<4) { - eof=TRUE; + bytes = lives_read_le_buffered(kfd, &omode, 4, TRUE); + if (bytes < 4) { + eof = TRUE; break; } - bytes=lives_read_le_buffered(kfd,&hlen,4,TRUE); - if (bytes<4) { - eof=TRUE; + bytes = lives_read_le_buffered(kfd, &hlen, 4, TRUE); + if (bytes < 4) { + eof = TRUE; break; } - hashname=(char *)lives_try_malloc(hlen+1); + hashname = (char *)lives_try_malloc(hlen + 1); - if (hashname==NULL) { - eof=TRUE; + if (hashname == NULL) { + eof = TRUE; break; } - bytes=lives_read_buffered(kfd,hashname,hlen,TRUE); - if (bytes<hlen) { - eof=TRUE; + bytes = lives_read_buffered(kfd, hashname, hlen, TRUE); + if (bytes < hlen) { + eof = TRUE; lives_free(hashname); break; } - memset(hashname+hlen,0,1); + memset(hashname + hlen, 0, 1); - if (omode<0||omode>maxmodes) is_valid=FALSE; + if (omode < 0 || omode > maxmodes) is_valid = FALSE; if (is_valid) { // if we had bad/missing fx, adjust the omode value - for (i=0; i<omode; i++) omode-=badkeymap[okey][omode]; + for (i = 0; i < omode; i++) omode -= badkeymap[okey][omode]; } - if (omode<0||omode>maxmodes) is_valid=FALSE; + if (omode < 0 || omode > maxmodes) is_valid = FALSE; if (is_valid) { - int fidx=rte_keymode_get_filter_idx(okey+1,omode); - if (fidx==-1) is_valid=FALSE; + int fidx = rte_keymode_get_filter_idx(okey + 1, omode); + if (fidx == -1) is_valid = FALSE; else { - char *hashname2=make_weed_hashname(fidx,TRUE,FALSE); - if (strcmp(hashname,hashname2)) is_valid=FALSE; + char *hashname2 = make_weed_hashname(fidx, TRUE, FALSE); + if (strcmp(hashname, hashname2)) is_valid = FALSE; lives_free(hashname2); if (!is_valid) { - hashname2=make_weed_hashname(fidx,TRUE,TRUE); - if (!strcmp(hashname,hashname2)) is_valid=TRUE; + hashname2 = make_weed_hashname(fidx, TRUE, TRUE); + if (!strcmp(hashname, hashname2)) is_valid = TRUE; lives_free(hashname2); } } @@ -1080,86 +1080,86 @@ lives_free(hashname); - bytes=lives_read_le_buffered(kfd,&nparams,4,TRUE); - if (bytes<4) { - eof=TRUE; + bytes = lives_read_le_buffered(kfd, &nparams, 4, TRUE); + if (bytes < 4) { + eof = TRUE; break; } - for (i=0; i<nparams; i++) { - is_valid2=is_valid; + for (i = 0; i < nparams; i++) { + is_valid2 = is_valid; - bytes=lives_read_le_buffered(kfd,&opnum,4,TRUE); - if (bytes<4) { - eof=TRUE; + bytes = lives_read_le_buffered(kfd, &opnum, 4, TRUE); + if (bytes < 4) { + eof = TRUE; break; } // check opnum - filter=rte_keymode_get_filter(okey+1,omode); - noparams=weed_leaf_num_elements(filter,WEED_LEAF_OUT_PARAMETER_TEMPLATES); - if (opnum>=noparams) is_valid2=FALSE; + filter = rte_keymode_get_filter(okey + 1, omode); + noparams = weed_leaf_num_elements(filter, WEED_LEAF_OUT_PARAMETER_TEMPLATES); + if (opnum >= noparams) is_valid2 = FALSE; - bytes=lives_read_le_buffered(kfd,&nconns,4,TRUE); - if (bytes<4) { - eof=TRUE; + bytes = lives_read_le_buffered(kfd, &nconns, 4, TRUE); + if (bytes < 4) { + eof = TRUE; break; } - for (j=0; j<nconns; j++) { - bytes=lives_read_le_buffered(kfd,&ikey,4,TRUE); - if (bytes<4) { - eof=TRUE; + for (j = 0; j < nconns; j++) { + bytes = lives_read_le_buffered(kfd, &ikey, 4, TRUE); + if (bytes < 4) { + eof = TRUE; break; } - bytes=lives_read_le_buffered(kfd,&imode,4,TRUE); - if (bytes<4) { - eof=TRUE; + bytes = lives_read_le_buffered(kfd, &imode, 4, TRUE); + if (bytes < 4) { + eof = TRUE; break; } - bytes=lives_read_le_buffered(kfd,&hlen,4,TRUE); - if (bytes<4) { - eof=TRUE; + bytes = lives_read_le_buffered(kfd, &hlen, 4, TRUE); + if (bytes < 4) { + eof = TRUE; break; } - hashname=(char *)lives_try_malloc(hlen+1); + hashname = (char *)lives_try_malloc(hlen + 1); - if (hashname==NULL) { - eof=TRUE; + if (hashname == NULL) { + eof = TRUE; break; } - bytes=lives_read_buffered(kfd,hashname,hlen,TRUE); - if (bytes<hlen) { - eof=TRUE; + bytes = lives_read_buffered(kfd, hashname, hlen, TRUE); + if (bytes < hlen) { + eof = TRUE; lives_free(hashname); break; } - memset(hashname+hlen,0,1); + memset(hashname + hlen, 0, 1); - if (imode<0||imode>maxmodes) is_valid2=FALSE; + if (imode < 0 || imode > maxmodes) is_valid2 = FALSE; if (is_valid2) { // if we had bad/missing fx, adjust the omode value - for (k=0; k<imode; k++) imode-=badkeymap[ikey][imode]; + for (k = 0; k < imode; k++) imode -= badkeymap[ikey][imode]; } - if (imode<0||imode>maxmodes) is_valid2=FALSE; + if (imode < 0 || imode > maxmodes) is_valid2 = FALSE; if (is_valid2) { - int fidx=rte_keymode_get_filter_idx(ikey+1,imode); - if (fidx==-1) is_valid2=FALSE; + int fidx = rte_keymode_get_filter_idx(ikey + 1, imode); + if (fidx == -1) is_valid2 = FALSE; else { - char *hashname2=make_weed_hashname(fidx,TRUE,FALSE); - if (strcmp(hashname,hashname2)) is_valid2=FALSE; + char *hashname2 = make_weed_hashname(fidx, TRUE, FALSE); + if (strcmp(hashname, hashname2)) is_valid2 = FALSE; lives_free(hashname2); if (!is_valid2) { - hashname2=make_weed_hashname(fidx,TRUE,TRUE); - if (!strcmp(hashname,hashname2)) is_valid2=TRUE; + hashname2 = make_weed_hashname(fidx, TRUE, TRUE); + if (!strcmp(hashname, hashname2)) is_valid2 = TRUE; lives_free(hashname2); } } @@ -1167,32 +1167,32 @@ lives_free(hashname); - bytes=lives_read_le_buffered(kfd,&ipnum,4,TRUE); - if (bytes<4) { - eof=TRUE; + bytes = lives_read_le_buffered(kfd, &ipnum, 4, TRUE); + if (bytes < 4) { + eof = TRUE; break; } // check ipnum - filter=rte_keymode_get_filter(ikey+1,imode); - niparams=weed_leaf_num_elements(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES); - if (ipnum>=niparams) is_valid2=FALSE; + filter = rte_keymode_get_filter(ikey + 1, imode); + niparams = weed_leaf_num_elements(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES); + if (ipnum >= niparams) is_valid2 = FALSE; else { - if (ipnum>=0) { - iparams=weed_get_plantptr_array(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); - if (weed_plant_has_leaf(iparams[ipnum],WEED_LEAF_HOST_INTERNAL_CONNECTION)) is_valid2=FALSE; + if (ipnum >= 0) { + iparams = weed_get_plantptr_array(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); + if (weed_plant_has_leaf(iparams[ipnum], WEED_LEAF_HOST_INTERNAL_CONNECTION)) is_valid2 = FALSE; lives_free(iparams); } } - bytes=lives_read_le_buffered(kfd,&autoscale,4,TRUE); - if (bytes<4) { - eof=TRUE; + bytes = lives_read_le_buffered(kfd, &autoscale, 4, TRUE); + if (bytes < 4) { + eof = TRUE; break; } if (is_valid2) { - pconx_add_connection(okey,omode,opnum,ikey,imode,ipnum,autoscale); + pconx_add_connection(okey, omode, opnum, ikey, imode, ipnum, autoscale); } @@ -1214,9 +1214,9 @@ lives_close_buffered(kfd); } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); - if (retval==LIVES_RESPONSE_CANCEL) { + if (retval == LIVES_RESPONSE_CANCEL) { d_print_cancelled(); return FALSE; } @@ -1226,200 +1226,200 @@ static void set_param_and_con_buttons(int key, int mode) { - weed_plant_t *filter=rte_keymode_get_filter(key+1,mode); + weed_plant_t *filter = rte_keymode_get_filter(key + 1, mode); - int modes=rte_getmodespk(); - int idx=key*modes+mode; + int modes = rte_getmodespk(); + int idx = key * modes + mode; - if (filter!=NULL) { - lives_widget_set_sensitive(conx_buttons[idx],TRUE); - if (num_in_params(filter,TRUE,TRUE)>0) lives_widget_set_sensitive(param_buttons[idx],TRUE); - else lives_widget_set_sensitive(param_buttons[idx],FALSE); - lives_widget_set_sensitive(combos[idx],TRUE); - if (mode<modes-1) lives_widget_set_sensitive(combos[idx+1],TRUE); + if (filter != NULL) { + lives_widget_set_sensitive(conx_buttons[idx], TRUE); + if (num_in_params(filter, TRUE, TRUE) > 0) lives_widget_set_sensitive(param_buttons[idx], TRUE); + else lives_widget_set_sensitive(param_buttons[idx], FALSE); + lives_widget_set_sensitive(combos[idx], TRUE); + if (mode < modes - 1) lives_widget_set_sensitive(combos[idx + 1], TRUE); } else { - lives_widget_set_sensitive(conx_buttons[idx],FALSE); - lives_widget_set_sensitive(param_buttons[idx],FALSE); - if (mode==0||rte_keymode_get_filter(key+1,mode-1)!=NULL) - lives_widget_set_sensitive(combos[idx],TRUE); + lives_widget_set_sensitive(conx_buttons[idx], FALSE); + lives_widget_set_sensitive(param_buttons[idx], FALSE); + if (mode == 0 || rte_keymode_get_filter(key + 1, mode - 1) != NULL) + lives_widget_set_sensitive(combos[idx], TRUE); else - lives_widget_set_sensitive(combos[idx],FALSE); + lives_widget_set_sensitive(combos[idx], FALSE); } - type_label_set_text(key,mode); + type_label_set_text(key, mode); } boolean on_load_keymap_clicked(LiVESButton *button, livespointer user_data) { // show file errors at this level - FILE *kfile=NULL; + FILE *kfile = NULL; - LiVESList *list=NULL,*new_list=NULL; + LiVESList *list = NULL, *new_list = NULL; size_t linelen; ssize_t bytes; char buff[65536]; - char *msg,*tmp; - char *whole=lives_strdup(""),*whole2; - char *hashname,*hashname_new=NULL; + char *msg, *tmp; + char *whole = lives_strdup(""), *whole2; + char *hashname, *hashname_new = NULL; - char *line=NULL; + char *line = NULL; char *whashname; - char *keymap_file=lives_build_filename(capable->home_dir,LIVES_CONFIG_DIR,"default.keymap",NULL); - char *keymap_file2=lives_build_filename(capable->home_dir,LIVES_CONFIG_DIR,"default.keymap2",NULL); - char *keymap_file3=lives_build_filename(capable->home_dir,LIVES_CONFIG_DIR,"default.keymap3",NULL); + char *keymap_file = lives_build_filename(capable->home_dir, LIVES_CONFIG_DIR, "default.keymap", NULL); + char *keymap_file2 = lives_build_filename(capable->home_dir, LIVES_CONFIG_DIR, "default.keymap2", NULL); + char *keymap_file3 = lives_build_filename(capable->home_dir, LIVES_CONFIG_DIR, "default.keymap3", NULL); int *def_modes; uint8_t **badkeymap; - boolean notfound=FALSE; - boolean has_error=FALSE; - boolean eof=FALSE; + boolean notfound = FALSE; + boolean has_error = FALSE; + boolean eof = FALSE; - int modes=rte_getmodespk(); - int kfd=-1; + int modes = rte_getmodespk(); + int kfd = -1; int version; int hlen; int retval; - int key,mode; - int update=0; + int key, mode; + int update = 0; register int i; - def_modes=(int *)lives_malloc(prefs->rte_keys_virtual*sizint); - for (i=0; i<prefs->rte_keys_virtual; i++) def_modes[i]=-1; + def_modes = (int *)lives_malloc(prefs->rte_keys_virtual * sizint); + for (i = 0; i < prefs->rte_keys_virtual; i++) def_modes[i] = -1; - if (lives_file_test(keymap_file2,LIVES_FILE_TEST_EXISTS)) { + if (lives_file_test(keymap_file2, LIVES_FILE_TEST_EXISTS)) { lives_free(keymap_file); - keymap_file=keymap_file2; + keymap_file = keymap_file2; } else { lives_freep((void **)&keymap_file2); } - d_print(_("Loading default keymap from %s..."),keymap_file); + d_print(_("Loading default keymap from %s..."), keymap_file); do { - retval=0; + retval = 0; - if (keymap_file2!=NULL) { - if ((kfd=lives_open_buffered_rdonly(keymap_file))<0) has_error=TRUE; + if (keymap_file2 != NULL) { + if ((kfd = lives_open_buffered_rdonly(keymap_file)) < 0) has_error = TRUE; } else { - if (!(kfile=fopen(keymap_file,"r"))) { - has_error=TRUE; + if (!(kfile = fopen(keymap_file, "r"))) { + has_error = TRUE; } } if (has_error) { - msg=lives_strdup_printf(_("\n\nUnable to read from keymap file\n%s\nError code %d\n"),keymap_file,errno); - retval=do_abort_cancel_retry_dialog(msg,LIVES_WINDOW(rte_window)); + msg = lives_strdup_printf(_("\n\nUnable to read from keymap file\n%s\nError code %d\n"), keymap_file, errno); + retval = do_abort_cancel_retry_dialog(msg, LIVES_WINDOW(rte_window)); lives_free(msg); - if (retval==LIVES_RESPONSE_CANCEL) { + if (retval == LIVES_RESPONSE_CANCEL) { lives_free(keymap_file); d_print_file_error_failed(); lives_free(def_modes); return FALSE; } } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); - on_clear_all_clicked(NULL,user_data); + on_clear_all_clicked(NULL, user_data); if (ca_canc) { // user cancelled - mainw->error=FALSE; + mainw->error = FALSE; d_print_cancelled(); lives_free(def_modes); return FALSE; } - badkeymap=(uint8_t **)lives_malloc(prefs->rte_keys_virtual*sizeof(uint8_t *)); - for (i=0; i<prefs->rte_keys_virtual; i++) { - badkeymap[i]=(uint8_t *)lives_calloc(modes,1); + badkeymap = (uint8_t **)lives_malloc(prefs->rte_keys_virtual * sizeof(uint8_t *)); + for (i = 0; i < prefs->rte_keys_virtual; i++) { + badkeymap[i] = (uint8_t *)lives_calloc(modes, 1); } - if (keymap_file2==NULL) { + if (keymap_file2 == NULL) { // version 1 file - while (fgets(buff,65536,kfile)) { + while (fgets(buff, 65536, kfile)) { if (strlen(buff)) { - line=(lives_strstrip(buff)); - if ((linelen=strlen(line))) { - whole2=lives_strconcat(whole,line,NULL); - if (whole2!=whole) lives_free(whole); - whole=whole2; - if (linelen<(size_t)65535) { - list=lives_list_append(list, lives_strdup(whole)); + line = (lives_strstrip(buff)); + if ((linelen = strlen(line))) { + whole2 = lives_strconcat(whole, line, NULL); + if (whole2 != whole) lives_free(whole); + whole = whole2; + if (linelen < (size_t)65535) { + list = lives_list_append(list, lives_strdup(whole)); lives_free(whole); - whole=lives_strdup(""); + whole = lives_strdup(""); } } } } fclose(kfile); - if (!strcmp((char *)lives_list_nth_data(list,0),"LiVES keymap file version 2")|| - !strcmp((char *)lives_list_nth_data(list,0),"LiVES keymap file version 1")) update=1; - if (!strcmp((char *)lives_list_nth_data(list,0),"LiVES keymap file version 3")) update=2; + if (!strcmp((char *)lives_list_nth_data(list, 0), "LiVES keymap file version 2") || + !strcmp((char *)lives_list_nth_data(list, 0), "LiVES keymap file version 1")) update = 1; + if (!strcmp((char *)lives_list_nth_data(list, 0), "LiVES keymap file version 3")) update = 2; } else { // newer style // read version - bytes=lives_read_le_buffered(kfd,&version,4,TRUE); - if (bytes<sizint) { - eof=TRUE; + bytes = lives_read_le_buffered(kfd, &version, 4, TRUE); + if (bytes < sizint) { + eof = TRUE; } } lives_free(whole); - for (i=1; (keymap_file2==NULL&&i<lives_list_length(list))||(keymap_file2!=NULL&&!eof); i++) { + for (i = 1; (keymap_file2 == NULL && i < lives_list_length(list)) || (keymap_file2 != NULL && !eof); i++) { char **array; - if (keymap_file2==NULL) { + if (keymap_file2 == NULL) { // old style - line=(char *)lives_list_nth_data(list,i); + line = (char *)lives_list_nth_data(list, i); - if (get_token_count(line,'|')<2) { - d_print(_("Invalid line %d in %s\n"),i,keymap_file); + if (get_token_count(line, '|') < 2) { + d_print(_("Invalid line %d in %s\n"), i, keymap_file); continue; } - array=lives_strsplit(line,"|",-1); + array = lives_strsplit(line, "|", -1); - if (!strcmp(array[0],"defaults")) { + if (!strcmp(array[0], "defaults")) { lives_strfreev(array); - array=lives_strsplit(line,"|",2); + array = lives_strsplit(line, "|", 2); lives_freep((void **)&prefs->fxdefsfile); - prefs->fxdefsfile=lives_strdup(array[1]); + prefs->fxdefsfile = lives_strdup(array[1]); lives_strfreev(array); continue; } - if (!strcmp(array[0],"sizes")) { + if (!strcmp(array[0], "sizes")) { lives_strfreev(array); - array=lives_strsplit(line,"|",2); + array = lives_strsplit(line, "|", 2); lives_freep((void **)&prefs->fxsizesfile); - prefs->fxsizesfile=lives_strdup(array[1]); + prefs->fxsizesfile = lives_strdup(array[1]); lives_strfreev(array); continue; } - key=atoi(array[0]); + key = atoi(array[0]); - hashname=lives_strdup(array[1]); + hashname = lives_strdup(array[1]); lives_strfreev(array); - if (update>0) { - if (update==1) hashname_new=lives_strdup_printf("%d|Weed%s1\n",key,hashname); - if (update==2) hashname_new=lives_strdup_printf("%d|Weed%s\n",key,hashname); - new_list=lives_list_append(new_list,hashname_new); + if (update > 0) { + if (update == 1) hashname_new = lives_strdup_printf("%d|Weed%s1\n", key, hashname); + if (update == 2) hashname_new = lives_strdup_printf("%d|Weed%s\n", key, hashname); + new_list = lives_list_append(new_list, hashname_new); lives_free(hashname); continue; } @@ -1429,171 +1429,171 @@ // file format is: (4 bytes int)key(4 bytes int)hlen(hlen bytes)hashname //read key and hashname - bytes=lives_read_le_buffered(kfd,&key,4,TRUE); - if (bytes<4) { - eof=TRUE; + bytes = lives_read_le_buffered(kfd, &key, 4, TRUE); + if (bytes < 4) { + eof = TRUE; break; } - bytes=lives_read_le_buffered(kfd,&hlen,4,TRUE); - if (bytes<4) { - eof=TRUE; + bytes = lives_read_le_buffered(kfd, &hlen, 4, TRUE); + if (bytes < 4) { + eof = TRUE; break; } - hashname=(char *)lives_try_malloc(hlen+1); + hashname = (char *)lives_try_malloc(hlen + 1); - if (hashname==NULL) { - eof=TRUE; + if (hashname == NULL) { + eof = TRUE; break; } - bytes=lives_read_buffered(kfd,hashname,hlen,TRUE); - if (bytes<hlen) { - eof=TRUE; + bytes = lives_read_buffered(kfd, hashname, hlen, TRUE); + if (bytes < hlen) { + eof = TRUE; lives_free(hashname); break; } - memset(hashname+hlen,0,1); + memset(hashname + hlen, 0, 1); - array=lives_strsplit(hashname,"|",-1); + array = lives_strsplit(hashname, "|", -1); lives_free(hashname); - hashname=lives_strdup(array[0]); + hashname = lives_strdup(array[0]); lives_strfreev(array); } - if (key<1||key>prefs->rte_keys_virtual) { - d_print((tmp=lives_strdup_printf(_("Invalid key %d in %s\n"),key,keymap_file))); + if (key < 1 || key > prefs->rte_keys_virtual) { + d_print((tmp = lives_strdup_printf(_("Invalid key %d in %s\n"), key, keymap_file))); LIVES_ERROR(tmp); lives_free(tmp); - notfound=TRUE; + notfound = TRUE; lives_free(hashname); - if (keymap_file2!=NULL) { + if (keymap_file2 != NULL) { // read param defaults - if (!read_perkey_defaults(kfd,-1,-1,version)) break; // file read error + if (!read_perkey_defaults(kfd, -1, -1, version)) break; // file read error } continue; } - def_modes[key-1]++; + def_modes[key - 1]++; - if (strncmp(hashname,"Weed",4)||strlen(hashname)<5) { - d_print((tmp=lives_strdup_printf(_("Invalid effect %s in %s\n"),hashname,keymap_file))); + if (strncmp(hashname, "Weed", 4) || strlen(hashname) < 5) { + d_print((tmp = lives_strdup_printf(_("Invalid effect %s in %s\n"), hashname, keymap_file))); LIVES_ERROR(tmp); lives_free(tmp); - notfound=TRUE; + notfound = TRUE; lives_free(hashname); - badkeymap[key-1][def_modes[key-1]]++; - if (keymap_file2!=NULL) { + badkeymap[key - 1][def_modes[key - 1]]++; + if (keymap_file2 != NULL) { // read param defaults - if (!read_perkey_defaults(kfd,-1,-1,version)) break; // file read error + if (!read_perkey_defaults(kfd, -1, -1, version)) break; // file read error } - def_modes[key-1]--; + def_modes[key - 1]--; continue; } // ignore "Weed" - whashname=hashname+4; + whashname = hashname + 4; - if ((mode=weed_add_effectkey(key,whashname,TRUE))==-1) { + if ((mode = weed_add_effectkey(key, whashname, TRUE)) == -1) { // could not locate effect - d_print((tmp=lives_strdup_printf(_("Unknown effect %s in %s\n"),whashname,keymap_file))); + d_print((tmp = lives_strdup_printf(_("Unknown effect %s in %s\n"), whashname, keymap_file))); LIVES_ERROR(tmp); lives_free(tmp); - notfound=TRUE; + notfound = TRUE; lives_free(hashname); - badkeymap[key-1][def_modes[key-1]]++; - if (keymap_file2!=NULL) { + badkeymap[key - 1][def_modes[key - 1]]++; + if (keymap_file2 != NULL) { // read param defaults - if (!read_perkey_defaults(kfd,-1,-1,version)) break; // file read error + if (!read_perkey_defaults(kfd, -1, -1, version)) break; // file read error } - def_modes[key-1]--; + def_modes[key - 1]--; continue; } lives_free(hashname); - if (mode==-2) { - d_print((tmp=lives_strdup_printf - (_("This version of LiVES cannot mix generators/non-generators on the same key (%d) !\n"),key))); + if (mode == -2) { + d_print((tmp = lives_strdup_printf + (_("This version of LiVES cannot mix generators/non-generators on the same key (%d) !\n"), key))); LIVES_ERROR(tmp); lives_free(tmp); - badkeymap[key-1][def_modes[key-1]]++; - if (keymap_file2!=NULL) { + badkeymap[key - 1][def_modes[key - 1]]++; + if (keymap_file2 != NULL) { // read param defaults - if (!read_perkey_defaults(kfd,-1,-1,version)) break; // file read error + if (!read_perkey_defaults(kfd, -1, -1, version)) break; // file read error } - def_modes[key-1]--; + def_modes[key - 1]--; continue; } - if (mode==-3) { - d_print((tmp=lives_strdup_printf(_("Too many effects bound to key %d.\n"),key))); + if (mode == -3) { + d_print((tmp = lives_strdup_printf(_("Too many effects bound to key %d.\n"), key))); LIVES_ERROR(tmp); lives_free(tmp); - if (keymap_file2!=NULL) { + if (keymap_file2 != NULL) { // read param defaults - if (!read_perkey_defaults(kfd,-1,-1,version)) break; // file read error + if (!read_perkey_defaults(kfd, -1, -1, version)) break; // file read error } - def_modes[key-1]--; + def_modes[key - 1]--; continue; } - if (rte_window!=NULL) { - int idx=(key-1)*modes+mode; - int fx_idx=rte_keymode_get_filter_idx(key,mode); + if (rte_window != NULL) { + int idx = (key - 1) * modes + mode; + int fx_idx = rte_keymode_get_filter_idx(key, mode); - rtew_combo_set_text(key,mode,(tmp=rte_keymode_get_filter_name(key,mode))); + rtew_combo_set_text(key, mode, (tmp = rte_keymode_get_filter_name(key, mode))); lives_free(tmp); - if (fx_idx!=-1) { - hashname=(char *)lives_list_nth_data(hash_list,fx_idx); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(combos[idx]),"hashname",hashname); - } else lives_widget_object_set_data(LIVES_WIDGET_OBJECT(combos[idx]),"hashname",empty_string); + if (fx_idx != -1) { + hashname = (char *)lives_list_nth_data(hash_list, fx_idx); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(combos[idx]), "hashname", hashname); + } else lives_widget_object_set_data(LIVES_WIDGET_OBJECT(combos[idx]), "hashname", empty_string); // set parameters button sensitive/insensitive - set_param_and_con_buttons(key-1,mode); + set_param_and_con_buttons(key - 1, mode); } - if (keymap_file2!=NULL) { + if (keymap_file2 != NULL) { // read param defaults - if (!read_perkey_defaults(kfd,key-1,def_modes[key-1],version)) break; // file read error + if (!read_perkey_defaults(kfd, key - 1, def_modes[key - 1], version)) break; // file read error } } - if (keymap_file2==NULL) { + if (keymap_file2 == NULL) { lives_list_free_all(&list); - if (update>0) { + if (update > 0) { d_print(_("update required.\n")); - on_save_keymap_clicked(NULL,new_list); + on_save_keymap_clicked(NULL, new_list); lives_list_free_all(&new_list); - on_load_keymap_clicked(NULL,NULL); + on_load_keymap_clicked(NULL, NULL); } else d_print_done(); } else { - if (kfd!=-1) lives_close_buffered(kfd); + if (kfd != -1) lives_close_buffered(kfd); d_print_done(); } - if (update==0) { - if (lives_file_test(keymap_file3,LIVES_FILE_TEST_EXISTS)) { + if (update == 0) { + if (lives_file_test(keymap_file3, LIVES_FILE_TEST_EXISTS)) { - d_print(_("Loading data connection map from %s..."),keymap_file3); + d_print(_("Loading data connection map from %s..."), keymap_file3); - if (load_datacons(keymap_file3,badkeymap)) d_print_done(); + if (load_datacons(keymap_file3, badkeymap)) d_print_done(); } if (mainw->is_ready) { check_clear_all_button(); if (notfound) do_warning_dialog_with_check_transient(_("\n\nSome effects could not be located.\n\n"), - 0,LIVES_WINDOW(rte_window)); + 0, LIVES_WINDOW(rte_window)); } else load_rte_defs(); // file errors shown inside } - for (i=0; i<prefs->rte_keys_virtual; i++) { + for (i = 0; i < prefs->rte_keys_virtual; i++) { lives_free(badkeymap[i]); } @@ -1607,7 +1607,7 @@ if (mainw->ce_thumbs) ce_thumbs_reset_combos(); - if (rte_window!=NULL) check_clear_all_button(); + if (rte_window != NULL) check_clear_all_button(); return FALSE; } @@ -1631,7 +1631,7 @@ char *filter_name; char *filter_author; char *filter_copyright; - char *filter_extra_authors=NULL; + char *filter_extra_authors = NULL; char *filter_description; char *url; char *license; @@ -1639,89 +1639,89 @@ char *type; char *plugin_name; - boolean has_desc=FALSE; - boolean has_url=FALSE; - boolean has_license=FALSE; - boolean has_copyright=FALSE; + boolean has_desc = FALSE; + boolean has_url = FALSE; + boolean has_license = FALSE; + boolean has_copyright = FALSE; int filter_version; int weed_error; - int key_mode=LIVES_POINTER_TO_INT(user_data); - int modes=rte_getmodespk(); - int key=(int)(key_mode/modes); - int mode=key_mode-key*modes; + int key_mode = LIVES_POINTER_TO_INT(user_data); + int modes = rte_getmodespk(); + int key = (int)(key_mode / modes); + int mode = key_mode - key * modes; //////////////////////// - if (!rte_keymode_valid(key+1,mode,TRUE)) return; + if (!rte_keymode_valid(key + 1, mode, TRUE)) return; - type=rte_keymode_get_type(key+1,mode); + type = rte_keymode_get_type(key + 1, mode); - plugin_name=rte_keymode_get_plugin_name(key+1,mode); - filter=rte_keymode_get_filter(key+1,mode); - filter_name=weed_get_string_value(filter,WEED_LEAF_NAME,&weed_error); - filter_author=weed_get_string_value(filter,WEED_LEAF_AUTHOR,&weed_error); - if (weed_plant_has_leaf(filter,WEED_LEAF_EXTRA_AUTHORS)) filter_extra_authors=weed_get_string_value(filter,WEED_LEAF_EXTRA_AUTHORS, + plugin_name = rte_keymode_get_plugin_name(key + 1, mode); + filter = rte_keymode_get_filter(key + 1, mode); + filter_name = weed_get_string_value(filter, WEED_LEAF_NAME, &weed_error); + filter_author = weed_get_string_value(filter, WEED_LEAF_AUTHOR, &weed_error); + if (weed_plant_has_leaf(filter, WEED_LEAF_EXTRA_AUTHORS)) filter_extra_authors = weed_get_string_value(filter, WEED_LEAF_EXTRA_AUTHORS, &weed_error); - if (weed_plant_has_leaf(filter,WEED_LEAF_COPYRIGHT)) { - filter_copyright=weed_get_string_value(filter,WEED_LEAF_COPYRIGHT,&weed_error); - has_copyright=TRUE; + if (weed_plant_has_leaf(filter, WEED_LEAF_COPYRIGHT)) { + filter_copyright = weed_get_string_value(filter, WEED_LEAF_COPYRIGHT, &weed_error); + has_copyright = TRUE; } - if (weed_plant_has_leaf(filter,WEED_LEAF_DESCRIPTION)) { - filter_description=weed_get_string_value(filter,WEED_LEAF_DESCRIPTION,&weed_error); - has_desc=TRUE; + if (weed_plant_has_leaf(filter, WEED_LEAF_DESCRIPTION)) { + filter_description = weed_get_string_value(filter, WEED_LEAF_DESCRIPTION, &weed_error); + has_desc = TRUE; } - if (weed_plant_has_leaf(filter,WEED_LEAF_URL)) { - url=weed_get_string_value(filter,WEED_LEAF_URL,&weed_error); - has_url=TRUE; + if (weed_plant_has_leaf(filter, WEED_LEAF_URL)) { + url = weed_get_string_value(filter, WEED_LEAF_URL, &weed_error); + has_url = TRUE; } - if (weed_plant_has_leaf(filter,WEED_LEAF_LICENSE)) { - license=weed_get_string_value(filter,WEED_LEAF_LICENSE,&weed_error); - has_license=TRUE; + if (weed_plant_has_leaf(filter, WEED_LEAF_LICENSE)) { + license = weed_get_string_value(filter, WEED_LEAF_LICENSE, &weed_error); + has_license = TRUE; } - filter_version=weed_get_int_value(filter,WEED_LEAF_VERSION,&weed_error); + filter_version = weed_get_int_value(filter, WEED_LEAF_VERSION, &weed_error); - tmp=lives_strdup_printf(_("Information for %s"),filter_name); + tmp = lives_strdup_printf(_("Information for %s"), filter_name); - dialog=lives_standard_dialog_new(tmp,FALSE,RTE_INFO_WIDTH,RTE_INFO_HEIGHT); + dialog = lives_standard_dialog_new(tmp, FALSE, RTE_INFO_WIDTH, RTE_INFO_HEIGHT); lives_free(tmp); - vbox=lives_dialog_get_content_area(LIVES_DIALOG(dialog)); + vbox = lives_dialog_get_content_area(LIVES_DIALOG(dialog)); - label = lives_standard_label_new((tmp=lives_strdup_printf(_("Effect name: %s"),filter_name))); + label = lives_standard_label_new((tmp = lives_strdup_printf(_("Effect name: %s"), filter_name))); lives_free(tmp); lives_box_pack_start(LIVES_BOX(vbox), label, TRUE, FALSE, widget_opts.packing_height); - label = lives_standard_label_new((tmp=lives_strdup_printf(_("Type: %s"),type))); + label = lives_standard_label_new((tmp = lives_strdup_printf(_("Type: %s"), type))); lives_free(tmp); lives_box_pack_start(LIVES_BOX(vbox), label, TRUE, FALSE, widget_opts.packing_height); - label = lives_standard_label_new((tmp=lives_strdup_printf(_("Plugin name: %s"),plugin_name))); + label = lives_standard_label_new((tmp = lives_strdup_printf(_("Plugin name: %s"), plugin_name))); lives_free(tmp); lives_box_pack_start(LIVES_BOX(vbox), label, TRUE, FALSE, widget_opts.packing_height); - label = lives_standard_label_new((tmp=lives_strdup_printf(_("Author: %s"),filter_author))); + label = lives_standard_label_new((tmp = lives_strdup_printf(_("Author: %s"), filter_author))); lives_free(tmp); lives_box_pack_start(LIVES_BOX(vbox), label, TRUE, FALSE, widget_opts.packing_height); - if (filter_extra_authors!=NULL) { - label = lives_standard_label_new((tmp=lives_strdup_printf(_("and: %s"),filter_extra_authors))); + if (filter_extra_authors != NULL) { + label = lives_standard_label_new((tmp = lives_strdup_printf(_("and: %s"), filter_extra_authors))); lives_free(tmp); lives_box_pack_start(LIVES_BOX(vbox), label, TRUE, FALSE, widget_opts.packing_height); } if (has_url) { - label = lives_standard_label_new((tmp=lives_strdup_printf(_("URL: %s"),url))); + label = lives_standard_label_new((tmp = lives_strdup_printf(_("URL: %s"), url))); lives_free(tmp); lives_box_pack_start(LIVES_BOX(vbox), label, TRUE, FALSE, widget_opts.packing_height); } - label = lives_standard_label_new((tmp=lives_strdup_printf(_("Version: %d"),filter_version))); + label = lives_standard_label_new((tmp = lives_strdup_printf(_("Version: %d"), filter_version))); lives_free(tmp); lives_box_pack_start(LIVES_BOX(vbox), label, TRUE, FALSE, widget_opts.packing_height); @@ -1733,9 +1733,9 @@ label = lives_standard_label_new(_("Description: ")); lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, FALSE, widget_opts.packing_height); - textview = lives_standard_text_view_new(filter_description,NULL); + textview = lives_standard_text_view_new(filter_description, NULL); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_text_color(textview, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); lives_widget_set_base_color(textview, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); } @@ -1745,25 +1745,25 @@ } if (has_license) { - label = lives_standard_label_new((tmp=lives_strdup_printf(_("License: %s"),license))); + label = lives_standard_label_new((tmp = lives_strdup_printf(_("License: %s"), license))); lives_free(tmp); lives_box_pack_start(LIVES_BOX(vbox), label, TRUE, FALSE, widget_opts.packing_height); } if (has_copyright) { - label = lives_standard_label_new((tmp=lives_strdup_printf(_("Copyright: %s"),filter_copyright))); + label = lives_standard_label_new((tmp = lives_strdup_printf(_("Copyright: %s"), filter_copyright))); lives_free(tmp); lives_box_pack_start(LIVES_BOX(vbox), label, TRUE, FALSE, widget_opts.packing_height); } - ok_button = lives_button_new_from_stock(LIVES_STOCK_OK,NULL); + ok_button = lives_button_new_from_stock(LIVES_STOCK_OK, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(dialog), ok_button, LIVES_RESPONSE_OK); - abox=lives_dialog_get_action_area(LIVES_DIALOG(dialog)); -#if !GTK_CHECK_VERSION(3,0,0) - lives_button_box_set_layout(LIVES_BUTTON_BOX(abox),LIVES_BUTTONBOX_CENTER); + abox = lives_dialog_get_action_area(LIVES_DIALOG(dialog)); +#if !GTK_CHECK_VERSION(3, 0, 0) + lives_button_box_set_layout(LIVES_BUTTON_BOX(abox), LIVES_BUTTONBOX_CENTER); #else if (LIVES_IS_BOX(abox)) add_fill_to_box(LIVES_BOX(abox)); #endif @@ -1771,7 +1771,7 @@ lives_widget_set_can_focus_and_default(ok_button); lives_widget_grab_default(ok_button); - lives_widget_set_size_request(ok_button, DEF_BUTTON_WIDTH*4, -1); + lives_widget_set_size_request(ok_button, DEF_BUTTON_WIDTH * 4, -1); lives_signal_connect(LIVES_GUI_OBJECT(ok_button), LIVES_WIDGET_CLICKED_SIGNAL, LIVES_GUI_CALLBACK(lives_general_button_clicked), @@ -1796,135 +1796,135 @@ void on_clear_clicked(LiVESButton *button, livespointer user_data) { // this is for the "delete" buttons, c.f. clear_all - int idx=LIVES_POINTER_TO_INT(user_data); - int modes=rte_getmodespk(); - int key=(int)(idx/modes); - int mode=idx-key*modes; + int idx = LIVES_POINTER_TO_INT(user_data); + int modes = rte_getmodespk(); + int key = (int)(idx / modes); + int mode = idx - key * modes; int newmode; register int i; - weed_delete_effectkey(key+1,mode); + weed_delete_effectkey(key + 1, mode); - pconx_delete(FX_DATA_WILDCARD,0,0,key,mode,FX_DATA_WILDCARD); - pconx_delete(key,mode,FX_DATA_WILDCARD,-1,0,0); + pconx_delete(FX_DATA_WILDCARD, 0, 0, key, mode, FX_DATA_WILDCARD); + pconx_delete(key, mode, FX_DATA_WILDCARD, -1, 0, 0); - cconx_delete(FX_DATA_WILDCARD,0,0,key,mode,FX_DATA_WILDCARD); - cconx_delete(key,mode,FX_DATA_WILDCARD,FX_DATA_WILDCARD,0,0); + cconx_delete(FX_DATA_WILDCARD, 0, 0, key, mode, FX_DATA_WILDCARD); + cconx_delete(key, mode, FX_DATA_WILDCARD, FX_DATA_WILDCARD, 0, 0); - newmode=rte_key_getmode(key+1); + newmode = rte_key_getmode(key + 1); - if (mainw->ce_thumbs) ce_thumbs_set_mode_combo(key,newmode); + if (mainw->ce_thumbs) ce_thumbs_set_mode_combo(key, newmode); - if (rte_window!=NULL) { - rtew_set_mode_radio(key,newmode); + if (rte_window != NULL) { + rtew_set_mode_radio(key, newmode); } - for (i=mode; i<rte_getmodespk()-1; i++) { - pconx_remap_mode(key,i+1,i); - cconx_remap_mode(key,i+1,i); + for (i = mode; i < rte_getmodespk() - 1; i++) { + pconx_remap_mode(key, i + 1, i); + cconx_remap_mode(key, i + 1, i); - if (rte_window!=NULL) { - int fx_idx=rte_keymode_get_filter_idx(key,mode); - idx=key*modes+i; - rtew_combo_set_text(key,i,lives_entry_get_text(LIVES_ENTRY(combo_entries[idx+1]))); + if (rte_window != NULL) { + int fx_idx = rte_keymode_get_filter_idx(key, mode); + idx = key * modes + i; + rtew_combo_set_text(key, i, lives_entry_get_text(LIVES_ENTRY(combo_entries[idx + 1]))); - if (fx_idx!=-1) { - char *hashname=(char *)lives_list_nth_data(hash_list,fx_idx); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(combos[idx]),"hashname",hashname); - } else lives_widget_object_set_data(LIVES_WIDGET_OBJECT(combos[idx]),"hashname",empty_string); + if (fx_idx != -1) { + char *hashname = (char *)lives_list_nth_data(hash_list, fx_idx); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(combos[idx]), "hashname", hashname); + } else lives_widget_object_set_data(LIVES_WIDGET_OBJECT(combos[idx]), "hashname", empty_string); // set parameters button sensitive/insensitive - set_param_and_con_buttons(key,i); + set_param_and_con_buttons(key, i); } } idx++; - if (rte_window!=NULL) { - rtew_combo_set_text(key,i,""); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(combos[idx]),"hashname",empty_string); + if (rte_window != NULL) { + rtew_combo_set_text(key, i, ""); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(combos[idx]), "hashname", empty_string); // set parameters button sensitive/insensitive - set_param_and_con_buttons(key,i); + set_param_and_con_buttons(key, i); } - if (!rte_keymode_valid(key+1,0,TRUE)) { - if (rte_window!=NULL) rtew_set_keych(key,FALSE); - if (mainw->ce_thumbs) ce_thumbs_set_keych(key,FALSE); + if (!rte_keymode_valid(key + 1, 0, TRUE)) { + if (rte_window != NULL) rtew_set_keych(key, FALSE); + if (mainw->ce_thumbs) ce_thumbs_set_keych(key, FALSE); } - if (rte_window!=NULL) check_clear_all_button(); + if (rte_window != NULL) check_clear_all_button(); if (mainw->ce_thumbs) ce_thumbs_reset_combo(key); } static void on_datacon_clicked(LiVESButton *button, livespointer user_data) { - int idx=LIVES_POINTER_TO_INT(user_data); - int modes=rte_getmodespk(); - int key=(int)(idx/modes); - int mode=idx-key*modes; + int idx = LIVES_POINTER_TO_INT(user_data); + int modes = rte_getmodespk(); + int key = (int)(idx / modes); + int mode = idx - key * modes; //if (datacon_dialog!=NULL) on_datacon_cancel_clicked(NULL,NULL); - datacon_dialog=make_datacon_window(key,mode); + datacon_dialog = make_datacon_window(key, mode); } static void on_params_clicked(LiVESButton *button, livespointer user_data) { - int idx=LIVES_POINTER_TO_INT(user_data); - int modes=rte_getmodespk(); - int key=(int)(idx/modes); - int mode=idx-key*modes; + int idx = LIVES_POINTER_TO_INT(user_data); + int modes = rte_getmodespk(); + int key = (int)(idx / modes); + int mode = idx - key * modes; weed_plant_t *inst; lives_rfx_t *rfx; - if ((inst=rte_keymode_get_instance(key+1,mode))==NULL) { - weed_plant_t *filter=rte_keymode_get_filter(key+1,mode); - if (filter==NULL) return; - inst=weed_instance_from_filter(filter); + if ((inst = rte_keymode_get_instance(key + 1, mode)) == NULL) { + weed_plant_t *filter = rte_keymode_get_filter(key + 1, mode); + if (filter == NULL) return; + inst = weed_instance_from_filter(filter); // do some fiddly stuff to show the key defs. - weed_reinit_effect(inst,TRUE); - apply_key_defaults(inst,key,mode); - weed_reinit_effect(inst,TRUE); + weed_reinit_effect(inst, TRUE); + apply_key_defaults(inst, key, mode); + weed_reinit_effect(inst, TRUE); } else { int error; - weed_plant_t *ninst=inst; + weed_plant_t *ninst = inst; do { weed_instance_ref(ninst); - } while (weed_plant_has_leaf(ninst,WEED_LEAF_HOST_NEXT_INSTANCE)&& - (ninst=weed_get_plantptr_value(ninst,WEED_LEAF_HOST_NEXT_INSTANCE,&error))!=NULL); + } while (weed_plant_has_leaf(ninst, WEED_LEAF_HOST_NEXT_INSTANCE) && + (ninst = weed_get_plantptr_value(ninst, WEED_LEAF_HOST_NEXT_INSTANCE, &error)) != NULL); } - if (fx_dialog[1]!=NULL) { - rfx=(lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"rfx"); + if (fx_dialog[1] != NULL) { + rfx = (lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "rfx"); lives_widget_destroy(fx_dialog[1]); - on_paramwindow_cancel_clicked2(NULL,rfx); + on_paramwindow_cancel_clicked2(NULL, rfx); } - rfx=weed_to_rfx(inst,FALSE); - rfx->min_frames=-1; - keyw=key; - modew=mode; - on_fx_pre_activate(rfx,1,NULL); + rfx = weed_to_rfx(inst, FALSE); + rfx->min_frames = -1; + keyw = key; + modew = mode; + on_fx_pre_activate(rfx, 1, NULL); // record the key so we know whose parameters to record later - weed_set_int_value((weed_plant_t *)rfx->source,WEED_LEAF_HOST_KEY,key); + weed_set_int_value((weed_plant_t *)rfx->source, WEED_LEAF_HOST_KEY, key); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"key",LIVES_INT_TO_POINTER(key)); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"mode",LIVES_INT_TO_POINTER(mode)); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"rfx",rfx); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "key", LIVES_INT_TO_POINTER(key)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "mode", LIVES_INT_TO_POINTER(mode)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "rfx", rfx); } static boolean on_rtew_delete_event(LiVESWidget *widget, LiVESXEventDelete *event, livespointer user_data) { - if (user_data==NULL) { - rte_window_back=rte_window; - old_rte_keys_virtual=prefs->rte_keys_virtual; + if (user_data == NULL) { + rte_window_back = rte_window; + old_rte_keys_virtual = prefs->rte_keys_virtual; lives_widget_hide(rte_window); } else { lives_list_free_all(&hash_list); @@ -1946,13 +1946,13 @@ lives_free(conx_buttons); lives_free(clear_buttons); } - rte_window=NULL; + rte_window = NULL; return FALSE; } static void on_rtew_ok_clicked(LiVESButton *button, livespointer user_data) { - on_rtew_delete_event(NULL,NULL,NULL); + on_rtew_delete_event(NULL, NULL, NULL); } @@ -1961,7 +1961,7 @@ static void do_mix_error(void) { do_error_dialog_with_check_transient( _("\n\nThis version of LiVES does not allowing mixing of generators and non-generators on the same key.\n\n"), - FALSE,0,LIVES_WINDOW(rte_window)); + FALSE, 0, LIVES_WINDOW(rte_window)); return; } @@ -1977,9 +1977,9 @@ void rtew_combo_set_text(int key, int mode, const char *txt) { // key is zero based - int key_mode=key*rte_getmodespk()+mode; - lives_entry_set_text(LIVES_ENTRY(combo_entries[key_mode]),txt); - type_label_set_text(key,mode); + int key_mode = key * rte_getmodespk() + mode; + lives_entry_set_text(LIVES_ENTRY(combo_entries[key_mode]), txt); + type_label_set_text(key, mode); } @@ -1990,72 +1990,72 @@ char *txt; char *tmp; char *hashname1; - char *hashname2=(char *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(combo),"hashname"); + char *hashname2 = (char *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(combo), "hashname"); - int key_mode=LIVES_POINTER_TO_INT(user_data); - int modes=rte_getmodespk(); - int key=(int)(key_mode/modes); - int mode=key_mode-key*modes; + int key_mode = LIVES_POINTER_TO_INT(user_data); + int modes = rte_getmodespk(); + int key = (int)(key_mode / modes); + int mode = key_mode - key * modes; int error; register int i; - if (lives_combo_get_active(combo)==-1) return; // -1 is returned after we set our own text (without the type) + if (lives_combo_get_active(combo) == -1) return; // -1 is returned after we set our own text (without the type) - lives_combo_get_active_iter(combo,&iter1); - model=lives_combo_get_model(combo); + lives_combo_get_active_iter(combo, &iter1); + model = lives_combo_get_model(combo); - lives_tree_model_get(model,&iter1,HASH_COLUMN,&hashname1,-1); + lives_tree_model_get(model, &iter1, HASH_COLUMN, &hashname1, -1); - if (!strcmp(hashname1,hashname2)) { + if (!strcmp(hashname1, hashname2)) { lives_free(hashname1); return; } - if (!rte_keymode_valid(key+1,mode,TRUE)) { - for (i=mode-1; i>=0; i--) { - if (rte_keymode_valid(key+1,i,TRUE)) { - mode=i+1; - i=-1; + if (!rte_keymode_valid(key + 1, mode, TRUE)) { + for (i = mode - 1; i >= 0; i--) { + if (rte_keymode_valid(key + 1, i, TRUE)) { + mode = i + 1; + i = -1; } - if (i==0) mode=0; + if (i == 0) mode = 0; } } lives_widget_grab_focus(combo_entries[key_mode]); - if ((error=rte_switch_keymode(key+1, mode, hashname1))<0) { - lives_entry_set_text(LIVES_ENTRY(combo_entries[key_mode]),(tmp=rte_keymode_get_filter_name(key+1,mode))); + if ((error = rte_switch_keymode(key + 1, mode, hashname1)) < 0) { + lives_entry_set_text(LIVES_ENTRY(combo_entries[key_mode]), (tmp = rte_keymode_get_filter_name(key + 1, mode))); lives_free(tmp); - if (error==-2) do_mix_error(); - if (error==-1) { - d_print(_("LiVES could not locate the effect %s.\n"),rte_keymode_get_filter_name(key+1,mode)); + if (error == -2) do_mix_error(); + if (error == -1) { + d_print(_("LiVES could not locate the effect %s.\n"), rte_keymode_get_filter_name(key + 1, mode)); } return; } // prevents a segfault - lives_combo_get_active_iter(combo,&iter1); - model=lives_combo_get_model(combo); + lives_combo_get_active_iter(combo, &iter1); + model = lives_combo_get_model(combo); - lives_tree_model_get(model,&iter1,NAME_COLUMN,&txt,-1); - rtew_combo_set_text(key,mode,txt); + lives_tree_model_get(model, &iter1, NAME_COLUMN, &txt, -1); + rtew_combo_set_text(key, mode, txt); lives_free(txt); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(combo),"hashname",hashname1); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(combo), "hashname", hashname1); // set parameters button sensitive/insensitive - set_param_and_con_buttons(key,mode); + set_param_and_con_buttons(key, mode); check_clear_all_button(); - pconx_delete(FX_DATA_WILDCARD,0,0,key,mode,FX_DATA_WILDCARD); - pconx_delete(key,mode,FX_DATA_WILDCARD,FX_DATA_WILDCARD,0,0); + pconx_delete(FX_DATA_WILDCARD, 0, 0, key, mode, FX_DATA_WILDCARD); + pconx_delete(key, mode, FX_DATA_WILDCARD, FX_DATA_WILDCARD, 0, 0); - cconx_delete(FX_DATA_WILDCARD,0,0,key,mode,FX_DATA_WILDCARD); - cconx_delete(key,mode,FX_DATA_WILDCARD,FX_DATA_WILDCARD,0,0); + cconx_delete(FX_DATA_WILDCARD, 0, 0, key, mode, FX_DATA_WILDCARD); + cconx_delete(key, mode, FX_DATA_WILDCARD, FX_DATA_WILDCARD, 0, 0); if (mainw->ce_thumbs) ce_thumbs_reset_combos(); @@ -2067,63 +2067,63 @@ static LiVESTreeModel *rte_window_fx_model(void) { LiVESTreeStore *tstore; - LiVESTreeIter iter1,iter2; + LiVESTreeIter iter1, iter2; // fill names of our effects - int fx_idx=0; + int fx_idx = 0; - LiVESList *list=name_type_list; + LiVESList *list = name_type_list; int error; - char *pkg=NULL,*pkgstring,*fxname; + char *pkg = NULL, *pkgstring, *fxname; - tstore=lives_tree_store_new(NUM_COLUMNS, LIVES_COL_TYPE_STRING, LIVES_COL_TYPE_STRING, LIVES_COL_TYPE_STRING); + tstore = lives_tree_store_new(NUM_COLUMNS, LIVES_COL_TYPE_STRING, LIVES_COL_TYPE_STRING, LIVES_COL_TYPE_STRING); - while (list!=NULL) { - weed_plant_t *filter=get_weed_filter(weed_get_idx_for_hashname((char *)lives_list_nth_data(hash_list,fx_idx),TRUE)); - int filter_flags=weed_get_int_value(filter,WEED_LEAF_FLAGS,&error); - if ((weed_plant_has_leaf(filter,WEED_LEAF_PLUGIN_UNSTABLE)&&weed_get_boolean_value(filter,WEED_LEAF_PLUGIN_UNSTABLE,&error)== - WEED_TRUE&&!prefs->unstable_fx)||((enabled_in_channels(filter,FALSE)>1&& - !has_video_chans_in(filter,FALSE))|| - (weed_plant_has_leaf(filter,WEED_LEAF_HOST_MENU_HIDE)&& - weed_get_boolean_value(filter,WEED_LEAF_HOST_MENU_HIDE,&error)==WEED_TRUE) - ||(filter_flags&WEED_FILTER_IS_CONVERTER))) { + while (list != NULL) { + weed_plant_t *filter = get_weed_filter(weed_get_idx_for_hashname((char *)lives_list_nth_data(hash_list, fx_idx), TRUE)); + int filter_flags = weed_get_int_value(filter, WEED_LEAF_FLAGS, &error); + if ((weed_plant_has_leaf(filter, WEED_LEAF_PLUGIN_UNSTABLE) && weed_get_boolean_value(filter, WEED_LEAF_PLUGIN_UNSTABLE, &error) == + WEED_TRUE && !prefs->unstable_fx) || ((enabled_in_channels(filter, FALSE) > 1 && + !has_video_chans_in(filter, FALSE)) || + (weed_plant_has_leaf(filter, WEED_LEAF_HOST_MENU_HIDE) && + weed_get_boolean_value(filter, WEED_LEAF_HOST_MENU_HIDE, &error) == WEED_TRUE) + || (filter_flags & WEED_FILTER_IS_CONVERTER))) { list = list->next; fx_idx++; continue; // skip audio transitions and hidden entries } - fxname=lives_strdup((char *)lives_list_nth_data(name_list,fx_idx)); + fxname = lives_strdup((char *)lives_list_nth_data(name_list, fx_idx)); - if ((pkgstring=strstr(fxname,": "))!=NULL) { + if ((pkgstring = strstr(fxname, ": ")) != NULL) { // package effect - if (pkg!=NULL&&strncmp(pkg,fxname,strlen(pkg))) { + if (pkg != NULL && strncmp(pkg, fxname, strlen(pkg))) { lives_freep((void **)&pkg); lives_tree_store_append(tstore, &iter1, NULL); /* Acquire an iterator */ - lives_tree_store_set(tstore,&iter1,NAME_TYPE_COLUMN,list->data,NAME_COLUMN,fxname, - HASH_COLUMN,lives_list_nth_data(hash_list,fx_idx),-1); + lives_tree_store_set(tstore, &iter1, NAME_TYPE_COLUMN, list->data, NAME_COLUMN, fxname, + HASH_COLUMN, lives_list_nth_data(hash_list, fx_idx), -1); } - if (pkg==NULL) { - pkg=fxname; - fxname=lives_strdup(pkg); - memset(pkgstring,0,1); + if (pkg == NULL) { + pkg = fxname; + fxname = lives_strdup(pkg); + memset(pkgstring, 0, 1); /* TRANSLATORS: example " - LADSPA plugins -" */ - pkgstring=lives_strdup_printf(_(" - %s plugins -"),pkg); + pkgstring = lives_strdup_printf(_(" - %s plugins -"), pkg); lives_tree_store_append(tstore, &iter1, NULL); - lives_tree_store_set(tstore,&iter1,NAME_TYPE_COLUMN,pkgstring,NAME_COLUMN,fxname, - HASH_COLUMN,lives_list_nth_data(hash_list,fx_idx),-1); + lives_tree_store_set(tstore, &iter1, NAME_TYPE_COLUMN, pkgstring, NAME_COLUMN, fxname, + HASH_COLUMN, lives_list_nth_data(hash_list, fx_idx), -1); lives_free(pkgstring); } lives_tree_store_append(tstore, &iter2, &iter1); - lives_tree_store_set(tstore,&iter2,NAME_TYPE_COLUMN,list->data,NAME_COLUMN,fxname, - HASH_COLUMN,lives_list_nth_data(hash_list,fx_idx),-1); + lives_tree_store_set(tstore, &iter2, NAME_TYPE_COLUMN, list->data, NAME_COLUMN, fxname, + HASH_COLUMN, lives_list_nth_data(hash_list, fx_idx), -1); } else { - if (pkg!=NULL) lives_freep((void **)&pkg); + if (pkg != NULL) lives_freep((void **)&pkg); lives_tree_store_append(tstore, &iter1, NULL); /* Acquire an iterator */ - lives_tree_store_set(tstore,&iter1,NAME_TYPE_COLUMN,list->data,NAME_COLUMN,fxname, - HASH_COLUMN,lives_list_nth_data(hash_list,fx_idx),-1); + lives_tree_store_set(tstore, &iter1, NAME_TYPE_COLUMN, list->data, NAME_COLUMN, fxname, + HASH_COLUMN, lives_list_nth_data(hash_list, fx_idx), -1); } lives_free(fxname); @@ -2161,136 +2161,136 @@ LiVESTreeModel *model; - char *tmp,*tmp2; + char *tmp, *tmp2; - int modes=rte_getmodespk(); + int modes = rte_getmodespk(); int idx; int winsize_h; int winsize_v; - int scr_width,scr_height; + int scr_width, scr_height; - register int i,j; + register int i, j; /////////////////////////////////////////////////////////////////////////// - lives_set_cursor_style(LIVES_CURSOR_BUSY,NULL); + lives_set_cursor_style(LIVES_CURSOR_BUSY, NULL); lives_widget_context_update(); - if (prefs->gui_monitor==0) { - scr_width=mainw->scr_width; - scr_height=mainw->scr_height; + if (prefs->gui_monitor == 0) { + scr_width = mainw->scr_width; + scr_height = mainw->scr_height; } else { - scr_width=mainw->mgeom[prefs->gui_monitor-1].width; - scr_height=mainw->mgeom[prefs->gui_monitor-1].height; + scr_width = mainw->mgeom[prefs->gui_monitor - 1].width; + scr_height = mainw->mgeom[prefs->gui_monitor - 1].height; } - winsize_h=scr_width-100; - winsize_v=scr_height-200; + winsize_h = scr_width - 100; + winsize_v = scr_height - 200; - if (rte_window_back!=NULL) { - rte_window=rte_window_back; - rte_window_back=NULL; - if (prefs->rte_keys_virtual!=old_rte_keys_virtual) return refresh_rte_window(); + if (rte_window_back != NULL) { + rte_window = rte_window_back; + rte_window_back = NULL; + if (prefs->rte_keys_virtual != old_rte_keys_virtual) return refresh_rte_window(); goto rte_window_ready; } - key_checks=(LiVESWidget **)lives_malloc((prefs->rte_keys_virtual)*sizeof(LiVESWidget *)); - key_grabs=(LiVESWidget **)lives_malloc((prefs->rte_keys_virtual)*sizeof(LiVESWidget *)); - mode_radios=(LiVESWidget **)lives_malloc((prefs->rte_keys_virtual)*modes*sizeof(LiVESWidget *)); - combo_entries=(LiVESWidget **)lives_malloc((prefs->rte_keys_virtual)*modes*sizeof(LiVESWidget *)); - combos=(LiVESWidget **)lives_malloc((prefs->rte_keys_virtual)*modes*sizeof(LiVESWidget *)); - info_buttons=(LiVESWidget **)lives_malloc((prefs->rte_keys_virtual)*modes*sizeof(LiVESWidget *)); - param_buttons=(LiVESWidget **)lives_malloc((prefs->rte_keys_virtual)*modes*sizeof(LiVESWidget *)); - conx_buttons=(LiVESWidget **)lives_malloc((prefs->rte_keys_virtual)*modes*sizeof(LiVESWidget *)); - clear_buttons=(LiVESWidget **)lives_malloc((prefs->rte_keys_virtual)*modes*sizeof(LiVESWidget *)); - nlabels=(LiVESWidget **)lives_malloc((prefs->rte_keys_virtual)*modes*sizeof(LiVESWidget *)); - type_labels=(LiVESWidget **)lives_malloc((prefs->rte_keys_virtual)*modes*sizeof(LiVESWidget *)); + key_checks = (LiVESWidget **)lives_malloc((prefs->rte_keys_virtual) * sizeof(LiVESWidget *)); + key_grabs = (LiVESWidget **)lives_malloc((prefs->rte_keys_virtual) * sizeof(LiVESWidget *)); + mode_radios = (LiVESWidget **)lives_malloc((prefs->rte_keys_virtual) * modes * sizeof(LiVESWidget *)); + combo_entries = (LiVESWidget **)lives_malloc((prefs->rte_keys_virtual) * modes * sizeof(LiVESWidget *)); + combos = (LiVESWidget **)lives_malloc((prefs->rte_keys_virtual) * modes * sizeof(LiVESWidget *)); + info_buttons = (LiVESWidget **)lives_malloc((prefs->rte_keys_virtual) * modes * sizeof(LiVESWidget *)); + param_buttons = (LiVESWidget **)lives_malloc((prefs->rte_keys_virtual) * modes * sizeof(LiVESWidget *)); + conx_buttons = (LiVESWidget **)lives_malloc((prefs->rte_keys_virtual) * modes * sizeof(LiVESWidget *)); + clear_buttons = (LiVESWidget **)lives_malloc((prefs->rte_keys_virtual) * modes * sizeof(LiVESWidget *)); + nlabels = (LiVESWidget **)lives_malloc((prefs->rte_keys_virtual) * modes * sizeof(LiVESWidget *)); + type_labels = (LiVESWidget **)lives_malloc((prefs->rte_keys_virtual) * modes * sizeof(LiVESWidget *)); - ch_fns=(ulong *)lives_malloc((prefs->rte_keys_virtual)*sizeof(ulong)); - gr_fns=(ulong *)lives_malloc((prefs->rte_keys_virtual)*sizeof(ulong)); - mode_ra_fns=(ulong *)lives_malloc((prefs->rte_keys_virtual)*modes*sizeof(ulong)); + ch_fns = (ulong *)lives_malloc((prefs->rte_keys_virtual) * sizeof(ulong)); + gr_fns = (ulong *)lives_malloc((prefs->rte_keys_virtual) * sizeof(ulong)); + mode_ra_fns = (ulong *)lives_malloc((prefs->rte_keys_virtual) * modes * sizeof(ulong)); rte_window = lives_window_new(LIVES_WINDOW_TOPLEVEL); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(rte_window, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); lives_widget_set_text_color(rte_window, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars_fore); } lives_window_set_title(LIVES_WINDOW(rte_window), _("Real Time Effect Mapping")); lives_window_add_accel_group(LIVES_WINDOW(rte_window), mainw->accel_group); - table = lives_table_new(prefs->rte_keys_virtual, modes+1, FALSE); + table = lives_table_new(prefs->rte_keys_virtual, modes + 1, FALSE); - lives_table_set_row_spacings(LIVES_TABLE(table), 16*widget_opts.scale); - lives_table_set_col_spacings(LIVES_TABLE(table), 4*widget_opts.scale); + lives_table_set_row_spacings(LIVES_TABLE(table), 16 * widget_opts.scale); + lives_table_set_col_spacings(LIVES_TABLE(table), 4 * widget_opts.scale); // dummy button for "no grab", we dont show this...there is a button instead dummy_radio = lives_radio_button_new(grab_group); grab_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(dummy_radio)); - name_list=weed_get_all_names(FX_LIST_NAME); - name_type_list=weed_get_all_names(FX_LIST_NAME_AND_TYPE); - if (hash_list==NULL) hash_list=weed_get_all_names(FX_LIST_HASHNAME); + name_list = weed_get_all_names(FX_LIST_NAME); + name_type_list = weed_get_all_names(FX_LIST_NAME_AND_TYPE); + if (hash_list == NULL) hash_list = weed_get_all_names(FX_LIST_HASHNAME); - model=rte_window_fx_model(); + model = rte_window_fx_model(); - for (i=0; i<prefs->rte_keys_virtual*modes; i++) { + for (i = 0; i < prefs->rte_keys_virtual * modes; i++) { // create combo entry model combos[i] = lives_combo_new_with_model(model); } - for (i=0; i<prefs->rte_keys_virtual; i++) { + for (i = 0; i < prefs->rte_keys_virtual; i++) { hbox = lives_hbox_new(FALSE, 0); - lives_table_attach(LIVES_TABLE(table), hbox, i, i+1, 0, 1, + lives_table_attach(LIVES_TABLE(table), hbox, i, i + 1, 0, 1, (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL), (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL), 0, 0); lives_container_set_border_width(LIVES_CONTAINER(hbox), widget_opts.border_width); - label = lives_standard_label_new((tmp=lives_strdup_printf(_("Ctrl-%d"),i+1))); + label = lives_standard_label_new((tmp = lives_strdup_printf(_("Ctrl-%d"), i + 1))); lives_free(tmp); lives_box_pack_start(LIVES_BOX(hbox), label, TRUE, FALSE, widget_opts.packing_width); hbox2 = lives_hbox_new(FALSE, 0); - key_checks[i] = lives_standard_check_button_new(_("Key active"),FALSE,LIVES_BOX(hbox2),NULL); + key_checks[i] = lives_standard_check_button_new(_("Key active"), FALSE, LIVES_BOX(hbox2), NULL); lives_box_pack_start(LIVES_BOX(hbox), hbox2, FALSE, FALSE, widget_opts.packing_width); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(key_checks[i]),mainw->rte&(GU641<<i)); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(key_checks[i]),"active", + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(key_checks[i]), mainw->rte & (GU641 << i)); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(key_checks[i]), "active", LIVES_INT_TO_POINTER(lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(key_checks[i])))); - ch_fns[i]=lives_signal_connect_after(LIVES_GUI_OBJECT(key_checks[i]), LIVES_WIDGET_TOGGLED_SIGNAL, - LIVES_GUI_CALLBACK(rte_on_off_callback_hook),LIVES_INT_TO_POINTER(i+1)); + ch_fns[i] = lives_signal_connect_after(LIVES_GUI_OBJECT(key_checks[i]), LIVES_WIDGET_TOGGLED_SIGNAL, + LIVES_GUI_CALLBACK(rte_on_off_callback_hook), LIVES_INT_TO_POINTER(i + 1)); hbox2 = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(hbox), hbox2, FALSE, FALSE, widget_opts.packing_width); - key_grabs[i]=lives_standard_radio_button_new((tmp=lives_strdup(_("Key grab"))),FALSE,grab_group,LIVES_BOX(hbox2), - (tmp2=lives_strdup(_("Grab keyboard for this effect key")))); + key_grabs[i] = lives_standard_radio_button_new((tmp = lives_strdup(_("Key grab"))), FALSE, grab_group, LIVES_BOX(hbox2), + (tmp2 = lives_strdup(_("Grab keyboard for this effect key")))); lives_free(tmp); lives_free(tmp2); grab_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(key_grabs[i])); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(key_grabs[i]),mainw->rte_keys==i); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(key_grabs[i]), mainw->rte_keys == i); - gr_fns[i]=lives_signal_connect_after(LIVES_GUI_OBJECT(key_grabs[i]), LIVES_WIDGET_TOGGLED_SIGNAL, - LIVES_GUI_CALLBACK(grabkeys_callback_hook),LIVES_INT_TO_POINTER(i)); + gr_fns[i] = lives_signal_connect_after(LIVES_GUI_OBJECT(key_grabs[i]), LIVES_WIDGET_TOGGLED_SIGNAL, + LIVES_GUI_CALLBACK(grabkeys_callback_hook), LIVES_INT_TO_POINTER(i)); - mode_group=NULL; + mode_group = NULL; - clear_all_button = lives_button_new_from_stock(LIVES_STOCK_CLEAR,_("_Clear all effects")); + clear_all_button = lives_button_new_from_stock(LIVES_STOCK_CLEAR, _("_Clear all effects")); - for (j=0; j<modes; j++) { - idx=i*modes+j; + for (j = 0; j < modes; j++) { + idx = i * modes + j; hbox = lives_hbox_new(FALSE, 0); - lives_table_attach(LIVES_TABLE(table), hbox, i, i+1, j+1, j+2, + lives_table_attach(LIVES_TABLE(table), hbox, i, i + 1, j + 1, j + 2, (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL), (LiVESAttachOptions)(LIVES_EXPAND | LIVES_FILL), 0, 0); lives_container_set_border_width(LIVES_CONTAINER(hbox), widget_opts.border_width); @@ -2299,13 +2299,13 @@ hbox2 = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(hbox), hbox2, FALSE, FALSE, widget_opts.packing_width); - mode_radios[idx]=lives_standard_radio_button_new(_("Mode active"),FALSE,mode_group,LIVES_BOX(hbox2),NULL); + mode_radios[idx] = lives_standard_radio_button_new(_("Mode active"), FALSE, mode_group, LIVES_BOX(hbox2), NULL); mode_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(mode_radios[idx])); - if (rte_key_getmode(i+1)==j) lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(mode_radios[idx]),TRUE); + if (rte_key_getmode(i + 1) == j) lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(mode_radios[idx]), TRUE); - mode_ra_fns[idx]=lives_signal_connect_after(LIVES_GUI_OBJECT(mode_radios[idx]), LIVES_WIDGET_TOGGLED_SIGNAL, - LIVES_GUI_CALLBACK(rtemode_callback_hook),LIVES_INT_TO_POINTER(idx)); + mode_ra_fns[idx] = lives_signal_connect_after(LIVES_GUI_OBJECT(mode_radios[idx]), LIVES_WIDGET_TOGGLED_SIGNAL, + LIVES_GUI_CALLBACK(rtemode_callback_hook), LIVES_INT_TO_POINTER(idx)); type_labels[idx] = lives_standard_label_new(""); @@ -2325,9 +2325,9 @@ lives_box_pack_start(LIVES_BOX(hbox), nlabels[idx], FALSE, FALSE, widget_opts.packing_width); - combo=combos[idx]; + combo = combos[idx]; - lives_combo_set_entry_text_column(LIVES_COMBO(combo),NAME_TYPE_COLUMN); + lives_combo_set_entry_text_column(LIVES_COMBO(combo), NAME_TYPE_COLUMN); lives_widget_object_set_data(LIVES_WIDGET_OBJECT(combo), "hashname", empty_string); lives_box_pack_start(LIVES_BOX(hbox), combo, TRUE, TRUE, widget_opts.packing_width); @@ -2337,7 +2337,7 @@ combo_entries[idx] = lives_combo_get_entry(LIVES_COMBO(combo)); - lives_entry_set_text(LIVES_ENTRY(combo_entries[idx]),(tmp=rte_keymode_get_filter_name(i+1,j))); + lives_entry_set_text(LIVES_ENTRY(combo_entries[idx]), (tmp = rte_keymode_get_filter_name(i + 1, j))); lives_free(tmp); lives_entry_set_editable(LIVES_ENTRY(combo_entries[idx]), FALSE); @@ -2346,26 +2346,26 @@ lives_box_pack_start(LIVES_BOX(vbox), hbox, FALSE, FALSE, widget_opts.packing_height); lives_signal_connect(LIVES_GUI_OBJECT(combo), LIVES_WIDGET_CHANGED_SIGNAL, - LIVES_GUI_CALLBACK(fx_changed),LIVES_INT_TO_POINTER(i*rte_getmodespk()+j)); + LIVES_GUI_CALLBACK(fx_changed), LIVES_INT_TO_POINTER(i * rte_getmodespk() + j)); lives_signal_connect(LIVES_GUI_OBJECT(info_buttons[idx]), LIVES_WIDGET_CLICKED_SIGNAL, - LIVES_GUI_CALLBACK(on_rte_info_clicked),LIVES_INT_TO_POINTER(idx)); + LIVES_GUI_CALLBACK(on_rte_info_clicked), LIVES_INT_TO_POINTER(idx)); lives_signal_connect(LIVES_GUI_OBJECT(clear_buttons[idx]), LIVES_WIDGET_CLICKED_SIGNAL, - LIVES_GUI_CALLBACK(on_clear_clicked),LIVES_INT_TO_POINTER(idx)); + LIVES_GUI_CALLBACK(on_clear_clicked), LIVES_INT_TO_POINTER(idx)); lives_signal_connect(LIVES_GUI_OBJECT(param_buttons[idx]), LIVES_WIDGET_CLICKED_SIGNAL, - LIVES_GUI_CALLBACK(on_params_clicked),LIVES_INT_TO_POINTER(idx)); + LIVES_GUI_CALLBACK(on_params_clicked), LIVES_INT_TO_POINTER(idx)); lives_signal_connect(LIVES_GUI_OBJECT(conx_buttons[idx]), LIVES_WIDGET_CLICKED_SIGNAL, - LIVES_GUI_CALLBACK(on_datacon_clicked),LIVES_INT_TO_POINTER(idx)); + LIVES_GUI_CALLBACK(on_datacon_clicked), LIVES_INT_TO_POINTER(idx)); lives_box_pack_start(LIVES_BOX(hbox), type_labels[idx], FALSE, FALSE, widget_opts.packing_width); lives_box_pack_end(LIVES_BOX(hbox), conx_buttons[idx], FALSE, FALSE, widget_opts.packing_width); lives_box_pack_end(LIVES_BOX(hbox), param_buttons[idx], FALSE, FALSE, widget_opts.packing_width); // set parameters button sensitive/insensitive - set_param_and_con_buttons(i,j); + set_param_and_con_buttons(i, j); } } @@ -2381,35 +2381,35 @@ lives_container_add(LIVES_CONTAINER(rte_window), top_vbox); hbuttonbox = lives_hbutton_box_new(); - label=add_fill_to_box(LIVES_BOX(hbuttonbox)); + label = add_fill_to_box(LIVES_BOX(hbuttonbox)); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(label, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); } - lives_box_pack_start(LIVES_BOX(top_vbox), hbuttonbox, FALSE, TRUE, widget_opts.packing_height*2); + lives_box_pack_start(LIVES_BOX(top_vbox), hbuttonbox, FALSE, TRUE, widget_opts.packing_height * 2); lives_container_add(LIVES_CONTAINER(hbuttonbox), clear_all_button); lives_widget_set_can_focus_and_default(clear_all_button); - save_keymap_button = lives_button_new_from_stock(LIVES_STOCK_SAVE_AS,_("_Save as default keymap")); + save_keymap_button = lives_button_new_from_stock(LIVES_STOCK_SAVE_AS, _("_Save as default keymap")); lives_container_add(LIVES_CONTAINER(hbuttonbox), save_keymap_button); lives_widget_set_can_focus_and_default(save_keymap_button); - load_keymap_button = lives_button_new_from_stock(LIVES_STOCK_OPEN,_("_Load default keymap")); + load_keymap_button = lives_button_new_from_stock(LIVES_STOCK_OPEN, _("_Load default keymap")); lives_container_add(LIVES_CONTAINER(hbuttonbox), load_keymap_button); lives_widget_set_can_focus_and_default(load_keymap_button); - ok_button = lives_button_new_from_stock(LIVES_STOCK_CLOSE,_("Close _window")); + ok_button = lives_button_new_from_stock(LIVES_STOCK_CLOSE, _("Close _window")); lives_container_add(LIVES_CONTAINER(hbuttonbox), ok_button); lives_widget_set_can_focus_and_default(ok_button); - label=add_fill_to_box(LIVES_BOX(hbuttonbox)); + label = add_fill_to_box(LIVES_BOX(hbuttonbox)); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_bg_color(label, LIVES_WIDGET_STATE_NORMAL, &palette->menu_and_bars); } @@ -2451,32 +2451,32 @@ lives_widget_show_all(rte_window); lives_widget_hide(dummy_radio); - if (prefs->gui_monitor!=0) { - int xcen=mainw->mgeom[prefs->gui_monitor-1].x+(mainw->mgeom[prefs->gui_monitor-1].width- - lives_widget_get_allocation_width(rte_window))/2; - int ycen=mainw->mgeom[prefs->gui_monitor-1].y+(mainw->mgeom[prefs->gui_monitor-1].height- - lives_widget_get_allocation_height(rte_window))/2; - lives_window_set_screen(LIVES_WINDOW(rte_window),mainw->mgeom[prefs->gui_monitor-1].screen); - lives_window_move(LIVES_WINDOW(rte_window),xcen,ycen); + if (prefs->gui_monitor != 0) { + int xcen = mainw->mgeom[prefs->gui_monitor - 1].x + (mainw->mgeom[prefs->gui_monitor - 1].width - + lives_widget_get_allocation_width(rte_window)) / 2; + int ycen = mainw->mgeom[prefs->gui_monitor - 1].y + (mainw->mgeom[prefs->gui_monitor - 1].height - + lives_widget_get_allocation_height(rte_window)) / 2; + lives_window_set_screen(LIVES_WINDOW(rte_window), mainw->mgeom[prefs->gui_monitor - 1].screen); + lives_window_move(LIVES_WINDOW(rte_window), xcen, ycen); } if (prefs->open_maximised) { lives_window_maximize(LIVES_WINDOW(rte_window)); } - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); - lives_set_cursor_style(LIVES_CURSOR_NORMAL,rte_window); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, rte_window); return rte_window; } LiVESWidget *refresh_rte_window(void) { - if (rte_window!=NULL) { - lives_set_cursor_style(LIVES_CURSOR_BUSY,NULL); - lives_set_cursor_style(LIVES_CURSOR_BUSY,rte_window); + if (rte_window != NULL) { + lives_set_cursor_style(LIVES_CURSOR_BUSY, NULL); + lives_set_cursor_style(LIVES_CURSOR_BUSY, rte_window); lives_widget_context_update(); - on_rtew_delete_event(NULL,NULL,LIVES_INT_TO_POINTER(1)); + on_rtew_delete_event(NULL, NULL, LIVES_INT_TO_POINTER(1)); lives_widget_destroy(rte_window); - rte_window=create_rte_window(); + rte_window = create_rte_window(); rte_window_set_interactive(mainw->interactive); } return rte_window; @@ -2484,43 +2484,43 @@ void on_assign_rte_keys_activate(LiVESMenuItem *menuitem, livespointer user_data) { - if (rte_window!=NULL) { + if (rte_window != NULL) { on_rtew_ok_clicked(LIVES_BUTTON(dummy_radio), user_data); return; } - rte_window=create_rte_window(); + rte_window = create_rte_window(); rte_window_set_interactive(mainw->interactive); lives_widget_show(rte_window); } void rtew_set_keych(int key, boolean on) { - lives_signal_handler_block(key_checks[key],ch_fns[key]); + lives_signal_handler_block(key_checks[key], ch_fns[key]); if (!pthread_mutex_trylock(&mainw->gtk_mutex)) { - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(key_checks[key]),on); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(key_checks[key]), on); pthread_mutex_unlock(&mainw->gtk_mutex); } - lives_signal_handler_unblock(key_checks[key],ch_fns[key]); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(key_checks[key]),"active",LIVES_INT_TO_POINTER(on)); + lives_signal_handler_unblock(key_checks[key], ch_fns[key]); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(key_checks[key]), "active", LIVES_INT_TO_POINTER(on)); } void rtew_set_keygr(int key) { - if (key>=0) { - lives_signal_handler_block(key_grabs[key],gr_fns[key]); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(key_grabs[key]),TRUE); - lives_signal_handler_unblock(key_grabs[key],gr_fns[key]); + if (key >= 0) { + lives_signal_handler_block(key_grabs[key], gr_fns[key]); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(key_grabs[key]), TRUE); + lives_signal_handler_unblock(key_grabs[key], gr_fns[key]); } else { - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(dummy_radio),TRUE); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(dummy_radio), TRUE); } } void rtew_set_mode_radio(int key, int mode) { - int modes=rte_getmodespk(); - lives_signal_handler_block(mode_radios[key*modes+mode],mode_ra_fns[key*modes+mode]); - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(mode_radios[key*modes+mode]),TRUE); - lives_signal_handler_unblock(mode_radios[key*modes+mode],mode_ra_fns[key*modes+mode]); + int modes = rte_getmodespk(); + lives_signal_handler_block(mode_radios[key * modes + mode], mode_ra_fns[key * modes + mode]); + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(mode_radios[key * modes + mode]), TRUE); + lives_signal_handler_unblock(mode_radios[key * modes + mode], mode_ra_fns[key * modes + mode]); } @@ -2529,30 +2529,30 @@ LiVESList *child_list; lives_rfx_t *rfx; - LiVESWidget *content_area,*button; + LiVESWidget *content_area, *button; - int keyw=0,modew=0; + int keyw = 0, modew = 0; int i; - if (fx_dialog[1]!=NULL) { - rfx=(lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"rfx"); - button=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"button"); + if (fx_dialog[1] != NULL) { + rfx = (lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "rfx"); + button = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "button"); if (!rfx->is_template) { - keyw=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"key")); - modew=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"mode")); + keyw = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "key")); + modew = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "mode")); } - if (rfx->is_template||(key==keyw&&mode==modew)) { + if (rfx->is_template || (key == keyw && mode == modew)) { // rip out the contents - content_area=lives_dialog_get_content_area(LIVES_DIALOG(fx_dialog[1])); - child_list=lives_container_get_children(LIVES_CONTAINER(content_area)); + content_area = lives_dialog_get_content_area(LIVES_DIALOG(fx_dialog[1])); + child_list = lives_container_get_children(LIVES_CONTAINER(content_area)); // remove focus from any widget we are ripping out - for (i=0; i<lives_list_length(child_list); i++) { - LiVESWidget *widget=(LiVESWidget *)lives_list_nth_data(child_list,i); - if (lives_widget_is_ancestor(LIVES_WIDGET(button),widget)) continue; + for (i = 0; i < lives_list_length(child_list); i++) { + LiVESWidget *widget = (LiVESWidget *)lives_list_nth_data(child_list, i); + if (lives_widget_is_ancestor(LIVES_WIDGET(button), widget)) continue; lives_widget_destroy(widget); } - if (child_list!=NULL) lives_list_free(child_list); - on_paramwindow_cancel_clicked(NULL,NULL); + if (child_list != NULL) lives_list_free(child_list); + on_paramwindow_cancel_clicked(NULL, NULL); restore_pwindow(rfx); } @@ -2562,8 +2562,8 @@ void restore_pwindow(lives_rfx_t *rfx) { - if (fx_dialog[1]!=NULL) { - make_param_box(LIVES_VBOX(lives_dialog_get_content_area(LIVES_DIALOG(fx_dialog[1]))),rfx); + if (fx_dialog[1] != NULL) { + make_param_box(LIVES_VBOX(lives_dialog_get_content_area(LIVES_DIALOG(fx_dialog[1]))), rfx); lives_widget_show_all(lives_dialog_get_content_area(LIVES_DIALOG(fx_dialog[1]))); lives_widget_queue_draw(fx_dialog[1]); } @@ -2575,51 +2575,51 @@ const weed_plant_t *inst; lives_rfx_t *rfx; - int keyw,modew; - - if (fx_dialog[1]!=NULL) { - keyw=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"key")); - modew=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"mode")); - if (key==keyw) { - if ((inst=rte_keymode_get_instance(key+1,modew))==NULL) return; - rfx=(lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"rfx"); - mainw->block_param_updates=TRUE; - set_param_from_list(list,&rfx->params[i],0,TRUE,TRUE); - mainw->block_param_updates=FALSE; + int keyw, modew; + + if (fx_dialog[1] != NULL) { + keyw = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "key")); + modew = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "mode")); + if (key == keyw) { + if ((inst = rte_keymode_get_instance(key + 1, modew)) == NULL) return; + rfx = (lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "rfx"); + mainw->block_param_updates = TRUE; + set_param_from_list(list, &rfx->params[i], 0, TRUE, TRUE); + mainw->block_param_updates = FALSE; } } } void rte_set_defs_activate(LiVESMenuItem *menuitem, livespointer user_data) { - int idx=LIVES_POINTER_TO_INT(user_data); - weed_plant_t *filter=get_weed_filter(idx); + int idx = LIVES_POINTER_TO_INT(user_data); + weed_plant_t *filter = get_weed_filter(idx); lives_rfx_t *rfx; - if (fx_dialog[1]!=NULL) { - rfx=(lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"rfx"); + if (fx_dialog[1] != NULL) { + rfx = (lives_rfx_t *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "rfx"); lives_widget_destroy(fx_dialog[1]); - on_paramwindow_cancel_clicked2(NULL,rfx); + on_paramwindow_cancel_clicked2(NULL, rfx); } - rfx=weed_to_rfx(filter,TRUE); - rfx->min_frames=-1; - on_fx_pre_activate(rfx,1,NULL); + rfx = weed_to_rfx(filter, TRUE); + rfx->min_frames = -1; + on_fx_pre_activate(rfx, 1, NULL); } void rte_set_key_defs(LiVESButton *button, lives_rfx_t *rfx) { - int key,mode; - if (mainw->textwidget_focus!=NULL) { - LiVESWidget *textwidget=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mainw->textwidget_focus),"textwidget"); - after_param_text_changed(textwidget,rfx); + int key, mode; + if (mainw->textwidget_focus != NULL) { + LiVESWidget *textwidget = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mainw->textwidget_focus), "textwidget"); + after_param_text_changed(textwidget, rfx); } - if (rfx->num_params>0) { - key=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"key")); - mode=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"mode")); - set_key_defaults((weed_plant_t *)rfx->source,key,mode); + if (rfx->num_params > 0) { + key = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "key")); + mode = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "mode")); + set_key_defaults((weed_plant_t *)rfx->source, key, mode); } } @@ -2627,39 +2627,39 @@ void rte_set_defs_ok(LiVESButton *button, lives_rfx_t *rfx) { - weed_plant_t *ptmpl,*filter; + weed_plant_t *ptmpl, *filter; lives_colRGB48_t *rgbp; register int i; - if (mainw->textwidget_focus!=NULL) { - LiVESWidget *textwidget=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mainw->textwidget_focus),"textwidget"); - after_param_text_changed(textwidget,rfx); + if (mainw->textwidget_focus != NULL) { + LiVESWidget *textwidget = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(mainw->textwidget_focus), "textwidget"); + after_param_text_changed(textwidget, rfx); } - if (rfx->num_params>0) { - filter=weed_instance_get_filter((weed_plant_t *)rfx->source,TRUE); - for (i=0; i<rfx->num_params; i++) { - ptmpl=weed_filter_in_paramtmpl(filter,i,FALSE); + if (rfx->num_params > 0) { + filter = weed_instance_get_filter((weed_plant_t *)rfx->source, TRUE); + for (i = 0; i < rfx->num_params; i++) { + ptmpl = weed_filter_in_paramtmpl(filter, i, FALSE); switch (rfx->params[i].type) { case LIVES_PARAM_COLRGB24: - rgbp=(lives_colRGB48_t *)rfx->params[i].value; - update_weed_color_value(filter,i,rgbp->red,rgbp->green,rgbp->blue,0); + rgbp = (lives_colRGB48_t *)rfx->params[i].value; + update_weed_color_value(filter, i, rgbp->red, rgbp->green, rgbp->blue, 0); break; case LIVES_PARAM_STRING: - weed_set_string_value(ptmpl,WEED_LEAF_HOST_DEFAULT,(char *)rfx->params[i].value); + weed_set_string_value(ptmpl, WEED_LEAF_HOST_DEFAULT, (char *)rfx->params[i].value); break; case LIVES_PARAM_STRING_LIST: - weed_set_int_array(ptmpl,WEED_LEAF_HOST_DEFAULT,1,(int *)rfx->params[i].value); + weed_set_int_array(ptmpl, WEED_LEAF_HOST_DEFAULT, 1, (int *)rfx->params[i].value); break; case LIVES_PARAM_NUM: - if (weed_leaf_seed_type(ptmpl,WEED_LEAF_DEFAULT)==WEED_SEED_DOUBLE) weed_set_double_array(ptmpl,WEED_LEAF_HOST_DEFAULT,1, + if (weed_leaf_seed_type(ptmpl, WEED_LEAF_DEFAULT) == WEED_SEED_DOUBLE) weed_set_double_array(ptmpl, WEED_LEAF_HOST_DEFAULT, 1, (double *)rfx->params[i].value); - else weed_set_int_array(ptmpl,WEED_LEAF_HOST_DEFAULT,1,(int *)rfx->params[i].value); + else weed_set_int_array(ptmpl, WEED_LEAF_HOST_DEFAULT, 1, (int *)rfx->params[i].value); break; case LIVES_PARAM_BOOL: - weed_set_boolean_array(ptmpl,WEED_LEAF_HOST_DEFAULT,1,(int *)rfx->params[i].value); + weed_set_boolean_array(ptmpl, WEED_LEAF_HOST_DEFAULT, 1, (int *)rfx->params[i].value); break; default: break; @@ -2667,91 +2667,91 @@ } } - on_paramwindow_cancel_clicked(button,rfx); - fx_dialog[1]=NULL; + on_paramwindow_cancel_clicked(button, rfx); + fx_dialog[1] = NULL; } void rte_set_defs_cancel(LiVESButton *button, lives_rfx_t *rfx) { - on_paramwindow_cancel_clicked(button,rfx); - fx_dialog[1]=NULL; + on_paramwindow_cancel_clicked(button, rfx); + fx_dialog[1] = NULL; } void rte_reset_defs_clicked(LiVESButton *button, lives_rfx_t *rfx) { - weed_plant_t **ptmpls,**inp,**xinp; + weed_plant_t **ptmpls, **inp, **xinp; weed_plant_t **ctmpls; - weed_plant_t *filter,*inst; + weed_plant_t *filter, *inst; LiVESList *child_list; - LiVESWidget *pbox,*fxdialog,*cancelbutton,*content_area; + LiVESWidget *pbox, *fxdialog, *cancelbutton, *content_area; int error; int nchans; - int poffset=0,ninpar,x; + int poffset = 0, ninpar, x; - boolean is_generic_defs=FALSE; - boolean add_pcons=FALSE; + boolean is_generic_defs = FALSE; + boolean add_pcons = FALSE; register int i; - cancelbutton=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(button),"cancelbutton"); + cancelbutton = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(button), "cancelbutton"); - if (cancelbutton!=NULL) is_generic_defs=TRUE; + if (cancelbutton != NULL) is_generic_defs = TRUE; - inst=(weed_plant_t *)rfx->source; + inst = (weed_plant_t *)rfx->source; - filter=weed_instance_get_filter(inst,TRUE); + filter = weed_instance_get_filter(inst, TRUE); - if (rfx->num_params>0) { + if (rfx->num_params > 0) { if (is_generic_defs) { // for generic, reset from plugin supplied defs - ptmpls=weed_get_plantptr_array(filter,WEED_LEAF_IN_PARAMETER_TEMPLATES,&error); - for (i=0; i<rfx->num_params; i++) { - if (weed_plant_has_leaf(ptmpls[i],WEED_LEAF_HOST_DEFAULT)) weed_leaf_delete(ptmpls[i],WEED_LEAF_HOST_DEFAULT); + ptmpls = weed_get_plantptr_array(filter, WEED_LEAF_IN_PARAMETER_TEMPLATES, &error); + for (i = 0; i < rfx->num_params; i++) { + if (weed_plant_has_leaf(ptmpls[i], WEED_LEAF_HOST_DEFAULT)) weed_leaf_delete(ptmpls[i], WEED_LEAF_HOST_DEFAULT); } lives_free(ptmpls); } - inp=weed_params_create(filter,TRUE); + inp = weed_params_create(filter, TRUE); resetdefs1: - filter=weed_instance_get_filter(inst,FALSE); + filter = weed_instance_get_filter(inst, FALSE); // reset params back to default defaults weed_in_parameters_free(inst); - ninpar=num_in_params(filter,FALSE,FALSE); - if (ninpar==0) xinp=NULL; + ninpar = num_in_params(filter, FALSE, FALSE); + if (ninpar == 0) xinp = NULL; - xinp=(weed_plant_t **)lives_malloc((ninpar+1)*sizeof(weed_plant_t *)); - x=0; - for (i=poffset; i<poffset+ninpar; i++) xinp[x++]=inp[i]; - xinp[x]=NULL; - poffset+=ninpar; + xinp = (weed_plant_t **)lives_malloc((ninpar + 1) * sizeof(weed_plant_t *)); + x = 0; + for (i = poffset; i < poffset + ninpar; i++) xinp[x++] = inp[i]; + xinp[x] = NULL; + poffset += ninpar; - weed_set_plantptr_array(inst,WEED_LEAF_IN_PARAMETERS,weed_flagset_array_count(xinp,TRUE),xinp); + weed_set_plantptr_array(inst, WEED_LEAF_IN_PARAMETERS, weed_flagset_array_count(xinp, TRUE), xinp); lives_free(xinp); - if (weed_plant_has_leaf(inst,WEED_LEAF_HOST_NEXT_INSTANCE)) { + if (weed_plant_has_leaf(inst, WEED_LEAF_HOST_NEXT_INSTANCE)) { // handle compound fx - inst=weed_get_plantptr_value(inst,WEED_LEAF_HOST_NEXT_INSTANCE,&error); - add_pcons=TRUE; + inst = weed_get_plantptr_value(inst, WEED_LEAF_HOST_NEXT_INSTANCE, &error); + add_pcons = TRUE; goto resetdefs1; } lives_free(inp); - inst=(weed_plant_t *)rfx->source; - filter=weed_instance_get_filter(inst,TRUE); + inst = (weed_plant_t *)rfx->source; + filter = weed_instance_get_filter(inst, TRUE); if (add_pcons) { add_param_connections(inst); @@ -2760,45 +2760,45 @@ rfx_params_free(rfx); lives_free(rfx->params); - rfx->params=weed_params_to_rfx(rfx->num_params,inst,FALSE); + rfx->params = weed_params_to_rfx(rfx->num_params, inst, FALSE); } if (is_generic_defs) { - if (weed_plant_has_leaf(filter,WEED_LEAF_HOST_FPS)) weed_leaf_delete(filter,WEED_LEAF_HOST_FPS); - - if (weed_plant_has_leaf(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES)) { - ctmpls=weed_get_plantptr_array(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES,&error); - nchans=weed_leaf_num_elements(filter,WEED_LEAF_OUT_CHANNEL_TEMPLATES); - for (i=0; i<nchans; i++) { - if (weed_plant_has_leaf(ctmpls[i],WEED_LEAF_HOST_WIDTH)) weed_leaf_delete(ctmpls[i],WEED_LEAF_HOST_WIDTH); - if (weed_plant_has_leaf(ctmpls[i],WEED_LEAF_HOST_HEIGHT)) weed_leaf_delete(ctmpls[i],WEED_LEAF_HOST_HEIGHT); + if (weed_plant_has_leaf(filter, WEED_LEAF_HOST_FPS)) weed_leaf_delete(filter, WEED_LEAF_HOST_FPS); + + if (weed_plant_has_leaf(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES)) { + ctmpls = weed_get_plantptr_array(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES, &error); + nchans = weed_leaf_num_elements(filter, WEED_LEAF_OUT_CHANNEL_TEMPLATES); + for (i = 0; i < nchans; i++) { + if (weed_plant_has_leaf(ctmpls[i], WEED_LEAF_HOST_WIDTH)) weed_leaf_delete(ctmpls[i], WEED_LEAF_HOST_WIDTH); + if (weed_plant_has_leaf(ctmpls[i], WEED_LEAF_HOST_HEIGHT)) weed_leaf_delete(ctmpls[i], WEED_LEAF_HOST_HEIGHT); } } } else { - int key=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"key")); - int mode=LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]),"mode")); - set_key_defaults(inst,key,mode); + int key = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "key")); + int mode = LIVES_POINTER_TO_INT(lives_widget_object_get_data(LIVES_WIDGET_OBJECT(fx_dialog[1]), "mode")); + set_key_defaults(inst, key, mode); } - fxdialog=lives_widget_get_toplevel(LIVES_WIDGET(button)); - pbox=lives_dialog_get_content_area(LIVES_DIALOG(fxdialog)); + fxdialog = lives_widget_get_toplevel(LIVES_WIDGET(button)); + pbox = lives_dialog_get_content_area(LIVES_DIALOG(fxdialog)); // redraw the window - content_area=lives_dialog_get_content_area(LIVES_DIALOG(fx_dialog[1])); - child_list=lives_container_get_children(LIVES_CONTAINER(content_area)); + content_area = lives_dialog_get_content_area(LIVES_DIALOG(fx_dialog[1])); + child_list = lives_container_get_children(LIVES_CONTAINER(content_area)); // remove focus from any widget we are ripping out - lives_container_set_focus_child(LIVES_CONTAINER(content_area),NULL); - for (i=0; i<lives_list_length(child_list); i++) { - LiVESWidget *widget=(LiVESWidget *)lives_list_nth_data(child_list,i); - if (lives_widget_is_ancestor(LIVES_WIDGET(button),widget)) continue; + lives_container_set_focus_child(LIVES_CONTAINER(content_area), NULL); + for (i = 0; i < lives_list_length(child_list); i++) { + LiVESWidget *widget = (LiVESWidget *)lives_list_nth_data(child_list, i); + if (lives_widget_is_ancestor(LIVES_WIDGET(button), widget)) continue; lives_widget_destroy(widget); } - if (child_list!=NULL) lives_list_free(child_list); + if (child_list != NULL) lives_list_free(child_list); - if (cancelbutton!=NULL) lives_widget_set_sensitive(cancelbutton,FALSE); + if (cancelbutton != NULL) lives_widget_set_sensitive(cancelbutton, FALSE); make_param_box(LIVES_VBOX(pbox), rfx); lives_widget_show_all(pbox); @@ -2810,39 +2810,39 @@ void load_default_keymap(void) { // called on startup - char *dir=lives_build_filename(capable->home_dir,LIVES_CONFIG_DIR,NULL); - char *keymap_file=lives_build_filename(dir,"default.keymap",NULL); - char *keymap_template=lives_build_filename(prefs->prefix_dir,DATA_DIR,"default.keymap",NULL); + char *dir = lives_build_filename(capable->home_dir, LIVES_CONFIG_DIR, NULL); + char *keymap_file = lives_build_filename(dir, "default.keymap", NULL); + char *keymap_template = lives_build_filename(prefs->prefix_dir, DATA_DIR, "default.keymap", NULL); char *tmp; int retval; threaded_dialog_spin(0.); - if (hash_list==NULL) hash_list=weed_get_all_names(FX_LIST_HASHNAME); + if (hash_list == NULL) hash_list = weed_get_all_names(FX_LIST_HASHNAME); do { - retval=0; + retval = 0; if (!lives_file_test(keymap_file, LIVES_FILE_TEST_EXISTS)) { - if (!lives_file_test(dir,LIVES_FILE_TEST_IS_DIR)) { - lives_mkdir_with_parents(dir,S_IRWXU); + if (!lives_file_test(dir, LIVES_FILE_TEST_IS_DIR)) { + lives_mkdir_with_parents(dir, S_IRWXU); } - lives_cp(keymap_template,keymap_file); + lives_cp(keymap_template, keymap_file); } if (!lives_file_test(keymap_file, LIVES_FILE_TEST_EXISTS)) { // give up - d_print((tmp=lives_strdup_printf - (_("Unable to create default keymap file: %s\nPlease make sure your home directory is writable.\n"), - keymap_file))); + d_print((tmp = lives_strdup_printf + (_("Unable to create default keymap file: %s\nPlease make sure your home directory is writable.\n"), + keymap_file))); - retval=do_abort_cancel_retry_dialog(tmp,NULL); + retval = do_abort_cancel_retry_dialog(tmp, NULL); lives_free(tmp); - if (retval==LIVES_RESPONSE_CANCEL) { + if (retval == LIVES_RESPONSE_CANCEL) { lives_free(keymap_file); lives_free(keymap_template); lives_free(dir); @@ -2851,9 +2851,9 @@ return; } } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); - on_load_keymap_clicked(NULL,NULL); + on_load_keymap_clicked(NULL, NULL); lives_free(keymap_file); lives_free(keymap_template);
View file
LiVES-2.8.4.tar.bz2/src/saveplay.c -> LiVES-2.8.6.tar.bz2/src/saveplay.c
Changed
@@ -41,82 +41,82 @@ int endian; int retval; - if (which==0||which==mainw->scrap_file||which==mainw->ascrap_file) return TRUE; + if (which == 0 || which == mainw->scrap_file || which == mainw->ascrap_file) return TRUE; - asigned=!(mainw->files[which]->signed_endian&AFORM_UNSIGNED); - endian=mainw->files[which]->signed_endian&AFORM_BIG_ENDIAN; - lives_header=lives_build_filename(prefs->workdir,mainw->files[which]->handle,"header.lives",NULL); + asigned = !(mainw->files[which]->signed_endian & AFORM_UNSIGNED); + endian = mainw->files[which]->signed_endian & AFORM_BIG_ENDIAN; + lives_header = lives_build_filename(prefs->workdir, mainw->files[which]->handle, "header.lives", NULL); do { - mainw->clip_header=fopen(lives_header,"w"); + mainw->clip_header = fopen(lives_header, "w"); - if (mainw->clip_header==NULL) { - retval=do_write_failed_error_s_with_retry(lives_header,lives_strerror(errno),NULL); - if (retval==LIVES_RESPONSE_CANCEL) { + if (mainw->clip_header == NULL) { + retval = do_write_failed_error_s_with_retry(lives_header, lives_strerror(errno), NULL); + if (retval == LIVES_RESPONSE_CANCEL) { lives_free(lives_header); return FALSE; } } else { - mainw->files[which]->header_version=LIVES_CLIP_HEADER_VERSION; + mainw->files[which]->header_version = LIVES_CLIP_HEADER_VERSION; do { - retval=0; + retval = 0; set_signal_handlers((SignalHandlerPointer)defer_sigint); - save_clip_value(which,CLIP_DETAILS_HEADER_VERSION,&mainw->files[which]->header_version); - if (mainw->com_failed||mainw->write_failed) break; - save_clip_value(which,CLIP_DETAILS_BPP,&mainw->files[which]->bpp); - if (mainw->com_failed||mainw->write_failed) break; - save_clip_value(which,CLIP_DETAILS_FPS,&mainw->files[which]->fps); - if (mainw->com_failed||mainw->write_failed) break; - save_clip_value(which,CLIP_DETAILS_PB_FPS,&mainw->files[which]->pb_fps); - if (mainw->com_failed||mainw->write_failed) break; - save_clip_value(which,CLIP_DETAILS_WIDTH,&mainw->files[which]->hsize); - if (mainw->com_failed||mainw->write_failed) break; - save_clip_value(which,CLIP_DETAILS_HEIGHT,&mainw->files[which]->vsize); - if (mainw->com_failed||mainw->write_failed) break; - save_clip_value(which,CLIP_DETAILS_INTERLACE,&mainw->files[which]->interlace); - if (mainw->com_failed||mainw->write_failed) break; - save_clip_value(which,CLIP_DETAILS_UNIQUE_ID,&mainw->files[which]->unique_id); - if (mainw->com_failed||mainw->write_failed) break; - save_clip_value(which,CLIP_DETAILS_ARATE,&mainw->files[which]->arps); - if (mainw->com_failed||mainw->write_failed) break; - save_clip_value(which,CLIP_DETAILS_PB_ARATE,&mainw->files[which]->arate); - if (mainw->com_failed||mainw->write_failed) break; - save_clip_value(which,CLIP_DETAILS_ACHANS,&mainw->files[which]->achans); - if (mainw->com_failed||mainw->write_failed) break; - if (mainw->files[which]->achans>0) { - save_clip_value(which,CLIP_DETAILS_ASIGNED,&asigned); - if (mainw->com_failed||mainw->write_failed) break; - } - if (mainw->files[which]->achans>0) { - save_clip_value(which,CLIP_DETAILS_AENDIAN,&endian); - if (mainw->com_failed||mainw->write_failed) break; - } - save_clip_value(which,CLIP_DETAILS_ASAMPS,&mainw->files[which]->asampsize); - if (mainw->com_failed||mainw->write_failed) break; - save_clip_value(which,CLIP_DETAILS_FRAMES,&mainw->files[which]->frames); - if (mainw->com_failed||mainw->write_failed) break; - save_clip_value(which,CLIP_DETAILS_TITLE,mainw->files[which]->title); - if (mainw->com_failed||mainw->write_failed) break; - save_clip_value(which,CLIP_DETAILS_AUTHOR,mainw->files[which]->author); - if (mainw->com_failed||mainw->write_failed) break; - save_clip_value(which,CLIP_DETAILS_COMMENT,mainw->files[which]->comment); - if (mainw->com_failed||mainw->write_failed) break; - save_clip_value(which,CLIP_DETAILS_PB_FRAMENO,&mainw->files[which]->frameno); - if (mainw->com_failed||mainw->write_failed) break; - save_clip_value(which,CLIP_DETAILS_CLIPNAME,mainw->files[which]->name); - if (mainw->com_failed||mainw->write_failed) break; - save_clip_value(which,CLIP_DETAILS_FILENAME,mainw->files[which]->file_name); - if (mainw->com_failed||mainw->write_failed) break; - save_clip_value(which,CLIP_DETAILS_KEYWORDS,mainw->files[which]->keywords); - if (mainw->com_failed||mainw->write_failed) break; + save_clip_value(which, CLIP_DETAILS_HEADER_VERSION, &mainw->files[which]->header_version); + if (mainw->com_failed || mainw->write_failed) break; + save_clip_value(which, CLIP_DETAILS_BPP, &mainw->files[which]->bpp); + if (mainw->com_failed || mainw->write_failed) break; + save_clip_value(which, CLIP_DETAILS_FPS, &mainw->files[which]->fps); + if (mainw->com_failed || mainw->write_failed) break; + save_clip_value(which, CLIP_DETAILS_PB_FPS, &mainw->files[which]->pb_fps); + if (mainw->com_failed || mainw->write_failed) break; + save_clip_value(which, CLIP_DETAILS_WIDTH, &mainw->files[which]->hsize); + if (mainw->com_failed || mainw->write_failed) break; + save_clip_value(which, CLIP_DETAILS_HEIGHT, &mainw->files[which]->vsize); + if (mainw->com_failed || mainw->write_failed) break; + save_clip_value(which, CLIP_DETAILS_INTERLACE, &mainw->files[which]->interlace); + if (mainw->com_failed || mainw->write_failed) break; + save_clip_value(which, CLIP_DETAILS_UNIQUE_ID, &mainw->files[which]->unique_id); + if (mainw->com_failed || mainw->write_failed) break; + save_clip_value(which, CLIP_DETAILS_ARATE, &mainw->files[which]->arps); + if (mainw->com_failed || mainw->write_failed) break; + save_clip_value(which, CLIP_DETAILS_PB_ARATE, &mainw->files[which]->arate); + if (mainw->com_failed || mainw->write_failed) break; + save_clip_value(which, CLIP_DETAILS_ACHANS, &mainw->files[which]->achans); + if (mainw->com_failed || mainw->write_failed) break; + if (mainw->files[which]->achans > 0) { + save_clip_value(which, CLIP_DETAILS_ASIGNED, &asigned); + if (mainw->com_failed || mainw->write_failed) break; + } + if (mainw->files[which]->achans > 0) { + save_clip_value(which, CLIP_DETAILS_AENDIAN, &endian); + if (mainw->com_failed || mainw->write_failed) break; + } + save_clip_value(which, CLIP_DETAILS_ASAMPS, &mainw->files[which]->asampsize); + if (mainw->com_failed || mainw->write_failed) break; + save_clip_value(which, CLIP_DETAILS_FRAMES, &mainw->files[which]->frames); + if (mainw->com_failed || mainw->write_failed) break; + save_clip_value(which, CLIP_DETAILS_TITLE, mainw->files[which]->title); + if (mainw->com_failed || mainw->write_failed) break; + save_clip_value(which, CLIP_DETAILS_AUTHOR, mainw->files[which]->author); + if (mainw->com_failed || mainw->write_failed) break; + save_clip_value(which, CLIP_DETAILS_COMMENT, mainw->files[which]->comment); + if (mainw->com_failed || mainw->write_failed) break; + save_clip_value(which, CLIP_DETAILS_PB_FRAMENO, &mainw->files[which]->frameno); + if (mainw->com_failed || mainw->write_failed) break; + save_clip_value(which, CLIP_DETAILS_CLIPNAME, mainw->files[which]->name); + if (mainw->com_failed || mainw->write_failed) break; + save_clip_value(which, CLIP_DETAILS_FILENAME, mainw->files[which]->file_name); + if (mainw->com_failed || mainw->write_failed) break; + save_clip_value(which, CLIP_DETAILS_KEYWORDS, mainw->files[which]->keywords); + if (mainw->com_failed || mainw->write_failed) break; if (cfile->ext_src) { - lives_decoder_t *dplug=(lives_decoder_t *)cfile->ext_src; - save_clip_value(which,CLIP_DETAILS_DECODER_NAME,dplug->decoder->name); - if (mainw->com_failed||mainw->write_failed) break; + lives_decoder_t *dplug = (lives_decoder_t *)cfile->ext_src; + save_clip_value(which, CLIP_DETAILS_DECODER_NAME, dplug->decoder->name); + if (mainw->com_failed || mainw->write_failed) break; } } while (FALSE); @@ -124,20 +124,20 @@ if (mainw->signal_caught) catch_sigint(mainw->signal_caught); set_signal_handlers((SignalHandlerPointer)catch_sigint); - if (mainw->com_failed||mainw->write_failed) { + if (mainw->com_failed || mainw->write_failed) { fclose(mainw->clip_header); - retval=do_write_failed_error_s_with_retry(lives_header,NULL,NULL); + retval = do_write_failed_error_s_with_retry(lives_header, NULL, NULL); } } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); lives_free(lives_header); fclose(mainw->clip_header); - mainw->clip_header=NULL; + mainw->clip_header = NULL; - if (retval==LIVES_RESPONSE_CANCEL) return FALSE; + if (retval == LIVES_RESPONSE_CANCEL) return FALSE; return TRUE; } @@ -153,14 +153,14 @@ int alarm_handle; int retval; boolean timeout; - char *tmp,*com=lives_strdup_printf("%s get_details \"%s\" \"%s\" \"%s\" %d %d",prefs->backend_sync,cfile->handle, - (tmp=lives_filename_from_utf8(file_name,-1,NULL,NULL,NULL)), - get_image_ext_for_type(cfile->img_type),mainw->opening_loc,is_audio); + char *tmp, *com = lives_strdup_printf("%s get_details \"%s\" \"%s\" \"%s\" %d %d", prefs->backend_sync, cfile->handle, + (tmp = lives_filename_from_utf8(file_name, -1, NULL, NULL, NULL)), + get_image_ext_for_type(cfile->img_type), mainw->opening_loc, is_audio); lives_free(tmp); - mainw->com_failed=FALSE; + mainw->com_failed = FALSE; lives_rm(cfile->info_file); - lives_system(com,FALSE); + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { @@ -168,19 +168,19 @@ } if (mainw->opening_loc) - return do_progress_dialog(TRUE,TRUE,_("Examining file header")); + return do_progress_dialog(TRUE, TRUE, _("Examining file header")); threaded_dialog_spin(0.); do { - retval=0; - timeout=FALSE; + retval = 0; + timeout = FALSE; clear_mainw_msg(); - alarm_handle=lives_alarm_set(LIVES_LONGEST_TIMEOUT); + alarm_handle = lives_alarm_set(LIVES_LONGEST_TIMEOUT); - while (!((infofile=fopen(cfile->info_file,"r"))&&!(timeout=lives_alarm_get(alarm_handle)))) { + while (!((infofile = fopen(cfile->info_file, "r")) && !(timeout = lives_alarm_get(alarm_handle)))) { lives_widget_context_update(); threaded_dialog_spin(0.); lives_usleep(prefs->sleep_time); @@ -189,15 +189,15 @@ lives_alarm_clear(alarm_handle); if (!timeout) { - mainw->read_failed=FALSE; - lives_fgets(mainw->msg,512,infofile); + mainw->read_failed = FALSE; + lives_fgets(mainw->msg, 512, infofile); fclose(infofile); } - if (timeout||mainw->read_failed) { - retval=do_read_failed_error_s_with_retry(cfile->info_file,NULL,NULL); + if (timeout || mainw->read_failed) { + retval = do_read_failed_error_s_with_retry(cfile->info_file, NULL, NULL); } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); threaded_dialog_spin(0.); return TRUE; @@ -214,18 +214,18 @@ // a selection, a backup, or a location char short_file_name[PATH_MAX]; ulong uid; - mainw->img_concat_clip=-1; + mainw->img_concat_clip = -1; - if (lives_strrstr(file_name,"://")!=NULL&&strncmp(file_name,"dvd://",6)) { - mainw->opening_loc=TRUE; - uid=open_file(file_name); - mainw->opening_loc=FALSE; + if (lives_strrstr(file_name, "://") != NULL && strncmp(file_name, "dvd://", 6)) { + mainw->opening_loc = TRUE; + uid = open_file(file_name); + mainw->opening_loc = FALSE; } else { - lives_snprintf(short_file_name,PATH_MAX,"%s",file_name); - if (!(strcmp(file_name+strlen(file_name)-4,"."LIVES_FILE_EXT_BACKUP))) { - uid=restore_file(file_name); + lives_snprintf(short_file_name, PATH_MAX, "%s", file_name); + if (!(strcmp(file_name + strlen(file_name) - 4, "."LIVES_FILE_EXT_BACKUP))) { + uid = restore_file(file_name); } else { - uid=open_file_sel(file_name,start,end); + uid = open_file_sel(file_name, start, end); } } return uid; @@ -234,7 +234,7 @@ ulong open_file(const char *file_name) { // this function should be called to open a whole file - return open_file_sel(file_name,0.,0); + return open_file_sel(file_name, 0., 0); } @@ -242,9 +242,9 @@ static boolean rip_audio_cancelled(int old_file, weed_plant_t *mt_pb_start_event, boolean mt_has_audio_file) { - if (mainw->cancelled==CANCEL_KEEP) { + if (mainw->cancelled == CANCEL_KEEP) { // user clicked "enough" - mainw->cancelled=CANCEL_NONE; + mainw->cancelled = CANCEL_NONE; return TRUE; } @@ -254,15 +254,15 @@ d_print_cancelled(); close_current_file(old_file); - mainw->noswitch=FALSE; + mainw->noswitch = FALSE; - if (mainw->multitrack!=NULL) { - mainw->multitrack->pb_start_event=mt_pb_start_event; - mainw->multitrack->has_audio_file=mt_has_audio_file; + if (mainw->multitrack != NULL) { + mainw->multitrack->pb_start_event = mt_pb_start_event; + mainw->multitrack->has_audio_file = mt_has_audio_file; } lives_freep((void **)&mainw->file_open_params); - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); return FALSE; } @@ -270,41 +270,41 @@ #define AUDIO_FRAMES_TO_READ 100 ulong open_file_sel(const char *file_name, double start, int frames) { - char msg[256],loc[256]; - char *tmp=NULL; - char *isubfname=NULL; - char *fname=lives_strdup(file_name),*msgstr; + char msg[256], loc[256]; + char *tmp = NULL; + char *isubfname = NULL; + char *fname = lives_strdup(file_name), *msgstr; char *com; - int withsound=1; - int old_file=mainw->current_file; - int new_file=old_file; + int withsound = 1; + int old_file = mainw->current_file; + int new_file = old_file; - int achans,arate,arps,asampsize; + int achans, arate, arps, asampsize; int current_file; - boolean mt_has_audio_file=TRUE; + boolean mt_has_audio_file = TRUE; const lives_clip_data_t *cdata; - weed_plant_t *mt_pb_start_event=NULL; + weed_plant_t *mt_pb_start_event = NULL; - if (old_file==-1||!cfile->opening) { - new_file=mainw->first_free_file; + if (old_file == -1 || !cfile->opening) { + new_file = mainw->first_free_file; - if (!get_new_handle(new_file,fname)) { + if (!get_new_handle(new_file, fname)) { lives_free(fname); return 0; } lives_free(fname); - lives_set_cursor_style(LIVES_CURSOR_BUSY,NULL); + lives_set_cursor_style(LIVES_CURSOR_BUSY, NULL); lives_widget_context_update(); - if (frames==0) { - com=lives_strdup_printf(_("Opening %s"),file_name); + if (frames == 0) { + com = lives_strdup_printf(_("Opening %s"), file_name); } else { - com=lives_strdup_printf(_("Opening %s start time %.2f sec. frames %d"),file_name,start,frames); + com = lives_strdup_printf(_("Opening %s start time %.2f sec. frames %d"), file_name, start, frames); } d_print(""); // exhaust "switch" message @@ -313,98 +313,98 @@ if (!mainw->save_with_sound) { d_print(_(" without sound")); - withsound=0; + withsound = 0; } - mainw->noswitch=TRUE; - mainw->current_file=new_file; + mainw->noswitch = TRUE; + mainw->current_file = new_file; - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { // set up for opening preview - mt_pb_start_event=mainw->multitrack->pb_start_event; - mt_has_audio_file=mainw->multitrack->has_audio_file; - mainw->multitrack->pb_start_event=NULL; - mainw->multitrack->has_audio_file=TRUE; + mt_pb_start_event = mainw->multitrack->pb_start_event; + mt_has_audio_file = mainw->multitrack->has_audio_file; + mainw->multitrack->pb_start_event = NULL; + mainw->multitrack->has_audio_file = TRUE; } - cfile->img_type=lives_image_ext_to_type(prefs->image_ext); + cfile->img_type = lives_image_ext_to_type(prefs->image_ext); - if (prefs->instant_open&&!mainw->opening_loc) { + if (prefs->instant_open && !mainw->opening_loc) { // cd to clip directory - so decoder plugins can write temp files - char *ppath=lives_build_filename(prefs->workdir,cfile->handle,NULL); - char *cwd=lives_get_current_dir(); - lives_chdir(ppath,FALSE); + char *ppath = lives_build_filename(prefs->workdir, cfile->handle, NULL); + char *cwd = lives_get_current_dir(); + lives_chdir(ppath, FALSE); lives_free(ppath); - cdata=get_decoder_cdata(mainw->current_file,prefs->disabled_decoders,NULL); + cdata = get_decoder_cdata(mainw->current_file, prefs->disabled_decoders, NULL); - lives_chdir(cwd,FALSE); + lives_chdir(cwd, FALSE); lives_free(cwd); - if (cfile->ext_src!=NULL) { - lives_decoder_t *dplug=(lives_decoder_t *)cfile->ext_src; - cfile->opening=TRUE; - cfile->clip_type=CLIP_TYPE_FILE; - cfile->img_type=IMG_TYPE_BEST; // override the pref - - if (cdata->frame_width>0) { - cfile->hsize=cdata->frame_width; - cfile->vsize=cdata->frame_height; + if (cfile->ext_src != NULL) { + lives_decoder_t *dplug = (lives_decoder_t *)cfile->ext_src; + cfile->opening = TRUE; + cfile->clip_type = CLIP_TYPE_FILE; + cfile->img_type = IMG_TYPE_BEST; // override the pref + + if (cdata->frame_width > 0) { + cfile->hsize = cdata->frame_width; + cfile->vsize = cdata->frame_height; } else { - cfile->hsize=cdata->width; - cfile->vsize=cdata->height; + cfile->hsize = cdata->width; + cfile->vsize = cdata->height; } - cfile->frames=cdata->nframes; + cfile->frames = cdata->nframes; - lives_snprintf(cfile->author,256,"%s",cdata->author); - lives_snprintf(cfile->title,256,"%s",cdata->title); - lives_snprintf(cfile->comment,256,"%s",cdata->comment); + lives_snprintf(cfile->author, 256, "%s", cdata->author); + lives_snprintf(cfile->title, 256, "%s", cdata->title); + lives_snprintf(cfile->comment, 256, "%s", cdata->comment); - if (frames>0&&cfile->frames>frames) cfile->frames=frames; + if (frames > 0 && cfile->frames > frames) cfile->frames = frames; - cfile->start=1; - cfile->end=cfile->frames; - create_frame_index(mainw->current_file,TRUE,cfile->fps*(start==0?0:start-1),frames==0?cfile->frames:frames); + cfile->start = 1; + cfile->end = cfile->frames; + create_frame_index(mainw->current_file, TRUE, cfile->fps * (start == 0 ? 0 : start - 1), frames == 0 ? cfile->frames : frames); - cfile->arate=cfile->arps=cdata->arate; - cfile->achans=cdata->achans; - cfile->asampsize=cdata->asamps; + cfile->arate = cfile->arps = cdata->arate; + cfile->achans = cdata->achans; + cfile->asampsize = cdata->asamps; - cfile->signed_endian=get_signed_endian(cdata->asigned, capable->byte_order==LIVES_LITTLE_ENDIAN); + cfile->signed_endian = get_signed_endian(cdata->asigned, capable->byte_order == LIVES_LITTLE_ENDIAN); - if (cfile->achans>0&&(dplug->decoder->rip_audio)!=NULL&&withsound==1) { + if (cfile->achans > 0 && (dplug->decoder->rip_audio) != NULL && withsound == 1) { // call rip_audio() in the decoder plugin // the plugin gets a chance to do any internal cleanup in rip_audio_cleanup() - int64_t stframe=cfile->fps*start+.5; - int64_t maxframe=stframe+(frames==0)?cfile->frames:frames; - int64_t nframes=AUDIO_FRAMES_TO_READ; - char *afile=lives_strdup_printf("%s/%s/audiodump.pcm",prefs->workdir,cfile->handle); + int64_t stframe = cfile->fps * start + .5; + int64_t maxframe = stframe + (frames == 0) ? cfile->frames : frames; + int64_t nframes = AUDIO_FRAMES_TO_READ; + char *afile = lives_strdup_printf("%s/%s/audiodump.pcm", prefs->workdir, cfile->handle); - msgstr=lives_strdup_printf(_("Opening audio for %s"),file_name); + msgstr = lives_strdup_printf(_("Opening audio for %s"), file_name); - if (mainw->playing_file==-1) resize(1); + if (mainw->playing_file == -1) resize(1); - mainw->cancelled=CANCEL_NONE; + mainw->cancelled = CANCEL_NONE; - cfile->opening_only_audio=TRUE; - if (mainw->playing_file==-1) do_threaded_dialog(msgstr,TRUE); + cfile->opening_only_audio = TRUE; + if (mainw->playing_file == -1) do_threaded_dialog(msgstr, TRUE); do { - if (stframe+nframes>maxframe) nframes=maxframe-stframe; - if (nframes<=0) break; - (dplug->decoder->rip_audio)(cdata,afile,stframe,nframes,NULL); + if (stframe + nframes > maxframe) nframes = maxframe - stframe; + if (nframes <= 0) break; + (dplug->decoder->rip_audio)(cdata, afile, stframe, nframes, NULL); threaded_dialog_spin(0.); - stframe+=nframes; - } while (mainw->cancelled==CANCEL_NONE); + stframe += nframes; + } while (mainw->cancelled == CANCEL_NONE); - if (dplug->decoder->rip_audio_cleanup!=NULL) { + if (dplug->decoder->rip_audio_cleanup != NULL) { (dplug->decoder->rip_audio_cleanup)(cdata); } - if (mainw->cancelled!=CANCEL_NONE) { - if (!rip_audio_cancelled(old_file,mt_pb_start_event,mt_has_audio_file)) { + if (mainw->cancelled != CANCEL_NONE) { + if (!rip_audio_cancelled(old_file, mt_pb_start_event, mt_has_audio_file)) { lives_free(afile); return 0; } @@ -413,92 +413,92 @@ end_threaded_dialog(); lives_free(msgstr); - cfile->opening_only_audio=FALSE; + cfile->opening_only_audio = FALSE; lives_free(afile); } else { - cfile->arate=0.; - cfile->achans=cfile->asampsize=0; + cfile->arate = 0.; + cfile->achans = cfile->asampsize = 0; } - cfile->fps=cfile->pb_fps=cdata->fps; + cfile->fps = cfile->pb_fps = cdata->fps; d_print("\n"); - if (cfile->achans==0&&withsound==1) { + if (cfile->achans == 0 && withsound == 1) { if (0) { /*if (!capable->has_mplayer) { do_mplayer_audio_warning(); }*/ } else { - mainw->com_failed=FALSE; + mainw->com_failed = FALSE; // check if we have audio - read_file_details(file_name,FALSE); + read_file_details(file_name, FALSE); lives_rm(cfile->info_file); if (mainw->com_failed) return 0; - if (strlen(mainw->msg)>0) add_file_info(cfile->handle,TRUE); + if (strlen(mainw->msg) > 0) add_file_info(cfile->handle, TRUE); - if (cfile->achans>0) { + if (cfile->achans > 0) { // plugin returned no audio, try with mplayer - if (mainw->file_open_params==NULL) mainw->file_open_params=lives_strdup(""); - com=lives_strdup_printf("%s open \"%s\" \"%s\" %d %s:%s %.2f %d \"%s\"",prefs->backend,cfile->handle, - (tmp=lives_filename_from_utf8(file_name,-1,NULL,NULL,NULL)),-1, - prefs->image_ext,get_image_ext_for_type(IMG_TYPE_BEST),start,frames,mainw->file_open_params); + if (mainw->file_open_params == NULL) mainw->file_open_params = lives_strdup(""); + com = lives_strdup_printf("%s open \"%s\" \"%s\" %d %s:%s %.2f %d \"%s\"", prefs->backend, cfile->handle, + (tmp = lives_filename_from_utf8(file_name, -1, NULL, NULL, NULL)), -1, + prefs->image_ext, get_image_ext_for_type(IMG_TYPE_BEST), start, frames, mainw->file_open_params); lives_free(tmp); - cfile->op_dir=lives_filename_from_utf8((tmp=get_dir(file_name)),-1,NULL,NULL,NULL); + cfile->op_dir = lives_filename_from_utf8((tmp = get_dir(file_name)), -1, NULL, NULL, NULL); lives_freep((void **)&tmp); lives_rm(cfile->info_file); - lives_system(com,FALSE); + lives_system(com, FALSE); lives_free(com); // if we have a quick-opening file, display the first and last frames now // for some codecs this can be helpful since we can locate the last frame while audio is loading - if (cfile->clip_type==CLIP_TYPE_FILE&&mainw->playing_file==-1) resize(1); + if (cfile->clip_type == CLIP_TYPE_FILE && mainw->playing_file == -1) resize(1); - mainw->effects_paused=FALSE; // set to TRUE if user clicks "Enough" + mainw->effects_paused = FALSE; // set to TRUE if user clicks "Enough" - msgstr=lives_strdup_printf(_("Opening audio"),file_name); - if (!do_progress_dialog(TRUE,TRUE,msgstr)) { + msgstr = lives_strdup_printf(_("Opening audio"), file_name); + if (!do_progress_dialog(TRUE, TRUE, msgstr)) { // user cancelled or switched to another clip lives_free(msgstr); - mainw->opening_frames=-1; + mainw->opening_frames = -1; - if (mainw->multitrack!=NULL) { - mainw->multitrack->pb_start_event=mt_pb_start_event; - mainw->multitrack->has_audio_file=mt_has_audio_file; + if (mainw->multitrack != NULL) { + mainw->multitrack->pb_start_event = mt_pb_start_event; + mainw->multitrack->has_audio_file = mt_has_audio_file; } - if (mainw->cancelled==CANCEL_NO_PROPOGATE) { - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); - mainw->cancelled=CANCEL_NONE; + if (mainw->cancelled == CANCEL_NO_PROPOGATE) { + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); + mainw->cancelled = CANCEL_NONE; return 0; } // cancelled - if (mainw->cancelled!=CANCEL_ERROR) { - lives_kill_subprocesses(cfile->handle,TRUE); + if (mainw->cancelled != CANCEL_ERROR) { + lives_kill_subprocesses(cfile->handle, TRUE); } lives_freep((void **)&mainw->file_open_params); close_current_file(old_file); - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); return 0; } - if (mainw->error==0) add_file_info(cfile->handle,TRUE); - mainw->error=0; + if (mainw->error == 0) add_file_info(cfile->handle, TRUE); + mainw->error = 0; lives_free(msgstr); - cfile->opening=FALSE; + cfile->opening = FALSE; wait_for_bg_audio_sync(cfile); @@ -506,142 +506,142 @@ get_total_time(cfile); if (prefs->auto_trim_audio) { - if ((cdata->sync_hint&SYNC_HINT_VIDEO_PAD_START)&&cdata->video_start_time<=1.) { + if ((cdata->sync_hint & SYNC_HINT_VIDEO_PAD_START) && cdata->video_start_time <= 1.) { // pad with blank frames at start - int extra_frames=cdata->video_start_time*cfile->fps+.5; - insert_blank_frames(mainw->current_file,extra_frames,0); + int extra_frames = cdata->video_start_time * cfile->fps + .5; + insert_blank_frames(mainw->current_file, extra_frames, 0); load_start_image(cfile->start); load_end_image(cfile->end); } - if ((cdata->sync_hint&SYNC_HINT_VIDEO_PAD_END)&&(double)cfile->frames/cfile->fps<cfile->laudio_time) { + if ((cdata->sync_hint & SYNC_HINT_VIDEO_PAD_END) && (double)cfile->frames / cfile->fps < cfile->laudio_time) { // pad with blank frames at end - int extra_frames=(cfile->laudio_time-(double)cfile->frames/cfile->fps)*cfile->fps+.5; - insert_blank_frames(mainw->current_file,extra_frames,cfile->frames); - cfile->end=cfile->frames; + int extra_frames = (cfile->laudio_time - (double)cfile->frames / cfile->fps) * cfile->fps + .5; + insert_blank_frames(mainw->current_file, extra_frames, cfile->frames); + cfile->end = cfile->frames; load_end_image(cfile->end); } - if (cfile->total_time>cfile->video_time) { - if (cdata->sync_hint&SYNC_HINT_AUDIO_TRIM_START) { - cfile->undo1_dbl=0.; - cfile->undo2_dbl=cfile->total_time-cfile->video_time; - d_print(_("Auto trimming %.2f seconds of audio at start..."),cfile->undo2_dbl); - if (on_del_audio_activate(NULL,NULL)) d_print_done(); + if (cfile->total_time > cfile->video_time) { + if (cdata->sync_hint & SYNC_HINT_AUDIO_TRIM_START) { + cfile->undo1_dbl = 0.; + cfile->undo2_dbl = cfile->total_time - cfile->video_time; + d_print(_("Auto trimming %.2f seconds of audio at start..."), cfile->undo2_dbl); + if (on_del_audio_activate(NULL, NULL)) d_print_done(); else d_print("\n"); - cfile->changed=FALSE; + cfile->changed = FALSE; } - if (cdata->sync_hint&SYNC_HINT_AUDIO_TRIM_END) { - cfile->undo1_dbl=cfile->video_time; - cfile->undo2_dbl=cfile->total_time; - d_print(_("Auto trimming %.2f seconds of audio at end..."),cfile->undo2_dbl-cfile->undo1_dbl); - if (on_del_audio_activate(NULL,NULL)) d_print_done(); + if (cdata->sync_hint & SYNC_HINT_AUDIO_TRIM_END) { + cfile->undo1_dbl = cfile->video_time; + cfile->undo2_dbl = cfile->total_time; + d_print(_("Auto trimming %.2f seconds of audio at end..."), cfile->undo2_dbl - cfile->undo1_dbl); + if (on_del_audio_activate(NULL, NULL)) d_print_done(); else d_print("\n"); - cfile->changed=FALSE; + cfile->changed = FALSE; } } - if (!mainw->effects_paused&&cfile->afilesize>0&&cfile->total_time>cfile->laudio_time) { - if (cdata->sync_hint&SYNC_HINT_AUDIO_PAD_START) { - cfile->undo1_dbl=0.; - cfile->undo2_dbl=cfile->total_time-cfile->laudio_time; - cfile->undo_arate=cfile->arate; - cfile->undo_signed_endian=cfile->signed_endian; - cfile->undo_achans=cfile->achans; - cfile->undo_asampsize=cfile->asampsize; - cfile->undo_arps=cfile->arps; - d_print(_("Auto padding with %.2f seconds of silence at start..."),cfile->undo2_dbl); - if (on_ins_silence_activate(NULL,NULL)) d_print_done(); + if (!mainw->effects_paused && cfile->afilesize > 0 && cfile->total_time > cfile->laudio_time) { + if (cdata->sync_hint & SYNC_HINT_AUDIO_PAD_START) { + cfile->undo1_dbl = 0.; + cfile->undo2_dbl = cfile->total_time - cfile->laudio_time; + cfile->undo_arate = cfile->arate; + cfile->undo_signed_endian = cfile->signed_endian; + cfile->undo_achans = cfile->achans; + cfile->undo_asampsize = cfile->asampsize; + cfile->undo_arps = cfile->arps; + d_print(_("Auto padding with %.2f seconds of silence at start..."), cfile->undo2_dbl); + if (on_ins_silence_activate(NULL, NULL)) d_print_done(); else d_print("\n"); - cfile->changed=FALSE; + cfile->changed = FALSE; } - if (cdata->sync_hint&SYNC_HINT_AUDIO_PAD_END) { - cfile->undo1_dbl=cfile->laudio_time; - cfile->undo2_dbl=cfile->total_time-cfile->laudio_time; - cfile->undo_arate=cfile->arate; - cfile->undo_signed_endian=cfile->signed_endian; - cfile->undo_achans=cfile->achans; - cfile->undo_asampsize=cfile->asampsize; - cfile->undo_arps=cfile->arps; - d_print(_("Auto padding with %.2f seconds of silence at end..."),cfile->undo2_dbl); - if (on_ins_silence_activate(NULL,NULL)) d_print_done(); + if (cdata->sync_hint & SYNC_HINT_AUDIO_PAD_END) { + cfile->undo1_dbl = cfile->laudio_time; + cfile->undo2_dbl = cfile->total_time - cfile->laudio_time; + cfile->undo_arate = cfile->arate; + cfile->undo_signed_endian = cfile->signed_endian; + cfile->undo_achans = cfile->achans; + cfile->undo_asampsize = cfile->asampsize; + cfile->undo_arps = cfile->arps; + d_print(_("Auto padding with %.2f seconds of silence at end..."), cfile->undo2_dbl); + if (on_ins_silence_activate(NULL, NULL)) d_print_done(); else d_print("\n"); - cfile->changed=FALSE; + cfile->changed = FALSE; } } } } } } - get_mime_type(cfile->type,40,cdata); + get_mime_type(cfile->type, 40, cdata); save_frame_index(mainw->current_file); } } - if (cfile->ext_src!=NULL) { + if (cfile->ext_src != NULL) { if (mainw->open_deint) { // override what the plugin says - cfile->deinterlace=TRUE; - cfile->interlace=LIVES_INTERLACE_TOP_FIRST; // guessing - save_clip_value(mainw->current_file,CLIP_DETAILS_INTERLACE,&cfile->interlace); - if (mainw->com_failed||mainw->write_failed) do_header_write_error(mainw->current_file); + cfile->deinterlace = TRUE; + cfile->interlace = LIVES_INTERLACE_TOP_FIRST; // guessing + save_clip_value(mainw->current_file, CLIP_DETAILS_INTERLACE, &cfile->interlace); + if (mainw->com_failed || mainw->write_failed) do_header_write_error(mainw->current_file); } } else { // get the file size, etc. (frames is just a guess here) - if (!read_file_details(file_name,FALSE)) { + if (!read_file_details(file_name, FALSE)) { // user cancelled close_current_file(old_file); - mainw->noswitch=FALSE; - if (mainw->multitrack!=NULL) { - mainw->multitrack->pb_start_event=mt_pb_start_event; - mainw->multitrack->has_audio_file=mt_has_audio_file; + mainw->noswitch = FALSE; + if (mainw->multitrack != NULL) { + mainw->multitrack->pb_start_event = mt_pb_start_event; + mainw->multitrack->has_audio_file = mt_has_audio_file; } lives_freep((void **)&mainw->file_open_params); - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); return 0; } lives_rm(cfile->info_file); // we must set this before calling add_file_info - cfile->opening=TRUE; - mainw->opening_frames=-1; + cfile->opening = TRUE; + mainw->opening_frames = -1; - if (!add_file_info(cfile->handle,FALSE)) { + if (!add_file_info(cfile->handle, FALSE)) { close_current_file(old_file); - mainw->noswitch=FALSE; - if (mainw->multitrack!=NULL) { - mainw->multitrack->pb_start_event=mt_pb_start_event; - mainw->multitrack->has_audio_file=mt_has_audio_file; + mainw->noswitch = FALSE; + if (mainw->multitrack != NULL) { + mainw->multitrack->pb_start_event = mt_pb_start_event; + mainw->multitrack->has_audio_file = mt_has_audio_file; } lives_freep((void **)&mainw->file_open_params); - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); return 0; } - if (frames>0&&cfile->frames>frames) cfile->end=cfile->undo_end=cfile->frames=frames; + if (frames > 0 && cfile->frames > frames) cfile->end = cfile->undo_end = cfile->frames = frames; // be careful, here we switch from mainw->opening_loc to cfile->opening_loc if (mainw->opening_loc) { - cfile->opening_loc=TRUE; - mainw->opening_loc=FALSE; + cfile->opening_loc = TRUE; + mainw->opening_loc = FALSE; } - if (cfile->f_size>prefs->warn_file_size*1000000.&&mainw->is_ready&&frames==0) { - char *fsize_ds=lives_format_storage_space_string((uint64_t)cfile->f_size); - char *warn=lives_strdup_printf( - _("\nLiVES is not currently optimised for larger file sizes.\nYou are advised (for now) to start with a smaller file, " - "or to use the 'Open File Selection' option.\n(Filesize=%s)\n\nAre you sure you wish to continue ?"), - fsize_ds); + if (cfile->f_size > prefs->warn_file_size * 1000000. && mainw->is_ready && frames == 0) { + char *fsize_ds = lives_format_storage_space_string((uint64_t)cfile->f_size); + char *warn = lives_strdup_printf( + _("\nLiVES is not currently optimised for larger file sizes.\nYou are advised (for now) to start with a smaller file, " + "or to use the 'Open File Selection' option.\n(Filesize=%s)\n\nAre you sure you wish to continue ?"), + fsize_ds); lives_free(fsize_ds); - if (!do_warning_dialog_with_check(warn,WARN_MASK_FSIZE)) { + if (!do_warning_dialog_with_check(warn, WARN_MASK_FSIZE)) { lives_free(warn); close_current_file(old_file); - mainw->noswitch=FALSE; - if (mainw->multitrack!=NULL) { - mainw->multitrack->pb_start_event=mt_pb_start_event; - mainw->multitrack->has_audio_file=mt_has_audio_file; + mainw->noswitch = FALSE; + if (mainw->multitrack != NULL) { + mainw->multitrack->pb_start_event = mt_pb_start_event; + mainw->multitrack->has_audio_file = mt_has_audio_file; } - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); return 0; } lives_free(warn); @@ -655,85 +655,85 @@ } // set undo_start and undo_end for preview - cfile->undo_start=1; - cfile->undo_end=cfile->frames; + cfile->undo_start = 1; + cfile->undo_end = cfile->frames; - if (cfile->achans>0) { - cfile->opening_audio=TRUE; + if (cfile->achans > 0) { + cfile->opening_audio = TRUE; } // these will get reset as we have no audio file yet, so preserve them - achans=cfile->achans; - arate=cfile->arate; - arps=cfile->arps; - asampsize=cfile->asampsize; - cfile->old_frames=cfile->frames; - cfile->frames=0; + achans = cfile->achans; + arate = cfile->arate; + arps = cfile->arps; + asampsize = cfile->asampsize; + cfile->old_frames = cfile->frames; + cfile->frames = 0; // we need this FALSE here, otherwise we will switch straight back here... - cfile->opening=FALSE; + cfile->opening = FALSE; // force a resize - current_file=mainw->current_file; + current_file = mainw->current_file; - if (mainw->playing_file>-1) { + if (mainw->playing_file > -1) { do_quick_switch(current_file); } else { - switch_to_file((mainw->current_file=(cfile->clip_type!=CLIP_TYPE_FILE)?old_file:current_file),current_file); + switch_to_file((mainw->current_file = (cfile->clip_type != CLIP_TYPE_FILE) ? old_file : current_file), current_file); } - cfile->opening=TRUE; - cfile->achans=achans; - cfile->arate=arate; - cfile->arps=arps; - cfile->asampsize=asampsize; - cfile->frames=cfile->old_frames; + cfile->opening = TRUE; + cfile->achans = achans; + cfile->arate = arate; + cfile->arps = arps; + cfile->asampsize = asampsize; + cfile->frames = cfile->old_frames; - if (cfile->frames<=0) { - cfile->undo_end=cfile->frames=123456789; + if (cfile->frames <= 0) { + cfile->undo_end = cfile->frames = 123456789; } - if (cfile->hsize*cfile->vsize==0) { - cfile->frames=0; + if (cfile->hsize * cfile->vsize == 0) { + cfile->frames = 0; } - if (mainw->multitrack==NULL) get_play_times(); + if (mainw->multitrack == NULL) get_play_times(); add_to_clipmenu(); - set_main_title(cfile->file_name,0); + set_main_title(cfile->file_name, 0); - mainw->effects_paused=FALSE; + mainw->effects_paused = FALSE; - if (cfile->ext_src==NULL) { - if (mainw->file_open_params==NULL) mainw->file_open_params=lives_strdup(""); + if (cfile->ext_src == NULL) { + if (mainw->file_open_params == NULL) mainw->file_open_params = lives_strdup(""); - tmp=lives_strconcat(mainw->file_open_params,get_deinterlace_string(),NULL); + tmp = lives_strconcat(mainw->file_open_params, get_deinterlace_string(), NULL); lives_free(mainw->file_open_params); - mainw->file_open_params=tmp; + mainw->file_open_params = tmp; - com=lives_strdup_printf("%s open \"%s\" \"%s\" %d %s:%s %.2f %d \"%s\"",prefs->backend,cfile->handle, - (tmp=lives_filename_from_utf8(file_name,-1,NULL,NULL,NULL)),withsound, - prefs->image_ext,get_image_ext_for_type(IMG_TYPE_BEST),start,frames,mainw->file_open_params); + com = lives_strdup_printf("%s open \"%s\" \"%s\" %d %s:%s %.2f %d \"%s\"", prefs->backend, cfile->handle, + (tmp = lives_filename_from_utf8(file_name, -1, NULL, NULL, NULL)), withsound, + prefs->image_ext, get_image_ext_for_type(IMG_TYPE_BEST), start, frames, mainw->file_open_params); lives_rm(cfile->info_file); - lives_system(com,FALSE); + lives_system(com, FALSE); lives_free(com); lives_free(tmp); - if (mainw->toy_type==LIVES_TOY_TV) { + if (mainw->toy_type == LIVES_TOY_TV) { // for LiVES TV we do an auto-preview - mainw->play_start=cfile->start=cfile->undo_start; - mainw->play_end=cfile->end=cfile->undo_end; - mainw->preview=TRUE; + mainw->play_start = cfile->start = cfile->undo_start; + mainw->play_end = cfile->end = cfile->undo_end; + mainw->preview = TRUE; do { desensitize(); procw_desensitize(); on_playsel_activate(NULL, NULL); - } while (mainw->cancelled==CANCEL_KEEP_LOOPING); - mainw->preview=FALSE; - on_toy_activate(NULL,LIVES_INT_TO_POINTER(LIVES_TOY_NONE)); + } while (mainw->cancelled == CANCEL_KEEP_LOOPING); + mainw->preview = FALSE; + on_toy_activate(NULL, LIVES_INT_TO_POINTER(LIVES_TOY_NONE)); lives_freep((void **)&mainw->file_open_params); - mainw->cancelled=CANCEL_NONE; - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); - mainw->noswitch=FALSE; + mainw->cancelled = CANCEL_NONE; + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); + mainw->noswitch = FALSE; return 0; } } @@ -744,64 +744,64 @@ // spin until loading is complete // afterwards, mainw->msg will contain file details - cfile->progress_start=cfile->progress_end=0; + cfile->progress_start = cfile->progress_end = 0; // (also check for cancel) - msgstr=lives_strdup_printf(_("Opening %s"),file_name); + msgstr = lives_strdup_printf(_("Opening %s"), file_name); - if (cfile->ext_src==NULL&&mainw->toy_type!=LIVES_TOY_TV) { - if (!do_progress_dialog(TRUE,TRUE,msgstr)) { + if (cfile->ext_src == NULL && mainw->toy_type != LIVES_TOY_TV) { + if (!do_progress_dialog(TRUE, TRUE, msgstr)) { // user cancelled or switched to another clip lives_free(msgstr); - mainw->opening_frames=-1; - mainw->effects_paused=FALSE; + mainw->opening_frames = -1; + mainw->effects_paused = FALSE; - if (mainw->cancelled==CANCEL_NO_PROPOGATE) { - mainw->cancelled=CANCEL_NONE; - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); - mainw->noswitch=FALSE; + if (mainw->cancelled == CANCEL_NO_PROPOGATE) { + mainw->cancelled = CANCEL_NONE; + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); + mainw->noswitch = FALSE; return 0; } // cancelled // clean up our temp files - lives_kill_subprocesses(cfile->handle,TRUE); + lives_kill_subprocesses(cfile->handle, TRUE); lives_freep((void **)&mainw->file_open_params); close_current_file(old_file); - if (mainw->multitrack!=NULL) { - mainw->multitrack->pb_start_event=mt_pb_start_event; - mainw->multitrack->has_audio_file=mt_has_audio_file; + if (mainw->multitrack != NULL) { + mainw->multitrack->pb_start_event = mt_pb_start_event; + mainw->multitrack->has_audio_file = mt_has_audio_file; } - mainw->noswitch=FALSE; - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); + mainw->noswitch = FALSE; + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); return 0; } } lives_free(msgstr); } - if (cfile->ext_src!=NULL&&cfile->achans>0) { - char *afile=lives_strdup_printf("%s/%s/audiodump.pcm",prefs->workdir,cfile->handle); - char *ofile=lives_strdup_printf("%s/%s/audio",prefs->workdir,cfile->handle); - rename(afile,ofile); + if (cfile->ext_src != NULL && cfile->achans > 0) { + char *afile = lives_strdup_printf("%s/%s/audiodump.pcm", prefs->workdir, cfile->handle); + char *ofile = lives_strdup_printf("%s/%s/audio", prefs->workdir, cfile->handle); + rename(afile, ofile); lives_free(afile); lives_free(ofile); } - cfile->opening=cfile->opening_audio=cfile->opening_only_audio=FALSE; - mainw->opening_frames=-1; - mainw->effects_paused=FALSE; + cfile->opening = cfile->opening_audio = cfile->opening_only_audio = FALSE; + mainw->opening_frames = -1; + mainw->effects_paused = FALSE; #if defined DEBUG g_print("Out of dpd\n"); #endif - if (mainw->multitrack!=NULL) { - mainw->multitrack->pb_start_event=mt_pb_start_event; - mainw->multitrack->has_audio_file=mt_has_audio_file; + if (mainw->multitrack != NULL) { + mainw->multitrack->pb_start_event = mt_pb_start_event; + mainw->multitrack->has_audio_file = mt_has_audio_file; } // mainw->error is TRUE if we could not open the file @@ -809,42 +809,42 @@ do_blocking_error_dialog(mainw->msg); d_print_failed(); close_current_file(old_file); - mainw->noswitch=FALSE; + mainw->noswitch = FALSE; lives_freep((void **)&mainw->file_open_params); - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); return 0; } if (cfile->opening_loc) { - cfile->changed=TRUE; - cfile->opening_loc=FALSE; + cfile->changed = TRUE; + cfile->opening_loc = FALSE; } else { if (prefs->autoload_subs) { char filename[512]; char *subfname; - lives_subtitle_type_t subtype=SUBTITLE_TYPE_NONE; + lives_subtitle_type_t subtype = SUBTITLE_TYPE_NONE; - lives_snprintf(filename,512,"%s",file_name); - get_filename(filename,FALSE); // strip extension - isubfname=lives_strdup_printf("%s.%s",filename,LIVES_FILE_EXT_SRT); - if (lives_file_test(isubfname,LIVES_FILE_TEST_EXISTS)) { - subfname=lives_build_filename(prefs->workdir,cfile->handle,"subs.",LIVES_FILE_EXT_SRT,NULL); - subtype=SUBTITLE_TYPE_SRT; + lives_snprintf(filename, 512, "%s", file_name); + get_filename(filename, FALSE); // strip extension + isubfname = lives_strdup_printf("%s.%s", filename, LIVES_FILE_EXT_SRT); + if (lives_file_test(isubfname, LIVES_FILE_TEST_EXISTS)) { + subfname = lives_build_filename(prefs->workdir, cfile->handle, "subs.", LIVES_FILE_EXT_SRT, NULL); + subtype = SUBTITLE_TYPE_SRT; } else { lives_free(isubfname); - isubfname=lives_strdup_printf("%s.%s",filename,LIVES_FILE_EXT_SUB); - if (lives_file_test(isubfname,LIVES_FILE_TEST_EXISTS)) { - subfname=lives_build_filename(prefs->workdir,cfile->handle,"subs.",LIVES_FILE_EXT_SUB,NULL); - subtype=SUBTITLE_TYPE_SUB; + isubfname = lives_strdup_printf("%s.%s", filename, LIVES_FILE_EXT_SUB); + if (lives_file_test(isubfname, LIVES_FILE_TEST_EXISTS)) { + subfname = lives_build_filename(prefs->workdir, cfile->handle, "subs.", LIVES_FILE_EXT_SUB, NULL); + subtype = SUBTITLE_TYPE_SUB; } } - if (subtype!=SUBTITLE_TYPE_NONE) { - mainw->com_failed=FALSE; - lives_cp(isubfname,subfname); + if (subtype != SUBTITLE_TYPE_NONE) { + mainw->com_failed = FALSE; + lives_cp(isubfname, subfname); if (!mainw->com_failed) - subtitles_init(cfile,subfname,subtype); + subtitles_init(cfile, subfname, subtype); lives_free(subfname); } else { lives_freep((void **)&isubfname); @@ -854,133 +854,133 @@ // now file should be loaded...get full details - cfile->is_loaded=TRUE; + cfile->is_loaded = TRUE; - if (cfile->ext_src==NULL) { - add_file_info(cfile->handle,FALSE); + if (cfile->ext_src == NULL) { + add_file_info(cfile->handle, FALSE); } else { - add_file_info(NULL,FALSE); - cfile->f_size=sget_file_size((char *)file_name); + add_file_info(NULL, FALSE); + cfile->f_size = sget_file_size((char *)file_name); } - if (cfile->frames<=0) { - if (cfile->afilesize==0l) { + if (cfile->frames <= 0) { + if (cfile->afilesize == 0l) { // we got neither video nor audio... - lives_snprintf(msg,256,"%s",_ + lives_snprintf(msg, 256, "%s", _ ("\n\nLiVES was unable to extract either video or audio.\nPlease check the terminal window for more details.\n")); - if (!capable->has_mplayer&&!capable->has_mplayer2&&!capable->has_mpv) { - lives_strappend(msg,256,_("\n\nYou may need to install mplayer, mplayer2 or mpv to open this file.\n")); + if (!capable->has_mplayer && !capable->has_mplayer2 && !capable->has_mpv) { + lives_strappend(msg, 256, _("\n\nYou may need to install mplayer, mplayer2 or mpv to open this file.\n")); } else { if (capable->has_mplayer) { - get_location(AUDIO_PLAYER_MPLAYER,loc,PATH_MAX); + get_location(AUDIO_PLAYER_MPLAYER, loc, PATH_MAX); } else if (capable->has_mplayer2) { - get_location(AUDIO_PLAYER_MPLAYER2,loc,PATH_MAX); + get_location(AUDIO_PLAYER_MPLAYER2, loc, PATH_MAX); } else if (capable->has_mpv) { - get_location("mpv",loc,PATH_MAX); + get_location("mpv", loc, PATH_MAX); } - if (strcmp(prefs->video_open_command,loc)&&strncmp(prefs->video_open_command+1,loc,strlen(loc))) { - lives_strappend(msg,256,_("\n\nPlease check the setting of Video Open Command in\nTools|Preferences|Decoding\n")); + if (strcmp(prefs->video_open_command, loc) && strncmp(prefs->video_open_command + 1, loc, strlen(loc))) { + lives_strappend(msg, 256, _("\n\nPlease check the setting of Video Open Command in\nTools|Preferences|Decoding\n")); } } do_error_dialog(msg); d_print_failed(); close_current_file(old_file); - mainw->noswitch=FALSE; - if (mainw->multitrack!=NULL) { - mainw->multitrack->pb_start_event=mt_pb_start_event; - mainw->multitrack->has_audio_file=mt_has_audio_file; + mainw->noswitch = FALSE; + if (mainw->multitrack != NULL) { + mainw->multitrack->pb_start_event = mt_pb_start_event; + mainw->multitrack->has_audio_file = mt_has_audio_file; } lives_freep((void **)&mainw->file_open_params); - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); return 0; } - cfile->frames=0; + cfile->frames = 0; } reget_afilesize(mainw->current_file); get_total_time(cfile); - if (cfile->ext_src==NULL&&start!=0.&&cfile->total_time>cfile->video_time) { - cfile->undo1_dbl=cfile->video_time; - cfile->undo2_dbl=cfile->total_time; - d_print(_("Auto trimming %.2f seconds of audio at end..."),cfile->undo2_dbl-cfile->undo1_dbl); - if (on_del_audio_activate(NULL,NULL)) d_print_done(); + if (cfile->ext_src == NULL && start != 0. && cfile->total_time > cfile->video_time) { + cfile->undo1_dbl = cfile->video_time; + cfile->undo2_dbl = cfile->total_time; + d_print(_("Auto trimming %.2f seconds of audio at end..."), cfile->undo2_dbl - cfile->undo1_dbl); + if (on_del_audio_activate(NULL, NULL)) d_print_done(); else d_print("\n"); - cfile->changed=FALSE; + cfile->changed = FALSE; } - current_file=mainw->current_file; + current_file = mainw->current_file; - if (isubfname!=NULL) { - d_print(_("Loaded subtitle file: %s\n"),isubfname); + if (isubfname != NULL) { + d_print(_("Loaded subtitle file: %s\n"), isubfname); lives_free(isubfname); } - lives_notify(LIVES_OSC_NOTIFY_CLIP_OPENED,""); + lives_notify(LIVES_OSC_NOTIFY_CLIP_OPENED, ""); - if (prefs->show_recent&&!mainw->is_generating) { - add_to_recent(file_name,start,frames,mainw->file_open_params); + if (prefs->show_recent && !mainw->is_generating) { + add_to_recent(file_name, start, frames, mainw->file_open_params); } lives_freep((void **)&mainw->file_open_params); - if (!strcmp(cfile->type,"Frames")||!strcmp(cfile->type,LIVES_IMAGE_TYPE_JPEG)||!strcmp(cfile->type,LIVES_IMAGE_TYPE_PNG)|| - !strcmp(cfile->type,"Audio")) { - cfile->is_untitled=TRUE; + if (!strcmp(cfile->type, "Frames") || !strcmp(cfile->type, LIVES_IMAGE_TYPE_JPEG) || !strcmp(cfile->type, LIVES_IMAGE_TYPE_PNG) || + !strcmp(cfile->type, "Audio")) { + cfile->is_untitled = TRUE; } - if (cfile->frames==1&&(!strcmp(cfile->type,LIVES_IMAGE_TYPE_JPEG)||!strcmp(cfile->type,LIVES_IMAGE_TYPE_PNG))) { - if (mainw->img_concat_clip==-1) { - cfile->img_type=lives_image_type_to_image_type(cfile->type); - mainw->img_concat_clip=mainw->current_file; + if (cfile->frames == 1 && (!strcmp(cfile->type, LIVES_IMAGE_TYPE_JPEG) || !strcmp(cfile->type, LIVES_IMAGE_TYPE_PNG))) { + if (mainw->img_concat_clip == -1) { + cfile->img_type = lives_image_type_to_image_type(cfile->type); + mainw->img_concat_clip = mainw->current_file; } else if (prefs->concat_images) { // insert this image into our image clip, close this file - com=lives_strdup_printf("%s insert \"%s\" \"%s\" %d 1 1 \"%s\" 0 %d %d %d",prefs->backend, - mainw->files[mainw->img_concat_clip]->handle, - get_image_ext_for_type(mainw->files[mainw->img_concat_clip]->img_type), - mainw->files[mainw->img_concat_clip]->frames, - cfile->handle,mainw->files[mainw->img_concat_clip]->frames, - mainw->files[mainw->img_concat_clip]->hsize,mainw->files[mainw->img_concat_clip]->vsize); + com = lives_strdup_printf("%s insert \"%s\" \"%s\" %d 1 1 \"%s\" 0 %d %d %d", prefs->backend, + mainw->files[mainw->img_concat_clip]->handle, + get_image_ext_for_type(mainw->files[mainw->img_concat_clip]->img_type), + mainw->files[mainw->img_concat_clip]->frames, + cfile->handle, mainw->files[mainw->img_concat_clip]->frames, + mainw->files[mainw->img_concat_clip]->hsize, mainw->files[mainw->img_concat_clip]->vsize); - mainw->current_file=mainw->img_concat_clip; + mainw->current_file = mainw->img_concat_clip; lives_rm(cfile->info_file); - mainw->cancelled=CANCEL_NONE; - mainw->error=FALSE; - mainw->com_failed=FALSE; + mainw->cancelled = CANCEL_NONE; + mainw->error = FALSE; + mainw->com_failed = FALSE; - lives_system(com,FALSE); + lives_system(com, FALSE); lives_free(com); - do_auto_dialog(_("Adding image..."),2); + do_auto_dialog(_("Adding image..."), 2); - if (current_file!=mainw->img_concat_clip) { - mainw->current_file=current_file; + if (current_file != mainw->img_concat_clip) { + mainw->current_file = current_file; close_current_file(mainw->img_concat_clip); } - if (mainw->cancelled||mainw->error) { + if (mainw->cancelled || mainw->error) { goto load_done; } cfile->frames++; cfile->end++; - lives_signal_handler_block(mainw->spinbutton_end,mainw->spin_end_func); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->spinbutton_end),cfile->frames==0?0:1,cfile->frames); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end),cfile->end); - lives_signal_handler_unblock(mainw->spinbutton_end,mainw->spin_end_func); - - lives_signal_handler_block(mainw->spinbutton_start,mainw->spin_start_func); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->spinbutton_start),cfile->frames==0?0:1,cfile->frames); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start),cfile->start); - lives_signal_handler_unblock(mainw->spinbutton_start,mainw->spin_start_func); - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); - mainw->noswitch=FALSE; + lives_signal_handler_block(mainw->spinbutton_end, mainw->spin_end_func); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->spinbutton_end), cfile->frames == 0 ? 0 : 1, cfile->frames); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end), cfile->end); + lives_signal_handler_unblock(mainw->spinbutton_end, mainw->spin_end_func); + + lives_signal_handler_block(mainw->spinbutton_start, mainw->spin_start_func); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->spinbutton_start), cfile->frames == 0 ? 0 : 1, cfile->frames); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start), cfile->start); + lives_signal_handler_unblock(mainw->spinbutton_start, mainw->spin_start_func); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); + mainw->noswitch = FALSE; return 0; } @@ -989,30 +989,30 @@ // set new style file details if (!save_clip_values(current_file)) { close_current_file(old_file); - mainw->noswitch=FALSE; + mainw->noswitch = FALSE; return 0; } if (prefs->crash_recovery) add_to_recovery_file(cfile->handle); load_done: - mainw->noswitch=FALSE; + mainw->noswitch = FALSE; - if (mainw->multitrack==NULL) { + if (mainw->multitrack == NULL) { // update widgets - switch_to_file((mainw->current_file=0),current_file); + switch_to_file((mainw->current_file = 0), current_file); } else { - lives_mt *multi=mainw->multitrack; - mainw->multitrack=NULL; // allow getting of afilesize + lives_mt *multi = mainw->multitrack; + mainw->multitrack = NULL; // allow getting of afilesize reget_afilesize(mainw->current_file); - mainw->multitrack=multi; + mainw->multitrack = multi; get_total_time(cfile); - if (!mainw->is_generating) mainw->current_file=mainw->multitrack->render_file; - mt_init_clips(mainw->multitrack,current_file,TRUE); + if (!mainw->is_generating) mainw->current_file = mainw->multitrack->render_file; + mt_init_clips(mainw->multitrack, current_file, TRUE); lives_widget_context_update(); - mt_clip_select(mainw->multitrack,TRUE); + mt_clip_select(mainw->multitrack, TRUE); } - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); return cfile->unique_id; } @@ -1020,37 +1020,37 @@ static void save_subs_to_file(lives_clip_t *sfile, char *fname) { char *ext; - lives_subtitle_type_t otype,itype; + lives_subtitle_type_t otype, itype; - if (sfile->subt==NULL) return; + if (sfile->subt == NULL) return; - itype=sfile->subt->type; + itype = sfile->subt->type; - ext=get_extension(fname); + ext = get_extension(fname); - if (!strcmp(ext,LIVES_FILE_EXT_SUB)) otype=SUBTITLE_TYPE_SUB; - else if (!strcmp(ext,LIVES_FILE_EXT_SRT)) otype=SUBTITLE_TYPE_SRT; - else otype=itype; + if (!strcmp(ext, LIVES_FILE_EXT_SUB)) otype = SUBTITLE_TYPE_SUB; + else if (!strcmp(ext, LIVES_FILE_EXT_SRT)) otype = SUBTITLE_TYPE_SRT; + else otype = itype; lives_free(ext); // TODO - use sfile->subt->save_fn switch (otype) { case SUBTITLE_TYPE_SUB: - save_sub_subtitles(sfile,(double)(sfile->start-1)/sfile->fps,(double)sfile->end/sfile->fps, - (double)(sfile->start-1)/sfile->fps,fname); + save_sub_subtitles(sfile, (double)(sfile->start - 1) / sfile->fps, (double)sfile->end / sfile->fps, + (double)(sfile->start - 1) / sfile->fps, fname); break; case SUBTITLE_TYPE_SRT: - save_srt_subtitles(sfile,(double)(sfile->start-1)/sfile->fps,(double)sfile->end/sfile->fps, - (double)(sfile->start-1)/sfile->fps,fname); + save_srt_subtitles(sfile, (double)(sfile->start - 1) / sfile->fps, (double)sfile->end / sfile->fps, + (double)(sfile->start - 1) / sfile->fps, fname); break; default: return; } - d_print(_("Subtitles were saved as %s\n"),mainw->subt_save_file); + d_print(_("Subtitles were saved as %s\n"), mainw->subt_save_file); } @@ -1070,46 +1070,46 @@ boolean timeout; do { - retval=0; - timeout=FALSE; + retval = 0; + timeout = FALSE; clear_mainw_msg(); - alarm_handle=lives_alarm_set(LIVES_DEFAULT_TIMEOUT); + alarm_handle = lives_alarm_set(LIVES_DEFAULT_TIMEOUT); - while (!((infofile=fopen(mainw->first_info_file,"r"))&&!(timeout=lives_alarm_get(alarm_handle)))) { + while (!((infofile = fopen(mainw->first_info_file, "r")) && !(timeout = lives_alarm_get(alarm_handle)))) { lives_usleep(prefs->sleep_time); } lives_alarm_clear(alarm_handle); if (!timeout) { - mainw->read_failed=FALSE; - lives_fgets(mainw->msg,256,infofile); + mainw->read_failed = FALSE; + lives_fgets(mainw->msg, 256, infofile); fclose(infofile); } if (timeout || mainw->read_failed) { - retval=do_read_failed_error_s_with_retry(mainw->first_info_file,NULL,NULL); + retval = do_read_failed_error_s_with_retry(mainw->first_info_file, NULL, NULL); } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); - if (retval==LIVES_RESPONSE_CANCEL) { - mainw->read_failed=FALSE; + if (retval == LIVES_RESPONSE_CANCEL) { + mainw->read_failed = FALSE; return FALSE; } lives_rm(mainw->first_info_file); - if (!strncmp(mainw->msg,"error|",6)) { + if (!strncmp(mainw->msg, "error|", 6)) { handle_backend_errors(); return FALSE; } - if (mainw->files[index]==NULL) { - mainw->files[index]=(lives_clip_t *)(lives_malloc(sizeof(lives_clip_t))); - mainw->files[index]->clip_type=CLIP_TYPE_DISK; // the default + if (mainw->files[index] == NULL) { + mainw->files[index] = (lives_clip_t *)(lives_malloc(sizeof(lives_clip_t))); + mainw->files[index]->clip_type = CLIP_TYPE_DISK; // the default } - lives_snprintf(mainw->files[index]->handle,256,"%s",mainw->msg); + lives_snprintf(mainw->files[index]->handle, 256, "%s", mainw->msg); return TRUE; } @@ -1122,38 +1122,38 @@ // save a single frame from a clip char *filt[2]; char *ttl; - char *filename,*defname; + char *filename, *defname; - filt[0]=lives_strdup_printf("*.%s",get_image_ext_for_type(cfile->img_type)); - filt[1]=NULL; + filt[0] = lives_strdup_printf("*.%s", get_image_ext_for_type(cfile->img_type)); + filt[1] = NULL; - frame=LIVES_POINTER_TO_INT(user_data); + frame = LIVES_POINTER_TO_INT(user_data); - if (frame>0) - ttl=lives_strdup_printf(_("Save Frame %d"),frame); + if (frame > 0) + ttl = lives_strdup_printf(_("Save Frame %d"), frame); else - ttl=lives_strdup(_("Save Frame")); + ttl = lives_strdup(_("Save Frame")); - defname=lives_strdup_printf("frame%08d.%s",frame,get_image_ext_for_type(cfile->img_type)); + defname = lives_strdup_printf("frame%08d.%s", frame, get_image_ext_for_type(cfile->img_type)); - filename=choose_file(strlen(mainw->image_dir)?mainw->image_dir:NULL,defname,filt,LIVES_FILE_CHOOSER_ACTION_SAVE,ttl,NULL); + filename = choose_file(strlen(mainw->image_dir) ? mainw->image_dir : NULL, defname, filt, LIVES_FILE_CHOOSER_ACTION_SAVE, ttl, NULL); lives_free(defname); lives_free(filt[0]); lives_free(ttl); - if (filename==NULL||!strlen(filename)) return; + if (filename == NULL || !strlen(filename)) return; - if (!save_frame_inner(mainw->current_file,frame,filename,-1,-1,FALSE)) return; + if (!save_frame_inner(mainw->current_file, frame, filename, -1, -1, FALSE)) return; - lives_snprintf(mainw->image_dir,PATH_MAX,"%s",filename); + lives_snprintf(mainw->image_dir, PATH_MAX, "%s", filename); get_dirname(mainw->image_dir); if (prefs->save_directories) { - set_pref_utf8(PREF_IMAGE_DIR,mainw->image_dir); + set_pref_utf8(PREF_IMAGE_DIR, mainw->image_dir); } } @@ -1164,14 +1164,14 @@ // save the logfile in workdir #ifndef IS_MINGW - char *logfile=lives_strdup_printf("%s/%s_%d_%d.txt",prefs->workdir,prefix,lives_getuid(),lives_getgid()); - if ((logfd=creat(logfile,S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH))!=-1) { + char *logfile = lives_strdup_printf("%s/%s_%d_%d.txt", prefs->workdir, prefix, lives_getuid(), lives_getgid()); + if ((logfd = creat(logfile, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH)) != -1) { #else - char *logfile=lives_strdup_printf("%s\\%s_%d_%d.txt",prefs->workdir,prefix,lives_getuid(),lives_getgid()); - if ((logfd=creat(logfile,S_IRUSR|S_IWUSR))!=-1) { + char *logfile = lives_strdup_printf("%s\\%s_%d_%d.txt", prefs->workdir, prefix, lives_getuid(), lives_getgid()); + if ((logfd = creat(logfile, S_IRUSR | S_IWUSR)) != -1) { #endif - char *btext=lives_text_view_get_text(mainw->optextview); - lives_write(logfd,btext,strlen(btext),TRUE); // not really important if it fails + char *btext = lives_text_view_get_text(mainw->optextview); + lives_write(logfd, btext, strlen(btext), TRUE); // not really important if it fails lives_free(btext); close(logfd); } @@ -1183,31 +1183,31 @@ void save_file(int clip, int start, int end, const char *filename) { // save clip from frame start to frame end - lives_clip_t *sfile=mainw->files[clip],*nfile=NULL; + lives_clip_t *sfile = mainw->files[clip], *nfile = NULL; - double aud_start=0.,aud_end=0.; + double aud_start = 0., aud_end = 0.; const char *n_file_name; char *fps_string; - char *extra_params=NULL; - char *redir=lives_strdup("1>&2 2>"LIVES_DEVNULL); - char *new_stderr_name=NULL; - char *mesg,*bit,*tmp; + char *extra_params = NULL; + char *redir = lives_strdup("1>&2 2>"LIVES_DEVNULL); + char *new_stderr_name = NULL; + char *mesg, *bit, *tmp; char *com; - char *full_file_name=NULL; - char *enc_exec_name,*cmd; + char *full_file_name = NULL; + char *enc_exec_name, *cmd; - int new_stderr=-1; + int new_stderr = -1; int retval; - int startframe=1; - int current_file=mainw->current_file; - int asigned=!(sfile->signed_endian&AFORM_UNSIGNED); // 1 is signed (in backend) - int aendian=(sfile->signed_endian&AFORM_BIG_ENDIAN); // 2 is bigend + int startframe = 1; + int current_file = mainw->current_file; + int asigned = !(sfile->signed_endian & AFORM_UNSIGNED); // 1 is signed (in backend) + int aendian = (sfile->signed_endian & AFORM_BIG_ENDIAN); // 2 is bigend int arate; - int new_file=-1; + int new_file = -1; #ifdef GUI_GTK - GError *gerr=NULL; + GError *gerr = NULL; #endif struct stat filestat; @@ -1216,28 +1216,28 @@ LiVESWidget *hbox; - boolean safe_symlinks=prefs->safe_symlinks; + boolean safe_symlinks = prefs->safe_symlinks; boolean not_cancelled; - boolean output_exists=FALSE; - boolean save_all=FALSE; + boolean output_exists = FALSE; + boolean save_all = FALSE; boolean resb; - if (start==1&&end==sfile->frames) save_all=TRUE; + if (start == 1 && end == sfile->frames) save_all = TRUE; // new handling for save selection: // symlink images 1 - n to the encoded frames // symlinks are now created in /tmp (for dynebolic) // then encode the symlinked frames - if (filename==NULL) { + if (filename == NULL) { // prompt for encoder type/output format if (prefs->show_rdet) { int response; - rdet=create_render_details(1); // WARNING !! - rdet is global in events.h - response=lives_dialog_run(LIVES_DIALOG(rdet->dialog)); + rdet = create_render_details(1); // WARNING !! - rdet is global in events.h + response = lives_dialog_run(LIVES_DIALOG(rdet->dialog)); lives_widget_hide(rdet->dialog); - if (response==LIVES_RESPONSE_CANCEL) { + if (response == LIVES_RESPONSE_CANCEL) { lives_widget_destroy(rdet->dialog); lives_free(rdet->encoder_name); lives_freep((void **)&rdet); @@ -1248,55 +1248,55 @@ } // get file extension - check_encoder_restrictions(TRUE,FALSE,save_all); + check_encoder_restrictions(TRUE, FALSE, save_all); hbox = lives_hbox_new(FALSE, 0); - mainw->fx1_bool=TRUE; - add_suffix_check(LIVES_BOX(hbox),prefs->encoder.of_def_ext); + mainw->fx1_bool = TRUE; + add_suffix_check(LIVES_BOX(hbox), prefs->encoder.of_def_ext); lives_widget_show_all(hbox); - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_fg_color(hbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); lives_widget_set_bg_color(hbox, LIVES_WIDGET_STATE_NORMAL, &palette->normal_back); } - if (filename==NULL) { - char *ttl=lives_strdup(_("Save Clip")); + if (filename == NULL) { + char *ttl = lives_strdup(_("Save Clip")); do { - n_file_name=choose_file(mainw->vid_save_dir,NULL,NULL,LIVES_FILE_CHOOSER_ACTION_SAVE,ttl,hbox); - if (n_file_name==NULL) return; + n_file_name = choose_file(mainw->vid_save_dir, NULL, NULL, LIVES_FILE_CHOOSER_ACTION_SAVE, ttl, hbox); + if (n_file_name == NULL) return; } while (!strlen(n_file_name)); - lives_snprintf(mainw->vid_save_dir,PATH_MAX,"%s",n_file_name); + lives_snprintf(mainw->vid_save_dir, PATH_MAX, "%s", n_file_name); get_dirname(mainw->vid_save_dir); if (prefs->save_directories) { - set_pref_utf8(PREF_VID_SAVE_DIR,mainw->vid_save_dir); + set_pref_utf8(PREF_VID_SAVE_DIR, mainw->vid_save_dir); } lives_free(ttl); - } else n_file_name=filename; + } else n_file_name = filename; //append default extension (if necessary) if (!strlen(prefs->encoder.of_def_ext)) { // encoder adds its own extension - if (strrchr(n_file_name,'.')!=NULL) { - memset((void *)strrchr(n_file_name,'.'),0,1); + if (strrchr(n_file_name, '.') != NULL) { + memset((void *)strrchr(n_file_name, '.'), 0, 1); } } else { - if (mainw->fx1_bool&&(strlen(n_file_name)<=strlen(prefs->encoder.of_def_ext)|| - strncmp(n_file_name+strlen(n_file_name)-strlen(prefs->encoder.of_def_ext)-1,".",1)|| - strcmp(n_file_name+strlen(n_file_name)-strlen(prefs->encoder.of_def_ext), - prefs->encoder.of_def_ext))) { - full_file_name=lives_strconcat(n_file_name,".",prefs->encoder.of_def_ext,NULL); + if (mainw->fx1_bool && (strlen(n_file_name) <= strlen(prefs->encoder.of_def_ext) || + strncmp(n_file_name + strlen(n_file_name) - strlen(prefs->encoder.of_def_ext) - 1, ".", 1) || + strcmp(n_file_name + strlen(n_file_name) - strlen(prefs->encoder.of_def_ext), + prefs->encoder.of_def_ext))) { + full_file_name = lives_strconcat(n_file_name, ".", prefs->encoder.of_def_ext, NULL); } } - if (full_file_name==NULL) { - full_file_name=lives_strdup(n_file_name); + if (full_file_name == NULL) { + full_file_name = lives_strdup(n_file_name); } - if (filename==NULL) { - if (!check_file(full_file_name,strcmp(full_file_name,n_file_name))) { + if (filename == NULL) { + if (!check_file(full_file_name, strcmp(full_file_name, n_file_name))) { lives_free(full_file_name); - if (rdet!=NULL) { + if (rdet != NULL) { lives_widget_destroy(rdet->dialog); lives_free(rdet->encoder_name); lives_freep((void **)&rdet); @@ -1304,13 +1304,13 @@ } return; } - sfile->orig_file_name=FALSE; + sfile->orig_file_name = FALSE; if (!strlen(sfile->comment)) { - lives_snprintf(sfile->comment,251,"Created with LiVES"); + lives_snprintf(sfile->comment, 251, "Created with LiVES"); } - if (!do_comments_dialog(clip,full_file_name)) { + if (!do_comments_dialog(clip, full_file_name)) { lives_free(full_file_name); - if (rdet!=NULL) { + if (rdet != NULL) { lives_widget_destroy(rdet->dialog); lives_free(rdet->encoder_name); lives_freep((void **)&rdet); @@ -1319,14 +1319,14 @@ lives_freep((void **)&mainw->subt_save_file); return; } - } else if (!mainw->osc_auto&&sfile->orig_file_name) { - char *warn=lives_strdup( - _("Saving your video could lead to a loss of quality !\nYou are strongly advised to 'Save As' to a new file.\n" - "\nDo you still wish to continue ?")); - if (!do_yesno_dialog_with_check(warn,WARN_MASK_SAVE_QUALITY)) { + } else if (!mainw->osc_auto && sfile->orig_file_name) { + char *warn = lives_strdup( + _("Saving your video could lead to a loss of quality !\nYou are strongly advised to 'Save As' to a new file.\n" + "\nDo you still wish to continue ?")); + if (!do_yesno_dialog_with_check(warn, WARN_MASK_SAVE_QUALITY)) { lives_free(warn); lives_free(full_file_name); - if (rdet!=NULL) { + if (rdet != NULL) { lives_widget_destroy(rdet->dialog); lives_free(rdet->encoder_name); lives_freep((void **)&rdet); @@ -1339,7 +1339,7 @@ } - if (rdet!=NULL) { + if (rdet != NULL) { lives_widget_destroy(rdet->dialog); lives_freep((void **)&rdet->encoder_name); lives_freep((void **)&rdet); @@ -1347,41 +1347,41 @@ } - if (sfile->arate*sfile->achans) { - aud_start=calc_time_from_frame(clip,start)*sfile->arps/sfile->arate; - aud_end=calc_time_from_frame(clip,end+1)*sfile->arps/sfile->arate; + if (sfile->arate * sfile->achans) { + aud_start = calc_time_from_frame(clip, start) * sfile->arps / sfile->arate; + aud_end = calc_time_from_frame(clip, end + 1) * sfile->arps / sfile->arate; } // get extra params for encoder if (!sfile->ratio_fps) { - fps_string=lives_strdup_printf("%.3f",sfile->fps); + fps_string = lives_strdup_printf("%.3f", sfile->fps); } else { - fps_string=lives_strdup_printf("%.8f",sfile->fps); + fps_string = lives_strdup_printf("%.8f", sfile->fps); } - enc_exec_name=lives_build_filename(prefs->lib_dir,PLUGIN_EXEC_DIR,PLUGIN_ENCODERS,prefs->encoder.name,NULL); + enc_exec_name = lives_build_filename(prefs->lib_dir, PLUGIN_EXEC_DIR, PLUGIN_ENCODERS, prefs->encoder.name, NULL); #ifdef IS_MINGW //cmd=lives_strdup_printf("START perl "); // real windows : does encode but no redir - cmd=lives_strdup("perl "); // mingw : does encode, but no redirection + cmd = lives_strdup("perl "); // mingw : does encode, but no redirection #else - cmd=lives_strdup(""); + cmd = lives_strdup(""); #endif - arate=sfile->arate; + arate = sfile->arate; - if (!mainw->save_with_sound||prefs->encoder.of_allowed_acodecs==0) { - arate=0; + if (!mainw->save_with_sound || prefs->encoder.of_allowed_acodecs == 0) { + arate = 0; } // get extra parameters for saving - if (prefs->encoder.capabilities&HAS_RFX) { + if (prefs->encoder.capabilities & HAS_RFX) { // pull at least one frame so we know the file ext - if (sfile->clip_type==CLIP_TYPE_FILE) { - resb=virtual_to_images(clip,start,end,TRUE,NULL); + if (sfile->clip_type == CLIP_TYPE_FILE) { + resb = virtual_to_images(clip, start, end, TRUE, NULL); if (!resb) { lives_freep((void **)&mainw->subt_save_file); @@ -1390,121 +1390,121 @@ } } - if (prefs->encoder.capabilities&ENCODER_NON_NATIVE) { - com=lives_strdup_printf("%s save get_rfx %s \"%s\" %s \"%s\" %d %d %d %d %d %d %.4f %.4f",prefs->backend, - sfile->handle,enc_exec_name, - fps_string,(tmp=lives_filename_from_utf8(full_file_name,-1,NULL,NULL,NULL)), - start,end,arate,sfile->achans,sfile->asampsize,asigned|aendian,aud_start,aud_end); + if (prefs->encoder.capabilities & ENCODER_NON_NATIVE) { + com = lives_strdup_printf("%s save get_rfx %s \"%s\" %s \"%s\" %d %d %d %d %d %d %.4f %.4f", prefs->backend, + sfile->handle, enc_exec_name, + fps_string, (tmp = lives_filename_from_utf8(full_file_name, -1, NULL, NULL, NULL)), + start, end, arate, sfile->achans, sfile->asampsize, asigned | aendian, aud_start, aud_end); lives_free(tmp); } else { - com=lives_strdup_printf("%s\"%s\" save get_rfx %s \"\" %s \"%s\" %d %d %d %d %d %d %.4f %.4f", - cmd, enc_exec_name,sfile->handle, - fps_string,(tmp=lives_filename_from_utf8(full_file_name,-1,NULL,NULL,NULL)), - start,end,arate,sfile->achans,sfile->asampsize,asigned|aendian,aud_start,aud_end); + com = lives_strdup_printf("%s\"%s\" save get_rfx %s \"\" %s \"%s\" %d %d %d %d %d %d %.4f %.4f", + cmd, enc_exec_name, sfile->handle, + fps_string, (tmp = lives_filename_from_utf8(full_file_name, -1, NULL, NULL, NULL)), + start, end, arate, sfile->achans, sfile->asampsize, asigned | aendian, aud_start, aud_end); lives_free(tmp); } - extra_params=plugin_run_param_window(com,NULL,NULL); + extra_params = plugin_run_param_window(com, NULL, NULL); lives_free(com); - if (extra_params==NULL) { - if (fx_dialog[1]!=NULL) { + if (extra_params == NULL) { + if (fx_dialog[1] != NULL) { lives_widget_destroy(fx_dialog[1]); - fx_dialog[1]=NULL; + fx_dialog[1] = NULL; } lives_free(fps_string); - switch_to_file(mainw->current_file,current_file); + switch_to_file(mainw->current_file, current_file); lives_freep((void **)&mainw->subt_save_file); return; } } - if (!save_all&&!safe_symlinks) { + if (!save_all && !safe_symlinks) { // we are saving a selection - make symlinks from a temporary clip - if ((new_file=mainw->first_free_file)==-1) { + if ((new_file = mainw->first_free_file) == -1) { too_many_files(); lives_freep((void **)&mainw->subt_save_file); return; } // create new clip - if (!get_new_handle(new_file,lives_strdup(_("selection")))) { + if (!get_new_handle(new_file, lives_strdup(_("selection")))) { lives_freep((void **)&mainw->subt_save_file); return; } - if (sfile->clip_type==CLIP_TYPE_FILE) { - mainw->cancelled=CANCEL_NONE; - cfile->progress_start=1; - cfile->progress_end=count_virtual_frames(sfile->frame_index,start,end); - do_threaded_dialog(_("Pulling frames from clip"),TRUE); - resb=virtual_to_images(clip,start,end,TRUE,NULL); + if (sfile->clip_type == CLIP_TYPE_FILE) { + mainw->cancelled = CANCEL_NONE; + cfile->progress_start = 1; + cfile->progress_end = count_virtual_frames(sfile->frame_index, start, end); + do_threaded_dialog(_("Pulling frames from clip"), TRUE); + resb = virtual_to_images(clip, start, end, TRUE, NULL); end_threaded_dialog(); - if (mainw->cancelled!=CANCEL_NONE||!resb) { - mainw->cancelled=CANCEL_USER; + if (mainw->cancelled != CANCEL_NONE || !resb) { + mainw->cancelled = CANCEL_USER; lives_freep((void **)&mainw->subt_save_file); if (!resb) d_print_file_error_failed(); return; } } - mainw->effects_paused=FALSE; + mainw->effects_paused = FALSE; - nfile=mainw->files[new_file]; - nfile->hsize=sfile->hsize; - nfile->vsize=sfile->vsize; - cfile->progress_start=nfile->start=1; - cfile->progress_end=nfile->frames=nfile->end=end-start+1; - nfile->fps=sfile->fps; - nfile->arps=sfile->arps; - nfile->arate=sfile->arate; - nfile->achans=sfile->achans; - nfile->asampsize=sfile->asampsize; - nfile->signed_endian=sfile->signed_endian; - nfile->img_type=sfile->img_type; - - com=lives_strdup_printf("%s link_frames \"%s\" %d %d %.8f %.8f %d %d %d %d %d \"%s\"",prefs->backend,nfile->handle, - start,end,aud_start,aud_end,nfile->arate,nfile->achans,nfile->asampsize, - !(nfile->signed_endian&AFORM_UNSIGNED),!(nfile->signed_endian&AFORM_BIG_ENDIAN),sfile->handle); + nfile = mainw->files[new_file]; + nfile->hsize = sfile->hsize; + nfile->vsize = sfile->vsize; + cfile->progress_start = nfile->start = 1; + cfile->progress_end = nfile->frames = nfile->end = end - start + 1; + nfile->fps = sfile->fps; + nfile->arps = sfile->arps; + nfile->arate = sfile->arate; + nfile->achans = sfile->achans; + nfile->asampsize = sfile->asampsize; + nfile->signed_endian = sfile->signed_endian; + nfile->img_type = sfile->img_type; + + com = lives_strdup_printf("%s link_frames \"%s\" %d %d %.8f %.8f %d %d %d %d %d \"%s\"", prefs->backend, nfile->handle, + start, end, aud_start, aud_end, nfile->arate, nfile->achans, nfile->asampsize, + !(nfile->signed_endian & AFORM_UNSIGNED), !(nfile->signed_endian & AFORM_BIG_ENDIAN), sfile->handle); lives_rm(nfile->info_file); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); // TODO - eliminate this - mainw->current_file=new_file; + mainw->current_file = new_file; if (mainw->com_failed) { #ifdef IS_MINGW // kill any active processes: for other OSes the backend does this - lives_kill_subprocesses(cfile->handle,TRUE); + lives_kill_subprocesses(cfile->handle, TRUE); #endif - lives_system(lives_strdup_printf("%s close \"%s\"",prefs->backend,cfile->handle),TRUE); + lives_system(lives_strdup_printf("%s close \"%s\"", prefs->backend, cfile->handle), TRUE); lives_freep((void **)&cfile); - if (mainw->first_free_file==-1||mainw->first_free_file>new_file) - mainw->first_free_file=new_file; - switch_to_file(mainw->current_file,current_file); + if (mainw->first_free_file == -1 || mainw->first_free_file > new_file) + mainw->first_free_file = new_file; + switch_to_file(mainw->current_file, current_file); d_print_cancelled(); lives_freep((void **)&mainw->subt_save_file); return; } - cfile->nopreview=TRUE; - if (!(do_progress_dialog(TRUE,TRUE,_("Linking selection")))) { + cfile->nopreview = TRUE; + if (!(do_progress_dialog(TRUE, TRUE, _("Linking selection")))) { #ifdef IS_MINGW // kill any active processes: for other OSes the backend does this - lives_kill_subprocesses(cfile->handle,TRUE); + lives_kill_subprocesses(cfile->handle, TRUE); #endif - lives_system((tmp=lives_strdup_printf("%s close \"%s\"",prefs->backend,cfile->handle)),TRUE); + lives_system((tmp = lives_strdup_printf("%s close \"%s\"", prefs->backend, cfile->handle)), TRUE); lives_free(tmp); lives_freep((void **)&cfile); - if (mainw->first_free_file==-1||mainw->first_free_file>new_file) - mainw->first_free_file=new_file; - switch_to_file(mainw->current_file,current_file); + if (mainw->first_free_file == -1 || mainw->first_free_file > new_file) + mainw->first_free_file = new_file; + switch_to_file(mainw->current_file, current_file); if (mainw->error) d_print_failed(); else d_print_cancelled(); lives_freep((void **)&mainw->subt_save_file); @@ -1514,100 +1514,100 @@ // cfile->arate, etc., would have been reset by calls to do_progress_dialog() which calls get_total_time() [since cfile->afilesize==0] // so we need to set these again now that link_frames has provided an actual audio clip - nfile->arps=sfile->arps; - nfile->arate=sfile->arate; - nfile->achans=sfile->achans; - nfile->asampsize=sfile->asampsize; - nfile->signed_endian=sfile->signed_endian; + nfile->arps = sfile->arps; + nfile->arate = sfile->arate; + nfile->achans = sfile->achans; + nfile->asampsize = sfile->asampsize; + nfile->signed_endian = sfile->signed_endian; reget_afilesize(new_file); - aud_start=calc_time_from_frame(new_file,1)*nfile->arps/nfile->arate; - aud_end=calc_time_from_frame(new_file,nfile->frames+1)*nfile->arps/nfile->arate; - cfile->nopreview=FALSE; + aud_start = calc_time_from_frame(new_file, 1) * nfile->arps / nfile->arate; + aud_end = calc_time_from_frame(new_file, nfile->frames + 1) * nfile->arps / nfile->arate; + cfile->nopreview = FALSE; - } else mainw->current_file=clip; // for encoder restns + } else mainw->current_file = clip; // for encoder restns - if (rdet!=NULL) rdet->is_encoding=TRUE; + if (rdet != NULL) rdet->is_encoding = TRUE; - if (!check_encoder_restrictions(FALSE,FALSE,save_all)) { - if (!save_all&&!safe_symlinks) { + if (!check_encoder_restrictions(FALSE, FALSE, save_all)) { + if (!save_all && !safe_symlinks) { #ifdef IS_MINGW - lives_kill_subprocesses(nfile->handle,TRUE); + lives_kill_subprocesses(nfile->handle, TRUE); #endif - lives_system((com=lives_strdup_printf("%s close \"%s\"",prefs->backend,nfile->handle)),TRUE); + lives_system((com = lives_strdup_printf("%s close \"%s\"", prefs->backend, nfile->handle)), TRUE); lives_free(com); lives_free(nfile); - mainw->files[new_file]=NULL; - if (mainw->first_free_file==-1||new_file) mainw->first_free_file=new_file; + mainw->files[new_file] = NULL; + if (mainw->first_free_file == -1 || new_file) mainw->first_free_file = new_file; } - switch_to_file(mainw->current_file,current_file); + switch_to_file(mainw->current_file, current_file); d_print_cancelled(); lives_freep((void **)&mainw->subt_save_file); return; } - if (!save_all&&safe_symlinks) { - int xarps,xarate,xachans,xasamps,xasigned_endian; + if (!save_all && safe_symlinks) { + int xarps, xarate, xachans, xasamps, xasigned_endian; // we are saving a selection - make symlinks in /tmp - startframe=-1; + startframe = -1; - if (sfile->clip_type==CLIP_TYPE_FILE) { - mainw->cancelled=CANCEL_NONE; - cfile->progress_start=1; - cfile->progress_end=count_virtual_frames(sfile->frame_index,start,end); + if (sfile->clip_type == CLIP_TYPE_FILE) { + mainw->cancelled = CANCEL_NONE; + cfile->progress_start = 1; + cfile->progress_end = count_virtual_frames(sfile->frame_index, start, end); - do_threaded_dialog(_("Pulling frames from clip"),TRUE); - resb=virtual_to_images(clip,start,end,TRUE,NULL); + do_threaded_dialog(_("Pulling frames from clip"), TRUE); + resb = virtual_to_images(clip, start, end, TRUE, NULL); end_threaded_dialog(); - if (mainw->cancelled!=CANCEL_NONE||!resb) { - mainw->cancelled=CANCEL_USER; + if (mainw->cancelled != CANCEL_NONE || !resb) { + mainw->cancelled = CANCEL_USER; lives_freep((void **)&mainw->subt_save_file); if (!resb) d_print_file_error_failed(); return; } } - com=lives_strdup_printf("%s link_frames \"%s\" %d %d %.8f %.8f %d %d %d %d %d",prefs->backend,sfile->handle, - start,end,aud_start,aud_end,sfile->arate,sfile->achans,sfile->asampsize, - !(sfile->signed_endian&AFORM_UNSIGNED),!(sfile->signed_endian&AFORM_BIG_ENDIAN)); + com = lives_strdup_printf("%s link_frames \"%s\" %d %d %.8f %.8f %d %d %d %d %d", prefs->backend, sfile->handle, + start, end, aud_start, aud_end, sfile->arate, sfile->achans, sfile->asampsize, + !(sfile->signed_endian & AFORM_UNSIGNED), !(sfile->signed_endian & AFORM_BIG_ENDIAN)); lives_rm(sfile->info_file); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); - mainw->current_file=clip; + mainw->current_file = clip; - xarps=sfile->arps; - xarate=sfile->arate; - xachans=sfile->achans; - xasamps=sfile->asampsize; - xasigned_endian=sfile->signed_endian; + xarps = sfile->arps; + xarate = sfile->arate; + xachans = sfile->achans; + xasamps = sfile->asampsize; + xasigned_endian = sfile->signed_endian; if (mainw->com_failed) { - com=lives_strdup_printf("%s clear_symlinks \"%s\"",prefs->backend_sync,cfile->handle); - lives_system(com,TRUE); + com = lives_strdup_printf("%s clear_symlinks \"%s\"", prefs->backend_sync, cfile->handle); + lives_system(com, TRUE); lives_free(com); - cfile->nopreview=FALSE; - switch_to_file(mainw->current_file,current_file); + cfile->nopreview = FALSE; + switch_to_file(mainw->current_file, current_file); d_print_cancelled(); lives_freep((void **)&mainw->subt_save_file); return; } - cfile->nopreview=TRUE; - if (!(do_progress_dialog(TRUE,TRUE,_("Linking selection")))) { - com=lives_strdup_printf("%s clear_symlinks \"%s\"",prefs->backend_sync,cfile->handle); - lives_system(com,TRUE); + cfile->nopreview = TRUE; + if (!(do_progress_dialog(TRUE, TRUE, _("Linking selection")))) { + com = lives_strdup_printf("%s clear_symlinks \"%s\"", prefs->backend_sync, cfile->handle); + lives_system(com, TRUE); lives_free(com); - cfile->nopreview=FALSE; - switch_to_file(mainw->current_file,current_file); + cfile->nopreview = FALSE; + switch_to_file(mainw->current_file, current_file); if (mainw->error) d_print_failed(); else d_print_cancelled(); lives_freep((void **)&mainw->subt_save_file); @@ -1617,87 +1617,87 @@ // cfile->arate, etc., would have been reset by calls to do_progress_dialog() which calls get_total_time() [since cfile->afilesize==0] // so we need to set these again now that link_frames has provided an actual audio clip - sfile->arps=xarps; - sfile->arate=xarate; - sfile->achans=xachans; - sfile->asampsize=xasamps; - sfile->signed_endian=xasigned_endian; + sfile->arps = xarps; + sfile->arate = xarate; + sfile->achans = xachans; + sfile->asampsize = xasamps; + sfile->signed_endian = xasigned_endian; reget_afilesize(clip); - aud_start=calc_time_from_frame(clip,1)*sfile->arps/sfile->arate; - aud_end=calc_time_from_frame(clip,end-start+1)*sfile->arps/sfile->arate; - cfile->nopreview=FALSE; + aud_start = calc_time_from_frame(clip, 1) * sfile->arps / sfile->arate; + aud_end = calc_time_from_frame(clip, end - start + 1) * sfile->arps / sfile->arate; + cfile->nopreview = FALSE; } if (save_all) { - if (sfile->clip_type==CLIP_TYPE_FILE) { - mainw->cancelled=CANCEL_NONE; - cfile->progress_start=1; - cfile->progress_end=count_virtual_frames(sfile->frame_index,1,sfile->frames); - do_threaded_dialog(_("Pulling frames from clip"),TRUE); - resb=virtual_to_images(clip,1,sfile->frames,TRUE,NULL); + if (sfile->clip_type == CLIP_TYPE_FILE) { + mainw->cancelled = CANCEL_NONE; + cfile->progress_start = 1; + cfile->progress_end = count_virtual_frames(sfile->frame_index, 1, sfile->frames); + do_threaded_dialog(_("Pulling frames from clip"), TRUE); + resb = virtual_to_images(clip, 1, sfile->frames, TRUE, NULL); end_threaded_dialog(); - if (mainw->cancelled!=CANCEL_NONE||!resb) { - mainw->cancelled=CANCEL_USER; + if (mainw->cancelled != CANCEL_NONE || !resb) { + mainw->cancelled = CANCEL_USER; lives_freep((void **)&mainw->subt_save_file); if (!resb) d_print_file_error_failed(); - switch_to_file(mainw->current_file,current_file); + switch_to_file(mainw->current_file, current_file); return; } } } - if (!mainw->save_with_sound||prefs->encoder.of_allowed_acodecs==0) { - bit=lives_strdup(_(" (with no sound)\n")); + if (!mainw->save_with_sound || prefs->encoder.of_allowed_acodecs == 0) { + bit = lives_strdup(_(" (with no sound)\n")); } else { - bit=lives_strdup("\n"); + bit = lives_strdup("\n"); } if (!save_all) { - mesg=lives_strdup_printf(_("Saving frames %d to %d%s as \"%s\" : encoder = %s : format = %s..."), - start,end,bit,full_file_name,prefs->encoder.name,prefs->encoder.of_desc); + mesg = lives_strdup_printf(_("Saving frames %d to %d%s as \"%s\" : encoder = %s : format = %s..."), + start, end, bit, full_file_name, prefs->encoder.name, prefs->encoder.of_desc); } // end selection else { - mesg=lives_strdup_printf(_("Saving frames 1 to %d%s as \"%s\" : encoder %s : format = %s..."), - sfile->frames,bit,full_file_name,prefs->encoder.name,prefs->encoder.of_desc); + mesg = lives_strdup_printf(_("Saving frames 1 to %d%s as \"%s\" : encoder %s : format = %s..."), + sfile->frames, bit, full_file_name, prefs->encoder.name, prefs->encoder.of_desc); } lives_free(bit); - mainw->no_switch_dprint=TRUE; + mainw->no_switch_dprint = TRUE; d_print(mesg); - mainw->no_switch_dprint=FALSE; + mainw->no_switch_dprint = FALSE; lives_free(mesg); if (prefs->show_gui) { // open a file for stderr - new_stderr_name=lives_build_filename(prefs->workdir,cfile->handle,LIVES_ENC_DEBUG_FILE_NAME,NULL); + new_stderr_name = lives_build_filename(prefs->workdir, cfile->handle, LIVES_ENC_DEBUG_FILE_NAME, NULL); lives_free(redir); do { - retval=0; - new_stderr=lives_open3(new_stderr_name,O_CREAT|O_RDONLY|O_TRUNC|O_SYNC,S_IRUSR|S_IWUSR); - if (new_stderr<0) { - retval=do_write_failed_error_s_with_retry(new_stderr_name,lives_strerror(errno),NULL); - if (retval==LIVES_RESPONSE_CANCEL) redir=lives_strdup("1>&2"); + retval = 0; + new_stderr = lives_open3(new_stderr_name, O_CREAT | O_RDONLY | O_TRUNC | O_SYNC, S_IRUSR | S_IWUSR); + if (new_stderr < 0) { + retval = do_write_failed_error_s_with_retry(new_stderr_name, lives_strerror(errno), NULL); + if (retval == LIVES_RESPONSE_CANCEL) redir = lives_strdup("1>&2"); } else { #ifdef IS_MINGW #ifdef GUI_GTK - mainw->iochan=g_io_channel_win32_new_fd(new_stderr); + mainw->iochan = g_io_channel_win32_new_fd(new_stderr); #endif - redir=lives_strdup_printf("2>&1 >\"%s\"",new_stderr_name); + redir = lives_strdup_printf("2>&1 >\"%s\"", new_stderr_name); #else #ifdef GUI_GTK - mainw->iochan=g_io_channel_unix_new(new_stderr); + mainw->iochan = g_io_channel_unix_new(new_stderr); #endif - redir=lives_strdup_printf("2>\"%s\"",new_stderr_name); + redir = lives_strdup_printf("2>\"%s\"", new_stderr_name); #endif #ifdef GUI_QT @@ -1707,20 +1707,20 @@ #ifdef GUI_GTK g_io_channel_set_encoding(mainw->iochan, NULL, NULL); - g_io_channel_set_buffer_size(mainw->iochan,0); - g_io_channel_set_flags(mainw->iochan,G_IO_FLAG_NONBLOCK,&gerr); - if (gerr!=NULL) lives_error_free(gerr); - gerr=NULL; + g_io_channel_set_buffer_size(mainw->iochan, 0); + g_io_channel_set_flags(mainw->iochan, G_IO_FLAG_NONBLOCK, &gerr); + if (gerr != NULL) lives_error_free(gerr); + gerr = NULL; #endif - mainw->optextview=create_output_textview(); + mainw->optextview = create_output_textview(); } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); } else { lives_free(redir); - redir=lives_strdup("1>&2"); + redir = lives_strdup("1>&2"); } - if (lives_file_test((tmp=lives_filename_from_utf8(full_file_name,-1,NULL,NULL,NULL)), LIVES_FILE_TEST_EXISTS)) { + if (lives_file_test((tmp = lives_filename_from_utf8(full_file_name, -1, NULL, NULL, NULL)), LIVES_FILE_TEST_EXISTS)) { lives_rm(tmp); } lives_free(tmp); @@ -1728,12 +1728,12 @@ // re-read values in case they were resampled - if (arate!=0) arate=cfile->arate; + if (arate != 0) arate = cfile->arate; if (!cfile->ratio_fps) { - fps_string=lives_strdup_printf("%.3f",cfile->fps); + fps_string = lives_strdup_printf("%.3f", cfile->fps); } else { - fps_string=lives_strdup_printf("%.8f",cfile->fps); + fps_string = lives_strdup_printf("%.8f", cfile->fps); } // if startframe is -ve, we will use the links created for safe_symlinks - in /tmp @@ -1741,20 +1741,20 @@ // for save_all, cfile will be sfile - if (prefs->encoder.capabilities&ENCODER_NON_NATIVE) { - com=lives_strdup_printf("%s save \"%s\" \"%s\" \"%s\" \"%s\" %d %d %d %d %d %d %.4f %.4f %s %s",prefs->backend, - cfile->handle, - enc_exec_name,fps_string,(tmp=lives_filename_from_utf8(full_file_name,-1,NULL,NULL,NULL)), - startframe,cfile->frames,arate,cfile->achans,cfile->asampsize, - asigned|aendian,aud_start,aud_end,(extra_params==NULL)?"":extra_params,redir); + if (prefs->encoder.capabilities & ENCODER_NON_NATIVE) { + com = lives_strdup_printf("%s save \"%s\" \"%s\" \"%s\" \"%s\" %d %d %d %d %d %d %.4f %.4f %s %s", prefs->backend, + cfile->handle, + enc_exec_name, fps_string, (tmp = lives_filename_from_utf8(full_file_name, -1, NULL, NULL, NULL)), + startframe, cfile->frames, arate, cfile->achans, cfile->asampsize, + asigned | aendian, aud_start, aud_end, (extra_params == NULL) ? "" : extra_params, redir); lives_free(tmp); } else { // for native (perl) plugins we go via the plugin - com=lives_strdup_printf("%s\"%s\" save \"%s\" \"%s\" \"%s\" \"%s\" %d %d %d %d %d %d %.4f %.4f %s %s", - cmd, enc_exec_name, cfile->handle, "", - fps_string,(tmp=lives_filename_from_utf8(full_file_name,-1,NULL,NULL,NULL)), - startframe,cfile->frames,arate,cfile->achans,cfile->asampsize, - asigned|aendian,aud_start,aud_end,(extra_params==NULL?"":extra_params),redir); + com = lives_strdup_printf("%s\"%s\" save \"%s\" \"%s\" \"%s\" \"%s\" %d %d %d %d %d %d %.4f %.4f %s %s", + cmd, enc_exec_name, cfile->handle, "", + fps_string, (tmp = lives_filename_from_utf8(full_file_name, -1, NULL, NULL, NULL)), + startframe, cfile->frames, arate, cfile->achans, cfile->asampsize, + asigned | aendian, aud_start, aud_end, (extra_params == NULL ? "" : extra_params), redir); lives_free(tmp); } @@ -1762,43 +1762,43 @@ lives_freep((void **)&extra_params); - mainw->effects_paused=FALSE; - cfile->nokeep=TRUE; + mainw->effects_paused = FALSE; + cfile->nokeep = TRUE; lives_rm(cfile->info_file); - mainw->write_failed=FALSE; + mainw->write_failed = FALSE; save_file_comments(current_file); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); - mainw->error=FALSE; + mainw->error = FALSE; - if (mainw->com_failed||mainw->write_failed) { - not_cancelled=FALSE; - mainw->error=TRUE; + if (mainw->com_failed || mainw->write_failed) { + not_cancelled = FALSE; + mainw->error = TRUE; } if (!mainw->error) { char *pluginstr; - cfile->progress_start=1; - cfile->progress_end=cfile->frames; + cfile->progress_start = 1; + cfile->progress_end = cfile->frames; - not_cancelled=do_progress_dialog(TRUE,TRUE,_("Saving [can take a long time]")); - mesg=lives_strdup(mainw->msg); + not_cancelled = do_progress_dialog(TRUE, TRUE, _("Saving [can take a long time]")); + mesg = lives_strdup(mainw->msg); - if (mainw->iochan!=NULL) { + if (mainw->iochan != NULL) { // flush last of stdout/stderr from plugin lives_fsync(new_stderr); pump_io_chan(mainw->iochan); #ifdef GUI_GTK - g_io_channel_shutdown(mainw->iochan,FALSE,&gerr); + g_io_channel_shutdown(mainw->iochan, FALSE, &gerr); g_io_channel_unref(mainw->iochan); - if (gerr!=NULL) lives_error_free(gerr); + if (gerr != NULL) lives_error_free(gerr); #endif #ifdef GUI_QT delete mainw->iochan; @@ -1810,28 +1810,28 @@ lives_free(redir); } - mainw->effects_paused=FALSE; - cfile->nokeep=FALSE; + mainw->effects_paused = FALSE; + cfile->nokeep = FALSE; - pluginstr=lives_build_filename(prefs->lib_dir, PLUGIN_EXEC_DIR, NULL); + pluginstr = lives_build_filename(prefs->lib_dir, PLUGIN_EXEC_DIR, NULL); - com=lives_strdup_printf("%s plugin_clear \"%s\" 1 %d \"%s\" \"%s\" \"%s\"",prefs->backend_sync,cfile->handle, - cfile->frames, pluginstr, PLUGIN_ENCODERS, prefs->encoder.name); + com = lives_strdup_printf("%s plugin_clear \"%s\" 1 %d \"%s\" \"%s\" \"%s\"", prefs->backend_sync, cfile->handle, + cfile->frames, pluginstr, PLUGIN_ENCODERS, prefs->encoder.name); lives_free(pluginstr); - lives_system(com,FALSE); + lives_system(com, FALSE); lives_free(com); } else { - if (mainw->iochan!=NULL) { + if (mainw->iochan != NULL) { // flush last of stdout/stderr from plugin lives_fsync(new_stderr); pump_io_chan(mainw->iochan); #ifdef GUI_GTK - g_io_channel_shutdown(mainw->iochan,FALSE,&gerr); + g_io_channel_shutdown(mainw->iochan, FALSE, &gerr); g_io_channel_unref(mainw->iochan); - if (gerr!=NULL) lives_error_free(gerr); + if (gerr != NULL) lives_error_free(gerr); #endif #ifdef GUI_QT delete mainw->iochan; @@ -1848,29 +1848,29 @@ if (not_cancelled) { if (mainw->error) { - mainw->no_switch_dprint=TRUE; + mainw->no_switch_dprint = TRUE; d_print_failed(); - mainw->no_switch_dprint=FALSE; + mainw->no_switch_dprint = FALSE; lives_free(full_file_name); - if (!save_all&&!safe_symlinks) { - lives_kill_subprocesses(cfile->handle,TRUE); - lives_system((com=lives_strdup_printf("%s close \"%s\"",prefs->backend,cfile->handle)),TRUE); + if (!save_all && !safe_symlinks) { + lives_kill_subprocesses(cfile->handle, TRUE); + lives_system((com = lives_strdup_printf("%s close \"%s\"", prefs->backend, cfile->handle)), TRUE); lives_free(com); lives_freep((void **)&cfile); - if (mainw->first_free_file==-1||mainw->first_free_file>mainw->current_file) - mainw->first_free_file=mainw->current_file; - } else if (!save_all&&safe_symlinks) { - com=lives_strdup_printf("%s clear_symlinks \"%s\"",prefs->backend_sync,cfile->handle); - lives_system(com,TRUE); + if (mainw->first_free_file == -1 || mainw->first_free_file > mainw->current_file) + mainw->first_free_file = mainw->current_file; + } else if (!save_all && safe_symlinks) { + com = lives_strdup_printf("%s clear_symlinks \"%s\"", prefs->backend_sync, cfile->handle); + lives_system(com, TRUE); lives_free(com); } - switch_to_file(mainw->current_file,current_file); + switch_to_file(mainw->current_file, current_file); do_blocking_error_dialog(mesg); lives_free(mesg); - if (mainw->iochan!=NULL) { - mainw->iochan=NULL; + if (mainw->iochan != NULL) { + mainw->iochan = NULL; lives_object_unref(mainw->optextview); } @@ -1881,42 +1881,42 @@ lives_free(mesg); - if (lives_file_test((tmp=lives_filename_from_utf8(full_file_name,-1,NULL,NULL,NULL)), LIVES_FILE_TEST_EXISTS)) { + if (lives_file_test((tmp = lives_filename_from_utf8(full_file_name, -1, NULL, NULL, NULL)), LIVES_FILE_TEST_EXISTS)) { lives_free(tmp); - stat((tmp=lives_filename_from_utf8(full_file_name,-1,NULL,NULL,NULL)),&filestat); - if (filestat.st_size>0) output_exists=TRUE; + stat((tmp = lives_filename_from_utf8(full_file_name, -1, NULL, NULL, NULL)), &filestat); + if (filestat.st_size > 0) output_exists = TRUE; } if (!output_exists) { lives_free(tmp); - mainw->no_switch_dprint=TRUE; + mainw->no_switch_dprint = TRUE; d_print_failed(); - mainw->no_switch_dprint=FALSE; + mainw->no_switch_dprint = FALSE; lives_free(full_file_name); - if (!save_all&&!safe_symlinks) { - lives_kill_subprocesses(cfile->handle,TRUE); - lives_system((com=lives_strdup_printf("%s close \"%s\"",prefs->backend,cfile->handle)),TRUE); + if (!save_all && !safe_symlinks) { + lives_kill_subprocesses(cfile->handle, TRUE); + lives_system((com = lives_strdup_printf("%s close \"%s\"", prefs->backend, cfile->handle)), TRUE); lives_free(com); lives_freep((void **)&cfile); - if (mainw->first_free_file==-1||mainw->first_free_file>mainw->current_file) - mainw->first_free_file=mainw->current_file; - } else if (!save_all&&safe_symlinks) { - com=lives_strdup_printf("%s clear_symlinks \"%s\"",prefs->backend_sync,cfile->handle); - lives_system(com,TRUE); + if (mainw->first_free_file == -1 || mainw->first_free_file > mainw->current_file) + mainw->first_free_file = mainw->current_file; + } else if (!save_all && safe_symlinks) { + com = lives_strdup_printf("%s clear_symlinks \"%s\"", prefs->backend_sync, cfile->handle); + lives_system(com, TRUE); lives_free(com); } - switch_to_file(mainw->current_file,current_file); - retval=do_blocking_error_dialog(_("\n\nEncoder error - output file was not created !\n")); + switch_to_file(mainw->current_file, current_file); + retval = do_blocking_error_dialog(_("\n\nEncoder error - output file was not created !\n")); - if (retval==LIVES_RESPONSE_SHOW_DETAILS) { + if (retval == LIVES_RESPONSE_SHOW_DETAILS) { // show iochan (encoder) details on_details_button_clicked(); } - if (mainw->iochan!=NULL) { + if (mainw->iochan != NULL) { save_log_file("failed_encoder_log"); - mainw->iochan=NULL; + mainw->iochan = NULL; lives_object_unref(mainw->optextview); } @@ -1933,17 +1933,17 @@ if (prefs->enc_letterbox) { // replace letterboxed frames with maxspect frames - int iwidth=sfile->ohsize; - int iheight=sfile->ovsize; - boolean bad_header=FALSE; + int iwidth = sfile->ohsize; + int iheight = sfile->ovsize; + boolean bad_header = FALSE; - com=lives_strdup_printf("%s mv_mgk \"%s\" %d %d \"%s\" 1",prefs->backend,sfile->handle,1,sfile->frames, - get_image_ext_for_type(sfile->img_type)); + com = lives_strdup_printf("%s mv_mgk \"%s\" %d %d \"%s\" 1", prefs->backend, sfile->handle, 1, sfile->frames, + get_image_ext_for_type(sfile->img_type)); lives_rm(sfile->info_file); - lives_system(com,FALSE); + lives_system(com, FALSE); - do_progress_dialog(TRUE,FALSE,_("Clearing letterbox")); + do_progress_dialog(TRUE, FALSE, _("Clearing letterbox")); if (mainw->error) { // cfile->may_be_damaged=TRUE; @@ -1951,88 +1951,88 @@ return; } - calc_maxspect(sfile->hsize,sfile->vsize,&iwidth,&iheight); + calc_maxspect(sfile->hsize, sfile->vsize, &iwidth, &iheight); - sfile->hsize=iwidth; - sfile->vsize=iheight; + sfile->hsize = iwidth; + sfile->vsize = iheight; - save_clip_value(clip,CLIP_DETAILS_WIDTH,&sfile->hsize); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(clip,CLIP_DETAILS_HEIGHT,&sfile->vsize); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; + save_clip_value(clip, CLIP_DETAILS_WIDTH, &sfile->hsize); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(clip, CLIP_DETAILS_HEIGHT, &sfile->vsize); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; if (bad_header) do_header_write_error(mainw->current_file); } - lives_snprintf(sfile->save_file_name,PATH_MAX,"%s",full_file_name); - sfile->changed=FALSE; + lives_snprintf(sfile->save_file_name, PATH_MAX, "%s", full_file_name); + sfile->changed = FALSE; // save was successful - sfile->f_size=sget_file_size(full_file_name); + sfile->f_size = sget_file_size(full_file_name); if (sfile->is_untitled) { - sfile->is_untitled=FALSE; + sfile->is_untitled = FALSE; } if (!sfile->was_renamed) { - set_menu_text(sfile->menuentry,full_file_name,FALSE); - lives_snprintf(sfile->name,256,"%s",full_file_name); + set_menu_text(sfile->menuentry, full_file_name, FALSE); + lives_snprintf(sfile->name, 256, "%s", full_file_name); } - set_main_title(cfile->name,0); + set_main_title(cfile->name, 0); if (prefs->show_recent) { - add_to_recent(full_file_name,0.,0,NULL); + add_to_recent(full_file_name, 0., 0, NULL); global_recent_manager_add(full_file_name); } } else { if (!safe_symlinks) { #ifdef IS_MINGW - lives_kill_subprocesses(nfile->handle,TRUE); + lives_kill_subprocesses(nfile->handle, TRUE); #endif - lives_system((com=lives_strdup_printf("%s close \"%s\"",prefs->backend,nfile->handle)),TRUE); + lives_system((com = lives_strdup_printf("%s close \"%s\"", prefs->backend, nfile->handle)), TRUE); lives_free(com); lives_free(nfile); - mainw->files[new_file]=NULL; - if (mainw->first_free_file==-1||mainw->first_free_file>mainw->current_file) - mainw->first_free_file=new_file; + mainw->files[new_file] = NULL; + if (mainw->first_free_file == -1 || mainw->first_free_file > mainw->current_file) + mainw->first_free_file = new_file; } else { - com=lives_strdup_printf("%s clear_symlinks \"%s\"",prefs->backend_sync,cfile->handle); - lives_system(com,TRUE); + com = lives_strdup_printf("%s clear_symlinks \"%s\"", prefs->backend_sync, cfile->handle); + lives_system(com, TRUE); lives_free(com); } } } - switch_to_file(mainw->current_file,current_file); + switch_to_file(mainw->current_file, current_file); - if (mainw->iochan!=NULL) { + if (mainw->iochan != NULL) { save_log_file("encoder_log"); lives_object_unref(mainw->optextview); - mainw->iochan=NULL; + mainw->iochan = NULL; } if (not_cancelled) { char *fsize_ds; - mainw->no_switch_dprint=TRUE; + mainw->no_switch_dprint = TRUE; d_print_done(); // get size of file and show it - fsize=sget_file_size(full_file_name); - fsize_ds=lives_format_storage_space_string(fsize); - d_print(_("File size was %s\n"),fsize_ds); + fsize = sget_file_size(full_file_name); + fsize_ds = lives_format_storage_space_string(fsize); + d_print(_("File size was %s\n"), fsize_ds); lives_free(fsize_ds); - if (mainw->subt_save_file!=NULL) { - save_subs_to_file(sfile,mainw->subt_save_file); + if (mainw->subt_save_file != NULL) { + save_subs_to_file(sfile, mainw->subt_save_file); lives_freep((void **)&mainw->subt_save_file); } - mainw->no_switch_dprint=FALSE; + mainw->no_switch_dprint = FALSE; lives_notify(LIVES_OSC_NOTIFY_SUCCESS, - (mesg=lives_strdup_printf("encode %d \"%s\"",clip, - (tmp=lives_filename_from_utf8(full_file_name,-1,NULL,NULL,NULL))))); + (mesg = lives_strdup_printf("encode %d \"%s\"", clip, + (tmp = lives_filename_from_utf8(full_file_name, -1, NULL, NULL, NULL))))); lives_free(tmp); lives_free(mesg); @@ -2048,20 +2048,20 @@ // play the current clip from 'mainw->play_start' to 'mainw->play_end' LiVESWidgetClosure *freeze_closure; - short audio_player=prefs->audio_player; + short audio_player = prefs->audio_player; - weed_plant_t *pb_start_event=NULL; + weed_plant_t *pb_start_event = NULL; #ifdef GDK_WINDOWING_X11 - uint64_t awinid=-1; + uint64_t awinid = -1; #endif char *com; - char *com2=lives_strdup(" "); - char *com3=lives_strdup(" "); - char *stopcom=NULL; + char *com2 = lives_strdup(" "); + char *com3 = lives_strdup(" "); + char *stopcom = NULL; char *stfile; - char *xtrabit,*title; + char *xtrabit, *title; #ifdef GDK_WINDOWING_X11 char *tmp; #endif @@ -2069,242 +2069,248 @@ boolean mute; #ifdef RT_AUDIO - boolean exact_preview=FALSE; + boolean exact_preview = FALSE; #endif - boolean has_audio_buffers=FALSE; + boolean has_audio_buffers = FALSE; int arate; - int asigned=!(cfile->signed_endian&AFORM_UNSIGNED); - int aendian=!(cfile->signed_endian&AFORM_BIG_ENDIAN); + int asigned = !(cfile->signed_endian & AFORM_UNSIGNED); + int aendian = !(cfile->signed_endian & AFORM_BIG_ENDIAN); - int current_file=mainw->current_file; - int audio_end=0; + int current_file = mainw->current_file; + int audio_end = 0; - int loop=0; + int loop = 0; - if (!is_realtime_aplayer(audio_player)) mainw->aud_file_to_kill=mainw->current_file; - else mainw->aud_file_to_kill=-1; + if (!is_realtime_aplayer(audio_player)) mainw->aud_file_to_kill = mainw->current_file; + else mainw->aud_file_to_kill = -1; #ifdef ENABLE_JACK - if (!mainw->preview&&!mainw->foreign) jack_pb_start(); + if (!mainw->preview && !mainw->foreign) jack_pb_start(); #endif - if (mainw->multitrack==NULL) mainw->must_resize=FALSE; - mainw->ext_playback=FALSE; - mainw->deltaticks=0; + if (mainw->multitrack == NULL) mainw->must_resize = FALSE; + mainw->ext_playback = FALSE; + mainw->deltaticks = 0; - mainw->rec_aclip=-1; + mainw->rec_aclip = -1; - if (mainw->pre_src_file==-2) mainw->pre_src_file=mainw->current_file; - mainw->pre_src_audio_file=mainw->current_file; + if (mainw->pre_src_file == -2) mainw->pre_src_file = mainw->current_file; + mainw->pre_src_audio_file = mainw->current_file; // enable the freeze button lives_accel_group_connect(LIVES_ACCEL_GROUP(mainw->accel_group), LIVES_KEY_BackSpace, (LiVESXModifierType)LIVES_CONTROL_MASK, - (LiVESAccelFlags)0, (freeze_closure=lives_cclosure_new(LIVES_GUI_CALLBACK(freeze_callback),NULL,NULL))); + (LiVESAccelFlags)0, (freeze_closure = lives_cclosure_new(LIVES_GUI_CALLBACK(freeze_callback), NULL, NULL))); - if (mainw->multitrack!=NULL) { - mainw->event_list=mainw->multitrack->event_list; - pb_start_event=mainw->multitrack->pb_start_event; + if (mainw->multitrack != NULL) { + mainw->event_list = mainw->multitrack->event_list; + pb_start_event = mainw->multitrack->pb_start_event; #ifdef RT_AUDIO - exact_preview=mainw->multitrack->exact_preview; + exact_preview = mainw->multitrack->exact_preview; #endif } if (mainw->record) { if (mainw->preview) { - mainw->record=FALSE; + mainw->record = FALSE; d_print(_("recording aborted by preview.\n")); - } else if (mainw->current_file==0) { - mainw->record=FALSE; + } else if (mainw->current_file == 0) { + mainw->record = FALSE; d_print(_("recording aborted by clipboard playback.\n")); } else { d_print(_("Recording performance...")); - mainw->clip_switched=FALSE; + mainw->clip_switched = FALSE; // TODO - if (mainw->current_file>0&&(cfile->undo_action==UNDO_RESAMPLE||cfile->undo_action==UNDO_RENDER)) { - lives_widget_set_sensitive(mainw->undo,FALSE); - lives_widget_set_sensitive(mainw->redo,FALSE); - cfile->undoable=cfile->redoable=FALSE; + if (mainw->current_file > 0 && (cfile->undo_action == UNDO_RESAMPLE || cfile->undo_action == UNDO_RENDER)) { + lives_widget_set_sensitive(mainw->undo, FALSE); + lives_widget_set_sensitive(mainw->redo, FALSE); + cfile->undoable = cfile->redoable = FALSE; } } } // set performance at right place - else if (mainw->event_list!=NULL) cfile->next_event=get_first_event(mainw->event_list); + else if (mainw->event_list != NULL) cfile->next_event = get_first_event(mainw->event_list); // note, here our start is in frames, in save_file it is in seconds ! // TODO - check if we can change it to seconds here too - mainw->audio_start=mainw->audio_end=0; + mainw->audio_start = mainw->audio_end = 0; - if (mainw->event_list!=NULL) { + if (mainw->event_list != NULL) { // play performance data - if (event_list_get_end_secs(mainw->event_list)>cfile->frames/cfile->fps&&!mainw->playing_sel) { - mainw->audio_end=(event_list_get_end_secs(mainw->event_list)*cfile->fps+1.)*cfile->arate/cfile->arps; + if (event_list_get_end_secs(mainw->event_list) > cfile->frames / cfile->fps && !mainw->playing_sel) { + mainw->audio_end = (event_list_get_end_secs(mainw->event_list) * cfile->fps + 1.) * cfile->arate / cfile->arps; } } - if (mainw->audio_end==0) { - mainw->audio_start=calc_time_from_frame(mainw->current_file,mainw->play_start)*cfile->fps+1.*cfile->arate/cfile->arps; - mainw->audio_end=calc_time_from_frame(mainw->current_file,mainw->play_end)*cfile->fps+1.*cfile->arate/cfile->arps; + if (mainw->audio_end == 0) { + mainw->audio_start = calc_time_from_frame(mainw->current_file, mainw->play_start) * cfile->fps + 1.*cfile->arate / cfile->arps; + mainw->audio_end = calc_time_from_frame(mainw->current_file, mainw->play_end) * cfile->fps + 1.*cfile->arate / cfile->arps; if (!mainw->playing_sel) { - mainw->audio_end=0; + mainw->audio_end = 0; } } - if (!cfile->opening_audio&&!mainw->loop) { + if (!cfile->opening_audio && !mainw->loop) { // if we are opening audio or looping we just play to the end of audio, // otherwise... - audio_end=mainw->audio_end; + audio_end = mainw->audio_end; } - if (mainw->multitrack==NULL) { + if (mainw->multitrack == NULL) { if (!mainw->preview) { - lives_frame_set_label(LIVES_FRAME(mainw->playframe),_("Play")); + lives_frame_set_label(LIVES_FRAME(mainw->playframe), _("Play")); } else { - lives_frame_set_label(LIVES_FRAME(mainw->playframe),_("Preview")); + lives_frame_set_label(LIVES_FRAME(mainw->playframe), _("Preview")); } - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_fg_color(lives_frame_get_label_widget(LIVES_FRAME(mainw->playframe)), LIVES_WIDGET_STATE_NORMAL, &palette->normal_fore); } + if (mainw->foreign) { + lives_widget_show_all(mainw->vbox1); + lives_widget_context_update(); + } + // blank the background if asked to - if ((mainw->faded||(prefs->show_playwin&&!prefs->show_gui)||(mainw->fs&&(!mainw->sep_win)))&&(cfile->frames>0||mainw->foreign)) { + if ((mainw->faded || (prefs->show_playwin && !prefs->show_gui) || (mainw->fs && (!mainw->sep_win))) && (cfile->frames > 0 || + mainw->foreign)) { fade_background(); } - if ((!mainw->sep_win||(!mainw->faded&&(prefs->sepwin_type!=SEPWIN_TYPE_STICKY)))&&(cfile->frames>0||mainw->foreign)) { + if ((!mainw->sep_win || (!mainw->faded && (prefs->sepwin_type != SEPWIN_TYPE_STICKY))) && (cfile->frames > 0 || mainw->foreign)) { // show the frame in the main window - lives_widget_show(mainw->playframe); + lives_widget_show_all(mainw->playframe); lives_widget_context_update(); } } - if (mainw->multitrack==NULL) { + if (mainw->multitrack == NULL) { // plug the plug into the playframe socket if we need to add_to_playframe(); } - arate=cfile->arate; + arate = cfile->arate; - mute=mainw->mute; + mute = mainw->mute; if (!is_realtime_aplayer(audio_player)) { - if (cfile->achans==0||mainw->is_rendering) mainw->mute=TRUE; - if (mainw->mute&&!cfile->opening_only_audio) arate=arate?-arate:-1; + if (cfile->achans == 0 || mainw->is_rendering) mainw->mute = TRUE; + if (mainw->mute && !cfile->opening_only_audio) arate = arate ? -arate : -1; } - cfile->frameno=mainw->play_start; - cfile->pb_fps=cfile->fps; + cfile->frameno = mainw->play_start; + cfile->pb_fps = cfile->fps; if (mainw->reverse_pb) { - cfile->pb_fps=-cfile->pb_fps; - cfile->frameno=mainw->play_end; + cfile->pb_fps = -cfile->pb_fps; + cfile->frameno = mainw->play_end; } - mainw->reverse_pb=FALSE; + mainw->reverse_pb = FALSE; - cfile->play_paused=FALSE; - mainw->period=U_SEC/cfile->pb_fps; + cfile->play_paused = FALSE; + mainw->period = U_SEC / cfile->pb_fps; - if (audio_player==AUD_PLAYER_JACK) audio_cache_init(); + if (audio_player == AUD_PLAYER_JACK) audio_cache_init(); - if (mainw->blend_file!=-1&&mainw->files[mainw->blend_file]==NULL) mainw->blend_file=-1; + if (mainw->blend_file != -1 && mainw->files[mainw->blend_file] == NULL) mainw->blend_file = -1; - if (mainw->num_tr_applied>0&&!mainw->preview&&mainw->blend_file>-1) { + if (mainw->num_tr_applied > 0 && !mainw->preview && mainw->blend_file > -1) { // reset frame counter for blend_file - mainw->files[mainw->blend_file]->frameno=1; - mainw->files[mainw->blend_file]->aseek_pos=0; + mainw->files[mainw->blend_file]->frameno = 1; + mainw->files[mainw->blend_file]->aseek_pos = 0; } - lives_widget_set_sensitive(mainw->m_stopbutton,TRUE); - mainw->playing_file=mainw->current_file; + lives_widget_set_sensitive(mainw->m_stopbutton, TRUE); + mainw->playing_file = mainw->current_file; - if (!mainw->preview||!cfile->opening) { + if (!mainw->preview || !cfile->opening) { enable_record(); desensitize(); } if (mainw->record) { - if (mainw->event_list!=NULL) event_list_free(mainw->event_list); - mainw->event_list=add_filter_init_events(NULL,0); + if (mainw->event_list != NULL) event_list_free(mainw->event_list); + mainw->event_list = add_filter_init_events(NULL, 0); } - if (mainw->double_size&&mainw->multitrack==NULL) { + if (mainw->double_size && mainw->multitrack == NULL) { lives_widget_hide(mainw->scrolledwindow); } lives_widget_set_sensitive(mainw->stop, TRUE); - if (mainw->multitrack==NULL) lives_widget_set_sensitive(mainw->m_playbutton, FALSE); + if (mainw->multitrack == NULL) lives_widget_set_sensitive(mainw->m_playbutton, FALSE); else if (!cfile->opening) { - if (!mainw->is_processing) mt_swap_play_pause(mainw->multitrack,TRUE); + if (!mainw->is_processing) mt_swap_play_pause(mainw->multitrack, TRUE); else { - lives_widget_set_sensitive(mainw->multitrack->playall,FALSE); - lives_widget_set_sensitive(mainw->m_playbutton,FALSE); + lives_widget_set_sensitive(mainw->multitrack->playall, FALSE); + lives_widget_set_sensitive(mainw->m_playbutton, FALSE); } } lives_widget_set_sensitive(mainw->m_playselbutton, FALSE); lives_widget_set_sensitive(mainw->m_rewindbutton, FALSE); - lives_widget_set_sensitive(mainw->m_mutebutton, is_realtime_aplayer(audio_player)||mainw->multitrack!=NULL); + lives_widget_set_sensitive(mainw->m_mutebutton, is_realtime_aplayer(audio_player) || mainw->multitrack != NULL); - lives_widget_set_sensitive(mainw->m_loopbutton, (!cfile->achans||mainw->mute||mainw->multitrack!=NULL|| - mainw->loop_cont||is_realtime_aplayer(audio_player)) - &&mainw->current_file>0); - lives_widget_set_sensitive(mainw->loop_continue, (!cfile->achans||mainw->mute||mainw->loop_cont|| + lives_widget_set_sensitive(mainw->m_loopbutton, (!cfile->achans || mainw->mute || mainw->multitrack != NULL || + mainw->loop_cont || is_realtime_aplayer(audio_player)) + && mainw->current_file > 0); + lives_widget_set_sensitive(mainw->loop_continue, (!cfile->achans || mainw->mute || mainw->loop_cont || is_realtime_aplayer(audio_player)) - &&mainw->current_file>0); + && mainw->current_file > 0); - if (cfile->frames==0&&mainw->multitrack==NULL) { - if (mainw->preview_box!=NULL&&lives_widget_get_parent(mainw->preview_box)!=NULL) { + if (cfile->frames == 0 && mainw->multitrack == NULL) { + if (mainw->preview_box != NULL && lives_widget_get_parent(mainw->preview_box) != NULL) { lives_container_remove(LIVES_CONTAINER(mainw->play_window), mainw->preview_box); - mainw->pw_scroll_func=lives_signal_connect(LIVES_GUI_OBJECT(mainw->play_window), LIVES_WIDGET_SCROLL_EVENT, - LIVES_GUI_CALLBACK(on_mouse_scroll), - NULL); + mainw->pw_scroll_func = lives_signal_connect(LIVES_GUI_OBJECT(mainw->play_window), LIVES_WIDGET_SCROLL_EVENT, + LIVES_GUI_CALLBACK(on_mouse_scroll), + NULL); } } else { if (mainw->sep_win) { // create a separate window for the internal player if requested - if (prefs->sepwin_type==SEPWIN_TYPE_NON_STICKY) { + if (prefs->sepwin_type == SEPWIN_TYPE_NON_STICKY) { // needed block_expose(); make_play_window(); unblock_expose(); } else { - if (mainw->multitrack==NULL) { - if (mainw->preview_box!=NULL&&lives_widget_get_parent(mainw->preview_box)!=NULL) { + if (mainw->multitrack == NULL) { + if (mainw->preview_box != NULL && lives_widget_get_parent(mainw->preview_box) != NULL) { lives_container_remove(LIVES_CONTAINER(mainw->play_window), mainw->preview_box); - mainw->pw_scroll_func=lives_signal_connect(LIVES_GUI_OBJECT(mainw->play_window), LIVES_WIDGET_SCROLL_EVENT, - LIVES_GUI_CALLBACK(on_mouse_scroll), - NULL); + mainw->pw_scroll_func = lives_signal_connect(LIVES_GUI_OBJECT(mainw->play_window), LIVES_WIDGET_SCROLL_EVENT, + LIVES_GUI_CALLBACK(on_mouse_scroll), + NULL); } } - if (mainw->multitrack==NULL||mainw->fs) { + if (mainw->multitrack == NULL || mainw->fs) { resize_play_window(); play_window_set_title(); } // needed - if (mainw->multitrack==NULL) { + if (mainw->multitrack == NULL) { block_expose(); - mainw->noswitch=TRUE; + mainw->noswitch = TRUE; lives_widget_context_update(); - mainw->noswitch=FALSE; + mainw->noswitch = FALSE; unblock_expose(); } else { // this doesn't get called if we don't call resize_play_window() - if (mainw->play_window!=NULL) { + if (mainw->play_window != NULL) { if (prefs->show_playwin) { lives_window_present(LIVES_WINDOW(mainw->play_window)); lives_xwindow_raise(lives_widget_get_xwindow(mainw->play_window)); @@ -2314,45 +2320,45 @@ } } - if (mainw->play_window!=NULL) { + if (mainw->play_window != NULL) { hide_cursor(lives_widget_get_xwindow(mainw->play_window)); - lives_widget_set_app_paintable(mainw->play_window,TRUE); + lives_widget_set_app_paintable(mainw->play_window, TRUE); play_window_set_title(); } - if (!mainw->foreign&&!mainw->sep_win) { + if (!mainw->foreign && !mainw->sep_win) { hide_cursor(lives_widget_get_xwindow(mainw->playarea)); } // pwidth and pheight are playback width and height - if (!mainw->sep_win&&!mainw->foreign) { + if (!mainw->sep_win && !mainw->foreign) { do { - mainw->pwidth=lives_widget_get_allocation_width(mainw->playframe)-H_RESIZE_ADJUST; - mainw->pheight=lives_widget_get_allocation_height(mainw->playframe)-V_RESIZE_ADJUST; - if (mainw->pwidth*mainw->pheight==0) { + mainw->pwidth = lives_widget_get_allocation_width(mainw->playframe) - H_RESIZE_ADJUST; + mainw->pheight = lives_widget_get_allocation_height(mainw->playframe) - V_RESIZE_ADJUST; + if (mainw->pwidth * mainw->pheight == 0) { lives_widget_queue_draw(mainw->playframe); - mainw->noswitch=TRUE; + mainw->noswitch = TRUE; lives_widget_context_update(); - mainw->noswitch=FALSE; + mainw->noswitch = FALSE; } - } while (mainw->pwidth*mainw->pheight==0); + } while (mainw->pwidth * mainw->pheight == 0); // double size if (mainw->double_size) { frame_size_update(); } } - if (mainw->vpp!=NULL&&mainw->vpp->fheight>-1&&mainw->vpp->fwidth>-1) { + if (mainw->vpp != NULL && mainw->vpp->fheight > -1 && mainw->vpp->fwidth > -1) { // fixed o/p size for stream - if (!(mainw->vpp->fwidth*mainw->vpp->fheight)) { - mainw->vpp->fwidth=cfile->hsize; - mainw->vpp->fheight=cfile->vsize; + if (!(mainw->vpp->fwidth * mainw->vpp->fheight)) { + mainw->vpp->fwidth = cfile->hsize; + mainw->vpp->fheight = cfile->vsize; } - mainw->pwidth=mainw->vpp->fwidth; - mainw->pheight=mainw->vpp->fheight; + mainw->pwidth = mainw->vpp->fwidth; + mainw->pheight = mainw->vpp->fheight; } - if (mainw->fs&&!mainw->sep_win&&cfile->frames>0) { + if (mainw->fs && !mainw->sep_win && cfile->frames > 0) { fullscreen_internal(); } @@ -2362,190 +2368,186 @@ if (prefs->stop_screensaver) { lives_freep((void **)&com2); #ifdef GDK_WINDOWING_X11 - if (!prefs->show_gui&&prefs->show_playwin&&mainw->play_window!=NULL) { - awinid=lives_widget_get_xwinid(mainw->play_window,NULL); + if (!prefs->show_gui && prefs->show_playwin && mainw->play_window != NULL) { + awinid = lives_widget_get_xwinid(mainw->play_window, NULL); } else if (prefs->show_gui) { - if (mainw->multitrack!=NULL) { - awinid=lives_widget_get_xwinid(mainw->multitrack->window,NULL); - } else if (mainw->LiVES!=NULL) { - awinid=lives_widget_get_xwinid(mainw->LiVES,NULL); - } + awinid = lives_widget_get_xwinid(LIVES_MAIN_WINDOW_WIDGET, NULL); } - com2=lives_strdup("xset s off 2>/dev/null; xset -dpms 2>/dev/null ;"); + com2 = lives_strdup("xset s off 2>/dev/null; xset -dpms 2>/dev/null ;"); if (capable->has_gconftool_2) { - char *xnew=lives_strdup(" gconftool-2 --set --type bool /apps/gnome-screensaver/idle_activation_enabled false 2>/dev/null ;"); - tmp=lives_strconcat(com2,xnew,NULL); + char *xnew = lives_strdup(" gconftool-2 --set --type bool /apps/gnome-screensaver/idle_activation_enabled false 2>/dev/null ;"); + tmp = lives_strconcat(com2, xnew, NULL); lives_freep((void **)&com2); lives_free(xnew); - com2=tmp; + com2 = tmp; } - if (capable->has_xdg_screensaver&&awinid!=-1) { - char *xnew=lives_strdup_printf(" xdg-screensaver suspend %"PRIu64" 2>/dev/null ;",awinid); - tmp=lives_strconcat(com2,xnew,NULL); + if (capable->has_xdg_screensaver && awinid != -1) { + char *xnew = lives_strdup_printf(" xdg-screensaver suspend %"PRIu64" 2>/dev/null ;", awinid); + tmp = lives_strconcat(com2, xnew, NULL); lives_freep((void **)&com2); lives_free(xnew); - com2=tmp; + com2 = tmp; } #else if (capable->has_gconftool_2) { - com2=lives_strdup("gconftool-2 --set --type bool /apps/gnome-screensaver/idle_activation_enabled false 2>/dev/null ;"); - } else com2=lives_strdup(""); + com2 = lives_strdup("gconftool-2 --set --type bool /apps/gnome-screensaver/idle_activation_enabled false 2>/dev/null ;"); + } else com2 = lives_strdup(""); #endif - if (com2==NULL) com2=lives_strdup(""); + if (com2 == NULL) com2 = lives_strdup(""); } - if (!mainw->foreign&&prefs->midisynch&&!mainw->preview) { + if (!mainw->foreign && prefs->midisynch && !mainw->preview) { lives_free(com3); - com3=lives_strdup("midistart"); + com3 = lives_strdup("midistart"); } - com=lives_strconcat(com2,com3,NULL); + com = lives_strconcat(com2, com3, NULL); if (strlen(com)) { // allow this to fail - not all sub-commands may be present - lives_system(com,TRUE); + lives_system(com, TRUE); } lives_freep((void **)&com); lives_freep((void **)&com2); lives_free(com3); - com3=lives_strdup(" "); + com3 = lives_strdup(" "); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps),cfile->pb_fps); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_pb_fps), cfile->pb_fps); - mainw->last_blend_file=-1; + mainw->last_blend_file = -1; // show the framebar - if (mainw->multitrack==NULL&&(prefs->show_framecount&& - (!mainw->fs||(prefs->gui_monitor!=prefs->play_monitor&&mainw->sep_win!=0)|| - (mainw->vpp!=NULL&&mainw->sep_win&&!(mainw->vpp->capabilities&VPP_LOCAL_DISPLAY)))&& - ((!mainw->preview&&(cfile->frames>0||mainw->foreign))||cfile->opening))) { + if (mainw->multitrack == NULL && (prefs->show_framecount && + (!mainw->fs || (prefs->gui_monitor != prefs->play_monitor && prefs->play_monitor != 0 && capable->nmonitors > 1 && mainw->sep_win) || + (mainw->vpp != NULL && mainw->sep_win && !(mainw->vpp->capabilities & VPP_LOCAL_DISPLAY))) && + ((!mainw->preview && (cfile->frames > 0 || mainw->foreign)) || cfile->opening))) { lives_widget_show(mainw->framebar); } - cfile->play_paused=FALSE; - mainw->actual_frame=0; + cfile->play_paused = FALSE; + mainw->actual_frame = 0; - mainw->currticks=0; + mainw->currticks = 0; // reinit all active effects - if (!mainw->preview&&!mainw->is_rendering&&!mainw->foreign) weed_reinit_all(); + if (!mainw->preview && !mainw->is_rendering && !mainw->foreign) weed_reinit_all(); - if (!mainw->foreign&&(!(prefs->audio_src==AUDIO_SRC_EXT&& - ((audio_player==AUD_PLAYER_JACK) || - (audio_player==AUD_PLAYER_PULSE))))) { - cfile->aseek_pos=(long)((double)(mainw->play_start-1.)/cfile->fps*cfile->arate)*cfile->achans*(cfile->asampsize/8); + if (!mainw->foreign && (!(prefs->audio_src == AUDIO_SRC_EXT && + ((audio_player == AUD_PLAYER_JACK) || + (audio_player == AUD_PLAYER_PULSE))))) { + cfile->aseek_pos = (long)((double)(mainw->play_start - 1.) / cfile->fps * cfile->arate) * cfile->achans * (cfile->asampsize / 8); // start up our audio player (jack or pulse) - if (audio_player==AUD_PLAYER_JACK) { + if (audio_player == AUD_PLAYER_JACK) { #ifdef ENABLE_JACK - if (mainw->jackd!=NULL) jack_aud_pb_ready(mainw->current_file); + if (mainw->jackd != NULL) jack_aud_pb_ready(mainw->current_file); #endif - } else if (audio_player==AUD_PLAYER_PULSE) { + } else if (audio_player == AUD_PLAYER_PULSE) { #ifdef HAVE_PULSE_AUDIO - if (mainw->pulsed!=NULL) pulse_aud_pb_ready(mainw->current_file); + if (mainw->pulsed != NULL) pulse_aud_pb_ready(mainw->current_file); #endif - } else if (cfile->achans>0) { + } else if (cfile->achans > 0) { // sox or mplayer audio - run as background process if (mainw->loop_cont) { // tell audio to loop forever - loop=-1; + loop = -1; } - stfile=lives_build_filename(prefs->workdir,cfile->handle,".stoploop",NULL); + stfile = lives_build_filename(prefs->workdir, cfile->handle, ".stoploop", NULL); lives_rm(stfile); - if (cfile->achans>0||(!cfile->is_loaded&&!mainw->is_generating)) { + if (cfile->achans > 0 || (!cfile->is_loaded && !mainw->is_generating)) { if (loop) { lives_free(com3); - com3=lives_strdup_printf("%s \"%s\" 2>\"%s\" 1>&2",capable->touch_cmd,stfile,prefs->cmd_log); + com3 = lives_strdup_printf("%s \"%s\" 2>\"%s\" 1>&2", capable->touch_cmd, stfile, prefs->cmd_log); } - if (cfile->achans>0) { - com2=lives_strdup_printf("%s stop_audio %s",prefs->backend_sync,cfile->handle); + if (cfile->achans > 0) { + com2 = lives_strdup_printf("%s stop_audio %s", prefs->backend_sync, cfile->handle); } - stopcom=lives_strconcat(com3,com2,NULL); + stopcom = lives_strconcat(com3, com2, NULL); } lives_free(stfile); - stfile=lives_build_filename(prefs->workdir,cfile->handle,LIVES_STATUS_FILE_NAME".play",NULL); + stfile = lives_build_filename(prefs->workdir, cfile->handle, LIVES_STATUS_FILE_NAME".play", NULL); - lives_snprintf(cfile->info_file,PATH_MAX,"%s",stfile); + lives_snprintf(cfile->info_file, PATH_MAX, "%s", stfile); lives_free(stfile); - if (cfile->clip_type==CLIP_TYPE_DISK) lives_rm(cfile->info_file); + if (cfile->clip_type == CLIP_TYPE_DISK) lives_rm(cfile->info_file); // PLAY - if (cfile->clip_type==CLIP_TYPE_DISK&&cfile->opening) { - com=lives_strdup_printf("%s play_opening_preview \"%s\" %.3f %d %d %d %d %d %d %d %d",prefs->backend, - cfile->handle,cfile->fps,mainw->audio_start,audio_end,0, - arate,cfile->achans,cfile->asampsize,asigned,aendian); + if (cfile->clip_type == CLIP_TYPE_DISK && cfile->opening) { + com = lives_strdup_printf("%s play_opening_preview \"%s\" %.3f %d %d %d %d %d %d %d %d", prefs->backend, + cfile->handle, cfile->fps, mainw->audio_start, audio_end, 0, + arate, cfile->achans, cfile->asampsize, asigned, aendian); } else { // this is only used now for sox or mplayer audio player - com=lives_strdup_printf("%s play %s %.3f %d %d %d %d %d %d %d %d",prefs->backend,cfile->handle, - cfile->fps,mainw->audio_start,audio_end,loop, - arate,cfile->achans,cfile->asampsize,asigned,aendian); + com = lives_strdup_printf("%s play %s %.3f %d %d %d %d %d %d %d %d", prefs->backend, cfile->handle, + cfile->fps, mainw->audio_start, audio_end, loop, + arate, cfile->achans, cfile->asampsize, asigned, aendian); } - if (mainw->multitrack==NULL&&com!=NULL) lives_system(com,FALSE); + if (mainw->multitrack == NULL && com != NULL) lives_system(com, FALSE); } } lives_free(com3); // if recording, set up recorder (jack or pulse) - if (!mainw->foreign&&!mainw->preview&&(prefs->audio_src==AUDIO_SRC_EXT||(mainw->record&&mainw->agen_key!=0))&& - ((audio_player==AUD_PLAYER_JACK) || - (audio_player==AUD_PLAYER_PULSE))) { - mainw->rec_samples=-1; // record unlimited + if (!mainw->foreign && !mainw->preview && (prefs->audio_src == AUDIO_SRC_EXT || (mainw->record && mainw->agen_key != 0)) && + ((audio_player == AUD_PLAYER_JACK) || + (audio_player == AUD_PLAYER_PULSE))) { + mainw->rec_samples = -1; // record unlimited if (mainw->record) { // creat temp clip open_ascrap_file(); - if (mainw->ascrap_file!=-1) { + if (mainw->ascrap_file != -1) { - mainw->rec_aclip=mainw->ascrap_file; - mainw->rec_avel=1.; - mainw->rec_aseek=0; + mainw->rec_aclip = mainw->ascrap_file; + mainw->rec_avel = 1.; + mainw->rec_aseek = 0; } } - if (audio_player==AUD_PLAYER_JACK) { + if (audio_player == AUD_PLAYER_JACK) { #ifdef ENABLE_JACK - if (prefs->audio_src==AUDIO_SRC_EXT&&mainw->jackd!=NULL) { - if (mainw->agen_key!=0) { - mainw->jackd->playing_file=mainw->current_file; - mainw->jackd->frames_written=0; - mainw->jackd->in_use=TRUE; - if (mainw->ascrap_file!=-1 || !prefs->perm_audio_reader) + if (prefs->audio_src == AUDIO_SRC_EXT && mainw->jackd != NULL) { + if (mainw->agen_key != 0) { + mainw->jackd->playing_file = mainw->current_file; + mainw->jackd->frames_written = 0; + mainw->jackd->in_use = TRUE; + if (mainw->ascrap_file != -1 || !prefs->perm_audio_reader) jack_rec_audio_to_clip(mainw->ascrap_file, -1, RECA_GENERATED); - mainw->jackd_read->in_use=TRUE; + mainw->jackd_read->in_use = TRUE; } else { - if (mainw->ascrap_file!=-1 || !prefs->perm_audio_reader) + if (mainw->ascrap_file != -1 || !prefs->perm_audio_reader) jack_rec_audio_to_clip(mainw->ascrap_file, -1, RECA_EXTERNAL); - mainw->jackd_read->in_use=TRUE; + mainw->jackd_read->in_use = TRUE; } } - mainw->jackd->frames_written=0; + mainw->jackd->frames_written = 0; #endif } - if (audio_player==AUD_PLAYER_PULSE) { + if (audio_player == AUD_PLAYER_PULSE) { #ifdef HAVE_PULSE_AUDIO - if (prefs->audio_src==AUDIO_SRC_EXT&&mainw->pulsed!=NULL) { - if (mainw->agen_key!=0) { - mainw->pulsed->playing_file=mainw->current_file; - mainw->pulsed->frames_written=0; - mainw->pulsed->in_use=TRUE; - if (mainw->ascrap_file!=-1 || !prefs->perm_audio_reader) + if (prefs->audio_src == AUDIO_SRC_EXT && mainw->pulsed != NULL) { + if (mainw->agen_key != 0) { + mainw->pulsed->playing_file = mainw->current_file; + mainw->pulsed->frames_written = 0; + mainw->pulsed->in_use = TRUE; + if (mainw->ascrap_file != -1 || !prefs->perm_audio_reader) pulse_rec_audio_to_clip(mainw->ascrap_file, -1, RECA_GENERATED); - mainw->pulsed_read->in_use=TRUE; + mainw->pulsed_read->in_use = TRUE; } else { - if (mainw->ascrap_file!=-1 || !prefs->perm_audio_reader) + if (mainw->ascrap_file != -1 || !prefs->perm_audio_reader) pulse_rec_audio_to_clip(mainw->ascrap_file, -1, RECA_EXTERNAL); - mainw->pulsed_read->in_use=TRUE; + mainw->pulsed_read->in_use = TRUE; } } - mainw->pulsed->frames_written=0; + mainw->pulsed->frames_written = 0; #endif } } @@ -2555,143 +2557,143 @@ find_when_to_stop(); - if (mainw->foreign||weed_playback_gen_start()) { + if (mainw->foreign || weed_playback_gen_start()) { - lives_notify(LIVES_OSC_NOTIFY_PLAYBACK_STARTED,""); + lives_notify(LIVES_OSC_NOTIFY_PLAYBACK_STARTED, ""); #ifdef ENABLE_JACK - if (mainw->event_list!=NULL&&!mainw->record&&audio_player==AUD_PLAYER_JACK&&mainw->jackd!=NULL&& - !(mainw->preview&&mainw->is_processing&& - !(mainw->multitrack!=NULL&&mainw->preview&&mainw->multitrack->is_rendering))) { + if (mainw->event_list != NULL && !mainw->record && audio_player == AUD_PLAYER_JACK && mainw->jackd != NULL && + !(mainw->preview && mainw->is_processing && + !(mainw->multitrack != NULL && mainw->preview && mainw->multitrack->is_rendering))) { // if playing an event list, we switch to audio memory buffer mode - if (mainw->multitrack!=NULL) init_jack_audio_buffers(cfile->achans,cfile->arate,exact_preview); - else init_jack_audio_buffers(DEFAULT_AUDIO_CHANS,DEFAULT_AUDIO_RATE,FALSE); - has_audio_buffers=TRUE; + if (mainw->multitrack != NULL) init_jack_audio_buffers(cfile->achans, cfile->arate, exact_preview); + else init_jack_audio_buffers(DEFAULT_AUDIO_CHANS, DEFAULT_AUDIO_RATE, FALSE); + has_audio_buffers = TRUE; } #endif #ifdef HAVE_PULSE_AUDIO - if (mainw->event_list!=NULL&&!mainw->record&&audio_player==AUD_PLAYER_PULSE&&mainw->pulsed!=NULL&& - !(mainw->preview&&mainw->is_processing&& - !(mainw->multitrack!=NULL&&mainw->preview&&mainw->multitrack->is_rendering))) { + if (mainw->event_list != NULL && !mainw->record && audio_player == AUD_PLAYER_PULSE && mainw->pulsed != NULL && + !(mainw->preview && mainw->is_processing && + !(mainw->multitrack != NULL && mainw->preview && mainw->multitrack->is_rendering))) { // if playing an event list, we switch to audio memory buffer mode - if (mainw->multitrack!=NULL) init_pulse_audio_buffers(cfile->achans,cfile->arate,exact_preview); - else init_pulse_audio_buffers(DEFAULT_AUDIO_CHANS,DEFAULT_AUDIO_RATE,FALSE); - has_audio_buffers=TRUE; + if (mainw->multitrack != NULL) init_pulse_audio_buffers(cfile->achans, cfile->arate, exact_preview); + else init_pulse_audio_buffers(DEFAULT_AUDIO_CHANS, DEFAULT_AUDIO_RATE, FALSE); + has_audio_buffers = TRUE; } #endif - mainw->abufs_to_fill=0; + mainw->abufs_to_fill = 0; //play until stopped or a stream finishes do { - mainw->cancelled=CANCEL_NONE; + mainw->cancelled = CANCEL_NONE; - if (mainw->event_list!=NULL&&!mainw->record) { - if (pb_start_event==NULL) pb_start_event=get_first_event(mainw->event_list); + if (mainw->event_list != NULL && !mainw->record) { + if (pb_start_event == NULL) pb_start_event = get_first_event(mainw->event_list); - if (!(mainw->preview&&mainw->multitrack!=NULL&&mainw->multitrack->is_rendering)) + if (!(mainw->preview && mainw->multitrack != NULL && mainw->multitrack->is_rendering)) init_track_decoders(); if (has_audio_buffers) { #ifdef ENABLE_JACK - if (audio_player==AUD_PLAYER_JACK) { + if (audio_player == AUD_PLAYER_JACK) { int i; - mainw->write_abuf=0; + mainw->write_abuf = 0; // fill our audio buffers now // this will also get our effects state // reset because audio sync may have set it - if (mainw->multitrack!=NULL) mainw->jackd->abufs[0]->arate=cfile->arate; - fill_abuffer_from(mainw->jackd->abufs[0],mainw->event_list,pb_start_event,exact_preview); - for (i=1; i<prefs->num_rtaudiobufs; i++) { + if (mainw->multitrack != NULL) mainw->jackd->abufs[0]->arate = cfile->arate; + fill_abuffer_from(mainw->jackd->abufs[0], mainw->event_list, pb_start_event, exact_preview); + for (i = 1; i < prefs->num_rtaudiobufs; i++) { // reset because audio sync may have set it - if (mainw->multitrack!=NULL) mainw->jackd->abufs[i]->arate=cfile->arate; - fill_abuffer_from(mainw->jackd->abufs[i],mainw->event_list,NULL,FALSE); + if (mainw->multitrack != NULL) mainw->jackd->abufs[i]->arate = cfile->arate; + fill_abuffer_from(mainw->jackd->abufs[i], mainw->event_list, NULL, FALSE); } pthread_mutex_lock(&mainw->abuf_mutex); - mainw->jackd->read_abuf=0; - mainw->abufs_to_fill=0; + mainw->jackd->read_abuf = 0; + mainw->abufs_to_fill = 0; pthread_mutex_unlock(&mainw->abuf_mutex); - mainw->jackd->in_use=TRUE; + mainw->jackd->in_use = TRUE; } #endif #ifdef HAVE_PULSE_AUDIO - if (audio_player==AUD_PLAYER_PULSE) { + if (audio_player == AUD_PLAYER_PULSE) { int i; - mainw->write_abuf=0; + mainw->write_abuf = 0; // fill our audio buffers now // this will also get our effects state - fill_abuffer_from(mainw->pulsed->abufs[0],mainw->event_list,pb_start_event,exact_preview); - for (i=1; i<prefs->num_rtaudiobufs; i++) { - fill_abuffer_from(mainw->pulsed->abufs[i],mainw->event_list,NULL,FALSE); + fill_abuffer_from(mainw->pulsed->abufs[0], mainw->event_list, pb_start_event, exact_preview); + for (i = 1; i < prefs->num_rtaudiobufs; i++) { + fill_abuffer_from(mainw->pulsed->abufs[i], mainw->event_list, NULL, FALSE); } pthread_mutex_lock(&mainw->abuf_mutex); - mainw->pulsed->read_abuf=0; - mainw->abufs_to_fill=0; + mainw->pulsed->read_abuf = 0; + mainw->abufs_to_fill = 0; pthread_mutex_unlock(&mainw->abuf_mutex); - mainw->pulsed->in_use=TRUE; + mainw->pulsed->in_use = TRUE; } #endif // let transport roll - mainw->video_seek_ready=TRUE; + mainw->video_seek_ready = TRUE; } } - if (mainw->multitrack==NULL||mainw->multitrack->pb_start_event==NULL) { - do_progress_dialog(FALSE,FALSE,NULL); + if (mainw->multitrack == NULL || mainw->multitrack->pb_start_event == NULL) { + do_progress_dialog(FALSE, FALSE, NULL); // reset audio buffers #ifdef ENABLE_JACK - if (audio_player==AUD_PLAYER_JACK&&mainw->jackd!=NULL) { + if (audio_player == AUD_PLAYER_JACK && mainw->jackd != NULL) { // must do this before deinit fx pthread_mutex_lock(&mainw->abuf_mutex); - mainw->jackd->read_abuf=-1; + mainw->jackd->read_abuf = -1; pthread_mutex_unlock(&mainw->abuf_mutex); } #endif #ifdef HAVE_PULSE_AUDIO - if (audio_player==AUD_PLAYER_PULSE&&mainw->pulsed!=NULL) { + if (audio_player == AUD_PLAYER_PULSE && mainw->pulsed != NULL) { // must do this before deinit fx pthread_mutex_lock(&mainw->abuf_mutex); - mainw->pulsed->read_abuf=-1; + mainw->pulsed->read_abuf = -1; pthread_mutex_unlock(&mainw->abuf_mutex); } #endif } else { // play from middle of mt timeline - cfile->next_event=mainw->multitrack->pb_start_event; + cfile->next_event = mainw->multitrack->pb_start_event; if (!has_audio_buffers) { // no audio buffering // get just effects state - get_audio_and_effects_state_at(mainw->multitrack->event_list,mainw->multitrack->pb_start_event,FALSE, + get_audio_and_effects_state_at(mainw->multitrack->event_list, mainw->multitrack->pb_start_event, FALSE, mainw->multitrack->exact_preview); } - do_progress_dialog(FALSE,FALSE,NULL); + do_progress_dialog(FALSE, FALSE, NULL); // reset audio read buffers #ifdef ENABLE_JACK - if (audio_player==AUD_PLAYER_JACK&&mainw->jackd!=NULL) { + if (audio_player == AUD_PLAYER_JACK && mainw->jackd != NULL) { // must do this before deinit fx pthread_mutex_lock(&mainw->abuf_mutex); - mainw->jackd->read_abuf=-1; + mainw->jackd->read_abuf = -1; pthread_mutex_unlock(&mainw->abuf_mutex); } #endif #ifdef HAVE_PULSE_AUDIO - if (audio_player==AUD_PLAYER_PULSE&&mainw->pulsed!=NULL) { + if (audio_player == AUD_PLAYER_PULSE && mainw->pulsed != NULL) { // must do this before deinit fx pthread_mutex_lock(&mainw->abuf_mutex); - mainw->pulsed->read_abuf=-1; + mainw->pulsed->read_abuf = -1; pthread_mutex_unlock(&mainw->abuf_mutex); } #endif @@ -2699,94 +2701,94 @@ // realtime effects off deinit_render_effects(); - cfile->next_event=NULL; + cfile->next_event = NULL; - if (!(mainw->preview&&mainw->multitrack!=NULL&&mainw->multitrack->is_rendering)) + if (!(mainw->preview && mainw->multitrack != NULL && mainw->multitrack->is_rendering)) free_track_decoders(); // multitrack loop - go back to loop start position unless external transport moved us - if (mainw->scratch==SCRATCH_NONE) { - mainw->multitrack->pb_start_event=mainw->multitrack->pb_loop_event; + if (mainw->scratch == SCRATCH_NONE) { + mainw->multitrack->pb_start_event = mainw->multitrack->pb_loop_event; } } - if (mainw->multitrack!=NULL) pb_start_event=mainw->multitrack->pb_start_event; - } while (mainw->multitrack!=NULL&&(mainw->loop_cont||mainw->scratch!=SCRATCH_NONE)&& - (mainw->cancelled==CANCEL_NONE||mainw->cancelled==CANCEL_EVENT_LIST_END)); + if (mainw->multitrack != NULL) pb_start_event = mainw->multitrack->pb_start_event; + } while (mainw->multitrack != NULL && (mainw->loop_cont || mainw->scratch != SCRATCH_NONE) && + (mainw->cancelled == CANCEL_NONE || mainw->cancelled == CANCEL_EVENT_LIST_END)); } - mainw->osc_block=TRUE; - mainw->rte_textparm=NULL; - mainw->playing_file=-1; + mainw->osc_block = TRUE; + mainw->rte_textparm = NULL; + mainw->playing_file = -1; // play completed - mainw->video_seek_ready=FALSE; + mainw->video_seek_ready = FALSE; #ifdef ENABLE_JACK - if (audio_player==AUD_PLAYER_JACK&&(mainw->jackd!=NULL||mainw->jackd_read!=NULL)) { + if (audio_player == AUD_PLAYER_JACK && (mainw->jackd != NULL || mainw->jackd_read != NULL)) { - if (mainw->jackd_read!=NULL||mainw->aud_rec_fd!=-1) - jack_rec_audio_end(!(prefs->perm_audio_reader&&prefs->audio_src==AUDIO_SRC_EXT),TRUE); + if (mainw->jackd_read != NULL || mainw->aud_rec_fd != -1) + jack_rec_audio_end(!(prefs->perm_audio_reader && prefs->audio_src == AUDIO_SRC_EXT), TRUE); // send jack transport stop - if (!mainw->preview&&!mainw->foreign) jack_pb_stop(); + if (!mainw->preview && !mainw->foreign) jack_pb_stop(); // tell jack client to close audio file - if (mainw->jackd!=NULL&&mainw->jackd->playing_file>0) { + if (mainw->jackd != NULL && mainw->jackd->playing_file > 0) { boolean timeout; - int alarm_handle=lives_alarm_set(LIVES_DEFAULT_TIMEOUT); - while (!(timeout=lives_alarm_get(alarm_handle))&&jack_get_msgq(mainw->jackd)!=NULL) { + int alarm_handle = lives_alarm_set(LIVES_DEFAULT_TIMEOUT); + while (!(timeout = lives_alarm_get(alarm_handle)) && jack_get_msgq(mainw->jackd) != NULL) { sched_yield(); // wait for seek } if (timeout) jack_try_reconnect(); lives_alarm_clear(alarm_handle); - jack_message.command=ASERVER_CMD_FILE_CLOSE; - jack_message.data=NULL; - jack_message.next=NULL; - mainw->jackd->msgq=&jack_message; + jack_message.command = ASERVER_CMD_FILE_CLOSE; + jack_message.data = NULL; + jack_message.next = NULL; + mainw->jackd->msgq = &jack_message; } - if (mainw->record&&(prefs->rec_opts&REC_AUDIO)) { - weed_plant_t *event=get_last_frame_event(mainw->event_list); - insert_audio_event_at(mainw->event_list,event,-1,1,0.,0.); // audio switch off + if (mainw->record && (prefs->rec_opts & REC_AUDIO)) { + weed_plant_t *event = get_last_frame_event(mainw->event_list); + insert_audio_event_at(mainw->event_list, event, -1, 1, 0., 0.); // audio switch off } } else { #endif #ifdef HAVE_PULSE_AUDIO - if (audio_player==AUD_PLAYER_PULSE&&(mainw->pulsed!=NULL||mainw->pulsed_read!=NULL)) { + if (audio_player == AUD_PLAYER_PULSE && (mainw->pulsed != NULL || mainw->pulsed_read != NULL)) { - if (mainw->pulsed_read!=NULL||mainw->aud_rec_fd!=-1) - pulse_rec_audio_end(!(prefs->perm_audio_reader&&prefs->audio_src==AUDIO_SRC_EXT),TRUE); + if (mainw->pulsed_read != NULL || mainw->aud_rec_fd != -1) + pulse_rec_audio_end(!(prefs->perm_audio_reader && prefs->audio_src == AUDIO_SRC_EXT), TRUE); // tell pulse client to close audio file - if (mainw->pulsed!=NULL&&(mainw->pulsed->playing_file>0||mainw->pulsed->fd>0)) { + if (mainw->pulsed != NULL && (mainw->pulsed->playing_file > 0 || mainw->pulsed->fd > 0)) { boolean timeout; - int alarm_handle=lives_alarm_set(LIVES_DEFAULT_TIMEOUT); - while (!(timeout=lives_alarm_get(alarm_handle))&&pulse_get_msgq(mainw->pulsed)!=NULL) { + int alarm_handle = lives_alarm_set(LIVES_DEFAULT_TIMEOUT); + while (!(timeout = lives_alarm_get(alarm_handle)) && pulse_get_msgq(mainw->pulsed) != NULL) { sched_yield(); // wait for seek } if (timeout) pulse_try_reconnect(); lives_alarm_clear(alarm_handle); - pulse_message.command=ASERVER_CMD_FILE_CLOSE; - pulse_message.data=NULL; - pulse_message.next=NULL; - mainw->pulsed->msgq=&pulse_message; - } - if (mainw->record&&(prefs->rec_opts&REC_AUDIO)) { - weed_plant_t *event=get_last_frame_event(mainw->event_list); - insert_audio_event_at(mainw->event_list,event,-1,1,0.,0.); // audio switch off + pulse_message.command = ASERVER_CMD_FILE_CLOSE; + pulse_message.data = NULL; + pulse_message.next = NULL; + mainw->pulsed->msgq = &pulse_message; + } + if (mainw->record && (prefs->rec_opts & REC_AUDIO)) { + weed_plant_t *event = get_last_frame_event(mainw->event_list); + insert_audio_event_at(mainw->event_list, event, -1, 1, 0., 0.); // audio switch off } } else { #endif - if (!is_realtime_aplayer(audio_player)&&stopcom!=NULL) { + if (!is_realtime_aplayer(audio_player) && stopcom != NULL) { // kill sound(if still playing) - lives_system(stopcom,TRUE); - mainw->aud_file_to_kill=-1; + lives_system(stopcom, TRUE); + mainw->aud_file_to_kill = -1; lives_free(stopcom); } #ifdef ENABLE_JACK @@ -2796,14 +2798,14 @@ } #endif - if (com!=NULL) lives_free(com); - mainw->actual_frame=0; + if (com != NULL) lives_free(com); + mainw->actual_frame = 0; - if (audio_player==AUD_PLAYER_JACK) audio_cache_end(); + if (audio_player == AUD_PLAYER_JACK) audio_cache_end(); - lives_notify(LIVES_OSC_NOTIFY_PLAYBACK_STOPPED,""); + lives_notify(LIVES_OSC_NOTIFY_PLAYBACK_STOPPED, ""); - mainw->video_seek_ready=FALSE; + mainw->video_seek_ready = FALSE; // PLAY FINISHED... @@ -2811,137 +2813,136 @@ if (prefs->stop_screensaver) { #ifdef GDK_WINDOWING_X11 - com=lives_strdup("xset s on 2>/dev/null; xset +dpms 2>/dev/null ;"); + com = lives_strdup("xset s on 2>/dev/null; xset +dpms 2>/dev/null ;"); if (capable->has_gconftool_2) { - char *xnew=lives_strdup(" gconftool-2 --set --type bool /apps/gnome-screensaver/idle_activation_enabled true 2>/dev/null ;"); - tmp=lives_strconcat(com,xnew,NULL); + char *xnew = lives_strdup(" gconftool-2 --set --type bool /apps/gnome-screensaver/idle_activation_enabled true 2>/dev/null ;"); + tmp = lives_strconcat(com, xnew, NULL); lives_free(com); lives_free(xnew); - com=tmp; + com = tmp; } - if (capable->has_xdg_screensaver&&awinid!=-1) { - char *xnew=lives_strdup_printf(" xdg-screensaver resume %"PRIu64" 2>/dev/null ;",awinid); - tmp=lives_strconcat(com,xnew,NULL); + if (capable->has_xdg_screensaver && awinid != -1) { + char *xnew = lives_strdup_printf(" xdg-screensaver resume %"PRIu64" 2>/dev/null ;", awinid); + tmp = lives_strconcat(com, xnew, NULL); lives_free(com); lives_free(xnew); - com=tmp; + com = tmp; } #else if (capable->has_gconftool_2) { - com=lives_strdup("gconftool-2 --set --type bool /apps/gnome-screensaver/idle_activation_enabled true 2>/dev/null ;"); - } else com=lives_strdup(""); + com = lives_strdup("gconftool-2 --set --type bool /apps/gnome-screensaver/idle_activation_enabled true 2>/dev/null ;"); + } else com = lives_strdup(""); #endif - if (com!=NULL) { - lives_system(com,TRUE); + if (com != NULL) { + lives_system(com, TRUE); lives_free(com); } } - if (!mainw->foreign&&prefs->midisynch) lives_system("midistop",TRUE); + if (!mainw->foreign && prefs->midisynch) lives_system("midistop", TRUE); if (mainw->ext_playback) { vid_playback_plugin_exit(); } // we could have started by playing a generator, which could've been closed - if (mainw->files[current_file]==NULL) current_file=mainw->current_file; + if (mainw->files[current_file] == NULL) current_file = mainw->current_file; if (!is_realtime_aplayer(audio_player)) { // wait for audio_ended... - if (cfile->achans>0&&com2!=NULL) { + if (cfile->achans > 0 && com2 != NULL) { wait_for_stop(com2); - mainw->aud_file_to_kill=-1; + mainw->aud_file_to_kill = -1; } lives_freep((void **)&com2); } - if (mainw->current_file>-1) { - stfile=lives_build_filename(prefs->workdir,cfile->handle,LIVES_STATUS_FILE_NAME,NULL); - lives_snprintf(cfile->info_file,PATH_MAX,"%s",stfile); + if (mainw->current_file > -1) { + stfile = lives_build_filename(prefs->workdir, cfile->handle, LIVES_STATUS_FILE_NAME, NULL); + lives_snprintf(cfile->info_file, PATH_MAX, "%s", stfile); lives_free(stfile); } - if (mainw->scrap_file!=-1&&mainw->files[mainw->scrap_file]!=NULL&&mainw->files[mainw->scrap_file]->cb_src>=0) { + if (mainw->scrap_file != -1 && mainw->files[mainw->scrap_file] != NULL && mainw->files[mainw->scrap_file]->cb_src >= 0) { close(mainw->files[mainw->scrap_file]->cb_src); - mainw->files[mainw->scrap_file]->cb_src=-1; + mainw->files[mainw->scrap_file]->cb_src = -1; } if (mainw->foreign) { // recording from external window capture - mainw->pwidth=lives_widget_get_allocation_width(mainw->playframe)-H_RESIZE_ADJUST; - mainw->pheight=lives_widget_get_allocation_height(mainw->playframe)-V_RESIZE_ADJUST; + mainw->pwidth = lives_widget_get_allocation_width(mainw->playframe) - H_RESIZE_ADJUST; + mainw->pheight = lives_widget_get_allocation_height(mainw->playframe) - V_RESIZE_ADJUST; - cfile->hsize=mainw->pwidth; - cfile->vsize=mainw->pheight; + cfile->hsize = mainw->pwidth; + cfile->vsize = mainw->pheight; - lives_xwindow_set_keep_above(mainw->foreign_window,FALSE); + lives_xwindow_set_keep_above(mainw->foreign_window, FALSE); lives_widget_context_update(); return; } - if (mainw->toy_type==LIVES_TOY_AUTOLIVES) { + if (mainw->toy_type == LIVES_TOY_AUTOLIVES) { on_toy_activate(NULL, LIVES_INT_TO_POINTER(LIVES_TOY_NONE)); } lives_widget_hide(mainw->playarea); // unblank the background - if ((mainw->faded||mainw->fs)&&mainw->multitrack==NULL) { + if ((mainw->faded || mainw->fs) && mainw->multitrack == NULL) { unfade_background(); } // resize out of double size - if ((mainw->double_size&&!mainw->fs)&&mainw->multitrack==NULL) { + if ((mainw->double_size && !mainw->fs) && mainw->multitrack == NULL) { resize(1); - if (mainw->play_window!=NULL) { + if (mainw->play_window != NULL) { resize_play_window(); - if (mainw->sepwin_scale!=100.) xtrabit=lives_strdup_printf(_(" (%d %% scale)"),(int)mainw->sepwin_scale); - else xtrabit=lives_strdup(""); - title=lives_strdup_printf("%s%s",lives_window_get_title(LIVES_WINDOW - ((mainw->multitrack==NULL?mainw->LiVES: - mainw->multitrack->window))),xtrabit); - if (mainw->play_window!=NULL) - lives_window_set_title(LIVES_WINDOW(mainw->play_window),title); + if (mainw->sepwin_scale != 100.) xtrabit = lives_strdup_printf(_(" (%d %% scale)"), (int)mainw->sepwin_scale); + else xtrabit = lives_strdup(""); + title = lives_strdup_printf("%s%s", lives_window_get_title(LIVES_WINDOW + (LIVES_MAIN_WINDOW_WIDGET)), xtrabit); + if (mainw->play_window != NULL) + lives_window_set_title(LIVES_WINDOW(mainw->play_window), title); lives_free(title); lives_free(xtrabit); } - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_show(mainw->sep_image); } lives_widget_show(mainw->scrolledwindow); } // switch out of full screen mode - if (mainw->fs&&mainw->multitrack==NULL) { + if (mainw->fs && mainw->multitrack == NULL) { lives_widget_show(mainw->frame1); lives_widget_show(mainw->frame2); lives_widget_show(mainw->eventbox3); lives_widget_show(mainw->eventbox4); lives_widget_show(mainw->sep_image); - lives_frame_set_label(LIVES_FRAME(mainw->playframe),_("Preview")); + lives_frame_set_label(LIVES_FRAME(mainw->playframe), _("Preview")); lives_container_set_border_width(LIVES_CONTAINER(mainw->playframe), widget_opts.border_width); resize(1); lives_widget_show(mainw->t_bckground); lives_widget_show(mainw->t_double); } - if (prefs->show_gui&&(lives_widget_get_allocation_height(mainw->eventbox)+lives_widget_get_allocation_height(mainw->menubar) - >mainw->scr_height-2||lives_widget_get_allocation_width(mainw->LiVES)>mainw->scr_width-2)) { - int wx,wy; + if (prefs->show_gui && (lives_widget_get_allocation_height(mainw->eventbox) + lives_widget_get_allocation_height(mainw->menubar) + > mainw->scr_height - 2 || lives_widget_get_allocation_width(mainw->LiVES) > mainw->scr_width - 2)) { + int wx, wy; // the screen grew too much...remaximise it lives_window_unmaximize(LIVES_WINDOW(mainw->LiVES)); - mainw->noswitch=TRUE; + mainw->noswitch = TRUE; lives_widget_context_update(); - mainw->noswitch=FALSE; - lives_window_get_position(LIVES_WINDOW(mainw->LiVES),&wx,&wy); - if (prefs->gui_monitor==0) lives_window_move(LIVES_WINDOW(mainw->LiVES),0,0); + mainw->noswitch = FALSE; + lives_window_get_position(LIVES_WINDOW(mainw->LiVES), &wx, &wy); + if (prefs->gui_monitor == 0) lives_window_move(LIVES_WINDOW(mainw->LiVES), 0, 0); lives_window_maximize(LIVES_WINDOW(mainw->LiVES)); } - if (mainw->multitrack==NULL) { + if (mainw->multitrack == NULL) { lives_widget_hide(mainw->playframe); lives_widget_show(mainw->frame1); lives_widget_show(mainw->frame2); @@ -2952,82 +2953,80 @@ lives_container_set_border_width(LIVES_CONTAINER(mainw->playframe), widget_opts.border_width); } - if (!is_realtime_aplayer(audio_player)) mainw->mute=mute; + if (!is_realtime_aplayer(audio_player)) mainw->mute = mute; - if (!mainw->preview&&!cfile->opening) { + if (!mainw->preview && !cfile->opening) { sensitize(); } - if (mainw->current_file>-1&&cfile->opening) { - lives_widget_set_sensitive(mainw->mute_audio, cfile->achans>0); + if (mainw->current_file > -1 && cfile->opening) { + lives_widget_set_sensitive(mainw->mute_audio, cfile->achans > 0); lives_widget_set_sensitive(mainw->loop_continue, TRUE); - lives_widget_set_sensitive(mainw->loop_video, cfile->achans>0&&cfile->frames>0); + lives_widget_set_sensitive(mainw->loop_video, cfile->achans > 0 && cfile->frames > 0); } - if (mainw->cancelled!=CANCEL_USER_PAUSED) { + if (mainw->cancelled != CANCEL_USER_PAUSED) { lives_widget_set_sensitive(mainw->stop, FALSE); lives_widget_set_sensitive(mainw->m_stopbutton, FALSE); } - if (mainw->multitrack==NULL) { + if (mainw->multitrack == NULL) { // update screen for internal players lives_widget_hide(mainw->framebar); - lives_entry_set_text(LIVES_ENTRY(mainw->framecounter),""); - lives_image_set_from_pixbuf(LIVES_IMAGE(mainw->play_image),NULL); + lives_entry_set_text(LIVES_ENTRY(mainw->framecounter), ""); + lives_image_set_from_pixbuf(LIVES_IMAGE(mainw->play_image), NULL); } // kill the separate play window - if (mainw->play_window!=NULL) { + if (mainw->play_window != NULL) { lives_window_unfullscreen(LIVES_WINDOW(mainw->play_window)); - if (prefs->sepwin_type==SEPWIN_TYPE_NON_STICKY) { + if (prefs->sepwin_type == SEPWIN_TYPE_NON_STICKY) { kill_play_window(); } else { // or resize it back to single size - if (mainw->current_file>-1&&cfile->is_loaded&&cfile->frames>0&&!mainw->is_rendering&& - (cfile->clip_type!=CLIP_TYPE_GENERATOR)) { - if (mainw->preview_box==NULL) { + if (mainw->current_file > -1 && cfile->is_loaded && cfile->frames > 0 && !mainw->is_rendering && + (cfile->clip_type != CLIP_TYPE_GENERATOR)) { + if (mainw->preview_box == NULL) { // create the preview in the sepwin lives_signal_handler_disconnect(mainw->play_window, mainw->pw_scroll_func); make_preview_box(); } - if (mainw->current_file!=current_file) { + if (mainw->current_file != current_file) { // now we have to guess how to center the play window - mainw->opwx=mainw->opwy=-1; - mainw->preview_frame=0; + mainw->opwx = mainw->opwy = -1; + mainw->preview_frame = 0; } } - if (mainw->play_window!=NULL) { - if (mainw->multitrack==NULL) { - mainw->playing_file=-2; + if (mainw->play_window != NULL) { + if (mainw->multitrack == NULL) { + mainw->playing_file = -2; resize_play_window(); - mainw->playing_file=-1; + mainw->playing_file = -1; - if (mainw->sepwin_scale!=100.) xtrabit=lives_strdup_printf(_(" (%d %% scale)"),(int)mainw->sepwin_scale); - else xtrabit=lives_strdup(""); - title=lives_strdup_printf("%s%s",lives_window_get_title(LIVES_WINDOW - ((mainw->multitrack==NULL?mainw->LiVES: - mainw->multitrack->window))),xtrabit); - lives_window_set_title(LIVES_WINDOW(mainw->play_window),title); + if (mainw->sepwin_scale != 100.) xtrabit = lives_strdup_printf(_(" (%d %% scale)"), (int)mainw->sepwin_scale); + else xtrabit = lives_strdup(""); + title = lives_strdup_printf("%s%s", lives_window_get_title(LIVES_WINDOW + (LIVES_MAIN_WINDOW_WIDGET)), xtrabit); + lives_window_set_title(LIVES_WINDOW(mainw->play_window), title); lives_free(title); lives_free(xtrabit); lives_widget_queue_draw(mainw->LiVES); - mainw->noswitch=TRUE; + mainw->noswitch = TRUE; lives_widget_context_update(); - if (mainw->play_window!=NULL) { - char *title,*xtrabit; + if (mainw->play_window != NULL) { + char *title, *xtrabit; //load_preview_image(FALSE); - mainw->noswitch=FALSE; - if (mainw->sepwin_scale!=100.) xtrabit=lives_strdup_printf(_(" (%d %% scale)"),(int)mainw->sepwin_scale); - else xtrabit=lives_strdup(""); - title=lives_strdup_printf("%s%s",lives_window_get_title(LIVES_WINDOW - ((mainw->multitrack==NULL?mainw->LiVES: - mainw->multitrack->window))),xtrabit); - lives_window_set_title(LIVES_WINDOW(mainw->play_window),title); + mainw->noswitch = FALSE; + if (mainw->sepwin_scale != 100.) xtrabit = lives_strdup_printf(_(" (%d %% scale)"), (int)mainw->sepwin_scale); + else xtrabit = lives_strdup(""); + title = lives_strdup_printf("%s%s", lives_window_get_title(LIVES_WINDOW + (LIVES_MAIN_WINDOW_WIDGET)), xtrabit); + lives_window_set_title(LIVES_WINDOW(mainw->play_window), title); lives_free(title); lives_free(xtrabit); @@ -3042,12 +3041,12 @@ } // free the last frame image - if (mainw->frame_layer!=NULL) { + if (mainw->frame_layer != NULL) { weed_layer_free(mainw->frame_layer); - mainw->frame_layer=NULL; + mainw->frame_layer = NULL; } } else { - if (mainw->multitrack==NULL) { + if (mainw->multitrack == NULL) { lives_widget_queue_draw(mainw->LiVES); lives_widget_context_update(); } @@ -3057,66 +3056,66 @@ unhide_cursor(lives_widget_get_xwindow(mainw->playarea)); } - if (mainw->current_file>-1) cfile->play_paused=FALSE; + if (mainw->current_file > -1) cfile->play_paused = FALSE; - if (mainw->blend_file!=-1&&mainw->blend_file!=mainw->current_file&&mainw->files[mainw->blend_file]!=NULL&& - mainw->files[mainw->blend_file]->clip_type==CLIP_TYPE_GENERATOR) { - int xcurrent_file=mainw->current_file; + if (mainw->blend_file != -1 && mainw->blend_file != mainw->current_file && mainw->files[mainw->blend_file] != NULL && + mainw->files[mainw->blend_file]->clip_type == CLIP_TYPE_GENERATOR) { + int xcurrent_file = mainw->current_file; weed_bg_generator_end((weed_plant_t *)mainw->files[mainw->blend_file]->ext_src); - mainw->current_file=xcurrent_file; + mainw->current_file = xcurrent_file; } - mainw->filter_map=NULL; - mainw->afilter_map=NULL; - mainw->audio_event=NULL; + mainw->filter_map = NULL; + mainw->afilter_map = NULL; + mainw->audio_event = NULL; // disable the freeze key lives_accel_group_disconnect(LIVES_ACCEL_GROUP(mainw->accel_group), freeze_closure); - if (mainw->multitrack==NULL) lives_widget_show(mainw->scrolledwindow); + if (mainw->multitrack == NULL) lives_widget_show(mainw->scrolledwindow); - if (mainw->current_file>-1) { - if (mainw->toy_type==LIVES_TOY_MAD_FRAMES&&!cfile->opening) { + if (mainw->current_file > -1) { + if (mainw->toy_type == LIVES_TOY_MAD_FRAMES && !cfile->opening) { load_start_image(cfile->start); load_end_image(cfile->end); } } if (prefs->show_player_stats) { - if (mainw->fps_measure>0.) { - d_print(_("Average FPS was %.4f\n"),mainw->fps_measure); + if (mainw->fps_measure > 0.) { + d_print(_("Average FPS was %.4f\n"), mainw->fps_measure); } } if (mainw->size_warn) { do_error_dialog( _("\n\nSome frames in this clip are wrongly sized.\nYou should click on Tools--->Resize All\nand resize all frames to the current size.\n")); - mainw->size_warn=FALSE; + mainw->size_warn = FALSE; } - mainw->is_processing=mainw->preview; + mainw->is_processing = mainw->preview; // TODO - ???? - if (mainw->current_file>-1&&cfile->clip_type==CLIP_TYPE_DISK&&cfile->frames==0&&mainw->record_perf) { - lives_signal_handler_block(mainw->record_perf,mainw->record_perf_func); - lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->record_perf),FALSE); - lives_signal_handler_unblock(mainw->record_perf,mainw->record_perf_func); + if (mainw->current_file > -1 && cfile->clip_type == CLIP_TYPE_DISK && cfile->frames == 0 && mainw->record_perf) { + lives_signal_handler_block(mainw->record_perf, mainw->record_perf_func); + lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->record_perf), FALSE); + lives_signal_handler_unblock(mainw->record_perf, mainw->record_perf_func); } // TODO - can this be done earlier ? - if (mainw->cancelled==CANCEL_APP_QUIT) on_quit_activate(NULL,NULL); + if (mainw->cancelled == CANCEL_APP_QUIT) on_quit_activate(NULL, NULL); // end record performance #ifdef ENABLE_JACK - if (audio_player==AUD_PLAYER_JACK&&mainw->jackd!=NULL) { + if (audio_player == AUD_PLAYER_JACK && mainw->jackd != NULL) { boolean timeout; - int alarm_handle=lives_alarm_set(LIVES_DEFAULT_TIMEOUT); - while (!(timeout=lives_alarm_get(alarm_handle))&&jack_get_msgq(mainw->jackd)!=NULL) { + int alarm_handle = lives_alarm_set(LIVES_DEFAULT_TIMEOUT); + while (!(timeout = lives_alarm_get(alarm_handle)) && jack_get_msgq(mainw->jackd) != NULL) { sched_yield(); // wait for seek } if (timeout) jack_try_reconnect(); lives_alarm_clear(alarm_handle); - mainw->jackd->in_use=FALSE; + mainw->jackd->in_use = FALSE; if (has_audio_buffers) { free_jack_audio_buffers(); @@ -3127,10 +3126,10 @@ } #endif #ifdef HAVE_PULSE_AUDIO - if (audio_player==AUD_PLAYER_PULSE&&mainw->pulsed!=NULL) { + if (audio_player == AUD_PLAYER_PULSE && mainw->pulsed != NULL) { boolean timeout; - int alarm_handle=lives_alarm_set(LIVES_DEFAULT_TIMEOUT); - while (!(timeout=lives_alarm_get(alarm_handle))&&pulse_get_msgq(mainw->pulsed)!=NULL) { + int alarm_handle = lives_alarm_set(LIVES_DEFAULT_TIMEOUT); + while (!(timeout = lives_alarm_get(alarm_handle)) && pulse_get_msgq(mainw->pulsed) != NULL) { sched_yield(); // wait for seek } @@ -3138,7 +3137,7 @@ lives_alarm_clear(alarm_handle); - mainw->pulsed->in_use=FALSE; + mainw->pulsed->in_use = FALSE; if (has_audio_buffers) { free_pulse_audio_buffers(); @@ -3148,46 +3147,46 @@ } #endif - if (mainw->bad_aud_file!=NULL) { + if (mainw->bad_aud_file != NULL) { // we got an error recording audio - do_write_failed_error_s(mainw->bad_aud_file,NULL); + do_write_failed_error_s(mainw->bad_aud_file, NULL); lives_freep((void **)&mainw->bad_aud_file); } // need to do this here, in case we want to preview a generator which will close to -1 if (mainw->record) { - if (!mainw->preview&&cfile->clip_type==CLIP_TYPE_GENERATOR) { + if (!mainw->preview && cfile->clip_type == CLIP_TYPE_GENERATOR) { // just deinit the generator here, to possibly save CPU cycles - mainw->osc_block=TRUE; - wge_inner((weed_plant_t *)cfile->ext_src,FALSE); - mainw->osc_block=FALSE; + mainw->osc_block = TRUE; + wge_inner((weed_plant_t *)cfile->ext_src, FALSE); + mainw->osc_block = FALSE; } deal_with_render_choice(TRUE); sensitize(); } - mainw->record_paused=mainw->record_starting=FALSE; + mainw->record_paused = mainw->record_starting = FALSE; - if (!mainw->preview&&mainw->current_file>=1&&cfile->clip_type==CLIP_TYPE_GENERATOR) { - mainw->osc_block=TRUE; + if (!mainw->preview && mainw->current_file >= 1 && cfile->clip_type == CLIP_TYPE_GENERATOR) { + mainw->osc_block = TRUE; weed_generator_end((weed_plant_t *)cfile->ext_src); - mainw->osc_block=FALSE; - if (mainw->multitrack==NULL) { - if (mainw->files[current_file]!=NULL) switch_to_file(mainw->current_file,current_file); - else if (mainw->pre_src_file!=-1) switch_to_file(mainw->current_file,mainw->pre_src_file); + mainw->osc_block = FALSE; + if (mainw->multitrack == NULL) { + if (mainw->files[current_file] != NULL) switch_to_file(mainw->current_file, current_file); + else if (mainw->pre_src_file != -1) switch_to_file(mainw->current_file, mainw->pre_src_file); } } - if (mainw->multitrack==NULL) mainw->osc_block=FALSE; + if (mainw->multitrack == NULL) mainw->osc_block = FALSE; reset_clipmenu(); disable_record(); - if (mainw->multitrack==NULL&&mainw->current_file>-1) - set_main_title(cfile->name,0); + if (mainw->multitrack == NULL && mainw->current_file > -1) + set_main_title(cfile->name, 0); - if (mainw->play_window!=NULL) { + if (mainw->play_window != NULL) { resize_play_window(); //load_preview_image(FALSE); } @@ -3209,25 +3208,25 @@ char *com; boolean is_unique; - int current_file=mainw->current_file; + int current_file = mainw->current_file; - if (index==-1) { + if (index == -1) { too_many_files(); return FALSE; } do { - mainw->current_file=-1; // stop update of start/end frames + mainw->current_file = -1; // stop update of start/end frames - is_unique=TRUE; + is_unique = TRUE; - com=lives_strdup_printf("%s new %d",prefs->backend_sync,capable->mainpid); + com = lives_strdup_printf("%s new %d", prefs->backend_sync, capable->mainpid); - lives_system(com,TRUE); + lives_system(com, TRUE); lives_free(com); // ignore return value here, as it will be dealt with in get_handle_from_info_file() - mainw->current_file=current_file; + mainw->current_file = current_file; //get handle from info file, we will also malloc a new "file" struct here if (!get_handle_from_info_file(index)) { @@ -3236,11 +3235,11 @@ return FALSE; } - mainw->current_file=index; + mainw->current_file = index; - if (strlen(mainw->set_name)>0) { - char *setclipdir=lives_build_filename(prefs->workdir,mainw->set_name,"clips",cfile->handle,NULL); - if (lives_file_test(setclipdir,LIVES_FILE_TEST_IS_DIR)) is_unique=FALSE; + if (strlen(mainw->set_name) > 0) { + char *setclipdir = lives_build_filename(prefs->workdir, mainw->set_name, "clips", cfile->handle, NULL); + if (lives_file_test(setclipdir, LIVES_FILE_TEST_IS_DIR)) is_unique = FALSE; lives_free(setclipdir); } @@ -3257,91 +3256,91 @@ char *stfile; // any cfile (clip) initialisation goes in here - cfile->menuentry=NULL; - cfile->start=cfile->end=0; - cfile->old_frames=cfile->frames=0; - lives_snprintf(cfile->type,40,"%s",_("Unknown")); - cfile->f_size=0l; - cfile->achans=0; - cfile->arate=0; - cfile->arps=0; - cfile->afilesize=0l; - cfile->asampsize=0; - cfile->undoable=FALSE; - cfile->redoable=FALSE; - cfile->changed=FALSE; - cfile->hsize=cfile->vsize=cfile->ohsize=cfile->ovsize=0; - cfile->fps=cfile->pb_fps=prefs->default_fps; - cfile->events[0]=NULL; - cfile->insert_start=cfile->insert_end=0; - cfile->is_untitled=TRUE; - cfile->was_renamed=FALSE; - cfile->undo_action=UNDO_NONE; - cfile->opening_audio=cfile->opening=cfile->opening_only_audio=FALSE; - cfile->pointer_time=0.; - cfile->restoring=cfile->opening_loc=cfile->nopreview=cfile->is_loaded=FALSE; - cfile->video_time=cfile->total_time=cfile->laudio_time=cfile->raudio_time=0.; - cfile->freeze_fps=0.; - cfile->frameno=cfile->last_frameno=0; - cfile->proc_ptr=NULL; - cfile->progress_start=cfile->progress_end=0; - cfile->play_paused=cfile->nokeep=FALSE; - cfile->undo_start=cfile->undo_end=0; - cfile->rowstride=0; // unknown - cfile->ext_src=NULL; - cfile->clip_type=CLIP_TYPE_DISK; - cfile->ratio_fps=FALSE; - cfile->aseek_pos=0; - cfile->unique_id=lives_random(); - cfile->layout_map=NULL; - cfile->frame_index=cfile->frame_index_back=NULL; - cfile->fx_frame_pump=0; - cfile->stored_layout_frame=0; - cfile->stored_layout_audio=0.; - cfile->stored_layout_fps=0.; - cfile->stored_layout_idx=-1; - cfile->interlace=LIVES_INTERLACE_NONE; - cfile->subt=NULL; - cfile->op_dir=NULL; - cfile->op_ds_warn_level=0; - cfile->no_proc_sys_errors=cfile->no_proc_read_errors=cfile->no_proc_write_errors=FALSE; - cfile->keep_without_preview=FALSE; - cfile->cb_src=-1; - cfile->needs_update=FALSE; - - if (!strcmp(prefs->image_ext,LIVES_FILE_EXT_JPG)) cfile->img_type=IMG_TYPE_JPEG; - else cfile->img_type=IMG_TYPE_PNG; - - cfile->bpp=(cfile->img_type==IMG_TYPE_JPEG)?24:32; - cfile->deinterlace=FALSE; - - cfile->play_paused=FALSE; - cfile->header_version=LIVES_CLIP_HEADER_VERSION; - - cfile->event_list=cfile->event_list_back=NULL; - cfile->next_event=NULL; - - memset(cfile->name,0,1); - memset(cfile->mime_type,0,1); - memset(cfile->file_name,0,1); - memset(cfile->save_file_name,0,1); - - memset(cfile->comment,0,1); - memset(cfile->author,0,1); - memset(cfile->title,0,1); - memset(cfile->keywords,0,1); - - cfile->signed_endian=AFORM_UNKNOWN; - lives_snprintf(cfile->undo_text,32,"%s",_("_Undo")); - lives_snprintf(cfile->redo_text,32,"%s",_("_Redo")); + cfile->menuentry = NULL; + cfile->start = cfile->end = 0; + cfile->old_frames = cfile->frames = 0; + lives_snprintf(cfile->type, 40, "%s", _("Unknown")); + cfile->f_size = 0l; + cfile->achans = 0; + cfile->arate = 0; + cfile->arps = 0; + cfile->afilesize = 0l; + cfile->asampsize = 0; + cfile->undoable = FALSE; + cfile->redoable = FALSE; + cfile->changed = FALSE; + cfile->hsize = cfile->vsize = cfile->ohsize = cfile->ovsize = 0; + cfile->fps = cfile->pb_fps = prefs->default_fps; + cfile->events[0] = NULL; + cfile->insert_start = cfile->insert_end = 0; + cfile->is_untitled = TRUE; + cfile->was_renamed = FALSE; + cfile->undo_action = UNDO_NONE; + cfile->opening_audio = cfile->opening = cfile->opening_only_audio = FALSE; + cfile->pointer_time = 0.; + cfile->restoring = cfile->opening_loc = cfile->nopreview = cfile->is_loaded = FALSE; + cfile->video_time = cfile->total_time = cfile->laudio_time = cfile->raudio_time = 0.; + cfile->freeze_fps = 0.; + cfile->frameno = cfile->last_frameno = 0; + cfile->proc_ptr = NULL; + cfile->progress_start = cfile->progress_end = 0; + cfile->play_paused = cfile->nokeep = FALSE; + cfile->undo_start = cfile->undo_end = 0; + cfile->rowstride = 0; // unknown + cfile->ext_src = NULL; + cfile->clip_type = CLIP_TYPE_DISK; + cfile->ratio_fps = FALSE; + cfile->aseek_pos = 0; + cfile->unique_id = lives_random(); + cfile->layout_map = NULL; + cfile->frame_index = cfile->frame_index_back = NULL; + cfile->fx_frame_pump = 0; + cfile->stored_layout_frame = 0; + cfile->stored_layout_audio = 0.; + cfile->stored_layout_fps = 0.; + cfile->stored_layout_idx = -1; + cfile->interlace = LIVES_INTERLACE_NONE; + cfile->subt = NULL; + cfile->op_dir = NULL; + cfile->op_ds_warn_level = 0; + cfile->no_proc_sys_errors = cfile->no_proc_read_errors = cfile->no_proc_write_errors = FALSE; + cfile->keep_without_preview = FALSE; + cfile->cb_src = -1; + cfile->needs_update = FALSE; + + if (!strcmp(prefs->image_ext, LIVES_FILE_EXT_JPG)) cfile->img_type = IMG_TYPE_JPEG; + else cfile->img_type = IMG_TYPE_PNG; + + cfile->bpp = (cfile->img_type == IMG_TYPE_JPEG) ? 24 : 32; + cfile->deinterlace = FALSE; + + cfile->play_paused = FALSE; + cfile->header_version = LIVES_CLIP_HEADER_VERSION; + + cfile->event_list = cfile->event_list_back = NULL; + cfile->next_event = NULL; + + memset(cfile->name, 0, 1); + memset(cfile->mime_type, 0, 1); + memset(cfile->file_name, 0, 1); + memset(cfile->save_file_name, 0, 1); + + memset(cfile->comment, 0, 1); + memset(cfile->author, 0, 1); + memset(cfile->title, 0, 1); + memset(cfile->keywords, 0, 1); + + cfile->signed_endian = AFORM_UNKNOWN; + lives_snprintf(cfile->undo_text, 32, "%s", _("_Undo")); + lives_snprintf(cfile->redo_text, 32, "%s", _("_Redo")); - stfile=lives_build_filename(prefs->workdir,cfile->handle,LIVES_STATUS_FILE_NAME,NULL); + stfile = lives_build_filename(prefs->workdir, cfile->handle, LIVES_STATUS_FILE_NAME, NULL); - lives_snprintf(cfile->info_file,PATH_MAX,"%s",stfile); + lives_snprintf(cfile->info_file, PATH_MAX, "%s", stfile); lives_free(stfile); - cfile->laudio_drawable=NULL; - cfile->raudio_drawable=NULL; + cfile->laudio_drawable = NULL; + cfile->raudio_drawable = NULL; // remember to set cfile->is_loaded=TRUE !!!!!!!!!! } @@ -3356,22 +3355,22 @@ // or update mainw->clips_available char *xname; - int current_file=mainw->current_file; - if (!get_temp_handle(index,TRUE)) return FALSE; + int current_file = mainw->current_file; + if (!get_temp_handle(index, TRUE)) return FALSE; // note : don't need to update first_free_file for the clipboard - if (index!=0) { + if (index != 0) { get_next_free_file(); } - if (name==NULL||!strlen(name)) { - cfile->is_untitled=TRUE; - xname=lives_strdup_printf(_("Untitled%d"),mainw->untitled_number++); - } else xname=lives_strdup(name); - - lives_snprintf(cfile->file_name,PATH_MAX,"%s",xname); - lives_snprintf(cfile->name,256,"%s",xname); - mainw->current_file=current_file; + if (name == NULL || !strlen(name)) { + cfile->is_untitled = TRUE; + xname = lives_strdup_printf(_("Untitled%d"), mainw->untitled_number++); + } else xname = lives_strdup(name); + + lives_snprintf(cfile->file_name, PATH_MAX, "%s", xname); + lives_snprintf(cfile->name, 256, "%s", xname); + mainw->current_file = current_file; lives_free(xname); return TRUE; @@ -3385,42 +3384,42 @@ // The first time, frames and afilesize may not be correct. int pieces; - char *mesg,*mesg1; + char *mesg, *mesg1; char **array; char *test_fps_string1; char *test_fps_string2; - if (!strcmp(mainw->msg,"killed")) { + if (!strcmp(mainw->msg, "killed")) { char *com; get_frame_count(mainw->current_file); cfile->frames--; // just in case last frame is damaged // commit audio - mainw->cancelled=CANCEL_NONE; + mainw->cancelled = CANCEL_NONE; lives_rm(cfile->info_file); - com=lives_strdup_printf("%s commit_audio \"%s\" 1",prefs->backend,cfile->handle); + com = lives_strdup_printf("%s commit_audio \"%s\" 1", prefs->backend, cfile->handle); lives_system(com, TRUE); lives_free(com); wait_for_bg_audio_sync(cfile); reget_afilesize(mainw->current_file); - d_print(_("%d frames are enough !\n"),cfile->frames); + d_print(_("%d frames are enough !\n"), cfile->frames); } else { - if (check_handle!=NULL) { - int npieces=get_token_count(mainw->msg,'|'); - if (mainw->msg==NULL||npieces<2) return FALSE; - - array=lives_strsplit(mainw->msg,"|",-1); - - if (!strcmp(array[0],"error")) { - if (npieces>=3) { - mesg=lives_strdup_printf(_("\nAn error occurred doing\n%s\n"),array[2]); + if (check_handle != NULL) { + int npieces = get_token_count(mainw->msg, '|'); + if (mainw->msg == NULL || npieces < 2) return FALSE; + + array = lives_strsplit(mainw->msg, "|", -1); + + if (!strcmp(array[0], "error")) { + if (npieces >= 3) { + mesg = lives_strdup_printf(_("\nAn error occurred doing\n%s\n"), array[2]); LIVES_ERROR(array[2]); - } else mesg=lives_strdup(_("\nAn error occurred opening the file\n")); + } else mesg = lives_strdup(_("\nAn error occurred opening the file\n")); do_error_dialog(mesg); lives_free(mesg); lives_strfreev(array); @@ -3430,10 +3429,10 @@ // sanity check handle against status file // (this should never happen...) - if (strcmp(check_handle,array[1])) { + if (strcmp(check_handle, array[1])) { LIVES_ERROR("Handle!=statusfile !"); - mesg=lives_strdup_printf(_("\nError getting file info for clip %s.\nBad things may happen with this clip.\n"), - check_handle); + mesg = lives_strdup_printf(_("\nError getting file info for clip %s.\nBad things may happen with this clip.\n"), + check_handle); do_error_dialog(mesg); lives_free(mesg); lives_strfreev(array); @@ -3441,125 +3440,125 @@ } if (!aud_only) { - cfile->frames=atoi(array[2]); - lives_snprintf(cfile->type,40,"%s",array[3]); - cfile->hsize=atoi(array[4]); - cfile->vsize=atoi(array[5]); - cfile->bpp=atoi(array[6]); - cfile->pb_fps=cfile->fps=lives_strtod(array[7],NULL); + cfile->frames = atoi(array[2]); + lives_snprintf(cfile->type, 40, "%s", array[3]); + cfile->hsize = atoi(array[4]); + cfile->vsize = atoi(array[5]); + cfile->bpp = atoi(array[6]); + cfile->pb_fps = cfile->fps = lives_strtod(array[7], NULL); - cfile->f_size=strtol(array[8],NULL,10); + cfile->f_size = strtol(array[8], NULL, 10); } - cfile->arps=cfile->arate=atoi(array[9]); - cfile->achans=atoi(array[10]); - cfile->asampsize=atoi(array[11]); - cfile->signed_endian=get_signed_endian(atoi(array[12]), atoi(array[13])); - cfile->afilesize=strtol(array[14],NULL,10); + cfile->arps = cfile->arate = atoi(array[9]); + cfile->achans = atoi(array[10]); + cfile->asampsize = atoi(array[11]); + cfile->signed_endian = get_signed_endian(atoi(array[12]), atoi(array[13])); + cfile->afilesize = strtol(array[14], NULL, 10); - pieces=get_token_count(mainw->msg,'|'); + pieces = get_token_count(mainw->msg, '|'); - if (!strlen(cfile->title)&&pieces>14&&array[15]!=NULL) { - lives_snprintf(cfile->title,256,"%s",lives_strstrip(array[15])); + if (!strlen(cfile->title) && pieces > 14 && array[15] != NULL) { + lives_snprintf(cfile->title, 256, "%s", lives_strstrip(array[15])); } - if (!strlen(cfile->author)&&pieces>15&&array[16]!=NULL) { - lives_snprintf(cfile->author,256,"%s",lives_strstrip(array[16])); + if (!strlen(cfile->author) && pieces > 15 && array[16] != NULL) { + lives_snprintf(cfile->author, 256, "%s", lives_strstrip(array[16])); } - if (!strlen(cfile->comment)&&pieces>16&&array[17]!=NULL) { - lives_snprintf(cfile->comment,256,"%s",lives_strstrip(array[17])); + if (!strlen(cfile->comment) && pieces > 16 && array[17] != NULL) { + lives_snprintf(cfile->comment, 256, "%s", lives_strstrip(array[17])); } lives_strfreev(array); } } - cfile->video_time=0; + cfile->video_time = 0; if (aud_only) return TRUE; - test_fps_string1=lives_strdup_printf("%.3f00000",cfile->fps); - test_fps_string2=lives_strdup_printf("%.8f",cfile->fps); + test_fps_string1 = lives_strdup_printf("%.3f00000", cfile->fps); + test_fps_string2 = lives_strdup_printf("%.8f", cfile->fps); - if (strcmp(test_fps_string1,test_fps_string2)) { - cfile->ratio_fps=TRUE; + if (strcmp(test_fps_string1, test_fps_string2)) { + cfile->ratio_fps = TRUE; } else { - cfile->ratio_fps=FALSE; + cfile->ratio_fps = FALSE; } lives_free(test_fps_string1); lives_free(test_fps_string2); if (!mainw->save_with_sound) { - cfile->arps=cfile->arate=cfile->achans=cfile->asampsize=0; - cfile->afilesize=0l; + cfile->arps = cfile->arate = cfile->achans = cfile->asampsize = 0; + cfile->afilesize = 0l; } - if (cfile->frames<=0) { - if (cfile->afilesize==0l&&cfile->is_loaded) { + if (cfile->frames <= 0) { + if (cfile->afilesize == 0l && cfile->is_loaded) { // we got no video or audio... return FALSE; } - cfile->start=cfile->end=cfile->undo_start=cfile->undo_end=0; + cfile->start = cfile->end = cfile->undo_start = cfile->undo_end = 0; } else { // start with all selected - cfile->start=1; - cfile->end=cfile->frames; - cfile->undo_start=cfile->start; - cfile->undo_end=cfile->end; + cfile->start = 1; + cfile->end = cfile->frames; + cfile->undo_start = cfile->start; + cfile->undo_end = cfile->end; } - cfile->orig_file_name=TRUE; - cfile->is_untitled=FALSE; + cfile->orig_file_name = TRUE; + cfile->is_untitled = FALSE; // some files give us silly frame rates, even single frames... // fps of 1000. is used for some streams (i.e. play each frame as it is received) - if (cfile->fps==0.||cfile->fps==1000.||(cfile->frames<2&&cfile->is_loaded)) { - double xduration=0.; + if (cfile->fps == 0. || cfile->fps == 1000. || (cfile->frames < 2 && cfile->is_loaded)) { + double xduration = 0.; - if (cfile->ext_src!=NULL&&cfile->fps>0) { - xduration=cfile->frames/cfile->fps; + if (cfile->ext_src != NULL && cfile->fps > 0) { + xduration = cfile->frames / cfile->fps; } - if (!(cfile->afilesize*cfile->asampsize*cfile->arate*cfile->achans)||cfile->frames<2) { - if (cfile->frames!=1) { + if (!(cfile->afilesize * cfile->asampsize * cfile->arate * cfile->achans) || cfile->frames < 2) { + if (cfile->frames != 1) { d_print(_("\nPlayback speed not found or invalid ! Using default fps of %.3f fps. \nDefault can be set in Tools | Preferences | Misc.\n"), prefs->default_fps); } - cfile->pb_fps=cfile->fps=prefs->default_fps; + cfile->pb_fps = cfile->fps = prefs->default_fps; } else { - cfile->laudio_time=cfile->raudio_time=cfile->afilesize/cfile->asampsize*8./cfile->arate/cfile->achans; - cfile->pb_fps=cfile->fps=1.*(int)(cfile->frames/cfile->laudio_time); - if (cfile->fps>FPS_MAX||cfile->fps<1.) { - cfile->pb_fps=cfile->fps=prefs->default_fps; + cfile->laudio_time = cfile->raudio_time = cfile->afilesize / cfile->asampsize * 8. / cfile->arate / cfile->achans; + cfile->pb_fps = cfile->fps = 1.*(int)(cfile->frames / cfile->laudio_time); + if (cfile->fps > FPS_MAX || cfile->fps < 1.) { + cfile->pb_fps = cfile->fps = prefs->default_fps; } - d_print(_("Playback speed was adjusted to %.3f frames per second to fit audio.\n"),cfile->fps); + d_print(_("Playback speed was adjusted to %.3f frames per second to fit audio.\n"), cfile->fps); } - if (xduration>0.) { - lives_clip_data_t *cdata=((lives_decoder_t *)cfile->ext_src)->cdata; + if (xduration > 0.) { + lives_clip_data_t *cdata = ((lives_decoder_t *)cfile->ext_src)->cdata; // we should not (!) do this, but we don t have proper handling for variable fps clips - cdata->nframes=cfile->frames=xduration*cfile->fps; - cdata->fps=cfile->fps; + cdata->nframes = cfile->frames = xduration * cfile->fps; + cdata->fps = cfile->fps; } } - cfile->video_time=(double)cfile->frames/cfile->fps; + cfile->video_time = (double)cfile->frames / cfile->fps; if (cfile->opening) return TRUE; - if (cfile->bpp==256) { - mesg1=lives_strdup_printf(_("Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\nAudio:"),cfile->frames, - cfile->type,cfile->hsize,cfile->vsize,cfile->fps); + if (cfile->bpp == 256) { + mesg1 = lives_strdup_printf(_("Frames=%d type=%s size=%dx%d *bpp=Greyscale* fps=%.3f\nAudio:"), cfile->frames, + cfile->type, cfile->hsize, cfile->vsize, cfile->fps); } else { - if (cfile->bpp!=32) cfile->bpp=24; // assume RGB24 *** TODO - check - mesg1=lives_strdup_printf(_("Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\nAudio:"),cfile->frames, - cfile->type,cfile->hsize,cfile->vsize,cfile->bpp,cfile->fps); + if (cfile->bpp != 32) cfile->bpp = 24; // assume RGB24 *** TODO - check + mesg1 = lives_strdup_printf(_("Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\nAudio:"), cfile->frames, + cfile->type, cfile->hsize, cfile->vsize, cfile->bpp, cfile->fps); } - if (cfile->achans==0) { - mesg=lives_strdup_printf(_("%s none\n"),mesg1); + if (cfile->achans == 0) { + mesg = lives_strdup_printf(_("%s none\n"), mesg1); } else { - mesg=lives_strdup_printf(P_("%s %d Hz %d channel %d bps\n","%s %d Hz %d channels %d bps\n",cfile->achans), - mesg1,cfile->arate,cfile->achans,cfile->asampsize); + mesg = lives_strdup_printf(P_("%s %d Hz %d channel %d bps\n", "%s %d Hz %d channels %d bps\n", cfile->achans), + mesg1, cfile->arate, cfile->achans, cfile->asampsize); } d_print(mesg); lives_free(mesg1); @@ -3567,13 +3566,13 @@ // get the author,title,comments if (strlen(cfile->author)) { - d_print(_(" - Author: %s\n"),cfile->author); + d_print(_(" - Author: %s\n"), cfile->author); } if (strlen(cfile->title)) { - d_print(_(" - Title: %s\n"),cfile->title); + d_print(_(" - Title: %s\n"), cfile->title); } if (strlen(cfile->comment)) { - d_print(_(" - Comment: %s\n"),cfile->comment); + d_print(_(" - Comment: %s\n"), cfile->comment); } return TRUE; @@ -3584,32 +3583,32 @@ // save the comments etc for smogrify int retval; int comment_fd; - char *comment_file=lives_strdup_printf("%s/%s/.comment",prefs->workdir,cfile->handle); - lives_clip_t *sfile=mainw->files[fileno]; + char *comment_file = lives_strdup_printf("%s/%s/.comment", prefs->workdir, cfile->handle); + lives_clip_t *sfile = mainw->files[fileno]; lives_rm(comment_file); do { - retval=0; - comment_fd=creat(comment_file,S_IRUSR|S_IWUSR); - if (comment_fd<0) { - mainw->write_failed=TRUE; - retval=do_write_failed_error_s_with_retry(comment_file,lives_strerror(errno),NULL); + retval = 0; + comment_fd = creat(comment_file, S_IRUSR | S_IWUSR); + if (comment_fd < 0) { + mainw->write_failed = TRUE; + retval = do_write_failed_error_s_with_retry(comment_file, lives_strerror(errno), NULL); } else { - mainw->write_failed=FALSE; - lives_write(comment_fd,sfile->title,strlen(sfile->title),TRUE); - lives_write(comment_fd,"||%",3,TRUE); - lives_write(comment_fd,sfile->author,strlen(sfile->author),TRUE); - lives_write(comment_fd,"||%",3,TRUE); - lives_write(comment_fd,sfile->comment,strlen(sfile->comment),TRUE); + mainw->write_failed = FALSE; + lives_write(comment_fd, sfile->title, strlen(sfile->title), TRUE); + lives_write(comment_fd, "||%", 3, TRUE); + lives_write(comment_fd, sfile->author, strlen(sfile->author), TRUE); + lives_write(comment_fd, "||%", 3, TRUE); + lives_write(comment_fd, sfile->comment, strlen(sfile->comment), TRUE); close(comment_fd); if (mainw->write_failed) { - retval=do_write_failed_error_s_with_retry(comment_file,NULL,NULL); + retval = do_write_failed_error_s_with_retry(comment_file, NULL, NULL); } } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); lives_free(comment_file); @@ -3628,27 +3627,27 @@ # define SECOND_STOP_TIME 0.1 # define STOP_GIVE_UP_TIME 1.0 - double time_waited=0.; - boolean sent_second_stop=FALSE; + double time_waited = 0.; + boolean sent_second_stop = FALSE; // send another stop if necessary - mainw->noswitch=TRUE; - while (!(infofile=fopen(cfile->info_file,"r"))) { + mainw->noswitch = TRUE; + while (!(infofile = fopen(cfile->info_file, "r"))) { lives_widget_context_update(); lives_usleep(prefs->sleep_time); - time_waited+=1000000./prefs->sleep_time; - if (time_waited>SECOND_STOP_TIME&&!sent_second_stop) { - lives_system(stop_command,TRUE); - sent_second_stop=TRUE; + time_waited += 1000000. / prefs->sleep_time; + if (time_waited > SECOND_STOP_TIME && !sent_second_stop) { + lives_system(stop_command, TRUE); + sent_second_stop = TRUE; } - if (time_waited>STOP_GIVE_UP_TIME) { + if (time_waited > STOP_GIVE_UP_TIME) { // give up waiting, but send a last try... - lives_system(stop_command,TRUE); + lives_system(stop_command, TRUE); break; } } - mainw->noswitch=FALSE; + mainw->noswitch = FALSE; if (infofile) fclose(infofile); } @@ -3657,79 +3656,79 @@ // save 1 frame as an image (uses imagemagick to convert) // width==-1, height==-1 to use "natural" values - lives_clip_t *sfile=mainw->files[clip]; + lives_clip_t *sfile = mainw->files[clip]; char full_file_name[PATH_MAX]; - char *com,*tmp; + char *com, *tmp; - boolean allow_over=FALSE; + boolean allow_over = FALSE; int result; - if (!from_osc&&strrchr(file_name,'.')==NULL) { - lives_snprintf(full_file_name,PATH_MAX,"%s.%s",file_name,get_image_ext_for_type(sfile->img_type)); + if (!from_osc && strrchr(file_name, '.') == NULL) { + lives_snprintf(full_file_name, PATH_MAX, "%s.%s", file_name, get_image_ext_for_type(sfile->img_type)); } else { - lives_snprintf(full_file_name,PATH_MAX,"%s",file_name); - if (!allow_over) allow_over=TRUE; + lives_snprintf(full_file_name, PATH_MAX, "%s", file_name); + if (!allow_over) allow_over = TRUE; } // TODO - allow overwriting in sandbox - if (from_osc&&lives_file_test(full_file_name, LIVES_FILE_TEST_EXISTS)) return FALSE; + if (from_osc && lives_file_test(full_file_name, LIVES_FILE_TEST_EXISTS)) return FALSE; - if (!check_file(full_file_name,!allow_over)) return FALSE; + if (!check_file(full_file_name, !allow_over)) return FALSE; - tmp=lives_filename_from_utf8(full_file_name,-1,NULL,NULL,NULL); + tmp = lives_filename_from_utf8(full_file_name, -1, NULL, NULL, NULL); - if (mainw->multitrack==NULL) { - d_print(_("Saving frame %d as %s..."),frame,full_file_name); + if (mainw->multitrack == NULL) { + d_print(_("Saving frame %d as %s..."), frame, full_file_name); - if (sfile->clip_type==CLIP_TYPE_FILE) { - boolean resb=virtual_to_images(clip,frame,frame,FALSE,NULL); + if (sfile->clip_type == CLIP_TYPE_FILE) { + boolean resb = virtual_to_images(clip, frame, frame, FALSE, NULL); if (!resb) { d_print_file_error_failed(); return FALSE; } } - com=lives_strdup_printf("%s save_frame %s %d %s %d %d",prefs->backend_sync,sfile->handle, - frame,tmp,width,height); - result=lives_system(com,FALSE); + com = lives_strdup_printf("%s save_frame %s %d %s %d %d", prefs->backend_sync, sfile->handle, + frame, tmp, width, height); + result = lives_system(com, FALSE); lives_free(com); lives_free(tmp); - if (result==256) { + if (result == 256) { d_print_file_error_failed(); do_file_perm_error(full_file_name); return FALSE; } - if (result==0) { + if (result == 0) { d_print_done(); return TRUE; } } else { // multitrack mode - LiVESError *gerr=NULL; + LiVESError *gerr = NULL; LiVESPixbuf *pixbuf; int retval; - mt_show_current_frame(mainw->multitrack,TRUE); - resize_layer(mainw->frame_layer,sfile->hsize,sfile->vsize,LIVES_INTERP_BEST,WEED_PALETTE_RGB24,0); - convert_layer_palette(mainw->frame_layer,WEED_PALETTE_RGB24,0); - pixbuf=layer_to_pixbuf(mainw->frame_layer); + mt_show_current_frame(mainw->multitrack, TRUE); + resize_layer(mainw->frame_layer, sfile->hsize, sfile->vsize, LIVES_INTERP_BEST, WEED_PALETTE_RGB24, 0); + convert_layer_palette(mainw->frame_layer, WEED_PALETTE_RGB24, 0); + pixbuf = layer_to_pixbuf(mainw->frame_layer); weed_plant_free(mainw->frame_layer); - mainw->frame_layer=NULL; + mainw->frame_layer = NULL; do { - retval=0; - if (sfile->img_type==IMG_TYPE_JPEG) lives_pixbuf_save(pixbuf, tmp, IMG_TYPE_JPEG, 100, FALSE, &gerr); - else if (sfile->img_type==IMG_TYPE_PNG) lives_pixbuf_save(pixbuf, tmp, IMG_TYPE_PNG, 100, FALSE, &gerr); + retval = 0; + if (sfile->img_type == IMG_TYPE_JPEG) lives_pixbuf_save(pixbuf, tmp, IMG_TYPE_JPEG, 100, FALSE, &gerr); + else if (sfile->img_type == IMG_TYPE_PNG) lives_pixbuf_save(pixbuf, tmp, IMG_TYPE_PNG, 100, FALSE, &gerr); - if (gerr!=NULL) { - retval=do_write_failed_error_s_with_retry(full_file_name,gerr->message,NULL); + if (gerr != NULL) { + retval = do_write_failed_error_s_with_retry(full_file_name, gerr->message, NULL); lives_error_free(gerr); - gerr=NULL; + gerr = NULL; } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); free(tmp); lives_object_unref(pixbuf); @@ -3741,116 +3740,116 @@ void backup_file(int clip, int start, int end, const char *file_name) { - lives_clip_t *sfile=mainw->files[clip]; + lives_clip_t *sfile = mainw->files[clip]; char **array; char title[256]; char full_file_name[PATH_MAX]; - char *com,*tmp; + char *com, *tmp; - boolean with_perf=FALSE; - boolean retval,allow_over; + boolean with_perf = FALSE; + boolean retval, allow_over; - int withsound=1; - int current_file=mainw->current_file; + int withsound = 1; + int current_file = mainw->current_file; - if (strrchr(file_name,'.')==NULL) { - lives_snprintf(full_file_name,PATH_MAX,"%s.%s",file_name,LIVES_FILE_EXT_BACKUP); - allow_over=FALSE; + if (strrchr(file_name, '.') == NULL) { + lives_snprintf(full_file_name, PATH_MAX, "%s.%s", file_name, LIVES_FILE_EXT_BACKUP); + allow_over = FALSE; } else { - lives_snprintf(full_file_name,PATH_MAX,"%s",file_name); - allow_over=TRUE; + lives_snprintf(full_file_name, PATH_MAX, "%s", file_name); + allow_over = TRUE; } // check if file exists - if (!check_file(full_file_name,allow_over)) return; + if (!check_file(full_file_name, allow_over)) return; // create header files - retval=write_headers(sfile); // for pre LiVES 0.9.6 - retval=save_clip_values(clip); // new style (0.9.6+) + retval = write_headers(sfile); // for pre LiVES 0.9.6 + retval = save_clip_values(clip); // new style (0.9.6+) if (!retval) return; //...and backup - get_menu_text(sfile->menuentry,title); - d_print(_("Backing up %s to %s"),title,full_file_name); + get_menu_text(sfile->menuentry, title); + d_print(_("Backing up %s to %s"), title, full_file_name); if (!mainw->save_with_sound) { d_print(_(" without sound")); - withsound=0; + withsound = 0; } d_print("..."); - cfile->progress_start=1; - cfile->progress_end=sfile->frames; + cfile->progress_start = 1; + cfile->progress_end = sfile->frames; - if (sfile->clip_type==CLIP_TYPE_FILE) { + if (sfile->clip_type == CLIP_TYPE_FILE) { boolean resb; - mainw->cancelled=CANCEL_NONE; - cfile->progress_start=1; - cfile->progress_end=count_virtual_frames(sfile->frame_index,1,sfile->frames); - do_threaded_dialog(_("Pulling frames from clip"),TRUE); - resb=virtual_to_images(clip,1,sfile->frames,TRUE,NULL); + mainw->cancelled = CANCEL_NONE; + cfile->progress_start = 1; + cfile->progress_end = count_virtual_frames(sfile->frame_index, 1, sfile->frames); + do_threaded_dialog(_("Pulling frames from clip"), TRUE); + resb = virtual_to_images(clip, 1, sfile->frames, TRUE, NULL); end_threaded_dialog(); - if (mainw->cancelled!=CANCEL_NONE||!resb) { + if (mainw->cancelled != CANCEL_NONE || !resb) { sensitize(); - mainw->cancelled=CANCEL_USER; - cfile->nopreview=FALSE; + mainw->cancelled = CANCEL_USER; + cfile->nopreview = FALSE; if (!resb) d_print_file_error_failed(); else d_print_cancelled(); return; } } - com=lives_strdup_printf("%s backup %s %d %d %d %s",prefs->backend,sfile->handle,withsound, - start,end,(tmp=lives_filename_from_utf8(full_file_name,-1,NULL,NULL,NULL))); + com = lives_strdup_printf("%s backup %s %d %d %d %s", prefs->backend, sfile->handle, withsound, + start, end, (tmp = lives_filename_from_utf8(full_file_name, -1, NULL, NULL, NULL))); // TODO - mainw->current_file=clip; + mainw->current_file = clip; lives_rm(cfile->info_file); - cfile->nopreview=TRUE; - mainw->com_failed=FALSE; - lives_system(com,FALSE); + cfile->nopreview = TRUE; + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(tmp); if (mainw->com_failed) { - mainw->com_failed=FALSE; - mainw->current_file=current_file; + mainw->com_failed = FALSE; + mainw->current_file = current_file; return; } - cfile->op_dir=lives_filename_from_utf8((tmp=get_dir(full_file_name)),-1,NULL,NULL,NULL); + cfile->op_dir = lives_filename_from_utf8((tmp = get_dir(full_file_name)), -1, NULL, NULL, NULL); lives_free(tmp); - if (!(do_progress_dialog(TRUE,TRUE,_("Backing up")))||mainw->error) { + if (!(do_progress_dialog(TRUE, TRUE, _("Backing up"))) || mainw->error) { if (mainw->error) { d_print_failed(); } // cancelled - clear up files - cfile->nopreview=FALSE; + cfile->nopreview = FALSE; lives_free(com); // using restore details in the 'wrong' way here...it will also clear files - com=lives_strdup_printf("%s restore_details %s",prefs->backend,cfile->handle); + com = lives_strdup_printf("%s restore_details %s", prefs->backend, cfile->handle); lives_rm(cfile->info_file); - lives_system(com,FALSE); + lives_system(com, FALSE); // auto-d lives_free(com); //save_clip_values(mainw->current_file); - mainw->current_file=current_file; + mainw->current_file = current_file; return; } - cfile->nopreview=FALSE; + cfile->nopreview = FALSE; lives_free(com); - mainw->current_file=current_file; + mainw->current_file = current_file; if (mainw->error) { do_error_dialog(mainw->msg); @@ -3862,22 +3861,22 @@ d_print(_("performance data was backed up...")); } - array=lives_strsplit(mainw->msg,"|",3); - sfile->f_size=strtol(array[1],NULL,10); + array = lives_strsplit(mainw->msg, "|", 3); + sfile->f_size = strtol(array[1], NULL, 10); lives_strfreev(array); - lives_snprintf(sfile->file_name,PATH_MAX,"%s",full_file_name); + lives_snprintf(sfile->file_name, PATH_MAX, "%s", full_file_name); if (!sfile->was_renamed) { - lives_snprintf(sfile->name,256,"%s",full_file_name); - set_main_title(cfile->name,0); - set_menu_text(sfile->menuentry,full_file_name,FALSE); + lives_snprintf(sfile->name, 256, "%s", full_file_name); + set_main_title(cfile->name, 0); + set_menu_text(sfile->menuentry, full_file_name, FALSE); } if (prefs->show_recent) - add_to_recent(full_file_name,0.,0,NULL); + add_to_recent(full_file_name, 0., 0, NULL); - sfile->changed=FALSE; + sfile->changed = FALSE; // set is_untitled to stop users from saving with a .lv1 extension - sfile->is_untitled=TRUE; + sfile->is_untitled = TRUE; d_print_done(); } @@ -3891,65 +3890,65 @@ char *hdrfile; // save the file details - hdrfile=lives_build_filename(prefs->workdir,file->handle,"header",NULL); + hdrfile = lives_build_filename(prefs->workdir, file->handle, "header", NULL); do { - retval=0; - header_fd=creat(hdrfile,S_IRUSR|S_IWUSR); - if (header_fd<0) { - retval=do_write_failed_error_s_with_retry(hdrfile,lives_strerror(errno),NULL); + retval = 0; + header_fd = creat(hdrfile, S_IRUSR | S_IWUSR); + if (header_fd < 0) { + retval = do_write_failed_error_s_with_retry(hdrfile, lives_strerror(errno), NULL); } else { - mainw->write_failed=FALSE; + mainw->write_failed = FALSE; - lives_write_le(header_fd,&cfile->bpp,4,TRUE); - lives_write_le(header_fd,&cfile->fps,8,TRUE); - lives_write_le(header_fd,&cfile->hsize,4,TRUE); - lives_write_le(header_fd,&cfile->vsize,4,TRUE); - lives_write_le(header_fd,&cfile->arps,4,TRUE); - lives_write_le(header_fd,&cfile->signed_endian,4,TRUE); - lives_write_le(header_fd,&cfile->arate,4,TRUE); - lives_write_le(header_fd,&cfile->unique_id,8,TRUE); - lives_write_le(header_fd,&cfile->achans,4,TRUE); - lives_write_le(header_fd,&cfile->asampsize,4,TRUE); + lives_write_le(header_fd, &cfile->bpp, 4, TRUE); + lives_write_le(header_fd, &cfile->fps, 8, TRUE); + lives_write_le(header_fd, &cfile->hsize, 4, TRUE); + lives_write_le(header_fd, &cfile->vsize, 4, TRUE); + lives_write_le(header_fd, &cfile->arps, 4, TRUE); + lives_write_le(header_fd, &cfile->signed_endian, 4, TRUE); + lives_write_le(header_fd, &cfile->arate, 4, TRUE); + lives_write_le(header_fd, &cfile->unique_id, 8, TRUE); + lives_write_le(header_fd, &cfile->achans, 4, TRUE); + lives_write_le(header_fd, &cfile->asampsize, 4, TRUE); - lives_write(header_fd,LiVES_VERSION,strlen(LiVES_VERSION),TRUE); + lives_write(header_fd, LiVES_VERSION, strlen(LiVES_VERSION), TRUE); close(header_fd); - if (mainw->write_failed) retval=do_write_failed_error_s_with_retry(hdrfile,NULL,NULL); + if (mainw->write_failed) retval = do_write_failed_error_s_with_retry(hdrfile, NULL, NULL); } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); lives_free(hdrfile); - if (retval!=LIVES_RESPONSE_CANCEL) { + if (retval != LIVES_RESPONSE_CANCEL) { // more file details (since version 0.7.5) - hdrfile=lives_build_filename(prefs->workdir,file->handle,"header2",NULL); + hdrfile = lives_build_filename(prefs->workdir, file->handle, "header2", NULL); do { - retval=0; - header_fd=creat(hdrfile,S_IRUSR|S_IWUSR); + retval = 0; + header_fd = creat(hdrfile, S_IRUSR | S_IWUSR); - if (header_fd<0) { - retval=do_write_failed_error_s_with_retry(hdrfile,lives_strerror(errno),NULL); + if (header_fd < 0) { + retval = do_write_failed_error_s_with_retry(hdrfile, lives_strerror(errno), NULL); } else { - mainw->write_failed=FALSE; - lives_write_le(header_fd,&file->frames,4,TRUE); - lives_write(header_fd,&file->title,256,TRUE); - lives_write(header_fd,&file->author,256,TRUE); - lives_write(header_fd,&file->comment,256,TRUE); + mainw->write_failed = FALSE; + lives_write_le(header_fd, &file->frames, 4, TRUE); + lives_write(header_fd, &file->title, 256, TRUE); + lives_write(header_fd, &file->author, 256, TRUE); + lives_write(header_fd, &file->comment, 256, TRUE); close(header_fd); } - if (mainw->write_failed) retval=do_write_failed_error_s_with_retry(hdrfile,NULL,NULL); - } while (retval==LIVES_RESPONSE_RETRY); + if (mainw->write_failed) retval = do_write_failed_error_s_with_retry(hdrfile, NULL, NULL); + } while (retval == LIVES_RESPONSE_RETRY); lives_free(hdrfile); } - if (retval==LIVES_RESPONSE_CANCEL) { - mainw->write_failed=FALSE; + if (retval == LIVES_RESPONSE_CANCEL) { + mainw->write_failed = FALSE; return FALSE; } return TRUE; @@ -3963,9 +3962,9 @@ char **array; char buff[1024]; char version[32]; - char *com,*tmp; - char *old_hdrfile=lives_build_filename(prefs->workdir,cfile->handle,"header",NULL); - char *lives_header=lives_build_filename(prefs->workdir,cfile->handle,"header.lives",NULL); + char *com, *tmp; + char *old_hdrfile = lives_build_filename(prefs->workdir, cfile->handle, "header", NULL); + char *lives_header = lives_build_filename(prefs->workdir, cfile->handle, "header.lives", NULL); int header_size; int version_hash; @@ -3977,25 +3976,25 @@ lives_clip_details_t detail; boolean timeout; - boolean retval,retvala; + boolean retval, retvala; - ssize_t sizhead=8*4+8+8; + ssize_t sizhead = 8 * 4 + 8 + 8; - time_t old_time=0,new_time=0; + time_t old_time = 0, new_time = 0; struct stat mystat; // TODO - remove this some time before 2038... - if (!stat(old_hdrfile,&mystat)) old_time=mystat.st_mtime; - if (!stat(lives_header,&mystat)) new_time=mystat.st_mtime; + if (!stat(old_hdrfile, &mystat)) old_time = mystat.st_mtime; + if (!stat(lives_header, &mystat)) new_time = mystat.st_mtime; /////////////// - if (old_time<=new_time) { + if (old_time <= new_time) { do { - retval2=0; + retval2 = 0; - detail=CLIP_DETAILS_FRAMES; - if (get_clip_value(mainw->current_file,detail,&cfile->frames,0)) { - int asigned,aendian; + detail = CLIP_DETAILS_FRAMES; + if (get_clip_value(mainw->current_file, detail, &cfile->frames, 0)) { + int asigned, aendian; char *tmp; int alarm_handle; @@ -4003,58 +4002,58 @@ lives_free(old_hdrfile); // clean up and get file sizes - com=lives_strdup_printf("%s restore_details %s %s %d",prefs->backend_sync,cfile->handle, - (tmp=lives_filename_from_utf8(file_name,-1,NULL,NULL,NULL)),!strcmp(file_name,".")); + com = lives_strdup_printf("%s restore_details %s %s %d", prefs->backend_sync, cfile->handle, + (tmp = lives_filename_from_utf8(file_name, -1, NULL, NULL, NULL)), !strcmp(file_name, ".")); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); lives_free(tmp); if (mainw->com_failed) { - mainw->com_failed=FALSE; + mainw->com_failed = FALSE; return FALSE; } do { - retval2=0; - timeout=FALSE; - memset(buff,0,1); + retval2 = 0; + timeout = FALSE; + memset(buff, 0, 1); - alarm_handle=lives_alarm_set(LIVES_LONGEST_TIMEOUT); + alarm_handle = lives_alarm_set(LIVES_LONGEST_TIMEOUT); - while (!((infofile=fopen(cfile->info_file,"r"))&&!(timeout=lives_alarm_get(alarm_handle)))) { + while (!((infofile = fopen(cfile->info_file, "r")) && !(timeout = lives_alarm_get(alarm_handle)))) { lives_usleep(prefs->sleep_time); } lives_alarm_clear(alarm_handle); if (!timeout) { - mainw->read_failed=FALSE; - lives_fgets(buff,1024,infofile); + mainw->read_failed = FALSE; + lives_fgets(buff, 1024, infofile); fclose(infofile); } if (timeout || mainw->read_failed) { - retval2=do_read_failed_error_s_with_retry(cfile->info_file,NULL,NULL); + retval2 = do_read_failed_error_s_with_retry(cfile->info_file, NULL, NULL); } - } while (retval2==LIVES_RESPONSE_RETRY); + } while (retval2 == LIVES_RESPONSE_RETRY); - if (retval2==LIVES_RESPONSE_CANCEL) { + if (retval2 == LIVES_RESPONSE_CANCEL) { return FALSE; } - pieces=get_token_count(buff,'|'); + pieces = get_token_count(buff, '|'); - if (pieces>3) { - array=lives_strsplit(buff,"|",pieces); + if (pieces > 3) { + array = lives_strsplit(buff, "|", pieces); - cfile->f_size=strtol(array[1],NULL,10); - cfile->afilesize=strtol(array[2],NULL,10); - if (cfile->clip_type==CLIP_TYPE_DISK) { - if (!strcmp(array[3],LIVES_FILE_EXT_JPG)) cfile->img_type=IMG_TYPE_JPEG; - else cfile->img_type=IMG_TYPE_PNG; + cfile->f_size = strtol(array[1], NULL, 10); + cfile->afilesize = strtol(array[2], NULL, 10); + if (cfile->clip_type == CLIP_TYPE_DISK) { + if (!strcmp(array[3], LIVES_FILE_EXT_JPG)) cfile->img_type = IMG_TYPE_JPEG; + else cfile->img_type = IMG_TYPE_PNG; } lives_strfreev(array); } @@ -4062,121 +4061,121 @@ threaded_dialog_spin(0.); do { - retval2=0; + retval2 = 0; if (!cache_file_contents(lives_header)) { - retval2=do_read_failed_error_s_with_retry(lives_header,NULL,NULL); + retval2 = do_read_failed_error_s_with_retry(lives_header, NULL, NULL); } - } while (retval2==LIVES_RESPONSE_RETRY); + } while (retval2 == LIVES_RESPONSE_RETRY); lives_free(lives_header); threaded_dialog_spin(0.); - detail=CLIP_DETAILS_HEADER_VERSION; - retval=get_clip_value(mainw->current_file,detail,&cfile->header_version,16); + detail = CLIP_DETAILS_HEADER_VERSION; + retval = get_clip_value(mainw->current_file, detail, &cfile->header_version, 16); if (retval) { - detail=CLIP_DETAILS_BPP; - retval=get_clip_value(mainw->current_file,detail,&cfile->bpp,0); + detail = CLIP_DETAILS_BPP; + retval = get_clip_value(mainw->current_file, detail, &cfile->bpp, 0); } if (retval) { - detail=CLIP_DETAILS_FPS; - retval=get_clip_value(mainw->current_file,detail,&cfile->fps,0); + detail = CLIP_DETAILS_FPS; + retval = get_clip_value(mainw->current_file, detail, &cfile->fps, 0); } if (retval) { - detail=CLIP_DETAILS_PB_FPS; - retval=get_clip_value(mainw->current_file,detail,&cfile->pb_fps,0); + detail = CLIP_DETAILS_PB_FPS; + retval = get_clip_value(mainw->current_file, detail, &cfile->pb_fps, 0); if (!retval) { - retval=TRUE; - cfile->pb_fps=cfile->fps; + retval = TRUE; + cfile->pb_fps = cfile->fps; } } if (retval) { - retval=get_clip_value(mainw->current_file,CLIP_DETAILS_PB_FRAMENO,&cfile->frameno,0); + retval = get_clip_value(mainw->current_file, CLIP_DETAILS_PB_FRAMENO, &cfile->frameno, 0); if (!retval) { - retval=TRUE; - cfile->frameno=1; + retval = TRUE; + cfile->frameno = 1; } } if (retval) { - detail=CLIP_DETAILS_WIDTH; - retval=get_clip_value(mainw->current_file,detail,&cfile->hsize,0); + detail = CLIP_DETAILS_WIDTH; + retval = get_clip_value(mainw->current_file, detail, &cfile->hsize, 0); } if (retval) { - detail=CLIP_DETAILS_HEIGHT; - retval=get_clip_value(mainw->current_file,detail,&cfile->vsize,0); + detail = CLIP_DETAILS_HEIGHT; + retval = get_clip_value(mainw->current_file, detail, &cfile->vsize, 0); } if (retval) { - detail=CLIP_DETAILS_CLIPNAME; - get_clip_value(mainw->current_file,detail,cfile->name,256); + detail = CLIP_DETAILS_CLIPNAME; + get_clip_value(mainw->current_file, detail, cfile->name, 256); } if (retval) { - detail=CLIP_DETAILS_FILENAME; - get_clip_value(mainw->current_file,detail,cfile->file_name,PATH_MAX); + detail = CLIP_DETAILS_FILENAME; + get_clip_value(mainw->current_file, detail, cfile->file_name, PATH_MAX); } if (retval) { - detail=CLIP_DETAILS_ACHANS; - retvala=get_clip_value(mainw->current_file,detail,&cfile->achans,0); - if (!retvala) cfile->achans=0; + detail = CLIP_DETAILS_ACHANS; + retvala = get_clip_value(mainw->current_file, detail, &cfile->achans, 0); + if (!retvala) cfile->achans = 0; } - if (cfile->achans==0) retvala=FALSE; - else retvala=TRUE; + if (cfile->achans == 0) retvala = FALSE; + else retvala = TRUE; - if (retval&&retvala) { - detail=CLIP_DETAILS_ARATE; - retvala=get_clip_value(mainw->current_file,detail,&cfile->arps,0); + if (retval && retvala) { + detail = CLIP_DETAILS_ARATE; + retvala = get_clip_value(mainw->current_file, detail, &cfile->arps, 0); } - if (!retvala) cfile->arps=cfile->achans=cfile->arate=cfile->asampsize=0; - if (cfile->arps==0) retvala=FALSE; + if (!retvala) cfile->arps = cfile->achans = cfile->arate = cfile->asampsize = 0; + if (cfile->arps == 0) retvala = FALSE; - if (retvala&&retval) { - detail=CLIP_DETAILS_PB_ARATE; - retvala=get_clip_value(mainw->current_file,detail,&cfile->arate,0); + if (retvala && retval) { + detail = CLIP_DETAILS_PB_ARATE; + retvala = get_clip_value(mainw->current_file, detail, &cfile->arate, 0); if (!retvala) { - retvala=TRUE; - cfile->arate=cfile->arps; + retvala = TRUE; + cfile->arate = cfile->arps; } } - if (retvala&&retval) { - detail=CLIP_DETAILS_ASIGNED; - retval=get_clip_value(mainw->current_file,detail,&asigned,0); + if (retvala && retval) { + detail = CLIP_DETAILS_ASIGNED; + retval = get_clip_value(mainw->current_file, detail, &asigned, 0); } - if (retvala&&retval) { - detail=CLIP_DETAILS_AENDIAN; - retval=get_clip_value(mainw->current_file,detail,&aendian,0); + if (retvala && retval) { + detail = CLIP_DETAILS_AENDIAN; + retval = get_clip_value(mainw->current_file, detail, &aendian, 0); } - cfile->signed_endian=asigned+aendian; + cfile->signed_endian = asigned + aendian; - if (retvala&&retval) { - detail=CLIP_DETAILS_ASAMPS; - retval=get_clip_value(mainw->current_file,detail,&cfile->asampsize,0); + if (retvala && retval) { + detail = CLIP_DETAILS_ASAMPS; + retval = get_clip_value(mainw->current_file, detail, &cfile->asampsize, 0); } - get_clip_value(mainw->current_file,CLIP_DETAILS_TITLE,cfile->title,256); - get_clip_value(mainw->current_file,CLIP_DETAILS_AUTHOR,cfile->author,256); - get_clip_value(mainw->current_file,CLIP_DETAILS_COMMENT,cfile->comment,256); - get_clip_value(mainw->current_file,CLIP_DETAILS_KEYWORDS,cfile->keywords,1024); - get_clip_value(mainw->current_file,CLIP_DETAILS_INTERLACE,&cfile->interlace,0); - if (cfile->interlace!=LIVES_INTERLACE_NONE) cfile->deinterlace=TRUE; // user must have forced this + get_clip_value(mainw->current_file, CLIP_DETAILS_TITLE, cfile->title, 256); + get_clip_value(mainw->current_file, CLIP_DETAILS_AUTHOR, cfile->author, 256); + get_clip_value(mainw->current_file, CLIP_DETAILS_COMMENT, cfile->comment, 256); + get_clip_value(mainw->current_file, CLIP_DETAILS_KEYWORDS, cfile->keywords, 1024); + get_clip_value(mainw->current_file, CLIP_DETAILS_INTERLACE, &cfile->interlace, 0); + if (cfile->interlace != LIVES_INTERLACE_NONE) cfile->deinterlace = TRUE; // user must have forced this if (!retval) { - if (mainw->cached_list!=NULL) { - retval2=do_header_missing_detail_error(mainw->current_file,detail); + if (mainw->cached_list != NULL) { + retval2 = do_header_missing_detail_error(mainw->current_file, detail); } else { - retval2=do_header_read_error_with_retry(mainw->current_file); + retval2 = do_header_read_error_with_retry(mainw->current_file); } } else return TRUE; } else { - if (mainw->cached_list!=NULL) { - retval2=do_header_missing_detail_error(mainw->current_file,CLIP_DETAILS_FRAMES); + if (mainw->cached_list != NULL) { + retval2 = do_header_missing_detail_error(mainw->current_file, CLIP_DETAILS_FRAMES); } else { - retval2=do_header_read_error_with_retry(mainw->current_file); + retval2 = do_header_read_error_with_retry(mainw->current_file); } } - } while (retval2==LIVES_RESPONSE_RETRY); + } while (retval2 == LIVES_RESPONSE_RETRY); return FALSE; // retval2==LIVES_RESPONSE_CANCEL } @@ -4184,54 +4183,54 @@ lives_free(lives_header); do { - retval=0; - mainw->read_failed=FALSE; - memset(version,0,32); - memset(buff,0,1024); + retval = 0; + mainw->read_failed = FALSE; + memset(version, 0, 32); + memset(buff, 0, 1024); - header_fd=lives_open2(old_hdrfile,O_RDONLY); + header_fd = lives_open2(old_hdrfile, O_RDONLY); - if (header_fd<0) { - retval=do_read_failed_error_s_with_retry(old_hdrfile,lives_strerror(errno),NULL); + if (header_fd < 0) { + retval = do_read_failed_error_s_with_retry(old_hdrfile, lives_strerror(errno), NULL); } else { - mainw->read_failed=FALSE; - header_size=get_file_size(header_fd); + mainw->read_failed = FALSE; + header_size = get_file_size(header_fd); - if (header_size<sizhead) { + if (header_size < sizhead) { lives_free(old_hdrfile); close(header_fd); return FALSE; } else { - mainw->read_failed=FALSE; - lives_read_le(header_fd,&cfile->bpp,4,FALSE); + mainw->read_failed = FALSE; + lives_read_le(header_fd, &cfile->bpp, 4, FALSE); if (!mainw->read_failed) - lives_read_le(header_fd,&cfile->fps,8,FALSE); + lives_read_le(header_fd, &cfile->fps, 8, FALSE); if (!mainw->read_failed) - lives_read_le(header_fd,&cfile->hsize,4,FALSE); + lives_read_le(header_fd, &cfile->hsize, 4, FALSE); if (!mainw->read_failed) - lives_read_le(header_fd,&cfile->vsize,4,FALSE); + lives_read_le(header_fd, &cfile->vsize, 4, FALSE); if (!mainw->read_failed) - lives_read_le(header_fd,&cfile->arps,4,FALSE); + lives_read_le(header_fd, &cfile->arps, 4, FALSE); if (!mainw->read_failed) - lives_read_le(header_fd,&cfile->signed_endian,4,FALSE); + lives_read_le(header_fd, &cfile->signed_endian, 4, FALSE); if (!mainw->read_failed) - lives_read_le(header_fd,&cfile->arate,4,FALSE); + lives_read_le(header_fd, &cfile->arate, 4, FALSE); if (!mainw->read_failed) - lives_read_le(header_fd,&cfile->unique_id,8,FALSE); + lives_read_le(header_fd, &cfile->unique_id, 8, FALSE); if (!mainw->read_failed) - lives_read_le(header_fd,&cfile->achans,4,FALSE); + lives_read_le(header_fd, &cfile->achans, 4, FALSE); if (!mainw->read_failed) - lives_read_le(header_fd,&cfile->asampsize,4,FALSE); + lives_read_le(header_fd, &cfile->asampsize, 4, FALSE); - if (header_size>sizhead) { - if (header_size-sizhead>31) { + if (header_size > sizhead) { + if (header_size - sizhead > 31) { if (!mainw->read_failed) - lives_read(header_fd,&version,31,FALSE); - version[31]='\0'; + lives_read(header_fd, &version, 31, FALSE); + version[31] = '\0'; } else { if (!mainw->read_failed) - lives_read(header_fd,&version,header_size-sizhead,FALSE); - version[header_size-sizhead]='\0'; + lives_read(header_fd, &version, header_size - sizhead, FALSE); + version[header_size - sizhead] = '\0'; } } } @@ -4239,86 +4238,86 @@ } if (mainw->read_failed) { - retval=do_read_failed_error_s_with_retry(old_hdrfile,NULL,NULL); - if (retval==LIVES_RESPONSE_CANCEL) { + retval = do_read_failed_error_s_with_retry(old_hdrfile, NULL, NULL); + if (retval == LIVES_RESPONSE_CANCEL) { lives_free(old_hdrfile); return FALSE; } } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); lives_free(old_hdrfile); // handle version changes - version_hash=verhash(version); - if (version_hash<7001) { - cfile->arps=cfile->arate; - cfile->signed_endian=mainw->endian; + version_hash = verhash(version); + if (version_hash < 7001) { + cfile->arps = cfile->arate; + cfile->signed_endian = mainw->endian; } - com=lives_strdup_printf("%s restore_details %s %s %d",prefs->backend_sync,cfile->handle, - (tmp=lives_filename_from_utf8(file_name,-1,NULL,NULL,NULL)),!strcmp(file_name,".")); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + com = lives_strdup_printf("%s restore_details %s %s %d", prefs->backend_sync, cfile->handle, + (tmp = lives_filename_from_utf8(file_name, -1, NULL, NULL, NULL)), !strcmp(file_name, ".")); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); lives_free(tmp); if (mainw->com_failed) { - mainw->com_failed=FALSE; + mainw->com_failed = FALSE; return FALSE; } do { - retval2=0; - timeout=FALSE; + retval2 = 0; + timeout = FALSE; - alarm_handle=lives_alarm_set(LIVES_LONGEST_TIMEOUT); + alarm_handle = lives_alarm_set(LIVES_LONGEST_TIMEOUT); - while (!((infofile=fopen(cfile->info_file,"r"))&&!(timeout=lives_alarm_get(alarm_handle)))) { + while (!((infofile = fopen(cfile->info_file, "r")) && !(timeout = lives_alarm_get(alarm_handle)))) { lives_usleep(prefs->sleep_time); } lives_alarm_clear(alarm_handle); if (!timeout) { - mainw->read_failed=FALSE; - lives_fgets(buff,1024,infofile); + mainw->read_failed = FALSE; + lives_fgets(buff, 1024, infofile); fclose(infofile); } if (timeout || mainw->read_failed) { - retval2=do_read_failed_error_s_with_retry(cfile->info_file,NULL,NULL); + retval2 = do_read_failed_error_s_with_retry(cfile->info_file, NULL, NULL); } - } while (retval2==LIVES_RESPONSE_RETRY); + } while (retval2 == LIVES_RESPONSE_RETRY); - if (retval2==LIVES_RESPONSE_CANCEL) { - mainw->read_failed=FALSE; + if (retval2 == LIVES_RESPONSE_CANCEL) { + mainw->read_failed = FALSE; return FALSE; } - pieces=get_token_count(buff,'|'); - array=lives_strsplit(buff,"|",pieces); - cfile->f_size=strtol(array[1],NULL,10); - cfile->afilesize=strtol(array[2],NULL,10); + pieces = get_token_count(buff, '|'); + array = lives_strsplit(buff, "|", pieces); + cfile->f_size = strtol(array[1], NULL, 10); + cfile->afilesize = strtol(array[2], NULL, 10); - if (cfile->clip_type==CLIP_TYPE_DISK) { - if (!strcmp(array[3],LIVES_FILE_EXT_JPG)) cfile->img_type=IMG_TYPE_JPEG; - else cfile->img_type=IMG_TYPE_PNG; + if (cfile->clip_type == CLIP_TYPE_DISK) { + if (!strcmp(array[3], LIVES_FILE_EXT_JPG)) cfile->img_type = IMG_TYPE_JPEG; + else cfile->img_type = IMG_TYPE_PNG; } - cfile->frames=atoi(array[4]); + cfile->frames = atoi(array[4]); - cfile->bpp=(cfile->img_type==IMG_TYPE_JPEG)?24:32; + cfile->bpp = (cfile->img_type == IMG_TYPE_JPEG) ? 24 : 32; - if (pieces>4&&array[5]!=NULL) { - lives_snprintf(cfile->title,256,"%s",lives_strstrip(array[4])); + if (pieces > 4 && array[5] != NULL) { + lives_snprintf(cfile->title, 256, "%s", lives_strstrip(array[4])); } - if (pieces>5&&array[6]!=NULL) { - lives_snprintf(cfile->author,256,"%s",lives_strstrip(array[5])); + if (pieces > 5 && array[6] != NULL) { + lives_snprintf(cfile->author, 256, "%s", lives_strstrip(array[5])); } - if (pieces>6&&array[7]!=NULL) { - lives_snprintf(cfile->comment,256,"%s",lives_strstrip(array[6])); + if (pieces > 6 && array[7] != NULL) { + lives_snprintf(cfile->comment, 256, "%s", lives_strstrip(array[6])); } lives_strfreev(array); @@ -4329,39 +4328,39 @@ void open_set_file(const char *set_name, int clipnum) { char name[256]; - if (mainw->current_file<1) return; + if (mainw->current_file < 1) return; - memset(name,0,256); + memset(name, 0, 256); - if (mainw->cached_list!=NULL) { + if (mainw->cached_list != NULL) { boolean retval; // LiVES 0.9.6+ - retval=get_clip_value(mainw->current_file,CLIP_DETAILS_PB_FPS,&cfile->pb_fps,0); + retval = get_clip_value(mainw->current_file, CLIP_DETAILS_PB_FPS, &cfile->pb_fps, 0); if (!retval) { - cfile->pb_fps=cfile->fps; + cfile->pb_fps = cfile->fps; } - retval=get_clip_value(mainw->current_file,CLIP_DETAILS_PB_FRAMENO,&cfile->frameno,0); + retval = get_clip_value(mainw->current_file, CLIP_DETAILS_PB_FRAMENO, &cfile->frameno, 0); if (!retval) { - cfile->frameno=1; + cfile->frameno = 1; } - retval=get_clip_value(mainw->current_file,CLIP_DETAILS_CLIPNAME,name,256); + retval = get_clip_value(mainw->current_file, CLIP_DETAILS_CLIPNAME, name, 256); if (!retval) { - lives_snprintf(name,256,_("Untitled%d"),mainw->untitled_number++); - cfile->needs_update=TRUE; + lives_snprintf(name, 256, _("Untitled%d"), mainw->untitled_number++); + cfile->needs_update = TRUE; } - retval=get_clip_value(mainw->current_file,CLIP_DETAILS_UNIQUE_ID,&cfile->unique_id,0); + retval = get_clip_value(mainw->current_file, CLIP_DETAILS_UNIQUE_ID, &cfile->unique_id, 0); if (!retval) { - cfile->unique_id=lives_random(); - cfile->needs_update=TRUE; + cfile->unique_id = lives_random(); + cfile->needs_update = TRUE; } - retval=get_clip_value(mainw->current_file,CLIP_DETAILS_INTERLACE,&cfile->interlace,0); + retval = get_clip_value(mainw->current_file, CLIP_DETAILS_INTERLACE, &cfile->interlace, 0); if (!retval) { - cfile->interlace=LIVES_INTERLACE_NONE; - cfile->needs_update=TRUE; + cfile->interlace = LIVES_INTERLACE_NONE; + cfile->needs_update = TRUE; } - if (cfile->interlace!=LIVES_INTERLACE_NONE) cfile->deinterlace=TRUE; + if (cfile->interlace != LIVES_INTERLACE_NONE) cfile->deinterlace = TRUE; } else { // pre 0.9.6 <- ancient code @@ -4369,32 +4368,32 @@ int set_fd; int pb_fps; int retval; - char *setfile=lives_strdup_printf("%s/%s/set.%s",prefs->workdir,cfile->handle,set_name); + char *setfile = lives_strdup_printf("%s/%s/set.%s", prefs->workdir, cfile->handle, set_name); do { - retval=0; - if ((set_fd=lives_open2(setfile,O_RDONLY))>-1) { + retval = 0; + if ((set_fd = lives_open2(setfile, O_RDONLY)) > -1) { // get perf_start - if ((nlen=lives_read_le(set_fd,&pb_fps,4,TRUE))>0) { - cfile->pb_fps=pb_fps/1000.; - lives_read_le(set_fd,&cfile->frameno,4,TRUE); - lives_read(set_fd,name,256,TRUE); + if ((nlen = lives_read_le(set_fd, &pb_fps, 4, TRUE)) > 0) { + cfile->pb_fps = pb_fps / 1000.; + lives_read_le(set_fd, &cfile->frameno, 4, TRUE); + lives_read(set_fd, name, 256, TRUE); } close(set_fd); - } else retval=do_read_failed_error_s_with_retry(setfile,lives_strerror(errno),NULL); - } while (retval==LIVES_RESPONSE_RETRY); + } else retval = do_read_failed_error_s_with_retry(setfile, lives_strerror(errno), NULL); + } while (retval == LIVES_RESPONSE_RETRY); lives_free(setfile); - cfile->needs_update=TRUE; + cfile->needs_update = TRUE; } - if (strlen(name)==0) { - lives_snprintf(name,256,"set_clip %.3d",clipnum); + if (strlen(name) == 0) { + lives_snprintf(name, 256, "set_clip %.3d", clipnum); } - if (strlen(mainw->set_name)&&strcmp(name+strlen(name)-1,")")) { - lives_snprintf(cfile->name,256,"%s (%s)",name,set_name); + if (strlen(mainw->set_name) && strcmp(name + strlen(name) - 1, ")")) { + lives_snprintf(cfile->name, 256, "%s (%s)", name, set_name); } else { - lives_snprintf(cfile->name,256,"%s",name); + lives_snprintf(cfile->name, 256, "%s", name); } @@ -4403,56 +4402,56 @@ ulong restore_file(const char *file_name) { - char *com=lives_strdup("dummy"); - char *mesg,*mesg1,*tmp; - boolean is_OK=TRUE; - char *fname=lives_strdup(file_name); + char *com = lives_strdup("dummy"); + char *mesg, *mesg1, *tmp; + boolean is_OK = TRUE; + char *fname = lives_strdup(file_name); - int old_file=mainw->current_file,current_file; - int new_file=mainw->first_free_file; + int old_file = mainw->current_file, current_file; + int new_file = mainw->first_free_file; boolean not_cancelled; char *subfname; // create a new file - if (!get_new_handle(new_file,fname)) { + if (!get_new_handle(new_file, fname)) { return 0; } - d_print(_("Restoring %s..."),file_name); + d_print(_("Restoring %s..."), file_name); - mainw->current_file=new_file; + mainw->current_file = new_file; - cfile->hsize=mainw->def_width; - cfile->vsize=mainw->def_height; + cfile->hsize = mainw->def_width; + cfile->vsize = mainw->def_height; - switch_to_file((mainw->current_file=old_file),new_file); - set_main_title(cfile->file_name,0); + switch_to_file((mainw->current_file = old_file), new_file); + set_main_title(cfile->file_name, 0); - com=lives_strdup_printf("%s restore %s %s",prefs->backend,cfile->handle, - (tmp=lives_filename_from_utf8(file_name,-1,NULL,NULL,NULL))); + com = lives_strdup_printf("%s restore %s %s", prefs->backend, cfile->handle, + (tmp = lives_filename_from_utf8(file_name, -1, NULL, NULL, NULL))); - mainw->com_failed=FALSE; + mainw->com_failed = FALSE; lives_rm(cfile->info_file); - lives_system(com,FALSE); + lives_system(com, FALSE); lives_free(tmp); lives_free(com); if (mainw->com_failed) { - mainw->com_failed=FALSE; + mainw->com_failed = FALSE; close_current_file(old_file); return 0; } - cfile->restoring=TRUE; - not_cancelled=do_progress_dialog(TRUE,TRUE,_("Restoring")); - cfile->restoring=FALSE; + cfile->restoring = TRUE; + not_cancelled = do_progress_dialog(TRUE, TRUE, _("Restoring")); + cfile->restoring = FALSE; - if (mainw->error||!not_cancelled) { - if (mainw->error && mainw->cancelled!=CANCEL_ERROR) { + if (mainw->error || !not_cancelled) { + if (mainw->error && mainw->cancelled != CANCEL_ERROR) { do_blocking_error_dialog(mainw->msg); } close_current_file(old_file); @@ -4461,12 +4460,12 @@ // call function to return rest of file details //fsize, afilesize and frames - is_OK=read_headers(file_name); + is_OK = read_headers(file_name); lives_list_free_all(&mainw->cached_list); if (!is_OK) { - mesg=lives_strdup_printf(_("\n\nThe file %s is corrupt.\nLiVES was unable to restore it.\n"),file_name); + mesg = lives_strdup_printf(_("\n\nThe file %s is corrupt.\nLiVES was unable to restore it.\n"), file_name); do_blocking_error_dialog(mesg); lives_free(mesg); @@ -4481,56 +4480,56 @@ add_to_clipmenu(); if (prefs->show_recent) { - add_to_recent(file_name,0.,0,NULL); + add_to_recent(file_name, 0., 0, NULL); } - if (cfile->frames>0) { - cfile->start=1; + if (cfile->frames > 0) { + cfile->start = 1; } else { - cfile->start=0; + cfile->start = 0; } - cfile->end=cfile->frames; - cfile->arps=cfile->arate; - cfile->pb_fps=cfile->fps; - cfile->opening=FALSE; - cfile->proc_ptr=NULL; + cfile->end = cfile->frames; + cfile->arps = cfile->arate; + cfile->pb_fps = cfile->fps; + cfile->opening = FALSE; + cfile->proc_ptr = NULL; - cfile->changed=FALSE; + cfile->changed = FALSE; if (prefs->autoload_subs) { - subfname=lives_strdup_printf("%s/%s/subs.%s",prefs->workdir,cfile->handle,LIVES_FILE_EXT_SRT); - if (lives_file_test(subfname,LIVES_FILE_TEST_EXISTS)) { - subtitles_init(cfile,subfname,SUBTITLE_TYPE_SRT); + subfname = lives_strdup_printf("%s/%s/subs.%s", prefs->workdir, cfile->handle, LIVES_FILE_EXT_SRT); + if (lives_file_test(subfname, LIVES_FILE_TEST_EXISTS)) { + subtitles_init(cfile, subfname, SUBTITLE_TYPE_SRT); } else { lives_free(subfname); - subfname=lives_strdup_printf("%s/%s/subs.%s",prefs->workdir,cfile->handle,LIVES_FILE_EXT_SUB); - if (lives_file_test(subfname,LIVES_FILE_TEST_EXISTS)) { - subtitles_init(cfile,subfname,SUBTITLE_TYPE_SUB); + subfname = lives_strdup_printf("%s/%s/subs.%s", prefs->workdir, cfile->handle, LIVES_FILE_EXT_SUB); + if (lives_file_test(subfname, LIVES_FILE_TEST_EXISTS)) { + subtitles_init(cfile, subfname, SUBTITLE_TYPE_SUB); } } lives_free(subfname); } - lives_snprintf(cfile->type,40,"Frames"); - mesg1=lives_strdup_printf(_("Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\nAudio:"),cfile->frames,cfile->type, - cfile->hsize,cfile->vsize,cfile->bpp,cfile->fps); - - if (cfile->afilesize==0l) { - cfile->achans=0; - mesg=lives_strdup_printf(_("%s none\n"),mesg1); + lives_snprintf(cfile->type, 40, "Frames"); + mesg1 = lives_strdup_printf(_("Frames=%d type=%s size=%dx%d bpp=%d fps=%.3f\nAudio:"), cfile->frames, cfile->type, + cfile->hsize, cfile->vsize, cfile->bpp, cfile->fps); + + if (cfile->afilesize == 0l) { + cfile->achans = 0; + mesg = lives_strdup_printf(_("%s none\n"), mesg1); } else { - mesg=lives_strdup_printf(P_("%s %d Hz %d channel %d bps\n","%s %d Hz %d channels %d bps\n",cfile->achans), - mesg1,cfile->arate,cfile->achans,cfile->asampsize); + mesg = lives_strdup_printf(P_("%s %d Hz %d channel %d bps\n", "%s %d Hz %d channels %d bps\n", cfile->achans), + mesg1, cfile->arate, cfile->achans, cfile->asampsize); } d_print(mesg); lives_free(mesg); lives_free(mesg1); - cfile->is_loaded=TRUE; - current_file=mainw->current_file; + cfile->is_loaded = TRUE; + current_file = mainw->current_file; // set new bpp - cfile->bpp=(cfile->img_type==IMG_TYPE_JPEG)?24:32; + cfile->bpp = (cfile->img_type == IMG_TYPE_JPEG) ? 24 : 32; if (!save_clip_values(current_file)) { close_current_file(old_file); @@ -4539,9 +4538,9 @@ if (prefs->crash_recovery) add_to_recovery_file(cfile->handle); - switch_to_file((mainw->current_file=old_file),current_file); + switch_to_file((mainw->current_file = old_file), current_file); - lives_notify(LIVES_OSC_NOTIFY_CLIP_OPENED,""); + lives_notify(LIVES_OSC_NOTIFY_CLIP_OPENED, ""); return cfile->unique_id; } @@ -4553,73 +4552,73 @@ // here we also update the frame_index for clips of type CLIP_TYPE_FILE - char *hdrfile=lives_strdup_printf("%s/%s/event.frames",prefs->workdir,cfile->handle); + char *hdrfile = lives_strdup_printf("%s/%s/event.frames", prefs->workdir, cfile->handle); - int header_fd,i=0; + int header_fd, i = 0; int retval; - int perf_start,perf_end; + int perf_start, perf_end; int nevents; - if (cfile->event_list==NULL) { + if (cfile->event_list == NULL) { lives_rm(hdrfile); return -1; } - perf_start=(int)(cfile->fps*event_list_get_start_secs(cfile->event_list))+1; - perf_end=perf_start+(nevents=count_events(cfile->event_list,FALSE,0,0))-1; + perf_start = (int)(cfile->fps * event_list_get_start_secs(cfile->event_list)) + 1; + perf_end = perf_start + (nevents = count_events(cfile->event_list, FALSE, 0, 0)) - 1; - event_list_to_block(cfile->event_list,nevents); + event_list_to_block(cfile->event_list, nevents); - if (cfile->frame_index!=NULL) { - int xframes=cfile->frames; + if (cfile->frame_index != NULL) { + int xframes = cfile->frames; - if (cfile->frame_index_back!=NULL) lives_free(cfile->frame_index_back); - cfile->frame_index_back=cfile->frame_index; - cfile->frame_index=NULL; + if (cfile->frame_index_back != NULL) lives_free(cfile->frame_index_back); + cfile->frame_index_back = cfile->frame_index; + cfile->frame_index = NULL; - create_frame_index(mainw->current_file,FALSE,0,nevents); + create_frame_index(mainw->current_file, FALSE, 0, nevents); - for (i=0; i<nevents; i++) { - cfile->frame_index[i]=cfile->frame_index_back[(cfile->events[0]+i)->value-1]; + for (i = 0; i < nevents; i++) { + cfile->frame_index[i] = cfile->frame_index_back[(cfile->events[0] + i)->value - 1]; } - cfile->frames=nevents; - if (!check_if_non_virtual(mainw->current_file,1,cfile->frames)) save_frame_index(mainw->current_file); - cfile->frames=xframes; + cfile->frames = nevents; + if (!check_if_non_virtual(mainw->current_file, 1, cfile->frames)) save_frame_index(mainw->current_file); + cfile->frames = xframes; } do { - retval=0; - header_fd=creat(hdrfile,S_IRUSR|S_IWUSR); - if (header_fd<0) { - retval=do_write_failed_error_s_with_retry(hdrfile,lives_strerror(errno),NULL); + retval = 0; + header_fd = creat(hdrfile, S_IRUSR | S_IWUSR); + if (header_fd < 0) { + retval = do_write_failed_error_s_with_retry(hdrfile, lives_strerror(errno), NULL); } else { // use machine endian. // When we call "smogrify reorder", we will pass the endianness as 3rd parameter - mainw->write_failed=FALSE; - lives_write(header_fd,&perf_start,4,FALSE); + mainw->write_failed = FALSE; + lives_write(header_fd, &perf_start, 4, FALSE); - if (!(cfile->events[0]==NULL)) { - for (i=0; i<=perf_end-perf_start; i++) { + if (!(cfile->events[0] == NULL)) { + for (i = 0; i <= perf_end - perf_start; i++) { if (mainw->write_failed) break; - lives_write(header_fd,&((cfile->events[0]+i)->value),4,TRUE); + lives_write(header_fd, &((cfile->events[0] + i)->value), 4, TRUE); } lives_freep((void **)&cfile->events[0]); } if (mainw->write_failed) { - retval=do_write_failed_error_s_with_retry(hdrfile,NULL,NULL); + retval = do_write_failed_error_s_with_retry(hdrfile, NULL, NULL); } close(header_fd); } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); - if (retval==LIVES_RESPONSE_CANCEL) { - i=-1; + if (retval == LIVES_RESPONSE_CANCEL) { + i = -1; } lives_free(hdrfile); @@ -4644,29 +4643,29 @@ static uint64_t free_mb; // MB free to write void add_to_ascrap_mb(uint64_t bytes) { - ascrap_mb+=bytes/1000000.; + ascrap_mb += bytes / 1000000.; } boolean open_scrap_file(void) { // create a scrap file for recording generated video frames - int current_file=mainw->current_file; - int new_file=mainw->first_free_file; + int current_file = mainw->current_file; + int new_file = mainw->first_free_file; char *dir; char *scrap_handle; - if (!get_temp_handle(new_file,TRUE)) return FALSE; + if (!get_temp_handle(new_file, TRUE)) return FALSE; get_next_free_file(); - mainw->scrap_file=mainw->current_file=new_file; + mainw->scrap_file = mainw->current_file = new_file; - lives_snprintf(cfile->type,40,"scrap"); - cfile->frames=0; + lives_snprintf(cfile->type, 40, "scrap"); + cfile->frames = 0; - cfile->unique_id=0; + cfile->unique_id = 0; - scrap_handle=lives_strdup_printf("scrap|%s",cfile->handle); + scrap_handle = lives_strdup_printf("scrap|%s", cfile->handle); add_to_recovery_file(scrap_handle); @@ -4676,14 +4675,14 @@ lives_free(scrap_handle); - dir=lives_build_filename(prefs->workdir,cfile->handle,NULL); - free_mb=(double)get_fs_free(dir)/1000000.; + dir = lives_build_filename(prefs->workdir, cfile->handle, NULL); + free_mb = (double)get_fs_free(dir) / 1000000.; lives_free(dir); - mainw->current_file=current_file; + mainw->current_file = current_file; - scrap_mb=0.; - if (mainw->ascrap_file==-1) ascrap_mb=0.; + scrap_mb = 0.; + if (mainw->ascrap_file == -1) ascrap_mb = 0.; return TRUE; } @@ -4692,24 +4691,24 @@ boolean open_ascrap_file(void) { // create a scrap file for recording audio - int current_file=mainw->current_file; - int new_file=mainw->first_free_file; + int current_file = mainw->current_file; + int new_file = mainw->first_free_file; char *dir; char *ascrap_handle; - if (!get_temp_handle(new_file,TRUE)) return FALSE; + if (!get_temp_handle(new_file, TRUE)) return FALSE; get_next_free_file(); - mainw->ascrap_file=mainw->current_file=new_file; + mainw->ascrap_file = mainw->current_file = new_file; - lives_snprintf(cfile->type,40,"ascrap"); + lives_snprintf(cfile->type, 40, "ascrap"); - cfile->frames=0; - cfile->unique_id=0; - cfile->opening=FALSE; + cfile->frames = 0; + cfile->unique_id = 0; + cfile->opening = FALSE; - ascrap_handle=lives_strdup_printf("ascrap|%s",cfile->handle); + ascrap_handle = lives_strdup_printf("ascrap|%s", cfile->handle); add_to_recovery_file(ascrap_handle); @@ -4719,14 +4718,14 @@ lives_free(ascrap_handle); - dir=lives_build_filename(prefs->workdir,cfile->handle,NULL); - free_mb=(double)get_fs_free(dir)/1000000.; + dir = lives_build_filename(prefs->workdir, cfile->handle, NULL); + free_mb = (double)get_fs_free(dir) / 1000000.; lives_free(dir); - mainw->current_file=current_file; + mainw->current_file = current_file; - ascrap_mb=0.; - if (mainw->scrap_file==-1) scrap_mb=0.; + ascrap_mb = 0.; + if (mainw->scrap_file == -1) scrap_mb = 0.; return TRUE; } @@ -4752,8 +4751,8 @@ int *rowstrides; - int width,height,palette,nplanes; - int clamping,subspace,sampling; + int width, height, palette, nplanes; + int clamping, subspace, sampling; int fd; @@ -4765,100 +4764,101 @@ register int i; - if (mainw->files[mainw->scrap_file]->cb_src<0) { - oname=make_image_file_name(mainw->files[mainw->scrap_file],1,LIVES_FILE_EXT_SCRAP); - fd=lives_open2(oname,O_RDONLY); + if (mainw->files[mainw->scrap_file]->cb_src < 0) { + oname = make_image_file_name(mainw->files[mainw->scrap_file], 1, LIVES_FILE_EXT_SCRAP); + fd = lives_open2(oname, O_RDONLY); lives_free(oname); - if (fd<0) return FALSE; - mainw->files[mainw->scrap_file]->cb_src=fd; - } else fd=mainw->files[mainw->scrap_file]->cb_src; + if (fd < 0) return FALSE; + mainw->files[mainw->scrap_file]->cb_src = fd; + } else fd = mainw->files[mainw->scrap_file]->cb_src; - bytes=lives_read_le(fd,&palette,4,TRUE); - if (bytes<4) { + bytes = lives_read_le(fd, &palette, 4, TRUE); + if (bytes < 4) { // old style file per frame close(mainw->files[mainw->scrap_file]->cb_src); - mainw->files[mainw->scrap_file]->cb_src=-1; + mainw->files[mainw->scrap_file]->cb_src = -1; - oname=make_image_file_name(mainw->files[mainw->scrap_file],frame,LIVES_FILE_EXT_SCRAP); - fd=lives_open2(oname,O_RDONLY); + oname = make_image_file_name(mainw->files[mainw->scrap_file], frame, LIVES_FILE_EXT_SCRAP); + fd = lives_open2(oname, O_RDONLY); lives_free(oname); - if (fd<0) return FALSE; - mainw->files[mainw->scrap_file]->cb_src=fd; - bytes=lives_read_le(fd,&palette,4,TRUE); - if (bytes<sizint) { + if (fd < 0) return FALSE; + mainw->files[mainw->scrap_file]->cb_src = fd; + bytes = lives_read_le(fd, &palette, 4, TRUE); + if (bytes < sizint) { return FALSE; } } #ifdef USE_LIBPNG - else if (palette==WEED_PALETTE_RGB24||palette==WEED_PALETTE_BGR24||palette==WEED_PALETTE_RGBA32||palette==WEED_PALETTE_BGRA32) { - fp=fdopen(fd,"rb"); - layer_from_png(fp,layer,TRUE); - end=ftell(fp); - lseek(fd,end,SEEK_SET); + else if (palette == WEED_PALETTE_RGB24 || palette == WEED_PALETTE_BGR24 || palette == WEED_PALETTE_RGBA32 || + palette == WEED_PALETTE_BGRA32) { + fp = fdopen(fd, "rb"); + layer_from_png(fp, layer, TRUE); + end = ftell(fp); + lseek(fd, end, SEEK_SET); return TRUE; } #endif - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,palette); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, palette); if (weed_palette_is_yuv_palette(palette)) { - bytes=lives_read_le(fd,&clamping,4,TRUE); - if (bytes<4) return FALSE; + bytes = lives_read_le(fd, &clamping, 4, TRUE); + if (bytes < 4) return FALSE; - weed_set_int_value(layer,WEED_LEAF_YUV_CLAMPING,clamping); + weed_set_int_value(layer, WEED_LEAF_YUV_CLAMPING, clamping); - bytes=lives_read_le(fd,&subspace,4,TRUE); - if (bytes<4) return FALSE; + bytes = lives_read_le(fd, &subspace, 4, TRUE); + if (bytes < 4) return FALSE; - weed_set_int_value(layer,WEED_LEAF_YUV_SUBSPACE,subspace); + weed_set_int_value(layer, WEED_LEAF_YUV_SUBSPACE, subspace); - bytes=lives_read_le(fd,&sampling,4,TRUE); - if (bytes<4) return FALSE; + bytes = lives_read_le(fd, &sampling, 4, TRUE); + if (bytes < 4) return FALSE; - weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,sampling); + weed_set_int_value(layer, WEED_LEAF_YUV_SAMPLING, sampling); } - bytes=lives_read_le(fd,&width,4,TRUE); - if (bytes<4) return FALSE; + bytes = lives_read_le(fd, &width, 4, TRUE); + if (bytes < 4) return FALSE; - weed_set_int_value(layer,WEED_LEAF_WIDTH,width); + weed_set_int_value(layer, WEED_LEAF_WIDTH, width); - bytes=lives_read_le(fd,&height,4,TRUE); - if (bytes<4) return FALSE; + bytes = lives_read_le(fd, &height, 4, TRUE); + if (bytes < 4) return FALSE; - weed_set_int_value(layer,WEED_LEAF_HEIGHT,height); + weed_set_int_value(layer, WEED_LEAF_HEIGHT, height); - nplanes=weed_palette_get_numplanes(palette); + nplanes = weed_palette_get_numplanes(palette); - rowstrides=(int *)lives_malloc(nplanes*sizint); + rowstrides = (int *)lives_malloc(nplanes * sizint); - for (i=0; i<nplanes; i++) { - bytes=lives_read_le(fd,&rowstrides[i],4,TRUE); - if (bytes<4) { + for (i = 0; i < nplanes; i++) { + bytes = lives_read_le(fd, &rowstrides[i], 4, TRUE); + if (bytes < 4) { lives_free(rowstrides); return FALSE; } } - weed_set_int_array(layer,WEED_LEAF_ROWSTRIDES,nplanes,rowstrides); + weed_set_int_array(layer, WEED_LEAF_ROWSTRIDES, nplanes, rowstrides); - pdata=(void **)lives_malloc(nplanes*sizeof(void *)); + pdata = (void **)lives_malloc(nplanes * sizeof(void *)); - for (i=0; i<nplanes; i++) { - pdata[i]=NULL; + for (i = 0; i < nplanes; i++) { + pdata[i] = NULL; } - weed_set_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,nplanes,pdata); + weed_set_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, nplanes, pdata); - for (i=0; i<nplanes; i++) { - tsize=rowstrides[i]*height*weed_palette_get_plane_ratio_vertical(palette,i); - pdata[i]=lives_malloc(tsize); - bytes=read(fd,pdata[i],tsize); - if (bytes<tsize) { + for (i = 0; i < nplanes; i++) { + tsize = rowstrides[i] * height * weed_palette_get_plane_ratio_vertical(palette, i); + pdata[i] = lives_malloc(tsize); + bytes = read(fd, pdata[i], tsize); + if (bytes < tsize) { lives_free(rowstrides); lives_free(pdata); return FALSE; @@ -4867,7 +4867,7 @@ lives_free(rowstrides); - weed_set_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,nplanes,pdata); + weed_set_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, nplanes, pdata); lives_free(pdata); @@ -4876,21 +4876,21 @@ boolean check_for_disk_space(void) { - boolean wrtable=TRUE; + boolean wrtable = TRUE; // check if we have enough free space left on the volume (return FALSE if not) - if ((int64_t)(((double)free_mb-(scrap_mb+ascrap_mb))/1000.)<prefs->rec_stop_gb) { + if ((int64_t)(((double)free_mb - (scrap_mb + ascrap_mb)) / 1000.) < prefs->rec_stop_gb) { // check free space again - free_mb=(double)get_fs_free(prefs->workdir)/1000000.; - if (free_mb==0) wrtable=is_writeable_dir(prefs->workdir); - else wrtable=TRUE; + free_mb = (double)get_fs_free(prefs->workdir) / 1000000.; + if (free_mb == 0) wrtable = is_writeable_dir(prefs->workdir); + else wrtable = TRUE; if (wrtable) { - if ((int64_t)(((double)free_mb-(scrap_mb+ascrap_mb))/1000.)<prefs->rec_stop_gb) { - if (mainw->record&&!mainw->record_paused) { + if ((int64_t)(((double)free_mb - (scrap_mb + ascrap_mb)) / 1000.) < prefs->rec_stop_gb) { + if (mainw->record && !mainw->record_paused) { d_print(_("\nRECORDING WAS PAUSED BECAUSE FREE DISK SPACE in %s IS BELOW %d GB !\nRecord stop level can be set in Preferences.\n"), - prefs->workdir,prefs->rec_stop_gb); - on_record_perf_activate(NULL,NULL); + prefs->workdir, prefs->rec_stop_gb); + on_record_perf_activate(NULL, NULL); } return FALSE; } @@ -4930,131 +4930,131 @@ off_t end; #endif - boolean wrtable=TRUE; - boolean done=FALSE; + boolean wrtable = TRUE; + boolean done = FALSE; - int flags=O_WRONLY|O_CREAT|O_TRUNC; - int width,height,palette,nplanes,error; - int clamping,subspace,sampling; + int flags = O_WRONLY | O_CREAT | O_TRUNC; + int width, height, palette, nplanes, error; + int clamping, subspace, sampling; int fd; register int i; - if (mainw->files[mainw->scrap_file]->cb_src<0) { + if (mainw->files[mainw->scrap_file]->cb_src < 0) { char *drnm; - char *oname=make_image_file_name(mainw->files[mainw->scrap_file],1,LIVES_FILE_EXT_SCRAP); + char *oname = make_image_file_name(mainw->files[mainw->scrap_file], 1, LIVES_FILE_EXT_SCRAP); #ifdef O_NOATIME - flags|=O_NOATIME; + flags |= O_NOATIME; #endif - drnm=lives_build_filename(prefs->workdir,mainw->files[mainw->scrap_file]->handle,NULL); - lives_mkdir_with_parents(drnm,capable->umask); + drnm = lives_build_filename(prefs->workdir, mainw->files[mainw->scrap_file]->handle, NULL); + lives_mkdir_with_parents(drnm, capable->umask); - fd=lives_open3(oname,flags,S_IRUSR|S_IWUSR); + fd = lives_open3(oname, flags, S_IRUSR | S_IWUSR); lives_free(oname); - if (fd<0) return mainw->files[mainw->scrap_file]->frames; - mainw->files[mainw->scrap_file]->cb_src=fd; + if (fd < 0) return mainw->files[mainw->scrap_file]->frames; + mainw->files[mainw->scrap_file]->cb_src = fd; - } else fd=mainw->files[mainw->scrap_file]->cb_src; + } else fd = mainw->files[mainw->scrap_file]->cb_src; - palette=weed_get_int_value(layer,WEED_LEAF_CURRENT_PALETTE,&error); + palette = weed_get_int_value(layer, WEED_LEAF_CURRENT_PALETTE, &error); - mainw->write_failed=FALSE; + mainw->write_failed = FALSE; // write current_palette, rowstrides and height - lives_write_le(fd,&palette,4,TRUE); + lives_write_le(fd, &palette, 4, TRUE); if (mainw->write_failed) { return mainw->files[mainw->scrap_file]->frames; } #ifdef USE_LIBPNG - if (palette==WEED_PALETTE_RGB24||palette==WEED_PALETTE_BGR24||palette==WEED_PALETTE_BGRA32||palette==WEED_PALETTE_RGBA32) { - fp=fdopen(fd,"ab"); - pdata_size=-ftell(fp); - save_to_png(fp,layer,4); - end=ftell(fp); - lseek(fd,end,SEEK_SET); - pdata_size+=end; - done=TRUE; + if (palette == WEED_PALETTE_RGB24 || palette == WEED_PALETTE_BGR24 || palette == WEED_PALETTE_BGRA32 || palette == WEED_PALETTE_RGBA32) { + fp = fdopen(fd, "ab"); + pdata_size = -ftell(fp); + save_to_png(fp, layer, 4); + end = ftell(fp); + lseek(fd, end, SEEK_SET); + pdata_size += end; + done = TRUE; } #endif if (!done) { if (weed_palette_is_yuv_palette(palette)) { - if (weed_plant_has_leaf(layer,WEED_LEAF_YUV_CLAMPING)) { - clamping=weed_get_int_value(layer,WEED_LEAF_YUV_CLAMPING,&error); - } else clamping=WEED_YUV_CLAMPING_CLAMPED; - lives_write_le(fd,&clamping,4,TRUE); + if (weed_plant_has_leaf(layer, WEED_LEAF_YUV_CLAMPING)) { + clamping = weed_get_int_value(layer, WEED_LEAF_YUV_CLAMPING, &error); + } else clamping = WEED_YUV_CLAMPING_CLAMPED; + lives_write_le(fd, &clamping, 4, TRUE); - if (weed_plant_has_leaf(layer,WEED_LEAF_YUV_SUBSPACE)) { - subspace=weed_get_int_value(layer,WEED_LEAF_YUV_SUBSPACE,&error); - } else subspace=WEED_YUV_SUBSPACE_YUV; - lives_write_le(fd,&subspace,4,TRUE); + if (weed_plant_has_leaf(layer, WEED_LEAF_YUV_SUBSPACE)) { + subspace = weed_get_int_value(layer, WEED_LEAF_YUV_SUBSPACE, &error); + } else subspace = WEED_YUV_SUBSPACE_YUV; + lives_write_le(fd, &subspace, 4, TRUE); - if (weed_plant_has_leaf(layer,WEED_LEAF_YUV_SAMPLING)) { - sampling=weed_get_int_value(layer,WEED_LEAF_YUV_SAMPLING,&error); - } else sampling=WEED_YUV_SAMPLING_DEFAULT; - lives_write_le(fd,&sampling,4,TRUE); + if (weed_plant_has_leaf(layer, WEED_LEAF_YUV_SAMPLING)) { + sampling = weed_get_int_value(layer, WEED_LEAF_YUV_SAMPLING, &error); + } else sampling = WEED_YUV_SAMPLING_DEFAULT; + lives_write_le(fd, &sampling, 4, TRUE); } - width=weed_get_int_value(layer,WEED_LEAF_WIDTH,&error); - lives_write_le(fd,&width,4,TRUE); + width = weed_get_int_value(layer, WEED_LEAF_WIDTH, &error); + lives_write_le(fd, &width, 4, TRUE); - height=weed_get_int_value(layer,WEED_LEAF_HEIGHT,&error); - lives_write_le(fd,&height,4,TRUE); + height = weed_get_int_value(layer, WEED_LEAF_HEIGHT, &error); + lives_write_le(fd, &height, 4, TRUE); - nplanes=weed_palette_get_numplanes(palette); + nplanes = weed_palette_get_numplanes(palette); - rowstrides=weed_get_int_array(layer,WEED_LEAF_ROWSTRIDES,&error); + rowstrides = weed_get_int_array(layer, WEED_LEAF_ROWSTRIDES, &error); - for (i=0; i<nplanes; i++) { - lives_write_le(fd,&rowstrides[i],4,TRUE); + for (i = 0; i < nplanes; i++) { + lives_write_le(fd, &rowstrides[i], 4, TRUE); } // now write pixel_data planes - pdata=weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); - pdata_size=0; + pdata = weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); + pdata_size = 0; - for (i=0; i<nplanes; i++) { - pdata_size+=rowstrides[i]*height*weed_palette_get_plane_ratio_vertical(palette,i); - lives_write(fd,pdata[i],pdata_size,TRUE); + for (i = 0; i < nplanes; i++) { + pdata_size += rowstrides[i] * height * weed_palette_get_plane_ratio_vertical(palette, i); + lives_write(fd, pdata[i], pdata_size, TRUE); } lives_free(rowstrides); lives_free(pdata); } - scrap_mb+=(double)(pdata_size)/1000000.; + scrap_mb += (double)(pdata_size) / 1000000.; // check free space every 1000 frames or every 10 MB of audio (TODO ****) - if (mainw->files[mainw->scrap_file]->frames%1000==0) { - char *dir=lives_build_filename(prefs->workdir,mainw->files[mainw->scrap_file]->handle,NULL); - free_mb=(double)get_fs_free(dir)/1000000.; - if (free_mb==0) wrtable=is_writeable_dir(dir); + if (mainw->files[mainw->scrap_file]->frames % 1000 == 0) { + char *dir = lives_build_filename(prefs->workdir, mainw->files[mainw->scrap_file]->handle, NULL); + free_mb = (double)get_fs_free(dir) / 1000000.; + if (free_mb == 0) wrtable = is_writeable_dir(dir); lives_free(dir); } - if ((!mainw->fs||prefs->play_monitor!=prefs->gui_monitor)&&prefs->show_framecount) { - if ((scrap_mb+ascrap_mb)<(double)free_mb*.75) { + if ((!mainw->fs || prefs->play_monitor != prefs->gui_monitor) && prefs->show_framecount) { + if ((scrap_mb + ascrap_mb) < (double)free_mb * .75) { // TRANSLATORS: rec(ord) %.2f M(ega)B(ytes) - framecount=lives_strdup_printf(_("rec %.2f MB"),scrap_mb+ascrap_mb); + framecount = lives_strdup_printf(_("rec %.2f MB"), scrap_mb + ascrap_mb); } else { // warn if scrap_file > 3/4 of free space // TRANSLATORS: !rec(ord) %.2f M(ega)B(ytes) if (wrtable) - framecount=lives_strdup_printf(_("!rec %.2f MB"),scrap_mb+ascrap_mb); + framecount = lives_strdup_printf(_("!rec %.2f MB"), scrap_mb + ascrap_mb); else // TRANSLATORS: rec(ord) ?? M(ega)B(ytes) - framecount=lives_strdup(_("rec ?? MB")); + framecount = lives_strdup(_("rec ?? MB")); } - lives_entry_set_text(LIVES_ENTRY(mainw->framecounter),framecount); + lives_entry_set_text(LIVES_ENTRY(mainw->framecounter), framecount); lives_free(framecount); } @@ -5069,120 +5069,120 @@ void close_scrap_file(void) { - int current_file=mainw->current_file; + int current_file = mainw->current_file; - if (mainw->scrap_file==-1) return; + if (mainw->scrap_file == -1) return; - mainw->current_file=mainw->scrap_file; + mainw->current_file = mainw->scrap_file; - if (cfile->cb_src>=0) close(cfile->cb_src); + if (cfile->cb_src >= 0) close(cfile->cb_src); close_current_file(current_file); pthread_mutex_lock(&mainw->clip_list_mutex); - mainw->cliplist=lives_list_remove(mainw->cliplist, LIVES_INT_TO_POINTER(mainw->scrap_file)); + mainw->cliplist = lives_list_remove(mainw->cliplist, LIVES_INT_TO_POINTER(mainw->scrap_file)); pthread_mutex_unlock(&mainw->clip_list_mutex); if (prefs->crash_recovery) rewrite_recovery_file(); - mainw->scrap_file=-1; + mainw->scrap_file = -1; } void close_ascrap_file(void) { - int current_file=mainw->current_file; + int current_file = mainw->current_file; - if (mainw->ascrap_file==-1) return; + if (mainw->ascrap_file == -1) return; - mainw->current_file=mainw->ascrap_file; + mainw->current_file = mainw->ascrap_file; close_current_file(current_file); pthread_mutex_lock(&mainw->clip_list_mutex); - mainw->cliplist=lives_list_remove(mainw->cliplist, LIVES_INT_TO_POINTER(mainw->ascrap_file)); + mainw->cliplist = lives_list_remove(mainw->cliplist, LIVES_INT_TO_POINTER(mainw->ascrap_file)); pthread_mutex_unlock(&mainw->clip_list_mutex); if (prefs->crash_recovery) rewrite_recovery_file(); - mainw->ascrap_file=-1; + mainw->ascrap_file = -1; } void recover_layout_map(int numclips) { // load global layout map for a set and assign entries to clips [mainw->files[i]->layout_map] - LiVESList *omlist,*mlist,*lmap_node,*lmap_node_next,*lmap_entry_list,*lmap_entry_list_next; + LiVESList *omlist, *mlist, *lmap_node, *lmap_node_next, *lmap_entry_list, *lmap_entry_list_next; layout_map *lmap_entry; char **array; char *check_handle; - if (numclips>MAX_FILES) numclips=MAX_FILES; + if (numclips > MAX_FILES) numclips = MAX_FILES; - if ((omlist=load_layout_map())!=NULL) { + if ((omlist = load_layout_map()) != NULL) { int i; - mlist=omlist; + mlist = omlist; // assign layout map to clips - for (i=1; i<=numclips; i++) { - if (mainw->files[i]==NULL) continue; - lmap_node=mlist; - while (lmap_node!=NULL) { - lmap_node_next=lmap_node->next; - lmap_entry=(layout_map *)lmap_node->data; + for (i = 1; i <= numclips; i++) { + if (mainw->files[i] == NULL) continue; + lmap_node = mlist; + while (lmap_node != NULL) { + lmap_node_next = lmap_node->next; + lmap_entry = (layout_map *)lmap_node->data; - check_handle=lives_strdup(mainw->files[i]->handle); + check_handle = lives_strdup(mainw->files[i]->handle); - if (strstr(lmap_entry->handle,"/")==NULL) { + if (strstr(lmap_entry->handle, "/") == NULL) { lives_free(check_handle); - check_handle=lives_path_get_basename(mainw->files[i]->handle); + check_handle = lives_path_get_basename(mainw->files[i]->handle); } - if ((!strcmp(check_handle,lmap_entry->handle)&&(mainw->files[i]->unique_id==lmap_entry->unique_id))|| - (prefs->mt_load_fuzzy&&(!strcmp(check_handle,lmap_entry->handle)||(mainw->files[i]->unique_id==lmap_entry->unique_id))) + if ((!strcmp(check_handle, lmap_entry->handle) && (mainw->files[i]->unique_id == lmap_entry->unique_id)) || + (prefs->mt_load_fuzzy && (!strcmp(check_handle, lmap_entry->handle) || (mainw->files[i]->unique_id == lmap_entry->unique_id))) ) { // check handle and unique id match // got a match, assign list to layout_map and delete this node - lmap_entry_list=lmap_entry->list; - while (lmap_entry_list!=NULL) { - lmap_entry_list_next=lmap_entry_list->next; - array=lives_strsplit((char *)lmap_entry_list->data,"|",-1); - if (!lives_file_test(array[0],LIVES_FILE_TEST_EXISTS)) { + lmap_entry_list = lmap_entry->list; + while (lmap_entry_list != NULL) { + lmap_entry_list_next = lmap_entry_list->next; + array = lives_strsplit((char *)lmap_entry_list->data, "|", -1); + if (!lives_file_test(array[0], LIVES_FILE_TEST_EXISTS)) { // layout file has been deleted, remove this entry - if (lmap_entry_list->prev!=NULL) lmap_entry_list->prev->next=lmap_entry_list_next; - else lmap_entry->list=lmap_node_next; - if (lmap_entry_list_next!=NULL) lmap_entry_list_next->prev=lmap_entry_list->prev; + if (lmap_entry_list->prev != NULL) lmap_entry_list->prev->next = lmap_entry_list_next; + else lmap_entry->list = lmap_node_next; + if (lmap_entry_list_next != NULL) lmap_entry_list_next->prev = lmap_entry_list->prev; lives_free((livespointer)lmap_entry_list->data); //lives_free(lmap_entry_list); // i don't know why, but this causes a segfault } lives_strfreev(array); - lmap_entry_list=lmap_entry_list_next; + lmap_entry_list = lmap_entry_list_next; } - mainw->files[i]->layout_map=lmap_entry->list; + mainw->files[i]->layout_map = lmap_entry->list; lives_free(lmap_entry->handle); lives_free(lmap_entry->name); lives_free(lmap_entry); - if (lmap_node->prev!=NULL) lmap_node->prev->next=lmap_node_next; - else mlist=lmap_node_next; - if (lmap_node_next!=NULL) lmap_node_next->prev=lmap_node->prev; + if (lmap_node->prev != NULL) lmap_node->prev->next = lmap_node_next; + else mlist = lmap_node_next; + if (lmap_node_next != NULL) lmap_node_next->prev = lmap_node->prev; } lives_free(check_handle); - lmap_node=lmap_node_next; + lmap_node = lmap_node_next; } } - lmap_node=mlist; - while (lmap_node!=NULL) { - lmap_entry=(layout_map *)lmap_node->data; - if (lmap_entry->name!=NULL) lives_free(lmap_entry->name); - if (lmap_entry->handle!=NULL) lives_free(lmap_entry->handle); + lmap_node = mlist; + while (lmap_node != NULL) { + lmap_entry = (layout_map *)lmap_node->data; + if (lmap_entry->name != NULL) lives_free(lmap_entry->name); + if (lmap_entry->handle != NULL) lives_free(lmap_entry->handle); lives_list_free_all(&lmap_entry->list); - lmap_node=lmap_node->next; + lmap_node = lmap_node->next; } - if (omlist!=NULL) lives_list_free(omlist); + if (omlist != NULL) lives_list_free(omlist); } } @@ -5193,53 +5193,53 @@ // reload clip -- for CLIP_TYPE_FILE // cd to clip directory - so decoder plugins can write temp files - lives_clip_t *sfile=mainw->files[fileno]; + lives_clip_t *sfile = mainw->files[fileno]; - const lives_clip_data_t *cdata=NULL; + const lives_clip_data_t *cdata = NULL; - char *ppath=lives_build_filename(prefs->workdir,sfile->handle,NULL); + char *ppath = lives_build_filename(prefs->workdir, sfile->handle, NULL); - lives_clip_data_t *fake_cdata=(lives_clip_data_t *)lives_calloc(sizeof(lives_clip_data_t),1); + lives_clip_data_t *fake_cdata = (lives_clip_data_t *)lives_calloc(sizeof(lives_clip_data_t), 1); - boolean was_renamed=FALSE; + boolean was_renamed = FALSE; - lives_chdir(ppath,FALSE); + lives_chdir(ppath, FALSE); lives_free(ppath); while (1) { threaded_dialog_spin(0.); - fake_cdata->URI=lives_strdup(sfile->file_name); - fake_cdata->fps=sfile->fps; - fake_cdata->nframes=maxframe; + fake_cdata->URI = lives_strdup(sfile->file_name); + fake_cdata->fps = sfile->fps; + fake_cdata->nframes = maxframe; - if ((cdata=get_decoder_cdata(fileno,prefs->disabled_decoders,fake_cdata->fps!=0.?fake_cdata:NULL))==NULL) { + if ((cdata = get_decoder_cdata(fileno, prefs->disabled_decoders, fake_cdata->fps != 0. ? fake_cdata : NULL)) == NULL) { if (mainw->error) { if (do_original_lost_warning(sfile->file_name)) { int resp; - char fname[PATH_MAX],dirname[PATH_MAX],*newname; + char fname[PATH_MAX], dirname[PATH_MAX], *newname; LiVESWidget *chooser; - lives_snprintf(dirname,PATH_MAX,"%s",sfile->file_name); - lives_snprintf(fname,PATH_MAX,"%s",sfile->file_name); + lives_snprintf(dirname, PATH_MAX, "%s", sfile->file_name); + lives_snprintf(fname, PATH_MAX, "%s", sfile->file_name); get_dirname(dirname); get_basename(fname); - chooser=choose_file_with_preview(dirname,fname,NULL,LIVES_FILE_SELECTION_VIDEO_AUDIO); + chooser = choose_file_with_preview(dirname, fname, NULL, LIVES_FILE_SELECTION_VIDEO_AUDIO); - resp=lives_dialog_run(LIVES_DIALOG(chooser)); + resp = lives_dialog_run(LIVES_DIALOG(chooser)); end_fs_preview(); - if (resp==LIVES_RESPONSE_ACCEPT) { - newname=lives_file_chooser_get_filename(LIVES_FILE_CHOOSER(chooser)); + if (resp == LIVES_RESPONSE_ACCEPT) { + newname = lives_file_chooser_get_filename(LIVES_FILE_CHOOSER(chooser)); lives_widget_destroy(LIVES_WIDGET(chooser)); - if (newname!=NULL) { + if (newname != NULL) { if (strlen(newname)) { char *tmp; - lives_snprintf(sfile->file_name,PATH_MAX,"%s",(tmp=lives_filename_to_utf8(newname,-1,NULL,NULL,NULL))); + lives_snprintf(sfile->file_name, PATH_MAX, "%s", (tmp = lives_filename_to_utf8(newname, -1, NULL, NULL, NULL))); lives_free(tmp); } lives_free(newname); @@ -5248,10 +5248,10 @@ lives_freep((void **)&fake_cdata->URI); //re-scan for these - sfile->fps=0.; - sfile->frames=0; + sfile->fps = 0.; + sfile->frames = 0; - was_renamed=TRUE; + was_renamed = TRUE; continue; } lives_widget_destroy(LIVES_WIDGET(chooser)); @@ -5267,23 +5267,23 @@ // NOT found, switch to another clip (if any) // index stuff - sfile=NULL; + sfile = NULL; - if (fileno==mainw->current_file) { - if (mainw->cliplist!=NULL) { + if (fileno == mainw->current_file) { + if (mainw->cliplist != NULL) { LiVESList *list_index; - int index=-1; + int index = -1; - list_index=lives_list_last(mainw->cliplist); + list_index = lives_list_last(mainw->cliplist); do { - if ((list_index=lives_list_previous(list_index))==NULL) list_index=lives_list_last(mainw->cliplist); - index=LIVES_POINTER_TO_INT(list_index->data); - } while ((mainw->files[index]==NULL|| - ((index==mainw->scrap_file||index==mainw->ascrap_file)&&index>-1))&&index!=fileno); - if (index==fileno) index=-1; + if ((list_index = lives_list_previous(list_index)) == NULL) list_index = lives_list_last(mainw->cliplist); + index = LIVES_POINTER_TO_INT(list_index->data); + } while ((mainw->files[index] == NULL || + ((index == mainw->scrap_file || index == mainw->ascrap_file) && index > -1)) && index != fileno); + if (index == fileno) index = -1; - mainw->current_file=index; - } else mainw->current_file=-1; + mainw->current_file = index; + } else mainw->current_file = -1; } lives_freep((void **)&fake_cdata->URI); lives_free(fake_cdata); @@ -5296,21 +5296,21 @@ break; } - sfile->clip_type=CLIP_TYPE_FILE; - get_mime_type(sfile->type,40,cdata); - sfile->img_type=IMG_TYPE_BEST; // read_headers() will have set this to "jpeg" (default) + sfile->clip_type = CLIP_TYPE_FILE; + get_mime_type(sfile->type, 40, cdata); + sfile->img_type = IMG_TYPE_BEST; // read_headers() will have set this to "jpeg" (default) // we will set correct value in check_clip_integrity() if there are any real images - if (sfile->ext_src!=NULL) { - boolean bad_header=FALSE; - boolean correct=check_clip_integrity(fileno,cdata); // get correct img_type, fps, etc. - if (!correct||was_renamed) { - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; + if (sfile->ext_src != NULL) { + boolean bad_header = FALSE; + boolean correct = check_clip_integrity(fileno, cdata); // get correct img_type, fps, etc. + if (!correct || was_renamed) { + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; } else { - lives_decoder_t *dplug=(lives_decoder_t *)sfile->ext_src; - lives_decoder_sys_t *dpsys=(lives_decoder_sys_t *)dplug->decoder; - save_clip_value(fileno,CLIP_DETAILS_DECODER_NAME,dpsys->name); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; + lives_decoder_t *dplug = (lives_decoder_t *)sfile->ext_src; + lives_decoder_sys_t *dpsys = (lives_decoder_sys_t *)dplug->decoder; + save_clip_value(fileno, CLIP_DETAILS_DECODER_NAME, dpsys->name); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; } if (bad_header) do_header_write_error(fileno); @@ -5324,26 +5324,26 @@ static boolean recover_files(char *recovery_file, boolean auto_recover) { FILE *rfile; - char buff[256],*buffptr; + char buff[256], *buffptr; char *clipdir; - char *cwd=lives_get_current_dir(); + char *cwd = lives_get_current_dir(); int retval; - int new_file,clipnum=0; + int new_file, clipnum = 0; int maxframe; - boolean last_was_normal_file=FALSE; + boolean last_was_normal_file = FALSE; boolean is_scrap; boolean is_ascrap; - boolean did_set_check=FALSE; + boolean did_set_check = FALSE; boolean is_ready; splash_end(); - if (mainw->multitrack!=NULL) { - if (mainw->multitrack->idlefunc>0) { + if (mainw->multitrack != NULL) { + if (mainw->multitrack->idlefunc > 0) { lives_source_remove(mainw->multitrack->idlefunc); - mainw->multitrack->idlefunc=0; + mainw->multitrack->idlefunc = 0; } mt_desensitise(mainw->multitrack); } @@ -5353,7 +5353,7 @@ (_("\nFiles from a previous run of LiVES were found.\nDo you want to attempt to recover them ?\n"))) { lives_rm(recovery_file); - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); } @@ -5363,136 +5363,136 @@ do { - retval=0; - rfile=fopen(recovery_file,"r"); + retval = 0; + rfile = fopen(recovery_file, "r"); if (!rfile) { - retval=do_read_failed_error_s_with_retry(recovery_file,lives_strerror(errno),NULL); - if (retval==LIVES_RESPONSE_CANCEL) return FALSE; + retval = do_read_failed_error_s_with_retry(recovery_file, lives_strerror(errno), NULL); + if (retval == LIVES_RESPONSE_CANCEL) return FALSE; } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); - mainw->is_ready=TRUE; - do_threaded_dialog(_("Recovering files"),FALSE); - mainw->is_ready=FALSE; + mainw->is_ready = TRUE; + do_threaded_dialog(_("Recovering files"), FALSE); + mainw->is_ready = FALSE; d_print(_("Recovering files...")); threaded_dialog_spin(0.); - mainw->suppress_dprint=TRUE; + mainw->suppress_dprint = TRUE; while (1) { threaded_dialog_spin(0.); - is_scrap=FALSE; - is_ascrap=FALSE; + is_scrap = FALSE; + is_ascrap = FALSE; lives_list_free_all(&mainw->cached_list); - mainw->read_failed=FALSE; + mainw->read_failed = FALSE; - if (lives_fgets(buff,256,rfile)==NULL) { - int current_file=mainw->current_file; - if (last_was_normal_file&&mainw->multitrack==NULL) { - if (current_file!=-1) switch_to_file((mainw->current_file=0),current_file); + if (lives_fgets(buff, 256, rfile) == NULL) { + int current_file = mainw->current_file; + if (last_was_normal_file && mainw->multitrack == NULL) { + if (current_file != -1) switch_to_file((mainw->current_file = 0), current_file); } reset_clipmenu(); lives_widget_context_update(); threaded_dialog_spin(0.); if (mainw->read_failed) { - do_read_failed_error_s(recovery_file,NULL); + do_read_failed_error_s(recovery_file, NULL); } break; } - memset(buff+strlen(buff)-strlen("\n"),0,1); + memset(buff + strlen(buff) - strlen("\n"), 0, 1); - if (!strcmp(buff+strlen(buff)-1,"*")) { + if (!strcmp(buff + strlen(buff) - 1, "*")) { // set to be opened - memset(buff+strlen(buff)-2,0,1); - last_was_normal_file=FALSE; - if (!is_legal_set_name(buff,TRUE)) continue; + memset(buff + strlen(buff) - 2, 0, 1); + last_was_normal_file = FALSE; + if (!is_legal_set_name(buff, TRUE)) continue; if (!reload_set(buff)) { fclose(rfile); end_threaded_dialog(); - if (strlen(mainw->set_name)>0) recover_layout_map(mainw->current_file); + if (strlen(mainw->set_name) > 0) recover_layout_map(mainw->current_file); - if (mainw->multitrack!=NULL) { - mainw->current_file=mainw->multitrack->render_file; - polymorph(mainw->multitrack,POLY_NONE); - polymorph(mainw->multitrack,POLY_CLIPS); + if (mainw->multitrack != NULL) { + mainw->current_file = mainw->multitrack->render_file; + polymorph(mainw->multitrack, POLY_NONE); + polymorph(mainw->multitrack, POLY_CLIPS); mt_sensitise(mainw->multitrack); } - mainw->suppress_dprint=FALSE; + mainw->suppress_dprint = FALSE; d_print_failed(); return TRUE; } } else { // load single file - if (!strncmp(buff,"scrap|",6)) { - is_scrap=TRUE; - buffptr=buff+6; - } else if (!strncmp(buff,"ascrap|",7)) { - is_ascrap=TRUE; - buffptr=buff+7; + if (!strncmp(buff, "scrap|", 6)) { + is_scrap = TRUE; + buffptr = buff + 6; + } else if (!strncmp(buff, "ascrap|", 7)) { + is_ascrap = TRUE; + buffptr = buff + 7; } else { - buffptr=buff; + buffptr = buff; } - clipdir=lives_build_filename(prefs->workdir,buffptr,NULL); + clipdir = lives_build_filename(prefs->workdir, buffptr, NULL); - if (!lives_file_test(clipdir,LIVES_FILE_TEST_IS_DIR)) { + if (!lives_file_test(clipdir, LIVES_FILE_TEST_IS_DIR)) { lives_free(clipdir); continue; } lives_free(clipdir); - if ((new_file=mainw->first_free_file)==-1) { + if ((new_file = mainw->first_free_file) == -1) { fclose(rfile); end_threaded_dialog(); too_many_files(); - if (strlen(mainw->set_name)>0) recover_layout_map(mainw->current_file); + if (strlen(mainw->set_name) > 0) recover_layout_map(mainw->current_file); - if (mainw->multitrack!=NULL) { - mainw->current_file=mainw->multitrack->render_file; - polymorph(mainw->multitrack,POLY_NONE); - polymorph(mainw->multitrack,POLY_CLIPS); + if (mainw->multitrack != NULL) { + mainw->current_file = mainw->multitrack->render_file; + polymorph(mainw->multitrack, POLY_NONE); + polymorph(mainw->multitrack, POLY_CLIPS); mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } - mainw->suppress_dprint=FALSE; + mainw->suppress_dprint = FALSE; d_print_failed(); return TRUE; } // TODO - dirsep - if (strstr(buffptr,"/clips/")) { + if (strstr(buffptr, "/clips/")) { char **array; threaded_dialog_spin(0.); - array=lives_strsplit(buffptr,"/clips/",-1); - mainw->was_set=TRUE; - lives_snprintf(mainw->set_name,128,"%s",array[0]); + array = lives_strsplit(buffptr, "/clips/", -1); + mainw->was_set = TRUE; + lives_snprintf(mainw->set_name, 128, "%s", array[0]); lives_strfreev(array); - if (!did_set_check&&!check_for_lock_file(mainw->set_name,0)) { + if (!did_set_check && !check_for_lock_file(mainw->set_name, 0)) { do_set_locked_warning(mainw->set_name); - did_set_check=TRUE; + did_set_check = TRUE; } threaded_dialog_spin(0.); } - last_was_normal_file=TRUE; - mainw->current_file=new_file; + last_was_normal_file = TRUE; + mainw->current_file = new_file; threaded_dialog_spin(0.); - cfile=(lives_clip_t *)(lives_malloc(sizeof(lives_clip_t))); - lives_snprintf(cfile->handle,256,"%s",buffptr); - cfile->clip_type=CLIP_TYPE_DISK; // the default + cfile = (lives_clip_t *)(lives_malloc(sizeof(lives_clip_t))); + lives_snprintf(cfile->handle, 256, "%s", buffptr); + cfile->clip_type = CLIP_TYPE_DISK; // the default //create a new cfile and fill in the details create_cfile(); @@ -5504,104 +5504,104 @@ read_headers("."); } else { lives_clip_details_t detail; - int asigned,aendian; - detail=CLIP_DETAILS_ACHANS; - retval=get_clip_value(mainw->current_file,detail,&cfile->achans,0); - if (!retval) cfile->achans=0; + int asigned, aendian; + detail = CLIP_DETAILS_ACHANS; + retval = get_clip_value(mainw->current_file, detail, &cfile->achans, 0); + if (!retval) cfile->achans = 0; - if (cfile->achans==0) retval=FALSE; - else retval=TRUE; + if (cfile->achans == 0) retval = FALSE; + else retval = TRUE; if (retval) { - detail=CLIP_DETAILS_ARATE; - retval=get_clip_value(mainw->current_file,detail,&cfile->arps,0); + detail = CLIP_DETAILS_ARATE; + retval = get_clip_value(mainw->current_file, detail, &cfile->arps, 0); } - if (!retval) cfile->arps=cfile->achans=cfile->arate=cfile->asampsize=0; - if (cfile->arps==0) retval=FALSE; + if (!retval) cfile->arps = cfile->achans = cfile->arate = cfile->asampsize = 0; + if (cfile->arps == 0) retval = FALSE; - cfile->arate=cfile->arps; + cfile->arate = cfile->arps; if (retval) { - detail=CLIP_DETAILS_ASIGNED; - retval=get_clip_value(mainw->current_file,detail,&asigned,0); + detail = CLIP_DETAILS_ASIGNED; + retval = get_clip_value(mainw->current_file, detail, &asigned, 0); } if (retval) { - detail=CLIP_DETAILS_AENDIAN; - retval=get_clip_value(mainw->current_file,detail,&aendian,0); + detail = CLIP_DETAILS_AENDIAN; + retval = get_clip_value(mainw->current_file, detail, &aendian, 0); } - cfile->signed_endian=asigned+aendian; + cfile->signed_endian = asigned + aendian; if (retval) { - detail=CLIP_DETAILS_ASAMPS; - retval=get_clip_value(mainw->current_file,detail,&cfile->asampsize,0); + detail = CLIP_DETAILS_ASAMPS; + retval = get_clip_value(mainw->current_file, detail, &cfile->asampsize, 0); } if (!retval) { - mainw->first_free_file=mainw->current_file; + mainw->first_free_file = mainw->current_file; continue; } - mainw->ascrap_file=mainw->current_file; + mainw->ascrap_file = mainw->current_file; } } else { - mainw->scrap_file=mainw->current_file; + mainw->scrap_file = mainw->current_file; } - if (mainw->current_file<1) continue; + if (mainw->current_file < 1) continue; - if ((maxframe=load_frame_index(mainw->current_file))) { + if ((maxframe = load_frame_index(mainw->current_file))) { // CLIP_TYPE_FILE - if (!reload_clip(mainw->current_file,maxframe)) continue; + if (!reload_clip(mainw->current_file, maxframe)) continue; } else { // CLIP_TYPE_DISK - if (is_scrap||!check_frame_count(mainw->current_file)) { + if (is_scrap || !check_frame_count(mainw->current_file)) { get_frame_count(mainw->current_file); - cfile->needs_update=TRUE; + cfile->needs_update = TRUE; } - if (!is_scrap&&cfile->frames>0&&(cfile->hsize*cfile->vsize==0)) { - get_frames_sizes(mainw->current_file,1); - cfile->needs_update=TRUE; + if (!is_scrap && cfile->frames > 0 && (cfile->hsize * cfile->vsize == 0)) { + get_frames_sizes(mainw->current_file, 1); + cfile->needs_update = TRUE; } - if (is_ascrap&&cfile->afilesize==0) reget_afilesize(mainw->current_file); + if (is_ascrap && cfile->afilesize == 0) reget_afilesize(mainw->current_file); } - if (!is_scrap&&!is_ascrap) { + if (!is_scrap && !is_ascrap) { // read the playback fps, play frame, and name threaded_dialog_spin(0.); - open_set_file(mainw->set_name,++clipnum); + open_set_file(mainw->set_name, ++clipnum); threaded_dialog_spin(0.); lives_list_free_all(&mainw->cached_list); - if (mainw->current_file<1) continue; + if (mainw->current_file < 1) continue; get_total_time(cfile); - if (cfile->achans) cfile->aseek_pos=(int64_t)((double)(cfile->frameno-1.)/cfile->fps*cfile->arate* - cfile->achans*(cfile->asampsize/8)); + if (cfile->achans) cfile->aseek_pos = (int64_t)((double)(cfile->frameno - 1.) / cfile->fps * cfile->arate * + cfile->achans * (cfile->asampsize / 8)); if (cfile->needs_update) { save_clip_values(mainw->current_file); - cfile->needs_update=FALSE; + cfile->needs_update = FALSE; } // add to clip menu threaded_dialog_spin(0.); add_to_clipmenu(); get_next_free_file(); - cfile->start=cfile->frames>0?1:0; - cfile->end=cfile->frames; - cfile->is_loaded=TRUE; - cfile->changed=TRUE; + cfile->start = cfile->frames > 0 ? 1 : 0; + cfile->end = cfile->frames; + cfile->is_loaded = TRUE; + cfile->changed = TRUE; lives_rm(cfile->info_file); - set_main_title(cfile->name,0); + set_main_title(cfile->name, 0); - if (mainw->multitrack==NULL) { - if (mainw->current_file>0) { + if (mainw->multitrack == NULL) { + if (mainw->current_file > 0) { resize(1); load_start_image(cfile->start); load_end_image(cfile->end); @@ -5609,24 +5609,24 @@ } } - if (mainw->multitrack!=NULL) { - int current_file=mainw->current_file; - lives_mt *multi=mainw->multitrack; - mainw->multitrack=NULL; + if (mainw->multitrack != NULL) { + int current_file = mainw->current_file; + lives_mt *multi = mainw->multitrack; + mainw->multitrack = NULL; reget_afilesize(mainw->current_file); - mainw->multitrack=multi; + mainw->multitrack = multi; get_total_time(cfile); - mainw->current_file=mainw->multitrack->render_file; - mt_init_clips(mainw->multitrack,current_file,TRUE); + mainw->current_file = mainw->multitrack->render_file; + mt_init_clips(mainw->multitrack, current_file, TRUE); lives_widget_context_update(); - mt_clip_select(mainw->multitrack,TRUE); + mt_clip_select(mainw->multitrack, TRUE); lives_widget_context_update(); - mainw->current_file=current_file; + mainw->current_file = current_file; } threaded_dialog_spin(0.); - lives_notify(LIVES_OSC_NOTIFY_CLIP_OPENED,""); + lives_notify(LIVES_OSC_NOTIFY_CLIP_OPENED, ""); } else { pthread_mutex_lock(&mainw->clip_list_mutex); mainw->cliplist = lives_list_append(mainw->cliplist, LIVES_INT_TO_POINTER(mainw->current_file)); @@ -5636,44 +5636,44 @@ } } - lives_chdir(cwd,FALSE); + lives_chdir(cwd, FALSE); lives_free(cwd); end_threaded_dialog(); fclose(rfile); - if (mainw->current_file!=-1) - if (strlen(mainw->set_name)>0) recover_layout_map(mainw->current_file); + if (mainw->current_file != -1) + if (strlen(mainw->set_name) > 0) recover_layout_map(mainw->current_file); - if (mainw->multitrack!=NULL) { - mainw->current_file=mainw->multitrack->render_file; - polymorph(mainw->multitrack,POLY_NONE); - polymorph(mainw->multitrack,POLY_CLIPS); + if (mainw->multitrack != NULL) { + mainw->current_file = mainw->multitrack->render_file; + polymorph(mainw->multitrack, POLY_NONE); + polymorph(mainw->multitrack, POLY_CLIPS); mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } else { - int start_file=mainw->current_file; - if (mainw->current_file>1&&mainw->current_file==mainw->ascrap_file&&mainw->files[mainw->current_file-1]!=NULL) { + int start_file = mainw->current_file; + if (mainw->current_file > 1 && mainw->current_file == mainw->ascrap_file && mainw->files[mainw->current_file - 1] != NULL) { start_file--; } - if (mainw->current_file>1&&mainw->current_file==mainw->scrap_file&&mainw->files[mainw->current_file-1]!=NULL) { + if (mainw->current_file > 1 && mainw->current_file == mainw->scrap_file && mainw->files[mainw->current_file - 1] != NULL) { start_file--; } - if (mainw->current_file>1&&mainw->current_file==mainw->ascrap_file&&mainw->files[mainw->current_file-1]!=NULL) { + if (mainw->current_file > 1 && mainw->current_file == mainw->ascrap_file && mainw->files[mainw->current_file - 1] != NULL) { start_file--; } - if (start_file!=mainw->current_file) { - switch_to_file(mainw->current_file,start_file); + if (start_file != mainw->current_file) { + switch_to_file(mainw->current_file, start_file); } } - mainw->suppress_dprint=FALSE; + mainw->suppress_dprint = FALSE; d_print_done(); - is_ready=mainw->is_ready; - mainw->is_ready=TRUE; - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); - mainw->is_ready=is_ready; + is_ready = mainw->is_ready; + mainw->is_ready = TRUE; + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); + mainw->is_ready = is_ready; return TRUE; } @@ -5682,15 +5682,15 @@ void add_to_recovery_file(const char *handle) { - mainw->com_failed=FALSE; - lives_echo(handle,mainw->recovery_file,TRUE); + mainw->com_failed = FALSE; + lives_echo(handle, mainw->recovery_file, TRUE); if (mainw->com_failed) { - mainw->com_failed=FALSE; + mainw->com_failed = FALSE; return; } - if ((mainw->multitrack!=NULL&&mainw->multitrack->event_list!=NULL)||mainw->stored_event_list!=NULL) + if ((mainw->multitrack != NULL && mainw->multitrack->event_list != NULL) || mainw->stored_event_list != NULL) write_backup_layout_numbering(mainw->multitrack); } @@ -5698,92 +5698,92 @@ void rewrite_recovery_file(void) { // part of the crash recovery system - LiVESList *clist=mainw->cliplist; + LiVESList *clist = mainw->cliplist; char *recovery_entry; - boolean opened=FALSE; + boolean opened = FALSE; - int recovery_fd=-1; + int recovery_fd = -1; int retval; register int i; - if (clist==NULL) { + if (clist == NULL) { lives_rm(mainw->recovery_file); return; } do { - retval=0; - mainw->write_failed=FALSE; - opened=FALSE; - recovery_fd=-1; - - while (clist!=NULL) { - i=LIVES_POINTER_TO_INT(clist->data); - if (mainw->files[i]->clip_type==CLIP_TYPE_FILE||mainw->files[i]->clip_type==CLIP_TYPE_DISK) { - if (i!=mainw->scrap_file) recovery_entry=lives_strdup_printf("%s\n",mainw->files[i]->handle); - else recovery_entry=lives_strdup_printf("scrap|%s\n",mainw->files[i]->handle); + retval = 0; + mainw->write_failed = FALSE; + opened = FALSE; + recovery_fd = -1; + + while (clist != NULL) { + i = LIVES_POINTER_TO_INT(clist->data); + if (mainw->files[i]->clip_type == CLIP_TYPE_FILE || mainw->files[i]->clip_type == CLIP_TYPE_DISK) { + if (i != mainw->scrap_file) recovery_entry = lives_strdup_printf("%s\n", mainw->files[i]->handle); + else recovery_entry = lives_strdup_printf("scrap|%s\n", mainw->files[i]->handle); - if (!opened) recovery_fd=creat(mainw->recovery_file,S_IRUSR|S_IWUSR); - if (recovery_fd<0) retval=do_write_failed_error_s_with_retry(mainw->recovery_file,lives_strerror(errno),NULL); + if (!opened) recovery_fd = creat(mainw->recovery_file, S_IRUSR | S_IWUSR); + if (recovery_fd < 0) retval = do_write_failed_error_s_with_retry(mainw->recovery_file, lives_strerror(errno), NULL); else { - opened=TRUE; - lives_write(recovery_fd,recovery_entry,strlen(recovery_entry),TRUE); - if (mainw->write_failed) retval=do_write_failed_error_s_with_retry(mainw->recovery_file,NULL,NULL); + opened = TRUE; + lives_write(recovery_fd, recovery_entry, strlen(recovery_entry), TRUE); + if (mainw->write_failed) retval = do_write_failed_error_s_with_retry(mainw->recovery_file, NULL, NULL); } lives_free(recovery_entry); } if (mainw->write_failed) break; - clist=clist->next; + clist = clist->next; } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); if (!opened) lives_rm(mainw->recovery_file); - else if (recovery_fd>=0) close(recovery_fd); + else if (recovery_fd >= 0) close(recovery_fd); - if ((mainw->multitrack!=NULL&&mainw->multitrack->event_list!=NULL)||mainw->stored_event_list!=NULL) + if ((mainw->multitrack != NULL && mainw->multitrack->event_list != NULL) || mainw->stored_event_list != NULL) write_backup_layout_numbering(mainw->multitrack); } boolean check_for_recovery_files(boolean auto_recover) { - uint32_t recpid=0; + uint32_t recpid = 0; ssize_t bytes; - char *recovery_file,*recovery_numbering_file; - char *info_file=lives_strdup_printf("%s/.recovery.%d",prefs->workdir,capable->mainpid); + char *recovery_file, *recovery_numbering_file; + char *info_file = lives_strdup_printf("%s/.recovery.%d", prefs->workdir, capable->mainpid); char *com; - boolean retval=FALSE; + boolean retval = FALSE; int info_fd; - int lgid=lives_getgid(); - int luid=lives_getuid(); + int lgid = lives_getgid(); + int luid = lives_getuid(); - lives_pgid_t lpid=capable->mainpid; + lives_pgid_t lpid = capable->mainpid; - com=lives_strdup_printf("%s get_recovery_file %d %d %s recovery> \"%s\"",prefs->backend_sync,luid,lgid, - capable->myname,info_file); + com = lives_strdup_printf("%s get_recovery_file %d %d %s recovery> \"%s\"", prefs->backend_sync, luid, lgid, + capable->myname, info_file); lives_rm(info_file); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { - mainw->com_failed=FALSE; + mainw->com_failed = FALSE; return FALSE; } - info_fd=lives_open2(info_file,O_RDONLY); - if (info_fd>-1) { - if ((bytes=read(info_fd,mainw->msg,256))>0) { - memset(mainw->msg+bytes,0,1); - if ((recpid=atoi(mainw->msg))>0) { + info_fd = lives_open2(info_file, O_RDONLY); + if (info_fd > -1) { + if ((bytes = read(info_fd, mainw->msg, 256)) > 0) { + memset(mainw->msg + bytes, 0, 1); + if ((recpid = atoi(mainw->msg)) > 0) { } } @@ -5792,15 +5792,15 @@ lives_rm(info_file); lives_free(info_file); - if (recpid==0) return FALSE; + if (recpid == 0) return FALSE; - retval=recover_files((recovery_file=lives_strdup_printf("%s/recovery.%d.%d.%d",prefs->workdir,luid, - lgid,recpid)),auto_recover); + retval = recover_files((recovery_file = lives_strdup_printf("%s/recovery.%d.%d.%d", prefs->workdir, luid, + lgid, recpid)), auto_recover); lives_rm(recovery_file); lives_free(recovery_file); -#if !GTK_CHECK_VERSION(3,0,0) - if (mainw->current_file>-1&&cfile!=NULL) { +#if !GTK_CHECK_VERSION(3, 0, 0) + if (mainw->current_file > -1 && cfile != NULL) { load_start_image(cfile->start); load_end_image(cfile->end); lives_widget_queue_resize(mainw->video_draw); @@ -5809,24 +5809,24 @@ } #endif - mainw->com_failed=FALSE; + mainw->com_failed = FALSE; // check for layout recovery file - recovery_file=lives_strdup_printf("%s/layout.%d.%d.%d",prefs->workdir,luid,lgid,recpid); - recovery_numbering_file=lives_strdup_printf("%s/layout_numbering.%d.%d.%d",prefs->workdir,luid,lgid,recpid); + recovery_file = lives_strdup_printf("%s/layout.%d.%d.%d", prefs->workdir, luid, lgid, recpid); + recovery_numbering_file = lives_strdup_printf("%s/layout_numbering.%d.%d.%d", prefs->workdir, luid, lgid, recpid); if (lives_file_test(recovery_file, LIVES_FILE_TEST_EXISTS)) { // move files temporarily to stop them being cleansed - char *xfile=lives_strdup_printf("%s/keep_layout.%d.%d.%d",prefs->workdir,luid,lgid,lpid); - lives_mv(recovery_file,xfile); + char *xfile = lives_strdup_printf("%s/keep_layout.%d.%d.%d", prefs->workdir, luid, lgid, lpid); + lives_mv(recovery_file, xfile); lives_free(xfile); - xfile=lives_strdup_printf("%s/keep_layout_numbering.%d.%d.%d",prefs->workdir,luid,lgid,lpid); - lives_mv(recovery_numbering_file,xfile); + xfile = lives_strdup_printf("%s/keep_layout_numbering.%d.%d.%d", prefs->workdir, luid, lgid, lpid); + lives_mv(recovery_numbering_file, xfile); lives_free(xfile); - mainw->recoverable_layout=TRUE; + mainw->recoverable_layout = TRUE; } else { - if (mainw->scrap_file!=-1) close_scrap_file(); - if (mainw->ascrap_file!=-1) close_ascrap_file(); + if (mainw->scrap_file != -1) close_scrap_file(); + if (mainw->ascrap_file != -1) close_ascrap_file(); } lives_free(recovery_file); @@ -5834,20 +5834,20 @@ if (mainw->com_failed) return FALSE; - com=lives_strdup_printf("%s clean_recovery_files %d %d \"%s\"",prefs->backend_sync,luid,lgid,capable->myname); - lives_system(com,FALSE); + com = lives_strdup_printf("%s clean_recovery_files %d %d \"%s\"", prefs->backend_sync, luid, lgid, capable->myname); + lives_system(com, FALSE); lives_free(com); - recovery_file=lives_strdup_printf("%s/layout.%d.%d.%d",prefs->workdir,luid,lgid,lpid); - recovery_numbering_file=lives_strdup_printf("%s/layout_numbering.%d.%d.%d",prefs->workdir,luid,lgid,lpid); + recovery_file = lives_strdup_printf("%s/layout.%d.%d.%d", prefs->workdir, luid, lgid, lpid); + recovery_numbering_file = lives_strdup_printf("%s/layout_numbering.%d.%d.%d", prefs->workdir, luid, lgid, lpid); if (mainw->recoverable_layout) { // move files back - char *xfile=lives_strdup_printf("%s/keep_layout.%d.%d.%d",prefs->workdir,luid,lgid,lpid); - lives_mv(xfile,recovery_file); + char *xfile = lives_strdup_printf("%s/keep_layout.%d.%d.%d", prefs->workdir, luid, lgid, lpid); + lives_mv(xfile, recovery_file); lives_free(xfile); - xfile=lives_strdup_printf("%s/keep_layout_numbering.%d.%d.%d",prefs->workdir,luid,lgid,lpid); - lives_mv(xfile,recovery_numbering_file); + xfile = lives_strdup_printf("%s/keep_layout_numbering.%d.%d.%d", prefs->workdir, luid, lgid, lpid); + lives_mv(xfile, recovery_numbering_file); lives_free(xfile); }
View file
LiVES-2.8.4.tar.bz2/src/startup.c -> LiVES-2.8.6.tar.bz2/src/startup.c
Changed
@@ -16,18 +16,18 @@ static boolean prompt_existing_dir(char *dirname, uint64_t freespace, boolean wrtable) { char *msg; - boolean res=FALSE; + boolean res = FALSE; if (wrtable) { - char *fspstr=lives_format_storage_space_string(freespace); - msg=lives_strdup_printf - (_("A directory named\n%s\nalready exists. Do you wish to use this directory ?\n\n(Free space = %s)\n"),dirname,fspstr); + char *fspstr = lives_format_storage_space_string(freespace); + msg = lives_strdup_printf + (_("A directory named\n%s\nalready exists. Do you wish to use this directory ?\n\n(Free space = %s)\n"), dirname, fspstr); lives_free(fspstr); - res=do_yesno_dialog(msg); + res = do_yesno_dialog(msg); } else { - msg=lives_strdup_printf - (_("A directory named\n%s\nalready exists.\nLiVES could not write to this directory or read its free space.\nPlease select another location.\n"), - dirname); + msg = lives_strdup_printf + (_("A directory named\n%s\nalready exists.\nLiVES could not write to this directory or read its free space.\nPlease select another location.\n"), + dirname); do_error_dialog(msg); } lives_free(msg); @@ -39,15 +39,15 @@ static boolean prompt_new_dir(char *dirname, uint64_t freespace, boolean wrtable) { - boolean res=FALSE; + boolean res = FALSE; char *msg; if (wrtable) { - char *fspstr=lives_format_storage_space_string(freespace); - msg=lives_strdup_printf(_("\nCreate the directory\n%s\n?\n\n(Free space = %s)"),dirname,fspstr); + char *fspstr = lives_format_storage_space_string(freespace); + msg = lives_strdup_printf(_("\nCreate the directory\n%s\n?\n\n(Free space = %s)"), dirname, fspstr); lives_free(fspstr); - res=do_warning_dialog(msg); + res = do_warning_dialog(msg); } else { - msg=lives_strdup_printf(_("\nLiVES could not write to the directory\n%s\nPlease try again and choose a different location.\n"),dirname); + msg = lives_strdup_printf(_("\nLiVES could not write to the directory\n%s\nPlease try again and choose a different location.\n"), dirname); do_error_dialog(msg); } @@ -63,11 +63,11 @@ else { #ifdef IS_MINGW // kill any active processes: for other OSes the backend does this - lives_kill_subprocesses(cfile->handle,TRUE); + lives_kill_subprocesses(cfile->handle, TRUE); #endif - com=lives_strdup_printf("%s close \"%s\"",prefs->backend_sync,cfile->handle); - lives_system(com,TRUE); + com = lives_strdup_printf("%s close \"%s\"", prefs->backend_sync, cfile->handle); + lives_system(com, TRUE); lives_free(com); } } @@ -78,28 +78,28 @@ uint64_t freesp; int response; - boolean ok=FALSE; + boolean ok = FALSE; char *dirname; top: - renamew=create_rename_dialog(6); + renamew = create_rename_dialog(6); while (!ok) { - response=lives_dialog_run(LIVES_DIALOG(renamew->dialog)); + response = lives_dialog_run(LIVES_DIALOG(renamew->dialog)); - if (response==LIVES_RESPONSE_CANCEL) return FALSE; + if (response == LIVES_RESPONSE_CANCEL) return FALSE; - dirname=lives_strdup(lives_entry_get_text(LIVES_ENTRY(renamew->entry))); + dirname = lives_strdup(lives_entry_get_text(LIVES_ENTRY(renamew->entry))); - if (strcmp(dirname+strlen(dirname)-1,LIVES_DIR_SEP)) { - char *tmp=lives_strdup_printf("%s%s",dirname,LIVES_DIR_SEP); + if (strcmp(dirname + strlen(dirname) - 1, LIVES_DIR_SEP)) { + char *tmp = lives_strdup_printf("%s%s", dirname, LIVES_DIR_SEP); lives_free(dirname); - dirname=tmp; + dirname = tmp; } - if (strlen(dirname)>(PATH_MAX-1)) { + if (strlen(dirname) > (PATH_MAX - 1)) { do_blocking_error_dialog(_("Directory name is too long !")); lives_free(dirname); continue; @@ -112,56 +112,56 @@ } - if (lives_file_test(dirname,LIVES_FILE_TEST_IS_DIR)) { + if (lives_file_test(dirname, LIVES_FILE_TEST_IS_DIR)) { if (is_writeable_dir(dirname)) { - freesp=get_fs_free(dirname); - if (!prompt_existing_dir(dirname,freesp,TRUE)) { + freesp = get_fs_free(dirname); + if (!prompt_existing_dir(dirname, freesp, TRUE)) { lives_free(dirname); continue; } } else { - if (!prompt_existing_dir(dirname,0,FALSE)) { + if (!prompt_existing_dir(dirname, 0, FALSE)) { lives_free(dirname); continue; } } } else { if (is_writeable_dir(dirname)) { - freesp=get_fs_free(dirname); - if (!prompt_new_dir(dirname,freesp,TRUE)) { - lives_rmdir(dirname,FALSE); + freesp = get_fs_free(dirname); + if (!prompt_new_dir(dirname, freesp, TRUE)) { + lives_rmdir(dirname, FALSE); lives_free(dirname); continue; } } else { - if (!prompt_new_dir(dirname,0,FALSE)) { - lives_rmdir(dirname,FALSE); + if (!prompt_new_dir(dirname, 0, FALSE)) { + lives_rmdir(dirname, FALSE); lives_free(dirname); continue; } } } - ok=TRUE; + ok = TRUE; } lives_widget_destroy(renamew->dialog); lives_freep((void **)&renamew); - mainw->com_failed=FALSE; + mainw->com_failed = FALSE; - if (!lives_file_test(dirname,LIVES_FILE_TEST_IS_DIR)) { - if (lives_mkdir_with_parents(dirname,capable->umask)==-1) goto top; + if (!lives_file_test(dirname, LIVES_FILE_TEST_IS_DIR)) { + if (lives_mkdir_with_parents(dirname, capable->umask) == -1) goto top; } - lives_snprintf(prefs->workdir,PATH_MAX,"%s",dirname); - lives_snprintf(future_prefs->workdir,PATH_MAX,"%s",prefs->workdir); + lives_snprintf(prefs->workdir, PATH_MAX, "%s", dirname); + lives_snprintf(future_prefs->workdir, PATH_MAX, "%s", prefs->workdir); - set_pref(PREF_WORKING_DIR,prefs->workdir); - set_pref(PREF_SESSION_WORKDIR,prefs->workdir); + set_pref(PREF_WORKING_DIR, prefs->workdir); + set_pref(PREF_SESSION_WORKDIR, prefs->workdir); - lives_snprintf(mainw->first_info_file,PATH_MAX,"%s"LIVES_DIR_SEP LIVES_INFO_FILE_NAME".%d",prefs->workdir,capable->mainpid); + lives_snprintf(mainw->first_info_file, PATH_MAX, "%s"LIVES_DIR_SEP LIVES_INFO_FILE_NAME".%d", prefs->workdir, capable->mainpid); lives_free(dirname); return TRUE; @@ -172,27 +172,27 @@ static void on_init_aplayer_toggled(LiVESToggleButton *tbutton, livespointer user_data) { - int audp=LIVES_POINTER_TO_INT(user_data); + int audp = LIVES_POINTER_TO_INT(user_data); if (!lives_toggle_button_get_active(tbutton)) return; - prefs->audio_player=audp; + prefs->audio_player = audp; switch (audp) { case AUD_PLAYER_PULSE: - set_pref(PREF_AUDIO_PLAYER,AUDIO_PLAYER_PULSE); + set_pref(PREF_AUDIO_PLAYER, AUDIO_PLAYER_PULSE); break; case AUD_PLAYER_JACK: - set_pref(PREF_AUDIO_PLAYER,AUDIO_PLAYER_JACK); + set_pref(PREF_AUDIO_PLAYER, AUDIO_PLAYER_JACK); break; case AUD_PLAYER_SOX: - set_pref(PREF_AUDIO_PLAYER,AUDIO_PLAYER_SOX); + set_pref(PREF_AUDIO_PLAYER, AUDIO_PLAYER_SOX); break; case AUD_PLAYER_MPLAYER: - set_pref(PREF_AUDIO_PLAYER,AUDIO_PLAYER_MPLAYER); + set_pref(PREF_AUDIO_PLAYER, AUDIO_PLAYER_MPLAYER); break; case AUD_PLAYER_MPLAYER2: - set_pref(PREF_AUDIO_PLAYER,AUDIO_PLAYER_MPLAYER2); + set_pref(PREF_AUDIO_PLAYER, AUDIO_PLAYER_MPLAYER2); break; } @@ -202,8 +202,8 @@ boolean do_audio_choice_dialog(short startup_phase) { - LiVESWidget *dialog,*dialog_vbox,*radiobutton2,*radiobutton3,*radiobutton4,*label; - LiVESWidget *okbutton,*cancelbutton; + LiVESWidget *dialog, *dialog_vbox, *radiobutton2, *radiobutton3, *radiobutton4, *label; + LiVESWidget *okbutton, *cancelbutton; LiVESWidget *hbox; #ifdef HAVE_PULSE_AUDIO @@ -218,57 +218,57 @@ LiVESSList *radiobutton_group = NULL; - char *txt0,*txt1,*txt2,*txt3,*txt4,*txt5,*txt6,*txt7,*msg; + char *txt0, *txt1, *txt2, *txt3, *txt4, *txt5, *txt6, *txt7, *msg; int response; - if (startup_phase==2) { - txt0=lives_strdup(_("LiVES FAILED TO START YOUR SELECTED AUDIO PLAYER !\n\n")); + if (startup_phase == 2) { + txt0 = lives_strdup(_("LiVES FAILED TO START YOUR SELECTED AUDIO PLAYER !\n\n")); } else { - prefs->audio_player=-1; - txt0=lives_strdup(""); + prefs->audio_player = -1; + txt0 = lives_strdup(""); } - txt1=lives_strdup(_("Before starting LiVES, you need to choose an audio player.\n\nPULSE AUDIO is recommended for most users")); + txt1 = lives_strdup(_("Before starting LiVES, you need to choose an audio player.\n\nPULSE AUDIO is recommended for most users")); #ifndef HAVE_PULSE_AUDIO - txt2=lives_strdup(_(", but this version of LiVES was not compiled with pulse audio support.\n\n")); + txt2 = lives_strdup(_(", but this version of LiVES was not compiled with pulse audio support.\n\n")); #else if (!capable->has_pulse_audio) { - txt2=lives_strdup( - _(", but you do not have pulse audio installed on your system.\n You are advised to install pulse audio first before running LiVES.\n\n")); - } else txt2=lives_strdup(".\n\n"); + txt2 = lives_strdup( + _(", but you do not have pulse audio installed on your system.\n You are advised to install pulse audio first before running LiVES.\n\n")); + } else txt2 = lives_strdup(".\n\n"); #endif - txt3=lives_strdup(_("JACK audio is recommended for pro users")); + txt3 = lives_strdup(_("JACK audio is recommended for pro users")); #ifndef ENABLE_JACK - txt4=lives_strdup(_(", but this version of LiVES was not compiled with jack audio support.\n\n")); + txt4 = lives_strdup(_(", but this version of LiVES was not compiled with jack audio support.\n\n")); #else if (!capable->has_jackd) { - txt4=lives_strdup(_(", but you do not have jackd installed. You may wish to install jackd first before running LiVES.\n\n")); + txt4 = lives_strdup(_(", but you do not have jackd installed. You may wish to install jackd first before running LiVES.\n\n")); } else { - txt4=lives_strdup( - _(", but may prevent LiVES from starting on some systems.\nIf LiVES will not start with jack," - "you can restart and try with another audio player instead.\n\n")); + txt4 = lives_strdup( + _(", but may prevent LiVES from starting on some systems.\nIf LiVES will not start with jack," + "you can restart and try with another audio player instead.\n\n")); } #endif - txt5=lives_strdup(_("SOX may be used if neither of the preceding players work, ")); + txt5 = lives_strdup(_("SOX may be used if neither of the preceding players work, ")); if (capable->has_sox_play) { - txt6=lives_strdup(_("but some audio features will be disabled.\n\n")); + txt6 = lives_strdup(_("but some audio features will be disabled.\n\n")); } else { - txt6=lives_strdup(_("but you do not have sox installed.\nYou are advised to install it before running LiVES.\n\n")); + txt6 = lives_strdup(_("but you do not have sox installed.\nYou are advised to install it before running LiVES.\n\n")); } - if (capable->has_mplayer||capable->has_mplayer2) { - txt7=lives_strdup(_("The MPLAYER/MPLAYER2 audio player is only recommended for testing purposes.\n\n")); + if (capable->has_mplayer || capable->has_mplayer2) { + txt7 = lives_strdup(_("The MPLAYER/MPLAYER2 audio player is only recommended for testing purposes.\n\n")); } else { - txt7=lives_strdup(""); + txt7 = lives_strdup(""); } - msg=lives_strdup_printf("%s%s%s%s%s%s%s%s",txt0,txt1,txt2,txt3,txt4,txt5,txt6,txt7); + msg = lives_strdup_printf("%s%s%s%s%s%s%s%s", txt0, txt1, txt2, txt3, txt4, txt5, txt6, txt7); lives_free(txt0); lives_free(txt1); @@ -279,14 +279,14 @@ lives_free(txt6); lives_free(txt7); - dialog = lives_standard_dialog_new(_("Choose an audio player"),FALSE,-1,-1); + dialog = lives_standard_dialog_new(_("Choose an audio player"), FALSE, -1, -1); accel_group = LIVES_ACCEL_GROUP(lives_accel_group_new()); lives_window_add_accel_group(LIVES_WINDOW(dialog), accel_group); dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(dialog)); - label=lives_standard_label_new(msg); + label = lives_standard_label_new(msg); lives_container_add(LIVES_CONTAINER(dialog_vbox), label); lives_free(msg); @@ -296,14 +296,14 @@ hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - radiobutton0 = lives_standard_radio_button_new(_("Use _pulse audio player"),TRUE,radiobutton_group,LIVES_BOX(hbox),NULL); + radiobutton0 = lives_standard_radio_button_new(_("Use _pulse audio player"), TRUE, radiobutton_group, LIVES_BOX(hbox), NULL); radiobutton_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(radiobutton0)); - if (prefs->audio_player==-1) prefs->audio_player=AUD_PLAYER_PULSE; + if (prefs->audio_player == -1) prefs->audio_player = AUD_PLAYER_PULSE; - if (prefs->audio_player==AUD_PLAYER_PULSE) { - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(radiobutton0),TRUE); - set_pref(PREF_AUDIO_PLAYER,AUDIO_PLAYER_PULSE); + if (prefs->audio_player == AUD_PLAYER_PULSE) { + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(radiobutton0), TRUE); + set_pref(PREF_AUDIO_PLAYER, AUDIO_PLAYER_PULSE); } lives_signal_connect(LIVES_GUI_OBJECT(radiobutton0), LIVES_WIDGET_TOGGLED_SIGNAL, @@ -318,13 +318,13 @@ hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - radiobutton1 = lives_standard_radio_button_new(_("Use _jack audio player"),TRUE,radiobutton_group,LIVES_BOX(hbox),NULL); + radiobutton1 = lives_standard_radio_button_new(_("Use _jack audio player"), TRUE, radiobutton_group, LIVES_BOX(hbox), NULL); radiobutton_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(radiobutton1)); - if (prefs->audio_player==AUD_PLAYER_JACK||!capable->has_pulse_audio||prefs->audio_player==-1) { - prefs->audio_player=AUD_PLAYER_JACK; - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(radiobutton1),TRUE); - set_pref(PREF_AUDIO_PLAYER,AUDIO_PLAYER_JACK); + if (prefs->audio_player == AUD_PLAYER_JACK || !capable->has_pulse_audio || prefs->audio_player == -1) { + prefs->audio_player = AUD_PLAYER_JACK; + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(radiobutton1), TRUE); + set_pref(PREF_AUDIO_PLAYER, AUDIO_PLAYER_JACK); } lives_signal_connect(LIVES_GUI_OBJECT(radiobutton1), LIVES_WIDGET_TOGGLED_SIGNAL, @@ -338,14 +338,14 @@ hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - radiobutton2 = lives_standard_radio_button_new(_("Use _sox audio player"),TRUE,radiobutton_group,LIVES_BOX(hbox),NULL); + radiobutton2 = lives_standard_radio_button_new(_("Use _sox audio player"), TRUE, radiobutton_group, LIVES_BOX(hbox), NULL); radiobutton_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(radiobutton2)); - if (prefs->audio_player==-1) prefs->audio_player=AUD_PLAYER_SOX; + if (prefs->audio_player == -1) prefs->audio_player = AUD_PLAYER_SOX; - if (prefs->audio_player==AUD_PLAYER_SOX) { - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(radiobutton2),TRUE); - set_pref(PREF_AUDIO_PLAYER,AUDIO_PLAYER_SOX); + if (prefs->audio_player == AUD_PLAYER_SOX) { + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(radiobutton2), TRUE); + set_pref(PREF_AUDIO_PLAYER, AUDIO_PLAYER_SOX); } lives_signal_connect(LIVES_GUI_OBJECT(radiobutton2), LIVES_WIDGET_TOGGLED_SIGNAL, @@ -359,13 +359,13 @@ hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - radiobutton3 = lives_standard_radio_button_new(_("Use _mplayer audio player"),TRUE,radiobutton_group,LIVES_BOX(hbox),NULL); + radiobutton3 = lives_standard_radio_button_new(_("Use _mplayer audio player"), TRUE, radiobutton_group, LIVES_BOX(hbox), NULL); - if (prefs->audio_player==-1) prefs->audio_player=AUD_PLAYER_MPLAYER; + if (prefs->audio_player == -1) prefs->audio_player = AUD_PLAYER_MPLAYER; - if (prefs->audio_player==AUD_PLAYER_MPLAYER) { - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(radiobutton3),TRUE); - set_pref(PREF_AUDIO_PLAYER,AUDIO_PLAYER_MPLAYER); + if (prefs->audio_player == AUD_PLAYER_MPLAYER) { + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(radiobutton3), TRUE); + set_pref(PREF_AUDIO_PLAYER, AUDIO_PLAYER_MPLAYER); } lives_signal_connect(LIVES_GUI_OBJECT(radiobutton3), LIVES_WIDGET_TOGGLED_SIGNAL, @@ -379,13 +379,13 @@ hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - radiobutton4 = lives_standard_radio_button_new(_("Use _mplayer2 audio player"),TRUE,radiobutton_group,LIVES_BOX(hbox),NULL); + radiobutton4 = lives_standard_radio_button_new(_("Use _mplayer2 audio player"), TRUE, radiobutton_group, LIVES_BOX(hbox), NULL); - if (prefs->audio_player==-1) prefs->audio_player=AUD_PLAYER_MPLAYER2; + if (prefs->audio_player == -1) prefs->audio_player = AUD_PLAYER_MPLAYER2; - if (prefs->audio_player==AUD_PLAYER_MPLAYER2) { - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(radiobutton4),TRUE); - set_pref(PREF_AUDIO_PLAYER,AUDIO_PLAYER_MPLAYER2); + if (prefs->audio_player == AUD_PLAYER_MPLAYER2) { + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(radiobutton4), TRUE); + set_pref(PREF_AUDIO_PLAYER, AUDIO_PLAYER_MPLAYER2); } lives_signal_connect(LIVES_GUI_OBJECT(radiobutton4), LIVES_WIDGET_TOGGLED_SIGNAL, @@ -395,14 +395,14 @@ } - cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL,NULL); + cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(dialog), cancelbutton, LIVES_RESPONSE_CANCEL); lives_widget_add_accelerator(cancelbutton, LIVES_WIDGET_CLICKED_SIGNAL, accel_group, LIVES_KEY_Escape, (LiVESXModifierType)0, (LiVESAccelFlags)0); - okbutton = lives_button_new_from_stock(LIVES_STOCK_GO_FORWARD,_("_Next")); + okbutton = lives_button_new_from_stock(LIVES_STOCK_GO_FORWARD, _("_Next")); lives_dialog_add_action_widget(LIVES_DIALOG(dialog), okbutton, LIVES_RESPONSE_OK); lives_widget_set_can_focus_and_default(okbutton); @@ -410,44 +410,44 @@ lives_widget_grab_focus(okbutton); - if (prefs->audio_player==-1) { + if (prefs->audio_player == -1) { do_no_mplayer_sox_error(); return LIVES_RESPONSE_CANCEL; } lives_widget_show_all(dialog); - response=lives_dialog_run(LIVES_DIALOG(dialog)); + response = lives_dialog_run(LIVES_DIALOG(dialog)); lives_widget_destroy(dialog); if (!is_realtime_aplayer(prefs->audio_player)) { lives_widget_hide(mainw->vol_toolitem); - if (mainw->vol_label!=NULL) lives_widget_hide(mainw->vol_label); + if (mainw->vol_label != NULL) lives_widget_hide(mainw->vol_label); lives_widget_hide(mainw->recaudio_submenu); } lives_widget_context_update(); - return (response==LIVES_RESPONSE_OK); + return (response == LIVES_RESPONSE_OK); } static void add_test(LiVESWidget *table, int row, char *ttext, boolean noskip) { - LiVESWidget *label=lives_standard_label_new(ttext); + LiVESWidget *label = lives_standard_label_new(ttext); - lives_table_attach(LIVES_TABLE(table), label, 0, 1, row, row+1, (LiVESAttachOptions)0, (LiVESAttachOptions)0, 10, 10); + lives_table_attach(LIVES_TABLE(table), label, 0, 1, row, row + 1, (LiVESAttachOptions)0, (LiVESAttachOptions)0, 10, 10); lives_widget_show(label); if (!noskip) { - LiVESWidget *image=lives_image_new_from_stock(LIVES_STOCK_REMOVE,LIVES_ICON_SIZE_LARGE_TOOLBAR); + LiVESWidget *image = lives_image_new_from_stock(LIVES_STOCK_REMOVE, LIVES_ICON_SIZE_LARGE_TOOLBAR); // TRANSLATORS - as in "skipped test" - label=lives_standard_label_new(_("Skipped")); + label = lives_standard_label_new(_("Skipped")); - lives_table_attach(LIVES_TABLE(table), label, 1, 2, row, row+1, (LiVESAttachOptions)0, (LiVESAttachOptions)0, 10, 10); + lives_table_attach(LIVES_TABLE(table), label, 1, 2, row, row + 1, (LiVESAttachOptions)0, (LiVESAttachOptions)0, 10, 10); lives_widget_show(label); - lives_table_attach(LIVES_TABLE(table), image, 2, 3, row, row+1, (LiVESAttachOptions)0, (LiVESAttachOptions)0, 0, 10); + lives_table_attach(LIVES_TABLE(table), image, 2, 3, row, row + 1, (LiVESAttachOptions)0, (LiVESAttachOptions)0, 0, 10); lives_widget_show(image); } @@ -457,18 +457,18 @@ static boolean pass_test(LiVESWidget *table, int row) { // TRANSLATORS - as in "passed test" - LiVESWidget *label=lives_standard_label_new(_("Passed")); + LiVESWidget *label = lives_standard_label_new(_("Passed")); -#if GTK_CHECK_VERSION(3,10,0) - LiVESWidget *image=lives_image_new_from_stock(LIVES_STOCK_ADD,LIVES_ICON_SIZE_LARGE_TOOLBAR); +#if GTK_CHECK_VERSION(3, 10, 0) + LiVESWidget *image = lives_image_new_from_stock(LIVES_STOCK_ADD, LIVES_ICON_SIZE_LARGE_TOOLBAR); #else - LiVESWidget *image=lives_image_new_from_stock(LIVES_STOCK_APPLY,LIVES_ICON_SIZE_LARGE_TOOLBAR); + LiVESWidget *image = lives_image_new_from_stock(LIVES_STOCK_APPLY, LIVES_ICON_SIZE_LARGE_TOOLBAR); #endif - lives_table_attach(LIVES_TABLE(table), label, 1, 2, row, row+1, (LiVESAttachOptions)0, (LiVESAttachOptions)0, 10, 10); + lives_table_attach(LIVES_TABLE(table), label, 1, 2, row, row + 1, (LiVESAttachOptions)0, (LiVESAttachOptions)0, 10, 10); lives_widget_show(label); - lives_table_attach(LIVES_TABLE(table), image, 2, 3, row, row+1, (LiVESAttachOptions)0, (LiVESAttachOptions)0, 0, 10); + lives_table_attach(LIVES_TABLE(table), image, 2, 3, row, row + 1, (LiVESAttachOptions)0, (LiVESAttachOptions)0, 0, 10); lives_widget_show(image); lives_widget_context_update(); @@ -478,24 +478,24 @@ static boolean fail_test(LiVESWidget *table, int row, char *ftext) { LiVESWidget *label; -#if GTK_CHECK_VERSION(3,10,0) - LiVESWidget *image=lives_image_new_from_stock(LIVES_STOCK_REMOVE,LIVES_ICON_SIZE_LARGE_TOOLBAR); +#if GTK_CHECK_VERSION(3, 10, 0) + LiVESWidget *image = lives_image_new_from_stock(LIVES_STOCK_REMOVE, LIVES_ICON_SIZE_LARGE_TOOLBAR); #else - LiVESWidget *image=lives_image_new_from_stock(LIVES_STOCK_CANCEL,LIVES_ICON_SIZE_LARGE_TOOLBAR); + LiVESWidget *image = lives_image_new_from_stock(LIVES_STOCK_CANCEL, LIVES_ICON_SIZE_LARGE_TOOLBAR); #endif - label=lives_standard_label_new(ftext); + label = lives_standard_label_new(ftext); - lives_table_attach(LIVES_TABLE(table), label, 3, 4, row, row+1, (LiVESAttachOptions)0, (LiVESAttachOptions)0, 10, 10); + lives_table_attach(LIVES_TABLE(table), label, 3, 4, row, row + 1, (LiVESAttachOptions)0, (LiVESAttachOptions)0, 10, 10); lives_widget_show(label); // TRANSLATORS - as in "failed test" - label=lives_standard_label_new(_("Failed")); + label = lives_standard_label_new(_("Failed")); - lives_table_attach(LIVES_TABLE(table), label, 1, 2, row, row+1, (LiVESAttachOptions)0, (LiVESAttachOptions)0, 10, 10); + lives_table_attach(LIVES_TABLE(table), label, 1, 2, row, row + 1, (LiVESAttachOptions)0, (LiVESAttachOptions)0, 10, 10); lives_widget_show(label); - lives_table_attach(LIVES_TABLE(table), image, 2, 3, row, row+1, (LiVESAttachOptions)0, (LiVESAttachOptions)0, 0, 10); + lives_table_attach(LIVES_TABLE(table), image, 2, 3, row, row + 1, (LiVESAttachOptions)0, (LiVESAttachOptions)0, 0, 10); lives_widget_show(image); lives_widget_context_update(); @@ -504,8 +504,8 @@ } -LIVES_INLINE char *get_resource(char *fname) { - return lives_strdup_printf("%s%sresources/%s",prefs->prefix_dir,DATA_DIR,fname); +static LIVES_INLINE char *get_resource(char *fname) { + return lives_strdup_printf("%s%sresources/%s", prefs->prefix_dir, DATA_DIR, fname); } @@ -523,9 +523,9 @@ char mppath[PATH_MAX]; - char *com,*rname,*afile,*tmp; - char *image_ext=lives_strdup(prefs->image_ext); - char *title,*msg; + char *com, *rname, *afile, *tmp; + char *image_ext = lives_strdup(prefs->image_ext); + char *title, *msg; const char *mp_cmd; const char *lookfor; @@ -534,33 +534,33 @@ size_t fsize; - boolean success,success2,success3,success4; - boolean imgext_switched=FALSE; + boolean success, success2, success3, success4; + boolean imgext_switched = FALSE; - int response,res; - int current_file=mainw->current_file; + int response, res; + int current_file = mainw->current_file; - int out_fd,info_fd; + int out_fd, info_fd; - mainw->suppress_dprint=TRUE; - mainw->cancelled=CANCEL_NONE; + mainw->suppress_dprint = TRUE; + mainw->cancelled = CANCEL_NONE; - if (mainw->multitrack!=NULL) { - if (mainw->multitrack->idlefunc>0) { + if (mainw->multitrack != NULL) { + if (mainw->multitrack->idlefunc > 0) { lives_source_remove(mainw->multitrack->idlefunc); - mainw->multitrack->idlefunc=0; + mainw->multitrack->idlefunc = 0; } mt_desensitise(mainw->multitrack); } if (!tshoot) { - title=lives_strdup(_("Testing Configuration")); + title = lives_strdup(_("Testing Configuration")); } else { - title=lives_strdup(_("Troubleshoot")); + title = lives_strdup(_("Troubleshoot")); } - dialog = lives_standard_dialog_new(title,FALSE,-1,-1); + dialog = lives_standard_dialog_new(title, FALSE, -1, -1); accel_group = LIVES_ACCEL_GROUP(lives_accel_group_new()); lives_window_add_accel_group(LIVES_WINDOW(dialog), accel_group); @@ -569,10 +569,10 @@ dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(dialog)); - label=lives_standard_label_new(_("LiVES will now run some basic configuration tests\n")); + label = lives_standard_label_new(_("LiVES will now run some basic configuration tests\n")); lives_container_add(LIVES_CONTAINER(dialog_vbox), label); - cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL,NULL); + cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(dialog), cancelbutton, LIVES_RESPONSE_CANCEL); @@ -580,8 +580,8 @@ LIVES_KEY_Escape, (LiVESXModifierType)0, (LiVESAccelFlags)0); if (!tshoot) { - okbutton = lives_button_new_from_stock(LIVES_STOCK_GO_FORWARD,_("_Next")); - } else okbutton = lives_button_new_from_stock(LIVES_STOCK_OK,NULL); + okbutton = lives_button_new_from_stock(LIVES_STOCK_GO_FORWARD, _("_Next")); + } else okbutton = lives_button_new_from_stock(LIVES_STOCK_OK, NULL); lives_dialog_add_action_widget(LIVES_DIALOG(dialog), okbutton, LIVES_RESPONSE_OK); lives_widget_set_can_focus_and_default(okbutton); @@ -589,7 +589,7 @@ lives_widget_grab_focus(okbutton); - lives_widget_set_sensitive(okbutton,FALSE); + lives_widget_set_sensitive(okbutton, FALSE); table = lives_table_new(10, 4, FALSE); @@ -602,108 +602,108 @@ // check for sox presence - add_test(table,0,_("Checking for \"sox\" presence"),TRUE); + add_test(table, 0, _("Checking for \"sox\" presence"), TRUE); if (!capable->has_sox_sox) { - success=fail_test(table,0,_("You should install sox to be able to use all the audio features in LiVES")); + success = fail_test(table, 0, _("You should install sox to be able to use all the audio features in LiVES")); } else { - success=pass_test(table,0); + success = pass_test(table, 0); } // test if sox can convert raw 44100 -> wav 22050 - add_test(table,1,_("Checking if sox can convert audio"),success); + add_test(table, 1, _("Checking if sox can convert audio"), success); - if (!tshoot) set_pref(PREF_DEFAULT_IMAGE_FORMAT,LIVES_IMAGE_TYPE_PNG); - lives_snprintf(prefs->image_ext,16,"%s",LIVES_FILE_EXT_PNG); + if (!tshoot) set_pref(PREF_DEFAULT_IMAGE_FORMAT, LIVES_IMAGE_TYPE_PNG); + lives_snprintf(prefs->image_ext, 16, "%s", LIVES_FILE_EXT_PNG); - get_temp_handle(mainw->first_free_file,TRUE); + get_temp_handle(mainw->first_free_file, TRUE); if (success) { - info_fd=-1; + info_fd = -1; lives_rm(cfile->info_file); // write 1 second of silence - afile=lives_build_filename(prefs->workdir,cfile->handle,"audio",NULL); - out_fd=lives_open3(afile,O_WRONLY|O_CREAT,S_IRUSR|S_IWUSR); + afile = lives_build_filename(prefs->workdir, cfile->handle, "audio", NULL); + out_fd = lives_open3(afile, O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR); - if (out_fd<0) mainw->write_failed=TRUE; - else mainw->write_failed=FALSE; + if (out_fd < 0) mainw->write_failed = TRUE; + else mainw->write_failed = FALSE; if (!mainw->write_failed) { - int bytes=44100*4; - abuff=(uint8_t *)lives_calloc(44100,4); + int bytes = 44100 * 4; + abuff = (uint8_t *)lives_calloc(44100, 4); if (!abuff) { - tmp=lives_strdup_printf(_("Unable to allocate %d bytes memory."),bytes); - fail_test(table,1,tmp); + tmp = lives_strdup_printf(_("Unable to allocate %d bytes memory."), bytes); + fail_test(table, 1, tmp); lives_free(tmp); } else { - lives_write(out_fd,abuff,bytes,TRUE); + lives_write(out_fd, abuff, bytes, TRUE); close(out_fd); lives_free(abuff); } } if (mainw->write_failed) { - tmp=lives_strdup_printf(_("Unable to write to: %s"),afile); - fail_test(table,1,tmp); + tmp = lives_strdup_printf(_("Unable to write to: %s"), afile); + fail_test(table, 1, tmp); lives_free(tmp); } lives_free(afile); if (!mainw->write_failed) { - afile=lives_build_filename(prefs->workdir,cfile->handle,"testout.wav",NULL); + afile = lives_build_filename(prefs->workdir, cfile->handle, "testout.wav", NULL); - mainw->com_failed=FALSE; - com=lives_strdup_printf("%s export_audio \"%s\" 0. 0. 44100 2 16 0 22050 \"%s\"",prefs->backend_sync,cfile->handle,afile); - lives_system(com,TRUE); + mainw->com_failed = FALSE; + com = lives_strdup_printf("%s export_audio \"%s\" 0. 0. 44100 2 16 0 22050 \"%s\"", prefs->backend_sync, cfile->handle, afile); + lives_system(com, TRUE); if (mainw->com_failed) { - tmp=lives_strdup_printf(_("Command failed: %s"),com); - fail_test(table,1,tmp); + tmp = lives_strdup_printf(_("Command failed: %s"), com); + fail_test(table, 1, tmp); lives_free(tmp); } lives_free(com); - while (mainw->cancelled==CANCEL_NONE&&(info_fd=open(cfile->info_file,O_RDONLY))==-1) { + while (mainw->cancelled == CANCEL_NONE && (info_fd = open(cfile->info_file, O_RDONLY)) == -1) { lives_usleep(prefs->sleep_time); lives_widget_context_update(); } - if (info_fd!=-1) { + if (info_fd != -1) { close(info_fd); lives_sync(); - fsize=sget_file_size(afile); + fsize = sget_file_size(afile); lives_rm(afile); lives_free(afile); - if (fsize==0) { - fail_test(table,1,_("You should install sox_fmt_all or similar")); + if (fsize == 0) { + fail_test(table, 1, _("You should install sox_fmt_all or similar")); } - else pass_test(table,1); + else pass_test(table, 1); } } } - if (tshoot) lives_snprintf(prefs->image_ext,16,"%s",image_ext); + if (tshoot) lives_snprintf(prefs->image_ext, 16, "%s", image_ext); - if (mainw->cancelled!=CANCEL_NONE) { - mainw->cancelled=CANCEL_NONE; - close_file(current_file,tshoot); + if (mainw->cancelled != CANCEL_NONE) { + mainw->cancelled = CANCEL_NONE; + close_file(current_file, tshoot); lives_widget_destroy(dialog); - mainw->suppress_dprint=FALSE; + mainw->suppress_dprint = FALSE; - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } return FALSE; @@ -711,24 +711,24 @@ // check for mplayer presence - success2=TRUE; + success2 = TRUE; #ifdef ALLOW_MPV - add_test(table,2,_("Checking for \"mplayer\", \"mplayer2\" or \"mpv\" presence"),TRUE); + add_test(table, 2, _("Checking for \"mplayer\", \"mplayer2\" or \"mpv\" presence"), TRUE); - if (!capable->has_mplayer&&!capable->has_mplayer2&&!capable->has_mpv) { - success2=fail_test(table,2,_("You should install mplayer, mplayer2 or mpv to be able to use all the decoding features in LiVES")); + if (!capable->has_mplayer && !capable->has_mplayer2 && !capable->has_mpv) { + success2 = fail_test(table, 2, _("You should install mplayer, mplayer2 or mpv to be able to use all the decoding features in LiVES")); } - if (!success&&!capable->has_mplayer2&&!capable->has_mplayer) { - success2=FALSE; + if (!success && !capable->has_mplayer2 && !capable->has_mplayer) { + success2 = FALSE; } #else - add_test(table,2,_("Checking for \"mplayer\" or \"mplayer2\" presence"),TRUE); + add_test(table, 2, _("Checking for \"mplayer\" or \"mplayer2\" presence"), TRUE); - if (!capable->has_mplayer&&!capable->has_mplayer2) { - success2=fail_test(table,2,_("You should install mplayer or mplayer2 to be able to use all the decoding features in LiVES")); + if (!capable->has_mplayer && !capable->has_mplayer2) { + success2 = fail_test(table, 2, _("You should install mplayer or mplayer2 to be able to use all the decoding features in LiVES")); } #endif @@ -737,18 +737,18 @@ lives_widget_destroy(dialog); lives_widget_context_update(); do_no_mplayer_sox_error(); - close_file(current_file,tshoot); - mainw->suppress_dprint=FALSE; + close_file(current_file, tshoot); + mainw->suppress_dprint = FALSE; - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } return FALSE; } } else { - success2=pass_test(table,2); + success2 = pass_test(table, 2); } @@ -756,125 +756,125 @@ // check if mplayer can decode audio - if (capable->has_mplayer) mp_cmd=AUDIO_PLAYER_MPLAYER; - else if (capable->has_mplayer2) mp_cmd=AUDIO_PLAYER_MPLAYER2; - else mp_cmd="mpv"; + if (capable->has_mplayer) mp_cmd = AUDIO_PLAYER_MPLAYER; + else if (capable->has_mplayer2) mp_cmd = AUDIO_PLAYER_MPLAYER2; + else mp_cmd = "mpv"; - get_location(mp_cmd,mppath,PATH_MAX); - lives_snprintf(prefs->video_open_command,PATH_MAX+2,"\"%s\"",mppath); - set_pref(PREF_VIDEO_OPEN_COMMAND,prefs->video_open_command); + get_location(mp_cmd, mppath, PATH_MAX); + lives_snprintf(prefs->video_open_command, PATH_MAX + 2, "\"%s\"", mppath); + set_pref(PREF_VIDEO_OPEN_COMMAND, prefs->video_open_command); - msg=lives_strdup_printf(_("Checking if %s can convert audio"),mp_cmd); - add_test(table,3,msg,success2); + msg = lives_strdup_printf(_("Checking if %s can convert audio"), mp_cmd); + add_test(table, 3, msg, success2); lives_free(msg); - res=1; + res = 1; if (success2) { #ifndef IS_MINGW - com=lives_strdup_printf("LANG=en LANGUAGE=en %s -ao help | grep pcm >/dev/null 2>&1",prefs->video_open_command); - res=lives_system(com,TRUE); + com = lives_strdup_printf("LANG=en LANGUAGE=en %s -ao help | grep pcm >/dev/null 2>&1", prefs->video_open_command); + res = lives_system(com, TRUE); lives_free(com); #else - com=lives_strdup_printf("%s -ao help | grep pcm >NUL 2>&1",prefs->video_open_command); - res=lives_system(com,TRUE); + com = lives_strdup_printf("%s -ao help | grep pcm >NUL 2>&1", prefs->video_open_command); + res = lives_system(com, TRUE); lives_free(com); #endif } - if (res==0) { - pass_test(table,3); + if (res == 0) { + pass_test(table, 3); } else { #ifdef ALLOW_MPV - fail_test(table,3,_("You should install mplayer,mplayer2 or mpv with pcm/wav support")); + fail_test(table, 3, _("You should install mplayer,mplayer2 or mpv with pcm/wav support")); #else - fail_test(table,3,_("You should install mplayer or mplayer2 with pcm/wav support")); + fail_test(table, 3, _("You should install mplayer or mplayer2 with pcm/wav support")); #endif } // check if mplayer can decode to png/(alpha) - rname=get_resource(""); + rname = get_resource(""); - if (!lives_file_test(rname,LIVES_FILE_TEST_IS_DIR)) { + if (!lives_file_test(rname, LIVES_FILE_TEST_IS_DIR)) { /// oops, no resources dir - success4=FALSE; - } else success4=TRUE; + success4 = FALSE; + } else success4 = TRUE; lives_free(rname); #ifdef ALLOW_PNG24 - msg=lives_strdup_printf(_("Checking if %s can decode to png"),mp_cmd); + msg = lives_strdup_printf(_("Checking if %s can decode to png"), mp_cmd); #else - msg=lives_strdup_printf(_("Checking if %s can decode to png/alpha"),mp_cmd); + msg = lives_strdup_printf(_("Checking if %s can decode to png/alpha"), mp_cmd); #endif - add_test(table,4,msg,success2&&success4); + add_test(table, 4, msg, success2 && success4); lives_free(msg); - success3=FALSE; + success3 = FALSE; // try to open resource vidtest.avi - if (success2&&success4) { + if (success2 && success4) { - info_fd=-1; + info_fd = -1; lives_rm(cfile->info_file); - rname=get_resource("vidtest.avi"); + rname = get_resource("vidtest.avi"); - com=lives_strdup_printf("%s open_test \"%s\" %s \"%s\" 0 png",prefs->backend_sync,cfile->handle,prefs->video_open_command, - (tmp=lives_filename_from_utf8(rname,-1,NULL,NULL,NULL))); + com = lives_strdup_printf("%s open_test \"%s\" %s \"%s\" 0 png", prefs->backend_sync, cfile->handle, prefs->video_open_command, + (tmp = lives_filename_from_utf8(rname, -1, NULL, NULL, NULL))); lives_free(tmp); lives_free(rname); - mainw->com_failed=FALSE; - lives_system(com,TRUE); + mainw->com_failed = FALSE; + lives_system(com, TRUE); if (mainw->com_failed) { - tmp=lives_strdup_printf(_("Command failed: %s"),com); - fail_test(table,4,tmp); + tmp = lives_strdup_printf(_("Command failed: %s"), com); + fail_test(table, 4, tmp); lives_free(tmp); } lives_free(com); - while (mainw->cancelled==CANCEL_NONE&&(info_fd=open(cfile->info_file,O_RDONLY))==-1) { + while (mainw->cancelled == CANCEL_NONE && (info_fd = open(cfile->info_file, O_RDONLY)) == -1) { lives_usleep(prefs->sleep_time); } - if (info_fd!=-1) { + if (info_fd != -1) { close(info_fd); lives_sync(); - cfile->img_type=IMG_TYPE_PNG; + cfile->img_type = IMG_TYPE_PNG; get_frame_count(mainw->current_file); - if (cfile->frames==0) { - msg=lives_strdup_printf(_("You may wish to upgrade %s to a newer version"),mp_cmd); - fail_test(table,4,msg); + if (cfile->frames == 0) { + msg = lives_strdup_printf(_("You may wish to upgrade %s to a newer version"), mp_cmd); + fail_test(table, 4, msg); lives_free(msg); } else { - pass_test(table,4); - success3=TRUE; + pass_test(table, 4); + success3 = TRUE; } } } - if (mainw->cancelled!=CANCEL_NONE) { - mainw->cancelled=CANCEL_NONE; - close_file(current_file,tshoot); + if (mainw->cancelled != CANCEL_NONE) { + mainw->cancelled = CANCEL_NONE; + close_file(current_file, tshoot); lives_widget_destroy(dialog); - mainw->suppress_dprint=FALSE; + mainw->suppress_dprint = FALSE; - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } return FALSE; @@ -882,46 +882,46 @@ // check if mplayer can decode to jpeg - msg=lives_strdup_printf(_("Checking if %s can decode to jpeg"),mp_cmd); - add_test(table,5,msg,success2); + msg = lives_strdup_printf(_("Checking if %s can decode to jpeg"), mp_cmd); + add_test(table, 5, msg, success2); lives_free(msg); - res=1; + res = 1; - if (!strcmp(mp_cmd,"mpv")) lookfor="image"; - else lookfor="jpeg file"; + if (!strcmp(mp_cmd, "mpv")) lookfor = "image"; + else lookfor = "jpeg file"; if (success2) { #ifndef IS_MINGW - com=lives_strdup_printf("LANG=en LANGUAGE=en %s -vo help | grep -i \"%s\" >/dev/null 2>&1",prefs->video_open_command,lookfor); - res=lives_system(com,TRUE); + com = lives_strdup_printf("LANG=en LANGUAGE=en %s -vo help | grep -i \"%s\" >/dev/null 2>&1", prefs->video_open_command, lookfor); + res = lives_system(com, TRUE); lives_free(com); #else - com=lives_strdup_printf("%s -vo help | grep -i \"%s\" >NUL 2>&1",prefs->video_open_command,lookfor); - res=lives_system(com,TRUE); + com = lives_strdup_printf("%s -vo help | grep -i \"%s\" >NUL 2>&1", prefs->video_open_command, lookfor); + res = lives_system(com, TRUE); lives_free(com); #endif } - if (res==0) { - pass_test(table,5); + if (res == 0) { + pass_test(table, 5); if (!success3) { - if (!strcmp(prefs->image_ext,LIVES_FILE_EXT_PNG)) imgext_switched=TRUE; - set_pref(PREF_DEFAULT_IMAGE_FORMAT,LIVES_IMAGE_TYPE_JPEG); - lives_snprintf(prefs->image_ext,16,"%s",LIVES_FILE_EXT_JPG); + if (!strcmp(prefs->image_ext, LIVES_FILE_EXT_PNG)) imgext_switched = TRUE; + set_pref(PREF_DEFAULT_IMAGE_FORMAT, LIVES_IMAGE_TYPE_JPEG); + lives_snprintf(prefs->image_ext, 16, "%s", LIVES_FILE_EXT_JPG); } } else { if (!success3) { #ifdef ALLOW_PNG24 - msg=lives_strdup_printf(_("You should install %s with either png or jpeg support"),mp_cmd); + msg = lives_strdup_printf(_("You should install %s with either png or jpeg support"), mp_cmd); #else - msg=lives_strdup_printf(_("You should install %s with either png/alpha or jpeg support"),mp_cmd); + msg = lives_strdup_printf(_("You should install %s with either png/alpha or jpeg support"), mp_cmd); #endif - fail_test(table,5,msg); + fail_test(table, 5, msg); lives_free(msg); } else { - msg=lives_strdup_printf(_("You may wish to add jpeg output support to %s"),mp_cmd); - fail_test(table,5,msg); + msg = lives_strdup_printf(_("You may wish to add jpeg output support to %s"), mp_cmd); + fail_test(table, 5, msg); lives_free(msg); } } @@ -932,53 +932,53 @@ // check for convert - add_test(table,8,_("Checking for \"convert\" presence"),TRUE); + add_test(table, 8, _("Checking for \"convert\" presence"), TRUE); if (!capable->has_convert) { - success=fail_test(table,8,_("Install imageMagick to be able to use all of the rendered effects")); + success = fail_test(table, 8, _("Install imageMagick to be able to use all of the rendered effects")); } else { - success=pass_test(table,8); + success = pass_test(table, 8); } - close_file(current_file,tshoot); - mainw->current_file=current_file; + close_file(current_file, tshoot); + mainw->current_file = current_file; - lives_widget_set_sensitive(okbutton,TRUE); + lives_widget_set_sensitive(okbutton, TRUE); - if (!capable->has_mplayer&&!capable->has_mplayer2&&capable->has_mpv) { - label=lives_standard_label_new( - _("\n\nLiVES has experimental support for 'mpv' but it is advisable to install\n" - "'mplayer' or 'mplayer2' in order to use all the features of LiVES")); + if (!capable->has_mplayer && !capable->has_mplayer2 && capable->has_mpv) { + label = lives_standard_label_new( + _("\n\nLiVES has experimental support for 'mpv' but it is advisable to install\n" + "'mplayer' or 'mplayer2' in order to use all the features of LiVES")); lives_container_add(LIVES_CONTAINER(dialog_vbox), label); } if (tshoot) { lives_widget_hide(cancelbutton); if (imgext_switched) { - label=lives_standard_label_new( - _("\n\n Image decoding type has been switched to jpeg. You can revert this in Preferences/Decoding. \n")); + label = lives_standard_label_new( + _("\n\n Image decoding type has been switched to jpeg. You can revert this in Preferences/Decoding. \n")); lives_container_add(LIVES_CONTAINER(dialog_vbox), label); } lives_widget_show(label); } else { - label=lives_standard_label_new(_("\n\n Click Cancel to exit and install any missing components, or Next to continue \n")); + label = lives_standard_label_new(_("\n\n Click Cancel to exit and install any missing components, or Next to continue \n")); lives_container_add(LIVES_CONTAINER(dialog_vbox), label); lives_widget_show(label); } - response=lives_dialog_run(LIVES_DIALOG(dialog)); + response = lives_dialog_run(LIVES_DIALOG(dialog)); lives_widget_destroy(dialog); - mainw->suppress_dprint=FALSE; + mainw->suppress_dprint = FALSE; - if (mainw->multitrack!=NULL) { + if (mainw->multitrack != NULL) { mt_sensitise(mainw->multitrack); - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } - return (response==LIVES_RESPONSE_OK); + return (response == LIVES_RESPONSE_OK); } @@ -991,55 +991,55 @@ // prompt for startup ce or startup mt - LiVESWidget *dialog,*dialog_vbox,*radiobutton0,*radiobutton1,*label; + LiVESWidget *dialog, *dialog_vbox, *radiobutton0, *radiobutton1, *label; LiVESWidget *okbutton; LiVESWidget *hbox; LiVESSList *radiobutton_group = NULL; - char *txt1,*txt2,*txt3,*msg; + char *txt1, *txt2, *txt3, *msg; - txt1=lives_strdup(_("\n\nFinally, you can choose the default startup interface for LiVES.\n")); - txt2=lives_strdup(_("\n\nLiVES has two main interfaces and you can start up with either of them.\n")); - txt3=lives_strdup(_("\n\nThe default can always be changed later from Preferences.\n")); + txt1 = lives_strdup(_("\n\nFinally, you can choose the default startup interface for LiVES.\n")); + txt2 = lives_strdup(_("\n\nLiVES has two main interfaces and you can start up with either of them.\n")); + txt3 = lives_strdup(_("\n\nThe default can always be changed later from Preferences.\n")); - msg=lives_strdup_printf("%s%s%s",txt1,txt2,txt3); + msg = lives_strdup_printf("%s%s%s", txt1, txt2, txt3); lives_free(txt1); lives_free(txt2); lives_free(txt3); - dialog = lives_standard_dialog_new(_("Choose the Startup Interface"),FALSE,-1,-1); + dialog = lives_standard_dialog_new(_("Choose the Startup Interface"), FALSE, -1, -1); dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(dialog)); - label=lives_standard_label_new(msg); + label = lives_standard_label_new(msg); lives_container_add(LIVES_CONTAINER(dialog_vbox), label); lives_free(msg); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - radiobutton0 = lives_standard_radio_button_new(_("Start in _Clip Edit mode"),TRUE,radiobutton_group,LIVES_BOX(hbox),NULL); + radiobutton0 = lives_standard_radio_button_new(_("Start in _Clip Edit mode"), TRUE, radiobutton_group, LIVES_BOX(hbox), NULL); radiobutton_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(radiobutton0)); - label=lives_standard_label_new(_("This is the best choice for simple editing tasks and for VJs\n")); + label = lives_standard_label_new(_("This is the best choice for simple editing tasks and for VJs\n")); lives_box_pack_start(LIVES_BOX(dialog_vbox), label, FALSE, FALSE, widget_opts.packing_height); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - radiobutton1 = lives_standard_radio_button_new(_("Start in _Multitrack mode"),TRUE,radiobutton_group,LIVES_BOX(hbox),NULL); + radiobutton1 = lives_standard_radio_button_new(_("Start in _Multitrack mode"), TRUE, radiobutton_group, LIVES_BOX(hbox), NULL); - label=lives_standard_label_new(_("This is a better choice for complex editing tasks involving multiple clips.\n")); + label = lives_standard_label_new(_("This is a better choice for complex editing tasks involving multiple clips.\n")); lives_box_pack_start(LIVES_BOX(dialog_vbox), label, FALSE, FALSE, widget_opts.packing_height); - if (prefs->startup_interface==STARTUP_MT) { - lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(radiobutton1),TRUE); + if (prefs->startup_interface == STARTUP_MT) { + lives_toggle_button_set_active(LIVES_TOGGLE_BUTTON(radiobutton1), TRUE); } - okbutton = lives_button_new_from_stock(LIVES_STOCK_GO_FORWARD,_("_Finish")); + okbutton = lives_button_new_from_stock(LIVES_STOCK_GO_FORWARD, _("_Finish")); lives_dialog_add_action_widget(LIVES_DIALOG(dialog), okbutton, LIVES_RESPONSE_OK); lives_widget_set_can_focus_and_default(okbutton); @@ -1053,9 +1053,9 @@ if (lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(radiobutton1))) - future_prefs->startup_interface=prefs->startup_interface=STARTUP_MT; + future_prefs->startup_interface = prefs->startup_interface = STARTUP_MT; - set_int_pref(PREF_STARTUP_INTERFACE,prefs->startup_interface); + set_int_pref(PREF_STARTUP_INTERFACE, prefs->startup_interface); lives_widget_destroy(dialog);
View file
LiVES-2.8.4.tar.bz2/src/stream.c -> LiVES-2.8.6.tar.bz2/src/stream.c
Changed
@@ -25,16 +25,16 @@ #define L2L_PACKET_LEN 1024 -static char pckbuf[L2L_PACKET_LEN*2]; -static int pckoffs=0; -static size_t pcksize=0; +static char pckbuf[L2L_PACKET_LEN * 2]; +static int pckoffs = 0; +static size_t pcksize = 0; static boolean has_last_delta_ticks; -static char *hdr=NULL; +static char *hdr = NULL; static boolean fps_can_change; static LIVES_INLINE int64_t abs64(int64_t a) { - return ((a>0)?a:-a); + return ((a > 0) ? a : -a); } //#define USE_STRMBUF @@ -45,7 +45,7 @@ void *streambuf(void *arg) { // read bytes from udp port and load into ringbuffer - lives_vstream_t *lstream=(lives_vstream_t *)arg; + lives_vstream_t *lstream = (lives_vstream_t *)arg; ssize_t res; size_t btowrite; @@ -54,25 +54,25 @@ uint8_t tmpbuf[STREAM_BUF_SIZE]; - lstream->bufoffs=0; + lstream->bufoffs = 0; while (buffering) { // keep calling lives_stream_in until main thread sets buffering to FALSE - res=lives_stream_in(lstream->handle,STREAM_BUF_SIZE,tmpbuf,0); - if (res>0) { + res = lives_stream_in(lstream->handle, STREAM_BUF_SIZE, tmpbuf, 0); + if (res > 0) { // got packet of size res - tmpbufoffs=0; - btowrite=res; - if (lstream->bufoffs+btowrite>STREAM_BUF_SIZE) { - btowrite=STREAM_BUF_SIZE-lstream->bufoffs; - lives_memcpy(lstream->buffer+lstream->bufoffs,tmpbuf,btowrite); - tmpbufoffs+=btowrite; - res-=btowrite; - lstream->bufoffs=0; + tmpbufoffs = 0; + btowrite = res; + if (lstream->bufoffs + btowrite > STREAM_BUF_SIZE) { + btowrite = STREAM_BUF_SIZE - lstream->bufoffs; + lives_memcpy(lstream->buffer + lstream->bufoffs, tmpbuf, btowrite); + tmpbufoffs += btowrite; + res -= btowrite; + lstream->bufoffs = 0; } - lives_memcpy(lstream->buffer+lstream->bufoffs,tmpbuf+tmpbufoffs,res); - lstream->bufoffs+=res; - lstream->reading=TRUE; + lives_memcpy(lstream->buffer + lstream->bufoffs, tmpbuf + tmpbufoffs, res); + lstream->bufoffs += res; + lstream->reading = TRUE; } //else lstream->reading=FALSE; } @@ -84,35 +84,36 @@ static size_t l2l_rcv_packet(lives_vstream_t *lstream, size_t buflen, void *buf) { // take a packet from our stream buffer - static size_t bufoffs=0; - size_t btoread=0; - size_t end=bufoffs+buflen; + static size_t bufoffs = 0; + size_t btoread = 0; + size_t end = bufoffs + buflen; - while ((end<STREAM_BUF_SIZE&&lstream->bufoffs>=bufoffs&&lstream->bufoffs<=end)||(end>=STREAM_BUF_SIZE&&(lstream->bufoffs>=bufoffs|| - lstream->bufoffs<=(end-STREAM_BUF_SIZE)))) { + while ((end < STREAM_BUF_SIZE && lstream->bufoffs >= bufoffs && lstream->bufoffs <= end) || (end >= STREAM_BUF_SIZE && + (lstream->bufoffs >= bufoffs || + lstream->bufoffs <= (end - STREAM_BUF_SIZE)))) { lives_usleep(1000); } while (1) { // loop until we read the packet, or the user cancels if (lstream->reading) { - if (buflen+bufoffs>STREAM_BUF_SIZE) { - btoread=STREAM_BUF_SIZE-bufoffs; - lives_memcpy(buf,(void *)((uint8_t *)lstream->buffer+bufoffs),btoread); - bufoffs=0; - buflen-=btoread; - buf=(void *)((uint8_t *)buf+btoread); + if (buflen + bufoffs > STREAM_BUF_SIZE) { + btoread = STREAM_BUF_SIZE - bufoffs; + lives_memcpy(buf, (void *)((uint8_t *)lstream->buffer + bufoffs), btoread); + bufoffs = 0; + buflen -= btoread; + buf = (void *)((uint8_t *)buf + btoread); } - lives_memcpy(buf,(void *)((uint8_t *)lstream->buffer+bufoffs),buflen); - bufoffs+=buflen; - return buflen+btoread; + lives_memcpy(buf, (void *)((uint8_t *)lstream->buffer + bufoffs), buflen); + bufoffs += buflen; + return buflen + btoread; } else { - weed_plant_t *frame_layer=mainw->frame_layer; - mainw->frame_layer=NULL; + weed_plant_t *frame_layer = mainw->frame_layer; + mainw->frame_layer = NULL; lives_widget_context_update(); - mainw->frame_layer=frame_layer; + mainw->frame_layer = frame_layer; threaded_dialog_spin(0.); - if (mainw->cancelled) return buflen+btoread; + if (mainw->cancelled) return buflen + btoread; lives_usleep(prefs->sleep_time); } } @@ -121,18 +122,18 @@ static boolean lives_stream_in_chunks(lives_vstream_t *lstream, size_t buflen, uint8_t *buf, int xx) { // read first from pckbuf, then from streambuf - size_t copied=0; - if (pckoffs<L2L_PACKET_LEN) { + size_t copied = 0; + if (pckoffs < L2L_PACKET_LEN) { // use up our pckbuf - copied=L2L_PACKET_LEN-pckoffs; - if (copied>buflen) copied=buflen; + copied = L2L_PACKET_LEN - pckoffs; + if (copied > buflen) copied = buflen; - lives_memcpy(buf,pckbuf,copied); + lives_memcpy(buf, pckbuf, copied); - buflen-=copied; - pckoffs+=copied; + buflen -= copied; + pckoffs += copied; } - if (buflen>0) l2l_rcv_packet(lstream,buflen,(void *)((uint8_t *)buf+copied)); + if (buflen > 0) l2l_rcv_packet(lstream, buflen, (void *)((uint8_t *)buf + copied)); return TRUE; } #else @@ -141,19 +142,19 @@ static size_t l2l_rcv_packet(lives_vstream_t *lstream, size_t buflen, void *buf) { int ret; do { - ret=lives_stream_in(lstream->handle,buflen,buf,0); - if (ret==-1) { - weed_plant_t *frame_layer=mainw->frame_layer; - mainw->frame_layer=NULL; + ret = lives_stream_in(lstream->handle, buflen, buf, 0); + if (ret == -1) { + weed_plant_t *frame_layer = mainw->frame_layer; + mainw->frame_layer = NULL; lives_widget_context_update(); - mainw->frame_layer=frame_layer; + mainw->frame_layer = frame_layer; threaded_dialog_spin(0.); if (mainw->cancelled) { return -1; } lives_usleep(prefs->sleep_time); } - } while (ret==-1); + } while (ret == -1); return ret; } @@ -163,34 +164,34 @@ size_t copied; - if (pckoffs<pcksize) { + if (pckoffs < pcksize) { // use up our pckbuf - copied=pcksize-pckoffs; - if (copied>buflen) copied=buflen; + copied = pcksize - pckoffs; + if (copied > buflen) copied = buflen; - lives_memcpy(buf,pckbuf,copied); + lives_memcpy(buf, pckbuf, copied); - buflen-=copied; - pckoffs+=copied; - buf+=copied; + buflen -= copied; + pckoffs += copied; + buf += copied; } - while (buflen>0) { + while (buflen > 0) { // read in the rest do { - copied=lives_stream_in(lstream->handle,buflen,buf,bfsize); - if (copied==-2) return FALSE; - if (copied==-1) { - weed_plant_t *frame_layer=mainw->frame_layer; - mainw->frame_layer=NULL; + copied = lives_stream_in(lstream->handle, buflen, buf, bfsize); + if (copied == -2) return FALSE; + if (copied == -1) { + weed_plant_t *frame_layer = mainw->frame_layer; + mainw->frame_layer = NULL; lives_widget_context_update(); - mainw->frame_layer=frame_layer; + mainw->frame_layer = frame_layer; threaded_dialog_spin(0.); if (mainw->cancelled) return TRUE; lives_usleep(prefs->sleep_time); } - } while (copied==-1); - buflen-=copied; - buf+=copied; + } while (copied == -1); + buflen -= copied; + buf += copied; } return TRUE; } @@ -198,180 +199,180 @@ #endif static void l2l_get_packet_sync(lives_vstream_t *lstream) { - boolean sync=FALSE; + boolean sync = FALSE; - if (pckoffs==pcksize) { - pcksize=l2l_rcv_packet(lstream, L2L_PACKET_LEN, pckbuf); - pckoffs=0; + if (pckoffs == pcksize) { + pcksize = l2l_rcv_packet(lstream, L2L_PACKET_LEN, pckbuf); + pckoffs = 0; if (mainw->cancelled) return; } while (!sync) { - while (strncmp(pckbuf+pckoffs,"P",1)) { - if (++pckoffs==pcksize) { - pcksize=l2l_rcv_packet(lstream, L2L_PACKET_LEN, pckbuf); - pckoffs=0; + while (strncmp(pckbuf + pckoffs, "P", 1)) { + if (++pckoffs == pcksize) { + pcksize = l2l_rcv_packet(lstream, L2L_PACKET_LEN, pckbuf); + pckoffs = 0; if (mainw->cancelled) return; } } - if (++pckoffs==pcksize) { - pcksize=l2l_rcv_packet(lstream, L2L_PACKET_LEN, pckbuf); - pckoffs=0; + if (++pckoffs == pcksize) { + pcksize = l2l_rcv_packet(lstream, L2L_PACKET_LEN, pckbuf); + pckoffs = 0; if (mainw->cancelled) return; } - if (strncmp(pckbuf+pckoffs,"A",1)) continue; - if (++pckoffs==pcksize) { - pcksize=l2l_rcv_packet(lstream, L2L_PACKET_LEN, pckbuf); - pckoffs=0; + if (strncmp(pckbuf + pckoffs, "A", 1)) continue; + if (++pckoffs == pcksize) { + pcksize = l2l_rcv_packet(lstream, L2L_PACKET_LEN, pckbuf); + pckoffs = 0; if (mainw->cancelled) return; } - if (strncmp(pckbuf+pckoffs,"C",1)) continue; - if (++pckoffs==pcksize) { - pcksize=l2l_rcv_packet(lstream, L2L_PACKET_LEN, pckbuf); - pckoffs=0; + if (strncmp(pckbuf + pckoffs, "C", 1)) continue; + if (++pckoffs == pcksize) { + pcksize = l2l_rcv_packet(lstream, L2L_PACKET_LEN, pckbuf); + pckoffs = 0; if (mainw->cancelled) return; } - if (strncmp(pckbuf+pckoffs,"K",1)) continue; - if (++pckoffs==pcksize) { - pcksize=l2l_rcv_packet(lstream, L2L_PACKET_LEN, pckbuf); - pckoffs=0; + if (strncmp(pckbuf + pckoffs, "K", 1)) continue; + if (++pckoffs == pcksize) { + pcksize = l2l_rcv_packet(lstream, L2L_PACKET_LEN, pckbuf); + pckoffs = 0; if (mainw->cancelled) return; } - if (strncmp(pckbuf+pckoffs,"E",1)) continue; - if (++pckoffs==pcksize) { - pcksize=l2l_rcv_packet(lstream, L2L_PACKET_LEN, pckbuf); - pckoffs=0; + if (strncmp(pckbuf + pckoffs, "E", 1)) continue; + if (++pckoffs == pcksize) { + pcksize = l2l_rcv_packet(lstream, L2L_PACKET_LEN, pckbuf); + pckoffs = 0; if (mainw->cancelled) return; } - if (strncmp(pckbuf+pckoffs,"T",1)) continue; - if (++pckoffs==pcksize) { - pcksize=l2l_rcv_packet(lstream, L2L_PACKET_LEN, pckbuf); - pckoffs=0; + if (strncmp(pckbuf + pckoffs, "T", 1)) continue; + if (++pckoffs == pcksize) { + pcksize = l2l_rcv_packet(lstream, L2L_PACKET_LEN, pckbuf); + pckoffs = 0; if (mainw->cancelled) return; } - if (strncmp(pckbuf+pckoffs," ",1)) continue; + if (strncmp(pckbuf + pckoffs, " ", 1)) continue; - sync=TRUE; + sync = TRUE; } pckoffs++; } static char *l2l_get_packet_header(lives_vstream_t *lstream) { - size_t hdrsize=0,csize; + size_t hdrsize = 0, csize; char hdr_buf[1024]; - boolean sync=FALSE; + boolean sync = FALSE; - if (pckoffs==pcksize) { - pcksize+=l2l_rcv_packet(lstream, L2L_PACKET_LEN, pckbuf+pckoffs); + if (pckoffs == pcksize) { + pcksize += l2l_rcv_packet(lstream, L2L_PACKET_LEN, pckbuf + pckoffs); if (mainw->cancelled) return NULL; } while (!sync) { - if (pckoffs==pcksize) { - if (pcksize>L2L_PACKET_LEN) { - csize=pcksize; - pcksize=(pcksize+1)>>1; - csize-=pcksize; - lives_memcpy(pckbuf,pckbuf+pcksize,csize); - pckoffs-=pcksize; - pcksize=csize; + if (pckoffs == pcksize) { + if (pcksize > L2L_PACKET_LEN) { + csize = pcksize; + pcksize = (pcksize + 1) >> 1; + csize -= pcksize; + lives_memcpy(pckbuf, pckbuf + pcksize, csize); + pckoffs -= pcksize; + pcksize = csize; } - pcksize+=l2l_rcv_packet(lstream, L2L_PACKET_LEN, pckbuf+pckoffs); + pcksize += l2l_rcv_packet(lstream, L2L_PACKET_LEN, pckbuf + pckoffs); if (mainw->cancelled) return NULL; } - while (strncmp(pckbuf+pckoffs,"D",1)) { - hdr_buf[hdrsize++]=pckbuf[pckoffs]; - if (hdrsize>1000) { - if (pckoffs>=L2L_PACKET_LEN) { - lives_memcpy(pckbuf,pckbuf+L2L_PACKET_LEN,L2L_PACKET_LEN); - pckoffs-=L2L_PACKET_LEN; + while (strncmp(pckbuf + pckoffs, "D", 1)) { + hdr_buf[hdrsize++] = pckbuf[pckoffs]; + if (hdrsize > 1000) { + if (pckoffs >= L2L_PACKET_LEN) { + lives_memcpy(pckbuf, pckbuf + L2L_PACKET_LEN, L2L_PACKET_LEN); + pckoffs -= L2L_PACKET_LEN; } return NULL; } - if (++pckoffs==pcksize) { - if (pcksize>L2L_PACKET_LEN) { - csize=pcksize; - pcksize=(pcksize+1)>>1; - csize-=pcksize; - lives_memcpy(pckbuf,pckbuf+pcksize,csize); - pckoffs-=pcksize; - pcksize=csize; + if (++pckoffs == pcksize) { + if (pcksize > L2L_PACKET_LEN) { + csize = pcksize; + pcksize = (pcksize + 1) >> 1; + csize -= pcksize; + lives_memcpy(pckbuf, pckbuf + pcksize, csize); + pckoffs -= pcksize; + pcksize = csize; } - pcksize+=l2l_rcv_packet(lstream, L2L_PACKET_LEN, pckbuf+pckoffs); + pcksize += l2l_rcv_packet(lstream, L2L_PACKET_LEN, pckbuf + pckoffs); if (mainw->cancelled) return NULL; } } - if (++pckoffs==pcksize) { - if (pcksize>L2L_PACKET_LEN) { - csize=pcksize; - pcksize=(pcksize+1)>>1; - csize-=pcksize; - lives_memcpy(pckbuf,pckbuf+pcksize,csize); - pckoffs-=pcksize; - pcksize=csize; + if (++pckoffs == pcksize) { + if (pcksize > L2L_PACKET_LEN) { + csize = pcksize; + pcksize = (pcksize + 1) >> 1; + csize -= pcksize; + lives_memcpy(pckbuf, pckbuf + pcksize, csize); + pckoffs -= pcksize; + pcksize = csize; } - pcksize+=l2l_rcv_packet(lstream, L2L_PACKET_LEN, pckbuf+pckoffs); + pcksize += l2l_rcv_packet(lstream, L2L_PACKET_LEN, pckbuf + pckoffs); if (mainw->cancelled) return NULL; } - if (strncmp(pckbuf+pckoffs,"A",1)) { - lives_memcpy(&hdr_buf[hdrsize],pckbuf+pckoffs-1,2); - hdrsize+=2; + if (strncmp(pckbuf + pckoffs, "A", 1)) { + lives_memcpy(&hdr_buf[hdrsize], pckbuf + pckoffs - 1, 2); + hdrsize += 2; continue; } - if (++pckoffs==pcksize) { - if (pcksize>L2L_PACKET_LEN) { - csize=pcksize; - pcksize=(pcksize+1)>>1; - csize-=pcksize; - lives_memcpy(pckbuf,pckbuf+pcksize,csize); - pckoffs-=pcksize; - pcksize=csize; + if (++pckoffs == pcksize) { + if (pcksize > L2L_PACKET_LEN) { + csize = pcksize; + pcksize = (pcksize + 1) >> 1; + csize -= pcksize; + lives_memcpy(pckbuf, pckbuf + pcksize, csize); + pckoffs -= pcksize; + pcksize = csize; } - pcksize+=l2l_rcv_packet(lstream, L2L_PACKET_LEN, pckbuf+pckoffs); + pcksize += l2l_rcv_packet(lstream, L2L_PACKET_LEN, pckbuf + pckoffs); if (mainw->cancelled) return NULL; } - if (strncmp(pckbuf+pckoffs,"T",1)) { - lives_memcpy(&hdr_buf[hdrsize],pckbuf+pckoffs-2,3); - hdrsize+=3; + if (strncmp(pckbuf + pckoffs, "T", 1)) { + lives_memcpy(&hdr_buf[hdrsize], pckbuf + pckoffs - 2, 3); + hdrsize += 3; continue; } - if (++pckoffs==pcksize) { - if (pcksize>L2L_PACKET_LEN) { - csize=pcksize; - pcksize=(pcksize+1)>>1; - csize-=pcksize; - lives_memcpy(pckbuf,pckbuf+pcksize,csize); - pckoffs-=pcksize; - pcksize=csize; + if (++pckoffs == pcksize) { + if (pcksize > L2L_PACKET_LEN) { + csize = pcksize; + pcksize = (pcksize + 1) >> 1; + csize -= pcksize; + lives_memcpy(pckbuf, pckbuf + pcksize, csize); + pckoffs -= pcksize; + pcksize = csize; } - pcksize+=l2l_rcv_packet(lstream, L2L_PACKET_LEN, pckbuf+pckoffs); + pcksize += l2l_rcv_packet(lstream, L2L_PACKET_LEN, pckbuf + pckoffs); if (mainw->cancelled) return NULL; } - if (strncmp(pckbuf+pckoffs,"A",1)) { - lives_memcpy(&hdr_buf[hdrsize],pckbuf+pckoffs-3,4); - hdrsize+=4; + if (strncmp(pckbuf + pckoffs, "A", 1)) { + lives_memcpy(&hdr_buf[hdrsize], pckbuf + pckoffs - 3, 4); + hdrsize += 4; continue; } - sync=TRUE; + sync = TRUE; } - if (pckoffs>=L2L_PACKET_LEN) { - lives_memcpy(pckbuf,pckbuf+L2L_PACKET_LEN,L2L_PACKET_LEN); - pckoffs-=L2L_PACKET_LEN; - pcksize-=L2L_PACKET_LEN; + if (pckoffs >= L2L_PACKET_LEN) { + lives_memcpy(pckbuf, pckbuf + L2L_PACKET_LEN, L2L_PACKET_LEN); + pckoffs -= L2L_PACKET_LEN; + pcksize -= L2L_PACKET_LEN; } - hdr_buf[hdrsize]=0; + hdr_buf[hdrsize] = 0; pckoffs++; @@ -380,45 +381,45 @@ static boolean l2l_parse_packet_header(lives_vstream_t *lstream, int strtype, int strid) { - char **array=lives_strsplit(hdr," ",-1); - int pid=-1,ptype=-1; + char **array = lives_strsplit(hdr, " ", -1); + int pid = -1, ptype = -1; - if (hdr==NULL||array==NULL||array[0]==NULL||array[1]==NULL||array[2]==NULL||array[3]==NULL) { - if (array!=NULL) lives_strfreev(array); + if (hdr == NULL || array == NULL || array[0] == NULL || array[1] == NULL || array[2] == NULL || array[3] == NULL) { + if (array != NULL) lives_strfreev(array); return FALSE; } - ptype=atoi(array[0]); - pid=atoi(array[1]); + ptype = atoi(array[0]); + pid = atoi(array[1]); - if (pid!=strid||ptype!=strtype) { + if (pid != strid || ptype != strtype) { // wrong stream id, or not video - if (array!=NULL) lives_strfreev(array); + if (array != NULL) lives_strfreev(array); return FALSE; } - lstream->flags=atoi(array[2]); - lstream->dsize=atoi(array[3]); + lstream->flags = atoi(array[2]); + lstream->dsize = atoi(array[3]); - if (!(lstream->flags&LIVES_VSTREAM_FLAGS_IS_CONTINUATION)) { - if (capable->cpu_bits==32) { - lstream->timecode=strtoll(array[4],NULL,10); + if (!(lstream->flags & LIVES_VSTREAM_FLAGS_IS_CONTINUATION)) { + if (capable->cpu_bits == 32) { + lstream->timecode = strtoll(array[4], NULL, 10); } else { - lstream->timecode=strtol(array[4],NULL,10); + lstream->timecode = strtol(array[4], NULL, 10); } - lstream->hsize=atoi(array[5]); - lstream->vsize=atoi(array[6]); - lstream->fps=lives_strtod(array[7],NULL); - lstream->palette=atoi(array[8]); - lstream->YUV_sampling=atoi(array[9]); - lstream->YUV_clamping=atoi(array[10]); - lstream->YUV_subspace=atoi(array[11]); - lstream->compression_type=atoi(array[12]); + lstream->hsize = atoi(array[5]); + lstream->vsize = atoi(array[6]); + lstream->fps = lives_strtod(array[7], NULL); + lstream->palette = atoi(array[8]); + lstream->YUV_sampling = atoi(array[9]); + lstream->YUV_clamping = atoi(array[10]); + lstream->YUV_subspace = atoi(array[11]); + lstream->compression_type = atoi(array[12]); } lives_strfreev(array); - lstream->data_ready=TRUE; + lstream->data_ready = TRUE; return TRUE; } @@ -426,7 +427,7 @@ void lives2lives_read_stream(const char *host, int port) { - lives_vstream_t *lstream=(lives_vstream_t *)lives_malloc(sizeof(lives_vstream_t)); + lives_vstream_t *lstream = (lives_vstream_t *)lives_malloc(sizeof(lives_vstream_t)); char *tmp; char *hostname; @@ -436,47 +437,47 @@ pthread_attr_t pattr; #endif - boolean done=FALSE; + boolean done = FALSE; - int old_file=mainw->current_file,new_file; + int old_file = mainw->current_file, new_file; lives_widget_set_sensitive(mainw->open_lives2lives, FALSE); - lstream->handle=OpenHTMSocket(host,port,FALSE); - if (lstream->handle==NULL) { + lstream->handle = OpenHTMSocket(host, port, FALSE); + if (lstream->handle == NULL) { do_error_dialog(_("LiVES to LiVES stream error: Could not open port !\n")); lives_widget_set_sensitive(mainw->open_lives2lives, TRUE); return; } - d_print(_("Waiting for LiVES stream on port %d..."),port); + d_print(_("Waiting for LiVES stream on port %d..."), port); - mainw->cancelled=CANCEL_NONE; - do_threaded_dialog(_("\nWaiting for stream"),TRUE); + mainw->cancelled = CANCEL_NONE; + do_threaded_dialog(_("\nWaiting for stream"), TRUE); #ifdef USE_STRMBUF - buffering=TRUE; - lstream->reading=FALSE; + buffering = TRUE; + lstream->reading = FALSE; pthread_attr_init(&pattr); - if (pthread_attr_setstacksize(&pattr,STREAM_BUF_SIZE*4)) { + if (pthread_attr_setstacksize(&pattr, STREAM_BUF_SIZE * 4)) { do_error_dialog(_("LiVES to LiVES stream error: Could not set buffer size !\n")); lives_free(lstream); lives_widget_set_sensitive(mainw->open_lives2lives, TRUE); return; } - lstream->buffer=lives_malloc(STREAM_BUF_SIZE); - pthread_create(&stthread,&pattr,streambuf,(void *)lstream); + lstream->buffer = lives_malloc(STREAM_BUF_SIZE); + pthread_create(&stthread, &pattr, streambuf, (void *)lstream); pthread_attr_destroy(&pattr); #endif - pcksize=l2l_rcv_packet(lstream, L2L_PACKET_LEN, pckbuf); - pckoffs=0; + pcksize = l2l_rcv_packet(lstream, L2L_PACKET_LEN, pckbuf); + pckoffs = 0; if (mainw->cancelled) { end_threaded_dialog(); #ifdef USE_STRMBUF - buffering=FALSE; - pthread_join(stthread,NULL); + buffering = FALSE; + pthread_join(stthread, NULL); #endif CloseHTMSocket(lstream->handle); #ifdef USE_STRMBUF @@ -495,8 +496,8 @@ if (mainw->cancelled) { end_threaded_dialog(); #ifdef USE_STRMBUF - buffering=FALSE; - pthread_join(stthread,NULL); + buffering = FALSE; + pthread_join(stthread, NULL); #endif CloseHTMSocket(lstream->handle); #ifdef USE_STRMBUF @@ -508,12 +509,12 @@ return; } // get packet header - hdr=l2l_get_packet_header(lstream); + hdr = l2l_get_packet_header(lstream); if (mainw->cancelled) { end_threaded_dialog(); #ifdef USE_STRMBUF - buffering=FALSE; - pthread_join(stthread,NULL); + buffering = FALSE; + pthread_join(stthread, NULL); #endif CloseHTMSocket(lstream->handle); #ifdef USE_STRMBUF @@ -524,22 +525,22 @@ lives_widget_set_sensitive(mainw->open_lives2lives, TRUE); return; } - } while (hdr==NULL); + } while (hdr == NULL); // parse packet header - done=l2l_parse_packet_header(lstream,LIVES_STREAM_TYPE_VIDEO,0); - if (lstream->flags&LIVES_VSTREAM_FLAGS_IS_CONTINUATION) done=FALSE; + done = l2l_parse_packet_header(lstream, LIVES_STREAM_TYPE_VIDEO, 0); + if (lstream->flags & LIVES_VSTREAM_FLAGS_IS_CONTINUATION) done = FALSE; if (!done) { // wrong packet type or id, or a continuation packet - uint8_t *tmpbuf=(uint8_t *)lives_malloc(lstream->dsize); - lives_stream_in_chunks(lstream,lstream->dsize,tmpbuf,lstream->dsize*4); + uint8_t *tmpbuf = (uint8_t *)lives_malloc(lstream->dsize); + lives_stream_in_chunks(lstream, lstream->dsize, tmpbuf, lstream->dsize * 4); // throw this packet away lives_printerr("unrecognised packet in stream - dropping it.\n"); lives_free(tmpbuf); if (mainw->cancelled) { end_threaded_dialog(); #ifdef USE_STRMBUF - buffering=FALSE; - pthread_join(stthread,NULL); + buffering = FALSE; + pthread_join(stthread, NULL); #endif CloseHTMSocket(lstream->handle); #ifdef USE_STRMBUF @@ -556,14 +557,14 @@ end_threaded_dialog(); - if (mainw->fixed_fpsd<=0.) fps_can_change=TRUE; - else fps_can_change=FALSE; + if (mainw->fixed_fpsd <= 0.) fps_can_change = TRUE; + else fps_can_change = FALSE; - if (mainw->fixed_fpsd>0.&&(cfile->fps!=mainw->fixed_fpsd)) { + if (mainw->fixed_fpsd > 0. && (cfile->fps != mainw->fixed_fpsd)) { do_error_dialog(_("\n\nUnable to open stream, framerate does not match fixed rate.\n")); #ifdef USE_STRMBUF - buffering=FALSE; - pthread_join(stthread,NULL); + buffering = FALSE; + pthread_join(stthread, NULL); #endif CloseHTMSocket(lstream->handle); #ifdef USE_STRMBUF @@ -578,12 +579,12 @@ // now we should have lstream details // - new_file=mainw->first_free_file; - if (!get_new_handle(new_file,"LiVES to LiVES stream")) { - mainw->error=TRUE; + new_file = mainw->first_free_file; + if (!get_new_handle(new_file, "LiVES to LiVES stream")) { + mainw->error = TRUE; #ifdef USE_STRMBUF - buffering=FALSE; - pthread_join(stthread,NULL); + buffering = FALSE; + pthread_join(stthread, NULL); #endif CloseHTMSocket(lstream->handle); #ifdef USE_STRMBUF @@ -595,81 +596,82 @@ return; } - mainw->current_file=new_file; - cfile->clip_type=CLIP_TYPE_LIVES2LIVES; + mainw->current_file = new_file; + cfile->clip_type = CLIP_TYPE_LIVES2LIVES; - cfile->fps=lstream->fps; - cfile->hsize=lstream->hsize; - cfile->vsize=lstream->vsize; + cfile->fps = lstream->fps; + cfile->hsize = lstream->hsize; + cfile->vsize = lstream->vsize; - cfile->ext_src=lstream; + cfile->ext_src = lstream; - switch_to_file((mainw->current_file=old_file),new_file); - set_main_title(cfile->file_name,0); + switch_to_file((mainw->current_file = old_file), new_file); + set_main_title(cfile->file_name, 0); add_to_clipmenu(); - cfile->achans=0; - cfile->asampsize=0; + cfile->achans = 0; + cfile->asampsize = 0; // open as a clip with 1 frame - cfile->start=cfile->end=cfile->frames=1; - cfile->arps=cfile->arate=0; - mainw->fixed_fpsd=cfile->pb_fps=cfile->fps; + cfile->start = cfile->end = cfile->frames = 1; + cfile->arps = cfile->arate = 0; + mainw->fixed_fpsd = cfile->pb_fps = cfile->fps; - cfile->opening=FALSE; - cfile->proc_ptr=NULL; + cfile->opening = FALSE; + cfile->proc_ptr = NULL; - cfile->changed=FALSE; + cfile->changed = FALSE; // allow clip switching - cfile->is_loaded=TRUE; + cfile->is_loaded = TRUE; d_print("\n"); - lives_snprintf(cfile->type,40,"LiVES to LiVES stream in"); + lives_snprintf(cfile->type, 40, "LiVES to LiVES stream in"); - if (!strcmp(host,"INADDR_ANY")) hostname=lives_strdup(_("any host")); - else hostname=lives_strdup(_("host %d")); + if (!strcmp(host, "INADDR_ANY")) hostname = lives_strdup(_("any host")); + else hostname = lives_strdup(_("host %d")); - d_print(_("Opened LiVES to LiVES stream from %s on port %d"),hostname,port); + d_print(_("Opened LiVES to LiVES stream from %s on port %d"), hostname, port); lives_free(hostname); - d_print(_(" size=%dx%d bpp=%d fps=%.3f\nAudio: "),cfile->hsize,cfile->vsize,cfile->bpp,cfile->fps); + d_print(_(" size=%dx%d bpp=%d fps=%.3f\nAudio: "), cfile->hsize, cfile->vsize, cfile->bpp, cfile->fps); - if (cfile->achans==0) { + if (cfile->achans == 0) { d_print(_("none\n")); } else { - d_print(P_("%d Hz %d channel %d bps\n","%d Hz %d channels %d bps\n",cfile->achans),cfile->arate,cfile->achans,cfile->asampsize); + d_print(P_("%d Hz %d channel %d bps\n", "%d Hz %d channels %d bps\n", cfile->achans), cfile->arate, cfile->achans, cfile->asampsize); } - d_print(_("Syncing to external framerate of %s frames per second.\n"),(tmp=remove_trailing_zeroes(mainw->fixed_fpsd))); + d_print(_("Syncing to external framerate of %s frames per second.\n"), (tmp = remove_trailing_zeroes(mainw->fixed_fpsd))); lives_free(tmp); - has_last_delta_ticks=FALSE; + has_last_delta_ticks = FALSE; // if not playing, start playing - if (mainw->playing_file==-1) { - mainw->play_start=1; - mainw->play_end=INT_MAX; + if (mainw->playing_file == -1) { + mainw->play_start = 1; + mainw->play_end = INT_MAX; play_file(); - mainw->noswitch=FALSE; + mainw->noswitch = FALSE; } // TODO - else... - if (mainw->current_file!=old_file&&mainw->current_file!=new_file) old_file=mainw->current_file; // we could have rendered to a new file + if (mainw->current_file != old_file && + mainw->current_file != new_file) old_file = mainw->current_file; // we could have rendered to a new file - mainw->fixed_fpsd=-1.; + mainw->fixed_fpsd = -1.; d_print(_("Sync lock off.\n")); - mainw->current_file=new_file; + mainw->current_file = new_file; #ifdef USE_STRMBUF - buffering=FALSE; - pthread_join(stthread,NULL); + buffering = FALSE; + pthread_join(stthread, NULL); #endif CloseHTMSocket(lstream->handle); #ifdef USE_STRMBUF lives_free(lstream->buffer); #endif lives_free(cfile->ext_src); - cfile->ext_src=NULL; + cfile->ext_src = NULL; close_current_file(old_file); lives_widget_set_sensitive(mainw->open_lives2lives, TRUE); @@ -678,25 +680,25 @@ void weed_layer_set_from_lives2lives(weed_plant_t *layer, int clip, lives_vstream_t *lstream) { - static int64_t last_delta_ticks=0; + static int64_t last_delta_ticks = 0; int64_t currticks; void **pixel_data; - size_t framedataread=0; + size_t framedataread = 0; size_t target_size; - boolean timeout=FALSE; // TODO + boolean timeout = FALSE; // TODO boolean done; - int myflags=0; + int myflags = 0; int error; - int width=0; - int height=0; + int width = 0; + int height = 0; while (!timeout) { // loop until we read all frame data, or we get a new frame - done=FALSE; + done = FALSE; if (!lstream->data_ready) { while (!done) { // get video stream 0 PACKET @@ -704,49 +706,49 @@ l2l_get_packet_sync(lstream); if (mainw->cancelled) return; // get packet header - hdr=l2l_get_packet_header(lstream); + hdr = l2l_get_packet_header(lstream); if (mainw->cancelled) return; - } while (hdr==NULL&&mainw->cancelled==CANCEL_NONE); + } while (hdr == NULL && mainw->cancelled == CANCEL_NONE); if (mainw->cancelled) { lives_free(hdr); - hdr=NULL; + hdr = NULL; return; } // parse packet header - done=l2l_parse_packet_header(lstream,LIVES_STREAM_TYPE_VIDEO,0); - if (!(myflags&LIVES_VSTREAM_FLAGS_IS_CONTINUATION)&&(lstream->flags&LIVES_VSTREAM_FLAGS_IS_CONTINUATION)) done=FALSE; - if ((myflags&LIVES_VSTREAM_FLAGS_IS_CONTINUATION)&&!(lstream->flags&LIVES_VSTREAM_FLAGS_IS_CONTINUATION)) { + done = l2l_parse_packet_header(lstream, LIVES_STREAM_TYPE_VIDEO, 0); + if (!(myflags & LIVES_VSTREAM_FLAGS_IS_CONTINUATION) && (lstream->flags & LIVES_VSTREAM_FLAGS_IS_CONTINUATION)) done = FALSE; + if ((myflags & LIVES_VSTREAM_FLAGS_IS_CONTINUATION) && !(lstream->flags & LIVES_VSTREAM_FLAGS_IS_CONTINUATION)) { // we missed some continuation packets, just return what we have - lstream->data_ready=TRUE; + lstream->data_ready = TRUE; lives_free(hdr); - hdr=NULL; + hdr = NULL; return; } if (!done) { // wrong packet type or id, or a continuation of previous frame - uint8_t *tmpbuf=(uint8_t *)lives_malloc(lstream->dsize); - lives_stream_in_chunks(lstream,lstream->dsize,tmpbuf,lstream->dsize*4); + uint8_t *tmpbuf = (uint8_t *)lives_malloc(lstream->dsize); + lives_stream_in_chunks(lstream, lstream->dsize, tmpbuf, lstream->dsize * 4); // throw this packet away lives_printerr("unrecognised packet in stream - dropping it.\n"); lives_free(tmpbuf); if (mainw->cancelled) { lives_free(hdr); - hdr=NULL; + hdr = NULL; return; } } lives_free(hdr); - hdr=NULL; + hdr = NULL; - if (lstream->fps!=mainw->fixed_fpsd&&fps_can_change) { + if (lstream->fps != mainw->fixed_fpsd && fps_can_change) { char *tmp; d_print(_("Detected new framerate for stream:\n")); - mainw->files[clip]->fps=mainw->fixed_fpsd=lstream->fps; - d_print(_("Syncing to external framerate of %s frames per second.\n"),(tmp=remove_trailing_zeroes(mainw->fixed_fpsd))); + mainw->files[clip]->fps = mainw->fixed_fpsd = lstream->fps; + d_print(_("Syncing to external framerate of %s frames per second.\n"), (tmp = remove_trailing_zeroes(mainw->fixed_fpsd))); lives_free(tmp); - has_last_delta_ticks=FALSE; - if (clip==mainw->current_file) set_main_title(cfile->file_name,0); + has_last_delta_ticks = FALSE; + if (clip == mainw->current_file) set_main_title(cfile->file_name, 0); } #define DROP_AGING_FRAMES @@ -755,91 +757,91 @@ // where frames were being generated and streamed and then received // - needs testing in other situations #ifdef USE_MONOTONIC_TIME - currticks=(lives_get_monotonic_time()-mainw->origusecs)*U_SEC_RATIO; + currticks = (lives_get_monotonic_time() - mainw->origusecs) * U_SEC_RATIO; #else gettimeofday(&tv, NULL); - currticks=U_SECL*(tv.tv_sec-mainw->origsecs)+tv.tv_usec*U_SEC_RATIO-mainw->origusecs*U_SEC_RATIO; + currticks = U_SECL * (tv.tv_sec - mainw->origsecs) + tv.tv_usec * U_SEC_RATIO - mainw->origusecs * U_SEC_RATIO; #endif - if (mainw->record&&!mainw->record_paused) { - if (has_last_delta_ticks&&(abs64(currticks-lstream->timecode))<last_delta_ticks) { + if (mainw->record && !mainw->record_paused) { + if (has_last_delta_ticks && (abs64(currticks - lstream->timecode)) < last_delta_ticks) { // drop this frame - uint8_t *tmpbuf=(uint8_t *)lives_malloc(lstream->dsize); - lives_stream_in_chunks(lstream,lstream->dsize,tmpbuf,lstream->dsize*4); + uint8_t *tmpbuf = (uint8_t *)lives_malloc(lstream->dsize); + lives_stream_in_chunks(lstream, lstream->dsize, tmpbuf, lstream->dsize * 4); // throw this packet away #ifdef DEBUG_STREAM_AGING lives_printerr("packet too early (!) - dropping it.\n"); #endif lives_free(tmpbuf); - done=FALSE; + done = FALSE; if (mainw->cancelled) { lives_free(hdr); - hdr=NULL; + hdr = NULL; return; } } } - last_delta_ticks=((int64_t)(last_delta_ticks>>1)+(int64_t)((abs64(currticks-lstream->timecode))>>1)); + last_delta_ticks = ((int64_t)(last_delta_ticks >> 1) + (int64_t)((abs64(currticks - lstream->timecode)) >> 1)); #endif } } if (!has_last_delta_ticks) { - last_delta_ticks=abs64(mainw->currticks-lstream->timecode); + last_delta_ticks = abs64(mainw->currticks - lstream->timecode); } - has_last_delta_ticks=TRUE; + has_last_delta_ticks = TRUE; - lstream->data_ready=FALSE; + lstream->data_ready = FALSE; - width=mainw->files[clip]->hsize; - height=mainw->files[clip]->vsize; + width = mainw->files[clip]->hsize; + height = mainw->files[clip]->vsize; - if (lstream->hsize!=width||lstream->vsize!=height) { + if (lstream->hsize != width || lstream->vsize != height) { // frame size changed... - d_print(_("Detected frame size change to %d x %d\n"),lstream->hsize,lstream->vsize); + d_print(_("Detected frame size change to %d x %d\n"), lstream->hsize, lstream->vsize); - mainw->files[clip]->hsize=lstream->hsize; - mainw->files[clip]->vsize=lstream->vsize; + mainw->files[clip]->hsize = lstream->hsize; + mainw->files[clip]->vsize = lstream->vsize; - if (clip==mainw->current_file) { - set_main_title(cfile->file_name,0); + if (clip == mainw->current_file) { + set_main_title(cfile->file_name, 0); } frame_size_update(); } - width=height=0; + width = height = 0; - if (weed_plant_has_leaf(layer,WEED_LEAF_HEIGHT)) height=weed_get_int_value(layer,WEED_LEAF_HEIGHT,&error); - if (weed_plant_has_leaf(layer,WEED_LEAF_WIDTH)) width=weed_get_int_value(layer,WEED_LEAF_WIDTH,&error); + if (weed_plant_has_leaf(layer, WEED_LEAF_HEIGHT)) height = weed_get_int_value(layer, WEED_LEAF_HEIGHT, &error); + if (weed_plant_has_leaf(layer, WEED_LEAF_WIDTH)) width = weed_get_int_value(layer, WEED_LEAF_WIDTH, &error); - if (lstream->hsize!=width||lstream->vsize!=height) { + if (lstream->hsize != width || lstream->vsize != height) { weed_layer_pixel_data_free(layer); } - if (!weed_plant_has_leaf(layer,WEED_LEAF_PIXEL_DATA)||weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error)==NULL) { - weed_set_int_value(layer,WEED_LEAF_WIDTH,lstream->hsize); - weed_set_int_value(layer,WEED_LEAF_HEIGHT,lstream->vsize); - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,lstream->palette); - weed_set_int_value(layer,WEED_LEAF_YUV_CLAMPING,lstream->YUV_clamping); - create_empty_pixel_data(layer,FALSE,TRUE); + if (!weed_plant_has_leaf(layer, WEED_LEAF_PIXEL_DATA) || weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error) == NULL) { + weed_set_int_value(layer, WEED_LEAF_WIDTH, lstream->hsize); + weed_set_int_value(layer, WEED_LEAF_HEIGHT, lstream->vsize); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, lstream->palette); + weed_set_int_value(layer, WEED_LEAF_YUV_CLAMPING, lstream->YUV_clamping); + create_empty_pixel_data(layer, FALSE, TRUE); } - pixel_data=weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); + pixel_data = weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); switch (lstream->palette) { case WEED_PALETTE_RGB24: - target_size=lstream->hsize*lstream->vsize*3-framedataread; + target_size = lstream->hsize * lstream->vsize * 3 - framedataread; #ifdef USE_STRMBUF - if (target_size>lstream->dsize) target_size=lstream->dsize; - lives_stream_in_chunks(lstream,target_size,(uint8_t *)pixel_data[0]+framedataread,0); - lstream->dsize-=target_size; - framedataread+=target_size; + if (target_size > lstream->dsize) target_size = lstream->dsize; + lives_stream_in_chunks(lstream, target_size, (uint8_t *)pixel_data[0] + framedataread, 0); + lstream->dsize -= target_size; + framedataread += target_size; #else - if (target_size>=lstream->dsize) { - if (!lives_stream_in_chunks(lstream,target_size,(uint8_t *)pixel_data[0]+framedataread,lstream->dsize*12)) { - do_rmem_max_error(lstream->dsize*12); - mainw->cancelled=CANCEL_ERROR; + if (target_size >= lstream->dsize) { + if (!lives_stream_in_chunks(lstream, target_size, (uint8_t *)pixel_data[0] + framedataread, lstream->dsize * 12)) { + do_rmem_max_error(lstream->dsize * 12); + mainw->cancelled = CANCEL_ERROR; } if (mainw->cancelled) { lives_free(pixel_data); @@ -848,27 +850,27 @@ } #endif lives_free(pixel_data); - if (framedataread>=lstream->hsize*lstream->vsize*3) { + if (framedataread >= lstream->hsize * lstream->vsize * 3) { return; } - myflags|=LIVES_VSTREAM_FLAGS_IS_CONTINUATION; + myflags |= LIVES_VSTREAM_FLAGS_IS_CONTINUATION; break; case WEED_PALETTE_YUV420P: // assume uncompressed, - TODO - if (framedataread<lstream->hsize*lstream->vsize) { - target_size=lstream->hsize*lstream->vsize-framedataread; + if (framedataread < lstream->hsize * lstream->vsize) { + target_size = lstream->hsize * lstream->vsize - framedataread; #ifdef USE_STRMBUF - if (target_size>lstream->dsize) target_size=lstream->dsize; - lives_stream_in_chunks(lstream,target_size,(uint8_t *)pixel_data[0]+framedataread,0); - lstream->dsize-=target_size; - framedataread+=target_size; + if (target_size > lstream->dsize) target_size = lstream->dsize; + lives_stream_in_chunks(lstream, target_size, (uint8_t *)pixel_data[0] + framedataread, 0); + lstream->dsize -= target_size; + framedataread += target_size; #else - if (target_size>=lstream->dsize) { + if (target_size >= lstream->dsize) { // packet contains data for single plane - if (!lives_stream_in_chunks(lstream,lstream->dsize,(uint8_t *)pixel_data[0]+framedataread,lstream->dsize*9)) { - do_rmem_max_error(lstream->dsize*9); - mainw->cancelled=CANCEL_ERROR; + if (!lives_stream_in_chunks(lstream, lstream->dsize, (uint8_t *)pixel_data[0] + framedataread, lstream->dsize * 9)) { + do_rmem_max_error(lstream->dsize * 9); + mainw->cancelled = CANCEL_ERROR; } if (mainw->cancelled) { lives_free(pixel_data); @@ -876,110 +878,110 @@ } } else { // this packet contains data for multiple planes - uint8_t *fbuffer=(uint8_t *)lives_malloc(lstream->dsize); - size_t fbufoffs=0; - size_t dsize=lstream->dsize; + uint8_t *fbuffer = (uint8_t *)lives_malloc(lstream->dsize); + size_t fbufoffs = 0; + size_t dsize = lstream->dsize; - if (!lives_stream_in_chunks(lstream,lstream->dsize,fbuffer,lstream->dsize*8)) { - do_rmem_max_error(lstream->dsize*8); - mainw->cancelled=CANCEL_ERROR; + if (!lives_stream_in_chunks(lstream, lstream->dsize, fbuffer, lstream->dsize * 8)) { + do_rmem_max_error(lstream->dsize * 8); + mainw->cancelled = CANCEL_ERROR; } if (mainw->cancelled) { lives_free(pixel_data); lives_free(fbuffer); return; } - lives_memcpy((uint8_t *)pixel_data[0]+framedataread,fbuffer,target_size); - dsize-=target_size; - fbufoffs+=target_size; + lives_memcpy((uint8_t *)pixel_data[0] + framedataread, fbuffer, target_size); + dsize -= target_size; + fbufoffs += target_size; - target_size=(lstream->hsize*lstream->vsize)>>2; - if (target_size>dsize) target_size=dsize; + target_size = (lstream->hsize * lstream->vsize) >> 2; + if (target_size > dsize) target_size = dsize; - if (target_size>0) lives_memcpy((uint8_t *)pixel_data[1],fbuffer+fbufoffs,target_size); + if (target_size > 0) lives_memcpy((uint8_t *)pixel_data[1], fbuffer + fbufoffs, target_size); - dsize-=target_size; - fbufoffs+=target_size; + dsize -= target_size; + fbufoffs += target_size; - target_size=(lstream->hsize*lstream->vsize)>>2; - if (target_size>dsize) target_size=dsize; + target_size = (lstream->hsize * lstream->vsize) >> 2; + if (target_size > dsize) target_size = dsize; - if (target_size>0) lives_memcpy((uint8_t *)pixel_data[2],fbuffer+fbufoffs,target_size); + if (target_size > 0) lives_memcpy((uint8_t *)pixel_data[2], fbuffer + fbufoffs, target_size); lives_free(fbuffer); } #endif } #ifdef USE_STRMBUF - if (framedataread<(lstream->hsize*lstream->vsize*5)>>2) { - target_size=((lstream->hsize*lstream->vsize*5)>>2)-framedataread; - if (target_size>lstream->dsize) target_size=lstream->dsize; - lives_stream_in_chunks(lstream,target_size,(uint8_t *)pixel_data[1]+framedataread-lstream->hsize*lstream->vsize,0); - lstream->dsize-=target_size; - framedataread+=target_size; + if (framedataread < (lstream->hsize * lstream->vsize * 5) >> 2) { + target_size = ((lstream->hsize * lstream->vsize * 5) >> 2) - framedataread; + if (target_size > lstream->dsize) target_size = lstream->dsize; + lives_stream_in_chunks(lstream, target_size, (uint8_t *)pixel_data[1] + framedataread - lstream->hsize * lstream->vsize, 0); + lstream->dsize -= target_size; + framedataread += target_size; #else - else if (framedataread<(lstream->hsize*lstream->vsize*5)>>2) { - target_size=((lstream->hsize*lstream->vsize*5)>>2)-framedataread; - if (target_size>=lstream->dsize) { - lives_stream_in_chunks(lstream,lstream->dsize, - ((uint8_t *)pixel_data[1]+framedataread-lstream->hsize*lstream->vsize),0); + else if (framedataread < (lstream->hsize * lstream->vsize * 5) >> 2) { + target_size = ((lstream->hsize * lstream->vsize * 5) >> 2) - framedataread; + if (target_size >= lstream->dsize) { + lives_stream_in_chunks(lstream, lstream->dsize, + ((uint8_t *)pixel_data[1] + framedataread - lstream->hsize * lstream->vsize), 0); if (mainw->cancelled) { lives_free(pixel_data); return; } } else { // this packet contains data for multiple planes - uint8_t *fbuffer=(uint8_t *)lives_malloc(lstream->dsize); - size_t fbufoffs=0; - size_t dsize=lstream->dsize; + uint8_t *fbuffer = (uint8_t *)lives_malloc(lstream->dsize); + size_t fbufoffs = 0; + size_t dsize = lstream->dsize; - lives_stream_in_chunks(lstream,lstream->dsize,fbuffer,0); + lives_stream_in_chunks(lstream, lstream->dsize, fbuffer, 0); if (mainw->cancelled) { lives_free(pixel_data); lives_free(fbuffer); return; } - lives_memcpy((uint8_t *)pixel_data[1]+framedataread-lstream->hsize*lstream->vsize,fbuffer,target_size); + lives_memcpy((uint8_t *)pixel_data[1] + framedataread - lstream->hsize * lstream->vsize, fbuffer, target_size); - dsize-=target_size; - fbufoffs+=target_size; + dsize -= target_size; + fbufoffs += target_size; - target_size=(lstream->hsize*lstream->vsize)>>2; - if (target_size>dsize) target_size=dsize; + target_size = (lstream->hsize * lstream->vsize) >> 2; + if (target_size > dsize) target_size = dsize; - if (target_size>0) lives_memcpy((uint8_t *)pixel_data[2],fbuffer+fbufoffs,target_size); + if (target_size > 0) lives_memcpy((uint8_t *)pixel_data[2], fbuffer + fbufoffs, target_size); lives_free(fbuffer); } #endif } #ifdef USE_STRMBUF - if (framedataread<(lstream->hsize*lstream->vsize*6)>>2) { - target_size=((lstream->hsize*lstream->vsize)>>2)-framedataread+((lstream->hsize*lstream->vsize*5)>>2); - if (target_size>lstream->dsize) target_size=lstream->dsize; - lives_stream_in_chunks(lstream,target_size,(uint8_t *)pixel_data[2]+framedataread- - ((lstream->hsize*lstream->vsize*5)>>2),0); - lstream->dsize-=target_size; - framedataread+=target_size; + if (framedataread < (lstream->hsize * lstream->vsize * 6) >> 2) { + target_size = ((lstream->hsize * lstream->vsize) >> 2) - framedataread + ((lstream->hsize * lstream->vsize * 5) >> 2); + if (target_size > lstream->dsize) target_size = lstream->dsize; + lives_stream_in_chunks(lstream, target_size, (uint8_t *)pixel_data[2] + framedataread - + ((lstream->hsize * lstream->vsize * 5) >> 2), 0); + lstream->dsize -= target_size; + framedataread += target_size; } #else else { - target_size=((lstream->hsize*lstream->vsize*3)>>1)-framedataread; - if (target_size>=lstream->dsize) target_size=lstream->dsize; - lives_stream_in_chunks(lstream,target_size, - ((uint8_t *)pixel_data[2]+framedataread-((lstream->hsize*lstream->vsize*5)>>2)),0); + target_size = ((lstream->hsize * lstream->vsize * 3) >> 1) - framedataread; + if (target_size >= lstream->dsize) target_size = lstream->dsize; + lives_stream_in_chunks(lstream, target_size, + ((uint8_t *)pixel_data[2] + framedataread - ((lstream->hsize * lstream->vsize * 5) >> 2)), 0); if (mainw->cancelled) { lives_free(pixel_data); return; } } - framedataread+=lstream->dsize; + framedataread += lstream->dsize; #endif lives_free(pixel_data); - if (framedataread>=(lstream->hsize*lstream->vsize*3)>>1) { + if (framedataread >= (lstream->hsize * lstream->vsize * 3) >> 1) { return; } - myflags|=LIVES_VSTREAM_FLAGS_IS_CONTINUATION; + myflags |= LIVES_VSTREAM_FLAGS_IS_CONTINUATION; break; } } @@ -996,33 +998,33 @@ void on_send_lives2lives_activate(LiVESMenuItem *menuitem, livespointer user_data) { _vppaw *vppa; - char *orig_name=lives_strdup(mainw->string_constants[LIVES_STRING_CONSTANT_NONE]); + char *orig_name = lives_strdup(mainw->string_constants[LIVES_STRING_CONSTANT_NONE]); char *tmp; int resp; - if (mainw->vpp!=NULL) { + if (mainw->vpp != NULL) { lives_free(orig_name); - orig_name=lives_strdup(mainw->vpp->name); + orig_name = lives_strdup(mainw->vpp->name); } - if (mainw->vpp==NULL||strcmp(mainw->vpp->name,"lives2lives_stream")) { - lives_snprintf(future_prefs->vpp_name,64,"lives2lives_stream"); + if (mainw->vpp == NULL || strcmp(mainw->vpp->name, "lives2lives_stream")) { + lives_snprintf(future_prefs->vpp_name, 64, "lives2lives_stream"); } - vppa=on_vpp_advanced_clicked(NULL,NULL); - resp=lives_dialog_run(LIVES_DIALOG(vppa->dialog)); + vppa = on_vpp_advanced_clicked(NULL, NULL); + resp = lives_dialog_run(LIVES_DIALOG(vppa->dialog)); - if (resp==LIVES_RESPONSE_CANCEL) { + if (resp == LIVES_RESPONSE_CANCEL) { lives_free(orig_name); return; } set_vpp(FALSE); - if (strcmp(orig_name,"lives2lives_stream")) { - do_info_dialog((tmp=lives_strdup_printf( - _("\nLiVES will stream whenever it is in full screen/separate window mode.\nTo reset this behaviour, go to Tools/Preferences/Playback,\nand set the playback plugin back to %s\n"), - orig_name))); + if (strcmp(orig_name, "lives2lives_stream")) { + do_info_dialog((tmp = lives_strdup_printf( + _("\nLiVES will stream whenever it is in full screen/separate window mode.\nTo reset this behaviour, go to Tools/Preferences/Playback,\nand set the playback plugin back to %s\n"), + orig_name))); lives_free(tmp); } lives_free(orig_name); @@ -1033,20 +1035,20 @@ void on_open_lives2lives_activate(LiVESMenuItem *menuitem, livespointer user_data) { - lives_pandh_w *pandh=create_pandh_dialog(0); + lives_pandh_w *pandh = create_pandh_dialog(0); - char *host=NULL; + char *host = NULL; - int port=0; - int response=lives_dialog_run(LIVES_DIALOG(pandh->dialog)); + int port = 0; + int response = lives_dialog_run(LIVES_DIALOG(pandh->dialog)); - if (response==LIVES_RESPONSE_OK) { + if (response == LIVES_RESPONSE_OK) { if (!lives_toggle_button_get_active(LIVES_TOGGLE_BUTTON(pandh->rb_anyhost))) { - host=lives_strdup_printf("%s.%s.%s.%s",lives_entry_get_text(LIVES_ENTRY(pandh->entry1)), - lives_entry_get_text(LIVES_ENTRY(pandh->entry2)), - lives_entry_get_text(LIVES_ENTRY(pandh->entry3)),lives_entry_get_text(LIVES_ENTRY(pandh->entry4))); - } else host=lives_strdup("INADDR_ANY"); - port=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(pandh->port_spin)); + host = lives_strdup_printf("%s.%s.%s.%s", lives_entry_get_text(LIVES_ENTRY(pandh->entry1)), + lives_entry_get_text(LIVES_ENTRY(pandh->entry2)), + lives_entry_get_text(LIVES_ENTRY(pandh->entry3)), lives_entry_get_text(LIVES_ENTRY(pandh->entry4))); + } else host = lives_strdup("INADDR_ANY"); + port = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(pandh->port_spin)); } lives_widget_destroy(pandh->dialog); @@ -1054,9 +1056,9 @@ lives_widget_context_update(); - if (host!=NULL) { + if (host != NULL) { // start receiving - lives2lives_read_stream(host,port); + lives2lives_read_stream(host, port); lives_free(host); } } @@ -1066,18 +1068,18 @@ static void pandhw_anyhost_toggled(LiVESToggleButton *tbut, livespointer user_data) { - lives_pandh_w *pandhw=(lives_pandh_w *)user_data; + lives_pandh_w *pandhw = (lives_pandh_w *)user_data; if (lives_toggle_button_get_active(tbut)) { - lives_widget_set_sensitive(pandhw->entry1,FALSE); - lives_widget_set_sensitive(pandhw->entry2,FALSE); - lives_widget_set_sensitive(pandhw->entry3,FALSE); - lives_widget_set_sensitive(pandhw->entry4,FALSE); + lives_widget_set_sensitive(pandhw->entry1, FALSE); + lives_widget_set_sensitive(pandhw->entry2, FALSE); + lives_widget_set_sensitive(pandhw->entry3, FALSE); + lives_widget_set_sensitive(pandhw->entry4, FALSE); } else { - lives_widget_set_sensitive(pandhw->entry1,TRUE); - lives_widget_set_sensitive(pandhw->entry2,TRUE); - lives_widget_set_sensitive(pandhw->entry3,TRUE); - lives_widget_set_sensitive(pandhw->entry4,TRUE); + lives_widget_set_sensitive(pandhw->entry1, TRUE); + lives_widget_set_sensitive(pandhw->entry2, TRUE); + lives_widget_set_sensitive(pandhw->entry3, TRUE); + lives_widget_set_sensitive(pandhw->entry4, TRUE); } } @@ -1092,36 +1094,36 @@ LiVESSList *radiobutton_group = NULL; - lives_pandh_w *pandhw=(lives_pandh_w *)(lives_malloc(sizeof(lives_pandh_w))); + lives_pandh_w *pandhw = (lives_pandh_w *)(lives_malloc(sizeof(lives_pandh_w))); - char *tmp,*tmp2; + char *tmp, *tmp2; - pandhw->dialog = lives_standard_dialog_new(_("Receive LiVES Stream"),TRUE,-1,-1); + pandhw->dialog = lives_standard_dialog_new(_("Receive LiVES Stream"), TRUE, -1, -1); if (prefs->show_gui) { - lives_window_set_transient_for(LIVES_WINDOW(pandhw->dialog),LIVES_WINDOW(mainw->LiVES)); + lives_window_set_transient_for(LIVES_WINDOW(pandhw->dialog), LIVES_WINDOW(mainw->LiVES)); } dialog_vbox = lives_dialog_get_content_area(LIVES_DIALOG(pandhw->dialog)); - label=lives_standard_label_new(_("You can receive streams from another copy of LiVES.")); + label = lives_standard_label_new(_("You can receive streams from another copy of LiVES.")); lives_box_pack_start(LIVES_BOX(dialog_vbox), label, FALSE, FALSE, widget_opts.packing_height); - label=lives_standard_label_new( - _("In the source copy of LiVES, you must select Advanced/Send stream to LiVES\nor select the lives2lives_stream playback plugin in Preferences.")); + label = lives_standard_label_new( + _("In the source copy of LiVES, you must select Advanced/Send stream to LiVES\nor select the lives2lives_stream playback plugin in Preferences.")); lives_box_pack_start(LIVES_BOX(dialog_vbox), label, FALSE, FALSE, widget_opts.packing_height); add_hsep_to_box(LIVES_BOX(dialog_vbox)); - label=lives_standard_label_new(_("Select the host to receive the stream from (or allow any host to stream).")); + label = lives_standard_label_new(_("Select the host to receive the stream from (or allow any host to stream).")); lives_box_pack_start(LIVES_BOX(dialog_vbox), label, FALSE, FALSE, widget_opts.packing_height); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - pandhw->rb_anyhost = lives_standard_radio_button_new((tmp=lives_strdup(_("Accept LiVES streams from _any host"))) - ,TRUE,radiobutton_group,LIVES_BOX(hbox), - (tmp2=lives_strdup(_("Accept incoming LiVES streams from any connected host.")))); + pandhw->rb_anyhost = lives_standard_radio_button_new((tmp = lives_strdup(_("Accept LiVES streams from _any host"))) + , TRUE, radiobutton_group, LIVES_BOX(hbox), + (tmp2 = lives_strdup(_("Accept incoming LiVES streams from any connected host.")))); radiobutton_group = lives_radio_button_get_group(LIVES_RADIO_BUTTON(pandhw->rb_anyhost)); lives_free(tmp); @@ -1135,9 +1137,9 @@ lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - lives_standard_radio_button_new((tmp=lives_strdup(_("Accept LiVES streams only from the _specified host:"))) - ,TRUE,radiobutton_group,LIVES_BOX(hbox), - (tmp2=lives_strdup(_("Accept LiVES streams from the specified host only.")))); + lives_standard_radio_button_new((tmp = lives_strdup(_("Accept LiVES streams only from the _specified host:"))) + , TRUE, radiobutton_group, LIVES_BOX(hbox), + (tmp2 = lives_strdup(_("Accept LiVES streams from the specified host only.")))); lives_free(tmp); lives_free(tmp2); @@ -1148,23 +1150,23 @@ hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - pandhw->entry1 = lives_standard_entry_new("",FALSE,"127",3,3,LIVES_BOX(hbox),NULL); - pandhw->entry2 = lives_standard_entry_new(".",FALSE,"0",3,3,LIVES_BOX(hbox),NULL); - pandhw->entry3 = lives_standard_entry_new(".",FALSE,"0",3,3,LIVES_BOX(hbox),NULL); - pandhw->entry4 = lives_standard_entry_new(".",FALSE,"0",3,3,LIVES_BOX(hbox),NULL); + pandhw->entry1 = lives_standard_entry_new("", FALSE, "127", 3, 3, LIVES_BOX(hbox), NULL); + pandhw->entry2 = lives_standard_entry_new(".", FALSE, "0", 3, 3, LIVES_BOX(hbox), NULL); + pandhw->entry3 = lives_standard_entry_new(".", FALSE, "0", 3, 3, LIVES_BOX(hbox), NULL); + pandhw->entry4 = lives_standard_entry_new(".", FALSE, "0", 3, 3, LIVES_BOX(hbox), NULL); - lives_widget_set_sensitive(pandhw->entry1,FALSE); - lives_widget_set_sensitive(pandhw->entry2,FALSE); - lives_widget_set_sensitive(pandhw->entry3,FALSE); - lives_widget_set_sensitive(pandhw->entry4,FALSE); + lives_widget_set_sensitive(pandhw->entry1, FALSE); + lives_widget_set_sensitive(pandhw->entry2, FALSE); + lives_widget_set_sensitive(pandhw->entry3, FALSE); + lives_widget_set_sensitive(pandhw->entry4, FALSE); - label=lives_standard_label_new(_("Enter the port number to listen for LiVES streams on:")); + label = lives_standard_label_new(_("Enter the port number to listen for LiVES streams on:")); lives_box_pack_start(LIVES_BOX(dialog_vbox), label, FALSE, FALSE, widget_opts.packing_height); hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(dialog_vbox), hbox, FALSE, FALSE, widget_opts.packing_height); - pandhw->port_spin = lives_standard_spin_button_new(_("Port"),FALSE,48888.,1.,65535,1.,1.,0,LIVES_BOX(hbox),NULL); + pandhw->port_spin = lives_standard_spin_button_new(_("Port"), FALSE, 48888., 1., 65535, 1., 1., 0, LIVES_BOX(hbox), NULL); lives_widget_show_all(pandhw->dialog);
View file
LiVES-2.8.4.tar.bz2/src/support.c -> LiVES-2.8.6.tar.bz2/src/support.c
Changed
@@ -24,16 +24,16 @@ #ifdef ENABLE_NLS LIVES_INLINE char *translate(const char *String) { - if (trString!=NULL) lives_free(trString); // be very careful, as trString is free()d automatically here - if (strlen(String)) trString=lives_locale_to_utf8(dgettext(PACKAGE, String),-1,NULL,NULL,NULL); - else trString=lives_strdup(String); + if (trString != NULL) lives_free(trString); // be very careful, as trString is free()d automatically here + if (strlen(String)) trString = lives_locale_to_utf8(dgettext(PACKAGE, String), -1, NULL, NULL, NULL); + else trString = lives_strdup(String); return trString; } LIVES_INLINE char *translate_with_plural(const char *String, const char *StringPlural, unsigned long int n) { - if (trString!=NULL) lives_free(trString); // be very careful, as trString is free()d automatically here - if (strlen(String)) trString=lives_locale_to_utf8(dngettext(PACKAGE, String, StringPlural, n),-1,NULL,NULL,NULL); - else trString=lives_strdup(String); + if (trString != NULL) lives_free(trString); // be very careful, as trString is free()d automatically here + if (strlen(String)) trString = lives_locale_to_utf8(dngettext(PACKAGE, String, StringPlural, n), -1, NULL, NULL, NULL); + else trString = lives_strdup(String); return trString; }
View file
LiVES-2.8.4.tar.bz2/src/support.h -> LiVES-2.8.6.tar.bz2/src/support.h
Changed
@@ -12,7 +12,7 @@ #include <gtk/gtk.h> #define lives_strdup(a) g_strdup(a) #define lives_free(a) g_free(a) -#define lives_locale_to_utf8(a,b,c,d,e) g_locale_to_utf8(a,b,c,d,e) +#define lives_locale_to_utf8(a, b, c, d, e) g_locale_to_utf8(a, b, c, d, e) #endif /* @@ -27,22 +27,22 @@ # include <libintl.h> # undef _ # define _(String) (translate(String)) -# define P_(String,StringPlural,n) (translate_with_plural(String,StringPlural,n)) +# define P_(String, StringPlural, n) (translate_with_plural(String, StringPlural, n)) # ifdef gettext_noop -# define N_(String) gettext_noop (String) +# define N_(String) gettext_noop(String) # else # define N_(String) (String) # endif #else # define textdomain(String) (String) # define gettext(String) (String) -# define dgettext(Domain,Message) (Message) -# define dngettext(Domain,Message,MsgPlur,n) (Message) -# define dcgettext(Domain,Message,Type) (Message) -# define bindtextdomain(Domain,Directory) (Domain) +# define dgettext(Domain, Message) (Message) +# define dngettext(Domain, Message, MsgPlur, n) (Message) +# define dcgettext(Domain, Message, Type) (Message) +# define bindtextdomain(Domain, Directory) (Domain) # define _(String) (String) # define N_(String) (String) -# define P_(String,StringPlural,n) (String) +# define P_(String, StringPlural, n) (String) #endif #endif
View file
LiVES-2.8.4.tar.bz2/src/utils.c -> LiVES-2.8.6.tar.bz2/src/utils.c
Changed
@@ -1,6 +1,6 @@ // utils.c // LiVES -// (c) G. Finch 2003 - 2016 <salsaman@gmail.com> +// (c) G. Finch 2003 - 2017 <salsaman@gmail.com> // released under the GNU GPL 3 or later // see file ../COPYING or www.gnu.org for licensing details @@ -53,28 +53,28 @@ char *fdpath; char *fidi; char rfdpath[PATH_MAX]; - struct stat stb0,stb1; + struct stat stb0, stb1; ssize_t slen; - if (fstat(fd,&stb0)) return val; + if (fstat(fd, &stb0)) return val; - fidi=lives_strdup_printf("%d",fd); - fdpath=lives_build_filename("/proc","self","fd",fidi,NULL); + fidi = lives_strdup_printf("%d", fd); + fdpath = lives_build_filename("/proc", "self", "fd", fidi, NULL); lives_free(fidi); - if ((slen=lives_readlink(fdpath,rfdpath,PATH_MAX))==-1) return val; + if ((slen = lives_readlink(fdpath, rfdpath, PATH_MAX)) == -1) return val; lives_free(fdpath); - memset(rfdpath+slen,0,1); + memset(rfdpath + slen, 0, 1); - if (stat(rfdpath,&stb1)) return val; + if (stat(rfdpath, &stb1)) return val; - if (stb0.st_dev!=stb1.st_dev) return val; + if (stb0.st_dev != stb1.st_dev) return val; - if (stb0.st_ino!=stb1.st_ino) return val; + if (stb0.st_ino != stb1.st_ino) return val; - if (val!=NULL) lives_free(val); + if (val != NULL) lives_free(val); return lives_strdup(rfdpath); #else return lives_strdup("unknown"); @@ -85,8 +85,8 @@ static LIVES_INLINE void reverse_bytes(char *out, const char *in, size_t count) { register int i; - for (i=0; i<count; i++) { - out[i]=in[count-i-1]; + for (i = 0; i < count; i++) { + out[i] = in[count - i - 1]; } } @@ -105,7 +105,7 @@ LIVES_INLINE uint64_t lives_random(void) { #ifdef IS_MINGW - return (uint64_t)rand()*(uint64_t)fastrand(); + return (uint64_t)rand() * (uint64_t)fastrand(); #else return random(); #endif @@ -125,37 +125,37 @@ #ifdef IS_MINGW LIVES_INLINE int sidhash(char *strsid) { size_t slen; - int retval=0; + int retval = 0; register int i; - if (strsid==NULL) return 0; + if (strsid == NULL) return 0; - slen=strlen(strsid); + slen = strlen(strsid); - g_print("\n\nval is %d %c\n",slen,strsid[0]); + g_print("\n\nval is %d %c\n", slen, strsid[0]); - for (i=4; i<slen; i++) { - retval+=(uint8_t)strsid[i]; + for (i = 4; i < slen; i++) { + retval += (uint8_t)strsid[i]; } - g_print("\n\ngot token value %d\n",retval); + g_print("\n\ngot token value %d\n", retval); return retval; } #endif LIVES_INLINE int lives_open3(const char *pathname, int flags, mode_t mode) { - int fd=open(pathname,flags,mode); + int fd = open(pathname, flags, mode); #ifdef IS_MINGW - if (fd>=0) setmode(fd,O_BINARY); + if (fd >= 0) setmode(fd, O_BINARY); #endif return fd; } LIVES_INLINE int lives_open2(const char *pathname, int flags) { - int fd=open(pathname,flags); + int fd = open(pathname, flags); #ifdef IS_MINGW - if (fd>=0) setmode(fd,O_BINARY); + if (fd >= 0) setmode(fd, O_BINARY); #endif return fd; } @@ -166,11 +166,11 @@ HANDLE Thandle; DWORD DAmask, size; char *strsid; - int retval=0; + int retval = 0; DWORD dwIndex; PTOKEN_GROUPS ptg = NULL; - PSID psid=NULL; + PSID psid = NULL; DAmask = TOKEN_READ; @@ -213,10 +213,10 @@ } } - if (psid!=NULL) { - ConvertSidToStringSid(psid,&strsid); + if (psid != NULL) { + ConvertSidToStringSid(psid, &strsid); // string sid is eg: S-1-5-5-X-Y - retval=sidhash(strsid); + retval = sidhash(strsid); LocalFree(strsid); } @@ -247,12 +247,12 @@ LIVES_INLINE ssize_t lives_readlink(const char *path, char *buf, size_t bufsiz) { #ifdef IS_MINGW - ssize_t sz=strlen(path); - if (sz>bufsiz) sz=bufsiz; - memcpy(buf,path,sz); + ssize_t sz = strlen(path); + if (sz > bufsiz) sz = bufsiz; + memcpy(buf, path, sz); return sz; #else - return readlink(path,buf,bufsiz); + return readlink(path, buf, bufsiz); #endif } @@ -272,7 +272,7 @@ #ifndef IS_MINGW sync(); #else - lives_system("sync.exe",TRUE); + lives_system("sync.exe", TRUE); return; #endif } @@ -281,7 +281,7 @@ LIVES_INLINE boolean lives_setenv(const char *name, const char *value) { // ret TRUE on success #if IS_MINGW - return SetEnvironmentVariable(name,value); + return SetEnvironmentVariable(name, value); #else #if IS_IRIX int len = strlen(name) + strlen(value) + 2; @@ -294,7 +294,7 @@ } } #else - return !setenv(name,value,1); + return !setenv(name, value, 1); #endif #endif } @@ -303,43 +303,43 @@ int lives_system(const char *com, boolean allow_error) { int retval; - boolean cnorm=FALSE; + boolean cnorm = FALSE; //g_print("doing: %s\n",com); - if (mainw->is_ready&&!mainw->is_exiting&& - ((mainw->multitrack==NULL&&mainw->cursor_style==LIVES_CURSOR_NORMAL)|| - (mainw->multitrack!=NULL&&mainw->multitrack->cursor_style==LIVES_CURSOR_NORMAL))) { - cnorm=TRUE; - lives_set_cursor_style(LIVES_CURSOR_BUSY,NULL); + if (mainw->is_ready && !mainw->is_exiting && + ((mainw->multitrack == NULL && mainw->cursor_style == LIVES_CURSOR_NORMAL) || + (mainw->multitrack != NULL && mainw->multitrack->cursor_style == LIVES_CURSOR_NORMAL))) { + cnorm = TRUE; + lives_set_cursor_style(LIVES_CURSOR_BUSY, NULL); lives_widget_context_update(); } - retval=system(com); + retval = system(com); if (retval #ifdef IS_MINGW - &&retval!=9009 + && retval != 9009 #endif ) { - char *msg=NULL; - mainw->com_failed=TRUE; + char *msg = NULL; + mainw->com_failed = TRUE; if (!allow_error) { - msg=lives_strdup_printf("lives_system failed with code %d: %s",retval,com); + msg = lives_strdup_printf("lives_system failed with code %d: %s", retval, com); LIVES_ERROR(msg); - do_system_failed_error(com,retval,NULL); + do_system_failed_error(com, retval, NULL); } #ifndef LIVES_NO_DEBUG else { - msg=lives_strdup_printf("lives_system failed with code %d: %s (not an error)",retval,com); + msg = lives_strdup_printf("lives_system failed with code %d: %s (not an error)", retval, com); LIVES_DEBUG(msg); } #endif - if (msg!=NULL) lives_free(msg); + if (msg != NULL) lives_free(msg); } - if (cnorm) lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); + if (cnorm) lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); return retval; } @@ -357,19 +357,19 @@ #ifndef IS_MINGW pid_t ret; - if (!(ret=fork())) { + if (!(ret = fork())) { setsid(); // create new session id - setpgid(capable->mainpid,0); // create new pgid - lives_system(com,TRUE); + setpgid(capable->mainpid, 0); // create new pgid + lives_system(com, TRUE); _exit(0); } return ret; #else STARTUPINFO si; - PROCESS_INFORMATION *pi=malloc(sizeof(PROCESS_INFORMATION)); + PROCESS_INFORMATION *pi = malloc(sizeof(PROCESS_INFORMATION)); - CreateProcess(NULL,(char *)com,NULL,NULL,FALSE,CREATE_NEW_PROCESS_GROUP,NULL,NULL,&si,pi); + CreateProcess(NULL, (char *)com, NULL, NULL, FALSE, CREATE_NEW_PROCESS_GROUP, NULL, NULL, &si, pi); return pi; #endif } @@ -380,18 +380,18 @@ ssize_t lives_write(int fd, const void *buf, size_t count, boolean allow_fail) { ssize_t retval; - retval=write(fd, buf, count); + retval = write(fd, buf, count); - if (retval<count) { - char *msg=NULL; - mainw->write_failed=TRUE; - mainw->write_failed_file=filename_from_fd(mainw->write_failed_file,fd); - if (retval>=0) - msg=lives_strdup_printf("Write failed %"PRIu64" of %"PRIu64" in: %s",(uint64_t)retval, - (uint64_t)count,mainw->write_failed_file); + if (retval < count) { + char *msg = NULL; + mainw->write_failed = TRUE; + mainw->write_failed_file = filename_from_fd(mainw->write_failed_file, fd); + if (retval >= 0) + msg = lives_strdup_printf("Write failed %"PRIu64" of %"PRIu64" in: %s", (uint64_t)retval, + (uint64_t)count, mainw->write_failed_file); else - msg=lives_strdup_printf("Write failed with error %"PRIu64" in: %s",(uint64_t)retval, - mainw->write_failed_file); + msg = lives_strdup_printf("Write failed with error %"PRIu64" in: %s", (uint64_t)retval, + mainw->write_failed_file); if (!allow_fail) { LIVES_ERROR(msg); @@ -399,18 +399,18 @@ } #ifndef LIVES_NO_DEBUG else { - char *ffile=filename_from_fd(NULL,fd); - if (retval>=0) - msg=lives_strdup_printf("Write failed %"PRIu64" of %"PRIu64" in: %s (not an error)",(uint64_t)retval, - (uint64_t)count,ffile); + char *ffile = filename_from_fd(NULL, fd); + if (retval >= 0) + msg = lives_strdup_printf("Write failed %"PRIu64" of %"PRIu64" in: %s (not an error)", (uint64_t)retval, + (uint64_t)count, ffile); else - msg=lives_strdup_printf("Write failed with error %"PRIu64" in: %s (allowed)",(uint64_t)retval, - mainw->write_failed_file); + msg = lives_strdup_printf("Write failed with error %"PRIu64" in: %s (allowed)", (uint64_t)retval, + mainw->write_failed_file); LIVES_DEBUG(msg); lives_free(ffile); } #endif - if (msg!=NULL) lives_free(msg); + if (msg != NULL) lives_free(msg); } return retval; } @@ -419,12 +419,12 @@ ssize_t lives_write_le(int fd, const void *buf, size_t count, boolean allow_fail) { - if (capable->byte_order==LIVES_BIG_ENDIAN&&(prefs->bigendbug!=1)) { + if (capable->byte_order == LIVES_BIG_ENDIAN && (prefs->bigendbug != 1)) { char xbuf[count]; - reverse_bytes(xbuf,(const char *)buf,count); - return lives_write(fd,xbuf,count,allow_fail); + reverse_bytes(xbuf, (const char *)buf, count); + return lives_write(fd, xbuf, count, allow_fail); } else { - return lives_write(fd,buf,count,allow_fail); + return lives_write(fd, buf, count, allow_fail); } } @@ -434,10 +434,10 @@ int lives_fputs(const char *s, FILE *stream) { int retval; - retval=fputs(s,stream); + retval = fputs(s, stream); - if (retval==EOF) { - mainw->write_failed=TRUE; + if (retval == EOF) { + mainw->write_failed = TRUE; } return retval; @@ -447,10 +447,10 @@ char *lives_fgets(char *s, int size, FILE *stream) { char *retval; - retval=fgets(s,size,stream); + retval = fgets(s, size, stream); - if (retval==NULL&&ferror(stream)) { - mainw->read_failed=TRUE; + if (retval == NULL && ferror(stream)) { + mainw->read_failed = TRUE; } return retval; @@ -459,12 +459,12 @@ static lives_file_buffer_t *find_in_file_buffers(int fd) { lives_file_buffer_t *fbuff; - LiVESList *fblist=mainw->file_buffers; + LiVESList *fblist = mainw->file_buffers; - while (fblist!=NULL) { - fbuff=(lives_file_buffer_t *)fblist->data; - if (fbuff->fd==fd) return fbuff; - fblist=fblist->next; + while (fblist != NULL) { + fbuff = (lives_file_buffer_t *)fblist->data; + if (fbuff->fd == fd) return fbuff; + fblist = fblist->next; } return NULL; @@ -473,8 +473,8 @@ void lives_close_all_file_buffers(void) { lives_file_buffer_t *fbuff; - while (mainw->file_buffers!=NULL) { - fbuff=(lives_file_buffer_t *)mainw->file_buffers->data; + while (mainw->file_buffers != NULL) { + fbuff = (lives_file_buffer_t *)mainw->file_buffers->data; lives_close_buffered(fbuff->fd); } @@ -482,16 +482,16 @@ static void do_file_read_error(int fd, ssize_t errval, size_t count) { - char *msg=NULL; - mainw->read_failed=TRUE; - mainw->read_failed_file=filename_from_fd(mainw->read_failed_file,fd); - - if (errval>=0) - msg=lives_strdup_printf("Read failed %"PRId64" of %"PRIu64" in: %s",(int64_t)errval, - (uint64_t)count,mainw->read_failed_file); + char *msg = NULL; + mainw->read_failed = TRUE; + mainw->read_failed_file = filename_from_fd(mainw->read_failed_file, fd); + + if (errval >= 0) + msg = lives_strdup_printf("Read failed %"PRId64" of %"PRIu64" in: %s", (int64_t)errval, + (uint64_t)count, mainw->read_failed_file); else - msg=lives_strdup_printf("Read failed with error %"PRId64" in: %s",(int64_t)errval, - mainw->read_failed_file); + msg = lives_strdup_printf("Read failed with error %"PRId64" in: %s", (int64_t)errval, + mainw->read_failed_file); @@ -501,19 +501,19 @@ ssize_t lives_read(int fd, void *buf, size_t count, boolean allow_less) { - ssize_t retval=read(fd, buf, count); + ssize_t retval = read(fd, buf, count); - if (retval<count) { - if (!allow_less||retval<0) { - do_file_read_error(fd,retval,count); + if (retval < count) { + if (!allow_less || retval < 0) { + do_file_read_error(fd, retval, count); close(fd); } #ifndef LIVES_NO_DEBUG else { - char *msg=NULL; - char *ffile=filename_from_fd(NULL,fd); - msg=lives_strdup_printf("Read got %"PRIu64" of %"PRIu64" in: %s (not an error)",(uint64_t)retval, - (uint64_t)count,ffile); + char *msg = NULL; + char *ffile = filename_from_fd(NULL, fd); + msg = lives_strdup_printf("Read got %"PRIu64" of %"PRIu64" in: %s (not an error)", (uint64_t)retval, + (uint64_t)count, ffile); LIVES_DEBUG(msg); lives_free(ffile); g_free(msg); @@ -526,14 +526,14 @@ ssize_t lives_read_le(int fd, void *buf, size_t count, boolean allow_less) { - if (capable->byte_order==LIVES_BIG_ENDIAN&&!prefs->bigendbug) { + if (capable->byte_order == LIVES_BIG_ENDIAN && !prefs->bigendbug) { char xbuf[count]; - ssize_t retval=lives_read(fd,buf,count,allow_less); - if (retval<count) return retval; - reverse_bytes((char *)buf,(const char *)xbuf,count); + ssize_t retval = lives_read(fd, buf, count, allow_less); + if (retval < count) return retval; + reverse_bytes((char *)buf, (const char *)xbuf, count); return retval; } else { - return lives_read(fd,buf,count,allow_less); + return lives_read(fd, buf, count, allow_less); } } @@ -547,12 +547,12 @@ static ssize_t file_buffer_flush(lives_file_buffer_t *fbuff) { - ssize_t res=0; + ssize_t res = 0; - if (fbuff->buffer!=NULL) res=lives_write(fbuff->fd,fbuff->buffer,fbuff->bytes,fbuff->allow_fail); - if (res>0) fbuff->offset+=res; + if (fbuff->buffer != NULL) res = lives_write(fbuff->fd, fbuff->buffer, fbuff->bytes, fbuff->allow_fail); + if (res > 0) fbuff->offset += res; - if (!fbuff->allow_fail&&res<fbuff->bytes) { + if (!fbuff->allow_fail && res < fbuff->bytes) { lives_close_buffered(-fbuff->fd); // use -fd as lives_write will have closed } @@ -562,17 +562,17 @@ static int lives_open_real_buffered(const char *pathname, int flags, int mode, boolean isread) { lives_file_buffer_t *fbuff; - int fd=lives_open3(pathname,flags,mode); - if (fd>=0) { - fbuff=(lives_file_buffer_t *)lives_malloc(sizeof(lives_file_buffer_t)); - fbuff->fd=fd; - fbuff->bytes=0; - fbuff->eof=FALSE; - fbuff->ptr=NULL; - fbuff->buffer=NULL; - fbuff->read=isread; - fbuff->offset=0; - mainw->file_buffers=lives_list_append(mainw->file_buffers,(livespointer)fbuff); + int fd = lives_open3(pathname, flags, mode); + if (fd >= 0) { + fbuff = (lives_file_buffer_t *)lives_malloc(sizeof(lives_file_buffer_t)); + fbuff->fd = fd; + fbuff->bytes = 0; + fbuff->eof = FALSE; + fbuff->ptr = NULL; + fbuff->buffer = NULL; + fbuff->read = isread; + fbuff->offset = 0; + mainw->file_buffers = lives_list_append(mainw->file_buffers, (livespointer)fbuff); } return fd; @@ -580,48 +580,48 @@ LIVES_INLINE int lives_open_buffered_rdonly(const char *pathname) { - return lives_open_real_buffered(pathname,O_RDONLY,0,TRUE); + return lives_open_real_buffered(pathname, O_RDONLY, 0, TRUE); } LIVES_INLINE int lives_creat_buffered(const char *pathname, int mode) { - return lives_open_real_buffered(pathname,O_CREAT|O_WRONLY|O_TRUNC,mode,FALSE); + return lives_open_real_buffered(pathname, O_CREAT | O_WRONLY | O_TRUNC, mode, FALSE); } int lives_close_buffered(int fd) { lives_file_buffer_t *fbuff; - boolean should_close=TRUE; - int ret=0; + boolean should_close = TRUE; + int ret = 0; - if (fd<0) { - should_close=FALSE; - fd=-fd; + if (fd < 0) { + should_close = FALSE; + fd = -fd; } - fbuff=find_in_file_buffers(fd); + fbuff = find_in_file_buffers(fd); - if (fbuff==NULL) { + if (fbuff == NULL) { // normal non-buffered file LIVES_DEBUG("lives_close_buffered: no file buffer found"); - if (should_close) ret=close(fd); + if (should_close) ret = close(fd); return ret; } - if (!fbuff->read&&should_close) { - boolean allow_fail=fbuff->allow_fail; - size_t bytes=fbuff->bytes; + if (!fbuff->read && should_close) { + boolean allow_fail = fbuff->allow_fail; + size_t bytes = fbuff->bytes; - if (bytes>0) { - ret=file_buffer_flush(fbuff); - if (!allow_fail&&ret<bytes) return ret; // this is correct, as flush will have called close again with should_close=FALSE; + if (bytes > 0) { + ret = file_buffer_flush(fbuff); + if (!allow_fail && ret < bytes) return ret; // this is correct, as flush will have called close again with should_close=FALSE; } } - if (should_close && fbuff->fd>=0) ret=close(fbuff->fd); + if (should_close && fbuff->fd >= 0) ret = close(fbuff->fd); - mainw->file_buffers=lives_list_remove(mainw->file_buffers,(livesconstpointer)fbuff); - if (fbuff->buffer!=NULL) lives_free(fbuff->buffer); + mainw->file_buffers = lives_list_remove(mainw->file_buffers, (livesconstpointer)fbuff); + if (fbuff->buffer != NULL) lives_free(fbuff->buffer); lives_free(fbuff); return ret; } @@ -631,22 +631,22 @@ static ssize_t file_buffer_fill(lives_file_buffer_t *fbuff) { ssize_t res; - if (fbuff->buffer==NULL) fbuff->buffer=(uint8_t *)lives_malloc(BUFFER_FILL_BYTES); + if (fbuff->buffer == NULL) fbuff->buffer = (uint8_t *)lives_malloc(BUFFER_FILL_BYTES); - res=lives_read(fbuff->fd,fbuff->buffer,BUFFER_FILL_BYTES,TRUE); + res = lives_read(fbuff->fd, fbuff->buffer, BUFFER_FILL_BYTES, TRUE); - if (res<0) { + if (res < 0) { lives_close_buffered(-fbuff->fd); // use -fd as lives_read will have closed return res; } - fbuff->bytes=res; - fbuff->ptr=fbuff->buffer; - fbuff->offset+=res; + fbuff->bytes = res; + fbuff->ptr = fbuff->buffer; + fbuff->offset += res; - if (res<BUFFER_FILL_BYTES) fbuff->eof=TRUE; - else fbuff->eof=FALSE; + if (res < BUFFER_FILL_BYTES) fbuff->eof = TRUE; + else fbuff->eof = FALSE; return res; } @@ -657,37 +657,37 @@ lives_file_buffer_t *fbuff; - if ((fbuff=find_in_file_buffers(fd))==NULL) { + if ((fbuff = find_in_file_buffers(fd)) == NULL) { LIVES_DEBUG("lives_lseek_buffered_rdonly: no file buffer found"); - return lseek(fd,offset,SEEK_CUR); + return lseek(fd, offset, SEEK_CUR); } - fbuff->ptr+=offset; - fbuff->bytes-=offset; + fbuff->ptr += offset; + fbuff->bytes -= offset; - fbuff->offset+=offset; + fbuff->offset += offset; - if (fbuff->offset<0) fbuff->offset=0; + if (fbuff->offset < 0) fbuff->offset = 0; - if (fbuff->bytes<=0||fbuff->ptr<fbuff->buffer) { - fbuff->bytes=0; - if (fbuff->ptr<fbuff->buffer) fbuff->eof=FALSE; + if (fbuff->bytes <= 0 || fbuff->ptr < fbuff->buffer) { + fbuff->bytes = 0; + if (fbuff->ptr < fbuff->buffer) fbuff->eof = FALSE; } - return lseek(fd,offset,SEEK_CUR); + return lseek(fd, offset, SEEK_CUR); } ssize_t lives_read_buffered(int fd, void *buf, size_t count, boolean allow_less) { lives_file_buffer_t *fbuff; - ssize_t retval=0,res; - size_t ocount=count; - uint8_t *ptr=(uint8_t *)buf; + ssize_t retval = 0, res; + size_t ocount = count; + uint8_t *ptr = (uint8_t *)buf; - if ((fbuff=find_in_file_buffers(fd))==NULL) { + if ((fbuff = find_in_file_buffers(fd)) == NULL) { LIVES_DEBUG("lives_read_buffered: no file buffer found"); - return lives_read(fd,buf,count,allow_less); + return lives_read(fd, buf, count, allow_less); } if (!fbuff->read) { @@ -697,32 +697,32 @@ // read bytes from fbuff while (1) { - if (fbuff->bytes==0&&!fbuff->eof) { - res=file_buffer_fill(fbuff); - if (res<0) return res; + if (fbuff->bytes == 0 && !fbuff->eof) { + res = file_buffer_fill(fbuff); + if (res < 0) return res; } - if (fbuff->bytes<count) { - lives_memcpy(ptr,fbuff->ptr,fbuff->bytes); - retval+=fbuff->bytes; - count-=fbuff->bytes; - ptr+=fbuff->bytes; - fbuff->bytes=0; + if (fbuff->bytes < count) { + lives_memcpy(ptr, fbuff->ptr, fbuff->bytes); + retval += fbuff->bytes; + count -= fbuff->bytes; + ptr += fbuff->bytes; + fbuff->bytes = 0; if (fbuff->eof) { break; } } else { - lives_memcpy(ptr,fbuff->ptr,count); - retval+=count; - fbuff->ptr+=count; - fbuff->bytes-=count; - count=0; + lives_memcpy(ptr, fbuff->ptr, count); + retval += count; + fbuff->ptr += count; + fbuff->bytes -= count; + count = 0; break; } } - if (!allow_less && count>0) { - do_file_read_error(fd,retval,ocount); + if (!allow_less && count > 0) { + do_file_read_error(fd, retval, ocount); lives_close_buffered(fd); } @@ -731,14 +731,14 @@ ssize_t lives_read_le_buffered(int fd, void *buf, size_t count, boolean allow_less) { - if (capable->byte_order==LIVES_BIG_ENDIAN&&!prefs->bigendbug) { + if (capable->byte_order == LIVES_BIG_ENDIAN && !prefs->bigendbug) { char xbuf[count]; - ssize_t retval=lives_read_buffered(fd,buf,count,allow_less); - if (retval<count) return retval; - reverse_bytes((char *)buf,(const char *)xbuf,count); + ssize_t retval = lives_read_buffered(fd, buf, count, allow_less); + if (retval < count) return retval; + reverse_bytes((char *)buf, (const char *)xbuf, count); return retval; } else { - return lives_read_buffered(fd,buf,count,allow_less); + return lives_read_buffered(fd, buf, count, allow_less); } } @@ -746,12 +746,12 @@ ssize_t lives_write_buffered(int fd, const char *buf, size_t count, boolean allow_fail) { lives_file_buffer_t *fbuff; - ssize_t retval=0,res; + ssize_t retval = 0, res; size_t space_left; - if ((fbuff=find_in_file_buffers(fd))==NULL) { + if ((fbuff = find_in_file_buffers(fd)) == NULL) { LIVES_DEBUG("lives_write_buffered: no file buffer found"); - return lives_write(fd,buf,count,allow_fail); + return lives_write(fd, buf, count, allow_fail); } if (fbuff->read) { @@ -759,34 +759,34 @@ return 0; } - if (fbuff->buffer==NULL) { - fbuff->buffer=(uint8_t *)lives_malloc(BUFFER_FILL_BYTES); - fbuff->ptr=fbuff->buffer; - fbuff->bytes=0; + if (fbuff->buffer == NULL) { + fbuff->buffer = (uint8_t *)lives_malloc(BUFFER_FILL_BYTES); + fbuff->ptr = fbuff->buffer; + fbuff->bytes = 0; } - fbuff->allow_fail=allow_fail; + fbuff->allow_fail = allow_fail; // write bytes from fbuff while (count) { - space_left=BUFFER_FILL_BYTES-fbuff->bytes; + space_left = BUFFER_FILL_BYTES - fbuff->bytes; - if (space_left<count) { - lives_memcpy(fbuff->ptr,buf,space_left); - fbuff->bytes=BUFFER_FILL_BYTES; - res=file_buffer_flush(fbuff); - retval+=res; - if (res<BUFFER_FILL_BYTES) return (res<0?res:retval); - fbuff->bytes=0; - fbuff->ptr=fbuff->buffer; - count-=space_left; - buf+=space_left; + if (space_left < count) { + lives_memcpy(fbuff->ptr, buf, space_left); + fbuff->bytes = BUFFER_FILL_BYTES; + res = file_buffer_flush(fbuff); + retval += res; + if (res < BUFFER_FILL_BYTES) return (res < 0 ? res : retval); + fbuff->bytes = 0; + fbuff->ptr = fbuff->buffer; + count -= space_left; + buf += space_left; } else { - lives_memcpy(fbuff->ptr,buf,count); - retval+=count; - fbuff->ptr+=count; - fbuff->bytes+=count; - count=0; + lives_memcpy(fbuff->ptr, buf, count); + retval += count; + fbuff->ptr += count; + fbuff->bytes += count; + count = 0; } } return retval; @@ -794,12 +794,12 @@ ssize_t lives_write_le_buffered(int fd, const void *buf, size_t count, boolean allow_fail) { - if (capable->byte_order==LIVES_BIG_ENDIAN&&(prefs->bigendbug!=1)) { + if (capable->byte_order == LIVES_BIG_ENDIAN && (prefs->bigendbug != 1)) { char xbuf[count]; - reverse_bytes((char *)xbuf,(const char *)buf,count); - return lives_write_buffered(fd,xbuf,count,allow_fail); + reverse_bytes((char *)xbuf, (const char *)buf, count); + return lives_write_buffered(fd, xbuf, count, allow_fail); } else { - return lives_write_buffered(fd,(char *)buf,count,allow_fail); + return lives_write_buffered(fd, (char *)buf, count, allow_fail); } } @@ -809,26 +809,26 @@ char *lives_format_storage_space_string(uint64_t space) { char *fmt; - if (space>lives_10pow(18)) { + if (space > lives_10pow(18)) { // TRANSLATORS: Exabytes - fmt=lives_strdup_printf(_("%.2f EB"),(double)space/(double)lives_10pow(18)); - } else if (space>lives_10pow(15)) { + fmt = lives_strdup_printf(_("%.2f EB"), (double)space / (double)lives_10pow(18)); + } else if (space > lives_10pow(15)) { // TRANSLATORS: Petabytes - fmt=lives_strdup_printf(_("%.2f PB"),(double)space/(double)lives_10pow(15)); - } else if (space>lives_10pow(12)) { + fmt = lives_strdup_printf(_("%.2f PB"), (double)space / (double)lives_10pow(15)); + } else if (space > lives_10pow(12)) { // TRANSLATORS: Terabytes - fmt=lives_strdup_printf(_("%.2f TB"),(double)space/(double)lives_10pow(12)); - } else if (space>lives_10pow(9)) { + fmt = lives_strdup_printf(_("%.2f TB"), (double)space / (double)lives_10pow(12)); + } else if (space > lives_10pow(9)) { // TRANSLATORS: Gigabytes - fmt=lives_strdup_printf(_("%.2f GB"),(double)space/(double)lives_10pow(9)); - } else if (space>lives_10pow(6)) { + fmt = lives_strdup_printf(_("%.2f GB"), (double)space / (double)lives_10pow(9)); + } else if (space > lives_10pow(6)) { // TRANSLATORS: Megabytes - fmt=lives_strdup_printf(_("%.2f MB"),(double)space/(double)lives_10pow(6)); - } else if (space>1024) { + fmt = lives_strdup_printf(_("%.2f MB"), (double)space / (double)lives_10pow(6)); + } else if (space > 1024) { // TRANSLATORS: Kilobytes (1024 bytes) - fmt=lives_strdup_printf(_("%.2f KiB"),(double)space/1024.); + fmt = lives_strdup_printf(_("%.2f KiB"), (double)space / 1024.); } else { - fmt=lives_strdup_printf(_("%d bytes"),space); + fmt = lives_strdup_printf(_("%d bytes"), space); } return fmt; @@ -841,10 +841,10 @@ // WARNING: this will actually create the directory (since we dont know if its parents are needed) uint64_t ds; if (!is_writeable_dir(dir)) return LIVES_STORAGE_STATUS_UNKNOWN; - ds=get_fs_free(dir); - if (dsval!=NULL) *dsval=ds; - if (ds<prefs->ds_crit_level) return LIVES_STORAGE_STATUS_CRITICAL; - if (ds<warn_level) return LIVES_STORAGE_STATUS_WARNING; + ds = get_fs_free(dir); + if (dsval != NULL) *dsval = ds; + if (ds < prefs->ds_crit_level) return LIVES_STORAGE_STATUS_CRITICAL; + if (ds < warn_level) return LIVES_STORAGE_STATUS_WARNING; return LIVES_STORAGE_STATUS_NORMAL; } @@ -854,11 +854,11 @@ int lives_chdir(const char *path, boolean allow_fail) { int retval; - retval=chdir(path); + retval = chdir(path); if (retval) { - char *msg=lives_strdup_printf("Chdir failed to: %s",path); - mainw->chdir_failed=TRUE; + char *msg = lives_strdup_printf("Chdir failed to: %s", path); + mainw->chdir_failed = TRUE; if (!allow_fail) { LIVES_ERROR(msg); do_chdir_failed_error(path); @@ -873,9 +873,9 @@ LIVES_INLINE boolean lives_freep(void **ptr) { // free a pointer and nullify it, only if it is non-null to start with // pass the address of the pointer in - if (ptr!=NULL&&*ptr!=NULL) { + if (ptr != NULL && *ptr != NULL) { lives_free(*ptr); - *ptr=NULL; + *ptr = NULL; return TRUE; } return FALSE; @@ -1083,7 +1083,7 @@ HANDLE hProcess; PROCESSENTRY32 pe32; - if (pid==0) return TRUE; + if (pid == 0) return TRUE; // Take a snapshot of all processes in the system. hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); @@ -1114,7 +1114,7 @@ if (hProcess == NULL) continue; // TODO - find equivalent on "real" windows - if (!strcmp(pe32.szExeFile,"wineconsole.exe")) { + if (!strcmp(pe32.szExeFile, "wineconsole.exe")) { CloseHandle(hProcess); continue; } @@ -1143,7 +1143,7 @@ HANDLE hProcess; PROCESSENTRY32 pe32; - if (pid==0) return TRUE; + if (pid == 0) return TRUE; // Take a snapshot of all processes in the system. hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); @@ -1173,7 +1173,7 @@ //g_print("handling process %d %d : %s\n",pe32.th32ParentProcessID,pe32.th32ProcessID,pe32.szExeFile); // TODO - find equivalent on "real" windows - if (!strcmp(pe32.szExeFile,"wineconsole.exe")) { + if (!strcmp(pe32.szExeFile, "wineconsole.exe")) { CloseHandle(hProcess); continue; } @@ -1236,11 +1236,11 @@ LIVES_INLINE int lives_kill(lives_pid_t pid, int sig) { #ifndef IS_MINGW - if (pid==0) { + if (pid == 0) { LIVES_ERROR("Tried to kill pid 0"); return -1; } - return kill(pid,sig); + return kill(pid, sig); #else CloseHandle(pid->hProcess); CloseHandle(pid->hThread); @@ -1252,7 +1252,7 @@ LIVES_INLINE int lives_killpg(lives_pgid_t pgrp, int sig) { #ifndef IS_MINGW - return killpg(pgrp,sig); + return killpg(pgrp, sig); #else CloseHandle(pgrp->hProcess); CloseHandle(pgrp->hThread); @@ -1263,25 +1263,25 @@ LIVES_INLINE int myround(double n) { - return (n>=0.)?(int)(n + 0.5):(int)(n - 0.5); + return (n >= 0.) ? (int)(n + 0.5) : (int)(n - 0.5); } LIVES_INLINE void clear_mainw_msg(void) { - memset(mainw->msg,0,512); + memset(mainw->msg, 0, 512); } LIVES_INLINE uint64_t lives_10pow(int pow) { register int i; - uint64_t res=1; - for (i=0; i<pow; i++) res*=10; + uint64_t res = 1; + for (i = 0; i < pow; i++) res *= 10; return res; } LIVES_INLINE double lives_fix(double val, int decimals) { - double factor=(double)lives_10pow(decimals); - return (double)((int)(val*factor+0.5))/factor; + double factor = (double)lives_10pow(decimals); + return (double)((int)(val * factor + 0.5)) / factor; } @@ -1293,7 +1293,7 @@ x |= (x >> 8); x |= (x >> 16); x++; - return x>>1; + return x >> 1; } @@ -1302,10 +1302,10 @@ LIVES_INLINE int64_t lives_get_current_ticks(void) { #ifdef USE_MONOTONIC_TIME - return lives_get_monotonic_time()*U_SEC_RATIO; + return lives_get_monotonic_time() * U_SEC_RATIO; #else gettimeofday(&tv, NULL); - return U_SECL*tv.tv_sec+tv.tv_usec*U_SEC_RATIO; + return U_SECL * tv.tv_sec + tv.tv_usec * U_SEC_RATIO; #endif } @@ -1324,34 +1324,34 @@ int64_t cticks; // we will assign [this] next - int ret=mainw->next_free_alarm; + int ret = mainw->next_free_alarm; // no alarm slots left - if (mainw->next_free_alarm==-1) { + if (mainw->next_free_alarm == -1) { LIVES_WARN("No alarms left"); return -1; } // get current ticks - cticks=lives_get_current_ticks(); + cticks = lives_get_current_ticks(); // set to now + offset - mainw->alarms[mainw->next_free_alarm]=cticks+ticks; + mainw->alarms[mainw->next_free_alarm] = cticks + ticks; - i=++mainw->next_free_alarm; + i = ++mainw->next_free_alarm; // find free slot for next time - while (mainw->alarms[i]!=LIVES_NO_ALARM_TICKS&&i<LIVES_MAX_ALARMS) { + while (mainw->alarms[i] != LIVES_NO_ALARM_TICKS && i < LIVES_MAX_ALARMS) { i++; } - if (i==LIVES_MAX_ALARMS) { + if (i == LIVES_MAX_ALARMS) { // no slots left - mainw->next_free_alarm=-1; + mainw->next_free_alarm = -1; } // OK - else mainw->next_free_alarm=i; + else mainw->next_free_alarm = i; - return ret+1; + return ret + 1; } @@ -1362,7 +1362,7 @@ int64_t cticks; // invalid alarm number - if (alarm_handle<=0 || alarm_handle > LIVES_MAX_ALARMS) { + if (alarm_handle <= 0 || alarm_handle > LIVES_MAX_ALARMS) { LIVES_WARN("Invalid get alarm handle"); return FALSE; } @@ -1371,21 +1371,21 @@ alarm_handle--; // alarm time was never set ! - if (mainw->alarms[alarm_handle]==LIVES_NO_ALARM_TICKS) { + if (mainw->alarms[alarm_handle] == LIVES_NO_ALARM_TICKS) { LIVES_WARN("Alarm time not set"); return TRUE; } // get current ticks - cticks=lives_get_current_ticks(); + cticks = lives_get_current_ticks(); - if (cticks>mainw->alarms[alarm_handle]) { + if (cticks > mainw->alarms[alarm_handle]) { // reached alarm time, free up this timer and return TRUE - mainw->alarms[alarm_handle]=LIVES_NO_ALARM_TICKS; + mainw->alarms[alarm_handle] = LIVES_NO_ALARM_TICKS; - if (mainw->next_free_alarm==-1 || (alarm_handle<mainw->next_free_alarm)) { - mainw->next_free_alarm=alarm_handle; - mainw->alarms[alarm_handle]=LIVES_NO_ALARM_TICKS; + if (mainw->next_free_alarm == -1 || (alarm_handle < mainw->next_free_alarm)) { + mainw->next_free_alarm = alarm_handle; + mainw->alarms[alarm_handle] = LIVES_NO_ALARM_TICKS; LIVES_DEBUG("Alarm reached"); return TRUE; } @@ -1399,30 +1399,48 @@ void lives_alarm_clear(int alarm_handle) { - if (alarm_handle<=0 || alarm_handle > LIVES_MAX_ALARMS) { + if (alarm_handle <= 0 || alarm_handle > LIVES_MAX_ALARMS) { LIVES_WARN("Invalid clear alarm handle"); return; } alarm_handle--; - mainw->alarms[alarm_handle]=LIVES_NO_ALARM_TICKS; - if (mainw->next_free_alarm==-1 || alarm_handle<mainw->next_free_alarm) - mainw->next_free_alarm=alarm_handle; + mainw->alarms[alarm_handle] = LIVES_NO_ALARM_TICKS; + if (mainw->next_free_alarm == -1 || alarm_handle < mainw->next_free_alarm) + mainw->next_free_alarm = alarm_handle; +} + + + +char *lives_datetime(struct timeval *tv) { + char buf[128]; + char *datetime = NULL; + struct tm *gm = gmtime(&tv->tv_sec); + ssize_t written; + + + if (gm) { + written = (ssize_t)strftime(buf, 128, "%Y-%m-%d %H:%M:%S", gm); + if ((written > 0) && ((size_t)written < 128)) { + datetime = lives_strdup(buf); + } + } + return datetime; } LIVES_INLINE char *lives_strappend(char *string, int len, const char *xnew) { - char *tmp=lives_strconcat(string,xnew,NULL); - lives_snprintf(string,len,"%s",tmp); + char *tmp = lives_strconcat(string, xnew, NULL); + lives_snprintf(string, len, "%s", tmp); lives_free(tmp); return string; } LIVES_INLINE LiVESList *lives_list_append_unique(LiVESList *xlist, const char *add) { - if (lives_list_find_custom(xlist,add,(LiVESCompareFunc)strcmp)==NULL) return lives_list_append(xlist,lives_strdup(add)); + if (lives_list_find_custom(xlist, add, (LiVESCompareFunc)strcmp) == NULL) return lives_list_append(xlist, lives_strdup(add)); return xlist; } @@ -1430,15 +1448,15 @@ /* convert to/from a big endian 32 bit float for internal use */ LIVES_INLINE float LEFloat_to_BEFloat(float f) { - char *b=(char *)(&f); - if (capable->byte_order==LIVES_LITTLE_ENDIAN) { + char *b = (char *)(&f); + if (capable->byte_order == LIVES_LITTLE_ENDIAN) { float fl; uint8_t rev[4]; - rev[0]=b[3]; - rev[1]=b[2]; - rev[2]=b[1]; - rev[3]=b[0]; - fl=*(float *)rev; + rev[0] = b[3]; + rev[1] = b[2]; + rev[2] = b[1]; + rev[3] = b[0]; + fl = *(float *)rev; return fl; } return f; @@ -1446,39 +1464,39 @@ LIVES_INLINE double calc_time_from_frame(int clip, int frame) { - return (frame-1.)/mainw->files[clip]->fps; + return (frame - 1.) / mainw->files[clip]->fps; } LIVES_INLINE int calc_frame_from_time(int filenum, double time) { // return the nearest frame (rounded) for a given time, max is cfile->frames - int frame=0; - if (time<0.) return mainw->files[filenum]->frames?1:0; - frame=(int)(time*mainw->files[filenum]->fps+1.49999); - return (frame<mainw->files[filenum]->frames)?frame:mainw->files[filenum]->frames; + int frame = 0; + if (time < 0.) return mainw->files[filenum]->frames ? 1 : 0; + frame = (int)(time * mainw->files[filenum]->fps + 1.49999); + return (frame < mainw->files[filenum]->frames) ? frame : mainw->files[filenum]->frames; } LIVES_INLINE int calc_frame_from_time2(int filenum, double time) { // return the nearest frame (rounded) for a given time // allow max (frames+1) - int frame=0; - if (time<0.) return mainw->files[filenum]->frames?1:0; - frame=(int)(time*mainw->files[filenum]->fps+1.49999); - return (frame<mainw->files[filenum]->frames+1)?frame:mainw->files[filenum]->frames+1; + int frame = 0; + if (time < 0.) return mainw->files[filenum]->frames ? 1 : 0; + frame = (int)(time * mainw->files[filenum]->fps + 1.49999); + return (frame < mainw->files[filenum]->frames + 1) ? frame : mainw->files[filenum]->frames + 1; } LIVES_INLINE int calc_frame_from_time3(int filenum, double time) { // return the nearest frame (floor) for a given time // allow max (frames+1) - int frame=0; - if (time<0.) return mainw->files[filenum]->frames?1:0; - frame=(int)(time*mainw->files[filenum]->fps+1.); - return (frame<mainw->files[filenum]->frames+1)?frame:mainw->files[filenum]->frames+1; + int frame = 0; + if (time < 0.) return mainw->files[filenum]->frames ? 1 : 0; + frame = (int)(time * mainw->files[filenum]->fps + 1.); + return (frame < mainw->files[filenum]->frames + 1) ? frame : mainw->files[filenum]->frames + 1; } LIVES_INLINE boolean is_realtime_aplayer(int ptype) { - if (ptype==AUD_PLAYER_JACK||ptype==AUD_PLAYER_PULSE) return TRUE; + if (ptype == AUD_PLAYER_JACK || ptype == AUD_PLAYER_PULSE) return TRUE; return FALSE; } @@ -1487,17 +1505,17 @@ // return FALSE if audio stops playback #ifdef ENABLE_JACK - if (prefs->audio_player==AUD_PLAYER_JACK&&mainw->jackd!=NULL&&mainw->jackd->playing_file==fileno) { + if (prefs->audio_player == AUD_PLAYER_JACK && mainw->jackd != NULL && mainw->jackd->playing_file == fileno) { if (!mainw->loop) { if (!mainw->loop_cont) { - if (mainw->aframeno<first_frame||mainw->aframeno>last_frame) { + if (mainw->aframeno < first_frame || mainw->aframeno > last_frame) { return FALSE; } } } else { if (!mainw->loop_cont) { - if (mainw->aframeno<1|| - calc_time_from_frame(mainw->current_file,mainw->aframeno)>cfile->laudio_time) { + if (mainw->aframeno < 1 || + calc_time_from_frame(mainw->current_file, mainw->aframeno) > cfile->laudio_time) { return FALSE; } } @@ -1505,17 +1523,17 @@ } #endif #ifdef HAVE_PULSE_AUDIO - if (prefs->audio_player==AUD_PLAYER_PULSE&&mainw->pulsed!=NULL&&mainw->pulsed->playing_file==fileno) { + if (prefs->audio_player == AUD_PLAYER_PULSE && mainw->pulsed != NULL && mainw->pulsed->playing_file == fileno) { if (!mainw->loop) { if (!mainw->loop_cont) { - if (mainw->aframeno<first_frame||mainw->aframeno>last_frame) { + if (mainw->aframeno < first_frame || mainw->aframeno > last_frame) { return FALSE; } } } else { if (!mainw->loop_cont) { - if (mainw->aframeno<1|| - calc_time_from_frame(mainw->current_file,mainw->aframeno)>cfile->laudio_time) { + if (mainw->aframeno < 1 || + calc_time_from_frame(mainw->current_file, mainw->aframeno) > cfile->laudio_time) { return FALSE; } } @@ -1528,19 +1546,19 @@ void calc_aframeno(int fileno) { #ifdef ENABLE_JACK - if (prefs->audio_player==AUD_PLAYER_JACK&&((mainw->jackd!=NULL&&mainw->jackd->playing_file==fileno)|| - (mainw->jackd_read!=NULL&&mainw->jackd_read->playing_file==fileno))) { + if (prefs->audio_player == AUD_PLAYER_JACK && ((mainw->jackd != NULL && mainw->jackd->playing_file == fileno) || + (mainw->jackd_read != NULL && mainw->jackd_read->playing_file == fileno))) { // get seek_pos from jack - if (mainw->jackd_read!=NULL) mainw->aframeno=lives_jack_get_pos(mainw->jackd_read)/cfile->fps+1.; - else mainw->aframeno=lives_jack_get_pos(mainw->jackd)/cfile->fps+1.; + if (mainw->jackd_read != NULL) mainw->aframeno = lives_jack_get_pos(mainw->jackd_read) / cfile->fps + 1.; + else mainw->aframeno = lives_jack_get_pos(mainw->jackd) / cfile->fps + 1.; } #endif #ifdef HAVE_PULSE_AUDIO - if (prefs->audio_player==AUD_PLAYER_PULSE&&((mainw->pulsed!=NULL&& mainw->pulsed->playing_file==fileno)|| - (mainw->pulsed_read!=NULL&&mainw->pulsed_read->playing_file==fileno))) { + if (prefs->audio_player == AUD_PLAYER_PULSE && ((mainw->pulsed != NULL && mainw->pulsed->playing_file == fileno) || + (mainw->pulsed_read != NULL && mainw->pulsed_read->playing_file == fileno))) { // get seek_pos from pulse - if (mainw->pulsed_read!=NULL) mainw->aframeno=lives_pulse_get_pos(mainw->pulsed_read)/cfile->fps+1.; - else mainw->aframeno=lives_pulse_get_pos(mainw->pulsed)/cfile->fps+1.; + if (mainw->pulsed_read != NULL) mainw->aframeno = lives_pulse_get_pos(mainw->pulsed_read) / cfile->fps + 1.; + else mainw->aframeno = lives_pulse_get_pos(mainw->pulsed) / cfile->fps + 1.; } #endif } @@ -1576,72 +1594,72 @@ // this is done so we can check here if audio limits stopped playback - int64_t dtc=*ntc-otc; - lives_clip_t *sfile=mainw->files[fileno]; + int64_t dtc = *ntc - otc; + lives_clip_t *sfile = mainw->files[fileno]; - int dir=0; - int cframe,nframe; + int dir = 0; + int cframe, nframe; - int first_frame,last_frame; + int first_frame, last_frame; - boolean do_resync=FALSE; + boolean do_resync = FALSE; double fps; - if (sfile==NULL) return 0; + if (sfile == NULL) return 0; - fps=sfile->pb_fps; + fps = sfile->pb_fps; - if (mainw->playing_file==-1) fps=sfile->fps; + if (mainw->playing_file == -1) fps = sfile->fps; - cframe=sfile->last_frameno; + cframe = sfile->last_frameno; - if (fps==0.) { - *ntc=otc; - if (prefs->audio_src==AUDIO_SRC_INT) calc_aframeno(fileno); + if (fps == 0.) { + *ntc = otc; + if (prefs->audio_src == AUDIO_SRC_INT) calc_aframeno(fileno); return cframe; } // dtc is delt ticks, quantise this to the frame rate and round down - dtc=q_gint64_floor(dtc,fps); + dtc = q_gint64_floor(dtc, fps); // ntc is the time when the frame should have been played - *ntc=otc+dtc; + *ntc = otc + dtc; // nframe is our new frame - nframe=cframe+myround((double)dtc/U_SEC*fps); + nframe = cframe + myround((double)dtc / U_SEC * fps); - if (nframe==cframe||mainw->foreign) return nframe; + if (nframe == cframe || mainw->foreign) return nframe; // calculate audio "frame" from the number of samples played - if (prefs->audio_src==AUDIO_SRC_INT&&mainw->playing_file==fileno) { + if (prefs->audio_src == AUDIO_SRC_INT && mainw->playing_file == fileno) { calc_aframeno(fileno); } - if (mainw->playing_file==fileno&&!mainw->clip_switched) { - last_frame=(mainw->playing_sel&&!mainw->is_rendering)?sfile->end:mainw->play_end; - if (last_frame>sfile->frames) last_frame=sfile->frames; - first_frame=mainw->playing_sel?sfile->start:mainw->play_start; - if (first_frame>sfile->frames) first_frame=sfile->frames; + if (mainw->playing_file == fileno && !mainw->clip_switched) { + last_frame = (mainw->playing_sel && !mainw->is_rendering) ? sfile->end : mainw->play_end; + if (last_frame > sfile->frames) last_frame = sfile->frames; + first_frame = mainw->playing_sel ? sfile->start : mainw->play_start; + if (first_frame > sfile->frames) first_frame = sfile->frames; } else { - last_frame=sfile->frames; - first_frame=1; + last_frame = sfile->frames; + first_frame = 1; } - if (mainw->playing_file==fileno) { + if (mainw->playing_file == fileno) { if (mainw->noframedrop) { // if noframedrop is set, we may not skip any frames // - the usual situation is that we are allowed to skip frames - if (nframe>cframe) nframe=cframe+1; - else if (nframe<cframe) nframe=cframe-1; + if (nframe > cframe) nframe = cframe + 1; + else if (nframe < cframe) nframe = cframe - 1; } // check if video stopped playback - if ((sfile->clip_type==CLIP_TYPE_DISK||sfile->clip_type==CLIP_TYPE_FILE)&&(nframe<first_frame||nframe>last_frame)) { - if (mainw->whentostop==STOP_ON_VID_END) { - mainw->cancelled=CANCEL_VID_END; + if ((sfile->clip_type == CLIP_TYPE_DISK || sfile->clip_type == CLIP_TYPE_FILE) && (nframe < first_frame || nframe > last_frame)) { + if (mainw->whentostop == STOP_ON_VID_END) { + mainw->cancelled = CANCEL_VID_END; return 0; } } @@ -1649,113 +1667,114 @@ // check if audio stopped playback #ifdef RT_AUDIO - if (mainw->whentostop==STOP_ON_AUD_END&&sfile->achans>0&&sfile->frames>0) { - if (!check_for_audio_stop(fileno,first_frame,last_frame)) { - mainw->cancelled=CANCEL_AUD_END; + if (mainw->whentostop == STOP_ON_AUD_END && sfile->achans > 0 && sfile->frames > 0) { + if (!check_for_audio_stop(fileno, first_frame, last_frame)) { + mainw->cancelled = CANCEL_AUD_END; return 0; } } #endif } - if (sfile->frames==0) return 0; + if (sfile->frames == 0) return 0; // get our frame back to within bounds - nframe-=first_frame; + nframe -= first_frame; - if (fps>0) { - dir=0; + if (fps > 0) { + dir = 0; if (mainw->ping_pong) { - dir=(int)((double)nframe/(double)(last_frame-first_frame+1)); - dir%=2; + dir = (int)((double)nframe / (double)(last_frame - first_frame + 1)); + dir %= 2; } } else { - dir=1; + dir = 1; if (mainw->ping_pong) { - nframe-=(last_frame-first_frame); - dir=(int)((double)nframe/(double)(last_frame-first_frame+1)); - dir%=2; + nframe -= (last_frame - first_frame); + dir = (int)((double)nframe / (double)(last_frame - first_frame + 1)); + dir %= 2; dir++; } } - nframe%=(last_frame-first_frame+1); + nframe %= (last_frame - first_frame + 1); - if (fps<0) { + if (fps < 0) { // backwards - if (dir==1) { + if (dir == 1) { // even winding if (!mainw->ping_pong) { // loop - if (nframe<0) nframe+=last_frame+1; - else nframe+=first_frame; - if (nframe>cframe&&mainw->playing_file==fileno&&mainw->loop_cont&&!mainw->loop) { + if (nframe < 0) nframe += last_frame + 1; + else nframe += first_frame; + if (nframe > cframe && mainw->playing_file == fileno && mainw->loop_cont && !mainw->loop) { // resync audio at end of loop section (playing backwards) - do_resync=TRUE; + do_resync = TRUE; } } else { - nframe+=last_frame; // normal - if (nframe>last_frame) { - nframe=last_frame-(nframe-last_frame); - if (mainw->playing_file==fileno) dirchange_callback(NULL,NULL,0,(LiVESXModifierType)0,LIVES_INT_TO_POINTER(SCREEN_AREA_FOREGROUND)); - else sfile->pb_fps=-sfile->pb_fps; + nframe += last_frame; // normal + if (nframe > last_frame) { + nframe = last_frame - (nframe - last_frame); + if (mainw->playing_file == fileno) dirchange_callback(NULL, NULL, 0, (LiVESXModifierType)0, LIVES_INT_TO_POINTER(SCREEN_AREA_FOREGROUND)); + else sfile->pb_fps = -sfile->pb_fps; } } } else { // odd winding - nframe=ABS(nframe)+first_frame; + nframe = ABS(nframe) + first_frame; if (mainw->ping_pong) { // bounce - if (mainw->playing_file==fileno) dirchange_callback(NULL,NULL,0,(LiVESXModifierType)0,LIVES_INT_TO_POINTER(SCREEN_AREA_FOREGROUND)); - else sfile->pb_fps=-sfile->pb_fps; + if (mainw->playing_file == fileno) dirchange_callback(NULL, NULL, 0, (LiVESXModifierType)0, LIVES_INT_TO_POINTER(SCREEN_AREA_FOREGROUND)); + else sfile->pb_fps = -sfile->pb_fps; } } } else { // forwards - nframe+=first_frame; - if (dir==1) { + nframe += first_frame; + if (dir == 1) { // odd winding if (mainw->ping_pong) { // bounce - nframe=last_frame-(nframe-(first_frame-1)); - if (mainw->playing_file==fileno) dirchange_callback(NULL,NULL,0,(LiVESXModifierType)0,LIVES_INT_TO_POINTER(SCREEN_AREA_FOREGROUND)); - else sfile->pb_fps=-sfile->pb_fps; + nframe = last_frame - (nframe - (first_frame - 1)); + if (mainw->playing_file == fileno) dirchange_callback(NULL, NULL, 0, (LiVESXModifierType)0, LIVES_INT_TO_POINTER(SCREEN_AREA_FOREGROUND)); + else sfile->pb_fps = -sfile->pb_fps; } - } else if (mainw->playing_sel&&!mainw->ping_pong&&mainw->playing_file==fileno&&nframe<cframe&&mainw->loop_cont&&!mainw->loop) { + } else if (mainw->playing_sel && !mainw->ping_pong && mainw->playing_file == fileno && nframe < cframe && mainw->loop_cont && + !mainw->loop) { // resync audio at start of loop selection - if (nframe<first_frame) { - nframe=last_frame-(first_frame-nframe)+1; + if (nframe < first_frame) { + nframe = last_frame - (first_frame - nframe) + 1; } - do_resync=TRUE; + do_resync = TRUE; } - if (nframe<first_frame) { + if (nframe < first_frame) { // scratch or transport backwards if (mainw->ping_pong) { - nframe=first_frame; - if (mainw->playing_file==fileno) dirchange_callback(NULL,NULL,0,(LiVESXModifierType)0,LIVES_INT_TO_POINTER(SCREEN_AREA_FOREGROUND)); - else sfile->pb_fps=-sfile->pb_fps; + nframe = first_frame; + if (mainw->playing_file == fileno) dirchange_callback(NULL, NULL, 0, (LiVESXModifierType)0, LIVES_INT_TO_POINTER(SCREEN_AREA_FOREGROUND)); + else sfile->pb_fps = -sfile->pb_fps; - } else nframe=last_frame-nframe; + } else nframe = last_frame - nframe; } } - if (nframe<first_frame) nframe=first_frame; - if (nframe>last_frame) nframe=last_frame; + if (nframe < first_frame) nframe = first_frame; + if (nframe > last_frame) nframe = last_frame; - if (prefs->audio_opts&AUDIO_OPTS_FOLLOW_FPS) { - if (do_resync||(mainw->scratch!=SCRATCH_NONE&&mainw->playing_file==fileno)) { - boolean is_jump=FALSE; - if (mainw->scratch==SCRATCH_JUMP) is_jump=TRUE; - mainw->scratch=SCRATCH_NONE; - if (sfile->achans>0) { + if (prefs->audio_opts & AUDIO_OPTS_FOLLOW_FPS) { + if (do_resync || (mainw->scratch != SCRATCH_NONE && mainw->playing_file == fileno)) { + boolean is_jump = FALSE; + if (mainw->scratch == SCRATCH_JUMP) is_jump = TRUE; + mainw->scratch = SCRATCH_NONE; + if (sfile->achans > 0) { resync_audio(nframe); } - if (is_jump) mainw->video_seek_ready=TRUE; - if (mainw->whentostop==STOP_ON_AUD_END&&sfile->achans>0) { + if (is_jump) mainw->video_seek_ready = TRUE; + if (mainw->whentostop == STOP_ON_AUD_END && sfile->achans > 0) { // we check for audio stop here, but the seek may not have happened yet - if (!check_for_audio_stop(fileno,first_frame,last_frame)) { - mainw->cancelled=CANCEL_AUD_END; + if (!check_for_audio_stop(fileno, first_frame, last_frame)) { + mainw->cancelled = CANCEL_AUD_END; return 0; } } @@ -1775,33 +1794,33 @@ double aspect; - if (*cwidth<=0||*cheight<=0||rwidth<=0||rheight<=0) return; + if (*cwidth <= 0 || *cheight <= 0 || rwidth <= 0 || rheight <= 0) return; - if (*cwidth>rwidth) { + if (*cwidth > rwidth) { // image too wide shrink it - aspect=(double)rwidth/(double)(*cwidth); - *cwidth=rwidth; - *cheight=(double)(*cheight)*aspect; + aspect = (double)rwidth / (double)(*cwidth); + *cwidth = rwidth; + *cheight = (double)(*cheight) * aspect; } - if (*cheight>rheight) { + if (*cheight > rheight) { // image too tall shrink it - aspect=(double)rheight/(double)(*cheight); - *cheight=rheight; - *cwidth=(double)(*cwidth)*aspect; + aspect = (double)rheight / (double)(*cheight); + *cheight = rheight; + *cwidth = (double)(*cwidth) * aspect; } - aspect=(double)*cwidth/(double)*cheight; + aspect = (double) * cwidth / (double) * cheight; - if ((double)rheight*aspect<=rwidth) { + if ((double)rheight * aspect <= rwidth) { // bound by rheight - *cheight=rheight; - *cwidth=((double)rheight*aspect+.5); - if (*cwidth>rwidth) *cwidth=rwidth; + *cheight = rheight; + *cwidth = ((double)rheight * aspect + .5); + if (*cwidth > rwidth) *cwidth = rwidth; } else { // bound by rwidth - *cwidth=rwidth; - *cheight=((double)rwidth/aspect+.5); - if (*cheight>rheight) *cheight=rheight; + *cwidth = rwidth; + *cheight = ((double)rwidth / aspect + .5); + if (*cheight > rheight) *cheight = rheight; } } @@ -1812,49 +1831,49 @@ void init_clipboard(void) { - int current_file=mainw->current_file; + int current_file = mainw->current_file; char *com; - if (clipboard==NULL) { + if (clipboard == NULL) { // here is where we create the clipboard // use get_new_handle(clipnumber,name); - if (!get_new_handle(0,"clipboard")) { - mainw->error=TRUE; + if (!get_new_handle(0, "clipboard")) { + mainw->error = TRUE; return; } - } else if (clipboard->frames>0) { + } else if (clipboard->frames > 0) { // clear old clipboard // need to set current file to 0 before monitoring progress - mainw->current_file=0; - cfile->cb_src=current_file; + mainw->current_file = 0; + cfile->cb_src = current_file; - if (cfile->clip_type==CLIP_TYPE_FILE) { + if (cfile->clip_type == CLIP_TYPE_FILE) { lives_freep((void **)&cfile->frame_index); close_decoder_plugin((lives_decoder_t *)cfile->ext_src); - cfile->ext_src=NULL; - cfile->clip_type=CLIP_TYPE_DISK; + cfile->ext_src = NULL; + cfile->clip_type = CLIP_TYPE_DISK; } - mainw->com_failed=FALSE; - com=lives_strdup_printf("%s delete_all \"%s\"",prefs->backend,clipboard->handle); + mainw->com_failed = FALSE; + com = lives_strdup_printf("%s delete_all \"%s\"", prefs->backend, clipboard->handle); lives_rm(clipboard->info_file); - lives_system(com,FALSE); + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { - mainw->current_file=current_file; + mainw->current_file = current_file; return; } - cfile->progress_start=cfile->start; - cfile->progress_end=cfile->end; + cfile->progress_start = cfile->start; + cfile->progress_end = cfile->end; // show a progress dialog, not cancellable - do_progress_dialog(TRUE,FALSE,_("Clearing the clipboard")); + do_progress_dialog(TRUE, FALSE, _("Clearing the clipboard")); } - clipboard->img_type=IMG_TYPE_BEST; // override the pref - clipboard->cb_src=current_file; - mainw->current_file=current_file; + clipboard->img_type = IMG_TYPE_BEST; // override the pref + clipboard->cb_src = current_file; + mainw->current_file = current_file; } @@ -1868,37 +1887,37 @@ // mainw->no_switch_dprint :: TRUE - disable printing of switch message when maine->current_file changes // mainw->last_dprint_file :: clip number of last mainw->current_file; - LiVESTextBuffer *tbuf=lives_text_view_get_buffer(LIVES_TEXT_VIEW(mainw->textview1)); + LiVESTextBuffer *tbuf = lives_text_view_get_buffer(LIVES_TEXT_VIEW(mainw->textview1)); va_list xargs; - char *switchtext,*tmp,*text; + char *switchtext, *tmp, *text; if (!capable->smog_version_correct) return; if (mainw->suppress_dprint) return; - va_start(xargs,fmt); + va_start(xargs, fmt); - text=lives_strdup_vprintf(fmt,xargs); + text = lives_strdup_vprintf(fmt, xargs); va_end(xargs); if (LIVES_IS_TEXT_VIEW(mainw->textview1)) { - lives_text_buffer_insert_at_end(tbuf,text); - if (mainw->current_file!=mainw->last_dprint_file&&mainw->current_file!=0&&mainw->multitrack==NULL&& - (mainw->current_file==-1||cfile->clip_type!=CLIP_TYPE_GENERATOR)&&!mainw->no_switch_dprint) { - if (mainw->current_file>0) { - switchtext=lives_strdup_printf(_("\n==============================\nSwitched to clip %s\n"),tmp=get_menu_name(cfile)); + lives_text_buffer_insert_at_end(tbuf, text); + if (mainw->current_file != mainw->last_dprint_file && mainw->current_file != 0 && mainw->multitrack == NULL && + (mainw->current_file == -1 || cfile->clip_type != CLIP_TYPE_GENERATOR) && !mainw->no_switch_dprint) { + if (mainw->current_file > 0) { + switchtext = lives_strdup_printf(_("\n==============================\nSwitched to clip %s\n"), tmp = get_menu_name(cfile)); lives_free(tmp); } else { - switchtext=lives_strdup(_("\n==============================\nSwitched to empty clip\n")); + switchtext = lives_strdup(_("\n==============================\nSwitched to empty clip\n")); } - lives_text_buffer_insert_at_end(tbuf,switchtext); + lives_text_buffer_insert_at_end(tbuf, switchtext); lives_free(switchtext); } - if ((mainw->current_file==-1||cfile->clip_type!=CLIP_TYPE_GENERATOR)&& - (!mainw->no_switch_dprint||mainw->current_file!=0)) mainw->last_dprint_file=mainw->current_file; + if ((mainw->current_file == -1 || cfile->clip_type != CLIP_TYPE_GENERATOR) && + (!mainw->no_switch_dprint || mainw->current_file != 0)) mainw->last_dprint_file = mainw->current_file; lives_text_view_scroll_onscreen(LIVES_TEXT_VIEW(mainw->textview1)); } @@ -1913,7 +1932,7 @@ LiVESTextIter end_iter; LiVESList *lmap; - char *text,*name2; + char *text, *name2; char **array; double orig_fps; @@ -1921,194 +1940,194 @@ int resampled_frame; - lives_text_buffer_get_end_iter(LIVES_TEXT_BUFFER(mainw->layout_textbuffer),&end_iter); + lives_text_buffer_get_end_iter(LIVES_TEXT_BUFFER(mainw->layout_textbuffer), &end_iter); - if (affects_current&&user_data==NULL) { - mainw->affected_layout_marks=lives_list_append(mainw->affected_layout_marks, - (livespointer)lives_text_buffer_create_mark - (LIVES_TEXT_BUFFER(mainw->layout_textbuffer),NULL,&end_iter,TRUE)); + if (affects_current && user_data == NULL) { + mainw->affected_layout_marks = lives_list_append(mainw->affected_layout_marks, + (livespointer)lives_text_buffer_create_mark + (LIVES_TEXT_BUFFER(mainw->layout_textbuffer), NULL, &end_iter, TRUE)); } switch (lerror) { case LMAP_INFO_SETNAME_CHANGED: - if (strlen(name)==0) name2=lives_strdup(_("(blank)")); - else name2=lives_strdup(name); - text=lives_strdup_printf - (_("The set name has been changed from %s to %s. Affected layouts have been updated accordingly\n"), - name2,(char *)user_data); - lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer),&end_iter,text,-1); + if (strlen(name) == 0) name2 = lives_strdup(_("(blank)")); + else name2 = lives_strdup(name); + text = lives_strdup_printf + (_("The set name has been changed from %s to %s. Affected layouts have been updated accordingly\n"), + name2, (char *)user_data); + lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer), &end_iter, text, -1); lives_free(name2); lives_free(text); break; case LMAP_ERROR_MISSING_CLIP: - if (prefs->warning_mask&WARN_MASK_LAYOUT_MISSING_CLIPS) return FALSE; - text=lives_strdup_printf(_("The clip %s is missing from this set.\nIt is required by the following layouts:\n"),name); - lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer),&end_iter,text,-1); + if (prefs->warning_mask & WARN_MASK_LAYOUT_MISSING_CLIPS) return FALSE; + text = lives_strdup_printf(_("The clip %s is missing from this set.\nIt is required by the following layouts:\n"), name); + lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer), &end_iter, text, -1); lives_free(text); case LMAP_ERROR_CLOSE_FILE: - text=lives_strdup_printf(_("The clip %s has been closed.\nIt is required by the following layouts:\n"),name); - lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer),&end_iter,text,-1); + text = lives_strdup_printf(_("The clip %s has been closed.\nIt is required by the following layouts:\n"), name); + lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer), &end_iter, text, -1); lives_free(text); break; case LMAP_ERROR_SHIFT_FRAMES: - text=lives_strdup_printf(_("Frames have been shifted in the clip %s.\nThe following layouts are affected:\n"),name); - lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer),&end_iter,text,-1); + text = lives_strdup_printf(_("Frames have been shifted in the clip %s.\nThe following layouts are affected:\n"), name); + lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer), &end_iter, text, -1); lives_free(text); break; case LMAP_ERROR_DELETE_FRAMES: - text=lives_strdup_printf(_("Frames have been deleted from the clip %s.\nThe following layouts are affected:\n"),name); - lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer),&end_iter,text,-1); + text = lives_strdup_printf(_("Frames have been deleted from the clip %s.\nThe following layouts are affected:\n"), name); + lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer), &end_iter, text, -1); lives_free(text); break; case LMAP_ERROR_DELETE_AUDIO: - text=lives_strdup_printf(_("Audio has been deleted from the clip %s.\nThe following layouts are affected:\n"),name); - lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer),&end_iter,text,-1); + text = lives_strdup_printf(_("Audio has been deleted from the clip %s.\nThe following layouts are affected:\n"), name); + lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer), &end_iter, text, -1); lives_free(text); break; case LMAP_ERROR_SHIFT_AUDIO: - text=lives_strdup_printf(_("Audio has been shifted in clip %s.\nThe following layouts are affected:\n"),name); - lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer),&end_iter,text,-1); + text = lives_strdup_printf(_("Audio has been shifted in clip %s.\nThe following layouts are affected:\n"), name); + lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer), &end_iter, text, -1); lives_free(text); break; case LMAP_ERROR_ALTER_AUDIO: - text=lives_strdup_printf(_("Audio has been altered in the clip %s.\nThe following layouts are affected:\n"),name); - lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer),&end_iter,text,-1); + text = lives_strdup_printf(_("Audio has been altered in the clip %s.\nThe following layouts are affected:\n"), name); + lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer), &end_iter, text, -1); lives_free(text); break; case LMAP_ERROR_ALTER_FRAMES: - text=lives_strdup_printf(_("Frames have been altered in the clip %s.\nThe following layouts are affected:\n"),name); - lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer),&end_iter,text,-1); + text = lives_strdup_printf(_("Frames have been altered in the clip %s.\nThe following layouts are affected:\n"), name); + lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer), &end_iter, text, -1); lives_free(text); break; } - if (affects_current&&user_data!=NULL) { - mainw->affected_layout_marks=lives_list_append(mainw->affected_layout_marks, - (livespointer)lives_text_buffer_create_mark - (LIVES_TEXT_BUFFER(mainw->layout_textbuffer),NULL,&end_iter,TRUE)); + if (affects_current && user_data != NULL) { + mainw->affected_layout_marks = lives_list_append(mainw->affected_layout_marks, + (livespointer)lives_text_buffer_create_mark + (LIVES_TEXT_BUFFER(mainw->layout_textbuffer), NULL, &end_iter, TRUE)); } switch (lerror) { case LMAP_INFO_SETNAME_CHANGED: - lmap=mainw->current_layouts_map; - while (lmap!=NULL) { - array=lives_strsplit((char *)lmap->data,"|",-1); - text=lives_strdup_printf("%s\n",array[0]); - lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer),&end_iter,text,-1); + lmap = mainw->current_layouts_map; + while (lmap != NULL) { + array = lives_strsplit((char *)lmap->data, "|", -1); + text = lives_strdup_printf("%s\n", array[0]); + lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer), &end_iter, text, -1); lives_free(text); //mainw->affected_layouts_map=lives_list_append_unique(mainw->affected_layouts_map,array[0]); lives_strfreev(array); - lmap=lmap->next; + lmap = lmap->next; } break; case LMAP_ERROR_MISSING_CLIP: case LMAP_ERROR_CLOSE_FILE: if (affects_current) { - text=lives_strdup_printf("%s\n",mainw->string_constants[LIVES_STRING_CONSTANT_CL]); - lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer),&end_iter,text,-1); + text = lives_strdup_printf("%s\n", mainw->string_constants[LIVES_STRING_CONSTANT_CL]); + lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer), &end_iter, text, -1); lives_free(text); - mainw->affected_layouts_map=lives_list_append_unique(mainw->affected_layouts_map,mainw->string_constants[LIVES_STRING_CONSTANT_CL]); + mainw->affected_layouts_map = lives_list_append_unique(mainw->affected_layouts_map, mainw->string_constants[LIVES_STRING_CONSTANT_CL]); - mainw->affected_layout_marks=lives_list_append(mainw->affected_layout_marks, - (livespointer)lives_text_buffer_create_mark(LIVES_TEXT_BUFFER(mainw->layout_textbuffer), - NULL,&end_iter,TRUE)); + mainw->affected_layout_marks = lives_list_append(mainw->affected_layout_marks, + (livespointer)lives_text_buffer_create_mark(LIVES_TEXT_BUFFER(mainw->layout_textbuffer), + NULL, &end_iter, TRUE)); } - lmap=(LiVESList *)user_data; - while (lmap!=NULL) { - array=lives_strsplit((char *)lmap->data,"|",-1); - text=lives_strdup_printf("%s\n",array[0]); - lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer),&end_iter,text,-1); + lmap = (LiVESList *)user_data; + while (lmap != NULL) { + array = lives_strsplit((char *)lmap->data, "|", -1); + text = lives_strdup_printf("%s\n", array[0]); + lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer), &end_iter, text, -1); lives_free(text); - mainw->affected_layouts_map=lives_list_append_unique(mainw->affected_layouts_map,array[0]); + mainw->affected_layouts_map = lives_list_append_unique(mainw->affected_layouts_map, array[0]); lives_strfreev(array); - lmap=lmap->next; + lmap = lmap->next; } break; case LMAP_ERROR_SHIFT_FRAMES: case LMAP_ERROR_DELETE_FRAMES: case LMAP_ERROR_ALTER_FRAMES: if (affects_current) { - text=lives_strdup_printf("%s\n",mainw->string_constants[LIVES_STRING_CONSTANT_CL]); - lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer),&end_iter,text,-1); + text = lives_strdup_printf("%s\n", mainw->string_constants[LIVES_STRING_CONSTANT_CL]); + lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer), &end_iter, text, -1); lives_free(text); - mainw->affected_layouts_map=lives_list_append_unique(mainw->affected_layouts_map,mainw->string_constants[LIVES_STRING_CONSTANT_CL]); + mainw->affected_layouts_map = lives_list_append_unique(mainw->affected_layouts_map, mainw->string_constants[LIVES_STRING_CONSTANT_CL]); - mainw->affected_layout_marks=lives_list_append(mainw->affected_layout_marks, - (livespointer)lives_text_buffer_create_mark(LIVES_TEXT_BUFFER(mainw->layout_textbuffer), - NULL,&end_iter,TRUE)); - } - lmap=(LiVESList *)user_data; - while (lmap!=NULL) { - array=lives_strsplit((char *)lmap->data,"|",-1); - orig_fps=strtod(array[3],NULL); - resampled_frame=count_resampled_frames(frameno,orig_fps,mainw->files[clipno]->fps); - if (resampled_frame<=atoi(array[2])) { - text=lives_strdup_printf("%s\n",array[0]); - lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer),&end_iter,text,-1); + mainw->affected_layout_marks = lives_list_append(mainw->affected_layout_marks, + (livespointer)lives_text_buffer_create_mark(LIVES_TEXT_BUFFER(mainw->layout_textbuffer), + NULL, &end_iter, TRUE)); + } + lmap = (LiVESList *)user_data; + while (lmap != NULL) { + array = lives_strsplit((char *)lmap->data, "|", -1); + orig_fps = strtod(array[3], NULL); + resampled_frame = count_resampled_frames(frameno, orig_fps, mainw->files[clipno]->fps); + if (resampled_frame <= atoi(array[2])) { + text = lives_strdup_printf("%s\n", array[0]); + lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer), &end_iter, text, -1); lives_free(text); - mainw->affected_layouts_map=lives_list_append_unique(mainw->affected_layouts_map,array[0]); + mainw->affected_layouts_map = lives_list_append_unique(mainw->affected_layouts_map, array[0]); } lives_strfreev(array); - lmap=lmap->next; + lmap = lmap->next; } break; case LMAP_ERROR_SHIFT_AUDIO: case LMAP_ERROR_DELETE_AUDIO: case LMAP_ERROR_ALTER_AUDIO: if (affects_current) { - text=lives_strdup_printf("%s\n",mainw->string_constants[LIVES_STRING_CONSTANT_CL]); - lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer),&end_iter,text,-1); + text = lives_strdup_printf("%s\n", mainw->string_constants[LIVES_STRING_CONSTANT_CL]); + lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer), &end_iter, text, -1); lives_free(text); - mainw->affected_layouts_map=lives_list_append_unique(mainw->affected_layouts_map,mainw->string_constants[LIVES_STRING_CONSTANT_CL]); + mainw->affected_layouts_map = lives_list_append_unique(mainw->affected_layouts_map, mainw->string_constants[LIVES_STRING_CONSTANT_CL]); - mainw->affected_layout_marks=lives_list_append(mainw->affected_layout_marks, - (livespointer)lives_text_buffer_create_mark(LIVES_TEXT_BUFFER(mainw->layout_textbuffer), - NULL,&end_iter,TRUE)); - } - lmap=(LiVESList *)user_data; - while (lmap!=NULL) { - array=lives_strsplit((char *)lmap->data,"|",-1); - max_time=strtod(array[4],NULL); - if (max_time>0.&&atime<=max_time) { - text=lives_strdup_printf("%s\n",array[0]); - lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer),&end_iter,text,-1); + mainw->affected_layout_marks = lives_list_append(mainw->affected_layout_marks, + (livespointer)lives_text_buffer_create_mark(LIVES_TEXT_BUFFER(mainw->layout_textbuffer), + NULL, &end_iter, TRUE)); + } + lmap = (LiVESList *)user_data; + while (lmap != NULL) { + array = lives_strsplit((char *)lmap->data, "|", -1); + max_time = strtod(array[4], NULL); + if (max_time > 0. && atime <= max_time) { + text = lives_strdup_printf("%s\n", array[0]); + lives_text_buffer_insert(LIVES_TEXT_BUFFER(mainw->layout_textbuffer), &end_iter, text, -1); lives_free(text); - mainw->affected_layouts_map=lives_list_append_unique(mainw->affected_layouts_map,array[0]); + mainw->affected_layouts_map = lives_list_append_unique(mainw->affected_layouts_map, array[0]); } lives_strfreev(array); - lmap=lmap->next; + lmap = lmap->next; } break; } lives_widget_set_sensitive(mainw->show_layout_errors, TRUE); - if (mainw->multitrack!=NULL) lives_widget_set_sensitive(mainw->multitrack->show_layout_errors, TRUE); + if (mainw->multitrack != NULL) lives_widget_set_sensitive(mainw->multitrack->show_layout_errors, TRUE); return TRUE; } void clear_lmap_errors(void) { - LiVESTextIter start_iter,end_iter; + LiVESTextIter start_iter, end_iter; LiVESList *lmap; - lives_text_buffer_get_start_iter(LIVES_TEXT_BUFFER(mainw->layout_textbuffer),&start_iter); - lives_text_buffer_get_end_iter(LIVES_TEXT_BUFFER(mainw->layout_textbuffer),&end_iter); - lives_text_buffer_delete(LIVES_TEXT_BUFFER(mainw->layout_textbuffer),&start_iter,&end_iter); + lives_text_buffer_get_start_iter(LIVES_TEXT_BUFFER(mainw->layout_textbuffer), &start_iter); + lives_text_buffer_get_end_iter(LIVES_TEXT_BUFFER(mainw->layout_textbuffer), &end_iter); + lives_text_buffer_delete(LIVES_TEXT_BUFFER(mainw->layout_textbuffer), &start_iter, &end_iter); - lmap=mainw->affected_layouts_map; + lmap = mainw->affected_layouts_map; - while (lmap!=NULL) { + while (lmap != NULL) { lives_free((livespointer)lmap->data); - lmap=lmap->next; + lmap = lmap->next; } lives_list_free(lmap); - mainw->affected_layouts_map=NULL; + mainw->affected_layouts_map = NULL; lives_widget_set_sensitive(mainw->show_layout_errors, FALSE); - if (mainw->multitrack!=NULL) lives_widget_set_sensitive(mainw->multitrack->show_layout_errors, FALSE); + if (mainw->multitrack != NULL) lives_widget_set_sensitive(mainw->multitrack->show_layout_errors, FALSE); - if (mainw->affected_layout_marks!=NULL) { + if (mainw->affected_layout_marks != NULL) { remove_current_from_affected_layouts(mainw->multitrack); } @@ -2124,17 +2143,17 @@ // we redirect the output to info_file and read it int info_fd; - char *msg=NULL; + char *msg = NULL; ssize_t bytes; - char *info_file=lives_strdup_printf("%s/.locks.%d",prefs->workdir,capable->mainpid); - char *com=lives_strdup_printf("%s check_for_lock \"%s\" \"%s\" %d >\"%s\"",prefs->backend_sync,set_name,capable->myname, - capable->mainpid,info_file); + char *info_file = lives_strdup_printf("%s/.locks.%d", prefs->workdir, capable->mainpid); + char *com = lives_strdup_printf("%s check_for_lock \"%s\" \"%s\" %d >\"%s\"", prefs->backend_sync, set_name, capable->myname, + capable->mainpid, info_file); lives_rm(info_file); threaded_dialog_spin(0.); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); threaded_dialog_spin(0.); lives_free(com); @@ -2142,23 +2161,23 @@ if (mainw->com_failed) return FALSE; - info_fd=open(info_file,O_RDONLY); - if (info_fd>-1) { - if ((bytes=read(info_fd,mainw->msg,256))>0) { + info_fd = open(info_file, O_RDONLY); + if (info_fd > -1) { + if ((bytes = read(info_fd, mainw->msg, 256)) > 0) { close(info_fd); - memset(mainw->msg+bytes,0,1); + memset(mainw->msg + bytes, 0, 1); - if (type==0) { - msg=lives_strdup_printf(_("Set %s\ncannot be opened, as it is in use\nby another copy of LiVES.\n"),set_name); + if (type == 0) { + msg = lives_strdup_printf(_("Set %s\ncannot be opened, as it is in use\nby another copy of LiVES.\n"), set_name); threaded_dialog_spin(0.); do_error_dialog(msg); threaded_dialog_spin(0.); - } else if (type==1) { - msg=lives_strdup_printf - (_("\nThe set %s is currently in use by another copy of LiVES.\nPlease choose another set name.\n"),set_name); + } else if (type == 1) { + msg = lives_strdup_printf + (_("\nThe set %s is currently in use by another copy of LiVES.\nPlease choose another set name.\n"), set_name); if (!mainw->osc_auto) do_blocking_error_dialog(msg); } - if (msg!=NULL) { + if (msg != NULL) { lives_free(msg); } lives_rm(info_file); @@ -2175,42 +2194,42 @@ boolean do_std_checks(const char *type_name, const char *type, size_t maxlen, const char *nreject) { - char *xtype=lives_strdup(type),*msg; - const char *reject=" /\\*\""; + char *xtype = lives_strdup(type), *msg; + const char *reject = " /\\*\""; - size_t slen=strlen(type_name); + size_t slen = strlen(type_name); register int i; - if (nreject!=NULL) reject=nreject; + if (nreject != NULL) reject = nreject; - if (slen==0) { - msg=lives_strdup_printf(_("\n%s names may not be blank.\n"),xtype); + if (slen == 0) { + msg = lives_strdup_printf(_("\n%s names may not be blank.\n"), xtype); if (!mainw->osc_auto) do_blocking_error_dialog(msg); lives_free(msg); lives_free(xtype); return FALSE; } - if (slen>MAX_SET_NAME_LEN) { - msg=lives_strdup_printf(_("\n%s names may not be longer than %d characters.\n"),xtype,(int)maxlen); + if (slen > MAX_SET_NAME_LEN) { + msg = lives_strdup_printf(_("\n%s names may not be longer than %d characters.\n"), xtype, (int)maxlen); if (!mainw->osc_auto) do_blocking_error_dialog(msg); lives_free(msg); lives_free(xtype); return FALSE; } - if (strcspn(type_name,reject)!=slen) { - msg=lives_strdup_printf(_("\n%s names may not contain spaces or the characters%s.\n"),xtype,reject); + if (strcspn(type_name, reject) != slen) { + msg = lives_strdup_printf(_("\n%s names may not contain spaces or the characters%s.\n"), xtype, reject); if (!mainw->osc_auto) do_blocking_error_dialog(msg); lives_free(msg); lives_free(xtype); return FALSE; } - for (i=0; i<slen-1; i++) { - if (type_name[i]=='.'&&(i==0||type_name[i+1]=='.')) { - msg=lives_strdup_printf(_("\n%s names may not start with a '.' or contain '..'\n"),xtype); + for (i = 0; i < slen - 1; i++) { + if (type_name[i] == '.' && (i == 0 || type_name[i + 1] == '.')) { + msg = lives_strdup_printf(_("\n%s names may not start with a '.' or contain '..'\n"), xtype); if (!mainw->osc_auto) do_blocking_error_dialog(msg); lives_free(msg); lives_free(xtype); @@ -2242,17 +2261,17 @@ char *msg; - if (!do_std_checks(set_name,_("Set"),MAX_SET_NAME_LEN,NULL)) return FALSE; + if (!do_std_checks(set_name, _("Set"), MAX_SET_NAME_LEN, NULL)) return FALSE; // check if this is a set in use by another copy of LiVES - if (!check_for_lock_file(set_name,1)) return FALSE; + if (!check_for_lock_file(set_name, 1)) return FALSE; if (!allow_dupes) { // check for duplicate set names - char *set_dir=lives_build_filename(prefs->workdir,set_name,NULL); - if (lives_file_test(set_dir,LIVES_FILE_TEST_IS_DIR)) { + char *set_dir = lives_build_filename(prefs->workdir, set_name, NULL); + if (lives_file_test(set_dir, LIVES_FILE_TEST_IS_DIR)) { lives_free(set_dir); - msg=lives_strdup_printf(_("\nThe set %s already exists.\nPlease choose another set name.\n"),set_name); + msg = lives_strdup_printf(_("\nThe set %s already exists.\nPlease choose another set name.\n"), set_name); do_blocking_error_dialog(msg); lives_free(msg); return FALSE; @@ -2276,20 +2295,20 @@ } LIVES_INLINE lives_image_type_t lives_image_ext_to_type(const char *img_ext) { - if (!strcmp(img_ext,LIVES_FILE_EXT_PNG)) return IMG_TYPE_PNG; - if (!strcmp(img_ext,LIVES_FILE_EXT_JPG)) return IMG_TYPE_JPEG; + if (!strcmp(img_ext, LIVES_FILE_EXT_PNG)) return IMG_TYPE_PNG; + if (!strcmp(img_ext, LIVES_FILE_EXT_JPG)) return IMG_TYPE_JPEG; return IMG_TYPE_UNKNOWN; } LIVES_INLINE lives_image_type_t lives_image_type_to_image_type(const char *lives_img_type) { - if (!strcmp(lives_img_type,LIVES_IMAGE_TYPE_PNG)) return IMG_TYPE_PNG; - if (!strcmp(lives_img_type,LIVES_IMAGE_TYPE_JPEG)) return IMG_TYPE_JPEG; + if (!strcmp(lives_img_type, LIVES_IMAGE_TYPE_PNG)) return IMG_TYPE_PNG; + if (!strcmp(lives_img_type, LIVES_IMAGE_TYPE_JPEG)) return IMG_TYPE_JPEG; return IMG_TYPE_UNKNOWN; } LIVES_INLINE char *make_image_file_name(lives_clip_t *sfile, int frame, const char *img_ext) { - return lives_strdup_printf("%s/%s/%08d.%s",prefs->workdir,sfile->handle,frame,img_ext); + return lives_strdup_printf("%s/%s/%08d.%s", prefs->workdir, sfile->handle, frame, img_ext); } @@ -2303,9 +2322,9 @@ // ingores gaps // make sure nth frame is there... - char *frame=make_image_file_name(mainw->files[idx],mainw->files[idx]->frames,get_image_ext_for_type(mainw->files[idx]->img_type)); + char *frame = make_image_file_name(mainw->files[idx], mainw->files[idx]->frames, get_image_ext_for_type(mainw->files[idx]->img_type)); - if (!lives_file_test(frame,LIVES_FILE_TEST_EXISTS)) { + if (!lives_file_test(frame, LIVES_FILE_TEST_EXISTS)) { // not enough frames lives_free(frame); return FALSE; @@ -2313,9 +2332,9 @@ lives_free(frame); // ...make sure n + 1 th frame is not - frame=make_image_file_name(mainw->files[idx],mainw->files[idx]->frames+1,get_image_ext_for_type(mainw->files[idx]->img_type)); + frame = make_image_file_name(mainw->files[idx], mainw->files[idx]->frames + 1, get_image_ext_for_type(mainw->files[idx]->img_type)); - if (lives_file_test(frame,LIVES_FILE_TEST_EXISTS)) { + if (lives_file_test(frame, LIVES_FILE_TEST_EXISTS)) { // too many frames lives_free(frame); return FALSE; @@ -2328,10 +2347,10 @@ void count_opening_frames(void) { - int cframes=cfile->frames; + int cframes = cfile->frames; get_frame_count(mainw->current_file); - mainw->opening_frames=cfile->frames; - cfile->frames=cframes; + mainw->opening_frames = cfile->frames; + cfile->frames = cframes; } @@ -2348,12 +2367,12 @@ int info_fd; int retval; ssize_t bytes; - char *info_file=lives_strdup_printf("%s/.check.%d",prefs->workdir,capable->mainpid); - char *com=lives_strdup_printf("%s count_frames \"%s\" \"%s\" > \"%s\"",prefs->backend_sync,mainw->files[idx]->handle, - get_image_ext_for_type(mainw->files[idx]->img_type),info_file); + char *info_file = lives_strdup_printf("%s/.check.%d", prefs->workdir, capable->mainpid); + char *com = lives_strdup_printf("%s count_frames \"%s\" \"%s\" > \"%s\"", prefs->backend_sync, mainw->files[idx]->handle, + get_image_ext_for_type(mainw->files[idx]->img_type), info_file); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); lives_free(com); if (mainw->com_failed) { @@ -2362,22 +2381,22 @@ } do { - retval=0; - info_fd=open(info_file,O_RDONLY); - if (info_fd<0) { - retval=do_read_failed_error_s_with_retry(info_file,lives_strerror(errno),NULL); + retval = 0; + info_fd = open(info_file, O_RDONLY); + if (info_fd < 0) { + retval = do_read_failed_error_s_with_retry(info_file, lives_strerror(errno), NULL); } else { - if ((bytes=lives_read(info_fd,mainw->msg,256,TRUE))>0) { - if (bytes==0) { - retval=do_read_failed_error_s_with_retry(info_file,NULL,NULL); + if ((bytes = lives_read(info_fd, mainw->msg, 256, TRUE)) > 0) { + if (bytes == 0) { + retval = do_read_failed_error_s_with_retry(info_file, NULL, NULL); } else { - memset(mainw->msg+bytes,0,1); - mainw->files[idx]->frames=atoi(mainw->msg); + memset(mainw->msg + bytes, 0, 1); + mainw->files[idx]->frames = atoi(mainw->msg); } } close(info_fd); } - } while (retval==LIVES_RESPONSE_RETRY); + } while (retval == LIVES_RESPONSE_RETRY); lives_rm(info_file); lives_free(info_file); @@ -2385,12 +2404,12 @@ void get_frames_sizes(int fileno, int frame) { - lives_clip_t *sfile=mainw->files[fileno]; + lives_clip_t *sfile = mainw->files[fileno]; LiVESPixbuf *pixbuf; - if ((pixbuf=pull_lives_pixbuf(fileno,frame,get_image_ext_for_type(mainw->files[fileno]->img_type),0))) { - sfile->hsize=lives_pixbuf_get_width(pixbuf); - sfile->vsize=lives_pixbuf_get_height(pixbuf); + if ((pixbuf = pull_lives_pixbuf(fileno, frame, get_image_ext_for_type(mainw->files[fileno]->img_type), 0))) { + sfile->hsize = lives_pixbuf_get_width(pixbuf); + sfile->vsize = lives_pixbuf_get_height(pixbuf); lives_object_unref(pixbuf); } @@ -2401,9 +2420,9 @@ void get_next_free_file(void) { // get next free file slot, or -1 if we are full // can support MAX_FILES files (default 65536) - while ((mainw->first_free_file!=-1)&&mainw->files[mainw->first_free_file]!=NULL) { + while ((mainw->first_free_file != -1) && mainw->files[mainw->first_free_file] != NULL) { mainw->first_free_file++; - if (mainw->first_free_file>=MAX_FILES) mainw->first_free_file=-1; + if (mainw->first_free_file >= MAX_FILES) mainw->first_free_file = -1; } } @@ -2413,11 +2432,11 @@ // get directory name from a file //filename should point to char[PATH_MAX] - lives_snprintf(filename,PATH_MAX,"%s%s",(tmp=lives_path_get_dirname(filename)),LIVES_DIR_SEP); - if (!strcmp(tmp,".")) { - char *tmp1=lives_get_current_dir(),*tmp2=lives_build_filename(tmp1,filename+2,NULL); + lives_snprintf(filename, PATH_MAX, "%s%s", (tmp = lives_path_get_dirname(filename)), LIVES_DIR_SEP); + if (!strcmp(tmp, ".")) { + char *tmp1 = lives_get_current_dir(), *tmp2 = lives_build_filename(tmp1, filename + 2, NULL); lives_free(tmp1); - lives_snprintf(filename,PATH_MAX,"%s",tmp2); + lives_snprintf(filename, PATH_MAX, "%s", tmp2); lives_free(tmp2); } @@ -2428,7 +2447,7 @@ char *get_dir(const char *filename) { char tmp[PATH_MAX]; - lives_snprintf(tmp,PATH_MAX,"%s",filename); + lives_snprintf(tmp, PATH_MAX, "%s", filename); get_dirname(tmp); return lives_strdup(tmp); } @@ -2438,8 +2457,8 @@ // get basename from a file // (filename without directory) //filename should point to char[PATH_MAX] - char *tmp=lives_path_get_basename(filename); - lives_snprintf(filename,PATH_MAX,"%s",tmp); + char *tmp = lives_path_get_basename(filename); + lives_snprintf(filename, PATH_MAX, "%s", tmp); lives_free(tmp); } @@ -2449,18 +2468,18 @@ //filename should point to char[PATH_MAX] char **array; if (strip_dir) get_basename(filename); - array=lives_strsplit(filename,".",-1); - lives_snprintf(filename,PATH_MAX,"%s",array[0]); + array = lives_strsplit(filename, ".", -1); + lives_snprintf(filename, PATH_MAX, "%s", array[0]); lives_strfreev(array); } char *get_extension(const char *filename) { // return file extension without the "." - char *tmp=lives_path_get_basename(filename); - int ntok=get_token_count((char *)filename,'.'); - char **array=lives_strsplit(tmp,".",-1); - char *ret=lives_strdup(array[ntok-1]); + char *tmp = lives_path_get_basename(filename); + int ntok = get_token_count((char *)filename, '.'); + char **array = lives_strsplit(tmp, ".", -1); + char *ret = lives_strdup(array[ntok - 1]); lives_strfreev(array); lives_free(tmp); return ret; @@ -2468,8 +2487,8 @@ char *ensure_extension(const char *fname, const char *ext) { - if (!strcmp(fname+strlen(fname)-strlen(ext),ext)) return lives_strdup(fname); - return lives_strconcat(fname,ext,NULL); + if (!strcmp(fname + strlen(fname) - strlen(ext), ext)) return lives_strdup(fname); + return lives_strconcat(fname, ext, NULL); } @@ -2479,15 +2498,15 @@ // returns TRUE if fname was altered - size_t slen=strlen(fname); - size_t offs=slen-1; + size_t slen = strlen(fname); + size_t offs = slen - 1; char *tmp; - while (offs>=0&&!strcmp(fname+offs,LIVES_DIR_SEP)) offs--; - if (offs==slen-2) return FALSE; - memset(fname+offs+1,0,1); - tmp=lives_strdup_printf("%s%s",fname,LIVES_DIR_SEP); - lives_snprintf(fname,PATH_MAX,"%s",tmp); + while (offs >= 0 && !strcmp(fname + offs, LIVES_DIR_SEP)) offs--; + if (offs == slen - 2) return FALSE; + memset(fname + offs + 1, 0, 1); + tmp = lives_strdup_printf("%s%s", fname, LIVES_DIR_SEP); + lives_snprintf(fname, PATH_MAX, "%s", tmp); lives_free(tmp); return TRUE; } @@ -2498,11 +2517,11 @@ // sets it in val which is a char array of maxlen bytes char *loc; - if ((loc=lives_find_program_in_path(exe))!=NULL) { - lives_snprintf(val,maxlen,"%s",loc); + if ((loc = lives_find_program_in_path(exe)) != NULL) { + lives_snprintf(val, maxlen, "%s", loc); lives_free(loc); } else { - memset(val,0,1); + memset(val, 0, 1); } } @@ -2512,13 +2531,13 @@ FILE *rfile; ssize_t rlen; char val[16]; - char *com=lives_strdup_printf("%s get_version_hash \"%s\" \"%s\" %d",prefs->backend_sync,exe,sep,piece); - rfile=popen(com,"r"); - rlen=fread(val,1,16,rfile); + char *com = lives_strdup_printf("%s get_version_hash \"%s\" \"%s\" %d", prefs->backend_sync, exe, sep, piece); + rfile = popen(com, "r"); + rlen = fread(val, 1, 16, rfile); pclose(rfile); - memset(val+rlen,0,1); + memset(val + rlen, 0, 1); lives_free(com); - return strtol(val,NULL,10); + return strtol(val, NULL, 10); } #define VER_MAJOR_MULT 1000000 @@ -2532,19 +2551,19 @@ int ntok; char **array; - if (ver==NULL) return 0; + if (ver == NULL) return 0; - ntok=get_token_count((char *)ver,'.'); - array=lives_strsplit(ver,".",-1); + ntok = get_token_count((char *)ver, '.'); + array = lives_strsplit(ver, ".", -1); - hash=atoi(array[0])*VER_MAJOR_MULT; + hash = atoi(array[0]) * VER_MAJOR_MULT; - if (ntok>1) { - hash+=atoi(array[1])*VER_MINOR_MULT; + if (ntok > 1) { + hash += atoi(array[1]) * VER_MINOR_MULT; } - if (ntok>2) { - hash+=atoi(array[2])*VER_MICRO_MULT; + if (ntok > 2) { + hash += atoi(array[2]) * VER_MICRO_MULT; } lives_strfreev(array); @@ -2563,17 +2582,17 @@ // fwd FALSE replaces "workdir" with "/tmp/foo" - char *string=lives_strdup(entry); + char *string = lives_strdup(entry); if (fwd) { - if (!strncmp(entry,prefs->workdir,strlen(prefs->workdir))) { + if (!strncmp(entry, prefs->workdir, strlen(prefs->workdir))) { lives_free(string); - string=lives_strdup_printf("workdir%s",entry+strlen(prefs->workdir)); + string = lives_strdup_printf("workdir%s", entry + strlen(prefs->workdir)); } } else { - if (!strncmp(entry,"workdir",6)) { + if (!strncmp(entry, "workdir", 6)) { lives_free(string); - string=lives_build_filename(prefs->workdir,entry+6,NULL); + string = lives_build_filename(prefs->workdir, entry + 6, NULL); } } return string; @@ -2589,47 +2608,47 @@ // called after, for example: a clip is removed or altered and the user opts to remove all associated layouts - LiVESList *lmap,*lmap_next,*cmap,*cmap_next,*map_next; + LiVESList *lmap, *lmap_next, *cmap, *cmap_next, *map_next; size_t maplen; char **array; - char *fname,*fdir; + char *fname, *fdir; boolean is_current; register int i; - while (map!=NULL) { - map_next=map->next; - if (map->data!=NULL) { - if (!strcmp((char *)map->data,mainw->string_constants[LIVES_STRING_CONSTANT_CL])) { - is_current=TRUE; - fname=lives_strdup(mainw->string_constants[LIVES_STRING_CONSTANT_CL]); + while (map != NULL) { + map_next = map->next; + if (map->data != NULL) { + if (!strcmp((char *)map->data, mainw->string_constants[LIVES_STRING_CONSTANT_CL])) { + is_current = TRUE; + fname = lives_strdup(mainw->string_constants[LIVES_STRING_CONSTANT_CL]); } else { - is_current=FALSE; - maplen=strlen((char *)map->data); + is_current = FALSE; + maplen = strlen((char *)map->data); // remove from mainw->current_layouts_map - cmap=mainw->current_layouts_map; - while (cmap!=NULL) { - cmap_next=cmap->next; - if (!strcmp((char *)cmap->data,(char *)map->data)) { + cmap = mainw->current_layouts_map; + while (cmap != NULL) { + cmap_next = cmap->next; + if (!strcmp((char *)cmap->data, (char *)map->data)) { lives_free((livespointer)cmap->data); - mainw->current_layouts_map=lives_list_delete_link(mainw->current_layouts_map,cmap); + mainw->current_layouts_map = lives_list_delete_link(mainw->current_layouts_map, cmap); break; } - cmap=cmap_next; + cmap = cmap_next; } - array=lives_strsplit((char *)map->data,"|",-1); - fname=repl_workdir(array[0],FALSE); + array = lives_strsplit((char *)map->data, "|", -1); + fname = repl_workdir(array[0], FALSE); lives_strfreev(array); } // fname should now hold the layout name on disk - d_print(_("Removing layout %s\n"),fname); + d_print(_("Removing layout %s\n"), fname); if (!is_current) { lives_rm(fname); @@ -2637,19 +2656,19 @@ // if no more layouts in parent dir, we can delete dir // ensure that parent dir is below our own working dir - if (!strncmp(fname,prefs->workdir,strlen(prefs->workdir))) { + if (!strncmp(fname, prefs->workdir, strlen(prefs->workdir))) { // is in workdir, safe to remove parents - char *protect_file=lives_build_filename(prefs->workdir,"noremove",NULL); + char *protect_file = lives_build_filename(prefs->workdir, "noremove", NULL); - mainw->com_failed=FALSE; + mainw->com_failed = FALSE; // touch a file in tpmdir, so we cannot remove workdir itself lives_touch(protect_file); if (!mainw->com_failed) { // ok, the "touch" worked // now we call rmdir -p : remove directory + any empty parents - fdir=lives_path_get_dirname(fname); + fdir = lives_path_get_dirname(fname); lives_rmdir_with_parents(fdir); lives_free(fdir); } @@ -2661,17 +2680,17 @@ // remove from mainw->files[]->layout_map - for (i=1; i<=MAX_FILES; i++) { - if (mainw->files[i]!=NULL) { - if (mainw->files[i]->layout_map!=NULL) { - lmap=mainw->files[i]->layout_map; - while (lmap!=NULL) { - lmap_next=lmap->next; - if (!strncmp((char *)lmap->data,(char *)map->data,maplen)) { + for (i = 1; i <= MAX_FILES; i++) { + if (mainw->files[i] != NULL) { + if (mainw->files[i]->layout_map != NULL) { + lmap = mainw->files[i]->layout_map; + while (lmap != NULL) { + lmap_next = lmap->next; + if (!strncmp((char *)lmap->data, (char *)map->data, maplen)) { lives_free((livespointer)lmap->data); - mainw->files[i]->layout_map=lives_list_delete_link(mainw->files[i]->layout_map,lmap); + mainw->files[i]->layout_map = lives_list_delete_link(mainw->files[i]->layout_map, lmap); } - lmap=lmap_next; + lmap = lmap_next; } } } @@ -2679,7 +2698,7 @@ } else { // asked to remove the currently loaded layout - if (mainw->stored_event_list!=NULL||mainw->sl_undo_mem!=NULL) { + if (mainw->stored_event_list != NULL || mainw->sl_undo_mem != NULL) { // we are in CE mode, so event_list is in storage stored_event_list_free_all(TRUE); } @@ -2687,70 +2706,76 @@ else remove_current_from_affected_layouts(mainw->multitrack); // and we dont want to try reloading this next time - prefs->ar_layout=FALSE; - set_pref(PREF_AR_LAYOUT,""); - memset(prefs->ar_layout_name,0,1); + prefs->ar_layout = FALSE; + set_pref(PREF_AR_LAYOUT, ""); + memset(prefs->ar_layout_name, 0, 1); } lives_free(fname); } - map=map_next; + map = map_next; } // save updated layout.map - save_layout_map(NULL,NULL,NULL,NULL); + save_layout_map(NULL, NULL, NULL, NULL); } - +#define TEST_AUDLEVELS void get_play_times(void) { // update the on-screen timer bars, // and if we are not playing, // get play times for video, audio channels, and total (longest) time - // TODO *** colour_config - - char *tmpstr; - double offset=0; - double offset_left=0; - double offset_right=0; + double offset = 0; + double offset_left = 0; + double offset_right = 0; double allocwidth; double allocheight; - int current_file=mainw->current_file; + int current_file = mainw->current_file; + int afd = -1; + + register int i; + +#ifdef TEST_AUDLEVELS + char *filename; + double atime; + float vol; +#endif - if (current_file>-1&&cfile!=NULL&&cfile->cb_src!=-1) mainw->current_file=cfile->cb_src; + if (current_file > -1 && cfile != NULL && cfile->cb_src != -1) mainw->current_file = cfile->cb_src; - if (mainw->current_file==-1||mainw->foreign||cfile==NULL||mainw->multitrack!=NULL||mainw->recoverable_layout) { - mainw->current_file=current_file; + if (mainw->current_file == -1 || mainw->foreign || cfile == NULL || mainw->multitrack != NULL || mainw->recoverable_layout) { + mainw->current_file = current_file; return; } - if (mainw->playing_file==-1) { + if (mainw->playing_file == -1) { get_total_time(cfile); } if (!mainw->is_ready) { - mainw->current_file=current_file; + mainw->current_file = current_file; return; } - if (mainw->laudio_drawable==NULL||mainw->raudio_drawable==NULL) { - mainw->current_file=current_file; + if (mainw->laudio_drawable == NULL || mainw->raudio_drawable == NULL) { + mainw->current_file = current_file; return; } // draw timer bars - allocwidth=lives_widget_get_allocation_width(mainw->video_draw); - allocheight=lives_widget_get_allocation_height(mainw->video_draw); + allocwidth = lives_widget_get_allocation_width(mainw->video_draw); + allocheight = lives_widget_get_allocation_height(mainw->video_draw); - if (mainw->laudio_drawable!=NULL) { - lives_painter_t *cr=lives_painter_create(mainw->laudio_drawable); + if (mainw->laudio_drawable != NULL) { + lives_painter_t *cr = lives_painter_create(mainw->laudio_drawable); - lives_painter_render_background(mainw->laudio_draw,cr,0,0, + lives_painter_render_background(mainw->laudio_draw, cr, 0, 0, allocwidth, allocheight); @@ -2758,10 +2783,10 @@ } - if (mainw->raudio_drawable!=NULL) { - lives_painter_t *cr=lives_painter_create(mainw->raudio_drawable); + if (mainw->raudio_drawable != NULL) { + lives_painter_t *cr = lives_painter_create(mainw->raudio_drawable); - lives_painter_render_background(mainw->raudio_draw,cr,0,0, + lives_painter_render_background(mainw->raudio_draw, cr, 0, 0, allocwidth, allocheight); @@ -2769,10 +2794,10 @@ } - if (mainw->video_drawable!=NULL) { - lives_painter_t *cr=lives_painter_create(mainw->video_drawable); + if (mainw->video_drawable != NULL) { + lives_painter_t *cr = lives_painter_create(mainw->video_drawable); - lives_painter_render_background(mainw->video_draw,cr,0,0, + lives_painter_render_background(mainw->video_draw, cr, 0, 0, allocwidth, allocheight); @@ -2780,29 +2805,29 @@ } - if (cfile->frames>0) { - offset_left=(cfile->start-1)/cfile->fps/cfile->total_time*allocwidth; - offset_right=(cfile->end)/cfile->fps/cfile->total_time*allocwidth; + if (cfile->frames > 0) { + offset_left = (cfile->start - 1) / cfile->fps / cfile->total_time * allocwidth; + offset_right = (cfile->end) / cfile->fps / cfile->total_time * allocwidth; - if (mainw->video_drawable!=NULL) { - lives_painter_t *cr=lives_painter_create(mainw->video_drawable); + if (mainw->video_drawable != NULL) { + lives_painter_t *cr = lives_painter_create(mainw->video_drawable); // unselected - lives_painter_set_source_rgb_from_lives_rgba(cr,&palette->ce_unsel); + lives_painter_set_source_rgb_from_lives_rgba(cr, &palette->ce_unsel); - lives_painter_rectangle(cr,0,0, - cfile->video_time/cfile->total_time*allocwidth-1, + lives_painter_rectangle(cr, 0, 0, + cfile->video_time / cfile->total_time * allocwidth - 1, prefs->bar_height); lives_painter_fill(cr); // selected - lives_painter_set_source_rgb_from_lives_rgba(cr,&palette->ce_sel); + lives_painter_set_source_rgb_from_lives_rgba(cr, &palette->ce_sel); - lives_painter_rectangle(cr,offset_left, 0, - offset_right-offset_left, + lives_painter_rectangle(cr, offset_left, 0, + offset_right - offset_left, prefs->bar_height); lives_painter_fill(cr); @@ -2811,94 +2836,132 @@ } } - if (cfile->achans>0) { - if (mainw->playing_file>-1) { - offset_left=((mainw->playing_sel&&is_realtime_aplayer(prefs->audio_player))? - cfile->start-1.:mainw->audio_start-1.)/cfile->fps/cfile->total_time*allocwidth; - if (mainw->audio_end&&!mainw->loop) { - offset_right=((is_realtime_aplayer(prefs->audio_player))? - cfile->end:mainw->audio_end)/cfile->fps/cfile->total_time*allocwidth; + if (cfile->achans > 0) { + if (mainw->playing_file > -1) { + offset_left = ((mainw->playing_sel && is_realtime_aplayer(prefs->audio_player)) ? + cfile->start - 1. : mainw->audio_start - 1.) / cfile->fps / cfile->total_time * allocwidth; + if (mainw->audio_end && !mainw->loop) { + offset_right = ((is_realtime_aplayer(prefs->audio_player)) ? + cfile->end : mainw->audio_end) / cfile->fps / cfile->total_time * allocwidth; } else { - offset_right=allocwidth*cfile->laudio_time/cfile->total_time; + offset_right = allocwidth * cfile->laudio_time / cfile->total_time; } } - if (offset_right>cfile->laudio_time/cfile->total_time*allocwidth) - offset_right=cfile->laudio_time/cfile->total_time*allocwidth; - + if (offset_right > cfile->laudio_time / cfile->total_time * allocwidth) + offset_right = cfile->laudio_time / cfile->total_time * allocwidth; - - if (mainw->laudio_drawable!=NULL) { - lives_painter_t *cr=lives_painter_create(mainw->laudio_drawable); + if (mainw->laudio_drawable != NULL) { + lives_painter_t *cr = lives_painter_create(mainw->laudio_drawable); // unselected - lives_painter_set_source_rgb_from_lives_rgba(cr,&palette->ce_unsel); + lives_painter_set_source_rgb_from_lives_rgba(cr, &palette->ce_unsel); - lives_painter_rectangle(cr,0,0, - cfile->laudio_time/cfile->total_time*allocwidth-1, +#ifdef TEST_AUDLEVELS + lives_painter_rectangle(cr, 0, prefs->bar_height * 1.5, + offset_left, prefs->bar_height); - + lives_painter_rectangle(cr, offset_right, prefs->bar_height * 1.5, + cfile->raudio_time / cfile->total_time * allocwidth - offset_right, + prefs->bar_height); +#else + lives_painter_rectangle(cr, 0, 0, + cfile->laudio_time / cfile->total_time * allocwidth - 1, + prefs->bar_height); +#endif lives_painter_fill(cr); - if (offset_left<cfile->laudio_time/cfile->total_time*allocwidth) { + if (offset_left < cfile->laudio_time / cfile->total_time * allocwidth) { - lives_painter_set_source_rgb_from_lives_rgba(cr,&palette->ce_sel); + lives_painter_set_source_rgb_from_lives_rgba(cr, &palette->ce_sel); - lives_painter_rectangle(cr,offset_left, 0, - offset_right-offset_left, +#ifdef TEST_AUDLEVELS + filename = lives_build_filename(prefs->workdir, cfile->handle, "audio", NULL); + afd = lives_open2(filename, O_RDONLY); + lives_free(filename); + + for (i = offset_left; i < offset_right; i++) { + atime = i / allocwidth * cfile->total_time; + lives_painter_move_to(cr, i, prefs->bar_height * 2); + vol = get_float_audio_val_at_time(mainw->current_file, afd, atime, 0, cfile->achans) * 2.; + lives_painter_line_to(cr, i, (double)prefs->bar_height * (2. - vol)); + } + lives_painter_stroke(cr); +#else + lives_painter_rectangle(cr, offset_left, 0, + offset_right - offset_left, prefs->bar_height); lives_painter_fill(cr); - +#endif } lives_painter_destroy(cr); } - if (cfile->achans>1) { - if (mainw->raudio_drawable!=NULL) { - lives_painter_t *cr=lives_painter_create(mainw->raudio_drawable); + if (cfile->achans > 1) { + if (mainw->raudio_drawable != NULL) { + lives_painter_t *cr = lives_painter_create(mainw->raudio_drawable); // unselected - lives_painter_set_source_rgb_from_lives_rgba(cr,&palette->ce_unsel); + lives_painter_set_source_rgb_from_lives_rgba(cr, &palette->ce_unsel); - lives_painter_rectangle(cr,0,0, - cfile->raudio_time/cfile->total_time*allocwidth-1, +#ifdef TEST_AUDLEVELS + lives_painter_rectangle(cr, 0, prefs->bar_height * 1.5, + offset_left, prefs->bar_height); + lives_painter_rectangle(cr, offset_right, prefs->bar_height * 1.5, + cfile->raudio_time / cfile->total_time * allocwidth - offset_right, + prefs->bar_height); +#else + lives_painter_rectangle(cr, 0, prefs->bar_height, + cfile->raudio_time / cfile->total_time * allocwidth - 1, + prefs->bar_height * 2); +#endif lives_painter_fill(cr); - if (offset_left<cfile->laudio_time/cfile->total_time*allocwidth) { + if (offset_left < cfile->laudio_time / cfile->total_time * allocwidth) { - lives_painter_set_source_rgb_from_lives_rgba(cr,&palette->ce_sel); + lives_painter_set_source_rgb_from_lives_rgba(cr, &palette->ce_sel); - lives_painter_rectangle(cr,offset_left, 0, - offset_right-offset_left, +#ifdef TEST_AUDLEVELS + for (i = offset_left; i < offset_right; i++) { + atime = i / allocwidth * cfile->total_time; + lives_painter_move_to(cr, i, prefs->bar_height * 2); + vol = get_float_audio_val_at_time(mainw->current_file, afd, atime, 1, cfile->achans) * 2.; + lives_painter_line_to(cr, i, (double)prefs->bar_height * (2. - vol)); + } + lives_painter_stroke(cr); +#else + lives_painter_rectangle(cr, offset_left, 0, + offset_right - offset_left, prefs->bar_height); lives_painter_fill(cr); +#endif } - lives_painter_destroy(cr); - } } } + if (afd != -1) close(afd); + // playback cursors - if (mainw->playing_file>-1) { - if (cfile->frames>0) { - draw_little_bars((mainw->actual_frame-1.)/cfile->fps); + if (mainw->playing_file > -1) { + if (cfile->frames > 0) { + draw_little_bars((mainw->actual_frame - 1.) / cfile->fps); } - if (cfile->frames==0) { - lives_ruler_set_value(LIVES_RULER(mainw->hruler),offset*cfile->total_time/allocwidth); + if (cfile->frames == 0) { + lives_ruler_set_value(LIVES_RULER(mainw->hruler), offset * cfile->total_time / allocwidth); lives_widget_queue_draw(mainw->hruler); } } - if (mainw->playing_file==-1||(mainw->switch_during_pb&&!mainw->faded)) { - if (cfile->total_time>0.) { + if (mainw->playing_file == -1 || (mainw->switch_during_pb && !mainw->faded)) { + if (cfile->total_time > 0.) { // set the range of the timeline if (!cfile->opening_loc) { if (!lives_widget_is_visible(mainw->hruler)) { @@ -2913,19 +2976,19 @@ lives_widget_show(mainw->raudio_draw); } - lives_ruler_set_upper(LIVES_RULER(mainw->hruler),cfile->total_time); + lives_ruler_set_upper(LIVES_RULER(mainw->hruler), cfile->total_time); lives_widget_queue_draw(mainw->hruler); draw_little_bars(cfile->pointer_time); - if (mainw->playing_file==-1&&mainw->play_window!=NULL&&cfile->is_loaded) { - if (mainw->preview_box==NULL) { + if (mainw->playing_file == -1 && mainw->play_window != NULL && cfile->is_loaded) { + if (mainw->preview_box == NULL) { // create the preview box that shows frames make_preview_box(); } // and add it the play window - if (lives_widget_get_parent(mainw->preview_box)==NULL&&(cfile->clip_type==CLIP_TYPE_DISK|| - cfile->clip_type==CLIP_TYPE_FILE)&&!mainw->is_rendering) { + if (lives_widget_get_parent(mainw->preview_box) == NULL && (cfile->clip_type == CLIP_TYPE_DISK || + cfile->clip_type == CLIP_TYPE_FILE) && !mainw->is_rendering) { lives_widget_queue_draw(mainw->play_window); lives_container_add(LIVES_CONTAINER(mainw->play_window), mainw->preview_box); lives_widget_grab_focus(mainw->preview_spinbutton); @@ -2938,55 +3001,55 @@ lives_widget_hide(mainw->eventbox5); } - if (cfile->opening_loc||(cfile->frames==123456789&&cfile->opening)) { - tmpstr=lives_strdup(_("Video [opening...]")); + if (cfile->opening_loc || (cfile->frames == 123456789 && cfile->opening)) { + tmpstr = lives_strdup(_("Video [opening...]")); } else { - if (cfile->video_time>0.) { - tmpstr=lives_strdup_printf(_("Video [%.2f sec]"),cfile->video_time); + if (cfile->video_time > 0.) { + tmpstr = lives_strdup_printf(_("Video [%.2f sec]"), cfile->video_time); } else { - if (cfile->video_time<=0.&&cfile->frames>0) { - tmpstr=lives_strdup(_("(Undefined)")); + if (cfile->video_time <= 0. && cfile->frames > 0) { + tmpstr = lives_strdup(_("(Undefined)")); } else { - tmpstr=lives_strdup(_("(No video)")); + tmpstr = lives_strdup(_("(No video)")); } } } - lives_label_set_text(LIVES_LABEL(mainw->vidbar),tmpstr); + lives_label_set_text(LIVES_LABEL(mainw->vidbar), tmpstr); lives_free(tmpstr); - if (cfile->achans==0) { - tmpstr=lives_strdup(_("(No audio)")); + if (cfile->achans == 0) { + tmpstr = lives_strdup(_("(No audio)")); } else { if (cfile->opening_audio) { - if (cfile->achans==1) { - tmpstr=lives_strdup(_("Mono [opening...]")); + if (cfile->achans == 1) { + tmpstr = lives_strdup(_("Mono [opening...]")); } else { - tmpstr=lives_strdup(_("Left Audio [opening...]")); + tmpstr = lives_strdup(_("Left Audio [opening...]")); } } else { - if (cfile->achans==1) { - tmpstr=lives_strdup_printf(_("Mono [%.2f sec]"),cfile->laudio_time); + if (cfile->achans == 1) { + tmpstr = lives_strdup_printf(_("Mono [%.2f sec]"), cfile->laudio_time); } else { - tmpstr=lives_strdup_printf(_("Left Audio [%.2f sec]"),cfile->laudio_time); + tmpstr = lives_strdup_printf(_("Left Audio [%.2f sec]"), cfile->laudio_time); } } } - lives_label_set_text(LIVES_LABEL(mainw->laudbar),tmpstr); + lives_label_set_text(LIVES_LABEL(mainw->laudbar), tmpstr); lives_free(tmpstr); - if (cfile->achans>1) { + if (cfile->achans > 1) { if (cfile->opening_audio) { - tmpstr=lives_strdup(_("Right Audio [opening...]")); + tmpstr = lives_strdup(_("Right Audio [opening...]")); } else { - tmpstr=lives_strdup_printf(_("Right Audio [%.2f sec]"),cfile->raudio_time); + tmpstr = lives_strdup_printf(_("Right Audio [%.2f sec]"), cfile->raudio_time); } - lives_label_set_text(LIVES_LABEL(mainw->raudbar),tmpstr); + lives_label_set_text(LIVES_LABEL(mainw->raudbar), tmpstr); lives_widget_show(mainw->raudbar); lives_free(tmpstr); } else { lives_widget_hide(mainw->raudbar); } } else { - double ptrtime=(mainw->actual_frame-.5)/cfile->fps; - if (ptrtime<0.) ptrtime=0.; + double ptrtime = (mainw->actual_frame - .5) / cfile->fps; + if (ptrtime < 0.) ptrtime = 0.; draw_little_bars(ptrtime); } @@ -2998,31 +3061,31 @@ lives_widget_queue_draw(mainw->vidbar); lives_widget_queue_draw(mainw->hruler); - mainw->current_file=current_file; + mainw->current_file = current_file; } void draw_little_bars(double ptrtime) { //draw the vertical player bars - double allocheight=lives_widget_get_allocation_height(mainw->video_draw)-prefs->bar_height; - double allocwidth=lives_widget_get_allocation_width(mainw->video_draw); - double offset=ptrtime/cfile->total_time*allocwidth; + double allocheight = lives_widget_get_allocation_height(mainw->video_draw) - prefs->bar_height; + double allocwidth = lives_widget_get_allocation_width(mainw->video_draw); + double offset = ptrtime / cfile->total_time * allocwidth; int frame; if (!prefs->show_gui) return; - if (!(frame=calc_frame_from_time(mainw->current_file,ptrtime))) - frame=cfile->frames; + if (!(frame = calc_frame_from_time(mainw->current_file, ptrtime))) + frame = cfile->frames; - if (cfile->frames>0) { - if (mainw->video_drawable!=NULL) { - lives_painter_t *cr=lives_painter_create(mainw->video_drawable); + if (cfile->frames > 0) { + if (mainw->video_drawable != NULL) { + lives_painter_t *cr = lives_painter_create(mainw->video_drawable); - lives_painter_set_line_width(cr,1.); + lives_painter_set_line_width(cr, 1.); - if (frame>=cfile->start&&frame<=cfile->end) { + if (frame >= cfile->start && frame <= cfile->end) { lives_painter_set_source_rgb(cr, 0., 0., 0.); ///< opaque black lives_painter_move_to(cr, offset, 0); lives_painter_line_to(cr, offset, prefs->bar_height); @@ -3033,7 +3096,7 @@ } lives_painter_stroke(cr); - if (palette->style&STYLE_3||palette->style==STYLE_PLAIN) { // light style + if (palette->style & STYLE_3 || palette->style == STYLE_PLAIN) { // light style lives_painter_set_source_rgb(cr, 0., 0., 0.); ///< opaque black lives_painter_move_to(cr, offset, prefs->bar_height); lives_painter_line_to(cr, offset, allocheight); @@ -3043,39 +3106,36 @@ lives_painter_line_to(cr, offset, allocheight); } lives_painter_stroke(cr); - lives_painter_destroy(cr); - - } } - if (mainw->playing_file>-1) { - if (cfile->achans>0&&cfile->is_loaded&&prefs->audio_src!=AUDIO_SRC_EXT) { - if (is_realtime_aplayer(prefs->audio_player)&&(mainw->event_list==NULL||!mainw->preview)) { + if (mainw->playing_file > -1) { + if (cfile->achans > 0 && cfile->is_loaded && prefs->audio_src != AUDIO_SRC_EXT) { + if (is_realtime_aplayer(prefs->audio_player) && (mainw->event_list == NULL || !mainw->preview)) { #ifdef ENABLE_JACK - if (mainw->jackd!=NULL&&prefs->audio_player==AUD_PLAYER_JACK) { - offset=allocwidth*((double)mainw->jackd->seek_pos/cfile->arate/cfile->achans/ - cfile->asampsize*8)/cfile->total_time; + if (mainw->jackd != NULL && prefs->audio_player == AUD_PLAYER_JACK) { + offset = allocwidth * ((double)mainw->jackd->seek_pos / cfile->arate / cfile->achans / + cfile->asampsize * 8) / cfile->total_time; } #endif #ifdef HAVE_PULSE_AUDIO - if (mainw->pulsed!=NULL&&prefs->audio_player==AUD_PLAYER_PULSE) { - offset=allocwidth*((double)mainw->pulsed->seek_pos/cfile->arate/cfile->achans/ - cfile->asampsize*8)/cfile->total_time; + if (mainw->pulsed != NULL && prefs->audio_player == AUD_PLAYER_PULSE) { + offset = allocwidth * ((double)mainw->pulsed->seek_pos / cfile->arate / cfile->achans / + cfile->asampsize * 8) / cfile->total_time; } #endif - } else offset=allocwidth*(mainw->aframeno-.5)/cfile->fps/cfile->total_time; + } else offset = allocwidth * (mainw->aframeno - .5) / cfile->fps / cfile->total_time; } } - if (cfile->achans>0) { - if (mainw->laudio_drawable!=NULL) { - lives_painter_t *cr=lives_painter_create(mainw->laudio_drawable); + if (cfile->achans > 0) { + if (mainw->laudio_drawable != NULL) { + lives_painter_t *cr = lives_painter_create(mainw->laudio_drawable); - lives_painter_set_line_width(cr,1.); + lives_painter_set_line_width(cr, 1.); - if (frame>=cfile->start&&frame<=cfile->end) { + if (frame >= cfile->start && frame <= cfile->end) { lives_painter_set_source_rgb(cr, 0., 0., 0.); ///< opaque black lives_painter_move_to(cr, offset, 0); lives_painter_line_to(cr, offset, prefs->bar_height); @@ -3086,7 +3146,7 @@ } lives_painter_stroke(cr); - if (palette->style&STYLE_3||palette->style==STYLE_PLAIN) { // light style + if (palette->style & STYLE_3 || palette->style == STYLE_PLAIN) { // light style lives_painter_set_source_rgb(cr, 0., 0., 0.); ///< opaque black lives_painter_move_to(cr, offset, prefs->bar_height); lives_painter_line_to(cr, offset, allocheight); @@ -3101,38 +3161,34 @@ } - if (cfile->achans>1) { - if (mainw->raudio_drawable!=NULL) { - if ((frame>=cfile->start&&frame<=cfile->end)||mainw->loop) { - lives_painter_t *cr=lives_painter_create(mainw->raudio_drawable); - - lives_painter_set_line_width(cr,1.); - - if (frame>=cfile->start&&frame<=cfile->end) { - lives_painter_set_source_rgb(cr, 0., 0., 0.); ///< opaque black - lives_painter_move_to(cr, offset, 0); - lives_painter_line_to(cr, offset, prefs->bar_height); - } else { - lives_painter_set_source_rgb(cr, 1., 1., 1.); ///< opaque white - lives_painter_move_to(cr, offset, 0); - lives_painter_line_to(cr, offset, prefs->bar_height); - } - lives_painter_stroke(cr); - - if (palette->style&STYLE_3||palette->style==STYLE_PLAIN) { // light style - lives_painter_set_source_rgb(cr, 0., 0., 0.); ///< opaque black - lives_painter_move_to(cr, offset, prefs->bar_height); - lives_painter_line_to(cr, offset, allocheight); - } else { - lives_painter_set_source_rgb(cr, 1., 1., 1.); ///< opaque white - lives_painter_move_to(cr, offset, prefs->bar_height); - lives_painter_line_to(cr, offset, allocheight); - } - lives_painter_stroke(cr); - - lives_painter_destroy(cr); + if (cfile->achans > 1) { + if (mainw->raudio_drawable != NULL) { + lives_painter_t *cr = lives_painter_create(mainw->raudio_drawable); + + lives_painter_set_line_width(cr, 1.); + + if (frame >= cfile->start && frame <= cfile->end) { + lives_painter_set_source_rgb(cr, 0., 0., 0.); ///< opaque black + lives_painter_move_to(cr, offset, 0); + lives_painter_line_to(cr, offset, prefs->bar_height); + } else { + lives_painter_set_source_rgb(cr, 1., 1., 1.); ///< opaque white + lives_painter_move_to(cr, offset, 0); + lives_painter_line_to(cr, offset, prefs->bar_height); + } + lives_painter_stroke(cr); + if (palette->style & STYLE_3 || palette->style == STYLE_PLAIN) { // light style + lives_painter_set_source_rgb(cr, 0., 0., 0.); ///< opaque black + lives_painter_move_to(cr, offset, prefs->bar_height); + lives_painter_line_to(cr, offset, allocheight); + } else { + lives_painter_set_source_rgb(cr, 1., 1., 1.); ///< opaque white + lives_painter_move_to(cr, offset, prefs->bar_height); + lives_painter_line_to(cr, offset, allocheight); } + lives_painter_stroke(cr); + lives_painter_destroy(cr); } } } @@ -3145,31 +3201,31 @@ void get_total_time(lives_clip_t *file) { // get times (video, left and right audio) - file->laudio_time=file->raudio_time=file->video_time=file->total_time=0.; + file->laudio_time = file->raudio_time = file->video_time = file->total_time = 0.; - if (file->opening&&file->frames!=123456789) { - if (file->frames*file->fps>0) { - file->video_time=file->total_time=file->frames/file->fps; + if (file->opening && file->frames != 123456789) { + if (file->frames * file->fps > 0) { + file->video_time = file->total_time = file->frames / file->fps; } return; } - if (file->fps>0.) { - file->total_time=file->video_time=file->frames/file->fps; + if (file->fps > 0.) { + file->total_time = file->video_time = file->frames / file->fps; } - if (file->asampsize*file->arate*file->achans) { - file->laudio_time=(double)(file->afilesize/(file->asampsize>>3)/file->achans)/(double)file->arate; - if (file->achans>1) { - file->raudio_time=file->laudio_time; + if (file->asampsize * file->arate * file->achans) { + file->laudio_time = (double)(file->afilesize / (file->asampsize >> 3) / file->achans) / (double)file->arate; + if (file->achans > 1) { + file->raudio_time = file->laudio_time; } } - if (file->laudio_time>file->total_time) file->total_time=file->laudio_time; - if (file->raudio_time>file->total_time) file->total_time=file->raudio_time; + if (file->laudio_time > file->total_time) file->total_time = file->laudio_time; + if (file->raudio_time > file->total_time) file->total_time = file->raudio_time; - if (file->laudio_time+file->raudio_time==0.&&!file->opening) { - file->achans=file->afilesize=file->asampsize=file->arate=file->arps=0; + if (file->laudio_time + file->raudio_time == 0. && !file->opening) { + file->achans = file->afilesize = file->asampsize = file->arate = file->arps = 0; } } @@ -3184,89 +3240,89 @@ // a>v stop on video end stop on audio end no stop // v>a stop on video end stop on video end no stop // generator start - not playing : stop on vid_end, unless pure audio; - if (cfile->clip_type==CLIP_TYPE_GENERATOR||mainw->aud_rec_fd!=-1) mainw->whentostop=STOP_ON_VID_END; - else if (mainw->multitrack!=NULL&&cfile->frames>0) mainw->whentostop=STOP_ON_VID_END; - else if (cfile->clip_type!=CLIP_TYPE_DISK&&cfile->clip_type!=CLIP_TYPE_FILE) mainw->whentostop=NEVER_STOP; - else if (cfile->opening_only_audio) mainw->whentostop=STOP_ON_AUD_END; - else if (cfile->opening_audio) mainw->whentostop=STOP_ON_VID_END; - else if (!mainw->preview&&(mainw->loop_cont||(mainw->loop&&prefs->audio_src==AUDIO_SRC_EXT))) mainw->whentostop=NEVER_STOP; - else if (cfile->frames==0||(mainw->loop&&cfile->achans>0&&!mainw->is_rendering&&(mainw->audio_end/cfile->fps) - <MAX(cfile->laudio_time,cfile->raudio_time)&& - calc_time_from_frame(mainw->current_file,mainw->play_start)<cfile->laudio_time)) - mainw->whentostop=STOP_ON_AUD_END; - else mainw->whentostop=STOP_ON_VID_END; // tada... + if (cfile->clip_type == CLIP_TYPE_GENERATOR || mainw->aud_rec_fd != -1) mainw->whentostop = STOP_ON_VID_END; + else if (mainw->multitrack != NULL && cfile->frames > 0) mainw->whentostop = STOP_ON_VID_END; + else if (cfile->clip_type != CLIP_TYPE_DISK && cfile->clip_type != CLIP_TYPE_FILE) mainw->whentostop = NEVER_STOP; + else if (cfile->opening_only_audio) mainw->whentostop = STOP_ON_AUD_END; + else if (cfile->opening_audio) mainw->whentostop = STOP_ON_VID_END; + else if (!mainw->preview && (mainw->loop_cont || (mainw->loop && prefs->audio_src == AUDIO_SRC_EXT))) mainw->whentostop = NEVER_STOP; + else if (cfile->frames == 0 || (mainw->loop && cfile->achans > 0 && !mainw->is_rendering && (mainw->audio_end / cfile->fps) + < MAX(cfile->laudio_time, cfile->raudio_time) && + calc_time_from_frame(mainw->current_file, mainw->play_start) < cfile->laudio_time)) + mainw->whentostop = STOP_ON_AUD_END; + else mainw->whentostop = STOP_ON_VID_END; // tada... } #define ASPECT_ALLOWANCE 0.005 -void minimise_aspect_delta(double aspect,int hblock,int vblock,int hsize,int vsize,int *width,int *height) { +void minimise_aspect_delta(double aspect, int hblock, int vblock, int hsize, int vsize, int *width, int *height) { // we will use trigonometry to calculate the smallest difference between a given // aspect ratio and the actual frame size. If the delta is smaller than current // we set the height and width - int cw=width[0]; - int ch=height[0]; + int cw = width[0]; + int ch = height[0]; - int real_width,real_height; - uint64_t delta,current_delta; + int real_width, real_height; + uint64_t delta, current_delta; // minimise d[(x-x1)^2 + (y-y1)^2]/d[x1], to get approximate values - int calc_width=(int)((vsize+aspect*hsize)*aspect/(aspect*aspect+1.)); + int calc_width = (int)((vsize + aspect * hsize) * aspect / (aspect * aspect + 1.)); int i; - current_delta=(hsize-cw)*(hsize-cw)+(vsize-ch)*(vsize-ch); + current_delta = (hsize - cw) * (hsize - cw) + (vsize - ch) * (vsize - ch); #ifdef DEBUG_ASPECT - lives_printerr("aspect %.8f : width %d height %d is best fit\n",aspect,calc_width,(int)(calc_width/aspect)); + lives_printerr("aspect %.8f : width %d height %d is best fit\n", aspect, calc_width, (int)(calc_width / aspect)); #endif // use the block size to find the nearest allowed size - for (i=-1; i<2; i++) { - real_width=(int)(calc_width/hblock+i)*hblock; - real_height=(int)(real_width/aspect/vblock+.5)*vblock; - delta=(hsize-real_width)*(hsize-real_width)+(vsize-real_height)*(vsize-real_height); + for (i = -1; i < 2; i++) { + real_width = (int)(calc_width / hblock + i) * hblock; + real_height = (int)(real_width / aspect / vblock + .5) * vblock; + delta = (hsize - real_width) * (hsize - real_width) + (vsize - real_height) * (vsize - real_height); - if (real_width%hblock!=0||real_height%vblock!=0||ABS((double)real_width/(double)real_height-aspect)>ASPECT_ALLOWANCE) { + if (real_width % hblock != 0 || real_height % vblock != 0 || ABS((double)real_width / (double)real_height - aspect) > ASPECT_ALLOWANCE) { // encoders can be fussy, so we need to fit both aspect ratio and blocksize while (1) { - real_width=((int)(real_width/hblock)+1)*hblock; - real_height=(int)((double)real_width/aspect+.5); + real_width = ((int)(real_width / hblock) + 1) * hblock; + real_height = (int)((double)real_width / aspect + .5); - if (real_height%vblock==0) break; + if (real_height % vblock == 0) break; - real_height=((int)(real_height/vblock)+1)*vblock; - real_width=(int)((double)real_height*aspect+.5); + real_height = ((int)(real_height / vblock) + 1) * vblock; + real_width = (int)((double)real_height * aspect + .5); - if (real_width%hblock==0) break; + if (real_width % hblock == 0) break; } } #ifdef DEBUG_ASPECT - lives_printerr("block quantise to %d x %d\n",real_width,real_height); + lives_printerr("block quantise to %d x %d\n", real_width, real_height); #endif - if (delta<current_delta) { + if (delta < current_delta) { #ifdef DEBUG_ASPECT lives_printerr("is better fit\n"); #endif - current_delta=delta; - width[0]=real_width; - height[0]=real_height; + current_delta = delta; + width[0] = real_width; + height[0] = real_height; } } } void zero_spinbuttons(void) { - lives_signal_handler_block(mainw->spinbutton_start,mainw->spin_start_func); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->spinbutton_start),0.,0.); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start),0.); - lives_signal_handler_unblock(mainw->spinbutton_start,mainw->spin_start_func); - lives_signal_handler_block(mainw->spinbutton_end,mainw->spin_end_func); - lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->spinbutton_end),0.,0.); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end),0.); - lives_signal_handler_unblock(mainw->spinbutton_end,mainw->spin_end_func); + lives_signal_handler_block(mainw->spinbutton_start, mainw->spin_start_func); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->spinbutton_start), 0., 0.); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_start), 0.); + lives_signal_handler_unblock(mainw->spinbutton_start, mainw->spin_start_func); + lives_signal_handler_block(mainw->spinbutton_end, mainw->spin_end_func); + lives_spin_button_set_range(LIVES_SPIN_BUTTON(mainw->spinbutton_end), 0., 0.); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(mainw->spinbutton_end), 0.); + lives_signal_handler_unblock(mainw->spinbutton_end, mainw->spin_end_func); } @@ -3276,51 +3332,51 @@ #ifdef ENABLE_JACK if (mainw->is_ready) { lives_jack_init(); - if (mainw->jackd==NULL) { + if (mainw->jackd == NULL) { jack_audio_init(); jack_audio_read_init(); - mainw->jackd=jack_get_driver(0,TRUE); + mainw->jackd = jack_get_driver(0, TRUE); if (jack_open_device(mainw->jackd)) { - mainw->jackd=NULL; + mainw->jackd = NULL; return FALSE; } - mainw->jackd->whentostop=&mainw->whentostop; - mainw->jackd->cancelled=&mainw->cancelled; - mainw->jackd->in_use=FALSE; - mainw->jackd->play_when_stopped=(prefs->jack_opts&JACK_OPTS_NOPLAY_WHEN_PAUSED)?FALSE:TRUE; + mainw->jackd->whentostop = &mainw->whentostop; + mainw->jackd->cancelled = &mainw->cancelled; + mainw->jackd->in_use = FALSE; + mainw->jackd->play_when_stopped = (prefs->jack_opts & JACK_OPTS_NOPLAY_WHEN_PAUSED) ? FALSE : TRUE; jack_driver_activate(mainw->jackd); } - mainw->aplayer_broken=FALSE; + mainw->aplayer_broken = FALSE; lives_widget_show(mainw->vol_toolitem); - if (mainw->vol_label!=NULL) lives_widget_show(mainw->vol_label); + if (mainw->vol_label != NULL) lives_widget_show(mainw->vol_label); lives_widget_show(mainw->recaudio_submenu); - if (mainw->vpp!=NULL&&mainw->vpp->get_audio_fmts!=NULL) - mainw->vpp->audio_codec=get_best_audio(mainw->vpp); + if (mainw->vpp != NULL && mainw->vpp->get_audio_fmts != NULL) + mainw->vpp->audio_codec = get_best_audio(mainw->vpp); #ifdef HAVE_PULSE_AUDIO - if (mainw->pulsed_read!=NULL) { + if (mainw->pulsed_read != NULL) { pulse_close_client(mainw->pulsed_read); - mainw->pulsed_read=NULL; + mainw->pulsed_read = NULL; } - if (mainw->pulsed!=NULL) { + if (mainw->pulsed != NULL) { pulse_close_client(mainw->pulsed); - mainw->pulsed=NULL; + mainw->pulsed = NULL; pulse_shutdown(); } #endif } - prefs->audio_player=AUD_PLAYER_JACK; - set_pref(PREF_AUDIO_PLAYER,AUDIO_PLAYER_JACK); - lives_snprintf(prefs->aplayer,512,"%s",AUDIO_PLAYER_JACK); + prefs->audio_player = AUD_PLAYER_JACK; + set_pref(PREF_AUDIO_PLAYER, AUDIO_PLAYER_JACK); + lives_snprintf(prefs->aplayer, 512, "%s", AUDIO_PLAYER_JACK); - if (mainw->is_ready&&mainw->vpp!=NULL&&mainw->vpp->get_audio_fmts!=NULL) - mainw->vpp->audio_codec=get_best_audio(mainw->vpp); + if (mainw->is_ready && mainw->vpp != NULL && mainw->vpp->get_audio_fmts != NULL) + mainw->vpp->audio_codec = get_best_audio(mainw->vpp); - if (prefs->perm_audio_reader&&prefs->audio_src==AUDIO_SRC_EXT) { - jack_rec_audio_to_clip(-1,-1,RECA_EXTERNAL); + if (prefs->perm_audio_reader && prefs->audio_src == AUDIO_SRC_EXT) { + jack_rec_audio_to_clip(-1, -1, RECA_EXTERNAL); } @@ -3336,43 +3392,43 @@ boolean retval; if (mainw->is_ready) { - if ((retval=lives_pulse_init(-1))) { - if (mainw->pulsed==NULL) { + if ((retval = lives_pulse_init(-1))) { + if (mainw->pulsed == NULL) { pulse_audio_init(); pulse_audio_read_init(); - mainw->pulsed=pulse_get_driver(TRUE); - mainw->pulsed->whentostop=&mainw->whentostop; - mainw->pulsed->cancelled=&mainw->cancelled; - mainw->pulsed->in_use=FALSE; + mainw->pulsed = pulse_get_driver(TRUE); + mainw->pulsed->whentostop = &mainw->whentostop; + mainw->pulsed->cancelled = &mainw->cancelled; + mainw->pulsed->in_use = FALSE; pulse_driver_activate(mainw->pulsed); } - mainw->aplayer_broken=FALSE; + mainw->aplayer_broken = FALSE; lives_widget_show(mainw->vol_toolitem); - if (mainw->vol_label!=NULL) lives_widget_show(mainw->vol_label); + if (mainw->vol_label != NULL) lives_widget_show(mainw->vol_label); lives_widget_show(mainw->recaudio_submenu); - prefs->audio_player=AUD_PLAYER_PULSE; - set_pref(PREF_AUDIO_PLAYER,AUDIO_PLAYER_PULSE); - lives_snprintf(prefs->aplayer,512,"%s",AUDIO_PLAYER_PULSE); + prefs->audio_player = AUD_PLAYER_PULSE; + set_pref(PREF_AUDIO_PLAYER, AUDIO_PLAYER_PULSE); + lives_snprintf(prefs->aplayer, 512, "%s", AUDIO_PLAYER_PULSE); - if (mainw->vpp!=NULL&&mainw->vpp->get_audio_fmts!=NULL) - mainw->vpp->audio_codec=get_best_audio(mainw->vpp); + if (mainw->vpp != NULL && mainw->vpp->get_audio_fmts != NULL) + mainw->vpp->audio_codec = get_best_audio(mainw->vpp); } #ifdef ENABLE_JACK - if (mainw->jackd_read!=NULL) { + if (mainw->jackd_read != NULL) { jack_close_device(mainw->jackd_read); - mainw->jackd_read=NULL; + mainw->jackd_read = NULL; } - if (mainw->jackd!=NULL) { + if (mainw->jackd != NULL) { jack_close_device(mainw->jackd); - mainw->jackd=NULL; + mainw->jackd = NULL; } - if (prefs->perm_audio_reader&&prefs->audio_src==AUDIO_SRC_EXT) { - jack_rec_audio_to_clip(-1,-1,RECA_EXTERNAL); + if (prefs->perm_audio_reader && prefs->audio_src == AUDIO_SRC_EXT) { + jack_rec_audio_to_clip(-1, -1, RECA_EXTERNAL); } @@ -3388,41 +3444,41 @@ void switch_aud_to_sox(boolean set_in_prefs) { - prefs->audio_player=AUD_PLAYER_SOX; - get_pref_default(PREF_SOX_COMMAND,prefs->audio_play_command,256); - if (set_in_prefs) set_pref(PREF_AUDIO_PLAYER,AUDIO_PLAYER_SOX); - lives_snprintf(prefs->aplayer,512,"%s",AUDIO_PLAYER_SOX); - set_pref(PREF_AUDIO_PLAY_COMMAND,prefs->audio_play_command); + prefs->audio_player = AUD_PLAYER_SOX; + get_pref_default(PREF_SOX_COMMAND, prefs->audio_play_command, 256); + if (set_in_prefs) set_pref(PREF_AUDIO_PLAYER, AUDIO_PLAYER_SOX); + lives_snprintf(prefs->aplayer, 512, "%s", AUDIO_PLAYER_SOX); + set_pref(PREF_AUDIO_PLAY_COMMAND, prefs->audio_play_command); if (mainw->is_ready) { lives_widget_hide(mainw->vol_toolitem); - if (mainw->vol_label!=NULL) lives_widget_hide(mainw->vol_label); + if (mainw->vol_label != NULL) lives_widget_hide(mainw->vol_label); lives_widget_hide(mainw->recaudio_submenu); - if (mainw->vpp!=NULL&&mainw->vpp->get_audio_fmts!=NULL) - mainw->vpp->audio_codec=get_best_audio(mainw->vpp); + if (mainw->vpp != NULL && mainw->vpp->get_audio_fmts != NULL) + mainw->vpp->audio_codec = get_best_audio(mainw->vpp); } #ifdef ENABLE_JACK - if (mainw->jackd_read!=NULL) { + if (mainw->jackd_read != NULL) { jack_close_device(mainw->jackd_read); - mainw->jackd_read=NULL; + mainw->jackd_read = NULL; } - if (mainw->jackd!=NULL) { + if (mainw->jackd != NULL) { jack_close_device(mainw->jackd); - mainw->jackd=NULL; + mainw->jackd = NULL; } #endif #ifdef HAVE_PULSE_AUDIO - if (mainw->pulsed_read!=NULL) { + if (mainw->pulsed_read != NULL) { pulse_close_client(mainw->pulsed_read); - mainw->pulsed_read=NULL; + mainw->pulsed_read = NULL; } - if (mainw->pulsed!=NULL) { + if (mainw->pulsed != NULL) { pulse_close_client(mainw->pulsed); - mainw->pulsed=NULL; + mainw->pulsed = NULL; pulse_shutdown(); } #endif @@ -3433,50 +3489,50 @@ void switch_aud_to_mplayer(boolean set_in_prefs) { int i; - for (i=1; i<MAX_FILES; i++) { - if (mainw->files[i]!=NULL) { - if (i!=mainw->current_file&&mainw->files[i]->opening) { + for (i = 1; i < MAX_FILES; i++) { + if (mainw->files[i] != NULL) { + if (i != mainw->current_file && mainw->files[i]->opening) { do_error_dialog(_("LiVES cannot switch to mplayer whilst clips are loading.")); return; } } } - prefs->audio_player=AUD_PLAYER_MPLAYER; - get_pref_default(PREF_MPLAYER_AUDIO_COMMAND,prefs->audio_play_command,256); - if (set_in_prefs) set_pref(PREF_AUDIO_PLAYER,AUDIO_PLAYER_MPLAYER); - lives_snprintf(prefs->aplayer,512,"%s",AUDIO_PLAYER_MPLAYER); - set_pref(PREF_AUDIO_PLAY_COMMAND,prefs->audio_play_command); + prefs->audio_player = AUD_PLAYER_MPLAYER; + get_pref_default(PREF_MPLAYER_AUDIO_COMMAND, prefs->audio_play_command, 256); + if (set_in_prefs) set_pref(PREF_AUDIO_PLAYER, AUDIO_PLAYER_MPLAYER); + lives_snprintf(prefs->aplayer, 512, "%s", AUDIO_PLAYER_MPLAYER); + set_pref(PREF_AUDIO_PLAY_COMMAND, prefs->audio_play_command); if (mainw->is_ready) { lives_widget_hide(mainw->vol_toolitem); - if (mainw->vol_label!=NULL) lives_widget_hide(mainw->vol_label); + if (mainw->vol_label != NULL) lives_widget_hide(mainw->vol_label); lives_widget_hide(mainw->recaudio_submenu); - if (mainw->vpp!=NULL&&mainw->vpp->get_audio_fmts!=NULL) - mainw->vpp->audio_codec=get_best_audio(mainw->vpp); + if (mainw->vpp != NULL && mainw->vpp->get_audio_fmts != NULL) + mainw->vpp->audio_codec = get_best_audio(mainw->vpp); } #ifdef ENABLE_JACK - if (mainw->jackd_read!=NULL) { + if (mainw->jackd_read != NULL) { jack_close_device(mainw->jackd_read); - mainw->jackd_read=NULL; + mainw->jackd_read = NULL; } - if (mainw->jackd!=NULL) { + if (mainw->jackd != NULL) { jack_close_device(mainw->jackd); - mainw->jackd=NULL; + mainw->jackd = NULL; } #endif #ifdef HAVE_PULSE_AUDIO - if (mainw->pulsed_read!=NULL) { + if (mainw->pulsed_read != NULL) { pulse_close_client(mainw->pulsed_read); - mainw->pulsed_read=NULL; + mainw->pulsed_read = NULL; } - if (mainw->pulsed!=NULL) { + if (mainw->pulsed != NULL) { pulse_close_client(mainw->pulsed); - mainw->pulsed=NULL; + mainw->pulsed = NULL; pulse_shutdown(); } #endif @@ -3486,50 +3542,50 @@ void switch_aud_to_mplayer2(boolean set_in_prefs) { int i; - for (i=1; i<MAX_FILES; i++) { - if (mainw->files[i]!=NULL) { - if (i!=mainw->current_file&&mainw->files[i]->opening) { + for (i = 1; i < MAX_FILES; i++) { + if (mainw->files[i] != NULL) { + if (i != mainw->current_file && mainw->files[i]->opening) { do_error_dialog(_("LiVES cannot switch to mplayer2 whilst clips are loading.")); return; } } } - prefs->audio_player=AUD_PLAYER_MPLAYER2; - get_pref_default(PREF_MPLAYER2_AUDIO_COMMAND,prefs->audio_play_command,256); - if (set_in_prefs) set_pref(PREF_AUDIO_PLAYER,AUDIO_PLAYER_MPLAYER2); - lives_snprintf(prefs->aplayer,512,"%s",AUDIO_PLAYER_MPLAYER2); - set_pref(PREF_AUDIO_PLAY_COMMAND,prefs->audio_play_command); + prefs->audio_player = AUD_PLAYER_MPLAYER2; + get_pref_default(PREF_MPLAYER2_AUDIO_COMMAND, prefs->audio_play_command, 256); + if (set_in_prefs) set_pref(PREF_AUDIO_PLAYER, AUDIO_PLAYER_MPLAYER2); + lives_snprintf(prefs->aplayer, 512, "%s", AUDIO_PLAYER_MPLAYER2); + set_pref(PREF_AUDIO_PLAY_COMMAND, prefs->audio_play_command); if (mainw->is_ready) { lives_widget_hide(mainw->vol_toolitem); - if (mainw->vol_label!=NULL) lives_widget_hide(mainw->vol_label); + if (mainw->vol_label != NULL) lives_widget_hide(mainw->vol_label); lives_widget_hide(mainw->recaudio_submenu); - if (mainw->vpp!=NULL&&mainw->vpp->get_audio_fmts!=NULL) - mainw->vpp->audio_codec=get_best_audio(mainw->vpp); + if (mainw->vpp != NULL && mainw->vpp->get_audio_fmts != NULL) + mainw->vpp->audio_codec = get_best_audio(mainw->vpp); } #ifdef ENABLE_JACK - if (mainw->jackd_read!=NULL) { + if (mainw->jackd_read != NULL) { jack_close_device(mainw->jackd_read); - mainw->jackd_read=NULL; + mainw->jackd_read = NULL; } - if (mainw->jackd!=NULL) { + if (mainw->jackd != NULL) { jack_close_device(mainw->jackd); - mainw->jackd=NULL; + mainw->jackd = NULL; } #endif #ifdef HAVE_PULSE_AUDIO - if (mainw->pulsed_read!=NULL) { + if (mainw->pulsed_read != NULL) { pulse_close_client(mainw->pulsed_read); - mainw->pulsed_read=NULL; + mainw->pulsed_read = NULL; } - if (mainw->pulsed!=NULL) { + if (mainw->pulsed != NULL) { pulse_close_client(mainw->pulsed); - mainw->pulsed=NULL; + mainw->pulsed = NULL; pulse_shutdown(); } #endif @@ -3544,48 +3600,48 @@ -#if !GTK_CHECK_VERSION(3,0,0) +#if !GTK_CHECK_VERSION(3, 0, 0) #ifdef GDK_WINDOWING_X11 - GdkVisual *vissi=NULL; + GdkVisual *vissi = NULL; register int i; #endif #endif #endif - int new_file=mainw->first_free_file; + int new_file = mainw->first_free_file; - mainw->foreign_window=NULL; + mainw->foreign_window = NULL; // create a new 'file' to play into - if (!get_new_handle(new_file,NULL)) { + if (!get_new_handle(new_file, NULL)) { return FALSE; } - mainw->current_file=new_file; + mainw->current_file = new_file; - if (mainw->rec_achans>0) { - cfile->arate=cfile->arps=mainw->rec_arate; - cfile->achans=mainw->rec_achans; - cfile->asampsize=mainw->rec_asamps; - cfile->signed_endian=mainw->rec_signed_endian; + if (mainw->rec_achans > 0) { + cfile->arate = cfile->arps = mainw->rec_arate; + cfile->achans = mainw->rec_achans; + cfile->asampsize = mainw->rec_asamps; + cfile->signed_endian = mainw->rec_signed_endian; #ifdef HAVE_PULSE_AUDIO - if (mainw->rec_achans>0&&prefs->audio_player==AUD_PLAYER_PULSE) { - pulse_rec_audio_to_clip(mainw->current_file,-1,RECA_WINDOW_GRAB); - mainw->pulsed_read->in_use=TRUE; + if (mainw->rec_achans > 0 && prefs->audio_player == AUD_PLAYER_PULSE) { + pulse_rec_audio_to_clip(mainw->current_file, -1, RECA_WINDOW_GRAB); + mainw->pulsed_read->in_use = TRUE; } #endif #ifdef ENABLE_JACK - if (mainw->rec_achans>0&&prefs->audio_player==AUD_PLAYER_JACK) { - jack_rec_audio_to_clip(mainw->current_file,-1,RECA_WINDOW_GRAB); - mainw->jackd_read->in_use=TRUE; + if (mainw->rec_achans > 0 && prefs->audio_player == AUD_PLAYER_JACK) { + jack_rec_audio_to_clip(mainw->current_file, -1, RECA_WINDOW_GRAB); + mainw->jackd_read->in_use = TRUE; } #endif } - cfile->hsize=mainw->foreign_width/2+1; - cfile->vsize=mainw->foreign_height/2+3; + cfile->hsize = mainw->foreign_width / 2 + 1; + cfile->vsize = mainw->foreign_height / 2 + 3; - cfile->fps=cfile->pb_fps=mainw->rec_fps; + cfile->fps = cfile->pb_fps = mainw->rec_fps; resize(-2); @@ -3594,81 +3650,81 @@ lives_widget_context_update(); // size must be exact, must not be larger than play window or we end up with nothing - mainw->pwidth=lives_widget_get_allocation_width(mainw->playframe)-H_RESIZE_ADJUST+2; - mainw->pheight=lives_widget_get_allocation_height(mainw->playframe)-V_RESIZE_ADJUST+2; + mainw->pwidth = lives_widget_get_allocation_width(mainw->playframe) - H_RESIZE_ADJUST + 2; + mainw->pheight = lives_widget_get_allocation_height(mainw->playframe) - V_RESIZE_ADJUST + 2; - cfile->hsize=mainw->pwidth; - cfile->vsize=mainw->pheight; + cfile->hsize = mainw->pwidth; + cfile->vsize = mainw->pheight; - cfile->img_type=IMG_TYPE_BEST; // override the pref + cfile->img_type = IMG_TYPE_BEST; // override the pref #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) #ifdef GDK_WINDOWING_X11 - mainw->foreign_window=gdk_x11_window_foreign_new_for_display - (mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].disp, - mainw->foreign_id); + mainw->foreign_window = gdk_x11_window_foreign_new_for_display + (mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].disp, + mainw->foreign_id); #else #ifdef GDK_WINDOWING_WIN32 - if (mainw->foreign_window==NULL) - mainw->foreign_window=gdk_win32_window_foreign_new_for_display - (mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].disp, - mainw->foreign_id); + if (mainw->foreign_window == NULL) + mainw->foreign_window = gdk_win32_window_foreign_new_for_display + (mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].disp, + mainw->foreign_id); #endif #endif // GDK_WINDOWING - if (mainw->foreign_window!=NULL) gdk_window_set_keep_above(mainw->foreign_window,TRUE); + if (mainw->foreign_window != NULL) lives_xwindow_set_keep_above(mainw->foreign_window, TRUE); -#else // 3,0,0 - mainw->foreign_window=gdk_window_foreign_new(mainw->foreign_id); +#else // 3, 0, 0 + mainw->foreign_window = gdk_window_foreign_new(mainw->foreign_id); #endif #endif // GUI_GTK #ifdef GUI_GTK #ifdef GDK_WINDOWING_X11 -#if !GTK_CHECK_VERSION(3,0,0) +#if !GTK_CHECK_VERSION(3, 0, 0) - if (mainw->foreign_visual!=NULL) { - for (i=0; i<capable->nmonitors; i++) { - vissi=gdk_x11_screen_lookup_visual(mainw->mgeom[i].screen,hextodec(mainw->foreign_visual)); - if (vissi!=NULL) break; + if (mainw->foreign_visual != NULL) { + for (i = 0; i < capable->nmonitors; i++) { + vissi = gdk_x11_screen_lookup_visual(mainw->mgeom[i].screen, hextodec(mainw->foreign_visual)); + if (vissi != NULL) break; } } - if (vissi==NULL) vissi=gdk_visual_get_best_with_depth(mainw->foreign_bpp); + if (vissi == NULL) vissi = gdk_visual_get_best_with_depth(mainw->foreign_bpp); - if (vissi==NULL) return FALSE; + if (vissi == NULL) return FALSE; - mainw->foreign_cmap=gdk_x11_colormap_foreign_new(vissi, - gdk_x11_colormap_get_xcolormap(gdk_colormap_new(vissi,TRUE))); + mainw->foreign_cmap = gdk_x11_colormap_foreign_new(vissi, + gdk_x11_colormap_get_xcolormap(gdk_colormap_new(vissi, TRUE))); - if (mainw->foreign_cmap==NULL) return FALSE; + if (mainw->foreign_cmap == NULL) return FALSE; #endif #endif #endif - if (mainw->foreign_window==NULL) return FALSE; + if (mainw->foreign_window == NULL) return FALSE; - mainw->play_start=1; - if (mainw->rec_vid_frames==-1) mainw->play_end=INT_MAX; - else mainw->play_end=mainw->rec_vid_frames; + mainw->play_start = 1; + if (mainw->rec_vid_frames == -1) mainw->play_end = INT_MAX; + else mainw->play_end = mainw->rec_vid_frames; - mainw->rec_samples=-1; + mainw->rec_samples = -1; - omute=mainw->mute; - osepwin=mainw->sep_win; - ofs=mainw->fs; - ofaded=mainw->faded; - odouble=mainw->double_size; + omute = mainw->mute; + osepwin = mainw->sep_win; + ofs = mainw->fs; + ofaded = mainw->faded; + odouble = mainw->double_size; - mainw->mute=TRUE; - mainw->sep_win=FALSE; - mainw->fs=FALSE; - mainw->faded=TRUE; - mainw->double_size=FALSE; + mainw->mute = TRUE; + mainw->sep_win = FALSE; + mainw->fs = FALSE; + mainw->faded = TRUE; + mainw->double_size = FALSE; lives_widget_hide(mainw->t_double); lives_widget_hide(mainw->t_bckground); @@ -3682,71 +3738,71 @@ boolean after_foreign_play(void) { // read details from capture file int capture_fd; - char *capfile=lives_strdup_printf("%s/.capture.%d",prefs->workdir,capable->mainpid); + char *capfile = lives_strdup_printf("%s/.capture.%d", prefs->workdir, capable->mainpid); char capbuf[256]; ssize_t length; - int new_file=-1; - int new_frames=0; - int old_file=mainw->current_file; + int new_file = -1; + int new_frames = 0; + int old_file = mainw->current_file; char *com; char **array; char file_name[PATH_MAX]; // assume for now we only get one clip passed back - if ((capture_fd=open(capfile,O_RDONLY))>-1) { - memset(capbuf,0,256); - if ((length=read(capture_fd,capbuf,256))) { - if (get_token_count(capbuf,'|')>2) { - array=lives_strsplit(capbuf,"|",3); - new_frames=atoi(array[1]); - - if (new_frames>0) { - new_file=mainw->first_free_file; - mainw->current_file=new_file; - cfile=(lives_clip_t *)(lives_malloc(sizeof(lives_clip_t))); - lives_snprintf(cfile->handle,255,"%s",array[0]); + if ((capture_fd = open(capfile, O_RDONLY)) > -1) { + memset(capbuf, 0, 256); + if ((length = read(capture_fd, capbuf, 256))) { + if (get_token_count(capbuf, '|') > 2) { + array = lives_strsplit(capbuf, "|", 3); + new_frames = atoi(array[1]); + + if (new_frames > 0) { + new_file = mainw->first_free_file; + mainw->current_file = new_file; + cfile = (lives_clip_t *)(lives_malloc(sizeof(lives_clip_t))); + lives_snprintf(cfile->handle, 255, "%s", array[0]); lives_strfreev(array); create_cfile(); - lives_snprintf(cfile->file_name,256,"Capture %d",mainw->cap_number); - lives_snprintf(cfile->name,256,"Capture %d",mainw->cap_number++); - lives_snprintf(cfile->type,40,"Frames"); - - cfile->progress_start=cfile->start=1; - cfile->progress_end=cfile->frames=cfile->end=new_frames; - cfile->pb_fps=cfile->fps=mainw->rec_fps; - - cfile->hsize=CEIL(mainw->foreign_width,4); - cfile->vsize=CEIL(mainw->foreign_height,4); - - if (mainw->rec_achans>0) { - cfile->arate=cfile->arps=mainw->rec_arate; - cfile->achans=mainw->rec_achans; - cfile->asampsize=mainw->rec_asamps; - cfile->signed_endian=mainw->rec_signed_endian; + lives_snprintf(cfile->file_name, 256, "Capture %d", mainw->cap_number); + lives_snprintf(cfile->name, 256, "Capture %d", mainw->cap_number++); + lives_snprintf(cfile->type, 40, "Frames"); + + cfile->progress_start = cfile->start = 1; + cfile->progress_end = cfile->frames = cfile->end = new_frames; + cfile->pb_fps = cfile->fps = mainw->rec_fps; + + cfile->hsize = CEIL(mainw->foreign_width, 4); + cfile->vsize = CEIL(mainw->foreign_height, 4); + + if (mainw->rec_achans > 0) { + cfile->arate = cfile->arps = mainw->rec_arate; + cfile->achans = mainw->rec_achans; + cfile->asampsize = mainw->rec_asamps; + cfile->signed_endian = mainw->rec_signed_endian; } // TODO - dirsep - lives_snprintf(file_name,PATH_MAX,"%s/%s/",prefs->workdir,cfile->handle); + lives_snprintf(file_name, PATH_MAX, "%s/%s/", prefs->workdir, cfile->handle); - com=lives_strdup_printf("%s fill_and_redo_frames \"%s\" %d %d %d \"%s\" %.4f %d %d %d %d %d", - prefs->backend, - cfile->handle,cfile->frames,cfile->hsize,cfile->vsize, - get_image_ext_for_type(cfile->img_type),cfile->fps,cfile->arate, - cfile->achans,cfile->asampsize,!(cfile->signed_endian&AFORM_UNSIGNED), - !(cfile->signed_endian&AFORM_BIG_ENDIAN)); + com = lives_strdup_printf("%s fill_and_redo_frames \"%s\" %d %d %d \"%s\" %.4f %d %d %d %d %d", + prefs->backend, + cfile->handle, cfile->frames, cfile->hsize, cfile->vsize, + get_image_ext_for_type(cfile->img_type), cfile->fps, cfile->arate, + cfile->achans, cfile->asampsize, !(cfile->signed_endian & AFORM_UNSIGNED), + !(cfile->signed_endian & AFORM_BIG_ENDIAN)); lives_rm(cfile->info_file); - mainw->com_failed=FALSE; - lives_system(com,FALSE); + mainw->com_failed = FALSE; + lives_system(com, FALSE); - cfile->nopreview=TRUE; - if (!mainw->com_failed&&do_progress_dialog(TRUE,TRUE,_("Cleaning up clip"))) { + cfile->nopreview = TRUE; + if (!mainw->com_failed && do_progress_dialog(TRUE, TRUE, _("Cleaning up clip"))) { get_next_free_file(); } else { // cancelled cleanup - new_frames=0; + new_frames = 0; close_current_file(old_file); } lives_free(com); @@ -3757,29 +3813,29 @@ } } - if (new_frames==0) { + if (new_frames == 0) { // nothing captured; or cancelled lives_free(capfile); return FALSE; } - cfile->nopreview=FALSE; + cfile->nopreview = FALSE; lives_free(capfile); add_to_clipmenu(); - if (mainw->multitrack==NULL) switch_to_file(old_file,mainw->current_file); + if (mainw->multitrack == NULL) switch_to_file(old_file, mainw->current_file); else { - mainw->current_file=mainw->multitrack->render_file; - mt_init_clips(mainw->multitrack,new_file,TRUE); - mt_clip_select(mainw->multitrack,TRUE); + mainw->current_file = mainw->multitrack->render_file; + mt_init_clips(mainw->multitrack, new_file, TRUE); + mt_clip_select(mainw->multitrack, TRUE); } - cfile->is_loaded=TRUE; - cfile->changed=TRUE; + cfile->is_loaded = TRUE; + cfile->changed = TRUE; save_clip_values(mainw->current_file); if (prefs->crash_recovery) add_to_recovery_file(cfile->handle); - lives_notify(LIVES_OSC_NOTIFY_CLIP_OPENED,""); + lives_notify(LIVES_OSC_NOTIFY_CLIP_OPENED, ""); return TRUE; } @@ -3787,31 +3843,31 @@ void set_menu_text(LiVESWidget *menuitem, const char *text, boolean use_mnemonic) { LiVESWidget *label; if (LIVES_IS_MENU_ITEM(menuitem)) { - label=lives_bin_get_child(LIVES_BIN(menuitem)); + label = lives_bin_get_child(LIVES_BIN(menuitem)); if (use_mnemonic) { - lives_label_set_text_with_mnemonic(LIVES_LABEL(label),text); + lives_label_set_text_with_mnemonic(LIVES_LABEL(label), text); } else { - lives_label_set_text(LIVES_LABEL(label),text); + lives_label_set_text(LIVES_LABEL(label), text); } } } void get_menu_text(LiVESWidget *menuitem, char *text) { - LiVESWidget *label=lives_bin_get_child(LIVES_BIN(menuitem)); - lives_snprintf(text,255,"%s",lives_label_get_text(LIVES_LABEL(label))); + LiVESWidget *label = lives_bin_get_child(LIVES_BIN(menuitem)); + lives_snprintf(text, 255, "%s", lives_label_get_text(LIVES_LABEL(label))); } void get_menu_text_long(LiVESWidget *menuitem, char *text) { - LiVESWidget *label=lives_bin_get_child(LIVES_BIN(menuitem)); - lives_snprintf(text,32768,"%s",lives_label_get_text(LIVES_LABEL(label))); + LiVESWidget *label = lives_bin_get_child(LIVES_BIN(menuitem)); + lives_snprintf(text, 32768, "%s", lives_label_get_text(LIVES_LABEL(label))); } LIVES_INLINE boolean int_array_contains_value(int *array, int num_elems, int value) { int i; - for (i=0; i<num_elems; i++) { - if (array[i]==value) return TRUE; + for (i = 0; i < num_elems; i++) { + if (array[i] == value) return TRUE; } return FALSE; } @@ -3823,10 +3879,10 @@ register int i; - if (mainw->current_file>0&&cfile!=NULL&&cfile->menuentry!=NULL) { + if (mainw->current_file > 0 && cfile != NULL && cfile->menuentry != NULL) { #ifdef GTK_RADIO_MENU_BUG - for (i=1; i<MAX_FILES; i++) { - if (i!=mainw->current_file&&mainw->files[i]!=NULL&&mainw->files[i]->menuentry!=NULL) { + for (i = 1; i < MAX_FILES; i++) { + if (i != mainw->current_file && mainw->files[i] != NULL && mainw->files[i]->menuentry != NULL) { lives_signal_handler_block(mainw->files[i]->menuentry, mainw->files[i]->menuentry_func); lives_check_menu_item_set_active(LIVES_CHECK_MENU_ITEM(mainw->files[i]->menuentry), FALSE); lives_signal_handler_unblock(mainw->files[i]->menuentry, mainw->files[i]->menuentry_func); @@ -3843,15 +3899,15 @@ boolean check_file(const char *file_name, boolean check_existing) { int check; - boolean exists=FALSE; + boolean exists = FALSE; char *msg; // file_name should be in utf8 - char *lfile_name=U82F(file_name); + char *lfile_name = U82F(file_name); // check if file exists if (lives_file_test(lfile_name, LIVES_FILE_TEST_EXISTS)) { if (check_existing) { - msg=lives_strdup_printf(_("\n%s\nalready exists.\n\nOverwrite ?\n"),file_name); + msg = lives_strdup_printf(_("\n%s\nalready exists.\n\nOverwrite ?\n"), file_name); if (!do_warning_dialog(msg)) { lives_free(msg); lives_free(lfile_name); @@ -3859,20 +3915,20 @@ } lives_free(msg); } - check=open(lfile_name,O_WRONLY); - exists=TRUE; + check = open(lfile_name, O_WRONLY); + exists = TRUE; } // if not, check if we can write to it else { - check=open(lfile_name,O_CREAT|O_EXCL|O_WRONLY,DEF_FILE_PERMS); + check = open(lfile_name, O_CREAT | O_EXCL | O_WRONLY, DEF_FILE_PERMS); } - if (check<0) { - if (mainw!=NULL&&mainw->is_ready) { - if (errno==EACCES) + if (check < 0) { + if (mainw != NULL && mainw->is_ready) { + if (errno == EACCES) do_file_perm_error(lfile_name); else - do_write_failed_error_s(lfile_name,NULL); + do_write_failed_error_s(lfile_name, NULL); } lives_free(lfile_name); return FALSE; @@ -3897,17 +3953,17 @@ int retval; if (force) { - cmd=lives_strdup_printf("%s -rf",capable->rm_cmd); + cmd = lives_strdup_printf("%s -rf", capable->rm_cmd); } else { - cmd=lives_strdup(capable->rmdir_cmd); + cmd = lives_strdup(capable->rmdir_cmd); } #ifndef IS_MINGW - com=lives_strdup_printf("%s \"%s/\" >\"%s\" 2>&1",cmd,dir,prefs->cmd_log); + com = lives_strdup_printf("%s \"%s/\" >\"%s\" 2>&1", cmd, dir, prefs->cmd_log); #else - com=lives_strdup_printf("START /MIN /b %s \"%s/\" >\"%s\" 2>&1",cmd,dir,prefs->cmd_log); + com = lives_strdup_printf("START /MIN /b %s \"%s/\" >\"%s\" 2>&1", cmd, dir, prefs->cmd_log); #endif - retval=lives_system(com,TRUE); + retval = lives_system(com, TRUE); lives_free(com); lives_free(cmd); return retval; @@ -3916,8 +3972,8 @@ int lives_rmdir_with_parents(const char *dir) { // may fail, will not remove empty dirs - char *com=lives_strdup_printf("%s -p \"%s\" >\"%s\" 2>&1",capable->rmdir_cmd,dir,prefs->cmd_log); - int retval=lives_system(com,TRUE); + char *com = lives_strdup_printf("%s -p \"%s\" >\"%s\" 2>&1", capable->rmdir_cmd, dir, prefs->cmd_log); + int retval = lives_system(com, TRUE); lives_free(com); return retval; } @@ -3929,11 +3985,11 @@ int retval; #ifndef IS_MINGW - com=lives_strdup_printf("%s -f \"%s\" >\"%s\" 2>&1",capable->rm_cmd,file,prefs->cmd_log); + com = lives_strdup_printf("%s -f \"%s\" >\"%s\" 2>&1", capable->rm_cmd, file, prefs->cmd_log); #else - com=lives_strdup_printf("START /MIN /b %s -f \"%s\" >\"%s\" 2>&1",capable->rm_cmd,file,prefs->cmd_log); + com = lives_strdup_printf("START /MIN /b %s -f \"%s\" >\"%s\" 2>&1", capable->rm_cmd, file, prefs->cmd_log); #endif - retval=lives_system(com,TRUE); + retval = lives_system(com, TRUE); lives_free(com); return retval; } @@ -3945,11 +4001,11 @@ char *com; int retval; #ifndef IS_MINGW - com=lives_strdup_printf("%s \"%s\"* >\"%s\" 2>&1",capable->rm_cmd,files,prefs->cmd_log); + com = lives_strdup_printf("%s \"%s\"* >\"%s\" 2>&1", capable->rm_cmd, files, prefs->cmd_log); #else - com=lives_strdup_printf("DEL \"%s*\" >\"%s\" 2>&1",files,prefs->cmd_log); + com = lives_strdup_printf("DEL \"%s*\" >\"%s\" 2>&1", files, prefs->cmd_log); #endif - retval=lives_system(com,TRUE); + retval = lives_system(com, TRUE); lives_free(com); return retval; } @@ -3957,8 +4013,8 @@ int lives_cp(const char *from, const char *to) { // may not fail - char *com=lives_strdup_printf("%s \"%s\" \"%s\" >\"%s\" 2>&1",capable->cp_cmd,from,to,prefs->cmd_log); - int retval=lives_system(com,FALSE); + char *com = lives_strdup_printf("%s \"%s\" \"%s\" >\"%s\" 2>&1", capable->cp_cmd, from, to, prefs->cmd_log); + int retval = lives_system(com, FALSE); lives_free(com); return retval; } @@ -3966,8 +4022,8 @@ int lives_cp_keep_perms(const char *from, const char *to) { // may not fail - char *com=lives_strdup_printf("%s -a \"%s\" \"%s/\" >\"%s\" 2>&1",capable->cp_cmd,from,to,prefs->cmd_log); - int retval=lives_system(com,FALSE); + char *com = lives_strdup_printf("%s -a \"%s\" \"%s/\" >\"%s\" 2>&1", capable->cp_cmd, from, to, prefs->cmd_log); + int retval = lives_system(com, FALSE); lives_free(com); return retval; } @@ -3975,8 +4031,8 @@ int lives_mv(const char *from, const char *to) { // may not fail - char *com=lives_strdup_printf("%s \"%s\" \"%s\" >\"%s\" 2>&1",capable->mv_cmd,from,to,prefs->cmd_log); - int retval=lives_system(com,FALSE); + char *com = lives_strdup_printf("%s \"%s\" \"%s\" >\"%s\" 2>&1", capable->mv_cmd, from, to, prefs->cmd_log); + int retval = lives_system(com, FALSE); lives_free(com); return retval; } @@ -3984,8 +4040,8 @@ int lives_touch(const char *tfile) { // may not fail - char *com=lives_strdup_printf("%s \"%s\" >\"%s\" 2>&1",capable->touch_cmd,tfile,prefs->cmd_log); - int retval=lives_system(com,FALSE); + char *com = lives_strdup_printf("%s \"%s\" >\"%s\" 2>&1", capable->touch_cmd, tfile, prefs->cmd_log); + int retval = lives_system(com, FALSE); lives_free(com); return retval; } @@ -3996,12 +4052,12 @@ char *com; int retval; #ifndef IS_MINGW - com=lives_strdup_printf("%s -s \"%s\" \"%s\" >\"%s\" 2>&1",capable->ln_cmd,from,to,prefs->cmd_log); - retval=lives_system(com,FALSE); + com = lives_strdup_printf("%s -s \"%s\" \"%s\" >\"%s\" 2>&1", capable->ln_cmd, from, to, prefs->cmd_log); + retval = lives_system(com, FALSE); lives_free(com); #else // TODO - retval=-1; + retval = -1; #endif return retval; } @@ -4009,8 +4065,8 @@ int lives_chmod(const char *target, const char *mode) { // may not fail - char *com=lives_strdup_printf("%s %s \"%s\" >\"%s\" 2>&1",capable->chmod_cmd,mode,target,prefs->cmd_log); - int retval=lives_system(com,FALSE); + char *com = lives_strdup_printf("%s %s \"%s\" >\"%s\" 2>&1", capable->chmod_cmd, mode, target, prefs->cmd_log); + int retval = lives_system(com, FALSE); lives_free(com); return retval; } @@ -4022,11 +4078,11 @@ char *op; int retval; - if (append) op=">>"; - else op=">"; + if (append) op = ">>"; + else op = ">"; - com=lives_strdup_printf("%s \"%s\" %s \"%s\" >\"%s\" 2>&1",capable->cat_cmd,from,op,to,prefs->cmd_log); - retval=lives_system(com,FALSE); + com = lives_strdup_printf("%s \"%s\" %s \"%s\" >\"%s\" 2>&1", capable->cat_cmd, from, op, to, prefs->cmd_log); + retval = lives_system(com, FALSE); lives_free(com); return retval; } @@ -4038,11 +4094,11 @@ char *op; int retval; - if (append) op=">>"; - else op=">"; + if (append) op = ">>"; + else op = ">"; - com=lives_strdup_printf("%s \"%s\" %s \"%s\" 2>\"%s\"",capable->echo_cmd,text,op,to,prefs->cmd_log); - retval=lives_system(com,FALSE); + com = lives_strdup_printf("%s \"%s\" %s \"%s\" 2>\"%s\"", capable->echo_cmd, text, op, to, prefs->cmd_log); + retval = lives_system(com, FALSE); lives_free(com); return retval; } @@ -4053,24 +4109,24 @@ char *com; #ifndef IS_MINGW if (kill_parent) - com=lives_strdup_printf("%s stopsubsub \"%s\" 2>/dev/null",prefs->backend_sync,dirname); + com = lives_strdup_printf("%s stopsubsub \"%s\" 2>/dev/null", prefs->backend_sync, dirname); else - com=lives_strdup_printf("%s stopsubsubs \"%s\" 2>/dev/null",prefs->backend_sync,dirname); - lives_system(com,TRUE); + com = lives_strdup_printf("%s stopsubsubs \"%s\" 2>/dev/null", prefs->backend_sync, dirname); + lives_system(com, TRUE); #else // get pid from backend FILE *rfile; ssize_t rlen; char val[16]; int pid; - com=lives_strdup_printf("%s get_pid_for_handle \"%s\"",prefs->backend_sync,dirname); - rfile=popen(com,"r"); - rlen=fread(val,1,16,rfile); + com = lives_strdup_printf("%s get_pid_for_handle \"%s\"", prefs->backend_sync, dirname); + rfile = popen(com, "r"); + rlen = fread(val, 1, 16, rfile); pclose(rfile); - memset(val+rlen,0,1); - if (strcmp(val)," ") { - pid=atoi(val); - lives_win32_kill_subprocesses(pid,kill_parent); + memset(val + rlen, 0, 1); + if (strcmp(val), " ") { + pid = atoi(val); + lives_win32_kill_subprocesses(pid, kill_parent); } #endif @@ -4084,29 +4140,29 @@ char *com; #ifndef IS_MINGW if (!suspend) - com=lives_strdup_printf("%s stopsubsub \"%s\" SIGCONT 2>/dev/null",prefs->backend_sync,dirname); + com = lives_strdup_printf("%s stopsubsub \"%s\" SIGCONT 2>/dev/null", prefs->backend_sync, dirname); else - com=lives_strdup_printf("%s stopsubsub \"%s\" SIGTSTP 2>/dev/null",prefs->backend_sync,dirname); - lives_system(com,TRUE); + com = lives_strdup_printf("%s stopsubsub \"%s\" SIGTSTP 2>/dev/null", prefs->backend_sync, dirname); + lives_system(com, TRUE); #else FILE *rfile; ssize_t rlen; char val[16]; // get pid from backend - com=lives_strdup_printf("%s get_pid_for_handle \"%s\"",prefs->backend_sync,dirname); - rfile=popen(com,"r"); - rlen=fread(val,1,16,rfile); + com = lives_strdup_printf("%s get_pid_for_handle \"%s\"", prefs->backend_sync, dirname); + rfile = popen(com, "r"); + rlen = fread(val, 1, 16, rfile); pclose(rfile); - memset(val+rlen,0,1); - pid=atoi(val); + memset(val + rlen, 0, 1); + pid = atoi(val); - lives_win32_suspend_resume_process(pid,suspend); + lives_win32_suspend_resume_process(pid, suspend); #endif lives_free(com); - com=lives_strdup_printf("%s resume \"%s\"",prefs->backend_sync,dirname); - lives_system(com,FALSE); + com = lives_strdup_printf("%s resume \"%s\"", prefs->backend_sync, dirname); + lives_system(com, FALSE); lives_free(com); } @@ -4124,25 +4180,25 @@ // WARNING: may leave some parents around - boolean exists=lives_file_test(dir, LIVES_FILE_TEST_EXISTS); - boolean is_OK=FALSE; + boolean exists = lives_file_test(dir, LIVES_FILE_TEST_EXISTS); + boolean is_OK = FALSE; char *testfile; if (!exists) { - lives_mkdir_with_parents(dir,capable->umask); + lives_mkdir_with_parents(dir, capable->umask); } if (!lives_file_test(dir, LIVES_FILE_TEST_IS_DIR)) return FALSE; - testfile=lives_build_filename(dir,"livestst.txt",NULL); + testfile = lives_build_filename(dir, "livestst.txt", NULL); lives_touch(testfile); - if ((is_OK=lives_file_test(testfile, LIVES_FILE_TEST_EXISTS))) { + if ((is_OK = lives_file_test(testfile, LIVES_FILE_TEST_EXISTS))) { lives_rm(testfile); } lives_free(testfile); if (!exists) { - lives_rmdir(dir,FALSE); + lives_rmdir(dir, FALSE); } return is_OK; } @@ -4158,15 +4214,15 @@ lock.l_len = 0; lock.l_type = F_WRLCK; #endif - int fd=open(devstr,O_RDONLY|O_NONBLOCK); - if (fd==-1) return FALSE; + int fd = open(devstr, O_RDONLY | O_NONBLOCK); + if (fd == -1) return FALSE; #ifdef IS_SOLARIS - ret=fcntl(fd, F_SETLK, &lock); + ret = fcntl(fd, F_SETLK, &lock); #else - ret=flock(fd,LOCK_EX|LOCK_NB); + ret = flock(fd, LOCK_EX | LOCK_NB); #endif close(fd); - if (ret==-1) return FALSE; + if (ret == -1) return FALSE; return TRUE; #endif return FALSE; @@ -4175,13 +4231,13 @@ void activate_url_inner(const char *link) { -#if GTK_CHECK_VERSION(2,14,0) - LiVESError *err=NULL; - gtk_show_uri(NULL,link,GDK_CURRENT_TIME,&err); +#if GTK_CHECK_VERSION(2, 14, 0) + LiVESError *err = NULL; + gtk_show_uri(NULL, link, GDK_CURRENT_TIME, &err); #else char *com = getenv("BROWSER"); com = lives_strdup_printf("\"%s\" '%s' &", com ? com : "gnome-open", link); - lives_system(com,FALSE); + lives_system(com, FALSE); lives_free(com); #endif } @@ -4193,16 +4249,16 @@ void show_manual_section(const char *lang, const char *section) { - char *tmp=NULL,*tmp2=NULL; + char *tmp = NULL, *tmp2 = NULL; const char *link; - link=lives_strdup_printf("%s%s%s%s",LIVES_MANUAL_URL,(lang==NULL?"":(tmp2=lives_strdup_printf("//%s//",lang))), - LIVES_MANUAL_FILENAME,(section==NULL?"":(tmp=lives_strdup_printf("#%s",section)))); + link = lives_strdup_printf("%s%s%s%s", LIVES_MANUAL_URL, (lang == NULL ? "" : (tmp2 = lives_strdup_printf("//%s//", lang))), + LIVES_MANUAL_FILENAME, (section == NULL ? "" : (tmp = lives_strdup_printf("#%s", section)))); activate_url_inner(link); - if (tmp!=NULL) lives_free(tmp); - if (tmp2!=NULL) lives_free(tmp2); + if (tmp != NULL) lives_free(tmp); + if (tmp2 != NULL) lives_free(tmp2); } @@ -4210,7 +4266,7 @@ uint64_t get_file_size(int fd) { // get the size of file fd struct stat filestat; - fstat(fd,&filestat); + fstat(fd, &filestat); return (uint64_t)(filestat.st_size); } @@ -4220,12 +4276,12 @@ struct stat filestat; int fd; - if ((fd=open(name,O_RDONLY))==-1) { + if ((fd = open(name, O_RDONLY)) == -1) { //g_print("could not open %s %s\n",name,lives_strerror(errno)); return (uint32_t)0; } - fstat(fd,&filestat); + fstat(fd, &filestat); close(fd); return (uint64_t)(filestat.st_size); @@ -4233,15 +4289,15 @@ void wait_for_bg_audio_sync(lives_clip_t *sfile) { - char *afile=lives_build_filename(prefs->workdir,sfile->handle,"audio",NULL); + char *afile = lives_build_filename(prefs->workdir, sfile->handle, "audio", NULL); boolean timeout; - int alarm_handle=lives_alarm_set(LIVES_SHORTEST_TIMEOUT); + int alarm_handle = lives_alarm_set(LIVES_SHORTEST_TIMEOUT); int fd; - while ((fd=open(afile,O_RDONLY))==-1 && !(timeout=lives_alarm_get(alarm_handle))) { + while ((fd = open(afile, O_RDONLY)) == -1 && !(timeout = lives_alarm_get(alarm_handle))) { lives_usleep(prefs->sleep_time); } - if (fd!=-1) close(fd); + if (fd != -1) close(fd); lives_free(afile); lives_alarm_clear(alarm_handle); } @@ -4250,25 +4306,25 @@ void reget_afilesize(int fileno) { // re-get the audio file size char *afile; - lives_clip_t *sfile=mainw->files[fileno]; - boolean bad_header=FALSE; + lives_clip_t *sfile = mainw->files[fileno]; + boolean bad_header = FALSE; - if (mainw->multitrack!=NULL) return; // otherwise achans gets set to 0... + if (mainw->multitrack != NULL) return; // otherwise achans gets set to 0... - if (!sfile->opening) afile=lives_build_filename(prefs->workdir,sfile->handle,"audio",NULL); - else afile=lives_build_filename(prefs->workdir,sfile->handle,"audiodump.pcm",NULL); - if ((sfile->afilesize=sget_file_size(afile))==0l) { - if (!sfile->opening&&fileno!=mainw->ascrap_file&&fileno!=mainw->scrap_file) { - if (sfile->arate!=0||sfile->achans!=0||sfile->asampsize!=0||sfile->arps!=0) { - sfile->arate=sfile->achans=sfile->asampsize=sfile->arps=0; - save_clip_value(fileno,CLIP_DETAILS_ACHANS,&sfile->achans); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(fileno,CLIP_DETAILS_ARATE,&sfile->arps); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(fileno,CLIP_DETAILS_PB_ARATE,&sfile->arate); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; - save_clip_value(fileno,CLIP_DETAILS_ASAMPS,&sfile->asampsize); - if (mainw->com_failed||mainw->write_failed) bad_header=TRUE; + if (!sfile->opening) afile = lives_build_filename(prefs->workdir, sfile->handle, "audio", NULL); + else afile = lives_build_filename(prefs->workdir, sfile->handle, "audiodump.pcm", NULL); + if ((sfile->afilesize = sget_file_size(afile)) == 0l) { + if (!sfile->opening && fileno != mainw->ascrap_file && fileno != mainw->scrap_file) { + if (sfile->arate != 0 || sfile->achans != 0 || sfile->asampsize != 0 || sfile->arps != 0) { + sfile->arate = sfile->achans = sfile->asampsize = sfile->arps = 0; + save_clip_value(fileno, CLIP_DETAILS_ACHANS, &sfile->achans); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(fileno, CLIP_DETAILS_ARATE, &sfile->arps); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(fileno, CLIP_DETAILS_PB_ARATE, &sfile->arate); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; + save_clip_value(fileno, CLIP_DETAILS_ASAMPS, &sfile->asampsize); + if (mainw->com_failed || mainw->write_failed) bad_header = TRUE; if (bad_header) do_header_write_error(fileno); } } @@ -4290,14 +4346,14 @@ // NOTE: this is the OLD event system, it's only used for reordering in the clip editor - if (cfile->events[0]!=NULL) { + if (cfile->events[0] != NULL) { lives_free(cfile->events[0]); } - if ((cfile->events[0]=(event *)(lives_try_malloc(sizeof(event)*length)))==NULL) { + if ((cfile->events[0] = (event *)(lives_try_malloc(sizeof(event) * length))) == NULL) { // memory overflow return FALSE; } - memset(cfile->events[0],0,length*sizeof(event)); + memset(cfile->events[0], 0, length * sizeof(event)); return TRUE; } @@ -4308,12 +4364,12 @@ int i; int len; - if (list==NULL) return -1; + if (list == NULL) return -1; - len=lives_list_length(list); + len = lives_list_length(list); - for (i=0; i<len; i++) { - if (!strcmp((const char *)lives_list_nth_data(list,i),(const char *)data)) return i; + for (i = 0; i < len; i++) { + if (!strcmp((const char *)lives_list_nth_data(list, i), (const char *)data)) return i; } return -1; } @@ -4324,83 +4380,83 @@ char buff[PATH_MAX]; char *file; - if (frames>0) { - if (extra_params==NULL||(strlen(extra_params)==0)) file=lives_strdup_printf("%s|%.2f|%d",filename,start,frames); - else file=lives_strdup_printf("%s|%.2f|%d\n%s",filename,start,frames,extra_params); + if (frames > 0) { + if (extra_params == NULL || (strlen(extra_params) == 0)) file = lives_strdup_printf("%s|%.2f|%d", filename, start, frames); + else file = lives_strdup_printf("%s|%.2f|%d\n%s", filename, start, frames, extra_params); } else { - if (extra_params==NULL||(strlen(extra_params)==0)) file=lives_strdup(filename); - else file=lives_strdup_printf("%s\n%s",filename,extra_params); + if (extra_params == NULL || (strlen(extra_params) == 0)) file = lives_strdup(filename); + else file = lives_strdup_printf("%s\n%s", filename, extra_params); } - get_menu_text(mainw->recent1,buff); - if (strcmp(file,buff)) { - get_menu_text(mainw->recent2,buff); - if (strcmp(file,buff)) { - get_menu_text(mainw->recent3,buff); - if (strcmp(file,buff)) { + get_menu_text(mainw->recent1, buff); + if (strcmp(file, buff)) { + get_menu_text(mainw->recent2, buff); + if (strcmp(file, buff)) { + get_menu_text(mainw->recent3, buff); + if (strcmp(file, buff)) { // not in list, or at pos 4 - get_menu_text(mainw->recent3,buff); - set_menu_text(mainw->recent4,buff,FALSE); - if (mainw->multitrack!=NULL) set_menu_text(mainw->multitrack->recent4,buff,FALSE); - set_pref_utf8(PREF_RECENT4,buff); - - get_menu_text(mainw->recent2,buff); - set_menu_text(mainw->recent3,buff,FALSE); - if (mainw->multitrack!=NULL) set_menu_text(mainw->multitrack->recent3,buff,FALSE); - set_pref_utf8(PREF_RECENT3,buff); - - get_menu_text(mainw->recent1,buff); - set_menu_text(mainw->recent2,buff,FALSE); - if (mainw->multitrack!=NULL) set_menu_text(mainw->multitrack->recent2,buff,FALSE); - set_pref_utf8(PREF_RECENT2,buff); - - set_menu_text(mainw->recent1,file,FALSE); - if (mainw->multitrack!=NULL) set_menu_text(mainw->multitrack->recent1,file,FALSE); - set_pref_utf8(PREF_RECENT1,file); + get_menu_text(mainw->recent3, buff); + set_menu_text(mainw->recent4, buff, FALSE); + if (mainw->multitrack != NULL) set_menu_text(mainw->multitrack->recent4, buff, FALSE); + set_pref_utf8(PREF_RECENT4, buff); + + get_menu_text(mainw->recent2, buff); + set_menu_text(mainw->recent3, buff, FALSE); + if (mainw->multitrack != NULL) set_menu_text(mainw->multitrack->recent3, buff, FALSE); + set_pref_utf8(PREF_RECENT3, buff); + + get_menu_text(mainw->recent1, buff); + set_menu_text(mainw->recent2, buff, FALSE); + if (mainw->multitrack != NULL) set_menu_text(mainw->multitrack->recent2, buff, FALSE); + set_pref_utf8(PREF_RECENT2, buff); + + set_menu_text(mainw->recent1, file, FALSE); + if (mainw->multitrack != NULL) set_menu_text(mainw->multitrack->recent1, file, FALSE); + set_pref_utf8(PREF_RECENT1, file); } else { // #3 in list - get_menu_text(mainw->recent2,buff); - set_menu_text(mainw->recent3,buff,FALSE); - if (mainw->multitrack!=NULL) set_menu_text(mainw->multitrack->recent3,buff,FALSE); - set_pref_utf8(PREF_RECENT3,buff); - - get_menu_text(mainw->recent1,buff); - set_menu_text(mainw->recent2,buff,FALSE); - if (mainw->multitrack!=NULL) set_menu_text(mainw->multitrack->recent2,buff,FALSE); - set_pref_utf8(PREF_RECENT2,buff); - - set_menu_text(mainw->recent1,file,FALSE); - if (mainw->multitrack!=NULL) set_menu_text(mainw->multitrack->recent1,file,FALSE); - set_pref_utf8(PREF_RECENT1,file); + get_menu_text(mainw->recent2, buff); + set_menu_text(mainw->recent3, buff, FALSE); + if (mainw->multitrack != NULL) set_menu_text(mainw->multitrack->recent3, buff, FALSE); + set_pref_utf8(PREF_RECENT3, buff); + + get_menu_text(mainw->recent1, buff); + set_menu_text(mainw->recent2, buff, FALSE); + if (mainw->multitrack != NULL) set_menu_text(mainw->multitrack->recent2, buff, FALSE); + set_pref_utf8(PREF_RECENT2, buff); + + set_menu_text(mainw->recent1, file, FALSE); + if (mainw->multitrack != NULL) set_menu_text(mainw->multitrack->recent1, file, FALSE); + set_pref_utf8(PREF_RECENT1, file); } } else { // #2 in list - get_menu_text(mainw->recent1,buff); - set_menu_text(mainw->recent2,buff,FALSE); - if (mainw->multitrack!=NULL) set_menu_text(mainw->multitrack->recent2,buff,FALSE); - set_pref_utf8(PREF_RECENT2,buff); - - set_menu_text(mainw->recent1,file,FALSE); - if (mainw->multitrack!=NULL) set_menu_text(mainw->multitrack->recent1,file,FALSE); - set_pref_utf8(PREF_RECENT1,file); + get_menu_text(mainw->recent1, buff); + set_menu_text(mainw->recent2, buff, FALSE); + if (mainw->multitrack != NULL) set_menu_text(mainw->multitrack->recent2, buff, FALSE); + set_pref_utf8(PREF_RECENT2, buff); + + set_menu_text(mainw->recent1, file, FALSE); + if (mainw->multitrack != NULL) set_menu_text(mainw->multitrack->recent1, file, FALSE); + set_pref_utf8(PREF_RECENT1, file); } } else { // I'm number 1, so why change ;-) } - get_menu_text(mainw->recent1,buff); + get_menu_text(mainw->recent1, buff); if (strlen(buff)) { lives_widget_show(mainw->recent1); } - get_menu_text(mainw->recent2,buff); + get_menu_text(mainw->recent2, buff); if (strlen(buff)) { lives_widget_show(mainw->recent2); } - get_menu_text(mainw->recent3,buff); + get_menu_text(mainw->recent3, buff); if (strlen(buff)) { lives_widget_show(mainw->recent3); } - get_menu_text(mainw->recent4,buff); + get_menu_text(mainw->recent4, buff); if (strlen(buff)) { lives_widget_show(mainw->recent4); } @@ -4413,25 +4469,25 @@ int verhash(char *version) { char *s; - int major=0; - int minor=0; - int micro=0; + int major = 0; + int minor = 0; + int micro = 0; if (!(strlen(version))) return 0; - s=strtok(version,"."); - if (!(s==NULL)) { - major=atoi(s); - s=strtok(NULL,"."); - if (!(s==NULL)) { - minor=atoi(s); - s=strtok(NULL,"."); - if (!(s==NULL)) { - micro=atoi(s); + s = strtok(version, "."); + if (!(s == NULL)) { + major = atoi(s); + s = strtok(NULL, "."); + if (!(s == NULL)) { + minor = atoi(s); + s = strtok(NULL, "."); + if (!(s == NULL)) { + micro = atoi(s); } } } - return major*1000000+minor*1000+micro; + return major * 1000000 + minor * 1000 + micro; } @@ -4439,11 +4495,11 @@ #ifdef PRODUCE_LOG // disabled by default void lives_log(const char *what) { - char *lives_log_file=lives_build_filename(prefs->workdir,LIVES_LOG_FILE,NULL); - if (mainw->log_fd<0) mainw->log_fd=open(lives_log_file,O_WRONLY|O_CREAT,DEF_FILE_PERMS); - if (mainw->log_fd!=-1) { - char *msg=lives_strdup("%s|%d|",what,mainw->current_file); - write(mainw->log_fd,msg,strlen(msg)); + char *lives_log_file = lives_build_filename(prefs->workdir, LIVES_LOG_FILE, NULL); + if (mainw->log_fd < 0) mainw->log_fd = open(lives_log_file, O_WRONLY | O_CREAT, DEF_FILE_PERMS); + if (mainw->log_fd != -1) { + char *msg = lives_strdup("%s|%d|", what, mainw->current_file); + write(mainw->log_fd, msg, strlen(msg)); lives_free(msg); } lives_free(lives_log_file); @@ -4455,27 +4511,27 @@ // TODO - move into undo.c void set_undoable(const char *what, boolean sensitive) { - if (mainw->current_file>-1) { - cfile->redoable=FALSE; - cfile->undoable=sensitive; - if (!(what==NULL)) { - char *what_safe=lives_strdelimit(lives_strdup(what),"_",' '); - lives_snprintf(cfile->undo_text,32,_("_Undo %s"),what_safe); - lives_snprintf(cfile->redo_text,32,_("_Redo %s"),what_safe); + if (mainw->current_file > -1) { + cfile->redoable = FALSE; + cfile->undoable = sensitive; + if (!(what == NULL)) { + char *what_safe = lives_strdelimit(lives_strdup(what), "_", ' '); + lives_snprintf(cfile->undo_text, 32, _("_Undo %s"), what_safe); + lives_snprintf(cfile->redo_text, 32, _("_Redo %s"), what_safe); lives_free(what_safe); } else { - cfile->undoable=FALSE; - cfile->undo_action=UNDO_NONE; - lives_snprintf(cfile->undo_text,32,"%s",_("_Undo")); - lives_snprintf(cfile->redo_text,32,"%s",_("_Redo")); + cfile->undoable = FALSE; + cfile->undo_action = UNDO_NONE; + lives_snprintf(cfile->undo_text, 32, "%s", _("_Undo")); + lives_snprintf(cfile->redo_text, 32, "%s", _("_Redo")); } - set_menu_text(mainw->undo,cfile->undo_text,TRUE); - set_menu_text(mainw->redo,cfile->redo_text,TRUE); + set_menu_text(mainw->undo, cfile->undo_text, TRUE); + set_menu_text(mainw->redo, cfile->redo_text, TRUE); } lives_widget_hide(mainw->redo); lives_widget_show(mainw->undo); - lives_widget_set_sensitive(mainw->undo,sensitive); + lives_widget_set_sensitive(mainw->undo, sensitive); #ifdef PRODUCE_LOG lives_log(what); @@ -4485,45 +4541,45 @@ } void set_redoable(const char *what, boolean sensitive) { - if (mainw->current_file>-1) { - cfile->undoable=FALSE; - cfile->redoable=sensitive; - if (!(what==NULL)) { - char *what_safe=lives_strdelimit(lives_strdup(what),"_",' '); - lives_snprintf(cfile->undo_text,32,_("_Undo %s"),what_safe); - lives_snprintf(cfile->redo_text,32,_("_Redo %s"),what_safe); + if (mainw->current_file > -1) { + cfile->undoable = FALSE; + cfile->redoable = sensitive; + if (!(what == NULL)) { + char *what_safe = lives_strdelimit(lives_strdup(what), "_", ' '); + lives_snprintf(cfile->undo_text, 32, _("_Undo %s"), what_safe); + lives_snprintf(cfile->redo_text, 32, _("_Redo %s"), what_safe); lives_free(what_safe); } else { - cfile->redoable=FALSE; - cfile->undo_action=UNDO_NONE; - lives_snprintf(cfile->undo_text,32,"%s",_("_Undo")); - lives_snprintf(cfile->redo_text,32,"%s",_("_Redo")); + cfile->redoable = FALSE; + cfile->undo_action = UNDO_NONE; + lives_snprintf(cfile->undo_text, 32, "%s", _("_Undo")); + lives_snprintf(cfile->redo_text, 32, "%s", _("_Redo")); } - set_menu_text(mainw->undo,cfile->undo_text,TRUE); - set_menu_text(mainw->redo,cfile->redo_text,TRUE); + set_menu_text(mainw->undo, cfile->undo_text, TRUE); + set_menu_text(mainw->redo, cfile->redo_text, TRUE); } lives_widget_hide(mainw->undo); lives_widget_show(mainw->redo); - lives_widget_set_sensitive(mainw->redo,sensitive); + lives_widget_set_sensitive(mainw->redo, sensitive); } void set_sel_label(LiVESWidget *sel_label) { - char *tstr,*frstr,*tmp; - char *sy,*sz; + char *tstr, *frstr, *tmp; + char *sy, *sz; - if (mainw->current_file==-1||!cfile->frames||mainw->multitrack!=NULL) { - lives_label_set_text(LIVES_LABEL(sel_label),_("-------------Selection------------")); + if (mainw->current_file == -1 || !cfile->frames || mainw->multitrack != NULL) { + lives_label_set_text(LIVES_LABEL(sel_label), _("-------------Selection------------")); } else { - tstr=lives_strdup_printf("%.2f",calc_time_from_frame(mainw->current_file,cfile->end+1)- - calc_time_from_frame(mainw->current_file,cfile->start)); - frstr=lives_strdup_printf("%d",cfile->end-cfile->start+1); + tstr = lives_strdup_printf("%.2f", calc_time_from_frame(mainw->current_file, cfile->end + 1) - + calc_time_from_frame(mainw->current_file, cfile->start)); + frstr = lives_strdup_printf("%d", cfile->end - cfile->start + 1); // TRANSLATORS: - try to keep the text of the middle part the same length, by deleting "-" if necessary lives_label_set_text(LIVES_LABEL(sel_label), - (tmp=lives_strconcat("---------- [ ",tstr,(sy=(lives_strdup(_(" sec ] ----------Selection---------- [ ")))), - frstr,(sz=lives_strdup(_(" frames ] ----------"))),NULL))); + (tmp = lives_strconcat("---------- [ ", tstr, (sy = (lives_strdup(_(" sec ] ----------Selection---------- [ ")))), + frstr, (sz = lives_strdup(_(" frames ] ----------"))), NULL))); lives_free(sy); lives_free(sz); @@ -4540,30 +4596,30 @@ LIVES_INLINE void lives_list_free_strings(LiVESList *list) { register int i; - if (list==NULL) return; + if (list == NULL) return; - for (i=0; i<lives_list_length(list); i++) { - if (lives_list_nth_data(list,i)!=NULL) { + for (i = 0; i < lives_list_length(list); i++) { + if (lives_list_nth_data(list, i) != NULL) { //lives_printerr("free %s\n",list->data); - lives_free((livespointer)lives_list_nth_data(list,i)); + lives_free((livespointer)lives_list_nth_data(list, i)); } } } LIVES_INLINE void lives_slist_free_all(LiVESSList **list) { - if (*list==NULL) return; + if (*list == NULL) return; lives_list_free_strings((LiVESList *)*list); lives_slist_free(*list); - *list=NULL; + *list = NULL; } LIVES_INLINE void lives_list_free_all(LiVESList **list) { - if (*list==NULL) return; + if (*list == NULL) return; lives_list_free_strings(*list); lives_list_free(*list); - *list=NULL; + *list = NULL; } @@ -4573,9 +4629,9 @@ lives_list_free_all(&mainw->cached_list); - if (!(hfile=fopen(filename,"r"))) return FALSE; - while (fgets(buff,65536,hfile)!=NULL) { - mainw->cached_list=lives_list_append(mainw->cached_list,lives_strdup(buff)); + if (!(hfile = fopen(filename, "r"))) return FALSE; + while (fgets(buff, 65536, hfile) != NULL) { + mainw->cached_list = lives_list_append(mainw->cached_list, lives_strdup(buff)); threaded_dialog_spin(0.); } fclose(hfile); @@ -4584,37 +4640,37 @@ char *get_val_from_cached_list(const char *key, size_t maxlen) { - LiVESList *clist=mainw->cached_list; - char *keystr_start=lives_strdup_printf("<%s>",key); - char *keystr_end=lives_strdup_printf("</%s>",key); - size_t kslen=strlen(keystr_start); - size_t kelen=strlen(keystr_end); + LiVESList *clist = mainw->cached_list; + char *keystr_start = lives_strdup_printf("<%s>", key); + char *keystr_end = lives_strdup_printf("</%s>", key); + size_t kslen = strlen(keystr_start); + size_t kelen = strlen(keystr_end); - boolean gotit=FALSE; + boolean gotit = FALSE; char buff[maxlen]; - memset(buff,0,1); + memset(buff, 0, 1); - while (clist!=NULL) { + while (clist != NULL) { if (gotit) { - if (!strncmp(keystr_end,(char *)clist->data,kelen)) { + if (!strncmp(keystr_end, (char *)clist->data, kelen)) { break; } - if (strncmp((char *)clist->data,"|",1)) lives_strappend(buff,maxlen,(char *)clist->data); + if (strncmp((char *)clist->data, "|", 1)) lives_strappend(buff, maxlen, (char *)clist->data); else { - if (clist->prev!=NULL) clist->prev->next=clist->next; + if (clist->prev != NULL) clist->prev->next = clist->next; } - } else if (!strncmp(keystr_start,(char *)clist->data,kslen)) { - gotit=TRUE; + } else if (!strncmp(keystr_start, (char *)clist->data, kslen)) { + gotit = TRUE; } - clist=clist->next; + clist = clist->next; } lives_free(keystr_start); lives_free(keystr_end); if (!gotit) return NULL; - if (strlen(buff)>0) memset(buff+strlen(buff)-1,0,1); // remove trailing newline + if (strlen(buff) > 0) memset(buff + strlen(buff) - 1, 0, 1); // remove trailing newline return lives_strdup(buff); } @@ -4623,92 +4679,92 @@ char *clip_detail_to_string(lives_clip_details_t what, size_t *maxlenp) { - char *key=NULL; + char *key = NULL; switch (what) { case CLIP_DETAILS_HEADER_VERSION: - key=lives_strdup("header_version"); - if (maxlenp!=NULL) *maxlenp=256; + key = lives_strdup("header_version"); + if (maxlenp != NULL) *maxlenp = 256; break; case CLIP_DETAILS_BPP: - key=lives_strdup("bpp"); - if (maxlenp!=NULL) *maxlenp=256; + key = lives_strdup("bpp"); + if (maxlenp != NULL) *maxlenp = 256; break; case CLIP_DETAILS_FPS: - key=lives_strdup("fps"); - if (maxlenp!=NULL) *maxlenp=256; + key = lives_strdup("fps"); + if (maxlenp != NULL) *maxlenp = 256; break; case CLIP_DETAILS_PB_FPS: - key=lives_strdup("pb_fps"); - if (maxlenp!=NULL) *maxlenp=256; + key = lives_strdup("pb_fps"); + if (maxlenp != NULL) *maxlenp = 256; break; case CLIP_DETAILS_WIDTH: - key=lives_strdup("width"); - if (maxlenp!=NULL) *maxlenp=256; + key = lives_strdup("width"); + if (maxlenp != NULL) *maxlenp = 256; break; case CLIP_DETAILS_HEIGHT: - key=lives_strdup("height"); - if (maxlenp!=NULL) *maxlenp=256; + key = lives_strdup("height"); + if (maxlenp != NULL) *maxlenp = 256; break; case CLIP_DETAILS_UNIQUE_ID: - key=lives_strdup("unique_id"); - if (maxlenp!=NULL) *maxlenp=256; + key = lives_strdup("unique_id"); + if (maxlenp != NULL) *maxlenp = 256; break; case CLIP_DETAILS_ARATE: - key=lives_strdup("audio_rate"); - if (maxlenp!=NULL) *maxlenp=256; + key = lives_strdup("audio_rate"); + if (maxlenp != NULL) *maxlenp = 256; break; case CLIP_DETAILS_PB_ARATE: - key=lives_strdup("pb_audio_rate"); - if (maxlenp!=NULL) *maxlenp=256; + key = lives_strdup("pb_audio_rate"); + if (maxlenp != NULL) *maxlenp = 256; break; case CLIP_DETAILS_ACHANS: - key=lives_strdup("audio_channels"); - if (maxlenp!=NULL) *maxlenp=256; + key = lives_strdup("audio_channels"); + if (maxlenp != NULL) *maxlenp = 256; break; case CLIP_DETAILS_ASIGNED: - key=lives_strdup("audio_signed"); - if (maxlenp!=NULL) *maxlenp=256; + key = lives_strdup("audio_signed"); + if (maxlenp != NULL) *maxlenp = 256; break; case CLIP_DETAILS_AENDIAN: - key=lives_strdup("audio_endian"); - if (maxlenp!=NULL) *maxlenp=256; + key = lives_strdup("audio_endian"); + if (maxlenp != NULL) *maxlenp = 256; break; case CLIP_DETAILS_ASAMPS: - key=lives_strdup("audio_sample_size"); - if (maxlenp!=NULL) *maxlenp=256; + key = lives_strdup("audio_sample_size"); + if (maxlenp != NULL) *maxlenp = 256; break; case CLIP_DETAILS_FRAMES: - key=lives_strdup("frames"); - if (maxlenp!=NULL) *maxlenp=256; + key = lives_strdup("frames"); + if (maxlenp != NULL) *maxlenp = 256; break; case CLIP_DETAILS_TITLE: - key=lives_strdup("title"); + key = lives_strdup("title"); break; case CLIP_DETAILS_AUTHOR: - key=lives_strdup("author"); + key = lives_strdup("author"); break; case CLIP_DETAILS_COMMENT: - key=lives_strdup("comment"); + key = lives_strdup("comment"); break; case CLIP_DETAILS_KEYWORDS: - key=lives_strdup("keywords"); + key = lives_strdup("keywords"); break; case CLIP_DETAILS_PB_FRAMENO: - key=lives_strdup("pb_frameno"); - if (maxlenp!=NULL) *maxlenp=256; + key = lives_strdup("pb_frameno"); + if (maxlenp != NULL) *maxlenp = 256; break; case CLIP_DETAILS_CLIPNAME: - key=lives_strdup("clipname"); + key = lives_strdup("clipname"); break; case CLIP_DETAILS_FILENAME: - key=lives_strdup("filename"); + key = lives_strdup("filename"); break; case CLIP_DETAILS_INTERLACE: - key=lives_strdup("interlace"); + key = lives_strdup("interlace"); break; case CLIP_DETAILS_DECODER_NAME: - key=lives_strdup("decoder"); + key = lives_strdup("decoder"); break; default: break; @@ -4719,57 +4775,57 @@ boolean get_clip_value(int which, lives_clip_details_t what, void *retval, size_t maxlen) { - time_t old_time=0,new_time=0; + time_t old_time = 0, new_time = 0; struct stat mystat; - char *lives_header=NULL; + char *lives_header = NULL; char *old_header; char *val; char *key; char *tmp; - int retval2=LIVES_RESPONSE_NONE; + int retval2 = LIVES_RESPONSE_NONE; - if (mainw->cached_list==NULL) { + if (mainw->cached_list == NULL) { - lives_header=lives_build_filename(prefs->workdir,mainw->files[which]->handle,"header.lives",NULL); - old_header=lives_build_filename(prefs->workdir,mainw->files[which]->handle,"header",NULL); + lives_header = lives_build_filename(prefs->workdir, mainw->files[which]->handle, "header.lives", NULL); + old_header = lives_build_filename(prefs->workdir, mainw->files[which]->handle, "header", NULL); // TODO - remove this some time before 2038 - if (!stat(old_header,&mystat)) old_time=mystat.st_mtime; - if (!stat(lives_header,&mystat)) new_time=mystat.st_mtime; + if (!stat(old_header, &mystat)) old_time = mystat.st_mtime; + if (!stat(lives_header, &mystat)) new_time = mystat.st_mtime; lives_free(old_header); - if (old_time>new_time) { + if (old_time > new_time) { lives_free(lives_header); return FALSE; // clip has been edited by an older version of LiVES } } ////////////////////////////////////////////////// - key=clip_detail_to_string(what,&maxlen); + key = clip_detail_to_string(what, &maxlen); - if (key==NULL) { - tmp=lives_strdup_printf("Invalid detail %d requested from file %s",which,lives_header); + if (key == NULL) { + tmp = lives_strdup_printf("Invalid detail %d requested from file %s", which, lives_header); LIVES_ERROR(tmp); lives_free(tmp); lives_free(lives_header); return FALSE; } - mainw->read_failed=FALSE; + mainw->read_failed = FALSE; - if (mainw->cached_list!=NULL) { - val=get_val_from_cached_list(key,maxlen); + if (mainw->cached_list != NULL) { + val = get_val_from_cached_list(key, maxlen); lives_free(key); - if (val==NULL) return FALSE; + if (val == NULL) return FALSE; } else { - val=(char *)lives_malloc(maxlen); - retval2=get_pref_from_file(lives_header,key,val,maxlen); + val = (char *)lives_malloc(maxlen); + retval2 = get_pref_from_file(lives_header, key, val, maxlen); lives_free(lives_header); lives_free(key); } - if (retval2==LIVES_RESPONSE_CANCEL) { + if (retval2 == LIVES_RESPONSE_CANCEL) { return FALSE; } @@ -4782,52 +4838,52 @@ case CLIP_DETAILS_ASAMPS: case CLIP_DETAILS_FRAMES: case CLIP_DETAILS_HEADER_VERSION: - *(int *)retval=atoi(val); + *(int *)retval = atoi(val); break; case CLIP_DETAILS_ASIGNED: - *(int *)retval=0; - if (mainw->files[which]->header_version==0) *(int *)retval=atoi(val); - if (*(int *)retval==0&&(!strcasecmp(val,"false"))) *(int *)retval=1; // unsigned + *(int *)retval = 0; + if (mainw->files[which]->header_version == 0) *(int *)retval = atoi(val); + if (*(int *)retval == 0 && (!strcasecmp(val, "false"))) *(int *)retval = 1; // unsigned break; case CLIP_DETAILS_PB_FRAMENO: - *(int *)retval=atoi(val); - if (retval==0) *(int *)retval=1; + *(int *)retval = atoi(val); + if (retval == 0) *(int *)retval = 1; break; case CLIP_DETAILS_PB_ARATE: - *(int *)retval=atoi(val); - if (retval==0) *(int *)retval=mainw->files[which]->arps; + *(int *)retval = atoi(val); + if (retval == 0) *(int *)retval = mainw->files[which]->arps; break; case CLIP_DETAILS_INTERLACE: - *(int *)retval=atoi(val); + *(int *)retval = atoi(val); break; case CLIP_DETAILS_FPS: - *(double *)retval=strtod(val,NULL); - if (*(double *)retval==0.) *(double *)retval=prefs->default_fps; + *(double *)retval = strtod(val, NULL); + if (*(double *)retval == 0.) *(double *)retval = prefs->default_fps; break; case CLIP_DETAILS_PB_FPS: - *(double *)retval=strtod(val,NULL); - if (*(double *)retval==0.) *(double *)retval=mainw->files[which]->fps; + *(double *)retval = strtod(val, NULL); + if (*(double *)retval == 0.) *(double *)retval = mainw->files[which]->fps; break; case CLIP_DETAILS_UNIQUE_ID: - if (capable->cpu_bits==32) { - *(int64_t *)retval=strtoll(val,NULL,10); + if (capable->cpu_bits == 32) { + *(int64_t *)retval = strtoll(val, NULL, 10); } else { - *(int64_t *)retval=strtol(val,NULL,10); + *(int64_t *)retval = strtol(val, NULL, 10); } break; case CLIP_DETAILS_AENDIAN: - *(int *)retval=atoi(val)*2; + *(int *)retval = atoi(val) * 2; break; case CLIP_DETAILS_TITLE: case CLIP_DETAILS_AUTHOR: case CLIP_DETAILS_COMMENT: case CLIP_DETAILS_CLIPNAME: case CLIP_DETAILS_KEYWORDS: - lives_snprintf((char *)retval,maxlen,"%s",val); + lives_snprintf((char *)retval, maxlen, "%s", val); break; case CLIP_DETAILS_FILENAME: case CLIP_DETAILS_DECODER_NAME: - lives_snprintf((char *)retval,maxlen,"%s",(tmp=F2U8(val))); + lives_snprintf((char *)retval, maxlen, "%s", (tmp = F2U8(val))); lives_free(tmp); break; } @@ -4839,21 +4895,21 @@ void save_clip_value(int which, lives_clip_details_t what, void *val) { char *lives_header; - char *com,*tmp; + char *com, *tmp; char *myval; char *key; - boolean needs_sigs=FALSE; + boolean needs_sigs = FALSE; - mainw->write_failed=mainw->com_failed=FALSE; + mainw->write_failed = mainw->com_failed = FALSE; - if (which==0||which==mainw->scrap_file) return; + if (which == 0 || which == mainw->scrap_file) return; - lives_header=lives_build_filename(prefs->workdir,mainw->files[which]->handle,"header.lives",NULL); - key=clip_detail_to_string(what,NULL); + lives_header = lives_build_filename(prefs->workdir, mainw->files[which]->handle, "header.lives", NULL); + key = clip_detail_to_string(what, NULL); - if (key==NULL) { - tmp=lives_strdup_printf("Invalid detail %d added for file %s",which,lives_header); + if (key == NULL) { + tmp = lives_strdup_printf("Invalid detail %d added for file %s", which, lives_header); LIVES_ERROR(tmp); lives_free(tmp); lives_free(lives_header); @@ -4862,98 +4918,98 @@ switch (what) { case CLIP_DETAILS_BPP: - myval=lives_strdup_printf("%d",*(int *)val); + myval = lives_strdup_printf("%d", *(int *)val); break; case CLIP_DETAILS_FPS: - if (!mainw->files[which]->ratio_fps) myval=lives_strdup_printf("%.3f",*(double *)val); - else myval=lives_strdup_printf("%.8f",*(double *)val); + if (!mainw->files[which]->ratio_fps) myval = lives_strdup_printf("%.3f", *(double *)val); + else myval = lives_strdup_printf("%.8f", *(double *)val); break; case CLIP_DETAILS_PB_FPS: - if (mainw->files[which]->ratio_fps&&(mainw->files[which]->pb_fps==mainw->files[which]->fps)) - myval=lives_strdup_printf("%.8f",*(double *)val); - else myval=lives_strdup_printf("%.3f",*(double *)val); + if (mainw->files[which]->ratio_fps && (mainw->files[which]->pb_fps == mainw->files[which]->fps)) + myval = lives_strdup_printf("%.8f", *(double *)val); + else myval = lives_strdup_printf("%.3f", *(double *)val); break; case CLIP_DETAILS_WIDTH: - myval=lives_strdup_printf("%d",*(int *)val); + myval = lives_strdup_printf("%d", *(int *)val); break; case CLIP_DETAILS_HEIGHT: - myval=lives_strdup_printf("%d",*(int *)val); + myval = lives_strdup_printf("%d", *(int *)val); break; case CLIP_DETAILS_UNIQUE_ID: - myval=lives_strdup_printf("%"PRId64,*(int64_t *)val); + myval = lives_strdup_printf("%"PRId64, *(int64_t *)val); break; case CLIP_DETAILS_ARATE: - myval=lives_strdup_printf("%d",*(int *)val); + myval = lives_strdup_printf("%d", *(int *)val); break; case CLIP_DETAILS_PB_ARATE: - myval=lives_strdup_printf("%d",*(int *)val); + myval = lives_strdup_printf("%d", *(int *)val); break; case CLIP_DETAILS_ACHANS: - myval=lives_strdup_printf("%d",*(int *)val); + myval = lives_strdup_printf("%d", *(int *)val); break; case CLIP_DETAILS_ASIGNED: - if ((*(int *)val)==1) myval=lives_strdup("true"); - else myval=lives_strdup("false"); + if ((*(int *)val) == 1) myval = lives_strdup("true"); + else myval = lives_strdup("false"); break; case CLIP_DETAILS_AENDIAN: - myval=lives_strdup_printf("%d",(*(int *)val)/2); + myval = lives_strdup_printf("%d", (*(int *)val) / 2); break; case CLIP_DETAILS_ASAMPS: - myval=lives_strdup_printf("%d",*(int *)val); + myval = lives_strdup_printf("%d", *(int *)val); break; case CLIP_DETAILS_FRAMES: - myval=lives_strdup_printf("%d",*(int *)val); + myval = lives_strdup_printf("%d", *(int *)val); break; case CLIP_DETAILS_INTERLACE: - myval=lives_strdup_printf("%d",*(int *)val); + myval = lives_strdup_printf("%d", *(int *)val); break; case CLIP_DETAILS_TITLE: - myval=lives_strdup((char *)val); + myval = lives_strdup((char *)val); break; case CLIP_DETAILS_AUTHOR: - myval=lives_strdup((char *)val); + myval = lives_strdup((char *)val); break; case CLIP_DETAILS_COMMENT: - myval=lives_strdup((const char *)val); + myval = lives_strdup((const char *)val); break; case CLIP_DETAILS_KEYWORDS: - myval=lives_strdup((const char *)val); + myval = lives_strdup((const char *)val); break; case CLIP_DETAILS_PB_FRAMENO: - myval=lives_strdup_printf("%d",*(int *)val); + myval = lives_strdup_printf("%d", *(int *)val); break; case CLIP_DETAILS_CLIPNAME: - myval=lives_strdup((char *)val); + myval = lives_strdup((char *)val); break; case CLIP_DETAILS_FILENAME: - myval=U82F((const char *)val); + myval = U82F((const char *)val); break; case CLIP_DETAILS_DECODER_NAME: - myval=U82F((const char *)val); + myval = U82F((const char *)val); break; case CLIP_DETAILS_HEADER_VERSION: - myval=lives_strdup_printf("%d",*(int *)val); + myval = lives_strdup_printf("%d", *(int *)val); break; default: return; } - if (mainw->clip_header!=NULL) { - char *keystr_start=lives_strdup_printf("<%s>\n",key); - char *keystr_end=lives_strdup_printf("\n</%s>\n",key); - lives_fputs(keystr_start,mainw->clip_header); - lives_fputs(myval,mainw->clip_header); - lives_fputs(keystr_end,mainw->clip_header); + if (mainw->clip_header != NULL) { + char *keystr_start = lives_strdup_printf("<%s>\n", key); + char *keystr_end = lives_strdup_printf("\n</%s>\n", key); + lives_fputs(keystr_start, mainw->clip_header); + lives_fputs(myval, mainw->clip_header); + lives_fputs(keystr_end, mainw->clip_header); lives_free(keystr_start); lives_free(keystr_end); } else { if (!mainw->signals_deferred) { set_signal_handlers((SignalHandlerPointer)defer_sigint); - needs_sigs=TRUE; + needs_sigs = TRUE; } - com=lives_strdup_printf("%s set_clip_value \"%s\" \"%s\" \"%s\"",prefs->backend_sync,lives_header,key,myval); - lives_system(com,FALSE); + com = lives_strdup_printf("%s set_clip_value \"%s\" \"%s\" \"%s\"", prefs->backend_sync, lives_header, key, myval); + lives_system(com, FALSE); if (mainw->signal_caught) catch_sigint(mainw->signal_caught); if (needs_sigs) set_signal_handlers((SignalHandlerPointer)catch_sigint); lives_free(com); @@ -4972,53 +5028,53 @@ // get list of sets in top level dir // values will be in filename encoding - LiVESList *setlist=NULL; - DIR *tldir,*subdir; - struct dirent *tdirent,*subdirent; + LiVESList *setlist = NULL; + DIR *tldir, *subdir; + struct dirent *tdirent, *subdirent; char *subdirname; - if (dir==NULL) return NULL; + if (dir == NULL) return NULL; - tldir=opendir(dir); + tldir = opendir(dir); - if (tldir==NULL) return NULL; + if (tldir == NULL) return NULL; - lives_set_cursor_style(LIVES_CURSOR_BUSY,NULL); + lives_set_cursor_style(LIVES_CURSOR_BUSY, NULL); lives_widget_context_update(); while (1) { - tdirent=readdir(tldir); + tdirent = readdir(tldir); - if (tdirent==NULL) { + if (tdirent == NULL) { closedir(tldir); - lives_set_cursor_style(LIVES_CURSOR_NORMAL,NULL); + lives_set_cursor_style(LIVES_CURSOR_NORMAL, NULL); return setlist; } - if (!strncmp(tdirent->d_name,"..",strlen(tdirent->d_name))) continue; + if (!strncmp(tdirent->d_name, "..", strlen(tdirent->d_name))) continue; - subdirname=lives_build_filename(dir,tdirent->d_name,NULL); + subdirname = lives_build_filename(dir, tdirent->d_name, NULL); - subdir=opendir(subdirname); + subdir = opendir(subdirname); - if (subdir==NULL) { + if (subdir == NULL) { lives_free(subdirname); continue; } while (1) { - subdirent=readdir(subdir); + subdirent = readdir(subdir); - if (subdirent==NULL) { + if (subdirent == NULL) { break; } - if (!strcmp(subdirent->d_name,"order")) { + if (!strcmp(subdirent->d_name, "order")) { if (!utf8) - setlist=lives_list_append(setlist,lives_strdup(tdirent->d_name)); + setlist = lives_list_append(setlist, lives_strdup(tdirent->d_name)); else - setlist=lives_list_append(setlist,F2U8(tdirent->d_name)); + setlist = lives_list_append(setlist, F2U8(tdirent->d_name)); break; } } @@ -5033,14 +5089,14 @@ boolean check_for_ratio_fps(double fps) { boolean ratio_fps; - char *test_fps_string1=lives_strdup_printf("%.3f00000",fps); - char *test_fps_string2=lives_strdup_printf("%.8f",fps); + char *test_fps_string1 = lives_strdup_printf("%.3f00000", fps); + char *test_fps_string2 = lives_strdup_printf("%.8f", fps); - if (strcmp(test_fps_string1,test_fps_string2)) { + if (strcmp(test_fps_string1, test_fps_string2)) { // got a ratio - ratio_fps=TRUE; + ratio_fps = TRUE; } else { - ratio_fps=FALSE; + ratio_fps = FALSE; } lives_free(test_fps_string1); lives_free(test_fps_string2); @@ -5053,13 +5109,13 @@ // return a ratio (8dp) fps from a string with format num:denom double fps; char *fps_string; - char **array=lives_strsplit(string,":",2); - int num=atoi(array[0]); - int denom=atoi(array[1]); + char **array = lives_strsplit(string, ":", 2); + int num = atoi(array[0]); + int denom = atoi(array[1]); lives_strfreev(array); - fps=(double)num/(double)denom; - fps_string=lives_strdup_printf("%.8f",fps); - fps=lives_strtod(fps_string,NULL); + fps = (double)num / (double)denom; + fps_string = lives_strdup_printf("%.8f", fps); + fps = lives_strtod(fps_string, NULL); lives_free(fps_string); return fps; } @@ -5068,14 +5124,14 @@ char *remove_trailing_zeroes(double val) { int i; - double xval=val; + double xval = val; - if (val==(int)val) return lives_strdup_printf("%d",(int)val); - for (i=0; i<=16; i++) { - xval*=10.; - if (xval==(int)xval) return lives_strdup_printf("%.*f",i,val); + if (val == (int)val) return lives_strdup_printf("%d", (int)val); + for (i = 0; i <= 16; i++) { + xval *= 10.; + if (xval == (int)xval) return lives_strdup_printf("%.*f", i, val); } - return lives_strdup_printf("%.*f",i,val); + return lives_strdup_printf("%.*f", i, val); } @@ -5094,7 +5150,7 @@ if (little_endian) { return AFORM_UNSIGNED; } else { - return AFORM_UNSIGNED|AFORM_BIG_ENDIAN; + return AFORM_UNSIGNED | AFORM_BIG_ENDIAN; } } } @@ -5105,11 +5161,11 @@ int get_token_count(const char *string, int delim) { - int pieces=1; - if (string==NULL) return 0; - if (delim<=0||delim>255) return 1; + int pieces = 1; + if (string == NULL) return 0; + if (delim <= 0 || delim > 255) return 1; - while ((string=strchr(string,delim))!=NULL) { + while ((string = strchr(string, delim)) != NULL) { pieces++; string++; } @@ -5119,9 +5175,9 @@ int lives_utf8_strcasecmp(const char *s1, const char *s2) { - char *s1u=lives_utf8_normalize(s1,strlen(s1),LIVES_NORMALIZE_DEFAULT); - char *s2u=lives_utf8_normalize(s1,strlen(s1),LIVES_NORMALIZE_DEFAULT); - int ret=strcmp(s1,s2); + char *s1u = lives_utf8_normalize(s1, strlen(s1), LIVES_NORMALIZE_DEFAULT); + char *s2u = lives_utf8_normalize(s1, strlen(s1), LIVES_NORMALIZE_DEFAULT); + int ret = strcmp(s1, s2); lives_free(s1u); lives_free(s2u); return ret; @@ -5131,16 +5187,16 @@ char *subst(const char *string, const char *from, const char *to) { // return a string with all occurrences of from replaced with to // return value should be freed after use - char *ret=lives_strdup(string),*first; - char *search=ret; + char *ret = lives_strdup(string), *first; + char *search = ret; - while ((search=lives_strstr_len(search,-1,from))!=NULL) { - first=lives_strndup(ret,search-ret); - search=lives_strdup(search+strlen(from)); + while ((search = lives_strstr_len(search, -1, from)) != NULL) { + first = lives_strndup(ret, search - ret); + search = lives_strdup(search + strlen(from)); lives_free(ret); - ret=lives_strconcat(first,to,search,NULL); + ret = lives_strconcat(first, to, search, NULL); lives_free(search); - search=ret+strlen(first)+strlen(to); + search = ret + strlen(first) + strlen(to); lives_free(first); } return ret; @@ -5152,88 +5208,88 @@ wchar_t utfsym; - char newline[]="\n"; + char newline[] = "\n"; char *retstr; - size_t runlen=0; - size_t req_size=1; // for the terminating \0 + size_t runlen = 0; + size_t req_size = 1; // for the terminating \0 size_t tlen; - size_t nlen=strlen(newline); + size_t nlen = strlen(newline); int xtoffs; - boolean needsnl=FALSE; + boolean needsnl = FALSE; register int i; - if (text==NULL) return NULL; + if (text == NULL) return NULL; - if (maxwidth<1) return lives_strdup("Bad maxwidth, dummy"); + if (maxwidth < 1) return lives_strdup("Bad maxwidth, dummy"); - tlen=strlen(text); + tlen = strlen(text); - xtoffs=mbtowc(NULL,NULL,0); // reset read state + xtoffs = mbtowc(NULL, NULL, 0); // reset read state //pass 1, get the required size - for (i=0; i<tlen; i+=xtoffs) { - xtoffs=mbtowc(&utfsym,&text[i],4); // get next utf8 wchar - if (xtoffs==-1) { + for (i = 0; i < tlen; i += xtoffs) { + xtoffs = mbtowc(&utfsym, &text[i], 4); // get next utf8 wchar + if (xtoffs == -1) { LIVES_WARN("mbtowc returned -1"); return lives_strdup(text); } - if (!strncmp(text+i,"\n",nlen)) runlen=0; // is a newline (in any encoding) + if (!strncmp(text + i, "\n", nlen)) runlen = 0; // is a newline (in any encoding) else { runlen++; - if (needsnl) req_size+=nlen; ///< we will insert a nl here + if (needsnl) req_size += nlen; ///< we will insert a nl here } - if (runlen==maxwidth) { - if (i<tlen-1 && (strncmp(text+i+1,"\n",nlen))) { + if (runlen == maxwidth) { + if (i < tlen - 1 && (strncmp(text + i + 1, "\n", nlen))) { // needs a newline - needsnl=TRUE; - runlen=0; + needsnl = TRUE; + runlen = 0; } - } else needsnl=FALSE; - req_size+=xtoffs; + } else needsnl = FALSE; + req_size += xtoffs; } - xtoffs=mbtowc(NULL,NULL,0); // reset read state + xtoffs = mbtowc(NULL, NULL, 0); // reset read state - retstr=(char *)lives_malloc(req_size); - req_size=0; // reuse as a ptr to offset in retstr - runlen=0; - needsnl=FALSE; + retstr = (char *)lives_malloc(req_size); + req_size = 0; // reuse as a ptr to offset in retstr + runlen = 0; + needsnl = FALSE; //pass 2, copy and insert newlines - for (i=0; i<tlen; i+=xtoffs) { + for (i = 0; i < tlen; i += xtoffs) { - xtoffs=mbtowc(&utfsym,&text[i],4); // get next utf8 wchar - if (!strncmp(text+i,"\n",nlen)) runlen=0; // is a newline (in any encoding) + xtoffs = mbtowc(&utfsym, &text[i], 4); // get next utf8 wchar + if (!strncmp(text + i, "\n", nlen)) runlen = 0; // is a newline (in any encoding) else { runlen++; if (needsnl) { - memcpy(retstr+req_size,newline,nlen); - req_size+=nlen; + memcpy(retstr + req_size, newline, nlen); + req_size += nlen; } } - if (runlen==maxwidth) { - if (i<tlen-1 && (strncmp(text+i+1,"\n",nlen))) { + if (runlen == maxwidth) { + if (i < tlen - 1 && (strncmp(text + i + 1, "\n", nlen))) { // needs a newline - needsnl=TRUE; - runlen=0; + needsnl = TRUE; + runlen = 0; } - } else needsnl=FALSE; - memcpy(retstr+req_size,&utfsym,xtoffs); - req_size+=xtoffs; + } else needsnl = FALSE; + memcpy(retstr + req_size, &utfsym, xtoffs); + req_size += xtoffs; } - memset(retstr+req_size,0,1); + memset(retstr + req_size, 0, 1); return retstr; } @@ -5242,26 +5298,26 @@ int hextodec(char *string) { int i; - int tot=0; + int tot = 0; char test[2]; - memset(test+1,0,1); + memset(test + 1, 0, 1); - for (i=0; i<strlen(string); i++) { - tot*=16; - lives_memcpy(test,(void *)&string[i],1); - tot+=get_hex_digit(test); + for (i = 0; i < strlen(string); i++) { + tot *= 16; + lives_memcpy(test, (void *)&string[i], 1); + tot += get_hex_digit(test); } return tot; } int get_hex_digit(const char *c) { - if (!strcmp(c,"a")||!strcmp(c,"A")) return 10; - if (!strcmp(c,"b")||!strcmp(c,"B")) return 11; - if (!strcmp(c,"c")||!strcmp(c,"C")) return 12; - if (!strcmp(c,"d")||!strcmp(c,"D")) return 13; - if (!strcmp(c,"e")||!strcmp(c,"E")) return 14; - if (!strcmp(c,"f")||!strcmp(c,"F")) return 15; + if (!strcmp(c, "a") || !strcmp(c, "A")) return 10; + if (!strcmp(c, "b") || !strcmp(c, "B")) return 11; + if (!strcmp(c, "c") || !strcmp(c, "C")) return 12; + if (!strcmp(c, "d") || !strcmp(c, "D")) return 13; + if (!strcmp(c, "e") || !strcmp(c, "E")) return 14; + if (!strcmp(c, "f") || !strcmp(c, "F")) return 15; return (atoi(c)); } @@ -5273,7 +5329,7 @@ #define rand_a 1073741789L #define rand_c 32749L - return (fastrand_val= rand_a * fastrand_val + rand_c); + return (fastrand_val = rand_a * fastrand_val + rand_c); } void fastsrand(uint32_t seed) { @@ -5294,20 +5350,20 @@ char *tfile; #endif - if (!lives_file_test(dir,LIVES_FILE_TEST_IS_DIR)) { - lives_mkdir_with_parents(dir,capable->umask); - if (!lives_file_test(dir,LIVES_FILE_TEST_IS_DIR)) { + if (!lives_file_test(dir, LIVES_FILE_TEST_IS_DIR)) { + lives_mkdir_with_parents(dir, capable->umask); + if (!lives_file_test(dir, LIVES_FILE_TEST_IS_DIR)) { return FALSE; } } #ifndef IS_MINGW // use statvfs to get fs details - if (statvfs(dir,&sbuf)==-1) return FALSE; - if (sbuf.f_flag&ST_RDONLY) return FALSE; + if (statvfs(dir, &sbuf) == -1) return FALSE; + if (sbuf.f_flag & ST_RDONLY) return FALSE; #else - mainw->com_failed=FALSE; - tfile=lives_strdup_printf("%s\\xxxxfile.txt",dir); + mainw->com_failed = FALSE; + tfile = lives_strdup_printf("%s\\xxxxfile.txt", dir); lives_touch(tfile); lives_rm(tfile); if (mainw->com_failed) return FALSE; @@ -5333,27 +5389,27 @@ struct statvfs sbuf; #endif - uint64_t bytes=0; - boolean must_delete=FALSE; + uint64_t bytes = 0; + boolean must_delete = FALSE; - if (!lives_file_test(dir,LIVES_FILE_TEST_IS_DIR)) must_delete=TRUE; + if (!lives_file_test(dir, LIVES_FILE_TEST_IS_DIR)) must_delete = TRUE; if (!is_writeable_dir(dir)) goto getfserr; #ifndef IS_MINGW // use statvfs to get fs details - if (statvfs(dir,&sbuf)==-1) goto getfserr; - if (sbuf.f_flag&ST_RDONLY) goto getfserr; + if (statvfs(dir, &sbuf) == -1) goto getfserr; + if (sbuf.f_flag & ST_RDONLY) goto getfserr; // result is block size * blocks available - bytes=sbuf.f_bsize*sbuf.f_bavail; + bytes = sbuf.f_bsize * sbuf.f_bavail; #else - GetDiskFreeSpaceEx(dir,(PULARGE_INTEGER)&bytes,NULL,NULL); + GetDiskFreeSpaceEx(dir, (PULARGE_INTEGER)&bytes, NULL, NULL); #endif getfserr: - if (must_delete) lives_rmdir(dir,FALSE); + if (must_delete) lives_rmdir(dir, FALSE); return bytes; } @@ -5362,8 +5418,8 @@ LIVES_INLINE LiVESInterpType get_interp_value(short quality) { - if (quality==PB_QUALITY_HIGH) return LIVES_INTERP_BEST; - else if (quality==PB_QUALITY_MED) return LIVES_INTERP_NORMAL; + if (quality == PB_QUALITY_HIGH) return LIVES_INTERP_BEST; + else if (quality == PB_QUALITY_MED) return LIVES_INTERP_NORMAL; return LIVES_INTERP_FAST; } @@ -5371,22 +5427,22 @@ LIVES_INLINE LiVESList *lives_list_move_to_first(LiVESList *list, LiVESList *item) { // move item to first in list - LiVESList *xlist=lives_list_remove_link(list,item); // item becomes standalone list - return lives_list_concat(item,xlist); // concat rest of list after item + LiVESList *xlist = lives_list_remove_link(list, item); // item becomes standalone list + return lives_list_concat(item, xlist); // concat rest of list after item } LiVESList *lives_list_delete_string(LiVESList *list, char *string) { // remove string from list, using strcmp - LiVESList *xlist=list; - while (xlist!=NULL) { - if (!strcmp((char *)xlist->data,string)) { + LiVESList *xlist = list; + while (xlist != NULL) { + if (!strcmp((char *)xlist->data, string)) { lives_free((livespointer)xlist->data); - list=lives_list_delete_link(list,xlist); + list = lives_list_delete_link(list, xlist); return list; } - xlist=xlist->next; + xlist = xlist->next; } return list; } @@ -5395,11 +5451,11 @@ LiVESList *lives_list_copy_strings(LiVESList *list) { // copy a list, copying the strings too - LiVESList *xlist=NULL,*olist=list; + LiVESList *xlist = NULL, *olist = list; - while (olist!=NULL) { - xlist=lives_list_append(xlist,lives_strdup((char *)olist->data)); - olist=olist->next; + while (olist != NULL) { + xlist = lives_list_append(xlist, lives_strdup((char *)olist->data)); + olist = olist->next; } return xlist; @@ -5416,23 +5472,23 @@ LiVESList *plist; - if (lives_list_length(alist)!=lives_list_length(blist)) return TRUE; // check the simple case first + if (lives_list_length(alist) != lives_list_length(blist)) return TRUE; // check the simple case first // run through alist and see if we have a mismatch - plist=alist; - while (plist!=NULL) { - LiVESList *qlist=blist; - boolean matched=FALSE; - while (qlist!=NULL) { - if (!(strcmp((char *)plist->data,(char *)qlist->data))) { - matched=TRUE; + plist = alist; + while (plist != NULL) { + LiVESList *qlist = blist; + boolean matched = FALSE; + while (qlist != NULL) { + if (!(strcmp((char *)plist->data, (char *)qlist->data))) { + matched = TRUE; break; } - qlist=qlist->next; + qlist = qlist->next; } if (!matched) return TRUE; - plist=plist->next; + plist = plist->next; } // since both lists were of the same length, there is no need to check blist @@ -5445,29 +5501,29 @@ lives_cancel_t check_for_bad_ffmpeg(void) { int i; - int fcount,ofcount; + int fcount, ofcount; char *fname_next; - boolean maybeok=FALSE; + boolean maybeok = FALSE; - ofcount=cfile->frames; + ofcount = cfile->frames; get_frame_count(mainw->current_file); - fcount=cfile->frames; + fcount = cfile->frames; - for (i=1; i<=fcount; i++) { - fname_next=make_image_file_name(cfile,i,get_image_ext_for_type(cfile->img_type)); - if (sget_file_size(fname_next)>0) { + for (i = 1; i <= fcount; i++) { + fname_next = make_image_file_name(cfile, i, get_image_ext_for_type(cfile->img_type)); + if (sget_file_size(fname_next) > 0) { lives_free(fname_next); - maybeok=TRUE; + maybeok = TRUE; break; } lives_free(fname_next); } - cfile->frames=ofcount; + cfile->frames = ofcount; if (!maybeok) { do_error_dialog(
View file
LiVES-2.8.4.tar.bz2/src/videodev.c -> LiVES-2.8.6.tar.bz2/src/videodev.c
Changed
@@ -41,38 +41,38 @@ #ifndef USE_MONOTONIC_TIME struct timeval otv; #endif - int64_t stime,dtime,timer; + int64_t stime, dtime, timer; unicap_status_t status; int ncount; - timer=timeout*1000000.; + timer = timeout * 1000000.; #ifdef USE_MONOTONIC_TIME - stime=lives_get_monotonic_time()*U_SEC_RATIO; + stime = lives_get_monotonic_time() * U_SEC_RATIO; #else - gettimeofday(&otv,NULL); - stime=otv.tv_sec*1000000+otv.tv_usec; + gettimeofday(&otv, NULL); + stime = otv.tv_sec * 1000000 + otv.tv_usec; #endif while (1) { - status=unicap_poll_buffer(ldev->handle,&ncount); + status = unicap_poll_buffer(ldev->handle, &ncount); #ifdef DEBUG_UNICAP - if (status!=STATUS_SUCCESS) lives_printerr("Unicap poll failed with status %d\n",status); + if (status != STATUS_SUCCESS) lives_printerr("Unicap poll failed with status %d\n", status); #endif - if (ncount>=0) { + if (ncount >= 0) { if (!SUCCESS(unicap_wait_buffer(ldev->handle, buff))) return FALSE; return TRUE; } #ifdef USE_MONOTONIC_TIME - dtime=lives_get_monotonic_time()*U_SEC_RATIO; + dtime = lives_get_monotonic_time() * U_SEC_RATIO; #else - gettimeofday(&otv,NULL); - dtime=otv.tv_sec*1000000+otv.tv_usec; + gettimeofday(&otv, NULL); + dtime = otv.tv_sec * 1000000 + otv.tv_usec; #endif - if (dtime-stime>timer) return FALSE; + if (dtime - stime > timer) return FALSE; lives_usleep(prefs->sleep_time); lives_widget_context_update(); @@ -88,24 +88,24 @@ #ifndef USE_MONOTONIC_TIME struct timeval otv; #endif - int64_t stime,dtime,timer; + int64_t stime, dtime, timer; - timer=timeout*1000000.; + timer = timeout * 1000000.; #ifdef USE_MONOTONIC_TIME - stime=lives_get_monotonic_time()*U_SEC_RATIO; + stime = lives_get_monotonic_time() * U_SEC_RATIO; #else - gettimeofday(&otv,NULL); - stime=otv.tv_sec*1000000+otv.tv_usec; + gettimeofday(&otv, NULL); + stime = otv.tv_sec * 1000000 + otv.tv_usec; #endif - while (ldev->buffer_ready==0) { + while (ldev->buffer_ready == 0) { #ifdef USE_MONOTONIC_TIME - dtime=lives_get_monotonic_time()*U_SEC_RATIO; + dtime = lives_get_monotonic_time() * U_SEC_RATIO; #else - gettimeofday(&otv,NULL); - dtime=otv.tv_sec*1000000+otv.tv_usec; + gettimeofday(&otv, NULL); + dtime = otv.tv_sec * 1000000 + otv.tv_usec; #endif - if (dtime-stime>timer) return FALSE; + if (dtime - stime > timer) return FALSE; lives_usleep(prefs->sleep_time); lives_widget_context_update(); @@ -119,18 +119,18 @@ static void new_frame_cb(unicap_event_t event, unicap_handle_t handle, unicap_data_buffer_t *buffer, void *usr_data) { - lives_vdev_t *ldev=(lives_vdev_t *)usr_data; - if (mainw->playing_file==-1||(mainw->playing_file!=ldev->fileno&&mainw->blend_file!=ldev->fileno)) { - ldev->buffer_ready=0; + lives_vdev_t *ldev = (lives_vdev_t *)usr_data; + if (mainw->playing_file == -1 || (mainw->playing_file != ldev->fileno && mainw->blend_file != ldev->fileno)) { + ldev->buffer_ready = 0; return; } - if (ldev->buffer_ready!=1) { - lives_memcpy(ldev->buffer1.data,buffer->data,ldev->buffer1.buffer_size); - ldev->buffer_ready=1; + if (ldev->buffer_ready != 1) { + lives_memcpy(ldev->buffer1.data, buffer->data, ldev->buffer1.buffer_size); + ldev->buffer_ready = 1; } else { - lives_memcpy(ldev->buffer2.data,buffer->data,ldev->buffer2.buffer_size); - ldev->buffer_ready=2; + lives_memcpy(ldev->buffer2.data, buffer->data, ldev->buffer2.buffer_size); + ldev->buffer_ready = 2; } } @@ -139,27 +139,27 @@ boolean weed_layer_set_from_lvdev(weed_plant_t *layer, lives_clip_t *sfile, double timeoutsecs) { - lives_vdev_t *ldev=(lives_vdev_t *)sfile->ext_src; - unicap_data_buffer_t *returned_buffer=NULL; + lives_vdev_t *ldev = (lives_vdev_t *)sfile->ext_src; + unicap_data_buffer_t *returned_buffer = NULL; void **pixel_data; - void *odata=ldev->buffer1.data; + void *odata = ldev->buffer1.data; int error; - weed_set_int_value(layer,WEED_LEAF_WIDTH,sfile->hsize/ + weed_set_int_value(layer, WEED_LEAF_WIDTH, sfile->hsize / weed_palette_get_pixels_per_macropixel(ldev->current_palette)); - weed_set_int_value(layer,WEED_LEAF_HEIGHT,sfile->vsize); - weed_set_int_value(layer,WEED_LEAF_CURRENT_PALETTE,ldev->current_palette); - weed_set_int_value(layer,WEED_LEAF_YUV_SUBSPACE,WEED_YUV_SUBSPACE_YCBCR); // TODO - handle bt.709 - weed_set_int_value(layer,WEED_LEAF_YUV_SAMPLING,WEED_YUV_SAMPLING_DEFAULT); // TODO - use ldev->YUV_sampling - weed_set_int_value(layer,WEED_LEAF_YUV_CLAMPING,ldev->YUV_clamping); + weed_set_int_value(layer, WEED_LEAF_HEIGHT, sfile->vsize); + weed_set_int_value(layer, WEED_LEAF_CURRENT_PALETTE, ldev->current_palette); + weed_set_int_value(layer, WEED_LEAF_YUV_SUBSPACE, WEED_YUV_SUBSPACE_YCBCR); // TODO - handle bt.709 + weed_set_int_value(layer, WEED_LEAF_YUV_SAMPLING, WEED_YUV_SAMPLING_DEFAULT); // TODO - use ldev->YUV_sampling + weed_set_int_value(layer, WEED_LEAF_YUV_CLAMPING, ldev->YUV_clamping); - create_empty_pixel_data(layer,TRUE,TRUE); + create_empty_pixel_data(layer, TRUE, TRUE); - if (ldev->buffer_type==UNICAP_BUFFER_TYPE_USER) { + if (ldev->buffer_type == UNICAP_BUFFER_TYPE_USER) { - if (weed_palette_get_numplanes(ldev->current_palette)==1||ldev->is_really_grey) { - ldev->buffer1.data=(unsigned char *)weed_get_voidptr_value(layer,WEED_LEAF_PIXEL_DATA,&error); + if (weed_palette_get_numplanes(ldev->current_palette) == 1 || ldev->is_really_grey) { + ldev->buffer1.data = (unsigned char *)weed_get_voidptr_value(layer, WEED_LEAF_PIXEL_DATA, &error); } unicap_queue_buffer(ldev->handle, &ldev->buffer1); @@ -171,33 +171,33 @@ unicap_dequeue_buffer(ldev->handle, &returned_buffer); unicap_start_capture(ldev->handle); #endif - ldev->buffer1.data=(unsigned char *)odata; + ldev->buffer1.data = (unsigned char *)odata; return FALSE; } } else { // wait for callback to fill buffer - if (!lives_wait_system_buffer(ldev,timeoutsecs)) { + if (!lives_wait_system_buffer(ldev, timeoutsecs)) { #ifdef DEBUG_UNICAP lives_printerr("Failed to wait for system buffer!\n"); #endif } - if (ldev->buffer_ready==1) returned_buffer=&ldev->buffer1; - else returned_buffer=&ldev->buffer2; + if (ldev->buffer_ready == 1) returned_buffer = &ldev->buffer1; + else returned_buffer = &ldev->buffer2; } - pixel_data=weed_get_voidptr_array(layer,WEED_LEAF_PIXEL_DATA,&error); + pixel_data = weed_get_voidptr_array(layer, WEED_LEAF_PIXEL_DATA, &error); - if (weed_palette_get_numplanes(ldev->current_palette)>1&&!ldev->is_really_grey) { - pixel_data_planar_from_membuf(pixel_data, returned_buffer->data, sfile->hsize*sfile->vsize, ldev->current_palette); + if (weed_palette_get_numplanes(ldev->current_palette) > 1 && !ldev->is_really_grey) { + pixel_data_planar_from_membuf(pixel_data, returned_buffer->data, sfile->hsize * sfile->vsize, ldev->current_palette); } else { - if (ldev->buffer_type==UNICAP_BUFFER_TYPE_SYSTEM) { - int rowstride=weed_get_int_value(layer,WEED_LEAF_ROWSTRIDES,&error); - size_t bsize=rowstride*sfile->vsize; - if (bsize>returned_buffer->buffer_size) { + if (ldev->buffer_type == UNICAP_BUFFER_TYPE_SYSTEM) { + int rowstride = weed_get_int_value(layer, WEED_LEAF_ROWSTRIDES, &error); + size_t bsize = rowstride * sfile->vsize; + if (bsize > returned_buffer->buffer_size) { #ifdef DEBUG_UNICAP lives_printerr("Warning - returned buffer size too small !\n"); #endif - bsize=returned_buffer->buffer_size; + bsize = returned_buffer->buffer_size; } lives_memcpy(pixel_data[0], returned_buffer->data, bsize); } @@ -206,13 +206,13 @@ if (ldev->is_really_grey) { // y contains our greyscale data // set u and v planes to 128 - memset(pixel_data[1],128,sfile->hsize*sfile->vsize); - memset(pixel_data[2],128,sfile->hsize*sfile->vsize); + memset(pixel_data[1], 128, sfile->hsize * sfile->vsize); + memset(pixel_data[2], 128, sfile->hsize * sfile->vsize); } lives_free(pixel_data); - ldev->buffer1.data=(unsigned char *)odata; + ldev->buffer1.data = (unsigned char *)odata; return TRUE; } @@ -229,83 +229,83 @@ // Note: we match first by palette, then by size - int format_count,i; + int format_count, i; unicap_status_t status = STATUS_SUCCESS; - int f=-1; - int bestp=WEED_PALETTE_END; - int bestw=0,besth=0; + int f = -1; + int bestp = WEED_PALETTE_END; + int bestw = 0, besth = 0; int cpal; // get details for (format_count = 0; SUCCESS(status) && (format_count < MAX_FORMATS); format_count++) { - unicap_format_t *format=(unicap_format_t *)(&formats[format_count]); + unicap_format_t *format = (unicap_format_t *)(&formats[format_count]); status = unicap_enumerate_formats(ldev->handle, NULL, (unicap_format_t *)format, format_count); // TODO - check if we need to free format->sizes // TODO - prefer non-interlaced, YCbCr for YUV - cpal=fourccp_to_weedp(format->fourcc,format->bpp,NULL,NULL,NULL,NULL); + cpal = fourccp_to_weedp(format->fourcc, format->bpp, NULL, NULL, NULL, NULL); - if (cpal==WEED_PALETTE_END||weed_palette_is_alpha_palette(cpal)) { + if (cpal == WEED_PALETTE_END || weed_palette_is_alpha_palette(cpal)) { #ifdef DEBUG_UNICAP // set format to try and get more data unicap_set_format(ldev->handle, format); - lives_printerr("Unusable palette with fourcc 0x%x bpp=%d, size=%dx%d buf=%d\n",format->fourcc,format->bpp,format->size.width, - format->size.height,(int)format->buffer_size); + lives_printerr("Unusable palette with fourcc 0x%x bpp=%d, size=%dx%d buf=%d\n", format->fourcc, format->bpp, format->size.width, + format->size.height, (int)format->buffer_size); #endif continue; } - if (bestp==WEED_PALETTE_END||cpal==palette||weed_palette_is_alpha_palette(bestp)|| - weed_palette_is_lower_quality(bestp,cpal)|| - (weed_palette_is_yuv_palette(bestp)&&weed_palette_is_rgb_palette(cpal))) { + if (bestp == WEED_PALETTE_END || cpal == palette || weed_palette_is_alpha_palette(bestp) || + weed_palette_is_lower_quality(bestp, cpal) || + (weed_palette_is_yuv_palette(bestp) && weed_palette_is_rgb_palette(cpal))) { // got better palette, or exact match // prefer exact match on target palette if we have it - if (palette!=WEED_PALETTE_END && bestp==palette && cpal!=palette) continue; + if (palette != WEED_PALETTE_END && bestp == palette && cpal != palette) continue; // otherwise this is our best palette up to now - bestp=cpal; + bestp = cpal; // TODO - try to minimise aspect delta // for now we just go with the smallest size >= target (or largest frame size if none are >= target) - if (width>=format->min_size.width && height>=format->min_size.height) { - if (format->h_stepping>0&&format->v_stepping>0) { + if (width >= format->min_size.width && height >= format->min_size.height) { + if (format->h_stepping > 0 && format->v_stepping > 0) { #ifdef DEBUG_UNICAP - lives_printerr("Can set any size with step %d and %d; min %d x %d, max %d x %d\n",format->h_stepping,format->v_stepping, - format->min_size.width,format->min_size.height,format->max_size.width,format->max_size.height); + lives_printerr("Can set any size with step %d and %d; min %d x %d, max %d x %d\n", format->h_stepping, format->v_stepping, + format->min_size.width, format->min_size.height, format->max_size.width, format->max_size.height); #endif // can set exact size (within stepping limits) - format->size.width=(int)(((double)width+(double)format->h_stepping/2.) - /(double)format->h_stepping) * format->h_stepping; + format->size.width = (int)(((double)width + (double)format->h_stepping / 2.) + / (double)format->h_stepping) * format->h_stepping; - format->size.height=(int)(((double)height+(double)format->v_stepping/2.) - /(double)format->v_stepping) * format->v_stepping; + format->size.height = (int)(((double)height + (double)format->v_stepping / 2.) + / (double)format->v_stepping) * format->v_stepping; - if (format->size.width>format->max_size.width) format->size.width=format->max_size.width; - if (format->size.height>format->max_size.height) format->size.height=format->max_size.height; + if (format->size.width > format->max_size.width) format->size.width = format->max_size.width; + if (format->size.height > format->max_size.height) format->size.height = format->max_size.height; - if (format->size.width>bestw || format->size.height>besth) { - bestw=format->size.width; - besth=format->size.height; - f=format_count; + if (format->size.width > bestw || format->size.height > besth) { + bestw = format->size.width; + besth = format->size.height; + f = format_count; } } else { // array of sizes supported // step through sizes #ifdef DEBUG_UNICAP - lives_printerr("Checking %d array sizes\n",format->size_count); + lives_printerr("Checking %d array sizes\n", format->size_count); #endif - if (format->size_count==0) { + if (format->size_count == 0) { // only one size we can use, this is it... - if ((format->size.width>bestw||format->size.height>besth)&&(bestw<width||besth<height)) { + if ((format->size.width > bestw || format->size.height > besth) && (bestw < width || besth < height)) { // this format supports a better size match - bestw=format->size.width=format->size.width; - besth=format->size.height=format->size.height; - f=format_count; + bestw = format->size.width = format->size.width; + besth = format->size.height = format->size.height; + f = format_count; #ifdef DEBUG_UNICAP lives_printerr("Size is best so far\n"); #endif @@ -314,16 +314,16 @@ } // array of sizes - for (i=0; i<format->size_count; i++) { + for (i = 0; i < format->size_count; i++) { #ifdef DEBUG_UNICAP - lives_printerr("entry %d:%d x %d\n",i,format->sizes[i].width,format->sizes[i].height); + lives_printerr("entry %d:%d x %d\n", i, format->sizes[i].width, format->sizes[i].height); #endif - if (format->sizes[i].width>bestw&&format->sizes[i].height>besth&& - (bestw<width||besth<height)) { + if (format->sizes[i].width > bestw && format->sizes[i].height > besth && + (bestw < width || besth < height)) { // this format supports a better size match - bestw=format->size.width=format->sizes[i].width; - besth=format->size.height=format->sizes[i].height; - f=format_count; + bestw = format->size.width = format->sizes[i].width; + besth = format->size.height = format->sizes[i].height; + f = format_count; #ifdef DEBUG_UNICAP lives_printerr("Size is best so far\n"); #endif @@ -332,15 +332,15 @@ } } else { // target is smaller than min width, height - if (bestw<format->min_size.width||besth<format->min_size.height) continue; // TODO - minimise aspect delta - bestw=format->size.width=format->min_size.width; - besth=format->size.height=format->min_size.height; - f=format_count; + if (bestw < format->min_size.width || besth < format->min_size.height) continue; // TODO - minimise aspect delta + bestw = format->size.width = format->min_size.width; + besth = format->size.height = format->min_size.height; + f = format_count; } } } - if (f>-1) return (unicap_format_t *)(&formats[f]); + if (f > -1) return (unicap_format_t *)(&formats[f]); return NULL; } @@ -352,7 +352,7 @@ static boolean open_vdev_inner(unicap_device_t *device) { // create a virtual clip - lives_vdev_t *ldev=(lives_vdev_t *)lives_malloc(sizeof(lives_vdev_t)); + lives_vdev_t *ldev = (lives_vdev_t *)lives_malloc(sizeof(lives_vdev_t)); unicap_format_t formats[MAX_FORMATS]; unicap_format_t *format; @@ -360,7 +360,7 @@ unicap_open(&ldev->handle, device); //check return value and take appropriate action - if (ldev->handle==NULL) { + if (ldev->handle == NULL) { LIVES_ERROR("vdev input: cannot open device"); lives_free(ldev); return FALSE; @@ -368,9 +368,9 @@ unicap_lock_stream(ldev->handle); - format=lvdev_get_best_format(formats, ldev, WEED_PALETTE_END, DEF_GEN_WIDTH, DEF_GEN_HEIGHT); + format = lvdev_get_best_format(formats, ldev, WEED_PALETTE_END, DEF_GEN_WIDTH, DEF_GEN_HEIGHT); - if (format==NULL) { + if (format == NULL) { LIVES_INFO("No useful formats found"); unicap_unlock_stream(ldev->handle); unicap_close(ldev->handle); @@ -378,7 +378,7 @@ return FALSE; } - if (!(format->buffer_types&UNICAP_BUFFER_TYPE_USER)) { + if (!(format->buffer_types & UNICAP_BUFFER_TYPE_USER)) { // have to use system buffer type format->buffer_type = UNICAP_BUFFER_TYPE_SYSTEM; @@ -391,11 +391,11 @@ ldev->buffer_type = format->buffer_type; // ignore YUV subspace for now - ldev->current_palette=fourccp_to_weedp(format->fourcc, format->bpp, (int *)&cfile->interlace, - &ldev->YUV_sampling, &ldev->YUV_subspace, &ldev->YUV_clamping); + ldev->current_palette = fourccp_to_weedp(format->fourcc, format->bpp, (int *)&cfile->interlace, + &ldev->YUV_sampling, &ldev->YUV_subspace, &ldev->YUV_clamping); #ifdef DEBUG_UNICAP - lives_printerr("\nUsing palette with fourcc 0x%x, translated as %s\n",format->fourcc, + lives_printerr("\nUsing palette with fourcc 0x%x, translated as %s\n", format->fourcc, weed_palette_get_name(ldev->current_palette)); #endif @@ -408,32 +408,32 @@ } - if (format->buffer_size!=format->size.width*format->size.height*weed_palette_get_bits_per_macropixel(ldev->current_palette)/ - weed_palette_get_pixels_per_macropixel(ldev->current_palette)/8) { - int wwidth=format->size.width,awidth; - int wheight=format->size.height,aheight; + if (format->buffer_size != format->size.width * format->size.height * weed_palette_get_bits_per_macropixel(ldev->current_palette) / + weed_palette_get_pixels_per_macropixel(ldev->current_palette) / 8) { + int wwidth = format->size.width, awidth; + int wheight = format->size.height, aheight; // something went wrong setting the size - the buffer is wrongly sized #ifdef DEBUG_UNICAP lives_printerr("Unicap buffer size is wrong, resetting it.\n"); #endif // get the size again - unicap_get_format(ldev->handle,format); - awidth=format->size.width; - aheight=format->size.height; + unicap_get_format(ldev->handle, format); + awidth = format->size.width; + aheight = format->size.height; #ifdef DEBUG_UNICAP - lives_printerr("Wanted frame size %d x %d, got %d x %d\n",wwidth,wheight,awidth,aheight); + lives_printerr("Wanted frame size %d x %d, got %d x %d\n", wwidth, wheight, awidth, aheight); #endif - format->buffer_size=format->size.width*format->size.height*weed_palette_get_bits_per_macropixel(ldev->current_palette)/ - weed_palette_get_pixels_per_macropixel(ldev->current_palette)/8; + format->buffer_size = format->size.width * format->size.height * weed_palette_get_bits_per_macropixel(ldev->current_palette) / + weed_palette_get_pixels_per_macropixel(ldev->current_palette) / 8; } - cfile->hsize=format->size.width; - cfile->vsize=format->size.height; + cfile->hsize = format->size.width; + cfile->vsize = format->size.height; - cfile->ext_src=ldev; + cfile->ext_src = ldev; ldev->buffer1.data = (unsigned char *)lives_malloc(format->buffer_size); ldev->buffer1.buffer_size = format->buffer_size; @@ -441,30 +441,30 @@ ldev->buffer2.data = (unsigned char *)lives_malloc(format->buffer_size); ldev->buffer2.buffer_size = format->buffer_size; - ldev->buffer_ready=0; - ldev->fileno=mainw->current_file; + ldev->buffer_ready = 0; + ldev->fileno = mainw->current_file; cfile->bpp = format->bpp; unicap_start_capture(ldev->handle); // if it is greyscale, we will add fake U and V planes - if (ldev->current_palette==WEED_PALETTE_A8) { - ldev->current_palette=WEED_PALETTE_YUV444P; - ldev->is_really_grey=TRUE; - } else ldev->is_really_grey=FALSE; + if (ldev->current_palette == WEED_PALETTE_A8) { + ldev->current_palette = WEED_PALETTE_YUV444P; + ldev->is_really_grey = TRUE; + } else ldev->is_really_grey = FALSE; return TRUE; } void lives_vdev_free(lives_vdev_t *ldev) { - if (ldev==NULL) return; + if (ldev == NULL) return; unicap_stop_capture(ldev->handle); unicap_unlock_stream(ldev->handle); unicap_close(ldev->handle); - if (ldev->buffer1.data!=NULL) lives_free(ldev->buffer1.data); - if (ldev->buffer2.data!=NULL) lives_free(ldev->buffer2.data); + if (ldev->buffer1.data != NULL) lives_free(ldev->buffer1.data); + if (ldev->buffer2.data != NULL) lives_free(ldev->buffer2.data); } @@ -472,16 +472,16 @@ boolean on_open_vdev_activate(LiVESMenuItem *menuitem, livespointer user_data) { unicap_device_t devices[MAX_DEVICES]; - LiVESList *devlist=NULL; + LiVESList *devlist = NULL; LiVESWidget *card_dialog; char *fname; - int devno=0; + int devno = 0; - int new_file=mainw->first_free_file; - int old_file=mainw->current_file; + int new_file = mainw->first_free_file; + int old_file = mainw->current_file; int response; @@ -490,7 +490,7 @@ register int i; - mainw->open_deint=FALSE; + mainw->open_deint = FALSE; status = unicap_reenumerate_devices(&dev_count); @@ -503,88 +503,88 @@ for (i = 0; SUCCESS(status) && (dev_count < MAX_DEVICES); i++) { status = unicap_enumerate_devices(NULL, &devices[i], i); if (!SUCCESS(status)) { - if (i==0) LIVES_INFO("Unicap failed to get any devices"); + if (i == 0) LIVES_INFO("Unicap failed to get any devices"); break; } } - for (i=0; i<dev_count; i++) { + for (i = 0; i < dev_count; i++) { if (!unicap_is_stream_locked(&devices[i])) { - devlist=lives_list_prepend(devlist,devices[i].identifier); + devlist = lives_list_prepend(devlist, devices[i].identifier); } } - if (devlist==NULL) { + if (devlist == NULL) { do_locked_in_vdevs_error(); return FALSE; } - if (user_data==NULL) { - mainw->fx1_val=0; - mainw->open_deint=FALSE; - card_dialog=create_combo_dialog(1,(livespointer)devlist); - response=lives_dialog_run(LIVES_DIALOG(card_dialog)); + if (user_data == NULL) { + mainw->fx1_val = 0; + mainw->open_deint = FALSE; + card_dialog = create_combo_dialog(1, (livespointer)devlist); + response = lives_dialog_run(LIVES_DIALOG(card_dialog)); lives_list_free(devlist); - if (response==LIVES_RESPONSE_CANCEL) { + if (response == LIVES_RESPONSE_CANCEL) { lives_widget_destroy(card_dialog); return FALSE; } lives_widget_destroy(card_dialog); } else { - char *device=(char *)user_data; - for (i=0; i<dev_count; i++) { - if (!strcmp(device,devices[i].device)) { - mainw->fx1_val=i; + char *device = (char *)user_data; + for (i = 0; i < dev_count; i++) { + if (!strcmp(device, devices[i].device)) { + mainw->fx1_val = i; break; } } } - for (i=dev_count-1; i>=0; i--) { + for (i = dev_count - 1; i >= 0; i--) { if (!unicap_is_stream_locked(&devices[i])) { - if (mainw->fx1_val==0) { - devno=i; + if (mainw->fx1_val == 0) { + devno = i; break; } } mainw->fx1_val--; } - if (devices[devno].device!=NULL) fname=lives_strdup_printf("%s",devices[devno].device); - else fname=lives_strdup_printf("%s",devices[devno].identifier); + if (devices[devno].device != NULL) fname = lives_strdup_printf("%s", devices[devno].device); + else fname = lives_strdup_printf("%s", devices[devno].identifier); - if (!get_new_handle(new_file,fname)) { + if (!get_new_handle(new_file, fname)) { lives_free(fname); return FALSE; } - mainw->current_file=new_file; - cfile->clip_type=CLIP_TYPE_VIDEODEV; + mainw->current_file = new_file; + cfile->clip_type = CLIP_TYPE_VIDEODEV; d_print(""); ///< force switchtext if (!open_vdev_inner(&devices[devno])) { - d_print(_("Unable to open device %s\n"),fname); + d_print(_("Unable to open device %s\n"), fname); lives_free(fname); close_current_file(old_file); return FALSE; } - if (cfile->interlace!=LIVES_INTERLACE_NONE&&prefs->auto_deint) cfile->deinterlace=TRUE; ///< auto deinterlace - if (!cfile->deinterlace) cfile->deinterlace=mainw->open_deint; ///< user can also force deinterlacing + if (cfile->interlace != LIVES_INTERLACE_NONE && prefs->auto_deint) cfile->deinterlace = TRUE; ///< auto deinterlace + if (!cfile->deinterlace) cfile->deinterlace = mainw->open_deint; ///< user can also force deinterlacing - cfile->start=cfile->end=cfile->frames=1; - cfile->is_loaded=TRUE; + cfile->start = cfile->end = cfile->frames = 1; + cfile->is_loaded = TRUE; add_to_clipmenu(); - lives_snprintf(cfile->type,40,"%s",fname); + lives_snprintf(cfile->type, 40, "%s", fname); - d_print(_("Opened device %s\n"),devices[devno].identifier); + d_print(_("Opened device %s\n"), devices[devno].identifier); - switch_clip(0,new_file,TRUE); + switch_clip(0, new_file, TRUE); lives_free(fname);
View file
LiVES-2.8.4.tar.bz2/src/widget-helper-gtk.h -> LiVES-2.8.6.tar.bz2/src/widget-helper-gtk.h
Changed
@@ -1,6 +1,6 @@ // widget-helper-gtk.h // LiVES -// (c) G. Finch 2012 - 2016 <salsaman@gmail.com> +// (c) G. Finch 2012 - 2017 <salsaman@gmail.com> // released under the GNU GPL 3 or later // see file ../COPYING or www.gnu.org for licensing details @@ -11,13 +11,11 @@ #ifdef GUI_GTK - #define GTK_RADIO_MENU_BUG // a bug where gtk_radio_menu_item_set_active() does not update visually #define GTK_SUBMENU_SENS_BUG // a bug where setting a menuitem insensitive fails if it has a submenu #define GTK_TEXT_VIEW_CSS_BUG // a bug where named textviews cannot be set by CSS #define GTK_TEXT_VIEW_DRAW_BUG // a bug where textview crashes if too much text in it - #ifndef IS_MINGW typedef gboolean boolean; #endif @@ -46,7 +44,6 @@ #define GDK_IS_WIN32_DISPLAY(display) (FALSE) #endif - #else #ifndef GDK_IS_X11_DISPLAY @@ -57,32 +54,27 @@ #endif // GUI_GTK - #ifdef PAINTER_CAIRO #ifndef GUI_GTK #include <cairo/cairo.h> #endif - typedef cairo_t lives_painter_t; typedef cairo_surface_t lives_painter_surface_t; boolean lives_painter_surface_destroy(lives_painter_surface_t *); - typedef cairo_format_t lives_painter_format_t; #define LIVES_PAINTER_FORMAT_A1 CAIRO_FORMAT_A1 #define LIVES_PAINTER_FORMAT_A8 CAIRO_FORMAT_A8 #define LIVES_PAINTER_FORMAT_ARGB32 CAIRO_FORMAT_ARGB32 - typedef cairo_content_t lives_painter_content_t; // eg. color, alpha, color+alpha #define LIVES_PAINTER_CONTENT_COLOR CAIRO_CONTENT_COLOR - typedef cairo_operator_t lives_painter_operator_t; #define LIVES_PAINTER_OPERATOR_UNKNOWN CAIRO_OPERATOR_OVER @@ -102,37 +94,34 @@ #define LIVES_PAINTER_FILL_RULE_WINDING CAIRO_FILL_RULE_WINDING #define LIVES_PAINTER_FILL_RULE_EVEN_ODD CAIRO_FILL_RULE_EVEN_ODD - #endif - #ifdef GUI_GTK #include "support.h" -#if GTK_CHECK_VERSION(2,28,0) +#if GTK_CHECK_VERSION(2, 28, 0) #define USE_MONOTONIC_TIME #define lives_get_monotonic_time() g_get_monotonic_time() #endif -//#if GTK_CHECK_VERSION(3,8,0) +//#if GTK_CHECK_VERSION(3, 8, 0) //#define USE_GDK_FRAME_CLOCK //#endif /// Glib type stuff ////////////////////////////////////////// #ifndef G_ENCODE_VERSION -#define G_ENCODE_VERSION(major,minor) ((major) << 16 | (minor) << 8) +#define G_ENCODE_VERSION(major, minor) ((major) << 16 | (minor) << 8) #endif #define lives_free(a) g_free(a) #define lives_malloc(a) g_malloc(a) #define lives_malloc0(a) g_malloc0(a) -#define lives_realloc(a,b) g_realloc(a,b) -#define lives_try_malloc0_n(a,b) g_try_malloc0_n(a,b) +#define lives_realloc(a, b) g_realloc(a, b) +#define lives_try_malloc0_n(a, b) g_try_malloc0_n(a, b) #define lives_try_malloc(a) g_try_malloc(a) #define lives_try_malloc0(a) g_try_malloc0(a) -#define lives_try_realloc(a,b) g_try_realloc(a,b) - +#define lives_try_realloc(a, b) g_try_realloc(a, b) typedef GError LiVESError; @@ -155,7 +144,7 @@ ////////////////////////////////////////////////// -#if GTK_CHECK_VERSION(3,10,0) +#if GTK_CHECK_VERSION(3, 10, 0) #define LIVES_TABLE_IS_GRID 1 #endif @@ -174,7 +163,7 @@ #define LIVES_MAXSIZE G_MAXSIZE #define LIVES_MAXFLOAT G_MAXFLOAT -#define LIVES_IS_RTL (gtk_widget_get_default_direction()==GTK_TEXT_DIR_RTL) +#define LIVES_IS_RTL (gtk_widget_get_default_direction() == GTK_TEXT_DIR_RTL) #define LIVES_GUI_CALLBACK(f) ((LiVESGuiCallback) (f)) @@ -182,75 +171,74 @@ #define lives_strdup_printf(...) g_strdup_printf(__VA_ARGS__) #define lives_strdup_vprintf(...) g_strdup_vprintf(__VA_ARGS__) #define lives_strndup_printf(...) g_strndup_printf(__VA_ARGS__) -#define lives_strndup(a,b) g_strndup(a,b) -#define lives_snprintf(a,b,...) g_snprintf(a,b,__VA_ARGS__) -#define lives_strsplit(a,b,c) g_strsplit(a,b,c) +#define lives_strndup(a, b) g_strndup(a, b) +#define lives_snprintf(a, b, ...) g_snprintf(a, b, __VA_ARGS__) +#define lives_strsplit(a, b, c) g_strsplit(a, b, c) #define lives_strfreev(a) g_strfreev(a) -#define lives_ascii_strcasecmp(a,b) g_ascii_strcasecmp(a,b) -#define lives_ascii_strncasecmp(a,b,c) g_ascii_strncasecmp(a,b,c) -#define lives_strconcat(a,...) g_strconcat(a,__VA_ARGS__) +#define lives_ascii_strcasecmp(a, b) g_ascii_strcasecmp(a, b) +#define lives_ascii_strncasecmp(a, b, c) g_ascii_strncasecmp(a, b, c) +#define lives_strconcat(a, ...) g_strconcat(a, __VA_ARGS__) #define lives_strstrip(a) g_strstrip(a) -#define lives_strrstr(a,b) g_strrstr(a,b) -#define lives_strstr_len(a,b,c) g_strstr_len(a,b,c) -#define lives_strdelimit(a,b,c) g_strdelimit(a,b,c) +#define lives_strrstr(a, b) g_strrstr(a, b) +#define lives_strstr_len(a, b, c) g_strstr_len(a, b, c) +#define lives_strdelimit(a, b, c) g_strdelimit(a, b, c) #define LIVES_NORMALIZE_DEFAULT G_NORMALIZE_DEFAULT -#define lives_utf8_normalize(a,b,c) g_utf8_normalize(a,b,c) - +#define lives_utf8_normalize(a, b, c) g_utf8_normalize(a, b, c) -#define lives_list_nth_data(list,i) g_list_nth_data(list,i) -#define lives_list_nth(list,i) g_list_nth(list,i) +#define lives_list_nth_data(list, i) g_list_nth_data(list, i) +#define lives_list_nth(list, i) g_list_nth(list, i) #define lives_list_length(list) g_list_length(list) #define lives_list_free(list) g_list_free(list) #define lives_slist_free(list) g_slist_free(list) -#define lives_list_append(list,data) g_list_append(list,data) -#define lives_list_prepend(list,data) g_list_prepend(list,data) -#define lives_list_find(list,data) g_list_find(list,data) +#define lives_list_append(list, data) g_list_append(list, data) +#define lives_list_prepend(list, data) g_list_prepend(list, data) +#define lives_list_find(list, data) g_list_find(list, data) #define lives_list_previous(list) g_list_previous(list) #define lives_list_last(list) g_list_last(list) -#define lives_list_delete_link(list,link) g_list_delete_link(list,link) +#define lives_list_delete_link(list, link) g_list_delete_link(list, link) #define lives_list_copy(list) g_list_copy(list) #define lives_list_next(list) g_list_next(list) #define lives_list_first(list) g_list_first(list) -#define lives_list_remove(list,data) g_list_remove(list,data) -#define lives_list_remove_link(list,data) g_list_remove_link(list,data) -#define lives_list_concat(list,data) g_list_concat(list,data) -#define lives_list_insert(list,data,pos) g_list_insert(list,data,pos) -#define lives_list_index(list,data) g_list_index(list,data) -#define lives_list_find_custom(list,data,func) g_list_find_custom(list,data,func) +#define lives_list_remove(list, data) g_list_remove(list, data) +#define lives_list_remove_link(list, data) g_list_remove_link(list, data) +#define lives_list_concat(list, data) g_list_concat(list, data) +#define lives_list_insert(list, data, pos) g_list_insert(list, data, pos) +#define lives_list_index(list, data) g_list_index(list, data) +#define lives_list_find_custom(list, data, func) g_list_find_custom(list, data, func) #define lives_slist_free(list) g_slist_free(list) #define lives_slist_length(list) g_slist_length(list) -#define lives_slist_nth_data(list,i) g_slist_nth_data(list,i) -#define lives_slist_append(list,data) g_slist_append(list,data) +#define lives_slist_nth_data(list, i) g_slist_nth_data(list, i) +#define lives_slist_append(list, data) g_slist_append(list, data) #define lives_build_filename(...) g_build_filename(__VA_ARGS__) -#define lives_filename_to_utf8(a,b,c,d,e) g_filename_to_utf8(a,b,c,d,e) -#define lives_filename_from_utf8(a,b,c,d,e) g_filename_from_utf8(a,b,c,d,e) +#define lives_filename_to_utf8(a, b, c, d, e) g_filename_to_utf8(a, b, c, d, e) +#define lives_filename_from_utf8(a, b, c, d, e) g_filename_from_utf8(a, b, c, d, e) -#define lives_utf8_strdown(a,b) g_utf8_strdown(a,b) +#define lives_utf8_strdown(a, b) g_utf8_strdown(a, b) #define lives_find_program_in_path(a) g_find_program_in_path(a) -#define lives_idle_add(a,b) g_idle_add(a,b) -#define lives_idle_add_full(a,b,c,d) g_idle_add_full(a,b,c,d) +#define lives_idle_add(a, b) g_idle_add(a, b) +#define lives_idle_add_full(a, b, c, d) g_idle_add_full(a, b, c, d) #define lives_set_application_name(a) g_set_application_name(a) #define lives_get_application_name() g_get_application_name() #define lives_usleep(a) g_usleep(a) -#define lives_mkdir_with_parents(a,b) g_mkdir_with_parents(a,b) +#define lives_mkdir_with_parents(a, b) g_mkdir_with_parents(a, b) -#define lives_strtod(a,b) g_strtod(a,b) +#define lives_strtod(a, b) g_strtod(a, b) #define lives_path_get_basename(a) g_path_get_basename(a) #define LIVES_UNLIKELY(a) G_UNLIKELY(a) #define LIVES_LIKELY(a) G_LIKELY(a) -#define lives_file_test(a,b) g_file_test(a,b) +#define lives_file_test(a, b) g_file_test(a, b) #define lives_get_current_dir() g_get_current_dir() @@ -258,16 +246,15 @@ #define lives_strerror(a) g_strerror(a) -#define lives_cclosure_new(a,b,c) g_cclosure_new(a,b,c) +#define lives_cclosure_new(a, b, c) g_cclosure_new(a, b, c) #define lives_path_get_dirname(a) g_path_get_dirname(a) -#define U82L(String) ( g_locale_from_utf8 (String,-1,NULL,NULL,NULL) ) -#define L2U8(String) ( g_locale_to_utf8 (String,-1,NULL,NULL,NULL) ) - -#define U82F(String) ( g_filename_from_utf8 (String,-1,NULL,NULL,NULL) ) -#define F2U8(String) ( g_filename_to_utf8 (String,-1,NULL,NULL,NULL) ) +#define U82L(String) (g_locale_from_utf8(String, -1, NULL, NULL, NULL)) +#define L2U8(String) (g_locale_to_utf8(String, -1, NULL, NULL, NULL)) +#define U82F(String) (g_filename_from_utf8(String, -1, NULL, NULL, NULL)) +#define F2U8(String) (g_filename_to_utf8(String, -1, NULL, NULL, NULL)) #define LIVES_FILE_TEST_EXISTS G_FILE_TEST_EXISTS #define LIVES_FILE_TEST_IS_DIR G_FILE_TEST_IS_DIR @@ -299,21 +286,33 @@ typedef GdkScreen LiVESXScreen; typedef GdkDevice LiVESXDevice; - #define LIVES_KEY_RELEASE GDK_KEY_RELEASE #define LIVES_KEY_PRESS GDK_KEY_PRESS - #define LIVES_SCROLL_UP GDK_SCROLL_UP #define LIVES_SCROLL_DOWN GDK_SCROLL_DOWN -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) #undef LIVES_HAS_DEVICE_MANAGER #define LIVES_HAS_DEVICE_MANAGER 1 typedef GdkDeviceManager LiVESXDeviceManager; #endif -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) +#define EXPOSE_FN_DECL(fn, widget) boolean fn(LiVESWidget *widget, lives_painter_t *cairo, livespointer user_data) { \ + LiVESXEventExpose *event = NULL; \ + event = event; // avoid compiler warnings +#define EXPOSE_FN_EVENT +#define EXPOSE_FN_PROTOTYPE(fn) boolean fn(LiVESWidget *, lives_painter_t *, livespointer); +#else +#define EXPOSE_FN_DECL(fn, widget) boolean fn(LiVESWidget *widget, LiVESXEventExpose *event, livespointer user_data) { \ + lives_painter_t *cairo = NULL; \ + cairo = cairo; // avoid compiler warnings +#define EXPOSE_FN_PAINTER +#define EXPOSE_FN_PROTOTYPE(fn) boolean fn(LiVESWidget *, LiVESXEventExpose *, livespointer); +#endif + +#if GTK_CHECK_VERSION(3, 0, 0) #define LIVES_WIDGET_EXPOSE_EVENT "draw" #define LIVES_GUI_OBJECT(a) a #else @@ -327,12 +326,10 @@ #define LIVES_WIDGET_OBJECT(a) G_OBJECT(a) - #define lives_object_freeze_notify(a) g_object_freeze_notify(a) #define lives_object_thaw_notify(a) g_object_thaw_notify(a) - -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) #define NO_MEM_OVERRIDE TRUE #else #define NO_MEM_OVERRIDE g_mem_is_system_malloc() @@ -381,13 +378,12 @@ #define LIVES_WIDGET_COLOR_SET_SIGNAL "color-set" #define LIVES_WIDGET_SET_FOCUS_CHILD_SIGNAL "set-focus-child" -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) #define LIVES_WIDGET_STATE_CHANGED_SIGNAL "state-flags-changed" #else #define LIVES_WIDGET_STATE_CHANGED_SIGNAL "state-changed" #endif - typedef GtkWidget LiVESWidget; typedef GtkWindow LiVESWindow; typedef GtkContainer LiVESContainer; @@ -432,7 +428,6 @@ typedef GtkAboutDialog LiVESAboutDialog; - // values here are long unsigned int #define LIVES_COL_TYPE_OBJECT G_TYPE_OBJECT #define LIVES_COL_TYPE_STRING G_TYPE_STRING @@ -441,7 +436,6 @@ #define LIVES_COL_TYPE_BOOLEAN G_TYPE_BOOLEAN #define LIVES_COL_TYPE_PIXBUF GDK_TYPE_PIXBUF - typedef GtkTreeView LiVESTreeView; typedef GtkTreeViewColumn LiVESTreeViewColumn; @@ -453,7 +447,6 @@ #define LIVES_TREE_VIEW_COLUMN_TEXT "text" #define LIVES_TREE_VIEW_COLUMN_PIXBUF "pixbuf" - typedef GtkCellRenderer LiVESCellRenderer; typedef GtkTreeModel LiVESTreeModel; typedef GtkTreeIter LiVESTreeIter; @@ -462,20 +455,19 @@ typedef GtkTreeSelection LiVESTreeSelection; typedef GtkListStore LiVESListStore; - typedef GtkScrolledWindow LiVESScrolledWindow; typedef GtkScrollbar LiVESScrollbar; typedef GtkHScrollbar LiVESHScrollbar; typedef GtkToolbar LiVESToolbar; typedef GtkToolItem LiVESToolItem; -#if GTK_CHECK_VERSION(2,14,0) +#if GTK_CHECK_VERSION(2, 14, 0) typedef GtkScaleButton LiVESScaleButton; #else typedef GtkRange LiVESScaleButton; #endif -#if GTK_CHECK_VERSION(3,2,0) +#if GTK_CHECK_VERSION(3, 2, 0) typedef GtkGrid LiVESGrid; #undef LIVES_HAS_GRID_WIDGET #define LIVES_HAS_GRID_WIDGET 1 @@ -491,7 +483,7 @@ typedef GtkEditable LiVESEditable; -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) #define LIVES_WIDGET_COLOR_HAS_ALPHA (1) #define LIVES_WIDGET_COLOR_SCALE(x) (x) ///< macro to get 0. to 1. #define LIVES_WIDGET_COLOR_STRETCH(x) (x*65535.) ///< macro to get 0. to 1. @@ -544,18 +536,15 @@ #define LIVES_RESPONSE_RESET 3 #define LIVES_RESPONSE_SHOW_DETAILS 4 - typedef GtkAttachOptions LiVESAttachOptions; #define LIVES_EXPAND GTK_EXPAND #define LIVES_SHRINK GTK_SHRINK #define LIVES_FILL GTK_FILL - typedef GtkWindowType LiVESWindowType; #define LIVES_WINDOW_TOPLEVEL GTK_WINDOW_TOPLEVEL #define LIVES_WINDOW_POPUP GTK_WINDOW_POPUP - typedef GtkDialogFlags LiVESDialogFlags; typedef GtkMessageType LiVESMessageType; @@ -568,7 +557,6 @@ typedef GtkButtonsType LiVESButtonsType; #define LIVES_BUTTONS_NONE GTK_BUTTONS_NONE - typedef GtkFileChooserAction LiVESFileChooserAction; #define LIVES_FILE_CHOOSER_ACTION_OPEN GTK_FILE_CHOOSER_ACTION_OPEN #define LIVES_FILE_CHOOSER_ACTION_SAVE GTK_FILE_CHOOSER_ACTION_SAVE @@ -576,7 +564,6 @@ #define LIVES_FILE_CHOOSER_ACTION_CREATE_FOLDER GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER #define LIVES_FILE_CHOOSER_ACTION_SELECT_DEVICE ((GtkFileChooserAction)(GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER+1)) - typedef GtkIconSize LiVESIconSize; #define LIVES_ICON_SIZE_INVALID GTK_ICON_SIZE_INVALID #define LIVES_ICON_SIZE_MENU GTK_ICON_SIZE_MENU @@ -586,22 +573,18 @@ #define LIVES_ICON_SIZE_DND GTK_ICON_SIZE_DND #define LIVES_ICON_SIZE_DIALOG GTK_ICON_SIZE_DIALOG - - // scrolledwindow policies typedef GtkPolicyType LiVESPolicyType; #define LIVES_POLICY_ALWAYS GTK_POLICY_ALWAYS #define LIVES_POLICY_AUTOMATIC GTK_POLICY_AUTOMATIC #define LIVES_POLICY_NEVER GTK_POLICY_NEVER - typedef GtkPositionType LiVESPositionType; #define LIVES_POS_LEFT GTK_POS_LEFT #define LIVES_POS_RIGHT GTK_POS_RIGHT #define LIVES_POS_TOP GTK_POS_TOP #define LIVES_POS_BOTTOM GTK_POS_BOTTOM - typedef GtkArrowType LiVESArrowType; #define LIVES_ARROW_UP GTK_ARROW_UP #define LIVES_ARROW_DOWN GTK_ARROW_DOWN @@ -609,7 +592,6 @@ #define LIVES_ARROW_RIGHT GTK_ARROW_RIGHT #define LIVES_ARROW_NONE GTK_ARROW_NONE - typedef GtkWrapMode LiVESWrapMode; #define LIVES_WRAP_NONE GTK_WRAP_NONE //#define LIVES_WRAP_CHAR GTK_WRAP_CHAR @@ -627,7 +609,6 @@ #define LIVES_TOOLBAR_ICONS GTK_TOOLBAR_ICONS #define LIVES_TOOLBAR_TEXT GTK_TOOLBAR_TEXT - typedef GtkSelectionMode LiVESSelectionMode; #define LIVES_SELECTION_NONE GTK_SELECTION_NONE #define LIVES_SELECTION_SINGLE GTK_SELECTION_SINGLE @@ -642,7 +623,6 @@ #define LIVES_BUTTONBOX_END GTK_BUTTONBOX_END #define LIVES_BUTTONBOX_CENTER GTK_BUTTONBOX_CENTER - typedef GdkEventMask LiVESEventMask; #define LIVES_EXPOSURE_MASK GDK_EXPOSURE_MASK #define LIVES_POINTER_MOTION_MASK GDK_POINTER_MOTION_MASK @@ -666,19 +646,17 @@ #define LIVES_SUBSTRUCTURE_MASK GDK_SUBSTRUCTURE_MASK #define LIVES_SCROLL_MASK GDK_SCROLL_MASK - #define LIVES_BUTTON_PRESS GDK_BUTTON_PRESS #define LIVES_BUTTON_RELEASE GDK_BUTTON_RELEASE #define LIVES_BUTTON2_PRESS GDK_2BUTTON_PRESS -#if GTK_CHECK_VERSION(3,4,0) +#if GTK_CHECK_VERSION(3, 4, 0) #define LIVES_TOUCH_MASK GDK_TOUCH_MASK #define LIVES_SMOOTH_SCROLL_MASK GDK_SMOOTH_SCROLL_MASK #endif #define LIVES_ALL_EVENTS_MASK GDK_ALL_EVENTS_MASK - typedef GtkShadowType LiVESShadowType; #define LIVES_SHADOW_NONE GTK_SHADOW_NONE #define LIVES_SHADOW_IN GTK_SHADOW_IN @@ -689,8 +667,7 @@ typedef GtkWindowPosition LiVESWindowPosition; #define LIVES_WIN_POS_CENTER_ALWAYS GTK_WIN_POS_CENTER_ALWAYS - -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) typedef GtkScale LiVESRuler; typedef GtkBox LiVESVBox; typedef GtkBox LiVESHBox; @@ -773,7 +750,7 @@ #define LIVES_MISC(widget) GTK_MISC(widget) -#if GTK_CHECK_VERSION(2,14,0) +#if GTK_CHECK_VERSION(2, 14, 0) #define LIVES_SCALE_BUTTON(widget) GTK_SCALE_BUTTON(widget) #else #define LIVES_SCALE_BUTTON(widget) GTK_RANGE(widget) @@ -790,8 +767,7 @@ #define LIVES_ACCEL_GROUP(object) GTK_ACCEL_GROUP(object) - -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) #define LIVES_RULER(widget) GTK_SCALE(widget) #define LIVES_ORIENTABLE(widget) GTK_ORIENTABLE(widget) #define LIVES_VBOX(widget) GTK_BOX(widget) @@ -802,13 +778,13 @@ #define LIVES_HBOX(widget) GTK_HBOX(widget) #endif -#if GTK_CHECK_VERSION(3,2,0) +#if GTK_CHECK_VERSION(3, 2, 0) #define LIVES_GRID(widget) GTK_GRID(widget) #else #define LIVES_GRID(widget) GTK_WIDGET(widget) #endif -#if GTK_CHECK_VERSION(3,10,0) +#if GTK_CHECK_VERSION(3, 10, 0) #define LIVES_IMAGE_MENU_ITEM(widget) GTK_MENU_ITEM(widget) #else #define LIVES_IMAGE_MENU_ITEM(widget) GTK_IMAGE_MENU_ITEM(widget) @@ -826,7 +802,6 @@ #define LIVES_EDITABLE(widget) GTK_EDITABLE(widget) - #define LIVES_XEVENT(event) GDK_EVENT(event) #define LIVES_IS_WIDGET_OBJECT(object) G_IS_OBJECT(object) @@ -837,9 +812,9 @@ #define LIVES_IS_CONTAINER(widget) GTK_IS_CONTAINER(widget) #define LIVES_IS_BIN(widget) GTK_IS_BIN(widget) -#if GTK_CHECK_VERSION(3,0,0) -#define LIVES_IS_HBOX(widget) (GTK_IS_BOX(widget)&>k_orientable_get_orientation(GTK_ORIENTABLE(widget))==GTK_ORIENTATION_HORIZONTAL) -#define LIVES_IS_VBOX(widget) (GTK_IS_BOX(widget)&>k_orientable_get_orientation(GTK_ORIENTABLE(widget))==GTK_ORIENTATION_HORIZONTAL) +#if GTK_CHECK_VERSION(3, 0, 0) +#define LIVES_IS_HBOX(widget) (GTK_IS_BOX(widget) && gtk_orientable_get_orientation(GTK_ORIENTABLE(widget)) == GTK_ORIENTATION_HORIZONTAL) +#define LIVES_IS_VBOX(widget) (GTK_IS_BOX(widget) && gtk_orientable_get_orientation(GTK_ORIENTABLE(widget)) == GTK_ORIENTATION_HORIZONTAL) #define LIVES_IS_SCROLLABLE(widget) GTK_IS_SCROLLABLE(widget) #else #define LIVES_IS_HBOX(widget) GTK_IS_HBOX(widget) @@ -871,8 +846,7 @@ #define LIVES_INTERP_NORMAL GDK_INTERP_BILINEAR #define LIVES_INTERP_FAST GDK_INTERP_NEAREST - -#if GTK_CHECK_VERSION(3,10,0) +#if GTK_CHECK_VERSION(3, 10, 0) #define LIVES_STOCK_YES "gtk-yes" // non-standard image ? #define LIVES_STOCK_APPLY "gtk-apply" // non-standard image ? #define LIVES_STOCK_CANCEL "gtk-cancel" // non-standard image ? @@ -928,7 +902,6 @@ char LIVES_STOCK_LABEL_MEDIA_PAUSE[32]; char LIVES_STOCK_LABEL_MEDIA_RECORD[32]; - #else #define LIVES_STOCK_UNDO GTK_STOCK_UNDO #define LIVES_STOCK_REDO GTK_STOCK_REDO @@ -961,8 +934,7 @@ #define LIVES_STOCK_LABEL_SAVE GTK_STOCK_SAVE #define LIVES_STOCK_LABEL_QUIT GTK_STOCK_QUIT - -#if GTK_CHECK_VERSION(2,6,0) +#if GTK_CHECK_VERSION(2, 6, 0) #define LIVES_STOCK_LABEL_MEDIA_FORWARD GTK_STOCK_MEDIA_FORWARD #define LIVES_STOCK_LABEL_MEDIA_REWIND GTK_STOCK_MEDIA_REWIND #define LIVES_STOCK_LABEL_MEDIA_STOP GTK_STOCK_MEDIA_STOP @@ -978,34 +950,33 @@ #define LIVES_STOCK_LABEL_MEDIA_RECORD GTK_STOCK_NO #endif - -#if GTK_CHECK_VERSION(2,6,0) +#if GTK_CHECK_VERSION(2, 6, 0) #define LIVES_STOCK_MEDIA_PAUSE GTK_STOCK_MEDIA_PAUSE #else #define LIVES_STOCK_MEDIA_PAUSE GTK_STOCK_REFRESH #endif -#if GTK_CHECK_VERSION(2,6,0) +#if GTK_CHECK_VERSION(2, 6, 0) #define LIVES_STOCK_MEDIA_PLAY GTK_STOCK_MEDIA_PLAY #else #define LIVES_STOCK_MEDIA_PLAY GTK_STOCK_GO_FORWARD #endif -#if GTK_CHECK_VERSION(2,6,0) +#if GTK_CHECK_VERSION(2, 6, 0) #define LIVES_STOCK_MEDIA_STOP GTK_STOCK_MEDIA_STOP #else #define LIVES_STOCK_MEDIA_STOP GTK_STOCK_STOP #endif -#if GTK_CHECK_VERSION(2,6,0) +#if GTK_CHECK_VERSION(2, 6, 0) #define LIVES_STOCK_MEDIA_REWIND GTK_STOCK_MEDIA_REWIND #else #define LIVES_STOCK_MEDIA_REWIND GTK_STOCK_GOTO_FIRST #endif -#if GTK_CHECK_VERSION(2,6,0) +#if GTK_CHECK_VERSION(2, 6, 0) #define LIVES_STOCK_MEDIA_FORWARD GTK_STOCK_MEDIA_FORWARD #else #define LIVES_STOCK_MEDIA_FORWARD GTK_STOCK_GOTO_LAST #endif -#if GTK_CHECK_VERSION(2,6,0) +#if GTK_CHECK_VERSION(2, 6, 0) #define LIVES_STOCK_MEDIA_RECORD GTK_STOCK_MEDIA_RECORD #else #define LIVES_STOCK_MEDIA_RECORD GTK_STOCK_NO @@ -1013,7 +984,6 @@ #endif - #define LIVES_CONTROL_MASK GDK_CONTROL_MASK #define LIVES_ALT_MASK GDK_MOD1_MASK #define LIVES_SHIFT_MASK GDK_SHIFT_MASK @@ -1173,20 +1143,19 @@ // pango stuff typedef PangoLayout LingoLayout; -#define lingo_layout_set_alignment(a,b) pango_layout_set_alignment(a,b) +#define lingo_layout_set_alignment(a, b) pango_layout_set_alignment(a, b) #define LINGO_ALIGN_LEFT PANGO_ALIGN_LEFT #define LINGO_ALIGN_RIGHT PANGO_ALIGN_RIGHT #define LINGO_ALIGN_CENTER PANGO_ALIGN_CENTER -#define lingo_layout_set_text(a,b,c) pango_layout_set_text(a,b,c) -#define lingo_painter_show_layout(a,b) pango_cairo_show_layout(a,b) +#define lingo_layout_set_text(a, b, c) pango_layout_set_text(a, b, c) +#define lingo_painter_show_layout(a, b) pango_cairo_show_layout(a, b) -#define lingo_layout_get_size(a,b,c,d,e) pango_layout_get_size(a,b,c) +#define lingo_layout_get_size(a, b, c, d, e) pango_layout_get_size(a, b, c) #define LINGO_SCALE PANGO_SCALE #endif - #endif
View file
LiVES-2.8.4.tar.bz2/src/widget-helper-qt.h -> LiVES-2.8.6.tar.bz2/src/widget-helper-qt.h
Changed
@@ -167,7 +167,7 @@ livespointer realloc_wrapper(livespointer old_ptr, size_t new_size) { - livespointer ptr = (static_alt_vtable->realloc)(old_ptr,new_size); + livespointer ptr = (static_alt_vtable->realloc)(old_ptr, new_size); Q_ASSERT(ptr != NULL); return ptr; } @@ -179,24 +179,24 @@ livespointer try_realloc_wrapper(livespointer old_ptr, size_t new_size) { - return (static_alt_vtable->realloc)(old_ptr,new_size); + return (static_alt_vtable->realloc)(old_ptr, new_size); } LIVES_INLINE livespointer lives_malloc0(size_t size) { - livespointer ptr = (static_alt_vtable->calloc)(1,size); + livespointer ptr = (static_alt_vtable->calloc)(1, size); Q_ASSERT(ptr != NULL); return ptr; } LIVES_INLINE livespointer lives_try_malloc0(size_t size) { - return (static_alt_vtable->calloc)(1,size); + return (static_alt_vtable->calloc)(1, size); } LIVES_INLINE livespointer lives_try_malloc0_n(size_t nmemb, size_t nmemb_bytes) { - return (static_alt_vtable->calloc)(nmemb,nmemb_bytes); + return (static_alt_vtable->calloc)(nmemb, nmemb_bytes); } @@ -212,7 +212,7 @@ if (strlen(String)) { QString qs = QString::fromLocal8Bit(dgettext(PACKAGE, String)); trString = strdup(qs.toUtf8().constData()); - } else trString=strdup(String); + } else trString = strdup(String); return trString; } @@ -221,7 +221,7 @@ if (strlen(String)) { QString qs = QString::fromLocal8Bit(dngettext(PACKAGE, String, StringPlural, n)); trString = strdup(qs.toUtf8().constData()); - } else trString=strdup(String); + } else trString = strdup(String); return trString; } @@ -283,7 +283,7 @@ s1++; s2++; } - return (((int)(uint8_t) *s1) - ((int)(uint8_t) *s2)); + return (((int)(uint8_t) * s1) - ((int)(uint8_t) * s2)); } @@ -299,7 +299,7 @@ s1++; s2++; } - if (len) return (((int)(uint8_t) *s1) - ((int)(uint8_t) *s2)); + if (len) return (((int)(uint8_t) * s1) - ((int)(uint8_t) * s2)); else return 0; } @@ -346,7 +346,7 @@ while (1) { piece = va_arg(args, char *); if (piece == NULL) break; - if (strstr(piece,"\\")) { + if (strstr(piece, "\\")) { sep = '\\'; break; } @@ -358,7 +358,7 @@ while (1) { piece = va_arg(args, char *); if (piece == NULL) break; - tmp = lives_strdup_printf("%s%s%s",fname,sep,piece); + tmp = lives_strdup_printf("%s%s%s", fname, sep, piece); lives_free(fname); fname = tmp; } @@ -378,7 +378,7 @@ char *lives_strstrip(char *string) { QString qs = QString::fromUtf8(string); qs.trimmed(); - memcpy(string,qs.toUtf8().constData(),qs.toUtf8().size()); + memcpy(string, qs.toUtf8().constData(), qs.toUtf8().size()); return string; } @@ -908,10 +908,10 @@ static QString make_col(LiVESWidgetColor *col) { QString qc = QString("rgba(%1,%2,%3,%4)") - .arg(col->red*255.) - .arg(col->green*255.) - .arg(col->blue*255.) - .arg(col->alpha*255.); + .arg(col->red * 255.) + .arg(col->green * 255.) + .arg(col->blue * 255.) + .arg(col->alpha * 255.); return qc; } @@ -1199,7 +1199,7 @@ LIVES_INLINE LiVESList *lives_list_append(LiVESList *list, livesconstpointer data) { - LiVESList *olist=NULL, *xlist=list; + LiVESList *olist = NULL, *xlist = list; while (list != NULL) { olist = list; @@ -1217,7 +1217,7 @@ LIVES_INLINE LiVESSList *lives_slist_append(LiVESSList *list, livesconstpointer data) { - LiVESSList *olist=NULL, *xlist=list; + LiVESSList *olist = NULL, *xlist = list; while (list != NULL) { olist = list; @@ -1323,7 +1323,7 @@ LIVES_INLINE LiVESList *lives_list_last(LiVESList *list) { if (list == NULL) return NULL; - while (list->next != NULL) list=list->next; + while (list->next != NULL) list = list->next; return list; } @@ -1356,7 +1356,7 @@ char **lives_strsplit(const char *string, const char *delimiter, int max_tokens) { - LiVESSList *string_list = NULL,*slist; + LiVESSList *string_list = NULL, *slist; char **str_array; const char *s; uint32_t n = 0; @@ -1501,11 +1501,11 @@ QVariant qv = QVariant::fromValue(static_cast<LiVESObject *>(this)); (static_cast<QWidget *>(this))->setProperty("LiVESObject", qv); - fg_norm=bg_norm=base_norm=text_norm=NULL; - fg_act=bg_act=base_act=text_act=NULL; - fg_insen=bg_insen=base_insen=text_insen=NULL; - fg_hover=bg_hover=base_hover=text_hover=NULL; - fg_sel=bg_sel=base_sel=text_sel=NULL; + fg_norm = bg_norm = base_norm = text_norm = NULL; + fg_act = bg_act = base_act = text_act = NULL; + fg_insen = bg_insen = base_insen = text_insen = NULL; + fg_hover = bg_hover = base_hover = text_hover = NULL; + fg_sel = bg_sel = base_sel = text_sel = NULL; state = LIVES_WIDGET_STATE_NORMAL; widgetName = QString("%1").arg(ulong_random()); events_mask = LIVES_EXPOSURE_MASK; @@ -1535,11 +1535,11 @@ if (child->parent != NULL) return; child->set_parent(this); child->ref_sink(); - children = lives_list_append(children,child); + children = lives_list_append(children, child); } void remove_child(LiVESWidget *child) { - children = lives_list_remove(children,child); + children = lives_list_remove(children, child); child->set_parent(NULL); child->dec_refcount(); } @@ -1590,7 +1590,7 @@ } LiVESWidget *get_child(int index) { - return (LiVESWidget *)lives_list_nth_data(children,index); + return (LiVESWidget *)lives_list_nth_data(children, index); } @@ -1674,11 +1674,11 @@ LiVESWidget *parent; QString widgetName; - LiVESWidgetColor *fg_norm,*bg_norm,*base_norm,*text_norm; - LiVESWidgetColor *fg_act,*bg_act,*base_act,*text_act; - LiVESWidgetColor *fg_insen,*bg_insen,*base_insen,*text_insen; - LiVESWidgetColor *fg_hover,*bg_hover,*base_hover,*text_hover; - LiVESWidgetColor *fg_sel,*bg_sel,*base_sel,*text_sel; + LiVESWidgetColor *fg_norm, *bg_norm, *base_norm, *text_norm; + LiVESWidgetColor *fg_act, *bg_act, *base_act, *text_act; + LiVESWidgetColor *fg_insen, *bg_insen, *base_insen, *text_insen; + LiVESWidgetColor *fg_hover, *bg_hover, *base_hover, *text_hover; + LiVESWidgetColor *fg_sel, *bg_sel, *base_sel, *text_sel; LiVESWidgetState state; @@ -1687,7 +1687,7 @@ void call_accels_for(const char *type) { QList<LiVESAccel *> ql = get_accels_for(type); - for (int i=0; i < ql.size(); i++) { + for (int i = 0; i < ql.size(); i++) { LiVESWidgetCallback *cb = (LiVESWidgetCallback *)ql[i]->closure->function; (*cb)(this, ql[i]->closure->data); } @@ -1772,7 +1772,7 @@ scrollevent->state = QApplication::queryKeyboardModifiers(); - for (int i=0; i < accels.size(); i++) { + for (int i = 0; i < accels.size(); i++) { LiVESScrollEventCallback *cb = (LiVESScrollEventCallback *)accels[i]->closure->function; bool ret = (*cb)(widget, scrollevent, accels[i]->closure->data); if (ret) return true; @@ -1799,7 +1799,7 @@ exposeevent->count = 0; - for (int i=0; i < accels.size(); i++) { + for (int i = 0; i < accels.size(); i++) { LiVESExposeEventCallback *cb = (LiVESExposeEventCallback *)accels[i]->closure->function; bool ret = (*cb)(widget, exposeevent, accels[i]->closure->data); if (ret) return true; @@ -1819,7 +1819,7 @@ QList<LiVESAccel *>accels = object->get_accels_for(LIVES_WIDGET_ENTER_EVENT); LiVESXEventCrossing *crossingevent = NULL; - for (int i=0; i < accels.size(); i++) { + for (int i = 0; i < accels.size(); i++) { LiVESEnterEventCallback *cb = (LiVESEnterEventCallback *)accels[i]->closure->function; bool ret = (*cb)(widget, crossingevent, accels[i]->closure->data); if (ret) return true; @@ -1846,7 +1846,7 @@ buttonevent->type = LIVES_BUTTON_PRESS; buttonevent->time = qtime->elapsed(); - for (int i=0; i < accels.size(); i++) { + for (int i = 0; i < accels.size(); i++) { LiVESButtonEventCallback *cb = (LiVESButtonEventCallback *)accels[i]->closure->function; bool ret = (*cb)(widget, buttonevent, accels[i]->closure->data); if (ret) return true; @@ -1872,7 +1872,7 @@ buttonevent->type = LIVES_BUTTON2_PRESS; - for (int i=0; i < accels.size(); i++) { + for (int i = 0; i < accels.size(); i++) { LiVESButtonEventCallback *cb = (LiVESButtonEventCallback *)accels[i]->closure->function; bool ret = (*cb)(widget, buttonevent, accels[i]->closure->data); if (ret) return true; @@ -1886,7 +1886,7 @@ QList<LiVESAccel *>accels = object->get_accels_for(LIVES_WIDGET_CONFIGURE_EVENT); LiVESXEventConfigure *configureevent = NULL; - for (int i=0; i < accels.size(); i++) { + for (int i = 0; i < accels.size(); i++) { LiVESConfigureEventCallback *cb = (LiVESConfigureEventCallback *)accels[i]->closure->function; bool ret = (*cb)(widget, configureevent, accels[i]->closure->data); if (ret) return true; @@ -1900,7 +1900,7 @@ QList<LiVESAccel *>accels = object->get_accels_for(LIVES_WIDGET_DELETE_EVENT); LiVESXEventDelete *deleteevent = NULL; - for (int i=0; i < accels.size(); i++) { + for (int i = 0; i < accels.size(); i++) { LiVESDeleteEventCallback *cb = (LiVESDeleteEventCallback *)accels[i]->closure->function; bool ret = (*cb)(widget, deleteevent, accels[i]->closure->data); if (ret) return true; @@ -1924,44 +1924,44 @@ QString col; stylesheet = "QWidget#" + widgetName + " {color: "; - col=make_col(fg_norm); + col = make_col(fg_norm); stylesheet += col; stylesheet += "; background-color: "; - col=make_col(bg_norm); + col = make_col(bg_norm); stylesheet += col; stylesheet += "; selection-background-color: "; - col=make_col(bg_sel); + col = make_col(bg_sel); stylesheet += col; stylesheet += "; selection-color: "; - col=make_col(fg_sel); + col = make_col(fg_sel); stylesheet += col; stylesheet += " } "; stylesheet = "QWidget#" + widgetName + ":active {color: "; - col=make_col(fg_act); + col = make_col(fg_act); stylesheet += col; stylesheet += "; background-color: "; - col=make_col(bg_act); + col = make_col(bg_act); stylesheet += col; stylesheet += " } "; stylesheet = "QWidget#" + widgetName + ":[prelight=true] {color: "; - col=make_col(fg_hover); + col = make_col(fg_hover); stylesheet += col; stylesheet += "; background-color: "; - col=make_col(bg_hover); + col = make_col(bg_hover); stylesheet += col; stylesheet += " } "; stylesheet = "QWidget#" + widgetName + ":hover {color: "; - col=make_col(fg_hover); + col = make_col(fg_hover); stylesheet += col; stylesheet += "; background-color: "; - col=make_col(bg_hover); + col = make_col(bg_hover); stylesheet += col; stylesheet += " } "; stylesheet = "QWidget#" + widgetName + ":disabled {color: "; - col=make_col(fg_insen); + col = make_col(fg_insen); stylesheet += col; stylesheet += "; background-color: "; - col=make_col(bg_insen); + col = make_col(bg_insen); stylesheet += col; stylesheet += " } "; @@ -1974,19 +1974,19 @@ void LiVESWidget::set_fg_color(LiVESWidgetState state, const LiVESWidgetColor *col) { switch (state) { case (LIVES_WIDGET_STATE_NORMAL): - lives_widget_color_copy(fg_norm,col); + lives_widget_color_copy(fg_norm, col); break; case (LIVES_WIDGET_STATE_ACTIVE): - lives_widget_color_copy(fg_act,col); + lives_widget_color_copy(fg_act, col); break; case (LIVES_WIDGET_STATE_INSENSITIVE): - lives_widget_color_copy(fg_insen,col); + lives_widget_color_copy(fg_insen, col); break; case (LIVES_WIDGET_STATE_PRELIGHT): - lives_widget_color_copy(fg_hover,col); + lives_widget_color_copy(fg_hover, col); break; case (LIVES_WIDGET_STATE_SELECTED): - lives_widget_color_copy(fg_sel,col); + lives_widget_color_copy(fg_sel, col); break; default: break; @@ -1998,19 +1998,19 @@ void LiVESWidget::set_bg_color(LiVESWidgetState state, const LiVESWidgetColor *col) { switch (state) { case (LIVES_WIDGET_STATE_NORMAL): - lives_widget_color_copy(bg_norm,col); + lives_widget_color_copy(bg_norm, col); break; case (LIVES_WIDGET_STATE_ACTIVE): - lives_widget_color_copy(bg_act,col); + lives_widget_color_copy(bg_act, col); break; case (LIVES_WIDGET_STATE_INSENSITIVE): - lives_widget_color_copy(bg_insen,col); + lives_widget_color_copy(bg_insen, col); break; case (LIVES_WIDGET_STATE_PRELIGHT): - lives_widget_color_copy(bg_hover,col); + lives_widget_color_copy(bg_hover, col); break; case (LIVES_WIDGET_STATE_SELECTED): - lives_widget_color_copy(bg_sel,col); + lives_widget_color_copy(bg_sel, col); break; default: break; @@ -2022,19 +2022,19 @@ void LiVESWidget::set_base_color(LiVESWidgetState state, const LiVESWidgetColor *col) { switch (state) { case (LIVES_WIDGET_STATE_NORMAL): - lives_widget_color_copy(base_norm,col); + lives_widget_color_copy(base_norm, col); break; case (LIVES_WIDGET_STATE_ACTIVE): - lives_widget_color_copy(base_act,col); + lives_widget_color_copy(base_act, col); break; case (LIVES_WIDGET_STATE_INSENSITIVE): - lives_widget_color_copy(base_insen,col); + lives_widget_color_copy(base_insen, col); break; case (LIVES_WIDGET_STATE_PRELIGHT): - lives_widget_color_copy(base_hover,col); + lives_widget_color_copy(base_hover, col); break; case (LIVES_WIDGET_STATE_SELECTED): - lives_widget_color_copy(base_sel,col); + lives_widget_color_copy(base_sel, col); break; default: break; @@ -2046,19 +2046,19 @@ void LiVESWidget::set_text_color(LiVESWidgetState state, const LiVESWidgetColor *col) { switch (state) { case (LIVES_WIDGET_STATE_NORMAL): - lives_widget_color_copy(text_norm,col); + lives_widget_color_copy(text_norm, col); break; case (LIVES_WIDGET_STATE_ACTIVE): - lives_widget_color_copy(text_act,col); + lives_widget_color_copy(text_act, col); break; case (LIVES_WIDGET_STATE_INSENSITIVE): - lives_widget_color_copy(text_insen,col); + lives_widget_color_copy(text_insen, col); break; case (LIVES_WIDGET_STATE_PRELIGHT): - lives_widget_color_copy(text_hover,col); + lives_widget_color_copy(text_hover, col); break; case (LIVES_WIDGET_STATE_SELECTED): - lives_widget_color_copy(text_sel,col); + lives_widget_color_copy(text_sel, col); break; default: break; @@ -2117,7 +2117,7 @@ ulong lives_signal_connect(LiVESObject *object, const char *signal_name, ulong funcptr, livespointer data) { ulong handler_id; - handler_id=ulong_random(); + handler_id = ulong_random(); object->add_accel(handler_id, signal_name, funcptr, data); @@ -2271,9 +2271,9 @@ boolean LiVESObject::activate_accel(QKeySequence ks) { - for (int j=0; j < accel_groups.size(); j++) { + for (int j = 0; j < accel_groups.size(); j++) { QList<LiVESAccel *> ql = get_accels_for(accel_groups.at(j), ks); - for (int i=0; i < ql.size(); i++) { + for (int i = 0; i < ql.size(); i++) { LiVESAccel *accel = ql.at(i); if (accel->closure != NULL) { LiVESAccelCallback *cb = (LiVESAccelCallback *)accel->closure->function; @@ -2310,7 +2310,7 @@ QList<LiVESAccel *> LiVESObject::get_accels_for(ulong func, livespointer data) { QList<LiVESAccel *> ql; - for (int i=0; i < accels.size(); i++) { + for (int i = 0; i < accels.size(); i++) { if (accels[i]->closure == NULL) continue; if (accels[i]->closure->function == func && accels[i]->closure->data == data) ql.push_back(accels[i]); } @@ -2320,7 +2320,7 @@ QList<LiVESAccel *> LiVESObject::get_accels_for(const char *signame) { QList<LiVESAccel *> ql; - for (int i=0; i < accels.size(); i++) { + for (int i = 0; i < accels.size(); i++) { if (accels[i]->signal_name == signame) ql.push_back(accels[i]); } return ql; @@ -2328,7 +2328,7 @@ LiVESAccel *LiVESObject::get_accel_for(ulong handler_id) { - for (int i=0; i < accels.size(); i++) { + for (int i = 0; i < accels.size(); i++) { if (accels[i]->handler_id == handler_id) { return accels[i]; } @@ -2345,14 +2345,14 @@ void LiVESObject::block_signals(const char *signame) { QList<LiVESAccel *>ql = get_accels_for(signame); - for (int i=0; i < ql.size(); i++) { + for (int i = 0; i < ql.size(); i++) { ql[i]->blocked = true; } } void LiVESObject::block_signals(ulong func, livespointer data) { - QList<LiVESAccel *>ql = get_accels_for(func,data); - for (int i=0; i < ql.size(); i++) { + QList<LiVESAccel *>ql = get_accels_for(func, data); + for (int i = 0; i < ql.size(); i++) { ql[i]->blocked = true; } } @@ -2366,15 +2366,15 @@ void LiVESObject::unblock_signals(const char *signame) { QList<LiVESAccel *>ql = get_accels_for(signame); - for (int i=0; i < ql.size(); i++) { + for (int i = 0; i < ql.size(); i++) { ql[i]->blocked = false; } } void LiVESObject::unblock_signals(ulong func, livespointer data) { - QList<LiVESAccel *>ql = get_accels_for(func,data); - for (int i=0; i < ql.size(); i++) { + QList<LiVESAccel *>ql = get_accels_for(func, data); + for (int i = 0; i < ql.size(); i++) { ql[i]->blocked = false; } } @@ -2502,15 +2502,15 @@ LIVES_INLINE QString qmake_mnemonic(QString qlabel) { - qlabel = qlabel.replace('&',"&&"); - qlabel = qlabel.replace('_','&'); + qlabel = qlabel.replace('&', "&&"); + qlabel = qlabel.replace('_', '&'); return qlabel; } LIVES_INLINE QString qmake_underline(QString qlabel) { - qlabel = qlabel.replace('&','_'); - qlabel = qlabel.replace("__","&"); + qlabel = qlabel.replace('&', '_'); + qlabel = qlabel.replace("__", "&"); return qlabel; } @@ -2709,8 +2709,8 @@ QMenuBar *qmenu = static_cast<QMenuBar *>(this); for (int i = 0; children != NULL; i++) { - if (i==pos) lives_list_append(new_children,child); - else if (children->data != (livespointer)child) lives_list_append(new_children,children->data); + if (i == pos) lives_list_append(new_children, child); + else if (children->data != (livespointer)child) lives_list_append(new_children, children->data); qmenu->removeAction((QAction *)(children->data)); children = children->next; } @@ -2744,8 +2744,8 @@ QMenu *qmenu = static_cast<QMenu *>(this); for (int i = 0; children != NULL; i++) { - if (i==pos) lives_list_append(new_children,child); - else if (children->data != (livespointer)child) lives_list_append(new_children,children->data); + if (i == pos) lives_list_append(new_children, child); + else if (children->data != (livespointer)child) lives_list_append(new_children, children->data); qmenu->removeAction((QAction *)(children->data)); children = children->next; } @@ -3350,7 +3350,7 @@ QList<LiVESAccel *> LiVESObject::get_accels_for(LiVESAccelGroup *group, QKeySequence ks) { QList<LiVESAccel *> ql; - for (int i=0; i < accels.size(); i++) { + for (int i = 0; i < accels.size(); i++) { if (accels[i]->group == group && accels[i]->ks == ks) ql.push_back(accels[i]); } return ql; @@ -3400,7 +3400,7 @@ void LiVESAccelGroup::add_all_accelerators(LiVESObject *object) { - for (int i=0; i < accels.size(); i++) { + for (int i = 0; i < accels.size(); i++) { object->add_accel(accels.at(i)); } } @@ -3673,7 +3673,7 @@ ~LiVESTreeViewColumn() { delete title; - for (int i=0; i < attributes.size(); i++) { + for (int i = 0; i < attributes.size(); i++) { delete attributes[i]->attr; } } @@ -3780,20 +3780,20 @@ int attrcol; - for (int i=0; i < ql.size(); i++) { + for (int i = 0; i < ql.size(); i++) { attrcol = ql[i]->col; - if (!strcmp(ql[i]->attr,"text")) { + if (!strcmp(ql[i]->attr, "text")) { // TODO // make QList of QString from model col qmodel->appendColumn(qvals); } - else if (!strcmp(ql[i]->attr,"pixbuf")) { + else if (!strcmp(ql[i]->attr, "pixbuf")) { // make QList of QIcons from model col qmodel->appendColumn(qvals); } - else if (!strcmp(ql[i]->attr,"active")) { + else if (!strcmp(ql[i]->attr, "active")) { // make QList of checkable from model col qmodel->appendColumn(qvals); } @@ -4072,9 +4072,9 @@ void qt_jpeg_save(LiVESPixbuf *pixbuf, const char *fname, LiVESError **errptr, int quality) { #ifdef IS_MINGW - QImageWriter qiw(QString::fromUtf8(fname),"jpeg"); + QImageWriter qiw(QString::fromUtf8(fname), "jpeg"); #else - QImageWriter qiw(QString::fromLocal8Bit(fname),"jpeg"); + QImageWriter qiw(QString::fromLocal8Bit(fname), "jpeg"); #endif qiw.setQuality(quality); if (!qiw.write(static_cast<QImage>(*pixbuf))) { @@ -4089,9 +4089,9 @@ void qt_png_save(LiVESPixbuf *pixbuf, const char *fname, LiVESError **errptr, int cmp) { #ifdef IS_MINGW - QImageWriter qiw(QString::fromUtf8(fname),"png"); + QImageWriter qiw(QString::fromUtf8(fname), "png"); #else - QImageWriter qiw(QString::fromLocal8Bit(fname),"png"); + QImageWriter qiw(QString::fromLocal8Bit(fname), "png"); #endif qiw.setCompression(cmp); if (!qiw.write(static_cast<QImage>(*pixbuf))) { @@ -4207,7 +4207,7 @@ LiVESLabel *label = dynamic_cast<LiVESLabel *>(xlabel); label_widgets[i] = label; label->set_owner(this); - QLabel *qlabel =static_cast<QLabel *>(label); + QLabel *qlabel = static_cast<QLabel *>(label); setTabText(i, qlabel->text()); } } @@ -4408,7 +4408,7 @@ QStringList qsl = qs.split(":"); QList<int> qli; - for (int i=0; i < qsl.size(); i++) { + for (int i = 0; i < qsl.size(); i++) { qli.append(qsl.at(i).toInt()); } @@ -4440,7 +4440,7 @@ void init(QList<int> qli) { cnt = qli.size(); indices = (int *)(malloc(cnt * sizeof(int))); - for (int i=0; i < cnt; i++) { + for (int i = 0; i < cnt; i++) { indices[i] = qli.at(i); } } @@ -4705,7 +4705,7 @@ QString text; QFont font; int align; - int x,y,width,height; + int x, y, width, height; }; LIVES_INLINE void lingo_layout_set_alignment(LingoLayout *l, int alignment) { @@ -4760,7 +4760,7 @@ } lives_painter_surface_t (uint8_t *data, lives_painter_format_t fmt, int width, int height, int stride) - : QImage(data,width,height,stride,fmt,imclean,(livespointer)data) { + : QImage(data, width, height, stride, fmt, imclean, (livespointer)data) { refcount = 0; } @@ -4789,7 +4789,7 @@ ~lives_painter_t() { - if (target!=NULL) lives_painter_surface_destroy(target); + if (target != NULL) lives_painter_surface_destroy(target); delete p; }
View file
LiVES-2.8.4.tar.bz2/src/widget-helper.c -> LiVES-2.8.6.tar.bz2/src/widget-helper.c
Changed
@@ -1,10 +1,9 @@ // widget-helper.c // LiVES -// (c) G. Finch 2012 - 2016 <salsaman@gmail.com> +// (c) G. Finch 2012 - 2017 <salsaman@gmail.com> // released under the GNU GPL 3 or later // see file ../COPYING or www.gnu.org for licensing details - #include "main.h" // The idea here is to replace toolkit specific functions with generic ones @@ -17,38 +16,36 @@ static void set_child_colour_internal(LiVESWidget *widget, livespointer set_allx); static void set_child_alt_colour_internal(LiVESWidget *widget, livespointer set_allx); - - // basic functions //////////////////////////////////////////////////// //lives_painter functions LIVES_INLINE lives_painter_t *lives_painter_create(lives_painter_surface_t *target) { - lives_painter_t *cr=NULL; + lives_painter_t *cr = NULL; #ifdef PAINTER_CAIRO - cr=cairo_create(target); + cr = cairo_create(target); #endif #ifdef PAINTER_QPAINTER cr = new lives_painter_t(target); #endif return cr; - } + LIVES_INLINE lives_painter_t *lives_painter_create_from_widget(LiVESWidget *widget) { - lives_painter_t *cr=NULL; + lives_painter_t *cr = NULL; #ifdef PAINTER_CAIRO #ifdef GUI_GTK - LiVESXWindow *window=lives_widget_get_xwindow(widget); - if (window!=NULL) { - cr=gdk_cairo_create(window); + LiVESXWindow *window = lives_widget_get_xwindow(widget); + if (window != NULL) { + cr = gdk_cairo_create(window); } #endif #endif #ifdef PAINTER_QPAINTER QWidget *widg = static_cast<QWidget *>(widget); - if (widg!=NULL) cr = new lives_painter_t(widg); + if (widg != NULL) cr = new lives_painter_t(widg); #endif return cr; } @@ -57,35 +54,33 @@ LIVES_INLINE boolean lives_painter_set_source_pixbuf(lives_painter_t *cr, const LiVESPixbuf *pixbuf, double pixbuf_x, double pixbuf_y) { // blit pixbuf to cairo at x,y #ifdef PAINTER_CAIRO - gdk_cairo_set_source_pixbuf(cr,pixbuf,pixbuf_x,pixbuf_y); + gdk_cairo_set_source_pixbuf(cr, pixbuf, pixbuf_x, pixbuf_y); return TRUE; #endif #ifdef PAINTER_QPAINTER - QPointF qp(pixbuf_x,pixbuf_y); + QPointF qp(pixbuf_x, pixbuf_y); const QImage *qi = (const QImage *)pixbuf; cr->drawImage(qp, *qi); return TRUE; #endif return FALSE; - } LIVES_INLINE boolean lives_painter_set_source_surface(lives_painter_t *cr, lives_painter_surface_t *surface, double x, double y) { #ifdef PAINTER_CAIRO - cairo_set_source_surface(cr,surface,x,y); + cairo_set_source_surface(cr, surface, x, y); return TRUE; #endif #ifdef PAINTER_QPAINTER - QPointF qp(x,y); - cr->drawImage(qp,*surface); + QPointF qp(x, y); + cr->drawImage(qp, *surface); return TRUE; #endif return FALSE; - - } + LIVES_INLINE boolean lives_painter_paint(lives_painter_t *cr) { #ifdef PAINTER_CAIRO cairo_paint(cr); @@ -104,7 +99,7 @@ return TRUE; #endif #ifdef PAINTER_QPAINTER - cr->fillPath(*(cr->p),cr->pen.color()); + cr->fillPath(*(cr->p), cr->pen.color()); delete cr->p; cr->p = new QPainterPath; return TRUE; @@ -112,13 +107,14 @@ return FALSE; } + LIVES_INLINE boolean lives_painter_stroke(lives_painter_t *cr) { #ifdef PAINTER_CAIRO cairo_stroke(cr); return TRUE; #endif #ifdef PAINTER_QPAINTER - cr->strokePath(*(cr->p),cr->pen); + cr->strokePath(*(cr->p), cr->pen); delete cr->p; cr->p = new QPainterPath; return TRUE; @@ -126,13 +122,14 @@ return FALSE; } + LIVES_INLINE boolean lives_painter_clip(lives_painter_t *cr) { #ifdef PAINTER_CAIRO cairo_clip(cr); return TRUE; #endif #ifdef PAINTER_QPAINTER - cr->setClipPath(*(cr->p),Qt::IntersectClip); + cr->setClipPath(*(cr->p), Qt::IntersectClip); delete cr->p; cr->p = new QPainterPath; return TRUE; @@ -140,6 +137,7 @@ return FALSE; } + LIVES_INLINE boolean lives_painter_destroy(lives_painter_t *cr) { #ifdef PAINTER_CAIRO cairo_destroy(cr); @@ -154,19 +152,15 @@ } - - - - LIVES_INLINE boolean lives_painter_render_background(LiVESWidget *widget, lives_painter_t *cr, double x, double y, double width, double height) { #ifdef PAINTER_CAIRO -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) GtkStyleContext *ctx = gtk_widget_get_style_context(widget); - gtk_render_background(ctx,cr,x,y,width,height); + gtk_render_background(ctx, cr, x, y, width, height); #else LiVESWidgetColor color; - lives_widget_color_copy(&color,>k_widget_get_style(widget)->bg[lives_widget_get_state(widget)]); + lives_widget_color_copy(&color, >k_widget_get_style(widget)->bg[lives_widget_get_state(widget)]); #if LIVES_WIDGET_COLOR_HAS_ALPHA lives_painter_set_source_rgba(cr, @@ -180,7 +174,7 @@ LIVES_WIDGET_COLOR_SCALE(color.green), LIVES_WIDGET_COLOR_SCALE(color.blue)); #endif - lives_painter_rectangle(cr,x,y,width,height); + lives_painter_rectangle(cr, x, y, width, height); lives_painter_fill(cr); #endif return TRUE; @@ -201,6 +195,7 @@ return FALSE; } + LIVES_INLINE boolean lives_painter_new_path(lives_painter_t *cr) { #ifdef PAINTER_CAIRO cairo_new_path(cr); @@ -217,23 +212,22 @@ LIVES_INLINE boolean lives_painter_translate(lives_painter_t *cr, double x, double y) { #ifdef PAINTER_CAIRO - cairo_translate(cr,x,y); + cairo_translate(cr, x, y); return TRUE; #endif #ifdef PAINTER_QPAINTER QTransform qt; - qt.translate(x,y); - cr->setTransform(qt,true); + qt.translate(x, y); + cr->setTransform(qt, true); return TRUE; #endif return FALSE; - } LIVES_INLINE boolean lives_painter_set_line_width(lives_painter_t *cr, double width) { #ifdef PAINTER_CAIRO - cairo_set_line_width(cr,width); + cairo_set_line_width(cr, width); return TRUE; #endif #ifdef PAINTER_QPAINTER @@ -246,11 +240,11 @@ LIVES_INLINE boolean lives_painter_move_to(lives_painter_t *cr, double x, double y) { #ifdef PAINTER_CAIRO - cairo_move_to(cr,x,y); + cairo_move_to(cr, x, y); return TRUE; #endif #ifdef PAINTER_QPAINTER - cr->p->moveTo(x,y); + cr->p->moveTo(x, y); return TRUE; #endif return FALSE; @@ -259,11 +253,11 @@ LIVES_INLINE boolean lives_painter_line_to(lives_painter_t *cr, double x, double y) { #ifdef PAINTER_CAIRO - cairo_line_to(cr,x,y); + cairo_line_to(cr, x, y); return TRUE; #endif #ifdef PAINTER_QPAINTER - cr->p->lineTo(x,y); + cr->p->lineTo(x, y); return TRUE; #endif return FALSE; @@ -272,11 +266,11 @@ LIVES_INLINE boolean lives_painter_rectangle(lives_painter_t *cr, double x, double y, double width, double height) { #ifdef PAINTER_CAIRO - cairo_rectangle(cr,x,y,width,height); + cairo_rectangle(cr, x, y, width, height); return TRUE; #endif #ifdef PAINTER_QPAINTER - cr->p->addRect(x,y,width,height); + cr->p->addRect(x, y, width, height); return TRUE; #endif return FALSE; @@ -285,16 +279,16 @@ LIVES_INLINE boolean lives_painter_arc(lives_painter_t *cr, double xc, double yc, double radius, double angle1, double angle2) { #ifdef PAINTER_CAIRO - cairo_arc(cr,xc,yc,radius,angle1,angle2); + cairo_arc(cr, xc, yc, radius, angle1, angle2); return TRUE; #endif #ifdef PAINTER_QPAINTER - double l=xc-radius; - double t=yc-radius; - double w=radius*2,h=w; - angle1=angle1/M_PI*180.; - angle2=angle2/M_PI*180.; - cr->p->arcTo(l,t,w,h,angle1,angle2-angle1); + double l = xc - radius; + double t = yc - radius; + double w = radius * 2, h = w; + angle1 = angle1 / M_PI * 180.; + angle2 = angle2 / M_PI * 180.; + cr->p->arcTo(l, t, w, h, angle1, angle2 - angle1); return TRUE; #endif return FALSE; @@ -305,8 +299,8 @@ // if op was not LIVES_PAINTER_OPERATOR_DEFAULT, and FALSE is returned, then the operation failed, // and op was set to the default #ifdef PAINTER_CAIRO - cairo_set_operator(cr,op); - if (op==LIVES_PAINTER_OPERATOR_UNKNOWN) return FALSE; + cairo_set_operator(cr, op); + if (op == LIVES_PAINTER_OPERATOR_UNKNOWN) return FALSE; return TRUE; #endif #ifdef PAINTER_QPAINTER @@ -320,11 +314,11 @@ LIVES_INLINE boolean lives_painter_set_source_rgb(lives_painter_t *cr, double red, double green, double blue) { // r,g,b values 0.0 -> 1.0 #ifdef PAINTER_CAIRO - cairo_set_source_rgb(cr,red,green,blue); + cairo_set_source_rgb(cr, red, green, blue); return TRUE; #endif #ifdef PAINTER_QPAINTER - QColor qc(red*255.,green*255.,blue*255.); + QColor qc(red * 255., green * 255., blue * 255.); cr->pen.setColor(qc); return TRUE; #endif @@ -335,11 +329,11 @@ LIVES_INLINE boolean lives_painter_set_source_rgba(lives_painter_t *cr, double red, double green, double blue, double alpha) { // r,g,b,a values 0.0 -> 1.0 #ifdef PAINTER_CAIRO - cairo_set_source_rgba(cr,red,green,blue,alpha); + cairo_set_source_rgba(cr, red, green, blue, alpha); return TRUE; #endif #ifdef PAINTER_QPAINTER - QColor qc(red*255.,green*255.,blue*255.,alpha*255.); + QColor qc(red * 255., green * 255., blue * 255., alpha * 255.); cr->pen.setColor(qc); return TRUE; #endif @@ -349,7 +343,7 @@ LIVES_INLINE boolean lives_painter_set_fill_rule(lives_painter_t *cr, lives_painter_fill_rule_t fill_rule) { #ifdef PAINTER_CAIRO - cairo_set_fill_rule(cr,fill_rule); + cairo_set_fill_rule(cr, fill_rule); return TRUE; #endif #ifdef PAINTER_QPAINTER @@ -372,15 +366,14 @@ } - LIVES_INLINE lives_painter_surface_t *lives_painter_image_surface_create_for_data(uint8_t *data, lives_painter_format_t format, int width, int height, int stride) { - lives_painter_surface_t *surf=NULL; + lives_painter_surface_t *surf = NULL; #ifdef PAINTER_CAIRO - surf=cairo_image_surface_create_for_data(data,format,width,height,stride); + surf = cairo_image_surface_create_for_data(data, format, width, height, stride); #endif #ifdef PAINTER_QPAINTER - surf=new lives_painter_surface_t(data,format,width,height,stride); + surf = new lives_painter_surface_t(data, format, width, height, stride); #endif return surf; } @@ -388,20 +381,20 @@ LIVES_INLINE lives_painter_surface_t *lives_painter_surface_create_from_widget(LiVESWidget *widget, lives_painter_content_t content, int width, int height) { - lives_painter_surface_t *surf=NULL; + lives_painter_surface_t *surf = NULL; #ifdef PAINTER_CAIRO - LiVESXWindow *window=lives_widget_get_xwindow(widget); - if (window!=NULL) { -#if G_ENCODE_VERSION(GDK_MAJOR_VERSION,GDK_MINOR_VERSION) >= G_ENCODE_VERSION(2,22) - surf=gdk_window_create_similar_surface(window,content,width,height); + LiVESXWindow *window = lives_widget_get_xwindow(widget); + if (window != NULL) { +#if G_ENCODE_VERSION(GDK_MAJOR_VERSION, GDK_MINOR_VERSION) >= G_ENCODE_VERSION(2, 22) + surf = gdk_window_create_similar_surface(window, content, width, height); #else - surf=cairo_image_surface_create(LIVES_PAINTER_FORMAT_ARGB32,width,height); + surf = cairo_image_surface_create(LIVES_PAINTER_FORMAT_ARGB32, width, height); #endif } #endif #ifdef PAINTER_QPAINTER - surf=new lives_painter_surface_t(width,height,LIVES_PAINTER_FORMAT_ARGB32); + surf = new lives_painter_surface_t(width, height, LIVES_PAINTER_FORMAT_ARGB32); #endif return surf; @@ -409,101 +402,98 @@ LIVES_INLINE lives_painter_surface_t *lives_painter_image_surface_create(lives_painter_format_t format, int width, int height) { - lives_painter_surface_t *surf=NULL; + lives_painter_surface_t *surf = NULL; #ifdef PAINTER_CAIRO - surf=cairo_image_surface_create(format,width,height); + surf = cairo_image_surface_create(format, width, height); #endif #ifdef PAINTER_QPAINTER - surf=new lives_painter_surface_t(width,height,format); + surf = new lives_painter_surface_t(width, height, format); #endif return surf; } - ////////////////////////// painter info funcs lives_painter_surface_t *lives_painter_get_target(lives_painter_t *cr) { - - lives_painter_surface_t *surf=NULL; + lives_painter_surface_t *surf = NULL; #ifdef PAINTER_CAIRO - surf=cairo_get_target(cr); + surf = cairo_get_target(cr); #endif #ifdef PAINTER_QPAINTER - surf=cr->target; + surf = cr->target; #endif return surf; - } int lives_painter_format_stride_for_width(lives_painter_format_t form, int width) { - int stride=-1; + int stride = -1; #ifdef PAINTER_CAIRO - stride=cairo_format_stride_for_width(form,width); + stride = cairo_format_stride_for_width(form, width); #endif #ifdef PAINTER_QPAINTER - stride=width * 4; //TODO !! + stride = width * 4; //TODO !! #endif return stride; } uint8_t *lives_painter_image_surface_get_data(lives_painter_surface_t *surf) { - uint8_t *data=NULL; + uint8_t *data = NULL; #ifdef PAINTER_CAIRO - data=cairo_image_surface_get_data(surf); + data = cairo_image_surface_get_data(surf); #endif #ifdef PAINTER_QPAINTER - data=(uint8_t *)surf->bits(); + data = (uint8_t *)surf->bits(); #endif return data; } int lives_painter_image_surface_get_width(lives_painter_surface_t *surf) { - int width=0; + int width = 0; #ifdef PAINTER_CAIRO - width=cairo_image_surface_get_width(surf); + width = cairo_image_surface_get_width(surf); #endif #ifdef PAINTER_QPAINTER - width=((QImage *)surf)->width(); + width = ((QImage *)surf)->width(); #endif return width; } int lives_painter_image_surface_get_height(lives_painter_surface_t *surf) { - int height=0; + int height = 0; #ifdef PAINTER_CAIRO - height=cairo_image_surface_get_height(surf); + height = cairo_image_surface_get_height(surf); #endif #ifdef PAINTER_QPAINTER - height=((QImage *)surf)->height(); + height = ((QImage *)surf)->height(); #endif return height; } int lives_painter_image_surface_get_stride(lives_painter_surface_t *surf) { - int stride=0; + int stride = 0; #ifdef PAINTER_CAIRO - stride=cairo_image_surface_get_stride(surf); + stride = cairo_image_surface_get_stride(surf); #endif #ifdef PAINTER_QPAINTER - stride=((QImage *)surf)->bytesPerLine(); + stride = ((QImage *)surf)->bytesPerLine(); #endif return stride; } lives_painter_format_t lives_painter_image_surface_get_format(lives_painter_surface_t *surf) { - lives_painter_format_t format=(lives_painter_format_t)0; + lives_painter_format_t format = (lives_painter_format_t)0; #ifdef PAINTER_CAIRO - format=cairo_image_surface_get_format(surf); + format = cairo_image_surface_get_format(surf); #endif #ifdef PAINTER_QPAINTER - format=((QImage *)surf)->format(); + format = ((QImage *)surf)->format(); #endif return format; } @@ -511,7 +501,6 @@ //////////////////////////////////////////////////////// - LIVES_INLINE livespointer lives_object_ref(livespointer object) { #ifdef GUI_GTK g_object_ref(object); @@ -537,7 +526,7 @@ #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) LIVES_INLINE livespointer lives_object_ref_sink(livespointer object) { g_object_ref_sink(object); return object; @@ -546,7 +535,7 @@ LIVES_INLINE void lives_object_ref_sink(livespointer object) { GtkObject *gtkobject; //assert(GTK_IS_OBJECT(object)); - gtkobject=(GtkObject *)object; + gtkobject = (GtkObject *)object; gtk_object_sink(gtkobject); } #endif @@ -560,10 +549,9 @@ #endif - LIVES_INLINE boolean lives_signal_handler_block(livespointer instance, unsigned long handler_id) { #ifdef GUI_GTK - g_signal_handler_block(instance,handler_id); + g_signal_handler_block(instance, handler_id); return TRUE; #endif #ifdef GUI_QT @@ -578,7 +566,7 @@ LIVES_INLINE boolean lives_signal_handlers_block_by_func(livespointer instance, livespointer func, livespointer data) { #ifdef GUI_QT LiVESObject *obj = static_cast<LiVESObject *>(instance); - obj->block_signals((ulong)func,data); + obj->block_signals((ulong)func, data); return TRUE; #endif return FALSE; @@ -587,7 +575,7 @@ LIVES_INLINE boolean lives_signal_handler_unblock(livespointer instance, unsigned long handler_id) { #ifdef GUI_GTK - g_signal_handler_unblock(instance,handler_id); + g_signal_handler_unblock(instance, handler_id); return TRUE; #endif #ifdef GUI_QT @@ -603,7 +591,7 @@ LIVES_INLINE boolean lives_signal_handlers_unblock_by_func(livespointer instance, livespointer func, livespointer data) { #ifdef GUI_QT LiVESObject *obj = static_cast<LiVESObject *>(instance); - obj->unblock_signals((ulong)func,data); + obj->unblock_signals((ulong)func, data); return TRUE; #endif return FALSE; @@ -611,10 +599,9 @@ #endif - LIVES_INLINE boolean lives_signal_handler_disconnect(livespointer instance, unsigned long handler_id) { #ifdef GUI_GTK - g_signal_handler_disconnect(instance,handler_id); + g_signal_handler_disconnect(instance, handler_id); return TRUE; #endif #ifdef GUI_QT @@ -628,7 +615,7 @@ LIVES_INLINE boolean lives_signal_stop_emission_by_name(livespointer instance, const char *detailed_signal) { #ifdef GUI_GTK - g_signal_stop_emission_by_name(instance,detailed_signal); + g_signal_stop_emission_by_name(instance, detailed_signal); return TRUE; #endif #ifdef GUI_QT @@ -658,19 +645,18 @@ } - LIVES_INLINE boolean lives_widget_set_sensitive(LiVESWidget *widget, boolean state) { #ifdef GUI_GTK - gtk_widget_set_sensitive(widget,state); + gtk_widget_set_sensitive(widget, state); #ifdef GTK_SUBMENU_SENS_BUG if (GTK_IS_MENU_ITEM(widget)) { LiVESWidget *sub; - if ((sub=gtk_menu_item_get_submenu(GTK_MENU_ITEM(widget)))!=NULL) { + if ((sub = gtk_menu_item_get_submenu(GTK_MENU_ITEM(widget))) != NULL) { g_object_ref(sub); - gtk_menu_item_set_submenu(GTK_MENU_ITEM(widget),NULL); - gtk_widget_set_sensitive(sub,state); - gtk_menu_item_set_submenu(GTK_MENU_ITEM(widget),sub); + gtk_menu_item_set_submenu(GTK_MENU_ITEM(widget), NULL); + gtk_widget_set_sensitive(sub, state); + gtk_menu_item_set_submenu(GTK_MENU_ITEM(widget), sub); g_object_unref(sub); } } @@ -705,7 +691,7 @@ #ifdef GUI_QT if (LIVES_IS_WINDOW(widget) && (static_cast<LiVESMainWindow *>(widget))->get_position() == LIVES_WIN_POS_CENTER_ALWAYS) { QRect primaryScreenGeometry(QApplication::desktop()->screenGeometry()); - widget->move(-50000,-50000); + widget->move(-50000, -50000); (static_cast<QWidget *>(widget))->setVisible(true); widget->move((primaryScreenGeometry.width() - widget->width()) / 2.0, (primaryScreenGeometry.height() - widget->height()) / 2.0); @@ -772,14 +758,14 @@ LIVES_INLINE boolean lives_widget_queue_draw_area(LiVESWidget *widget, int x, int y, int width, int height) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - gtk_widget_queue_draw_area(widget,x,y,width,height); +#if GTK_CHECK_VERSION(3, 0, 0) + gtk_widget_queue_draw_area(widget, x, y, width, height); #else gtk_widget_queue_draw(widget); #endif #endif #ifdef GUI_QT - (static_cast<QWidget *>(widget))->update(x,y,width,height); + (static_cast<QWidget *>(widget))->update(x, y, width, height); return TRUE; #endif return FALSE; @@ -799,31 +785,29 @@ } - LIVES_INLINE boolean lives_widget_set_size_request(LiVESWidget *widget, int width, int height) { #ifdef GUI_GTK - gtk_widget_set_size_request(widget,width,height); + gtk_widget_set_size_request(widget, width, height); return TRUE; #endif #ifdef GUI_QT - QWidget *widg=(static_cast<QWidget *>(widget)); - widg->setMaximumSize(width,height); - widg->setMinimumSize(width,height); + QWidget *widg = (static_cast<QWidget *>(widget)); + widg->setMaximumSize(width, height); + widg->setMinimumSize(width, height); return TRUE; #endif return FALSE; } - LIVES_INLINE boolean lives_widget_set_minimum_size(LiVESWidget *widget, int width, int height) { #ifdef GUI_GTK GdkGeometry geom; GdkWindowHints mask; - geom.min_width=width; - geom.min_height=height; - mask=GDK_HINT_MIN_SIZE; - gtk_window_set_geometry_hints(GTK_WINDOW(gtk_widget_get_toplevel(widget)),widget,&geom,mask); + geom.min_width = width; + geom.min_height = height; + mask = GDK_HINT_MIN_SIZE; + gtk_window_set_geometry_hints(GTK_WINDOW(gtk_widget_get_toplevel(widget)), widget, &geom, mask); return TRUE; #endif return FALSE; @@ -834,26 +818,24 @@ #ifdef GUI_GTK GdkGeometry geom; GdkWindowHints mask; - geom.max_width=width; - geom.max_height=height; - mask=GDK_HINT_MAX_SIZE; - gtk_window_set_geometry_hints(GTK_WINDOW(gtk_widget_get_toplevel(widget)),widget,&geom,mask); + geom.max_width = width; + geom.max_height = height; + mask = GDK_HINT_MAX_SIZE; + gtk_window_set_geometry_hints(GTK_WINDOW(gtk_widget_get_toplevel(widget)), widget, &geom, mask); return TRUE; #endif return FALSE; } - - LIVES_INLINE boolean lives_widget_process_updates(LiVESWidget *widget, boolean upd_children) { #ifdef GUI_GTK - GdkWindow *window=lives_widget_get_xwindow(widget); - gdk_window_process_updates(window,upd_children); + GdkWindow *window = lives_widget_get_xwindow(widget); + gdk_window_process_updates(window, upd_children); return TRUE; #endif #ifdef GUI_QT - QWidget *widg=(static_cast<QWidget *>(widget)); + QWidget *widg = (static_cast<QWidget *>(widget)); widg->repaint(); return TRUE; #endif @@ -876,13 +858,13 @@ LIVES_INLINE boolean lives_widget_reparent(LiVESWidget *widget, LiVESWidget *new_parent) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,14,0) +#if GTK_CHECK_VERSION(3, 14, 0) g_object_ref(widget); - gtk_container_remove(GTK_CONTAINER(gtk_widget_get_parent(widget)),widget); - gtk_container_add(GTK_CONTAINER(new_parent),widget); + gtk_container_remove(GTK_CONTAINER(gtk_widget_get_parent(widget)), widget); + gtk_container_add(GTK_CONTAINER(new_parent), widget); g_object_unref(widget); #else - gtk_widget_reparent(widget,new_parent); + gtk_widget_reparent(widget, new_parent); #endif return TRUE; #endif @@ -900,7 +882,7 @@ LIVES_INLINE boolean lives_widget_is_ancestor(LiVESWidget *widget, LiVESWidget *ancestor) { #ifdef GUI_GTK - return gtk_widget_is_ancestor(widget,ancestor); + return gtk_widget_is_ancestor(widget, ancestor); #endif return FALSE; } @@ -909,7 +891,7 @@ LIVES_INLINE boolean lives_widget_set_app_paintable(LiVESWidget *widget, boolean paintable) { return TRUE; #ifdef GUI_GTK - gtk_widget_set_app_paintable(widget,paintable); + gtk_widget_set_app_paintable(widget, paintable); return TRUE; #endif #ifdef GUI_QT @@ -920,14 +902,13 @@ } - LIVES_INLINE LiVESResponseType lives_dialog_run(LiVESDialog *dialog) { #ifdef GUI_GTK return gtk_dialog_run(dialog); #endif #ifdef GUI_QT int dc; - dc=dialog->exec(); + dc = dialog->exec(); return dc; #endif return LIVES_RESPONSE_INVALID; @@ -936,7 +917,7 @@ LIVES_INLINE boolean lives_dialog_response(LiVESDialog *dialog, int response) { #ifdef GUI_GTK - gtk_dialog_response(dialog,response); + gtk_dialog_response(dialog, response); return TRUE; #endif #ifdef GUI_QT @@ -947,15 +928,15 @@ } -#if GTK_CHECK_VERSION(3,16,0) +#if GTK_CHECK_VERSION(3, 16, 0) static char *make_random_string() { - char *str=(char *)malloc(32); + char *str = (char *)malloc(32); register int i; - str[0]=str[1]=str[2]='X'; + str[0] = str[1] = str[2] = 'X'; - for (i=3; i<31; i++) str[i]=((lives_random()&15)+65); - str[31]=0; + for (i = 3; i < 31; i++) str[i] = ((lives_random() & 15) + 65); + str[31] = 0; return str; } #endif @@ -964,75 +945,80 @@ LIVES_INLINE boolean lives_widget_set_bg_color(LiVESWidget *widget, LiVESWidgetState state, const LiVESWidgetColor *color) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) -#if GTK_CHECK_VERSION(3,16,0) +#if GTK_CHECK_VERSION(3, 0, 0) +#if GTK_CHECK_VERSION(3, 16, 0) GtkCssProvider *provider = gtk_css_provider_new(); GtkStyleContext *ctx = gtk_widget_get_style_context(widget); - char *widget_name,*wname; + char *widget_name, *wname; char *colref; - char *css_string,*tmp; + char *css_string, *tmp; char *state_str; gtk_style_context_add_provider(ctx, GTK_STYLE_PROVIDER (provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); - widget_name=g_strdup(gtk_widget_get_name(widget)); + widget_name = g_strdup(gtk_widget_get_name(widget)); - if (strncmp(widget_name,"XXX",3)) { - if (widget_name!=NULL) g_free(widget_name); - widget_name=make_random_string(); - gtk_widget_set_name(widget,widget_name); + if (strncmp(widget_name, "XXX", 3)) { + if (widget_name != NULL) g_free(widget_name); + widget_name = make_random_string(); + gtk_widget_set_name(widget, widget_name); } - gtk_widget_set_name(widget,widget_name); + gtk_widget_set_name(widget, widget_name); - colref=gdk_rgba_to_string(color); + colref = gdk_rgba_to_string(color); #ifdef GTK_TEXT_VIEW_CSS_BUG - if (GTK_IS_TEXT_VIEW(widget)) wname=g_strdup("GtkTextView"); + if (GTK_IS_TEXT_VIEW(widget)) wname = g_strdup("GtkTextView"); else { #endif switch (state) { case GTK_STATE_FLAG_ACTIVE: - state_str=":active"; + state_str = ":active"; break; case GTK_STATE_FLAG_PRELIGHT: - state_str=":prelight"; +#if GTK_CHECK_VERSION(3, 18, 0) + state_str = ":hover"; +#else + state_str = ":prelight"; +#endif break; case GTK_STATE_FLAG_SELECTED: - state_str=":selected"; + state_str = ":selected"; break; case GTK_STATE_FLAG_INSENSITIVE: - state_str=":insensitive"; +#if GTK_CHECK_VERSION(3, 18, 0) + state_str = ":disabled"; +#else + state_str = ":insensitive"; +#endif break; default: - state_str=""; + state_str = ""; } - if (GTK_IS_NOTEBOOK(widget)) wname=g_strdup_printf("#%s%s tab",widget_name,state_str); - else wname=g_strdup_printf("#%s%s",widget_name,state_str); + if (GTK_IS_NOTEBOOK(widget)) wname = g_strdup_printf("#%s%s tab", widget_name, state_str); + else wname = g_strdup_printf("#%s%s", widget_name, state_str); #ifdef GTK_TEXT_VIEW_CSS_BUG } #endif - - css_string=g_strdup_printf(" %s {\n background-color: %s;\n }\n }\n",wname,colref); + css_string = g_strdup_printf(" %s {\n background-color: %s;\n }\n }\n", wname, colref); if (GTK_IS_FRAME(widget)) { - tmp=lives_strdup_printf("%s %s label {\n background-color: %s;\n }\n }\n",css_string,wname,colref); + tmp = lives_strdup_printf("%s %s label {\n background-color: %s;\n }\n }\n", css_string, wname, colref); lives_free(css_string); - css_string=tmp; + css_string = tmp; } gtk_css_provider_load_from_data(GTK_CSS_PROVIDER(provider), css_string, -1, NULL); - - g_free(colref); g_free(widget_name); g_free(wname); @@ -1041,15 +1027,15 @@ g_object_unref(provider); #else - gtk_widget_override_background_color(widget,state,color); + gtk_widget_override_background_color(widget, state, color); #endif #else - gtk_widget_modify_bg(widget,state,color); + gtk_widget_modify_bg(widget, state, color); #endif return TRUE; #endif #ifdef GUI_QT - widget->set_bg_color(state,color); + widget->set_bg_color(state, color); return TRUE; #endif return FALSE; @@ -1058,42 +1044,41 @@ LIVES_INLINE boolean lives_widget_set_fg_color(LiVESWidget *widget, LiVESWidgetState state, const LiVESWidgetColor *color) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) -#if GTK_CHECK_VERSION(3,16,0) +#if GTK_CHECK_VERSION(3, 0, 0) +#if GTK_CHECK_VERSION(3, 16, 0) GtkCssProvider *provider = gtk_css_provider_new(); GtkStyleContext *ctx = gtk_widget_get_style_context(widget); - char *widget_name,*wname; + char *widget_name, *wname; char *colref; char *css_string; gtk_style_context_add_provider(ctx, GTK_STYLE_PROVIDER (provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); - widget_name=g_strdup(gtk_widget_get_name(widget)); + widget_name = g_strdup(gtk_widget_get_name(widget)); - if (strncmp(widget_name,"XXX",3)) { - if (widget_name!=NULL) g_free(widget_name); - widget_name=make_random_string(); - gtk_widget_set_name(widget,widget_name); + if (strncmp(widget_name, "XXX", 3)) { + if (widget_name != NULL) g_free(widget_name); + widget_name = make_random_string(); + gtk_widget_set_name(widget, widget_name); } - colref=gdk_rgba_to_string(color); + colref = gdk_rgba_to_string(color); #ifdef GTK_TEXT_VIEW_CSS_BUG - if (GTK_IS_TEXT_VIEW(widget)) wname=g_strdup("GtkTextView"); + if (GTK_IS_TEXT_VIEW(widget)) wname = g_strdup("GtkTextView"); else { #endif - if (GTK_IS_NOTEBOOK(widget)) wname=g_strdup_printf("#%s tab",widget_name); - wname=g_strdup_printf("#%s",widget_name); - + if (GTK_IS_NOTEBOOK(widget)) wname = g_strdup_printf("#%s tab", widget_name); + wname = g_strdup_printf("#%s", widget_name); #ifdef GTK_TEXT_VIEW_CSS_BUG } #endif - css_string=g_strdup_printf(" %s {\n color: %s;\n }\n }\n",wname,colref); + css_string = g_strdup_printf(" %s {\n color: %s;\n }\n }\n", wname, colref); gtk_css_provider_load_from_data(GTK_CSS_PROVIDER(provider), css_string, @@ -1106,15 +1091,15 @@ g_free(css_string); g_object_unref(provider); #else - gtk_widget_override_color(widget,state,color); + gtk_widget_override_color(widget, state, color); #endif #else - gtk_widget_modify_fg(widget,state,color); + gtk_widget_modify_fg(widget, state, color); #endif return TRUE; #endif #ifdef GUI_QT - widget->set_fg_color(state,color); + widget->set_fg_color(state, color); return TRUE; #endif return FALSE; @@ -1123,15 +1108,15 @@ LIVES_INLINE boolean lives_widget_set_text_color(LiVESWidget *widget, LiVESWidgetState state, const LiVESWidgetColor *color) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - lives_widget_set_fg_color(widget,state,color); +#if GTK_CHECK_VERSION(3, 0, 0) + lives_widget_set_fg_color(widget, state, color); #else - gtk_widget_modify_text(widget,state,color); + gtk_widget_modify_text(widget, state, color); #endif return TRUE; #endif #ifdef GUI_QT - widget->set_text_color(state,color); + widget->set_text_color(state, color); return TRUE; #endif return FALSE; @@ -1140,33 +1125,32 @@ LIVES_INLINE boolean lives_widget_set_base_color(LiVESWidget *widget, LiVESWidgetState state, const LiVESWidgetColor *color) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - lives_widget_set_bg_color(widget,state,color); +#if GTK_CHECK_VERSION(3, 0, 0) + lives_widget_set_bg_color(widget, state, color); #else - gtk_widget_modify_base(widget,state,color); + gtk_widget_modify_base(widget, state, color); #endif return TRUE; #endif #ifdef GUI_QT - widget->set_base_color(state,color); + widget->set_base_color(state, color); return TRUE; #endif return FALSE; } - LIVES_INLINE boolean lives_widget_get_fg_state_color(LiVESWidget *widget, LiVESWidgetState state, LiVESWidgetColor *color) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) gtk_style_context_get_color(gtk_widget_get_style_context(widget), LIVES_WIDGET_STATE_NORMAL, color); #else - lives_widget_color_copy(color,>k_widget_get_style(widget)->fg[LIVES_WIDGET_STATE_NORMAL]); + lives_widget_color_copy(color, >k_widget_get_style(widget)->fg[LIVES_WIDGET_STATE_NORMAL]); #endif return TRUE; #endif #ifdef GUI_QT - lives_widget_color_copy(color,widget->get_fg_color(state)); + lives_widget_color_copy(color, widget->get_fg_color(state)); return TRUE; #endif return FALSE; @@ -1175,17 +1159,17 @@ LIVES_INLINE boolean lives_widget_get_bg_state_color(LiVESWidget *widget, LiVESWidgetState state, LiVESWidgetColor *color) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) G_GNUC_BEGIN_IGNORE_DEPRECATIONS gtk_style_context_get_background_color(gtk_widget_get_style_context(widget), LIVES_WIDGET_STATE_NORMAL, color); G_GNUC_END_IGNORE_DEPRECATIONS #else - lives_widget_color_copy(color,>k_widget_get_style(widget)->bg[LIVES_WIDGET_STATE_NORMAL]); + lives_widget_color_copy(color, >k_widget_get_style(widget)->bg[LIVES_WIDGET_STATE_NORMAL]); #endif return TRUE; #endif #ifdef GUI_QT - lives_widget_color_copy(color,widget->get_bg_color(state)); + lives_widget_color_copy(color, widget->get_bg_color(state)); return TRUE; #endif return FALSE; @@ -1195,9 +1179,9 @@ LIVES_INLINE boolean lives_widget_color_equal(LiVESWidgetColor *c1, const LiVESWidgetColor *c2) { #ifdef GUI_GTK #if LIVES_WIDGET_COLOR_HAS_ALPHA - if (c1->alpha!=c2->alpha) return FALSE; + if (c1->alpha != c2->alpha) return FALSE; #endif - if (c1->red!=c2->red||c1->green!=c2->green||c1->blue!=c2->blue) return FALSE; + if (c1->red != c2->red || c1->green != c2->green || c1->blue != c2->blue) return FALSE; return TRUE; #endif return FALSE; @@ -1206,34 +1190,34 @@ LIVES_INLINE LiVESWidgetColor *lives_widget_color_copy(LiVESWidgetColor *c1, const LiVESWidgetColor *c2) { // if c1 is NULL, create a new copy of c2, otherwise copy c2 -> c1 - LiVESWidgetColor *c0=NULL; + LiVESWidgetColor *c0 = NULL; #ifdef GUI_GTK - if (c1!=NULL) { - c1->red=c2->red; - c1->green=c2->green; - c1->blue=c2->blue; -#if GTK_CHECK_VERSION(3,0,0) - c1->alpha=c2->alpha; + if (c1 != NULL) { + c1->red = c2->red; + c1->green = c2->green; + c1->blue = c2->blue; +#if GTK_CHECK_VERSION(3, 0, 0) + c1->alpha = c2->alpha; #else - c1->pixel=c2->pixel; + c1->pixel = c2->pixel; #endif } else { -#if GTK_CHECK_VERSION(3,0,0) - c0=gdk_rgba_copy(c2); +#if GTK_CHECK_VERSION(3, 0, 0) + c0 = gdk_rgba_copy(c2); #else - c0=gdk_color_copy(c2); + c0 = gdk_color_copy(c2); #endif } #endif #ifdef GUI_QT - if (c1==NULL) { + if (c1 == NULL) { c1 = new LiVESWidgetColor; } - c1->red=c2->red; - c1->green=c2->green; - c1->blue=c2->blue; - c1->alpha=c2->alpha; + c1->red = c2->red; + c1->green = c2->green; + c1->blue = c2->blue; + c1->alpha = c2->alpha; c0 = c1; #endif @@ -1243,9 +1227,9 @@ LIVES_INLINE LiVESWidget *lives_event_box_new(void) { - LiVESWidget *eventbox=NULL; + LiVESWidget *eventbox = NULL; #ifdef GUI_GTK - eventbox=gtk_event_box_new(); + eventbox = gtk_event_box_new(); #endif #ifdef GUI_QT eventbox = new LiVESEventBox; @@ -1256,7 +1240,7 @@ LIVES_INLINE boolean lives_event_box_set_above_child(LiVESEventBox *ebox, boolean set) { #ifdef GUI_GTK - gtk_event_box_set_above_child(ebox,set); + gtk_event_box_set_above_child(ebox, set); return TRUE; #endif #ifdef GUI_QT @@ -1266,43 +1250,41 @@ } - LIVES_INLINE LiVESWidget *lives_image_new(void) { - LiVESWidget *image=NULL; + LiVESWidget *image = NULL; #ifdef GUI_GTK - image=gtk_image_new(); + image = gtk_image_new(); #endif #ifdef GUI_QT - image=new LiVESImage; + image = new LiVESImage; #endif return image; } - LIVES_INLINE LiVESWidget *lives_image_new_from_stock(const char *stock_id, LiVESIconSize size) { - LiVESWidget *image=NULL; + LiVESWidget *image = NULL; #ifdef GUI_GTK - if (lives_has_icon(stock_id,size)) { -#if GTK_CHECK_VERSION(3,10,0) - image=gtk_image_new_from_icon_name(stock_id, size); + if (lives_has_icon(stock_id, size)) { +#if GTK_CHECK_VERSION(3, 10, 0) + image = gtk_image_new_from_icon_name(stock_id, size); #else - image=gtk_image_new_from_stock(stock_id,size); + image = gtk_image_new_from_stock(stock_id, size); #endif } else { -#if GTK_CHECK_VERSION(3,10,0) - image=gtk_image_new_from_icon_name(LIVES_STOCK_MISSING_IMAGE, size); - if (image==NULL) image=gtk_image_new_from_icon_name(LIVES_STOCK_CLOSE,size); +#if GTK_CHECK_VERSION(3, 10, 0) + image = gtk_image_new_from_icon_name(LIVES_STOCK_MISSING_IMAGE, size); + if (image == NULL) image = gtk_image_new_from_icon_name(LIVES_STOCK_CLOSE, size); #else - image=gtk_image_new_from_stock(LIVES_STOCK_MISSING_IMAGE,size); - if (image==NULL) image=gtk_image_new_from_stock(GTK_STOCK_NO,size); - if (image==NULL) image=gtk_image_new_from_stock(LIVES_STOCK_CLOSE,size); + image = gtk_image_new_from_stock(LIVES_STOCK_MISSING_IMAGE, size); + if (image == NULL) image = gtk_image_new_from_stock(GTK_STOCK_NO, size); + if (image == NULL) image = gtk_image_new_from_stock(LIVES_STOCK_CLOSE, size); #endif } #endif #ifdef GUI_QT - if (!QIcon::hasThemeIcon(stock_id)) lives_printerr("Missing icon %s\n",stock_id); + if (!QIcon::hasThemeIcon(stock_id)) lives_printerr("Missing icon %s\n", stock_id); else { QIcon qi = QIcon::fromTheme(stock_id); QPixmap qp = qi.pixmap(size); @@ -1314,7 +1296,7 @@ int bpl = qm.bytesPerLine(); QImage::Format fmt = qm.format(); - image = new LiVESImage(data,width,height,bpl,fmt,imclean,data); + image = new LiVESImage(data, width, height, bpl, fmt, imclean, data); } #endif @@ -1323,9 +1305,9 @@ LIVES_INLINE LiVESWidget *lives_image_new_from_file(const char *filename) { - LiVESWidget *image=NULL; + LiVESWidget *image = NULL; #ifdef GUI_GTK - image=gtk_image_new_from_file(filename); + image = gtk_image_new_from_file(filename); #endif #ifdef GUI_QT QString qs = QString::fromUtf8(filename); // TODO ?? @@ -1336,16 +1318,16 @@ int bpl = qm.bytesPerLine(); QImage::Format fmt = qm.format(); - image = new LiVESImage(data,width,height,bpl,fmt,imclean,data); + image = new LiVESImage(data, width, height, bpl, fmt, imclean, data); #endif return image; } LIVES_INLINE LiVESWidget *lives_image_new_from_pixbuf(LiVESPixbuf *pixbuf) { - LiVESWidget *image=NULL; + LiVESWidget *image = NULL; #ifdef GUI_GTK - image=gtk_image_new_from_pixbuf(pixbuf); + image = gtk_image_new_from_pixbuf(pixbuf); #endif #ifdef GUI_QT image = new LiVESImage(static_cast<QImage *>(pixbuf)); @@ -1354,10 +1336,9 @@ } - LIVES_INLINE boolean lives_image_set_from_pixbuf(LiVESImage *image, LiVESPixbuf *pixbuf) { #ifdef GUI_GTK - gtk_image_set_from_pixbuf(image,pixbuf); + gtk_image_set_from_pixbuf(image, pixbuf); return TRUE; #endif #ifdef GUI_QT @@ -1369,9 +1350,9 @@ LIVES_INLINE LiVESPixbuf *lives_image_get_pixbuf(LiVESImage *image) { - LiVESPixbuf *pixbuf=NULL; + LiVESPixbuf *pixbuf = NULL; #ifdef GUI_GTK - pixbuf=gtk_image_get_pixbuf(image); + pixbuf = gtk_image_get_pixbuf(image); #endif #ifdef GUI_QT pixbuf = new LiVESPixbuf(image); @@ -1380,14 +1361,13 @@ } - LIVES_INLINE boolean lives_color_parse(const char *spec, LiVESWidgetColor *color) { - boolean retval=FALSE; + boolean retval = FALSE; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - retval=gdk_rgba_parse(color,spec); +#if GTK_CHECK_VERSION(3, 0, 0) + retval = gdk_rgba_parse(color, spec); #else - retval=gdk_color_parse(spec,color); + retval = gdk_color_parse(spec, color); #endif #endif #ifdef GUI_QT @@ -1397,18 +1377,17 @@ color->green = qc.greenF(); color->blue = qc.blueF(); color->alpha = qc.alphaF(); - retval=TRUE; + retval = TRUE; } #endif return retval; } - LIVES_INLINE LiVESWidget *lives_dialog_get_content_area(LiVESDialog *dialog) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,14,0) +#if GTK_CHECK_VERSION(2, 14, 0) return gtk_dialog_get_content_area(LIVES_DIALOG(dialog)); #else return LIVES_DIALOG(dialog)->vbox; @@ -1421,10 +1400,9 @@ } - LIVES_INLINE LiVESWidget *lives_dialog_get_action_area(LiVESDialog *dialog) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,14,0) +#if GTK_CHECK_VERSION(2, 14, 0) #ifdef G_GNUC_BEGIN_IGNORE_DEPRECATIONS G_GNUC_BEGIN_IGNORE_DEPRECATIONS #endif @@ -1443,10 +1421,9 @@ } - LIVES_INLINE boolean lives_dialog_add_action_widget(LiVESDialog *dialog, LiVESWidget *widget, int response) { #ifdef GUI_GTK - gtk_dialog_add_action_widget(dialog,widget,response); + gtk_dialog_add_action_widget(dialog, widget, response); return TRUE; #endif #ifdef GUI_QT @@ -1455,14 +1432,13 @@ qbb->addButton(dynamic_cast<QPushButton *>(widget), static_cast<QDialogButtonBox::ButtonRole>(response)); #endif return FALSE; - } LIVES_INLINE LiVESWidget *lives_window_new(LiVESWindowType wintype) { - LiVESWidget *window=NULL; + LiVESWidget *window = NULL; #ifdef GUI_GTK - window=gtk_window_new(wintype); + window = gtk_window_new(wintype); #endif #ifdef GUI_QT @@ -1478,13 +1454,13 @@ LIVES_INLINE boolean lives_window_set_title(LiVESWindow *window, const char *title) { #ifdef GUI_GTK - char *ntitle=lives_strdup_printf("%s%s",widget_opts.title_prefix,title); - gtk_window_set_title(window,ntitle); + char *ntitle = lives_strdup_printf("%s%s", widget_opts.title_prefix, title); + gtk_window_set_title(window, ntitle); lives_free(ntitle); return TRUE; #endif #ifdef GUI_QT - char *ntitle=lives_strdup_printf("%s%s",widget_opts.title_prefix,title); + char *ntitle = lives_strdup_printf("%s%s", widget_opts.title_prefix, title); QString qs = QString::fromUtf8(ntitle); window->setWindowTitle(qs); lives_free(ntitle); @@ -1496,7 +1472,7 @@ LIVES_INLINE boolean lives_window_set_transient_for(LiVESWindow *window, LiVESWindow *parent) { #ifdef GUI_GTK - gtk_window_set_transient_for(window,parent); + gtk_window_set_transient_for(window, parent); return TRUE; #endif #ifdef GUI_QT @@ -1515,7 +1491,7 @@ LIVES_INLINE boolean lives_window_set_modal(LiVESWindow *window, boolean modal) { #ifdef GUI_GTK - gtk_window_set_modal(window,modal); + gtk_window_set_modal(window, modal); return TRUE; #endif #ifdef GUI_QT @@ -1532,7 +1508,7 @@ LIVES_INLINE boolean lives_window_set_deletable(LiVESWindow *window, boolean deletable) { #ifdef GUI_GTK - gtk_window_set_deletable(window,deletable); + gtk_window_set_deletable(window, deletable); return TRUE; #endif #ifdef GUI_QT @@ -1559,7 +1535,7 @@ LIVES_INLINE boolean lives_window_set_resizable(LiVESWindow *window, boolean resizable) { #ifdef GUI_GTK - gtk_window_set_resizable(window,resizable); + gtk_window_set_resizable(window, resizable); return TRUE; #endif #ifdef GUI_QT @@ -1584,7 +1560,7 @@ LIVES_INLINE boolean lives_window_set_keep_below(LiVESWindow *window, boolean set) { #ifdef GUI_GTK - gtk_window_set_keep_below(window,set); + gtk_window_set_keep_below(window, set); return TRUE; #endif #ifdef GUI_QT @@ -1606,9 +1582,18 @@ } +LIVES_INLINE boolean lives_window_set_keep_above(LiVESWindow *window, boolean set) { +#ifdef GUI_GTK + gtk_window_set_keep_above(window, set); + return TRUE; +#endif + return FALSE; +} + + LIVES_INLINE boolean lives_window_set_decorated(LiVESWindow *window, boolean set) { #ifdef GUI_GTK - gtk_window_set_decorated(window,set); + gtk_window_set_decorated(window, set); return TRUE; #endif #ifdef GUI_QT @@ -1643,10 +1628,9 @@ } - LIVES_INLINE boolean lives_window_set_screen(LiVESWindow *window, LiVESXScreen *screen) { #ifdef GUI_GTK - gtk_window_set_screen(window,screen); + gtk_window_set_screen(window, screen); return TRUE; #endif #ifdef GUI_QT @@ -1663,12 +1647,12 @@ LIVES_INLINE boolean lives_window_set_default_size(LiVESWindow *window, int width, int height) { #ifdef GUI_GTK - gtk_window_set_default_size(window,width,height); + gtk_window_set_default_size(window, width, height); return TRUE; #endif #ifdef GUI_QT if (LIVES_IS_WINDOW(window)) { - window->resize(width,height); + window->resize(width, height); } return TRUE; #endif @@ -1689,7 +1673,7 @@ LIVES_INLINE boolean lives_window_move(LiVESWindow *window, int x, int y) { #ifdef GUI_GTK - gtk_window_move(window,x,y); + gtk_window_move(window, x, y); return TRUE; #endif #ifdef GUI_QT @@ -1707,12 +1691,12 @@ LIVES_INLINE boolean lives_widget_get_position(LiVESWidget *widget, int *x, int *y) { #ifdef GUI_GTK - GdkWindow *window=lives_widget_get_xwindow(widget); - gdk_window_get_position(window,x,y); + GdkWindow *window = lives_widget_get_xwindow(widget); + gdk_window_get_position(window, x, y); return TRUE; #endif #ifdef GUI_QT - QPoint p(0,0); + QPoint p(0, 0); p = widget->mapToGlobal(p); *x = p.x(); *y = p.y(); @@ -1722,10 +1706,9 @@ } - LIVES_INLINE boolean lives_window_get_position(LiVESWindow *window, int *x, int *y) { #ifdef GUI_GTK - gtk_window_get_position(window,x,y); + gtk_window_get_position(window, x, y); return TRUE; #endif #ifdef GUI_QT @@ -1743,7 +1726,7 @@ LIVES_INLINE boolean lives_window_set_position(LiVESWindow *window, LiVESWindowPosition pos) { #ifdef GUI_GTK - gtk_window_set_position(window,pos); + gtk_window_set_position(window, pos); return TRUE; #endif #ifdef GUI_QT @@ -1756,8 +1739,8 @@ LIVES_INLINE boolean lives_window_set_hide_titlebar_when_maximized(LiVESWindow *window, boolean setting) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,4,0) - gtk_window_set_hide_titlebar_when_maximized(window,setting); +#if GTK_CHECK_VERSION(3, 4, 0) + gtk_window_set_hide_titlebar_when_maximized(window, setting); #endif return TRUE; #endif @@ -1770,7 +1753,7 @@ LIVES_INLINE boolean lives_window_resize(LiVESWindow *window, int width, int height) { #ifdef GUI_GTK - gtk_window_resize(window,width,height); + gtk_window_resize(window, width, height); return TRUE; #endif // TODO @@ -1861,10 +1844,18 @@ } +LIVES_INLINE LiVESWidget *lives_window_get_focus(LiVESWindow *window) { +#ifdef GUI_GTK + return gtk_window_get_focus(window); +#endif + return NULL; +} + + LIVES_INLINE LiVESAccelGroup *lives_accel_group_new(void) { - LiVESAccelGroup *group=NULL; + LiVESAccelGroup *group = NULL; #ifdef GUI_GTK - group=gtk_accel_group_new(); + group = gtk_accel_group_new(); #endif #ifdef GUI_QT group = new LiVESAccelGroup; @@ -1873,26 +1864,22 @@ } - LIVES_INLINE boolean lives_accel_group_connect(LiVESAccelGroup *group, uint32_t key, LiVESXModifierType mod, LiVESAccelFlags flags, LiVESWidgetClosure *closure) { - #ifdef GUI_GTK - gtk_accel_group_connect(group,key,mod,flags,closure); + gtk_accel_group_connect(group, key, mod, flags, closure); return TRUE; #endif #ifdef GUI_QT - group->connect(key,mod,flags,closure); + group->connect(key, mod, flags, closure); return FALSE; #endif } - LIVES_INLINE boolean lives_accel_group_disconnect(LiVESAccelGroup *group, LiVESWidgetClosure *closure) { - #ifdef GUI_GTK - gtk_accel_group_disconnect(group,closure); + gtk_accel_group_disconnect(group, closure); return TRUE; #endif #ifdef GUI_QT @@ -1903,26 +1890,23 @@ } - - LIVES_INLINE boolean lives_widget_add_accelerator(LiVESWidget *widget, const char *accel_signal, LiVESAccelGroup *accel_group, uint32_t accel_key, LiVESXModifierType accel_mods, LiVESAccelFlags accel_flags) { #ifdef GUI_GTK - gtk_widget_add_accelerator(widget,accel_signal,accel_group,accel_key,accel_mods,accel_flags); + gtk_widget_add_accelerator(widget, accel_signal, accel_group, accel_key, accel_mods, accel_flags); return TRUE; #endif #ifdef GUI_QT - widget->add_accel(accel_signal,accel_group,accel_key,accel_mods,accel_flags); + widget->add_accel(accel_signal, accel_group, accel_key, accel_mods, accel_flags); return TRUE; #endif return FALSE; } - LIVES_INLINE boolean lives_window_add_accel_group(LiVESWindow *window, LiVESAccelGroup *group) { #ifdef GUI_GTK - gtk_window_add_accel_group(window,group); + gtk_window_add_accel_group(window, group); return TRUE; #endif #ifdef GUI_QT @@ -1933,9 +1917,17 @@ } +LIVES_INLINE boolean lives_widget_has_focus(LiVESWidget *widget) { +#ifdef GUI_GTK + return gtk_widget_has_focus(widget); +#endif + return FALSE; +} + + LIVES_INLINE boolean lives_window_remove_accel_group(LiVESWindow *window, LiVESAccelGroup *group) { #ifdef GUI_GTK - gtk_window_remove_accel_group(window,group); + gtk_window_remove_accel_group(window, group); return TRUE; #endif #ifdef GUI_QT @@ -1948,7 +1940,7 @@ LIVES_INLINE boolean lives_menu_set_accel_group(LiVESMenu *menu, LiVESAccelGroup *group) { #ifdef GUI_GTK - gtk_menu_set_accel_group(menu,group); + gtk_menu_set_accel_group(menu, group); return TRUE; #endif #ifdef GUI_QT @@ -1961,7 +1953,7 @@ LIVES_INLINE boolean lives_accel_groups_activate(LiVESObject *object, uint32_t key, LiVESXModifierType mod) { #ifdef GUI_GTK - gtk_accel_groups_activate(object,key,mod); + gtk_accel_groups_activate(object, key, mod); return TRUE; #endif #ifdef GUI_QT @@ -1972,8 +1964,6 @@ } - - LIVES_INLINE boolean lives_window_has_toplevel_focus(LiVESWindow *window) { #ifdef GUI_GTK return gtk_window_has_toplevel_focus(window); @@ -1988,20 +1978,18 @@ } - LIVES_INLINE LiVESPixbuf *lives_pixbuf_new(boolean has_alpha, int width, int height) { - #ifdef GUI_GTK // alpha fmt is RGBA post mult - return gdk_pixbuf_new(GDK_COLORSPACE_RGB,has_alpha,8,width,height); + return gdk_pixbuf_new(GDK_COLORSPACE_RGB, has_alpha, 8, width, height); #endif #ifdef GUI_QT // alpha fmt is ARGB32 premult QImage::Format fmt; - if (!has_alpha) fmt=QImage::Format_RGB888; + if (!has_alpha) fmt = QImage::Format_RGB888; else { - fmt=QImage::Format_ARGB32_Premultiplied; + fmt = QImage::Format_ARGB32_Premultiplied; LIVES_WARN("Image fmt is ARGB pre"); } // on destruct, we need to call lives_free_buffer_fn(uchar *pixels, livespointer destroy_fn_data) @@ -2010,33 +1998,28 @@ } - LIVES_INLINE LiVESPixbuf *lives_pixbuf_new_from_data(const unsigned char *buf, boolean has_alpha, int width, int height, int rowstride, LiVESPixbufDestroyNotify lives_free_buffer_fn, livespointer destroy_fn_data) { - #ifdef GUI_GTK return gdk_pixbuf_new_from_data((const guchar *)buf, GDK_COLORSPACE_RGB, has_alpha, 8, width, height, rowstride, lives_free_buffer_fn, destroy_fn_data); #endif - #ifdef GUI_QT // alpha fmt is ARGB32 premult QImage::Format fmt; - if (!has_alpha) fmt=QImage::Format_RGB888; + if (!has_alpha) fmt = QImage::Format_RGB888; else { - fmt=QImage::Format_ARGB32_Premultiplied; + fmt = QImage::Format_ARGB32_Premultiplied; LIVES_WARN("Image fmt is ARGB pre"); } return new LiVESPixbuf((uchar *)buf, width, height, rowstride, fmt, imclean, (void *)buf); #endif - } - LIVES_INLINE LiVESPixbuf *lives_pixbuf_new_from_file(const char *filename, LiVESError **error) { #ifdef GUI_GTK return gdk_pixbuf_new_from_file(filename, error); @@ -2057,12 +2040,9 @@ } - - LIVES_INLINE LiVESPixbuf *lives_pixbuf_new_from_file_at_scale(const char *filename, int width, int height, boolean preserve_aspect_ratio, LiVESError **error) { - #ifdef GUI_GTK return gdk_pixbuf_new_from_file_at_scale(filename, width, height, preserve_aspect_ratio, error); #endif @@ -2078,7 +2058,7 @@ #endif QImageReader qir; qir.setFileName(qs); - if (!preserve_aspect_ratio) qir.setScaledSize(QSize(width,height)); + if (!preserve_aspect_ratio) qir.setScaledSize(QSize(width, height)); if (!qir.read(&image)) { if (error != NULL) { *error = (LiVESError *)malloc(sizeof(LiVESError)); @@ -2087,8 +2067,8 @@ } return NULL; } - if (preserve_aspect_ratio) asp=Qt::KeepAspectRatio; - else asp=Qt::IgnoreAspectRatio; + if (preserve_aspect_ratio) asp = Qt::KeepAspectRatio; + else asp = Qt::IgnoreAspectRatio; image2 = image.scaled(width, height, asp, Qt::SmoothTransformation); if (image2.isNull()) { LIVES_WARN("QImage not scaled"); @@ -2102,7 +2082,6 @@ } - LIVES_INLINE int lives_pixbuf_get_rowstride(const LiVESPixbuf *pixbuf) { #ifdef GUI_GTK return gdk_pixbuf_get_rowstride(pixbuf); @@ -2142,12 +2121,11 @@ #endif #ifdef GUI_QT - return (dynamic_cast<const QImage *>(pixbuf))->depth()>>3; + return (dynamic_cast<const QImage *>(pixbuf))->depth() >> 3; #endif } - LIVES_INLINE unsigned char *lives_pixbuf_get_pixels(const LiVESPixbuf *pixbuf) { #ifdef GUI_GTK return gdk_pixbuf_get_pixels(pixbuf); @@ -2160,7 +2138,6 @@ LIVES_INLINE const unsigned char *lives_pixbuf_get_pixels_readonly(const LiVESPixbuf *pixbuf) { - #ifdef GUI_GTK return (const guchar *)gdk_pixbuf_get_pixels(pixbuf); #endif @@ -2171,7 +2148,6 @@ } - LIVES_INLINE boolean lives_pixbuf_get_has_alpha(const LiVESPixbuf *pixbuf) { #ifdef GUI_GTK return gdk_pixbuf_get_has_alpha(pixbuf); @@ -2185,12 +2161,10 @@ LIVES_INLINE LiVESPixbuf *lives_pixbuf_scale_simple(const LiVESPixbuf *src, int dest_width, int dest_height, LiVESInterpType interp_type) { - #ifdef GUI_GTK return gdk_pixbuf_scale_simple(src, dest_width, dest_height, interp_type); #endif - #ifdef GUI_QT QImage image = (dynamic_cast<const QImage *>(src))->scaled(dest_width, dest_height, Qt::IgnoreAspectRatio, interp_type); if (image.isNull()) { @@ -2201,11 +2175,10 @@ return new LiVESPixbuf(&image); #endif - } -LIVES_INLINE boolean lives_pixbuf_saturate_and_pixelate(const LiVESPixbuf *src, LiVESPixbuf *dest, float saturation, boolean pixilate) { +LIVES_INLINE boolean lives_pixbuf_saturate_and_pixelate(const LiVESPixbuf *src, LiVESPixbuf *dest, float saturation, boolean pixilate) { #ifdef GUI_GTK gdk_pixbuf_saturate_and_pixelate(src, dest, saturation, pixilate); return TRUE; @@ -2217,20 +2190,18 @@ } - - LIVES_INLINE LiVESAdjustment *lives_adjustment_new(double value, double lower, double upper, double step_increment, double page_increment, double page_size) { - LiVESAdjustment *adj=NULL; + LiVESAdjustment *adj = NULL; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - adj=gtk_adjustment_new(value,lower,upper,step_increment,page_increment,page_size); +#if GTK_CHECK_VERSION(3, 0, 0) + adj = gtk_adjustment_new(value, lower, upper, step_increment, page_increment, page_size); #else - adj=GTK_ADJUSTMENT(gtk_adjustment_new(value,lower,upper,step_increment,page_increment,page_size)); + adj = GTK_ADJUSTMENT(gtk_adjustment_new(value, lower, upper, step_increment, page_increment, page_size)); #endif #endif #ifdef GUI_QT - adj = new LiVESAdjustment(value,lower,upper,step_increment,page_increment,page_size); + adj = new LiVESAdjustment(value, lower, upper, step_increment, page_increment, page_size); #endif return adj; } @@ -2238,7 +2209,7 @@ LIVES_INLINE boolean lives_box_set_homogeneous(LiVESBox *box, boolean homogenous) { #ifdef GUI_GTK - gtk_box_set_homogeneous(box,homogenous); + gtk_box_set_homogeneous(box, homogenous); return TRUE; #endif #ifdef GUI_QT @@ -2250,18 +2221,18 @@ LIVES_INLINE boolean lives_box_reorder_child(LiVESBox *box, LiVESWidget *child, int pos) { #ifdef GUI_GTK - gtk_box_reorder_child(box,child,pos); + gtk_box_reorder_child(box, child, pos); return TRUE; #endif #ifdef GUI_QT if (LIVES_IS_HBOX(box)) { QHBoxLayout *qbox = dynamic_cast<QHBoxLayout *>(box); qbox->removeWidget(child); - qbox->insertWidget(pos,child); + qbox->insertWidget(pos, child); } else { QVBoxLayout *qbox = dynamic_cast<QVBoxLayout *>(box); qbox->removeWidget(child); - qbox->insertWidget(pos,child); + qbox->insertWidget(pos, child); } return TRUE; #endif @@ -2271,7 +2242,7 @@ LIVES_INLINE boolean lives_box_set_spacing(LiVESBox *box, int spacing) { #ifdef GUI_GTK - gtk_box_set_spacing(box,spacing); + gtk_box_set_spacing(box, spacing); return TRUE; #endif #ifdef GUI_QT @@ -2289,13 +2260,13 @@ LIVES_INLINE LiVESWidget *lives_hbox_new(boolean homogeneous, int spacing) { - LiVESWidget *hbox=NULL; + LiVESWidget *hbox = NULL; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - hbox=gtk_box_new(LIVES_ORIENTATION_HORIZONTAL,spacing); - lives_box_set_homogeneous(LIVES_BOX(hbox),homogeneous); +#if GTK_CHECK_VERSION(3, 0, 0) + hbox = gtk_box_new(LIVES_ORIENTATION_HORIZONTAL, spacing); + lives_box_set_homogeneous(LIVES_BOX(hbox), homogeneous); #else - hbox=gtk_hbox_new(homogeneous,spacing); + hbox = gtk_hbox_new(homogeneous, spacing); #endif #endif #ifdef GUI_QT @@ -2308,13 +2279,13 @@ LIVES_INLINE LiVESWidget *lives_vbox_new(boolean homogeneous, int spacing) { - LiVESWidget *vbox=NULL; + LiVESWidget *vbox = NULL; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - vbox=gtk_box_new(LIVES_ORIENTATION_VERTICAL,spacing); - lives_box_set_homogeneous(LIVES_BOX(vbox),homogeneous); +#if GTK_CHECK_VERSION(3, 0, 0) + vbox = gtk_box_new(LIVES_ORIENTATION_VERTICAL, spacing); + lives_box_set_homogeneous(LIVES_BOX(vbox), homogeneous); #else - vbox=gtk_vbox_new(homogeneous,spacing); + vbox = gtk_vbox_new(homogeneous, spacing); #endif #endif #ifdef GUI_QT @@ -2326,10 +2297,9 @@ } - LIVES_INLINE boolean lives_box_pack_start(LiVESBox *box, LiVESWidget *child, boolean expand, boolean fill, uint32_t padding) { #ifdef GUI_GTK - gtk_box_pack_start(box,child,expand,fill,padding); + gtk_box_pack_start(box, child, expand, fill, padding); return TRUE; #endif #ifdef GUI_QT @@ -2341,16 +2311,16 @@ } else if (dir == QBoxLayout::RightToLeft) { qbox->setDirection(QBoxLayout::LeftToRight); } - if (fill) child->setSizePolicy(QSizePolicy::MinimumExpanding,QSizePolicy::Preferred); - qbox->insertWidget(0,child,expand?100:0,fill?(Qt::Alignment)0:Qt::AlignHCenter); + if (fill) child->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred); + qbox->insertWidget(0, child, expand ? 100 : 0, fill ? (Qt::Alignment)0 : Qt::AlignHCenter); qbox->setDirection(dir); } else { QVBoxLayout *qbox = dynamic_cast<QVBoxLayout *>(box); QBoxLayout::Direction dir = qbox->direction(); if (dir == QBoxLayout::TopToBottom) qbox->setDirection(QBoxLayout::BottomToTop); else qbox->setDirection(QBoxLayout::TopToBottom); - if (fill) child->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::MinimumExpanding); - qbox->insertWidget(0,child,expand?100:0,fill?(Qt::Alignment)0:Qt::AlignVCenter); + if (fill) child->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::MinimumExpanding); + qbox->insertWidget(0, child, expand ? 100 : 0, fill ? (Qt::Alignment)0 : Qt::AlignVCenter); qbox->setDirection(dir); } box->add_child(child); @@ -2360,21 +2330,20 @@ } - LIVES_INLINE boolean lives_box_pack_end(LiVESBox *box, LiVESWidget *child, boolean expand, boolean fill, uint32_t padding) { #ifdef GUI_GTK - gtk_box_pack_end(box,child,expand,fill,padding); + gtk_box_pack_end(box, child, expand, fill, padding); return TRUE; #endif #ifdef GUI_QT if (LIVES_IS_HBOX(box)) { QHBoxLayout *qbox = dynamic_cast<QHBoxLayout *>(box); - if (fill) child->setSizePolicy(QSizePolicy::MinimumExpanding,QSizePolicy::Preferred); - qbox->insertWidget(0,child,expand?100:0,fill?(Qt::Alignment)0:Qt::AlignHCenter); + if (fill) child->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred); + qbox->insertWidget(0, child, expand ? 100 : 0, fill ? (Qt::Alignment)0 : Qt::AlignHCenter); } else { QVBoxLayout *qbox = dynamic_cast<QVBoxLayout *>(box); - if (fill) child->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::MinimumExpanding); - qbox->insertWidget(0,child,expand?100:0,fill?(Qt::Alignment)0:Qt::AlignVCenter); + if (fill) child->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::MinimumExpanding); + qbox->insertWidget(0, child, expand ? 100 : 0, fill ? (Qt::Alignment)0 : Qt::AlignVCenter); } box->add_child(child); return TRUE; @@ -2383,15 +2352,13 @@ } - - LIVES_INLINE LiVESWidget *lives_hseparator_new(void) { - LiVESWidget *hsep=NULL; + LiVESWidget *hsep = NULL; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - hsep=gtk_separator_new(LIVES_ORIENTATION_HORIZONTAL); +#if GTK_CHECK_VERSION(3, 0, 0) + hsep = gtk_separator_new(LIVES_ORIENTATION_HORIZONTAL); #else - hsep=gtk_hseparator_new(); + hsep = gtk_hseparator_new(); #endif #endif #ifdef GUI_QT @@ -2402,12 +2369,12 @@ LIVES_INLINE LiVESWidget *lives_vseparator_new(void) { - LiVESWidget *vsep=NULL; + LiVESWidget *vsep = NULL; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - vsep=gtk_separator_new(LIVES_ORIENTATION_VERTICAL); +#if GTK_CHECK_VERSION(3, 0, 0) + vsep = gtk_separator_new(LIVES_ORIENTATION_VERTICAL); #else - vsep=gtk_vseparator_new(); + vsep = gtk_vseparator_new(); #endif #endif #ifdef GUI_QT @@ -2418,12 +2385,12 @@ LIVES_INLINE LiVESWidget *lives_hbutton_box_new(void) { - LiVESWidget *bbox=NULL; + LiVESWidget *bbox = NULL; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - bbox=gtk_button_box_new(LIVES_ORIENTATION_HORIZONTAL); +#if GTK_CHECK_VERSION(3, 0, 0) + bbox = gtk_button_box_new(LIVES_ORIENTATION_HORIZONTAL); #else - bbox=gtk_hbutton_box_new(); + bbox = gtk_hbutton_box_new(); #endif #ifdef GUI_QT bbox = new LiVESButtonBox(LIVES_ORIENTATION_HORIZONTAL); @@ -2434,12 +2401,12 @@ LIVES_INLINE LiVESWidget *lives_vbutton_box_new(void) { - LiVESWidget *bbox=NULL; + LiVESWidget *bbox = NULL; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - bbox=gtk_button_box_new(LIVES_ORIENTATION_VERTICAL); +#if GTK_CHECK_VERSION(3, 0, 0) + bbox = gtk_button_box_new(LIVES_ORIENTATION_VERTICAL); #else - bbox=gtk_vbutton_box_new(); + bbox = gtk_vbutton_box_new(); #endif #ifdef GUI_QT bbox = new LiVESButtonBox(LIVES_ORIENTATION_VERTICAL); @@ -2449,13 +2416,12 @@ } - LIVES_INLINE boolean lives_button_box_set_layout(LiVESButtonBox *bbox, LiVESButtonBoxStyle bstyle) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) return FALSE; #endif - gtk_button_box_set_layout(bbox,bstyle); + gtk_button_box_set_layout(bbox, bstyle); return TRUE; #ifdef GUI_QT if (bstyle == LIVES_BUTTONBOX_CENTER) { @@ -2469,15 +2435,13 @@ } - - LIVES_INLINE LiVESWidget *lives_hscale_new(LiVESAdjustment *adj) { - LiVESWidget *hscale=NULL; + LiVESWidget *hscale = NULL; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - hscale=gtk_scale_new(LIVES_ORIENTATION_HORIZONTAL,adj); +#if GTK_CHECK_VERSION(3, 0, 0) + hscale = gtk_scale_new(LIVES_ORIENTATION_HORIZONTAL, adj); #else - hscale=gtk_hscale_new(adj); + hscale = gtk_hscale_new(adj); #endif #endif #ifdef GUI_QT @@ -2488,12 +2452,12 @@ LIVES_INLINE LiVESWidget *lives_vscale_new(LiVESAdjustment *adj) { - LiVESWidget *vscale=NULL; + LiVESWidget *vscale = NULL; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - vscale=gtk_scale_new(LIVES_ORIENTATION_VERTICAL,adj); +#if GTK_CHECK_VERSION(3, 0, 0) + vscale = gtk_scale_new(LIVES_ORIENTATION_VERTICAL, adj); #else - vscale=gtk_vscale_new(adj); + vscale = gtk_vscale_new(adj); #endif #endif #ifdef GUI_QT @@ -2504,12 +2468,12 @@ LIVES_INLINE LiVESWidget *lives_hpaned_new(void) { - LiVESWidget *hpaned=NULL; + LiVESWidget *hpaned = NULL; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - hpaned=gtk_paned_new(LIVES_ORIENTATION_HORIZONTAL); +#if GTK_CHECK_VERSION(3, 0, 0) + hpaned = gtk_paned_new(LIVES_ORIENTATION_HORIZONTAL); #else - hpaned=gtk_hpaned_new(); + hpaned = gtk_hpaned_new(); #endif #endif #ifdef GUI_QT @@ -2522,12 +2486,12 @@ LIVES_INLINE LiVESWidget *lives_vpaned_new(void) { - LiVESWidget *vpaned=NULL; + LiVESWidget *vpaned = NULL; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - vpaned=gtk_paned_new(LIVES_ORIENTATION_VERTICAL); +#if GTK_CHECK_VERSION(3, 0, 0) + vpaned = gtk_paned_new(LIVES_ORIENTATION_VERTICAL); #else - vpaned=gtk_vpaned_new(); + vpaned = gtk_vpaned_new(); #endif #endif #ifdef GUI_QT @@ -2540,12 +2504,12 @@ LIVES_INLINE LiVESWidget *lives_hscrollbar_new(LiVESAdjustment *adj) { - LiVESWidget *hscrollbar=NULL; + LiVESWidget *hscrollbar = NULL; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - hscrollbar=gtk_scrollbar_new(LIVES_ORIENTATION_HORIZONTAL,adj); +#if GTK_CHECK_VERSION(3, 0, 0) + hscrollbar = gtk_scrollbar_new(LIVES_ORIENTATION_HORIZONTAL, adj); #else - hscrollbar=gtk_hscrollbar_new(adj); + hscrollbar = gtk_hscrollbar_new(adj); #endif #endif #ifdef GUI_QT @@ -2556,12 +2520,12 @@ LIVES_INLINE LiVESWidget *lives_vscrollbar_new(LiVESAdjustment *adj) { - LiVESWidget *vscrollbar=NULL; + LiVESWidget *vscrollbar = NULL; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - vscrollbar=gtk_scrollbar_new(LIVES_ORIENTATION_VERTICAL,adj); +#if GTK_CHECK_VERSION(3, 0, 0) + vscrollbar = gtk_scrollbar_new(LIVES_ORIENTATION_VERTICAL, adj); #else - vscrollbar=gtk_vscrollbar_new(adj); + vscrollbar = gtk_vscrollbar_new(adj); #endif #endif #ifdef GUI_QT @@ -2572,9 +2536,9 @@ LIVES_INLINE LiVESWidget *lives_label_new(const char *text) { - LiVESWidget *label=NULL; + LiVESWidget *label = NULL; #ifdef GUI_GTK - label=gtk_label_new(text); + label = gtk_label_new(text); gtk_label_set_justify(LIVES_LABEL(label), widget_opts.justify); gtk_label_set_line_wrap(LIVES_LABEL(label), widget_opts.line_wrap); #endif @@ -2591,34 +2555,34 @@ LIVES_INLINE LiVESWidget *lives_arrow_new(LiVESArrowType arrow_type, LiVESShadowType shadow_type) { - LiVESWidget *arrow=NULL; + LiVESWidget *arrow = NULL; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,12,0) +#if GTK_CHECK_VERSION(3, 12, 0) const char *format = "<b>%s</b>"; char *markup; char *str; switch (arrow_type) { case LIVES_ARROW_DOWN: - str="v"; + str = "v"; break; case LIVES_ARROW_LEFT: - str="<"; + str = "<"; break; case LIVES_ARROW_RIGHT: - str=">"; + str = ">"; break; default: return arrow; } - arrow=gtk_label_new(""); + arrow = gtk_label_new(""); markup = g_markup_printf_escaped(format, str); gtk_label_set_markup(GTK_LABEL(arrow), markup); g_free(markup); #else - arrow=gtk_arrow_new(arrow_type,shadow_type); + arrow = gtk_arrow_new(arrow_type, shadow_type); #endif #endif #ifdef GUI_QT @@ -2633,23 +2597,23 @@ LIVES_INLINE LiVESWidget *lives_alignment_new(float xalign, float yalign, float xscale, float yscale) { - LiVESWidget *alignment=NULL; + LiVESWidget *alignment = NULL; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - alignment=gtk_frame_new(NULL); +#if GTK_CHECK_VERSION(3, 0, 0) + alignment = gtk_frame_new(NULL); gtk_frame_set_shadow_type(LIVES_FRAME(alignment), GTK_SHADOW_NONE); - if (xalign==0.5) gtk_widget_set_halign(alignment,GTK_ALIGN_CENTER); - if (xalign==0.&&xscale==1.) gtk_widget_set_halign(alignment,GTK_ALIGN_FILL); - if (xalign==0.&&xscale==0.) gtk_widget_set_halign(alignment,GTK_ALIGN_START); - if (yalign==0.5) gtk_widget_set_valign(alignment,GTK_ALIGN_CENTER); - if (yalign==0.&&yscale==1.) gtk_widget_set_valign(alignment,GTK_ALIGN_FILL); - if (yalign==0.&&yscale==0.) gtk_widget_set_valign(alignment,GTK_ALIGN_START); + if (xalign == 0.5) gtk_widget_set_halign(alignment, GTK_ALIGN_CENTER); + if (xalign == 0. && xscale == 1.) gtk_widget_set_halign(alignment, GTK_ALIGN_FILL); + if (xalign == 0. && xscale == 0.) gtk_widget_set_halign(alignment, GTK_ALIGN_START); + if (yalign == 0.5) gtk_widget_set_valign(alignment, GTK_ALIGN_CENTER); + if (yalign == 0. && yscale == 1.) gtk_widget_set_valign(alignment, GTK_ALIGN_FILL); + if (yalign == 0. && yscale == 0.) gtk_widget_set_valign(alignment, GTK_ALIGN_START); #else - alignment=gtk_alignment_new(xalign,yalign,xscale,yscale); + alignment = gtk_alignment_new(xalign, yalign, xscale, yscale); #endif #endif #ifdef GUI_QT - alignment = new LiVESAlignment(xalign,yalign,xscale,yscale); + alignment = new LiVESAlignment(xalign, yalign, xscale, yscale); #endif return alignment; } @@ -2657,20 +2621,20 @@ LIVES_INLINE boolean lives_alignment_set(LiVESAlignment *alignment, float xalign, float yalign, float xscale, float yscale) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - if (xalign==0.5) gtk_widget_set_halign((GtkWidget *)alignment,GTK_ALIGN_CENTER); - if (xalign==0.&&xscale==1.) gtk_widget_set_halign((GtkWidget *)alignment,GTK_ALIGN_FILL); - if (xalign==0.&&xscale==0.) gtk_widget_set_halign((GtkWidget *)alignment,GTK_ALIGN_START); - if (yalign==0.5) gtk_widget_set_valign((GtkWidget *)alignment,GTK_ALIGN_CENTER); - if (yalign==0.&&yscale==1.) gtk_widget_set_valign((GtkWidget *)alignment,GTK_ALIGN_FILL); - if (yalign==0.&&yscale==0.) gtk_widget_set_valign((GtkWidget *)alignment,GTK_ALIGN_START); +#if GTK_CHECK_VERSION(3, 0, 0) + if (xalign == 0.5) gtk_widget_set_halign((GtkWidget *)alignment, GTK_ALIGN_CENTER); + if (xalign == 0. && xscale == 1.) gtk_widget_set_halign((GtkWidget *)alignment, GTK_ALIGN_FILL); + if (xalign == 0. && xscale == 0.) gtk_widget_set_halign((GtkWidget *)alignment, GTK_ALIGN_START); + if (yalign == 0.5) gtk_widget_set_valign((GtkWidget *)alignment, GTK_ALIGN_CENTER); + if (yalign == 0. && yscale == 1.) gtk_widget_set_valign((GtkWidget *)alignment, GTK_ALIGN_FILL); + if (yalign == 0. && yscale == 0.) gtk_widget_set_valign((GtkWidget *)alignment, GTK_ALIGN_START); #else - gtk_alignment_set(alignment,xalign,yalign,xscale,yscale); + gtk_alignment_set(alignment, xalign, yalign, xscale, yscale); return TRUE; #endif #endif #ifdef GUI_QT - alignment->set_alignment(xalign,yalign,xscale,yscale); + alignment->set_alignment(xalign, yalign, xscale, yscale); return TRUE; #endif return FALSE; @@ -2678,48 +2642,53 @@ LIVES_INLINE LiVESWidget *lives_expander_new_with_mnemonic(const char *label) { - LiVESWidget *expander=NULL; + LiVESWidget *expander = NULL; #ifdef GUI_GTK - expander=gtk_expander_new_with_mnemonic(label); -#if GTK_CHECK_VERSION(3,2,0) - gtk_expander_set_resize_toplevel(GTK_EXPANDER(expander),TRUE); + expander = gtk_expander_new_with_mnemonic(label); +#if GTK_CHECK_VERSION(3, 2, 0) + gtk_expander_set_resize_toplevel(GTK_EXPANDER(expander), TRUE); #endif #endif return expander; } - LIVES_INLINE LiVESWidget *lives_expander_new(const char *label) { - LiVESWidget *expander=NULL; + LiVESWidget *expander = NULL; #ifdef GUI_GTK - expander=gtk_expander_new(label); -#if GTK_CHECK_VERSION(3,2,0) - gtk_expander_set_resize_toplevel(GTK_EXPANDER(expander),TRUE); + expander = gtk_expander_new(label); +#if GTK_CHECK_VERSION(3, 2, 0) + gtk_expander_set_resize_toplevel(GTK_EXPANDER(expander), TRUE); #endif #endif return expander; } - LIVES_INLINE LiVESWidget *lives_expander_get_label_widget(LiVESExpander *expander) { - LiVESWidget *widget=NULL; + LiVESWidget *widget = NULL; #ifdef GUI_GTK - widget=gtk_expander_get_label_widget(expander); + widget = gtk_expander_get_label_widget(expander); #endif return widget; } +LIVES_INLINE boolean lives_label_set_width_chars(LiVESLabel *label, int nchars) { +#ifdef GUI_GTK + gtk_label_set_width_chars(label, nchars); + return TRUE; +#endif + return FALSE; +} LIVES_INLINE boolean lives_label_set_halignment(LiVESLabel *label, float xalign) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,16,0) - gtk_label_set_xalign(label,xalign); +#if GTK_CHECK_VERSION(3, 16, 0) + gtk_label_set_xalign(label, xalign); #else - gtk_misc_set_alignment(GTK_MISC(label),0.,xalign); + gtk_misc_set_alignment(GTK_MISC(label), 0., xalign); #endif return TRUE; #endif @@ -2733,9 +2702,9 @@ LIVES_INLINE LiVESWidget *lives_combo_new(void) { - LiVESWidget *combo=NULL; + LiVESWidget *combo = NULL; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,24,0) +#if GTK_CHECK_VERSION(2, 24, 0) combo = gtk_combo_box_text_new_with_entry(); #else combo = gtk_combo_box_entry_new_text(); @@ -2749,13 +2718,13 @@ LIVES_INLINE LiVESWidget *lives_combo_new_with_model(LiVESTreeModel *model) { - LiVESWidget *combo=NULL; + LiVESWidget *combo = NULL; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,24,0) +#if GTK_CHECK_VERSION(2, 24, 0) combo = gtk_combo_box_new_with_model_and_entry(model); #else combo = gtk_combo_box_entry_new(); - gtk_combo_box_set_model(GTK_COMBO_BOX(combo),model); + gtk_combo_box_set_model(GTK_COMBO_BOX(combo), model); #endif #endif #ifdef GUI_QT @@ -2765,14 +2734,13 @@ if (model->get_qtree_widget() != NULL) qcombo->setView(model->get_qtree_widget()); #endif return combo; - } LIVES_INLINE LiVESTreeModel *lives_combo_get_model(LiVESCombo *combo) { - LiVESTreeModel *model=NULL; + LiVESTreeModel *model = NULL; #ifdef GUI_GTK - model=gtk_combo_box_get_model(combo); + model = gtk_combo_box_get_model(combo); #endif #ifdef GUI_QT QAbstractItemModel *qqmodel = (static_cast<QComboBox *>(combo))->model(); @@ -2788,13 +2756,12 @@ } - LIVES_INLINE boolean lives_combo_append_text(LiVESCombo *combo, const char *text) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,24,0) - gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo),text); +#if GTK_CHECK_VERSION(2, 24, 0) + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), text); #else - gtk_combo_box_append_text(GTK_COMBO_BOX(combo),text); + gtk_combo_box_append_text(GTK_COMBO_BOX(combo), text); #endif return TRUE; #endif @@ -2807,14 +2774,13 @@ } - static boolean lives_combo_remove_all_text(LiVESCombo *combo) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(combo)); #else - register int count = lives_tree_model_iter_n_children(lives_combo_get_model(combo),NULL); - while (count-- > 0) gtk_combo_box_remove_text(combo,0); + register int count = lives_tree_model_iter_n_children(lives_combo_get_model(combo), NULL); + while (count-- > 0) gtk_combo_box_remove_text(combo, 0); #endif return TRUE; #endif @@ -2826,14 +2792,12 @@ } - - LIVES_INLINE boolean lives_combo_set_entry_text_column(LiVESCombo *combo, int column) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,24,0) - gtk_combo_box_set_entry_text_column(GTK_COMBO_BOX(combo),column); +#if GTK_CHECK_VERSION(2, 24, 0) + gtk_combo_box_set_entry_text_column(GTK_COMBO_BOX(combo), column); #else - gtk_combo_box_entry_set_text_column(GTK_COMBO_BOX_ENTRY(combo),column); + gtk_combo_box_entry_set_text_column(GTK_COMBO_BOX_ENTRY(combo), column); #endif return TRUE; #endif @@ -2848,7 +2812,7 @@ LIVES_INLINE char *lives_combo_get_active_text(LiVESCombo *combo) { // return value should be freed #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,24,0) +#if GTK_CHECK_VERSION(2, 24, 0) return gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(combo)); #else return gtk_combo_box_get_active_text(GTK_COMBO_BOX(combo)); @@ -2863,7 +2827,7 @@ LIVES_INLINE boolean lives_combo_set_active_index(LiVESCombo *combo, int index) { #ifdef GUI_GTK - gtk_combo_box_set_active(combo,index); + gtk_combo_box_set_active(combo, index); return TRUE; #endif #ifdef GUI_QT @@ -2876,7 +2840,7 @@ LIVES_INLINE boolean lives_combo_set_active_iter(LiVESCombo *combo, LiVESTreeIter *iter) { #ifdef GUI_GTK - gtk_combo_box_set_active_iter(combo,iter); + gtk_combo_box_set_active_iter(combo, iter); return TRUE; #endif #ifdef GUI_QT @@ -2888,13 +2852,12 @@ return TRUE; #endif return FALSE; - } LIVES_INLINE boolean lives_combo_get_active_iter(LiVESCombo *combo, LiVESTreeIter *iter) { #ifdef GUI_GTK - return gtk_combo_box_get_active_iter(combo,iter); + return gtk_combo_box_get_active_iter(combo, iter); #endif #ifdef GUI_QT LiVESTreeModel *model = lives_combo_get_model(combo); @@ -2922,11 +2885,10 @@ } - LIVES_INLINE LiVESWidget *lives_text_view_new(void) { - LiVESWidget *tview=NULL; + LiVESWidget *tview = NULL; #ifdef GUI_GTK - tview=gtk_text_view_new(); + tview = gtk_text_view_new(); #endif #ifdef GUI_QT tview = new LiVESTextView; @@ -2935,11 +2897,10 @@ } - LIVES_INLINE LiVESWidget *lives_text_view_new_with_buffer(LiVESTextBuffer *tbuff) { - LiVESWidget *tview=NULL; + LiVESWidget *tview = NULL; #ifdef GUI_GTK - tview=gtk_text_view_new_with_buffer(tbuff); + tview = gtk_text_view_new_with_buffer(tbuff); #endif #ifdef GUI_QT tview = new LiVESTextView(tbuff); @@ -2949,9 +2910,9 @@ LIVES_INLINE LiVESTextBuffer *lives_text_view_get_buffer(LiVESTextView *tview) { - LiVESTextBuffer *tbuff=NULL; + LiVESTextBuffer *tbuff = NULL; #ifdef GUI_GTK - tbuff=gtk_text_view_get_buffer(tview); + tbuff = gtk_text_view_get_buffer(tview); #endif #ifdef GUI_QT tbuff = tview->get_buffer(); @@ -2973,7 +2934,6 @@ } - LIVES_INLINE boolean lives_text_view_set_accepts_tab(LiVESTextView *tview, boolean setting) { #ifdef GUI_GTK gtk_text_view_set_accepts_tab(tview, setting); @@ -3001,7 +2961,6 @@ } - LIVES_INLINE boolean lives_text_view_set_wrap_mode(LiVESTextView *tview, LiVESWrapMode wrapmode) { #ifdef GUI_GTK gtk_text_view_set_wrap_mode(tview, wrapmode); @@ -3016,7 +2975,6 @@ } - LIVES_INLINE boolean lives_text_view_set_justification(LiVESTextView *tview, LiVESJustification justify) { #ifdef GUI_GTK gtk_text_view_set_justification(tview, justify); @@ -3044,11 +3002,10 @@ } - LIVES_INLINE LiVESTextBuffer *lives_text_buffer_new(void) { - LiVESTextBuffer *tbuff=NULL; + LiVESTextBuffer *tbuff = NULL; #ifdef GUI_GTK - tbuff=gtk_text_buffer_new(NULL); + tbuff = gtk_text_buffer_new(NULL); #endif #ifdef GUI_QT tbuff = new LiVESTextBuffer; @@ -3057,7 +3014,6 @@ } - LIVES_INLINE boolean lives_text_buffer_insert(LiVESTextBuffer *tbuff, LiVESTextIter *iter, const char *text, int len) { #ifdef GUI_GTK gtk_text_buffer_insert(tbuff, iter, text, len); @@ -3087,7 +3043,6 @@ } - LIVES_INLINE boolean lives_text_buffer_set_text(LiVESTextBuffer *tbuff, const char *text, int len) { #ifdef GUI_GTK gtk_text_buffer_set_text(tbuff, text, len); @@ -3103,7 +3058,7 @@ LIVES_INLINE char *lives_text_buffer_get_text(LiVESTextBuffer *tbuff, LiVESTextIter *start, LiVESTextIter *end, boolean inc_hidden_chars) { #ifdef GUI_GTK - return gtk_text_buffer_get_text(tbuff,start,end,inc_hidden_chars); + return gtk_text_buffer_get_text(tbuff, start, end, inc_hidden_chars); #endif #ifdef GUI_QT QTextCursor qtc = QTextCursor(tbuff); @@ -3141,7 +3096,6 @@ } - LIVES_INLINE boolean lives_text_buffer_place_cursor(LiVESTextBuffer *tbuff, LiVESTextIter *iter) { #ifdef GUI_GTK gtk_text_buffer_place_cursor(tbuff, iter); @@ -3155,22 +3109,19 @@ } - - LIVES_INLINE LiVESTextMark *lives_text_buffer_create_mark(LiVESTextBuffer *tbuff, const char *mark_name, const LiVESTextIter *where, boolean left_gravity) { LiVESTextMark *tmark; #ifdef GUI_GTK - tmark=gtk_text_buffer_create_mark(tbuff, mark_name, where, left_gravity); + tmark = gtk_text_buffer_create_mark(tbuff, mark_name, where, left_gravity); #endif #ifdef GUI_QT - tmark = new LiVESTextMark(tbuff,mark_name,*where,left_gravity); + tmark = new LiVESTextMark(tbuff, mark_name, *where, left_gravity); #endif return tmark; } - LIVES_INLINE boolean lives_text_buffer_delete_mark(LiVESTextBuffer *tbuff, LiVESTextMark *mark) { #ifdef GUI_GTK gtk_text_buffer_delete_mark(tbuff, mark); @@ -3184,7 +3135,6 @@ } - LIVES_INLINE boolean lives_text_buffer_delete(LiVESTextBuffer *tbuff, LiVESTextIter *start, LiVESTextIter *end) { #ifdef GUI_GTK gtk_text_buffer_delete(tbuff, start, end); @@ -3201,7 +3151,6 @@ } - LIVES_INLINE boolean lives_text_buffer_get_iter_at_mark(LiVESTextBuffer *tbuff, LiVESTextIter *iter, LiVESTextMark *mark) { #ifdef GUI_GTK gtk_text_buffer_get_iter_at_mark(tbuff, iter, mark); @@ -3216,9 +3165,9 @@ LIVES_INLINE LiVESWidget *lives_dialog_new(void) { - LiVESWidget *dialog=NULL; + LiVESWidget *dialog = NULL; #ifdef GUI_GTK - dialog=gtk_dialog_new(); + dialog = gtk_dialog_new(); #endif #ifdef GUI_QT dialog = new LiVESDialog(); @@ -3228,10 +3177,10 @@ LIVES_INLINE LiVESWidget *lives_button_new(void) { - LiVESWidget *button=NULL; + LiVESWidget *button = NULL; #ifdef GUI_GTK - button=gtk_button_new(); - gtk_button_set_use_underline(GTK_BUTTON(button),TRUE); + button = gtk_button_new(); + gtk_button_set_use_underline(GTK_BUTTON(button), TRUE); #endif #ifdef GUI_QT button = new LiVESButton; @@ -3241,14 +3190,14 @@ LIVES_INLINE LiVESWidget *lives_button_new_with_mnemonic(const char *label) { - LiVESWidget *button=NULL; + LiVESWidget *button = NULL; #ifdef GUI_GTK - button=gtk_button_new_with_mnemonic(label); + button = gtk_button_new_with_mnemonic(label); #endif #ifdef GUI_QT QString qlabel = QString::fromUtf8(label); - qlabel = qlabel.replace('&',"&&"); - qlabel = qlabel.replace('_','&'); + qlabel = qlabel.replace('&', "&&"); + qlabel = qlabel.replace('_', '&'); button = new LiVESButton(qlabel); #endif return button; @@ -3256,9 +3205,9 @@ LIVES_INLINE LiVESWidget *lives_button_new_with_label(const char *label) { - LiVESWidget *button=NULL; + LiVESWidget *button = NULL; #ifdef GUI_GTK - button=gtk_button_new_with_label(label); + button = gtk_button_new_with_label(label); #endif #ifdef GUI_QT QString qlabel = QString::fromUtf8(label); @@ -3269,69 +3218,69 @@ LIVES_INLINE LiVESWidget *lives_button_new_from_stock(const char *stock_id, const char *label) { - LiVESWidget *button=NULL; + LiVESWidget *button = NULL; -#if GTK_CHECK_VERSION(3,10,0) || defined GUI_QT - if (!strcmp(stock_id,LIVES_STOCK_LABEL_CANCEL)) stock_id=LIVES_STOCK_CANCEL; - if (!strcmp(stock_id,LIVES_STOCK_LABEL_OK)) stock_id=LIVES_STOCK_OK; +#if GTK_CHECK_VERSION(3, 10, 0) || defined GUI_QT + if (!strcmp(stock_id, LIVES_STOCK_LABEL_CANCEL)) stock_id = LIVES_STOCK_CANCEL; + if (!strcmp(stock_id, LIVES_STOCK_LABEL_OK)) stock_id = LIVES_STOCK_OK; // gtk 3.10 + -> we need to set the text ourselves - if (!strcmp(stock_id,LIVES_STOCK_NO)) stock_id="gtk-no"; - if (!strcmp(stock_id,LIVES_STOCK_APPLY)) { - button=lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_APPLY); - } else if (!strcmp(stock_id,LIVES_STOCK_OK)) { - button=lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_OK); - } else if (!strcmp(stock_id,LIVES_STOCK_CANCEL)) { - button=lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_CANCEL); - } else if (!strcmp(stock_id,LIVES_STOCK_YES)) { - button=lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_YES); - } else if (!strcmp(stock_id,"gtk-no")) { - button=lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_NO); - } else if (!strcmp(stock_id,LIVES_STOCK_CLOSE)) { - button=lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_CLOSE); - } else if (!strcmp(stock_id,LIVES_STOCK_REVERT_TO_SAVED)) { - button=lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_REVERT); - } else if (!strcmp(stock_id,LIVES_STOCK_REFRESH)) { - button=lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_REFRESH); - } else if (!strcmp(stock_id,LIVES_STOCK_DELETE)) { - button=lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_DELETE); - } else if (!strcmp(stock_id,LIVES_STOCK_SAVE)) { - button=lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_SAVE); - } else if (!strcmp(stock_id,LIVES_STOCK_SAVE_AS)) { - button=lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_SAVE_AS); - } else if (!strcmp(stock_id,LIVES_STOCK_OPEN)) { - button=lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_OPEN); - } else if (!strcmp(stock_id,LIVES_STOCK_QUIT)) { - button=lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_QUIT); - } else if (!strcmp(stock_id,LIVES_STOCK_GO_FORWARD)) { - button=lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_GO_FORWARD); - } else if (!strcmp(stock_id,LIVES_STOCK_MEDIA_FORWARD)) { - button=lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_MEDIA_FORWARD); - } else if (!strcmp(stock_id,LIVES_STOCK_MEDIA_REWIND)) { - button=lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_MEDIA_REWIND); - } else if (!strcmp(stock_id,LIVES_STOCK_MEDIA_STOP)) { - button=lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_MEDIA_STOP); - } else if (!strcmp(stock_id,LIVES_STOCK_MEDIA_PLAY)) { - button=lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_MEDIA_PLAY); - } else if (!strcmp(stock_id,LIVES_STOCK_MEDIA_PAUSE)) { - button=lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_MEDIA_PAUSE); - } else if (!strcmp(stock_id,LIVES_STOCK_MEDIA_RECORD)) { - button=lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_MEDIA_RECORD); + if (!strcmp(stock_id, LIVES_STOCK_NO)) stock_id = "gtk-no"; + if (!strcmp(stock_id, LIVES_STOCK_APPLY)) { + button = lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_APPLY); + } else if (!strcmp(stock_id, LIVES_STOCK_OK)) { + button = lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_OK); + } else if (!strcmp(stock_id, LIVES_STOCK_CANCEL)) { + button = lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_CANCEL); + } else if (!strcmp(stock_id, LIVES_STOCK_YES)) { + button = lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_YES); + } else if (!strcmp(stock_id, "gtk-no")) { + button = lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_NO); + } else if (!strcmp(stock_id, LIVES_STOCK_CLOSE)) { + button = lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_CLOSE); + } else if (!strcmp(stock_id, LIVES_STOCK_REVERT_TO_SAVED)) { + button = lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_REVERT); + } else if (!strcmp(stock_id, LIVES_STOCK_REFRESH)) { + button = lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_REFRESH); + } else if (!strcmp(stock_id, LIVES_STOCK_DELETE)) { + button = lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_DELETE); + } else if (!strcmp(stock_id, LIVES_STOCK_SAVE)) { + button = lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_SAVE); + } else if (!strcmp(stock_id, LIVES_STOCK_SAVE_AS)) { + button = lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_SAVE_AS); + } else if (!strcmp(stock_id, LIVES_STOCK_OPEN)) { + button = lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_OPEN); + } else if (!strcmp(stock_id, LIVES_STOCK_QUIT)) { + button = lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_QUIT); + } else if (!strcmp(stock_id, LIVES_STOCK_GO_FORWARD)) { + button = lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_GO_FORWARD); + } else if (!strcmp(stock_id, LIVES_STOCK_MEDIA_FORWARD)) { + button = lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_MEDIA_FORWARD); + } else if (!strcmp(stock_id, LIVES_STOCK_MEDIA_REWIND)) { + button = lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_MEDIA_REWIND); + } else if (!strcmp(stock_id, LIVES_STOCK_MEDIA_STOP)) { + button = lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_MEDIA_STOP); + } else if (!strcmp(stock_id, LIVES_STOCK_MEDIA_PLAY)) { + button = lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_MEDIA_PLAY); + } else if (!strcmp(stock_id, LIVES_STOCK_MEDIA_PAUSE)) { + button = lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_MEDIA_PAUSE); + } else if (!strcmp(stock_id, LIVES_STOCK_MEDIA_RECORD)) { + button = lives_button_new_with_mnemonic(LIVES_STOCK_LABEL_MEDIA_RECORD); } else { // text not known - button=lives_button_new(); + button = lives_button_new(); } #ifdef GUI_GTK if (prefs->show_button_images - ||!strcmp(stock_id,LIVES_STOCK_ADD) - ||!strcmp(stock_id,LIVES_STOCK_REMOVE) + || !strcmp(stock_id, LIVES_STOCK_ADD) + || !strcmp(stock_id, LIVES_STOCK_REMOVE) ) { - LiVESWidget *image=gtk_image_new_from_icon_name(stock_id,GTK_ICON_SIZE_BUTTON); - gtk_button_set_image(GTK_BUTTON(button),image); + LiVESWidget *image = gtk_image_new_from_icon_name(stock_id, GTK_ICON_SIZE_BUTTON); + gtk_button_set_image(GTK_BUTTON(button), image); #endif #ifdef GUI_QT - if (!QIcon::hasThemeIcon(stock_id)) lives_printerr("Missing icon %s\n",stock_id); + if (!QIcon::hasThemeIcon(stock_id)) lives_printerr("Missing icon %s\n", stock_id); else { QAbstractButton *qbutton = dynamic_cast<QAbstractButton *>(button); if (qbutton != NULL) { @@ -3346,18 +3295,17 @@ #else // < 3.10 - button=gtk_button_new_from_stock(stock_id); + button = gtk_button_new_from_stock(stock_id); #endif #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,6,0) - gtk_button_set_always_show_image(GTK_BUTTON(button),prefs->show_button_images); +#if GTK_CHECK_VERSION(3, 6, 0) + gtk_button_set_always_show_image(GTK_BUTTON(button), prefs->show_button_images); #endif - if (label!=NULL) - gtk_button_set_label(GTK_BUTTON(button),label); + if (label != NULL) + gtk_button_set_label(GTK_BUTTON(button), label); #endif - return button; } @@ -3368,14 +3316,14 @@ LIVES_INLINE boolean lives_button_set_label(LiVESButton *button, const char *label) { #ifdef GUI_GTK - gtk_button_set_label(button,label); + gtk_button_set_label(button, label); return TRUE; #endif #ifdef GUI_QT QString qlabel = QString::fromUtf8(label); if (button->get_use_underline()) { - qlabel = qlabel.replace('&',"&&"); - qlabel = qlabel.replace('_','&'); + qlabel = qlabel.replace('&', "&&"); + qlabel = qlabel.replace('_', '&'); } (dynamic_cast<QAbstractButton *>(button))->setText(qlabel); return TRUE; @@ -3384,10 +3332,9 @@ } - LIVES_INLINE boolean lives_button_set_use_underline(LiVESButton *button, boolean use) { #ifdef GUI_GTK - gtk_button_set_use_underline(button,use); + gtk_button_set_use_underline(button, use); return TRUE; #endif #ifdef GUI_QT @@ -3400,11 +3347,11 @@ LIVES_INLINE boolean lives_button_set_relief(LiVESButton *button, LiVESReliefStyle rstyle) { #ifdef GUI_GTK - gtk_button_set_relief(button,rstyle); + gtk_button_set_relief(button, rstyle); return TRUE; #endif #ifdef GUI_QT - if (rstyle==LIVES_RELIEF_NONE) button->setFlat(true); + if (rstyle == LIVES_RELIEF_NONE) button->setFlat(true); else button->setFlat(false); return TRUE; #endif @@ -3414,7 +3361,7 @@ LIVES_INLINE boolean lives_button_set_image(LiVESButton *button, LiVESWidget *image) { #ifdef GUI_GTK - gtk_button_set_image(button,image); + gtk_button_set_image(button, image); return TRUE; #endif #ifdef GUI_QT @@ -3437,10 +3384,9 @@ } - LIVES_INLINE boolean lives_button_set_focus_on_click(LiVESButton *button, boolean focus) { #ifdef GUI_GTK - gtk_button_set_focus_on_click(button,focus); + gtk_button_set_focus_on_click(button, focus); return TRUE; #endif #ifdef GUI_QT @@ -3459,7 +3405,7 @@ // call this only after adding widgets #ifdef GUI_GTK - gtk_paned_set_position(paned,pos); + gtk_paned_set_position(paned, pos); return TRUE; #endif #ifdef GUI_QT @@ -3480,8 +3426,8 @@ LIVES_INLINE boolean lives_paned_pack(int where, LiVESPaned *paned, LiVESWidget *child, boolean resize, boolean shrink) { #ifdef GUI_GTK - if (where==1) gtk_paned_pack1(paned,child,resize,shrink); - else gtk_paned_pack2(paned,child,resize,shrink); + if (where == 1) gtk_paned_pack1(paned, child, resize, shrink); + else gtk_paned_pack2(paned, child, resize, shrink); return TRUE; #endif #ifdef GUI_QT @@ -3492,11 +3438,10 @@ } - LIVES_INLINE LiVESWidget *lives_drawing_area_new(void) { - LiVESWidget *darea=NULL; + LiVESWidget *darea = NULL; #ifdef GUI_GTK - darea=gtk_drawing_area_new(); + darea = gtk_drawing_area_new(); #endif #ifdef GUI_QT darea = new LiVESDrawingArea; @@ -3505,7 +3450,6 @@ } - LIVES_INLINE int lives_event_get_time(LiVESXEvent *event) { #ifdef GUI_GTK return gdk_event_get_time(event); @@ -3532,7 +3476,7 @@ LIVES_INLINE boolean lives_toggle_button_set_active(LiVESToggleButton *button, boolean active) { #ifdef GUI_GTK - gtk_toggle_button_set_active(button,active); + gtk_toggle_button_set_active(button, active); return TRUE; #endif #ifdef GUI_QT @@ -3545,7 +3489,7 @@ LIVES_INLINE boolean lives_toggle_button_set_mode(LiVESToggleButton *button, boolean drawind) { #ifdef GUI_GTK - gtk_toggle_button_set_mode(button,drawind); + gtk_toggle_button_set_mode(button, drawind); return TRUE; #endif #ifdef GUI_QT @@ -3556,12 +3500,10 @@ } - - LIVES_INLINE LiVESWidget *lives_radio_button_new(LiVESSList *group) { - LiVESWidget *button=NULL; + LiVESWidget *button = NULL; #ifdef GUI_GTK - button=gtk_radio_button_new(group); + button = gtk_radio_button_new(group); #endif #ifdef GUI_QT QButtonGroup *qbg; @@ -3583,9 +3525,9 @@ LIVES_INLINE LiVESWidget *lives_check_button_new(void) { - LiVESWidget *button=NULL; + LiVESWidget *button = NULL; #ifdef GUI_GTK - button=gtk_check_button_new(); + button = gtk_check_button_new(); #endif #ifdef GUI_QT button = new LiVESCheckButton; @@ -3595,16 +3537,16 @@ LIVES_INLINE LiVESWidget *lives_check_button_new_with_label(const char *label) { - LiVESWidget *button=NULL; + LiVESWidget *button = NULL; #ifdef GUI_GTK - button=gtk_check_button_new_with_label(label); + button = gtk_check_button_new_with_label(label); #endif #ifdef GUI_QT button = new LiVESCheckButton; QString qlabel = QString::fromUtf8(label); if ((static_cast<LiVESButtonBase *>(button))->get_use_underline()) { - qlabel = qlabel.replace('&',"&&"); - qlabel = qlabel.replace('_','&'); + qlabel = qlabel.replace('&', "&&"); + qlabel = qlabel.replace('_', '&'); } (dynamic_cast<QAbstractButton *>(button))->setText(qlabel); #endif @@ -3614,12 +3556,12 @@ LIVES_INLINE boolean lives_widget_set_tooltip_text(LiVESWidget *widget, const char *tip_text) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,12,0) - gtk_widget_set_tooltip_text(widget,tip_text); +#if GTK_CHECK_VERSION(2, 12, 0) + gtk_widget_set_tooltip_text(widget, tip_text); #else GtkTooltips *tips; tips = gtk_tooltips_new(); - gtk_tooltips_set_tip(tips,widget,tip_text,NULL); + gtk_tooltips_set_tip(tips, widget, tip_text, NULL); #endif return TRUE; #endif @@ -3672,7 +3614,6 @@ } - LIVES_INLINE LiVESWidget *lives_widget_get_parent(LiVESWidget *widget) { #ifdef GUI_GTK return gtk_widget_get_parent(widget); @@ -3684,7 +3625,6 @@ } - LIVES_INLINE LiVESWidget *lives_widget_get_toplevel(LiVESWidget *widget) { #ifdef GUI_GTK return gtk_widget_get_toplevel(widget); @@ -3703,7 +3643,7 @@ LIVES_INLINE LiVESXWindow *lives_widget_get_xwindow(LiVESWidget *widget) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,12,0) +#if GTK_CHECK_VERSION(2, 12, 0) return gtk_widget_get_window(widget); #else return GDK_WINDOW(widget->window); @@ -3741,11 +3681,10 @@ } - LIVES_INLINE boolean lives_widget_set_can_focus(LiVESWidget *widget, boolean state) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,18,0) - gtk_widget_set_can_focus(widget,state); +#if GTK_CHECK_VERSION(2, 18, 0) + gtk_widget_set_can_focus(widget, state); #else if (state) GTK_WIDGET_SET_FLAGS(widget, GTK_CAN_FOCUS); @@ -3766,8 +3705,8 @@ LIVES_INLINE boolean lives_widget_set_can_default(LiVESWidget *widget, boolean state) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,18,0) - gtk_widget_set_can_default(widget,state); +#if GTK_CHECK_VERSION(2, 18, 0) + gtk_widget_set_can_default(widget, state); #else if (state) GTK_WIDGET_SET_FLAGS(widget, GTK_CAN_DEFAULT); @@ -3790,7 +3729,7 @@ LIVES_INLINE boolean lives_widget_add_events(LiVESWidget *widget, int events) { #ifdef GUI_GTK - gtk_widget_add_events(widget,events); + gtk_widget_add_events(widget, events); return TRUE; #endif #ifdef GUI_QT @@ -3804,7 +3743,7 @@ LIVES_INLINE boolean lives_widget_set_events(LiVESWidget *widget, int events) { #ifdef GUI_GTK - gtk_widget_set_events(widget,events); + gtk_widget_set_events(widget, events); return TRUE; #endif #ifdef GUI_QT @@ -3818,7 +3757,7 @@ LIVES_INLINE boolean lives_widget_remove_accelerator(LiVESWidget *widget, LiVESAccelGroup *acgroup, uint32_t accel_key, LiVESXModifierType accel_mods) { #ifdef GUI_GTK - return gtk_widget_remove_accelerator(widget,acgroup,accel_key,accel_mods); + return gtk_widget_remove_accelerator(widget, acgroup, accel_key, accel_mods); #endif #ifdef GUI_QT return (static_cast<LiVESObject *>(widget))->remove_accels(acgroup, accel_key, accel_mods); @@ -3829,8 +3768,8 @@ boolean lives_widget_get_preferred_size(LiVESWidget *widget, LiVESRequisition *min_size, LiVESRequisition *nat_size) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - gtk_widget_get_preferred_size(widget,min_size,nat_size); +#if GTK_CHECK_VERSION(3, 0, 0) + gtk_widget_get_preferred_size(widget, min_size, nat_size); return TRUE; #endif #endif @@ -3845,7 +3784,7 @@ LIVES_INLINE boolean lives_widget_is_sensitive(LiVESWidget *widget) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,18,0) +#if GTK_CHECK_VERSION(2, 18, 0) return gtk_widget_is_sensitive(widget); #else return GTK_WIDGET_IS_SENSITIVE(widget); @@ -3860,7 +3799,7 @@ LIVES_INLINE boolean lives_widget_is_visible(LiVESWidget *widget) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,18,0) +#if GTK_CHECK_VERSION(2, 18, 0) return gtk_widget_get_visible(widget); #else return GTK_WIDGET_VISIBLE(widget); @@ -3876,7 +3815,7 @@ LIVES_INLINE boolean lives_widget_is_realized(LiVESWidget *widget) { // used for giw widgets #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,18,0) +#if GTK_CHECK_VERSION(2, 18, 0) return gtk_widget_get_realized(widget); #else return GTK_WIDGET_REALIZED(widget); @@ -3886,10 +3825,9 @@ } - LIVES_INLINE boolean lives_container_add(LiVESContainer *container, LiVESWidget *widget) { #ifdef GUI_GTK - gtk_container_add(container,widget); + gtk_container_add(container, widget); return TRUE; #endif #ifdef GUI_QT @@ -3918,7 +3856,7 @@ container = NULL; } else if (LIVES_IS_NOTEBOOK(container)) { LiVESNotebook *ql = static_cast<LiVESNotebook *>(container); - ql->addTab(widget,NULL); + ql->addTab(widget, NULL); ql->append_page(); container->add_child(widget); container = NULL; @@ -3965,10 +3903,9 @@ } - LIVES_INLINE boolean lives_container_remove(LiVESContainer *container, LiVESWidget *widget) { #ifdef GUI_GTK - gtk_container_remove(container,widget); + gtk_container_remove(container, widget); return TRUE; #endif #ifdef GUI_QT @@ -4036,7 +3973,7 @@ LIVES_INLINE boolean lives_container_set_border_width(LiVESContainer *container, uint32_t width) { // sets border OUTSIDE container #ifdef GUI_GTK - gtk_container_set_border_width(container,width); + gtk_container_set_border_width(container, width); return TRUE; #endif #ifdef GUI_QT @@ -4052,11 +3989,10 @@ } - LIVES_INLINE boolean lives_container_foreach(LiVESContainer *cont, LiVESWidgetCallback callback, livespointer cb_data) { // excludes internal children #ifdef GUI_GTK - gtk_container_foreach(cont,callback,cb_data); + gtk_container_foreach(cont, callback, cb_data); return TRUE; #endif #ifdef GUI_QT @@ -4072,7 +4008,7 @@ static LIVES_INLINE boolean lives_container_forall(LiVESContainer *cont, LiVESWidgetCallback callback, livespointer cb_data) { // includes internal children #ifdef GUI_GTK - gtk_container_forall(cont,callback,cb_data); + gtk_container_forall(cont, callback, cb_data); return TRUE; #endif #ifdef GUI_QT @@ -4094,9 +4030,9 @@ LIVES_INLINE LiVESList *lives_container_get_children(LiVESContainer *cont) { - LiVESList *children=NULL; + LiVESList *children = NULL; #ifdef GUI_GTK - children=gtk_container_get_children(cont); + children = gtk_container_get_children(cont); #endif #ifdef GUI_QT LiVESList *list = new LiVESList(*cont->get_children()); @@ -4106,10 +4042,9 @@ } - LIVES_INLINE boolean lives_container_set_focus_child(LiVESContainer *cont, LiVESWidget *child) { #ifdef GUI_GTK - gtk_container_set_focus_child(cont,child); + gtk_container_set_focus_child(cont, child); return TRUE; #endif #ifdef GUI_QT @@ -4132,9 +4067,9 @@ LIVES_INLINE LiVESWidget *lives_progress_bar_new(void) { - LiVESWidget *pbar=NULL; + LiVESWidget *pbar = NULL; #ifdef GUI_GTK - pbar=gtk_progress_bar_new(); + pbar = gtk_progress_bar_new(); #endif #ifdef GUI_QT pbar = new LiVESProgressBar; @@ -4145,7 +4080,7 @@ LIVES_INLINE boolean lives_progress_bar_set_fraction(LiVESProgressBar *pbar, double fraction) { #ifdef GUI_GTK - gtk_progress_bar_set_fraction(pbar,fraction); + gtk_progress_bar_set_fraction(pbar, fraction); return TRUE; #endif #ifdef GUI_QT @@ -4160,7 +4095,7 @@ LIVES_INLINE boolean lives_progress_bar_set_pulse_step(LiVESProgressBar *pbar, double fraction) { #ifdef GUI_GTK - gtk_progress_bar_set_pulse_step(pbar,fraction); + gtk_progress_bar_set_pulse_step(pbar, fraction); return TRUE; #endif #ifdef GUI_QT @@ -4170,7 +4105,6 @@ } - LIVES_INLINE boolean lives_progress_bar_pulse(LiVESProgressBar *pbar) { #ifdef GUI_GTK gtk_progress_bar_pulse(pbar); @@ -4186,11 +4120,10 @@ } - LIVES_INLINE LiVESWidget *lives_spin_button_new(LiVESAdjustment *adj, double climb_rate, uint32_t digits) { - LiVESWidget *sbutton=NULL; + LiVESWidget *sbutton = NULL; #ifdef GUI_GTK - sbutton=gtk_spin_button_new(adj,climb_rate,digits); + sbutton = gtk_spin_button_new(adj, climb_rate, digits); #endif #ifdef GUI_QT sbutton = new LiVESSpinButton(adj, climb_rate, digits); @@ -4222,9 +4155,9 @@ LIVES_INLINE LiVESAdjustment *lives_spin_button_get_adjustment(LiVESSpinButton *button) { - LiVESAdjustment *adj=NULL; + LiVESAdjustment *adj = NULL; #ifdef GUI_GTK - adj=gtk_spin_button_get_adjustment(button); + adj = gtk_spin_button_get_adjustment(button); #endif #ifdef GUI_QT adj = button->get_adj(); @@ -4235,7 +4168,7 @@ LIVES_INLINE boolean lives_spin_button_set_value(LiVESSpinButton *button, double value) { #ifdef GUI_GTK - gtk_spin_button_set_value(button,value); + gtk_spin_button_set_value(button, value); return TRUE; #endif #ifdef GUI_QT @@ -4248,7 +4181,7 @@ LIVES_INLINE boolean lives_spin_button_set_range(LiVESSpinButton *button, double min, double max) { #ifdef GUI_GTK - gtk_spin_button_set_range(button,min,max); + gtk_spin_button_set_range(button, min, max); return TRUE; #endif #ifdef GUI_QT @@ -4270,7 +4203,7 @@ LIVES_INLINE boolean lives_spin_button_set_wrap(LiVESSpinButton *button, boolean wrap) { #ifdef GUI_GTK - gtk_spin_button_set_wrap(button,wrap); + gtk_spin_button_set_wrap(button, wrap); return TRUE; #endif #ifdef GUI_QT @@ -4283,7 +4216,7 @@ LIVES_INLINE boolean lives_spin_button_set_digits(LiVESSpinButton *button, uint32_t digits) { #ifdef GUI_GTK - gtk_spin_button_set_digits(button,digits); + gtk_spin_button_set_digits(button, digits); return TRUE; #endif #ifdef GUI_QT @@ -4306,11 +4239,10 @@ } - LIVES_INLINE LiVESToolItem *lives_tool_button_new(LiVESWidget *icon_widget, const char *label) { - LiVESToolItem *button=NULL; + LiVESToolItem *button = NULL; #ifdef GUI_GTK - button=gtk_tool_button_new(icon_widget,label); + button = gtk_tool_button_new(icon_widget, label); #endif #ifdef GUI_QT button = new LiVESToolButton(icon_widget, label); @@ -4320,9 +4252,9 @@ LIVES_INLINE LiVESToolItem *lives_tool_item_new(void) { - LiVESToolItem *item=NULL; + LiVESToolItem *item = NULL; #ifdef GUI_GTK - item=gtk_tool_item_new(); + item = gtk_tool_item_new(); #endif #ifdef GUI_QT item = new LiVESToolItem; @@ -4333,7 +4265,7 @@ LIVES_INLINE boolean lives_tool_button_set_icon_widget(LiVESToolButton *button, LiVESWidget *icon) { #ifdef GUI_GTK - gtk_tool_button_set_icon_widget(button,icon); + gtk_tool_button_set_icon_widget(button, icon); return TRUE; #endif #ifdef GUI_QT @@ -4345,7 +4277,7 @@ LIVES_INLINE boolean lives_tool_button_set_label_widget(LiVESToolButton *button, LiVESWidget *label) { #ifdef GUI_GTK - gtk_tool_button_set_label_widget(button,label); + gtk_tool_button_set_label_widget(button, label); return TRUE; #endif #ifdef GUI_QT @@ -4355,10 +4287,9 @@ } - LIVES_INLINE boolean lives_tool_button_set_use_underline(LiVESToolButton *button, boolean use_underline) { #ifdef GUI_GTK - gtk_tool_button_set_use_underline(button,use_underline); + gtk_tool_button_set_use_underline(button, use_underline); return TRUE; #endif #ifdef GUI_QT @@ -4369,14 +4300,13 @@ } - LIVES_INLINE void lives_ruler_set_range(LiVESRuler *ruler, double lower, double upper, double position, double max_size) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - gtk_range_set_range(GTK_RANGE(ruler),lower,upper); - gtk_range_set_value(GTK_RANGE(ruler),position); +#if GTK_CHECK_VERSION(3, 0, 0) + gtk_range_set_range(GTK_RANGE(ruler), lower, upper); + gtk_range_set_value(GTK_RANGE(ruler), position); #else - gtk_ruler_set_range(ruler,lower,upper,position,max_size); + gtk_ruler_set_range(ruler, lower, upper, position, max_size); #endif #ifdef GUI_QT ruler->setMinimum(lower); @@ -4390,9 +4320,9 @@ LIVES_INLINE LiVESWidget *lives_message_dialog_new(LiVESWindow *parent, LiVESDialogFlags flags, LiVESMessageType type, LiVESButtonsType buttons, const char *msg_fmt, ...) { - LiVESWidget *mdial=NULL; + LiVESWidget *mdial = NULL; #ifdef GUI_GTK - mdial=gtk_message_dialog_new(parent,flags,type,buttons,msg_fmt,NULL); + mdial = gtk_message_dialog_new(parent, flags, type, buttons, msg_fmt, NULL); #endif #ifdef GUI_QT LiVESMessageDialog *xmdial = new LiVESMessageDialog; @@ -4405,7 +4335,7 @@ LIVES_INLINE double lives_ruler_get_value(LiVESRuler *ruler) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) return gtk_range_get_value(GTK_RANGE(ruler)); #else return ruler->position; @@ -4420,10 +4350,10 @@ LIVES_INLINE double lives_ruler_set_value(LiVESRuler *ruler, double value) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - gtk_range_set_value(GTK_RANGE(ruler),value); +#if GTK_CHECK_VERSION(3, 0, 0) + gtk_range_set_value(GTK_RANGE(ruler), value); #else - ruler->position=value; + ruler->position = value; #endif #endif #ifdef GUI_QT @@ -4435,10 +4365,10 @@ LIVES_INLINE double lives_ruler_set_upper(LiVESRuler *ruler, double value) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - gtk_adjustment_set_upper(gtk_range_get_adjustment(GTK_RANGE(ruler)),value); +#if GTK_CHECK_VERSION(3, 0, 0) + gtk_adjustment_set_upper(gtk_range_get_adjustment(GTK_RANGE(ruler)), value); #else - ruler->upper=value; + ruler->upper = value; #endif #endif #ifdef GUI_QT @@ -4450,10 +4380,10 @@ LIVES_INLINE double lives_ruler_set_lower(LiVESRuler *ruler, double value) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - gtk_adjustment_set_lower(gtk_range_get_adjustment(GTK_RANGE(ruler)),value); +#if GTK_CHECK_VERSION(3, 0, 0) + gtk_adjustment_set_lower(gtk_range_get_adjustment(GTK_RANGE(ruler)), value); #else - ruler->lower=value; + ruler->lower = value; #endif #endif #ifdef GUI_QT @@ -4464,9 +4394,9 @@ LIVES_INLINE LiVESCellRenderer *lives_cell_renderer_text_new(void) { - LiVESCellRenderer *renderer=NULL; + LiVESCellRenderer *renderer = NULL; #ifdef GUI_GTK - renderer=gtk_cell_renderer_text_new(); + renderer = gtk_cell_renderer_text_new(); #endif #ifdef GUI_QT renderer = new LiVESCellRenderer(LIVES_CELL_RENDERER_TEXT); @@ -4476,10 +4406,10 @@ LIVES_INLINE LiVESCellRenderer *lives_cell_renderer_spin_new(void) { - LiVESCellRenderer *renderer=NULL; + LiVESCellRenderer *renderer = NULL; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,10,0) - renderer=gtk_cell_renderer_spin_new(); +#if GTK_CHECK_VERSION(2, 10, 0) + renderer = gtk_cell_renderer_spin_new(); #endif #endif #ifdef GUI_QT @@ -4490,9 +4420,9 @@ LIVES_INLINE LiVESCellRenderer *lives_cell_renderer_toggle_new(void) { - LiVESCellRenderer *renderer=NULL; + LiVESCellRenderer *renderer = NULL; #ifdef GUI_GTK - renderer=gtk_cell_renderer_toggle_new(); + renderer = gtk_cell_renderer_toggle_new(); #endif #ifdef GUI_QT renderer = new LiVESCellRenderer(LIVES_CELL_RENDERER_TOGGLE); @@ -4501,11 +4431,10 @@ } - LIVES_INLINE LiVESCellRenderer *lives_cell_renderer_pixbuf_new(void) { - LiVESCellRenderer *renderer=NULL; + LiVESCellRenderer *renderer = NULL; #ifdef GUI_GTK - renderer=gtk_cell_renderer_pixbuf_new(); + renderer = gtk_cell_renderer_pixbuf_new(); #endif #ifdef GUI_QT renderer = new LiVESCellRenderer(LIVES_CELL_RENDERER_PIXBUF); @@ -4514,12 +4443,10 @@ } - - LIVES_INLINE LiVESWidget *lives_toolbar_new(void) { - LiVESWidget *toolbar=NULL; + LiVESWidget *toolbar = NULL; #ifdef GUI_GTK - toolbar=gtk_toolbar_new(); + toolbar = gtk_toolbar_new(); #endif #ifdef GUI_QT toolbar = new LiVESToolbar; @@ -4528,10 +4455,9 @@ } - LIVES_INLINE boolean lives_toolbar_insert(LiVESToolbar *toolbar, LiVESToolItem *item, int pos) { #ifdef GUI_GTK - gtk_toolbar_insert(toolbar,item,pos); + gtk_toolbar_insert(toolbar, item, pos); return TRUE; #endif #ifdef GUI_QT @@ -4553,7 +4479,7 @@ LIVES_INLINE boolean lives_toolbar_set_show_arrow(LiVESToolbar *toolbar, boolean show) { #ifdef GUI_GTK - gtk_toolbar_set_show_arrow(toolbar,show); + gtk_toolbar_set_show_arrow(toolbar, show); return TRUE; #endif return FALSE; @@ -4571,10 +4497,9 @@ } - LIVES_INLINE boolean lives_toolbar_set_icon_size(LiVESToolbar *toolbar, LiVESIconSize icon_size) { #ifdef GUI_GTK - gtk_toolbar_set_icon_size(toolbar,icon_size); + gtk_toolbar_set_icon_size(toolbar, icon_size); return TRUE; #endif #ifdef GUI_QT @@ -4587,7 +4512,7 @@ LIVES_INLINE boolean lives_toolbar_set_style(LiVESToolbar *toolbar, LiVESToolbarStyle style) { #ifdef GUI_GTK - gtk_toolbar_set_style(toolbar,style); + gtk_toolbar_set_style(toolbar, style); return TRUE; #endif #ifdef GUI_QT @@ -4598,22 +4523,19 @@ } - - - LIVES_INLINE int lives_widget_get_allocation_x(LiVESWidget *widget) { - int x=0; + int x = 0; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,18,0) +#if GTK_CHECK_VERSION(2, 18, 0) GtkAllocation alloc; - gtk_widget_get_allocation(widget,&alloc); - x=alloc.x; + gtk_widget_get_allocation(widget, &alloc); + x = alloc.x; #else - x=widget->allocation.x; + x = widget->allocation.x; #endif #endif #ifdef GUI_QT - QPoint p(0,0); + QPoint p(0, 0); p = widget->mapToGlobal(p); x = p.x(); #endif @@ -4622,18 +4544,18 @@ LIVES_INLINE int lives_widget_get_allocation_y(LiVESWidget *widget) { - int y=0; + int y = 0; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,18,0) +#if GTK_CHECK_VERSION(2, 18, 0) GtkAllocation alloc; - gtk_widget_get_allocation(widget,&alloc); - y=alloc.y; + gtk_widget_get_allocation(widget, &alloc); + y = alloc.y; #else - y=widget->allocation.y; + y = widget->allocation.y; #endif #endif #ifdef GUI_QT - QPoint p(0,0); + QPoint p(0, 0); p = widget->mapToGlobal(p); y = p.y(); #endif @@ -4642,14 +4564,14 @@ LIVES_INLINE int lives_widget_get_allocation_width(LiVESWidget *widget) { - int width=0; + int width = 0; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,18,0) +#if GTK_CHECK_VERSION(2, 18, 0) GtkAllocation alloc; - gtk_widget_get_allocation(widget,&alloc); - width=alloc.width; + gtk_widget_get_allocation(widget, &alloc); + width = alloc.width; #else - width=widget->allocation.width; + width = widget->allocation.width; #endif #endif #ifdef GUI_QT @@ -4660,14 +4582,14 @@ LIVES_INLINE int lives_widget_get_allocation_height(LiVESWidget *widget) { - int height=0; + int height = 0; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,18,0) +#if GTK_CHECK_VERSION(2, 18, 0) GtkAllocation alloc; - gtk_widget_get_allocation(widget,&alloc); - height=alloc.height; + gtk_widget_get_allocation(widget, &alloc); + height = alloc.height; #else - height=widget->allocation.height; + height = widget->allocation.height; #endif #endif #ifdef GUI_QT @@ -4679,10 +4601,10 @@ LIVES_INLINE boolean lives_widget_set_state(LiVESWidget *widget, LiVESWidgetState state) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - gtk_widget_set_state_flags(widget,state,TRUE); +#if GTK_CHECK_VERSION(3, 0, 0) + gtk_widget_set_state_flags(widget, state, TRUE); #else - gtk_widget_set_state(widget,state); + gtk_widget_set_state(widget, state); #endif return TRUE; #endif @@ -4696,10 +4618,10 @@ LIVES_INLINE LiVESWidgetState lives_widget_get_state(LiVESWidget *widget) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) return gtk_widget_get_state_flags(widget); #else -#if GTK_CHECK_VERSION(2,18,0) +#if GTK_CHECK_VERSION(2, 18, 0) return gtk_widget_get_state(widget); #else return GTK_WIDGET_STATE(widget); @@ -4712,16 +4634,13 @@ #else return (LiVESWidgetState)0; #endif - - } - LIVES_INLINE LiVESWidget *lives_bin_get_child(LiVESBin *bin) { - LiVESWidget *child=NULL; + LiVESWidget *child = NULL; #ifdef GUI_GTK - child=gtk_bin_get_child(bin); + child = gtk_bin_get_child(bin); #endif #ifdef GUI_QT return bin->get_child(0); @@ -4734,14 +4653,13 @@ } - LIVES_INLINE double lives_adjustment_get_upper(LiVESAdjustment *adj) { - double upper=0.; + double upper = 0.; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,14,0) - upper=gtk_adjustment_get_upper(adj); +#if GTK_CHECK_VERSION(2, 14, 0) + upper = gtk_adjustment_get_upper(adj); #else - upper=adj->upper; + upper = adj->upper; #endif #endif #ifdef GUI_QT @@ -4752,12 +4670,12 @@ LIVES_INLINE double lives_adjustment_get_lower(LiVESAdjustment *adj) { - double lower=0.; + double lower = 0.; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,14,0) - lower=gtk_adjustment_get_lower(adj); +#if GTK_CHECK_VERSION(2, 14, 0) + lower = gtk_adjustment_get_lower(adj); #else - lower=adj->lower; + lower = adj->lower; #endif #endif #ifdef GUI_QT @@ -4768,12 +4686,12 @@ LIVES_INLINE double lives_adjustment_get_page_size(LiVESAdjustment *adj) { - double page_size=0.; + double page_size = 0.; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,14,0) - page_size=gtk_adjustment_get_page_size(adj); +#if GTK_CHECK_VERSION(2, 14, 0) + page_size = gtk_adjustment_get_page_size(adj); #else - page_size=adj->page_size; + page_size = adj->page_size; #endif #endif #ifdef GUI_QT @@ -4784,9 +4702,9 @@ LIVES_INLINE double lives_adjustment_get_value(LiVESAdjustment *adj) { - double value=0.; + double value = 0.; #ifdef GUI_GTK - value=gtk_adjustment_get_value(adj); + value = gtk_adjustment_get_value(adj); #endif #ifdef GUI_QT value = adj->get_value(); @@ -4797,10 +4715,10 @@ LIVES_INLINE boolean lives_adjustment_set_upper(LiVESAdjustment *adj, double upper) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,14,0) - gtk_adjustment_set_upper(adj,upper); +#if GTK_CHECK_VERSION(2, 14, 0) + gtk_adjustment_set_upper(adj, upper); #else - adj->upper=upper; + adj->upper = upper; #endif return TRUE; #endif @@ -4814,10 +4732,10 @@ LIVES_INLINE boolean lives_adjustment_set_lower(LiVESAdjustment *adj, double lower) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,14,0) - gtk_adjustment_set_lower(adj,lower); +#if GTK_CHECK_VERSION(2, 14, 0) + gtk_adjustment_set_lower(adj, lower); #else - adj->lower=lower; + adj->lower = lower; #endif return TRUE; #endif @@ -4831,10 +4749,10 @@ LIVES_INLINE boolean lives_adjustment_set_page_size(LiVESAdjustment *adj, double page_size) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,14,0) - gtk_adjustment_set_page_size(adj,page_size); +#if GTK_CHECK_VERSION(2, 14, 0) + gtk_adjustment_set_page_size(adj, page_size); #else - adj->page_size=page_size; + adj->page_size = page_size; #endif return TRUE; #endif @@ -4848,7 +4766,7 @@ LIVES_INLINE boolean lives_adjustment_set_value(LiVESAdjustment *adj, double value) { #ifdef GUI_GTK - gtk_adjustment_set_value(adj,value); + gtk_adjustment_set_value(adj, value); return TRUE; #endif #ifdef GUI_QT @@ -4861,7 +4779,7 @@ LIVES_INLINE boolean lives_adjustment_clamp_page(LiVESAdjustment *adj, double lower, double upper) { #ifdef GUI_GTK - gtk_adjustment_clamp_page(adj,lower,upper); + gtk_adjustment_clamp_page(adj, lower, upper); return TRUE; #endif #ifdef GUI_QT @@ -4875,11 +4793,10 @@ } - LIVES_INLINE LiVESAdjustment *lives_range_get_adjustment(LiVESRange *range) { - LiVESAdjustment *adj=NULL; + LiVESAdjustment *adj = NULL; #ifdef GUI_GTK - adj=gtk_range_get_adjustment(range); + adj = gtk_range_get_adjustment(range); #endif #ifdef GUI_QT adj = range->get_adj(); @@ -4890,7 +4807,7 @@ LIVES_INLINE boolean lives_range_set_value(LiVESRange *range, double value) { #ifdef GUI_GTK - gtk_range_set_value(range,value); + gtk_range_set_value(range, value); return TRUE; #endif return FALSE; @@ -4899,7 +4816,7 @@ LIVES_INLINE boolean lives_range_set_range(LiVESRange *range, double min, double max) { #ifdef GUI_GTK - gtk_range_set_range(range,min,max); + gtk_range_set_range(range, min, max); return TRUE; #endif #ifdef GUI_QT @@ -4918,7 +4835,7 @@ LIVES_INLINE boolean lives_range_set_increments(LiVESRange *range, double step, double page) { #ifdef GUI_GTK - gtk_range_set_increments(range,step,page); + gtk_range_set_increments(range, step, page); return TRUE; #endif #ifdef GUI_QT @@ -4933,7 +4850,7 @@ LIVES_INLINE boolean lives_range_set_inverted(LiVESRange *range, boolean invert) { #ifdef GUI_GTK - gtk_range_set_inverted(range,invert); + gtk_range_set_inverted(range, invert); return TRUE; #endif #ifdef GUI_QT @@ -4949,9 +4866,9 @@ LIVES_INLINE double lives_range_get_value(LiVESRange *range) { - double value=0.; + double value = 0.; #ifdef GUI_GTK - value=gtk_range_get_value(range); + value = gtk_range_get_value(range); #endif #ifdef GUI_QT value = range->get_adj()->get_value(); @@ -4961,17 +4878,17 @@ LIVES_INLINE boolean lives_tree_model_get(LiVESTreeModel *tmod, LiVESTreeIter *titer, ...) { - boolean res=FALSE; + boolean res = FALSE; va_list argList; va_start(argList, titer); #ifdef GUI_GTK - gtk_tree_model_get_valist(tmod,titer,argList); - res=TRUE; + gtk_tree_model_get_valist(tmod, titer, argList); + res = TRUE; #endif #ifdef GUI_QT // get 1 or more cells in row refd by titer // we have col number, locn to store value in - char *attribute=va_arg(argList, char *); + char *attribute = va_arg(argList, char *); QVariant qv; while (attribute != NULL) { @@ -4989,7 +4906,7 @@ qv = titer->data(colnum, Qt::DisplayRole); *cattr = strdup(qv.value<QString>().toUtf8().constData()); } - attribute=va_arg(argList, char *); + attribute = va_arg(argList, char *); } #endif @@ -5000,7 +4917,7 @@ LIVES_INLINE boolean lives_tree_model_get_iter(LiVESTreeModel *tmod, LiVESTreeIter *titer, LiVESTreePath *tpath) { #ifdef GUI_GTK - return gtk_tree_model_get_iter(tmod,titer,tpath); + return gtk_tree_model_get_iter(tmod, titer, tpath); #endif #ifdef GUI_QT int *indices = tpath->get_indices(); @@ -5008,7 +4925,7 @@ QTreeWidgetItem *qtwi = tmod->get_qtree_widget()->invisibleRootItem(); - for (int i=0; i < cnt; i++) { + for (int i = 0; i < cnt; i++) { qtwi = qtwi->child(indices[i]); } @@ -5020,7 +4937,7 @@ LIVES_INLINE boolean lives_tree_model_get_iter_first(LiVESTreeModel *tmod, LiVESTreeIter *titer) { #ifdef GUI_GTK - return gtk_tree_model_get_iter_first(tmod,titer); + return gtk_tree_model_get_iter_first(tmod, titer); #endif #ifdef GUI_QT QTreeWidgetItem *qtwi = tmod->get_qtree_widget()->invisibleRootItem(); @@ -5033,9 +4950,9 @@ LIVES_INLINE LiVESTreePath *lives_tree_model_get_path(LiVESTreeModel *tmod, LiVESTreeIter *titer) { - LiVESTreePath *tpath=NULL; + LiVESTreePath *tpath = NULL; #ifdef GUI_GTK - tpath=gtk_tree_model_get_path(tmod,titer); + tpath = gtk_tree_model_get_path(tmod, titer); #endif #ifdef GUI_QT QList<int> qli; @@ -5062,7 +4979,7 @@ LIVES_INLINE boolean lives_tree_model_iter_children(LiVESTreeModel *tmod, LiVESTreeIter *titer, LiVESTreeIter *parent) { #ifdef GUI_GTK - return gtk_tree_model_iter_children(tmod,titer,parent); + return gtk_tree_model_iter_children(tmod, titer, parent); #endif #ifdef GUI_QT if (parent == NULL || parent == tmod->get_qtree_widget()->invisibleRootItem()) { @@ -5081,7 +4998,7 @@ LIVES_INLINE int lives_tree_model_iter_n_children(LiVESTreeModel *tmod, LiVESTreeIter *titer) { #ifdef GUI_GTK - return gtk_tree_model_iter_n_children(tmod,titer); + return gtk_tree_model_iter_n_children(tmod, titer); #endif #ifdef GUI_QT if (titer == NULL || titer == tmod->get_qtree_widget()->invisibleRootItem()) { @@ -5096,7 +5013,7 @@ LIVES_INLINE boolean lives_tree_model_iter_next(LiVESTreeModel *tmod, LiVESTreeIter *titer) { #ifdef GUI_GTK - return gtk_tree_model_iter_next(tmod,titer); + return gtk_tree_model_iter_next(tmod, titer); #endif #ifdef GUI_QT QTreeWidgetItem *parent = titer->parent(); @@ -5134,9 +5051,9 @@ LIVES_INLINE LiVESTreePath *lives_tree_path_new_from_string(const char *path) { - LiVESTreePath *tpath=NULL; + LiVESTreePath *tpath = NULL; #ifdef GUI_GTK - tpath=gtk_tree_path_new_from_string(path); + tpath = gtk_tree_path_new_from_string(path); #endif #ifdef GUI_QT tpath = new LiVESTreePath(path); @@ -5145,11 +5062,10 @@ } - LIVES_INLINE int lives_tree_path_get_depth(LiVESTreePath *tpath) { - int depth=-1; + int depth = -1; #ifdef GUI_GTK - depth=gtk_tree_path_get_depth(tpath); + depth = gtk_tree_path_get_depth(tpath); #endif #ifdef GUI_QT return tpath->get_depth(); @@ -5158,11 +5074,10 @@ } - LIVES_INLINE int *lives_tree_path_get_indices(LiVESTreePath *tpath) { - int *indices=NULL; + int *indices = NULL; #ifdef GUI_GTK - indices=gtk_tree_path_get_indices(tpath); + indices = gtk_tree_path_get_indices(tpath); #endif #ifdef GUI_QT indices = tpath->get_indices(); @@ -5171,19 +5086,18 @@ } - LIVES_INLINE LiVESTreeStore *lives_tree_store_new(int ncols, ...) { - LiVESTreeStore *tstore=NULL; + LiVESTreeStore *tstore = NULL; va_list argList; va_start(argList, ncols); #ifdef GUI_GTK - if (ncols>0) { + if (ncols > 0) { GType types[ncols]; register int i; - for (i=0; i<ncols; i++) { - types[i]=va_arg(argList, long unsigned int); + for (i = 0; i < ncols; i++) { + types[i] = va_arg(argList, long unsigned int); } - tstore=gtk_tree_store_newv(ncols,types); + tstore = gtk_tree_store_newv(ncols, types); } #endif @@ -5192,8 +5106,8 @@ QModelIndex qmi = QModelIndex(); int types[ncols]; - for (int i=0; i < ncols; i++) { - types[i]=va_arg(argList, long unsigned int); + for (int i = 0; i < ncols; i++) { + types[i] = va_arg(argList, long unsigned int); } tstore = new LiVESTreeStore(ncols, types); @@ -5205,16 +5119,14 @@ } - LIVES_INLINE boolean lives_tree_store_append(LiVESTreeStore *tstore, LiVESTreeIter *titer, LiVESTreeIter *parent) { #ifdef GUI_GTK - gtk_tree_store_append(tstore,titer,parent); + gtk_tree_store_append(tstore, titer, parent); return TRUE; #endif #ifdef GUI_QT QVariant qv = (static_cast<QAbstractItemModel *>(tstore))->property("LiVESObject"); if (qv.isValid()) { - LiVESTreeModel *ltm = static_cast<LiVESTreeModel *>(qv.value<LiVESObject *>()); QTreeWidget *qtw = ltm->get_qtree_widget(); @@ -5233,14 +5145,13 @@ } - LIVES_INLINE boolean lives_tree_store_set(LiVESTreeStore *tstore, LiVESTreeIter *titer, ...) { - boolean res=FALSE; + boolean res = FALSE; va_list argList; va_start(argList, titer); #ifdef GUI_GTK - gtk_tree_store_set_valist(tstore,titer,argList); - res=TRUE; + gtk_tree_store_set_valist(tstore, titer, argList); + res = TRUE; #endif #ifdef GUI_QT // set a row in the treestore @@ -5272,11 +5183,10 @@ } - LIVES_INLINE LiVESWidget *lives_tree_view_new_with_model(LiVESTreeModel *tmod) { - LiVESWidget *tview=NULL; + LiVESWidget *tview = NULL; #ifdef GUI_GTK - tview=gtk_tree_view_new_with_model(tmod); + tview = gtk_tree_view_new_with_model(tmod); #endif #ifdef GUI_QT LiVESTreeView *trview = new LiVESTreeView; @@ -5287,11 +5197,10 @@ } - LIVES_INLINE LiVESWidget *lives_tree_view_new(void) { - LiVESWidget *tview=NULL; + LiVESWidget *tview = NULL; #ifdef GUI_GTK - tview=gtk_tree_view_new(); + tview = gtk_tree_view_new(); #endif #ifdef GUI_QT tview = new LiVESTreeView; @@ -5300,12 +5209,9 @@ } - - - LIVES_INLINE boolean lives_tree_view_set_model(LiVESTreeView *tview, LiVESTreeModel *tmod) { #ifdef GUI_GTK - gtk_tree_view_set_model(tview,tmod); + gtk_tree_view_set_model(tview, tmod); return TRUE; #endif #ifdef GUI_QT @@ -5316,11 +5222,10 @@ } - LIVES_INLINE LiVESTreeModel *lives_tree_view_get_model(LiVESTreeView *tview) { - LiVESTreeModel *tmod=NULL; + LiVESTreeModel *tmod = NULL; #ifdef GUI_GTK - tmod=gtk_tree_view_get_model(tview); + tmod = gtk_tree_view_get_model(tview); #endif #ifdef GUI_QT tmod = tview->get_model(); @@ -5329,11 +5234,10 @@ } - LIVES_INLINE LiVESTreeSelection *lives_tree_view_get_selection(LiVESTreeView *tview) { - LiVESTreeSelection *tsel=NULL; + LiVESTreeSelection *tsel = NULL; #ifdef GUI_GTK - tsel=gtk_tree_view_get_selection(tview); + tsel = gtk_tree_view_get_selection(tview); #endif #ifdef GUI_QT tsel = tview; @@ -5342,10 +5246,9 @@ } - LIVES_INLINE int lives_tree_view_append_column(LiVESTreeView *tview, LiVESTreeViewColumn *tvcol) { #ifdef GUI_GTK - gtk_tree_view_append_column(tview,tvcol); + gtk_tree_view_append_column(tview, tvcol); return TRUE; #endif #ifdef GUI_QT @@ -5356,10 +5259,9 @@ } - LIVES_INLINE boolean lives_tree_view_set_headers_visible(LiVESTreeView *tview, boolean vis) { #ifdef GUI_GTK - gtk_tree_view_set_headers_visible(tview,vis); + gtk_tree_view_set_headers_visible(tview, vis); return TRUE; #endif #ifdef GUI_QT @@ -5370,15 +5272,13 @@ } - - LIVES_INLINE LiVESAdjustment *lives_tree_view_get_hadjustment(LiVESTreeView *tview) { - LiVESAdjustment *adj=NULL; + LiVESAdjustment *adj = NULL; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - adj=gtk_scrollable_get_hadjustment(GTK_SCROLLABLE(tview)); +#if GTK_CHECK_VERSION(3, 0, 0) + adj = gtk_scrollable_get_hadjustment(GTK_SCROLLABLE(tview)); #else - adj=gtk_tree_view_get_hadjustment(tview); + adj = gtk_tree_view_get_hadjustment(tview); #endif #endif #ifdef GUI_QT @@ -5388,22 +5288,20 @@ } - - LIVES_INLINE LiVESTreeViewColumn *lives_tree_view_column_new_with_attributes(const char *title, LiVESCellRenderer *crend, ...) { - LiVESTreeViewColumn *tvcol=NULL; + LiVESTreeViewColumn *tvcol = NULL; va_list args; va_start(args, crend); int column; char *attribute; - boolean expand=FALSE; + boolean expand = FALSE; #ifdef GUI_GTK - tvcol=gtk_tree_view_column_new(); - gtk_tree_view_column_set_title(tvcol,title); - gtk_tree_view_column_pack_start(tvcol,crend,expand); + tvcol = gtk_tree_view_column_new(); + gtk_tree_view_column_set_title(tvcol, title); + gtk_tree_view_column_pack_start(tvcol, crend, expand); - attribute=va_arg(args, char *); + attribute = va_arg(args, char *); while (attribute != NULL) { column = va_arg(args, int); @@ -5427,11 +5325,9 @@ } - - LIVES_INLINE boolean lives_tree_view_column_set_sizing(LiVESTreeViewColumn *tvcol, LiVESTreeViewColumnSizing type) { #ifdef GUI_GTK - gtk_tree_view_column_set_sizing(tvcol,type); + gtk_tree_view_column_set_sizing(tvcol, type); return TRUE; #endif #ifdef GUI_QT @@ -5442,10 +5338,9 @@ } - LIVES_INLINE boolean lives_tree_view_column_set_fixed_width(LiVESTreeViewColumn *tvcol, int fwidth) { #ifdef GUI_GTK - gtk_tree_view_column_set_fixed_width(tvcol,fwidth); + gtk_tree_view_column_set_fixed_width(tvcol, fwidth); return TRUE; #endif #ifdef GUI_QT @@ -5456,10 +5351,9 @@ } - LIVES_INLINE boolean lives_tree_selection_get_selected(LiVESTreeSelection *tsel, LiVESTreeModel **tmod, LiVESTreeIter *titer) { #ifdef GUI_GTK - return gtk_tree_selection_get_selected(tsel,tmod,titer); + return gtk_tree_selection_get_selected(tsel, tmod, titer); #endif #ifdef GUI_QT int mode = tsel->selectionMode(); @@ -5474,10 +5368,9 @@ } - LIVES_INLINE boolean lives_tree_selection_set_mode(LiVESTreeSelection *tsel, LiVESSelectionMode tselmod) { #ifdef GUI_GTK - gtk_tree_selection_set_mode(tsel,tselmod); + gtk_tree_selection_set_mode(tsel, tselmod); return TRUE; #endif #ifdef GUI_QT @@ -5488,10 +5381,9 @@ } - LIVES_INLINE boolean lives_tree_selection_select_iter(LiVESTreeSelection *tsel, LiVESTreeIter *titer) { #ifdef GUI_GTK - gtk_tree_selection_select_iter(tsel,titer); + gtk_tree_selection_select_iter(tsel, titer); return TRUE; #endif #ifdef GUI_QT @@ -5503,17 +5395,17 @@ LIVES_INLINE LiVESListStore *lives_list_store_new(int ncols, ...) { - LiVESListStore *lstore=NULL; + LiVESListStore *lstore = NULL; va_list argList; va_start(argList, ncols); #ifdef GUI_GTK - if (ncols>0) { + if (ncols > 0) { GType types[ncols]; register int i; - for (i=0; i<ncols; i++) { - types[i]=va_arg(argList, long unsigned int); + for (i = 0; i < ncols; i++) { + types[i] = va_arg(argList, long unsigned int); } - lstore=gtk_list_store_newv(ncols,types); + lstore = gtk_list_store_newv(ncols, types); } #endif @@ -5522,8 +5414,8 @@ QModelIndex qmi = QModelIndex(); int types[ncols]; - for (int i=0; i < ncols; i++) { - types[i]=va_arg(argList, long unsigned int); + for (int i = 0; i < ncols; i++) { + types[i] = va_arg(argList, long unsigned int); } lstore = new LiVESListStore(ncols, types); @@ -5535,14 +5427,13 @@ } - LIVES_INLINE boolean lives_list_store_set(LiVESListStore *lstore, LiVESTreeIter *titer, ...) { - boolean res=FALSE; + boolean res = FALSE; va_list argList; va_start(argList, titer); #ifdef GUI_GTK - gtk_list_store_set_valist(lstore,titer,argList); - res=TRUE; + gtk_list_store_set_valist(lstore, titer, argList); + res = TRUE; #endif #ifdef GUI_QT // set a row in the liststore @@ -5576,7 +5467,7 @@ LIVES_INLINE boolean lives_list_store_insert(LiVESListStore *lstore, LiVESTreeIter *titer, int position) { #ifdef GUI_GTK - gtk_list_store_insert(lstore,titer,position); + gtk_list_store_insert(lstore, titer, position); return TRUE; #endif #ifdef GUI_QT @@ -5589,7 +5480,6 @@ } - LIVES_INLINE const char *lives_label_get_text(LiVESLabel *label) { #ifdef GUI_GTK return gtk_label_get_text(label); @@ -5603,7 +5493,7 @@ LIVES_INLINE boolean lives_label_set_text(LiVESLabel *label, const char *text) { #ifdef GUI_GTK - gtk_label_set_text(label,text); + gtk_label_set_text(label, text); return TRUE; #endif #ifdef GUI_QT @@ -5618,7 +5508,7 @@ LIVES_INLINE boolean lives_label_set_text_with_mnemonic(LiVESLabel *label, const char *text) { #ifdef GUI_GTK - gtk_label_set_text_with_mnemonic(label,text); + gtk_label_set_text_with_mnemonic(label, text); return TRUE; #endif #ifdef GUI_QT @@ -5633,7 +5523,7 @@ LIVES_INLINE boolean lives_label_set_markup(LiVESLabel *label, const char *markup) { #ifdef GUI_GTK - gtk_label_set_markup(label,markup); + gtk_label_set_markup(label, markup); return TRUE; #endif #ifdef GUI_QT @@ -5648,7 +5538,7 @@ LIVES_INLINE boolean lives_label_set_markup_with_mnemonic(LiVESLabel *label, const char *markup) { #ifdef GUI_GTK - gtk_label_set_markup_with_mnemonic(label,markup); + gtk_label_set_markup_with_mnemonic(label, markup); return TRUE; #endif #ifdef GUI_QT @@ -5663,7 +5553,7 @@ LIVES_INLINE boolean lives_label_set_mnemonic_widget(LiVESLabel *label, LiVESWidget *widget) { #ifdef GUI_GTK - gtk_label_set_mnemonic_widget(label,widget); + gtk_label_set_mnemonic_widget(label, widget); return TRUE; #endif #ifdef GUI_QT @@ -5675,11 +5565,10 @@ } - LIVES_INLINE LiVESWidget *lives_label_get_mnemonic_widget(LiVESLabel *label) { - LiVESWidget *widget=NULL; + LiVESWidget *widget = NULL; #ifdef GUI_GTK - widget=gtk_label_get_mnemonic_widget(label); + widget = gtk_label_get_mnemonic_widget(label); #endif #ifdef GUI_QT widget = label->get_mnemonic_widget(); @@ -5688,10 +5577,9 @@ } - LIVES_INLINE boolean lives_label_set_selectable(LiVESLabel *label, boolean setting) { #ifdef GUI_GTK - gtk_label_set_selectable(label,setting); + gtk_label_set_selectable(label, setting); return TRUE; #endif #ifdef GUI_QT @@ -5711,10 +5599,9 @@ } - LIVES_INLINE boolean lives_editable_set_editable(LiVESEditable *editable, boolean is_editable) { #ifdef GUI_GTK - gtk_editable_set_editable(editable,is_editable); + gtk_editable_set_editable(editable, is_editable); return TRUE; #endif #ifdef GUI_QT @@ -5739,7 +5626,7 @@ LIVES_INLINE boolean lives_editable_select_region(LiVESEditable *editable, int start_pos, int end_pos) { #ifdef GUI_GTK - gtk_editable_select_region(editable,start_pos,end_pos); + gtk_editable_select_region(editable, start_pos, end_pos); return TRUE; #endif #ifdef GUI_QT @@ -5753,11 +5640,10 @@ } - LIVES_INLINE LiVESWidget *lives_entry_new(void) { - LiVESWidget *entry=NULL; + LiVESWidget *entry = NULL; #ifdef GUI_GTK - entry=gtk_entry_new(); + entry = gtk_entry_new(); #endif #ifdef GUI_QT entry = new LiVESEntry(); @@ -5766,12 +5652,10 @@ } - - LIVES_INLINE boolean lives_entry_set_max_length(LiVESEntry *entry, int len) { // entry length (not display length) #ifdef GUI_GTK - gtk_entry_set_max_length(entry,len); + gtk_entry_set_max_length(entry, len); return TRUE; #endif #ifdef GUI_QT @@ -5782,10 +5666,9 @@ } - LIVES_INLINE boolean lives_entry_set_activates_default(LiVESEntry *entry, boolean act) { #ifdef GUI_GTK - gtk_entry_set_activates_default(entry,act); + gtk_entry_set_activates_default(entry, act); return TRUE; #endif #ifdef GUI_QT @@ -5796,10 +5679,9 @@ } - LIVES_INLINE boolean lives_entry_set_visibility(LiVESEntry *entry, boolean vis) { #ifdef GUI_GTK - gtk_entry_set_visibility(entry,vis); + gtk_entry_set_visibility(entry, vis); return TRUE; #endif #ifdef GUI_QT @@ -5814,10 +5696,9 @@ } - LIVES_INLINE boolean lives_entry_set_has_frame(LiVESEntry *entry, boolean has) { #ifdef GUI_GTK - gtk_entry_set_has_frame(entry,has); + gtk_entry_set_has_frame(entry, has); return TRUE; #endif #ifdef GUI_QT @@ -5828,7 +5709,6 @@ } - LIVES_INLINE const char *lives_entry_get_text(LiVESEntry *entry) { #ifdef GUI_GTK return gtk_entry_get_text(entry); @@ -5842,7 +5722,7 @@ LIVES_INLINE boolean lives_entry_set_text(LiVESEntry *entry, const char *text) { #ifdef GUI_GTK - gtk_entry_set_text(entry,text); + gtk_entry_set_text(entry, text); return TRUE; #endif #ifdef GUI_QT @@ -5853,11 +5733,10 @@ } - LIVES_INLINE boolean lives_entry_set_width_chars(LiVESEntry *entry, int nchars) { // display length #ifdef GUI_GTK - gtk_entry_set_width_chars(entry,nchars); + gtk_entry_set_width_chars(entry, nchars); return TRUE; #endif #ifdef GUI_QT @@ -5870,11 +5749,10 @@ } - LIVES_INLINE LiVESWidget *lives_scrolled_window_new(LiVESAdjustment *hadj, LiVESAdjustment *vadj) { - LiVESWidget *swindow=NULL; + LiVESWidget *swindow = NULL; #ifdef GUI_GTK - swindow=gtk_scrolled_window_new(hadj,vadj); + swindow = gtk_scrolled_window_new(hadj, vadj); #endif #ifdef GUI_QT swindow = new LiVESScrolledWindow(hadj, vadj); @@ -5884,9 +5762,9 @@ LIVES_INLINE LiVESAdjustment *lives_scrolled_window_get_hadjustment(LiVESScrolledWindow *swindow) { - LiVESAdjustment *adj=NULL; + LiVESAdjustment *adj = NULL; #ifdef GUI_GTK - adj=gtk_scrolled_window_get_hadjustment(swindow); + adj = gtk_scrolled_window_get_hadjustment(swindow); #endif #ifdef GUI_QT adj = swindow->get_hadj(); @@ -5896,9 +5774,9 @@ LIVES_INLINE LiVESAdjustment *lives_scrolled_window_get_vadjustment(LiVESScrolledWindow *swindow) { - LiVESAdjustment *adj=NULL; + LiVESAdjustment *adj = NULL; #ifdef GUI_GTK - adj=gtk_scrolled_window_get_vadjustment(swindow); + adj = gtk_scrolled_window_get_vadjustment(swindow); #endif #ifdef GUI_QT adj = swindow->get_vadj(); @@ -5922,13 +5800,12 @@ } - LIVES_INLINE boolean lives_scrolled_window_add_with_viewport(LiVESScrolledWindow *scrolledwindow, LiVESWidget *child) { #ifdef GUI_GTK -#if !GTK_CHECK_VERSION(3,8,0) +#if !GTK_CHECK_VERSION(3, 8, 0) gtk_scrolled_window_add_with_viewport(scrolledwindow, child); #else - lives_container_add(LIVES_CONTAINER(scrolledwindow),child); + lives_container_add(LIVES_CONTAINER(scrolledwindow), child); #endif return TRUE; #endif @@ -5941,7 +5818,6 @@ } - LIVES_INLINE boolean lives_xwindow_raise(LiVESXWindow *xwin) { #ifdef GUI_GTK gdk_window_raise(xwin); @@ -5957,7 +5833,7 @@ LIVES_INLINE boolean lives_xwindow_set_cursor(LiVESXWindow *xwin, LiVESXCursor *cursor) { #ifdef GUI_GTK - gdk_window_set_cursor(xwin,cursor); + gdk_window_set_cursor(xwin, cursor); return TRUE; #endif #ifdef GUI_QT @@ -5975,8 +5851,8 @@ // return TRUE if implemented #ifdef GUI_GTK -#if !GTK_CHECK_VERSION(3,0,0) - gtk_dialog_set_has_separator(dialog,has); +#if !GTK_CHECK_VERSION(3, 0, 0) + gtk_dialog_set_has_separator(dialog, has); return TRUE; #endif #endif @@ -5987,17 +5863,16 @@ } - LIVES_INLINE boolean lives_widget_set_hexpand(LiVESWidget *widget, boolean state) { // return TRUE if implemented #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - gtk_widget_set_hexpand(widget,state); +#if GTK_CHECK_VERSION(3, 0, 0) + gtk_widget_set_hexpand(widget, state); return TRUE; #endif #endif #ifdef GUI_QT - widget->setSizePolicy(QSizePolicy::MinimumExpanding,QSizePolicy::Preferred); + widget->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred); return TRUE; #endif return FALSE; @@ -6007,13 +5882,13 @@ LIVES_INLINE boolean lives_widget_set_vexpand(LiVESWidget *widget, boolean state) { // return TRUE if implemented #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - gtk_widget_set_vexpand(widget,state); +#if GTK_CHECK_VERSION(3, 0, 0) + gtk_widget_set_vexpand(widget, state); return TRUE; #endif #endif #ifdef GUI_QT - widget->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::MinimumExpanding); + widget->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::MinimumExpanding); return TRUE; #endif return FALSE; @@ -6021,9 +5896,9 @@ LIVES_INLINE LiVESWidget *lives_menu_new(void) { - LiVESWidget *menu=NULL; + LiVESWidget *menu = NULL; #ifdef GUI_GTK - menu=gtk_menu_new(); + menu = gtk_menu_new(); #endif #ifdef GUI_QT menu = new LiVESMenu; @@ -6033,9 +5908,9 @@ LIVES_INLINE LiVESWidget *lives_menu_bar_new(void) { - LiVESWidget *menubar=NULL; + LiVESWidget *menubar = NULL; #ifdef GUI_GTK - menubar=gtk_menu_bar_new(); + menubar = gtk_menu_bar_new(); #endif #ifdef GUI_QT menubar = new LiVESMenuBar; @@ -6045,9 +5920,9 @@ LIVES_INLINE LiVESWidget *lives_menu_item_new(void) { - LiVESWidget *menuitem=NULL; + LiVESWidget *menuitem = NULL; #ifdef GUI_GTK - menuitem=gtk_menu_item_new(); + menuitem = gtk_menu_item_new(); lives_widget_apply_theme2(menuitem, LIVES_WIDGET_STATE_INSENSITIVE, FALSE); #endif #ifdef GUI_QT @@ -6058,30 +5933,28 @@ } - LIVES_INLINE LiVESWidget *lives_menu_item_new_with_mnemonic(const char *label) { - LiVESWidget *menuitem=NULL; + LiVESWidget *menuitem = NULL; #ifdef GUI_GTK - menuitem=gtk_menu_item_new_with_mnemonic(label); + menuitem = gtk_menu_item_new_with_mnemonic(label); lives_widget_apply_theme2(menuitem, LIVES_WIDGET_STATE_INSENSITIVE, FALSE); #endif #ifdef GUI_QT - menuitem = new LiVESMenuItem(qmake_mnemonic(QString::fromUtf8(label)),mainw->LiVES); + menuitem = new LiVESMenuItem(qmake_mnemonic(QString::fromUtf8(label)), mainw->LiVES); lives_widget_apply_theme2(menuitem, LIVES_WIDGET_STATE_INSENSITIVE, FALSE); #endif return menuitem; } - LIVES_INLINE LiVESWidget *lives_menu_item_new_with_label(const char *label) { - LiVESWidget *menuitem=NULL; + LiVESWidget *menuitem = NULL; #ifdef GUI_GTK - menuitem=gtk_menu_item_new_with_label(label); + menuitem = gtk_menu_item_new_with_label(label); lives_widget_apply_theme2(menuitem, LIVES_WIDGET_STATE_INSENSITIVE, FALSE); #endif #ifdef GUI_QT - menuitem = new LiVESMenuItem(QString::fromUtf8(label),mainw->LiVES); + menuitem = new LiVESMenuItem(QString::fromUtf8(label), mainw->LiVES); lives_widget_apply_theme2(menuitem, LIVES_WIDGET_STATE_INSENSITIVE, FALSE); #endif return menuitem; @@ -6089,17 +5962,17 @@ LIVES_INLINE LiVESWidget *lives_image_menu_item_new_with_label(const char *label) { - LiVESWidget *menuitem=NULL; + LiVESWidget *menuitem = NULL; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,10,0) - menuitem=gtk_menu_item_new_with_label(label); +#if GTK_CHECK_VERSION(3, 10, 0) + menuitem = gtk_menu_item_new_with_label(label); #else - menuitem=gtk_image_menu_item_new_with_label(label); + menuitem = gtk_image_menu_item_new_with_label(label); #endif lives_widget_apply_theme2(menuitem, LIVES_WIDGET_STATE_INSENSITIVE, FALSE); #endif #ifdef GUI_QT - menuitem = new LiVESMenuItem(QString::fromUtf8(label),mainw->LiVES); + menuitem = new LiVESMenuItem(QString::fromUtf8(label), mainw->LiVES); lives_widget_apply_theme2(menuitem, LIVES_WIDGET_STATE_INSENSITIVE, FALSE); #endif return menuitem; @@ -6107,17 +5980,17 @@ LIVES_INLINE LiVESWidget *lives_image_menu_item_new_with_mnemonic(const char *label) { - LiVESWidget *menuitem=NULL; + LiVESWidget *menuitem = NULL; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,10,0) - menuitem=gtk_menu_item_new_with_mnemonic(label); +#if GTK_CHECK_VERSION(3, 10, 0) + menuitem = gtk_menu_item_new_with_mnemonic(label); #else - menuitem=gtk_image_menu_item_new_with_mnemonic(label); + menuitem = gtk_image_menu_item_new_with_mnemonic(label); #endif lives_widget_apply_theme2(menuitem, LIVES_WIDGET_STATE_INSENSITIVE, FALSE); #endif #ifdef GUI_QT - menuitem = new LiVESMenuItem(qmake_mnemonic(QString::fromUtf8(label)),mainw->LiVES); + menuitem = new LiVESMenuItem(qmake_mnemonic(QString::fromUtf8(label)), mainw->LiVES); lives_widget_apply_theme2(menuitem, LIVES_WIDGET_STATE_INSENSITIVE, FALSE); #endif return menuitem; @@ -6125,14 +5998,14 @@ LIVES_INLINE LiVESWidget *lives_radio_menu_item_new_with_label(LiVESSList *group, const char *label) { - LiVESWidget *menuitem=NULL; + LiVESWidget *menuitem = NULL; #ifdef GUI_GTK - menuitem=gtk_radio_menu_item_new_with_label(group,label); + menuitem = gtk_radio_menu_item_new_with_label(group, label); lives_widget_apply_theme2(menuitem, LIVES_WIDGET_STATE_INSENSITIVE, FALSE); #endif #ifdef GUI_QT QActionGroup *qag; - LiVESRadioMenuItem *xmenuitem = new LiVESRadioMenuItem(QString::fromUtf8(label),mainw->LiVES); + LiVESRadioMenuItem *xmenuitem = new LiVESRadioMenuItem(QString::fromUtf8(label), mainw->LiVES); if (group == NULL) { qag = new QActionGroup(NULL); group = lives_slist_append(group, (void *)qag); @@ -6150,7 +6023,6 @@ } - LIVES_INLINE LiVESSList *lives_radio_menu_item_get_group(LiVESRadioMenuItem *rmenuitem) { #ifdef GUI_GTK return gtk_radio_menu_item_get_group(rmenuitem); @@ -6162,15 +6034,14 @@ } - LIVES_INLINE LiVESWidget *lives_check_menu_item_new_with_label(const char *label) { - LiVESWidget *menuitem=NULL; + LiVESWidget *menuitem = NULL; #ifdef GUI_GTK - menuitem=gtk_check_menu_item_new_with_label(label); + menuitem = gtk_check_menu_item_new_with_label(label); lives_widget_apply_theme2(menuitem, LIVES_WIDGET_STATE_INSENSITIVE, FALSE); #endif #ifdef GUI_QT - menuitem = new LiVESCheckMenuItem(QString::fromUtf8(label),mainw->LiVES); + menuitem = new LiVESCheckMenuItem(QString::fromUtf8(label), mainw->LiVES); lives_widget_apply_theme2(menuitem, LIVES_WIDGET_STATE_INSENSITIVE, FALSE); #endif return menuitem; @@ -6178,14 +6049,14 @@ LIVES_INLINE LiVESWidget *lives_check_menu_item_new_with_mnemonic(const char *label) { - LiVESWidget *menuitem=NULL; + LiVESWidget *menuitem = NULL; #ifdef GUI_GTK // TODO - deprecated - menuitem=gtk_check_menu_item_new_with_mnemonic(label); + menuitem = gtk_check_menu_item_new_with_mnemonic(label); lives_widget_apply_theme2(menuitem, LIVES_WIDGET_STATE_INSENSITIVE, FALSE); #endif #ifdef GUI_QT - menuitem = new LiVESCheckMenuItem(qmake_mnemonic(QString::fromUtf8(label)),mainw->LiVES); + menuitem = new LiVESCheckMenuItem(qmake_mnemonic(QString::fromUtf8(label)), mainw->LiVES); lives_widget_apply_theme2(menuitem, LIVES_WIDGET_STATE_INSENSITIVE, FALSE); #endif return menuitem; @@ -6194,7 +6065,7 @@ LIVES_INLINE boolean lives_check_menu_item_set_draw_as_radio(LiVESCheckMenuItem *item, boolean setting) { #ifdef GUI_GTK - gtk_check_menu_item_set_draw_as_radio(item,setting); + gtk_check_menu_item_set_draw_as_radio(item, setting); return TRUE; #endif return FALSE; @@ -6202,34 +6073,34 @@ LIVES_INLINE LiVESWidget *lives_image_menu_item_new_from_stock(const char *stock_id, LiVESAccelGroup *accel_group) { - LiVESWidget *menuitem=NULL; + LiVESWidget *menuitem = NULL; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,10,0) - char *xstock_id=lives_strdup(stock_id); // need to back this up as we will use translation functions - menuitem=gtk_menu_item_new_with_mnemonic(xstock_id); +#if GTK_CHECK_VERSION(3, 10, 0) + char *xstock_id = lives_strdup(stock_id); // need to back this up as we will use translation functions + menuitem = gtk_menu_item_new_with_mnemonic(xstock_id); - if (!strcmp(xstock_id,LIVES_STOCK_LABEL_SAVE)) { - gtk_menu_item_set_accel_path(LIVES_MENU_ITEM(menuitem),"<LiVES>/save"); + if (!strcmp(xstock_id, LIVES_STOCK_LABEL_SAVE)) { + gtk_menu_item_set_accel_path(LIVES_MENU_ITEM(menuitem), "<LiVES>/save"); } - if (!strcmp(xstock_id,LIVES_STOCK_LABEL_QUIT)) { - gtk_menu_item_set_accel_path(LIVES_MENU_ITEM(menuitem),"<LiVES>/quit"); + if (!strcmp(xstock_id, LIVES_STOCK_LABEL_QUIT)) { + gtk_menu_item_set_accel_path(LIVES_MENU_ITEM(menuitem), "<LiVES>/quit"); } lives_free(xstock_id); #else - menuitem=gtk_image_menu_item_new_from_stock(stock_id,accel_group); + menuitem = gtk_image_menu_item_new_from_stock(stock_id, accel_group); #endif lives_widget_apply_theme2(menuitem, LIVES_WIDGET_STATE_INSENSITIVE, FALSE); #endif #ifdef GUI_QT - char *xstock_id=lives_strdup(stock_id); // need to back this up as we will use translation functions - LiVESMenuItem *xmenuitem = new LiVESMenuItem(qmake_mnemonic(QString::fromUtf8(xstock_id)),mainw->LiVES); + char *xstock_id = lives_strdup(stock_id); // need to back this up as we will use translation functions + LiVESMenuItem *xmenuitem = new LiVESMenuItem(qmake_mnemonic(QString::fromUtf8(xstock_id)), mainw->LiVES); - if (!strcmp(xstock_id,LIVES_STOCK_LABEL_SAVE)) { + if (!strcmp(xstock_id, LIVES_STOCK_LABEL_SAVE)) { xmenuitem->setShortcut(make_qkey_sequence(LIVES_KEY_s, LIVES_CONTROL_MASK)); } - if (!strcmp(xstock_id,LIVES_STOCK_LABEL_QUIT)) { + if (!strcmp(xstock_id, LIVES_STOCK_LABEL_QUIT)) { xmenuitem->setMenuRole(QAction::QuitRole); xmenuitem->setShortcut(make_qkey_sequence(LIVES_KEY_q, LIVES_CONTROL_MASK)); } @@ -6244,9 +6115,9 @@ LIVES_INLINE LiVESToolItem *lives_menu_tool_button_new(LiVESWidget *icon, const char *label) { - LiVESToolItem *toolitem=NULL; + LiVESToolItem *toolitem = NULL; #ifdef GUI_GTK - toolitem=gtk_menu_tool_button_new(icon,label); + toolitem = gtk_menu_tool_button_new(icon, label); #endif #ifdef GUI_QT toolitem = new LiVESMenuToolButton(QString::fromUtf8(label), mainw->LiVES, icon); @@ -6255,10 +6126,9 @@ } - LIVES_INLINE boolean lives_menu_tool_button_set_menu(LiVESMenuToolButton *toolbutton, LiVESWidget *menu) { #ifdef GUI_GTK - gtk_menu_tool_button_set_menu(toolbutton,menu); + gtk_menu_tool_button_set_menu(toolbutton, menu); return TRUE; #endif #ifdef GUI_QT @@ -6269,10 +6139,9 @@ } - LIVES_INLINE boolean lives_menu_item_set_submenu(LiVESMenuItem *menuitem, LiVESWidget *menu) { #ifdef GUI_GTK - gtk_menu_item_set_submenu(menuitem,menu); + gtk_menu_item_set_submenu(menuitem, menu); #ifdef GTK_SUBMENU_SENS_BUG if (!lives_widget_is_sensitive(LIVES_WIDGET(menuitem))) { @@ -6291,7 +6160,6 @@ } - LIVES_INLINE boolean lives_menu_item_activate(LiVESMenuItem *menuitem) { #ifdef GUI_GTK gtk_menu_item_activate(menuitem); @@ -6305,10 +6173,9 @@ } - LIVES_INLINE boolean lives_check_menu_item_set_active(LiVESCheckMenuItem *item, boolean state) { #ifdef GUI_GTK - gtk_check_menu_item_set_active(item,state); + gtk_check_menu_item_set_active(item, state); return TRUE; #endif #ifdef GUI_QT @@ -6330,11 +6197,11 @@ } -#if !GTK_CHECK_VERSION(3,10,0) +#if !GTK_CHECK_VERSION(3, 10, 0) LIVES_INLINE boolean lives_image_menu_item_set_image(LiVESImageMenuItem *item, LiVESWidget *image) { #ifdef GUI_GTK - gtk_image_menu_item_set_image(item,image); + gtk_image_menu_item_set_image(item, image); return TRUE; #endif #ifdef GUI_QT @@ -6354,15 +6221,15 @@ LIVES_INLINE boolean lives_menu_set_title(LiVESMenu *menu, const char *title) { #ifdef GUI_GTK -#if !GTK_CHECK_VERSION(3,10,0) - char *ntitle=lives_strdup_printf("%s%s",widget_opts.title_prefix,title); - gtk_menu_set_title(menu,ntitle); +#if !GTK_CHECK_VERSION(3, 10, 0) + char *ntitle = lives_strdup_printf("%s%s", widget_opts.title_prefix, title); + gtk_menu_set_title(menu, ntitle); lives_free(ntitle); return TRUE; #endif #endif #ifdef GUI_QT - char *ntitle=lives_strdup_printf("%s%s",widget_opts.title_prefix,title); + char *ntitle = lives_strdup_printf("%s%s", widget_opts.title_prefix, title); menu->setTitle(QString::fromUtf8(title)); lives_free(ntitle); return TRUE; @@ -6371,7 +6238,6 @@ } - LIVES_INLINE boolean lives_menu_popup(LiVESMenu *menu, LiVESXEventButton *event) { #ifdef GUI_GTK gtk_menu_popup(menu, NULL, NULL, NULL, NULL, event->button, event->time); @@ -6387,7 +6253,7 @@ LIVES_INLINE boolean lives_menu_reorder_child(LiVESMenu *menu, LiVESWidget *child, int pos) { #ifdef GUI_GTK - gtk_menu_reorder_child(menu,child,pos); + gtk_menu_reorder_child(menu, child, pos); return TRUE; #endif #ifdef GUI_QT @@ -6398,7 +6264,6 @@ } - LIVES_INLINE boolean lives_menu_detach(LiVESMenu *menu) { // NB also calls detacher callback #ifdef GUI_GTK @@ -6416,7 +6281,7 @@ LIVES_INLINE boolean lives_menu_shell_append(LiVESMenuShell *menushell, LiVESWidget *child) { #ifdef GUI_GTK - gtk_menu_shell_append(menushell,child); + gtk_menu_shell_append(menushell, child); return TRUE; #endif #ifdef GUI_QT @@ -6434,10 +6299,9 @@ } - LIVES_INLINE boolean lives_menu_shell_insert(LiVESMenuShell *menushell, LiVESWidget *child, int pos) { #ifdef GUI_GTK - gtk_menu_shell_insert(menushell,child,pos); + gtk_menu_shell_insert(menushell, child, pos); return TRUE; #endif #ifdef GUI_QT @@ -6449,10 +6313,9 @@ } - LIVES_INLINE boolean lives_menu_shell_prepend(LiVESMenuShell *menushell, LiVESWidget *child) { #ifdef GUI_GTK - gtk_menu_shell_prepend(menushell,child); + gtk_menu_shell_prepend(menushell, child); return TRUE; #endif #ifdef GUI_QT @@ -6462,14 +6325,12 @@ } - - LIVES_INLINE boolean lives_image_menu_item_set_always_show_image(LiVESImageMenuItem *item, boolean show) { // return TRUE if implemented #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,16,0) -#if !GTK_CHECK_VERSION(3,10,0) - gtk_image_menu_item_set_always_show_image(item,show); +#if GTK_CHECK_VERSION(2, 16, 0) +#if !GTK_CHECK_VERSION(3, 10, 0) + gtk_image_menu_item_set_always_show_image(item, show); #endif return TRUE; #endif @@ -6484,7 +6345,7 @@ LIVES_INLINE boolean lives_scale_set_draw_value(LiVESScale *scale, boolean draw_value) { #ifdef GUI_GTK - gtk_scale_set_draw_value(scale,draw_value); + gtk_scale_set_draw_value(scale, draw_value); return TRUE; #endif #ifdef GUI_QT @@ -6496,7 +6357,7 @@ LIVES_INLINE boolean lives_scale_set_value_pos(LiVESScale *scale, LiVESPositionType ptype) { #ifdef GUI_GTK - gtk_scale_set_value_pos(scale,ptype); + gtk_scale_set_value_pos(scale, ptype); return TRUE; #endif #ifdef GUI_QT @@ -6507,10 +6368,9 @@ } - LIVES_INLINE boolean lives_scale_set_digits(LiVESScale *scale, int digits) { #ifdef GUI_GTK - gtk_scale_set_digits(scale,digits); + gtk_scale_set_digits(scale, digits); return TRUE; #endif #ifdef GUI_QT @@ -6521,17 +6381,15 @@ } - - LIVES_INLINE boolean lives_scale_button_set_orientation(LiVESScaleButton *scale, LiVESOrientation orientation) { // return TRUE if implemented #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - gtk_orientable_set_orientation(GTK_ORIENTABLE(scale),orientation); +#if GTK_CHECK_VERSION(3, 0, 0) + gtk_orientable_set_orientation(GTK_ORIENTABLE(scale), orientation); return TRUE; #else -#if GTK_CHECK_VERSION(2,14,0) - gtk_scale_button_set_orientation(scale,orientation); +#if GTK_CHECK_VERSION(2, 14, 0) + gtk_scale_button_set_orientation(scale, orientation); return TRUE; #endif #endif @@ -6545,12 +6403,12 @@ LIVES_INLINE double lives_scale_button_get_value(LiVESScaleButton *scale) { - double value=0.; + double value = 0.; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,14,0) - value=gtk_scale_button_get_value(scale); +#if GTK_CHECK_VERSION(2, 14, 0) + value = gtk_scale_button_get_value(scale); #else - value=gtk_adjustment_get_value(gtk_range_get_adjustment(scale)); + value = gtk_adjustment_get_value(gtk_range_get_adjustment(scale)); #endif #endif #ifdef GUI_QT @@ -6559,12 +6417,13 @@ return value; } + LIVES_INLINE boolean lives_scale_button_set_value(LiVESScaleButton *scale, double value) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,14,0) - gtk_scale_button_set_value(scale,value); +#if GTK_CHECK_VERSION(2, 14, 0) + gtk_scale_button_set_value(scale, value); #else - gtk_adjustment_set_value(gtk_range_get_adjustment(scale),value); + gtk_adjustment_set_value(gtk_range_get_adjustment(scale), value); #endif return TRUE; #endif @@ -6577,9 +6436,9 @@ LIVES_INLINE char *lives_file_chooser_get_filename(LiVESFileChooser *chooser) { - char *fname=NULL; + char *fname = NULL; #ifdef GUI_GTK - fname=gtk_file_chooser_get_filename(chooser); + fname = gtk_file_chooser_get_filename(chooser); #endif #ifdef GUI_QT QStringList qsl = chooser->selectedFiles(); @@ -6590,14 +6449,14 @@ LIVES_INLINE LiVESSList *lives_file_chooser_get_filenames(LiVESFileChooser *chooser) { - LiVESSList *fnlist=NULL; + LiVESSList *fnlist = NULL; #ifdef GUI_GTK - fnlist=gtk_file_chooser_get_filenames(chooser); + fnlist = gtk_file_chooser_get_filenames(chooser); #endif #ifdef GUI_QT QStringList qsl = chooser->selectedFiles(); - for (int i=0; i < qsl.size(); i++) { - fnlist = lives_slist_append(fnlist,((livesconstpointer)(strdup(qsl.at(0).toUtf8().constData())))); + for (int i = 0; i < qsl.size(); i++) { + fnlist = lives_slist_append(fnlist, ((livesconstpointer)(strdup(qsl.at(0).toUtf8().constData())))); } #endif return fnlist; @@ -6605,10 +6464,10 @@ #ifdef GUI_GTK LIVES_INLINE LiVESWidget *lives_grid_new(void) { - LiVESWidget *grid=NULL; + LiVESWidget *grid = NULL; #ifdef GUI_GTK #if GTK_CHECK_VERSION(3,2,0) // required for grid widget - grid=gtk_grid_new(); + grid = gtk_grid_new(); #endif #endif return grid; @@ -6618,7 +6477,7 @@ LIVES_INLINE boolean lives_grid_set_row_spacing(LiVESGrid *grid, uint32_t spacing) { #ifdef GUI_GTK #if GTK_CHECK_VERSION(3,2,0) // required for grid widget - gtk_grid_set_row_spacing(grid,spacing); + gtk_grid_set_row_spacing(grid, spacing); return TRUE; #endif #endif @@ -6629,7 +6488,7 @@ LIVES_INLINE boolean lives_grid_set_column_spacing(LiVESGrid *grid, uint32_t spacing) { #ifdef GUI_GTK #if GTK_CHECK_VERSION(3,2,0) // required for grid widget - gtk_grid_set_column_spacing(grid,spacing); + gtk_grid_set_column_spacing(grid, spacing); return TRUE; #endif #endif @@ -6639,8 +6498,8 @@ LIVES_INLINE boolean lives_grid_remove_row(LiVESGrid *grid, int posn) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,10,0) - gtk_grid_remove_row(grid,posn); +#if GTK_CHECK_VERSION(3, 10, 0) + gtk_grid_remove_row(grid, posn); return TRUE; #endif #endif @@ -6648,11 +6507,10 @@ } - LIVES_INLINE boolean lives_grid_insert_row(LiVESGrid *grid, int posn) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,10,0) - gtk_grid_insert_row(grid,posn); +#if GTK_CHECK_VERSION(3, 10, 0) + gtk_grid_insert_row(grid, posn); return TRUE; #endif @@ -6664,7 +6522,7 @@ LiVESPositionType side, int width, int height) { #ifdef GUI_GTK #if GTK_CHECK_VERSION(3,2,0) // required for grid widget - gtk_grid_attach_next_to(grid,child,sibling,side,width,height); + gtk_grid_attach_next_to(grid, child, sibling, side, width, height); return TRUE; #endif #endif @@ -6674,9 +6532,9 @@ #endif LIVES_INLINE LiVESWidget *lives_frame_new(const char *label) { - LiVESWidget *frame=NULL; + LiVESWidget *frame = NULL; #ifdef GUI_GTK - frame=gtk_frame_new(label); + frame = gtk_frame_new(label); #endif #ifdef GUI_QT frame = new LiVESFrame(label); @@ -6685,10 +6543,9 @@ } - LIVES_INLINE boolean lives_frame_set_label(LiVESFrame *frame, const char *label) { #ifdef GUI_GTK - gtk_frame_set_label(frame,label); + gtk_frame_set_label(frame, label); return TRUE; #endif #ifdef GUI_QT @@ -6701,17 +6558,16 @@ LIVES_INLINE boolean lives_frame_set_label_align(LiVESFrame *frame, float xalign, float yalign) { #ifdef GUI_GTK - gtk_frame_set_label_align(frame,xalign,yalign); + gtk_frame_set_label_align(frame, xalign, yalign); return TRUE; #endif return FALSE; } - LIVES_INLINE boolean lives_frame_set_label_widget(LiVESFrame *frame, LiVESWidget *widget) { #ifdef GUI_GTK - gtk_frame_set_label_widget(frame,widget); + gtk_frame_set_label_widget(frame, widget); return TRUE; #endif #ifdef GUI_QT @@ -6722,11 +6578,10 @@ } - LIVES_INLINE LiVESWidget *lives_frame_get_label_widget(LiVESFrame *frame) { - LiVESWidget *widget=NULL; + LiVESWidget *widget = NULL; #ifdef GUI_GTK - widget=gtk_frame_get_label_widget(frame); + widget = gtk_frame_get_label_widget(frame); #endif #ifdef GUI_QT widget = frame->get_label_widget(); @@ -6735,10 +6590,9 @@ } - LIVES_INLINE boolean lives_frame_set_shadow_type(LiVESFrame *frame, LiVESShadowType stype) { #ifdef GUI_GTK - gtk_frame_set_shadow_type(frame,stype); + gtk_frame_set_shadow_type(frame, stype); return TRUE; #endif #ifdef GUI_QT @@ -6748,11 +6602,10 @@ } - LIVES_INLINE LiVESWidget *lives_notebook_new(void) { - LiVESWidget *nbook=NULL; + LiVESWidget *nbook = NULL; #ifdef GUI_GTK - nbook=gtk_notebook_new(); + nbook = gtk_notebook_new(); #endif #ifdef GUI_QT nbook = new LiVESNotebook; @@ -6761,11 +6614,10 @@ } - LIVES_INLINE LiVESWidget *lives_notebook_get_nth_page(LiVESNotebook *nbook, int pagenum) { - LiVESWidget *page=NULL; + LiVESWidget *page = NULL; #ifdef GUI_GTK - page=gtk_notebook_get_nth_page(nbook,pagenum); + page = gtk_notebook_get_nth_page(nbook, pagenum); #endif #ifdef GUI_QT QWidget *qwidget = nbook->widget(pagenum); @@ -6778,11 +6630,10 @@ } - LIVES_INLINE int lives_notebook_get_current_page(LiVESNotebook *nbook) { - int pagenum=-1; + int pagenum = -1; #ifdef GUI_GTK - pagenum=gtk_notebook_get_current_page(nbook); + pagenum = gtk_notebook_get_current_page(nbook); #endif #ifdef GUI_QT pagenum = nbook->currentIndex(); @@ -6791,10 +6642,9 @@ } - LIVES_INLINE boolean lives_notebook_set_current_page(LiVESNotebook *nbook, int pagenum) { #ifdef GUI_GTK - gtk_notebook_set_current_page(nbook,pagenum); + gtk_notebook_set_current_page(nbook, pagenum); return TRUE; #endif #ifdef GUI_QT @@ -6805,10 +6655,9 @@ } - LIVES_INLINE boolean lives_notebook_set_tab_label(LiVESNotebook *nbook, LiVESWidget *child, LiVESWidget *tablabel) { #ifdef GUI_GTK - gtk_notebook_set_tab_label(nbook,child,tablabel); + gtk_notebook_set_tab_label(nbook, child, tablabel); return TRUE; #endif #ifdef GUI_QT @@ -6819,29 +6668,28 @@ } - LIVES_INLINE LiVESWidget *lives_table_new(uint32_t rows, uint32_t cols, boolean homogeneous) { - LiVESWidget *table=NULL; + LiVESWidget *table = NULL; #ifdef GUI_GTK #if LIVES_TABLE_IS_GRID // required for grid remove row register int i; - GtkGrid *grid=(GtkGrid *)lives_grid_new(); - gtk_grid_set_row_homogeneous(grid,homogeneous); - gtk_grid_set_column_homogeneous(grid,homogeneous); + GtkGrid *grid = (GtkGrid *)lives_grid_new(); + gtk_grid_set_row_homogeneous(grid, homogeneous); + gtk_grid_set_column_homogeneous(grid, homogeneous); - for (i=0; i<rows; i++) { - gtk_grid_insert_row(grid,0); + for (i = 0; i < rows; i++) { + gtk_grid_insert_row(grid, 0); } - for (i=0; i<cols; i++) { - gtk_grid_insert_column(grid,0); + for (i = 0; i < cols; i++) { + gtk_grid_insert_column(grid, 0); } - g_object_set_data(LIVES_WIDGET_OBJECT(grid),"rows",LIVES_INT_TO_POINTER(rows)); - g_object_set_data(LIVES_WIDGET_OBJECT(grid),"cols",LIVES_INT_TO_POINTER(cols)); - table=(LiVESWidget *)grid; + g_object_set_data(LIVES_WIDGET_OBJECT(grid), "rows", LIVES_INT_TO_POINTER(rows)); + g_object_set_data(LIVES_WIDGET_OBJECT(grid), "cols", LIVES_INT_TO_POINTER(cols)); + table = (LiVESWidget *)grid; #else - table=gtk_table_new(rows,cols,homogeneous); + table = gtk_table_new(rows, cols, homogeneous); #endif #endif #ifdef GUI_QT @@ -6854,9 +6702,9 @@ LIVES_INLINE boolean lives_table_set_row_spacings(LiVESTable *table, uint32_t spacing) { #ifdef GUI_GTK #if LIVES_TABLE_IS_GRID // required for grid remove row - lives_grid_set_row_spacing(table,spacing); + lives_grid_set_row_spacing(table, spacing); #else - gtk_table_set_row_spacings(table,spacing); + gtk_table_set_row_spacings(table, spacing); return TRUE; #endif #endif @@ -6868,13 +6716,12 @@ } - LIVES_INLINE boolean lives_table_set_col_spacings(LiVESTable *table, uint32_t spacing) { #ifdef GUI_GTK #if LIVES_TABLE_IS_GRID // required for grid remove row - lives_grid_set_column_spacing(table,spacing); + lives_grid_set_column_spacing(table, spacing); #else - gtk_table_set_col_spacings(table,spacing); + gtk_table_set_col_spacings(table, spacing); return TRUE; #endif #endif @@ -6889,7 +6736,7 @@ LIVES_INLINE boolean lives_table_set_row_homogeneous(LiVESTable *table, boolean homogeneous) { #ifdef GUI_GTK #if LIVES_TABLE_IS_GRID - gtk_grid_set_row_homogeneous(table,homogeneous); + gtk_grid_set_row_homogeneous(table, homogeneous); return TRUE; #endif #endif @@ -6900,7 +6747,7 @@ LIVES_INLINE boolean lives_table_set_column_homogeneous(LiVESTable *table, boolean homogeneous) { #ifdef GUI_GTK #if LIVES_TABLE_IS_GRID - gtk_grid_set_column_homogeneous(table,homogeneous); + gtk_grid_set_column_homogeneous(table, homogeneous); return TRUE; #endif #endif @@ -6908,25 +6755,24 @@ } - LIVES_INLINE boolean lives_table_resize(LiVESTable *table, uint32_t rows, uint32_t cols) { #ifdef GUI_GTK #if LIVES_TABLE_IS_GRID // required for grid remove row register int i; - for (i=LIVES_POINTER_TO_INT(g_object_get_data(LIVES_WIDGET_OBJECT(table),"rows")); i<rows; i++) { - gtk_grid_insert_row(table,i); + for (i = LIVES_POINTER_TO_INT(g_object_get_data(LIVES_WIDGET_OBJECT(table), "rows")); i < rows; i++) { + gtk_grid_insert_row(table, i); } - for (i=LIVES_POINTER_TO_INT(g_object_get_data(LIVES_WIDGET_OBJECT(table),"cols")); i<cols; i++) { - gtk_grid_insert_column(table,i); + for (i = LIVES_POINTER_TO_INT(g_object_get_data(LIVES_WIDGET_OBJECT(table), "cols")); i < cols; i++) { + gtk_grid_insert_column(table, i); } - g_object_set_data(LIVES_WIDGET_OBJECT(table),"rows",LIVES_INT_TO_POINTER(rows)); - g_object_set_data(LIVES_WIDGET_OBJECT(table),"cols",LIVES_INT_TO_POINTER(cols)); + g_object_set_data(LIVES_WIDGET_OBJECT(table), "rows", LIVES_INT_TO_POINTER(rows)); + g_object_set_data(LIVES_WIDGET_OBJECT(table), "cols", LIVES_INT_TO_POINTER(cols)); #else - gtk_table_resize(table,rows,cols); + gtk_table_resize(table, rows, cols); #endif return TRUE; #endif @@ -6940,31 +6786,30 @@ LIVES_INLINE boolean lives_table_attach(LiVESTable *table, LiVESWidget *child, uint32_t left, uint32_t right, uint32_t top, uint32_t bottom, LiVESAttachOptions xoptions, LiVESAttachOptions yoptions, uint32_t xpad, uint32_t ypad) { - #ifdef GUI_GTK #if LIVES_TABLE_IS_GRID // required for grid remove row - gtk_grid_attach(table,child,left,top,right-left,bottom-top); - if (xoptions&LIVES_EXPAND) - lives_widget_set_hexpand(child,TRUE); + gtk_grid_attach(table, child, left, top, right - left, bottom - top); + if (xoptions & LIVES_EXPAND) + lives_widget_set_hexpand(child, TRUE); else - lives_widget_set_hexpand(child,FALSE); - if (yoptions&LIVES_EXPAND) - lives_widget_set_vexpand(child,TRUE); + lives_widget_set_hexpand(child, FALSE); + if (yoptions & LIVES_EXPAND) + lives_widget_set_vexpand(child, TRUE); else - lives_widget_set_vexpand(child,FALSE); + lives_widget_set_vexpand(child, FALSE); -#if GTK_CHECK_VERSION(3,12,0) - gtk_widget_set_margin_start(child,xpad); - gtk_widget_set_margin_end(child,xpad); +#if GTK_CHECK_VERSION(3, 12, 0) + gtk_widget_set_margin_start(child, xpad); + gtk_widget_set_margin_end(child, xpad); #else - gtk_widget_set_margin_left(child,xpad); - gtk_widget_set_margin_right(child,xpad); + gtk_widget_set_margin_left(child, xpad); + gtk_widget_set_margin_right(child, xpad); #endif - gtk_widget_set_margin_top(child,ypad); - gtk_widget_set_margin_bottom(child,ypad); + gtk_widget_set_margin_top(child, ypad); + gtk_widget_set_margin_bottom(child, ypad); #else - gtk_table_attach(table,child,left,right,top,bottom,xoptions,yoptions,xpad,ypad); + gtk_table_attach(table, child, left, right, top, bottom, xoptions, yoptions, xpad, ypad); #endif return TRUE; #endif @@ -6972,14 +6817,13 @@ table->addWidget(static_cast<QWidget *>(child), top, left, bottom - top, right - left); - QSizePolicy policy; - if (xoptions&LIVES_EXPAND) { + if (xoptions & LIVES_EXPAND) { policy.setHorizontalPolicy(QSizePolicy::Expanding); } else { policy.setHorizontalPolicy(QSizePolicy::Preferred); } - if (yoptions&LIVES_EXPAND) { + if (yoptions & LIVES_EXPAND) { policy.setVerticalPolicy(QSizePolicy::Expanding); } else { policy.setVerticalPolicy(QSizePolicy::Preferred); @@ -6999,12 +6843,12 @@ LIVES_INLINE LiVESWidget *lives_color_button_new_with_color(const LiVESWidgetColor *color) { - LiVESWidget *cbutton=NULL; + LiVESWidget *cbutton = NULL; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - cbutton=gtk_color_button_new_with_rgba(color); +#if GTK_CHECK_VERSION(3, 0, 0) + cbutton = gtk_color_button_new_with_rgba(color); #else - cbutton=gtk_color_button_new_with_color(color); + cbutton = gtk_color_button_new_with_color(color); #endif #endif #ifdef GUI_QT @@ -7016,13 +6860,13 @@ LIVES_INLINE boolean lives_color_button_get_color(LiVESColorButton *button, LiVESWidgetColor *color) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,4,0) - gtk_color_chooser_get_rgba((GtkColorChooser *)button,color); +#if GTK_CHECK_VERSION(3, 4, 0) + gtk_color_chooser_get_rgba((GtkColorChooser *)button, color); #else -#if GTK_CHECK_VERSION(3,0,0) - gtk_color_button_get_rgba((GtkColorChooser *)button,color); +#if GTK_CHECK_VERSION(3, 0, 0) + gtk_color_button_get_rgba((GtkColorChooser *)button, color); #else - gtk_color_button_get_color(button,color); + gtk_color_button_get_color(button, color); #endif #endif return TRUE; @@ -7036,13 +6880,13 @@ LIVES_INLINE boolean lives_color_button_set_color(LiVESColorButton *button, const LiVESWidgetColor *color) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,4,0) - gtk_color_chooser_set_rgba((GtkColorChooser *)button,color); +#if GTK_CHECK_VERSION(3, 4, 0) + gtk_color_chooser_set_rgba((GtkColorChooser *)button, color); #else -#if GTK_CHECK_VERSION(3,0,0) - gtk_color_button_set_rgba((GtkColorChooser *)button,color); +#if GTK_CHECK_VERSION(3, 0, 0) + gtk_color_button_set_rgba((GtkColorChooser *)button, color); #else - gtk_color_button_set_color(button,color); + gtk_color_button_set_color(button, color); #endif #endif return TRUE; @@ -7057,13 +6901,13 @@ LIVES_INLINE boolean lives_color_button_set_title(LiVESColorButton *button, const char *title) { #ifdef GUI_GTK - char *ntitle=lives_strdup_printf("%s%s",widget_opts.title_prefix,title); - gtk_color_button_set_title(button,title); + char *ntitle = lives_strdup_printf("%s%s", widget_opts.title_prefix, title); + gtk_color_button_set_title(button, title); lives_free(ntitle); return TRUE; #endif #ifdef GUI_QT - char *ntitle=lives_strdup_printf("%s%s",widget_opts.title_prefix,title); + char *ntitle = lives_strdup_printf("%s%s", widget_opts.title_prefix, title); button->set_title(title); lives_free(ntitle); return TRUE; @@ -7072,17 +6916,15 @@ } - - LIVES_INLINE boolean lives_color_button_set_use_alpha(LiVESColorButton *button, boolean use_alpha) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,4,0) - gtk_color_chooser_set_use_alpha((GtkColorChooser *)button,use_alpha); +#if GTK_CHECK_VERSION(3, 4, 0) + gtk_color_chooser_set_use_alpha((GtkColorChooser *)button, use_alpha); #else -#if GTK_CHECK_VERSION(3,0,0) - gtk_color_button_set_use_alpha((GtkColorChooser *)button,use_alpha); +#if GTK_CHECK_VERSION(3, 0, 0) + gtk_color_button_set_use_alpha((GtkColorChooser *)button, use_alpha); #else - gtk_color_button_set_use_alpha(button,use_alpha); + gtk_color_button_set_use_alpha(button, use_alpha); #endif #endif return TRUE; @@ -7095,24 +6937,20 @@ } - - - - LIVES_INLINE boolean lives_widget_get_pointer(LiVESXDevice *device, LiVESWidget *widget, int *x, int *y) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) // try: gdk_event_get_device (event) LiVESXWindow *xwin; - if (widget==NULL) xwin=gdk_get_default_root_window(); - else xwin=lives_widget_get_xwindow(widget); - if (xwin==NULL) { + if (widget == NULL) xwin = gdk_get_default_root_window(); + else xwin = lives_widget_get_xwindow(widget); + if (xwin == NULL) { LIVES_ERROR("Tried to get pointer for windowless widget"); return TRUE; } - gdk_window_get_device_position(xwin,device,x,y,NULL); + gdk_window_get_device_position(xwin, device, x, y, NULL); #else - gtk_widget_get_pointer(widget,x,y); + gtk_widget_get_pointer(widget, x, y); #endif return TRUE; #endif @@ -7128,9 +6966,9 @@ LIVES_INLINE LiVESXDisplay *lives_widget_get_display(LiVESWidget *widget) { - LiVESXDisplay *disp=NULL; + LiVESXDisplay *disp = NULL; #ifdef GUI_GTK - disp=gtk_widget_get_display(widget); + disp = gtk_widget_get_display(widget); #endif #ifdef GUI_QT QWidget *window = widget->window(); @@ -7144,13 +6982,13 @@ LIVES_INLINE LiVESXWindow *lives_display_get_window_at_pointer (LiVESXDevice *device, LiVESXDisplay *display, int *win_x, int *win_y) { - LiVESXWindow *xwindow=NULL; + LiVESXWindow *xwindow = NULL; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - if (device==NULL) return NULL; - xwindow=gdk_device_get_window_at_position(device,win_x,win_y); +#if GTK_CHECK_VERSION(3, 0, 0) + if (device == NULL) return NULL; + xwindow = gdk_device_get_window_at_position(device, win_x, win_y); #else - xwindow=gdk_display_get_window_at_pointer(display,win_x,win_y); + xwindow = gdk_display_get_window_at_pointer(display, win_x, win_y); #endif #endif #ifdef GUI_QT @@ -7159,18 +6997,17 @@ xwindow = widget->windowHandle(); #endif return xwindow; - } LIVES_INLINE boolean lives_display_get_pointer (LiVESXDevice *device, LiVESXDisplay *display, LiVESXScreen **screen, int *x, int *y, LiVESXModifierType *mask) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - if (device==NULL) return TRUE; - gdk_device_get_position(device,screen,x,y); +#if GTK_CHECK_VERSION(3, 0, 0) + if (device == NULL) return TRUE; + gdk_device_get_position(device, screen, x, y); #else - gdk_display_get_pointer(display,screen,x,y,mask); + gdk_display_get_pointer(display, screen, x, y, mask); #endif return TRUE; #endif @@ -7181,19 +7018,18 @@ return TRUE; #endif return FALSE; - } LIVES_INLINE boolean lives_display_warp_pointer (LiVESXDevice *device, LiVESXDisplay *display, LiVESXScreen *screen, int x, int y) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - if (device==NULL) return TRUE; - gdk_device_warp(device,screen,x,y); +#if GTK_CHECK_VERSION(3, 0, 0) + if (device == NULL) return TRUE; + gdk_device_warp(device, screen, x, y); #else -#if GLIB_CHECK_VERSION(2,8,0) - gdk_display_warp_pointer(display,screen,x,y); +#if GLIB_CHECK_VERSION(2, 8, 0) + gdk_display_warp_pointer(display, screen, x, y); #endif #endif return TRUE; @@ -7207,12 +7043,15 @@ LIVES_INLINE lives_display_t lives_widget_get_display_type(LiVESWidget *widget) { - lives_display_t dtype=LIVES_DISPLAY_TYPE_UNKNOWN; + lives_display_t dtype = LIVES_DISPLAY_TYPE_UNKNOWN; #ifdef GUI_GTK - LiVESXDisplay *display=gtk_widget_get_display(widget); - display=display; // stop compiler complaining - if (GDK_IS_X11_DISPLAY(display)) dtype=LIVES_DISPLAY_TYPE_X11; - else if (GDK_IS_WIN32_DISPLAY(display)) dtype=LIVES_DISPLAY_TYPE_WIN32; + LiVESXDisplay *display = gtk_widget_get_display(widget); + display = display; // stop compiler complaining + if (GDK_IS_X11_DISPLAY(display)) dtype = LIVES_DISPLAY_TYPE_X11; +#ifdef GDK_WINDOWING_WAYLAND + else if (GDK_IS_WAYLAND_DISPLAY(display)) dtype = LIVES_DISPLAY_TYPE_WAYLAND; +#endif + else if (GDK_IS_WIN32_DISPLAY(display)) dtype = LIVES_DISPLAY_TYPE_WIN32; #endif #ifdef GUI_QT #ifdef Q_WS_X11 @@ -7227,16 +7066,16 @@ LIVES_INLINE uint64_t lives_widget_get_xwinid(LiVESWidget *widget, const char *msg) { - uint64_t xwin=-1; + uint64_t xwin = -1; #ifdef GUI_GTK #ifdef GDK_WINDOWING_X11 - if (lives_widget_get_display_type(widget)==LIVES_DISPLAY_TYPE_X11) - xwin=(uint64_t)GDK_WINDOW_XID(lives_widget_get_xwindow(widget)); + if (lives_widget_get_display_type(widget) == LIVES_DISPLAY_TYPE_X11) + xwin = (uint64_t)GDK_WINDOW_XID(lives_widget_get_xwindow(widget)); else #endif #ifdef GDK_WINDOWING_WIN32 - if (lives_widget_get_display_type(widget)==LIVES_DISPLAY_TYPE_WIN32) - xwin=(uint64_t)gdk_win32_drawable_get_handle(lives_widget_get_xwindow(widget)); + if (lives_widget_get_display_type(widget) == LIVES_DISPLAY_TYPE_WIN32) + xwin = (uint64_t)gdk_win32_drawable_get_handle(lives_widget_get_xwindow(widget)); else #endif #endif @@ -7244,19 +7083,19 @@ if (LIVES_IS_WINDOW(widget)) xwin = (uint64_t)widget->effectiveWinId(); else #endif - if (msg!=NULL) LIVES_WARN(msg); + if (msg != NULL) LIVES_WARN(msg); return xwin; } LIVES_INLINE uint32_t lives_timer_add(uint32_t interval, LiVESWidgetSourceFunc function, livespointer data) { - uint32_t timer=0; + uint32_t timer = 0; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - timer=g_timeout_add(interval,function,data); +#if GTK_CHECK_VERSION(3, 0, 0) + timer = g_timeout_add(interval, function, data); #else - timer=gtk_timeout_add(interval,function,data); + timer = gtk_timeout_add(interval, function, data); #endif #endif #ifdef GUI_QT @@ -7269,7 +7108,7 @@ LIVES_INLINE boolean lives_timer_remove(uint32_t timer) { #ifdef GUI_GTK -#if !GTK_CHECK_VERSION(3,0,0) +#if !GTK_CHECK_VERSION(3, 0, 0) gtk_timeout_remove(timer); return TRUE; #endif @@ -7281,21 +7120,19 @@ } - -boolean lives_source_remove(ulong handle) { +boolean lives_source_remove(uint32_t handle) { #ifdef GUI_GTK g_source_remove(handle); return TRUE; #endif #ifdef GUI_QT - lives_timer_remove((uint32_t)handle); + lives_timer_remove(handle); return TRUE; #endif return FALSE; } - LIVES_INLINE uint32_t lives_accelerator_get_default_mod_mask() { #ifdef GUI_GTK return gtk_accelerator_get_default_mod_mask(); @@ -7306,7 +7143,6 @@ } - LIVES_INLINE int lives_screen_get_width(LiVESXScreen *screen) { #ifdef GUI_GTK return gdk_screen_get_width(screen); @@ -7317,6 +7153,7 @@ return 0; } + LIVES_INLINE int lives_screen_get_height(LiVESXScreen *screen) { #ifdef GUI_GTK return gdk_screen_get_height(screen); @@ -7330,8 +7167,8 @@ LIVES_INLINE boolean global_recent_manager_add(const char *full_file_name) { #ifdef GUI_GTK - char *tmp=g_filename_to_uri(full_file_name,NULL,NULL); - gtk_recent_manager_add_item(gtk_recent_manager_get_default(),tmp); + char *tmp = g_filename_to_uri(full_file_name, NULL, NULL); + gtk_recent_manager_add_item(gtk_recent_manager_get_default(), tmp); g_free(tmp); return TRUE; #endif @@ -7340,9 +7177,9 @@ LIVES_INLINE LiVESXCursor *lives_cursor_new_from_pixbuf(LiVESXDisplay *disp, LiVESPixbuf *pixbuf, int x, int y) { - LiVESXCursor *cursor=NULL; + LiVESXCursor *cursor = NULL; #ifdef GUI_GTK - cursor=gdk_cursor_new_from_pixbuf(disp,pixbuf,x,y); + cursor = gdk_cursor_new_from_pixbuf(disp, pixbuf, x, y); #endif #ifdef GUI_QT QPixmap qpx; @@ -7356,33 +7193,46 @@ // compound functions +boolean lives_has_toplevel_focus() { + LiVESWidget *widget; + lives_widget_context_update(); + widget = lives_window_get_focus(LIVES_WINDOW(LIVES_MAIN_WINDOW_WIDGET)); + if (!LIVES_IS_WIDGET(widget)) return FALSE; + return lives_widget_has_focus(widget); +} + LIVES_INLINE boolean lives_entry_set_editable(LiVESEntry *entry, boolean editable) { - return lives_editable_set_editable(LIVES_EDITABLE(entry),editable); + return lives_editable_set_editable(LIVES_EDITABLE(entry), editable); } static void set_label_state(LiVESWidget *widget, LiVESWidgetState state, livespointer labelp) { - LiVESWidget *label=(LiVESWidget *)labelp; - if (lives_widget_get_sensitive(widget)&&!lives_widget_get_sensitive(label)) { - lives_widget_set_sensitive(label,TRUE); + LiVESWidget *label = (LiVESWidget *)labelp; + if (lives_widget_get_sensitive(widget) && !lives_widget_get_sensitive(label)) { + lives_widget_set_sensitive(label, TRUE); } - if (!lives_widget_get_sensitive(widget)&&lives_widget_get_sensitive(label)) { - lives_widget_set_sensitive(label,FALSE); + if (!lives_widget_get_sensitive(widget) && lives_widget_get_sensitive(label)) { + lives_widget_set_sensitive(label, FALSE); } } +LIVES_INLINE void lives_label_set_hpadding(LiVESLabel *label, int pad) { + const char *text = lives_label_get_text(label); + lives_label_set_width_chars(label, strlen(text) + pad); +} + void lives_tooltips_copy(LiVESWidget *dest, LiVESWidget *source) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,12,0) - char *text=gtk_widget_get_tooltip_text(source); - lives_widget_set_tooltip_text(dest,text); +#if GTK_CHECK_VERSION(2, 12, 0) + char *text = gtk_widget_get_tooltip_text(source); + lives_widget_set_tooltip_text(dest, text); lives_free(text); #else - GtkTooltipsData *td=gtk_tooltips_data_get(source); - if (td==NULL) return; + GtkTooltipsData *td = gtk_tooltips_data_get(source); + if (td == NULL) return; gtk_tooltips_set_tip(td->tooltips, dest, td->tip_text, td->tip_private); #endif #endif @@ -7395,37 +7245,33 @@ boolean lives_combo_populate(LiVESCombo *combo, LiVESList *list) { register int i; // remove any current list - if (!lives_combo_set_active_index(combo,-1)) return FALSE; + if (!lives_combo_set_active_index(combo, -1)) return FALSE; if (!lives_combo_remove_all_text(combo)) return FALSE; // add the new list - for (i=0; i<lives_list_length(list); i++) { - if (!lives_combo_append_text(LIVES_COMBO(combo),(const char *)lives_list_nth_data(list,i))) return FALSE; + for (i = 0; i < lives_list_length(list); i++) { + if (!lives_combo_append_text(LIVES_COMBO(combo), (const char *)lives_list_nth_data(list, i))) return FALSE; } return TRUE; } - - - ///// lives compounds - LiVESWidget *lives_volume_button_new(LiVESOrientation orientation, LiVESAdjustment *adj, double volume) { - LiVESWidget *volume_scale=NULL; + LiVESWidget *volume_scale = NULL; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,14,0) - volume_scale=gtk_volume_button_new(); - gtk_scale_button_set_value(GTK_SCALE_BUTTON(volume_scale),volume); - lives_scale_button_set_orientation(LIVES_SCALE_BUTTON(volume_scale),orientation); +#if GTK_CHECK_VERSION(2, 14, 0) + volume_scale = gtk_volume_button_new(); + gtk_scale_button_set_value(GTK_SCALE_BUTTON(volume_scale), volume); + lives_scale_button_set_orientation(LIVES_SCALE_BUTTON(volume_scale), orientation); #else - if (orientation==LIVES_ORIENTATION_HORIZONTAL) - volume_scale=lives_hscale_new(adj); + if (orientation == LIVES_ORIENTATION_HORIZONTAL) + volume_scale = lives_hscale_new(adj); else - volume_scale=lives_vscale_new(adj); + volume_scale = lives_vscale_new(adj); - gtk_scale_set_draw_value(GTK_SCALE(volume_scale),FALSE); + gtk_scale_set_draw_value(GTK_SCALE(volume_scale), FALSE); #endif #endif #ifdef GUI_QT @@ -7439,9 +7285,9 @@ LiVESWidget *lives_standard_label_new(const char *text) { - LiVESWidget *label=NULL; + LiVESWidget *label = NULL; - label=lives_label_new(text); + label = lives_label_new(text); lives_widget_apply_theme(label, LIVES_WIDGET_STATE_NORMAL); @@ -7450,80 +7296,78 @@ LiVESWidget *lives_standard_label_new_with_mnemonic(const char *text, LiVESWidget *mnemonic_widget) { - LiVESWidget *label=NULL; + LiVESWidget *label = NULL; - label=lives_label_new(""); - lives_label_set_text_with_mnemonic(LIVES_LABEL(label),text); + label = lives_label_new(""); + lives_label_set_text_with_mnemonic(LIVES_LABEL(label), text); lives_widget_apply_theme(label, LIVES_WIDGET_STATE_NORMAL); - if (mnemonic_widget!=NULL) lives_label_set_mnemonic_widget(LIVES_LABEL(label),mnemonic_widget); + if (mnemonic_widget != NULL) lives_label_set_mnemonic_widget(LIVES_LABEL(label), mnemonic_widget); return label; } - LiVESWidget *lives_standard_frame_new(const char *labeltext, float xalign, boolean invis) { - LiVESWidget *frame=lives_frame_new(NULL); - LiVESWidget *label=NULL; + LiVESWidget *frame = lives_frame_new(NULL); + LiVESWidget *label = NULL; lives_container_set_border_width(LIVES_CONTAINER(frame), widget_opts.border_width); - if (labeltext!=NULL) { - label=lives_standard_label_new(labeltext); - lives_frame_set_label_widget(LIVES_FRAME(frame),label); + if (labeltext != NULL) { + label = lives_standard_label_new(labeltext); + lives_frame_set_label_widget(LIVES_FRAME(frame), label); } - widget_opts.last_label=label; + widget_opts.last_label = label; if (invis) lives_frame_set_shadow_type(LIVES_FRAME(frame), LIVES_SHADOW_NONE); lives_widget_apply_theme(frame, LIVES_WIDGET_STATE_NORMAL); - if (xalign>=0.) lives_frame_set_label_align(LIVES_FRAME(frame),xalign,0.5); + if (xalign >= 0.) lives_frame_set_label_align(LIVES_FRAME(frame), xalign, 0.5); return frame; } - LiVESWidget *lives_standard_check_button_new(const char *labeltext, boolean use_mnemonic, LiVESBox *box, const char *tooltip) { - LiVESWidget *checkbutton=NULL; + LiVESWidget *checkbutton = NULL; // pack a themed check button into box - LiVESWidget *eventbox=NULL; - LiVESWidget *label=NULL; + LiVESWidget *eventbox = NULL; + LiVESWidget *label = NULL; LiVESWidget *hbox; checkbutton = lives_check_button_new(); - if (tooltip!=NULL) lives_widget_set_tooltip_text(checkbutton, tooltip); + if (tooltip != NULL) lives_widget_set_tooltip_text(checkbutton, tooltip); - widget_opts.last_label=NULL; + widget_opts.last_label = NULL; - if (labeltext!=NULL) { - eventbox=lives_event_box_new(); - if (tooltip!=NULL) lives_tooltips_copy(eventbox,checkbutton); + if (labeltext != NULL) { + eventbox = lives_event_box_new(); + if (tooltip != NULL) lives_tooltips_copy(eventbox, checkbutton); if (use_mnemonic) { - label=lives_standard_label_new_with_mnemonic(labeltext,checkbutton); - } else label=lives_standard_label_new(labeltext); + label = lives_standard_label_new_with_mnemonic(labeltext, checkbutton); + } else label = lives_standard_label_new(labeltext); - lives_container_add(LIVES_CONTAINER(eventbox),label); + lives_container_add(LIVES_CONTAINER(eventbox), label); lives_signal_connect(LIVES_GUI_OBJECT(eventbox), LIVES_WIDGET_BUTTON_PRESS_EVENT, LIVES_GUI_CALLBACK(label_act_toggle), checkbutton); - widget_opts.last_label=label; + widget_opts.last_label = label; - lives_widget_apply_theme(eventbox,LIVES_WIDGET_STATE_NORMAL); + lives_widget_apply_theme(eventbox, LIVES_WIDGET_STATE_NORMAL); } - if (box!=NULL) { - if (LIVES_IS_HBOX(box)) hbox=LIVES_WIDGET(box); + if (box != NULL) { + if (LIVES_IS_HBOX(box)) hbox = LIVES_WIDGET(box); else { hbox = lives_hbox_new(FALSE, 0); if (!widget_opts.no_gui) { @@ -7532,60 +7376,55 @@ lives_box_pack_start(LIVES_BOX(box), hbox, FALSE, FALSE, widget_opts.packing_height); } - lives_box_set_homogeneous(LIVES_BOX(hbox),FALSE); + lives_box_set_homogeneous(LIVES_BOX(hbox), FALSE); - - if (widget_opts.swap_label&&eventbox!=NULL) + if (widget_opts.swap_label && eventbox != NULL) lives_box_pack_start(LIVES_BOX(hbox), eventbox, FALSE, FALSE, widget_opts.packing_width); - lives_box_pack_start(LIVES_BOX(hbox), checkbutton, widget_opts.expand==LIVES_EXPAND_EXTRA, FALSE, - eventbox==NULL?0:widget_opts.packing_width); + lives_box_pack_start(LIVES_BOX(hbox), checkbutton, widget_opts.expand == LIVES_EXPAND_EXTRA, FALSE, + eventbox == NULL ? 0 : widget_opts.packing_width); - if (!widget_opts.swap_label&&eventbox!=NULL) + if (!widget_opts.swap_label && eventbox != NULL) lives_box_pack_start(LIVES_BOX(hbox), eventbox, FALSE, FALSE, widget_opts.packing_width); } - if (label!=NULL) { + if (label != NULL) { lives_signal_connect_after(LIVES_GUI_OBJECT(checkbutton), LIVES_WIDGET_STATE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(set_label_state), label); } - return checkbutton; } - - LiVESWidget *lives_standard_radio_button_new(const char *labeltext, boolean use_mnemonic, LiVESSList *rbgroup, LiVESBox *box, const char *tooltip) { - LiVESWidget *radiobutton=NULL; + LiVESWidget *radiobutton = NULL; // pack a themed check button into box - - LiVESWidget *eventbox=NULL; - LiVESWidget *label=NULL; + LiVESWidget *eventbox = NULL; + LiVESWidget *label = NULL; LiVESWidget *hbox; radiobutton = lives_radio_button_new(rbgroup); - if (tooltip!=NULL) lives_widget_set_tooltip_text(radiobutton, tooltip); + if (tooltip != NULL) lives_widget_set_tooltip_text(radiobutton, tooltip); - widget_opts.last_label=NULL; + widget_opts.last_label = NULL; - if (labeltext!=NULL) { + if (labeltext != NULL) { if (use_mnemonic) { - label=lives_standard_label_new_with_mnemonic(labeltext,radiobutton); - } else label=lives_standard_label_new(labeltext); + label = lives_standard_label_new_with_mnemonic(labeltext, radiobutton); + } else label = lives_standard_label_new(labeltext); - widget_opts.last_label=label; + widget_opts.last_label = label; - eventbox=lives_event_box_new(); - if (tooltip!=NULL) lives_tooltips_copy(eventbox,radiobutton); - lives_container_add(LIVES_CONTAINER(eventbox),label); + eventbox = lives_event_box_new(); + if (tooltip != NULL) lives_tooltips_copy(eventbox, radiobutton); + lives_container_add(LIVES_CONTAINER(eventbox), label); lives_signal_connect(LIVES_GUI_OBJECT(eventbox), LIVES_WIDGET_BUTTON_PRESS_EVENT, LIVES_GUI_CALLBACK(label_act_toggle), @@ -7594,9 +7433,8 @@ lives_widget_apply_theme(eventbox, LIVES_WIDGET_STATE_NORMAL); } - - if (box!=NULL) { - if (LIVES_IS_HBOX(box)) hbox=LIVES_WIDGET(box); + if (box != NULL) { + if (LIVES_IS_HBOX(box)) hbox = LIVES_WIDGET(box); else { hbox = lives_hbox_new(FALSE, 0); if (!widget_opts.no_gui) { @@ -7605,19 +7443,19 @@ lives_box_pack_start(LIVES_BOX(box), hbox, FALSE, FALSE, widget_opts.packing_height); } - lives_box_set_homogeneous(LIVES_BOX(hbox),FALSE); + lives_box_set_homogeneous(LIVES_BOX(hbox), FALSE); - if (widget_opts.swap_label&&eventbox!=NULL) + if (widget_opts.swap_label && eventbox != NULL) lives_box_pack_start(LIVES_BOX(hbox), eventbox, FALSE, FALSE, widget_opts.packing_width); - lives_box_pack_start(LIVES_BOX(hbox), radiobutton, widget_opts.expand==LIVES_EXPAND_EXTRA, FALSE, - eventbox==NULL?0:widget_opts.packing_width); + lives_box_pack_start(LIVES_BOX(hbox), radiobutton, widget_opts.expand == LIVES_EXPAND_EXTRA, FALSE, + eventbox == NULL ? 0 : widget_opts.packing_width); - if (!widget_opts.swap_label&&eventbox!=NULL) + if (!widget_opts.swap_label && eventbox != NULL) lives_box_pack_start(LIVES_BOX(hbox), eventbox, FALSE, FALSE, widget_opts.packing_width); } - if (label!=NULL) { + if (label != NULL) { lives_signal_connect_after(LIVES_GUI_OBJECT(radiobutton), LIVES_WIDGET_STATE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(set_label_state), label); @@ -7628,13 +7466,13 @@ size_t calc_spin_button_width(double min, double max, int dp) { - char *txt=lives_strdup_printf("%d",(int)max); - size_t maxlen=strlen(txt); + char *txt = lives_strdup_printf("%d", (int)max); + size_t maxlen = strlen(txt); lives_free(txt); - txt=lives_strdup_printf("%d",(int)min); - if (strlen(txt)>maxlen) maxlen=strlen(txt); + txt = lives_strdup_printf("%d", (int)min); + if (strlen(txt) > maxlen) maxlen = strlen(txt); lives_free(txt); - if (dp>0) maxlen+=3; + if (dp > 0) maxlen += 3; return maxlen; } @@ -7642,206 +7480,195 @@ LiVESWidget *lives_standard_spin_button_new(const char *labeltext, boolean use_mnemonic, double val, double min, double max, double step, double page, int dp, LiVESBox *box, const char *tooltip) { - LiVESWidget *spinbutton=NULL; + LiVESWidget *spinbutton = NULL; // pack a themed spin button into box - - LiVESWidget *eventbox=NULL; - LiVESWidget *label=NULL; + LiVESWidget *eventbox = NULL; + LiVESWidget *label = NULL; LiVESWidget *hbox; LiVESAdjustment *adj; - boolean expand=FALSE; + boolean expand = FALSE; int maxlen; adj = lives_adjustment_new(val, min, max, step, page, 0.); spinbutton = lives_spin_button_new(adj, 1, dp); - if (tooltip!=NULL) lives_widget_set_tooltip_text(spinbutton, tooltip); + if (tooltip != NULL) lives_widget_set_tooltip_text(spinbutton, tooltip); - maxlen=calc_spin_button_width(min,max,dp); - lives_entry_set_width_chars(LIVES_ENTRY(spinbutton),maxlen); + maxlen = calc_spin_button_width(min, max, dp); + lives_entry_set_width_chars(LIVES_ENTRY(spinbutton), maxlen); lives_entry_set_activates_default(LIVES_ENTRY(spinbutton), TRUE); #ifdef GUI_GTK - gtk_spin_button_set_update_policy(LIVES_SPIN_BUTTON(spinbutton),GTK_UPDATE_ALWAYS); - gtk_spin_button_set_numeric(LIVES_SPIN_BUTTON(spinbutton),TRUE); + gtk_spin_button_set_update_policy(LIVES_SPIN_BUTTON(spinbutton), GTK_UPDATE_ALWAYS); + gtk_spin_button_set_numeric(LIVES_SPIN_BUTTON(spinbutton), TRUE); #endif - widget_opts.last_label=NULL; + widget_opts.last_label = NULL; - if (labeltext!=NULL) { + if (labeltext != NULL) { if (use_mnemonic) { - label=lives_standard_label_new_with_mnemonic(labeltext,spinbutton); - } else label=lives_standard_label_new(labeltext); + label = lives_standard_label_new_with_mnemonic(labeltext, spinbutton); + } else label = lives_standard_label_new(labeltext); - widget_opts.last_label=label; + widget_opts.last_label = label; - eventbox=lives_event_box_new(); - if (tooltip!=NULL) lives_tooltips_copy(eventbox,spinbutton); - lives_container_add(LIVES_CONTAINER(eventbox),label); + eventbox = lives_event_box_new(); + if (tooltip != NULL) lives_tooltips_copy(eventbox, spinbutton); + lives_container_add(LIVES_CONTAINER(eventbox), label); lives_widget_apply_theme(eventbox, LIVES_WIDGET_STATE_NORMAL); } - if (box!=NULL) { - if (LIVES_IS_HBOX(box)) hbox=LIVES_WIDGET(box); + if (box != NULL) { + if (LIVES_IS_HBOX(box)) hbox = LIVES_WIDGET(box); else { hbox = lives_hbox_new(FALSE, 0); if (!widget_opts.no_gui) { lives_widget_show(hbox); } lives_box_pack_start(LIVES_BOX(box), hbox, FALSE, FALSE, widget_opts.packing_height); - expand=widget_opts.expand!=LIVES_EXPAND_NONE; + expand = widget_opts.expand != LIVES_EXPAND_NONE; } - lives_box_set_homogeneous(LIVES_BOX(hbox),FALSE); + lives_box_set_homogeneous(LIVES_BOX(hbox), FALSE); - if (!widget_opts.swap_label&&eventbox!=NULL) + if (!widget_opts.swap_label && eventbox != NULL) lives_box_pack_start(LIVES_BOX(hbox), eventbox, FALSE, FALSE, widget_opts.packing_width); if (expand) add_fill_to_box(LIVES_BOX(hbox)); - lives_box_pack_start(LIVES_BOX(hbox), spinbutton, widget_opts.expand==LIVES_EXPAND_EXTRA, FALSE, widget_opts.packing_width); + lives_box_pack_start(LIVES_BOX(hbox), spinbutton, widget_opts.expand == LIVES_EXPAND_EXTRA, FALSE, widget_opts.packing_width); if (expand) add_fill_to_box(LIVES_BOX(hbox)); - if (widget_opts.swap_label&&eventbox!=NULL) + if (widget_opts.swap_label && eventbox != NULL) lives_box_pack_start(LIVES_BOX(hbox), eventbox, FALSE, FALSE, widget_opts.packing_width); } - if (label!=NULL) { + if (label != NULL) { lives_signal_connect_after(LIVES_GUI_OBJECT(spinbutton), LIVES_WIDGET_STATE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(set_label_state), label); } - return spinbutton; } - - - - LiVESWidget *lives_standard_combo_new(const char *labeltext, boolean use_mnemonic, LiVESList *list, LiVESBox *box, const char *tooltip) { - LiVESWidget *combo=NULL; + LiVESWidget *combo = NULL; // pack a themed combo box into box - LiVESWidget *eventbox=NULL; - LiVESWidget *label=NULL; + LiVESWidget *eventbox = NULL; + LiVESWidget *label = NULL; LiVESWidget *hbox; LiVESEntry *entry; - combo=lives_combo_new(); - if (tooltip!=NULL) lives_widget_set_tooltip_text(combo, tooltip); + combo = lives_combo_new(); + if (tooltip != NULL) lives_widget_set_tooltip_text(combo, tooltip); - entry=(LiVESEntry *)lives_combo_get_entry(LIVES_COMBO(combo)); + entry = (LiVESEntry *)lives_combo_get_entry(LIVES_COMBO(combo)); - widget_opts.last_label=NULL; + widget_opts.last_label = NULL; - if (labeltext!=NULL) { + if (labeltext != NULL) { if (use_mnemonic) { - label = lives_standard_label_new_with_mnemonic(labeltext,LIVES_WIDGET(entry)); + label = lives_standard_label_new_with_mnemonic(labeltext, LIVES_WIDGET(entry)); } else label = lives_standard_label_new(labeltext); - widget_opts.last_label=label; + widget_opts.last_label = label; - eventbox=lives_event_box_new(); - if (tooltip!=NULL) lives_tooltips_copy(eventbox,combo); - lives_container_add(LIVES_CONTAINER(eventbox),label); + eventbox = lives_event_box_new(); + if (tooltip != NULL) lives_tooltips_copy(eventbox, combo); + lives_container_add(LIVES_CONTAINER(eventbox), label); lives_widget_apply_theme(eventbox, LIVES_WIDGET_STATE_NORMAL); } - if (box!=NULL) { - if (LIVES_IS_HBOX(box)) hbox=LIVES_WIDGET(box); + if (box != NULL) { + if (LIVES_IS_HBOX(box)) hbox = LIVES_WIDGET(box); else { hbox = lives_hbox_new(FALSE, 0); lives_box_pack_start(LIVES_BOX(box), hbox, FALSE, FALSE, widget_opts.packing_height); } - lives_box_set_homogeneous(LIVES_BOX(hbox),FALSE); + lives_box_set_homogeneous(LIVES_BOX(hbox), FALSE); - if (widget_opts.expand==LIVES_EXPAND_DEFAULT) { - LiVESWidget *label=lives_standard_label_new(""); + if (widget_opts.expand == LIVES_EXPAND_DEFAULT) { + LiVESWidget *label = lives_standard_label_new(""); lives_box_pack_start(LIVES_BOX(hbox), label, TRUE, FALSE, 0); } - if (!widget_opts.swap_label&&eventbox!=NULL) + if (!widget_opts.swap_label && eventbox != NULL) lives_box_pack_start(LIVES_BOX(hbox), eventbox, FALSE, FALSE, widget_opts.packing_width); - lives_box_pack_start(LIVES_BOX(hbox), combo, widget_opts.expand!=LIVES_EXPAND_NONE, - widget_opts.expand==LIVES_EXPAND_EXTRA, eventbox==NULL?0:widget_opts.packing_width); - if (widget_opts.swap_label&&eventbox!=NULL) + lives_box_pack_start(LIVES_BOX(hbox), combo, widget_opts.expand != LIVES_EXPAND_NONE, + widget_opts.expand == LIVES_EXPAND_EXTRA, eventbox == NULL ? 0 : widget_opts.packing_width); + if (widget_opts.swap_label && eventbox != NULL) lives_box_pack_start(LIVES_BOX(hbox), eventbox, FALSE, FALSE, widget_opts.packing_width); - - if (widget_opts.expand==LIVES_EXPAND_DEFAULT) { - LiVESWidget *label=lives_standard_label_new(""); + if (widget_opts.expand == LIVES_EXPAND_DEFAULT) { + LiVESWidget *label = lives_standard_label_new(""); lives_box_pack_start(LIVES_BOX(hbox), label, TRUE, FALSE, 0); } - } - lives_entry_set_editable(LIVES_ENTRY(entry),FALSE); - lives_entry_set_activates_default(entry,TRUE); + lives_entry_set_editable(LIVES_ENTRY(entry), FALSE); + lives_entry_set_activates_default(entry, TRUE); - if (list!=NULL) { - lives_combo_populate(LIVES_COMBO(combo),list); - if (list!=NULL) lives_combo_set_active_index(LIVES_COMBO(combo),0); + if (list != NULL) { + lives_combo_populate(LIVES_COMBO(combo), list); + if (list != NULL) lives_combo_set_active_index(LIVES_COMBO(combo), 0); } - if (label!=NULL) { + if (label != NULL) { lives_signal_connect_after(LIVES_GUI_OBJECT(combo), LIVES_WIDGET_STATE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(set_label_state), label); } - return combo; } LiVESWidget *lives_standard_entry_new(const char *labeltext, boolean use_mnemonic, const char *txt, int dispwidth, int maxchars, LiVESBox *box, const char *tooltip) { + LiVESWidget *entry = NULL; + LiVESWidget *label = NULL; + LiVESWidget *hbox = NULL; - LiVESWidget *entry=NULL; - LiVESWidget *label=NULL; - LiVESWidget *hbox=NULL; - - entry=lives_entry_new(); + entry = lives_entry_new(); - if (tooltip!=NULL) lives_widget_set_tooltip_text(entry, tooltip); + if (tooltip != NULL) lives_widget_set_tooltip_text(entry, tooltip); - if (txt!=NULL) - lives_entry_set_text(LIVES_ENTRY(entry),txt); + if (txt != NULL) + lives_entry_set_text(LIVES_ENTRY(entry), txt); - if (dispwidth!=-1) lives_entry_set_width_chars(LIVES_ENTRY(entry),dispwidth); - if (maxchars!=-1) lives_entry_set_max_length(LIVES_ENTRY(entry),maxchars); + if (dispwidth != -1) lives_entry_set_width_chars(LIVES_ENTRY(entry), dispwidth); + if (maxchars != -1) lives_entry_set_max_length(LIVES_ENTRY(entry), maxchars); lives_entry_set_activates_default(LIVES_ENTRY(entry), TRUE); - widget_opts.last_label=NULL; + widget_opts.last_label = NULL; - if (labeltext!=NULL) { + if (labeltext != NULL) { if (use_mnemonic) { - label = lives_standard_label_new_with_mnemonic(labeltext,entry); + label = lives_standard_label_new_with_mnemonic(labeltext, entry); } else label = lives_standard_label_new(labeltext); - widget_opts.last_label=label; + widget_opts.last_label = label; - if (tooltip!=NULL) lives_tooltips_copy(label,entry); + if (tooltip != NULL) lives_tooltips_copy(label, entry); } - - if (box!=NULL) { - if (LIVES_IS_HBOX(box)) hbox=LIVES_WIDGET(box); + if (box != NULL) { + if (LIVES_IS_HBOX(box)) hbox = LIVES_WIDGET(box); else { hbox = lives_hbox_new(FALSE, 0); if (!widget_opts.no_gui) { @@ -7850,39 +7677,37 @@ lives_box_pack_start(LIVES_BOX(box), hbox, FALSE, FALSE, widget_opts.packing_height); } - lives_box_set_homogeneous(LIVES_BOX(hbox),FALSE); + lives_box_set_homogeneous(LIVES_BOX(hbox), FALSE); - if (!widget_opts.swap_label&&label!=NULL) + if (!widget_opts.swap_label && label != NULL) lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, FALSE, widget_opts.packing_width); - lives_box_pack_start(LIVES_BOX(hbox), entry, widget_opts.expand!=LIVES_EXPAND_NONE, dispwidth==-1, widget_opts.packing_width); + lives_box_pack_start(LIVES_BOX(hbox), entry, widget_opts.expand != LIVES_EXPAND_NONE, dispwidth == -1, widget_opts.packing_width); - if (widget_opts.swap_label&&label!=NULL) + if (widget_opts.swap_label && label != NULL) lives_box_pack_start(LIVES_BOX(hbox), label, FALSE, FALSE, widget_opts.packing_width); } - if (label!=NULL) { + if (label != NULL) { lives_signal_connect_after(LIVES_GUI_OBJECT(entry), LIVES_WIDGET_STATE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(set_label_state), label); } - return entry; } - LiVESWidget *lives_standard_dialog_new(const char *title, boolean add_std_buttons, int width, int height) { // in case of problems, try setting widget_opts.no_gui=TRUE - LiVESWidget *dialog=NULL; + LiVESWidget *dialog = NULL; dialog = lives_dialog_new(); lives_widget_set_minimum_size(dialog, width, height); - if (title!=NULL) + if (title != NULL) lives_window_set_title(LIVES_WINDOW(dialog), title); lives_window_set_deletable(LIVES_WINDOW(dialog), FALSE); @@ -7890,30 +7715,28 @@ if (!widget_opts.non_modal) lives_window_set_resizable(LIVES_WINDOW(dialog), FALSE); - lives_widget_set_hexpand(dialog,TRUE); - lives_widget_set_vexpand(dialog,TRUE); + lives_widget_set_hexpand(dialog, TRUE); + lives_widget_set_vexpand(dialog, TRUE); lives_widget_apply_theme(dialog, LIVES_WIDGET_STATE_NORMAL); -#if !GTK_CHECK_VERSION(3,0,0) - lives_dialog_set_has_separator(LIVES_DIALOG(dialog),FALSE); +#if !GTK_CHECK_VERSION(3, 0, 0) + lives_dialog_set_has_separator(LIVES_DIALOG(dialog), FALSE); #endif - if (widget_opts.apply_theme) { funkify_dialog(dialog); } else { - lives_container_set_border_width(LIVES_CONTAINER(dialog), widget_opts.border_width*2); + lives_container_set_border_width(LIVES_CONTAINER(dialog), widget_opts.border_width * 2); } - // do this before widget_show(), then call lives_window_center() afterwards - lives_window_set_position(LIVES_WINDOW(dialog),LIVES_WIN_POS_CENTER_ALWAYS); + lives_window_set_position(LIVES_WINDOW(dialog), LIVES_WIN_POS_CENTER_ALWAYS); if (add_std_buttons) { - LiVESAccelGroup *accel_group=LIVES_ACCEL_GROUP(lives_accel_group_new()); - LiVESWidget *cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL,NULL); - LiVESWidget *okbutton = lives_button_new_from_stock(LIVES_STOCK_OK,NULL); + LiVESAccelGroup *accel_group = LIVES_ACCEL_GROUP(lives_accel_group_new()); + LiVESWidget *cancelbutton = lives_button_new_from_stock(LIVES_STOCK_CANCEL, NULL); + LiVESWidget *okbutton = lives_button_new_from_stock(LIVES_STOCK_OK, NULL); lives_window_add_accel_group(LIVES_WINDOW(dialog), accel_group); @@ -7945,24 +7768,22 @@ lives_window_set_modal(LIVES_WINDOW(dialog), TRUE); return dialog; - } - LiVESWidget *lives_standard_hruler_new(void) { - LiVESWidget *hruler=NULL; + LiVESWidget *hruler = NULL; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - hruler=gtk_scale_new(GTK_ORIENTATION_HORIZONTAL,NULL); - gtk_scale_set_draw_value(GTK_SCALE(hruler),FALSE); -#if GTK_CHECK_VERSION(3,4,0) - gtk_scale_set_has_origin(GTK_SCALE(hruler),FALSE); +#if GTK_CHECK_VERSION(3, 0, 0) + hruler = gtk_scale_new(GTK_ORIENTATION_HORIZONTAL, NULL); + gtk_scale_set_draw_value(GTK_SCALE(hruler), FALSE); +#if GTK_CHECK_VERSION(3, 4, 0) + gtk_scale_set_has_origin(GTK_SCALE(hruler), FALSE); #endif - gtk_scale_set_digits(GTK_SCALE(hruler),8); + gtk_scale_set_digits(GTK_SCALE(hruler), 8); #else - hruler=gtk_hruler_new(); + hruler = gtk_hruler_new(); #endif #endif @@ -7971,25 +7792,23 @@ } - LiVESWidget *lives_standard_scrolled_window_new(int width, int height, LiVESWidget *child) { - LiVESWidget *scrolledwindow=NULL; + LiVESWidget *scrolledwindow = NULL; LiVESWidget *swchild; scrolledwindow = lives_scrolled_window_new(NULL, NULL); lives_scrolled_window_set_policy(LIVES_SCROLLED_WINDOW(scrolledwindow), LIVES_POLICY_AUTOMATIC, LIVES_POLICY_AUTOMATIC); - if (widget_opts.expand!=LIVES_EXPAND_NONE) { - lives_widget_set_hexpand(scrolledwindow,TRUE); - lives_widget_set_vexpand(scrolledwindow,TRUE); + if (widget_opts.expand != LIVES_EXPAND_NONE) { + lives_widget_set_hexpand(scrolledwindow, TRUE); + lives_widget_set_vexpand(scrolledwindow, TRUE); } lives_container_set_border_width(LIVES_CONTAINER(scrolledwindow), widget_opts.border_width); - if (child!=NULL) { - + if (child != NULL) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) if (!LIVES_IS_SCROLLABLE(child)) #else if (!LIVES_IS_TEXT_VIEW(child)) @@ -7997,9 +7816,9 @@ { lives_scrolled_window_add_with_viewport(LIVES_SCROLLED_WINDOW(scrolledwindow), child); } else { - if (widget_opts.expand!=LIVES_EXPAND_NONE) { + if (widget_opts.expand != LIVES_EXPAND_EXTRA) { LiVESWidget *align; - align=lives_alignment_new(.5,0.,0.,0.); + align = lives_alignment_new(.5, 0., 0., 0.); lives_container_add(LIVES_CONTAINER(align), child); lives_scrolled_window_add_with_viewport(LIVES_SCROLLED_WINDOW(scrolledwindow), align); } else { @@ -8012,34 +7831,34 @@ #endif } - swchild=lives_bin_get_child(LIVES_BIN(scrolledwindow)); + swchild = lives_bin_get_child(LIVES_BIN(scrolledwindow)); #ifdef GUI_QT - if (width>-1||height>-1) + if (width > -1 || height > -1) lives_widget_set_minimum_size(scrolledwindow, width, height); #endif lives_widget_apply_theme(swchild, LIVES_WIDGET_STATE_NORMAL); - if (widget_opts.expand!=LIVES_EXPAND_NONE) { - lives_widget_set_hexpand(swchild,TRUE); - lives_widget_set_vexpand(swchild,TRUE); + if (widget_opts.expand != LIVES_EXPAND_NONE) { + lives_widget_set_hexpand(swchild, TRUE); + lives_widget_set_vexpand(swchild, TRUE); } - if (LIVES_IS_CONTAINER(child)) lives_container_set_border_width(LIVES_CONTAINER(child), widget_opts.border_width>>1); + if (LIVES_IS_CONTAINER(child)) lives_container_set_border_width(LIVES_CONTAINER(child), widget_opts.border_width >> 1); #ifdef GUI_GTK if (GTK_IS_VIEWPORT(swchild)) - gtk_viewport_set_shadow_type(GTK_VIEWPORT(swchild),LIVES_SHADOW_IN); + gtk_viewport_set_shadow_type(GTK_VIEWPORT(swchild), LIVES_SHADOW_IN); - if (width!=0&&height!=0) { -#if !GTK_CHECK_VERSION(3,0,0) - if (width>-1||height>-1) + if (width != 0 && height != 0) { +#if !GTK_CHECK_VERSION(3, 0, 0) + if (width > -1 || height > -1) lives_widget_set_size_request(scrolledwindow, width, height); //lives_widget_set_minimum_size(scrolledwindow, width, height); // crash if we dont have toplevel win #else - if (height!=-1) gtk_scrolled_window_set_min_content_height(GTK_SCROLLED_WINDOW(scrolledwindow),height); - if (width!=-1) gtk_scrolled_window_set_min_content_width(GTK_SCROLLED_WINDOW(scrolledwindow),width); + if (height != -1) gtk_scrolled_window_set_min_content_height(GTK_SCROLLED_WINDOW(scrolledwindow), height); + if (width != -1) gtk_scrolled_window_set_min_content_width(GTK_SCROLLED_WINDOW(scrolledwindow), width); #endif } #endif @@ -8048,31 +7867,30 @@ } - LiVESWidget *lives_standard_expander_new(const char *ltext, boolean use_mnemonic, LiVESBox *parent, LiVESWidget *child) { - LiVESWidget *expander=NULL; + LiVESWidget *expander = NULL; #ifdef GUI_GTK LiVESWidget *label; if (use_mnemonic) - expander=lives_expander_new_with_mnemonic(ltext); + expander = lives_expander_new_with_mnemonic(ltext); else - expander=lives_expander_new(ltext); + expander = lives_expander_new(ltext); - label=lives_expander_get_label_widget(LIVES_EXPANDER(expander)); + label = lives_expander_get_label_widget(LIVES_EXPANDER(expander)); lives_widget_apply_theme(label, LIVES_WIDGET_STATE_NORMAL); lives_widget_apply_theme(label, LIVES_WIDGET_STATE_PRELIGHT); lives_widget_apply_theme(expander, LIVES_WIDGET_STATE_PRELIGHT); lives_widget_apply_theme(expander, LIVES_WIDGET_STATE_NORMAL); #ifdef GUI_GTK - lives_container_forall(LIVES_CONTAINER(expander),set_child_colour_internal,LIVES_INT_TO_POINTER(TRUE)); + lives_container_forall(LIVES_CONTAINER(expander), set_child_colour_internal, LIVES_INT_TO_POINTER(TRUE)); #endif lives_box_pack_start(parent, expander, FALSE, FALSE, widget_opts.packing_height); lives_container_add(LIVES_CONTAINER(expander), child); - lives_container_set_border_width(LIVES_CONTAINER(expander),widget_opts.border_width); + lives_container_set_border_width(LIVES_CONTAINER(expander), widget_opts.border_width); #endif @@ -8080,22 +7898,20 @@ } - LiVESWidget *lives_standard_text_view_new(const char *text, LiVESTextBuffer *tbuff) { LiVESWidget *textview; - if (tbuff==NULL) - textview=lives_text_view_new(); + if (tbuff == NULL) + textview = lives_text_view_new(); else - textview=lives_text_view_new_with_buffer(tbuff); - + textview = lives_text_view_new_with_buffer(tbuff); lives_text_view_set_editable(LIVES_TEXT_VIEW(textview), FALSE); lives_text_view_set_wrap_mode(LIVES_TEXT_VIEW(textview), LIVES_WRAP_WORD); lives_text_view_set_cursor_visible(LIVES_TEXT_VIEW(textview), FALSE); - if (text!=NULL) { - lives_text_view_set_text(LIVES_TEXT_VIEW(textview),text,-1); + if (text != NULL) { + lives_text_view_set_text(LIVES_TEXT_VIEW(textview), text, -1); lives_text_view_scroll_onscreen(LIVES_TEXT_VIEW(textview)); } @@ -8104,63 +7920,55 @@ lives_text_view_set_justification(LIVES_TEXT_VIEW(textview), widget_opts.justify); return textview; - } - - - - LIVES_INLINE LiVESWidget *lives_standard_file_button_new(boolean is_dir, const char *def_dir) { - LiVESWidget *fbutton=NULL; + LiVESWidget *fbutton = NULL; LiVESWidget *image = lives_image_new_from_stock("gtk-open", LIVES_ICON_SIZE_BUTTON); fbutton = lives_button_new(); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(fbutton),"is_dir",LIVES_INT_TO_POINTER(is_dir)); - if (def_dir!=NULL) lives_widget_object_set_data(LIVES_WIDGET_OBJECT(fbutton),"def_dir",(livespointer)def_dir); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(fbutton), "is_dir", LIVES_INT_TO_POINTER(is_dir)); + if (def_dir != NULL) lives_widget_object_set_data(LIVES_WIDGET_OBJECT(fbutton), "def_dir", (livespointer)def_dir); lives_container_add(LIVES_CONTAINER(fbutton), image); return fbutton; } - - - static void on_pwcolselx(LiVESButton *button, lives_rfx_t *rfx) { LiVESWidgetColor selected; - LiVESWidget *sp_red=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(button),"sp_red"); - LiVESWidget *sp_green=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(button),"sp_green"); - LiVESWidget *sp_blue=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(button),"sp_blue"); - LiVESWidget *sp_alpha=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(button),"sp_alpha"); + LiVESWidget *sp_red = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(button), "sp_red"); + LiVESWidget *sp_green = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(button), "sp_green"); + LiVESWidget *sp_blue = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(button), "sp_blue"); + LiVESWidget *sp_alpha = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(button), "sp_alpha"); - int r,g,b,a; + int r, g, b, a; - lives_color_button_get_color(LIVES_COLOR_BUTTON(button),&selected); + lives_color_button_get_color(LIVES_COLOR_BUTTON(button), &selected); // get 0. -> 255. values - r=(int)((double)(selected.red+LIVES_WIDGET_COLOR_SCALE_255(0.5))/(double)LIVES_WIDGET_COLOR_SCALE_255(1.)); - g=(int)((double)(selected.green+LIVES_WIDGET_COLOR_SCALE_255(0.5))/(double)LIVES_WIDGET_COLOR_SCALE_255(1.)); - b=(int)((double)(selected.blue+LIVES_WIDGET_COLOR_SCALE_255(0.5))/(double)LIVES_WIDGET_COLOR_SCALE_255(1.)); - - lives_spin_button_set_value(LIVES_SPIN_BUTTON(sp_red),(double)r); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(sp_green),(double)g); - lives_spin_button_set_value(LIVES_SPIN_BUTTON(sp_blue),(double)b); + r = (int)((double)(selected.red + LIVES_WIDGET_COLOR_SCALE_255(0.5)) / (double)LIVES_WIDGET_COLOR_SCALE_255(1.)); + g = (int)((double)(selected.green + LIVES_WIDGET_COLOR_SCALE_255(0.5)) / (double)LIVES_WIDGET_COLOR_SCALE_255(1.)); + b = (int)((double)(selected.blue + LIVES_WIDGET_COLOR_SCALE_255(0.5)) / (double)LIVES_WIDGET_COLOR_SCALE_255(1.)); + + lives_spin_button_set_value(LIVES_SPIN_BUTTON(sp_red), (double)r); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(sp_green), (double)g); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(sp_blue), (double)b); - if (sp_alpha!=NULL) { + if (sp_alpha != NULL) { #if !LIVES_WIDGET_COLOR_HAS_ALPHA - a=gtk_color_button_get_alpha(LIVES_COLOR_BUTTON(button))/255.; + a = gtk_color_button_get_alpha(LIVES_COLOR_BUTTON(button)) / 255.; #else - a=(int)((double)(selected.alpha+LIVES_WIDGET_COLOR_SCALE_255(0.5))/(double)LIVES_WIDGET_COLOR_SCALE_255(1.)); + a = (int)((double)(selected.alpha + LIVES_WIDGET_COLOR_SCALE_255(0.5)) / (double)LIVES_WIDGET_COLOR_SCALE_255(1.)); #endif - lives_spin_button_set_value(LIVES_SPIN_BUTTON(sp_alpha),(double)a); + lives_spin_button_set_value(LIVES_SPIN_BUTTON(sp_alpha), (double)a); } - lives_color_button_set_color(LIVES_COLOR_BUTTON(button),&selected); + lives_color_button_set_color(LIVES_COLOR_BUTTON(button), &selected); #if !LIVES_WIDGET_COLOR_HAS_ALPHA - if (sp_alpha!=NULL) { - lives_color_button_set_color(LIVES_COLOR_BUTTON(button),&selected); + if (sp_alpha != NULL) { + lives_color_button_set_color(LIVES_COLOR_BUTTON(button), &selected); } #endif } @@ -8169,196 +7977,190 @@ static void after_param_red_changedx(LiVESSpinButton *spinbutton, livespointer udata) { LiVESWidgetColor colr; - LiVESWidget *cbutton=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(spinbutton),"cbutton"); - LiVESWidget *sp_green=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(cbutton),"sp_green"); - LiVESWidget *sp_blue=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(cbutton),"sp_blue"); + LiVESWidget *cbutton = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(spinbutton), "cbutton"); + LiVESWidget *sp_green = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(cbutton), "sp_green"); + LiVESWidget *sp_blue = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(cbutton), "sp_blue"); #if LIVES_WIDGET_COLOR_HAS_ALPHA - LiVESWidget *sp_alpha=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(cbutton),"sp_alpha"); + LiVESWidget *sp_alpha = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(cbutton), "sp_alpha"); #endif - int new_red=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); - int old_green=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(sp_green)); - int old_blue=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(sp_blue)); + int new_red = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); + int old_green = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(sp_green)); + int old_blue = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(sp_blue)); - colr.red=LIVES_WIDGET_COLOR_SCALE_255(new_red); - colr.green=LIVES_WIDGET_COLOR_SCALE_255(old_green); - colr.blue=LIVES_WIDGET_COLOR_SCALE_255(old_blue); + colr.red = LIVES_WIDGET_COLOR_SCALE_255(new_red); + colr.green = LIVES_WIDGET_COLOR_SCALE_255(old_green); + colr.blue = LIVES_WIDGET_COLOR_SCALE_255(old_blue); #if LIVES_WIDGET_COLOR_HAS_ALPHA - if (sp_alpha!=NULL) { - int old_alpha=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(sp_alpha)); - colr.alpha=LIVES_WIDGET_COLOR_SCALE_255(old_alpha); - } else colr.alpha=1.0; + if (sp_alpha != NULL) { + int old_alpha = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(sp_alpha)); + colr.alpha = LIVES_WIDGET_COLOR_SCALE_255(old_alpha); + } else colr.alpha = 1.0; #endif - lives_color_button_set_color(LIVES_COLOR_BUTTON(cbutton),&colr); + lives_color_button_set_color(LIVES_COLOR_BUTTON(cbutton), &colr); } static void after_param_green_changedx(LiVESSpinButton *spinbutton, livespointer udata) { LiVESWidgetColor colr; - LiVESWidget *cbutton=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(spinbutton),"cbutton"); - LiVESWidget *sp_red=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(cbutton),"sp_red"); - LiVESWidget *sp_blue=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(cbutton),"sp_blue"); + LiVESWidget *cbutton = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(spinbutton), "cbutton"); + LiVESWidget *sp_red = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(cbutton), "sp_red"); + LiVESWidget *sp_blue = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(cbutton), "sp_blue"); #if LIVES_WIDGET_COLOR_HAS_ALPHA - LiVESWidget *sp_alpha=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(cbutton),"sp_alpha"); + LiVESWidget *sp_alpha = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(cbutton), "sp_alpha"); #endif - int new_green=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); - int old_red=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(sp_red)); - int old_blue=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(sp_blue)); + int new_green = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); + int old_red = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(sp_red)); + int old_blue = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(sp_blue)); - colr.red=LIVES_WIDGET_COLOR_SCALE_255(old_red); - colr.green=LIVES_WIDGET_COLOR_SCALE_255(new_green); - colr.blue=LIVES_WIDGET_COLOR_SCALE_255(old_blue); + colr.red = LIVES_WIDGET_COLOR_SCALE_255(old_red); + colr.green = LIVES_WIDGET_COLOR_SCALE_255(new_green); + colr.blue = LIVES_WIDGET_COLOR_SCALE_255(old_blue); #if LIVES_WIDGET_COLOR_HAS_ALPHA - if (sp_alpha!=NULL) { - int old_alpha=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(sp_alpha)); - colr.alpha=LIVES_WIDGET_COLOR_SCALE_255(old_alpha); - } else colr.alpha=1.0; + if (sp_alpha != NULL) { + int old_alpha = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(sp_alpha)); + colr.alpha = LIVES_WIDGET_COLOR_SCALE_255(old_alpha); + } else colr.alpha = 1.0; #endif - lives_color_button_set_color(LIVES_COLOR_BUTTON(cbutton),&colr); + lives_color_button_set_color(LIVES_COLOR_BUTTON(cbutton), &colr); } - static void after_param_blue_changedx(LiVESSpinButton *spinbutton, livespointer udata) { LiVESWidgetColor colr; - LiVESWidget *cbutton=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(spinbutton),"cbutton"); - LiVESWidget *sp_green=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(cbutton),"sp_green"); - LiVESWidget *sp_red=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(cbutton),"sp_red"); + LiVESWidget *cbutton = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(spinbutton), "cbutton"); + LiVESWidget *sp_green = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(cbutton), "sp_green"); + LiVESWidget *sp_red = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(cbutton), "sp_red"); #if LIVES_WIDGET_COLOR_HAS_ALPHA - LiVESWidget *sp_alpha=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(cbutton),"sp_alpha"); + LiVESWidget *sp_alpha = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(cbutton), "sp_alpha"); #endif - int new_blue=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); - int old_green=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(sp_green)); - int old_red=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(sp_red)); + int new_blue = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); + int old_green = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(sp_green)); + int old_red = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(sp_red)); - colr.red=LIVES_WIDGET_COLOR_SCALE_255(old_red); - colr.green=LIVES_WIDGET_COLOR_SCALE_255(old_green); - colr.blue=LIVES_WIDGET_COLOR_SCALE_255(new_blue); + colr.red = LIVES_WIDGET_COLOR_SCALE_255(old_red); + colr.green = LIVES_WIDGET_COLOR_SCALE_255(old_green); + colr.blue = LIVES_WIDGET_COLOR_SCALE_255(new_blue); #if LIVES_WIDGET_COLOR_HAS_ALPHA - if (sp_alpha!=NULL) { - int old_alpha=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(sp_alpha)); - colr.alpha=LIVES_WIDGET_COLOR_SCALE_255(old_alpha); - } else colr.alpha=1.0; + if (sp_alpha != NULL) { + int old_alpha = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(sp_alpha)); + colr.alpha = LIVES_WIDGET_COLOR_SCALE_255(old_alpha); + } else colr.alpha = 1.0; #endif - lives_color_button_set_color(LIVES_COLOR_BUTTON(cbutton),&colr); + lives_color_button_set_color(LIVES_COLOR_BUTTON(cbutton), &colr); } - static void after_param_alpha_changedx(LiVESSpinButton *spinbutton, livespointer udata) { LiVESWidgetColor colr; - LiVESWidget *cbutton=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(spinbutton),"cbutton"); - LiVESWidget *sp_green=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(cbutton),"sp_green"); - LiVESWidget *sp_blue=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(cbutton),"sp_blue"); - LiVESWidget *sp_red=(LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(cbutton),"sp_red"); - - int new_alpha=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); - int old_red=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(sp_red)); - int old_green=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(sp_green)); - int old_blue=lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(sp_blue)); - - colr.red=LIVES_WIDGET_COLOR_SCALE_255(old_red); - colr.green=LIVES_WIDGET_COLOR_SCALE_255(old_green); - colr.blue=LIVES_WIDGET_COLOR_SCALE_255(old_blue); + LiVESWidget *cbutton = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(spinbutton), "cbutton"); + LiVESWidget *sp_green = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(cbutton), "sp_green"); + LiVESWidget *sp_blue = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(cbutton), "sp_blue"); + LiVESWidget *sp_red = (LiVESWidget *)lives_widget_object_get_data(LIVES_WIDGET_OBJECT(cbutton), "sp_red"); + + int new_alpha = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(spinbutton)); + int old_red = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(sp_red)); + int old_green = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(sp_green)); + int old_blue = lives_spin_button_get_value_as_int(LIVES_SPIN_BUTTON(sp_blue)); + + colr.red = LIVES_WIDGET_COLOR_SCALE_255(old_red); + colr.green = LIVES_WIDGET_COLOR_SCALE_255(old_green); + colr.blue = LIVES_WIDGET_COLOR_SCALE_255(old_blue); #if LIVES_WIDGET_COLOR_HAS_ALPHA - colr.alpha=LIVES_WIDGET_COLOR_SCALE_255(new_alpha); + colr.alpha = LIVES_WIDGET_COLOR_SCALE_255(new_alpha); #else - gtk_color_button_set_alpha(GTK_COLOR_BUTTON(cbutton),LIVES_WIDGET_COLOR_SCALE_255(new_alpha)); + gtk_color_button_set_alpha(GTK_COLOR_BUTTON(cbutton), LIVES_WIDGET_COLOR_SCALE_255(new_alpha)); #endif - lives_color_button_set_color(LIVES_COLOR_BUTTON(cbutton),&colr); + lives_color_button_set_color(LIVES_COLOR_BUTTON(cbutton), &colr); } - LiVESWidget *lives_standard_color_button_new(LiVESBox *parent, char *name, boolean use_mnemonic, boolean use_alpha, lives_colRGBA64_t *rgba, LiVESWidget **sb_red, LiVESWidget **sb_green, LiVESWidget **sb_blue, LiVESWidget **sb_alpha) { - LiVESWidgetColor colr; - LiVESWidget *cbutton,*labelcname; - LiVESWidget *spinbutton_red,*spinbutton_green,*spinbutton_blue,*spinbutton_alpha=NULL; + LiVESWidget *cbutton, *labelcname; + LiVESWidget *spinbutton_red, *spinbutton_green, *spinbutton_blue, *spinbutton_alpha = NULL; - char *tmp,*tmp2; + char *tmp, *tmp2; - lives_widget_set_hexpand(LIVES_WIDGET(parent),FALSE); + lives_widget_set_hexpand(LIVES_WIDGET(parent), FALSE); - lives_box_set_homogeneous(parent,FALSE); + lives_box_set_homogeneous(parent, FALSE); - colr.red=LIVES_WIDGET_COLOR_SCALE_65535(rgba->red); - colr.green=LIVES_WIDGET_COLOR_SCALE_65535(rgba->green); - colr.blue=LIVES_WIDGET_COLOR_SCALE_65535(rgba->blue); + colr.red = LIVES_WIDGET_COLOR_SCALE_65535(rgba->red); + colr.green = LIVES_WIDGET_COLOR_SCALE_65535(rgba->green); + colr.blue = LIVES_WIDGET_COLOR_SCALE_65535(rgba->blue); #if LIVES_WIDGET_COLOR_HAS_ALPHA - if (use_alpha) colr.alpha=LIVES_WIDGET_COLOR_SCALE_65535(rgba->alpha); - else colr.alpha=1.; + if (use_alpha) colr.alpha = LIVES_WIDGET_COLOR_SCALE_65535(rgba->alpha); + else colr.alpha = 1.; #endif cbutton = lives_color_button_new_with_color(&colr); // must do this before re-using translation string ! if (use_mnemonic) { - labelcname=lives_standard_label_new_with_mnemonic(name,cbutton); - } else labelcname=lives_standard_label_new(name); + labelcname = lives_standard_label_new_with_mnemonic(name, cbutton); + } else labelcname = lives_standard_label_new(name); - lives_color_button_set_use_alpha(LIVES_COLOR_BUTTON(cbutton),use_alpha); - lives_color_button_set_title(LIVES_COLOR_BUTTON(cbutton),_("Select Colour")); - lives_color_button_set_color(LIVES_COLOR_BUTTON(cbutton),&colr); + lives_color_button_set_use_alpha(LIVES_COLOR_BUTTON(cbutton), use_alpha); + lives_color_button_set_title(LIVES_COLOR_BUTTON(cbutton), _("Select Colour")); + lives_color_button_set_color(LIVES_COLOR_BUTTON(cbutton), &colr); #if !LIVES_WIDGET_COLOR_HAS_ALPHA if (use_alpha) - gtk_color_button_set_alpha(GTK_COLOR_BUTTON(cbutton),rgba->alpha); + gtk_color_button_set_alpha(GTK_COLOR_BUTTON(cbutton), rgba->alpha); #endif - lives_widget_set_tooltip_text(cbutton, (_("Click to set the colour"))); - lives_box_pack_start(LIVES_BOX(parent), labelcname, FALSE, FALSE, (int)(4.*widget_opts.scale)); - spinbutton_red = lives_standard_spin_button_new((tmp=lives_strdup(_("_Red"))), TRUE, rgba->red/255., 0., 255., 1., 1., 0, - (LiVESBox *)parent, (tmp2=lives_strdup(_("The red value (0 - 255)")))); + spinbutton_red = lives_standard_spin_button_new((tmp = lives_strdup(_("_Red"))), TRUE, rgba->red / 255., 0., 255., 1., 1., 0, + (LiVESBox *)parent, (tmp2 = lives_strdup(_("The red value (0 - 255)")))); lives_free(tmp); lives_free(tmp2); - spinbutton_green = lives_standard_spin_button_new((tmp=lives_strdup(_("_Green"))), TRUE, rgba->green/255., 0., 255., 1., 1., 0, - (LiVESBox *)parent, (tmp2=lives_strdup(_("The green value (0 - 255)")))); + spinbutton_green = lives_standard_spin_button_new((tmp = lives_strdup(_("_Green"))), TRUE, rgba->green / 255., 0., 255., 1., 1., 0, + (LiVESBox *)parent, (tmp2 = lives_strdup(_("The green value (0 - 255)")))); lives_free(tmp); lives_free(tmp2); - spinbutton_blue = lives_standard_spin_button_new((tmp=lives_strdup(_("_Blue"))), TRUE, rgba->blue/255., 0., 255., 1., 1., 0, - (LiVESBox *)parent, (tmp2=lives_strdup(_("The blue value (0 - 255)")))); + spinbutton_blue = lives_standard_spin_button_new((tmp = lives_strdup(_("_Blue"))), TRUE, rgba->blue / 255., 0., 255., 1., 1., 0, + (LiVESBox *)parent, (tmp2 = lives_strdup(_("The blue value (0 - 255)")))); lives_free(tmp); lives_free(tmp2); if (use_alpha) { - spinbutton_alpha = lives_standard_spin_button_new((tmp=lives_strdup(_("_Alpha"))), TRUE, rgba->alpha/255., 0., 255., 1., 1., 0, - (LiVESBox *)parent, (tmp2=lives_strdup(_("The alpha value (0 - 255)")))); + spinbutton_alpha = lives_standard_spin_button_new((tmp = lives_strdup(_("_Alpha"))), TRUE, rgba->alpha / 255., 0., 255., 1., 1., 0, + (LiVESBox *)parent, (tmp2 = lives_strdup(_("The alpha value (0 - 255)")))); lives_free(tmp); lives_free(tmp2); } lives_box_pack_start(LIVES_BOX(parent), cbutton, TRUE, TRUE, widget_opts.packing_width); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(cbutton),"sp_red",spinbutton_red); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(cbutton),"sp_green",spinbutton_green); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(cbutton),"sp_blue",spinbutton_blue); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(cbutton),"sp_alpha",spinbutton_alpha); - - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(spinbutton_red),"cbutton",cbutton); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(spinbutton_green),"cbutton",cbutton); - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(spinbutton_blue),"cbutton",cbutton); - if (spinbutton_alpha!=NULL) - lives_widget_object_set_data(LIVES_WIDGET_OBJECT(spinbutton_alpha),"cbutton",cbutton); - - if (sb_red!=NULL) *sb_red=spinbutton_red; - if (sb_green!=NULL) *sb_green=spinbutton_green; - if (sb_blue!=NULL) *sb_blue=spinbutton_blue; - if (sb_alpha!=NULL) *sb_alpha=spinbutton_alpha; + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(cbutton), "sp_red", spinbutton_red); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(cbutton), "sp_green", spinbutton_green); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(cbutton), "sp_blue", spinbutton_blue); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(cbutton), "sp_alpha", spinbutton_alpha); + + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(spinbutton_red), "cbutton", cbutton); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(spinbutton_green), "cbutton", cbutton); + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(spinbutton_blue), "cbutton", cbutton); + if (spinbutton_alpha != NULL) + lives_widget_object_set_data(LIVES_WIDGET_OBJECT(spinbutton_alpha), "cbutton", cbutton); + + if (sb_red != NULL) *sb_red = spinbutton_red; + if (sb_green != NULL) *sb_green = spinbutton_green; + if (sb_blue != NULL) *sb_blue = spinbutton_blue; + if (sb_alpha != NULL) *sb_alpha = spinbutton_alpha; lives_signal_connect(LIVES_GUI_OBJECT(spinbutton_red), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(after_param_red_changedx), @@ -8372,12 +8174,11 @@ LIVES_GUI_CALLBACK(after_param_blue_changedx), NULL); - if (spinbutton_alpha!=NULL) + if (spinbutton_alpha != NULL) lives_signal_connect(LIVES_GUI_OBJECT(spinbutton_alpha), LIVES_WIDGET_VALUE_CHANGED_SIGNAL, LIVES_GUI_CALLBACK(after_param_alpha_changedx), NULL); - lives_signal_connect(LIVES_GUI_OBJECT(cbutton), LIVES_WIDGET_COLOR_SET_SIGNAL, LIVES_GUI_CALLBACK(on_pwcolselx), NULL); @@ -8386,71 +8187,68 @@ } - - - // utils boolean widget_helper_init(void) { #ifdef GUI_GTK - GSList *flist,*slist; - LiVESList *dlist,*xlist=NULL; + GSList *flist, *slist; + LiVESList *dlist, *xlist = NULL; register int i; #endif -#if GTK_CHECK_VERSION(3,10,0) || defined GUI_QT - lives_snprintf(LIVES_STOCK_LABEL_CANCEL,32,"%s",(_("_Cancel"))); - lives_snprintf(LIVES_STOCK_LABEL_OK,32,"%s",(_("_OK"))); - lives_snprintf(LIVES_STOCK_LABEL_YES,32,"%s",(_("_Yes"))); - lives_snprintf(LIVES_STOCK_LABEL_NO,32,"%s",(_("_No"))); - lives_snprintf(LIVES_STOCK_LABEL_SAVE,32,"%s",(_("_Save"))); - lives_snprintf(LIVES_STOCK_LABEL_SAVE_AS,32,"%s",(_("Save _As"))); - lives_snprintf(LIVES_STOCK_LABEL_OPEN,32,"%s",(_("_Open"))); - lives_snprintf(LIVES_STOCK_LABEL_QUIT,32,"%s",(_("_Quit"))); - lives_snprintf(LIVES_STOCK_LABEL_APPLY,32,"%s",(_("_Apply"))); - lives_snprintf(LIVES_STOCK_LABEL_CLOSE,32,"%s",(_("_Close"))); - lives_snprintf(LIVES_STOCK_LABEL_REVERT,32,"%s",(_("_Revert"))); - lives_snprintf(LIVES_STOCK_LABEL_REFRESH,32,"%s",(_("_Refresh"))); - lives_snprintf(LIVES_STOCK_LABEL_DELETE,32,"%s",(_("_Delete"))); - lives_snprintf(LIVES_STOCK_LABEL_GO_FORWARD,32,"%s",(_("_Forward"))); - lives_snprintf(LIVES_STOCK_LABEL_MEDIA_FORWARD,32,"%s",(_("R_ewind"))); - lives_snprintf(LIVES_STOCK_LABEL_MEDIA_REWIND,32,"%s",(_("_Forward"))); - lives_snprintf(LIVES_STOCK_LABEL_MEDIA_PLAY,32,"%s",(_("_Play"))); - lives_snprintf(LIVES_STOCK_LABEL_MEDIA_PAUSE,32,"%s",(_("P_ause"))); - lives_snprintf(LIVES_STOCK_LABEL_MEDIA_STOP,32,"%s",(_("_Stop"))); - lives_snprintf(LIVES_STOCK_LABEL_MEDIA_RECORD,32,"%s",(_("_Record"))); +#if GTK_CHECK_VERSION(3, 10, 0) || defined GUI_QT + lives_snprintf(LIVES_STOCK_LABEL_CANCEL, 32, "%s", (_("_Cancel"))); + lives_snprintf(LIVES_STOCK_LABEL_OK, 32, "%s", (_("_OK"))); + lives_snprintf(LIVES_STOCK_LABEL_YES, 32, "%s", (_("_Yes"))); + lives_snprintf(LIVES_STOCK_LABEL_NO, 32, "%s", (_("_No"))); + lives_snprintf(LIVES_STOCK_LABEL_SAVE, 32, "%s", (_("_Save"))); + lives_snprintf(LIVES_STOCK_LABEL_SAVE_AS, 32, "%s", (_("Save _As"))); + lives_snprintf(LIVES_STOCK_LABEL_OPEN, 32, "%s", (_("_Open"))); + lives_snprintf(LIVES_STOCK_LABEL_QUIT, 32, "%s", (_("_Quit"))); + lives_snprintf(LIVES_STOCK_LABEL_APPLY, 32, "%s", (_("_Apply"))); + lives_snprintf(LIVES_STOCK_LABEL_CLOSE, 32, "%s", (_("_Close"))); + lives_snprintf(LIVES_STOCK_LABEL_REVERT, 32, "%s", (_("_Revert"))); + lives_snprintf(LIVES_STOCK_LABEL_REFRESH, 32, "%s", (_("_Refresh"))); + lives_snprintf(LIVES_STOCK_LABEL_DELETE, 32, "%s", (_("_Delete"))); + lives_snprintf(LIVES_STOCK_LABEL_GO_FORWARD, 32, "%s", (_("_Forward"))); + lives_snprintf(LIVES_STOCK_LABEL_MEDIA_FORWARD, 32, "%s", (_("R_ewind"))); + lives_snprintf(LIVES_STOCK_LABEL_MEDIA_REWIND, 32, "%s", (_("_Forward"))); + lives_snprintf(LIVES_STOCK_LABEL_MEDIA_PLAY, 32, "%s", (_("_Play"))); + lives_snprintf(LIVES_STOCK_LABEL_MEDIA_PAUSE, 32, "%s", (_("P_ause"))); + lives_snprintf(LIVES_STOCK_LABEL_MEDIA_STOP, 32, "%s", (_("_Stop"))); + lives_snprintf(LIVES_STOCK_LABEL_MEDIA_RECORD, 32, "%s", (_("_Record"))); #endif widget_opts = def_widget_opts; - widget_opts.border_width*=widget_opts.scale; - widget_opts.packing_width*=widget_opts.scale; - widget_opts.packing_height*=widget_opts.scale; - widget_opts.filler_len*=widget_opts.scale; - -#ifdef GUI_GTK - gtk_accel_map_add_entry("<LiVES>/save",LIVES_KEY_s,LIVES_CONTROL_MASK); - gtk_accel_map_add_entry("<LiVES>/quit",LIVES_KEY_q,LIVES_CONTROL_MASK); - - slist=flist=gdk_pixbuf_get_formats(); - while (slist!=NULL) { - GdkPixbufFormat *form=(GdkPixbufFormat *)slist->data; - char **ext=gdk_pixbuf_format_get_extensions(form); - for (i=0; ext[i]!=NULL; i++) { - xlist=lives_list_append_unique(xlist,ext[i]); + widget_opts.border_width *= widget_opts.scale; + widget_opts.packing_width *= widget_opts.scale; + widget_opts.packing_height *= widget_opts.scale; + widget_opts.filler_len *= widget_opts.scale; + +#ifdef GUI_GTK + gtk_accel_map_add_entry("<LiVES>/save", LIVES_KEY_s, LIVES_CONTROL_MASK); + gtk_accel_map_add_entry("<LiVES>/quit", LIVES_KEY_q, LIVES_CONTROL_MASK); + + slist = flist = gdk_pixbuf_get_formats(); + while (slist != NULL) { + GdkPixbufFormat *form = (GdkPixbufFormat *)slist->data; + char **ext = gdk_pixbuf_format_get_extensions(form); + for (i = 0; ext[i] != NULL; i++) { + xlist = lives_list_append_unique(xlist, ext[i]); } - slist=slist->next; + slist = slist->next; } g_slist_free(flist); #endif - if (xlist!=NULL) { - dlist=xlist; - widget_opts.image_filter=(char **)lives_malloc((lives_list_length(xlist)+1)*sizeof(char *)); - for (i=0; dlist!=NULL; i++) { - widget_opts.image_filter[i]=lives_strdup_printf("*.%s",(char *)dlist->data); - dlist=dlist->next; + if (xlist != NULL) { + dlist = xlist; + widget_opts.image_filter = (char **)lives_malloc((lives_list_length(xlist) + 1) * sizeof(char *)); + for (i = 0; dlist != NULL; i++) { + widget_opts.image_filter[i] = lives_strdup_printf("*.%s", (char *)dlist->data); + dlist = dlist->next; } - widget_opts.image_filter[i]=NULL; + widget_opts.image_filter[i] = NULL; lives_list_free_all(&xlist); } @@ -8459,41 +8257,40 @@ boolean lives_has_icon(const char *stock_id, LiVESIconSize size) { - boolean has_icon=FALSE; + boolean has_icon = FALSE; #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) - GtkIconInfo *iset=gtk_icon_theme_lookup_icon(gtk_icon_theme_get_default(), stock_id, size, GTK_ICON_LOOKUP_USE_BUILTIN); +#if GTK_CHECK_VERSION(3, 0, 0) + GtkIconInfo *iset = gtk_icon_theme_lookup_icon(gtk_icon_theme_get_default(), stock_id, size, GTK_ICON_LOOKUP_USE_BUILTIN); #else - GtkIconSet *iset=gtk_icon_factory_lookup_default(stock_id); + GtkIconSet *iset = gtk_icon_factory_lookup_default(stock_id); #endif - has_icon=(iset!=NULL); + has_icon = (iset != NULL); #endif return has_icon; } - LIVES_INLINE void lives_painter_set_source_rgb_from_lives_rgb(lives_painter_t *cr, lives_colRGB48_t *col) { lives_painter_set_source_rgb(cr, - (double)col->red/65535., - (double)col->green/65535., - (double)col->blue/65535. + (double)col->red / 65535., + (double)col->green / 65535., + (double)col->blue / 65535. ); } LIVES_INLINE void lives_painter_set_source_rgb_from_lives_rgba(lives_painter_t *cr, lives_colRGBA64_t *col) { lives_painter_set_source_rgb(cr, - (double)col->red/65535., - (double)col->green/65535., - (double)col->blue/65535. + (double)col->red / 65535., + (double)col->green / 65535., + (double)col->blue / 65535. ); } LIVES_INLINE void lives_cursor_unref(LiVESXCursor *cursor) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) g_object_unref(LIVES_GUI_OBJECT(cursor)); #else gdk_cursor_unref(cursor); @@ -8507,7 +8304,7 @@ void lives_widget_apply_theme(LiVESWidget *widget, LiVESWidgetState state) { if (!widget_opts.apply_theme) return; - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_fg_color(widget, state, &palette->normal_fore); lives_widget_set_bg_color(widget, state, &palette->normal_back); } @@ -8516,7 +8313,7 @@ void lives_widget_apply_theme2(LiVESWidget *widget, LiVESWidgetState state, boolean set_fg) { if (!widget_opts.apply_theme) return; - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { if (set_fg) lives_widget_set_fg_color(widget, state, &palette->menu_and_bars_fore); lives_widget_set_bg_color(widget, state, &palette->menu_and_bars); @@ -8526,7 +8323,7 @@ void lives_widget_apply_theme3(LiVESWidget *widget, LiVESWidgetState state) { if (!widget_opts.apply_theme) return; - if (palette->style&STYLE_1) { + if (palette->style & STYLE_1) { lives_widget_set_text_color(widget, state, &palette->info_text); lives_widget_set_base_color(widget, state, &palette->info_base); } @@ -8543,7 +8340,7 @@ LiVESTreeIter iter; gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, (char *)xlist->data, -1); - xlist=xlist->next; + xlist = xlist->next; } completion = gtk_entry_completion_new(); @@ -8552,7 +8349,7 @@ gtk_entry_completion_set_inline_completion(completion, TRUE); gtk_entry_completion_set_popup_set_width(completion, TRUE); gtk_entry_completion_set_popup_completion(completion, TRUE); - gtk_entry_completion_set_popup_single_match(completion,FALSE); + gtk_entry_completion_set_popup_single_match(completion, FALSE); gtk_entry_set_completion(entry, completion); return TRUE; #endif @@ -8572,31 +8369,32 @@ void lives_window_center(LiVESWindow *window) { if (prefs->show_gui) { - int xcen,ycen; + int xcen, ycen; - if (mainw->mgeom==NULL) { - lives_window_set_position(LIVES_WINDOW(window),LIVES_WIN_POS_CENTER_ALWAYS); + if (mainw->mgeom == NULL) { + lives_window_set_position(LIVES_WINDOW(window), LIVES_WIN_POS_CENTER_ALWAYS); return; } - lives_window_set_screen(LIVES_WINDOW(window),mainw->mgeom[prefs->gui_monitor<=0?0:prefs->gui_monitor-1].screen); + lives_window_set_screen(LIVES_WINDOW(window), mainw->mgeom[prefs->gui_monitor <= 0 ? 0 : prefs->gui_monitor - 1].screen); - xcen=mainw->mgeom[prefs->gui_monitor<=0?0:prefs->gui_monitor-1].x+(mainw->mgeom[prefs->gui_monitor<=0?0:prefs->gui_monitor-1].width- - lives_widget_get_allocation_width(LIVES_WIDGET(window)))/2; - ycen=mainw->mgeom[prefs->gui_monitor<=0?0:prefs->gui_monitor-1].y+(mainw->mgeom[prefs->gui_monitor<=0?0:prefs->gui_monitor-1].height- - lives_widget_get_allocation_height(LIVES_WIDGET(window)))/2; - lives_window_move(LIVES_WINDOW(window),xcen,ycen); + xcen = mainw->mgeom[prefs->gui_monitor <= 0 ? 0 : prefs->gui_monitor - 1].x + (mainw->mgeom[prefs->gui_monitor <= 0 ? 0 : prefs->gui_monitor + - 1].width - + lives_widget_get_allocation_width(LIVES_WIDGET(window))) / 2; + ycen = mainw->mgeom[prefs->gui_monitor <= 0 ? 0 : prefs->gui_monitor - 1].y + (mainw->mgeom[prefs->gui_monitor <= 0 ? 0 : prefs->gui_monitor + - 1].height - + lives_widget_get_allocation_height(LIVES_WIDGET(window))) / 2; + lives_window_move(LIVES_WINDOW(window), xcen, ycen); } } - boolean lives_widget_get_fg_color(LiVESWidget *widget, LiVESWidgetColor *color) { - return lives_widget_get_fg_state_color(widget,LIVES_WIDGET_STATE_NORMAL,color); + return lives_widget_get_fg_state_color(widget, LIVES_WIDGET_STATE_NORMAL, color); } void lives_widget_unparent(LiVESWidget *widget) { - lives_container_remove(LIVES_CONTAINER(lives_widget_get_parent(widget)),widget); + lives_container_remove(LIVES_CONTAINER(lives_widget_get_parent(widget)), widget); } boolean label_act_toggle(LiVESWidget *widget, LiVESXEventButton *event, LiVESToggleButton *togglebutton) { @@ -8611,23 +8409,24 @@ return FALSE; } + LIVES_INLINE void toggle_button_toggle(LiVESToggleButton *tbutton) { - if (lives_toggle_button_get_active(tbutton)) lives_toggle_button_set_active(tbutton,FALSE); - else lives_toggle_button_set_active(tbutton,FALSE); + if (lives_toggle_button_get_active(tbutton)) lives_toggle_button_set_active(tbutton, FALSE); + else lives_toggle_button_set_active(tbutton, FALSE); } static void set_child_colour_internal(LiVESWidget *widget, livespointer set_allx) { - boolean set_all=LIVES_POINTER_TO_INT(set_allx); + boolean set_all = LIVES_POINTER_TO_INT(set_allx); - if (!set_all&&LIVES_IS_BUTTON(widget)) return; + if (!set_all && LIVES_IS_BUTTON(widget)) return; if (LIVES_IS_CONTAINER(widget)) { - lives_container_forall(LIVES_CONTAINER(widget),set_child_colour_internal,set_allx); + lives_container_forall(LIVES_CONTAINER(widget), set_child_colour_internal, set_allx); return; } - if (set_all||LIVES_IS_LABEL(widget)) { + if (set_all || LIVES_IS_LABEL(widget)) { lives_widget_apply_theme(widget, LIVES_WIDGET_STATE_NORMAL); } @@ -8635,28 +8434,25 @@ } - LIVES_INLINE void set_child_colour(LiVESWidget *widget, boolean set_all) { // set widget and all children widgets // if set_all is FALSE, we only set labels (and ignore labels in buttons) set_child_colour_internal(widget, LIVES_INT_TO_POINTER(set_all)); - } - void set_child_alt_colour_internal(LiVESWidget *widget, livespointer set_allx) { - boolean set_all=LIVES_POINTER_TO_INT(set_allx); + boolean set_all = LIVES_POINTER_TO_INT(set_allx); - if (!set_all&&LIVES_IS_BUTTON(widget)) return; + if (!set_all && LIVES_IS_BUTTON(widget)) return; if (LIVES_IS_CONTAINER(widget)) { - lives_container_forall(LIVES_CONTAINER(widget),set_child_alt_colour_internal,set_allx); + lives_container_forall(LIVES_CONTAINER(widget), set_child_alt_colour_internal, set_allx); return; } - if (set_all||LIVES_IS_LABEL(widget)) { + if (set_all || LIVES_IS_LABEL(widget)) { lives_widget_apply_theme2(widget, LIVES_WIDGET_STATE_NORMAL, TRUE); } @@ -8669,63 +8465,58 @@ // if set_all is FALSE, we only set labels (and ignore labels in buttons) set_child_alt_colour_internal(widget, LIVES_INT_TO_POINTER(set_all)); - } char *lives_text_view_get_text(LiVESTextView *textview) { - LiVESTextIter siter,eiter; - LiVESTextBuffer *textbuf=lives_text_view_get_buffer(textview); - lives_text_buffer_get_start_iter(textbuf,&siter); - lives_text_buffer_get_end_iter(textbuf,&eiter); + LiVESTextIter siter, eiter; + LiVESTextBuffer *textbuf = lives_text_view_get_buffer(textview); + lives_text_buffer_get_start_iter(textbuf, &siter); + lives_text_buffer_get_end_iter(textbuf, &eiter); - return lives_text_buffer_get_text(textbuf,&siter,&eiter,FALSE); + return lives_text_buffer_get_text(textbuf, &siter, &eiter, FALSE); } boolean lives_text_view_set_text(LiVESTextView *textview, const char *text, int len) { - LiVESTextBuffer *textbuf=lives_text_view_get_buffer(textview); - if (textbuf!=NULL) - return lives_text_buffer_set_text(textbuf,text,len); + LiVESTextBuffer *textbuf = lives_text_view_get_buffer(textview); + if (textbuf != NULL) + return lives_text_buffer_set_text(textbuf, text, len); return FALSE; } - boolean lives_text_buffer_insert_at_end(LiVESTextBuffer *tbuff, const char *text) { LiVESTextIter xiter; - if (lives_text_buffer_get_end_iter(tbuff,&xiter)) - return lives_text_buffer_insert(tbuff,&xiter,text,-1); + if (lives_text_buffer_get_end_iter(tbuff, &xiter)) + return lives_text_buffer_insert(tbuff, &xiter, text, -1); return FALSE; } - boolean lives_text_view_scroll_onscreen(LiVESTextView *tview) { LiVESTextIter iter; LiVESTextMark *mark; LiVESTextBuffer *tbuf; - tbuf=lives_text_view_get_buffer(tview); - if (tbuf!=NULL) { - lives_text_buffer_get_end_iter(tbuf,&iter); - mark=lives_text_buffer_create_mark(tbuf,NULL,&iter,FALSE); - if (mark!=NULL) { - if (lives_text_view_scroll_mark_onscreen(tview,mark)) - return lives_text_buffer_delete_mark(tbuf,mark); + tbuf = lives_text_view_get_buffer(tview); + if (tbuf != NULL) { + lives_text_buffer_get_end_iter(tbuf, &iter); + mark = lives_text_buffer_create_mark(tbuf, NULL, &iter, FALSE); + if (mark != NULL) { + if (lives_text_view_scroll_mark_onscreen(tview, mark)) + return lives_text_buffer_delete_mark(tbuf, mark); } } return FALSE; } - - int get_box_child_index(LiVESBox *box, LiVESWidget *tchild) { - LiVESList *list=lives_container_get_children(LIVES_CONTAINER(box)); - int val=-1; - if (list!=NULL) { - val=lives_list_index(list,tchild); + LiVESList *list = lives_container_get_children(LIVES_CONTAINER(box)); + int val = -1; + if (list != NULL) { + val = lives_list_index(list, tchild); lives_list_free(list); } return val; @@ -8738,18 +8529,18 @@ double upper, double step_increment, double page_increment) { - LiVESAdjustment *adj=lives_spin_button_get_adjustment(spinbutton); + LiVESAdjustment *adj = lives_spin_button_get_adjustment(spinbutton); #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,14,0) - gtk_adjustment_configure(adj,value,lower,upper,step_increment,page_increment,0.); +#if GTK_CHECK_VERSION(2, 14, 0) + gtk_adjustment_configure(adj, value, lower, upper, step_increment, page_increment, 0.); #else g_object_freeze_notify(LIVES_WIDGET_OBJECT(adj)); - adj->upper=upper; - adj->lower=lower; - adj->value=value; - adj->step_increment=step_increment; - adj->page_increment=page_increment; + adj->upper = upper; + adj->lower = lower; + adj->value = value; + adj->step_increment = step_increment; + adj->page_increment = page_increment; g_object_thaw_notify(LIVES_WIDGET_OBJECT(adj)); #endif #endif @@ -8763,19 +8554,17 @@ } - ///// lives specific functions #include "rte_window.h" #include "ce_thumbs.h" boolean lives_widget_context_update(void) { - boolean mt_needs_idlefunc=FALSE; + boolean mt_needs_idlefunc = FALSE; if (pthread_mutex_trylock(&mainw->gtk_mutex)) return FALSE; - if (mainw->multitrack!=NULL&&mainw->multitrack->idlefunc>0) { - + if (mainw->multitrack != NULL && mainw->multitrack->idlefunc > 0) { #ifdef GUI_GTK lives_source_remove(mainw->multitrack->idlefunc); #endif @@ -8784,43 +8573,41 @@ lives_timer_remove(mainw->multitrack->idlefunc); #endif - mainw->multitrack->idlefunc=0; - mt_needs_idlefunc=TRUE; + mainw->multitrack->idlefunc = 0; + mt_needs_idlefunc = TRUE; } if (!mainw->is_exiting) { - if (rte_window!=NULL) rtew_set_key_check_state(); + if (rte_window != NULL) rtew_set_key_check_state(); if (mainw->ce_thumbs) { ce_thumbs_set_key_check_state(); ce_thumbs_apply_liberation(); if (mainw->ce_upd_clip) { ce_thumbs_highlight_current_clip(); - mainw->ce_upd_clip=FALSE; + mainw->ce_upd_clip = FALSE; } } #ifdef GUI_GTK - while (!mainw->is_exiting&&g_main_context_iteration(NULL,FALSE)); + while (!mainw->is_exiting && g_main_context_iteration(NULL, FALSE)); #endif #ifdef GUI_QT QCoreApplication::processEvents(); #endif } - if (!mainw->is_exiting&&mt_needs_idlefunc) { - mainw->multitrack->idlefunc=mt_idle_add(mainw->multitrack); + if (!mainw->is_exiting && mt_needs_idlefunc) { + mainw->multitrack->idlefunc = mt_idle_add(mainw->multitrack); } pthread_mutex_unlock(&mainw->gtk_mutex); return TRUE; - } - LiVESWidget *lives_menu_add_separator(LiVESMenu *menu) { LiVESWidget *separatormenuitem = lives_menu_item_new(); - if (separatormenuitem!=NULL) { + if (separatormenuitem != NULL) { lives_container_add(LIVES_CONTAINER(menu), separatormenuitem); lives_widget_set_sensitive(separatormenuitem, FALSE); } @@ -8830,7 +8617,7 @@ LIVES_INLINE int lives_display_get_n_screens(LiVESXDisplay *disp) { #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,10,0) +#if GTK_CHECK_VERSION(3, 10, 0) return 1; #else return gdk_display_get_n_screens(disp); @@ -8846,19 +8633,19 @@ void lives_set_cursor_style(lives_cursor_t cstyle, LiVESWidget *widget) { #ifdef GUI_GTK LiVESXWindow *window; - GdkCursor *cursor=NULL; + GdkCursor *cursor = NULL; GdkDisplay *disp; - GdkCursorType ctype=GDK_X_CURSOR; + GdkCursorType ctype = GDK_X_CURSOR; - if (widget==NULL) { - if (mainw->multitrack==NULL&&mainw->is_ready) { - if (cstyle!=LIVES_CURSOR_NORMAL&&mainw->cursor_style==cstyle) return; - window=lives_widget_get_xwindow(mainw->LiVES); - } else if (mainw->multitrack!=NULL&&mainw->multitrack->is_ready) { - if (cstyle!=LIVES_CURSOR_NORMAL&&mainw->multitrack->cursor_style==cstyle) return; - window=lives_widget_get_xwindow(mainw->multitrack->window); + if (widget == NULL) { + if (mainw->multitrack == NULL && mainw->is_ready) { + if (cstyle != LIVES_CURSOR_NORMAL && mainw->cursor_style == cstyle) return; + window = lives_widget_get_xwindow(mainw->LiVES); + } else if (mainw->multitrack != NULL && mainw->multitrack->is_ready) { + if (cstyle != LIVES_CURSOR_NORMAL && mainw->multitrack->cursor_style == cstyle) return; + window = lives_widget_get_xwindow(mainw->multitrack->window); } else return; - } else window=lives_widget_get_xwindow(widget); + } else window = lives_widget_get_xwindow(widget); if (!LIVES_IS_XWINDOW(window)) return; @@ -8866,53 +8653,53 @@ case LIVES_CURSOR_NORMAL: break; case LIVES_CURSOR_BUSY: - ctype=GDK_WATCH; + ctype = GDK_WATCH; break; case LIVES_CURSOR_CENTER_PTR: - ctype=GDK_CENTER_PTR; + ctype = GDK_CENTER_PTR; break; case LIVES_CURSOR_HAND2: - ctype=GDK_HAND2; + ctype = GDK_HAND2; break; case LIVES_CURSOR_SB_H_DOUBLE_ARROW: - ctype=GDK_SB_H_DOUBLE_ARROW; + ctype = GDK_SB_H_DOUBLE_ARROW; break; case LIVES_CURSOR_CROSSHAIR: - ctype=GDK_CROSSHAIR; + ctype = GDK_CROSSHAIR; break; case LIVES_CURSOR_TOP_LEFT_CORNER: - ctype=GDK_TOP_LEFT_CORNER; + ctype = GDK_TOP_LEFT_CORNER; break; case LIVES_CURSOR_BOTTOM_RIGHT_CORNER: - ctype=GDK_BOTTOM_RIGHT_CORNER; + ctype = GDK_BOTTOM_RIGHT_CORNER; break; default: return; } - if (widget==NULL) { - if (mainw->multitrack!=NULL) mainw->multitrack->cursor_style=cstyle; - else mainw->cursor_style=cstyle; - } -#if GTK_CHECK_VERSION(2,22,0) - cursor=gdk_window_get_cursor(window); - if (cursor!=NULL&&gdk_cursor_get_cursor_type(cursor)==ctype) return; - cursor=NULL; -#endif - disp=mainw->mgeom[prefs->gui_monitor>0?prefs->gui_monitor-1:0].disp; - if (cstyle!=LIVES_CURSOR_NORMAL) { - cursor=gdk_cursor_new_for_display(disp,ctype); + if (widget == NULL) { + if (mainw->multitrack != NULL) mainw->multitrack->cursor_style = cstyle; + else mainw->cursor_style = cstyle; + } +#if GTK_CHECK_VERSION(2, 22, 0) + cursor = gdk_window_get_cursor(window); + if (cursor != NULL && gdk_cursor_get_cursor_type(cursor) == ctype) return; + cursor = NULL; +#endif + disp = mainw->mgeom[prefs->gui_monitor > 0 ? prefs->gui_monitor - 1 : 0].disp; + if (cstyle != LIVES_CURSOR_NORMAL) { + cursor = gdk_cursor_new_for_display(disp, ctype); gdk_window_set_cursor(window, cursor); - } else gdk_window_set_cursor(window,NULL); - if (cursor!=NULL) lives_cursor_unref(cursor); + } else gdk_window_set_cursor(window, NULL); + if (cursor != NULL) lives_cursor_unref(cursor); #endif #ifdef GUI_QT - if (widget==NULL) { - if (mainw->multitrack==NULL&&mainw->is_ready) { - if (cstyle!=LIVES_CURSOR_NORMAL&&mainw->cursor_style==cstyle) return; + if (widget == NULL) { + if (mainw->multitrack == NULL && mainw->is_ready) { + if (cstyle != LIVES_CURSOR_NORMAL && mainw->cursor_style == cstyle) return; widget = mainw->LiVES; - } else if (mainw->multitrack!=NULL&&mainw->multitrack->is_ready) { - if (cstyle!=LIVES_CURSOR_NORMAL&&mainw->multitrack->cursor_style==cstyle) return; + } else if (mainw->multitrack != NULL && mainw->multitrack->is_ready) { + if (cstyle != LIVES_CURSOR_NORMAL && mainw->multitrack->cursor_style == cstyle) return; widget = mainw->multitrack->window; } else return; } @@ -8946,29 +8733,25 @@ return; } #endif - - } - - void hide_cursor(LiVESXWindow *window) { //make the cursor invisible in playback windows #ifdef GUI_GTK -#if GTK_CHECK_VERSION(2,16,0) +#if GTK_CHECK_VERSION(2, 16, 0) if (GDK_IS_WINDOW(window)) { -#if GTK_CHECK_VERSION(3,16,0) - GdkCursor *cursor=gdk_cursor_new_for_display(gdk_window_get_display(window),GDK_BLANK_CURSOR); +#if GTK_CHECK_VERSION(3, 16, 0) + GdkCursor *cursor = gdk_cursor_new_for_display(gdk_window_get_display(window), GDK_BLANK_CURSOR); #else - GdkCursor *cursor=gdk_cursor_new(GDK_BLANK_CURSOR); + GdkCursor *cursor = gdk_cursor_new(GDK_BLANK_CURSOR); #endif - gdk_window_set_cursor(window,cursor); + gdk_window_set_cursor(window, cursor); lives_cursor_unref(cursor); } #else - static GdkCursor *hidden_cursor=NULL; + static GdkCursor *hidden_cursor = NULL; char cursor_bits[] = {0x00}; char cursormask_bits[] = {0x00}; @@ -8976,7 +8759,7 @@ GdkColor fg = { 0, 0, 0, 0 }; GdkColor bg = { 0, 0, 0, 0 }; - if (hidden_cursor==NULL) { + if (hidden_cursor == NULL) { source = gdk_bitmap_create_from_data(NULL, cursor_bits, 1, 1); mask = gdk_bitmap_create_from_data(NULL, cursormask_bits, @@ -8995,49 +8778,47 @@ void unhide_cursor(LiVESXWindow *window) { - if (LIVES_IS_XWINDOW(window)) lives_xwindow_set_cursor(window,NULL); + if (LIVES_IS_XWINDOW(window)) lives_xwindow_set_cursor(window, NULL); } void funkify_dialog(LiVESWidget *dialog) { if (prefs->funky_widgets) { - LiVESWidget *frame=lives_standard_frame_new(NULL,0.,FALSE); - LiVESWidget *box=lives_vbox_new(FALSE,0); - LiVESWidget *content=lives_dialog_get_content_area(LIVES_DIALOG(dialog)); - LiVESWidget *label=lives_label_new(""); + LiVESWidget *frame = lives_standard_frame_new(NULL, 0., FALSE); + LiVESWidget *box = lives_vbox_new(FALSE, 0); + LiVESWidget *content = lives_dialog_get_content_area(LIVES_DIALOG(dialog)); + LiVESWidget *label = lives_label_new(""); - lives_container_set_border_width(LIVES_CONTAINER(dialog),0); - lives_container_set_border_width(LIVES_CONTAINER(frame),0); + lives_container_set_border_width(LIVES_CONTAINER(dialog), 0); + lives_container_set_border_width(LIVES_CONTAINER(frame), 0); lives_object_ref(content); lives_widget_unparent(content); - lives_container_add(LIVES_CONTAINER(dialog),frame); - lives_container_add(LIVES_CONTAINER(frame),box); + lives_container_add(LIVES_CONTAINER(dialog), frame); + lives_container_add(LIVES_CONTAINER(frame), box); - lives_box_pack_start(LIVES_BOX(box),content,TRUE,TRUE,0); + lives_box_pack_start(LIVES_BOX(box), content, TRUE, TRUE, 0); - lives_box_pack_start(LIVES_BOX(box),label,FALSE,TRUE,0); + lives_box_pack_start(LIVES_BOX(box), label, FALSE, TRUE, 0); lives_widget_show_all(frame); - lives_container_set_border_width(LIVES_CONTAINER(box), widget_opts.border_width*2); + lives_container_set_border_width(LIVES_CONTAINER(box), widget_opts.border_width * 2); } else { - lives_container_set_border_width(LIVES_CONTAINER(dialog), widget_opts.border_width*2); + lives_container_set_border_width(LIVES_CONTAINER(dialog), widget_opts.border_width * 2); } - } - void get_border_size(LiVESWidget *win, int *bx, int *by) { #ifdef GUI_GTK GdkRectangle rect; - gint wx,wy; - gdk_window_get_frame_extents(lives_widget_get_xwindow(win),&rect); + gint wx, wy; + gdk_window_get_frame_extents(lives_widget_get_xwindow(win), &rect); gdk_window_get_origin(lives_widget_get_xwindow(win), &wx, &wy); - *bx=wx-rect.x; - *by=wy-rect.y; + *bx = wx - rect.x; + *by = wy - rect.y; #endif #ifdef GUI_QT win->winId(); @@ -9049,13 +8830,11 @@ } - - /* * Set active string to the combo box */ boolean lives_combo_set_active_string(LiVESCombo *combo, const char *active_str) { - return lives_entry_set_text(LIVES_ENTRY(lives_bin_get_child(LIVES_BIN(combo))),active_str); + return lives_entry_set_text(LIVES_ENTRY(lives_bin_get_child(LIVES_BIN(combo))), active_str); } LiVESWidget *lives_combo_get_entry(LiVESCombo *widget) { @@ -9064,12 +8843,11 @@ boolean lives_widget_set_can_focus_and_default(LiVESWidget *widget) { - if (!lives_widget_set_can_focus(widget,TRUE)) return FALSE; - return lives_widget_set_can_default(widget,TRUE); + if (!lives_widget_set_can_focus(widget, TRUE)) return FALSE; + return lives_widget_set_can_default(widget, TRUE); } - void lives_general_button_clicked(LiVESButton *button, livespointer data_to_free) { // destroy the button top-level and free data lives_widget_destroy(lives_widget_get_toplevel(LIVES_WIDGET(button))); @@ -9080,7 +8858,7 @@ LiVESWidget *add_hsep_to_box(LiVESBox *box) { LiVESWidget *hseparator = lives_hseparator_new(); - lives_box_pack_start(box, hseparator, FALSE, FALSE, widget_opts.packing_width>>1); + lives_box_pack_start(box, hseparator, FALSE, FALSE, widget_opts.packing_width >> 1); if (!widget_opts.no_gui) lives_widget_show(hseparator); lives_widget_apply_theme(hseparator, LIVES_WIDGET_STATE_NORMAL); @@ -9090,7 +8868,7 @@ LiVESWidget *add_vsep_to_box(LiVESBox *box) { LiVESWidget *vseparator = lives_vseparator_new(); - lives_box_pack_start(box, vseparator, FALSE, FALSE, widget_opts.packing_height>>1); + lives_box_pack_start(box, vseparator, FALSE, FALSE, widget_opts.packing_height >> 1); if (!widget_opts.no_gui) lives_widget_show(vseparator); lives_widget_apply_theme(vseparator, LIVES_WIDGET_STATE_NORMAL); @@ -9098,38 +8876,38 @@ } -static char spaces[W_MAX_FILLER_LEN+1]; -static boolean spaces_inited=FALSE; +static char spaces[W_MAX_FILLER_LEN + 1]; +static boolean spaces_inited = FALSE; LiVESWidget *add_fill_to_box(LiVESBox *box) { - LiVESWidget *widget=NULL; + LiVESWidget *widget = NULL; LiVESWidget *blank_label; - static int old_spaces=-1; - static char *xspaces=NULL; + static int old_spaces = -1; + static char *xspaces = NULL; if (!spaces_inited) { register int i; - for (i=0; i<W_MAX_FILLER_LEN; i++) { - lives_snprintf(spaces+i,1," "); + for (i = 0; i < W_MAX_FILLER_LEN; i++) { + lives_snprintf(spaces + i, 1, " "); } } - if (widget_opts.filler_len>W_MAX_FILLER_LEN||widget_opts.filler_len<0) return NULL; + if (widget_opts.filler_len > W_MAX_FILLER_LEN || widget_opts.filler_len < 0) return NULL; - if (widget_opts.filler_len!=old_spaces) { - if (xspaces!=NULL) lives_free(xspaces); - xspaces=lives_strndup(spaces,widget_opts.filler_len); - old_spaces=widget_opts.filler_len; + if (widget_opts.filler_len != old_spaces) { + if (xspaces != NULL) lives_free(xspaces); + xspaces = lives_strndup(spaces, widget_opts.filler_len); + old_spaces = widget_opts.filler_len; } blank_label = lives_standard_label_new(xspaces); lives_box_pack_start(box, blank_label, TRUE, TRUE, 0); - lives_widget_set_hexpand(blank_label,TRUE); + lives_widget_set_hexpand(blank_label, TRUE); if (!widget_opts.no_gui) lives_widget_show(blank_label); - widget=blank_label; + widget = blank_label; return widget; } @@ -9138,12 +8916,12 @@ LIVES_INLINE boolean lives_button_box_set_button_width(LiVESButtonBox *bbox, LiVESWidget *button, int min_width) { lives_button_box_set_layout(bbox, LIVES_BUTTONBOX_SPREAD); #ifdef GUI_GTK -#if !GTK_CHECK_VERSION(3,0,0) - gtk_button_box_set_child_size(bbox,min_width/4,-1); +#if !GTK_CHECK_VERSION(3, 0, 0) + gtk_button_box_set_child_size(bbox, min_width / 4, -1); return TRUE; #endif #endif - lives_widget_set_size_request(button,min_width,-1); + lives_widget_set_size_request(button, min_width, -1); return TRUE; #ifdef GUI_QT button->setMinimumWidth(min_width); @@ -9151,17 +8929,15 @@ } - - LIVES_INLINE boolean widget_color_to_lives_rgba(lives_colRGBA64_t *lcolor, LiVESWidgetColor *color) { #ifdef GUI_GTK - lcolor->red=LIVES_WIDGET_COLOR_STRETCH(color->red); - lcolor->green=LIVES_WIDGET_COLOR_STRETCH(color->green); - lcolor->blue=LIVES_WIDGET_COLOR_STRETCH(color->blue); + lcolor->red = LIVES_WIDGET_COLOR_STRETCH(color->red); + lcolor->green = LIVES_WIDGET_COLOR_STRETCH(color->green); + lcolor->blue = LIVES_WIDGET_COLOR_STRETCH(color->blue); #if LIVES_WIDGET_COLOR_HAS_ALPHA - lcolor->alpha=LIVES_WIDGET_COLOR_STRETCH(color->alpha); + lcolor->alpha = LIVES_WIDGET_COLOR_STRETCH(color->alpha); #else - lcolor->alpha=65535; + lcolor->alpha = 65535; #endif return TRUE; #endif @@ -9171,11 +8947,11 @@ LIVES_INLINE boolean lives_rgba_to_widget_color(LiVESWidgetColor *color, lives_colRGBA64_t *lcolor) { #ifdef GUI_GTK - color->red=LIVES_WIDGET_COLOR_SCALE_65535(lcolor->red); - color->green=LIVES_WIDGET_COLOR_SCALE_65535(lcolor->green); - color->blue=LIVES_WIDGET_COLOR_SCALE_65535(lcolor->blue); + color->red = LIVES_WIDGET_COLOR_SCALE_65535(lcolor->red); + color->green = LIVES_WIDGET_COLOR_SCALE_65535(lcolor->green); + color->blue = LIVES_WIDGET_COLOR_SCALE_65535(lcolor->blue); #if LIVES_WIDGET_COLOR_HAS_ALPHA - color->alpha=LIVES_WIDGET_COLOR_SCALE_65535(lcolor->alpha); + color->alpha = LIVES_WIDGET_COLOR_SCALE_65535(lcolor->alpha); #endif return TRUE; #endif @@ -9183,17 +8959,16 @@ } - LIVES_INLINE boolean lives_rgba_equal(lives_colRGBA64_t *col1, lives_colRGBA64_t *col2) { - if (col1->red==col2->red&&col1->green==col2->green&&col1->blue==col2->blue&&col1->alpha==col2->alpha) return TRUE; + if (col1->red == col2->red && col1->green == col2->green && col1->blue == col2->blue && col1->alpha == col2->alpha) return TRUE; return FALSE; } LIVES_INLINE void lives_rgba_copy(lives_colRGBA64_t *col1, lives_colRGBA64_t *col2) { - col1->red=col2->red; - col1->green=col2->green; - col1->blue=col2->blue; - col1->alpha=col2->alpha; + col1->red = col2->red; + col1->green = col2->green; + col1->blue = col2->blue; + col1->alpha = col2->alpha; }
View file
LiVES-2.8.4.tar.bz2/src/widget-helper.h -> LiVES-2.8.6.tar.bz2/src/widget-helper.h
Changed
@@ -17,9 +17,10 @@ #define LIVES_HAS_DEVICE_MANAGER 0 typedef enum { - LIVES_DISPLAY_TYPE_UNKNOWN=0, + LIVES_DISPLAY_TYPE_UNKNOWN = 0, LIVES_DISPLAY_TYPE_X11, - LIVES_DISPLAY_TYPE_WIN32 + LIVES_DISPLAY_TYPE_WIN32, + LIVES_DISPLAY_TYPE_WAYLAND } lives_display_t; @@ -109,7 +110,7 @@ // remove any "floating" reference and add a new ref #ifdef GUI_GTK -#if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3, 0, 0) livespointer lives_object_ref_sink(livespointer); #else void lives_object_ref_sink(livespointer); @@ -155,7 +156,7 @@ #define lives_signal_handlers_block_by_func(instance, func, data) g_signal_handlers_block_by_func(instance, func, data) #define lives_signal_handlers_unblock_by_func(instance, func, data) g_signal_handlers_unblock_by_func(instance, func, data) #else -ulong lives_signal_connect(LiVESWidget *widget, const char *signal_name, ulong funcptr, livespointer data); +ulong lives_signal_connect(LiVESWidget *, const char *signal_name, ulong funcptr, livespointer data); boolean lives_signal_handlers_block_by_func(livespointer instance, livespointer func, livespointer data); boolean lives_signal_handlers_unblock_by_func(livespointer instance, livespointer func, livespointer data); #endif @@ -166,8 +167,8 @@ boolean lives_signal_handler_disconnect(livespointer instance, unsigned long handler_id); boolean lives_signal_stop_emission_by_name(livespointer instance, const char *detailed_signal); -boolean lives_grab_add(LiVESWidget *widget); -boolean lives_grab_remove(LiVESWidget *widget); +boolean lives_grab_add(LiVESWidget *); +boolean lives_grab_remove(LiVESWidget *); boolean lives_widget_set_sensitive(LiVESWidget *, boolean state); boolean lives_widget_get_sensitive(LiVESWidget *); @@ -181,16 +182,18 @@ boolean lives_widget_queue_draw_area(LiVESWidget *, int x, int y, int width, int height); boolean lives_widget_queue_resize(LiVESWidget *); boolean lives_widget_set_size_request(LiVESWidget *, int width, int height); -boolean lives_widget_set_minimum_size(LiVESWidget *widget, int width, int height); -boolean lives_widget_set_maximum_size(LiVESWidget *widget, int width, int height); +boolean lives_widget_set_minimum_size(LiVESWidget *, int width, int height); +boolean lives_widget_set_maximum_size(LiVESWidget *, int width, int height); boolean lives_widget_reparent(LiVESWidget *, LiVESWidget *new_parent); -boolean lives_widget_is_ancestor(LiVESWidget *widget, LiVESWidget *ancestor); +boolean lives_widget_is_ancestor(LiVESWidget *, LiVESWidget *ancestor); -boolean lives_widget_set_app_paintable(LiVESWidget *widget, boolean paintable); +boolean lives_widget_set_app_paintable(LiVESWidget *, boolean paintable); + +boolean lives_widget_has_focus(LiVESWidget *); LiVESWidget *lives_event_box_new(void); -boolean lives_event_box_set_above_child(LiVESEventBox *ebox, boolean set); +boolean lives_event_box_set_above_child(LiVESEventBox *, boolean set); LiVESWidget *lives_label_new(const char *text); LiVESWidget *lives_label_new_with_mnemonic(const char *text); @@ -268,6 +271,7 @@ boolean lives_window_set_deletable(LiVESWindow *, boolean deletable); boolean lives_window_set_resizable(LiVESWindow *, boolean resizable); boolean lives_window_set_keep_below(LiVESWindow *, boolean keep_below); +boolean lives_window_set_keep_above(LiVESWindow *, boolean keep_below); boolean lives_window_set_decorated(LiVESWindow *, boolean decorated); boolean lives_window_set_default_size(LiVESWindow *, int width, int height); @@ -276,6 +280,8 @@ boolean lives_widget_get_position(LiVESWidget *, int *x, int *y); +LiVESWidget *lives_window_get_focus(LiVESWindow *); + boolean lives_window_move(LiVESWindow *, int x, int y); boolean lives_window_get_position(LiVESWindow *, int *x, int *y); boolean lives_window_set_position(LiVESWindow *, LiVESWindowPosition pos); @@ -336,6 +342,7 @@ LiVESWidget *lives_expander_new(const char *label); LiVESWidget *lives_expander_get_label_widget(LiVESExpander *expander); +boolean lives_label_set_width_chars(LiVESLabel *label, int nchars); boolean lives_label_set_halignment(LiVESLabel *, float yalign); LiVESWidget *lives_combo_new(void); @@ -638,7 +645,7 @@ boolean lives_menu_tool_button_set_menu(LiVESMenuToolButton *, LiVESWidget *menu); -#if !GTK_CHECK_VERSION(3,10,0) +#if !GTK_CHECK_VERSION(3, 10, 0) boolean lives_image_menu_item_set_image(LiVESImageMenuItem *, LiVESWidget *image); @@ -701,7 +708,7 @@ uint32_t lives_timer_add(uint32_t interval, LiVESWidgetSourceFunc function, livespointer data); boolean lives_timer_remove(uint32_t timer); -boolean lives_source_remove(ulong handle); +boolean lives_source_remove(uint32_t handle); uint32_t lives_accelerator_get_default_mod_mask(); @@ -725,6 +732,9 @@ // compound functions (composed of basic functions) +boolean lives_has_toplevel_focus(); + +void lives_label_set_hpadding(LiVESLabel *label, int pad); LiVESWidget *lives_standard_label_new(const char *text); LiVESWidget *lives_standard_label_new_with_mnemonic(const char *text, LiVESWidget *mnemonic_widget); @@ -837,7 +847,7 @@ typedef enum { - LIVES_CURSOR_NORMAL=0, ///< must be zero + LIVES_CURSOR_NORMAL = 0, ///< must be zero LIVES_CURSOR_BUSY, LIVES_CURSOR_CENTER_PTR, LIVES_CURSOR_HAND2, @@ -868,7 +878,7 @@ boolean pack_end; boolean line_wrap; // line wrapping for labels boolean non_modal; // non-modal for dialogs - boolean expand; // whether spin,check,radio buttons should expand + lives_expand_t expand; // whether spin,check,radio buttons should expand boolean apply_theme; // whether to apply theming to widget double scale; // scale factor for all sizes int packing_width; // default should be W_PACKING_WIDTH @@ -911,7 +921,5 @@ extern const widget_opts_t def_widget_opts; -//#endif - #endif
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.